PRT_LINE /x1k10                                   Ŀ
                                    TOS 

!PROG_START!(75,mode,programmname.L,commandline.L,environmentstring.L)= basepage.L

              mode                                                    basepage
               0:load and go                                          address
               3:load                                                 if mode=3
               4:go

                   programmname   commandline   environmentstring
                     address        address          address
                                   if mode=4
                                basepageaddress

!PROG_STOP!(49,reservedmemorysize.L,parameter)

             reservedmemorysize   parameter
            starting at basepage  to return to parent programm

!PROG_END!(0)

             return $0000 to parent programm

!PROG_ENDwithPARAMeter!(76,parameter)

                         parameter
                to return to parent programm

!PROG_SUPERvisorMODE!(32,input.L) = output.L

                       input
                       if > 0 set user mode (input=newSSP)(output=oldSSP)
                       if = 0 set supervisor mode (SSP=USP)(output=oldSSP)
                       if =-1 get mode (output= 0:user 1:super)

!MEMO_SHRINK!(74,0,memoryaddress.L,size.L)

!MEMO_ALLOC!(72,size.L) = memoryaddress.L

              size
              if =-1 then D0=size of the largest memory block

                        memoryaddress.L
                          0:not enough memory

!MEMO_FREE!(73,memoryaddress.L)

!DISK_GET!(25) = disk

               disk
               0-15

!DISK_SET!(14,disk) = map

            disk    map
            0-15    b0-b15:diskA-diskP

!DISK_GetfreeSPACE!(54,bufferaddress.L,disk)

                     buffer
                     byte#
                      0- 3  number of free clusters
                      4- 7  number of clusters on disk
                      8-11  sector size in bytes
                     12-15  number sectors per cluster

                                     disk
                                        0:current disk
                                     1-16:disk+1

!DISK_GetDIRectory!(71,directoryaddress.L,disk)

                     directory          disk
                     64 bytes             0:current disk
                                       1-16:disk+1

  N.B.: disk symbols are "A: B: C: D: E: ... P:"
        subdirectory separator symbol is "\"
        filename in capital letters
        8 characters maxi for name
        3 characters maxi for extension
        character separator between name and extension is "."
        joker symbol is "?"
        wild card symbol is "*"

!DISK_SetDIRectory!(59,directoryaddress.L)

!DISK_CREATEDIRectory!(57,directoryaddress.L)

!DISK_DELETEDIRectory!(58,directoryaddress.L)
                                   Ŀ
                                    TOS 

!FILE_GetDiskTransferArea!(47) = DiskTransferAreaaddress.L

                               DiskTransferArea
                                byte#
                                 0-20  -
                                   21  Attributes
                                22-23  Hour
                                24-25  Date
                                26-29  Length
                                30-43  Name+Extension

!FILE_SetDiskTranferArea!(26,DiskTransferAreaaddress.L)

!FILE_GetFIRST!(78,filenameaddress.L,attributes)

!FILE_GetNEXT!(79)

!FILE_CREATE!(60,filenameaddress.L,attribute) = filehandle

!FILE_DELETE!(65,filenameaddress.L)

!FILE_OPEN!(61,filenameaddress.L,mode) = handle

             filename          mode
                                0:read only
                                1:write only
                                2:read and write

                              standard handle
                                         0/-1:CONSOLE INPUT (if filename="CON:")
                                         1/-1:CONSOLE OUTPUT(if filename="CON:")
                                         2/-2:AUXILIARY     (if filename="AUX:")
                                         3/-3:PRINTER       (if filename="PRN:")
                                         4:  -
                                         5:  -

                                  file handle
                                         6-...

!FILE_CLOSE!(62,handle)

!FILE_READ!(63,handle,numberbytes.L,bufferaddress.L) = numberbytes.L

!FILE_WRITE!(64,handle,numberbytes.L,bufferaddress.L) = numberbytes.L

!FILE_SEEK!(66,seek.L,handle,mode) = pointerinfile.L

             seek          mode
             signed         0:from the begin
                            1:from the current position
                            2:from the end

!FILE_RENAME!(86,0,oldfilenameaddress.L,newfilenameaddress.L)

!FILE_getsetATTRIButes!(67,filenameaddress.L,mode,attributes) = attributes.L

                                           mode
                                            0:get
                                            1:set

!FILE_getsetTIME!(87,timeaddress.L,filehandle,mode)

                   time                     mode
                   byte#                     0:set
                   0-1  hour                 1:get
                   2-3  date
                   see TIME_GET(XBIOS)

!FILE_DUPLICATEhandle!(69,standardhandle) = filehandle

!FILE_FORCEhandle!(70,standardhandle,filehandle)
