Camerica released the Codemasters game in the US, and like most UK games, these things are
absolutely IMPOSSIBLE to win, with a few exceptions. I still don't get why UK games are so frigging
HARD. I challenge anyone to beat the Linus game on Quattro Adventure without cheating. As far
as I know, it cannot be done. Hell, it's insanely tough to do on the emulator WHEN you cheat.
Anyways, Codemasters did some pretty great programming with the hardware given. All of their
carts (including the Aladdin Deck Enhancer cough) used the same technology- 8K of CHR RAM,
a very simple mapper, and a PRG ROM along with their cute little lockout defeat circuit. See
the lockout page for info on how it works.
Unlike the other pagesets on here, I will describe the mapper chips on this page, because
the boards can contain one of several different mappers depending on the game.
About that infamous "Position A" and "Position B" switch on the back of the carts:
It is used to turn the lockout defeater circuit on or off. If the switch is in the "A"
position, the defeater is not enabled. If it is in the "B" position, it is. The reasoning
for the switch is because toploaders will do Very Bad things when the lockout defeater is
turned on! It will cause ALOT of power to be drawn from the console, and if left on for
more than a couple seconds it will destroy the circuit on the cart!
The Boards and mappers:
BIC-43 - Max. 256K PRG, 8K CHR RAM.
BIC-48 - Max. 256K PRG, 8K CHR RAM.
BIC-62 - Max. 128K PRG, 8K CHR RAM.
BIC-64 - Max. 128K PRG, 8K CHR RAM.
Aladdin Deck Enhacer - 8K CHR RAM.
I have a complete Camerica collection now.
There are three mappers known on the Camerica carts: BF9093, BF9096, and BF9097.
BF9093, BF9096:
.-v-.
+5V -| |- PRG A14 (n)
PRG /CE (n) -| |- PRG A13 (s)
PRG /CE (r) -| |- PRG A15 (r)
PRG A14 (r) -| |- PRG A16 (r)
M2 (n) -| |- GND
PRG A0 (s) -| |- PRG R/W (n)
PRG D0 (s) -| |- PRG A17 (r)
PRG D1 (s) -| |- lockout defeat
PRG D2 (s) -| |- PRG D4 (s)
GND -| |- PRG D3 (s)
`---'
BF9097: (only found on Firehawk)
.-v-.
+5V -| |- PRG A14 (n)
PRG /CE (n) -| |- PRG A13 (s)
PRG /CE (r) -| |- PRG A15 (r)
PRG A14 (r) -| |- CIRAM A10 (n)
M2 (n) -| |- PRG A16 (r)
PRG A0 (s) -| |- GND
PRG D0 (s) -| |- PRG R/W (n)
PRG D1 (s) -| |- lockout defeat
PRG D2 (s) -| |- PRG D4 (s)
GND -| |- PRG D3 (s)
`---'
(r) - this pin connects to the ROM chips only
(n) - this pin connects to the NES connector only
(s) - this pin is shared with the NES connector and ROM chips
Common to all three chips:
--------------------------
Writing anywhere to C000-FFFFh will switch in a 16K PRG ROM bank at 8000-BFFFh. C000-FFFFh
is hard wired to the last ROM bank.
Writing to E000-FFFFh will operate the lockout defeat pin. Only A0 is used in this case.
When A0 is high, the output of the pin is low and vice-versa.
BF9093 specialties:
-------------------
Mirroring is hardwired on the cart. This chip is used on all carts but the Quattro series,
Aladdin, and Firehawk.
BF9096 specialties:
-------------------
This mapper only allows 64K to be controlled through the C000-FFFFh register.
Writing to 8000-BFFFh will select a 64K bank. Bits 4 and 5 select which 64K bank will be
used.
This chip is only used on the Quattro carts. Mirroring is hardwired.
----
BF9097 specialties:
-------------------
The only known BF9097 cart (Firehawk) uses 1 screen mirroring. Writing anywhere in the
8000-9FFFh area will select a nametable. Bit 4 of the byte written selects it.
Notes: This mapper seems to require cycle timed code executing out of the ROM to trigger
the mirroring change. The code is VERY fucked up in the ROM, writing to a zeropage location
twice with a NOP in the middle, then to the register... I don't know what to make of THAT.
Emulating it the way shown, however, results in a fully functioning game so it doesn't
really matter a whole lot.
|