- cross-posted to:
- technology@lemmy.world
- hardware@lemmy.world
- cross-posted to:
- technology@lemmy.world
- hardware@lemmy.world
If you’re skeptical that this feat is possible with a raw 4004, you’re right: The 4004 itself is far too limited to run Linux directly. Instead, Grinberg created a solution that is equally impressive: an emulator that runs on the 4004 and emulates a MIPS R3000 processor—the architecture used in the DECstation 2100 workstation that Linux was originally ported to. This emulator, along with minimal hardware emulation, allows a stripped-down Debian Linux to boot to a command prompt.
that is 2^8 levels of insane! and of course its Debian.
edit: 4bit data 12bit addressing make it an 8bit processor ; -)
I will slowly corrode on this hill.
I want to see the neofetch output lol
Here you go:
-` .o+` user@intel4004 `ooo/ ---------------- `+oooo: OS: Arch Linux BCD oriented `+oooooo: Host: Intel 4004 @ 740 KHz -+oooooo+: Kernel: 0.0.1-custom `/:-:++oooo+: Uptime: 3 hours, 12 mins `/++++/+++++++: Packages: 3 (pacman) `/++++++++++++++: Shell: sh 0.5 `/+++ooooooooooooo/` CPU: Intel 4004 (4-bit) @ 740 KHz ./ooosssso++osssssso+` Memory: 0.64 KB / 8 KB .oossssso-````/ossssss+` Storage: None (Using Paper Tape) -osssssso. :ssssssso. GPU: None (Terminal Only) :osssssss/ osssso+++. Display: None (TTY Only) /ossssssss/ +ssssooo/- Network: None (Hand-delivered punch cards) `/ossssso+/:- -:/+osssso+` `+sso+:-` `.-/+oso: `++:. `-/+/ .` `/
Why mips and not RiscV? I would assume it’s easier to emulate in software and has good support in linux
EDIT: found it
Some architectures had arbitrarily-shifted operands all the time (ARM), some have shitty addressing modes necessitating that they would be slow (RISCV), some would need more than 4KB to even decode instructions (x86), and some were just too complex to emulate in so little space (PPC).
Could it be the pc relative addressing often used on risc-v would be slow to run on 4004?
$ doom