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

Super Real Mahjong VS

From The Cutting Room Floor
Jump to navigation Jump to search

Title Screen

Super Real Mahjong VS

Developer: Seta
Publisher: Seta
Platform: Arcade (Aleck64)
Released in JP: May 1999


DebugIcon.png This game has debugging material.
Carts.png This game has revisional differences.


Super Real Mahjong VS is the sort of strip mahjong title Nintendo has spent decades insisting it doesn't license on its platforms. Guess arcades don't count. Notable for networked play between machines--and how often that desyncs.

Hidden TEST Menu Items

To access two additional options in the TEST menu, set eeprom bytes 1 through 6 to the string "Linux" and correct the inverse checksum at 0x1E. An example, blank file is provided here.

Download.png Download Super Real Mahjong VS - TEST MENU
File: Super_Real_Mahjong_VS_-_TEST_MENU.7z (225 B) (info)
SRMVS.H ANM.png

Pressing the H key opens ANM TEST. This replays any of the (often NSFW) animations in the game.

A decreases the animation number, B increases it. C decreases the animation type, D increases it. Few animations actually include alternates. Press N to exit this menu.

Pressing K runs all animations in sequence. L plays only the current animation with sound, M without sound. During an animation, press P1 Start to return to this menu.

SRMVS.I ROMSUM.png

Pressing I or above opens ROM TEST. This runs a simple 32-bit sum of all words in the first 512Mbit of the ROM, comparing it to an embedded, expected value.

While running CHK is displayed. If good, the checksum is displayed as an eight-digit hexadecimal value. If not, N O is written.

Revisional Differences

Although somewhat minor, a later version 1.1 release updated graphics, network communication reliability, and even the hardware.

Updated Images

In the third panel of Natsuki Asahina's "defeat" animation, the image went from panning 140 pixels to 132. This prevents noticeable errors on the right edge of the image, though roughly two pixels still overflow in version 1.1. Being memory overflow, the peculiar pixels may vary from what is shown here.

Revision 1.0 Revision 1.1
SRMVS.v10.Natsuki-Asahina.panel-3.png SRMVS.v11.Natsuki-Asahina.panel-3.png

Within the Mizuki Tohno ending, a single bit difference in block 3's 9th compressed image data corrupted data from 0xB87 to 0xC7A in the original release, a span 230 bytes shorter.

Revision 1.0 Revision 1.1
SRMVS.v10.009.320x240.ci8.png SRMVS.v11.009.320x240.ci8.png

Modified Hardware

The cartridge board, an E99-0014 ROM PCB, was modified slightly to regulate current coming from the input panel. Traces were scratched out on the front face and jumped on the reverse.

Revision 1.0 Revision 1.1
Front SRMVS.v10.board detail front.png SRMVS.v11.board detail front.png
Back SRMVS.v10.board detail back.png SRMVS.v11.board detail back.png

Code Differences

Almost, if not all, code differences between revisions are made to networking. Desynchronization was a serious problem, effectively by design. A single line is shared or incoming and outgoing messages and the interrupt pin was not used. Receiving messages relies on periodic polling. The primary culprit for desynchronization is sending a message while one is incoming. There are few checks for the validity of messages.

Revision 1.1 added a series of validity tests for correct lengths and valid data ranges. Polling tests are more frequent, and some effort is made to check that a message isn't being transmitted (or in the process of being read) before sending another.

Unfortunately, to remain backward-compatible interrupts weren't implemented or dedicated channels wired. It's more likely to recover from what would desync a revision 1.0 game but overall doesn't solve the underlying problem.