0 MODE0 10 REM Prints out A,X,Y for a vector 20 DIMalia$(27) 30 DIMtrap% 256 40 : 50 FORloop%=1TO27:READalia$(loop%):NEXT 60 REPEAT 70 INPUT"Trap which vector? "vector$ 80 vector=TRUE 90 IFLEFT$(vector$,1)="&" THENvector=EVAL(vector$) 100 IFLEFT$(vector$,1)<>"&" THENvector=FNlookup(FNucase(vector$)) 110 UNTIL(vector>=&200)AND(vector<&236) 120 : 130 INPUT"Assemble at "loc$ 140 loc%=EVAL(loc$) 150 : 160 FORX=4TO7STEP3 170 oswc=&FFEE 180 O%=trap%:P%=loc% 190 [OPTX 200 .repoint 210 SEI 220 LDXvector:STXoldvec+1 230 LDYvector+1:STYoldvec+2 240 LDX#print MOD256:STXvector 250 LDY#print DIV256:STYvector+1 260 CLI:RTS 270 .print 280 PHP:PHA:LDA#ASC"[":JSRoswc:\Save status & open brackets 290 .pA 300 LDA#ASC"A":JSRoswc:PLA:PHA:JSRhex:\Print A 310 .pX 320 LDA#ASC"X":JSRoswc:TXA:JSRhex:\Print X 330 .pY 340 LDA#ASC"Y":JSRoswc:TYA:JSRhex:\Print Y 350 .done 360 LDA#ASC"]":JSRoswc:LDA#32:JSRoswc:PLA:PLP:\Close brackets & return 370 .oldvec 380 JMP&9999:\Self modifies earlier 390 .hex 400 PHA:LSRA:LSRA:LSRA:LSRA:JSRconvert:PLA:AND#15 410 .convert 420 SED:CMP#10:ADC#48:CLD:JMPoswc 430 ] 440 NEXT 450 OSCLI("SAVE OUTPUT "+STR$~(trap%)+" "+STR$~(O%)+" "+STR$~(loc%)+" "+STR$~(loc%)) 460 END 470 : 480 DEFFNucase(string$) 490 REM Alphabetics => upper case (ASCii values of a,z are 97,122) 500 LOCALdata%,work$,byte% 510 FORdata%=1TOLENstring$ 520 byte%=ASC(MID$(string$,data%,1))AND&DF 530 IFbyte%>ASC"Z" ORbyte%