VOGONS


Rasberry Pi Zero on an ISA card?

Topic actions

First post, by Hamby

User metadata
Rank Member
Rank
Member

For a long while I've been looking for a 486 motherboard with PCI as well as ISA slots so I can stick my Voodoo 3D accelerator card in it, along with a vintage VGA card. (can the Voodoo accelerator be connected to a Voodoo 3 VGA card via SLI? )

It's met with some frustration, because 486 motherboards with PCI are, apparently, comparatively rare, popular, and expensive.

That had me thinking the other way; are there no ISA bus 3D accelerators?

Then I got my Toshiba T5200 laptop with 1 full length 16 bit and 1 (not quite) half length 8 bit ISA slot. I was going to stick a sound blaster 2.0 in the 8 bit slot (its edge connector being made to fit in 8 bit slots), but it's just a little bit too long. So I began looking at modern Ad-Lib remake projects.

And that got me to thinking; would it be possible to connect an SBC like the raspberry pi, esp the zero, to an ISA edge card so that it could fit in that slot and talk to the 386 PC inside the laptop? Being a computer itself, and more powerful than the 386, if it could be interfaced it might could be made into a graphics accelerator, network connection (maybe even wifi) and sound card all in one. Maybe even a co-processor for encryption. I imagine it would be tricky to get the 386 to talk to it. If it were an 8-bit ISA card, it could be added to any number of retro computers. Or maybe an arduino would be sufficient or more appropriate?

I've seen ISA backplanes that connect to USB (about $160) for connecting old hardware to modern computers. I kind of want to do the opposite.
I'm not hardware knowledgeable, although in recent weeks my interest in hardware hacking has increased. So my real question is, would something like this be feasable? Not necessarily a Pi, but some kind of co-processor that could add to the power of old PC hardware? If it did nothing else than allow an old x86 access to sites like twitter by handling the SSL encoding/decoding, it'd be a cool project.

Reply 1 of 29, by Auzner

User metadata
Rank Member
Rank
Member

A modern FPGA can be interfaced to through 16-bit ISA. Learn VHDL and assembly/C and you'd have an ISA card that could do anything for the system. An rpi has a UART so to start you can talk to it over serial with a terminal program like kermit. With all of the applications you had in mind, why does a 386/486 have to even be involved in any of this?

Reply 2 of 29, by Deksor

User metadata
Rank l33t
Rank
l33t

Why wanting to make a 3D accelerator that nothing will ever use for computers that aren't powerful enough to run it ? Get a pentium/pentium II/K6-2 and use a 3D accelerator in it.

Trying to identify old hardware ? Visit The retro web - Project's thread The Retro Web project - a stason.org/TH99 alternative

Reply 3 of 29, by vladstamate

User metadata
Rank Oldbie
Rank
Oldbie
Deksor wrote:

Why wanting to make a 3D accelerator that nothing will ever use for computers that aren't powerful enough to run it ? Get a pentium/pentium II/K6-2 and use a 3D accelerator in it.

How can you be on Vogons for such a long time and still ask a question like this? Why mess around with a 386 in the first place? Why browse the internet on a Pentium II? Why use a Pentium III for a printer server? Because that is what we do here. We tinker with HW and do things today that we could not have done back in the day for various reasons: pricing, availability, lack of technology, etc.

To the OP, I think that is pretty cool. If you can get a Raspberry PI to interact via the ISA bus with a 386/486 there is a lot you can do. Some more realistic and useful than others. Snooping the ISA bus, adding a WiFi networking (by emulating a Intel EtherExpress card but actually translating everything to WiFi), adding memory to a 386 (functioning like a memory card effetively) are few things I can think of. Video accelerator might not be practical or useful. But still neat idea.

I would start with a ISA to USB card and then start writing code on the Pi. Arduino would totally work too, and it would easier to interface.

YouTube channel: https://www.youtube.com/channel/UC7HbC_nq8t1S9l7qGYL0mTA
Collection: http://www.digiloguemuseum.com/index.html
Emulator: https://sites.google.com/site/capex86/
Raytracer: https://sites.google.com/site/opaqueraytracer/

Reply 4 of 29, by Deksor

User metadata
Rank l33t
Rank
l33t

I'm not against some of the ideas you stated, because this is actually useful, but does making a custom 3D accelerator for 386/486s really have a point ? Even back in the days it made little sense, look at the Creative 3D blaster's "success". Unless the pi does all the job of the 486 faster, that's not going to change anything because nothing's designed to use that ... but then why inserting a pi into a 486 if you use the pi a the computer ? Just use the pi in that case.

Upgrading systems with technology that didn't exist back then like adding wifi like you stated is good, upgrading the ram of a 386 because finding the proprietary expansion card (if any exist) is also a good idea. Even re-creating a sound card from back then is a good idea, but again, what's the point of creating a technology that nothing from back then could use because nothing similar existed ?

You could browse the internet back then on a pentium 2 you could use a P3 as a printing server back then (and it still have some interest nowadays if you still have a printer that works on parallel and that none of your modern PCs have parallel port). But making an ISA 3D accelerator with absolutely zero software support using a Pi is going to be time consuming and really hard for ... nothing ? If you really want to do that then do it if you want, I'm not here to tell other people what they must do with their stuff, I'm just warning.

Trying to identify old hardware ? Visit The retro web - Project's thread The Retro Web project - a stason.org/TH99 alternative

Reply 5 of 29, by derSammler

User metadata
Rank l33t
Rank
l33t

I'm with Deksor in this case. Better keep your original plan to get a PCI-based 486 board and use that with a Voodoo1.

While it's most likely possible to make a 3D accelerator for the ISA bus (if using a Pi or whatsoever), what about the software? No existing game would work with it.

Reply 6 of 29, by gdjacobs

User metadata
Rank l33t++
Rank
l33t++

Mounting a Pi compute module on an ISA board could potentially be used for other purposes, though.

All hail the Great Capacitor Brand Finder

Reply 8 of 29, by Hamby

User metadata
Rank Member
Rank
Member

The Why of It:

As I said in my first message, I'm not hardware knowledgeable. I didn't intend to phrase my post as "I'm going to do this" or "somebody should do this". I was asserting what I wanted to do and what I wanted to learn was whether or not it was feasible.

I'll tell you why, in no special order, I would like to do this. There are probably better alternatives. I don't know them, and I won't discover them unless I stick my neck out and open my mouth about it (figuratively speaking).

A) I hate the way they've been turning computers into dumb internet terminals, appliances over which I have less and less control. Everything's "out there" in the "cloud". And one way I'm prevented from turning back the clock and hanging on to my *computer* as a computer *accessing* the internet, is with calculation intensive things like SSL encryption. My phone spies on me, my computer spies on me, my browser spies on me, but more importantly, I go ballistic when I'm told by my Windows 7 box that I'm denied access to a file or function because I need administrator privileges... even though I *am* the administrator, with supposedly full administrator privileges.
My phone is a sandbox I don't really control. I even tried doing a little Android development, wrote a couple things... and it made me miss the days on my Amiga when *I* designed the user interface to suit my program, not to match every other program on the machine.

B) I went the Commodore route; Vic20, C64, Amiga. It was when the Amiga died that I turned to the PC, and so I missed out on an era. I'm making up for it now in some ways with DOSBox and GoG, but I missed out on tinkering with and programming for x86 PCs, for the most part. One of my sincere goals is to "devolve" into using DOS 6.22 / WFW 3.11 / DesqView based machines for most of my day-to-day tasks. Oh, sure I've got a modern PC running Windows 7. It's not the latest and greatest, but it'll run the Unreal Engine 4 development environment. But for word processing, web surfing, scheduling, light graphics work and entertainment, I want to, as much as possible, do so under the ancient OSes, preferably on ancient hardware. I *also* want to develop games based on those old environments, using those old environments. (So the argument that nothing would ever use a Pi zero emulating a Voodoo card doesn't matter, because one project would be for my games/apps to include support for it).

C) People have built, and are selling, AdLib parallel port devices. In some cases, you have to go in with a hex editor and edit the binary of a game in order to get it to support the device. Yet it was still built and people still want it. *I* want it. People have designed and built XTIDE, an IDE drive controller on an 8 bit card to allow even XT class PCs to access more modern drives, including CF card drives. Perhaps my suggestion of a Raspberry Pi or Arduino might have been overkill for my goals, in which case I'm guilty of ignorance. I still think a 3D accelerator card, emulating a Voodoo card, just ISA, *would* have an audience.

D) As I also said, I've been wanting to get a 486 to use for my main computer. I'd like to be able to stick a 3D accelerator in it, not only to be able to play Doom and other games that support 3D acceleration, but also to try to *write* them. And I'll need appropriate hardware to test as well as develop on. (8-Bit Guy on YouTube just finished writing a new game for the C64, right down to packaging and selling it, and has begun work on a DOS version... but much of the work he did for the C64 version he did on a C64 or via emulation followed by testing on real hardware. He's inspired me to give DOS game development a try).

I currently have my old K6-2 300mhz desktop with 256mb ram, a Voodoo2 3000 (iirc) PCI video card with 16mb ram, and an AWE32 sound card in it. Definitely overkill. I intend eventually getting an XT and/or 286 class machine, as well (I'm now considering building the XT from a kit I came across online). Combining C & D, there are, and always have been, 8-bit VGA cards (I've got a Vega Video 7 still in box with disk and documentation). So if I were to write something to support 3D acceleration, and it supported a custom, 8-bit 3D accelerator, you could see the absurdity of an IBM 5150 possibly playing 3D accelerated games.

E) As I said, I just got a Toshiba T5200 laptop. It's a behemoth, but it has 2 things I wanted very much; an orange gas-plasma VGA display which I don't believe you can get anymore, and two ISA expansion slots; one 16 bit, one 8 bit. I hope to be able to oneday stick a Cyrix 486DLC accelerator in to replace its 386DX-20. In the 16 bit slot I've already replaced the Artisoft lan card with a 3com Etherlink III (sadly lacking a boot rom socket). I had hoped to place a Sound Blaster 2.0 card in the 8-bit slot (yes, the card is PC/XT, 8-bit, not AT 16-bit). But the card is about an inch too long. Now I'm going to have to get either a parallel port or an ISA remake of an Adlib card in kit form. which is why my interest in hardware hacking has been piqued. I actually toyed with the idea of gutting the T5200 and trying to get a modern miniITX to fit inside,and somehow wiring it to the gas plasma display. I might try that if I someday get a busted T5200 with a working display. My thinking had been, by sticking an rPI in the 16 bit slot, I could have it emulate the net card, the sound card and add 3d acceleration to the video. A bit ambitious for an ISA slot, I guess.

-----

I was looking at tutorial videos about FPGA today, since someone mentioned them already. I think that *is* more like something I had in mind. There's a C64 "clone" made of an FPGA out there. So, hypothetically, an FPGA could be programmed to at least partially emulate a 3DFX (or other early 3d accelerator) chipset. I think.

I know I'm a complete beginner when it comes to hacking old hardware or building new hardware. That's going to be part of the fun of learning.

Reply 10 of 29, by gdjacobs

User metadata
Rank l33t++
Rank
l33t++

For instance, a Pi would be interesting as an IDE device emulator. It could convert over the wire IDE commands to allow use of files as storage volumes streamed over a network, or mounted from USB or SD. Ideally, it would emulate both IDE and ATAPI devices.

All hail the Great Capacitor Brand Finder

Reply 11 of 29, by feipoa

User metadata
Rank l33t++
Rank
l33t++

There were ISA wifi cards for Win 3.11 - I had one. All I remember was that it was very specific about how it could be used. If I recall, there were also mpeg accelerator add-on modules for VLB. Elianda has one for an S3 968-based card. I thought it was pretty neat. There were probably a lot more novelties like this which existed back then but were very uncommon. There are already ISA card computers which contain 486 CPUs, so making one with a Pi seems like a nifty evolution. Personally, I like the idea of using a Raspberry Pi on ISA to create a bunch of novelties, irregardless of their practicality. In the least, whoever creates these things will learn about electronics and programming. I recommend starting with something simple, like creating a PS/2 mouse controller and port on an ISA card, and extend the capabilities from there. Creating a 3D accelerator from the onset is like jumping into the deep end before you can swim. To be honest, it might be more like trying to teach an anvil how to swim.

Plan your life wisely, you'll be dead before you know it.

Reply 12 of 29, by Auzner

User metadata
Rank Member
Rank
Member

A: I hear that. The product structure today is to fast track everyone to just running the software. "Hurry up and feel productive while we datamine your usage and serve you ads." The hardware is truly an afterthought, but its specs and casing are still sold as lifestyle choices. You're like a wine connoisseur if you chose the edge display and can recite "it has an ARM quadcore" like a Latin motto.

So, run Linux! Open source code lets you verify it isn't spying on you. There's also all the power at your finger tips to see what processes are running and what's listening on ports. Windows has that too, but you're in a shell already--personally I feel it's much simpler to start throwing grep or python at the outputs. Windows itself can be run in a VM, using qemu-kvm. Pair a cpu and motherboard which have VTd and VTx, get a SR-IOV NIC, and use IOMMU on your graphics card and it's like "what virtualization overhead?"

B: Just getting that stuff functioning and usable in a modern household network is enough activity for me, but to each their own.

C: ISA is a pretty simple bus so it's feasible to make your own cards as like a summer project. I still wonder why though people are making one-function cards when you could put an FPGA on a card and just have a GPIO header facing the IO plate. Plug in the external connections you want and load onto the core what it will be. It's a bigger project but it's also the last project.

D: I have fonder memories of the 486 days being well drawn sprites rather than 3D stuff. Not sure if you're talking about doing your own engine in C or what, but there are ways to start doing 3D games. The Wolf3D source code is on github: https://github.com/id-Software/wolf3d
https://en.wikipedia.org/wiki/Pie_in_th ... me_engine)

E: Gas plasma screens are really cool. I've been searching years for a reasonably priced system which has one. I'd be more inclined to hack it as a standalone display as well (despite the sacrilege).

Wifi on older systems is easy. Reuse a router with DD-WRT or Tomato firmware to be an access point. You already have 80lbs of chassis on a desk, wifi can just be another plastic box connected.

Reply 13 of 29, by gdjacobs

User metadata
Rank l33t++
Rank
l33t++
Auzner wrote:

C: ISA is a pretty simple bus so it's feasible to make your own cards as like a summer project. I still wonder why though people are making one-function cards when you could put an FPGA on a card and just have a GPIO header facing the IO plate. Plug in the external connections you want and load onto the core what it will be. It's a bigger project but it's also the last project.

I doubt an FPGA would be necessary in most circumstances for this sort of application. ISA just isn't very performance challenging relative to modern, low cost microcontrollers.

All hail the Great Capacitor Brand Finder

Reply 14 of 29, by brostenen

User metadata
Rank l33t++
Rank
l33t++

The drive aspect of an PI is indeed interesting. As it can be used for MUNT MT32 emulation, then why not as a drive? I have seen two non PC RPI projects on the net as well. RPI as a kind of acc. card for an Acorn computer, and as a floppy drive emulator for the Amiga. Shure there are hardware wich makes those two projects kind of why? Then again. The answer is that it is cool because it is different and because it is awesomme.

Don't eat stuff off a 15 year old never cleaned cpu cooler.
Those cakes make you sick....

My blog: http://to9xct.blogspot.dk
My YouTube: https://www.youtube.com/user/brostenen

001100 010010 011110 100001 101101 110011

Reply 15 of 29, by derSammler

User metadata
Rank l33t
Rank
l33t
Hamby wrote:

C) People have built, and are selling, AdLib parallel port devices. In some cases, you have to go in with a hex editor and edit the binary of a game in order to get it to support the device.

[...]

So, hypothetically, an FPGA could be programmed to at least partially emulate a 3DFX (or other early 3d accelerator) chipset. I think.

There's a faulty reasoning here: The Adlib on parallel port is still Adlib, just on a different port. A game needs to know the new port and how to write data to it, if it can't work with the TSR. But it still sends exactly the same data to the same hardware.

An FPGA or a Pi on an ISA card emulating a 3dfx Voodoo however would never work this way. You simply can not fake a PCI device from an ISA card. That means that the whole glide library would have to be rewritten to use the ISA card (no source, no documentation). Many DOS games with 3dfx support had the library statically linked, so even this would not help. This would all be a very, very huge effort with little to no gain.

Another thing to consider: let's just assume it would be possible; even the fastest 486 CPUs, like the AMD X5-133 are "just" powerful enough to provide the processing power for the early 3dfx games to be somewhat playable. Remember that the Voodoo cards only do rastering, T&L must be done by the CPU. These cards were made for Pentiums, which always have PCI anyway. So what would be the use-case? A few people with a fast 486 who can't find a PCI board?

Last edited by derSammler on 2018-02-05, 11:11. Edited 1 time in total.

Reply 16 of 29, by adalbert

User metadata
Rank Oldbie
Rank
Oldbie

Some ideas:
- connect WiFi to old machine by using Raspberry Pi as a PPP server (nullmodem connection using serial port)
(only 115200 baud max speed, but maybe someone could emulate Xircom PE3 LPT network card with GPIO in the Raspberry PI)
- emulate MT32 with the same Rpi (use Munt)

and these are some easy options for using Rpi, emulating anything on ISA bus would be harder than that for sure.

Repair/electronic stuff videos: https://www.youtube.com/c/adalbertfix
ISA Wi-fi + USB in T3200SXC: https://www.youtube.com/watch?v=WX30t3lYezs
GUI programming for Windows 3.11 (the easy way): https://www.youtube.com/watch?v=d6L272OApVg

Reply 17 of 29, by keenerb

User metadata
Rank Oldbie
Rank
Oldbie
adalbert wrote:

Some ideas:
- connect WiFi to old machine by using Raspberry Pi as a PPP server (nullmodem connection using serial port)

I did this. It works OK. The raspberry pi's wifi signal was TERRIBLE inside the case though. I ultimately just used an old wifi access point to bridge an actual ethernet connection, was a lot easier.

Reply 18 of 29, by Deksor

User metadata
Rank l33t
Rank
l33t

Doesn't the esp8266 do serial to wifi connection better than the pi ?

I'm definitely not against DOS games developpment (I plan to make one someday), but if you use ultra specific hardware you made yourself, the amount of users being able to use your program would be close to zero. Just use what's available, there are tons of choices. And for people not owning an old pc, they'd still be able to use it using DOSBox.

Since the day I found my NVIDIA NV1 I thought about making some software for it and then I remembered that this card is super rare and so almost nobody would be able to use it so that's unfair to those people. Sure you can't build an nv1 card while you can build a pi zero based card, and you can also design your own emulator, but that's going to be much harder for everybody (to you making it and having to design the emulator and to users needing to build their own cards to get your program working)

Plus you said a K6-2 is overkill (for what ? There are DOS games that still struggle a bit on pentium 3), but then you want to stick a computer that's even more powerful than your K6 into an ISA card to "make a 486 usable" ...
But you're not making the 486 more usable in that case, you're just interfacing the pi to a 486 to fake its usability. You're just turning your 486 into a terminal where the server is the pi zero.

If you really want to make a 486 more usable, you should rather try to make a web navigator supporting as much modern stuff as it can, because 90's web browsers aren't really good or try to port ffmpeg to DOS that way we could watch youtube videos from DOS without needing any expansion ^^

Trying to identify old hardware ? Visit The retro web - Project's thread The Retro Web project - a stason.org/TH99 alternative

Reply 19 of 29, by adalbert

User metadata
Rank Oldbie
Rank
Oldbie
keenerb wrote:

I did this. It works OK. The raspberry pi's wifi signal was TERRIBLE inside the case though. I ultimately just used an old wifi access point to bridge an actual ethernet connection, was a lot easier.

The signal could probably be improved by soldering external wifi antenna connector.

Deksor wrote:

Doesn't the esp8266 do serial to wifi connection better than the pi ?

I tried using esp8266 but I didn't know how to prepare custom software for it, so it would emulate PPP connection. I managed to control it by sending AT commands over RS232, or by using additional Atmega MCU, but ESP8266 doesn't work as a PPP server by default. Raspberry Pi should be easier to use.

Deksor wrote:

If you really want to make a 486 more usable, you should rather try to make a web navigator supporting as much modern stuff as it can, because 90's web browsers aren't really good or try to port ffmpeg to DOS that way we could watch youtube videos from DOS without needing any expansion ^^

I managed to watch Youtube video on a P1 120MHz, you can use a DOS player named QuickView http://www.multimediaware.com/qv/
and some modern DOS browsers are links2.8 (with graphical mode) and dillo for dos, first you have to download a 144p 3GP version of youtube video, then watch it with QuickView software 😜

Repair/electronic stuff videos: https://www.youtube.com/c/adalbertfix
ISA Wi-fi + USB in T3200SXC: https://www.youtube.com/watch?v=WX30t3lYezs
GUI programming for Windows 3.11 (the easy way): https://www.youtube.com/watch?v=d6L272OApVg