4 ms·
Yes, back in the days, I/O was often really low latency because memory and therefore buffers were expensive and gate count was limited, it meant more direct con
by GuB-42 1y ago
Yes, back in the days, I/O was often really low latency because memory and therefore buffers were expensive and gate count was limited, it meant more direct connections, which meant low latency.
The Atari 2600 for instance was known for "racing the beam", updating the image while it was being drawn on the CRT monitor. A latency measured in pixels rather than frames! It was necessary because the console didn't have enough memory for a framebuffer.
The Atari ST is special for the inclusion built-in of MIDI ports, and it was made cheaply, which at the time meant direct connections and it resulted it low latency.
- zozbot234 1y agoYou can have low latency and low jitter today, but you will need to use a microcontroller not a general-purpose CPU. The old 16/32 bit retro machines are essentially microcontroller architecture devices with general-purpose computer peripherals, for pretty much the reasons you mention. But there are many cheap microcontrollers available today, such as the Raspberry Pico series.
- GuB-42 1y agoAnd when you factor in FPGAs, you can get down to the microsecond or less. Low latency is possible, it is just that priorities are often elsewhere. We like being able to plug everything anywhere. And I admit it is damn cool being able to connect a display, most kinds of storage devices, keyboard and mouse, all while charging my laptop on a single port, at any time. I may even be able to disconnect my laptop and put my phone instead and it will do something sensible. If you did that back in the day, there was a good chance for one of the devices to turn into a smoke machine. It comes at a cost though.
- dylan604 1y ago> If you did that back in the day, there was a good chance for one of the devices to turn into a smoke machine. Back in the day, you would not have been able to do any of this with one port. Each type of device had it's own uniquely shaped connector/pins combo. You were not going to connect your SCSI devices into the VGA monitor port accidentally. Closest I ever saw was someone attempting plug in a Mac ADB cable to the S-Video port, but that just resulted in bent pins. It just so happened those pins were on an Avid Film Composer dongle instead of a replaceable cable.
- YZF 1y agoI think modern general purpose CPUs are perfectly capable of low latency and jitter. The problem isn't the CPU, the problem is stuff around the CPU (mostly the operating system). The less deterministic aspects of modern CPUs (branch prediction, speculative execution, caches etc). happen at timescales much smaller than what you usually care about (and possibly smaller than the jitter specs on microcontrollers).
- b112 1y agops/2 keyboards trigger an interrupt. USB are polled.
- yencabulator 1y agoA modern CPU polls faster than it can handle interrupts. That can be done on every nth iteration of the sound producing loop.
- Lerc 1y agoA rp2350 with psram and microsd could probably do a commendable job at pretending to be an entire Atari ST while providing a bootload of extra low latency goodies at the same time
- bitwize 1y agoI refer to the RP2xxx chips as "headless Amigas" because their PIO modules essentially function like Coppers: they are simple state machines that offload I/O functionality off the CPU. I think there's a very strong future in emulation of achieving FPGA-like latency by using a Raspberry Pi Pico/Pico2 to emulate each of the target machine's subsystems/chips.
- Lerc 1y agoHave you seen https://github.com/floooh/chips https://github.com/floooh/chips A bunch of PIO linked chips using these interfaces would feel like a weird blend of software and hardware that stands separately to the FPGA world. I have wondered if it would actually work as a larger scale paradigm. Imagine a single piece of silicon with a bunch of RP2xxxx level processor/ram blocks with PIO links between them all. I'm not sure how it would come out compared to FPGAs for balance of flexibility/cost/power consumption/etc. but I suspect it could find a niche. antirez mentioned running some of these on RP2040's
- kjs3 1y agoThe 68000 is "essentially microcontroller architecture"? I don't think there are many people who understand architecture that would agree with that statement.
- nailer 1y ago> The Atari 2600 for instance was known for "racing the beam", updating the image while it was being drawn on the CRT monitor. A latency measured in pixels rather than frames! Oh wow! I remember hearing that oculus were doing this on their devices and thinking it was new.