This commit is contained in:
Tolik 2024-09-15 02:41:55 +10:00
parent 22f4acafbe
commit 0ec6b77447
2 changed files with 18 additions and 54 deletions

@ -1 +1 @@
Subproject commit 265b46fce2afbc3e8acef59e83d78b84b88d4ced
Subproject commit b1851fc9f30652ff464f323a7f2873806bd51bfd

View File

@ -174,19 +174,6 @@ INIT_vROM: LD A,(IX + _#ZX_TASK_DATA.vROM_ID)
;-----------------------------------------------------------------------;
;????? ­ ¤®?
/*
;-----------------------------------------------------------------------;
;‚室: A - TASK NUMBER
FREE_vROM: LD A,(IX + _#ZX_TASK_DATA.vROM_ID)
CALL EMM.FreeMem
PUSH AF
CALL RES_FLAG_ZXvROM
POP AF
RET
;-----------------------------------------------------------------------;
*/
/*
;-----------------------------------------------------------------------;
@ -234,22 +221,6 @@ SET_7FFD: LD A,(HL)
JR Z,SET_7FFD
RET
;-----------------------------------------------------------------------;
;-----------------------------------------------------------------------;
;!FIXIT ª®áïª á® á⥪®¬ ¢ SLOT3
;‚•Ž„: HL - ᯨ᮪ áâà ­¨æ.
INIT_SCORP_vRAM:; first 128 kb
LD E,0
CALL INIT_PENT_vRAM
; second 128 kb
LD A,#10
CALL INIT_PENT_vRAM.set_1ffd
; A = 0
LD B,#1F
OUT (C),A
RET
;-----------------------------------------------------------------------;
*/
@ -282,28 +253,15 @@ FREE_vRAM: XOR A
;-----------------------------------------------------------------------;
;!FIXIT SET_TASK_POINTER
;-----------------------------------------------------------------------;
;‚믮«­ï¥âáï ¤«ï ¢ë¤¥«¥­¨ï 3 áâà ­¨æ އ“ 48k ¨ 14 áâà ­¨æ އ“ Scorp256k
;‚室: ---
;‚ë室: A - RAM block ID
GET_SCORP_RAM: CALL FREE_vRAM
CALL .SCORP
RET C
LD D,L
; Get Pent128 mem
LD B,3+5
CALL EMM.GetMem
; A - Pent128 mem block id
LD B,D ; Scorp128 mem block id
CALL EMM.MergeMemBlocks
LD (IX + _#ZX_TASK_DATA.vRAM_ID),A
RET
;
.SCORP: ; ¢ë¤¥«¨âì áâà ­¨æë ᪮௠
; ¢ë¤¥«¨âì áâà ­¨æë ᪮௠
XOR A
LD DE,#F0D0 ; ¤«ï 䨫ìâà . #F0 - ¬ áª , #D0 - áâà ­¨æë ISA #D0..#DF
LD BC,8*256 + #FF ; B - ª®«¨ç¥á⢮ áâà ­¨æ, C - Œ¥âª  ª®­æ  à ¬¡«®ª 
LD DE,#F0D0 ; ¤«ï 䨫ìâà . #F0 - ¬ áª , #D0 - áâà ­¨æë ISA #D0..#DF
LD BC,8*256 + #FF ; B - ª®«¨ç¥á⢮ áâà ­¨æ, C - Œ¥âª  ª®­æ  à ¬¡«®ª 
LD HL,SYS_PAGE.RAM_TABLE
.allocate_loop: DEC L
JR Z,.error_no_mem
@ -319,6 +277,14 @@ GET_SCORP_RAM: CALL FREE_vRAM
DJNZ .allocate_loop
; L = 㪠§ â¥«ì 楯®çª¨.
AND A
LD D,L
; Get Pent128 mem
LD B,3+5
CALL EMM.GetMem
; A - Pent128 mem block id
LD B,D ; Scorp128 mem block id
CALL EMM.MergeMemBlocks
LD (IX + _#ZX_TASK_DATA.vRAM_ID),A
RET
;
; 䨫ìâà ¤«ï áâà ­¨æ ᪮௠
@ -336,10 +302,8 @@ GET_SCORP_RAM: CALL FREE_vRAM
LD L,E
RET
;
.error_no_mem: ;PUSH DE
LD A,C
.error_no_mem: LD A,C
CALL EMM.FreeMem
;POP DE
LD A,BIOS.Error.EMM.NoMemory
SCF
RET
@ -486,7 +450,7 @@ RES128_PROG:
; !!! NO USE STACK !!!
;
;*****************************************
;!TODO
;!TODO á⥪ ãáâ ­®¢«¥­ ¢ âà¥â쥩 áâà ­¨æ¥, ­¥ ¨á¯®«ì§®¢ âì ¨«¨ ãáâ ­ ¢«¨¢ âì ¢ ¤àã£ãî!
; ¨­¨æ¨ «¨§ æ¨ï áâà ­¨æ zx spectrum
INIT_PAGES:
AND A
@ -529,11 +493,11 @@ SCORPION_256_MODE:
ALL_MODE:
OUT (SLOT0),A
XOR 5
XOR 5 ; [ ] free zx pages!
OUT (SLOT1),A
XOR 7
XOR 7 ; [ ] free zx pages!
OUT (SLOT2),A
OR #0F
OR #0F ; [ ] free zx pages!
LD E,A
.loop: DEC D
@ -561,8 +525,8 @@ ALL_MODE:
INIT_VIDEO_REG:
XOR A
OUT (RGADR),A ; ॣ¨áâà ¢¨¤¥®  ¤à¥á 
; OUT (RGSCR),A ; ॣ¨áâà íªà ­ 
OUT (RGMOD),A ; ॣ¨áâà ¬®¤ë
; OUT (RGSCR),A ; ॣ¨áâà íªà ­ 
;!TEST
; Restore old Spectrum Screen