Classic Computer Magazine Archive ANTIC VOL. 7, NO. 8 / DECEMBER 1988

Tech Tips


PRINT SHOP DIRECTORY

This list by Harvey Daye of Franklin, Ohio is a useful directory of correct byte checks when reading Print Shop data disks (sectors 362-393):

Byte #
1,2,3
1,2,3
1,2,3
22
22
22
22
Value
42 4F 2E
46 4F 2E
43 4C 2E
02
02
02
1E
Type
Border
Font
Calendar
Graphic icon
Creature maker
Tile magic
Screen magic

The Byte # refers to the 32-byte directory listing for each entry on the data disk. The Value is in hexadecimal format as it appears on the the disk. Use an ATASCII/decimal conversion chart to convert the information for the routine you are using. Graphic icons, Creature Maker and Tile Magic all save in the same form and are all usable as icons from Print Shop and Print Shop Companion.

Below is Dave's routine for reading Print Shop directory entries. It won't crash on disks formatted with Percom or other drives that write a "1A" instead of a 0 when formatting a disk.

100 DIM SR$(55),S$(128),T$(15)
200 REM LINE 1950 FROM ICONVERTER OR LINE 2650 FROM DESIGNER LABELS
300 X = USR(ADR(SR$),ADR(S$),361,1,3):IF S$(1,15)<>"PRINT SHOP:CLK!" THEN END:REM GOTO YOUR ERROR TRAP ROUTINE
600 ? "insert up arrow here":POSITION 5,12:? "Reading Print Shop Directory! "
700 FOR SECTR= 362 TO 393:X = USR(ADR(SR$), ADR(S$),SECTR,1,3)
800 FOR X=1 TO 128 STEP 32
900 IF ASC(S$(X,X))=0 OR ASC(S$(X,X))=26 THEN 1500
1000 IF S$(X,X+2)= "CL." THEN T$ = "CALENDAR":REM YOUR TEXT FORMATTING ROUTINE GOES HERE
1100 IF ASC(S$(X+21,X+21))="2" THEN T$ = "GRAPHIC ICON":REM YOUR TEXT FORMATTING ROUTINE GOES HERE
1200 IF ASC(S$(X+21,X+21))=30 THEN T$= "SCREEN MAGIC":REM YOUR TEXT FORMATTING ROUTINE GOES HERE
1300 IF S$(X,X+ 2)= "BO." THEN T$ = "BORDER": REM YOUR TEXT FORMATTING ROUTINE GOES HERE
1400 IF S$(X,X+2)="FO." THEN T$="FONT":REM YOUR TEXT FORMATTING ROUTINE GOES HERE
1500 NEXT X:NEXT SECTR


WORLD'S SHORTEST BANNER PROGRAM

Big Printer is a quick little program that prints banners. The author, Joseph Evans, lives in Waretown, NewJersey.

10 DIM M$(128),BIN(7)
20 FOR I=0 TO 7:BIN(I)=2+I:NEXT I
30 SC=PEEK(88)+256*PEEK(89)
40 CS=PEEK(756)*256
50 OPEN #1,4,0,"K:"
60 PRINT CHR$(125)
70 POSITION 11,0 PRINT " * * * BIG PRINTER * * * "
80 POSITION 2,2:PRINT "PLEASE ENTER YOUR MESSAGE."
90 PRINT "USE NO MORE THAN 128 CHARACTERS"
100 PRINT "AND DO NOT USE COMMAS."
110 PRINT :PRINT "MESSAGE";:INPUT M$
120 IF M$="" THEN 110
130 PRINT PRINT "PRESS A NUMBER KEY TO SELECT"
140 PRINT "PRINT SIZE: (0 = SMALL; 9 = LARGE)";
150 GET #1,SZ:SZ = SZ-47:IF SZ<1 OR SZ>10 THEN 150
160 PRINT " ";SZ-1:PRINT: PRINT
170 PRINT "TURN ON YOUR PRINTER AND PRESS"
180 PRINT "ANY KEY WHEN READY.";
190 GET #1,K: POKE 752,1 OPEN #2,8,0,"P:"
200 PRINT CHR$(125):POSITION 14,10:PRINT "PRINTING"
210 FOR CHAR=1 TO LEN(M$): POSITION 24,10:PRINT M$(CHAR,CHAR);
220 MAP = PEEK(SC + 424) * 8 + CS
230 FOR BIT=7 TO 0 STEP -1
240 FOR DEPTH=1 TO SZ/2
250 FOR BYTE=7 TO 0 STEP -1
260 SET= INT(PEEK(MAP + BYTE)/BIN(BIT)):SET= INT(SET/2)<>SET/2
270 FOR LNGTH=1 TO SZ
280 PRINT #2;CHR$(32 + SET * 10);
290 NEXT LNGTH: NEXT BYTE:PRINT #2:NEXT DEPTH:NEXT BIT:NEXT CHAR
300 CLOSE #1:POKE 752,0:GOTO 60

Antic pays $25 for every original and exclusive Tech Tip submission that we publish. Send your 8-bit or ST disk and printout to: Antic Tech Tips, 544 Second Street, San Francisco, CA 94107. Tech Tips welcomes very short programs that demonstrate the Atari's powers, simple hardware modifications, or useful macros for popular software.