5 CLS:BEEP:TB=10 6 ' from Portable 100 Magazine 10/84 7 ' by David Busch 8 ' 10 PRINTTAB(TB)"*********************" 15 PRINTTAB(TB)"*"TAB(30)"*" 20 PRINTTAB(TB)"* Screen Designer *" 25 PRINTTAB(TB)"*"TAB(30)"*" 30 PRINTTAB(TB)"* Prog 'SCN-DE' *" 35 PRINTTAB(TB)"*"TAB(30)"*" 40 PRINTTAB(TB)"*********************" 45 PRINTTAB(16)""; 50 J$=INKEY$:IFJ$=""THEN50 70 CLEAR1000 80 DEFINTA-Y 90 DIMPROGRAM$(40) 100 CLS:BEEP:PRINT 130 PRINT" Draw on Screen using arrow keys to" 140 PRINT" move cursor. Letters, numbers, & " 150 PRINT" graphics can be written. Shift" 160 PRINT" plus arrow moves Cursor to edge.":PRINT 165 PRINT" Press 'ESC' when done & wait." 170 PRINT " =HIT ANY KEY="; 180 A$=INKEY$:IFA$=""GOTO180 190 INCRMENT=10 200 B=0:E=320 210 COUNTER=1:PLACE=0 220 C=43:SP$=CHR$(32) 230 LINEINPUT"ENTER FILE NAME: ";F$ 240 CLS 250 IFF$=""THENF$="TEST.DO" 260 PLACE=B 270 A$=INKEY$:IFA$=""GOTO270 280 IFA$=CHR$(27)THENPRINT@PLACE,SP$;:GOTO670 290 IFA$=CHR$(30)THEN420 300 IFA$=CHR$(31)THEN490 310 IFA$=CHR$(28)THEN550 320 IFA$=CHR$(29)THEN610 330 IFA$=CHR$(1)THENPRINT@PLACE,SP$;:PLACE=(INT(PLACE/40)*40):GOTO450 340 IFA$=CHR$(6)THENPRINT@PLACE,SP$;:PLACE=INT(PLACE/40)*40+39:GOTO450 350 IFA$=CHR$(20)THENPRINT@PLACE,SP$;:PLACE=PLACE MOD 40:GOTO450 360 IFA$=CHR$(2)THEN PRINT@PLACE,SP$;:PLACE=PLACEMOD40+280:GOTO450 370 IFA$=CHR$(13)THENPRINT@PLACE,SP$;:P=(INT(PLACE/40)*40)+40:IF PETHEN270 500 PRINT@PLACE,SP$; 510 PLACE=PLACE+40 520 PRINT@PLACE,CHR$(C); 530 C=43 540 GOTO270 550 IFPLACE+1>ETHEN270 560 PRINT@PLACE,SP$; 570 PLACE=PLACE+1 580 PRINT@PLACE,CHR$(C); 590 C=43 600 GOTO270 610 IF PLACE-1<0THEN270 620 PRINT@PLACE,SP$; 630 PLACE=PLACE-1 640 PRINT@PLACE,CHR$(C); 650 C=43 660 GOTO270 670 GOSUB980 680 PROGRAM$(COUNTER)=PROGRAM$(COUNTER)+"CLS" 690 NUMBER=NUMBER+INCRMENT 700 COUNTER=COUNTER+1 710 FORN=0TO319STEP40 720 BFLAG=0 730 EFLAG=0 740 N3=0 750 PR$="" 760 FORN1=NTON+39 770 N3=N3+1 780 T=PEEK(N1+65024) 790 PRINT@N1,CHR$(239); 800 IFBFLAG>0THEN820 810 IFT<>32THENBFLAG=N3:EFLAG=N3ELSE840 820 PR$=PR$+CHR$(T) 830 IFT<>32THENEFLAG=N3 840 NEXTN1 850 IFRIGHT$(PR$,1)=SP$THENPR$=LEFT$(PR$,LEN(PR$)-1) 860 IFEFLAG=40THENL$=";"ELSEL$="" 870 IFBFLAG=0THEN900 880 PROGRAM$(COUNTER)=STR$(NUMBER)+"PRINT TAB("+MID$(STR$(BFLAG-1),2)+")"+CHR$(34)+MID$(PR$,1,EFLAG-(BFLAG-2))+CHR$(34)+L$ 890 GOTO910 900 PROGRAM$(COUNTER)=STR$(NUMBER)+"PRINT" 910 COUNTER=COUNTER+1 920 NUMBER=NUMBER+INCRMENT 930 NEXTN 940 PROGRAM$(COUNTER-1)=PROGRAM$(COUNTER-1)+";" 950 GOSUB980 960 PROGRAM$(COUNTER)=PROGRAM$(COUNTER)+" "+"A$=INKEY$:IF A$="+CHR$(34)+CHR$(34)+" GOTO"+STR$(NUMBER) 970 GOTO1020 980 NUMBER=NUMBER+INCRMENT 990 COUNTER=COUNTER+1 1000 PROGRAM$(COUNTER)=STR$(NUMBER)+" " 1010 RETURN 1020 OPENF$FOROUTPUTAS1 1030 FORN=1TOCOUNTER 1040 I=INSTR(PROGRAM$(N),"TAB(0)") 1050 IFI=0GOTO1070 1060 PROGRAM$(N)=LEFT$(PROGRAM$(N),I-1)+MID$(PROGRAM$(N),I+6) 1070 PRINT#1,PROGRAM$(N) 1080 PRINTPROGRAM$(N) 1090 NEXTN 1100 CLOSE1 1110 CLS 1120 PRINT:PRINTTAB(8)"Do it once more? (Y/N)" 1130 A$=INKEY$:IFA$=""THEN1130 1140 IFA$="Y"ORA$="y"THENRUN 1150 PRINT" You may load the finished .DO file," 1160 PRINT" Merge it with your Programs or Save" 1170 PRINT" it as a .BA file." 1180 PRINT@257,"" 1190 LINE(6,15)-(233,58),1,B 1200 J$=INKEY$:IFJ$=""THEN1190 1210 BEEP:MENU