don't click here

S1SMPS2ASM (v1.1)

Discussion in 'Engineering & Reverse Engineering' started by Cinossu, Mar 22, 2008.

Thread Status:
Not open for further replies.
  1. Cinossu

    Cinossu

    Administrator
    2,832
    44
    28
    London, UK
    Sonic the Hedgehog Extended Edition
    SO, release v1.1 is here. XD

    Added command line support, reduced commenting (for puto :U) and fixed a huge bug to do with no FM or PSG channels.

    New links..

    *NEW* S1SMPS2ASM Version 1.1
    (http://www.hapisan.com/s1smps2asm_v1.1.rar)


    S1SMPS2ASM Version 1.0
    (http://www.hapisan.com/s1smps2asm_v1.0.rar)


    Also, here's the link to a new fully ASM converted Sonic 1 music set...

    Sonic 1 ASM Music Set Version 1.1
    (http://www.hapisan.com/s1music_asm.rar)


    <hr>
    Right, I know I posted about this a while ago, but there's a release this time! Woo!

    Something I've been working on, to make manual music editing a little simpler, is a 'formatting' of sorts using ASM for music to make it understandable. To use this properly, I've made a convertor from your standard music binary into the ASM format for this.

    For example, Green Hill Zone, instead of a 1.85KB file, is now this: (it's rather long, by the way..)

    Code (ASM):
    1. ; =============================================================================================
    2. ; Project Name:     GHZ
    3. ; Created:      22nd March 2008
    4. ; ---------------------------------------------------------------------------------------------
    5. ; ASM'd using S1SMPS2ASM version 1.1 by Marc Gordon (AKA Cinossu)
    6. ; =============================================================================================
    7.  
    8. GHZ_Header:
    9. ;   Voice Pointer   location
    10.     smpsHeaderVoice GHZ_Voices
    11. ;   Channel Setup   FM  PSG
    12.     smpsHeaderChan  $06,    $03
    13. ;   Tempo Setup divider modifier
    14.     smpsHeaderTempo $01,    $03
    15.  
    16. ;   DAC Pointer location
    17.     smpsHeaderDAC   GHZ_DAC
    18. ;   FM1 Pointer location    pitch       volume
    19.     smpsHeaderFM    GHZ_FM1,    smpsPitch01lo,  $12
    20. ;   FM2 Pointer location    pitch       volume
    21.     smpsHeaderFM    GHZ_FM2,    smpsPitch00,    $0B
    22. ;   FM3 Pointer location    pitch       volume
    23.     smpsHeaderFM    GHZ_FM3,    smpsPitch01lo,  $14
    24. ;   FM4 Pointer location    pitch       volume
    25.     smpsHeaderFM    GHZ_FM4,    smpsPitch01lo,  $08
    26. ;   FM5 Pointer location    pitch       volume
    27.     smpsHeaderFM    GHZ_FM5,    smpsPitch01lo,  $20
    28. ;   PSG1 Pointer    location    pitch       volume  instrument
    29.     smpsHeaderPSG   GHZ_PSG1,   smpsPitch04lo,  $01,    $03
    30. ;   PSG2 Pointer    location    pitch       volume  instrument
    31.     smpsHeaderPSG   GHZ_PSG2,   smpsPitch04lo,  $03,    $06
    32. ;   PSG3 Pointer    location    pitch       volume  instrument
    33.     smpsHeaderPSG   GHZ_PSG3,   smpsPitch00,    $03,    $04
    34.  
    35. ; FM1 Data
    36. GHZ_FM1:
    37. ;   Set FM Voice    #
    38.     smpsFMvoice $02
    39. ;   Panning     direction   amsfms
    40.     smpsPan     panRight,   $00
    41. ;   Call At     location
    42.     smpsCall    GHZ_Call01
    43. ;   Panning     direction   amsfms
    44.     smpsPan     panCentre,  $00
    45. GHZ_Loop01:
    46. ;   Panning     direction   amsfms
    47.     smpsPan     panLeft,    $00
    48.     dc.b        nE7,    $04
    49. ;   Panning     direction   amsfms
    50.     smpsPan     panRight,   $00
    51.     dc.b        nC7
    52. ;   Alter Volume    value
    53.     smpsAlterVol    $01
    54. ;   Loop To     index   loops   location
    55.     smpsLoop    $00,    $0D,    GHZ_Loop01
    56.     dc.b        nE7,    $04,    nRst,   $14
    57. ;   Alter Volume    value
    58.     smpsAlterVol    $EB
    59. ;   Panning     direction   amsfms
    60.     smpsPan     panCentre,  $00
    61.     dc.b        nRst,   $40,    nRst,   nRst,   nRst,   nRst,   nRst
    62. GHZ_Jump01:
    63. ;   Set FM Voice    #
    64.     smpsFMvoice $06
    65. ;   Set Modulation  wait    speed   change  step
    66.     smpsModSet  $0D,    $01,    $07,    $04
    67. ;   Alter Pitch value
    68.     smpsAlterPitch  $F4
    69.     dc.b        nRst,   $20
    70. ;   Call At     location
    71.     smpsCall    GHZ_Call02
    72.     dc.b        nC6,    $38
    73. ;   Call At     location
    74.     smpsCall    GHZ_Call02
    75.     dc.b        nC6,    $08,    $08,    nE6
    76. ;   Alter Pitch value
    77.     smpsAlterPitch  $0C
    78. ;   Set FM Voice    #
    79.     smpsFMvoice $06
    80. ;   Alter Pitch value
    81.     smpsAlterPitch  $F4
    82.     dc.b        nD6,    $34,    smpsNoAttack,   $34,    nC6,    $08,    nD6,    nE6
    83.     dc.b        $38,    smpsNoAttack,   $38,    nC6,    $08,    nC6,    nE6,    nEb6
    84.     dc.b        $34,    smpsNoAttack,   $34,    nC6,    $08,    nEb6,   nD6,    $1C
    85.     dc.b        smpsNoAttack,   $1C
    86. ;   Set FM Voice    #
    87.     smpsFMvoice $05
    88. ;   Alter Pitch value
    89.     smpsAlterPitch  $F4
    90. ;   Alter Volume    value
    91.     smpsAlterVol    $0A
    92.     dc.b        nRst,   $08,    nE7,    $0C,    nRst,   $04
    93. ;   Note Fill   duration
    94.     smpsNoteFill    $0B
    95.     dc.b        nE7,    $08,    nF7,    nE7,    nG7
    96. ;   Note Fill   duration
    97.     smpsNoteFill    $14
    98.     dc.b        nE7,    $10
    99. ;   Note Fill   duration
    100.     smpsNoteFill    $0B
    101.     dc.b        nC7,    $08
    102. ;   Note Fill   duration
    103.     smpsNoteFill    $00
    104. ;   Alter Volume    value
    105.     smpsAlterVol    $F6
    106. ;   Alter Pitch value
    107.     smpsAlterPitch  $18
    108. ;   Jump To     location
    109.     smpsJump    GHZ_Jump01
    110.  
    111. GHZ_Call01:
    112.     dc.b        nA6,    $04,    nF6,    nA6,    nF6,    nB6,    nG6,    nB6
    113.     dc.b        nG6,    nC7,    nA6,    nC7,    nA6,    nD7,    nB6,    nD7
    114.     dc.b        nB6
    115.     smpsReturn
    116.  
    117. GHZ_Call02:
    118.     dc.b        nC7,    $08,    nA6,    $10,    nC7,    $08,    nB6,    $10
    119.     dc.b        nC7,    $08,    nB6,    $10,    nG6,    $30,    nA6,    $08
    120.     dc.b        nE7,    nD7,    $10,    nC7,    $08,    nB6,    $10,    nC7
    121.     dc.b        $08,    nB6,    $10,    nG6,    $38,    nC7,    $08,    nA6
    122.     dc.b        $10,    nC7,    $08,    nB6,    $10,    nC7,    $08,    nB6
    123.     dc.b        $10,    nG6,    $30,    nA6,    $08,    $08,    nF6,    $10
    124.     dc.b        nA6,    $08,    nG6,    $10,    nA6,    $08,    nG6,    $10
    125.     smpsReturn
    126.  
    127. ; FM2 Data
    128. GHZ_FM2:
    129. ;   Set FM Voice    #
    130.     smpsFMvoice $00
    131. ;   E2      #
    132.     smpsE2      $01
    133.     dc.b        nRst,   $08,    nA2,    nA3,    nA2,    nBb2,   nBb3,   nB2
    134.     dc.b        nB3
    135. ;   Note Fill   duration
    136.     smpsNoteFill    $04
    137. ;   Set FM Voice    #
    138.     smpsFMvoice $01
    139. GHZ_Loop02:
    140.     dc.b        nC3,    $08
    141. ;   Loop To     index   loops   location
    142.     smpsLoop    $00,    $18,    GHZ_Loop02
    143. ;   Note Fill   duration
    144.     smpsNoteFill    $00
    145.     dc.b        nC3,    $04,    nRst,   nC3,    $08,    nA2,    $04,    nRst
    146.     dc.b        nA2,    $08,    nBb2,   $04,    nRst,   nBb2,   $08,    nB2
    147.     dc.b        $04,    nRst,   nB2,    $08
    148. ;   Note Fill   duration
    149.     smpsNoteFill    $04
    150. GHZ_Loop03:
    151.     dc.b        nC3,    $08
    152. ;   Loop To     index   loops   location
    153.     smpsLoop    $00,    $1D,    GHZ_Loop03
    154. ;   Note Fill   duration
    155.     smpsNoteFill    $00
    156.     dc.b        nC3,    nD3,    nE3
    157. GHZ_Jump02:
    158. ;   Set FM Voice    #
    159.     smpsFMvoice $01
    160. ;   Call At     location
    161.     smpsCall    GHZ_Call03
    162. ;   Call At     location
    163.     smpsCall    GHZ_Call04
    164. ;   Note Fill   duration
    165.     smpsNoteFill    $00
    166.     dc.b        nC3,    nD3,    nE3
    167. ;   Call At     location
    168.     smpsCall    GHZ_Call03
    169. ;   Call At     location
    170.     smpsCall    GHZ_Call04
    171.     dc.b        nC3,    nC3,    nC3
    172. ;   Note Fill   duration
    173.     smpsNoteFill    $00
    174. ;   Set FM Voice    #
    175.     smpsFMvoice $00
    176.     dc.b        nBb2,   $18,    nA2,    nG2,    nF2,    nE2,    $08,    nRst
    177.     dc.b        nD2,    nRst,   nA2,    $18,    nB2,    nC3,    nD3,    nE3
    178.     dc.b        $08,    nRst,   nA3,    nRst,   nAb3,   $18,    nG3,    nF3
    179.     dc.b        nEb3,   nD3,    $08,    nRst,   nC3,    nRst,   nG2,    $18
    180.     dc.b        nD3,    nG2,    nG3,    $08,    nE2,    nE3,    nF2,    nF3
    181.     dc.b        nG2,    nG3
    182. ;   Note Fill   duration
    183.     smpsNoteFill    $04
    184. ;   E2      #
    185.     smpsE2      $01
    186. ;   Jump To     location
    187.     smpsJump    GHZ_Jump02
    188.  
    189. GHZ_Call03:
    190. ;   Note Fill   duration
    191.     smpsNoteFill    $04
    192.     dc.b        nF3,    $08,    nF3,    nF3,    nF3,    nF3,    nF3,    nF3
    193. ;   Note Fill   duration
    194.     smpsNoteFill    $00
    195.     dc.b        nF3
    196. ;   Note Fill   duration
    197.     smpsNoteFill    $04
    198.     dc.b        nE3,    nE3,    nE3,    nE3,    nE3
    199. ;   Note Fill   duration
    200.     smpsNoteFill    $00
    201.     dc.b        nC3,    nD3,    nE3
    202. ;   Note Fill   duration
    203.     smpsNoteFill    $04
    204.     dc.b        nF3,    nF3,    nF3,    nF3,    nF3,    nF3,    nF3
    205. ;   Note Fill   duration
    206.     smpsNoteFill    $00
    207.     dc.b        nF3
    208. ;   Note Fill   duration
    209.     smpsNoteFill    $04
    210.     dc.b        nE3,    nE3,    nE3,    nE3,    nE3
    211. ;   Note Fill   duration
    212.     smpsNoteFill    $00
    213.     dc.b        nC3,    nD3,    nE3
    214.     smpsReturn
    215.  
    216. GHZ_Call04:
    217. ;   Note Fill   duration
    218.     smpsNoteFill    $04
    219.     dc.b        nF3,    nF3,    nF3,    nF3,    nF3,    nF3,    nF3
    220. ;   Note Fill   duration
    221.     smpsNoteFill    $00
    222.     dc.b        nF3
    223. ;   Note Fill   duration
    224.     smpsNoteFill    $04
    225.     dc.b        nE3,    nE3,    nE3,    nE3,    nE3,    nE3,    nE3
    226. ;   Note Fill   duration
    227.     smpsNoteFill    $00
    228.     dc.b        nE3
    229. ;   Note Fill   duration
    230.     smpsNoteFill    $04
    231.     dc.b        nD3,    nD3,    nD3,    nD3,    nD3,    nD3,    nD3
    232. ;   Note Fill   duration
    233.     smpsNoteFill    $00
    234.     dc.b        nD3
    235. ;   Note Fill   duration
    236.     smpsNoteFill    $04
    237.     dc.b        nC3,    nC3,    nC3,    nC3,    nC3
    238.     smpsReturn
    239.  
    240. ; FM3 Data
    241. GHZ_FM3:
    242. ;   Set FM Voice    #
    243.     smpsFMvoice $02
    244. ;   Panning     direction   amsfms
    245.     smpsPan     panLeft,    $00
    246. ;   Call At     location
    247.     smpsCall    GHZ_Call01
    248. ;   Set FM Voice    #
    249.     smpsFMvoice $08
    250. ;   Panning     direction   amsfms
    251.     smpsPan     panCentre,  $00
    252. ;   Alter Pitch value
    253.     smpsAlterPitch  $E8
    254. ;   Alter Volume    value
    255.     smpsAlterVol    $FE
    256.     dc.b        nRst,   $01
    257. GHZ_Loop04:
    258.     dc.b        nC6,    $01,    smpsNoAttack,   nB5,    $0F,    nRst,   $08,    nBb5
    259.     dc.b        $01,    smpsNoAttack,   nA5,    $0F,    nRst,   $08
    260. ;   Loop To     index   loops   location
    261.     smpsLoop    $00,    $02,    GHZ_Loop04
    262.     dc.b        nC6,    $01,    smpsNoAttack,   nB5,    $07,    nRst,   $08,    nBb5
    263.     dc.b        $01,    smpsNoAttack,   nA5,    $07,    nRst,   $08,    nCs6,   $01
    264.     dc.b        smpsNoAttack,   nC6,    $0F,    nRst,   $08,    nC6,    $01,    smpsNoAttack
    265.     dc.b        nB5,    $0F,    nRst,   $08,    nBb5,   $01,    smpsNoAttack,   nA5
    266.     dc.b        $10,    smpsNoAttack,   $3B,    nRst,   $04
    267. GHZ_Loop05:
    268.     dc.b        nBb5,   $01,    smpsNoAttack,   nA5,    $0F,    nRst,   $08,    nC6
    269.     dc.b        $01,    smpsNoAttack,   nB5,    $0F,    nRst,   $08,    nCs6,   $01
    270.     dc.b        smpsNoAttack,   nC6,    $07,    nRst,   $08
    271. ;   Loop To     index   loops   location
    272.     smpsLoop    $00,    $02,    GHZ_Loop05
    273.     dc.b        nCs6,   $01,    smpsNoAttack,   nC6,    $0F,    nRst,   $08,    nC6
    274.     dc.b        $01,    smpsNoAttack,   nB5,    $28,    smpsNoAttack,   $3E
    275. ;   Alter Volume    value
    276.     smpsAlterVol    $02
    277. ;   Alter Pitch value
    278.     smpsAlterPitch  $18
    279. GHZ_Jump03:
    280. ;   Set FM Voice    #
    281.     smpsFMvoice $05
    282. ;   Alter Pitch value
    283.     smpsAlterPitch  $E8
    284. ;   Call At     location
    285.     smpsCall    GHZ_Call05
    286.     dc.b        nA6
    287. ;   Call At     location
    288.     smpsCall    GHZ_Call05
    289.     dc.b        nE7
    290. ;   Call At     location
    291.     smpsCall    GHZ_Call05
    292.     dc.b        nA6,    nRst,   $24,    nRst,   nC7,    $04,    nRst,   $0C
    293.     dc.b        nA6,    $10,    nG6,    $04,    nRst,   nA6,    nRst,   nC7
    294.     dc.b        nRst,   smpsModOff
    295. ;   Set FM Voice    #
    296.     smpsFMvoice $05
    297. ;   Call At     location
    298.     smpsCall    GHZ_Call06
    299.     dc.b        nG6,    $04,    nA6,    nC7,    $08,    nA6
    300. ;   Call At     location
    301.     smpsCall    GHZ_Call06
    302.     dc.b        nG6,    $04,    nA6,    nC7,    $08,    nE7
    303. ;   Call At     location
    304.     smpsCall    GHZ_Call06
    305.     dc.b        nG6,    $04,    nA6,    nC7,    $08,    nA6
    306. ;   Alter Volume    value
    307.     smpsAlterVol    $06
    308.     dc.b        nC5,    nA4,    $04,    nRst,   $16,    nRst
    309. ;   Alter Volume    value
    310.     smpsAlterVol    $FA
    311.     dc.b        nE7,    $08,    nRst,   nC7,    nRst,   nA6,    nA6,    nA6
    312.     dc.b        $04,    nRst,   nC7,    nRst,   nE7,    nRst
    313. ;   Alter Pitch value
    314.     smpsAlterPitch  $18
    315. ;   Set FM Voice    #
    316.     smpsFMvoice $07
    317. ;   Panning     direction   amsfms
    318.     smpsPan     panCentre,  $00
    319. ;   Note Fill   duration
    320.     smpsNoteFill    $1E
    321. ;   Alter Volume    value
    322.     smpsAlterVol    $06
    323.     dc.b        nF5,    $18,    $18,    $18,    $18,    $08,    nRst,   nF5
    324.     dc.b        nRst,   nE5,    $18,    $18,    $18,    $18,    $08,    nRst
    325.     dc.b        nE5,    nRst,   nEb5,   $18,    $18,    $18,    $18,    $08
    326.     dc.b        nRst,   nEb5,   nRst,   nA5,    $18,    $18,    $18,    $18
    327.     dc.b        $08,    nRst,   nA5,    nRst
    328. ;   Alter Volume    value
    329.     smpsAlterVol    $FA
    330. ;   Note Fill   duration
    331.     smpsNoteFill    $00
    332. ;   Jump To     location
    333.     smpsJump    GHZ_Jump03
    334.  
    335. GHZ_Call05:
    336.     dc.b        nRst,   $34,    nRst,   nG6,    $04,    nA6,    nC7,    $08
    337.     smpsReturn
    338.  
    339. GHZ_Call06:
    340. ;   Alter Volume    value
    341.     smpsAlterVol    $06
    342.     dc.b        nE5,    $08,    nC5,    $04,    nRst,   $12,    nRst,   nE5
    343.     dc.b        $08,    nC5,    $04,    nRst,   nD5,    $08,    nB4,    $04
    344.     dc.b        nRst,   $0E,    nRst
    345. ;   Alter Volume    value
    346.     smpsAlterVol    $FA
    347.     smpsReturn
    348.  
    349. ; FM4 Data
    350. GHZ_FM4:
    351. ;   Set FM Voice    #
    352.     smpsFMvoice $08
    353.     dc.b        nRst,   $20,    nRst
    354. ;   Panning     direction   amsfms
    355.     smpsPan     panLeft,    $00
    356. ;   Alter Pitch value
    357.     smpsAlterPitch  $E8
    358. ;   Alter Volume    value
    359.     smpsAlterVol    $0A
    360. GHZ_Loop06:
    361.     dc.b        nAb5,   $01,    smpsNoAttack,   nG5,    $0F,    nRst,   $08,    nFs5
    362.     dc.b        $01,    smpsNoAttack,   nF5,    $0F,    nRst,   $08
    363. ;   Loop To     index   loops   location
    364.     smpsLoop    $00,    $02,    GHZ_Loop06
    365.     dc.b        nAb5,   $01,    smpsNoAttack,   nG5,    $07,    nRst,   $08,    nFs5
    366.     dc.b        $01,    smpsNoAttack,   nF5,    $07,    nRst,   $08,    nBb5,   $01
    367.     dc.b        smpsNoAttack,   nA5,    $0F,    nRst,   $08,    nAb5,   $01,    smpsNoAttack
    368.     dc.b        nG5,    $0F,    nRst,   $08,    nFs5,   $01,    smpsNoAttack,   nF5
    369.     dc.b        $10,    smpsNoAttack,   $3C,    nRst,   $04
    370. GHZ_Loop07:
    371.     dc.b        nFs5,   $01,    smpsNoAttack,   nF5,    $0F,    nRst,   $08,    nAb5
    372.     dc.b        $01,    smpsNoAttack,   nG5,    $0F,    nRst,   $08,    nBb5,   $01
    373.     dc.b        smpsNoAttack,   nA5,    $07,    nRst,   $08
    374. ;   Loop To     index   loops   location
    375.     smpsLoop    $00,    $02,    GHZ_Loop07
    376.     dc.b        nBb5,   $01,    smpsNoAttack,   nA5,    $0F,    nRst,   $08,    nAb5
    377.     dc.b        $01,    smpsNoAttack,   nG5,    $28,    smpsNoAttack,   $3F
    378. ;   Alter Volume    value
    379.     smpsAlterVol    $F6
    380. ;   Alter Pitch value
    381.     smpsAlterPitch  $18
    382.     dc.b        smpsModOff
    383. GHZ_Jump04:
    384. ;   Set FM Voice    #
    385.     smpsFMvoice $05
    386. ;   Alter Pitch value
    387.     smpsAlterPitch  $E8
    388. ;   Alter Volume    value
    389.     smpsAlterVol    $18
    390. ;   Panning     direction   amsfms
    391.     smpsPan     panLeft,    $00
    392. ;   Alter Volume    value
    393.     smpsAlterVol    $FD
    394. ;   Call At     location
    395.     smpsCall    GHZ_Call07
    396.     dc.b        nD5,    nD5,    nE5,    nE5,    nC5,    nC5,    nA4,    nA4
    397.     dc.b        nF4,    nF4,    nD5,    nD5,    nB4,    nB4,    nG4,    nG4
    398.     dc.b        nD5,    nD5
    399. ;   Call At     location
    400.     smpsCall    GHZ_Call07
    401.     dc.b        nE4,    nE4,    nC5,    nC5,    nA4,    nA4,    nF4,    nF4
    402.     dc.b        nD4,    nD4,    nB4,    nB4
    403. ;   Alter Volume    value
    404.     smpsAlterVol    $03
    405. ;   Alter Pitch value
    406.     smpsAlterPitch  $18
    407. ;   Alter Pitch value
    408.     smpsAlterPitch  $F4
    409. ;   Set FM Voice    #
    410.     smpsFMvoice $04
    411.     dc.b        nG6,    $10,    nA6,    nB6
    412. ;   Alter Volume    value
    413.     smpsAlterVol    $F9
    414.     dc.b        nC7,    $28,    smpsNoAttack,   $28,    nD7,    $10,    nB6,    nG6
    415.     dc.b        nC7,    $28,    smpsNoAttack,   $28,    nB6,    $10,    nG6,    nB6
    416.     dc.b        nC7,    $28,    smpsNoAttack,   $28,    nD7,    $10,    nB6,    nG6
    417.     dc.b        nC7,    $40,    smpsNoAttack,   $40
    418. ;   Alter Pitch value
    419.     smpsAlterPitch  $0C
    420. ;   Alter Volume    value
    421.     smpsAlterVol    $07
    422. ;   Alter Volume    value
    423.     smpsAlterVol    $E8
    424. ;   Set FM Voice    #
    425.     smpsFMvoice $07
    426. ;   Note Fill   duration
    427.     smpsNoteFill    $1E
    428. ;   Panning     direction   amsfms
    429.     smpsPan     panCentre,  $00
    430. ;   Alter Volume    value
    431.     smpsAlterVol    $12
    432.     dc.b        nD5,    $18,    $18,    $18,    $18,    $08,    nRst,   nD5
    433.     dc.b        nRst,   nC5,    $18,    $18,    $18,    $18,    $08,    nRst
    434.     dc.b        nC5,    nRst,   nC5,    $18,    $18,    $18,    $18,    $08
    435.     dc.b        nRst,   nC5,    nRst,   nF5,    $18,    $18,    $18,    $18
    436.     dc.b        $08,    nRst,   nF5,    nRst
    437. ;   Alter Volume    value
    438.     smpsAlterVol    $EE
    439. ;   Note Fill   duration
    440.     smpsNoteFill    $00
    441. ;   Jump To     location
    442.     smpsJump    GHZ_Jump04
    443.  
    444. GHZ_Call07:
    445.     dc.b        nE5,    $08,    nE5,    nC5,    nC5,    nA4,    nA4,    nF4
    446.     dc.b        nF4,    nD5,    nD5,    nB4,    nB4,    nG4,    nG4
    447.     smpsReturn
    448.  
    449. ; FM5 Data
    450. GHZ_FM5:
    451. ;   Set FM Voice    #
    452.     smpsFMvoice $03
    453.     dc.b        nRst,   $20,    nRst
    454. ;   Set FM Voice    #
    455.     smpsFMvoice $08
    456. ;   Panning     direction   amsfms
    457.     smpsPan     panRight,   $00
    458. ;   Alter Pitch value
    459.     smpsAlterPitch  $E8
    460. ;   Alter Volume    value
    461.     smpsAlterVol    $F2
    462. GHZ_Loop08:
    463.     dc.b        nF5,    $01,    smpsNoAttack,   nE5,    $0F,    nRst,   $08,    nEb5
    464.     dc.b        $01,    smpsNoAttack,   nD5,    $0F,    nRst,   $08
    465. ;   Loop To     index   loops   location
    466.     smpsLoop    $00,    $02,    GHZ_Loop08
    467.     dc.b        nF5,    $01,    smpsNoAttack,   nE5,    $07,    nRst,   $08,    nEb5
    468.     dc.b        $01,    smpsNoAttack,   nD5,    $07,    nRst,   $08,    nFs5,   $01
    469.     dc.b        smpsNoAttack,   nF5,    $0F,    nRst,   $08,    nF5,    $01,    smpsNoAttack
    470.     dc.b        nE5,    $0F,    nRst,   $08,    nEb5,   $01,    smpsNoAttack,   nD5
    471.     dc.b        $10,    smpsNoAttack,   $3C,    nRst,   $04
    472. GHZ_Loop09:
    473.     dc.b        nEb5,   $01,    smpsNoAttack,   nD5,    $0F,    nRst,   $08,    nF5
    474.     dc.b        $01,    smpsNoAttack,   nE5,    $0F,    nRst,   $08,    nFs5,   $01
    475.     dc.b        smpsNoAttack,   nF5,    $07,    nRst,   $08
    476. ;   Loop To     index   loops   location
    477.     smpsLoop    $00,    $02,    GHZ_Loop09
    478.     dc.b        nFs5,   $01,    smpsNoAttack,   nF5,    $0F,    nRst,   $08,    nF5
    479.     dc.b        $01,    smpsNoAttack,   nE5,    $28,    smpsNoAttack,   $3F
    480. ;   Alter Pitch value
    481.     smpsAlterPitch  $18
    482. ;   Alter Volume    value
    483.     smpsAlterVol    $0E
    484. GHZ_Jump05:
    485. ;   Set FM Voice    #
    486.     smpsFMvoice $05
    487. ;   Alter Pitch value
    488.     smpsAlterPitch  $E8
    489. ;   Panning     direction   amsfms
    490.     smpsPan     panRight,   $00
    491. ;   Alter Volume    value
    492.     smpsAlterVol    $FD
    493. ;   Call At     location
    494.     smpsCall    GHZ_Call08
    495.     dc.b        nD5,    nD5,    nE5,    nE5,    nC5,    nC5,    nA4,    nA4
    496.     dc.b        nF4,    nF4,    nD5,    nD5,    nB4,    nB4,    nG4,    nG4
    497.     dc.b        nD5,    nD5
    498. ;   Call At     location
    499.     smpsCall    GHZ_Call08
    500.     dc.b        nE4,    nE4,    nC5,    nC5,    nA4,    nA4,    nF4,    nF4
    501.     dc.b        nD4,    nD4,    nB4,    nB4
    502. ;   Alter Pitch value
    503.     smpsAlterPitch  $18
    504. ;   Alter Volume    value
    505.     smpsAlterVol    $03
    506. ;   Alter Pitch value
    507.     smpsAlterPitch  $F4
    508. ;   Set FM Voice    #
    509.     smpsFMvoice $04
    510. ;   Alter Notes value
    511.     smpsAlterNote   $02
    512.     dc.b        nG6,    $10,    nA6,    nB6
    513. ;   Alter Volume    value
    514.     smpsAlterVol    $F9
    515.     dc.b        nC7,    $28,    smpsNoAttack,   $28,    nD7,    $10,    nB6,    nG6
    516.     dc.b        nC7,    $28,    smpsNoAttack,   $28,    nB6,    $10,    nG6,    nB6
    517.     dc.b        nC7,    $28,    smpsNoAttack,   $28,    nD7,    $10,    nB6,    nG6
    518.     dc.b        nC7,    $40,    smpsNoAttack,   $40
    519. ;   Alter Pitch value
    520.     smpsAlterPitch  $0C
    521. ;   Alter Notes value
    522.     smpsAlterNote   $00
    523. ;   Set FM Voice    #
    524.     smpsFMvoice $04
    525. ;   Alter Pitch value
    526.     smpsAlterPitch  $F4
    527. ;   Alter Volume    value
    528.     smpsAlterVol    $FA
    529. GHZ_Loop0A:
    530.     dc.b        nBb6,   $08,    nF6,    nD7,    nF6,    nBb6,   nF6,    nD7
    531.     dc.b        nF6
    532. ;   Loop To     index   loops   location
    533.     smpsLoop    $00,    $02,    GHZ_Loop0A
    534. GHZ_Loop0B:
    535.     dc.b        nA6,    nE6,    nC7,    nE6,    nA6,    nE6,    nC7,    nE6
    536. ;   Loop To     index   loops   location
    537.     smpsLoop    $00,    $02,    GHZ_Loop0B
    538. GHZ_Loop0C:
    539.     dc.b        nAb6,   nEb6,   nC7,    nEb6,   nAb6,   nEb6,   nC7,    nEb6
    540. ;   Loop To     index   loops   location
    541.     smpsLoop    $00,    $02,    GHZ_Loop0C
    542. GHZ_Loop0D:
    543.     dc.b        nC7,    nA6,    nE7,    nA6,    nC7,    nA6,    nE7,    nA6
    544. ;   Loop To     index   loops   location
    545.     smpsLoop    $00,    $02,    GHZ_Loop0D
    546. ;   Alter Volume    value
    547.     smpsAlterVol    $0D
    548. ;   Alter Pitch value
    549.     smpsAlterPitch  $0C
    550. ;   Jump To     location
    551.     smpsJump    GHZ_Jump05
    552.  
    553. GHZ_Call08:
    554.     dc.b        nE5,    $08,    nE5,    nC5,    nC5,    nA4,    nA4,    nF4
    555.     dc.b        nF4,    nD5,    nD5,    nB4,    nB4,    nG4,    nG4
    556.     smpsReturn
    557.  
    558. ; PSG1 Data
    559. GHZ_PSG1:
    560. ;   Set PSG Voice   #
    561.     smpsPSGvoice    $05
    562. ;   Set Modulation  wait    speed   change  step
    563.     smpsModSet  $0E,    $01,    $01,    $03
    564.     dc.b        nRst,   $40
    565. ;   Note Fill   duration
    566.     smpsNoteFill    $10
    567.     dc.b        nE5,    $18,    nD5,    nE5,    nD5,    nE5,    $08,    nRst
    568.     dc.b        nD5,    nRst,   nF5,    $18,    nE5
    569. ;   Note Fill   duration
    570.     smpsNoteFill    $00
    571.     dc.b        nD5,    $28,    smpsNoAttack,   $28
    572. ;   Note Fill   duration
    573.     smpsNoteFill    $10
    574.     dc.b        nD5,    $18,    nE5,    nF5,    $10,    nD5,    $18,    nE5
    575.     dc.b        nF5,    $10,    $18
    576. ;   Note Fill   duration
    577.     smpsNoteFill    $00
    578.     dc.b        nE5,    $34,    smpsNoAttack,   $34,    smpsModOff
    579. GHZ_Loop0F:
    580. ;   Set PSG Voice   #
    581.     smpsPSGvoice    $01
    582. GHZ_Loop0E:
    583.     dc.b        nRst,   $10,    nC6,    $04,    nRst,   $14,    nC6,    $08
    584.     dc.b        nRst,   $20,    nB5,    $04,    nRst,   $14,    nB5,    $08
    585.     dc.b        nRst,   $10
    586. ;   Loop To     index   loops   location
    587.     smpsLoop    $01,    $03,    GHZ_Loop0E
    588.     dc.b        nRst,   $10,    nA5,    $04,    nRst,   $14,    nA5,    $08
    589.     dc.b        nRst,   $20,    nG5,    $04,    nRst,   $14,    nG5,    $08
    590.     dc.b        nRst,   $10
    591. ;   Loop To     index   loops   location
    592.     smpsLoop    $00,    $02,    GHZ_Loop0F
    593. ;   Set PSG Voice   #
    594.     smpsPSGvoice    $05
    595.     dc.b        nBb6,   $18,    nA6,    nG6,    nF6,    nE6,    $08,    nRst
    596.     dc.b        nD6,    nRst,   nA5,    $18,    nB5,    nC6,    nD6,    nE6
    597.     dc.b        $08,    nRst,   nA6,    nRst,   nAb6,   $18,    nG6,    nF6
    598.     dc.b        nEb6,   nD6,    $10,    nC6,    $08,    nRst,   nRst,   $08
    599.     dc.b        nG6,    nA6,    nG6,    $10,    $08,    nA6,    nRst,   $10
    600. ;   Set Volume  value
    601.     smpsSetVol  $01
    602.     dc.b        nA5,    $18,    $08,    nRst,   nA5,    nRst
    603. ;   Set Volume  value
    604.     smpsSetVol  $FF
    605. ;   Set PSG Voice   #
    606.     smpsPSGvoice    $03
    607. ;   Jump To     location
    608.     smpsJump    GHZ_Loop0F
    609.  
    610. ; PSG2 Data
    611. GHZ_PSG2:
    612.     dc.b        nRst,   $40
    613. ;   Set Volume  value
    614.     smpsSetVol  $FE
    615. GHZ_Loop10:
    616. ;   Note Fill   duration
    617.     smpsNoteFill    $06
    618.     dc.b        nC7,    $08,    nB6,    nA6,    nG6,    nC7,    nB6,    nA6
    619.     dc.b        nG6
    620. ;   Loop To     index   loops   location
    621.     smpsLoop    $00,    $08,    GHZ_Loop10
    622. ;   Note Fill   duration
    623.     smpsNoteFill    $00
    624. GHZ_Loop12:
    625. ;   Set PSG Voice   #
    626.     smpsPSGvoice    $01
    627. GHZ_Loop11:
    628.     dc.b        nRst,   $10,    nE6,    $04,    nRst,   $14,    nE6,    $08
    629.     dc.b        nRst,   $20,    nD6,    $04,    nRst,   $14,    nD6,    $08
    630.     dc.b        nRst,   $10
    631. ;   Loop To     index   loops   location
    632.     smpsLoop    $01,    $03,    GHZ_Loop11
    633.     dc.b        nRst,   $10,    nC6,    $04,    nRst,   $14,    nC6,    $08
    634.     dc.b        nRst,   $20,    nB5,    $04,    nRst,   $14,    nB5,    $08
    635.     dc.b        nRst,   $10
    636. ;   Loop To     index   loops   location
    637.     smpsLoop    $00,    $02,    GHZ_Loop12
    638.     dc.b        nD6,    $34,    smpsNoAttack,   $34,    nC6,    $08,    nD6,    nE6
    639.     dc.b        $38,    smpsNoAttack,   $38,    nC6,    $08,    nC6,    nE6,    nEb6
    640.     dc.b        $34,    smpsNoAttack,   $34,    nC6,    $08,    nEb6,   nD6
    641. ;   Set PSG Voice   #
    642.     smpsPSGvoice    $05
    643.     dc.b        nC5,    $18,    $18,    $18,    $18,    $08,    nRst,   nC5
    644.     dc.b        nRst
    645. ;   Set PSG Voice   #
    646.     smpsPSGvoice    $03
    647. ;   Jump To     location
    648.     smpsJump    GHZ_Loop12
    649.  
    650. ; PSG3 Data
    651. GHZ_PSG3:
    652. ;   Set PSG WvForm  #
    653.     smpsPSGform $E7
    654. ;   Note Fill   duration
    655.     smpsNoteFill    $06
    656.     dc.b        nA5,    $10,    $10,    $10
    657. GHZ_Jump06:
    658.     dc.b        $08
    659. ;   Jump To     location
    660.     smpsJump    GHZ_Jump06
    661.  
    662. ; DAC Data
    663. GHZ_DAC:
    664.     dc.b        nRst,   $08,    dKick,  dSnare, dKick,  dKick,  dSnare, dSnare
    665.     dc.b        dSnare
    666. GHZ_Loop13:
    667.     dc.b        dKick,  $10,    dSnare, $08,    dKick,  $10,    $08,    dSnare
    668.     dc.b        $10
    669. ;   Loop To     index   loops   location
    670.     smpsLoop    $00,    $07,    GHZ_Loop13
    671.     dc.b        dKick,  $10,    dSnare, $08,    dKick,  $10,    dSnare, $08
    672.     dc.b        $08,    $08
    673. GHZ_Loop14:
    674.     dc.b        dKick,  $10,    dSnare, $08,    dKick,  $10,    $08,    dSnare
    675.     dc.b        $10
    676. ;   Loop To     index   loops   location
    677.     smpsLoop    $00,    $07,    GHZ_Loop14
    678.     dc.b        dKick,  $10,    dSnare, $08,    dKick,  $10,    dSnare, $08
    679.     dc.b        $08,    $08
    680. ;   Loop To     index   loops   location
    681.     smpsLoop    $01,    $02,    GHZ_Loop14
    682. ;   Jump To     location
    683.     smpsJump    GHZ_Loop14
    684.  
    685. GHZ_Voices:
    686. ;   Voice 00
    687. ;   $08,$0A,$70,$30,$00,$1F,$1F,$5F,$5F,$12,$0E,$0A,$0A,$00,$04,$04,$03,$2F,$2F,$2F,$2F,$24,$2D,$13,$80
    688. ;               #
    689.     smpsVcAlgorithm     $00
    690.     smpsVcFeedback      $01
    691. ;               op1 op2 op3 op4
    692.     smpsVcDetune        $00,    $03,    $07,    $00
    693.     smpsVcCoarseFreq    $00,    $00,    $00,    $0A
    694.     smpsVcRateScale     $01,    $01,    $00,    $00
    695.     smpsVcAttackRate    $1F,    $1F,    $1F,    $1F
    696.     smpsVcAmpMod        $00,    $00,    $00,    $00
    697.     smpsVcDecayRate1    $0A,    $0A,    $0E,    $12
    698.     smpsVcDecayRate2    $03,    $04,    $04,    $00
    699.     smpsVcDecayLevel    $02,    $02,    $02,    $02
    700.     smpsVcReleaseRate   $0F,    $0F,    $0F,    $0F
    701.     smpsVcTotalLevel    $80,    $13,    $2D,    $24
    702.  
    703. ;   Voice 01
    704. ;   $20,$36,$35,$30,$31,$DF,$DF,$9F,$9F,$07,$06,$09,$06,$07,$06,$06,$08,$20,$10,$10,$F8,$19,$37,$13,$80
    705. ;               #
    706.     smpsVcAlgorithm     $00
    707.     smpsVcFeedback      $04
    708. ;               op1 op2 op3 op4
    709.     smpsVcDetune        $03,    $03,    $03,    $03
    710.     smpsVcCoarseFreq    $01,    $00,    $05,    $06
    711.     smpsVcRateScale     $02,    $02,    $03,    $03
    712.     smpsVcAttackRate    $1F,    $1F,    $1F,    $1F
    713.     smpsVcAmpMod        $00,    $00,    $00,    $00
    714.     smpsVcDecayRate1    $06,    $09,    $06,    $07
    715.     smpsVcDecayRate2    $08,    $06,    $06,    $07
    716.     smpsVcDecayLevel    $0F,    $01,    $01,    $02
    717.     smpsVcReleaseRate   $08,    $00,    $00,    $00
    718.     smpsVcTotalLevel    $80,    $13,    $37,    $19
    719.  
    720. ;   Voice 02
    721. ;   $36,$0F,$01,$01,$01,$1F,$1F,$1F,$1F,$12,$11,$0E,$00,$00,$0A,$07,$09,$FF,$0F,$1F,$0F,$18,$80,$80,$80
    722. ;               #
    723.     smpsVcAlgorithm     $06
    724.     smpsVcFeedback      $06
    725. ;               op1 op2 op3 op4
    726.     smpsVcDetune        $00,    $00,    $00,    $00
    727.     smpsVcCoarseFreq    $01,    $01,    $01,    $0F
    728.     smpsVcRateScale     $00,    $00,    $00,    $00
    729.     smpsVcAttackRate    $1F,    $1F,    $1F,    $1F
    730.     smpsVcAmpMod        $00,    $00,    $00,    $00
    731.     smpsVcDecayRate1    $00,    $0E,    $11,    $12
    732.     smpsVcDecayRate2    $09,    $07,    $0A,    $00
    733.     smpsVcDecayLevel    $00,    $01,    $00,    $0F
    734.     smpsVcReleaseRate   $0F,    $0F,    $0F,    $0F
    735.     smpsVcTotalLevel    $80,    $80,    $80,    $18
    736.  
    737. ;   Voice 03
    738. ;   $3D,$01,$02,$02,$02,$14,$0E,$8C,$0E,$08,$05,$02,$05,$00,$0D,$0D,$0D,$1F,$1F,$1F,$1F,$1A,$80,$80,$80
    739. ;               #
    740.     smpsVcAlgorithm     $05
    741.     smpsVcFeedback      $07
    742. ;               op1 op2 op3 op4
    743.     smpsVcDetune        $00,    $00,    $00,    $00
    744.     smpsVcCoarseFreq    $02,    $02,    $02,    $01
    745.     smpsVcRateScale     $00,    $02,    $00,    $00
    746.     smpsVcAttackRate    $0E,    $0C,    $0E,    $14
    747.     smpsVcAmpMod        $00,    $00,    $00,    $00
    748.     smpsVcDecayRate1    $05,    $02,    $05,    $08
    749.     smpsVcDecayRate2    $0D,    $0D,    $0D,    $00
    750.     smpsVcDecayLevel    $01,    $01,    $01,    $01
    751.     smpsVcReleaseRate   $0F,    $0F,    $0F,    $0F
    752.     smpsVcTotalLevel    $80,    $80,    $80,    $1A
    753.  
    754. ;   Voice 04
    755. ;   $2C,$72,$78,$34,$34,$1F,$12,$1F,$12,$00,$0A,$00,$0A,$00,$00,$00,$00,$0F,$1F,$0F,$1F,$16,$80,$17,$80
    756. ;               #
    757.     smpsVcAlgorithm     $04
    758.     smpsVcFeedback      $05
    759. ;               op1 op2 op3 op4
    760.     smpsVcDetune        $03,    $03,    $07,    $07
    761.     smpsVcCoarseFreq    $04,    $04,    $08,    $02
    762.     smpsVcRateScale     $00,    $00,    $00,    $00
    763.     smpsVcAttackRate    $12,    $1F,    $12,    $1F
    764.     smpsVcAmpMod        $00,    $00,    $00,    $00
    765.     smpsVcDecayRate1    $0A,    $00,    $0A,    $00
    766.     smpsVcDecayRate2    $00,    $00,    $00,    $00
    767.     smpsVcDecayLevel    $01,    $00,    $01,    $00
    768.     smpsVcReleaseRate   $0F,    $0F,    $0F,    $0F
    769.     smpsVcTotalLevel    $80,    $17,    $80,    $16
    770.  
    771. ;   Voice 05
    772. ;   $2C,$74,$74,$34,$34,$1F,$12,$1F,$1F,$00,$00,$00,$00,$00,$01,$00,$01,$0F,$3F,$0F,$3F,$16,$80,$17,$80
    773. ;               #
    774.     smpsVcAlgorithm     $04
    775.     smpsVcFeedback      $05
    776. ;               op1 op2 op3 op4
    777.     smpsVcDetune        $03,    $03,    $07,    $07
    778.     smpsVcCoarseFreq    $04,    $04,    $04,    $04
    779.     smpsVcRateScale     $00,    $00,    $00,    $00
    780.     smpsVcAttackRate    $1F,    $1F,    $12,    $1F
    781.     smpsVcAmpMod        $00,    $00,    $00,    $00
    782.     smpsVcDecayRate1    $00,    $00,    $00,    $00
    783.     smpsVcDecayRate2    $01,    $00,    $01,    $00
    784.     smpsVcDecayLevel    $03,    $00,    $03,    $00
    785.     smpsVcReleaseRate   $0F,    $0F,    $0F,    $0F
    786.     smpsVcTotalLevel    $80,    $17,    $80,    $16
    787.  
    788. ;   Voice 06
    789. ;   $04,$72,$42,$32,$32,$12,$12,$12,$12,$00,$08,$00,$08,$00,$08,$00,$08,$0F,$1F,$0F,$1F,$23,$80,$23,$80
    790. ;               #
    791.     smpsVcAlgorithm     $04
    792.     smpsVcFeedback      $00
    793. ;               op1 op2 op3 op4
    794.     smpsVcDetune        $03,    $03,    $04,    $07
    795.     smpsVcCoarseFreq    $02,    $02,    $02,    $02
    796.     smpsVcRateScale     $00,    $00,    $00,    $00
    797.     smpsVcAttackRate    $12,    $12,    $12,    $12
    798.     smpsVcAmpMod        $00,    $00,    $00,    $00
    799.     smpsVcDecayRate1    $08,    $00,    $08,    $00
    800.     smpsVcDecayRate2    $08,    $00,    $08,    $00
    801.     smpsVcDecayLevel    $01,    $00,    $01,    $00
    802.     smpsVcReleaseRate   $0F,    $0F,    $0F,    $0F
    803.     smpsVcTotalLevel    $80,    $23,    $80,    $23
    804.  
    805. ;   Voice 07
    806. ;   $3D,$01,$02,$02,$02,$10,$50,$50,$50,$07,$08,$08,$08,$01,$00,$00,$00,$20,$17,$17,$17,$1C,$80,$80,$80
    807. ;               #
    808.     smpsVcAlgorithm     $05
    809.     smpsVcFeedback      $07
    810. ;               op1 op2 op3 op4
    811.     smpsVcDetune        $00,    $00,    $00,    $00
    812.     smpsVcCoarseFreq    $02,    $02,    $02,    $01
    813.     smpsVcRateScale     $01,    $01,    $01,    $00
    814.     smpsVcAttackRate    $10,    $10,    $10,    $10
    815.     smpsVcAmpMod        $00,    $00,    $00,    $00
    816.     smpsVcDecayRate1    $08,    $08,    $08,    $07
    817.     smpsVcDecayRate2    $00,    $00,    $00,    $01
    818.     smpsVcDecayLevel    $01,    $01,    $01,    $02
    819.     smpsVcReleaseRate   $07,    $07,    $07,    $00
    820.     smpsVcTotalLevel    $80,    $80,    $80,    $1C
    821.  
    822. ;   Voice 08
    823. ;   $2C,$74,$74,$34,$34,$1F,$12,$1F,$1F,$00,$07,$00,$07,$00,$07,$00,$07,$00,$38,$00,$38,$16,$80,$17,$80
    824. ;               #
    825.     smpsVcAlgorithm     $04
    826.     smpsVcFeedback      $05
    827. ;               op1 op2 op3 op4
    828.     smpsVcDetune        $03,    $03,    $07,    $07
    829.     smpsVcCoarseFreq    $04,    $04,    $04,    $04
    830.     smpsVcRateScale     $00,    $00,    $00,    $00
    831.     smpsVcAttackRate    $1F,    $1F,    $12,    $1F
    832.     smpsVcAmpMod        $00,    $00,    $00,    $00
    833.     smpsVcDecayRate1    $07,    $00,    $07,    $00
    834.     smpsVcDecayRate2    $07,    $00,    $07,    $00
    835.     smpsVcDecayLevel    $03,    $00,    $03,    $00
    836.     smpsVcReleaseRate   $08,    $00,    $08,    $00
    837.     smpsVcTotalLevel    $80,    $17,    $80,    $16
    838.     even
    Yeah, it's huge, but it's a lot more understandable, and editable. Especially for jumps, loops and calls.

    Do note, though, this is for SONIC 1 SMPS FORMAT ONLY music. No support for Sonic 2, or Sonic 3K is in this yet. I will add it sooner or later, but for now this is it.

    So, I guess you want a link to this then..
    http://www.hapisan.com/s1smps2asm.rar

    Questions, comments, problems, post here or PM me.
    Enjoy, I guess. :U
     
  2. FraGag

    FraGag

    Tech Member
    You release this just as I am making a visual editor for SMPS... Great work though.
     
  3. Cinossu

    Cinossu

    Administrator
    2,832
    44
    28
    London, UK
    Sonic the Hedgehog Extended Edition
    If it includes a stave/pianoroll, I look forward to it. Add support for this format whilst you're at it. :U (Or just include the program in the save process, I can write a quiet version that takes arguments.)

    EDIT: If you've already downloaded, redownload it. I left a small bug to do with DAC in there. Fixed it now.
     
  4. FraGag

    FraGag

    Tech Member
    That's what is intended. ;) I have a free font (Emmentaler) containing musical symbols that I want to use.
    Actually, there's no need for a quiet version. Something like this would perhaps work:
    Code (Text):
    1. echo C:\path_to_music\music8x^Mproject_name^MY | s1smps2asm > NUL
    ...if newlines can go in a command "line" (otherwise, I'd make a temporary file and send it via type or find a way to hook the input). Of course, a quiet version would be much less trouble :P. However, since my program is written in C++ (and using wxWidgets in hope of making it cross-platform), a library could be another option.
     
  5. Lyrica

    Lyrica

    (Formerly: Donnyku) Oldbie
    1,369
    39
    28
    Pennsylvania
    Wedding Planning
    nice Marc, even if I have no clue about any of this, I'm sure others will find it quite useful
     
  6. Cinossu

    Cinossu

    Administrator
    2,832
    44
    28
    London, UK
    Sonic the Hedgehog Extended Edition
    I was thinking of doing a quiet version purely for batch jobs, too.

    Speaking of batch jobs, here's the whole set of Sonic 1 music in ASM format.
    http://www.hapisan.com/s1music_asm.rar

    Do note some of the later calls after DAC using exact bytes for playing notes. This is because the data was added after the DAC channel. In a future version I'll make it check where a call/jump/loop comes from and alter the noteshow/dacshow accordingly.
     
  7. Spanner

    Spanner

    The Tool Member
    Nice work you've got there, I may have a use for S1SMPS2ASM for DAC stuff.
     
  8. Cinossu

    Cinossu

    Administrator
    2,832
    44
    28
    London, UK
    Sonic the Hedgehog Extended Edition
    Version 1.1 released, see first post for details.
     
  9. roxahris

    roxahris

    Everyone's a hypocrite. Take my word for it. Member
    1,224
    0
    0
    Doing anything at all
    That was pretty quick... about eight hours by my guess (since I first saw it, of course). Anyway, excellent work, and hopefully I will find a use for this. Why, it might even help me to make my music sound better!
     
Thread Status:
Not open for further replies.