Detecting the TUBE
From Retrosoftware
(Difference between revisions)
Revision as of 16:06, 25 July 2008
Detecting the TUBE
Not all software routines are compatible with the TUBE (e.g. the 6502 co-processor) in use so being able to check for this can be handy.
The code below will test for the TUBE and if detected notify the user and end the program. If the TUBE is not detected then the program will branch to the label 'routine' where your own code can go.
The Code
10 DIM mc% 100 20 osasci=&FFE3 30 osbyte=&FFF4 40 FOR opt%=0 TO 2 STEP 2 50 P%=mc% 60[ OPT opt% 70 LDA #&EA 80 LDX #&00 90 LDY #&FF 100 JSR osbyte 110 CPX #&00 120 BEQ routine 130 LDY #&00 140.loop LDA message,Y 150 JSR osasci 160 INY 170 CMP #&0D 180 BNE loop 190 RTS 200.message EQUS "TUBE detected!" 210 EQUB 13 220.routine \ rest of program here 230 RTS 240] 250 NEXT 260 CALL mc%