メガドライブの検討 - カートリッジ編

検討するのがたのしいだけで、実際にはつくらないのであしからず。

http://www.ibiblio.org/pub/micro/games/sega/docs/hardware.txt

verilog もどきで表現してみる。

/C_OE

drives the cartridge ROM's output enable. It's taken low on
any 68000 read from locations $000000 to $0dfffff, but doesn't really
matter unless !C_CE is low.

if (rw == 0) && (address >= 0 && address[23:1] < 22'he0_0000)
	cce = 0;
else
	cce = 1;

/C_CE

C_CE is the cartridge ROM's chip enable, and is taken low when the
processor accesses memory locations $000000 to $3fffff.

if (address >=0 && address[23:1] < 22'h40_0000)
	coe = 0;
else
	coe = 1;

/LO_MEM

looks similar to !C_CE, but is taken low on accesses to
locations $000000 to $7fffff. I haven't tried tying anything to this
yet. Not used by the ROM.

if (address >=0 && address[23:1] < 22'h7f_0000)
	lomem = 0;
else
	lomem = 1;

ROM につながれてないので、ROM カートリッジ用途には不要?

CLK

CPU の clock 及び、 VDP の clock. ROM にはつながれていない。

/AS

68000 の /AS だが、ROM にはつながれていない。他の信号でデコードされているので不要。

/RESET

68000 の /RESET だが、ROM にはつながれていない(当たり前)。

/S_RESET, /H_RESET

ROM にはつながれていない。一部の flash memory に /RESET 端子があるからつなぐのもいいかもしれない。

/CART_IN

カートリッジ挿入検知らしい。

HS_CLOCK, VIDEO, VSync, HSync

メモリに関係ないので無視。

/LDSW, /UDSW

flash に重要な write 信号のことは詳細に書いてないのが常か...

LDSW = RW & LDS
UDSW = RW & UDS

RW & [LU]DS & AS じゃないの??