PAL/NTSC version

This commit is contained in:
Pecusx
2024-08-25 12:18:11 +02:00
parent cedbfca387
commit 57248e8675
5 changed files with 44 additions and 8 deletions
+25 -8
View File
@@ -1,5 +1,5 @@
SCR_HEIGHT = 8 SCR_HEIGHT = 8
WORLD_LENGTH = 64 WORLD_LENGTH = 48
DIFF_LEVELS = 20 DIFF_LEVELS = 20
.IFNDEF ALONE .IFNDEF ALONE
.def ALONE = 1 ; standalone version .def ALONE = 1 ; standalone version
@@ -25,6 +25,7 @@ swap_table=$0600 ; table for swap bytes in left characters :)
.zpvar Hit .byte .zpvar Hit .byte
.zpvar Level .byte .zpvar Level .byte
.zpvar play_flag .byte .zpvar play_flag .byte
.zpvar NTSCounter .byte
;--------------------------------------------------- ;---------------------------------------------------
icl 'lib/ATARISYS.ASM' icl 'lib/ATARISYS.ASM'
icl 'lib/MACRO.ASM' icl 'lib/MACRO.ASM'
@@ -72,12 +73,12 @@ status_line_addr
:4 .byte SKIP8 :4 .byte SKIP8
.byte MODE2 .byte MODE2
.byte SKIP8,SKIP8 ; empty lines .byte SKIP8,SKIP8,SKIP8 ; empty lines
.rept SCR_HEIGHT, # .rept SCR_HEIGHT-1, #
.byte MODE2+LMS+SCH ; gr.0+LMS+HSCRL .byte MODE2+LMS+SCH ; gr.0+LMS+HSCRL
line:1_addr line:1_addr
.word screen+$100*# .word screen+$100*(#+1)
.endr .endr
.byte JVB .byte JVB
.word GameDL .word GameDL
@@ -400,18 +401,19 @@ SwapLoop
bpl @- bpl @-
rts rts
.endp .endp
;-----------------------------------------------
.proc ClearScreen .proc ClearScreen
ldy #44 ; visible screen len ldy #44 ; visible screen len
lda #0 lda #0
ClearLoop ClearLoop
sta screen+$0700,y ;sta screen+$0700,y
sta screen+$0600,y sta screen+$0600,y
sta screen+$0500,y sta screen+$0500,y
sta screen+$0400,y sta screen+$0400,y
sta screen+$0300,y sta screen+$0300,y
sta screen+$0200,y sta screen+$0200,y
sta screen+$0100,y sta screen+$0100,y
sta screen+$0000,y ;sta screen+$0000,y
dey dey
bne ClearLoop bne ClearLoop
rts rts
@@ -1324,6 +1326,7 @@ pressed
.proc PrepareMusicPlayer .proc PrepareMusicPlayer
jsr StopMusic jsr StopMusic
VMAIN VBLinterrupt,7 ; jsr SetVBL VMAIN VBLinterrupt,7 ; jsr SetVBL
mva #0 NTSCounter
rts rts
.endp .endp
.proc PlayInGameMusic .proc PlayInGameMusic
@@ -1348,9 +1351,23 @@ pressed
.endp .endp
.proc VBLinterrupt .proc VBLinterrupt
lda play_flag lda play_flag
beq @+ beq NoMusic
; music - PAL/NTSC check
lda PAL
and #%00001110
beq IsPAL
; NTSC ...
inc NTSCounter
lda NTSCounter
cmp #5
bne PlayMusic
mva #0 NTSCounter
beq NoMusic
PlayMusic
IsPAL
jsr PLAYER jsr PLAYER
@ pla NoMusic
pla
tay tay
pla pla
tax tax
BIN
View File
Binary file not shown.
+19
View File
@@ -8,6 +8,7 @@
.zpvar temp_b .byte .zpvar temp_b .byte
.zpvar temp_w2 .word .zpvar temp_w2 .word
.zpvar temp_w3 .word .zpvar temp_w3 .word
.zpvar NTSCounter .byte
;--------------------------------------------------- ;---------------------------------------------------
icl '../lib/ATARISYS.ASM' icl '../lib/ATARISYS.ASM'
icl '../lib/MACRO.ASM' icl '../lib/MACRO.ASM'
@@ -86,6 +87,9 @@ next_letter
leet_end leet_end
jsr StopMusic jsr StopMusic
jsr wait_for_releasing_keyz jsr wait_for_releasing_keyz
mva #0 dmactls ; dark screen
; and wait one frame :)
waitRTC
rts rts
@@ -152,6 +156,7 @@ leet_speeks_h
mwa #MUSIC_DATA_END song_end_ptr mwa #MUSIC_DATA_END song_end_ptr
jsr init_song jsr init_song
VMAIN VBLinterrupt,7 ; jsr SetVBL VMAIN VBLinterrupt,7 ; jsr SetVBL
mva #0 NTSCounter
rts rts
.endp .endp
.proc StopMusic .proc StopMusic
@@ -166,7 +171,21 @@ leet_speeks_h
rts rts
.endp .endp
.proc VBLinterrupt .proc VBLinterrupt
; music - PAL/NTSC check
lda PAL
and #%00001110
beq IsPAL
; NTSC ...
inc NTSCounter
lda NTSCounter
cmp #5
bne PlayMusic
mva #0 NTSCounter
beq NoMusic
PlayMusic
IsPAL
jsr PLAYER jsr PLAYER
NoMusic
jmp XITVBV jmp XITVBV
.endp .endp
leet_screen leet_screen
Binary file not shown.
BIN
View File
Binary file not shown.