Hacker News new | comments | show | ask | jobs | submit login
Altair 8800 – Loading 4K BASIC with a Teletype [video] (youtube.com)
81 points by mmastrac on May 26, 2014 | hide | past | web | favorite | 30 comments

Paper tape is why ASCII DEL is 0x7F — it's the only idempotent punch.

And why typing DEL is properly a forward delete operation: it eliminates the character under the cursor — converting it to a DEL, to be ignored when reading the tape — and (like any other punch) advances to the next. (I blame the VT220 for mucking this up and leading to endless confusion.)

All punches are idempotent, in that punch_x(original) = punch_x(punch_x(original)). ASCII DEL is the only punch that acts as a constant endomorphism.

I've always been disappointed that I missed out on this era of computing. I had a couple Apple IIs in the late 90s, and I enjoyed them immensely, but it was old stuff by then and much of the community was gone, and people had moved on to newer things.

I have dreams of creating a modern microcomputer. A computer for the hacker masses, inexpensive with modest specifications and simple design, with ample parallel and serial IO. Something that puts you close to the metal with few distractions and limited complexity, like an arduino but interactive and self-contained. Like what the Raspberry Pi was meant to be, but without binary blobs and complicated operating systems.

Is that an idea that appeals to anyone else? Whenever I think about it, I feel all warm and fuzzy inside. I know some of it is nostalgia, but I also think there is a lot to be said for the creativity and inspiration that arises from working in simple constrained systems.

I'm nostalgic for the days of 8 and 16 bit computing but whenever I sit down at my c64 or Amiga now I marvel at how far we've come.

That said, I agree that a simple and constrained environment can be great for learning and creativity. This is one of the reasons I'm currently writing a Logo interpreter reminiscent of ones I used as a kid in the 80's, using an Apple Logo II manual as a guide. Hopefully I can get my almost six year old daughter interested in playing with it!

Awesome, logo on the Apple II was my first introduction to programming. I hope she likes it too.

Logo! Are you going to open source the interpreter?

It's at github.com/adkennan/logo but is still very much a work in progress. My goal is to get it running nicely on a Raspberry Pi.

logogo, gologo, goturtles?

logo-a-go-go perhaps? I haven't spent much time thinking about a project name beyond "my logo interpreter that's on github"

Plus, just because it's written in Go I don't think an application should have extra "go's" in it's name!

Yep. I was just a couple years too late for a lot of tech. In high school, they retired the card punch and card reader the year before. In college there were still card decks being run and bins of printouts but everything new was being done on glass TTYs. We had teletypes in a few labs but only once did I ever see one used when we got one working again to play with.

I wonder if the kids a few years behind me say things like "they stopped using floppies right before I started" or "I never did see a dot-matrix printer actually print".

I also wish there was a simple micro out there. I still have an old senior design project sitting in a drawer at Tampa Hackerspace. It's a Jeopardy style quiz show buzzer system built from a Z80 (old even when we used it), I think a 8255 (because I had a pile of them), a little TTL glue, a EPROM with a few hundred lines of hand-assembled code, no RAM, and a 555 timer for a clock. The clock is so slow that we also used it for the audio for the buzzer. It's been a fun board to haul out and throw on a logic analyzer to show people. Can't probe the address bus on an ARM or Atmel. But kids today probably look at that like I used to look at tube testers.

I would love to be able to buy a modern replica of the original '70's mail-order kit. There are microcontroller-based hardware simulators (like the one in the video), but there's no fun when you cannot assemble one yourself out of old school DIP parts... Just looking at the original kit ad [1] makes me feel all giddy.

[1] - http://science.slc.edu/~jmarshall/courses/2003/spring/cs10/l...

Oh yeah, I haven't thought about a project like that in a while, but I've definitely gone around the homebrew-cpu webring a few times. It sure would be fun.

For what it's worth, the guy in the video seems to sell clone kits. The kit and assembled version are the same price as the original assembled machine, $621 (though the replicas have a lot of additional stuff thrown in). Not exactly a cheap, but if you really want one, you can get one.

I built a Z-80 kit in 1978. My first computer. It was a blast. I still have the thing.

Before you get me wrong: I was the only kid in my high school with a computer of his own. That's kind of unbelievable. The next year, there were maybe six of us with computers. We had all kinds of opportunities because of our early exposure to this stuff (I arguably got my first real job because of that kit I built).

[We also got into trouble with modems, and my grades cratered, and I independently discovered hacker hours. Ha.]

I do get nostalgaic, but every time I go back and want to program one of these things (e.g., a KIM-1 replica I built last year, and an IMSAI replica) I run into the fact that the software environment on these things really stunk. That KIM-1 sits there; I wrote an assembler for the thing in a couple of days, but dealing with the limited resources when I don't absolutely have to takes the wind out of my sails.

If I was on a desert island, I know I could deal. It would be no problem. But while it's nice to have that to fall back on, I'd much rather be hacking in C++ / Python / JavaScript with a real editor and a debugger that doesn't suck.

Someday I'll dig that old digital group system out of the closet and get it running again. But chances are that I'll write an emulator for it first :-)

[I did get to do a nice bit of embedded systems work a few years ago; a little power control system in 1920 bytes. That was a lark, and I got one of my cow-orkers roped into the project and we were basically insufferable, giggling kids for about two weeks, saving bytes and doing dirty hacks to make things fit in that space. Oh, those poor PMs...]

I remember doing this for my dad... sitting in his computer store, entering bytes of the boot-loader program by flipping switches. In my memory, it took much longer than in the video. The computer was an Altair clone, one of these: https://www.youtube.com/watch?v=VYhbzCAzNy0 and the paper-tape reader was also different (not connected to a teletype, just a stand-alone paper tape reader with a serial port) so I guess it was a different bootloader entirely.

At one point I worked on an over-the-horizon radar, where the control room was at the receiver site, about 100km from the transmitter site. It had changed by the time I was there, but the old techs used to tell of having to enter the bootloader, for the computer at the transmitter site, via radio link. If the link went down, you had to start again...

The boot loader very well may have been the same, as the paper tape reader would output the same bitstream regardless of the reader. It's basically flipping switches (transistors) to get ready to receive data from the serial port and put it into memory starting at a specific address.

I bet that was the Oliver Audio Engineering reader, as shown at http://www.swtpc.com/mholley/OAE80_Reader/OAE80_Index.htm . I never did manage to get mine to work.

My brother built one of those from a kit when I was a kid. I wrote my first computer game in 8080 assembler, in 128 BYTES of ram.

He donated it to the San Jose tech museum I think.

I was at the museum yesterday and have just checked my pictures - the plaque next to one of the 8800s says "Gift of Craig Payne", and the plaque next to the other says "Gift of Louis Wheeler".

Edit: Actually, that was the Computer History Museum at Mountain View. I haven't done the Tech Museum in San Jose yet.

Neither of those guys. Richard Altmaier.

I built one of these from a kit for my high school, they bought one and needed some one to assemble it for them, I was a sophomore at the time and a computer club formed around it immediately. I wonder what ever happened to it.

At the end of the video (approx. 8:25), he tells you that the machine is actually an Altair clone made with modern technology, not a real Altair 8800.

My first hint was actually at 6:10 when it reported 61399 bytes of memory free!

I think that means the (emulated) machine is filled out to a full 64KiB. In the days of "4K BASIC", and 4KiB memory boards, a full 64KiB would have been impossibly expensive, but BASIC didn't care: The "Bytes Free" was how much room was left in RAM for what program you might care to load or toggle in after the BASIC interpreter had loaded.

Those 4K boards in the original Altair were expensive: $264 kit in 1975 [1].

I do recall the smell of those TTYs: Machine oil, bronze bearings, paper and ink.

Nice to see those 16 Address Bus switches, with the lower 8 switches doubling as data switches for the "Deposit" and "Deposit Next" switch.

edited for reference

[1] http://www.pc-history.org/altair.htm

We've come a long way in just a couple of decades. The gap between the computer shown in the video, and the ios device I'm watching the video on, is mindblowing.

I have yet to watch this, but I am pretty sure that the first two bytes of the loader, are 063, 307. I loaded Altair Basic dozens of times as a teenager in the late 1970's.

Am I right?

"First two bytes are 41 and 256," he says.

How would a byte be 307? Or 256, for that matter. I must be missing something basic. Hah.

[edit] Oh, octal. Five groups of three plus the one on the end. That makes sense and also explains how he's so easily plugging in the numbers.

Also DEC PDP's used OCD octal coded decimal - I had once or twice to manually load the boot strap when our pdp 11/40 boot strap loader subsystem had a fault.

wow. surreal ...

Applications are open for YC Summer 2018

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact