Difference between revisions of "MBC1"
m (→Pinout: silly me) |
|||
Line 1: | Line 1: | ||
__TOC__ | __TOC__ | ||
− | Nintendo's | + | Nintendo's MBC2 can be used to address up to 2 Mbit of ROM and has 512×4 bit of internal RAM. |
= Pinout = | = Pinout = | ||
− | [[Image: | + | [[Image:MBC2 Pinout.png|center|x300px]] |
{| class="wikitable pintable" style="margin:1em auto; width: 66%;" | {| class="wikitable pintable" style="margin:1em auto; width: 66%;" | ||
Line 13: | Line 13: | ||
!style="width: 60%;" | Comment | !style="width: 60%;" | Comment | ||
|- | |- | ||
− | | | + | |28 |
|VCC | |VCC | ||
|PWR | |PWR | ||
− | |5V supply | + | |I/O 5V supply |
|- | |- | ||
− | | | + | |14 |
|GND | |GND | ||
|PWR | |PWR | ||
− | |Ground supply | + | |I/O Ground supply |
|- | |- | ||
− | | | + | |21 |
− | | | + | |VCC_RAM |
− | |I | + | |PWR |
+ | |RAM supply | ||
+ | |- | ||
+ | |7 | ||
+ | |GND_RAM | ||
+ | |PWR | ||
+ | |RAM Ground supply | ||
+ | |- | ||
+ | |12{{ndash}}9 | ||
+ | |D3{{ndash}}D0 | ||
+ | |I/O | ||
|Data Bus | |Data Bus | ||
|- | |- | ||
− | | | + | |1 |
|{{Overline|RD}} | |{{Overline|RD}} | ||
|I | |I | ||
|Low-Active Read Enable | |Low-Active Read Enable | ||
|- | |- | ||
− | | | + | |27 |
|{{Overline|WR}} | |{{Overline|WR}} | ||
|I | |I | ||
|Low-Active Write Enable | |Low-Active Write Enable | ||
|- | |- | ||
− | | | + | |26 |
|{{Overline|CS}} | |{{Overline|CS}} | ||
|I | |I | ||
|Low-Active Chip Select | |Low-Active Chip Select | ||
|- | |- | ||
− | | | + | |15 |
|{{Overline|RESET}} | |{{Overline|RESET}} | ||
|I | |I | ||
|Low-Active Asynchronous Reset | |Low-Active Asynchronous Reset | ||
|- | |- | ||
− | | | + | |20, 22, 23{{ndash}}25, 8, 6{{ndash}}2 |
− | |A15{{ndash}} | + | |A15{{ndash}}A14, A8{{ndash}}A0 |
|I | |I | ||
|Address Bus | |Address Bus | ||
|- | |- | ||
− | | | + | |16{{ndash}}19 |
− | | | + | |RA17{{ndash}}RA14 |
|O | |O | ||
|Upper ROM Address Lines | |Upper ROM Address Lines | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
|13 | |13 | ||
Line 79: | Line 74: | ||
|} | |} | ||
− | Footprint: SOP127P1200X225- | + | Footprint: SOP127P1200X225-28 |
+ | |||
+ | Remarks: All I/Os have diode protection against VCC/GND. Internal RAM is supplied by VCC as well as VCC_RAM, probably depending on the VCC voltage. | ||
{{clear|both}} | {{clear|both}} | ||
Line 88: | Line 85: | ||
Write-Accessible Registers: | Write-Accessible Registers: | ||
− | * | + | * <tt>0b00-- ---0 ---- ----</tt>: RAM Enable register |
− | * | + | * <tt>0b00-- ---1 ---- ----</tt>: ROM Bank register |
− | * | + | * <tt>0b10-- ---a aaaa aaaa</tt>: Internal RAM |
− | |||
== RAM Enable Register == | == RAM Enable Register == | ||
Line 107: | Line 103: | ||
<pre> | <pre> | ||
− | XX XX XX | + | XX XX XX XX D3 D2 D1 D0 0x00 @ reset |
− | + | \_________/ | |
\-------- ROM Bank | \-------- ROM Bank | ||
</pre> | </pre> | ||
− | ROM Bank selects which bank is mapped to 0x4000-0x7FFF. The written value is zero-adjusted before output on | + | ROM Bank selects which bank is mapped to 0x4000-0x7FFF. The written value is zero-adjusted before output on RA17{{ndash}}RA14. |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
= Behavior = | = Behavior = | ||
<source lang="vhdl"> | <source lang="vhdl"> | ||
− | + | TODO | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
</source> | </source> |
Revision as of 02:03, 23 June 2015
Nintendo's MBC2 can be used to address up to 2 Mbit of ROM and has 512×4 bit of internal RAM.
Pinout
Pin No. | Name | Type | Comment |
---|---|---|---|
28 | VCC | PWR | I/O 5V supply |
14 | GND | PWR | I/O Ground supply |
21 | VCC_RAM | PWR | RAM supply |
7 | GND_RAM | PWR | RAM Ground supply |
12Template:Ndash9 | D3Template:NdashD0 | I/O | Data Bus |
1 | RD | I | Low-Active Read Enable |
27 | WR | I | Low-Active Write Enable |
26 | CS | I | Low-Active Chip Select |
15 | RESET | I | Low-Active Asynchronous Reset |
20, 22, 23Template:Ndash25, 8, 6Template:Ndash2 | A15Template:NdashA14, A8Template:NdashA0 | I | Address Bus |
16Template:Ndash19 | RA17Template:NdashRA14 | O | Upper ROM Address Lines |
13 | ROM_CS | O | Low-Active ROM Chip Select |
Footprint: SOP127P1200X225-28
Remarks: All I/Os have diode protection against VCC/GND. Internal RAM is supplied by VCC as well as VCC_RAM, probably depending on the VCC voltage.
Registers
Write-Accessible Registers:
- 0b00-- ---0 ---- ----: RAM Enable register
- 0b00-- ---1 ---- ----: ROM Bank register
- 0b10-- ---a aaaa aaaa: Internal RAM
RAM Enable Register
XX XX XX XX D3 D2 D1 D0 0x00 @ reset \_________/ \-------- RAM Enable
A value of 0x0A enables SRAM access, all other values disable SRAM access.
ROM Bank Register
XX XX XX XX D3 D2 D1 D0 0x00 @ reset \_________/ \-------- ROM Bank
ROM Bank selects which bank is mapped to 0x4000-0x7FFF. The written value is zero-adjusted before output on RA17Template:NdashRA14.
Behavior
TODO