Future Wars Music Demo

All about modules/digital tunes in a variety of tracker & sampled formats

Moderators: Mug UK, lotek_style, Moderator Team

junosix
Captain Atari
Captain Atari
Posts: 301
Joined: Sun Jul 08, 2007 3:22 pm
Location: Plymouth

Future Wars Music Demo

Postby junosix » Sat Dec 28, 2019 6:17 am

I started whistling the intro to Future Wars the other day and wondered how possible it would be to put the Amiga music into an STE version (instead of the original STE-enhanced version that just streams a sample from side B of the disk). Wrote a replay routine that plays the file format used for it which unfortunately turned out to be too slow to make the game playable so decided to make a little music disk out of my efforts. It doesn't support any effects but the FW musician only used them sparingly, which mainly means one of the songs has an out of tune instrument in some places.

Music disk attached to post.
You do not have the required permissions to view the files attached to this post.
Last edited by junosix on Sat Dec 28, 2019 1:00 pm, edited 1 time in total.

User avatar
matt
Captain Atari
Captain Atari
Posts: 344
Joined: Tue Jan 04, 2005 5:11 pm
Location: Cornwall, UK
Contact:

Re: Future Wars Music Demo

Postby matt » Sat Dec 28, 2019 11:24 am

Nicely done!

The opening scene from Future Wars is scorched into my brain.

junosix
Captain Atari
Captain Atari
Posts: 301
Joined: Sun Jul 08, 2007 3:22 pm
Location: Plymouth

Re: Future Wars Music Demo

Postby junosix » Sat Dec 28, 2019 12:18 pm

As scorched as the characters in it?

I love Jean Baudlot's music. He also represented Monaco in the 1979 Eurovision Song Contest.

User avatar
Cyprian
10 GOTO 10
10 GOTO 10
Posts: 1794
Joined: Fri Oct 04, 2002 11:23 am
Location: Warsaw, Poland

Re: Future Wars Music Demo

Postby Cyprian » Sat Dec 28, 2019 12:20 pm

Junosix nice project
Unfortunately under US TOS (60Hz) and it sounds badly
Lynx II / Jaguar / TT030 / Mega STe / 800 XL / 1040 STe / Falcon030 / 65 XE / 520 STm / SM124 / SC1435
SDrive / PAK68/3 / Lynx Multi Card / LDW Super 2000 / XCA12 / SkunkBoard / CosmosEx / SatanDisk / UltraSatan / USB Floppy Drive Emulator / Eiffel / SIO2PC / Crazy Dots / PAM Net
Hatari / Steem SSE / Aranym / Saint
http://260ste.appspot.com/

junosix
Captain Atari
Captain Atari
Posts: 301
Joined: Sun Jul 08, 2007 3:22 pm
Location: Plymouth

Re: Future Wars Music Demo

Postby junosix » Sat Dec 28, 2019 1:01 pm

Oh yeah! Forgot about that. Have updated the attachment with one that sets 50Hz.

mlynn1974
Captain Atari
Captain Atari
Posts: 287
Joined: Mon Mar 03, 2008 10:33 pm
Contact:

Re: Future Wars Music Demo

Postby mlynn1974 » Sat Dec 28, 2019 1:04 pm

Nice. The music is in SoundFX format:
https://www.exotica.org.uk/wiki/SoundFX
How much CPU time does the replay routine take? Is it STE enhanced to use DMA sound replay? It sounds a bit quieter on Steem SSE.

I have looked to see if there is a SoundFX to ProTracker module converter because .mod players (e.g. Wizzcat's Module Player) might use a bit less CPU time but I cannot find one.

For Windows users: the tunes can be replayed using BZR Player.
Still got, still working: Atari 4Mb STe, 520STFM, 2.5Mb STF.
Hardware: Cumana CSA 354, Ultimate Ripper, Blitz Turbo, Synchro Express II (US and UK Versions).

User avatar
MiggyMog
Atari Super Hero
Atari Super Hero
Posts: 873
Joined: Sun Oct 30, 2005 4:43 pm
Location: Scotland

Re: Future Wars Music Demo

Postby MiggyMog » Sat Dec 28, 2019 7:47 pm

That's cool, good work. I bought the Original to hear the STE enhanced version but they seemed to have screwed it up on the kixx xl version so I took it back. I always thought that it used some rudimentary multi channel sequencer similar to BAT, I am a bit disappointed to hear it just streamed it from disk, but I guess that playing a simple sample is what the DAC is good at without hard work. I had a quick listen on Hataroid and it seemed a bit clicky, I suspect that is the emulator though. I will try on real STE. It might be nice to disable the keyboard beep ? Do you have any plan for an STF version? I have a playback cartridge I could test it with if you are motivated in supporting that :wink:
('< o o o o |''| STM,2xSTFM,2xSTE+HD,C-Lab Falcon MK2+HD,Satandisk,Ultrasatandisk,Ethernat.

mlynn1974
Captain Atari
Captain Atari
Posts: 287
Joined: Mon Mar 03, 2008 10:33 pm
Contact:

Re: Future Wars Music Demo

Postby mlynn1974 » Sun Dec 29, 2019 1:30 pm

I have converted the tunes from SoundFX 1.3 to MOD format by using ProWizard:
http://asle.free.fr/prowiz

The converter isn't perfect, but it's very good and would allow different music players to be used that might use less CPU time e.g. Wizzcat's player.

Timing
I had to do a Tempo Correction in fwars.mod by setting the tempo to 160 (was: 125 by default) by using the FA0 command in the first position in the first pattern. I'm not a module expert but that should work. Using CIA timing is preferable because it will run at the same speed on PAL\NTSC machines.
You do not have the required permissions to view the files attached to this post.
Still got, still working: Atari 4Mb STe, 520STFM, 2.5Mb STF.
Hardware: Cumana CSA 354, Ultimate Ripper, Blitz Turbo, Synchro Express II (US and UK Versions).

mlynn1974
Captain Atari
Captain Atari
Posts: 287
Joined: Mon Mar 03, 2008 10:33 pm
Contact:

Re: Future Wars Music Demo

Postby mlynn1974 » Sun Dec 29, 2019 2:36 pm

I'm not sure how you'd get the tunes into the game.
If we take the crack by Delight (2 disks) and increase them to 82 tracks, 10 sectors, 2 sides we'd have an extra 100k on disk 1 and 400k on disk 2.
You'd then have to disassemble the game code and patch any chiptune calls to malloc\load\play and stop\free the modules. Not an easy job.
Still got, still working: Atari 4Mb STe, 520STFM, 2.5Mb STF.
Hardware: Cumana CSA 354, Ultimate Ripper, Blitz Turbo, Synchro Express II (US and UK Versions).

junosix
Captain Atari
Captain Atari
Posts: 301
Joined: Sun Jul 08, 2007 3:22 pm
Location: Plymouth

Re: Future Wars Music Demo

Postby junosix » Sun Dec 29, 2019 3:17 pm

Do you know how much CPU/memory the Wizzcat routine takes?

Have already disassembled the code and have found the music replay routine (Timer C that does a trap #9 to the routine that fills the YM registers), and done a rudimentary patch to my replay code as a test. Original game came on three single-sided disks so making them double-sided will have enough room to fit the modules.

mlynn1974
Captain Atari
Captain Atari
Posts: 287
Joined: Mon Mar 03, 2008 10:33 pm
Contact:

Re: Future Wars Music Demo

Postby mlynn1974 » Sun Dec 29, 2019 4:56 pm

Using basic timing:
STFM at 12.288kHz: 25% approximately
STE at 12.517kHz: 30% approximately
To estimate the CPU time I put a raster in the interrupt service routine.

On the STE the ISR is hit about 5 times per vertical blank taking about 18 scanlines each time:
(90 / 313) * 100 = 28.75% CPU time approximately.
This was tested on STEEM.
Still got, still working: Atari 4Mb STe, 520STFM, 2.5Mb STF.
Hardware: Cumana CSA 354, Ultimate Ripper, Blitz Turbo, Synchro Express II (US and UK Versions).

junosix
Captain Atari
Captain Atari
Posts: 301
Joined: Sun Jul 08, 2007 3:22 pm
Location: Plymouth

Re: Future Wars Music Demo

Postby junosix » Mon Dec 30, 2019 3:26 am

Have you got an example of how the Wizzcat one sounds? I tried compiling wizzcat.s from dhs.nu as-is with one of the converted .mods from your attachment but get 4 bombs.

My routine takes 35% (c.112 scanlines) at 25kHz (multiplexed 50kHz), and 18% (c.57 scanlines) at 12.5kHz (multiplexed 25kHz) - still clicky in places at the moment. Have attached new file with both versions with raster line measurement.
You do not have the required permissions to view the files attached to this post.

mlynn1974
Captain Atari
Captain Atari
Posts: 287
Joined: Mon Mar 03, 2008 10:33 pm
Contact:

Re: Future Wars Music Demo

Postby mlynn1974 » Tue Dec 31, 2019 11:40 am

Yes you get 4 bombs if the sample stack size is too small (default: 16384 bytes). I have set it to 32768 bytes in my example.

I have attached an example including the source code.
The combined player has both STFM and STE replay routines and machine detection using the _MCH cookie.
This was originally designed for use in STOS but I have written a simple test function.

There is something strange about the STE routine that if CCONWS (function 9, trap #1) is used to print info before the music starts on STEEM (all versions, TOS 1.62) it crashes on exit. This used to work fine if the routine was called from STOS so I don't know what's causing that. It's OK if cconws isn't used at all.

The raster is set by simply setting the border colour in the interrupt service routine.
The main loop simply waits for the vertical blank and exits if the space bar is pressed.
You do not have the required permissions to view the files attached to this post.
Still got, still working: Atari 4Mb STe, 520STFM, 2.5Mb STF.
Hardware: Cumana CSA 354, Ultimate Ripper, Blitz Turbo, Synchro Express II (US and UK Versions).

User avatar
MiggyMog
Atari Super Hero
Atari Super Hero
Posts: 873
Joined: Sun Oct 30, 2005 4:43 pm
Location: Scotland

Re: Future Wars Music Demo

Postby MiggyMog » Tue Jan 07, 2020 12:28 am

Have wee you seen this rout by metal ages ? https://github.com/gibs75/demOS/blob/ma ... /README.md
('< o o o o |''| STM,2xSTFM,2xSTE+HD,C-Lab Falcon MK2+HD,Satandisk,Ultrasatandisk,Ethernat.

junosix
Captain Atari
Captain Atari
Posts: 301
Joined: Sun Jul 08, 2007 3:22 pm
Location: Plymouth

Re: Future Wars Music Demo

Postby junosix » Tue Jan 07, 2020 1:12 am

It's a really cool technique but it uses separate samples for each of the notes, and I'd prefer to do something that would require less memory in this instance (just a personal preference).

mlynn1974
Captain Atari
Captain Atari
Posts: 287
Joined: Mon Mar 03, 2008 10:33 pm
Contact:

Re: Future Wars Music Demo

Postby mlynn1974 » Wed Jan 08, 2020 8:31 pm

I have fixed my combined Wizzcat (STE and STFM) routine. There was an error in the machine detection code.
After printing with cconws d0 was trashed, so it started the STFM replay routine and then tried to stop the STE routine!
I had to call the getmachine function which returns d0: 0=stfm, 1=ste before starting the player.
The STFM replay routine at 16kHz is very scratchy but at 8kHz it's OK.
You do not have the required permissions to view the files attached to this post.
Still got, still working: Atari 4Mb STe, 520STFM, 2.5Mb STF.
Hardware: Cumana CSA 354, Ultimate Ripper, Blitz Turbo, Synchro Express II (US and UK Versions).


Social Media

     

Return to “The Digital Department”

Who is online

Users browsing this forum: No registered users and 6 guests