Page 1 of 1

Trackers we need to shim or upgrade

Posted: Fri May 03, 2013 9:59 pm
by JonAbbott
Looking at the master spreadsheet I've documented 222 of the 781 titles, the trackers/effect modules so far (ignoring version differences) are:

1 - BambuzleMusic
1 - BodgeMusic
1 - Coconizer
2 - D50_Syn
2 - DataVox
6 - DesktopTracker (shimmed)
2 - DSymphonyPlayer
12 - ExSound (32 bitted)
1 - GremlinSound
1 - IronVoices
49 - MusicModule (shimmed)
2 - NinjaSong
20 - QTM (32 bitted)
7 - RepMusic
1 - RSSND
1 - ScrabFX
2 - SongMod
1 - Sou_Player
1 - SoundManager
1 - SoundMaster
2 - SoundSystem
2 - SoundTracker
1 - Stasis (26/32 bit neutral)
1 - SXFM
1 - TickTock
16 - TrackerModule (32 bitted)
2 - Trk_Player (shimmed)
1 - TrkDriver
3 - Tune:Melody
1 - VoxLib (32 bitted)
3 - WFS (32 bitted)

Out of these, do we know which ones can be shimmed to QTM? Should we be looking at 32bit'ing any via disassembly the hard way?

What should I be coding into ADFFS to cater for the shims? Do we want to trap the modules being loaded and then load QTM / shim or do it manually via the boot script? Both would be seamless to the user, but obviously the latter would mean they have to be booted instead of run from the desktop. I'm not sure how big a deal that is, personally I prefer the boot method as it's more flexible.

Re: Trackers we need to shim or upgrade

Posted: Sat May 04, 2013 1:18 am
by steve3000
The easiest to 'shim' will be those that use ProTracker format, then Arc Tracker format (as it's well documented, and in the case of trackermodule already attempted/done?), more difficult will be other/unique formats, but having said that, I have some partially written concersion code for coconizer...

So from your list, 5 of the 6 should be possible. The remaining one being MusicTracker, which I've not heard of before...? It may be easy though, if it uses ProTracker format...

I'm not sure what these non-desktop boot scripts are? So far I've only used ADFFS by opening the ADF file and double clicking the game inside. If you have to leave the desktop, that is surely a step backwards? Even most old RiscOS 2 games support returning to desktop after use. On older 1 or 2 MB machines, where memory is tight, there's a valid reason - but otherwise, and particularly for newer 32bit computers, there should be no need to leave the desktop.

Re: Trackers we need to shim or upgrade

Posted: Sat May 04, 2013 7:11 am
by JonAbbott
steve3000 wrote:I'm not sure what these non-desktop boot scripts are? So far I've only used ADFFS by opening the ADF file and double clicking the game inside. If you have to leave the desktop, that is surely a step backwards? Even most old RiscOS 2 games support returning to desktop after use. On older 1 or 2 MB machines, where memory is tight, there's a valid reason - but otherwise, and particularly for newer 32bit computers, there should be no need to leave the desktop.
You can attach an Obey file to a JFD, which is executed when you select "Boot floppy".

At the moment ADFFS exits to the Supervisor, saves it as !Obey in the !ADFFS folder and executes it. However it's never as simple as that. To fully emulate a SHIFT-BOOT it resets the monotonic time to fool game protection into thinking the machine was actually booted.

I'm thinking of changing it to a RAMFS style file system, so we can add more that just an Obey file. Although I could just do away with it completely once I've implemented delta writes, however the disadvantage there is you're limited to the size of the floppy. The other option is to take the script out and put it in a subdirectory of ADFFS, although you'd then have to mess about with two files, with it in the JFD its transparent to the user.

It was originally a bit of a botch to get around all the poorly written !Run scripts, I'd say around 50% of them don't work due to poorly written code. If a game runs from the icon at the desktop, happy days, you don't need to boot it, however a lot of game won't load via running them from their icon.

I suppose I could change all the boot scripts so they control quitting to the supervisor and resetting the monotonic time and take it out of the ADFBootFloppy command, a few do currently go back to the Desktop to finally run the game, and very few need monotonic time resetting.

Re: Trackers we need to shim or upgrade

Posted: Sat May 04, 2013 8:54 am
by steve3000
Ok, that makes sense - so it's not intended to be a requirement for all games.

I think anything we can do to stay on the desktop should be the preferred option, dropping back into supervisor is a last resort - but I can see now why in some cases this might be needed.

FYI - I've worked a bit further on MusMod2QTM and making some good progress now. More on that soon.

Steve

Re: Trackers we need to shim or upgrade

Posted: Sat May 04, 2013 7:45 pm
by JonAbbott
JonAbbott wrote: MusicTracker
I've just double checked...its MusicModule, so ignore this one. So it sounds like we can shim the lot.

I'll have to go through all the discs and figure out which trackers they all use. Might take a while!

Re: Trackers we need to shim or upgrade

Posted: Sat May 04, 2013 9:54 pm
by JonAbbott
I've now been through all the JFD's and have updated the master spreadsheet.

The list is as follows:
  • BambuzleMusic
    BodgeMusic
    Coconizer
    DesktopTracker
    GremlinSound
    MusicModc2000
    MusicModule
    MusicModule2
    MusicModule3
    MusicModule4
    MusicModule7
    NinjaSong
    QTMPlayer (the non module version)
    QTMTracker
    RepMusic
    SongMod
    Sou_Player
    SoundTracker
    TrackerModule
    Trk_Player
    Tune:Melody

Re: Trackers we need to shim or upgrade

Posted: Thu May 09, 2013 10:24 pm
by steve3000
Thanks for posting that list Jon!

I've had a look at the spreadsheet - of the ones you've identified so far the top used tracker modules and number of games using them are:

MusicMod variants 39
QTM 12
Trackermod 11
Repmusic 7
DTT 5
Sound tracker 3

So I'm glad I started with Mus2QTM :-)

Re: Trackers we need to shim or upgrade

Posted: Wed Jun 12, 2013 10:44 pm
by Phlamethrower
For convincing games to use QTM instead of TrackerModule, feel free to use any/all bits of QTeM that you wish:

http://www.phlamethrower.co.uk/riscos/qtem.php

Although it is worth pointing out that QTeM isn't 32bit compatible! Perhaps I should fix that now that QTM is.

Re: Trackers we need to shim or upgrade

Posted: Thu Jun 13, 2013 8:41 am
by steve3000
Phlamethrower wrote:For convincing games to use QTM instead of TrackerModule, feel free to use any/all bits of QTeM that you wish:

http://www.phlamethrower.co.uk/riscos/qtem.php

Although it is worth pointing out that QTeM isn't 32bit compatible! Perhaps I should fix that now that QTM is.
Thanks Jeffrey! I've already downloaded it, just need to find time to have a play - iirc you have included the source code too, and I'm sure that will be useful.

Of note - I've also now found my converter code I wrote for the QTM editor (which never was) - and that covers Coconizer and DSymphony formats (with a few limitations - no long patterns/etc. but a good start point!).

Re: Trackers we need to shim or upgrade

Posted: Sat Apr 05, 2014 10:11 pm
by JonAbbott
I've updated the list in the OP.

With the exception of ExSound and RepMusic it looks like we now have the bulk of the games that use Tracker modules covered. ExSound doesn't look like QTM will support (I tested The Dungeon "Intro"), for RepMusic we'd need to extract a tracker from Repton 1, 2, 3 or Ravenskull to test.