Hello folks,
First time poster, probably showing dreadful etiquette, but hoping someone will choose to help me anyway ;-)
I'm a programmer with no musical talent and currently working on a FREE and open-source simple little Tron light-cycle game for the PicoMite VGA and Colour Maximite 2.
It's nothing very special but it's keeping me out of trouble:
https://youtu.be/Q9_FxvCC3v0
Its current music track is hopefully just temporary, it was composed for me by a friend over 20 years ago and I've already used it in something else, and in any case am hoping for something a little more thematic.
It's a simple 1-channel track played from MMBasic, the (incomplete) extract below will probably give some of you the idea
Dim MUSIC%(68)
Dim music_flag% = 1
Dim music_ptr% = Peek(VarAddr MUSIC%()) + 4
' Music and sound effects are played on SetTick interrupts.
SetTick 250, play_music, 1
' Run forever
Do : Loop
' Called from interrupt to play next note of music.
Sub play_music()
If music_flag% Then
Local note% = Peek(Byte music_ptr%)
If note% = &hFF Then
music_ptr% = Peek(VarAddr MUSIC%()) + 4
note% = Peek(Byte music_ptr%)
EndIf
Play Sound 1, B, s, 440 * 2 ^ ((note% - 2) / 12.0), 15
Inc music_ptr%
Else
Play Sound 1, B, O
EndIf
End Sub
' Start a new sound effect.
Sub start_soundfx(ptr%, wait_%)
If Not soundfx_flag% Then Exit Sub
' Wait for current sound effect to end.
If wait_% Then Do While Peek(Byte soundfx_ptr%) <> &hFF : Loop
soundfx_ptr% = ptr%
' Wait for first note of new sound effect to play.
Do While soundfx_ptr% = ptr% : Loop
End Sub
' Called from interrupt to play next note of current sound effect.
Sub play_soundfx()
If soundfx_flag% Then
Local note% = Peek(Byte soundfx_ptr%)
If note% < &hFF Then
Play Sound 2, B, s, 440 * 2 ^ ((note% - 2) / 12.0)
Inc soundfx_ptr%
Else
Play Sound 2, B, O
EndIf
Else
Play Sound 2, B, O
EndIf
End Sub
music_data:
Data &h0900090500000220, &h0900090509000905, &h0900090509000905, &h0900090509000905
Data &h1818181509000905, &h181818151818181A, &h151618161818181A, &h1516181613111516
Data &h1818181513111516, &h181818151518151A, &h151618131818181A, &h0C0E0C1315131516
Data &h181818150704000C, &h181818151818181A, &h151618161818181A, &h1516181613111516
Data &h1818181513111516, &h181818151518151A, &h151618131818181A, &h091D051115131516
Data &h1515150E0509051D, &h1515150E15151516, &h1013151315151516, &h1013151310131513
Data &h1515150E00040013, &h1515150E15151516, &h1311101315151516, &h1615131615131115
Data &h1818181500000C18, &h181818151818181A, &h151618161818181A, &h1516181613111516
Data &h1818181513111516, &h181818151518151A, &h151618131818181A, &h0C0E0C1315131516
Data &h181818150704000C, &h181818151818181A, &h151618161818181A, &h1516181613111516
Data &h1818181513111516, &h181818151518151A, &h151618131818181A, &h091D051115131516
Data &h1515150E0509051D, &h1515150E15151516, &h1013151315151516, &h1013151310131513
Data &h1515150E00040013, &h1515150E15151516, &h1311101315151516, &h1615131615131115
Data &h1818181500000C18, &h181818151818181A, &h151618161818181A, &h1516181613111516
Data &h1818181513111516, &h181818151518151A, &h151618131818181A, &h0C0E0C1315131516
Data &h181818150704000C, &h181818151818181A, &h151618161818181A, &h1516181613111516
Data &h1818181513111516, &h181818151518151A, &h151618131818181A, &h091D051115131516
Data &hFFFFFFFF0509051D
I don't suppose anyone can point me at a source of similar existing music tracks that aren't going to require too much work to convert and aren't going to require more than a name-check in the game's credits as "payment" ?
Best wishes,
Tom