5 CLS:KEY OFF:SCREEN 0,0,0:WIDTH 80:CLEAR:FOR I=1 TO 10:KEY I,"":NEXT:KEY 2,"GOTO 60"+CHR$(13):KEY 10,"RUN"+CHR$(34)+"BLUEMENU"+CHR$(34)+CHR$(13):LIST 10-57
12 '***************** GENERAL LEDGER ENTRY WORKSHEET **************************
16 '??????????????????????????????????????????????????????????????????????????
18 '?        GENERAL LEDGER WORKFILE ENTRY SHEET WITH MONTH SORT              ?
20 '?                                                                         ?
22 '?    This program provides a formatted Record Form for General Ledger or  ?
24 '? daily journal input. The file can be saved under your FILESPEC$.  A     ?
26 '? sample file for retrieval, printing and review is named WORKFILE.DAT.   ?
28 '? You may request a sequential printout or a printout by month. It is     ?
31 '? necessary that you input the month with three letters since the print   ?
33 '? sort looks for the first three letters of the month name; i.e., Jan,    ?
34 '? Feb, Mar, etc.  The account numbers for DEBIT or CREDIT are entered     ?
36 '? at the same time; i.e.; 23,45, otherwise you will get an error.  The    ?
37 '? program is listed in expanded form ON THE 360K DISK for users to ex-    ?
38 '? tract routines for their use. In order to run in 64K on this disk, the  ?
39 '? DIM statements in line 140 are lowered to 270.  You may wish to state   ?
40 '? 300 or higher for normal use.  This program may be used in whole or in  ?
41 '? part without attribution or license.                                    ?
42 '?                          (c) G I N A C O -- 1983     Ver 5.1/160/320    ?
43 '??????????????????????????????????????????????????????????????????????????
55 '        *****  < F2 > to RUN  *******  < F10 > For BLUEMENU  *****
57 ' ====== To avoid DOCUMENTATION BOX each time, REM or DELETE  line 5 ======
60 CLS
100 FOR I! = 1 TO 10
110   KEY I!,""
120 NEXT
130 CLS
140 SCREEN 0,0,0
150 WIDTH 80
160 CLEAR 100
170 KEY OFF
180 COLOR 7,0
190 GOSUB 4860
200 ON ERROR GOTO 5090
210 LPRINT CLEANUP$;
220 MP$ = "#,###.##"
230 DEFSTR A-H
240 DEFINT K-X
250 DEFSTR Z
260 :REM WORKFILE FOR ESTABLISHING BASIC JOURNAL ENTRIES FOR TOTAL GL PROGRAMS
270 DIM A$(100),B$(100),C$(100),D$(100),E$(100),F$(100),G$(100),H$(100),I!(100),J!(100),N1%(100),N2%(100),X%(100),NF%(100)
280 A$ = ""
290 B$ = ""
300 C$ = ""
310 D$ = ""
320 E$ = ""
330 F$ = ""
340 G$ = ""
350 H$ = ""
360 N1% = 100
370 N2% = 100
380 Z1$ = CHR$(30)
390 Z2$ = CHR$(31)
400 Z3$ = CHR$(27)
410 Z4$ = CHR$(140)
420 ON ERROR GOTO 4710
430 CLS
440 PRINT FRE(X%)
450 PRINT
460 PRINT
470 LOCATE 5,35
480 PRINT Z1$;
490 PRINT "MAIN MENU ";
500 LOCATE 6,1
510 PRINT Z2$
520 PRINT TAB( 30)"1.  START NEW RECORDS"
530 PRINT TAB( 30)"2.  LOAD RECORDS FROM DISK"
540 PRINT TAB( 30)"3.  REVIEW FILE RECORDS"
550 PRINT TAB( 30)"4.  CHANGE RECORDS"
560 PRINT TAB( 30)"5.  ADD RECORDS TO OLD FILE"
570 PRINT TAB( 30)"6.  SAVE RECORDS ON DISK"
580 PRINT TAB( 30)"7.  PRINT REPORT"
590 PRINT TAB( 30)"8.  LOAD G.L. MENU."
600 PRINT TAB( 30)"9.  END PROGRAM"
610 PRINT
620 PRINT TAB( 35)"SELECTION ";
630 INPUT X%
640 IF X% < 1 OR X% > 9 THEN 610 ELSE 650
650 ON X% GOTO 660,2270,1350,1490,2610,3250,3650,3580,4460
660 REM********************  ADD RECORDS  *********************************
670 FOR I! = 2 TO N1%
680   KEY OFF
690   CLS
700   LOCATE 22,1
710   PRINT STRING$(80,205)
720   LOCATE 24,1
730   PRINT STRING$(80,205)
740   LOCATE 21,10
750   PRINT (I!)
760   LOCATE 21,20
770   PRINT "";
780   LINE INPUT "DATE : ";A$(I!)
790   GOSUB 1320
800   IF (A$(I!) = "END") OR (B$(I!) = "END") THEN N1% = I!
810   IF (A$(I!) = "END") OR (B$(I!) = "END") THEN 1290
820   GOSUB 4620
830   NF% = I!
840   LOCATE 6,1
850   WRITE NF%
860   LOCATE 6,7
870   PRINT A$(I!)
880   LOCATE 21,20
890   PRINT "";
900   LINE INPUT "CHECK #: ";B$(I!)
910   LOCATE 6,15
920   PRINT B$(I!)
930   IF (A$(I!) = "END") OR (B$(I!) = "END") THEN N1% = I!
940   IF (A$(I!) = "END") OR (B$(I!) = "END") THEN 1290
950   LOCATE 21,20
960   PRINT "";
970   LINE INPUT "DESCRIPTION: ";C$(I!)
980   GOSUB 1320
990   LOCATE 6,26
1000   PRINT C$(I!)
1010   LOCATE 21,20
1020   PRINT "";
1030   LINE INPUT "TO/FROM: ";D$(I!)
1040   GOSUB 1320
1050   LOCATE 6,44
1060   PRINT D$(I!)
1070   LOCATE 21,20
1080   PRINT "";
1090   INPUT "DEBIT & CREDIT ACCT #'S: ";E$(I!),F$(I!)
1100   GOSUB 1320
1110   LOCATE 6,61
1120   PRINT E$(I!)
1130   LOCATE 6,68
1140   PRINT F$(I!)
1150   LOCATE 21,20
1160   PRINT "";
1170   LINE INPUT "AMOUNT:       ";G$(I!)
1180   GOSUB 1320
1190   LOCATE 6,73
1200   PRINT G$(I!)
1210   Y$ = ""
1220   LOCATE 10,20
1230   PRINT "IS INPUT CORRECT ";
1240   INPUT Y$
1250   IF Y$ = CHR$(89) THEN 1280 : IF Y$ = CHR$(121) THEN 1280
1260   IF Y$ = CHR$(78) THEN 680 : IF Y$ = CHR$(110) THEN 680
1270   GOTO 1210
1280 NEXT
1290 N2% = N1%
1300 GOTO 430
1310 REM         * * * * * *   CLEAR ENTRY ROUTINE   * * * * * *
1320 LOCATE 21,20
1330 PRINT STRING$(60,32)
1340 RETURN
1350 REM********************  REVIEW OLD FILES  ****************************
1360 CLS
1370 IF A$(2) = "" THEN 4550
1380 GOSUB 4620
1390 FOR J! = 1 TO 50
1400   FOR I! = 2 TO N2%
1410     NF% = I!
1420     PRINT TAB( 1);NF%; TAB( 7);A$(I!); TAB( 15);B$(I!); TAB( 26);C$(I!); TAB( 44);D$(I!); TAB( 61);E$(I!); TAB( 68);F$(I!); TAB( 73);G$(I!)
1430   NEXT I!
1440   PRINT TAB( 30)"";
1450   INPUT " TO CONTINUE ";X%
1460   IF (A$(N2%) = "END") OR (B$(N2%) = "END") THEN 430
1470   IF B$(2) = "" THEN 430
1480 NEXT J!
1490 REM**********************  CHANGE RECORDS  ****************************
1500 IF A$(2) = "" GOTO 4550
1510 CLS
1520 I! = N2%
1530 N3% = 0
1540 LOCATE 10,20
1550 PRINT "";
1560 INPUT "WHAT RECORD NUMBER TO CHANGE ";N3%
1570 CLS
1580 IF (N3% < 2) OR (N3% > N2%) THEN LOCATE 11,20 : PRINT "MUST BE GREATER THAN 002 OR LESS THAN N2" : GOTO 1520
1590 I! = N3%
1600 GOSUB 4620
1610 LOCATE 6,1
1620 WRITE N3%
1630 LOCATE 6,7
1640 PRINT ;A$(N3%); TAB( 15);B$(N3%); TAB( 26);C$(N3%); TAB( 44);D$(N3%); TAB( 61);E$(N3%); TAB( 68);F$(N3%); TAB( 73);G$(N3%)
1650 A$ = ""
1660 LOCATE 15,20
1670 PRINT "";
1680 INPUT "IS THIS THE RECORD YOU WANT TO CHANGE ";A$
1690 IF (A$ = CHR$(89)) OR (A$ = CHR$(121)) THEN 1710
1700 IF (A$ = CHR$(78)) OR (A$ = CHR$(110)) THEN 430
1710 LOCATE 21,1
1720 PRINT STRING$(80,205)
1730 LOCATE 23,1
1740 PRINT STRING$(80,205)
1750 LOCATE 21,10
1760 PRINT (I!)
1770 LOCATE 21,20
1780 PRINT "";
1790 LINE INPUT "DATE : ";A$(N3%)
1800 GOSUB 1320
1810 NF% = I!
1820 LOCATE 6,1
1830 WRITE NF%
1840 LOCATE 6,7
1850 PRINT A$(N3%)
1860 LOCATE 21,20
1870 PRINT "";
1880 LINE INPUT "CHECK #: ";B$(N3%)
1890 GOSUB 1320
1900 LOCATE 6,15
1910 PRINT B$(N3%)
1920 LOCATE 21,20
1930 PRINT "";
1940 LINE INPUT "DESCRIPTION: ";C$(N3%)
1950 GOSUB 1320
1960 LOCATE 6,26
1970 PRINT C$(N3%)
1980 LOCATE 21,20
1990 PRINT "";
2000 LINE INPUT "TO/FROM: ";D$(N3%)
2010 GOSUB 1320
2020 LOCATE 6,44
2030 PRINT D$(N3%)
2040 LOCATE 21,20
2050 PRINT "";
2060 INPUT "DEBIT & CREDIT ACCT #'S: ";E$(N3%),F$(N3%)
2070 GOSUB 1320
2080 LOCATE 6,61
2090 PRINT E$(N3%)
2100 LOCATE 6,68
2110 PRINT F$(N3%)
2120 LOCATE 21,20
2130 PRINT "";
2140 LINE INPUT "$$ AMOUNT:    ";G$(N3%)
2150 GOSUB 1320
2160 LOCATE 6,73
2170 PRINT G$(N3%)
2180 Y$ = ""
2190 LOCATE 10,20
2200 PRINT STRING$(60,32)
2210 LOCATE 10,20
2220 PRINT "IS INPUT CORRECT ";
2230 INPUT Y$
2240 IF (Y$ = CHR$(89)) OR (Y$ = CHR$(121)) THEN 430
2250 IF (Y$ = CHR$(78)) OR (Y$ = CHR$(110)) THEN 1750
2260 GOTO 2180
2270 REM*************************  INPUTS DISK TO MEMORY  ******************
2280 REM********************* SAVED IN ASCII AS MEMLOAD.GL1 ****************
2290 CLS
2300 LOCATE 10,25
2310 PRINT "W A R N I N G"
2320 LOCATE 11,25
2330 PRINT "??????????????"
2340 LOCATE 13,25
2350 PRINT "THIS WILL LOAD OVER WHAT IS NOW IN MEMORY"
2360 LOCATE 15,25
2370 PRINT " TO CONTINUE"
2380 LOCATE 17,25
2390 PRINT " TO RETURN TO MENU"
2400 LOCATE 19,25
2410 PRINT "";
2420 INPUT "CHOICE";X%
2430 IF (X% < 1) OR (X% > 2) THEN 2360 ELSE 2440
2440 ON X% GOTO 2450,430
2450 CLS
2460 LOCATE 10,25
2470 PRINT "WHAT IS FILESPEC$  ";
2480 INPUT FS$
2490 LOCATE 12,25
2500 PRINT "L O A D I N G"
2510 :REM********************  ACTUAL WRITE ROUTINE  ************************
2520 OPEN "I",1,FS$
2530 INPUT #1,N2%
2540 FOR I! = 2 TO N2%
2550   INPUT #1,A$(I!),B$(I!),C$(I!),D$(I!),E$(I!),F$(I!),G$(I!)
2560   IF EOF(1) THEN CLOSE  : CLS  : LOCATE 10,20 : PRINT "LOADED TO EOF" : FOR L% = 1 TO 1000 : NEXT L% : GOTO 430
2570 NEXT I!
2580 ON ERROR GOTO 4710
2590 IF (A$(I!) = "END") OR (B$(I!) = "END") THEN CLOSE  : CLS  : LOCATE 10,20 : PRINT "SAVED END" : FOR L% = 1 TO 1000 : NEXT L% : GOTO 430
2600 GOTO 430
2610 REM************************  ADD RECORDS TO FILE  ********************
2620 N5% = N2%
2630 N1% = 300
2640 FOR I! = N5% TO N1%
2650   CLS
2660   GOSUB 4620
2670   LOCATE 20,1
2680   PRINT STRING$(80,205)
2690   LOCATE 22,1
2700   PRINT STRING$(80,205)
2710   LOCATE 21,10
2720   PRINT (I!)
2730   LOCATE 21,20
2740   PRINT "";
2750   LINE INPUT "DATE : ";A$(I!)
2760   GOSUB 1320
2770   GOSUB 4620
2780   NF% = I!
2790   LOCATE 6,1
2800   WRITE NF%
2810   LOCATE 6,7
2820   PRINT A$(I!)
2830   LOCATE 21,20
2840   PRINT "";
2850   LINE INPUT "CHECK #: ";B$(I!)
2860   LOCATE 6,15
2870   PRINT B$(I!)
2880   IF (A$(I!) = "END") OR (B$(I!) = "END") THEN N1% = I!
2890   IF (A$(I!) = "END") OR (B$(I!) = "END") THEN 3230
2900   LOCATE 21,20
2910   PRINT "";
2920   LINE INPUT "DESCRIPTION: ";C$(I!)
2930   GOSUB 1320
2940   LOCATE 6,26
2950   PRINT C$(I!)
2960   LOCATE 21,20
2970   PRINT "";
2980   LINE INPUT "TO/FROM: ";D$(I!)
2990   GOSUB 1320
3000   LOCATE 6,44
3010   PRINT D$(I!)
3020   LOCATE 21,20
3030   PRINT "";
3040   INPUT "DEBIT & CREDIT ACCT #'S: ";E$(I!),F$(I!)
3050   GOSUB 1320
3060   LOCATE 6,61
3070   PRINT E$(I!)
3080   LOCATE 6,68
3090   PRINT F$(I!)
3100   LOCATE 21,20
3110   PRINT "";
3120   LINE INPUT "$$$ AMOUNT:   ";G$(I!)
3130   GOSUB 1320
3140   LOCATE 6,73
3150   PRINT G$(I!)
3160   Y$ = ""
3170   LOCATE 10,20
3180   PRINT "IS INPUT CORRECT ";
3190   INPUT Y$
3200   IF (Y$ = CHR$(89)) OR (Y$ = CHR$(121)) THEN 3220
3210   IF (Y$ = CHR$(78)) OR (Y$ = CHR$(110)) THEN 2710
3220 NEXT I!
3230 N2% = N1%
3240 GOTO 430
3250 REM**********************  WRITES MEMORY TO DISK  ********************
3260 CLS
3270 IF A$(2) = "" THEN 4550
3280 CLS
3290 LOCATE 10,25
3300 PRINT "W A R N I N G"
3310 LOCATE 11,25
3320 PRINT "??????????????"
3330 LOCATE 13,25
3340 PRINT "THIS WILL WRITE OVER WHAT IS NOW ON DISK"
3350 LOCATE 15,25
3360 PRINT " TO CONTINUE"
3370 LOCATE 17,25
3380 PRINT " TO RETURN TO MENU"
3390 LOCATE 19,25
3400 PRINT "";
3410 INPUT "CHOICE";Y!
3420 IF (Y! < 1) OR (Y! > 2) THEN 3420 ELSE 3430
3430 ON Y! GOTO 3440,430
3440 CLS
3450 LOCATE 10,25
3460 PRINT "WHAT IS FILESPEC$  ";
3470 INPUT FS$
3480 LOCATE 12,25
3490 PRINT "S A V I N G"
3500 :REM***********************  ACTUAL WRITE ROUTINE  ********************
3510 OPEN "O",1,FS$
3520 WRITE #1,N2%
3530 FOR I! = 2 TO N2%
3540   WRITE #1,A$(I!),B$(I!),C$(I!),D$(I!),E$(I!),F$(I!),G$(I!)
3550   IF A$(I!) = "END" THEN CLOSE  : CLS  : LOCATE 10,20 : PRINT "SAVED END" : FOR L% = 1 TO 1000 : NEXT L% : GOTO 430
3560 NEXT I!
3570 ON ERROR GOTO 4710
3580 REM***********************  START GL PROGRAM SERIES  *****************
3590 CLS
3600 LOCATE 20,10
3610 PRINT "General Ledger Program not available as part of BLUEBERRY PIE A La MODE"
3620 FOR I! = 1 TO 3000
3630 NEXT
3640 GOTO 430
3650 CLS
3660 :REM****************  REPORT PRINT ROUTINE  ************************
3670 REM*****************  FULL PRINT OUT  ********************************
3680 CLS
3690 LOCATE 8,30
3700 PRINT "SET UP PRINTER AND PAPER."
3710 LOCATE 10,30
3720 PRINT "IS FILE LOADED ?"
3730 LOCATE 12,30
3740 PRINT " TO CONTINUE"
3750 LOCATE 14,30
3760 PRINT " FOR MENU  ";
3770 INPUT X%
3780 ON X% GOTO 3790,430
3790 CLS
3800 LOCATE 10,30
3810 PRINT "DO YOU WANT FULL PRINT OUT OR BY MONTH?"
3820 LOCATE 12,30
3830 PRINT " FOR FULL PRINT OUT"
3840 PRINT
3850 LOCATE 14,30
3860 PRINT " IF BY MONTH ";
3870 INPUT X%
3880 ON X% GOTO 3890,4140
3890 L% = 0
3900 LPRINT STRING$(5,10)
3910 L% = 5
3920 LPRINT ITALIC$;
3930 LPRINT DARK$;
3940 LPRINT TAB( 20)"FULL PRINTOUT FOR YEAR TO DATE";END.ITALIC$
3950 LPRINT STRING$(2,10)
3960 L% = 7
3970 GOSUB 4670
3980 L% = 9
3990 FOR J! = 1 TO 50
4000   FOR I! = 2 TO N2%
4010     NF% = I!
4020     LPRINT TAB( 1);NF%; TAB( 7);A$(I!); TAB( 15);B$(I!); TAB( 26);C$(I!); TAB( 44);D$(I!); TAB( 61);E$(I!); TAB( 68);F$(I!); TAB( 73);G$(I!)
4030     L% = L% + 1
4040     IF L% = 60 THEN LPRINT CHR$(12) : LPRINT STRING$(5,10) : L% = 5
4050   NEXT I!
4060   PRINT TAB( 30)"";
4070   INPUT " TO CONTINUE ";X%
4080   IF (A$(N2%) = "END") OR (B$(N2%) = "END") THEN 430
4090   IF B$(100) = "" THEN 430
4100   LPRINT CHR$(12)
4110   LPRINT STRING$(4,10)
4120 NEXT J!
4130 GOTO 430
4140 REM**************  MONTH SELECT PRINT OUT  ***************************
4150 CLS
4160 LOCATE 10,25
4170 PRINT "THIS WILL PRINT OUT BY MONTH SELECTION"
4180 PRINT
4190 PRINT TAB( 25)" TO CONTINUE"
4200 PRINT
4210 PRINT TAB( 25)" TO RETURN TO MENU ";
4220 INPUT X%
4230 ON X% GOTO 4240,430
4240 PRINT
4250 PRINT TAB( 25)"WHAT MONTH (ENTER 3 LETTERS -- I.E. JAN,FEB)"
4260 PRINT
4270 PRINT TAB( 25);
4280 INPUT "MONTH ABBREVIATION: ";MO$
4290 LPRINT ITALIC$;DARK$;
4300 LPRINT TAB( 25);"PRINT OUT BY MONTH -- 1982";END.ITALIC$;
4310 LPRINT STRING$(2,10)
4320 GOSUB 4670
4330 FOR J! = 1 TO 50
4340   FOR I! = 2 TO N2%
4350     NF% = I!
4360     IF LEFT$(A$(I!),3) = MO$ THEN LPRINT TAB( 1);NF%; TAB( 7);A$(I!); TAB( 15);B$(I!); TAB( 26);C$(I!); TAB( 44);D$(I!); TAB( 61);E$(I!); TAB( 68);F$(I!); TAB( 73);G$(I!)
4370     IF A$(2) = "" THEN 430
4380   NEXT I!
4390   PRINT
4400   PRINT TAB( 30)"";
4410   INPUT " TO CONTINUE ";X%
4420   IF (A$(N2%) = "END") OR (B$(N2%) = "END") THEN 430
4430 NEXT J!
4440 LPRINT "REF#  DATE   CHECK #     DESCRIPTION   TO/FROM   D#    C#    $$ AMOUNT"
4450 GOTO 430
4460 REM******************  TERMINATION  **********************************
4470 CLS
4480 Y$ = ""
4490 LOCATE 10,20
4500 PRINT "HAVE YOU SAVED YOUR FILE ";
4510 INPUT AY$
4520 IF (Y$ = CHR$(89)) OR (Y$ = CHR$(121)) THEN 4540
4530 IF (Y$ = CHR$(78)) OR (Y$ = CHR$(110)) THEN 430
4540 END
4550 REM*****************  EMPTY FILE CHECK  ******************************
4560 CLS
4570 LOCATE 10,30
4580 PRINT "NO RECORDS IN FILE"
4590 FOR I! = 1 TO 1000
4600 NEXT
4610 GOTO 430
4620 REM***********  HEADING ROUITINE -- SCREEN PRINT  ********************
4630 LOCATE 2,1
4640 PRINT "REF#  DATE    CHECK #    DESCRIPTION       TO/FROM          D#     C#  $$ AMOUNT";
4650 PRINT "????  ?????   ???????    ?????????????     ??????????????  ????   ???? ?????????"
4660 RETURN
4670 REM************  HEADING ROUTINE -- PRINT OUT ************************
4680 LPRINT "REF#  DATE    CHECK #    DESCRIPTION       TO/FROM          D#     C#  $$ AMOUNT";
4690 LPRINT "----  -----   -------    -------------     --------------  ----   ---- ---------"
4700 RETURN
4710 REM*****************  ERROR REPORT ROUTINE  **************************
4720 CLS
4730 CLOSE
4740 LOCATE 10,30
4750 PRINT "ERROR TRAP"
4760 LOCATE 12,30
4770 PRINT "ERROR IS IN LINE "; ERL
4780 LOCATE 14,30
4790 PRINT "ERROR IS "; ERR
4800 LOCATE 16,30
4810 PRINT "PRESS  TO CONTINUE ";
4820 INPUT X%
4830 RESUME 430
4840 CLOSE
4850 END
4860 REM **** PRINTER SUBROUTINES ***
4870 SMALL$ = CHR$(15)
4880 UNSMALL$ = CHR$(18)
4890 EXPAND.SMALL$ = CHR$(14) + CHR$(15)
4900 CANX.EXP.COMP$ = CHR$(18) + CHR$(20)
4910 EXPAND$ = CHR$(14)
4920 EXPAND.END$ = CHR$(20)
4930 DARK$ = CHR$(27) + CHR$(69)
4940 ITALIC$ = CHR$(27) + CHR$(52)
4950 ITALIC.EXP.CON$ = CHR$(14) + CHR$(15) + CHR$(27) + CHR$(52)
4960 ITALIC.EXP$ = CHR$(27) + CHR$(52) + CHR$(14)
4970 END.ITALIC$ = CHR$(27) + CHR$(53)
4980 START.ULINE$ = CHR$(27) + CHR$(45) + CHR$(1)
4990 END.ULINE$ = CHR$(27) + CHR$(45) + CHR$(0)
5000 PERM.EXPAN$ = CHR$(27) + CHR$(87) + CHR$(1)
5010 END.PERMEXP$ = CHR$(27) + CHR$(87) + CHR$(0)
5020 START.DSTRIKE$ = CHR$(27) + CHR$(71)
5030 END.DSTRIKE$ = CHR$(27) + CHR$(72)
5040 TINYLINE$ = CHR$(27) + CHR$(83) + CHR$(0)
5050 END.TINY$ = CHR$(27) + CHR$(84)
5060 ESC$ = CHR$(27)
5070 CLEANUP$ = CHR$(27) + CHR$(64)
5080 RETURN
5090 REM ********* PRINTER ERROR ROUTINE ***************
5100 IF ERR = 24 THEN 5130 ELSE 5110
5110 IF ERR = 25 THEN 5130 ELSE 5120
5120 ON ERROR GOTO 0
5130 KEY OFF
5140 BEEP
5150 BEEP
5160 LOCATE 25,1
5170 PRINT SPC( 79)
5180 LOCATE 25,20
5190 PRINT "CHECK PRINTER - PRESS ANY KEY TO CONTINUE"
5200 IF INKEY$ = "" THEN 5200
5210 KEY ON
5220 RESUME
5230 END
65000 REM**********************  DISK SAVE ROUTINE *************************
65100 SAVE "B:WORKFILE.BAS"