Bandai 2001: Difference between revisions

From WSdev Wiki
Jump to navigationJump to search
m (if I say $C8 is byte-wide, only talk about 8 bits)
No edit summary
 
(7 intermediate revisions by 2 users not shown)
Line 1: Line 1:
In addition to the normal [[Cartridge]] banking interface, Bandai's 2001 adds three registers for interacting with a Microwire EEPROM:
The Bandai 2001 (LUXSOR) is one of the two mappers used in WonderSwan cartridges.
 
In addition to the normal [[Mapper]] banking interface, the 2001 adds three registers for interacting with a Microwire [[EEPROM]] which may optionally be present on the cartridge board:


{| class="wikitable"
{| class="wikitable"
Line 9: Line 11:
! Notes
! Notes
|-
|-
! rowspan="4" | External EEPROM
! rowspan="5" | External EEPROM
! $C4
! rowspan="2" | $C4
| External EEPROM Data
| rowspan="2" | [[EEPROM#Cartridge EEPROM Data|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
| [[EEPROM#Cartridge 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
|-
|-
! $C8
! rowspan=2|$C8
| External EEPROM Command
| [[EEPROM#Cartridge EEPROM Control|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)
|-
|-
! $C8
| [[EEPROM#Cartridge EEPROM Status|External EEPROM Status]]
| External EEPROM Status
| style="text-align: right" | <tt style="white-space: nowrap">.... ..rd</tt>
| style="text-align: right" | <tt style="white-space: nowrap">.... ..rd</tt>
| R8
| R8
Line 36: Line 39:
|-
|-
|}
|}
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)
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.
If the A bit is set, the transaction immediately stops.
(Upload logic analyzer traces here)

Latest revision as of 18:44, 23 April 2025

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

In addition to the normal Mapper banking interface, the 2001 adds three registers for interacting with a Microwire EEPROM which may optionally be present on the cartridge board:

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)