pt3: use the auto-generation of volume tables code

saved 100 bytes, didn't really improve speed at all (at least if you
take into account table gen at the beginning)
This commit is contained in:
Vince Weaver 2019-05-22 15:37:00 -04:00
parent 843b3bd835
commit 25950bddee
5 changed files with 352 additions and 106 deletions

View File

@ -33,18 +33,18 @@ pt3_player.dsk: PT3_PLAYER HELLO
$(DOS33) -y pt3_player.dsk BSAVE -a 0x4000 ./music/ND.PT3
pt3_debug.dsk: PT3_DUMPER PT3_TIMER HELLO_DEBUG DUMP
pt3_debug.dsk: PT3_DUMPER PT3_TIMER PT3_TABLE_TEST HELLO_DEBUG DUMP
cp empty.dsk pt3_debug.dsk
$(DOS33) -y pt3_debug.dsk SAVE A HELLO_DEBUG HELLO
$(DOS33) -y pt3_debug.dsk SAVE A DUMP
$(DOS33) -y pt3_debug.dsk BSAVE -a 0x1000 PT3_DUMPER
$(DOS33) -y pt3_debug.dsk BSAVE -a 0x1000 PT3_PLAYER
$(DOS33) -y pt3_debug.dsk BSAVE -a 0x1000 PT3_TIMER
$(DOS33) -y pt3_debug.dsk BSAVE -a 0x1000 PT3_TABLE_TEST
$(DOS33) -y pt3_debug.dsk BSAVE -a 0x4000 ./music/SR.PT3
$(DOS33) -y pt3_debug.dsk BSAVE -a 0x4000 ./music/EA.PT3
$(DOS33) -y pt3_debug.dsk BSAVE -a 0x4000 ./music/VC.PT3
$(DOS33) -y pt3_debug.dsk BSAVE -a 0x4000 ./music/OS.PT3
# $(DOS33) -y pt3_debug.dsk BSAVE -a 0x4000 ./music/BA.PT3
$(DOS33) -y pt3_debug.dsk BSAVE -a 0x4000 ./music/CR.PT3
$(DOS33) -y pt3_debug.dsk BSAVE -a 0x4000 ./music/DF.PT3
$(DOS33) -y pt3_debug.dsk BSAVE -a 0x4000 ./music/F4.PT3
@ -96,9 +96,19 @@ PT3_DUMPER: pt3_dumper.o
pt3_dumper.o: pt3_dumper.s \
gr_fast_clear.s pt3_lib.s interrupt_handler.s zp.inc
ca65 -o pt3_dumper.o pt3_dumper.s -l pt3_dumper.lst
#
PT3_TABLE_TEST: pt3_table_test.o
ld65 -o PT3_TABLE_TEST pt3_table_test.o -C ../linker_scripts/apple2_1000.inc
pt3_table_test.o: pt3_table_test.s \
gr_fast_clear.s pt3_lib.s interrupt_handler.s zp.inc
ca65 -o pt3_table_test.o pt3_table_test.s -l pt3_table_test.lst
#
clean:
rm -f *~ TITLE.GR *.o *.lst \
PT3_PLAYER PT3_TIMER PT3_DUMPER FIRE
PT3_PLAYER PT3_TIMER PT3_DUMPER PT3_TABLE_TEST

View File

@ -14,20 +14,15 @@ Code Optimization
3871 137015 7637 1793
Size=pt3lib_end - note_a = 1787 - A38
Size=pt3lib_end - note_a
Decoder Type size ZP use decode total CPU overhead
Decoder Type size ZP use raw decode total CPU overhead
-------------------------------------------------------------
Original 3407 22B 31s 171s 18%
Original 3407 22B 1F.22 31s 171s 18%
VolTableGen 3302 22B 20.0E 32s 171s 18%
Song: "Outer Space"
~~~~~~~~~~~~~~~~~~~
pt3 size
Times: Validated
BH.PT3: 10.0B 16 1:33 93 17.2%

View File

@ -447,6 +447,20 @@ pt3_init_song:
lda #1 ; 2
jsr load_sample ; 6+86
;=======================
; load default speed
; FIXME: change to self-modifying code
lda PT3_LOC+PT3_SPEED ; 4
sta pt3_speed ; 4
;=======================
; load loop
; FIXME: change to self-modifying code
lda PT3_LOC+PT3_LOOP ; 4
sta pt3_loop ; 4
;======================
; calculate version
@ -464,18 +478,17 @@ pt3_init_song:
not_ascii_number:
;=======================
; load default speed
; FIXME: change to self-modifying code
; Pick which volume number, based on version
lda PT3_LOC+PT3_SPEED ; 4
sta pt3_speed ; 4
; if (PlParams.PT3.PT3_Version <= 4)
;=======================
; load loop
; FIXME: change to self-modifying code
lda pt3_version
cmp #5
lda PT3_LOC+PT3_LOOP ; 4
sta pt3_loop ; 4
; carry clear = 3.3/3.4 table
; carry set = 3.5 table
jsr VolTableCreator
rts ; 6
@ -766,44 +779,22 @@ write_clamp_amplitude:
done_clamp_amplitude:
;=======================
; get actual output from table
; if (PlParams.PT3.PT3_Version <= 4)
lda pt3_version
cmp #5
bcs other_table ; bge
; We generate the proper table at runtime now
; so always in Volume Table
; a->amplitude = PT3VolumeTable_33_34[a->volume][a->amplitude];
; a->amplitude = PT3VolumeTable_35[a->volume][a->amplitude];
lda note_a+NOTE_VOLUME,X
asl
asl
asl
asl
ora note_a+NOTE_AMPLITUDE,X
lda note_a+NOTE_VOLUME,X ; 4+
asl ; 2
asl ; 2
asl ; 2
asl ; 2
ora note_a+NOTE_AMPLITUDE,X ; 4+
tay
lda PT3VolumeTable_33_34,Y
sta note_a+NOTE_AMPLITUDE,X ; a->amplitude = PT3VolumeTable_35[a->volume][a->amplitude];
tay ; 2
lda VolumeTable,Y ; 4+
sta note_a+NOTE_AMPLITUDE,X ; 5
jmp done_table
other_table:
; else {
lda note_a+NOTE_VOLUME,X
asl
asl
asl
asl
ora note_a+NOTE_AMPLITUDE,X
tay
lda PT3VolumeTable_35,Y
sta note_a+NOTE_AMPLITUDE,X ; a->amplitude = PT3VolumeTable_35[a->volume][a->amplitude];
; }
done_table:
@ -2211,54 +2202,55 @@ PT3NoteTable_ASM_34_35_low:
.byte $15,$14,$12,$11,$10,$0F,$0E,$0D
PT3VolumeTable_33_34:
.byte $0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0
.byte $0,$0,$0,$0,$0,$0,$0,$0,$1,$1,$1,$1,$1,$1,$1,$1
.byte $0,$0,$0,$0,$0,$0,$1,$1,$1,$1,$1,$2,$2,$2,$2,$2
.byte $0,$0,$0,$0,$1,$1,$1,$1,$2,$2,$2,$2,$3,$3,$3,$3
.byte $0,$0,$0,$0,$1,$1,$1,$2,$2,$2,$3,$3,$3,$4,$4,$4
.byte $0,$0,$0,$1,$1,$1,$2,$2,$3,$3,$3,$4,$4,$4,$5,$5
.byte $0,$0,$0,$1,$1,$2,$2,$3,$3,$3,$4,$4,$5,$5,$6,$6
.byte $0,$0,$1,$1,$2,$2,$3,$3,$4,$4,$5,$5,$6,$6,$7,$7
.byte $0,$0,$1,$1,$2,$2,$3,$3,$4,$5,$5,$6,$6,$7,$7,$8
.byte $0,$0,$1,$1,$2,$3,$3,$4,$5,$5,$6,$6,$7,$8,$8,$9
.byte $0,$0,$1,$2,$2,$3,$4,$4,$5,$6,$6,$7,$8,$8,$9,$A
.byte $0,$0,$1,$2,$3,$3,$4,$5,$6,$6,$7,$8,$9,$9,$A,$B
.byte $0,$0,$1,$2,$3,$4,$4,$5,$6,$7,$8,$8,$9,$A,$B,$C
.byte $0,$0,$1,$2,$3,$4,$5,$6,$7,$7,$8,$9,$A,$B,$C,$D
.byte $0,$0,$1,$2,$3,$4,$5,$6,$7,$8,$9,$A,$B,$C,$D,$E
.byte $0,$1,$2,$3,$4,$5,$6,$7,$8,$9,$A,$B,$C,$D,$E,$F
;PT3VolumeTable_33_34:
;.byte $0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0
;.byte $0,$0,$0,$0,$0,$0,$0,$0,$1,$1,$1,$1,$1,$1,$1,$1
;.byte $0,$0,$0,$0,$0,$0,$1,$1,$1,$1,$1,$2,$2,$2,$2,$2
;.byte $0,$0,$0,$0,$1,$1,$1,$1,$2,$2,$2,$2,$3,$3,$3,$3
;.byte $0,$0,$0,$0,$1,$1,$1,$2,$2,$2,$3,$3,$3,$4,$4,$4
;.byte $0,$0,$0,$1,$1,$1,$2,$2,$3,$3,$3,$4,$4,$4,$5,$5
;.byte $0,$0,$0,$1,$1,$2,$2,$3,$3,$3,$4,$4,$5,$5,$6,$6
;.byte $0,$0,$1,$1,$2,$2,$3,$3,$4,$4,$5,$5,$6,$6,$7,$7
;.byte $0,$0,$1,$1,$2,$2,$3,$3,$4,$5,$5,$6,$6,$7,$7,$8
;.byte $0,$0,$1,$1,$2,$3,$3,$4,$5,$5,$6,$6,$7,$8,$8,$9
;.byte $0,$0,$1,$2,$2,$3,$4,$4,$5,$6,$6,$7,$8,$8,$9,$A
;.byte $0,$0,$1,$2,$3,$3,$4,$5,$6,$6,$7,$8,$9,$9,$A,$B
;.byte $0,$0,$1,$2,$3,$4,$4,$5,$6,$7,$8,$8,$9,$A,$B,$C
;.byte $0,$0,$1,$2,$3,$4,$5,$6,$7,$7,$8,$9,$A,$B,$C,$D
;.byte $0,$0,$1,$2,$3,$4,$5,$6,$7,$8,$9,$A,$B,$C,$D,$E
;.byte $0,$1,$2,$3,$4,$5,$6,$7,$8,$9,$A,$B,$C,$D,$E,$F
PT3VolumeTable_35:
.byte $0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0
.byte $0,$0,$0,$0,$0,$0,$0,$0,$1,$1,$1,$1,$1,$1,$1,$1
.byte $0,$0,$0,$0,$1,$1,$1,$1,$1,$1,$1,$1,$2,$2,$2,$2
.byte $0,$0,$0,$1,$1,$1,$1,$1,$2,$2,$2,$2,$2,$3,$3,$3
.byte $0,$0,$1,$1,$1,$1,$2,$2,$2,$2,$3,$3,$3,$3,$4,$4
.byte $0,$0,$1,$1,$1,$2,$2,$2,$3,$3,$3,$4,$4,$4,$5,$5
.byte $0,$0,$1,$1,$2,$2,$2,$3,$3,$4,$4,$4,$5,$5,$6,$6
.byte $0,$0,$1,$1,$2,$2,$3,$3,$4,$4,$5,$5,$6,$6,$7,$7
.byte $0,$1,$1,$2,$2,$3,$3,$4,$4,$5,$5,$6,$6,$7,$7,$8
.byte $0,$1,$1,$2,$2,$3,$4,$4,$5,$5,$6,$7,$7,$8,$8,$9
.byte $0,$1,$1,$2,$3,$3,$4,$5,$5,$6,$7,$7,$8,$9,$9,$A
.byte $0,$1,$1,$2,$3,$4,$4,$5,$6,$7,$7,$8,$9,$A,$A,$B
.byte $0,$1,$2,$2,$3,$4,$5,$6,$6,$7,$8,$9,$A,$A,$B,$C
.byte $0,$1,$2,$3,$3,$4,$5,$6,$7,$8,$9,$A,$A,$B,$C,$D
.byte $0,$1,$2,$3,$4,$5,$6,$7,$7,$8,$9,$A,$B,$C,$D,$E
.byte $0,$1,$2,$3,$4,$5,$6,$7,$8,$9,$A,$B,$C,$D,$E,$F
pt3_lib_end:
;PT3VolumeTable_35:
;.byte $0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0
;.byte $0,$0,$0,$0,$0,$0,$0,$0,$1,$1,$1,$1,$1,$1,$1,$1
;.byte $0,$0,$0,$0,$1,$1,$1,$1,$1,$1,$1,$1,$2,$2,$2,$2
;.byte $0,$0,$0,$1,$1,$1,$1,$1,$2,$2,$2,$2,$2,$3,$3,$3
;.byte $0,$0,$1,$1,$1,$1,$2,$2,$2,$2,$3,$3,$3,$3,$4,$4
;.byte $0,$0,$1,$1,$1,$2,$2,$2,$3,$3,$3,$4,$4,$4,$5,$5
;.byte $0,$0,$1,$1,$2,$2,$2,$3,$3,$4,$4,$4,$5,$5,$6,$6
;.byte $0,$0,$1,$1,$2,$2,$3,$3,$4,$4,$5,$5,$6,$6,$7,$7
;.byte $0,$1,$1,$2,$2,$3,$3,$4,$4,$5,$5,$6,$6,$7,$7,$8
;.byte $0,$1,$1,$2,$2,$3,$4,$4,$5,$5,$6,$7,$7,$8,$8,$9
;.byte $0,$1,$1,$2,$3,$3,$4,$5,$5,$6,$7,$7,$8,$9,$9,$A
;.byte $0,$1,$1,$2,$3,$4,$4,$5,$6,$7,$7,$8,$9,$A,$A,$B
;.byte $0,$1,$2,$2,$3,$4,$5,$6,$6,$7,$8,$9,$A,$A,$B,$C
;.byte $0,$1,$2,$3,$3,$4,$5,$6,$7,$8,$9,$A,$A,$B,$C,$D
;.byte $0,$1,$2,$3,$4,$5,$6,$7,$7,$8,$9,$A,$B,$C,$D,$E
;.byte $0,$1,$2,$3,$4,$5,$6,$7,$8,$9,$A,$B,$C,$D,$E,$F
; VolTableCreator
; based on z80 code by Ivan Roshin
; Called with carry==0 for 3.3/3.4 table
; Called with carry==1 for 3.5 table
;==========================
; VolTableCreator
;==========================
; Creates the appropriate volume table
; based on z80 code by Ivan Roshin ZXAYHOBETA/VTII10bG.asm
;
; 177f-1932 = 435 bytes, not that much better than 512 of lookup
; Called with carry==0 for 3.3/3.4 table
; Called with carry==1 for 3.5 table
; 177f-1932 = 435 bytes, not that much better than 512 of lookup
z80_h: .byte $0
@ -2267,14 +2259,24 @@ z80_d: .byte $0
z80_e: .byte $0
VolTableCreator:
; Init initial variables
lda #$0
sta z80_h
sta z80_d
sta z80_e
lda #$11
sta z80_l
; Set up self modify
lda #$2A ; ROL for self-modify
bcc vol_type1
bcs vol_type_35
vol_type_33:
; For older table, we set initial conditions a bit
; different
lda #$10
sta z80_l ; l=16
@ -2282,8 +2284,8 @@ VolTableCreator:
lda #$ea ; NOP for self modify
vol_type1:
sta vol_smc
vol_type_35:
sta vol_smc ; set the self-modify code
ldy #16 ; skip first row, all zeros
ldx #16 ; c=16
@ -2315,7 +2317,7 @@ vol_outer:
sta z80_d
; sbc hl,hl
bcc vol_ffs
bcs vol_ffs
vol_zeros:
lda #0
beq vol_write
@ -2380,3 +2382,6 @@ vol_done:
VolumeTable:
.res 256,0
pt3_lib_end:

239
pt3_player/pt3_table_test.s Normal file
View File

@ -0,0 +1,239 @@
; PT3 Table generation test
; for debug purposes prints the raw values to screen
; we re-route this to the printer in Slot #1 for debugging
.include "zp.inc"
PT3_LOC = $4000
;=============================
; Setup
;=============================
pt3_setup:
jsr HOME
jsr TEXT
; init variables
lda #0
sta DRAW_PAGE
sta DONE_PLAYING
sta WHICH_FILE
;============================
; Conduct tests
;============================
;================================
; Test 3.5 table
;================================
sec ; 1 = 3.5 Table
jsr VolTableCreator
ldy #0
print_loop_1:
tya
and #$f
bne print_loop_1_no_cr
jsr CROUT
print_loop_1_no_cr:
lda VolumeTable,Y
jsr PRHEX
lda #' '+$80
jsr COUT
iny
bne print_loop_1
ldy #0
test_loop1:
lda VolumeTable,Y
cmp Test_PT3VolumeTable_35,Y
bne error
iny
bne test_loop1
jsr CROUT
lda #'G'-'@'
jsr COUT
jsr CROUT
jsr CROUT
;================================
; Test 3.4 table
;================================
clc ; 0 = 3.4 Table
jsr VolTableCreator
ldy #0
print_loop_2:
tya
and #$f
bne print_loop_2_no_cr
jsr CROUT
print_loop_2_no_cr:
lda VolumeTable,Y
jsr PRHEX
lda #' '+$80
jsr COUT
iny
bne print_loop_2
ldy #0
test_loop2:
lda VolumeTable,Y
cmp Test_PT3VolumeTable_33_34,Y
bne error
iny
bne test_loop2
jsr CROUT
lda #'G'-'@'
jsr COUT
jsr CROUT
jsr CROUT
;============================
; Loop forever
;============================
main_loop:
jmp main_loop
;============================
; Error
;============================
error:
jsr CROUT
tya
jsr PRBYTE
lda #' '+$80
jsr COUT
lda #'E'
jsr COUT
jsr CROUT
jmp main_loop
;=========
;routines
;=========
.include "pt3_lib.s"
; Table #1 of Pro Tracker 3.3x - 3.5x
Test_PT3NoteTable_ST_high:
.byte $0E,$0E,$0D,$0C,$0B,$0B,$0A,$09
.byte $09,$08,$08,$07,$07,$07,$06,$06
.byte $05,$05,$05,$04,$04,$04,$04,$03
.byte $03,$03,$03,$03,$02,$02,$02,$02
.byte $02,$02,$02,$01,$01,$01,$01,$01
.byte $01,$01,$01,$01,$01,$01,$01,$00
.byte $00,$00,$00,$00,$00,$00,$00,$00
.byte $00,$00,$00,$00,$00,$00,$00,$00
.byte $00,$00,$00,$00,$00,$00,$00,$00
.byte $00,$00,$00,$00,$00,$00,$00,$00
.byte $00,$00,$00,$00,$00,$00,$00,$00
.byte $00,$00,$00,$00,$00,$00,$00,$00
Test_PT3NoteTable_ST_low:
.byte $F8,$10,$60,$80,$D8,$28,$88,$F0
.byte $60,$E0,$58,$E0,$7C,$08,$B0,$40
.byte $EC,$94,$44,$F8,$B0,$70,$2C,$FD
.byte $BE,$84,$58,$20,$F6,$CA,$A2,$7C
.byte $58,$38,$16,$F8,$DF,$C2,$AC,$90
.byte $7B,$65,$51,$3E,$2C,$1C,$0A,$FC
.byte $EF,$E1,$D6,$C8,$BD,$B2,$A8,$9F
.byte $96,$8E,$85,$7E,$77,$70,$6B,$64
.byte $5E,$59,$54,$4F,$4B,$47,$42,$3F
.byte $3B,$38,$35,$32,$2F,$2C,$2A,$27
.byte $25,$23,$21,$1F,$1D,$1C,$1A,$19
.byte $17,$16,$15,$13,$12,$11,$10,$0F
; Table #2 of Pro Tracker 3.4x - 3.5x
Test_PT3NoteTable_ASM_34_35_high:
.byte $0D,$0C,$0B,$0A,$0A,$09,$09,$08
.byte $08,$07,$07,$06,$06,$06,$05,$05
.byte $05,$04,$04,$04,$04,$03,$03,$03
.byte $03,$03,$02,$02,$02,$02,$02,$02
.byte $02,$01,$01,$01,$01,$01,$01,$01
.byte $01,$01,$01,$01,$01,$00,$00,$00
.byte $00,$00,$00,$00,$00,$00,$00,$00
.byte $00,$00,$00,$00,$00,$00,$00,$00
.byte $00,$00,$00,$00,$00,$00,$00,$00
.byte $00,$00,$00,$00,$00,$00,$00,$00
.byte $00,$00,$00,$00,$00,$00,$00,$00
.byte $00,$00,$00,$00,$00,$00,$00,$00
Test_PT3NoteTable_ASM_34_35_low:
.byte $10,$55,$A4,$FC,$5F,$CA,$3D,$B8
.byte $3B,$C5,$55,$EC,$88,$2A,$D2,$7E
.byte $2F,$E5,$9E,$5C,$1D,$E2,$AB,$76
.byte $44,$15,$E9,$BF,$98,$72,$4F,$2E
.byte $0F,$F1,$D5,$BB,$A2,$8B,$74,$60
.byte $4C,$39,$28,$17,$07,$F9,$EB,$DD
.byte $D1,$C5,$BA,$B0,$A6,$9D,$94,$8C
.byte $84,$7C,$75,$6F,$69,$63,$5D,$58
.byte $53,$4E,$4A,$46,$42,$3E,$3B,$37
.byte $34,$31,$2F,$2C,$29,$27,$25,$23
.byte $21,$1F,$1D,$1C,$1A,$19,$17,$16
.byte $15,$14,$12,$11,$10,$0F,$0E,$0D
Test_PT3VolumeTable_33_34:
.byte $0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0
.byte $0,$0,$0,$0,$0,$0,$0,$0,$1,$1,$1,$1,$1,$1,$1,$1
.byte $0,$0,$0,$0,$0,$0,$1,$1,$1,$1,$1,$2,$2,$2,$2,$2
.byte $0,$0,$0,$0,$1,$1,$1,$1,$2,$2,$2,$2,$3,$3,$3,$3
.byte $0,$0,$0,$0,$1,$1,$1,$2,$2,$2,$3,$3,$3,$4,$4,$4
.byte $0,$0,$0,$1,$1,$1,$2,$2,$3,$3,$3,$4,$4,$4,$5,$5
.byte $0,$0,$0,$1,$1,$2,$2,$3,$3,$3,$4,$4,$5,$5,$6,$6
.byte $0,$0,$1,$1,$2,$2,$3,$3,$4,$4,$5,$5,$6,$6,$7,$7
.byte $0,$0,$1,$1,$2,$2,$3,$3,$4,$5,$5,$6,$6,$7,$7,$8
.byte $0,$0,$1,$1,$2,$3,$3,$4,$5,$5,$6,$6,$7,$8,$8,$9
.byte $0,$0,$1,$2,$2,$3,$4,$4,$5,$6,$6,$7,$8,$8,$9,$A
.byte $0,$0,$1,$2,$3,$3,$4,$5,$6,$6,$7,$8,$9,$9,$A,$B
.byte $0,$0,$1,$2,$3,$4,$4,$5,$6,$7,$8,$8,$9,$A,$B,$C
.byte $0,$0,$1,$2,$3,$4,$5,$6,$7,$7,$8,$9,$A,$B,$C,$D
.byte $0,$0,$1,$2,$3,$4,$5,$6,$7,$8,$9,$A,$B,$C,$D,$E
.byte $0,$1,$2,$3,$4,$5,$6,$7,$8,$9,$A,$B,$C,$D,$E,$F
Test_PT3VolumeTable_35:
.byte $0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0
.byte $0,$0,$0,$0,$0,$0,$0,$0,$1,$1,$1,$1,$1,$1,$1,$1
.byte $0,$0,$0,$0,$1,$1,$1,$1,$1,$1,$1,$1,$2,$2,$2,$2
.byte $0,$0,$0,$1,$1,$1,$1,$1,$2,$2,$2,$2,$2,$3,$3,$3
.byte $0,$0,$1,$1,$1,$1,$2,$2,$2,$2,$3,$3,$3,$3,$4,$4
.byte $0,$0,$1,$1,$1,$2,$2,$2,$3,$3,$3,$4,$4,$4,$5,$5
.byte $0,$0,$1,$1,$2,$2,$2,$3,$3,$4,$4,$4,$5,$5,$6,$6
.byte $0,$0,$1,$1,$2,$2,$3,$3,$4,$4,$5,$5,$6,$6,$7,$7
.byte $0,$1,$1,$2,$2,$3,$3,$4,$4,$5,$5,$6,$6,$7,$7,$8
.byte $0,$1,$1,$2,$2,$3,$4,$4,$5,$5,$6,$7,$7,$8,$8,$9
.byte $0,$1,$1,$2,$3,$3,$4,$5,$5,$6,$7,$7,$8,$9,$9,$A
.byte $0,$1,$1,$2,$3,$4,$4,$5,$6,$7,$7,$8,$9,$A,$A,$B
.byte $0,$1,$2,$2,$3,$4,$5,$6,$6,$7,$8,$9,$A,$A,$B,$C
.byte $0,$1,$2,$3,$3,$4,$5,$6,$7,$8,$9,$A,$A,$B,$C,$D
.byte $0,$1,$2,$3,$4,$5,$6,$7,$7,$8,$9,$A,$B,$C,$D,$E
.byte $0,$1,$2,$3,$4,$5,$6,$7,$8,$9,$A,$B,$C,$D,$E,$F

View File

@ -271,10 +271,7 @@ done_decrement:
song_list:
.asciiz "DF.PT3"
.include "song_list.inc"
.asciiz "SR.PT3"
;=========
;routines