Skip to content

converting vgm files to furnace tracker

Technical discussion which is not directly related to VGM files. Talk about Hardware and Software.

Moderator: Staff

converting vgm files to furnace tracker

Post by nitrofurano »

recently i were coding some converters from vgm to furnace tracker - https://notabug.org/nitrofurano/vgm2vor ... eclipboard

i made them on sdlbasic, and are still very embryonic (fails on sn76489 noise frequency, fm instruments, etc.) - i was mostly using it on ay-3-8910 vgm files, which conversions were mostly acceptable

the result is a text file that we can use as clipboard on furnace tracker, while it doesn't import text files yet (like famitracker and vortextracker does)

so, if anyone want to improve them, be welcome
  • SeregaZ Offline
  • Posts: 98
  • Joined: 2015-08-08, 13:56:52

Post by SeregaZ »

for my case (VGM 2 GEMS audio driver) - i am make some kind of grid, with some resolution (like some kind of delta for midi) value and apply this grid over vgm file. but abandone it long time ago... and same problem with PSG :) not even tought it. i am stuck on slides effects, when note change frequency per time. and just image both of it - slide on PSG... that is sux! final gunshot into head: steps between PSG slides is variable! it means same values for envelope will have different results for different notes.

Code: Select all

Global Dim PSGnote.w($60) ;{ 
For i = 0 To $21
  PSGnote(i) = 1017 ; same value for low notes 0 up to $21
Next
PSGnote($22) = 960
PSGnote($23) = 906
PSGnote($24) = 855
PSGnote($25) = 807
PSGnote($26) = 762
PSGnote($27) = 719
PSGnote($28) = 679
PSGnote($29) = 641
PSGnote($2A) = 605
PSGnote($2B) = 571
PSGnote($2C) = 539
PSGnote($2D) = 508
PSGnote($2E) = 480
PSGnote($2F) = 453
PSGnote($30) = 428
PSGnote($31) = 404
PSGnote($32) = 381
PSGnote($33) = 360
PSGnote($34) = 339
PSGnote($35) = 320
PSGnote($36) = 302
PSGnote($37) = 285
PSGnote($38) = 269
PSGnote($39) = 254
PSGnote($3A) = 240
PSGnote($3B) = 226
PSGnote($3C) = 214
PSGnote($3D) = 202
PSGnote($3E) = 190
PSGnote($3F) = 180
PSGnote($40) = 170
PSGnote($41) = 160
PSGnote($42) = 151
PSGnote($43) = 143
PSGnote($44) = 135
PSGnote($45) = 127
PSGnote($46) = 120
PSGnote($47) = 113
PSGnote($48) = 107
PSGnote($49) = 101
PSGnote($4A) = 95
PSGnote($4B) = 90
PSGnote($4C) = 85
PSGnote($4D) = 80
PSGnote($4E) = 76
PSGnote($4F) = 71
PSGnote($50) = 67
PSGnote($51) = 64
PSGnote($52) = 60
PSGnote($53) = 57
PSGnote($54) = 53
PSGnote($55) = 50
PSGnote($56) = 47
PSGnote($57) = 45
PSGnote($58) = 42
PSGnote($59) = 40
PSGnote($5A) = 38
PSGnote($5B) = 35
PSGnote($5C) = 33
PSGnote($5D) = 32
PSGnote($5E) = 30
PSGnote($5F) = 28
PSGnote($60) = 26;}
as you can see between $60 and $5F: 28 - 26 = 2 steps. but between $23 and $22: 960 - 906 = 54 steps. detect bend for this two cases will be ass pain!

ouch! 6 years is past :)
https://www.youtube.com/watch?v=WKjbf65l_Hc
Post Reply