Page 1 of 4

Altair 8800 Micro Project Status

PostPosted: Feb Sun 28, 2010 8:21 am
by vbriel
I can't move topics around on this forum (need to upgrade), so I'll repost the initial post when I got the Altair 8800 Micro off the ground.

Original thred is here: ... 9&start=45

Ok, I know this has been a long process and I'm still not finished, and the hardest part of this project is still being completed but I wanted to give status update.

One of the ideas I had to the Altair project was to not only make a front panel and PC Case but also something smaller, more handheld. This is still very early in the design process but I'd thought I'd let everybody know where I've been hiding lately.


This is a prototype for my Altair Micro (name subject to change). It is 10"W X 7.75"D X 3"H. It has way more features on it than I was originally going to put on it.


The front panel is fully programmable with the Exam, Deposit and STEP switches. I'm still working on the switch details because I'm using slide switches instead of toggle switches. I couldn't find any toggle switches that were small enough to really fit on the panel.


A custom version of the PockeTerm is incorporated onboard with VGA and composite video output choices (or both), PS/2 keyboard.


I've also added a SD card slot that the PockeTerm can use to send programs into the Altair. This section I have not yet tested and it will be the last thing I add in features.

So, where is the project right now. I have the LED's and switches tested working. I have the core emulation written and can do simple instructions like JMP and NOP.

I can single step through instructions (that was not easy to do) and that appears to be working great.

I am slowly adding instructions but this will take a while. Anybody who might see this and have Atmel AVR experience that can help with the 8080 emulation, feel free to email me. I'm still many days/weeks away from adding all the instructions but right now things are looking good. Once all the instructions are in I'll work on debugging instruction errors. Please understand that I'm a 6502 guy and the 8080 is pretty new to me. I'm looking into painting the case blue to match the Altair color scheme.

I don't want to get anybody's hopes up, anything major can still go wrong to blow up the project but I know people have emulated 8080 machines with Atmel AVR microcontrollers so it is very possible. I'm not using their code but I use it as a reference when needed.


Emulated 8080 run at speed or faster than original
32K RAM with BASIC loaded at power up (still in the works may have to load from SD card)
VGA or composite TV video output to a monitor
PS/2 keyboard
SD card slot to load/store software through terminal section
Battery option (not tested, may not work well with so many LED's)
Diode circuit protection for battery/DC input.

Open to questions and suggestions.


PostPosted: Feb Sun 28, 2010 8:29 am
by vbriel
As of Feb 28th, this is where the project is at:

4K BASIC appears to be working as well as 8K BASIC. A lot of testing has to be done still to check for errors. I'm sure something will come up.


Worked on that a little last night. Initial test program took 5 min 59 seconds to run (5:59) while Rich Cini's emulator runs it in 3:35. After just a few minutes I have shaved the run time of the test to 5:29.

The last step to increase perfomance will be to overclock the AVR. Sounds bad but it is really common. I'll be bumping the speed from 16Mhz to 20Mhz. This is a safe 12.5% increase and will get the machine closer to the goal. I have other steps I'll do in firmware to speed things up. Right now, if I wasn't running a speed test, I might not even know it's running a little slow. My goal is as fast if not a little faster than original.


I'm working on getting a video of it running but I'm not sure when I'll get that done.

BASIC selection:

Depending on how I program it, you should be able to select which version you want to load on power up just by setting switches. Both fit into the Propeller chip and can be uploaded to the AVR on command.

That's it for now.


PostPosted: Mar Wed 03, 2010 6:39 am
by vbriel
Finally added composite video out and I'm in the process of getting the SD card slot to load/store files.

I'm running out of memory in the Propeller that is handling the I/O so I'm going to keep the code short and simple. I'm trying to decide if it should be panel switches that determine load/store of typing in commands. I'm thinking it should be typing and I'll create a new VT100 type command.

My idead would be loke
ESCAPE[L8filename.asm would load filename.asm into the altair
ESCAPE[S8filename.asm would store all 32K RAM into file

Just thinking ahead, I'm behind on orders right now, so probably no work for the next week.


PostPosted: Mar Wed 03, 2010 9:41 pm
by vbriel
Ok, just some things I worked on even though I am busy. I took BASIC out of the Propeller and now it loads from SD card.

I am still working on the boot process where it will autoload start.bin from SD card if it finds it. After that, I will come up with a way to load/store files to/from the SD card. I'm working on speed improvements and a new revision board set to fix errors I had in the first prototype.


PostPosted: Mar Sun 07, 2010 9:41 am
by vbriel
Just a short update. I haven't done much in the last couple of days. I made the startup routine auto load start.bin if it finds it, if not, it moves on. Any size file will load but over 32K won't load correctly right now since there is only 32K RAM.

Next I'll work on loading and storing memory to/from files. Not sure if I can do custom file names yet, working on that.

I found enhanced basic has a math bug, so I have to find that. It will be more difficult than 4K/8K because there is no disassembly listing that I know of for enhanced basic.


PostPosted: Mar Thu 11, 2010 7:46 am
by vbriel
Another little update. I was able to update the SD card driver and now can write all of the 32K RAM in about 30 seconds. That's way better than the 3+ minutes it was taking before! Waiting on some switches to check out and some other things like making it capable of doing updates with just a file in SD card.


PostPosted: Mar Sun 14, 2010 10:53 am
by vbriel
This thred is more of a blog I guess :)

Anyways, major update today. I have a proto version of a bootloader working and now you can do firmware updates on the Altair CPU via SD card and some switch settings! This is really big for sending updates and bug fixes out. Here's how I have it setup now:

With the Altair loaded and running, you stop the CPU to step mode. Then put the sense switches A8-A15 to 0x55, or off, on, off, on, off, on, off, on. Next, you hit step and the propeller will prompt for a file name. Enter the file name of the flash file and hit enter. It will transmit the file to SRAM, then perform a flash update. When finished, it will put 0x55 on the A8-A15 LED's. At this point, you must turn off the Altair, wait a few seconds and turn it back on.

Next I'm going to write code so the propeller terminal section can do a self flash update via the SD card.


PostPosted: Mar Wed 17, 2010 10:25 pm
by vbriel
Spent a little time cleaning things up. Now, firmware updates will be done on power up. If you want to load a program into memory on power up, the AUX switch is raised. With AUX raised, if you want to load BASIC or some other 8080 program into memory, you raise switch 11. If you want to do a firmware update, you raise switch 8-15 to the value 0x55, or switches 8,10,12, and 14 up. This allows you to select the firmware file from the SD card and reprogram the firmware.

I still have some work to do on it so if something goes wrong on an update, you can reflash :) This change will require some slight modification to the reset and power up boot loading scheme, but it is the best protection from blowing up the code and needing to send a chip in.

Still waiting on some toggles switches to inspect to see if I'm going with them over the slide switches. The price range is right there, so it is possible to do. Not going to make a final decision until I see the switches.

Also, as things get closer to being ready to roll out, I will be trying to estimate a release date. I don't see why June isn't possible, although I still have some debugging to do and a final prototype run and testing. The last thing is to write a manual, that takes a while.

I've been trying to do a little every day, and I think people will be happy with all the features available. The best part is how easy it is to do updates. You just download the firmware file, put it on your SD and throw some switches.

Once the micro version rolls out, I'll start work right away on the full size panel and PC case version. This will take some work because there are a lot of features on the micro that might not carry over. We'll see.


PostPosted: Mar Mon 22, 2010 10:41 am
by vbriel
I've got the CPU flash update set so if something goes wrong, the bootloader is always in there and will be safe from damage. If there is an update to the firmware and the flash goes bad, you can still reflash the chip. The terminal chip (propeller) flash has no way to be protected. It takes about 4 minutes to do an update and if power is lost during the write, the chip will be probably be sent in for reprogramming. I don't expect many updates on the terminal section.


PostPosted: Mar Fri 26, 2010 3:44 pm
by vbriel
Work has begun on the new front panel. Switches have been located at a low enough price to fit the project budget. This means not only toggle switches but the step, exam and deposit switches will have momentary switches. This is much more authentic to the Altair. A new front bezel is due in next week and then I will order the pcb. After that comes the beta testing while I write the manual for it.

I'm almost set on the new Altair 8800 Micro but if anybody has a better name for it, feel free to speak up before the final prototypes get made in April.

As of right now, the rollout date is June, but I'll update the site when that gets closer. I'm going to offer something for the first 25-50 preorders (maybe I'll sign the inside of the case :) LOL, just kidding.

Stay tuned, the release date is growing closer.


PostPosted: Mar Fri 26, 2010 10:31 pm
by sanman

Great news and progress! I'm glad you were able to re-evaluate the switches. I think this will make a significant difference and, like you said, keeps it vintage.

Watching the YouTube video brought back memories.

- J

PostPosted: Mar Mon 29, 2010 12:33 pm
by mcphja2
I can't wait! I'm happy you were able to find toggle switches.

Will there be any I/O options or external s-100 bus expansion planned, or will I have to wait (or get another!) for a future version?

PostPosted: Mar Mon 29, 2010 10:45 pm
by vbriel
mcphja2 wrote:I can't wait! I'm happy you were able to find toggle switches.

Will there be any I/O options or external s-100 bus expansion planned, or will I have to wait (or get another!) for a future version?

I can't wait myself. YEARS in the making. Not sure about I/O options yet. Not sure if I have the board space for some type of header. I'll look.

Today I took the CPU upto 20Mhz. This is considered overclocking but has been said by the AVR community to be a pretty safe speed. Not heating up at all and much faster speed in BASIC. A program is now nearly identical to Altair32 emulation speed.

I have a new front panel bezel set being produced and I'm getting ready to order a new pcb set. Hope to have pictures/video up within the next 3 weeks.


PostPosted: Mar Tue 30, 2010 3:20 pm
by Bill Loguidice
Can you just restate your full plans with this project one more time? I take it it's to perfect this scaled down (in size, only) version and then you also plan to make a full sized version as well, right? I assume that would be at least double the price complete, right?

PostPosted: Mar Tue 30, 2010 5:09 pm
by Des
.....I would like to hear more about Vince's thoughts on the full sized version as well.

thank you.