VOGONS


First post, by superfury

User metadata
Rank l33t++
Rank
l33t++

How does 8088 corruption detect the Sound Blaster? I've implemented basic Sound Blaster 1.0 commands atm, but it still isn't detecting it for some reason(Based on Dosbox code).

The Sound Blaster 1.5 disks will crash when used with my 80(1)86/V20/V30 emulation. Anyone knows a good way to fix and test the Sound Blaster emulation?

https://bitbucket.org/superfury/unipcemu/src/ … ter.c?at=master

Btw Adlib(required), MPU(required using Soundfont) and Game Blaster(optional) are seperate hardware, and are just used because of overlapping base address(Game Blaster) and redirects from the Sound Blaster hardware to the actual Adlib/MPU handlers(which are also available on their own I/O ports, because of their own hardware emulation. Those are simply mirrored from the Sound Blaster chips. The Sound Blaster simply redirects it's 16 I/O ports to the Adlib/MPU I/O handling, while the Game Blaster will simply overlap it's I/O ports with the Sound Blaster, only responding to it's own addresses while ignoring the Sound Blaster DSP I/O).

Edit: I see it's quitting right after retrieving the DSP version (which is reported as 1.05 in my emulator). Does it use 16-bit audio?

Edit: Just tried 8088flex to be sure. It still doesn't detect the sound blaster, just quitting with a not detected message after reading the version (2.01)?

It gives me:

Fatal #4: Couldn't initialise Sound Blaster.
Last edited by superfury on 2016-08-15, 21:58. Edited 1 time in total.

Author of the UniPCemu emulator.
UniPCemu Git repository
UniPCemu for Android, Windows, PSP, Vita and Switch on itch.io

Reply 1 of 3, by superfury

User metadata
Rank l33t++
Rank
l33t++

I've worked on it a bit. Now the software, as well as 8088flex see my Sound Blaster 2.0 emulation(changing the DSP version from 2.01 to 2.00):
https://bitbucket.org/superfury/unipcemu/src/ … ter.c?at=master

I see it initializing, then emitting one DMA transfer(8-bit), then another(8-bit). Then it just stops, hanging the application(8088flex)?

Author of the UniPCemu emulator.
UniPCemu Git repository
UniPCemu for Android, Windows, PSP, Vita and Switch on itch.io

Reply 2 of 3, by superfury

User metadata
Rank l33t++
Rank
l33t++

A quick reinstallation of the Sound Blaster 2.0 disks seems to have fixed 8088flex. This is now running, although instead of proper sound I just hear ticks?

Author of the UniPCemu emulator.
UniPCemu Git repository
UniPCemu for Android, Windows, PSP, Vita and Switch on itch.io

Reply 3 of 3, by superfury

User metadata
Rank l33t++
Rank
l33t++

i've made a little recording of:
1. The Sound Blaster playing 8088 corruption demo(until it crashes).
2. The Sound Blaster playing mike1984.tmv through 8088flex.
3. Playing m_8_22.wav, which fails.
4. Playing the doodle.cmf using Sound Blaster 2.0's play.exe(using Game Blaster emulation).

The Game Blaster sounds fine, although the Sound Blaster's sampled sound sounds strange? Is this actually correct?

https://www.dropbox.com/s/alxh5johjqf3u2r/Uni … 5_1905.wav?dl=0

The hard disk is in pure-polling mode, because it(IDE drive) doesn't support IDE DMA yet(Not emulated yet). Does it need the hdd/floppy DMA to run smoothly? Floppy DMA IS supported though(although, usually the PIO HDD mode loads faster).

Edit: looking at the proof of validity video from Trixter tells me it's actually running until the end on UniPCemu, just the loading times and sound rendering is a mess(video works).

The Sound Blaster emulation that renders it:
https://bitbucket.org/superfury/unipcemu/src/ … ter.c?at=master

I was using the 8088 at default cycles(So as accurate as possible 8088/8086 speed) with hardware CGA emulation together with the latest Sound Blaster emulation code fixed(and accopanying IRQ fixes). Touch devices, like Android, should now also work(Can't seem to compile UniPCemu for Android using Visual Studio due to it seeming impossible to link the main cpp with the UniPCemu's main.c(it doesn't recognise the main(argv, argp) function call from the class the software creates. Anyone got a good guide for setting up SDL2 with the Visual Studio Android solutions?

Edit: Managed to fix the Sound Blaster emulation:
https://bitbucket.org/superfury/unipcemu/src/ … ter.c?at=master

Although the MIDI output is still unsupported.

Author of the UniPCemu emulator.
UniPCemu Git repository
UniPCemu for Android, Windows, PSP, Vita and Switch on itch.io