Skip to navigation

Elite on the BBC Micro and NES

Start and end: SetupAfterLoad

[NES version, Bank 0]

Name: SetupAfterLoad [Show more] Type: Subroutine Category: Start and end Summary: Configure the game following a commander file load
Context: See this subroutine in context in the source code References: This subroutine is called as follows: * SetupAfterLoad_b0 calls SetupAfterLoad

This routine is very similar to the BR1 routine.
.SetupAfterLoad JSR ping ; Set the target system coordinates (QQ9, QQ10) to the ; current system coordinates (QQ0, QQ1) we just loaded JSR TT111 ; Select the system closest to galactic coordinates ; (QQ9, QQ10) JSR jmp ; Set the current system to the selected system LDX #5 ; We now want to copy the seeds for the selected system ; in QQ15 into QQ2, where we store the seeds for the ; current system, so set up a counter in X for copying ; 6 bytes (for three 16-bit seeds) .stal1 LDA QQ15,X ; Copy the X-th byte in QQ15 to the X-th byte in QQ2 STA QQ2,X DEX ; Decrement the counter BPL stal1 ; Loop back to stal1 if we still have more bytes to copy INX ; Set X = 0 (as we ended the above loop with X = $FF) STX EV ; Set EV, the extra vessels spawning counter, to 0, as ; we are entering a new system with no extra vessels ; spawned LDA QQ3 ; Set the current system's economy in QQ28 to the STA QQ28 ; selected system's economy from QQ3 LDA QQ5 ; Set the current system's tech level in tek to the STA tek ; selected system's economy from QQ5 LDA QQ4 ; Set the current system's government in gov to the STA gov ; selected system's government from QQ4 RTS ; Return from the subroutine