Live data from Hacker News

Don Eyles Walks Us Through the Lunar Module Source Code

hackaday.com

41–50 of 52 posts

Re: Don Eyles Walks Us Through the Lunar Module Source Code

#41
post #2

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…

yep. that's why things used to work back then - because people actually were thinking about what they were doing.

Re: Don Eyles Walks Us Through the Lunar Module Source Code

#42

Earlier 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.

never happened to me:) most of the time i used to receive my deck wrapped in thin printout with some compilation error.

Re: Don Eyles Walks Us Through the Lunar Module Source Code

#43
post #36

Earlier 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.

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

#44
post #36

Earlier 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...

Our highschool software teacher forced us to write at least one program in a language that used line numbers to give us perspective. Great teacher.

Re: Don Eyles Walks Us Through the Lunar Module Source Code

#45
post #36

Earlier 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...

I'm curious what percentage have never done so, but would still recognise:

> 10 PRINT "HELLO WORLD"

> 20 GOTO 10

Re: Don Eyles Walks Us Through the Lunar Module Source Code

#46
post #34

Earlier 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.

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 if simple function. Speed improvement is a must, though, for the 1802/2.

Re: Don Eyles Walks Us Through the Lunar Module Source Code

#47
post #34

Earlier 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…

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

#48
post #36

Earlier 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...

ZX Spectrum +3 user here

Re: Don Eyles Walks Us Through the Lunar Module Source Code

#49

Earlier 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)

Thanks as I couldnt recall how average CPU was then. I was writing it off as possibly the safety/reliability sacking the performance a bit. Still wondering about the "noise immunity" feature. Thought all digital gates had that property.

Re: Don Eyles Walks Us Through the Lunar Module Source Code

#50
post #36

Earlier 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...

Even punch cards, but more teletype-style https://en.wikipedia.org/wiki/Punched_tape

The punchcards were considered uncool then, the tape was much better.

Post reply on HN