    CP/M 3 System Guide                      C Modifying a CP/M 2 BIOS

                           Table C-1. (continued)

          Function       Meaning

          BIOS Function 04: CONOUT

                         Can be implemented unchanged.

          BIOS Function 05:  LIST

                         Can be implemented unchanged.

          BIOS Function 06:   AUXOUT

                         Call ed PUNCH in CP/M 2.          Can be
                         implemented unchanged.

          BIOS Function 07: AUXIN

                         Called READER in CP/M 2.          Can be
                         implemented unchanged.    Do not mask the
                         high-order bit.

          BIOS Function 08: HOME

                         No change.

          BIOS Function 09: SELDSK

                         Can not return a select error when SELDSK
                         is called with bit 0 in register E equal
                         to 1.

          BIOS Function 10: SETTRK

                         No change.

          BIOS Function 11: SETSEC

                         Sectors are physical sectors, not logical
                         128-byte sectors.

          BIOS Function 12: SETDMA

                         Now called for every READ or WRITE
                         operation.    The DMA buffer can now be
                         greater than  128 bytes.




                                     112

        CP/M 3 System Guide                      C Modifying a CP/M 2 BIOS

                                Table C-1. (continued)

              Function        meaning

              BIOS Function 13: READ

                              READ operations are in terms of physical
                              sectors.   READ can return a OFFH error
                              code if it detects that the disk format
                              has changed.

              BIOS Function 14: WRITE

                              WRITE operations are in terms of physical
                              sectors.  If write detects that the disk
                              is Read-Only, it can return error code 2.
                              WRITE can return a OFFH error code if it
                              detects that the disk format has changed.

              BIOS Function 15: LISTST

                              Can be implemented unchanged.

              BIOS Function 16: SECTRN

                              Sectors are physical sectors, not logical
                              128-byte sectors.


              The following is a list of new BIOS functions:

              BIOS Function   17: CONOST

              BIOS Function   18: AUXIST

              BIOS Function   19: AUXOST

              BIOS Function   20: DEVTBL

              BIOS Function   21: DEVINI

              BIOS Function   22; DRVTBL

              BIOS Function   23: MULTIO

              BIOS Function   24: FLUSH

              BIOS Function   25: MOVE

              BIOS Function   26: TIME





                                          113

     CP/M 3 System Guide                       C Modifying a CP/M 2 BIOS
           BIOS Function 27:   SELMEM
           BIOS Function  28:  SETBNK
           BIOS Function  29:  XMOVE
           BIOS Function  30:  USERF
           BIOS Function  31:  RESERV1
           BIOS Function  32:  RESERV2

                                End of Appendix C








                                       il4
                                     A endix D
                               CPM3.SYS File Format

                             Table D-1.  CPH3.SYS File Format
                        Record                Contents
                           0         Header Record (128 bytes)
                           1         Print Record (128 bytes)
                           2-n       CP/M 3 operating system in
                                     reverse order, top down.

                           Table D-2.  Header Record Definition
               Byte                         Contents
               0          Top page plus one, at which the resident
                          portion of CP/M 3 is to be loaded top down.
               1          Length in pages (256 bytes) of the resident
                          portion  of CP/M 3.
               2          Top page plus one,  at which the banked portion
                          of CP/M  3 is to be loaded top down.
               3          Length   in pages (256 bytes) of the banked
                          portion  of CP/M 3.
               4-5        Address  of CP/M 3 Cold Boot entry point.
               6-15       Reserved.
               16-51      Copyright Message.
               52         Reserved.
               53-58      Serial Number.
               59-127     Reserved.

                The Print Record is the CP/M 3 Load Table in ASCII,
         terminated by a dollar sign ($).

                                     End of Appendix D





                                            115
                                    A endix K

             Public Data Items in P/M 3 Sample BIOS Modules





              Module    Publi Table K-1. Public Data Items


                             c
               Name       Data                  Description

              BIOSKRNL
                        @ADRV       Absolute Logical Drive Code
                        @RDRV       Relative logical drive code (UNIT)
                        @TRK        Track Number
                        @SECT       Sector Address
                        @DMA        DMA Address
                        @DBNK       Bank for Disk I/O
                        @CNT        Multi-sector Count
                        @CBNK       Current CPU Bank

              CHARIO
                        @CTBL       Character Device Table


              DRVTBL
                        @DTBL       Drive Table

                                  End of Appendix K








                                           1 59

                                     A endix L

                         CP/M 3 BI       Function Summary


                      Table L-1.  BIOS Function Jump Table S,immary

               No.  Fun           Input                   Output

                0     BOOT       None             None
                1     WBOOT      None             None
                2     CONST      None             A=OFFH if ready
                                                  A=OOH if not ready
                3     CONIN      None             A=Con Char
                4     CONOUT     C=Con Char       None
                5     LIST       C=Char           None
                6     AUXOUT     C=Char           None
                7     AUXIN      None             A=Char
                8     HOME       None             None
                9     SELDSK     C=Drive 0-15     HL=DPH addr
                                 E=Init Sel Flag  HL=OOOH if invalid dr.
                10    SETTRK     BC=Track No      None
                11    SETSEC     BC=Sector No     None
                12    SETDMA     BC=.DMA          None
                13    READ       None             A=OOH if no Err
                                                  A=01H if Non-recov Err
                                                  A=OFFH if media changed
                14    WRITE      C=Deblk Codes    A=OOH if no Err
                                                  A=OIH if Phys Err
                                                  A=02H if Dsk is R/O
                                                  A=OFFH if media changed
                15    LISTST     None             A=OOH if not ready
                                                  A=OFFH if ready
                16    SECTRN     BC=Log Sect No   HL=Phys Sect No
                                 DE=Trans Tbl Adr
                17    CONOST     None             A=OOH if not ready
                                                  A=OFFH if ready
                18    AUXIST     None             A=OOH if not ready
                                                  A=OFFH if ready
                19    AUXOST     None             A=OOH if not ready
                                                  A=OFFH if ready
                20    DEVTBL     None             HL=Chrtbl addr
                21    DEVINI     C=Dev No 0-15    None
                22    DRVTBL     None             HL=Drv Tbl addr
                                                  HL=OFFFFH
                                                  HL=OFFFEH
                23    MULTIO     C=Mult Sec Cnt   None
                24    FLUSH      None             A=OOOH if no err
                                                  A=OOIH if phys err
                                                  A=002H if disk R/O
                25    MOVE       HL=Dest Adr      HL & DE point to next
                                 DE=Source Adr    bytes following MOVE
                                 BC=Count





                                           161

     CP/M 3 System Guide                 L CP/M 3 BIOS Function Summary

                            Table L-1. (continued)

                             -F  Input              Output
             No.TFunction

             26    TIME        C=Get/Set Flag None
             27    SELMEM      A=Mem Bank        None
             28    SETBNK      A=Mem Bank        None
             29    XMOVE       B=Dest Bank       None
                               C=Source Bank
             30    USERF       Reserved for System Implementor
             31    RESERV1     Reserved for Future Use
             32    RESERV2     Reserved for Future Use

                               End of Appendix L








                                     16 2

                                         Index



            115                                @ADRV, 75, 76
         $B, 100, 104                          @AIVEC, 28,     29
            27, 88                             @AOVEC, 28,     29
           restriction on use, 73              @BFLGS, 28,     30, 31
         ?AUXI, 77                             @BNKBF, 18,     28, 29
         ?AUXIS, 77                            @CBNK, 75, 76
         ?AUXO, 77                             @CIVEC, 28,     29
         ?AUXOS, 77                            @(-NT, 75, 76, 85
         ?BANK, 75                             @COVEC, 28, 29
         ?BNKSL, 77                            @CRDMA, 28, 29
         ?BOOT, 77                             @CRDSK, 28,     29
         ?CI, 75, 78, 80                       @CTBL, 74, 75,  78
         ?CINIT, 73, 75,  80                   @DATE, 25,  28, 31
         ?CIST, 75, 78, 80                     @DBNK, 75,  76
         ?CO, 75, 78, 80                       @DMA, 75, 76
         ?CONIN, 77                            @DTBL, 74, 75
         ?CONO, 77                             @ERMDE, 28. 30
         ?CONOST, 77                           @ERDSK, 2B,     29
         ?CONST, 77                            @ERJMP, 2B,     31, 32
         ?COST, 75,  78, 80                    @FX, 28, 29
         ?DEVIN,     77                        @HOUR, 25, 28, 31
         ?DRTBL,     77                        @LOVEC, 28, 29
         ?DVTBL,     77                        @MEDIA, 28,     30
         ?FLUSH,     77                        @MIN, 25, 28, 31
         ?HOME,      77                        @MLTIO, 28, 30, 52
         ?INIT,      74, 75, 78                @MKTPA, 18, 28, 32
         ?LDCCP,     74, 7 5, 7 8              @PDERR, 85
         ?LIST,      77                        @RDRV, 75, 76
         ?LISTS,     77                        @RESEL, 28, 29
         )MLTIO, 77                            @SEC, 25, 2B, 31
         ?MOV, 77                              @SECT, 75, 76
         ?MOVE, 75,  85                        @TRK, 75, 76
         ?PDEC, 75,  76                        @USRCD, 28,     29
         ?PDERR, 75, 76, 85                    @VINFO, 28, 29
         ?PMSG, 75,  76
         ?READ, 77                             A
         ?RLCCP,     75, 78
         ?SCTRN,     77                        allocation units, 41
         ?SLDSK,     77                        allocation vector, 34, 88
         ?STBNK,     77                          See also ALV
         ?STDMA,     77                        ALO and ALI, 43
         ?STSEC,     77                        ALV, 34, 38
         ?STTRK,     77                          banked system,    39
         ?TIM, 77                                double, 91
         ?TIME, 75                               double-bit, 38
         ?WBOOT, 77                              single-bit, 38
         ?WRITE,     77                        assembler source    file, 71
         ?XMOV,      77 ,85                    assembly language
         ?XMOVE, 75                              cross-reference program, 117
         @, 27                                   sources, 117
            restriction  on use, 73            asserrbly-time arithmetic, 27



                                             163


                                                                                      AN

      assignment vector, 74                  BDOS, 1, 2,    15
      AUTO DISPLAY parameter, 88               calls to   BIOS, 3, 21
      AUTO parameter, 88                       disk I/O, 20
      auto-density support, 109                flags, 3
      automatic login feature, 41              Function   44, 52
      AUXIN, 16, 17, 19, 50, 56                Function   49, 3
      AUXIST, 16, 17, 50, 57                   Function   50, 16
      AUXOST, 16, 17, 50, 58                   JMP, 18
      AUXOUT, 16, 17, 19, 50, 56             Binary Coded Decimal (BCD)
                                               fields, 31
      B                                        format, 25
                                             BIOS, 1, 2, 15
      Backspace, 90                            assembling, 69
      Bank                                     calls, 20
        0, 5, 6                                customizing, 4, 10
        1 , 5, 6                               debugging, 100, 103
        DMA buffer, 76                         disk data structures, 34
        selection, 78                          error message header, 85
        switching, 6                           media flag, 107, 108
      BANK field, 44,   46                     new functions, 113
      bank number                              routines, 2
        current, 24                            organization, 15
      bank-switched   memory, 1, 6             subroutine entry    points, 49,
        block moves   and memory                 84
          selects, 24                          subroutines, 17
        organization, 8                      BIOS entry points,    15, 49, 77
        requirements,   1, 7                   cold start, 101
      banked BIOS                              flush buffers, 64
        assembling, 69                       BIOS   function calls:
        linking, 69                            0:   50,  51, 111,  161
        preparing, 69                          1:   50,  52, 111,  161
      banked system                            2:   50,  55, 111,  161
        allocation vector, 39                  3:   50,  55, 111,  161
        BANK field, 46                         4:   50,  55, 112,  161
        BCB data structures, 46                5:   50,  56, 112,  161
        BDOS and BIOS, in common               6:   50,  56, 112,  161
          memory, 9                            7:   50,  56, 112,  161
        BDOS and BIOS, in Bank 0, 9            9:   50,  59, 112,  161
        buffer control block, 44               10:   50,  59, 112,  161
        common memory, 5, 34                   11:   50,  60, 112,  161
        with Bank 1 enabled, 6                 12:   50,  60, 112,  161
      Basic Disk Operating System              13:   50,  61, 113,  161
        See BDOS                               14:   50,  61, 113,  161
      Basic Input Output System                15:   50,  5 7 ,113, 161
        See BIOS,                              16:   50,  62, 113,  161
      baud rate                                17:   50,  57, 113,  161
        current,    32                         18:   50,  57, 113,  161
        serial devices, 79                     19:   50,  58, 113,  161
                                               20:   50,  52, 113,  161
                                               21:   50,  53, 113,  161
                                               22:   50,  53, 113,  161
                                               23:   50,  63, 113,  161
                                               24:   50,  64, 113,  161
                                               25:   50,  65, 113,  161
                                               26:   24,  50, 67, 113,   162




                                           164

          27: 50, 66, 114, 162              buffers, 46
          28: 50, 66, 114, 162                Blocking/Deblocking, 92
          29: 50, 66, 114, 162                dirty, 64
        BIOS functions                        pending, 52
          list, 50, Ill to 114
          summary, 161, 162                 c
        BIOS jump vector, 15, 16, 49
          public names, 77                  CCP, 2
        BIOS modules, 71, 73                  flags, 3
          conventions, 73                     loading into TPA, 78
          external names,  73               CCP.COM, 13, 18
          external reference,   73          character device, 74
          functional summary,   71            characteristics table, 140
        BIOSKRNL.ASM, 71 to 73                initialization, 80, 140
          equate statement, 71                input, 80
          global variables, 76                interfacing, 78
          modification restriction, 71        labels, 80
          nonbanked system, 71                logical to physical
          public utility subroutines,           redirection, 74
            76                                output, 80
        BLM, 40, 42                           table (@CTBL), 74
        block                               character I/O, 19
          defined, 41                         data structures, 32
          mask, 40, 42                        interface routines, 74
          moves, 15                           machine-dependent, 79
          shift factor, 40, 42                Operation, 74
          size restriction, 41                redirection, 78
          transfers (memory-to-memory),     CHARIO.ASM, 71
            24                                module, 140
        blocking logical                    CHARIO module, 72, 74, 78
          128-byte records, 23              checksumming
        blocking/deblocking, 53               full directory, 41
          in BIOS, 52, 62, 64               checksum vectors, 34, 38, 88
        BOOT, 50, 51                        CHRTBL, 52, 78
          entry point, 100                  clear area, 7
          JMP, 16                           clock support, 15, 24, 67
        BOOT.ASM, 71                        clusters
          module,  72, 137                    See block
        boot loader, 102                    Cold Boot
          module, 137                         Loader, 10, 12, 51
        BOOT module                           process, 12, 13
          entry points, 77                    passpoint, 105
        boot ROMS, 51                       cold start, 10, 101, 137
        BOOT routine, 18                      initialization, 12
        booting CP/M 3, 102                   loader, 15, 19, 101
        ESH, 40, 42                         common memory, 5, 11, 34, 68
        Buffer Control Block, 34, 39          banked system, 34
          fields, 45                          base page, 90
          format, 44                          BIOS data structures, 67
        buffer definitions, 94              CONIN, 16, 17, 50, 55
        buffer space, 8, 23                 CONOST, 16, 17, 50, 57
          allocation, 15, 93                CONOUT, 16, 17, 50, 55
          hardware-dependent,   5           Console Command Processor
        buffering scheme, 8, 23               See CCP





                                          165

     console output, 12                    Direct Memory Access
       call, 3                               See DKA
       function, 3                         directory
     CONST, 16, 50, 55                       buffers, 23, 34, 46, 92
     COPYSYS utility, 98, 102                caches, 23
     CP/M 2 BIOS                             checksumming, 41
       modification, 111                     entries, 1, 41, 43
     CP/M 3                                  hashing, 39
       Linked BIOS Bank/move                 hash tables, 5, 9, 92
         Module, 152                         records, 23
       customizing hardware,    11           region, 10
       loading into memory, 12               search, 23
       See also BIOS                       disk
     CPM3.SYS, 1                             accesses, 18, 23
       file, 11, 13, 19                      compatibility, 10
       file format, 115                      controller, 83
       loading into memory, 98               density automatically
     CPMLDR, 5, 19, 98, loo                    determined, 74
       sign-on message, 101                  drives, 11, 107, 109
       utility, 100                          I/O, 15, 71, 72
     CPMLDR -- BDOS, 12                      organization, 10
     CPMLDR BIOS, 12                       disk formats
     CPMLDR.-COM, 99                         multiple, 109
     CTRL-C, 39                              subsystem, 34, 62
     CTRL-Z, 19, 54                        Disk Parameter Block, 23, 34,
     Customizing CP/M 3, 11                    37, 109, 144
                                             banked system, 34
     D                                       DPB macro, 48
                                             fields, 40
     data                                    format, 40
       block allocation size, 40           Disk Parameter Header, 23,
       buffers, 6, 23, 46, 93                  34, 36, 59, 109, 144
       record buffers, 24                    DPH macro, 47
       record caching, 23                    fields, 37
       region, 10                            format, 36
     data structures, 46,    144             regular, 83
       in common memory,   67              disks
     DDT, 100                                distribution, 1
     deblocking buffers,   8, 23             double density, 42
     deblocking logical 128-byte             number supported, 1
         records, 23                         physical sector size, 44
     debugger, 103                           reformatting, 42
     debugging                             DMA, 144
       BIOS,  100, 103                       address, 20
       with SID, 100,    103                 buffer, 23
     default value                           controller, 9
       with question mark, 89              dollar sign ($), 115
     density selection                     DPH
       automatic, 62                         See Disk Parameter Header
     density-sensing, 59                   drive
     device name                             characteristics, 12
       format, 78                            default, 90
     DEVICE utility, 20,   74                table, 36, 74
     DEVINI, 16, 17, 50,   53              drive code
     DEVTBL, 16, 17, 50,   52                absolute, 76




                                         166

        DRVTBL, 17, 50, 53                   G
          JMP, 16
          module, 72, 74, 81                 G command, 105
        DRVTBL.ASM, 71                       GENCPM, 6, 11, 12
        dynamic                                command input, 87
          allocation of space, 1               directory hashing, 39
          disk definition table,   59          in banked system, 87
                                               in nonbanked system, 87
        E                                      questions, 89, 90
                                               utility, 23, 36, 46, 87
        end-of-file, 20                      global variables, 76
          condition, 19, 54
        entry points                         H
          BIOS subroutine, 84
          BOOT, 51                           handshaking
          BOOT module, 77, 78                  polled, 57, 58
          flush buffers, 64                  hardware
          MOVE module, 86                      configurations, 2
          WBOOT, 52                            initialization, 13, 77
        entry values, 27                       requirements, 1
        equates                                supported, 10, 11
          absolute external, 27                special DMA, 65
          for Mode Byte Bit Fields, 131      hardware environment, 2, 10, 15
        erased character, 90                   banked system, 11
        error                                  nonbanked system, 11
          code, 24, 31                       hash table, 39
          handling, 84                         directory, 9, 92
          in multisector transfer, 63          searches, 107
          nonrecoverable, 85                 head number, 37
        error messages                       hexadecimal address, 4
          extended, 1, 30                    high-order
          in foreign language, 32              bit, 43
          long, 91                             byte, 27
          short, 30                            nibble, 79
        Extended Disk Parameter              HOME, 16, 50, 58
            Header (XDPH), 72, 74, 81
          fields, 83
          format, 82
        Extent mask,  41                     I/O, 2
                                               character, 19, 74, 78
        F                                      devices, 11
                                               disk, 20, 74
        file                                   drivers, 71
          CPM3.SYS format, 115                 multiple sector, 85
          random access, I                     Port Addresses, 153
          storage, 10                          ports, 78
          structure, 1                         redirection, 20
        first-time initialization              simple device, 3
            code, 83                         IBM 3740 disk, 10
        flag, 27                             INIT, 83, 84
          global  system, 30
          media,  37
        FLUSH, 16, 50, 64






                                           167

      initialization                      LRU buffering scheme, 8, 23
        basic system, 51
        cold start, 12                    m
        hardware, 51, 77
        Page Zero, 18, 51                 macro definitions, 46, 133
        system tracks,  102               media
      input, 140                             automatic type
      input/output                            determination, 74
        See 1/0                              change, 107
      interbank moves,  86                   flag, 37, 108
      intrabank moves,  86                   removable, 107
      IOBYTE facility,  52                memory
                                             addresses, 12
      i                                      configurations, 1
                                             contiguous, 6, 11
      imp, 16, 18                            image, 13
      jump                                   organization, 6
        address, 16                          selects, 15
        instructions, 15, 27, 49             top of banked, 5, 6
        table, 2                          memory-mapped video
        vector, 15, 16, 77                    display, 19
                                          memory organization
      L                                      banked, 5, 6, 8
                                             general, 3, 4
      L option, 100                          nonbanked, 7-9
      LDRBIOS, 12, 51, 100                   resident, 5
        length restriction, 100           memory requirements, 7
        linking, 100                         banked system, 7
      LDRBIOS.ASM, assembling, 100           nonbanked, 7
      Least Recently Used (LRU)              segment table, 92
        buffering, 8, 23                  memory-to-memory move, 86
      LINK                                mode
        field, 44                            bits, 79
        L option, 100                        byte, 32
      LINK-80, 69, 73                     modules
      linker, 27                             communication between, 2
      LIST, 16, 17, 50, 56                   interactions, 73
      LISTST, 16, 17, 50, 57              MOVE, 16, 17, 24, 50, 65
      location zero, 6                    MOVE.ASM, 71, 73
      logical                             MOVE Module, 85
        character device                     entry points,  86
          combinations, 54                MOVES
        device characteristics, 19           interbank, 86
        device reassigning, 20               intrabank, 86
        drive, 144                        MULTIO, 16, 17,   20, 23, 50, 63
        read operation, 62                multiple sector   read or write
        record blocking/deblocking,          operations, 20
          23                              multisector transfer, 63
        records, 3
        sequential sector
          address, 62
      LOGIN, 83, 84                       names
      low-order                              external, 73
        bit, 43                              public, 73
        byte, 4                              user-defined, 73



                                         168

        nonbank-switched memory, I          physical sector, 20
           block moves and memory              buffers, 23
             selects, 24                       count, 76
           requirements 1, 7                   transfer, 23
        nonbanked BIOS                         translation, 62
           assembling, 69                   PORTS.LIB, 153
           debugging, 103                   Print Record, 115
           linking, 69                      printers, 11
        nonbanked memory, 4                 public
        nonbanked system                       data items, 159
           allocation vector, 39               definitions, 129
           buffer control block,  44           entry points, 157
           configuration, 9                    names, 77
        number of lines per console            symbols defined in modules,
            page, 90                             75
                                            public variables, 129
        0                                      names, 17
                                               predefined, 75
        OFF field, 43
        OPEN, 18
        operating system bank, 9
        operating system modules            question mark, 88
           banked, 5                        question variable, 88
           resident, 5                      questions
        output, 140                            GENCPM, 89 to 94
        overlay
           data buffer, 94                  R
           directory buffer, 93
                                            r/o, 27
        p                                   r/w, 27
                                            READ, 16 to 23, 50, 61,
        P  command, 105                          83, 84
        Page Zero, 4, 5, 18, 74             Read-Write routines, 23, 24
           initialization, 18               Register A, 17, 20
        passpoint, 105                      removable drives
           cold BOOT routine,   105            BIOS media flag, 107, 108
           in BIOS, 104                        directory hashing, 107
        password protection,   1               performance penalty, 107
        peripheral                          RESERV1, 16, 51
           single, 20                       RESERV2, 16, 51
           types, 12                        Resident System Extension (RSX)
        peripheral device                        Modules, 8
           I/O, 2                           residual multisector count, 63
           reassigning, 20                  retry routine, 84
        physical                            returned values, 27
           devices, 20                      RMAC, 69, 73, 99, 117
           disk unit, 144                   root module, 81, 85
           I/O, 2                           rotational latency, 63
        physical record                     RSX entry point, 8
           buffers, 107                     Rubout, 90
           mask, 41, 44
           shift factor, 41, 44








                                           169

       s                                   system
                                             bank, 6
       SCB, see System Control Block         components, 2
       SCB.ASM, 71                           generation (GENCPM), 7, 39
         file, 17, 27, 28                    initialization, 15, 18, 77
         module, 72, 129                     labels, 27
       scratchpad area, 34, 38               loader program (CPMLDR), 13
       sector                                printer, 19
         address, 37                         start-up, 3, 11
         skew factors, 37                    time and date, 15
       SECTRN, 16, 50, 62                  System Control Block (SCB)
       SELDSK, 21, 23,   50, 59, 109         definition, 17
         JMP, 16                             disk organization, 10
         routine, 74,   109                  error mode variable, 24
       SELMEM, 16, 50,   66                  external labels, 27
       separate buffer pools, 8, 23          fields, 3
       sequential                          system tracks, 10, 18, 19
         file input, 12                      initialization, 102
         read, 23                            sample CP/M 3 organization,
       serial devices, 74                      99
         baud rates, 79
       SETBNK, 16, 23, 50, 66              T
       SETDMA, 16, 20, 21, 23, 50, 60
       SETSEC, 16, 21, 23,  50, 60         target system, 12
       SETTRK, 16, 21, 23,  50, 59         TIME, 16, 17, 50, 67
       SID, 100, 103, 105                  time of day
         G command, 104                      function, 24
         I command, 104                      clocks, 78
         L command, 104                    top of memory, 5-6, 90
       sign-on message,  13, 101           tracing routines, 105
       single-density                      track address, 37
         disk handler Z80 DMA, 144         Transient Program   Area
         floppy disk drive, 11                  (TPA), 2, 32
       skew factor, 62                     transient programs, 5, 18
       skew table                          TYPE, 83
         address, 62
         SKEW macro, 48                    u
       space allocation, 6
       starting                            UNIT, 83
         disk transfer address, 76         user interface, 2
         sector, 76                        USERF, 16, 51
         track, 76
       status polling, 140                 v
       subroutines
         empty, 15                         variables
         names, 17                           global,  76
       symbols, public, 75                   public,  17 , 75 , 129
                                           vectors
                                             allocation, 38
                                             checksum, 38
                                             I/O redirection bit, 54
                                             redirection, 29







                                         170

        w

        Warm BOOT routine, 3
        Warm start, 10, 137
        WBOOT, 50, 52
          entry point, 52
          JMP, 16
          routine, 18
        WRITE, 16, 20, 21, 23, 50, 61,
            83, 84

        x

        XDPH, 72, 74, 81
          fields, 83
          format, 82
        XMOVE, 16, 24, 50, 65, 66
        XON/XOFF protocol, 32
        XREF, 117

        z

        Z80 LDIR instruction, 65








                                        171

