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