10.07.2015 Views

Uncompressed - The Tech Heap

Uncompressed - The Tech Heap

Uncompressed - The Tech Heap

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

EXTENDED BASIC UNRAVELLED IIAPPENDIX BDISASSEMBLY OF EXTENDED BASIC 1.1ORIGIN:SPECTRAL ASSOCREVISED:12/26/1999 WALTER K ZYDHEK0193 8206 96 8B L8206 FDB PCLEAR PCLEAR C00194 8208 95 46 L8208 FDB COLOR COLOR C10195 820A 9E 9D L820A FDB CIRCLE CIRCLE C20196 820C 98 EC L820C FDB PAINT PAINT C30197 820E 97 55 L820E FDB GET GET C40198 8210 97 58 L8210 FDB PUT PUT C50199 8212 9C B6 L8212 FDB DRAW DRAW C60200 8214 97 23 L8214 FDB PCOPY PCOPY C70201 8216 96 21 L8216 FDB PMOD PMODE C70202 8218 9A 22 L8218 FDB PLAY PLAY C90203 821A 8C 18 L821A FDB DLOAD DLOAD CA0204 821C 8A 09 L821C FDB RENUM RENUM CB02050206 * SECONDARY FUNCTION FOR EXTENDED BASIC0207 * TOKENS ARE PRECEEDED WITH AN $FF BYTE0208 * TOKEN #0209 821E 41 54 CE L821E FCC 'AT',$80+'N' 940210 8221 43 4F D3 L8221 FCC 'CO',$80+'S' 950211 8224 54 41 CE L8224 FCC 'TA',$80+'N' 960212 8227 45 58 D0 L8227 FCC 'EX',$80+'P' 970213 822A 46 49 D8 L822A FCC 'FI',$80+'X' 980214 822D 4C 4F C7 L822D FCC 'LO',$80+'G' 990215 8230 50 4F D3 L8230 FCC 'PO',$80+'S' 9A0216 8233 53 51 D2 L8233 FCC 'SQ',$80+'R' 9B0217 8236 48 45 58 A4 L8236 FCC 'HEX',$80+'$' 9C0218 823A 56 41 52 50 54 D2 L823A FCC 'VARPT',$80+'R' 9D0219 8240 49 4E 53 54 D2 L8240 FCC 'INST',$80+'R' 9E0220 8245 54 49 4D 45 D2 L8245 FCC 'TIME',$80+'R' 9F0221 824A 50 50 4F 49 4E D4 L824A FCC 'PPOIN',$80+'T' A00222 8250 53 54 52 49 4E 47 L8250 FCC 'STRING',$80+'$' A10223 8256 A40224 * JUMP TABLE FOR EXTENDED BASIC SECONDARY FUNCTIONS0225 * TOKEN #0226 8257 83 B0 L8257 FDB ATN ATN 940227 8259 83 78 L8259 FDB COS COS 950228 825B 83 81 L825B FDB TAN TAN 960229 825D 84 F2 L825D FDB EXP EXP 970230 825F 85 24 L825F FDB FIX FIX 980231 8261 84 46 L8261 FDB LOG LOG 990232 8263 86 AC L8263 FDB POS POS 9A0233 8265 84 80 L8265 FDB SQR SQR 9B0234 8267 8B DD L8267 FDB HEXDOL HEXDOL 9C0235 8269 86 BE L8269 FDB VARPTR VARPT 9D0236 826B 87 7E L826B FDB INSTR INSTR 9E0237 826D 89 68 L826D FDB TIMER TIMER 9F0238 826F 93 39 L826F FDB PPOINT PPOINT A00239 8271 87 4E L8271 FDB STRING STRING A102400241 * CONSOLE OUT RAM HOOK0242 8273 0D 6F XVEC3 TST DEVNUM CHECK DEVICE NUMBER0243 8275 10 27 13 33 LBEQ L95AC BRANCH IF SCREEN0244 8279 34 04 PSHS B SAVE CHARACTER0245 827B D6 6F LDB DEVNUM *GET DEVICE NUMBER AND0246 827D C1 FD CMPB #-3 *CHECK FOR DLOAD0247 827F 35 04 PULS B GET CHARACTER BACK0248 8281 26 02 BNE L8285 RETURN IF NOT DLOAD0249 8283 32 62 LEAS $02,S *TAKE RETURN OFF STACK & GO BACK TO ROUTINE0250 * *THAT CALLED CONSOLE OUT0251 8285 39 L8285 RTS02520253 * CLOSE FILES RAM HOOK - THIS CODE CORRECTS A0254 * BUG IN 1.0 BASIC WHICH WAS FIXED BY 1.1 BASIC0255 8286 96 6F XVEC8 LDA DEVNUM GET DEVICE NUMBER0256 8288 4C INCA CHECK FOR CASSETTE0257 8289 26 FA BNE L8285 RETURN IF NOT CASSETTE0258 828B 96 78 LDA FILSTA GET FILE STATUS0259 828D 81 02 CMPA #$02 OPEN FOR OUTPUT?0260 828F 26 F4 BNE L8285 RETURN IF NOT OPEN FOR OUTPUT0261 8291 96 79 LDA CINCTR GET CHARACTER BUFFER COUNTER0262 8293 26 F0 BNE L8285 RETURN IF NOT EMPTY0263 8295 0F 6F CLR DEVNUM SET DEVICE NUMBER TO SCREEN0264 8297 32 62 LEAS $02,S GET RETURN ADDRESS OFF OF STACK0265 8299 7E A4 44 JMP LA444 WRITE END OF FILE TAPE BLOCK0266 * RUN RAM HOOK0267 829C CC BA 42 XVEC18 LDD #$BA42 MID HIGH VALUE + MID LOW VALUE0268 829F DD DF STD VOLHI INITIALIZE PLAY VOLUME0269 82A1 86 02 LDA #$020270 82A3 97 E2 STA TEMPO INITIALIZE TEMPO TO 20271 82A5 97 DE STA OCTAVE INITIALIZE OCTAVE TO 30272 82A7 48 ASLA X20273 82A8 97 E1 STA NOTELN INITIALIZE NOTE LENGTH TO 50274 82AA 0F E5 CLR DOTVAL LEAR NOTE TIMER SCALE FACTOR0275 82AC DC 8A LDD ZERO ZERO ACCD0276 82AE DD E8 STD ANGLE INITIALIZE DRAW ANGLE AND SCALE TO 10277 82B0 C6 80 LDB #128 * INITIALIZE HORIZONTAL DEFAULT0278 82B2 DD C7 STD HORDEF * COORDINATE TO MID POSITION0279 82B4 C6 60 LDB #96 = INITIALIZE VERTICAL DEFAULT0280 82B6 DD C9 STD VERDEF = COORDINATE TO MID POSITION0281 82B8 39 RTS0282 * COMMAND INTERPRETATION LOOP RAM HOOK0283 82B9 32 62 XVEC20 LEAS $02,S PURGE RETURN ADDRESS FROM STACK0284 82BB 1C AF L82BB ANDCC #$AF ENABLE INTERRUPTS0285 82BD BD AD EB JSR LADEB CHECK FOR KEYBOARD BREAK0286 82C0 9E A6 LDX CHARAD * GET CURRENT BASIC LINE0287 82C2 9F 2F STX TINPTR * POINTER AND SAVE IT0288 82C4 A6 80 LDA ,X+ GET CURRENT INPUT CHARACTER AND ADVANCE POINTERB3

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!