Jump to content
Xuel

SAP Conversions

Recommended Posts

I'm opening a thread where people can post requests for new SAP conversions. In other words, if you can't already find it in the ASMA, and you would like an SAP version of the music in a game, demo or other program, post it here and I or someone else can take a crack at converting it.

 

Here's an example conversion: 

 

  • Like 4

Share this post


Link to post
Share on other sites

These conversions were easy, because I have the RMT files, but I thought I'd share them anyway. Plus, I'd like them being preserved by ASMA :)

 

Atari Invasion Invitation

Raining Blood by Slayer Cover

Released on NYD 2019

02:46

rain.sap

 

Hallowed Be Thy Name

Iron Maiden Cover

SV2K19 Music Compo

9th place

03:26

hbtn.sap

 

Procrastinate

Based on Koyaanisqatsi, Iron Maiden gallop, and New Dawn Fades

Philip Glass, Steve Harris, and Ian Curtis

SV2K19 16K Demo Compo (w/ @F#READY and FRS for visuals)

1st place

04:46

procrastinate.sap

 

Koyaanisqatsi (Long Version)

Early demo, full arrangement

Previously unreleased

03:05

koyaanisqatsi-long.sap

 

 

Edit: added duration of each song. All .sap files should have them set correctly and proper players should stop and go to the next song :)

Edited by ivop
  • Like 4

Share this post


Link to post
Share on other sites
2 minutes ago, tane said:

Is there a way to convert a SAP to RTM in order to use them in asm codes?

For the most part, the SAP format is just a container for a standard Atari object file. Thus, you can strip off the SAP header and directly include it in your own code if you can place your own code such that it doesn't collide with the SAP code and data. You can use a tool like xex-filter, ataricom to get info about the segments in a SAP file with the header removed. Or you can use my disassembler, dis to examine the segments in a SAP file directly.

 

If the music in the SAP file happens to have originated as an RMT file, and was converted by ASAP, RMT itself, or another standard tool, then you could theoretically extract the RMT data, throwing out the RMT player code, to reconstruct the RMT file. I don't know of an automated way to do this.

 

SAP also supports a few other types of content which are not self-contained object files, e.g. TYPE-R which is just a sequence of register values for the POKEY registers. If you have a TYPE-R SAP you can convert it to executable code with dmsc's lzss-sap tool.

  • Like 3

Share this post


Link to post
Share on other sites

Thank you for your comprehensive explanation. Not an expert disassembling, I tried with DIS6502, but it doesn't show segments to the SAP attached.

BM.sap

Share this post


Link to post
Share on other sites
13 hours ago, tane said:

Thank you for your comprehensive explanation. Not an expert disassembling, I tried with DIS6502, but it doesn't show segments to the SAP attached.

BM.sap 1.31 kB · 4 downloads

You have to remove the SAP header in order for dis6502 to recognize it as an object file. I've done that for you here:

 

bluemax.zip

 

BM-stripped.obx is just the object file part of the SAP. I also included BM.asm which is the disassembly that dis produced from the SAP file.

 

Cheers,

Lyren

  • Thanks 1

Share this post


Link to post
Share on other sites
56 minutes ago, Xuel said:

I've done that for you here:

 

Thanks a lot, now it enables the music to be exported to a code.

 

This is a screen example with music (made by pps): Screen with music.zip

It mixes the screen of RastaConverter with a RMT music file.

 

I'm trying to do something similar, a screen with music, but instead taking the output of Graph2Font (a xex or asm) and then add the music. Still many things to understand how.

 

  • Like 2

Share this post


Link to post
Share on other sites
On 2/7/2020 at 2:33 PM, Poison said:

Great! Thank you :)

I wrote a small program, cmcdecode.pl, to search for CMC tunes in a memory dump and then write them out to separate files. There are seven tunes which are in memory during game play in Jurassic Park II. I've also included cmcdecode.pl:

 

jp2-cmc.zip

 

If you want to try cmcdecode, just load up a program in Altirra which is playing a CMC tune, drop into the debugger and type ".writemem dump.mem 0 L10000". Then run the script as:

cmcdecode.pl dump.mem -out jp2

It will print something like this if it finds the CMC tunes:

INFO: Writing jp231A0.cmc
INFO: Writing jp23944.cmc
INFO: Writing jp24C00.cmc
INFO: Writing jp25300.cmc
INFO: Writing jp28650.cmc
INFO: Writing jp28DF0.cmc
INFO: Writing jp292A0.cmc

You can then load these in Chaos Music Composer as normal. The script also supports -reloc XXXX to set the tune address. It defaults to 8400. You can also use -report instead of -out to get a text dump of the tunes.

  • Like 2
  • Thanks 1

Share this post


Link to post
Share on other sites

Hi Xuel,

only few of my games/demos have music added to asma database.

Most of them are available in source format (mostly RMT) here: https://sourceforge.net/u/matosimi/profile/

But for instance Laser Blaster is TMC2.0 (no idea which version) ... and MindFuck is also TMC2.0 but I think it is quite uncommon version... like 2.0e (if something like that exists).

Monex has two CMC tunes that are in asma already i think, @Poison would know.

Quarrion and Nemezyro are CMCDouble tunes.

Remaining stuff is RMT.

Could you add it all to ASMADB? or it would be easier for you if I send you zip with all the modules?

M.

Share this post


Link to post
Share on other sites
On 2/12/2020 at 10:59 AM, matosimi said:

Could you add it all to ASMADB? or it would be easier for you if I send you zip with all the modules?

Good question. My main purpose of this thread was to provide a central place for people to congregate to do the conversions but the obvious next step would be to request their addition to the ASMADB. The ASMA has instructions for sending in new contributions:

 

http://asma.scene.pl/ASMA/browser/trunk/asma/Docs/Contribute.txt

 

I believe the email address to send them to is [email protected]

 

I just noticed that I'm listed as a contributor in the ASMA:

 

http://asma.scene.pl/ASMA/browser/trunk/asma/Docs/Asma.txt

 

I don't remember explicitly doing this but maybe someone uploaded one of my conversions at one point. Cool. :)

 

In any case, you might be better positioned to submit your own tunes since you know all of the relevant meta information. If you need help converting them to SAP, feel free to send them to me. PM is fine.

Share this post


Link to post
Share on other sites
18 hours ago, Xuel said:

I don't remember explicitly doing this but maybe someone uploaded one of my conversions at one point. Cool. :)

That was me. :D

  • Like 2

Share this post


Link to post
Share on other sites
On 2/13/2020 at 6:25 PM, Xuel said:

I believe the email address to send them to is [email protected]

 

I just converted everything to SAP format... together 51 SAP files, some of them with subsongs (already emailed to address  above).

It was quite fun, especially for mindfuck then nemezyro, quarrion, back to the cyberspace, skyscraper, castle defender... all of them are custom-built SAP files with modified players. (my custom stereomodes for RMT, CMC stereo double and mindfuck created in ultra rare version of TMC)

matosimi_SAP_conversions.zip

Edited by matosimi
typo
  • Like 2

Share this post


Link to post
Share on other sites

Question...

 

I've run across some NTSC designed games that don't have the NTSC flag in the SAP, so they are played back at the wrong tempo.

 

Is there an easy way to suggest these for updates?

  • Like 1

Share this post


Link to post
Share on other sites

If you are still offering to do this....

Is it even possible to do a really long rip of ballblazer to SAP?

 

Not one of the boring versions but the one that is all random and jazzy?

 

There are two listed in ASMADB,

  • ballblaster.sap 5006 bytes - this is a boring version with no jazzy bits!
  • ballblazer.sap 2814 bytes - this is jazzy but cuts off after only 5 mins mid loop.

As it is an algorithmically generated piece of music I would love an hour long one!

 

I like to make Stereo versions of Classic Atari 8 bit music, like Passionately....

 

 

 

I have attached what I have done so far with the version of BallBlazer that cuts off...

 

If you can help I would be most appreciative. I will reciprocate with a stereo version of a tune of your choice!! :)

BallBlazerStereo_Cuts_Off.mp3

Edited by BoroPaul
  • Like 1

Share this post


Link to post
Share on other sites

Thank you Thank you Thank you and a thousand times Thank you!!

 

I was so giddy with excitement when I saw your post, I downloaded the file, started ripping out the tracks one by one. I felt like a kid again.

And it is great, I can certainly make a stereo version from it. In fact I have already.

Yet there is something odd here. Tracks 2 and 4 are digitally identical! They are a dupe.

So you match the ASMADB ballblazer.sap (attached) on tracks 1 2 and 3 but your track 4 is a dupe of track 2 and the ASMADB's track 4 is the random track all on its own.

You can SEE this random track 4 in this video.. 
Track 1 Combo Bass / Chord / Occasional Drum
Track 2 Combo Drum / Chord
Track 3 Combo Drum / Chord / Random (Slightly Quieter and 5 frames behind Track 4)
Track 4 Solo Random 


Is there is another version? Or is the ASMADB sap the 7800 track? Or did you accidently dupe 2 over to 4?

 

Again, I am not being negative, I am incredibly grateful that you did this for me., it is just very, very odd!!

Ballblazer.sap Ballblazerchan4.mp3

Yourchan2.mp3 Yourchan4.mp3

Edited by BoroPaul
Got rid of the hour long versions of Yourchan2 and Yourchan4 and replaced with just the first 70 secs

Share this post


Link to post
Share on other sites
13 hours ago, BoroPaul said:

Is there is another version? Or is the ASMADB sap the 7800 track? Or did you accidently dupe 2 over to 4?

 

Again, I am not being negative, I am incredibly grateful that you did this for me., it is just very, very odd!!

The only thing I did is take the SAP file you said contained the right first song, and hexedited 05:xx.xxx to 65:xx.xxx :)

 

Edit: which player do you use?

$ asapconv -o bla.wav Ballblazer.sap
$ mpv bla.wav
Playing: bla.wav
 (+) Audio --aid=1 (pcm_s16le 1ch 44100Hz)
AO: [alsa] 48000Hz mono 1ch s16
A: 00:00:22 / 01:05:26 (0%)

Exiting... (Quit)

I definitely hear the fourth channel slowly increasing in volume.

 

Edit2: altirra plays the .sap file fine, too.

Edited by ivop

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...