If you appreciate the work done within the wiki, please consider supporting The Cutting Room Floor on Patreon. Thanks for all your support!

Mama Mitte

From The Cutting Room Floor
Jump to navigation Jump to search

Title Screen

Mama Mitte

Developer: Tanita
Publisher: Tanita
Platform: Mama Mitte
Released in JP: November 3, 2002


DebugIcon.png This game has debugging material.


Debugging Context

Jump/Call Table

The main jump/call table exists at 4000:15F1 (offset: 0x415F1) and is called at 4000:0270.

Debug Mode

A debug mode routine exists at 4000:EDE0.

Flash Memory Test

A flash memory test routine exists at 4000:F210.

Cartridge Check

A cartridge check routine exists at 4000:5F98.

It is accessible during the intro using the correct keypress sequence.

PC Data Transfer

A PC transfer routine exists at 6000:DF42.

It is accessible during the intro using the correct keypress sequence.

Calibration

A calibration routine exists at 4000:AA3E.

It is accessible during the intro using the correct keypress sequence.

Factory Check

A factory check routine exists at 4000:C8EE. They're similar to the calibration routine checks.

It is accessible during the intro using the correct keypress sequence.

WAV (RIFF)

A WAV "parser" to DMA routine exists at 4000:11E0. It's used to play the intro vocal clip (offset: 0x90000).

Checksums and More

There are various checks and bounds within the ROM to ensure the cartridge is running on a Mama Mitte console; The first, occurs at 4000:0224 and checks whether the last word of the internal EEPROM (word offset: 0x3FF) is 0x1234, while the second, occurs at 5000:E820 and checks whether the Swan ID (size: WORD) located in internal EEPROM (word offset: 0x3D) is the same as the value in ROM at F800:0025 (offset: 0xF8025). A factory restore will read and store the Swan ID from internal EEPROM.

There are also countermeasures to verify the ROM hasn't been modified by the way of calculating checksums (8-bit sum) on sections of data throughout the ROM; The hardcoded Swan ID being in one of those sections. A validation routine exists at 4000:13B6 with five WORD sums stored at F800:0002 (offset: 0xF8002); The first pertaining to the section where the Swan ID exists and the remaining four are for the four user slots.

A user slot is allocated 0xEEC of NOR space.

User Data
Slot Offset
1 0xF8028
2 0xF8F14
3 0xF9E00
4 0xFACEC

A never written user slot is filled with 0xFF's, i.e. the NOR erased value.

MM-280 Debug Mode

Mama Mitte debug mode.png

Dated: 02/05/20

Tests the infrared functionality of the cartridge.

The routine offset 4000:EDE0 can be added to the end of call table at offset 0x41649 and called upon by setting 0x540 to the value 0x16.

Flash Memory Test

Mama Mitte memory test.png

Dated: 02/05/01

Tests the NOR flash functionality of the cartridge.

The routine offset 4000:F210 can be added to the end of call table at offset 0x41649 and called upon by setting 0x540 to the value 0x16.

Cartridge Check

Mama Mitte cartridge check.png

Dated: 02/07/22

PC Data Transfer

Mama Mitte pc data transfer.png

Calibration

Power On

Mama Mitte calibration power on.png

EEPROM Clear

Mama Mitte calibration eeprom clear.png

Impedance Adjustment

Mama Mitte calibration impedance adjust.png

Impedance Check

Mama Mitte impedance confirm.png

Error Adjustment

Mama Mitte calibration error adjust.png

Error Check

Mama Mitte calibration error check.png

MM-280 Specification Check

Mama Mitte mm280 spec check.png

Altitude Adjustment

Mama Mitte calibration altitude adjust.png

ID Settings

Mama Mitte calibration id setting.png

Adjustment Check

Mama Mitte calibration adjust check.png

Power Off

Mama Mitte calibration power off.png

Error Messages

Checksum Failure

Mama Mitte error data corrupted.png

Error message appears if the ROM fails checksum validations with an option to restore to factory defaults.

The display routine is located at 5000:E64D.

Swan ID Mismatch

Mama Mitte error exclusive.png

Error message appears if the Swan ID from internal EEPROM doesn't match the ROM value.

The conditional check and display routine is located at 5000:E807.

1234 Mismatch

Mama Mitte error exclusive 2.png

Error message appears if the last word of internal EEPROM doesn't match 0x1234. It's what you see when the cartridge is inserted in a non-mama Mitte SwanCrystal.

RTC Error

Mama Mitte error rtc.png

Error message appears if there is a clock malfunction.

The conditional check and display routine is located at 5000:E72D.

WAV (RIFF)

Located at offset Voice Transcription Translation
0xEC000
かかとを合わせて Put your heels together.
0xED9E0
お乗りください Please stand on the board.
0xEEE70
ママだけお乗りください Please stand on the board only mom.
0xF0DA4
スワンを持たずに、赤ちゃんと一緒にお乗りください Please stand on the board with baby without hold WonderSwan.