Slashdot Mirror


Historians Recreate Source Code of First 4004 Application

mcpublic writes "The team of 'digital archaeologists' who developed the technology behind the Intel Museum's 4004 microprocessor exhibit have done it again. 36 years after Intel introduced their first microprocessor on November 15, 1971, these computer historians have turned the spotlight on the first application software ever written for a general-purpose microprocessor: the Busicom 141-PF calculator. At the team's web site you can download and play with an authentic calculator simulator that sports a cool animated flowchart. Want to find out how Busicom's Masatoshi Shima compressed an entire four-function, printing calculator into only 1,024 bytes of ROM? Check out the newly recreated assembly language "source code," extensively analyzed, documented, and commented by the team's newest member: Hungary's Lajos Kintli. 'He is an amazing reverse-engineer,' recounts team leader Tim McNerney, 'We understood the disassembled calculator code well enough to simulate it, but Lajos really turned it into "source code" of the highest standards.'"

3 of 159 comments (clear)

  1. How to build a CPU -- transistor level up! by compumike · · Score: 3, Informative

    Take a look at this set of videos from MIT's 6.004 Computation Structures class. They basically walk through the design of a simple 32-bit CPU from transistors, to gates, to functional blocks, to a full processor.

    Anyway, reading about how hard it was to recreate the source code from the 4004 makes me wonder how easily we could find source code for some apps from even a decade ago. Lots of companies have gone bankrupt / discontinued products / been sold / etc, and we all know that lots of people aren't good about backing up their code. It's neat to go to the Linux Kernel Archives and look at the Historic Linux sources.

    --
    Educational microcontroller kits for the digital generation.

  2. Re:Something is wrong...... by bpharri2 · · Score: 4, Informative

    Of course if you had bothered to read the article, you'd know that it doesn't work like todays calculators but like the old adding machines:

    "The electronic calculators that accountants used 35 years ago worked differently than the familiar four-function calculator we use today. These were designed to behave much like mechanical adding machines of the 1960's. After every number you want to add to the total, you need to press +, so = doesn't work like you'd expect. Here are some examples:

    To add three numbers: 61 + 79 + 83 + = (if you forget the last +, the 83 won't get added)
    To subtract two numbers: 2007 + 1971 - =
    To multiply two numbers: 125 x 5 = (this is more like we're used to)
    To divide two numbers: 625 / 5 = "

  3. Re:Only 1024? by ppc_digger · · Score: 3, Informative
    They put all the actual code in a shared library:

    # ldd /usr/bin/kcalc
    libkdeinit_kcalc.so => /usr/lib/libkdeinit_kcalc.so (0x00002b1351db8000)
    ...

    # ls -lh /usr/lib/libkdeinit_kcalc.so
    -rw-r--r-- 1 root root 436K 2007-07-03 19:15 /usr/lib/libkdeinit_kcalc.so
    --
    Of all major operating systems, UNIX is the only one originally meant for gaming.