beta "free zx pages"

This commit is contained in:
Tolik 2024-10-06 23:57:34 +10:00
parent 421eee63a9
commit 1a13295ae3
2 changed files with 191 additions and 177 deletions

@ -1 +1 @@
Subproject commit 7e00c2aa909241367878004ad104b56abb907f80
Subproject commit 14a3896e7283495e2bf55cc81a995f5f1e88e539

View File

@ -39,26 +39,18 @@ RST_CONF:
JR .INT_PLD
;--[]
;--[]
.ACC_OFF: LD BC,Port_All_Mode
IN A,(C)
AND Port_All_Mode.DEFAULT - Port_All_Mode.SPECTRUM_MODE_OFF
OUT (C),A
RET
;
.ACC_ON: LD BC,Port_All_Mode
IN A,(C)
OR 1 ; ACC_ON
OUT (C),A
RET
;--[]
;--[]
.CUSTOM:
.CUSTOM: LD C,A
; ãáâ ­ ¢«¨¢ ¥¬ ­ã«¥¢ãî ª àâã ¯®à⮢
LD A,CNF_PORT.CNF_0
OUT (SYS_PORT.ON),A
LD A,C
;
CP #80 ;!FIXIT âãâ ⥯¥àì ¬®¦¥â «î¡®¥ ç¨á«® ¡ëâì ã áâ àëå ¯à®£ ; [ ] free zx pages
JR NC,.CHOOSE_CNF
; only for old FLEX10K soft compatible
LD C,SLOT3
.crutch: LD C,SLOT3
IN B,(C)
OUT (C),A ; PAGE á ¯à®è¨¢ª®©
LD DE,(#C090) ; PLD-ID
@ -71,38 +63,47 @@ RST_CONF:
OUT (C),A
LD (SYS_PAGE.CONFIG_BYTE),DE
OUT (C),B
;
LD A,E ; config-byte
CP #FF
LD A,#80
JR Z,.YES_CBL
XOR A
.YES_CBL:
LD BC,CBL.SYS_PORT
.YES_CBL: LD BC,CBL.SYS_PORT
OUT (C),A
;
LD A,E ; config-byte
OR #FE ;!HARDCODE
LD BC,Port_All_Mode ; SYSTEM Spectrum/Sprinter
OUT (C),A
;
LD A,#3C
OUT (FDC_93.DrvCTRL),A
; ¢®ááâ ­ ¢«¨¢ ¥¬ ª àâã ¯®à⮢
LD C,SLOT3
IN B,(C)
LD A,SYS_PAGE
OUT (C),A
LD A,(SYS_PAGE.CONFIG_DE.CNF_PORT)
OUT (C),B
OUT (SYS_PORT.ON),A
XOR A
RET
;
;[x]
.CHOOSE_CNF:
; [ ] bug with "free zx pages"
LD C,A
.CHOOSE_CNF: ; [ ] bug with "free zx pages"
LD A,high ZX_MEM_PORT.Scorpion
IN A,(ZX_MEM_PORT) ;!HARDCODE
RRCA
LD A,C
JR C,.not_vRAM_page
;
IN A,(SLOT3)
CP C
LD A,C
JR Z,.INT_PLD
JR Z,.crutch
; [x]
CP ACEX.Config_PG.Sp2000_SoftSetUp
.not_vRAM_page: CP ACEX.Config_PG.Sp2000_SoftSetUp
JP Z,.ReturnSoftReset
;
CP ACEX.Config_PG.Sp2000
@ -111,14 +112,15 @@ RST_CONF:
CP ACEX.Config_PG.Sp2000_SetUp
JR Z,.SP2000
;
; only for old FLEX10K soft compatible
CP ACEX.Config_PG.Sp97_1
LD DE,ACEX.Config_ID.Sp97_1
JR Z,.INT_PLD
;
CP ACEX.Config_PG.Sp97_2
LD DE,ACEX.Config_ID.Sp97_2
JR Z,.INT_PLD
;
CP ACEX.Config_PG.Sp97_AY
LD DE,ACEX.Config_ID.Sp97_AY
JR Z,.INT_PLD
@ -126,11 +128,10 @@ RST_CONF:
RET
;
;[x]
.INIT_ACEX:
DI
.INIT_ACEX: DI
; ãáâ ­ ¢«¨¢ ¥¬ ­ã«¥¢ãî ª àâã ¯®à⮢
LD A,CNF_PORT.CNF_0
OUT (SYS_PORT.ON),A
; LD A,CNF_PORT.CNF_0
; OUT (SYS_PORT.ON),A
; ¨ â ª ¯®­ïâ­® çâ® ¤¥« ¥â
IN A,(SLOT3) ; á®å࠭塞 ­®¬¥à ¢®âª­ã⮩ áâà ­¨æë
PUSH AF
@ -181,8 +182,7 @@ RST_CONF:
JR NZ,.set_ret ; NZ - ¥á«¨ ¢ë§®¢ ¡ë« ¯® RST #18
POP DE ; ¥á«¨ ¢ë§®¢ ¡ë« ¢ އ“ ¯® RST 8
INC A
.set_ret:
LD (Spec_Page.RET_addr),DE
.set_ret: LD (Spec_Page.RET_addr),DE
; A=0 - SYS_PORT.ON
; A=1 - SYS_PORT.OFF
LD (Spec_Page.Reload_Version),A
@ -229,6 +229,20 @@ RST_CONF:
SCF
RET
;
;--[]
.ACC_OFF: LD BC,Port_All_Mode
IN A,(C)
AND Port_All_Mode.DEFAULT - Port_All_Mode.SPECTRUM_MODE_OFF
OUT (C),A
RET
;
.ACC_ON: LD BC,Port_All_Mode
IN A,(C)
OR 1 ; ACC_ON
OUT (C),A
RET
;--[]
;
.INIT_ACEX.PROGRAM:
DISP Spec_Page.init_acex
;