8-bit Sound Cards

thorr
Top Contributor
Posts: 1100
Joined: Mon Jul 06, 2020 9:37 pm
Has thanked: 537 times
Been thanked: 252 times

8-bit Sound Cards

Unread post by thorr »

Since the XT has 8-bit slots, can we eventually get support for 8-bit sound cards? These would be the ones I would want:

Sound Blaster 2.0 with CMS for Game Blaster support (or the CMS/Game Blaster could be separate like ao486)
MPU-401 MIDI (can be taken from ao486)

The addition of these would really help make this core shine and provide lots of configurable options for games of the time. Thanks for your consideration.
User avatar
spark2k06
Core Developer
Posts: 865
Joined: Sat Jun 06, 2020 9:05 am
Has thanked: 409 times
Been thanked: 961 times

Re: 8-bit Sound Cards

Unread post by spark2k06 »

thorr wrote: Sat Nov 12, 2022 6:08 am Sound Blaster 2.0 with CMS for Game Blaster support (or the CMS/Game Blaster could be separate like ao486)
MPU-401 MIDI (can be taken from ao486)
It sounds interesting but it is not a priority for me. It's good to have this topic here for discussion or if anyone wants to contribute to its development.

However, I suggest you put it as a suggestion here, in case I change my mind in the future, or in case someone else develops it... so that it doesn't get lost:

https://github.com/MiSTer-devel/PCXT_MiSTer/issues

Edit: There are also other things that can be interesting, like an RTC based for example on the DS12885... what you have to find also are the modules that implement it, otherwise the development becomes uphill.

I know that what you suggest part of it could be obtained from ao486.
thorr
Top Contributor
Posts: 1100
Joined: Mon Jul 06, 2020 9:37 pm
Has thanked: 537 times
Been thanked: 252 times

Re: 8-bit Sound Cards

Unread post by thorr »

Thanks! I opened an issue for the sound cards and the RTC. The CMS/Game Blaster and MPU/401 are already done in ao486, so maybe those would not take much effort to port.

I found Sound Blaster 2.0 code: https://opencores.org/projects/ao486 https://github.com/alfikpl/ao486
It states the FM Synthesis is not fully working. Maybe the existing Adlib code in the PCXT core can be combined with the digital sound from the above Sound Blaster 2.0 code.
Malor
Top Contributor
Posts: 860
Joined: Wed Feb 09, 2022 11:50 pm
Has thanked: 64 times
Been thanked: 194 times

Re: 8-bit Sound Cards

Unread post by Malor »

edit: nevermind, I misread, this comment was kind of a waste of everyone's time.
User avatar
thisisamigaspeaking
Posts: 231
Joined: Mon May 23, 2022 12:28 am
Has thanked: 74 times
Been thanked: 21 times

Re: 8-bit Sound Cards

Unread post by thisisamigaspeaking »

Would be nice to have. How many games are CGA + Sound Blaster? I hope to see EGA in this core at some point.
breiztiger
Top Contributor
Posts: 427
Joined: Sun May 24, 2020 7:17 pm
Has thanked: 23 times
Been thanked: 93 times

Re: 8-bit Sound Cards

Unread post by breiztiger »

I think ega is more at related (1984 with first ibm at)
CPC-Power Staff
User avatar
thisisamigaspeaking
Posts: 231
Joined: Mon May 23, 2022 12:28 am
Has thanked: 74 times
Been thanked: 21 times

Re: 8-bit Sound Cards

Unread post by thisisamigaspeaking »

breiztiger wrote: Sat Nov 12, 2022 6:08 pm I think ega is more at related (1984 with first ibm at)
Sound Blaster didn't come out until 1989, CMS 1987. By that time EGA was fairly common on XT clones, and there were many ATs and AT clones out there, even 386s and VGA. How many games made in 1989 even supported CGA (I don't know the answer)?
dmckean
Posts: 307
Joined: Sat Jan 16, 2021 7:03 am
Has thanked: 387 times
Been thanked: 95 times

Re: 8-bit Sound Cards

Unread post by dmckean »

Everything overlapped because of this era being full of clones and XTs still being made into the 90s.

EGA would be nice but we will run into the issue of the CPU not being fast enough or games that use 80286 or 80186 specific instructions. This core is never going to be able to run everything.

There is currently no EGA implementation in FPGA so someone would need to write such a thing and it's quite a bit more complex than MGA/CGA/Tandy graphics.
User avatar
thisisamigaspeaking
Posts: 231
Joined: Mon May 23, 2022 12:28 am
Has thanked: 74 times
Been thanked: 21 times

Re: 8-bit Sound Cards

Unread post by thisisamigaspeaking »

Indeed. So that's why my question is how many games from 1989 onward support Sound Blaster and CGA and will run on a machine of this core's clock speed.

edit: Sound Blaster 2.0 which OP requested came out in 1991
User avatar
spark2k06
Core Developer
Posts: 865
Joined: Sat Jun 06, 2020 9:05 am
Has thanked: 409 times
Been thanked: 961 times

Re: 8-bit Sound Cards

Unread post by spark2k06 »

At least for me, I have no intention of supporting more advanced graphics than MDA, CGA and Tandy, honestly it doesn't make sense in this core, it already fits more in one based on 286+ or directly in the current one we have from ao486.

The Hercules graphics would be more interesting for this core, but would have to be developed from scratch.
User avatar
thisisamigaspeaking
Posts: 231
Joined: Mon May 23, 2022 12:28 am
Has thanked: 74 times
Been thanked: 21 times

Re: 8-bit Sound Cards

Unread post by thisisamigaspeaking »

spark2k06 wrote: Sat Nov 12, 2022 6:48 pm At least for me, I have no intention of supporting more advanced graphics than CGA and Tandy, honestly it doesn't make sense in this core, it already fits more in one based on 286+ or directly in the current one we have from ao486.

The Hercules graphics would be more interesting for this core, but would have to be developed from scratch.
Hercules is very interesting.

320x200x16 EGA doesn't seem a lot different from 320x200x16 Tandy in the cross section of games that support it or their target CPU speed but I am not sure about that. 640x350x16 is a whole other thing and there were very few games that ran in that. Shareware mostly.

My point is not that EGA should be included, but that OP requested Sound Blaster 2.0 from 1991. I'm wondering how many games from 1991 onward would work with CGA (or Tandy I guess) and Sound Blaster and work with this core's clock speed. I don't know the answer, just wondering.
User avatar
spark2k06
Core Developer
Posts: 865
Joined: Sat Jun 06, 2020 9:05 am
Has thanked: 409 times
Been thanked: 961 times

Re: 8-bit Sound Cards

Unread post by spark2k06 »

thisisamigaspeaking wrote: Sat Nov 12, 2022 6:56 pm My point is not that EGA should be included, but that OP requested Sound Blaster 2.0 from 1991. I'm wondering how many games from 1991 onward would work with CGA (or Tandy I guess) and Sound Blaster and work with this core's clock speed. I don't know the answer, just wondering.
I don't know either, maybe someone can answer that question for us. As I said, Sound Blaster is also not in my top priorities... but anyone with enough skills can contribute of course :-)
dmckean
Posts: 307
Joined: Sat Jan 16, 2021 7:03 am
Has thanked: 387 times
Been thanked: 95 times

Re: 8-bit Sound Cards

Unread post by dmckean »

thisisamigaspeaking wrote: Sat Nov 12, 2022 6:36 pm Indeed. So that's why my question is how many games from 1989 onward support Sound Blaster and CGA and will run on a machine of this core's clock speed.

edit: Sound Blaster 2.0 which OP requested came out in 1991
Probably more than we think since so many games supported odd combinations of hardware. Plus what is being asked here will only take several hours of someone's time since they're already implemented elsewhere.

Implementing EGA, 20286 or its supporting hardware are huge asks that will take months or maybe even a year of someone's time.
User avatar
thisisamigaspeaking
Posts: 231
Joined: Mon May 23, 2022 12:28 am
Has thanked: 74 times
Been thanked: 21 times

Re: 8-bit Sound Cards

Unread post by thisisamigaspeaking »

spark2k06 wrote: Sat Nov 12, 2022 7:00 pm
thisisamigaspeaking wrote: Sat Nov 12, 2022 6:56 pm My point is not that EGA should be included, but that OP requested Sound Blaster 2.0 from 1991. I'm wondering how many games from 1991 onward would work with CGA (or Tandy I guess) and Sound Blaster and work with this core's clock speed. I don't know the answer, just wondering.
I don't know either, maybe someone can answer that question for us. As I said, Sound Blaster is also not in my top priorities... but anyone with enough skills can contribute of course :-)
If I had the knowledge I would definitely be interested in making Hercules graphics (or EGA).
dmckean wrote: Sat Nov 12, 2022 7:03 pm
thisisamigaspeaking wrote: Sat Nov 12, 2022 6:36 pm Indeed. So that's why my question is how many games from 1989 onward support Sound Blaster and CGA and will run on a machine of this core's clock speed.

edit: Sound Blaster 2.0 which OP requested came out in 1991
Probably more than we think since so many games supported odd combinations of hardware. Plus what is being asked here will only take several hours of someone's time since they're already implemented elsewhere.

Implementing EGA, 20286 or its supporting hardware are huge asks that will take months or maybe even a year of someone's time.
I guess I underestimated the complexity of EGA compared to CGA or Hercules, or the complexity of implementing things for FPGA. It's pretty much unrelated to the 286 though, EGA was always an 8-bit card and quickly found its way to XT clones.

EGA being too much work aside, I think if a 1991 card makes sense for this core at least in theory, EGA does too. I won't harp on that any more though, I wasn't expecting anyone to do it. Maybe someone will eventually or it can be done with AI years from now.
dmckean
Posts: 307
Joined: Sat Jan 16, 2021 7:03 am
Has thanked: 387 times
Been thanked: 95 times

Re: 8-bit Sound Cards

Unread post by dmckean »

All the Sound Blasters before the Sound Blaster Pro are really similar to each other, they just use different sound chips. You could upgrade from one to the other by swapping out chips at the time.
thorr
Top Contributor
Posts: 1100
Joined: Mon Jul 06, 2020 9:37 pm
Has thanked: 537 times
Been thanked: 252 times

Re: 8-bit Sound Cards

Unread post by thorr »

I am primarily thinking of Sierra games that support lots of graphics and sound combinations. Many of these games should work great on this core with SB 2.0 such as Space Quest 3. I agree that EGA is not necessary since Tandy graphics are provided, and Hercules which was very common on XT's would be awesome. If EGA can be an option someday, then cool, or even VGA since 8-bit VGA cards existed. I think Paradise VGA cards might have been 8-bit. Basically, if there was an 8-bit card, then it is not a stretch to think about supporting it someday. However, keeping this core's hardware in line with the slower PC specs of the games makes sense too.
Malor
Top Contributor
Posts: 860
Joined: Wed Feb 09, 2022 11:50 pm
Has thanked: 64 times
Been thanked: 194 times

Re: 8-bit Sound Cards

Unread post by Malor »

I think maybe a Soundblaster 1 would make the most sense for the XT core.
bbond007
Top Contributor
Posts: 519
Joined: Tue May 26, 2020 5:06 am
Has thanked: 85 times
Been thanked: 198 times

Re: 8-bit Sound Cards

Unread post by bbond007 »

spark2k06 wrote: Sat Nov 12, 2022 6:48 pm The Hercules graphics would be more interesting for this core, but would have to be developed from scratch.
Hercules adapters were great for doing desktop publishing back in the day on a cheap MDA monitor. Ignore the amber color and the resolution was like a fancy MAC.

MCGA might also be interesting. It is basically just CGA with 64K RAM (vs 16K) and two additional modes:
  • 640×480 monochrome (Mode 11h)
  • 320×200 in 256 colors (from a palette of 262,144) (Mode 13h)
https://en.wikipedia.org/wiki/Multi-Col ... hics_Array
thorr
Top Contributor
Posts: 1100
Joined: Mon Jul 06, 2020 9:37 pm
Has thanked: 537 times
Been thanked: 252 times

Re: 8-bit Sound Cards

Unread post by thorr »

I would support that idea, even though it was specific to some IBM chipsets and not an actual 8-bit card, but I think it might be easier and possibly make more sense just to go with a basic 8-bit VGA card that would support 320x200x256 and 640x480x16, and EGA modes: https://en.wikipedia.org/wiki/Video_Graphics_Array
Here is a forum topic regarding an FPGA VGA 8-bit card: https://www.eevblog.com/forum/fpga/fpga ... -computer/
bbond007
Top Contributor
Posts: 519
Joined: Tue May 26, 2020 5:06 am
Has thanked: 85 times
Been thanked: 198 times

Re: 8-bit Sound Cards

Unread post by bbond007 »

thorr wrote: Sun Nov 13, 2022 12:49 am I would support that idea, even though it was specific to some IBM chipsets and not an actual 8-bit card, but I think it might be easier and possibly make more sense just to go with a basic 8-bit VGA card that would support 320x200x256 and 640x480x16, and EGA modes:
I'd argue its not easier... MCGA is like two modes, maybe one we care about(13h), so that is 48K more VRAM and the palette registers...

13h 320x200-8bit indexed mode is really optimal for the 8088 as it works best with structures <= 64K combined with the simplicity of programming that mode made it very a commonly used mode. Probably the most...

VGA has all of EGA, weird funky modes, needs more VRAM, etc...
thorr
Top Contributor
Posts: 1100
Joined: Mon Jul 06, 2020 9:37 pm
Has thanked: 537 times
Been thanked: 252 times

Re: 8-bit Sound Cards

Unread post by thorr »

As long as the FPGA code for it already exists somewhere, then it probably is easier to just add 13h like you said. That mode alone is the main thing I would be interested in for 256 colors capability with this core.
User avatar
spark2k06
Core Developer
Posts: 865
Joined: Sat Jun 06, 2020 9:05 am
Has thanked: 409 times
Been thanked: 961 times

Re: 8-bit Sound Cards

Unread post by spark2k06 »

Since I started this core I have been clear about one thing. I am not going to develop and maintain BIOSes, but use original and OpenSource ones (which I don't want to modify or maintain).

MCGA is simple, but they require new BIOS functions, which in principle, the first IBM PS/2 have, but this BIOS will not work on this core for many reasons.

EGA/VGA requires an additional BIOS to support it, even if I can find it, the work required to implement it is too great for the real benefit in this core.

In any case, they are implementations that make more sense in a 286+ or directly in the ao486.
thorr
Top Contributor
Posts: 1100
Joined: Mon Jul 06, 2020 9:37 pm
Has thanked: 537 times
Been thanked: 252 times

Re: 8-bit Sound Cards

Unread post by thorr »

The original BIOS support and getting everything perfect and cycle accurate is one of the main things I love about this core. I am happy with the direction it is taking and wouldn't want to corrupt it for one off requests.

I hope this can be done for each generation of CPU. I love ao486, but I hope it gets replaced some day with the same development compatibility mentality as PCXT.
thorr
Top Contributor
Posts: 1100
Joined: Mon Jul 06, 2020 9:37 pm
Has thanked: 537 times
Been thanked: 252 times

Re: 8-bit Sound Cards

Unread post by thorr »

Here is a start for the PC-486 core: https://www.ebay.com.my/itm/255751421800 Which developer should we buy this for and send to? :D Too bad it is an AMD chip.
User avatar
spark2k06
Core Developer
Posts: 865
Joined: Sat Jun 06, 2020 9:05 am
Has thanked: 409 times
Been thanked: 961 times

Re: 8-bit Sound Cards

Unread post by spark2k06 »

thorr wrote: Sun Nov 13, 2022 5:46 am Here is a start for the PC-486 core: https://www.ebay.com.my/itm/255751421800 Which developer should we buy this for and send to?
I think that a developer will need much more than this to start... and it is, a lot of motivation :lol:
thorr
Top Contributor
Posts: 1100
Joined: Mon Jul 06, 2020 9:37 pm
Has thanked: 537 times
Been thanked: 252 times

Re: 8-bit Sound Cards

Unread post by thorr »

Wow! Maybe this one (Intel 486 SX in Verilog): https://dspace.mit.edu/handle/1721.1/79470 I am not sure if the PDF contains all the Verilog needed, but if it does, then awesome! :)

Edit: Looking through it, it is not a completely finished CPU. However, maybe Mr. Adam Chen would like to develop the PC-486 core for the MiSTer. :-)

Edit 2: Just having some fun, but I don't want to derail the main discussion topic of sound cards, so I will just leave this last comment. I think PCem source code is the best place to look for how to implement these CPU's and someone who can read that and translate it to Verilog could really get it to work. It would take a ton of time and motivation, unless a tool could be written to translate the source code to Verilog automatically somehow.

Now back to our regularly scheduled program... How about that easy CMS/Game Blaster implementation? :lol: https://www.youtube.com/watch?v=n6Hx188_LDw
User avatar
spark2k06
Core Developer
Posts: 865
Joined: Sat Jun 06, 2020 9:05 am
Has thanked: 409 times
Been thanked: 961 times

Re: 8-bit Sound Cards

Unread post by spark2k06 »

In the latest release I just sent out, we have C/MS Audio available:

viewtopic.php?p=64467#p64467

PCXT_20221124.jpg
PCXT_20221124.jpg (130.21 KiB) Viewed 1722 times
Which is very interesting especially because it is stereo, unlike Adlib and its OPL2:

Adlib Audio mono - Monkey Island

C/MS Audio stereo - Monkey Island
User avatar
thisisamigaspeaking
Posts: 231
Joined: Mon May 23, 2022 12:28 am
Has thanked: 74 times
Been thanked: 21 times

Re: 8-bit Sound Cards

Unread post by thisisamigaspeaking »

That's great, definitely a good addition to the core. Interesting that AdLib sounds a lot better even though mono.
thorr
Top Contributor
Posts: 1100
Joined: Mon Jul 06, 2020 9:37 pm
Has thanked: 537 times
Been thanked: 252 times

Re: 8-bit Sound Cards

Unread post by thorr »

Thank you so much! This is awesome!!!
User avatar
Newsdee
Top Contributor
Posts: 830
Joined: Mon May 25, 2020 1:07 am
Has thanked: 98 times
Been thanked: 209 times

Re: 8-bit Sound Cards

Unread post by Newsdee »

Wow! Good job!

CM/S is so interesting to me... sure it sounds more bloopy but that's to be expected.
Post Reply