Skip to navigation

Elite on the BBC Micro and NES

Missions: PAS1

[BBC Master version]

Name: PAS1 [Show more] Type: Subroutine Category: Missions Summary: Display a rotating ship at space coordinates (0, 120, 256) and scan the keyboard
Context: See this subroutine in context in the source code Variations: See code variations for this subroutine in the different versions References: This subroutine is called as follows: * BRIEF calls PAS1 * PAUSE calls PAS1

Returns: X If a key is being pressed, X contains the ASCII code of the key being pressed, otherwise it contains 0 A Contains the same as X
.PAS1 LDA #120 \ Set y_lo = 120 STA INWK+3 LDA #0 \ Set x_lo = 0 STA INWK STA INWK+6 \ Set z_lo = 0 LDA #2 \ Set z_hi = 1, so (z_hi z_lo) = 256 STA INWK+7 JSR LL9 \ Draw the ship on screen JSR MVEIT \ Call MVEIT to move and rotate the ship in space JMP RDKEY \ Scan the keyboard for a key press and return the \ ASCII code of the key pressed in X (or 0 for no key \ press), returning from the subroutine using a tail \ call