VOGONS


Rasberry Pi Zero on an ISA card?

Topic actions

Reply 20 of 29, by Deksor

User metadata
Rank l33t
Rank
l33t

Oh, ok !

DilloDOS is better for sure, but it's note quite there either. I know quickview, however you can actually just stream the video like this https://www.youtube.com/watch?v=1Wl7rZMtjJE&t=1s

The problem is that it requires windows 2000 ...

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

Reply 21 of 29, by adalbert

User metadata
Rank Oldbie
Rank
Oldbie

Youtube-dl is a python script, so probably you could use it on a Windows 95, download a video, then play it with QuickView. Here is something about Win 95 version of Python 2.6 and 2.7 https://msfn.org/board/topic/162317-python-27 … for-windows-95/
Win 95 would surely work better on a 486 than Win 2k. There is also MS-DOS version of Python 2.4, but it's probably too old for youtube-dl to work.

// and you can probably get download links for 144p videos by setting fake user agent on a web browser, pretending it to be an old iPhone or Nokia phone. It should then provide you with a 3GP video download link, after you press "play".

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 22 of 29, by Malvineous

User metadata
Rank Oldbie
Rank
Oldbie

I've been thinking about this idea for some time (putting an RPi on an ISA card.) It would be interesting because you could emulate a video card and display the output on a remote machine, then use the ISA bus to halt the system, single step through a program, view/change memory, and essentially use a vintage PC as a live debugger for DOS games. Sure you can do it with DOSBox but sometimes it's also fun to use real hardware.

Using it to boot diskless PCs over the network (including running Windows) without losing any memory for network drivers is also something that I think would be quite useful. You could have a farm of vintage PCs all booting off the same images for your LAN parties - configure once, run on all of them! You could make ROM images appear in UMBs to provide IPX or TCP network services without sacrificing conventional memory. SPDIF output for your retro PC. The list goes on...

Unfortunately the RPi's GPIOs aren't fast enough to interface with the ISA bus, and there are nowhere near enough of them either. Even using DMA there wouldn't be enough CPU time left to do anything interesting. So you'd have to use an FPGA or other processor with 80+ GPIOs in order to do the interfacing.

But it would be sweet to be able to implement hardware devices in software, in C, Python, etc. and have them "work" on a real vintage PC!

Reply 23 of 29, by timb.us

User metadata
Rank Newbie
Rank
Newbie
Malvineous wrote:

Unfortunately the RPi's GPIOs aren't fast enough to interface with the ISA bus, and there are nowhere near enough of them either. Even using DMA there wouldn't be enough CPU time left to do anything interesting. So you'd have to use an FPGA or other processor with 80+ GPIOs in order to do the interfacing.

But it would be sweet to be able to implement hardware devices in software, in C, Python, etc. and have them "work" on a real vintage PC!

This, exactly. You’d need 28 GPIO just for the address and data pins on an 8-bit ISA bus. Then there’s the IRQ, DMA, R/W, etc. signals. If you did bare metal programming on the Pi, taking advantage of DMA, you *might* get 8MHz out of the GPIO, but at that point you may as well use a simple Cortex-M MCU (the whole point of using the Pi is having access to Linux and high level languages).

That said, this might be doable with a BeagleBone Black. It has many more GPIO than the Pi (over 40 are brought out on the BBB board itself and you could get access to 60+ by using one of the processor modules, which is essentially the TI ARM Processor, DDR RAM, PMIC and optionally WiFi module, all on a tiny LGA Mount PCB.

So, why could a BeagleBone do it when the Pi couldn’t? It has a trick up it’s sleeve. Well, two, actually. The TI ARM Processor has two custom, high speed independent MCUs designed for real time control. You can program them and transfer data back and forth between them and Linux running on the main CPU. They’re called PRUs or Programmable Real-time Units. Between those and the large number of GPIO, it might be do able.

The idea of hooking a BBB to an ISA card is something I’ve been thinking about for awhile. I plan to hand-wire a prototype and see if it’s truly feasible once I’m done with my current project.

Speaking of which, my current project is actually along similar lines, only quite a bit further along in the pipeline. This project is essentially a Cypress PSoC 5LP on an ISA card. The PSoC is a neat chip that combines tons of analog peripherals (DACs, ADCs, op-amps, etc.), CPLD like functionality and an ARM Cortex-M4 MCU. Any function can be routed to any pin via the flexible internal routing fabric and there are very few fixed digital peripherals (if you need two I2C ports and a serial port it uses the programmable logic blocks to create them).

The idea is to use the PSoC to do everything from simulate option EEPROMs (which would be stored and read from an onboard flash chip or SDcard), add virtual floppy drives (like a Gotek or similar device), be able to emulate pretty much any ISA sound card you could imagine (with the sound going out over I2S to a codec chip *or* using the built-in DACs for direct audio output), simulate a modem/PPP connection (which would connect to the network via a inexpensive WiFi module) and pretty much anything else you could think of that would fit into a MCU of that size. The current design of the ISA/PSoC board has three sets of headers where you can connect the afformentioned options (if you wanted to use it for modem/PPP access you’d pop on a small board that contains the WiFi module; if you want ROM or floppy emulation you would pop on an SD or flash board, etc).

Anyway, once the first set of prototype boards gets in from China I’ll make a thread on the project.

Any sufficiently advanced technology is indistinguishable from magic. (E.g., Cheez Whiz, RF, Hot Dogs)

Reply 24 of 29, by Auzner

User metadata
Rank Member
Rank
Member
Auzner wrote:

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.

timb.us wrote:
Cypress PSoC 5LP on an ISA card Any function can be routed to any pin via the flexible internal routing fabric […]
Show full quote

Cypress PSoC 5LP on an ISA card
Any function can be routed to any pin via the flexible internal routing fabric

The idea is to use the PSoC to do everything from

  • simulate option EEPROMs
    virtual floppy drives
    sound card
    I2S to a codec chip
    built-in DACs
    simulate a modem/PPP connection
    anything else you could think of

The current design of the ISA/PSoC board has three sets of headers where you can connect the afformentioned options

Anyway, once the first set of prototype boards gets in from China I’ll make a thread on the project.

Cool! Looking forwards to seeing pretty much the last ISA card we'll ever need.

Reply 25 of 29, by timb.us

User metadata
Rank Newbie
Rank
Newbie
Auzner wrote:
Auzner wrote:

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.

timb.us wrote:
Cypress PSoC 5LP on an ISA card Any function can be routed to any pin via the flexible internal routing fabric […]
Show full quote

Cypress PSoC 5LP on an ISA card
Any function can be routed to any pin via the flexible internal routing fabric

The idea is to use the PSoC to do everything from

  • simulate option EEPROMs
    virtual floppy drives
    sound card
    I2S to a codec chip
    built-in DACs
    simulate a modem/PPP connection
    anything else you could think of

The current design of the ISA/PSoC board has three sets of headers where you can connect the afformentioned options

Anyway, once the first set of prototype boards gets in from China I’ll make a thread on the project.

Cool! Looking forwards to seeing pretty much the last ISA card we'll ever need.

It probably won’t be the last ISA card you’ll need, but hopefully it can provide a bunch of useful functions! I doubt it can provide video functions or anything that requires a lot of raw speed. Though, if this design works well and people want to create more powerful virtual devices (video cards, etc.) I’d love to create a higher end version based around an FPGA. 😀

The current prototype is only an 8-bit ISA card, though it does support Memory, I/O and DMA modes. If people feel it would be useful, I’ll make the next prototype a 16-bit version, which would additionally allow bus mastering mode; it should just be a matter of adding bigger mux/demux chips and upping the PSoC’s clock speed.

Speaking of which, I’m using the PSoC’s built-in PLL to lock to the ISA bus clock and generate an internal clock of 4x that frequency (if the ISA bus runs at 8MHz the PSoC will run at 32MHz), this way I can use 4:1 tri-state muxes between the ISA bus and PSoC, which means we use less pins. This does potentially make the board incompatible with older PC-XT clones that run the ISA bus at 16 or 20MHz (this PSoC can’t run past 60MHz or so). Though, I do have a potential fix for the problem, at the expense of a smaller address range, wait states and no DMA mode on those machines.

Any sufficiently advanced technology is indistinguishable from magic. (E.g., Cheez Whiz, RF, Hot Dogs)

Reply 26 of 29, by Hamby

User metadata
Rank Member
Rank
Member
Deksor wrote:

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.

It's not either/or. There are lots of dos games developed to support pc speaker, covox, adlib, soundblaster, gravis, etc. Just because I support a custom video card doesn't mean I can't also support voodoo cards or software rendering.

Deksor wrote:

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" ...

The "overkill" came from the 256mb of ram in DOS. IIRC, most expanded memory managers didn't give you more than 64meg (except QEMM and maybe one other?) Also, I could also easily run Win98 on the machine, or stick much more powerful PCI video card in it. Running DOS / WFW 3.11 on such a machine feels like overkill to me. I've got P4 and Dual-core Pentium Pro (?) motherboards sitting in the closet, too. While there are DOS games that a P3 may struggle to play, a P3 would have the opposite problem playing older DOS games, needing to be crippled to play them.

Deksor wrote:

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.

Not really; as I said in another message, it looks like an FPGA is more the kind of thing I had in mind. The programs would be running in the 386/486's memory, using the 386's / 486's CPU, with the pi card functioning equivalently to a 387 math co-processor.

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 ^^

YES! I very very much want to expand the capabilities of Arachne and use it, perhaps as my main web browser. In order to do that, the machine's going to have to be able to handle SSL. Maybe I was given bad information, but isn't that rather calculation intensive?

Irony: I just did an internet search for ffmpeg source... and the github page told me that it no longer supports old versions of Firefox 🤣 (my win7 machine uses Firefox 53 and SeaMonkey 2.40; I won't upgrade them because newer versions seriously break add-ons I depend on, and on my machine are slower.)

Reply 27 of 29, by matze79

User metadata
Rank l33t
Rank
l33t

FFMPEG for DOS ?

https://sourceforge.net/projects/ffmpeg-x264-dos/files/

https://www.retrokits.de - blog, retro projects, hdd clicker, diy soundcards etc
https://www.retroianer.de - german retro computer board

Reply 29 of 29, by appiah4

User metadata
Rank l33t++
Rank
l33t++

3D accelerator on an ISA bus makes no sense to me due to the bandwidth issues but having an SBC on the ISA Bus to emulate other things (mostly audio related.. you know where I'm going with this) would be fairly useful. I suppose it could also be done with FPGAs but that would require a whole different kind of programming knowhow I guess.

Retronautics: A digital gallery of my retro computers, hardware and projects.