0 REM ******************************* 1 REM * FROM 'COMPUTE!'S SECOND BOOK* 2 REM * OF ATARI.' THIS PGM WILL * 3 REM * PUT A MENU ON THE SCREEN & * 4 REM * LOAD BINARY DOS FILES FROM * 5 REM * BASIC. COMBINED WITH THE * 6 REM * 'AUTORN.ATR' IT MAKES A NICE* 7 REM * SYSTEM FOR YOUNG CHILDREN TO* 8 REM * PICK A PROGRAM AND RUN IT. * 9 REM ******************************* 10 REM LOADIT DEMO MENU 20 REM BY ROBERT E. ALLEGER 30 DIM LINE$(15),DIR$(12*64),DRIVE$(3),ML$(1) 40 REM * INITIALIZATION * 50 GRAPHICS 0:POKE 752,1 60 DRIVE$="D1:" 70 ? ,"MENU FOR DRIVE ";DRIVE$:? 80 GOSUB 5000:REM STORE LOADIT.OBJ 90 LINE$=DRIVE$:LINE$(4)="*.*" 100 DIR$(1,1)=" ":DIR$(12*64)=" " 110 DIR$(2)=DIR$ 120 CLOSE #1:OPEN #1,6,0,LINE$ 130 TRAP 380:ENTRY=1:LINEFLAG=1 140 REM * READ THE DIRECTORY * 150 FOR FILENUMBER=1 TO 64 160 INPUT #1,LINE$ 170 IF LINE$(2,2)<>" " THEN 380 180 PD=ENTRY 190 REM * SCAN FILE NAME * 200 FOR PS=3 TO 10 210 IF LINE$(PS,PS)=" " THEN 240 220 DIR$(PD,PD)=LINE$(PS,PS) 230 PD=PD+1:NEXT PS 240 REM * CHECK FOR EXTENSION * 250 IF LINE$(11,11)=" " THEN 320:REM NO EXTENSION 260 DIR$(PD,PD)=".":REM APPEND DOT 270 PD=PD+1 280 REM * SCAN FILE EXTENSION * 290 FOR PS=11 TO 13 300 DIR$(PD,PD)=LINE$(PS,PS) 310 PD=PD+1:NEXT PS 320 REM * DISPLAY FILE NAME.EXT * 330 IF LINEFLAG=3 THEN PRINT :LINEFLAG=1 340 IF FILENUMBER<10 THEN PRINT " "; 350 ? FILENUMBER;" ";DIR$(ENTRY,ENTRY+11);" "; 360 LINEFLAG=LINEFLAG+1 370 ENTRY=ENTRY+12:NEXT FILENUMBER 380 REM * CHOOSE ONE * 390 PRINT :? "ENTER NUMBER OF FILE TO LOAD: "; 400 TRAP 390:INPUT N 410 IF N<1 OR N>FILENUMBER-1 THEN 390 420 LINE$=DRIVE$ 430 LINE$(4)=DIR$(N*12-11,N*12) 435 ? :? "IS THIS A MACHINE LANGUAGE PROGRAM? (Y/N)";:INPUT ML$ 437 IF ML$="Y" THEN 540 440 GRAPHICS 0:POSITION 2,10 450 ? " LOADING ";LINE$ 460 REM * SEE IF MACHINE LANGUAGE * 470 FOR PS=4 TO 12 480 IF LINE$(PS,PS+3)=".OBJ" THEN 540 490 NEXT PS 500 REM * LOAD BASIC PROGRAM 510 TRAP 530 520 RUN LINE$ 530 ERROR=PEEK(195):GOTO 560 540 REM * LOAD M.L. PROGRAM * 545 GRAPHICS 0:SETCOLOR 2,0,0:POSITION 2,10:? "LOADING ";LINE$ 550 ERROR=USR(1536,ADR(LINE$)) 560 REM * SHOULDN'T BE HERE !! * 570 ? "ERROR #";ERROR;" ENCOUNTERED DURING LOAD" 580 END 5000 FOR A=1536 TO 1717:READ B:POKE A,B:NEXT A 5001 DATA 162,16,32,173,6,134,207,104,104,157,69,3,104,157,68,3,169,4,157,74,3,169,3,157,66 5002 DATA 3,32,86,228,16,3,76,166,6,169,203,157,68,3,169,0,157,69,3,169,2,157,72,3,169 5003 DATA 0,157,73,3,169,7,157,66,3,32,86,228,16,6,192,136,240,92,208,96,169,255,197,203,208 5004 DATA 4,197,204,240,210,169,205,157,68,3,169,0,157,69,3,32,86,228,16,2,48,69,165,207,240 5005 DATA 14,165,203,141,224,2,165,204,141,225,2,169,0,133,207,165,203,157,68,3,165,204,157,69,3 5006 DATA 165,205,56,229,203,157,72,3,165,206,229,204,157,73,3,254,72,3,208,3,254,73,3,32,86 5007 DATA 228,16,137,192,3,240,133,76,166,6,32,173,6,108,224,2,152,133,212,169,0,133,213,169,12 5008 DATA 157,66,3,32,86,228,96 5009 RETURN 0 REM ******************************* 1 REM * FROM 'COMPUTE!'S SECOND BOOK* 2 REM * OF ATARI.' THIS PGM WILL * 3 REM * PUT A MENU ON THE SCREEN & * 4 REM * LOAD BINARY DOS FILES FROM * 5 REM * BASIC. COMBINED WITH THE * 6 REM * 'AUTORN.ATR' IT MAKES A NICE* 7 REM * SYSTEM FOR YOUNG CHILDREN TO* 8 REM * PICK A PROGRAM AND RUN IT. * 9 REM ******************************* 10 REM LOADIT DEMO MENU 20 REM BY ROBERT E. ALLEGER 30 DIM LINE$(15),DIR$(12*64),DRIVE$(3),ML$(1) 40 REM * INITIALIZATION * 50 GRAPHICS 0:POKE 752,1 60 DRIVE$="D1:" 70 ? ,"MENU FOR DRIVE ";DRIVE$:? 80 GOSUB 5000:REM STORE LOADIT.OBJ 90 LINE$=DRIVE$:LINE$(4)="*.*" 100 DIR$(1,1)=" ":DIR$(12*64)=" " 110 DIR$(2)=DIR$ 120 CLOSE #1:OPEN #1,6,0,LINE$ 130 TRAP 380:ENTRY=1:LINEFLAG=1 140 REM * READ THE DIRECTORY * 150 FOR FILENUMBER=1 TO 64 160 INPUT #1,LINE$ 170 IF LINE$(2,2)<>" " THEN 380 180 PD=ENTRY 190 REM * SCAN FILE NAME * 200 FOR PS=3 TO 10 210 IF LINE$(PS,PS)=" " THEN 240 220 DIR$(PD,PD)=LINE$(PS,PS) 230 PD=PD+1:NEXT PS 240 REM * CHECK FOR EXTENSION * 250 IF LINE$(11,11)=" " THEN 320:REM NO EXTENSION 260 DIR$(PD,PD)=".":REM APPEND DOT 270 PD=PD+1 280 REM * SCAN FILE EXTENSION * 290 FOR PS=11 TO 13 300 DIR$(PD,PD)=LINE$(PS,PS) 310 PD=PD+1:NEXT PS 320 REM * DISPLAY FILE NAME.EXT * 330 IF LINEFLAG=3 THEN PRINT :LINEFLAG=1 340 IF FILENUMBER<10 THEN PRINT " "; 350 ? FILENUMBER;" ";DIR$(ENTRY,ENTRY+11);" "; 360 LINEFLAG=LINEFLAG+1 370 ENTRY=ENTRY+12:NEXT FILENUMBER 380 REM * CHOOSE ONE * 390 PRINT :? "ENTER NUMBER OF FILE TO LOAD: "; 400 TRAP 390:INPUT N 410 IF N<1 OR N>FILENUMBER-1 THEN 390 420 LINE$=DRIVE$ 430 LINE$(4)=DIR$(N*12-11,N*12) 435 ? :? "IS THIS A MACHINE LANGUAGE PROGRAM? (Y/N)";:INPUT ML$ 437 IF ML$="Y" THEN 540 440 GRAPHICS 0:POSITION 2,10 450 ? " LOADING ";LINE$ 460 REM * SEE IF MACHINE LANGUAGE * 470 FOR PS=4 TO 12 480 IF LINE$(PS,PS+3)=".OBJ" THEN 540 490 NEXT PS 500 REM * LOAD BASIC PROGRAM 510 TRAP 530 520 RUN LINE$ 530 ERROR=PEEK(195):GOTO 560 540 REM * LOAD M.L. PROGRAM * 545 GRAPHICS 0:SETCOLOR 2,0,0:POSITION 2,10:? "LOADING ";LINE$ 550 ERROR=USR(1536,ADR(LINE$)) 560 REM * SHOULDN'T BE HERE !! * 570 ? "ERROR #";ERROR;" ENCOUNTERED DURING LOAD" 580 END 5000 FOR A=1536 TO 1717:READ B:POKE A,B:NEXT A 5001 DATA 162,16,32,173,6,134,207,104,104,157,69,3,104,157,68,3,169,4,157,74,3,169,3,157,66 5002 DATA 3,32,86,228,16,3,76,166,6,169,203,157,68,3,169,0,157,69,3,169,2,157,72,3,169 5003 DATA 0,157,73,3,169,7,157,66,3,32,86,228,16,6,192,136,240,92,208,96,169,255,197,203,208 5004 DATA 4,197,204,240,210,169,205,157,68,3,169,0,157,/EX DEL DEL LOADIT.FIX