mirror of
https://github.com/Tolik-Trek/MK.DEMO.git
synced 2026-06-15 17:41:42 +03:00
...
This commit is contained in:
parent
86e658d970
commit
4e79de923d
118
MK_DEMO.ASM
118
MK_DEMO.ASM
@ -8,13 +8,13 @@
|
|||||||
DEFINE MUSIC_22khz 1
|
DEFINE MUSIC_22khz 1
|
||||||
ENDIF
|
ENDIF
|
||||||
IF MUSIC_22khz
|
IF MUSIC_22khz
|
||||||
; ; #5944x128 blocks for play
|
; #5944x128 blocks for play
|
||||||
DEFINE _memPagesForMuz 179
|
DEFINE _memPagesForMuz 179
|
||||||
DEFINE _ramDiskNumForMuz 3
|
DEFINE _ramDiskNumForMuz 3
|
||||||
DEFINE _lastPageMuzOffset #5E00
|
DEFINE _lastPageMuzOffset #5E00
|
||||||
|
|
||||||
ELSE
|
ELSE
|
||||||
DEFINE _memPagesForMuz 29
|
DEFINE _memPagesForMuz 29
|
||||||
|
|
||||||
ENDIF
|
ENDIF
|
||||||
;
|
;
|
||||||
@ -37,16 +37,16 @@ Slot BYTE #FF ; PAGE OF SPRITE
|
|||||||
Address WORD #C000 ; ADDRESS OF SPRITE
|
Address WORD #C000 ; ADDRESS OF SPRITE
|
||||||
Height BYTE #78 ; ¢ëá®â
|
Height BYTE #78 ; ¢ëá®â
|
||||||
Width BYTE #80 ; è¨à¨
|
Width BYTE #80 ; è¨à¨
|
||||||
X WORD 0000 ; ª®®à¤¨ â «¥¢®£® á⮫¡æ á¯à ©â íªà ¥ 0..(319-width)
|
X WORD 0000 ; ª®®à¤¨ â «¥¢®£® á⮫¡æ á¯à ©â íªà ¥ 0..(319-width)
|
||||||
Y BYTE #50 ; ª®®à¤¨ â ¢¥à奩 áâப¨ á¯à ©â íªà ¥ 0..(255-Height)
|
Y BYTE #50 ; ª®®à¤¨ â ¢¥à奩 áâப¨ á¯à ©â íªà ¥ 0..(255-Height)
|
||||||
Attribute BYTE #5C ; bit0 == 1 - ¬¥âª ¯®á«¥¤¥£® á¯à ©â ¢ ᯨ᪥, â ª íâ® £à ä¨ç¥áª ï áâà ¨æ á ¯®¤à¥¦¨¬ ¬¨ § ¯¨á¨
|
Attribute BYTE #5C ; bit0 == 1 - ¬¥âª ¯®á«¥¤¥£® á¯à ©â ¢ ᯨ᪥, â ª íâ® £à ä¨ç¥áª ï áâà ¨æ á ¯®¤à¥¦¨¬ ¬¨ § ¯¨á¨
|
||||||
ENDS
|
ENDS
|
||||||
|
|
||||||
;
|
;
|
||||||
;-------------------------[Standart EQU section]------------------------
|
;-------------------------[Standart EQU section]------------------------
|
||||||
org_addr EQU #8000+CLP_Buffer
|
org_addr EQU #8000+CLP_Buffer
|
||||||
code_addr EQU START
|
code_addr EQU START
|
||||||
stack_point EQU #BFFF
|
stack_point EQU #BFFF
|
||||||
program_start EQU START
|
program_start EQU START
|
||||||
Loader_length EQU 0
|
Loader_length EQU 0
|
||||||
;-----------------------------------------------------------------------
|
;-----------------------------------------------------------------------
|
||||||
@ -64,12 +64,12 @@ BackPlane:
|
|||||||
.Height EQU 223
|
.Height EQU 223
|
||||||
.Width EQU 1102
|
.Width EQU 1102
|
||||||
.OffsetY EQU 0
|
.OffsetY EQU 0
|
||||||
.Scroll.Step EQU 1
|
.Scroll.Step EQU 1
|
||||||
.Scroll.Width EQU 2*(BackPlane.Width/2 - ScreenSize.X/2)
|
.Scroll.Width EQU 2*(BackPlane.Width/2 - ScreenSize.X/2)
|
||||||
.PalSize EQU 64*4
|
.PalSize EQU 64*4
|
||||||
.PalOffset EQU 0*4
|
.PalOffset EQU 0*4
|
||||||
.RGBoffset EQU 0 ; or #436 if with BMP header and palette
|
.RGBoffset EQU 0 ; or #436 if with BMP header and palette
|
||||||
.FIllColorNum EQU 4 ; ®¬¥à 梥⠢ ¯ «¨âॠª à⨪¨ ¤«ï § «¨¢ª¨ ᢥàåã ¨ ᨧã
|
.FIllColorNum EQU 4 ; ®¬¥à 梥⠢ ¯ «¨âॠª à⨪¨ ¤«ï § «¨¢ª¨ ᢥàåã ¨ ᨧã
|
||||||
.SizeBytes EQU BackPlane.Height * BackPlane.Width
|
.SizeBytes EQU BackPlane.Height * BackPlane.Width
|
||||||
.SizePages EQU BackPlane.SizeBytes/#4000 + (((BackPlane.SizeBytes mod #4000) != 0) * -1)
|
.SizePages EQU BackPlane.SizeBytes/#4000 + (((BackPlane.SizeBytes mod #4000) != 0) * -1)
|
||||||
|
|
||||||
@ -78,44 +78,40 @@ BackPlane:
|
|||||||
.Height EQU 200
|
.Height EQU 200
|
||||||
.Width EQU 520
|
.Width EQU 520
|
||||||
.OffsetY EQU 23
|
.OffsetY EQU 23
|
||||||
.Scroll.Step EQU 1
|
.Scroll.Step EQU 1
|
||||||
.Scroll.Width EQU 2*(BackPlane.Width/2 - ScreenSize.X/2)
|
.Scroll.Width EQU 2*(BackPlane.Width/2 - ScreenSize.X/2)
|
||||||
.PalSize EQU 64*4
|
.PalSize EQU 64*4
|
||||||
.PalOffset EQU 0*4
|
.PalOffset EQU 0*4
|
||||||
.RGBoffset EQU 0 ; or #436 if with BMP header and palette
|
.RGBoffset EQU 0 ; or #436 if with BMP header and palette
|
||||||
.FIllColorNum EQU 63 ; ®¬¥à 梥⠢ ¯ «¨âॠª à⨪¨ ¤«ï § «¨¢ª¨ ᢥàåã ¨ ᨧã
|
.FIllColorNum EQU 63 ; ®¬¥à 梥⠢ ¯ «¨âॠª à⨪¨ ¤«ï § «¨¢ª¨ ᢥàåã ¨ ᨧã
|
||||||
.SizeBytes EQU BackPlane.Height * BackPlane.Width
|
.SizeBytes EQU BackPlane.Height * BackPlane.Width
|
||||||
.SizePages EQU BackPlane.SizeBytes/#4000 + (((BackPlane.SizeBytes mod #4000) != 0) * -1)
|
.SizePages EQU BackPlane.SizeBytes/#4000 + (((BackPlane.SizeBytes mod #4000) != 0) * -1)
|
||||||
ENDIF
|
ENDIF
|
||||||
DISPLAY "Backplane size = ",/H,BackPlane.SizeBytes, ", pages - ",BackPlane.SizePages," (",#4000 * BackPlane.SizePages," bytes)"
|
DISPLAY "Backplane size = ",/H,BackPlane.SizeBytes, ", pages - ",BackPlane.SizePages," (",#4000 * BackPlane.SizePages," bytes)"
|
||||||
|
|
||||||
RaidenSprite:
|
RaidenSprite:
|
||||||
.PalOffset EQU 128*4
|
.PalOffset EQU 128*4
|
||||||
.PalSize EQU 64*4
|
.PalSize EQU 64*4
|
||||||
|
|
||||||
VARS EQU #9000
|
VARS EQU #9000
|
||||||
SPRITE_OLD2 EQU VARS
|
SPRITE_OLD2 EQU VARS
|
||||||
SPRITE_OLD1 EQU VARS+2
|
SPRITE_OLD1 EQU VARS+2
|
||||||
SPRITE_NEW EQU VARS+4
|
SPRITE_NEW EQU VARS+4
|
||||||
SPEED_Y EQU VARS+16
|
SPEED_Y EQU VARS+16
|
||||||
SPEED_X EQU VARS+17
|
SPEED_X EQU VARS+17
|
||||||
RAMD_1 EQU VARS+18
|
RAMD_1 EQU VARS+18
|
||||||
DAT_SPR0 EQU VARS+#100
|
DAT_SPR0 EQU VARS+#100
|
||||||
DAT_SPR1 EQU VARS+#200
|
DAT_SPR1 EQU VARS+#200
|
||||||
DAT_SPR2 EQU VARS+#300
|
DAT_SPR2 EQU VARS+#300
|
||||||
|
|
||||||
IM2_Handler EQU #88FF
|
IM2_Handler EQU #88FF
|
||||||
;-----------------------------------------------------------------------
|
;-----------------------------------------------------------------------
|
||||||
;
|
;
|
||||||
|
|
||||||
INCLUDE 'Shared_Includes/constants/EXE_Header.z80'
|
INCLUDE 'Shared_Includes/constants/EXE_Header.z80'
|
||||||
ORG org_addr
|
ORG org_addr
|
||||||
|
|
||||||
; ORG #100
|
START: ld c,Dss.GetVMod
|
||||||
; .PHASE #8000
|
|
||||||
|
|
||||||
START:
|
|
||||||
ld c,Dss.GetVMod
|
|
||||||
rst ToDSS
|
rst ToDSS
|
||||||
jr nc,1F
|
jr nc,1F
|
||||||
ld a,3 ; ¥á«¨ ®è¨¡ª , â® áâ ¢¨¬ ¤¥ä®«âë¥ § 票ï ०¨¬ ¨ ®¬¥à íªà
|
ld a,3 ; ¥á«¨ ®è¨¡ª , â® áâ ¢¨¬ ¤¥ä®«âë¥ § 票ï ०¨¬ ¨ ®¬¥à íªà
|
||||||
@ -348,8 +344,7 @@ NEXT_STEP:
|
|||||||
; LD C,#F3
|
; LD C,#F3
|
||||||
; RST ToBIOS
|
; RST ToBIOS
|
||||||
|
|
||||||
BEGIN:
|
BEGIN: DI
|
||||||
DI
|
|
||||||
|
|
||||||
LD SP,#BFFF
|
LD SP,#BFFF
|
||||||
|
|
||||||
@ -423,14 +418,14 @@ BEGIN:
|
|||||||
ld a,#9A
|
ld a,#9A
|
||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
ELSE ; [ 2 ] -----<
|
ELSE ; [ 2 ] -----<
|
||||||
IF MUSIC_22khz
|
IF MUSIC_22khz
|
||||||
ld a,#9B
|
ld a,#9B
|
||||||
ELSE
|
ELSE
|
||||||
ld a,#9A
|
ld a,#9A
|
||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
ENDIF ; [ . ] -----<
|
ENDIF ; [ . ] -----<
|
||||||
|
|
||||||
out (c),a
|
out (c),a
|
||||||
CALL MUTE_CBL
|
CALL MUTE_CBL
|
||||||
@ -478,11 +473,9 @@ LOOP_ALL:
|
|||||||
; IFN MODE_CBL : EI : HALT : DI : ENDIF
|
; IFN MODE_CBL : EI : HALT : DI : ENDIF
|
||||||
; IF MODE_CBL
|
; IF MODE_CBL
|
||||||
|
|
||||||
halt_loop_repeat:
|
halt_loop_repeat: HALT
|
||||||
HALT
|
|
||||||
halt_JP_address+1: JR halt_loop_repeat
|
halt_JP_address+1: JR halt_loop_repeat
|
||||||
halt_loop_exit:
|
halt_loop_exit:
|
||||||
|
|
||||||
; ENDIF
|
; ENDIF
|
||||||
in a,(RGMOD)
|
in a,(RGMOD)
|
||||||
xor 1
|
xor 1
|
||||||
@ -530,7 +523,6 @@ begin_loop:
|
|||||||
RET
|
RET
|
||||||
|
|
||||||
SPRITE_DATA:
|
SPRITE_DATA:
|
||||||
|
|
||||||
DB #FF ; PAGE_SPRITE
|
DB #FF ; PAGE_SPRITE
|
||||||
dw #C000 ; ADRESS SPRITE
|
dw #C000 ; ADRESS SPRITE
|
||||||
DB #78,#80 ; SIZE
|
DB #78,#80 ; SIZE
|
||||||
@ -641,7 +633,6 @@ sprite_2load_loop2:
|
|||||||
; ; WER_PLACE
|
; ; WER_PLACE
|
||||||
; ; ATRIBUTE
|
; ; ATRIBUTE
|
||||||
FON_LOAD:
|
FON_LOAD:
|
||||||
|
|
||||||
IN A,(SLOT0)
|
IN A,(SLOT0)
|
||||||
PUSH AF
|
PUSH AF
|
||||||
IN A,(SLOT1)
|
IN A,(SLOT1)
|
||||||
@ -717,7 +708,7 @@ FON_LOOP:
|
|||||||
OUT (C),B
|
OUT (C),B
|
||||||
|
|
||||||
LD C,SLOT3
|
LD C,SLOT3
|
||||||
OUT (C),L ; SLOT3 <-- SLOT0 <-- SYS_PAGE
|
OUT (C),L ; SLOT3 <-- SLOT0 <-- SYS_PAGE
|
||||||
|
|
||||||
LD C,SLOT0
|
LD C,SLOT0
|
||||||
LD H,2
|
LD H,2
|
||||||
@ -805,8 +796,7 @@ loop_all_1:
|
|||||||
JR NZ,NO_SCR1
|
JR NZ,NO_SCR1
|
||||||
LD BC,#4180
|
LD BC,#4180
|
||||||
NO_SCR1:
|
NO_SCR1:
|
||||||
|
LD L,(IX+SPRITE_TBL.X) ; X coordinate
|
||||||
LD L,(IX+SPRITE_TBL.X) ; X coordinate
|
|
||||||
LD H,(IX+SPRITE_TBL.X+1)
|
LD H,(IX+SPRITE_TBL.X+1)
|
||||||
|
|
||||||
add hl,bc
|
add hl,bc
|
||||||
@ -931,7 +921,7 @@ NEXT_SPRITE: db #FF
|
|||||||
; SND_P: DB #FF
|
; SND_P: DB #FF
|
||||||
|
|
||||||
;===============================================[v]
|
;===============================================[v]
|
||||||
IFN MODE_CBL
|
IFN MODE_CBL
|
||||||
;===============================================
|
;===============================================
|
||||||
/* ¤®¤¥« âì áâ àë© ¢ ਠ⠡¥§ ¯à¥àë¢ ¨©
|
/* ¤®¤¥« âì áâ àë© ¢ ਠ⠡¥§ ¯à¥àë¢ ¨©
|
||||||
; old
|
; old
|
||||||
@ -1016,7 +1006,6 @@ NO_LD_SND:
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
PlayMusic:
|
PlayMusic:
|
||||||
|
|
||||||
LD A,2
|
LD A,2
|
||||||
OUT (BorderColor),A
|
OUT (BorderColor),A
|
||||||
|
|
||||||
@ -1094,7 +1083,7 @@ NO_SNDP:
|
|||||||
RETI
|
RETI
|
||||||
|
|
||||||
;===============================================
|
;===============================================
|
||||||
ELSE
|
ELSE
|
||||||
;===============================================
|
;===============================================
|
||||||
;
|
;
|
||||||
;===============================================
|
;===============================================
|
||||||
@ -1107,7 +1096,7 @@ PlayMusic:
|
|||||||
push de
|
push de
|
||||||
push bc ; !TODO ®¯â¨¬¨§¨à®¢ âì
|
push bc ; !TODO ®¯â¨¬¨§¨à®¢ âì
|
||||||
|
|
||||||
ld a,halt_loop_repeat-halt_JP_address-1 ; repeat loop
|
ld a,halt_loop_repeat-halt_JP_address-1 ; repeat loop
|
||||||
ld (halt_JP_address),a
|
ld (halt_JP_address),a
|
||||||
|
|
||||||
IN A,(SLOT1)
|
IN A,(SLOT1)
|
||||||
@ -1682,30 +1671,3 @@ EXIT_MSG: DZ 'All done)))',13,10
|
|||||||
;
|
;
|
||||||
ASSERT IM2_Handler>$, "The code leaks into the IM2 byte address!"
|
ASSERT IM2_Handler>$, "The code leaks into the IM2 byte address!"
|
||||||
;
|
;
|
||||||
;
|
|
||||||
/*
|
|
||||||
|
|
||||||
EMM_FN7: ; ¯®«ãç¨âì á«¥¤ãîéãî áâà ¨æã ¡«®ª ¯® ¯à¥¤ë¤ã饬ã
|
|
||||||
LD A,page ; 䨧¨ç¥áª ï áâà ¨æ ¡«®ª
|
|
||||||
LD C,0C7h ; ®¬¥à äãªæ¨¨
|
|
||||||
CALL 3D13h ; NC -> A - á«¥¤ãîé ï 䨧¨ç¥áª ï áâà ¨æ ¡«®ª
|
|
||||||
; A=FF - ¨¤¨æ¨àã¥â ª®¥æ ¡«®ª
|
|
||||||
; CF -> ®è¨¡ª ®¬¥à áâà ¨æë
|
|
||||||
; ˆä®à¬ æ¨ï ® à á¯à¥¤¥«¥¨¨ ¯ ¬ï⨠åà ¨âáï ¢ ¢¨¤¥ RAM Allocation Table,
|
|
||||||
; ¯®å®¦¥© ¤¨áª®¢ë© FAT. <20>®í⮬ã 宦¤¥¨¥ 䨧¨ç¥áª®£® ®¬¥à á«¥¤ãî饩
|
|
||||||
; áâà ¨æë ¯® ¯à¥¤ë¤ã饬ã 䨧¨ç¥áª®¬ã ®¬¥à㠯நá室¨â § ç¨â¥«ì® ¡ëáâ॥,
|
|
||||||
; 祬 ¯®¨áª ¯® 㢥«¨ç¥®¬ã ¥¤¨¨æã «®£¨ç¥áª®¬ã ®¬¥àã.
|
|
||||||
|
|
||||||
LD A,page
|
|
||||||
D C,BIOS.GetMemPageNext
|
|
||||||
RST ToBIOS
|
|
||||||
|
|
||||||
EMM_FN4: ; ¯®«ãç¨âì 䨧¨ç¥áª¨© ®¬¥à áâà ¨æë ¨§ ¡«®ª
|
|
||||||
LD A,id_blk ; ¨¤¥â¨ä¨ª â®à ¡«®ª
|
|
||||||
LD B,page ; «®£¨ç¥áª ï áâà ¨æ ¢ ¡«®ª¥
|
|
||||||
LD C,0C4h ; ®¬¥à äãªæ¨¨
|
|
||||||
CALL 3D13h ; NC -> € - 䨧¨ç¥áª¨© ®¬¥à áâà ¨æë
|
|
||||||
; CF -> €=0 - ¥â â ª®£® ¡«®ª , A=FF - ª®¥æ ¡«®ª
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -1 +1 @@
|
|||||||
Subproject commit 21c7eb690adb62e35c41fdcda76dc3bf97f369b4
|
Subproject commit a6dee8e17ae12b251f306290793a56a6b0dd5ae3
|
||||||
Loading…
Reference in New Issue
Block a user