Genesis Programming/68K Memory map/
Standard
editStart 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
editThe following shows changes to the 68K Memory Map with a MegaCD/SegaCD attached:
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".