1300 IF MID$ (A$(LN),10,3) < >"EOF" THEN PRINT CHR$(34)" EOF" CHR$(34)
1310 PRINT D$"CLOSE "PR$
1315 ONERR GOTO 1800
1320 PRINT "DO YOU WISH TO ASSEMBLE YOUR FILE? (Y/N) ";: GET K$: PRINT K$: IF K$ = "Y" THEN PRINT CHR$(17): PRINT D$"PR#0": PRINT D$"IN#0": HOME : PRINT D$"RUN BASIC.ASSEMBLER"
1330 GOSUB 2050: POKE 216,0: END
1340 REM HELP SCREEN
1350 GOSUB 2050: INVERSE : PRINT "COMMANDS: ": NORMAL
1355 REM 71 SPACES BETWEEN ":" AND FINAL QUOTE
1360 PRINT "L LIST ENTIRE PROGRAM"
1370 REM DELETES THE ORIGINAL LINE 1370
1380 PRINT : PRINT "L N(,M) LIST LINES N(THROUGH M)"
1390 PRINT : PRINT "D N DELETE LINE N"
1400 PRINT : PRINT "I N INPUT LINES AFTER N"
1410 PRINT : PRINT "P (N(,M)) PRINT LISTING"
1420 PRINT : PRINT "SAVE SAVE THE PROGRAM TO DISK"
1430 PRINT : PRINT "N EDIT LINE N"
1434 PRINT : PRINT "<ESC> TAB (ONLY IN EDIT OR INPUT)"
1435 PRINT : PRINT "<TAB> TAB (ONLY IN EDIT OR INPUT)"
1436 PRINT : PRINT "? THIS HELP SCREEN": RETURN
1440 DIM PN(15)
1450 PN(1) = 66:PN(2) = 89:PN(3) = 32
1460 PN(4) = 74:PN(5) = 79:PN(6) = 72
1470 PN(7) = 78:PN(8) = 32:PN(9) = 87
1480 PN(10) = 72:PN(11) = 73:PN(12) = 84
1490 PN(13) = 78:PN(14) = 69:PN(15) = 89
1500 FOR VN = 1 TO 15
1510 VTAB 4
1520 FOR VO = VN TO 1 STEP -1
1530 PRINT CHR$(PN(16 -VO));
1540 NEXT VO
1550 PRINT
1560 NEXT VN
1570 PRINT
1580 RETURN
1590 REM ERROR TRAP FOR SAVE & LOAD
1591 :
1600 POKE 216,0: PRINT : PRINT D$"CLOSE"
1605 E = PEEK(222)
1610 IF E = 6 THEN PRINT CHR$(7)"FILE NOT ON THIS DISK": PRINT "PRESS ANY KEY =>";: GET A$: PRINT : GOTO 210
1620 IF E = 4 THEN PRINT CHR$(7)"DISK IS WRITE PROTECTED.": PRINT "PRESS ANY KEY =>";: GET A$: PRINT : GOTO 1220
1630 IF E = 9 THEN PRINT CHR$(7)"DISK IS FILL. INSERT ONE THAT IS NOT FULL. ": PRINT "PRESS ANY KEY =>";: GET A$: PRINT : GOTO 1220
1640 IF E = 10 THEN PRINT CHR$(7)"FILE IS LOCKED. GIVE ANOTHER FILE NAME: ";: INPUT PR$: GOTO 1220
1650 IF E = 8 THEN PRINT CHR$(7)"I/O ERROR ON DISK. INSERT ANOTHER DISK. ": PRINT "PRESS ANY KEY =>";: GET A$: PRINT : ON (S = 1) *1 +(S < >1) *2 GOTO 1200,1090
1660 IF E = 5 THEN PRINT CHR$(7)"DID NOT FIND 'EOF' LINE IN FILE.": PRINT "PRESS ANY KEY TO CONTINUE ==>";: GET A$:A$(N) = "":N = N -1:A(N) = 0: GOTO 1180
1700 PRINT CHR$(7)"ERROR #"; PEEK(222);" IN LINE "; PEEK(218) + PEEK(219) *256: END
1715 PRINT : PRINT
1797 :
1798 REM ERROR ROUTINE FOR RUNNINGF BASIC ASSEMBLER
1799 :
1800 IF PEEK(222) = 6 THEN PRINT "PUT IN DISK WITH BASIC.ASSEMBLER": PRINT "AND PRESS ANY KEY =>";: GET A$: PRINT : GOTO 1320
1810 GOTO 1700
1997 :
1998 REM GOTOHV ROUTINE: H - HORIZ 1-80; V - VERTICAL 1-24
1999 :
2000 HTAB V: POKE 36,H -1: RETURN
2010 REM ALTERNATE 80-COL CARDS MAY NEED DIFFERENT CURSOR POSITIONING
2020 :
2030 REM ALTERNATE 80-COL CARDS MAY NEED DIFFERENT HOME ROUTINE