Review of the 8080A+ schematics!

186 views
Skip to first unread message

norberto.collado koyado.com

unread,
Oct 28, 2022, 7:24:15 PM10/28/22
to SEBHC List
I will need help to review the attached 8080A schematics for feedback. I want this board to work on fist power-on without any issues. For that reason, I need a schematic review to ring out any logical issues.

Big changes around ROM/RAM decoder and ROM/RAM /cs signals. I did copy from the original 8080A schematics + some circuits from the Z80 V4 schematics as well to have a very powerful 8080A board.

Thanks,
Norberto
H8-8080A-EEPROM.pdf

Douglas Miller

unread,
Oct 28, 2022, 8:53:54 PM10/28/22
to se...@googlegroups.com

Here's what I noticed:


1) EEPROM programming enable (under software) does not seem to be connected. The "I/O 1" bit from port 362Q does not seem to ever get connected to the EEPROM (jumper block JP1). On the Z80 V4 schematic, "I/O 1" is combined with other signals to become "/WR/EE" which may be (via jumpers) fed to the EEPROM.


2) There is an "orphaned" 74LS573 labeled "U20", which I expect is meant to be deleted as there is already an 74LS273 labeled U20 and (mostly) connected (there are some "no connection" symbols on the outputs that probably should be removed).


3) The RAM address decoder at U31 looks a little different than the Z80 V4, but that may not be an error. I seem to recall we had discussions about how /CS1 and /CS2 might not be both needed. Does the 8080A board use a different programming for U31 than the Z80 V4 board? Do you intended this board to have the same capability for software to enable the full 32K ROM, like we do with Z80 V4?


4) Looks like there is no on-board 2mS clock? Just wanted to confirm that, which means this board cannot be run stand-alone (without front panel)? I'm not suggesting this should be different, just want to confirm that is your intention.


I am not familiar with the 8080A chipset, so did not review that portion.


It looks like the extended ROM does not need to support a "no front panel" version? When would you like to start testing with an extended ROM? Are you able to test initially with a stock Heath ROM?

--
You received this message because you are subscribed to the Google Groups "SEBHC" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sebhc+un...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/sebhc/SN6PR01MB3855EE3365EE04E84361F6D0F7329%40SN6PR01MB3855.prod.exchangelabs.com.

norberto.collado koyado.com

unread,
Oct 29, 2022, 12:05:00 AM10/29/22
to se...@googlegroups.com
Thank you, Douglas, for the feedback. Let me review and will get back to you.

Just two quick questions:
  1. Can the 8080A run CP/M3 from MMS?
  2. Should I add to support the H67/H37 to boot Heath HDOS2/3 and CP/M?
Thanks,
Norberto


From: se...@googlegroups.com <se...@googlegroups.com> on behalf of Douglas Miller <durga...@gmail.com>
Sent: Friday, October 28, 2022 5:53 PM
To: se...@googlegroups.com <se...@googlegroups.com>
Subject: Re: [sebhc] Review of the 8080A+ schematics!
 

norberto.collado koyado.com

unread,
Oct 29, 2022, 1:49:14 AM10/29/22
to se...@googlegroups.com

My Feedback below.

 

From: se...@googlegroups.com <se...@googlegroups.com> On Behalf Of Douglas Miller
Sent: Friday, October 28, 2022 5:54 PM
To: se...@googlegroups.com
Subject: Re: [sebhc] Review of the 8080A+ schematics!

 

Here's what I noticed:

 

  1. EEPROM programming enable (under software) does not seem to be connected. The "I/O 1" bit from port 362Q does not seem to ever get connected to the EEPROM (jumper block JP1). On the Z80 V4 schematic, "I/O 1" is combined with other signals to become "/WR/EE" which may be (via jumpers) fed to the EEPROM. NC: I do not see the need for this. Let me know if I should add it. Also, we can use a ZIF socket for programming outside the board.

 

 

2) There is an "orphaned" 74LS573 labeled "U20", which I expect is meant to be deleted as there is already an 74LS273 labeled U20 and (mostly) connected (there are some "no connection" symbols on the outputs that probably should be removed). NC: Good catch and deleted. I will remove the symbols once we decided which way to go.

 

3) The RAM address decoder at U31 looks a little different than the Z80 V4, but that may not be an error. I seem to recall we had discussions about how /CS1 and /CS2 might not be both needed. Does the 8080A board use a different programming for U31 than the Z80 V4 board? Do you intended this board to have the same capability for software to enable the full 32K ROM, like we do with Z80 V4?

NC: I do not see the need to add such capability. The 8080A can be configured with a jumper for 8K (Legacy XCON-8) or 32K capacity (Extended XCON-8) or just use one /cs for both modes. Should I reversed to Z80 V4 compatibility? Can we use your Z80 monitor to work with the 8080A board?

 

4) Looks like there is no on-board 2mS clock? Just wanted to confirm that, which means this board cannot be run stand-alone (without front panel)? I'm not suggesting this should be different, just want to confirm that is your intention. NC: For the stand alone mode, the Z80 V4 is the one for this capability. I do not see the need to do it on the 8080A board.

 

I am not familiar with the 8080A chipset, so did not review that portion. NC: Copied from the original 8080A schematics. I will do another pass to be sure that there are no logical wiring issues.

 

It looks like the extended ROM does not need to support a "no front panel" version? NC: Correct!

When would you like to start testing with an extended ROM? NC: As soon I get the board layout and build out. X-MAS project perhaps.

Are you able to test initially with a stock Heath ROM? NC: I should load Legacy XCON-8 and it should work by default once board is available. I will use this monitor to debug the board.

 

H37/H67 support for 8080A: I checked the circuit and it is the same as the Z80 for interrupts for the H37. No changes for the 8080A interrupts circuit. Will the 8080A boot HDOS/CPM from H67 by default? How about the H37? What will be the changes to make it work for both controllers if any? Can we use your Z80 V4 monitor on the 8080A to boot HDOS/CPM from H37/H67 controllers?

 

CP/M3 MMS support: I think this is an invalid configuration for the 8080A.

 

RTC circuit:  I did remove it as it can be moved to a small board if needed.

 

Great feedback and thank you,

Norberto

 

 

 

On 10/28/22 18:24, norberto.collado koyado.com wrote:

I will need help to review the attached 8080A schematics for feedback. I want this board to work on fist power-on without any issues. For that reason, I need a schematic review to ring out any logical issues.

 

Big changes around ROM/RAM decoder and ROM/RAM /cs signals. I did copy from the original 8080A schematics + some circuits from the Z80 V4 schematics as well to have a very powerful 8080A board.

 

Thanks,

Norberto

--
You received this message because you are subscribed to the Google Groups "SEBHC" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sebhc+un...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/sebhc/SN6PR01MB3855EE3365EE04E84361F6D0F7329%40SN6PR01MB3855.prod.exchangelabs.com.

--
You received this message because you are subscribed to the Google Groups "SEBHC" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sebhc+un...@googlegroups.com.

Glenn Roberts

unread,
Oct 29, 2022, 3:15:43 AM10/29/22
to se...@googlegroups.com
So to my knowledge the H37/67 combo was never supported (by Heath) on the 8080. The (required) PAM-37 ROM, as well as the H37 and Z67 device drivers and utilities assumed the Z80 CPU. That doesn’t mean we couldn’t do it, of course, but it seems (to me) like a significant effort. Rick could possibly have some thoughts to share on this, as he redid some of this code to be 8080-compliant for his CF storage board.

Sent from my iPad

On Oct 29, 2022, at 12:05 AM, norberto.collado koyado.com <norberto...@koyado.com> wrote:



norberto.collado koyado.com

unread,
Oct 29, 2022, 3:23:02 AM10/29/22
to se...@googlegroups.com
H8-8080A-EEPROM.pdf

Richard Davis Jr.

unread,
Oct 29, 2022, 5:56:04 AM10/29/22
to se...@googlegroups.com
The prep67 and part67 utilities did have a few z80 instruction in there and I just made 8080 eqvalences of them. Very minor changes. The drvers had some z80 too but I gutted the low level I/O code and replaced it with the IDE code. Any left over z80 instructions were replaced with 8080 equvalences.

I am willing to make any mods required if needed to support h37/h67 for the 8080.

Rick


Richard Davis Jr.

unread,
Oct 29, 2022, 5:57:08 AM10/29/22
to se...@googlegroups.com
Norberto 

Wow. Do you ever sleep? :)


glenn.f...@gmail.com

unread,
Oct 29, 2022, 7:35:28 AM10/29/22
to se...@googlegroups.com

Great. So the main effort then would be to add boot capability to the ROM, building on XCON-8?  (or come up with an 8080 version of PAM-37??). Rick has already developed an approach to boot using the H8-5 and an .H8T file…

glenn.f...@gmail.com

unread,
Oct 29, 2022, 7:42:27 AM10/29/22
to se...@googlegroups.com

And it’s worth pausing to ask why even go down this road…  I thought the purpose of building an 8080 board was to let people build a “modern” equivalent of the original H8 configuration (e.g. if a CPU board is lost, missing or non-functional).  There are good reasons why Heath built the more advanced capabilities (e.g. H37/Z67) on top of the Z80.  I guess my suggestion is don’t go too overboard pimping out the 8080 board…  Keep it fairly true to the original? If we start to have to redo the ROM it seems like we’ve gone too far…

Douglas Miller

unread,
Oct 29, 2022, 8:53:24 AM10/29/22
to se...@googlegroups.com

Wow, lots of activity while I slept...

Getting back to the ROM programming and addressing:

I believe we concluded, while working on the Z80 V4 board, that we can't run standard Heath code (HDOS at least) with a full 32K ROM mapping, which is why we went with the power-up/RESET "standard 8K" (4K, 2K RAM, 2K) mapping and then software could enable the full 32K to access the rest of the ROM. Without software control, I'm not seeing any way to run a true extended ROM monitor. You could jumper-program paging of the ROM in 8K chunks, I suppose, but that just allows multiple versions of 8K ROMs to be stored in the 32K EEPROM.

As far as allowing software control of the EEPROM programming, that's a design choice but if we're going to try to produce an extended ROM monitor like we did for Z80 V4 I think we need to allow software to reprogram the ROM.

So, as Glenn is saying, we need to decide just what, if any, "new features" are to be added. If we are only using a 32K EEPROM because it is easier to get (and program) than the traditional 4K/2K ROMs, then that is fine (less work for me, actually). Then the only question is whether the 8K ROM mapping has the traditional RAM gap, which I believe will be needed for some legacy software. And we don't need any sort of 32K ROM mapping (jumper, etc).

Regarding MMS CP/M 3 (MMS software in general, including CP/NET), Z80 instructions are pervasive throughout the code so it's not really practical to try and make an 8080 version.

Joseph Travis

unread,
Oct 29, 2022, 10:35:07 AM10/29/22
to se...@googlegroups.com
I agree with Glenn, but I also have a few comments...

If you're going to add more than 64K RAM to the board, it makes sense to me to also include an MMU circuit or at least the hooks for one.  I was disappointed with the HA-8-3-1 design which doubled the video memory and had no hooks to use it!

If you're gonna add UARTs to the board, why not one 8250 and one 8251?  That covers the console for both disk and tape systems.  The 16550s are overkill.

Remove the jumpers to bypass the onboard regulators, they add a layer of confusion.  If someone wants to use switching power supplies and bypass the regulators, they can connect the regulator input to output with it being removed (which is much more obvious).

Joe


Glenn Roberts

unread,
Oct 29, 2022, 11:17:26 AM10/29/22
to se...@googlegroups.com
Just as an aside, Terry S. and I brainstormed ways to use the extra 16K on the new HA-8-3 clone. The TMS9918A can only address 16K at a time but it would be possible to hot swap between the two 16K sections of the RAM chip. In fact there is a spare gate on the board that could be used for this.

This may not be as useful as it seems since the RAM is not dual ported, I.e. the CPU cannot address it directly. The only way to write to it is via the 9918 chip. You could however preload some data to the alternate RAM (perhaps a splash screen or help file) and instantly swap to it. You would have to make sure the chip registers were all set to the right values before swapping. I don’t think this is much of a rework to the board if someone wants to try it.

Personally I don’t see enough value. Believe it or not, you can do quite a bit with just the 16k… 

Sent from my iPad

On Oct 29, 2022, at 10:35 AM, Joseph Travis <jtravi...@gmail.com> wrote:



Douglas Miller

unread,
Oct 29, 2022, 11:30:30 AM10/29/22
to se...@googlegroups.com

Back to the subject of the 8080A board, I see two ROM possibilities:

A) Extend ROM functionality - like the Z80 V4. Perhaps this is over-kill if everything we ever want to add can fit in 4K. But, if we want to allow this we'll need the software-select 8K/32K addressing as done for the Z80 V4, and probably want to connect up the software-controlled reprogramming signals.

B) Legacy ROM only. Regardless of what size EEPROM is used, only 8K (4K + 2K) is mapped in at a time and jumper/dipswitch changes are needed to alter that (i.e. select a different part of the EEPROM).

Glenn Roberts

unread,
Oct 29, 2022, 11:59:11 AM10/29/22
to se...@googlegroups.com
You and others here have the expertise but option A sounds right to me. I presume the memory mapping configuration would be via GAL programming rather than jumpers?

Sent from my iPad

On Oct 29, 2022, at 11:30 AM, Douglas Miller <durga...@gmail.com> wrote:



Douglas Miller

unread,
Oct 29, 2022, 1:35:58 PM10/29/22
to se...@googlegroups.com

Correct, I would think that the same GAL would be used for both (all) boards.

glenn.f...@gmail.com

unread,
Oct 29, 2022, 3:49:59 PM10/29/22
to se...@googlegroups.com

Joe has a great point about the regulator bypass jumpers.  I agree we should phase them out.  It seems too easy to have them accidentally installed and do damage.  And you can accomplish the same thing by jumpering the regulator inputs and outputs, which is more obvious.  If you’re going to have two kinds of systems (one with the normal linear power supply and one with a PC ATX style) my recommendation is to make all your boards compatible with either one by using the Pololu regulators or similar solution.

 

  • Glenn

norberto.collado koyado.com

unread,
Oct 30, 2022, 1:31:19 AM10/30/22
to se...@googlegroups.com

Updates:

 

  1. Added 4K and 32K ROM selection by  OS. Compatible with Z80 V4 board.
  2. Added in-circuit EEPROM programming. Compatible with Z80 V4 board.
  3. Removed all regulators jumpers
  4. 8K ROM mapping has the traditional RAM gap is control by the GAL. Compatible with Z80 V4 board.
  5. Will support XCON-8 by default (4K)
  6. Will support extended ROM (32K) under OS control. Compatible with Z80 V4 board.
  7. Does the 8080A board use a different programming for U31 than the Z80 V4 board? Yes, just a minor change, but no impact to code used on the Z80 V4 board. It should be transparent.
  8. No RTC – running out of space.
  9. No MMU – running of space.
  10. No 8251 UART – running out of space. This capability is already on the new H8-Z5-4 board.
  11. Two 16C550 – One for H19 terminal and second for modem or printer. No need to use the DUART module.
    1. Do we need to substitute one of the 16C550 for an 8251A? Please let me know.
  12. Added “A16” manual selection to switch to second 64KB bank.
  13. Added 3.2V coin battery to preserved RAM data.
  14. Added “Soft Reset” signal
  15. Done!

 

Attached is latest schematic for feedback.

 

Thanks,

Norberto

.

H8-8080A-EEPROM.pdf

Douglas Miller

unread,
Oct 30, 2022, 8:28:40 AM10/30/22
to se...@googlegroups.com

This looks good to me. A couple questions though:

1) What I/O operation and port triggers the SOFT_RESET?

2) What drives the A16 circuit (how does software control that, or is it just a jumper)?

I did see some typos (I believe). U27B outputs are labeled "BML_H" and "BML_L" but I believe those should be "BM1_H" and "BM1_L". U34 pin 9 input is labeled "BMI_L" and I believe it should be "BM1_L". U34 pin 14 is labeled "MLMW" when I believe it should be "MEMW". I'm guessing your schematic netlist checking tools would catch those, and any others that might be.

--
You received this message because you are subscribed to the Google Groups "SEBHC" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sebhc+un...@googlegroups.com.

glenn.f...@gmail.com

unread,
Oct 30, 2022, 8:35:21 AM10/30/22
to se...@googlegroups.com

Would be a shame to lose the RTC.  I guess we could make more of the old board http://koyado.com/Heathkit/H8-Calendar_Clock.html or possibly build a RTC daughterboard that could plug into a RAM or ROM socket? (like the old Dallas Semiconductor ones from way back).

 

Perhaps a way to create board real estate for the RTC would be to use the daughterboard approach for the serial ports like the Rev. 4 board uses?  that way if you just want one serial port install the 16C550 chip, otherwise install the daughterboard to get two.  I presume this would also let us add USB on the daughterboard?  I don’t suppose one could craft a 16C550/8251A version of the daughterboard?  Or put the RTC on same daughterboard?? (hmm.  This idea may be getting out of hand...)

 

I would only recommend doing the 8251 if it can be via daughterboard, not on the CPU board itself – if that’s an issue user should build the H-8-5. 

 

Finding location for a mechanical switch for the A16 line can be problematic (for my VCF demo I just had one hanging off a wire coming out of the back of the H8).  Question: can the ports on the “blinkenlights” board also be used to drive relays, not just LEDs?  that would let you reconfigure jumper settings (e.g. to swap the 64K segment) under software control or from the front panel… even cooler if the relays were some kind of bi-state/toggle relays (retain their settings when power is off).  Cooler still if solid state relays…  I guess you could also use the 8255 PIO board for this…

 

I presume we’ve determined that the 8000 series Intel chips are still available?

--

You received this message because you are subscribed to the Google Groups "SEBHC" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sebhc+un...@googlegroups.com.

norberto.collado koyado.com

unread,
Oct 30, 2022, 1:53:15 PM10/30/22
to se...@googlegroups.com

Feedback below.

 

From: se...@googlegroups.com <se...@googlegroups.com> On Behalf Of Douglas Miller
Sent: Sunday, October 30, 2022 5:29 AM
To: se...@googlegroups.com
Subject: Re: [sebhc] Review of the 8080A+ schematics!

 

This looks good to me. A couple questions though:

1) What I/O operation and port triggers the SOFT_RESET?

RST = 066Q

2) What drives the A16 circuit (how does software control that, or is it just a jumper)? Right now using an external switch. It has a 2 pin connector, so it can go anywhere. Can we use U20 bit 0 for A16 (SSEN = single step interrupt) not used on this board?

I did see some typos (I believe). U27B outputs are labeled "BML_H" and "BML_L" but I believe those should be "BM1_H" and "BM1_L". U34 pin 9 input is labeled "BMI_L" and I believe it should be "BM1_L". U34 pin 14 is labeled "MLMW" when I believe it should be "MEMW". I'm guessing your schematic netlist checking tools would catch those, and any others that might be. Thanks and labels fixed.

norberto.collado koyado.com

unread,
Oct 30, 2022, 2:14:40 PM10/30/22
to se...@googlegroups.com

Great feedback Glenn.

 

I will add the RTC to the board. I think I can squeeze it.

 

Let me see if I can squeeze the 8251A into such board.

 

Yes, 8000 series Intel chips are still available. You can get them at https://www.unicornelectronics.com/IC/8000.html

On A16 we can use U20 bit 0 (SSEN = single step interrupt) bit. I just need Douglas approval.

norberto.collado koyado.com

unread,
Oct 30, 2022, 3:08:09 PM10/30/22
to se...@googlegroups.com

Added RTC as it is only one IC.

 

Ccannot add 8251A as I need to add three more IC’s for baud rate generator. The H8-Z5-4 has already this capability and I do not see the need to duplicate.

 

Norberto

Douglas Miller

unread,
Oct 30, 2022, 4:57:55 PM10/30/22
to se...@googlegroups.com

I, personally, am not keen on the 8251 as I don't see the need for it. But, then again, I'm not going to be an end-user of this board. I like the idea of re-using as much as possible, like the DUART (VDIP1) daughter board. And also keeping things as software-compatible as possible - like using the same RTC chip.

Regarding using SSEN as the RAM bank select, I don't think that's a good idea. In fact, doesn't the front panel implement single-step? My concern would be some software possibly doing something with that bit - even forcing it to "0" (off) on the assumption it doesn't exist on the H8 - and causing a crash. I'm not certain of any of that, but the uncertainty gives me pause. I'm not sure there's a real need to use the extra RAM, maybe the need for more RAM can be satisfied by the H8-512K-MMU or legacy RAM expansion?

So, I/O port 066Q (0x36) is the RESET signal. MMS 5/8 Floppy controller used 0x38-0x3f on the H89, so no conflict there. I think MMS did do some interface board that used 0x30-0x37, but even if that hardware still exists I don't see it being run on the H8.

glenn.f...@gmail.com

unread,
Oct 30, 2022, 5:09:34 PM10/30/22
to se...@googlegroups.com

Great. Things seem to be converging nicely.  Good dialog…

norberto.collado koyado.com

unread,
Oct 30, 2022, 7:07:53 PM10/30/22
to se...@googlegroups.com

Douglas,

 

As we are not using port 363Q on this board, I re-used it for A16 control. The RTC was added and also added hooks for the 8251A to be located on a DUART module as in the Z80 V4 CPU.

 

Updated schematic attached.

 

Norberto

 

H8-8080A-EEPROM.pdf

Douglas Miller

unread,
Oct 30, 2022, 7:42:34 PM10/30/22
to se...@googlegroups.com

One problem with the A16 logic, if you write to that port while running out of RAM you'll crash. That's problematic with our convention of copying ROM into RAM at RESET. I think we need to figure out how this will be used. The alternate bank of memory must have something in it before you can switch. I guess we can define that it is only valid when ROM is mapped in, as in port 362Q D5 is "0". Or else we'd have to setup some sort of "common memory" when switching banks.

Also, I think D1 is not the best choice. That is used on the Z80 board as the 2mS "safety" control. Perhaps D3 would be a better choice? That mirrors to MEM1 on port 362Q.

Douglas Miller

unread,
Oct 30, 2022, 7:54:59 PM10/30/22
to se...@googlegroups.com

Thinking about this more, making A16 software selectable may have other issues. Because there's no way to read the current contents of the port/bit, there's no way to know which A16 value is being used. I guess it brings up the whole issue of just how it's going to be used. We probably need more discussion. A switch/jumper is easier, since you can't change it while running. But, I wonder just how people intend to use the alternate bank. If it's with battery backup to have alternate random programs stored in specific locations in memory, that's one thing. I don't think one can have different OSes in each bank, though - you have to boot in order to properly start an OS (can't "resume" one already running). We need to do more thinking on this, before we add something that may just cause trouble.

glenn.f...@gmail.com

unread,
Oct 30, 2022, 8:49:08 PM10/30/22
to se...@googlegroups.com

I may be the only one who’s weighed in on this (and may be the only on who’s used the switch in practice??).  I’ve used it to do demonstrations. Lets me load up programs in battery-backed RAM but then (flip the switch) also boot an OS.  Can then toggle between the stand alone demos (stuff loaded via cassette or front panel, e.g.) and the OS configuration.  I can do anything I want with the second bank but can always flip back and know that my demos are available on a moment’s notice.

 

Finding a place to conveniently locate a switch (without drilling into the front panel) is a challenge so I asked about the possibility of software control (e.g. via the front panel keypad)

 

Douglas makes a good case for not putting this under software control.  I recommend leaving it a jumper per Norberto’s original plans.  Perhaps some day I’ll play with the latching relay idea…

image001.png

norberto.collado koyado.com

unread,
Oct 30, 2022, 9:28:19 PM10/30/22
to se...@googlegroups.com

This is only to be switched using the front panel to select a different program. It is meant not to be change while in the OS. I will add a jumper to disabled A16 as needed.

 

This will be a good enhancement for the H8-5 H8T games.

 

I changed D1 to D3 on port 363Q.

 

Norberto

.

Douglas Miller

unread,
Oct 30, 2022, 9:32:36 PM10/30/22