VOGONS


Reply 220 of 887, by polpo

User metadata
Rank Member
Rank
Member
Shreddoc wrote on 2023-01-30, 22:26:

Would it be possible for the pgusinit program to accommodate more than one physical PicoGUS card in the same machine? Like if the first was flashed as GUS and the second as MPU.

Right now, no. The cards would conflict with each other as pgusinit uses a hardcoded port to talk to the card. I’m trying to think of a more elegant solution to that than releasing different firmwares that listen on different ports.

Reply 221 of 887, by Shreddoc

User metadata
Rank Oldbie
Rank
Oldbie

Ah I see, we need a nice way for the init to identify / enumerate the different cards.

The talk about Hocus Pocus's PicoGUS success being possibly sensitive to system speed, made me think. I don't want to be unknowingly reproducing old issues due to system speed. Since I've never owned a real GUS before, I have a question for people with real GUS's :

Am I making things more difficult (slash, inaccurate) for myself, by using PentiumMMX 233Mhz machine for my PicoGUS usage? I understand the general sensitivity of some old software to system speeds, and how to mitigate that. But is the GUS subsystem's performance itself additionally speed sensitive, in many titles?

Reply 222 of 887, by polpo

User metadata
Rank Member
Rank
Member

I have some ideas for how to handle multiple card enumeration, inspired by the ISA PnP spec's card isolation protocol which is pretty clever. Each card should have a unique serial number in its flash ROM that will make that possible.

In my experience, the real GUS is insensitive to system speed. I haven't actually tested Hocus Pocus on my real GUS yet. It's on my list of things to do a bus capture of... but I have a feeling that the system speed sensitivity is due to a race condition in my code, rather than anything with the way GUS DMA is supposed to work in practice.

Reply 223 of 887, by keenerb

User metadata
Rank Oldbie
Rank
Oldbie

This is an exciting project. I started wondering about the viability of a pi daughterboard on an ISA card for hardware emulation years ago! I'm really surprised the Pico has the horsepower to push good GUS emulation.

Is the MPU-401 mode going to be intelligent mpu compatible, with irq? The updates aren't exactly clear. I'm actually more interested in the adlib and mpu-401 modes than GUS, but it helps that I have a few real ultrasounds 😁

Reply 224 of 887, by polpo

User metadata
Rank Member
Rank
Member
keenerb wrote on 2023-02-01, 00:54:

This is an exciting project. I started wondering about the viability of a pi daughterboard on an ISA card for hardware emulation years ago! I'm really surprised the Pico has the horsepower to push good GUS emulation.

Is the MPU-401 mode going to be intelligent mpu compatible, with irq? The updates aren't exactly clear. I'm actually more interested in the adlib and mpu-401 modes than GUS, but it helps that I have a few real ultrasounds 😁

Yes, MPU-401 mode currently supports intelligent mode with IRQ! See the compatibility list wiki on the GitHub project for what I've tested: https://github.com/polpo/picogus/wiki/Compati … ty-list#mpu-401
Gateway is the only title I've tested with IRQ. I need to do more tests with other titles, as it seems that Gateway is pretty temperamental.

Speaking of AdLib, I am toying with the idea of using ymfm and seeing how it performs. It seems well architected so integrating it wouldn't be much work, and if it does work, I can also try out OPL3.

Reply 225 of 887, by keenerb

User metadata
Rank Oldbie
Rank
Oldbie
polpo wrote on 2023-02-01, 04:12:

Speaking of AdLib, I am toying with the idea of using ymfm and seeing how it performs. It seems well architected so integrating it wouldn't be much work, and if it does work, I can also try out OPL3.

Hmm.... Adlib Gold support on the horizon perhaps???

Reply 226 of 887, by 640K!enough

User metadata
Rank Oldbie
Rank
Oldbie
polpo wrote on 2023-01-31, 23:40:

I have some ideas for how to handle multiple card enumeration, inspired by the ISA PnP spec's card isolation protocol which is pretty clever. Each card should have a unique serial number in its flash ROM that will make that possible.

Having looked at it in some detail, I agree that the ISA PnP specification doesn't get the respect that it deserves. When you consider how they grafted that functionality onto a standard that wasn't designed for auto-configuration at all, it is a surprisingly clever, if somewhat kludgey, solution.

A design that might serve as inspiration for you is Crystal's CS4237, or better yet, the CS4239. They have an alternate auto-configuration scheme, obviously inspired by the PnP standard, that they call the Crystal Key. It abuses most of the same I/O ports and (in the CS4239) allows multiple devices per system.

Reply 227 of 887, by polpo

User metadata
Rank Member
Rank
Member

I am setting up a new testbench for PicoGUS because I grew tired of the flakiness of my original system (a motherboard salvaged from an old Compaq desktop with corrosion issues) - it's a motherboard based on a somewhat later Super Socket 7 platform, the ALi Aladdin V. When putting it through its places I noticed that firmware flashing from DOS would fail: it gives a few "....." characters and then the error "ERROR: Card is not in firmware writing mode?". Fortunately the Pico is unbrickable – the bootloader that lets you program from USB is embedded in ROM, so you can always fall back to programming the "old fashioned way" over USB. I'll start digging into why this happens and hopefully come up with a solution. Someone upthread mentioned one of their cards not being able to be flashed from DOS, so I wonder if this is a related issue.

Reply 228 of 887, by 640K!enough

User metadata
Rank Oldbie
Rank
Oldbie
polpo wrote on 2023-02-03, 02:51:

I am setting up a new testbench for PicoGUS because I grew tired of the flakiness of my original system (a motherboard salvaged from an old Compaq desktop with corrosion issues) - it's a motherboard based on a somewhat later Super Socket 7 platform, the ALi Aladdin V.

I wonder if there isn't something more to these late ALi-based boards having problems. Within the last few months, there were two other exchanges (one involving an Asus P5A, and the other a P5A-B) that detailed strange PC speaker beeping and LED flashing patterns when an ISA sound card was in use, sometimes followed other symptoms.

The two posters seemed more interested in avoiding the problem (by moving to another board) than making any real effort to trouble-shoot. From early information there, it seemed that the sound card could work seemingly correctly via PIO, but it never held their interest long enough to get to DMA testing or other efforts to isolate the source of the problem.

I never found those boards to be particularly fast or stable performers, so it's no great loss, as far as I'm concerned. However, if you've based your timing on that board, you may want to re-check some of it, if time permits. I wouldn't be surprised if the problems with those boards are at least partially timing-related.

Reply 229 of 887, by polpo

User metadata
Rank Member
Rank
Member

Thanks for making me aware of the potential problems with timing with the ALi chipsets. I’ve done 99% of my development on the previous Compaq board which has an Intel 430VX chipset. I got this new board with the idea of doing in depth testing on a variety of chipsets so I’ll be investigating bus timing in detail with it.

Firmware loading is really simple PIO, so I’m really curious what could be causing the issue. I haven’t had a chance to dig in yet…

Reply 230 of 887, by 640K!enough

User metadata
Rank Oldbie
Rank
Oldbie

It sounds like the ALi board is a recent acquisition, so maybe you haven't tested extensively yet. I'd be very interested to hear of any oddities you find when you get to more in-depth DMA or timing tests. Granted this isn't a P5A of any description, but it sounds like something is already different about your board; it remains to be seen if it will be to the extent that you get PC speaker noises, etc. At least if you do, you appear to be equipped to thoroughly trouble-shoot the problem, if you're so inclined.

Have you had a chance to test GUS DMA-streamed audio on the ALi board yet?

Reply 231 of 887, by krivulak

User metadata
Rank Member
Rank
Member

So, new day, new firmware, new reports!

First I should mention what the heck am I testing the hardware on. Haven't noted it before if I remember correctly. SO:
The board was forged in the year 1993 in a quite big company called Shuttle and it was given name HOT-419 because it was the new hotness, brand sparkling new socket 3 motherboard with not one, not two - but THREE VESA slots, OPTi 82C895 chipset and shiny nice modern (and in my opinion fugly) graphical BIOS interface. It had pretty calm life, nothing serious happened to it and it worked quite happily, until it was decided the board is obsolete couple of years later and thrown into some dusty old box to wait for its reborning. In the mean time nasty Varta battery decided that the life has no meaning and that it should end it right there, right now. Like that it blown up, spilling all the caustic alcaline innards on the board. Luckily, that happened only a short time before the board was brought back to the light of the day and put on sale on Facebook for couple of bucks. That was the time I met the board for the first time. Gave it a good bath, scrub, welness, treatment. Mended the single broken trace and after proving its desire to live it was promoted my No.1 testing board and permanent resident on my table. With the old 486SX25 it wasn't a runner, more like crawler though so I started searching for a good CPU mate. And of course - I got it. Found the perfect mate for the old VESA board - 486DX50. Installed it and they lived happily ever after.

So... After you read all through this nonsense - which for some reason was living inside me and needed to be put on a paper - you can read the real specs.

Motherboard: Shuttle HOT-419 with 256k of L2 cache and 50MHz FSB (!)
CPU: Intel 80486DX 50MHz SX710
RAM: 4x4MB SIMM 72pin (each module from different maker sadly - didn't found 4 identical sticks yet)
GPU: S3 86C805-5 1MB VLB
HDD controller: Winbond W83757F (hate this one with passion) controlled by XTIDE custom BIOS
HDD: WD Caviar 2420 420MB
PSU: SFX form factor ATX PSU Eurocase ECO+ 250W with my custom ATX->AT adapter with -5V generator

And now after the lengthy introduction, let's report what happened.

DOOM:
- sounds better then last time though it still has ENORMOUS slowing down problem when trying to process many things at once. For example E1M7 is heavily slowed down
https://youtu.be/KjEcc8NkvPY

Duke3D:
- sounds better, I haven't noticed any problems with it apart from slow loading times

Blood:
- sounds HUMONGOUSLY better. I mean - the difference is MASSIVE. Before it sounded like gore-y screeching with chainsaws being crushed while running on full speed, now it sounds exactly like it should. Very good job indeed!

Hocus Pocus:
- behaves almost exactly how you wrote but for me it goes through the intro Apogee logo which sounds delightful, shareware notice appears and then it freezes the computer solid

Tyrian2k:
- sadly behaves the same as before. Randomly freezes solid and the notes keeps hanging.
https://youtu.be/ZjlEe-L0ko0

And now, some unexpected things 😀

Zone 66:
- sounds exactly like on real GUS

Rise Of The Triad Dark War:
- now, this is something special. Hear me out.

I am not kidding, I am speaking seriously.

It sounds better than original GUS.

Yes, you somehow managed to make it sound better than the real hardware. The sound is more pronounced, more bassy, clearer trebles - it sounds helluva better than the original GUS. So I tip my hat to you man!

Reply 232 of 887, by Shreddoc

User metadata
Rank Oldbie
Rank
Oldbie

Great testing @krivulak, and your motherboard's dramatic life story has much livened my morning's second cup of coffee. I think we will be seeing this made into a big Hollywood movie one day. Shuttle Island. Breakfast at GIFanny's. The culprit was ISA Soze all along.

It seems as though, very roughly speaking, a fair portion of applicable games are now in working state. Hard to say %wise, but it seems that significant groupings of games which share similar GUS code are being steadily mown down.

Re: your comments on ROTT sounding better. I had been separately musing that the PicoGUS probably has cleaner audio output than most (general, old) ISA cards, though I have not done practical testing.

For the record, I have been using Intel 430xx chipsets with the PicoGUS.

Reply 233 of 887, by Tiido

User metadata
Rank l33t
Rank
l33t

GUS (2.4 anyway) has a fairly aggressive LPF on its DAC output, making for relatively muffled sound (I recall something like 14kHz cutoff freq) that I "fixed" on my board by changing two capacitors to get the cutoff at the near 20kHz, roughly same as the DAC used here is doing. The nice and clear sound can be achieved on original cards too with small modification.

T-04YBSC, a new YMF71x based sound card & Official VOGONS thread about it
Newly made 4MB 60ns 30pin SIMMs ~
mida sa loed ? nagunii aru ei saa 😜

Reply 234 of 887, by krivulak

User metadata
Rank Member
Rank
Member
Tiido wrote on 2023-02-06, 02:41:

GUS (2.4 anyway) has a fairly aggressive LPF on its DAC output, making for relatively muffled sound (I recall something like 14kHz cutoff freq) that I "fixed" on my board by changing two capacitors to get the cutoff at the near 20kHz, roughly same as the DAC used here is doing. The nice and clear sound can be achieved on original cards too with small modification.

This one was GUS PnP with 4MBs of RAM

Reply 235 of 887, by 640K!enough

User metadata
Rank Oldbie
Rank
Oldbie

I don't know if you're aware of them, but there are some titles that don't work well (or at all) beyond a certain amount of local GUS DRAM. Do you have any facility to tell your firmware to limit available DRAM? I would assume that, if you were interested in such a feature, it could be configured via pgusinit?

Reply 236 of 887, by tyrells

User metadata
Rank Newbie
Rank
Newbie

Great thread. Really enjoying seeing the progress that is being made.

I was wondering if you thought the PicoGUS hardware would be able to emulate the Tandy 3 Voice Sound System (Tandy 3 Voice Sound - SN76489 ISA Soundcard Project)? It would be great to have another hardware option for this.

Reply 238 of 887, by polpo

User metadata
Rank Member
Rank
Member
640K!enough wrote on 2023-02-05, 02:58:

Have you had a chance to test GUS DMA-streamed audio on the ALi board yet?

I've now tested it quite a bit – I got some stuttering in Doom but I've worked around the issue. I haven't seen any egregiously bad behavior on the ALi board, really. The only odd behavior I saw was the strange inability to flash the Pico, and freezing of the demo X14 at a certain point. And then the flashing issue was a one-off: the next time I tried it a couple days later it worked just fine. And the issue in X14 only happened with one of my CPUs.

krivulak wrote on 2023-02-05, 22:42:

So, new day, new firmware, new reports!

Thank you for the reports and the tale of your machine! 😄 Your videos are extremely helpful for me.

krivulak wrote on 2023-02-05, 22:42:

DOOM:
- sounds better then last time though it still has ENORMOUS slowing down problem when trying to process many things at once. For example E1M7 is heavily slowed down
https://youtu.be/KjEcc8NkvPY

I think I've figured out the cause of this slowdown/stuttering. The next firmware release should address it, I'll be interested to know if it solves the problem on your machine.

krivulak wrote on 2023-02-05, 22:42:

Hocus Pocus:
- behaves almost exactly how you wrote but for me it goes through the intro Apogee logo which sounds delightful, shareware notice appears and then it freezes the computer solid

I still haven't eliminated all issues with Hocus Pocus but I notice the game ships with its own early version of Ultramid. I've found it works a lot better with the Ultramid that ships with version 4.11 of the GUS software. Instead of running hocusg.bat, run Ultramid from your ULTRASND directory, then run __hpgrvs.exe. You'll see much better behavior, and that will improve more with the next firmware release. On a couple of my machines I played for >30 minutes with no lockups, but on others, I'd get a lockup after only a couple minutes...

krivulak wrote on 2023-02-05, 22:42:
Rise Of The Triad Dark War: - now, this is something special. Hear me out. […]
Show full quote

Rise Of The Triad Dark War:
- now, this is something special. Hear me out.

I am not kidding, I am speaking seriously.

It sounds better than original GUS.

Yes, you somehow managed to make it sound better than the real hardware. The sound is more pronounced, more bassy, clearer trebles - it sounds helluva better than the original GUS. So I tip my hat to you man!

I have a feeling a lot of the improved audio is due to the PCM5012A DAC. It is a really good DAC with 112dB SNR!

640K!enough wrote on 2023-02-08, 08:27:

I don't know if you're aware of them, but there are some titles that don't work well (or at all) beyond a certain amount of local GUS DRAM. Do you have any facility to tell your firmware to limit available DRAM? I would assume that, if you were interested in such a feature, it could be configured via pgusinit?

I'm not aware of any in particular. If you could point some out to me, that would be great. Adding an option to pgusinit to limit the emulated GUS DRAM should not be a problem!

tyrells wrote on 2023-02-10, 09:58:

Great thread. Really enjoying seeing the progress that is being made.

I was wondering if you thought the PicoGUS hardware would be able to emulate the Tandy 3 Voice Sound System (Tandy 3 Voice Sound - SN76489 ISA Soundcard Project)? It would be great to have another hardware option for this.

Emulating Tandy 3 Voice would be pretty easy! FreddyV has mentioned it as a possibility to me before. 🙂 Also emulating the Tandy DAC should be possible.

Reply 239 of 887, by polpo

User metadata
Rank Member
Rank
Member
polpo wrote on 2023-02-12, 04:42:

Emulating Tandy 3 Voice would be pretty easy! FreddyV has mentioned it as a possibility to me before. 🙂 Also emulating the Tandy DAC should be possible.

Yep - getting Tandy 3 Voice running on the PicoGUS was no problem. https://youtu.be/_a-0G00XdgA

After reading about patching games and port redirection TSRs for Tandy sound, my head is kind of spinning. That was the hardest part of getting this working, to be honest... 😅 This is running on port 2C0 just like Matze79's TNDY card can.