Detecting running on RPCEmu
Steve Harrison (1685) 27 posts |
Is there a reliable/easy way for software to detect if it is running on RPCEmu? A SWI/etc specific to RPCEmu perhaps? I’d like to ensure QTM sets a suitable sample speed to work with RPCEmu, as not all sample rates are smoothly emulated, QTM’s default is 32uS, which isn’t handled well (sound breaks up) – but 48uS is fine. So far the best I’ve found is to use OS_Module 18, and check for RPCEmuHostFS Is there any better method? |
Jeffrey Lee (213) 6048 posts |
Checking for RPCEmuHostFS is probably the best method, as I don’t think the RPCEmu team are keen on (e.g.) changing the hardware emulation to make it distinguishable from a real RiscPC. But you should also make sure you check for RISC OS 3.5 or above, as the same RPCEmuHostFS module is used in recent versions of ArcEm – which as far as I know doesn’t suffer from sound breakup at any sensible sample rates. |
Steve Harrison (1685) 27 posts |
Thanks Jeffrey – good point about the OS version check. Have made more progress with a new upgrade to QTM and the RPCEmu detection works perfectly, so it sounds good under emulation too. Will be in touch when it’s ready for testing. Steve |
Alan Robertson (52) 420 posts |
Steve/Phoenix |
Steve Harrison (1685) 27 posts |
Hi Alan, yes I’ve had a 12 year break from RISC OS, but in the last year, initially prompted by a surprising and intriguing request for help with a tricky bit of graphics coding for an Arm2 machine, I acquired an old Acorn A4000 and have been dabbling at QTM and picked up a few other old Acorn machines along the way. So yes, for the moment I have added programming on RISC OS to my hobbies again. How long this is sustainable, only time will tell ;-) but I have a few ideas for QTM that I always wanted to achieve… Thanks to Jeffrey’s excellent work 32bitting QTM, the RPi running RO 5 now offers a nice platform to continue development, so we will see. I jotted some of my scattered ideas down in the ‘QTMfuture’ file in the last release v1.43. The next release will add FastTracker 4/6/8 channel music and extended octave support (enabling QTM to play 1000s of PC-developed music tracks). |
Alan Robertson (52) 420 posts |
excited Having QTM being able to play XM files natively would be very cool. I know the patterns are in a more optimised format that MOD’s, but I seem to recall that Fast Tracker2 implements identical effects if a different way to MODs too. All very hazy. I’ll let you play with the Player routines first, before I start talking about QTMEditor! :-B Nice to see you back working with RISC OS again. |
Steve Harrison (1685) 27 posts |
Thanks Alan! XM format playback is a long way off as it allows for many additional variants of volume/vibrato/sustain/panning effects and variable pattern lengths, 16bit samples, compression, etc. It also implements some ProTracker effects slightly differently to true ProTracker playback. This would require pretty much a complete re-write and essentially be a different music player… But FastTracker also supported an intermediate 4/6/8/12/16/24 channel .mod format, which was an extension of ProTracker format, rather than a totally new format. This is what QTM will soon support, at least for 4/6/8 channel tracks. There are 1000s of PC FastTracker .mods available, and many still being produced for retro scene, so it should prove a useful update :-) Steve |
Alan Robertson (52) 420 posts |
Totally agree. Your update sounds like a very worthwhile upgrade. |
Chris Gransden (337) 1207 posts |
I’ve done quick ports of xmp (Extended Module Player) and MilkyTracker (Create .MOD and .XM module files) to RISC OS. |
Martin Bazley (331) 379 posts |
Blimey. MilkyTracker, really? I think that would be the first piece of tracking software to run on 32-bit (never mind ARMv7) hardware. I’m definitely curious! |
Chris Gransden (337) 1207 posts |
You can now download MilkyTracker. I’ve tested playing a few .XM and .MOD files. It even managed to play a four channel .MOD file on my RISC PC. |
Martin Bazley (331) 379 posts |
I finally found time to download and try MilkyTracker on my Iyonix. Sure enough, the sound stutters continuously. The Portable module is not found. Any other ideas, or should I have tried it on more powerful hardware? |
Chris Gransden (337) 1207 posts |
It works ok on a Raspberry Pi so I would have expected it to be ok on an Iyonix. Try turning off the scopes and/or changing the mixer sample rate. |
Steve Harrison (1685) 27 posts |
Wow, great stuff Chris! I must take a look at MilkyTracker when I have a moment, as have been using that on the PC – very pleased to hear it should run on the Pi… Is it a straight port, ie. without any modifications to the play routine? Presumably it requires 16bit sound? |