Difference between revisions of "Sega Mega Drive/Memory map"

From Sega Retro

m
(5 intermediate revisions by one other user not shown)
Line 1: Line 1:
{|
+
{|class="prettytable"
 
! Start address || End address || Description || 32X SH-2 address
 
! Start address || End address || Description || 32X SH-2 address
 
|-
 
|-
Line 27: Line 27:
 
| $880000
 
| $880000
 
| $8FFFFF
 
| $8FFFFF
| 32X cartridge ROM
+
| 32X cartridge ROM (first 512kB bank only)
 
|-style="background:lightyellow"
 
|-style="background:lightyellow"
 
| $900000
 
| $900000
 
| $9FFFFF
 
| $9FFFFF
| 32X cartridge bankswitched ROM
+
| 32X cartridge bankswitched ROM (any 512kB bank, controlled by 32X registers)
 
|-
 
|-
 
| $A00000
 
| $A00000
Line 125: Line 125:
 
|-
 
|-
 
| $A11202
 
| $A11202
| $A13FFF
+
| $A12FFF
 
| Reserved
 
| Reserved
 +
|-
 +
| $A13000
 +
| $A130FF
 +
| TIME registers; used to send signals to the cartridge
 +
|-
 +
|colspan=2| $A130F1
 +
| [[Sega Mega Drive/SRAM|SRAM access register]]
 +
|-
 +
|colspan=2| $A130F3
 +
| [[Sega Mega Drive/Bank switching|Bank register]] for address $80000-$FFFFF
 +
|-
 +
|colspan=2| $A130F5
 +
| Bank register for address $100000-$17FFFF
 +
|-
 +
|colspan=2| $A130F7
 +
| Bank register for address $180000-$1FFFFF
 +
|-
 +
|colspan=2| $A130F9
 +
| Bank register for address $200000-$27FFFF
 +
|-
 +
|colspan=2| $A130FB
 +
| Bank register for address $280000-$2FFFFF
 +
|-
 +
|colspan=2| $A130FD
 +
| Bank register for address $300000-$37FFFF
 +
|-
 +
|colspan=2| $A130FF
 +
| Bank register for address $380000-$3FFFFF
 
|-
 
|-
 
| $A14000
 
| $A14000
 
| $A14003
 
| $A14003
| [[TMSS|TMSS register]]
+
| [[TMSS]] "SEGA"
 +
|-
 +
|colspan="2"| $A14101
 +
| [[TMSS]]/cartridge register
 
|-
 
|-
| $A14004
+
| $A14102
 
| $BFFFFF
 
| $BFFFFF
 
| Reserved
 
| Reserved
Line 184: Line 215:
 
|}
 
|}
  
[[Category:Sega Mega Drive|Memory map]]
+
[[Category:Mega Drive technical information|Memory map]]
[[Category:Unofficial documentation]]
 

Revision as of 08:48, 3 October 2020

Start address End address Description 32X SH-2 address
$000000 $3FFFFF Cartridge ROM/RAM $2000000-$23FFFFF
$400000 $7FFFFF Reserved (used by the Mega-CD and 32X)
$800000 $9FFFFF Reserved (used by the 32X)
$840000 $85FFFF 32X frame buffer $4000000-$401FFFF
$860000 $87FFFF 32X frame buffer overwrite mode $4020000-$403FFFF
$880000 $8FFFFF 32X cartridge ROM (first 512kB bank only)
$900000 $9FFFFF 32X cartridge bankswitched ROM (any 512kB bank, controlled by 32X registers)
$A00000 $A0FFFF Z80 memory space
$A10000 $A10001 Version register
$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 $A12FFF Reserved
$A13000 $A130FF TIME registers; used to send signals to the cartridge
$A130F1 SRAM access register
$A130F3 Bank register for address $80000-$FFFFF
$A130F5 Bank register for address $100000-$17FFFF
$A130F7 Bank register for address $180000-$1FFFFF
$A130F9 Bank register for address $200000-$27FFFF
$A130FB Bank register for address $280000-$2FFFFF
$A130FD Bank register for address $300000-$37FFFF
$A130FF Bank register for address $380000-$3FFFFF
$A14000 $A14003 TMSS "SEGA"
$A14101 TMSS/cartridge register
$A14102 $BFFFFF Reserved
$C00000 $C00001 VDP data port
$C00002 $C00003 VDP data port (mirror)
$C00004 $C00005 VDP control port
$C00006 $C00007 VDP control port (mirror)
$C00008 $C00009 VDP H/V counter
$C0000A $C0000F VDP H/V counter (mirror)
$C00011 PSG output
$C00013 $C00017 PSG output (mirror)
$C0001C $C0001D Debug register
$C0001E $C0001F Debug register (mirror)
$C00020 $FEFFFF Reserved
$FF0000 $FFFFFF 68000 RAM