mirror of
https://github.com/deater/dos33fsprogs.git
synced 2024-10-24 23:25:28 +00:00
pt3: add early-pattern end code
also now display memory on HGR page0 while playing
This commit is contained in:
parent
e549d24cc8
commit
d2e3f7327a
@ -13,9 +13,10 @@ pt3_player.dsk: PT3_PLAYER PT3_DUMPER HELLO DUMP
|
|||||||
$(DOS33) -y pt3_player.dsk SAVE A HELLO
|
$(DOS33) -y pt3_player.dsk SAVE A HELLO
|
||||||
$(DOS33) -y pt3_player.dsk SAVE A DUMP
|
$(DOS33) -y pt3_player.dsk SAVE A DUMP
|
||||||
$(DOS33) -y pt3_player.dsk BSAVE -a 0x1000 PT3_DUMPER
|
$(DOS33) -y pt3_player.dsk BSAVE -a 0x1000 PT3_DUMPER
|
||||||
$(DOS33) -y pt3_player.dsk BSAVE -a 0x1000 PT3_PLAYER
|
$(DOS33) -y pt3_player.dsk BSAVE -a 0x2000 PT3_PLAYER
|
||||||
$(DOS33) -y pt3_player.dsk BSAVE -a 0x3000 EA.PT3
|
$(DOS33) -y pt3_player.dsk BSAVE -a 0x4000 EA.PT3
|
||||||
$(DOS33) -y pt3_player.dsk BSAVE -a 0x3000 VC.PT3
|
$(DOS33) -y pt3_player.dsk BSAVE -a 0x4000 VC.PT3
|
||||||
|
$(DOS33) -y pt3_player.dsk BSAVE -a 0x4000 SR.PT3
|
||||||
# $(DOS33) -y chiptune_player.dsk BSAVE -a 0x1c00 ./krw/CHRISTMAS.KRW
|
# $(DOS33) -y chiptune_player.dsk BSAVE -a 0x1c00 ./krw/CHRISTMAS.KRW
|
||||||
# $(DOS33) -y chiptune_player.dsk BSAVE -a 0x1c00 ./krw/CRMOROS.KRW
|
# $(DOS33) -y chiptune_player.dsk BSAVE -a 0x1c00 ./krw/CRMOROS.KRW
|
||||||
# $(DOS33) -y chiptune_player.dsk BSAVE -a 0x1c00 ./krw/DEATH2.KRW
|
# $(DOS33) -y chiptune_player.dsk BSAVE -a 0x1c00 ./krw/DEATH2.KRW
|
||||||
@ -42,7 +43,7 @@ DUMP: dump.bas
|
|||||||
../asoft_basic-utils/tokenize_asoft < dump.bas > DUMP
|
../asoft_basic-utils/tokenize_asoft < dump.bas > DUMP
|
||||||
|
|
||||||
PT3_PLAYER: pt3_player.o
|
PT3_PLAYER: pt3_player.o
|
||||||
ld65 -o PT3_PLAYER pt3_player.o -C ../linker_scripts/apple2_1000.inc
|
ld65 -o PT3_PLAYER pt3_player.o -C ../linker_scripts/apple2_2000.inc
|
||||||
|
|
||||||
pt3_player.o: pt3_player.s \
|
pt3_player.o: pt3_player.s \
|
||||||
gr_fast_clear.s pt3_lib.s interrupt_handler.s zp.inc
|
gr_fast_clear.s pt3_lib.s interrupt_handler.s zp.inc
|
||||||
|
@ -1,3 +1,6 @@
|
|||||||
10 PRINT CHR$(4);"PR#1"
|
10 HGR
|
||||||
20 PRINT CHR$(4);"BRUN PT3_DUMPER"
|
12 REM 1=green, 2=purple, 5=orange 6=blue
|
||||||
|
15 HCOLOR=2
|
||||||
|
20 FOR I=0 TO 160: HPLOT 0,I TO 279,I: NEXT I
|
||||||
|
30 PRINT CHR$(4);"BRUN PT3_PLAYER"
|
||||||
|
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
|
|
||||||
.include "zp.inc"
|
.include "zp.inc"
|
||||||
|
|
||||||
PT3_LOC = $3000
|
PT3_LOC = $4000
|
||||||
|
|
||||||
NUM_FILES EQU 15
|
NUM_FILES EQU 15
|
||||||
|
|
||||||
|
@ -22,7 +22,7 @@ NOTE_LEN=14
|
|||||||
NOTE_LEN_COUNT=15
|
NOTE_LEN_COUNT=15
|
||||||
NOTE_SPEC_COMMAND=16 ; is this one needed?
|
NOTE_SPEC_COMMAND=16 ; is this one needed?
|
||||||
NOTE_NEW_NOTE=17
|
NOTE_NEW_NOTE=17
|
||||||
NOTE_ALL_DONE=18
|
;NOTE_ALL_DONE=18
|
||||||
NOTE_ADDR_L=19
|
NOTE_ADDR_L=19
|
||||||
NOTE_ADDR_H=20
|
NOTE_ADDR_H=20
|
||||||
NOTE_ORNAMENT_POINTER_L=21
|
NOTE_ORNAMENT_POINTER_L=21
|
||||||
@ -210,9 +210,10 @@ pt3_envelope_type_old: .byte $0
|
|||||||
pt3_envelope_delay: .byte $0
|
pt3_envelope_delay: .byte $0
|
||||||
pt3_envelope_delay_orig:.byte $0
|
pt3_envelope_delay_orig:.byte $0
|
||||||
|
|
||||||
;pt3_music_len: .byte $0
|
|
||||||
pt3_mixer_value: .byte $0
|
pt3_mixer_value: .byte $0
|
||||||
|
|
||||||
|
pt3_pattern_done: .byte $0
|
||||||
|
|
||||||
temp_word_l: .byte $0
|
temp_word_l: .byte $0
|
||||||
temp_word_h: .byte $0
|
temp_word_h: .byte $0
|
||||||
|
|
||||||
@ -1009,9 +1010,11 @@ decode_case_0X:
|
|||||||
sta note_a+NOTE_LEN_COUNT,X ; len_count=0;
|
sta note_a+NOTE_LEN_COUNT,X ; len_count=0;
|
||||||
|
|
||||||
lda #1
|
lda #1
|
||||||
sta note_a+NOTE_ALL_DONE,X
|
|
||||||
sta decode_done
|
sta decode_done
|
||||||
|
|
||||||
|
; sta note_a+NOTE_ALL_DONE,X
|
||||||
|
dec pt3_pattern_done
|
||||||
|
|
||||||
jmp done_decode
|
jmp done_decode
|
||||||
|
|
||||||
decode_case_0X_not_zero:
|
decode_case_0X_not_zero:
|
||||||
@ -1667,11 +1670,15 @@ not_done:
|
|||||||
sta note_c+NOTE_ADDR_H
|
sta note_c+NOTE_ADDR_H
|
||||||
|
|
||||||
lda #0
|
lda #0
|
||||||
sta note_a+NOTE_ALL_DONE
|
|
||||||
sta note_b+NOTE_ALL_DONE
|
|
||||||
sta note_c+NOTE_ALL_DONE
|
|
||||||
|
|
||||||
sta pt3_noise_period
|
sta pt3_noise_period
|
||||||
|
; sta note_a+NOTE_ALL_DONE
|
||||||
|
; sta note_b+NOTE_ALL_DONE
|
||||||
|
; sta note_c+NOTE_ALL_DONE
|
||||||
|
|
||||||
|
lda #3 ; FIXME: num_channels
|
||||||
|
sta pt3_pattern_done
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
rts
|
rts
|
||||||
|
|
||||||
@ -1726,9 +1733,12 @@ next_line:
|
|||||||
|
|
||||||
inc current_line ; and increment line
|
inc current_line ; and increment line
|
||||||
lda current_line
|
lda current_line
|
||||||
; FIXME: not always 64
|
|
||||||
cmp #64 ; if not max, continue
|
lda pt3_pattern_done ; check if pattern done early
|
||||||
bne do_frame
|
beq next_pattern
|
||||||
|
|
||||||
|
cmp #64 ; always end at 64.
|
||||||
|
bne do_frame ; is this always needed?
|
||||||
|
|
||||||
next_pattern:
|
next_pattern:
|
||||||
lda #0 ; reset line to 0
|
lda #0 ; reset line to 0
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
.include "zp.inc"
|
.include "zp.inc"
|
||||||
|
|
||||||
PT3_LOC = $3000
|
PT3_LOC = $4000
|
||||||
|
|
||||||
UNPACK_BUFFER EQU $6000 ; $6000 - $9800, 14k, $3800
|
UNPACK_BUFFER EQU $6000 ; $6000 - $9800, 14k, $3800
|
||||||
NUM_FILES EQU 15
|
NUM_FILES EQU 15
|
||||||
@ -16,6 +16,14 @@ pt3_setup:
|
|||||||
jsr HOME
|
jsr HOME
|
||||||
jsr TEXT
|
jsr TEXT
|
||||||
|
|
||||||
|
bit HIRES
|
||||||
|
bit SET_GR
|
||||||
|
bit TEXTGR ; split text/graphics
|
||||||
|
|
||||||
|
; lda #$20
|
||||||
|
; sta HGR_PAGE
|
||||||
|
; jsr HCLR
|
||||||
|
|
||||||
; Init disk code
|
; Init disk code
|
||||||
|
|
||||||
jsr rts_init
|
jsr rts_init
|
||||||
|
@ -1,2 +1,2 @@
|
|||||||
.asciiz "EA.PT3"
|
.asciiz "SR.PT3"
|
||||||
|
|
||||||
|
@ -209,6 +209,9 @@ CROUT1 EQU $FD8B ;; send a RETURN and clear end of line
|
|||||||
PRBYTE EQU $FDDA
|
PRBYTE EQU $FDDA
|
||||||
PRHEX EQU $FDE3
|
PRHEX EQU $FDE3
|
||||||
|
|
||||||
|
;; Applesoft routines
|
||||||
|
HCLR EQU $F3F2
|
||||||
|
;HGR_PAGE EQU $E6
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user