\ --- Mod: Code added for Elite-A: --------------------> .set_vectors SEI \ Disable interrupts while we update the vectors PHA \ Store A on the stack so we can retrieve it below LDA #LO(do_FILEV) \ Set the FILEV to point to our custom handler in STA FILEV \ do_FILEV LDA #HI(do_FILEV) STA FILEV+1 LDA #LO(do_FSCV) \ Set the FSCV to point to our custom handler in STA FSCV \ do_FSCV LDA #HI(do_FSCV) STA FSCV+1 LDA #LO(do_BYTEV) \ Set the BYTEV to point to our custom handler in STA BYTEV \ do_BYTEV LDA #HI(do_BYTEV) STA BYTEV+1 PLA \ Restore A from the stack, so the subroutine doesn't \ change its value CLI \ Enable interrupts again RTS \ Return from the subroutine \ --- End of added code ------------------------------->Name: set_vectors [Show more] Type: Subroutine Category: Loader Summary: Set the FILEV, FSCV and BYTEV vectors to point to our custom handlersContext: See this subroutine in context in the source code References: This subroutine is called as follows: * Elite loader (Part 1 of 3) calls set_vectors
[X]
Configuration variable BYTEV = &020A
The BYTEV vector that we intercept on the BBC Master
[X]
Configuration variable FILEV = &0212
The FILEV vector that we intercept on the BBC Master
[X]
Configuration variable FSCV = &021E
The FSCV vector that we intercept on the BBC Master
[X]
Subroutine do_BYTEV (category: Loader)
The custom handler for OSBYTE calls in the BBC Master version
[X]
Subroutine do_FILEV (category: Loader)
The custom handler for OSFILE calls in the BBC Master version
[X]
Subroutine do_FSCV (category: Loader)
The custom handler for filing system calls in the BBC Master version