Home » Archimedes archive » Micro User » MU 1992-06.adf » PD » BASS/Comms/Ice/?IceUsage

BASS/Comms/Ice/?IceUsage

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 » Archimedes archive » Micro User » MU 1992-06.adf » PD
Filename: BASS/Comms/Ice/?IceUsage
Read OK:
File size: 1F37 bytes
Load address: 0000
Exec address: 0000
File contents
      _________________________________________________________________
     /                                                                 \
    /                              IceManager                           \
   /                                                                     \
  <              --==  Improved  Communications  Enhancer  ==--           >
   \                                                                     /
    \                   Written by Carl Declerck (c)1990                /
     \_________________________________________________________________/

       This module is in the Public Domain. It may be used for whatever 
       non-commercial purposes. Modification of the code is prohibited!

                            Usage of the Ice SWI's
                           ------------------------

Ice chunk number: &C0900                         

============================================================================

* SWI "Ice_Initialise" 
      &C0900                                            

      Entry: R0 = Receive baudrate (REAL)
             R1 = Transmit baudrate (REAL)
             R2 = Number of databits (8,7,6 or 5)
             R3 = Number of stopbits (2 or 1)
             R4 = Parity (0=none, 1=odd, 2=even)

      Exit : - All registers are preserved
  
  This SWI initialises the serial port of the Archimedes. The REAL baudrates
  must be passed in R0 and R1 on entry, NOT the 4-bit equivalents that are
  used with OS_SerialOp.
  This SWI combines three seperate calls to Ice_SetReceiveRate, 
  Ice_SetTransmitRate and Ice_SetDataFormat respectively.                   

============================================================================

* SWI "Ice_ReadReceiveRate"
      &C0901

      Entry: -

      Exit : R0 = Receive baudrate (REAL)
    
  This SWI reads the current receive baudrate of the serial port.
                                                                            
============================================================================

* SWI "Ice_SetReceiveRate"
      &C0902

      Entry: R0 = New receive baudrate (REAL)

      Exit : - All registers are preserved

  This SWI sets a new receive baudrate for the serial port.                 

============================================================================

* SWI "Ice_ReadTransmitRate"
      &C0903

      Entry: -

      Exit : R0 = Transmit baudrate (REAL)

  This SWI reads the current transmit baudrate of the serial port.          

============================================================================

* SWI "Ice_SetTransmitRate"
      &C0904

      Entry: R0 = New transmit baudrate (REAL)

      Exit : - All registers are preserved

  This SWI sets a new transmit baudrate for the serial port.                

============================================================================

* SWI "Ice_ReadDataFormat"
      &C0905

      Entry: -

      Exit : R0 = Number of databits (8,7,6 or 5)
             R1 = Number of stopbits (2 or 1)
             R2 = Parity (0=none, 1=odd, 2=even)

  This SWI reads the current serial status, returning the dataformat bits
  in registers R0-R2.                                                       

============================================================================

* SWI "Ice_SetDataFormat"
      &C0906

      Entry: R0 = Number of databits (8,7,6 or 5)
             R1 = Number of stopbits (2 or 1)
             R2 = Parity (0=none, 1=odd, 2=even)

      Exit : - All registers are preserved

  This SWI sets the serial status, taking in R0-R2 the bit-specifications
  for the dataformat.                                    

============================================================================

* SWI "Ice_GetByte"
      &C0907

      Entry: -

      Exit : R0 = Byte read from serial input-buffer, or -1 if buffer was
                  empty.

  This SWI reads a byte from the serial input-buffer. If reading was
  succesful, R0 contains the byte read, otherwise, if the input-buffer was
  empty, R0 contains -1.                                                    

============================================================================

* SWI "Ice_SendByte"
      &C0908

      Entry: R0 = Byte to be sent.

      Exit : R0 = Byte put in output-buffer, or -1 if buffer was full.

  This SWI puts a byte into the serial output-buffer. If the buffer was
  already full, R0 contains -1 on exit, and the byte was not sent.          

============================================================================

* SWI "Ice_SendString"
      &C0909
            
      Entry: R0 = Pointer to control-character terminated string.

      Exit : R0 = Number of characters actually sent.

  This SWI sends a string, byte per byte, to the output-buffer. Any character
  with ASCII-value smaller than 27 terminates the string. When, during the
  sending of the string, the output-buffer gets full, sending is aborted.
  On exit, R0 will contain the number of characters sent, which equals the
  string-length if sending was succesful.                                   

============================================================================

* SWI "Ice_LowerDTR"
      &C090A

      Entry: -

      Exit : - All registers are preserved

  This SWI sets the DTR bit in the status mask, and thus lowers the DTR-line
  to the modem. This lowering of the DTR is very handy for hanging up the
  modem.                                                                    

============================================================================

* SWI "Ice_RaiseDTR"
      &C090B

      Entry: -

      Exit : - All registers are preserved

  This SWI clears the DTR bit in the status mask, and thus raises the DTR-
  line to the modem. The DTR must be raised for sending data to the modem.  

============================================================================

* SWI "Ice_CarrierDetect"
      &C090C
            
      Entry: -

      Exit : R0 = 0 if no carrier was detected, or 1 if a carrier was 
                  detected.

  This SWI reads the DCD bit from the status mask, and returns in R0 the 
  status of this bit. Reading this bit regularly after a connection was
  established informs you whether there still is a connection or not.       

============================================================================

* SWI "Ice_WriteANSI"
      &C090D

      Entry: R0 = Character to be written (or ANSI-interpreted).

      Exit : - All registers are preserved.

  This SWI provides an ANSI Escape Sequence emulator. Many BBS's use color
  coding for their text, conforming to the ANSI standard. Using this SWI to
  print all incoming characters will result in these color-codes being
  interpreted. Apart from color-codes, the ANSI standard also provides easy
  cursor-positioning control and some other display-controls.
  On entry, R0 should contain the character to be printed. The emulator will
  take appropriate action depending on its ASCII-value.
                                                                            
============================================================================

* SWI "Ice_RemoteControl"
      &C090E

      Entry: -

      Exit : - All registers are preserved.

  This SWI switches your Archimedes to remote-control mode. In this mode,
  all input and output goes via the serial port, which means you can control
  your Arc from whatever terminal that is attached to the serial port.

============================================================================

* SWI "Ice_LocalControl"
      &C090F

      Entry: -

      Exit : - All registers are preserved.

  This SWI puts your Archimedes back in local-control mode. This is the
  state the Arc is in when you switch it on. 

============================================================================
      
                                                              Carl Declerck.
00000000  20 20 20 20 20 20 5f 5f  5f 5f 5f 5f 5f 5f 5f 5f  |      __________|
00000010  5f 5f 5f 5f 5f 5f 5f 5f  5f 5f 5f 5f 5f 5f 5f 5f  |________________|
*
00000040  5f 5f 5f 5f 5f 5f 5f 0a  20 20 20 20 20 2f 20 20  |_______.     /  |
00000050  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00000080  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 5c  |               \|
00000090  0a 20 20 20 20 2f 20 20  20 20 20 20 20 20 20 20  |.    /          |
000000a0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000000b0  20 20 20 20 49 63 65 4d  61 6e 61 67 65 72 20 20  |    IceManager  |
000000c0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000000d0  20 20 20 20 20 20 20 20  20 5c 0a 20 20 20 2f 20  |         \.   / |
000000e0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00000120  20 20 20 20 5c 0a 20 20  3c 20 20 20 20 20 20 20  |    \.  <       |
00000130  20 20 20 20 20 20 20 2d  2d 3d 3d 20 20 49 6d 70  |       --==  Imp|
00000140  72 6f 76 65 64 20 20 43  6f 6d 6d 75 6e 69 63 61  |roved  Communica|
00000150  74 69 6f 6e 73 20 20 45  6e 68 61 6e 63 65 72 20  |tions  Enhancer |
00000160  20 3d 3d 2d 2d 20 20 20  20 20 20 20 20 20 20 20  | ==--           |
00000170  3e 0a 20 20 20 5c 20 20  20 20 20 20 20 20 20 20  |>.   \          |
00000180  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
000001b0  20 20 20 20 20 20 20 20  20 20 20 2f 0a 20 20 20  |           /.   |
000001c0  20 5c 20 20 20 20 20 20  20 20 20 20 20 20 20 20  | \              |
000001d0  20 20 20 20 20 57 72 69  74 74 65 6e 20 62 79 20  |     Written by |
000001e0  43 61 72 6c 20 44 65 63  6c 65 72 63 6b 20 28 63  |Carl Declerck (c|
000001f0  29 31 39 39 30 20 20 20  20 20 20 20 20 20 20 20  |)1990           |
00000200  20 20 20 20 20 2f 0a 20  20 20 20 20 5c 5f 5f 5f  |     /.     \___|
00000210  5f 5f 5f 5f 5f 5f 5f 5f  5f 5f 5f 5f 5f 5f 5f 5f  |________________|
*
00000240  5f 5f 5f 5f 5f 5f 5f 5f  5f 5f 5f 5f 5f 5f 2f 0a  |______________/.|
00000250  0a 20 20 20 20 20 20 20  54 68 69 73 20 6d 6f 64  |.       This mod|
00000260  75 6c 65 20 69 73 20 69  6e 20 74 68 65 20 50 75  |ule is in the Pu|
00000270  62 6c 69 63 20 44 6f 6d  61 69 6e 2e 20 49 74 20  |blic Domain. It |
00000280  6d 61 79 20 62 65 20 75  73 65 64 20 66 6f 72 20  |may be used for |
00000290  77 68 61 74 65 76 65 72  20 0a 20 20 20 20 20 20  |whatever .      |
000002a0  20 6e 6f 6e 2d 63 6f 6d  6d 65 72 63 69 61 6c 20  | non-commercial |
000002b0  70 75 72 70 6f 73 65 73  2e 20 4d 6f 64 69 66 69  |purposes. Modifi|
000002c0  63 61 74 69 6f 6e 20 6f  66 20 74 68 65 20 63 6f  |cation of the co|
000002d0  64 65 20 69 73 20 70 72  6f 68 69 62 69 74 65 64  |de is prohibited|
000002e0  21 0a 0a 20 20 20 20 20  20 20 20 20 20 20 20 20  |!..             |
000002f0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 55  |               U|
00000300  73 61 67 65 20 6f 66 20  74 68 65 20 49 63 65 20  |sage of the Ice |
00000310  53 57 49 27 73 0a 20 20  20 20 20 20 20 20 20 20  |SWI's.          |
00000320  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000330  20 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  | ---------------|
00000340  2d 2d 2d 2d 2d 2d 2d 2d  2d 0a 0a 49 63 65 20 63  |---------..Ice c|
00000350  68 75 6e 6b 20 6e 75 6d  62 65 72 3a 20 26 43 30  |hunk number: &C0|
00000360  39 30 30 20 20 20 20 20  20 20 20 20 20 20 20 20  |900             |
00000370  20 20 20 20 20 20 20 20  20 20 20 20 0a 0a 3d 3d  |            ..==|
00000380  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |================|
*
000003c0  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 0a 0a 2a 20 53 57  |==========..* SW|
000003d0  49 20 22 49 63 65 5f 49  6e 69 74 69 61 6c 69 73  |I "Ice_Initialis|
000003e0  65 22 20 0a 20 20 20 20  20 20 26 43 30 39 30 30  |e" .      &C0900|
000003f0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00000410  20 20 20 20 20 20 20 20  20 20 20 20 0a 0a 20 20  |            ..  |
00000420  20 20 20 20 45 6e 74 72  79 3a 20 52 30 20 3d 20  |    Entry: R0 = |
00000430  52 65 63 65 69 76 65 20  62 61 75 64 72 61 74 65  |Receive baudrate|
00000440  20 28 52 45 41 4c 29 0a  20 20 20 20 20 20 20 20  | (REAL).        |
00000450  20 20 20 20 20 52 31 20  3d 20 54 72 61 6e 73 6d  |     R1 = Transm|
00000460  69 74 20 62 61 75 64 72  61 74 65 20 28 52 45 41  |it baudrate (REA|
00000470  4c 29 0a 20 20 20 20 20  20 20 20 20 20 20 20 20  |L).             |
00000480  52 32 20 3d 20 4e 75 6d  62 65 72 20 6f 66 20 64  |R2 = Number of d|
00000490  61 74 61 62 69 74 73 20  28 38 2c 37 2c 36 20 6f  |atabits (8,7,6 o|
000004a0  72 20 35 29 0a 20 20 20  20 20 20 20 20 20 20 20  |r 5).           |
000004b0  20 20 52 33 20 3d 20 4e  75 6d 62 65 72 20 6f 66  |  R3 = Number of|
000004c0  20 73 74 6f 70 62 69 74  73 20 28 32 20 6f 72 20  | stopbits (2 or |
000004d0  31 29 0a 20 20 20 20 20  20 20 20 20 20 20 20 20  |1).             |
000004e0  52 34 20 3d 20 50 61 72  69 74 79 20 28 30 3d 6e  |R4 = Parity (0=n|
000004f0  6f 6e 65 2c 20 31 3d 6f  64 64 2c 20 32 3d 65 76  |one, 1=odd, 2=ev|
00000500  65 6e 29 0a 0a 20 20 20  20 20 20 45 78 69 74 20  |en)..      Exit |
00000510  3a 20 2d 20 41 6c 6c 20  72 65 67 69 73 74 65 72  |: - All register|
00000520  73 20 61 72 65 20 70 72  65 73 65 72 76 65 64 0a  |s are preserved.|
00000530  20 20 0a 20 20 54 68 69  73 20 53 57 49 20 69 6e  |  .  This SWI in|
00000540  69 74 69 61 6c 69 73 65  73 20 74 68 65 20 73 65  |itialises the se|
00000550  72 69 61 6c 20 70 6f 72  74 20 6f 66 20 74 68 65  |rial port of the|
00000560  20 41 72 63 68 69 6d 65  64 65 73 2e 20 54 68 65  | Archimedes. The|
00000570  20 52 45 41 4c 20 62 61  75 64 72 61 74 65 73 0a  | REAL baudrates.|
00000580  20 20 6d 75 73 74 20 62  65 20 70 61 73 73 65 64  |  must be passed|
00000590  20 69 6e 20 52 30 20 61  6e 64 20 52 31 20 6f 6e  | in R0 and R1 on|
000005a0  20 65 6e 74 72 79 2c 20  4e 4f 54 20 74 68 65 20  | entry, NOT the |
000005b0  34 2d 62 69 74 20 65 71  75 69 76 61 6c 65 6e 74  |4-bit equivalent|
000005c0  73 20 74 68 61 74 20 61  72 65 0a 20 20 75 73 65  |s that are.  use|
000005d0  64 20 77 69 74 68 20 4f  53 5f 53 65 72 69 61 6c  |d with OS_Serial|
000005e0  4f 70 2e 0a 20 20 54 68  69 73 20 53 57 49 20 63  |Op..  This SWI c|
000005f0  6f 6d 62 69 6e 65 73 20  74 68 72 65 65 20 73 65  |ombines three se|
00000600  70 65 72 61 74 65 20 63  61 6c 6c 73 20 74 6f 20  |perate calls to |
00000610  49 63 65 5f 53 65 74 52  65 63 65 69 76 65 52 61  |Ice_SetReceiveRa|
00000620  74 65 2c 20 0a 20 20 49  63 65 5f 53 65 74 54 72  |te, .  Ice_SetTr|
00000630  61 6e 73 6d 69 74 52 61  74 65 20 61 6e 64 20 49  |ansmitRate and I|
00000640  63 65 5f 53 65 74 44 61  74 61 46 6f 72 6d 61 74  |ce_SetDataFormat|
00000650  20 72 65 73 70 65 63 74  69 76 65 6c 79 2e 20 20  | respectively.  |
00000660  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000670  20 0a 0a 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  | ..=============|
00000680  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |================|
*
000006b0  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 0a  |===============.|
000006c0  0a 2a 20 53 57 49 20 22  49 63 65 5f 52 65 61 64  |.* SWI "Ice_Read|
000006d0  52 65 63 65 69 76 65 52  61 74 65 22 0a 20 20 20  |ReceiveRate".   |
000006e0  20 20 20 26 43 30 39 30  31 0a 0a 20 20 20 20 20  |   &C0901..     |
000006f0  20 45 6e 74 72 79 3a 20  2d 0a 0a 20 20 20 20 20  | Entry: -..     |
00000700  20 45 78 69 74 20 3a 20  52 30 20 3d 20 52 65 63  | Exit : R0 = Rec|
00000710  65 69 76 65 20 62 61 75  64 72 61 74 65 20 28 52  |eive baudrate (R|
00000720  45 41 4c 29 0a 20 20 20  20 0a 20 20 54 68 69 73  |EAL).    .  This|
00000730  20 53 57 49 20 72 65 61  64 73 20 74 68 65 20 63  | SWI reads the c|
00000740  75 72 72 65 6e 74 20 72  65 63 65 69 76 65 20 62  |urrent receive b|
00000750  61 75 64 72 61 74 65 20  6f 66 20 74 68 65 20 73  |audrate of the s|
00000760  65 72 69 61 6c 20 70 6f  72 74 2e 0a 20 20 20 20  |erial port..    |
00000770  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
000007b0  20 20 20 20 20 20 20 20  0a 3d 3d 3d 3d 3d 3d 3d  |        .=======|
000007c0  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |================|
*
00000800  3d 3d 3d 3d 3d 0a 0a 2a  20 53 57 49 20 22 49 63  |=====..* SWI "Ic|
00000810  65 5f 53 65 74 52 65 63  65 69 76 65 52 61 74 65  |e_SetReceiveRate|
00000820  22 0a 20 20 20 20 20 20  26 43 30 39 30 32 0a 0a  |".      &C0902..|
00000830  20 20 20 20 20 20 45 6e  74 72 79 3a 20 52 30 20  |      Entry: R0 |
00000840  3d 20 4e 65 77 20 72 65  63 65 69 76 65 20 62 61  |= New receive ba|
00000850  75 64 72 61 74 65 20 28  52 45 41 4c 29 0a 0a 20  |udrate (REAL).. |
00000860  20 20 20 20 20 45 78 69  74 20 3a 20 2d 20 41 6c  |     Exit : - Al|
00000870  6c 20 72 65 67 69 73 74  65 72 73 20 61 72 65 20  |l registers are |
00000880  70 72 65 73 65 72 76 65  64 0a 0a 20 20 54 68 69  |preserved..  Thi|
00000890  73 20 53 57 49 20 73 65  74 73 20 61 20 6e 65 77  |s SWI sets a new|
000008a0  20 72 65 63 65 69 76 65  20 62 61 75 64 72 61 74  | receive baudrat|
000008b0  65 20 66 6f 72 20 74 68  65 20 73 65 72 69 61 6c  |e for the serial|
000008c0  20 70 6f 72 74 2e 20 20  20 20 20 20 20 20 20 20  | port.          |
000008d0  20 20 20 20 20 20 20 0a  0a 3d 3d 3d 3d 3d 3d 3d  |       ..=======|
000008e0  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |================|
*
00000920  3d 3d 3d 3d 3d 0a 0a 2a  20 53 57 49 20 22 49 63  |=====..* SWI "Ic|
00000930  65 5f 52 65 61 64 54 72  61 6e 73 6d 69 74 52 61  |e_ReadTransmitRa|
00000940  74 65 22 0a 20 20 20 20  20 20 26 43 30 39 30 33  |te".      &C0903|
00000950  0a 0a 20 20 20 20 20 20  45 6e 74 72 79 3a 20 2d  |..      Entry: -|
00000960  0a 0a 20 20 20 20 20 20  45 78 69 74 20 3a 20 52  |..      Exit : R|
00000970  30 20 3d 20 54 72 61 6e  73 6d 69 74 20 62 61 75  |0 = Transmit bau|
00000980  64 72 61 74 65 20 28 52  45 41 4c 29 0a 0a 20 20  |drate (REAL)..  |
00000990  54 68 69 73 20 53 57 49  20 72 65 61 64 73 20 74  |This SWI reads t|
000009a0  68 65 20 63 75 72 72 65  6e 74 20 74 72 61 6e 73  |he current trans|
000009b0  6d 69 74 20 62 61 75 64  72 61 74 65 20 6f 66 20  |mit baudrate of |
000009c0  74 68 65 20 73 65 72 69  61 6c 20 70 6f 72 74 2e  |the serial port.|
000009d0  20 20 20 20 20 20 20 20  20 20 0a 0a 3d 3d 3d 3d  |          ..====|
000009e0  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |================|
*
00000a20  3d 3d 3d 3d 3d 3d 3d 3d  0a 0a 2a 20 53 57 49 20  |========..* SWI |
00000a30  22 49 63 65 5f 53 65 74  54 72 61 6e 73 6d 69 74  |"Ice_SetTransmit|
00000a40  52 61 74 65 22 0a 20 20  20 20 20 20 26 43 30 39  |Rate".      &C09|
00000a50  30 34 0a 0a 20 20 20 20  20 20 45 6e 74 72 79 3a  |04..      Entry:|
00000a60  20 52 30 20 3d 20 4e 65  77 20 74 72 61 6e 73 6d  | R0 = New transm|
00000a70  69 74 20 62 61 75 64 72  61 74 65 20 28 52 45 41  |it baudrate (REA|
00000a80  4c 29 0a 0a 20 20 20 20  20 20 45 78 69 74 20 3a  |L)..      Exit :|
00000a90  20 2d 20 41 6c 6c 20 72  65 67 69 73 74 65 72 73  | - All registers|
00000aa0  20 61 72 65 20 70 72 65  73 65 72 76 65 64 0a 0a  | are preserved..|
00000ab0  20 20 54 68 69 73 20 53  57 49 20 73 65 74 73 20  |  This SWI sets |
00000ac0  61 20 6e 65 77 20 74 72  61 6e 73 6d 69 74 20 62  |a new transmit b|
00000ad0  61 75 64 72 61 74 65 20  66 6f 72 20 74 68 65 20  |audrate for the |
00000ae0  73 65 72 69 61 6c 20 70  6f 72 74 2e 20 20 20 20  |serial port.    |
00000af0  20 20 20 20 20 20 20 20  20 20 20 20 0a 0a 3d 3d  |            ..==|
00000b00  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |================|
*
00000b40  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 0a 0a 2a 20 53 57  |==========..* SW|
00000b50  49 20 22 49 63 65 5f 52  65 61 64 44 61 74 61 46  |I "Ice_ReadDataF|
00000b60  6f 72 6d 61 74 22 0a 20  20 20 20 20 20 26 43 30  |ormat".      &C0|
00000b70  39 30 35 0a 0a 20 20 20  20 20 20 45 6e 74 72 79  |905..      Entry|
00000b80  3a 20 2d 0a 0a 20 20 20  20 20 20 45 78 69 74 20  |: -..      Exit |
00000b90  3a 20 52 30 20 3d 20 4e  75 6d 62 65 72 20 6f 66  |: R0 = Number of|
00000ba0  20 64 61 74 61 62 69 74  73 20 28 38 2c 37 2c 36  | databits (8,7,6|
00000bb0  20 6f 72 20 35 29 0a 20  20 20 20 20 20 20 20 20  | or 5).         |
00000bc0  20 20 20 20 52 31 20 3d  20 4e 75 6d 62 65 72 20  |    R1 = Number |
00000bd0  6f 66 20 73 74 6f 70 62  69 74 73 20 28 32 20 6f  |of stopbits (2 o|
00000be0  72 20 31 29 0a 20 20 20  20 20 20 20 20 20 20 20  |r 1).           |
00000bf0  20 20 52 32 20 3d 20 50  61 72 69 74 79 20 28 30  |  R2 = Parity (0|
00000c00  3d 6e 6f 6e 65 2c 20 31  3d 6f 64 64 2c 20 32 3d  |=none, 1=odd, 2=|
00000c10  65 76 65 6e 29 0a 0a 20  20 54 68 69 73 20 53 57  |even)..  This SW|
00000c20  49 20 72 65 61 64 73 20  74 68 65 20 63 75 72 72  |I reads the curr|
00000c30  65 6e 74 20 73 65 72 69  61 6c 20 73 74 61 74 75  |ent serial statu|
00000c40  73 2c 20 72 65 74 75 72  6e 69 6e 67 20 74 68 65  |s, returning the|
00000c50  20 64 61 74 61 66 6f 72  6d 61 74 20 62 69 74 73  | dataformat bits|
00000c60  0a 20 20 69 6e 20 72 65  67 69 73 74 65 72 73 20  |.  in registers |
00000c70  52 30 2d 52 32 2e 20 20  20 20 20 20 20 20 20 20  |R0-R2.          |
00000c80  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00000ca0  20 20 20 20 20 20 20 20  20 20 20 20 20 0a 0a 3d  |             ..=|
00000cb0  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |================|
*
00000cf0  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 0a 0a 2a 20 53  |===========..* S|
00000d00  57 49 20 22 49 63 65 5f  53 65 74 44 61 74 61 46  |WI "Ice_SetDataF|
00000d10  6f 72 6d 61 74 22 0a 20  20 20 20 20 20 26 43 30  |ormat".      &C0|
00000d20  39 30 36 0a 0a 20 20 20  20 20 20 45 6e 74 72 79  |906..      Entry|
00000d30  3a 20 52 30 20 3d 20 4e  75 6d 62 65 72 20 6f 66  |: R0 = Number of|
00000d40  20 64 61 74 61 62 69 74  73 20 28 38 2c 37 2c 36  | databits (8,7,6|
00000d50  20 6f 72 20 35 29 0a 20  20 20 20 20 20 20 20 20  | or 5).         |
00000d60  20 20 20 20 52 31 20 3d  20 4e 75 6d 62 65 72 20  |    R1 = Number |
00000d70  6f 66 20 73 74 6f 70 62  69 74 73 20 28 32 20 6f  |of stopbits (2 o|
00000d80  72 20 31 29 0a 20 20 20  20 20 20 20 20 20 20 20  |r 1).           |
00000d90  20 20 52 32 20 3d 20 50  61 72 69 74 79 20 28 30  |  R2 = Parity (0|
00000da0  3d 6e 6f 6e 65 2c 20 31  3d 6f 64 64 2c 20 32 3d  |=none, 1=odd, 2=|
00000db0  65 76 65 6e 29 0a 0a 20  20 20 20 20 20 45 78 69  |even)..      Exi|
00000dc0  74 20 3a 20 2d 20 41 6c  6c 20 72 65 67 69 73 74  |t : - All regist|
00000dd0  65 72 73 20 61 72 65 20  70 72 65 73 65 72 76 65  |ers are preserve|
00000de0  64 0a 0a 20 20 54 68 69  73 20 53 57 49 20 73 65  |d..  This SWI se|
00000df0  74 73 20 74 68 65 20 73  65 72 69 61 6c 20 73 74  |ts the serial st|
00000e00  61 74 75 73 2c 20 74 61  6b 69 6e 67 20 69 6e 20  |atus, taking in |
00000e10  52 30 2d 52 32 20 74 68  65 20 62 69 74 2d 73 70  |R0-R2 the bit-sp|
00000e20  65 63 69 66 69 63 61 74  69 6f 6e 73 0a 20 20 66  |ecifications.  f|
00000e30  6f 72 20 74 68 65 20 64  61 74 61 66 6f 72 6d 61  |or the dataforma|
00000e40  74 2e 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |t.              |
00000e50  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000e60  20 20 20 20 20 20 0a 0a  3d 3d 3d 3d 3d 3d 3d 3d  |      ..========|
00000e70  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |================|
*
00000eb0  3d 3d 3d 3d 0a 0a 2a 20  53 57 49 20 22 49 63 65  |====..* SWI "Ice|
00000ec0  5f 47 65 74 42 79 74 65  22 0a 20 20 20 20 20 20  |_GetByte".      |
00000ed0  26 43 30 39 30 37 0a 0a  20 20 20 20 20 20 45 6e  |&C0907..      En|
00000ee0  74 72 79 3a 20 2d 0a 0a  20 20 20 20 20 20 45 78  |try: -..      Ex|
00000ef0  69 74 20 3a 20 52 30 20  3d 20 42 79 74 65 20 72  |it : R0 = Byte r|
00000f00  65 61 64 20 66 72 6f 6d  20 73 65 72 69 61 6c 20  |ead from serial |
00000f10  69 6e 70 75 74 2d 62 75  66 66 65 72 2c 20 6f 72  |input-buffer, or|
00000f20  20 2d 31 20 69 66 20 62  75 66 66 65 72 20 77 61  | -1 if buffer wa|
00000f30  73 0a 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |s.              |
00000f40  20 20 20 20 65 6d 70 74  79 2e 0a 0a 20 20 54 68  |    empty...  Th|
00000f50  69 73 20 53 57 49 20 72  65 61 64 73 20 61 20 62  |is SWI reads a b|
00000f60  79 74 65 20 66 72 6f 6d  20 74 68 65 20 73 65 72  |yte from the ser|
00000f70  69 61 6c 20 69 6e 70 75  74 2d 62 75 66 66 65 72  |ial input-buffer|
00000f80  2e 20 49 66 20 72 65 61  64 69 6e 67 20 77 61 73  |. If reading was|
00000f90  0a 20 20 73 75 63 63 65  73 66 75 6c 2c 20 52 30  |.  succesful, R0|
00000fa0  20 63 6f 6e 74 61 69 6e  73 20 74 68 65 20 62 79  | contains the by|
00000fb0  74 65 20 72 65 61 64 2c  20 6f 74 68 65 72 77 69  |te read, otherwi|
00000fc0  73 65 2c 20 69 66 20 74  68 65 20 69 6e 70 75 74  |se, if the input|
00000fd0  2d 62 75 66 66 65 72 20  77 61 73 0a 20 20 65 6d  |-buffer was.  em|
00000fe0  70 74 79 2c 20 52 30 20  63 6f 6e 74 61 69 6e 73  |pty, R0 contains|
00000ff0  20 2d 31 2e 20 20 20 20  20 20 20 20 20 20 20 20  | -1.            |
00001000  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00001020  20 20 20 20 20 20 20 20  0a 0a 3d 3d 3d 3d 3d 3d  |        ..======|
00001030  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |================|
*
00001070  3d 3d 3d 3d 3d 3d 0a 0a  2a 20 53 57 49 20 22 49  |======..* SWI "I|
00001080  63 65 5f 53 65 6e 64 42  79 74 65 22 0a 20 20 20  |ce_SendByte".   |
00001090  20 20 20 26 43 30 39 30  38 0a 0a 20 20 20 20 20  |   &C0908..     |
000010a0  20 45 6e 74 72 79 3a 20  52 30 20 3d 20 42 79 74  | Entry: R0 = Byt|
000010b0  65 20 74 6f 20 62 65 20  73 65 6e 74 2e 0a 0a 20  |e to be sent... |
000010c0  20 20 20 20 20 45 78 69  74 20 3a 20 52 30 20 3d  |     Exit : R0 =|
000010d0  20 42 79 74 65 20 70 75  74 20 69 6e 20 6f 75 74  | Byte put in out|
000010e0  70 75 74 2d 62 75 66 66  65 72 2c 20 6f 72 20 2d  |put-buffer, or -|
000010f0  31 20 69 66 20 62 75 66  66 65 72 20 77 61 73 20  |1 if buffer was |
00001100  66 75 6c 6c 2e 0a 0a 20  20 54 68 69 73 20 53 57  |full...  This SW|
00001110  49 20 70 75 74 73 20 61  20 62 79 74 65 20 69 6e  |I puts a byte in|
00001120  74 6f 20 74 68 65 20 73  65 72 69 61 6c 20 6f 75  |to the serial ou|
00001130  74 70 75 74 2d 62 75 66  66 65 72 2e 20 49 66 20  |tput-buffer. If |
00001140  74 68 65 20 62 75 66 66  65 72 20 77 61 73 0a 20  |the buffer was. |
00001150  20 61 6c 72 65 61 64 79  20 66 75 6c 6c 2c 20 52  | already full, R|
00001160  30 20 63 6f 6e 74 61 69  6e 73 20 2d 31 20 6f 6e  |0 contains -1 on|
00001170  20 65 78 69 74 2c 20 61  6e 64 20 74 68 65 20 62  | exit, and the b|
00001180  79 74 65 20 77 61 73 20  6e 6f 74 20 73 65 6e 74  |yte was not sent|
00001190  2e 20 20 20 20 20 20 20  20 20 20 0a 0a 3d 3d 3d  |.          ..===|
000011a0  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |================|
*
000011e0  3d 3d 3d 3d 3d 3d 3d 3d  3d 0a 0a 2a 20 53 57 49  |=========..* SWI|
000011f0  20 22 49 63 65 5f 53 65  6e 64 53 74 72 69 6e 67  | "Ice_SendString|
00001200  22 0a 20 20 20 20 20 20  26 43 30 39 30 39 0a 20  |".      &C0909. |
00001210  20 20 20 20 20 20 20 20  20 20 20 0a 20 20 20 20  |           .    |
00001220  20 20 45 6e 74 72 79 3a  20 52 30 20 3d 20 50 6f  |  Entry: R0 = Po|
00001230  69 6e 74 65 72 20 74 6f  20 63 6f 6e 74 72 6f 6c  |inter to control|
00001240  2d 63 68 61 72 61 63 74  65 72 20 74 65 72 6d 69  |-character termi|
00001250  6e 61 74 65 64 20 73 74  72 69 6e 67 2e 0a 0a 20  |nated string... |
00001260  20 20 20 20 20 45 78 69  74 20 3a 20 52 30 20 3d  |     Exit : R0 =|
00001270  20 4e 75 6d 62 65 72 20  6f 66 20 63 68 61 72 61  | Number of chara|
00001280  63 74 65 72 73 20 61 63  74 75 61 6c 6c 79 20 73  |cters actually s|
00001290  65 6e 74 2e 0a 0a 20 20  54 68 69 73 20 53 57 49  |ent...  This SWI|
000012a0  20 73 65 6e 64 73 20 61  20 73 74 72 69 6e 67 2c  | sends a string,|
000012b0  20 62 79 74 65 20 70 65  72 20 62 79 74 65 2c 20  | byte per byte, |
000012c0  74 6f 20 74 68 65 20 6f  75 74 70 75 74 2d 62 75  |to the output-bu|
000012d0  66 66 65 72 2e 20 41 6e  79 20 63 68 61 72 61 63  |ffer. Any charac|
000012e0  74 65 72 0a 20 20 77 69  74 68 20 41 53 43 49 49  |ter.  with ASCII|
000012f0  2d 76 61 6c 75 65 20 73  6d 61 6c 6c 65 72 20 74  |-value smaller t|
00001300  68 61 6e 20 32 37 20 74  65 72 6d 69 6e 61 74 65  |han 27 terminate|
00001310  73 20 74 68 65 20 73 74  72 69 6e 67 2e 20 57 68  |s the string. Wh|
00001320  65 6e 2c 20 64 75 72 69  6e 67 20 74 68 65 0a 20  |en, during the. |
00001330  20 73 65 6e 64 69 6e 67  20 6f 66 20 74 68 65 20  | sending of the |
00001340  73 74 72 69 6e 67 2c 20  74 68 65 20 6f 75 74 70  |string, the outp|
00001350  75 74 2d 62 75 66 66 65  72 20 67 65 74 73 20 66  |ut-buffer gets f|
00001360  75 6c 6c 2c 20 73 65 6e  64 69 6e 67 20 69 73 20  |ull, sending is |
00001370  61 62 6f 72 74 65 64 2e  0a 20 20 4f 6e 20 65 78  |aborted..  On ex|
00001380  69 74 2c 20 52 30 20 77  69 6c 6c 20 63 6f 6e 74  |it, R0 will cont|
00001390  61 69 6e 20 74 68 65 20  6e 75 6d 62 65 72 20 6f  |ain the number o|
000013a0  66 20 63 68 61 72 61 63  74 65 72 73 20 73 65 6e  |f characters sen|
000013b0  74 2c 20 77 68 69 63 68  20 65 71 75 61 6c 73 20  |t, which equals |
000013c0  74 68 65 0a 20 20 73 74  72 69 6e 67 2d 6c 65 6e  |the.  string-len|
000013d0  67 74 68 20 69 66 20 73  65 6e 64 69 6e 67 20 77  |gth if sending w|
000013e0  61 73 20 73 75 63 63 65  73 66 75 6c 2e 20 20 20  |as succesful.   |
000013f0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00001410  0a 0a 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |..==============|
00001420  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |================|
*
00001450  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 0a 0a  |==============..|
00001460  2a 20 53 57 49 20 22 49  63 65 5f 4c 6f 77 65 72  |* SWI "Ice_Lower|
00001470  44 54 52 22 0a 20 20 20  20 20 20 26 43 30 39 30  |DTR".      &C090|
00001480  41 0a 0a 20 20 20 20 20  20 45 6e 74 72 79 3a 20  |A..      Entry: |
00001490  2d 0a 0a 20 20 20 20 20  20 45 78 69 74 20 3a 20  |-..      Exit : |
000014a0  2d 20 41 6c 6c 20 72 65  67 69 73 74 65 72 73 20  |- All registers |
000014b0  61 72 65 20 70 72 65 73  65 72 76 65 64 0a 0a 20  |are preserved.. |
000014c0  20 54 68 69 73 20 53 57  49 20 73 65 74 73 20 74  | This SWI sets t|
000014d0  68 65 20 44 54 52 20 62  69 74 20 69 6e 20 74 68  |he DTR bit in th|
000014e0  65 20 73 74 61 74 75 73  20 6d 61 73 6b 2c 20 61  |e status mask, a|
000014f0  6e 64 20 74 68 75 73 20  6c 6f 77 65 72 73 20 74  |nd thus lowers t|
00001500  68 65 20 44 54 52 2d 6c  69 6e 65 0a 20 20 74 6f  |he DTR-line.  to|
00001510  20 74 68 65 20 6d 6f 64  65 6d 2e 20 54 68 69 73  | the modem. This|
00001520  20 6c 6f 77 65 72 69 6e  67 20 6f 66 20 74 68 65  | lowering of the|
00001530  20 44 54 52 20 69 73 20  76 65 72 79 20 68 61 6e  | DTR is very han|
00001540  64 79 20 66 6f 72 20 68  61 6e 67 69 6e 67 20 75  |dy for hanging u|
00001550  70 20 74 68 65 0a 20 20  6d 6f 64 65 6d 2e 20 20  |p the.  modem.  |
00001560  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
000015a0  20 20 0a 0a 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |  ..============|
000015b0  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |================|
*
000015f0  0a 0a 2a 20 53 57 49 20  22 49 63 65 5f 52 61 69  |..* SWI "Ice_Rai|
00001600  73 65 44 54 52 22 0a 20  20 20 20 20 20 26 43 30  |seDTR".      &C0|
00001610  39 30 42 0a 0a 20 20 20  20 20 20 45 6e 74 72 79  |90B..      Entry|
00001620  3a 20 2d 0a 0a 20 20 20  20 20 20 45 78 69 74 20  |: -..      Exit |
00001630  3a 20 2d 20 41 6c 6c 20  72 65 67 69 73 74 65 72  |: - All register|
00001640  73 20 61 72 65 20 70 72  65 73 65 72 76 65 64 0a  |s are preserved.|
00001650  0a 20 20 54 68 69 73 20  53 57 49 20 63 6c 65 61  |.  This SWI clea|
00001660  72 73 20 74 68 65 20 44  54 52 20 62 69 74 20 69  |rs the DTR bit i|
00001670  6e 20 74 68 65 20 73 74  61 74 75 73 20 6d 61 73  |n the status mas|
00001680  6b 2c 20 61 6e 64 20 74  68 75 73 20 72 61 69 73  |k, and thus rais|
00001690  65 73 20 74 68 65 20 44  54 52 2d 0a 20 20 6c 69  |es the DTR-.  li|
000016a0  6e 65 20 74 6f 20 74 68  65 20 6d 6f 64 65 6d 2e  |ne to the modem.|
000016b0  20 54 68 65 20 44 54 52  20 6d 75 73 74 20 62 65  | The DTR must be|
000016c0  20 72 61 69 73 65 64 20  66 6f 72 20 73 65 6e 64  | raised for send|
000016d0  69 6e 67 20 64 61 74 61  20 74 6f 20 74 68 65 20  |ing data to the |
000016e0  6d 6f 64 65 6d 2e 20 20  0a 0a 3d 3d 3d 3d 3d 3d  |modem.  ..======|
000016f0  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |================|
*
00001730  3d 3d 3d 3d 3d 3d 0a 0a  2a 20 53 57 49 20 22 49  |======..* SWI "I|
00001740  63 65 5f 43 61 72 72 69  65 72 44 65 74 65 63 74  |ce_CarrierDetect|
00001750  22 0a 20 20 20 20 20 20  26 43 30 39 30 43 0a 20  |".      &C090C. |
00001760  20 20 20 20 20 20 20 20  20 20 20 0a 20 20 20 20  |           .    |
00001770  20 20 45 6e 74 72 79 3a  20 2d 0a 0a 20 20 20 20  |  Entry: -..    |
00001780  20 20 45 78 69 74 20 3a  20 52 30 20 3d 20 30 20  |  Exit : R0 = 0 |
00001790  69 66 20 6e 6f 20 63 61  72 72 69 65 72 20 77 61  |if no carrier wa|
000017a0  73 20 64 65 74 65 63 74  65 64 2c 20 6f 72 20 31  |s detected, or 1|
000017b0  20 69 66 20 61 20 63 61  72 72 69 65 72 20 77 61  | if a carrier wa|
000017c0  73 20 0a 20 20 20 20 20  20 20 20 20 20 20 20 20  |s .             |
000017d0  20 20 20 20 20 64 65 74  65 63 74 65 64 2e 0a 0a  |     detected...|
000017e0  20 20 54 68 69 73 20 53  57 49 20 72 65 61 64 73  |  This SWI reads|
000017f0  20 74 68 65 20 44 43 44  20 62 69 74 20 66 72 6f  | the DCD bit fro|
00001800  6d 20 74 68 65 20 73 74  61 74 75 73 20 6d 61 73  |m the status mas|
00001810  6b 2c 20 61 6e 64 20 72  65 74 75 72 6e 73 20 69  |k, and returns i|
00001820  6e 20 52 30 20 74 68 65  20 0a 20 20 73 74 61 74  |n R0 the .  stat|
00001830  75 73 20 6f 66 20 74 68  69 73 20 62 69 74 2e 20  |us of this bit. |
00001840  52 65 61 64 69 6e 67 20  74 68 69 73 20 62 69 74  |Reading this bit|
00001850  20 72 65 67 75 6c 61 72  6c 79 20 61 66 74 65 72  | regularly after|
00001860  20 61 20 63 6f 6e 6e 65  63 74 69 6f 6e 20 77 61  | a connection wa|
00001870  73 0a 20 20 65 73 74 61  62 6c 69 73 68 65 64 20  |s.  established |
00001880  69 6e 66 6f 72 6d 73 20  79 6f 75 20 77 68 65 74  |informs you whet|
00001890  68 65 72 20 74 68 65 72  65 20 73 74 69 6c 6c 20  |her there still |
000018a0  69 73 20 61 20 63 6f 6e  6e 65 63 74 69 6f 6e 20  |is a connection |
000018b0  6f 72 20 6e 6f 74 2e 20  20 20 20 20 20 20 0a 0a  |or not.       ..|
000018c0  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |================|
*
00001900  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 0a 0a 2a 20  |============..* |
00001910  53 57 49 20 22 49 63 65  5f 57 72 69 74 65 41 4e  |SWI "Ice_WriteAN|
00001920  53 49 22 0a 20 20 20 20  20 20 26 43 30 39 30 44  |SI".      &C090D|
00001930  0a 0a 20 20 20 20 20 20  45 6e 74 72 79 3a 20 52  |..      Entry: R|
00001940  30 20 3d 20 43 68 61 72  61 63 74 65 72 20 74 6f  |0 = Character to|
00001950  20 62 65 20 77 72 69 74  74 65 6e 20 28 6f 72 20  | be written (or |
00001960  41 4e 53 49 2d 69 6e 74  65 72 70 72 65 74 65 64  |ANSI-interpreted|
00001970  29 2e 0a 0a 20 20 20 20  20 20 45 78 69 74 20 3a  |)...      Exit :|
00001980  20 2d 20 41 6c 6c 20 72  65 67 69 73 74 65 72 73  | - All registers|
00001990  20 61 72 65 20 70 72 65  73 65 72 76 65 64 2e 0a  | are preserved..|
000019a0  0a 20 20 54 68 69 73 20  53 57 49 20 70 72 6f 76  |.  This SWI prov|
000019b0  69 64 65 73 20 61 6e 20  41 4e 53 49 20 45 73 63  |ides an ANSI Esc|
000019c0  61 70 65 20 53 65 71 75  65 6e 63 65 20 65 6d 75  |ape Sequence emu|
000019d0  6c 61 74 6f 72 2e 20 4d  61 6e 79 20 42 42 53 27  |lator. Many BBS'|
000019e0  73 20 75 73 65 20 63 6f  6c 6f 72 0a 20 20 63 6f  |s use color.  co|
000019f0  64 69 6e 67 20 66 6f 72  20 74 68 65 69 72 20 74  |ding for their t|
00001a00  65 78 74 2c 20 63 6f 6e  66 6f 72 6d 69 6e 67 20  |ext, conforming |
00001a10  74 6f 20 74 68 65 20 41  4e 53 49 20 73 74 61 6e  |to the ANSI stan|
00001a20  64 61 72 64 2e 20 55 73  69 6e 67 20 74 68 69 73  |dard. Using this|
00001a30  20 53 57 49 20 74 6f 0a  20 20 70 72 69 6e 74 20  | SWI to.  print |
00001a40  61 6c 6c 20 69 6e 63 6f  6d 69 6e 67 20 63 68 61  |all incoming cha|
00001a50  72 61 63 74 65 72 73 20  77 69 6c 6c 20 72 65 73  |racters will res|
00001a60  75 6c 74 20 69 6e 20 74  68 65 73 65 20 63 6f 6c  |ult in these col|
00001a70  6f 72 2d 63 6f 64 65 73  20 62 65 69 6e 67 0a 20  |or-codes being. |
00001a80  20 69 6e 74 65 72 70 72  65 74 65 64 2e 20 41 70  | interpreted. Ap|
00001a90  61 72 74 20 66 72 6f 6d  20 63 6f 6c 6f 72 2d 63  |art from color-c|
00001aa0  6f 64 65 73 2c 20 74 68  65 20 41 4e 53 49 20 73  |odes, the ANSI s|
00001ab0  74 61 6e 64 61 72 64 20  61 6c 73 6f 20 70 72 6f  |tandard also pro|
00001ac0  76 69 64 65 73 20 65 61  73 79 0a 20 20 63 75 72  |vides easy.  cur|
00001ad0  73 6f 72 2d 70 6f 73 69  74 69 6f 6e 69 6e 67 20  |sor-positioning |
00001ae0  63 6f 6e 74 72 6f 6c 20  61 6e 64 20 73 6f 6d 65  |control and some|
00001af0  20 6f 74 68 65 72 20 64  69 73 70 6c 61 79 2d 63  | other display-c|
00001b00  6f 6e 74 72 6f 6c 73 2e  0a 20 20 4f 6e 20 65 6e  |ontrols..  On en|
00001b10  74 72 79 2c 20 52 30 20  73 68 6f 75 6c 64 20 63  |try, R0 should c|
00001b20  6f 6e 74 61 69 6e 20 74  68 65 20 63 68 61 72 61  |ontain the chara|
00001b30  63 74 65 72 20 74 6f 20  62 65 20 70 72 69 6e 74  |cter to be print|
00001b40  65 64 2e 20 54 68 65 20  65 6d 75 6c 61 74 6f 72  |ed. The emulator|
00001b50  20 77 69 6c 6c 0a 20 20  74 61 6b 65 20 61 70 70  | will.  take app|
00001b60  72 6f 70 72 69 61 74 65  20 61 63 74 69 6f 6e 20  |ropriate action |
00001b70  64 65 70 65 6e 64 69 6e  67 20 6f 6e 20 69 74 73  |depending on its|
00001b80  20 41 53 43 49 49 2d 76  61 6c 75 65 2e 0a 20 20  | ASCII-value..  |
00001b90  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00001bd0  20 20 20 20 20 20 20 20  20 20 0a 3d 3d 3d 3d 3d  |          .=====|
00001be0  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |================|
*
00001c20  3d 3d 3d 3d 3d 3d 3d 0a  0a 2a 20 53 57 49 20 22  |=======..* SWI "|
00001c30  49 63 65 5f 52 65 6d 6f  74 65 43 6f 6e 74 72 6f  |Ice_RemoteContro|
00001c40  6c 22 0a 20 20 20 20 20  20 26 43 30 39 30 45 0a  |l".      &C090E.|
00001c50  0a 20 20 20 20 20 20 45  6e 74 72 79 3a 20 2d 0a  |.      Entry: -.|
00001c60  0a 20 20 20 20 20 20 45  78 69 74 20 3a 20 2d 20  |.      Exit : - |
00001c70  41 6c 6c 20 72 65 67 69  73 74 65 72 73 20 61 72  |All registers ar|
00001c80  65 20 70 72 65 73 65 72  76 65 64 2e 0a 0a 20 20  |e preserved...  |
00001c90  54 68 69 73 20 53 57 49  20 73 77 69 74 63 68 65  |This SWI switche|
00001ca0  73 20 79 6f 75 72 20 41  72 63 68 69 6d 65 64 65  |s your Archimede|
00001cb0  73 20 74 6f 20 72 65 6d  6f 74 65 2d 63 6f 6e 74  |s to remote-cont|
00001cc0  72 6f 6c 20 6d 6f 64 65  2e 20 49 6e 20 74 68 69  |rol mode. In thi|
00001cd0  73 20 6d 6f 64 65 2c 0a  20 20 61 6c 6c 20 69 6e  |s mode,.  all in|
00001ce0  70 75 74 20 61 6e 64 20  6f 75 74 70 75 74 20 67  |put and output g|
00001cf0  6f 65 73 20 76 69 61 20  74 68 65 20 73 65 72 69  |oes via the seri|
00001d00  61 6c 20 70 6f 72 74 2c  20 77 68 69 63 68 20 6d  |al port, which m|
00001d10  65 61 6e 73 20 79 6f 75  20 63 61 6e 20 63 6f 6e  |eans you can con|
00001d20  74 72 6f 6c 0a 20 20 79  6f 75 72 20 41 72 63 20  |trol.  your Arc |
00001d30  66 72 6f 6d 20 77 68 61  74 65 76 65 72 20 74 65  |from whatever te|
00001d40  72 6d 69 6e 61 6c 20 74  68 61 74 20 69 73 20 61  |rminal that is a|
00001d50  74 74 61 63 68 65 64 20  74 6f 20 74 68 65 20 73  |ttached to the s|
00001d60  65 72 69 61 6c 20 70 6f  72 74 2e 0a 0a 3d 3d 3d  |erial port...===|
00001d70  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |================|
*
00001db0  3d 3d 3d 3d 3d 3d 3d 3d  3d 0a 0a 2a 20 53 57 49  |=========..* SWI|
00001dc0  20 22 49 63 65 5f 4c 6f  63 61 6c 43 6f 6e 74 72  | "Ice_LocalContr|
00001dd0  6f 6c 22 0a 20 20 20 20  20 20 26 43 30 39 30 46  |ol".      &C090F|
00001de0  0a 0a 20 20 20 20 20 20  45 6e 74 72 79 3a 20 2d  |..      Entry: -|
00001df0  0a 0a 20 20 20 20 20 20  45 78 69 74 20 3a 20 2d  |..      Exit : -|
00001e00  20 41 6c 6c 20 72 65 67  69 73 74 65 72 73 20 61  | All registers a|
00001e10  72 65 20 70 72 65 73 65  72 76 65 64 2e 0a 0a 20  |re preserved... |
00001e20  20 54 68 69 73 20 53 57  49 20 70 75 74 73 20 79  | This SWI puts y|
00001e30  6f 75 72 20 41 72 63 68  69 6d 65 64 65 73 20 62  |our Archimedes b|
00001e40  61 63 6b 20 69 6e 20 6c  6f 63 61 6c 2d 63 6f 6e  |ack in local-con|
00001e50  74 72 6f 6c 20 6d 6f 64  65 2e 20 54 68 69 73 20  |trol mode. This |
00001e60  69 73 20 74 68 65 0a 20  20 73 74 61 74 65 20 74  |is the.  state t|
00001e70  68 65 20 41 72 63 20 69  73 20 69 6e 20 77 68 65  |he Arc is in whe|
00001e80  6e 20 79 6f 75 20 73 77  69 74 63 68 20 69 74 20  |n you switch it |
00001e90  6f 6e 2e 20 0a 0a 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |on. ..==========|
00001ea0  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |================|
*
00001ee0  3d 3d 0a 20 20 20 20 20  20 0a 20 20 20 20 20 20  |==.      .      |
00001ef0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00001f20  20 20 20 20 20 20 20 20  43 61 72 6c 20 44 65 63  |        Carl Dec|
00001f30  6c 65 72 63 6b 2e 0a                              |lerck..|
00001f37