Source:Dungeon Blank Map Maker

From Eamon Wiki
Jump to navigation Jump to search
This page is a verbatim reproduction of original source material and should not be edited except for maintenance.
Description

The Applesoft BASIC source code of the Eamon utility program Dungeon Blank Map Maker.

Source

Eamon CD

Date

November 1994

Author

Phillip Moore, with additions by Tom Zuchowski

License

The use of this item is permitted on the grounds that it's free or in the public domain.

10  REM  DUNGEON BLANK MAP MAKER 1.0
20  REM 
30  REM  PHILLIP MOORE
40  REM  NOV 1994
50  REM 
60  REM  MANY INPUTS BY
70  REM  TOM ZUCHOWSKI
80  REM 
90  REM 

EAMON ADVENTURER'S GUILD
7625 HAWKHAVEN DR.
CLEMMONS, NC 27012-9408

100  REM ***********************
110  REM 

SET, DESCRIBE VARIABLES

120  REM ***********************
130  REM  SPC = SPACES USED IN FOR NEXT LOOPS
140  REM  A, B, C, D = COUNTERS IN FOR NEXT LOOPS
150  REM  A$ = Y/N ANSWERS TO QUESTIONS
160  REM  DL$ = DASH LINE
170  REM  NP$ = VIEW NEXT PAGE INPUT
180  REM  VL$ = VERTICAL LINE
190  REM  PR$ = PRINTS SELECTED PRINTER ON SCREEN
200  REM  MS$ = MACHANICAL SWITCH FOR NON ASCII PRINTER
210 LP = 0: REM  LPI INDICATOR
220 CP = 0: REM  CPI INDICATOR
230 SL = 0: REM  PRINTER SLOT LOCATION
240 PR = 0: REM  SELECTED PRINTER
250 D$ =  CHR$ (4): REM  CONTROL D (DOS COMMAND)
260 CS = 7: REM  COLUMN SPACE
270 CO = 0: REM  # COLUMNS
280 BH = 0: REM  BOX HEIGHT
290 BL = 0: REM  BLANK LINES
300 CY = 0: REM  # OF COPIES
310 RO = 0: REM  # OF ROWS
320 TB = 0: REM  TOTAL BLOCKS PER PG
1000  REM ***********************
1010  REM 

START UP SCREEN

1020  REM ***********************
1030  IF SL > 0 AND PR > 0 THEN 2000
1040  CALL  - 936: HTAB 6: INVERSE : PRINT "DUNGEON BLANK MAP MAKER 2.0": NORMAL 
1050  VTAB 13: PRINT "DO YOU WISH TO SEE THE NOTES Y/N? [ ]"
1060 A$ = "N": HTAB 36: VTAB 13: PRINT A$ CHR$ (8);: REM  SELF PROMPT
1070  GET A$: PRINT A$
1080  IF A$ = "Y" OR A$ = "y" THEN  PRINT D$;"RUN MAP.MAKER.NOTES"
1090  IF A$ = "N" OR A$ = "n" OR A$ =  CHR$ (13) THEN 2000
1100  IF A$ <  > "Y" AND A$ <  > "N" THEN 1050
2000  REM ***********************
2010  REM 

SCREEN STUFF

2020  REM ***********************
2030  GOSUB 8030: REM  SCREEN STUFF
2040  HTAB 7: VTAB 5: PRINT "PRESS  1   FOR  4 ROWS"
2050  HTAB 7: VTAB 6: PRINT "PRESS  2   FOR  5 ROWS"
2060  HTAB 7: VTAB 7: PRINT "PRESS  3   FOR  6 ROWS"
2070  HTAB 7: VTAB 8: PRINT "PRESS  4   FOR  7 ROWS
2080  HTAB 7: VTAB 9: PRINT "PRESS  5   FOR  8 ROWS"
2090  HTAB 7: VTAB 10: PRINT "PRESS  6   FOR  9 ROWS"
2100  HTAB 7: VTAB 11: PRINT "PRESS  7   FOR 10 ROWS"
2110  HTAB 7: VTAB 15: PRINT "HOW MANY ROWS (1 - 7)?";
2120  GET RO: PRINT RO;
2130  IF RO < 1 OR RO > 7 THEN 2110
2140  IF RO = 1 THEN  LET RO = 4: GOTO 2210: REM  4 ROWS
2150  IF RO = 2 THEN  LET RO = 5: GOTO 2210: REM  5 ROWS
2160  IF RO = 3 THEN  LET RO = 6: GOTO 2210: REM  6 ROWS
2170  IF RO = 4 THEN  LET RO = 7: GOTO 2210: REM  7 ROWS
2180  IF RO = 5 THEN  LET RO = 8: REM  8 ROWS
2190  IF RO = 6 THEN  LET RO = 9: REM  9 ROWS
2200  IF RO = 7 THEN  LET RO = 10: REM  10 ROWS
2210  HTAB 5: VTAB 17: INPUT "HOW MANY COLUMNS (4 - 10)?";CO
2220  IF CO < 4 OR CO > 10 THEN 2210
2230  HTAB 10: VTAB 19: INPUT "HOW MANY COPIES?";CY
2240  IF CY < 1 THEN 2230
2250  GOSUB 8030: REM  SCREEN STUFF
2260  GOSUB 8060: REM  SCREEN STUFF
2270  IF SL > 0 AND PR > 0 THEN 2620: REM  AVOIDS REQUIREMENT OF 2ND INPUT OF PRINTER AND SLOT INFORMATION
2280  HTAB 1: VTAB 18: PRINT "WHAT SLOT IS YOUR PRINTER IN (1 - 4)?";
2290  GET SL: PRINT SL;
2300  IF SL < 1 OR SL > 4 THEN 2280
2310  CALL  - 936: VTAB 1: HTAB 12: INVERSE : PRINT "SELECT YOUR PRINTER": NORMAL 
2320  HTAB 13: VTAB 3: PRINT "1. OKIDATA 92 & 93"
2330  HTAB 13: VTAB 4: PRINT "2. STAR"
2340  HTAB 13: VTAB 5: PRINT "3. STAR MICRO"
2350  HTAB 13: VTAB 6: PRINT "4. PANASONIC KX-P1124"
2360  HTAB 13: VTAB 7: PRINT "5. IMAGEWRITER I & II"
2370  HTAB 13: VTAB 8: PRINT "6. EPSON LX, LQ"
2380  HTAB 13: VTAB 9: PRINT "7. YOUR PRINTER": REM  PUT YOUR PRINTER NAME HERE
2390  HTAB 13: VTAB 10: PRINT "8. NON ASCII PRINTER": REM  NON ASCII CONTROL PRINTER
2400  REM  REMOVE THE REMS, ADD THE REQUIRED NAME AND CODE IN LINE NUMBERS 2380, 2510, 5480 - 6000, 7310 - 7330, ADD 80 COL INTERFACE CODE AS REQUIRED TO 5030 - 5040
2410  HTAB 12: VTAB 23: PRINT "SELECT PRINTER?";
2420  GET PR: PRINT PR;
2430  IF PR < 1 OR PR > 8 THEN 2410
2440  GOSUB 8030: REM  SCREEN STUFF
2450  IF PR = 1 THEN  LET PR$ = "OKIDATA 92 & 93"
2460  IF PR = 2 THEN  LET PR$ = "STAR"
2470  IF PR = 3 THEN  LET PR$ = "STAR MICRO"
2480  IF PR = 4 THEN  LET PR$ = "PANASONIC KX-P1124"
2490  IF PR = 5 THEN  LET PR$ = "IMAGEWRITER I & II"
2500  IF PR = 6 THEN  LET PR$ = "EPSON LX, LQ"
2510  IF PR = 7 THEN  LET PR$ = "YOUR PRINTER": REM  ADD YOUR PRINTER NAME
2520  IF PR = 8 THEN  LET PR$ = "NON ASCII PRINTER": REM  NON ASCII CONTROL PRINTER
2530  HTAB 4: VTAB 14: INVERSE : PRINT "YOUR PRINTER IS ";PR$: NORMAL 
2540  HTAB 7: VTAB 15: INVERSE : PRINT "YOUR PRINTER IS IN SLOT ";SL: NORMAL 
2550  GOSUB 8060: REM  SCREEN STUFF
2560  HTAB 6: VTAB 18: PRINT "PRINTER TURNED ON Y/N? [ ]"
2570 A$ = "Y": HTAB 30: VTAB 18: PRINT A$ CHR$ (8);: REM  SELF PROMPT
2580  GET A$: PRINT A$
2590  IF A$ = "Y" OR A$ = "y" OR A$ =  CHR$ (13) THEN 2620
2600  IF A$ = "N" OR A$ = "n" THEN 8170
2610  IF A$ <  > "Y" AND A$ <  > "N" THEN 2560
2620  IF PR <  > 8 THEN 3000: REM  SKIP OVER 10/12 - 17 CPI, 6 - 8 LPI SELECTOR
2630  REM  LINES 2640 - 2810 ARE LINES NEEDED TO ALLOW A MECHANICAL SWITCH TO BE MOVED TO SWITCH BETWEEN 10/12, 17 CPI, 6 - 8 LPI
2640  REM  ** PRINTER 10/12 - 17 CPI SELECTOR **
2650  IF CO <  = 5 AND CP = 10 THEN 3000
2660  IF CO <  = 5 THEN CP = 10: VTAB 19: HTAB 8: PRINT "SET PRINTER TO 10 CPI NOW": VTAB 23: HTAB 8: INPUT "PRESS RETURN TO CONTINUE";MS$
2670  IF MS$ =  CHR$ (13) THEN 3000: REM  10 CPI
2680  IF CO =  > 9 THEN 2720
2690  IF CO =  > 6 AND CP = 12 THEN 3000
2700  IF CO =  > 6 THEN CP = 12: VTAB 19: HTAB 8: PRINT "SET PRINTER TO 12 CPI NOW": VTAB 23: HTAB 8: INPUT "PRESS RETURN TO CONTINUE";MS$
2710  IF MS$ =  CHR$ (13) THEN 3000: REM  12 CPI
2720  IF CO =  > 9 AND CP = 17 THEN 3000
2730  IF CO =  > 9 THEN CP = 17: VTAB 19: HTAB 8: PRINT "SET PRINTER TO 17 CPI NOW": VTAB 23: HTAB 8: INPUT "PRESS RETURN TO CONTINUE";MS$
2740  IF MS$ =  CHR$ (13) THEN 3000: REM  17 CPI
2750  IF RO <  = 5 AND LP = 8 THEN 2770
2760  IF RO =  > 6 THEN 2790
2770  IF RO <  = 5 THEN LP = 6: VTAB 21: HTAB 8: PRINT "SET PRINTER TO 6 LPI NOW": VTAB 23: HTAB 8: INPUT "PRESS RETURN TO CONTINUE";MS$
2780  IF MS$ =  CHR$ (13) THEN 3000: REM  6 LPI
2790  IF RO =  > 6 AND LP = 8 THEN 3000
2800  IF RO =  > 6 THEN LP = 8: VTAB 21: HTAB 8: PRINT "SET PRINTER TO 8 LPI NOW": VTAB 23: HTAB 8: INPUT "PRESS RETURN TO CONTINUE";MS$
2810  IF MS$ =  CHR$ (13) THEN 3000: REM  8 LPI
3000  REM ***********************
3010  REM 

BOX SIZE & SPACING

3020  REM ***********************
3030  IF RO = 4 THEN 3100: REM  4 ROWS
3040  IF RO = 5 THEN 3170: REM  5 ROWS
3050  IF RO = 6 THEN 3240: REM  6 ROWS
3060  IF RO = 7 THEN 3310: REM  7 ROWS
3070  IF RO = 8 THEN 3380: REM  8 ROWS
3080  IF RO = 9 THEN 3450: REM  9 ROWS
3090  IF RO = 10 THEN 3520: REM  10 ROWS
3100  REM  4 ROWS
3110  LET BH = 8: LET BL = 6: REM  BOX HEIGHT, BLANK LINES
3120  IF CO = 4 THEN 4000: REM  16 BLOCKS
3130  IF CO = 5 THEN CS = 5: GOTO 4000: REM  20 BLOCKS
3140  IF CO = 6 OR CO = 7 THEN CS = 4: GOTO 4000: REM  24 - 28 BLOCKS
3150  IF CO = 8 OR CO = 9 THEN CS = 3: GOTO 4000: REM  32 - 36 BLOCKS
3160  IF CO = 10 THEN CS = 2: GOTO 4000: REM  40 BLOCKS
3170  REM  5 ROWS
3180  LET BH = 6: LET BL = 5: REM  BOX HEIGHT, BLANK LINES
3190  IF CO = 4 THEN 4000: REM  20 BLOCKS
3200  IF CO = 5 THEN CS = 5: GOTO 4000: REM  25 BLOCKS
3210  IF CO = 6 THEN CS = 4: GOTO 4000: REM  30 BLOCKS
3220  IF CO = 7 OR CO = 9 THEN CS = 3: GOTO 4000: REM  35 - 45 BLOCKS
3230  IF CO = 8 OR CO = 10 THEN CS = 2: GOTO 4000: REM  40 - 50 BLOCKS
3240  REM  6 ROWS
3250  LET BH = 7: LET BL = 5: REM  BOX HEIGHT, BLANK LINES
3260  IF CO = 4 THEN 4000: REM  24 BLOCKS
3270  IF CO = 5 THEN CS = 5: GOTO 4000: REM  30 BLOCKS
3280  IF CO = 6 THEN CS = 4: GOTO 4000: REM  36 BLOCKS
3290  IF CO = 7 OR CO = 9 THEN CS = 3: GOTO 4000: REM  42 - 54 BLOCKS
3300  IF CO = 8 OR CO = 10 THEN CS = 2: GOTO 4000: REM  48 - 60 BLOCKS
3310  REM  7 ROWS
3320  LET BH = 6: LET BL = 4: REM  BOX HEIGHT, BLANK LINES
3330  IF CO = 4 THEN 4000: REM  28 BLOCKS
3340  IF CO = 5 THEN CS = 5: GOTO 4000: REM  35 BLOCKS
3350  IF CO = 6 THEN CS = 4: GOTO 4000: REM  42 BLOCKS
3360  IF CO = 7 OR CO = 9 THEN CS = 3: GOTO 4000: REM  49 - 63 BLOCKS
3370  IF CO = 8 OR CO = 10 THEN CS = 2: GOTO 4000: REM  56 - 70 BLOCKS
3380  REM  8 ROWS
3390  LET BH = 6: LET BL = 3: REM  BOX HEIGHT, BLANK LINES
3400  IF CO = 4 THEN 4000: REM  32 BLOCKS
3410  IF CO = 5 THEN CS = 5: GOTO 4000: REM  40 BLOCKS
3420  IF CO = 6 THEN CS = 4: GOTO 4000: REM  48 BLOCKS
3430  IF CO = 7 OR CO = 9 THEN CS = 3: GOTO 4000: REM  56 - 72 BLOCKS
3440  IF CO = 8 OR CO = 10 THEN CS = 2: GOTO 4000: REM  64 - 80 BLOCKS
3450  REM  9 ROWS
3460  LET BH = 5: LET BL = 3: REM  BOX HEIGHT, BLANK LINES
3470  IF CO = 4 THEN 4000: REM  36 BLOCKS
3480  IF CO = 5 THEN CS = 5: GOTO 4000: REM  45 BLOCKS
3490  IF CO = 6 THEN CS = 4: GOTO 4000: REM  54 BLOCKS
3500  IF CO = 7 OR CO = 9 THEN CS = 3: GOTO 4000: REM  63 - 81 BLOCKS
3510  IF CO = 8 OR CO = 10 THEN CS = 2: GOTO 4000: REM  72 - 90 BLOCKS
3520  REM  10 ROWS
3530  LET BH = 4: LET BL = 3: REM  BOX HEIGHT, BLANK LINES
3540  IF CO = 4 THEN 4000: REM  40 BLOCKS
3550  IF CO = 5 THEN CS = 5: GOTO 4000: REM  50 BLOCKS
3560  IF CO = 6 THEN CS = 4: GOTO 4000: REM  60 BLOCKS
3570  IF CO = 7 OR CO = 9 THEN CS = 3: GOTO 4000: REM  70 - 90 BLOCKS
3580  IF CO = 8 OR CO = 10 THEN CS = 2: GOTO 4000: REM  80 - 100 BLOCKS
4000  REM ***********************
4010  REM 

GET DL$ & VL$ SIZE

4020  REM ***********************
4030  REM  WHEN REDUCING DL$ - REDUCE VL$ AN EQUAL NUMBER FOR THE SAME CO NUMBER
4040 DL$ = " ------------ ": REM  TOPS & BOTTOMS OF BOX 12 DASHES, 2 SPACES
4050  IF CO > 4 THEN  LET DL$ = " ---------- ": REM  10 DASHES, 2 SPACES
4060  IF CO > 5 THEN  LET DL$ = " --------- ": REM  9 DASHES, 2 SPACES
4070  IF CO > 6 THEN  LET DL$ = " -------- ": REM  8 DASHES, 2 SPACES
4080  IF CO = 8 THEN  LET DL$ = " ------- ": REM  7 DASHES, 2 SPACES
4090  IF CO = 9 THEN  LET DL$ = " ---------- ": REM  10 DASHES, 2 SPACES
4100  IF CO = 10 THEN  LET DL$ = " --------- ": REM  9 DASHES, 2 SPACES
4110  REM  WHEN REDUCING VL$ - REDUCE DL$ AN EQUAL NUMBER FOR THE SAME CO NUMBER
4120 VL$ = "|            |": REM  SIDES OF BOX 12 SPACES
4130  IF CO > 4 THEN  LET VL$ = "|          |": REM  10 SPACES
4140  IF CO > 5 THEN  LET VL$ = "|         |": REM  9 SPACES
4150  IF CO > 6 THEN  LET VL$ = "|        |": REM  8 SPACES
4160  IF CO = 8 THEN  LET VL$ = "|       |": REM  7 SPACES
4170  IF CO = 9 THEN  LET VL$ = "|          |": REM  10 SPACES
4180  IF CO = 10 THEN  LET VL$ = "|         |": REM  9 SPACES
5000  REM ***********************
5010  REM 

PRINTER CODES

5020  REM ***********************
5030  PRINT D$;"PR#";SL: REM  WAKES UP PRINTER INTERFACE IN SLOT SL
5040  REM  SPARE LINE FOR YOUR USE
5050  IF PR = 1 THEN 5130: REM  SELECTS OKIDATA 92 & 93 PRINTER CODES
5060  IF PR = 2 THEN 5200: REM  SELECTS STAR PRINTER CODES
5070  IF PR = 3 THEN 5270: REM  SELECTS STAR MICRO PRINTER CODES
5080  IF PR = 4 THEN 5340: REM  SELECTS PANASONIC KX-P1124 PRINTER CODES
5090  IF PR = 5 THEN 5410: REM  SELECTS IMAGEWRITER I & II PRINTER CODES
5100  IF PR = 6 THEN 5200: REM  SELECTS EPSON LX, LQ PRINTER CODES
5110  IF PR = 7 THEN 5480: REM  GETS YOUR PRINTER CODES
5120  IF PR = 8 THEN 6000: REM  NON ASCII PRINTER CONTROL
5130  REM  **** OKIDATA 92 & 93 PRINTER CODES
5140  IF RO <  = 5 THEN  PRINT  CHR$ (27); CHR$ (54): REM  6 LPI
5150  IF RO =  > 6 THEN  PRINT  CHR$ (27); CHR$ (56): REM  8 LPI
5160  IF CO <  = 5 THEN  PRINT  CHR$ (30): REM  10 CPI
5170  IF CO =  > 6 THEN  PRINT  CHR$ (28): REM  12 CPI
5180  IF CO =  > 9 THEN  PRINT  CHR$ (29): REM  17 CPI
5190  GOTO 6000
5200  REM  **** STAR, EPSON LX, LQ PRINTER CODES
5210  IF RO <  = 5 THEN  PRINT  CHR$ (27); CHR$ (50): REM  6 LPI
5220  IF RO =  > 6 THEN  PRINT  CHR$ (27); CHR$ (48): REM  8 LPI
5230  IF CO <  = 5 THEN  PRINT  CHR$ (27); CHR$ (80): REM  10 CPI
5240  IF CO =  > 6 THEN  PRINT  CHR$ (27); CHR$ (77): REM  12 CPI
5250  IF CO =  > 9 THEN  PRINT  CHR$ (15): REM  17 CPI
5260  GOTO 6000
5270  REM  **** STAR MICRO PRINTER CODES
5280  IF RO <  = 5 THEN  PRINT  CHR$ (27); CHR$ (50): REM  6 LPI
5290  IF RO =  > 6 THEN  PRINT  CHR$ (27); CHR$ (48): REM  8 LPI
5300  IF CO <  = 5 THEN  PRINT  CHR$ (27); CHR$ (66); CHR$ (1): REM  10 CPI
5310  IF CO =  > 6 THEN  PRINT  CHR$ (27); CHR$ (66); CHR$ (2): REM  12 CPI
5320  IF CO =  > 9 THEN  PRINT  CHR$ (27); CHR$ (66); CHR$ (3): REM  17 CPI
5330  GOTO 6000
5340  REM  **** PANASONIC KX-P1124 PRINTER CODES
5350  IF RO <  = 5 THEN  PRINT  CHR$ (27); CHR$ (50): REM  6 LPI
5360  IF RO =  > 6 THEN  PRINT  CHR$ (27); CHR$ (48): REM  8 LPI
5370  IF CO <  = 5 THEN  PRINT  CHR$ (27); CHR$ (80): REM  10 CPI
5380  IF CO =  > 6 THEN  PRINT  CHR$ (27); CHR$ (77): REM  12 CPI
5390  IF CO =  > 9 THEN  PRINT  CHR$ (27); CHR$ (15): REM  17 CPI
5400  GOTO 6000
5410  REM  **** IMAGEWRITER I & II PRINTER CODES
5420  IF RO <  = 5 THEN  PRINT  CHR$ (27); CHR$ (65): REM  6 LPI
5430  IF RO =  > 6 THEN  PRINT  CHR$ (27); CHR$ (66): REM  8 LPI
5440  IF CO <  = 5 THEN  PRINT  CHR$ (27); CHR$ (78): REM  10 CPI
5450  IF CO =  > 6 THEN  PRINT  CHR$ (27); CHR$ (69): REM  12 CPI
5460  IF CO =  > 9 THEN  PRINT  CHR$ (27); CHR$ (81): REM  17 CPI
5470  GOTO 6000
5480  REM  **** PUT YOUR PRINTER NAME HERE SEE ABOVE EXAMPLE
5490  REM  REMOVE THE 1ST REM IN LINES 5500 - 5540 TO MAKE THESE PRINTER CODES WORK THEN ADD THE ASCII PRINTER CODES AS REQUIRED FOR LPI & CPI
5500  REM  IF RO < = 5 THEN PRINT CHR$ (); CHR$ (): REM 6 LPI
5510  REM  IF RO = > 6 THEN PRINT CHR$ (); CHR$ (): REM 8 LPI
5520  REM  IF CO < = 5 THEN PRINT CHR$ (); CHR$ (): REM 10 CPI
5530  REM  IF CO = > 6 THEN PRINT CHR$ (); CHR$ (): REM 12 CPI
5540  REM  IF CO = > 9 THEN PRINT CHR$ (); CHR$ (): REM 17 CPI
6000  REM ***********************
6010  REM 

PRINT THE BLOCKS

6020  REM ***********************
6030  FOR C = 1 TO CY: REM  # OF COPIES
6040  FOR A = 1 TO RO: REM  # OF ROWS OF BLOCKS
6050  FOR B = 1 TO CO: REM  TOP OF BLOCKS
6060  PRINT DL$;: REM  PRINTS DASHED LINES ON TOP & BOTTOM BLOCKS
6070  PRINT  SPC( CS * (B < CO));: REM  COLUMNS & SPACES
6080  NEXT B
6090  PRINT : REM  CONTROLS LOC OF TOP SIDES
6100  FOR B = 1 TO BH: REM  BOX HEIGHT
6110  FOR D = 1 TO CO: REM  SIDES OF BLOCKS
6120  PRINT VL$;: REM  PRINTS VERTICAL LINES OF BLOCKS
6130  PRINT  SPC( CS * (D < CO));: REM  COLUMNS & SPACES
6140  NEXT D
6150  PRINT : REM  CONTROLS LOC OF BOTTOM SIDES
6160  NEXT B
6170  FOR B = 1 TO CO: REM  BOTTOM OF BLOCKS
6180  PRINT DL$;: REM  PRINTS DASH LINES ON TOP & BOTTOM BLOCKS
6190  PRINT  SPC( CS * (B < CO));: REM  COLUMNS & SPACES
6200  NEXT B
6210  FOR B = 1 TO BL: REM  BLANK LINES BETWEEN BLOCKS
6220  PRINT : REM  CONTROLS LOC BOX TOPS
6230  NEXT B
6240  NEXT A
6250  NEXT C
7000  REM ***********************
7010  REM 

ITS PLAY TIME

7020  REM ***********************
7030  IF PR = 1 THEN 7110: REM  GOTO OKIDATA 92 & 93 PRINTER CODE
7040  IF PR = 2 THEN 7150: REM  GOTO STAR PRINTER CODE
7050  IF PR = 3 THEN 7190: REM  GOTO STAR MICRO PRINTER CODE
7060  IF PR = 4 THEN 7230: REM  GOTO PANASONIC KX-P1124 PRINTER CODE
7070  IF PR = 5 THEN 7270: REM  GOTO IMAGEWRITER I & II PRINTER CODE
7080  IF PR = 6 THEN 7150: REM  GOTO EPSON LX, LQ PRINTER CODE
7090  IF PR = 7 THEN 7310: REM  GOTO YOUR PRINTER CODE
7100  IF PR = 8 THEN 7340: REM  GOTO NON ASCII PRINTER CONTROL
7110  REM  **** OKIDATA 92 & 93 PRINTER CODE
7120  REM  OKIDATA 92 & 93 PRINTER CODE SPARE LINE
7130  PRINT  CHR$ (12): REM  ADVANCES PAPER TO TOP OF NEXT PAGE
7140  GOTO 7340
7150  REM  **** STAR, EPSON LX, LQ PRINTER CODE
7160  REM  STAR, EPSON LX, LQ PRINTER CODE SPARE LINE
7170  PRINT  CHR$ (12): REM  ADVANCES PAPER TO TOP OF NEXT PAGE
7180  GOTO 7340
7190  REM  **** STAR MICRO PRINTER CODE
7200  REM  STAR PRINTER CODE SPARE LINE
7210  PRINT  CHR$ (12): REM  ADVANCES PAPER TO TOP OF NEXT PAGE
7220  GOTO 7340
7230  REM  **** PANASONIC KX-P1124 PRINTER CODE
7240  REM  PANASONIC 1124 PRINTER CODE SPARE LINE
7250  PRINT  CHR$ (12): REM  ADVANCES PAPER TO TOP OF NEXT PAGE
7260  GOTO 7340
7270  REM  **** IMAGEWRITER I & II PRINTER CODE
7280  REM  IMAGEWRITER I & II PRINTER CODE SPARE LINE
7290  PRINT  CHR$ (12): REM  ADVANCES PAPER TO TOP OF NEXT PAGE
7300  GOTO 7340
7310  REM  **** PUT YOUR PRINTER CODE IN LINES 7310 - 7330 AND REMOVE THE REMS
7320  REM  PUT YOUR PRINTER CODE - HERE SPARE LINE
7330  PRINT  CHR$ (12): REM  ADVANCES PAPER TO TOP OF NEXT PAGE
7340  PRINT D$;"PR#0": REM  TURNS OFF PRINTER INTERFACE
7350  CALL  - 936: REM  CLEARS SCREEN AND HOMES CURSOR
7360  HTAB 10: VTAB 10: PRINT "PRINT MORE MAPS  Y/N? [ ]"
7370 A$ = "N": VTAB 10: HTAB 33: PRINT A$ CHR$ (8);: REM  SELF PROMPT
7380  GET A$: PRINT A$
7390  IF A$ = "Y" OR A$ = "y" THEN 250
7400  IF A$ = "N" OR A$ = "n" OR A$ =  CHR$ (13) THEN 7420
7410  IF A$ <  > "Y" AND A$ <  > "N" THEN 7360
7420  CALL  - 936: HTAB 15: VTAB 12: PRINT "BYE BYE": END : REM  CLEARS SCREEN, HOMES CURSOR, ENDS PROGRAM
8000  REM ***********************
8010  REM 

SCREEN STUFF

8020  REM ***********************
8030  CALL  - 936
8040  HTAB 4: VTAB 1: PRINT "ROWS ARE PRINTED LEFT - RIGHT"
8050  HTAB 4: VTAB 3: PRINT "COLUMNS ARE PRINTED UP - DOWN": RETURN 
8060  HTAB 4: VTAB 6: PRINT "YOU HAVE SELECTED ";CY" COPIES"
8070  HTAB 4: VTAB 8: PRINT "YOU HAVE SELECTED ";RO" ROWS"
8080  HTAB 4: VTAB 10: PRINT "YOU HAVE SELECTED ";CO" COLUMNS"
8090 TB = (RO * CO): REM  TOTAL BLOCKS PER PG
8100  HTAB 4: VTAB 12: PRINT "THIS WILL PRINT  ";TB" BLOCKS A PAGE"
8110  HTAB 8: VTAB 16: PRINT "IS THIS CORRECT Y/N? [ ]"
8120 A$ = "Y": HTAB 30: VTAB 16: PRINT A$ CHR$ (8);: REM  SELF PROMPT
8130  GET A$: PRINT A$
8140  IF A$ = "Y" OR A$ = "y" OR A$ =  CHR$ (13) THEN  RETURN 
8150  IF A$ = "N" OR A$ = "n" THEN 8170
8160  IF A$ <  > "Y" AND A$ <  > "N" THEN 8060
8170  HTAB 2: VTAB 20: PRINT "DO YOU WISH TO START OVER Y/N? [ ]"
8180 A$ = "Y": HTAB 34: VTAB 20: PRINT A$ CHR$ (8);: REM  SELF PROMPT
8190  GET A$: PRINT A$
8200  IF A$ = "Y" OR A$ = "y" OR A$ =  CHR$ (13) THEN 210
8210  IF A$ = "N" OR A$ = "n" THEN 2250
8220  IF A$ <  > "Y" AND A$ <  > "N" THEN 8170