Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Operation with single-row RC2014 bus ? (with possible answer...) #9

Open
rwdavis3rd opened this issue Jan 16, 2021 · 1 comment
Open

Comments

@rwdavis3rd
Copy link

I'd looked forward to operating this TMS9918a video card as part of an SC130 (Z180) configuration. I was a little disturbed to observe that video card made some use of (some-of) the second-row of RC2014 bus pins, which suggested it was not a fit for the single-row SC130 implementation.

After some study of the video card schematic, it appears that the video card taps the 2nd row simply for access to Z80's NMI. And studying the cards jumper settings, I further learn that the use of NMI is usually only prescribed when another board on the RC2014 bus is already using the conventional (maskable) INT signal.

jblang, or real-world testing, may prove me wrong, but... it appears that others (like me) who have single-row RC2014 "Z80" busses can proceed with confidence in most cases. And for my part, if I later discover a need for the TMS9918a to tap the NMI line, I'll probably just float a wire to implement this signal path.

Sound right?

Thanks for any thoughts, and (more importantly) thanks for making the venerated TMS9981 graphics readily accessible to geeks like me.

@jblang
Copy link
Owner

jblang commented Jan 16, 2021

Yes, it should work with only the single row header if you don't need NMI. ColecoVision software requires the use of NMI, but if you don't care about that, you don't need it.

The INT line can be shared as long as you have REV4 of the board or later. REV4 has a diode to convert the INT line to an open drain output that can be wire-ORed with other open drain interrupt sources. That solves the hardware issue, but software in this case has to be programmed to check the registers of every device that might generate an interrupt to determine which one it has to service. Also, it is only compatible with the Z80's interrupt mode 1.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants