Well all,
I finally got done with my little fun project - well, at least done with the first phase of it. I had been playing so long with the 6502's and such on small designs for single uses, I thought it would be fun to do a useable computer with the 65816.
I know it has been done by many others before, and probably better then what I have done in many instances, but a big part of it was a "can I do it" thing.
the base system is a 65816 w/ 64K SRAM, ~53K is available for user programs, the rest is dedicated to expansion, already completed I/O, and EProm. It currently uses 3 6522's (although later after I already have had a PCB made, I realized where I could have combined and reduced that to 2 6522's), 1 for KB and RTC, 1 for a base LCD for general system status and 1 for a main lcd for main program output. The system is currently running at 10 MHz, I might try 12 at some point on the spare PCB later when I get around to building it (the spare board will be a more experimental board). It has quite a bit of expansion space in my already assigned memory map, and the entire upper region is still pretty much available.
I am using a few custom chips that I layed out (I wish I was a VHDL master like many others here, but I still need to learn it so I used a graphical editor from Altera) - 1 IC is the lower 64K CS logic, and the 2nd is an IRQ handler.
The RTC chip is also helping with the reset circuit, and it provides a low output on its reset pin for 200ms after Vcc has crossed the proper supply threshold - more then enough time to hold the rest of the system low for reset.
It has been a heck of a challenge, and I do want to thank everyone here who has helped me with it whether they know it or not (including Garth, dclxvi (I am still impressed by your multispeed clock circuit), kc5tja, of course Mike for providing the board (as well as the bulk order that allowed me to get supplies;), and others I can't remember off hand) - much of the ideas, suggestions, etc. I have considered and/or implemented in designing this small computer.
I had so much fun doing it that I have decided after this one is "more done" to a point I can let it go, I am going to make more with different processors and different configs.
I have pics up at:
http://www.ramicom.com/index.php?module ... ion=16:7:8
I hope to have schematics and some code and more up there soon.
65816 Homebrew comp, V1
65816 Homebrew comp, V1
-Tony
KG4WFX
KG4WFX
Re: 65816 Homebrew comp, V1
Tancor wrote:
It has been a heck of a challenge, and I do want to thank everyone here who has helped me with it whether they know it or not (including Garth, dclxvi (I am still impressed by your multispeed clock circuit), kc5tja, of course Mike for providing the board (as well as the bulk order that allowed me to get supplies;), and others I can't remember off hand) - much of the ideas, suggestions, etc. I have considered and/or implemented in designing this small computer.
Re: 65816 Homebrew comp, V1
dclxvi wrote:
Tancor wrote:
It has been a heck of a challenge, and I do want to thank everyone here who has helped me with it whether they know it or not (including Garth, dclxvi (I am still impressed by your multispeed clock circuit), kc5tja, of course Mike for providing the board (as well as the bulk order that allowed me to get supplies;), and others I can't remember off hand) - much of the ideas, suggestions, etc. I have considered and/or implemented in designing this small computer.
Sorry 'bout that - my mistake.
-Tony
KG4WFX
KG4WFX
Hi all,
Well I have so far found 4 mistakes on my board, 2 routing errors, 1 misread of a IC datasheet, and 1 I don't know how to describe it it was so dumb error.
I hope to have schematics up soon, I'm just trying to correct errors in it first 'cause I'd hate to have anyone look at what I did and do the same mistake.
Mistakes to date include:
1) A13 line not routed to the expansion bus port - this happened when I went to re-route a whole section of the PCB to make more efficient use of the space. Simple fix with a piece of WW wire.
2) Reset line from all of the 65c22's never made it to the reset circuit output - they were all tied together, but obviously I missed getting them tied to the AND output. A simple fix with a piece of WW wire.
3) The RTC chip I am using that outputs the reset after 200ms after VCC has crossed the operating threshold, it required a pull up resistor on the output, I had misread the datasheet and didn't realize it until it was too late. Connecting a small resistor (~6.3K) between the reset pin of that chip and the VCC pin solved the problem. simple fix
4) Now this is the stupid beyond stupid mistakes that I made. I don't know how I screwed it up, it is screwed up in the schematics, but not screwed up on my wirewrap (I had done the wirewrap first, handwriting schematics, and in the conversion somehow it got screwed up) - instead of having a resistor on the RDY pin between it and Vcc, somehow I managed to connect RDY directly to Vcc, which renders the WAI instruction useless... That has so far been my most boneheaded "how the hell did this happen" mistake so far.
So I'm correcting things before I get it online. I won't have another PCB made at this point (too expensive) so I just won't use WAI for now.
If I do have another PCB made at some point I'll also make some other changes that I realized could be made after the fact...
IE: I could put both my LCD screens as well as the keyboard circuit all on one VIA. Due to the type of clock chip I chose, I could easily integrate it directly to the CPU on the address/data bus rather then going thru a via. This would end up saving 2 vias, and should make it possible to reduce the board footprint overall... Possibly even making it fairly easy to place a RS232 link right on the main board rather then an expansion board.
Just some thoughts and feelings about what I've come across so far...
Well I have so far found 4 mistakes on my board, 2 routing errors, 1 misread of a IC datasheet, and 1 I don't know how to describe it it was so dumb error.
I hope to have schematics up soon, I'm just trying to correct errors in it first 'cause I'd hate to have anyone look at what I did and do the same mistake.
Mistakes to date include:
1) A13 line not routed to the expansion bus port - this happened when I went to re-route a whole section of the PCB to make more efficient use of the space. Simple fix with a piece of WW wire.
2) Reset line from all of the 65c22's never made it to the reset circuit output - they were all tied together, but obviously I missed getting them tied to the AND output. A simple fix with a piece of WW wire.
3) The RTC chip I am using that outputs the reset after 200ms after VCC has crossed the operating threshold, it required a pull up resistor on the output, I had misread the datasheet and didn't realize it until it was too late. Connecting a small resistor (~6.3K) between the reset pin of that chip and the VCC pin solved the problem. simple fix
4) Now this is the stupid beyond stupid mistakes that I made. I don't know how I screwed it up, it is screwed up in the schematics, but not screwed up on my wirewrap (I had done the wirewrap first, handwriting schematics, and in the conversion somehow it got screwed up) - instead of having a resistor on the RDY pin between it and Vcc, somehow I managed to connect RDY directly to Vcc, which renders the WAI instruction useless... That has so far been my most boneheaded "how the hell did this happen" mistake so far.
So I'm correcting things before I get it online. I won't have another PCB made at this point (too expensive) so I just won't use WAI for now.
If I do have another PCB made at some point I'll also make some other changes that I realized could be made after the fact...
IE: I could put both my LCD screens as well as the keyboard circuit all on one VIA. Due to the type of clock chip I chose, I could easily integrate it directly to the CPU on the address/data bus rather then going thru a via. This would end up saving 2 vias, and should make it possible to reduce the board footprint overall... Possibly even making it fairly easy to place a RS232 link right on the main board rather then an expansion board.
Just some thoughts and feelings about what I've come across so far...
-Tony
KG4WFX
KG4WFX