Jump to content

Photo

"1942" music from C64 (abridged)


10 replies to this topic

#1 OLD CS1 OFFLINE  

OLD CS1

    Technomancer

  • 5,692 posts
  • Technology Samurai
  • Location:Tallahassee, FL

Posted Sat Nov 25, 2017 12:15 AM

This is an abridged work-in-progress conversion of the Commodore 64 music from 1942 by Mark Cooksey.  The Commodore 64 is one of the only home computer conversions of the game which has music.

 

The C64 music is three minutes and four seconds long due to a LOT of repeated segments.  This skeletal release is not that long as it only has each segment play once, with a short repeat of the first couple of segments, and no segue from the full song end to beginning.  The final product will have some tremolo and vibrato in appropriate spots, and I have been working up new parts of my manipulation script to output VGM modules and data compatible with Tursi's VGMPlayer.  The script parts are not perfected yet but getting closer to producing usable output. :)

 

Anyway, I hope you enjoy my musical rendition.

 

1942 title music on TMS-9919

(newer version in later post)

Attached File  1942_parts1-2(nb)(abridged)(wip)(adj).mp3   967.69KB   33 downloads

 

Original C64 SID music (full length clipped at song repeat segue)

Attached File  1942(subtune_1).mp3   2.24MB   19 downloads



#2 Asmusr OFFLINE  

Asmusr

    River Patroller

  • 2,908 posts
  • Location:Denmark

Posted Sat Nov 25, 2017 2:45 AM

Very nice. So this is played using Tursi's VGM player?



#3 OLD CS1 OFFLINE  

OLD CS1

    Technomancer

  • Topic Starter
  • 5,692 posts
  • Technology Samurai
  • Location:Tallahassee, FL

Posted Sat Nov 25, 2017 9:20 AM

Very nice. So this is played using Tursi's VGM player?

 

Thank you.  It is not, yet.  This is ISR format played by your SoundListRipper.  My Rexx script for manipulating sound list binaries now outputs VGM and VGMPlayer data, BUT so far neither produces working output (they are both quick-n-dirty write-ups.)  I will be working on them.



#4 Tursi OFFLINE  

Tursi

    Quadrunner

  • 5,322 posts
  • HarmlessLion
  • Location:BUR

Posted Sat Nov 25, 2017 6:35 PM

Sounding nice!



#5 OLD CS1 OFFLINE  

OLD CS1

    Technomancer

  • Topic Starter
  • 5,692 posts
  • Technology Samurai
  • Location:Tallahassee, FL

Posted Sat Nov 25, 2017 11:23 PM

Thanks.  Here is another quick put-together.  I lengthened the song by adding another repeated middle and the last verse/segue with a full repeat.  I am done with it for now until I add a little more body.  It will definitely benefit from conversion as even with just the individual patterns it runs about 4k (soooo much repeated data.)

 

I will also increase attenuation a little.  Everything is "0" right now, and to avoid popping between notes I use 14 rather than 15.  This makes the space between notes a little fuller and gives an echo-like quality in some places.

 

Attached File  1942(nb)(abridged)(wip-IABCDABCDE)(adj).mp3   2.82MB   17 downloads



#6 OLD CS1 OFFLINE  

OLD CS1

    Technomancer

  • Topic Starter
  • 5,692 posts
  • Technology Samurai
  • Location:Tallahassee, FL

Posted Sat Dec 16, 2017 2:25 AM

Give this a try.
 
Attached File  1942.vgm   7.25KB   5 downloads
 
My problem was trying to use v1.01 VGM spec.  Changed to v1.10 and AudioOverload plays output files properly.
 
For any Rexx geeks, the procedure to produce is below where the stem variable sound_list contains rows of sound data in ISR format, and leaf 0 contains the number of rows.  I originally sent the variable vgmcmd directly to the file but I had to prepare for the "Total # samples" field at 0x18 to be required, so I build a new stem variable vgmstring to output after the modified header if necessary (along with the unused vgmlength variable.)
 
(EDIT: using another song I found the code below does not handle durations longer than 89 jiffies, resulting in a wait longer than 65536 ticks. I will fix this in my next iteration.)
Spoiler


#7 Asmusr OFFLINE  

Asmusr

    River Patroller

  • 2,908 posts
  • Location:Denmark

Posted Sat Dec 16, 2017 2:51 AM

VGMPlay says "Warning! Invalid EOF Offset 0x00! (should be: 0x1D01)". It plays, but it doesn't know the duration.



#8 OLD CS1 OFFLINE  

OLD CS1

    Technomancer

  • Topic Starter
  • 5,692 posts
  • Technology Samurai
  • Location:Tallahassee, FL

Posted Sat Dec 16, 2017 2:55 AM

VGMPlay says "Warning! Invalid EOF Offset 0x00! (should be: 0x1D01)". It plays, but it doesn't know the duration.

 

Bah... I am prepared for that but hoped I could avoid it.  Bloody standards, though the spec says this field is "mainly used to find the next track when concatanating player stubs and multiple files."  :)

 

Also, I just found that VLC Player will play VGMs, and it plays the ones I am generating without a fuss (except P3 noises are out of tune.)

 

EDIT: I assume it stops playing and the duration is just for display sake, correct?  I terminate the file with the required 0x66 command.



#9 Asmusr OFFLINE  

Asmusr

    River Patroller

  • 2,908 posts
  • Location:Denmark

Posted Sat Dec 16, 2017 4:29 AM

EDIT: I assume it stops playing and the duration is just for display sake, correct?  I terminate the file with the required 0x66 command.

 

Yes it stops.



#10 OLD CS1 OFFLINE  

OLD CS1

    Technomancer

  • Topic Starter
  • 5,692 posts
  • Technology Samurai
  • Location:Tallahassee, FL

Posted Sat Dec 16, 2017 8:13 PM

This VGM has the EOF offset fixed and VGMPlay recognizes it properly (no errors) but still does not show the duration, probably because of the missing number of wait fields*.  I had to set values of other PSG-related fields at 0x28 (SN76489 feedback) and 0x2A (SN76489 shift register width,) values 0x06 and 0x10, respectively.

 

It still does not sound correct in VLC Player.  Too bad.

 

I also attached a GD3 tag which displays fine in AudioOverload but not in VGMPlay.

 

Attached File  1942_eof-fix_gd3.vgm   7.46KB   4 downloads

 

* Well, this gives a hint: Warning! Header Samples: 0       Counted Samples: 3442740



#11 OLD CS1 OFFLINE  

OLD CS1

    Technomancer

  • Topic Starter
  • 5,692 posts
  • Technology Samurai
  • Location:Tallahassee, FL

Posted Sun Dec 17, 2017 12:55 AM

Last update.  This has the "EoF offset," "Total # samples," and necessary PSG values, plus a GD3 tag.  The GD3 tag still does not show in VGMPlay, and AudioOverload seems to ignore the "notes" element and just displays the title, again.
 
Attached File  1942_994a.vgm   7.45KB   5 downloads
 
Again for the Rexx nerds, below is the working and cleaned up script excerpt.

Spoiler





0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users