.S% RTI \ The S% workspace lives at &0D00, which is the NMI \ workspace. We claimed the NMI workspace for our own \ use as part of the loading process, and the RTI makes \ sure we return from any spurious NMIs that still call \ this location \ \ [Show more]Name: S% (Part 1 of 2) [Show more] Type: Workspace Address: &0D00 to &0D0F Category: Workspaces Summary: Vector addresses, compass shape and configuration settingsContext: See this workspace in context in the source code References: This workspace is used as follows: * DKS4 uses S% * IRQ1 uses S% * KEY1 uses S%
Contains addresses that are used by the loader to set up vectors, the current compass shape, and the game's configuration settings.\ \ This variable is used by the following: \ \ * DKS4 \ * IRQ1 \ * KEY1 \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above.KEYB EQUB 0 \ This flag indicates whether we are currently reading \ from the keyboard using OSRDCH or OSWORD, so the \ keyboard interrupt handler at KEY1 knows whether to \ pass key presses on to the OS \ \ * 0 = we are not reading from the keyboard with an \ OS command \ \ * &FF = we are currently reading from the keyboard \ with an OS command \ \ [Show more]\ \ This variable is used by the following: \ \ * GTNME \ * IRQ1 \ * KEY1 \ * Main game loop (Part 5 of 6) \ * QUS1 \ * TT217 \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned aboveEQUW 0 \ Gets set to the original value of IRQ1V by \ elite-loader.asm EQUW 0 \ Gets set to the original value of KEYV by \ elite-loader.asm EQUW 0 \ This flag is flipped between 0 and &FF every time the \ interrupt routine at IRQ1 is called, but it is never \ read anywhere, so presumably it isn't actually used EQUW TT170 \ The entry point for the main game; once the main code \ has been loaded, decrypted and moved to the right \ place by elite-loader.asm, the game is started by a \ JMP (S%+8) instruction, which jumps to the main entry \ point at TT170 via this location EQUW TT26 \ WRCHV is set to point here by elite-loader.asm EQUW IRQ1 \ IRQ1V is set to point here by elite-loader.asm EQUW BR1 \ BRKV is set to point here by elite-loader.asm
[X]
Subroutine BR1 (Part 1 of 2) (category: Start and end)
Show the "Load New Commander (Y/N)?" screen and start the game
[X]
Subroutine IRQ1 (category: Utility routines)
The main interrupt handler (IRQ1V points here)
[X]
Subroutine TT170 (category: Start and end)
Main entry point for the Elite game code
[X]
Subroutine TT26 (category: Text)
Print a character at the text cursor by poking into screen memory