200 REM ONERR GOTO TRAP OUT OF DATA ERROR 210 D$ = CHR$ (4) 220 INPUT "ENTER FULL PATHNAME: ";PN$:PL = LEN (PN$) 230 INPUT "NUMBER OF BYTES TO WHACK: ";BYTE 240 FOR LOOP = PL TO 0 STEP - 1 250 IF MID$ (PN$,LOOP,1) = "/" THEN GOTO 270 260 NEXT LOOP 270 FILE$ = RIGHT$ (PN$,PL - LOOP):PN$ = LEFT$ (PN$,LOOP - 1) 280 PRINT D$;"OPEN";PN$;",TDIR" 290 PRINT D$;"READ";PN$ 300 INPUT DIR$ 310 REM OUT OF DATA WITH TYPING ERROR 320 IF MID$ (DIR$,2, LEN (FILE$)) = FILE$ THEN GOTO 340 330 GOTO 300 340 PRINT D$;"CLOSE" 350 TYPE$ = MID$ (DIR$,18,3): REM BIN,SYS..NOT USED 360 L$ = MID$ (DIR$,63,9): REM LENGTH$ 370 IF RIGHT$ (L$,1) = " " THEN L$ = LEFT$ (L$, LEN (L$) - 1): GOTO 370 380 IF MID$ (L$,1,1) = " " THEN L$ = RIGHT$ (L$, LEN (L$) - 1): GOTO 380 390 REM ASCII FILE LENGTH..CONVERT FOR MACHINE 400 L = 0:LL = LEN (L$): FOR N = 1 TO LL STEP 1 410 L = L + (( ASC ( MID$ (L$,LL + 1 - N,1)) - 48) * 10 ^ N): NEXT N 420 L = L / 10 430 AD$ = RIGHT$ (DIR$,4) 440 REM ASCII LOAD ADDRESS...CONVERT FOR MACHINE 450 A = ( ASC ( MID$ (AD$,4,1)) - 48) 460 A = A + (( ASC ( MID$ (AD$,3,1)) - 48) * 16) 470 A = A + (( ASC ( MID$ (AD$,2,1)) - 48) * 256) 480 A = A + (( ASC ( MID$ (AD$,1,1)) - 48) * 4096) 490 PN$ = PN$ + "/" + FILE$ 500 PRINT D$;"BLOAD";PN$ 510 REM POKE MOVE NUMBERS 520 REM START ADDRESS LOW HI 530 POKE 60, INT (A - ( INT (A / 256) * 256)): POKE 61, INT (A / 256) 540 REM END ADDRESS LOW HI 550 POKE 62, INT (L - ( INT (L / 256) * 256)): POKE 63, INT (L / 256) 560 REM MOVE 'BYTE' BELOW OLD START 570 POKE 66, INT (A - BYTE - ( INT ((A - BYTE) / 256) * 256)) 580 POKE 67, INT ((A - BYTE) / 256) 590 REM SET Y REGISTER TO 0 600 READ P: POKE 768,P 610 READ P: POKE 769,P 620 READ P: POKE 770,P: CALL 768 630 REM CALL MONITOR MOVE ROUTINE 640 CALL 65068 650 PRINT D$;"BSAVE";PN$;",A";A;",L";L - BYTE 660 DATA 160,0,96