Lynx Game Sharing System
The Lynx Game Sharing System (LGSS) is a way to share a game from one Lynx console to another via ComLynx. It requires a single master copy of the game and special reusable cartridges that can receive the game over the serial connection. It is especially useful for multi-player games. At the moment there are two games that support LGSS: Othello and Spacebattle, both created by Harry Dodgson.
Segments
The LGSS defines three types of segments of data that is being sent from master to client:
| Segment | Title | Data | Description |
|---|---|---|---|
| 0 | Title screen | $11 $07 320 |
Includes the palette for the title screen and a single sprite definition in the form of SCB data. The run address of the segment is not relevant in this case, and is usually kept the same as the load address. |
| 2 | Copyright information | Includes the name of the game, year and author (or publisher). The strings for game and author are 20 characters long and should be terminated by a #$00 (zero) value. Note that the length is not checked, so the sender should make sure that it is not too long, to prevent overwriting other memory. |
|
| 3 | Game data | Contains the actual game logic and data. The data is loaded at the load address and after loading has completed a jump to the run address is made. |
As you can see, segment type 1 does not exist. Also, the current games Othello and Spacebattle do not use segment 2 to send the game name and copyright information.
Internals of LGSS client
The original client cartridge for LGSS has the logic to receive incoming frames.
- Uses a single buffer for double buffering display, reducing the needed video memory by half.
- Never clears the screen after the initial draw. This also means that any drawing afterwards will only add to the screen, overwriting anything that is currently visible. Since the only item drawn is the progress bar, it works in this particular setup.
The LGSS client cartridge uses the unaltered header of Gauntlet The Third Encounter as a way to circumvent the encryption required for a real header.