Bandai 2001: Difference between revisions

From WSdev Wiki
Jump to navigationJump to search
(add SoC name)
No edit summary
 
Line 20: Line 20:
! $C6
! $C6
| External EEPROM Command
| External EEPROM Command
| style="text-align: right" | <tt style="white-space: nowrap">0001 CCaa aaaa aaaa</tt>
| style="text-align: right" | <tt style="white-space: nowrap">0001 CCaa aaaa aaaa</tt><br/>or <tt style="white-space: nowrap">0000 01CC aaaa aaaa</tt><br/> or <tt style="white-space: nowrap">0000 0001 CCaa aaaa</tt>
or <tt style="white-space: nowrap">0000 0001 CCaa aaaa</tt>
| RW16
| RW16
| Command and address
| Command and address
Line 27: Line 26:
! rowspan=2|$C8
! rowspan=2|$C8
| External EEPROM Command
| External EEPROM Command
| style="text-align: right" | <tt style="white-space: nowrap">ACWR ....</tt>
| style="text-align: right" | <tt style="white-space: nowrap">ASWR ....</tt>
| W8
| W8
| Abort (A), Command (C), Write (W), Read (R)
| Abort (A), Short (S), Write (W), Read (R)
|-
|-
| External EEPROM Status
| External EEPROM Status
Line 38: Line 37:
|}
|}


The specific meaning of the "Command" register depends on the model of EEPROM on the PCB. Only three Microwire EEPROMs have been seen used (equivalent to 93C46, 93C76, and 93C86)
== EEPROM ==


On the 2001, the EEPROM "done" bit is buggy and doesn't have useful information. It's set when a Read completes, but is only cleared when a Command or Write is started. (To be useful it would need to also be cleared when a Read is started).
The 2001's EEPROM interface is similar to the internal EEPROM interface, as documented on [[EEPROM#I/O_ports|the EEPROM page]]. Differences include:


If more than ACWR bit is set at the same time, the 2001 ignores it.
* Instead of the internal EEPROM interface's P(rotect) bit, the A(bort) bit is provided. When the A bit is set, the transaction immediately stops.
 
* The EEPROM "done" bit is buggy and doesn't have useful information. It's set when a Read completes, but is only cleared when a Command or Write is started. (To be useful it would need to also be cleared when a Read is started).
The CWR bits specify how many data bits are sent/received. C: No data bits. W: Send Data register after command register. R: Receive data register after sending command register.
 
If the A bit is set, the transaction immediately stops.


(Upload logic analyzer traces here)
(Upload logic analyzer traces here)

Latest revision as of 14:08, 28 May 2024

The Bandai 2001 (LUXSOR) is one of the two mappers used in WonderSwan cartridges.

In addition to the normal Mapper banking interface, Bandai's 2001 adds three registers for interacting with a Microwire EEPROM:

Category Port Description Bits Type Notes
External EEPROM $C4 External EEPROM Data dddd dddd dddd dddd RW16 Data (d)
$C6 External EEPROM Command 0001 CCaa aaaa aaaa
or 0000 01CC aaaa aaaa
or 0000 0001 CCaa aaaa
RW16 Command and address
$C8 External EEPROM Command ASWR .... W8 Abort (A), Short (S), Write (W), Read (R)
External EEPROM Status .... ..rd R8 Ready (r), Done (d)

EEPROM

The 2001's EEPROM interface is similar to the internal EEPROM interface, as documented on the EEPROM page. Differences include:

  • Instead of the internal EEPROM interface's P(rotect) bit, the A(bort) bit is provided. When the A bit is set, the transaction immediately stops.
  • The EEPROM "done" bit is buggy and doesn't have useful information. It's set when a Read completes, but is only cleared when a Command or Write is started. (To be useful it would need to also be cleared when a Read is started).

(Upload logic analyzer traces here)