BS-X BIOS Functions

All those documented BIOS functions are based from the SRAM Map; In case of an updated version, I'll put it with the original.

Function names are based on nocash's doc:

1059A4 init_port_2199_registers

  SRAM_1059A4:

  JML $80C36D //init_port_2199_registers
  //----

  init_port_2199_registers:
  
  PHB 
  PHK 
  PLB
  LDA #$41
  S ...

BS-X SRAM Map

SRAM Map

BS-X uses a 32kb battery-backup SRAM. This is the BS-X SRAM Map. Everything is Little Endian, unless said otherwise. In the Memory Map, it's 10-17:5000-5FFF.

      Offset - Size (Bytes) - Description
  [Bank 0x10 - Dedicated to BS-X]
      $0000 - 0x02   - Always $4753 (String "SG")
      $0002 - 0x02   - Reversed Checksum  \ Checksum of Banks 0x10-0x12
      $0004 - 0x02  ...

Game Doctor

Bung Game Doctor SF3, SF6, SF7 Headers

Version 1.0 - Copyright 2003: The Dumper

The Game Doctor SF3/SF6/SF7 backup units for the SNES use a 512 byte header.

The format is as follows (all numbers are hexadecimal):

0000-000F

47 41 4D 45 20 44 4F 43 54 4F 52 20 53 46 20 33 "GAME DOCTOR SF 3"

This is the ID string for a Game Doctor SF header.

0010

SRA ...

Controllers

Controllers

The SNES has 2 controller ports on the front of the unit, and an "expansion port" on the bottom. Little is known about the expansion port.

A number of peripherals could be plugged into the controller ports:

  • Joypads
  • The Multitap: Also know as the MP5, into which up to 4 joypads may be plugged.
  • Mouse: SNES Mous with 2 buttons. ...

BS-X MMIO

The BS-X cartridge has a MMIO included in Memory 00-0f:5000. (Info taken from bsnes and sd2snes' verilog source)

They all do different things to the Memory, and is NECESSARY, to run games, and other stuff.

We will call them from r00 to r0f. Those have only one bit that can be set.

MCC Registers (ikari_01)

BS-X MCC registers
==================
There are 16 1-bit regis ...

SuperDisc Memory Map

Documentation based on byuu's findings.

Super Disc System Cartridge

$00-7D:8000-FFFF: BIOS ROM
$80-87:8000-FFFF: Expansion RAM (128KiB)
$90   :8000-9FFF: CMOS Backup RAM (8KiB)

...

Super Wild Card

Hardware Specification to SWC & SMC Programmer Only

  1. DRAM - 28 Mega Bits Maximum Available.
  2. SRAM - 256K Bits. (Battery Backup)
  3. ROM - 128K Bits. (Firmware)
  4. Floppy Drive Interface
  • Motorola MCS3201 Chip. (NEC 765a Compatible)
  • Compatible With IBM PC/at and XT Disk Drive System.
  • Supports 3.5" or 5.25" Floppy Disk Drive.
  • Db-25 Female Connector. (Non-Standar ...

Satellaview Download Data

Super Famicom Channel Map (Hardware Channel $0124)

Download Header

(Goes to $7E9A34)
$00-$01 : Unused.
$02 : Unknown (Copies to RAM $1411)
$03-$04 : 16-bit Big Endian Data Size (Copies to RAM $140F in Little Endian)

Channel Map Header

(Goes to $7E9BEC)
[Everything is checked for the Checksum]
$00-$01 : "SF" (0x4653) string.
$02  ...

BS-X Satellaview Header

The header will be at 0x7xxx (for LoROM) or 0xFxxx (for HiROM) for the downloaded content. There may be more than one in a single Memory Pack.

xFB0-xFB1 = Licensee / Maker Code
xFB2-xFB5 = Program Type
xFB6-xFBF = Reserved
xFC0-xFCF = Title
xFD0-xFD3 = Block Allocation Flags
xFD4-xFD5 = Limited Starts
xFD6      = Date - Month
xFD7      = Date - Day

...