Bandai 2001: Difference between revisions

From WSdev Wiki
Jump to navigationJump to search
m (better target)
m (forgot this)
 
(4 intermediate revisions by one other user not shown)
Line 1: Line 1:
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:
In addition to the normal [[Mapper]] banking interface, Bandai's 2001 adds three registers for interacting with a Microwire EEPROM:


Line 9: Line 11:
! Notes
! Notes
|-
|-
! rowspan="4" | External EEPROM
! rowspan="5" | External EEPROM
! $C4
! rowspan="2" | $C4
| External EEPROM Data
| rowspan="2" | External EEPROM Data
| style="text-align: right" | <tt style="white-space: nowrap">dddd dddd dddd dddd</tt>
| rowspan="2" style="text-align: right" | <tt style="white-space: nowrap">dddd dddd dddd dddd</tt>
| RW16
| R16
| Data (d)
| Data read (d)
|-
| W16
| Data to write (d)
|-
|-
! $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
|-
|-
! rowspan=2|$C8
! rowspan=2|$C8
| External EEPROM Command
| External EEPROM Control
| 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 36: Line 40:
|}
|}


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).
 
If more than ACWR bit is set at the same time, the 2001 ignores it.


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.
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 the A bit is set, the transaction immediately stops.
* 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)
(Upload logic analyzer traces here)

Latest revision as of 08:24, 16 March 2025

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 R16 Data read (d)
W16 Data to write (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 Control 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)