RetroBrew Computers Forum
Discussion forum for the RetroBrew Computers community.

Home » RBC Forums » General Discussion » Design help (Equivalent TTL circuit)
Design help [message #10210] Thu, 26 January 2023 22:00 Go to next message
b1ackmai1er is currently offline  b1ackmai1er
Messages: 396
Registered: November 2017
Senior Member
Hi,

Shown below on the left is my circuit to control the data transeiver direction on my ECB VGM sound board.
It has a CTC so it requires interrupt acknowlege and return from interrupt controls.
Currently this appears to be working, programmed into a GAL 16v8. Looking to implement this in discrete TTL.

I beleive the image on the right is a valid reduction of the circuit using wired-or configuration using a 74LS09

It also has the advantage that it leaves me some spare open collector buffers for my interrupt and wait outputs.

Would any be able to confirm this is a valid reduction?

Thank you.

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

  • Attachment: datadn.png
    (Size: 90.74KB, Downloaded 369 times)
  • Attachment: 260122.csv
    (Size: 0.97KB, Downloaded 142 times)
Re: Design help [message #10212 is a reply to message #10210] Fri, 27 January 2023 08:09 Go to previous messageGo to next message
jayindallas is currently offline  jayindallas
Messages: 110
Registered: June 2021
Senior Member
The original circuit relied on any AND output being HIGH/TRUE to make the final output HIGH/TRUE.

The 74'09 AND.OC is not the right chip for the right-hand circuit.
The 7409 will only create an active wired-or output when its AND output is LOW/FALSE.

You could think of the 7409.OC as being used when all GO statuses must generate a HIGH/TRUE, but ABORTS with a LOW/FALSE when any condition is NOT true.
"...Houston... We have a problem..."

If you use 74'01 NAND.OC that will get wired-or LOW/TRUE where the original AND inputs generated a HIGH/TRUE.
The 6 decision logic is now correct but the output is open collector LOW/TRUE.
Just add one of your extra inverters to turn the LOW/TRUE into a HIGH/TRUE.

Original Equation:
 ___   ___         ___                       ___   ___
(IEI x nM1)+(INT x nM1)+(nCS x nM1)+(nIORQ)+(nRD x nM1)+(nRD x nM1)
   (AND)   OR  (AND)   OR  (AND)   OR      OR  (AND)   OR  (AND)

[Updated on: Fri, 27 January 2023 14:26]

Report message to a moderator

Re: Design help [message #10213 is a reply to message #10212] Sat, 28 January 2023 01:14 Go to previous messageGo to next message
b1ackmai1er is currently offline  b1ackmai1er
Messages: 396
Registered: November 2017
Senior Member
Hi Jay,

You are exactly right.

It has taken me about 5 hours to work through it.

What I had created of course was a wire-AND.

At first I created your circuit in a simulator and found it didn't work. This set me off on a path of almost works solutions.

Finally I realized I couldn't use a standard NAND gate in the simulator and had to use the 7401 logic block which "understands" pull ups.
I should be able to omit the final inverter by swapping the inputs and outputs on the 74LS245

Thanks for your help.

/forum/index.php?t=getfile&id=2844&private=0
  • Attachment: datadn.png
    (Size: 63.56KB, Downloaded 319 times)

[Updated on: Sat, 28 January 2023 02:39]

Report message to a moderator

Re: Design help [message #10240 is a reply to message #10213] Sat, 11 February 2023 07:36 Go to previous message
jayindallas is currently offline  jayindallas
Messages: 110
Registered: June 2021
Senior Member
Nice circuit and faster. Looks like a CPLD construct 'gone retro'. Smile

I think there is also a 7403 which is another NAND.OC with a different pinout, though I didn't check to see if that was available at Mouser.com. I only looked at the system boundary of the circuit in the first posting, I didn't go back deeper into the Z80 signaling.

[Updated on: Fri, 24 February 2023 19:45]

Report message to a moderator

Previous Topic: Omega MSX RGB Out - Where is the sync?
Next Topic: DOS/65 by Richard Leary


Current Time: Sat Mar 15 21:00:10 PDT 2025

Total time taken to generate the page: 0.00707 seconds