+ SET_PORTS: no need to call from #3D13 and DI
This commit is contained in:
parent
91c22e8e58
commit
0379d0c9b1
@ -1 +1 @@
|
||||
Subproject commit 54298bfb52826572bda5ccd0609320a9418d08c9
|
||||
Subproject commit c135d9b6038fcabca6cef3234d876f93d5865dee
|
||||
@ -584,40 +584,47 @@ DCP_CONFIG:
|
||||
|
||||
;
|
||||
;-----------------------------------------------------------------------;
|
||||
; CALL from 3D13h! Žáâ®à®¦¥¥ á ¯à¥àë¢ ¨ï¬¨, «ãçè¥ £ á¨âì, ç⮡ ¥ ᡨâì ᨣ « DOS_ON
|
||||
;[x] ’¥¯¥àì íâ® ¥ 㦮: CALL from 3D13h! Žáâ®à®¦¥¥ á ¯à¥àë¢ ¨ï¬¨, «ãçè¥ £ á¨âì, ç⮡ ¥ ᡨâì ᨣ « DOS_ON
|
||||
; in: A - ¢ãâ२© ¯®àâ, B - § 票¥ ¤«ï § ¯¨á¨ ¢® ¢ãâ२© ¯®àâ
|
||||
; out: B - áâ ஥ § 票¥ ¢ãâ॥£® ¯®àâ ; <20>¥à¥¤ ¢ë室®¬ ¢®ááâ ¢«¨¢ ¥âáï ª®ä ¯à®¯¨á ï ¢ CONFIG_DE
|
||||
; out: B - áâ ஥ § 票¥ ¢ãâ॥£® ¯®àâ ; <20>¥à¥¤ ¢ë室®¬ ¢®ááâ ¢«¨¢ ¥âáï ª®ä ¯à®¯¨á ï ¢ CONFIG_DE.
|
||||
SET_PORTS:
|
||||
EX AF,AF'
|
||||
;[x] SET_PORTS: no need to call from #3D13 and DI. 31/12/23
|
||||
AND A
|
||||
LD A,R
|
||||
PUSH AF
|
||||
DI
|
||||
CALL DOS_ON
|
||||
;
|
||||
LD A,CNF_PORT.CNF_0 + ROM.BIOS
|
||||
OUT (SYS_PORT.ROM),A
|
||||
|
||||
;
|
||||
LD C,SLOT2 ; ¯®«ãç¨âì áâà ¨æã
|
||||
IN D,(C)
|
||||
|
||||
;
|
||||
LD A,DCP_PAGE ; ãáâ ®¢¨âì ®¢ãî
|
||||
OUT (C),A
|
||||
|
||||
;
|
||||
LD A,(#8000) ; á®åà ¨âì â® çâ® ¡ë«®
|
||||
LD L,A
|
||||
LD A,(#8200)
|
||||
LD H,A
|
||||
EX AF,AF' ; áâà ¨æ
|
||||
|
||||
;
|
||||
LD (#8000),A ; ãáâ ®¢¨âì ¢ãâ२© ¯®àâ
|
||||
LD (#8200),A
|
||||
|
||||
;
|
||||
EX AF,AF'
|
||||
LD A,B
|
||||
LD BC,0
|
||||
EX AF,AF'
|
||||
|
||||
;
|
||||
IN A,(C)
|
||||
|
||||
;
|
||||
EX AF,AF'
|
||||
OUT (C),A ; ãáâ ®¢¨âì ®¢®¥ § 票¥ ¯®àâ
|
||||
EX AF,AF'
|
||||
|
||||
;
|
||||
LD B,A
|
||||
LD A,L
|
||||
LD (#8000),A ; ¢¥àãâì ¯®àâ
|
||||
@ -630,8 +637,15 @@ SET_PORTS:
|
||||
LD A,(SYS_PAGE.CONFIG_DE-#4000)
|
||||
OUT (C),D ; ¢¥àãâì áâà ¨æã
|
||||
OUT (SYS_PORT.ROM),A
|
||||
|
||||
AND A
|
||||
RET
|
||||
;
|
||||
;[x] SET_PORTS: no need to call from #3D13 and DI. 31/12/23
|
||||
POP AF
|
||||
RET PO
|
||||
EI
|
||||
RET
|
||||
;
|
||||
;AND A
|
||||
;RET
|
||||
;
|
||||
;-----------------------------------------------------------------------;
|
||||
;
|
||||
@ -780,28 +780,31 @@ start:
|
||||
push af
|
||||
;----[¯¥à¥å¢ â soft reset #EE port]-----
|
||||
Check_EE_Port:
|
||||
LD A,ACEX.RET_PORT
|
||||
LD B,0
|
||||
LD C,BIOS.SET_PORTS
|
||||
CALL @ToBIOS_3D13 ; ¯¥à¥ãáâ ®¢¨âì ¢ãâà. ¯®àâ #EE
|
||||
LD A,B
|
||||
AND A
|
||||
JR Z,Check_Spec_Page
|
||||
LD A,ACEX.RET_PORT
|
||||
LD B,0
|
||||
;[x] SET_PORTS: no need to call from #3D13 and DI. 31/12/23
|
||||
;LD C,BIOS.SET_PORTS
|
||||
;CALL @ToBIOS_3D13 ; ¯¥à¥ãáâ ®¢¨âì ¢ãâà. ¯®àâ #EE
|
||||
CALL SET_PORTS
|
||||
;
|
||||
LD A,B
|
||||
AND A
|
||||
JR Z,Check_Spec_Page
|
||||
|
||||
DI
|
||||
OUT (SLOT3),A ; Set restart page
|
||||
OUT (SLOT3),A ; Set restart page
|
||||
|
||||
.After_Hard_Rst:
|
||||
LD HL,(Spec_Page.RET_addr) ; prog address
|
||||
ld A,(Spec_Page.page_0) ; PAGE0
|
||||
OUT (SLOT0),A
|
||||
LD A,(Spec_Page.page_1) ; PAGE1
|
||||
OUT (SLOT1),A
|
||||
LD A,(Spec_Page.page_2) ; PAGE2
|
||||
OUT (SLOT2),A
|
||||
LD A,(Spec_Page.page_3) ; PAGE3
|
||||
OUT (SLOT3),A
|
||||
JP (HL)
|
||||
LD HL,(Spec_Page.RET_addr) ; prog address
|
||||
LD A,(Spec_Page.page_0) ; PAGE0
|
||||
OUT (SLOT0),A
|
||||
LD A,(Spec_Page.page_1) ; PAGE1
|
||||
OUT (SLOT1),A
|
||||
LD A,(Spec_Page.page_2) ; PAGE2
|
||||
OUT (SLOT2),A
|
||||
LD A,(Spec_Page.page_3) ; PAGE3
|
||||
OUT (SLOT3),A
|
||||
JP (HL)
|
||||
;
|
||||
;--[¯¥à¥å¢ â soft/hard reset #41 page]--
|
||||
Check_Spec_Page:
|
||||
@ -1098,26 +1101,28 @@ ZG_ADDRESS: INCLUDE 'FONT.ASM'
|
||||
; RAM SLOT0 - page 0
|
||||
; ¤«ï ०¨¬ zx spectrum
|
||||
; ‚›<E2809A>Ž‹<C5BD>Ÿ…’‘Ÿ ˆ‡ އ“
|
||||
; !HARDCODE ®¬¥à áâà ¨æ ¤«ï í¬ã«ïâ®à <20>‡“
|
||||
init_zx_roms:
|
||||
DISP Reset_Handler.init_rom_address
|
||||
|
||||
IN A,(SLOT3)
|
||||
PUSH AF
|
||||
;PUSH AF
|
||||
EX AF,AF'
|
||||
|
||||
DI
|
||||
LD A,1 ;!HARDCODE
|
||||
LD A,SYS_PORT.EXTENSION
|
||||
OUT (SYS_PORT.ROM),A
|
||||
;LD A,2
|
||||
INC A ;!HARDCODE
|
||||
LD B,3 ; zx-rom number of pages
|
||||
INC A ;!HARDCODE LD A,2
|
||||
LD B,3 ; zx-rom number of pages
|
||||
|
||||
;!FIXIT ¯¥à¥¤¥« âì äãªæ¨î ¡¨®á ¤«ï ç⥨ï ROM-DISK ¨ ¯¥à¥¥á⨠¢ ¥£® <20>‡“ ᯥªâàã¬
|
||||
.loop: push bc
|
||||
|
||||
.loop: ;push bc
|
||||
EXX
|
||||
;
|
||||
out (ROM.SLOT0),a
|
||||
or %0100'0000
|
||||
or %0100'0000 ; !HARDCODE ®¬¥à áâà ¨æ ¤«ï í¬ã«ïâ®à <20>‡“
|
||||
out (SLOT3),a
|
||||
and %1011'1111
|
||||
and %1011'1111 ; !HARDCODE ®¬¥à áâà ¨æ ¤«ï í¬ã«ïâ®à <20>‡“
|
||||
|
||||
LD HL,0
|
||||
LD DE,#C000
|
||||
@ -1125,47 +1130,67 @@ init_zx_roms:
|
||||
LDIR
|
||||
|
||||
inc a
|
||||
pop bc
|
||||
;pop bc
|
||||
EXX
|
||||
DJNZ .loop
|
||||
|
||||
xor a
|
||||
out (ROM.SLOT0),a
|
||||
OUT (SYS_PORT.ROM),A
|
||||
POP AF
|
||||
;POP AF
|
||||
EX AF,AF'
|
||||
out (SLOT3),a
|
||||
|
||||
|
||||
LD A,#E2 ;!HARDCODE ROM-ID - BASIC 128
|
||||
LD B,#42 ; page
|
||||
CALL .SET_ROM
|
||||
LD A,ACEX.vROM.BASIC_128 ; ROM-ID - BASIC 128
|
||||
LD B,#42 ;!HARDCODE page
|
||||
;[x] SET_PORTS: no need to call from #3D13 and DI. 31/12/23
|
||||
;CALL .SET_ROM
|
||||
CALL SET_PORTS
|
||||
;
|
||||
|
||||
LD A,#E3 ;!HARDCODE ROM-ID - BASIC 48
|
||||
LD B,#43 ; page
|
||||
CALL .SET_ROM
|
||||
LD A,ACEX.vROM.BASIC_48 ; ROM-ID - BASIC 48
|
||||
LD B,#43 ;!HARDCODE page
|
||||
;[x] SET_PORTS: no need to call from #3D13 and DI. 31/12/23
|
||||
;CALL .SET_ROM
|
||||
CALL SET_PORTS
|
||||
;
|
||||
|
||||
LD A,#E1 ;!HARDCODE ROM-ID - TR-DOS
|
||||
LD B,#44 ; page
|
||||
CALL .SET_ROM
|
||||
LD A,ACEX.vROM.TR_DOS ; ROM-ID - TR-DOS
|
||||
LD B,#44 ;!HARDCODE page
|
||||
;[x] SET_PORTS: no need to call from #3D13 and DI. 31/12/23
|
||||
;CALL .SET_ROM
|
||||
CALL SET_PORTS
|
||||
;
|
||||
|
||||
; LD A,#E0 ;!HARDCODE ROM-ID - BIOS
|
||||
; LD B,#45 ; page
|
||||
; CALL .SET_ROM
|
||||
; LD A,ACEX.vROM.BIOS ; ROM-ID - BIOS
|
||||
; LD B,#45 ;!HARDCODE page
|
||||
;[x] SET_PORTS: no need to call from #3D13 and DI. 31/12/23
|
||||
;CALL .SET_ROM
|
||||
CALL SET_PORTS
|
||||
;
|
||||
|
||||
|
||||
; LD A,#EB ;!HARDCODE ROM-ID - BIOS-1
|
||||
; LD B,#45 ; page
|
||||
; CALL .SET_ROM
|
||||
|
||||
; LD A,#EF ;!HARDCODE ROM-ID - BIOS-2
|
||||
; LD B,#47 ; page
|
||||
; CALL .SET_ROM
|
||||
; LD A,ACEX.vROM.BIOS_3 ; ROM-ID - BIOS-1
|
||||
; LD B,#45 ;!HARDCODE page
|
||||
;[x] SET_PORTS: no need to call from #3D13 and DI. 31/12/23
|
||||
;CALL .SET_ROM
|
||||
CALL SET_PORTS
|
||||
;
|
||||
|
||||
; LD A,ACEX.vROM.BIOS_4 ; ROM-ID - BIOS-2
|
||||
; LD B,#47 ;!HARDCODE page
|
||||
;[x] SET_PORTS: no need to call from #3D13 and DI. 31/12/23
|
||||
;CALL .SET_ROM
|
||||
CALL SET_PORTS
|
||||
;
|
||||
RET
|
||||
|
||||
;[x] SET_PORTS: no need to call from #3D13 and DI. 31/12/23
|
||||
.SET_ROM:
|
||||
LD C,BIOS.SET_PORTS
|
||||
JP ToBIOS_3D13
|
||||
|
||||
;LD C,BIOS.SET_PORTS
|
||||
;JP ToBIOS_3D13
|
||||
;
|
||||
ENT
|
||||
.length EQU $-init_zx_roms
|
||||
;-----------------------------------------------------------------------;
|
||||
@ -1536,15 +1561,15 @@ DOS_ON: NOP
|
||||
_mInfoBLOCK #3E00-$,#FF
|
||||
DOS_OFF:
|
||||
DI
|
||||
PUSH AF
|
||||
PUSH BC
|
||||
LD BC,(#5BFF) ; !HARDCODE
|
||||
LD A,#C9
|
||||
LD (#5BFF),A ; !HARDCODE
|
||||
CALL #5BFF ; !HARDCODE
|
||||
LD (#5BFF),BC ; !HARDCODE
|
||||
POP BC
|
||||
POP AF
|
||||
PUSH AF
|
||||
PUSH BC
|
||||
LD BC,(#5BFF) ; !HARDCODE
|
||||
LD A,#C9 ; Opcode RET
|
||||
LD (#5BFF),A ; !HARDCODE
|
||||
CALL #5BFF ; !HARDCODE
|
||||
LD (#5BFF),BC ; !HARDCODE
|
||||
POP BC
|
||||
POP AF
|
||||
RET
|
||||
;***************************************
|
||||
|
||||
|
||||
@ -428,7 +428,10 @@ CLEAR_RAM:
|
||||
; ¯®í⮬㠮⪫îç ¥¬ ¯¥à¥å¢ â à¥á¥â .
|
||||
LD A,ACEX.RET_PORT
|
||||
LD BC,BIOS.SET_PORTS
|
||||
CALL ToBIOS_3D13
|
||||
;[x] SET_PORTS: no need to call from #3D13 and DI. 31/12/23
|
||||
;CALL ToBIOS_3D13
|
||||
RST_to_BIOS
|
||||
;
|
||||
EI
|
||||
RET
|
||||
|
||||
|
||||
@ -70,7 +70,10 @@ CLEAR_RAM:
|
||||
;!TODO ¯à¨¤ã¬ âì ª ª ®âª«îç âì ¯¥à¥å¢ â ⮫쪮 ¢®§¢à â ¢ DSS
|
||||
LD A,ACEX.RET_PORT
|
||||
LD BC,BIOS.SET_PORTS
|
||||
CALL ToBIOS_3D13
|
||||
;[x] SET_PORTS: no need to call from #3D13 and DI. 31/12/23
|
||||
;CALL ToBIOS_3D13
|
||||
RST_to_BIOS
|
||||
;
|
||||
EI
|
||||
RET
|
||||
|
||||
|
||||
Binary file not shown.
Loading…
Reference in New Issue
Block a user