Home » Personal collection » Acorn ADFS disks » Electron_User_Group » EUG_42.ADF » P/+ppman1
P/+ppman1
This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.
Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.
Tape/disk: | Home » Personal collection » Acorn ADFS disks » Electron_User_Group » EUG_42.ADF |
Filename: | P/+ppman1 |
Read OK: | ✔ |
File size: | 1488 bytes |
Load address: | FFFFFF48 |
Exec address: | FFFFB5E3 |
Duplicates
There are 3 duplicate copies of this file in the archive:
- Personal collection » Acorn ADFS disks » Electron_User_Group » EUG_41.ADF » P/+ppman1
- Personal collection » Acorn ADFS disks » Electron_User_Group » EUG_42.ADF » P/+ppman1
- Personal collection » Acorn hard disk » zipped_disks » elk06 » eug41/P/+ppman1
- Personal collection » Acorn hard disk » zipped_disks » elk06 » eug42/P/+ppman1
File contents
MANUAL FOR PRETTYPRINT (6502 ROM image) This file describes the ROM image PRETTYPRINT which adds 'OS_PrettyPrint' support to the BBC in an identical manner to that supplied on Risc OS based machines. The manual is (C)1998 SPROW and software is (C)1997 SPROW INSTRUCTIONS- At any command line prompt,eg.the BASIC command prompt '>' type ON A MASTER: *SRLOAD DRDIR 8000 <socket#> *INSERT <socket#> where <socket#> may be 7,6,5,4 ON A MACHINE WITH SWRAM: *LOAD DRDIR 8000 and press CTRL-BREAK to initialise. The image will then be installed into the chosen socket where it will wait for the user to issue one of the following two stimuli OSWORD CALL- A=&47 and X&Y point to a control block in memory XY+00 4 byte pointer to null terminated string to print (low byte first) XY+04 4 byte pointer to user dictionary,or 0 to use built in dictionary (low byte first) XY+08 4 byte pointer to null terminated 'special string' (low byte first) XY+12 Source of string to print,00=RAM 128+socket=ROM XY+13 Source of user dictionary,00=RAM 128+socket=ROM if XY+04 is non zero XY+14 Source of 'special string',00=RAM 128+socket=ROM COMMAND LINE- *HELP "filename" where "filename" contains a valid wadge of text and starts with a 15 byte block as though it had been entered as an OSWord. To make a file that is suitable for use in this manner is really easy.You just take your prettyprint text and then put the 15 byte OSWord block at the beginning of the file. Because the OSWord block needs addresses putting in it, you'll need to specify a SENSIBLE load address in the file's catalogue entry. EXIT MESSAGES- Missing " - the command line had a closing ditto missing Dictionary entry not found - an escape sequence number was out of range Load address too low - the file specified on the command line loaded in at a silly place in the memory map File not found - the file specified on the command line doesn't exist Tube hardware not found - the OSWord block specified data to come form the tube KNOWN PROBLEMS/FUTURE ENHANCEMENTS- No known problems HISTORY- V0.90 First release version,to the EUG disk user group along with an article on word wrapping text V1.00 Wordwrapping to current text window width implemented WHAT PRETTY PRINT IS- Pretty print writes a string pointed to by an osword control block,in addition there are some special properties that it looks out for though: * A carriage return causes a newline to be generated * TAB causes a tabulation to the next multiple of eight chars * Wordwraps,unless the words are separated by CHR$31 (used as a hard space) * ESC (ASCII 27) indicates that a dictionary entry should be substituted To use a dictionary entry,place a CHR$ 27 followed by an entry number to look up in the range 1-255 (the entry '0' is used to look up the 'special string' pointed to by XY+8). There is a default dictionary,which doesn't contain all 255 entries,but you may of course specify your own 'User dictionary' if the application you have in mind uses alot of the same strings.eg.a chemistry related program. Effectively this will result in text being compacted since whole words are replaced by just two bytes. DICTIONARY FORMAT- Dictionary entries may recursively refer to other dictionary entries,nested no deeper than 32 levels (otherwise the stack overflows).The first byte of the entry points to the next entry,then there's text terminated by a 0 byte.So for a file of N strings: <offsettostartofstringTWO><1STstring$of255chr$orless><00> <offsettostartofstringTHREE><2NDstring$of255chr$orless><00> : : : : : : <offsettostartofstring(N-1)><(N-1)THstring$of255chr$orless><00> <00><NTHstring$of255chr$orless><00> DEFAULT DICTIONARY- 00=><string pointed to by XY+8> 01=>"Syntax: *"+<string pointed to by XY+8> 02=>" the " 03=>"director" 04=>"filing system" 05=>"current" 06=>" to a variable. Other types of values can be assigned with *" 07=>"file" 08=>"default " 09=>"tion" 10=>"*Configure " 11=>"name" 12=>" server" 13=>"number" 14=>"Syntax: *"+<string pointed to by XY+8>+" <" 15=>" one or more files that match the given wildcard" 16=>" and " 17=>"relocatable module" 18=>CR+"C(onfirm)"+TAB+"Prompt for confirmation of each" 19=>"sets the" 20=>Syntax: *"+<string pointed to by XY+8>+" [<disc spec.>]" 21=>")"+CR+"V(erbose)"+TAB+"Print information on each file " 22=>"spriteLandscape [<XScale> [<YScale> [<Margin> [<Threshold>]]]]]" 23=>"�is used to print a hard copy of the screen on EPSON-" 24=>"."+CR+"Options: (use ~ to force off, eg. ~" 25=>"printe" 26=>"Syntax: *"+<string pointed to by XY+8>+" <filename>" 27=>"select" 28=>"xpression" 29=>Syntax: *"+<string pointed to by XY+8>+" [" 30=>"sprite" 31=>" displays" 32=>"free space" 33=>" {off}" 34=>"library" 35=>"parameter" 36=>"object" 37=>" all " 38=>"disc" 39=>" to " 40=>" is "
00000000 4d 41 4e 55 41 4c 20 46 4f 52 20 50 52 45 54 54 |MANUAL FOR PRETT| 00000010 59 50 52 49 4e 54 20 28 36 35 30 32 20 52 4f 4d |YPRINT (6502 ROM| 00000020 20 69 6d 61 67 65 29 0a 0d 0a 0d 54 68 69 73 20 | image)....This | 00000030 66 69 6c 65 20 64 65 73 63 72 69 62 65 73 20 74 |file describes t| 00000040 68 65 20 52 4f 4d 20 69 6d 61 67 65 20 50 52 45 |he ROM image PRE| 00000050 54 54 59 50 52 49 4e 54 20 77 68 69 63 68 20 61 |TTYPRINT which a| 00000060 64 64 73 20 27 4f 53 5f 50 72 65 74 74 79 50 72 |dds 'OS_PrettyPr| 00000070 69 6e 74 27 0a 0d 73 75 70 70 6f 72 74 20 74 6f |int'..support to| 00000080 20 74 68 65 20 42 42 43 20 69 6e 20 61 6e 20 69 | the BBC in an i| 00000090 64 65 6e 74 69 63 61 6c 20 6d 61 6e 6e 65 72 20 |dentical manner | 000000a0 74 6f 20 74 68 61 74 20 73 75 70 70 6c 69 65 64 |to that supplied| 000000b0 20 6f 6e 20 52 69 73 63 20 4f 53 20 62 61 73 65 | on Risc OS base| 000000c0 64 0a 0d 6d 61 63 68 69 6e 65 73 2e 0a 0d 54 68 |d..machines...Th| 000000d0 65 20 6d 61 6e 75 61 6c 20 69 73 20 28 43 29 31 |e manual is (C)1| 000000e0 39 39 38 20 53 50 52 4f 57 20 61 6e 64 20 73 6f |998 SPROW and so| 000000f0 66 74 77 61 72 65 20 69 73 20 28 43 29 31 39 39 |ftware is (C)199| 00000100 37 20 53 50 52 4f 57 0a 0d 0a 0d 49 4e 53 54 52 |7 SPROW....INSTR| 00000110 55 43 54 49 4f 4e 53 2d 0a 0d 41 74 20 61 6e 79 |UCTIONS-..At any| 00000120 20 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 70 72 | command line pr| 00000130 6f 6d 70 74 2c 65 67 2e 74 68 65 20 42 41 53 49 |ompt,eg.the BASI| 00000140 43 20 63 6f 6d 6d 61 6e 64 20 70 72 6f 6d 70 74 |C command prompt| 00000150 20 27 3e 27 20 74 79 70 65 0a 0d 4f 4e 20 41 20 | '>' type..ON A | 00000160 4d 41 53 54 45 52 3a 20 2a 53 52 4c 4f 41 44 20 |MASTER: *SRLOAD | 00000170 44 52 44 49 52 20 38 30 30 30 20 3c 73 6f 63 6b |DRDIR 8000 <sock| 00000180 65 74 23 3e 0a 0d 20 20 20 20 20 20 20 20 20 20 |et#>.. | 00000190 20 20 20 2a 49 4e 53 45 52 54 20 3c 73 6f 63 6b | *INSERT <sock| 000001a0 65 74 23 3e 0a 0d 20 20 20 20 20 20 20 20 20 20 |et#>.. | 000001b0 20 20 20 77 68 65 72 65 20 3c 73 6f 63 6b 65 74 | where <socket| 000001c0 23 3e 20 6d 61 79 20 62 65 20 37 2c 36 2c 35 2c |#> may be 7,6,5,| 000001d0 34 0a 0d 4f 4e 20 41 20 4d 41 43 48 49 4e 45 20 |4..ON A MACHINE | 000001e0 57 49 54 48 20 53 57 52 41 4d 3a 20 2a 4c 4f 41 |WITH SWRAM: *LOA| 000001f0 44 20 44 52 44 49 52 20 38 30 30 30 0a 0d 61 6e |D DRDIR 8000..an| 00000200 64 20 70 72 65 73 73 20 43 54 52 4c 2d 42 52 45 |d press CTRL-BRE| 00000210 41 4b 20 74 6f 20 69 6e 69 74 69 61 6c 69 73 65 |AK to initialise| 00000220 2e 0a 0d 0a 0d 54 68 65 20 69 6d 61 67 65 20 77 |.....The image w| 00000230 69 6c 6c 20 74 68 65 6e 20 62 65 20 69 6e 73 74 |ill then be inst| 00000240 61 6c 6c 65 64 20 69 6e 74 6f 20 74 68 65 20 63 |alled into the c| 00000250 68 6f 73 65 6e 20 73 6f 63 6b 65 74 20 77 68 65 |hosen socket whe| 00000260 72 65 20 69 74 20 77 69 6c 6c 20 77 61 69 74 20 |re it will wait | 00000270 66 6f 72 0a 0d 74 68 65 20 75 73 65 72 20 74 6f |for..the user to| 00000280 20 69 73 73 75 65 20 6f 6e 65 20 6f 66 20 74 68 | issue one of th| 00000290 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 77 6f 20 |e following two | 000002a0 73 74 69 6d 75 6c 69 0a 0d 0a 0d 4f 53 57 4f 52 |stimuli....OSWOR| 000002b0 44 20 43 41 4c 4c 2d 0a 0d 41 3d 26 34 37 20 61 |D CALL-..A=&47 a| 000002c0 6e 64 20 58 26 59 20 70 6f 69 6e 74 20 74 6f 20 |nd X&Y point to | 000002d0 61 20 63 6f 6e 74 72 6f 6c 20 62 6c 6f 63 6b 20 |a control block | 000002e0 69 6e 20 6d 65 6d 6f 72 79 0a 0d 58 59 2b 30 30 |in memory..XY+00| 000002f0 20 34 20 62 79 74 65 20 70 6f 69 6e 74 65 72 20 | 4 byte pointer | 00000300 74 6f 20 6e 75 6c 6c 20 74 65 72 6d 69 6e 61 74 |to null terminat| 00000310 65 64 20 73 74 72 69 6e 67 20 74 6f 20 70 72 69 |ed string to pri| 00000320 6e 74 20 28 6c 6f 77 20 62 79 74 65 20 66 69 72 |nt (low byte fir| 00000330 73 74 29 0a 0d 58 59 2b 30 34 20 34 20 62 79 74 |st)..XY+04 4 byt| 00000340 65 20 70 6f 69 6e 74 65 72 20 74 6f 20 75 73 65 |e pointer to use| 00000350 72 20 64 69 63 74 69 6f 6e 61 72 79 2c 6f 72 20 |r dictionary,or | 00000360 30 20 74 6f 20 75 73 65 20 62 75 69 6c 74 20 69 |0 to use built i| 00000370 6e 20 64 69 63 74 69 6f 6e 61 72 79 20 0a 0d 20 |n dictionary .. | 00000380 20 20 20 20 20 28 6c 6f 77 20 62 79 74 65 20 66 | (low byte f| 00000390 69 72 73 74 29 0a 0d 58 59 2b 30 38 20 34 20 62 |irst)..XY+08 4 b| 000003a0 79 74 65 20 70 6f 69 6e 74 65 72 20 74 6f 20 6e |yte pointer to n| 000003b0 75 6c 6c 20 74 65 72 6d 69 6e 61 74 65 64 20 27 |ull terminated '| 000003c0 73 70 65 63 69 61 6c 20 73 74 72 69 6e 67 27 20 |special string' | 000003d0 28 6c 6f 77 20 62 79 74 65 20 66 69 72 73 74 29 |(low byte first)| 000003e0 0a 0d 58 59 2b 31 32 20 53 6f 75 72 63 65 20 6f |..XY+12 Source o| 000003f0 66 20 73 74 72 69 6e 67 20 74 6f 20 70 72 69 6e |f string to prin| 00000400 74 2c 30 30 3d 52 41 4d 20 31 32 38 2b 73 6f 63 |t,00=RAM 128+soc| 00000410 6b 65 74 3d 52 4f 4d 0a 0d 58 59 2b 31 33 20 53 |ket=ROM..XY+13 S| 00000420 6f 75 72 63 65 20 6f 66 20 75 73 65 72 20 64 69 |ource of user di| 00000430 63 74 69 6f 6e 61 72 79 2c 30 30 3d 52 41 4d 20 |ctionary,00=RAM | 00000440 31 32 38 2b 73 6f 63 6b 65 74 3d 52 4f 4d 20 69 |128+socket=ROM i| 00000450 66 20 58 59 2b 30 34 20 69 73 20 6e 6f 6e 20 7a |f XY+04 is non z| 00000460 65 72 6f 0a 0d 58 59 2b 31 34 20 53 6f 75 72 63 |ero..XY+14 Sourc| 00000470 65 20 6f 66 20 27 73 70 65 63 69 61 6c 20 73 74 |e of 'special st| 00000480 72 69 6e 67 27 2c 30 30 3d 52 41 4d 20 31 32 38 |ring',00=RAM 128| 00000490 2b 73 6f 63 6b 65 74 3d 52 4f 4d 0a 0d 0a 0d 43 |+socket=ROM....C| 000004a0 4f 4d 4d 41 4e 44 20 4c 49 4e 45 2d 0a 0d 2a 48 |OMMAND LINE-..*H| 000004b0 45 4c 50 20 22 66 69 6c 65 6e 61 6d 65 22 20 20 |ELP "filename" | 000004c0 20 20 77 68 65 72 65 20 22 66 69 6c 65 6e 61 6d | where "filenam| 000004d0 65 22 20 63 6f 6e 74 61 69 6e 73 20 61 20 76 61 |e" contains a va| 000004e0 6c 69 64 20 77 61 64 67 65 20 6f 66 20 74 65 78 |lid wadge of tex| 000004f0 74 20 61 6e 64 20 0a 0d 20 20 20 20 20 20 20 20 |t and .. | 00000500 20 20 20 20 20 20 20 20 20 20 20 20 73 74 61 72 | star| 00000510 74 73 20 77 69 74 68 20 61 20 31 35 20 62 79 74 |ts with a 15 byt| 00000520 65 20 62 6c 6f 63 6b 20 61 73 20 74 68 6f 75 67 |e block as thoug| 00000530 68 20 69 74 20 68 61 64 20 62 65 65 6e 20 65 6e |h it had been en| 00000540 74 65 72 65 64 0a 0d 20 20 20 20 20 20 20 20 20 |tered.. | 00000550 20 20 20 20 20 20 20 20 20 20 20 61 73 20 61 6e | as an| 00000560 20 4f 53 57 6f 72 64 2e 0a 0d 20 20 20 20 20 20 | OSWord... | 00000570 20 20 20 20 20 20 20 20 20 20 20 20 20 20 54 6f | To| 00000580 20 6d 61 6b 65 20 61 20 66 69 6c 65 20 74 68 61 | make a file tha| 00000590 74 20 69 73 20 73 75 69 74 61 62 6c 65 20 66 6f |t is suitable fo| 000005a0 72 20 75 73 65 20 69 6e 20 74 68 69 73 20 6d 61 |r use in this ma| 000005b0 6e 6e 65 72 20 69 73 0a 0d 20 20 20 20 20 20 20 |nner is.. | 000005c0 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 61 | rea| 000005d0 6c 6c 79 20 65 61 73 79 2e 59 6f 75 20 6a 75 73 |lly easy.You jus| 000005e0 74 20 74 61 6b 65 20 79 6f 75 72 20 70 72 65 74 |t take your pret| 000005f0 74 79 70 72 69 6e 74 20 74 65 78 74 20 61 6e 64 |typrint text and| 00000600 20 74 68 65 6e 20 0a 0d 20 20 20 20 20 20 20 20 | then .. | 00000610 20 20 20 20 20 20 20 20 20 20 20 20 70 75 74 20 | put | 00000620 74 68 65 20 31 35 20 62 79 74 65 20 4f 53 57 6f |the 15 byte OSWo| 00000630 72 64 20 62 6c 6f 63 6b 20 61 74 20 74 68 65 20 |rd block at the | 00000640 62 65 67 69 6e 6e 69 6e 67 20 6f 66 20 74 68 65 |beginning of the| 00000650 20 66 69 6c 65 2e 0a 0d 20 20 20 20 20 20 20 20 | file... | 00000660 20 20 20 20 20 20 20 20 20 20 20 20 42 65 63 61 | Beca| 00000670 75 73 65 20 74 68 65 20 4f 53 57 6f 72 64 20 62 |use the OSWord b| 00000680 6c 6f 63 6b 20 6e 65 65 64 73 20 61 64 64 72 65 |lock needs addre| 00000690 73 73 65 73 20 70 75 74 74 69 6e 67 20 69 6e 20 |sses putting in | 000006a0 69 74 2c 0a 0d 20 20 20 20 20 20 20 20 20 20 20 |it,.. | 000006b0 20 20 20 20 20 20 20 20 20 79 6f 75 27 6c 6c 20 | you'll | 000006c0 6e 65 65 64 20 74 6f 20 73 70 65 63 69 66 79 20 |need to specify | 000006d0 61 20 53 45 4e 53 49 42 4c 45 20 6c 6f 61 64 20 |a SENSIBLE load | 000006e0 61 64 64 72 65 73 73 20 69 6e 20 74 68 65 0a 0d |address in the..| 000006f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00000700 20 20 20 20 66 69 6c 65 27 73 20 63 61 74 61 6c | file's catal| 00000710 6f 67 75 65 20 65 6e 74 72 79 2e 0a 0d 0a 0d 45 |ogue entry.....E| 00000720 58 49 54 20 4d 45 53 53 41 47 45 53 2d 0a 0d 4d |XIT MESSAGES-..M| 00000730 69 73 73 69 6e 67 20 22 20 2d 20 74 68 65 20 63 |issing " - the c| 00000740 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 68 61 64 20 |ommand line had | 00000750 61 20 63 6c 6f 73 69 6e 67 20 64 69 74 74 6f 20 |a closing ditto | 00000760 6d 69 73 73 69 6e 67 0a 0d 44 69 63 74 69 6f 6e |missing..Diction| 00000770 61 72 79 20 65 6e 74 72 79 20 6e 6f 74 20 66 6f |ary entry not fo| 00000780 75 6e 64 20 2d 20 61 6e 20 65 73 63 61 70 65 20 |und - an escape | 00000790 73 65 71 75 65 6e 63 65 20 6e 75 6d 62 65 72 20 |sequence number | 000007a0 77 61 73 20 6f 75 74 20 6f 66 20 72 61 6e 67 65 |was out of range| 000007b0 0a 0d 4c 6f 61 64 20 61 64 64 72 65 73 73 20 74 |..Load address t| 000007c0 6f 6f 20 6c 6f 77 20 2d 20 74 68 65 20 66 69 6c |oo low - the fil| 000007d0 65 20 73 70 65 63 69 66 69 65 64 20 6f 6e 20 74 |e specified on t| 000007e0 68 65 20 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 |he command line | 000007f0 6c 6f 61 64 65 64 20 69 6e 20 61 74 20 61 20 0a |loaded in at a .| 00000800 0d 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |. | 00000810 20 20 20 20 20 20 20 20 73 69 6c 6c 79 20 70 6c | silly pl| 00000820 61 63 65 20 69 6e 20 74 68 65 20 6d 65 6d 6f 72 |ace in the memor| 00000830 79 20 6d 61 70 0a 0d 46 69 6c 65 20 6e 6f 74 20 |y map..File not | 00000840 66 6f 75 6e 64 20 2d 20 74 68 65 20 66 69 6c 65 |found - the file| 00000850 20 73 70 65 63 69 66 69 65 64 20 6f 6e 20 74 68 | specified on th| 00000860 65 20 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 64 |e command line d| 00000870 6f 65 73 6e 27 74 20 65 78 69 73 74 0a 0d 54 75 |oesn't exist..Tu| 00000880 62 65 20 68 61 72 64 77 61 72 65 20 6e 6f 74 20 |be hardware not | 00000890 66 6f 75 6e 64 20 2d 20 74 68 65 20 4f 53 57 6f |found - the OSWo| 000008a0 72 64 20 62 6c 6f 63 6b 20 73 70 65 63 69 66 69 |rd block specifi| 000008b0 65 64 20 64 61 74 61 20 74 6f 20 63 6f 6d 65 20 |ed data to come | 000008c0 66 6f 72 6d 20 74 68 65 20 74 75 62 65 0a 0d 0a |form the tube...| 000008d0 0d 4b 4e 4f 57 4e 20 50 52 4f 42 4c 45 4d 53 2f |.KNOWN PROBLEMS/| 000008e0 46 55 54 55 52 45 20 45 4e 48 41 4e 43 45 4d 45 |FUTURE ENHANCEME| 000008f0 4e 54 53 2d 0a 0d 4e 6f 20 6b 6e 6f 77 6e 20 70 |NTS-..No known p| 00000900 72 6f 62 6c 65 6d 73 0a 0d 0a 0d 48 49 53 54 4f |roblems....HISTO| 00000910 52 59 2d 0a 0d 56 30 2e 39 30 20 46 69 72 73 74 |RY-..V0.90 First| 00000920 20 72 65 6c 65 61 73 65 20 76 65 72 73 69 6f 6e | release version| 00000930 2c 74 6f 20 74 68 65 20 45 55 47 20 64 69 73 6b |,to the EUG disk| 00000940 20 75 73 65 72 20 67 72 6f 75 70 20 61 6c 6f 6e | user group alon| 00000950 67 20 77 69 74 68 20 61 6e 20 61 72 74 69 63 6c |g with an articl| 00000960 65 0a 0d 20 20 20 20 20 20 6f 6e 20 77 6f 72 64 |e.. on word| 00000970 20 77 72 61 70 70 69 6e 67 20 74 65 78 74 0a 0d | wrapping text..| 00000980 56 31 2e 30 30 20 57 6f 72 64 77 72 61 70 70 69 |V1.00 Wordwrappi| 00000990 6e 67 20 74 6f 20 63 75 72 72 65 6e 74 20 74 65 |ng to current te| 000009a0 78 74 20 77 69 6e 64 6f 77 20 77 69 64 74 68 20 |xt window width | 000009b0 69 6d 70 6c 65 6d 65 6e 74 65 64 0a 0d 0a 0d 57 |implemented....W| 000009c0 48 41 54 20 50 52 45 54 54 59 20 50 52 49 4e 54 |HAT PRETTY PRINT| 000009d0 20 49 53 2d 0a 0d 50 72 65 74 74 79 20 70 72 69 | IS-..Pretty pri| 000009e0 6e 74 20 77 72 69 74 65 73 20 61 20 73 74 72 69 |nt writes a stri| 000009f0 6e 67 20 70 6f 69 6e 74 65 64 20 74 6f 20 62 79 |ng pointed to by| 00000a00 20 61 6e 20 6f 73 77 6f 72 64 20 63 6f 6e 74 72 | an osword contr| 00000a10 6f 6c 20 62 6c 6f 63 6b 2c 69 6e 20 61 64 64 69 |ol block,in addi| 00000a20 74 69 6f 6e 0a 0d 74 68 65 72 65 20 61 72 65 20 |tion..there are | 00000a30 73 6f 6d 65 20 73 70 65 63 69 61 6c 20 70 72 6f |some special pro| 00000a40 70 65 72 74 69 65 73 20 74 68 61 74 20 69 74 20 |perties that it | 00000a50 6c 6f 6f 6b 73 20 6f 75 74 20 66 6f 72 20 74 68 |looks out for th| 00000a60 6f 75 67 68 3a 0a 0d 0a 0d 20 20 20 2a 20 41 20 |ough:.... * A | 00000a70 63 61 72 72 69 61 67 65 20 72 65 74 75 72 6e 20 |carriage return | 00000a80 63 61 75 73 65 73 20 61 20 6e 65 77 6c 69 6e 65 |causes a newline| 00000a90 20 74 6f 20 62 65 20 67 65 6e 65 72 61 74 65 64 | to be generated| 00000aa0 0a 0d 20 20 20 2a 20 54 41 42 20 63 61 75 73 65 |.. * TAB cause| 00000ab0 73 20 61 20 74 61 62 75 6c 61 74 69 6f 6e 20 74 |s a tabulation t| 00000ac0 6f 20 74 68 65 20 6e 65 78 74 20 6d 75 6c 74 69 |o the next multi| 00000ad0 70 6c 65 20 6f 66 20 65 69 67 68 74 20 63 68 61 |ple of eight cha| 00000ae0 72 73 0a 0d 20 20 20 2a 20 57 6f 72 64 77 72 61 |rs.. * Wordwra| 00000af0 70 73 2c 75 6e 6c 65 73 73 20 74 68 65 20 77 6f |ps,unless the wo| 00000b00 72 64 73 20 61 72 65 20 73 65 70 61 72 61 74 65 |rds are separate| 00000b10 64 20 62 79 20 43 48 52 24 33 31 20 28 75 73 65 |d by CHR$31 (use| 00000b20 64 20 61 73 20 61 20 68 61 72 64 20 73 70 61 63 |d as a hard spac| 00000b30 65 29 0a 0d 20 20 20 2a 20 45 53 43 20 28 41 53 |e).. * ESC (AS| 00000b40 43 49 49 20 32 37 29 20 69 6e 64 69 63 61 74 65 |CII 27) indicate| 00000b50 73 20 74 68 61 74 20 61 20 64 69 63 74 69 6f 6e |s that a diction| 00000b60 61 72 79 20 65 6e 74 72 79 20 73 68 6f 75 6c 64 |ary entry should| 00000b70 20 62 65 20 73 75 62 73 74 69 74 75 74 65 64 0a | be substituted.| 00000b80 0d 0a 0d 54 6f 20 75 73 65 20 61 20 64 69 63 74 |...To use a dict| 00000b90 69 6f 6e 61 72 79 20 65 6e 74 72 79 2c 70 6c 61 |ionary entry,pla| 00000ba0 63 65 20 61 20 43 48 52 24 20 32 37 20 66 6f 6c |ce a CHR$ 27 fol| 00000bb0 6c 6f 77 65 64 20 62 79 20 61 6e 20 65 6e 74 72 |lowed by an entr| 00000bc0 79 20 6e 75 6d 62 65 72 20 74 6f 20 6c 6f 6f 6b |y number to look| 00000bd0 20 0a 0d 75 70 20 69 6e 20 74 68 65 20 72 61 6e | ..up in the ran| 00000be0 67 65 20 31 2d 32 35 35 20 28 74 68 65 20 65 6e |ge 1-255 (the en| 00000bf0 74 72 79 20 27 30 27 20 69 73 20 75 73 65 64 20 |try '0' is used | 00000c00 74 6f 20 6c 6f 6f 6b 20 75 70 20 74 68 65 20 27 |to look up the '| 00000c10 73 70 65 63 69 61 6c 20 73 74 72 69 6e 67 27 0a |special string'.| 00000c20 0d 70 6f 69 6e 74 65 64 20 74 6f 20 62 79 20 58 |.pointed to by X| 00000c30 59 2b 38 29 2e 0a 0d 54 68 65 72 65 20 69 73 20 |Y+8)...There is | 00000c40 61 20 64 65 66 61 75 6c 74 20 64 69 63 74 69 6f |a default dictio| 00000c50 6e 61 72 79 2c 77 68 69 63 68 20 64 6f 65 73 6e |nary,which doesn| 00000c60 27 74 20 63 6f 6e 74 61 69 6e 20 61 6c 6c 20 32 |'t contain all 2| 00000c70 35 35 20 65 6e 74 72 69 65 73 2c 62 75 74 20 79 |55 entries,but y| 00000c80 6f 75 0a 0d 6d 61 79 20 6f 66 20 63 6f 75 72 73 |ou..may of cours| 00000c90 65 20 73 70 65 63 69 66 79 20 79 6f 75 72 20 6f |e specify your o| 00000ca0 77 6e 20 27 55 73 65 72 20 64 69 63 74 69 6f 6e |wn 'User diction| 00000cb0 61 72 79 27 20 69 66 20 74 68 65 20 61 70 70 6c |ary' if the appl| 00000cc0 69 63 61 74 69 6f 6e 20 79 6f 75 20 68 61 76 65 |ication you have| 00000cd0 20 0a 0d 69 6e 20 6d 69 6e 64 20 75 73 65 73 20 | ..in mind uses | 00000ce0 61 6c 6f 74 20 6f 66 20 74 68 65 20 73 61 6d 65 |alot of the same| 00000cf0 20 73 74 72 69 6e 67 73 2e 65 67 2e 61 20 63 68 | strings.eg.a ch| 00000d00 65 6d 69 73 74 72 79 20 72 65 6c 61 74 65 64 20 |emistry related | 00000d10 70 72 6f 67 72 61 6d 2e 0a 0d 0a 0d 45 66 66 65 |program.....Effe| 00000d20 63 74 69 76 65 6c 79 20 74 68 69 73 20 77 69 6c |ctively this wil| 00000d30 6c 20 72 65 73 75 6c 74 20 69 6e 20 74 65 78 74 |l result in text| 00000d40 20 62 65 69 6e 67 20 63 6f 6d 70 61 63 74 65 64 | being compacted| 00000d50 20 73 69 6e 63 65 20 77 68 6f 6c 65 20 77 6f 72 | since whole wor| 00000d60 64 73 20 61 72 65 20 0a 0d 72 65 70 6c 61 63 65 |ds are ..replace| 00000d70 64 20 62 79 20 6a 75 73 74 20 74 77 6f 20 62 79 |d by just two by| 00000d80 74 65 73 2e 0a 0d 0a 0d 44 49 43 54 49 4f 4e 41 |tes.....DICTIONA| 00000d90 52 59 20 46 4f 52 4d 41 54 2d 0a 0d 44 69 63 74 |RY FORMAT-..Dict| 00000da0 69 6f 6e 61 72 79 20 65 6e 74 72 69 65 73 20 6d |ionary entries m| 00000db0 61 79 20 72 65 63 75 72 73 69 76 65 6c 79 20 72 |ay recursively r| 00000dc0 65 66 65 72 20 74 6f 20 6f 74 68 65 72 20 64 69 |efer to other di| 00000dd0 63 74 69 6f 6e 61 72 79 20 65 6e 74 72 69 65 73 |ctionary entries| 00000de0 2c 6e 65 73 74 65 64 20 0a 0d 6e 6f 20 64 65 65 |,nested ..no dee| 00000df0 70 65 72 20 74 68 61 6e 20 33 32 20 6c 65 76 65 |per than 32 leve| 00000e00 6c 73 20 28 6f 74 68 65 72 77 69 73 65 20 74 68 |ls (otherwise th| 00000e10 65 20 73 74 61 63 6b 20 6f 76 65 72 66 6c 6f 77 |e stack overflow| 00000e20 73 29 2e 54 68 65 20 66 69 72 73 74 20 62 79 74 |s).The first byt| 00000e30 65 20 6f 66 20 74 68 65 0a 0d 65 6e 74 72 79 20 |e of the..entry | 00000e40 70 6f 69 6e 74 73 20 74 6f 20 74 68 65 20 6e 65 |points to the ne| 00000e50 78 74 20 65 6e 74 72 79 2c 74 68 65 6e 20 74 68 |xt entry,then th| 00000e60 65 72 65 27 73 20 74 65 78 74 20 74 65 72 6d 69 |ere's text termi| 00000e70 6e 61 74 65 64 20 62 79 20 61 20 30 20 62 79 74 |nated by a 0 byt| 00000e80 65 2e 53 6f 20 66 6f 72 0a 0d 61 20 66 69 6c 65 |e.So for..a file| 00000e90 20 6f 66 20 4e 20 73 74 72 69 6e 67 73 3a 0a 0d | of N strings:..| 00000ea0 0a 0d 3c 6f 66 66 73 65 74 74 6f 73 74 61 72 74 |..<offsettostart| 00000eb0 6f 66 73 74 72 69 6e 67 54 57 4f 3e 3c 31 53 54 |ofstringTWO><1ST| 00000ec0 73 74 72 69 6e 67 24 6f 66 32 35 35 63 68 72 24 |string$of255chr$| 00000ed0 6f 72 6c 65 73 73 3e 3c 30 30 3e 0a 0d 3c 6f 66 |orless><00>..<of| 00000ee0 66 73 65 74 74 6f 73 74 61 72 74 6f 66 73 74 72 |fsettostartofstr| 00000ef0 69 6e 67 54 48 52 45 45 3e 3c 32 4e 44 73 74 72 |ingTHREE><2NDstr| 00000f00 69 6e 67 24 6f 66 32 35 35 63 68 72 24 6f 72 6c |ing$of255chr$orl| 00000f10 65 73 73 3e 3c 30 30 3e 0a 0d 20 20 20 3a 20 20 |ess><00>.. : | 00000f20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00000f30 20 20 20 20 20 20 20 20 3a 20 20 20 20 20 20 20 | : | 00000f40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00000f50 20 3a 0a 0d 20 20 20 3a 20 20 20 20 20 20 20 20 | :.. : | 00000f60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00000f70 20 20 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 | : | 00000f80 20 20 20 20 20 20 20 20 20 20 20 3a 0a 0d 3c 6f | :..<o| 00000f90 66 66 73 65 74 74 6f 73 74 61 72 74 6f 66 73 74 |ffsettostartofst| 00000fa0 72 69 6e 67 28 4e 2d 31 29 3e 3c 28 4e 2d 31 29 |ring(N-1)><(N-1)| 00000fb0 54 48 73 74 72 69 6e 67 24 6f 66 32 35 35 63 68 |THstring$of255ch| 00000fc0 72 24 6f 72 6c 65 73 73 3e 3c 30 30 3e 0a 0d 3c |r$orless><00>..<| 00000fd0 30 30 3e 3c 4e 54 48 73 74 72 69 6e 67 24 6f 66 |00><NTHstring$of| 00000fe0 32 35 35 63 68 72 24 6f 72 6c 65 73 73 3e 3c 30 |255chr$orless><0| 00000ff0 30 3e 0a 0d 0a 0d 44 45 46 41 55 4c 54 20 44 49 |0>....DEFAULT DI| 00001000 43 54 49 4f 4e 41 52 59 2d 0a 0d 30 30 3d 3e 3c |CTIONARY-..00=><| 00001010 73 74 72 69 6e 67 20 70 6f 69 6e 74 65 64 20 74 |string pointed t| 00001020 6f 20 62 79 20 58 59 2b 38 3e 0a 0d 30 31 3d 3e |o by XY+8>..01=>| 00001030 22 53 79 6e 74 61 78 3a 20 2a 22 2b 3c 73 74 72 |"Syntax: *"+<str| 00001040 69 6e 67 20 70 6f 69 6e 74 65 64 20 74 6f 20 62 |ing pointed to b| 00001050 79 20 58 59 2b 38 3e 0a 0d 30 32 3d 3e 22 20 74 |y XY+8>..02=>" t| 00001060 68 65 20 22 0a 0d 30 33 3d 3e 22 64 69 72 65 63 |he "..03=>"direc| 00001070 74 6f 72 22 0a 0d 30 34 3d 3e 22 66 69 6c 69 6e |tor"..04=>"filin| 00001080 67 20 73 79 73 74 65 6d 22 0a 0d 30 35 3d 3e 22 |g system"..05=>"| 00001090 63 75 72 72 65 6e 74 22 0a 0d 30 36 3d 3e 22 20 |current"..06=>" | 000010a0 74 6f 20 61 20 76 61 72 69 61 62 6c 65 2e 20 4f |to a variable. O| 000010b0 74 68 65 72 20 74 79 70 65 73 20 6f 66 20 76 61 |ther types of va| 000010c0 6c 75 65 73 20 63 61 6e 20 62 65 20 61 73 73 69 |lues can be assi| 000010d0 67 6e 65 64 20 77 69 74 68 20 2a 22 0a 0d 30 37 |gned with *"..07| 000010e0 3d 3e 22 66 69 6c 65 22 0a 0d 30 38 3d 3e 22 64 |=>"file"..08=>"d| 000010f0 65 66 61 75 6c 74 20 22 0a 0d 30 39 3d 3e 22 74 |efault "..09=>"t| 00001100 69 6f 6e 22 0a 0d 31 30 3d 3e 22 2a 43 6f 6e 66 |ion"..10=>"*Conf| 00001110 69 67 75 72 65 20 22 0a 0d 31 31 3d 3e 22 6e 61 |igure "..11=>"na| 00001120 6d 65 22 0a 0d 31 32 3d 3e 22 20 73 65 72 76 65 |me"..12=>" serve| 00001130 72 22 0a 0d 31 33 3d 3e 22 6e 75 6d 62 65 72 22 |r"..13=>"number"| 00001140 0a 0d 31 34 3d 3e 22 53 79 6e 74 61 78 3a 20 2a |..14=>"Syntax: *| 00001150 22 2b 3c 73 74 72 69 6e 67 20 70 6f 69 6e 74 65 |"+<string pointe| 00001160 64 20 74 6f 20 62 79 20 58 59 2b 38 3e 2b 22 20 |d to by XY+8>+" | 00001170 3c 22 0a 0d 31 35 3d 3e 22 20 6f 6e 65 20 6f 72 |<"..15=>" one or| 00001180 20 6d 6f 72 65 20 66 69 6c 65 73 20 74 68 61 74 | more files that| 00001190 20 6d 61 74 63 68 20 74 68 65 20 67 69 76 65 6e | match the given| 000011a0 20 77 69 6c 64 63 61 72 64 22 0a 0d 31 36 3d 3e | wildcard"..16=>| 000011b0 22 20 61 6e 64 20 22 0a 0d 31 37 3d 3e 22 72 65 |" and "..17=>"re| 000011c0 6c 6f 63 61 74 61 62 6c 65 20 6d 6f 64 75 6c 65 |locatable module| 000011d0 22 0a 0d 31 38 3d 3e 43 52 2b 22 43 28 6f 6e 66 |"..18=>CR+"C(onf| 000011e0 69 72 6d 29 22 2b 54 41 42 2b 22 50 72 6f 6d 70 |irm)"+TAB+"Promp| 000011f0 74 20 66 6f 72 20 63 6f 6e 66 69 72 6d 61 74 69 |t for confirmati| 00001200 6f 6e 20 6f 66 20 65 61 63 68 22 0a 0d 31 39 3d |on of each"..19=| 00001210 3e 22 73 65 74 73 20 74 68 65 22 0a 0d 32 30 3d |>"sets the"..20=| 00001220 3e 53 79 6e 74 61 78 3a 20 2a 22 2b 3c 73 74 72 |>Syntax: *"+<str| 00001230 69 6e 67 20 70 6f 69 6e 74 65 64 20 74 6f 20 62 |ing pointed to b| 00001240 79 20 58 59 2b 38 3e 2b 22 20 5b 3c 64 69 73 63 |y XY+8>+" [<disc| 00001250 20 73 70 65 63 2e 3e 5d 22 0a 0d 32 31 3d 3e 22 | spec.>]"..21=>"| 00001260 29 22 2b 43 52 2b 22 56 28 65 72 62 6f 73 65 29 |)"+CR+"V(erbose)| 00001270 22 2b 54 41 42 2b 22 50 72 69 6e 74 20 69 6e 66 |"+TAB+"Print inf| 00001280 6f 72 6d 61 74 69 6f 6e 20 6f 6e 20 65 61 63 68 |ormation on each| 00001290 20 66 69 6c 65 20 22 0a 0d 32 32 3d 3e 22 73 70 | file "..22=>"sp| 000012a0 72 69 74 65 4c 61 6e 64 73 63 61 70 65 20 5b 3c |riteLandscape [<| 000012b0 58 53 63 61 6c 65 3e 20 5b 3c 59 53 63 61 6c 65 |XScale> [<YScale| 000012c0 3e 20 5b 3c 4d 61 72 67 69 6e 3e 20 5b 3c 54 68 |> [<Margin> [<Th| 000012d0 72 65 73 68 6f 6c 64 3e 5d 5d 5d 5d 5d 22 0a 0d |reshold>]]]]]"..| 000012e0 32 33 3d 3e 22 a0 69 73 20 75 73 65 64 20 74 6f |23=>".is used to| 000012f0 20 70 72 69 6e 74 20 61 20 68 61 72 64 20 63 6f | print a hard co| 00001300 70 79 20 6f 66 20 74 68 65 20 73 63 72 65 65 6e |py of the screen| 00001310 20 6f 6e 20 45 50 53 4f 4e 2d 22 0a 0d 32 34 3d | on EPSON-"..24=| 00001320 3e 22 2e 22 2b 43 52 2b 22 4f 70 74 69 6f 6e 73 |>"."+CR+"Options| 00001330 3a 20 28 75 73 65 20 7e 20 74 6f 20 66 6f 72 63 |: (use ~ to forc| 00001340 65 20 6f 66 66 2c 20 65 67 2e 20 7e 22 0a 0d 32 |e off, eg. ~"..2| 00001350 35 3d 3e 22 70 72 69 6e 74 65 22 0a 0d 32 36 3d |5=>"printe"..26=| 00001360 3e 22 53 79 6e 74 61 78 3a 20 2a 22 2b 3c 73 74 |>"Syntax: *"+<st| 00001370 72 69 6e 67 20 70 6f 69 6e 74 65 64 20 74 6f 20 |ring pointed to | 00001380 62 79 20 58 59 2b 38 3e 2b 22 20 3c 66 69 6c 65 |by XY+8>+" <file| 00001390 6e 61 6d 65 3e 22 0a 0d 32 37 3d 3e 22 73 65 6c |name>"..27=>"sel| 000013a0 65 63 74 22 0a 0d 32 38 3d 3e 22 78 70 72 65 73 |ect"..28=>"xpres| 000013b0 73 69 6f 6e 22 0a 0d 32 39 3d 3e 53 79 6e 74 61 |sion"..29=>Synta| 000013c0 78 3a 20 2a 22 2b 3c 73 74 72 69 6e 67 20 70 6f |x: *"+<string po| 000013d0 69 6e 74 65 64 20 74 6f 20 62 79 20 58 59 2b 38 |inted to by XY+8| 000013e0 3e 2b 22 20 5b 22 0a 0d 33 30 3d 3e 22 73 70 72 |>+" ["..30=>"spr| 000013f0 69 74 65 22 0a 0d 33 31 3d 3e 22 20 64 69 73 70 |ite"..31=>" disp| 00001400 6c 61 79 73 22 0a 0d 33 32 3d 3e 22 66 72 65 65 |lays"..32=>"free| 00001410 20 73 70 61 63 65 22 0a 0d 33 33 3d 3e 22 20 7b | space"..33=>" {| 00001420 6f 66 66 7d 22 0a 0d 33 34 3d 3e 22 6c 69 62 72 |off}"..34=>"libr| 00001430 61 72 79 22 0a 0d 33 35 3d 3e 22 70 61 72 61 6d |ary"..35=>"param| 00001440 65 74 65 72 22 0a 0d 33 36 3d 3e 22 6f 62 6a 65 |eter"..36=>"obje| 00001450 63 74 22 0a 0d 33 37 3d 3e 22 20 61 6c 6c 20 22 |ct"..37=>" all "| 00001460 0a 0d 33 38 3d 3e 22 64 69 73 63 22 0a 0d 33 39 |..38=>"disc"..39| 00001470 3d 3e 22 20 74 6f 20 22 0a 0d 34 30 3d 3e 22 20 |=>" to "..40=>" | 00001480 69 73 20 22 0a 0d 0a 0d |is "....| 00001488