De momento:
ROM:
5003AJG394 PA20C ????????
RAM:
GM76C88 8192 x 8 Bit SRAM
ICs:
74LS273 b1 8-Bit Register
74LS08 Quad 2-Input AND
74LS32N Quad 2-Input OR
74LS153 Dual 4 To 1 Data Selectors
74LS161A 4-Bit Binary Counters
???????? ????????
???????? ????????
He encontrado este post:
http://forums.nesdev.com/viewtopic.php?t=7120Que hace referencia a un cartucho casi igual y al mapper 221 (
http://jpx72.detailne.sk/modd_files/fc/front.jpg).
Por la foto diria que es identico practicamente.
La rom de ese tiene este datasheet:
http://www.futurlec.com/Memory/27C080_Datasheet.shtmlProbablemente son "pin compatible" (Esa es de 8Mbits, la del de 400 en 1 quiza no).
En cuanto al mapper, segun la programacion del fceumm y los numeros de placa a la derecha seria este:
https://raw.githubusercontent.com/asfdf ... 625092.cppAsi a bote pronto, deberia estar ya dumpeado porque aparece como "700 in 1" y "400 in 1" (el de este foro y el otro).
La verdad es que tiene un bankswitching complicadillo xD
En las escrituras de 0xC000 a 0xFFFF se guarda los 3 ultimos bits en una variable bank (74LS273 b1 ?)
En las que vayan de 0x8000 a 0xBFFF, si es en 0x80F8, pone como PRG lo que contenga un contador que se incrementa en cada reset (74LS161A ?).
Si no es esa 0x80F8, el bit 0 (de la direccion) negado se mete como mirroring.
-Si el bit 1 esta desactivado:
--Pone como banco tanto en C000 como en 8000 (bits (6-2) | bank (2-0) )
--Esto probablemente sea para juegos que solo utilizan 16KB de ROM.
-Si el bit 1 esta activado:
--Si el bit 9 esta activado:
---En 8000 pone (bits (6-2) | bank (2-0) )
---En C000 pone (bits (6-2) | 111b )
---(esto podria ser para emular un UNROM quiza...)
--Si el bit 9 esta desactivado:
---Ignora el ultimo bit del bank y en 8000 pone (bits (6-2) | bank (2-1) )
---Ignora el ultimo bit del bank y en C000 pone (bits (6-2) | bank (2-1) | 1 )
---Esto sirve para cualquier juego con 32KB.
Lo que haga el mapper probablemente sea:
-Si el juego utiliza chrrom:
--Cargar en el banco 8000 los graficos y pasarlos a la CHRRAM
--Cargar la configuracion en el registro 8XXX (mirroring, bancos superiores, seguramente tenga una tabla de valores)
--Cargar 0 en CXXX
--Ejecutar el juego
-Sino:
--Cargar la configuracion en el registro 8XXX (mirroring, bancos superiores, seguramente tenga una tabla de valores)
--Cargar 0 en CXXX
--Ejecutar el juego.
--(El juego ya cargara sus propios graficos como quiera)