High Score storage for Legacy Games - FujiNetWIFI/fujinet-firmware GitHub Wiki
Atari 8-bit
FujiNet now has support to temporarily turn on READ/WRITE mode for specific sectors in disk-based games. This can be used, to store hi-scores for games that do not natively have support for FujiNet, and is of most use on public servers. This feature is available starting with the 2022-10-12 build, 0.5.7eb55adb
.
For the Atari 8-bit, it is implemented using three unused bytes in the ATR disk image file format's header:
offset from 0 | Description |
---|---|
+ 12 | Number of sectors to allow read/write (255 max) |
+ 13 and +14 | Starting sector number (1-65535) |
So for example, the game Jumpman.atr
can be made high-score enabled, with the following header:
96 02 80 16 80 00 00 00 00 00 00 00 02 BB 02 01
Where, there are two sectors, starting at 0x02bb (sector 699) which can be marked read-write to store scores.
As of the current implementation this means that:
- The game must reside in an ATR disk image.
- The game can only have one range of sectors marked read-write.
Examples You Can Try
As of October 2022, the apps.irata.online
TNFS server, under Atari 8-bit/Games/High Score Enabled/
, contains some example game ATR images.
Mount these games as Read-Only. The FujiNet will automatically 'do the right thing' and mount the disk as Read-Write automatically, for the time it takes to write the high scores back to the disk image.
Thomas Cherryhomes posted a video demonstrating this feature with "B.C.'s Quest for Tires" to YouTube: https://www.youtube.com/watch?v=eOVfPQiFx7c
A website has been created which extracts and displays the current, live high scores from the ATR disk images on web pages. Visit http://scores.irata.online/ to see the #FujiNet High Scores
Here's how to make a High Score writeable ATR example in BASIC