• qprimed@lemmy.ml
    link
    fedilink
    English
    arrow-up
    41
    ·
    edit-2
    1 month ago

    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.

    • melroy@kbin.melroy.org
      link
      fedilink
      arrow-up
      17
      arrow-down
      1
      ·
      1 month ago

      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:
       `++:.                           `-/+/
       .`                                 `/
      
  • pftbest@sh.itjust.works
    link
    fedilink
    arrow-up
    9
    ·
    edit-2
    1 month ago

    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?