SET_ROM переделана под переделанную функцию BIOS - SET_PORTS

This commit is contained in:
Anatoliy Belyanskiy 2023-12-31 05:36:30 +10:00
parent 8135e13343
commit 90593508ed

View File

@ -586,7 +586,7 @@ PARAM_E2: EX (SP),HL ;
;************************************ ;************************************
IF NEW_MEMORY_LOGIC IF NEW_MEMORY_LOGIC
BUFFER_RAM_PAGES: BUFFER_RAM_PAGES:
.ROM: BLOCK 6 ; ª®«¨ç¥á⢮ ¯®à⮢ í¬ã«ïâ®à  <20>‡“ .ROM: BLOCK 10 ; ª®«¨ç¥á⢮ ¯®à⮢ í¬ã«ïâ®à  <20>‡“
.RAM: BLOCK 16 ; 256 ª¡ .RAM: BLOCK 16 ; 256 ª¡
.Size EQU $-BUFFER_RAM_PAGES .Size EQU $-BUFFER_RAM_PAGES
.end_marker: BYTE #FF .end_marker: BYTE #FF
@ -606,22 +606,24 @@ BUFFER_RAM_PAGES:
OR B OR B
JR Z,.next JR Z,.next
LD A,dcp_port ; ROM-ID LD A,dcp_port ; ROM-ID
PUSH HL
CALL SET_ROM CALL SET_ROM
POP HL
.next: .next:
ENDM ENDM
PARAM_END: LD HL,BUFFER_RAM_PAGES.ROM PARAM_END: LD HL,BUFFER_RAM_PAGES.ROM
vROM_set ACEX.vROM.BASIC_128 ; ROM-ID - BASIC 128 vROM_set ACEX.vROM.BASIC_128 ; ROM-ID - BASIC 128
vROM_set ACEX.vROM.BASIC_48 ; ROM-ID - BASIC 48 vROM_set ACEX.vROM.BASIC_48 ; ROM-ID - BASIC 48
vROM_set ACEX.vROM.TR_DOS ; ROM-ID - TR-DOS vROM_set ACEX.vROM.TR_DOS ; ROM-ID - TR-DOS
vROM_set ACEX.vROM.BIOS ; ROM-ID - EXPANSION vROM_set ACEX.vROM.BIOS ; ROM-ID - EXPANSION
vROM_set ACEX.vROM.BIOS_3 ; ROM-ID - BIOS-1 vROM_set ACEX.vROM.BIOS_3 ; ROM-ID - BIOS-1
vROM_set ACEX.vROM.BIOS_4 ; ROM-ID - BIOS-2 vROM_set ACEX.vROM.BIOS_4 ; ROM-ID - BIOS-2
;vROM_set ACEX.vROM.BASIC_128_2 ; BASIC 128 - 2 ;vROM_set ACEX.vROM.BASIC_128_2 ; BASIC 128 - 2
;vROM_set ACEX.vROM.BASIC_48_2 ; BASIC 48 - 2 ;vROM_set ACEX.vROM.BASIC_48_2 ; BASIC 48 - 2
;vROM_set ACEX.vROM.TR_DOS_2 ; TR-DOS - 2 ;vROM_set ACEX.vROM.TR_DOS_2 ; TR-DOS - 2
;vROM_set ACEX.vROM.BIOS_2 ; BIOS (ZX_EXP) - 2 ;vROM_set ACEX.vROM.BIOS_2 ; BIOS (ZX_EXP) - 2
LD HL,(IMAGE_NAME) LD HL,(IMAGE_NAME)
LD A,H LD A,H
@ -667,44 +669,44 @@ SKIP_IMAGE: LD A,(No_run_+2)
; out B - old ROM-page ; out B - old ROM-page
;!FIXIT ᤥ« âì ç¥à¥§ ¢ë§®¢ ä㭪樨 <20>ˆŽ ;!FIXIT ᤥ« âì ç¥à¥§ ¢ë§®¢ ä㭪樨 <20>ˆŽ
SET_ROM: DI SET_ROM: DI
LD C,BIOS.SET_PORTS
JP ToBIOS
EX AF,AF' ; DI
; ;
IN A,(SLOT3) ; EX AF,AF'
PUSH AF ; IN A,(SLOT3)
; PUSH AF
LD A,DCP_PAGE ; ãáâ ­®¢¨âì ­®¢ãî ; LD A,DCP_PAGE ; ãáâ ­®¢¨âì ­®¢ãî
OUT (SLOT3),A ; OUT (SLOT3),A
; ;
LD A,(#C400) ; á®åà ­¨âì â® çâ® ¡ë«® ; LD A,(#C400) ; á®åà ­¨âì â® çâ® ¡ë«®
LD E,A ; LD E,A
LD A,(#C600) ; LD A,(#C600)
LD D,A ; LD D,A
; ;
EX AF,AF' ; áâà ­¨æ  ; EX AF,AF' ; áâà ­¨æ 
; LD (#C400),A ; ãáâ ­®¢¨âì ¯®àâ ROM
LD (#C400),A ; ãáâ ­®¢¨âì ¯®àâ ROM ; LD (#C600),A
LD (#C600),A ; ;
EX AF,AF' ; EX AF,AF'
; LD A,B
LD A,B ; LD BC,0
LD BC,0 ; EX AF,AF'
EX AF,AF' ; IN A,(C)
IN A,(C) ; EX AF,AF'
EX AF,AF' ; OUT (C),A ; ãáâ ­®¢¨âì ­®¢ë© ROM
OUT (C),A ; ãáâ ­®¢¨âì ­®¢ë© ROM ; EX AF,AF'
EX AF,AF' ; ;
LD B,A ; LD B,A
; LD A,E
LD A,E ; LD (#C400),A ; ¢¥à­ãâì ¯®àâ
LD (#C400),A ; ¢¥à­ãâì ¯®àâ ; LD A,D
LD A,D ; LD (#C600),A ; ¢¥à­ãâì ¯®àâ
LD (#C600),A ; ¢¥à­ãâì ¯®àâ ; ;
; POP AF
POP AF ; OUT (SLOT3),A
OUT (SLOT3),A ; RET
RET
;******************************************** ;********************************************
READ_IMAGE: LD DE,ONE_FILE READ_IMAGE: LD DE,ONE_FILE