Genesis Programming/68K Memory map/

From Wikibooks, open books for an open world
Jump to navigation Jump to search

Standard[edit | edit source]

Start address End address Description
$000000 $3FFFFF Cartridge ROM/RAM
$400000 $7FFFFF Reserved (used by the Sega CD and 32x)
$800000 $9FFFFF Reserved (used by the 32x?)
$A00000 $A0FFFF Z80 addressing space
$A10000 $A10001 Version register (read-only word-long)
$A10002 $A10003 Controller 1 data
$A10004 $A10005 Controller 2 data
$A10006 $A10007 Expansion port data
$A10008 $A10009 Controller 1 control
$A1000A $A1000B Controller 2 control
$A1000C $A1000D Expansion port control
$A1000E $A1000F Controller 1 serial transmit
$A10010 $A10011 Controller 1 serial receive
$A10012 $A10013 Controller 1 serial control
$A10014 $A10015 Controller 2 serial transmit
$A10016 $A10017 Controller 2 serial receive
$A10018 $A10019 Controller 2 serial control
$A1001A $A1001B Expansion port serial transmit
$A1001C $A1001D Expansion port serial receive
$A1001E $A1001F Expansion port serial control
$A10020 $A10FFF Reserved
$A11000 Memory mode register
$A11002 $A110FF Reserved
$A11100 $A11101 Z80 bus request
$A11102 $A111FF Reserved
$A11200 $A11201 Z80 reset
$A11202 $A13FFF Reserved
$A14000 $A14003 TMSS register
$A14004 $BFFFFF Reserved
$C00000 $C00001 VDP data
$C00002 $C00003 VDP data (mirror)
$C00004 $C00005 VDP control
$C00006 $C00007 VDP control (mirror)
$C00008 $C00009 VDP HV counter
$C0000A $C00010 Reserved
$C00011 PSG output
$C00012 $FEFFFF Reserved
$FF0000 $FFFFFF 68000 RAM

MegaCD Changes[edit | edit source]

The following shows changes to the 68K Memory Map with a MegaCD/SegaCD attached:

Sega CD Model 2 attached to a Model 2 Sega Genesis.
Start address End address Description
$000000 $01FFFF MegaCD BIOS ROM
$020000 $03FFFF MegaCD "Program RAM" Bank Access
$200000 $23FFFF MegaCD "WORD RAM"
$A12000 $A120XX MegaCD "Gate Array"
$FFFD00 $FFFDFF MegaCD Interrupt/Exception vectors

MegaCD BIOS ROM is always only visible to the main 68K, and decompresses a separate BIOS for the MegaCD "SubCPU" into "Program RAM". "WORD RAM" access is restricted to one 68K at a time, which is determined by a setting in the "Gate Array". "Program RAM" is $80000 bytes in size, but is only accessible by the Genesis 68K in banks of size $20000, and only when the MegaCD 68K is in "BUSREQ" (stopped). The MegaCD 68K may be stopped/reset, and the available "Program RAM" bank may be set by use of the "Gate Array".