*@ABORT -- ABORT PROGRAM
   ENTRY CONDITIONS:
      A  = 21 (X'15')
   GENERAL:
      This SVC does not return
*@ADTSK -- ADD AN INTERRUPT LEVEL TASK
   ENTRY CONDITIONS:
      A  = 29 (X'1D')
      DE = Pointer to TASK Control Block (TCB)
      C  = Task slot assignment (0-11)
   EXIT CONDITIONS:
      Success always.
        HL and AF are altered by this SVC
*@BANK -- MEMORY BANK USE
   ENTRY CONDITIONS:
      A  = 102 (X'66')
      B selects one of the following:
         If B = 0, the bank specified is selected and made addressable.
            The 32K bank starts at X'8000' and ends at X'FFFF'.
            C  = bank number to be selected (0-2)
                   If bit 7 is set, then execution will resume in the newly
                   loaded bank at the address specified.
              HL = address to start execution in the new bank.
         If B = 1, reset BUR and show bank not in use.
            C = bank number to be selected (0-2)
         If B = 2, test BUR if bank is in use.
            C = bank number to be selected (0-2)
         If B = 3, set BUR to show bank in use.
            C = bank number to be selected (0-2)
         If B = 4, return number of bank currently selected.
   EXIT CONDITIONS:
      If B = 0:
           Success, Z flag set.
             C = the bank number that was replaced.
                 If bit 7 was set in register C on entry, it is also set on
      	         exit.
      	HL = SVC return address.  By keeping the contents of C and HL,
      	     you can later return to the instruction following the
      	     first @BANK SVC.
           Failure, NZ flag set.  Bank not present or parameter error.
        If the Stack Pointer is not X'7FFE' or lower, the SVC aborts
      	with an Error 43 only if B = 0.
      	A = error number
      If B = 1:
           Success, Z flag set.  Bank available for use.
           Failure, NZ flag set.  Bank not present.
      If B = 2:
           Success always.
      	If Z flag set, then the bank is available for use.
      	If NZ flag set, then test register A:
      	   A <> X'2B', then the bank is either in use or it doesn't
      	     exist on your machine.
      	   A = X'2B', then an entry parameter is out of range.
      If B = 3:
           Success, Z flag set.  Bank is now reserved for your use.
           Failure, NZ flag set.  Test register A:
      	See above.
      If B = 4:
           Success always.
      	A = number of the bank now selected.
   GENERAL:
      AF is altered for all functions
      BC is altered is the SVC is successful.
*@BKSP -- BACKSPACE ONE LOGICAL RECORD
   ENTRY CONDITIONS:
      A = 61 (X'3D')
      DE = Pointer to FCB of the file to backspace
   EXIT CONDITIONS:
      If the Z flag is set or if A = X'1C' or X'1D', then the operation was
         successful.
      The LOC pointer to the file was backspaced one record.  Otherwise,
         A = error number
      If A = X'1C' is returned, the file pointer is positioned at the end of
        the file.
        Any Appending operations would be performed here.
      If A = X'1D' is returned, the file pointer is positioned beyond the
        end of file.
   GENERAL:
      Only AF is altered by this SVC
      If the LOC pointer was at record 0 when the call was executed, the
      results are indeterminate.
*@BREAK -- SET BREAK VECTOR
   ENTRY CONDITIONS:
      A = 103 (X'67')
      HL = User Break Vector
      HL = 0, (set System Break Vector)
   EXIT CONDITIONS:
      Success always.
      HL = existing Break Vector (if User Break Vector was used).
*@CHNIO -- PASS CONTROL TO NEXT MODULE IN DEVICE CHAIN
   ENTRY CONDITIONS:
      A = 20 (X'14')
      IX = contents of DCB in the header block
      B = GET/PUT/CTL direction code (1/2/4)
      C = character (if output request)
   GENERAL:
      IX is not checked for validity.
*@CKBRKC -- CHECK BREAK BIT AND CLEAR IT
   ENTRY CONDITIONS:
      A = 106 (X'6A')
   EXIT CONDITIONS:
      Succes always.
      If Z flag set, the break bit was not detected.
      If NZ flag set, the break bit was detected and is cleared.  If the
      BREAK key is being depressed the SVC will not return until the key is
      released.
   GENERAL:
      Only AF is altered by this SVC
*@CKDRV -- CHECK DRIVE
   ENTRY CONDITION:
      A = 33 (X'21')
      C = logical drive number (0-7)
   EXIT CONDITIONS:
      Success always.
        If Z flag set, the drive is ready.
          If CF is set, the disk is write protected.
        If NZ flag set, the drive is not ready.
          The user may examine DCT+0 to see if the drive is disabled.
*@CKEOF -- CHECK FOR END-OF-FILE
   ENTRY CONDITION:
      A = 62 (X'3E')
      DE = Pointer to the FCB of the file to check
   EXIT CONDITIONS:
      Success always.
        If Z flag set, LOC does not point at the end of file (LOC < EOF).
        If NZ flag set, test A for error number:
          A = X'1C', LOC points to EOF (LOC = EOF).
          A = X'1D', LOC points beyond EOF (LOC > EOF).
          A <> X'1C' or X'1D', the A = error number.
   GENERAL:
      Only AF is altered by this SVC.
*@CKTSK -- CHECK IF TASK SLOT IN USE
   ENTRY CONDITION:
      A = 28 (X'1C')
      C = task slot to check (0-11)
   EXIT CONDITIONS:
      Success always.
        If Z flag set, the task slot is available.
        If NZ flag set, the task slot is in use.
   GENERAL:
      AF and HL are altered by this SVC.
*@CLOSE -- CLOSE A FILE OR DEVICE
   ENTRY CONDITION:
      A = 60 (X'3C')
      DE = Pointer to FCB or DCB to close
   EXIT CONDITIONS:
      Success, Z flag set.
      Failure, NZ flag set.
        A = error number
   GENERAL:
      Only AF is altered by this SVC
*@CLS -- CLEAR VIDEO SCREEN
   ENTRY CONDITION:
      A = 105 (X'69')
   EXIT CONDITIONS:
      Success, Z flag set
      Failure, NZ flag set
   GENERAL:
      Only AF is altered by this SVC
*@CMNDI -- EXECUTE COMMAND WITH RETURN TO SYSTEM
   ENTRY CONDITIONS:
      A = 24 (X'18')
      HL = Pointer to buffer containing command string terminated with
           X'0D' (up to 80 bytes, including the X'0D').
   GENERAL:
      This SVC does not return.
*@CMNDR -- EXECUTE COMMAND WITH RETURN TO CALLING PROGRAM
   ENTRY CONDITIONS:
      A = 25 (X'19)
      HL = Pointer to buffer containing command string terminated with
           X'0D' (up to 80 bytes, including the X'0D').
   EXIT CONDITIONS:
      Success always.
        HL = return code
      Registers AF, BC, DE, IX, and IY are altered by the command or
        program executed by this SVC.
      If the command invokes a user program which uses the alternate
        registers, they are altered also.
*@CTL -- OUTPUT A CONTROL BYTE
   ENTRY CONDITIONS:
      A = 5 (X'05')
      DE = Pointer to DCB to control output
      C Selects on of the following functions:
        If C = 0, the status of the specified device will be returned.
        If C = 1, the driver is requested to send a BREAK or force an
           interrupt.
        If C = 2, the initialization code of the driver is to be executed.
        If C = 3, all buffers in the driver are to be reset.  This causes
           all pending I/O to be cleared.
        If C = 4, the wakeup vector for an interrupt-driven driver is
           specified by the caller.
      	IY = address to vector when leaving driver.  If IY = 0, then
      	     the wakeup vector function is disabled.
        If C = 8, the next character to be read will be returned.  This
           allows data to be "previewed" before the actual @GET returns
           character.
   EXIT CONDITIONS:
      If C = 0,
         Z flag set, device is ready
         NZ flag set, device is busy
           A = status image, if applicable
            NOTE: This is a hardware dependent image.
      If C = 1,
         Success, Z flag set.  BREAK or interrupt generated.
         Failure, NZ flag set
           A = error number
      If C = 2,
         Success, Z flag set.  Driver is initialized.
         Failure, NZ flag set
           A = error number
      If C = 3,
         Success, Z flag set.  Buffers are cleared.
         Failure, NZ flag set
           A = error number
      If C = 4,
         Succes always.
           IY = previous vector address
         This function is ignored if the driver does not support wakeup
           vectoring.
      If C = 8,
        Success, Z flag set.  Next character is returned.
          A = Next character in buffer
        Failure, NZ flag set.  Test register A:
          If A = 0, no pending character is in buffer
          If A <> 0, A contains error number.
   GENERAL:
      BC, DE, HL, and IX are saved.
*@DATE -- GET DATE
   ENTRY CONDITIONS:
      A = 18 (X'12')
      HL = Pointer to 8-byte buffer to receive date string
   EXIT CONDITIONS:
      Success always.
        HL = Pointer to the end of the buffer supplied+1
        DE = Pointer to start of DATE$ storage area in TRSDOS
        BC is altered by this SVC
*@DCINIT -- INITIALIZE THE FDC
   ENTRY CONDITIONS:
      A = 42 (X'2A')
      C = logical drive number (0-7)
   EXIT CONDITIONS:
      Success, Z flag set.
      Failure, NZ flag set.
        A = error number
*@DCRES -- RESET THE FDC
   ENTRY CONDITIONS:
      A = 43 (X'2B')
      C = logical drive number (0-7)
   EXIT CONDITIONS:
      Success, Z flag set.
      Failure, NZ flag set.
        A = error number
*@DCSTAT -- TEST IF DRIVE ASSIGNED IN DCT
   ENTRY CONDITIONS:
      A = 40 (X'28')
      C = logical drive number (0-7)
   EXIT CONDITIONS:
      Success always.
        If Z is set, the specified drive is already defined in the DCT.
        If NZ is set, the specified drive is not defined in the DCT.
   GENERAL:
      Only AF is altered by this SVC.
*@DEBUG -- ENTER DEBUG
   ENTRY CONDITIONS:
      A = 27 (X'1B')
   GENERAL:
      This SVC does not return unless 'G' is entered in DEBUG.
*@DECHEX -- CONVERT DECIMAL ASCII TO BINARY
   ENTRY CONDITIONS:
      A = 96 (X'60')
      HL = Pointer to decimal string
   EXIT CONDITIONS:
      Success always.
        BC = binary conversion of ASCII string
        HL = Pointer to the terminating byte
        AF is altered by this SVC.
*@DIRRD -- DIRECTORY RECORD READ
   ENTRY CONDITIONS:
      A = 87 (X'57')
      B = Directory Entry Code of the file
      C = logical drive number (0-7)
   EXIT CONDITIONS:
      Success, Z flag set.
        HL = Pointer to directory entry specified by register B
      Failure, NZ flag set.
        A = error number
        HL is altered.
   GENERAL:
      AF is always altered by this SVC.
*@DIRWR -- DIRECTORY RECORD WRITE
   ENTRY CONDITIONS:
      A = 88 (X'58')
      B = Directory Entry Code of the file
      C = logical drive number (0-7)
   EXIT CONDITIONS:
      Success, Z flag set.
        HL = Pointer to directory entry specified by register B
      Failure, NZ flag set.
        A = error number
        HL is altered.
   GENERAL:
      AF is always altered by this SVC.
*@DIV8 -- 8-BIT DIVIDE
   ENTRY CONDITIONS:
      A = 93 (X'5D')
      E = dividend
      C = divisor
   EXIT CONDITIONS:
      Success always.
        A = quotient
        E = remainder
        No other registers are altered.
*@DIV16 -- 16-BIT BY 8-BIT DIVIDE
   ENTRY CONDITIONS:
      A = 94 (X'5E')
      HL = dividend
      C = divisor
   EXIT CONDITIONS:
      Success always.
        HL = quotient
        A = remainder
        No other registers are altered.
*@DODIR -- DO DIRECTORY DISPLAY/BUFFER
   ENTRY CONDITIONS:
      A = 34 (X'22')
      C = logical drive number (0-7)
      B selects on of the following functions:
        If B = 0, the directory of the visible, non-system files on the disk
           in the specified drive is displayed on the screen.  The filenames
           are displayed in columns, 5 filenames per line.
        If B = 1, the directory is writtem to memory.
           HL = Pointer to buffer to receive information
        If B = 2, a directory of the files on the specified drive is displayed
           for files that are visible, non-system, and match the extension
           partspec pointed to by HL.
           HL = partspec for the filename's extension
              This field must contain a valid 3-character extension, padded
              with dollar signs ($).
        If B = 3, a directory of the files on the specified drive is written
           to the buffer that is specified by HL for files that match the
           extension partspec pointed to by HL.
           HL = Pointer to the 3-byte partspec and to the buffer to receive
              the directory records (see general notes).
           Keep in mind that the area pointed to by HL is shared.  If you are
              using this buffer more than once, you have to re-create the
              partspec in the buffer before each call because the previous
              call will have erased the partspec by writing the directory
              records.
        If B = 4, thel disk name, original free space, and current free space
             on the disk is read.
           HL = Pointer to a 20-byte buffer to receive information
   EXIT CONDITIONS:
      Success, Z flag set.
        If B = 1 or 3, the directory records have been stored.
           HL = Pointer to the beginning of the buffer
        If B = 0 or 2, the filenames or matching filenames are displayed with
           5 filenames per line.
        If B = 4, the disk name and free space information are stored in the
           format:
             Bytes  0-7  = Disk name.  Disk name is paddes on the right with
                           blanks (X'20').
             Bytes  8-15 = Creation date (the date the disk was formatted or
                           was the target disk in a mirror image backup).  The
                           date is in the format MM/DD/YY.
             Bytes 16-17 = Total K originally available in binary LSB-MSB
                           format.
             Bytes 18-19 = Free K available now in binary LSB-MSB format.
           HL = Pointer to the beginning of the data area
      Failure, NZ flag set.
        A = error number
   GENERAL:
      AF is the only register altered by this SVC.
*@DSP -- DISPLAY CHARACTER
   ENTRY CONDITIONS:
      A = 2 (X'02')
      C = byte to display
   EXIT CONDITIONS:
      Success, Z flag set.
        A = byte displayed
      Failure, NZ flag set.
        A = error number
   GENERAL:
      DE is altered by this SVC
*@DSPLY -- DISPLAY MESSAGE LINE
   ENTRY CONDITIONS:
      A = 10 (X'0A')
      HL = Pointer to first byte of message
   EXIT CONDITIONS:
      Success, Z flag set.
      Failure, NZ flag set.
   GENERAL:
      AF and DE are altered by this SVC.
*@ERROR -- ENTRY TO POST AN ERROR MESSAGE
   ENTRY CONDITIONS:
      A = 26 (X'1A')
      C = error number with bits 6 and 7 optionally set
   EXIT CONDITIONS:
      Success always.
*@EXIT -- EXIT TO DOS
   ENTRY CONDITIONS:
      A = 22 (X'16')
      HL = Return COde
         If HL = 0, then no error on exit.
         If HL < > 0, then the @ABORT SVC returns X'FFFF' in HL automatically.
   GENERAL:
      This SVC does not return.
*@FEXT -- SET UP DEFAULT FILE EXTENSION
   ENTRY CONDITIONS:
      A = 79 (X'4F')
      DE = Pointer to FCB
      HL = Pointer to default extension (3 characters; alphabetic characters
           must be upper case and first character must be a letter).
   EXIT CONDITIONS:
      Success always.
        AF and BC area altered by this SVC.
        If the default extension is used, HL is also altered.
*@FLAGS -- POINT IY TO SYSTEM FLAG TABLE
   ENTRY CONDITIONS:
       A = 101 (X'65')
   EXIT CONDITIONS:
       Success Always.  You can alter those bits with a number sign (#).
       IY = Pointer to the following system information:
       IY - 1    Contains the overlay request number of the last system module
                 resident in the system overlay region.
       IY + 0  = AFLAG$ (allocation flag)
                       -Contains the starting cylinder number to be used when
                        searching for free space on a diskette.  It is normaly
                        1.  If the starting cylinder number is larger than the
                        number of cylinders for a particular drive, 1 is used.
       IY + 1  = CFLAG$
                 #bit 7-If set, the @ERROR will transfer the "Error message
                        string" to your buffer instead of displaying it.  The
                        message is terminated with X'0D'.
                 #bit 6-If set, do not display system error messages 0-62.
                 #bit 5-If set, sysgen is not allowed.
                 #bit 4-If set, then @CMNDR will execute only system library
                        commands.
                  bit 3-If set, @RUN is requested from either the SET or
                        SYSTEM (DRIVER=) commands.
                  bit 2-If set, @KEYIN is executing due to a request from SYS1
                  bit 1-If set, @CMNDR is executing.  This bit is reset by
                        @EXIT and @CMNDI.
                 #bit 0-If set, HIGH$ cannot be changed using @HIGH$.  This
                        bit is reset by @EXIT and @CMNDI.
       IY + 3  = DFLAG$ (device flag)
                 #bit 7-"1" if GRAPHIC printer capability desired on screen
                        print.
                  bit 6-"1" if KSM module is resident
                  bit 5-unused
                  bit 4-"1" if MEMDISK active
                  bit 3-Reserved
                  bit 2-"1" if Disk Verify is enabled
                 #bit 1-"1" if TYPE-AHEAD is active
                  bit 0-"1" if SPOOL is active
       IY + 4  = EFLAG$ (ECI flag)
                       -Indicates the presence of an ECI program.  If any of
                        the bits are set, an ECI is used, rather than the
                        SYS1 interpreter.  The ECI program may use these bits
                        as neccesary.  However, at least one bit must be set
                        or the ECI is not exectued.
       IY + 5  = FEMSK$ (mask for port 0FEH)
       IY + 8  = IFLAG$ (international flag)
                 #bit 7-If "1", 7-bit printer filter is active
                        If "0", normal 8-bit filters are present
                 #bit 6-If "1", international character translation will be
                        performed by printer driver
                        If "0", characters received by printer driver will be
                        sent to the printer unchanged
                  bit 5-Reserved
                  bit 4-Reserved
                  bit 3-Reserved
                  bit 2-Reserved
                  bit 1-If "1", German version
                  bit 0-If "1", French version
                  If bits 5-0 are all zero, then USA version
       IY + 10 = KFLAG$ (keyboard flag)
                  bit 7-"1" is a character is present in the type-ahead buffer
                  bit 6-unused
                 #bit 5-"1" if CAPS lock is set
                  bit 4-unused
                  bit 3-unused
                 #bit 2-"1" if <ENTER> has been pressed
                 #bit 1-"1" if <SHIFT @> has been pressed (PAUSE)
                 #bit 0-"1" if <BREAK> has been pressed
                 NOTE:  To use bits 0-2, you must first reset them and then
                        test to see if they become set.
       IY + 12 = MODOUT (image of port 0ECH)
       IY + 13 = NFLAG$ (network flag)
                  bit 7-Reserved
                  bit 6-If set, the application program is in the task
                        processor.  Programers MUST not modify this bit.
                  bit 5-Reserved
                  bit 4-Reserved
                  bit 3-Reserved
                  bit 2-Reserved
                  bit 1-Reserved
                 #bit 0-If set, the "file open bit" is written to the 
                        directory.
       IY + 14 = OPREG$ (memory management & video control image)
       IY + 17 = RFLAG$ (retry flag
                       -Indicates the number of retrys for the floppy disk
                        driver.  This should be an even number larger than two
       IY + 18 = SFLAG$ (system flag)
                  bit 7-"1" if DEBUG is to be turned on
                 #bit 6-"1" if extended error messages desired, overrides the
                        setting of bit 6 of register C on @ERROR and should be
                        used only when testing.
                  bit 5-"1" if DO commands are being executed
                 #bit 4-"1" if BREAK disabled
                  bit 3-"1" if the hardware is running at 4 mhz
                 #bit 2-"1" if LOAD called from RUN
                 #bit 1-"1" if running an EXECute only file
                 #bit 0-"1" specifies no check for matching LRL on file open
                            and do not set file open bit in directory.  This
                            bit should be set just before executing an @OPEN
                            if you want to force the opened file to be READ
                            only during current I/O operations.  As soon as
                            either call is executed, SFLAG$ bit 0 is reset.
                            If you want to disable LRL checking on another
                            file, you must set SFLAG$ bit 0 again.
       IY + 19 = TFLAG$ (type flag)
                       -Identifies the Radio Shack hardware model.
       IY + 20 = UFLAG$ (user flag)
                       -May be set by application programs and is sysgened
                        properly.
       IY + 21 = VFLAG$
                  bit 7-Reserved
                 #bit 6-"1" selects solid cursor, "0" selects blinking cursor
                  bit 5-Reserved
                 #bit 4-"1" if real time clock is displayed on the screen
                  bits 0-3-Reserved
       IY + 22 = WRINTMASK$ (mask for WRINTMASK port)
       IY + 24 = YFLAG$
                  bits 0-7 correspond to drives 0 to 7.  If the bit is set,
                  the drive is assumed to use the new style time/date info.
                  The setting and resetting of this bit is handled by the
                  @CKDRV SVC.
       IY + 26 = SVCTABPTR$ (pointer to the high order byte of the SVC table
                             address; low order byte = 00)
       IY + 27 = Version ID byte
       IY - 47 = Operating system release number.
       IY + 28
       to
       IY + 30 = @ICNFG vector
       IY + 31
       to
       IY + 33 = @KITSK vector
*@FNAME -- GET FILENAME
   ENTRY CONDITIONS:
      A = 80 (X'50')
      DE = Pointer to 15-byte buffer to receive filename/extension:drive,
           followed by X'0D' as terminator
      B = DEC of desired file
      C = logical drive number of drive containing file (0-7)
   EXIT CONDITIONS:
      Success, Z flag set.
        HL = Pointer to directory entry specidfied by register B
      Failure, NZ flag set.
        A = error number
        HL is altered
   GENERAL:
      AF and BC  are always altered.
*@FSPEC -- ASSIGN FILE OR DEVICE SPECIFICATION
   ENTRY CONDITIONS:
      A = 78 (X'4E')
      HL = Pointer to buffer containing filespec or devspec
      DE = Pointer to 32-byte FCB or DCB
   EXIT CONDITIONS:
      Success always.
        If the Z flag is set, the file specification is valid.
           HL = Pointer to terminating character
           DE = Pointer to start of FCB
        If the NZ flag is set, a syntax error was found in the filespec.
           HL = Pointer to invalid character
           DE = Pointer to start of FCB
           A = invalid character
   GENERAL:
      AF and BC are altered.
*@GET -- GET ONE BYTE FROM DEVICE OR FILE
   ENTRY CONDITIONS:
      A = 3 (X'03')
      DE = Pointer to DCB or FCB
   EXIT CONDITIONS:
      Success, Z flag set.
        A = character read from the device or file
      Failure, NZ flag set.  Test register A:
        A = 0, no character was available.
        A < > 0, A contains error number.
*@GTDCB -- GET DEVICE CONTROL BLOCK ADDRESS
   ENTRY CONDITIONS:
      A = 82 (X'52')
      DE = 2-character device name (E=first character, D=second character)
   EXIT CONDITIONS:
      Success, Z flag set.  DCB was found.
        HL = Pointer to start of DCB
      Failure, NZ flag set.  No DCB was available.
        A = Error 8 (Device Not Available)
        HL is altered.
   GENERAL:
      AF is always altered by this SVC.
*@GTDCT -- GET DRIVE CODE TABLE ADDRESS
   ENTRY CONDITIONS:
      A = 81 (X'51')
      C = logical drive number (0-7)
   EXIT CONDITIONS:
      Success always.
        IY = Pointer to the DCT entry for the specified drive.
        AF is always altered by this SVC.
   GENERAL:
      If the drive number is out of range, the IY pointer will be invalid.
         This call does not return Z/NZ to indicate if the drive number
         specified is valid (0-7) or enabled.
*@GTMOD -- GET MEMORY MODULE ADDRESS
   ENTRY CONDITIONS:
      A = 83 (X'53')
      DE = Pointer to memory module name in upper case, terminated with any
           character in the range 00-31.
   EXIT CONDITIONS:
      Success always.
        If the Z flag is set, the module was found.
           HL = Pointer to first byte of memory header
           DE = Pointer to first byte after module name
        If the NZ flag is set, the module was not found.
           HL is altered.
   GENERAL:
      AF is always altered by this SVC.
*@HDFMT -- HARD DISK FORMAT
   ENTRY CONDITIONS:
      A = 52 (X'34')
      C = logical drive number (0-7)
   EXIT CONDITIONS:
      Success, Z flag set.
      Failure, NZ flag set.
        A = error number
*@HEXD -- CONVERT BINARY TO DECIMAL ASCII
   ENTRY CONDITIONS:
      A = 95 (X'5F')
      B = expected number of output digits
      HL = number to convert
      DE = pointer to buffer to hold converted number
   EXIT CONDITIONS:
      Success always.
      DE = pointer to end of buffer+1
      AF, BC, HL are affected by this SVC.
   GENERAL:
      This SVC is the same as @HEXDEC except that a 5 character buffer is
      not required.  If the conversion exceeds this number, the overflow
      will be placed in memory below the buffer pointed to by DE.
*@HEXDEC -- CONVERT BINARY TO DECIMAL ASCII
   ENTRY CONDITIONS:
      A = 97 (X'61')
      HL = number to convert
      DE = Pointer to 5-character buffer to hold converted number
   EXIT CONDITIONS:
      Success always.
        DE = Pointer to end of buffer+1
        AF,BC and HL are altered by this SVC.
*@HEX8 -- CONVERT 1 BYTE TO HEX ASCII
   ENTRY CONDITIONS:
      A = 98 (X'62')
      C = number to convert
      HL = Pointer to a 2-character buffer to hold the converted number
   EXIT CONDITIONS:
      Success always.
        HL = Pointer to the end of buffer+1
        Only AF is altered by this SVC.
*@HEX16 -- CONVERT 2 BYTES TO HEX ASCII
   ENTRY CONDITIONS:
      A = 99 (X'63')
      DE = number to convert
      HL = Pointer to 4-character buffer to hold converted number
   EXIT CONDITIONS:
      Success always.
        HL = Pointer to end of buffer+1
        Only AF is altered by this SVC.
*@HIGH$ -- GET OR ALTER HIGH$ OR LOW$
   ENTRY CONDITIONS:
      A = 100 (X'64')
      B selects HIGH$ or LOW$
        If B = 0, SVC deals with HIGH$
        If B < > 0, SVC deals with LOW$
      HL selects one of the following functions:
        If HL = 0, the current HIGH$ or LOW$ is returned
        If HL < > 0, then HIGH$ or LOW$ is set to the value in HL
   EXIT CONDITIONS:
      Success, Z flag set.
        HL = current HIGH$ or LOW$.  If HL < > 0 on entry, then HIGH$ or LOW$
             is now set to that value.
      Failure, NZ flag set.
   GENERAL:
      If bit 0 of CFLAG$ is set then HIGH$ cannot be changed with this call.
        The call returns error 43, "SVC parameter error".
*@INIT -- OPEN OR INITIALIZE FILE
   ENTRY CONDITIONS:
      A = 58 (X'3A')
      HL = Pointer to 256-byte disk I/O buffer
      DE = Pointer to FCB containing the file specification
      B = Logical Record Length to by used while file is open
   EXIT CONDITIONS:
      Success, Z flag set.  File was opened or created.
        The CF flag is set if a new file was created.
      Failure, NZ flag set.
        A = error number
   GENERAL:
      Only AF is altered by this SVC.
      The file open bit is set in the directory if the access level is
        UPDATE or greater.  If a file is created with a password, the
        protection level will now be set to NO.  This means that no
        future access will be given without the use of the password.
*@IPL -- REBOOT THE SYSTEM
   ENTRY CONDITIONS:
      A = 0 (X'00')
   GENERAL:
      This SVC does not return.
*@KBD -- SCAN KEYBOARD AND RETURN
   ENTRY CONDITIONS:
      A = 8 (X'08')
   EXIT CONDITIONS:
      Success, Z flag set.
        A = character pressed
      Failure, NZ set.
        If A = 0, no character was available.
        If A < > 0, then A contains error number.
   GENERAL:
      DE is altered by this SVC.
*@KEY -- SCAN *KI DEVICE, WAIT FOR CHARACTER
   ENTRY CONDITIONS:
      A = 1 (X'01')
   EXIT CONDITIONS:
      Success, Z flag set.
        A = character entered
      Failure, NZ flag set.
        A = error number
   GENERAL:
      DE is altered by this SVC.
*@KEYIN -- ACCEPT A LINE OF INPUT
   ENTRY CONDITIONS:
      A = 9 (X'09')
      HL = Pointer to user line buffer of length B+1
      B = Maximum number of characters to input
      C = 0
   EXIT CONDITIONS:
      Success, Z flag set.
        HL = Pointer to start of buffer
        B = actual number of characters input
        CF is set if <BREAK> terminated the input.
      Failure, NZ flag set.
        A = error number
   GENERAL:
      DE and C are altered by this SVC.
*@KLTSK -- REMOVE CURRENTLY EXECUTING TASK
   ENTRY CONDITIONS:
      A = 32 (X'20')
   GENERAL:
      This SVC does not return.
*@LOAD -- LOAR PROGRAM FILE
   ENTRY CONDITIONS:
      A = 76 (X'4C')
      DE = Pointer to FCB containing filespec of the file to load
   EXIT CONDITIONS:
      Success, Z flag set.
        HL = transfer address retrieved from file
      Failure, NZ flag set.
        A = error number
*@LOC -- CALCULATE CURRENT LOGICAL RECORD NUMBER
   ENTRY CONDITIONS:
      A = 63 (X'3F')
      DE = Pointer to the file's FCB
   EXIT CONDITIONS:
      Success, Z flag set.
        BC = logical record number
      Failure, NZ flag set.
        A = error number
   GENERAL:
      AF is altered by this SVC.
*@LOF -- CALCULATE THE EOF LOGICAL RECORD NUMBER
   ENTRY CONDITIONS:
      A = 64 (X'40')
      DE = Pointer to FCB for the file to check
   EXIT CONDITIONS:
      Success, Z flag set.
        BC = the EOF logical record number
      Failure, NZ flag set.
        A = error number
   GENERAL:
      Only AF is altered by this SVC.
*@LOGER -- ISSUE LOG MESSAGE
   ENTRY CONDITIONS:
      A = 11 (X'0B')
      HL = Pointer to first character in message line
   EXIT CONDITIONS:
      Success, Z flag set.
      Failure, NZ flag set.
        A = error number
   GENERAL:
      Only AF is altered by this SVC.
*@LOGOT -- DISPLAY AND LOG MESSAGE
   ENTRY CONDITIONS:
      A = 12 (X'0C')
      HL = Pointer to first character in message line
   EXIT CONDITIONS:
      Success, Z flag set.
      Failure, NZ flag set.
        A = error number
   GENERAL:
      Only AF is altered by this SVC.
      To avoid a looping condition that could result from the display
        generating an error, no error checking should be done after returning
        from @ LOGOT.
*@MSG -- SEND MESSAGE TO DEVICE
   ENTRY CONDITIONS:
      A = 13 (X'0D')
      DE = Pointer to DCB or FCB of device or file to receive output
      HL = Pointer to message line terminated with X'0D' or X'03'
   EXIT CONDITIONS:
      Success, Z flag set.
      Failure, NZ flag set.
        A = error number
   GENERAL:
      Only Af is altered by this SVC.
*@MUL8 -- 8-BIT MULTIPLICATION
   ENTRY CONDITIONS:
      A = 90 (X'5A')
      C = multiplicand
      E = multiplier
   EXIT CONDITIONS:
      Success always.
        A = product
        DE is altered by this SVC
*@MUL16 -- 16-BIT BY 8-BIT MULTIPLICATION
   ENTRY CONDITIONS:
      A = 91 (X'5B')
      HL = multiplicand
      C = multiplier
   EXIT CONDITIONS:
      Success always.
        HL = two high-order bytes of product
        A = low-order byte of product
        DE is altered by this SVC.
*@OPEN -- OPEN EXISTING FILE OR DEVICE
   ENTRY CONDITIONS:
      A = 59 (X'3B')
      HL = Pointer to 256-byte disk I/O buffer
      DE = Pointer to FCB or DCB containing filespec or devspec
      B = logical record length for open file
   EXIT CONDITIONS:
      Success, Z flag set.
      Failure, NZ flag set.
        A = error number
   GENERAL:
      AF is altered by this SVC.
      The file open bit is set in the directory if the access level is
        UPDATE or greater.
*@PARAM -- PARSE PARAMETER STRING
   ENTRY CONDITIONS:
      A = 17 (X'11')
      DE = Pointer to beginning of your parameter table
      HL = Pointer to command line to parse (the parameter string is
           enclosed within parentheses)
   EXIT CONDITIONS:
      Success always.
        If Z is set, either valid parameters or no parameters were found.
        If NZ is set, a bad parameter was found.
   GENERAL:
      NZ is not returned if parameter types other than those specified are
        entered.  The application must check the validity of the response
        byte.
   The valid parameteres are contained in a user table which must be in one
     of the following formats.  (Parameter names must consist of alphanumeric
     characters, the first of which is a letter.)
   For use with TRSDOS Version 6, use this format:
     The parameter table starts with a single byte X'80'.  Each parameter is
        stored in a variable length field as described below.
     1) Type Byte (Type and length byte)
        Bit 7 -- If set, accept numeric value
        Bit 6 -- If set, accept flag parameter
        Bit 5 -- If set, accept "string" value
        Bit 4 -- If set, accept first character on name as abbreviation
        Bits 3-0 -- Length of parameter name
     2) Actual Parameter Name
     3) Response byte (Type and length found)
        Bit 7 -- Numeric value found
        Bit 6 -- Flag parameter found
        Bit 5 -- String parameter found
        Bits 4-0 -- Length of parmeter entered.  If length is 0 and the 2-byte
                    vector points to a quotation mark (X'22'), then the
                    parameter was a null string.  Otherwise, a length of 0
                    indicates that the parameter was longer than 31 characters
     4) 2-byte address vector to receive the parsed parameter values.
     The 2-byte memory area pointed to by the address field of your table
        receives the value of PARM if PARM is non-string.  If a string is
        entered, the 2-byte memory area receives the address of the first byte
        of "string".  The entries ON, YES, and Y return a value of X'FFFF';
        OFF, NO, and N return X'0000'.  If a parameter name is specified on
        the command line and is followed by an equal sign and no value, then
        X'0000' or NO is returned.  If a parameter name is used on the command
        line without the fefqual sign, then a value of X'FFFF' or ON is
        assumed.  For any allowed parameter that is completely omitted on the
        command line, the 2-byte area remains unchanged and the response byte
        is 0.
     The parameter table is terminated with a single byte X'00'.
   For compatibility with LDOS 5.1.3, use this format:
     A 6-character "word" left justified and padded with blanks followed by
        a 2-byte address to receive the parsed values.  Repeat word and
        address for as many parameters as are necessary.  You must place a
        byte of X'00' at the end of the table.
*@PAUSE -- SUSPEND PROGRAM EXECUTION
   ENTRY CONDITIONS:
      A = 16 (X'10')
      BC = delay count
   EXIT CONDITIONS:
      Success always.
*@PEOF -- POSITION TO END OF FILE
   ENTRY CONDITIONS:
      A = 65 (X'41')
      DE = Pointer to FCB of the file to position
   EXIT CONDITIONS:
      NZ flag always set.
        If A = X'1C', then success.
        If A < > X'1C', then failure.
           A = error number
   GENERAL:
      AF is always altered by this SVC.
*@POSN -- POSITION FILE
   ENTRY CONDITIONS:
      A = 66 (X'42')
      DE = Pointer to FCB for the file to position
      BC = the logical record number
   EXIT CONDITIONS:
      If Z flag is set or A = X'1C' or X'1D', then success.
        The file was positioned.
      Otherwise, failure.
        A = error number
   GENERAL:
      AF is always altered by this SVC.
*@PRINT -- PRINTS MESSAGE LINE
   ENTRY CONDITIONS:
      A = 14 (X'0E')
      HL = Pointer to message to be output
   EXIT CONDITIONS:
      Success, Z flag set.
      Failure, NZ flag set.
        A = error number
   GENERAL:
      AF and DE are altered by this SVC.
*@PRT -- SEND CHARACTER TO PRINTER
   ENTRY CONDITIONS:
      A = 6 (X'06')
      C = character to print
   EXIT CONDITIONS:
      Success, Z flag set.
      Failure, NZ flag set.
        A = error number
   GENERAL:
      AF and DE are altered by this SVC.
      If the line printer is attached but becomes unavailable, the printer
        driver waits approximately ten seconds.  If the printer is still not
        ready, a "Device not available" error is returned.
*@PUT -- WRITE ONE BYTE TO DEVICE OR FILE
   ENTRY CONDITIONS:
      A = 4 (X'04')
      DE = Pointer to DCB or FCB of the output device
      C = byte to output
   EXIT CONDITIONS:
      Success, Z flag set.
      Failure, NZ flag set.
        A = error number
   GENERAL:
      AF is always altered by this SVC.
*@RAMDIR -- GET DIRECTORY RECORD OR FREE SPACE
   ENTRY CONDITIONS:
      A = 35 (X'23')
      HL = Pointer to RAM buffer to receive information
      B = logical drive number (0-7)
      C   Selects on of the following functions:
           If C = 0, get directory records of all visible files.
           If C = 255, get free space information.
           If C = 1-254, get a single directory record (see below).
   EXIT CONDITIONS:
      Success, Z flag set.
      Failure, NZ flag set.
        A = error number
   Each directory record requires 22 bytes of space in the buffer.
     If C = 0, one additional byte is needed to mark the end of the
     buffer.
   For single directory records, the number in the C register should
     be one less than the desired directory record.  For example, if
     C = 1, directory record 2 is fetched and put in the buffer.  If
     a single record request is for an inactive record or an invisible
     file, the A register returns an error code 25 (File access denied).
   The directory information is placed in the buffer as follows:
     Byte      Contents
     00-14     Filename/ext:d (left justified,padded with spaces)
     15        Protection level, 0-6
     16        EOF offset byte
     17        Logical record length, 0-255
     18-19     ERN of file
     20-21     File size in K (1024-byte blocks)
     22        LAST RECORD ONLY.  Contains "+" to mark buffer end.
   If C = 255, HL should point to a 4-byte buffer.  Upon return, the
     buffer contains:
        Bytes 00-01 Space in use in K, stored LSB, MSB
        Bytes 02-03 Space available in K, stored LSB, MSB
*@RDHDR -- READ A SECTOR HEADER
   ENTRY CONDITIONS:
      A = 48 (X'30')
      HL = Pointer to buffer to receive the data
      D = Cylinder to read
      C = Logical drive number
      E = Sector to read
   EXIT CONDITIONS:
      Success, Z flag set.
      Failure, NZ flag set.
        A = error number
*@RDSEC -- READ A SECTOR
   ENTRY CONDITIONS:
      A = 49 (X'31')
      HL = Pointer to the buffer to receive the sector
      D = Cylinder to read
      E = Sector to read
      C = Logical drive number (0-7)
   EXIT CONDITIONS:
      Success, Z flag set.
      Failure, NZ flag set.
        A = error number
   GENERAL:
      Only AF is altered by this SVC
*@RDSSC -- READ A SYSTEM SECTOR
   ENTRY CONDITIONS:
      A = 85 (X'55')
      HL = Pointer to the buffer to receive the sector
      D = Cylinder to read
      E = sector to read
      C = Logical drive number (0-7)
   EXIT CONDITIONS:
      Success, Z flag set.
      Failure, NZ flag set.
        A = error number
   GENERAL:
      Only AF is altered by this SVC
*@RDTRK -- READ A TRACK
   ENTRY CONDITIONS:
      A = 51 (X'33')
      HL = Pointer to buffer to receive the sector
      D = Track to read
      C = Logical drive number (0-7)
      E = Sector to read
   EXIT CONDITIONS:
      Success, Z flag set.
      Failure, NZ flag set.
        A = error number
   GENERAL:
      AF is altered by the supplied floppy disk driver.
*@READ -- READ A RECORD
   ENTRY CONDITIONS:
      A = 67 (X'43')
      DE = Pointer to FCB for the file to read
      HL = Pointer to user record buffer UREC (needed if LRL = 1-255;
           unused if LRL = 256)
   EXIT CONDITIONS:
      Success, Z flag set.
      Failure, NZ flag set.
        A = error number
*@REMOV -- REMOVE FILE OF DEVICE
   ENTRY CONDITIONS:
      A = 57 (X'39')
      DE = Pointer to FCB or DCB to remove
   EXIT CONDITIONS:
      Success, Z flag set.
      Failure, NZ flag set.
        A = error number
*@RENAM -- RENAME FILE OR DEVICE
   ENTRY CONDITIONS:
      A = 56 (X'38')
      DE = Pointer to an FCB containing the file's current name
           This FCB must be in a closed state.
      HL = Pointer to new filename string terminated with a X'0D'
           or X'03'.  This filespec must be in upper case and
           must be a valid fielspec.  You can convert the filespec
           to upper case and check its validity by using the
           @FSPEC SVC before using @RENAM.
   EXIT CONDITIONS:
      Success, Z flag set.
      Failure, NZ flag set.
        A = error number
   GENERAL:
      After the call is completed, the FCB pointed to by DE is
      altered.  Only AF is altered by this SVC.
*@REW -- REWIND FILE TO BEGINNING
   ENTRY CONDITIONS:
      A = 68 (X'44')
      DE = Pointer to FCB for the file to rewind
   EXIT CONDITIONS:
      Success, Z flag set.  File positioned to record number 0.
      Failure, NZ flag set.
        A = error number
   GENERAL:
      AF is always altered by this SVC.
*@RMTSK -- REMOVE INTERRUPT LEVEL TASK
   ENTRY CONDITIONS:
      A = 30 (X'1E')
      C = Task slot assignment to remove (0-11)
   EXIT CONDITIONS:
      Success always.
      HL and DE are altered by this SVC.
*@RPTSK -- REPLACE TASK VECTOR
   ENTRY CONDITIONS:
      A = 31 (X'1F')
   GENERAL:
      This SVC does not return.
*@RREAD -- REREAD SECTOR
   ENTRY CONDITIONS:
      A = 69 (X'45')
      DE = Pointer to FCB for the file to reread
   EXIT CONDITIONS:
      Success, Z flag set.
      Failure, NZ flag set.
        A = error number
   GENERAL:
      AF is always altered by this SVC.
*@RSLCT -- TEST FOR DRIVE BUSY
   ENTRY CONDITIONS:
      A = 47 (X'2F')
      DE = Logical drive number (0-7)
   EXIT CONDITIONS:
      Success Always.
      Only AF is altered by this SVC.
*@RSTOR -- ISSUE FDC RESTORE COMMAND
   ENTRY CONDITIONS:
      A = 44 (X'2C')
      C = Logical drive number (0-7)
   EXIT CONDITIONS:
      Success, Z flag set.
      Failure, NZ flag set.
        A = error numer
*@RUN -- RUN PROGRAM
   ENTRY CONDITIONS:
      A = 77 (X'4D')
      DE = Pointer to FCB containing the filespec of the file to RUN
      NOTE: The FCB must be located where the program being loaded
            will not overwrite it.
   EXIT CONDITIONS:
      Success, the new program is loaded and executed.
      Failure, the error is displayed and return is made to your
               program.
        HL = return code
   GENERAL:
      HL is returned unchanged if no error occurred and can be used
      as a pointer to a command line.
*@RWRIT -- REWRITE SECTOR
   ENTRY CONDITIONS:
      A = 70 (X'46')
      DE = Pointer to FCB for the file to rewrite
   EXIT CONDITIONS:
      Success, Z flag set.
      Failure, NZ flag set.
        A = error number
*@SEEK -- SEEK CYLINDER
   ENTRY CONDITIONS:
      A = 46 (X'2E')
      C = Logical drive number
      D = Cylinder to seek
      E = Sector to seek
   EXIT CONDITIONS:
      Success always.
      Only AF is altered by this SVC.
*@SEEKSC -- SEEK CYLINDER AND SECTOR
   ENTRY CONDITIONS:
      A = 71 (X'47')
      DE = Pointer to the file's FCB
   EXIT CONDITIONS:
      Success always.
*@SKIP -- SKIP A RECORD
   ENTRY CONDITIONS:
      A = 72 (X'48')
      DE = Pointer to FCB for the file to skip
   EXIT CONDITIONS:
      If the Z flag is set or if A=X'1C' or X'1D', then the operation
      was successful.  Otherwise, A = error number.  If A=X'1C' is
      returned, the file pointer is positioned at the end of the file.
      If A=X'1D' is returned, the file pointer is positioned beyond
      the end of the file.
   GENERAL:
      AF is altered by this SVC.
      BC contains the current record number.  This is the same value
      as that returned by the @LOC SVC.
*@SLCT -- SELECT A NEW DRIVE
   ENTRY CONDITIONS:
      A = 41 (X'29')
      C = Logical drive number (0-7)
   EXIT CONDITIONS:
      Success, Z flag set.
      Failure, NZ flag set.
        A = error number
   GENERAL:
      Only AF is altered by this SVC.
*@SOUND -- SOUND GENERATION
   ENTRY CONDITIONS:
      A = 104 (X'68')
      B = Function code
          bits 0-2: tone selection (0-7 with 0=highest and 7=lowest)
          bits 3:7: tone duration (0-31 with 0=shortest and 31=longest)
   EXIT CONDITIONS:
      Success always.
      Only AF is altered by this SVC.
*@STEPI -- ISSUE FDC STEP IN COMMAND
   ENTRY CONDITIONS:
      A = 45 (X'2D')
      C = Logical drive number
   EXIT CONDITIONS:
      Success, Z flag set.
      Failure, NZ flag set.
        A = error number
   GENERAL:
      Only AF is altered by this SVC.
*@TIME -- GET TIME
   ENTRY CONDITIONS:
      A = 19 (X'13')
      HL = Pointer to buffer to receive the time string
   EXIT CONDITIONS:
      Success always.
        HL = Pointer to the end of buffer+1
        DE = Pointer to start of TIME$ storage area in TRSDOS
        AF and BC are altered by this SVC.
*@VDCTL -- VIDEO FUNCTIONS
   ENTRY CONDITIONS:
      A = 15 (X'0F')
      B  Selects in of the following functions:
      --If B = 1, return the character at the screen position
                  specified by HL.
           H = row on the screen (0-23), where 0 is the top row
           L = column on the screen (0-79), where 0 is the leftmost
               column
   EXIT CONDITIONS:
      Success, Z flag set.
        A = character found at the location specified by HL
        DE is altered.
      Failure, NZ flag set.
        A = error number

      --If B = 2, display the specified character at the position
                  specified by HL.
           C = character to be displayed
           H = row on the screen (0-23), where 0 is the top row
           L = column on the screen (0-79), where 0 is the leftmost
               column
   EXIT CONDITIONS:
      Success, Z flag set.
        DE is altered.
      Failure, NZ flag set.
        A = error number

      --If B = 3, move the cursor to the position specified by HL.
                  This is done even if the cursor is not displayed.
           H = row on the screen (0-23), where 0 is the top row
           L = column on the screen (0-79), where 0 is the leftmost
               column
   EXIT CONDITIONS:
      Success, Z flag set.
        DE and HL are altered.
      Failure, NZ flag set.
        A = error number

      --If B = 4, return the current position of the cursor.
   EXIT CONDITIONS:
      Success always.
        HL = row and column position of the cursor. H = row on the
             screen (0-23), where 0 is the top row; L = column on
             the screen (0-79), where 0 is the leftmost column.

      --If B = 5, move a 1920-byte block of data to video memory.
           HL = pointer to 1920-byte buffer to move to video memory
   EXIT CONDITIONS:
      Success always.
        HL = pointer to last byte moved to the video+1
        BC and DE are altered.

      --If B = 6, move a 1920-byte block of data from video memory to
                  a buffer you supply.  In 40 line by 24 character
                  mode, there must be a character in each alternating
                  byte for proper display.
           HL = pointer to 1920-byte buffer to store copy of video
                memory, HL MUST be in the range X'23FF' < HL < X'EC01'.
   EXIT CONDITIONS:
      Success always.
        BC, DE and HL are altered.

      --If B = 7, scroll protect the specified number of lines from the
                  top of the screen.
           C = number of lines to scroll protect (0-7).  Once set, scroll
               protect can be removed only by executing @VDCTL with B = 7
               and C = 0, or by resetting the system.  Clearing the screen
               with <SHIFT><CLEAR> erases the data in the scroll protect
               area, but the scroll protect still exists.
   EXIT CONDITIONS:
      Success always.
        BC and DE are altered.

      --If B = 8, change cursor character to specified character.  If the
                  cursor is currenlty not displayed, the character is
                  accepted anyway and is used as the cursor character when
                  it is turned back on.  The default cursor character is
                  an underscore (X'5F) under Version 6.2 and a (X'B0')
                  under previous versions.
           C = character to use as the cursor character
   EXIT CONDITIONS:
      Success always.
        A = previous cursor character
        DE is altered.

      --If B = 9, (under version 6.2) only transfer 80 characters to or
                  from the screen.
           C = 0, move the characters from the buffer to the screen
           C = 1, move the characters from the screen to the buffer
           H = row on the screen
           DE = pointer to 80 byte buffer
   EXIT CONDITIONS:
      Success, Z flag set.
        BC, HL and DE are altered.
      Failure, NZ flag set.
        A = error code 43 (X'2B').
   NOTE:  The video RAM area in the Models 4 and 4P is 2048 bytes (2K).
          The first 1920 bytes can be displayed.  The remaining bytes
          contain the type-ahead buffer and other system buffers.
   GENERAL:
      Functions 5,6 and 7 do not do range checking on the entry parameters.
      If HL is not in the valid range in functions 5 and 6, the results may
      be unpredictable.
      Only function 3 (B=3) moves the cursor.
      If C is greater than 7 in function 7, it is treated as modulo 8.
      AF and B are altered by this SVC.
*@VDPRT -- PERFORM A SCREEN PRINT
   ENTRY CONDITIONS:
      A = 107 (X'6B')
   EXIT CONDITIONS:
      Success Always.
   GENERAL:
      BC, DE, HL are changed.  No status is returned.
      If the printer is not ready, the SVC will abort in approx. 20 secs.
*@VER -- WRITE AND VERIFY A RECORD
   ENTRY CONDITIONS:
      A = 73 (X'49')
      DE = Pointer to FCB for the file to verify
   EXIT CONDITIONS:
      Success, Z flag set.
        HL = Pointer to user buffer containing the logical record
      Failure, NZ flag set.
        A = error number
   GENERAL:
      Only AF is altered by this SVC.
*@VRSEC -- VERIFY SECTOR
   ENTRY CONDITIONS:
      A = 50 (X'32')
      D = Cylinder to verify
      E = sector to verify
      C = logical drive number (0-7)
   EXIT CONDITIONS:
      Success, Z flag set.
      Failure, NZ flag set.
        A = error number
   GENERAL:
      Only AF is altered by this SVC.
      If the sector is a system sector, the sector is readable in an error
      6 is returned; any other error number signifies an error has occured.
*@WEOF -- WRITE END OF FILE
   ENTRY CONDITIONS:
      A = 74 (X'4A')
      DE = Pointer to the FCB for the file to WEOF
   EXIT CONDITIONS:
      Success, Z flag set.
      Failure, NZ flag set.
        A = error number
   GENERAL:
      Only AF is altered by this SVC.
*@WHERE -- LOCATE THE ORIGIN OF SVC
   ENTRY CONDITIONS:
      A = 7 (X'07')
   EXIT CONDITIONS:
      Success always.
        HL = Pointer to address following RST 28H instruction
      Only AF is altered by this SVC.
*@WRITE -- WRITE A RECORD
   ENTRY CONDITIONS:
      A = 75 (X'4B')
      HL = Pointer to user record buffer UREC (unused if LRL=256)
      DE = Pointer to FCB for the file to write
   EXIT CONDITIONS:
      Success, Z flag set.
      Failure, NZ flag set.
        A = error number
   GENERAL:
      Only AF is altered by this SVC.
*@WRSEC -- WRITE A SECTOR
   ENTRY CONDITIONS:
      A = 53 (X'35')
      HL = Pointer to the buffer containing the sector data
      D = cylinder to write
      E = sector to write
      C = logical drive (0-7)
   EXIT CONDITIONS:
      Success, Z flag set.
      Failure, NZ flag set.
        A = error number
   GENERAL:
      Only AF is altered by this SVC.
*@WRSSC -- WRITE A SYSTEM SECTOR
   ENTRY CONDITIONS:
      A = 54 (X'36')
      HL = Pointer to the buffer containing the sector of data
      D = cylinder to write
      E = sector to write
      C = logical drive number (0-7)
   EXIT CONDITIONS:
      Success, Z flag set.
      Failure, NZ flag set.
        A = error number
   GENERAL:
      Only AF is altered by this SVC.
*@WRTRK -- WRITE A TRACK
   ENTRY CONDITIONS:
      A = 55 (X'37')
      HL = Pointer to format data
      D = track to write
      C = logical drive number (0-7)
   EXIT CONDITIONS:
      Success, Z flag set.
      Failure, NZ flag set.
        A = error number
   GENERAL:
      Only AF is altered by this SVC.
*
