RetroBrew Computers Forum
Discussion forum for the RetroBrew Computers community.

Home » RBC Forums » General Discussion » Z80 Multi Board Computer (Z80 modular backplane computer)
Re: Z80 Multi Board Computer [message #8756 is a reply to message #8751] Mon, 05 July 2021 05:26 Go to previous messageGo to next message
lynchaj is currently offline  lynchaj
Messages: 1017
Registered: June 2016
Senior Member
OK, so the excitement from ROMWBW and DSKY ng is still raging but it's time to get back down to business. The Z80 PPIDE board is great and really opened up the window into a large Z80 software world. Quite an expansion when you're used to debug monitor and just working CP/M 2.2 with RAM & ROM drives.

The next stage is to add a Floppy Drive Controller because hey, who would trust a retro computer without a floppy drive? ;-) (just kidding)

Looking over all the various iterations of FDCs, it seems like the best, most recent ones are based on the WD37C65 which is the FDC used in the N8 and the awesome Zeta II SBC. So it makes sense to me to use that as a basis for a new Z80 FDC. Also the chip is still available and is a single piece solution without needing the weird, hard to find support chips for data separator, etc. (remember the FDC9229 on original DiskIO? Talk about a unicorn, yikes)

The Z80 FDC project is in the early planning stages. A couple of other goals for the board is to be relatively low power (CMOS a must), support both PIO and DMA modes (target is ECB-DMA circuit), and capable of HD mode. At this point I am thinking the only real floppy drive support would be for PC compatible HD and DD 2MB (IBM 1.44MB format). the WD37C65 probably supports a bunch of other formats (5.25", 8", tape drives, etc.) but over time these others have dwindled down to almost nothing. Of the floppy drives pretty much the 1.44MB format overwhelmingly dominates and is still commonly available. Also it is much lower power than the other older formats.

Here is an opportunity to make changes to the design and get your input in early. Please review the attached schematic and PCB layout and post your comments or send me an email. All input will be considered although I cannot promise it will be implemented. There are many trade-offs and only some will make the cut. Thank you in advance, Andrew Lynch

[Updated on: Mon, 05 July 2021 05:49]

Report message to a moderator

Re: Z80 Multi Board Computer [message #8757 is a reply to message #8756] Mon, 05 July 2021 07:05 Go to previous messageGo to next message
b1ackmai1er is currently offline  b1ackmai1er
Messages: 396
Registered: November 2017
Senior Member
HI Andrew, Impressive work.

Congratulations in getting ROMWBW to work.

Best Wishes Phil.
Re: Z80 Multi Board Computer [message #8762 is a reply to message #8757] Mon, 05 July 2021 08:30 Go to previous messageGo to next message
etchedpixels is currently offline  etchedpixels
Messages: 333
Registered: October 2015
Senior Member
I've added this design to my emulator collection and tested it with the initial ROM you posted.
Re: Z80 Multi Board Computer [message #8764 is a reply to message #8762] Mon, 05 July 2021 08:42 Go to previous messageGo to next message
etchedpixels is currently offline  etchedpixels
Messages: 333
Registered: October 2015
Senior Member
The 37C65 supports pretty much any format out there except for the weird non MFM stuff. You need two crystals to read certain disk types and you need to decide between supporting 2.88MB and supporting some of the old formats but that's about it other than the pullups (150Ohm for old old drives but 1K or so is fine for modern ones).

The only other thing I'd suggest is connecting U10- Y3 to /RST on the chip. That way you can beat it back into sanity if it goes silly on you. Having that ability certainly made some of the driver debugging for the RC2014 FDC I did a lot easier.

Re: Z80 Multi Board Computer [message #8771 is a reply to message #8751] Mon, 05 July 2021 19:28 Go to previous messageGo to next message
Wayne W is currently offline  Wayne W
Messages: 384
Registered: October 2015
Location: Fallbrook, California, US...
Senior Member
Happy to report that I have completed my full 6 board MBC. The build was straightforward and everything worked right off the bat. I am including a picture of the completed system featuring Dan's Next Gen DSKY prototype.

Thanks to Andrew's careful design work, adapting RomWBW was trivial. Literally just a few lines of code and everything now works.

-Wayne

/forum/index.php?t=getfile&id=2225&private=0

  • Attachment: IMG-1692.jpg
    (Size: 2.17MB, Downloaded 1549 times)

[Updated on: Tue, 06 July 2021 12:24]

Report message to a moderator

Re: Z80 Multi Board Computer [message #8772 is a reply to message #8764] Mon, 05 July 2021 20:02 Go to previous messageGo to next message
Wayne W is currently offline  Wayne W
Messages: 384
Registered: October 2015
Location: Fallbrook, California, US...
Senior Member
This might be a good time to think through the interrupt management approach for the MBC.

Currently, the Serial Module asserts the /INT signal directly. As designed, the FDC Module would do the same thing. Since neither the 16C550 nor the 37C65 handle Z80 mode 2 interrupts, this would imply the use of interrupt mode 1. This would also imply that upon interrupt, all possible interrupting devices will need to be polled to see who is tugging on the signal.

Sergey's Zeta II utilizes a CTC to coerce isolated interrupt signals into Z80 mode 2 interrupts. The CTC also provides a system timer which is generally useful.

As far as I know, there is nothing wrong with using mode 1 interrupts. Mode 2 interrupts would be more performant, but would increase complexity.

I'm sorry I don't have a specific solution to suggest off the top of my head. Just thought it was worth a bit of thought.

-Wayne
Re: Z80 Multi Board Computer [message #8774 is a reply to message #8764] Tue, 06 July 2021 03:08 Go to previous messageGo to next message
lynchaj is currently offline  lynchaj
Messages: 1017
Registered: June 2016
Senior Member
etchedpixels wrote on Mon, 05 July 2021 11:42
The 37C65 supports pretty much any format out there except for the weird non MFM stuff. You need two crystals to read certain disk types and you need to decide between supporting 2.88MB and supporting some of the old formats but that's about it other than the pullups (150Ohm for old old drives but 1K or so is fine for modern ones).

The only other thing I'd suggest is connecting U10- Y3 to /RST on the chip. That way you can beat it back into sanity if it goes silly on you. Having that ability certainly made some of the driver debugging for the RC2014 FDC I did a lot easier.

Hi,
That is an excellent idea and I will implement it. As I recall (vaguely) the i8272 going insane during test software development was a frequent problem while making the original DiskIO board. It took a long time to get the FDC monitor to perform even simple tasks but it eventually did work. Adding a operator controllable reset will make this easier. Thank you!

The extra clock and logic is pretty much for the 1.2MB 5.25 IBM AT format floppy disks without 2 speed drives. I think that is a special case and not many people are clamoring for it. Also the low value pull ups for the older Shugart drives are really power hungry. Plus special connectors and a lot of option jumpers led me to decide to only support the 1.44MB HD IBM PC format standard. It's a much simpler implementation. Probably not satisfactory for all the real old school vintage computer hobbyists but is good enough for >99% of people who will use floppy disks.

Thanks! Andrew Lynch

Re: Z80 Multi Board Computer [message #8775 is a reply to message #8771] Tue, 06 July 2021 03:11 Go to previous messageGo to next message
lynchaj is currently offline  lynchaj
Messages: 1017
Registered: June 2016
Senior Member
Wayne W wrote on Mon, 05 July 2021 22:28
Happy to report that I have completed by full 6 board MBC. The build was straightforward and everything worked right off the bat. I am including a picture of the completed system featuring Dan's Next Gen DSKY prototype.

Thanks to Andrew's careful design work, adapting RomWBW was trivial. Literally just a few lines of code and everything now works.

-Wayne

/forum/index.php?t=getfile&id=2225&private=0

Beautiful work! Thank you

Andrew Lynch
Re: Z80 Multi Board Computer [message #8776 is a reply to message #8772] Tue, 06 July 2021 03:23 Go to previous messageGo to next message
lynchaj is currently offline  lynchaj
Messages: 1017
Registered: June 2016
Senior Member
Wayne W wrote on Mon, 05 July 2021 23:02
This might be a good time to think through the interrupt management approach for the MBC.

Currently, the Serial Module asserts the /INT signal directly. As designed, the FDC Module would do the same thing. Since neither the 16C550 nor the 37C65 handle Z80 mode 2 interrupts, this would imply the use of interrupt mode 1. This would also imply that upon interrupt, all possible interrupting devices will need to be polled to see who is tugging on the signal.

Sergey's Zeta II utilizes a CTC to coerce isolated interrupt signals into Z80 mode 2 interrupts. The CTC also provides a system timer which is generally useful.

As far as I know, there is nothing wrong with using mode 1 interrupts. Mode 2 interrupts would be more performant, but would increase complexity.

I'm sorry I don't have a specific solution to suggest off the top of my head. Just thought it was worth a bit of thought.

-Wayne
Hi Wayne, good point. I am adding a jumper to the Z80 FDC to allow selection between INT or NMI or none like the Z80 serial board. I think it would have to use interrupt mode 1 and do polling to identify the interrupt source. That kind of sucks but there is not really an equivalent of an Intel PIC for Z80 that I know about.

That being said, the Z80 MBC lacks a timer circuit and it is a major shortcoming. My plan to resolve this is to split the old Zilog Peripherals board up into two boards; a CTC + DART board and a dual PPI board. The CTC + DART would go first because I think it is more urgently needed as a timer and would help with the interrupt issues as well. This would have to be a later project though because I'd really like to get the FDC and DMA working first. I think we're stuck with PIO and/or mode 1 interrupts w/polling for a while.

Great insight! Thanks! Andrew Lynch
Re: Z80 Multi Board Computer [message #8778 is a reply to message #8774] Tue, 06 July 2021 03:58 Go to previous messageGo to next message
etchedpixels is currently offline  etchedpixels
Messages: 333
Registered: October 2015
Senior Member
[quote title=lynchaj wrote on Tue, 06 July 2021 03:08]etchedpixels wrote on Mon, 05 July 2021 11:42

The extra clock and logic is pretty much for the 1.2MB 5.25 IBM AT format floppy disks without 2 speed drives. I think that is a special case and not many people are clamoring for it. Also the low value pull ups for the older Shugart drives are really power hungry. Plus special connectors and a lot of option jumpers led me to decide to only support the 1.44MB HD IBM PC format standard. It's a much simpler implementation. Probably not satisfactory for all the real old school vintage computer hobbyists but is good enough for >99% of people who will use floppy disks.

Thanks! Andrew Lynch

Agreed

I had the space when I did the RC2014 one so I just put all the extra bits on as optional. So far I've not needed to fit the second crystal as I only use it with a mix of PC style 1.44, 1.2, 720K, and also some 3" drives that I don't think ever really got a hold in the US but were used a lot here on Amstrad Z80 based machines. I've been using 1K pullups just fine on everything.

Alan
Re: Z80 Multi Board Computer [message #8779 is a reply to message #8772] Tue, 06 July 2021 04:12 Go to previous messageGo to next message
etchedpixels is currently offline  etchedpixels
Messages: 333
Registered: October 2015
Senior Member
Wayne W wrote on Mon, 05 July 2021 20:02

As far as I know, there is nothing wrong with using mode 1 interrupts. Mode 2 interrupts would be more performant, but would increase complexity.

I'm sorry I don't have a specific solution to suggest off the top of my head. Just thought it was worth a bit of thought.

-Wayne
IM2 very slightly speeds up a few things like SIO serial, but not noticeably and lets you use a CTC without jumping through hoops. Unless you are trying to service lots of low latency low service cost devices at once it's pretty much noise, and it doesn't buy you anything like proper priority servicing - once you are in a given handler it's actually really messy to allow other higher priority interrupts. 8085 got that right - Z80 didn't.

One thing I've never understood is why so few retro modern designs use the 2681 derived devices. The 26C92 can do IM2, has two uarts, an interval time and enough GPIO pins to use it as an interrupt controller as well. It was always a better chip than the 8250/16450.

You can also use 16550A spare serial control pins this way - the SBCv2 is a much niftier system if you add a square wave to one of the spare serial status lines for an interval timer, and/or hook it to the ECB bus interrupt line.

And in the CP/M world 'what's an interrupt ?' Cool

Alan
Re: Z80 Multi Board Computer [message #8784 is a reply to message #8779] Tue, 06 July 2021 12:30 Go to previous messageGo to next message
Wayne W is currently offline  Wayne W
Messages: 384
Registered: October 2015
Location: Fallbrook, California, US...
Senior Member
etchedpixels wrote on Tue, 06 July 2021 04:12
Wayne W wrote on Mon, 05 July 2021 20:02

As far as I know, there is nothing wrong with using mode 1 interrupts. Mode 2 interrupts would be more performant, but would increase complexity.

I'm sorry I don't have a specific solution to suggest off the top of my head. Just thought it was worth a bit of thought.

-Wayne

IM2 very slightly speeds up a few things like SIO serial, but not noticeably and lets you use a CTC without jumping through hoops. Unless you are trying to service lots of low latency low service cost devices at once it's pretty much noise, and it doesn't buy you anything like proper priority servicing - once you are in a given handler it's actually really messy to allow other higher priority interrupts. 8085 got that right - Z80 didn't.

Good points as always Alan. If Andrew adds the jumper to allow selection of /INT or /NMI, then it would also be possible to leverage that jumper in the future to attach a fly wire to connect IM2 interrupts if some kind of interrupt management hardware is built.

Anyway, I think this is case closed at this point.

Thanks,

Wayne
Re: Z80 Multi Board Computer [message #8785 is a reply to message #8784] Tue, 06 July 2021 15:14 Go to previous messageGo to next message
lynchaj is currently offline  lynchaj
Messages: 1017
Registered: June 2016
Senior Member
Z80 FDC

/forum/index.php?t=getfile&id=2243&private=0


Hi, added 3D rendering image of board with most components except PLCC-44 to help visualize the board design

Made some updates to the Z80 FDC board design based on people's inputs
- added user FDC reset capability (Thanks Alan!)
- added mounting holes in the upper left and right corners (M2 screws)
- added exclusion zones (0.75mm) for small card guides on left & right edges
- added optional provisions for secondary 9.6 MHz clock (I figure if someone wants it bad enough they can make the mods)

Discovered the old KiCAD footprint for PLCC-44 has an error in it which makes trace routing nearly impossible. (pin 38 & 41 occupy same hole) so switched to newer PLCC footprint and verified against datasheet. Fortunately the bug surfaced early before ruining the PCBs.

Thanks, Andrew Lynch



update: ordered PCBs, should be here early next week. Ordered WD37C65s and PLCC-44 sockets

update: PCBs and parts arrived. Gathered up all other parts from stock and assembled a board minus ICs. Conduct initial testing soon. So far looks pretty good

update: built and tested Z80 FDC board, installed ICs and powered up. Everything seems to check out. Built floppy drive test station of old PC power supply, 3.5" floppy drive, DD floppy disk, cables, etc. Powered up and appears to be working.

update: tried RomWBW FDU.COM modified for Z80 MBC & Z80 FDC board. Seems to work fine. Formatted 720KB DD 3.5" floppy disk. Read, write, & verified data. Track seek, home, and various FDC commands all seem to be working as expected. Good news!

[Updated on: Wed, 28 July 2021 04:54]

Report message to a moderator

Re: Z80 Multi Board Computer [message #8799 is a reply to message #8785] Wed, 07 July 2021 20:42 Go to previous messageGo to next message
Sergey is currently offline  Sergey
Messages: 236
Registered: October 2015
Location: Portland, OR
Senior Member
I did quite a bit of playing with WD37C65 while working on Zeta SBC V2, so here is some constructive criticism:
- Generally the board seems to be overcomplicated. All it really needs is the FDC and the chip select logic. Not even buffers, since you're really buffering only a single IC.
- 37C65 already has "soft reset" - see Operation Register bit #2. So separate reset control is not required
- Most of DMA/TC logic is unnecessary. RomWBW uses programmed I/O in AT/EISA mode. It only pulses /DACK+TC to indicate the end of transfer and keep the FDC happy. Since the FDC samples TC signal only when /DACK is active, tying it "high" (to VCC) will work. All you need is two chip selects for the FDC itself (/CS and /DACK) and two chip selects for /LDOR and /LDCR registers respectively
- Zeta SBC V2 has one more optimization - it puts /DACK (read only, qualified with /RD) on the same I/O address as /LDOR (write only). You could do the same, and save Wayne patching the RomWBW FDC code
Floppy connector:
- P27 pin 6 is connected to /MO1/DS3. Also, it looks that pins 10, 12, 14, 16 are swapped compared to the typical IBM PC/AT implementation. Perhaps you wanted to support 4 drives? If not, I'd recommend leaving pin 6 unconnected and swapping other pins to match IBM implementation. Otherwise people will get really confused about their IBM-compatible cables not working properly.
Improvements:
- Add more space around oscillators - full can oscillator packages are a bit bigger than DIP packages, and it looks that 16 MHz oscillator will overlap with 74LS138
- If you wish to use available real estate, addition of 50-pin floppy connector might be a good idea. Some people asked for that in the past
- If you like, you can add a vectored interrupt using a CTC or something like that instead of tying the interrupt to /INT or /NMI directly. But RomWBW doesn't use interrupts for FDC anyway...
- Integrate 8237 DMA on the board. Not sure if it will fit on 100x100 mm board though. Also interfacing with 8237 might be painful...
Small optimizations:
- 74LS02 is only used as an inverter. You could use one available 74LS10 gate U8C instead of U4B, and one of the available 74LS06 gates instead of U4A (together with yet another pull up)
- Use a resistor array for 4700 ohm pull-ups on IRQ/DMA signals

Thanks,
Sergey
Re: Z80 Multi Board Computer [message #8802 is a reply to message #8799] Thu, 08 July 2021 03:12 Go to previous messageGo to next message
lynchaj is currently offline  lynchaj
Messages: 1017
Registered: June 2016
Senior Member
Thanks Sergey!

Excellent, well thought out points. Especially the drive cable issue. That was a carry-over from the N8 back when I was more concerned with a purist Shugart floppy interface (up to 4 drives) than IBM compatibility. However, this board acknowledges current reality and needs to be more compatible with the mainstream IBM 1.44MB drives and their cables with the twist. I will implement as much as possible but some things are design decisions and to support DMA integration (hopefully soon).

Much appreciated, Andrew Lynch

[Updated on: Thu, 08 July 2021 15:40]

Report message to a moderator

Re: Z80 Multi Board Computer [message #8897 is a reply to message #8802] Mon, 26 July 2021 05:15 Go to previous messageGo to next message
lynchaj is currently offline  lynchaj
Messages: 1017
Registered: June 2016
Senior Member
Hi
Doing more RomWBW testing and work with Advanced DSKY and Z80 RAM board. Wayne discovered there is a problem with the non-volatile memory controller on the Z80 RAM board. It sort of works but introduces a subtle corruption of the first byte on each SRAM chip during a power cycle. Further investigation revealed the design has flaws in it. As a regular volatile RAM board the Z80 RAM works fine but the non-volatile controller has issues. Not an easy cuts and jumpers fix so I've decided to do a respin of the board with a new design. Too much focus on the chip select logic and not enough on the non-volatile controller during design. Also since doing a respin any way decided to fix the Z80 clock board also which has an ugly cuts and jumpers fix on it as well. So taking a bit of a break from Z80 FDC and Z80 DMA boards for a while so these respins can go through.

Thanks, Andrew Lynch
Re: Z80 Multi Board Computer [message #8899 is a reply to message #8897] Tue, 27 July 2021 04:59 Go to previous messageGo to next message
lynchaj is currently offline  lynchaj
Messages: 1017
Registered: June 2016
Senior Member
clock V2

/forum/index.php?t=getfile&id=2275&private=0

placeholder for respin of Z80 clock board

Update: the Z80 clock V2 board seems to work fine with no problems so far. On my system I've noticed that if I use the straight clock configuration (no "clk sel" 50%/100% speed mode) then it works stably. On one of my systems with the 50%/100% "clk sel" jumper installed it will occasionally generate "bad int" messages in RomWBW. Not sure what is causing this but it seems to have something to do with the flip flop effecting the clock signal. With straight clock signal (100% all the time) I believe there is no distortion and the system is rock solid. If you have the 50%/100% speed jumper installed and see the "bad int" messages try removing the jumper as it may help

[Updated on: Thu, 18 November 2021 06:13]

Report message to a moderator

Re: Z80 Multi Board Computer [message #8900 is a reply to message #8899] Tue, 27 July 2021 04:59 Go to previous messageGo to next message
lynchaj is currently offline  lynchaj
Messages: 1017
Registered: June 2016
Senior Member
Z80 RAM V2

/forum/index.php?t=getfile&id=2284&private=0

placeholder for respin of Z80 RAM board

[Updated on: Thu, 29 July 2021 14:52]

Report message to a moderator

Re: Z80 Multi Board Computer [message #8907 is a reply to message #8900] Wed, 28 July 2021 04:59 Go to previous messageGo to next message
lynchaj is currently offline  lynchaj
Messages: 1017
Registered: June 2016
Senior Member
Hi
Built and tested Z80 FDC board. Seems to be working fine with DD 3.5" 720KB floppy disks. Haven't done thorough testing but what I've seen so far is looking positive. Everything seems to be responding as expected. Tonight more testing on Z80 RAM board and then moving to finish Z80 DMA board design.

Thanks, Andrew Lynch
Re: Z80 Multi Board Computer [message #8917 is a reply to message #8907] Thu, 29 July 2021 12:17 Go to previous messageGo to next message
lynchaj is currently offline  lynchaj
Messages: 1017
Registered: June 2016
Senior Member
Z80 DMA

/forum/index.php?t=getfile&id=2319&private=0

Update: Going to order PCBs soon, any last minute questions, reviews, or comments welcome

Update: design going through some revisions, most notably the switch from CMOS DIP-40 to CMOS PLCC-44 to gain RESET# pin function. Many other clean ups to design and PCB layout

Update: ordered PCBs with revised design. Expect delivery in 9-15 business days.

Update: credit to Edzard for finding power LED bug. Expect a fix in Z80 DMA V2 respin. Also a bunch of minor corrections and updates.

Update: Good news, Z80 DMA built and tested. Seems to be working although testing not done yet. DMAmon program available but getting reworked by Phil. Had some problems getting my initial build to work properly but a tear-down and reassemble seemed to clear up the issue so that's nice.

Update: With the latest RomWBW the DMA driver code has been updated in preparation for external DMA IO. As a result in the stand-alone mode (no connection to an IO device) "EXT DMA" connector needs to have pins 2-3 connected with jumper. Otherwise the DMA driver does not work properly.

[Updated on: Thu, 18 November 2021 06:06]

Report message to a moderator

Re: Z80 Multi Board Computer [message #8930 is a reply to message #8917] Sun, 01 August 2021 04:41 Go to previous messageGo to next message
b1ackmai1er is currently offline  b1ackmai1er
Messages: 396
Registered: November 2017
Senior Member
Hi Andrew,

With the addition of the second DS1210 being added for the second RAM chip, I think the HBIOS needs to be updated to ensure the second RAM chip is accessed twice before it is actually used otherwise you will get seemingly random errors.

hbios:
; IF A DS1210 POWER CONTROLLER IS INSTALLED AND BATTERY BACKUP IS NOT INSTALLED
; OR IS LESS THAN 2V THEN THE DS1210 WILL BLOCK THE SECOND RAM ACCESS.
; FAILURE TO COMPLETE TWO RAM ACCESSES BEFORE INSTALLING PROXY WILL RESULT
; IN THE ROM ID BYTES NOT BEING COPIED CORRECTLY AND CP/M APPLICATIONS
; WILL NOT START CORRECTLY WHEN THEY CHECK THE ROM ID VERSION BYTES.
Re: Z80 Multi Board Computer [message #8931 is a reply to message #8930] Sun, 01 August 2021 11:43 Go to previous messageGo to next message
lynchaj is currently offline  lynchaj
Messages: 1017
Registered: June 2016
Senior Member
Hi
Good point. I wasn't aware of the two access rule for DS1210

Thanks, Andrew Lynch
Re: Z80 Multi Board Computer [message #8932 is a reply to message #8931] Mon, 02 August 2021 09:33 Go to previous messageGo to next message
norwestrzh is currently offline  norwestrzh
Messages: 190
Registered: November 2015
Senior Member
Why two DS1210s? I think that a single DS1210 can be used to control power for 2 SRAM chips (I think I did it, but I could be wrong -- it was a long time ago). If not, then why not use a DS1221? It is a bigger chip (it is a 16-pin dip), but can control power to 4 SRAM chips.

Roger
Re: Z80 Multi Board Computer [message #8934 is a reply to message #8932] Mon, 02 August 2021 10:49 Go to previous messageGo to next message
lynchaj is currently offline  lynchaj
Messages: 1017
Registered: June 2016
Senior Member
norwestrzh wrote on Mon, 02 August 2021 12:33
Why two DS1210s? I think that a single DS1210 can be used to control power for 2 SRAM chips (I think I did it, but I could be wrong -- it was a long time ago). If not, then why not use a DS1221? It is a bigger chip (it is a 16-pin dip), but can control power to 4 SRAM chips.

Roger
Hi
It is due to how the Z80 RAM design implements chip select. Each SRAM has a unique chip select and common RD# and WR# lines. The alternative would be to implement unique RD# and WR# lines and have a common chip select and then you could use a single DS1210. So as it turns out with the former approach it saved 4 OR gates and a couple of inverters but cost an extra DS1210. Originally I went with the latter approach and a single DS1210 and forgot to update it when I switched over to unique chip selects causing the error.

Obviously you can't have common RD#, WR#, and chip select lines or you would have bus contention on reads. Writes might sort of work but you'd have the same data written to both chips at once.

Ironically, my Red Z80 MBC works fine with the single DS1210 and retains memory across resets, reboots, power cycles, no problem. Green sometimes looses data on power cycles if their over a certain amount of time. Regardless, the initial implementation is wrong and had to be fixed. Amazing how well it worked in spite of the error though. As a regular (volatile) RAM board it seems to work perfectly. Its the non-volatile portion that got screwed up.

Thanks, Andrew Lynch
Re: Z80 Multi Board Computer [message #8938 is a reply to message #8930] Mon, 02 August 2021 11:30 Go to previous messageGo to next message
Wayne W is currently offline  Wayne W
Messages: 384
Registered: October 2015
Location: Fallbrook, California, US...
Senior Member
b1ackmai1er wrote on Sun, 01 August 2021 04:41
Hi Andrew,

With the addition of the second DS1210 being added for the second RAM chip, I think the HBIOS needs to be updated to ensure the second RAM chip is accessed twice before it is actually used otherwise you will get seemingly random errors.

hbios:
; IF A DS1210 POWER CONTROLLER IS INSTALLED AND BATTERY BACKUP IS NOT INSTALLED
; OR IS LESS THAN 2V THEN THE DS1210 WILL BLOCK THE SECOND RAM ACCESS.
; FAILURE TO COMPLETE TWO RAM ACCESSES BEFORE INSTALLING PROXY WILL RESULT
; IN THE ROM ID BYTES NOT BEING COPIED CORRECTLY AND CP/M APPLICATIONS
; WILL NOT START CORRECTLY WHEN THEY CHECK THE ROM ID VERSION BYTES.

Thanks Phil, but this problem is a little different. In this case, the data in the first byte of both ram chips can be verified as written correctly prior to a power cycle. After a power cycle, these bytes become 0xFF. If the DS1210 was blocking a write, it would not explain how the bytes become 0xFF.

Also, in theory, the DS1210 protocol is active on this platform under RomWBW.

Thanks,

Wayne
Re: Z80 Multi Board Computer [message #8981 is a reply to message #8938] Mon, 09 August 2021 04:53 Go to previous messageGo to next message
lynchaj is currently offline  lynchaj
Messages: 1017
Registered: June 2016
Senior Member
Z80 Processor V2

/forum/index.php?t=getfile&id=2323&private=0

Update: PCBs ordered on 9 Aug 2021

[Updated on: Mon, 09 August 2021 08:08]

Report message to a moderator

Re: Z80 Multi Board Computer [message #8982 is a reply to message #8981] Mon, 09 August 2021 04:55 Go to previous messageGo to next message
lynchaj is currently offline  lynchaj
Messages: 1017
Registered: June 2016
Senior Member
Z80 Serial V2

/forum/index.php?t=getfile&id=2329&private=0

[Updated on: Mon, 09 August 2021 08:10]

Report message to a moderator

Re: Z80 Multi Board Computer [message #8994 is a reply to message #8982] Wed, 11 August 2021 08:30 Go to previous messageGo to next message
lynchaj is currently offline  lynchaj
Messages: 1017
Registered: June 2016
Senior Member
Z80 Prototyping

/forum/index.php?t=getfile&id=2346&private=0

Hi, received a request for a Z80 prototyping board for the Z80 MBC. There are at least two ways to design a prototyping board; first is just a full board of PTHs and all wiring left to the operator, and the second is most likely components are added with a reduced amount of PTHs. Both are valid but this design reflects the latter approach. Not everyone will like it but if you have any feedback or questions on this implementation please post here or contact me. Thanks, Andrew Lynch

Note: there are pads for the most common buffered signals (labeled) above the ICs and the capacitor in the upper right corner of the component area is actually VCC and GND pads. 4 IO port addresses are reserved for the prototyping by default although the operator can modify the IO port decoder circuit to add/subtract IO ports with cuts and jumpers.

Update: Did some minor updates and realized I had better post them before they get lost in the churn

[Updated on: Mon, 16 August 2021 04:50]

Report message to a moderator

Re: Z80 Multi Board Computer [message #9023 is a reply to message #8994] Wed, 18 August 2021 04:45 Go to previous messageGo to next message
lynchaj is currently offline  lynchaj
Messages: 1017
Registered: June 2016
Senior Member
Hi

If you want to build your own Z80 MBC all the files are posted in this thread. Just download the Gerber files and go to JLCPCB or your favorite company to have them manufactured. You upload the Gerber zip file and accept the default parameters. Normally this gets you 5 PCBs for $2 plus shipping to where ever you live. This is a different model than previous boards and gives the builders direct control over what they purchase and build. You can customize PCBs by selecting your own color and other parameters, order extras, etc.

There are no middle men involved and no one has to buy a bunch of PCBs at risk and store inventory hoping other people buy them to recover their funds. If you get extra PCBs you can offer them to other builders and/or give them away to your friends. I've given away most of my PCBs because I really only need a couple of each type to build and maintain my two systems. No point in carrying extras around so give them to people who'll build and spread the fun.

The Z80 MBC is build is almost entirely with common off-the-shelf components if you have a collection of electronic parts you might be able to source most if not all the parts from your stock. A tremendous money saver. I know I've used up a bunch of old components that had been sitting around for years in some cases. No special customized parts or programmable logic so a simple, basic ROM programmer and a soldering iron is all you need to start. Nice to see them working!

Post here if you have any questions or send me a PM. Hope to see you get started soon!

Thanks, Andrew Lynch

PS, these boards use all through-hole parts and no SMD for easy construction by beginners. Also if you mess up PCB (difficult but possible) they are inexpensive enough to just try again. All the parts that are actually soldered to the PCB are inexpensive passives, connectors, and sockets so you can remove the ICs and try again without breaking the bank. If you use JLCPCB you'll get 5 PCBs so tossing one or two while you get the hang of it is no big deal. All PCBs use solder masks and large pads for easy construction. These are designed and intended for the new builders so don't be afraid to give it a try.

[Updated on: Wed, 18 August 2021 04:50]

Report message to a moderator

Re: Z80 Multi Board Computer [message #9055 is a reply to message #8396] Mon, 30 August 2021 03:29 Go to previous messageGo to next message
edzard is currently offline  edzard
Messages: 64
Registered: August 2019
Member
Hello All,

I've received today the Z80 Prototyping boards from jlcpcb.com.

Just a quick note to future builders: the IC sockets won't fit (DIL or DIP version) all on the board.


/forum/index.php?t=getfile&id=2373&private=0


/forum/index.php?t=getfile&id=2374&private=0






Best regards,


Edzard

  • Attachment: PCB1.jpg
    (Size: 160.21KB, Downloaded 964 times)
  • Attachment: PCB2.jpg
    (Size: 122.21KB, Downloaded 872 times)
Re: Z80 Multi Board Computer [message #9058 is a reply to message #9055] Mon, 30 August 2021 06:09 Go to previous messageGo to next message
lynchaj is currently offline  lynchaj
Messages: 1017
Registered: June 2016
Senior Member
Hi Edzard,
OK, sorry about that. It looks like I was being too aggressive trying to jam in components on the bottom row. Have you tried the low-profile double wipe sockets? I think they are a bit narrower than the machine pin sockets. They're not as nice but if they work it will be OK for a prototype board. Otherwise, if it is really close, try a bit of sanding to trim off some excess material. Alternatively, just solder the parts in directly and skip the sockets. I've found prototyping boards tend to be consumables because once I get a design working I am reluctant to tear it apart to recover the PCB.

I will go back and see what I can do to loosen up the placement a bit. Thanks, Andrew Lynch
Re: Z80 Multi Board Computer [message #9059 is a reply to message #9058] Mon, 30 August 2021 06:23 Go to previous messageGo to next message
edzard is currently offline  edzard
Messages: 64
Registered: August 2019
Member
Hello Andrew,

Not a problem at all! Should have checked it at forhand myself.
Think the best option is soldering the parts directly or clipping the plastic sidebars away.

(tried sanding and double wipe sockets).


Best regards,

Edzard
Re: Z80 Multi Board Computer [message #9060 is a reply to message #9059] Mon, 30 August 2021 06:31 Go to previous messageGo to next message
lynchaj is currently offline  lynchaj
Messages: 1017
Registered: June 2016
Senior Member
Hi Edzard
OK, let me work on some improvements. Thanks for the feedback, it'll make for a better prototyping board.

Thanks, Andrew Lynch

PS, is it just those two sockets or all of them? Is just barely too tight or way off? Trying to figure out how much additional spacing is needed.

[Updated on: Mon, 30 August 2021 06:34]

Report message to a moderator

Re: Z80 Multi Board Computer [message #9061 is a reply to message #9060] Mon, 30 August 2021 07:06 Go to previous messageGo to next message
edzard is currently offline  edzard
Messages: 64
Registered: August 2019
Member
Hello Andrew,

I took a new board and tried some different placing "methods".

If you don't solder the IC's and you put them all in place (at the same time) and manage to flip the board, it's possible to solder them all more or less!

If you, just like me, solder them one after one, your stuck.

So to answer your question: barely tight!

/forum/index.php?t=getfile&id=2375&private=0



Best regards,

Edzard
  • Attachment: PCB3.jpg
    (Size: 54.28KB, Downloaded 947 times)
Re: Z80 Multi Board Computer [message #9063 is a reply to message #9061] Mon, 30 August 2021 07:42 Go to previous messageGo to next message
lynchaj is currently offline  lynchaj
Messages: 1017
Registered: June 2016
Senior Member
Hi Edzard
It looks like it is just barely too tight. I'll add one more notch to the spacing and that should fix it. Not much room left though since I compressed everything to maximize PTH space

Thanks, Andrew Lynch
Re: Z80 Multi Board Computer [message #9066 is a reply to message #9063] Mon, 30 August 2021 11:03 Go to previous messageGo to next message
lynchaj is currently offline  lynchaj
Messages: 1017
Registered: June 2016
Senior Member
Hi Edzard
I am going to add 0.5mm space between the ICs to allow for more room. However this means I have to move the spares connector to below the sockets and change from a 1x10 pin header to a 2x5 pin header. The spares aren't used much yet so I don't think that will make much difference but it will fix the problem you're having with too tight socket placement.

Thanks, Andrew Lynch

PS, made the updates and am reworking the PCB trace routing in FreeRouting now. Should see something soon.

[Updated on: Tue, 31 August 2021 04:39]

Report message to a moderator

Re: Z80 Multi Board Computer [message #9069 is a reply to message #9066] Tue, 31 August 2021 03:38 Go to previous messageGo to next message
edzard is currently offline  edzard
Messages: 64
Registered: August 2019
Member
Hello Andrew,

I think this will work out fine!

An other question/remark: Do you have the power LED on with the DMA PCB (when supplying power)?
Does it not get shortened by C17 in the schematic?

Best regards,


Edzard
Re: Z80 Multi Board Computer [message #9070 is a reply to message #9069] Tue, 31 August 2021 03:56 Go to previous messageGo to next message
lynchaj is currently offline  lynchaj
Messages: 1017
Registered: June 2016
Senior Member
Hi Edzard, You're right, I made a mistake on the power LED probably during the rearrangement of the bypass capacitors. Just lift the grounded pin of R12 and connect to VCC with a jumper and it should work fine. I'll roll in a change for the next PCB respin.

Thanks, Andrew Lynch

PS, I just checked and fortunately the fix is easy. Locate R12 in the upper left hand corner, pull pin #1 (on the right) and connect to the pin directly to the right of it (VCC). It is very close so likely an extra jumper wire is not needed. Annoying but not a show stopper. I've updated the schematic and PCB layout for Z80 DMA V2 which is likely the first of several changes. The Z80 DMA is based on the ECB-DMA board and is experimental so probably more changes will be necessary as we work out the bugs. Although the ECB-DMA seems to be performing well so maybe it will be only a few changes. Regardless, thank you for finding the bug and it's been fixed for the next version.

[Updated on: Tue, 31 August 2021 04:37]

Report message to a moderator

Re: Z80 Multi Board Computer [message #9071 is a reply to message #9070] Tue, 31 August 2021 05:00 Go to previous messageGo to next message
lynchaj is currently offline  lynchaj
Messages: 1017
Registered: June 2016
Senior Member
Hi
Thankfully yesterday the three PCBs I ordered from JLCPCB finally arrived! So now I have the Z80 Processor V2, Z80 Serial V2, and Z80 DMA boards. My extras have been distributed to the other people in the US but if anyone wants to build their own probably your best approach is just to order them directly from JLCPCB using the Gerber files in the thread above. Nice and easy and no middle man or profiteering on the PCBs. You get them straight from the source. Also you'll get 5 PCBs which should help if you need a spare or two and give away the remainder to your friends & relatives. That's what I do. They are so inexpensive that if you manage to mess up a board (it happens sometimes, no big deal) just use a spare or order some new ones.

Best of luck! Andrew Lynch
Re: Z80 Multi Board Computer [message #9072 is a reply to message #9070] Tue, 31 August 2021 05:57 Go to previous messageGo to previous message
edzard is currently offline  edzard
Messages: 64
Registered: August 2019
Member
[quote title=lynchaj I just checked and fortunately the fix is easy. Locate R12 in the upper left hand corner, pull pin #1 (on the right) and connect to the pin directly to the right of it (VCC). It is very close so likely an extra jumper wire is not needed. Annoying but not a show stopper. I've updated the schematic and PCB layout for Z80 DMA V2 which is likely the first of several changes. The Z80 DMA is based on the ECB-DMA board and is experimental so probably more changes will be necessary as we work out the bugs. Although the ECB-DMA seems to be performing well so maybe it will be only a few changes. Regardless, thank you for finding the bug and it's been fixed for the next version.[/quote]

Great minds.....Smile

/forum/index.php?t=getfile&id=2379&private=0



Best regards,


Edzard
  • Attachment: Fix.jpg
    (Size: 120.80KB, Downloaded 913 times)
Previous Topic: uPD7220 character only mode video board
Next Topic: CP/Mega upgrade


Current Time: Thu Mar 28 23:30:32 PDT 2024

Total time taken to generate the page: 0.01172 seconds