mirror of
https://github.com/deater/dos33fsprogs.git
synced 2025-04-01 08:29:50 +00:00
d4: make it an actual tracker
This commit is contained in:
parent
716650fa38
commit
243abc4f10
@ -13,6 +13,7 @@ d4:
|
||||
|
||||
lda #0
|
||||
sta FRAME
|
||||
sta WHICH_TRACK
|
||||
|
||||
;===================
|
||||
; music Player Setup
|
||||
|
@ -14,6 +14,7 @@
|
||||
' ENDHEADER
|
||||
-------
|
||||
' 0
|
||||
track0:
|
||||
0 C 2-- G 5-- -----
|
||||
1 ----- ----- -----
|
||||
2 C 2-- ----- -----
|
||||
@ -79,6 +80,7 @@ F ----- ----- -----
|
||||
3E A#2-- ----- -----
|
||||
3F ----- ----- -----
|
||||
' 1
|
||||
track1:
|
||||
0 C 2-- G 5-- -----
|
||||
1 ----- ----- -----
|
||||
2 C 2-- ----- -----
|
||||
@ -144,6 +146,7 @@ F ----- ----- -----
|
||||
3E A#2-- ----- -----
|
||||
3F ----- ----- -----
|
||||
' 2
|
||||
track2:
|
||||
0 D#2-- D#6-- -----
|
||||
1 ----- ----- -----
|
||||
2 D#2-- ----- -----
|
||||
@ -209,6 +212,7 @@ F ----- ----- -----
|
||||
3E ----- ----- -----
|
||||
3F ----- ----- -----
|
||||
' 3
|
||||
track3:
|
||||
0 D#2-- D#4-- -----
|
||||
1 ----- ----- -----
|
||||
2 D#2-- ----- -----
|
||||
@ -274,6 +278,7 @@ F ----- ----- -----
|
||||
3E C 2-- ----- -----
|
||||
3F ----- ----- -----
|
||||
' 4
|
||||
track4:
|
||||
0 C 2-- ----- -----
|
||||
1 ----- ----- -----
|
||||
2 C 2-- ----- -----
|
||||
@ -338,5 +343,3 @@ F ----- ----- -----
|
||||
3D ----- ----- -----
|
||||
3E ----- F 5-- -----
|
||||
3F ----- ----- -----
|
||||
|
||||
|
||||
|
@ -32,7 +32,8 @@ set_notes_loop:
|
||||
; load next byte
|
||||
|
||||
ldy SONG_OFFSET
|
||||
lda tracker_song,Y
|
||||
track_smc:
|
||||
lda track4,Y
|
||||
|
||||
;==================
|
||||
; see if hit end
|
||||
@ -43,9 +44,22 @@ set_notes_loop:
|
||||
;====================================
|
||||
; if at end, loop back to beginning
|
||||
|
||||
asl ; reset song offset to 0
|
||||
inc WHICH_TRACK
|
||||
ldy WHICH_TRACK
|
||||
cpy #5
|
||||
bne no_wrap
|
||||
ldy #1
|
||||
sty WHICH_TRACK
|
||||
no_wrap:
|
||||
lda tracks_l,Y
|
||||
sta track_smc+1
|
||||
lda tracks_h,Y
|
||||
sta track_smc+2
|
||||
|
||||
lda #0
|
||||
sta SONG_OFFSET
|
||||
beq set_notes_loop
|
||||
|
||||
beq set_notes_loop ; bra
|
||||
|
||||
not_end:
|
||||
|
||||
@ -105,4 +119,10 @@ done_update_song:
|
||||
channel_a_volume:
|
||||
.byte 14,14,14,14,11,11,10,10
|
||||
|
||||
tracks_l:
|
||||
.byte <track4,<track0,<track1,<track2,<track3
|
||||
tracks_h:
|
||||
.byte >track4,>track0,>track1,>track2,>track3
|
||||
|
||||
|
||||
skip_data:
|
||||
|
@ -23,7 +23,7 @@ static int total_len=0;
|
||||
|
||||
unsigned short frequencies[]={
|
||||
//C C# D D# E F F# G G# A A# B
|
||||
0x7A3,0x735,0x6CD,0x66C,0x60F,0x5B8,0x566,0x518,0x4CF,0x48A,0x449,0x40B,
|
||||
0x7A3,0x735,0x6CD,0x66C,0x60F,0x5B8,0x566,0x518,0x4CF,0x48A,0x449,0x40B, //1
|
||||
0x3D1,0x39A,0x366,0x336,0x307,0x2DC,0x2B3,0x28C,0x267,0x245,0x224,0x205, //2
|
||||
0x1E8,0x1CD,0x1B3,0x19B,0x183,0x16E,0x159,0x146,0x133,0x122,0x112,0x102, //3
|
||||
0x0F4,0x0E6,0x0D9,0x0CD,0x0C1,0x0B7,0x0AC,0x0A3,0x099,0x091,0x089,0x081, //4
|
||||
@ -33,7 +33,6 @@ unsigned short frequencies[]={
|
||||
//0x00F,0x00E,0x00D,0x00C,0x00C,0x00B,0x00A,0x00A,0x009,0x009,0x008,0x008,
|
||||
};
|
||||
|
||||
// CLLNNNN
|
||||
|
||||
int note_to_ed(char note, int flat, int sharp, int octave) {
|
||||
|
||||
@ -399,6 +398,11 @@ printf("\n");
|
||||
if (string[0]=='\'') continue;
|
||||
if (string[0]=='-') continue;
|
||||
if (string[0]=='*') continue;
|
||||
if (string[0]=='t') {
|
||||
if (!first) printf(".byte $ff\n");
|
||||
printf("%s\n",string);
|
||||
continue;
|
||||
}
|
||||
|
||||
sp=0;
|
||||
|
||||
|
@ -29,4 +29,4 @@ HGR_SCALE = $E7
|
||||
|
||||
COUNT = $FB
|
||||
FRAME = $FC
|
||||
|
||||
WHICH_TRACK = $FD
|
||||
|
Loading…
x
Reference in New Issue
Block a user