restarting AltairPC project in near future because of this

Vintage Events and off topic talk

Postby mcphja2 » Jun Fri 13, 2008 9:48 am

o.k., maybe I got a little too excited when I saw the word "battery". :)
mcphja2
 
Posts: 28
Joined: Aug Wed 02, 2006 5:19 pm

Postby vbriel » Jun Fri 13, 2008 11:20 am

No, battery was/will be for the RAM so you don't have to toggle in a bootloader every time! Untested design will be tested this weekend.

Vince
User avatar
vbriel
Site Admin
 
Posts: 1184
Joined: Jul Tue 19, 2005 12:10 pm
Location: Ohio

Postby vbriel » Jun Sat 14, 2008 12:00 pm

Ok, I wired up the 6850 and the clock generator circuit and the clock generator is working. I dumped a simple loop back program to grab a byte from serial port, then send it back. This worked!

I know that BASIC checks sense switches and I don't have the front panel set up as port 255 so I might have a problem there.

I attempted to dump basic but realized there isn't just a send file in hyper terminal. I found a free terminal program that allows this feature and sent the data. It downloaded at 9600 in just seconds.... but it did not work. And here's where I kick myself.

When I built the wirewrap board it was only suppose to be for getting exam, exam next, deposit and deposit next working. So, I only wired up 8 address lines from RAM to the CPU. DUH, that's only 256 bytes to test with so I now must go back and attach the RAM address lines to the Z80 and try again.

Getting closer to doing a prototype board! Maybe as soon as next week!

Vince
User avatar
vbriel
Site Admin
 
Posts: 1184
Joined: Jul Tue 19, 2005 12:10 pm
Location: Ohio

Postby vbriel » Jun Sun 15, 2008 8:48 pm

Well, no BASIC yet. I'm sure it is because I don't have port 255 to the switches. I'm going to try and trick BASIC with a false reply using the microcontroller.

Vince
User avatar
vbriel
Site Admin
 
Posts: 1184
Joined: Jul Tue 19, 2005 12:10 pm
Location: Ohio

Postby xprt » Jun Sun 15, 2008 10:01 pm

Hi Vince,

The Altair 8800 theory of operations manual pretty clearly explains how the front panel works.

As you said, for the Examine switch, it jams a JMP instruction onto the DATA bus, followed by the 2 address bytes set on the switches. When the 8080 executes the jump, the 8080 asserts the address on the ADDRESS bus. For Examine Next, it jams a NOP on to the DATA bus, and the 8080 increments the ADDRESS bus. So the front panel logic only connects to the DATA bus, not the ADDRESS bus. The ADDRESS bus is driven only by the 8080 and just directly connects to the LEDs. The front panel logic doesn't have to keep track of the program counter at all.

Not mentioned in the theory of operations manual, but clear from the schematic is that the front panel logic does decode A8-A15 so that an IN from port 255 reads the sense switches.

I wasn't clear why you said in your first post that you had to keep track of the program counter. Are you using a different approach?
xprt
 
Posts: 23
Joined: Jun Sun 15, 2008 8:05 pm

Postby vbriel » Jun Sun 15, 2008 10:08 pm

I was going to but it isn't necessary. I was trying to overcontrol the Z80. Yes, I use JMP to jump to the address on the switch and NOP for examine next and deposit next instructions.

I'm on the port issue now. I'm trying to do it without using more chips. I'm trying to get the controller to see the IN 255 and then assert the value I want.

Vince
User avatar
vbriel
Site Admin
 
Posts: 1184
Joined: Jul Tue 19, 2005 12:10 pm
Location: Ohio

Postby xprt » Jun Sun 15, 2008 11:18 pm

Most of the old minicomputer front panels had access to the accumulators or registers from the front panel. That would be quite a trick for a microprocessor based system.

There's a challenge for you to think about. How to single step, display and or modify any register from the front panel, and continue stepping where you left off.

Your microcontroller could masquerade as ROM, jam a synthetic subroutine call onto the bus, read all the registers and return, maybe?

Talk about over controlling the microprocessor.

Nothing to lose sleep over, just fun to think about.
xprt
 
Posts: 23
Joined: Jun Sun 15, 2008 8:05 pm

Postby vbriel » Jun Mon 16, 2008 5:44 am

That's very possible to do, exactly as you describe. If I can assert a jmp instruction, I can insert other commands as well.

Since the control signals on theZ80 differ from the 8080, it would be more difficult to control registers.

My big issue is that when IORQ on the Z80 goes low for some reason by the time I stop the Z80 it is 1 step past the instruction. I'm just going to add the chip to make the front panel a port, this will get things going.
User avatar
vbriel
Site Admin
 
Posts: 1184
Joined: Jul Tue 19, 2005 12:10 pm
Location: Ohio

Postby vbriel » Jun Mon 16, 2008 6:46 pm

Well, the wirewrap has filled its purpose and I'm onto pcb prototype. I went with making the front panel a port. I'm going to get boards in about a week or two and I can work on getting basic loaded after that.

Vince
User avatar
vbriel
Site Admin
 
Posts: 1184
Joined: Jul Tue 19, 2005 12:10 pm
Location: Ohio

Postby mcphja2 » Jun Tue 17, 2008 2:23 pm

Will there be some sort of expansion connector (like on the Replica 1)?
mcphja2
 
Posts: 28
Joined: Aug Wed 02, 2006 5:19 pm

Postby vbriel » Jun Tue 17, 2008 3:52 pm

Yes, all the CPU signals will be covered and in a 50 pin format for extra GND a 5V connectors!
User avatar
vbriel
Site Admin
 
Posts: 1184
Joined: Jul Tue 19, 2005 12:10 pm
Location: Ohio

Postby ggnagy » Jun Tue 17, 2008 5:45 pm

vbriel wrote:Yes, all the CPU signals will be covered and in a 50 pin format for extra GND a 5V connectors!


not 100? :)

any thoughts to s-100 compatability, even if it means leaving the physical adaptation up to the kit builders?
ggnagy
 

Postby vbriel » Jun Tue 17, 2008 6:30 pm

Well, what makes S100 compatibility? You just need to run the signals to the appropriate connections on the S100 bus, right?

So, an adapter is possible (and if there is enough interest I'll make one) but my design isn't set on being a full blown system. For example, when addressing the 6850 IO address, as a result of chip reduction it will not only work at 20 and 21 octal but any of the first 127 decimal addresses and the front panel sense switches will be active on 128-255 decimal IO address. So, there really isn't room for expansion with the IO. I may change this if there is enough demand for more ports, S100, etc.

Buffering of the address and data bus; Not done, not needed for 1 or 2 chips attached. For expansion, full bus buffering would be needed.

So, some changes will probably happen before I make more but I need to meet the initial final goal to load BASIC. I'm going to try them all but shoot for extended BASIC.

I found a new dress panel maker that meets the specs and price requirements I need to make the full AltairPC.

The final stage for those wanting the AltairPC is to make the front frame and make some cases up. One hurdle that I could not overcome was making the front panel hinged. Since I'm no machinist this was something I couldn't work out. The major problem was small strong hinges that could be easily mounted to the front frame and the PC case. Every hinge I tried sagged after some time. There were other issues that caused this project to be shelved for 2 years.

So, to get past the issues and get the AltairPC going, the front panel will be mounted to the PC case and not open up. This means no access to drives in the front. If you want an AltairPC case, you are going to need external DVD ROM drives if you want one.

If you are interested in either a singleboard AltairSBC or the AltairPC, give feedback, opinions, etc. Even if I shoot the idea down, be heard and be part of the design process. The prototype I'm making isn't a final board and changes can be made.

Oh, one thing to note, since the project uses a Z80 in place of the 8080, some of the indicator lights don't apply or couldn't easily be adapted. So, some I have going to the micro-controller for some future obscure use and one HLDA I am leaving with a connector for external use. This probably will be used to connect to the PC's hard drive indicator light so you can monitor you hard drive. There are other things to work out too such as the power switch but that will get worked out.

Vince
User avatar
vbriel
Site Admin
 
Posts: 1184
Joined: Jul Tue 19, 2005 12:10 pm
Location: Ohio

Postby CodeJockey » Jun Wed 18, 2008 11:01 am

I am more interested in the SBC, but I would buy the full AltairPC if the price was right. (would most likely just put a backplane of some sort in it and connect to the SBC)

Would it be possible to include a DEN line one the expansion port (like in the micro-kim) so that one could fully decode the IO on an external board?

Dan
CodeJockey
 
Posts: 5
Joined: Jun Tue 10, 2008 8:20 am

Postby vbriel » Jun Wed 18, 2008 11:19 am

Yes DEN would be possible because I control the RAM chip enable partly thru the microcontroller. I can just check for DEN then enable or disable RAM.

Good input.

Vince
User avatar
vbriel
Site Admin
 
Posts: 1184
Joined: Jul Tue 19, 2005 12:10 pm
Location: Ohio

PreviousNext

Return to Venues, projects and off topic stuff - NO SPAM

Who is online

Users browsing this forum: No registered users and 2 guests

cron