mirror of
https://github.com/Tolik-Trek/MK.DEMO.git
synced 2026-06-15 17:41:42 +03:00
Call BIOS API instead of use MemHack
This commit is contained in:
parent
0b262da641
commit
e52bedc0f4
160
MK_DEMO.ASM
160
MK_DEMO.ASM
@ -288,7 +288,7 @@ START:
|
|||||||
RST ToBIOS
|
RST ToBIOS
|
||||||
|
|
||||||
LD A,2
|
LD A,2
|
||||||
LD C,BIOS.FN_SINC
|
LD C,BIOS.FN_SYNC
|
||||||
RST ToBIOS
|
RST ToBIOS
|
||||||
|
|
||||||
|
|
||||||
@ -348,7 +348,7 @@ BEGIN:
|
|||||||
EX AF,AF'
|
EX AF,AF'
|
||||||
LD A,SYS_PAGE
|
LD A,SYS_PAGE
|
||||||
OUT (SLOT3),A
|
OUT (SLOT3),A
|
||||||
LD A,(RAMD_KEYS.H)
|
LD A,(SYS_PAGE.RAMD_KEYS.H)
|
||||||
LD (SND_P),A
|
LD (SND_P),A
|
||||||
EX AF,AF'
|
EX AF,AF'
|
||||||
OUT (SLOT3),A
|
OUT (SLOT3),A
|
||||||
@ -642,8 +642,8 @@ FON_LOAD:
|
|||||||
LD A,SYS_PAGE
|
LD A,SYS_PAGE
|
||||||
OUT (SLOT3),A
|
OUT (SLOT3),A
|
||||||
|
|
||||||
LD A,(RAMD_KEYS.G)
|
LD A,(SYS_PAGE.RAMD_KEYS.G)
|
||||||
LD H, high RAMD_FAT
|
LD H, high SYS_PAGE.RAMD_FAT
|
||||||
LD L,A
|
LD L,A
|
||||||
EX AF,AF'
|
EX AF,AF'
|
||||||
LD A,(HL)
|
LD A,(HL)
|
||||||
@ -888,7 +888,7 @@ NO_EXX:
|
|||||||
*/
|
*/
|
||||||
LD A,SYS_PAGE
|
LD A,SYS_PAGE
|
||||||
OUT (SLOT3),A
|
OUT (SLOT3),A
|
||||||
LD H, high RAMD_FAT
|
LD H, high SYS_PAGE.RAMD_FAT
|
||||||
LD A,(NEXT_SPRITE)
|
LD A,(NEXT_SPRITE)
|
||||||
LD L,A
|
LD L,A
|
||||||
LD L,(HL)
|
LD L,(HL)
|
||||||
@ -901,7 +901,7 @@ NO_EXX:
|
|||||||
LD (NEXT_SPRITE),A
|
LD (NEXT_SPRITE),A
|
||||||
INC A
|
INC A
|
||||||
RET NZ
|
RET NZ
|
||||||
LD A,(RAMD_KEYS.F)
|
LD A,(SYS_PAGE.RAMD_KEYS.F)
|
||||||
LD (IX+SPRITE_TBL.Slot),A
|
LD (IX+SPRITE_TBL.Slot),A
|
||||||
LD (IX+SPRITE_TBL.Slot+SPRITE_TBL),A
|
LD (IX+SPRITE_TBL.Slot+SPRITE_TBL),A
|
||||||
LD (IX+SPRITE_TBL.Slot+SPRITE_TBL*2),A
|
LD (IX+SPRITE_TBL.Slot+SPRITE_TBL*2),A
|
||||||
@ -1049,7 +1049,7 @@ L_DDX:
|
|||||||
AND A
|
AND A
|
||||||
JR NZ,NO_SNDP
|
JR NZ,NO_SNDP
|
||||||
|
|
||||||
LD H, high RAMD_FAT
|
LD H, high SYS_PAGE.RAMD_FAT
|
||||||
LD A,(SND_P)
|
LD A,(SND_P)
|
||||||
LD L,A
|
LD L,A
|
||||||
LD A,SYS_PAGE
|
LD A,SYS_PAGE
|
||||||
@ -1061,7 +1061,7 @@ L_DDX:
|
|||||||
LD (SND_A),HL
|
LD (SND_A),HL
|
||||||
|
|
||||||
JR NZ,NO_SNDP
|
JR NZ,NO_SNDP
|
||||||
LD A,(RAMD_KEYS.H)
|
LD A,(SYS_PAGE.RAMD_KEYS.H)
|
||||||
LD (SND_P),A
|
LD (SND_P),A
|
||||||
|
|
||||||
NO_SNDP:
|
NO_SNDP:
|
||||||
@ -1074,7 +1074,6 @@ NO_SNDP:
|
|||||||
POP HL
|
POP HL
|
||||||
LD A,(save_border)
|
LD A,(save_border)
|
||||||
OUT (BorderColor),A
|
OUT (BorderColor),A
|
||||||
|
|
||||||
POP AF
|
POP AF
|
||||||
EI
|
EI
|
||||||
RETI
|
RETI
|
||||||
@ -1128,7 +1127,7 @@ SND_A+*: ld hl,#4000
|
|||||||
CP #80
|
CP #80
|
||||||
JR C,NO_SNDP
|
JR C,NO_SNDP
|
||||||
|
|
||||||
LD H, high RAMD_FAT - #80
|
LD H, high SYS_PAGE.RAMD_FAT - #80
|
||||||
LD A,(SND_P)
|
LD A,(SND_P)
|
||||||
LD L,A
|
LD L,A
|
||||||
LD A,SYS_PAGE
|
LD A,SYS_PAGE
|
||||||
@ -1139,7 +1138,7 @@ SND_A+*: ld hl,#4000
|
|||||||
LD HL,#4000
|
LD HL,#4000
|
||||||
checkLastPage+*: cp 0
|
checkLastPage+*: cp 0
|
||||||
jp nz,1F
|
jp nz,1F
|
||||||
LD A,(RAMD_KEYS.H)
|
LD A,(SYS_PAGE.RAMD_KEYS.H)
|
||||||
LD (SND_P),A
|
LD (SND_P),A
|
||||||
ld hl,_lastPageMuzOffset
|
ld hl,_lastPageMuzOffset
|
||||||
1: LD (SND_A),HL
|
1: LD (SND_A),HL
|
||||||
@ -1226,7 +1225,7 @@ IM2_Proc:
|
|||||||
; NC --> A = 䨧.®¬¥à ¯®á«¥¤¥© áâà ¨æë ¡«®ª
|
; NC --> A = 䨧.®¬¥à ¯®á«¥¤¥© áâà ¨æë ¡«®ª
|
||||||
; CF --> å¥à ¥£® § ¥â, ®è¨¡ª ª ª ï-â®
|
; CF --> å¥à ¥£® § ¥â, ®è¨¡ª ª ª ï-â®
|
||||||
GetLastPageNumber:
|
GetLastPageNumber:
|
||||||
ld h, high RAMD_FAT
|
ld h, high SYS_PAGE.RAMD_FAT
|
||||||
inc a
|
inc a
|
||||||
ld l,a
|
ld l,a
|
||||||
|
|
||||||
@ -1284,7 +1283,13 @@ EXIT_TO_DSS:
|
|||||||
|
|
||||||
|
|
||||||
IF MODE_CBL && MUSIC_22khz
|
IF MODE_CBL && MUSIC_22khz
|
||||||
CALL MemHack.restore
|
1: CALL MemHack.restore
|
||||||
|
JR NC,1F
|
||||||
|
LD A,R
|
||||||
|
AND 7
|
||||||
|
OUT (BorderColor),A
|
||||||
|
JR 1B
|
||||||
|
1: ;
|
||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
|
|
||||||
@ -1488,80 +1493,83 @@ RMD_UNMAP:
|
|||||||
;---[ MemHack ]
|
;---[ MemHack ]
|
||||||
IF MODE_CBL && MUSIC_22khz
|
IF MODE_CBL && MUSIC_22khz
|
||||||
MemHack:
|
MemHack:
|
||||||
.free:
|
.free: LD A,ZX_RAM_ID
|
||||||
|
LD C,BIOS.FreeMem
|
||||||
|
JP ToBIOS
|
||||||
|
; IN A,(SLOT3)
|
||||||
|
; EX AF,AF'
|
||||||
|
; LD A,SYS_PAGE
|
||||||
|
; OUT (SLOT3),A
|
||||||
|
|
||||||
IN A,(SLOT3)
|
; LD HL,SYS_PAGE.RAMD_FAT
|
||||||
EX AF,AF'
|
; LD DE,.Buff
|
||||||
LD A,SYS_PAGE
|
; xor a
|
||||||
OUT (SLOT3),A
|
; ACC_SetBlockSize
|
||||||
|
; cp #10
|
||||||
|
; ACC_CopyBlock
|
||||||
|
; cp (hl)
|
||||||
|
; ld (de),a
|
||||||
|
; ACC_FillOneByte
|
||||||
|
; ld (hl),a
|
||||||
|
; ACC_Off
|
||||||
|
|
||||||
LD HL,RAMD_FAT
|
; LD DE,.Buff + #10
|
||||||
LD DE,.Buff
|
; LD L,DCP_PAGE ; #C240
|
||||||
xor a
|
; LD A,(HL)
|
||||||
ACC_SetBlockSize
|
; LD (DE),A
|
||||||
cp #10
|
; INC DE
|
||||||
ACC_CopyBlock
|
; LD (HL),#50 ; Video Page
|
||||||
cp (hl)
|
; INC L ; #C241
|
||||||
ld (de),a
|
|
||||||
ACC_FillOneByte
|
|
||||||
ld (hl),a
|
|
||||||
ACC_Off
|
|
||||||
|
|
||||||
LD DE,.Buff + #10
|
; xor a
|
||||||
LD L,DCP_PAGE ; #C240
|
; ACC_SetBlockSize
|
||||||
LD A,(HL)
|
; cp #07
|
||||||
LD (DE),A
|
; ACC_CopyBlock
|
||||||
INC DE
|
; cp (hl)
|
||||||
LD (HL),#50 ; Video Page
|
; ld (de),a
|
||||||
INC L ; #C241
|
; ACC_FillOneByte
|
||||||
|
; ld (hl),a
|
||||||
|
; ACC_Off
|
||||||
|
|
||||||
xor a
|
; EX AF,AF'
|
||||||
ACC_SetBlockSize
|
; OUT (SLOT3),A
|
||||||
cp #07
|
; RET
|
||||||
ACC_CopyBlock
|
|
||||||
cp (hl)
|
|
||||||
ld (de),a
|
|
||||||
ACC_FillOneByte
|
|
||||||
ld (hl),a
|
|
||||||
ACC_Off
|
|
||||||
|
|
||||||
EX AF,AF'
|
|
||||||
OUT (SLOT3),A
|
|
||||||
RET
|
|
||||||
|
|
||||||
.restore:
|
.restore:
|
||||||
IN A,(SLOT3)
|
LD BC,4*256 + BIOS.REINIT
|
||||||
EX AF,AF'
|
JP ToBIOS
|
||||||
LD A,SYS_PAGE
|
; IN A,(SLOT3)
|
||||||
OUT (SLOT3),A
|
; EX AF,AF'
|
||||||
|
; LD A,SYS_PAGE
|
||||||
|
; OUT (SLOT3),A
|
||||||
|
|
||||||
LD DE,RAMD_FAT
|
; LD DE,SYS_PAGE.RAMD_FAT
|
||||||
LD HL,.Buff
|
; LD HL,.Buff
|
||||||
|
|
||||||
ACC_SetBlockSize
|
; ACC_SetBlockSize
|
||||||
cp #10
|
; cp #10
|
||||||
ACC_CopyBlock
|
; ACC_CopyBlock
|
||||||
cp (hl)
|
; cp (hl)
|
||||||
ld (de),a
|
; ld (de),a
|
||||||
ACC_Off
|
; ACC_Off
|
||||||
|
|
||||||
LD HL,.Buff + #10
|
; LD HL,.Buff + #10
|
||||||
LD E,DCP_PAGE ; #C240
|
; LD E,DCP_PAGE ; #C240
|
||||||
LD A,(HL)
|
; LD A,(HL)
|
||||||
LD (DE),A
|
; LD (DE),A
|
||||||
INC HL
|
; INC HL
|
||||||
INC E
|
; INC E
|
||||||
|
|
||||||
ACC_SetBlockSize
|
; ACC_SetBlockSize
|
||||||
cp #7
|
; cp #7
|
||||||
ACC_CopyBlock
|
; ACC_CopyBlock
|
||||||
cp (hl)
|
; cp (hl)
|
||||||
ld (de),a
|
; ld (de),a
|
||||||
ACC_Off
|
; ACC_Off
|
||||||
|
|
||||||
EX AF,AF'
|
; EX AF,AF'
|
||||||
OUT (SLOT3),A
|
; OUT (SLOT3),A
|
||||||
RET
|
;RET
|
||||||
.Buff: BLOCK #10+1+7, #FF
|
.Buff: BLOCK #10+1+7, #FF
|
||||||
|
|
||||||
ENDIF
|
ENDIF
|
||||||
|
|||||||
@ -1 +1 @@
|
|||||||
Subproject commit 6e27011b6259b0256ce65d91a53ef1185223eafa
|
Subproject commit 21c7eb690adb62e35c41fdcda76dc3bf97f369b4
|
||||||
Loading…
Reference in New Issue
Block a user