Wiki Home >> SIO-Command-$DC-Open-App-Key

SIO-Command-$DC-Open-App-Key


This is a command for Device $70 - The FujiNet Device itself (see SIO-Commands-for-Device-ID-$70).

Open App Key ($DC)

Description

This command is required prior to performing a Write App Key or Read App Key command, as it sets the details needed for the key.

A six-byte buffer is sent from the Atari to FujiNet with the following information:

SizeValueNotes
2 bytescreator IDsee below
1 byteapp IDCreator-specified value (0-255)
1 bytekey IDCreator-specified value (0-255)
1 byteopen mode0 = read, 1 = write
1 bytereserved0 - currently unused

App keys are stored as files in the /FujiNet directory on the SD card. Note that only SD storage is currently supported for app key storage, and app key reads/writes will fail if no SD card is installed. The file name is constructed using the hexadecimal values for creator, app, and key. e.g. /FujiNet/B0C1010A.key

There's currently no need to close an app key, as it is immediately closed after an App Key Read or Write operation. The close function may be used in the future.

Creator IDs

This is an unsigned 16-bit value, which should allow for more than enough creators. Values from 0-255 (0x00-0xFF) are reserved for internal use by FujiNet - please don't use any value in this range.

Although there's currently no official registry for FujiNet Creator ID's, we will document them here as we're informed they're in use.

Known Creator IDs and AppIDs

Creator IDCreatorAppIDApp
0x0001FujiNet0x01Lobby Client
0x0001FujiNet0x02FujiNet Config
0x0909@tschak9090x01Reversi
0x2222@shawnjefferson0x01Z-Machine Client
0x3022@mozzwald
0x4E42@nwah
0xB0C1@bocianu0x01Weather
0xB177@billkendrick0x01APOD
0xB177@billkendrick0x02ISS Tracker
0xB177@billkendrick0x03Firefighter
0xBEEF@frachel (Schadret)
0xD00D@Brad0x01YAIL (Yet Another Image Loader)
0xDE17@delysio
0xE41C@ericcarrgh
0xFE0C@fe(nr)oc(k)0x01config-ng
0xFEED@TechCowboy
  • Note: Creator ID range 0x0000-0x00FF is Reserved for FujiNet use

Lobby Client App Key IDs

While the Lobby Client owns 0x0001:0x01, each participating Game Client may reserve a Key ID under that space. When a server is chosen in the Lobby, it will write out the server endpoint to that app key, which the Game Client may read to know where to connect.

Key ID 0 is reserved for the player's name, and is meant to be used across all game clients.

Creator IDCreatorAppIDKey (appkey)Registered Use
0x0001FujiNet0x010x0Player Name (shared)
0x0001FujiNet0x010x015 Card Stud / Poker
0x0001FujiNet0x010x02Reversi
0x0001FujiNet0x010x03Fujitzee

Parameters

DCBValue
DDEVIC$70
DUNIT$01
DCOMND$DC
DSTATS$80
DBUFPointer 6-byte buffer with structure specified above
DTIMLO15
DBYT6
DAUXNot used

Examples

See appkey-sample in the fujinet-apps repository.

See Also


Wiki content is mirrored from the FujiNet Github Wiki