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?
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.
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.
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.
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://trixter.oldskool.org/2015/04/07/8088-mph-we-break-al...
The right software -- really does add value(!) to (let's-just-say-it-isn't-an-nVidia-GB300!) hardware, now doesn't it? :-)
I don't know about anyone else -- but I'm sold!
The value proposition on this one is truly awesome!
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/)
If it didn't have the Raspberry name behind it nobody would even have heard of it.
A serious warning: read the RP2350 errata carefully. You may be better off buying old 2040 inventory.
Even the latest rev? Can you elaborate a bit?
For the vast majority of embedded applications you can simply pick an MCU that has the hardware peripherals they need. That's why XMOS was never very successful. (They thought of this idea long ago.) Not saying it isn't cool.
I would say it is still underrated.
PIO combined with DMA and the independent bus SRAM banks allow for immense combinations of capability.
If you want to do something digital and specific beyond a few MHz the the RP2350 raised the ceiling of what you can do before requiring hardware or FPGA.
It still has some areas where it could be improved, but most of thise would not have been apparent until you really stretched the design.
Having extra PIO GPIO without physical pins but the ability to configure connecting pairs together in software would add a lot of capability.
Perhaps an interesting test/benchmark would be to get a microcontroller to pretend to be an SRAM (or better yet two independently accessed SRAMs) while outputting the lyrics to still alive on a serial link.
The virtual SRAM performance characteristics of timing tolerances and latency would be a respectable approximation for arbitrary digital signal handling that any particular MCU might be able to manage.
Contrast that with STM32 where you have to constantly reference the data sheet to make sure you're using the correct pins for say, I2C when you're running in a particular mode. And since you're running in that mode, you now can't use other pins for certain things. Ugh! I hate it!
Then there's the issues with picking the right-size part number and making sure the pins you want are 5V tolerant, checking that you're using the correct ADC, and... Ugh! It's a pain in the ass!
Other chips aren't much better as they all have those same problems.
ESP32 is nice because of the zillions of built-in peripherals but configuring the damned thing can get really complicated really fast. It's so complicated, in fact, that they had to make a Makefile (as in `make menuconfig`) that rivals the Linux kernel in the sheer number of options/submenus.
The Pentium MMX with 32MB i replaced it with was MUCH faster, practically everything was instant.
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
Bet you don't even know about Windows 97.
I think you are confused. There was an Windows 95 build 286, but despite its name it didn't run on a 286 – it was just an incrementing counter which happened to have reached that number.
https://betawiki.net/wiki/Windows_95_build_286
At some point early in Windows 95's development, Microsoft dropped the standard-mode only 286 kernel, KRNL286.EXE. They also dropped 16-bit-only standard mode from KRNL386.EXE; but KRNL386.EXE required a 386 even for standard mode.
The earliest leaked Windows 95 build, build 22, still has KRNL286.EXE in it, but it is unchanged from Windows for Workgroups 3.11, and doesn't actually work – other Windows 95 components require new APIs which Microsoft added to KRNL386 but didn't bother adding to KRNL286. By the time we get to build 286, KRNL286 was long gone.
https://betawiki.net/wiki/Windows_95_build_22
In principle, you could likely patch early Windows 95 builds to run on a 286, but I don't think anyone has actually tried. At a minimum, you'd need to add the missing APIs to KRNL286.EXE
Taking you at your word, I suspect what you may have actually saw was https://en.wikipedia.org/wiki/Calmira – an open source project which gives Windows 3.x a Windows 95-style interface – or if not Calmira, other people implemented the same idea independently, e.g. the shareware Mask98 package – http://www.win3x.org/win3board/viewtopic.php?t=1262&view=min – however, this had nothing to do with Microsoft; Microsoft could have done something like this, but they had no commercial interest in doing so.
> Bet you don't even know about Windows 97.
That is just an unofficial/unlicensed third-party distro of Windows 3.11 with Calmira bundled.
https://crustywindo.ws/Windows_97
Separately, "Windows 97" was also what Microsoft once planned to call "Windows 98", but they weren't able to finish it in time to release it in 1997
At least that is what I remember and while that memory might be hazy I know exactly where my precious is.
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
I've been meaning to rediscover the CICA and Simtel collections. Maybe that's what I needed!
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.
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.
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.
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.
Unlikely, virtualization/emulation has been a thing well before this project and you can just buy USB to RS232 adapters. There are GPIO solutions for industrial PCs other than the parallel port. Or you can simply buy new industrial PCs which have those ports.
If you find an industrial appliance controlled by genuine old PC hardware that hasn't been replaced, the RS232 ports are the least of your concerns.
In my experience, such machines usually have something insanely proprietary plugging into a custom ISA card, and whatever is connected to it usually doesn't take too kindly if the bus timings are off. And neither does the accompanying bare metal software that relies heavily on timing loops and hardware peculiarities.
It looks like I would have to build my own frank board. Any off the shelf boards?
The presence of instructions first added in the Pentium really does not tell you anything about performance.
Or Plan9 for i386.
probably faster downloading it than searching around in the attic ;-)