уже лучше

This commit is contained in:
Tolik 2024-09-28 04:37:38 +10:00
parent c7fd876f91
commit 65bc8dbb49
8 changed files with 201 additions and 208 deletions

@ -1 +1 @@
Subproject commit 753caadb020b3d55971aced21723c84a72bf65df
Subproject commit 403d6e2b52dadc50e99a1eac442cedd98e19d0a5

View File

@ -430,7 +430,7 @@ TAB_FNS:
DB high READ_PORTS
DB high FN_RESERVED
DB high GOTO_SPEC
DB high FN_RESERVED
DB high ZX_MEMORY_MANAGER
DB high REINIT
DB high FN_RESERVED
DB high FN_VERSION

View File

@ -647,12 +647,10 @@ SET_PORTS:
PUSH AF
POP DE
DI
LD A,CNF_PORT.CNF_0 + ROM.BIOS
OUT (SYS_PORT.ROM),A
CALL DOS_ON
;
; LD A,CNF_PORT.CNF_0 + ROM.BIOS
; OUT (SYS_PORT.ROM),A
LD A,CNF_PORT.CNF_0 + ROM.BIOS
OUT (SYS_PORT.ROM),A
;
LD C,SLOT2 ; ¯®«ãç¨âì áâà ­¨æã
IN D,(C)

View File

@ -753,9 +753,6 @@ POST_5_ERROR:
;
LD A,CNF_PORT.CNF_0 + CNF_PORT.TURBO.ON
LD (SYS_PAGE.CONFIG_DE),A
;
XOR A ;!HARDCODE zx page number
OUT (SLOT3),A
;
ENDMODULE
;-----------------------------------------------------------------------;
@ -772,8 +769,6 @@ POST_5_ERROR:
;-----------------------------------------------------------------------;
MODULE Reset_Handler
start: DI
IN A,(SLOT3)
PUSH AF
;----[¯¥à¥å¢ â soft reset #EE port]-----
Check_EE_Port: LD A,ACEX.RET_PORT
LD B,0
@ -834,7 +829,7 @@ Check_Spec_Page:
;
;---------------------------------------
No_Reset_handlers:
POP AF
XOR A ;!HARDCODE zx page number
OUT (SLOT3),A
ENDMODULE
;-----------------------------------------------------------------------;
@ -1022,12 +1017,12 @@ PORTS_INIT:
LD A,CNF_PORT.CNF_3+ROM.BIOS
OUT (SYS_PORT.ROM),A
OUT (FDC_93.DrvCTRL),A
PUSH HL
POP HL
LD A,#3C ;!HARDCODE ª®¬ ­¤  ¤«ï ƒ93
PUSH HL ; ¤«ï § ¤¥à¦ª¨
POP HL ; ¤«ï § ¤¥à¦ª¨
LD A,#3C ;!HARDCODE ª®¬ ­¤  ¤«ï ƒ93
OUT (FDC_93.DrvCTRL),A
PUSH HL
POP HL
PUSH HL ; ¤«ï § ¤¥à¦ª¨
POP HL ; ¤«ï § ¤¥à¦ª¨
XOR A
OUT (FDC_93.Command),A
; ‚몫îç¨âì ¤®áâ㯠ª ª®­â஫«¥àã ¤¨áª 
@ -1037,11 +1032,11 @@ PORTS_INIT:
LD A,IDE.Chanel.Primary
OUT (IDE.Chanel.Set),A
LD BC,#7FFD
XOR A
OUT (C),A ; BASIC_128 mode
LD A,#10
OUT (C),A ; BASIC_48 mode
LD B,#1F
INC A
OUT (C),A ; RAM-0 mode !!!
LD A,1
OUT (C),A ; RAM-0 mode !!!
; ®ç¨á⪠ ¡ãä¥à®¢ ª« ¢¨ âãàë ¨ ¬ëè¨ ¢ SIO
CALL .clean_kbd_buf
JR .clean_mouse_buf
@ -1177,7 +1172,7 @@ SW_ROM: ;!FIXIT assert with ROM
;
;----------------------------------------------------------------------;
_mInfoBLOCK #3D00-$,#FF
DOS_ON: NOP
DOS_ON: NOP ;!TODO à ¡®â ¥â ¯à¨ #7FFD[4] = 1. Š ª-â® ã§­ ¢ âì §­ ç¥­¨¥ 7FFD ¨ ¬¥­ïâì?
RET
;***************************************

View File

@ -204,6 +204,7 @@ INIT_SYS_ALL:
LD L,A
LD (SYS_PAGE.CURRENT_DIR_SEC_L - #4000),HL
LD (SYS_PAGE.CURRENT_DIR_SEC_H - #4000),HL
LD (SYS_PAGE.Block_IDs - #4000),HL
DEC A
LD (SYS_PAGE.CURRENT_HDD - #4000),A
LD (SYS_PAGE.CURRENT_DIR_DRIVE - #4000),A
@ -299,11 +300,11 @@ INIT_CONFIG_ALL:
LD DE,CNF_PORT.CNF_0 + ROM.BIOS
LD (SYS_PAGE.CONFIG_DE - #4000),DE
LD HL,SYS_PAGE.ZX_TASK.CURRENT - #4000 ; 㡨âì ¢á¥ § ¤ ç¨
LD DE,SYS_PAGE.ZX_TASK.CURRENT+1 - #4000
LD BC,_ZX_TASK - 1
LD (HL),0
LDIR
; LD HL,SYS_PAGE.ZX_TASK.CURRENT - #4000 ; 㡨âì ¢á¥ § ¤ ç¨
; LD DE,SYS_PAGE.ZX_TASK.CURRENT+1 - #4000
; LD BC,_ZX_TASK - 1
; LD (HL),0
; LDIR
EX AF,AF'
OUT (SLOT2),A

View File

@ -382,7 +382,9 @@ EXIT_SETUP: CALL INT_OFF
;
.Set_Page41: CALL ZXMODE_SETUP.Set_Page41
.vROMs_Installed:
CALL MANAGE_ZX_PAGES.GET_SCORP_RAM ;!TODO ­ áâà ¨¢ âì ¢ BIOS zx mode
XOR A
LD BC,4*256 + BIOS.ZX_MEMORY_MANAGER ; [ ] free zx pages! HARDCODE MANAGE_ZX_PAGES.GET_SCORP_RAM
RST ToBIOS_18 ;!TODO ­ áâà ¨¢ âì ¢ BIOS zx mode
JR NC,.set_ZX_params
;
CALL ScreenPOS.CRLF
@ -1707,11 +1709,14 @@ ZXMODE_SETUP: IN A,(SLOT3)
LD R,A
;
; Load ZX ROM's
LD A,ROM.EXTENSION
OUT (SYS_PORT.ROM),A
CALL MANAGE_ZX_PAGES.FREE_vMEMORY ;!FIXIT ­¥ â  áâà ­¨æ  ¢ SLOT3 ; [ ] free zx pages!
XOR A ;LD A,ROM.BIOS
OUT (SYS_PORT.ROM),A
;LD A,ROM.EXTENSION
;OUT (SYS_PORT.ROM),A
; CALL MANAGE_ZX_PAGES.FREE_vMEMORY ;!FIXIT ­¥ â  áâà ­¨æ  ¢ SLOT3 ; [ ] free zx pages!
;XOR A ;LD A,ROM.BIOS
;OUT (SYS_PORT.ROM),A
XOR A
LD BC,64*256 + BIOS.ZX_MEMORY_MANAGER ; [ ] free zx pages! HARDCODE
RST ToBIOS_18
;
LD B,3 ; !HARDCODE zx-rom number of pages
CALL EMM.GetMem
@ -1741,12 +1746,15 @@ ZXMODE_SETUP: IN A,(SLOT3)
LDDR ; § ç¨é ¥¬
EX DE,HL
;
LD A,SYS_PORT.EXTENSION
OUT (SYS_PORT.ROM),A
JP MANAGE_ZX_PAGES.INIT_vROM
XOR A ;LD A,SYS_PORT.BIOS
OUT (SYS_PORT.ROM),A
RET
; LD A,SYS_PORT.EXTENSION
; OUT (SYS_PORT.ROM),A
; JP MANAGE_ZX_PAGES.INIT_vROM
; XOR A ;LD A,SYS_PORT.BIOS
; OUT (SYS_PORT.ROM),A
XOR A
LD BC,128*256 + BIOS.ZX_MEMORY_MANAGER ; [ ] free zx pages! HARDCODE
JP ToBIOS_18
;RET
;
;--------------------[copy zx-roms to zx-pages]-----------------;
; SLOT0 - ROM 8, sys_port - on.
@ -1780,7 +1788,7 @@ init_zx_roms: DI
OUT (SYS_PORT.ROM),A
CALL MANAGE_ZX_PAGES.INIT_vROM
; Š®¯¨à㥬 ®¡à §ë ZX-ROM ¨§ <20>‡“ ¢ áâà ­¨æë vROM
INC A ; !HARDCODE LD A,2
LD A,2 ; !HARDCODE
LD BC,+(3*2)*256 + SLOT3 ; !HARDCODE B = (zx-rom number of pages)*2
LD HL,memBUFFER.Shared + 1
.loop: OUTI
@ -1869,7 +1877,7 @@ init_zx_roms: DI
.init_41h: ; § ¡¨âì FF- ¬¨
LD HL,#C000
LD DE,#C001
LD BC,#3FFF
LD BC,#3FFF - 2
LD (HL),C
LDIR
; ‡ £«ã誠 ¤«ï áâà ­¨æë #41

View File

@ -289,85 +289,6 @@ ZX_MEMORY:
IF FREE_ZX_PAGES
MODULE MANAGE_ZX_PAGES
;!FIXIT
;----------------[‚뤥«¥­¨¥/®á¢®¡®¦¤¥­¨¥ áâà ­¨æ ᯥªâà㬠]-------------;
;¢å®¤: ॣ B: 0 - § à¥§¥à¢¨à®¢ ­®
; 1 - ¢ë¤¥«¥­¨¥ ¯ ¬ï⨠Pentagon 48k. 3 áâà ­¨æë
; 2 - ¢ë¤¥«¥­¨¥ ¯ ¬ï⨠Pentagon 128k. 2+6 áâà ­¨æë
; 3 - ¢ë¤¥«¥­¨¥ ¯ ¬ï⨠Pentagon 512k. 2+30 áâà ­¨æë
; 4 - ¢ë¤¥«¥­¨¥ ¯ ¬ï⨠Scorpion 256k. 2+6+8 áâà ­¨æë
; 5..15 - § à¥§¥à¢¨à®¢ ­ë
;
; 16 - ¯®«ãç¨âì à ¬¡«®ª¨ ¨­¨æ¨ «¨§¨à®¢ ­­ëå vROM ¨ VRAM
; 17..31 - § à¥§¥à¢¨à®¢ ­ë
;
; 32 - § à¥§¥à¢¨à®¢ ­®
; 33 - ¢ë¤¥«¥­¨¥ ¯ ¬ï⨠Spectrum 48k ¨ ¨­¨â 2-å áâà ­¨æ vROM
; 34 - ¢ë¤¥«¥­¨¥ ¯ ¬ï⨠Pentagon 128k ¨ ¨­¨â 3-å áâà ­¨æ vROM
; 35 - ¢ë¤¥«¥­¨¥ ¯ ¬ï⨠Pentagon 512k ¨ ¨­¨â 3-å áâà ­¨æ vROM
; 36 - ¢ë¤¥«¥­¨¥ ¯ ¬ï⨠Scorpion 256k ¨ ¨­¨â 3-å áâà ­¨æ vROM
; 33..63 - § à¥§¥à¢¨à®¢ ­ë
;
; 64 - ®á¢®¡®¤¨âì à ¬¡«®ª¨ vROM ¨ vRAM
; 65..127 - § à¥§¥à¢¨à®¢ ­ë
;
; 128 - ¨­¨æ¨ «¨§¨à®¢ âì ᢮© ­ ¡®à áâà ­¨æ vROM
;
; ॣ HL: ¯à¨ ॣ B[7]=1  ¤à¥á áâà ­¨æ (11 èâ):
; byte1 - RAM block ID, byte2..11 - áâà ­¨æë ¤«ï vROM - ZXSlot: 1,2,3(=0),à áè¨à¥­­ ï
; ॣ A: ­®¬¥à ZX TASK ¯®ª  çâ® ¢á¥£¤  ­®«ì!!!
;¢ë室: CF = 0: HL - ­®¬¥à  à ¬¡«®ª®¢ ¤«ï ०¨¬®¢ 0..16. H=vRAM, L=vROM
; CF = 1: A - ­®¬¥à ®è¨¡ª¨
;
;¥á«¨ áâíª ­ å®¤¨âáï ¢ âà¥â쥬 á«®â¥, â® ¢ë§®¢ á ¢ëª«î祭­ë¬¨ ¯à¥à뢠­¨ï¬¨
FN_ENTRANCE: ;!TODO A - TASK NUMBER
AND A
LD A,BIOS.Error.NotSupported
SCF
RET Z
;
EXX
LD C,SLOT3
IN B,(C)
LD A,SYS_PAGE
OUT (C),A
EXX
;
LD (SYS_PAGE.SP_SAVE),SP
LD SP,SYS_PAGE.SYS_SP
LD DE,.EXIT
PUSH DE
;-----------------------------------;
; Sub FN #8x
BIT 7,B
JR NZ,INIT_vROM ; B = 128
; Sub FN #4x
BIT 6,B
JR NZ,FREE_vMEMORY ; B = 64
; Sub FN #1x
JR NZ,GET_RAMBLOCK_IDs ; B = 16
; Sub FN #0x
; DEC B
; JR Z, ; B = 1
; DEC B
; JR Z, ; B = 2
; DEC B
; JR Z, ; B = 3
; DEC B
; JR Z, ; B = 4
;-----------------------------------;
LD A,BIOS.Error.InvalidSubFunction
SCF
RET
;
.EXIT: LD SP,(SYS_PAGE.SP_SAVE)
EXX
OUT (C),B
EXX
RET
;-----------------------------------------------------------------------;
;-----------------------------------------------------------------------;
; <20>¥ ¯®àâ¨âì DE
;‚室: A - TASK NUMBER
@ -381,51 +302,51 @@ FN_ENTRANCE: ;!TODO A - TASK NUMBER
; RET
;-----------------------------------------------------------------------;
;-----------------------------------------------------------------------;
FREE_vRAM: LD A,(SYS_PAGE.Block_ID.vRAM)
OR A
;‚•Ž„: HL - ᯨ᮪ áâà ­¨æ
; E - 0 = 128kb, 1 = 512kb
INIT_vRAM: XOR A
.set_1ffd: LD BC,#1FFD
OUT (C),A
; set 128
LD B,#7F
LD D,%0000'0000
CALL SET_7FFD
;
XOR A
OUT (C),A
BIT 3,E ; 128/512
RET Z
; set 128 + 384
;LD A,SYS_PORT.CNF_512
;OUT (SYS_PORT.ROM),A
;
LD D,%0100'0000
CALL SET_7FFD
LD D,%1000'0000
CALL SET_7FFD
LD D,%1100'0000
CALL SET_7FFD
;
XOR A
LD (SYS_PAGE.Block_ID.vRAM),A
LD C,BIOS.FreeMem
JP ToBIOS_FromEXT
;--------------;
FREE_vMEMORY: CALL FREE_vRAM
;JR FREE_vROM
;--------------;
FREE_vROM: LD A,(SYS_PAGE.Block_ID.vROM)
OR A
RET Z
XOR A
LD (SYS_PAGE.Block_ID.vROM),A
LD C,BIOS.FreeMem
RST_to_BIOS
;--------------;
RES_FLAG_ZXvROM: ; ­¥ ¤®«¦­® ¯®àâ¨âì DE
EX AF,AF'
IN A,(SLOT3)
EX AF,AF'
LD A,Spec_Page
OUT (SLOT3),A
XOR A
LD (Spec_Page.flag_Z),A
LD (Spec_Page.flag_X),A
EX AF,AF'
OUT (SLOT3),A
OUT (C),A
RET
;-----------------------------------------------------------------------;
;-----------------------------------------------------------------------;
;‚室: A - TASK NUMBER
;‚ë室: H - vRAM block ID
; L - vROM block ID
GET_RAMBLOCK_IDs:
LD HL,(SYS_PAGE.Block_IDs)
;‚•Ž„: HL - ᯨ᮪ áâà ­¨æ
; D - ­ ç «ì­®¥ §­ ç¥­¨¥ ¤«ï 7FFD
SET_7FFD: LD A,(HL)
OUT (C),D
OUT (SLOT3),A
INC HL
INC D
BIT 3,D ; ª®«¨ç¥á⢮ áâà ­¨æ
JR Z,SET_7FFD
RET
;-----------------------------------------------------------------------;
;-----------------------------------------------------------------------;
;‚室: HL - ¡ãä¥à áâà ­¨æ (SLOT1..SLOT2) ­  ª®â®àë¥ ¬ ¯¯¨¬ (¢á¥£¤  11 èâ.)
; <09>¥à¢ë© ¡ ©â ᯨ᪠ - RAM BLOCK ID. „ «¥¥ ª ª 㣮¤­® ­®¬¥à 
@ -500,55 +421,133 @@ INIT_vROM: LD A,(HL)
.PORTS.Size EQU $-.PORTS
;-----------------------------------------------------------------------;
;!FIXIT
;----------------[‚뤥«¥­¨¥/®á¢®¡®¦¤¥­¨¥ áâà ­¨æ ᯥªâà㬠]-------------;
;¢å®¤: ॣ B:
; FN 0x
; 0 - § à¥§¥à¢¨à®¢ ­®
; 1 - ¢ë¤¥«¥­¨¥ ¯ ¬ï⨠Pentagon 48k. 3 áâà ­¨æë
; 2 - ¢ë¤¥«¥­¨¥ ¯ ¬ï⨠Pentagon 128k. 2+6 áâà ­¨æë
; 3 - ¢ë¤¥«¥­¨¥ ¯ ¬ï⨠Pentagon 512k. 2+30 áâà ­¨æë
; 4 - ¢ë¤¥«¥­¨¥ ¯ ¬ï⨠Scorpion 256k. 2+6+8 áâà ­¨æë
; 5..15 - § à¥§¥à¢¨à®¢ ­ë
; FN 1x
; 16 - ¯®«ãç¨âì à ¬¡«®ª¨ ¨­¨æ¨ «¨§¨à®¢ ­­ëå vROM ¨ VRAM
; 17..31 - § à¥§¥à¢¨à®¢ ­ë
; FN 2x
; 32 - § à¥§¥à¢¨à®¢ ­®
; 33 - ¢ë¤¥«¥­¨¥ ¯ ¬ï⨠Spectrum 48k ¨ ¨­¨â 2-å áâà ­¨æ vROM
; 34 - ¢ë¤¥«¥­¨¥ ¯ ¬ï⨠Pentagon 128k ¨ ¨­¨â 3-å áâà ­¨æ vROM
; 35 - ¢ë¤¥«¥­¨¥ ¯ ¬ï⨠Pentagon 512k ¨ ¨­¨â 3-å áâà ­¨æ vROM
; 36 - ¢ë¤¥«¥­¨¥ ¯ ¬ï⨠Scorpion 256k ¨ ¨­¨â 3-å áâà ­¨æ vROM
; 33..63 - § à¥§¥à¢¨à®¢ ­ë
; FN 4x
; 64 - ®á¢®¡®¤¨âì à ¬¡«®ª¨ vROM ¨ vRAM
; 65..127 - § à¥§¥à¢¨à®¢ ­ë
; FN 8x
; 128 - ¨­¨æ¨ «¨§¨à®¢ âì ᢮© ­ ¡®à áâà ­¨æ vROM
;
; ॣ HL: ¯à¨ ॣ B[7]=1  ¤à¥á áâà ­¨æ (11 èâ):
; byte1 - RAM block ID, byte2..11 - áâà ­¨æë ¤«ï vROM - ZXSlot: 1,2,3(=0),à áè¨à¥­­ ï
; ॣ A: ­®¬¥à ZX TASK ¯®ª  çâ® ¢á¥£¤  ­®«ì!!!
;¢ë室: CF = 0: HL - ­®¬¥à  à ¬¡«®ª®¢ ¤«ï ०¨¬®¢ 0..16. H=vRAM, L=vROM
; CF = 1: A - ­®¬¥à ®è¨¡ª¨
;
;¥á«¨ áâíª ­ å®¤¨âáï ¢ âà¥â쥬 á«®â¥, â® ¢ë§®¢ á ¢ëª«î祭­ë¬¨ ¯à¥à뢠­¨ï¬¨
FN_ENTRANCE: ;!TODO A - TASK NUMBER
AND A
LD A,BIOS.Error.NotSupported
SCF
RET NZ
CCF
;
EXX
LD C,SLOT3
IN B,(C)
LD A,SYS_PAGE
OUT (C),A
EXX
;
LD (SYS_PAGE.SP_SAVE),SP
LD SP,SYS_PAGE.SYS_SP
LD DE,.EXIT
PUSH DE
;-----------------------------------;
; Sub FN #8x
BIT 7,B
JR NZ,INIT_vROM ; B = 128
; Sub FN #4x
BIT 6,B
JR NZ,FREE_vMEMORY ; B = 64..127
; Sub FN #2x ;!TODO ; [ ] free zx pages!
;BIT 5,B
;JR NZ, ; B = 32..63
; Sub FN #1x
BIT 4,B
JR Z,.x0x_FN ; B = 16
;
.GET_RAMBLOCK_IDs: ;‚室: A - TASK NUMBER. ‚ë室: H - vRAM block ID, L - vROM block ID
LD HL,(SYS_PAGE.Block_IDs)
RET
;
; Sub FN #0x
.x0x_FN: DEC B
JR Z,GET_48k_MEM ; B = 1
DEC B
JR Z,GET_128k_MEM ; B = 2
DEC B
JR Z,GET_512k_MEM ; B = 3
DEC B
JR Z,GET_SCORP_RAM ; B = 4
;-----------------------------------;
LD A,BIOS.Error.InvalidSubFunction
SCF
RET
;
.EXIT: LD SP,(SYS_PAGE.SP_SAVE)
EXX
OUT (C),B
EXX
RET
;-----------------------------------------------------------------------;
;-----------------------------------------------------------------------;
;‚•Ž„: HL - ᯨ᮪ áâà ­¨æ
; E - 0 = 128kb, 1 = 512kb
INIT_vRAM: XOR A
.set_1ffd: LD BC,#1FFD
OUT (C),A
; set 128
LD B,#7F
LD D,%0000'0000
CALL SET_7FFD
;
XOR A
OUT (C),A
BIT 3,E ; 128/512
FREE_vRAM: LD A,(SYS_PAGE.Block_ID.vRAM)
OR A
RET Z
; set 128 + 384
;LD A,SYS_PORT.CNF_512
;OUT (SYS_PORT.ROM),A
;
LD D,%0100'0000
CALL SET_7FFD
LD D,%1000'0000
CALL SET_7FFD
LD D,%1100'0000
CALL SET_7FFD
;
LD C,BIOS.FreeMem
CALL ToBIOS_FromEXT
RET C
XOR A
OUT (C),A
LD (SYS_PAGE.Block_ID.vRAM),A
RET
;-----------------------------------------------------------------------;
;-----------------------------------------------------------------------;
;‚•Ž„: HL - ᯨ᮪ áâà ­¨æ
; D - ­ ç «ì­®¥ §­ ç¥­¨¥ ¤«ï 7FFD
SET_7FFD: LD A,(HL)
OUT (C),D
;--------------;
FREE_vMEMORY: CALL FREE_vRAM
;JR FREE_vROM
;--------------;
FREE_vROM: LD A,(SYS_PAGE.Block_ID.vROM)
OR A
RET Z
XOR A
LD (SYS_PAGE.Block_ID.vROM),A
LD C,BIOS.FreeMem
RST_to_BIOS
;--------------;
RES_FLAG_ZXvROM: ; ­¥ ¤®«¦­® ¯®àâ¨âì DE
EX AF,AF'
IN A,(SLOT3)
EX AF,AF'
LD A,Spec_Page
OUT (SLOT3),A
XOR A
LD (Spec_Page.flag_Z),A
LD (Spec_Page.flag_X),A
EX AF,AF'
OUT (SLOT3),A
INC HL
INC D
BIT 3,D ; ª®«¨ç¥á⢮ áâà ­¨æ
JR Z,SET_7FFD
RET
;-----------------------------------------------------------------------;
;-----------------------------------------------------------------------;
;‚믮«­ï¥âáï ¤«ï ¢ë¤¥«¥­¨ï âàñå áâà ­¨æ އ“ 48k
GET_48k_MEM: LD D,ZX_MEMORY.MODE_48k
@ -637,7 +636,7 @@ GET_SCORP_RAM: CALL FREE_vRAM
;°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°;
;!TODO § ¤¥©á⢮¢ âì
; [ ] free zx pages!
; <20><EFBFBD>…„€œ: ­®¬¥à vROM, vRAM, CONFIG_DE, FN_SYNC, PORT_ALL_MODE, MEM_TYPE
; ‚室: D: 0 - BASIC 128, 1 - BASIC 48, 2 - TR-DOS 128,
; 3 - EXPANSION. C § ªàëâ묨 128-¬¨ ¯®àâ ¬¨:
@ -671,21 +670,12 @@ GOTO_SPECTRUM: LD A,BIOS.Error.NotSupported
LD (SYS_PAGE.CONFIG_DE),DE
LD (SYS_PAGE.Block_IDs),HL ;!FIXIT ®á¢®¡®¤¨âì áâ àë¥ §­ ç¥­¨ï? ; [ ] free zx pages!
;
EXX
LD A,C
AND %0000'0011
LD SP,#C000
;
; [ ] free zx pages! ;!TODO ¥á«¨ § ¤ ç  ¯ãáâ ï, â® ¯¥à¢ë© ¨­¨â
;
;!TODO ᤥ« âì  ªâ¨¢ æ¨î ¢¨­â  ¤«ï ¯ à ¬¥âà  ¨§ Setup
;!TODO ãáâ ­®¢¨âì £¤¥-­¨¡ã¤ì ­¨¦¥ áâíª ¨§ TASK
; LD A,(IX + _ZX_TASK_DATA.PORT_ALL_MODE)
; LD BC,Port_All_Mode
; OUT (C),A
; ãáâ ­®¢ª  ¨­â 
EXX
LD A,C
EXX
AND %0000'0011
LD C,BIOS.FN_SYNC
RST_to_BIOS
;CALL FN_SYNC
@ -764,7 +754,8 @@ GOTO_SPECTRUM: LD A,BIOS.Error.NotSupported
; D - ª®«¨ç¥á⢮ íâ¨å áâà ­¨æ
INIT_PAGES: LD A,SYS_PAGE
OUT (SLOT1),A
LD A,SYS_PORT.TURBO.ON + SYS_PORT.CNF_0 + SYS_PORT.CNF_512
====
LD A,SYS_PORT.TURBO.ON + SYS_PORT.CNF_0 + SYS_PORT.CNF_512 ;!FIXIT ¯¥à¥¤¥« âì ¨­¨â. ¥á«¨ 512, â® ­¥â 1ffd ¨ ­ ®¡®à®â
OUT (SYS_PORT.ROM),A
;
RES 7,H

View File

@ -421,7 +421,7 @@ TURBO_ON:
CLEAR_RAM:
DI
LD C,BIOS.FullInit
LD C,BIOS.FullInit ; [ ] free zx pages!
RST_to_BIOS
; ¯à¨ ®ç¨á⪥ ¯ ¬ï⨠¨§ ¬¥­î ᯥªâà㬠 ¢®§¢à â ¢ DSS ¯® CAD
; ¡ã¤¥â ®¯ á­ë¬ (RAM Blocks ®á¢®¡®¤¨«¨áì),