home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Generous Efforts of Many
/
gemcd.zip
/
GEM.CD.A.po
/
FEATURES:BEAGLE
/
UTIL.CITY.SHK
/
UTILITY.CITY
/
MULTI-CAT.bas
< prev
next >
Wrap
BASIC Source File
|
2000-01-01
|
7KB
|
97 lines
20 REM <CTRL-M><CTRL-M>============================<CTRL-M>MULTI-CAT<CTRL-M>MULTI-COLUMN CATALOG PRINTER<CTRL-M>COPYRIGHT (C) 1982<CTRL-M>BY BERT KERSEY<CTRL-M>BEAGLE BROS<CTRL-M>============================<CTRL-J><CTRL-J>
30 PRINT CHR$(4)"PR#0": ONERR GOTO 40
35 SLOT = 1: REM (PRINTER.SLOT)
36 BB = 0: REM LET.BB=1.IF.MULTI-CAT.FAILS.TO.WORK.(SEE.LINE.333)
37 CR$ = CHR$(13): REM (LET.CR$=CHR$(13)+CHR$(10).IF.YOUR.PRINTER.REQUIRES.LINE.FEEDS.INSERTED.IN.LINE.1320.)
38 SS = 0:PW = 80:COL = 3:FI$ = "N":SD = 1:LL = 17:Q$ = CHR$(34):G$ = CHR$(7):BS$ = CHR$(8) + CHR$(8): REM DEFAULT.VALUES
40 PRINT : PRINT CHR$(4);"PR#0":PRT = 1:LF = 30: GOSUB 5000: GOSUB 5010: GOSUB 5020: GOSUB 5050: IF NOT FLAG THEN 6000
42 PRINT "<RETURN> = CATALOG ANOTHER DISK"
43 PRINT " <Q> = QUIT": PRINT : PRINT " <-SELECT";
47 HTAB 6: INPUT " ";A$: IF LEN(A$) THEN A$ = LEFT$(A$,1)
49 IF A$ = "Q" THEN VTAB PEEK(37): PRINT " TYPE ";Q$;"RUN";Q$;" TO CATALOG AGAIN.";: VTAB PEEK(37): END
50 IF A$ = "" THEN 6000
70 VTAB PEEK(37) -3: GOTO 42
99 REM <CTRL-J><CTRL-J>FIND NUMBER OF FILES<CTRL-J>
100 PRT = 0: GOSUB 5010: GOSUB 5020: GOSUB 5050:LF = 1: GOSUB 5000
110 HOME : PRINT : PRINT CHR$(4);"CATALOG"
120 PRT = 1: GOSUB 5010: GOSUB 5020: GOSUB 5050:LF = 30: GOSUB 5000
190 NF = 0: FOR I = 1408 TO 1664 STEP 128
200 FOR LOC = I TO I +39: IF PEEK(LOC) < >160 THEN NF = NF +1: NEXT LOC
205 NEXT I: HOME : PRINT NF;" FILES"
300 REM <CTRL-J><CTRL-J>SET-UP<CTRL-J>
320 PRT = 0:LF = LL: GOSUB 5000: GOSUB 5010: GOSUB 5020: IF FI$ = "Y" THEN PRT = 1
322 GOSUB 5050: PRINT
330 POKE 44578,96: REM RTS.AFTER.FILE.NAME
333 PRINT : PRINT CHR$(4);"PR#";SS: PRINT : PRINT : PRINT : PRINT CHR$(9);PW;"N": IF BB = 0 THEN PRINT CHR$(9);"I"
1300 REM <CTRL-J><CTRL-J>PRINT CATALOG<CTRL-J>
1305 IF LEN(T$) >0 THEN PRINT T$" ";
1306 PRINT "("NF" FILES)": FOR I = 1 TO PW: PRINT "-";: NEXT : PRINT
1310 FILE = 0: PRINT CHR$(4);"CATALOG"
1320 FILE = FILE +1: IF FILE - INT(FILE/COL) *COL = 0 THEN FOR I = 1 TO SD: PRINT CR$;: NEXT : GOTO 1360: REM (SEE.LINE.37.)
1340 PRINT " ";
1360 IF FILE <NF THEN CALL 44581: GOTO 1320
1990 PRINT : FOR I = 1 TO PW: PRINT "-";: NEXT : PRINT : IF SS THEN PRINT : PRINT : PRINT : PRINT
2000 GOTO 40
5000 POKE 44567,LF -1: RETURN : REM LENGTH.OF.FILENAME
5010 LOC = 44578: GOSUB 5110:LOC = 44456: GOSUB 5110:LOC = 44459: GOSUB 5110: RETURN : REM CR'S
5020 LOC = 44596: POKE LOC,234: POKE LOC +1,234: POKE LOC +2,234: IF PRT THEN POKE LOC,206: POKE LOC +1,157: POKE LOC +2,179: REM CAT.STOP
5030 RETURN
5040 REM <CTRL-J><CTRL-J>FILE CODES<CTRL-J>
5050 LOC = 44517: GOSUB 5110: REM LOCK.CODE
5060 LOC = 44537: GOSUB 5110: REM FILE.CODE
5070 LOC = 44542: GOSUB 5110: REM SPACE.AFTER.FILE.CODE
5080 LOC = 44555: GOSUB 5110: REM SECTOR.NUMBERS
5090 LOC = 44560: GOSUB 5110: RETURN : REM SPACE.BEFORE.FILE.NAME
5100 REM <CTRL-J><CTRL-J>PRINT/NO PRINT<CTRL-J>
5110 IF NOT PRT THEN POKE LOC,234: POKE LOC +1,234: POKE LOC +2,234: RETURN : REM CANCEL.PRINT
5120 IF LOC = 44555 THEN POKE LOC,32: POKE LOC +1,66: POKE LOC +2,174: RETURN : REM INSTALL.PRINT.SECTOR.#'S
5125 IF LOC = 44578 OR LOC = 44456 OR LOC = 44459 THEN POKE LOC,32: POKE LOC +1,47: POKE LOC +2,174: RETURN : REM INSTALL.PRINT.CR'S
5130 POKE LOC,32: POKE LOC +1,237: POKE LOC +2,253: RETURN : REM INSTALL.PRINT.CHARACTERS
5999 REM <CTRL-J><CTRL-J>INPUT<CTRL-J>
6000 TEXT : PRINT CHR$(21): HOME : SPEED= 234:EDIT = 0
6020 VTAB 1: HTAB 1: PRINT "MULTI-COLUMN CATALOG PRINTER ": PRINT "----------------------------------------";: PRINT "COPYRIGHT (C), 1981, BEAGLE BROS": PRINT : PRINT
6030 GOSUB 6290: GOSUB 6310: SPEED= 255
6040 TEMP$ = T$: VTAB 6: HTAB 1: INPUT "ENTER DISK TITLE: ";T$: IF T$ = "" THEN T$ = TEMP$
6045 IF T$ = "Q" THEN T$ = "QUIT"
6052 IF T$ = "QUIT" THEN VTAB 23: END
6053 GOSUB 6310: IF FLAG AND NOT EDIT THEN 6210
6054 FLAG = 1:TEMP$ = SS$: VTAB 8: HTAB 19: INPUT " ";A$: IF LEFT$(A$,1) = "Y" OR LEFT$(A$,1) = "N" THEN SS$ = A$
6055 IF A$ = "" THEN SS$ = TEMP$
6056 SS = 0: IF LEFT$(SS$,1) = "Y" THEN SS = SLOT
6058 GOSUB 6310
6060 VTAB 9: HTAB 19: INPUT " ";A$: IF VAL(A$) <641 AND VAL(A$) >0 THEN PW = VAL(A$)
6080 GOSUB 6309
6090 VTAB 10: HTAB 19: INPUT " ";A$: IF VAL(A$) >0 AND VAL(A$) <100 THEN COL = VAL(A$)
6110 GOSUB 6309
6120 VTAB 11: HTAB 19: INPUT " ";A$: IF LEN(A$) THEN A$ = LEFT$(A$,1): IF A$ = "Y" OR A$ = "N" THEN FI$ = A$
6140 LL = INT(PW/COL):LL = LL -9 +7 *(FI$ = "N"): IF LL <1 THEN PRINT G$;G$: GOSUB 6310: GOTO 6060: REM LL=LENGTH.OF.FILE+CODES
6150 IF LL >30 THEN LL = 30
6160 GOSUB 6310
6170 VTAB 12: HTAB 19: INPUT " ";A$: IF VAL(A$) >0 AND VAL(A$) <10 THEN SD = VAL(A$)
6190 GOSUB 6309
6200 GOSUB 6290
6210 VTAB 17: HTAB 1: CALL -958: INVERSE : PRINT " INSERT DISK AND SELECT: ": NORMAL
6220 PRINT : GOSUB 6300: PRINT "<RETURN> = PRINT CATALOG.": GOSUB 6300: PRINT " <C> = CHANGE PARAMETERS.": GOSUB 6300: PRINT " <Q> = QUIT.": GOSUB 6300: PRINT : GOSUB 6300: GOSUB 6290: GOSUB 6300: PRINT " <-SELECT";: HTAB 6: INPUT " ";A$
6230 IF LEN(A$) THEN A$ = LEFT$(A$,1)
6240 IF A$ < >"" AND A$ < >"Q" AND A$ < >"C" THEN 6210
6260 CALL -958: IF A$ = "Q" THEN 49
6270 IF A$ = "C" THEN EDIT = 1: GOTO 6020
6280 GOTO 100
6290 FOR I = 1 TO 333: NEXT : RETURN
6300 FOR I = 1 TO 5:S = PEEK( -16336): NEXT : RETURN
6309 IF LEN(A$) AND VAL(A$) = 0 THEN PRINT G$;
6310 VTAB 6: HTAB 1: PRINT "DISK TITLE: ";T$;: IF T$ = "" AND FLAG THEN PRINT "(NONE)";
6315 CALL -868
6320 VTAB 7: HTAB 1: PRINT "----------------------------------------";
6322 SS$ = "YES": IF SS = 0 THEN SS$ = "NO"
6325 VTAB 8: HTAB 1: PRINT "PRINTER ON? ";SS$;: CALL -868
6330 VTAB 9: HTAB 1: PRINT "PRINTER WIDTH: ";PW;: CALL -868
6340 VTAB 10: HTAB 1: PRINT "CATALOG COLUMNS: ";COL;: CALL -868
6350 X$ = "YES": IF FI$ = "N" THEN X$ = "NO"
6360 VTAB 11: HTAB 1: PRINT "PRINT FILE CODES? ";X$;: CALL -868
6370 VTAB 12: HTAB 1: PRINT "VERTICAL SPACING: ";SD;: CALL -868
6375 LL = INT(PW/COL):LL = LL -9 +7 *(FI$ = "N"): IF LL >30 THEN LL = 30
6380 VTAB 15: HTAB 1: PRINT "----------------------------------------": IF EDIT THEN PRINT "<RETURN> DEFAULTS TO PRINTED VALUES.";: CALL -958
6390 VTAB 14: HTAB 1: PRINT "(FILE NAME LENGTH: ";: CALL -868: GOSUB 6300: IF LL <4 THEN FLASH
6400 PRINT LL;: NORMAL : PRINT ")": RETURN
65535 REM <CTRL-M><CTRL-M>============================<CTRL-M>MULTI-COLUMN CATALOG PRINTER<CTRL-M>COPYRIGHT (C) 1982<CTRL-M>BY BERT KERSEY<CTRL-M>BEAGLE BROS<CTRL-M>============================