mirror of
https://github.com/deater/dos33fsprogs.git
synced 2024-06-09 07:29:32 +00:00
d4: make it an actual tracker
This commit is contained in:
parent
716650fa38
commit
243abc4f10
|
@ -13,6 +13,7 @@ d4:
|
||||||
|
|
||||||
lda #0
|
lda #0
|
||||||
sta FRAME
|
sta FRAME
|
||||||
|
sta WHICH_TRACK
|
||||||
|
|
||||||
;===================
|
;===================
|
||||||
; music Player Setup
|
; music Player Setup
|
||||||
|
|
|
@ -14,6 +14,7 @@
|
||||||
' ENDHEADER
|
' ENDHEADER
|
||||||
-------
|
-------
|
||||||
' 0
|
' 0
|
||||||
|
track0:
|
||||||
0 C 2-- G 5-- -----
|
0 C 2-- G 5-- -----
|
||||||
1 ----- ----- -----
|
1 ----- ----- -----
|
||||||
2 C 2-- ----- -----
|
2 C 2-- ----- -----
|
||||||
|
@ -79,6 +80,7 @@ F ----- ----- -----
|
||||||
3E A#2-- ----- -----
|
3E A#2-- ----- -----
|
||||||
3F ----- ----- -----
|
3F ----- ----- -----
|
||||||
' 1
|
' 1
|
||||||
|
track1:
|
||||||
0 C 2-- G 5-- -----
|
0 C 2-- G 5-- -----
|
||||||
1 ----- ----- -----
|
1 ----- ----- -----
|
||||||
2 C 2-- ----- -----
|
2 C 2-- ----- -----
|
||||||
|
@ -144,6 +146,7 @@ F ----- ----- -----
|
||||||
3E A#2-- ----- -----
|
3E A#2-- ----- -----
|
||||||
3F ----- ----- -----
|
3F ----- ----- -----
|
||||||
' 2
|
' 2
|
||||||
|
track2:
|
||||||
0 D#2-- D#6-- -----
|
0 D#2-- D#6-- -----
|
||||||
1 ----- ----- -----
|
1 ----- ----- -----
|
||||||
2 D#2-- ----- -----
|
2 D#2-- ----- -----
|
||||||
|
@ -209,6 +212,7 @@ F ----- ----- -----
|
||||||
3E ----- ----- -----
|
3E ----- ----- -----
|
||||||
3F ----- ----- -----
|
3F ----- ----- -----
|
||||||
' 3
|
' 3
|
||||||
|
track3:
|
||||||
0 D#2-- D#4-- -----
|
0 D#2-- D#4-- -----
|
||||||
1 ----- ----- -----
|
1 ----- ----- -----
|
||||||
2 D#2-- ----- -----
|
2 D#2-- ----- -----
|
||||||
|
@ -274,6 +278,7 @@ F ----- ----- -----
|
||||||
3E C 2-- ----- -----
|
3E C 2-- ----- -----
|
||||||
3F ----- ----- -----
|
3F ----- ----- -----
|
||||||
' 4
|
' 4
|
||||||
|
track4:
|
||||||
0 C 2-- ----- -----
|
0 C 2-- ----- -----
|
||||||
1 ----- ----- -----
|
1 ----- ----- -----
|
||||||
2 C 2-- ----- -----
|
2 C 2-- ----- -----
|
||||||
|
@ -338,5 +343,3 @@ F ----- ----- -----
|
||||||
3D ----- ----- -----
|
3D ----- ----- -----
|
||||||
3E ----- F 5-- -----
|
3E ----- F 5-- -----
|
||||||
3F ----- ----- -----
|
3F ----- ----- -----
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -32,7 +32,8 @@ set_notes_loop:
|
||||||
; load next byte
|
; load next byte
|
||||||
|
|
||||||
ldy SONG_OFFSET
|
ldy SONG_OFFSET
|
||||||
lda tracker_song,Y
|
track_smc:
|
||||||
|
lda track4,Y
|
||||||
|
|
||||||
;==================
|
;==================
|
||||||
; see if hit end
|
; see if hit end
|
||||||
|
@ -43,9 +44,22 @@ set_notes_loop:
|
||||||
;====================================
|
;====================================
|
||||||
; if at end, loop back to beginning
|
; 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
|
sta SONG_OFFSET
|
||||||
beq set_notes_loop
|
|
||||||
|
beq set_notes_loop ; bra
|
||||||
|
|
||||||
not_end:
|
not_end:
|
||||||
|
|
||||||
|
@ -105,4 +119,10 @@ done_update_song:
|
||||||
channel_a_volume:
|
channel_a_volume:
|
||||||
.byte 14,14,14,14,11,11,10,10
|
.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:
|
skip_data:
|
||||||
|
|
|
@ -23,7 +23,7 @@ static int total_len=0;
|
||||||
|
|
||||||
unsigned short frequencies[]={
|
unsigned short frequencies[]={
|
||||||
//C C# D D# E F F# G G# A A# B
|
//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
|
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
|
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
|
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,
|
//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) {
|
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]=='-') 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;
|
sp=0;
|
||||||
|
|
||||||
|
|
|
@ -29,4 +29,4 @@ HGR_SCALE = $E7
|
||||||
|
|
||||||
COUNT = $FB
|
COUNT = $FB
|
||||||
FRAME = $FC
|
FRAME = $FC
|
||||||
|
WHICH_TRACK = $FD
|
||||||
|
|
Loading…
Reference in New Issue
Block a user