Home » RBC Forums » General Discussion » Barebone Z80/6502, Two+ processors in one pc board
|
|
Re: Barebone Z80/6502, Two+ processors in one pc board [message #10584 is a reply to message #10572] |
Sun, 04 February 2024 03:59   |
ian-may
Messages: 12 Registered: October 2015
|
Junior Member |
|
|
It is possible to have both a Z80 and the WDC6502 on a board at the same time, and to switch between them with software. The CPU you are not using is held in reset. A Z80 tri-states its address and data busses when reset is active. Since you are using a CMOS 6502, which has a Bus Enable pin, you can connect that to the 6502 reset pin to disable the bus drivers.
In 1983 I built a 4 CPU microprocessor system. I still have it and I still use it. The CPUs are a 6809, a 6800, a Z80 and an 1802 which are designated as P0/P1/P2/P3 (main CPU board picture attached).

At power on or master reset the 6809 is in control. Each CPU has its own monitor program inspired by the 68000 Tutor monitor. 27128 EPROMs were too expensive at the time so there are 2 2764s, one holding the 6809 & 6800 code and the other the Z80 & 1802 code. The 60kB of RAM is made up of 30 2kB x 8 static chips. The I/O space for all CPUs is memory mapped from $F000 to $F03F, and the ROM is from $F040 to $FFFF. There is no specific hardware for the Z80 or 1802 to start them in the monitor, the 6809 writes a jump to the monitor into memory locations 0000 to 0002 and then switches processor. The floppy disk controller is WD2797 based.
I have the "general" versions of FLEX for the 6800 & 6809 (you write your own drivers), CP/M 2.2 for the Z80 and figFORTH for the 1802. The 6809 monitor can boot CP/M and the figFORTH by writing jumps to the ROM boot code into location 0000 and then switching to the Z80 or 1802. Why did I build this? At the time I was a student with limited funds. The FDC chip was expensive, the RAM more so, and the two MPI model 51 5 1/4" single sided floppy disk drives with their enclosure and power supply extremely expensive. I was able to run the 6800, Z80 and 1802 for the cost of the TTL parts used to support the switching and additional energy usage.
If I was going to build this today I would make some changes. Since I wasn't overly familiar with non Motorola peripherals, I used 6821 PIAs and 6850 ACIAs. That required generating fake signals for the Z80 and 1802. Today I would use the generic peripherals with simple /RD and /WR inputs. I also have hardware to allow switching from one CPU to another using BUS request signals (faked on the 1802). That allows switching from one processor to another and being able to return to the first one and vice-versa. The only time I ever used this was to test that it worked. I would also change the Z80 and 1802 I/O from memory mapped to using their dedicated input and output systems. I would also use a DUART for the 2 serial ports, one for the console and one for connection to a PC for file transfer.
The cost of parts is less of an issue today, but having only 1 box instead of 4 is a space saver.
Cheers, Ian.
-
Attachment: CPUs.jpg
(Size: 492.36KB, Downloaded 405 times)
|
|
|
|
Re: Barebone Z80/6502, Two+ processors in one pc board [message #10589 is a reply to message #10585] |
Mon, 05 February 2024 04:04   |
ian-may
Messages: 12 Registered: October 2015
|
Junior Member |
|
|
Hi Bill,
No I haven't published anything. The schematics are pencil drawings on A3 graph paper I do still have all the code, but the Z80 and 1802 code was assembled with a 6809 FLEX cross assembler. Z80 code with RMB, FCB and FDB assembler pseudo ops looks a little weird.
I have recently thought about building a new version, but to share it with others, I would need a PCB designer to collaborate with. The last time I designed a PCB was 1989. Of your list of processors, I think that incorporating a 68008 would cause too many problems due to its different bus interface. Even interrupts are a big compromise, the Z80 uses mode 2 and a single fixed vector like the 6800 & 6809.
For a new version I'm thinking, just have 64K of RAM and a floppy disk controller for storage. None of my target operating systems support directories, so even multi-megabyte storage is difficult to use. So basically the sort of system you could have had in the early 1980s. If you want CP/M 3 and 512K RAM just build an existing design. Ditto for OS9 on a 6809.
One idea I've thought about would be a "Motorola bus" version with a 6502, 6800 and 6809 and associated peripherals. Without needing addition buffers I think 8 CPUs would be the upper limit (most of these chips will drive 90 pF on the address and data buses). For Intel category devices I'd just use a Z80 since it can execute 8080-5 binary code, but since a 6809 can't execute 6800 binary I'd have both. How about 1802(or 6), 2650, 6502, 6800, 6809 and Z80? There probably aren't many 2650s around though. There is/was a floppy disk DOS for the 2650. The National SC/MP is another possible but they are probably too rare and expensive as well.
How to build it is another question. One mATX size board, with sockets for each processor, or a PC style system with plugin processor boards? A EUROCARD backplane type system? Just logic ICs or are PLDs allowed?
I'll have a think about starting another thread to canvass others in an attempt to gauge the level of interest and what features they consider necessary.
Cheers, Ian.
|
|
|
|
|
|
|
Re: Barebone Z80/6502, Two+ processors in one pc board [message #10610 is a reply to message #10609] |
Sat, 10 February 2024 10:45   |
plasmo
Messages: 916 Registered: March 2017 Location: New Mexico, USA
|
Senior Member |
|
|
Ian,
The capture of your schematic is something I'm working on slowly in the back burner. Attached is what I've done so far. If I have no permission to capture your design, please let me know. I'll stop immediately.
I think your multiprocessor approach is quite interesting. Since you've posted the schematic, I thought it is good to capture the original design and hopefully have a dialog with you getting it checked out and possibly build up a few pc boards and try out your software. I agree the original design can be significantly shrunk with programmable logic and if that's your desire, I can certainly go that way.
These are your designs, I'm just a volunteer draftsman, and I work for free but at a leisurely pace.
This is not my first attempt at capturing interesting design. I had worked with the great Karen Orton capturing her ZX79 and turned it into pc board. It is an amazing design in minimalism, but sadly I'm unable to correspond with her further before her untimely death during COVID.
https://www.retrobrewcomputers.org/doku.php?id=builderpages: plasmo:zx79
Bill
[Updated on: Sat, 10 February 2024 10:48] Report message to a moderator
|
|
|
|
Re: Barebone Z80/6502, Two+ processors in one pc board [message #10613 is a reply to message #10611] |
Wed, 14 February 2024 07:30   |
plasmo
Messages: 916 Registered: March 2017 Location: New Mexico, USA
|
Senior Member |
|
|
The console session showing switching of processors is quite amazing.
DIN41612 A+C backplane is a good choice. It is still readily available today. I expect the memory system to be straightforward. Floppy can be more challenging, depending on the floppy controller. The I/O board still using parts available today, so probably not difficult to replicate.
Attach is captured schematic of "Bboard.jpg". I try to layout the circuits similar to original Bboard sketch for ease of comparison. Signal names in the center-lower portion of the schematic (E-F-G, 4-5-6) are hard to read, so I have a number of question marks there.
Thank you for sharing your designs.
Bill
PS, do you have a name for this collection of boards? I like to put them on the title blocks.
[Updated on: Wed, 14 February 2024 07:32] Report message to a moderator
|
|
|
|
Re: Barebone Z80/6502, Two+ processors in one pc board [message #10624 is a reply to message #10621] |
Sat, 24 February 2024 18:30  |
plasmo
Messages: 916 Registered: March 2017 Location: New Mexico, USA
|
Senior Member |
|
|
Thank you for the high resolution photo of Bboard.
I've been busy with other projects as well, but I am working on Aboard a little bit at a time. Attached is what I've captured. I think it is inexpensive to turn the Aboard into a 2-layer 160x100mm Euro format PC board. The Bboard with lots of random logic may be implemented with programmable logic along with ROM and possibly modern RAM in another 160x100mm pc board. The I/O board may fill another 160x100mm pc board. That should be a good start.
If you like, we can continue with a new topic. I think there are people interested in this and will contribute with a dedicated topic.
Bill
|
|
|
Current Time: Sat Feb 08 22:06:18 PST 2025
Total time taken to generate the page: 0.00841 seconds
|