Último mensaje de la página anterior:A ver a ver.... que yo he mirado un poco y las cosas empiezan a encajarme.
RAM principal: 64 Kb.
RAM de Vídeo: 64 Kb.
RAM de Sonido: 8 Kb.
ROM: Los primeros modelos de Mega Drive no tienen una BIOS como tal, los siguientes modelos ya incluyen una ROM de arranque de 2Kb que muestra el texto "Produced by or under license from Sega Enterprises Ltd.".
Capacidad de los cartuchos:
Normalmente los juegos eran de entre 4 y 16 Mbits ( Hasta 2 MegaBytes ). 2048 KiloBytes
Algunos cartuchos tienen 24 Mbits ( 3 MegaBytes ) (Jurassic Park, Eternal Champions...). El Sonic 3D tiene32 Mbits ( 4 MegaBytes ) y el Super Street Fighter II ocupa 40 Mbits ( 5 MB ).
Si es así, no cabe otra que los datos de juego van comprimidos, evidentemente no estamos hablando de una ROM que tiene un filesystem, sino que se atacan directamente direcciones de memoria que ya forman parte del sistema.
http://www.gamefaqs.com/genesis/916377- ... /faqs/9755
The Cartridge ROM
As others on the net have observed, a standard Genesis
cartridge is nothing more than a small printed circuit board
with a ROM on it. There are some cartridges which have
battery-backed RAM for saving high scores, configurations,
etc., but I havent seen these, so I dont know about them.
If you know of a particular cartridge that has RAM, let me
know so I can go rent one and take it apart (shhhh!) to see
whats in it.
A cartridge contains a word-wide (16 bit) ROM with up to 2
Meg words (4 Mbytes). This is based on the signal !C_CE, which
is used as the cartridge ROMs chip enable on the cartridges
Ive looked at, and which is active at addresses $000000-$3fffff.
It may be possible to have more than 4 Mbyte cartridges; if
so, either they ignore the !C_CE line and do their own
address decoding, or theres a register somewhere in the
Genesis which changes the default address decoding scheme for
Note that cartridges are advertised as being "8 Meg"; as far
as I know, is 8 Meg _bits_, not bytes. 1 Mbyte is still
pretty impressive for a game machine.
SONIC uses a 40-pin 256Kx16 (512Kx8) ROM in word mode.
Ecco the Dolphin uses a 42-pin 512Kx16 (1024Kx8) ROM in word
mode. This one confused me because Id never seen a 42-pin
DIP before, so I thought it was 40 pins. No wonder the
signals didnt look right...
Putting together a little bit of information from a Sharp
data sheet for a 512 Kword ROM with a bit of conjecture based
on the Sonic and Ecco cartridges, this is what I can come up
with for pinouts:
(256 Kword) (512 Kword)
----u---- A18 1=| |=42 VCC?
A17 1=| |=40 A 8 A17 2=| |=41 A 8
A 7 2=| |=39 A 9 A 7 3=| |=40 A 9
A 6 3=| |=38 A10 A 6 4=| |=39 A10
A 5 4=| |=37 A11 A 5 5=| |=38 A11
A 4 5=| |=36 A12 A 4 6=| |=37 A12
A 3 6=| |=35 A13 A 3 7=| |=36 A13
A 2 7=| |=34 A14 A 2 8=| |=35 A14
A 1 8=| |=33 A15 A 1 9=| |=34 A15
A 0 9=| |=32 A16 A 0 10=| |=33 A16
!CE 10=| |=31 !BYTE !CE 11=| |=32 !BYTE
GND 11=| |=30 GND GND 12=| |=31 GND
!OE 12=| |=29 D15 !OE 13=| |=30 D15
D 0 13=| |=28 D 7 D 0 14=| |=29 D 7
D 8 14=| |=27 D14 D 8 15=| |=28 D14
D 1 15=| |=26 D 6 D 1 16=| |=27 D 6
D 9 16=| |=25 D13 D 9 17=| |=26 D13
D 2 17=| |=24 D 5 D 2 18=| |=25 D 5
D10 18=| |=23 D12 D10 19=| |=24 D12
D 3 19=| |=22 D 4 D 3 20=| |=23 D 4
D11 20=| |=21 VCC D11 21=| |=22 VCC
Note that the address line numbering is different than that
of the 68000; line A0 of the ROM is really connected to the
68000s A1. This is because of the way the 68000 handles
even/odd byte addressing using !UDS and !LDS.
The !BYTE line is held high. This puts the ROM chip into
"word" mode, where data is accessed 16 bits at a time.
The convenient correspondence between ROM and 68000 data and
address lines (ROM D0 = 68K D0, ROM D1 = 68K D1, etc..., and
ROM A0 = 68K A1, ROM A1 = 68K A2, etc...) may not exist in
all cartridge designs. This is sometimes difficult to
visualize, but keep in mind that the ROM doesnt care whether
its D0 is really D0, or if its A3 is really A3, etc. As long
as each data line is used as the same D## line for both
programming and reading, and each address line is used as the
same A## for both programming and reading, the ROM will
function properly and the 68000 will see the right
instructions. Think about it...
Why bring this up? If you remove the ROM from the cartridge
PCB and try to read it with a EPROM programmer, there may be
situations where you wont see valid 68000 instructions, or
things wont be in the right place... Assuming your
programmer isnt messed up, this would be because the address
and data lines on the ROM arent assigned the way youd
Why would someone make a cartridge like this? To make your
life difficult, if youre wanting to hack their ROMs, or to
make their life easy, by making the cartridge PCB easier to
The easiest way to avoid this potential problem is to build
an adapter from your programmers EPROM socket to an edge
card connector into which you plug the cartridge. This is a
bit safer, too, so you dont have to remove the ROM from the
cartridge (or even open it up).
The Memory Map
$000000 $3fffff Cartridge ROM, when enabled by cartridge
control register and !CART_IN.
$000000 $0007ff Internal OS ROM, when enabled by cartridge
control register and !CART_IN.
$ff0000 $ffffff 64Kbytes scratchpad RAM
Partially decoded; RAM actually appears repeated between
$e00000 through $ffffff.
$a14101 cartridge control register
bit 0 = 0: cartridge disabled, OS ROM enabled
bit 0 = 1: cartridge enabled, OS ROM disabled
$a00000 $a????? Unknown. Audio? Controller I/O?
$c00000 $c????? Video display controller registers
The OS puts the top of its stack at $ffff00, and defines a
"user stack pointer" at $000000 (building down through the
top of RAM memory).
The Z80 processor is used for sound and has 8Kbytes of RAM.
I dont know anything about how the Z80 does its work, as I