RetroBrew Computers Forum
Discussion forum for the RetroBrew Computers community.

Home » RBC Forums » General Discussion » Barebone Z80/6502, Two+ processors in one pc board
Barebone Z80/6502, Two+ processors in one pc board [message #10571] Sat, 06 January 2024 17:39 Go to next message
plasmo is currently offline  plasmo
Messages: 916
Registered: March 2017
Location: New Mexico, USA
Senior Member
BB6580 combines Z80 and 6502 plus an uncommitted 40-pin DIP in one pc board. The 6502 design is based on Muntz65 and Z80 design is based on BB80. These two designs share the same 64KB RAM and have the same 22V10 PLD which is programmed differently for the specific processor. The socket for processors are nested so only one processor can be populated at a time. The basic design approach is the same where 22V10 serves as the bootstrap ROM and bit-bang serial port that serially loads and runs applications for every power cycle. The approach can be extended to other retro processors so there is an uncommitted 40-pin socket to host third processor.

For Z80 and 6502 cases, the CMOS 6502/Z80 processors are overclocked to 25.175MHz and serial port is 115200 N82. As a tester for Z80/6502, a better frequency may be 24MHz@115200 which can also run at 12MHz@57600, or 2MHz@9600 for NMOS Z80 and NMOS 6502.

Even though the Z80 version has no mass storage, it can run CP/M program such as zexall.com to do instruction tests of the 25MHz Z80. The 25.175MHz 6502 is fast enough to beam race 640x480 VGA.
Bill
/forum/index.php?t=getfile&id=2977&private=0
/forum/index.php?t=getfile&id=2978&private=0
/forum/index.php?t=getfile&id=2979&private=0
Re: Barebone Z80/6502, Two+ processors in one pc board [message #10572 is a reply to message #10571] Sat, 13 January 2024 07:28 Go to previous messageGo to next message
tingo is currently offline  tingo
Messages: 114
Registered: February 2017
Location: Oslo, Norway
Senior Member
Ah, for a second there I thought it was two processors operating at the same time.
Still, not bad.


Torfinn
Re: Barebone Z80/6502, Two+ processors in one pc board [message #10584 is a reply to message #10572] Sun, 04 February 2024 03:59 Go to previous messageGo to next message
ian-may is currently offline  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).
/forum/index.php?t=getfile&id=2984&private=0
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 #10585 is a reply to message #10584] Sun, 04 February 2024 05:29 Go to previous messageGo to next message
plasmo is currently offline  plasmo
Messages: 916
Registered: March 2017
Location: New Mexico, USA
Senior Member
That is nice example of multiple processors on a board. Have you published the design file and the associated software? It'll be cool to resurrect the design and make it available to retro enthusiasts.

I have similar interests in Z80/6502/8085/6809/68008 processors and want to have a common platform to explore them. I afraid my old age is hindering me from understanding all of them, so I'm only working on Z80, 6502, and 68K. The main purpose of this board is serving as an inexpensive tester so the tested components can be used in some other projects.

Bill

Re: Barebone Z80/6502, Two+ processors in one pc board [message #10589 is a reply to message #10585] Mon, 05 February 2024 04:04 Go to previous messageGo to next message
ian-may is currently offline  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 Smile 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 #10591 is a reply to message #10589] Mon, 05 February 2024 05:46 Go to previous messageGo to next message
plasmo is currently offline  plasmo
Messages: 916
Registered: March 2017
Location: New Mexico, USA
Senior Member
Since you don't have a file system requirement, a 512K flash memory with bank selects may be sufficient. Floppy disk controller seems more complex than necessary, other than demonstrating the various processors can access floppy disk.

I would think programmable logic like 22V10 are desirable because it can reduce the size & cost of the board. It may even be possible to change the family of processors by changing 22V10.

We can start with your original design, so if you scan and publish your original schematic, I'm interested in converting that to pc board. Although my schematic/pcb tools are obsolete so others may also be interested converting them to more compatible tools like KiCad.
Bill
Re: Barebone Z80/6502, Two+ processors in one pc board [message #10606 is a reply to message #10591] Thu, 08 February 2024 03:02 Go to previous messageGo to next message
ian-may is currently offline  ian-may
Messages: 12
Registered: October 2015
Junior Member
Hi Bill,
I had forgotten that this thread was about a simple system. I was thinking about re-creating the whole system to get the full early 1980s experience. When I posted that first picture the objective was to show that you could simply parallel the address and data buses (though the 1802 needed its own tri-state buffers). There are two ribbon cables on the left hand side of that picture that connect to this control board.
/forum/index.php?t=getfile&id=2985&private=0
A lot of that logic is to do with the "warm start" system that isn't useful. I have attached scans of the circuits for the two boards but I know undocumented changes have been made to the 1802 circuitry since then. It now runs at 8 MHz.
Some notes: Signal "X" top left on the "B" board circuit is there to select the second 32K RAM card. The RAM ROM jumper is there because I started with a 2716 on the high RAM card. "B" board circuit lower left is the CPU changing part. You write the next CPU number to $F020 and make the switch by writing to $F022. On the "A" board the PNP transistor is there to ensure the Z80's VIH for the clock input is met - Vcc-0.6V minimum. That applies to both the NMOS and CMOS versions by the way. Also attached (MkII.png) is a later idea for CPU switching. The /R0-3 lines are the CPU reset lines and a thumb-wheel switch selects which CPU is selected at master reset. At the time I was thinking about a system with a 63B03/68B09/WD6502/68HC11, so all Motorola bus types with no need for power-on ROM select systems.
Cheers, Ian.
  • Attachment: Control-1.jpg
    (Size: 104.40KB, Downloaded 361 times)
  • Attachment: Aboard.jpg
    (Size: 674.86KB, Downloaded 81 times)
  • Attachment: Bboard.jpg
    (Size: 684.20KB, Downloaded 69 times)
  • Attachment: MkII.png
    (Size: 25.20KB, Downloaded 59 times)
Re: Barebone Z80/6502, Two+ processors in one pc board [message #10607 is a reply to message #10606] Fri, 09 February 2024 07:04 Go to previous messageGo to next message
plasmo is currently offline  plasmo
Messages: 916
Registered: March 2017
Location: New Mexico, USA
Senior Member
Thanks for the schematics. I've started the process of capture them to CAD/CAE. I have a question about Bboard: what is "4490"? I'm sure I'll have other questions as I progress.
Bill
Re: Barebone Z80/6502, Two+ processors in one pc board [message #10609 is a reply to message #10607] Fri, 09 February 2024 23:07 Go to previous messageGo to next message
ian-may is currently offline  ian-may
Messages: 12
Registered: October 2015
Junior Member
Bill - MC14490 HEX contact bounce eliminator. I really don't think capturing the schematics is worthwhile. I wouldn't build it that way today. What end goal do you have in mind?
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 Go to previous messageGo to next message
plasmo is currently offline  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 #10611 is a reply to message #10610] Sun, 11 February 2024 04:06 Go to previous messageGo to next message
ian-may is currently offline  ian-may
Messages: 12
Registered: October 2015
Junior Member
My major concern is any undocumented changes I made. Somewhere they are a few separate sheets of paper that show changes I made that aren't on those drawings. For example the "piggyback" 74LS541 on the A board provides the low 8 bits of the Z80 interrupt vector. There is another piggyback chip on the B board. I will likely have to do some wire tracing to confirm the actual details.

Another issue is the fact that the full system has 6 boards and a DIN 41612 64 A+C back-plane. The back-plane pin out was assigned by the guy who designed the 32KB RAM cards (which were for a 6801 system). It is almost certainly unique. The other boards in the system are the two RAM cards, the floppy disk controller and the I/O board (2 6850s, 2 6821s and 1 6522 VIA). Here is a picture of the whole thing. This may be more than you were expecting. It is the other end of the spectrum when compared to Karen Orton's ZX79.
/forum/index.php?t=getfile&id=2990&private=0

If you want to continue that is fine with me, I was worried that you were wasting your time. Here is a picture of the console screen I took in 2013 showing switching between processors.
Cheers, Ian.


/forum/index.php?t=getfile&id=2991&private=0
  • Attachment: System.jpg
    (Size: 517.28KB, Downloaded 306 times)
  • Attachment: Demo.jpg
    (Size: 616.06KB, Downloaded 315 times)
Re: Barebone Z80/6502, Two+ processors in one pc board [message #10613 is a reply to message #10611] Wed, 14 February 2024 07:30 Go to previous messageGo to next message
plasmo is currently offline  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 #10621 is a reply to message #10613] Tue, 20 February 2024 04:07 Go to previous messageGo to next message
ian-may is currently offline  ian-may
Messages: 12
Registered: October 2015
Junior Member
Apologies for taking nearly a week to reply Bill, I've been kept busy by other things. I used to call this my "quad processor machine", but when I put some documentation on my PC I called the directory "QCPU", that's short and simple. Regarding the hard to read parts, attached is a higher pixel count version of the scan. I hope 4 MB isn't going to break the system. Should we take this discussion to PMs or just email? It likely won't be gripping reading for others.
Cheers, Ian.
  • Attachment: Bboard-1.jpg
    (Size: 4.00MB, Downloaded 73 times)
Re: Barebone Z80/6502, Two+ processors in one pc board [message #10624 is a reply to message #10621] Sat, 24 February 2024 18:30 Go to previous message
plasmo is currently offline  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
Previous Topic: Barebones 68008 computer
Next Topic: kiss68030 linux kernel 6.6 and libpata driver


Current Time: Sat Feb 08 22:06:18 PST 2025

Total time taken to generate the page: 0.00841 seconds