4 ms·
Gamepads were standardized ADC converters too. Early PCs were actually really similar to modern Arduino boards. UART for Serial Port, GPIO is basically paralle
by dragontamer 4y ago
Gamepads were standardized ADC converters too.
Early PCs were actually really similar to modern Arduino boards. UART for Serial Port, GPIO is basically parallel ports, ADC vs Gamepad port, etc. etc.
20MHz Arduino Uno compares favorably to 16MHz 80386, its really just RAM that's feeble (2kB SRAM on Arduino Uno, which is much less than computers in the 80s), but its not too hard to expand RAM out a bit (or buy a comparable uC today that has 1MB or so of RAM)
-----------
Even then, today's I2C ports (Arduino / Rasp. Pi) are way easier than old ISA stuff, but you run into very similar issues. I2C address collisions can cause a lot of pain, and ISA boards had DIP switches to move those peripherals to other ports.
I2C is much more streamlined compared to ISA. Especially because we don't care about speed anymore (if you "need speed", USB and other protocols exist. All the protocols for modern uCs are for convenience: SPI, UART, I2C, etc. etc.)
- 13of40 4y agoThe Harvard architecture on Arduino and not being able to load code at run time is a real buzz kill. It would be so much better if you could execute out of RAM so young hobbyists could make their own Apple II grade hobby computer.
- dragontamer 4y agoMicrocontrollers were always weird. Z80, 8051, AVR... they never were designed to really use OSes like Linux or Windows (or Apple II). That being said: Rasp. Pi, Beaglebone Black, Le Potato, and many other SBCs are proper computers with proper OS support. --------- Back in the 80s, the Microcontroller vs Microcomputer concept wasn't really solidified yet. Yes, the 8051 and Z80 existed, but they were still external memory bus and kinda microprocessor-ish.
- squarefoot 4y agoIf memory serves, game ports on PCs didn't use any ADC as those would cost a lot in the 80s and 90s. They rather used the gamepad controller (a potentiometer) as part of a RC oscillator where the C was on the mainboard, then they would sample the period which would be proportional to the controller resistance and get the relative position.
- dragontamer 4y agoAn RC oscillator into a PWM pulsetrain sounds an awful lot like an Analog to Digital converter to me. :-) Then again, I'm the type who considers an analog comparator to be a 1-bit ADC so...
- Jenda_ 4y ago> 20MHz Arduino Uno compares favorably to 16MHz 80386, its really just RAM that's feeble It's 8bit, any operations with wider numbers require several instructions.
- dragontamer 4y agoArduino Uno is mostly 1-clock per instruction. A 16MHz ATMega328p scores 16MHz MIPS. 80386 was mostly 4-clocks per instruction. A 20MHz 80386 only scored 5MHz MIPS. Most 1980s/90s computers were multiple-clock-ticks per instruction (8051 was 12-cycles per instruction, so a 12MHz 8051 is only 1 MIPS). I don't think Intel got to single-cycle instructions until 80486?? Hard to remember all the differences... Furthermore, the ATMega328p has many 16-bit instructions, like add, which operate over two registers in one clock tick.