OSCA on Windows 7 (the non-corrupted sound flavour!)
Feb 18
Computer System Emulation, Emulation V6Z80P 3 Comments
It’s been some time since I last blogged, and there’s been many reasons for that, mostly surrounding a lack of available spare time. Last time I swore that I had no plans to move away from Windows XP, but as is inevitable having made such proclamations, things happened which forced my hand!
First and foremost, for those not interested in a lengthy read and whinge, skip to the bottom for the good stuff 🙂
The first of those things was that my old trusty laptop finally bit the bullet – I don’t mean I popped a cap in its ass, but rather that the Nvidia chip shuffled off this mortal coil. Actually it shuffled off the motherboard – this is apparently a known (design) fault with the 8300-series where the die has a manufacturing fault, but frankly although I could’ve run the gauntlet of getting a (free) replacement for a 3-year+ old laptop, it just wasn’t worth it; plus I now had an excuse to buy a new machine 😀
So new machine it was – Decided to get a desktop machine this time around, and something with a little more poke than my old laptop. For the spec-junkies, got myself a lovely i7-2600 machine (now clocking in at 4.4GHz over the stock 3.4GHz thanks to a nice watercooling thingamajigger), Z68 chipset, a bundle of RAM/Fast HDD and a sweet Radeon 6850. So far so good – Fallout 3 on Ultra specs, thanks very much! But all of this came at a price (over and above the financial one!) – Windows 7.
Sure, I could’ve installed XP, but it would have had to be 64-bit XP, and I’ve not heard much good about this lesser-supported beast. And I’ve been forced to use Windows 7 at work now too, so it was definitely time to bite the bitter pill of Windows 7. I still don’t like it. What I disliked very much was its ability to neuter the sound code in my previous creations; OSCA, EPEE and others. This is an issue with the DirectX support on Windows 7 (and Vista) when using circular streaming buffers. Not sure why – I think it has something to do with Position notification callbacks, but regardless I just couldn’t fix it, no matter how hard I tried.
So… I’ve replaced the DirectX code with the BASS library and after a few niggles with the documentation (bytes remaining in buffer as documented really means samples in buffer, for example) the fat lady is finally singing once again! In addition, I’ve moved up the development suite chain too, so this is built using a newer IDE (Rad Studio XE2). Attached below are the source and binary downloads. You’ll need to unpack the binary over an existing version, or obtain the config and disk images elsewhere.
OSCA Emulator Sources 1.0 (216.8 KiB, 794 hits)
OSCA Emulator Binary 1.0 (1.2 MiB, 878 hits)
niallquinn
Feb 21, 2012 @ 20:59:17
Ooo, you beauty. Going to enjoy this next weekend when I’ve some time.
Thanks!
Peter Piper
Apr 17, 2012 @ 18:22:05
Clearly you haven’t yet realised that Windows 7 (any flavour) has a feature called “XP Mode”.
Google for it, pain be gone.
DialTone
Apr 18, 2012 @ 18:27:04
That’s true enough, although as I’m sure you’re well aware it’s not a “mode” as such but a virtual machine install of XP, albeit fairly transparently accessible. What’s more, it doesn’t help those with Vista or the very common “home” editions of W7 (for which you’d need to resort to VMWare or similar).
If the XP mode works for you then great, but for me I’m just pleased to know I can run the stuff natively without the need for virtualisation.
Also, this was an opportunity for me to look at the new WASAPI API to use in place of the deprecating DirectSound. I did; didn’t get far with it; found BASS a joy to work with in the end 🙂