PDA

View Full Version : Altair 8800 Micro prototype



vbriel
March 2nd, 2010, 04:49 AM
Ok, I've been working on a new project, a clone of the Altair 8800. Since Grant has already done an exact replica, I thought I would do something different. I pulled out my shrink ray gun and made a reduced size replica I call the Altair 8800 micro (catchy huh?) It is 10X3 by 9" deep and fits in your hand.

http://www.brielcomputers.com/files/ALTAIR2S.JPG

The project is based on a ATMEL AVR microcontroller as the heart of the Altair. I wrote my own emulation of the 8080 CPU and 6850 serial controller. The front panel is also simulated and you can exam deposit run/stop all from the front panel. Included onboard is the pocketerm terminal so you have VGA and PS/2 ports for I/O. Right now I have the BAUD rate set at 9600 but will be bumping that up soon too. The CPU speed is only about 60% of the actual Altair for the moment. I am working on speed enhancements now and should have it to 100% shortly.

http://www.brielcomputers.com/files/ALTAIR3S.JPG

Recently I got the CPU section working where I can load and run both 4K and 8K BASIC and it appears to be bug free but there is still a lot of debug testing to do. I will attempt an expansion port but I'm not going to promise exact timing specs. It would be cool to make it expandable! To make it better I would need to create an I/O port pin that indicates access is being attempted to an I/O port and the RD/WR signal would indicate if it is attempting a read or write from that port.

More project info along with pictures are here:

http://www.brielcomputers.com/wordpress/?cat=11

I have a video up on youtube but it didn't turn out so I'm going to redo that this weekend. I should have these available by this summer! Other variations will follow including a full sized front panel.

Let me know what you guys think, this is my first attempt at CPU emulation.

Vince

Chuck(G)
March 2nd, 2010, 08:31 AM
Nice work, Vince!

Why the 6850 UART, though? My recollection is that the MITS 8800 serial card used one of the dedicated UART chips (TR1602 or equivalent). 9600 I believe, was pretty much the top speed--it was the top speed for most terminals of the time at any rate.

NsMn
March 2nd, 2010, 08:40 AM
This is possibly one of the nicest idea for a clone!

It's, seriously, quite... cute. Looks like something you could buy as a souvenir... "Revive the Altair 8800 with this new, full-functional clone..."
Just, awesome.

ahm
March 2nd, 2010, 09:11 AM
Just hope you'll offer a keyring attachment. :)

Nice job as usual, Vince.

kyeakel
March 2nd, 2010, 09:41 AM
What sort of price point are you shooting for? I like the look of this!
Kipp

NsMn
March 2nd, 2010, 09:55 AM
Now I wonder how long it takes until someone builds a mini replica of the ADM-3 for this thing.

Anyway, it'd be interesting to see some kind of USB port to use a modern PC as a terminal.

vbriel
March 2nd, 2010, 12:00 PM
@Chuck - The SIO2 used a pair of 6850's. This was the most common card that I'm aware of for the Altair's. Reconfiguring the BAUD rate on the fly with the AVR is no easy task so I'll need to decide on a set speed to make things easier. I know whatever speed I choose, somebody won't like it :)

@NsMn - Even my wife thought it was cute, so I knew I was onto something. Get this, I've had this idea in my head for 5 years now. I've been trying to put it into hardware form for a while. I'm really glad I decided to bite the bullet and do it with emulation. When I first got the front panels in, I didn't have my boards yet, I couldn't wait to get one built. Very fun. Keep in mind I put my PockeTerm design onboard as well so there is actually a built in terminal like the ADM-3! I'm considering a disable terminal jumper feature and adding a serial port so you can use a PC as a terminal. They make serial-USB cables for about $5 on ebay.

@ahm - I'll try and do something smaller next time :) I'm going to try and make it out for the next VCF east for people to see in person. If things work out, I'll have some ready by summer.

@kyeakel - Kits are probably going to be $199, assembled and tested around $249~ The kits will include the case, front panel, rear panel, PCB and all components. You will just need to add your power supply, keyboard and monitor. I've done everything I could to keep the concept affordable.

Vince

Chuck(G)
March 2nd, 2010, 12:09 PM
@Chuck - The SIO2 used a pair of 6850's. This was the most common card that I'm aware of for the Altair's. Reconfiguring the BAUD rate on the fly with the AVR is no easy task so I'll need to decide on a set speed to make things easier. I know whatever speed I choose, somebody won't like it :)

That's pretty surprising to discover, Vince! I was under the impression that the SIO1 would have been the dominant card, at least for the original 8800. Remember that MITS included it in the $1000 "special deal" package--(1 SIO, 2 4K DRAM, CPU) for the 4-slot 8800. Now, if you include the 8800B, that could be a very different story. (I still have my SIO1, BTW).

Crawford
March 5th, 2010, 03:41 AM
Vince,

First - Amazing, great work. I love your kits. Emulation is an interesting idea.

Second - Could toggle switches be used for the front panels (they look like slides to me)? And a custom metal case would be really nice :)

Third - Will you have one at the Vintage Computer Festival East in September ?

-Crawford

tezza
March 5th, 2010, 04:15 AM
Lovely job!

Tez

vbriel
March 5th, 2010, 04:31 AM
Wow, I tried to post and it just didn't go through, I'm gonna try again here...

Crawford, been a while! I'm going out to electronic surplus today, should be fun! I choose emulation because it fit what I wanted to do. Every other option just added too many components or I had other issues. This option keeps the price low and the components to a reasonable level.

The toggle switches on this little case really stuck out and were just too big. Even mini toggles were just huge. Yes, I'm using slide switches, it was a tough decision but one I think gave it the best appeal. Not sure if I've found the final ones I'm going to use, I have pages on pages of catalogs to go through first. I plan to offer a full sized panel in the near future (this year) that will have the standard Altair style toggle switches. This way, you can have the realistic feel or the fun micro version.

I really want to show it at the VCF east this year, a lot depends on the economy, job, etc. As long as things remain the same, I can be there!

@Tez - Thanks!

Vince

linuxlove
March 5th, 2010, 06:30 AM
If I had enough money I'd buy one of those micro replicas; it's done really well from what I can see of the pictures.

NsMn
March 5th, 2010, 06:51 AM
Looks like I have to be a little child and get a "toy" for my birthday again.

vbriel
March 5th, 2010, 11:14 AM
Well, that enthusiasm is what keeps me going on this stuff. That was the same feeling I had towards kits in the late 70's early 80's.

Chuck(G)
March 5th, 2010, 11:31 AM
I don't know if this helps, but you can get some very small toggle switches (http://www.apem.com/pdf/TL-series.pdf) that might be just the ticket.

NsMn
March 5th, 2010, 12:30 PM
I have to say.... I somehow prefer the gray case and the sliding switches. But maybe just because there isn't a real "original style" case with toggle switches. Also, I think operating toogle switches would be far more annoying to operate if they're mounted to a thin piece of plastic or metal like in this case.

Crawford
March 5th, 2010, 12:37 PM
Vince,

OK, I'll take it as a challenge to find not only small toggles, but really really tiny toggles! I think you're on the right track, though with the small front panel. I still want to make a scale FP for the SBC6120.

What is the scale of the mini-Altair? 3/10ths or something like that?

Anyway, please don't take my question about the switches as criticism, it is still truly awesome!

-Crawford

vbriel
March 6th, 2010, 06:41 AM
Wow, thanks for the help guys. I should have done a shout out for this a while ago. Chuck, I have to look at the size a little closer but they look close to what would be needed. The real issue is the price. Even in qty those are $3-4 each. We're talking about $75 just in switches which really jacks up the total cost of the unit.

Criticism is what I need Chuck, it's how I work out the final details. The switches are definately an issue I have to resolve one way or another. To put things in perspective, the slide switches are about $.35 each. I might hit the target price still if the switches are under $1 each. If you are going to do a FP for the SBC6120 look at how much the paddle switches will cost! The switches are always why front panels cost so much. People don't realize how much switches cost.

Vince

Chuck(G)
March 6th, 2010, 08:22 AM
Vince, the switches weren't cheap when the Altair was new! Let me dig around a bit and see if I can locate a good deal in some of the surplus markets--you never know. But genuine toggle switches seem to be going the way of the dodo in the commercial world--everyone wants buttons.

RichCini
March 7th, 2010, 03:08 PM
Wow, thanks for the help guys. I should have done a shout out for this a while ago. Chuck, I have to look at the size a little closer but they look close to what would be needed. The real issue is the price. Even in qty those are $3-4 each. We're talking about $75 just in switches which really jacks up the total cost of the unit.
Vince

When I was looking for switches for the USB Altair front panel Howard and I designed, ISTR that Future Electronics had the best price for the C&K toggles I used. Having said that, they were still about $2.50 +/- per switch @25 units. A large-quantity purchase would make some sense to drive the unit cost down, or look to Hong Kong suppliers like Futurlec (which is different than Future Electronics.

Great job, Vince. It's an awesome project.

Crawford
March 8th, 2010, 10:01 AM
Vince,

I understand making a price point (and even being called Chuck, that's a new one). Even if you produced the kit with slide switches, I'd buy it. I'd also try to retrofit toggles on my own build and build a metal case too. (I've been to too many scale model shows I guess). You've met 99% of what 99% of people would want, I'd encourage you to forge ahead.

But remember, lots of people spend $400 to do a front panel for the SBC6120, which cost about $150... If/when I build a scale FP for the SBC6120, I would even build scale paddles in orange and yellow, and that wouldn't be easy, or meant for anyone without my particular version of OCD...

This is a wonderful project, and one I look forward to building. I think I've built all of your kits (except for the Apple 1 replica). Just sharing where I'd go with it, if it were available today... (I think I just customized something that doesn't exist yet!)

-Crawford

Chuck(G)
March 8th, 2010, 10:06 AM
Submini toggle switches can be had on the retail market for less than USD$1 and probably less if ordered from a Chinese vendor (they don't make them in the US, you know).

At that price, they tend to be a lot more practical.

vbriel
March 8th, 2010, 02:52 PM
Sorry Crawford, must have been tired. So much coding lately, I'm getting a little red eyed.

@Chuck, if you can find me a link to a place, I'll check them out. I would definately prefer super small toggle switches to slide. I just couldn't find anything that fit the price/size catagory.

Ok, so today I added a feature to choose your filename to load on power up. This lets you choose what you want loaded in memory at power up. You can choose 8K, 4K, enhanced basic or some monitor program. To avoid it asking on power up, you can flip a switch on the front panel (aux) and remove the SD card before powering up. Does this sound too complex?

Vince

Chuck(G)
March 8th, 2010, 03:04 PM
@Chuck, if you can find me a link to a place, I'll check them out. I would definately prefer super small toggle switches to slide. I just couldn't find anything that fit the price/size catagory

Check your PMs. We can take this offline and discuss your needs precisely. Maybe I can find something for you.

barythrin
March 8th, 2010, 03:09 PM
Probably obvious but you were talking about expansion ideas. It's probably unfeasible and I'm completely unfamiliar right now with the pinouts of the S-100 bus but I think the obvious (and coolest) expansion port if possible would be to an s-100 external bay/kit. *IF* it was possible to use some common connector to get all the data you'd need through the cable for the bus (or separate project time) but that'd probably be useful if compatible with original gear and a huge bonus if one could get it to work with your replica.

Could just be a pipe dream and certainly would take some free time away from ya.

Crawford
March 8th, 2010, 03:37 PM
Vince,




Ok, so today I added a feature to choose your filename to load on power up. This lets you choose what you want loaded in memory at power up. You can choose 8K, 4K, enhanced basic or some monitor program. To avoid it asking on power up, you can flip a switch on the front panel (aux) and remove the SD card before powering up. Does this sound too complex?

Vince

Actually, that sounds like an elegant approach. Beats the hell out of toggling in a couple of dozen machine language instructions! <insert grumbling about how kids have it so easy these days>

I've never seen an Altair power cycle up from cold, but you could have it do that if no SD card was installed...

-Crawford

Des
March 8th, 2010, 10:56 PM
Ok, so today I added a feature to choose your filename to load on power up. This lets you choose what you want loaded in memory at power up. You can choose 8K, 4K, enhanced basic or some monitor program. To avoid it asking on power up, you can flip a switch on the front panel (aux) and remove the SD card before powering up. Does this sound too complex?

Vince

Sounds very straight forward and a nice feature.

NobodyIsHere
March 9th, 2010, 03:36 AM
Hi! I have an N8VEM S-100 backplane that might be useful for such a project. It has six slots and active termination. I power my board with scrap laptop/printer power bricks and it works fine as a bench top unit.

It also exports all the S-100 signal pins to four 13x2 dual row headers. Assuming the micro Altair generates TTL level signals just bring them in from the backplane board and would electrically connect. The hard part would be to engage the ATMEGA/Propeller to act as a bus controller.

Thanks and have a nice day!

Andrew Lynch

vbriel
March 9th, 2010, 05:21 AM
I think if you want S100 bus, just get the N8VEM, it is geared towards that and CP/M. I haven't even considered looking at timing signals and those protocols for external expansion. Everything is internal right now. I'm not saying it is impossible to expand but I haven't even looked at it yet. On the other hand, I do have the 32K RAM connected in a format that would follow the electrical rules so it is possible.

On other points I increase speed a notch with code improvements. A 3:36 min program on Altair32 takes 4:56 to run. I'm getting closer. When I get a little closer I'm going to try a faster crystal to match the speed.

I also added a slow method to download BASIC programs if you want. While you can load/store all 32K RAM, what if you just want to send a text file with a basic program typed in? Well, now you can select a file and it will dump the text file into basic. It isn't very fast since BASIC is slow at a command prompt, but it is an easy way to load files.

Anybody know of a simple monitor program or assembler in a bin file for the Altair? I'd like to try one out and see how it works.

Vince

NsMn
March 13th, 2010, 01:30 AM
I have another question. Is it possible to add a connector for standart vintage terminals? I know it's kinda useless, but it'd be interesting still.
(I guess it'd be possible if there would be expansion slots ;) ).

vbriel
March 13th, 2010, 11:57 AM
I have another question. Is it possible to add a connector for standart vintage terminals? I know it's kinda useless, but it'd be interesting still.
(I guess it'd be possible if there would be expansion slots ;) ).

It's possible, and I'm considering it. I've made the built in PockeTerm play a larger roll though. Right now, it loads/stores all programs and I'd have to work out the details but I think it is possible to shut down the terminal I/O section. I'll look into it. It will be difficult though because of all the features it does now:

Loads startup program (BASIC)
loads/stores memory
soon it will be able to update firmware from SD card


I'm working on a bootloader for the firmware now that will allow you to update the firmware from a file on the SD card. This will make any firmware updates/fixes really easy, no sending in chips to get programmed!

Saving memory - right now you can backup and restore all 32K RAM in about 30 seconds, not too bad. Still need to work on total overal CPU speed and look at enhanced basic to see what's going on there with math functions. Waiting on some toggle switches to arrive to see if they are small enough to fit without looking too large on the panel.

Vince

tingo
March 21st, 2010, 12:44 PM
Nice! Very nice! Me.... wants.... one.....

vbriel
March 26th, 2010, 01:31 PM
Just a little update on the project. I have the flash update section finished. Now any code changes just requires the user to download the update and place it in a SD card. I'm working on the front panel redo now. Going to change from the tiny slide switches to toggle switches. I can sit the switches deep enough that only the paddle portion will stick out so they won't look too large. I'm having a new front bezel made now and next week I'll order a new panel pcb. After that it's beta testing time! Roll out target is June. I'll have more info on that when the time gets closer to rollout. I'm really happy that I found switches that were the right price and the right fit. They are a little tight but will work. I'll update pics when everything comes in.

Vince

Crawford
April 1st, 2010, 10:20 AM
Vince,

Personally I think the toggle switches will make this awesome kit more awesome (awesomer?). Anyway, great job, and thanks for listening. This kit officially "goes to eleven"!

The flash updates sound great, as well as the alternate boot modes. Will you publish the source code for us code junkies that may want to extend or modify bits?

-Crawford

vbriel
April 1st, 2010, 07:50 PM
I more than likely will publish all the work. I try to so people can learn from what I've done. What's funny is this is a rather large project and I go back to make changes in some areas and I have to remember what I did. I make lots of notes so it usually is easy to figure things out. On the NTSC option of the terminal, you will get full color text. That means you can place characters on the screen in any of ~20 different colors. This makes it a simple color computer now.

Even though you can backup RAM in about 30 seconds to SD card, I'm probably going to add a battery to the design. This will just make it easier to power and go right to work. I'm doing the reworked layout on the mainboard now and will probably put in to have prototypes made next week. I should hopefully have a final prototype in a couple of weeks. Beta testing will happen while I write a manual. That might end up being over 100 pages.

I also put a 40 pin header with standard bus signals on it. I haven't done any testing on the signals to see how they look but if RAM works, I must be close to within timing specs. When I get a chance, I'll fire up an older HP logic analyzer I've got laying around and see how the timing signals look. I'll also have to make some tweaks to the firmware for external RAM/ROM or I/O to be connected. Right now, it always attempts to access the 32K. I need to mod the code so if above $7FFF in memory, it won't activate RAM.

Vince

Chuck(G)
April 1st, 2010, 08:43 PM
Vince, you're making it too easy! You need to add some additional "realism" to the thing, such as mysteriously corrupting memory when simulating the MITS 4K DRAM card! Or a 300 bps interface with a slow audio cassette recorder that takes 5 tries to load a program without error.

Seriously, good job!

vbriel
April 12th, 2010, 05:34 PM
Ok, so I got the new front board prototype in today and started building. So far so good. Just as I suspected, the switches really fill out the front panel. Here's a couple of pics of the new setup. The proto front overlay has some errors but they will be cleaned up before production.

http://www.brielcomputers.com/wordpress/wp-content/uploads/2010/04/altair_new_0.jpg

and here's one so you can see how the switches stick out, not too bad. The momentary step, exam and deposit switches are just the right touch to make it more like the real thing.

http://www.brielcomputers.com/wordpress/wp-content/uploads/2010/04/altair_new1.jpg

The final mainboard prototype is due in Friday or Monday and I'll start right in on that. Let me know what you think now.

Vince

cosam
April 13th, 2010, 01:07 AM
The first one looked good, but those switches are the icing on the cake. Very nice!

How did they affect the price in the end?

MikeS
April 13th, 2010, 02:29 AM
Beautiful! You do indeed do nice work, Vince.

Of course you can tell from the LEDs and the switches, but it'd be nice to have a picture with something else in it to give a reference for size and scale.

Also, I assume there's room for a holder inside for enough batteries to make it portable?

tezza
April 13th, 2010, 02:53 AM
Very, very nice.

Tez

PacMan
April 13th, 2010, 06:30 AM
Looks very very nice Vince.
Being a sucker for Altair stuff I need to get one myself.

/Pontus

Chuck(G)
April 13th, 2010, 08:11 AM
Looks very nice, Vince! Any chance of finding a miniature case with a closer-to-original aspect ratio (width-to-length). Maybe it's the photo, but the current one seems to my eye not to be quite tall enough.

MikeS
April 13th, 2010, 09:00 AM
Looks very nice, Vince! Any chance of finding a miniature case with a closer-to-original aspect ratio (width-to-length). Maybe it's the photo, but the current one seems to my eye not to be quite tall enough.Boy, tough crowd; picky, picky... ;-)

barythrin
April 13th, 2010, 09:14 AM
Looks great! Is it still programmable from scratch or will it always auto load the bootstrap and basic? Too late in the design maybe but what about a toggle for those folks who want the pain^H^H^Hleasure of coding it up themselves? Though I completely agree that for less advanced folks like myself your term doing it would make it immediately usable for the majority.

vbriel
April 13th, 2010, 11:51 AM
Looks great! Is it still programmable from scratch or will it always auto load the bootstrap and basic? Too late in the design maybe but what about a toggle for those folks who want the pain^H^H^Hleasure of coding it up themselves? Though I completely agree that for less advanced folks like myself your term doing it would make it immediately usable for the majority.

Great questions. Probably not on the case, this one fit the budge and was as close to aspect ratio as I could get. I would have liked it to be 4" tall, instead of a 3" panel but it works out. Funny thing is, there is the potential to paint these blue to match but I'm going to leave that up to the individual user to customize.

Still programmable from scratch, however, right now I only have room for the onboard terminal, not an external serial port. I have so many ports out the back, there is no more room for a DB9! Look at the photos and there is a DC connector, SD card slot, VGA port, composite output rca connector and ps/2 keyboard connector. So, what I am thinking of doing is some small mod board that will put a riser card ontop of the propeller terminal chip and allow you to disable the onboard terminal. Then you can connect it to a pc or external terminal and do bootloading the old school way!

With my last design concept I tried this with a Z80 until I found issues with BASIC :0 Long story short, it was fun at first always entering the bootloader, but it got old fast. Here's the current setup and how you fire it up:

To get the terminal to request a file load, AUX switch needs to be up on power up. If switch 11 is also up, (similar to the original way BASIC detected the SIO2) it will ask for a file name to load. if switches 14, 12, 10, and 8 are up and 15, 13, 11, and 9 are down along with AUX up, this is a special mode to do a flash update. If you just want to jump into the front panel and start programming from there on power up, just make sure the AUX switch is down.

To save memory at any point, switch to stop, turn up AUX and PROTECT and then press STEP. This goes into a file storage mode and just give the filename and it will store all memory onto SD card in that name in 30 seconds or less.

Debug mode is used to display all the registers and stack pointer memory and memory location while stepping through your program. I have not made a switch function to turn on/off this feature, I'll work on this later, it was a great feature for debugging code in the beginning.

Breakpoint address mode. Yeah, this is one I made up that definately is not on the Altair but is a great tool. When this mode is enabled by having PROTECT and AUX up while RUNNING, the CPU will halt on the address on the front panel switches. Really handy when running through a program that has several repeated loops to another section.

I still have about 25% of the AOAC (Altair On A Chip) AVR programming space left for added features, bug fixes, etc. I'm going to try and leave 20% for adding stupid fun stuff like, hey, let's make it do the cylon eye or night rider look.

More to come, just found a little bug in the status display.

Vince

vbriel
June 29th, 2010, 06:33 PM
The first batch of Altair 8800 micro's is now sold out. We are starting on the next run that should be ready in about 6 weeks (front panel production takes 4-6 weeks). The first batch is being prepped for shipping starting this weekend. I'll update with photo's of the new silkscreened front panel and the rear brushed aluminum panel soon.

Vince

vbriel
December 12th, 2010, 07:30 PM
The Altair 8800 micro is now working with 16K BASIC and work is beginning on CP/M. We should have this working by early next year. CP/M will be the final piece to making the Altair micro a complete system.

Vince

Bill_Loguidice
December 13th, 2010, 11:00 AM
The Altair 8800 micro is now working with 16K BASIC and work is beginning on CP/M. We should have this working by early next year. CP/M will be the final piece to making the Altair micro a complete system.

Vince

Awesome news, Vince. I'm looking forward to the upgrades.

MattCarp
December 13th, 2010, 07:13 PM
Somehow I missed this thread - well done!

Although there's probably decent software available to simulate a computer, I can't think of a better way for a young person who really wanted to understand how a computer worked than to pick up one of these machines.

vbriel
December 16th, 2010, 06:00 PM
Work is being done so you can interface to your PC and run SIMH emulator and control the program with the switches. So, you can have the best of both worlds.