4 ms·
A 386 PC for Your RP2350
- weinzierl 19d agoLooks like it can even run Windows 96. Incredibly cool. I'll have to try if it runs my old Slackware kernal 1.2.13 some time. I used it with a 4MiB, 25Mhz 386 DX back in the time, so it should.
- fifilura 19d ago(slackware) Just need to find where you stored all 20 floppy disks...
- weinzierl 19d agoI think it came with two 3.5" disks, a bootdisk and a rootdisk, as well as two CDs. One was the actual distro, the other a sunsite mirror. At least that is what I remember and while that memory might be hazy I know exactly where my precious is.
- rwmj 19d agoI definitely remember installing it off 20+ floppies onto a 386 back in the day. Most of the disks contained packages and you didn't need to install all of them though.
- jalk 19d agoIIRC Emacs took up a significant number of disks
- gamedna 19d agoEarly releases of Slackware were only floppy. The boot/root CD release came later. I fondly recall wasting hours in a computer lab @ university using 20 Sun Sparcstation 2 floppy drives to write the slackware floppies for me and my friend. Walking out with a brick of floppies was pure bliss (achievement unlocked).
- xhrpost 19d agoDid not realize that Win95 can technically run on a 20Mhz 386DX.
- weinzierl 19d agoGood question. I ran Slackware Linux and DOS 5.0 on mine. I think Win95 was my Pentium 100 MHz already so it sounds a bit sus, but the FAQ section of OP had items about Win95, that is where I got the idea from.
- badsectoracula 19d agoIt "technically" can - i used Win95 on an AMD 386DX with 4MB of RAM back in the 90s for a little. Most of the time was spent waiting for the computer to do something while the HDD was constantly working. The Pentium MMX with 32MB i replaced it with was MUCH faster, practically everything was instant.
- glitchc 19d agoYup, the RAM was the main bottleneck. 8MB was the minimum for Win9x, 16MB and above led to a fast experience.
- nullsmack 19d agoI tried installing it on my 20mhz 486 IBM but the install never would finish even though the minimum specs listed 386. I always thought that was being too generous. I did use it on faster 486's at some point in school (I think 66mhz or faster?)
- st_goliath 19d ago> Win95 can technically run on a 20Mhz 386DX s/technically/allegedly/ supposedly with a minimum of 4M RAM even! [1] I have a machine with twice that clock and twice that RAM that a friends parents wanted to toss out[2]. I spent the better part of a day getting Windows 3.11 and Office 4.3 to run. Playing around with it for a bit, I highly doubt that Windows 95 on minimum requirements would be anything but endlessly frustrating. I was not masochistic enough to try. [1] https://en.wikipedia.org/wiki/Windows_95#System_requirements https://en.wikipedia.org/wiki/Windows_95#System_requirements [2] https://goliath32.com/hw/machines.html#pc386 https://goliath32.com/hw/machines.html#pc386
- ilaksh 19d agoI don't know if they have some kind of magically genius caching system but the chip only has 512kb of SRAM and a little cache and the rest has to be managed by flash memory which is like 30+ times slower so I dunno about the performance of that.
- Narishma 19d agoThe boards using this chip typically have 8 MB of PSRAM from what I've seen.
- ilaksh 19d agoyeah but the PSRAM is going to cause a delay
- dark-star 18d agoit's not that bad. At 120MHz, the PSRAM still gets only around 90-100ns per word in the worst case. If you use some SRAM for caching and do bulk transfers, you can get that down quite a bit. Also you can easily overclock the PSRAM to 133MHt (10 decrease in latency) with no problem, maybe even (much?) more. normal dynamic RAM back then was at 60-70 ns so it's really not that bad. And YT videos show that it also works fine in practice
- Tepix 19d agoTime to dig up 386bsd
- dark-star 18d agohere you go: https://archive.org/details/386BSD1.0 https://archive.org/details/386BSD1.0 probably faster downloading it than searching around in the attic ;-)
- momocowcow 19d agoyes, but those screenshots are EGA
- dark-star 18d agoAt least the Wolfenstein screenshot is VGA, not EGA. Yes, it looks weird with that dithering effect, but it's still VGA (too many/wrong colors for EGA, and also: Wolfenstein never was released with EGA graphics in the first place)
- patrick_rtk 19d agonice job
- jwrallie 19d agoReally cool, wondering if it can be ported to the PicoCalc.
- burstmode 19d agoDoes it emulate RS232 ports and printer ports as well ? I did'nt find anything. Then it would be possible to reuse old embedded equipment.
- kees99 19d agoNo, it doesn't. Also this doesn't emulate ISA bus, where one could plug one of those "multi-io" cards to get rs232/printer ports. Which is a shame. There are plenty of GPIO pins to fit full ISA on RP2350 (at least on "B" variant), and those GPIO are supposedly 5V-tolerant (with sufficiently recent silicon revision). So hardware-wise, it's just a matter of wiring up an ISA slot directly to the RP chip.
- jasomill 19d agoThis could be useful on its own to create an ISA-over-USB bridge in conjunction with either a kernel driver or a user-mode PC emulator.
- dark-star 18d agoit would be awesome if there was an ISA bus emulation using some sort of modern protocol. You could create "modern" ISA cards using an RP2350 on every card that does the emulation, to split emulation between multiple RP2350's (one emulates a VGA card, one emulates a sound card, one emulates a network card, etc.) Bonus points for a standardized connector that everyone could develop towards. Imagine a tiny ISA PC that you could place on your desktop, swap miniscule (ISA)-cards in and out of, and play retro games etc.
- kees99 18d ago"Modern" tiny ISA would probably be LPC [0] which is a relatively simple encapsulation/serialization format for ISA that preserve full software compatibility, and can transport ISA signals over as few as 8 pins. This thing was quite ubiquitous for inter-connecting some low-speed things within PC motherboards in the early 2000s. Although physically separate LPC cards did exits, those were rare and connector/pinout was never standardized. [0] https://en.wikipedia.org/wiki/Low_Pin_Count_bus https://en.wikipedia.org/wiki/Low_Pin_Count_bus
- cold_pizz4 19d agoI love it! The RP2350 is probably the most underrated microcontroller available today.
- IshKebab 19d agoOverrated surely? It's a pretty bog standard MCU, no wireless support, mediocre deep sleep. I don't know why you'd pick it over an ESP32 or nRF5x. The only standout feature is PIO which is definitely interesting but very niche. It's also patented so say goodbye to any portability or FOSS vibes. (If you want a FOSS version btw, check out https://baochip.com/ https://baochip.com/) If it didn't have the Raspberry name behind it nobody would even have heard of it.
- willis936 19d agoThe PIO are pretty great and not niche. Almost any embedded application needs mixed signal interfaces. You could say embedded applications are niche, but not that embedded applications needing mixed signal interfaces. A serious warning: read the RP2350 errata carefully. You may be better off buying old 2040 inventory.
- Neywiny 19d agoMixed signal means analog and digital
- sh-run 19d agoRP2350 adds secure boot and encrypted boot. I am working on a little hardware device for a CTF and selected it as my MCU so participants can't just dump the flash to grab the flags.
- vardump 19d ago> read the RP2350 errata carefully Even the latest rev? Can you elaborate a bit?
- kjs3 19d ago
- dvdkon 19d agoIt's really cool what can be done today with just an MCU that has sufficiently flexible IO. What's the performance like?
- guenthert 19d agoHoly cow, a 386 with VGA and SoundBlaster on a $1 MCU? I recall VICE emulating the Brotkasten on 386 PCs some thirty years ago, later UAE doing it for Amiga. How long til my currently running system (anno 2016) is being emulated?
- supergarfield 19d agoMaybe never with current technology? Looking just at the CPU and assuming you need comfortable IPC overhead for emulation, the 386 was from early in the Dennard scaling era and modern CPUs are 1000x or more faster single-thread. Since maybe 2012 that hasn't moved anywhere near that, certainly less than 10x. Figure 6 in "A New Golden Age for Computer Architecture" is a good representation of that effect: https://dl.acm.org/doi/epdf/10.1145/3282307 https://dl.acm.org/doi/epdf/10.1145/3282307. For the GPU things are potentially looking better! But since distributed shaders/kernels are higher-level compiled for your specific device, there's less of a need for emulation.
- theamk 19d agoEither "already" or "not any time soon", depending on how you count. Already - because you have VMs and backwards compatibility. As long as you keep using Intel x86_64, your apps would run, no emulation needed. Or you can use the VM. Not any time soon - because the computers are not speeding up that fast. 10 year old computers are still being used today, and even the latest CPUs are not orders of magnitude faster. So for a full-system emulation, the most well-known ones is x86 VM's on Apple Silicon, and according to reports, full-system mode is still not close to regular PCs.
- kevin_thibedeau 19d ago16-bit x86 code dependent on interacting with real hardware under precise timing doesn't always work well in a VM.
- sillywalk 19d ago> 16-bit x86 code dependent on interacting with real hardware under precise timing doesn't always work well in a VM. This reminds me of the 8088mph demo - 1k colours in CGA, and a bunch of other impressive stuff. 8088 MPH: We Break All Your Emulators (oldskool.org) 319 points by drv on April 8, 2015 | hide | past | favorite | 99 comments https://news.ycombinator.com/item?id=9338944 https://news.ycombinator.com/item?id=9338944 https://trixter.oldskool.org/2015/04/07/8088-mph-we-break-all-your-emulators/ https://trixter.oldskool.org/2015/04/07/8088-mph-we-break-al...
- gxd 19d agoI had Slackware CDs in the nineties! They had a minimalist label and came with no jewel case (rubber band if I recall correctly). I've been meaning to rediscover the CICA and Simtel collections. Maybe that's what I needed!
- nickcw 19d agoWas the performance mentioned anywhere - I couldn't find it on the page?
- dingdingdang 19d agoShould be on the fast end of the 386 spectrum since it tentatively supports 486 and 586 architectures too.
- LeFantome 19d agoI don’t know how fast it is but that does not really follow. They added those instructions so that Linux would boot. Linux assumes Pentium and no longer boots on 386 or even 486 for the latest kernels. The presence of instructions first added in the Pentium really does not tell you anything about performance.
- dingdingdang 17d agoGuess technically true absolutely; I gotta admit I assumed they wouldn't bother implementing the instruction sets unless there was functional, i.e. prospect of reasonable speed, aspect to it.
- joshmarinacci 19d agoWow. How can it do this without an MMU?
- iberator 19d agoMMU can be emulated as part of emulated architecture. Its totally possible to have software only mmu.
- shrubble 19d agoTechnically you could run OS/2 on it, I think. Or Plan9 for i386.
- astrodust 19d agoWith 8MB it'll be snug.
- zabriel_goss 19d agoWhat a long way to have come from the beige towers!
- broswell 19d agoWhich of the 4 boards on do you recommend as easiest? I would love to demo at the Computer Museum @ System Source https://museum.sysrc.com https://museum.sysrc.com It looks like I would have to build my own frank board. Any off the shelf boards?
- Nexxxeh 19d agoTo save anyone the Google, there's an S missing from the URL. https://museum.syssrc.com/ https://museum.syssrc.com/
- jasongill 19d agoIn case anyone missed it earlier on HN, there is a similar project that runs on an ESP32: https://github.com/hchunhui/tiny386 https://github.com/hchunhui/tiny386
- LeFantome 19d agoThat one is offering Pentium Pro and SSE3 emulation. Not too shabby.
- ilaksh 19d agoThe problem is PC programs assume 640kb of RAM and the RP2350 has 512kb + 16kb cache SRAM so anything that goes past that has a sudden 40 cycle access delay. So even if you account for the RP2350 being 6 times faster than the RP2350, I think the emulation would randomly start to stutter a lot in certain circumstances waiting to access that part of the memory.
- paulryanrogers 18d agoIs this an emulator or firmware that makes the Pi a cycle accurate implementation of 386, just with a bit of hardware shims for modern accessories?