system_interface
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
system_interface [2025/07/03 16:11] – reggie | system_interface [2025/07/25 17:52] (current) – reggie | ||
---|---|---|---|
Line 5: | Line 5: | ||
const SIbaseAddress=$ff80 | const SIbaseAddress=$ff80 | ||
const SIrefreshOff=0, | const SIrefreshOff=0, | ||
+ | const SIArrowButtons=4; | ||
SIrefreshOff | SIrefreshOff | ||
Line 10: | Line 11: | ||
SIgraphicsMode | SIgraphicsMode | ||
SIkeyInterface | SIkeyInterface | ||
+ | SIArrowButtons | ||
| | ||
==== Refresh ==== | ==== Refresh ==== | ||
Line 45: | Line 47: | ||
=== Graphics Screen Layout === | === Graphics Screen Layout === | ||
- | In all modes the graphics RAM beings at $0600 and is 6K bytes long. In 2 colour mode it is 256 pixels wide by 192 pixels high. It is conventional to map the display with the top-left at (0,0) and the bottom right at (255,191) using the same virtual coordinates whatever the colour mode. Therefore in 4-colour mode pixels are 2*1 units in size, and in 15-colour mode 2*2 units. | + | In all modes the graphics RAM beings at $0600 and is 6K bytes long. In 2 colour mode it is 256 pixels wide by 192 pixels high. It is conventional to map the display with the top-left at (0,0) and the bottom right at (255,191) using the same virtual coordinates whatever the colour mode. Therefore in 4-colour mode pixels are 2*1 units in size, and in 16-colour mode 2*2 units. |
const grxBase=$0600, | const grxBase=$0600, | ||
Line 71: | Line 73: | ||
cmpa # | cmpa # | ||
rts | rts | ||
+ | | ||
+ | A game controller is emulated using the keyboard. The arrow keys are for movement, plus Space and Enter can be used for ' | ||
+ | const ArrowLeft=$01, | ||
+ | const BtnFire=$10, | ||
+ | readControls: | ||
+ | lda SIBaseAddress+SIArrowButtons | ||
+ | bita #BtnFire | ||
+ | bne fireWeapon | ||
system_interface.1751559070.txt.gz · Last modified: 2025/07/03 16:11 by reggie