There's something amazing about carrying around your dot-matrix printed source code in a roller suitcase. The only thing that says "stable release" more than printing it out on hundreds of pages of paper is launching the computer running the code into space with no hope of doing an update.
Kids, today! You have no idea how lucky you are. At the time of writing this code, there were no 32" color monitors, IDEs, code text editors, or source code management systems. Code was first written out by hand and then typed onto punch cards or paper tape. These were fed into a mainframe computer for assembly. If you made a mistake, you had to find cards (by hand), remove and replace them with corrected cards. Get…
Don Eyles Walks Us Through the Lunar Module Source Code
41–50 of 52 posts
Re: Don Eyles Walks Us Through the Lunar Module Source Code
#42Earlier quoted context omitted.
Kids, today! You have no idea how lucky you are. At the time of writing this code, there were no 32" color monitors, IDEs, code text editors, or source code management systems. Code was first written out by hand and then typed onto punch cards or paper tape. These were fed into a mainframe computer for assembly. If you made a mistake, you had to find cards (by hand), remove and replace them with corrected cards. Get…
I'm 57 and a working developer. In school, It was a beautiful feeling if your card deck compiled, ran, didn't run out of CPU time, and produced the correct print out, the very first time.
Re: Don Eyles Walks Us Through the Lunar Module Source Code
#43Earlier quoted context omitted.
Yup..."back then" you would arrange all your cards in a shoebox and then take a marker and make a diagonal mark from top left to bottom right JUST IN CASE you dropped said shoebox on the way to class to turn in your homework/take home test. Without that mark there's no easy way to recreate the correct order of the punch cards. Source: dad was an engineering major in the early 70s.
The first six columns of IBM cards used for COBOL programming had sequence numbers that could be used to validate that program lines were in order.
Re: Don Eyles Walks Us Through the Lunar Module Source Code
#44Earlier quoted context omitted.
The first six columns of IBM cards used for COBOL programming had sequence numbers that could be used to validate that program lines were in order.
I'm curious what % of HN readers have ever written a program with line numbers...
Re: Don Eyles Walks Us Through the Lunar Module Source Code
#45Earlier quoted context omitted.
The first six columns of IBM cards used for COBOL programming had sequence numbers that could be used to validate that program lines were in order.
I'm curious what % of HN readers have ever written a program with line numbers...
> 10 PRINT "HELLO WORLD"
> 20 GOTO 10
Re: Don Eyles Walks Us Through the Lunar Module Source Code
#46Earlier quoted context omitted.
Sometimes I like to see what I can figure out in 5 minutes without help or using easy search terms. Keep my Google Fu sharp. Clicking on your name would've been way too easy. Although, I probably should've looked just in case before I asked haha. Anyway, nice to run into you. I remember your writings were some inspiration in my work on an embedded, efficient 4GL. I no longer had the tool or even remember what I read…
I liked the 1802 a lot. Nice orthogonal architecture, lots of registers, made writing the emulator a snap. The only problem with it was that it was dog-slow even in its day: 8 clock cycles per machine instruction. I think you could do better today with a modern FPGA. I'm doing some work on secure hardware (and software) myself. Would love to compare notes. I sent you an email.
" Equals 2 machine cycles - one Fetch and one Execute operation for all instructions except Long Branch and Long Skip, which require 3 machine cycles - one Fetch and two Execute operations."
Max clock is 3.6MHz. So, better than 8 clock cycles but still dog slow compared to most. 3.6MHz is still very usable in lost of control applications, some logging, and possibly trusted coprocessor if simple function. Speed improvement is a must, though, for the 1802/2.
Re: Don Eyles Walks Us Through the Lunar Module Source Code
#47Earlier quoted context omitted.
I liked the 1802 a lot. Nice orthogonal architecture, lots of registers, made writing the emulator a snap. The only problem with it was that it was dog-slow even in its day: 8 clock cycles per machine instruction. I think you could do better today with a modern FPGA. I'm doing some work on secure hardware (and software) myself. Would love to compare notes. I sent you an email.
Dug this out of the datasheet: " Equals 2 machine cycles - one Fetch and one Execute operation for all instructions except Long Branch and Long Skip, which require 3 machine cycles - one Fetch and two Execute operations." Max clock is 3.6MHz. So, better than 8 clock cycles but still dog slow compared to most. 3.6MHz is still very usable in lost of control applications, some logging, and possibly trusted coprocessor i…
Re: Don Eyles Walks Us Through the Lunar Module Source Code
#48Earlier quoted context omitted.
The first six columns of IBM cards used for COBOL programming had sequence numbers that could be used to validate that program lines were in order.
I'm curious what % of HN readers have ever written a program with line numbers...
Re: Don Eyles Walks Us Through the Lunar Module Source Code
#49Earlier quoted context omitted.
Dug this out of the datasheet: " Equals 2 machine cycles - one Fetch and one Execute operation for all instructions except Long Branch and Long Skip, which require 3 machine cycles - one Fetch and two Execute operations." Max clock is 3.6MHz. So, better than 8 clock cycles but still dog slow compared to most. 3.6MHz is still very usable in lost of control applications, some logging, and possibly trusted coprocessor i…
I remember the 8080 used 3 clock-cycles for a T-cycles, and 2 or three T-cycles for an instruction. It really took years to get one-instruction-per-clock-cycle. Pretty much all modern processors can do that now (or even three or four per)
Re: Don Eyles Walks Us Through the Lunar Module Source Code
#50Earlier quoted context omitted.
The first six columns of IBM cards used for COBOL programming had sequence numbers that could be used to validate that program lines were in order.
I'm curious what % of HN readers have ever written a program with line numbers...
The punchcards were considered uncool then, the tape was much better.