Home » Personal collection » Acorn ADFS disks » Electron_User_Group » EUG_28.ADF » F/+HINT15

F/+HINT15

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_28.ADF
Filename: F/+HINT15
Read OK:
File size: 1705 bytes
Load address: 48204556
Exec address: 31544E49
File contents
A=ISMSCH       Search for key in index.

               This call attempts to find the key in LINBUF in the index
               that you specify.  If no key is found, the index is still
               "positioned", and you can use the "Get next key" and "Get
               previous key" calls.  A subsequent "Get next key" call 
               after a key was not found, returns the next highest value
               key that is in the index.

               On entry:       Y       contains the handle of the file.
                               LINBUF  contains key to search for. 

               On exit:        VS      filing system error occurred; error
                                       code in A.
                               CS      key not found; internal error code in
                                       A.      
                                       The file position is set.
                               REG1    contains pointer value of key, if
                                       found.

A=ISMINS        Insert key into index.

                This call inserts the key in LINBUF into the index file.

                On entry:       Y       contains the handle of the file.
                                LINBUF  contains the key to insert.
                                REG1    contains pointer value to be
                                        associated with the key.

                On exit:                The file position is reset.
                                VS      filing system error occurred; error
                                        code in A.
                                CS      index  is full; internal error code
                                        in A.

A=ISMNXT        Return next sequential key.

                This call returns the pointer value of the next sequential
                key, from the current file position.

                On entry:       Y       contains the file handle.

                On exit:        VS      filing system error occurred; error
                                        code in A.
                                CS      At end of file; internal error code
                                        in A.  
                                        The file position is advanced by
                                        one.
                                REG1    contains the pointer value
                                        associated with the key.

A=ISMDEL        Delete key from index.

                This call deletes the specified key and associated pointer
                value from the index file.

                On entry:       Y       contains the file handle.

                On exit:                The file position is reset.
                                VS      filing system error occurred; error
                                        code in A.
                                CS      Key not found; internal error code
                                        in A.
                                REG1    contains the pointer value
                                        associated with the key.

A=ISMCLS        Close file.

                This call closes the file; it both calls the filing system
                to close the file, and closes the file within ISAM as well.
                This is slightly different from the ISMOPN call, which 
                requires the filing system open call to be separate.

                On entry:       Y       contains the file handle.

                On exit:        VS      filing system error occurred; error
                                        code in A.

A=ISMPRE        Return previous key in index file.

                This call returns the pointer value of the previous 
                sequential key in the index, from the current file position.

                On entry:       Y       contains the file handle.

                On exit:        VS      filing system error occurred; error 
                                        code in A.
                                CS      Beginning of file; internal error
                                        code in A.  
                                        The file position is moved back by
                                        one.
                                REG1    contains the pointer value
                                        associated with the key.


Printer Control Routines

The printer control routines handle the printer driver for the utility.  A
printer driver must be loaded from ViewStore Command Mode before calling the
utility, or the default printer driver in the ROM is used.

Highlights can be sent to the printer driver from a utility, but there is no
provision for handling of the printer options byte or microspacing.
Highlights begin at 128 for highlight 1.

A utility can test the state of the printer by examining the location
PRNFLG.  If bit 7 of PRNFLG is set, then the printer is switched on.  If bit
6 of PRNFLG is set, then the printer is not actually on,  but waiting: a
call to PRNON will switch on the printer.

The printer should be switched off before reporting errors.

        ASKPRN          Ask about printer.
        PRNON           Switch waiting printer on.
        PRNOFF          Switch printer off.
        PSCOUTT         Send character to printer/screen vector.


ASKPRN

This routine prompts the user with the question "Screen or Printer (S,P)?". 
According to the response, bit 6 of PRNFLG is updated to indicate whether
the printer is waiting.  If bit 6 is set, a subsequent call to PRNON by the
utility will switch on the printer.

On entry:                       No entry conditions.

On exit:        PRNFLG          Bit 6 set if printer is waiting; clear if
                                screen is to be used.
                A,X,Y           undefined.


00000000  41 3d 49 53 4d 53 43 48  20 20 20 20 20 20 20 53  |A=ISMSCH       S|
00000010  65 61 72 63 68 20 66 6f  72 20 6b 65 79 20 69 6e  |earch for key in|
00000020  20 69 6e 64 65 78 2e 0d  0d 20 20 20 20 20 20 20  | index...       |
00000030  20 20 20 20 20 20 20 20  54 68 69 73 20 63 61 6c  |        This cal|
00000040  6c 20 61 74 74 65 6d 70  74 73 20 74 6f 20 66 69  |l attempts to fi|
00000050  6e 64 20 74 68 65 20 6b  65 79 20 69 6e 20 4c 49  |nd the key in LI|
00000060  4e 42 55 46 20 69 6e 20  74 68 65 20 69 6e 64 65  |NBUF in the inde|
00000070  78 0d 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |x.              |
00000080  20 74 68 61 74 20 79 6f  75 20 73 70 65 63 69 66  | that you specif|
00000090  79 2e 20 20 49 66 20 6e  6f 20 6b 65 79 20 69 73  |y.  If no key is|
000000a0  20 66 6f 75 6e 64 2c 20  74 68 65 20 69 6e 64 65  | found, the inde|
000000b0  78 20 69 73 20 73 74 69  6c 6c 0d 20 20 20 20 20  |x is still.     |
000000c0  20 20 20 20 20 20 20 20  20 20 22 70 6f 73 69 74  |          "posit|
000000d0  69 6f 6e 65 64 22 2c 20  61 6e 64 20 79 6f 75 20  |ioned", and you |
000000e0  63 61 6e 20 75 73 65 20  74 68 65 20 22 47 65 74  |can use the "Get|
000000f0  20 6e 65 78 74 20 6b 65  79 22 20 61 6e 64 20 22  | next key" and "|
00000100  47 65 74 0d 20 20 20 20  20 20 20 20 20 20 20 20  |Get.            |
00000110  20 20 20 70 72 65 76 69  6f 75 73 20 6b 65 79 22  |   previous key"|
00000120  20 63 61 6c 6c 73 2e 20  20 41 20 73 75 62 73 65  | calls.  A subse|
00000130  71 75 65 6e 74 20 22 47  65 74 20 6e 65 78 74 20  |quent "Get next |
00000140  6b 65 79 22 20 63 61 6c  6c 20 0d 20 20 20 20 20  |key" call .     |
00000150  20 20 20 20 20 20 20 20  20 20 61 66 74 65 72 20  |          after |
00000160  61 20 6b 65 79 20 77 61  73 20 6e 6f 74 20 66 6f  |a key was not fo|
00000170  75 6e 64 2c 20 72 65 74  75 72 6e 73 20 74 68 65  |und, returns the|
00000180  20 6e 65 78 74 20 68 69  67 68 65 73 74 20 76 61  | next highest va|
00000190  6c 75 65 0d 20 20 20 20  20 20 20 20 20 20 20 20  |lue.            |
000001a0  20 20 20 6b 65 79 20 74  68 61 74 20 69 73 20 69  |   key that is i|
000001b0  6e 20 74 68 65 20 69 6e  64 65 78 2e 0d 0d 20 20  |n the index...  |
000001c0  20 20 20 20 20 20 20 20  20 20 20 20 20 4f 6e 20  |             On |
000001d0  65 6e 74 72 79 3a 20 20  20 20 20 20 20 59 20 20  |entry:       Y  |
000001e0  20 20 20 20 20 63 6f 6e  74 61 69 6e 73 20 74 68  |     contains th|
000001f0  65 20 68 61 6e 64 6c 65  20 6f 66 20 74 68 65 20  |e handle of the |
00000200  66 69 6c 65 2e 0d 20 20  20 20 20 20 20 20 20 20  |file..          |
00000210  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000220  20 20 20 20 20 4c 49 4e  42 55 46 20 20 63 6f 6e  |     LINBUF  con|
00000230  74 61 69 6e 73 20 6b 65  79 20 74 6f 20 73 65 61  |tains key to sea|
00000240  72 63 68 20 66 6f 72 2e  20 0d 0d 20 20 20 20 20  |rch for. ..     |
00000250  20 20 20 20 20 20 20 20  20 20 4f 6e 20 65 78 69  |          On exi|
00000260  74 3a 20 20 20 20 20 20  20 20 56 53 20 20 20 20  |t:        VS    |
00000270  20 20 66 69 6c 69 6e 67  20 73 79 73 74 65 6d 20  |  filing system |
00000280  65 72 72 6f 72 20 6f 63  63 75 72 72 65 64 3b 20  |error occurred; |
00000290  65 72 72 6f 72 0d 20 20  20 20 20 20 20 20 20 20  |error.          |
000002a0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000002b0  20 20 20 20 20 20 20 20  20 20 20 20 20 63 6f 64  |             cod|
000002c0  65 20 69 6e 20 41 2e 0d  20 20 20 20 20 20 20 20  |e in A..        |
000002d0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000002e0  20 20 20 20 20 20 20 43  53 20 20 20 20 20 20 6b  |       CS      k|
000002f0  65 79 20 6e 6f 74 20 66  6f 75 6e 64 3b 20 69 6e  |ey not found; in|
00000300  74 65 72 6e 61 6c 20 65  72 72 6f 72 20 63 6f 64  |ternal error cod|
00000310  65 20 69 6e 0d 20 20 20  20 20 20 20 20 20 20 20  |e in.           |
00000320  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000330  20 20 20 20 20 20 20 20  20 20 20 20 41 2e 20 20  |            A.  |
00000340  20 20 20 20 0d 20 20 20  20 20 20 20 20 20 20 20  |    .           |
00000350  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000360  20 20 20 20 20 20 20 20  20 20 20 20 54 68 65 20  |            The |
00000370  66 69 6c 65 20 70 6f 73  69 74 69 6f 6e 20 69 73  |file position is|
00000380  20 73 65 74 2e 0d 20 20  20 20 20 20 20 20 20 20  | set..          |
00000390  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000003a0  20 20 20 20 20 52 45 47  31 20 20 20 20 63 6f 6e  |     REG1    con|
000003b0  74 61 69 6e 73 20 70 6f  69 6e 74 65 72 20 76 61  |tains pointer va|
000003c0  6c 75 65 20 6f 66 20 6b  65 79 2c 20 69 66 0d 20  |lue of key, if. |
000003d0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
000003f0  20 20 20 20 20 20 66 6f  75 6e 64 2e 0d 0d 41 3d  |      found...A=|
00000400  49 53 4d 49 4e 53 20 20  20 20 20 20 20 20 49 6e  |ISMINS        In|
00000410  73 65 72 74 20 6b 65 79  20 69 6e 74 6f 20 69 6e  |sert key into in|
00000420  64 65 78 2e 0d 0d 20 20  20 20 20 20 20 20 20 20  |dex...          |
00000430  20 20 20 20 20 20 54 68  69 73 20 63 61 6c 6c 20  |      This call |
00000440  69 6e 73 65 72 74 73 20  74 68 65 20 6b 65 79 20  |inserts the key |
00000450  69 6e 20 4c 49 4e 42 55  46 20 69 6e 74 6f 20 74  |in LINBUF into t|
00000460  68 65 20 69 6e 64 65 78  20 66 69 6c 65 2e 0d 0d  |he index file...|
00000470  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000480  4f 6e 20 65 6e 74 72 79  3a 20 20 20 20 20 20 20  |On entry:       |
00000490  59 20 20 20 20 20 20 20  63 6f 6e 74 61 69 6e 73  |Y       contains|
000004a0  20 74 68 65 20 68 61 6e  64 6c 65 20 6f 66 20 74  | the handle of t|
000004b0  68 65 20 66 69 6c 65 2e  0d 20 20 20 20 20 20 20  |he file..       |
000004c0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000004d0  20 20 20 20 20 20 20 20  20 4c 49 4e 42 55 46 20  |         LINBUF |
000004e0  20 63 6f 6e 74 61 69 6e  73 20 74 68 65 20 6b 65  | contains the ke|
000004f0  79 20 74 6f 20 69 6e 73  65 72 74 2e 0d 20 20 20  |y to insert..   |
00000500  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000510  20 20 20 20 20 20 20 20  20 20 20 20 20 52 45 47  |             REG|
00000520  31 20 20 20 20 63 6f 6e  74 61 69 6e 73 20 70 6f  |1    contains po|
00000530  69 6e 74 65 72 20 76 61  6c 75 65 20 74 6f 20 62  |inter value to b|
00000540  65 0d 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |e.              |
00000550  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000560  20 20 20 20 20 20 20 20  20 20 61 73 73 6f 63 69  |          associ|
00000570  61 74 65 64 20 77 69 74  68 20 74 68 65 20 6b 65  |ated with the ke|
00000580  79 2e 0d 0d 20 20 20 20  20 20 20 20 20 20 20 20  |y...            |
00000590  20 20 20 20 4f 6e 20 65  78 69 74 3a 20 20 20 20  |    On exit:    |
000005a0  20 20 20 20 20 20 20 20  20 20 20 20 54 68 65 20  |            The |
000005b0  66 69 6c 65 20 70 6f 73  69 74 69 6f 6e 20 69 73  |file position is|
000005c0  20 72 65 73 65 74 2e 0d  20 20 20 20 20 20 20 20  | reset..        |
000005d0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000005e0  20 20 20 20 20 20 20 20  56 53 20 20 20 20 20 20  |        VS      |
000005f0  66 69 6c 69 6e 67 20 73  79 73 74 65 6d 20 65 72  |filing system er|
00000600  72 6f 72 20 6f 63 63 75  72 72 65 64 3b 20 65 72  |ror occurred; er|
00000610  72 6f 72 0d 20 20 20 20  20 20 20 20 20 20 20 20  |ror.            |
00000620  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000630  20 20 20 20 20 20 20 20  20 20 20 20 63 6f 64 65  |            code|
00000640  20 69 6e 20 41 2e 0d 20  20 20 20 20 20 20 20 20  | in A..         |
00000650  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000660  20 20 20 20 20 20 20 43  53 20 20 20 20 20 20 69  |       CS      i|
00000670  6e 64 65 78 20 20 69 73  20 66 75 6c 6c 3b 20 69  |ndex  is full; i|
00000680  6e 74 65 72 6e 61 6c 20  65 72 72 6f 72 20 63 6f  |nternal error co|
00000690  64 65 0d 20 20 20 20 20  20 20 20 20 20 20 20 20  |de.             |
000006a0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000006b0  20 20 20 20 20 20 20 20  20 20 20 69 6e 20 41 2e  |           in A.|
000006c0  0d 0d 41 3d 49 53 4d 4e  58 54 20 20 20 20 20 20  |..A=ISMNXT      |
000006d0  20 20 52 65 74 75 72 6e  20 6e 65 78 74 20 73 65  |  Return next se|
000006e0  71 75 65 6e 74 69 61 6c  20 6b 65 79 2e 0d 0d 20  |quential key... |
000006f0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 54  |               T|
00000700  68 69 73 20 63 61 6c 6c  20 72 65 74 75 72 6e 73  |his call returns|
00000710  20 74 68 65 20 70 6f 69  6e 74 65 72 20 76 61 6c  | the pointer val|
00000720  75 65 20 6f 66 20 74 68  65 20 6e 65 78 74 20 73  |ue of the next s|
00000730  65 71 75 65 6e 74 69 61  6c 0d 20 20 20 20 20 20  |equential.      |
00000740  20 20 20 20 20 20 20 20  20 20 6b 65 79 2c 20 66  |          key, f|
00000750  72 6f 6d 20 74 68 65 20  63 75 72 72 65 6e 74 20  |rom the current |
00000760  66 69 6c 65 20 70 6f 73  69 74 69 6f 6e 2e 0d 0d  |file position...|
00000770  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000780  4f 6e 20 65 6e 74 72 79  3a 20 20 20 20 20 20 20  |On entry:       |
00000790  59 20 20 20 20 20 20 20  63 6f 6e 74 61 69 6e 73  |Y       contains|
000007a0  20 74 68 65 20 66 69 6c  65 20 68 61 6e 64 6c 65  | the file handle|
000007b0  2e 0d 0d 20 20 20 20 20  20 20 20 20 20 20 20 20  |...             |
000007c0  20 20 20 4f 6e 20 65 78  69 74 3a 20 20 20 20 20  |   On exit:     |
000007d0  20 20 20 56 53 20 20 20  20 20 20 66 69 6c 69 6e  |   VS      filin|
000007e0  67 20 73 79 73 74 65 6d  20 65 72 72 6f 72 20 6f  |g system error o|
000007f0  63 63 75 72 72 65 64 3b  20 65 72 72 6f 72 0d 20  |ccurred; error. |
00000800  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00000820  20 20 20 20 20 20 20 63  6f 64 65 20 69 6e 20 41  |       code in A|
00000830  2e 0d 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |..              |
00000840  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000850  20 20 43 53 20 20 20 20  20 20 41 74 20 65 6e 64  |  CS      At end|
00000860  20 6f 66 20 66 69 6c 65  3b 20 69 6e 74 65 72 6e  | of file; intern|
00000870  61 6c 20 65 72 72 6f 72  20 63 6f 64 65 0d 20 20  |al error code.  |
00000880  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
000008a0  20 20 20 20 20 20 69 6e  20 41 2e 20 20 0d 20 20  |      in A.  .  |
000008b0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
000008d0  20 20 20 20 20 20 54 68  65 20 66 69 6c 65 20 70  |      The file p|
000008e0  6f 73 69 74 69 6f 6e 20  69 73 20 61 64 76 61 6e  |osition is advan|
000008f0  63 65 64 20 62 79 0d 20  20 20 20 20 20 20 20 20  |ced by.         |
00000900  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000910  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 6f  |               o|
00000920  6e 65 2e 0d 20 20 20 20  20 20 20 20 20 20 20 20  |ne..            |
00000930  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000940  20 20 20 20 52 45 47 31  20 20 20 20 63 6f 6e 74  |    REG1    cont|
00000950  61 69 6e 73 20 74 68 65  20 70 6f 69 6e 74 65 72  |ains the pointer|
00000960  20 76 61 6c 75 65 0d 20  20 20 20 20 20 20 20 20  | value.         |
00000970  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000980  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 61  |               a|
00000990  73 73 6f 63 69 61 74 65  64 20 77 69 74 68 20 74  |ssociated with t|
000009a0  68 65 20 6b 65 79 2e 0d  0d 41 3d 49 53 4d 44 45  |he key...A=ISMDE|
000009b0  4c 20 20 20 20 20 20 20  20 44 65 6c 65 74 65 20  |L        Delete |
000009c0  6b 65 79 20 66 72 6f 6d  20 69 6e 64 65 78 2e 0d  |key from index..|
000009d0  0d 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
000009e0  20 54 68 69 73 20 63 61  6c 6c 20 64 65 6c 65 74  | This call delet|
000009f0  65 73 20 74 68 65 20 73  70 65 63 69 66 69 65 64  |es the specified|
00000a00  20 6b 65 79 20 61 6e 64  20 61 73 73 6f 63 69 61  | key and associa|
00000a10  74 65 64 20 70 6f 69 6e  74 65 72 0d 20 20 20 20  |ted pointer.    |
00000a20  20 20 20 20 20 20 20 20  20 20 20 20 76 61 6c 75  |            valu|
00000a30  65 20 66 72 6f 6d 20 74  68 65 20 69 6e 64 65 78  |e from the index|
00000a40  20 66 69 6c 65 2e 0d 0d  20 20 20 20 20 20 20 20  | file...        |
00000a50  20 20 20 20 20 20 20 20  4f 6e 20 65 6e 74 72 79  |        On entry|
00000a60  3a 20 20 20 20 20 20 20  59 20 20 20 20 20 20 20  |:       Y       |
00000a70  63 6f 6e 74 61 69 6e 73  20 74 68 65 20 66 69 6c  |contains the fil|
00000a80  65 20 68 61 6e 64 6c 65  2e 0d 0d 20 20 20 20 20  |e handle...     |
00000a90  20 20 20 20 20 20 20 20  20 20 20 4f 6e 20 65 78  |           On ex|
00000aa0  69 74 3a 20 20 20 20 20  20 20 20 20 20 20 20 20  |it:             |
00000ab0  20 20 20 54 68 65 20 66  69 6c 65 20 70 6f 73 69  |   The file posi|
00000ac0  74 69 6f 6e 20 69 73 20  72 65 73 65 74 2e 0d 20  |tion is reset.. |
00000ad0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000ae0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 56  |               V|
00000af0  53 20 20 20 20 20 20 66  69 6c 69 6e 67 20 73 79  |S      filing sy|
00000b00  73 74 65 6d 20 65 72 72  6f 72 20 6f 63 63 75 72  |stem error occur|
00000b10  72 65 64 3b 20 65 72 72  6f 72 0d 20 20 20 20 20  |red; error.     |
00000b20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00000b40  20 20 20 63 6f 64 65 20  69 6e 20 41 2e 0d 20 20  |   code in A..  |
00000b50  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000b60  20 20 20 20 20 20 20 20  20 20 20 20 20 20 43 53  |              CS|
00000b70  20 20 20 20 20 20 4b 65  79 20 6e 6f 74 20 66 6f  |      Key not fo|
00000b80  75 6e 64 3b 20 69 6e 74  65 72 6e 61 6c 20 65 72  |und; internal er|
00000b90  72 6f 72 20 63 6f 64 65  0d 20 20 20 20 20 20 20  |ror code.       |
00000ba0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00000bc0  20 69 6e 20 41 2e 0d 20  20 20 20 20 20 20 20 20  | in A..         |
00000bd0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000be0  20 20 20 20 20 20 20 52  45 47 31 20 20 20 20 63  |       REG1    c|
00000bf0  6f 6e 74 61 69 6e 73 20  74 68 65 20 70 6f 69 6e  |ontains the poin|
00000c00  74 65 72 20 76 61 6c 75  65 0d 20 20 20 20 20 20  |ter value.      |
00000c10  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00000c30  20 20 61 73 73 6f 63 69  61 74 65 64 20 77 69 74  |  associated wit|
00000c40  68 20 74 68 65 20 6b 65  79 2e 0d 0d 41 3d 49 53  |h the key...A=IS|
00000c50  4d 43 4c 53 20 20 20 20  20 20 20 20 43 6c 6f 73  |MCLS        Clos|
00000c60  65 20 66 69 6c 65 2e 0d  0d 20 20 20 20 20 20 20  |e file...       |
00000c70  20 20 20 20 20 20 20 20  20 54 68 69 73 20 63 61  |         This ca|
00000c80  6c 6c 20 63 6c 6f 73 65  73 20 74 68 65 20 66 69  |ll closes the fi|
00000c90  6c 65 3b 20 69 74 20 62  6f 74 68 20 63 61 6c 6c  |le; it both call|
00000ca0  73 20 74 68 65 20 66 69  6c 69 6e 67 20 73 79 73  |s the filing sys|
00000cb0  74 65 6d 0d 20 20 20 20  20 20 20 20 20 20 20 20  |tem.            |
00000cc0  20 20 20 20 74 6f 20 63  6c 6f 73 65 20 74 68 65  |    to close the|
00000cd0  20 66 69 6c 65 2c 20 61  6e 64 20 63 6c 6f 73 65  | file, and close|
00000ce0  73 20 74 68 65 20 66 69  6c 65 20 77 69 74 68 69  |s the file withi|
00000cf0  6e 20 49 53 41 4d 20 61  73 20 77 65 6c 6c 2e 0d  |n ISAM as well..|
00000d00  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000d10  54 68 69 73 20 69 73 20  73 6c 69 67 68 74 6c 79  |This is slightly|
00000d20  20 64 69 66 66 65 72 65  6e 74 20 66 72 6f 6d 20  | different from |
00000d30  74 68 65 20 49 53 4d 4f  50 4e 20 63 61 6c 6c 2c  |the ISMOPN call,|
00000d40  20 77 68 69 63 68 20 0d  20 20 20 20 20 20 20 20  | which .        |
00000d50  20 20 20 20 20 20 20 20  72 65 71 75 69 72 65 73  |        requires|
00000d60  20 74 68 65 20 66 69 6c  69 6e 67 20 73 79 73 74  | the filing syst|
00000d70  65 6d 20 6f 70 65 6e 20  63 61 6c 6c 20 74 6f 20  |em open call to |
00000d80  62 65 20 73 65 70 61 72  61 74 65 2e 0d 0d 20 20  |be separate...  |
00000d90  20 20 20 20 20 20 20 20  20 20 20 20 20 20 4f 6e  |              On|
00000da0  20 65 6e 74 72 79 3a 20  20 20 20 20 20 20 59 20  | entry:       Y |
00000db0  20 20 20 20 20 20 63 6f  6e 74 61 69 6e 73 20 74  |      contains t|
00000dc0  68 65 20 66 69 6c 65 20  68 61 6e 64 6c 65 2e 0d  |he file handle..|
00000dd0  0d 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
00000de0  20 4f 6e 20 65 78 69 74  3a 20 20 20 20 20 20 20  | On exit:       |
00000df0  20 56 53 20 20 20 20 20  20 66 69 6c 69 6e 67 20  | VS      filing |
00000e00  73 79 73 74 65 6d 20 65  72 72 6f 72 20 6f 63 63  |system error occ|
00000e10  75 72 72 65 64 3b 20 65  72 72 6f 72 0d 20 20 20  |urred; error.   |
00000e20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00000e40  20 20 20 20 20 63 6f 64  65 20 69 6e 20 41 2e 0d  |     code in A..|
00000e50  0d 41 3d 49 53 4d 50 52  45 20 20 20 20 20 20 20  |.A=ISMPRE       |
00000e60  20 52 65 74 75 72 6e 20  70 72 65 76 69 6f 75 73  | Return previous|
00000e70  20 6b 65 79 20 69 6e 20  69 6e 64 65 78 20 66 69  | key in index fi|
00000e80  6c 65 2e 0d 0d 20 20 20  20 20 20 20 20 20 20 20  |le...           |
00000e90  20 20 20 20 20 54 68 69  73 20 63 61 6c 6c 20 72  |     This call r|
00000ea0  65 74 75 72 6e 73 20 74  68 65 20 70 6f 69 6e 74  |eturns the point|
00000eb0  65 72 20 76 61 6c 75 65  20 6f 66 20 74 68 65 20  |er value of the |
00000ec0  70 72 65 76 69 6f 75 73  20 0d 20 20 20 20 20 20  |previous .      |
00000ed0  20 20 20 20 20 20 20 20  20 20 73 65 71 75 65 6e  |          sequen|
00000ee0  74 69 61 6c 20 6b 65 79  20 69 6e 20 74 68 65 20  |tial key in the |
00000ef0  69 6e 64 65 78 2c 20 66  72 6f 6d 20 74 68 65 20  |index, from the |
00000f00  63 75 72 72 65 6e 74 20  66 69 6c 65 20 70 6f 73  |current file pos|
00000f10  69 74 69 6f 6e 2e 0d 0d  20 20 20 20 20 20 20 20  |ition...        |
00000f20  20 20 20 20 20 20 20 20  4f 6e 20 65 6e 74 72 79  |        On entry|
00000f30  3a 20 20 20 20 20 20 20  59 20 20 20 20 20 20 20  |:       Y       |
00000f40  63 6f 6e 74 61 69 6e 73  20 74 68 65 20 66 69 6c  |contains the fil|
00000f50  65 20 68 61 6e 64 6c 65  2e 0d 0d 20 20 20 20 20  |e handle...     |
00000f60  20 20 20 20 20 20 20 20  20 20 20 4f 6e 20 65 78  |           On ex|
00000f70  69 74 3a 20 20 20 20 20  20 20 20 56 53 20 20 20  |it:        VS   |
00000f80  20 20 20 66 69 6c 69 6e  67 20 73 79 73 74 65 6d  |   filing system|
00000f90  20 65 72 72 6f 72 20 6f  63 63 75 72 72 65 64 3b  | error occurred;|
00000fa0  20 65 72 72 6f 72 20 0d  20 20 20 20 20 20 20 20  | error .        |
00000fb0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00000fd0  63 6f 64 65 20 69 6e 20  41 2e 0d 20 20 20 20 20  |code in A..     |
00000fe0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000ff0  20 20 20 20 20 20 20 20  20 20 20 43 53 20 20 20  |           CS   |
00001000  20 20 20 42 65 67 69 6e  6e 69 6e 67 20 6f 66 20  |   Beginning of |
00001010  66 69 6c 65 3b 20 69 6e  74 65 72 6e 61 6c 20 65  |file; internal e|
00001020  72 72 6f 72 0d 20 20 20  20 20 20 20 20 20 20 20  |rror.           |
00001030  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001040  20 20 20 20 20 20 20 20  20 20 20 20 20 63 6f 64  |             cod|
00001050  65 20 69 6e 20 41 2e 20  20 0d 20 20 20 20 20 20  |e in A.  .      |
00001060  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00001080  20 20 54 68 65 20 66 69  6c 65 20 70 6f 73 69 74  |  The file posit|
00001090  69 6f 6e 20 69 73 20 6d  6f 76 65 64 20 62 61 63  |ion is moved bac|
000010a0  6b 20 62 79 0d 20 20 20  20 20 20 20 20 20 20 20  |k by.           |
000010b0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000010c0  20 20 20 20 20 20 20 20  20 20 20 20 20 6f 6e 65  |             one|
000010d0  2e 0d 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |..              |
000010e0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000010f0  20 20 52 45 47 31 20 20  20 20 63 6f 6e 74 61 69  |  REG1    contai|
00001100  6e 73 20 74 68 65 20 70  6f 69 6e 74 65 72 20 76  |ns the pointer v|
00001110  61 6c 75 65 0d 20 20 20  20 20 20 20 20 20 20 20  |alue.           |
00001120  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001130  20 20 20 20 20 20 20 20  20 20 20 20 20 61 73 73  |             ass|
00001140  6f 63 69 61 74 65 64 20  77 69 74 68 20 74 68 65  |ociated with the|
00001150  20 6b 65 79 2e 0d 0d 0d  50 72 69 6e 74 65 72 20  | key....Printer |
00001160  43 6f 6e 74 72 6f 6c 20  52 6f 75 74 69 6e 65 73  |Control Routines|
00001170  0d 0d 54 68 65 20 70 72  69 6e 74 65 72 20 63 6f  |..The printer co|
00001180  6e 74 72 6f 6c 20 72 6f  75 74 69 6e 65 73 20 68  |ntrol routines h|
00001190  61 6e 64 6c 65 20 74 68  65 20 70 72 69 6e 74 65  |andle the printe|
000011a0  72 20 64 72 69 76 65 72  20 66 6f 72 20 74 68 65  |r driver for the|
000011b0  20 75 74 69 6c 69 74 79  2e 20 20 41 0d 70 72 69  | utility.  A.pri|
000011c0  6e 74 65 72 20 64 72 69  76 65 72 20 6d 75 73 74  |nter driver must|
000011d0  20 62 65 20 6c 6f 61 64  65 64 20 66 72 6f 6d 20  | be loaded from |
000011e0  56 69 65 77 53 74 6f 72  65 20 43 6f 6d 6d 61 6e  |ViewStore Comman|
000011f0  64 20 4d 6f 64 65 20 62  65 66 6f 72 65 20 63 61  |d Mode before ca|
00001200  6c 6c 69 6e 67 20 74 68  65 0d 75 74 69 6c 69 74  |lling the.utilit|
00001210  79 2c 20 6f 72 20 74 68  65 20 64 65 66 61 75 6c  |y, or the defaul|
00001220  74 20 70 72 69 6e 74 65  72 20 64 72 69 76 65 72  |t printer driver|
00001230  20 69 6e 20 74 68 65 20  52 4f 4d 20 69 73 20 75  | in the ROM is u|
00001240  73 65 64 2e 0d 0d 48 69  67 68 6c 69 67 68 74 73  |sed...Highlights|
00001250  20 63 61 6e 20 62 65 20  73 65 6e 74 20 74 6f 20  | can be sent to |
00001260  74 68 65 20 70 72 69 6e  74 65 72 20 64 72 69 76  |the printer driv|
00001270  65 72 20 66 72 6f 6d 20  61 20 75 74 69 6c 69 74  |er from a utilit|
00001280  79 2c 20 62 75 74 20 74  68 65 72 65 20 69 73 20  |y, but there is |
00001290  6e 6f 0d 70 72 6f 76 69  73 69 6f 6e 20 66 6f 72  |no.provision for|
000012a0  20 68 61 6e 64 6c 69 6e  67 20 6f 66 20 74 68 65  | handling of the|
000012b0  20 70 72 69 6e 74 65 72  20 6f 70 74 69 6f 6e 73  | printer options|
000012c0  20 62 79 74 65 20 6f 72  20 6d 69 63 72 6f 73 70  | byte or microsp|
000012d0  61 63 69 6e 67 2e 0d 48  69 67 68 6c 69 67 68 74  |acing..Highlight|
000012e0  73 20 62 65 67 69 6e 20  61 74 20 31 32 38 20 66  |s begin at 128 f|
000012f0  6f 72 20 68 69 67 68 6c  69 67 68 74 20 31 2e 0d  |or highlight 1..|
00001300  0d 41 20 75 74 69 6c 69  74 79 20 63 61 6e 20 74  |.A utility can t|
00001310  65 73 74 20 74 68 65 20  73 74 61 74 65 20 6f 66  |est the state of|
00001320  20 74 68 65 20 70 72 69  6e 74 65 72 20 62 79 20  | the printer by |
00001330  65 78 61 6d 69 6e 69 6e  67 20 74 68 65 20 6c 6f  |examining the lo|
00001340  63 61 74 69 6f 6e 0d 50  52 4e 46 4c 47 2e 20 20  |cation.PRNFLG.  |
00001350  49 66 20 62 69 74 20 37  20 6f 66 20 50 52 4e 46  |If bit 7 of PRNF|
00001360  4c 47 20 69 73 20 73 65  74 2c 20 74 68 65 6e 20  |LG is set, then |
00001370  74 68 65 20 70 72 69 6e  74 65 72 20 69 73 20 73  |the printer is s|
00001380  77 69 74 63 68 65 64 20  6f 6e 2e 20 20 49 66 20  |witched on.  If |
00001390  62 69 74 0d 36 20 6f 66  20 50 52 4e 46 4c 47 20  |bit.6 of PRNFLG |
000013a0  69 73 20 73 65 74 2c 20  74 68 65 6e 20 74 68 65  |is set, then the|
000013b0  20 70 72 69 6e 74 65 72  20 69 73 20 6e 6f 74 20  | printer is not |
000013c0  61 63 74 75 61 6c 6c 79  20 6f 6e 2c 20 20 62 75  |actually on,  bu|
000013d0  74 20 77 61 69 74 69 6e  67 3a 20 61 0d 63 61 6c  |t waiting: a.cal|
000013e0  6c 20 74 6f 20 50 52 4e  4f 4e 20 77 69 6c 6c 20  |l to PRNON will |
000013f0  73 77 69 74 63 68 20 6f  6e 20 74 68 65 20 70 72  |switch on the pr|
00001400  69 6e 74 65 72 2e 0d 0d  54 68 65 20 70 72 69 6e  |inter...The prin|
00001410  74 65 72 20 73 68 6f 75  6c 64 20 62 65 20 73 77  |ter should be sw|
00001420  69 74 63 68 65 64 20 6f  66 66 20 62 65 66 6f 72  |itched off befor|
00001430  65 20 72 65 70 6f 72 74  69 6e 67 20 65 72 72 6f  |e reporting erro|
00001440  72 73 2e 0d 0d 20 20 20  20 20 20 20 20 41 53 4b  |rs...        ASK|
00001450  50 52 4e 20 20 20 20 20  20 20 20 20 20 41 73 6b  |PRN          Ask|
00001460  20 61 62 6f 75 74 20 70  72 69 6e 74 65 72 2e 0d  | about printer..|
00001470  20 20 20 20 20 20 20 20  50 52 4e 4f 4e 20 20 20  |        PRNON   |
00001480  20 20 20 20 20 20 20 20  53 77 69 74 63 68 20 77  |        Switch w|
00001490  61 69 74 69 6e 67 20 70  72 69 6e 74 65 72 20 6f  |aiting printer o|
000014a0  6e 2e 0d 20 20 20 20 20  20 20 20 50 52 4e 4f 46  |n..        PRNOF|
000014b0  46 20 20 20 20 20 20 20  20 20 20 53 77 69 74 63  |F          Switc|
000014c0  68 20 70 72 69 6e 74 65  72 20 6f 66 66 2e 0d 20  |h printer off.. |
000014d0  20 20 20 20 20 20 20 50  53 43 4f 55 54 54 20 20  |       PSCOUTT  |
000014e0  20 20 20 20 20 20 20 53  65 6e 64 20 63 68 61 72  |       Send char|
000014f0  61 63 74 65 72 20 74 6f  20 70 72 69 6e 74 65 72  |acter to printer|
00001500  2f 73 63 72 65 65 6e 20  76 65 63 74 6f 72 2e 0d  |/screen vector..|
00001510  0d 0d 41 53 4b 50 52 4e  0d 0d 54 68 69 73 20 72  |..ASKPRN..This r|
00001520  6f 75 74 69 6e 65 20 70  72 6f 6d 70 74 73 20 74  |outine prompts t|
00001530  68 65 20 75 73 65 72 20  77 69 74 68 20 74 68 65  |he user with the|
00001540  20 71 75 65 73 74 69 6f  6e 20 22 53 63 72 65 65  | question "Scree|
00001550  6e 20 6f 72 20 50 72 69  6e 74 65 72 20 28 53 2c  |n or Printer (S,|
00001560  50 29 3f 22 2e 20 0d 41  63 63 6f 72 64 69 6e 67  |P)?". .According|
00001570  20 74 6f 20 74 68 65 20  72 65 73 70 6f 6e 73 65  | to the response|
00001580  2c 20 62 69 74 20 36 20  6f 66 20 50 52 4e 46 4c  |, bit 6 of PRNFL|
00001590  47 20 69 73 20 75 70 64  61 74 65 64 20 74 6f 20  |G is updated to |
000015a0  69 6e 64 69 63 61 74 65  20 77 68 65 74 68 65 72  |indicate whether|
000015b0  0d 74 68 65 20 70 72 69  6e 74 65 72 20 69 73 20  |.the printer is |
000015c0  77 61 69 74 69 6e 67 2e  20 20 49 66 20 62 69 74  |waiting.  If bit|
000015d0  20 36 20 69 73 20 73 65  74 2c 20 61 20 73 75 62  | 6 is set, a sub|
000015e0  73 65 71 75 65 6e 74 20  63 61 6c 6c 20 74 6f 20  |sequent call to |
000015f0  50 52 4e 4f 4e 20 62 79  20 74 68 65 0d 75 74 69  |PRNON by the.uti|
00001600  6c 69 74 79 20 77 69 6c  6c 20 73 77 69 74 63 68  |lity will switch|
00001610  20 6f 6e 20 74 68 65 20  70 72 69 6e 74 65 72 2e  | on the printer.|
00001620  0d 0d 4f 6e 20 65 6e 74  72 79 3a 20 20 20 20 20  |..On entry:     |
00001630  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001640  20 20 4e 6f 20 65 6e 74  72 79 20 63 6f 6e 64 69  |  No entry condi|
00001650  74 69 6f 6e 73 2e 0d 0d  4f 6e 20 65 78 69 74 3a  |tions...On exit:|
00001660  20 20 20 20 20 20 20 20  50 52 4e 46 4c 47 20 20  |        PRNFLG  |
00001670  20 20 20 20 20 20 20 20  42 69 74 20 36 20 73 65  |        Bit 6 se|
00001680  74 20 69 66 20 70 72 69  6e 74 65 72 20 69 73 20  |t if printer is |
00001690  77 61 69 74 69 6e 67 3b  20 63 6c 65 61 72 20 69  |waiting; clear i|
000016a0  66 0d 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |f.              |
000016b0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000016c0  20 20 73 63 72 65 65 6e  20 69 73 20 74 6f 20 62  |  screen is to b|
000016d0  65 20 75 73 65 64 2e 0d  20 20 20 20 20 20 20 20  |e used..        |
000016e0  20 20 20 20 20 20 20 20  41 2c 58 2c 59 20 20 20  |        A,X,Y   |
000016f0  20 20 20 20 20 20 20 20  75 6e 64 65 66 69 6e 65  |        undefine|
00001700  64 2e 0d 0d 0d                                    |d....|
00001705
F/+HINT15.m0
F/+HINT15.m1
F/+HINT15.m2
F/+HINT15.m4
F/+HINT15.m5