Most up to date Mega Drive cart pinout?

For hardware talk only (please avoid ROM dumper stuff)
Post Reply
MrD
Very interested
Posts: 70
Joined: Sun Jan 26, 2014 4:29 pm

Most up to date Mega Drive cart pinout?

Post by MrD » Tue Dec 31, 2019 11:33 am

I'm troubleshooting my own cart design (thread), and one of the issues I'm having is that I don't have a good source for the Mega Drive cart pinout.

There's lots of resources online, but they all seem to use different names for the same pins (is B16 named '/CAS0', '/RAS0', '/OE', '/C_OE', '/ROMO', '/REF'?), and some of them are incomplete (pins marked unknown) or contradictory at first glance (a pin marked as an input on one might be marked as an output on the other - possibly a misunderstanding, or the sources were written from the point of view of the slot being an 'input' to the MD by one author, and an 'output' from the cartridge by another author). Some signals have non-intuitive conditions applied to them, like /AS not being lowered during DMA, so it's all bit confusing. My WIP cartridge attempts to combine (B17/C_OE or B18/AS or (B28/LWR nand B29/UWR)) to generate an internal /OE for my PROM, but since I didn't know about the /AS DMA behaviour, many of my tiles are coming out solid $FFFF.

So in 2020, where can I find the most up-to-date and complete version of the MD cart pinout? Which signals are asserted and when, and what levels (including what the audio pins would accept)? :D
Last edited by MrD on Wed Jan 01, 2020 5:06 pm, edited 1 time in total.

Sik
Very interested
Posts: 939
Joined: Thu Apr 10, 2008 3:03 pm
Contact:

Re: Most up to date Mega Drive cart pinout?

Post by Sik » Wed Jan 01, 2020 5:56 am

This is something I should have documented in Plutiedev long ago… eh. I'll try to get around that soon.

Leaving this here meanwhile (B side is the front of the cartridge):

Image

I was going to write a list of everything but I have doubts about some lines (I'm not the expert here) so I'll leave others to explain in detail. That said, I think the /AS signal comes straight from the 68000's /AS line (nearly all of the signals come directly from the 68000 bus). 68000 asserts /AS when it puts a valid address on the address lines (VA23-VA1). Also note that /UWR and /LWR are for write accesses, not reads (use /CAS0 as a read strobe and /CE_0 to tell if it's the cartridge range).

From what I remember, for a plain ROM (or equivalent) /CE_0 would be chip enable and /CAS0 would be output enable.

Also the reason input/output can be muddy is because some signals don't have a well defined direction. /MRES and /VRES are directly tied to their respective reset lines, so they get asserted to tell the cartridge when reset happens, but the cartridge can also pull them low to get the console to reset. Similar thing with /DTACK, it's there so the cartridge can assert it when the console won't (e.g. the 32X address range is like this), but you have to be aware that the cartridge won't be the only one outputting a signal there.

DISCLAIMER AGAIN: would be nice if somebody else chimed in to confirm to make sure I didn't make an idiot of myself yet again :​P
Sik is pronounced as "seek", not as "sick".

TmEE co.(TM)
Very interested
Posts: 2440
Joined: Tue Dec 05, 2006 1:37 pm
Location: Estonia, Rapla City
Contact:

Re: Most up to date Mega Drive cart pinout?

Post by TmEE co.(TM) » Thu Jan 02, 2020 8:46 am

Mida sa loed ? Nagunii aru ei saa ;)
http://www.tmeeco.eu
Files of all broken links and images of mine are found here : http://www.tmeeco.eu/FileDen

MrD
Very interested
Posts: 70
Joined: Sun Jan 26, 2014 4:29 pm

Re: Most up to date Mega Drive cart pinout?

Post by MrD » Fri Jan 03, 2020 11:00 am

Thank you both. :)

There are a few things that I'm still not sure of.

Are the cart port's B28 !LWr and B29 !UWr asserted for the whole address space?

Does B31 !Time being asserted by itself with no write indicate !OE from the !Time address region? (in other words TIME!CE = !TIME, TIME!OE = (!Time or (!LWr nand !UWr)) ? )

Sik
Very interested
Posts: 939
Joined: Thu Apr 10, 2008 3:03 pm
Contact:

Re: Most up to date Mega Drive cart pinout?

Post by Sik » Fri Jan 03, 2020 6:08 pm

MrD wrote:
Fri Jan 03, 2020 11:00 am
Are the cart port's B28 !LWr and B29 !UWr asserted for the whole address space?
As far as I know, yes. /UWR is for the upper byte, /LWR is for the lower byte (i.e. they're the write enables for each half of the word). For byte accesses only one is asserted, for word accesses both are asserted.
MrD wrote:
Fri Jan 03, 2020 11:00 am
Does B31 !Time being asserted by itself with no write indicate !OE from the !Time address region? (in other words TIME!CE = !TIME, TIME!OE = (!Time or (!LWr nand !UWr)) ? )
/TIME = chip enable
/CAS0 = output enable
/UWR & /LWR = write enable

So in other words:
  • /CE_0 + /CAS0 = read from $000000-$3FFFFF
  • /CE_0 + /UWR/LWR = write to $000000-$3FFFFF
  • /TIME + /CAS0 = read from $A13000-$A130FF
  • /TIME + /UWR/LWR = write to $A13000-$A130FF
Sik is pronounced as "seek", not as "sick".

MrD
Very interested
Posts: 70
Joined: Sun Jan 26, 2014 4:29 pm

Re: Most up to date Mega Drive cart pinout?

Post by MrD » Fri Jan 03, 2020 7:32 pm

Ah, thank you! That makes more sense. I was working off a document that said /CAS0 was active in $000000-$7FFFFF (but that range is /ASEL, if I remember right). (Also confusing me is that the Sonic 3 cart uses !TIME as the clock to a D-type register for bankswitching without combining it with an output enable or read strobe.)

Sik
Very interested
Posts: 939
Joined: Thu Apr 10, 2008 3:03 pm
Contact:

Re: Most up to date Mega Drive cart pinout?

Post by Sik » Fri Jan 03, 2020 9:26 pm

MrD wrote:
Fri Jan 03, 2020 7:32 pm
(Also confusing me is that the Sonic 3 cart uses !TIME as the clock to a D-type register for bankswitching without combining it with an output enable or read strobe.)
I don't think it ever bothers to read back the value (only write), makes sense that it won't allow reads from it. They were trying to keep costs down by simplifying the mapper, after all.
Sik is pronounced as "seek", not as "sick".

Post Reply