DataMuseum.dk

Presents historical artifacts from the history of:

CP/M

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about CP/M

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics
Index: 8 C E F I V

⟦2b6bc9529⟧ Bits:30005981/disk1.imd Turn Key Data Entry System/Datenerfassungspaket - Vers. 1.90, 8" Floppy Disk, CpmFSAuto, ImdContainer

    Length: 1182720 (0x120c00)
    Description: Bits:30005981/disk1.imd Turn Key Data Entry System/Datenerfassungspaket - Vers. 1.90
    Types: 8" Floppy Disk, CpmFSAuto, ImdContainer
    Notes: CpmFSAuto,512,2048,16,0x0,1<2<3<4,2:0-76:1

CpmFSAuto

Media:             [0, 0, 1] … [76, 1, 15] {512: 2310}
Signature:         CpmFSAuto,512,2048,16,0x0,1<2<3<4,2:0-76:1
Confidence score:  +15/-2
Sector size:       512
Block size:        2048
Directory entries: 16
Block number size: 16
Extent-mask:       0x00
Sector-interleave: 1, 5, 9, 13, 2, 6, 10, 14, 3, 7, 11, 15, 4, 8, 12
Tracks:            (2, 0), (2, 1), (3, 0), (3, 1), (4, 0), (4, 1) […] (74, 0), (74, 1), (75, 0), (75, 1), (76, 0), (76, 1)
user bc length name artifact
0 0 5504 CHAININF.COM ⟦0039458cb⟧
0 0 128 CHAININF.DEP ⟦7c6cc0015⟧
0 0 39040 ENTRY.COM ⟦cc063770c⟧
0 0 34176 ENTRYME.COM ⟦827bd7d77⟧
0 0 38016 FORMAT.COM ⟦beee28f3a⟧
0 0 37376 VERIFY.COM ⟦3a8da84fb⟧

OctetView - CpmFSAuto

0x000000…000200 (0, 0, 1)   0xe5[0x200]
          […0x1d…]
0x003c00…003c20 (1, 0, 1)   c3 5c cf c3 58 cf 7f 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 43 4f 50 59 52 49 47 48   ┆ Ø  X                   COPYRIGH┆
0x003c20…003c40             54 20 28 43 29 20 31 39 37 39 2c 20 44 49 47 49 54 41 4c 20 52 45 53 45 41 52 43 48 20 20 00 00   ┆T (C) 1979, DIGITAL RESEARCH    ┆
0x003c40…003c60             00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
          […0x1…]
0x003c80…003ca0             00 00 00 00 00 00 00 00 08 cc 00 00 5f 0e 02 c3 05 00 c5 cd 8c cc c1 c9 3e 0d cd 92 cc 3e 0a c3   ┆            _           >    >  ┆
0x003ca0…003cc0             92 cc 3e 20 c3 92 cc c5 cd 98 cc e1 7e b7 c8 23 e5 cd 8c cc e1 c3 ac cc 0e 0d c3 05 00 5f 0e 0e   ┆  >         ü  #             _  ┆
0x003cc0…003ce0             c3 05 00 cd 05 00 32 ee d3 3c c9 0e 0f c3 c3 cc af 32 ed d3 11 cd d3 c3 cb cc 0e 10 c3 c3 cc 0e   ┆      2  <       2              ┆
0x003ce0…003d00             11 c3 c3 cc 0e 12 c3 c3 cc 11 cd d3 c3 df cc 0e 13 c3 05 00 cd 05 00 b7 c9 0e 14 c3 f4 cc 11 cd   ┆                                ┆
0x003d00…003d20             d3 c3 f9 cc 0e 15 c3 f4 cc 0e 16 c3 c3 cc 0e 17 c3 05 00 1e ff 0e 20 c3 05 00 cd 13 cd 87 87 87   ┆                                ┆
0x003d20…003d40             87 21 ef d3 b6 32 04 00 c9 3a ef d3 32 04 00 c9 fe 61 d8 fe 7b d0 e6 5f c9 3a ab d3 b7 ca 96 cd   ┆ !   2   :  2    a  æ  _ :      ┆
0x003d40…003d60             3a ef d3 b7 3e 00 c4 bd cc 11 ac d3 cd cb cc ca 96 cd 3a bb d3 3d 32 cc d3 11 ac d3 cd f9 cc c2   ┆:   >             :  =2         ┆
0x003d60…003d80             96 cd 11 07 cc 21 80 00 06 80 cd 42 d0 21 ba d3 36 00 23 35 11 ac d3 cd da cc ca 96 cd 3a ef d3   ┆     !     B !  6 #5         :  ┆
0x003d80…003da0             b7 c4 bd cc 21 08 cc cd ac cc cd c2 cd ca a7 cd cd dd cd c3 82 cf cd dd cd cd 1a cd 0e 0a 11 06   ┆    !                           ┆
0x003da0…003dc0             cc cd 05 00 cd 29 cd 21 07 cc 46 23 78 b7 ca ba cd 7e cd 30 cd 77 05 c3 ab cd 77 21 08 cc 22 88   ┆     ) !  F#x    ü 0 w    w!  " ┆
0x003dc0…003de0             cc c9 0e 0b cd 05 00 b7 c8 0e 01 cd 05 00 b7 c9 0e 19 c3 05 00 11 80 00 0e 1a c3 05 00 21 ab d3   ┆                             !  ┆
0x003de0…003e00             7e b7 c8 36 00 af cd bd cc 11 ac d3 cd ef cc 3a ef d3 c3 bd cc 11 28 cf 21 00 d4 06 06 1a be c2   ┆ü  6           :      ( !       ┆
0x003e00…003e20 (1, 0, 2)   d5 16 08 00 00 0f c3 11 d4 99 d4 a5 d4 ab d4 b1 d4 eb 22 43 d7 eb 7b 32 d6 e1 21 00 00 22 45 d7   ┆                  "C  æ2  !  "E ┆
0x003e20…003e40             39 22 0f d7 31 41 d7 af 32 e0 e1 32 de e1 21 74 e1 e5 79 fe 29 d0 4b 21 47 d4 5f 16 00 19 19 5e   ┆9"  1A  2  2  !t  y ) K!G _    ^┆
0x003e40…003e60             23 56 2a 43 d7 eb e9 03 e2 c8 d6 90 d5 ce d6 12 e2 0f e2 d4 d6 ed d6 f3 d6 f8 d6 e1 d5 fe d6 7e   ┆#V*C                           ü┆
0x003e60…003e80             e0 83 e0 45 e0 9c e0 a5 e0 ab e0 c8 e0 d7 e0 e0 e0 e6 e0 ec e0 f5 e0 fe e0 04 e1 0a e1 11 e1 2c   ┆   E                           ,┆
0x003e80…003ea0             d9 17 e1 1d e1 26 e1 2d e1 41 e1 47 e1 4d e1 0e e0 53 e1 04 d7 04 d7 9b e1 21 ca d4 cd e5 d4 fe   ┆     & - A G M   S       !      ┆
0x003ea0…003ec0             03 ca 00 00 c9 21 d5 d4 c3 b4 d4 21 e1 d4 c3 b4 d4 21 dc d4 cd e5 d4 c3 00 00 42 64 6f 73 20 45   ┆     !     !     !        Bdos E┆
0x003ec0…003ee0             72 72 20 4f 6e 20 20 3a 20 24 42 61 64 20 53 65 63 74 6f 72 24 53 65 6c 65 63 74 24 46 69 6c 65   ┆rr On  : $Bad Sector$Select$File┆
0x003ee0…003f00             20 52 2f 4f 24 e5 cd c9 d5 3a 42 d7 c6 41 32 c6 d4 01 ba d4 cd d3 d5 c1 cd d3 d5 21 0e d7 7e 36   ┆ R/O$    :B  A2            !  ü6┆
0x003f00…003f20             00 b7 c0 c3 09 e2 cd fb d4 cd 14 d5 d8 f5 4f cd 90 d5 f1 c9 fe 0d c8 fe 0a c8 fe 09 c8 fe 08 c8   ┆              O                 ┆
0x003f20…003f40             fe 20 c9 3a 0e d7 b7 c2 45 d5 cd 06 e2 e6 01 c8 cd 09 e2 fe 13 c2 42 d5 cd 09 e2 fe 03 ca 00 00   ┆   :    E             B         ┆
0x003f40…003f60             af c9 32 0e d7 3e 01 c9 3a 0a d7 b7 c2 62 d5 c5 cd 23 d5 c1 c5 cd 0c e2 c1 c5 3a 0d d7 b7 c4 0f   ┆  2  >  :    b   #        :     ┆
0x003f60…003f80             e2 c1 79 21 0c d7 fe 7f c8 34 fe 20 d0 35 7e b7 c8 79 fe 08 c2 79 d5 35 c9 fe 0a c0 36 00 c9 79   ┆  y!     4   5ü  y   y 5    6  y┆
0x003f80…003fa0             cd 14 d5 d2 90 d5 f5 0e 5e cd 48 d5 f1 f6 40 4f 79 fe 09 c2 48 d5 0e 20 cd 48 d5 3a 0c d7 e6 07   ┆        ^ H   @Oy   H    H :    ┆
0x003fa0…003fc0             c2 96 d5 c9 cd ac d5 0e 20 cd 0c e2 0e 08 c3 0c e2 0e 23 cd 48 d5 cd c9 d5 3a 0c d7 21 0b d7 be   ┆                  # H    :  !   ┆
0x003fc0…003fe0             d0 0e 20 cd 48 d5 c3 b9 d5 0e 0d cd 48 d5 0e 0a c3 48 d5 0a fe 24 c8 03 c5 4f cd 90 d5 c1 c3 d3   ┆    H       H    H   $   O      ┆
0x003fe0…004000             d5 3a 0c d7 32 0b d7 2a 43 d7 4e 23 e5 06 00 c5 e5 cd fb d4 e6 7f e1 c1 fe 0d ca c1 d6 fe 0a ca   ┆ :  2  *C N#                    ┆
0x004000…004020 (1, 0, 3)   20 d5 06 00 2a 43 d7 09 eb cd 5e d9 c1 cd 4f d7 cd c3 d7 c3 c6 d9 cd 54 d9 0e 0c cd 18 db 2a 43   ┆    *C    ^   O        T      *C┆
0x004020…004040             d7 7e 11 10 00 19 77 cd f5 d9 c8 cd 44 d9 0e 10 1e 0c cd 01 dc cd 2d db c3 27 dc 0e 0c cd 18 db   ┆ ü    w     D         -  '      ┆
0x004040…004060             cd f5 d9 c8 0e 00 1e 0c cd 01 dc cd 2d db c3 40 dc 0e 0f cd 18 db cd f5 d9 c8 cd a6 d8 7e f5 e5   ┆            -  @             ü  ┆
0x004060…004080             cd 5e d9 eb 2a 43 d7 0e 20 d5 cd 4f d7 cd 78 d9 d1 21 0c 00 19 4e 21 0f 00 19 46 e1 f1 77 79 be   ┆ ^  *C     O  x  !   N!   F  wy ┆
0x004080…0040a0             78 ca 8b dc 3e 00 da 8b dc 3e 80 2a 43 d7 11 0f 00 19 77 c9 7e 23 b6 2b c0 1a 77 13 23 1a 77 1b   ┆x   >    > *C     w ü# +  w # w ┆
0x0040a0…0040c0             2b c9 af 32 45 d7 32 ea e1 32 eb e1 cd 1e d9 c0 cd 69 d9 e6 80 c0 0e 0f cd 18 db cd f5 d9 c8 01   ┆+  2E 2  2       i              ┆
0x0040c0…0040e0             10 00 cd 5e d9 09 eb 2a 43 d7 09 0e 10 3a dd e1 b7 ca e8 dc 7e b7 1a c2 db dc 77 b7 c2 e1 dc 7e   ┆   ^   *C    :      ü     w    ü┆
0x0040e0…004100             12 be c2 1f dd c3 fd dc cd 94 dc eb cd 94 dc eb 1a be c2 1f dd 13 23 1a be c2 1f dd 0d 13 23 0d   ┆                      #       # ┆
0x004100…004120             c2 cd dc 01 ec ff 09 eb 09 1a be da 17 dd 77 01 03 00 09 eb 09 7e 12 3e ff 32 d2 e1 c3 10 dc 21   ┆              w      ü > 2     !┆
0x004120…004140             45 d7 35 c9 cd 54 d9 2a 43 d7 e5 21 ac e1 22 43 d7 0e 01 cd 18 db cd f5 d9 e1 22 43 d7 c8 eb 21   ┆E 5  T *C  !  "C          "C   !┆
0x004140…004160             0f 00 19 0e 11 af 77 23 0d c2 46 dd 21 0d 00 19 77 cd 8c d9 cd fd db c3 78 d9 af 32 d2 e1 cd a2   ┆      w#  F !   w       x  2    ┆
0x004160…004180             dc cd f5 d9 c8 2a 43 d7 01 0c 00 09 7e 3c e6 1f 77 ca 83 dd 47 3a c5 e1 a0 21 d2 e1 a6 ca 8e dd   ┆     *C     ü<  w   G:   !      ┆
0x004180…0041a0             c3 ac dd 01 02 00 09 34 7e e6 0f ca b6 dd 0e 0f cd 18 db cd f5 d9 c2 ac dd 3a d3 e1 3c ca b6 dd   ┆       4ü                :  <   ┆
0x0041a0…0041c0             cd 24 dd cd f5 d9 ca b6 dd c3 af dd cd 5a dc cd bb d8 af c3 01 d7 cd 05 d7 c3 78 d9 3e 01 32 d5   ┆ $           Z            x > 2 ┆
0x0041c0…0041e0             e1 3e ff 32 d3 e1 cd bb d8 3a e3 e1 21 e1 e1 be da e6 dd fe 80 c2 fb dd cd 5a dd af 32 e3 e1 3a   ┆ > 2     :  !            Z  2  :┆
0x0041e0…004200             45 d7 b7 c2 fb dd cd 77 d8 cd 84 d8 ca fb dd cd 8a d8 cd d1 d7 cd b2 d7 c3 d2 d8 c3 05 d7 3e 01   ┆E      w                      > ┆
0x004200…004400 (1, 0, 4)   0xe5[0x200]
0x004400…004420 (1, 0, 5)   cf cf 13 23 05 c2 fd cd c9 cd 98 cc 2a 8a cc 7e fe 20 ca 22 ce b7 ca 22 ce e5 cd 8c cc e1 23 c3   ┆   #        *  ü   "   "      # ┆
0x004420…004440             0f ce 3e 3f cd 8c cc cd 98 cc cd dd cd c3 82 cf 1a b7 c8 fe 20 da 09 ce c8 fe 3d c8 fe 5f c8 fe   ┆  >?                      =  _  ┆
0x004440…004460             2e c8 fe 3a c8 fe 3b c8 fe 3c c8 fe 3e c8 c9 1a b7 c8 fe 20 c0 13 c3 4f ce 85 6f d0 24 c9 3e 00   ┆.  :  ;  <  >          O  o $ > ┆
0x004460…004480             21 cd d3 cd 59 ce e5 e5 af 32 f0 d3 2a 88 cc eb cd 4f ce eb 22 8a cc eb e1 1a b7 ca 89 ce de 40   ┆!   Y    2  *    O  "          @┆
0x004480…0044a0             47 13 1a fe 3a ca 90 ce 1b 3a ef d3 77 c3 96 ce 78 32 f0 d3 70 13 06 08 cd 30 ce ca b9 ce 23 fe   ┆G   :    :  w   x2  p    0    # ┆
0x0044a0…0044c0             2a c2 a9 ce 36 3f c3 ab ce 77 13 05 c2 98 ce cd 30 ce ca c0 ce 13 c3 af ce 23 36 20 05 c2 b9 ce   ┆*   6?   w      0        #6     ┆
0x0044c0…0044e0             06 03 fe 2e c2 e9 ce 13 cd 30 ce ca e9 ce 23 fe 2a c2 d9 ce 36 3f c3 db ce 77 13 05 c2 c8 ce cd   ┆   .     0    # *   6?   w      ┆
0x0044e0…004500             30 ce ca f0 ce 13 c3 df ce 23 36 20 05 c2 e9 ce 06 03 23 36 00 05 c2 f2 ce eb 22 88 cc e1 01 0b   ┆0        #6       #6      "     ┆
0x004500…004520             00 23 7e fe 3f c2 09 cf 04 0d c2 01 cf 78 b7 c9 44 49 52 20 45 52 41 20 54 59 50 45 53 41 56 45   ┆ #ü ?        x  DIR ERA TYPESAVE┆
0x004520…004540             52 45 4e 20 55 53 45 52 d5 16 08 00 00 0f 21 10 cf 0e 00 79 fe 06 d0 11 ce d3 06 04 1a be c2 4f   ┆REN USER      !    y           O┆
0x004540…004560             cf 13 23 05 c2 3c cf 1a fe 20 c2 54 cf 79 c9 23 05 c2 4f cf 0c c3 33 cf af 32 07 cc 31 ab d3 c5   ┆  #  <     T y #  O   3  2  1   ┆
0x004560…004580             79 1f 1f 1f 1f e6 0f 5f cd 15 cd cd b8 cc 32 ab d3 c1 79 e6 0f 32 ef d3 cd bd cc 3a 07 cc b7 c2   ┆y      _      2   y  2     :    ┆
0x004580…0045a0             98 cf 31 ab d3 cd 98 cc cd d0 cd c6 41 cd 8c cc 3e 3e cd 8c cc cd 39 cd 11 80 00 cd d8 cd cd d0   ┆  1         A   >>    9         ┆
0x0045a0…0045c0             cd 32 ef d3 cd 5e ce c4 09 ce 3a f0 d3 b7 c2 a5 d2 cd 2e cf 21 c1 cf 5f 16 00 19 19 7e 23 66 6f   ┆ 2   ^    :       . !  _    ü#fo┆
0x0045c0…0045e0             e9 77 d0 1f d1 5d d1 ad d1 10 d2 8e d2 a5 d2 21 f3 76 22 00 cc 21 00 cc e9 01 df cf c3 a7 cc 52   ┆ w   Å         ! v"  !         R┆
0x0045e0…004600             45 41 44 20 45 52 52 4f 52 00 01 f0 cf c3 a7 cc 4e 4f 20 46 49 4c 45 00 cd 5e ce 3a f0 d3 b7 c2   ┆EAD ERROR       NO FILE  ^ :    ┆
0x004600…004620 (1, 0, 6)   c1 d6 fe 08 c2 16 d6 78 b7 ca ef d5 05 3a 0c d7 32 0a d7 c3 70 d6 fe 7f c2 26 d6 78 b7 ca ef d5   ┆       x     :  2   p    & x    ┆
0x004620…004640             7e 05 2b c3 a9 d6 fe 05 c2 37 d6 c5 e5 cd c9 d5 af 32 0b d7 c3 f1 d5 fe 10 c2 48 d6 e5 21 0d d7   ┆ü +      7       2        H  !  ┆
0x004640…004660             3e 01 96 77 e1 c3 ef d5 fe 18 c2 5f d6 e1 3a 0b d7 21 0c d7 be d2 e1 d5 35 cd a4 d5 c3 4e d6 fe   ┆>  w       _  :  !      5    N  ┆
0x004660…004680             15 c2 6b d6 cd b1 d5 e1 c3 e1 d5 fe 12 c2 a6 d6 c5 cd b1 d5 c1 e1 e5 c5 78 b7 ca 8a d6 23 4e 05   ┆  k                     x    #N ┆
0x004680…0046a0             c5 e5 cd 7f d5 e1 c1 c3 78 d6 e5 3a 0a d7 b7 ca f1 d5 21 0c d7 96 32 0a d7 cd a4 d5 21 0a d7 35   ┆        x  :      !   2     !  5┆
0x0046a0…0046c0             c2 99 d6 c3 f1 d5 23 77 04 c5 e5 4f cd 7f d5 e1 c1 7e fe 03 78 c2 bd d6 fe 01 ca 00 00 b9 da ef   ┆      #w   O     ü  x           ┆
0x0046c0…0046e0             d5 e1 70 0e 0d c3 48 d5 cd 06 d5 c3 01 d7 cd 15 e2 c3 01 d7 79 3c ca e0 d6 3c ca 06 e2 c3 0c e2   ┆  p   H             y<   <      ┆
0x0046e0…004700             cd 06 e2 b7 ca 91 e1 cd 09 e2 c3 01 d7 3a 03 00 c3 01 d7 21 03 00 71 c9 eb 4d 44 c3 d3 d5 cd 23   ┆             :     !  q  MD    #┆
0x004700…004720             d5 32 45 d7 c9 3e 01 c3 01 d7 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆ 2E  >                          ┆
0x004720…004740             00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
0x004740…004760             00 00 00 00 00 00 00 21 0b d4 5e 23 56 eb e9 0c 0d c8 1a 77 13 23 c3 50 d7 3a 42 d7 4f cd 1b e2   ┆       !  ^#V      w # P :B O   ┆
0x004760…004780             7c b5 c8 5e 23 56 23 22 b3 e1 23 23 22 b5 e1 23 23 22 b7 e1 23 23 eb 22 d0 e1 21 b9 e1 0e 08 cd   ┆ø  ^#V#"  ##"  ##"  ## "  !     ┆
0x004780…0047a0             4f d7 2a bb e1 eb 21 c1 e1 0e 0f cd 4f d7 2a c6 e1 7c 21 dd e1 36 ff b7 ca 9d d7 36 00 3e ff b7   ┆O *   !     O *  ø!  6     6 >  ┆
0x0047a0…0047c0             c9 cd 18 e2 af 2a b5 e1 77 23 77 2a b7 e1 77 23 77 c9 cd 27 e2 c3 bb d7 cd 2a e2 b7 c8 21 09 d4   ┆     *  w#w*  w#w  '     *   !  ┆
0x0047c0…0047e0             c3 4a d7 2a ea e1 0e 02 cd ea d8 22 e5 e1 22 ec e1 21 e5 e1 4e 23 46 2a b7 e1 5e 23 56 2a b5 e1   ┆ J *       "  "  !  N#F*  ^#V*  ┆
0x0047e0…004800             7e 23 66 6f 79 93 78 9a d2 fa d7 e5 2a c1 e1 7b 95 5f 7a 9c 57 e1 2b c3 e4 d7 e5 2a c1 e1 19 da   ┆ü#foy x     *  æ _z W +    *    ┆
0x004800…004820 (1, 0, 7)   32 d5 e1 3e 00 32 d3 e1 cd 54 d9 2a 43 d7 cd 47 d9 cd bb d8 3a e3 e1 fe 80 d2 05 d7 cd 77 d8 cd   ┆2  > 2   T *C  G    :        w  ┆
0x004820…004840             84 d8 0e 00 c2 6e de cd 3e d8 32 d7 e1 01 00 00 b7 ca 3b de 4f 0b cd 5e d8 44 4d cd be db 7d b4   ┆     n  > 2       ; O  ^ DM   å ┆
0x004840…004860             c2 48 de 3e 02 c3 01 d7 22 e5 e1 eb 2a 43 d7 01 10 00 09 3a dd e1 b7 3a d7 e1 ca 64 de cd 64 d9   ┆ H >    "   *C     :   :   d  d ┆
0x004860…004880             73 c3 6c de 4f 06 00 09 09 73 23 72 0e 02 3a 45 d7 b7 c0 c5 cd 8a d8 3a d5 e1 3d 3d c2 bb de c1   ┆s l O    s#r  :E       :  ==    ┆
0x004880…0048a0             c5 79 3d 3d c2 bb de e5 2a b9 e1 57 77 23 14 f2 8c de cd e0 d9 2a e7 e1 0e 02 22 e5 e1 c5 cd d1   ┆ y==    *  Ww#       *    "     ┆
0x0048a0…0048c0             d7 c1 cd b8 d7 2a e5 e1 0e 00 3a c4 e1 47 a5 b8 23 c2 9a de e1 22 e5 e1 cd da d9 cd d1 d7 c1 c5   ┆     *    :  G  #    "          ┆
0x0048c0…0048e0             cd b8 d7 c1 3a e3 e1 21 e1 e1 be da d2 de 77 34 0e 02 0d 0d c2 df de f5 cd 69 d9 e6 7f 77 f1 fe   ┆    :  !      w4         i   w  ┆
0x0048e0…004900             7f c2 00 df 3a d5 e1 fe 01 c2 00 df cd d2 d8 cd 5a dd 21 45 d7 7e b7 c2 fe de 3d 32 e3 e1 36 00   ┆    :           Z !E ü    =2  6 ┆
0x004900…004920             c3 d2 d8 af 32 d5 e1 c5 2a 43 d7 eb 21 21 00 19 7e e6 7f f5 7e 17 23 7e 17 e6 1f 4f 7e 1f 1f 1f   ┆    2   *C  !!  ü   ü #ü   Oü   ┆
0x004920…004940             1f e6 0f 47 f1 23 6e 2c 2d 2e 06 c2 8b df 21 20 00 19 77 21 0c 00 19 79 96 c2 47 df 21 0e 00 19   ┆   G #n,-.    !   w!   y  G !   ┆
0x004940…004960             78 96 e6 7f ca 7f df c5 d5 cd a2 dc d1 c1 2e 03 3a 45 d7 3c ca 84 df 21 0c 00 19 71 21 0e 00 19   ┆x             . :E <   !   q!   ┆
0x004960…004980             70 cd 51 dc 3a 45 d7 3c c2 7f df c1 c5 2e 04 0c ca 84 df cd 24 dd 2e 05 3a 45 d7 3c ca 84 df c1   ┆p Q :E <     .      $ . :E <    ┆
0x004980…0049a0             af c3 01 d7 e5 cd 69 d9 36 c0 e1 c1 7d 32 45 d7 c3 78 d9 0e ff cd 03 df cc c1 dd c9 0e 00 cd 03   ┆      i 6   å2E  x              ┆
0x0049a0…0049c0             df cc 03 de c9 eb 19 4e 06 00 21 0c 00 19 7e 0f e6 80 81 4f 3e 00 88 47 7e 0f e6 0f 80 47 21 0e   ┆       N  !   ü    O>  Gü    G! ┆
0x0049c0…0049e0             00 19 7e 87 87 87 87 f5 80 47 f5 e1 7d e1 b5 e6 01 c9 0e 0c cd 18 db 2a 43 d7 11 21 00 19 e5 72   ┆  ü      G  å          *C  !   r┆
0x0049e0…004a00             23 72 23 72 cd f5 d9 ca 0c e0 cd 5e d9 11 0f 00 cd a5 df e1 e5 5f 79 96 23 78 9e 23 7b 9e da 06   ┆#r#r       ^         _y #x #æ   ┆
0x004a00…004c00 (1, 0, 8)   0xe5[0x200]
0x004c00…004c20 (1, 0, 9)   09 ce 21 ce d3 01 0b 00 7e fe 20 ca 33 d0 23 d6 30 fe 0a d2 09 ce 57 78 e6 e0 c2 09 ce 78 07 07   ┆  !     ü   3 # 0     Wx     x  ┆
0x004c20…004c40             07 80 da 09 ce 80 da 09 ce 82 da 09 ce 47 0d c2 08 d0 c9 7e fe 20 c2 09 ce 23 0d c2 33 d0 78 c9   ┆             G     ü     #  3 x ┆
0x004c40…004c60             06 03 7e 12 23 13 05 c2 42 d0 c9 21 80 00 81 cd 59 ce 7e c9 af 32 cd d3 3a f0 d3 b7 c8 3d 21 ef   ┆  ü #   B  !    Y ü  2  :    =! ┆
0x004c60…004c80             d3 be c8 c3 bd cc 3a f0 d3 b7 c8 3d 21 ef d3 be c8 3a ef d3 c3 bd cc cd 5e ce cd 54 d0 21 ce d3   ┆      :    =!    :      ^  T !  ┆
0x004c80…004ca0             7e fe 20 c2 8f d0 06 0b 36 3f 23 05 c2 88 d0 1e 00 d5 cd e9 cc cc ea cf ca 1b d1 3a ee d3 0f 0f   ┆ü       6?#                :    ┆
0x004ca0…004cc0             0f e6 60 4f 3e 0a cd 4b d0 17 da 0f d1 d1 7b 1c d5 e6 03 f5 c2 cc d0 cd 98 cc c5 cd d0 cd c1 c6   ┆  `O>  K      æ                 ┆
0x004cc0…004ce0             41 cd 92 cc 3e 3a cd 92 cc c3 d4 d0 cd a2 cc 3e 3a cd 92 cc cd a2 cc 06 01 78 cd 4b d0 e6 7f fe   ┆A   >:         >:        x K    ┆
0x004ce0…004d00             20 c2 f9 d0 f1 f5 fe 03 c2 f7 d0 3e 09 cd 4b d0 e6 7f fe 20 ca 0e d1 3e 20 cd 92 cc 04 78 fe 0c   ┆           >  K        >     x  ┆
0x004d00…004d20             d2 0e d1 fe 09 c2 d9 d0 cd a2 cc c3 d9 d0 f1 cd c2 cd c2 1b d1 cd e4 cc c3 98 d0 d1 c3 86 d3 cd   ┆                                ┆
0x004d20…004d40             5e ce fe 0b c2 42 d1 01 52 d1 cd a7 cc cd 39 cd 21 07 cc 35 c2 82 cf 23 7e fe 59 c2 82 cf 23 22   ┆^    B  R     9 !  5   #ü Y   #"┆
0x004d40…004d60             88 cc cd 54 d0 11 cd d3 cd ef cc 3c cc ea cf c3 86 d3 41 4c 4c 20 28 59 2f 4e 29 3f 00 cd 5e ce   ┆   T       <      ALL (Y/N)?  ^ ┆
0x004d60…004d80             c2 09 ce cd 54 d0 cd d0 cc ca a7 d1 cd 98 cc 21 f1 d3 36 ff 21 f1 d3 7e fe 80 da 87 d1 e5 cd fe   ┆    T          !  6 !  ü        ┆
0x004d80…004da0             cc e1 c2 a0 d1 af 77 34 21 80 00 cd 59 ce 7e fe 1a ca 86 d3 cd 8c cc cd c2 cd c2 86 d3 c3 74 d1   ┆      w4!   Y ü               t ┆
0x004da0…004dc0             3d ca 86 d3 cd d9 cf cd 66 d0 c3 09 ce cd f8 cf f5 cd 5e ce c2 09 ce cd 54 d0 11 cd d3 d5 cd ef   ┆=       f         ^     T       ┆
0x004dc0…004de0             cc d1 cd 09 cd ca fb d1 af 32 ed d3 f1 6f 26 00 29 11 00 01 7c b5 ca f1 d1 2b e5 21 80 00 19 e5   ┆         2   o& )   ø    + !    ┆
0x004de0…004e00             cd d8 cd 11 cd d3 cd 04 cd d1 e1 c2 fb d1 c3 d4 d1 11 cd d3 cd da cc 3c c2 01 d2 01 07 d2 cd a7   ┆                       <        ┆
0x004e00…004e20 (1, 0, 10)  0f d8 79 95 78 9c da 0f d8 eb e1 23 c3 fa d7 e1 c5 d5 e5 eb 2a ce e1 19 44 4d cd 1e e2 d1 2a b5   ┆  y x      #        *   DM    * ┆
0x004e20…004e40             e1 73 23 72 d1 2a b7 e1 73 23 72 c1 79 93 4f 78 9a 47 2a d0 e1 eb cd 30 e2 4d 44 c3 21 e2 21 c3   ┆ s#r *  s#r y Ox G*    0 MD ! ! ┆
0x004e40…004e60             e1 4e 3a e3 e1 b7 1f 0d c2 45 d8 47 3e 08 96 4f 3a e2 e1 0d ca 5c d8 b7 17 c3 53 d8 80 c9 2a 43   ┆ N:      E G>  O:    Ø    S   *C┆
0x004e60…004e80             d7 11 10 00 19 09 3a dd e1 b7 ca 71 d8 6e 26 00 c9 09 5e 23 56 eb c9 cd 3e d8 4f 06 00 cd 5e d8   ┆      :    q n&   ^#V   > O   ^ ┆
0x004e80…004ea0             22 e5 e1 c9 2a e5 e1 7d b4 c9 3a c3 e1 2a e5 e1 29 3d c2 90 d8 22 e7 e1 3a c4 e1 4f 3a e3 e1 a1   ┆"   *  å  :  *  )=   "  :  O:   ┆
0x004ea0…004ec0             b5 6f 22 e5 e1 c9 2a 43 d7 11 0c 00 19 c9 2a 43 d7 11 0f 00 19 eb 21 11 00 19 c9 cd ae d8 7e 32   ┆ o"   *C      *C      !       ü2┆
0x004ec0…004ee0             e3 e1 eb 7e 32 e1 e1 cd a6 d8 3a c5 e1 a6 32 e2 e1 c9 cd ae d8 3a d5 e1 fe 02 c2 de d8 af 4f 3a   ┆   ü2     :   2      :        O:┆
0x004ee0…004f00             e3 e1 81 77 eb 3a e1 e1 77 c9 0c 0d c8 7c b7 1f 67 7d 1f 6f c3 eb d8 0e 80 2a b9 e1 af 86 23 0d   ┆   w :  w    ø  gå o     *    # ┆
0x004f00…004f20             c2 fd d8 c9 0c 0d c8 29 c3 05 d9 c5 3a 42 d7 4f 21 01 00 cd 04 d9 c1 79 b5 6f 78 b4 67 c9 2a ad   ┆       )    :B O!      y ox g * ┆
0x004f20…004f40             e1 3a 42 d7 4f cd ea d8 7d e6 01 c9 21 ad e1 4e 23 46 cd 0b d9 22 ad e1 2a c8 e1 23 eb 2a b3 e1   ┆ :B O   å   !  N#F   "  *  # *  ┆
0x004f40…004f60             73 23 72 c9 cd 5e d9 11 09 00 19 7e 17 d0 21 0f d4 c3 4a d7 cd 1e d9 c8 21 0d d4 c3 4a d7 2a b9   ┆s#r  ^     ü  !   J     !   J * ┆
0x004f60…004f80             e1 3a e9 e1 85 6f d0 24 c9 2a 43 d7 11 0e 00 19 7e c9 cd 69 d9 36 00 c9 cd 69 d9 f6 80 77 c9 2a   ┆ :   o $ *C     ü  i 6   i   w *┆
0x004f80…004fa0             ea e1 eb 2a b3 e1 7b 96 23 7a 9e c9 cd 7f d9 d8 13 72 2b 73 c9 7b 95 6f 7a 9c 67 c9 0e ff 2a ec   ┆   *  æ #z       r+s æ oz g   * ┆
0x004fa0…004fc0             e1 eb 2a cc e1 cd 95 d9 d0 c5 cd f7 d8 2a bd e1 eb 2a ec e1 19 c1 0c ca c4 d9 be c8 cd 7f d9 d0   ┆  *          *   *              ┆
0x004fc0…004fe0             cd 2c d9 c9 77 c9 cd 9c d9 cd e0 d9 0e 01 cd b8 d7 c3 da d9 cd e0 d9 cd b2 d7 21 b1 e1 c3 e3 d9   ┆ ,  w                     !     ┆
0x004fe0…005000             21 b9 e1 4e 23 46 c3 24 e2 2a b9 e1 eb 2a b1 e1 0e 80 c3 4f d7 21 ea e1 7e 23 be c0 3c c9 21 ff   ┆!  N#F $ *   *     O !  ü#  < ! ┆
0x005000…005020 (1, 0, 11)  e0 73 2b 70 2b 71 cd 2d db c3 e4 df e1 c9 2a 43 d7 11 20 00 cd a5 df 21 21 00 19 71 23 70 23 77   ┆ s+p+q -      *C       !!  q#p#w┆
0x005020…005040             c9 2a af e1 3a 42 d7 4f cd ea d8 e5 eb cd 59 d7 e1 cc 47 d7 7d 1f d8 2a af e1 4d 44 cd 0b d9 22   ┆ *  :B O      Y   G å  *  MD   "┆
0x005040…005060             af e1 c3 a3 da 3a d6 e1 21 42 d7 be c8 77 c3 21 e0 3e ff 32 de e1 2a 43 d7 7e e6 1f 3d 32 d6 e1   ┆     :  !B   w ! > 2  *C ü  =2  ┆
0x005060…005080             fe 1e d2 75 e0 3a 42 d7 32 df e1 7e 32 e0 e1 e6 e0 77 cd 45 e0 3a 41 d7 2a 43 d7 b6 77 c9 3e 22   ┆   u :B 2  ü2    w E :A *C  w >"┆
0x005080…0050a0             c3 01 d7 21 00 00 22 ad e1 22 af e1 af 32 42 d7 21 80 00 22 b1 e1 cd da d9 c3 21 e0 cd 72 d9 cd   ┆   !  "  "   2B !  "      !  r  ┆
0x0050a0…0050c0             51 e0 c3 51 dc cd 51 e0 c3 a2 dc 0e 00 eb 7e fe 3f ca c2 e0 cd a6 d8 7e fe 3f c4 72 d9 cd 51 e0   ┆Q  Q  Q       ü ?      ü ? r  Q ┆
0x0050c0…0050e0             0e 0f cd 18 db c3 e9 d9 2a d9 e1 22 43 d7 cd 51 e0 cd 2d db c3 e9 d9 cd 51 e0 cd 9c db c3 01 db   ┆        *  "C  Q  -     Q       ┆
0x0050e0…005100             cd 51 e0 c3 bc dd cd 51 e0 c3 fe dd cd 72 d9 cd 51 e0 c3 24 dd cd 51 e0 cd 16 dc c3 01 db 2a af   ┆ Q     Q     r  Q  $  Q       * ┆
0x005100…005120             e1 c3 29 e1 3a 42 d7 c3 01 d7 eb 22 b1 e1 c3 da d9 2a bf e1 c3 29 e1 2a ad e1 c3 29 e1 cd 51 e0   ┆  ) :B     "     *   ) *   )  Q ┆
0x005120…005140             cd 3b dc c3 01 db 2a bb e1 22 45 d7 c9 3a d6 e1 fe ff c2 3b e1 3a 41 d7 c3 01 d7 e6 1f 32 41 d7   ┆ ;    *  "E  :     ; :A      2A ┆
0x005140…005160             c9 cd 51 e0 c3 93 df cd 51 e0 c3 9c df cd 51 e0 c3 d2 df 2a 43 d7 7d 2f 5f 7c 2f 2a af e1 a4 57   ┆  Q     Q     Q    *C å/_ø/*   W┆
0x005160…005180             7d a3 5f 2a ad e1 eb 22 af e1 7d a3 6f 7c a2 67 22 ad e1 c9 3a de e1 b7 ca 91 e1 2a 43 d7 36 00   ┆å _*   "  å oø g"   :      *C 6 ┆
0x005180…0051a0             3a e0 e1 b7 ca 91 e1 77 3a df e1 32 d6 e1 cd 45 e0 2a 0f d7 f9 2a 45 d7 7d 44 c9 cd 51 e0 3e 02   ┆:      w:  2   E *   *E åD  Q > ┆
0x0051a0…0051c0             32 d5 e1 0e 00 cd 07 df cc 03 de c9 e5 00 00 00 00 80 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆2                               ┆
0x0051c0…0051e0             00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
          […0x1…]
0x005200…005400 (1, 0, 12)  0xe5[0x200]
0x005400…005420 (1, 0, 13)  cc cd d5 cd c3 86 d3 4e 4f 20 53 50 41 43 45 00 cd 5e ce c2 09 ce 3a f0 d3 f5 cd 54 d0 cd e9 cc   ┆       NO SPACE  ^    :    T    ┆
0x005420…005440             c2 79 d2 21 cd d3 11 dd d3 06 10 cd 42 d0 2a 88 cc eb cd 4f ce fe 3d ca 3f d2 fe 5f c2 73 d2 eb   ┆ y !        B *    O  = ?  _ s  ┆
0x005440…005460             23 22 88 cc cd 5e ce c2 73 d2 f1 47 21 f0 d3 7e b7 ca 59 d2 b8 70 c2 73 d2 70 af 32 cd d3 cd e9   ┆#"   ^  s  G!  ü  Y  p s p 2    ┆
0x005460…005480             cc ca 6d d2 11 cd d3 cd 0e cd c3 86 d3 cd ea cf c3 86 d3 cd 66 d0 c3 09 ce 01 82 d2 cd a7 cc c3   ┆  m                 f           ┆
0x005480…0054a0             86 d3 46 49 4c 45 20 45 58 49 53 54 53 00 cd f8 cf fe 10 d2 09 ce 5f 3a ce d3 fe 20 ca 09 ce cd   ┆  FILE EXISTS         _:        ┆
0x0054a0…0054c0             15 cd c3 89 d3 cd f5 cd 3a ce d3 fe 20 c2 c4 d2 3a f0 d3 b7 ca 89 d3 3d 32 ef d3 cd 29 cd cd bd   ┆        :       :      =2   )   ┆
0x0054c0…0054e0             cc c3 89 d3 11 d6 d3 1a fe 20 c2 09 ce d5 cd 54 d0 d1 21 83 d3 cd 40 d0 cd d0 cc ca 6b d3 21 00   ┆               T  !   @     k ! ┆
0x0054e0…005500             01 e5 eb cd d8 cd 11 cd d3 cd f9 cc c2 01 d3 e1 11 80 00 19 11 00 cc 7d 93 7c 9a d2 71 d3 c3 e1   ┆                       å ø  q   ┆
0x005500…005520             d2 e1 3d c2 71 d3 cd 66 d0 cd 5e ce 21 f0 d3 e5 7e 32 cd d3 3e 10 cd 60 ce e1 7e 32 dd d3 af 32   ┆  = q  f  ^ !   ü2  >  `  ü2   2┆
0x005520…005540             ed d3 11 5c 00 21 cd d3 06 21 cd 42 d0 21 08 cc 7e b7 ca 3e d3 fe 20 ca 3e d3 23 c3 30 d3 06 00   ┆   Ø !   ! B !  ü  >    > # 0   ┆
0x005540…005560             11 81 00 7e 12 b7 ca 4f d3 04 23 13 c3 43 d3 78 32 80 00 cd 98 cc cd d5 cd cd 1a cd cd 00 01 31   ┆   ü   O  #  C x2              1┆
0x005560…005580             ab d3 cd 29 cd cd bd cc c3 82 cf cd 66 d0 c3 09 ce 01 7a d3 cd a7 cc c3 86 d3 42 41 44 20 4c 4f   ┆   )        f     z       BAD LO┆
0x005580…0055a0             41 44 00 43 4f 4d cd 66 d0 cd 5e ce 3a ce d3 d6 20 21 f0 d3 b6 c2 09 ce c3 82 cf 00 00 00 00 00   ┆AD COM f  ^ :    !              ┆
0x0055a0…0055c0             00 00 00 00 00 00 00 00 00 00 00 00 00 24 24 24 20 20 20 20 20 53 55 42 00 00 00 00 00 00 00 00   ┆             $$$     SUB        ┆
0x0055c0…0055e0             00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
          […0x1…]
0x005600…005620 (1, 0, 14)  ff 22 ea e1 c9 2a c8 e1 eb 2a ea e1 23 22 ea e1 cd 95 d9 d2 19 da c3 fe d9 3a ea e1 e6 03 06 05   ┆ "   *   *  #"           :      ┆
0x005620…005640             87 05 c2 20 da 32 e9 e1 b7 c0 c5 cd c3 d7 cd d4 d9 c1 c3 9e d9 79 e6 07 3c 5f 57 79 0f 0f 0f e6   ┆     2               y  <_Wy    ┆
0x005640…005660             1f 4f 78 87 87 87 87 87 b1 4f 78 0f 0f 0f e6 1f 47 2a bf e1 09 7e 07 1d c2 56 da c9 d5 cd 35 da   ┆ Ox      Ox     G*   ü   V    5 ┆
0x005660…005680             e6 fe c1 b1 0f 15 c2 64 da 77 c9 cd 5e d9 11 10 00 19 c5 0e 11 d1 0d c8 d5 3a dd e1 b7 ca 88 da   ┆       d w  ^            :      ┆
0x005680…0056a0             c5 e5 4e 06 00 c3 8e da 0d c5 4e 23 46 e5 79 b0 ca 9d da 2a c6 e1 7d 91 7c 98 d4 5c da e1 23 c1   ┆  N       N#F y    *  å ø  Ø  # ┆
0x0056a0…0056c0             c3 75 da 2a c6 e1 0e 03 cd ea d8 23 44 4d 2a bf e1 36 00 23 0b 78 b1 c2 b1 da 2a ca e1 eb 2a bf   ┆ u *       #DM*  6 # x    *   * ┆
0x0056c0…0056e0             e1 73 23 72 cd a1 d7 2a b3 e1 36 03 23 36 00 cd fe d9 0e ff cd 05 da cd f5 d9 c8 cd 5e d9 3e e5   ┆ s#r   *  6 #6              ^ > ┆
0x0056e0…005700             be ca d2 da 3a 41 d7 be c2 f6 da 23 7e d6 24 c2 f6 da 3d 32 45 d7 0e 01 cd 6b da cd 8c d9 c3 d2   ┆    :A     #ü $   =2E    k      ┆
0x005700…005720             da 3a d4 e1 c3 01 d7 c5 f5 3a c5 e1 2f 47 79 a0 4f f1 a0 91 e6 1f c1 c9 3e ff 32 d4 e1 21 d8 e1   ┆ :       :  /Gy O       > 2  !  ┆
0x005720…005740             71 2a 43 d7 22 d9 e1 cd fe d9 cd a1 d7 0e 00 cd 05 da cd f5 d9 ca 94 db 2a d9 e1 eb 1a fe e5 ca   ┆q*C "                   *       ┆
0x005740…005760             4a db d5 cd 7f d9 d1 d2 94 db cd 5e d9 3a d8 e1 4f 06 00 79 b7 ca 83 db 1a fe 3f ca 7c db 78 fe   ┆J          ^ :  O  y      ? ø x ┆
0x005760…005780             0d ca 7c db fe 0c 1a ca 73 db 96 e6 7f c2 2d db c3 7c db c5 4e cd 07 db c1 c2 2d db 13 23 04 0d   ┆  ø     s     -  ø  N     -  #  ┆
0x005780…0057a0             c3 53 db 3a ea e1 e6 03 32 45 d7 21 d4 e1 7e 17 d0 af 77 c9 cd fe d9 3e ff c3 01 d7 cd 54 d9 0e   ┆ S :    2E !  ü   w    >     T  ┆
0x0057a0…0057c0             0c cd 18 db cd f5 d9 c8 cd 44 d9 cd 5e d9 36 e5 0e 00 cd 6b da cd c6 d9 cd 2d db c3 a4 db 50 59   ┆         D  ^ 6    k     -    PY┆
0x0057c0…0057e0             79 b0 ca d1 db 0b d5 c5 cd 35 da 1f d2 ec db c1 d1 2a c6 e1 7b 95 7a 9c d2 f4 db 13 c5 d5 42 4b   ┆y        5       *  æ z       BK┆
0x0057e0…005800             cd 35 da 1f d2 ec db d1 c1 c3 c0 db 17 3c cd 64 da e1 d1 c9 79 b0 c2 c0 db 21 00 00 c9 0e 00 1e   ┆ 5           < d    y    !      ┆
0x005800…005a00 (1, 0, 15)  0xe5[0x200]
          […0xf…]
0x007800…007820 (2, 0, 1)   [0, 'CHAININF.COM', 0, 43, 'xl=00', 'bc=00', 'xh=00', 'rc=2b', '0-0-0-0-0-0-0-0-0-0-0', [2, 0, 3, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]]
0x007820…007840             [0, 'FORMAT.COM', 0, 128, 'xl=00', 'bc=00', 'xh=00', 'rc=80', '0-0-0-0-0-0-0-0-0-0-0', [5, 0, 6, 0, 7, 0, 8, 0, 9, 0, 10, 0, 11, 0, 12, 0]]
0x007840…007860             [0, 'FORMAT.COM', 1, 128, 'xl=01', 'bc=00', 'xh=00', 'rc=80', '0-0-0-0-0-0-0-0-0-0-0', [13, 0, 14, 0, 15, 0, 16, 0, 17, 0, 18, 0, 19, 0, 20, 0]]
0x007860…007880             [0, 'FORMAT.COM', 2, 41, 'xl=02', 'bc=00', 'xh=00', 'rc=29', '0-0-0-0-0-0-0-0-0-0-0', [21, 0, 22, 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]]
0x007880…0078a0             [0, 'ENTRYME.COM', 0, 128, 'xl=00', 'bc=00', 'xh=00', 'rc=80', '0-0-0-0-0-0-0-0-0-0-0', [24, 0, 25, 0, 26, 0, 27, 0, 28, 0, 29, 0, 30, 0, 31, 0]]
0x0078a0…0078c0             [0, 'ENTRYME.COM', 1, 128, 'xl=01', 'bc=00', 'xh=00', 'rc=80', '0-0-0-0-0-0-0-0-0-0-0', [32, 0, 33, 0, 34, 0, 35, 0, 36, 0, 37, 0, 38, 0, 39, 0]]
0x0078c0…0078e0             [0, 'ENTRYME.COM', 2, 11, 'xl=02', 'bc=00', 'xh=00', 'rc=0b', '0-0-0-0-0-0-0-0-0-0-0', [40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]]
0x0078e0…007900             [0, 'ENTRY.COM', 0, 128, 'xl=00', 'bc=00', 'xh=00', 'rc=80', '0-0-0-0-0-0-0-0-0-0-0', [41, 0, 42, 0, 43, 0, 44, 0, 45, 0, 46, 0, 47, 0, 48, 0]]
0x007900…007920             [0, 'ENTRY.COM', 1, 128, 'xl=01', 'bc=00', 'xh=00', 'rc=80', '0-0-0-0-0-0-0-0-0-0-0', [49, 0, 50, 0, 51, 0, 52, 0, 53, 0, 54, 0, 55, 0, 56, 0]]
0x007920…007940             [0, 'ENTRY.COM', 2, 49, 'xl=02', 'bc=00', 'xh=00', 'rc=31', '0-0-0-0-0-0-0-0-0-0-0', [57, 0, 58, 0, 59, 0, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0]]
0x007940…007960             [0, 'VERIFY.COM', 0, 128, 'xl=00', 'bc=00', 'xh=00', 'rc=80', '0-0-0-0-0-0-0-0-0-0-0', [61, 0, 62, 0, 63, 0, 64, 0, 65, 0, 66, 0, 67, 0, 68, 0]]
0x007960…007980             [0, 'VERIFY.COM', 1, 128, 'xl=01', 'bc=00', 'xh=00', 'rc=80', '0-0-0-0-0-0-0-0-0-0-0', [69, 0, 70, 0, 71, 0, 72, 0, 73, 0, 74, 0, 75, 0, 76, 0]]
0x007980…0079a0             [0, 'VERIFY.COM', 2, 36, 'xl=02', 'bc=00', 'xh=00', 'rc=24', '0-0-0-0-0-0-0-0-0-0-0', [77, 0, 78, 0, 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]]
0x0079a0…0079c0             [0, 'CHAININF.DEP', 0, 1, 'xl=00', 'bc=00', 'xh=00', 'rc=01', '0-0-0-0-0-0-0-0-0-0-0', [80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]]
0x0079c0…0079e0             [0, 'DEPFORM.DEP', 0, 0, 'xl=00', 'bc=00', 'xh=00', 'rc=00', '0-0-0-0-0-0-0-0-0-0-0', [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]]
0x0079e0…007a00             Dirent {Status=0xe5}
0x007a00…007a20 (2, 0, 2)   e5 53 45 52 49 41 4c 20 20 42 41 4b 00 00 00 6a b3 00 b4 00 b5 00 b6 00 ba 00 bb 00 bc 00 00 00   ┆ SERIAL  BAK   j                ┆
0x007a20…007a40             e5 53 45 52 49 41 4c 20 20 50 52 4e 00 00 00 80 bd 00 4e 01 4f 01 51 01 52 01 53 01 54 01 55 01   ┆ SERIAL  PRN      N O Q R S T U ┆
0x007a40…007a60             e5 53 45 52 49 41 4c 20 20 48 45 58 00 00 00 22 50 01 56 01 5a 01 00 00 00 00 00 00 00 00 00 00   ┆ SERIAL  HEX   "P V Z           ┆
0x007a60…007a80             e5 53 45 52 49 41 4c 20 20 50 52 4e 01 00 00 24 57 01 58 01 59 01 00 00 00 00 00 00 00 00 00 00   ┆ SERIAL  PRN   $W X Y           ┆
0x007a80…007aa0             e5 46 35 20 20 20 20 20 20 20 20 20 08 00 00 80 92 01 93 01 94 01 95 01 96 01 97 01 98 01 99 01   ┆ F5                             ┆
0x007aa0…007ac0             e5 46 35 20 20 20 20 20 20 20 20 20 09 00 00 80 9a 01 9b 01 9c 01 9d 01 9e 01 9f 01 a0 01 a1 01   ┆ F5                             ┆
0x007ac0…007ae0             e5 46 35 20 20 20 20 20 20 20 20 20 0a 00 00 80 a2 01 a3 01 a4 01 a5 01 a6 01 a7 01 a8 01 a9 01   ┆ F5                             ┆
0x007ae0…007b00             e5 46 35 20 20 20 20 20 20 20 20 20 0b 00 00 75 aa 01 ab 01 ac 01 ad 01 ae 01 af 01 b0 01 b1 01   ┆ F5            u                ┆
0x007b00…007b20             e5 46 35 20 20 20 20 20 20 20 20 20 0b 00 00 75 ab 01 ac 01 ad 01 ae 01 af 01 b0 01 b1 01 b2 01   ┆ F5            u                ┆
0x007b20…007b40             e5 50 31 20 20 20 20 20 20 43 4f 4d 01 00 00 7e ba 01 bb 01 bc 01 bd 01 be 01 bf 01 c0 01 c1 01   ┆ P1      COM   ü                ┆
0x007b40…007b60             e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ┆                                ┆
          […0x5…]
0x007c00…007e00 (2, 0, 3)   DataBlock {»CHAININF.COM«}
          […0x1…]
0x008000…008020 (2, 0, 5)   e5 58 52 45 46 20 20 20 20 43 4f 4d 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆ XREF    COM                    ┆
0x008020…008040             e5 44 41 54 41 53 54 41 52 43 4f 4d 00 00 00 80 4f 00 50 00 51 00 52 00 53 00 54 00 55 00 56 00   ┆ DATASTARCOM    O P Q R S T U V ┆
0x008040…008060             e5 44 41 54 41 53 54 41 52 43 4f 4d 01 00 00 3c 57 00 58 00 59 00 5a 00 00 00 00 00 00 00 00 00   ┆ DATASTARCOM   <W X Y Z         ┆
0x008060…008080             e5 58 46 45 52 20 20 20 20 43 4f 4d 00 00 00 05 5b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆ XFER    COM    Æ               ┆
0x008080…0080a0             e5 49 42 4d 43 50 4d 20 20 43 4f 4d 00 00 00 42 5c 00 5d 00 5e 00 5f 00 60 00 00 00 00 00 00 00   ┆ IBMCPM  COM   BØ Å ^ _ `       ┆
0x0080a0…0080c0             e5 53 45 52 49 41 4c 20 20 43 4f 4d 00 00 00 0c 61 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆ SERIAL  COM    a               ┆
0x0080c0…0080e0             e5 42 41 43 4b 55 50 20 20 43 4f 4d 00 00 00 08 62 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆ BACKUP  COM    b               ┆
0x0080e0…008100             e5 41 53 53 49 47 4e 20 20 43 4f 4d 00 00 00 03 63 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆ ASSIGN  COM    c               ┆
0x008100…008120             e5 54 52 41 4e 53 46 45 52 43 4f 4d 00 00 00 07 64 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆ TRANSFERCOM    d               ┆
0x008120…008140             e5 57 53 4f 56 4c 59 31 20 4f 56 52 00 00 00 80 75 00 76 00 77 00 78 00 79 00 7a 00 7b 00 7c 00   ┆ WSOVLY1 OVR    u v w x y z æ ø ┆
0x008140…008160             e5 44 41 54 41 53 54 41 52 43 4f 4d 00 00 00 80 63 00 64 00 65 00 66 00 67 00 68 00 69 00 6a 00   ┆ DATASTARCOM    c d e f g h i j ┆
0x008160…008180             e5 44 41 54 41 53 54 41 52 43 4f 4d 01 00 00 3c 6b 00 6c 00 6d 00 6e 00 00 00 00 00 00 00 00 00   ┆ DATASTARCOM   <k l m n         ┆
0x008180…0081a0             e5 57 53 4f 56 4c 59 31 20 4f 56 52 01 00 00 56 7d 00 7e 00 7f 00 80 00 81 00 82 00 00 00 00 00   ┆ WSOVLY1 OVR   Vå ü             ┆
0x0081a0…0081c0             e5 57 53 4d 53 47 53 20 20 4f 56 52 00 00 00 80 83 00 84 00 85 00 86 00 87 00 88 00 89 00 8a 00   ┆ WSMSGS  OVR                    ┆
0x0081c0…0081e0             e5 57 53 4d 53 47 53 20 20 4f 56 52 01 00 00 44 8b 00 8c 00 8d 00 8e 00 8f 00 00 00 00 00 00 00   ┆ WSMSGS  OVR   D                ┆
0x0081e0…008200             e5 54 52 41 4e 53 46 45 52 41 53 4d 00 00 00 2e 91 00 92 00 a1 00 00 00 00 00 00 00 00 00 00 00   ┆ TRANSFERASM   .                ┆
0x008200…008400 (2, 0, 6)   0xe5[0x200]
0x008400…008600 (2, 0, 7)   DataBlock {»CHAININF.COM«}
          […0x1…]
0x008800…008820 (2, 0, 9)   e5 54 52 41 4e 53 46 45 52 42 41 4b 00 00 00 2e 90 00 93 00 a0 00 00 00 00 00 00 00 00 00 00 00   ┆ TRANSFERBAK   .                ┆
0x008820…008840             e5 54 52 41 4e 53 46 45 52 50 52 4e 00 00 00 54 94 00 95 00 96 00 a2 00 a3 00 b7 00 00 00 00 00   ┆ TRANSFERPRN   T                ┆
0x008840…008860             e5 54 52 41 4e 53 46 45 52 48 45 58 00 00 00 12 97 00 b8 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆ TRANSFERHEX                    ┆
0x008860…008880             e5 56 45 52 59 20 20 20 20 42 41 44 00 00 00 07 98 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆ VERY    BAD                    ┆
0x008880…0088a0             e5 46 56 4e 20 20 20 20 20 42 41 4b 00 00 00 38 e1 00 e2 00 e3 00 e4 00 00 00 00 00 00 00 00 00   ┆ FVN     BAK   8                ┆
0x0088a0…0088c0             e5 42 41 43 4b 55 50 20 20 42 41 4b 00 00 00 38 cc 00 cd 00 d0 00 da 00 00 00 00 00 00 00 00 00   ┆ BACKUP  BAK   8                ┆
0x0088c0…0088e0             e5 41 53 53 49 47 4e 20 20 41 53 4d 00 00 00 19 a4 00 a5 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆ ASSIGN  ASM                    ┆
0x0088e0…008900             e5 58 46 45 52 20 20 20 20 43 4f 4d 00 00 00 05 9c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆ XFER    COM                    ┆
0x008900…008920             e5 49 42 4d 43 50 4d 20 20 43 4f 4d 00 00 00 42 a8 00 a9 00 aa 00 ab 00 ac 00 00 00 00 00 00 00   ┆ IBMCPM  COM   B                ┆
0x008920…008940             e5 41 53 53 49 47 4e 20 20 42 41 4b 00 00 00 19 ad 00 ae 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆ ASSIGN  BAK                    ┆
0x008940…008960             e5 53 45 52 49 41 4c 20 20 50 52 4e 00 00 00 80 bd 00 be 00 bf 00 c1 00 c2 00 c3 00 c4 00 c5 00   ┆ SERIAL  PRN                    ┆
0x008960…008980             e5 53 45 52 49 41 4c 20 20 48 45 58 00 00 00 22 c0 00 c6 00 ca 00 00 00 00 00 00 00 00 00 00 00   ┆ SERIAL  HEX   "                ┆
0x008980…0089a0             e5 53 45 52 49 41 4c 20 20 50 52 4e 01 00 00 24 c7 00 c8 00 c9 00 00 00 00 00 00 00 00 00 00 00   ┆ SERIAL  PRN   $                ┆
0x0089a0…0089c0             e5 53 45 52 49 41 4c 20 20 43 4f 4d 00 00 00 0c cb 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆ SERIAL  COM                    ┆
0x0089c0…0089e0             e5 42 41 43 4b 55 50 20 20 41 53 4d 00 00 00 38 a6 00 ce 00 cf 00 d1 00 00 00 00 00 00 00 00 00   ┆ BACKUP  ASM   8                ┆
0x0089e0…008a00             e5 42 41 43 4b 55 50 20 20 50 52 4e 00 00 00 64 d2 00 d3 00 d4 00 d6 00 d7 00 d8 00 dc 00 00 00   ┆ BACKUP  PRN   d                ┆
0x008a00…008c00 (2, 0, 10)  0xe5[0x200]
0x008c00…008e00 (2, 0, 11)  DataBlock {»CHAININF.COM«}
          […0x1…]
0x009000…009020 (2, 0, 13)  e5 42 41 43 4b 55 50 20 20 48 45 58 00 00 00 15 d5 00 d9 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆ BACKUP  HEX                    ┆
0x009020…009040             e5 42 41 43 4b 55 50 20 20 43 4f 4d 00 00 00 08 db 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆ BACKUP  COM                    ┆
0x009040…009060             e5 4d 45 52 47 50 52 49 4e 4f 56 52 00 00 00 3c dd 00 de 00 df 00 e0 00 00 00 00 00 00 00 00 00   ┆ MERGPRINOVR   <                ┆
0x009060…009080             e5 46 56 4e 20 20 20 20 20 20 20 20 00 00 00 38 e5 00 e6 00 e7 00 e8 00 00 00 00 00 00 00 00 00   ┆ FVN           8                ┆
0x009080…0090a0             e5 4c 50 20 20 20 20 20 20 20 20 20 00 00 00 01 e9 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆ LP                             ┆
0x0090a0…0090c0             e5 42 20 20 20 20 20 20 20 20 20 20 01 00 00 56 f1 00 f2 00 f3 00 f4 00 f5 00 f6 00 00 00 00 00   ┆ B             V                ┆
0x0090c0…0090e0             e5 53 54 41 54 34 20 20 20 43 4f 4d 00 00 00 29 e7 00 e8 00 e9 00 00 00 00 00 00 00 00 00 00 00   ┆ STAT4   COM   )                ┆
0x0090e0…009100             e5 53 54 41 54 35 20 20 20 43 4f 4d 00 00 00 29 ea 00 eb 00 ec 00 00 00 00 00 00 00 00 00 00 00   ┆ STAT5   COM   )                ┆
0x009100…009120             e5 46 34 20 20 20 20 20 20 20 20 20 08 00 00 80 2e 01 2f 01 30 01 31 01 32 01 33 01 34 01 35 01   ┆ F4             . / 0 1 2 3 4 5 ┆
0x009120…009140             e5 46 34 20 20 20 20 20 20 20 20 20 09 00 00 80 36 01 37 01 38 01 39 01 3a 01 3b 01 3c 01 3d 01   ┆ F4             6 7 8 9 : ; < = ┆
0x009140…009160             e5 46 34 20 20 20 20 20 20 20 20 20 0a 00 00 80 3e 01 3f 01 40 01 41 01 42 01 43 01 44 01 45 01   ┆ F4             > ? @ A B C D E ┆
0x009160…009180             e5 46 34 20 20 20 20 20 20 20 20 20 0b 00 00 75 46 01 47 01 48 01 49 01 4a 01 4b 01 4c 01 4d 01   ┆ F4            uF G H I J K L M ┆
0x009180…0091a0             e5 41 53 53 49 47 4e 20 20 50 52 4e 00 00 00 2e a7 00 af 00 b0 00 00 00 00 00 00 00 00 00 00 00   ┆ ASSIGN  PRN   .                ┆
0x0091a0…0091c0             e5 41 53 53 49 47 4e 20 20 48 45 58 00 00 00 07 b1 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆ ASSIGN  HEX                    ┆
0x0091c0…0091e0             e5 41 53 53 49 47 4e 20 20 43 4f 4d 00 00 00 03 b2 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆ ASSIGN  COM                    ┆
0x0091e0…009200             e5 54 52 41 4e 53 46 45 52 43 4f 4d 00 00 00 07 b9 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆ TRANSFERCOM                    ┆
0x009200…009400 (2, 0, 14)  0xe5[0x200]
0x009400…009600 (2, 0, 15)  DataBlock {»CHAININF.COM«}
          […0x1…]
0x009800…009820 (2, 1, 2)   c2 fd 0c c9 0c 0d c8 29 c3 05 0d c5 3a 42 0b 4f 21 01 00 cd 04 0d c1 79 b5 6f 78 b4 67 c9 2a ad   ┆       )    :B O!      y ox g * ┆
0x009820…009840             15 3a 42 0b 4f cd ea 0c 7d e6 01 c9 21 ad 15 4e 23 46 cd 0b 0d 22 ad 15 2a c8 15 23 eb 2a b3 15   ┆ :B O   å   !  N#F   "  *  # *  ┆
0x009840…009860             73 23 72 c9 cd 5e 0d 11 09 00 19 7e 17 d0 21 0f 08 c3 4a 0b cd 1e 0d c8 21 0d 08 c3 4a 0b 2a b9   ┆s#r  ^     ü  !   J     !   J * ┆
0x009860…009880             15 3a e9 15 85 6f d0 24 c9 2a 43 0b 11 0e 00 19 7e c9 cd 69 0d 36 00 c9 cd 69 0d f6 80 77 c9 2a   ┆ :   o $ *C     ü  i 6   i   w *┆
0x009880…0098a0             ea 15 eb 2a b3 15 7b 96 23 7a 9e c9 cd 7f 0d d8 13 72 2b 73 c9 7b 95 6f 7a 9c 67 c9 0e ff 2a ec   ┆   *  æ #z       r+s æ oz g   * ┆
0x0098a0…0098c0             15 eb 2a cc 15 cd 95 0d d0 c5 cd f7 0c 2a bd 15 eb 2a ec 15 19 c1 0c ca c4 0d be c8 cd 7f 0d d0   ┆  *          *   *              ┆
0x0098c0…0098e0             cd 2c 0d c9 77 c9 cd 9c 0d cd e0 0d 0e 01 cd b8 0b c3 da 0d cd e0 0d cd b2 0b 21 b1 15 c3 e3 0d   ┆ ,  w                     !     ┆
0x0098e0…009900             21 b9 15 4e 23 46 c3 24 16 2a b9 15 eb 2a b1 15 0e 80 c3 4f 0b 21 ea 15 7e 23 be c0 3c c9 21 ff   ┆!  N#F $ *   *     O !  ü#  < ! ┆
0x009900…009920             ff 22 ea 15 c9 2a c8 15 eb 2a ea 15 23 22 ea 15 cd 95 0d d2 19 0e c3 fe 0d 3a ea 15 e6 03 06 05   ┆ "   *   *  #"           :      ┆
0x009920…009940             87 05 c2 20 0e 32 e9 15 b7 c0 c5 cd c3 0b cd d4 0d c1 c3 9e 0d 79 e6 07 3c 5f 57 79 0f 0f 0f e6   ┆     2               y  <_Wy    ┆
0x009940…009960             1f 4f 78 87 87 87 87 87 b1 4f 78 0f 0f 0f e6 1f 47 2a bf 15 09 7e 07 1d c2 56 0e c9 d5 cd 35 0e   ┆ Ox      Ox     G*   ü   V    5 ┆
0x009960…009980             e6 fe c1 b1 0f 15 c2 64 0e 77 c9 cd 5e 0d 11 10 00 19 c5 0e 11 d1 0d c8 d5 3a dd 15 b7 ca 88 0e   ┆       d w  ^            :      ┆
0x009980…0099a0             c5 e5 4e 06 00 c3 8e 0e 0d c5 4e 23 46 e5 79 b0 ca 9d 0e 2a c6 15 7d 91 7c 98 d4 5c 0e e1 23 c1   ┆  N       N#F y    *  å ø  Ø  # ┆
0x0099a0…0099c0             c3 75 0e 2a c6 15 0e 03 cd ea 0c 23 44 4d 2a bf 15 36 00 23 0b 78 b1 c2 b1 0e 2a ca 15 eb 2a bf   ┆ u *       #DM*  6 # x    *   * ┆
0x0099c0…0099e0             15 73 23 72 cd a1 0b 2a b3 15 36 03 23 36 00 cd fe 0d 0e ff cd 05 0e cd f5 0d c8 cd 5e 0d 3e e5   ┆ s#r   *  6 #6              ^ > ┆
0x0099e0…009a00             be ca d2 0e 3a 41 0b be c2 f6 0e 23 7e d6 24 c2 f6 0e 3d 32 45 0b 0e 01 cd 6b 0e cd 8c 0d c3 d2   ┆    :A     #ü $   =2E    k      ┆
0x009a00…009c00 (2, 1, 3)   DataBlock {»FORMAT.COM«}
          […0x1…]
0x009e00…00a000 (2, 1, 5)   DataBlock {»CHAININF.COM«}
0x00a000…00a200 (2, 1, 6)   DataBlock {»FORMAT.COM«}
          […0x2…]
0x00a600…00a800 (2, 1, 9)   DataBlock {»CHAININF.COM«}
0x00a800…00aa00 (2, 1, 10)  DataBlock {»FORMAT.COM«}
          […0x2…]
0x00ae00…00af80 (2, 1, 13)  DataBlock {»CHAININF.COM«}
0x00af80…00afa0             7d cd be 11 ca 05 15 fe 01 ca 91 14 fe 03 c2 02 15 60 69 22 60 16 21 a1 14 22 69 16 d1 c1 c3 ce   ┆å                `i"` !  "i     ┆
0x00afa0…00afc0             14 cd 4d 0e d0 cd 47 07 21 3e 00 c3 09 04 cd 3d 07 7c b2 c2 fe 03 2c ca c8 14 2d 3a 66 16 b7 ca   ┆  M   G !>     = ø    ,   -:f   ┆
0x00afc0…00afe0             05 15 e5 2a 67 16 e3 c9 21 9a 02 22 69 16 c5 d5 7b cd cf 09 e5 66 24 25 ca ec 14 d5 e5 21 e5 14   ┆   *g   !  "i   æ    f$%     !  ┆
0x00afe0…00b000             e5 2a 69 16 e9 e1 d1 12 13 c3 d7 14 e1 d1 c1 c9 7c 92 c0 7d 93 c9 e5 21 00 00 22 60 16 e1 c9 f1   ┆ *i             ø  å   !  "`    ┆
0x00b000…00b200 (2, 1, 14)  DataBlock {»FORMAT.COM«}
          […0x3f…]
0x012e80…012ea0             c9 21 3f 8b 7e 07 37 1f 77 3f 1f 23 23 77 79 07 37 1f 4f 1f ae c9 2a 3d 8b e3 e5 2a 3f 8b e3 e9   ┆ !? ü 7 w? ##wy 7 O   *=   *?   ┆
0x012ea0…012ec0             e1 e3 22 3f 8b e1 e3 22 3d 8b c9 61 6a 53 58 cd f2 93 14 15 ca 89 94 4a 53 5c 45 21 40 8b 96 d2   ┆  "?   "=  ajSX        JSØE!@   ┆
0x012ec0…012ee0             89 94 2f 3c 77 c3 69 94 06 00 21 20 8b 7e b7 c2 e5 93 78 d6 38 c2 da 93 47 c9 c6 40 47 16 08 cd   ┆  /<w i   !  ü    x 8   G  @G   ┆
0x012ee0…012f00             50 94 c3 ca 93 fa f0 93 cd 3d 94 04 b7 f2 e5 93 78 c9 06 00 7c b7 c2 1f 94 b5 c2 06 94 b2 c2 0f   ┆P        =      x   ø           ┆
0x012f00…012f20             94 b3 c2 18 94 c9 65 6a 53 58 06 08 c3 1f 94 eb 11 00 00 06 10 c3 1f 94 63 68 11 00 00 06 18 7c   ┆      ejSX              ch     ø┆
0x012f20…012f40             b7 fa 34 94 7b 17 5f 7a 17 57 7d 17 6f 7c 17 67 04 c3 20 94 22 1b 8b eb 22 19 8b 78 c9 e5 21 19   ┆  4 æ _z Wå oø g    "   "  x  ! ┆
0x012f40…012f60             8b 1e 08 b7 7e 17 77 23 1d c2 44 94 e1 c9 16 04 cd 3d 94 15 c2 50 94 c9 11 71 94 d5 cd c3 6c 13   ┆    ü w#  D      =   P   q    l ┆
0x012f60…012f80             11 ff ff 4a 21 40 8b 71 c9 78 21 40 8b b7 fc 7b 94 46 23 7e e6 80 a9 4f c3 ab 94 1c c0 14 c0 0c   ┆   J!@ q x!@   æ F#ü   O        ┆
0x012f80…012fa0             c0 0e 80 34 c0 c3 5c 94 e1 af 67 6f 22 3d 8b 22 3f 8b c9 e5 cd b9 94 e1 73 23 72 23 71 23 70 c3   ┆   4  Ø   go"= "?       s#r#q#p ┆
0x012fa0…012fc0             cb 94 cd c3 94 e5 cd ae 94 e1 c9 cd cb 94 eb 22 3d 8b eb 60 69 22 3f 8b c9 2a 3d 8b eb 2a 3f 8b   ┆               "=  `i"?  *=  *? ┆
0x012fc0…012fe0             44 4d c9 5e 23 56 23 4e 23 46 23 78 b7 c8 79 c3 da 94 3a 40 8b b7 c8 3a 3f 8b 17 9f b7 37 c0 c6   ┆DM ^#V#N#F#x  y   :@   :?    7  ┆
0x012fe0…013000             01 c9 7c 2f 47 7d 2f 4f 03 21 00 00 3e 11 f5 b7 c3 fd 94 f5 e5 09 d2 fc 94 f1 37 3e e1 7b 17 5f   ┆  ø/Gå/O !  >             7> æ _┆
0x013000…013200 (5, 0, 3)   DataBlock {»ENTRYME.COM«}
          […0x1…]
0x013400…013600 (5, 0, 5)   DataBlock {»FORMAT.COM«}
0x013600…013620 (5, 0, 6)   c3 33 04 20 20 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 31 39 37 39 2c 20 44 69 67 69 74 61   ┆ 3    Copyright (c) 1979, Digita┆
0x013620…013640             6c 20 52 65 73 65 61 72 63 68 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 00 00 00 43 4f 4e 3a 52 44 52   ┆l Research????????????   CON:RDR┆
0x013640…013660             3a 50 55 4e 3a 4c 53 54 3a 44 45 56 3a 56 41 4c 3a 55 53 52 3a 44 53 4b 3a 54 54 59 3a 43 52 54   ┆:PUN:LST:DEV:VAL:USR:DSK:TTY:CRT┆
0x013660…013680             3a 42 41 54 3a 55 43 31 3a 54 54 59 3a 50 54 52 3a 55 52 31 3a 55 52 32 3a 54 54 59 3a 50 54 50   ┆:BAT:UC1:TTY:PTR:UR1:UR2:TTY:PTP┆
0x013680…0136a0             3a 55 50 31 3a 55 50 32 3a 54 54 59 3a 43 52 54 3a 4c 50 54 3a 55 4c 31 3a 52 2f 4f 00 52 2f 57   ┆:UP1:UP2:TTY:CRT:LPT:UL1:R/O R/W┆
0x0136a0…0136c0             00 53 59 53 00 44 49 52 00 52 2f 4f 20 52 2f 57 20 53 59 53 20 44 49 52 20 2a 2a 20 41 62 6f 72   ┆ SYS DIR R/O R/W SYS DIR ** Abor┆
0x0136c0…0136e0             74 65 64 20 2a 2a 00 41 63 74 69 76 65 20 55 73 65 72 20 3a 00 41 63 74 69 76 65 20 46 69 6c 65   ┆ted ** Active User : Active File┆
0x0136e0…013700             73 3a 00 20 20 20 20 00 20 44 72 69 76 65 20 43 68 61 72 61 63 74 65 72 69 73 74 69 63 73 00 36   ┆s:       Drive Characteristics 6┆
0x013700…013720             35 35 33 36 3a 20 00 31 32 38 20 42 79 74 65 20 52 65 63 6f 72 64 20 43 61 70 61 63 69 74 79 00   ┆5536:  128 Byte Record Capacity ┆
0x013720…013740             4b 69 6c 6f 62 79 74 65 20 44 72 69 76 65 20 20 43 61 70 61 63 69 74 79 00 33 32 20 20 42 79 74   ┆Kilobyte Drive  Capacity 32  Byt┆
0x013740…013760             65 20 44 69 72 65 63 74 6f 72 79 20 45 6e 74 72 69 65 73 00 43 68 65 63 6b 65 64 20 20 44 69 72   ┆e Directory Entries Checked  Dir┆
0x013760…013780             65 63 74 6f 72 79 20 45 6e 74 72 69 65 73 00 52 65 63 6f 72 64 73 2f 20 45 78 74 65 6e 74 00 52   ┆ectory Entries Records/ Extent R┆
0x013780…0137a0             65 63 6f 72 64 73 2f 20 42 6c 6f 63 6b 00 53 65 63 74 6f 72 73 2f 20 54 72 61 63 6b 00 52 65 73   ┆ecords/ Block Sectors/ Track Res┆
0x0137a0…0137c0             65 72 76 65 64 20 54 72 61 63 6b 73 00 20 69 73 20 00 54 65 6d 70 20 52 2f 4f 20 44 69 73 6b 3a   ┆erved Tracks  is  Temp R/O Disk:┆
0x0137c0…0137e0             20 64 3a 3d 52 2f 4f 00 53 65 74 20 49 6e 64 69 63 61 74 6f 72 3a 20 64 3a 66 69 6c 65 6e 61 6d   ┆ d:=R/O Set Indicator: d:filenam┆
0x0137e0…013800             65 2e 74 79 70 20 24 52 2f 4f 20 24 52 2f 57 20 24 53 59 53 20 24 44 49 52 00 44 69 73 6b 20 53   ┆e.typ $R/O $R/W $SYS $DIR Disk S┆
0x013800…013a00 (5, 0, 7)   DataBlock {»ENTRYME.COM«}
          […0x1…]
0x013c00…013e00 (5, 0, 9)   DataBlock {»FORMAT.COM«}
0x013e00…014000 (5, 0, 10)  DataBlock {»ENTRYME.COM«}
          […0x2…]
0x014400…014600 (5, 0, 13)  DataBlock {»FORMAT.COM«}
0x014600…014800 (5, 0, 14)  DataBlock {»ENTRYME.COM«}
          […0x32…]
0x01ab80…01aba0             c5 cd 15 86 f1 b7 fc 8f 84 eb c9 cd b4 5e 89 af 4f 93 5f 79 9a 57 c9 21 74 7c 7e 2f 77 af 6f 90   ┆             ^  O _y W !tøü/w o ┆
0x01aba0…01abc0             47 7d 9b 5f 7d 9a 57 7d 99 4f c9 cd c9 84 cd e1 85 c1 d1 c9 21 72 7c 7e 07 37 1f 77 3f 1f 23 23   ┆Gå _å Wå O          !røü 7 w? ##┆
0x01abc0…01abe0             77 79 07 37 1f 4f 1f ae c9 2a 70 7c e3 e5 2a 72 7c e3 e9 e1 e3 22 72 7c e1 e3 22 70 7c c9 61 6a   ┆wy 7 O   *pø  *rø    "rø  "pø aj┆
0x01abe0…01ac00             53 58 cd 25 85 14 15 ca bc 85 4a 53 5c 45 21 73 7c 96 d2 bc 85 2f 3c 77 c3 9c 85 06 00 21 53 7c   ┆SX %      JSØE!sø    /<w     !Sø┆
0x01ac00…01ae00 (7, 0, 5)   DataBlock {»ENTRYME.COM«}
          […0x2…]
0x01b200…01b220 (7, 0, 8)   45 53 45 4e 54 2a 2a 2a 0d 0a 00 00 00 00 00 00 12 5e 10 70 ff 07 00 00 00 23 5d 42 49 53 2d 30   ┆ESENT***         ^ p     #ÅBIS-0┆
0x01b220…01b240             34 35 20 55 4e 41 42 4c 45 20 54 4f 20 4c 4f 41 44 20 42 49 53 33 37 38 30 43 2e 43 4f 4d 0d 0a   ┆45 UNABLE TO LOAD BIS3780C.COM  ┆
0x01b240…01b260             24 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 5a 58 5a 58 5a 58 5a 5c 00 00 00 00 00 00 00 01   ┆$               ZXZXZXZØ        ┆
0x01b260…01b280             10 ac 00 00 00 00 00 00 00 00 4c 50 3a 41 3a 00 42 49 53 33 37 38 30 43 43 4f 4d 00 00 00 00 00   ┆          LP:A: BIS3780CCOM     ┆
0x01b280…01b2a0             00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 1a 5f 1a 5f 9b 5e 1a 5f 00 00 01 1e c8 5c 01   ┆                  _ _ ^ _     Ø ┆
0x01b2a0…01b2c0             ff e4 5c 2a 2a 54 52 41 4e 53 4d 49 54 54 45 44 20 44 41 54 41 2a 2a 0d 0a 2a 2a 2a 52 45 43 45   ┆  Ø**TRANSMITTED DATA**  ***RECE┆
0x01b2c0…01b2e0             49 56 45 44 20 44 41 54 41 2a 2a 2a 2a 0d 0a 2a 2a 2a 45 4e 44 20 4f 46 20 44 49 41 47 4e 4f 53   ┆IVED DATA****  ***END OF DIAGNOS┆
0x01b2e0…01b300             54 49 43 20 44 55 4d 50 2a 2a 2a 0d 0a 2a 2a 2a 4e 4f 20 54 52 41 43 45 20 44 41 54 41 20 50 52   ┆TIC DUMP***  ***NO TRACE DATA PR┆
0x01b300…01b320             45 53 45 4e 54 2a 2a 2a 0d 0a 00 00 00 00 00 00 12 5e 10 70 ff 07 00 00 00 23 5d 42 49 53 2d 30   ┆ESENT***         ^ p     #ÅBIS-0┆
0x01b320…01b340             34 35 20 55 4e 41 42 4c 45 20 54 4f 20 4c 4f 41 44 20 42 49 53 33 37 38 30 43 2e 43 4f 4d 0d 0a   ┆45 UNABLE TO LOAD BIS3780C.COM  ┆
0x01b340…01b360             24 00 00 00 00 00 00 00 00 61 60 79 60 95 60 ab 60 c5 60 e1 60 01 61 17 61 31 61 31 61 31 61 31   ┆$        a`y` ` ` ` ` a a1a1a1a1┆
0x01b360…01b380             61 04 00 00 50 00 1c 33 89 2d 07 6a 60 2a 26 57 2e f6 30 04 2c 65 30 57 26 04 00 00 50 00 1c 33   ┆a   P  3 - j`*&W. 0 ,e0W&   P  3┆
0x01b380…01b3a0             89 2d 09 82 60 2a 26 57 2e f6 30 04 2c 65 30 98 21 a4 20 37 27 04 00 00 50 00 10 33 64 2d 06 9e   ┆ -  `*&W. 0 ,e0 !  7'   P  3d-  ┆
0x01b3a0…01b3c0             60 2a 26 63 2e cc 30 28 33 57 26 04 00 00 50 00 10 33 64 2d 08 b4 60 2a 26 63 2e cc 30 28 33 98   ┆`*&c. 0(3W&   P  3d-  `*&c. 0(3 ┆
0x01b3c0…01b3e0             21 a4 20 37 27 00 00 02 50 00 1c 33 89 2d 09 ce 60 2a 26 56 26 20 2c 6f 2e 04 2c 65 30 88 33 57   ┆!  7'   P  3 -  `*&V& ,o. ,e0 3W┆
0x01b3e0…01b400             26 00 00 02 50 00 1c 33 89 2d 0b ea 60 2a 26 56 26 20 2c 6f 2e 04 2c 65 30 cb 2d 88 33 a4 20 37   ┆&   P  3 -  `*&V& ,o. ,e0 - 3  7┆
0x01b400…01b600 (7, 0, 9)   DataBlock {»ENTRYME.COM«}
          […0x2…]
0x01ba00…01bc00 (7, 0, 12)  DataBlock {»ENTRY.COM«}
0x01bc00…01be00 (7, 0, 13)  DataBlock {»ENTRYME.COM«}
          […0x2…]
0x01c200…01c400 (7, 1, 1)   DataBlock {»ENTRY.COM«}
          […0x4b…]
0x025880…0258a0             5c 8f 7e 2f 77 af 6f 90 47 7d 9b 5f 7d 9a 57 7d 99 4f c9 cd b1 97 cd c9 98 c1 d1 c9 21 5a 8f 7e   ┆Ø ü/w o Gå _å Wå O          !Z ü┆
0x0258a0…0258c0             07 37 1f 77 3f 1f 23 23 77 79 07 37 1f 4f 1f ae c9 2a 58 8f e3 e5 2a 5a 8f e3 e9 e1 e3 22 5a 8f   ┆ 7 w? ##wy 7 O   *X   *Z     "Z ┆
0x0258c0…0258e0             e1 e3 22 58 8f c9 61 6a 53 58 cd 0d 98 14 15 ca a4 98 4a 53 5c 45 21 5b 8f 96 d2 a4 98 2f 3c 77   ┆  "X  ajSX        JSØE!Æ     /<w┆
0x0258e0…025900             c3 84 98 06 00 21 3b 8f 7e b7 c2 00 98 78 d6 38 c2 f5 97 47 c9 c6 40 47 16 08 cd 6b 98 c3 e5 97   ┆     !; ü    x 8   G  @G   k    ┆
0x025900…025920             fa 0b 98 cd 58 98 04 b7 f2 00 98 78 c9 06 00 7c b7 c2 3a 98 b5 c2 21 98 b2 c2 2a 98 b3 c2 33 98   ┆    X      x   ø  :   !   *   3 ┆
0x025920…025940             c9 65 6a 53 58 06 08 c3 3a 98 eb 11 00 00 06 10 c3 3a 98 63 68 11 00 00 06 18 7c b7 fa 4f 98 7b   ┆ ejSX   :        : ch     ø  O æ┆
0x025940…025960             17 5f 7a 17 57 7d 17 6f 7c 17 67 04 c3 3b 98 22 36 8f eb 22 34 8f 78 c9 e5 21 34 8f 1e 08 b7 7e   ┆ _z Wå oø g  ; "6  "4 x  !4    ü┆
0x025960…025980             17 77 23 1d c2 5f 98 e1 c9 16 04 cd 58 98 15 c2 6b 98 c9 11 8c 98 d5 cd 38 71 13 11 ff ff 4a 21   ┆ w#  _      X   k       8q    J!┆
0x025980…0259a0             5b 8f 71 c9 78 21 5b 8f b7 fc 96 98 46 23 7e e6 80 a9 4f c3 c6 98 1c c0 14 c0 0c c0 0e 80 34 c0   ┆Æ q x!Æ     F#ü   O           4 ┆
0x0259a0…0259c0             c3 77 98 e1 af 67 6f 22 58 8f 22 5a 8f c9 e5 cd d4 98 e1 73 23 72 23 71 23 70 c3 e6 98 cd de 98   ┆ w   go"X "Z       s#r#q#p      ┆
0x0259c0…0259e0             e5 cd c9 98 e1 c9 cd e6 98 eb 22 58 8f eb 60 69 22 5a 8f c9 2a 58 8f eb 2a 5a 8f 44 4d c9 5e 23   ┆          "X  `i"Z  *X  *Z DM ^#┆
0x0259e0…025a00             56 23 4e 23 46 23 78 b7 c8 79 c3 f5 98 3a 5b 8f b7 c8 3a 5a 8f 17 9f b7 37 c0 c6 01 c9 7c 2f 47   ┆V#N#F#x  y   :Æ   :Z    7    ø/G┆
0x025a00…025c00 (10, 0, 2)  DataBlock {»VERIFY.COM«}
          […0x2…]
0x026000…026200 (10, 0, 5)  0x00[0x200]
0x026200…026400 (10, 0, 6)  DataBlock {»VERIFY.COM«}
          […0x2…]
0x026800…026a00 (10, 0, 9)  0x00[0x200]
0x026a00…026c00 (10, 0, 10) DataBlock {»VERIFY.COM«}
          […0x2…]
0x027000…027200 (10, 0, 13) 0x00[0x200]
0x027200…027400 (10, 0, 14) DataBlock {»VERIFY.COM«}
          […0x3e…]
0x02f000…02f020 (12, 1, 2)  06 cd 73 07 21 0d 44 7e b7 c2 26 07 36 ff cd 8d 0e 11 71 0a cd 7e 07 2a c0 39 22 61 0a 2a c2 39   ┆  s ! Dü  & 6     q  ü * 9"a * 9┆
0x02f020…02f040             22 63 0a c3 61 03 21 71 0a cd a4 07 c3 61 03 cd ad 07 ca 41 07 2a 71 11 22 65 0a cd 68 2d cd d5   ┆"c  a !q     a     A *q "e  h-  ┆
0x02f040…02f060             09 cd 92 07 2a 2b 2c 3a 5c 0a fe 05 ca 5c 07 fe 00 ca 61 03 7c b5 ca 3a 08 c3 61 03 7c b5 c2 6a   ┆    *+,:Ø    Ø    a ø  :  a ø  j┆
0x02f060…02f080             07 cd af 05 cd eb 2c c3 61 03 21 7f 43 cd 77 3a c3 fe 06 21 5c 0a 7e 36 08 11 68 0a 12 13 21 69   ┆      , a ! C w:   !Ø ü6  h   !i┆
0x02f080…02f0a0             11 06 08 cd b7 38 c9 3a a8 18 b7 c8 3a 5c 0a fe 08 c0 cd 9c 07 cd 0e 09 cd 6d 21 c9 21 68 0a 7e   ┆     8 :    :Ø           m! !h ü┆
0x02f0a0…02f0c0             32 5c 0a 23 11 69 11 06 08 cd b7 38 c9 cd 63 0c 2a 27 2c 11 5c 00 af 12 7e fe 0d c8 d6 41 23 da   ┆2Ø # i     8  c *', Ø   ü    A# ┆
0x02f0c0…02f0e0             c7 07 3c 12 36 3a 23 e5 d5 da ce 07 2b 2b 01 0d 0e eb 2a 6d 43 cd b2 40 eb cd e2 07 d1 e1 13 01   ┆  < 6:#     ++    *mC  @        ┆
0x02f0e0…02f100             0d 0b 7e 23 b9 c2 eb 07 3e 20 2b 12 13 05 c2 e2 07 23 b7 c9 21 67 0a 7e b7 c8 36 00 cd ac 30 2a   ┆  ü#    > +      #  !g ü  6   0*┆
0x02f100…02f120             61 0a 22 c0 39 2a 63 0a 22 c2 39 2a 65 0a 22 71 11 cd 72 2d c9 3e 40 c3 1b 08 af 0e bf cd 23 08   ┆a " 9*c " 9*e "q  r- >@       # ┆
0x02f120…02f140             c3 61 03 47 21 5b 0a 7e a1 b0 77 c9 3e 80 c3 32 08 af 0e 7f cd 23 08 c3 47 08 06 00 c3 5a 08 06   ┆ a G!Æ ü  w >  2     #  G    Z  ┆
0x02f140…02f160             01 c3 ca 08 cd 5d 0c 06 02 af 32 60 0a c3 ca 08 06 03 c3 ca 08 06 04 cd eb 2c cd d0 08 cd 6b 08   ┆     Å    2`             ,    k ┆
0x02f160…02f180             ca fe 06 c3 44 07 06 05 c3 57 08 3a 5c 0a fe 04 ca 83 08 fe 05 ca 83 08 fe 00 c0 3a 69 11 e6 01   ┆    D    W :Ø              :i   ┆
0x02f180…02f1a0             fe 01 c0 3a 67 0a b7 c9 2a 2b 2c eb 21 5c 0a 7e fe ff c2 a6 08 d5 06 00 cd d0 08 d1 7a b3 c4 7d   ┆   :g   *+, !Ø ü            z  å┆
0x02f1a0…02f1c0             16 d8 0e 0a 37 c9 7e fe 08 c8 cd 6b 08 c2 b7 08 cd 7d 16 d2 b0 08 c9 7e fe 00 c8 fe 05 c8 7a b3   ┆    7 ü    k     å     ü      z ┆
0x02f1c0…02f1e0             c0 21 79 43 cd 77 3a c3 b0 08 cd d0 08 c3 61 03 21 5c 0a 70 eb 3a 5c 0a fe 08 c2 e0 08 3a 68 0a   ┆ !yC w:       a !Ø p :Ø      :h ┆
0x02f1e0…02f200             fe 02 da f3 08 c2 f2 08 3a 5b 0a e6 80 3e 02 ca f3 08 3c 2a 65 43 44 4d 2a 63 43 cd b2 40 b7 ca   ┆        :Æ   >    <*eCDM*cC  @  ┆
0x02f200…02f220 (12, 1, 3)  44 4d 2a 52 11 22 58 11 22 5a 11 e5 cd 40 0e cd ab 18 cd 56 0c 13 e1 eb cd c8 2d 44 4d 2a 52 11   ┆DM*R "X "Z   @     V      -DM*R ┆
0x02f220…02f240             22 5a 11 cd 40 0e 44 4d 2a 52 11 cd f1 2c 11 5d 11 3a 5c 0a d6 05 ca 3b 0f af 12 cd 2a 10 cd 8c   ┆"Z  @ DM*R   , Å :Ø    ;    *   ┆
0x02f240…02f260             2d 22 71 11 af 32 73 11 cd a1 0b cd b8 11 e5 21 00 00 22 29 2c 3a 82 18 e6 40 ca 0b 10 2a 94 18   ┆-"q  2s        !  "),:   @   *  ┆
0x02f260…02f280             23 23 7e 3d ca 0b 10 21 98 18 22 2d 2c 36 01 23 3a 89 18 77 23 3a 7d 18 77 2a 94 18 eb 3a 82 18   ┆##ü=   !  "-,6 #:  w#:å w*   :  ┆
0x02f280…02f2a0             e6 80 3e 07 c2 89 0f 3e 03 cd 2a 10 cd 8c 2d 22 96 18 2a 94 18 11 5c 00 06 09 cd b7 38 3a 73 11   ┆  >    >  *   -"  *   Ø     8:s ┆
0x02f2a0…02f2c0             4f af 32 9b 18 47 cd a1 0b e5 04 cd 34 0c eb 21 04 00 19 7e e6 04 ca d2 0f 21 0d 00 19 79 be c2   ┆O 2  G      4  !   ü     !   y  ┆
0x02f2c0…02f2e0             d2 0f 3a 9b 18 77 78 32 9b 18 21 04 00 19 7e e6 fb 77 e1 cd 65 0b c2 a9 0f 11 96 18 2a 94 18 eb   ┆  :  wx2  !   ü  w  e       *   ┆
0x02f2e0…02f300             06 06 cd b7 38 2a a0 18 cd b8 11 3a 82 18 e6 40 ca 01 10 2a 94 18 11 5c 00 06 09 cd 1d 10 ca a1   ┆    8*     :   @   *   Ø        ┆
0x02f300…02f320             0f 2a a0 18 0c cd 65 0b c2 e8 0f 21 73 11 34 e1 cd 65 0b c2 4b 0f 2a 71 11 cd 72 2d c9 1a be c0   ┆ *    e    !s 4  e  K *q  r-    ┆
0x02f320…02f340             23 13 05 c2 1d 10 c9 cd 65 10 21 29 44 d5 cd 45 10 d1 2a 44 2c 22 32 2c 21 2c 44 cd 45 10 cd 67   ┆#       e !)D  E  *D,"2,!,D E  g┆
0x02f340…02f360             2c c2 11 11 c9 4f cd 72 10 79 c5 cd cf 2d c1 ca 63 10 c5 1a b7 cc b7 10 12 79 f6 80 cd f0 2d c2   ┆,    O r y   -  c        y    - ┆
0x02f360…02f380             11 11 c1 79 c9 d5 f5 0e 0d cd 54 39 cd 53 0b f1 d1 c9 d5 c5 eb 01 09 00 09 eb 06 03 cd b7 38 c1   ┆   y      T9 S                8 ┆
0x02f380…02f3a0             d1 c9 2a 32 2c 7e 32 5d 11 cd 8f 10 2a 44 2c e5 eb 21 10 00 45 19 eb cd b7 38 23 11 5e 11 06 08   ┆  *2,ü2Å    *D,  !  E    8# ^   ┆
0x02f3a0…02f3c0             eb cd b7 38 d1 0e 17 cd 54 39 c9 e5 c5 21 a3 43 06 01 cd b9 3f c1 e1 e5 d5 c5 21 80 00 06 08 13   ┆   8    T9   ! C    ?     !     ┆
0x02f3c0…02f3e0             cd 01 11 3e 2e cd 0d 11 06 03 1a f5 cd 01 11 36 00 f1 fe 4e 21 9f 43 06 08 c2 e0 10 21 a1 43 04   ┆   >.          6   N! C     ! C ┆
0x02f3e0…02f400             cd b9 3f cd 1d 41 4f cd 23 3e 79 c1 d1 e1 fe 03 ca 00 00 e6 5f d6 41 fa ab 10 fe 10 d2 ab 10 3c   ┆  ?  AO #>y         _ A        <┆
0x02f400…02f420 (12, 1, 4)  17 0e 11 c3 0d 17 0e 13 c3 0d 17 0e 0a 79 32 a8 18 37 c9 3a 5c 0a fe 02 c2 6a 18 37 c9 cd 35 17   ┆             y2  7 :Ø    j 7  5 ┆
0x02f420…02f440             ca 6a 18 c9 21 a2 18 7e 36 00 f5 cd 94 17 f1 be ca 35 17 b7 c9 3a 7e 0a b7 c8 37 c9 cd 8c 17 d8   ┆ j  !  ü6        5   :ü   7     ┆
0x02f440…02f460             cd 51 17 ca 3c 17 cd 8c 17 d8 cd 51 17 c2 46 17 c9 d5 cd ae 14 d1 7e e6 7f c9 cd d3 3c cd a3 3b   ┆ Q  <      Q  F       ü     <  ;┆
0x02f460…02f480             af c9 cd 8c 17 d0 cd 17 18 d8 cd 7d 17 34 c9 21 a2 18 7e b7 c8 35 cd 7d 17 dc 94 17 c9 cd b9 14   ┆           å 4 !  ü  5 å        ┆
0x02f480…02f4a0             c0 21 a2 18 7e b7 37 c8 35 c3 7d 17 cd ea 14 0e 06 37 c8 34 cd b9 14 c0 cd ea 14 37 c8 34 c3 94   ┆ !  ü 7 5 å      7 4       7 4  ┆
0x02f4a0…02f4c0             17 cd 0d 18 c8 da b6 17 1c 43 cd cb 17 d4 c7 17 2b d2 aa 17 af c9 3a 7d 18 93 47 cd cb 17 d4 c7   ┆         C      +     :å  G     ┆
0x02f4c0…02f4e0             17 23 d2 bb 17 af c9 05 c0 37 c9 e5 7d 2a 9e 18 95 32 a3 18 cd f2 17 e1 c8 7a e6 7f fe 02 da ec   ┆ #       7  å*   2       z      ┆
0x02f4e0…02f500             17 c5 4f 3a a3 18 cd 81 13 79 c1 d0 56 cd 67 12 af c9 21 7d 18 be c8 cd 3a 15 cd e1 14 c8 67 cd   ┆  O:     y  V g   !å    :     g ┆
0x02f500…02f520             1c 15 ca 0a 18 7c cd 2b 15 c8 fe 58 c9 cd ae 14 cd 2a 18 cd b9 14 c8 cd f8 14 c2 23 18 cd 16 15   ┆     ø +   X     *         #    ┆
0x02f520…02f540             fe 01 c9 e5 2a a2 18 bd e1 c9 cd 1c 15 c0 16 01 c9 cd 0d 18 c8 da 4b 18 2a 9e 18 3a a2 18 3c 47   ┆    *                 K *  :  <G┆
0x02f540…02f560             cd bb 17 c9 f5 7a cd 67 12 f1 c9 3a 7d 18 93 5f d5 16 00 19 d1 2b 43 c4 aa 17 c9 21 f3 43 cd 77   ┆     z g   :å  _     +C    ! C w┆
0x02f560…02f580             3a c3 61 18 21 e7 43 c3 6d 18 21 e5 43 79 fe 20 d2 75 18 c6 40 32 01 44 cd 77 3a b7 c9 1e 34 cd   ┆: a ! C m ! Cy   u  @2 D w:   4 ┆
0x02f580…02f5a0             30 34 c3 6b 34 22 90 2e 2a 06 00 2b f9 2b 2b 22 1e 2e 2a 90 2e e5 3a 28 2e b7 c2 00 00 32 21 2e   ┆04 k4" .*  + ++" .* . :(.    2!.┆
0x02f5a0…02f5c0             2a 1e 2e f9 cd 16 00 3a ad 33 fe 3e 80 cd b6 18 cd 5d 0c c9 3e 00 32 db 1f af cd a1 0b cd b8 11   ┆* .    : 3 >     Å  > 2         ┆
0x02f5c0…02f5e0             cd 0b 19 cd cd 18 cd 65 0b c2 bd 18 c9 e5 cd f9 18 3a db 1f d6 80 ca dc 18 7e e6 fc 77 e1 3a 5c   ┆       e         :       ü  w :Ø┆
0x02f5e0…02f600             0a fe 04 c0 06 01 c3 eb 18 06 00 e5 cd f9 18 7e e6 fe b0 77 32 84 18 e1 c9 2a a0 18 cd 34 0c d5   ┆               ü   w2    *   4  ┆
0x02f600…02f800 (12, 1, 5)  DataBlock {»VERIFY.COM«}
0x02f800…02f880 (12, 1, 6)  DataBlock {»CHAININF.DEP«}
0x02f880…02f8a0             00 45 4e 54 52 59 4d 45 20 43 4f 4d 00 00 00 80 18 00 19 00 1a 00 1b 00 1c 00 1d 00 1e 00 1f 00   ┆ ENTRYME COM                    ┆
0x02f8a0…02f8c0             00 45 4e 54 52 59 4d 45 20 43 4f 4d 01 00 00 80 20 00 21 00 22 00 23 00 24 00 25 00 26 00 27 00   ┆ ENTRYME COM      ! " # $ % & ' ┆
0x02f8c0…02f8e0             00 45 4e 54 52 59 4d 45 20 43 4f 4d 02 00 00 0b 28 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆ ENTRYME COM    (               ┆
0x02f8e0…02f900             00 45 4e 54 52 59 20 20 20 43 4f 4d 00 00 00 80 29 00 2a 00 2b 00 2c 00 2d 00 2e 00 2f 00 30 00   ┆ ENTRY   COM    ) * + , - . / 0 ┆
0x02f900…02f920             00 45 4e 54 52 59 20 20 20 43 4f 4d 01 00 00 80 31 00 32 00 33 00 34 00 35 00 36 00 37 00 38 00   ┆ ENTRY   COM    1 2 3 4 5 6 7 8 ┆
0x02f920…02f940             00 45 4e 54 52 59 20 20 20 43 4f 4d 02 00 00 31 39 00 3a 00 3b 00 3c 00 00 00 00 00 00 00 00 00   ┆ ENTRY   COM   19 : ; <         ┆
0x02f940…02f960             00 56 45 52 49 46 59 20 20 43 4f 4d 00 00 00 80 3d 00 3e 00 3f 00 40 00 41 00 42 00 43 00 44 00   ┆ VERIFY  COM    = > ? @ A B C D ┆
0x02f960…02f980             00 56 45 52 49 46 59 20 20 43 4f 4d 01 00 00 80 45 00 46 00 47 00 48 00 49 00 4a 00 4b 00 4c 00   ┆ VERIFY  COM    E F G H I J K L ┆
0x02f980…02f9a0             00 56 45 52 49 46 59 20 20 43 4f 4d 02 00 00 24 4d 00 4e 00 4f 00 00 00 00 00 00 00 00 00 00 00   ┆ VERIFY  COM   $M N O           ┆
0x02f9a0…02f9c0             00 43 48 41 49 4e 49 4e 46 44 45 50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆ CHAININFDEP                    ┆
0x02f9c0…02f9e0             e5 44 45 50 46 4f 52 4d 20 44 45 50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆ DEPFORM DEP                    ┆
0x02f9e0…02fa00             e5 58 52 45 46 20 20 20 20 43 4f 4d 01 00 00 80 40 00 41 00 42 00 43 00 44 00 45 00 46 00 47 00   ┆ XREF    COM    @ A B C D E F G ┆
0x02fa00…02fa20 (12, 1, 7)  c9 1a 13 fe 20 c4 0d 11 05 c2 01 11 c9 77 23 c9 af 32 25 11 21 20 11 11 93 43 cd ee 16 c3 76 0e   ┆             w#  2% !    C    v ┆
0x02fa20…02fa40             81 ff 02 fe 82 00 2a 27 2c 36 ff 23 36 ff eb 2a 5a 11 13 7e 12 23 fe 0d c2 32 11 cd 61 37 cd ac   ┆      *',6 #6  *Z  ü #   2  a7  ┆
0x02fa40…02fa60             30 c9 0b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆0                               ┆
0x02fa60…02fa80             00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 af 32 a8 18 3e 04 32 db 1f cd   ┆                       2  > 2   ┆
0x02fa80…02faa0             15 12 c0 cd f5 3a cd 93 12 cd bc 12 d8 21 db 1f 7e f5 36 04 cd e7 12 cd 1d 41 32 a6 18 4f cd 02   ┆     :       !  ü 6      A2  O  ┆
0x02faa0…02fac0             1a cd f3 12 f5 cd 95 1a cd 09 3a f1 d2 94 11 f1 32 db 1f cd 6d 15 79 c9 e5 d5 c5 22 a0 18 7e fe   ┆          :     2   m y    "  ü ┆
0x02fac0…02fae0             10 d2 c5 11 23 23 11 7d 18 06 0f cd b7 38 22 8c 18 3a 7d 18 5f 01 00 00 3a 82 18 e6 02 ca e1 11   ┆    ## å     8"  :å _   :       ┆
0x02fae0…02fb00             4b 09 22 8e 18 09 22 90 18 3a 82 18 e6 04 4f ca f4 11 4b 09 22 92 18 09 22 94 18 cd 22 15 ca 05   ┆K "   "  :    O   K "   "   "   ┆
0x02fb00…02fb20             12 01 0c 00 09 22 9c 18 2a 7e 18 cd 00 3c 22 9e 18 c1 d1 e1 c9 cd b8 11 0e 01 cd 5d 12 c8 3a 84   ┆     "  *ü   <"            Å  : ┆
0x02fb20…02fb40             18 e6 04 c2 43 12 3a 81 18 e6 02 c8 cd 48 12 c8 3a 81 18 e6 20 ca 43 12 3a a6 18 b9 c8 cd 7c 1d   ┆    C :      H  :     C :     ø ┆
0x02fb40…02fb60             fe 02 c8 0e 06 79 b7 c9 3a 67 0a b7 c0 e5 2a 2b 2c 7d b4 e1 c0 3a 81 18 e6 80 d6 80 c9 cd 1c 15   ┆     y  :g    *+,å   :          ┆
0x02fb60…02fb80             c8 3a 5f 0a fe 01 c9 c5 46 cd 9b 0b 90 e6 7f c4 79 12 c1 7c 32 aa 18 7e c9 3a db 1f fe 01 c8 3e   ┆ :_     F       y  ø2  ü :     >┆
0x02fb80…02fba0             ff 32 a7 18 cd e4 18 3a db 1f fe 04 c0 06 03 cd eb 18 c9 e5 cd 9c 12 cd b9 3a e1 c9 3a 7e 0a b7   ┆ 2     :                 :  :ü  ┆
0x02fba0…02fbc0             21 4a 43 c8 3a 5f 0a b7 21 11 43 c0 3a 5c 0a fe 00 c8 fe 02 21 37 43 c8 21 24 43 c9 21 a2 18 cd   ┆!JC :_  ! C :Ø      !7C !$C !   ┆
0x02fbc0…02fbe0             ca 12 7e 3c 32 a5 18 3e 06 c9 cd 1c 15 36 00 ca 94 17 cd f8 14 77 c0 cd 16 15 77 ca 94 17 3a 7d   ┆  ü<2  >     6       w    w   :å┆
0x02fbe0…02fc00             18 77 cd 7d 17 34 c9 cd f5 3a cd fb 39 c9 77 c4 fb 39 c9 79 fe 7f ca 5f 15 fe 20 da d5 15 fe 2a   ┆ w å 4   :  9 w  9 y   _       *┆
0x02fc00…02fc20 (12, 1, 8)  11 07 00 19 d1 c9 3e 00 32 db 1f cd 2f 19 3a db 1f fe 80 c4 66 19 cd c5 19 cd 02 1a cd 95 1a c9   ┆      > 2   / :     f           ┆
0x02fc20…02fc40             2a 27 2c eb 3e 01 c3 b6 18 eb 3e 40 c3 b6 18 e5 d5 c5 cd 14 1b f5 7e e6 7e ca 52 19 3a db 1f fe   ┆*', >     >@          ü ü R :   ┆
0x02fc40…02fc60             00 c2 52 19 cd 31 15 ca 52 19 0a d6 58 fe 02 da 5b 19 3a db 1f e6 80 07 cd 9b 0b 23 03 f1 3d c2   ┆  R  1  R   X   Æ :        #  = ┆
0x02fc60…02fc80             35 19 c1 d1 e1 c9 3a db 1f fe 00 c8 e5 c5 21 82 18 46 c5 fe 40 ca 7d 19 fe 01 c2 89 19 3a 81 18   ┆5     :       !  F  @ å      :  ┆
0x02fc80…02fca0             e6 40 ca 89 19 78 e6 fd 77 cd bc 12 cd bd 19 ca b5 19 b7 ca b5 19 fe 2e c2 a6 19 cd f8 14 3e 2e   ┆ @   x  w              .      >.┆
0x02fca0…02fcc0             ca a6 19 3a 2f 44 4f d5 cd 1d 13 d1 d2 8c 19 cd bd 19 c2 af 19 c1 21 82 18 70 c1 e1 c9 1a fe 0d   ┆   :/DO               !  p      ┆
0x02fcc0…02fce0             c8 13 fe 2c c9 cd 31 15 c8 e5 d5 c5 cd ef 19 cd 14 1b 5f 16 00 7e e6 7f 4f 7a cd 81 13 da e4 19   ┆   ,  1           _  ü  Oz      ┆
0x02fce0…02fd00             af cd 9b 0b 23 14 7a bb c2 d5 19 c1 d1 e1 c9 cd 14 1b cd f8 14 c8 4f 06 00 09 eb 09 7e eb cd 9b   ┆    # z               O     ü   ┆
0x02fd00…02fd20             0b c9 e5 d5 c5 cd 42 1a da 2a 1a ca 26 1a 7e e6 7f b9 c2 22 1a af cd 9b 0b 23 1d c2 0e 1a c1 d1   ┆      B  *  & ü    "     #      ┆
0x02fd20…02fd40             e1 c9 90 cc 9b 0b c1 d1 e1 c9 16 00 19 2b 7e e6 7f b9 c2 22 1a af cd 9b 0b 2b 1d c2 2e 1a c1 d1   ┆             +ü    "     +  .   ┆
0x02fd40…02fd60             e1 c9 cd 1c 15 c8 cd 02 15 4f cd 0c 15 47 b1 c8 2a 9e 18 3a 7d 18 5f cd 16 15 c0 3c 37 c9 cd 31   ┆         O   G  *  :å _    <7  1┆
0x02fd60…02fd80             15 c8 e5 d5 c5 cd 0f 1b f5 cd c3 1a 3a dc 1f cc 9b 0b cd f8 14 c4 84 1a 23 13 03 f1 3d c2 68 1a   ┆            :           #   = h ┆
0x02fd80…02fda0             c1 d1 e1 c9 e5 21 a2 18 34 be e1 c0 36 2e cd 1c 15 c0 36 01 c9 e5 d5 c5 cd ab 1a cd 1c 15 cc ef   ┆     !  4   6.    6             ┆
0x02fda0…02fdc0             19 cd ce 1a cd 31 1b c1 d1 e1 c9 cd 31 15 c8 cd 14 1b f5 cd c3 1a 1a cc 9b 0b 23 13 03 f1 3d c2   ┆     1      1             #   = ┆
0x02fdc0…02fde0             b2 1a c9 7e e6 7f 0a c2 e1 14 cd de 14 c9 cd 31 15 c8 cd 14 1b f5 cd eb 1a ca e2 1a 3a dc 1f cd   ┆   ü           1            :   ┆
0x02fde0…02fe00             9b 0b 23 13 03 f1 3d c2 d5 1a c9 0a cd e4 14 16 01 c2 0d 1b fe 27 c2 fa 1a 14 2b cd 06 1b 23 c8   ┆  #   =              '    +   # ┆
0x02fe00…02fe20 (12, 1, 9)  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
0x02fe20…02fe40             00 00 00 00 00 00 00 00 00 00 0d 43 09 5e 04 00 af 32 80 00 cd 2e 0b cd 32 3c cd 80 0a c3 46 03   ┆           C ^   2   .  2<    F ┆
0x02fe40…02fe60             cd 2e 0b cd 32 3c 2a 2c 03 22 7b 0a cd a8 0c cd b0 0d c4 d5 0e c2 4c 03 cd fd 0e cd d3 3c cd c0   ┆ .  2<*, "æ           L      <  ┆
0x02fe60…02fe80             03 3a f3 39 b7 c2 11 11 cd e4 3a cd 88 08 79 d4 31 09 da 80 03 cd a1 0b cd 76 11 f5 cd 87 07 f1   ┆ : 9      :   y 1        v      ┆
0x02fe80…02fea0             4f 21 92 03 fe 17 da d9 15 cd 6a 18 2a a0 18 c3 78 03 89 03 04 04 cb 06 89 03 31 08 d5 06 31 04   ┆O!        j *   x         1   1 ┆
0x02fea0…02fec0             89 03 89 03 2c 08 3a 08 3f 08 98 06 50 08 1a 08 d3 05 15 08 fe 06 f1 06 66 08 c1 06 d8 05 55 08   ┆    , : ?   P           f     U ┆
0x02fec0…02fee0             cd 6d 21 3e 03 32 5c 0a cd ab 18 3e ff 32 5c 0a cd 09 34 2a 27 2c e5 7e 22 27 2c 3c 23 ca d7 03   ┆ m!> 2Ø    > 2Ø   4*', ü"',<#   ┆
0x02fee0…02ff00             cd 20 19 cd 56 0c e1 22 27 2c 36 0d cd b4 18 3a 69 11 e6 04 c8 cd b8 1f cd a1 0b cd b8 11 06 04   ┆    V  "',6    :i               ┆
0x02ff00…02ff20             cd eb 18 c9 3a 5f 0a b7 ca 17 04 21 5e 0a 7e b7 ca 8c 03 35 c3 3c 04 2a a0 18 cd 6e 0b ca 78 03   ┆    :_     !^ ü    5 < *   n  x ┆
0x02ff20…02ff40             cd 15 12 c2 17 04 e5 cd bc 12 e1 da 17 04 c3 78 03 3a 5f 0a b7 ca 79 04 21 5e 0a 34 5e 2a 2d 2c   ┆               x :_   y !^ 4^*-,┆
0x02ff40…02ff60             7e bb ca 4e 04 16 00 19 19 23 7e c3 75 03 cd 18 42 cd a8 41 cd c2 0b cd fb 30 da 10 11 c2 6d 04   ┆ü  N     #ü u   B  A     0    m ┆
0x02ff60…02ff80             cd 0e 09 cd 25 0a af 32 5f 0a c3 c1 06 21 75 43 cd 77 3a cd 62 09 c3 75 03 2a a0 18 cd 65 0b c2   ┆    %  2_    !uC w: b  u *   e  ┆
0x02ff80…02ffa0             78 03 cd 18 42 cd 1c 15 ca 44 08 af cd a1 0b cd b8 11 3a 81 18 e6 02 c2 a3 04 cd 81 1b dc c9 05   ┆x   B    D        :             ┆
0x02ffa0…02ffc0             da 80 03 cd 65 0b c2 8f 04 3a 5c 0a fe 08 ca 2f 07 fe 04 ca c6 04 b7 c2 72 05 3a 67 0a b7 c2 ed   ┆    e    :Ø    /        r :g    ┆
0x02ffc0…02ffe0             04 3e 04 cd d8 08 0e 0c 3a 6a 11 b9 da de 04 0c 21 7e 0a 77 cd e6 1c 74 da 80 03 c3 c8 04 cd d5   ┆ >      :j      !ü w   t        ┆
0x02ffe0…030000             08 3a 5c 0a fe 04 ca 8b 05 b7 c2 54 05 21 6f 43 cd 4d 0a da 61 03 c2 c1 06 cd 09 05 c2 c1 06 3a   ┆ :Ø        T !oC M  a          :┆
0x030000…030020 (12, 1, 10) 03 ca 00 00 d1 d5 0e 1a cd 05 00 11 5c 00 0e 14 cd 05 00 d1 21 80 00 19 eb b7 ca 8c 00 fe 01 c2   ┆            Ø       !           ┆
0x030020…030040             00 00 11 80 00 0e 1a cd 05 00 f1 c3 09 01 2a 0d 43 11 0d 43 19 eb 2a 2c 03 cd b9 39 da 40 0b eb   ┆              * C  C  *,   9 @  ┆
0x030040…030060             11 64 00 19 22 2c 03 d1 f9 d5 0e 19 cd 54 39 32 5c 11 c9 0e 0e 3a 5c 11 5f cd 54 39 11 80 00 0e   ┆ d  ",       T92Ø    :Ø _ T9    ┆
0x030060…030080             1a cd 54 39 c9 c5 cd 8c 0b 09 c1 7e b7 c9 d5 2b 5e 16 00 7b b7 23 ca 8a 0b fe 0d d2 84 0b 57 2b   ┆  T9       ü   +^  æ #        W+┆
0x030080…0300a0             2b 5e 23 23 cd 5a 0e 19 f6 ff d1 c9 4e 06 00 79 fe 0d d0 b7 c8 47 23 4e 2b c9 79 ae e6 7f ae 77   ┆+^## Z      N  y     G#N+ y    w┆
0x0300a0…0300c0             c9 2a 6f 11 be d2 72 0e 23 23 b7 c8 f5 cd 65 0b f1 3d c2 ac 0b c9 eb 2a 56 11 eb cd f2 0b 2a 56   ┆ *o   r ##    e  =     *V     *V┆
0x0300c0…0300e0             11 c9 2a 56 11 eb 2a 2d 2c 4e 3a 67 0a 47 23 7e 23 e5 c5 46 cd a1 0b cd b8 11 cd 21 0c cd f2 0b   ┆  *V  *-,N:g G#ü#  F       !    ┆
0x0300e0…030100             c1 e1 3a 81 18 a0 47 0d c2 ce 0b 2a 56 11 32 7f 0a c9 cd 05 0c af cd 3b 0c 0c 3e 20 0d ca 10 0c   ┆  :   G    *V 2        ;  >     ┆
0x030100…030120             12 13 c3 fc 0b cd 17 0c c0 cd 02 1a cd 5e 1a c9 cd 17 0c cc 95 1a c9 cd 1c 15 c8 3a 81 18 e6 40   ┆             ^             :   @┆
0x030120…030140             c9 d5 cd 34 0c 46 23 5e 23 56 23 4e eb c5 cd 00 3c c1 d1 c9 7e fe 0d 23 d0 23 c9 32 48 0c 48 7e   ┆   4 F#^#V#N    <   ü  # # 2H Hü┆
0x030140…030160             e6 7f fe 2c c2 49 0c f6 80 12 b7 ca 50 0c 0d 13 23 05 c2 3f 0c c9 2a 5a 11 af c3 68 0c 2a 58 11   ┆   , I      P   #  ?  *Z   h *X ┆
0x030160…030180             c3 66 0c 2a 27 2c 3e 80 47 eb 2a 6f 11 23 23 e5 cd b8 11 c5 3a 81 18 b0 e6 80 ca 8b 0c cd 21 0c   ┆ f *',> G *o ##     :         ! ┆
0x030180…0301a0             cd 05 0c 3e 80 cd 3b 0c cd 10 0c 3e 2c 12 13 c1 e1 cd 65 0b c2 6f 0c 1b 3e 0d 12 c9 eb 01 00 01   ┆   >  ;    >,     e  o  >       ┆
0x0301a0…0301c0             cd 6a 3f fe 03 ca 00 00 3a 5c 0a fe 05 ca c9 0c 21 80 00 7e b7 c2 3b 0d cd 65 10 21 85 43 06 06   ┆ j?     :Ø      !  ü  ;  e ! C  ┆
0x0301c0…0301e0             cd b9 3f 21 42 11 cd 5a 40 21 43 11 7e b7 11 87 43 ca 9c 0c 47 4f 23 7e fe 60 da e0 0c e6 5f 77   ┆  ?!B  Z@!C ü   C   GO#ü `    _w┆
0x0301e0…030200             23 05 c2 d7 0c 36 00 21 45 11 7e 2b fe 3a 3e 00 c2 05 0d 7e d6 40 23 23 0d 0d 11 89 43 ca 9c 0c   ┆#    6 !E ü+ :>    ü @##    C   ┆
0x030200…030220 (12, 1, 11) cc 0d 13 cd 1a 12 37 cc 1d 13 0e 06 c9 cd 1c 15 c0 0e 01 c9 cd 55 15 c5 4f cd 38 13 c1 cd b9 14   ┆      7              U  O 8     ┆
0x030220…030240             ca 64 13 cd 17 18 ca 52 13 cd f2 14 ca 14 13 3a a2 18 cd 81 13 d2 c6 13 cd ae 14 79 cd 67 12 cd   ┆ d     R       :           y g  ┆
0x030240…030260             62 17 d8 cd ea 14 c4 51 17 c8 cd 28 15 ca 3f 13 b7 c9 cd 1c 15 ca 38 13 3a 2f 44 b9 ca 29 13 cd   ┆b      Q   (  ?       8 :/D  )  ┆
0x030260…030280             64 13 b7 c9 cd ae 14 51 43 2b af 32 aa 18 cd aa 17 3a aa 18 b7 ca 64 18 2a 9e 18 7e e6 7f c8 37   ┆d      QC+ 2     :    d *  ü   7┆
0x030280…0302a0             c9 32 a3 18 cd 3a 15 cd de 14 37 c8 79 fe 01 37 c8 3a a3 18 cd 58 15 b7 37 c8 fe 5f 37 c8 e5 d5   ┆ 2   :    7 y  7 :   X  7  _7   ┆
0x0302a0…0302c0             c5 21 2f 44 cd b8 13 fe 13 d2 5b 18 21 d5 13 cd d9 15 79 c1 4f d1 e1 c9 e5 be 23 c2 b9 13 2b 7d   ┆ !/D      Æ !     y O     #   +å┆
0x0302c0…0302e0             e1 95 32 a4 18 c9 3a a4 18 5f 16 00 21 bf 43 19 19 cd 6d 18 c9 fb 13 11 14 20 14 2d 14 4d 14 2a   ┆  2   :  _  ! C   m        - M *┆
0x0302e0…030300             14 4a 14 55 14 5c 14 26 14 46 14 6b 14 80 14 67 14 7c 14 88 14 8f 14 63 14 78 14 3a a3 18 cd 58   ┆ J U Ø & F k   g ø     c x :   X┆
0x030300…030320             15 91 fe 01 d8 21 a2 18 46 cd 6f 17 7e 70 c3 81 13 79 fe 26 c8 fe 27 c8 fe 2c c8 d6 23 fe 0c d8   ┆     !  F o üp   y &  '  ,  #   ┆
0x030320…030340             79 d6 30 fe 0a c9 cd 20 14 d8 cd 96 14 79 d6 41 fe 1a d8 21 ff 43 cd c7 40 79 b7 34 35 f8 be 37   ┆y 0          y A   ! C  @y 45  7┆
0x030340…030360             c8 23 13 c3 3a 14 cd 20 14 d8 cd 96 14 79 fe 20 37 c4 2d 14 c9 cd 2d 14 d4 20 14 c9 cd 4d 14 d4   ┆ #  :        y  7 -   -      M  ┆
0x030360…030380             20 14 c9 cd 20 14 d8 cd 2d 14 d8 79 d6 61 fe 1a d8 21 fd 43 cd 36 14 c9 cd 20 14 d8 cd 2d 14 d8   ┆        -  y a   ! C 6       -  ┆
0x030380…0303a0             79 fe 20 37 c4 6b 14 c9 cd 20 14 d4 6b 14 c9 cd 20 14 d4 80 14 c9 79 11 00 00 cd 6b 14 d0 ca a5   ┆y  7 k      k         y    k    ┆
0x0303a0…0303c0             14 c6 41 4f c9 21 ff 43 cd c7 40 19 4e c9 2a 9e 18 3a a2 18 5f 16 00 19 c9 e5 cd ea 14 e1 c8 cd   ┆  AO ! C  @ N *  :  _           ┆
0x0303c0…0303e0             37 15 32 a9 18 e5 cd 51 17 c4 1c 15 e1 3a a9 18 ca d6 14 fe 58 c8 fe 22 c8 fe 2f 37 3f c9 fe 7e   ┆7 2    Q     :      X  "  /7?  ü┆
0x0303e0…030400             c8 fe 22 c8 fe 27 c8 fe 2f c9 21 a2 18 3a 7d 18 be c9 cd 37 15 fe 27 c9 3a 80 18 e6 20 c8 3a 83   ┆  "  '  / !  :å    7  ' :     : ┆
0x030400…030420 (12, 1, 12) 23 cd 06 1b 2b c9 7e e6 7e c2 0d 1b 14 15 c9 3e ff 32 a2 18 cd 1c 15 3e 00 c2 1e 1b 3e 01 32 dc   ┆#   + ü ü      > 2     >    > 2 ┆
0x030420…030440             1f 3a 7d 18 2a 8c 18 44 4d 2a 8e 18 eb 2a 9e 18 c9 cd 42 1a c8 16 00 da 63 1b cd 7b 1b c2 4d 1b   ┆ :å *  DM*   *    B     c  æ  M ┆
0x030440…030460             15 1d ca 4d 1b 23 cd 7b 1b ca 41 1b 2b 78 b7 c4 9b 0b cd 50 1a 7e e6 7f cc 9a 0b 23 1d c2 55 1b   ┆   M # æ  A +x     P ü     #  U ┆
0x030460…030480             7a b7 c9 19 2b cd 7b 1b c2 4d 1b 15 1d ca 4d 1b 2b cd 7b 1b ca 6c 1b 23 c3 4d 1b 7e e6 7f c8 b9   ┆z   + æ  M    M + æ  l # M ü    ┆
0x030480…0304a0             c9 e5 d5 c5 cd 93 12 cd 94 1b d4 1e 1c d4 a3 1c c1 d1 e1 c9 cd a6 1b d0 cd f5 3a 21 f5 43 cd 49   ┆                          :! C I┆
0x0304a0…0304c0             1c cd 8d 11 37 c9 cd 02 1a cd 14 1b 5f 3a 80 18 e6 01 57 cd 31 15 c2 bb 1b 44 4d 7e e6 7f ca c6   ┆    7       _:    W 1    DMü    ┆
0x0304c0…0304e0             1b 16 00 c3 cc 1b 0a fe 21 ca f4 1b 23 03 1d c2 bb 1b 7a b7 c2 fd 1b cd 14 1b 57 cd f8 14 cc 16   ┆        !   #     z       W     ┆
0x0304e0…030500             15 c4 04 1c cd 11 1c 5a cd f8 14 3e 00 cc 16 15 b7 cc 04 1c cd 96 1c f5 cd 31 1b f1 c9 cd bc 12   ┆       Z   >             1      ┆
0x030500…030520             37 c3 f7 1b 7e e6 7f c0 23 15 c2 04 1c e1 c3 f7 1b 7e e6 7f c8 23 15 c2 11 1c e1 c3 f7 1b 3a 82   ┆7   ü   #        ü   #        : ┆
0x030520…030540             18 e6 04 c8 cd 4f 1c d0 cd 33 1c 21 f7 43 cd 9e 1b 37 c9 3a 7d 18 32 04 44 32 09 44 2a 90 18 22   ┆     O   3 ! C   7 :å 2 D2 D*  "┆
0x030540…030560             05 44 2a 92 18 22 0a 44 c9 cd f5 3a c3 77 3a 2a 90 18 eb 2a 9e 18 3a 7d 18 47 7e e6 7f ca 6a 1c   ┆ D*  " D   : w:*   *  :å Gü   j ┆
0x030560…030580             1a cd 8b 1c da 70 1c c2 95 1c 23 13 05 c2 5a 1c 2a 92 18 eb 2a 9e 18 3a 7d 18 47 1a b7 c4 8b 1c   ┆     p    #   Z *   *  :å G     ┆
0x030580…0305a0             da 95 1c c0 23 13 05 c2 7b 1c c9 c5 47 7e e6 7f 4f 78 b9 c1 c9 58 3a 7d 18 93 32 a2 18 3c 32 a5   ┆    #   æ   Gü  Ox   X:å  2  <2 ┆
0x0305a0…0305c0             18 37 c9 3a 82 18 e6 08 c8 cd b8 1c d0 21 fb 43 cd 49 1c cd 86 11 37 c9 2a a0 18 eb af 47 cd a1   ┆ 7 :         ! C I    7 *    G  ┆
0x0305c0…0305e0             0b cd b9 39 ca d1 1c 04 cd 65 0b c2 c1 1c c3 5b 18 21 e1 1c 70 06 05 cd dd 20 3a e6 28 b7 c8 37   ┆   9     e     Æ !  p     : (  7┆
0x0305e0…030600             c9 c5 fa fe 31 31 e5 d5 c5 11 0a 00 cd 4e 1e ca 30 1d cd b8 11 cd 76 1d ca 2e 1d cd 02 1a 2a 9e   ┆    11       N  0     v  .    * ┆
0x030600…030620 (12, 1, 13) 67 0a b7 cc 56 0c c3 61 03 cd c2 0b cd fb 30 da 10 11 cc 20 05 cd 63 0c cd fd 35 da 10 11 af c9   ┆g   V  a      0       c   5     ┆
0x030620…030640             3a 69 11 e6 06 c8 e6 04 3a 5c 0a c2 43 05 fe 04 ca 39 05 3a 7f 0a e6 02 c0 e1 21 83 43 cd 77 3a   ┆:i      :Ø  C    9 :      ! C w:┆
0x030640…030660             f6 ff c9 fe 04 ca 4d 05 3a 67 0a b7 c0 e1 cd c3 1f c3 09 05 21 71 43 cd 4d 0a da 61 03 c2 c1 06   ┆      M :g          !qC M  a    ┆
0x030660…030680             cd 4d 38 da 10 11 cd 09 05 ca 61 03 cd 76 38 c3 c1 06 3a a7 18 b7 c2 ba 04 21 73 43 cd 4d 0a c2   ┆ M8       a  v8   :      !sC M  ┆
0x030680…0306a0             c1 06 dc 4d 38 da 10 11 c3 61 03 cd af 05 cd 09 05 c2 a3 05 cd 56 0c cd bc 05 cd 4d 38 da 10 11   ┆   M8    a           V     M8   ┆
0x0306a0…0306c0             c3 61 03 cd bc 05 cd 7d 16 d2 a6 05 c3 81 03 2a 79 0a cd 68 2d 2a 65 0a cd 72 2d c9 2a 65 0a cd   ┆ a     å       *y  h-*e  r- *e  ┆
0x0306c0…0306e0             68 2d 2a 79 0a cd 72 2d c9 4f 3a 5c 0a fe 04 c8 79 37 c9 3e ff c3 d9 05 af 32 7d 0a 16 00 2a 6d   ┆h-*y  r- O:Ø    y7 >     2å   *m┆
0x0306e0…030700             11 3e 0d cd 3b 06 1e 00 43 7e cd 56 06 23 cd 3b 06 1c 3a 6b 11 bb c2 e9 05 06 00 14 3a 6c 11 ba   ┆ >  ;   Cü V # ;  :k        :l  ┆
0x030700…030720             ca 0e 06 3e 0a cd 3b 06 cd e0 41 ca e1 05 3e 0c cd 3b 06 cd e0 41 c2 31 06 3a 5c 0a fe 02 c2 31   ┆   >  ;   A   >  ;   A 1 :Ø    1┆
0x030720…030740             06 af 0e bf cd 23 08 cd 31 09 cd 59 42 04 c2 dc 05 cd e0 41 c4 1d 41 af c3 75 03 04 fe 20 c8 d5   ┆     #  1  YB      A  A  u      ┆
0x030740…030760             f5 0e 05 05 ca 4f 06 1e 20 cd 54 39 c3 43 06 f1 5f cd 54 39 d1 c9 e6 7f fe 20 d2 5f 06 3e 20 e5   ┆     O    T9 C  _ T9       _ >  ┆
0x030760…030780             2a 7d 0a 2c e1 c0 e5 21 97 06 35 e1 c0 e5 c5 4f af cd a1 0b e5 cd 34 0c 46 23 7e bb 23 7e e1 c2   ┆*å ,   !  5    O      4 F#ü #ü  ┆
0x030780…0307a0             86 06 ba ca 8f 06 cd 65 0b c2 74 06 01 20 01 78 32 97 06 79 c1 e1 c9 01 3a 5f 0a b7 ca ab 06 2a   ┆       e  t    x2  y    :_     *┆
0x0307a0…0307c0             2d 2c 5e 1d 21 5e 0a 73 c3 3c 04 2a a0 18 e5 cd 15 12 c2 b7 06 d1 e5 cd 65 0b c2 af 06 e1 c3 78   ┆-,^ !^ s < *            e      x┆
0x0307c0…0307e0             03 3a 5f 0a b7 c4 68 09 c3 75 03 3a 5f 0a b7 c2 4e 04 c3 82 04 cd f7 06 cd 26 11 cd d3 3c cd 53   ┆ :_   h  u :_   N        &   < S┆
0x0307e0…030800             0b 2a 7b 0a 22 2c 03 af 32 80 00 32 0d 44 c3 4c 03 cd f7 06 c3 61 03 cd f4 07 cd 0e 09 c9 cd f7   ┆ *æ ",  2  2 D L     a          ┆
0x030800…030820 (12, 1, 14) fe 11 d2 9c 0c 11 5c 00 12 13 06 08 cd 18 0d 06 03 7e b7 0e 01 c2 f9 0c 7e b7 3e 20 ca 32 0d 7e   ┆      Ø          ü      ü >  2 ü┆
0x030820…030840             fe 03 ca 84 0e fe 30 d8 fe 5b d0 d6 3a fe 07 d8 7e 23 12 13 05 c2 18 0d af 12 c9 47 05 fa b8 0c   ┆      0  Æ  :   ü#         G    ┆
0x030840…030860             23 7e fe 20 ca 3c 0d 04 78 fe 0c d2 b8 0c 11 43 11 12 13 cd b7 38 af 12 c3 c9 0c 22 6d 11 01 04   ┆#ü   <  x      C     8     "m   ┆
0x030860…030880             00 21 69 11 cd 22 0e 3a 6c 11 47 3a 6b 11 cd 71 42 42 4b 2a 6d 11 cd 22 0e 22 6f 11 11 01 00 0e   ┆ !i  " :l G:k  qBBK*m  " "o     ┆
0x030880…0308a0             02 e5 cd 22 0e e3 4e eb 09 eb e1 0e 01 cd 22 0e 2b 4e 23 79 b7 ca ad 0d fe 0d d2 a9 0d c5 0e 01   ┆   "  N       " +N#y            ┆
0x0308a0…0308c0             cd 22 0e c1 41 2b 4e 23 0b 0b c3 81 0d eb af c9 11 5c 00 cd 2a 39 21 80 00 36 00 c0 3a 5c 0a fe   ┆ "  A+N#         Ø  *9!  6  :Ø  ┆
0x0308c0…0308e0             05 c4 9f 0a 21 00 01 22 50 11 01 08 00 21 5e 11 cd 22 0e cd cb 0e 21 5f 43 cd c7 40 eb 21 43 11   ┆    !  "P    !^  "    !_C  @ !C ┆
0x0308e0…030900             46 4e 23 cd b7 38 3e 0b 91 3c 4f 3e 20 12 13 0d c2 ed 0d 21 5d 00 11 5e 11 06 08 cd b7 38 03 2a   ┆FN#  8>  <O>       !Å  ^     8 *┆
0x030900…030920             2c 03 22 2d 2c cd 22 0e 2b 7e 87 4f 23 c4 22 0e 22 56 11 eb 2a 2d 2c 01 78 00 09 cd 5b 0d 22 29   ┆, "-, " +ü O# " "V  *-, x   Æ ")┆
0x030920…030940             2c c9 d5 e5 cd 40 0e d1 2a 50 11 7c 3d cc 62 0e 7e 12 23 13 0b 78 b1 c2 2b 0e 22 50 11 eb d1 c9   ┆,    @  *P ø= b ü #  x  + "P    ┆
0x030940…030960             09 22 52 11 eb cd 5a 0e 2a 06 00 25 19 d2 54 0e 22 54 11 c9 11 93 43 c3 75 0e 7b 2f 5f 7a 2f 57   ┆ "R   Z *  %  T "T    C u æ/_z/W┆
0x030960…030980             13 c9 d5 c5 0e 14 11 5c 00 cd 54 39 c1 d1 21 80 00 c8 11 8b 43 eb 3a f4 39 c6 41 32 01 44 01 0d   ┆       Ø  T9  !     C : 9 A2 D  ┆
0x030980…0309a0             01 cd 6a 3f cd 3d 3a cd 53 0b c3 00 00 11 5c 00 06 0c cd b7 38 11 80 00 0e 1a cd 54 39 11 5c 00   ┆  j? =: S     Ø     8      T9 Ø ┆
0x0309a0…0309c0             cd 2a 39 11 91 43 c2 75 0e 21 00 01 22 50 11 2a c0 39 01 09 00 cd 22 0e 2a c0 39 cd 5b 0d 2a 52   ┆ *9  C u !  "P * 9    " * 9 Æ *R┆
0x0309c0…0309e0             11 22 c0 39 2a 54 11 22 c2 39 c9 3a 5e 11 b7 f0 3e 03 c3 f7 0e 21 43 11 11 80 00 46 23 cd b7 38   ┆ " 9*T " 9 :^   >    !C    F#  8┆
0x0309e0…030a00             af 12 21 8d 43 01 00 01 cd 6a 3f 21 80 00 36 00 e6 5f fe 41 c0 3e ff 21 19 44 c3 b3 0a 2a 29 2c   ┆  ! C    j?!  6  _ A > ! D   *),┆
0x030a00…030a20 (12, 1, 15) 18 c9 3a 80 18 e6 04 c8 3a 85 18 c9 3a 80 18 e6 08 c8 3a 86 18 c9 3a 80 18 e6 10 c9 3a 5c 0a fe   ┆  :     :   :     :   :     :Ø  ┆
0x030a20…030a40             03 c9 3a 82 18 e6 40 c9 cd 37 15 fe 59 c8 fe 7e c9 3a 82 18 e6 02 c9 3a a2 18 e5 2a 8c 18 d5 5f   ┆  :   @  7  Y  ü :     :   *   _┆
0x030a40…030a60             cd 31 15 ca 52 15 3a 7d 18 3d bb da 5b 18 16 00 19 7e d1 e1 c9 3a a2 18 e5 2a 8e 18 c3 3e 15 cd   ┆ 1  R :å =  Æ    ü   :   *   >  ┆
0x030a60…030a80             6f 17 cd 31 18 cd 17 18 d4 62 17 b7 c9 e5 d5 c5 cd 88 15 cd 5d 12 ca 84 15 3a db 1f fe 02 c4 22   ┆o  1     b          Å    :     "┆
0x030a80…030aa0             15 c4 82 1d c1 d1 e1 c9 cd 31 15 c0 cd 16 15 2a 9e 18 3a 7d 18 4f c2 af 15 41 5d 54 1a 13 e6 7f   ┆         1     *  :å O   AÅT    ┆
0x030aa0…030ac0             ca a8 15 05 cd 9b 0b 23 0d c2 9c 15 c3 c7 15 06 00 09 5d 54 41 2b 7e e6 7f ca c3 15 05 1b eb cd   ┆       #          ÅTA+ü         ┆
0x030ac0…030ae0             9b 0b eb 0d c2 b5 15 04 cd 02 15 4f 05 c8 cd 9a 0b 23 c3 cc 15 21 e6 15 79 d5 5f 16 00 19 19 5e   ┆           O     #   !  y _    ^┆
0x030ae0…030b00             23 56 eb d1 b7 e9 6a 18 24 17 11 17 26 16 62 17 7d 16 40 17 31 18 6f 17 40 17 94 3a 6a 18 1d 17   ┆#V    j $   & b å @ 1 o @  :j   ┆
0x030b00…030b20             41 16 13 17 11 17 13 17 6a 18 6a 18 6f 17 1d 17 11 17 a1 17 6a 18 6a 18 6a 18 5a 17 6a 18 6a 18   ┆A       j j o       j j j Z j j ┆
0x030b20…030b40             6a 18 6a 18 6a 18 2a 27 2c 3a 5f 0a b7 c2 38 16 3a 5c 0a fe 00 c2 6a 18 cd 45 16 cd 5a 16 cd 02   ┆j j j *',:_   8 :Ø    j  E  Z   ┆
0x030b40…030b60             1a 0e 06 37 c9 eb 2a a0 18 cd 6e 0b c8 1a fe 0d c8 13 fe 2c c2 4d 16 c3 49 16 2a 9e 18 e5 21 dd   ┆   7  *   n        , M  I *   ! ┆
0x030b60…030b80             1f 22 9e 18 cd 0b 19 e1 22 9e 18 3a 7d 18 47 11 dd 1f 1a cd 67 12 23 13 05 c2 72 16 c9 21 bb 43   ┆ "      "  :å G     g #   r  ! C┆
0x030b80…030ba0             3a 67 0a b7 ca 8a 16 21 bd 43 0e 00 cd 79 3a d6 20 c8 fe 20 da 7d 16 e6 1f 4f 32 4d 44 21 42 44   ┆:g     ! C   y:      å   O2MD!BD┆
0x030ba0…030bc0             cd b8 13 fe 0b ca 7d 16 21 af 16 cd d9 15 c9 c5 16 0d 17 f7 16 0d 17 0d 17 0d 17 06 17 0d 17 0d   ┆      å !                       ┆
0x030bc0…030be0             17 01 17 0b 17 0e 00 21 a5 43 cd 79 3a d6 20 fe 20 3f d2 7d 16 e6 1f 32 4d 44 21 42 44 23 11 a7   ┆       ! C y:    ? å   2MD!BD#  ┆
0x030be0…030c00             43 cd ee 16 0e 00 fe 0a c4 79 3a c3 7d 16 cd b8 13 6f 26 00 29 19 c9 3a 67 0a b7 ca 7d 16 c3 0d   ┆C        y: å    o& )  :g   å   ┆
0x030c00…030c20 (13, 0, 1)  18 3a 7d 18 47 af b6 23 05 c2 06 1d 47 cd 95 1a 04 05 ca 2e 1d cd 37 1d 3a a8 18 b7 c2 2f 1d cd   ┆ :å G  #    G      .  7 :    /  ┆
0x030c20…030c40             94 1b d4 1e 1c d4 a3 1c da 15 1d cd e9 18 37 3f c1 d1 e1 ca 8b 1e c9 cd f5 3a 3a 82 18 e6 60 fe   ┆              7?         ::   ` ┆
0x030c40…030c60             20 da 68 1d c2 9b 1d cd 66 1e cd 5f 1d c0 cd 74 1e d0 21 f9 43 cd 77 3a cd 5f 1d c0 c3 47 1d cd   ┆  h     f  _   t  ! C w: _   G  ┆
0x030c60…030c80             2f 19 cd 95 1a cd 09 3a cd 86 11 3a a8 18 b7 c8 37 c9 11 f6 ff c9 3a 84 18 e6 01 c9 3a 84 18 e6   ┆/      :   :    7     :     :   ┆
0x030c80…030ca0             02 c9 cd 76 1d c8 3e ff 32 a8 18 2a a0 18 e5 cd 9b 1d e1 cd b8 11 af 32 a8 18 c9 3e 02 32 db 1f   ┆   v  > 2  *           2   > 2  ┆
0x030ca0…030cc0             2a 71 11 cd 68 2d 2a 94 18 11 96 18 06 06 cd b7 38 2a 96 18 e5 cd 72 2d 2a c0 39 22 27 2c 2a c2   ┆*q  h-*         8*    r-* 9"',* ┆
0x030cc0…030ce0             39 22 29 2c 2a 9e 18 3a 7d 18 47 cd b6 0b cd fb 30 da 10 11 c2 22 1e 3a bf 39 b7 3e 81 ca 11 11   ┆9"),*  :å G     0    " : 9 >    ┆
0x030ce0…030d00             cd e9 18 3a 9b 18 b7 ca 0a 1e 3d cd a1 0b cd b8 11 cd 7c 1d c2 03 1e 3a 88 18 cd 38 1e cd 0b 19   ┆   :      =       ø    :   8    ┆
0x030d00…030d20             cd f6 1e 3a 8a 18 b7 c2 ea 1d 2a c0 39 7e 36 00 23 b7 c2 0d 1e e1 cd 68 2d 2a 71 11 cd 72 2d f6   ┆   :      * 9ü6 #      h-*q  r- ┆
0x030d20…030d40             ff c9 3a a8 18 b7 fa 0a 1e 21 fb 43 cd 77 3a cd 65 1d c2 0a 1e c3 c4 1d 2a 27 2c eb b7 c8 47 1a   ┆  :      ! C w: e       *',   G ┆
0x030d40…030d60             fe 0d c8 13 fe 2c c2 3f 1e 05 c2 3f 1e c9 af cd a1 0b e5 cd 34 0c 19 7e e1 b9 ca 64 1e cd 65 0b   ┆     , ?   ?        4  ü   d  e ┆
0x030d60…030d80             c2 52 1e c9 b7 c9 2a 9e 18 11 dd 1f 3a 7d 18 47 cd b7 38 c9 2a 9e 18 11 dd 1f 3a 7d 18 47 1a be   ┆ R    *     :å G  8 *     :å G  ┆
0x030d80…030da0             37 c0 23 13 05 c2 7e 1e b7 04 c9 e5 d5 c5 11 0e 00 cd 4e 1e c4 9b 1e c1 d1 e1 c9 3e 03 32 db 1f   ┆7 #   ü           N        > 2  ┆
0x030da0…030dc0             cd b8 11 cd 7c 1d c2 fe 1e 3a 81 18 e6 80 c4 13 1f 2a 9c 18 46 23 3a 81 18 e6 10 c2 df 1e cd c4   ┆    ø    :       *  F#:         ┆
0x030dc0…030de0             1e c3 f6 1e cd dd 20 da 27 1f d5 cd 63 1f 21 dd 1f d1 cd 9e 23 da 27 1f c2 f0 1e cd 06 19 c9 e5   ┆        '   c !     # '         ┆
0x030de0…030e00             c5 cd 63 1f c1 e1 4b 11 dd 1f cd ff 21 da 27 1f 11 dd 1f cd 0b 19 3a 81 18 e6 01 cc 09 3a cd 94   ┆  c   K     ! '       :      :  ┆
0x030e00…030e20 (13, 0, 2)  2c b7 c8 7d 2f 6f 7c 2f 67 23 c9 21 af bb c8 7e 02 1d 23 03 c3 0e 25 af bb c8 71 23 1d c3 19 25   ┆,  å/oø/g# !   ü  #   %   q#   %┆
0x030e20…030e40             fe f7 d0 e6 7f c8 d6 30 fe 0a d8 cd 65 23 c3 20 25 1f 1f 1f 1f e6 0f c9 87 87 87 87 c9 3a 12 2c   ┆       0    e#  %            : ,┆
0x030e40…030e60             3d 32 12 2c c9 3a 12 2c 3c 32 12 2c 07 d0 3e fb c3 5f 25 3e fc c3 5f 25 3e fd c3 5f 25 3e ff 2a   ┆=2 , : ,<2 ,  >  _%>  _%>  _%> *┆
0x030e60…030e80             24 2c f9 37 c9 3e fe 37 c9 af 32 12 2c c9 0e 00 1e 10 21 13 2c c3 17 25 01 0e 00 c3 81 25 01 07   ┆$, 7 > 7  2 ,     ! ,  %     %  ┆
0x030e80…030ea0             00 09 2b 54 5d 7e f5 cd 38 25 0d ca 9c 25 47 2b 7e f5 cd 31 25 b0 12 1b f1 c3 87 25 12 f1 cd 31   ┆  +TÅü  8%   %G+ü  1%      %   1┆
0x030ea0…030ec0             25 c9 0e 08 f5 2b 54 5d cd 31 25 0d 47 ca bd 25 23 7e f5 cd 38 25 b0 12 13 f1 c3 a8 25 f1 cd 38   ┆%    +TÅ 1% G  %#ü  8%      %  8┆
0x030ec0…030ee0             25 b0 12 c9 21 21 2c 7e e6 f0 c0 21 14 2c cd 78 25 cd 3d 25 c8 c3 c4 25 21 06 00 09 01 21 2c 1e   ┆%   !!,ü   ! , x% =%   %!    !, ┆
0x030ee0…030f00             07 0a be c0 1d c8 2b 0b c3 e1 25 0a c6 05 27 c3 f8 25 0a c6 50 27 3e 00 02 d0 03 0a ce 00 27 c3   ┆      +   %   '  %  P'>       ' ┆
0x030f00…030f20             f8 25 21 22 2c 7e b7 c8 af 77 2b 36 10 3e 06 2b 36 00 3d c2 0f 26 c3 45 25 60 69 7e 47 e6 80 32   ┆ %!",ü   w+6 > +6 =  & E%`iüG  2┆
0x030f20…030f40             11 2c 78 e6 7f 32 12 2c 01 1b 2c 1e 07 23 c3 0c 25 3a 11 2c 57 3a 12 2c b7 ca 47 26 b2 02 03 1e   ┆ ,x  2 ,  ,  #  %: ,W: ,  G&    ┆
0x030f40…030f60             07 21 1b 2c c3 0c 25 02 c9 af 1a 8e 27 12 0d c8 13 23 c3 4a 26 37 3e 99 ce 00 96 eb 86 27 77 eb   ┆ ! ,  %     '    # J&7>      'w ┆
0x030f60…030f80             0d c8 13 23 c3 56 26 eb 37 3e 99 ce 00 96 eb 86 27 eb 77 0d c8 13 23 c3 69 26 3e 80 c3 80 26 af   ┆   # V& 7>      ' w   # i&>   & ┆
0x030f80…030fa0             32 51 27 af 32 1a 2c 3a 12 2c 57 b7 c2 9b 26 cd 19 26 21 11 2c 3a 51 27 ae 77 c9 0a b7 c8 e6 7f   ┆2Q' 2 ,: ,W   &  &! ,:Q' w      ┆
0x030fa0…030fc0             ba c5 d2 b5 26 01 48 27 cd 31 26 c1 cd 19 26 21 11 2c c3 c1 26 01 48 27 1e 08 e1 cd 0c 25 21 48   ┆    & H' 1&   &! ,  & H'     %!H┆
0x030fc0…030fe0             27 3a 51 27 ae 77 3a 48 27 47 e6 80 32 50 27 78 e6 7f 57 21 12 2c 96 fe 10 01 48 27 d2 19 26 72   ┆':Q' w:H'G  2P'x  W! ,    H'  &r┆
0x030fe0…031000             b7 ca f7 26 f5 21 1b 2c af cd a2 25 f1 3d c2 e4 26 01 1a 2c cd f2 25 3a 50 27 47 3a 11 2c b8 c2   ┆   & ! ,   % =  &  ,  %:P'G: ,  ┆
0x031000…031020 (13, 0, 3)  2c 2a c2 39 22 29 2c cd 63 32 c2 1e 2d 3a bf 39 b7 ca 48 2d 2a 5c 2c eb cd a5 2d c3 fe 2c 2a c0   ┆,* 9"), c2  -: 9  H-*Ø,   -  ,* ┆
0x031020…031040             39 d1 cd c8 2d 22 34 2c eb 44 4d 2a 39 2c cd 50 2d 13 e5 cd a5 2d e1 36 0d 23 22 32 2c 0a 77 03   ┆9   -"4, DM*9, P-    - 6 #"2, w ┆
0x031040…031060             23 1b 7a b3 c2 3d 2d c9 21 26 2c 7e e6 fb 77 e1 e5 d5 eb 2a c0 39 cd c8 2d eb 2a c2 39 19 22 c2   ┆# z  =- !&,ü  w    * 9  - * 9 " ┆
0x031060…031080             39 d1 e1 22 c0 39 af c9 e5 d5 c5 eb 21 26 2c c3 78 2d e5 d5 c5 11 26 2c cd 83 2d 47 cd b7 38 c1   ┆9  " 9      !&, x-    &,  -G  8 ┆
0x031080…0310a0             d1 e1 c9 7e e6 04 3e 41 c8 3e 10 c9 2a c0 39 e5 d5 c5 3a 26 2c cd 84 2d 5f 16 00 cd a5 2d c1 d1   ┆   ü  >A >  * 9   :&,  -_    -  ┆
0x0310a0…0310c0             e1 cd 68 2d c9 cd b5 2d d0 3e 81 cd 87 39 2a c4 39 f9 c3 e7 2c 2a c0 39 19 22 c0 39 e5 2a c2 39   ┆  h-   - >   9* 9   ,* 9 " 9 * 9┆
0x0310c0…0310e0             cd c8 2d 22 c2 39 e1 c9 7d 93 6f 7c 9a 67 c9 32 26 2c f5 2a c0 39 22 44 2c e5 d5 11 21 00 cd b5   ┆  -" 9  å oø g 2&, * 9"D,   !   ┆
0x0310e0…031100             2d e1 d1 d5 06 0c cd b7 38 af 12 cd 1b 39 d1 f1 32 26 2c cd 2a 39 c4 17 2e c0 3a 26 2c e6 02 ca   ┆-       8    9  2&, *9  . :&,   ┆
0x031100…031120             04 2e af c9 eb cd a2 39 cd 2a 39 c4 2f 39 0e 15 cc 54 39 cc 06 39 c9 3a 26 2c ee 80 e6 82 3e fe   ┆ .     9 *9 /9   T9  9 :&,    > ┆
0x031120…031140             cc 2f 39 c9 e5 3e 03 32 c9 39 d5 11 11 00 cd a5 2d d1 e1 e5 d5 3e ff cd 6f 30 cd 5d 30 d1 21 0c   ┆ /9  > 2 9      -    >  o0 Å0 ! ┆
0x031140…031160             00 19 34 3a c9 39 fe 03 cc 2a 39 ca 2a 2e 3a 26 2c e6 02 c2 6b 2e 21 0f 00 19 06 11 af 77 23 05   ┆  4: 9   *9 *.:&,   k.!      w# ┆
0x031160…031180             c2 5d 2e 21 c9 39 35 f2 2a 2e 7e 21 0c 00 19 86 e1 c9 21 00 00 22 37 2c 22 36 2c 2a 34 2c cd 09   ┆ Å.! 95 *.ü!      !  "7,"6,*4,  ┆
0x031180…0311a0             2f f8 22 37 2c cd 4b 2f c2 ab 2d 2a 39 2c eb 21 36 2c 34 1a 13 fe 1a c2 92 2e 35 c9 21 00 00 22   ┆/ "7, K/  -*9, !6,4      .5 !  "┆
0x0311a0…0311c0             2b 2c 22 48 2c 22 4a 2c 2a 46 2c cd 09 2f f8 22 49 2c e5 cd e6 2f c2 ab 2d e1 af cd 24 2f eb 44   ┆+,"H,"J,*F,  / "I,   /  -   $/ D┆
0x0311c0…0311e0             4d af 93 5f ca ce 2e 03 3a 2f 2c 83 c6 06 5f 32 48 2c 2a 4c 2c 19 7e fe 1a c2 c7 2e 60 69 22 2b   ┆M  _  . :/,   _2H,*L, ü    .`i"+┆
0x0311e0…031200             2c af 67 6f cd 5c 34 2a 4c 2c 7e b7 f0 32 4b 2c cd fb 2e 5e 23 56 eb 22 2b 2c c9 23 3a 2f 2c fe   ┆, go Ø4*L,ü  2K,  .^#V "+, #:/, ┆
0x031200…031220 (13, 0, 4)  d5 2a 29 2c eb 2a 5c 2c cd b9 39 32 bf 39 d1 1a ca 18 35 13 23 22 5c 2c e1 c9 7e fe 1a ca d9 30   ┆ *), *Ø,  92 9    5 #"Ø,  ü    0┆
0x031220…031240             23 0c f2 36 35 0e 00 2a 3b 2c 23 f5 cd 4b 2f c4 db 30 f1 2a 39 2c fe 0d c2 43 35 7e fe 0a cc 1a   ┆#  65  *;,#  K/  0 *9,   C5ü    ┆
0x031240…031260             35 3e 0d bf c9 e5 d5 c5 2a 30 2c eb 2a 2d 2c 4e 23 7e 23 46 23 e5 cd 7d 35 cd 65 35 e1 0d c2 51   ┆5>      *0, *-,N#ü#F#  å5 e5   Q┆
0x031260…031280             35 c1 d1 e1 c9 7e fe 2c ca 70 35 fe 0d c2 73 35 3e 20 2b e6 7f 12 23 13 05 c2 65 35 c9 2a 27 2c   ┆5    ü , p5   s5> +   #   e5 *',┆
0x031280…0312a0             b7 c8 f5 7e 23 fe 2c c2 83 35 f1 3d c2 82 35 c9 e5 d5 c5 2a 30 2c 3a 2f 2c 47 7e b7 3d fa b3 35   ┆   ü# ,  5 =  5    *0,:/,Gü =  5┆
0x0312a0…0312c0             1a fe 01 ca ac 35 be 3e fe c2 b3 35 23 13 05 c2 a0 35 af c1 d1 e1 32 5e 2c c9 e5 d5 c5 2a 27 2c   ┆     5 >   5#    5    2^,    *',┆
0x0312c0…0312e0             cd db 35 c2 d7 35 7e fe 0d ca cd 35 23 1a 13 d6 0d c2 c0 35 32 5e 2c c1 d1 e1 c9 cd f0 35 47 eb   ┆  5  5ü    5#      52^,      5G ┆
0x0312e0…031300             cd f0 35 eb fe 01 ca db 35 b8 c0 b7 c2 db 35 c9 7e d6 2c c8 7e d6 0d c8 7e 23 e6 7f c9 cd b9 30   ┆  5     5     5 ü , ü   ü#     0┆
0x031300…031320             cd 06 36 c3 ef 30 3a 4b 2c b7 c2 3f 36 3a 5e 2c 3c c2 20 36 2a 2b 2c 23 22 2b 2c 3e ff c3 64 36   ┆  6  0:K,  ?6:^,<  6*+,#"+,>  d6┆
0x031320…031340             32 4b 2c 2a ca 39 7c b5 c2 33 36 cd 3f 36 cd 81 36 af c9 23 7c b5 c2 3c 36 22 5f 2c cd 81 36 3a   ┆2K,* 9ø  36 ?6  6  #ø  <6"_,  6:┆
0x031340…031360             50 2c 2a 51 2c cd 5c 34 c4 7f 39 3a 66 2c f5 2a 61 2c e5 2a 49 2c 22 61 2c 3a 48 2c 32 66 2c cd   ┆P,*Q, Ø4  9:f, *a, *I,"a,:H,2f, ┆
0x031360…031380             c7 36 e1 f1 22 61 2c 32 66 2c cd 45 35 2a 37 2c 22 63 2c 3a 36 2c 32 65 2c cd 11 37 cd 61 37 af   ┆ 6  "a,2f, E5*7,"c,:6,2e,  7 a7 ┆
0x031380…0313a0             c9 af 67 6f cd 5c 34 c4 db 30 3a 48 2c 2a 49 2c f5 cd 11 37 f1 22 61 2c 32 66 2c 2a 2b 2c eb 2a   ┆  go Ø4  0:H,*I,   7 "a,2f,*+, *┆
0x0313a0…0313c0             63 2c e5 2a 30 2c 36 ff 3a 2f 2c fe 03 da bf 36 23 73 23 72 af 67 6f cd cd 36 e1 22 63 2c c9 eb   ┆c, *0,6 :/,    6#s#r go  6 "c,  ┆
0x0313c0…0313e0             2b 22 63 2c c3 b4 36 2a 51 2c 3a 50 2c f5 cd e6 2f c4 84 39 f1 cd df 36 cd ff 2f c4 84 39 c9 2a   ┆+"c,  6*Q,:P,   /  9   6  /  9 *┆
0x0313e0…031400             30 2c eb 2a 4c 2c 4f 06 00 09 3a 2f 2c 47 cd ac 37 06 06 eb 2a 63 2c 23 22 63 2c 2a 65 2c 24 2c   ┆0, *L,O   :/,G  7   *c,#"c,*e,$,┆
0x031400…031420 (13, 0, 5)  1b d4 1e 1c d4 a3 1c d2 24 1f cd 7c 1d c2 fe 1e 37 79 c9 3a 5c 0a fe 00 2a 5a 11 ca 38 16 fe 04   ┆        $  ø    7y :Ø   *Z  8   ┆
0x031420…031440             ca 38 16 f1 f6 ff c9 21 4b 1f 32 50 1f 11 e9 43 cd ee 16 3e 2a cd 51 1f cd 09 3a cd 77 3a cd 06   ┆ 8     !K 2P   C   >* Q   : w:  ┆
0x031440…031460             19 cd 09 3a 3e 14 32 a8 18 37 c9 ff fe fd fc fb 00 e5 c5 4f 3a 7d 18 2a 9e 18 71 23 3d c2 5a 1f   ┆   :> 2  7         O:å *  q#= Z ┆
0x031460…031480             c1 e1 c9 3a 7d 18 47 5f 3a 82 18 e6 02 4f c8 21 00 00 4c e5 2a 8e 18 eb 2a 8c 18 7e fe 21 ca 85   ┆   :å G_:    O !  L *   *  ü !  ┆
0x031480…0314a0             1f b7 c2 9b 1f 0c 1a fe 5e c2 8f 1f e3 69 e3 e5 21 2f 44 be e1 c2 9b 1f e3 61 e3 23 13 05 c2 7b   ┆        ^    i  !/D      a #   æ┆
0x0314a0…0314c0             1f e1 41 59 7d cd b0 1f 6f 7c cd b0 1f 4f 7d c9 b7 c8 57 78 92 42 05 c9 2a 2d 2c 5e 16 00 19 19   ┆  AYå   oø   Oå   Wx B  *-,^    ┆
0x0314c0…0314e0             2b 7e c9 cd b8 1f 11 d7 1f 12 cd a1 0b cd b8 11 eb 06 04 cd c4 1e c9 00 fd fe 31 00 00 00 00 52   ┆+ü                        1    R┆
0x0314e0…031500             45 43 4f 52 50 cb 49 00 00 00 61 bb 06 00 00 4c 4f 43 50 52 56 d0 3b 00 00 00 61 03 00 00 00 52   ┆ECORP I   a    LOCPRV ;   a    R┆
0x031500…031520             45 43 4f 52 4c 38 3d 00 00 00 61 05 00 00 00 52 45 43 4f 52 43 4c 3c 00 00 00 61 9c 0d 00 00 46   ┆ECORL8=   a    RECORCL<   a    F┆
0x031520…031540             52 45 45 43 00 00 00 00 00 61 9a 0d 00 00 46 52 45 45 50 9a 3c 00 00 00 61 91 0c 00 00 43 4f 50   ┆REEC     a    FREEP <   a    COP┆
0x031540…031560             59 48 4c 01 46 00 00 00 61 42 01 00 00 53 41 56 45 4b 42 6a 3c 00 00 00 61 4c 01 00 00 53 45 54   ┆YHL F   aB   SAVEKBj<   aL   SET┆
0x031560…031580             4b 42 5d 43 00 00 00 61 66 01 00 00 41 4c 4c 4f 43 42 00 00 00 00 00 61 2e 0d 00 00 49 4d 44 4f   ┆KBÅC   af   ALLOCB     a.   IMDO┆
0x031580…0315a0             53 5b 3c 00 00 00 61 04 0d 00 00 46 4f 50 45 4e c8 3d 00 00 00 61 09 0d 00 00 46 4d 41 4b 45 b2   ┆SÆ<   a    FOPEN =   a    FMAKE ┆
0x0315a0…0315c0             3e 00 00 00 61 10 06 00 00 53 45 4c 45 43 54 28 3d 00 00 00 61 2e 07 00 00 4e 58 54 44 54 41 a2   ┆>   a    SELECT(=   a.   NXTDTA ┆
0x0315c0…0315e0             3e 00 00 00 61 60 07 00 00 50 52 56 44 54 41 46 42 00 00 00 61 c5 00 00 00 43 4c 4e 58 e5 21 02   ┆>   a`   PRVDTAFB   a    CLNX ! ┆
0x0315e0…031600             00 39 22 24 2c e1 af 32 9d 24 c5 0e 00 cd 09 21 cd 9e 21 d2 dc 21 cd 92 21 ca 05 21 c5 d5 cd ac   ┆ 9"$,  2 $     !  !  !  !  !    ┆
0x031600…031620 (13, 0, 6)  20 27 11 1b 2c 0e 07 21 49 27 cd 49 26 d0 21 1b 2c 3e 01 cd a2 25 cd 45 25 01 1a 2c cd f2 25 c9   ┆ '  ,  !I' I& ! ,>   % E%  ,  % ┆
0x031620…031640             01 49 27 1e 07 cd d8 25 ca 69 25 11 1b 2c 21 49 27 0e 07 da 3c 27 cd 55 26 c3 c4 25 3a 50 27 32   ┆ I'    % i%  ,!I'   <' U&  %:P'2┆
0x031640…031660             11 2c cd 67 26 c3 c4 25 00 21 2a 01 00 00 52 53 46 52 22 27 28 01 15 28 21 1b 2c 1e 07 cd 0c 25   ┆ , g&  % !*   RSFR"'(  (! ,    %┆
0x031660…031680             01 1c 28 21 15 28 1e 07 cd 0c 25 21 1c 28 cd 7e 25 32 23 28 0e 00 1e 0f 21 14 2c cd 17 25 21 14   ┆  (! (    %! ( ü%2#(    ! ,  %! ┆
0x031680…0316a0             2c 22 24 28 3e 07 32 26 28 2a 27 28 7e 23 22 27 28 b7 ca cd 27 f5 e6 0f ca b3 27 11 15 28 2a 24   ┆,"$(> 2&(*'(ü#"'(   '     '  (*$┆
0x0316a0…0316c0             28 eb 0e 07 f5 cd 49 26 d2 ae 27 13 eb 34 f1 3d c2 9b 27 f1 cd 31 25 b7 ca cd 27 11 1c 28 2a 24   ┆(     I&  '  4 =  '  1%   '  (*$┆
0x0316c0…0316e0             28 eb 0e 08 f5 cd 49 26 f1 3d c2 bb 27 21 26 28 35 c8 2a 24 28 23 22 24 28 c3 89 27 3a 12 2c b7   ┆(     I& =  '!&(5 *$(#"$(  ': , ┆
0x0316e0…031700             c8 0a b7 ca 69 25 57 e6 80 21 11 2c ae 77 23 7a e6 7f 57 d6 40 86 fa 0c 28 77 60 69 23 cd 52 27   ┆    i%W  ! , w#z  W @   (w`i# R'┆
0x031700…031720             cd c4 25 01 1a 2c cd f2 25 c3 02 26 7a fe 40 da 69 25 c3 4e 25 21 a3 0d 00 00 41 44 44 45 58 43   ┆  %  ,  %  &z @ i% N%!    ADDEXC┆
0x031720…031740             00 00 00 00 00 21 04 02 00 0a 57 e6 7f ca 53 25 5f 21 12 2c 7e b7 32 e6 28 c8 93 5f c6 41 77 f2   ┆     !    W   S%_! ,ü 2 (  _ Aw ┆
0x031740…031760             4a 28 7b 07 da 69 25 c3 4e 25 7a e6 80 2b ae 77 3e 10 32 e5 28 03 60 69 1e 07 01 d5 28 af 02 03   ┆J(æ  i% N%z  + w> 2 ( `i    (   ┆
0x031760…031780             cd 0c 25 af 32 dd 28 32 1a 2c af 3f 47 11 1a 2c 21 d5 28 0e 08 d2 7f 28 04 cd 55 26 c3 6d 28 cd   ┆  % 2 (2 , ?G  ,! (    (  U& m( ┆
0x031780…0317a0             49 26 05 21 dd 28 7e 80 77 3a e5 28 3d 32 e5 28 01 08 00 ca b4 28 cd 81 25 3a 21 2c e6 f0 c2 aa   ┆I& ! (ü w: (=2 (     (  %:!,    ┆
0x0317a0…0317c0             28 21 1b 2c cd 7e 25 c3 6a 28 af 21 d6 28 cd a2 25 c3 6a 28 eb 2b b6 0d c2 b5 28 32 e6 28 01 1a   ┆(! , ü% j( ! (  % j( +    (2 (  ┆
0x0317c0…0317e0             2c 1e 08 21 dd 28 cd 0c 25 cd c4 25 01 1a 2c cd f2 25 c3 02 26 a1 02 00 00 47 45 4f 46 49 31 00   ┆,  ! (  %  %  ,  %  &    GEOFI1 ┆
0x0317e0…031800             00 00 00 00 21 36 08 c5 cd 53 21 0b af 02 03 c5 cd 31 26 c1 cd 91 29 c1 c5 cd dc 27 c1 c5 cd 31   ┆    !6   S!      1&   )    '   1┆
0x031800…031820 (13, 0, 7)  03 d0 23 23 fe 01 c8 23 c9 11 00 00 42 7e 4f eb 09 eb 0e 11 09 b7 fa 0d 2f 1b eb b4 c9 29 17 05   ┆  ##   #    BüO         /    )  ┆
0x031820…031840             c2 1d 2f c9 4f 06 07 af cd 1d 2f 09 f5 3a 2f 2c c6 06 4f f1 f5 cd cc 38 f1 3c 11 ff ff 13 09 da   ┆  / O     /  :/,  O    8 <      ┆
0x031840…031860             3d 2f 3d c2 3d 2f cd cc 38 09 c9 3e ff b7 ca 5c 2f d5 11 3b 2c cd a5 37 d1 3e 00 c8 22 3b 2c 3e   ┆=/= =/  8  >   Ø/  ;,  7 >  ";,>┆
0x031860…031880             14 c3 69 2f 3e 15 2a 3b 2c e5 d5 c5 f5 cd a3 2f 32 4c 2f e5 2a 39 2c eb 0e 1a cd 54 39 2a 32 2c   ┆  i/> *;,      /2L/ *9,    T9*2,┆
0x031880…0318a0             eb c1 cd 3e 30 2a 34 2c 22 f5 39 3a 43 2c c4 91 30 f1 4f cd 54 39 21 4c 2f cc af 2f c4 42 39 c1   ┆   >0*4," 9:C,  0 O T9!L/  / B9 ┆
0x0318a0…0318c0             d1 e1 c9 d6 15 4f 7d 29 e6 7f 6f d6 7f b1 c9 7e b7 c2 e4 2f 21 20 00 19 7e b7 21 0c 00 19 f2 d5   ┆     Oå)  o    ü   /!   ü !     ┆
0x0318c0…0318e0             2f e5 70 34 eb cd 89 39 eb cd 2f 39 c4 db 30 3e ff cd 84 39 e1 35 cd 2a 39 c4 db 30 2a f5 39 3e   ┆/ p4   9  /9  0>   9 5 *9  0* 9>┆
0x0318e0…031900             ff cd 4b 30 af c9 3e ff b7 ca f7 2f d5 11 4e 2c cd a5 37 d1 3e 00 c8 22 4e 2c 3e 14 c3 04 30 3e   ┆  K0  >    /  N,  7 >  "N,>   0>┆
0x031900…031920             15 2a 4e 2c e5 d5 c5 f5 cd a3 2f 32 e7 2f e5 2a 4c 2c eb 0e 1a cd 54 39 2a 44 2c eb c1 cd 3e 30   ┆ *N,      /2 / *L,    T9*D,   >0┆
0x031920…031940             2a 46 2c 22 f5 39 3a 53 2c c4 91 30 f1 4f cd 54 39 21 e7 2f cc af 2f c4 42 39 c1 d1 e1 c9 21 20   ┆*F," 9:S,  0 O T9! /  / B9    ! ┆
0x031940…031960             00 19 71 21 0c 00 19 7e 70 b8 c9 e5 d5 c5 d5 cd 6f 30 cd 5d 30 d1 dc 06 39 c1 d1 e1 c9 1a be c2   ┆  q!   üp       o0 Å0   9       ┆
0x031960…031980             69 30 13 23 05 c2 5d 30 c9 eb cd b7 38 37 c9 e5 21 0c 00 19 be c2 7d 30 3e 82 cd 84 39 7e 23 23   ┆i0 #  Å0    87  !     å0>   9ü##┆
0x031980…0319a0             23 eb e1 01 11 00 b7 ca 8f 30 09 3d c2 8a 30 41 c9 e5 d5 c5 cd 6f 30 cd b7 38 c1 d1 e1 c9 2a 32   ┆#        0 =  0A     o0  8    *2┆
0x0319a0…0319c0             2c eb cd 96 39 2a 44 2c eb cd 96 39 2a 32 2c cd 89 39 2a 44 2c cd 89 39 c9 22 c6 39 e3 d5 c5 e5   ┆,   9*D,   9*2,  9*D,  9 " 9    ┆
0x0319c0…0319e0             2a c6 39 e5 21 c8 39 34 c2 d2 30 21 04 00 39 22 c4 39 e1 c9 fe 01 c2 db 30 b7 c9 cd 84 39 e1 22   ┆* 9 ! 94  0!  9" 9      0    9 "┆
0x0319e0…031a00             00 01 37 2a c4 39 f9 21 c8 39 36 ff c3 f7 30 21 c8 39 35 3a 5e 2c b7 c1 d1 e1 c9 cd b9 30 cd 04   ┆  7* 9 ! 96   0! 95:^,       0  ┆
0x031a00…031a20 (13, 0, 8)  22 65 2c eb 11 61 2c cd ac 37 eb cd 6b 34 eb 79 c9 e5 d5 c5 2a 49 2c cd e6 2f c4 7f 39 3a 48 2c   ┆"e,  a,  7  k4 y    *I,  /  9:H,┆
0x031a20…031a40             cd df 36 32 48 2c 36 1a cd ff 2f c4 84 39 22 49 2c 2a 44 2c eb 2a 46 2c 3a 53 2c cd 4b 30 c4 84   ┆  62H,6   /  9"I,*D, *F,:S, K0  ┆
0x031a40…031a60             39 c1 d1 e1 c9 e5 d5 c5 2a 3e 2c cd 4b 2f c4 84 39 3a 3d 2c cd 95 37 cd 64 2f c4 84 39 c1 d1 e1   ┆9       *>, K/  9:=,  7 d/  9   ┆
0x031a60…031a80             c9 e5 d5 c5 2a 37 2c cd 4b 2f c4 7f 39 3a 36 2c cd 95 37 32 36 2c 36 1a cd 64 2f c4 84 39 22 37   ┆    *7, K/  9:6,  726,6  d/  9"7┆
0x031a80…031aa0             2c 2a 32 2c eb 2a 34 2c 3a 43 2c cd 4b 30 c4 84 39 c1 d1 e1 c9 2a 27 2c eb 4f 06 00 2a 39 2c 09   ┆,*2, *4,:C, K0  9    *', O  *9, ┆
0x031aa0…031ac0             cd ce 37 79 c9 1a bd c0 13 1a bc c9 1a 77 13 23 0c f2 c9 37 0e 00 cd ff 2f c2 84 39 2a 4e 2c 23   ┆  7y         w #   7    /  9*N,#┆
0x031ac0…031ae0             cd e6 2f c4 7f 39 2a 4c 2c 05 c2 ac 37 c9 cd 17 38 c2 e6 37 1a 13 cd 31 38 fe 2c ca ce 37 fe 0d   ┆  /  9*L,   7   8  7   18 ,  7  ┆
0x031ae0…031b00             ca 0b 38 c3 d4 37 cd 2f 38 1a cd 11 38 ca fe 37 13 e6 7f fe 22 cc 31 38 cd 31 38 c3 e9 37 cd 2f   ┆  8  7 /8   8  7    " 18 18  7 /┆
0x031b00…031b20             38 1a 13 cd 31 38 fe 0d c2 ce 37 3e 0a cd 31 38 c9 fe 2c c8 fe 0d c9 1a 3c c8 d5 1a 13 cd 11 38   ┆8   18    7>  18  ,     <      8┆
0x031b20…031b40             ca 2d 38 b7 fa 2d 38 fe 22 c2 1b 38 b7 d1 c9 3e 22 77 23 0c f0 f5 cd 64 2f c2 84 39 2a 3b 2c 23   ┆ -8  -8 "  8   >"w#    d/  9*;,#┆
0x031b40…031b60             cd 4b 2f c4 7f 39 2a 39 2c 0e 00 f1 c9 3a 5e 2c b7 f8 cd b9 30 2a 3e 2c 22 f9 39 3a 3d 2c 32 f8   ┆ K/  9*9,    :^,    0*>," 9:=,2 ┆
0x031b60…031b80             39 cd 3c 34 c4 db 30 7e 32 f7 39 36 ff cd 64 2f c4 84 39 c3 ef 30 cd b9 30 2a f9 39 22 3e 2c 3a   ┆9 <4  0ü2 96  d/  9  0  0* 9">,:┆
0x031b80…031ba0             f8 39 32 3d 2c cd 3c 34 c4 db 30 3a f7 39 77 c3 6d 38 3a 5e 2c b7 f8 cd b9 30 2a 5c 2c eb 2a 27   ┆ 92=, <4  0: 9w m8:^,    0*Ø, *'┆
0x031ba0…031bc0             2c 7e 23 1b fe 0d c2 a1 38 7a b3 ca 48 37 cd 06 36 cd 52 38 c3 ef 30 7e 12 23 13 05 c2 b7 38 c9   ┆,ü#     8z  H7  6 R8  0ü #    8 ┆
0x031bc0…031be0             7c b7 1f 67 7d 1f 6f 05 c2 c0 38 c9 79 2f 4f 78 2f 47 03 c9 01 00 00 eb 60 69 b7 1f d2 e5 38 f5   ┆ø  gå o   8 y/Ox/G      `i    8 ┆
0x031be0…031c00             19 78 81 47 f1 b7 c8 f5 eb 29 eb 79 17 4f f1 c3 da 38 e3 d5 c5 5e 0e 02 cd 54 39 23 7e b7 c2 f5   ┆ x G     ) y O   8   ^   T9#ü   ┆
0x031c00…031c20 (13, 0, 9)  21 d5 c3 ed 20 78 c1 47 c9 cd 86 21 fe f8 ca ea 20 fe fe ca 3d 21 e5 c5 cd 2b 21 44 4d cd 83 22   ┆!    x G   !        =!   +!DM  "┆
0x031c20…031c40             cd 53 21 c5 cd 31 26 d1 c1 e1 c9 cd a1 0b cd 34 0c 4e 23 5e 23 56 eb c5 cd 00 3c d1 c9 e5 1e 00   ┆ S!  1&        4 N#^#V    <     ┆
0x031c40…031c60             cd 8d 21 3d fa 4e 21 1c cd 86 21 c2 40 21 e3 c5 c3 1b 21 e5 2a c0 39 7e b7 ca 67 21 87 da 5d 25   ┆  != N!   ! @!    ! * 9ü  g!  Å%┆
0x031c60…031c80             01 09 00 09 c3 57 21 34 23 44 4d e1 c9 2a c2 39 eb 2a c0 39 36 ff eb 01 f7 ff 09 d0 eb 36 00 01   ┆     W!4#DM  * 9 * 96        6  ┆
0x031c80…031ca0             09 00 09 c3 74 21 cd 8d 21 c8 23 05 c9 78 b7 c8 7e c9 78 b7 c8 7e fe f7 c0 cd 86 21 af c9 e5 d5   ┆    t!  ! #  x  ü x  ü     !    ┆
0x031ca0…031cc0             c5 79 f5 cd ac 21 f1 b9 c1 d1 e1 c9 cd 86 21 e5 21 c0 21 be 23 4e 23 5e 23 56 23 c2 b3 21 e1 c9   ┆ y   !        ! ! ! #N#^#V#  !  ┆
0x031cc0…031ce0             00 01 58 25 f7 01 58 25 fd 02 7f 26 fc 02 7a 26 fb 03 dc 27 fa 03 29 28 f9 04 e7 28 78 c1 e3 f5   ┆  X%  X%   &  z&   '  )(   (x   ┆
0x031ce0…031d00             d5 cd f1 21 c1 c5 cd 31 26 d1 f1 e1 c1 47 c3 f0 20 c5 d5 cd f8 21 c1 c9 2b 36 00 23 c3 1b 26 cd   ┆   !   1&    G       !  +6 #  & ┆
0x031d00…031d20             0e 22 d8 79 b7 c4 86 21 c2 ff 21 af 12 c9 cd 86 21 fe ff ca 68 22 d5 f5 11 00 00 cd 8d 21 fe f8   ┆ " y   !  !     !   h"       !  ┆
0x031d20…031d40             c2 33 22 cd 86 21 cd 86 21 57 cd 86 21 5f b7 c2 33 22 1d eb 22 66 22 eb f1 e3 c5 e5 cd 2b 21 7b   ┆ 3"  !  !W  !_  3"  "f"      +!æ┆
0x031d40…031d60             cd 4f 22 d1 c1 c5 47 cd 68 22 69 c1 4d e1 c9 eb 2a 66 22 eb 14 15 c8 4a 0d 06 00 09 91 d2 62 22   ┆ O"   G h"i M   *f"    J      b"┆
0x031d60…031d80             af c9 bb d8 7b c9 00 00 04 b7 05 c8 7e fe f7 d0 23 e6 7f fe 20 da 69 22 0c 0d c8 0d f6 80 12 13   ┆    æ       ü   #     i"        ┆
0x031d80…031da0             c3 69 22 7b 32 9c 23 cd 4f 23 11 21 2c af 32 9b 23 cd 65 23 fe 20 ca 91 22 fe 2b ca a8 22 fe 2d   ┆ i"æ2 # O# !, 2 # e#    " +  " -┆
0x031da0…031dc0             c2 ab 22 3e 80 32 11 2c cd 65 23 fe 30 ca a8 22 c3 b6 22 cd 65 23 06 00 e5 21 2f 44 be e1 ca df   ┆  "> 2 , e# 0  "  " e#   !/D    ┆
0x031dc0…031de0             22 fe 45 ca ed 22 fe 65 ca ed 22 cd 20 25 d2 26 23 47 cd 82 23 3a 9b 23 b7 cc 45 25 c3 b3 22 3a   ┆" E  " e  "  % &#G  #: #  E%  ":┆
0x031de0…031e00             9b 23 1f da 26 23 2f 32 9b 23 c3 b3 22 cd 65 23 fe 20 ca ed 22 47 d6 2d 5f ca 02 23 c6 02 78 c2   ┆ #  &#/2 #  " e#    "G -_  #  x ┆
0x031e00…031e20 (13, 0, 10) 26 c1 0a 57 e6 80 32 d1 2a 7a e6 7f 02 c5 cd 19 26 c1 c5 cd a8 24 c1 c5 0a fe 44 d2 86 29 cd 7a   ┆&  W  2 *z      &    $    D  ) z┆
0x031e20…031e40             26 1e 08 01 b1 2a 21 f6 2a cd 0c 25 af 32 b9 2a 3e 0f 01 76 2b cd d7 2b 01 b9 2a cd 31 26 c1 c5   ┆&    *! *  % 2 *>  v+  +  * 1&  ┆
0x031e40…031e60             cd 19 26 cd d3 24 e5 01 b9 2a cd 19 26 e1 7c b7 c2 86 29 7d 01 d2 2a 21 f2 2a b7 ca 7b 29 96 da   ┆  &  $   *  & ø   )å  *! *  æ)  ┆
0x031e60…031e80             6e 29 f5 c5 e5 cd dc 27 e1 c1 f1 c3 5a 29 86 23 03 03 03 03 03 03 03 03 c3 5e 29 3a d1 2a b7 c4   ┆n)     '    Z) #         ^): *  ┆
0x031e80…031ea0             a0 2a c1 c3 31 26 3a d1 2a b7 c1 ca 4e 25 c3 69 25 0a 32 d6 2b c5 3e 41 02 01 7e 2b cd 19 26 c1   ┆ *  1&: *   N% i% 2 + >A  ü+  & ┆
0x031ea0…031ec0             c5 cd dc 27 01 b1 2a c5 cd 31 26 01 f6 2a cd 7f 26 01 b9 2a cd 31 26 c1 cd 19 26 01 f6 2a cd 7a   ┆   '  *  1&  *  &  * 1&   &  * z┆
0x031ec0…031ee0             26 01 b9 2a cd 29 28 01 c1 2a c5 cd 31 26 af 32 b9 2a 01 b1 2a 21 ae 2b 1e 08 cd 0c 25 c1 cd dc   ┆&  * )(  *  1& 2 *  *! +    %   ┆
0x031ee0…031f00             27 01 ce 2b 3e 04 cd d7 2b 01 c9 2a cd 31 26 01 09 2c cd 19 26 01 b1 2a 21 8e 2b 1e 08 cd 0c 25   ┆'  +>   +  * 1&  ,  &  *! +    %┆
0x031f00…031f20             01 a6 2b 3e 03 cd d7 2b 01 c9 2a cd 29 28 01 c1 2a cd dc 27 01 b1 2a cd 31 26 3a d6 2b d6 41 4f   ┆  +>   +  * )(  *  '  * 1&: + AO┆
0x031f20…031f40             07 3e 00 d2 27 2a 2f 47 cd 41 2a 01 fe 2a cd 7f 26 01 86 2b cd dc 27 01 b1 2a cd 7f 26 c1 c3 31   ┆ >  '*/G A*  *  &  +  '  *  &  1┆
0x031f40…031f60             26 21 21 2c 22 9e 2a cd 4f 23 7c b5 ca 69 25 7c 07 d2 60 2a 7d 2f 6f 7c 2f 67 23 3e 80 32 11 2c   ┆&!!," * O#ø  i%ø  `*å/oø/g#> 2 ,┆
0x031f60…031f80             11 94 2a d5 e3 5e 23 56 23 e3 06 00 7d 93 6f 7c 9a 67 fa 79 2a 04 c3 6c 2a 19 e5 2a 9e 2a eb cd   ┆  *  ^#V#   å oø g y*  l*  * *  ┆
0x031f80…031fa0             82 23 cd 45 25 eb 22 9e 2a e1 7b fe 01 c2 64 2a e1 c3 c4 25 10 27 e8 03 64 00 0a 00 01 00 44 4d   ┆ # E% " * æ   d*   % '  d     DM┆
0x031fa0…031fc0             01 b1 2a c5 cd 31 26 01 f6 2a cd 19 26 c1 c3 29 28 00 00 00 00 21 70 0d 00 00 44 45 4c 46 49 4c   ┆  *  1&  *  &  )(    !p   DELFIL┆
0x031fc0…031fe0             00 00 00 00 00 21 93 04 00 00 49 4e 49 54 43 00 00 00 5c 64 80 80 90 14 35 62 45 04 48 79 65 64   ┆     !    INITC   Ød    5bE Hyed┆
0x031fe0…032000             02 22 42 41 31 03 50 81 59 54 41 90 45 28 18 28 18 27 40 0a 04 01 41 00 00 00 00 00 00 10 40 00   ┆ "BA1 P YTA E( ( '@   A       @ ┆
0x032000…032020 (13, 0, 11) 31 c3 ef 30 eb 3a 26 2c e6 04 c2 ac 31 21 ff ff 22 ca 39 22 65 2c 7d 2a 2b 2c 22 cc 39 d5 2a ca   ┆1  0 :&,    1!  " 9"e,å*+," 9 * ┆
0x032020…032040             39 eb 2a cc 39 19 06 01 23 23 cd c0 38 2b cd b9 39 22 5f 2c d1 ca 5b 31 d5 cd 1f 32 cd 7c 34 c4   ┆9 * 9   ##  8+  9"_,  Æ1   2 ø4 ┆
0x032040…032060             db 30 d1 cd 90 35 c2 4a 31 37 f5 d4 60 34 f1 2a 5f 2c da 1a 31 22 ca 39 c3 1d 31 23 7d b4 ca 67   ┆ 0   5 J17  `4 *_,  1" 9  1#å  g┆
0x032060…032080             31 2b d5 cd 1f 32 d1 32 50 2c 22 51 2c 01 00 00 c5 e5 f5 cd 7c 34 37 cc 90 35 da 98 31 cd 60 34   ┆1+   2 2P,"Q,       ø47  5  1 `4┆
0x032080…0320a0             f1 e1 c1 32 50 2c 22 51 2c 3a 5e 2c b7 cc b6 32 c8 cd 94 32 d8 c3 70 31 b7 e1 e1 e1 22 5f 2c 2a   ┆   2P,"Q,:^,   2   2  p1    "_,*┆
0x0320a0…0320c0             65 2c 22 3d 2c 2a 63 2c 22 3e 2c c9 2a 34 2c 44 4d 2a 32 2c 09 2b cd 10 32 cd 90 35 c8 3f d8 2a   ┆e,"=,*c,">, *4,DM*2, +  2  5 ? *┆
0x0320c0…0320e0             32 2c cd 10 32 cd 90 35 c8 d8 22 ca 39 22 cc 39 cd 04 32 cd 10 32 eb e5 2a cc 39 cd b9 39 e1 eb   ┆2,  2  5  " 9" 9  2  2  * 9  9  ┆
0x0320e0…032100             ca ef 31 cd 90 35 ca cd 31 da cd 31 c3 ca 31 2a ca 39 cd 18 32 cd 90 35 c8 d8 7e 23 fe 0d c2 fa   ┆  1  5  1  1  1* 9  2  5  ü#    ┆
0x032100…032120             31 c3 f2 31 78 b7 1f 47 79 1f 4f 2a ca 39 09 c9 2b 7e fe 0d c2 10 32 23 22 27 2c cd 45 35 c9 d5   ┆1  1x  Gy O* 9  +ü    2#"', E5  ┆
0x032120…032140             c5 3a 2f 2c c6 06 cd d4 38 7d e6 7f bd 6c 60 29 c1 d1 c8 b7 23 c9 cd b9 30 cd 3f 32 c3 ef 30 47   ┆ :/,    8å   l`)    #   0 ?2  0G┆
0x032140…032160             eb cd 52 32 c0 cd ba 35 c2 41 32 c9 fa 86 33 c3 54 33 78 87 d2 4c 32 fa e1 32 cd b9 30 cd 63 32   ┆  R2   5 A2   3 T3x  L2  2  0 c2┆
0x032160…032180             c3 ef 30 cd 7b 33 ca 77 32 2a 51 2c 3a 50 2c cd 88 32 c0 cd 94 32 d8 32 50 2c 22 51 2c cd 88 32   ┆  0 æ3 w2*Q,:P,  2   2 2P,"Q,  2┆
0x032180…0321a0             c0 cd b6 32 c2 73 32 c9 cd 5c 34 c8 3e ff 32 5e 2c b7 37 c9 2a 5f 2c 44 4d 3a 66 2c b7 2a 61 2c   ┆   2 s2  Ø4 > 2^, 7 *_,DM:f, *a,┆
0x0321a0…0321c0             f0 60 69 23 d5 11 2b 2c cd a5 37 d1 ca 8c 32 22 5f 2c cd 1f 32 c9 e5 d5 c5 2a 30 2c 7e 3c ca d8   ┆ `i#  +,  7   2"_,  2    *0,ü<  ┆
0x0321c0…0321e0             32 cd 9f 31 cd 2b 34 37 3e 01 c2 d8 32 2a 27 2c 7e b7 3c ca d8 32 3e 02 3d 3d 32 5e 2c c1 d1 e1   ┆2  1 +47>   2*',ü <  2> ==2^,   ┆
0x0321e0…032200             c9 cd b9 30 21 5e 2c 7e b7 ca f5 32 cd 04 31 cd b6 32 ca 42 33 2a 51 2c 22 ce 39 3a 50 2c 32 d0   ┆   0!^,ü   2  1  2 B3*Q," 9:P,2 ┆
0x032200…032220 (13, 0, 12) 38 23 c1 d1 e3 c9 cd 1b 39 c5 0e 10 cd 54 39 c1 fe fe c2 19 39 3e 83 b7 c9 af c9 e5 d5 c5 0e 1a   ┆8#      9    T9     9>          ┆
0x032220…032240             11 80 00 cd 05 00 c1 d1 e1 c9 0e 0f c3 31 39 0e 16 cd 54 39 fe f5 d2 d9 30 e5 21 20 00 19 af 77   ┆             19   T9    0 !    w┆
0x032240…032260             e1 c9 fe ff ca 4c 39 fe 02 c2 d9 30 cd 84 39 eb cd 89 39 eb e5 c5 d5 79 d6 0f fe 09 d2 b1 39 1a   ┆     L9    0  9   9    y      9 ┆
0x032260…032280             47 d5 c5 cd 9c 39 32 f4 39 5f 0e 0e cd 05 00 c1 d1 af 12 c5 cd 05 00 c1 e1 70 eb b7 c1 e1 c9 fe   ┆G    92 9_               p      ┆
0x032280…0322a0             01 ca d9 30 32 f3 39 b7 c9 e5 d5 c5 cd a2 39 cd 96 39 c1 d1 e1 c9 0e 13 cd 54 39 c9 3d f0 3a 5c   ┆   02 9       9  9       T9 = :Ø┆
0x0322a0…0322c0             11 c9 11 d2 39 d5 06 0c cd b7 38 eb 70 2b 34 d1 c9 cd 05 00 d1 c1 e1 b7 c9 7a 94 c0 7b 95 c9 c4   ┆    9     8 p+4          z  æ   ┆
0x0322c0…0322e0             90 55 f6 ff c9 af 32 0a ff 7a 32 25 72 e5 2a 44 72 7a cd 27 17 22 26 72 e1 3a 47 72 32 28 72 c9   ┆ U    2  z2%r *Drz ' "&r :Gr2(r ┆
0x0322e0…032300             e5 21 7c 38 ae e1 c5 e5 21 0a 72 46 36 00 e1 cd dc 54 4f 00 00 0a 72 79 c1 c8 e5 e5 cd 50 3a 67   ┆ !ø8    ! rF6    TO   ry     P:g┆
0x032300…032320             cd 5e 3a 6f cd 3c 3d e1 c9 e5 d5 c5 2a 16 3c 3a 7f 18 67 cd 00 3c cd 6c 3a cd 50 3a 4f d4 fe 40   ┆ ^:o <=     * <:  g  < l: P:O  @┆
0x032320…032340             c1 d1 e1 c9 e5 d5 c5 3a 1c 3c 3d 4f cd 6c 3a 2a 22 43 78 f6 80 47 cd fe 40 c1 d1 e1 c9 3a 40 02   ┆       : <=O l:*"Cx  G  @    :@ ┆
0x032340…032360             3d 67 cd b4 3c 6f cd 3c 3d cd be 3c cd 9e 3c c9 e5 3a 7f 18 2a 17 3c 95 2a 1c 3c 85 e1 c9 e5 3a   ┆=g  <o <=  <  <  :  * < * <    :┆
0x032360…032380             7e 18 2a 16 3c 95 2a a2 18 85 e1 c9 cd b4 3c 47 3a 6b 11 b8 d0 47 c9 0e 1b 06 01 cd 6a 3f cd a3   ┆ü * < *       <G:k   G      j?  ┆
0x032380…0323a0             3b 79 c9 3a 1b 3c c3 8b 3a 3e 06 06 01 cd e5 40 cd 59 42 c9 e5 d5 c5 21 1a 3c 7e 2f 77 cd ad 3a   ┆;y : <  :>     @ YB    ! <ü/w  :┆
0x0323a0…0323c0             cd 83 3a cd f5 3a cd a3 3b c1 d1 e1 c9 3a 1a 3c 21 1b 3c a6 3c 32 1c 3c c9 e5 d5 c5 11 1b 3c 1a   ┆  :  :  ;    : <! < <2 <      < ┆
0x0323c0…0323e0             4f 7e 12 b9 f5 23 47 87 80 47 11 20 3c cd b7 38 f1 ca eb 3b cd ad 3a cd 83 3a cd f5 3a cd a3 3b   ┆Oü   #G  G  <  8   ;  :  :  :  ;┆
0x0323e0…032400             c1 d1 e1 c9 e5 d5 c5 af 32 17 3c 32 16 3c cd 96 3b c1 d1 e1 c9 e5 d5 c5 cd 09 3b f5 cd 2f 3b 47   ┆        2 <2 <  ;         ;  /;G┆
0x032400…032420 (13, 0, 13) 05 23 cd 65 23 06 00 cd 20 25 d2 26 23 47 cd 65 23 cd 20 25 d2 1f 23 4f 78 87 87 80 87 81 47 7b   ┆ # e#    % &#G e#  %  #Ox     Gæ┆
0x032420…032440             b7 c2 26 23 90 47 0e 0e 21 21 2c 7e b7 c2 39 23 2b 0d c2 2b 23 32 12 2c c9 21 12 2c 78 86 77 17   ┆  &# G  !!,ü  9#+  +#2 , ! ,x w ┆
0x032440…032460             da 4e 25 cd c4 25 01 1a 2c cd f2 25 c3 02 26 c5 af 32 11 2c cd 6e 25 3e 40 32 12 2c e1 3e aa 32   ┆ N%  %  ,  %  &  2 , n%>@2 , > 2┆
0x032460…032480             9d 23 0e 1c c9 3a 9c 23 b7 c8 3d 32 9c 23 7e e6 7f fe 02 7e 23 da 65 23 fe 30 d8 fe 3a d0 32 9d   ┆ #   : #  =2 #ü    ü# e# 0  : 2 ┆
0x032480…0324a0             24 c9 af b1 c8 0d 3a 9d 23 07 32 9d 23 d2 96 23 78 cd 38 25 12 c9 1a b0 12 1b c9 80 00 00 22 a3   ┆$     : # 2 #  #x 8%          " ┆
0x0324a0…0324c0             24 60 69 22 9e 24 32 a0 24 eb cd f8 21 cd 51 24 11 a1 24 21 9f 24 3a 11 2c b7 ca c3 23 7e b7 ca   ┆$`i" $2 $   ! Q$  $! $: ,   #ü  ┆
0x0324c0…0324e0             65 25 35 3a a0 24 4f 3a 12 2c b7 ca d0 23 d6 40 0c 0d ca da 23 96 32 a2 24 7e b7 f2 e2 23 2f 3c   ┆e%5: $O: ,   # @    # 2 $ü   #/<┆
0x0324e0…032500             12 af c2 ee 23 34 35 ca ee 23 eb 34 eb 3c 34 4f 0c be d2 65 25 3a 11 2c b7 3e 2d c4 94 24 3a 9e   ┆    #45  # 4 <4O   e%: , >-  $: ┆
0x032500…032520             24 81 47 05 0d 3e 2e cc 94 24 cd 61 24 cd 94 24 05 c2 04 24 3a a0 24 b7 ca 48 24 3e 45 cd 94 24   ┆$ G  >.  $ a$  $   $: $  H$>E  $┆
0x032520…032540             3a a2 24 b7 0e 20 f2 2d 24 2f 3c 0e 2d 47 79 cd 94 24 78 0e 2f 0c d6 0a f2 35 24 c6 0a 47 79 cd   ┆: $    -$/< -Gy  $x /    5$  Gy ┆
0x032540…032560             94 24 78 f6 30 cd 94 24 af cd 94 24 3a 9d 24 b7 c9 21 21 2c 22 a6 24 3e 0e 32 a5 24 af 32 a1 24   ┆ $x 0  $   $: $  !!," $> 2 $ 2 $┆
0x032560…032580             c9 e5 3a 12 2c b7 ca 72 24 21 a1 24 7e b7 ca 76 24 35 3e 30 e1 c9 21 a5 24 7e b7 ca 72 24 35 2a   ┆  : ,  r$! $ü  v$5>0  ! $ü  r$5*┆
0x032580…0325a0             a6 24 0f 7e d2 8b 24 2b 22 a6 24 d4 31 25 e6 0f f6 30 e1 c9 2a a3 24 77 23 22 a3 24 c9 21 0e 00   ┆ $ ü  $+" $ 1%   0  * $w#" $ !  ┆
0x0325a0…0325c0             00 00 44 41 54 41 4c a1 60 69 7e e6 7f fe 41 d2 b5 24 36 00 c9 47 3e 4d 90 d8 3c 47 0f e6 7f 23   ┆  DATAL `iü   A  $6  G>M  <G   #┆
0x0325c0…0325e0             b7 ca cb 24 36 00 23 3d c2 c4 24 78 0f d0 3e f0 a6 77 c9 cd 51 24 21 00 00 3a 12 2c b7 c8 d6 41   ┆   $6 #=  $x  >  w  Q$!  : ,   A┆
0x0325e0…032600             f8 3c 32 0b 25 29 54 5d 19 29 19 cd 61 24 e6 0f 16 00 5f 19 3a 0b 25 3d 32 0b 25 c2 e5 24 3a 11   ┆ <2 %)TÅ )  a$    _ : %=2 %  $: ┆
0x032600…032620 (13, 0, 14) 00 00 00 00 00 50 40 92 99 99 99 99 99 99 40 99 99 99 99 99 99 49 40 68 66 66 66 66 66 16 3f 68   ┆     P@       @      I@hfffff ?h┆
0x032620…032640             66 66 66 66 66 41 3e 35 33 33 33 33 33 83 3e 89 88 88 88 88 88 13 3d 69 12 84 69 12 84 19 3c 89   ┆fffffA>533333 >       =i  i   < ┆
0x032640…032660             15 30 87 15 80 24 3b 86 39 22 19 73 55 27 3a 86 39 22 19 73 55 27 39 42 54 38 08 21 05 25 38 68   ┆ 0   $; 9" sU': 9" sU'9BT8 ! %8h┆
0x032660…032680             78 98 56 67 87 20 37 22 68 83 43 90 05 16 36 30 77 59 45 07 47 11 34 01 82 31 37 16 47 76 40 81   ┆x Vg  7"h C   60wYE G 4  17 Gv@ ┆
0x032680…0326a0             16 60 76 27 62 31 41 40 99 92 50 58 02 23 43 60 51 08 49 22 55 26 c3 80 65 28 48 83 94 42 43 54   ┆ `v'b1A@  PX #C`Q I"U&  e(H  BCT┆
0x0326a0…0326c0             03 97 62 44 76 19 c2 52 11 57 61 47 76 22 43 88 25 54 24 61 27 13 c3 99 19 99 48 95 89 25 43 73   ┆  bDv  R WaGv"C %T$a'     H  %Cs┆
0x0326c0…0326e0             72 62 89 01 86 15 c2 22 28 48 84 64 41 31 41 00 00 00 00 00 00 10 00 f5 c5 01 09 2c cd 31 26 c1   ┆rb     "(H dA1A            , 1& ┆
0x0326e0…032700             c5 c3 ec 2b f5 c5 cd 7f 26 01 09 2c cd dc 27 c1 21 f8 ff 09 44 4d f1 3d c2 e4 2b 01 b9 2a 0a b7   ┆   +    &  ,  ' !   DM =  +  *  ┆
0x032700…032720             c4 dc 27 01 b1 2a c3 7f 26 00 21 41 05 00 00 4c 4f 43 41 54 32 00 00 00 00 00 21 4a 05 00 00 4c   ┆  '  *  & !A   LOCAT2     !J   L┆
0x032720…032740             4f 43 54 32 41 00 48 00 00 00 21 72 05 00 00 4c 4f 43 41 54 34 00 00 00 00 00 21 57 05 00 00 4c   ┆OCT2A H   !r   LOCAT4     !W   L┆
0x032740…032760             4f 43 41 54 33 9b 49 00 00 00 21 90 06 00 00 43 4b 47 4f 4f 44 00 00 00 00 00 21 6e 06 00 00 4e   ┆OCAT3 I   !    CKGOOD     !n   N┆
0x032760…032780             58 54 4e 44 58 00 00 e5 d5 c5 cd 1b 39 21 ff ff 22 4e 2c 22 3b 2c 22 5e 2c 23 39 22 c4 39 2a 2d   ┆XTNDX       9!  "N,";,"^,#9" 9*-┆
0x032780…0327a0             2c 56 af 23 23 86 15 c2 83 2c 32 2f 2c 2a c0 39 5f 22 30 2c cd a5 2d eb 2a 29 2c 23 eb 22 27 2c   ┆,V ##    ,2/,* 9_"0,  - *),# "',┆
0x0327a0…0327c0             36 0d cd a5 2d 1e 80 22 39 2c cd a5 2d 22 4c 2c cd a5 2d 2a c0 39 22 34 2c eb 2a 32 2c eb cd 24   ┆6   -  "9,  -"L,  -* 9"4, *2,  $┆
0x0327c0…0327e0             2e 32 43 2c 2a c0 39 22 46 2c eb 2a 44 2c eb cd 24 2e 32 53 2c cd 72 2e cd 9c 2e 3a 26 2c e6 04   ┆.2C,* 9"F, *D,  $.2S, r.  .:&,  ┆
0x0327e0…032800             c4 fa 2c 3a f3 39 b7 c1 d1 e1 c9 3e ff 32 5e 2c c9 22 c0 39 60 69 22 c2 39 c9 2a c0 39 e5 22 27   ┆  ,: 9     > 2^, " 9`i" 9 * 9 "'┆
0x032800…032820 (13, 0, 15) 39 2a 5f 2c cd 1f 32 cd 45 33 c2 1e 33 2a 5f 2c 7c b5 3e ff ca 3e 33 2b 22 5f 2c cd 1f 32 22 51   ┆9*_,  2 E3  3*_,ø >  >3+"_,  2"Q┆
0x032820…032840             2c 32 50 2c cd 5c 34 c4 db 30 3a 66 2c 47 04 2a 61 2c c4 45 33 c2 1e 33 cd b6 32 c2 f5 32 b7 32   ┆,2P, Ø4  0:f,G *a, E3  3  2  2 2┆
0x032840…032860             5e 2c c3 ef 30 eb 2a ce 39 eb 47 3a d0 39 b8 cc b9 39 78 c9 cd b9 30 cd 7b 33 ca 63 33 2a 40 2c   ┆^,  0 * 9 G: 9   9x   0 æ3 c3*@,┆
0x032860…032880             3a 42 2c cd 6f 33 fe fe ca 5d 33 b7 c3 ef 30 22 3e 2c 32 3d 2c e5 d5 c5 c3 c4 32 3a 5e 2c 3c c0   ┆:B, o3   Å3   0">,2=,     2:^,< ┆
0x032880…0328a0             67 6f 22 5f 2c c9 cd b9 30 cd 9a 33 fe fe cc b2 33 fe fe ca 8e 33 b7 c3 ef 30 3a 5e 2c b7 ca b2   ┆go"_,   0  3    3    3   0:^,   ┆
0x0328a0…0328c0             33 2a 37 2c 22 3e 2c 3a 36 2c 32 3d 2c b5 b4 3e ff c8 2a 3e 2c cd 4b 2f c4 db 30 3a 3d 2c 22 40   ┆3*7,">,:6,2=,  >  *>, K/  0:=,"@┆
0x0328c0…0328e0             2c 32 42 2c 4f cd 00 34 cd e4 33 d8 ca c8 33 cd e4 33 da dd 33 c2 cf 33 0c f2 df 33 23 0e 00 79   ┆,2B,O  4  3   3  3  3  3   3#  y┆
0x0328e0…032900             cd 6f 33 c9 1b b7 0d fc f2 33 d8 1a fe 0d c8 fe 0a c9 7c b5 ca 8c 32 2b cd 4b 2f c4 db 30 0e 7f   ┆ o3      3        ø   2+ K/  0  ┆
0x032900…032920             eb 2a 39 2c 06 00 09 eb c9 cd a1 33 3e ff 32 5e 2c 2a 27 2c 7e 23 a6 3c c0 2a 3e 2c 22 37 2c 3a   ┆ *9,       3> 2^,*',ü# < *>,"7,:┆
0x032920…032940             3d 2c 32 36 2c c9 3a 5e 2c b7 c9 cd 3c 34 cd be 34 79 32 42 2c 2a 3b 2c 22 40 2c c9 2a 3e 2c cd   ┆=,26, :^,   <4  4y2B,*;,"@, *>, ┆
0x032940…032960             4b 2f 21 00 00 22 5c 2c b7 c4 d4 30 c0 2a 27 2c eb 2a 39 2c 3a 3d 2c 4f 06 00 09 c9 cd 7c 34 c0   ┆K/!  "Ø,   0 *', *9,:=,O     ø4 ┆
0x032960…032980             d5 06 06 11 61 2c cd a1 34 d1 c0 2a 63 2c 2b 22 63 2c 2a 65 2c 25 2d 22 65 2c b7 c9 4f c5 cd e6   ┆    a,  4  *c,+"c,*e,%-"e,  O   ┆
0x032980…0329a0             2f c1 b7 c4 d4 30 c0 d5 2a 30 2c eb 06 00 2a 4c 2c 09 3a 2f 2c 47 cd 9b 34 d1 c9 7e fe 1a ca d9   ┆/    0  *0,   *L, :/,G  4  ü    ┆
0x0329a0…0329c0             30 7e 12 23 13 0c f2 b8 34 0e 00 2a 4e 2c 23 cd e6 2f c4 db 30 2a 4c 2c 05 c2 a1 34 af c9 cd 1a   ┆0ü #    4  *N,#  /  0*L,   4    ┆
0x0329c0…0329e0             35 c0 fe 22 ca e8 34 cd fe 34 fe 2c ca be 34 fe 0d c8 cd 1a 35 c0 c3 c7 34 cd 1a 35 c0 cd fe 34   ┆5  "  4  4 ,  4     5   4  5   4┆
0x0329e0…032a00             fe 2c ca be 34 fe 0d c8 cd 1a 35 c0 fe 22 ca d9 34 fe 2c c2 f8 34 f6 80 cd fe 34 c3 e8 34 12 e5   ┆ ,  4     5  "  4 ,  4    4  4  ┆
0x032a00…032a20 (13, 1, 1)  f1 b0 c4 96 3b c1 d1 e1 c9 21 16 3c cd b4 3c 5f 3a 7e 18 57 3a 7d 18 47 0e 0f bb 3a 6b 11 da 44   ┆    ;    ! <  <_:ü W:å G   :k  D┆
0x032a20…032a40             3b 78 82 f5 3a a2 18 82 57 f1 06 00 c3 44 3b 3a 40 02 2a 1c 3c 95 5f 3a 7f 18 57 21 17 3c 01 03   ┆;x  :   W    D;:@ * < _:  W! <  ┆
0x032a40…032a60             00 3a 6c 11 93 d2 49 3b af ca 82 3b 32 15 3c 7e b7 ca 59 3b 81 ba d2 6d 3b 7e 83 91 4f 7a 80 b9   ┆ :l   I;   ;2 <ü  Y;   m;ü  Oz  ┆
0x032a60…032a80             d2 6d 3b 3a 15 3c be da 82 3b 3e 00 c9 3a 15 3c 4f 7b 1f 5f 78 b7 1f 82 93 d2 7d 3b af b9 da 82   ┆ m;: <   ;>  : <Oæ _x     å;    ┆
0x032a80…032aa0             3b 79 4e 77 91 c9 e5 d5 c5 cd 09 3b b7 f5 c4 96 3b f1 c1 d1 e1 c9 2a 16 3c cd 00 3c 22 18 3c cd   ┆;yNw       ;    ;     * <  <" < ┆
0x032aa0…032ac0             a3 3b c9 3a b2 42 e5 d5 c5 6f cd fb 39 cd e8 3b 3a 1c 3c bd d2 e4 3b 4f 7d f5 cd 6c 3a 5f 16 00   ┆ ; : B   o  9  ;: <   ;Oå  l:_  ┆
0x032ac0…032ae0             e5 2a 17 3c 3a 6c 11 95 2a 1c 3c 85 e1 bd da d2 3b 7d 2a 18 3c cd fe 40 19 0c b9 c2 d5 3b f1 91   ┆ * <:l  * <     ;å* <  @     ;  ┆
0x032ae0…032b00             41 c4 e5 40 c1 d1 e1 c9 e5 d5 c5 2a c5 42 eb 21 1d 3c 3a 1c 3c 4f 87 81 47 cd b7 38 c1 d1 e1 c9   ┆A  @       * B ! <: <O  G  8    ┆
0x032b00…032b20             44 4d 3a 6b 11 cd 71 42 2a 6d 11 19 c9 7c 2f 67 7d 2f 6f 23 c9 72 00 00 6d 11 ff 06 07 cf c6 46   ┆DM:k  qB*m   ø/gå/o# r  m      F┆
0x032b20…032b40             00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 e5 d5 c5 3a 40 02 32 b2 42 47 2a b3 02 22   ┆                     :@ 2 BG*  "┆
0x032b40…032b60             0b 43 cd 99 3c 2a 2c 03 c2 53 3c 22 0b 43 0e 00 cd 60 42 22 c5 42 3a 40 02 5f 16 00 19 19 19 22   ┆ C  <*,  S<" C   `B" B:@ _     "┆
0x032b60…032b80             2c 03 3a 4d 02 21 56 02 86 21 5b 02 86 c6 02 32 0a 43 1e 03 2a 01 00 19 22 fd 41 19 22 04 42 19   ┆, :M !V  !Æ    2 C  *   " A " B ┆
0x032b80…032ba0             22 ac 3e cd a7 02 21 95 02 cd ea 3d 3a b1 02 cd 1b 3e cd d3 3c c1 d1 e1 c9 3a b2 02 b7 c9 cd aa   ┆" >   !    =:    >  <    :      ┆
0x032ba0…032bc0             02 21 9e 02 cd ea 3d cd 1e 3e c9 3c 3d c8 cd 99 41 c3 ac 3c 3a ad 02 b7 3a 41 02 c0 3d c9 af 32   ┆ !    =  > <=   A  <:   :A  =  2┆
0x032bc0…032be0             b9 42 3a b8 42 fe ff c8 e5 2a b6 42 ae e6 80 ae 77 e1 c9 3a b6 02 32 b9 42 e5 d5 c5 2a 40 02 eb   ┆ B: B    * B    w  :  2 B   *@  ┆
0x032be0…032c00             2a 0b 43 22 b4 42 22 b6 42 3e 20 32 b8 42 cd 99 3c c2 07 3d 21 ff ff 22 be 42 cd 6e 3e 63 25 2e   ┆* C" B" B> 2 B  <  =!  " B n>c%.┆
0x032c00…032c20 (13, 1, 2)  00 00 00 00 00 00 00 ff 00 00 00 00 00 fc 1a fc 1a 06 4f 41 02 4f 90 02 4f df 02 4f 2e 03 4f 7d   ┆                  OA O  O  O. Oå┆
0x032c20…032c40             03 4f 6a 04 06 4f 41 02 4f 90 02 4f cc 03 4f 2e 03 4f 7d 03 4f 6a 04 06 4f 41 02 4f 90 02 4f cc   ┆ Oj  OA O  O  O. Oå Oj  OA O  O ┆
0x032c40…032c60             03 4f 2e 03 4f 1b 04 4f 6a 04 06 4f 41 02 4f f6 04 4f cc 03 4f 2e 03 4f 1b 04 4f 6a 04 c8 04 ec   ┆ O. O  Oj  OA O  O  O. O  Oj    ┆
0x032c60…032c80             04 f6 04 46 05 0f 00 af 05 15 00 c4 05 cb 05 d9 05 60 06 c8 06 0a 07 34 07 55 07 8d 07 f0 07 30   ┆   F             `     4 U     0┆
0x032c80…032ca0             08 88 08 bd 08 2f 0b af 09 69 0a d4 08 66 0b ad 09 44 09 09 09 20 09 32 09 f7 08 5b 09 6d 09 ec   ┆     /   i   f   D     2   Æ m  ┆
0x032ca0…032cc0             0b 0a 0c 37 0c 70 0d 2e 0f 3c 11 cd 11 bb 12 31 14 9d 10 2e 15 19 16 69 16 bc 17 b9 0d c6 0d 00   ┆   7 p . <     1   .   i        ┆
0x032cc0…032ce0             19 2d 19 42 19 52 19 62 19 6a 19 7a 19 97 19 af 19 b7 19 cc 19 4a 19 5a 19 6a 19 7a 19 87 19 a7   ┆ - B R b j z         J Z j z    ┆
0x032ce0…032d00             19 b7 19 cc 19 22 1a 4b 1a 63 1a 91 1a c9 1a fa 1a 1a 1b c9 1a 30 1b 4a 1b 78 1b d6 1b fa 1b fb   ┆     " K c           0 J x      ┆
0x032d00…032d20             1b 00 00 02 e0 30 da 00 02 c2 0a 1e 00 00 42 41 54 43 48 20 20 20 43 4f 4d 00 46 4f 52 4d 47 45   ┆     0        BATCH   COM FORMGE┆
0x032d20…032d40             4e 20 43 4f 4d 00 00 00 00 44 54 41 4e 44 58 2e 38 39 41 42 43 44 45 46 47 48 61 62 63 64 65 66   ┆N COM    DTANDX.89ABCDEFGHabcdef┆
0x032d40…032d60             67 68 0a 16 12 0d 0b 09 06 05 04 02 01 00 43 55 52 53 4f 52 3a 20 20 20 20 20 5e 41 3d 70 72 65   ┆gh            CURSOR:     ^A=pre┆
0x032d60…032d80             76 20 66 69 65 6c 64 20 20 20 20 20 5e 53 3d 6c 65 66 74 20 63 68 61 72 20 20 20 20 5e 44 3d 72   ┆v field     ^S=left char    ^D=r┆
0x032d80…032da0             69 67 68 74 20 63 68 61 72 20 20 20 20 5e 46 3d 6e 65 78 74 20 66 69 65 6c 64 20 20 20 20 20 20   ┆ight char    ^F=next field      ┆
0x032da0…032dc0             20 20 20 20 20 20 20 20 20 5e 54 3d 66 69 72 73 74 20 66 69 65 6c 64 20 20 20 20 5e 4c 3d 6c 61   ┆         ^T=first field    ^L=la┆
0x032dc0…032de0             73 74 20 66 69 65 6c 64 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆st field                        ┆
0x032de0…032e00             20 20 20 20 20 20 20 20 20 20 20 20 46 49 45 4c 44 20 45 44 49 54 3a 20 5e 47 3d 64 65 6c 65 74   ┆            FIELD EDIT: ^G=delet┆
0x032e00…032e20 (13, 1, 3)  01 89 09 00 46 69 6c 65 20 6e 6f 74 20 66 6f 75 6e 64 01 89 09 00 49 6e 73 75 66 66 69 63 69 65   ┆    File not found    Insufficie┆
0x032e20…032e40             6e 74 20 6d 65 6d 6f 72 79 01 89 09 00 44 69 72 65 63 74 6f 72 79 20 6f 6e 20 64 01 33 09 00 44   ┆nt memory    Directory on d 3  D┆
0x032e40…032e60             69 73 6b 20 01 f4 01 3a 20 66 75 6c 6c 01 89 09 00 42 41 54 43 48 2e 43 4f 4d 20 6e 6f 74 20 66   ┆isk    : full    BATCH.COM not f┆
0x032e60…032e80             6f 75 6e 64 01 89 09 00 45 6e 64 20 6f 66 20 73 65 73 73 69 6f 6e 01 89 09 00 44 69 73 6b 20 01   ┆ound    End of session    Disk  ┆
0x032e80…032ea0             f4 01 3a 20 72 65 61 64 2f 77 72 69 74 65 20 66 61 69 6c 75 72 65 2e 0d 52 65 70 6c 61 63 65 20   ┆  : read/write failure. Replace ┆
0x032ea0…032ec0             73 79 73 74 65 6d 20 64 69 73 6b 2c 20 74 79 70 65 20 72 65 74 75 72 6e 2e 00 0d 00 0d 20 54 68   ┆system disk, type return.     Th┆
0x032ec0…032ee0             65 20 66 6f 72 6d 20 64 65 66 69 6e 69 74 69 6f 6e 20 66 69 6c 65 20 69 73 20 77 68 65 72 65 20   ┆e form definition file is where ┆
0x032ee0…032f00             74 68 65 20 73 70 65 63 69 66 69 63 61 74 69 6f 6e 73 20 66 6f 72 20 79 6f 75 72 20 66 6f 72 6d   ┆the specifications for your form┆
0x032f00…032f20             20 61 72 65 0d 20 73 74 6f 72 65 64 2e 20 20 49 66 20 79 6f 75 20 68 61 76 65 20 6e 6f 74 20 79   ┆ are  stored.  If you have not y┆
0x032f20…032f40             65 74 20 64 65 73 69 67 6e 65 64 20 61 20 66 6f 72 6d 2c 20 63 68 6f 6f 73 65 20 61 20 6e 61 6d   ┆et designed a form, choose a nam┆
0x032f40…032f60             65 20 66 6f 72 20 74 68 65 20 66 6f 72 6d 0d 20 64 65 66 69 6e 69 74 69 6f 6e 20 66 69 6c 65 20   ┆e for the form  definition file ┆
0x032f60…032f80             61 6e 64 20 65 6e 74 65 72 20 69 74 20 68 65 72 65 2e 01 f3 0a 00 0d 20 41 20 66 6f 72 6d 20 64   ┆and enter it here.      A form d┆
0x032f80…032fa0             65 66 69 6e 69 74 69 6f 6e 20 6e 61 6d 65 20 69 73 20 65 69 67 68 74 20 28 6f 72 20 6c 65 73 73   ┆efinition name is eight (or less┆
0x032fa0…032fc0             29 20 6c 65 74 74 65 72 73 20 61 6e 64 2f 6f 72 20 6e 75 6d 62 65 72 73 2c 0d 20 6f 70 74 69 6f   ┆) letters and/or numbers,  optio┆
0x032fc0…032fe0             6e 61 6c 6c 79 20 70 72 65 63 65 65 64 65 64 20 62 79 20 61 20 64 69 73 6b 20 64 72 69 76 65 20   ┆nally preceeded by a disk drive ┆
0x032fe0…033000             28 6c 65 74 74 65 72 20 41 2d 50 20 66 6f 6c 6c 6f 77 65 64 20 62 79 20 63 6f 6c 6f 6e 29 2e 0d   ┆(letter A-P followed by colon). ┆
0x033000…033020 (13, 1, 4)  20 66 69 6c 65 20 6d 61 69 6e 74 65 6e 61 6e 63 65 20 69 73 20 72 65 71 75 69 72 65 64 2c 20 65   ┆ file maintenance is required, e┆
0x033020…033040             01 50 08 20 77 68 65 6e 20 61 20 62 61 74 63 68 20 66 69 6c 65 20 6e 61 6d 65 20 69 73 20 72 65   ┆ P  when a batch file name is re┆
0x033040…033060             71 75 65 73 74 65 64 2e 00 52 3d 52 45 53 54 4f 52 45 20 4d 41 49 4e 20 46 49 4c 45 20 69 73 20   ┆quested. R=RESTORE MAIN FILE is ┆
0x033060…033080             75 73 65 64 20 74 6f 20 52 45 54 55 52 4e 20 54 4f 20 50 52 49 4d 41 52 59 20 44 41 54 41 42 41   ┆used to RETURN TO PRIMARY DATABA┆
0x033080…0330a0             53 45 20 4f 50 45 52 41 54 49 4f 4e 2e 20 20 49 74 0d 69 73 20 6f 6e 6c 79 20 75 73 65 66 75 6c   ┆SE OPERATION.  It is only useful┆
0x0330a0…0330c0             20 77 68 65 6e 20 61 20 62 61 74 63 68 20 66 69 6c 65 20 68 61 73 20 62 65 65 6e 20 73 65 6c 65   ┆ when a batch file has been sele┆
0x0330c0…0330e0             63 74 65 64 20 61 73 20 74 68 65 20 63 75 72 72 65 6e 74 20 66 69 6c 65 2e 00 4d 3d 45 44 49 54   ┆cted as the current file. M=EDIT┆
0x0330e0…033100             20 53 43 41 4e 20 4d 41 53 4b 20 69 73 20 75 73 65 64 20 74 6f 20 41 4c 54 45 52 20 54 48 45 20   ┆ SCAN MASK is used to ALTER THE ┆
0x033100…033120             43 55 52 52 45 4e 54 20 53 43 41 4e 20 4d 41 53 4b 2e 20 20 57 68 65 6e 20 74 68 65 20 66 6f 72   ┆CURRENT SCAN MASK.  When the for┆
0x033120…033140             6d 20 69 73 0d 70 72 65 73 65 6e 74 65 64 2c 20 61 6e 79 20 64 61 74 61 66 69 65 6c 64 20 6d 61   ┆m is presented, any datafield ma┆
0x033140…033160             79 20 62 65 20 65 6e 74 65 72 65 64 2e 20 20 49 66 20 61 20 53 43 41 4e 20 4d 4f 44 45 20 69 73   ┆y be entered.  If a SCAN MODE is┆
0x033160…033180             20 74 68 65 6e 20 73 65 6c 65 63 74 65 64 2c 0d 6f 6e 6c 79 20 72 65 63 6f 72 64 73 20 74 68 61   ┆ then selected, only records tha┆
0x033180…0331a0             74 20 6d 61 74 63 68 20 74 68 65 20 65 6e 74 65 72 65 64 20 64 61 74 61 66 69 65 6c 64 73 20 28   ┆t match the entered datafields (┆
0x0331a0…0331c0             6f 72 20 70 6f 72 74 69 6f 6e 73 20 74 68 65 72 65 6f 66 29 20 77 69 6c 6c 0d 62 65 20 64 69 73   ┆or portions thereof) will be dis┆
0x0331c0…0331e0             70 6c 61 79 65 64 2e 00 4b 3d 53 45 4c 45 43 54 20 42 59 20 4b 45 59 20 4d 4f 44 45 20 69 73 20   ┆played. K=SELECT BY KEY MODE is ┆
0x0331e0…033200             75 73 65 64 20 74 6f 20 53 45 4c 45 43 54 20 49 4e 44 49 56 49 44 55 41 4c 20 52 45 43 4f 52 44   ┆used to SELECT INDIVIDUAL RECORD┆
0x033200…033220 (13, 1, 5)  00 cd 3c 3d 2a 0b 43 42 36 20 05 23 c2 08 3d cd 99 3c c2 1f 3d 0e 0d cd a4 3e 0e 0a cd a4 3e 1d   ┆  <=* CB6  #  =  <  =    >    > ┆
0x033220…033240             c2 07 3d 2a c5 42 3a 40 02 47 80 80 73 23 3d c2 2c 3d 21 00 00 cd 3c 3d c1 d1 e1 c9 f5 af 32 c4   ┆  =* B:@ G  s#= ,=!   <=      2 ┆
0x033240…033260             42 f1 c3 48 3d cd bb 41 e5 d5 c5 f5 3a b9 42 b7 c2 c2 3d e5 5c 55 2a c2 42 7b bc c2 7a 3d 7a 95   ┆B  H=  A    : B   = ØU* Bæ  z=z ┆
0x033260…033280             ca af 3d 47 3a 0a 43 b8 da 7a 3d 2a b6 42 4e cd a4 3e 23 05 c2 6e 3d c3 af 3d 3a 67 02 b7 c2 bb   ┆  =G: C  z=* BN  >#  n=  =:g    ┆
0x033280…0332a0             3d 21 4d 02 cd ea 3d 2a 61 02 19 4d 54 3a 60 02 b7 ca 96 3d 4c 55 cd a4 3e 21 56 02 cd ea 3d 4a   ┆=!M   =*a  MT:`    =LU  >!V   =J┆
0x0332a0…0332c0             cd a4 3e 21 5b 02 cd ea 3d 3a b0 02 cd 1b 3e e1 cd d8 3d cd 6e 3e f1 c1 d1 e1 c9 eb cd 67 02 c3   ┆  >!Æ   =:    >   = n>       g  ┆
0x0332c0…0332e0             a9 3d cd c2 3c cd d8 3d 2a b4 42 22 b6 42 7e 32 b8 42 f6 80 77 c3 b6 3d e5 d5 c5 22 be 42 44 4d   ┆ =  <  =* B" Bü2 B  w  =   " BDM┆
0x0332e0…033300             cd 60 42 22 b4 42 c1 d1 e1 c9 3e 01 32 08 43 46 04 05 c8 23 4e 79 e6 7e fe 02 cc 03 3e cd 3e 3e   ┆ `B" B    > 2 CF   #Ny ü    > >>┆
0x033300…033320             c3 f1 3d e5 d5 eb 2a 8c 18 79 e6 80 b6 4f 1b 23 1a e6 7e fe 02 ca 09 3e d1 e1 c9 cd ab 3c af 32   ┆  =   *  y   O #  ü    >     < 2┆
0x033320…033340             08 43 c9 79 fe 20 d2 32 3e fe 0d c0 e5 cd 09 40 e1 c9 cd 3e 3e e5 2a be 42 cd 3c 3d e1 c9 e5 d5   ┆ C y   2>      @   >> * B <=    ┆
0x033340…033360             c5 3a 08 43 b7 c2 a7 3e 79 cd b5 3e 4f cd 54 3e c1 d1 e1 c9 cd 99 3c c2 7b 3e 79 2a b4 42 be ca   ┆ : C   >y  >O T>      < æ>y* B  ┆
0x033360…033380             8c 3e 2a be 42 cd 48 3d cd a4 3e cd 8c 3e 2a be 42 22 c2 42 2a b4 42 22 b6 42 c9 2a b6 42 eb 2a   ┆ >* B H=  >  >* B" B* B" B * B *┆
0x033380…0333a0             b4 42 cd b9 39 c2 8c 3e 79 32 b8 42 21 be 42 34 2a b4 42 71 23 22 b4 42 c5 3a bf 42 4f 06 00 cd   ┆ B  9  >y2 B! B4* Bq#" B : BO   ┆
0x0333a0…0333c0             fe 40 c1 c9 e5 d5 c5 cd 2a 3f 79 cd 00 00 cd f9 41 c1 d1 e1 c9 07 fe 02 d2 bd 3e c6 be fe 04 d2   ┆ @      *?y     A         >     ┆
0x0333c0…0333e0             c4 3e c6 52 0f c9 e5 d5 c5 0e 20 cd b4 3c 2a be 42 95 47 ca e6 3e eb 21 70 02 7e b7 c2 ea 3e cd   ┆ > R         <* B G  > !p ü   > ┆
0x0333e0…033400             3e 3e 05 c2 df 3e c1 d1 e1 c9 e5 2a b4 42 0e 00 7e 36 20 96 b1 4f 23 05 c2 f0 3e e1 b7 ca 0e 3f   ┆>>   >     * B  ü6   O#   >    ?┆
0x033400…033420 (13, 1, 6)  65 20 63 68 61 72 20 20 20 20 5e 56 3d 69 6e 73 65 72 74 20 68 6f 6c 65 20 20 5e 43 3d 63 6f 70   ┆e char    ^V=insert hole  ^C=cop┆
0x033420…033440             79 20 66 72 6f 6d 20 70 72 65 76 69 6f 75 73 20 72 65 63 6f 72 64 20 20 20 20 20 4f 54 48 45 52   ┆y from previous record     OTHER┆
0x033440…033460             3a 20 20 20 20 20 20 5e 5a 3d 72 65 73 74 6f 72 65 20 73 63 72 65 65 6e 20 5e 55 3d 70 72 69 6e   ┆:      ^Z=restore screen ^U=prin┆
0x033460…033480             74 20 66 6f 72 6d 20 20 20 5e 4f 3d 70 72 69 6e 74 20 64 61 74 61 20 20 20 20 5e 4a 3d 68 65 6c   ┆t form   ^O=print data    ^J=hel┆
0x033480…0334a0             70 20 6f 6e 2f 6f 66 66 20 20 45 4e 44 2f 45 58 49 54 3a 20 20 20 5e 42 3d 65 6e 64 20 65 6e 74   ┆p on/off  END/EXIT:   ^B=end ent┆
0x0334a0…0334c0             72 79 20 20 20 20 20 20 5e 45 3d 65 78 69 74 20 63 75 72 72 65 6e 74 20 6d 6f 64 65 20 20 20 20   ┆ry      ^E=exit current mode    ┆
0x0334c0…0334e0             20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 46 49 45 4c 44 20 45   ┆                         FIELD E┆
0x0334e0…033500             44 49 54 3a 20 5e 47 3d 64 65 6c 65 74 65 20 63 68 61 72 20 20 20 20 5e 56 3d 69 6e 73 65 72 74   ┆DIT: ^G=delete char    ^V=insert┆
0x033500…033520             20 68 6f 6c 65 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆ hole                           ┆
0x033520…033540             20 20 20 20 20 20 20 20 45 4e 44 2f 45 58 49 54 3a 20 20 20 5e 42 3d 65 6e 64 20 65 6e 74 72 79   ┆        END/EXIT:   ^B=end entry┆
0x033540…033560             20 20 20 20 20 20 5e 4e 3d 6e 65 78 74 20 72 65 63 6f 72 64 20 20 5e 50 3d 70 72 65 76 20 72 65   ┆      ^N=next record  ^P=prev re┆
0x033560…033580             63 6f 72 64 20 20 20 5e 45 3d 65 78 69 74 20 6d 6f 64 65 20 20 20 20 5f 5f 5f 5f 5f 5f 5f 5f 5f   ┆cord   ^E=exit mode    _________┆
0x033580…0335a0             5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f   ┆________________________________┆
          […0x1…]
0x0335c0…0335e0             5f 5f 5f 5f 5f 5f 41 44 44 20 4d 4f 44 45 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆______ADD MODE                  ┆
0x0335e0…033600             20 20 20 20 20 20 20 20 20 20 20 20 63 75 72 72 65 6e 74 20 66 6f 72 6d 3d 20 20 20 20 20 20 20   ┆            current form=       ┆
0x033600…033620 (13, 1, 7)  0d 0d 50 72 65 73 73 20 52 45 54 55 52 4e 20 6b 65 79 20 74 6f 20 65 6e 74 65 72 20 66 6f 72 6d   ┆  Press RETURN key to enter form┆
0x033620…033640             20 6e 61 6d 65 20 6f 72 20 65 6e 74 65 72 20 5e 43 20 74 6f 20 65 78 69 74 3a 20 00 45 6e 74 65   ┆ name or enter ^C to exit:  Ente┆
0x033640…033660             72 20 6e 61 6d 65 20 6f 66 20 66 6f 72 6d 20 64 65 66 69 6e 69 74 69 6f 6e 20 66 69 6c 65 20 28   ┆r name of form definition file (┆
0x033660…033680             6f 72 20 70 72 65 73 73 20 52 45 54 55 52 4e 29 3a 20 00 20 54 68 65 20 66 6f 72 6d 20 64 65 66   ┆or press RETURN):   The form def┆
0x033680…0336a0             69 6e 69 74 69 6f 6e 20 66 69 6c 65 2c 20 01 80 00 2c 20 64 6f 65 73 20 6e 6f 74 20 65 78 69 73   ┆inition file,    , does not exis┆
0x0336a0…0336c0             74 20 79 65 74 2e 0d 20 44 6f 20 79 6f 75 20 77 61 6e 74 20 74 6f 20 63 72 65 61 74 65 20 69 74   ┆t yet.  Do you want to create it┆
0x0336c0…0336e0             20 28 41 29 20 6f 72 20 65 6e 74 65 72 20 61 20 64 69 66 66 65 72 65 6e 74 20 66 6f 72 6d 20 6e   ┆ (A) or enter a different form n┆
0x0336e0…033700             61 6d 65 20 28 42 29 3f 0d 0d 45 6e 74 65 72 20 41 20 6f 72 20 42 3a 20 00 01 16 0c 64 61 74 61   ┆ame (B)?  Enter A or B:     data┆
0x033700…033720             20 66 69 6c 65 20 28 01 80 00 29 20 20 28 41 2f 42 2e 2e 2e 29 20 00 01 16 0c 69 6e 64 65 78 01   ┆ file (   )  (A/B...)     index ┆
0x033720…033740             f3 0b 00 45 6e 74 65 72 20 64 69 73 6b 20 64 72 69 76 65 20 74 6f 20 75 73 65 20 66 6f 72 20 74   ┆   Enter disk drive to use for t┆
0x033740…033760             68 65 20 00 0d 20 54 68 65 20 64 61 74 61 20 66 69 6c 65 20 69 73 20 75 73 65 64 20 74 6f 20 73   ┆he    The data file is used to s┆
0x033760…033780             74 6f 72 65 20 74 68 65 20 64 61 74 61 20 65 6e 74 65 72 65 64 20 74 68 72 6f 75 67 68 20 74 68   ┆tore the data entered through th┆
0x033780…0337a0             65 20 44 61 74 61 73 74 61 72 0d 20 70 72 6f 67 72 61 6d 20 62 79 20 72 65 63 6f 72 64 2e 20 20   ┆e Datastar  program by record.  ┆
0x0337a0…0337c0             54 68 65 20 69 6e 64 65 78 20 66 69 6c 65 20 69 73 20 75 73 65 64 20 66 6f 72 20 74 68 65 20 73   ┆The index file is used for the s┆
0x0337c0…0337e0             65 6c 65 63 74 2d 62 79 2d 6b 65 79 20 6f 70 74 69 6f 6e 0d 20 61 6e 64 20 66 6f 72 20 73 63 61   ┆elect-by-key option  and for sca┆
0x0337e0…033800             6e 6e 69 6e 67 20 74 68 65 20 66 69 6c 65 20 69 6e 20 69 6e 64 65 78 20 6f 72 64 65 72 2e 20 20   ┆nning the file in index order.  ┆
0x033800…033820 (13, 1, 8)  53 20 46 52 4f 4d 20 54 48 45 20 46 49 4c 45 20 66 6f 72 0d 73 63 72 65 65 6e 20 64 69 73 70 6c   ┆S FROM THE FILE for screen displ┆
0x033820…033840             61 79 2e 20 20 57 68 65 6e 20 74 68 65 20 66 6f 72 6d 20 69 73 20 70 72 65 73 65 6e 74 65 64 2c   ┆ay.  When the form is presented,┆
0x033840…033860             20 65 6e 74 72 79 20 77 69 6c 6c 20 62 65 20 72 65 71 75 69 72 65 64 20 61 74 20 65 61 63 68 0d   ┆ entry will be required at each ┆
0x033860…033880             22 6b 65 79 22 20 66 69 65 6c 64 20 74 68 61 74 20 74 68 65 20 63 75 72 73 6f 72 20 73 74 6f 70   ┆"key" field that the cursor stop┆
0x033880…0338a0             73 20 61 74 2e 20 20 57 68 65 6e 20 65 6e 74 72 79 20 69 73 20 63 6f 6d 70 6c 65 74 65 2c 20 74   ┆s at.  When entry is complete, t┆
0x0338a0…0338c0             68 65 20 66 69 72 73 74 0d 72 65 63 6f 72 64 20 69 6e 20 74 68 65 20 66 69 6c 65 20 74 68 61 74   ┆he first record in the file that┆
0x0338c0…0338e0             20 65 78 61 63 74 6c 79 20 6d 61 74 63 68 65 73 20 69 6e 20 74 68 65 20 65 6e 74 65 72 65 64 20   ┆ exactly matches in the entered ┆
0x0338e0…033900             70 6f 73 69 74 69 6f 6e 73 20 77 69 6c 6c 20 62 65 0d 64 69 73 70 6c 61 79 65 64 2e 20 20 54 68   ┆positions will be displayed.  Th┆
0x033900…033920             69 73 20 73 65 61 72 63 68 20 6d 6f 64 65 20 69 73 20 66 61 73 74 65 72 20 74 68 61 6e 20 74 68   ┆is search mode is faster than th┆
0x033920…033940             65 20 53 43 41 4e 20 4d 4f 44 45 20 73 65 61 72 63 68 20 77 69 74 68 20 6d 61 73 6b 2e 00 49 3d   ┆e SCAN MODE search with mask. I=┆
0x033940…033960             53 43 41 4e 20 49 4e 20 49 4e 44 45 58 20 46 49 4c 45 20 4f 52 44 45 52 20 69 73 20 75 73 65 64   ┆SCAN IN INDEX FILE ORDER is used┆
0x033960…033980             20 74 6f 20 52 45 56 49 45 57 20 54 48 45 20 43 55 52 52 45 4e 54 20 46 49 4c 45 20 49 4e 20 53   ┆ to REVIEW THE CURRENT FILE IN S┆
0x033980…0339a0             4f 52 54 20 4f 52 44 45 52 2e 0d 54 68 65 20 63 6f 6d 6d 61 6e 64 73 20 5e 50 20 61 6e 64 20 5e   ┆ORT ORDER. The commands ^P and ^┆
0x0339a0…0339c0             4e 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 64 69 73 70 6c 61 79 20 74 68 65 20 50 72 65   ┆N can be used to display the Pre┆
0x0339c0…0339e0             76 69 6f 75 73 20 6f 72 20 4e 65 78 74 20 72 65 63 6f 72 64 2e 0d 54 68 65 20 73 63 61 6e 20 6d   ┆vious or Next record. The scan m┆
0x0339e0…033a00             61 73 6b 20 63 61 6e 20 62 65 20 65 64 69 74 65 64 20 73 6f 20 74 68 61 74 20 74 68 69 73 20 6d   ┆ask can be edited so that this m┆
0x033a00…033a20 (13, 1, 9)  eb cd 45 3d eb cd ea 3d 3a b1 02 cd 1b 3e c1 d1 e1 c9 3a b5 02 b7 c2 20 3f 3a b3 42 b7 c3 30 3f   ┆  E=   =:    >    :     ?: B  0?┆
0x033a20…033a40             e5 2a b6 42 7e ee 80 77 e1 c9 3a b3 42 a9 f0 a9 ca 48 3f af 32 b3 42 e5 21 8e 02 7e b7 c2 43 3f   ┆ * Bü  w  : B    H? 2 B !  ü  C?┆
0x033a40…033a60             21 87 02 cd 56 3f e1 c9 e5 21 87 02 cd 56 3f e1 3e ff 32 b3 42 c9 3a 08 43 f5 c5 cd ea 3d 3a b1   ┆!   V?   !   V? > 2 B : C    =: ┆
0x033a60…033a80             02 cd 1b 3e c1 f1 32 08 43 c9 cd 83 3f cd cd 41 ca 6d 3f cd 7e 3f c2 6a 3f 4f cd a8 41 c9 0c 0d   ┆   >  2 C   ?  A m? ü? j?O  A   ┆
0x033a80…033aa0             c8 b9 c9 e5 d5 c5 e5 60 2e 00 cd 59 42 cd e0 41 cc 45 3d e1 cd ce 3f cd e0 41 c2 b5 3f 2a be 42   ┆       `.  YB  A E=   ?  A  ?* B┆
0x033aa0…033ac0             e5 cd c6 3e 44 04 78 d6 06 2f 3c dc e5 40 cd 59 42 e1 cd 48 3d c1 d1 e1 c9 3e 00 c3 bf 3f 79 e5   ┆   >D x  /<  @ YB  H=    >   ?y ┆
0x033ac0…033ae0             6f 60 cd 15 40 e1 cd ce 3f af 32 c4 42 c9 e5 d5 c5 cd c7 40 06 00 16 01 e5 2a be 42 cd b4 3c 95   ┆o`  @   ? 2 B      @     * B  < ┆
0x033ae0…033b00             5f e1 7e 4f 23 fe 20 da 2e 40 fe 80 ca 46 40 cd e0 41 cc 3e 3e 04 05 ca fe 3f 05 ca 46 40 1d c2   ┆_ üO#   .@   F@  A >>    ?  F@  ┆
0x033b00…033b20             e2 3f e5 cd 09 40 c3 dc 3f cd e0 41 cc c6 3e 2a be 42 24 2e 00 cd e0 41 cc 45 3d c9 46 23 14 d5   ┆ ?   @  ?  A  >* B$.   A E= F#  ┆
0x033b20…033b40             5e 23 56 23 e3 eb 7c b7 c4 b2 40 c3 e2 3f fe 0d ca 02 40 04 05 c2 f5 3f fe 01 ca 1e 40 fe 02 ca   ┆^#V#  ø   @  ?    @    ?    @   ┆
0x033b40…033b60             1c 40 b7 c2 f5 3f 15 c2 e1 3f 2a be 42 cd e0 41 cc c6 3e cd 45 3d c1 d1 e1 c9 e5 d5 c5 46 23 e5   ┆ @   ?   ?* B  A  > E=       F# ┆
0x033b60…033b80             23 1e 00 cd 1d 41 e6 7f fe 7f c2 6f 40 3e 08 fe 20 da 85 40 4f cd 23 3e 71 23 1c 05 c2 63 40 e1   ┆#    A     o@>     @O #>q#   c@ ┆
0x033b80…033ba0             73 c1 d1 e1 c9 fe 03 ca 00 00 fe 0d 36 00 ca 7f 40 cd 97 40 c3 63 40 fe 08 c0 7b b7 c8 e5 2a be   ┆s           6   @  @ c@   æ   * ┆
0x033ba0…033bc0             42 2d cd 3c 3d 0e 20 cd 23 3e cd 3c 3d e1 2b 04 1d c9 d5 f5 eb 2a 0f 43 eb 7a 3c bc da c4 40 11   ┆B- <=   #> <= +      * C z<   @ ┆
0x033bc0…033be0             0d 43 15 19 f1 d1 c9 d5 f5 11 5b 43 cd b9 39 d2 e2 40 11 01 44 cd b9 39 da e2 40 5e 23 56 eb cd   ┆ C        ÆC  9  @  D  9  @^#V  ┆
0x033be0…033c00             b2 40 f1 d1 c9 e5 c5 48 f5 cd b4 3c 47 f1 2a 61 43 f5 cd fe 40 f1 0c 3d c2 f1 40 c1 e1 c9 f5 3a   ┆ @     H   <G *aC   @  =  @    :┆
0x033c00…033c20 (13, 1, 10) 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆                                ┆
          […0x1…]
0x033c40…033c60             20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41 44 44 20 4d 4f 44 45 20 20 20 20 20   ┆                   ADD MODE     ┆
0x033c60…033c80             20 20 4c 4f 43 41 54 45 20 4b 45 59 20 4d 4f 44 45 20 20 53 43 41 4e 20 4d 4f 44 45 20 28 44 29   ┆  LOCATE KEY MODE  SCAN MODE (D)┆
0x033c80…033ca0             20 20 53 43 41 4e 20 4d 4f 44 45 20 28 49 29 45 44 49 54 20 53 43 41 4e 20 4d 41 53 4b 20 56 45   ┆  SCAN MODE (I)EDIT SCAN MASK VE┆
0x033ca0…033cc0             52 49 46 59 20 4d 4f 44 45 20 20 20 20 4d 41 49 4e 54 45 4e 41 4e 43 45 20 20 20 20 2c 20 50 4c   ┆RIFY MODE    MAINTENANCE    , PL┆
0x033cc0…033ce0             45 41 53 45 20 45 4e 54 45 52 20 4b 45 59 20 20 20 2f 42 41 54 43 48 20 20 20 20 20 20 20 20 20   ┆EASE ENTER KEY   /BATCH         ┆
0x033ce0…033d00             20 20 20 20 20 20 0d 48 69 74 20 52 45 54 55 52 4e 20 74 6f 20 66 69 6c 65 20 65 6e 74 65 72 65   ┆       Hit RETURN to file entere┆
0x033d00…033d20             64 20 64 61 74 61 20 6f 72 20 52 55 42 20 74 6f 20 65 72 61 73 65 20 61 6c 6c 20 69 74 65 6d 73   ┆d data or RUB to erase all items┆
0x033d20…033d40             20 6f 6e 20 73 63 72 65 65 6e 2e 0d 54 79 70 65 20 61 6e 79 20 6f 74 68 65 72 20 63 68 61 72 61   ┆ on screen. Type any other chara┆
0x033d40…033d60             63 74 65 72 20 74 6f 20 72 65 74 75 72 6e 20 74 6f 20 74 6f 70 20 6f 66 20 66 6f 72 6d 20 61 6e   ┆cter to return to top of form an┆
0x033d60…033d80             64 20 63 6f 6e 74 69 6e 75 65 3a 20 00 48 69 74 20 52 45 54 55 52 4e 20 74 6f 20 66 69 6c 65 20   ┆d continue:  Hit RETURN to file ┆
0x033d80…033da0             75 70 64 61 74 65 64 20 64 61 74 61 20 6f 72 20 52 55 42 20 74 6f 20 6c 65 61 76 65 20 66 69 6c   ┆updated data or RUB to leave fil┆
0x033da0…033dc0             65 64 20 64 61 74 61 20 61 73 0d 69 74 20 77 61 73 20 61 6e 64 20 62 65 67 69 6e 20 75 70 64 61   ┆ed data as it was and begin upda┆
0x033dc0…033de0             74 69 6e 67 20 61 6e 6f 74 68 65 72 20 66 6f 72 6d 01 1d 06 00 0d 48 69 74 20 52 45 54 55 52 4e   ┆ting another form     Hit RETURN┆
0x033de0…033e00             20 74 6f 20 67 6f 20 74 6f 20 6e 65 78 74 20 66 6f 72 6d 20 6f 72 20 52 55 42 20 74 6f 20 72 65   ┆ to go to next form or RUB to re┆
0x033e00…033e20 (13, 1, 11) 49 66 20 74 68 65 73 65 20 66 69 6c 65 73 20 64 6f 6e 27 74 20 65 78 69 73 74 0d 20 79 65 74 2c   ┆If these files don't exist  yet,┆
0x033e20…033e40             20 74 68 65 79 20 77 69 6c 6c 20 62 65 20 63 72 65 61 74 65 64 20 6f 6e 20 74 68 65 20 64 72 69   ┆ they will be created on the dri┆
0x033e40…033e60             76 65 20 79 6f 75 20 73 65 6c 65 63 74 2e 20 20 41 20 64 69 73 6b 20 64 72 69 76 65 20 69 73 0d   ┆ve you select.  A disk drive is ┆
0x033e60…033e80             20 73 70 65 63 69 66 69 65 64 20 62 79 20 61 20 6c 65 74 74 65 72 20 41 2d 50 2e 0d 00 57 68 69   ┆ specified by a letter A-P.  Whi┆
0x033e80…033ea0             63 68 20 63 6f 6d 6d 61 6e 64 20 77 6f 75 6c 64 20 79 6f 75 20 6c 69 6b 65 20 65 78 70 6c 61 69   ┆ch command would you like explai┆
0x033ea0…033ec0             6e 65 64 3f 20 28 41 2f 4b 2f 45 2f 49 2f 44 2f 4d 2f 42 2f 56 2f 52 2f 46 29 3a 0d 01 fb 0d 01   ┆ned? (A/K/E/I/D/M/B/V/R/F):     ┆
0x033ec0…033ee0             c2 0e 01 e0 0e 00 01 d6 0d 01 fb 0d 01 e0 0e 01 f7 0e 00 01 d6 0d 01 fb 0d 01 c2 0e 01 e0 0e 01   ┆                                ┆
0x033ee0…033f00             f7 0e 00 45 6e 74 65 72 20 63 68 61 72 61 63 74 65 72 20 74 6f 20 73 65 6c 65 63 74 20 6e 65 77   ┆   Enter character to select new┆
0x033f00…033f20             20 6d 6f 64 65 3a 0d 00 20 41 20 3d 20 41 44 44 20 6e 65 77 20 72 65 63 6f 72 64 73 20 20 20 20   ┆ mode:   A = ADD new records    ┆
0x033f20…033f40             20 20 4b 20 3d 20 73 65 6c 65 63 74 20 72 65 63 6f 72 64 73 20 62 79 20 4b 45 59 20 20 20 20 45   ┆  K = select records by KEY    E┆
0x033f40…033f60             20 3d 20 45 78 69 74 20 63 75 72 72 65 6e 74 20 66 6f 72 6d 0d 20 49 20 3d 20 53 43 41 4e 20 69   ┆ = Exit current form  I = SCAN i┆
0x033f60…033f80             6e 20 49 6e 64 65 78 20 6f 72 64 65 72 20 20 44 20 3d 20 53 43 41 4e 20 69 6e 20 44 61 74 61 20   ┆n Index order  D = SCAN in Data ┆
0x033f80…033fa0             66 69 6c 65 20 6f 72 64 65 72 20 20 4d 20 3d 20 65 64 69 74 20 73 63 61 6e 20 4d 61 73 6b 0d 20   ┆file order  M = edit scan Mask  ┆
0x033fa0…033fc0             42 20 3d 20 73 65 6c 65 63 74 20 42 61 74 63 68 20 66 69 6c 65 20 20 20 20 56 20 3d 20 56 65 72   ┆B = select Batch file    V = Ver┆
0x033fc0…033fe0             69 66 79 20 62 61 74 63 68 20 66 69 6c 65 00 20 20 20 20 20 20 20 20 52 20 3d 20 52 65 73 74 6f   ┆ify batch file         R = Resto┆
0x033fe0…034000             72 65 20 6d 61 69 6e 20 66 69 6c 65 00 0d 20 46 20 3d 20 46 69 6c 65 20 6d 61 69 6e 74 65 6e 61   ┆re main file   F = File maintena┆
0x034000…034020 (13, 1, 12) 6f 64 65 20 77 69 6c 6c 20 6f 6e 6c 79 20 70 72 65 73 65 6e 74 20 63 65 72 74 61 69 6e 0d 72 65   ┆ode will only present certain re┆
0x034020…034040             63 6f 72 64 73 20 6f 75 74 20 6f 66 20 74 68 65 20 64 61 74 61 62 61 73 65 2e 00 45 3d 45 58 49   ┆cords out of the database. E=EXI┆
0x034040…034060             54 20 43 55 52 52 45 4e 54 20 46 4f 52 4d 20 69 73 20 75 73 65 64 20 74 6f 20 43 48 41 4e 47 45   ┆T CURRENT FORM is used to CHANGE┆
0x034060…034080             20 46 4f 52 4d 53 20 6f 72 20 45 58 49 54 20 44 41 54 41 53 54 41 52 20 45 4e 54 49 52 45 4c 59   ┆ FORMS or EXIT DATASTAR ENTIRELY┆
0x034080…0340a0             2e 0d 41 66 74 65 72 20 65 78 69 74 74 69 6e 67 20 63 75 72 72 65 6e 74 20 66 6f 72 6d 20 28 75   ┆. After exitting current form (u┆
0x0340a0…0340c0             73 69 6e 67 20 74 68 65 20 5e 45 45 20 63 6f 6d 6d 61 6e 64 29 3a 0d 20 20 20 74 6f 20 63 68 61   ┆sing the ^EE command):    to cha┆
0x0340c0…0340e0             6e 67 65 20 66 6f 72 6d 73 2c 20 65 6e 74 65 72 20 61 20 6e 65 77 20 66 6f 72 6d 20 6e 61 6d 65   ┆nge forms, enter a new form name┆
0x0340e0…034100             0d 20 20 20 74 6f 20 65 78 69 74 20 44 41 54 41 53 54 41 52 20 61 6e 64 20 72 65 74 75 72 6e 20   ┆    to exit DATASTAR and return ┆
0x034100…034120             74 6f 20 74 68 65 20 43 50 2f 4d 20 6f 70 65 72 61 74 69 6e 67 20 73 79 73 74 65 6d 2c 20 74 79   ┆to the CP/M operating system, ty┆
0x034120…034140             70 65 20 5e 43 00 44 3d 53 43 41 4e 20 49 4e 20 44 41 54 41 20 46 49 4c 45 20 4f 52 44 45 52 20   ┆pe ^C D=SCAN IN DATA FILE ORDER ┆
0x034140…034160             69 73 20 75 73 65 64 20 74 6f 20 52 45 56 49 45 57 20 54 48 45 20 43 55 52 52 45 4e 54 20 46 49   ┆is used to REVIEW THE CURRENT FI┆
0x034160…034180             4c 45 20 49 4e 20 45 4e 54 52 59 20 4f 52 44 45 52 2e 01 7d 14 00 42 3d 53 45 4c 45 43 54 20 42   ┆LE IN ENTRY ORDER. å  B=SELECT B┆
0x034180…0341a0             41 54 43 48 20 46 49 4c 45 20 69 73 20 75 73 65 64 20 74 6f 20 53 45 4c 45 43 54 20 41 4e 20 41   ┆ATCH FILE is used to SELECT AN A┆
0x0341a0…0341c0             4c 54 45 52 4e 41 54 45 20 46 49 4c 45 20 66 6f 72 20 75 73 65 20 69 6e 20 61 6c 6c 0d 64 61 74   ┆LTERNATE FILE for use in all dat┆
0x0341c0…0341e0             61 62 61 73 65 20 6f 70 65 72 61 74 69 6f 6e 73 2e 20 20 42 61 74 63 68 20 66 69 6c 65 20 70 72   ┆abase operations.  Batch file pr┆
0x0341e0…034200             6f 63 65 73 73 69 6e 67 20 69 73 20 69 64 65 6e 74 69 63 61 6c 20 74 6f 20 70 72 69 6d 61 72 79   ┆ocessing is identical to primary┆
0x034200…034220 (13, 1, 13) 40 02 3d b9 da 1b 41 e5 d5 c5 eb 2a c5 42 06 00 09 09 09 c1 70 23 73 23 72 d1 e1 f1 c9 e5 d5 c5   ┆@ =   A    * B      p#s#r       ┆
0x034220…034240             cd cd 41 c2 41 41 cd 18 42 ca 20 41 cd a8 41 cd 48 41 47 f4 f3 41 04 05 fc 7c 41 cd cd 41 ca 36   ┆  A AA  B  A  A HAG  A   øA  A 6┆
0x034240…034260             41 cd a8 41 c1 d1 e1 c9 3a b7 02 b7 c8 e5 c5 cd 73 41 0c 46 cd 99 3c ca 5e 41 3a b8 42 47 cd b4   ┆A  A    :       sA F  < ^A: BG  ┆
0x034260…034280             3c b9 78 ca 69 41 23 b6 2b 0d ca 6f 41 2b b6 b7 c1 e1 c9 2a be 42 44 4d cd 60 42 c9 cd 7f 41 cd   ┆< x iA# +  oA+     * BDM `B   A ┆
0x034280…0342a0             12 3f c5 06 02 3e ff cd 90 41 05 c2 85 41 c1 c9 cd 99 41 c0 3d c2 90 41 c9 e5 c5 4f af 3d c2 9d   ┆ ?   >   A   A    A =  A   O =  ┆
0x0342a0…0342c0             41 cd e0 41 79 c1 e1 c9 e5 21 c4 42 34 35 36 00 e1 c8 e5 2a c0 42 cd 48 3d e1 c9 3a c4 42 b7 c0   ┆A  Ay    ! B456    * B H=  : B  ┆
0x0342c0…0342e0             3c 32 c4 42 e5 2a be 42 22 c0 42 e1 c9 cd e0 41 c8 e5 2a ba 42 36 00 cd eb 41 22 ba 42 e1 b7 c9   ┆<2 B * B" B    A  * B6   A" B   ┆
0x0342e0…034300             cd f9 41 e5 2a ba 42 7e e1 b7 c9 23 34 35 f0 21 c7 42 c9 e5 d5 c5 c3 03 42 e5 d5 c5 cd 00 00 b7   ┆  A * Bü   #45 ! B      B       ┆
0x034300…034320             ca 14 42 cd 00 00 b7 ca 14 42 2a bc 42 77 cd eb 41 22 bc 42 c1 d1 e1 c9 e5 d5 c5 2a c5 42 06 00   ┆  B      B* Bw  A" B       * B  ┆
0x034320…034340             7e 36 00 23 5e 23 56 23 b7 c2 3d 42 04 3a 40 02 b8 c2 20 42 cd a8 41 af 3c c1 d1 e1 c9 0e 00 cd   ┆ü6 #^#V#  =B :@    B  A <       ┆
0x034340…034360             60 42 cd 84 42 ca 55 42 cd 45 3d eb 04 05 c4 f4 3d cd c6 3e af c1 d1 e1 c9 cd 18 42 ca 59 42 c9   ┆`B  B UB E=     =  >       B YB ┆
0x034360…034380             d5 c5 f5 3a 41 02 cd 71 42 2a 0b 43 19 f1 c1 d1 c9 6f af 67 57 59 78 1f d2 7e 42 eb 19 eb 29 b7   ┆   :A  qB* C     o gWYx  üB   ) ┆
0x034380…0343a0             c2 77 42 c9 c5 f5 e6 7f 47 f1 b7 eb f4 b2 40 eb 1a cd b5 3e be c2 af 42 0c 13 23 05 c2 90 42 0d   ┆ wB     G     @    >   B  #   B ┆
0x0343a0…0343c0             0c cd b4 3c b9 ca af 42 7e fe 20 23 ca a0 42 e1 69 c9 00 00 00 00 00 00 ff 00 c7 42 c7 42 00 00   ┆   <   Bü  #  B i          B B  ┆
0x0343c0…0343e0             00 00 ff ff 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
0x0343e0…034400             00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
0x034400…034420 (13, 1, 14) 6d 6f 76 65 20 64 61 74 61 20 66 72 6f 6d 20 66 69 6c 65 01 1d 06 00 0d 4b 65 79 20 6e 6f 74 20   ┆move data from file     Key not ┆
0x034420…034440             66 6f 75 6e 64 2e 20 48 69 74 20 45 53 43 20 74 6f 20 72 65 2d 65 6e 74 65 72 20 6b 65 79 3a 20   ┆found. Hit ESC to re-enter key: ┆
0x034440…034460             00 0d 45 6e 64 20 6f 66 20 66 69 6c 65 2e 0d 01 b5 08 63 6f 6e 74 69 6e 75 65 20 73 63 61 6e 3a   ┆  End of file.    continue scan:┆
0x034460…034480             20 00 0d 46 69 6c 65 20 69 73 20 65 6d 70 74 79 20 73 6f 20 61 64 64 20 6d 6f 64 65 20 69 73 20   ┆   File is empty so add mode is ┆
0x034480…0344a0             74 68 65 20 6f 6e 6c 79 20 6c 65 67 61 6c 20 6d 6f 64 65 2e 0d 01 a9 08 2e 00 0d 54 68 65 20 66   ┆the only legal mode.    .  The f┆
0x0344a0…0344c0             69 6c 65 20 64 6f 65 73 20 6e 6f 74 20 63 6f 6e 74 61 69 6e 20 61 6e 79 20 72 65 63 6f 72 64 73   ┆ile does not contain any records┆
0x0344c0…0344e0             20 74 6f 20 6d 61 74 63 68 20 74 68 65 20 73 63 61 6e 20 6d 61 73 6b 2e 0d 01 b5 08 63 6f 6e 74   ┆ to match the scan mask.    cont┆
0x0344e0…034500             69 6e 75 65 20 69 6e 20 45 44 49 54 20 53 43 41 4e 20 4d 41 53 4b 20 6d 6f 64 65 2e 00 0d 54 68   ┆inue in EDIT SCAN MASK mode.  Th┆
0x034500…034520             65 20 62 61 74 63 68 20 66 69 6c 65 20 68 61 73 20 62 65 65 6e 20 76 65 72 69 66 69 65 64 2e 0d   ┆e batch file has been verified. ┆
0x034520…034540             01 b5 08 65 6e 74 65 72 20 61 6e 6f 74 68 65 72 20 62 61 74 63 68 20 6e 61 6d 65 2e 00 0d 54 68   ┆   enter another batch name.  Th┆
0x034540…034560             61 74 20 66 69 6c 65 20 69 73 20 69 6e 20 75 73 65 2e 20 0d 01 b5 08 65 01 50 08 2e 00 6e 74 65   ┆at file is in use.     e P . nte┆
0x034560…034580             72 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 61 20 66 69 6c 65 20 74 6f 20 75 73 65 0d 66 6f 72 20   ┆r the name of a file to use for ┆
0x034580…0345a0             74 65 6d 70 6f 72 61 72 79 20 77 6f 72 6b 20 73 70 61 63 65 00 0d 46 69 6c 65 20 6d 61 69 6e 74   ┆temporary work space  File maint┆
0x0345a0…0345c0             65 6e 61 6e 63 65 20 69 73 20 63 6f 6d 70 6c 65 74 65 01 1a 1a 00 48 69 74 20 45 53 43 20 6b 65   ┆enance is complete    Hit ESC ke┆
0x0345c0…0345e0             79 00 01 a9 08 20 74 6f 20 00 0d 4b 65 79 20 61 6c 72 65 61 64 79 20 65 78 69 73 74 73 01 1a 1a   ┆y     to   Key already exists   ┆
0x0345e0…034600             00 43 61 6e 27 74 20 72 65 61 64 20 66 6f 72 6d 20 64 65 66 69 6e 69 74 69 6f 6e 20 66 69 6c 65   ┆ Can't read form definition file┆
0x034600…034620 (13, 1, 15) 6e 63 65 00 20 20 20 20 20 4a 20 3d 20 48 65 6c 70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆nce      J = Help               ┆
0x034620…034640             20 20 20 20 20 20 53 50 41 43 45 20 3d 20 63 75 72 72 65 6e 74 20 6d 6f 64 65 00 56 3d 56 45 52   ┆      SPACE = current mode V=VER┆
0x034640…034660             49 46 59 20 4d 4f 44 45 20 69 73 20 75 73 65 64 20 74 6f 20 43 48 45 43 4b 20 54 48 45 20 56 41   ┆IFY MODE is used to CHECK THE VA┆
0x034660…034680             4c 49 44 49 54 59 20 4f 46 20 43 45 52 54 41 49 4e 20 46 49 45 4c 44 53 20 49 4e 20 41 20 42 41   ┆LIDITY OF CERTAIN FIELDS IN A BA┆
0x034680…0346a0             54 43 48 20 46 49 4c 45 2e 0d 57 68 65 6e 20 74 68 65 20 66 6f 72 6d 20 69 73 20 70 72 65 73 65   ┆TCH FILE. When the form is prese┆
0x0346a0…0346c0             6e 74 65 64 2c 20 65 61 63 68 20 64 61 74 61 66 69 65 6c 64 20 74 68 61 74 20 74 68 65 20 63 75   ┆nted, each datafield that the cu┆
0x0346c0…0346e0             72 73 6f 72 20 73 74 6f 70 73 20 61 74 20 77 69 6c 6c 0d 72 65 71 75 69 72 65 20 65 69 74 68 65   ┆rsor stops at will require eithe┆
0x0346e0…034700             72 20 61 20 76 69 73 75 61 6c 20 63 68 65 63 6b 20 6f 72 20 63 6f 6d 70 6c 65 74 65 20 72 65 2d   ┆r a visual check or complete re-┆
0x034700…034720             65 6e 74 72 79 2e 20 20 49 6e 20 61 64 64 69 74 69 6f 6e 2c 20 63 65 72 74 61 69 6e 0d 69 6c 6c   ┆entry.  In addition, certain ill┆
0x034720…034740             65 67 61 6c 20 66 69 65 6c 64 73 20 77 69 6c 6c 20 72 65 71 75 69 72 65 20 72 65 2d 65 6e 74 72   ┆egal fields will require re-entr┆
0x034740…034760             79 2e 20 20 57 68 65 6e 20 74 68 65 20 72 65 63 6f 72 64 20 68 61 73 20 62 65 65 6e 20 76 65 72   ┆y.  When the record has been ver┆
0x034760…034780             69 66 69 65 64 0d 69 74 20 77 69 6c 6c 20 62 65 20 72 65 6d 6f 76 65 64 20 66 72 6f 6d 20 74 68   ┆ified it will be removed from th┆
0x034780…0347a0             65 20 62 61 74 63 68 20 66 69 6c 65 20 61 6e 64 20 70 6c 61 63 65 64 20 69 6e 20 74 68 65 20 6d   ┆e batch file and placed in the m┆
0x0347a0…0347c0             61 69 6e 20 66 69 6c 65 2e 00 46 3d 46 49 4c 45 20 4d 41 49 4e 54 45 4e 41 4e 43 45 20 69 73 20   ┆ain file. F=FILE MAINTENANCE is ┆
0x0347c0…0347e0             75 73 65 64 20 74 6f 20 4f 52 44 45 52 20 54 48 45 20 50 52 49 4d 41 52 59 20 46 49 4c 45 20 61   ┆used to ORDER THE PRIMARY FILE a┆
0x0347e0…034800             6e 64 20 72 65 6d 6f 76 65 20 64 65 6c 65 74 65 64 0d 72 65 63 6f 72 64 73 2e 20 20 57 68 65 6e   ┆nd remove deleted records.  When┆
0x034800…034820 (14, 0, 1)  0d 66 69 6c 65 20 70 72 6f 63 65 73 73 69 6e 67 20 77 69 74 68 20 74 68 65 20 66 6f 6c 6c 6f 77   ┆ file processing with the follow┆
0x034820…034840             69 6e 67 20 74 77 6f 20 65 78 63 65 70 74 69 6f 6e 73 3a 0d 20 57 68 65 6e 20 61 20 62 61 74 63   ┆ing two exceptions:  When a batc┆
0x034840…034860             68 20 66 69 6c 65 20 69 73 20 73 65 6c 65 63 74 65 64 2c 20 76 65 72 69 66 69 63 61 74 69 6f 6e   ┆h file is selected, verification┆
0x034860…034880             20 69 73 20 6e 6f 74 20 70 65 72 66 6f 72 6d 65 64 20 69 6e 20 41 44 44 20 4d 4f 44 45 2e 0d 20   ┆ is not performed in ADD MODE.  ┆
0x034880…0348a0             49 74 20 69 73 20 6e 6f 74 20 70 6f 73 73 69 62 6c 65 20 74 6f 20 65 6e 74 65 72 20 76 65 72 69   ┆It is not possible to enter veri┆
0x0348a0…0348c0             66 79 20 6d 6f 64 65 20 75 6e 6c 65 73 73 20 61 20 62 61 74 63 68 20 66 69 6c 65 20 69 73 20 73   ┆fy mode unless a batch file is s┆
0x0348c0…0348e0             65 6c 65 63 74 65 64 2e 00 41 3d 41 44 44 20 4d 4f 44 45 20 69 73 20 75 73 65 64 20 74 6f 20 45   ┆elected. A=ADD MODE is used to E┆
0x0348e0…034900             4e 54 45 52 20 4e 45 57 20 52 45 43 4f 52 44 53 20 49 4e 54 4f 20 54 48 45 20 43 55 52 52 45 4e   ┆NTER NEW RECORDS INTO THE CURREN┆
0x034900…034920             54 20 46 49 4c 45 20 28 70 72 69 6d 61 72 79 20 6f 72 0d 62 61 74 63 68 29 2e 20 20 57 68 65 6e   ┆T FILE (primary or batch).  When┆
0x034920…034940             20 61 6e 20 65 6d 70 74 79 20 66 6f 72 6d 20 69 73 20 66 69 72 73 74 20 70 72 65 73 65 6e 74 65   ┆ an empty form is first presente┆
0x034940…034960             64 2c 20 65 61 63 68 20 64 61 74 61 66 69 65 6c 64 20 74 68 61 74 20 74 68 65 0d 63 75 72 73 6f   ┆d, each datafield that the curso┆
0x034960…034980             72 20 73 74 6f 70 73 20 61 74 20 77 69 6c 6c 20 72 65 71 75 69 72 65 20 65 6e 74 72 79 20 62 79   ┆r stops at will require entry by┆
0x034980…0349a0             20 74 68 65 20 6f 70 65 72 61 74 6f 72 2e 20 20 41 66 74 65 72 20 65 6e 74 72 79 20 69 73 0d 63   ┆ the operator.  After entry is c┆
0x0349a0…0349c0             6f 6d 70 6c 65 74 65 2c 20 76 65 72 69 66 69 63 61 74 69 6f 6e 20 6d 61 79 20 62 65 20 72 65 71   ┆omplete, verification may be req┆
0x0349c0…0349e0             75 69 72 65 64 20 75 6e 6c 65 73 73 20 61 20 62 61 74 63 68 20 66 69 6c 65 20 68 61 73 20 62 65   ┆uired unless a batch file has be┆
0x0349e0…034a00             65 6e 0d 73 65 6c 65 63 74 65 64 20 28 73 65 65 20 53 45 4c 45 43 54 20 42 41 54 43 48 20 46 49   ┆en selected (see SELECT BATCH FI┆
0x034a00…034a20 (14, 0, 2)  31 ec 02 0e 10 11 6c 00 21 ac 02 1a 13 77 23 0d c2 0b 01 af 32 cc 02 11 5c 00 cd cb 01 11 f3 01   ┆1     l !    w#     2   Ø       ┆
0x034a20…034a40             3c cc b9 01 11 ed 02 3e 00 32 ab 02 d5 cd e9 01 11 5c 00 cd da 01 b7 c2 51 01 d1 21 80 00 19 eb   ┆<      > 2       Ø      Q  !    ┆
0x034a40…034a60             d5 cd e9 01 21 ab 02 11 4b 02 34 cc b9 01 c3 30 01 d1 11 58 02 cd ee 01 cd c1 01 11 02 00 cd c6   ┆    !   K 4    0   X            ┆
0x034a60…034a80             01 11 ac 02 cd d5 01 11 ac 02 cd e4 01 11 02 02 3c cc b9 01 11 ed 02 d5 cd e9 01 11 ac 02 cd df   ┆                <               ┆
0x034a80…034aa0             01 11 15 02 b7 c4 b9 01 d1 21 80 00 19 eb d5 cd e9 01 21 ab 02 35 c2 7b 01 d1 11 ac 02 cd d0 01   ┆         !        !  5 æ        ┆
0x034aa0…034ac0             11 27 02 3c cc b9 01 11 84 02 cd ee 01 cd c1 01 11 01 00 cd c6 01 11 38 02 0e 09 cd 05 00 c3 00   ┆ ' <                   8        ┆
0x034ac0…034ae0             00 0e 01 c3 05 00 0e 25 c3 05 00 0e 0f c3 05 00 0e 10 c3 05 00 0e 13 c3 05 00 0e 14 c3 05 00 0e   ┆       %                        ┆
0x034ae0…034b00             15 c3 05 00 0e 16 c3 05 00 0e 1a c3 05 00 0e 09 c3 05 00 4e 4f 20 53 4f 55 52 43 45 20 46 49 4c   ┆                   NO SOURCE FIL┆
0x034b00…034b20             45 24 4e 4f 20 44 49 52 45 43 54 4f 52 59 20 53 50 41 43 45 24 4f 55 54 20 4f 46 20 44 41 54 41   ┆E$NO DIRECTORY SPACE$OUT OF DATA┆
0x034b20…034b40             20 53 50 41 43 45 24 57 52 49 54 45 20 50 52 4f 54 45 43 54 45 44 3f 24 54 52 41 4e 53 46 45 52   ┆ SPACE$WRITE PROTECTED?$TRANSFER┆
0x034b40…034b60             20 43 4f 4d 50 4c 45 54 45 44 24 46 49 4c 45 20 54 4f 4f 20 42 49 47 24 49 4e 53 45 52 54 20 44   ┆ COMPLETED$FILE TOO BIG$INSERT D┆
0x034b60…034b80             45 53 54 49 4e 41 54 49 4f 4e 20 44 49 53 4b 20 41 4e 44 20 54 59 50 45 20 3c 52 45 54 55 52 4e   ┆ESTINATION DISK AND TYPE <RETURN┆
0x034b80…034ba0             3e 0d 0a 24 49 4e 53 45 52 54 20 53 4f 55 52 43 45 20 44 49 53 4b 20 41 4e 44 20 54 59 50 45 20   ┆>  $INSERT SOURCE DISK AND TYPE ┆
0x034ba0…034bc0             3c 52 45 54 55 52 4e 3e 0d 0a 24 00 01 cd c1 01 11 01 00 cd c6 01 11 38 02 0e 09 cd 05 00 c3 00   ┆<RETURN>  $            8        ┆
0x034bc0…034be0             00 0e 01 c3 05 00 0e 25 c3 05 00 0e 0f c3 05 00 0e 10 c3 05 00 0e 13 c3 05 00 0e 14 c3 05 00 0e   ┆       %                        ┆
0x034be0…034c00             15 c3 05 00 0e 16 c3 05 00 0e 1a c3 05 00 00 09 c3 05 00 4e 4f 20 53 4f 55 52 43 45 20 46 49 4c   ┆                   NO SOURCE FIL┆
0x034c00…034c20 (14, 0, 3)  c3 82 01 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 31 39 37 39 2c 31 39 38 30 20 50 72 65 63 69   ┆   Copyright (c) 1979,1980 Preci┆
0x034c20…034c40             73 69 6f 6e 20 43 6f 6d 70 75 74 65 72 20 43 6f 72 70 6f 72 61 74 69 6f 6e 20 61 6e 64 20 4c 69   ┆sion Computer Corporation and Li┆
0x034c40…034c60             66 65 62 6f 61 74 20 41 73 73 6f 63 69 61 74 65 73 20 2d 20 41 6c 6c 20 52 69 67 68 74 73 20 52   ┆feboat Associates - All Rights R┆
0x034c60…034c80             65 73 65 72 76 65 64 20 20 20 76 65 72 73 69 6f 6e 20 6f 66 20 31 30 2f 31 37 2f 38 30 20 10 02   ┆eserved   version of 10/17/80   ┆
0x034c80…034ca0             57 02 31 27 21 0e 0c cd 05 00 b7 c2 c1 01 3e 04 32 a8 1a 3e 44 32 a9 1a c3 a6 01 78 b1 c8 7e 12   ┆W 1'!         > 2  >D2     x  ü ┆
0x034ca0…034cc0             23 13 0b c3 9b 01 21 be 19 11 94 17 01 2d 00 cd 9b 01 21 cd 20 11 99 20 01 1a 00 cd 9b 01 c3 0e   ┆#     !      -    !             ┆
0x034cc0…034ce0             02 3e 10 32 a8 1a 3e 50 32 a9 1a 21 eb 19 11 94 17 01 2d 00 cd 9b 01 01 02 00 11 b3 20 2a 01 00   ┆ > 2  >P2  !      -          *  ┆
0x034ce0…034d00             f5 3e 2d 85 6f 3e 00 8c 67 f1 22 ee 01 cd 30 e3 3e 02 bd c2 b2 01 21 b3 20 11 99 20 01 1a 00 cd   ┆ >- o>  g "   0 >     !         ┆
0x034d00…034d20             9b 01 21 18 1a 11 94 17 01 2d 00 cd 9b 01 3e 00 3e 00 c3 4f 02 2c 31 39 22 15 02 21 17 02 70 c5   ┆  !      -    > >  O ,19"  !  p ┆
0x034d20…034d40             d5 e5 01 f6 ff 11 ff ff 6f 26 00 09 13 da 2b 02 01 0a 00 09 eb 3a 17 02 3d 32 17 02 7d c4 1f 02   ┆        o&    +      :  =2  å   ┆
0x034d40…034d60             7b c6 30 2a 15 02 77 23 22 15 02 e1 d1 c1 c9 c3 61 02 06 02 cd 18 02 3e 00 21 2e 15 06 02 cd 18   ┆æ 0*  w#"       a      > !.     ┆
0x034d60…034d80             02 21 2c 15 11 6e 17 01 04 00 cd 9b 01 11 c9 14 0e 09 cd 05 00 0e 01 cd 05 00 3e ff 32 8e 1a 32   ┆ !,  n                    > 2  2┆
0x034d80…034da0             8f 1a 11 06 17 0e 09 cd 05 00 0e 0a 11 45 1a 3e 01 12 cd 05 00 c3 ac 02 7e fe 61 da a6 02 fe 7b   ┆             E >        ü a    æ┆
0x034da0…034dc0             d2 a6 02 d6 20 77 23 05 c2 98 02 c9 21 47 1a 06 01 cd 98 02 c3 c2 02 0c 0d c8 1a 96 c0 23 13 c3   ┆     w#     !G               #  ┆
0x034dc0…034de0             b8 02 11 47 1a 0e 01 21 d0 02 cd b7 02 c3 d1 02 45 ca 1f 03 11 47 1a 0e 01 21 e2 02 cd b7 02 c3   ┆   G   !        E    G   !      ┆
0x034de0…034e00             e3 02 46 cc c1 03 11 47 1a 0e 01 21 f4 02 cd b7 02 c3 f5 02 44 cc 51 05 11 47 1a 0e 01 21 06 03   ┆  F    G   !        D Q  G   !  ┆
0x034e00…034e20 (14, 0, 4)  46 90 da 11 09 32 ab 1a 3a aa 1a 32 a4 1a c3 50 09 3a a7 1a 3c ca 55 09 21 89 1a 4e 21 83 1a 46   ┆F    2  :  2   P :  < U !  N!  F┆
0x034e20…034e40             21 95 1d 3e 00 cd 75 0f 3a 85 1a b8 c2 3b 09 3a 8d 1a b9 c2 3b 09 3e ff 32 a7 1a 0c 79 fe 1b c2   ┆!  >  u :    ; :    ; > 2   y   ┆
0x034e40…034e60             45 09 0e 01 04 21 89 1a 71 21 83 1a 70 cd 38 0c b7 e1 d1 c1 c9 c3 8c 09 0d 0a 07 49 42 4d 20 64   ┆E    !  q!  p 8            IBM d┆
0x034e60…034e80             69 73 6b 65 74 74 65 20 69 73 20 66 75 6c 6c 2e 20 20 53 70 6c 69 74 20 74 68 65 20 69 6e 70 75   ┆iskette is full.  Split the inpu┆
0x034e80…034ea0             74 20 66 69 6c 65 20 69 6e 74 6f 24 11 58 09 0e 09 cd 05 00 c3 bf 09 20 6d 75 6c 74 69 70 6c 65   ┆t file into$ X          multiple┆
0x034ea0…034ec0             20 73 6d 61 6c 6c 65 72 20 66 69 6c 65 73 2c 20 61 6e 64 20 74 72 79 20 61 67 61 69 6e 2e 24 11   ┆ smaller files, and try again.$ ┆
0x034ec0…034ee0             97 09 0e 09 cd 05 00 c3 e6 09 0d 0a 50 72 65 73 73 20 61 6e 79 20 6b 65 79 20 74 6f 20 63 6f 6e   ┆            Press any key to con┆
0x034ee0…034f00             74 69 6e 75 65 24 11 ca 09 0e 09 cd 05 00 e1 d1 c1 37 c9 3a ab 1a 21 aa 1a 46 90 da 04 0a cd e8   ┆tinue$           7 :  !  F      ┆
0x034f00…034f20             08 c3 f3 09 cd e8 08 3a 89 1a 3d d2 14 0a 3e 1a 21 83 1a 35 21 dc 1b 06 02 cd 18 02 3a 83 1a 21   ┆       :  =   > !  5!       :  !┆
0x034f20…034f40             d9 1b 06 02 cd 18 02 21 82 1a 46 21 88 1a 4e 21 b3 1b 36 30 21 8f 1b 3e 01 cd 75 0f 11 d3 18 0e   ┆       !  F!  N!  60!  >  u     ┆
0x034f40…034f60             09 cd 05 00 c3 4a 0a 0d 0a 24 11 47 0a 0e 09 cd 05 00 21 8f 1b 0e 3e c5 e5 5e 0e 02 cd 05 00 e1   ┆     J   $ G      !   >  ^      ┆
0x034f60…034f80             c1 23 0d c2 57 0a 21 d1 1b 0e 0e c5 e5 5e 0e 02 cd 05 00 e1 c1 23 0d c2 6b 0a c3 a6 0a 0d 0a 41   ┆ #  W !      ^       #  k      A┆
0x034f80…034fa0             62 6f 76 65 20 49 42 4d 20 64 61 74 61 20 73 65 74 20 63 72 65 61 74 65 64 20 62 79 20 63 6f 6e   ┆bove IBM data set created by con┆
0x034fa0…034fc0             76 65 72 74 2e 24 11 7d 0a 0e 09 cd 05 00 2a a2 1a 7c b5 ca b4 0b c3 bd 0a 0d 0a 07 24 11 b9 0a   ┆vert.$ å      *  ø          $   ┆
0x034fc0…034fe0             0e 09 cd 05 00 c3 ee 0a c5 d5 e5 01 f6 ff 11 ff ff 09 13 da d1 0a 01 0a 00 09 eb 7c b5 c4 c8 0a   ┆                           ø    ┆
0x034fe0…035000             7b c6 30 5f 0e 02 5f cd 05 00 e1 d1 c1 c9 2a a2 1a cd c8 0a c3 03 0b 20 69 6e 70 75 74 20 6c 69   ┆æ 0_  _       *         input li┆
0x035000…035020 (14, 0, 5)  4c 45 20 6d 65 73 73 61 67 65 29 2e 00 0d 22 2e 22 20 69 73 20 74 68 65 20 6f 6e 6c 79 20 63 68   ┆LE message).  "." is the only ch┆
0x035020…035040             61 72 61 63 74 65 72 20 61 6c 6c 6f 77 65 64 20 68 65 72 65 2e 0d 01 0f 1a 00 0d 30 2d 39 2c 20   ┆aracter allowed here.      0-9, ┆
0x035040…035060             22 23 24 25 28 29 2a 2b 2d 2e 22 01 e8 19 00 0d 30 2d 39 01 e8 19 00 0d 61 2d 7a 01 e8 19 00 0d   ┆"#$%()*+-."     0-9     a-z     ┆
0x035060…035080             41 2d 5a 01 e8 19 00 0d 61 2d 7a 01 de 19 00 0d 41 2d 5a 01 de 19 00 0d 41 2d 5a 20 61 6e 64 20   ┆A-Z     a-z     A-Z     A-Z and ┆
0x035080…0350a0             61 2d 7a 01 e8 19 00 0d 41 2d 5a 2c 20 61 2d 7a 01 de 19 00 0d 61 2d 7a 20 61 6e 64 20 30 2d 39   ┆a-z     A-Z, a-z     a-z and 0-9┆
0x0350a0…0350c0             01 e8 19 00 0d 41 2d 5a 20 61 6e 64 20 30 2d 39 01 e8 19 00 0d 61 2d 7a 01 d9 19 00 0d 41 2d 5a   ┆     A-Z and 0-9     a-z     A-Z┆
0x0350c0…0350e0             01 d9 19 00 0d 41 2d 5a 2c 20 61 2d 7a 20 61 6e 64 20 30 2d 39 01 e8 19 00 0d 41 2d 5a 2c 20 61   ┆     A-Z, a-z and 0-9     A-Z, a┆
0x0350e0…035100             2d 7a 01 d9 19 00 2c 20 30 2d 39 20 61 6e 64 20 73 70 61 63 65 20 61 72 65 20 74 68 65 20 6f 6e   ┆-z    , 0-9 and space are the on┆
0x035100…035120             6c 79 20 63 68 61 72 61 63 74 65 72 73 20 61 6c 6c 6f 77 65 64 20 68 65 72 65 2e 0d 01 f4 01 20   ┆ly characters allowed here.     ┆
0x035120…035140             69 67 6e 6f 72 65 64 2e 20 01 a9 08 3a 20 00 0d 5e 01 f4 01 20 55 6e 69 6d 70 6c 65 6d 65 6e 74   ┆ignored.    :   ^    Unimplement┆
0x035140…035160             65 64 20 63 6f 6e 74 72 6f 6c 20 63 68 61 72 61 63 74 65 72 01 1a 1a 00 0d 49 6c 6c 65 67 61 6c   ┆ed control character     Illegal┆
0x035160…035180             20 63 68 61 72 61 63 74 65 72 3b 20 01 0f 1a 00 0d 4e 6f 74 20 65 6e 6f 75 67 68 20 6d 65 6d 6f   ┆ character;      Not enough memo┆
0x035180…0351a0             72 79 20 74 6f 20 63 6f 6d 70 6c 65 74 65 20 63 61 6c 63 75 6c 61 74 69 6f 6e 01 1a 1a 00 0d 52   ┆ry to complete calculation     R┆
0x0351a0…0351c0             65 73 75 6c 74 20 6f 66 20 63 61 6c 63 75 6c 61 74 69 6f 6e 20 6c 61 72 67 65 72 20 74 68 61 6e   ┆esult of calculation larger than┆
0x0351c0…0351e0             20 64 65 73 74 69 6e 61 74 69 6f 6e 20 66 69 65 6c 64 01 1a 1a 00 0d 46 61 74 61 6c 20 70 72 6f   ┆ destination field     Fatal pro┆
0x0351e0…035200             67 72 61 6d 20 65 72 72 6f 72 2e 0d 50 6c 65 61 73 65 20 72 65 70 6f 72 74 20 6f 63 63 75 72 61   ┆gram error. Please report occura┆
0x035200…035220 (14, 0, 6)  45 24 4e 4f 20 44 49 52 45 43 54 4f 52 59 20 53 50 41 43 45 24 4f 55 54 20 4f 46 20 44 41 54 41   ┆E$NO DIRECTORY SPACE$OUT OF DATA┆
0x035220…035240             20 53 50 41 43 45 24 57 52 49 54 45 20 50 52 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆ SPACE$WRITE PR                 ┆
0x035240…035260             00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
          […0x1…]
0x035280…0352a0             01 11 15 02 b7 c4 b9 01 d1 21 80 00 19 eb d5 cd e9 01 21 ab 02 35 c2 7b 01 d1 11 ac 02 cd d0 01   ┆         !        !  5 æ        ┆
0x0352a0…0352c0             11 27 02 3c cc b9 01 11 84 02 cd ee 01 cd c1 01 11 01 00 cd c6 01 11 38 02 0e 09 cd 05 00 c3 00   ┆ ' <                   8        ┆
0x0352c0…0352e0             00 0e 01 c3 05 00 0e 25 c3 05 00 0e 0f c3 05 00 0e 10 c3 05 00 0e 13 c3 05 00 0e 14 c3 05 00 0e   ┆       %                        ┆
0x0352e0…035300             15 c3 05 00 0e 16 c3 05 00 0e 1a c3 05 00 0e 09 c3 05 00 4e 4f 20 53 4f 55 52 43 45 20 46 49 4c   ┆                   NO SOURCE FIL┆
0x035300…035320             45 24 4e 4f 20 44 49 52 45 43 54 4f 52 59 20 53 50 41 43 45 24 4f 55 54 20 4f 46 20 44 41 54 41   ┆E$NO DIRECTORY SPACE$OUT OF DATA┆
0x035320…035340             20 53 50 41 43 45 24 57 52 49 54 45 20 50 52 4f 54 45 43 54 45 44 3f 24 54 52 41 4e 53 46 45 52   ┆ SPACE$WRITE PROTECTED?$TRANSFER┆
0x035340…035360             20 43 4f 4d 50 4c 45 54 45 44 24 46 49 4c 45 20 54 4f 4f 20 42 49 47 24 49 4e 53 45 52 54 20 44   ┆ COMPLETED$FILE TOO BIG$INSERT D┆
0x035360…035380             45 53 54 49 4e 41 54 49 4f 4e 20 44 49 53 4b 20 41 4e 44 20 54 59 50 45 20 3c 52 45 54 55 52 4e   ┆ESTINATION DISK AND TYPE <RETURN┆
0x035380…0353a0             3e 0d 0a 24 49 4e 53 45 52 54 20 53 4f 55 52 43 45 20 44 49 53 4b 20 41 4e 44 20 54 59 50 45 20   ┆>  $INSERT SOURCE DISK AND TYPE ┆
0x0353a0…0353c0             3c 52 45 54 55 52 4e 3e 0d 0a 24 00 01 cd c1 01 11 01 00 cd c6 01 11 38 02 0e 09 cd 05 00 c3 00   ┆<RETURN>  $            8        ┆
0x0353c0…0353e0             00 0e 01 c3 05 00 0e 25 c3 05 00 0e 0f c3 05 00 0e 10 c3 05 00 0e 13 c3 05 00 0e 14 c3 05 00 0e   ┆       %                        ┆
0x0353e0…035400             15 c3 05 00 0e 16 c3 05 00 0e 1a c3 05 00 00 09 c3 05 00 4e 4f 20 53 4f 55 52 43 45 20 46 49 4c   ┆                   NO SOURCE FIL┆
0x035400…035420 (14, 0, 7)  cd b7 02 c3 07 03 43 cc f5 05 11 47 1a 0e 01 21 18 03 cd b7 02 c3 19 03 49 cc 5f 0c c3 82 02 c3   ┆      C    G   !        I _     ┆
0x035420…035440             4d 03 0d 0a 07 50 6c 65 61 73 65 20 70 6c 61 63 65 20 61 20 43 50 4d 20 64 69 73 6b 65 74 74 65   ┆M    Please place a CPM diskette┆
0x035440…035460             20 69 6e 20 64 72 69 76 65 20 41 3a 24 11 22 03 0e 09 cd 05 00 c3 72 03 20 66 6f 72 20 61 20 73   ┆ in drive A:$ "       r  for a s┆
0x035460…035480             79 73 74 65 6d 20 77 61 72 6d 20 73 74 61 72 74 2e 24 11 58 03 0e 09 cd 05 00 c3 99 03 0d 0a 50   ┆ystem warm start.$ X           P┆
0x035480…0354a0             72 65 73 73 20 61 6e 79 20 6b 65 79 20 77 68 65 6e 20 72 65 61 64 79 2e 24 11 7d 03 0e 09 cd 05   ┆ress any key when ready.$ å     ┆
0x0354a0…0354c0             00 0e 01 cd 05 00 11 00 00 0e 0e cd 05 00 2a 01 00 f5 3e 00 85 6f 3e 00 8c 67 f1 22 bf 03 cd 00   ┆              *   >  o>  g "    ┆
0x0354c0…0354e0             00 c5 d5 e5 01 01 00 21 82 1a 70 21 88 1a 71 21 8e 1a 5e 3e ff bb cc 99 10 c3 0a 04 0d 0a 07 59   ┆       !  p!  q!  ^>           Y┆
0x0354e0…035500             6f 75 20 61 72 65 20 61 62 6f 75 74 20 74 6f 20 77 72 69 74 65 20 61 6e 20 49 42 4d 20 64 69 72   ┆ou are about to write an IBM dir┆
0x035500…035520             65 63 74 6f 72 79 20 6f 6e 24 11 dc 03 0e 09 cd 05 00 c3 2d 04 20 74 68 65 20 64 69 73 6b 65 74   ┆ectory on$         -  the disket┆
0x035520…035540             74 65 20 69 6e 20 64 72 69 76 65 20 24 11 15 04 0e 09 cd 05 00 3a 8e 1a c6 41 0e 02 5f cd 05 00   ┆te in drive $        :   A  _   ┆
0x035540…035560             c3 46 04 3a 2e 24 11 43 04 0e 09 cd 05 00 c3 78 04 0d 0a 50 72 65 73 73 20 23 20 74 6f 20 63 6f   ┆ F :.$ C       x   Press # to co┆
0x035560…035580             6e 74 69 6e 75 65 2c 20 6f 72 20 2a 20 74 6f 20 61 62 6f 72 74 2e 20 24 11 51 04 0e 09 cd 05 00   ┆ntinue, or * to abort. $ Q      ┆
0x035580…0355a0             0e 01 cd 05 00 fe 2a ca 4d 05 fe 23 c2 4e 04 21 8f 1b 0e 50 1e 20 73 23 0d c2 96 04 21 df 1b 0e   ┆      * M  # N !   P  s#    !   ┆
0x0355a0…0355c0             30 1e 00 73 23 0d c2 a3 04 21 88 1a 4e 79 fe 05 da 32 05 c2 c7 04 c5 21 73 1a 11 8f 1b 01 05 00   ┆0  s#    !  Ny   2     !s       ┆
0x0355c0…0355e0             cd 9b 01 c1 c3 32 05 fe 06 c2 de 04 c5 21 8f 1b 0e 05 1e 20 73 23 0d c2 d4 04 c1 c3 32 05 fe 07   ┆     2       !      s#      2   ┆
0x0355e0…035600             c2 f9 04 c5 21 78 1a 11 8f 1b 01 0a 00 cd 9b 01 21 de 1b 36 57 c1 c3 32 05 fe 08 c2 0f 05 c5 21   ┆    !x          !  6W  2       !┆
0x035600…035620 (14, 0, 8)  6e 65 24 11 f7 0a 0e 09 cd 05 00 2a a2 1a 2d ca 27 0b c3 1c 0b 73 20 77 65 72 65 24 11 15 0b 0e   ┆ne$        *  - '    s were$    ┆
0x035620…035640             09 cd 05 00 c3 37 0b c3 2f 0b 20 77 61 73 24 11 2a 0b 0e 09 cd 05 00 c3 60 0b 20 67 72 65 61 74   ┆     7  /  was$ *       `  great┆
0x035640…035660             65 72 20 74 68 61 6e 20 6f 75 74 70 75 74 20 72 65 63 6f 72 64 20 6c 65 6e 67 74 68 2e 20 20 24   ┆er than output record length.  $┆
0x035660…035680             11 3a 0b 0e 09 cd 05 00 c3 6e 0b 0d 0a 24 11 6b 0b 0e 09 cd 05 00 c3 ac 0b 54 68 65 20 6c 6f 6e   ┆ :       n   $ k         The lon┆
0x035680…0356a0             67 20 6c 69 6e 65 73 20 77 65 72 65 20 73 70 61 6e 6e 65 64 20 61 63 72 6f 73 73 20 6f 75 74 70   ┆g lines were spanned across outp┆
0x0356a0…0356c0             75 74 20 72 65 63 6f 72 64 73 2e 24 11 79 0b 0e 09 cd 05 00 c3 d6 0b 0d 0a 20 20 50 72 65 73 73   ┆ut records.$ y             Press┆
0x0356c0…0356e0             20 61 6e 79 20 6b 65 79 20 74 6f 20 63 6f 6e 74 69 6e 75 65 2e 24 11 b7 0b 0e 09 cd 05 00 0e 01   ┆ any key to continue.$          ┆
0x0356e0…035700             cd 05 00 af f5 11 ad 1a 0e 10 cd 05 00 3e ff 32 8f 1a f1 e1 d1 c1 c9 f1 37 c3 e4 0b af b8 c2 05   ┆             > 2        7       ┆
0x035700…035720             0c cd 0b 0c d8 7e 23 05 e6 7f c9 c5 d5 e5 21 13 1d 01 ad 1a cd 67 12 da 34 0c 3d ca 34 0c 21 13   ┆     ü#       !      g  4 = 4 ! ┆
0x035720…035740             1d 22 9a 1a 3e 80 32 a5 1a e1 d1 c1 21 a5 1a 46 21 13 1d c9 e1 d1 c1 c9 c5 d5 e5 21 95 1d 0e 80   ┆ "  > 2     !  F!          !    ┆
0x035740…035760             1e 00 73 23 0d c2 42 0c 21 95 1d 22 98 1a 21 aa 1a 7e 32 a4 1a 3e 80 96 32 ab 1a e1 d1 c1 c9 c5   ┆  s#  B !  "  !  ü2  >  2       ┆
0x035760…035780             d5 e5 01 08 00 21 82 1a 70 21 88 1a 71 c3 ab 0c 0d 0a 50 6c 65 61 73 65 20 65 6e 74 65 72 20 64   ┆     !  p!  q     Please enter d┆
0x035780…0357a0             61 74 61 20 73 65 74 20 6e 61 6d 65 20 6f 66 20 49 42 4d 20 66 69 6c 65 20 74 6f 20 62 65 20 63   ┆ata set name of IBM file to be c┆
0x0357a0…0357c0             6f 6e 76 65 72 74 65 64 3a 20 24 11 70 0c 0e 09 cd 05 00 0e 0a 11 4b 1a 3e 11 12 cd 05 00 21 4d   ┆onverted: $ p         K >     !M┆
0x0357c0…0357e0             1a 06 11 cd 98 02 c3 ef 0c 0d 0a 50 6c 65 61 73 65 20 65 6e 74 65 72 20 6e 61 6d 65 20 6f 66 20   ┆           Please enter name of ┆
0x0357e0…035800             43 50 4d 20 66 69 6c 65 20 77 68 65 72 65 24 11 c9 0c 0e 09 cd 05 00 c3 13 0d 20 64 61 74 61 20   ┆CPM file where$            data ┆
0x035800…035820 (14, 0, 9)  6e 63 65 01 1a 1a 00 0d 5a 65 72 6f 20 64 69 76 69 73 6f 72 20 69 6e 20 63 61 6c 63 75 6c 61 74   ┆nce     Zero divisor in calculat┆
0x035820…035840             69 6f 6e 01 1a 1a 00 0d 45 78 70 6f 6e 65 6e 74 20 6f 76 65 72 66 6c 6f 77 01 1a 1a 00 0d 46 69   ┆ion     Exponent overflow     Fi┆
0x035840…035860             65 6c 64 20 69 73 20 6e 6f 74 20 63 6f 6d 70 6c 65 74 65 01 1a 1a 00 0d 46 69 65 6c 64 20 76 61   ┆eld is not complete     Field va┆
0x035860…035880             6c 75 65 20 6d 75 73 74 20 6c 69 65 20 62 65 74 77 65 65 6e 0d 20 01 f6 01 20 26 0d 20 01 fb 01   ┆lue must lie between      &     ┆
0x035880…0358a0             0d 01 1c 1a 00 0d 46 69 65 6c 64 20 64 6f 65 73 20 6e 6f 74 20 65 78 61 63 74 6c 79 20 6d 61 74   ┆      Field does not exactly mat┆
0x0358a0…0358c0             63 68 20 70 72 65 76 69 6f 75 73 20 65 6e 74 72 79 2e 0d 50 6c 65 61 73 65 20 65 6e 74 65 72 20   ┆ch previous entry. Please enter ┆
0x0358c0…0358e0             66 69 65 6c 64 20 74 77 69 63 65 20 77 69 74 68 20 74 68 65 20 73 61 6d 65 20 76 61 6c 75 65 01   ┆field twice with the same value ┆
0x0358e0…035900             1a 1a 00 0d 49 6c 6c 65 67 61 6c 20 66 69 65 6c 64 2e 20 20 50 6c 65 61 73 65 20 72 65 2d 65 6e   ┆    Illegal field.  Please re-en┆
0x035900…035920             74 65 72 01 1a 1a 00 ff ff 6c 64 20 64 6f 65 73 20 6e 6f 74 20 65 78 61 63 74 6c 79 20 6d 61 74   ┆ter      ld does not exactly mat┆
0x035920…035940             63 68 20 70 72 65 76 69 6f 75 73 20 65 6e 74 72 79 2e 0d 50 6c 65 61 73 65 20 65 6e 74 65 72 20   ┆ch previous entry. Please enter ┆
0x035940…035960             66 69 65 6c 64 20 74 77 69 63 65 20 77 69 74 68 20 74 68 65 20 73 61 6d 65 20 76 61 6c 75 65 01   ┆field twice with the same value ┆
0x035960…035980             27 5c 00 0d 49 6c 6c 65 67 61 6c 20 66 69 65 6c 64 2e 20 20 50 6c 65 61 73 65 20 72 65 2d 65 6e   ┆'Ø  Illegal field.  Please re-en┆
0x035980…0359a0             00 00 00 ff 00 c7 42 c7 42 00 00 00 00 ff ff 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆      B B                       ┆
0x0359a0…0359c0             00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
0x0359c0…0359e0             00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ff 00 00 00 00 00 fc 1a fc 1a 06 4f 4e 44   ┆                             OND┆
0x0359e0…035a00             4f 9d 44 4f ec 44 4f 3b 45 4f 8a 45 4f 77 46 06 4f 4e 44 4f 9d 44 4f d9 45 4f 3b 45 4f 8a 45 4f   ┆O DO DO;EO EOwF ONDO DO EO;EO EO┆
0x035a00…035a20 (14, 0, 10) 74 69 6f 6e 73 20 74 68 61 74 20 66 6f 6c 6c 6f 77 2c 20 74 68 65 20 61 6e 73 77 65 72 73 20 79   ┆tions that follow, the answers y┆
0x035a20…035a40             6f 75 20 67 69 76 65 20 77 69 6c 6c 20 61 70 70 6c 79 0d 74 6f 20 74 68 65 20 63 75 72 72 65 6e   ┆ou give will apply to the curren┆
0x035a40…035a60             74 20 66 69 65 6c 64 20 6f 6e 6c 79 2e 20 20 54 6f 20 72 65 74 75 72 6e 20 74 6f 20 62 61 63 6b   ┆t field only.  To return to back┆
0x035a60…035a80             67 72 6f 75 6e 64 20 64 65 66 69 6e 69 74 69 6f 6e 2c 20 74 79 70 65 20 5e 43 2e 0d 0d 54 68 69   ┆ground definition, type ^C.  Thi┆
0x035a80…035aa0             73 20 69 74 65 6d 20 61 6c 6c 6f 77 73 20 79 6f 75 20 74 6f 20 73 70 65 63 69 66 79 20 74 68 65   ┆s item allows you to specify the┆
0x035aa0…035ac0             20 6f 72 64 65 72 20 69 6e 20 77 68 69 63 68 20 66 69 65 6c 64 73 20 77 69 6c 6c 20 62 65 0d 70   ┆ order in which fields will be p┆
0x035ac0…035ae0             72 6f 63 65 73 73 65 64 20 64 75 72 69 6e 67 20 74 68 65 20 64 61 74 61 20 65 6e 74 72 79 20 70   ┆rocessed during the data entry p┆
0x035ae0…035b00             68 61 73 65 2e 0d 00 20 20 4b 65 79 20 6f 72 64 65 72 3a fc 00 54 68 65 20 6b 65 79 20 66 69 65   ┆hase.    Key order:  The key fie┆
0x035b00…035b20             6c 64 28 73 29 20 69 73 2f 61 72 65 20 74 68 65 20 66 69 65 6c 64 28 73 29 20 6f 6e 20 77 68 69   ┆ld(s) is/are the field(s) on whi┆
0x035b20…035b40             63 68 20 74 68 65 20 66 69 6c 65 20 69 73 20 73 6f 72 74 65 64 2e 20 20 49 66 0d 74 68 65 72 65   ┆ch the file is sorted.  If there┆
0x035b40…035b60             20 69 73 20 6d 6f 72 65 20 74 68 61 6e 20 6f 6e 65 20 6b 65 79 20 66 69 65 6c 64 2c 20 74 68 65   ┆ is more than one key field, the┆
0x035b60…035b80             79 20 61 72 65 20 63 6f 6d 62 69 6e 65 64 20 66 6f 72 20 73 6f 72 74 69 6e 67 2e 20 20 54 68 65   ┆y are combined for sorting.  The┆
0x035b80…035ba0             0d 66 69 65 6c 64 20 77 69 74 68 20 6b 65 79 20 6f 72 64 65 72 20 6f 66 20 30 30 31 20 77 69 6c   ┆ field with key order of 001 wil┆
0x035ba0…035bc0             6c 20 62 65 20 74 68 65 20 6d 6f 73 74 20 73 69 67 6e 69 66 69 63 61 6e 74 20 66 69 65 6c 64 20   ┆l be the most significant field ┆
0x035bc0…035be0             69 6e 20 74 68 65 20 73 6f 72 74 2e 0d 00 20 20 54 69 65 20 62 72 65 61 6b 65 72 20 66 69 65 6c   ┆in the sort.    Tie breaker fiel┆
0x035be0…035c00             64 3f 20 28 59 2f 4e 29 fc 00 41 20 74 69 65 20 62 72 65 61 6b 65 72 20 66 69 65 6c 64 20 69 73   ┆d? (Y/N)  A tie breaker field is┆
0x035c00…035c20 (14, 0, 11) ef 1a 11 8f 1b 01 50 00 cd 9b 01 c1 c3 32 05 fe 09 c2 25 05 c5 21 3f 1b 11 8f 1b 01 50 00 cd 9b   ┆      P      2    %  !?     P   ┆
0x035c20…035c40             01 c1 c3 32 05 fe 1b ca 48 05 21 98 1b 06 02 cd 18 02 21 82 1a 46 21 8f 1b 3e 01 cd 75 0f 3a 88   ┆   2    H !       !  F!  >  u : ┆
0x035c40…035c60             1a 3c 32 88 1a c3 a9 04 af e1 d1 c1 c9 37 c3 49 05 c5 d5 e5 01 08 00 21 82 1a 70 21 88 1a 71 21   ┆ <2          7 I       !  p!  q!┆
0x035c60…035c80             8e 1a 5e 3e ff bb cc 99 10 11 d3 18 0e 09 cd 05 00 21 88 1a 4e fe 1b ca c4 05 21 82 1a 46 21 8f   ┆  ^>             !  N     !  F! ┆
0x035c80…035ca0             1b cd 06 10 c3 8a 05 0d 0a 24 11 87 05 0e 09 cd 05 00 21 8f 1b 0e 3e c5 e5 5e 0e 02 cd 05 00 e1   ┆         $        !   >  ^      ┆
0x035ca0…035cc0             c1 23 0d c2 97 05 21 d1 1b 0e 0e c5 e5 5e 0e 02 cd 05 00 e1 c1 23 0d c2 ab 05 3a 88 1a 3c 32 88   ┆ #    !      ^       #    :  <2 ┆
0x035cc0…035ce0             1a c3 71 05 c3 e4 05 0d 0a 50 72 65 73 73 20 61 6e 79 20 6b 65 79 20 74 6f 20 63 6f 6e 74 69 6e   ┆  q      Press any key to contin┆
0x035ce0…035d00             75 65 2e 24 11 c7 05 0e 09 cd 05 00 0e 01 cd 05 00 e1 d1 c1 c9 c5 d5 e5 cd c1 03 da f8 0b c3 33   ┆ue.$                           3┆
0x035d00…035d20             06 0d 0a 50 6c 65 61 73 65 20 65 6e 74 65 72 20 6e 61 6d 65 20 6f 66 20 43 50 4d 20 66 69 6c 65   ┆   Please enter name of CPM file┆
0x035d20…035d40             20 74 6f 20 62 65 20 63 6f 6e 76 65 72 74 65 64 3a 20 24 11 01 06 0e 09 cd 05 00 0e 0a 11 5e 1a   ┆ to be converted: $           ^ ┆
0x035d40…035d60             3e 0c 12 cd 05 00 21 60 1a 06 0c cd 98 02 21 5f 1a 4e 21 60 1a 06 00 09 36 20 21 ad 1a 0e 21 1e   ┆>     !`      !_ N!`    6 !   ! ┆
0x035d60…035d80             00 73 23 0d c2 61 06 11 60 1a c3 b9 06 36 00 23 e5 0e 0b 3e 20 77 23 0d c2 75 06 e1 0e 08 1a fe   ┆ s#  a  `    6 #   > w#  u      ┆
0x035d80…035da0             20 c2 88 06 13 c3 7e 06 1a fe 00 c8 fe 20 c8 fe 2e ca 9d 06 77 23 13 0d f2 88 06 37 c9 13 79 b7   ┆      ü         .   w#     7  y ┆
0x035da0…035dc0             ca a8 06 23 0d c2 a3 06 0e 03 1a fe 00 c8 fe 20 c8 77 23 13 0d c2 aa 06 c9 21 ad 1a cd 6d 06 eb   ┆   #             w#      !   m  ┆
0x035dc0…035de0             c3 f9 06 0d 0a 50 6c 65 61 73 65 20 65 6e 74 65 72 20 49 42 4d 20 64 61 74 61 20 73 65 74 20 6e   ┆     Please enter IBM data set n┆
0x035de0…035e00             61 6d 65 20 77 68 65 72 65 20 64 61 74 61 20 69 73 20 74 6f 20 62 65 20 24 11 c3 06 0e 09 cd 05   ┆ame where data is to be $       ┆
0x035e00…035e20 (14, 0, 12) 69 73 20 74 6f 20 62 65 20 77 72 69 74 74 65 6e 3a 20 24 11 fa 0c 0e 09 cd 05 00 0e 0a 11 5e 1a   ┆is to be written: $           ^ ┆
0x035e20…035e40             3e 0c 12 cd 05 00 21 60 1a 06 0c cd 98 02 21 5f 1a 4e 21 60 1a 06 00 09 36 20 21 ce 1a 0e 21 1e   ┆>     !`      !_ N!`    6 !   ! ┆
0x035e40…035e60             00 73 23 0d c2 41 0d 11 60 1a 21 ce 1a cd 6d 06 eb 21 88 1a 4e fe 1b ca 1a 0f 21 82 1a 46 21 8f   ┆ s#  A  ` !   m  !  N     !  F! ┆
0x035e60…035e80             1b cd 06 10 da 64 0f 21 4c 1a 4e 11 94 1b 21 4d 1a cd b7 02 ca 81 0d 3a 88 1a 3c 32 88 1a c3 51   ┆     d !L N   !M       :  <2   Q┆
0x035e80…035ea0             0d 11 d3 18 0e 09 cd 05 00 c3 8f 0d 0d 0a 24 11 8c 0d 0e 09 cd 05 00 21 8f 1b 0e 3e c5 e5 5e 0e   ┆              $        !   >  ^ ┆
0x035ea0…035ec0             02 cd 05 00 e1 c1 23 0d c2 9c 0d 21 d1 1b 0e 0e c5 e5 5e 0e 02 cd 05 00 e1 c1 23 0d c2 b0 0d c3   ┆      #    !      ^       #     ┆
0x035ec0…035ee0             e3 0d 0d 0a 50 72 6f 63 65 73 73 69 6e 67 20 61 62 6f 76 65 20 49 42 4d 20 64 61 74 61 20 73 65   ┆    Processing above IBM data se┆
0x035ee0…035f00             74 2e 24 11 c2 0d 0e 09 cd 05 00 3e 20 32 ad 1b 32 db 1b 21 a7 1b cd ae 07 7d 32 aa 1a 21 ab 1b   ┆t.$        > 2  2  !     å2  !  ┆
0x035f00…035f20             cd ae 07 7d 32 83 1a 21 ae 1b cd ae 07 7d 32 89 1a 21 d9 1b cd ae 07 7d 32 84 1a 21 dc 1b cd ae   ┆   å2  !     å2  !     å2  !    ┆
0x035f20…035f40             07 7d 32 8c 1a cd 74 14 21 89 1a 4e 21 83 1a 46 21 13 1d cd 06 10 da 64 0f 21 13 1d 22 9a 1a 2a   ┆ å2   t !  N!  F!      d !  "  *┆
0x035f40…035f60             9a 1a 22 9c 1a 3a aa 1a 4f 06 00 09 22 9a 1a 11 94 1d 7c ba c2 59 0e 7d bb d2 d9 0e 2a 9c 1a 11   ┆  "  :  O   "     ø  Y å    *   ┆
0x035f60…035f80             17 1e cd 9b 01 21 17 1e 22 9c 1a eb 2b 3a aa 1a 4f 3e 20 be c2 7c 0e 2b 0d c2 73 0e 23 0c 36 0d   ┆     !  "   +:  O>   ø +  s # 6 ┆
0x035f80…035fa0             23 0c 36 0a 21 a5 1a 71 21 a5 1a 4e 06 00 3a a4 1a b9 d2 96 0e 4f 21 a6 1a 71 2a 98 1a eb 2a 9c   ┆# 6 !  q!  N  :      O!  q*   * ┆
0x035fa0…035fc0             1a cd 9b 01 22 9c 1a eb 22 98 1a 3a a4 1a 21 a6 1a 4e 91 32 a4 1a c2 c8 0e 01 ce 1a 21 95 1d cd   ┆    "   "  :  !  N 2        !   ┆
0x035fc0…035fe0             17 12 da 64 0f cd 74 14 21 a6 1a 4e 3a a5 1a 91 32 a5 1a c2 88 0e c3 3f 0e 21 89 1a 34 3e 1a be   ┆   d  t !  N:   2      ? !  4>  ┆
0x035fe0…036000             d2 e9 0e 36 01 21 83 1a 34 21 83 1a 3a 84 1a be c2 28 0e 21 89 1a 3a 8c 1a be d2 28 0e 01 ce 1a   ┆   6 !  4!  :    ( !  :    (    ┆
0x036000…036020 (14, 0, 13) 20 20 20 65 78 70 72 65 73 73 69 6f 6e 20 65 6e 74 72 79 2c 20 73 75 62 73 74 69 74 75 74 69 6e   ┆   expression entry, substitutin┆
0x036020…036040             67 20 76 61 6c 69 64 20 66 69 65 6c 64 20 6e 75 6d 62 65 72 73 20 66 6f 72 20 61 6c 6c 20 22 3f   ┆g valid field numbers for all "?┆
0x036040…036060             22 2e 29 0d 00 20 30 30 30 20 20 20 49 6e 76 61 6c 69 64 20 72 61 6e 67 65 20 63 68 65 63 6b 20   ┆".)   000   Invalid range check ┆
0x036060…036080             6c 69 6d 69 74 73 01 3b 15 72 61 6e 67 65 20 63 68 65 63 6b 20 6c 69 6d 69 74 73 20 61 72 65 20   ┆limits ; range check limits are ┆
0x036080…0360a0             72 65 61 63 68 65 64 2c 20 74 68 65 6e 20 65 64 69 74 0d 20 20 20 20 20 20 20 20 20 72 61 6e 67   ┆reached, then edit          rang┆
0x0360a0…0360c0             65 20 6c 69 6d 69 74 73 20 73 6f 20 74 68 61 74 20 74 68 65 20 6d 69 6e 69 6d 75 6d 20 76 61 6c   ┆e limits so that the minimum val┆
0x0360c0…0360e0             75 65 20 69 73 20 6c 65 73 73 20 74 68 61 6e 20 74 68 65 20 6d 61 78 69 6d 75 6d 2e 29 0d 00 20   ┆ue is less than the maximum.)   ┆
0x0360e0…036100             30 30 30 20 20 20 55 6e 73 70 65 63 69 66 69 65 64 20 76 65 72 69 66 79 2f 63 61 6c 63 75 6c 61   ┆000   Unspecified verify/calcula┆
0x036100…036120             74 65 20 6f 72 64 65 72 01 3b 15 6f 72 64 65 72 20 69 73 20 72 65 61 63 68 65 64 2c 20 74 68 65   ┆te order ; order is reached, the┆
0x036120…036140             6e 20 65 6e 74 65 72 20 6f 72 64 65 72 2e 29 0d 00 07 20 3f 3f 3f 20 20 20 4b 65 79 20 6c 65 6e   ┆n enter order.)    ???   Key len┆
0x036140…036160             67 74 68 20 69 73 20 67 72 65 61 74 65 72 20 74 68 61 6e 20 31 32 30 20 63 68 61 72 61 63 74 65   ┆gth is greater than 120 characte┆
0x036160…036180             72 73 2e 0d 20 20 20 20 20 20 20 28 50 6f 73 69 74 69 6f 6e 20 63 75 72 73 6f 72 20 61 74 20 6b   ┆rs.        (Position cursor at k┆
0x036180…0361a0             65 79 20 66 69 65 6c 64 28 73 29 2c 20 75 73 65 20 5e 4b 20 74 6f 20 72 65 6d 6f 76 65 20 22 2a   ┆ey field(s), use ^K to remove "*┆
0x0361a0…0361c0             22 2e 29 0d 00 2e 0d 20 20 20 20 20 20 20 20 28 5e 52 2c 20 52 45 54 55 52 4e 20 6b 65 79 20 75   ┆".)  .         (^R, RETURN key u┆
0x0361c0…0361e0             6e 74 69 6c 20 80 0d 01 b3 15 4c 3d 4c 69 73 74 20 65 72 72 6f 72 73 20 6f 6e 20 4c 53 54 3a 20   ┆ntil      L=List errors on LST: ┆
0x0361e0…036200             64 65 76 69 63 65 01 3a 16 4c 01 a9 15 00 01 b3 15 44 3d 73 61 76 65 20 66 6f 72 6d 20 61 6e 64   ┆device : L       D=save form and┆
0x036200…036220 (14, 0, 14) 20 61 20 6b 65 79 20 66 69 65 6c 64 20 65 6e 74 65 72 65 64 20 62 79 20 44 61 74 61 53 74 61 72   ┆ a key field entered by DataStar┆
0x036220…036240             20 69 6e 73 74 65 61 64 20 6f 66 20 74 68 65 0d 64 61 74 61 20 65 6e 74 72 79 20 6f 70 65 72 61   ┆ instead of the data entry opera┆
0x036240…036260             74 65 72 2c 20 74 6f 20 63 72 65 61 74 65 20 61 20 75 6e 69 71 75 65 20 6b 65 79 2e 0d 0d 45 6e   ┆ter, to create a unique key.  En┆
0x036260…036280             74 65 72 20 61 20 59 20 68 65 72 65 20 74 6f 20 68 61 76 65 20 44 61 74 61 53 74 61 72 20 6d 61   ┆ter a Y here to have DataStar ma┆
0x036280…0362a0             69 6e 74 61 69 6e 20 74 68 65 20 66 69 6c 65 20 62 79 20 65 6e 74 65 72 69 6e 67 20 74 68 65 20   ┆intain the file by entering the ┆
0x0362a0…0362c0             6c 6f 77 65 73 74 0d 6e 75 6d 65 72 69 63 20 76 61 6c 75 65 20 68 65 72 65 20 74 68 61 74 20 77   ┆lowest numeric value here that w┆
0x0362c0…0362e0             69 6c 6c 20 63 72 65 61 74 65 20 61 20 75 6e 69 71 75 65 20 6b 65 79 20 77 68 65 6e 65 76 65 72   ┆ill create a unique key whenever┆
0x0362e0…036300             20 6e 65 63 65 73 73 61 72 79 2e 0d 00 20 20 52 65 66 75 73 65 20 64 75 70 6c 69 63 61 74 65 20   ┆ necessary.    Refuse duplicate ┆
0x036300…036320             6b 65 79 73 3f 20 28 59 2f 4e 29 fc 00 54 68 69 73 20 69 74 65 6d 20 69 73 20 75 73 65 64 20 74   ┆keys? (Y/N)  This item is used t┆
0x036320…036340             6f 20 74 6f 20 63 72 65 61 74 65 20 66 69 6c 65 73 20 77 69 74 68 20 75 6e 69 71 75 65 20 6b 65   ┆o to create files with unique ke┆
0x036340…036360             79 73 2e 20 20 49 66 20 74 68 65 20 64 61 74 61 20 65 6e 74 72 79 0d 6f 70 65 72 61 74 6f 72 20   ┆ys.  If the data entry operator ┆
0x036360…036380             61 74 74 65 6d 70 74 73 20 74 6f 20 65 6e 74 65 72 20 61 20 72 65 63 6f 72 64 20 77 69 74 68 20   ┆attempts to enter a record with ┆
0x036380…0363a0             74 68 65 20 73 61 6d 65 20 6b 65 79 20 61 73 20 61 20 72 65 63 6f 72 64 20 61 6c 72 65 61 64 79   ┆the same key as a record already┆
0x0363a0…0363c0             0d 69 6e 20 74 68 65 20 66 69 6c 65 2c 20 61 6e 20 65 72 72 6f 72 20 6d 65 73 73 61 67 65 20 77   ┆ in the file, an error message w┆
0x0363c0…0363e0             69 6c 6c 20 62 65 20 67 65 6e 65 72 61 74 65 64 20 61 6e 64 20 74 68 65 20 65 6e 74 72 79 20 72   ┆ill be generated and the entry r┆
0x0363e0…036400             65 66 75 73 65 64 2e 0d 00 20 20 43 6f 70 79 20 61 74 74 72 69 62 75 74 65 73 20 6f 66 20 66 69   ┆efused.    Copy attributes of fi┆
0x036400…036420 (14, 0, 15) 00 c3 0e 07 77 72 69 74 74 65 6e 3a 20 24 11 04 07 0e 09 cd 05 00 0e 0a 11 4b 1a 3e 11 12 cd 05   ┆    written: $           K >    ┆
0x036420…036440             00 21 4d 1a 06 11 cd 98 02 01 08 00 21 82 1a 70 21 88 1a 71 21 8f 1b cd 06 10 da f8 0b 21 94 1b   ┆ !M         !  p!  q!        !  ┆
0x036440…036460             0e 11 1e 20 73 23 0d c2 44 07 06 00 21 4c 1a 4e 21 4d 1a 11 94 1b cd 9b 01 c3 8c 07 0d 0a 50 6c   ┆    s#  D   !L N!M            Pl┆
0x036460…036480             65 61 73 65 20 65 6e 74 65 72 20 72 65 63 6f 72 64 20 6c 65 6e 67 74 68 20 66 6f 72 20 49 42 4d   ┆ease enter record length for IBM┆
0x036480…0364a0             20 64 61 74 61 20 73 65 74 2e 20 24 11 5c 07 0e 09 cd 05 00 0e 0a 11 6d 1a 3e 03 12 cd 05 00 21   ┆ data set. $ Ø         m >     !┆
0x0364a0…0364c0             6e 1a 4e 21 6f 1a 06 00 09 36 20 c3 c9 07 11 00 00 eb 1a d6 30 a7 f8 fe 0a 3f d8 13 29 e5 29 29   ┆n N!o    6          0    ?  ) ))┆
0x0364c0…0364e0             c1 09 4f 06 00 09 c3 b2 07 21 6f 1a cd ae 07 7d af bc c2 df 07 7d b7 ca df 07 fe 81 da 36 08 c3   ┆  O      !o    å     å       6  ┆
0x0364e0…036500             0e 08 0d 0a 07 52 65 63 6f 72 64 20 6c 65 6e 67 74 68 20 6d 75 73 74 20 62 65 20 62 65 74 77 65   ┆     Record length must be betwe┆
0x036500…036520             65 6e 20 31 20 61 6e 64 20 31 32 38 2e 24 11 e2 07 0e 09 cd 05 00 c3 2b 08 20 20 50 6c 65 61 73   ┆en 1 and 128.$         +   Pleas┆
0x036520…036540             65 20 72 65 65 6e 74 65 72 2e 24 11 19 08 0e 09 cd 05 00 c3 59 07 32 aa 1a 21 a7 1b 06 03 cd 18   ┆e reenter.$         Y 2  !      ┆
0x036540…036560             02 3e 01 32 83 1a 32 89 1a af 32 a7 1a 32 b3 1b 21 b1 1b cd ae 07 7d 32 85 1a 21 b4 1b cd ae 07   ┆ > 2  2   2  2  !     å2  !     ┆
0x036560…036580             7d 32 8d 1a cd 38 0c af 32 a5 1a 21 00 00 22 a2 1a 21 a5 1a 46 21 a4 1a 4e 2a 98 1a eb 2a 9a 1a   ┆å2   8  2  !  "  !  F!  N*   *  ┆
0x036580…0365a0             cd fc 0b da f3 09 fe 1a ca f3 09 fe 0d ca 95 08 fe 0a c2 cb 08 cd fc 0b da f3 09 fe 1a ca f3 09   ┆                                ┆
0x0365a0…0365c0             fe 0d ca 95 08 fe 0a ca 95 08 f5 22 9a 1a 21 a5 1a 70 cd e8 08 da f7 0b 21 a5 1a 46 21 a4 1a 4e   ┆           "  !  p      !  F!  N┆
0x0365c0…0365e0             2a 98 1a eb 2a 9a 1a f1 c3 86 08 f5 af b9 c2 e1 08 22 9a 1a 2a a2 1a 23 22 a2 1a 2a 9a 1a c3 ab   ┆*   *            "  *  #"  *    ┆
0x0365e0…036600             08 f1 12 0d 13 c3 80 08 c5 d5 e5 eb 0c 0d ca f7 08 36 20 23 c3 ed 08 22 98 1a 3a ab 1a 21 aa 1a   ┆                 6 #   "  :  !  ┆
0x036600…036620 (14, 1, 1)  21 95 1d cd 17 12 da 64 0f 11 ce 1a 0e 10 cd 05 00 3e ff 32 8f 1a e1 d1 c1 c9 c3 42 0f 0d 0a 07   ┆!      d         > 2       B    ┆
0x036620…036640             46 69 6c 65 20 6e 6f 74 20 66 6f 75 6e 64 2e 20 50 72 65 73 73 20 61 6e 79 20 6b 65 79 20 74 6f   ┆File not found. Press any key to┆
0x036640…036660             20 24 11 1d 0f 0e 09 cd 05 00 c3 57 0f 63 6f 6e 74 69 6e 75 65 2e 24 11 4d 0f 0e 09 cd 05 00 0e   ┆ $         W continue.$ M       ┆
0x036660…036680             01 cd 05 00 11 ce 1a 0e 10 cd 05 00 3e ff 32 8f 1a 37 c3 16 0f c5 d5 e5 32 ac 1a 22 90 1a 21 86   ┆            > 2  7      2  "  ! ┆
0x036680…0366a0             1a 70 21 8a 1a 71 2a 90 1a 11 0f 1c 06 80 cd 93 14 21 8e 1a 5e 3e ff bb cc 99 10 0e 0e cd 05 00   ┆ p!  q*          !  ^>          ┆
0x0366a0…0366c0             21 86 1a 4e 2a 01 00 f5 3e 1b 85 6f 3e 00 8c 67 f1 22 b5 0f cd 00 00 21 8a 1a 6e 26 00 11 98 20   ┆!  N*   >  o>  g "     !  n&    ┆
0x0366c0…0366e0             19 4e 2a 01 00 f5 3e 1e 85 6f 3e 00 8c 67 f1 22 d3 0f cd 00 00 01 0f 1c 2a 01 00 f5 3e 21 85 6f   ┆ N*   >  o>  g "        *   >! o┆
0x0366e0…036700             3e 00 8c 67 f1 22 e9 0f cd 00 00 21 ac 1a 4e 2a 01 00 f5 3e 27 85 6f 3e 00 8c 67 f1 22 00 10 cd   ┆>  g "     !  N*   >' o>  g "   ┆
0x036700…036720             00 00 e1 d1 c1 c9 c5 d5 e5 22 92 1a 21 87 1a 70 21 8b 1a 71 21 8e 1a 5e 3e ff bb cc 99 10 0e 0e   ┆         "  !  p!  q!  ^>       ┆
0x036720…036740             cd 05 00 21 87 1a 4e 2a 01 00 f5 3e 1b 85 6f 3e 00 8c 67 f1 22 38 10 cd 00 00 21 8b 1a 6e 26 00   ┆   !  N*   >  o>  g "8    !  n& ┆
0x036740…036760             11 98 20 19 4e 2a 01 00 f5 3e 1e 85 6f 3e 00 8c 67 f1 22 56 10 cd 00 00 01 0f 1c 2a 01 00 f5 3e   ┆    N*   >  o>  g "V       *   >┆
0x036760…036780             21 85 6f 3e 00 8c 67 f1 22 6c 10 cd 00 00 2a 01 00 f5 3e 24 85 6f 3e 00 8c 67 f1 22 7f 10 cd 00   ┆! o>  g "l    *   >$ o>  g "    ┆
0x036780…0367a0             00 b7 c2 95 10 2a 92 1a 11 0f 1c eb 06 80 cd ae 14 e1 d1 c1 c9 37 c3 91 10 c3 c8 10 0d 0a 57 68   ┆     *               7        Wh┆
0x0367a0…0367c0             69 63 68 20 64 72 69 76 65 20 77 69 6c 6c 20 74 68 65 20 49 42 4d 20 64 69 73 6b 65 74 74 65 20   ┆ich drive will the IBM diskette ┆
0x0367c0…0367e0             62 65 20 6f 6e 3f 20 24 11 9c 10 0e 09 cd 05 00 0e 0a 11 48 1a 3e 01 12 cd 05 00 21 4a 1a 06 01   ┆be on? $           H >     !J   ┆
0x0367e0…036800             cd 98 02 3a 4a 1a d6 41 da f3 10 21 a8 1a 46 b8 da 3e 11 c3 1d 11 0d 0a 07 44 72 69 76 65 20 6d   ┆   :J  A   !  F  >       Drive m┆
0x036800…036820 (14, 1, 2)  6e 2e 0a 0a 0a 24 0d 0a 0a 0a 0a 0a 0a 0d 0a 09 09 20 20 20 20 20 20 20 20 20 20 4c 69 66 65 62   ┆n.   $                     Lifeb┆
0x036820…036840             6f 61 74 20 41 73 73 6f 63 69 61 74 65 73 0d 0a 09 09 20 49 42 4d 2f 43 50 4d 20 44 69 73 6b 65   ┆oat Associates     IBM/CPM Diske┆
0x036840…036860             74 74 65 20 55 74 69 6c 69 74 79 20 56 65 72 73 69 6f 6e 20 31 2e 31 0d 0a 09 09 09 20 53 65 72   ┆tte Utility Version 1.1      Ser┆
0x036860…036880             69 61 6c 20 4e 75 6d 62 65 72 20 4c 42 2d 31 31 31 31 0d 0a 09 09 09 20 20 43 6f 70 79 72 69 67   ┆ial Number LB-1111       Copyrig┆
0x036880…0368a0             68 74 28 63 29 20 31 39 37 39 0d 0a 0a 0a 0a 09 20 20 20 20 20 20 20 20 20 20 20 41 73 73 75 6d   ┆ht(c) 1979                 Assum┆
0x0368a0…0368c0             69 6e 67 20 73 74 61 6e 64 61 72 64 20 43 50 4d 20 32 2e 30 20 42 49 4f 53 2e 20 20 20 20 20 20   ┆ing standard CPM 2.0 BIOS.      ┆
0x0368c0…0368e0             20 0d 0a 0a 0d 0a 0a 09 09 4f 70 74 69 6f 6e 09 46 75 6e 63 74 69 6f 6e 20 74 6f 20 62 65 20 70   ┆         Option Function to be p┆
0x0368e0…036900             65 72 66 6f 72 6d 65 64 0d 0a 09 09 45 09 54 65 72 6d 69 6e 61 74 65 20 70 72 6f 67 72 61 6d 20   ┆erformed    E Terminate program ┆
0x036900…036920             61 6e 64 20 72 65 74 75 72 6e 20 63 6f 6e 74 72 6f 6c 20 74 6f 20 43 50 4d 0d 0a 09 09 46 09 49   ┆and return control to CPM    F I┆
0x036920…036940             6e 69 74 69 61 6c 69 7a 65 20 64 69 72 65 63 74 6f 72 79 20 6f 6e 20 49 42 4d 20 64 69 73 6b 65   ┆nitialize directory on IBM diske┆
0x036940…036960             74 74 65 0d 0a 09 09 44 09 44 69 73 70 6c 61 79 20 74 68 65 20 64 69 72 65 63 74 6f 72 79 20 6f   ┆tte    D Display the directory o┆
0x036960…036980             6e 20 61 6e 20 49 42 4d 20 64 69 73 6b 65 74 74 65 0d 0a 09 09 43 09 43 6f 6e 76 65 72 74 20 61   ┆n an IBM diskette    C Convert a┆
0x036980…0369a0             20 43 50 4d 20 66 69 6c 65 20 74 6f 20 49 42 4d 20 66 6f 72 6d 61 74 0d 0a 09 09 49 09 43 6f 6e   ┆ CPM file to IBM format    I Con┆
0x0369a0…0369c0             76 65 72 74 20 61 6e 20 49 42 4d 20 66 69 6c 65 20 74 6f 20 43 50 4d 20 66 6f 72 6d 61 74 0d 0a   ┆vert an IBM file to CPM format  ┆
0x0369c0…0369e0             0a 09 09 45 6e 74 65 72 20 6f 70 74 69 6f 6e 20 3a 20 24 0d 0a 0a 0d 0a 20 20 20 20 20 20 20 20   ┆   Enter option : $             ┆
0x0369e0…036a00             20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 54 41 52 54 20 20 45 4e 44 20 20   ┆                    START  END  ┆
0x036a00…036a20 (14, 1, 3)  67 68 69 7c 2c 25 5f 3e 3f 70 71 72 73 74 75 76 77 78 60 3a 23 40 27 3d 22 80 61 62 63 64 65 66   ┆ghiø,%_>?pqrstuvwx`:#@'=" abcdef┆
0x036a20…036a40             67 68 69 8a 8b 8c 8d 8e 8f 90 6a 6b 6c 6d 6e 6f 70 71 72 9a 9b 9c 9d 9e 9f a0 7e 73 74 75 76 77   ┆ghi       jklmnopqr       üstuvw┆
0x036a40…036a60             78 79 7a aa ab ac ad ae af b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 ba bb bc 5d be bf 7b 41 42 43 44 45 46   ┆xyz                   Å  æABCDEF┆
0x036a60…036a80             47 48 49 ca cb cc cd ce cf 7d 4a 4b 4c 4d 4e 4f 50 51 52 da db dc dd de df 5c e1 53 54 55 56 57   ┆GHI      åJKLMNOPQR      Ø STUVW┆
0x036a80…036aa0             58 59 5a ea eb ec ed ee ef 30 31 32 33 34 35 36 37 38 39 fa fb fc fd fe ff 00 01 02 03 04 05 06   ┆XYZ      0123456789             ┆
0x036aa0…036ac0             07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 40 5a 7f 7b 5b 6c 50   ┆                         @Z æÆlP┆
0x036ac0…036ae0             7d 4d 5d 5c 4e 6b 60 4b 61 f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 7a 5e 4c 7e 6e 6f 7c c1 c2 c3 c4 c5 c6   ┆åMÅØNk`Ka          z^Lünoø      ┆
0x036ae0…036b00             c7 c8 c9 d1 d2 d3 d4 d5 d6 d7 d8 d9 e2 e3 e4 e5 e6 e7 e8 e9 ad e0 bd 5f 6d 79 81 82 83 84 85 86   ┆                       _my      ┆
0x036b00…036b20             87 88 89 91 92 93 94 95 96 97 98 99 a2 a3 a4 a5 a6 a7 a8 a9 c0 6a d0 a1 07 00 01 02 03 04 05 06   ┆                     j          ┆
0x036b20…036b40             07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 40 5a 7f 7b 5b 6c 50   ┆                         @Z æÆlP┆
0x036b40…036b60             7d 4d 5d 5c 4e 6b 60 4b 61 f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 7a 5e 4c 7e 6e 6f 7c c1 c2 c3 c4 c5 c6   ┆åMÅØNk`Ka          z^Lünoø      ┆
0x036b60…036b80             c7 c8 c9 d1 d2 d3 d4 d5 d6 d7 d8 d9 e2 e3 e4 e5 e6 e7 e8 e9 ad e0 bd 5f 6d 79 81 82 83 84 85 86   ┆                       _my      ┆
0x036b80…036ba0             87 88 89 91 92 93 94 95 96 97 98 99 a2 a3 a4 a5 a6 a7 a8 a9 c0 6a d0 a1 07 01 02 03 04 05 06 07   ┆                     j          ┆
0x036ba0…036bc0             08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 14 15 16 17 18 19 1a 00 0d 09 16 05 12 01 0e 0a 17 06 13 02   ┆                                ┆
0x036bc0…036be0             0f 0b 18 07 14 03 10 0c 19 08 15 04 11 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13   ┆                                ┆
0x036be0…036c00             14 15 16 17 18 19 1a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
0x036c00…036c20 (14, 1, 4)  20 20 20 20 20 59 20 3d 20 61 75 74 6f 2d 63 6f 70 79 2f 6d 61 79 20 65 6e 74 65 72 fd 20 20 22   ┆     Y = auto-copy/may enter   "┆
0x036c20…036c40             20 3d 20 63 6f 6e 73 74 61 6e 74 20 69 6e 20 74 68 69 73 20 70 6f 73 69 74 69 6f 6e 20 20 20 7e   ┆ = constant in this position   ü┆
0x036c40…036c60             20 3d 20 63 6f 6e 73 74 61 6e 74 2f 6d 61 79 20 65 6e 74 65 72 fd 20 20 27 20 3d 20 63 6f 6e 73   ┆ = constant/may enter   ' = cons┆
0x036c60…036c80             74 61 6e 74 20 69 66 20 64 61 74 61 20 6f 6e 20 20 20 20 20 20 20 20 20 2f 20 3d 20 63 6f 6e 73   ┆tant if data on         / = cons┆
0x036c80…036ca0             74 61 6e 74 20 69 66 20 64 61 74 61 20 6f 6e 20 6f 6e 65 fd 20 20 20 20 20 20 62 6f 74 68 20 73   ┆tant if data on one       both s┆
0x036ca0…036cc0             69 64 65 73 20 6f 66 20 63 6f 6e 73 74 61 6e 74 20 20 20 20 20 20 20 20 20 20 73 69 64 65 20 6f   ┆ides of constant          side o┆
0x036cc0…036ce0             6e 6c 79 fd fd 45 6e 74 65 72 2f 63 68 61 6e 67 65 20 74 68 65 20 65 6e 74 72 79 20 63 6f 6e 74   ┆nly  Enter/change the entry cont┆
0x036ce0…036d00             72 6f 6c 20 6d 61 73 6b 3a 00 54 68 65 20 65 6e 74 72 79 20 63 6f 6e 74 72 6f 6c 20 6d 61 73 6b   ┆rol mask: The entry control mask┆
0x036d00…036d20             20 75 73 65 73 20 6f 6e 65 20 6f 66 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 68 61 72 61   ┆ uses one of the following chara┆
0x036d20…036d40             63 74 65 72 73 3a 20 21 5f 58 59 22 27 7e 2f 0d 69 6e 20 65 61 63 68 20 70 6f 73 69 74 69 6f 6e   ┆cters: !_XY"'ü/ in each position┆
0x036d40…036d60             20 6f 66 20 74 68 65 20 66 69 65 6c 64 2e 20 20 54 68 69 73 20 61 6c 6c 6f 77 73 20 79 6f 75 20   ┆ of the field.  This allows you ┆
0x036d60…036d80             74 6f 20 63 6f 6e 74 72 6f 6c 20 77 68 65 74 68 65 72 20 6f 72 0d 6e 6f 74 20 74 68 65 72 65 20   ┆to control whether or not there ┆
0x036d80…036da0             6d 75 73 74 20 62 65 20 64 61 74 61 20 74 68 65 72 65 2c 20 61 73 20 77 65 6c 6c 20 61 73 20 77   ┆must be data there, as well as w┆
0x036da0…036dc0             68 65 72 65 20 69 74 20 63 6f 6d 65 73 20 66 72 6f 6d 2e 20 20 54 68 65 0d 63 6f 6e 73 74 61 6e   ┆here it comes from.  The constan┆
0x036dc0…036de0             74 73 20 61 72 65 20 73 69 6d 70 6c 79 20 63 68 61 72 61 63 74 65 72 73 20 74 68 61 74 20 79 6f   ┆ts are simply characters that yo┆
0x036de0…036e00             75 20 77 69 6c 6c 20 73 75 70 70 6c 79 20 69 6e 20 74 68 65 20 6e 65 78 74 20 71 75 65 73 74 69   ┆u will supply in the next questi┆
0x036e00…036e20 (14, 1, 5)  75 73 74 20 62 65 20 69 6e 20 74 68 65 20 72 61 6e 67 65 20 6f 66 20 41 20 74 6f 20 24 11 f6 10   ┆ust be in the range of A to $   ┆
0x036e20…036e40             0e 09 cd 05 00 3a a9 1a 0e 02 5f cd 05 00 c3 33 11 2e 24 11 31 11 0e 09 cd 05 00 c3 80 11 21 8f   ┆     :    _    3 .$ 1         ! ┆
0x036e40…036e60             1a 5e bb c2 9f 11 c3 78 11 0d 0a 07 49 42 4d 20 64 72 69 76 65 20 6d 75 73 74 20 62 65 20 64 69   ┆ ^     x    IBM drive must be di┆
0x036e60…036e80             66 66 65 72 65 6e 74 20 66 72 6f 6d 20 43 50 4d 20 64 72 69 76 65 2e 24 11 49 11 0e 09 cd 05 00   ┆fferent from CPM drive.$ I      ┆
0x036e80…036ea0             c3 94 11 20 50 6c 65 61 73 65 20 72 65 65 6e 74 65 72 2e 24 11 83 11 0e 09 cd 05 00 c3 99 10 32   ┆    Please reenter.$           2┆
0x036ea0…036ec0             8e 1a c3 cc 11 0d 0a 07 50 6c 65 61 73 65 20 70 6c 61 63 65 20 49 42 4d 20 64 69 73 6b 65 74 74   ┆        Please place IBM diskett┆
0x036ec0…036ee0             65 20 69 6e 20 64 72 69 76 65 20 24 11 a5 11 0e 09 cd 05 00 3a 8e 1a c6 41 0e 02 5f cd 05 00 c3   ┆e in drive $        :   A  _    ┆
0x036ee0…036f00             05 12 3a 2e 20 54 68 65 6e 20 70 72 65 73 73 20 61 6e 79 20 6b 65 79 20 74 6f 20 63 6f 6e 74 69   ┆  :. Then press any key to conti┆
0x036f00…036f20             6e 75 65 2e 24 11 e2 11 0e 09 cd 05 00 0e 01 cd 05 00 21 8e 1a 5e c9 c5 d5 e5 22 94 1a c5 e1 22   ┆nue.$             !  ^    "    "┆
0x036f20…036f40             9e 1a 21 8f 1a 5e 3e ff bb c2 41 12 cd f2 12 2a 9e 1a 1c 73 eb d5 0e 13 cd 05 00 d1 0e 16 cd 05   ┆  !  ^>   A    *   s            ┆
0x036f40…036f60             00 2a 94 1a 11 91 1c 01 80 00 cd 9b 01 11 91 1c 0e 1a cd 05 00 2a 9e 1a eb 0e 15 cd 05 00 b7 ca   ┆ *                   *          ┆
0x036f60…036f80             63 12 37 e1 d1 c1 c9 c5 d5 e5 22 96 1a c5 e1 22 a0 1a 21 8f 1a 5e 3e ff bb c2 8e 12 cd f2 12 2a   ┆c 7       "    "  !  ^>        *┆
0x036f80…036fa0             a0 1a 1c 73 eb 0e 0f cd 05 00 3c ca b4 12 11 91 1c 0e 1a cd 05 00 2a a0 1a eb 0e 14 cd 05 00 b7   ┆   s      <           *         ┆
0x036fa0…036fc0             c2 ee 12 2a 96 1a eb 21 91 1c 01 80 00 cd 9b 01 e1 d1 c1 c9 c3 e6 12 0d 0a 07 43 50 2f 4d 20 66   ┆   *   !                  CP/M f┆
0x036fc0…036fe0             69 6c 65 20 6e 6f 74 20 66 6f 75 6e 64 2e 20 20 43 6f 6e 76 65 72 73 69 6f 6e 20 61 62 61 6e 64   ┆ile not found.  Conversion aband┆
0x036fe0…037000             6f 6e 65 64 2e 24 11 b7 12 0e 09 cd 05 00 37 c3 b0 12 c3 21 13 0d 0a 57 68 69 63 68 20 64 72 69   ┆oned.$        7    !   Which dri┆
0x037000…037020 (14, 1, 6)  20 20 20 20 20 56 53 20 20 43 52 45 41 20 20 20 20 20 20 20 20 20 20 45 58 50 49 52 20 20 20 20   ┆     VS  CREA          EXPIR    ┆
0x037020…037040             45 4e 44 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 42 4c 4f 43 4b   ┆END                        BLOCK┆
0x037040…037060             20 20 20 4f 46 20 20 20 20 4f 46 20 20 20 20 20 20 20 4f 45 20 20 54 49 4f 4e 20 20 20 20 20 20   ┆   OF    OF       OE  TION      ┆
0x037060…037080             20 20 20 20 41 54 49 4f 4e 20 20 20 20 4f 46 20 0d 0a 20 20 20 20 44 41 54 41 20 53 45 54 20 4e   ┆    ATION    OF       DATA SET N┆
0x037080…0370a0             41 4d 45 20 20 20 20 20 4c 4e 47 54 48 20 45 58 54 4e 54 20 45 58 54 4e 54 20 20 20 20 20 20 4c   ┆AME     LNGTH EXTNT EXTNT      L┆
0x0370a0…0370c0             51 20 20 44 41 54 45 20 20 20 20 20 20 20 20 20 20 20 44 41 54 45 20 20 20 44 41 54 41 24 20 20   ┆Q  DATE           DATE   DATA$  ┆
0x0370c0…0370e0             20 20 20 20 20 41 73 73 75 6d 69 6e 67 20 73 74 61 6e 64 61 72 64 20 43 50 4d 20 31 2e 34 20 42   ┆     Assuming standard CPM 1.4 B┆
0x0370e0…037100             49 4f 53 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41 73 73 75 6d 69 6e 67 20 73 74 61 6e 64   ┆IOS.              Assuming stand┆
0x037100…037120             61 72 64 20 43 50 4d 20 32 2e 30 20 42 49 4f 53 2e 20 20 20 20 20 20 20 41 73 73 75 6d 69 6e 67   ┆ard CPM 2.0 BIOS.       Assuming┆
0x037120…037140             20 43 50 4d 20 32 2e 30 20 42 49 4f 53 20 77 69 74 68 20 73 65 63 74 6f 72 20 64 65 62 6c 6f 63   ┆ CPM 2.0 BIOS with sector debloc┆
0x037140…037160             6b 69 6e 67 2e 01 00 03 00 00 46 00 00 20 20 20 20 20 4f 45 20 20 54 49 4f 4e 20 20 20 20 00 00   ┆king.     F       OE  TION      ┆
0x037160…037180             20 20 20 20 41 54 49 4f 4e 20 20 20 20 00 00 20 0d 0a 20 45 52 4d 41 50 56 4f 4c 31 49 42 4d 49   ┆    ATION          ERMAPVOL1IBMI┆
0x037180…0371a0             52 44 00 00 00 00 00 00 00 00 00 00 00 00 ff ff 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆RD                              ┆
0x0371a0…0371c0             00 00 00 00 00 00 00 00 10 50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆         P                      ┆
0x0371c0…0371e0             00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
0x0371e0…037200             00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 48 44 52 31 20 44 41 54 41 20 20 20 20 20 20 20 20   ┆               HDR1 DATA        ┆
0x037200…037220 (14, 1, 7)  41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 00 00 00 00 0a 00 40 02 17   ┆AAAAAAAAAAAAAAAAAAAAAAA      @  ┆
0x037220…037240             02 b3 20 00 02 95 02 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41   ┆       AAAAAAAAAAAAAAAAAAAAAAAAA┆
0x037240…037260             41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 3c ca 5e 21 eb e1 73 23 72 b7 c3 cc 1f af 12   ┆AAAAAAAAAAAAAAAAA< ^!  s#r      ┆
0x037260…037280             37 e1 c3 cc 1f 3e ff c5 47 e5 21 22 00 19 cd 95 1f 7d e6 7f 4f 29 7c 21 0c 00 19 be ca a0 21 e5   ┆7    >  G !"     å  O)ø!      ! ┆
0x037280…0372a0             f5 21 21 00 19 7e b7 c4 0f 20 36 00 f1 e1 77 cd d0 1f 0f 3c c2 a0 21 78 b7 37 ca a9 21 cd 3a 20   ┆ !!  ü    6   w    <  !x 7  ! : ┆
0x0372a0…0372c0             21 20 00 19 71 23 7e b0 77 e1 f5 eb cd d9 1f 1a eb f1 c1 c9 11 5c 27 af 12 cd f1 22 23 fe 2b ca   ┆!   q#ü w            Ø'    "# + ┆
0x0372c0…0372e0             b9 21 fe 2d c2 cd 21 3e ff 12 c3 b9 21 2b 11 ff ff eb 22 5a 27 eb cd f1 22 fe 23 23 ca 0f 22 2b   ┆ ! -  !>    !+    "Z'   " ##  "+┆
0x0372e0…037300             cd 29 22 11 01 00 d2 0f 22 1b 7e cd 29 22 d2 0a 22 23 e5 62 6b 19 29 19 29 da 15 22 d6 30 5f 16   ┆ )"     " ü )"  "# bk ) )  " 0_ ┆
0x037300…037320             87 88 89 91 92 93 94 95 96 97 98 99 a2 a3 a4 a5 a6 a7 a8 a9 c0 6a d0 a1 07 00 01 02 03 04 05 06   ┆                     j          ┆
0x037320…037340             07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 40 5a 7f 7b 5b 6c 50   ┆                         @Z æÆlP┆
0x037340…037360             7d 4d 5d 5c 4e 6b 60 4b 61 f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 7a 5e 4c 7e 6e 6f 7c c1 c2 c3 c4 c5 c6   ┆åMÅØNk`Ka          z^Lünoø      ┆
0x037360…037380             c7 c8 c9 d1 d2 d3 d4 d5 d6 d7 d8 d9 e2 e3 e4 e5 e6 e7 e8 e9 ad e0 bd 5f 6d 79 81 82 83 84 85 86   ┆                       _my      ┆
0x037380…0373a0             87 88 89 91 92 93 94 95 96 97 98 99 a2 a3 a4 a5 a6 a7 a8 a9 c0 6a d0 a1 07 01 02 03 04 05 06 07   ┆                     j          ┆
0x0373a0…0373c0             08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 14 15 16 17 18 19 1a 00 0d 09 16 05 12 01 0e 0a 17 06 13 02   ┆                                ┆
0x0373c0…0373e0             0f 0b 18 07 14 03 10 0c 19 08 15 04 11 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13   ┆                                ┆
0x0373e0…037400             14 15 16 17 18 19 1a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
0x037400…037420 (14, 1, 8)  c3 bc 01 43 4f 50 59 52 49 47 48 54 20 28 43 29 20 31 39 38 30 2c 20 44 49 47 49 54 41 4c 20 52   ┆   COPYRIGHT (C) 1980, DIGITAL R┆
0x037420…037440             45 53 45 41 52 43 48 20 c3 35 01 c3 3c 01 c3 47 01 1a 1a 1a 1a af cd 89 01 c3 4c 01 3e 01 32 34   ┆ESEARCH  5  <  G          L > 24┆
0x037440…037460             01 cd 89 01 c3 50 01 3e 01 cd 89 01 af 32 34 01 21 31 01 4e cd 92 01 2a 32 01 16 00 3a 0a 07 5f   ┆     P >     24 !1 N   *2   :  _┆
0x037460…037480             d5 e5 4a cd 9a 01 c1 c5 cd a2 01 3a 34 01 b7 c2 78 01 cd aa 01 c3 7b 01 cd b2 01 e1 11 80 00 19   ┆  J        :4   x     æ         ┆
0x037480…0374a0             d1 14 b7 c0 1d c2 60 01 c9 4f 2a 01 00 11 18 00 19 e9 2a 01 00 11 1b 00 19 e9 2a 01 00 11 1e 00   ┆      `  O*       *       *     ┆
0x0374a0…0374c0             19 e9 2a 01 00 11 21 00 19 e9 2a 01 00 11 24 00 19 e9 2a 01 00 11 27 00 19 0e 02 e9 31 0a 07 0e   ┆  *   !   *   $   *   '     1   ┆
0x0374c0…0374e0             78 db 14 e6 80 ca ca 01 0e 48 79 32 0a 07 cd b0 04 cd cc 03 21 83 06 71 23 70 21 c4 06 46 23 eb   ┆x        Hy2        !  q#p!  F# ┆
0x0374e0…037500             21 87 06 1a b7 ca ef 01 13 77 23 05 c2 e3 01 36 2d 23 36 24 cd e5 04 cd cc 03 21 a3 06 71 23 70   ┆!        w#    6-#6$      !  q#p┆
0x037500…037520             21 c4 06 3e 05 96 21 a5 06 ca 13 02 36 30 23 3d c2 0c 02 11 c5 06 1a b7 ca 21 02 77 23 13 c3 16   ┆!  >  !     60#=         ! w#   ┆
0x037520…037540             02 cd 7e 04 cd bf 03 3e 00 32 cd 06 cd 29 05 cd 43 05 cd 4f 05 cd bf 03 21 31 01 36 01 21 90 06   ┆  ü    > 2   )  C  O    !1 6 !  ┆
0x037540…037560             36 30 23 36 30 21 0b 07 22 32 01 cd 28 01 ca 57 02 cd 0d 06 c3 21 02 3a 31 01 fe 01 c2 c5 02 21   ┆60#60!  "2  (  W     ! :1      !┆
0x037560…037580             0b 07 01 00 08 e5 c5 11 ab 06 0e 0c 1a 2f be c2 b6 02 23 13 1a 2f be c2 b6 02 23 13 0d c2 6c 02   ┆             /    #  /    #   l ┆
0x037580…0375a0             c1 d1 e5 eb 2a 83 06 eb 73 23 36 16 23 72 23 36 00 23 eb 2a a3 06 eb 72 23 73 c1 c5 11 0b 0f 7b   ┆    *   s#6 #r#6 # *   r#s     æ┆
0x0375a0…0375c0             91 6f 7a 98 67 22 ce 06 e1 0e 06 7e 12 13 23 0d c2 ab 02 c3 32 03 c1 e1 23 0b 79 b0 c2 65 02 cd   ┆ oz g"     ü  #     2   # y  e  ┆
0x0375c0…0375e0             9d 05 c3 21 02 fe 00 c2 32 03 21 00 00 01 00 3c e5 c5 11 ab 06 0e 0c e5 cd 2e 04 1a 2f be e1 c2   ┆   !    2 !    <         .  /   ┆
0x0375e0…037600             23 03 23 13 e5 cd 2e 04 1a 2f be e1 c2 23 03 23 13 0d c2 d7 02 c1 d1 e5 cd 5c 04 e1 eb 2a ce 06   ┆# #   .  /   # #         Ø   *  ┆
0x037600…037620 (14, 1, 9)  76 65 20 77 69 6c 6c 20 74 68 65 20 43 50 4d 20 64 69 73 6b 65 74 74 65 20 62 65 20 6f 6e 3f 20   ┆ve will the CPM diskette be on? ┆
0x037620…037640             24 11 f5 12 0e 09 cd 05 00 0e 0a 11 48 1a 3e 01 12 cd 05 00 21 4a 1a 06 01 cd 98 02 3a 4a 1a d6   ┆$           H >     !J      :J  ┆
0x037640…037660             41 da 4c 13 21 a8 1a 46 b8 da 97 13 c3 76 13 0d 0a 07 44 72 69 76 65 20 6d 75 73 74 20 62 65 20   ┆A L !  F     v    Drive must be ┆
0x037660…037680             69 6e 20 74 68 65 20 72 61 6e 67 65 20 6f 66 20 41 20 74 6f 20 24 11 4f 13 0e 09 cd 05 00 3a a9   ┆in the range of A to $ O      : ┆
0x037680…0376a0             1a 0e 02 5f cd 05 00 c3 8c 13 2e 24 11 8a 13 0e 09 cd 05 00 c3 d9 13 21 8e 1a 5e bb c2 f8 13 c3   ┆   _      .$           !  ^     ┆
0x0376a0…0376c0             d1 13 0d 0a 07 43 50 4d 20 64 72 69 76 65 20 6d 75 73 74 20 62 65 20 64 69 66 66 65 72 65 6e 74   ┆     CPM drive must be different┆
0x0376c0…0376e0             20 66 72 6f 6d 20 49 42 4d 20 64 72 69 76 65 2e 24 11 a2 13 0e 09 cd 05 00 c3 ed 13 20 50 6c 65   ┆ from IBM drive.$            Ple┆
0x0376e0…037700             61 73 65 20 72 65 65 6e 74 65 72 2e 24 11 dc 13 0e 09 cd 05 00 c3 f2 12 32 8f 1a c3 24 14 0d 0a   ┆ase reenter.$           2   $   ┆
0x037700…037720             50 6c 65 61 73 65 20 70 6c 61 63 65 20 43 50 4d 20 64 69 73 6b 65 74 74 65 20 69 6e 20 64 72 69   ┆Please place CPM diskette in dri┆
0x037720…037740             76 65 20 24 11 fe 13 0e 09 cd 05 00 3a 8f 1a c6 41 0e 02 5f cd 05 00 c3 5d 14 3a 2e 20 54 68 65   ┆ve $        :   A  _    Å :. The┆
0x037740…037760             6e 20 70 72 65 73 73 20 61 6e 79 20 6b 65 79 20 74 6f 20 63 6f 6e 74 69 6e 75 65 2e 24 11 3a 14   ┆n press any key to continue.$ : ┆
0x037760…037780             0e 09 cd 05 00 0e 01 cd 05 00 0e 0d cd 05 00 21 8f 1a 5e c9 c5 d5 e5 21 95 1d 0e 80 1e 1a 73 23   ┆               !  ^    !      s#┆
0x037780…0377a0             0d c2 7e 14 21 95 1d 22 98 1a 3e 80 32 a4 1a e1 d1 c1 c9 c5 d5 e5 7e 23 e5 c5 21 99 1f 4f 06 00   ┆  ü !  "  > 2         ü#  !  O  ┆
0x0377a0…0377c0             09 7e 12 13 c1 e1 05 c2 96 14 e1 d1 c1 c9 c5 d5 e5 7e 23 e5 c5 21 99 1e 4f 06 00 09 7e 12 13 c1   ┆ ü               ü#  !  O   ü   ┆
0x0377c0…0377e0             e1 05 c2 b1 14 e1 d1 c1 c9 0a 0a 0d 0a 09 09 20 20 20 20 20 20 20 20 20 20 4c 69 66 65 62 6f 61   ┆                         Lifeboa┆
0x0377e0…037800             74 20 41 73 73 6f 63 69 61 74 65 73 0d 0a 09 09 20 49 42 4d 2f 43 50 4d 20 44 69 73 6b 65 74 74   ┆t Associates     IBM/CPM Diskett┆
0x037800…037820 (14, 1, 10) 20 20 20 20 20 20 20 30 38 30 20 30 31 30 30 31 20 37 33 30 32 36 20 20 20 20 20 20 20 20 20 20   ┆       080 01001 73026          ┆
0x037820…037840             20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 30 31 30 30 31 20 44   ┆                         01001 D┆
0x037840…037860             44 52 31 20 44 41 54 41 30 39 20 20 20 20 20 20 20 20 20 20 20 20 20 30 38 30 20 37 34 30 30 31   ┆DR1 DATA09             080 74001┆
0x037860…037880             20 37 33 30 32 36 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆ 73026                          ┆
0x037880…0378a0             20 20 20 20 20 20 20 20 20 37 34 30 30 31 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆         74001                  ┆
0x0378a0…0378c0             00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
          […0x1…]
0x0378e0…037900             00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 48 44 52 31 20 44 41 54 41 20 20 20 20 20 20 20 20   ┆               HDR1 DATA        ┆
0x037900…037920             20 20 20 20 20 20 20 30 38 30 20 30 31 30 30 31 20 37 33 30 32 36 20 20 20 20 20 20 20 20 20 20   ┆       080 01001 73026          ┆
0x037920…037940             20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 30 31 30 30 31 20 44   ┆                         01001 D┆
0x037940…037960             44 52 31 20 44 41 54 41 30 39 20 20 20 20 20 20 20 20 20 20 20 20 20 30 38 30 20 37 34 30 30 31   ┆DR1 DATA09             080 74001┆
0x037960…037980             20 37 33 30 32 36 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆ 73026                          ┆
0x037980…0379a0             20 20 20 20 20 20 20 20 20 37 34 30 30 31 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆         74001                  ┆
0x0379a0…0379c0             00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
          […0x1…]
0x0379e0…037a00             00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 48 44 52 31 20 44 41 54 41 20 20 20 20 20 20 20 20   ┆               HDR1 DATA        ┆
0x037a00…037a20 (14, 1, 11) 63 74 65 72 73 20 61 72 65 20 63 6f 6d 70 61 72 65 64 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20   ┆cters are compared according to ┆
0x037a20…037a40             74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 73 65 71 75 65 6e 63 65 3a 0d 20 20 20 20 73 70 61 63   ┆the following sequence:     spac┆
0x037a40…037a60             65 20 21 22 23 24 25 26 27 28 29 29 2a 2b 2c 2d 2e 2f 30 2d 39 3a 3b 3c 3d 3e 3f 40 41 2d 5a 5b   ┆e !"#$%&'())*+,-./0-9:;<=>?@A-ZÆ┆
0x037a60…037a80             5c 5d 5e 5f 60 61 2d 7a 7b 7c 7d 7e 20 20 20 20 28 68 69 67 68 65 73 74 29 0d 0d 45 6e 74 65 72   ┆ØÅ^_`a-zæøåü    (highest)  Enter┆
0x037a80…037aa0             20 74 68 65 20 73 6d 61 6c 6c 65 73 74 20 61 63 63 65 70 74 61 62 6c 65 20 76 61 6c 75 65 20 66   ┆ the smallest acceptable value f┆
0x037aa0…037ac0             6f 72 20 74 68 69 73 20 66 69 65 6c 64 2e 0d 00 20 20 20 45 6e 74 65 72 2f 63 68 61 6e 67 65 20   ┆or this field.     Enter/change ┆
0x037ac0…037ae0             74 68 65 20 6d 61 78 69 6d 75 6d 20 66 69 65 6c 64 20 76 61 6c 75 65 3a 00 41 20 66 69 65 6c 64   ┆the maximum field value: A field┆
0x037ae0…037b00             20 69 73 20 63 6f 6d 70 61 72 65 64 20 6f 6e 20 61 20 63 68 61 72 61 63 74 65 72 20 62 79 20 63   ┆ is compared on a character by c┆
0x037b00…037b20             68 61 72 61 63 74 65 72 20 62 61 73 69 73 20 74 6f 20 64 65 74 65 72 6d 69 6e 65 0d 61 63 63 65   ┆haracter basis to determine acce┆
0x037b20…037b40             70 74 61 62 6c 69 74 79 2e 20 43 68 61 72 61 63 74 65 72 73 20 61 72 65 20 63 6f 6d 70 61 72 65   ┆ptablity. Characters are compare┆
0x037b40…037b60             64 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 73 65 71   ┆d according to the following seq┆
0x037b60…037b80             75 65 6e 63 65 3a 0d 20 20 20 20 73 70 61 63 65 20 21 22 23 24 25 26 27 28 29 29 2a 2b 2c 2d 2e   ┆uence:     space !"#$%&'())*+,-.┆
0x037b80…037ba0             2f 30 2d 39 3a 3b 3c 3d 3e 3f 40 41 2d 5a 5b 5c 5d 5e 5f 60 61 2d 7a 7b 7c 7d 7e 20 20 20 20 28   ┆/0-9:;<=>?@A-ZÆØÅ^_`a-zæøåü    (┆
0x037ba0…037bc0             68 69 67 68 65 73 74 29 0d 0d 45 6e 74 65 72 20 74 68 65 20 6c 61 72 67 65 73 74 20 61 63 63 65   ┆highest)  Enter the largest acce┆
0x037bc0…037be0             70 74 61 62 6c 65 20 76 61 6c 75 65 20 66 6f 72 20 74 68 69 73 20 66 69 65 6c 64 2e 0d 00 fd 20   ┆ptable value for this field.    ┆
0x037be0…037c00             20 45 64 69 74 20 6d 61 73 6b 3f 20 28 59 2f 4e 29 fc 00 41 6e 20 65 64 69 74 20 6d 61 73 6b 20   ┆ Edit mask? (Y/N)  An edit mask ┆
0x037c00…037c20 (14, 1, 12) 19 7d b7 c2 2c 03 eb 21 cd 06 36 00 34 7b d6 00 47 7a de 0d da 1c 03 57 58 c3 0c 03 eb 22 ce 06   ┆ å  ,  !  6 4æ  Gz     WX    "  ┆
0x037c20…037c40             c3 32 03 c1 e1 23 0b 78 b1 c2 d0 02 cd 78 05 c3 21 02 21 cd 06 7e b7 ca 44 03 35 c2 44 03 2a ce   ┆ 2   # x     x  ! !  ü  D 5 D * ┆
0x037c40…037c60             06 cd 5c 04 21 0b 07 01 00 3c 3e e5 be c2 70 03 23 0b 79 b0 c2 4a 03 3a cd 06 b7 ca 64 03 cd 78   ┆  Ø !    <>   p # y  J :    d  x┆
0x037c60…037c80             05 c3 21 02 11 8e 06 cd c4 03 cd 0b 04 c3 27 02 cd 2b 01 ca 7c 03 cd 33 06 c3 27 02 21 0b 43 22   ┆  !           '  +  ø  3  ' ! C"┆
0x037c80…037ca0             32 01 cd 2e 01 ca 8e 03 cd 5a 06 c3 27 02 21 0b 07 11 0b 43 01 00 3c 1a be c2 b9 03 23 13 0b 79   ┆2  .     Z  ' !    C  <     #  y┆
0x037ca0…037cc0             b0 c2 97 03 21 31 01 34 21 91 06 34 7e fe 3a da 45 02 36 30 2b 34 c3 45 02 cd c9 05 c3 27 02 0e   ┆    !1 4!  4ü : E 60+4 E     '  ┆
0x037cc0…037ce0             01 c3 05 00 0e 09 c3 05 00 cd 06 05 11 c3 06 0e 0a cd 05 00 21 c4 06 7e b7 ca c9 03 23 5f 16 00   ┆                    !  ü    #_  ┆
0x037ce0…037d00             19 36 00 21 c5 06 01 00 00 7e b7 c8 d6 30 fe 0a d2 c9 03 e5 c5 e1 29 29 29 09 09 e5 c1 e1 23 81   ┆ 6 !     ü   0        )))     # ┆
0x037d00…037d20             4f 3e 00 88 47 da c9 03 c3 e9 03 2a a3 06 23 22 a3 06 7d b4 ca 28 04 21 a9 06 06 05 34 7e fe 3a   ┆O>  G      *  #"  å  ( !    4ü :┆
0x037d20…037d40             d8 36 30 2b 05 c2 1c 04 cd ee 05 c3 00 00 d5 7d e6 7f 5f 7d 17 7c 17 6f 26 00 d5 11 d0 06 19 d1   ┆ 60+           å  _å ø o&       ┆
0x037d40…037d60             af 7e 3d 1f 67 3e 00 1f b3 6f 11 0b 07 19 d1 c9 e5 d5 f5 cd 2e 04 f1 77 d1 e1 23 c9 3a 83 06 cd   ┆ ü= g>   o          .  w  # :   ┆
0x037d60…037d80             50 04 3e 16 cd 50 04 3a 84 06 cd 50 04 af cd 50 04 11 a4 06 1a cd 50 04 1b 1a cd 50 04 c9 11 84   ┆P >  P :   P   P      P    P    ┆
0x037d80…037da0             04 c3 c4 03 0d 0a 49 4e 53 45 52 54 20 43 4f 4e 54 52 4f 4c 20 44 49 53 4b 45 54 54 45 20 49 4e   ┆      INSERT CONTROL DISKETTE IN┆
0x037da0…037dc0             20 41 2c 20 54 59 50 45 20 52 45 54 55 52 4e 24 11 b6 04 c3 c4 03 0d 0a 43 50 2f 4d 20 56 45 52   ┆ A, TYPE RETURN$        CP/M VER┆
0x037dc0…037de0             20 32 2e 32 20 53 45 52 49 41 4c 49 5a 41 54 49 4f 4e 2c 0d 0a 4f 52 49 47 49 4e 20 4e 55 4d 42   ┆ 2.2 SERIALIZATION,  ORIGIN NUMB┆
0x037de0…037e00             45 52 3f 20 24 11 eb 04 c3 c4 03 0d 0a 53 54 41 52 54 49 4e 47 20 53 45 52 49 41 4c 20 4e 55 4d   ┆ER? $        STARTING SERIAL NUM┆
0x037e00…037e20 (14, 1, 13) 65 20 55 74 69 6c 69 74 79 20 56 65 72 73 69 6f 6e 20 31 2e 31 0d 0a 09 09 09 20 53 65 72 69 61   ┆e Utility Version 1.1      Seria┆
0x037e20…037e40             6c 20 4e 75 6d 62 65 72 20 4c 42 2d 30 31 31 37 0d 0a 09 09 09 20 20 43 6f 70 79 72 69 67 68 74   ┆l Number LB-0117       Copyright┆
0x037e40…037e60             28 63 29 20 31 39 37 39 0d 0a 0a 0a 09 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 61 20 67   ┆(c) 1979     This program is a g┆
0x037e60…037e80             65 6e 65 72 61 6c 20 49 42 4d 2f 43 50 4d 20 64 69 73 6b 65 74 74 65 20 75 74 69 6c 69 74 79 2e   ┆eneral IBM/CPM diskette utility.┆
0x037e80…037ea0             20 49 74 0d 0a 09 70 65 72 66 6f 72 6d 73 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 66 75 6e   ┆ It   performs the following fun┆
0x037ea0…037ec0             63 74 69 6f 6e 73 3a 0d 0a 0a 09 09 31 29 09 46 6f 72 6d 61 74 20 61 6e 20 49 42 4d 20 64 69 73   ┆ctions:     1) Format an IBM dis┆
0x037ec0…037ee0             6b 65 74 74 65 20 64 69 72 65 63 74 6f 72 79 0d 0a 09 09 32 29 09 44 69 73 70 6c 61 79 20 61 6e   ┆kette directory    2) Display an┆
0x037ee0…037f00             20 49 42 4d 20 64 69 73 6b 65 74 74 65 20 64 69 72 65 63 74 6f 72 79 0d 0a 09 09 33 29 09 52 65   ┆ IBM diskette directory    3) Re┆
0x037f00…037f20             61 64 20 61 20 43 50 4d 20 66 69 6c 65 2c 20 63 6f 6e 76 65 72 74 20 69 74 20 74 6f 20 49 42 4d   ┆ad a CPM file, convert it to IBM┆
0x037f20…037f40             20 66 6f 72 6d 61 74 20 61 6e 64 20 77 72 69 74 65 0d 0a 09 09 09 69 74 20 6f 6e 20 61 6e 20 49   ┆ format and write     it on an I┆
0x037f40…037f60             42 4d 20 64 69 73 6b 65 74 74 65 0d 0a 09 09 34 29 09 52 65 61 64 20 61 6e 20 49 42 4d 20 66 69   ┆BM diskette    4) Read an IBM fi┆
0x037f60…037f80             6c 65 2c 20 63 6f 6e 76 65 72 74 20 69 74 20 74 6f 20 43 50 4d 20 66 6f 72 6d 61 74 20 61 6e 64   ┆le, convert it to CPM format and┆
0x037f80…037fa0             20 77 72 69 74 65 0d 0a 09 09 09 69 74 20 6f 6e 20 61 20 43 50 4d 20 64 69 73 6b 65 74 74 65 0d   ┆ write     it on a CPM diskette ┆
0x037fa0…037fc0             0a 0a 09 54 68 65 20 70 72 6f 67 72 61 6d 20 77 69 6c 6c 20 61 6c 77 61 79 73 20 66 6f 72 6d 61   ┆   The program will always forma┆
0x037fc0…037fe0             74 20 61 6e 20 49 42 4d 20 64 69 73 6b 65 74 74 65 20 62 65 66 6f 72 65 20 77 72 69 74 69 6e 67   ┆t an IBM diskette before writing┆
0x037fe0…038000             20 6f 6e 20 69 74 2e 0d 0a 0a 09 50 72 65 73 73 20 61 6e 79 20 6b 65 79 20 74 6f 20 62 65 67 69   ┆ on it.    Press any key to begi┆
0x038000…038020 (14, 1, 14) 20 20 20 20 20 20 20 30 38 30 20 30 31 30 30 31 20 37 33 30 32 36 20 20 20 20 20 20 20 20 20 20   ┆       080 01001 73026          ┆
0x038020…038040             20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 30 31 30 30 31 20 44   ┆                         01001 D┆
0x038040…038060             44 52 31 20 44 41 54 41 30 39 20 20 20 20 20 20 20 20 20 20 20 20 20 30 38 30 20 37 34 30 30 31   ┆DR1 DATA09             080 74001┆
0x038060…038080             20 37 33 30 32 36 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆ 73026                          ┆
0x038080…0380a0             20 20 20 20 20 20 20 20 20 37 34 30 30 31 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆         74001                  ┆
0x0380a0…0380c0             00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
          […0x1…]
0x0380e0…038100             00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 48 44 52 31 20 44 41 54 41 20 20 20 20 20 20 20 20   ┆               HDR1 DATA        ┆
0x038100…038120             20 20 20 20 20 20 20 30 38 30 20 30 31 30 30 31 20 37 33 30 32 36 20 20 20 20 20 20 20 20 20 20   ┆       080 01001 73026          ┆
0x038120…038140             20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 30 31 30 30 31 20 44   ┆                         01001 D┆
0x038140…038160             44 52 31 20 44 41 54 41 30 39 20 20 20 20 20 20 20 20 20 20 20 20 20 30 38 30 20 37 34 30 30 31   ┆DR1 DATA09             080 74001┆
0x038160…038180             20 37 33 30 32 36 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆ 73026                          ┆
0x038180…0381a0             20 20 20 20 20 20 20 20 20 37 34 30 30 31 20 00 00 00 00 00 00 00 00 00 00 00 01 02 03 04 05 06   ┆         74001                  ┆
0x0381a0…0381c0             07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20 21 22 23 24 25 26   ┆                          !"#$%&┆
0x0381c0…0381e0             27 28 29 2a 2b 2c 2d 2e 2f 30 31 32 33 34 35 36 37 38 39 3a 3b 3c 3d 3e 3f 20 41 42 43 44 45 46   ┆'()*+,-./0123456789:;<=>? ABCDEF┆
0x0381e0…038200             47 48 49 4a 2e 3c 28 2b 4f 26 51 52 53 54 55 56 57 58 59 21 24 2a 29 3b 5e 2d 2f 62 63 64 65 66   ┆GHIJ.<(+O&QRSTUVWXY!$*);^-/bcdef┆
0x038200…038220 (14, 1, 15) 61 6c 6c 6f 77 73 20 79 6f 75 20 74 6f 20 63 6f 6e 74 72 6f 6c 20 74 68 65 20 65 6e 74 72 79 20   ┆allows you to control the entry ┆
0x038220…038240             61 6e 64 20 63 6f 6e 74 65 6e 74 20 6f 66 20 61 20 66 69 65 6c 64 20 6f 6e 0d 61 20 63 68 61 72   ┆and content of a field on a char┆
0x038240…038260             61 63 74 65 72 20 62 79 20 63 68 61 72 61 63 74 65 72 20 62 61 73 69 73 2e 20 20 54 68 69 73 20   ┆acter by character basis.  This ┆
0x038260…038280             69 6e 63 6c 75 64 65 73 20 69 6e 73 65 72 74 69 6e 67 20 63 6f 6e 73 74 61 6e 74 73 2c 0d 63 6f   ┆includes inserting constants, co┆
0x038280…0382a0             70 79 69 6e 67 20 64 61 74 61 20 66 72 6f 6d 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 66 6f 72   ┆pying data from the previous for┆
0x0382a0…0382c0             6d 2c 20 72 65 71 75 69 72 69 6e 67 20 65 6e 74 72 79 20 61 74 20 63 65 72 74 61 69 6e 20 70 6f   ┆m, requiring entry at certain po┆
0x0382c0…0382e0             73 69 74 69 6f 6e 73 2c 0d 61 73 20 77 65 6c 6c 20 61 73 20 70 72 6f 76 69 64 69 6e 67 20 63 6f   ┆sitions, as well as providing co┆
0x0382e0…038300             6e 74 72 6f 6c 20 6f 76 65 72 20 74 68 65 20 61 63 74 75 61 6c 20 63 68 61 72 61 63 74 65 72 73   ┆ntrol over the actual characters┆
0x038300…038320             20 74 68 61 74 20 6d 61 79 20 62 65 0d 65 6e 74 65 72 65 64 20 61 74 20 65 61 63 68 20 70 6f 73   ┆ that may be entered at each pos┆
0x038320…038340             69 74 69 6f 6e 2e 0d 0d 41 20 59 20 61 6e 73 77 65 72 20 77 69 6c 6c 20 61 6c 6c 6f 77 20 79 6f   ┆ition.  A Y answer will allow yo┆
0x038340…038360             75 20 74 6f 20 65 6e 74 65 72 20 61 6e 20 65 64 69 74 20 6d 61 73 6b 20 69 6e 20 74 77 6f 20 73   ┆u to enter an edit mask in two s┆
0x038360…038380             74 65 70 73 3a 20 20 65 6e 74 72 79 0d 61 6e 64 20 63 6f 6e 74 65 6e 74 20 63 6f 6e 74 72 6f 6c   ┆teps:  entry and content control┆
0x038380…0383a0             2e 0d 00 fd 45 6e 74 72 79 20 43 6f 6e 74 72 6f 6c 20 43 68 61 72 61 63 74 65 72 20 43 6f 64 65   ┆.   Entry Control Character Code┆
0x0383a0…0383c0             73 3a fd fd 20 20 21 20 3d 20 6d 75 73 74 20 65 6e 74 65 72 20 61 20 63 68 61 72 61 63 74 65 72   ┆s:    ! = must enter a character┆
0x0383c0…0383e0             20 20 20 20 20 20 5f 20 3d 20 6d 61 79 20 65 6e 74 65 72 20 6f 72 20 6c 65 61 76 65 20 62 6c 61   ┆      _ = may enter or leave bla┆
0x0383e0…038400             6e 6b fd 20 20 58 20 3d 20 61 75 74 6f 6d 61 74 69 63 20 63 6f 70 79 20 20 20 20 20 20 20 20 20   ┆nk   X = automatic copy         ┆
0x038400…038420 (15, 0, 1)  42 45 52 3f 20 24 11 0c 05 c3 c4 03 0d 0a 49 4e 56 41 4c 49 44 20 4e 55 4d 42 45 52 2c 20 54 52   ┆BER? $        INVALID NUMBER, TR┆
0x038420…038440             59 20 41 47 41 49 4e 20 24 11 2f 05 c3 c4 03 0d 0a 53 45 52 49 41 4c 49 5a 49 4e 47 20 44 49 53   ┆Y AGAIN $ /      SERIALIZING DIS┆
0x038440…038460             4b 20 24 11 87 06 cd c4 03 11 a5 06 c3 c4 03 11 55 05 c3 c4 03 0d 0a 49 4e 53 45 52 54 20 4e 45   ┆K $             U      INSERT NE┆
0x038460…038480             57 20 44 49 53 4b 45 54 54 45 2c 20 54 59 50 45 20 52 45 54 55 52 4e 24 11 7e 05 c3 c4 03 0d 0a   ┆W DISKETTE, TYPE RETURN$ ü      ┆
0x038480…0384a0             42 41 44 20 4d 4f 56 43 50 4d 2e 43 4f 4d 20 46 49 4c 45 2c 20 52 45 50 4c 41 43 45 24 11 a3 05   ┆BAD MOVCPM.COM FILE, REPLACE$   ┆
0x0384a0…0384c0             c3 c4 03 0d 0a 4e 4f 4e 20 43 50 2f 4d 20 44 49 53 4b 45 54 54 45 2c 20 43 41 4e 4e 4f 54 20 53   ┆     NON CP/M DISKETTE, CANNOT S┆
0x0384c0…0384e0             45 52 49 41 4c 49 5a 45 24 11 cf 05 c3 c4 03 0d 0a 56 45 52 49 46 49 43 41 54 49 4f 4e 20 45 52   ┆ERIALIZE$        VERIFICATION ER┆
0x0384e0…038500             52 4f 52 2c 20 42 41 44 20 44 49 53 4b 24 11 f4 05 c3 c4 03 0d 0a 53 45 52 49 41 4c 20 4e 55 4d   ┆ROR, BAD DISK$        SERIAL NUM┆
0x038500…038520             42 45 52 20 4f 56 45 52 46 4c 4f 57 24 11 13 06 c3 c4 03 0d 0a 45 52 52 4f 52 20 4f 4e 20 53 4f   ┆BER OVERFLOW$        ERROR ON SO┆
0x038520…038540             55 52 43 45 20 44 49 53 4b 2c 20 52 45 50 4c 41 43 45 24 11 39 06 c3 c4 03 0d 0a 43 41 4e 4e 4f   ┆URCE DISK, REPLACE$ 9      CANNO┆
0x038540…038560             54 20 57 52 49 54 45 20 4e 45 57 20 44 49 53 4b 2c 20 52 45 50 4c 41 43 45 24 11 60 06 c3 c4 03   ┆T WRITE NEW DISK, REPLACE$ `    ┆
0x038560…038580             0d 0a 43 41 4e 4e 4f 54 20 52 45 2d 52 45 41 44 20 4e 45 57 20 44 49 53 4b 2c 20 52 45 50 4c 41   ┆  CANNOT RE-READ NEW DISK, REPLA┆
0x038580…0385a0             43 45 24 20 4d 0d 0a 30 30 30 30 30 2d 24 0d 0a 30 30 20 54 52 41 43 4b 53 20 56 45 52 49 46 49   ┆CE$ M  00000-$  00 TRACKS VERIFI┆
0x0385a0…0385c0             45 44 24 0d 0a 30 30 30 30 30 24 bb b6 ad df ba ad be df ab a6 af ba ac be a9 ba ad ba b1 df aa   ┆ED$  00000$                     ┆
0x0385c0…0385e0             ac ba ad 07 4c 49 5a 45 24 11 cf 05 c3 c4 03 0d 01 07 0d 13 19 05 0b 11 17 03 09 0f 15 02 08 0e   ┆    LIZE$                       ┆
0x0385e0…038600             14 1a 06 0c 12 18 04 0a 10 16 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
0x038600…038620 (15, 0, 2)  02 11 01 14 02 0c 00 16 02 11 17 3c 02 11 1a 3e 02 1a 00 02 61 17 00 44 61 12 00 d2 63 03 00 ee   ┆           <   >    a  Da   c   ┆
0x038620…038640             63 7f 00 1f 64 1f 00 1f 64 07 00 40 64 19 00 40 02 11 7f 42 02 11 1f 42 02 11 19 44 02 14 00 89   ┆c   d   d  @d  @   B   B   D    ┆
0x038640…038660             64 16 00 9f 61 02 00 89 67 11 11 3a 02 0e 00 a5 61 09 00 d1 64 0d 00 55 63 10 00 c5 61 0b 08 18   ┆d   a   g  :    a   d  Uc   a   ┆
0x038660…038680             02 0b 42 5f 66 0b 4b 60 66 0b 30 64 66 0b 31 65 66 0b 32 66 66 0b 33 67 66 0b 34 68 66 0b 35 69   ┆  B_f K`f 0df 1ef 2ff 3gf 4hf 5i┆
0x038680…0386a0             66 0b 36 6a 66 0b 37 6b 66 0b 38 6c 66 0b 39 6d 66 0b 16 0c 02 0b 03 0e 02 0b 19 10 02 0b 1a 88   ┆f 6jf 7kf 8lf 9mf               ┆
0x0386a0…0386c0             32 15 00 bb 30 0b 18 00 02 0b 04 02 02 0b 13 04 02 0b 11 06 02 0b 12 08 02 0b 17 0a 02 0b 0a 0a   ┆2   0                           ┆
0x0386c0…0386e0             01 0b 06 74 29 0b 10 06 01 0b 0c 12 01 0b 0f 0e 01 0b 05 10 01 0f 0c 1e 02 0f 12 20 02 0f 09 22   ┆   t)                          "┆
0x0386e0…038700             02 0f 0e 24 02 0f 06 34 02 0f 17 26 02 0f 0a 28 02 0f 16 2a 02 0f 04 2c 02 0f 14 2e 02 0f 10 30   ┆   $   4   &   (   *   ,   .   0┆
0x038700…038720             02 0f 05 36 02 0f 08 38 02 0f 07 46 02 0f 18 1c 02 0f 03 32 02 0f 13 1a 02 0a 04 a4 00 0a 13 a6   ┆   6   8   F       2            ┆
0x038720…038740             00 0a 06 a8 00 0a 10 aa 00 0a 02 ae 00 0a 0d b0 00 0a 09 b6 00 0a 16 b2 00 0a 12 ac 00 00 00 00   ┆                                ┆
0x038740…038760             00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
0x038760…038780             00 00 10 00 28 45 1a 00 ae 29 17 00 b5 29 16 00 88 32 00 00 00 00 00 30 04 7d 04 62 06 00 13 04   ┆    (E   )   )   2     0 å b    ┆
0x038780…0387a0             10 06 1a 17 15 1b 00 00 00 00 00 00 00 00 01 02 ff 03 02 00 00 00 02 0d 0a 00 00 00 00 00 00 00   ┆                                ┆
0x0387a0…0387c0             00 02 0d 00 00 00 00 00 00 00 00 00 00 00 00 01 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
0x0387c0…0387e0             00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
0x0387e0…038800             00 00 00 00 00 00 00 01 0d 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
0x038800…038820 (15, 0, 3)  67 0a b7 cc 56 0c c3 61 03 cd c2 0b cd fb 30 da 10 11 cc 20 05 cd 63 0c cd fd 35 da 10 11 af c9   ┆g   V  a      0       c   5     ┆
0x038820…038840             3a 69 11 e6 06 c8 e6 04 3a 5c 0a c2 43 05 fe 04 ca 39 05 3a 7f 0a e6 02 c0 e1 21 83 43 cd 77 3a   ┆:i      :Ø  C    9 :      ! C w:┆
0x038840…038860             f6 ff c9 fe 04 ca 4d 05 3a 67 0a b7 c0 e1 cd c3 1f c3 09 05 21 71 43 cd 4d 0a da 61 03 c2 c1 06   ┆      M :g          !qC M  a    ┆
0x038860…038880             cd 4d 38 da 10 11 cd 09 05 ca 61 03 cd 76 38 c3 c1 06 3a a7 18 b7 c2 ba 04 21 73 43 cd 4d 0a c2   ┆ M8       a  v8   :      !sC M  ┆
0x038880…0388a0             c1 06 dc 4d 38 da 10 11 c3 61 03 cd af 05 cd 09 05 c2 a3 05 cd 56 0c cd bc 05 cd 4d 38 da 10 11   ┆   M8    a           V     M8   ┆
0x0388a0…0388c0             c3 61 03 cd bc 05 cd 7d 16 d2 a6 05 c3 81 03 2a 79 0a cd 68 2d 2a 65 0a cd 72 2d c9 2a 65 0a cd   ┆ a     å       *y  h-*e  r- *e  ┆
0x0388c0…0388e0             68 2d 2a 79 0a cd 72 2d c9 4f 3a 5c 0a fe 04 c8 79 37 c9 3e ff c3 d9 05 af 32 7d 0a 16 00 2a 6d   ┆h-*y  r- O:Ø    y7 >     2å   *m┆
0x0388e0…038900             11 3e 0d cd 3b 06 1e 00 43 7e cd 56 06 23 cd 3b 06 1c 3a 6b 11 bb c2 e9 05 06 00 14 3a 6c 11 ba   ┆ >  ;   Cü V # ;  :k        :l  ┆
0x038900…038920             ca 0e 06 3e 0a cd 3b 06 cd e0 41 ca e1 05 3e 0c cd 3b 06 cd e0 41 c2 31 06 3a 5c 0a fe 02 c2 31   ┆   >  ;   A   >  ;   A 1 :Ø    1┆
0x038920…038940             06 af 0e bf cd 23 08 cd 31 09 cd 59 42 04 c2 dc 05 cd e0 41 c4 1d 41 af c3 75 03 04 fe 20 c8 d5   ┆     #  1  YB      A  A  u      ┆
0x038940…038960             f5 0e 05 05 ca 4f 06 1e 20 cd 54 39 c3 43 06 f1 5f cd 54 39 d1 c9 e6 7f fe 20 d2 5f 06 3e 20 e5   ┆     O    T9 C  _ T9       _ >  ┆
0x038960…038980             2a 7d 0a 2c e1 c0 e5 21 97 06 35 e1 c0 e5 c5 4f af cd a1 0b e5 cd 34 0c 46 23 7e bb 23 7e e1 c2   ┆*å ,   !  5    O      4 F#ü #ü  ┆
0x038980…0389a0             86 06 ba ca 8f 06 cd 65 0b c2 74 06 01 20 01 78 32 97 06 79 c1 e1 c9 01 3a 5f 0a b7 ca ab 06 2a   ┆       e  t    x2  y    :_     *┆
0x0389a0…0389c0             2d 2c 5e 1d 21 5e 0a 73 c3 3c 04 2a a0 18 e5 cd 15 12 c2 b7 06 d1 e5 cd 65 0b c2 af 06 e1 c3 78   ┆-,^ !^ s < *            e      x┆
0x0389c0…0389e0             03 3a 5f 0a b7 c4 68 09 c3 75 03 3a 5f 0a b7 c2 4e 04 c3 82 04 cd f7 06 cd 26 11 cd d3 3c cd 53   ┆ :_   h  u :_   N        &   < S┆
0x0389e0…038a00             0b 2a 7b 0a 22 2c 03 af 32 80 00 32 0d 44 c3 4c 03 cd f7 06 c3 61 03 cd f4 07 cd 0e 09 c9 cd f7   ┆ *æ ",  2  2 D L     a          ┆
0x038a00…038a20 (15, 0, 4)  fe 11 d2 9c 0c 11 5c 00 12 13 06 08 cd 18 0d 06 03 7e b7 0e 01 c2 f9 0c 7e b7 3e 20 ca 32 0d 7e   ┆      Ø          ü      ü >  2 ü┆
0x038a20…038a40             fe 03 ca 84 0e fe 30 d8 fe 5b d0 d6 3a fe 07 d8 7e 23 12 13 05 c2 18 0d af 12 c9 47 05 fa b8 0c   ┆      0  Æ  :   ü#         G    ┆
0x038a40…038a60             23 7e fe 20 ca 3c 0d 04 78 fe 0c d2 b8 0c 11 43 11 12 13 cd b7 38 af 12 c3 c9 0c 22 6d 11 01 04   ┆#ü   <  x      C     8     "m   ┆
0x038a60…038a80             00 21 69 11 cd 22 0e 3a 6c 11 47 3a 6b 11 cd 71 42 42 4b 2a 6d 11 cd 22 0e 22 6f 11 11 01 00 0e   ┆ !i  " :l G:k  qBBK*m  " "o     ┆
0x038a80…038aa0             02 e5 cd 22 0e e3 4e eb 09 eb e1 0e 01 cd 22 0e 2b 4e 23 79 b7 ca ad 0d fe 0d d2 a9 0d c5 0e 01   ┆   "  N       " +N#y            ┆
0x038aa0…038ac0             cd 22 0e c1 41 2b 4e 23 0b 0b c3 81 0d eb af c9 11 5c 00 cd 2a 39 21 80 00 36 00 c0 3a 5c 0a fe   ┆ "  A+N#         Ø  *9!  6  :Ø  ┆
0x038ac0…038ae0             05 c4 9f 0a 21 00 01 22 50 11 01 08 00 21 5e 11 cd 22 0e cd cb 0e 21 5f 43 cd c7 40 eb 21 43 11   ┆    !  "P    !^  "    !_C  @ !C ┆
0x038ae0…038b00             46 4e 23 cd b7 38 3e 0b 91 3c 4f 3e 20 12 13 0d c2 ed 0d 21 5d 00 11 5e 11 06 08 cd b7 38 03 2a   ┆FN#  8>  <O>       !Å  ^     8 *┆
0x038b00…038b20             2c 03 22 2d 2c cd 22 0e 2b 7e 87 4f 23 c4 22 0e 22 56 11 eb 2a 2d 2c 01 78 00 09 cd 5b 0d 22 29   ┆, "-, " +ü O# " "V  *-, x   Æ ")┆
0x038b20…038b40             2c c9 d5 e5 cd 40 0e d1 2a 50 11 7c 3d cc 62 0e 7e 12 23 13 0b 78 b1 c2 2b 0e 22 50 11 eb d1 c9   ┆,    @  *P ø= b ü #  x  + "P    ┆
0x038b40…038b60             09 22 52 11 eb cd 5a 0e 2a 06 00 25 19 d2 54 0e 22 54 11 c9 11 93 43 c3 75 0e 7b 2f 5f 7a 2f 57   ┆ "R   Z *  %  T "T    C u æ/_z/W┆
0x038b60…038b80             13 c9 d5 c5 0e 14 11 5c 00 cd 54 39 c1 d1 21 80 00 c8 11 8b 43 eb 3a f4 39 c6 41 32 01 44 01 0d   ┆       Ø  T9  !     C : 9 A2 D  ┆
0x038b80…038ba0             01 cd 6a 3f cd 3d 3a cd 53 0b c3 00 00 11 5c 00 06 0c cd b7 38 11 80 00 0e 1a cd 54 39 11 5c 00   ┆  j? =: S     Ø     8      T9 Ø ┆
0x038ba0…038bc0             cd 2a 39 11 91 43 c2 75 0e 21 00 01 22 50 11 2a c0 39 01 09 00 cd 22 0e 2a c0 39 cd 5b 0d 2a 52   ┆ *9  C u !  "P * 9    " * 9 Æ *R┆
0x038bc0…038be0             11 22 c0 39 2a 54 11 22 c2 39 c9 3a 5e 11 b7 f0 3e 03 c3 f7 0e 21 43 11 11 80 00 46 23 cd b7 38   ┆ " 9*T " 9 :^   >    !C    F#  8┆
0x038be0…038c00             af 12 21 8d 43 01 00 01 cd 6a 3f 21 80 00 36 00 e6 5f fe 41 c0 3e ff 21 19 44 c3 b3 0a 2a 29 2c   ┆  ! C    j?!  6  _ A > ! D   *),┆
0x038c00…038c20 (15, 0, 5)  0d 72 65 63 6f 72 64 2e 0d 00 20 66 72 6f 6d 20 74 68 65 20 66 69 65 6c 64 20 62 65 66 6f 72 65   ┆ record.   from the field before┆
0x038c20…038c40             20 74 68 65 20 64 61 74 61 20 69 73 20 72 65 63 6f 72 64 65 64 2e 0d 0d 41 20 59 20 61 6e 73 77   ┆ the data is recorded.  A Y answ┆
0x038c40…038c60             65 72 20 68 65 72 65 20 77 69 6c 6c 20 69 6e 63 6c 75 64 65 20 65 64 69 74 20 63 68 61 72 61 63   ┆er here will include edit charac┆
0x038c60…038c80             74 65 72 73 20 61 73 20 77 65 6c 6c 20 61 73 20 64 61 74 61 20 69 6e 20 74 68 65 20 64 69 73 6b   ┆ters as well as data in the disk┆
0x038c80…038ca0             66 69 65 64 20 66 69 65 6c 64 2c 0d 61 20 64 6f 6c 6c 61 72 20 73 69 67 6e 20 77 69 6c 6c 20 62   ┆fied field, a dollar sign will b┆
0x038ca0…038cc0             65 20 61 64 64 65 64 20 74 6f 20 74 68 65 20 6c 65 66 74 20 6f 66 20 74 68 65 20 64 61 74 61 20   ┆e added to the left of the data ┆
0x038cc0…038ce0             65 6e 74 65 72 65 64 2e 0d 0d 41 20 59 20 61 6e 73 77 65 72 20 77 69 6c 6c 20 70 72 6f 76 69 64   ┆entered.  A Y answer will provid┆
0x038ce0…038d00             65 20 61 20 66 6c 6f 61 74 69 6e 67 20 63 68 61 72 61 63 74 65 72 20 66 6f 72 20 74 68 65 20 66   ┆e a floating character for the f┆
0x038d00…038d20             06 00 1c 00 19 01 01 cc 02 d8 00 be cc 03 d9 da c8 a1 2e d8 d9 9b be b3 08 01 ff 07 fe ff 00 00   ┆                  .             ┆
0x038d20…038d40             00 00 00 00 00 00 00 00 00 00 08 8b a1 0c d8 d9 9b d8 d9 9b be 61 95 41 82 bf d9 01 82 cc 02 b9   ┆                     a A        ┆
0x038d40…038d60             f6 ad 00 02 36 00 04 00 02 00 09 00 46 00 1a 01 d9 d8 cf 03 b6 02 03 a6 20 46 49 4c 45 4e 41 4d   ┆    6       F            FILENAM┆
0x038d60…038d80             45 20 3a 20 3c 20 63 2f 72 20 66 6f 72 20 55 6e 69 74 20 49 2f 4f 20 3e 20 d7 00 cd 00 13 9e 00   ┆E : < c/r for Unit I/O >        ┆
0x038d80…038da0             b6 02 02 c6 05 50 cd 00 12 9e 00 b6 02 02 cd 00 15 9e 00 c6 05 00 be 00 c5 a1 f6 da 00 cd 00 06   ┆     P                          ┆
0x038da0…038dc0             9e 00 da c6 05 01 00 cd 00 05 9e 22 00 cb a1 34 d7 a6 21 45 72 72 6f 72 20 6f 70 65 6e 69 6e 67   ┆           "   4  !Error opening┆
0x038dc0…038de0             20 66 69 6c 65 2e 20 20 49 6f 72 65 73 75 6c 74 20 69 73 20 9e 22 00 cf 12 db a2 04 00 9a d9 d8   ┆ file.  Ioresult is  "          ┆
0x038de0…038e00             cf 03 b9 42 db cc 2f ca 2f a2 04 01 9a ca 2f a2 03 00 9a c6 05 cf 1a ca 2f a2 05 c6 05 aa 50 ca   ┆   B  / /     /         /     P ┆
0x038e00…038e20 (15, 0, 6)  00 00 00 00 00 00 00 00 00 00 00 2d 5f 00 00 c9 00 00 c9 00 00 00 00 00 00 00 00 b7 c9 5f 0e 05   ┆           -_                _  ┆
0x038e20…038e40             cd 05 00 b7 c9 00 37 c9 db 05 00 e6 01 ee 01 37 c0 b7 c9 d3 04 00 c9 db 05 00 e6 02 ee 02 37 c0   ┆      7        7              7 ┆
0x038e40…038e60             db 04 00 b7 c9 00 00 00 00 00 00 00 00 b7 c9 00 00 c9 00 37 c9 00 00 00 00 b7 c9 cd 77 07 cd a7   ┆                   7        w   ┆
0x038e60…038e80             20 c3 6e 07 cd 77 07 cd 10 1d c4 27 1d 57 78 32 03 00 7a b7 c0 37 c9 57 3a 03 00 47 e6 fc f6 01   ┆  n  w     ' Wx2  z  7 W:  G    ┆
0x038e80…038ea0             c3 6f 07 00 00 00 00 7f 00 00 00 00 00 00 02 1b 02 1b 1e 00 00 01 00 7e 00 02 1b 1f 00 00 00 01   ┆ o                     ü        ┆
0x038ea0…038ec0             00 7e 00 02 1b 35 00 00 02 1b 36 00 00 01 20 00 00 00 01 08 00 00 00 01 0a 00 00 00 02 1b 0a 00   ┆ ü   5    6                     ┆
0x038ec0…038ee0             00 02 1b 59 00 02 1b 5a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 52 43 44 54 54 56 56 32   ┆   Y   Z                RCDTTVV2┆
0x038ee0…038f00             43 43 54 54 42 54 32 53 54 54 54 54 54 54 54 54 54 54 43 42 54 54 54 54 56 55 55 55 56 55 55 56   ┆CCTTBT2STTTTTTTTTTCBTTTTVUUUVUUV┆
0x038f00…038f20             56 53 53 56 55 66 56 56 54 56 56 54 55 56 56 67 56 56 55 54 56 54 56 55 54 54 54 54 54 54 53 54   ┆VSSVUfVVTVVTUVVgVVUTVTVUTTTTTTST┆
0x038f20…038f40             54 52 52 54 52 66 54 54 54 54 53 53 53 54 54 66 54 54 54 54 56 54 56 55 36 02 4e 00 98 00 9c 00   ┆TRRTRfTTTTSSSTTfTTTTVTVU6 N     ┆
0x038f40…038f60             9b 00 a8 00 b5 00 49 00 51 00 59 00 64 00 58 00 66 00 6a 00 6c 00 79 00 b0 00 b3 00 d9 00 1c 01   ┆      I Q Y d X f j l y         ┆
0x038f60…038f80             25 01 32 01 37 01 3f 01 51 01 58 01 69 01 76 01 84 01 98 01 a7 01 ae 01 b4 01 bd 01 bc 01 a5 01   ┆% 2 7 ? Q X i v                 ┆
0x038f80…038fa0             ba 01 00 00 00 00 59 4e 20 40 40 40 40 20 00 20 6f 6e 20 28 cf c6 c6 29 00 20 6f 66 66 20 28 cf   ┆      YN @@@@   on (   )  off ( ┆
0x038fa0…038fc0             ce 29 00 0d 0a 00 20 49 4e 54 45 52 4e 41 4c 20 45 52 52 4f 52 00 46 41 54 41 4c 00 a0 a0 a0 00   ┆ )     INTERNAL ERROR FATAL     ┆
0x038fc0…038fe0             20 4e 41 4d 45 20 4f 46 20 15 20 54 4f 20 00 46 49 4c 45 00 4d 45 52 47 45 2d 00 50 72 69 6e 74   ┆ NAME OF   TO  FILE MERGE- Print┆
0x038fe0…039000             20 61 20 66 69 6c 65 20 20 00 a0 d3 d4 cf d0 a0 d0 d2 c9 ce d4 a0 20 20 00 c3 cf ce d4 c9 ce d5   ┆ a file                         ┆
0x039000…039020 (15, 0, 7)  06 cd 73 07 21 0d 44 7e b7 c2 26 07 36 ff cd 8d 0e 11 71 0a cd 7e 07 2a c0 39 22 61 0a 2a c2 39   ┆  s ! Dü  & 6     q  ü * 9"a * 9┆
0x039020…039040             22 63 0a c3 61 03 21 71 0a cd a4 07 c3 61 03 cd ad 07 ca 41 07 2a 71 11 22 65 0a cd 68 2d cd d5   ┆"c  a !q     a     A *q "e  h-  ┆
0x039040…039060             09 cd 92 07 2a 2b 2c 3a 5c 0a fe 05 ca 5c 07 fe 00 ca 61 03 7c b5 ca 3a 08 c3 61 03 7c b5 c2 6a   ┆    *+,:Ø    Ø    a ø  :  a ø  j┆
0x039060…039080             07 cd af 05 cd eb 2c c3 61 03 21 7f 43 cd 77 3a c3 fe 06 21 5c 0a 7e 36 08 11 68 0a 12 13 21 69   ┆      , a ! C w:   !Ø ü6  h   !i┆
0x039080…0390a0             11 06 08 cd b7 38 c9 3a a8 18 b7 c8 3a 5c 0a fe 08 c0 cd 9c 07 cd 0e 09 cd 6d 21 c9 21 68 0a 7e   ┆     8 :    :Ø           m! !h ü┆
0x0390a0…0390c0             32 5c 0a 23 11 69 11 06 08 cd b7 38 c9 cd 63 0c 2a 27 2c 11 5c 00 af 12 7e fe 0d c8 d6 41 23 da   ┆2Ø # i     8  c *', Ø   ü    A# ┆
0x0390c0…0390e0             c7 07 3c 12 36 3a 23 e5 d5 da ce 07 2b 2b 01 0d 0e eb 2a 6d 43 cd b2 40 eb cd e2 07 d1 e1 13 01   ┆  < 6:#     ++    *mC  @        ┆
0x0390e0…039100             0d 0b 7e 23 b9 c2 eb 07 3e 20 2b 12 13 05 c2 e2 07 23 b7 c9 21 67 0a 7e b7 c8 36 00 cd ac 30 2a   ┆  ü#    > +      #  !g ü  6   0*┆
0x039100…039120             61 0a 22 c0 39 2a 63 0a 22 c2 39 2a 65 0a 22 71 11 cd 72 2d c9 3e 40 c3 1b 08 af 0e bf cd 23 08   ┆a " 9*c " 9*e "q  r- >@       # ┆
0x039120…039140             c3 61 03 47 21 5b 0a 7e a1 b0 77 c9 3e 80 c3 32 08 af 0e 7f cd 23 08 c3 47 08 06 00 c3 5a 08 06   ┆ a G!Æ ü  w >  2     #  G    Z  ┆
0x039140…039160             01 c3 ca 08 cd 5d 0c 06 02 af 32 60 0a c3 ca 08 06 03 c3 ca 08 06 04 cd eb 2c cd d0 08 cd 6b 08   ┆     Å    2`             ,    k ┆
0x039160…039180             ca fe 06 c3 44 07 06 05 c3 57 08 3a 5c 0a fe 04 ca 83 08 fe 05 ca 83 08 fe 00 c0 3a 69 11 e6 01   ┆    D    W :Ø              :i   ┆
0x039180…0391a0             fe 01 c0 3a 67 0a b7 c9 2a 2b 2c eb 21 5c 0a 7e fe ff c2 a6 08 d5 06 00 cd d0 08 d1 7a b3 c4 7d   ┆   :g   *+, !Ø ü            z  å┆
0x0391a0…0391c0             16 d8 0e 0a 37 c9 7e fe 08 c8 cd 6b 08 c2 b7 08 cd 7d 16 d2 b0 08 c9 7e fe 00 c8 fe 05 c8 7a b3   ┆    7 ü    k     å     ü      z ┆
0x0391c0…0391e0             c0 21 79 43 cd 77 3a c3 b0 08 cd d0 08 c3 61 03 21 5c 0a 70 eb 3a 5c 0a fe 08 c2 e0 08 3a 68 0a   ┆ !yC w:       a !Ø p :Ø      :h ┆
0x0391e0…039200             fe 02 da f3 08 c2 f2 08 3a 5b 0a e6 80 3e 02 ca f3 08 3c 2a 65 43 44 4d 2a 63 43 cd b2 40 b7 ca   ┆        :Æ   >    <*eCDM*cC  @  ┆
0x039200…039220 (15, 0, 8)  44 4d 2a 52 11 22 58 11 22 5a 11 e5 cd 40 0e cd ab 18 cd 56 0c 13 e1 eb cd c8 2d 44 4d 2a 52 11   ┆DM*R "X "Z   @     V      -DM*R ┆
0x039220…039240             22 5a 11 cd 40 0e 44 4d 2a 52 11 cd f1 2c 11 5d 11 3a 5c 0a d6 05 ca 3b 0f af 12 cd 2a 10 cd 8c   ┆"Z  @ DM*R   , Å :Ø    ;    *   ┆
0x039240…039260             2d 22 71 11 af 32 73 11 cd a1 0b cd b8 11 e5 21 00 00 22 29 2c 3a 82 18 e6 40 ca 0b 10 2a 94 18   ┆-"q  2s        !  "),:   @   *  ┆
0x039260…039280             23 23 7e 3d ca 0b 10 21 98 18 22 2d 2c 36 01 23 3a 89 18 77 23 3a 7d 18 77 2a 94 18 eb 3a 82 18   ┆##ü=   !  "-,6 #:  w#:å w*   :  ┆
0x039280…0392a0             e6 80 3e 07 c2 89 0f 3e 03 cd 2a 10 cd 8c 2d 22 96 18 2a 94 18 11 5c 00 06 09 cd b7 38 3a 73 11   ┆  >    >  *   -"  *   Ø     8:s ┆
0x0392a0…0392c0             4f af 32 9b 18 47 cd a1 0b e5 04 cd 34 0c eb 21 04 00 19 7e e6 04 ca d2 0f 21 0d 00 19 79 be c2   ┆O 2  G      4  !   ü     !   y  ┆
0x0392c0…0392e0             d2 0f 3a 9b 18 77 78 32 9b 18 21 04 00 19 7e e6 fb 77 e1 cd 65 0b c2 a9 0f 11 96 18 2a 94 18 eb   ┆  :  wx2  !   ü  w  e       *   ┆
0x0392e0…039300             06 06 cd b7 38 2a a0 18 cd b8 11 3a 82 18 e6 40 ca 01 10 2a 94 18 11 5c 00 06 09 cd 1d 10 ca a1   ┆    8*     :   @   *   Ø        ┆
0x039300…039320             0f 2a a0 18 0c cd 65 0b c2 e8 0f 21 73 11 34 e1 cd 65 0b c2 4b 0f 2a 71 11 cd 72 2d c9 1a be c0   ┆ *    e    !s 4  e  K *q  r-    ┆
0x039320…039340             23 13 05 c2 1d 10 c9 cd 65 10 21 29 44 d5 cd 45 10 d1 2a 44 2c 22 32 2c 21 2c 44 cd 45 10 cd 67   ┆#       e !)D  E  *D,"2,!,D E  g┆
0x039340…039360             2c c2 11 11 c9 4f cd 72 10 79 c5 cd cf 2d c1 ca 63 10 c5 1a b7 cc b7 10 12 79 f6 80 cd f0 2d c2   ┆,    O r y   -  c        y    - ┆
0x039360…039380             11 11 c1 79 c9 d5 f5 0e 0d cd 54 39 cd 53 0b f1 d1 c9 d5 c5 eb 01 09 00 09 eb 06 03 cd b7 38 c1   ┆   y      T9 S                8 ┆
0x039380…0393a0             d1 c9 2a 32 2c 7e 32 5d 11 cd 8f 10 2a 44 2c e5 eb 21 10 00 45 19 eb cd b7 38 23 11 5e 11 06 08   ┆  *2,ü2Å    *D,  !  E    8# ^   ┆
0x0393a0…0393c0             eb cd b7 38 d1 0e 17 cd 54 39 c9 e5 c5 21 a3 43 06 01 cd b9 3f c1 e1 e5 d5 c5 21 80 00 06 08 13   ┆   8    T9   ! C    ?     !     ┆
0x0393c0…0393e0             cd 01 11 3e 2e cd 0d 11 06 03 1a f5 cd 01 11 36 00 f1 fe 4e 21 9f 43 06 08 c2 e0 10 21 a1 43 04   ┆   >.          6   N! C     ! C ┆
0x0393e0…039400             cd b9 3f cd 1d 41 4f cd 23 3e 79 c1 d1 e1 fe 03 ca 00 00 e6 5f d6 41 fa ab 10 fe 10 d2 ab 10 3c   ┆  ?  AO #>y         _ A        <┆
0x039400…039420 (15, 0, 9)  e1 22 9f 04 31 ca 04 11 61 03 cd 47 03 11 7f 03 cd 47 03 cd 4c 03 0e 00 fe 41 ca 23 01 fe 42 c2   ┆ "  1   a  G     G  L    A #  B ┆
0x039420…039440             0d 01 0c 79 32 a4 04 11 9b 03 cd 47 03 cd 4c 03 0e 00 fe 41 ca 3d 01 fe 42 c2 27 01 0c 79 32 a5   ┆   y2      G  L    A =  B '  y2 ┆
0x039440…039460             04 2a 01 00 11 34 00 19 46 23 4e 21 a4 04 be 3e 00 ca 78 01 78 b9 11 bc 03 c4 3e 03 c5 11 9c 04   ┆ *   4  F#N!   >  x x     >     ┆
0x039460…039480             cd 47 03 11 d3 03 cd 47 03 cd 4c 03 11 fa 03 cd 47 03 cd 4c 03 c1 3e 01 32 a6 04 79 fe 00 c2 93   ┆ G     G  L     G  L  > 2  y    ┆
0x039480…0394a0             01 3e 00 32 a1 04 3e 4c 32 a2 04 3e 1a 32 a3 04 c3 c1 01 fe 08 c2 aa 01 3e 01 32 a1 04 3e 3d 32   ┆ > 2  >L2  > 2          > 2  >=2┆
0x0394a0…0394c0             a2 04 3e 78 32 a3 04 c3 c1 01 fe 10 11 bc 03 c4 3e 03 3e 01 32 a1 04 3e 1f 32 a2 04 3e 48 32 a3   ┆  >x2           > > 2  > 2  >H2 ┆
0x0394c0…0394e0             04 3a a1 04 32 a7 04 3e 00 32 a8 04 3a a6 04 b7 c2 dc 01 11 d3 03 cd 47 03 cd 4c 03 3a a4 04 cd   ┆ :  2  > 2  :          G  L :   ┆
0x0394e0…039500             05 03 21 68 01 22 a9 04 11 cb 04 d5 cd 22 03 3a a7 04 4f cd 0e 03 3a a8 04 4f 3a a7 04 47 c5 cd   ┆  !h "       " :  O   :  O:  G  ┆
0x039500…039520             18 03 cd 2c 03 11 26 04 b7 c4 51 03 c1 0c 3a a3 04 b9 c2 25 02 3a a2 04 b8 ca 49 02 04 0e 00 c5   ┆   ,  &   Q   :    % :    I     ┆
0x039520…039540             48 cd 0e 03 c1 c5 cd 18 03 2a a9 04 2b 22 a9 04 c1 7c b7 c2 3b 02 7d b7 ca 49 02 d1 21 80 00 19   ┆H        *  +"   ø  ; å  I  !   ┆
0x039540…039560             eb d5 c5 cd 22 03 c3 02 02 d1 3a a6 04 b7 c2 5a 02 11 fa 03 cd 47 03 cd 4c 03 3a a5 04 cd 05 03   ┆    "     :    Z     G  L :     ┆
0x039560…039580             21 68 01 22 a9 04 11 cb 04 d5 cd 22 03 3a a7 04 4f cd 0e 03 3a a8 04 4f 3a a7 04 47 c5 cd 18 03   ┆!h "       " :  O   :  O:  G    ┆
0x039580…0395a0             cd 34 03 11 42 04 b7 c4 51 03 c1 0c 3a a3 04 b9 c2 a3 02 3a a2 04 b8 ca d6 02 04 0e 00 c5 48 cd   ┆ 4  B   Q   :      :          H ┆
0x0395a0…0395c0             0e 03 c1 c5 cd 18 03 2a a9 04 2b 22 a9 04 c1 7c b7 c2 b9 02 7d b7 ca c7 02 d1 21 80 00 19 eb d5   ┆       *  +"   ø    å     !     ┆
0x0395c0…0395e0             c5 cd 22 03 c3 80 02 78 32 a7 04 79 32 a8 04 d1 cd eb 02 c3 cc 01 cd eb 02 11 8a 04 cd 47 03 11   ┆  "    x2  y2                G  ┆
0x0395e0…039600             63 04 cd 47 03 cd 4c 03 c3 00 00 3a a7 04 4f 0d cd 0e 03 3a a8 04 4f cd 18 03 cd 2c 03 11 42 04   ┆c  G  L    :  O    :  O    ,  B ┆
0x039600…039620 (15, 0, 10) e1 22 21 02 31 63 02 21 80 00 34 5e 34 16 00 19 36 20 2a 01 00 11 34 00 19 22 19 02 7e 32 1b 02   ┆ "! 1c !  4^4   6 *   4  "  ü2  ┆
0x039620…039640             23 7e 32 1c 02 2a 1b 02 22 1d 02 21 80 00 23 22 1f 02 c3 45 01 21 80 00 35 ca a3 01 2a 1f 02 7e   ┆#ü2  *  "  !  #"   E !  5   *  ü┆
0x039640…039660             23 22 1f 02 c9 01 00 00 cd 35 01 fe 41 ca 56 01 fe 42 c2 45 01 04 cd 35 01 fe 3a c2 45 01 cd 35   ┆#"       5  A V  B E   5  : E  5┆
0x039660…039680             01 fe 3d c2 45 01 cd 35 01 fe 53 ca 88 01 fe 44 c2 45 01 cd 35 01 fe 44 c2 45 01 cd 35 01 fe 20   ┆  = E  5  S    D E  5  D E  5   ┆
0x039680…0396a0             c2 45 01 0e 08 c3 98 01 cd 35 01 fe 53 c2 45 01 cd 35 01 fe 20 c2 45 01 21 1d 02 16 00 58 19 71   ┆ E       5  S E  5    E !    X q┆
0x0396a0…0396c0             c3 45 01 db 14 e6 80 c2 b6 01 2a 19 02 3a 1d 02 77 23 3a 1e 02 77 11 fb 01 cd f6 01 cd c6 01 cd   ┆ E        *  :  w#:  w          ┆
0x0396c0…0396e0             cb 01 2a 21 02 e9 0e 01 c3 05 00 0e 0d 11 03 00 c3 05 00 0e 0f c3 05 00 0e 10 c3 05 00 0e 13 c3   ┆  *!                            ┆
0x0396e0…039700             05 00 0e 14 c3 05 00 0e 15 c3 05 00 0e 16 c3 05 00 0e 1a c3 05 00 0e 09 c3 05 00 49 4e 53 45 52   ┆                           INSER┆
0x039700…039720             54 20 44 49 53 4b 20 41 4e 44 20 54 59 50 45 20 3c 52 45 54 55 52 4e 3e 24 00 00 00 00 00 00 00   ┆T DISK AND TYPE <RETURN>$       ┆
0x039720…039740             00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
          […0x2…]
0x039780…0397a0             31 43 44 33 35 30 31 46 45 35 33 43 32 34 35 30 31 39 39 0d 0a 3a 31 30 30 31 39 30 30 30 43 44   ┆1CD3501FE53C2450199  :10019000CD┆
0x0397a0…0397c0             33 35 30 31 46 45 32 30 43 32 34 35 30 31 32 31 31 44 30 32 31 36 30 30 35 38 31 39 37 31 46 45   ┆3501FE20C24501211D021600581971FE┆
0x0397c0…0397e0             0d 0a 3a 31 30 30 31 41 30 30 30 43 33 34 35 30 31 44 42 31 34 45 36 38 30 43 32 42 36 30 31 32   ┆  :1001A000C34501DB14E680C2B6012┆
0x0397e0…039800             41 31 39 30 32 33 41 31 44 30 32 44 41 0d 0a 3a 31 30 30 31 42 30 30 30 37 37 32 33 33 41 31 45   ┆A19023A1D02DA  :1001B00077233A1E┆
0x039800…039820 (15, 0, 11) e1 22 05 04 31 47 04 21 80 00 34 5e 34 16 00 19 36 20 2a 01 00 11 34 00 19 22 f8 03 7e 32 fa 03   ┆ "  1G !  4^4   6 *   4  "  ü2  ┆
0x039820…039840             23 7e 32 fb 03 2a fa 03 22 fe 03 22 00 04 3a 5c 00 b7 cc e8 01 3d 32 02 04 3a 6c 00 b7 cc e8 01   ┆#ü2  *  "  "  :Ø     =2  :l     ┆
0x039840…039860             3d 32 03 04 21 80 00 23 22 fc 03 c3 5e 01 21 80 00 35 ca cd 01 2a fc 03 7e 23 22 fc 03 c9 01 00   ┆=2  !  #"   ^ !  5   *  ü#"     ┆
0x039860…039880             00 cd 4e 01 fe 53 ca 70 01 fe 44 c2 5e 01 06 02 cd 4e 01 fe 3a c2 5e 01 cd 4e 01 fe 3d c2 5e 01   ┆  N  S p  D ^    N  : ^  N  = ^ ┆
0x039880…0398a0             cd 4e 01 fe 53 ca a2 01 fe 44 c2 5e 01 cd 4e 01 fe 44 c2 5e 01 cd 4e 01 fe 20 c2 5e 01 0e 08 c3   ┆ N  S    D ^  N  D ^  N    ^    ┆
0x0398a0…0398c0             b2 01 cd 4e 01 fe 53 c2 5e 01 cd 4e 01 fe 20 c2 5e 01 21 fe 03 16 00 58 19 78 b7 3a 02 04 ca c4   ┆   N  S ^  N    ^ !    X x :    ┆
0x0398c0…0398e0             01 3a 03 04 b7 ca c9 01 23 71 c3 5e 01 db 14 e6 80 ca ed 01 2a fa 03 22 fe 03 22 00 04 c3 ed 01   ┆ :      #q ^        *  "  "     ┆
0x0398e0…039900             eb 2a f8 03 73 23 72 c9 cd 08 03 3c c9 0e 10 11 6c 00 21 07 04 1a 13 77 23 0d c2 f5 01 af 32 27   ┆ *  s#r    <    l !    w#     2'┆
0x039900…039920             04 11 aa 03 cd 03 03 cd ca 02 2a fe 03 cd e0 01 cd db 02 11 5c 00 cd e0 02 11 0d 03 3c cc c2 02   ┆          *         Ø       <   ┆
0x039920…039940             11 48 04 3e 00 32 04 04 d5 cd fe 02 11 5c 00 cd ef 02 b7 c2 4d 02 d1 21 80 00 19 eb d5 cd fe 02   ┆ H > 2       Ø      M  !        ┆
0x039940…039960             21 04 04 11 6f 03 34 cc c2 02 c3 2c 02 d1 11 7e 03 cd 03 03 cd ca 02 2a 00 04 cd e0 01 cd db 02   ┆!   o 4    ,   ü       *        ┆
0x039960…039980             11 07 04 cd ea 02 11 07 04 cd f9 02 11 1e 03 3c cc c2 02 11 48 04 d5 cd fe 02 11 07 04 cd f4 02   ┆               <    H           ┆
0x039980…0399a0             11 33 03 b7 c4 c2 02 d1 21 80 00 19 eb d5 cd fe 02 21 04 04 35 c2 7a 02 d1 11 07 04 cd e5 02 11   ┆ 3      !        !  5 z         ┆
0x0399a0…0399c0             47 03 3c cc c2 02 11 5a 03 cd 03 03 11 d1 03 cd 03 03 cd ca 02 2a fa 03 cd e0 01 cd db 02 2a 05   ┆G <    Z             *        * ┆
0x0399c0…0399e0             04 e9 0e 09 cd 05 00 c3 ac 02 0e 01 cd 05 00 fe 03 c0 2a fa 03 cd e0 01 c3 00 00 0e 0d c3 05 00   ┆                  *             ┆
0x0399e0…039a00             0e 0f c3 05 00 0e 10 c3 05 00 0e 13 c3 05 00 0e 14 c3 05 00 0e 15 c3 05 00 0e 16 c3 05 00 0e 1a   ┆                                ┆
0x039a00…039a20 (15, 0, 12) c9 1a 13 fe 20 c4 0d 11 05 c2 01 11 c9 77 23 c9 af 32 25 11 21 20 11 11 93 43 cd ee 16 c3 76 0e   ┆             w#  2% !    C    v ┆
0x039a20…039a40             81 ff 02 fe 82 00 2a 27 2c 36 ff 23 36 ff eb 2a 5a 11 13 7e 12 23 fe 0d c2 32 11 cd 61 37 cd ac   ┆      *',6 #6  *Z  ü #   2  a7  ┆
0x039a40…039a60             30 c9 0b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆0                               ┆
0x039a60…039a80             00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 af 32 a8 18 3e 04 32 db 1f cd   ┆                       2  > 2   ┆
0x039a80…039aa0             15 12 c0 cd f5 3a cd 93 12 cd bc 12 d8 21 db 1f 7e f5 36 04 cd e7 12 cd 1d 41 32 a6 18 4f cd 02   ┆     :       !  ü 6      A2  O  ┆
0x039aa0…039ac0             1a cd f3 12 f5 cd 95 1a cd 09 3a f1 d2 94 11 f1 32 db 1f cd 6d 15 79 c9 e5 d5 c5 22 a0 18 7e fe   ┆          :     2   m y    "  ü ┆
0x039ac0…039ae0             10 d2 c5 11 23 23 11 7d 18 06 0f cd b7 38 22 8c 18 3a 7d 18 5f 01 00 00 3a 82 18 e6 02 ca e1 11   ┆    ## å     8"  :å _   :       ┆
0x039ae0…039b00             4b 09 22 8e 18 09 22 90 18 3a 82 18 e6 04 4f ca f4 11 4b 09 22 92 18 09 22 94 18 cd 22 15 ca 05   ┆K "   "  :    O   K "   "   "   ┆
0x039b00…039b20             12 01 0c 00 09 22 9c 18 2a 7e 18 cd 00 3c 22 9e 18 c1 d1 e1 c9 cd b8 11 0e 01 cd 5d 12 c8 3a 84   ┆     "  *ü   <"            Å  : ┆
0x039b20…039b40             18 e6 04 c2 43 12 3a 81 18 e6 02 c8 cd 48 12 c8 3a 81 18 e6 20 ca 43 12 3a a6 18 b9 c8 cd 7c 1d   ┆    C :      H  :     C :     ø ┆
0x039b40…039b60             fe 02 c8 0e 06 79 b7 c9 3a 67 0a b7 c0 e5 2a 2b 2c 7d b4 e1 c0 3a 81 18 e6 80 d6 80 c9 cd 1c 15   ┆     y  :g    *+,å   :          ┆
0x039b60…039b80             c8 3a 5f 0a fe 01 c9 c5 46 cd 9b 0b 90 e6 7f c4 79 12 c1 7c 32 aa 18 7e c9 3a db 1f fe 01 c8 3e   ┆ :_     F       y  ø2  ü :     >┆
0x039b80…039ba0             ff 32 a7 18 cd e4 18 3a db 1f fe 04 c0 06 03 cd eb 18 c9 e5 cd 9c 12 cd b9 3a e1 c9 3a 7e 0a b7   ┆ 2     :                 :  :ü  ┆
0x039ba0…039bc0             21 4a 43 c8 3a 5f 0a b7 21 11 43 c0 3a 5c 0a fe 00 c8 fe 02 21 37 43 c8 21 24 43 c9 21 a2 18 cd   ┆!JC :_  ! C :Ø      !7C !$C !   ┆
0x039bc0…039be0             ca 12 7e 3c 32 a5 18 3e 06 c9 cd 1c 15 36 00 ca 94 17 cd f8 14 77 c0 cd 16 15 77 ca 94 17 3a 7d   ┆  ü<2  >     6       w    w   :å┆
0x039be0…039c00             18 77 cd 7d 17 34 c9 cd f5 3a cd fb 39 c9 77 c4 fb 39 c9 79 fe 7f ca 5f 15 fe 20 da d5 15 fe 2a   ┆ w å 4   :  9 w  9 y   _       *┆
0x039c00…039c20 (15, 0, 13) b7 c4 51 03 c9 4f 2a 01 00 11 18 00 19 e9 2a 01 00 11 1b 00 19 06 00 e9 2a 01 00 11 1e 00 19 06   ┆  Q  O*       *         *       ┆
0x039c20…039c40             00 e9 2a 01 00 42 4b 11 21 00 19 e9 2a 01 00 11 24 00 19 e9 2a 01 00 11 27 00 19 0e 02 e9 0e 09   ┆  *  BK !   *   $   *   '       ┆
0x039c40…039c60             cd 05 00 2a 9f 04 e9 0e 09 c3 05 00 0e 01 c3 05 00 0e 09 cd 05 00 0e 01 cd 05 00 fe 03 ca 00 00   ┆   *                            ┆
0x039c60…039c80             c9 52 43 37 30 30 20 20 43 50 2f 4d 20 20 42 41 43 4b 55 50 20 20 55 54 49 4c 49 54 59 0d 24 0d   ┆ RC700  CP/M  BACKUP  UTILITY $ ┆
0x039c80…039ca0             0a 0a 53 4f 55 52 43 45 20 44 52 49 56 45 20 28 41 20 4f 52 20 42 29 20 3f 20 24 0d 0a 0a 44 45   ┆  SOURCE DRIVE (A OR B) ? $   DE┆
0x039ca0…039cc0             53 54 49 4e 41 54 49 4f 4e 20 44 52 49 56 45 20 28 41 20 4f 52 20 42 29 20 3f 20 24 0d 0a 0a 42   ┆STINATION DRIVE (A OR B) ? $   B┆
0x039cc0…039ce0             41 43 4b 55 50 20 4e 4f 54 20 50 4f 53 53 49 42 4c 45 24 0d 0a 49 4e 53 45 52 54 20 53 4f 55 52   ┆ACKUP NOT POSSIBLE$  INSERT SOUR┆
0x039ce0…039d00             43 45 20 44 49 53 4b 20 41 4e 44 20 54 59 50 45 20 3c 52 45 54 55 52 4e 3e 24 0d 0a 49 4e 53 45   ┆CE DISK AND TYPE <RETURN>$  INSE┆
0x039d00…039d20             52 54 20 44 45 53 54 49 4e 41 54 49 4f 4e 20 44 49 53 4b 20 41 4e 44 20 54 59 50 45 20 3c 52 45   ┆RT DESTINATION DISK AND TYPE <RE┆
0x039d20…039d40             54 55 52 4e 3e 24 0d 0a 42 41 44 20 53 45 43 54 4f 52 20 4f 4e 20 53 4f 55 52 43 45 20 44 49 53   ┆TURN>$  BAD SECTOR ON SOURCE DIS┆
0x039d40…039d60             4b 24 0d 0a 42 41 44 20 53 45 43 54 4f 52 20 4f 4e 20 44 45 53 54 49 4e 41 54 49 4f 4e 20 44 49   ┆K$  BAD SECTOR ON DESTINATION DI┆
0x039d60…039d80             53 4b 24 0d 0a 49 4e 53 45 52 54 20 53 59 53 54 45 4d 20 44 49 53 4b 20 41 4e 44 20 54 59 50 45   ┆SK$  INSERT SYSTEM DISK AND TYPE┆
0x039d80…039da0             20 3c 52 45 54 55 52 4e 3e 24 0d 0a 42 41 43 4b 55 50 20 43 4f 4d 50 4c 45 54 45 24 0d 0a 24 00   ┆ <RETURN>$  BACKUP COMPLETE$  $ ┆
0x039da0…039dc0             00 00 00 00 00 00 00 00 00 00 00 52 49 56 45 20 28 41 20 4f 52 20 42 29 20 3f 20 24 0d 0a 0a 42   ┆           RIVE (A OR B) ? $   B┆
0x039dc0…039de0             41 43 4b 55 50 20 4e 4f 54 20 50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆ACKUP NOT P                     ┆
0x039de0…039e00             00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
          […0x1…]
0x039e20…039e40             00 00 00 00 00 00 00 00 00 00 0d 43 09 5e 04 00 af 32 80 00 cd 2e 0b cd 32 3c cd 80 0a c3 46 03   ┆           C ^   2   .  2<    F ┆
0x039e40…039e60             cd 2e 0b cd 32 3c 2a 2c 03 22 7b 0a cd a8 0c cd b0 0d c4 d5 0e c2 4c 03 cd fd 0e cd d3 3c cd c0   ┆ .  2<*, "æ           L      <  ┆
0x039e60…039e80             03 3a f3 39 b7 c2 11 11 cd e4 3a cd 88 08 79 d4 31 09 da 80 03 cd a1 0b cd 76 11 f5 cd 87 07 f1   ┆ : 9      :   y 1        v      ┆
0x039e80…039ea0             4f 21 92 03 fe 17 da d9 15 cd 6a 18 2a a0 18 c3 78 03 89 03 04 04 cb 06 89 03 31 08 d5 06 31 04   ┆O!        j *   x         1   1 ┆
0x039ea0…039ec0             89 03 89 03 2c 08 3a 08 3f 08 98 06 50 08 1a 08 d3 05 15 08 fe 06 f1 06 66 08 c1 06 d8 05 55 08   ┆    , : ?   P           f     U ┆
0x039ec0…039ee0             cd 6d 21 3e 03 32 5c 0a cd ab 18 3e ff 32 5c 0a cd 09 34 2a 27 2c e5 7e 22 27 2c 3c 23 ca d7 03   ┆ m!> 2Ø    > 2Ø   4*', ü"',<#   ┆
0x039ee0…039f00             cd 20 19 cd 56 0c e1 22 27 2c 36 0d cd b4 18 3a 69 11 e6 04 c8 cd b8 1f cd a1 0b cd b8 11 06 04   ┆    V  "',6    :i               ┆
0x039f00…039f20             cd eb 18 c9 3a 5f 0a b7 ca 17 04 21 5e 0a 7e b7 ca 8c 03 35 c3 3c 04 2a a0 18 cd 6e 0b ca 78 03   ┆    :_     !^ ü    5 < *   n  x ┆
0x039f20…039f40             cd 15 12 c2 17 04 e5 cd bc 12 e1 da 17 04 c3 78 03 3a 5f 0a b7 ca 79 04 21 5e 0a 34 5e 2a 2d 2c   ┆               x :_   y !^ 4^*-,┆
0x039f40…039f60             7e bb ca 4e 04 16 00 19 19 23 7e c3 75 03 cd 18 42 cd a8 41 cd c2 0b cd fb 30 da 10 11 c2 6d 04   ┆ü  N     #ü u   B  A     0    m ┆
0x039f60…039f80             cd 0e 09 cd 25 0a af 32 5f 0a c3 c1 06 21 75 43 cd 77 3a cd 62 09 c3 75 03 2a a0 18 cd 65 0b c2   ┆    %  2_    !uC w: b  u *   e  ┆
0x039f80…039fa0             78 03 cd 18 42 cd 1c 15 ca 44 08 af cd a1 0b cd b8 11 3a 81 18 e6 02 c2 a3 04 cd 81 1b dc c9 05   ┆x   B    D        :             ┆
0x039fa0…039fc0             da 80 03 cd 65 0b c2 8f 04 3a 5c 0a fe 08 ca 2f 07 fe 04 ca c6 04 b7 c2 72 05 3a 67 0a b7 c2 ed   ┆    e    :Ø    /        r :g    ┆
0x039fc0…039fe0             04 3e 04 cd d8 08 0e 0c 3a 6a 11 b9 da de 04 0c 21 7e 0a 77 cd e6 1c 74 da 80 03 c3 c8 04 cd d5   ┆ >      :j      !ü w   t        ┆
0x039fe0…03a000             08 3a 5c 0a fe 04 ca 8b 05 b7 c2 54 05 21 6f 43 cd 4d 0a da 61 03 c2 c1 06 cd 09 05 c2 c1 06 3a   ┆ :Ø        T !oC M  a          :┆
0x03a000…03a020 (15, 0, 15) c3 05 00 0e 09 c3 05 00 0e 19 c3 05 00 4e 4f 20 53 4f 55 52 43 45 20 46 49 4c 45 0d 0a 24 4e 4f   ┆             NO SOURCE FILE  $NO┆
0x03a020…03a040             20 44 49 52 45 43 54 4f 52 59 20 53 50 41 43 45 0d 0a 24 4f 55 54 20 4f 46 20 44 41 54 41 20 53   ┆ DIRECTORY SPACE  $OUT OF DATA S┆
0x03a040…03a060             50 41 43 45 0d 0a 24 57 52 49 54 45 20 50 52 4f 54 45 43 54 45 44 3f 0d 0a 24 54 52 41 4e 53 46   ┆PACE  $WRITE PROTECTED?  $TRANSF┆
0x03a060…03a080             45 52 20 43 4f 4d 50 4c 45 54 45 44 0d 0a 24 46 49 4c 45 20 54 4f 4f 20 42 49 47 0d 0a 24 49 4e   ┆ER COMPLETED  $FILE TOO BIG  $IN┆
0x03a080…03a0a0             53 45 52 54 20 44 45 53 54 49 4e 41 54 49 4f 4e 20 44 49 53 4b 20 41 4e 44 20 54 59 50 45 20 3c   ┆SERT DESTINATION DISK AND TYPE <┆
0x03a0a0…03a0c0             52 45 54 55 52 4e 3e 0d 0a 24 49 4e 53 45 52 54 20 53 4f 55 52 43 45 20 44 49 53 4b 20 41 4e 44   ┆RETURN>  $INSERT SOURCE DISK AND┆
0x03a0c0…03a0e0             20 54 59 50 45 20 3c 52 45 54 55 52 4e 3e 0d 0a 24 49 4e 53 45 52 54 20 53 59 53 54 45 4d 20 44   ┆ TYPE <RETURN>  $INSERT SYSTEM D┆
0x03a0e0…03a100             49 53 4b 20 41 4e 44 20 54 59 50 45 20 3c 52 45 54 55 52 4e 3e 0d 0a 24 00 00 00 00 00 00 00 00   ┆ISK AND TYPE <RETURN>  $        ┆
0x03a100…03a120             00 00 00 00 00 00 00 00 0e 19 c3 05 00 4e 4f 20 53 4f 55 52 43 45 20 46 49 4c 45 0d 0a 24 4e 4f   ┆             NO SOURCE FILE  $NO┆
0x03a120…03a140             20 44 49 52 45 43 54 4f 52 59 20 53 50 41 43 45 0d 0a 24 4f 55 54 20 4f 46 20 44 41 54 41 20 53   ┆ DIRECTORY SPACE  $OUT OF DATA S┆
0x03a140…03a160             50 41 43 45 0d 0a 24 57 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆PACE  $W                        ┆
0x03a160…03a180             00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
0x03a180…03a1a0             11 33 03 b7 c4 c2 02 d1 21 80 00 19 eb d5 cd fe 02 21 04 04 35 c2 7a 02 d1 11 07 04 cd e5 02 11   ┆ 3      !        !  5 z         ┆
0x03a1a0…03a1c0             47 03 3c cc c2 02 11 5a 03 cd 03 03 11 d1 03 cd 03 03 cd ca 02 2a fa 03 cd e0 01 cd db 02 2a 05   ┆G <    Z             *        * ┆
0x03a1c0…03a1e0             04 e9 0e 09 cd 05 00 c3 ac 02 0e 01 cd 05 00 fe 03 c0 2a fa 03 cd e0 01 c3 00 00 0e 0d c3 05 00   ┆                  *             ┆
0x03a1e0…03a200             0e 0f c3 05 00 0e 10 c3 05 00 0e 13 c3 05 00 0e 14 c3 05 00 0e 15 c3 05 00 0e 16 c3 05 00 0e 1a   ┆                                ┆
0x03a200…03a220 (15, 1, 1)  cc 0d 13 cd 1a 12 37 cc 1d 13 0e 06 c9 cd 1c 15 c0 0e 01 c9 cd 55 15 c5 4f cd 38 13 c1 cd b9 14   ┆      7              U  O 8     ┆
0x03a220…03a240             ca 64 13 cd 17 18 ca 52 13 cd f2 14 ca 14 13 3a a2 18 cd 81 13 d2 c6 13 cd ae 14 79 cd 67 12 cd   ┆ d     R       :           y g  ┆
0x03a240…03a260             62 17 d8 cd ea 14 c4 51 17 c8 cd 28 15 ca 3f 13 b7 c9 cd 1c 15 ca 38 13 3a 2f 44 b9 ca 29 13 cd   ┆b      Q   (  ?       8 :/D  )  ┆
0x03a260…03a280             64 13 b7 c9 cd ae 14 51 43 2b af 32 aa 18 cd aa 17 3a aa 18 b7 ca 64 18 2a 9e 18 7e e6 7f c8 37   ┆d      QC+ 2     :    d *  ü   7┆
0x03a280…03a2a0             c9 32 a3 18 cd 3a 15 cd de 14 37 c8 79 fe 01 37 c8 3a a3 18 cd 58 15 b7 37 c8 fe 5f 37 c8 e5 d5   ┆ 2   :    7 y  7 :   X  7  _7   ┆
0x03a2a0…03a2c0             c5 21 2f 44 cd b8 13 fe 13 d2 5b 18 21 d5 13 cd d9 15 79 c1 4f d1 e1 c9 e5 be 23 c2 b9 13 2b 7d   ┆ !/D      Æ !     y O     #   +å┆
0x03a2c0…03a2e0             e1 95 32 a4 18 c9 3a a4 18 5f 16 00 21 bf 43 19 19 cd 6d 18 c9 fb 13 11 14 20 14 2d 14 4d 14 2a   ┆  2   :  _  ! C   m        - M *┆
0x03a2e0…03a300             14 4a 14 55 14 5c 14 26 14 46 14 6b 14 80 14 67 14 7c 14 88 14 8f 14 63 14 78 14 3a a3 18 cd 58   ┆ J U Ø & F k   g ø     c x :   X┆
0x03a300…03a320             15 91 fe 01 d8 21 a2 18 46 cd 6f 17 7e 70 c3 81 13 79 fe 26 c8 fe 27 c8 fe 2c c8 d6 23 fe 0c d8   ┆     !  F o üp   y &  '  ,  #   ┆
0x03a320…03a340             79 d6 30 fe 0a c9 cd 20 14 d8 cd 96 14 79 d6 41 fe 1a d8 21 ff 43 cd c7 40 79 b7 34 35 f8 be 37   ┆y 0          y A   ! C  @y 45  7┆
0x03a340…03a360             c8 23 13 c3 3a 14 cd 20 14 d8 cd 96 14 79 fe 20 37 c4 2d 14 c9 cd 2d 14 d4 20 14 c9 cd 4d 14 d4   ┆ #  :        y  7 -   -      M  ┆
0x03a360…03a380             20 14 c9 cd 20 14 d8 cd 2d 14 d8 79 d6 61 fe 1a d8 21 fd 43 cd 36 14 c9 cd 20 14 d8 cd 2d 14 d8   ┆        -  y a   ! C 6       -  ┆
0x03a380…03a3a0             79 fe 20 37 c4 6b 14 c9 cd 20 14 d4 6b 14 c9 cd 20 14 d4 80 14 c9 79 11 00 00 cd 6b 14 d0 ca a5   ┆y  7 k      k         y    k    ┆
0x03a3a0…03a3c0             14 c6 41 4f c9 21 ff 43 cd c7 40 19 4e c9 2a 9e 18 3a a2 18 5f 16 00 19 c9 e5 cd ea 14 e1 c8 cd   ┆  AO ! C  @ N *  :  _           ┆
0x03a3c0…03a3e0             37 15 32 a9 18 e5 cd 51 17 c4 1c 15 e1 3a a9 18 ca d6 14 fe 58 c8 fe 22 c8 fe 2f 37 3f c9 fe 7e   ┆7 2    Q     :      X  "  /7?  ü┆
0x03a3e0…03a400             c8 fe 22 c8 fe 27 c8 fe 2f c9 21 a2 18 3a 7d 18 be c9 cd 37 15 fe 27 c9 3a 80 18 e6 20 c8 3a 83   ┆  "  '  / !  :å    7  ' :     : ┆
0x03a400…03a420 (15, 1, 2)  23 cd 06 1b 2b c9 7e e6 7e c2 0d 1b 14 15 c9 3e ff 32 a2 18 cd 1c 15 3e 00 c2 1e 1b 3e 01 32 dc   ┆#   + ü ü      > 2     >    > 2 ┆
0x03a420…03a440             1f 3a 7d 18 2a 8c 18 44 4d 2a 8e 18 eb 2a 9e 18 c9 cd 42 1a c8 16 00 da 63 1b cd 7b 1b c2 4d 1b   ┆ :å *  DM*   *    B     c  æ  M ┆
0x03a440…03a460             15 1d ca 4d 1b 23 cd 7b 1b ca 41 1b 2b 78 b7 c4 9b 0b cd 50 1a 7e e6 7f cc 9a 0b 23 1d c2 55 1b   ┆   M # æ  A +x     P ü     #  U ┆
0x03a460…03a480             7a b7 c9 19 2b cd 7b 1b c2 4d 1b 15 1d ca 4d 1b 2b cd 7b 1b ca 6c 1b 23 c3 4d 1b 7e e6 7f c8 b9   ┆z   + æ  M    M + æ  l # M ü    ┆
0x03a480…03a4a0             c9 e5 d5 c5 cd 93 12 cd 94 1b d4 1e 1c d4 a3 1c c1 d1 e1 c9 cd a6 1b d0 cd f5 3a 21 f5 43 cd 49   ┆                          :! C I┆
0x03a4a0…03a4c0             1c cd 8d 11 37 c9 cd 02 1a cd 14 1b 5f 3a 80 18 e6 01 57 cd 31 15 c2 bb 1b 44 4d 7e e6 7f ca c6   ┆    7       _:    W 1    DMü    ┆
0x03a4c0…03a4e0             1b 16 00 c3 cc 1b 0a fe 21 ca f4 1b 23 03 1d c2 bb 1b 7a b7 c2 fd 1b cd 14 1b 57 cd f8 14 cc 16   ┆        !   #     z       W     ┆
0x03a4e0…03a500             15 c4 04 1c cd 11 1c 5a cd f8 14 3e 00 cc 16 15 b7 cc 04 1c cd 96 1c f5 cd 31 1b f1 c9 cd bc 12   ┆       Z   >             1      ┆
0x03a500…03a520             37 c3 f7 1b 7e e6 7f c0 23 15 c2 04 1c e1 c3 f7 1b 7e e6 7f c8 23 15 c2 11 1c e1 c3 f7 1b 3a 82   ┆7   ü   #        ü   #        : ┆
0x03a520…03a540             18 e6 04 c8 cd 4f 1c d0 cd 33 1c 21 f7 43 cd 9e 1b 37 c9 3a 7d 18 32 04 44 32 09 44 2a 90 18 22   ┆     O   3 ! C   7 :å 2 D2 D*  "┆
0x03a540…03a560             05 44 2a 92 18 22 0a 44 c9 cd f5 3a c3 77 3a 2a 90 18 eb 2a 9e 18 3a 7d 18 47 7e e6 7f ca 6a 1c   ┆ D*  " D   : w:*   *  :å Gü   j ┆
0x03a560…03a580             1a cd 8b 1c da 70 1c c2 95 1c 23 13 05 c2 5a 1c 2a 92 18 eb 2a 9e 18 3a 7d 18 47 1a b7 c4 8b 1c   ┆     p    #   Z *   *  :å G     ┆
0x03a580…03a5a0             da 95 1c c0 23 13 05 c2 7b 1c c9 c5 47 7e e6 7f 4f 78 b9 c1 c9 58 3a 7d 18 93 32 a2 18 3c 32 a5   ┆    #   æ   Gü  Ox   X:å  2  <2 ┆
0x03a5a0…03a5c0             18 37 c9 3a 82 18 e6 08 c8 cd b8 1c d0 21 fb 43 cd 49 1c cd 86 11 37 c9 2a a0 18 eb af 47 cd a1   ┆ 7 :         ! C I    7 *    G  ┆
0x03a5c0…03a5e0             0b cd b9 39 ca d1 1c 04 cd 65 0b c2 c1 1c c3 5b 18 21 e1 1c 70 06 05 cd dd 20 3a e6 28 b7 c8 37   ┆   9     e     Æ !  p     : (  7┆
0x03a5e0…03a600             c9 c5 fa fe 31 31 e5 d5 c5 11 0a 00 cd 4e 1e ca 30 1d cd b8 11 cd 76 1d ca 2e 1d cd 02 1a 2a 9e   ┆    11       N  0     v  .    * ┆
0x03a600…03a620 (15, 1, 3)  05 23 cd 65 23 06 00 cd 20 25 d2 26 23 47 cd 65 23 cd 20 25 d2 1f 23 4f 78 87 87 80 87 81 47 7b   ┆ # e#    % &#G e#  %  #Ox     Gæ┆
0x03a620…03a640             b7 c2 26 23 90 47 0e 0e 21 21 2c 7e b7 c2 39 23 2b 0d c2 2b 23 32 12 2c c9 21 12 2c 78 86 77 17   ┆  &# G  !!,ü  9#+  +#2 , ! ,x w ┆
0x03a640…03a660             da 4e 25 cd c4 25 01 1a 2c cd f2 25 c3 02 26 c5 af 32 11 2c cd 6e 25 3e 40 32 12 2c e1 3e aa 32   ┆ N%  %  ,  %  &  2 , n%>@2 , > 2┆
0x03a660…03a680             9d 23 0e 1c c9 3a 9c 23 b7 c8 3d 32 9c 23 7e e6 7f fe 02 7e 23 da 65 23 fe 30 d8 fe 3a d0 32 9d   ┆ #   : #  =2 #ü    ü# e# 0  : 2 ┆
0x03a680…03a6a0             24 c9 af b1 c8 0d 3a 9d 23 07 32 9d 23 d2 96 23 78 cd 38 25 12 c9 1a b0 12 1b c9 80 00 00 22 a3   ┆$     : # 2 #  #x 8%          " ┆
0x03a6a0…03a6c0             24 60 69 22 9e 24 32 a0 24 eb cd f8 21 cd 51 24 11 a1 24 21 9f 24 3a 11 2c b7 ca c3 23 7e b7 ca   ┆$`i" $2 $   ! Q$  $! $: ,   #ü  ┆
0x03a6c0…03a6e0             65 25 35 3a a0 24 4f 3a 12 2c b7 ca d0 23 d6 40 0c 0d ca da 23 96 32 a2 24 7e b7 f2 e2 23 2f 3c   ┆e%5: $O: ,   # @    # 2 $ü   #/<┆
0x03a6e0…03a700             12 af c2 ee 23 34 35 ca ee 23 eb 34 eb 3c 34 4f 0c be d2 65 25 3a 11 2c b7 3e 2d c4 94 24 3a 9e   ┆    #45  # 4 <4O   e%: , >-  $: ┆
0x03a700…03a720             24 81 47 05 0d 3e 2e cc 94 24 cd 61 24 cd 94 24 05 c2 04 24 3a a0 24 b7 ca 48 24 3e 45 cd 94 24   ┆$ G  >.  $ a$  $   $: $  H$>E  $┆
0x03a720…03a740             3a a2 24 b7 0e 20 f2 2d 24 2f 3c 0e 2d 47 79 cd 94 24 78 0e 2f 0c d6 0a f2 35 24 c6 0a 47 79 cd   ┆: $    -$/< -Gy  $x /    5$  Gy ┆
0x03a740…03a760             94 24 78 f6 30 cd 94 24 af cd 94 24 3a 9d 24 b7 c9 21 21 2c 22 a6 24 3e 0e 32 a5 24 af 32 a1 24   ┆ $x 0  $   $: $  !!," $> 2 $ 2 $┆
0x03a760…03a780             c9 e5 3a 12 2c b7 ca 72 24 21 a1 24 7e b7 ca 76 24 35 3e 30 e1 c9 21 a5 24 7e b7 ca 72 24 35 2a   ┆  : ,  r$! $ü  v$5>0  ! $ü  r$5*┆
0x03a780…03a7a0             a6 24 0f 7e d2 8b 24 2b 22 a6 24 d4 31 25 e6 0f f6 30 e1 c9 2a a3 24 77 23 22 a3 24 c9 21 0e 00   ┆ $ ü  $+" $ 1%   0  * $w#" $ !  ┆
0x03a7a0…03a7c0             00 00 44 41 54 41 4c a1 60 69 7e e6 7f fe 41 d2 b5 24 36 00 c9 47 3e 4d 90 d8 3c 47 0f e6 7f 23   ┆  DATAL `iü   A  $6  G>M  <G   #┆
0x03a7c0…03a7e0             b7 ca cb 24 36 00 23 3d c2 c4 24 78 0f d0 3e f0 a6 77 c9 cd 51 24 21 00 00 3a 12 2c b7 c8 d6 41   ┆   $6 #=  $x  >  w  Q$!  : ,   A┆
0x03a7e0…03a800             f8 3c 32 0b 25 29 54 5d 19 29 19 cd 61 24 e6 0f 16 00 5f 19 3a 0b 25 3d 32 0b 25 c2 e5 24 3a 11   ┆ <2 %)TÅ )  a$    _ : %=2 %  $: ┆
0x03a800…03a820 (15, 1, 4)  00 00 00 00 00 50 40 92 99 99 99 99 99 99 40 99 99 99 99 99 99 49 40 68 66 66 66 66 66 16 3f 68   ┆     P@       @      I@hfffff ?h┆
0x03a820…03a840             66 66 66 66 66 41 3e 35 33 33 33 33 33 83 3e 89 88 88 88 88 88 13 3d 69 12 84 69 12 84 19 3c 89   ┆fffffA>533333 >       =i  i   < ┆
0x03a840…03a860             15 30 87 15 80 24 3b 86 39 22 19 73 55 27 3a 86 39 22 19 73 55 27 39 42 54 38 08 21 05 25 38 68   ┆ 0   $; 9" sU': 9" sU'9BT8 ! %8h┆
0x03a860…03a880             78 98 56 67 87 20 37 22 68 83 43 90 05 16 36 30 77 59 45 07 47 11 34 01 82 31 37 16 47 76 40 81   ┆x Vg  7"h C   60wYE G 4  17 Gv@ ┆
0x03a880…03a8a0             16 60 76 27 62 31 41 40 99 92 50 58 02 23 43 60 51 08 49 22 55 26 c3 80 65 28 48 83 94 42 43 54   ┆ `v'b1A@  PX #C`Q I"U&  e(H  BCT┆
0x03a8a0…03a8c0             03 97 62 44 76 19 c2 52 11 57 61 47 76 22 43 88 25 54 24 61 27 13 c3 99 19 99 48 95 89 25 43 73   ┆  bDv  R WaGv"C %T$a'     H  %Cs┆
0x03a8c0…03a8e0             72 62 89 01 86 15 c2 22 28 48 84 64 41 31 41 00 00 00 00 00 00 10 00 f5 c5 01 09 2c cd 31 26 c1   ┆rb     "(H dA1A            , 1& ┆
0x03a8e0…03a900             c5 c3 ec 2b f5 c5 cd 7f 26 01 09 2c cd dc 27 c1 21 f8 ff 09 44 4d f1 3d c2 e4 2b 01 b9 2a 0a b7   ┆   +    &  ,  ' !   DM =  +  *  ┆
0x03a900…03a920             c4 dc 27 01 b1 2a c3 7f 26 00 21 41 05 00 00 4c 4f 43 41 54 32 00 00 00 00 00 21 4a 05 00 00 4c   ┆  '  *  & !A   LOCAT2     !J   L┆
0x03a920…03a940             4f 43 54 32 41 00 48 00 00 00 21 72 05 00 00 4c 4f 43 41 54 34 00 00 00 00 00 21 57 05 00 00 4c   ┆OCT2A H   !r   LOCAT4     !W   L┆
0x03a940…03a960             4f 43 41 54 33 9b 49 00 00 00 21 90 06 00 00 43 4b 47 4f 4f 44 00 00 00 00 00 21 6e 06 00 00 4e   ┆OCAT3 I   !    CKGOOD     !n   N┆
0x03a960…03a980             58 54 4e 44 58 00 00 e5 d5 c5 cd 1b 39 21 ff ff 22 4e 2c 22 3b 2c 22 5e 2c 23 39 22 c4 39 2a 2d   ┆XTNDX       9!  "N,";,"^,#9" 9*-┆
0x03a980…03a9a0             2c 56 af 23 23 86 15 c2 83 2c 32 2f 2c 2a c0 39 5f 22 30 2c cd a5 2d eb 2a 29 2c 23 eb 22 27 2c   ┆,V ##    ,2/,* 9_"0,  - *),# "',┆
0x03a9a0…03a9c0             36 0d cd a5 2d 1e 80 22 39 2c cd a5 2d 22 4c 2c cd a5 2d 2a c0 39 22 34 2c eb 2a 32 2c eb cd 24   ┆6   -  "9,  -"L,  -* 9"4, *2,  $┆
0x03a9c0…03a9e0             2e 32 43 2c 2a c0 39 22 46 2c eb 2a 44 2c eb cd 24 2e 32 53 2c cd 72 2e cd 9c 2e 3a 26 2c e6 04   ┆.2C,* 9"F, *D,  $.2S, r.  .:&,  ┆
0x03a9e0…03aa00             c4 fa 2c 3a f3 39 b7 c1 d1 e1 c9 3e ff 32 5e 2c c9 22 c0 39 60 69 22 c2 39 c9 2a c0 39 e5 22 27   ┆  ,: 9     > 2^, " 9`i" 9 * 9 "'┆
0x03aa00…03aa20 (15, 1, 5)  18 c9 3a 80 18 e6 04 c8 3a 85 18 c9 3a 80 18 e6 08 c8 3a 86 18 c9 3a 80 18 e6 10 c9 3a 5c 0a fe   ┆  :     :   :     :   :     :Ø  ┆
0x03aa20…03aa40             03 c9 3a 82 18 e6 40 c9 cd 37 15 fe 59 c8 fe 7e c9 3a 82 18 e6 02 c9 3a a2 18 e5 2a 8c 18 d5 5f   ┆  :   @  7  Y  ü :     :   *   _┆
0x03aa40…03aa60             cd 31 15 ca 52 15 3a 7d 18 3d bb da 5b 18 16 00 19 7e d1 e1 c9 3a a2 18 e5 2a 8e 18 c3 3e 15 cd   ┆ 1  R :å =  Æ    ü   :   *   >  ┆
0x03aa60…03aa80             6f 17 cd 31 18 cd 17 18 d4 62 17 b7 c9 e5 d5 c5 cd 88 15 cd 5d 12 ca 84 15 3a db 1f fe 02 c4 22   ┆o  1     b          Å    :     "┆
0x03aa80…03aaa0             15 c4 82 1d c1 d1 e1 c9 cd 31 15 c0 cd 16 15 2a 9e 18 3a 7d 18 4f c2 af 15 41 5d 54 1a 13 e6 7f   ┆         1     *  :å O   AÅT    ┆
0x03aaa0…03aac0             ca a8 15 05 cd 9b 0b 23 0d c2 9c 15 c3 c7 15 06 00 09 5d 54 41 2b 7e e6 7f ca c3 15 05 1b eb cd   ┆       #          ÅTA+ü         ┆
0x03aac0…03aae0             9b 0b eb 0d c2 b5 15 04 cd 02 15 4f 05 c8 cd 9a 0b 23 c3 cc 15 21 e6 15 79 d5 5f 16 00 19 19 5e   ┆           O     #   !  y _    ^┆
0x03aae0…03ab00             23 56 eb d1 b7 e9 6a 18 24 17 11 17 26 16 62 17 7d 16 40 17 31 18 6f 17 40 17 94 3a 6a 18 1d 17   ┆#V    j $   & b å @ 1 o @  :j   ┆
0x03ab00…03ab20             41 16 13 17 11 17 13 17 6a 18 6a 18 6f 17 1d 17 11 17 a1 17 6a 18 6a 18 6a 18 5a 17 6a 18 6a 18   ┆A       j j o       j j j Z j j ┆
0x03ab20…03ab40             6a 18 6a 18 6a 18 2a 27 2c 3a 5f 0a b7 c2 38 16 3a 5c 0a fe 00 c2 6a 18 cd 45 16 cd 5a 16 cd 02   ┆j j j *',:_   8 :Ø    j  E  Z   ┆
0x03ab40…03ab60             1a 0e 06 37 c9 eb 2a a0 18 cd 6e 0b c8 1a fe 0d c8 13 fe 2c c2 4d 16 c3 49 16 2a 9e 18 e5 21 dd   ┆   7  *   n        , M  I *   ! ┆
0x03ab60…03ab80             1f 22 9e 18 cd 0b 19 e1 22 9e 18 3a 7d 18 47 11 dd 1f 1a cd 67 12 23 13 05 c2 72 16 c9 21 bb 43   ┆ "      "  :å G     g #   r  ! C┆
0x03ab80…03aba0             3a 67 0a b7 ca 8a 16 21 bd 43 0e 00 cd 79 3a d6 20 c8 fe 20 da 7d 16 e6 1f 4f 32 4d 44 21 42 44   ┆:g     ! C   y:      å   O2MD!BD┆
0x03aba0…03abc0             cd b8 13 fe 0b ca 7d 16 21 af 16 cd d9 15 c9 c5 16 0d 17 f7 16 0d 17 0d 17 0d 17 06 17 0d 17 0d   ┆      å !                       ┆
0x03abc0…03abe0             17 01 17 0b 17 0e 00 21 a5 43 cd 79 3a d6 20 fe 20 3f d2 7d 16 e6 1f 32 4d 44 21 42 44 23 11 a7   ┆       ! C y:    ? å   2MD!BD#  ┆
0x03abe0…03ac00             43 cd ee 16 0e 00 fe 0a c4 79 3a c3 7d 16 cd b8 13 6f 26 00 29 19 c9 3a 67 0a b7 ca 7d 16 c3 0d   ┆C        y: å    o& )  :g   å   ┆
0x03ac00…03ac20 (15, 1, 6)  18 3a 7d 18 47 af b6 23 05 c2 06 1d 47 cd 95 1a 04 05 ca 2e 1d cd 37 1d 3a a8 18 b7 c2 2f 1d cd   ┆ :å G  #    G      .  7 :    /  ┆
0x03ac20…03ac40             94 1b d4 1e 1c d4 a3 1c da 15 1d cd e9 18 37 3f c1 d1 e1 ca 8b 1e c9 cd f5 3a 3a 82 18 e6 60 fe   ┆              7?         ::   ` ┆
0x03ac40…03ac60             20 da 68 1d c2 9b 1d cd 66 1e cd 5f 1d c0 cd 74 1e d0 21 f9 43 cd 77 3a cd 5f 1d c0 c3 47 1d cd   ┆  h     f  _   t  ! C w: _   G  ┆
0x03ac60…03ac80             2f 19 cd 95 1a cd 09 3a cd 86 11 3a a8 18 b7 c8 37 c9 11 f6 ff c9 3a 84 18 e6 01 c9 3a 84 18 e6   ┆/      :   :    7     :     :   ┆
0x03ac80…03aca0             02 c9 cd 76 1d c8 3e ff 32 a8 18 2a a0 18 e5 cd 9b 1d e1 cd b8 11 af 32 a8 18 c9 3e 02 32 db 1f   ┆   v  > 2  *           2   > 2  ┆
0x03aca0…03acc0             2a 71 11 cd 68 2d 2a 94 18 11 96 18 06 06 cd b7 38 2a 96 18 e5 cd 72 2d 2a c0 39 22 27 2c 2a c2   ┆*q  h-*         8*    r-* 9"',* ┆
0x03acc0…03ace0             39 22 29 2c 2a 9e 18 3a 7d 18 47 cd b6 0b cd fb 30 da 10 11 c2 22 1e 3a bf 39 b7 3e 81 ca 11 11   ┆9"),*  :å G     0    " : 9 >    ┆
0x03ace0…03ad00             cd e9 18 3a 9b 18 b7 ca 0a 1e 3d cd a1 0b cd b8 11 cd 7c 1d c2 03 1e 3a 88 18 cd 38 1e cd 0b 19   ┆   :      =       ø    :   8    ┆
0x03ad00…03ad20             cd f6 1e 3a 8a 18 b7 c2 ea 1d 2a c0 39 7e 36 00 23 b7 c2 0d 1e e1 cd 68 2d 2a 71 11 cd 72 2d f6   ┆   :      * 9ü6 #      h-*q  r- ┆
0x03ad20…03ad40             ff c9 3a a8 18 b7 fa 0a 1e 21 fb 43 cd 77 3a cd 65 1d c2 0a 1e c3 c4 1d 2a 27 2c eb b7 c8 47 1a   ┆  :      ! C w: e       *',   G ┆
0x03ad40…03ad60             fe 0d c8 13 fe 2c c2 3f 1e 05 c2 3f 1e c9 af cd a1 0b e5 cd 34 0c 19 7e e1 b9 ca 64 1e cd 65 0b   ┆     , ?   ?        4  ü   d  e ┆
0x03ad60…03ad80             c2 52 1e c9 b7 c9 2a 9e 18 11 dd 1f 3a 7d 18 47 cd b7 38 c9 2a 9e 18 11 dd 1f 3a 7d 18 47 1a be   ┆ R    *     :å G  8 *     :å G  ┆
0x03ad80…03ada0             37 c0 23 13 05 c2 7e 1e b7 04 c9 e5 d5 c5 11 0e 00 cd 4e 1e c4 9b 1e c1 d1 e1 c9 3e 03 32 db 1f   ┆7 #   ü           N        > 2  ┆
0x03ada0…03adc0             cd b8 11 cd 7c 1d c2 fe 1e 3a 81 18 e6 80 c4 13 1f 2a 9c 18 46 23 3a 81 18 e6 10 c2 df 1e cd c4   ┆    ø    :       *  F#:         ┆
0x03adc0…03ade0             1e c3 f6 1e cd dd 20 da 27 1f d5 cd 63 1f 21 dd 1f d1 cd 9e 23 da 27 1f c2 f0 1e cd 06 19 c9 e5   ┆        '   c !     # '         ┆
0x03ade0…03ae00             c5 cd 63 1f c1 e1 4b 11 dd 1f cd ff 21 da 27 1f 11 dd 1f cd 0b 19 3a 81 18 e6 01 cc 09 3a cd 94   ┆  c   K     ! '       :      :  ┆
0x03ae00…03ae20 (15, 1, 7)  2c b7 c8 7d 2f 6f 7c 2f 67 23 c9 21 af bb c8 7e 02 1d 23 03 c3 0e 25 af bb c8 71 23 1d c3 19 25   ┆,  å/oø/g# !   ü  #   %   q#   %┆
0x03ae20…03ae40             fe f7 d0 e6 7f c8 d6 30 fe 0a d8 cd 65 23 c3 20 25 1f 1f 1f 1f e6 0f c9 87 87 87 87 c9 3a 12 2c   ┆       0    e#  %            : ,┆
0x03ae40…03ae60             3d 32 12 2c c9 3a 12 2c 3c 32 12 2c 07 d0 3e fb c3 5f 25 3e fc c3 5f 25 3e fd c3 5f 25 3e ff 2a   ┆=2 , : ,<2 ,  >  _%>  _%>  _%> *┆
0x03ae60…03ae80             24 2c f9 37 c9 3e fe 37 c9 af 32 12 2c c9 0e 00 1e 10 21 13 2c c3 17 25 01 0e 00 c3 81 25 01 07   ┆$, 7 > 7  2 ,     ! ,  %     %  ┆
0x03ae80…03aea0             00 09 2b 54 5d 7e f5 cd 38 25 0d ca 9c 25 47 2b 7e f5 cd 31 25 b0 12 1b f1 c3 87 25 12 f1 cd 31   ┆  +TÅü  8%   %G+ü  1%      %   1┆
0x03aea0…03aec0             25 c9 0e 08 f5 2b 54 5d cd 31 25 0d 47 ca bd 25 23 7e f5 cd 38 25 b0 12 13 f1 c3 a8 25 f1 cd 38   ┆%    +TÅ 1% G  %#ü  8%      %  8┆
0x03aec0…03aee0             25 b0 12 c9 21 21 2c 7e e6 f0 c0 21 14 2c cd 78 25 cd 3d 25 c8 c3 c4 25 21 06 00 09 01 21 2c 1e   ┆%   !!,ü   ! , x% =%   %!    !, ┆
0x03aee0…03af00             07 0a be c0 1d c8 2b 0b c3 e1 25 0a c6 05 27 c3 f8 25 0a c6 50 27 3e 00 02 d0 03 0a ce 00 27 c3   ┆      +   %   '  %  P'>       ' ┆
0x03af00…03af20             f8 25 21 22 2c 7e b7 c8 af 77 2b 36 10 3e 06 2b 36 00 3d c2 0f 26 c3 45 25 60 69 7e 47 e6 80 32   ┆ %!",ü   w+6 > +6 =  & E%`iüG  2┆
0x03af20…03af40             11 2c 78 e6 7f 32 12 2c 01 1b 2c 1e 07 23 c3 0c 25 3a 11 2c 57 3a 12 2c b7 ca 47 26 b2 02 03 1e   ┆ ,x  2 ,  ,  #  %: ,W: ,  G&    ┆
0x03af40…03af60             07 21 1b 2c c3 0c 25 02 c9 af 1a 8e 27 12 0d c8 13 23 c3 4a 26 37 3e 99 ce 00 96 eb 86 27 77 eb   ┆ ! ,  %     '    # J&7>      'w ┆
0x03af60…03af80             0d c8 13 23 c3 56 26 eb 37 3e 99 ce 00 96 eb 86 27 eb 77 0d c8 13 23 c3 69 26 3e 80 c3 80 26 af   ┆   # V& 7>      ' w   # i&>   & ┆
0x03af80…03afa0             32 51 27 af 32 1a 2c 3a 12 2c 57 b7 c2 9b 26 cd 19 26 21 11 2c 3a 51 27 ae 77 c9 0a b7 c8 e6 7f   ┆2Q' 2 ,: ,W   &  &! ,:Q' w      ┆
0x03afa0…03afc0             ba c5 d2 b5 26 01 48 27 cd 31 26 c1 cd 19 26 21 11 2c c3 c1 26 01 48 27 1e 08 e1 cd 0c 25 21 48   ┆    & H' 1&   &! ,  & H'     %!H┆
0x03afc0…03afe0             27 3a 51 27 ae 77 3a 48 27 47 e6 80 32 50 27 78 e6 7f 57 21 12 2c 96 fe 10 01 48 27 d2 19 26 72   ┆':Q' w:H'G  2P'x  W! ,    H'  &r┆
0x03afe0…03b000             b7 ca f7 26 f5 21 1b 2c af cd a2 25 f1 3d c2 e4 26 01 1a 2c cd f2 25 3a 50 27 47 3a 11 2c b8 c2   ┆   & ! ,   % =  &  ,  %:P'G: ,  ┆
0x03b000…03b020 (15, 1, 8)  2c 2a c2 39 22 29 2c cd 63 32 c2 1e 2d 3a bf 39 b7 ca 48 2d 2a 5c 2c eb cd a5 2d c3 fe 2c 2a c0   ┆,* 9"), c2  -: 9  H-*Ø,   -  ,* ┆
0x03b020…03b040             39 d1 cd c8 2d 22 34 2c eb 44 4d 2a 39 2c cd 50 2d 13 e5 cd a5 2d e1 36 0d 23 22 32 2c 0a 77 03   ┆9   -"4, DM*9, P-    - 6 #"2, w ┆
0x03b040…03b060             23 1b 7a b3 c2 3d 2d c9 21 26 2c 7e e6 fb 77 e1 e5 d5 eb 2a c0 39 cd c8 2d eb 2a c2 39 19 22 c2   ┆# z  =- !&,ü  w    * 9  - * 9 " ┆
0x03b060…03b080             39 d1 e1 22 c0 39 af c9 e5 d5 c5 eb 21 26 2c c3 78 2d e5 d5 c5 11 26 2c cd 83 2d 47 cd b7 38 c1   ┆9  " 9      !&, x-    &,  -G  8 ┆
0x03b080…03b0a0             d1 e1 c9 7e e6 04 3e 41 c8 3e 10 c9 2a c0 39 e5 d5 c5 3a 26 2c cd 84 2d 5f 16 00 cd a5 2d c1 d1   ┆   ü  >A >  * 9   :&,  -_    -  ┆
0x03b0a0…03b0c0             e1 cd 68 2d c9 cd b5 2d d0 3e 81 cd 87 39 2a c4 39 f9 c3 e7 2c 2a c0 39 19 22 c0 39 e5 2a c2 39   ┆  h-   - >   9* 9   ,* 9 " 9 * 9┆
0x03b0c0…03b0e0             cd c8 2d 22 c2 39 e1 c9 7d 93 6f 7c 9a 67 c9 32 26 2c f5 2a c0 39 22 44 2c e5 d5 11 21 00 cd b5   ┆  -" 9  å oø g 2&, * 9"D,   !   ┆
0x03b0e0…03b100             2d e1 d1 d5 06 0c cd b7 38 af 12 cd 1b 39 d1 f1 32 26 2c cd 2a 39 c4 17 2e c0 3a 26 2c e6 02 ca   ┆-       8    9  2&, *9  . :&,   ┆
0x03b100…03b120             04 2e af c9 eb cd a2 39 cd 2a 39 c4 2f 39 0e 15 cc 54 39 cc 06 39 c9 3a 26 2c ee 80 e6 82 3e fe   ┆ .     9 *9 /9   T9  9 :&,    > ┆
0x03b120…03b140             cc 2f 39 c9 e5 3e 03 32 c9 39 d5 11 11 00 cd a5 2d d1 e1 e5 d5 3e ff cd 6f 30 cd 5d 30 d1 21 0c   ┆ /9  > 2 9      -    >  o0 Å0 ! ┆
0x03b140…03b160             00 19 34 3a c9 39 fe 03 cc 2a 39 ca 2a 2e 3a 26 2c e6 02 c2 6b 2e 21 0f 00 19 06 11 af 77 23 05   ┆  4: 9   *9 *.:&,   k.!      w# ┆
0x03b160…03b180             c2 5d 2e 21 c9 39 35 f2 2a 2e 7e 21 0c 00 19 86 e1 c9 21 00 00 22 37 2c 22 36 2c 2a 34 2c cd 09   ┆ Å.! 95 *.ü!      !  "7,"6,*4,  ┆
0x03b180…03b1a0             2f f8 22 37 2c cd 4b 2f c2 ab 2d 2a 39 2c eb 21 36 2c 34 1a 13 fe 1a c2 92 2e 35 c9 21 00 00 22   ┆/ "7, K/  -*9, !6,4      .5 !  "┆
0x03b1a0…03b1c0             2b 2c 22 48 2c 22 4a 2c 2a 46 2c cd 09 2f f8 22 49 2c e5 cd e6 2f c2 ab 2d e1 af cd 24 2f eb 44   ┆+,"H,"J,*F,  / "I,   /  -   $/ D┆
0x03b1c0…03b1e0             4d af 93 5f ca ce 2e 03 3a 2f 2c 83 c6 06 5f 32 48 2c 2a 4c 2c 19 7e fe 1a c2 c7 2e 60 69 22 2b   ┆M  _  . :/,   _2H,*L, ü    .`i"+┆
0x03b1e0…03b200             2c af 67 6f cd 5c 34 2a 4c 2c 7e b7 f0 32 4b 2c cd fb 2e 5e 23 56 eb 22 2b 2c c9 23 3a 2f 2c fe   ┆, go Ø4*L,ü  2K,  .^#V "+, #:/, ┆
0x03b200…03b220 (15, 1, 9)  17 0e 11 c3 0d 17 0e 13 c3 0d 17 0e 0a 79 32 a8 18 37 c9 3a 5c 0a fe 02 c2 6a 18 37 c9 cd 35 17   ┆             y2  7 :Ø    j 7  5 ┆
0x03b220…03b240             ca 6a 18 c9 21 a2 18 7e 36 00 f5 cd 94 17 f1 be ca 35 17 b7 c9 3a 7e 0a b7 c8 37 c9 cd 8c 17 d8   ┆ j  !  ü6        5   :ü   7     ┆
0x03b240…03b260             cd 51 17 ca 3c 17 cd 8c 17 d8 cd 51 17 c2 46 17 c9 d5 cd ae 14 d1 7e e6 7f c9 cd d3 3c cd a3 3b   ┆ Q  <      Q  F       ü     <  ;┆
0x03b260…03b280             af c9 cd 8c 17 d0 cd 17 18 d8 cd 7d 17 34 c9 21 a2 18 7e b7 c8 35 cd 7d 17 dc 94 17 c9 cd b9 14   ┆           å 4 !  ü  5 å        ┆
0x03b280…03b2a0             c0 21 a2 18 7e b7 37 c8 35 c3 7d 17 cd ea 14 0e 06 37 c8 34 cd b9 14 c0 cd ea 14 37 c8 34 c3 94   ┆ !  ü 7 5 å      7 4       7 4  ┆
0x03b2a0…03b2c0             17 cd 0d 18 c8 da b6 17 1c 43 cd cb 17 d4 c7 17 2b d2 aa 17 af c9 3a 7d 18 93 47 cd cb 17 d4 c7   ┆         C      +     :å  G     ┆
0x03b2c0…03b2e0             17 23 d2 bb 17 af c9 05 c0 37 c9 e5 7d 2a 9e 18 95 32 a3 18 cd f2 17 e1 c8 7a e6 7f fe 02 da ec   ┆ #       7  å*   2       z      ┆
0x03b2e0…03b300             17 c5 4f 3a a3 18 cd 81 13 79 c1 d0 56 cd 67 12 af c9 21 7d 18 be c8 cd 3a 15 cd e1 14 c8 67 cd   ┆  O:     y  V g   !å    :     g ┆
0x03b300…03b320             1c 15 ca 0a 18 7c cd 2b 15 c8 fe 58 c9 cd ae 14 cd 2a 18 cd b9 14 c8 cd f8 14 c2 23 18 cd 16 15   ┆     ø +   X     *         #    ┆
0x03b320…03b340             fe 01 c9 e5 2a a2 18 bd e1 c9 cd 1c 15 c0 16 01 c9 cd 0d 18 c8 da 4b 18 2a 9e 18 3a a2 18 3c 47   ┆    *                 K *  :  <G┆
0x03b340…03b360             cd bb 17 c9 f5 7a cd 67 12 f1 c9 3a 7d 18 93 5f d5 16 00 19 d1 2b 43 c4 aa 17 c9 21 f3 43 cd 77   ┆     z g   :å  _     +C    ! C w┆
0x03b360…03b380             3a c3 61 18 21 e7 43 c3 6d 18 21 e5 43 79 fe 20 d2 75 18 c6 40 32 01 44 cd 77 3a b7 c9 1e 34 cd   ┆: a ! C m ! Cy   u  @2 D w:   4 ┆
0x03b380…03b3a0             30 34 c3 6b 34 22 90 2e 2a 06 00 2b f9 2b 2b 22 1e 2e 2a 90 2e e5 3a 28 2e b7 c2 00 00 32 21 2e   ┆04 k4" .*  + ++" .* . :(.    2!.┆
0x03b3a0…03b3c0             2a 1e 2e f9 cd 16 00 3a ad 33 fe 3e 80 cd b6 18 cd 5d 0c c9 3e 00 32 db 1f af cd a1 0b cd b8 11   ┆* .    : 3 >     Å  > 2         ┆
0x03b3c0…03b3e0             cd 0b 19 cd cd 18 cd 65 0b c2 bd 18 c9 e5 cd f9 18 3a db 1f d6 80 ca dc 18 7e e6 fc 77 e1 3a 5c   ┆       e         :       ü  w :Ø┆
0x03b3e0…03b400             0a fe 04 c0 06 01 c3 eb 18 06 00 e5 cd f9 18 7e e6 fe b0 77 32 84 18 e1 c9 2a a0 18 cd 34 0c d5   ┆               ü   w2    *   4  ┆
0x03b400…03b420 (15, 1, 10) 1b d4 1e 1c d4 a3 1c d2 24 1f cd 7c 1d c2 fe 1e 37 79 c9 3a 5c 0a fe 00 2a 5a 11 ca 38 16 fe 04   ┆        $  ø    7y :Ø   *Z  8   ┆
0x03b420…03b440             ca 38 16 f1 f6 ff c9 21 4b 1f 32 50 1f 11 e9 43 cd ee 16 3e 2a cd 51 1f cd 09 3a cd 77 3a cd 06   ┆ 8     !K 2P   C   >* Q   : w:  ┆
0x03b440…03b460             19 cd 09 3a 3e 14 32 a8 18 37 c9 ff fe fd fc fb 00 e5 c5 4f 3a 7d 18 2a 9e 18 71 23 3d c2 5a 1f   ┆   :> 2  7         O:å *  q#= Z ┆
0x03b460…03b480             c1 e1 c9 3a 7d 18 47 5f 3a 82 18 e6 02 4f c8 21 00 00 4c e5 2a 8e 18 eb 2a 8c 18 7e fe 21 ca 85   ┆   :å G_:    O !  L *   *  ü !  ┆
0x03b480…03b4a0             1f b7 c2 9b 1f 0c 1a fe 5e c2 8f 1f e3 69 e3 e5 21 2f 44 be e1 c2 9b 1f e3 61 e3 23 13 05 c2 7b   ┆        ^    i  !/D      a #   æ┆
0x03b4a0…03b4c0             1f e1 41 59 7d cd b0 1f 6f 7c cd b0 1f 4f 7d c9 b7 c8 57 78 92 42 05 c9 2a 2d 2c 5e 16 00 19 19   ┆  AYå   oø   Oå   Wx B  *-,^    ┆
0x03b4c0…03b4e0             2b 7e c9 cd b8 1f 11 d7 1f 12 cd a1 0b cd b8 11 eb 06 04 cd c4 1e c9 00 fd fe 31 00 00 00 00 52   ┆+ü                        1    R┆
0x03b4e0…03b500             45 43 4f 52 50 cb 49 00 00 00 61 bb 06 00 00 4c 4f 43 50 52 56 d0 3b 00 00 00 61 03 00 00 00 52   ┆ECORP I   a    LOCPRV ;   a    R┆
0x03b500…03b520             45 43 4f 52 4c 38 3d 00 00 00 61 05 00 00 00 52 45 43 4f 52 43 4c 3c 00 00 00 61 9c 0d 00 00 46   ┆ECORL8=   a    RECORCL<   a    F┆
0x03b520…03b540             52 45 45 43 00 00 00 00 00 61 9a 0d 00 00 46 52 45 45 50 9a 3c 00 00 00 61 91 0c 00 00 43 4f 50   ┆REEC     a    FREEP <   a    COP┆
0x03b540…03b560             59 48 4c 01 46 00 00 00 61 42 01 00 00 53 41 56 45 4b 42 6a 3c 00 00 00 61 4c 01 00 00 53 45 54   ┆YHL F   aB   SAVEKBj<   aL   SET┆
0x03b560…03b580             4b 42 5d 43 00 00 00 61 66 01 00 00 41 4c 4c 4f 43 42 00 00 00 00 00 61 2e 0d 00 00 49 4d 44 4f   ┆KBÅC   af   ALLOCB     a.   IMDO┆
0x03b580…03b5a0             53 5b 3c 00 00 00 61 04 0d 00 00 46 4f 50 45 4e c8 3d 00 00 00 61 09 0d 00 00 46 4d 41 4b 45 b2   ┆SÆ<   a    FOPEN =   a    FMAKE ┆
0x03b5a0…03b5c0             3e 00 00 00 61 10 06 00 00 53 45 4c 45 43 54 28 3d 00 00 00 61 2e 07 00 00 4e 58 54 44 54 41 a2   ┆>   a    SELECT(=   a.   NXTDTA ┆
0x03b5c0…03b5e0             3e 00 00 00 61 60 07 00 00 50 52 56 44 54 41 46 42 00 00 00 61 c5 00 00 00 43 4c 4e 58 e5 21 02   ┆>   a`   PRVDTAFB   a    CLNX ! ┆
0x03b5e0…03b600             00 39 22 24 2c e1 af 32 9d 24 c5 0e 00 cd 09 21 cd 9e 21 d2 dc 21 cd 92 21 ca 05 21 c5 d5 cd ac   ┆ 9"$,  2 $     !  !  !  !  !    ┆
0x03b600…03b620 (15, 1, 11) 20 27 11 1b 2c 0e 07 21 49 27 cd 49 26 d0 21 1b 2c 3e 01 cd a2 25 cd 45 25 01 1a 2c cd f2 25 c9   ┆ '  ,  !I' I& ! ,>   % E%  ,  % ┆
0x03b620…03b640             01 49 27 1e 07 cd d8 25 ca 69 25 11 1b 2c 21 49 27 0e 07 da 3c 27 cd 55 26 c3 c4 25 3a 50 27 32   ┆ I'    % i%  ,!I'   <' U&  %:P'2┆
0x03b640…03b660             11 2c cd 67 26 c3 c4 25 00 21 2a 01 00 00 52 53 46 52 22 27 28 01 15 28 21 1b 2c 1e 07 cd 0c 25   ┆ , g&  % !*   RSFR"'(  (! ,    %┆
0x03b660…03b680             01 1c 28 21 15 28 1e 07 cd 0c 25 21 1c 28 cd 7e 25 32 23 28 0e 00 1e 0f 21 14 2c cd 17 25 21 14   ┆  (! (    %! ( ü%2#(    ! ,  %! ┆
0x03b680…03b6a0             2c 22 24 28 3e 07 32 26 28 2a 27 28 7e 23 22 27 28 b7 ca cd 27 f5 e6 0f ca b3 27 11 15 28 2a 24   ┆,"$(> 2&(*'(ü#"'(   '     '  (*$┆
0x03b6a0…03b6c0             28 eb 0e 07 f5 cd 49 26 d2 ae 27 13 eb 34 f1 3d c2 9b 27 f1 cd 31 25 b7 ca cd 27 11 1c 28 2a 24   ┆(     I&  '  4 =  '  1%   '  (*$┆
0x03b6c0…03b6e0             28 eb 0e 08 f5 cd 49 26 f1 3d c2 bb 27 21 26 28 35 c8 2a 24 28 23 22 24 28 c3 89 27 3a 12 2c b7   ┆(     I& =  '!&(5 *$(#"$(  ': , ┆
0x03b6e0…03b700             c8 0a b7 ca 69 25 57 e6 80 21 11 2c ae 77 23 7a e6 7f 57 d6 40 86 fa 0c 28 77 60 69 23 cd 52 27   ┆    i%W  ! , w#z  W @   (w`i# R'┆
0x03b700…03b720             cd c4 25 01 1a 2c cd f2 25 c3 02 26 7a fe 40 da 69 25 c3 4e 25 21 a3 0d 00 00 41 44 44 45 58 43   ┆  %  ,  %  &z @ i% N%!    ADDEXC┆
0x03b720…03b740             00 00 00 00 00 21 04 02 00 0a 57 e6 7f ca 53 25 5f 21 12 2c 7e b7 32 e6 28 c8 93 5f c6 41 77 f2   ┆     !    W   S%_! ,ü 2 (  _ Aw ┆
0x03b740…03b760             4a 28 7b 07 da 69 25 c3 4e 25 7a e6 80 2b ae 77 3e 10 32 e5 28 03 60 69 1e 07 01 d5 28 af 02 03   ┆J(æ  i% N%z  + w> 2 ( `i    (   ┆
0x03b760…03b780             cd 0c 25 af 32 dd 28 32 1a 2c af 3f 47 11 1a 2c 21 d5 28 0e 08 d2 7f 28 04 cd 55 26 c3 6d 28 cd   ┆  % 2 (2 , ?G  ,! (    (  U& m( ┆
0x03b780…03b7a0             49 26 05 21 dd 28 7e 80 77 3a e5 28 3d 32 e5 28 01 08 00 ca b4 28 cd 81 25 3a 21 2c e6 f0 c2 aa   ┆I& ! (ü w: (=2 (     (  %:!,    ┆
0x03b7a0…03b7c0             28 21 1b 2c cd 7e 25 c3 6a 28 af 21 d6 28 cd a2 25 c3 6a 28 eb 2b b6 0d c2 b5 28 32 e6 28 01 1a   ┆(! , ü% j( ! (  % j( +    (2 (  ┆
0x03b7c0…03b7e0             2c 1e 08 21 dd 28 cd 0c 25 cd c4 25 01 1a 2c cd f2 25 c3 02 26 a1 02 00 00 47 45 4f 46 49 31 00   ┆,  ! (  %  %  ,  %  &    GEOFI1 ┆
0x03b7e0…03b800             00 00 00 00 21 36 08 c5 cd 53 21 0b af 02 03 c5 cd 31 26 c1 cd 91 29 c1 c5 cd dc 27 c1 c5 cd 31   ┆    !6   S!      1&   )    '   1┆
0x03b800…03b820 (15, 1, 12) 03 d0 23 23 fe 01 c8 23 c9 11 00 00 42 7e 4f eb 09 eb 0e 11 09 b7 fa 0d 2f 1b eb b4 c9 29 17 05   ┆  ##   #    BüO         /    )  ┆
0x03b820…03b840             c2 1d 2f c9 4f 06 07 af cd 1d 2f 09 f5 3a 2f 2c c6 06 4f f1 f5 cd cc 38 f1 3c 11 ff ff 13 09 da   ┆  / O     /  :/,  O    8 <      ┆
0x03b840…03b860             3d 2f 3d c2 3d 2f cd cc 38 09 c9 3e ff b7 ca 5c 2f d5 11 3b 2c cd a5 37 d1 3e 00 c8 22 3b 2c 3e   ┆=/= =/  8  >   Ø/  ;,  7 >  ";,>┆
0x03b860…03b880             14 c3 69 2f 3e 15 2a 3b 2c e5 d5 c5 f5 cd a3 2f 32 4c 2f e5 2a 39 2c eb 0e 1a cd 54 39 2a 32 2c   ┆  i/> *;,      /2L/ *9,    T9*2,┆
0x03b880…03b8a0             eb c1 cd 3e 30 2a 34 2c 22 f5 39 3a 43 2c c4 91 30 f1 4f cd 54 39 21 4c 2f cc af 2f c4 42 39 c1   ┆   >0*4," 9:C,  0 O T9!L/  / B9 ┆
0x03b8a0…03b8c0             d1 e1 c9 d6 15 4f 7d 29 e6 7f 6f d6 7f b1 c9 7e b7 c2 e4 2f 21 20 00 19 7e b7 21 0c 00 19 f2 d5   ┆     Oå)  o    ü   /!   ü !     ┆
0x03b8c0…03b8e0             2f e5 70 34 eb cd 89 39 eb cd 2f 39 c4 db 30 3e ff cd 84 39 e1 35 cd 2a 39 c4 db 30 2a f5 39 3e   ┆/ p4   9  /9  0>   9 5 *9  0* 9>┆
0x03b8e0…03b900             ff cd 4b 30 af c9 3e ff b7 ca f7 2f d5 11 4e 2c cd a5 37 d1 3e 00 c8 22 4e 2c 3e 14 c3 04 30 3e   ┆  K0  >    /  N,  7 >  "N,>   0>┆
0x03b900…03b920             15 2a 4e 2c e5 d5 c5 f5 cd a3 2f 32 e7 2f e5 2a 4c 2c eb 0e 1a cd 54 39 2a 44 2c eb c1 cd 3e 30   ┆ *N,      /2 / *L,    T9*D,   >0┆
0x03b920…03b940             2a 46 2c 22 f5 39 3a 53 2c c4 91 30 f1 4f cd 54 39 21 e7 2f cc af 2f c4 42 39 c1 d1 e1 c9 21 20   ┆*F," 9:S,  0 O T9! /  / B9    ! ┆
0x03b940…03b960             00 19 71 21 0c 00 19 7e 70 b8 c9 e5 d5 c5 d5 cd 6f 30 cd 5d 30 d1 dc 06 39 c1 d1 e1 c9 1a be c2   ┆  q!   üp       o0 Å0   9       ┆
0x03b960…03b980             69 30 13 23 05 c2 5d 30 c9 eb cd b7 38 37 c9 e5 21 0c 00 19 be c2 7d 30 3e 82 cd 84 39 7e 23 23   ┆i0 #  Å0    87  !     å0>   9ü##┆
0x03b980…03b9a0             23 eb e1 01 11 00 b7 ca 8f 30 09 3d c2 8a 30 41 c9 e5 d5 c5 cd 6f 30 cd b7 38 c1 d1 e1 c9 2a 32   ┆#        0 =  0A     o0  8    *2┆
0x03b9a0…03b9c0             2c eb cd 96 39 2a 44 2c eb cd 96 39 2a 32 2c cd 89 39 2a 44 2c cd 89 39 c9 22 c6 39 e3 d5 c5 e5   ┆,   9*D,   9*2,  9*D,  9 " 9    ┆
0x03b9c0…03b9e0             2a c6 39 e5 21 c8 39 34 c2 d2 30 21 04 00 39 22 c4 39 e1 c9 fe 01 c2 db 30 b7 c9 cd 84 39 e1 22   ┆* 9 ! 94  0!  9" 9      0    9 "┆
0x03b9e0…03ba00             00 01 37 2a c4 39 f9 21 c8 39 36 ff c3 f7 30 21 c8 39 35 3a 5e 2c b7 c1 d1 e1 c9 cd b9 30 cd 04   ┆  7* 9 ! 96   0! 95:^,       0  ┆
0x03ba00…03ba20 (15, 1, 13) 11 07 00 19 d1 c9 3e 00 32 db 1f cd 2f 19 3a db 1f fe 80 c4 66 19 cd c5 19 cd 02 1a cd 95 1a c9   ┆      > 2   / :     f           ┆
0x03ba20…03ba40             2a 27 2c eb 3e 01 c3 b6 18 eb 3e 40 c3 b6 18 e5 d5 c5 cd 14 1b f5 7e e6 7e ca 52 19 3a db 1f fe   ┆*', >     >@          ü ü R :   ┆
0x03ba40…03ba60             00 c2 52 19 cd 31 15 ca 52 19 0a d6 58 fe 02 da 5b 19 3a db 1f e6 80 07 cd 9b 0b 23 03 f1 3d c2   ┆  R  1  R   X   Æ :        #  = ┆
0x03ba60…03ba80             35 19 c1 d1 e1 c9 3a db 1f fe 00 c8 e5 c5 21 82 18 46 c5 fe 40 ca 7d 19 fe 01 c2 89 19 3a 81 18   ┆5     :       !  F  @ å      :  ┆
0x03ba80…03baa0             e6 40 ca 89 19 78 e6 fd 77 cd bc 12 cd bd 19 ca b5 19 b7 ca b5 19 fe 2e c2 a6 19 cd f8 14 3e 2e   ┆ @   x  w              .      >.┆
0x03baa0…03bac0             ca a6 19 3a 2f 44 4f d5 cd 1d 13 d1 d2 8c 19 cd bd 19 c2 af 19 c1 21 82 18 70 c1 e1 c9 1a fe 0d   ┆   :/DO               !  p      ┆
0x03bac0…03bae0             c8 13 fe 2c c9 cd 31 15 c8 e5 d5 c5 cd ef 19 cd 14 1b 5f 16 00 7e e6 7f 4f 7a cd 81 13 da e4 19   ┆   ,  1           _  ü  Oz      ┆
0x03bae0…03bb00             af cd 9b 0b 23 14 7a bb c2 d5 19 c1 d1 e1 c9 cd 14 1b cd f8 14 c8 4f 06 00 09 eb 09 7e eb cd 9b   ┆    # z               O     ü   ┆
0x03bb00…03bb20             0b c9 e5 d5 c5 cd 42 1a da 2a 1a ca 26 1a 7e e6 7f b9 c2 22 1a af cd 9b 0b 23 1d c2 0e 1a c1 d1   ┆      B  *  & ü    "     #      ┆
0x03bb20…03bb40             e1 c9 90 cc 9b 0b c1 d1 e1 c9 16 00 19 2b 7e e6 7f b9 c2 22 1a af cd 9b 0b 2b 1d c2 2e 1a c1 d1   ┆             +ü    "     +  .   ┆
0x03bb40…03bb60             e1 c9 cd 1c 15 c8 cd 02 15 4f cd 0c 15 47 b1 c8 2a 9e 18 3a 7d 18 5f cd 16 15 c0 3c 37 c9 cd 31   ┆         O   G  *  :å _    <7  1┆
0x03bb60…03bb80             15 c8 e5 d5 c5 cd 0f 1b f5 cd c3 1a 3a dc 1f cc 9b 0b cd f8 14 c4 84 1a 23 13 03 f1 3d c2 68 1a   ┆            :           #   = h ┆
0x03bb80…03bba0             c1 d1 e1 c9 e5 21 a2 18 34 be e1 c0 36 2e cd 1c 15 c0 36 01 c9 e5 d5 c5 cd ab 1a cd 1c 15 cc ef   ┆     !  4   6.    6             ┆
0x03bba0…03bbc0             19 cd ce 1a cd 31 1b c1 d1 e1 c9 cd 31 15 c8 cd 14 1b f5 cd c3 1a 1a cc 9b 0b 23 13 03 f1 3d c2   ┆     1      1             #   = ┆
0x03bbc0…03bbe0             b2 1a c9 7e e6 7f 0a c2 e1 14 cd de 14 c9 cd 31 15 c8 cd 14 1b f5 cd eb 1a ca e2 1a 3a dc 1f cd   ┆   ü           1            :   ┆
0x03bbe0…03bc00             9b 0b 23 13 03 f1 3d c2 d5 1a c9 0a cd e4 14 16 01 c2 0d 1b fe 27 c2 fa 1a 14 2b cd 06 1b 23 c8   ┆  #   =              '    +   # ┆
0x03bc00…03bc20 (15, 1, 14) 21 d5 c3 ed 20 78 c1 47 c9 cd 86 21 fe f8 ca ea 20 fe fe ca 3d 21 e5 c5 cd 2b 21 44 4d cd 83 22   ┆!    x G   !        =!   +!DM  "┆
0x03bc20…03bc40             cd 53 21 c5 cd 31 26 d1 c1 e1 c9 cd a1 0b cd 34 0c 4e 23 5e 23 56 eb c5 cd 00 3c d1 c9 e5 1e 00   ┆ S!  1&        4 N#^#V    <     ┆
0x03bc40…03bc60             cd 8d 21 3d fa 4e 21 1c cd 86 21 c2 40 21 e3 c5 c3 1b 21 e5 2a c0 39 7e b7 ca 67 21 87 da 5d 25   ┆  != N!   ! @!    ! * 9ü  g!  Å%┆
0x03bc60…03bc80             01 09 00 09 c3 57 21 34 23 44 4d e1 c9 2a c2 39 eb 2a c0 39 36 ff eb 01 f7 ff 09 d0 eb 36 00 01   ┆     W!4#DM  * 9 * 96        6  ┆
0x03bc80…03bca0             09 00 09 c3 74 21 cd 8d 21 c8 23 05 c9 78 b7 c8 7e c9 78 b7 c8 7e fe f7 c0 cd 86 21 af c9 e5 d5   ┆    t!  ! #  x  ü x  ü     !    ┆
0x03bca0…03bcc0             c5 79 f5 cd ac 21 f1 b9 c1 d1 e1 c9 cd 86 21 e5 21 c0 21 be 23 4e 23 5e 23 56 23 c2 b3 21 e1 c9   ┆ y   !        ! ! ! #N#^#V#  !  ┆
0x03bcc0…03bce0             00 01 58 25 f7 01 58 25 fd 02 7f 26 fc 02 7a 26 fb 03 dc 27 fa 03 29 28 f9 04 e7 28 78 c1 e3 f5   ┆  X%  X%   &  z&   '  )(   (x   ┆
0x03bce0…03bd00             d5 cd f1 21 c1 c5 cd 31 26 d1 f1 e1 c1 47 c3 f0 20 c5 d5 cd f8 21 c1 c9 2b 36 00 23 c3 1b 26 cd   ┆   !   1&    G       !  +6 #  & ┆
0x03bd00…03bd20             0e 22 d8 79 b7 c4 86 21 c2 ff 21 af 12 c9 cd 86 21 fe ff ca 68 22 d5 f5 11 00 00 cd 8d 21 fe f8   ┆ " y   !  !     !   h"       !  ┆
0x03bd20…03bd40             c2 33 22 cd 86 21 cd 86 21 57 cd 86 21 5f b7 c2 33 22 1d eb 22 66 22 eb f1 e3 c5 e5 cd 2b 21 7b   ┆ 3"  !  !W  !_  3"  "f"      +!æ┆
0x03bd40…03bd60             cd 4f 22 d1 c1 c5 47 cd 68 22 69 c1 4d e1 c9 eb 2a 66 22 eb 14 15 c8 4a 0d 06 00 09 91 d2 62 22   ┆ O"   G h"i M   *f"    J      b"┆
0x03bd60…03bd80             af c9 bb d8 7b c9 00 00 04 b7 05 c8 7e fe f7 d0 23 e6 7f fe 20 da 69 22 0c 0d c8 0d f6 80 12 13   ┆    æ       ü   #     i"        ┆
0x03bd80…03bda0             c3 69 22 7b 32 9c 23 cd 4f 23 11 21 2c af 32 9b 23 cd 65 23 fe 20 ca 91 22 fe 2b ca a8 22 fe 2d   ┆ i"æ2 # O# !, 2 # e#    " +  " -┆
0x03bda0…03bdc0             c2 ab 22 3e 80 32 11 2c cd 65 23 fe 30 ca a8 22 c3 b6 22 cd 65 23 06 00 e5 21 2f 44 be e1 ca df   ┆  "> 2 , e# 0  "  " e#   !/D    ┆
0x03bdc0…03bde0             22 fe 45 ca ed 22 fe 65 ca ed 22 cd 20 25 d2 26 23 47 cd 82 23 3a 9b 23 b7 cc 45 25 c3 b3 22 3a   ┆" E  " e  "  % &#G  #: #  E%  ":┆
0x03bde0…03be00             9b 23 1f da 26 23 2f 32 9b 23 c3 b3 22 cd 65 23 fe 20 ca ed 22 47 d6 2d 5f ca 02 23 c6 02 78 c2   ┆ #  &#/2 #  " e#    "G -_  #  x ┆
0x03be00…03be20 (15, 1, 15) 26 c1 0a 57 e6 80 32 d1 2a 7a e6 7f 02 c5 cd 19 26 c1 c5 cd a8 24 c1 c5 0a fe 44 d2 86 29 cd 7a   ┆&  W  2 *z      &    $    D  ) z┆
0x03be20…03be40             26 1e 08 01 b1 2a 21 f6 2a cd 0c 25 af 32 b9 2a 3e 0f 01 76 2b cd d7 2b 01 b9 2a cd 31 26 c1 c5   ┆&    *! *  % 2 *>  v+  +  * 1&  ┆
0x03be40…03be60             cd 19 26 cd d3 24 e5 01 b9 2a cd 19 26 e1 7c b7 c2 86 29 7d 01 d2 2a 21 f2 2a b7 ca 7b 29 96 da   ┆  &  $   *  & ø   )å  *! *  æ)  ┆
0x03be60…03be80             6e 29 f5 c5 e5 cd dc 27 e1 c1 f1 c3 5a 29 86 23 03 03 03 03 03 03 03 03 c3 5e 29 3a d1 2a b7 c4   ┆n)     '    Z) #         ^): *  ┆
0x03be80…03bea0             a0 2a c1 c3 31 26 3a d1 2a b7 c1 ca 4e 25 c3 69 25 0a 32 d6 2b c5 3e 41 02 01 7e 2b cd 19 26 c1   ┆ *  1&: *   N% i% 2 + >A  ü+  & ┆
0x03bea0…03bec0             c5 cd dc 27 01 b1 2a c5 cd 31 26 01 f6 2a cd 7f 26 01 b9 2a cd 31 26 c1 cd 19 26 01 f6 2a cd 7a   ┆   '  *  1&  *  &  * 1&   &  * z┆
0x03bec0…03bee0             26 01 b9 2a cd 29 28 01 c1 2a c5 cd 31 26 af 32 b9 2a 01 b1 2a 21 ae 2b 1e 08 cd 0c 25 c1 cd dc   ┆&  * )(  *  1& 2 *  *! +    %   ┆
0x03bee0…03bf00             27 01 ce 2b 3e 04 cd d7 2b 01 c9 2a cd 31 26 01 09 2c cd 19 26 01 b1 2a 21 8e 2b 1e 08 cd 0c 25   ┆'  +>   +  * 1&  ,  &  *! +    %┆
0x03bf00…03bf20             01 a6 2b 3e 03 cd d7 2b 01 c9 2a cd 29 28 01 c1 2a cd dc 27 01 b1 2a cd 31 26 3a d6 2b d6 41 4f   ┆  +>   +  * )(  *  '  * 1&: + AO┆
0x03bf20…03bf40             07 3e 00 d2 27 2a 2f 47 cd 41 2a 01 fe 2a cd 7f 26 01 86 2b cd dc 27 01 b1 2a cd 7f 26 c1 c3 31   ┆ >  '*/G A*  *  &  +  '  *  &  1┆
0x03bf40…03bf60             26 21 21 2c 22 9e 2a cd 4f 23 7c b5 ca 69 25 7c 07 d2 60 2a 7d 2f 6f 7c 2f 67 23 3e 80 32 11 2c   ┆&!!," * O#ø  i%ø  `*å/oø/g#> 2 ,┆
0x03bf60…03bf80             11 94 2a d5 e3 5e 23 56 23 e3 06 00 7d 93 6f 7c 9a 67 fa 79 2a 04 c3 6c 2a 19 e5 2a 9e 2a eb cd   ┆  *  ^#V#   å oø g y*  l*  * *  ┆
0x03bf80…03bfa0             82 23 cd 45 25 eb 22 9e 2a e1 7b fe 01 c2 64 2a e1 c3 c4 25 10 27 e8 03 64 00 0a 00 01 00 44 4d   ┆ # E% " * æ   d*   % '  d     DM┆
0x03bfa0…03bfc0             01 b1 2a c5 cd 31 26 01 f6 2a cd 19 26 c1 c3 29 28 00 00 00 00 21 70 0d 00 00 44 45 4c 46 49 4c   ┆  *  1&  *  &  )(    !p   DELFIL┆
0x03bfc0…03bfe0             00 00 00 00 00 21 93 04 00 00 49 4e 49 54 43 00 00 00 5c 64 80 80 90 14 35 62 45 04 48 79 65 64   ┆     !    INITC   Ød    5bE Hyed┆
0x03bfe0…03c000             02 22 42 41 31 03 50 81 59 54 41 90 45 28 18 28 18 27 40 0a 04 01 41 00 00 00 00 00 00 10 40 00   ┆ "BA1 P YTA E( ( '@   A       @ ┆
0x03c000…03c020 (16, 0, 1)  31 c3 ef 30 eb 3a 26 2c e6 04 c2 ac 31 21 ff ff 22 ca 39 22 65 2c 7d 2a 2b 2c 22 cc 39 d5 2a ca   ┆1  0 :&,    1!  " 9"e,å*+," 9 * ┆
0x03c020…03c040             39 eb 2a cc 39 19 06 01 23 23 cd c0 38 2b cd b9 39 22 5f 2c d1 ca 5b 31 d5 cd 1f 32 cd 7c 34 c4   ┆9 * 9   ##  8+  9"_,  Æ1   2 ø4 ┆
0x03c040…03c060             db 30 d1 cd 90 35 c2 4a 31 37 f5 d4 60 34 f1 2a 5f 2c da 1a 31 22 ca 39 c3 1d 31 23 7d b4 ca 67   ┆ 0   5 J17  `4 *_,  1" 9  1#å  g┆
0x03c060…03c080             31 2b d5 cd 1f 32 d1 32 50 2c 22 51 2c 01 00 00 c5 e5 f5 cd 7c 34 37 cc 90 35 da 98 31 cd 60 34   ┆1+   2 2P,"Q,       ø47  5  1 `4┆
0x03c080…03c0a0             f1 e1 c1 32 50 2c 22 51 2c 3a 5e 2c b7 cc b6 32 c8 cd 94 32 d8 c3 70 31 b7 e1 e1 e1 22 5f 2c 2a   ┆   2P,"Q,:^,   2   2  p1    "_,*┆
0x03c0a0…03c0c0             65 2c 22 3d 2c 2a 63 2c 22 3e 2c c9 2a 34 2c 44 4d 2a 32 2c 09 2b cd 10 32 cd 90 35 c8 3f d8 2a   ┆e,"=,*c,">, *4,DM*2, +  2  5 ? *┆
0x03c0c0…03c0e0             32 2c cd 10 32 cd 90 35 c8 d8 22 ca 39 22 cc 39 cd 04 32 cd 10 32 eb e5 2a cc 39 cd b9 39 e1 eb   ┆2,  2  5  " 9" 9  2  2  * 9  9  ┆
0x03c0e0…03c100             ca ef 31 cd 90 35 ca cd 31 da cd 31 c3 ca 31 2a ca 39 cd 18 32 cd 90 35 c8 d8 7e 23 fe 0d c2 fa   ┆  1  5  1  1  1* 9  2  5  ü#    ┆
0x03c100…03c120             31 c3 f2 31 78 b7 1f 47 79 1f 4f 2a ca 39 09 c9 2b 7e fe 0d c2 10 32 23 22 27 2c cd 45 35 c9 d5   ┆1  1x  Gy O* 9  +ü    2#"', E5  ┆
0x03c120…03c140             c5 3a 2f 2c c6 06 cd d4 38 7d e6 7f bd 6c 60 29 c1 d1 c8 b7 23 c9 cd b9 30 cd 3f 32 c3 ef 30 47   ┆ :/,    8å   l`)    #   0 ?2  0G┆
0x03c140…03c160             eb cd 52 32 c0 cd ba 35 c2 41 32 c9 fa 86 33 c3 54 33 78 87 d2 4c 32 fa e1 32 cd b9 30 cd 63 32   ┆  R2   5 A2   3 T3x  L2  2  0 c2┆
0x03c160…03c180             c3 ef 30 cd 7b 33 ca 77 32 2a 51 2c 3a 50 2c cd 88 32 c0 cd 94 32 d8 32 50 2c 22 51 2c cd 88 32   ┆  0 æ3 w2*Q,:P,  2   2 2P,"Q,  2┆
0x03c180…03c1a0             c0 cd b6 32 c2 73 32 c9 cd 5c 34 c8 3e ff 32 5e 2c b7 37 c9 2a 5f 2c 44 4d 3a 66 2c b7 2a 61 2c   ┆   2 s2  Ø4 > 2^, 7 *_,DM:f, *a,┆
0x03c1a0…03c1c0             f0 60 69 23 d5 11 2b 2c cd a5 37 d1 ca 8c 32 22 5f 2c cd 1f 32 c9 e5 d5 c5 2a 30 2c 7e 3c ca d8   ┆ `i#  +,  7   2"_,  2    *0,ü<  ┆
0x03c1c0…03c1e0             32 cd 9f 31 cd 2b 34 37 3e 01 c2 d8 32 2a 27 2c 7e b7 3c ca d8 32 3e 02 3d 3d 32 5e 2c c1 d1 e1   ┆2  1 +47>   2*',ü <  2> ==2^,   ┆
0x03c1e0…03c200             c9 cd b9 30 21 5e 2c 7e b7 ca f5 32 cd 04 31 cd b6 32 ca 42 33 2a 51 2c 22 ce 39 3a 50 2c 32 d0   ┆   0!^,ü   2  1  2 B3*Q," 9:P,2 ┆
0x03c200…03c220 (16, 0, 2)  38 23 c1 d1 e3 c9 cd 1b 39 c5 0e 10 cd 54 39 c1 fe fe c2 19 39 3e 83 b7 c9 af c9 e5 d5 c5 0e 1a   ┆8#      9    T9     9>          ┆
0x03c220…03c240             11 80 00 cd 05 00 c1 d1 e1 c9 0e 0f c3 31 39 0e 16 cd 54 39 fe f5 d2 d9 30 e5 21 20 00 19 af 77   ┆             19   T9    0 !    w┆
0x03c240…03c260             e1 c9 fe ff ca 4c 39 fe 02 c2 d9 30 cd 84 39 eb cd 89 39 eb e5 c5 d5 79 d6 0f fe 09 d2 b1 39 1a   ┆     L9    0  9   9    y      9 ┆
0x03c260…03c280             47 d5 c5 cd 9c 39 32 f4 39 5f 0e 0e cd 05 00 c1 d1 af 12 c5 cd 05 00 c1 e1 70 eb b7 c1 e1 c9 fe   ┆G    92 9_               p      ┆
0x03c280…03c2a0             01 ca d9 30 32 f3 39 b7 c9 e5 d5 c5 cd a2 39 cd 96 39 c1 d1 e1 c9 0e 13 cd 54 39 c9 3d f0 3a 5c   ┆   02 9       9  9       T9 = :Ø┆
0x03c2a0…03c2c0             11 c9 11 d2 39 d5 06 0c cd b7 38 eb 70 2b 34 d1 c9 cd 05 00 d1 c1 e1 b7 c9 7a 94 c0 7b 95 c9 c4   ┆    9     8 p+4          z  æ   ┆
0x03c2c0…03c2e0             90 55 f6 ff c9 af 32 0a ff 7a 32 25 72 e5 2a 44 72 7a cd 27 17 22 26 72 e1 3a 47 72 32 28 72 c9   ┆ U    2  z2%r *Drz ' "&r :Gr2(r ┆
0x03c2e0…03c300             e5 21 7c 38 ae e1 c5 e5 21 0a 72 46 36 00 e1 cd dc 54 4f 00 00 0a 72 79 c1 c8 e5 e5 cd 50 3a 67   ┆ !ø8    ! rF6    TO   ry     P:g┆
0x03c300…03c320             cd 5e 3a 6f cd 3c 3d e1 c9 e5 d5 c5 2a 16 3c 3a 7f 18 67 cd 00 3c cd 6c 3a cd 50 3a 4f d4 fe 40   ┆ ^:o <=     * <:  g  < l: P:O  @┆
0x03c320…03c340             c1 d1 e1 c9 e5 d5 c5 3a 1c 3c 3d 4f cd 6c 3a 2a 22 43 78 f6 80 47 cd fe 40 c1 d1 e1 c9 3a 40 02   ┆       : <=O l:*"Cx  G  @    :@ ┆
0x03c340…03c360             3d 67 cd b4 3c 6f cd 3c 3d cd be 3c cd 9e 3c c9 e5 3a 7f 18 2a 17 3c 95 2a 1c 3c 85 e1 c9 e5 3a   ┆=g  <o <=  <  <  :  * < * <    :┆
0x03c360…03c380             7e 18 2a 16 3c 95 2a a2 18 85 e1 c9 cd b4 3c 47 3a 6b 11 b8 d0 47 c9 0e 1b 06 01 cd 6a 3f cd a3   ┆ü * < *       <G:k   G      j?  ┆
0x03c380…03c3a0             3b 79 c9 3a 1b 3c c3 8b 3a 3e 06 06 01 cd e5 40 cd 59 42 c9 e5 d5 c5 21 1a 3c 7e 2f 77 cd ad 3a   ┆;y : <  :>     @ YB    ! <ü/w  :┆
0x03c3a0…03c3c0             cd 83 3a cd f5 3a cd a3 3b c1 d1 e1 c9 3a 1a 3c 21 1b 3c a6 3c 32 1c 3c c9 e5 d5 c5 11 1b 3c 1a   ┆  :  :  ;    : <! < <2 <      < ┆
0x03c3c0…03c3e0             4f 7e 12 b9 f5 23 47 87 80 47 11 20 3c cd b7 38 f1 ca eb 3b cd ad 3a cd 83 3a cd f5 3a cd a3 3b   ┆Oü   #G  G  <  8   ;  :  :  :  ;┆
0x03c3e0…03c400             c1 d1 e1 c9 e5 d5 c5 af 32 17 3c 32 16 3c cd 96 3b c1 d1 e1 c9 e5 d5 c5 cd 09 3b f5 cd 2f 3b 47   ┆        2 <2 <  ;         ;  /;G┆
0x03c400…03c420 (16, 0, 3)  40 02 3d b9 da 1b 41 e5 d5 c5 eb 2a c5 42 06 00 09 09 09 c1 70 23 73 23 72 d1 e1 f1 c9 e5 d5 c5   ┆@ =   A    * B      p#s#r       ┆
0x03c420…03c440             cd cd 41 c2 41 41 cd 18 42 ca 20 41 cd a8 41 cd 48 41 47 f4 f3 41 04 05 fc 7c 41 cd cd 41 ca 36   ┆  A AA  B  A  A HAG  A   øA  A 6┆
0x03c440…03c460             41 cd a8 41 c1 d1 e1 c9 3a b7 02 b7 c8 e5 c5 cd 73 41 0c 46 cd 99 3c ca 5e 41 3a b8 42 47 cd b4   ┆A  A    :       sA F  < ^A: BG  ┆
0x03c460…03c480             3c b9 78 ca 69 41 23 b6 2b 0d ca 6f 41 2b b6 b7 c1 e1 c9 2a be 42 44 4d cd 60 42 c9 cd 7f 41 cd   ┆< x iA# +  oA+     * BDM `B   A ┆
0x03c480…03c4a0             12 3f c5 06 02 3e ff cd 90 41 05 c2 85 41 c1 c9 cd 99 41 c0 3d c2 90 41 c9 e5 c5 4f af 3d c2 9d   ┆ ?   >   A   A    A =  A   O =  ┆
0x03c4a0…03c4c0             41 cd e0 41 79 c1 e1 c9 e5 21 c4 42 34 35 36 00 e1 c8 e5 2a c0 42 cd 48 3d e1 c9 3a c4 42 b7 c0   ┆A  Ay    ! B456    * B H=  : B  ┆
0x03c4c0…03c4e0             3c 32 c4 42 e5 2a be 42 22 c0 42 e1 c9 cd e0 41 c8 e5 2a ba 42 36 00 cd eb 41 22 ba 42 e1 b7 c9   ┆<2 B * B" B    A  * B6   A" B   ┆
0x03c4e0…03c500             cd f9 41 e5 2a ba 42 7e e1 b7 c9 23 34 35 f0 21 c7 42 c9 e5 d5 c5 c3 03 42 e5 d5 c5 cd 00 00 b7   ┆  A * Bü   #45 ! B      B       ┆
0x03c500…03c520             ca 14 42 cd 00 00 b7 ca 14 42 2a bc 42 77 cd eb 41 22 bc 42 c1 d1 e1 c9 e5 d5 c5 2a c5 42 06 00   ┆  B      B* Bw  A" B       * B  ┆
0x03c520…03c540             7e 36 00 23 5e 23 56 23 b7 c2 3d 42 04 3a 40 02 b8 c2 20 42 cd a8 41 af 3c c1 d1 e1 c9 0e 00 cd   ┆ü6 #^#V#  =B :@    B  A <       ┆
0x03c540…03c560             60 42 cd 84 42 ca 55 42 cd 45 3d eb 04 05 c4 f4 3d cd c6 3e af c1 d1 e1 c9 cd 18 42 ca 59 42 c9   ┆`B  B UB E=     =  >       B YB ┆
0x03c560…03c580             d5 c5 f5 3a 41 02 cd 71 42 2a 0b 43 19 f1 c1 d1 c9 6f af 67 57 59 78 1f d2 7e 42 eb 19 eb 29 b7   ┆   :A  qB* C     o gWYx  üB   ) ┆
0x03c580…03c5a0             c2 77 42 c9 c5 f5 e6 7f 47 f1 b7 eb f4 b2 40 eb 1a cd b5 3e be c2 af 42 0c 13 23 05 c2 90 42 0d   ┆ wB     G     @    >   B  #   B ┆
0x03c5a0…03c5c0             0c cd b4 3c b9 ca af 42 7e fe 20 23 ca a0 42 e1 69 c9 00 00 00 00 00 00 ff 00 c7 42 c7 42 00 00   ┆   <   Bü  #  B i          B B  ┆
0x03c5c0…03c5e0             00 00 ff ff 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
0x03c5e0…03c600             00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
0x03c600…03c620 (16, 0, 4)  6d 6f 76 65 20 64 61 74 61 20 66 72 6f 6d 20 66 69 6c 65 01 1d 06 00 0d 4b 65 79 20 6e 6f 74 20   ┆move data from file     Key not ┆
0x03c620…03c640             66 6f 75 6e 64 2e 20 48 69 74 20 45 53 43 20 74 6f 20 72 65 2d 65 6e 74 65 72 20 6b 65 79 3a 20   ┆found. Hit ESC to re-enter key: ┆
0x03c640…03c660             00 0d 45 6e 64 20 6f 66 20 66 69 6c 65 2e 0d 01 b5 08 63 6f 6e 74 69 6e 75 65 20 73 63 61 6e 3a   ┆  End of file.    continue scan:┆
0x03c660…03c680             20 00 0d 46 69 6c 65 20 69 73 20 65 6d 70 74 79 20 73 6f 20 61 64 64 20 6d 6f 64 65 20 69 73 20   ┆   File is empty so add mode is ┆
0x03c680…03c6a0             74 68 65 20 6f 6e 6c 79 20 6c 65 67 61 6c 20 6d 6f 64 65 2e 0d 01 a9 08 2e 00 0d 54 68 65 20 66   ┆the only legal mode.    .  The f┆
0x03c6a0…03c6c0             69 6c 65 20 64 6f 65 73 20 6e 6f 74 20 63 6f 6e 74 61 69 6e 20 61 6e 79 20 72 65 63 6f 72 64 73   ┆ile does not contain any records┆
0x03c6c0…03c6e0             20 74 6f 20 6d 61 74 63 68 20 74 68 65 20 73 63 61 6e 20 6d 61 73 6b 2e 0d 01 b5 08 63 6f 6e 74   ┆ to match the scan mask.    cont┆
0x03c6e0…03c700             69 6e 75 65 20 69 6e 20 45 44 49 54 20 53 43 41 4e 20 4d 41 53 4b 20 6d 6f 64 65 2e 00 0d 54 68   ┆inue in EDIT SCAN MASK mode.  Th┆
0x03c700…03c720             65 20 62 61 74 63 68 20 66 69 6c 65 20 68 61 73 20 62 65 65 6e 20 76 65 72 69 66 69 65 64 2e 0d   ┆e batch file has been verified. ┆
0x03c720…03c740             01 b5 08 65 6e 74 65 72 20 61 6e 6f 74 68 65 72 20 62 61 74 63 68 20 6e 61 6d 65 2e 00 0d 54 68   ┆   enter another batch name.  Th┆
0x03c740…03c760             61 74 20 66 69 6c 65 20 69 73 20 69 6e 20 75 73 65 2e 20 0d 01 b5 08 65 01 50 08 2e 00 6e 74 65   ┆at file is in use.     e P . nte┆
0x03c760…03c780             72 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 61 20 66 69 6c 65 20 74 6f 20 75 73 65 0d 66 6f 72 20   ┆r the name of a file to use for ┆
0x03c780…03c7a0             74 65 6d 70 6f 72 61 72 79 20 77 6f 72 6b 20 73 70 61 63 65 00 0d 46 69 6c 65 20 6d 61 69 6e 74   ┆temporary work space  File maint┆
0x03c7a0…03c7c0             65 6e 61 6e 63 65 20 69 73 20 63 6f 6d 70 6c 65 74 65 01 1a 1a 00 48 69 74 20 45 53 43 20 6b 65   ┆enance is complete    Hit ESC ke┆
0x03c7c0…03c7e0             79 00 01 a9 08 20 74 6f 20 00 0d 4b 65 79 20 61 6c 72 65 61 64 79 20 65 78 69 73 74 73 01 1a 1a   ┆y     to   Key already exists   ┆
0x03c7e0…03c800             00 43 61 6e 27 74 20 72 65 61 64 20 66 6f 72 6d 20 64 65 66 69 6e 69 74 69 6f 6e 20 66 69 6c 65   ┆ Can't read form definition file┆
0x03c800…03c820 (16, 0, 5)  39 2a 5f 2c cd 1f 32 cd 45 33 c2 1e 33 2a 5f 2c 7c b5 3e ff ca 3e 33 2b 22 5f 2c cd 1f 32 22 51   ┆9*_,  2 E3  3*_,ø >  >3+"_,  2"Q┆
0x03c820…03c840             2c 32 50 2c cd 5c 34 c4 db 30 3a 66 2c 47 04 2a 61 2c c4 45 33 c2 1e 33 cd b6 32 c2 f5 32 b7 32   ┆,2P, Ø4  0:f,G *a, E3  3  2  2 2┆
0x03c840…03c860             5e 2c c3 ef 30 eb 2a ce 39 eb 47 3a d0 39 b8 cc b9 39 78 c9 cd b9 30 cd 7b 33 ca 63 33 2a 40 2c   ┆^,  0 * 9 G: 9   9x   0 æ3 c3*@,┆
0x03c860…03c880             3a 42 2c cd 6f 33 fe fe ca 5d 33 b7 c3 ef 30 22 3e 2c 32 3d 2c e5 d5 c5 c3 c4 32 3a 5e 2c 3c c0   ┆:B, o3   Å3   0">,2=,     2:^,< ┆
0x03c880…03c8a0             67 6f 22 5f 2c c9 cd b9 30 cd 9a 33 fe fe cc b2 33 fe fe ca 8e 33 b7 c3 ef 30 3a 5e 2c b7 ca b2   ┆go"_,   0  3    3    3   0:^,   ┆
0x03c8a0…03c8c0             33 2a 37 2c 22 3e 2c 3a 36 2c 32 3d 2c b5 b4 3e ff c8 2a 3e 2c cd 4b 2f c4 db 30 3a 3d 2c 22 40   ┆3*7,">,:6,2=,  >  *>, K/  0:=,"@┆
0x03c8c0…03c8e0             2c 32 42 2c 4f cd 00 34 cd e4 33 d8 ca c8 33 cd e4 33 da dd 33 c2 cf 33 0c f2 df 33 23 0e 00 79   ┆,2B,O  4  3   3  3  3  3   3#  y┆
0x03c8e0…03c900             cd 6f 33 c9 1b b7 0d fc f2 33 d8 1a fe 0d c8 fe 0a c9 7c b5 ca 8c 32 2b cd 4b 2f c4 db 30 0e 7f   ┆ o3      3        ø   2+ K/  0  ┆
0x03c900…03c920             eb 2a 39 2c 06 00 09 eb c9 cd a1 33 3e ff 32 5e 2c 2a 27 2c 7e 23 a6 3c c0 2a 3e 2c 22 37 2c 3a   ┆ *9,       3> 2^,*',ü# < *>,"7,:┆
0x03c920…03c940             3d 2c 32 36 2c c9 3a 5e 2c b7 c9 cd 3c 34 cd be 34 79 32 42 2c 2a 3b 2c 22 40 2c c9 2a 3e 2c cd   ┆=,26, :^,   <4  4y2B,*;,"@, *>, ┆
0x03c940…03c960             4b 2f 21 00 00 22 5c 2c b7 c4 d4 30 c0 2a 27 2c eb 2a 39 2c 3a 3d 2c 4f 06 00 09 c9 cd 7c 34 c0   ┆K/!  "Ø,   0 *', *9,:=,O     ø4 ┆
0x03c960…03c980             d5 06 06 11 61 2c cd a1 34 d1 c0 2a 63 2c 2b 22 63 2c 2a 65 2c 25 2d 22 65 2c b7 c9 4f c5 cd e6   ┆    a,  4  *c,+"c,*e,%-"e,  O   ┆
0x03c980…03c9a0             2f c1 b7 c4 d4 30 c0 d5 2a 30 2c eb 06 00 2a 4c 2c 09 3a 2f 2c 47 cd 9b 34 d1 c9 7e fe 1a ca d9   ┆/    0  *0,   *L, :/,G  4  ü    ┆
0x03c9a0…03c9c0             30 7e 12 23 13 0c f2 b8 34 0e 00 2a 4e 2c 23 cd e6 2f c4 db 30 2a 4c 2c 05 c2 a1 34 af c9 cd 1a   ┆0ü #    4  *N,#  /  0*L,   4    ┆
0x03c9c0…03c9e0             35 c0 fe 22 ca e8 34 cd fe 34 fe 2c ca be 34 fe 0d c8 cd 1a 35 c0 c3 c7 34 cd 1a 35 c0 cd fe 34   ┆5  "  4  4 ,  4     5   4  5   4┆
0x03c9e0…03ca00             fe 2c ca be 34 fe 0d c8 cd 1a 35 c0 fe 22 ca d9 34 fe 2c c2 f8 34 f6 80 cd fe 34 c3 e8 34 12 e5   ┆ ,  4     5  "  4 ,  4    4  4  ┆
0x03ca00…03ca20 (16, 0, 6)  f1 b0 c4 96 3b c1 d1 e1 c9 21 16 3c cd b4 3c 5f 3a 7e 18 57 3a 7d 18 47 0e 0f bb 3a 6b 11 da 44   ┆    ;    ! <  <_:ü W:å G   :k  D┆
0x03ca20…03ca40             3b 78 82 f5 3a a2 18 82 57 f1 06 00 c3 44 3b 3a 40 02 2a 1c 3c 95 5f 3a 7f 18 57 21 17 3c 01 03   ┆;x  :   W    D;:@ * < _:  W! <  ┆
0x03ca40…03ca60             00 3a 6c 11 93 d2 49 3b af ca 82 3b 32 15 3c 7e b7 ca 59 3b 81 ba d2 6d 3b 7e 83 91 4f 7a 80 b9   ┆ :l   I;   ;2 <ü  Y;   m;ü  Oz  ┆
0x03ca60…03ca80             d2 6d 3b 3a 15 3c be da 82 3b 3e 00 c9 3a 15 3c 4f 7b 1f 5f 78 b7 1f 82 93 d2 7d 3b af b9 da 82   ┆ m;: <   ;>  : <Oæ _x     å;    ┆
0x03ca80…03caa0             3b 79 4e 77 91 c9 e5 d5 c5 cd 09 3b b7 f5 c4 96 3b f1 c1 d1 e1 c9 2a 16 3c cd 00 3c 22 18 3c cd   ┆;yNw       ;    ;     * <  <" < ┆
0x03caa0…03cac0             a3 3b c9 3a b2 42 e5 d5 c5 6f cd fb 39 cd e8 3b 3a 1c 3c bd d2 e4 3b 4f 7d f5 cd 6c 3a 5f 16 00   ┆ ; : B   o  9  ;: <   ;Oå  l:_  ┆
0x03cac0…03cae0             e5 2a 17 3c 3a 6c 11 95 2a 1c 3c 85 e1 bd da d2 3b 7d 2a 18 3c cd fe 40 19 0c b9 c2 d5 3b f1 91   ┆ * <:l  * <     ;å* <  @     ;  ┆
0x03cae0…03cb00             41 c4 e5 40 c1 d1 e1 c9 e5 d5 c5 2a c5 42 eb 21 1d 3c 3a 1c 3c 4f 87 81 47 cd b7 38 c1 d1 e1 c9   ┆A  @       * B ! <: <O  G  8    ┆
0x03cb00…03cb20             44 4d 3a 6b 11 cd 71 42 2a 6d 11 19 c9 7c 2f 67 7d 2f 6f 23 c9 72 00 00 6d 11 ff 06 07 cf c6 46   ┆DM:k  qB*m   ø/gå/o# r  m      F┆
0x03cb20…03cb40             00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 e5 d5 c5 3a 40 02 32 b2 42 47 2a b3 02 22   ┆                     :@ 2 BG*  "┆
0x03cb40…03cb60             0b 43 cd 99 3c 2a 2c 03 c2 53 3c 22 0b 43 0e 00 cd 60 42 22 c5 42 3a 40 02 5f 16 00 19 19 19 22   ┆ C  <*,  S<" C   `B" B:@ _     "┆
0x03cb60…03cb80             2c 03 3a 4d 02 21 56 02 86 21 5b 02 86 c6 02 32 0a 43 1e 03 2a 01 00 19 22 fd 41 19 22 04 42 19   ┆, :M !V  !Æ    2 C  *   " A " B ┆
0x03cb80…03cba0             22 ac 3e cd a7 02 21 95 02 cd ea 3d 3a b1 02 cd 1b 3e cd d3 3c c1 d1 e1 c9 3a b2 02 b7 c9 cd aa   ┆" >   !    =:    >  <    :      ┆
0x03cba0…03cbc0             02 21 9e 02 cd ea 3d cd 1e 3e c9 3c 3d c8 cd 99 41 c3 ac 3c 3a ad 02 b7 3a 41 02 c0 3d c9 af 32   ┆ !    =  > <=   A  <:   :A  =  2┆
0x03cbc0…03cbe0             b9 42 3a b8 42 fe ff c8 e5 2a b6 42 ae e6 80 ae 77 e1 c9 3a b6 02 32 b9 42 e5 d5 c5 2a 40 02 eb   ┆ B: B    * B    w  :  2 B   *@  ┆
0x03cbe0…03cc00             2a 0b 43 22 b4 42 22 b6 42 3e 20 32 b8 42 cd 99 3c c2 07 3d 21 ff ff 22 be 42 cd 6e 3e 63 25 2e   ┆* C" B" B> 2 B  <  =!  " B n>c%.┆
0x03cc00…03cc20 (16, 0, 7)  00 00 00 00 00 00 00 ff 00 00 00 00 00 fc 1a fc 1a 06 4f 41 02 4f 90 02 4f df 02 4f 2e 03 4f 7d   ┆                  OA O  O  O. Oå┆
0x03cc20…03cc40             03 4f 6a 04 06 4f 41 02 4f 90 02 4f cc 03 4f 2e 03 4f 7d 03 4f 6a 04 06 4f 41 02 4f 90 02 4f cc   ┆ Oj  OA O  O  O. Oå Oj  OA O  O ┆
0x03cc40…03cc60             03 4f 2e 03 4f 1b 04 4f 6a 04 06 4f 41 02 4f f6 04 4f cc 03 4f 2e 03 4f 1b 04 4f 6a 04 c8 04 ec   ┆ O. O  Oj  OA O  O  O. O  Oj    ┆
0x03cc60…03cc80             04 f6 04 46 05 0f 00 af 05 15 00 c4 05 cb 05 d9 05 60 06 c8 06 0a 07 34 07 55 07 8d 07 f0 07 30   ┆   F             `     4 U     0┆
0x03cc80…03cca0             08 88 08 bd 08 2f 0b af 09 69 0a d4 08 66 0b ad 09 44 09 09 09 20 09 32 09 f7 08 5b 09 6d 09 ec   ┆     /   i   f   D     2   Æ m  ┆
0x03cca0…03ccc0             0b 0a 0c 37 0c 70 0d 2e 0f 3c 11 cd 11 bb 12 31 14 9d 10 2e 15 19 16 69 16 bc 17 b9 0d c6 0d 00   ┆   7 p . <     1   .   i        ┆
0x03ccc0…03cce0             19 2d 19 42 19 52 19 62 19 6a 19 7a 19 97 19 af 19 b7 19 cc 19 4a 19 5a 19 6a 19 7a 19 87 19 a7   ┆ - B R b j z         J Z j z    ┆
0x03cce0…03cd00             19 b7 19 cc 19 22 1a 4b 1a 63 1a 91 1a c9 1a fa 1a 1a 1b c9 1a 30 1b 4a 1b 78 1b d6 1b fa 1b fb   ┆     " K c           0 J x      ┆
0x03cd00…03cd20             1b 00 00 02 e0 30 da 00 02 c2 0a 1e 00 00 42 41 54 43 48 20 20 20 43 4f 4d 00 46 4f 52 4d 47 45   ┆     0        BATCH   COM FORMGE┆
0x03cd20…03cd40             4e 20 43 4f 4d 00 00 00 00 44 54 41 4e 44 58 2e 38 39 41 42 43 44 45 46 47 48 61 62 63 64 65 66   ┆N COM    DTANDX.89ABCDEFGHabcdef┆
0x03cd40…03cd60             67 68 0a 16 12 0d 0b 09 06 05 04 02 01 00 43 55 52 53 4f 52 3a 20 20 20 20 20 5e 41 3d 70 72 65   ┆gh            CURSOR:     ^A=pre┆
0x03cd60…03cd80             76 20 66 69 65 6c 64 20 20 20 20 20 5e 53 3d 6c 65 66 74 20 63 68 61 72 20 20 20 20 5e 44 3d 72   ┆v field     ^S=left char    ^D=r┆
0x03cd80…03cda0             69 67 68 74 20 63 68 61 72 20 20 20 20 5e 46 3d 6e 65 78 74 20 66 69 65 6c 64 20 20 20 20 20 20   ┆ight char    ^F=next field      ┆
0x03cda0…03cdc0             20 20 20 20 20 20 20 20 20 5e 54 3d 66 69 72 73 74 20 66 69 65 6c 64 20 20 20 20 5e 4c 3d 6c 61   ┆         ^T=first field    ^L=la┆
0x03cdc0…03cde0             73 74 20 66 69 65 6c 64 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆st field                        ┆
0x03cde0…03ce00             20 20 20 20 20 20 20 20 20 20 20 20 46 49 45 4c 44 20 45 44 49 54 3a 20 5e 47 3d 64 65 6c 65 74   ┆            FIELD EDIT: ^G=delet┆
0x03ce00…03ce20 (16, 0, 8)  01 89 09 00 46 69 6c 65 20 6e 6f 74 20 66 6f 75 6e 64 01 89 09 00 49 6e 73 75 66 66 69 63 69 65   ┆    File not found    Insufficie┆
0x03ce20…03ce40             6e 74 20 6d 65 6d 6f 72 79 01 89 09 00 44 69 72 65 63 74 6f 72 79 20 6f 6e 20 64 01 33 09 00 44   ┆nt memory    Directory on d 3  D┆
0x03ce40…03ce60             69 73 6b 20 01 f4 01 3a 20 66 75 6c 6c 01 89 09 00 42 41 54 43 48 2e 43 4f 4d 20 6e 6f 74 20 66   ┆isk    : full    BATCH.COM not f┆
0x03ce60…03ce80             6f 75 6e 64 01 89 09 00 45 6e 64 20 6f 66 20 73 65 73 73 69 6f 6e 01 89 09 00 44 69 73 6b 20 01   ┆ound    End of session    Disk  ┆
0x03ce80…03cea0             f4 01 3a 20 72 65 61 64 2f 77 72 69 74 65 20 66 61 69 6c 75 72 65 2e 0d 52 65 70 6c 61 63 65 20   ┆  : read/write failure. Replace ┆
0x03cea0…03cec0             73 79 73 74 65 6d 20 64 69 73 6b 2c 20 74 79 70 65 20 72 65 74 75 72 6e 2e 00 0d 00 0d 20 54 68   ┆system disk, type return.     Th┆
0x03cec0…03cee0             65 20 66 6f 72 6d 20 64 65 66 69 6e 69 74 69 6f 6e 20 66 69 6c 65 20 69 73 20 77 68 65 72 65 20   ┆e form definition file is where ┆
0x03cee0…03cf00             74 68 65 20 73 70 65 63 69 66 69 63 61 74 69 6f 6e 73 20 66 6f 72 20 79 6f 75 72 20 66 6f 72 6d   ┆the specifications for your form┆
0x03cf00…03cf20             20 61 72 65 0d 20 73 74 6f 72 65 64 2e 20 20 49 66 20 79 6f 75 20 68 61 76 65 20 6e 6f 74 20 79   ┆ are  stored.  If you have not y┆
0x03cf20…03cf40             65 74 20 64 65 73 69 67 6e 65 64 20 61 20 66 6f 72 6d 2c 20 63 68 6f 6f 73 65 20 61 20 6e 61 6d   ┆et designed a form, choose a nam┆
0x03cf40…03cf60             65 20 66 6f 72 20 74 68 65 20 66 6f 72 6d 0d 20 64 65 66 69 6e 69 74 69 6f 6e 20 66 69 6c 65 20   ┆e for the form  definition file ┆
0x03cf60…03cf80             61 6e 64 20 65 6e 74 65 72 20 69 74 20 68 65 72 65 2e 01 f3 0a 00 0d 20 41 20 66 6f 72 6d 20 64   ┆and enter it here.      A form d┆
0x03cf80…03cfa0             65 66 69 6e 69 74 69 6f 6e 20 6e 61 6d 65 20 69 73 20 65 69 67 68 74 20 28 6f 72 20 6c 65 73 73   ┆efinition name is eight (or less┆
0x03cfa0…03cfc0             29 20 6c 65 74 74 65 72 73 20 61 6e 64 2f 6f 72 20 6e 75 6d 62 65 72 73 2c 0d 20 6f 70 74 69 6f   ┆) letters and/or numbers,  optio┆
0x03cfc0…03cfe0             6e 61 6c 6c 79 20 70 72 65 63 65 65 64 65 64 20 62 79 20 61 20 64 69 73 6b 20 64 72 69 76 65 20   ┆nally preceeded by a disk drive ┆
0x03cfe0…03d000             28 6c 65 74 74 65 72 20 41 2d 50 20 66 6f 6c 6c 6f 77 65 64 20 62 79 20 63 6f 6c 6f 6e 29 2e 0d   ┆(letter A-P followed by colon). ┆
0x03d000…03d020 (16, 0, 9)  d5 2a 29 2c eb 2a 5c 2c cd b9 39 32 bf 39 d1 1a ca 18 35 13 23 22 5c 2c e1 c9 7e fe 1a ca d9 30   ┆ *), *Ø,  92 9    5 #"Ø,  ü    0┆
0x03d020…03d040             23 0c f2 36 35 0e 00 2a 3b 2c 23 f5 cd 4b 2f c4 db 30 f1 2a 39 2c fe 0d c2 43 35 7e fe 0a cc 1a   ┆#  65  *;,#  K/  0 *9,   C5ü    ┆
0x03d040…03d060             35 3e 0d bf c9 e5 d5 c5 2a 30 2c eb 2a 2d 2c 4e 23 7e 23 46 23 e5 cd 7d 35 cd 65 35 e1 0d c2 51   ┆5>      *0, *-,N#ü#F#  å5 e5   Q┆
0x03d060…03d080             35 c1 d1 e1 c9 7e fe 2c ca 70 35 fe 0d c2 73 35 3e 20 2b e6 7f 12 23 13 05 c2 65 35 c9 2a 27 2c   ┆5    ü , p5   s5> +   #   e5 *',┆
0x03d080…03d0a0             b7 c8 f5 7e 23 fe 2c c2 83 35 f1 3d c2 82 35 c9 e5 d5 c5 2a 30 2c 3a 2f 2c 47 7e b7 3d fa b3 35   ┆   ü# ,  5 =  5    *0,:/,Gü =  5┆
0x03d0a0…03d0c0             1a fe 01 ca ac 35 be 3e fe c2 b3 35 23 13 05 c2 a0 35 af c1 d1 e1 32 5e 2c c9 e5 d5 c5 2a 27 2c   ┆     5 >   5#    5    2^,    *',┆
0x03d0c0…03d0e0             cd db 35 c2 d7 35 7e fe 0d ca cd 35 23 1a 13 d6 0d c2 c0 35 32 5e 2c c1 d1 e1 c9 cd f0 35 47 eb   ┆  5  5ü    5#      52^,      5G ┆
0x03d0e0…03d100             cd f0 35 eb fe 01 ca db 35 b8 c0 b7 c2 db 35 c9 7e d6 2c c8 7e d6 0d c8 7e 23 e6 7f c9 cd b9 30   ┆  5     5     5 ü , ü   ü#     0┆
0x03d100…03d120             cd 06 36 c3 ef 30 3a 4b 2c b7 c2 3f 36 3a 5e 2c 3c c2 20 36 2a 2b 2c 23 22 2b 2c 3e ff c3 64 36   ┆  6  0:K,  ?6:^,<  6*+,#"+,>  d6┆
0x03d120…03d140             32 4b 2c 2a ca 39 7c b5 c2 33 36 cd 3f 36 cd 81 36 af c9 23 7c b5 c2 3c 36 22 5f 2c cd 81 36 3a   ┆2K,* 9ø  36 ?6  6  #ø  <6"_,  6:┆
0x03d140…03d160             50 2c 2a 51 2c cd 5c 34 c4 7f 39 3a 66 2c f5 2a 61 2c e5 2a 49 2c 22 61 2c 3a 48 2c 32 66 2c cd   ┆P,*Q, Ø4  9:f, *a, *I,"a,:H,2f, ┆
0x03d160…03d180             c7 36 e1 f1 22 61 2c 32 66 2c cd 45 35 2a 37 2c 22 63 2c 3a 36 2c 32 65 2c cd 11 37 cd 61 37 af   ┆ 6  "a,2f, E5*7,"c,:6,2e,  7 a7 ┆
0x03d180…03d1a0             c9 af 67 6f cd 5c 34 c4 db 30 3a 48 2c 2a 49 2c f5 cd 11 37 f1 22 61 2c 32 66 2c 2a 2b 2c eb 2a   ┆  go Ø4  0:H,*I,   7 "a,2f,*+, *┆
0x03d1a0…03d1c0             63 2c e5 2a 30 2c 36 ff 3a 2f 2c fe 03 da bf 36 23 73 23 72 af 67 6f cd cd 36 e1 22 63 2c c9 eb   ┆c, *0,6 :/,    6#s#r go  6 "c,  ┆
0x03d1c0…03d1e0             2b 22 63 2c c3 b4 36 2a 51 2c 3a 50 2c f5 cd e6 2f c4 84 39 f1 cd df 36 cd ff 2f c4 84 39 c9 2a   ┆+"c,  6*Q,:P,   /  9   6  /  9 *┆
0x03d1e0…03d200             30 2c eb 2a 4c 2c 4f 06 00 09 3a 2f 2c 47 cd ac 37 06 06 eb 2a 63 2c 23 22 63 2c 2a 65 2c 24 2c   ┆0, *L,O   :/,G  7   *c,#"c,*e,$,┆
0x03d200…03d220 (16, 0, 10) 00 cd 3c 3d 2a 0b 43 42 36 20 05 23 c2 08 3d cd 99 3c c2 1f 3d 0e 0d cd a4 3e 0e 0a cd a4 3e 1d   ┆  <=* CB6  #  =  <  =    >    > ┆
0x03d220…03d240             c2 07 3d 2a c5 42 3a 40 02 47 80 80 73 23 3d c2 2c 3d 21 00 00 cd 3c 3d c1 d1 e1 c9 f5 af 32 c4   ┆  =* B:@ G  s#= ,=!   <=      2 ┆
0x03d240…03d260             42 f1 c3 48 3d cd bb 41 e5 d5 c5 f5 3a b9 42 b7 c2 c2 3d e5 5c 55 2a c2 42 7b bc c2 7a 3d 7a 95   ┆B  H=  A    : B   = ØU* Bæ  z=z ┆
0x03d260…03d280             ca af 3d 47 3a 0a 43 b8 da 7a 3d 2a b6 42 4e cd a4 3e 23 05 c2 6e 3d c3 af 3d 3a 67 02 b7 c2 bb   ┆  =G: C  z=* BN  >#  n=  =:g    ┆
0x03d280…03d2a0             3d 21 4d 02 cd ea 3d 2a 61 02 19 4d 54 3a 60 02 b7 ca 96 3d 4c 55 cd a4 3e 21 56 02 cd ea 3d 4a   ┆=!M   =*a  MT:`    =LU  >!V   =J┆
0x03d2a0…03d2c0             cd a4 3e 21 5b 02 cd ea 3d 3a b0 02 cd 1b 3e e1 cd d8 3d cd 6e 3e f1 c1 d1 e1 c9 eb cd 67 02 c3   ┆  >!Æ   =:    >   = n>       g  ┆
0x03d2c0…03d2e0             a9 3d cd c2 3c cd d8 3d 2a b4 42 22 b6 42 7e 32 b8 42 f6 80 77 c3 b6 3d e5 d5 c5 22 be 42 44 4d   ┆ =  <  =* B" Bü2 B  w  =   " BDM┆
0x03d2e0…03d300             cd 60 42 22 b4 42 c1 d1 e1 c9 3e 01 32 08 43 46 04 05 c8 23 4e 79 e6 7e fe 02 cc 03 3e cd 3e 3e   ┆ `B" B    > 2 CF   #Ny ü    > >>┆
0x03d300…03d320             c3 f1 3d e5 d5 eb 2a 8c 18 79 e6 80 b6 4f 1b 23 1a e6 7e fe 02 ca 09 3e d1 e1 c9 cd ab 3c af 32   ┆  =   *  y   O #  ü    >     < 2┆
0x03d320…03d340             08 43 c9 79 fe 20 d2 32 3e fe 0d c0 e5 cd 09 40 e1 c9 cd 3e 3e e5 2a be 42 cd 3c 3d e1 c9 e5 d5   ┆ C y   2>      @   >> * B <=    ┆
0x03d340…03d360             c5 3a 08 43 b7 c2 a7 3e 79 cd b5 3e 4f cd 54 3e c1 d1 e1 c9 cd 99 3c c2 7b 3e 79 2a b4 42 be ca   ┆ : C   >y  >O T>      < æ>y* B  ┆
0x03d360…03d380             8c 3e 2a be 42 cd 48 3d cd a4 3e cd 8c 3e 2a be 42 22 c2 42 2a b4 42 22 b6 42 c9 2a b6 42 eb 2a   ┆ >* B H=  >  >* B" B* B" B * B *┆
0x03d380…03d3a0             b4 42 cd b9 39 c2 8c 3e 79 32 b8 42 21 be 42 34 2a b4 42 71 23 22 b4 42 c5 3a bf 42 4f 06 00 cd   ┆ B  9  >y2 B! B4* Bq#" B : BO   ┆
0x03d3a0…03d3c0             fe 40 c1 c9 e5 d5 c5 cd 2a 3f 79 cd 00 00 cd f9 41 c1 d1 e1 c9 07 fe 02 d2 bd 3e c6 be fe 04 d2   ┆ @      *?y     A         >     ┆
0x03d3c0…03d3e0             c4 3e c6 52 0f c9 e5 d5 c5 0e 20 cd b4 3c 2a be 42 95 47 ca e6 3e eb 21 70 02 7e b7 c2 ea 3e cd   ┆ > R         <* B G  > !p ü   > ┆
0x03d3e0…03d400             3e 3e 05 c2 df 3e c1 d1 e1 c9 e5 2a b4 42 0e 00 7e 36 20 96 b1 4f 23 05 c2 f0 3e e1 b7 ca 0e 3f   ┆>>   >     * B  ü6   O#   >    ?┆
0x03d400…03d420 (16, 0, 11) 65 20 63 68 61 72 20 20 20 20 5e 56 3d 69 6e 73 65 72 74 20 68 6f 6c 65 20 20 5e 43 3d 63 6f 70   ┆e char    ^V=insert hole  ^C=cop┆
0x03d420…03d440             79 20 66 72 6f 6d 20 70 72 65 76 69 6f 75 73 20 72 65 63 6f 72 64 20 20 20 20 20 4f 54 48 45 52   ┆y from previous record     OTHER┆
0x03d440…03d460             3a 20 20 20 20 20 20 5e 5a 3d 72 65 73 74 6f 72 65 20 73 63 72 65 65 6e 20 5e 55 3d 70 72 69 6e   ┆:      ^Z=restore screen ^U=prin┆
0x03d460…03d480             74 20 66 6f 72 6d 20 20 20 5e 4f 3d 70 72 69 6e 74 20 64 61 74 61 20 20 20 20 5e 4a 3d 68 65 6c   ┆t form   ^O=print data    ^J=hel┆
0x03d480…03d4a0             70 20 6f 6e 2f 6f 66 66 20 20 45 4e 44 2f 45 58 49 54 3a 20 20 20 5e 42 3d 65 6e 64 20 65 6e 74   ┆p on/off  END/EXIT:   ^B=end ent┆
0x03d4a0…03d4c0             72 79 20 20 20 20 20 20 5e 45 3d 65 78 69 74 20 63 75 72 72 65 6e 74 20 6d 6f 64 65 20 20 20 20   ┆ry      ^E=exit current mode    ┆
0x03d4c0…03d4e0             20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 46 49 45 4c 44 20 45   ┆                         FIELD E┆
0x03d4e0…03d500             44 49 54 3a 20 5e 47 3d 64 65 6c 65 74 65 20 63 68 61 72 20 20 20 20 5e 56 3d 69 6e 73 65 72 74   ┆DIT: ^G=delete char    ^V=insert┆
0x03d500…03d520             20 68 6f 6c 65 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆ hole                           ┆
0x03d520…03d540             20 20 20 20 20 20 20 20 45 4e 44 2f 45 58 49 54 3a 20 20 20 5e 42 3d 65 6e 64 20 65 6e 74 72 79   ┆        END/EXIT:   ^B=end entry┆
0x03d540…03d560             20 20 20 20 20 20 5e 4e 3d 6e 65 78 74 20 72 65 63 6f 72 64 20 20 5e 50 3d 70 72 65 76 20 72 65   ┆      ^N=next record  ^P=prev re┆
0x03d560…03d580             63 6f 72 64 20 20 20 5e 45 3d 65 78 69 74 20 6d 6f 64 65 20 20 20 20 5f 5f 5f 5f 5f 5f 5f 5f 5f   ┆cord   ^E=exit mode    _________┆
0x03d580…03d5a0             5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f   ┆________________________________┆
          […0x1…]
0x03d5c0…03d5e0             5f 5f 5f 5f 5f 5f 41 44 44 20 4d 4f 44 45 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆______ADD MODE                  ┆
0x03d5e0…03d600             20 20 20 20 20 20 20 20 20 20 20 20 63 75 72 72 65 6e 74 20 66 6f 72 6d 3d 20 20 20 20 20 20 20   ┆            current form=       ┆
0x03d600…03d620 (16, 0, 12) 0d 0d 50 72 65 73 73 20 52 45 54 55 52 4e 20 6b 65 79 20 74 6f 20 65 6e 74 65 72 20 66 6f 72 6d   ┆  Press RETURN key to enter form┆
0x03d620…03d640             20 6e 61 6d 65 20 6f 72 20 65 6e 74 65 72 20 5e 43 20 74 6f 20 65 78 69 74 3a 20 00 45 6e 74 65   ┆ name or enter ^C to exit:  Ente┆
0x03d640…03d660             72 20 6e 61 6d 65 20 6f 66 20 66 6f 72 6d 20 64 65 66 69 6e 69 74 69 6f 6e 20 66 69 6c 65 20 28   ┆r name of form definition file (┆
0x03d660…03d680             6f 72 20 70 72 65 73 73 20 52 45 54 55 52 4e 29 3a 20 00 20 54 68 65 20 66 6f 72 6d 20 64 65 66   ┆or press RETURN):   The form def┆
0x03d680…03d6a0             69 6e 69 74 69 6f 6e 20 66 69 6c 65 2c 20 01 80 00 2c 20 64 6f 65 73 20 6e 6f 74 20 65 78 69 73   ┆inition file,    , does not exis┆
0x03d6a0…03d6c0             74 20 79 65 74 2e 0d 20 44 6f 20 79 6f 75 20 77 61 6e 74 20 74 6f 20 63 72 65 61 74 65 20 69 74   ┆t yet.  Do you want to create it┆
0x03d6c0…03d6e0             20 28 41 29 20 6f 72 20 65 6e 74 65 72 20 61 20 64 69 66 66 65 72 65 6e 74 20 66 6f 72 6d 20 6e   ┆ (A) or enter a different form n┆
0x03d6e0…03d700             61 6d 65 20 28 42 29 3f 0d 0d 45 6e 74 65 72 20 41 20 6f 72 20 42 3a 20 00 01 16 0c 64 61 74 61   ┆ame (B)?  Enter A or B:     data┆
0x03d700…03d720             20 66 69 6c 65 20 28 01 80 00 29 20 20 28 41 2f 42 2e 2e 2e 29 20 00 01 16 0c 69 6e 64 65 78 01   ┆ file (   )  (A/B...)     index ┆
0x03d720…03d740             f3 0b 00 45 6e 74 65 72 20 64 69 73 6b 20 64 72 69 76 65 20 74 6f 20 75 73 65 20 66 6f 72 20 74   ┆   Enter disk drive to use for t┆
0x03d740…03d760             68 65 20 00 0d 20 54 68 65 20 64 61 74 61 20 66 69 6c 65 20 69 73 20 75 73 65 64 20 74 6f 20 73   ┆he    The data file is used to s┆
0x03d760…03d780             74 6f 72 65 20 74 68 65 20 64 61 74 61 20 65 6e 74 65 72 65 64 20 74 68 72 6f 75 67 68 20 74 68   ┆tore the data entered through th┆
0x03d780…03d7a0             65 20 44 61 74 61 73 74 61 72 0d 20 70 72 6f 67 72 61 6d 20 62 79 20 72 65 63 6f 72 64 2e 20 20   ┆e Datastar  program by record.  ┆
0x03d7a0…03d7c0             54 68 65 20 69 6e 64 65 78 20 66 69 6c 65 20 69 73 20 75 73 65 64 20 66 6f 72 20 74 68 65 20 73   ┆The index file is used for the s┆
0x03d7c0…03d7e0             65 6c 65 63 74 2d 62 79 2d 6b 65 79 20 6f 70 74 69 6f 6e 0d 20 61 6e 64 20 66 6f 72 20 73 63 61   ┆elect-by-key option  and for sca┆
0x03d7e0…03d800             6e 6e 69 6e 67 20 74 68 65 20 66 69 6c 65 20 69 6e 20 69 6e 64 65 78 20 6f 72 64 65 72 2e 20 20   ┆nning the file in index order.  ┆
0x03d800…03d820 (16, 0, 13) 22 65 2c eb 11 61 2c cd ac 37 eb cd 6b 34 eb 79 c9 e5 d5 c5 2a 49 2c cd e6 2f c4 7f 39 3a 48 2c   ┆"e,  a,  7  k4 y    *I,  /  9:H,┆
0x03d820…03d840             cd df 36 32 48 2c 36 1a cd ff 2f c4 84 39 22 49 2c 2a 44 2c eb 2a 46 2c 3a 53 2c cd 4b 30 c4 84   ┆  62H,6   /  9"I,*D, *F,:S, K0  ┆
0x03d840…03d860             39 c1 d1 e1 c9 e5 d5 c5 2a 3e 2c cd 4b 2f c4 84 39 3a 3d 2c cd 95 37 cd 64 2f c4 84 39 c1 d1 e1   ┆9       *>, K/  9:=,  7 d/  9   ┆
0x03d860…03d880             c9 e5 d5 c5 2a 37 2c cd 4b 2f c4 7f 39 3a 36 2c cd 95 37 32 36 2c 36 1a cd 64 2f c4 84 39 22 37   ┆    *7, K/  9:6,  726,6  d/  9"7┆
0x03d880…03d8a0             2c 2a 32 2c eb 2a 34 2c 3a 43 2c cd 4b 30 c4 84 39 c1 d1 e1 c9 2a 27 2c eb 4f 06 00 2a 39 2c 09   ┆,*2, *4,:C, K0  9    *', O  *9, ┆
0x03d8a0…03d8c0             cd ce 37 79 c9 1a bd c0 13 1a bc c9 1a 77 13 23 0c f2 c9 37 0e 00 cd ff 2f c2 84 39 2a 4e 2c 23   ┆  7y         w #   7    /  9*N,#┆
0x03d8c0…03d8e0             cd e6 2f c4 7f 39 2a 4c 2c 05 c2 ac 37 c9 cd 17 38 c2 e6 37 1a 13 cd 31 38 fe 2c ca ce 37 fe 0d   ┆  /  9*L,   7   8  7   18 ,  7  ┆
0x03d8e0…03d900             ca 0b 38 c3 d4 37 cd 2f 38 1a cd 11 38 ca fe 37 13 e6 7f fe 22 cc 31 38 cd 31 38 c3 e9 37 cd 2f   ┆  8  7 /8   8  7    " 18 18  7 /┆
0x03d900…03d920             38 1a 13 cd 31 38 fe 0d c2 ce 37 3e 0a cd 31 38 c9 fe 2c c8 fe 0d c9 1a 3c c8 d5 1a 13 cd 11 38   ┆8   18    7>  18  ,     <      8┆
0x03d920…03d940             ca 2d 38 b7 fa 2d 38 fe 22 c2 1b 38 b7 d1 c9 3e 22 77 23 0c f0 f5 cd 64 2f c2 84 39 2a 3b 2c 23   ┆ -8  -8 "  8   >"w#    d/  9*;,#┆
0x03d940…03d960             cd 4b 2f c4 7f 39 2a 39 2c 0e 00 f1 c9 3a 5e 2c b7 f8 cd b9 30 2a 3e 2c 22 f9 39 3a 3d 2c 32 f8   ┆ K/  9*9,    :^,    0*>," 9:=,2 ┆
0x03d960…03d980             39 cd 3c 34 c4 db 30 7e 32 f7 39 36 ff cd 64 2f c4 84 39 c3 ef 30 cd b9 30 2a f9 39 22 3e 2c 3a   ┆9 <4  0ü2 96  d/  9  0  0* 9">,:┆
0x03d980…03d9a0             f8 39 32 3d 2c cd 3c 34 c4 db 30 3a f7 39 77 c3 6d 38 3a 5e 2c b7 f8 cd b9 30 2a 5c 2c eb 2a 27   ┆ 92=, <4  0: 9w m8:^,    0*Ø, *'┆
0x03d9a0…03d9c0             2c 7e 23 1b fe 0d c2 a1 38 7a b3 ca 48 37 cd 06 36 cd 52 38 c3 ef 30 7e 12 23 13 05 c2 b7 38 c9   ┆,ü#     8z  H7  6 R8  0ü #    8 ┆
0x03d9c0…03d9e0             7c b7 1f 67 7d 1f 6f 05 c2 c0 38 c9 79 2f 4f 78 2f 47 03 c9 01 00 00 eb 60 69 b7 1f d2 e5 38 f5   ┆ø  gå o   8 y/Ox/G      `i    8 ┆
0x03d9e0…03da00             19 78 81 47 f1 b7 c8 f5 eb 29 eb 79 17 4f f1 c3 da 38 e3 d5 c5 5e 0e 02 cd 54 39 23 7e b7 c2 f5   ┆ x G     ) y O   8   ^   T9#ü   ┆
0x03da00…03da20 (16, 0, 14) eb cd 45 3d eb cd ea 3d 3a b1 02 cd 1b 3e c1 d1 e1 c9 3a b5 02 b7 c2 20 3f 3a b3 42 b7 c3 30 3f   ┆  E=   =:    >    :     ?: B  0?┆
0x03da20…03da40             e5 2a b6 42 7e ee 80 77 e1 c9 3a b3 42 a9 f0 a9 ca 48 3f af 32 b3 42 e5 21 8e 02 7e b7 c2 43 3f   ┆ * Bü  w  : B    H? 2 B !  ü  C?┆
0x03da40…03da60             21 87 02 cd 56 3f e1 c9 e5 21 87 02 cd 56 3f e1 3e ff 32 b3 42 c9 3a 08 43 f5 c5 cd ea 3d 3a b1   ┆!   V?   !   V? > 2 B : C    =: ┆
0x03da60…03da80             02 cd 1b 3e c1 f1 32 08 43 c9 cd 83 3f cd cd 41 ca 6d 3f cd 7e 3f c2 6a 3f 4f cd a8 41 c9 0c 0d   ┆   >  2 C   ?  A m? ü? j?O  A   ┆
0x03da80…03daa0             c8 b9 c9 e5 d5 c5 e5 60 2e 00 cd 59 42 cd e0 41 cc 45 3d e1 cd ce 3f cd e0 41 c2 b5 3f 2a be 42   ┆       `.  YB  A E=   ?  A  ?* B┆
0x03daa0…03dac0             e5 cd c6 3e 44 04 78 d6 06 2f 3c dc e5 40 cd 59 42 e1 cd 48 3d c1 d1 e1 c9 3e 00 c3 bf 3f 79 e5   ┆   >D x  /<  @ YB  H=    >   ?y ┆
0x03dac0…03dae0             6f 60 cd 15 40 e1 cd ce 3f af 32 c4 42 c9 e5 d5 c5 cd c7 40 06 00 16 01 e5 2a be 42 cd b4 3c 95   ┆o`  @   ? 2 B      @     * B  < ┆
0x03dae0…03db00             5f e1 7e 4f 23 fe 20 da 2e 40 fe 80 ca 46 40 cd e0 41 cc 3e 3e 04 05 ca fe 3f 05 ca 46 40 1d c2   ┆_ üO#   .@   F@  A >>    ?  F@  ┆
0x03db00…03db20             e2 3f e5 cd 09 40 c3 dc 3f cd e0 41 cc c6 3e 2a be 42 24 2e 00 cd e0 41 cc 45 3d c9 46 23 14 d5   ┆ ?   @  ?  A  >* B$.   A E= F#  ┆
0x03db20…03db40             5e 23 56 23 e3 eb 7c b7 c4 b2 40 c3 e2 3f fe 0d ca 02 40 04 05 c2 f5 3f fe 01 ca 1e 40 fe 02 ca   ┆^#V#  ø   @  ?    @    ?    @   ┆
0x03db40…03db60             1c 40 b7 c2 f5 3f 15 c2 e1 3f 2a be 42 cd e0 41 cc c6 3e cd 45 3d c1 d1 e1 c9 e5 d5 c5 46 23 e5   ┆ @   ?   ?* B  A  > E=       F# ┆
0x03db60…03db80             23 1e 00 cd 1d 41 e6 7f fe 7f c2 6f 40 3e 08 fe 20 da 85 40 4f cd 23 3e 71 23 1c 05 c2 63 40 e1   ┆#    A     o@>     @O #>q#   c@ ┆
0x03db80…03dba0             73 c1 d1 e1 c9 fe 03 ca 00 00 fe 0d 36 00 ca 7f 40 cd 97 40 c3 63 40 fe 08 c0 7b b7 c8 e5 2a be   ┆s           6   @  @ c@   æ   * ┆
0x03dba0…03dbc0             42 2d cd 3c 3d 0e 20 cd 23 3e cd 3c 3d e1 2b 04 1d c9 d5 f5 eb 2a 0f 43 eb 7a 3c bc da c4 40 11   ┆B- <=   #> <= +      * C z<   @ ┆
0x03dbc0…03dbe0             0d 43 15 19 f1 d1 c9 d5 f5 11 5b 43 cd b9 39 d2 e2 40 11 01 44 cd b9 39 da e2 40 5e 23 56 eb cd   ┆ C        ÆC  9  @  D  9  @^#V  ┆
0x03dbe0…03dc00             b2 40 f1 d1 c9 e5 c5 48 f5 cd b4 3c 47 f1 2a 61 43 f5 cd fe 40 f1 0c 3d c2 f1 40 c1 e1 c9 f5 3a   ┆ @     H   <G *aC   @  =  @    :┆
0x03dc00…03dc20 (16, 0, 15) 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆                                ┆
          […0x1…]
0x03dc40…03dc60             20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41 44 44 20 4d 4f 44 45 20 20 20 20 20   ┆                   ADD MODE     ┆
0x03dc60…03dc80             20 20 4c 4f 43 41 54 45 20 4b 45 59 20 4d 4f 44 45 20 20 53 43 41 4e 20 4d 4f 44 45 20 28 44 29   ┆  LOCATE KEY MODE  SCAN MODE (D)┆
0x03dc80…03dca0             20 20 53 43 41 4e 20 4d 4f 44 45 20 28 49 29 45 44 49 54 20 53 43 41 4e 20 4d 41 53 4b 20 56 45   ┆  SCAN MODE (I)EDIT SCAN MASK VE┆
0x03dca0…03dcc0             52 49 46 59 20 4d 4f 44 45 20 20 20 20 4d 41 49 4e 54 45 4e 41 4e 43 45 20 20 20 20 2c 20 50 4c   ┆RIFY MODE    MAINTENANCE    , PL┆
0x03dcc0…03dce0             45 41 53 45 20 45 4e 54 45 52 20 4b 45 59 20 20 20 2f 42 41 54 43 48 20 20 20 20 20 20 20 20 20   ┆EASE ENTER KEY   /BATCH         ┆
0x03dce0…03dd00             20 20 20 20 20 20 0d 48 69 74 20 52 45 54 55 52 4e 20 74 6f 20 66 69 6c 65 20 65 6e 74 65 72 65   ┆       Hit RETURN to file entere┆
0x03dd00…03dd20             64 20 64 61 74 61 20 6f 72 20 52 55 42 20 74 6f 20 65 72 61 73 65 20 61 6c 6c 20 69 74 65 6d 73   ┆d data or RUB to erase all items┆
0x03dd20…03dd40             20 6f 6e 20 73 63 72 65 65 6e 2e 0d 54 79 70 65 20 61 6e 79 20 6f 74 68 65 72 20 63 68 61 72 61   ┆ on screen. Type any other chara┆
0x03dd40…03dd60             63 74 65 72 20 74 6f 20 72 65 74 75 72 6e 20 74 6f 20 74 6f 70 20 6f 66 20 66 6f 72 6d 20 61 6e   ┆cter to return to top of form an┆
0x03dd60…03dd80             64 20 63 6f 6e 74 69 6e 75 65 3a 20 00 48 69 74 20 52 45 54 55 52 4e 20 74 6f 20 66 69 6c 65 20   ┆d continue:  Hit RETURN to file ┆
0x03dd80…03dda0             75 70 64 61 74 65 64 20 64 61 74 61 20 6f 72 20 52 55 42 20 74 6f 20 6c 65 61 76 65 20 66 69 6c   ┆updated data or RUB to leave fil┆
0x03dda0…03ddc0             65 64 20 64 61 74 61 20 61 73 0d 69 74 20 77 61 73 20 61 6e 64 20 62 65 67 69 6e 20 75 70 64 61   ┆ed data as it was and begin upda┆
0x03ddc0…03dde0             74 69 6e 67 20 61 6e 6f 74 68 65 72 20 66 6f 72 6d 01 1d 06 00 0d 48 69 74 20 52 45 54 55 52 4e   ┆ting another form     Hit RETURN┆
0x03dde0…03de00             20 74 6f 20 67 6f 20 74 6f 20 6e 65 78 74 20 66 6f 72 6d 20 6f 72 20 52 55 42 20 74 6f 20 72 65   ┆ to go to next form or RUB to re┆
0x03de00…03de20 (16, 1, 1)  49 66 20 74 68 65 73 65 20 66 69 6c 65 73 20 64 6f 6e 27 74 20 65 78 69 73 74 0d 20 79 65 74 2c   ┆If these files don't exist  yet,┆
0x03de20…03de40             20 74 68 65 79 20 77 69 6c 6c 20 62 65 20 63 72 65 61 74 65 64 20 6f 6e 20 74 68 65 20 64 72 69   ┆ they will be created on the dri┆
0x03de40…03de60             76 65 20 79 6f 75 20 73 65 6c 65 63 74 2e 20 20 41 20 64 69 73 6b 20 64 72 69 76 65 20 69 73 0d   ┆ve you select.  A disk drive is ┆
0x03de60…03de80             20 73 70 65 63 69 66 69 65 64 20 62 79 20 61 20 6c 65 74 74 65 72 20 41 2d 50 2e 0d 00 57 68 69   ┆ specified by a letter A-P.  Whi┆
0x03de80…03dea0             63 68 20 63 6f 6d 6d 61 6e 64 20 77 6f 75 6c 64 20 79 6f 75 20 6c 69 6b 65 20 65 78 70 6c 61 69   ┆ch command would you like explai┆
0x03dea0…03dec0             6e 65 64 3f 20 28 41 2f 4b 2f 45 2f 49 2f 44 2f 4d 2f 42 2f 56 2f 52 2f 46 29 3a 0d 01 fb 0d 01   ┆ned? (A/K/E/I/D/M/B/V/R/F):     ┆
0x03dec0…03dee0             c2 0e 01 e0 0e 00 01 d6 0d 01 fb 0d 01 e0 0e 01 f7 0e 00 01 d6 0d 01 fb 0d 01 c2 0e 01 e0 0e 01   ┆                                ┆
0x03dee0…03df00             f7 0e 00 45 6e 74 65 72 20 63 68 61 72 61 63 74 65 72 20 74 6f 20 73 65 6c 65 63 74 20 6e 65 77   ┆   Enter character to select new┆
0x03df00…03df20             20 6d 6f 64 65 3a 0d 00 20 41 20 3d 20 41 44 44 20 6e 65 77 20 72 65 63 6f 72 64 73 20 20 20 20   ┆ mode:   A = ADD new records    ┆
0x03df20…03df40             20 20 4b 20 3d 20 73 65 6c 65 63 74 20 72 65 63 6f 72 64 73 20 62 79 20 4b 45 59 20 20 20 20 45   ┆  K = select records by KEY    E┆
0x03df40…03df60             20 3d 20 45 78 69 74 20 63 75 72 72 65 6e 74 20 66 6f 72 6d 0d 20 49 20 3d 20 53 43 41 4e 20 69   ┆ = Exit current form  I = SCAN i┆
0x03df60…03df80             6e 20 49 6e 64 65 78 20 6f 72 64 65 72 20 20 44 20 3d 20 53 43 41 4e 20 69 6e 20 44 61 74 61 20   ┆n Index order  D = SCAN in Data ┆
0x03df80…03dfa0             66 69 6c 65 20 6f 72 64 65 72 20 20 4d 20 3d 20 65 64 69 74 20 73 63 61 6e 20 4d 61 73 6b 0d 20   ┆file order  M = edit scan Mask  ┆
0x03dfa0…03dfc0             42 20 3d 20 73 65 6c 65 63 74 20 42 61 74 63 68 20 66 69 6c 65 20 20 20 20 56 20 3d 20 56 65 72   ┆B = select Batch file    V = Ver┆
0x03dfc0…03dfe0             69 66 79 20 62 61 74 63 68 20 66 69 6c 65 00 20 20 20 20 20 20 20 20 52 20 3d 20 52 65 73 74 6f   ┆ify batch file         R = Resto┆
0x03dfe0…03e000             72 65 20 6d 61 69 6e 20 66 69 6c 65 00 0d 20 46 20 3d 20 46 69 6c 65 20 6d 61 69 6e 74 65 6e 61   ┆re main file   F = File maintena┆
0x03e000…03e020 (16, 1, 2)  6f 64 65 20 77 69 6c 6c 20 6f 6e 6c 79 20 70 72 65 73 65 6e 74 20 63 65 72 74 61 69 6e 0d 72 65   ┆ode will only present certain re┆
0x03e020…03e040             63 6f 72 64 73 20 6f 75 74 20 6f 66 20 74 68 65 20 64 61 74 61 62 61 73 65 2e 00 45 3d 45 58 49   ┆cords out of the database. E=EXI┆
0x03e040…03e060             54 20 43 55 52 52 45 4e 54 20 46 4f 52 4d 20 69 73 20 75 73 65 64 20 74 6f 20 43 48 41 4e 47 45   ┆T CURRENT FORM is used to CHANGE┆
0x03e060…03e080             20 46 4f 52 4d 53 20 6f 72 20 45 58 49 54 20 44 41 54 41 53 54 41 52 20 45 4e 54 49 52 45 4c 59   ┆ FORMS or EXIT DATASTAR ENTIRELY┆
0x03e080…03e0a0             2e 0d 41 66 74 65 72 20 65 78 69 74 74 69 6e 67 20 63 75 72 72 65 6e 74 20 66 6f 72 6d 20 28 75   ┆. After exitting current form (u┆
0x03e0a0…03e0c0             73 69 6e 67 20 74 68 65 20 5e 45 45 20 63 6f 6d 6d 61 6e 64 29 3a 0d 20 20 20 74 6f 20 63 68 61   ┆sing the ^EE command):    to cha┆
0x03e0c0…03e0e0             6e 67 65 20 66 6f 72 6d 73 2c 20 65 6e 74 65 72 20 61 20 6e 65 77 20 66 6f 72 6d 20 6e 61 6d 65   ┆nge forms, enter a new form name┆
0x03e0e0…03e100             0d 20 20 20 74 6f 20 65 78 69 74 20 44 41 54 41 53 54 41 52 20 61 6e 64 20 72 65 74 75 72 6e 20   ┆    to exit DATASTAR and return ┆
0x03e100…03e120             74 6f 20 74 68 65 20 43 50 2f 4d 20 6f 70 65 72 61 74 69 6e 67 20 73 79 73 74 65 6d 2c 20 74 79   ┆to the CP/M operating system, ty┆
0x03e120…03e140             70 65 20 5e 43 00 44 3d 53 43 41 4e 20 49 4e 20 44 41 54 41 20 46 49 4c 45 20 4f 52 44 45 52 20   ┆pe ^C D=SCAN IN DATA FILE ORDER ┆
0x03e140…03e160             69 73 20 75 73 65 64 20 74 6f 20 52 45 56 49 45 57 20 54 48 45 20 43 55 52 52 45 4e 54 20 46 49   ┆is used to REVIEW THE CURRENT FI┆
0x03e160…03e180             4c 45 20 49 4e 20 45 4e 54 52 59 20 4f 52 44 45 52 2e 01 7d 14 00 42 3d 53 45 4c 45 43 54 20 42   ┆LE IN ENTRY ORDER. å  B=SELECT B┆
0x03e180…03e1a0             41 54 43 48 20 46 49 4c 45 20 69 73 20 75 73 65 64 20 74 6f 20 53 45 4c 45 43 54 20 41 4e 20 41   ┆ATCH FILE is used to SELECT AN A┆
0x03e1a0…03e1c0             4c 54 45 52 4e 41 54 45 20 46 49 4c 45 20 66 6f 72 20 75 73 65 20 69 6e 20 61 6c 6c 0d 64 61 74   ┆LTERNATE FILE for use in all dat┆
0x03e1c0…03e1e0             61 62 61 73 65 20 6f 70 65 72 61 74 69 6f 6e 73 2e 20 20 42 61 74 63 68 20 66 69 6c 65 20 70 72   ┆abase operations.  Batch file pr┆
0x03e1e0…03e200             6f 63 65 73 73 69 6e 67 20 69 73 20 69 64 65 6e 74 69 63 61 6c 20 74 6f 20 70 72 69 6d 61 72 79   ┆ocessing is identical to primary┆
0x03e200…03e220 (16, 1, 3)  20 3a 20 20 57 69 64 74 68 20 69 6e 20 77 6f 72 64 73 20 6f 66 20 6f 75 74 70 75 74 20 6c 69 6e   ┆ :  Width in words of output lin┆
0x03e220…03e240             65 2e 20 20 31 20 3c 3d 20 57 69 64 74 68 20 3c 3d 20 31 35 20 0d 10 2a 0d 10 2a 0d 10 2a 54 68   ┆e.  1 <= Width <= 15   *  *  *Th┆
0x03e240…03e260             65 20 66 6f 6c 6c 6f 77 69 6e 67 20 68 61 76 65 20 74 68 72 65 65 20 62 6f 6f 6c 65 61 6e 73 20   ┆e following have three booleans ┆
0x03e260…03e280             74 68 61 74 20 68 61 76 65 20 74 6f 20 62 65 20 73 70 65 63 69 66 69 65 64 2e 0d 10 2a 54 68 65   ┆that have to be specified.  *The┆
0x03e280…03e2a0             20 55 53 45 20 76 61 72 69 61 62 6c 65 20 28 20 74 68 65 20 75 6e 74 69 74 6c 65 64 20 66 69 72   ┆ USE variable ( the untitled fir┆
0x03e2a0…03e2c0             73 74 20 63 6f 6c 75 6d 6e 20 29 20 74 65 6c 6c 73 20 44 55 4d 50 0d 10 2a 77 68 65 74 68 65 72   ┆st column ) tells DUMP  *whether┆
0x03e2c0…03e2e0             20 6f 72 20 6e 6f 74 20 74 6f 20 65 76 65 6e 20 63 6f 6e 73 69 64 65 72 20 70 72 69 6e 74 69 6e   ┆ or not to even consider printin┆
0x03e2e0…03e300             67 20 6f 75 74 20 69 6e 20 74 68 61 74 20 66 6f 72 6d 61 74 2e 0d 10 2a 0d 10 2a 54 68 65 20 46   ┆g out in that format.  *  *The F┆
0x03e300…03e320             4c 49 50 20 63 6f 6c 75 6d 6e 20 74 65 6c 6c 73 20 44 55 4d 50 20 77 68 65 74 68 65 72 20 6f 72   ┆LIP column tells DUMP whether or┆
0x03e320…03e340             20 6e 6f 74 20 74 6f 20 66 6c 69 70 20 74 68 65 20 62 79 74 65 73 0d 10 2a 62 65 66 6f 72 65 20   ┆ not to flip the bytes  *before ┆
0x03e340…03e360             64 69 73 70 6c 61 79 69 6e 67 20 74 68 65 20 77 6f 72 64 20 69 6e 20 74 68 61 74 20 66 6f 72 6d   ┆displaying the word in that form┆
0x03e360…03e380             61 74 2e 0d 10 2a 0d 10 2a 54 68 65 20 42 4f 54 48 20 63 6f 6c 75 6d 6e 20 69 73 20 66 6f 72 20   ┆at.  *  *The BOTH column is for ┆
0x03e380…03e3a0             73 69 6d 75 6c 74 61 6e 65 6f 75 73 6c 79 20 64 69 73 70 6c 61 79 69 6e 67 20 62 6f 74 68 20 46   ┆simultaneously displaying both F┆
0x03e3a0…03e3c0             6c 69 70 70 65 64 0d 10 2a 61 6e 64 20 6e 6f 6e 2d 46 6c 69 70 70 65 64 20 76 65 72 73 69 6f 6e   ┆lipped  *and non-Flipped version┆
0x03e3c0…03e3e0             73 20 6f 66 20 74 68 65 20 6c 69 6e 65 2e 20 20 49 66 20 42 4f 54 48 20 69 73 20 74 72 75 65 2c   ┆s of the line.  If BOTH is true,┆
0x03e3e0…03e400             20 69 74 20 64 6f 65 73 0d 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆ it does                        ┆
0x03e400…03e420 (16, 1, 4)  cd 8f 10 3e 0c cd 14 11 e1 d1 c1 37 c9 2a 93 3d 23 7e 2b b7 c2 a8 0f 3a f5 3c b7 c0 cd f3 10 cd   ┆   >       7 * =#ü+    : <      ┆
0x03e420…03e440             6b 0f 3a 23 3d f5 cd 21 10 f5 21 28 3d cd 54 10 2a ff 3c 7c b7 c2 40 0f 7d fe 0a 3e 20 dc 14 11   ┆k :#=  !  !(= T * <ø  @ å  >    ┆
0x03e440…03e460             cd 90 0f f1 cd 0e 10 f1 32 23 3d cd 4f 0f c9 22 fd 3c d1 21 0d 3d 01 8e 0f f1 be 0a c4 14 11 2b   ┆        2#= O  " < ! =         +┆
0x03e460…03e480             0b 0a 3c c2 59 0f d5 2a fd 3c c9 22 fd 3c d1 21 06 3d 01 87 0f 7e f5 b7 0a c4 14 11 23 03 0a 3c   ┆  < Y  * < " < ! =   ü      #  <┆
0x03e480…03e4a0             c2 75 0f c3 66 0f ff 02 04 13 18 10 14 16 19 ff c5 d5 06 00 11 14 11 cd 43 18 d1 c1 c9 f5 3e 0d   ┆ u  f                   C     > ┆
0x03e4a0…03e4c0             cd 14 11 3e 0a c3 15 11 23 7e 2b b7 c8 c5 e5 cd f3 10 e1 c1 cd 6b 0f 3a 23 3d f5 cd 21 10 f5 7e   ┆   >    #ü+          k :#=  !  ü┆
0x03e4c0…03e4e0             cd 0e 10 23 7e b7 ca 43 0f fe 5c c2 d7 0f 23 7e b7 ca 43 0f c3 08 10 fe 23 c2 e7 0f e5 2a ff 3c   ┆   #ü  C  Ø   #ü  C     #    * <┆
0x03e4e0…03e500             cd 90 0f e1 c3 c3 0f fe 0b c2 08 10 3a ff 3c 1f da c3 0f 23 7e e6 7f ca 43 0f fe 20 ca f3 0f fe   ┆            : <    #ü   C       ┆
0x03e500…03e520             09 ca f3 0f 2b c3 c3 0f cd 14 11 c3 c3 0f e5 21 64 12 e5 6f 3a e6 3c b7 7d ca 32 10 3e 15 c3 da   ┆    +          !d  o: < å 2 >   ┆
0x03e520…03e540             10 3a e6 3c b7 3a 23 3d e5 c4 3d 0b e1 c9 3e ff fe af 21 23 3d be c8 77 3a e6 3c b7 7e c2 4b 10   ┆ : < :#=  =   >   !#=  w: < ü K ┆
0x03e540…03e560             b7 3e 01 c2 48 10 3e 0e c3 35 12 cd 3d 0b 6f 3e 15 c3 da 10 5e 23 7e cd 0e 10 1c 1d c8 3e 20 cd   ┆ >  H >  5  = o>    ^#ü      >  ┆
0x03e560…03e580             35 12 c3 5b 10 eb 2a 01 3d 3a e7 3c b7 ca 7a 10 eb cd 2c 17 7c b7 f8 c3 b2 10 3a 0e 3d cd 3f 17   ┆5  Æ  * =: <  z   , ø     : = ? ┆
0x03e580…03e5a0             cd 68 17 d8 cd 9d 0f 3a 05 3d b7 c8 c3 66 10 3a e7 3c b7 4e 23 cd 55 17 c2 ad 10 0c 0d ca 72 11   ┆ h     : =   f : < N# U       r ┆
0x03e5a0…03e5c0             3e 0d cd 14 11 3e 0a cd 35 12 c3 9c 10 3e 0d cd 14 11 2b 7c fe 14 23 d0 e5 3e 1b cd c2 10 e1 c3   ┆>    >  5    >    +ø  #  >      ┆
0x03e5c0…03e5e0             72 11 d5 eb 21 22 ff 19 eb d2 d6 10 2e de 67 cd da 10 7c c3 c4 10 d1 2c 2d c8 f5 3a 8b 36 b7 c2   ┆r   !"      . g   ø    ,-  : 6  ┆
0x03e5e0…03e600             b4 12 f1 cd 35 12 7d fe de da ee 10 3e de c6 20 c3 35 12 47 21 04 3d 7e 36 ff 21 8d 36 b6 78 c0   ┆    5 å     >    5 G! =ü6 ! 6 x ┆
0x03e600…03e620 (16, 1, 5)  6e 63 65 00 20 20 20 20 20 4a 20 3d 20 48 65 6c 70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆nce      J = Help               ┆
0x03e620…03e640             20 20 20 20 20 20 53 50 41 43 45 20 3d 20 63 75 72 72 65 6e 74 20 6d 6f 64 65 00 56 3d 56 45 52   ┆      SPACE = current mode V=VER┆
0x03e640…03e660             49 46 59 20 4d 4f 44 45 20 69 73 20 75 73 65 64 20 74 6f 20 43 48 45 43 4b 20 54 48 45 20 56 41   ┆IFY MODE is used to CHECK THE VA┆
0x03e660…03e680             4c 49 44 49 54 59 20 4f 46 20 43 45 52 54 41 49 4e 20 46 49 45 4c 44 53 20 49 4e 20 41 20 42 41   ┆LIDITY OF CERTAIN FIELDS IN A BA┆
0x03e680…03e6a0             54 43 48 20 46 49 4c 45 2e 0d 57 68 65 6e 20 74 68 65 20 66 6f 72 6d 20 69 73 20 70 72 65 73 65   ┆TCH FILE. When the form is prese┆
0x03e6a0…03e6c0             6e 74 65 64 2c 20 65 61 63 68 20 64 61 74 61 66 69 65 6c 64 20 74 68 61 74 20 74 68 65 20 63 75   ┆nted, each datafield that the cu┆
0x03e6c0…03e6e0             72 73 6f 72 20 73 74 6f 70 73 20 61 74 20 77 69 6c 6c 0d 72 65 71 75 69 72 65 20 65 69 74 68 65   ┆rsor stops at will require eithe┆
0x03e6e0…03e700             72 20 61 20 76 69 73 75 61 6c 20 63 68 65 63 6b 20 6f 72 20 63 6f 6d 70 6c 65 74 65 20 72 65 2d   ┆r a visual check or complete re-┆
0x03e700…03e720             65 6e 74 72 79 2e 20 20 49 6e 20 61 64 64 69 74 69 6f 6e 2c 20 63 65 72 74 61 69 6e 0d 69 6c 6c   ┆entry.  In addition, certain ill┆
0x03e720…03e740             65 67 61 6c 20 66 69 65 6c 64 73 20 77 69 6c 6c 20 72 65 71 75 69 72 65 20 72 65 2d 65 6e 74 72   ┆egal fields will require re-entr┆
0x03e740…03e760             79 2e 20 20 57 68 65 6e 20 74 68 65 20 72 65 63 6f 72 64 20 68 61 73 20 62 65 65 6e 20 76 65 72   ┆y.  When the record has been ver┆
0x03e760…03e780             69 66 69 65 64 0d 69 74 20 77 69 6c 6c 20 62 65 20 72 65 6d 6f 76 65 64 20 66 72 6f 6d 20 74 68   ┆ified it will be removed from th┆
0x03e780…03e7a0             65 20 62 61 74 63 68 20 66 69 6c 65 20 61 6e 64 20 70 6c 61 63 65 64 20 69 6e 20 74 68 65 20 6d   ┆e batch file and placed in the m┆
0x03e7a0…03e7c0             61 69 6e 20 66 69 6c 65 2e 00 46 3d 46 49 4c 45 20 4d 41 49 4e 54 45 4e 41 4e 43 45 20 69 73 20   ┆ain file. F=FILE MAINTENANCE is ┆
0x03e7c0…03e7e0             75 73 65 64 20 74 6f 20 4f 52 44 45 52 20 54 48 45 20 50 52 49 4d 41 52 59 20 46 49 4c 45 20 61   ┆used to ORDER THE PRIMARY FILE a┆
0x03e7e0…03e800             6e 64 20 72 65 6d 6f 76 65 20 64 65 6c 65 74 65 64 0d 72 65 63 6f 72 64 73 2e 20 20 57 68 65 6e   ┆nd remove deleted records.  When┆
0x03e800…03e820 (16, 1, 6)  0d 66 69 6c 65 20 70 72 6f 63 65 73 73 69 6e 67 20 77 69 74 68 20 74 68 65 20 66 6f 6c 6c 6f 77   ┆ file processing with the follow┆
0x03e820…03e840             69 6e 67 20 74 77 6f 20 65 78 63 65 70 74 69 6f 6e 73 3a 0d 20 57 68 65 6e 20 61 20 62 61 74 63   ┆ing two exceptions:  When a batc┆
0x03e840…03e860             68 20 66 69 6c 65 20 69 73 20 73 65 6c 65 63 74 65 64 2c 20 76 65 72 69 66 69 63 61 74 69 6f 6e   ┆h file is selected, verification┆
0x03e860…03e880             20 69 73 20 6e 6f 74 20 70 65 72 66 6f 72 6d 65 64 20 69 6e 20 41 44 44 20 4d 4f 44 45 2e 0d 20   ┆ is not performed in ADD MODE.  ┆
0x03e880…03e8a0             49 74 20 69 73 20 6e 6f 74 20 70 6f 73 73 69 62 6c 65 20 74 6f 20 65 6e 74 65 72 20 76 65 72 69   ┆It is not possible to enter veri┆
0x03e8a0…03e8c0             66 79 20 6d 6f 64 65 20 75 6e 6c 65 73 73 20 61 20 62 61 74 63 68 20 66 69 6c 65 20 69 73 20 73   ┆fy mode unless a batch file is s┆
0x03e8c0…03e8e0             65 6c 65 63 74 65 64 2e 00 41 3d 41 44 44 20 4d 4f 44 45 20 69 73 20 75 73 65 64 20 74 6f 20 45   ┆elected. A=ADD MODE is used to E┆
0x03e8e0…03e900             4e 54 45 52 20 4e 45 57 20 52 45 43 4f 52 44 53 20 49 4e 54 4f 20 54 48 45 20 43 55 52 52 45 4e   ┆NTER NEW RECORDS INTO THE CURREN┆
0x03e900…03e920             54 20 46 49 4c 45 20 28 70 72 69 6d 61 72 79 20 6f 72 0d 62 61 74 63 68 29 2e 20 20 57 68 65 6e   ┆T FILE (primary or batch).  When┆
0x03e920…03e940             20 61 6e 20 65 6d 70 74 79 20 66 6f 72 6d 20 69 73 20 66 69 72 73 74 20 70 72 65 73 65 6e 74 65   ┆ an empty form is first presente┆
0x03e940…03e960             64 2c 20 65 61 63 68 20 64 61 74 61 66 69 65 6c 64 20 74 68 61 74 20 74 68 65 0d 63 75 72 73 6f   ┆d, each datafield that the curso┆
0x03e960…03e980             72 20 73 74 6f 70 73 20 61 74 20 77 69 6c 6c 20 72 65 71 75 69 72 65 20 65 6e 74 72 79 20 62 79   ┆r stops at will require entry by┆
0x03e980…03e9a0             20 74 68 65 20 6f 70 65 72 61 74 6f 72 2e 20 20 41 66 74 65 72 20 65 6e 74 72 79 20 69 73 0d 63   ┆ the operator.  After entry is c┆
0x03e9a0…03e9c0             6f 6d 70 6c 65 74 65 2c 20 76 65 72 69 66 69 63 61 74 69 6f 6e 20 6d 61 79 20 62 65 20 72 65 71   ┆omplete, verification may be req┆
0x03e9c0…03e9e0             75 69 72 65 64 20 75 6e 6c 65 73 73 20 61 20 62 61 74 63 68 20 66 69 6c 65 20 68 61 73 20 62 65   ┆uired unless a batch file has be┆
0x03e9e0…03ea00             65 6e 0d 73 65 6c 65 63 74 65 64 20 28 73 65 65 20 53 45 4c 45 43 54 20 42 41 54 43 48 20 46 49   ┆en selected (see SELECT BATCH FI┆
0x03ea00…03ea20 (16, 1, 7)  c5 a0 d0 d2 c9 ce d4 00 13 13 13 13 00 0d 0a 2a 2a 2a 20 46 41 54 41 4c 20 45 52 52 20 46 32 35   ┆               *** FATAL ERR F25┆
0x03ea20…03ea40             3a 20 4e 4f 54 20 45 4e 55 46 20 4d 45 4d 4f 52 59 0d 0a 24 00 0e 20 46 69 6c 65 20 19 20 6e 6f   ┆: NOT ENUF MEMORY  $   File   no┆
0x03ea40…03ea60             74 20 66 6f 75 6e 64 2e 20 20 4d 65 6e 75 73 20 26 20 0e 20 6d 65 73 73 61 67 65 73 20 77 69 6c   ┆t found.  Menus &   messages wil┆
0x03ea60…03ea80             6c 20 64 69 73 70 6c 61 79 20 61 73 20 40 40 40 40 20 6f 6e 6c 79 2e 20 0e 00 a0 20 20 57 41 49   ┆l display as @@@@ only.      WAI┆
0x03ea80…03eaa0             54 20 20 0e 00 20 50 52 49 4e 54 5c 50 41 55 53 45 44 20 00 6d 65 72 67 65 2d 00 70 72 69 6e 74   ┆T     PRINTØPAUSED  merge- print┆
0x03eaa0…03eac0             69 6e 67 5c 00 20 20 5c 65 64 69 74 69 6e 67 5c 6e 6f 5c 66 69 6c 65 5c 00 f0 e1 f2 f4 e9 e1 ec   ┆ingØ   ØeditingØnoØfileØ        ┆
0x03eac0…03eae0             20 00 c4 c9 d2 c5 c3 d4 cf d2 d9 20 ef e6 20 e4 e9 f3 eb 20 00 20 20 de da bd f3 e3 f2 ef ec ec   ┆                                ┆
0x03eae0…03eb00             20 f5 f0 00 20 de d7 bd f3 e3 f2 ef ec ec 20 e4 ef f7 ee 00 2a 2a 2a 20 50 72 65 73 73 20 45 53   ┆                    *** Press ES┆
0x03eb00…03eb20             43 41 50 45 20 4b 65 79 20 00 0e 2a 2a 2a 20 49 4e 54 45 52 52 55 50 54 45 44 00 0e 2a 2a 2a 20   ┆CAPE Key   *** INTERRUPTED  *** ┆
0x03eb20…03eb40             10 20 45 00 0e 2a 2a 2a 11 20 49 00 0e 2a 2a 2a 20 12 20 10 20 46 00 3a 20 00 0e 0e 0e 00 00 00   ┆  E  ***  I  ***     F :        ┆
0x03eb40…03eb60             00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
0x03eb60…03eb80             00 00 00 00 00 00 00 00 00 00 00 00 00 00 c5 e5 47 21 7f 0a cd 3f 17 7e b7 78 e1 c1 f8 37 c9 81   ┆                G!   ? ü x   7  ┆
0x03eb80…03eba0             00 00 00 00 00 03 03 01 81 81 00 00 81 00 03 00 00 00 00 00 81 00 00 00 00 81 81 81 81 00 03 d5   ┆                                ┆
0x03eba0…03ebc0             e5 2a 14 3d 3a 0e 3d cd 3f 17 e5 2a 1c 3d eb 2a 10 3d cd 2c 17 7c b7 f2 bd 0a 21 00 00 d1 cd 68   ┆ * =: = ?  * = * = , ø    !    h┆
0x03ebc0…03ebe0             17 da c5 0a eb 22 2b 3d e1 d1 c9 e5 21 00 00 22 32 3d 22 34 3d 23 22 30 3d e1 7e d6 01 d8 32 2d   ┆     "+=    !  "2="4=#"0= ü   2-┆
0x03ebe0…03ec00             3d 23 5e 23 56 23 23 96 da f2 0a 32 33 3d 7e 32 2d 3d 2b 7e 32 31 3d 23 23 f5 cd 55 17 f1 eb cd   ┆=#^#V##    23=ü2-=+ü21=##  U    ┆
0x03ec00…03ec20 (16, 1, 8)  21 26 3d 5e 1c 1d c8 cd 21 10 f5 cd 54 10 f1 cd 0e 10 78 c9 f5 c5 d5 e5 21 ab 32 e5 47 e6 80 4f   ┆!&=^    !   T     x     ! 2 G  O┆
0x03ec20…03ec40             a8 21 95 03 be c2 2a 11 3e 20 fe 7f c2 31 11 3e 7e fe 1e c8 fe 1f c2 3b 11 3e 2d fe 20 d2 2d 12   ┆ !    * >    1 >ü      ; >-   - ┆
0x03ec40…03ec60             fe 09 c2 57 11 21 03 3d 7e 3c e6 07 3e 20 ca 2d 12 cd 2e 12 c3 45 11 fe 0d c2 65 11 21 00 00 22   ┆   W ! =ü<  >  -  .  E    e !  "┆
0x03ec60…03ec80             03 3d c3 20 12 fe 0a c2 af 11 cd 20 12 2a 0e 3d 26 00 eb 2a 01 3d 19 22 01 3d eb 2a 10 3d cd 68   ┆ =           * =&  * = " = * = h┆
0x03ec80…03eca0             17 d8 2a 01 3d 7c b5 c8 cd 6b 0f 21 00 00 22 01 3d 2a ff 3c 23 22 ff 3c af 32 05 3d cd 4f 0f 2a   ┆  * =ø   k !  " =* <#" < 2 = O *┆
0x03eca0…03ecc0             0e 3d 3e 1c cd da 10 2a 2a 3d 3e 1d c3 da 10 fe 0c c2 e4 11 3a 8c 36 b7 c2 d1 11 2a 01 3d 7c b5   ┆ =>    **=>         : 6    * =ø ┆
0x03ecc0…03ece0             c8 3a e7 3c b7 2a 10 3d c2 65 10 cd 9d 0f c3 bb 11 cd 6b 0f 3e 0c cd 35 12 2a 01 3d 7c b5 ca 9c   ┆ : < * = e        k >  5 * =ø   ┆
0x03ece0…03ed00             11 c3 8b 11 fe 0b c8 fe 01 ca 2e 10 fe 0e ca 31 10 cd 6e 0a d2 24 12 ca 08 12 ea 2d 12 f5 21 03   ┆          .    1  n  $     -  ! ┆
0x03ed00…03ed20             3d 7e b7 ca 07 12 35 f1 11 06 3d 21 87 0f 47 be eb cc 78 17 eb 13 23 7e 3c 78 c2 0f 12 cd f3 10   ┆=ü    5   =!  G   x   #ü<x      ┆
0x03ed20…03ed40             b1 c3 35 12 f5 3e 5e cd 2e 12 f1 c6 40 b1 cd f3 10 21 03 3d 34 e5 d5 f5 fe 21 fc b6 12 cd 66 12   ┆  5  >^ .   @    ! =4    !    f ┆
0x03ed40…03ed60             da 62 12 3a 8b 36 b7 c2 14 3e 3a 8c 36 2f 21 8e 36 b6 21 f8 3c b6 36 ff 3e 0c cc 76 12 f1 f5 cd   ┆ b : 6   >: 6/! 6 ! < 6 >  v    ┆
0x03ed60…03ed80             76 12 f1 d1 e1 c9 3a f7 3c b7 37 c0 2a ff 3c eb 2a ee 3c c3 68 17 f5 cd 01 13 d2 b4 12 cd 84 12   ┆v     : < 7 * < * < h           ┆
0x03ed80…03eda0             f1 c3 76 12 cd 28 13 fc 8e 12 c4 81 0b c9 3e ff 32 01 38 c3 81 0b f5 c5 cd 55 27 cd 81 0b 0e 00   ┆  v  (        > 2 8      U'     ┆
0x03eda0…03edc0             cd 7b 1c c2 98 12 cd 28 13 fc 8e 12 cc 81 0b 0d c2 a0 12 c1 f1 c9 f5 cd 7b 1c c4 81 0b f1 c9 3a   ┆ æ     (                æ      :┆
0x03edc0…03ede0             8b 36 b7 c2 cf 12 cd 84 12 c2 c6 12 c3 d2 12 cd 17 3e e5 3a 8b 36 b7 c2 f0 12 3e 1a cd 01 13 cd   ┆ 6               > : 6    >     ┆
0x03ede0…03ee00             28 13 cd 38 1d ca f0 12 3a 37 3d fe c0 da df 12 11 6b 3d cd d8 18 21 00 00 22 ff 37 22 01 38 e1   ┆(  8    :7=      k=   !  " 7" 8 ┆
0x03ee00…03ee20 (16, 1, 9)  20 66 69 6c 65 20 6d 61 69 6e 74 65 6e 61 6e 63 65 20 69 73 20 72 65 71 75 69 72 65 64 2c 20 65   ┆ file maintenance is required, e┆
0x03ee20…03ee40             01 50 08 20 77 68 65 6e 20 61 20 62 61 74 63 68 20 66 69 6c 65 20 6e 61 6d 65 20 69 73 20 72 65   ┆ P  when a batch file name is re┆
0x03ee40…03ee60             71 75 65 73 74 65 64 2e 00 52 3d 52 45 53 54 4f 52 45 20 4d 41 49 4e 20 46 49 4c 45 20 69 73 20   ┆quested. R=RESTORE MAIN FILE is ┆
0x03ee60…03ee80             75 73 65 64 20 74 6f 20 52 45 54 55 52 4e 20 54 4f 20 50 52 49 4d 41 52 59 20 44 41 54 41 42 41   ┆used to RETURN TO PRIMARY DATABA┆
0x03ee80…03eea0             53 45 20 4f 50 45 52 41 54 49 4f 4e 2e 20 20 49 74 0d 69 73 20 6f 6e 6c 79 20 75 73 65 66 75 6c   ┆SE OPERATION.  It is only useful┆
0x03eea0…03eec0             20 77 68 65 6e 20 61 20 62 61 74 63 68 20 66 69 6c 65 20 68 61 73 20 62 65 65 6e 20 73 65 6c 65   ┆ when a batch file has been sele┆
0x03eec0…03eee0             63 74 65 64 20 61 73 20 74 68 65 20 63 75 72 72 65 6e 74 20 66 69 6c 65 2e 00 4d 3d 45 44 49 54   ┆cted as the current file. M=EDIT┆
0x03eee0…03ef00             20 53 43 41 4e 20 4d 41 53 4b 20 69 73 20 75 73 65 64 20 74 6f 20 41 4c 54 45 52 20 54 48 45 20   ┆ SCAN MASK is used to ALTER THE ┆
0x03ef00…03ef20             43 55 52 52 45 4e 54 20 53 43 41 4e 20 4d 41 53 4b 2e 20 20 57 68 65 6e 20 74 68 65 20 66 6f 72   ┆CURRENT SCAN MASK.  When the for┆
0x03ef20…03ef40             6d 20 69 73 0d 70 72 65 73 65 6e 74 65 64 2c 20 61 6e 79 20 64 61 74 61 66 69 65 6c 64 20 6d 61   ┆m is presented, any datafield ma┆
0x03ef40…03ef60             79 20 62 65 20 65 6e 74 65 72 65 64 2e 20 20 49 66 20 61 20 53 43 41 4e 20 4d 4f 44 45 20 69 73   ┆y be entered.  If a SCAN MODE is┆
0x03ef60…03ef80             20 74 68 65 6e 20 73 65 6c 65 63 74 65 64 2c 0d 6f 6e 6c 79 20 72 65 63 6f 72 64 73 20 74 68 61   ┆ then selected, only records tha┆
0x03ef80…03efa0             74 20 6d 61 74 63 68 20 74 68 65 20 65 6e 74 65 72 65 64 20 64 61 74 61 66 69 65 6c 64 73 20 28   ┆t match the entered datafields (┆
0x03efa0…03efc0             6f 72 20 70 6f 72 74 69 6f 6e 73 20 74 68 65 72 65 6f 66 29 20 77 69 6c 6c 0d 62 65 20 64 69 73   ┆or portions thereof) will be dis┆
0x03efc0…03efe0             70 6c 61 79 65 64 2e 00 4b 3d 53 45 4c 45 43 54 20 42 59 20 4b 45 59 20 4d 4f 44 45 20 69 73 20   ┆played. K=SELECT BY KEY MODE is ┆
0x03efe0…03f000             75 73 65 64 20 74 6f 20 53 45 4c 45 43 54 20 49 4e 44 49 56 49 44 55 41 4c 20 52 45 43 4f 52 44   ┆used to SELECT INDIVIDUAL RECORD┆
0x03f000…03f020 (16, 1, 10) 4c 45 20 6d 65 73 73 61 67 65 29 2e 00 0d 22 2e 22 20 69 73 20 74 68 65 20 6f 6e 6c 79 20 63 68   ┆LE message).  "." is the only ch┆
0x03f020…03f040             61 72 61 63 74 65 72 20 61 6c 6c 6f 77 65 64 20 68 65 72 65 2e 0d 01 0f 1a 00 0d 30 2d 39 2c 20   ┆aracter allowed here.      0-9, ┆
0x03f040…03f060             22 23 24 25 28 29 2a 2b 2d 2e 22 01 e8 19 00 0d 30 2d 39 01 e8 19 00 0d 61 2d 7a 01 e8 19 00 0d   ┆"#$%()*+-."     0-9     a-z     ┆
0x03f060…03f080             41 2d 5a 01 e8 19 00 0d 61 2d 7a 01 de 19 00 0d 41 2d 5a 01 de 19 00 0d 41 2d 5a 20 61 6e 64 20   ┆A-Z     a-z     A-Z     A-Z and ┆
0x03f080…03f0a0             61 2d 7a 01 e8 19 00 0d 41 2d 5a 2c 20 61 2d 7a 01 de 19 00 0d 61 2d 7a 20 61 6e 64 20 30 2d 39   ┆a-z     A-Z, a-z     a-z and 0-9┆
0x03f0a0…03f0c0             01 e8 19 00 0d 41 2d 5a 20 61 6e 64 20 30 2d 39 01 e8 19 00 0d 61 2d 7a 01 d9 19 00 0d 41 2d 5a   ┆     A-Z and 0-9     a-z     A-Z┆
0x03f0c0…03f0e0             01 d9 19 00 0d 41 2d 5a 2c 20 61 2d 7a 20 61 6e 64 20 30 2d 39 01 e8 19 00 0d 41 2d 5a 2c 20 61   ┆     A-Z, a-z and 0-9     A-Z, a┆
0x03f0e0…03f100             2d 7a 01 d9 19 00 2c 20 30 2d 39 20 61 6e 64 20 73 70 61 63 65 20 61 72 65 20 74 68 65 20 6f 6e   ┆-z    , 0-9 and space are the on┆
0x03f100…03f120             6c 79 20 63 68 61 72 61 63 74 65 72 73 20 61 6c 6c 6f 77 65 64 20 68 65 72 65 2e 0d 01 f4 01 20   ┆ly characters allowed here.     ┆
0x03f120…03f140             69 67 6e 6f 72 65 64 2e 20 01 a9 08 3a 20 00 0d 5e 01 f4 01 20 55 6e 69 6d 70 6c 65 6d 65 6e 74   ┆ignored.    :   ^    Unimplement┆
0x03f140…03f160             65 64 20 63 6f 6e 74 72 6f 6c 20 63 68 61 72 61 63 74 65 72 01 1a 1a 00 0d 49 6c 6c 65 67 61 6c   ┆ed control character     Illegal┆
0x03f160…03f180             20 63 68 61 72 61 63 74 65 72 3b 20 01 0f 1a 00 0d 4e 6f 74 20 65 6e 6f 75 67 68 20 6d 65 6d 6f   ┆ character;      Not enough memo┆
0x03f180…03f1a0             72 79 20 74 6f 20 63 6f 6d 70 6c 65 74 65 20 63 61 6c 63 75 6c 61 74 69 6f 6e 01 1a 1a 00 0d 52   ┆ry to complete calculation     R┆
0x03f1a0…03f1c0             65 73 75 6c 74 20 6f 66 20 63 61 6c 63 75 6c 61 74 69 6f 6e 20 6c 61 72 67 65 72 20 74 68 61 6e   ┆esult of calculation larger than┆
0x03f1c0…03f1e0             20 64 65 73 74 69 6e 61 74 69 6f 6e 20 66 69 65 6c 64 01 1a 1a 00 0d 46 61 74 61 6c 20 70 72 6f   ┆ destination field     Fatal pro┆
0x03f1e0…03f200             67 72 61 6d 20 65 72 72 6f 72 2e 0d 50 6c 65 61 73 65 20 72 65 70 6f 72 74 20 6f 63 63 75 72 61   ┆gram error. Please report occura┆
0x03f200…03f220 (16, 1, 11) 46 17 22 2e 3d cd 2c 17 7c b7 f8 22 34 3d eb 22 2e 3d c9 c5 4f 3a 0e 3d f5 d5 e5 06 00 21 00 00   ┆F ".= , ø  "4= ".=  O: =     !  ┆
0x03f220…03f240             3c 3d ca 29 0b 09 c3 21 0b eb e1 71 23 73 23 72 d1 23 f1 77 c1 c9 77 23 cd 21 10 77 c9 21 23 3d   ┆<= )   !   q#s#r # w  w# ! w !#=┆
0x03f240…03f260             7e b7 23 ca 47 0b 23 7e c9 cd 7b 1c c0 e5 2a 00 38 7c 2f a5 21 18 07 a6 e1 c8 cd 28 13 f2 65 0b   ┆ü # G #ü  æ   * 8ø/ !      (  e ┆
0x03f260…03f280             3e ff 32 01 38 c3 7b 1c f5 cd 49 0b f1 c9 cd 7b 1c c0 e5 2a 00 38 7c 2f a5 e1 c8 cd 81 0b c3 7b   ┆> 2 8 æ   I    æ   * 8ø/       æ┆
0x03f280…03f2a0             1c c5 d5 e5 f5 2a f9 3c eb 21 00 00 39 22 f9 3c eb f9 f1 c3 5b 1a 3a ff 37 b7 c2 1f 45 cd b3 0b   ┆     * < !  9" <    Æ : 7   E   ┆
0x03f2a0…03f2c0             f5 cd 27 0c 22 95 3d f1 fe 1a cc bf 12 cd 81 0b c3 9d 0b cd 0c 0c 3a f7 3c b7 c2 c4 0b cd ca 0b   ┆  ' " =               : <       ┆
0x03f2c0…03f2e0             78 b1 7e c0 3e 1a c9 cd 0c 0c 78 b7 c0 3a 44 3d b7 c8 eb 2a 9b 3d 22 95 3d eb cd c2 16 eb 22 97   ┆x ü >     x  :D=   * =" =     " ┆
0x03f2e0…03f300             3d cd 96 12 e5 11 80 00 19 eb 2a 99 3d cd 68 17 d2 08 0c eb e3 cd 49 0b 11 45 3d cd a3 19 e1 da   ┆=         * = h       I  E=     ┆
0x03f300…03f320             0c 0c 22 97 3d c3 e4 0b e1 cd 81 0b 21 95 3d cd 51 17 cd 35 17 eb c9 cd 51 17 c3 68 17 1e 00 c3   ┆  " =       ! = Q  5    Q  h    ┆
0x03f320…03f340             2c 0c 1e ff c3 2c 0c eb 2a f4 3c eb 57 cd b6 0e 7b b7 ca 45 0c 7a e6 7f e5 21 94 03 ae 21 8d 36   ┆,    ,  * < W   æ  E z   !   ! 6┆
0x03f340…03f360             b6 e1 ca 88 0c 7a e6 7f fe 1a c2 53 0c 3e 0c 57 01 01 00 5f ee 0c e5 21 05 3d b6 e1 7a c4 30 0e   ┆     z     S > W   _   ! =  z 0 ┆
0x03f360…03f380             23 3e ff 32 f4 3c 7b fe 0c c8 fe 0a c8 af 32 f4 3c e5 cd 66 12 e1 d0 cd b6 12 0b 78 b1 c8 7e e6   ┆#> 2 <æ       2 <  f       x  ü ┆
0x03f380…03f3a0             7f fe 20 d8 23 c3 7a 0c eb 0b 21 00 00 39 22 fb 3c c5 d5 21 c8 0c cd 68 25 da be 0c ca be 0c fc   ┆    # z   !  9" <  !   h%       ┆
0x03f3a0…03f3c0             b0 0c cd af 0c cd 18 0e 2a fb 3c f9 13 eb c9 e9 3a ff 37 b7 ca be 0c 1b 1b 03 03 c3 22 45 3a ff   ┆        * <     : 7         "E: ┆
0x03f3c0…03f3e0             37 b7 c4 25 45 c3 a5 0c 4c 48 11 0d 53 52 23 0d 55 4a d1 0d 42 50 ea 0d 50 4c 2b 0d 4d 54 37 0d   ┆7  %E   LH  SR# UJ  BP  PL+ MT7 ┆
0x03f3e0…03f400             4d 42 3d 0d 48 4d 43 0d 46 4d 49 0d 43 57 4f 0d 50 43 60 0d 50 4f 57 0d 50 41 75 0d 43 50 6f 0d   ┆MB= HMC FMI CWO PC` POW PAu CPo ┆
0x03f400…03f420 (16, 1, 12) c9 3c c8 3d c8 c5 e5 47 3a 02 38 b7 37 ca 24 13 2a 9f 3d 7e b7 37 c2 24 13 70 23 7e 3c cc 4e 13   ┆ < =   G: 8 7 $ * =ü 7 $ p#ü< N ┆
0x03f420…03f440             22 9f 3d af 78 e1 c1 c9 c5 47 3a 02 38 b7 78 c1 c8 c5 d5 e5 f5 2a 51 3c eb 21 00 00 39 f1 f5 22   ┆" = x    G: 8 x      *Q< !  9  "┆
0x03f440…03f460             51 3c eb f9 c1 78 c3 5b 1a af 3c c3 31 13 2a a3 3d 23 c9 3a bf 3c 47 3a 76 3c 4f 3a 58 3c 3c c2   ┆Q<   x Æ  < 1 * =# : <G:v<O:X<< ┆
0x03f460…03f480             68 13 cd 9a 14 c3 81 13 3a c6 3c 3d ca 7e 13 3c c2 81 13 3a d7 3c b7 ca 81 13 78 ee a0 c8 f6 ff   ┆h       : <= ü <   : <    x     ┆
0x03f480…03f4a0             fe af 3e 06 c4 3e 14 16 00 5f 78 32 76 3c 3a c2 3c b7 2a 78 3c ca 9f 13 2a 6a 3c 3a 72 3c 67 22   ┆  >  >   _x2v<: < *x<   *j<:r<g"┆
0x03f4a0…03f4c0             c0 3c ca a8 13 79 48 47 2a 6a 3c 3a 72 3c 67 22 78 3c 3a 77 3c 6f 26 00 7b 32 77 3c 19 79 b7 ca   ┆ <   yHG*j<:r<g"x<:w<o& æ2w< y  ┆
0x03f4c0…03f4e0             cc 13 11 f4 ff 19 3a c1 3c cd 3f 17 eb 79 e6 5f 21 c0 3c a6 2a ea 3c eb c4 2c 17 eb 3a 58 3c 3c   ┆      : < ?  y _! < * <  ,  :X<<┆
0x03f4e0…03f500             ca 31 14 21 c6 3c 35 7e 3c c2 2d 14 34 21 d7 3c 7e b7 ca 2d 14 35 2a de 3c 19 eb 3a c0 3c b7 2a   ┆ 1 ! <5ü< - 4! <ü  - 5* <  : < *┆
0x03f500…03f520             e0 3c c4 3b 14 21 e4 3c cd 34 14 3a d2 3c b7 c2 17 14 79 b7 f2 2d 14 2a da 3c 19 eb e6 7f cd b4   ┆ < ; ! < 4 : <    y  - * <      ┆
0x03f520…03f540             17 2a dc 3c cc 3b 14 21 e2 3c cd 34 14 af 32 d2 3c c3 11 3e 7e b7 c8 35 2a ea 3c 19 eb c9 3a d3   ┆ * < ; ! < 4  2 <  >ü  5* <   : ┆
0x03f540…03f560             07 b7 c2 8c 14 78 e6 7f c8 fe 20 ca 8c 14 fe 06 c2 55 14 3e 20 fe 07 c2 5c 14 3e 7f fe 20 da 8c   ┆     x           U >    Ø >     ┆
0x03f560…03f580             14 e5 21 b8 07 cd 3f 17 3a 6e 3c b7 7e c2 76 14 1f 1f 1f 1f 3d 00 e6 07 3c 00 3c 2a ea 3c 2d ca   ┆  !   ? :n< ü v     =   < <* <- ┆
0x03f580…03f5a0             8a 14 fe 06 d2 88 14 3c e6 fe e1 c9 3e 06 c9 cd 3e 14 87 11 0c 00 19 c3 46 17 cd b0 14 78 e6 5f   ┆       <    >   >       F    x _┆
0x03f5a0…03f5c0             cc 38 1d c4 2b 15 79 b7 f0 fe a0 c8 32 d2 3c c9 3a d1 3c b7 c2 e4 14 21 c6 3c 34 21 ce 3c 34 78   ┆ 8  + y     2 < : <    ! <4! <4x┆
0x03f5c0…03f5e0             fe a0 2a cc 3c c2 d2 14 3a 72 3c cd 3f 17 22 cc 3c c9 cd 8f 14 22 cc 3c 21 cf 3c 34 3a 6a 3c b7   ┆  * <   :r< ? " <    " <! <4:j< ┆
0x03f5e0…03f600             c8 23 34 c9 21 c7 3c 34 78 fe a0 c2 fb 14 3a 72 3c 2a ca 3c cd 3f 17 22 ca 3c c9 21 c8 3c cd db   ┆ #4 ! <4x     :r<* < ? " < ! <  ┆
0x03f600…03f620 (16, 1, 13) 53 20 46 52 4f 4d 20 54 48 45 20 46 49 4c 45 20 66 6f 72 0d 73 63 72 65 65 6e 20 64 69 73 70 6c   ┆S FROM THE FILE for screen displ┆
0x03f620…03f640             61 79 2e 20 20 57 68 65 6e 20 74 68 65 20 66 6f 72 6d 20 69 73 20 70 72 65 73 65 6e 74 65 64 2c   ┆ay.  When the form is presented,┆
0x03f640…03f660             20 65 6e 74 72 79 20 77 69 6c 6c 20 62 65 20 72 65 71 75 69 72 65 64 20 61 74 20 65 61 63 68 0d   ┆ entry will be required at each ┆
0x03f660…03f680             22 6b 65 79 22 20 66 69 65 6c 64 20 74 68 61 74 20 74 68 65 20 63 75 72 73 6f 72 20 73 74 6f 70   ┆"key" field that the cursor stop┆
0x03f680…03f6a0             73 20 61 74 2e 20 20 57 68 65 6e 20 65 6e 74 72 79 20 69 73 20 63 6f 6d 70 6c 65 74 65 2c 20 74   ┆s at.  When entry is complete, t┆
0x03f6a0…03f6c0             68 65 20 66 69 72 73 74 0d 72 65 63 6f 72 64 20 69 6e 20 74 68 65 20 66 69 6c 65 20 74 68 61 74   ┆he first record in the file that┆
0x03f6c0…03f6e0             20 65 78 61 63 74 6c 79 20 6d 61 74 63 68 65 73 20 69 6e 20 74 68 65 20 65 6e 74 65 72 65 64 20   ┆ exactly matches in the entered ┆
0x03f6e0…03f700             70 6f 73 69 74 69 6f 6e 73 20 77 69 6c 6c 20 62 65 0d 64 69 73 70 6c 61 79 65 64 2e 20 20 54 68   ┆positions will be displayed.  Th┆
0x03f700…03f720             69 73 20 73 65 61 72 63 68 20 6d 6f 64 65 20 69 73 20 66 61 73 74 65 72 20 74 68 61 6e 20 74 68   ┆is search mode is faster than th┆
0x03f720…03f740             65 20 53 43 41 4e 20 4d 4f 44 45 20 73 65 61 72 63 68 20 77 69 74 68 20 6d 61 73 6b 2e 00 49 3d   ┆e SCAN MODE search with mask. I=┆
0x03f740…03f760             53 43 41 4e 20 49 4e 20 49 4e 44 45 58 20 46 49 4c 45 20 4f 52 44 45 52 20 69 73 20 75 73 65 64   ┆SCAN IN INDEX FILE ORDER is used┆
0x03f760…03f780             20 74 6f 20 52 45 56 49 45 57 20 54 48 45 20 43 55 52 52 45 4e 54 20 46 49 4c 45 20 49 4e 20 53   ┆ to REVIEW THE CURRENT FILE IN S┆
0x03f780…03f7a0             4f 52 54 20 4f 52 44 45 52 2e 0d 54 68 65 20 63 6f 6d 6d 61 6e 64 73 20 5e 50 20 61 6e 64 20 5e   ┆ORT ORDER. The commands ^P and ^┆
0x03f7a0…03f7c0             4e 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 64 69 73 70 6c 61 79 20 74 68 65 20 50 72 65   ┆N can be used to display the Pre┆
0x03f7c0…03f7e0             76 69 6f 75 73 20 6f 72 20 4e 65 78 74 20 72 65 63 6f 72 64 2e 0d 54 68 65 20 73 63 61 6e 20 6d   ┆vious or Next record. The scan m┆
0x03f7e0…03f800             61 73 6b 20 63 61 6e 20 62 65 20 65 64 69 74 65 64 20 73 6f 20 74 68 61 74 20 74 68 69 73 20 6d   ┆ask can be edited so that this m┆
0x03f800…03f820 (16, 1, 14) 6e 63 65 01 1a 1a 00 0d 5a 65 72 6f 20 64 69 76 69 73 6f 72 20 69 6e 20 63 61 6c 63 75 6c 61 74   ┆nce     Zero divisor in calculat┆
0x03f820…03f840             69 6f 6e 01 1a 1a 00 0d 45 78 70 6f 6e 65 6e 74 20 6f 76 65 72 66 6c 6f 77 01 1a 1a 00 0d 46 69   ┆ion     Exponent overflow     Fi┆
0x03f840…03f860             65 6c 64 20 69 73 20 6e 6f 74 20 63 6f 6d 70 6c 65 74 65 01 1a 1a 00 0d 46 69 65 6c 64 20 76 61   ┆eld is not complete     Field va┆
0x03f860…03f880             6c 75 65 20 6d 75 73 74 20 6c 69 65 20 62 65 74 77 65 65 6e 0d 20 01 f6 01 20 26 0d 20 01 fb 01   ┆lue must lie between      &     ┆
0x03f880…03f8a0             0d 01 1c 1a 00 0d 46 69 65 6c 64 20 64 6f 65 73 20 6e 6f 74 20 65 78 61 63 74 6c 79 20 6d 61 74   ┆      Field does not exactly mat┆
0x03f8a0…03f8c0             63 68 20 70 72 65 76 69 6f 75 73 20 65 6e 74 72 79 2e 0d 50 6c 65 61 73 65 20 65 6e 74 65 72 20   ┆ch previous entry. Please enter ┆
0x03f8c0…03f8e0             66 69 65 6c 64 20 74 77 69 63 65 20 77 69 74 68 20 74 68 65 20 73 61 6d 65 20 76 61 6c 75 65 01   ┆field twice with the same value ┆
0x03f8e0…03f900             1a 1a 00 0d 49 6c 6c 65 67 61 6c 20 66 69 65 6c 64 2e 20 20 50 6c 65 61 73 65 20 72 65 2d 65 6e   ┆    Illegal field.  Please re-en┆
0x03f900…03f920             74 65 72 01 1a 1a 00 ff ff 6c 64 20 64 6f 65 73 20 6e 6f 74 20 65 78 61 63 74 6c 79 20 6d 61 74   ┆ter      ld does not exactly mat┆
0x03f920…03f940             63 68 20 70 72 65 76 69 6f 75 73 20 65 6e 74 72 79 2e 0d 50 6c 65 61 73 65 20 65 6e 74 65 72 20   ┆ch previous entry. Please enter ┆
0x03f940…03f960             66 69 65 6c 64 20 74 77 69 63 65 20 77 69 74 68 20 74 68 65 20 73 61 6d 65 20 76 61 6c 75 65 01   ┆field twice with the same value ┆
0x03f960…03f980             27 5c 00 0d 49 6c 6c 65 67 61 6c 20 66 69 65 6c 64 2e 20 20 50 6c 65 61 73 65 20 72 65 2d 65 6e   ┆'Ø  Illegal field.  Please re-en┆
0x03f980…03f9a0             00 00 00 ff 00 c7 42 c7 42 00 00 00 00 ff ff 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆      B B                       ┆
0x03f9a0…03f9c0             00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
0x03f9c0…03f9e0             00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ff 00 00 00 00 00 fc 1a fc 1a 06 4f 4e 44   ┆                             OND┆
0x03f9e0…03fa00             4f 9d 44 4f ec 44 4f 3b 45 4f 8a 45 4f 77 46 06 4f 4e 44 4f 9d 44 4f d9 45 4f 3b 45 4f 8a 45 4f   ┆O DO DO;EO EOwF ONDO DO EO;EO EO┆
0x03fa00…03fa20 (16, 1, 15) 50 4e 80 0d 4f 50 7a 0d 48 45 a0 0d 46 4f 9a 0d 00 21 0e 3d 3e 1c f5 cd 07 0e 77 cd 9f 0a f1 6e   ┆PN  OPz HE  FO   ! =>     w    n┆
0x03fa20…03fa40             c3 da 10 21 2a 3d 3e 1d c3 16 0d 21 0f 3d cd 07 0e cd 13 0b c3 9f 0a 21 13 3d c3 2e 0d 21 1b 3d   ┆   !*=>    ! =         ! = . ! =┆
0x03fa40…03fa60             c3 2e 0d 21 17 3d c3 2e 0d 21 1f 3d c3 2e 0d cd 3d 0b 3e 15 c3 16 0d 21 26 3d cd 07 0e c3 36 0b   ┆ . ! = . ! = .  = >    !&=    6 ┆
0x03fa60…03fa80             21 28 3d cd 07 0e d6 02 d2 6c 0d af c3 36 0b cd 07 0e c3 b8 0e 3e 0c c3 30 0e 3e ff 32 f5 3c c9   ┆!(=      l   6       >  0 > 2 < ┆
0x03fa80…03faa0             cd b2 25 da 96 0d c5 d5 cd 6b 0f 22 ff 3c cd 4f 0f cd 9f 11 d1 c1 af c3 7c 0d 2a 93 3d c3 a3 0d   ┆  %      k " < O        ø * =   ┆
0x03faa0…03fac0             2a 91 3d 3e c6 e5 6f e3 cd 21 10 77 23 cd f7 25 ca cd 0d e6 7f fe 20 c2 c0 0d cd f7 25 ca cd 0d   ┆* =>  o  ! w#  %            %   ┆
0x03fac0…03fae0             fe 0d ca cd 0d 77 23 e3 2d e3 c2 ba 0d 36 00 e1 c9 3e 09 f5 cd b2 25 da e0 0d c2 be 0c c3 e6 0d   ┆     w# -    6   >    %         ┆
0x03fae0…03fb00             21 ef 0d cd f8 0d f1 c3 da 10 3e 1e c3 d3 0d 4f 4e ff ff 4f 46 00 ff 00 cd a2 25 1b 03 c4 68 25   ┆!         >    ON  OF     %   h%┆
0x03fb00…03fb20             ca be 0c fa be 0c c9 e5 cd 0e 0e 7d e1 c9 cd b2 25 da be 0c c2 be 0c c9 03 1b cd 38 1d cd f7 25   ┆           å    %          8   %┆
0x03fb20…03fb40             da 27 0e c8 c3 1d 0e cd 38 1d fe 0a c8 1b 03 c9 c5 d5 e5 f5 cd 60 0e cd 56 0e f1 f5 e6 7f ee 0c   ┆ '      8            `  V       ┆
0x03fb40…03fb60             21 8d 36 b6 c2 4d 0e cd d7 0e c3 52 0e f1 f5 cd 14 11 f1 c3 5b 1a cd 66 12 d8 3e ff 32 f6 3c c9   ┆! 6  M     R        Æ  f  > 2 < ┆
0x03fb60…03fb80             21 05 3d 7e b7 c0 36 ff cd a3 0e cd 66 12 da 7f 0e 3a 8e 36 21 f6 3c a6 36 00 3e 03 c4 35 12 3a   ┆! =ü  6     f    : 6! < 6 >  5 :┆
0x03fb80…03fba0             8d 36 b7 c0 21 13 3d cd cb 0a d8 21 33 3d cd 8f 10 2a 91 3d cd a8 0f 21 30 3d cd 8f 10 21 2d 3d   ┆ 6  ! =    !3=   * =   !0=   !-=┆
0x03fba0…03fbc0             c3 8f 10 2a f0 3c eb 2a ff 3c 7a b3 c4 68 17 d0 3e ff 32 f7 3c c9 3e 01 d5 e5 2a 01 3d 16 00 5f   ┆   * < * <z  h  > 2 < >   * =  _┆
0x03fbc0…03fbe0             3a 0e 3d 3c 3d ca cc 0e 19 c3 c4 0e eb 2a 2b 3d eb cd 68 17 e1 d1 d0 3a 8d 36 b7 c0 c5 d5 e5 cd   ┆: =<=        *+=  h    : 6      ┆
0x03fbe0…03fc00             60 0e cd 56 0e 2a 2b 3d cd 65 10 21 1b 3d cd cb 0a da 03 0f 21 2d 3d cd 8f 10 cd 0d 0f 21 30 3d   ┆`  V *+= e ! =      !-=      !0=┆
0x03fc00…03fc20 (17, 0, 1)  14 78 fe 20 c8 2a c8 3c eb 2a d7 3c 19 22 d7 3c 2a ca 3c eb 2a c4 3c 19 cd 8f 14 22 c4 3c 21 00   ┆ x   * < * < " <* < * <    " <! ┆
0x03fc20…03fc40             00 22 c8 3c 22 ca 3c 22 c7 3c c9 21 d2 3c 7e 36 00 e6 7f c4 4a 15 79 e6 5f c0 21 00 00 22 cf 3c   ┆ " <" <" < ! <ü6    J y _ !  " <┆
0x03fc40…03fc60             22 ce 3c cd 8f 14 22 cc 3c c9 21 d3 3c 34 cd b4 17 c2 58 15 21 d5 3c 34 21 d1 3c 7e b7 c0 3a 53   ┆" <   " < ! <4    X ! <4! <ü  :S┆
0x03fc60…03fc80             3c b7 c8 35 2a cf 3c 22 d7 3c 3a c6 3c 21 ce 3c 96 32 c6 3c 2a cc 3c 22 c4 3c c9 2a c4 3c 7c b5   ┆<  5* <" <: <! < 2 <* <" < * <ø ┆
0x03fc80…03fca0             c8 3a d7 3c b7 c8 eb 2a d3 3c 29 eb 0e 00 3a 72 3c b7 1f 47 24 25 f2 a1 15 cd bd 15 3d 3d f2 94   ┆ : <   * <)   :r<  G$%      ==  ┆
0x03fca0…03fcc0             15 78 fe 05 d4 bd 15 78 fe 04 d4 bd 15 79 32 da 3c b7 f2 ba 15 3e ff 32 db 3c c3 c2 15 19 0d 0d   ┆ x     x     y2 <    > 2 <      ┆
0x03fcc0…03fce0             05 c9 3a ea 3c 3d ca d1 15 7c 07 0f 1f 67 7d 1f 6f 7c b7 f2 ef 15 eb 2a d7 3c 26 00 19 e5 2a ea   ┆  : <=   ø   gå oø     * <&   * ┆
0x03fce0…03fd00             3c eb 2a de 3c cd 2c 17 22 de 3c e1 c3 d1 15 22 c4 3c 3a d4 07 b7 c4 85 16 cd 71 16 f4 85 16 cd   ┆< * < , " <    " <:       q     ┆
0x03fd00…03fd20             95 16 cd 7c 16 0e 06 cd 71 16 fa 1d 16 cd 4d 16 d2 36 16 cd 85 16 0d c2 07 16 c3 36 16 cd 85 16   ┆   ø    q     M  6         6    ┆
0x03fd20…03fd40             cd 4d 16 d2 36 16 cd 7c 16 cd 4d 16 d2 36 16 2a c4 3c 22 e4 3c c9 3a d3 3c b7 ca 2f 16 cd 85 16   ┆ M  6  ø  M  6 * <" < : <  /    ┆
0x03fd40…03fd60             f2 3d 16 cd 8c 16 2a c4 3c 22 e2 3c c9 2a d3 3c 29 eb 2a d5 3c 19 54 5d 19 3a 72 3c fe 0c da 62   ┆ =    * <" < * <) * < TÅ :r<   b┆
0x03fd60…03fd80             16 19 3a d4 07 b7 ca 6a 16 19 eb 2a c4 3c c3 68 17 2a d7 3c 26 00 11 de 3c c3 9b 16 2a d8 3c 11   ┆  :    j   * < h * <&   <   * < ┆
0x03fd80…03fda0             e0 3c c3 9b 16 cd 95 16 f8 cd 95 16 2a d5 3c 11 dc 3c c3 9b 16 2a d3 3c 11 da 3c e5 d5 eb 2a c4   ┆ <          * <  <   * <  <   * ┆
0x03fda0…03fdc0             3c cd 2c 17 7c b7 fa bc 16 22 c4 3c e1 3a ea 3c 86 77 23 7e ce 00 77 2b eb e1 af c9 d1 e1 c9 01   ┆< , ø    " < : < w#ü  w+        ┆
0x03fdc0…03fde0             03 00 cd 68 17 c2 cf 16 09 eb 09 01 00 00 c9 04 0c c3 d8 16 7e 12 23 13 0d c2 d4 16 05 c2 d4 16   ┆   h                ü #         ┆
0x03fde0…03fe00             c9 cd 68 17 c2 f6 16 af 91 4f 3e 00 98 47 af 09 eb 09 01 00 00 c9 04 0c c3 ff 16 2b 1b 7e 12 0d   ┆  h      O>  G             + ü  ┆
0x03fe00…03fe20 (17, 0, 2)  ba 02 b7 ca 10 1d c5 d5 e5 cd ba 02 b7 c3 5b 1a 3e 03 cd 29 1d b7 c9 3a bd 02 b7 ca 27 1d c5 d5   ┆              Æ >  )   :    '   ┆
0x03fe20…03fe40             e5 cd bd 02 c3 5b 1a 3e 06 c5 d5 e5 21 5b 1a e5 2a 01 00 cd 3f 17 79 e9 e5 f5 21 d7 02 35 c2 48   ┆     Æ >    !Æ  *   ? y   !  5 H┆
0x03fe40…03fe60             1d 2b 7e 23 77 cd 4b 1d f1 e1 c9 cd ff 1c f5 c4 ab 1c f1 c9 f5 c5 e5 21 9e 37 22 9a 37 22 9c 37   ┆ +ü#w K                ! 7" 7" 7┆
0x03fe60…03fe80             01 50 00 cd 08 17 e1 c1 f1 c9 fe 0d c8 fe 0a c8 c5 47 3a 1e 37 4f 78 cd 82 1d 3a 49 02 0c b9 78   ┆ P               G: 7Ox   :I   x┆
0x03fe80…03fea0             c1 c9 03 fe 20 d0 03 fe 09 c0 f5 0b 0b 79 f6 07 4f 03 f1 c9 c5 4e 23 46 fe 20 dc 6e 0a da a8 1d   ┆             y  O    N#F   n    ┆
0x03fea0…03fec0             cd 82 1d 70 2b 71 c1 c9 ca a3 1d 03 ea a3 1d 0b 0b c3 a3 1d cd 65 21 f5 c5 d5 e5 cd 49 0b eb 2a   ┆   p+q               e!     I  *┆
0x03fec0…03fee0             77 39 eb 3a 49 02 4f 26 00 3a 48 02 3d 95 e5 21 aa 02 b6 e1 c2 d8 1d 0d 44 e5 d5 cd 44 23 d1 3a   ┆w9 :I O& :H =  !        D   D# :┆
0x03fee0…03ff00             20 37 b7 c2 1f 1e 1a be c2 f6 1d 23 13 04 0d c2 e6 1d e1 c3 19 1e d5 c5 06 00 09 eb 09 eb c1 2b   ┆ 7         #                   +┆
0x03ff00…03ff20             1b 1a be c2 0a 1e 0d c2 ff 1d d1 e1 60 cd bc 22 1a cd cf 1f 13 0d c2 10 1e e1 d1 c1 f1 b7 c9 cd   ┆            `  "                ┆
0x03ff20…03ff40             c8 20 06 00 eb cd c3 02 cd c2 16 cd c9 02 cd f2 20 c3 f2 1d e5 21 1e 37 86 3c 21 49 02 be e1 d8   ┆                     ! 7 <!I    ┆
0x03ff40…03ff60             f5 e5 cd 38 1d cd 77 1e 2a 1d 37 cd c5 21 c3 71 1e f5 e5 cd 77 1e 21 49 02 3a 1e 37 3c be d2 69   ┆   8  w * 7  ! q    w !I : 7<  i┆
0x03ff60…03ff80             1e 3e 20 cd cf 1f c3 59 1e 2a 1d 37 3e 2b cc cf 1f 2c 26 00 c3 be 22 f5 e5 3a 1d 37 3c 21 48 02   ┆ >     Y * 7>+   ,&   "  : 7<!H ┆
0x03ff80…03ffa0             be da e9 20 3e 0a cd cf 1f 2a 1d 37 2d c3 be 22 f5 3e 0f cd 98 1e f1 c9 fe 0e ca 40 1e d5 cd b4   ┆    >    * 7-  " >         @    ┆
0x03ffa0…03ffc0             1e ca ad 1e d1 f5 ee 80 cd 6d 1f f1 c9 eb cd d0 1a eb d1 c9 fe 1a ca 0b 1f d0 fe 18 ca fc 1e d2   ┆         m                      ┆
0x03ffc0…03ffe0             12 1f fe 16 ca da 1e d2 e7 1e fe 0f da 2e 1f eb 21 2c 08 87 cd 3f 17 eb af c9 3a ff 37 b7 11 3e   ┆             .  !,   ?    : 7  >┆
0x03ffe0…040000             08 c8 11 3c 08 af c9 11 40 08 3a 00 38 b7 c8 11 42 08 3a 01 38 b7 c8 11 44 08 af c9 cd a5 24 cd   ┆   <    @ : 8   B : 8   D     $ ┆
0x040000…040020 (17, 0, 3)  00 22 9d 38 22 9f 38 e1 af 32 9b 38 32 9a 38 32 94 38 32 98 38 cd 43 21 cd e3 24 32 99 38 c3 db   ┆ " 8" 8  2 82 82 82 8 C!  $2 8  ┆
0x040020…040040             32 cd e3 24 c3 43 21 3a cf 02 c3 3c 25 3a d0 02 c3 3c 25 3a d1 02 c3 3c 25 3a d2 02 c5 47 4f cd   ┆2  $ C!:   <%:   <%:   <%:   GO ┆
0x040040…040060             7b 1c c2 5a 25 3a 00 38 b7 ca 54 25 0b 0b 79 e6 07 cc 6e 0b 0b 78 b7 f2 3f 25 c1 c3 7b 1c 00 e6   ┆æ  Z%: 8  T%  y   n  x  ?%  æ   ┆
0x040060…040080             7f e5 21 94 03 be e1 c9 cd f7 25 c8 e6 df 32 5e 25 cd f7 25 c8 e6 df d5 5f 3a 5e 25 57 7e b7 ca   ┆  !       %   2^%  %    _:^%Wü  ┆
0x040080…0400a0             9c 25 ba 23 ca 8d 25 23 23 23 c3 7d 25 7e bb c2 87 25 23 5e 23 56 eb f6 01 c3 9e 25 f6 ff d1 c3   ┆ % #  %### å%ü   %#^#V     %    ┆
0x0400a0…0400c0             38 1d cd f7 25 c8 fe 20 ca a2 25 fe 09 ca a2 25 b7 c9 21 00 00 cd a2 25 da ec 25 ca ee 25 d6 30   ┆8   %     %    %  !    %  %  % 0┆
0x0400c0…0400e0             da ec 25 fe 0a d2 ec 25 d5 54 5d 29 29 19 29 5f 16 00 19 d1 cd f7 25 da e7 25 ca e9 25 d6 30 da   ┆  %    % TÅ)) )_      %  %  % 0 ┆
0x0400e0…040100             e7 25 fe 0a da c8 25 03 1b 7c b7 c9 03 1b 37 c9 cd f7 25 c8 c3 f0 25 78 b1 c8 0b 13 1a e6 7f b7   ┆ %    %  ø    7   %   %x        ┆
0x040100…040120             37 c8 fe 0c 37 c8 fe 0a 37 c8 fe 1a 37 c8 d0 3f c9 2d 3a 2d 3a 2d 3a 2d 3a 2d 3a 09 3a 0b 3a 0d   ┆7   7   7   7  ? -:-:-:-:-: : : ┆
0x040120…040140             3a 0f 3a 11 3a 2d 3a 13 3a 15 3a 2d 3a 2d 3a 17 3a 19 3a 1b 3a 1d 3a 1f 3a 2d 3a 2d 3a 2d 3a 2b   ┆: : :-: : :-:-: : : : : :-:-:-:+┆
0x040140…040160             3a 2d 3a 23 3a 2d 3a 25 3a 27 3a 29 3a 2d 3a 2d 3a 2d 3a 2d 3a 2d 3a 2d 3a 6b 3a 2d 3a 6f 3a 71   ┆:-:#:-:%:':):-:-:-:-:-:-:k:-:o:q┆
0x040160…040180             3a 73 3a 75 3a 77 3a 79 3a 7b 3a 2d 3a 7f 3a 81 3a 2d 3a 2d 3a 2d 3a 85 3a 87 3a 89 3a 2d 3a 2d   ┆:s:u:w:y:æ:-: : :-:-:-: : : :-:-┆
0x040180…0401a0             3a 21 74 08 c3 a3 26 cd 39 27 d5 cd b6 22 cd b7 1a 78 08 cd 45 27 e1 cd d0 1a cd 40 1e c3 28 2d   ┆:!t   & 9'   "   x  E'     @  (-┆
0x0401a0…0401c0             21 76 08 e5 cd 39 27 e1 d5 e5 fe af f5 cd 19 33 cd 97 2f 3a a0 38 32 9e 38 cd 40 21 cd f1 24 f1   ┆!v   9'        3  /: 82 8 @!  $ ┆
0x0401c0…0401e0             e1 f5 cd d0 1a f1 b7 c4 45 27 e1 cd d0 1a cd b7 1a 7c 08 3e 17 cd 34 1e cd b7 1a 70 08 cd 0d 33   ┆        E'       ø >  4    p   3┆
0x0401e0…040200             cd 54 1d cd ca 24 af 32 9f 38 3a a0 38 32 9e 38 cd b1 1b 21 85 06 be c2 f0 26 af 32 9b 38 cd 18   ┆ T   $ 2 8: 82 8   !     & 2 8  ┆
0x040200…040220 (17, 0, 4)  c3 e1 2c 21 00 00 39 31 03 36 3e ff cd 30 2d ff 21 00 00 39 31 03 36 af cd 30 2d c3 00 00 3a 00   ┆  ,!  91 6>  0- !  91 6  0-   : ┆
0x040220…040240             38 b7 21 03 15 c4 70 33 cd a1 22 2a 03 36 f9 c9 32 05 36 21 00 00 39 22 03 36 cd 81 2d cd c8 2e   ┆8 !   p3  "* 6  2 6!  9" 6  -  .┆
0x040240…040260             3a 5d 00 fe 20 ca 4d 2d cd 5c 33 08 00 cd 39 25 cd 39 25 c3 a5 2f f5 cd 82 2f 3a 8f 36 fe 9c c2   ┆:Å    M- Ø3   9% 9%  /   /: 6   ┆
0x040260…040280             10 2d 3a 99 37 fe 9c c2 10 2d f1 2a 03 36 f9 f5 cd 7b 2d f1 b7 c4 81 26 c3 a5 2f cd 06 2e c3 c8   ┆ -: 7    - * 6   æ-    &  /  .  ┆
0x040280…0402a0             2e 3a 5d 03 c6 14 21 07 00 be da 9b 2d 21 5a 08 cd dc 1a eb cd f7 17 09 c3 1b 2d 21 34 02 7e b7   ┆.:Å   !     -!Z           -!4 ü ┆
0x0402a0…0402c0             c4 ff 37 01 09 01 21 90 36 cd 08 17 01 65 01 21 ff 37 cd 08 17 3a b0 02 32 20 37 cd 24 2e cd 54   ┆  7   ! 6    e ! 7   :  2 7 $. T┆
0x0402c0…0402e0             22 cd 9a 2e 21 02 00 cd 4f 21 21 53 01 cd e5 1a 21 17 01 cd e5 1a cd 90 1e 21 8f 01 cd fe 2d 23   ┆"  .!   O!!S    !        !    -#┆
0x0402e0…040300             cd fe 2d 23 cd fe 2d 23 cd fe 2d 3a 60 03 32 18 37 3a 63 03 32 2b 02 cd 76 19 32 1f 37 c9 cd b7   ┆  -#  -#  -:` 2 7:c 2+  v 2 7   ┆
0x040300…040320             1a 58 08 c3 e5 1a 01 65 01 21 ff 37 cd 08 17 3a b0 02 32 20 37 cd 24 2e cd 8f 22 cd 95 2e 3a 1f   ┆ X     e ! 7   :  2 7 $.  "  .: ┆
0x040320…040340             37 c3 7c 18 2a 06 00 11 fa ff 19 cd 4c 2e 22 79 39 3a 49 02 cd 46 17 2b 2b 22 77 39 22 7d 39 cd   ┆7 ø *       L."y9:I  F ++"w9"å9 ┆
0x040340…040360             a5 2e 22 7b 39 22 64 39 22 66 39 c9 e5 2a b1 02 3a 20 37 b7 c2 6d 2e 2a 48 02 4c 26 00 eb 62 6a   ┆ ."æ9"d9"f9  *  : 7  m.*H L&  bj┆
0x040360…040380             19 0d c2 60 2e eb e1 cd 2c 17 2b e5 23 22 68 39 22 72 39 e5 2a 48 02 2d cd 44 23 22 6e 39 eb 22   ┆   `.   , + #"h9"r9 *H - D#"n9 "┆
0x040380…0403a0             70 39 eb e3 e5 cd 2b 17 22 6c 39 d1 e1 cd 2c 17 22 6a 39 e1 c9 3a 20 37 b7 c0 2a 48 02 cd 90 1e   ┆p9    + "l9   , "j9  : 7  *H    ┆
0x0403a0…0403c0             2d c2 9d 2e c9 e5 7c d6 10 21 5d 03 96 fe 08 d2 b4 2e 3e 08 6f 26 00 29 29 29 29 3e 04 bc d2 c3   ┆-  .  ø  !Å      .> o& ))))>    ┆
0x0403c0…0403e0             2e 67 6f eb e1 c3 2c 17 cd 2c 33 cd f8 2e cd 1a 2f 3e 01 32 6b 38 3a 48 02 d6 01 32 6d 38 3d 32   ┆.go   ,  ,3  .  /> 2k8:H   2m8=2┆
0x0403e0…040400             70 38 3d 32 6f 38 cd 42 2f 3a 80 39 c6 16 2a 91 39 bc 3e 19 d4 87 26 c9 01 0c 00 11 40 39 21 f2   ┆p8=2o8 B/: 9  * 9 >   &     @9! ┆
0x040400…040420 (17, 0, 5)  c2 fb 16 05 c2 fb 16 c9 78 b1 c8 0b 36 00 23 c3 08 17 06 00 24 25 f0 05 25 24 f0 f5 af 95 6f 3e   ┆        x   6 #     $%  %$    o>┆
0x040420…040440             00 9c 67 f1 c9 eb cd 1b 17 eb c9 eb d5 eb cd 1b 17 eb 19 d1 c9 e5 cd 2c 17 44 4d e1 78 b1 c9 85   ┆  g                    , DM x   ┆
0x040440…040460             6f 7c ce 00 67 c9 e5 67 7d 94 e1 6f 7c de 00 67 c9 5e 23 56 23 7e 23 66 6f c9 0e 03 1a ae e6 7f   ┆oø  g  gå  oø  g ^#V#ü#fo       ┆
0x040460…040480             c0 13 23 0d c2 5c 17 c9 c5 47 7a 94 c2 71 17 7b 95 78 c1 c9 be f0 7e c9 f5 7e 2f 77 f1 c9 7e cd   ┆  #  Ø   Gz  q æ x    ü  ü/w  ü ┆
0x040480…0404a0             96 17 c0 23 c3 7e 17 fe 0c c8 fe 8c c8 c3 9d 17 fe 0c c8 fe 8c c8 cd a6 17 c8 fe 8d c8 fe 0d c8   ┆   # ü                          ┆
0x0404a0…0404c0             fe 0a c8 fe 8a c9 fe a0 c8 fe 89 c8 fe 20 c8 fe 09 c9 e6 7f fe 3a c8 fe 2e c8 fe 2c c8 fe 3b c8   ┆                     :  .  ,  ; ┆
0x0404c0…0404e0             fe 3f c8 fe 21 c9 fe 30 3f d0 fe 3a c9 b7 c8 fe 20 d0 f6 40 c9 cd cd 17 cd e2 17 fe 5b d0 fe 41   ┆ ?  !  0?  :       @        Æ  A┆
0x0404e0…040500             3f c9 fe 61 d8 fe 7b d0 e6 df c9 cd 55 27 d5 11 80 00 cd f7 17 1a d1 e3 c5 4e 23 d5 e5 cd 05 00   ┆?  a  æ     U'           N#     ┆
0x040500…040520             e1 d1 c1 e3 c9 77 b7 c8 c6 40 77 23 36 3a 23 36 00 c9 1a cd 05 18 c5 d5 0e 08 cd 33 18 13 1a e6   ┆     w   @w#6:#6           3    ┆
0x040520…040540             7f fe 20 ca 2e 18 36 2e 23 0e 03 cd 34 18 36 00 d1 c1 c9 13 1a e6 7f fe 20 ca 3e 18 77 23 0d c2   ┆    . 6.#   4 6           > w#  ┆
0x040540…040560             33 18 c9 f5 c5 d5 e5 cd 4d 18 c3 ab 32 d5 c5 11 ff ff 01 f6 ff 09 13 da 55 18 eb c1 7b c6 3a d1   ┆3       M   2           U   æ : ┆
0x040560…040580             d5 f5 05 f2 67 18 04 7c b5 b0 e5 c4 4d 18 e1 f1 c9 d5 cd 76 19 5f cd eb 17 0d 7b d1 d5 e5 32 1f   ┆    g  ø    M      v _    æ   2 ┆
0x040580…0405a0             37 5f cd 76 19 3d 1d 21 04 00 be c2 8f 18 73 cd eb 17 0e e1 d1 c3 c7 29 c5 cd 76 19 47 0e 01 b9   ┆7_ v = !      s        )  v G   ┆
0x0405a0…0405c0             ca af 18 1a b9 c2 aa 18 48 47 78 12 cd c4 18 79 c1 c0 12 cd ba 18 c0 af 12 c9 cd c4 18 c0 eb 22   ┆        HGx    y               "┆
0x0405c0…0405e0             65 38 eb c9 cd eb 17 0f 3c e5 21 23 00 19 36 00 2b 36 00 e1 c9 11 f4 38 1b 1b 1a 13 13 b7 c8 cd   ┆e8      < !#  6 +6     8        ┆
0x0405e0…040600             eb 17 10 3c c0 3e 1c cd 87 26 e5 2a bc 38 22 be 38 e1 11 f4 38 cd d8 18 cd eb 17 13 cd c7 29 1b   ┆   < >   & * 8" 8   8         ) ┆
0x040600…040620 (17, 0, 6)  b1 1b cd 2c 27 cd 08 25 c3 6a 1f e5 2a 65 38 c3 18 1f e5 2a 65 38 36 00 eb 2a 77 39 e5 cd 12 18   ┆   ,'  % j  *e8    *e86  *w9    ┆
0x040620…040640             d1 e1 1a b7 ca 6a 1f cd a5 1e 13 c3 22 1f fe 05 ca 34 1f d0 fe 01 d8 23 f5 cd 9c 1b 5e 23 cd 9c   ┆     j      "    4     #    ^#  ┆
0x040640…040660             1b f1 56 fe 01 c8 fe 02 ca 60 1f fe 03 ca 65 1f fe 04 ca 22 1f 1a b7 11 46 08 c8 11 48 08 af c9   ┆  V      `    e    "    F   H   ┆
0x040660…040680             eb 19 2b eb c9 eb cd d6 1a 2b d1 d1 c9 f5 c5 4f 3a 21 37 a1 47 79 e6 7f fe 1e ca 82 1f fe 1f c2   ┆  +      +     O:!7 Gy          ┆
0x040680…0406a0             89 1f 3a b7 03 a8 c3 6f 1f fe 7f c2 90 1f 3e 7e cd 6a 1d dc 51 1e fe 09 c2 ab 1f 3e 20 cd c9 1f   ┆  :    o      >ü j  Q      >    ┆
0x0406a0…0406c0             3a 1e 37 e6 07 c2 9b 1f c3 c6 1f fe 20 d2 c3 1f fe 0a ca c3 1f fe 0d ca c3 1f f5 3e 5e cd c9 1f   ┆: 7                        >^   ┆
0x0406c0…0406e0             f1 c6 40 cd c9 1f c1 f1 c9 fe 20 da cf 1f b0 f5 3a 20 37 b7 c2 f0 1f f1 f5 fe 20 cc 68 0b d4 b4   ┆  @             : 7         h   ┆
0x0406e0…040700             20 e5 21 b3 02 34 35 c2 ec 1f e6 7f e1 cd 84 20 f1 e5 f5 cd c8 20 21 1e 37 e6 7f fe 0a ca 21 20   ┆  !  45               ! 7     ! ┆
0x040700…040720             fe 0d ca 19 20 34 cd c3 02 2a 72 39 f1 f5 77 cd c9 02 23 cd ef 20 f1 e1 c9 36 00 2a 74 39 c3 13   ┆     4   *r9  w   #      6 *t9  ┆
0x040720…040740             20 2b 34 3a 48 02 3d be da 42 20 3a 49 02 f5 2a 74 39 cd 3f 17 22 74 39 f1 2a 72 39 cd 3f 17 c3   ┆ +4:H =  B :I  *t9 ? "t9 *r9 ?  ┆
0x040740…040760             13 20 35 2a 68 39 f1 fe e5 c5 d5 cd c8 20 eb 2a 49 02 26 00 e5 19 eb e5 2a 6e 39 cd 35 17 e1 eb   ┆  5*h9         *I &     *n9 5   ┆
0x040760…040780             cd 38 1d cd c3 02 cd c2 16 cd c9 02 cd 38 1d e1 cd c3 02 3e 20 12 13 2d c2 75 20 cd c9 02 d1 c1   ┆ 8           8     >   - u      ┆
0x040780…0407a0             e1 c3 f2 20 f5 c5 4f 3a c0 02 b7 ca 9f 20 d5 e5 79 f5 cd 2d 23 f1 2a 1d 37 cd c0 02 c3 ab 32 3e   ┆      O:        y  -# * 7     2>┆
0x0407a0…0407c0             09 cd 29 1d c1 f1 c9 f5 c5 4f c3 9f 20 f5 af cd b4 20 f1 c9 e5 21 17 37 ae f2 c5 20 ae 77 e1 fa   ┆  )      O           ! 7     w  ┆
0x0407c0…0407e0             49 22 c3 3d 22 ae e1 c9 f5 3a 1a 37 b7 ca ea 20 e5 c5 cd c3 02 2a 72 39 7e e6 7f 47 3a 76 39 b0   ┆I" ="    : 7         *r9ü  G:v9 ┆
0x0407e0…040800             77 cd c9 02 af 32 68 38 c1 e1 f1 c9 cd c8 20 22 72 39 f5 3a 1a 37 b7 c2 0f 21 3a b0 02 b7 ca ea   ┆w    2h8       "r9 : 7   !:     ┆
0x040800…040820 (17, 0, 7)  25 c3 a5 2f 21 67 38 7e b7 c8 36 00 2a 9c 37 7e cd 54 1d 21 7f 38 b6 36 00 c8 3a ca 38 b7 c4 8f   ┆%  /!g8ü  6 * 7ü T ! 8 6  : 8   ┆
0x040820…040840             49 21 7e 08 e5 21 72 08 e5 c3 ab 26 f5 cd 7b 1c 3a 67 38 b7 c2 1a 27 f1 c9 6f 26 00 29 11 11 26   ┆I!ü  !r    &  æ :g8   '  o& )  &┆
0x040840…040860             19 5e 23 56 c9 6f 26 00 11 a5 1e 44 cd 43 18 cd b7 1a 7a 08 c9 f5 e5 3a ca 38 2f 21 03 38 b6 c2   ┆ ^#V o&    D C    z    : 8/! 8  ┆
0x040860…040880             82 27 35 3a 68 38 f5 cd 68 0b 2a 1d 37 e5 21 00 09 cd 4f 21 cd b7 1a 5e 08 e1 cd 4f 21 f1 b7 cc   ┆ '5:h8  h * 7 !   O!   ^   O!   ┆
0x040880…0408a0             c8 20 e1 f1 c3 68 0b f5 c5 d5 e5 2a a4 38 7c b5 21 03 38 b6 c2 9d 27 cd 49 0b c2 ab 32 af 32 03   ┆     h     * 8ø ! 8   ' I   2 2 ┆
0x0408a0…0408c0             38 2a 77 39 22 a8 38 e5 cd f6 27 3a 01 38 b7 ca b7 27 cd bb 28 60 08 3a ca 38 b7 c2 e5 27 3a 00   ┆8*w9" 8   ': 8   '  (` : 8   ': ┆
0x0408c0…0408e0             38 b7 ca df 27 cd 50 28 3a ff 37 b7 ca d4 27 cd bb 28 62 08 cd bb 28 64 08 21 d4 36 cd cc 28 cd   ┆8   ' P(: 7   '  (b   (d ! 6  ( ┆
0x0408e0…040900             bb 28 66 08 af c4 23 5d 3a 49 02 4f cd 38 28 d1 21 00 00 c3 d8 1d 3a 7f 38 b7 2a 75 38 c4 58 28   ┆ (f   #Å:I O 8( !     : 8 *u8 X(┆
0x040900…040920             2a 72 38 cd 58 28 3a 74 38 cd 5d 28 3e 07 c3 38 28 3a 82 38 32 72 38 f5 c5 d5 e5 2a 77 39 22 a8   ┆*r8 X(:t8 Å(>  8(: 82r8    *w9" ┆
0x040920…040940             38 e5 cd f6 27 d1 4f c3 f0 27 c5 47 3a 49 02 fe 50 78 da 37 28 c6 10 c1 d5 e5 cd 50 28 f5 2a 77   ┆8   ' O  ' G:I  Px 7(      P( *w┆
0x040940…040960             39 eb 2a a8 38 cd 2c 17 f1 bd d2 3a 28 e1 d1 c9 f5 3e 20 cd 5d 28 f1 c9 7d cd 5d 28 7c b7 c8 fe   ┆9 * 8 ,    :(    >  Å(  å Å(ø   ┆
0x040960…040980             20 d2 6d 28 f5 3e 5e cd 5d 28 f1 c6 40 d5 e5 21 21 37 fe 5c c2 7c 28 3e 20 c3 81 28 fe 20 ca 82   ┆  m( >^ Å(  @  !!7 Ø ø(>   (    ┆
0x040980…0409a0             28 ae 23 a6 2a 79 39 2b 2b eb 2a a8 38 77 cd 68 17 da 98 28 23 22 a8 38 e1 d1 c9 f5 e5 3a 01 38   ┆( # *y9++ * 8w h   (#" 8     : 8┆
0x0409a0…0409c0             b7 c2 b6 28 3a 29 02 e6 fe ca b3 28 3a 23 37 21 77 38 a6 cc 50 28 e1 f1 cd 2a 28 e3 d5 5e 23 56   ┆   (:)     (:#7!w8  P(   *(  ^#V┆
0x0409c0…0409e0             23 eb cd c9 28 eb d1 e3 c9 cd d6 1a 7e 23 b7 c8 cd 5d 28 c3 cc 28 c5 e5 3a 26 02 21 2b 02 b6 21   ┆#   (       ü#   Å(  (  :& !+  !┆
0x0409e0…040a00             ca 38 a6 c2 ec 28 32 a2 38 c3 28 29 21 a2 38 4e 36 00 cd f5 32 71 21 a1 38 46 77 4f 90 c4 2b 29   ┆ 8   (2 8 ()! 8N6   2q! 8FwO  +)┆
0x040a00…040a20 (17, 0, 8)  03 cd c2 16 21 18 37 7e b7 ca 1a 2f cd f9 1a c2 1a 2f 36 00 21 5c 08 22 07 38 2a 5c 03 22 7f 39   ┆    ! 7ü   /     /6 !Ø " 8*Ø " 9┆
0x040a20…040a40             22 81 39 22 83 39 2a 83 39 22 85 39 22 87 39 22 89 39 22 8b 39 22 8d 39 22 8f 39 2a 66 39 22 91   ┆" 9" 9* 9" 9" 9" 9" 9" 9" 9*f9" ┆
0x040a40…040a60             39 c9 3a 48 02 fe 10 da 6b 2f fe 79 d2 6b 2f fe 36 d4 64 2f 3a 49 02 fe 40 da 6b 2f fe fb d4 6b   ┆9 :H    k/ y k/ 6 d/:I  @ k/   k┆
0x040a60…040a80             2f fe 7e d8 21 33 3a 22 07 38 c9 3e 17 cd 87 26 21 13 00 11 99 01 19 eb 2a 06 00 01 fa ff 09 c3   ┆/ ü !3:" 8 >   &!       *       ┆
0x040a80…040aa0             2c 17 cd 70 2f 01 13 00 11 20 02 cd c2 16 01 99 01 11 01 36 c3 c2 16 21 00 08 22 b4 38 22 b6 38   ┆,  p/              6   !  " 8" 8┆
0x040aa0…040ac0             af 32 b3 38 c9 2a 03 36 f9 af 32 7f 38 2f 32 84 38 cd 97 2f 21 00 00 22 a4 38 22 9d 38 22 9f 38   ┆ 2 8 * 6  2 8/2 8  /!  " 8" 8" 8┆
0x040ac0…040ae0             3a 99 38 cd db 32 21 b1 2f e5 cd 04 27 3e ff 32 95 38 21 01 38 7e 2f 2b a6 2b a6 21 0d 0f c4 70   ┆: 8  2! /   '> 2 8! 8ü/+ + !   p┆
0x040ae0…040b00             33 3a ca 38 b7 c2 74 4f 2a 77 06 11 06 00 cd 33 30 d8 af 32 3f 39 cd 54 33 f5 e5 cd 17 28 3a 00   ┆3: 8  tO*w     30  2?9 T3    (: ┆
0x040b00…040b20             38 b7 c2 0b 30 2a 81 39 22 83 39 cd 0d 33 af 32 95 38 e1 d5 7c 3d 11 3b 35 ca 23 30 3d 11 4d 5f   ┆8   0* 9" 9  3 2 8  ø= ;5 #0= M_┆
0x040b20…040b40             c2 30 30 eb 16 00 19 5e 23 56 eb d1 f1 cd 70 33 d1 f1 e9 af 32 72 38 32 73 38 32 74 38 32 9b 38   ┆ 00    ^#V    p3    2r82s82t82 8┆
0x040b40…040b60             cd 18 25 3e ff 32 95 38 cd a1 31 cd cf 30 ca 33 30 32 72 38 d5 e5 47 0e 00 3a ca 38 b7 c2 6c 30   ┆  %> 2 8  1  0 302r8  G  : 8  l0┆
0x040b60…040b80             78 fe 0d ca b8 30 cd e2 17 e6 3f 47 11 04 00 7e b7 ca b8 30 b8 ca 7c 30 19 c3 6f 30 23 7e b7 ca   ┆x    0    ?G   ü   0  ø0  o0#ü  ┆
0x040b80…040ba0             bc 30 3a ca 38 a6 3c 23 5e 23 56 2b 2b cc 0e 50 af 32 95 38 cd cf 30 ca 7d 30 32 73 38 cd e2 17   ┆ 0: 8 <#^#V++  P 2 8  0 å02s8   ┆
0x040ba0…040bc0             4f 7e a9 e6 bf ca bc 30 23 23 23 7e b7 ca b8 30 b8 23 ca a1 30 c3 a8 30 37 e1 d1 c9 23 5e 23 56   ┆Oü     0###ü   0 #  0  07   #^#V┆
0x040bc0…040be0             eb d1 d1 7c b7 c0 11 93 39 19 eb 21 9e 24 c9 cd 1f 31 c3 bb 1b e5 2a 1d 37 cd 49 0b cc a0 32 cd   ┆   ø    9  ! $   1    * 7 I   2 ┆
0x040be0…040c00             36 31 cd 49 0b d5 cc ed 30 d1 c3 31 31 11 9e 38 1a b7 ca 00 31 3d cd 43 21 cd b7 1a 80 08 af 12   ┆61 I    0  11  8    1= C!       ┆
0x040c00…040c20 (17, 0, 9)  cd bc 19 13 c3 bc 19 3a cb 38 b7 c0 d5 11 1b 39 cd ba 18 d1 c8 e5 cd e1 32 2a 1d 37 e5 21 01 00   ┆       : 8     9        2* 7 !  ┆
0x040c20…040c40             cd 4f 21 cd b7 1a bd 39 e1 cd 4f 21 e1 3a ca 38 b7 c8 e5 21 cb 38 7e 36 ff e1 b7 c0 d5 11 1b 39   ┆ O!    9  O! : 8   ! 8ü6       9┆
0x040c40…040c60             cd f8 18 d1 c9 cd f8 18 cd c9 18 cd eb 17 16 3c c0 3e 1b cd 87 26 cd eb 17 11 c3 61 19 cd eb 17   ┆               < >   &     a    ┆
0x040c60…040c80             12 fe ff c8 e6 03 87 87 87 87 87 21 80 00 cd 3f 17 f6 ff c9 b7 c0 cd f7 17 19 3c c9 c5 d5 e5 d5   ┆           !   ?          <     ┆
0x040c80…040ca0             21 10 00 19 01 10 00 eb cd c2 16 36 00 d1 21 19 00 19 eb e1 e5 cd bf 16 e1 d1 c1 cd c7 29 cd eb   ┆!          6  !              )  ┆
0x040ca0…040cc0             17 17 c9 cd ae 19 d4 35 1a c9 cd 3c 1a d8 af cd 68 1a da bc 19 cd f7 17 14 b7 3d c0 1b af 12 13   ┆       5   <    h         =     ┆
0x040cc0…040ce0             37 c9 e5 62 6b 2b 2b 7e b7 cc 45 19 36 ff e1 cd f9 19 c0 f5 e5 21 f4 38 cd 68 17 e1 ca ee 19 3a   ┆7  bk++ü  E 6        ! 8 h     :┆
0x040ce0…040d00             f3 38 b7 d5 cc ea 18 d1 f1 cd f9 19 c0 f5 e5 21 1b 39 1a be e1 cc 07 19 f1 cd 66 1a cd f7 17 15   ┆ 8             ! 9        f     ┆
0x040d00…040d20             fe 01 c8 fe ff c8 fe 02 c9 c5 e5 d5 01 80 00 11 ce 3b d5 cd c2 16 e1 d1 cd 1e 1a e1 c1 c9 cd 2c   ┆                 ;             ,┆
0x040d20…040d40             1a c0 fe 02 c2 51 19 3e 0c cd 81 26 cd c2 19 f5 c4 35 1a f1 c9 c5 01 01 00 c3 40 1a c5 01 ff ff   ┆     Q >   &     5        @     ┆
0x040d40…040d60             d5 e5 1b 3e ff 12 21 23 00 19 e5 cd 55 17 09 7c a5 3c ca 5f 1a eb e1 73 23 72 b7 e1 d1 c1 c9 af   ┆   >  !#    U  ø < _   s#r      ┆
0x040d60…040d80             12 37 e1 c3 5b 1a 3e ff c5 47 e5 21 22 00 19 cd 55 17 7d e6 7f 4f 29 7c 21 0c 00 19 be ca a1 1a   ┆ 7  Æ >  G !"   U å  O)ø!       ┆
0x040d80…040da0             e5 f5 21 21 00 19 7e b7 c4 df 18 36 00 f1 e1 77 cd eb 17 0f 3c c2 a1 1a 78 b7 37 ca aa 1a cd 4b   ┆  !!  ü    6   w    <   x 7    K┆
0x040da0…040dc0             19 21 20 00 19 71 23 7e b0 77 e1 f5 eb cd f7 17 1a eb f1 c1 c3 55 27 e3 cd bd 1a e3 c9 d5 5e 23   ┆ !   q#ü w           U'       ^#┆
0x040dc0…040de0             56 23 e5 eb f5 cd d0 1a f1 e1 d1 c9 cd 49 0b c0 cd d6 1a c3 ea 1a d5 cd 44 1b d1 d0 d5 5e 23 56   ┆V#           I          D    ^#V┆
0x040de0…040e00             2b 19 d1 b7 c9 d5 cd 44 1b d1 7e b7 ca 49 0b cd 98 1e 23 cd 9c 1b c3 ea 1a 3a 3f 39 b7 c0 32 4c   ┆+      D  ü  I    #      :?9  2L┆
0x040e00…040e20 (17, 0, 10) 20 c5 d5 e5 2a 1d 37 cd 27 23 e1 d1 c1 f1 c9 e5 21 68 38 7e b7 c2 2d 21 35 cd c3 02 2a 72 39 7e   ┆    * 7 '#      !h8ü  -!5   *r9ü┆
0x040e20…040e40             ee 80 77 ee 80 e6 80 32 76 39 cd c9 02 e1 f1 c9 e3 e5 2a 1d 37 e3 cd e5 1a e3 cd bc 22 e1 e3 c9   ┆  w    2v9        * 7       "   ┆
0x040e40…040e60             3a 99 38 e5 6f 26 00 cd 4c 21 e1 c9 cd 65 21 f5 d5 eb 2a 1d 37 eb cd 68 17 c4 bc 22 cd 7b 1c d1   ┆: 8 o&  L!   e!   * 7  h   " æ  ┆
0x040e60…040e80             f1 c9 2a 69 38 f5 3a 6b 38 85 6f f1 c9 2a 1d 37 f5 7d cd 78 21 6f f1 c9 e5 21 6b 38 96 e1 c9 3a   ┆  *i8 :k8 o  * 7 å x!o   !k8   :┆
0x040e80…040ea0             af 02 f5 cd b2 21 f1 f5 3a d8 02 b7 c2 a1 21 f1 3c 3d c8 f5 cd 38 1d af 00 3d c2 99 21 f1 c3 91   ┆     !  :     ! <=   8   =  !   ┆
0x040ea0…040ec0             21 d5 16 00 5f cd f7 17 90 cd 4b 1d c2 a9 21 d1 f1 c9 3a 20 37 b7 c0 7e 3c 3d c8 23 f5 7e cd 84   ┆!   _     K   !   : 7  ü<= # ü  ┆
0x040ec0…040ee0             20 f1 c3 b9 21 f5 c5 d5 e5 eb 21 ab 32 e5 3a 48 02 3d 93 21 aa 02 b6 3a 49 02 c2 de 21 3d 92 c8   ┆    !     ! 2 :H = !   :I   !=  ┆
0x040ee0…040f00             d8 4f d5 eb cd 44 23 d1 3a 20 37 b7 c2 2a 22 7e fe 20 c2 fc 21 23 14 0d c2 ef 21 c9 e5 79 cd 3f   ┆ O   D# : 7  *"ü    !#    !  y ?┆
0x040f00…040f20             17 0c 0d 2b 7e fe 20 ca 02 22 e1 cd ad 20 eb cd 4f 21 21 6d 02 7e b7 f5 c4 7f 21 f1 c2 29 22 41   ┆   +ü    "      O!!m ü    !  )"A┆
0x040f20…040f40             3e 20 cd 84 20 05 c2 20 22 eb cd c8 20 cd c3 02 36 20 23 0d c2 30 22 cd c9 02 c3 f2 20 f5 e5 21   ┆>       "       6 #  0"        !┆
0x040f40…040f60             8b 02 7e b7 c2 4e 22 e1 f1 f5 e5 21 84 02 cd 7f 21 e1 f1 c9 f5 e5 3a 20 37 b7 f5 3a b3 02 c2 68   ┆  ü  N"    !    !     : 7  :   h┆
0x040f60…040f80             22 b7 c2 6c 22 3a 84 02 b7 ca 6e 22 3e 80 32 21 37 ee 7f 32 22 37 f1 ca 80 22 3a b4 02 32 1a 37   ┆"  l":    n"> 2!7  2"7   ":  2 7┆
0x040f80…040fa0             c5 d5 cd a4 02 d1 c1 21 92 02 cd 7f 21 e1 f1 f5 e5 cd b6 22 e1 f1 f5 e5 cd c8 20 2a 1d 37 c3 d9   ┆       !    !      "       * 7  ┆
0x040fa0…040fc0             22 f5 e5 cd 8f 22 21 9b 02 cd 7f 21 c5 d5 cd a7 02 d1 c1 e1 f1 c9 2a 48 02 2d 26 00 f5 e5 d5 e5   ┆"    "!    !          *H -&     ┆
0x040fc0…040fe0             22 1d 37 cd 44 23 cd ec 20 eb 22 74 39 e1 d1 3a 1a 37 b7 c2 51 22 cd ad 20 c5 d5 cd e9 22 d1 c1   ┆" 7 D#    "t9  : 7  Q"       "  ┆
0x040fe0…041000             e1 3a ae 02 cd 87 21 f1 c9 3a 64 02 b7 c2 27 23 eb 2a 5e 02 19 5c 3a 5d 02 b7 c2 fe 22 eb e5 21   ┆ :    !  :d   '# *^  Ø:Å    "  !┆
0x041000…041020 (17, 0, 11) 3a a3 38 b7 c2 28 29 3a 26 02 b7 3e 01 c4 36 29 81 32 a2 38 c6 03 21 6d 38 be da 28 29 af 32 a2   ┆: 8  ():&  >  6) 2 8  !m8  () 2 ┆
0x041020…041040             38 32 a1 38 2f 32 a3 38 e1 c1 c9 f5 af 32 a3 38 f1 c9 35 f0 34 c9 c5 3a 49 02 3d 47 cd 4a 29 3d   ┆82 8/2 8     2 8  5 4  :I =G J)=┆
0x041040…041060             0e 00 0c 90 d2 42 29 79 c1 c9 cd 21 33 3a 28 37 c8 e5 21 08 36 be d2 5a 29 7e e1 c9 cd 49 0b c0   ┆     B)y   !3:(7  ! 6  Z)ü   I  ┆
0x041060…041080             3a ca 38 b7 c8 c5 d5 e5 cd 8f 5e 3a a2 38 cd db 32 c3 5b 1a cd c7 29 3a 2b 02 0f 0f 17 17 2f c3   ┆: 8       ^: 8  2 Æ   ):+     / ┆
0x041080…0410a0             84 29 3e fe c5 e5 21 2b 02 46 77 a0 3e 00 32 94 38 e1 c1 c0 af 32 89 38 c3 be 29 cd d0 29 32 87   ┆ )>   !+ Fw > 2 8    2 8  )  )2 ┆
0x0410a0…0410c0             38 0c 3a 6d 38 c2 aa 29 d6 05 32 88 38 c9 3a 8a 38 3c c3 bb 29 3a 8a 38 b7 c8 3d 32 8a 38 e5 21   ┆8 :m8  )  2 8 : 8<  ): 8  =2 8 !┆
0x0410c0…0410e0             00 00 22 8b 38 e1 c9 f5 af 32 91 38 f1 c3 be 29 e5 cd 38 1d 3a ca 38 4f 2f e6 08 47 3a 2b 02 fe   ┆  " 8    2 8   )  8 : 8O/  G:+  ┆
0x0410e0…041100             fe 3a 99 38 c2 ea 29 6f 23 7d 21 9c 38 c4 74 17 e1 b8 f0 78 c9 3a 2b 02 b7 ca 94 29 cd 49 0b c0   ┆ : 8  )o#å! 8 t    x :+    ) I  ┆
0x041100…041120             c5 d5 e5 cd 10 2a 3a 89 38 3d cd db 32 c3 5b 1a cd d0 29 21 9c 38 cd 74 17 47 3a 6d 38 90 1f 1f   ┆     *: 8=  2 Æ   )! 8 t G:m8   ┆
0x041120…041140             0c 0d ca 26 2a 1f e6 0f 80 21 87 38 be fc be 29 3a 8b 38 b7 cc 9b 29 3a 87 38 57 3a 88 38 92 fe   ┆   &*    ! 8   ): 8   ): 8W: 8  ┆
0x041140…041160             02 fa 94 29 5f 3a 8b 38 21 8a 38 96 3c bb f2 bf 2a 3a 8c 38 b7 c2 bf 2a cd 17 2b 0e ff 14 1e 00   ┆   )_: 8! 8 <   *: 8   *  +     ┆
0x041160…041180             0c 0c c8 0d cd 4b 2b 3a 93 38 2f 3c 83 5f 79 21 8a 38 be d2 7c 2a 04 05 ca 60 2a 71 79 21 8b 38   ┆     K+: 8/< _y! 8  ø*   `*qy! 8┆
0x041180…0411a0             be da ae 2a 3c 32 8b 38 cd aa 2c 7a 3c 32 89 38 cd 49 0b 21 91 38 a6 c0 3a ca 38 a6 ca ae 2a 3a   ┆   *<2 8  ,z<2 8 I ! 8  : 8   *:┆
0x0411a0…0411c0             8a 38 bb d2 ae 2a 14 7a 32 88 38 c3 bc 2a 14 04 05 7a c2 bc 2a 21 88 38 be da 60 2a 32 89 38 2a   ┆ 8   * z2 8  *   z  *! 8  `*2 8*┆
0x0411c0…0411e0             77 39 22 a8 38 3a 8a 38 4f 3a 8c 38 47 2f b1 21 68 08 c4 c9 28 cd bb 28 6a 08 cd 76 19 2a a8 38   ┆w9" 8: 8O: 8G/ !h   (  (j  v * 8┆
0x0411e0…041200             cd 05 18 22 a8 38 cd 38 1d 78 2f cd 0f 2b 21 6c 08 c4 c9 28 79 cd 0f 2b ca 02 2b 3e 14 cd 9b 28   ┆   " 8 8 x/  +!l   (y  +  +>   (┆
0x041200…041220 (17, 0, 12) 13 1a b7 c8 cd 4f 21 cd 33 25 c2 1c 31 1a 13 12 1b 3d cd 43 21 cd b7 1a b5 39 af 12 c3 87 27 3e   ┆     O! 3%  1    = C!    9    '>┆
0x041220…041240             ff 32 85 38 cd a0 32 cd 36 31 e5 cd ad 20 cd 62 21 cd 4f 21 e1 c9 cd f5 29 cd d6 28 3a ca 38 b7   ┆ 2 8  2 61     b! O!    )  (: 8 ┆
0x041240…041260             ca 50 31 e5 cd f5 32 3d 21 69 38 be f4 a0 32 e1 3a ca 38 b7 c4 7a 5a cd 87 27 cd 49 0b c0 e5 3a   ┆ P1   2=!i8   2 : 8  zZ  ' I   :┆
0x041260…041280             9c 38 21 89 38 cd 74 17 6f 3a ca 38 b7 c2 74 31 3a 6d 38 6f 3a 99 38 bd f2 9d 31 e5 f5 21 87 38   ┆ 8! 8 t o: 8  t1:m8o: 8   1  ! 8┆
0x041280…0412a0             be da 8b 31 21 89 38 be da 97 31 6f 26 00 cd 65 21 cd 49 0b cc c5 21 f1 e1 3c c3 77 31 e1 c3 5c   ┆   1! 8   1o&  e! I   !  < w1  Ø┆
0x0412a0…0412c0             29 c5 e5 3a 96 38 21 86 38 b6 c4 a0 32 36 00 cd 4e 1c 3a ca 38 47 3a 18 37 4f 2a 07 38 7c b5 21   ┆)  : 8! 8   26  N : 8G: 7O* 8ø !┆
0x0412c0…0412e0             94 38 ca c7 31 36 00 3a 96 38 e5 21 98 38 ae e1 a0 a1 ca d7 31 36 00 cd 49 0b b6 c2 61 32 cd 17   ┆ 8  16 : 8 ! 8      16  I   a2  ┆
0x0412e0…041300             28 cd 08 25 3a 01 38 a0 a1 21 b9 39 c4 d0 1a 3a 04 38 a1 21 bb 39 c4 d0 1a 3a 96 38 a0 ca 0b 32   ┆(  %: 8  ! 9   : 8 ! 9   : 8   2┆
0x041300…041320             32 98 38 cd b7 1a b7 39 c3 23 32 78 2f b1 fe 03 da 23 32 cd 70 32 b7 f2 20 32 cd 6d 21 22 69 38   ┆2 8    9 #2x/    #2 p2   2 m!"i8┆
0x041320…041340             cd 40 1e cd b3 24 3a 99 38 32 9c 38 3a 96 38 b7 ca 40 32 21 98 38 7e b7 36 ff 21 b7 39 cc d0 1a   ┆ @   $: 82 8: 8  @2! 8ü 6 ! 9   ┆
0x041340…041360             2a 07 38 7c b5 f5 c4 d0 1a 21 00 00 22 07 38 cd b3 24 3a 99 38 32 9a 38 f1 c2 61 32 3e ff 32 94   ┆* 8ø     !  " 8  $: 82 8  a2> 2 ┆
0x041360…041380             38 21 04 38 7e 36 00 b7 e1 c1 c8 af 32 94 38 c9 f5 d5 e5 3a 49 02 fe 50 da 7d 32 13 13 21 93 39   ┆8! 8ü6      2 8    :I  P å2  ! 9┆
0x041380…0413a0             19 cd d0 1a e1 d1 f1 c9 3a 05 36 b7 c8 cd ad 20 cd 8f 22 cd 38 00 cd e1 32 af 32 94 38 c3 a5 2f   ┆        : 6       " 8   2 2 8  /┆
0x0413a0…0413c0             f5 c5 d5 e5 3a ca 38 b7 c4 9b 50 e1 d1 c1 f1 c9 e5 21 99 38 be da b9 32 77 3a ca 38 b7 ca c9 32   ┆    : 8   P      ! 8   2w: 8   2┆
0x0413c0…0413e0             3a 6f 38 3d be f2 c9 32 77 7e 3d 21 87 38 be f4 be 29 21 a1 38 be f4 2b 29 e1 c9 cd e7 32 c3 a6   ┆:o8=   2wü=! 8   )! 8  +)    2  ┆
0x0413e0…041400             5c cd e7 32 c3 b5 5c f5 3a ca 38 b7 ca f1 32 f1 c9 f1 33 33 c9 e5 3a 99 38 21 9c 38 cd 74 17 21   ┆Ø  2  Ø : 8   2   33  : 8! 8 t !┆
0x041400…041420 (17, 0, 13) 39 d5 11 40 39 cd 98 18 d1 c8 e5 3e ff 32 3f 39 21 62 39 34 21 93 39 d5 11 40 39 cd a3 19 d1 21   ┆9  @9      > 2?9!b94! 9  @9    !┆
0x041420…041440             13 3a af cd 7b 1b cd 7b 1b d5 2a 93 39 eb 2a 0e 01 cd 68 17 ca 3d 1b 21 95 39 22 07 38 d1 3a 3f   ┆ :  æ  æ  * 9 *   h  = ! 9" 8 :?┆
0x041440…041460             39 b7 e1 c9 11 92 39 cd 68 17 3f d8 11 cc 3a cd 68 17 d8 cd f9 1a ca ab 1b cd 55 17 25 7d e6 7f   ┆9     9 h ?   : h         U %å  ┆
0x041460…041480             f5 29 eb 3a 62 39 3d 21 4d 3b ba ca 98 1b 3d ba ca 95 1b 7a 32 62 39 f1 21 cd 3a f5 d5 11 40 39   ┆ ) :b9=!M;    =    z2b9 ! :   @9┆
0x041480…0414a0             cd a3 19 da a9 1b cd 49 0b 3e 80 cd 3f 17 cd a3 19 da a9 1b d1 21 cd 3a f1 c3 3f 17 d5 11 cd 3b   ┆       I >  ?        ! :  ?    ;┆
0x0414a0…0414c0             cd 68 17 d1 c0 af c3 78 1b d1 f1 21 3a 08 c3 dc 1a cd d5 30 cd bb 1b ca b1 1b c9 e5 cd c3 02 3a   ┆ h     x   !:      0           :┆
0x0414c0…0414e0             76 39 2a 72 39 2b b6 23 23 b6 2b cd 07 1c 21 b5 02 a6 f2 ff 1b cd 4e 1c ca 02 1c cd c3 02 7e cd   ┆v9*r9+ ## +   !       N       ü ┆
0x0414e0…041500             07 1c 2f cd b4 20 cd 27 25 cd c8 20 cd c3 02 7e cd 07 1c cd b4 20 cd 2d 25 cd f2 20 ca d5 1b cd   ┆  /    '%      ü       -%       ┆
0x041500…041520             0d 1c cd ad 20 e1 c9 f5 cd c9 02 f1 c9 e5 cd 3f 1c ca 26 1c f5 36 00 23 7e 3c c2 20 1c 21 9e 37   ┆               ?  &  6 #ü<   ! 7┆
0x041520…041540             22 9c 37 c3 3a 1d e1 3a 00 38 2f b7 cc ff 1c c2 45 1c cd 6e 0b cd 49 0b cd 4e 1c c2 0d 1c c9 2a   ┆" 7 :  : 8/     E  n  I  N     *┆
0x041540…041560             9c 37 7e b7 c9 cd c4 1c b7 ca 45 1c b7 c9 d5 e5 2a 05 38 eb 2a 00 38 22 05 38 cd 68 17 e1 d1 ca   ┆ 7ü       E     * 8 * 8" 8 h    ┆
0x041560…041580             67 1c af 32 94 38 c9 3a 03 38 2f b7 c0 e5 2a 1d 37 cd 87 27 cd 4f 21 e1 f6 ff c9 e5 cd ff 1c ca   ┆g  2 8 : 8/   * 7  ' O!         ┆
0x041580…0415a0             a1 1c cd ff 1c ca a1 1c cd ab 1c 7e b7 ca 82 1c 3e 21 cd 6d 1f 3e 07 cd 84 20 cd e1 32 e1 f6 ff   ┆           ü    >! m >      2   ┆
0x0415a0…0415c0             c9 2a 9c 37 7e b7 e1 c8 f6 ff c9 2a 9a 37 7e b7 c0 cd c4 1c b7 c8 77 23 7e 3c c2 c0 1c 21 9e 37   ┆ * 7ü      * 7ü       w#ü<   ! 7┆
0x0415c0…0415e0             22 9a 37 c9 cd e5 1c fe 7f c0 f5 e5 3a 20 37 2f 21 b8 02 a6 ca e2 1c 3a b9 02 cd 84 20 2a 72 39   ┆" 7         : 7/!      :     *r9┆
0x0415e0…041600             2b 77 e1 f1 c9 cd 17 1d e5 f5 2a b6 02 7c b5 ca f4 1c 36 00 f1 21 84 06 be e1 c0 32 67 38 c9 3a   ┆+w        *  ø    6  !     2g8 :┆
0x041600…041620 (17, 0, 14) 4a 02 cd 12 23 21 53 02 d1 cd 12 23 21 58 02 c3 b7 21 cd b7 21 3a 60 02 47 b7 7b ca 84 20 16 00   ┆J   #!S    #!X   !  !:` G æ     ┆
0x041620…041640             eb 11 84 20 c3 43 18 cd 2d 23 c3 64 02 e5 2a 68 39 eb 2a 74 39 cd 35 17 2a 72 39 cd 2c 17 eb e1   ┆     C  -# d  *h9 *t9 5 *r9 ,   ┆
0x041640…041660             c9 6f 26 00 c5 55 5c 2a 68 39 06 00 3a 49 02 4f 14 c3 55 23 09 15 c2 54 23 eb 19 c1 c9 e5 2a 2b   ┆ o&  UØ*h9  :I O  U#   T#     *+┆
0x041660…041680             02 e3 cd 72 23 e3 f5 7d 21 2b 02 be c4 84 29 f1 e1 c9 c5 d5 e5 3e ff 32 95 38 2a 1d 37 22 aa 38   ┆   r#  å!+    )      > 2 8* 7" 8┆
0x041680…0416a0             e1 e5 0e 00 eb cd b1 1b fe 0d ca 6e 24 fe 0a ca 6e 24 fe 1b ca 6e 24 cd 2c 27 21 85 23 e5 fe 01   ┆           n$   n$   n$ ,'! #   ┆
0x0416a0…0416c0             ca ad 23 fe 18 ca ad 23 fe 19 c2 bc 23 2a aa 38 e5 cd c5 21 e1 cd bc 22 e1 c3 80 23 21 7e 06 be   ┆  #    #    #* 8   !   "   #!ü  ┆
0x0416c0…0416e0             ca d2 23 fe 7f ca d2 23 fe 1f ca d2 23 fe 08 c2 f2 23 cd 66 24 c8 fe 1e ca e5 23 fe 1f ca e5 23   ┆  #    #    #    # f$     #    #┆
0x0416e0…041700             fe 20 dc e5 23 2a 1d 37 25 cd 4f 21 cd 30 21 20 00 c9 fe 12 c2 01 24 1a b7 c8 cd 35 24 d8 c3 f7   ┆    #* 7% O! 0!       $    5$   ┆
0x041700…041720             23 21 7f 06 be c2 0e 24 1a b7 c8 c3 35 24 fe 2d c2 1d 24 21 23 02 34 35 ca 1d 24 3e 1e 21 81 06   ┆#!     $    5$ -  $!# 45  $> !  ┆
0x041720…041740             be ca 82 29 23 be ca ae 29 23 be ca b5 29 21 80 06 be cc b1 1b 6f 79 3c b8 3f d8 e5 3a 49 02 3d   ┆   )#   )#   )!      oy< ?  :I =┆
0x041740…041760             3d 3d 21 1e 37 96 7d e1 d8 eb 7e 73 23 b7 c2 53 24 36 00 eb 0c 7d fe 09 c2 62 24 3e 5e cd a5 1e   ┆==! 7 å   üs#  S$6   å   b$>^   ┆
0x041760…041780             3e 49 b7 c3 a5 1e 79 b7 c8 0d 3c 1b 1a c9 f5 af 12 32 95 38 f1 e1 2b 71 23 d1 c1 c9 cd 08 25 3a   ┆>I    y   <      2 8  +q#     %:┆
0x041780…0417a0             18 37 fe 02 d8 3a 48 02 fe 17 d8 cd e3 24 3c 32 9f 38 32 9e 38 32 9d 38 c6 02 32 9b 38 c9 cd 08   ┆ 7   :H      $<2 82 82 8  2 8   ┆
0x0417a0…0417c0             25 eb cd d0 1a cd 30 21 0e 00 f5 3e 01 c3 b5 24 cd 40 1e f5 af cd d2 24 f1 c9 e3 cd bd 1a e3 c3   ┆%     0!   >   $ @     $        ┆
0x0417c0…0417e0             b3 24 cd 21 25 e3 cd bd 1a e3 cd 30 21 0e 0e 00 3e 02 e5 21 1d 37 86 cd 78 21 e1 f5 cd b0 32 f1   ┆ $ !%      0!   >  ! 7  x!    2 ┆
0x0417e0…041800             c3 db 32 e5 3a 9a 38 21 9b 38 be f2 ef 24 7e e1 c9 e5 3a 1d 37 c6 06 21 6d 38 be e1 f8 e5 21 00   ┆  2 : 8! 8   $ü   : 7  !m8    ! ┆
0x041800…041820 (17, 0, 15) 6e 08 3a 49 02 cd 38 28 3a 87 38 57 c3 aa 2c 21 95 38 34 35 f0 b7 c9 c5 d5 e5 af 32 8c 38 32 93   ┆n :I  8(: 8W  ,! 845       2 82 ┆
0x041820…041840             38 2a 7d 39 22 8f 38 3a 91 38 b7 c2 48 2b af 32 92 38 11 ef 37 cd 56 19 cd 9d 2c cd e8 2b 3a 92   ┆8*å9" 8: 8  H+ 2 8  7 V   ,  +: ┆
0x041840…041860             38 32 91 38 b7 c4 b1 2c c3 5b 1a c5 d5 e5 3a 49 02 4f 06 0d 2a 77 39 e5 36 20 23 3d c2 58 2b e1   ┆82 8   , Æ    :I O  *w9 6 #= X+ ┆
0x041860…041880             23 cd 78 2b 11 0d 00 19 78 c6 0d 47 b9 da 61 2b e1 d1 c1 3a 8c 38 47 c9 c5 d5 e5 eb 2a 8f 38 2b   ┆# x+    x  G  a+   : 8G     * 8+┆
0x041880…0418a0             46 2b 4e 0a 3c ca a4 2b 22 8f 38 cd 38 1d cd bf 2b 2b 46 2b 4e 0a 3c 57 3a 92 38 b2 cc e8 2b 0a   ┆F+N <  +" 8 8   ++F+N <W: 8   + ┆
0x0418a0…0418c0             3c c2 a9 2b 3e ff 32 8c 38 c3 5b 1a 03 cd bf 2b 2b 2b 2b 44 4d 3e ff 32 93 38 3e 2e 12 13 fe e5   ┆<  +> 2 8 Æ    ++++DM> 2 8>.    ┆
0x0418c0…0418e0             21 78 2c 23 23 23 0a be ca ac 2b 23 7e b7 c2 c3 2b 0a e6 7f 12 0a 03 13 b7 f2 d1 2b fe fa 01 78   ┆!x,###    +#ü   +          +   x┆
0x0418e0…041900             2c e1 1b ca bf 2b 13 c9 d5 e5 af 32 91 38 2a 7d 39 22 8f 38 eb 2a 7b 39 e5 36 ff eb 2b 72 2b 73   ┆,    +     2 8*å9" 8 *æ9 6  +r+s┆
0x041900…041920             eb e5 01 10 00 09 cd 68 17 e1 da 26 2c 3a 92 38 b7 c2 26 2c d5 cd 2a 2c e5 2b 7e f6 80 77 cd 95   ┆       h   &,: 8  &,  *, +ü  w  ┆
0x041920…041940             2c e1 d1 c3 f9 2b c1 e1 d1 c9 e5 2a 8d 38 01 09 00 09 eb 21 74 2c d5 fe e1 d1 0e 04 09 0d 7e b7   ┆,    +     * 8     !t,        ü ┆
0x041940…041960             ca 6f 2c d5 e5 1a ae 13 23 e6 7f c2 38 2c 0d c2 45 2c 7e b7 e1 d1 e1 f2 65 2c f5 cd 67 2c f1 36   ┆ o,     #   8,  E,ü     e,  g, 6┆
0x041960…041980             2e 23 77 23 c9 77 23 3e 20 12 13 12 13 12 fe e1 eb 2a 8d 38 eb c3 16 18 42 41 cb fa 49 4e d4 75   ┆.#w# w#>         * 8    BA  IN u┆
0x041980…0419a0             48 45 d8 76 52 45 cc 77 43 4f cd 78 4f 56 d2 79 24 24 a4 7a 00 d5 11 ef 37 cd 5d 19 d1 22 8d 38   ┆HE vRE wCO xOV y$$ z    7 Å  " 8┆
0x0419a0…0419c0             cd 38 1d c0 3e ff 32 92 38 c9 e5 6a cd b4 1d e1 c9 2a 7d 39 c3 be 2c c1 e1 e1 23 70 2b 71 cd 38   ┆ 8  > 2 8  j     *å9  ,   #p+q 8┆
0x0419c0…0419e0             1d 2b 46 2b 4e 0a 3c c8 e5 c3 db 2c c1 e1 23 56 70 2b 5e 71 42 4b c3 db 2c c1 e1 2b 56 2b 5e e5   ┆ +F+N <    ,  #Vp+^qBK  ,  +V+^ ┆
0x0419e0…041a00             c5 0a e6 7f 6f 1a fe ff ca b7 2c e6 7f bd da cc 2c c2 d9 2c 0a b7 fa d9 2c 1a b7 fa cc 2c 03 13   ┆    o     ,     ,  ,    ,    ,  ┆
0x041a00…041a20 (17, 1, 1)  89 38 cd 74 17 21 a2 38 cd 74 17 e1 c9 e5 2a 83 39 22 85 39 22 87 39 e1 c9 f5 3e ff 32 84 38 f1   ┆ 8 t ! 8 t    * 9" 9" 9   > 2 8 ┆
0x041a20…041a40             c9 3a 20 02 2f e5 21 77 38 b6 e1 c9 21 ff 03 11 0b 38 01 0b 00 c5 cd c2 16 c1 21 0b 04 11 31 38   ┆ :  / !w8   !    8        !   18┆
0x041a40…041a60             cd c2 16 21 2e 38 36 2e 21 54 38 36 2f 3a 10 01 32 5a 38 c9 af 32 09 38 32 2f 38 c9 e3 f5 7e 23   ┆   !.86.!T86/:  2Z8  2 82/8   ü#┆
0x041a60…041a80             32 5f 38 7e 32 61 38 23 22 63 38 f1 e1 c3 93 33 f5 7d 32 5f 38 7c 32 61 38 f1 e3 22 63 38 e1 c3   ┆2_8ü2a8#"c8    3 å2_8ø2a8  "c8  ┆
0x041a80…041aa0             93 33 e3 f5 7e 23 32 5f 38 7e 23 32 61 38 22 63 38 f1 e3 e5 f5 c5 d5 3a 5f 38 3d fe 11 3e 24 d4   ┆ 3  ü#2_8ü#2a8"c8      :_8=  >$ ┆
0x041aa0…041ac0             a0 26 cd bf 33 c4 d6 33 69 60 29 11 a4 34 19 5e 23 56 2a 61 38 19 11 0d 00 19 d1 c1 f1 e3 c9 2a   ┆ &  3  3i`)  4 ^#V*a8          *┆
0x041ac0…041ae0             5f 38 29 29 29 11 aa 34 19 4e 06 00 eb 21 55 38 09 3a 5f 38 be c9 c5 e5 d5 36 00 69 60 29 11 a4   ┆_8)))  4 N   !U8 :_8     6 i`)  ┆
0x041ae0…041b00             34 19 5e 23 56 e1 e5 c5 d5 c5 23 5e 23 56 23 cd 89 34 7e 23 e5 66 6f 29 44 4d 21 22 00 19 71 23   ┆4 ^#V     #^#V#  4ü# fo)DM!"  q#┆
0x041b00…041b20             70 e1 23 4e 23 46 e1 c5 01 ad 34 09 c1 7e b9 3e 29 dc 81 26 e1 e5 0c c3 20 34 cd 7a 34 cd 7a 34   ┆p #N#F    4  ü >)  &     4 z4 z4┆
0x041b20…041b40             0d c2 1a 34 e1 7e fe 9a 3e 27 c4 81 26 23 3a 5f 38 be 3e 2c c4 81 26 d1 d5 eb 13 c5 01 5a 38 09   ┆   4 ü  >'  &#:_8 >,  &      Z8 ┆
0x041b40…041b60             c1 1a b8 3e 2a c4 81 26 1a 77 13 0e 05 21 5a 38 1a b7 ca 5b 34 be 3e 2b c4 81 26 13 23 0d c2 50   ┆   >*  & w   !Z8   Æ4 >+  & #  P┆
0x041b60…041b80             34 eb 5e 23 56 1a fe 9b 3e 28 c4 81 26 d1 21 55 38 19 3a 5f 38 77 d1 e1 c1 c9 cd a3 19 3e 26 dc   ┆4 ^#V   >(  & !U8 :_8w       >& ┆
0x041b80…041ba0             81 26 d5 11 80 00 19 d1 c9 cd 95 34 c0 21 24 00 19 7e cd 81 26 1b 1a 13 b7 c0 cd 98 18 c8 1b 3e   ┆ &         4 !$  ü  &          >┆
0x041ba0…041bc0             ff 12 13 c9 00 00 00 3e 00 45 00 6c 00 79 07 27 05 06 02 0a 38 32 00 27 04 00 03 0a 38 08 00 05   ┆       > E l y '    82 '    8   ┆
0x041bc0…041be0             01 00 03 0a 38 0d 00 04 01 00 03 0a 38 14 00 04 01 00 03 0a 38 2e 00 04 01 00 03 0a 38 18 00 05   ┆    8       8       8.      8   ┆
0x041be0…041c00             01 00 03 0a 38 1f 00 04 01 00 03 0a 38 11 00 03 01 00 01 0a 38 5c 00 07 05 00 01 0a 38 63 00 07   ┆    8       8       8Ø      8c  ┆
0x041c00…041c20 (17, 1, 2)  11 59 43 fe 0d c8 11 8a 43 fe 0a c8 11 93 43 fe 0c c8 11 a4 43 fe 1f c8 11 4c 40 fe 1a c8 11 8c   ┆ YC     C     C     C    L@     ┆
0x041c20…041c40             42 fe 0b c8 11 21 40 fe 09 ca 3a 3f 11 25 40 fe 1e ca 3a 3f fe 1b c0 11 8d 43 36 00 23 cd 4a 3f   ┆B    !@   :? %@   :?     C6 # J?┆
0x041c40…041c60             d6 20 bf c9 cd 4a 3f e6 7f c9 7e 3c cc 4e 13 7e b7 c0 cd 31 13 c3 4f 3f cd 73 3f cd 5c 40 2a ae   ┆     J?   ü< N ü   1  O? s? Ø@* ┆
0x041c60…041c80             3c 3a b2 3c 4f 0c 0d c8 7e 3c cc 4e 13 36 00 23 c3 66 3f 21 00 00 39 11 20 00 42 4b cd 2c 17 f9   ┆<: <O   ü< N 6 # f?!  9   BK ,  ┆
0x041c80…041ca0             eb 21 6a 3c d5 e5 c5 cd c2 16 af 32 c2 3c 2f 32 58 3c 21 32 00 cd e6 40 21 9c 3c cd a5 40 21 00   ┆ !j<       2 </2X<!2   @! <  @! ┆
0x041ca0…041cc0             00 22 76 3c 2a 9d 3d cd ae 40 ca f0 3f fe 03 ca f0 3f fe 06 ca f0 3f fe 07 ca f0 3f fe 11 ca f0   ┆ "v<* =  @  ?    ?    ?    ?    ┆
0x041cc0…041ce0             3f fe 17 ca f0 3f fe 05 ca f0 3f fe 12 ca f0 3f fe 21 d2 f0 3f 46 36 00 23 cd c5 40 c2 e9 3f cd   ┆?    ?    ?    ? !  ?F6 #  @  ? ┆
0x041ce0…041d00             4a 3f 7e 36 00 23 d6 20 4f 78 cd a1 41 c3 a7 3f 22 ae 3c 21 6a 3c 11 8a 3c 01 12 00 cd c2 16 21   ┆J?ü6 #  Ox  A  ?" <!j<  <      !┆
0x041d00…041d20             c4 3c 01 22 00 cd 08 17 af 32 c3 3c 3a 54 3c b7 cc e0 41 cd 59 40 cd 7b 15 c1 d1 e1 cd c2 16 f9   ┆ < "     2 <:T<   A Y@ æ        ┆
0x041d20…041d40             c9 32 53 3c c9 32 54 3c c9 cd e9 43 f6 ff cd 31 13 01 00 04 cd 49 13 0b 78 b1 c2 34 40 21 4f 3c   ┆ 2S< 2T<   C   1     I  x  4@!O<┆
0x041d40…041d60             7e 36 00 b7 fa 29 40 3a 50 3c b7 c8 cd aa 43 cd 10 07 af 32 02 38 c3 31 13 3e ff fe af 32 58 3c   ┆ü6   )@:P<    C    2 8 1 >   2X<┆
0x041d60…041d80             af 32 d2 3c 3a c3 3c 21 58 3c b6 c2 92 40 2a 7a 3c eb 2a 81 3c cd 2c 17 eb 2a ac 3c 19 cd 18 17   ┆ 2 <: <!X<   @*z< * < ,  * <    ┆
0x041d80…041da0             e5 2a 9a 3c 19 cd 18 17 d1 cd 68 17 d2 92 40 f6 ff fe af 32 c2 3c f5 cc 00 41 f1 c4 54 41 cd 7b   ┆ * <      h   @    2 <   A  TA æ┆
0x041da0…041dc0             1c c4 49 13 c9 11 6a 3c 01 10 00 c3 c2 16 cd 4a 3f e6 7f fe 0d c8 fe 0a c8 fe 0c c8 fe 1a c8 fe   ┆  I   j<       J?               ┆
0x041dc0…041de0             1f c8 c3 d0 40 e6 7f fe 1c c8 fe 15 c8 fe 1d c8 fe 1b c8 fe 09 c8 fe 1e c9 2b 7e 3c c2 e4 40 2a   ┆    @                    +ü<  @*┆
0x041de0…041e00             a1 3d 2b 2b 7e c9 11 6f 3c 19 1a be 3e 14 cd f8 40 3e 16 cd f8 40 3e 19 c4 a1 41 23 13 1a be c9   ┆ =++ü  o<   >   @>   @>   A#    ┆
0x041e00…041e20 (17, 1, 3)  ae 6d 79 fe 03 c2 28 6e e5 21 ce 38 1a be e1 ca 1a 6e cd b7 1a 95 3a c3 ae 6d cd ba 18 ca 28 6e   ┆ my   (n ! 8     n    :  m    (n┆
0x041e20…041e40             cd b7 1a 93 3a c3 ae 6d 79 fe 04 c2 5c 6e cd 84 6e c2 ae 6d cd ba 18 ca 5c 6e cd b7 1a 9b 3a cd   ┆    :  my   Øn  n  m    Øn    : ┆
0x041e40…041e60             ca 24 cd b1 1b cd 2c 27 cd d5 17 e5 21 86 08 be ca 55 6e 23 7e e1 cd a5 1e c2 ae 6d f6 ff f5 cd   ┆ $    ,'    !    Un#ü      m    ┆
0x041e60…041e80             a5 24 f1 e1 e3 f5 7d 21 2b 02 be c4 84 29 f1 e1 c1 c9 cd b7 1a 65 3a e1 e5 cd e5 1a cd ba 24 67   ┆ $    å!+    )       e:       $g┆
0x041e80…041ea0             3a c3 ae 6d c5 e5 d5 21 0a 38 cd c2 6e 3a ca 38 b7 ca a6 6e 21 5c 00 cd c2 6e 21 6d 71 cd c2 6e   ┆:  m   ! 8  n: 8   n!Ø   n!mq  n┆
0x041ea0…041ec0             21 f4 38 cd c2 6e 3a 00 38 b7 ca be 6e 21 45 3d cd c2 6e 3a 8b 36 b7 21 6b 3d c4 c2 6e af d1 e1   ┆! 8  n: 8   n!E=  n: 6 !k=  n   ┆
0x041ec0…041ee0             c1 c9 c1 d1 d5 c5 1a be c0 23 13 0e 0b cd 5c 17 c0 f1 cd b7 1a a1 3a f6 ff c3 be 6e c5 d5 d5 af   ┆         #    Ø       :    n    ┆
0x041ee0…041f00             0e 10 12 13 0d c2 e2 6e d1 d5 cd 4d 6f 12 13 0e 08 cd 13 6f fe 2e c2 fa 6e 23 0e 03 cd 13 6f d1   ┆       n   Mo      o .  n#    o ┆
0x041f00…041f20             13 1a 1b fe 20 ca 0f 6f cd 7e 17 b7 d1 c1 c9 37 d1 c1 c9 cd 31 6f ca 26 6f 12 13 0d c2 13 6f cd   ┆       o ü     7    1o &o     o ┆
0x041f20…041f40             31 6f c2 1f 6f c9 f5 3e 20 12 13 0d c2 27 6f f1 c9 7e cd 3c 6f c8 23 cd e2 17 b7 c9 fe 2e c8 fe   ┆1o  o  >     'o  ü <o #      .  ┆
0x041f40…041f60             3a c8 fe 2a c8 fe 3f c8 fe 20 d0 bf c9 cd 7e 17 23 7e 2b fe 3a c2 65 6f 7e cd d8 17 d2 65 6f d6   ┆:  *  ?       ü #ü+ : eoü    eo ┆
0x041f60…041f80             40 23 23 b7 c9 78 37 c9 cd 6a 6d 02 22 6c c8 cd 79 6d 03 24 6c ca 68 6f cd 8d 6f 21 ce 38 e5 01   ┆@##  x7  jm "l  ym $l ho  o! 8  ┆
0x041f80…041fa0             10 00 09 eb 36 00 cd c2 16 d1 c3 9b 19 3a 00 38 21 8b 36 a6 21 ca 38 b6 cc 71 18 c9 cd 03 70 d8   ┆    6        : 8! 6 ! 8  q    p ┆
0x041fa0…041fc0             cd 6a 6d 01 26 6c c8 cd 79 6d 04 28 6c ca a0 6f d5 cd 26 70 d1 d8 cd 8d 6f cd 45 19 3e ff 32 81   ┆ jm &l  ym (l  o  &p    o E > 2 ┆
0x041fc0…041fe0             6c af 47 4f 79 b7 c2 df 18 2a 85 39 11 ce 38 cd a3 19 da ed 6f 04 78 3c ca ee 6f 11 80 00 19 e5   ┆l GOy    * 9  8     o x<  o     ┆
0x041fe0…042000             19 eb 2a 89 39 cd 68 17 e1 da cc 6f fe 0d 04 2a 85 39 11 83 6c 05 ca c4 6f cd 1e 1a 11 80 00 19   ┆  * 9 h    o   * 9  l   o       ┆
0x042000…042020 (17, 1, 4)  17 7c b7 1f 1f 1f e6 3c c6 04 32 c5 38 07 32 c8 38 7c fe 44 21 00 04 22 c0 38 3e 08 32 c6 38 da   ┆ ø     <  2 8 2 8ø D!  " 8> 2 8 ┆
0x042020…042040             23 6d 29 22 c2 38 da 2a 6d 87 32 c7 38 c9 21 86 37 be 77 c8 b7 f5 21 20 02 01 0a 00 cc 08 17 3e   ┆#m)" 8 *m 2 8 ! 7 w   !        >┆
0x042040…042060             ff 32 25 02 f1 eb 21 85 03 c4 c2 16 c9 3a 00 38 21 8b 36 a6 cc 71 18 21 5c 00 7e cd 74 19 77 11   ┆ 2%   !      : 8! 6  q !Ø ü t w ┆
0x042060…042080             6d 71 d5 01 10 00 cd c2 16 e1 3a 6c 00 b7 ca 72 6d 77 3a 5c 00 be ca 7e 6d 3e ff 32 b8 38 e5 11   ┆mq        :l   rmw:Ø   üm> 2 8  ┆
0x042080…0420a0             1b 39 01 09 00 cd c2 16 21 1c 6c cd dc 1a cd bf 16 e1 7e 11 f4 38 12 21 18 6c 01 0b 00 13 cd dc   ┆ 9      ! l       ü  8 ! l      ┆
0x0420a0…0420c0             1a cd c2 16 21 92 36 11 5c 00 cd 12 18 3a b8 38 b7 ca bd 6d 36 20 23 3a 6d 71 cd 05 18 21 a8 36   ┆    ! 6 Ø    : 8   m6 #:mq   ! 6┆
0x0420c0…0420e0             11 6d 71 cd 12 18 21 d4 36 7e b7 cc 12 18 3a b8 38 b7 11 6d 71 c4 ba 18 3e 0b c4 81 26 11 5c 00   ┆ mq   ! 6ü    : 8  mq   >   & Ø ┆
0x0420e0…042100             cd ba 18 3e ff ca ee 6d 32 5b 00 c3 f9 6d 32 b9 38 cd b7 1a 1e 6c cd 39 25 11 76 71 21 1a 6c cd   ┆   >   m2Æ   m2 8    l 9% vq! l ┆
0x042100…042120             dc 1a cd bf 16 3a 85 37 cd 2e 6d 3a 2b 02 32 1b 37 3a 1c 37 cd 84 29 cd 94 29 3a 00 38 b7 c4 48   ┆     : 7 .m:+ 2 7: 7  )  ): 8  H┆
0x042120…042140             6e d2 2a 6e 21 5f 3a 22 07 38 3a 18 37 3d e6 fe 2a 07 38 b4 b5 21 61 03 b6 21 19 37 b6 c2 47 6e   ┆n *n!_:" 8: 7=  * 8  !a  ! 7  Gn┆
0x042140…042160             35 21 35 3a 22 07 38 c9 e5 d5 c5 11 45 3d 21 5c 00 0e 0c cd 5c 17 c1 d1 e1 37 c8 3f c9 9b 00 00   ┆5!5:" 8     E=!Ø    Ø    7 ?    ┆
0x042160…042180             00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
          […0x4…]
0x042200…042220 (17, 1, 5)  06 00 01 0a 38 01 00 07 02 00 01 0a 38 6a 00 01 01 00 02 30 38 01 00 1d 12 00 03 0a 38 23 00 05   ┆    8       8j     08       8#  ┆
0x042220…042240             01 00 04 0a 38 28 00 06 01 00 03 0a 38 59 00 03 01 00 03 0a 38 1d 00 02 01 00 00 03 0f 03 12 02   ┆    8(      8Y      8           ┆
0x042240…042260             00 05 00 05 03 02 06 0e 00 02 09 02 0c 02 03 c3 5f 35 c3 7c 35 3e 65 01 fc 0a ed 41 d3 fd c9 3a   ┆                _5 ø5>e    A   :┆
0x042260…042280             29 07 32 6c 35 32 7a 35 3a 3e 03 d3 00 21 00 00 2b 7d b4 c2 70 35 3a 3a 03 d3 00 c9 3e 19 01 fc   ┆) 2l52z5:>   !  +å  p5::    >   ┆
0x042280…0422a0             0a ed 41 d3 fd c9 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆  A                             ┆
0x0422a0…0422c0             00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
          […0x2…]
0x042300…042320             00 00 00 00 00 00 00 00 38 00 00 01 00 00 10 00 01 00 00 10 00 01 00 00 10 00 01 00 00 10 00 01   ┆        8                       ┆
0x042320…042340             00 00 10 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
0x042340…042360             00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
          […0x1…]
0x042380…0423a0             00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 9c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
0x0423a0…0423c0             00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
          […0x2…]
0x042400…042420 (17, 1, 6)  2a 9a 3c cd 5c 43 21 20 00 cd e6 40 21 8a 3c cd a5 40 2a ae 3c 1e 00 cd ae 40 ca 39 41 46 23 cd   ┆* < ØC!    @! <  @* <    @ 9AF# ┆
0x042420…042440             c5 40 c2 2e 41 cd 4a 3f 7e d6 20 4f 23 1c 78 cd a1 41 1c 7b fe fe da 17 41 3e 20 cd a1 41 22 b0   ┆ @ .A J?ü  O# x  A æ    A>   A" ┆
0x042440…042460             3c 22 9d 3d 7b 32 b2 3c 21 6a 3c 11 9c 3c 01 12 00 c3 c2 16 3a c7 3c 32 c6 3c 21 32 00 cd e6 40   ┆<" =æ2 <!j<  <      : <2 <!2   @┆
0x042460…042480             21 9c 3c cd a5 40 2a ac 3c cd 5c 43 2a b0 3c 3a b2 3c 5f cd d9 40 47 7b b7 ca 9b 41 48 cd d9 40   ┆! <  @* < ØC* <: <_  @Gæ   AH  @┆
0x042480…0424a0             47 cd c5 40 79 c2 94 41 1d ca 95 41 d6 20 4f cd d9 40 78 46 1d cd a1 41 c3 77 41 2a ac 3c c3 5c   ┆G  @y  A   A  O  @xF   A wA* < Ø┆
0x0424a0…0424c0             43 c5 d5 e5 11 5b 1a d5 32 bf 3c 57 e6 7f 47 fe 20 d2 99 42 fe 07 ca 99 42 fe 06 ca 99 42 14 15   ┆C    Æ  2 <W  G    B    B    B  ┆
0x0424c0…0424e0             f2 c6 41 32 d2 3c 11 72 3c fe 15 ca de 41 11 74 3c fe 1d ca de 41 11 73 3c fe 1c c2 e6 41 eb 71   ┆  A2 < r<    A t<    A s<    A q┆
0x0424e0…042500             3e ff 32 c3 3c c9 11 c9 06 fe 11 ca 06 42 11 ce 06 fe 17 ca 06 42 11 d3 06 fe 05 ca 06 42 11 d8   ┆> 2 <        B       B       B  ┆
0x042500…042520             06 fe 12 c2 3e 42 cd e9 43 cd e0 41 3a 58 3c b7 f8 1a 3d cc 24 42 3c 3c 3d c8 f5 13 1a cd 96 44   ┆    >B  C  A:X<   = $B<<=      D┆
0x042520…042540             f1 c3 18 42 f5 13 1a 1b fe 0e ca 39 42 fe 0f c2 7c 17 af 32 75 3c f1 f1 c9 3e 80 c3 33 42 fe 03   ┆   B       9B   ø  2u<   >  3B  ┆
0x042540…042560             c2 4e 42 cd e0 41 3a 58 3c b7 f8 c3 29 40 11 93 42 21 6a 3c 1a b8 ca 31 43 23 13 3c c2 54 42 78   ┆ NB  A:X<   )@  B!j<   1C# < TBx┆
0x042560…042580             fe 08 ca 1e 43 01 67 43 11 6a 43 21 70 3c fe 16 ca 34 43 d5 50 59 c1 2b fe 14 ca 34 43 fe 19 ca   ┆    C gC jC!p<   4C PY +   4C   ┆
0x042580…0425a0             f4 42 fe 0b c2 92 42 3a 58 3c b7 f8 cd e9 43 c3 3d 40 ff 02 04 13 18 10 ff c5 cd 53 13 c1 48 cd   ┆ B    B:X<    C =@         S  H ┆
0x0425a0…0425c0             bf 42 3a 6a 3c b7 c8 78 fe 20 c8 3a 91 06 3d c8 f5 2a ea 3c eb cd 3e 43 cd bf 42 f1 c3 ae 42 51   ┆ B:j<  x   :  =  * <  >C  B   BQ┆
0x0425c0…0425e0             3a 58 3c b7 f8 cd da 42 3a 6b 3c b7 c8 3a 92 06 3d c8 f5 cd da 42 f1 c3 d0 42 7a cd f4 42 7a fe   ┆:X<    B:k<  :  =    B   Bz  Bz ┆
0x0425e0…042600             20 c8 3a 6c 3c b7 3a 0c 07 c4 f4 42 3a 6d 3c b7 3a 0b 07 c8 c5 d5 e5 21 5b 1a e5 fe 20 c8 d2 5a   ┆  :l< :    B:m< :      !Æ      Z┆
0x042600…042620 (17, 1, 7)  c3 f2 6f cd 60 70 21 00 08 cd 68 17 d0 cd 1b 70 d2 03 70 21 9f 3a 22 07 38 37 c9 3a ca 38 b7 37   ┆  o `p!   h    p  p! :" 87 : 8 7┆
0x042620…042640             c8 cd 5c 33 01 03 cd 03 70 d8 cd 1b 70 21 89 39 cd 35 70 b7 c9 c5 d5 e5 eb 21 81 39 23 cd 68 17   ┆  Ø3    p   p! 9 5p      ! 9# h ┆
0x042640…042660             2b da 4d 70 cd 84 70 cd 77 70 c3 3c 70 21 8f 39 cd 68 17 d2 5b 1a cd a2 70 2b 2b 2b 2b c3 50 70   ┆+ Mp  p wp <p! 9 h  Æ   p++++ Pp┆
0x042660…042680             c5 e5 11 00 00 21 7f 39 cd c2 70 eb 09 eb cd 77 70 d2 68 70 e1 c1 c9 d5 23 23 23 23 11 90 39 cd   ┆     ! 9  p    wp hp    ####  9 ┆
0x042680…0426a0             68 17 d1 c9 c5 d5 e5 cd c2 70 2b 2b cd 51 17 e3 73 23 72 2b e3 cd c2 16 e1 e5 23 23 73 23 72 c3   ┆h        p++ Q  s#r+      ##s#r ┆
0x0426a0…0426c0             5b 1a c5 d5 e5 e5 2b 2b cd c2 70 e1 e5 cd 51 17 eb e3 23 72 2b 73 e3 cd e1 16 e1 2b 72 2b 73 c3   ┆Æ     ++  p   Q   #r+s     +r+s ┆
0x0426c0…0426e0             5b 1a d5 e5 cd 51 17 cd 35 17 e1 d1 c9 9b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆Æ    Q  5                       ┆
0x0426e0…042700             00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
0x042700…042720             9a 03 01 14 00 00 00 00 ad 6f 1e 00 00 c3 38 00 c3 6c 6d c3 bf 6c c3 6a 6c c3 8f 6c c3 a0 6d c3   ┆         o    8  lm  l jl  l  m ┆
0x042720…042740             99 6d c3 6f 6d c3 ac 6f 42 00 0a 00 13 00 1b 00 24 00 25 00 20 3f 20 28 59 2f 4e 29 3a 20 00 0e   ┆ m om  oB       $ %  ? (Y/N):   ┆
0x042740…042760             13 14 45 44 49 54 3f 20 00 0e 13 20 53 41 56 49 4e 47 20 00 15 20 00 42 41 4b 00 00 00 00 00 00   ┆  EDIT?     SAVING     BAK      ┆
0x042760…042780             00 00 00 00 00 00 00 00 00 00 cd 03 6f 3e ff 32 04 38 cd ee 6c 01 92 71 cd 00 4e cd c5 6c 3a 5c   ┆            o> 2 8  l  q  N  l:Ø┆
0x042780…0427a0             00 32 6c 00 3a 6d 71 32 5c 00 cd 5c 33 08 06 cd 08 25 3a c9 38 b7 c2 a7 6c cd b7 1a d7 39 cd 3f   ┆ 2l :mq2Ø  Ø3    %: 8   l    9 ?┆
0x0427a0…0427c0             6f cd 39 25 c3 b3 6c cd b7 1a d9 39 cd 45 6f cd 53 6f c0 cd 2c 27 11 6d 71 cd e1 6c c3 c5 6c cd   ┆o 9%  l    9 Eo So  ,' mq  l  l ┆
0x0427c0…0427e0             03 6f cd ee 6c 11 f4 38 cd e1 6c af 32 ca 38 32 94 38 3a 2b 02 32 1c 37 3a 1b 37 cd 84 29 c3 26   ┆ o  l  8  l 2 82 8:+ 2 7: 7  ) &┆
0x0427e0…042800             2f 1b 1b 1a 13 13 b7 c8 cd df 18 c3 f8 18 cd 10 6d 3a b9 38 b7 c2 07 6d cd 2d 19 11 5c 00 21 32   ┆/               m: 8   m -  Ø !2┆
0x042800…042820 (17, 1, 8)  9a 04 01 14 00 00 00 00 b4 6f 15 00 00 c3 61 6c c3 94 6c c3 ae 6e c3 e7 6e c3 f8 6e c3 8c 6e 42   ┆         o    al  l  n  n  n  nB┆
0x042820…042840             00 04 00 0c 00 0e 13 14 52 45 41 44 3f 20 00 0e 13 14 57 52 49 54 45 20 4d 41 52 4b 45 44 20 54   ┆        READ?     WRITE MARKED T┆
0x042840…042860             45 58 54 20 4f 4e 3f 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆EXT ON?                         ┆
0x042860…042880             00 cd e5 6c 01 21 6c c8 21 9e 71 cd 86 66 cd 2c 27 11 ce 38 21 ce 3b cd a3 19 da 8e 6c cd 9a 4c   ┆   l !l ! q  f ,'  8! ;     l  L┆
0x042880…0428a0             f5 06 00 4f 11 ce 3b cd b3 49 f1 da 6e 6c 21 9e 71 c3 11 67 cd 9c 6f cd e5 6c 04 23 6c c8 1b 1b   ┆   O  ;  I  nl! q  g  o  l #l   ┆
0x0428a0…0428c0             af 12 cd 89 6f cd 2c 27 1e 00 21 80 00 cd cd 4e e5 01 c6 71 1e 00 21 81 00 cd 23 4e da cf 6c 2a   ┆    o ,'  !    N   q  !   #N  l*┆
0x0428c0…0428e0             8d 39 11 ce 38 cd 09 1a e1 cd 88 45 c3 a8 6c e1 2a 8d 39 3a c7 71 cd 19 4c 11 ce 38 cd 1e 1a cd   ┆ 9  8      E  l * 9: q  L  8    ┆
0x0428e0…042900             df 18 c3 f2 6e 11 ce 38 21 be 36 e3 7e 23 f5 cd 7c 24 cd 21 25 cd bd 1a cd ca 24 f1 e3 c5 4f e5   ┆    n  8! 6 ü#  ø$ !%     $   O ┆
0x042900…042920             2a 2b 02 e3 e5 cd 19 33 2a 1d 37 22 ac 38 eb 22 65 38 eb 2a ac 38 cd 4f 21 cd a5 24 e1 e5 06 14   ┆*+     3* 7" 8 "e8 * 8 O!  $    ┆
0x042920…042940             cd 72 23 cd b0 24 7e b7 ca 78 6d cd fe 6d da 8c 6d b7 c2 8c 6d e1 e5 cd 12 18 79 3d cc ba 18 ca   ┆ r#  $ü  xm  m  m   m     y=    ┆
0x042940…042960             9e 6d 79 fe 04 c2 76 6d cd a6 6d c2 0e 6d cd ba 18 ca 76 6d cd b7 1a 9b 3a cd ca 24 cd b1 1b cd   ┆ my   vm  m  m    vm    :  $    ┆
0x042960…042980             2c 27 cd d5 17 e5 21 86 08 be ca 6f 6d 23 7e e1 cd a5 1e c2 0e 6d f6 ff f5 cd a5 24 f1 e1 e3 f5   ┆,'    !    om#ü      m     $    ┆
0x042980…0429a0             7d 21 2b 02 be c4 84 29 f1 e1 c1 c9 cd b7 1a 65 3a e1 e5 cd e5 1a cd ba 24 67 3a c3 0e 6d cd ba   ┆å!+    )       e:       $g:  m  ┆
0x0429a0…0429c0             24 69 3a c3 0e 6d c5 e5 d5 21 0a 38 cd e4 6d 3a ca 38 b7 ca c8 6d 21 5c 00 cd e4 6d 21 6d 71 cd   ┆$i:  m   ! 8  m: 8   m!Ø   m!mq ┆
0x0429c0…0429e0             e4 6d 21 f4 38 cd e4 6d 3a 00 38 b7 ca e0 6d 21 45 3d cd e4 6d 3a 8b 36 b7 21 6b 3d c4 e4 6d af   ┆ m! 8  m: 8   m!E=  m: 6 !k=  m ┆
0x0429e0…042a00             d1 e1 c1 c9 c1 d1 d5 c5 1a be c0 23 13 0e 0b cd 5c 17 c0 f1 cd b7 1a a1 3a f6 ff c3 e0 6d c5 d5   ┆           #    Ø       :    m  ┆
0x042a00…042a20 (17, 1, 9)  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
          […0x3…]
0x042a80…042aa0             00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 9c 9e 37 9e 37 00 00   ┆                           7 7  ┆
0x042aa0…042ac0             00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
          […0x1…]
0x042ae0…042b00             00 00 00 00 00 00 00 00 00 00 00 00 00 00 ff 00 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 00 00 00 00 21   ┆                ???????????    !┆
0x042b00…042b20             17 01 cd 6e 38 21 53 01 cd 6e 38 cd 66 38 0f 0f 59 6f 75 20 61 72 65 20 74 72 79 69 6e 67 20 74   ┆   n8!S  n8 f8  You are trying t┆
0x042b20…042b40             6f 20 72 75 6e 20 61 6e 20 75 6e 69 6e 73 74 61 6c 6c 65 64 20 57 4f 52 44 53 54 41 52 2e 0f 0f   ┆o run an uninstalled WORDSTAR.  ┆
0x042b40…042b60             50 6c 65 61 73 65 20 72 75 6e 20 49 4e 53 54 41 4c 4c 20 66 69 72 73 74 2e 0f 0f 00 c3 1b 2d cd   ┆Please run INSTALL first.     - ┆
0x042b60…042b80             66 38 0d 0a 00 c9 e3 f5 cd 71 38 f1 e3 c9 cd 5f 38 7e e6 7f c8 fe 0f cc 5f 38 c4 a7 20 23 c3 71   ┆f8       q8    _8ü      _8   # q┆
0x042b80…042ba0             00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 9c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
0x042ba0…042bc0             00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
          […0x2…]
0x042c00…042c20 (17, 1, 10) 44 fe 19 ca 5a 44 fe 07 ca 5a 44 fe 06 ca 5a 44 ff e5 2a 36 3d 23 22 36 3d cd 49 13 e1 c9 2a 72   ┆D   ZD   ZD   ZD  *6=#"6= I   *r┆
0x042c20…042c40             3c 26 00 eb cd 25 17 c3 3e 43 7e b7 ca 31 43 50 59 c3 78 17 cd 2a 43 2a 74 3c 26 00 eb e9 3a c2   ┆<&   %  >Cü  1CPY x  *C*t<&   : ┆
0x042c40…042c60             3c b7 ca 48 43 cd 25 17 e5 2a 7a 3c 19 22 7a 3c 2a 81 3c 19 22 81 3c e1 c9 21 00 00 eb 2a 7a 3c   ┆<  HC %  *z< "z<* < " <  !   *z<┆
0x042c60…042c80             cd 2c 17 eb c3 45 43 cd 25 17 d5 e5 2a 83 3c 19 22 83 3c 2a 7c 3c 19 eb 2a 39 3e eb 7c b7 f4 68   ┆ ,   EC %   * < " <*ø<  *9> ø  h┆
0x042c80…042ca0             17 dc 2c 17 22 7c 3c e1 d1 c9 3a 73 3c 5f 16 00 c3 6a 43 2a 7c 3c 7c b5 c8 eb 2a 39 3e cd 2c 17   ┆  , "ø<   :s<_   jC*ø<ø   *9> , ┆
0x042ca0…042cc0             eb c3 6a 43 cd 0d 07 c3 20 3e cd e9 43 21 23 3e c3 99 44 3a 9e 07 4f 7c b5 c8 cd 12 17 eb cd 68   ┆  jC     >  C!#>  D:  Oø       h┆
0x042cc0…042ce0             17 d2 ca 43 21 00 00 c3 cf 43 eb 1b cd 2c 17 79 4b b7 ca e1 43 79 b7 1f 4f d2 e1 43 1b 23 7a b3   ┆   C!    C   , yK   Cy  O  C #z ┆
0x042ce0…042d00             c8 78 b7 fc 1b 17 f6 01 c9 c5 d5 e5 21 5b 1a e5 3a 7b 3c b7 fc 59 43 af 2a 35 3e eb 2a 83 3c cd   ┆ x          !Æ  :æ<  YC *5> * < ┆
0x042d00…042d20             b6 43 ca 11 44 22 83 3c 21 26 3e cd 99 44 c3 f7 43 2a 7a 3c eb 2a 37 3e 2b cd 68 17 da 20 44 eb   ┆ C  D" <!&>  D  C*z< *7>+ h   D ┆
0x042d20…042d40             2a 7e 3c eb cd 2c 17 22 81 3c eb 2a 35 3e 29 eb cd b3 43 c8 22 81 3c 2a 7e 3c cd 2c 17 04 05 fa   ┆*ü<  , " < *5>)   C " <*ü< ,    ┆
0x042d40…042d60             44 44 19 19 22 7e 3c 7b e6 01 4f 7a 1f 57 7b 1f 5f 21 29 3e cd 99 44 c3 11 44 f5 cd e9 43 f1 cd   ┆DD  "ü<æ  Oz Wæ _!)>  D  D   C  ┆
0x042d60…042d80             38 1d c5 d5 e5 fe 3c da 73 44 fe 60 d2 73 44 21 75 3c b6 21 5b 1a e5 fe 19 c2 88 44 21 71 3c cd   ┆8     < sD ` sD!u< !Æ      D!q< ┆
0x042d80…042da0             31 43 3a 71 3c c3 2f 3e fe 06 c2 8f 44 3e 20 fe 07 c2 96 44 3e 7f 21 2c 3e e5 2a 58 3c 2d 2c e1   ┆1C:q< />    D>     D> !,> *X<-, ┆
0x042da0…042dc0             f8 f5 c5 d5 e5 cd 3d 43 d2 b5 44 cd 11 43 e1 d1 c1 f1 c3 99 44 21 00 00 22 36 3d c3 ab 32 9b 1a   ┆      =C  D  C      D!  "6=  2  ┆
0x042dc0…042de0             00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
          […0x1…]
0x042e00…042e20 (17, 1, 11) 6c cd dc 1a cd 7c 19 11 6d 71 21 65 00 c3 7c 19 cd 35 6d cd 2c 27 cd 4e 6d cd 35 6d d2 13 6d 21   ┆l    ø  mq!e  ø  5m ,' Nm 5m  m!┆
0x042e20…042e40             89 39 cd 08 4b 2a 89 39 79 cd 19 4c 11 6d 71 cd 1e 1a c3 df 18 c5 d5 e5 21 91 39 16 78 cd 1b 4d   ┆ 9  K* 9y  L mq         ! 9 x  M┆
0x042e40…042e60             cd b2 4c ca 36 4c 79 b7 c2 68 4c c3 36 4c c5 d5 e5 21 81 00 22 b4 38 21 91 39 cd 78 4a 2a 8f 39   ┆  L 6Ly  hL 6L   !  " 8! 9 xJ* 9┆
0x042e60…042e80             cd 88 45 cd 64 4b d2 63 6d c3 36 4c cd bf 6c 3a 00 38 b7 ca 28 2d cd 08 25 cd c2 24 d5 39 cd d5   ┆  E dK cm 6L  l: 8  (-  %  $ 9  ┆
0x042e80…042ea0             30 cd 6e 0b c4 b1 1b cd 2c 27 3a 01 38 b7 c0 3a 00 38 b7 ca 28 2d c3 81 6d 11 cf 39 af c3 a5 6d   ┆0 n     ,': 8  : 8  (-  m  9   m┆
0x042ea0…042ec0             11 d1 39 3e ff 32 85 37 47 2a ff 37 7c a5 21 57 3a c2 8c 6f 3a 00 38 b7 c4 75 6f d8 cd 08 25 3a   ┆  9> 2 7G* 7ø !W:  o: 8  uo   %:┆
0x042ec0…042ee0             18 37 b7 ca d3 6d eb cd cc 1a 21 d3 39 cd cc 1a cd a5 24 3a 99 38 32 9b 38 04 cc 7f 24 11 5c 00   ┆ 7   m    ! 9     $: 82 8   $ Ø ┆
0x042ee0…042f00             21 92 36 cd f1 6d 2c 6c c8 32 6c 00 cd 5c 33 08 03 af e3 cd 21 25 cd bd 1a cd ca 24 e3 c5 e5 2a   ┆! 6  m,l 2l  Ø3     !%     $   *┆
0x042f00…042f20             2b 02 e3 e5 cd 19 33 2a 1d 37 22 ac 38 eb 22 65 38 eb 2a ac 38 cd 4f 21 cd a5 24 e1 e5 06 14 cd   ┆+     3* 7" 8 "e8 * 8 O!  $     ┆
0x042f20…042f40             72 23 2b 77 23 cd b0 24 7e b7 ca 4f 6e cd 75 6e da 63 6e b7 ca 46 6e cd e6 6e da 63 6e 47 cd 7e   ┆r#+w#  $ü  On un cn  Fn  n cnG ü┆
0x042f40…042f60             17 b7 c2 63 6e 78 47 e1 e5 cd 12 18 78 fe ff f5 cd a5 24 f1 e1 e3 f5 7d 21 2b 02 be c4 84 29 f1   ┆   cnxG     x     $    å!+    ) ┆
0x042f60…042f80             e1 c1 c9 cd b7 1a 65 3a e1 e5 cd e5 1a cd ba 24 67 3a c3 0d 6e c5 d5 d5 af 0e 10 12 13 0d c2 7b   ┆      e:       $g:  n          æ┆
0x042f80…042fa0             6e d1 d5 cd e6 6e 12 13 0e 08 cd ac 6e fe 2e c2 93 6e 23 0e 03 cd ac 6e d1 13 1a 1b fe 20 ca a8   ┆n    n      n .  n#    n        ┆
0x042fa0…042fc0             6e cd 7e 17 b7 d1 c1 c9 37 d1 c1 c9 cd ca 6e ca bf 6e 12 13 0d c2 ac 6e cd ca 6e c2 b8 6e c9 f5   ┆n ü     7     n  n     n  n  n  ┆
0x042fc0…042fe0             3e 20 12 13 0d c2 c0 6e f1 c9 7e cd d5 6e c8 23 cd e2 17 b7 c9 fe 2e c8 fe 3a c8 fe 2a c8 fe 3f   ┆>      n  ü  n #      .  :  *  ?┆
0x042fe0…043000             c8 fe 20 d0 bf c9 cd 7e 17 23 7e 2b fe 3a c2 fe 6e 7e cd d8 17 d2 fe 6e d6 40 23 23 b7 c9 cd 76   ┆       ü #ü+ :  nü     n @##   v┆
0x043000…043020 (17, 1, 12) d5 af 0e 10 12 13 0d c2 04 6e d1 d5 cd 6f 6e 12 13 0e 08 cd 35 6e fe 2e c2 1c 6e 23 0e 03 cd 35   ┆         n   on     5n .  n#   5┆
0x043020…043040             6e d1 13 1a 1b fe 20 ca 31 6e cd 7e 17 b7 d1 c1 c9 37 d1 c1 c9 cd 53 6e ca 48 6e 12 13 0d c2 35   ┆n       1n ü     7    Sn Hn    5┆
0x043040…043060             6e cd 53 6e c2 41 6e c9 f5 3e 20 12 13 0d c2 49 6e f1 c9 7e cd 5e 6e c8 23 cd e2 17 b7 c9 fe 2e   ┆n Sn An  >     In  ü ^n #      .┆
0x043060…043080             c8 fe 3a c8 fe 2a c8 fe 3f c8 fe 20 d0 bf c9 cd 7e 17 23 7e 2b fe 3a c2 87 6e 7e cd d8 17 d2 87   ┆  :  *  ?       ü #ü+ :  nü     ┆
0x043080…0430a0             6e d6 40 23 23 b7 c9 cd 76 19 37 c9 3a c2 71 21 c6 71 a6 fe 90 ca 10 6f cd e6 66 f5 21 c2 71 cd   ┆n @##   v 7 : q! q     o  f ! q ┆
0x0430a0…0430c0             e6 66 3e 06 cc 81 26 f1 c0 3e 07 cd 81 26 16 ff cd 1c 6f 21 a2 71 cd 17 67 01 c2 71 c5 cd 52 4e   ┆ f>   &  >   &    o! q  g  q  RN┆
0x0430c0…0430e0             7a e6 7f 57 01 ce 71 cd 62 4e e1 cd 86 66 21 85 39 cd 08 4b 2a 85 39 eb cd b3 49 cd 0d 33 21 c6   ┆z  W  q bN   f! 9  K* 9   I  3! ┆
0x0430e0…043100             71 cd 86 66 c3 f2 6e 16 00 cd 1c 6f cd f2 6e c3 b9 6e 21 a2 71 c3 11 67 cd 89 6f 01 c6 71 cd 2c   ┆q  f  n    o  n  n! q  g  o  q ,┆
0x043100…043120             27 cd 50 67 ca 0d 6f cd de 45 c3 fe 6e cd f2 6e 21 c2 71 cd df 66 21 c6 71 c3 df 66 d5 cd 89 6f   ┆' Pg  o  E  n  n! q  f! q  f   o┆
0x043120…043140             37 c2 3f 6f 2a 83 39 eb 2a 91 39 cd 2c 17 11 ff e4 19 da 38 6f 21 55 00 eb 2a c7 71 cd 68 17 3e   ┆7 ?o* 9 * 9 ,      8o!U  * q h >┆
0x043140…043160             09 dc 81 26 e5 cd 0d 33 1e 00 cd cd 4e c1 d1 cd d5 49 c8 cd 2c 27 d5 cd 49 0b 69 78 c6 08 67 22   ┆   &   3    N    I  ,'  I ix  g"┆
0x043160…043180             b6 38 21 87 39 cd ee 49 2a 8d 39 eb 2a 87 39 1a 77 23 13 0d c2 6f 6f 22 87 39 eb d1 7a b7 cc 88   ┆ 8! 9  I* 9 * 9 w#   oo" 9  z   ┆
0x043180…0431a0             45 c4 de 45 05 c2 56 6f c9 cd 9c 6f 21 c2 71 cd 11 67 3a c9 71 b7 f0 3e 08 cd 81 26 3a c2 71 fe   ┆E  E  Vo   o! q  g: q  >   &: q ┆
0x0431a0…0431c0             90 3e 06 c4 81 26 3a c6 71 fe 90 c8 3e 07 cd 81 26 cd 38 00 9b 00 00 00 00 00 00 00 00 00 00 00   ┆ >   &: q   >   & 8             ┆
0x0431c0…0431e0             00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
          […0x1…]
0x043200…043220 (17, 1, 13) 00 00 00 20 43 4f 50 59 52 49 47 48 54 20 28 43 29 20 31 39 38 31 2c 20 4d 49 43 52 4f 50 52 4f   ┆    COPYRIGHT (C) 1981, MICROPRO┆
0x043220…043240             20 49 4e 54 45 52 4e 41 54 49 4f 4e 41 4c 2c 20 0d 0a 20 53 41 4e 20 52 41 46 41 45 4c 2c 20 43   ┆ INTERNATIONAL,    SAN RAFAEL, C┆
0x043240…043260             41 4c 49 46 4f 52 4e 49 41 2c 20 55 53 41 2e 20 0d 0a 20 41 4c 4c 20 52 49 47 48 54 53 20 52 45   ┆ALIFORNIA, USA.    ALL RIGHTS RE┆
0x043260…043280             53 45 52 56 45 44 2e 20 0d 0a 0a 20 57 6f 72 64 53 74 61 72 20 72 65 6c 65 61 73 65 20 32 2e 32   ┆SERVED.     WordStar release 2.2┆
0x043280…0432a0             36 20 6f 76 65 72 6c 61 79 20 66 69 6c 65 20 6e 75 6d 62 65 72 20 31 2e 20 20 0d 0a 20 6f 76 65   ┆6 overlay file number 1.     ove┆
0x0432a0…0432c0             72 6c 61 79 73 20 66 6f 72 20 6e 6f 2d 66 69 6c 65 20 63 6f 6d 6d 61 6e 64 73 20 61 6e 64 20 65   ┆rlays for no-file commands and e┆
0x0432c0…0432e0             64 69 74 69 6e 67 20 0d 0a 1a 20 4e 4f 53 45 59 2c 20 41 52 45 4e 27 54 20 59 4f 55 3f 20 20 0d   ┆diting     NOSEY, AREN'T YOU?   ┆
0x0432e0…043300             0a 1a 00 00 01 00 02 00 03 00 04 00 05 00 06 00 07 00 08 00 09 00 0a 00 0b 00 0c 00 0d 00 0e 00   ┆                                ┆
0x043300…043320             9a 0b 02 14 00 00 00 00 be 44 00 00 00 c9 c3 bd 3e c3 3e 43 00 00 c9 00 00 c9 00 00 00 00 00 00   ┆         D      > >C            ┆
0x043320…043340             c3 45 3e c3 3f 3e c3 4f 3e c3 5a 3e c3 63 3e c3 49 3e 00 00 00 ff 03 30 06 10 02 00 00 00 00 06   ┆ E> ?> O> Z> c> I>     0        ┆
0x043340…043360             38 cd 79 3e d8 cd 8d 3e af e6 40 32 a9 3e c9 0e 00 cd 96 3e 01 a7 20 c3 69 3e cd 96 3e 01 ab 10   ┆8 y>   >  @2 >     >    i>  >   ┆
0x043360…043380             c3 69 3e 2f d3 f8 01 ad 08 cd 79 3e d8 3a a9 3e b1 d3 fa a9 f6 af d3 fa c9 3a a9 3e f6 8f d3 fa   ┆ i>/      y> : >         : >    ┆
0x043380…0433a0             db f8 f5 e6 02 cc 8d 3e f1 a0 c8 37 c9 3e ae d3 fa 3e af d3 fa c9 78 e6 04 b2 0c 0d ca a1 3e f6   ┆       >   7 >   >    x       > ┆
0x0433a0…0433c0             08 2f d3 f9 7b 2f d3 f8 c9 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 3a 9e 07   ┆ /  æ/                       :  ┆
0x0433c0…0433e0             b7 ca c6 3e 3e 01 3c 32 ea 3c 21 6a 3c 11 9c 3c 01 0b 00 cd c2 16 cd df 3e cd 58 3f c3 d6 3e af   ┆   >> <2 <!j<  <        > X?  > ┆
0x0433e0…043400             32 58 3c cd 3d 40 2a 9d 3d cd fd 3e c0 36 00 23 22 9d 3d eb cd 3d 43 cd 49 13 c3 df 3e cd 44 3f   ┆2X< =@* =  > 6 #" =  =C I   > D?┆
0x043400…043420 (17, 1, 14) 9a 02 01 14 00 00 00 00 cd 70 12 00 00 c3 c7 6c c3 fd 6c c3 bd 6c c3 9c 6f c3 68 6f 65 00 0c 00   ┆         p     l  l  l  o hoe   ┆
0x043420…043440             0d 00 17 00 21 00 2e 00 3b 00 20 3f 00 0e 13 14 44 45 4c 45 54 45 3f 20 00 0e 13 14 52 45 4e 41   ┆    ! . ;  ?    DELETE?     RENA┆
0x043440…043460             4d 45 3f 20 00 89 89 a0 20 4e 45 57 20 4e 41 4d 45 3f 20 00 0e 13 14 43 4f 50 59 20 46 52 4f 4d   ┆ME?      NEW NAME?     COPY FROM┆
0x043460…043480             3f 20 00 13 14 43 4f 50 59 20 20 54 4f 20 3f 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆?    COPY  TO ?                 ┆
0x043480…0434a0             00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
0x0434a0…0434c0             00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 cd 6a 6d   ┆                              jm┆
0x0434c0…0434e0             02 20 6c c8 c3 f8 18 cd 08 25 3a 18 37 b7 21 c9 39 c4 cc 1a cd b7 1a cb 39 3a 18 37 c6 30 cd a5   ┆  l      %: 7 ! 9       9: 7 0  ┆
0x0434e0…043500             1e cd b7 1a cd 39 cd ca 24 cd b1 1b cd a5 1e d6 30 d8 fe 04 d0 32 18 37 af 32 9c 38 c9 cd 08 25   ┆     9  $       0    2 7 2 8   %┆
0x043500…043520             3a 18 37 b7 21 c3 39 c4 cc 1a cd b7 1a c5 39 cd 76 19 21 ae 38 e5 cd 05 18 e1 cd e5 1a cd b0 24   ┆: 7 ! 9       9 v ! 8          $┆
0x043520…043540             3a 99 38 32 9b 38 cd 21 25 cd b7 1a c7 39 cd ca 24 06 04 21 12 37 cd 5d 23 cd 7e 17 b7 c8 cd d8   ┆: 82 8 !%    9  $  ! 7 Å# ü     ┆
0x043540…043560             17 d2 56 6d d6 40 5f 23 7e fe 3a c2 4f 6d 23 cd 7e 17 b7 ca 5e 6d cd b7 1a 1e 6c c3 26 6d 3e 01   ┆  Vm @_#ü : Om# ü   ^m    l &m> ┆
0x043560…043580             cd 7c 18 cd 8d 6f 7b c3 7c 18 11 ce 38 21 be 36 cd 7c 24 cd 21 25 c3 91 6d 21 a8 6c 7e b7 c2 8e   ┆ ø   oæ ø   8! 6 ø$ !%  m! lü   ┆
0x043580…0435a0             6d 11 be 36 e5 1a 77 13 23 b7 c2 85 6d e1 11 83 6c e3 7e 23 f5 cd bd 1a cd ca 24 f1 e3 c5 4f e5   ┆m  6  w #   m   l ü#      $   O ┆
0x0435a0…0435c0             2a 2b 02 e3 e5 2a 1d 37 22 ac 38 cd 19 33 eb 22 65 38 eb 2a ac 38 cd 4f 21 cd a5 24 e1 e5 06 14   ┆*+   * 7" 8  3 "e8 * 8 O!  $    ┆
0x0435c0…0435e0             cd 72 23 cd b0 24 7e b7 ca 5e 6e 79 fe 03 3a ce 38 c4 76 19 47 cd dc 6e da 72 6e b7 c2 72 6e e1   ┆ r#  $ü  ^ny  : 8 v G  n rn  rn ┆
0x0435e0…043600             e5 cd 12 18 79 3d e6 fe cc ba 18 c2 f6 6d cd ba 24 69 3a c3 ae 6d 79 fe 02 c2 02 6e cd 84 6e c2   ┆    y=       m  $i:  my    n  n ┆
0x043600…043620 (17, 1, 15) 19 37 c9 cd 08 25 3a 00 38 b7 c4 97 6f d2 18 6f cd c2 24 5b 3a c3 27 6f 3a 00 38 b7 c4 90 6f d2   ┆ 7   %: 8   o  o  $Æ: 'o: 8   o ┆
0x043620…043640             3a 6f cd c2 24 5d 3a cd d5 30 cd 6e 0b c4 b1 1b cd 2c 27 3a 00 38 b7 c2 2a 6f cd c2 24 2e 6c cd   ┆:o  $Å:  0 n     ,': 8  *o  $.l ┆
0x043640…043660             45 6f c3 d5 30 cd b7 1a 30 6c 21 a8 36 cd e5 1a c3 ca 24 cd b7 1a 2a 6c cd 69 6f e5 21 86 08 be   ┆Eo  0   0l! 6     $   *l io !   ┆
0x043660…043680             ca 65 6f 23 7e e1 c3 a5 1e cd ca 24 cd b1 1b cd 2c 27 c3 d5 17 d5 2a 7f 39 eb 2a 91 39 cd 2c 17   ┆ eo#ü      $    ,'    * 9 * 9 , ┆
0x043680…0436a0             11 21 29 cd 68 17 d1 3f d0 21 f1 39 22 07 38 c9 e5 21 1b 39 c3 9b 6f e5 21 5c 00 d5 c5 11 45 3d   ┆ !) h  ? ! 9" 8  ! 9  o !Ø    E=┆
0x0436a0…0436c0             0e 0c cd 5c 17 c1 d1 e1 37 c8 3f c9 ff 9b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆   Ø    7 ?                     ┆
0x0436c0…0436e0             00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
          […0x1…]
0x043700…043720             9a 08 01 14 00 00 00 00 5d 6e 0c 00 00 c3 4a 6c c3 4f 6c c3 55 6c 34 00 08 00 0e 00 0f 00 10 00   ┆        Ån    Jl Ol Ul4         ┆
0x043720…043740             45 44 42 41 43 4b 55 50 24 24 24 42 41 4b 0e 4e 45 57 20 46 49 4c 45 0e 0e 00 00 00 00 00 00 00   ┆EDBACKUP$$$BAK NEW FILE         ┆
0x043740…043760             00 00 00 00 00 00 00 00 00 00 3e ff 32 85 37 cd 60 6c cd 90 6c cd 9f 6c cd 4d 6d cd 5c 33 01 00   ┆          > 2 7 `l  l  l Mm Ø3  ┆
0x043760…043780             3a 90 36 b7 c0 3a 62 03 32 23 37 3e ff cd 2e 6d 3a 7f 03 32 26 37 32 24 37 3a 49 02 d6 05 21 80   ┆: 6  :b 2#7>  .m:  2&72$7:I   ! ┆
0x043780…0437a0             03 be da 86 6c 7e 3c 32 28 37 3e ff 32 90 36 c9 21 91 71 01 65 01 cd 08 17 3e ff 32 92 71 c9 11   ┆    lü<2(7> 2 6 ! q e    > 2 q  ┆
0x0437a0…0437c0             65 00 d5 21 1a 6c cd dc 1a cd 5a 17 d1 ca bc 6c 21 1c 6c cd dc 1a cd 5a 17 c2 c5 6c 21 59 3a 22   ┆e  ! l    Z    l! l    Z   l!Y:"┆
0x0437c0…0437e0             07 38 c3 53 2d 01 91 00 21 00 71 cd 08 17 01 c9 00 21 77 38 cd 08 17 32 5b 00 32 68 00 32 6b 00   ┆ 8 S-   ! q      !w8   2Æ 2h 2k ┆
0x0437e0…043800             32 7d 00 cd 26 2f 2a 66 39 11 00 fe 19 22 00 71 22 91 39 cd f7 6c c9 2a 7f 39 eb 2a 91 39 cd 2c   ┆2å  &/*f9    " q" 9  l * 9 * 9 ,┆
0x043800…043820 (18, 0, 1)  9a 06 01 14 00 04 00 00 c2 70 0c 00 00 c3 a7 6c c3 af 6c c3 32 6d 8a 00 0e 00 15 00 23 00 39 00   ┆         p     l  l 2m      # 9 ┆
0x043820…043840             49 00 57 00 57 00 0e 13 46 49 4e 44 3f 20 00 13 52 45 50 4c 41 43 45 20 57 49 54 48 3f 20 00 13   ┆I W W   FIND?   REPLACE WITH?   ┆
0x043840…043860             4f 50 54 49 4f 4e 53 3f 20 28 3f 20 46 4f 52 20 49 4e 46 4f 29 20 00 0e 2a 2a 2a 20 4e 4f 54 20   ┆OPTIONS? (? FOR INFO)   *** NOT ┆
0x043860…043880             46 4f 55 4e 44 3a 20 22 00 52 45 50 4c 41 43 45 5c 28 59 2f 4e 29 3a 20 00 13 00 20 3f 3f 3f 00   ┆FOUND: " REPLACEØ(Y/N):     ??? ┆
0x043880…0438a0             00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
0x0438a0…0438c0             02 00 04 2b 37 22 00 da 32 6d 3e 00 c3 b4 6c da 32 6d 3e ff 32 7a 37 4f cd 7c 24 cd 21 25 cd b7   ┆   +7"  2m>   l 2m> 2z7O ø$ !%  ┆
0x0438c0…0438e0             1a 18 6c cd ca 24 21 2b 37 06 1f cd 5d 23 32 78 37 79 b7 ca ee 6c 3e 2c cd 34 1e cd b7 1a 1a 6c   ┆  l  $!+7   Å#2x7y   l>, 4     l┆
0x0438e0…043900             cd ca 24 21 4d 37 06 1f cd 5d 23 32 78 37 3e 29 cd 34 1e cd a5 24 2a 1d 37 e5 21 7b 37 01 0a 00   ┆  $!M7   Å#2x7>) 4   $* 7 !æ7   ┆
0x043900…043920             cd 08 17 3e 01 32 7d 37 32 7c 37 3a 78 37 fe 1b e1 ca 2f 6d e5 cd 4f 21 cd b7 1a 1c 6c 21 6d 37   ┆   > 2å72ø7:x7    /m  O!    l!m7┆
0x043920…043940             06 0a cd 5d 23 cd f4 6e e1 da f9 6c cd 40 1e c3 35 6d d4 11 28 3a 84 37 b7 ca 48 6d 3a 7b 37 b7   ┆   Å#  n   l @  5m  (: 7  Hm:æ7 ┆
0x043940…043960             f5 cc 33 67 f1 c4 39 67 2a 7d 37 22 7f 37 cd 34 6e cd 2c 27 21 ce 71 cd c3 66 cd 9a 6d d2 71 6d   ┆  3g  9g*å7" 7 4n ,'! q  f  m qm┆
0x043960…043980             2a 7f 37 7c b5 c8 21 a0 6c e5 21 1e 6c e5 c3 ab 26 3a 7a 37 b7 c4 d1 6d 2a 7f 37 7c b5 ca 84 6d   ┆* 7ø  ! l ! l   &:z7   m* 7ø   m┆
0x043980…0439a0             2b 22 7f 37 3a 81 37 b4 b5 c2 51 6d c9 cd 38 1d 3a 7b 37 b7 fa bd 4c c3 59 4c cd 19 33 cd c8 20   ┆+" 7: 7   Qm  8 :æ7   L YL  3   ┆
0x0439a0…0439c0             cd 84 6e 11 f7 72 cd 9e 6f da b2 6d cd 84 6e c3 cb 6d cd 88 45 cd 2c 27 cd 8d 6d d2 a3 6d 3a 7b   ┆  n  r  o  m  n  m  E ,'  m  m:æ┆
0x0439c0…0439e0             37 b7 f5 cc 39 67 f1 c4 33 67 37 f5 cd f2 20 f1 c9 3a 7b 37 b7 3a 79 37 cc 2b 6e 3a 7c 37 b7 f5   ┆7   9g  3g7      :æ7 :y7 +n:ø7  ┆
0x0439e0…043a00             cc 24 6e f1 c4 9e 6e d2 fb 6d 3a 7b 37 b7 c0 3a 79 37 2a 8d 39 cd 3f 17 c3 88 45 cd a9 64 3a 79   ┆ $n   n  m:æ7  :y7* 9 ?   E  d:y┆
0x043a00…043a20 (18, 0, 2)  ff 55 4d 4e 02 46 ff 00 20 54 41 42 20 41 54 20 43 4f 4c 00 20 43 4c 45 41 52 02 2e ff 02 2f ff   ┆ UMN F   TAB AT COL  CLEAR .  / ┆
0x043a20…043a40             3b 20 41 20 66 6f 72 20 61 6c 6c 29 3f 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆; A for all)?                   ┆
0x043a40…043a60             00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 cd c2 24 3f 6c cd b1 1b cd a5 1e d6 31 d8 3c fe 0a   ┆                 $?l       1 <  ┆
0x043a60…043a80             d0 32 29 02 c9 21 77 38 7e 36 00 b7 c2 71 6d 36 02 c3 2b 29 21 88 37 11 41 6c cd b3 6d c8 32 26   ┆ 2)  !w8ü6   qm6  +)! 7 Al  m 2&┆
0x043a80…043aa0             37 32 24 37 3c 3c 3c 21 28 37 be d8 77 c9 21 8e 37 11 43 6c cd b3 6d c8 fe 02 d2 9f 6d 3e 02 3c   ┆72$7<<<!(7  w ! 7 Cl  m     m> <┆
0x043aa0…043ac0             32 28 37 3d 3d 3d 21 24 37 be d0 77 21 26 37 be d0 77 c9 cd 7a 6f cd 2b 29 3d fe ff c0 78 fe 1b   ┆2(7===!$7  w!&7  w  zo +)=   x  ┆
0x043ac0…043ae0             ca c5 6d af c9 2a 22 71 7c b7 7d ca d4 6d 3e ff f2 d4 6d 3c fe ef d8 3e ef fe ff c9 21 20 02 c3   ┆  m  *"qø å  m>   m<   >    !   ┆
0x043ae0…043b00             06 6e 21 21 02 c3 78 17 21 22 02 c3 78 17 21 23 02 c3 78 17 21 24 02 c3 78 17 21 25 02 cd 78 17   ┆ n!!  x !"  x !#  x !$  x !%  x ┆
0x043b00…043b20             c3 19 33 21 26 02 cd 2b 29 c3 78 17 3a 27 02 b7 21 28 02 c2 fd 6d 21 fd 39 22 07 38 c9 11 45 6c   ┆  3!&  +) x :'  !(   m! 9" 8  El┆
0x043b20…043b40             21 94 37 cd 7f 6f cd b6 6d c8 5f 7a fe 23 ca 36 6e 16 01 c3 5f 6e 16 07 c3 5f 6e cd 2b 29 01 79   ┆! 7  o  m _z # 6n   _n   _n +) y┆
0x043b40…043b60             00 21 09 36 cd 08 17 c3 81 6e 11 47 6c 21 94 37 0e 41 cd 81 6f da 3b 6e cd b6 6d c8 5f 16 00 f5   ┆ ! 6     n Gl! 7 A  o ;n  m _   ┆
0x043b60…043b80             e5 7b cd d4 6d b7 1f f5 21 09 36 cd 3f 17 f1 1e 0f da 7a 6e eb 29 29 29 29 eb 7b 2f a6 b2 77 e1   ┆ æ  m   ! 6 ?     zn )))) æ/  w ┆
0x043b80…043ba0             f1 f5 e5 1e f2 21 81 36 2b 1d 1d ca 99 6e 7e b7 ca 88 6e e6 0f c2 99 6e 1d 7b 32 08 36 e1 f1 c3   ┆     ! 6+    nü   n    n æ2 6   ┆
0x043ba0…043bc0             2b 29 cd 8f 67 cd 13 6f da ea 6e 2b cd de 45 21 b6 71 cd c8 66 cd 37 6f 2a 66 71 eb 2a 26 37 cd   ┆+)  g  o  n+  E! q  f 7o*fq *&7 ┆
0x043bc0…043be0             2c 17 eb 2a 28 37 19 eb 2a 64 71 19 7c b7 fa ea 6e cd d3 5b 7d b7 ca ea 6e e5 21 b6 71 cd 17 67   ┆,  *(7  *dq ø   n  Æå   n ! q  g┆
0x043be0…043c00             e1 3e 20 cd 6b 46 2d c2 e1 6e 21 b2 71 c3 17 67 cd 8f 67 cd 13 6f da 10 6f 2b cd 88 45 cd 34 6f   ┆ >  kF-  n! q  g  g  o  o+  E 4o┆
0x043c00…043c20 (18, 0, 3)  9a 0f 01 14 00 00 00 00 a4 7e ca 03 00 00 00 c9 c3 24 7a c9 c5 d5 e5 cd de 6e 2b 2b cd 51 17 e3   ┆         ü       $z      n++ Q  ┆
0x043c20…043c40             73 23 72 2b e3 cd c2 16 e1 e5 23 23 73 23 72 c3 5b 1a c5 d5 e5 e5 2b 2b cd de 6e e1 e5 cd 51 17   ┆s#r+      ##s#r Æ     ++  n   Q ┆
0x043c40…043c60             eb e3 23 72 2b 73 e3 cd e1 16 e1 2b 72 2b 73 c3 5b 1a d5 e5 cd 51 17 cd 35 17 e1 d1 c9 9b 00 00   ┆  #r+s     +r+s Æ    Q  5       ┆
0x043c60…043c80             00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
          […0x3…]
0x043ce0…043d00             c3 01 7b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆  æ                             ┆
0x043d00…043d20             00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
0x043d20…043d40             00 00 00 00 e1 31 67 7c e5 2a 06 00 22 67 7c 2a 01 00 22 69 7c e5 11 6b 7c cd 71 7b e1 11 fd ff   ┆     1gø *  "gø*  "iø  kø qæ    ┆
0x043d40…043d60             19 01 39 00 11 6f 7c cd 74 7b 11 b6 79 cd d3 7b ca 83 7a cd de 7b ca 83 7a da 83 7a 01 21 00 11   ┆  9  oø tæ  y  æ  z  æ  z  z !  ┆
0x043d60…043d80             5c 00 21 13 79 cd 74 7b 01 80 00 11 80 00 21 34 79 cd 74 7b cd 40 7b 11 80 00 cd c5 7b 1a cd 00   ┆Ø ! y tæ      !4y tæ @æ     æ   ┆
0x043d80…043da0             01 3e 00 31 65 7c b7 f5 2a 67 7c 22 06 00 2a 69 7c 22 01 00 eb 21 06 00 19 e5 21 6b 7c cd 6c 7b   ┆ > 1eø  *gø"  *iø"   !    !kø læ┆
0x043da0…043dc0             d1 21 78 7c cd 6c 7b 06 00 11 aa 7c cd d3 7b c2 c8 7a 21 d8 7c cd 7f 7b cd a6 7b 21 e4 7c cd 7f   ┆ !xø læ    ø  æ  z! ø  æ  æ! ø  ┆
0x043dc0…043de0             7b 04 cd d3 7b ca 09 7c c5 cd de 7b c1 ca 15 7c da 0f 7c 24 3a d2 7c bc d2 15 7c 2a ce 7c 3a d0   ┆æ   æ  ø   æ   ø  ø$: ø   ø* ø: ┆
0x043de0…043e00             7c be c2 1b 7c 3e 20 32 5d 00 f1 c0 04 05 c0 f5 21 d6 7c cd 7f 7b cd a6 7b 21 e4 7c cd 7f 7b f1   ┆ø   ø> 2Å       ! ø  æ  æ! ø  æ ┆
0x043e00…043e20 (18, 0, 4)  25 cd bd 1a cd ca 24 f1 e3 c5 4f e5 2a 2b 02 e3 e5 cd 19 33 2a 1d 37 22 ac 38 2a ac 38 cd 4f 21   ┆%     $   O *+     3* 7" 8* 8 O!┆
0x043e20…043e40             cd a5 24 e1 e5 06 14 cd 72 23 2b 77 23 cd b0 24 7e b7 ca 50 6e cd 7e 6e da 64 6e b7 c2 64 6e 47   ┆  $     r#+w#  $ü  Pn ün dn  dnG┆
0x043e40…043e60             e1 e5 cd 12 18 79 3d cc ba 18 ca 76 6e 78 fe ff f5 cd a5 24 f1 e1 e3 f5 7d 21 2b 02 be c4 84 29   ┆     y=    vnx     $    å!+    )┆
0x043e60…043e80             f1 e1 c1 c9 cd b7 1a 65 3a e1 e5 cd e5 1a cd ba 24 67 3a c3 1a 6e cd ba 24 69 3a c3 1a 6e c5 d5   ┆       e:       $g:  n  $i:  n  ┆
0x043e80…043ea0             d5 af 0e 10 12 13 0d c2 84 6e d1 d5 cd ef 6e 12 13 0e 08 cd b5 6e fe 2e c2 9c 6e 23 0e 03 cd b5   ┆         n    n      n .  n#    ┆
0x043ea0…043ec0             6e d1 13 1a 1b fe 20 ca b1 6e cd 7e 17 b7 d1 c1 c9 37 d1 c1 c9 cd d3 6e ca c8 6e 12 13 0d c2 b5   ┆n        n ü     7     n  n     ┆
0x043ec0…043ee0             6e cd d3 6e c2 c1 6e c9 f5 3e 20 12 13 0d c2 c9 6e f1 c9 7e cd de 6e c8 23 cd e2 17 b7 c9 fe 2e   ┆n  n  n  >      n  ü  n #      .┆
0x043ee0…043f00             c8 fe 3a c8 fe 2a c8 fe 3f c8 fe 20 d0 bf c9 cd 7e 17 23 7e 2b fe 3a c2 07 6f 7e cd d8 17 d2 07   ┆  :  *  ?       ü #ü+ :  oü     ┆
0x043f00…043f20             6f d6 40 23 23 b7 c9 cd 76 19 37 c9 e5 cd f1 24 2a 1d 37 26 00 cd 4f 21 62 6b cd d0 1a cd a5 24   ┆o @##   v 7    $* 7&  O!bk     $┆
0x043f20…043f40             e1 e5 06 05 cd 5d 23 cd 7e 17 d5 cd 3c 6f cd 7e 17 b7 eb d1 c2 10 6f e3 e1 c3 b0 24 11 00 00 7e   ┆     Å# ü   <o ü      o    $   ü┆
0x043f40…043f60             fe 3a d0 d6 30 d8 23 e5 62 6b 19 29 19 29 dc 5d 6f 5f 16 00 19 dc 5d 6f eb e1 c3 3f 6f 21 ff ff   ┆ :  0 # bk ) ) Åo_    Åo   ?o!  ┆
0x043f60…043f80             c9 2a 7f 39 eb 2a 91 39 cd 2c 17 11 21 27 cd 68 17 3f d0 21 ef 39 22 07 38 c9 9b 00 00 00 00 00   ┆ * 9 * 9 ,  !' h ? ! 9" 8       ┆
0x043f80…043fa0             00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
          […0x3…]
0x044000…044020 (18, 0, 5)  37 2a 8d 39 cd 3f 17 cd de 45 2a 77 39 eb 13 21 4d 37 cd 63 6e eb 1b cd ae 49 3a 7b 37 b7 3a 4c   ┆7* 9 ?   E*w9  !M7 cn    I:æ7 :L┆
0x044020…044040             37 c4 2b 6e cd 49 0b cc 1f 31 c9 2a 8b 39 cd 46 17 c3 88 45 c5 e5 21 2b 37 11 f7 72 3a 82 37 b7   ┆7 +n I   1 * 9 F   E  !+7  r: 7 ┆
0x044040…044060             c2 49 6e cd 63 6e c3 5b 6e 13 cd 63 6e 3e 13 2b 77 12 13 af 12 79 3c 3c 2b 77 23 eb 79 32 79 37   ┆ In cn Æn  cn> +w    y<<+w# y2y7┆
0x044060…044080             e1 c1 c9 0e 00 d5 7e b7 ca 7e 6e fe 0e c2 77 6e 3e 0d 12 13 0c 3e 0a 12 23 13 0c c3 66 6e 12 e1   ┆      ü  ün   wn>    >  #   fn  ┆
0x044080…0440a0             2b 71 23 c9 3a 82 37 b7 c8 3a 7b 37 b7 c2 96 6e cd c4 4d c3 99 6e cd 5f 4d 3f d0 c3 88 45 21 20   ┆+q# : 7  :æ7   n  M  n _M?   E! ┆
0x0440a0…0440c0             6c 22 a4 38 cd a0 32 cd 87 27 cd 27 31 cd c9 6e f6 40 fe 59 f5 ca ba 6e 3e 4e 21 21 37 b6 cd a5   ┆l" 8  2  ' '1  n @ Y   n>N!!7   ┆
0x0440c0…0440e0             1e cd ad 20 f1 37 c0 b7 c9 2a 72 39 7e cd b4 20 cd 27 25 cd ad 20 2a a6 38 cd 4f 21 cd 2d 25 c2   ┆     7   *r9ü    '%   * 8 O! -% ┆
0x0440e0…044100             eb 6e cd 62 21 cd 4f 21 c3 c9 6e cd 2c 27 cd b1 1b c3 e2 17 b7 d8 cd 7e 17 cd cd 17 cd e2 17 b7   ┆ n b! O!  n ,'         ü        ┆
0x044100…044120             c8 11 f5 6e d5 cd 97 6f da 6f 6f 23 fe 3f c2 18 6f cd ba 24 bf 39 37 c9 fe 42 ca 22 6f fe 2d c2   ┆   n   o oo# ?  o  $ 97  B "o - ┆
0x044120…044140             28 6f 3e ff 32 7b 37 c9 fe 47 c2 36 6f 3e ff 32 84 37 32 81 37 c9 fe 4e c2 40 6f af 32 7c 37 c9   ┆(o> 2æ7  G 6o> 2 72 7  N @o 2ø7 ┆
0x044140…044160             fe 57 c2 4b 6f 3e ff 32 82 37 c9 fe 55 c2 56 6f 3e ff 32 83 37 c9 f5 3e 09 cd 34 1e cd b7 1a 22   ┆ W Ko> 2 7  U Vo> 2 7  >  4    "┆
0x044160…044180             6c f1 cd a5 1e cd b7 1a 24 6c cd ca 24 37 c9 11 00 00 7e cd 97 6f d0 23 e5 62 6b 19 29 19 29 dc   ┆l       $l  $7    ü  o # bk ) ) ┆
0x044180…0441a0             93 6f d6 30 5f 16 00 19 dc 93 6f 22 7d 37 eb e1 c3 72 6f 21 ff ff c9 fe 30 3f d0 fe 3a c9 3a 7b   ┆ o 0_     o"å7   ro!    0?  : :æ┆
0x0441a0…0441c0             37 b7 fa b6 6f 21 8d 39 cd cc 6f 2a 8d 39 d8 cd de 6f d8 c3 88 45 21 89 39 cd cc 6f 2a 8b 39 d8   ┆7   o! 9  o* 9   o   E! 9  o* 9 ┆
0x0441c0…0441e0             1b 1a 13 cd 46 17 cd 06 70 c3 b2 6f cd 08 4b 03 1b 1a 13 c5 47 79 90 c1 4f 78 de 00 47 c9 1a b7   ┆    F   p  o  K     Gy  Ox  G   ┆
0x0441e0…044200             c8 d5 cd 2d 70 da 04 70 05 0d e5 13 1a b7 ca 03 70 be 23 ca eb 6f 2b cd 57 70 23 ca eb 6f e1 d1   ┆   -p  p        p #  o+ Wp#  o  ┆
0x044200…044220 (18, 0, 6)  3a 64 71 cd 7e 6d 3a 66 71 3d cd 98 6d cd 2b 29 c3 ea 6e cd 54 4d e5 2a 50 71 22 64 71 e1 cd ad   ┆:dq üm:fq=  m +)  n TM *Pq"dq   ┆
0x044220…044240             67 d8 e6 7f cd 87 17 37 c8 cd be 67 cd ac 17 ca 16 6f b7 c9 16 0c fe 16 00 2a 64 71 22 50 71 cd   ┆g      7   g     o       *dq"Pq ┆
0x044240…044260             54 4d e5 2a 50 71 22 66 71 e1 3a 50 71 5f cd ad 67 d8 e6 7f cd 87 17 c8 cd be 67 cd ac 17 ca 4a   ┆TM *Pq"fq :Pq_  g         g    J┆
0x044260…044280             6f 14 15 ca 42 6f d5 fe 21 cc 31 6e fe 23 cc 36 6e fe 2d cc 5d 6e d1 c3 42 6f 0e 80 c3 81 6f 0e   ┆o   Bo  ! 1n # 6n - Ån  Bo    o ┆
0x044280…0442a0             81 d5 e5 e1 d1 d5 e5 cd 21 25 eb cd d0 1a eb cd a5 24 06 04 cd 5d 23 47 79 fe 81 c2 af 6f 16 00   ┆        !%       $   Å#Gy    o  ┆
0x0442a0…0442c0             cd 7e 17 fe 23 ca ad 6f fe 21 c2 af 6f 57 23 cd 7e 17 cd e2 17 b9 37 ca cd 6f d5 cd d1 6f cd 7e   ┆ ü  #  o !  oW# ü     7  o   o ü┆
0x0442c0…0442e0             17 b2 7b d1 c2 83 6f fe f1 d2 83 6f b7 e1 e3 e1 c9 11 00 00 7e fe 3a d0 d6 30 d8 23 e5 62 6b 19   ┆  æ   o    o        ü :  0 # bk ┆
0x0442e0…044300             29 19 29 cd 3f 17 eb e1 c3 d4 6f 9b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆) ) ?     o                     ┆
0x044300…044320             9a 0e 01 14 00 00 00 00 4f 70 06 00 00 c3 f7 6c e7 00 0a 00 0c 00 17 00 21 00 2f 00 0f 0f 0e 00   ┆        Op     l        ! /     ┆
0x044320…044340             0e 13 20 43 4f 4d 4d 41 4e 44 3f 20 00 89 20 57 48 41 54 3f 3f 3f 20 0e 00 89 20 19 20 4e 4f 54   ┆   COMMAND?    WHAT???       NOT┆
0x044340…044360             20 46 4f 55 4e 44 20 0e 00 0e 20 45 6e 74 65 72 20 6e 61 6d 65 20 6f 66 20 70 72 6f 67 72 61 6d   ┆ FOUND     Enter name of program┆
0x044360…044380             20 79 6f 75 20 77 69 73 68 20 74 6f 20 52 75 6e 2c 09 09 0e 20 6f 70 74 69 6f 6e 61 6c 6c 79 20   ┆ you wish to Run,    optionally ┆
0x044380…0443a0             66 6f 6c 6c 6f 77 65 64 20 62 79 20 61 70 70 72 6f 70 72 69 61 74 65 20 61 72 67 75 6d 65 6e 74   ┆followed by appropriate argument┆
0x0443a0…0443c0             73 2e 09 0e 20 20 20 20 45 78 61 6d 70 6c 65 20 28 73 68 6f 77 73 20 64 69 73 6b 20 73 70 61 63   ┆s.      Example (shows disk spac┆
0x0443c0…0443e0             65 29 3a 20 20 20 20 20 53 54 41 54 09 0e 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆e):     STAT                    ┆
0x0443e0…044400             00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 3a 00 38 b7 ca 05 6d 21 8b   ┆                       : 8   m! ┆
0x044400…044420 (18, 0, 7)  c9 f5 79 fe 00 ca 81 7a fe 0a ca 14 7b f1 e5 2a 67 7c e3 c9 3e ff 32 6e 7c f1 cd 0e 7b f5 af 32   ┆  y    z    æ  *gø  > 2nø   æ  2┆
0x044420…044440             6e 7c f1 c9 cd 78 7c f5 fe 03 c2 22 7b 3a 6e 7c b7 ca 22 7b 31 65 7c 21 e6 7c cd 7f 7b c3 81 7a   ┆nø   xø    "æ:nø  "æ1eø! ø  æ  z┆
0x044440…044460             21 e0 79 22 06 00 2a 01 00 eb 21 3d 7b e5 d5 cd 6c 7b d1 21 06 00 19 eb 21 69 7b cd 6c 7b 21 72   ┆! y"  *   !=æ   læ !    !iæ læ!r┆
0x044460…044480             7c 22 01 00 eb e1 c3 71 7b c3 24 7b 3a d3 7c b7 c0 01 03 00 78 b1 c8 7e 12 23 13 0b c3 74 7b d5   ┆ø"     qæ $æ: ø     x  ü #   tæ ┆
0x044480…0444a0             5e 23 56 2b 19 d1 7e 23 fe 1a ca 95 7b b7 c8 cd a0 7b c3 86 7b e5 21 95 7e cd 86 7b e1 c3 86 7b   ┆^#V+  ü#    æ    æ  æ ! ü  æ   æ┆
0x0444a0…0444c0             4f 3e 09 c3 ac 7b af 32 6e 7c 3e 06 c5 d5 e5 2a 01 00 5f 16 00 19 79 cd be 7b e1 d1 c1 c9 e9 eb   ┆O>   æ 2nø>    *  _   y  æ      ┆
0x0444c0…0444e0             cd c5 7b 1a eb e3 c5 4e 23 d5 e5 cd 05 00 e1 d1 c1 e3 c9 c5 21 80 00 cd bf 7b 0f c1 3c c9 21 20   ┆  æ    N#           !    æ  < ! ┆
0x0444e0…044500             00 19 36 00 21 00 01 06 00 cd bf 7b 14 3d ca 04 7c 04 d5 11 80 00 19 11 93 78 7c ba d1 da e9 7b   ┆  6 !      æ =  ø        xø    æ┆
0x044500…044520             37 3e 35 c9 78 b7 3e 34 c9 21 da 7c c3 1e 7c 21 dc 7c c3 1e 7c 21 de 7c c3 1e 7c 21 e0 7c e5 21   ┆7>5 x >4 ! ø  ø! ø  ø! ø  ø! ø !┆
0x044520…044540             e2 7c cd 7f 7b e1 cd 7f 7b 21 e8 7c cd 7f 7b cd a6 7b c3 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆ ø  æ   æ! ø  æ  æ              ┆
0x044540…044560             00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
          […0x3…]
0x0445c0…0445e0             00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 c1 01 14 00 38 00 64 00 83 00 a7 00   ┆                        8 d     ┆
0x0445e0…044600             c6 00 f5 00 f5 00 f6 00 f9 00 0d 0a 48 69 74 20 61 6e 79 20 6b 65 79 20 74 6f 20 72 65 74 75 72   ┆            Hit any key to retur┆
0x044600…044620 (18, 0, 8)  9a 01 04 14 00 00 00 00 e9 6b 0a 00 00 c3 35 4f c3 13 4b c9 6a 00 14 00 18 00 1d 00 1f 00 22 00   ┆         k    5O  K j         " ┆
0x044620…044640             26 00 2c 00 34 00 00 00 38 00 50 41 47 45 5c 00 20 4c 49 4e 45 5c 00 46 43 3d 00 20 46 4c 3d 00   ┆& , 4   8 PAGEØ  LINEØ FC=  FL= ┆
0x044640…044660             20 43 4f 4c 5c 00 4d 41 52 5c 52 45 4c 00 49 4e 53 45 52 54 5c 4f 4e 00 64 65 63 69 6d 61 6c 00   ┆ COLØ MARØREL INSERTØON decimal ┆
0x044660…044680             4c 49 4e 45 5c 53 50 41 43 49 4e 47 5c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 59 00   ┆LINEØSPACINGØ                 Y ┆
0x044680…0446a0             3d 3e f9 08 fa fb 36 38 f5 cd 71 4e ca b2 45 da b5 45 c5 d5 e5 eb 2a 8d 39 eb cd 35 17 22 8d 39   ┆=>    68  qN  E  E    * 9  5 " 9┆
0x0446a0…0446c0             d5 60 69 1e 00 cd 3c 4e cd 06 4e d1 cd 9a 46 e1 d1 c1 f1 b7 c9 c5 d5 e5 eb 2a 8b 39 cd 35 17 eb   ┆ `i   <N  N   F          * 9 5  ┆
0x0446c0…0446e0             cd e6 48 2a 8d 39 eb c5 cd e1 16 22 8b 39 eb 22 8d 39 e1 1e 00 cd 06 4e cd 8f 49 c3 af 45 f5 c5   ┆  H* 9     " 9 " 9     N  I  E  ┆
0x0446e0…044700             d5 e5 eb 2a 8d 39 eb 22 8d 39 cd 2c 17 1e 00 cd 18 46 cd 48 4e 03 03 03 0a b7 fa 0d 46 0b 0b 0a   ┆   * 9 " 9 ,     F HN       F   ┆
0x044700…044720             95 02 03 0a 9c 02 03 0a 9b 02 fc 62 46 03 15 c2 f5 45 cd 0c 4a c3 af 45 7c b5 c0 e1 c3 af 45 f5   ┆           bF    E  J  Eø     E ┆
0x044720…044740             c5 d5 e5 eb 2a 8b 39 cd 35 17 eb 22 8b 39 cd e6 48 1e 00 60 69 cd 18 46 cd 48 4e 03 d5 0a 57 03   ┆    * 9 5  " 9  H  `i  F HN   W ┆
0x044740…044760             0a b2 57 03 0a b2 d1 ca 4f 46 0a b7 f2 57 46 0b 0b cd 17 4e f4 62 46 03 15 c2 3b 46 cd 8f 49 c3   ┆  W     OF   WF    N bF   ;F  I ┆
0x044760…044780             12 46 0b 0b af 02 03 02 03 02 c9 f5 c5 d5 e5 f5 cd db 49 f1 2a 8b 39 77 23 22 8b 39 2b 01 01 00   ┆ F                I * 9w#" 9+   ┆
0x044780…0447a0             cd b0 46 60 69 1e 00 cd 18 46 cd 3c 4e c3 38 46 f5 c5 d5 e5 cd 9a 46 c3 83 46 f5 c5 d5 e5 2a 8b   ┆  F`i    F <N 8F      F  F    * ┆
0x0447a0…0447c0             39 e5 c5 eb cd c2 16 eb 22 8b 39 c1 e1 c3 b4 46 f5 c5 d5 e5 af 32 08 71 eb 78 b1 ca ab 32 3a 96   ┆9       " 9    F     2 q x   2: ┆
0x0447c0…0447e0             03 b7 2a 89 39 cd 2c 17 1b 3a 27 02 2f b7 cc bc 47 ca ec 46 7c b5 ca 04 47 1a e6 7f fe 0a ca 04   ┆  * 9 ,  :' /   G  Fø   G       ┆
0x0447e0…044800             47 fe 0c ca 04 47 1b 03 23 c3 d4 46 2a 89 39 2b eb 09 cd 35 17 21 00 00 22 04 71 22 06 71 22 02   ┆G    G  #  F* 9+   5 !  " q" q" ┆
0x044800…044820 (18, 0, 9)  c3 de 6f d1 d1 c9 1a b7 c8 23 d5 1a cd 42 70 da 04 70 05 0d e5 13 23 1a b7 ca 26 70 be ca 15 70   ┆  o      #   Bp  p    #   &p   p┆
0x044820…044840             cd 57 70 ca 15 70 e1 d1 b7 c2 0a 70 c9 04 0c c3 38 70 be c4 57 70 23 c8 0d c2 32 70 05 c2 32 70   ┆ Wp  p     p    8p  Wp#   2p  2p┆
0x044840…044860             37 c9 04 0c c3 4d 70 2b be c4 57 70 c8 0d c2 47 70 05 c2 47 70 37 c9 ae fe 80 c2 60 70 ae bf c9   ┆7    Mp+  Wp   Gp  Gp7     `p   ┆
0x044860…044880             fe 20 ca 6a 70 fe a0 c2 88 70 ae fe 41 da 89 70 c5 47 e6 df fe 5b d2 84 70 3a 83 37 b7 ca 84 70   ┆   jp    p  A  p G   Æ  p: 7   p┆
0x044880…0448a0             78 c1 bf c9 78 c1 b7 c9 ae fe 1e ca ba 70 d0 fe 13 ca aa 70 fe 01 c8 fe 0f c0 13 1a 1b b7 c8 ae   ┆x   x        p     p            ┆
0x0448a0…0448c0             e6 7f 3e 0f ca b8 70 13 bf c9 7e e6 7f cd 97 6f d4 d8 17 3e 13 d2 a8 70 b7 c9 7e e6 7f fe 1f 3e   ┆  >   p   ü    o   >   p  ü    >┆
0x0448c0…0448e0             1e c9 9b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
0x0448e0…044900             00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
0x044900…044920             9a 11 01 14 00 00 00 00 ed 6d 00 00 00 c3 c6 6c c3 d2 6c c3 d8 6c c3 ea 6c c3 28 6c c3 3a 6c c3   ┆         m     l  l  l  l (l :l ┆
0x044920…044940             88 6c c3 99 6c c3 ec 6d cd 54 4d cd 62 4d da 37 6c cd a0 17 c2 2b 6c cd de 45 cd 37 63 cd b7 4d   ┆ l  l  m TM bM 7l    +l  E 7c  M┆
0x044940…044960             cd c7 4d da 4d 6c cd a0 17 c2 40 6c 23 cd 1f 46 2a 2b 71 3a 69 38 4f 11 fc ff 7e e6 60 ca 6f 6c   ┆  M Ml    @l#  F*+q:i8O   ü ` ol┆
0x044960…044980             79 cd e8 5c ca 6f 6c fa 6f 6c 0d 19 c3 5a 6c 7e e6 7e 77 79 cd e8 5c c2 85 6c 44 4d 32 1e 71 19   ┆y  Ø ol ol   Zlü üwy  Ø  lDM2 q ┆
0x044980…0449a0             36 00 cd 91 52 c3 91 66 cd 54 4d cd 62 4d d8 cd 9a 17 c8 cd a0 64 c3 8b 6c 3a 4d 71 f5 2a 24 37   ┆6   R  f TM bM       d  l:Mq *$7┆
0x0449a0…0449c0             cd 6e 65 da b3 6c 2a 28 37 2b 2b 2b cd ae 68 eb da b6 6c 2a 26 37 22 24 37 f1 32 4d 71 21 ae 71   ┆ ne  l*(7+++  h   l*&7"$7 2Mq! q┆
0x0449c0…0449e0             cd c8 66 c3 2b 29 2a 82 38 22 75 38 21 7f 38 c3 78 17 21 4e 61 c3 db 6c 21 0d 61 22 78 38 3e ff   ┆  f +)* 8"u8! 8 x !Na  l! a"x8> ┆
0x0449e0…044a00             32 7f 38 21 00 00 22 75 38 c9 3a 96 38 b7 c0 2a 5e 71 eb 3a 5d 71 fe 1e c2 fc 6c 1c 01 ba 71 cd   ┆2 8!  "u8 : 8  *^q :Åq    l   q ┆
0x044a00…044a20 (18, 0, 10) 3a 22 07 38 c9 cd 70 2f 11 a5 7e cd 68 17 21 8d 3a d2 01 6d af 32 59 38 cd 82 33 0f 00 21 aa 7c   ┆:" 8  p/  ü h ! :  m 2Y8  3  ! ø┆
0x044a20…044a40             e5 01 21 00 cd 08 17 d1 d5 13 01 0b 00 21 e7 03 cd c2 16 d1 d5 cd 98 18 21 8f 3a d1 ca 01 6d 21   ┆  !          !          ! :   m!┆
0x044a40…044a60             95 7e cd 12 18 21 10 01 22 ce 7c 7e 32 d0 7c 21 81 38 22 d1 7c cd 08 25 3a 18 37 fe 02 21 1a 6c   ┆ ü   !  " øü2 ø! 8" ø  %: 7  ! l┆
0x044a60…044a80             d4 cc 1a cd b3 24 3a 99 38 32 9b 38 cd 7f 24 cd 21 25 cd ba 24 12 6c cd 21 25 cd b7 1a 14 6c cd   ┆     $: 82 8  $ !%  $ l !%    l ┆
0x044a80…044aa0             a5 24 21 51 70 06 4d cd 5d 23 cd 90 1e cd 7e 17 b7 c8 11 b6 79 cd 0e 6f d2 a3 6d cd b7 1a 16 6c   ┆ $!Qp M Å#    ü     y  o  m    l┆
0x044aa0…044ac0             c3 77 6d e5 21 bf 79 36 43 23 36 4f 23 36 4d e1 cd ba 18 cc 98 18 c2 c1 6d cd b7 1a 18 6c c3 77   ┆ wm ! y6C#6O#6M         m    l w┆
0x044ac0…044ae0             6d e5 11 13 79 cd 92 6e 11 23 79 cd 92 6e af 32 33 79 e1 11 34 79 0e ff d5 13 7e cd e2 17 12 23   ┆m   y  n #y  n 23y  4y    ü    #┆
0x044ae0…044b00             0c b7 c2 d9 6d d1 79 12 cd a5 24 21 2b 02 7e f5 af 77 32 9f 38 cd d5 30 f1 77 cd 96 22 cd 71 18   ┆    m y   $!+ ü  w2 8  0 w  " q ┆
0x044b00…044b20             2a 06 00 11 fa ff 19 11 da 79 01 06 00 cd c2 16 01 03 00 09 eb 09 eb 01 41 00 cd c2 16 cd 70 2f   ┆*        y              A     p/┆
0x044b20…044b40             eb d5 01 13 00 21 20 02 cd c2 16 01 99 01 21 01 36 cd c2 16 21 a4 7e 11 da 79 cd 2c 17 eb e1 2b   ┆     !        ! 6   ! ü  y ,   +┆
0x044b40…044b60             2b cd 2c 17 2e 00 e5 21 da 79 11 13 79 cd 2c 17 eb e1 cd 2c 17 e5 21 e0 79 11 13 79 cd 35 17 e1   ┆+ , .  ! y  y ,    ,  ! y  y 5  ┆
0x044b60…044b80             eb cd c2 16 d5 d5 21 35 7c 11 e0 79 cd 35 17 e1 e5 c5 cd 83 6f ef 6f e1 d1 19 e5 21 a4 7e 11 35   ┆      !5ø  y 5      o o    ! ü 5┆
0x044b80…044ba0             7c cd 35 17 e1 eb cd c2 16 21 09 01 e3 11 44 00 19 e9 c5 d5 d5 af 0e 10 12 13 0d c2 98 6e d1 d5   ┆ø 5      !    D              n  ┆
0x044ba0…044bc0             cd 66 6f 12 13 0e 08 cd c9 6e fe 2e c2 b0 6e 23 0e 03 cd c9 6e d1 13 1a 1b fe 20 ca c5 6e cd 7e   ┆ fo      n .  n#    n        n ü┆
0x044bc0…044be0             17 b7 d1 c1 c9 37 d1 c1 c9 cd f8 6e ca e9 6e fe 2a ca e1 6e 12 13 0d c2 c9 6e cd f8 6e c2 da 6e   ┆     7     n  n *  n     n  n  n┆
0x044be0…044c00             c9 3e 3f cd f1 6e c3 da 6e f5 3e 20 cd f1 6e f1 c9 12 13 0d c2 f1 6e c9 7e cd 03 6f c8 23 cd e2   ┆ >?  n  n >   n       n ü  o #  ┆
0x044c00…044c20 (18, 0, 11) 6e 20 74 6f 20 57 6f 72 64 53 74 61 72 3a 20 00 0d 0a 52 65 70 6c 61 63 65 20 64 69 73 6b 65 74   ┆n to WordStar:    Replace disket┆
0x044c20…044c40             74 65 20 77 69 74 68 20 66 69 6c 65 20 1a 2c 20 68 69 74 20 61 6e 79 20 6b 65 79 3a 20 00 20 2a   ┆te with file  , hit any key:   *┆
0x044c40…044c60             2a 2a 20 66 69 6c 65 20 1a 20 73 74 69 6c 6c 20 6e 6f 74 20 66 6f 75 6e 64 20 2a 2a 2a 20 00 20   ┆** file   still not found ***   ┆
0x044c60…044c80             2a 2a 2a 20 66 69 6c 65 20 1a 20 62 61 64 20 28 74 6f 6f 20 62 69 67 20 3f 3f 21 40 26 2a 29 20   ┆*** file   bad (too big ??!@&*) ┆
0x044c80…044ca0             2a 2a 2a 20 00 20 2a 2a 2a 20 66 69 6c 65 20 1a 20 62 61 64 20 28 74 6f 6f 20 73 68 6f 72 74 29   ┆***   *** file   bad (too short)┆
0x044ca0…044cc0             20 2a 2a 2a 20 00 20 2a 2a 2a 20 1a 20 66 6f 75 6e 64 20 69 73 20 62 61 64 20 6f 72 20 69 6e 63   ┆ ***   ***   found is bad or inc┆
0x044cc0…044ce0             6f 6d 70 61 74 69 62 6c 65 20 76 65 72 73 69 6f 6e 20 2a 2a 2a 20 00 0d 0a 0d 0a 00 5e 43 0d 0a   ┆ompatible version ***       ^C  ┆
0x044ce0…044d00             00 0d 0a 0d 0a 20 43 61 6e 6e 6f 74 20 72 65 74 75 72 6e 20 74 6f 20 57 6f 72 64 53 74 61 72 2e   ┆      Cannot return to WordStar.┆
0x044d00…044d20             20 0d 0a 20 52 65 70 6c 61 63 65 20 73 79 73 74 65 6d 20 64 69 73 6b 20 28 69 66 20 72 65 6d 6f   ┆    Replace system disk (if remo┆
0x044d20…044d40             76 65 64 29 2c 20 0d 0a 20 48 69 74 20 61 6e 79 20 6b 65 79 20 74 6f 20 72 65 74 75 72 6e 20 74   ┆ved),    Hit any key to return t┆
0x044d40…044d60             6f 20 4f 70 65 72 61 74 69 6e 67 20 53 79 73 74 65 6d 3a 20 00 00 00 00 00 00 00 00 00 00 00 00   ┆o Operating System:             ┆
0x044d60…044d80             00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
0x044d80…044da0             00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 57 53 2e 43 4f 4d 20 20 20 20 20   ┆                     WS.COM     ┆
0x044da0…044dc0             20 20 20 00 9b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
0x044dc0…044de0             00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
          […0x1…]
0x044e00…044e20 (18, 0, 12) 71 cd a0 48 78 b1 ca ab 32 0b 13 1a cd 5f 25 ca 75 47 c3 1f 47 78 b1 ca ab 32 0b 13 1a e6 7f fe   ┆q  Hx   2    _% uG  Gx   2      ┆
0x044e20…044e40             0c ca 6f 47 fe 0a ca 41 47 1a fe 0d c2 15 47 78 b1 ca ab 32 0b 13 1a e6 7f fe 0a c2 1f 47 cd c2   ┆  oG   AG     Gx   2         G  ┆
0x044e40…044e60             63 2a 02 71 23 22 02 71 2a 06 71 23 22 06 71 3a 27 02 b7 ca 62 47 d5 eb 2a 1c 71 cd 68 17 d1 d2   ┆c* q#" q* q#" q:'   bG  * q h   ┆
0x044e60…044e80             6a 47 3e 0a cd a7 47 c3 04 47 3e 8a cd a7 47 cd 7f 47 c3 04 47 3a 96 03 b7 c4 ce 47 c3 04 47 d5   ┆jG>   G  G>   G  G  G:     G  G ┆
0x044e80…044ea0             2a 06 71 eb cd 99 47 73 23 72 d1 21 00 00 22 06 71 2a 04 71 23 22 04 71 c9 d5 2a 04 71 26 00 29   ┆* q   Gs#r !  " q* q#" q  * q& )┆
0x044ea0…044ec0             eb 2a 00 71 19 d1 c9 eb be eb c8 67 3a 27 02 b7 c8 32 49 71 7c 12 62 6b 2b c3 2f 5c 3a 6c 71 fe   ┆ * q       g:'   2Iqø bk+ /Ø:lq ┆
0x044ec0…044ee0             af e5 2a 04 71 b4 b5 2a 06 71 b4 b5 e1 c9 3a 27 02 b7 ca 06 48 cd bc 47 21 ec 47 ca e1 47 21 fc   ┆  * q  * q    :'    H  G! G  G! ┆
0x044ee0…044f00             47 cd 68 25 da 0a 48 c8 fa 06 48 e9 4c 48 54 48 50 4c 69 48 4d 54 6f 48 4d 42 75 48 43 50 30 48   ┆G h%  H   H LHTHPLiHMToHMBuHCP0H┆
0x044f00…044f20             50 41 1c 48 00 e1 cd f0 25 d0 fe 0c ca 7f 47 3e 0a cd a7 47 2a 02 71 23 22 02 71 c9 cd f0 25 d0   ┆PA H    %     G>   G* q#" q   % ┆
0x044f20…044f40             fe 0c ca 0a 48 3e 8a cd a7 47 cd 14 48 c3 7f 47 cd b2 25 da 06 48 cd f0 25 d0 fe 0c ca 0a 48 d5   ┆    H>   G  H  G  %  H  %     H ┆
0x044f40…044f60             eb 2a 06 71 19 eb 2a 1c 71 23 cd 68 17 d1 d2 25 48 c3 0f 48 cd b2 25 da 06 48 c2 06 48 cd f0 25   ┆ * q  * q# h   %H  H  %  H  H  %┆
0x044f60…044f80             d0 67 7d 32 0b 71 c3 91 48 21 0c 71 c3 78 48 21 10 71 c3 78 48 21 18 71 e5 cd b2 25 da 05 48 c2   ┆ gå2 q  H! q xH! q xH! q   %  H ┆
0x044f80…044fa0             05 48 cd f0 25 d2 64 12 eb e3 57 7b cd 98 48 e1 eb cd b0 48 7c c3 0a 48 c5 4f 3a 0b 71 c3 18 0b   ┆ H  % d   Wæ  H    Hø  H O: q   ┆
0x044fa0…044fc0             c5 d5 21 66 03 11 0b 71 01 11 00 cd c2 16 d1 c1 c5 d5 e5 01 01 00 2a 11 71 eb 2a 19 71 19 eb 2a   ┆  !f   q              * q * q  *┆
0x044fc0…044fe0             0d 71 cd 2c 17 7c b7 f2 cc 48 60 68 3a 0b 71 2f 3c 5f 16 ff 19 d2 de 48 0b 03 19 da d9 48 69 60   ┆ q , ø   H`h: q/<_     H     Hi`┆
0x044fe0…045000             22 1c 71 c3 5b 1a f5 c5 d5 e5 09 eb af 32 08 71 78 b1 ca 25 49 0b 1b 1a fe 0a ca 1f 49 fe 8a ca   ┆" q Æ        2 qx  %I       I   ┆
0x045000…045020 (18, 0, 13) 2e 4d cd 32 6d d0 21 b2 71 cd 17 67 2a 61 71 eb cd 54 4d cd 32 6d da 06 6d cd 37 63 21 ba 71 11   ┆.M 2m ! q  g*aq  TM 2m  m 7c! q ┆
0x045020…045040             a6 71 01 08 00 cd c2 16 cd fb 60 3e ff 32 96 38 37 c9 af 32 63 71 7b b7 c8 cd b9 6d d0 cd d8 6d   ┆ q        `> 2 87  2cqæ    m   m┆
0x045040…045060             c2 36 6d 7b b7 c8 cd b9 6d d0 e5 2a 9c 03 cd e4 6d e1 37 3f c4 d8 17 d2 43 6d cd a7 6d 7b b7 ca   ┆ 6mæ    m  *    m 7?    Cm  mæ  ┆
0x045060…045080             78 6d cd b9 6d d0 cd 90 17 c8 cd d8 6d ca 86 6d cd a7 6d 3e ff 32 63 71 cd b9 6d d0 cd 90 17 c8   ┆xm  m       m  m  m> 2cq  m     ┆
0x045080…0450a0             cd d8 6d c2 73 6d fe 45 37 c0 3a 63 71 b7 37 c0 cd b9 6d fe 53 ca 9d 6d fe 44 c2 a0 6d cd b9 6d   ┆  m sm E7 :cq 7   m S  m D  m  m┆
0x0450a0…0450c0             fe 2d 37 c4 d8 17 c9 2b c5 01 b2 71 cd 8f 4e 1c eb 22 61 71 eb 1d c1 23 c9 7b b7 ca bf 6d 1d cd   ┆ -7    +   q  N  "aq   # æ   m  ┆
0x0450c0…0450e0             2c 27 15 c8 cd 62 4d 3f d0 e6 7f fe 20 dc 6e 0a da bf 6d cd e2 17 37 c9 e5 2a 9a 03 cd e4 6d e1   ┆,'   bM?      n   m   7  *    m ┆
0x0450e0…045100             c9 be c8 23 34 35 c2 e1 6d fe ff c9 ff 9b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆   #45  m                       ┆
0x045100…045120             9a 07 01 14 00 04 00 00 eb 6f 33 00 00 c3 4f 6d c3 65 6d c3 74 6d c3 8e 6d c3 1d 6e c3 4a 6e c3   ┆         o3   Om em tm  m  n Jn ┆
0x045120…045140             dc 6d c3 e2 6d c3 e8 6d c3 fa 6d c3 03 6e c3 0c 6e c3 a2 6e c3 f0 6e c3 ee 6d c3 f4 6d 12 01 12   ┆ m  m  m  m  n  n  n  n  m  m   ┆
0x045140…045160             00 39 00 73 00 7b 00 cd 00 bf 00 49 00 51 00 30 00 20 45 4e 54 45 52 20 73 70 61 63 65 20 4f 52   ┆ 9 s æ     I Q 0  ENTER space OR┆
0x045160…045180             20 4e 45 57 20 4c 49 4e 45 20 53 50 41 43 49 4e 47 20 28 31 2d 39 29 3a 20 00 20 4c 45 46 54 20   ┆ NEW LINE SPACING (1-9):   LEFT ┆
0x045180…0451a0             4d 41 52 47 49 4e 20 43 4f 4c 55 4d 4e 20 4e 55 4d 42 45 52 02 b8 ff 75 6d 6e 29 3f 20 00 20 28   ┆MARGIN COLUMN NUMBER   umn)?   (┆
0x0451a0…0451c0             45 53 43 41 50 45 20 66 6f 72 20 63 75 72 73 6f 72 20 63 6f 6c 00 20 52 49 47 48 54 02 92 ff 00   ┆ESCAPE for cursor col  RIGHT    ┆
0x0451c0…0451e0             20 46 6f 72 20 64 65 63 69 6d 61 6c 20 74 61 62 20 73 74 6f 70 20 65 6e 74 65 72 20 22 23 22 20   ┆ For decimal tab stop enter "#" ┆
0x0451e0…045200             61 6e 64 20 64 65 63 69 6d 61 6c 20 70 6f 69 6e 74 20 63 6f 6c 75 6d 6e 20 0e 20 53 45 54 02 4a   ┆and decimal point column   SET J┆
0x045200…045220 (18, 0, 14) 17 b7 c9 fe 2e c8 fe 3a c8 fe 20 d0 bf c9 c5 d5 d5 af 0e 10 12 13 0d c2 14 6f d1 d5 cd 66 6f 12   ┆    .  :                 o   fo ┆
0x045220…045240             13 0e 08 cd 34 6f fe 2e c2 2c 6f 23 0e 03 cd 34 6f c3 b5 6e cd 52 6f ca 47 6f 12 13 0d c2 34 6f   ┆    4o . ,o#   4o  n Ro Go    4o┆
0x045240…045260             cd 52 6f c2 40 6f c9 f5 3e 20 12 13 0d c2 48 6f f1 c9 7e cd 5d 6f c8 23 cd e2 17 b7 c9 fe 2a c8   ┆ Ro @o  >     Ho  ü Åo #      * ┆
0x045260…045280             fe 3f c8 c3 03 6f cd 7e 17 23 7e 2b fe 3a c2 7e 6f 7e cd d8 17 d2 7e 6f d6 40 23 23 b7 c9 cd 76   ┆ ?   o ü #ü+ : üoü    üo @##   v┆
0x045280…0452a0             19 37 c9 e3 7e 23 e5 66 6f 22 eb 6f e1 23 e3 c5 e5 cd 2c 17 22 ed 6f e1 cd d1 6f cd de 6f 1a d2   ┆ 7  ü# fo" o #    , " o   o  o  ┆
0x0452a0…0452c0             c4 6f e5 6f 13 cd de 6f d2 e8 6f 1a 67 d5 eb 2a ed 6f 19 d1 eb e3 73 23 7a d1 77 e3 2b 7c b5 e3   ┆ o o   o  o g  * o    s#z w +ø  ┆
0x0452c0…0452e0             ca cf 6f 7e 77 23 13 e3 2b 7c b5 e3 c2 9b 6f e1 c9 e5 2a eb 6f 46 23 22 eb 6f e1 0e 08 c9 78 17   ┆  oüw#  +ø    o   * oF#" o    x ┆
0x0452e0…045300             47 f5 0d cc d1 6f f1 c9 cd 38 00 0a 48 69 74 60 00 00 00 00 00 00 00 03 06 19 b0 06 db 6d b0 1b   ┆G    o   8  Hit`             m  ┆
0x045300…045320             01 b6 18 0c 61 80 1b 36 36 db 6d 9b 33 66 6d 98 00 6d b6 03 18 c1 98 c6 1b 36 db 60 18 c0 6d 81   ┆    a  66 m 3fm  m       6 `  m ┆
0x045320…045340             b6 00 06 00 18 d9 b3 0c c0 00 c0 60 00 00 c0 00 31 80 c3 00 36 db 6c d9 b6 c3 fd ff ff ff ff ff   ┆           `    1   6 l         ┆
0x045340…045360             ff fd ff ff ff ff ff ff ff ff ff ff ff ff ff 9b 00 00 74 20 66 6f 75 6e 64 20 2a 2a 2a 20 00 20   ┆                  t found ***   ┆
0x045360…045380             2a 2a 2a 20 66 69 6c 65 20 1a 20 62 61 64 20 28 74 6f 6f 20 62 69 67 20 3f 3f 21 40 26 2a 29 20   ┆*** file   bad (too big ??!@&*) ┆
0x045380…0453a0             2a 2a 2a 20 00 20 2a 2a 2a 20 66 69 6c 65 20 1a 20 62 61 64 20 28 74 6f 6f 20 73 68 6f 72 74 00   ┆***   *** file   bad (too short ┆
0x0453a0…0453c0             00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
          […0x2…]
0x045400…045420 (18, 0, 15) 9a 05 01 14 00 00 00 00 7a 6f 00 00 00 c3 28 6c c3 13 6c 3a ca 38 b7 c0 3a 00 38 b7 c0 11 30 38   ┆        zo    (l  l: 8  : 8   08┆
0x045420…045440             cd 89 34 3e ff c3 75 6c 3a 00 38 b7 ca 75 6c 21 01 38 7e 36 00 b7 ca 43 6c 3a ff 37 b7 c8 cd 5c   ┆  4>  ul: 8  ul! 8ü6   Cl: 7   Ø┆
0x045440…045460             33 0d 0f 3e ff 32 4f 3c cd 08 25 3a ca 38 b7 ca 5d 6c cd b7 1a dd 39 21 d4 36 cd e5 1a cd b7 1a   ┆3  > 2O<  %: 8  Ål    9! 6      ┆
0x045460…045480             df 39 cd c1 6d 3e 00 32 4f 3c 32 01 38 c0 2f 32 50 3c c3 d2 12 32 ff 37 3a ca 38 b7 c4 61 6f d8   ┆ 9  m> 2O<2 8 /2P<   2 7: 8  ao ┆
0x045480…0454a0             01 42 01 21 4f 3c cd 08 17 01 04 00 11 8b 36 21 ca 03 cd c2 16 cd 08 25 11 45 3d 21 d4 36 cd f0   ┆ B !O<        6!       % E=! 6  ┆
0x0454a0…0454c0             6d db 39 c8 3a ca 38 b7 c4 7a 6d d2 c0 6c e5 2b 7e fe 1b 21 61 3a c2 bc 6c 22 07 38 c4 d0 1a e1   ┆m 9 : 8  zm  l +ü  !a:  l" 8    ┆
0x0454c0…0454e0             11 92 36 1a b7 c2 d0 6c 7e 12 b7 23 13 c2 c8 6c 21 d3 36 7e fe 1b c4 de 6c cd 5c 33 10 00 cd ba   ┆  6    lü  #   l! 6ü    l Ø3    ┆
0x0454e0…045500             24 e1 39 3a 99 38 3c 32 9b 38 cd de 6d 3a 9b 38 cd 43 21 cd b0 24 3d cd 43 21 11 e5 39 21 8b 36   ┆$ 9: 8<2 8  m: 8 C!  $= C!  9! 6┆
0x045500…045520             cd 8f 6d c2 1a 6d cd e9 6d 11 6b 3d 21 ea 36 cd f8 6d f5 39 ca ea 6c c3 1d 6d cd e9 6d 21 00 37   ┆  m  m  m k=! 6  m 9  l  m  m! 7┆
0x045520…045540             11 e3 39 cd 0c 6f 22 ee 3c 21 06 37 11 f3 39 cd 0c 6f 22 f0 3c 21 0c 37 11 f7 39 3a ff 37 b7 c4   ┆  9  o" <! 7  9  o" <! 7  9: 7  ┆
0x045540…045560             0c 6f 22 f2 3c cd de 6d 11 e7 39 21 8c 36 3a d1 03 b7 cc 8f 6d 11 e9 39 23 cd 8f 6d 23 3a 8b 36   ┆ o" <  m  9! 6:     m  9#  m#: 6┆
0x045560…045580             b7 f5 2f 11 eb 39 cc 8f 6d 77 f1 c0 cd b7 1a ed 39 cd ca 24 cd b1 1b c3 2c 27 e5 d5 c5 21 5c 00   ┆  /  9  mw      9  $    ,'   !Ø ┆
0x045580…0455a0             11 45 3d 0e 0c cd 5c 17 c1 d1 e1 37 c8 3f c9 c5 e5 cd f1 24 eb cd d0 1a eb cd d2 6d 4e 21 86 08   ┆ E=   Ø    7 ?     $       mN!  ┆
0x0455a0…0455c0             be 06 ff ca af 6d 23 be 2b 06 00 ca af 6d 41 78 fe ff ca b6 6d 23 7e cd a5 1e 78 e1 70 c1 c3 90   ┆     m# +    mAx    m#ü   x p   ┆
0x0455c0…0455e0             1e cd d2 6d e5 21 86 08 be ca ce 6d 23 7e e1 c3 a5 1e cd ca 24 cd b1 1b cd 2c 27 c3 d5 17 3a a0   ┆   m !     m#ü      $    ,'   : ┆
0x0455e0…045600             38 32 9e 38 af 32 9f 38 c9 3a 9d 38 32 9f 38 c9 cd 7f 24 3e 01 c3 fc 6d 3e ff fe af e3 f5 cd 21   ┆82 8 2 8 : 82 8   $>   m>      !┆
0x045600…045620 (18, 1, 1)  12 49 e6 7f fe 0c c2 f0 48 cd 4a 49 cd 60 49 c3 f0 48 3a 27 02 b7 ca 1f 49 cd 4a 49 cd 60 49 cd   ┆ I      H JI `I  H:'    I JI `I ┆
0x045620…045640             33 49 c3 f0 48 3a 08 71 b7 1a 4f c4 71 49 e1 d1 c1 f1 c9 2a 02 71 2b 22 02 71 3a 96 03 b7 ca 58   ┆3I  H: q  O qI     * q+" q:    X┆
0x045640…045660             49 cd 4a 49 3e ff 32 08 71 c9 13 1a 1b 21 08 71 34 35 c8 34 cd 5f 25 c8 2a 06 71 2b 22 06 71 c9   ┆I JI> 2 q    ! q45 4 _% * q+" q ┆
0x045660…045680             2a 04 71 2b 22 04 71 cd 99 47 cd 55 17 22 06 71 c9 2a 89 39 cd 2c 17 1b 41 7c b5 c8 23 1a 4f e6   ┆* q+" q  G U " q * 9 ,  Aø  # O ┆
0x045680…0456a0             7f fe 0a ca 8b 49 fe 0c c2 77 49 78 c3 4d 49 f5 3a 08 71 b7 ca 31 49 c5 d5 e5 2a 8b 39 4e cd bd   ┆     I   wIx MI : q  1I   * 9N  ┆
0x0456a0…0456c0             4c 2a 8b 39 eb cd 71 49 cd 8b 49 c3 ab 32 1a 13 4f 06 00 cd d5 49 c8 cd 0c 4a cd eb 49 cd c8 49   ┆L* 9  qI  I  2  O    I   J  I  I┆
0x0456c0…0456e0             0e 00 05 c2 ba 49 b7 c9 c5 06 00 0d 03 cd 90 46 eb 09 eb c1 c9 04 0c 0d c0 05 c9 d5 2a 8b 39 eb   ┆     I         F            * 9 ┆
0x0456e0…045700             2a 8d 39 cd 68 17 d1 21 8b 39 d8 21 8b 39 c5 d5 e5 cd 08 4b 78 b7 c2 5b 1a cd a3 4a 7a b7 c2 7b   ┆* 9 h  ! 9 ! 9     Kx  Æ   Jz  æ┆
0x045700…045720             4a cd 13 4b d2 f1 49 3e 11 cd a0 26 c5 d5 e5 f5 3e ff 32 c9 38 21 89 39 cd 6a 4a 2a 8f 71 19 eb   ┆J  K  I>   &    > 2 8! 9 jJ* q  ┆
0x045720…045740             2a ba 38 cd 68 17 eb d2 2d 4a 22 ba 38 21 8d 39 cd 6a 4a cd 59 4a cd 2c 17 eb 2a bc 38 cd 68 17   ┆* 8 h   -J" 8! 9 jJ YJ ,  * 8 h ┆
0x045740…045760             eb da 47 4a 22 bc 38 eb 2a be 38 cd 68 17 eb da 55 4a 22 be 38 f1 c3 5b 1a d5 2a 16 39 eb 2a 7e   ┆  GJ" 8 * 8 h   UJ" 8  Æ  * 9 *ü┆
0x045760…045780             00 cd 2c 17 11 ff 7f 19 d1 c9 cd 08 4b 60 69 29 5c 16 00 d2 77 4a 14 c9 c5 d5 e5 eb 21 81 39 23   ┆  ,         K`i)Ø   wJ      ! 9#┆
0x045780…0457a0             cd 68 17 2b da 90 4a cd c7 4a cd ba 4a c3 7f 4a 21 8f 39 cd 68 17 d2 5b 1a cd e5 4a 2b 2b 2b 2b   ┆ h +  J  J  J  J! 9 h  Æ   J++++┆
0x0457a0…0457c0             c3 93 4a c5 e5 11 00 00 21 7f 39 cd 08 4b eb 09 eb cd ba 4a d2 ab 4a e1 c1 c9 d5 23 23 23 23 11   ┆  J     ! 9  K     J  J    #### ┆
0x0457c0…0457e0             90 39 cd 68 17 d1 c9 c5 d5 e5 cd 08 4b 2b 2b cd 51 17 e3 73 23 72 2b e3 cd c2 16 e1 e5 23 23 73   ┆ 9 h        K++ Q  s#r+      ##s┆
0x0457e0…045800             23 72 c3 5b 1a c5 d5 e5 e5 2b 2b cd 08 4b e1 e5 cd 51 17 eb e3 23 72 2b 73 e3 cd e1 16 e1 2b 72   ┆#r Æ     ++  K   Q   #r+s     +r┆
0x045800…045820 (18, 1, 2)  cd ca 5c cd 91 52 cd 39 53 f1 d2 3d 51 2a 2d 71 7e e6 02 ca 1f 51 cd dc 5b cd 86 52 c3 0d 51 cd   ┆  Ø  R 9S  =Q*-qü    Q  Æ  R  Q ┆
0x045820…045840             fe 5c 0a e6 04 ca 3d 51 cd 04 5c cd 2d 53 c3 1f 51 cd 57 52 da cc 50 cd 34 53 cd 86 52 cd 69 52   ┆ Ø    =Q  Ø -S  Q WR  P 4S  R iR┆
0x045840…045860             da cc 50 cd af 51 01 a6 71 cd a5 51 7b a4 3c c4 37 63 01 aa 71 cd a5 51 7b b4 c4 37 63 01 ae 71   ┆  P  Q  q  Qæ < 7c  q  Qæ  7c  q┆
0x045860…045880             cd a5 51 7b b7 f4 c2 63 cd 49 0b c0 af 32 49 71 3a 24 37 f5 21 9a 71 e5 cd c8 66 cd c0 47 c2 87   ┆  Qæ   c I   2Iq:$7 ! q   f  G  ┆
0x045880…0458a0             51 21 92 71 cd 17 67 2a 2f 71 44 4d cd 50 67 c4 88 45 e1 cd 17 67 f1 32 24 37 3a 49 71 b7 c8 cd   ┆Q! q  g*/qDM Pg  E   g 2$7:Iq   ┆
0x0458a0…0458c0             34 53 c3 3d 51 cd 52 4e 01 ff ff 09 d8 1d c9 3a 69 38 cd 01 5d 60 69 22 2b 71 cd 52 4e cd 60 56   ┆4S =Q RN       :i8  Å`i"+q RN `V┆
0x0458c0…0458e0             3a 25 71 32 6a 38 2a 26 71 22 20 71 22 22 71 3a 28 71 32 1f 71 cd 49 0b 3a 1e 71 f4 e8 5c f4 a0   ┆:%q2j8*&q" q""q:(q2 q I : q  Ø  ┆
0x0458e0…045900             5a 0a e6 20 ca 1a 52 3a 1e 71 3d cd 01 5d 21 82 45 be ca 17 52 0a e6 04 c2 1a 52 0a e6 11 fe 11   ┆Z     R: q=  Å! E   R     R     ┆
0x045900…045920             c2 17 52 cd 52 4e cd 60 56 2a 45 71 eb 2a 22 71 19 22 22 71 c3 d5 51 3e 3f fe af 32 24 71 21 85   ┆  R RN `V*Eq *"q ""q  Q>?  2$q! ┆
0x045920…045940             38 7e 36 00 2f b7 cc 49 0b c2 35 52 cd 62 21 cd ad 20 cd 4f 21 3a 77 38 3d f8 ca 44 52 cd 50 52   ┆8ü6 /  I  5R b!    O!:w8=  DR PR┆
0x045940…045960             da 4b 52 37 d4 50 52 d8 cd 2b 29 21 77 38 35 c9 cd 9a 68 d4 a4 68 c9 cd 56 54 d8 cd 22 54 37 f8   ┆ KR7 PR  +)!w85   h  h  VT  "T7 ┆
0x045960…045980             c8 b7 c9 cd c0 5a cd 86 52 cd 57 52 d8 3a 1e 71 cd e8 5c fa 63 52 21 6f 38 96 b7 f8 c8 cd b1 5a   ┆     Z  R WR : q  Ø cR!o8      Z┆
0x045980…0459a0             cd 2d 53 c3 69 52 3e 01 c3 8e 52 3a 6d 38 cd 01 5d d5 e5 af 32 fe 71 3a 1e 71 57 21 85 45 be fa   ┆ -S iR>   R:m8  Å   2 q: qW! E  ┆
0x0459a0…0459c0             e2 52 21 fc ff 09 34 35 ca b1 52 cd 4c 54 c3 9b 52 3d 36 00 2b 2b 2b 2b e5 21 85 45 be e1 f2 b1   ┆ R!   45  R LT  R=6 ++++ ! E    ┆
0x0459c0…0459e0             52 d5 cd e5 52 d1 21 fc ff 09 7e b7 ca c1 52 cd 4c 54 21 85 45 be fa e2 52 ba f2 c6 52 fe ff f2   ┆R   R !   ü   R LT! E   R   R   ┆
0x0459e0…045a00             c6 52 e1 d1 c9 cd 52 4e cd 02 56 da 22 53 16 10 cd 60 56 cd 23 4e da 15 53 f5 c5 cd 80 5c cd f8   ┆ R    RN  V "S   `V #N  S    Ø  ┆
0x045a00…045a20 (18, 1, 3)  b7 c0 3a 3a 71 e6 46 c0 3a 3b 71 cd 5f 25 c0 c5 e5 01 31 71 cd 9f 4d cd c7 4d e1 c1 3f d0 e6 7f   ┆  ::q F :;q _%    1q  M  M  ?   ┆
0x045a20…045a40             fe 0c c8 fe 0a c9 3a 27 02 e5 21 28 02 a6 e1 c9 3a 27 02 b7 c8 c5 d5 e5 21 00 00 44 39 22 4b 71   ┆      :'  !(    :'      !  D9"Kq┆
0x045a40…045a60             4a 2a 77 39 23 7e 2b cd 5f 25 ca 5d 59 eb 21 cd 59 cd 68 25 ca 6d 59 fa 6d 59 d4 64 59 2a 4b 71   ┆J*w9#ü+ _% ÅY ! Y h% mY mY dY*Kq┆
0x045a60…045a80             f9 c3 5b 1a e9 c9 cd b2 25 da 6d 59 c8 01 7e 08 2a 4b 71 f9 e1 d1 3e 3f cd a5 59 cd 66 57 cd 83   ┆  Æ     % mY  ü *Kq   >?  Y fW  ┆
0x045a80…045aa0             59 c1 c9 e5 60 69 d5 cd d6 1a d1 7b 3d ca ae 59 7e b7 ca ae 59 23 cd a5 59 e3 77 23 e3 cd 9c 1b   ┆Y   `i     æ=  Yü   Y#  Y w#    ┆
0x045aa0…045ac0             14 1d c3 8b 59 e5 21 48 71 ae 21 21 37 ae e1 c9 3a b4 03 c3 66 57 cd 66 59 3a 27 02 b7 c8 3a 28   ┆    Y !Hq !!7   :   fW fY:'   :(┆
0x045ac0…045ae0             02 b7 37 c4 52 5a d8 01 31 3a cd 70 59 4c 48 b6 59 50 4c b6 59 4d 54 b6 59 4d 42 b6 59 48 4d 66   ┆  7 RZ  1: pYLH YPL YMT YMB YHMf┆
0x045ae0…045b00             59 46 4d 66 59 50 43 66 59 50 4f 66 59 53 52 66 59 55 4a 66 59 42 50 66 59 43 57 66 59 50 41 65   ┆YFMfYPCfYPOfYSRfYUJfYBPfYCWfYPAe┆
0x045b00…045b20             59 43 50 66 59 50 4e 65 59 4f 50 65 59 48 45 65 59 46 4f 65 59 49 47 65 59 50 46 b0 59 4f 4a b0   ┆YCPfYPNeYOPeYHEeYFOeYIGeYPF YOJ ┆
0x045b20…045b40             59 49 4a b0 59 4c 4d b0 59 4c 53 b0 59 52 4d b0 59 43 53 b0 59 44 4d b0 59 53 56 b0 59 41 56 b0   ┆YIJ YLM YLS YRM YCS YDM YSV YAV ┆
0x045b40…045b60             59 52 50 b0 59 44 46 b0 59 52 56 b0 59 46 49 b0 59 00 c5 d5 e5 21 5b 1a e5 01 31 71 cd 9f 4d 16   ┆YRP YDF YRV YFI Y    !Æ   1q  M ┆
0x045b60…045b80             08 cd c7 4d d8 1b 14 15 b7 c8 cd 5f 25 ca 61 5a cd c7 4d cd 1c 59 c8 c3 65 5a f5 c5 d5 e5 cd fe   ┆   M       _% aZ  M  Y  eZ      ┆
0x045b80…045ba0             5c cd 49 0b c2 97 5a 0a e6 80 cc 9a 5a cd 40 54 21 6d 38 be fa 81 5a c3 ab 32 cd 52 4e cd 60 56   ┆Ø I   Z     Z @T!m8   Z  2 RN `V┆
0x045ba0…045bc0             0a e6 80 c0 0a f6 80 02 e5 2a 1e 71 cd b4 1d e1 c9 cd f5 32 cd 94 5c cd 62 5b cd 04 5c c3 91 5c   ┆         * q       2  Ø bÆ  Ø  Ø┆
0x045bc0…045be0             cd dc 5b cd f5 32 cd ff 5a c3 a6 5c cd 15 5d e5 21 6d 38 be e1 f2 0c 5c cd e8 5c fc f5 32 cd 62   ┆  Æ  2  Z  Ø  Å !m8    Ø  Ø  2 b┆
0x045be0…045c00             5b cd 0c 5c c3 91 5c cd 15 5d cd df 5b e5 21 6d 38 be e1 f0 b7 f2 fc 5a af cd 94 5c c3 ff 5a f5   ┆Æ  Ø  Ø  Å  Æ !m8      Z   Ø  Z ┆
0x045c00…045c20 (18, 1, 4)  38 c9 3a 8c 38 2f 21 2b 02 a6 c2 ae 29 cd fe 5c 03 03 03 03 0a e6 02 c2 fb 60 cd e3 60 fc a4 60   ┆8 : 8/!+    )  Ø         `  `  `┆
0x045c20…045c40             21 86 38 35 cd b1 5a 3a 74 02 21 20 37 b6 c2 37 61 3e 03 cd e8 5c f8 3a 6f 38 cd 01 5d 0a e6 80   ┆! 85  Z:t ! 7  7a>   Ø :o8  Å   ┆
0x045c40…045c60             c0 c3 9a 5a 3a 2b 02 21 8a 38 a6 c2 b5 29 2a 2d 71 2b 2b 2b 2b 7e e6 04 c2 fb 60 3a 69 38 21 6f   ┆   Z:+ ! 8   )*-q++++ü    `:i8!o┆
0x045c60…045c80             38 be f4 b0 60 cd c0 5a cd 79 61 3a 7b 02 21 20 37 b6 c8 cd fe 5c c3 9a 5a 2a 2d 71 7e e6 04 c8   ┆8   `  Z ya:æ ! 7    Ø  Z*-qü   ┆
0x045c80…045ca0             cd e1 32 cd 04 5c cd 34 53 cd fb 60 c3 79 61 e6 7f fe 0d c0 cd 62 4d d8 cd a0 17 c8 2b 03 c9 21   ┆  2  Ø 4S  ` ya      bM     +  !┆
0x045ca0…045cc0             23 37 c3 78 17 3a 24 37 f5 3a ab 71 3d c4 37 63 cd 87 63 2a 8b 39 2b 2b cd 88 45 3e 01 32 ab 71   ┆#7 x :$7 : q= 7c  c* 9++  E> 2 q┆
0x045cc0…045ce0             f1 32 24 37 c9 da e6 61 cd 11 28 11 16 00 cd 0e 50 cd 1f 31 2a 1d 37 cd b1 1b 32 7e 38 32 74 38   ┆ 2$7   a  (     P  1* 7   2ü82t8┆
0x045ce0…045d00             cd 17 28 cd 4f 21 fe 20 c8 cd d8 17 d2 f1 61 e6 1f fe 1a c8 c3 5d 62 cd fd 61 c3 a9 64 21 4a 71   ┆  ( O!        a      Åb  a  d!Jq┆
0x045d00…045d20             36 00 32 7e 38 fe 2d c2 21 62 21 96 38 34 35 f5 c4 1f 62 f1 c2 89 67 21 23 02 34 35 ca 21 62 3e   ┆6 2ü8 - !b! 845   b   g!# 45 !b>┆
0x045d20…045d40             1e f5 cd 5d 62 f1 21 22 04 34 35 ca 39 62 be 23 c2 29 62 3a 2d 04 cd 5d 62 cd 3f 1c c8 fe 20 d8   ┆   Åb !" 45 9b # )b:-  Åb ?     ┆
0x045d40…045d60             fe 7e d0 3a 94 38 2f 21 4a 71 b6 21 7f 38 b6 c0 cd fd 4f cd 0d 1c c8 32 82 38 c3 fd 61 cd 28 63   ┆ ü : 8/!Jq ! 8    O    2 8  a (c┆
0x045d60…045d80             f5 cd e2 67 f1 47 cd 43 63 78 d4 6a 1d dc a9 64 da 7b 62 21 1f 71 ae cd 6d 1f 78 cd 6b 46 fe 20   ┆   g G Ccx j   d æb! q  m x kF  ┆
0x045d80…045da0             dc a9 64 21 86 38 35 f5 cd e8 62 f1 f5 cd 2e 68 f1 fe 1e cc a9 64 ca c4 62 af 32 96 38 cd 5f 4d   ┆  d! 85   b   .h     d  b 2 8 _M┆
0x045da0…045dc0             da c4 62 cd 9a 17 c8 e6 7f fe 20 dc a9 64 cd 43 63 d8 3a 23 37 b7 c2 a9 64 7e e6 7f fe 20 dc a9   ┆  b          d Cc :#7   dü      ┆
0x045dc0…045de0             64 c3 de 45 2a 2b 71 7e 23 23 23 e6 02 ca dd 62 7e b7 f2 dd 62 af 77 2b 77 2b 77 23 23 23 11 f5   ┆d  E*+qü###    bü   b w+w+w###  ┆
0x045de0…045e00             72 cd 68 17 d2 c7 62 c9 fe 20 d8 cd 43 63 d0 21 9e 71 e5 cd c8 66 21 a6 71 cd 17 67 cd c4 4d e6   ┆r h   b     Cc ! q   f! q  g  M ┆
0x045e00…045e20 (18, 1, 5)  2b 73 c3 5b 1a 21 8d 39 d5 e5 cd 51 17 cd 35 17 e1 d1 c9 cd 36 4b d0 c5 d5 e5 cd a3 4b da 5b 1a   ┆+s Æ ! 9   Q  5     6K      K Æ ┆
0x045e20…045e40             3a c7 38 47 05 87 4f 0d cd a3 4b 05 ca 33 4b 0d c2 28 4b c3 61 4b c5 d5 e5 cd 64 4b da 5b 1a 21   ┆: 8G  O   K  3K  (K aK    dK Æ !┆
0x045e40…045e60             b3 38 34 46 21 c8 38 af 86 05 c2 48 4b 3d f6 07 4f 3a c7 38 3d 47 cd 64 4b 05 ca 61 4b 0d c2 56   ┆ 84F! 8    HK=  O: 8=G dK  aK  V┆
0x045e60…045e80             4b c3 5a 1a 2a b4 38 eb 2a 8b 39 cd 2c 17 eb 2a 89 39 cd 68 17 d8 e5 2a 8f 71 eb 2a ba 38 cd 68   ┆K Z * 8 * 9 ,  * 9 h   * q * 8 h┆
0x045e80…045ea0             17 e1 11 6d 71 d2 8e 4b cd 35 1a c3 9b 4b cd 1e 1a eb 2a ba 38 23 22 ba 38 eb 04 11 80 00 19 22   ┆   mq  K 5   K    * 8#" 8      "┆
0x045ea0…045ec0             89 39 c9 2a 8f 39 cd b2 4c c2 bb 4b 3a 18 39 57 cd 46 17 e5 7a cd 19 4c c3 c0 4b 11 80 ff 19 e5   ┆ 9 * 9  L  K: 9W F  z  L  K     ┆
0x045ec0…045ee0             e3 e5 2a b6 38 eb 2a 8d 39 19 d1 cd 68 17 eb e3 da bb 4c e5 2a bc 38 eb cd 59 4a cd 68 17 e1 d2   ┆  * 8 * 9   h     L * 8  YJ h   ┆
0x045ee0…045f00             eb 4b 11 5c 00 cd 3c 1a c3 10 4c e5 2a be 38 eb cd 59 4a cd 68 17 e1 11 f4 38 d2 03 4c cd 35 1a   ┆ K Ø  <   L * 8  YJ h    8  L 5 ┆
0x045f00…045f20             c3 10 4c cd 1e 1a e5 2a be 38 2b 22 be 38 e1 04 cd b2 4c b7 e1 22 8f 39 c9 c5 d5 11 ce 3b d5 47   ┆  L    * 8+" 8    L  " 9     ; G┆
0x045f20…045f40             0e 82 04 2b 1b 7e 12 23 13 0d 05 c2 25 4c 3e 1a 12 13 0d c2 2e 4c c3 5b 1a cd b2 4c c8 c5 d5 e5   ┆   + ü #    %L>     .L Æ   L    ┆
0x045f40…045f60             cd a3 4a b7 14 15 cc 36 4b da 15 4d 2a c2 38 eb 21 91 39 cd 08 4d c3 68 4c c5 d5 e5 cd b2 4c ca   ┆  J    6K  M* 8 ! 9  M hL     L ┆
0x045f60…045f80             36 4c 21 91 39 cd ee 4c 2a 8f 39 cd 81 4c d4 9a 4c da 77 4c 32 18 39 22 8f 39 0d c2 6b 4c c3 61   ┆6L! 9  L* 9  L  L wL2 9" 9  kL a┆
0x045f80…045fa0             4b cd 38 1d 11 f3 38 1a 13 b7 37 c4 aa 19 d0 11 5b 00 1a 13 b7 37 c4 a3 19 c9 06 80 7e fe 1a ca   ┆K 8   8   7     Æ    7      ü   ┆
0x045fa0…045fc0             ab 4c 23 05 c2 9c 4c 37 3e 80 c9 cd bc 19 3e 80 90 c9 e5 3a 5b 00 21 f3 38 b6 37 e1 c9 c5 d5 e5   ┆ L#   L7>     >    :Æ ! 8 7     ┆
0x045fc0…045fe0             3a 6c 71 b7 37 ca 36 4c 11 17 4b 21 89 39 cd f1 4c 2a 89 39 cd 38 1d 11 80 ff 19 11 6d 71 cd aa   ┆:lq 7 6L  K! 9  L* 9 8      mq  ┆
0x045fe0…046000             19 da 61 4b 22 89 39 0d c2 d4 4c c3 61 4b 11 36 4b e5 2a c2 38 d5 cd a3 4a cd 68 17 e1 dc 1a 4d   ┆  aK" 9   L aK 6K * 8   J h    M┆
0x046000…046020 (18, 1, 6)  5b cd 2c 54 c1 f1 c2 f0 52 e5 7a e6 62 67 0a e6 95 b4 02 e1 c9 cd 2c 54 cd 40 54 7a e6 fe 57 c3   ┆Æ ,T    R z bg        ,T @Tz  W ┆
0x046020…046040             62 4e 16 15 c5 cd 80 5c cd 62 4e c1 c9 3a 70 38 3d c3 36 53 3e ff cd 01 5d d5 e5 21 04 00 09 0a   ┆bN     Ø bN  :p8= 6S>   Å  !    ┆
0x046040…046060             e6 04 ca 4c 53 7e e6 df 77 c3 5d 53 0a e6 01 ca 57 53 7e b7 c2 5d 53 cd 69 53 c3 60 53 cd 40 54   ┆   LSü  w ÅS    WSü  ÅS iS `S @T┆
0x046060…046080             cd 22 54 f2 3b 53 e1 d1 c9 cd 52 4e cd 22 54 f8 cd 60 56 0a f6 01 02 cd 40 54 cd 22 54 fa 1c 54   ┆ "T ;S    RN "T  `V     @T "T  T┆
0x046080…0460a0             7a e6 02 c2 ec 53 0a e6 01 ca 1c 54 0a e6 02 c2 1c 54 cd 23 4e ca 09 53 f5 c5 cd 80 5c 0a e6 7f   ┆z    S     T     T #N  S    Ø   ┆
0x0460a0…0460c0             02 c1 f1 da cc 53 cd 60 56 cd 23 4e da c6 53 f5 cd e7 5a cd 2c 54 cd 40 54 f1 ca 09 53 cd 22 54   ┆     S `V #N  S   Z ,T @T   S "T┆
0x0460c0…0460e0             fa 1c 54 c3 a6 53 cd 2c 54 c3 73 53 c5 03 03 03 03 0a e6 01 ca 1b 54 cd 23 4e c1 ca e1 53 d2 1c   ┆  T  S ,T sS          T #N   S  ┆
0x0460e0…046100             54 f5 cd cc 5a f1 ca 09 53 c3 cc 53 c5 cd 80 5c 0a c1 e6 04 ca fc 53 16 10 c3 1c 54 0a e6 03 fe   ┆T   Z   S  S   Ø      S    T    ┆
0x046100…046120             03 c2 07 54 0a e6 80 f6 13 57 cd 62 4e cd 40 54 cd 22 54 f2 fc 53 16 12 c3 1c 54 c1 cd 62 4e c3   ┆   T     W bN @T "T  S    T  bN ┆
0x046120…046140             6c 53 3a 71 38 e5 21 1e 71 be e1 c9 d5 e5 c5 01 31 71 cd 52 4e 7a f6 01 57 c1 cd 62 4e e1 d1 c9   ┆lS:q8 ! q       1q RNz  W  bN   ┆
0x046140…046160             03 03 03 03 3a 1e 71 3c 32 1e 71 c9 cd 80 5c 3a 1e 71 3d c3 48 54 d5 e5 c5 2a 81 45 eb 21 fe 71   ┆    : q<2 q   Ø: q= HT   * E ! q┆
0x046160…046180             23 23 23 23 14 1d ca ea 54 7e b7 ca 60 54 e6 04 c2 60 54 23 23 23 7e b7 fa 63 54 2b b6 2b b6 2b   ┆####    Tü  `T   `T###ü  cT+ + +┆
0x046180…0461a0             c2 93 54 7a cd e8 5c f2 a9 54 7e e6 02 ca 60 54 c3 a9 54 15 2b 7e 47 2b b6 2b b6 2b ca a4 54 78   ┆  Tz  Ø  Tü   `T  T +üG+ + +  Tx┆
0x0461a0…0461c0             b7 f2 ea 54 7e b7 ca ea 54 7e e6 04 c2 ea 54 7e e6 02 ca ce 54 7a e5 21 85 45 be e1 fa ea 54 2b   ┆   Tü   Tü    Tü    Tz ! E    T+┆
0x0461c0…0461e0             2b 2b 2b 15 7e b7 ca ea 54 e6 06 c2 ea 54 44 4d 7a 21 84 45 be fa ea 54 21 86 45 be f2 ea 54 32   ┆+++ ü   T    TDMz! E   T! E   T2┆
0x0461e0…046200             1e 71 32 69 38 b7 e1 e1 d1 c9 37 c1 e1 d1 c9 fe 20 d2 82 55 fe 09 c2 0f 55 f5 3e 20 cd ef 54 ca   ┆ q2i8     7        U    U >   T ┆
0x046200…046220 (18, 1, 7)  e5 d5 c5 57 3a 20 37 b7 c2 19 5b 3a 7b 02 b7 c2 21 5b c1 d1 e1 f1 c3 b8 5c cd 37 5b c1 d1 e1 f1   ┆   W: 7   Æ:æ   !Æ      Ø 7Æ    ┆
0x046220…046240             c9 cd 37 5b cd 2a 22 21 7b 02 c1 e5 6a 26 00 cd 4f 21 e1 d1 c3 4e 22 3a 6b 38 82 57 d5 cd 41 23   ┆  7Æ *"!æ   j&  O!   N":k8 W  A#┆
0x046240…046260             e5 cd c8 20 eb 2a 70 39 cd 35 17 eb 2a 6e 39 eb cd c3 02 cd e1 16 cd c9 02 eb cd 35 17 e1 d1 c3   ┆     *p9 5  *n9            5    ┆
0x046260…046280             f2 20 f5 e5 d5 57 cd 8c 5c 3a 20 37 b7 c2 b3 5b 3a 74 02 b7 c2 ba 5b 3e 03 ba f2 83 5b d1 e1 f1   ┆     W  Ø: 7   Æ:t    Æ>    Æ   ┆
0x046280…0462a0             c3 b8 5c 3a 2b 02 b7 c2 7d 5b 3a 99 38 21 9c 38 b6 ca 9b 5b 3a 86 38 b7 ca 7d 5b af 32 94 38 cd   ┆  Ø:+   åÆ: 8! 8   Æ: 8  åÆ 2 8 ┆
0x0462a0…0462c0             be 29 cd 2b 29 cd b6 22 3e 0a cd 6d 1f d1 e1 f1 c3 a6 5c cd c3 5b d1 e1 f1 c9 cd c3 5b 21 74 02   ┆ ) +)  ">  m      Ø  Æ      Æ!t ┆
0x0462c0…0462e0             c3 2b 5b 3a 6b 38 82 57 d5 cd 41 23 d1 c3 48 20 cd d3 5b 7c 17 7c 1f 67 7d 1f 6f c9 01 fe 71 f5   ┆ +Æ:k8 W  A#  H   Æø ø gå o   q ┆
0x0462e0…046300             c5 d5 e5 50 59 21 f2 72 cd 35 17 eb 21 04 00 19 eb cd e1 16 70 c3 ab 32 f5 c5 d5 e5 60 69 11 fe   ┆   PY! r 5  !       p  2    `i  ┆
0x046300…046320             71 c3 15 5c f5 c5 01 fe 71 c3 0e 5c f5 c5 d5 e5 50 59 21 f2 72 cd 35 17 21 04 00 19 cd c2 16 eb   ┆q  Ø    q  Ø    PY! r 5 !       ┆
0x046320…046340             c3 f4 5b f5 c5 cd 04 5c 3d c2 25 5c f1 c1 c9 f5 c5 d5 e5 cd 9a 4e c3 42 5c f5 c5 d5 e5 44 4d cd   ┆  Æ    Ø= %Ø         N BØ    DM ┆
0x046340…046360             52 4e cd 5c 5c d4 9f 5c c3 ab 32 f5 c5 d5 e5 cd 56 54 d4 9f 5c 03 03 03 03 c3 45 5c 01 02 72 3a   ┆RN ØØ  Ø  2     VT  Ø     EØ  r:┆
0x046360…046380             80 45 57 0a b7 ca 76 5c e6 04 c2 76 5c cd 23 4e ca 85 5c d2 80 5c 03 03 03 03 15 c2 63 5c 37 c9   ┆ EW   vØ   vØ #N  Ø  Ø      cØ7 ┆
0x046380…0463a0             0b 0b 0b 0b c9 0a e6 02 c2 80 5c c9 3a aa 02 b7 c0 3a 70 38 f5 c5 cd 04 5d cd 9f 5c c1 f1 c9 f5   ┆          Ø :    :p8    Å  Ø    ┆
0x0463a0…0463c0             0a e6 7e 02 f1 c9 f5 c5 d5 01 fe 71 e5 21 83 45 86 e1 c3 c5 5c 3a 82 45 f5 c5 d5 cd 04 5d e5 21   ┆  ü        q ! E    Ø: E     Å !┆
0x0463c0…0463e0             87 45 96 e1 2f 16 7f c3 d4 5c f5 c5 d5 57 3a 81 45 01 fe 71 5f 1c 1d ca e4 5c 0a a2 02 03 03 03   ┆ E  /    Ø   W: E  q_    Ø      ┆
0x0463e0…046400             03 c3 d6 5c d1 c1 f1 c9 c5 47 cd f5 32 4f 78 b9 c1 c9 e5 cd f5 32 21 6d 38 96 2f 3c e1 c9 cd f5   ┆   Ø     G  2Ox      2!m8 /<    ┆
0x046400…046420 (18, 1, 8)  7f fe 20 c2 13 63 cd c7 4d da 13 63 23 cd 96 17 ca 1a 63 21 4e 71 34 c3 24 63 cd 1f 46 2a 22 71   ┆     c  M  c#     c!Nq4 $c  F*"q┆
0x046420…046440             2b 22 22 71 e1 c3 17 67 2a ab 71 2d c2 33 63 21 92 03 be c4 96 17 c0 e5 21 00 00 22 4d 71 22 96   ┆+""q   g* q- 3c!        !  "Mq" ┆
0x046440…046460             38 e1 c9 3a 4d 71 b7 c8 3a 23 37 b7 37 c0 3a ab 71 3d c8 b7 c9 cd 37 63 cd c2 63 cd a4 68 d2 6b   ┆8  :Mq  :#7 7 : q=    7c  c  h k┆
0x046460…046480             63 21 77 38 7e 36 00 b7 c4 2b 29 1e 7f 21 86 38 35 3a 29 02 3d f5 cd 7f 63 f1 3d f2 75 63 c9 21   ┆c!w8ü6   +)  ! 85:) =   c = uc !┆
0x046480…0464a0             23 37 34 35 ca 97 63 cd a9 64 3e 0d cd 6b 46 3e 0a cd 6b 46 c3 c4 62 cd 54 4d cd 62 4d da b9 63   ┆#745  c  d>  kF>  kF  b TM bM  c┆
0x0464a0…0464c0             fe 8d c2 b0 63 2b a3 be c4 0c 4a c4 2f 5c 77 23 cd a0 17 c2 9a 63 c3 88 45 cd 88 45 cd 4b 5c c3   ┆    c+    J /Øw#     c  E  E KØ ┆
0x0464c0…0464e0             8a 63 f5 e5 3a 26 37 21 24 37 be 77 c4 2b 29 e1 f1 c9 d4 11 28 cd c8 20 cd 12 64 cd dc 5b 3d c2   ┆ c  :&7!$7 w +)     (     d  Æ= ┆
0x0464e0…046500             db 63 cd 8b 52 cd 79 61 cd e5 65 c3 e1 32 d4 11 28 cd c8 20 cd 12 64 cd 23 5c cd 34 53 cd fe 5c   ┆ c  R ya  e  2  (     d #Ø 4S  Ø┆
0x046500…046520             0a e6 02 ca e8 63 cd dc 5b cd 8b 52 cd fb 60 c3 fd 63 e5 cd f2 5c 1f 67 1f 84 e6 3f 3c e1 c9 3a   ┆     c  Æ  R  `  c   Ø g   ?<  :┆
0x046520…046540             a7 71 b7 cc 37 63 cd c4 4d cd 09 60 cd 1f 46 cd 55 64 2a 2b 71 11 f8 ff 19 7e e6 7e 77 c3 a6 64   ┆ q  7c  M  `  F Ud*+q    ü üw  d┆
0x046540…046560             cd 5f 4d cd 8f 61 4f cd a3 64 21 ab 71 7e b7 79 c2 55 64 34 c9 e6 7f fe 20 d8 3a 4d 71 b7 c8 21   ┆ _M  aO  d! qü y Ud4      :Mq  !┆
0x046560…046580             4e 71 7e b7 ca 69 64 35 c9 21 9e 71 e5 cd c8 66 21 a6 71 e5 cd 17 67 3e 20 cd 6b 46 e1 cd c8 66   ┆Nqü  id5 ! q   f! q   g>  kF   f┆
0x046580…0465a0             e1 3a a1 71 b7 f4 17 67 c9 cd 5f 4d cd a6 17 c4 c4 4d cd 90 17 f5 cd 54 4d cd 67 60 f1 cc 89 60   ┆ : q   g  _M     M     TM g`   `┆
0x0465a0…0465c0             cd 37 63 cd de 45 cd 91 66 f5 e5 2a 2b 71 3a 21 71 b7 c2 bd 64 3a 20 71 fe 09 d2 c5 64 7e e6 7e   ┆ 7c  E  f  *+q:!q   d: q    dü ü┆
0x0465c0…0465e0             77 2b 2b 2b 2b 7e e6 7e 77 3e ff 32 4a 71 e1 f1 c9 cd 37 63 cd fc 64 3a 4d 71 b7 c8 21 00 00 22   ┆w++++ü üw> 2Jq    7c  d:Mq  !  "┆
0x0465e0…046600             ac 71 24 22 aa 71 cd b7 4d cd c7 4d da f6 64 cd 96 17 c2 e9 64 23 01 a6 71 c3 8f 4e cd 6b 65 d2   ┆ q$" q  M  M  d     d#  q  N ke ┆
0x046600…046620 (18, 1, 9)  2a c0 38 29 24 24 eb e1 cd 1b 4d fe 08 da 13 4d d6 04 4f b7 c0 3e 12 cd a0 26 e9 cd 78 4a d5 cd   ┆* 8)$$    M    M  O  >   &  xJ  ┆
0x046620…046640             a3 4a e1 cd 68 17 d2 2a 4d eb 29 7c 4c c9 af 32 0a 71 d5 cd c4 4e c2 44 4d 2a 8d 39 af 32 09 71   ┆ J  h  *M )øL  2 q   N DM* 9 2 q┆
0x046640…046660             2f 32 0a 71 eb 2a 8b 39 da 4e 4d 2a 8f 39 cd 35 17 eb d1 c9 cd 05 4b 2a 8d 39 af 32 09 71 c9 cd   ┆/2 q * 9 NM* 9 5      K* 9 2 q  ┆
0x046660…046680             54 4d 78 b1 cc 6c 4d d8 7e 23 0b c9 e5 21 09 71 7e 36 00 e1 b7 ca 8b 4d 32 0a 71 d5 2a 8d 39 eb   ┆TMx  lM ü#   ! qü6     M2 q * 9 ┆
0x046680…0466a0             2a 8f 39 cd 35 17 eb d1 78 b1 c0 01 9a 71 cd 8f 4e cd 39 4c cd 32 4d 78 b1 c0 37 2a 8f 39 c9 af   ┆* 9 5   x    q  N 9L 2Mx  7* 9  ┆
0x0466a0…0466c0             32 0a 71 d5 cd c4 4e eb 2a 8d 39 d2 b1 4d 2a 89 39 eb cd 35 17 d1 c9 d5 3e ff 32 09 71 2a 8b 39   ┆2 q   N * 9  M* 9  5    > 2 q* 9┆
0x0466c0…0466e0             eb c3 ae 4d cd b7 4d 78 b1 cc d1 4d d8 2b 7e 0b c9 e5 21 09 71 7e 36 ff e1 b7 c2 ef 4d 3d 32 0a   ┆   M  Mx   M +ü   ! qü6     M=2 ┆
0x0466e0…046700             71 d5 21 89 39 cd 51 17 cd 35 17 d1 78 b1 c0 01 9a 71 cd 8f 4e cd bd 4c cd a3 4d 78 b1 c0 37 c9   ┆q ! 9 Q  5  x    q  N  L  Mx  7 ┆
0x046700…046720             cd 52 4e cd 3c 4e c5 d5 cd 48 4e cd 16 4e 03 15 c2 0b 4e d1 c1 c9 03 0a 85 02 03 0a 8c 02 03 0a   ┆ RN <N   HN  N    N             ┆
0x046720…046740             8b 02 c9 c5 03 03 03 0a bb 37 fa 3a 4e 3f c2 3a 4e 0b 0a bc c2 3a 4e 0b 0a bd c1 c9 af 95 6f 3e   ┆         7 :N? :N    :N       o>┆
0x046740…046760             00 9c 67 3e 00 9b 5f c9 f5 01 92 71 3a 7e 45 57 f1 c9 03 0a 6f 03 0a 67 03 0a 5f 0b 0b 0b 0a b7   ┆  g>  _    q:üEW    o  g  _     ┆
0x046760…046780             57 c9 7a 02 03 7d 02 03 7c 02 03 7b 02 0b 0b 0b c9 d5 cd 77 4e d1 c9 eb 2a 8b 39 cd 68 17 eb d8   ┆W z  å  ø  æ       wN   * 9 h   ┆
0x046780…0467a0             c8 eb 2a 8d 39 cd 68 17 eb d0 3e 10 cd a0 26 d5 e5 cd 9a 4e cd 63 4e e1 d1 c9 f5 c5 d5 cd 71 4e   ┆  * 9 h   >   &    N cN       qN┆
0x0467a0…0467c0             eb ca bd 4e 2a 8b 39 da ad 4e 2a 8d 39 eb 7d 93 6f 7c 9a 67 9f 5f c1 50 c1 f1 c3 38 1d 21 00 00   ┆   N* 9  N* 9 å oø g _ P   8 !  ┆
0x0467c0…0467e0             5c c3 b6 4e d5 cd 52 4e cd cd 4e d1 c9 c5 d5 7b eb b7 fa 05 4f 3e 13 c4 a0 26 7a b3 ca 24 4f d5   ┆Ø  N  RN  N    æ    O>   &z  $O ┆
0x0467e0…046800             2a 8d 39 eb 2a 8f 39 cd 2c 17 d1 23 cd 68 17 2b da fa 4e cd 59 4c d2 df 4e eb 2a 8d 39 19 f6 01   ┆* 9 * 9 ,  # h +  N YL  N * 9   ┆
0x046800…046820 (18, 1, 10) a1 55 3a 45 71 82 e6 07 c2 fa 54 f1 fe 00 c9 fe 1e c2 22 55 3a 25 02 b7 ca b1 55 cd 27 55 c8 c3   ┆ U:Eq     T       "U:%    U 'U  ┆
0x046820…046840             f0 55 fe 1f c2 33 55 3a b7 03 e5 21 22 37 a6 e1 c3 ef 54 f5 cd 6e 0a d2 41 55 3a 25 02 b7 ca 63   ┆ U   3U:   !"7    T  n  AU:%   c┆
0x046840…046860             55 3e 5e cd ef 54 ca a1 55 f1 f5 c6 40 cd ef 54 ca a1 55 f1 f5 cd 6e 0a dc f0 55 cc f0 55 e4 f7   ┆U>^  T  U   @  T  U   n   U  U  ┆
0x046860…046880             55 f1 c9 f1 e5 21 95 03 be e1 ca 80 55 f5 cd b1 55 f1 e5 2a 45 71 23 23 22 45 71 e1 cd 54 55 c9   ┆U    !      U   U  *Eq##"Eq  TU ┆
0x046880…0468a0             3e 20 cc 38 1d fe 7f c2 8c 55 3e 7e 1d ca a2 55 e5 21 48 71 ae e1 77 23 3a 0a 71 b7 c4 bb 55 14   ┆>  8     U>ü   U !Hq  w#: q   U ┆
0x0468a0…0468c0             c9 f1 2a 43 71 22 45 71 2a 41 71 eb 2a 3f 71 bf c9 3a 0a 71 b7 c4 bb 55 f6 ff c9 af 32 0a 71 7a   ┆  *Cq"Eq*Aq *?q  : q   U    2 qz┆
0x0468c0…0468e0             32 25 71 e5 2a 45 71 7a cd 3f 17 22 26 71 e1 3a 48 71 32 28 71 c9 e5 21 21 37 ae e1 c5 e5 21 0a   ┆2%q *Eqz ? "&q :Hq2(q  !!7    ! ┆
0x0468e0…046900             71 46 36 00 e1 cd ef 54 4f 78 32 0a 71 79 c1 c8 e5 2a 45 71 c3 fc 55 e5 2a 45 71 2b 2b 22 45 71   ┆qF6    TOx2 qy   *Eq  U *Eq++"Eq┆
0x046900…046920             e1 c9 c5 d5 cd 9f 4d cd c7 4d f5 d4 22 56 f1 d1 c1 f5 cd 9a 4e f1 c9 c5 d5 cd b7 4d cd 38 56 d1   ┆      M  M  "V      N      M 8V ┆
0x046920…046940             c1 c9 11 00 00 78 b1 cc 55 56 d8 2b 7e 0b 13 e6 7f fe 0a c2 25 56 23 c9 11 00 00 78 b1 cc 55 56   ┆     x  UV +ü       %V#    x  UV┆
0x046940…046960             d8 2b 7e 0b 13 e6 7f 23 fe 0d c8 fe 0a c8 fe 0c c8 2b c3 3b 56 3e 08 ba d8 cd c7 4d d8 23 03 c9   ┆ +ü    #         + ;V>     M #  ┆
0x046960…046980             c5 01 31 71 cd 62 4e 7a 32 3a 71 3e 10 32 39 71 af 32 3e 71 cd 73 58 cd 2e 4d e5 cd 62 4d 32 3b   ┆  1q bNz2:q> 29q 2>q sX .M  bM2;┆
0x046980…0469a0             71 da 85 56 03 3e 20 32 47 71 21 00 00 22 45 71 55 3a 49 02 5f 2a 77 39 3a 3a 71 e6 04 c2 5d 57   ┆q  V > 2Gq!  "EqU:I _*w9::q   ÅW┆
0x0469a0…0469c0             c3 a9 56 cd ef 54 ca 42 57 3a 48 71 e5 21 0a 71 b6 e1 c2 02 57 3a 3c 71 b7 ca c0 56 bb da c1 56   ┆  V  T BW:Hq ! q    W:<q   V   V┆
0x0469c0…0469e0             7b 3d b9 da c7 56 79 b7 ca 02 57 eb e3 eb c5 4f 06 00 1a e6 7f fe 20 da e7 56 fe 7f ca e7 56 77   ┆æ=   Vy   W    O         V    Vw┆
0x0469e0…046a00             13 23 04 0d c2 d2 56 78 c1 eb e3 eb e5 67 7b 94 5f 7a 84 57 79 94 dc 38 00 4f 3a 3c 71 94 32 3c   ┆ #    Vx     gæ _z Wy  8 O:<q 2<┆
0x046a00…046a20 (18, 1, 11) 32 32 1e 71 f5 e5 6f 17 9f 67 29 29 01 1a 72 09 44 4d e1 f1 c9 e5 21 1a 72 cd 1b 17 09 cd d0 5b   ┆22 q  o  g))  r DM    ! r      Æ┆
0x046a20…046a40             7d e1 c9 3a 29 02 e6 fe ca 2d 5d 3e fe 21 23 37 86 46 4f 3a 77 38 b7 ca 3b 5d 0d 2a a4 38 7c b5   ┆å  :)    -Å> !#7 FO:w8  ;Å * 8ø ┆
0x046a40…046a60             ca 46 5d 01 fd 00 3a 01 38 87 81 87 21 b8 38 86 87 80 87 4f 21 5c 00 06 0b 23 7e fe 20 ca 61 5d   ┆ FÅ   : 8   ! 8    O!Ø   #ü   aÅ┆
0x046a60…046a80             0d 05 c2 59 5d 3a 49 02 81 fe 27 fa 77 5d cd 50 28 21 92 36 cd cc 28 cd 26 59 ca 9b 5d af cd 9b   ┆   YÅ:I   ' wÅ P(! 6  ( &Y  Å   ┆
0x046a80…046aa0             28 16 45 2a 04 71 23 06 01 cd 84 5e cd bb 28 18 45 2a 06 71 23 cd 84 5e c3 c4 5d af cd 9b 28 1a   ┆( E* q#    ^  ( E* q#  ^  Å   ( ┆
0x046aa0…046ac0             45 3a 95 71 5f 2a 93 71 cd 3c 4e 01 01 00 09 d2 b3 5d 1c cd 4e 5e cd bb 28 1c 45 2a 02 71 1e 00   ┆E: q_* q <N      Å  N^  ( E* q  ┆
0x046ac0…046ae0             23 cd 4e 5e cd bb 28 1e 45 2a 22 71 23 24 25 f2 da 5d cd 1b 17 3e 2d cd 5d 28 06 02 cd 84 5e 3a   ┆# N^  ( E*"q#$%  Å   >- Å(    ^:┆
0x046ae0…046b00             24 71 cd 5d 28 2a a4 38 7c b5 ca 06 5e 3e 2b cd 2a 28 cd c9 28 2a 77 39 eb 2a a8 38 cd 2c 17 65   ┆$q Å(* 8ø   ^>+ *(  (*w9 * 8 , e┆
0x046b00…046b20             2e 00 22 a6 38 c9 3a 23 37 f5 21 77 38 a6 cc 50 28 7e b7 ca 1d 5e 3e 1c cd 9b 28 20 45 3a 4d 71   ┆. " 8 :#7 !w8  P(ü   ^>   ( E:Mq┆
0x046b20…046b40             b7 ca 2b 5e 3e 1c cd 9b 28 24 45 f1 b7 ca 37 5e 3e 25 cd 9b 28 22 45 3a 29 02 fe 02 fa 4d 5e f5   ┆  +^>   ($E   7^>%  ("E:)    M^ ┆
0x046b40…046b60             3e 30 cd 9b 28 28 45 f1 f6 30 cd 5d 28 c9 f5 c5 d5 e5 16 00 cd 5a 5e c3 19 1e d5 01 ff ff 11 18   ┆>0  ((E  0 Å(        Z^         ┆
0x046b60…046b80             fc 03 19 da 61 5e e3 2b 7c e3 b7 f2 61 5e 11 e8 03 19 d1 78 b1 ca 84 5e e5 60 69 11 00 00 cd 5a   ┆    a^ +ø   a^     x   ^ `i    Z┆
0x046b80…046ba0             5e e1 06 03 d5 11 5d 28 cd 43 18 d1 c3 68 0b 3a a3 38 b7 c0 3a a1 38 57 1e 00 cd 4a 29 4f 2a 77   ┆^     Å( C   h : 8  : 8W   J)O*w┆
0x046ba0…046bc0             39 3a 49 02 3d 47 3a 26 02 b7 c2 ba 5e 3a 2b 02 b7 c8 3a 22 37 e6 bd c3 e9 5e d5 e5 cd ff 5e 7b   ┆9:I =G:&    ^:+   :"7    ^    ^æ┆
0x046bc0…046be0             21 24 37 be 7a d2 ca 5e e6 7f 21 22 37 a6 e1 77 d1 23 1c 0d ca e4 5e 05 c2 ba 5e 36 2b cd aa 2c   ┆!$7 z  ^  !"7  w #    ^   ^6+  ,┆
0x046be0…046c00             14 c3 9e 5e 3e 20 c3 eb 5e 77 23 05 c2 e9 5e 36 20 cd aa 2c 14 7a 32 a2 38 3e ff 32 a3 38 c9 7b   ┆   ^>   ^w#   ^6   , z2 8> 2 8 æ┆
0x046c00…046c20 (18, 1, 12) 12 65 d5 21 00 00 22 22 71 1e ff cd 6d 63 d1 7a b3 c8 3a 23 37 b7 c2 45 65 cd 54 4d e5 2a 22 71   ┆ e !  ""q   mc z  :#7  Ee TM *"q┆
0x046c20…046c40             eb cd ae 68 eb e1 d2 88 45 cd 62 4d da 42 65 2b cd 9a 17 ca 42 65 23 e5 21 22 71 cd 94 1d e1 c3   ┆   h    E bM Be+    Be# !"q     ┆
0x046c40…046c60             1c 65 cd 88 45 cd 4b 5c 3e 09 d5 cd e2 67 d1 3a 22 02 b7 3e 09 ca 7b 62 2a 22 71 eb cd ae 68 d2   ┆ e  E KØ>    g :"  >  æb*"q   h ┆
0x046c60…046c80             c4 62 3e 20 cd 6b 46 13 c3 5c 65 2a 22 71 0e 00 eb 13 3a 22 02 b7 c2 83 65 1b 7b f6 07 5f 13 af   ┆ b>  kF  Øe*"q    :"    e æ  _  ┆
0x046c80…046ca0             c3 a5 65 7a b7 ca 99 65 fa 71 65 cd 38 1d 11 00 00 0c 37 c8 0d 0d c3 72 65 7b fe ef d2 8b 65 cd   ┆  ez   e qe 8     7    reæ    e ┆
0x046ca0…046cc0             c7 65 ca 71 65 e6 06 32 4d 71 cd 21 33 c2 c2 65 2a 28 37 cd ae 68 d2 8b 65 2a 26 37 cd ae 68 da   ┆ e qe  2Mq !3  e*(7  h  e*&7  h ┆
0x046cc0…046ce0             71 65 0c 37 c8 b7 c9 e5 7b b7 1f f5 21 09 36 cd 3f 17 f1 7e da db 65 0f 0f 0f 0f e6 0f e1 c9 6f   ┆qe 7    æ   ! 6 ?  ü  e        o┆
0x046ce0…046d00             26 00 22 20 71 2a 2b 71 c5 d5 7e e6 02 ca f7 65 2b 2b 2b 2b c3 ea 65 7e e6 04 c4 de 60 c2 f7 65   ┆& " q*+q  ü    e++++  eü    `  e┆
0x046d00…046d20             22 2b 71 44 4d 23 af 96 cd de 60 86 5f cd 2e 4d cd 18 66 d1 c1 c3 88 45 e5 21 00 00 22 29 71 2a   ┆"+qDM#    ` _ .M  f    E !  ")q*┆
0x046d20…046d40             20 71 55 7c b5 e1 c2 2c 66 7b b7 c0 cd 62 4d d8 2b 1c 1d ca 59 66 1d cd 9a 17 c8 23 e5 21 29 71   ┆ qUø   ,fæ   bM +   Yf     # !)q┆
0x046d40…046d60             e6 7f cd 94 1d 23 3a 21 71 be fa 56 66 c2 25 66 2b 7a be d2 25 66 e1 2b c9 cd 88 45 c3 c4 4d 00   ┆     #:!q  Vf %f+z  %f +   E  M ┆
0x046d60…046d80             00 00 00 00 00 00 00 00 00 00 00 00 00 11 5e 66 cd d4 66 fe 03 dc e1 32 e5 7e ee 90 23 b6 23 b6   ┆              ^f  f    2 ü  # # ┆
0x046d80…046da0             23 b6 e1 ca df 66 36 90 cd 39 5c cd ca 66 cd 39 5c c5 d5 e5 cd a2 66 21 91 71 be 77 c4 19 33 c3   ┆#    f6  9Ø  f 9Ø     f! q w  3 ┆
0x046da0…046dc0             5b 1a 3a 21 37 b7 c8 01 c6 71 cd 52 4e 7a fe 90 3e 00 c0 01 c2 71 0a fe 90 3e 00 c0 cd 23 4e 3e   ┆Æ :!7    q RNz  >    q   >   #N>┆
0x046dc0…046de0             00 1f c9 36 10 c3 88 66 36 10 e5 23 af 77 23 77 23 77 e1 c9 cd 2c 17 7d 29 29 11 be 71 19 c9 7e   ┆   6   f6  # w#w#w   , å))  q  ü┆
0x046de0…046e00             e6 7f 77 c3 8e 66 7e e6 10 c8 7e f6 80 be 77 c4 8e 66 f6 80 c9 00 00 00 00 00 00 00 00 00 00 00   ┆  w  fü   ü   w  f              ┆
0x046e00…046e20 (18, 1, 13) 3e 00 c3 2d 4f 3c 3e 13 c4 a0 26 d5 2a 8b 39 eb 2a 89 39 cd 2c 17 d1 cd 68 17 d2 24 4f cd bd 4c   ┆>  -O<>   & * 9 * 9 ,   h  $O  L┆
0x046e20…046e40             d2 0b 4f eb 2a 8b 39 19 7a b3 37 3e ff 32 09 71 d1 c1 c3 38 1d 3a 48 02 21 86 45 be da 41 4f 7e   ┆  O * 9 z 7> 2 q   8 :H ! E  AOü┆
0x046e40…046e60             3d d6 01 32 6d 38 3d 32 70 38 f5 c6 05 be da 52 4f 7e 32 71 38 f1 3d 32 6f 38 cd 04 5d 60 69 22   ┆=  2m8=2p8     ROü2q8 =2o8  Å`i"┆
0x046e60…046e80             2d 71 11 0c 00 19 22 2f 71 cd a0 48 3e ff 32 ca 38 c3 a5 2f cd 69 50 2a 78 38 11 3a 02 cd 68 17   ┆-q    "/q  H> 2 8  / iP*x8 :  h ┆
0x046e80…046ea0             ca af 4f 3a 7f 38 b7 ca af 4f 21 80 38 7e 36 ff b7 cc 4d 50 cd 1f 31 cd 95 5f da ab 4f 3a 7e 38   ┆  O: 8   O! 8ü6   MP  1  _  O:ü8┆
0x046ea0…046ec0             2a 7c 38 eb 2a 78 38 37 c3 eb 4f af 32 7f 38 af 32 80 38 cd fd 4f cd 04 27 2a 79 06 11 0a 00 cd   ┆*ø8 *x87  O 2 8 2 8  O  '*y     ┆
0x046ec0…046ee0             33 30 d2 d3 4f 79 b7 c2 b6 4f 21 f7 61 78 fe 20 da b6 4f e5 2a 78 38 22 7a 38 e1 22 78 38 eb 22   ┆30  Oy   O! ax    O *x8"z8 "x8 "┆
0x046ee0…046f00             7c 38 eb 79 32 83 38 78 32 82 38 f5 e5 3a 73 38 21 7f 38 b6 c2 fa 4f 32 72 38 c3 fb 2f 01 a2 71   ┆ø8 y2 8x2 8  :s8! 8   O2r8  /  q┆
0x046f00…046f20             c5 cd 52 4e 01 ca 71 cd 62 4e e1 c3 c8 66 3a 18 37 fe 02 da 44 50 cd 87 27 cd 33 25 c0 3a 99 38   ┆  RN  q bN   f: 7   DP  ' 3% : 8┆
0x046f20…046f40             f5 3e 09 cd b0 32 cd a0 32 f1 32 99 38 cd 49 0b c0 cd 08 25 cd 70 32 cd 40 1e cd b3 24 3a 99 38   ┆ >   2  2 2 8 I    % p2 @   $: 8┆
0x046f40…046f60             32 9b 38 c9 af 32 99 38 af 32 94 38 c9 3a 18 37 b7 c8 cd 40 21 cd ba 24 01 3a c9 cd c4 4d e6 7f   ┆2 8  2 8 2 8 : 7   @!  $ :   M  ┆
0x046f60…046f80             fe 0d c0 cd 5f 4d cd 88 45 cd 5f 4d cd a0 17 ca 5b 50 cd 79 50 da 66 50 c9 e6 7f fe 1f c8 e5 21   ┆    _M  E _M    ÆP yP fP       !┆
0x046f80…046fa0             95 03 be e1 c8 fe 1e 11 25 02 ca 96 50 fe 20 dc 6e 0a d0 11 25 02 1a b7 c0 37 c9 cd 69 50 21 84   ┆        %   P   n   %    7  iP! ┆
0x046fa0…046fc0             38 7e 36 00 b7 ca 31 51 cd 57 52 da cc 50 60 69 2b 7e 2b b6 2b b6 2b c2 bc 50 36 00 21 02 00 09   ┆8ü6   1Q WR  P`i+ü+ + +  P6 !   ┆
0x046fc0…046fe0             5e 23 56 13 13 7b e6 fc b2 ca fd 50 cd f2 5c 1f 1f e6 3f 47 cd f5 32 80 47 3a 6d 38 1f e6 7f fe   ┆^#V  æ     P  Ø   ?G  2 G:m8    ┆
0x046fe0…047000             0e da e6 50 3e 0e b8 d2 eb 50 78 3d cd 01 5d af 02 cd 40 54 11 00 10 63 6b cd 62 4e 37 f5 3e 7e   ┆   P>    Px=  Å   @T   ck bN7 >ü┆
0x047000…047020 (18, 1, 14) 71 e1 22 3f 71 eb 22 41 71 eb 2a 45 71 22 43 71 2a 3f 71 e5 21 3c 71 35 e1 ca 24 58 e3 cd 62 4d   ┆q "?q "Aq *Eq"Cq*?q !<q5  $X  bM┆
0x047020…047040             e3 da 53 57 fe 8d ca b1 57 fe 0d ca ab 57 fe 8a ca 7b 57 e6 7f fe 0c ca 96 57 fe 0a c2 a3 56 c3   ┆  SW    W    W   æW      W    V ┆
0x047040…047060             8d 57 e3 2b e3 af 32 0a 71 3a ae 03 cd 6d 57 20 c3 db 57 3a ac 03 cd 6d 57 02 c3 db 57 3a ad 03   ┆ W +  2 q:   mW   W:   mW   W:  ┆
0x047060…047080             cd 66 57 c3 db 57 fe 20 c8 32 47 71 c9 cd 66 57 e3 3a 39 71 b6 32 39 71 23 e3 c9 cd 26 59 ca 8d   ┆ fW  W   2Gq  fW :9q 29q#   &Y  ┆
0x047080…0470a0             57 3a b1 03 cd 66 57 3a b8 03 c3 dd 57 3a b0 03 cd 66 57 c3 db 57 cd 26 59 3e 0c ca a3 56 cd ef   ┆W:   fW:    W:   fW  W &Y>   V  ┆
0x0470a0…0470c0             54 ca 42 57 cd 70 57 20 c3 81 57 3a b3 03 c3 b4 57 3a b2 03 cd 66 57 e3 cd 62 4d da d1 57 fe 0a   ┆T BW pW   W:    W:   fW  bM  W  ┆
0x0470c0…0470e0             ca da 57 fe 8a c2 d2 57 cd 26 59 ca da 57 c3 d9 57 23 3a af 03 cd 6d 57 40 2b e3 3e 20 4f cd b1   ┆  W    W &Y  W  W#:   mW@+ > O  ┆
0x0470e0…047100             55 e5 2a 45 71 7a cd 3f 17 22 45 71 e1 e3 c5 01 35 71 3a 39 71 cd 8f 4e c1 e3 af 77 cc fc 58 c2   ┆U *Eqz ? "Eq    5q:9q  N   w  X ┆
0x047100…047120             05 58 cd 30 59 3a 48 71 47 b1 c3 0f 58 77 23 1d c2 0d 58 3a 47 71 b0 77 cd 49 0b e1 01 35 71 cd   ┆ X 0Y:HqG   Xw#   X:Gq w I   5q ┆
0x047120…047140             52 4e c1 c9 3a 3d 71 3c 32 3e 71 3d b7 ca 64 58 fe 10 f2 64 58 e5 fe 03 f2 43 58 21 91 71 34 35   ┆RN  :=q<2>q=  dX   dX    CX! q45┆
0x047140…047160             c2 63 58 21 b8 03 cd 3f 17 7e b7 ca 63 58 3e 3c e3 cd d6 55 e3 7e e1 c4 d6 55 3e 3e c4 d6 55 ca   ┆ cX!   ? ü  cX><   U ü   U>>  U ┆
0x047160…047180             49 57 e5 e1 e3 d5 e5 cd 9a 4e cd 73 58 e1 d1 e3 c3 13 57 c5 d5 e5 af 32 3d 71 3d 32 3c 71 3a 3a   ┆IW       N sX     W    2=q=2<q::┆
0x047180…0471a0             71 e6 02 c2 9e 58 16 01 01 c2 71 0a e6 90 fe 90 cc ce 58 03 03 03 03 14 7a fe 10 fa 8b 58 3a 91   ┆q    X    q       X     z    X: ┆
0x0471a0…0471c0             71 b7 ca c3 58 3a 3a 71 e6 04 01 c2 71 cc 23 4e ca c0 58 3f 01 c6 71 d4 23 4e ca c3 58 da c3 58   ┆q   X::q    q #N  X?  q #N  X  X┆
0x0471c0…0471e0             3e 80 fe af 32 48 71 21 3c 71 34 c3 5b 1a c5 d5 e5 cd d7 58 c3 5b 1a 03 0a 95 6f 03 0a 9c c0 03   ┆>   2Hq!<q4 Æ      X Æ    o     ┆
0x0471e0…047200             0a 9b c0 7d 21 3c 71 be d0 b7 c2 f4 58 7a 21 3e 71 be d8 af 32 3c 71 7a 32 3d 71 c9 3a 96 03 2f   ┆   å!<q     Xz!>q   2<qz2=q :  /┆
0x047200…047220 (18, 1, 15) 16 ad 21 26 37 be da 26 5f c2 0e 5f 16 cc 3c 21 28 37 be da 1b 5f c2 26 5f 16 d2 cd 37 5f c8 16   ┆  !&7  &_  _  <!(7   _ &_   7_  ┆
0x047220…047240             a1 3d c8 16 a3 c9 16 20 cd 21 33 c4 37 5f c8 cd 1f 5f 7a ee 80 57 c9 7b b7 1f f5 21 09 36 cd 3f   ┆ =       !3 7_   _z  W æ   ! 6 ?┆
0x047240…047260             17 f1 7e da 4a 5f 0f 0f 0f 0f e6 0f c9 03 03 03 06 03 09 03 0c 04 00 04 03 04 06 04 09 04 0c 06   ┆  ü J_                          ┆
0x047260…047280             00 06 03 06 06 04 0f 07 00 07 03 07 06 07 09 07 0c 07 0f 07 12 07 15 07 18 07 1b 07 1e 07 21 07   ┆                              ! ┆
0x047280…0472a0             24 07 27 07 2a 07 2d 11 00 11 03 11 06 11 0c 11 0f 11 12 11 15 3a 81 38 c6 07 67 44 4c 54 1e 04   ┆$ ' * -              : 8  gDLT  ┆
0x0472a0…0472c0             cd 7b 1c ca be 5f cd 2c 27 cd b1 1b cd c6 17 3f d8 21 ac 5f cd 3f 17 7e 67 d6 07 32 81 38 3a 00   ┆ æ   _ ,'      ? ! _ ? üg  2 8: ┆
0x0472c0…0472e0             38 b7 ca cb 5f cd 6e 0b c3 d3 5f 1d c2 a0 5f 15 c2 9e 5f 0d c2 9d 5f 05 c2 9c 5f c9 22 01 05 07   ┆8   _ n   _   _   _   _   _ "   ┆
0x0472e0…047300             09 0c 0f 13 17 1c 21 86 38 35 cd 5f 4d c3 88 45 cd c4 4d cd fc 5f c3 88 45 cd c7 4d cd a0 17 ca   ┆      ! 85 _M  E  M  _  E  M    ┆
0x047300…047320             0d 60 cd 79 50 da f9 5f c9 cd a0 17 c0 cd c7 4d d8 e6 7f fe 0d c8 23 c9 21 88 45 e5 cd c4 4d cd   ┆ ` yP  _       M      # ! E   M ┆
0x047320…047340             fc 5f 23 03 cd c7 4d d8 cd a6 17 ca 24 60 e6 7f fe 0a ca 09 60 cd 87 17 c8 c3 46 60 cd c7 4d d8   ┆ _#   M     $`      `     F`  M ┆
0x047340…047360             cd b2 17 23 c8 2b cd 90 17 c2 3c 60 23 c9 21 86 38 35 cd 54 4d cd 67 60 cd 89 60 c3 88 45 3a 49   ┆   # +    <`# ! 85 TM g`  `  E:I┆
0x047360…047380             02 3d fe af c3 df 65 cd 62 4d d8 e6 7f fe 0d ca 8f 61 cd 87 17 c8 2b 03 cd 62 4d d8 cd b2 17 c8   ┆ =    e bM       a    +  bM     ┆
0x047380…0473a0             cd 90 17 c2 78 60 2b 03 c9 cd 62 4d d8 cd a6 17 ca 89 60 2b 03 c9 cd a4 60 3a 69 38 21 6f 38 be   ┆    x`+   bM      `+    `:i8!o8 ┆
0x0473a0…0473c0             f2 0d 61 c9 cd db 60 7e e6 02 c2 fb 60 c3 e8 65 2a 2b 71 11 fc ff 19 7e e6 04 c2 fb 60 cd e8 65   ┆  a   `ü    `  e*+q    ü    `  e┆
0x0473c0…0473e0             cd e3 60 f2 cf 60 fc 65 61 cd db 60 22 2b 71 cd 5f 4d fe 8a c0 cd 8b 52 c3 b0 60 2a 2b 71 23 23   ┆  `  ` ea  `"+q _M     R  `*+q##┆
0x0473e0…047400             23 23 c9 3a 69 38 3d c3 e8 5c cd f5 32 cd 04 5d 60 69 c3 e8 65 2a 2d 71 c3 e8 65 21 00 00 22 7f   ┆## :i8=  Ø  2  Å`i  e*-q  e!  " ┆
0x047400…047420 (19, 0, 1)  00 00 00 11 f4 66 cd d4 66 cd e6 66 3e 05 cc 81 26 3e ff cd 19 33 fe af c5 d5 e5 57 44 4d cd 50   ┆     f  f  f>   &>   3     WDM P┆
0x047420…047440             67 ca 5b 1a 7a b7 c4 2c 27 cd 88 45 af 32 b3 38 c3 1e 67 21 92 71 c3 11 67 cd 5f 4d d8 cd 2c 27   ┆g Æ z  ,'  E 2 8  g! q  g _M  ,'┆
0x047440…047460             cd 19 33 21 00 08 5d cd cd 4e cd 88 45 c3 39 67 d5 cd 49 0b cd 52 4e 7b b4 b5 ca 87 67 7b b7 fa   ┆  3!  Å  N  E 9g  I  RNæ    gæ  ┆
0x047460…047480             73 67 c2 6b 67 7c fe 08 da 82 67 1e 00 21 00 08 c3 82 67 3c c2 7d 67 7c fe f9 d2 82 67 1e ff 21   ┆sg kgø    g  !    g< ågø    g  !┆
0x047480…0474a0             00 f8 cd cd 4e f6 01 d1 c9 cd 11 28 c3 4f 68 cd 38 1d 21 b2 71 cd c8 66 cd 17 56 cd 38 1d cd 88   ┆    N      ( Oh 8 ! q  f  V 8   ┆
0x0474a0…0474c0             45 cd 4b 5c 21 00 00 22 50 71 c3 38 1d 3a 51 71 b7 fa 62 4d 3a 50 71 fe f3 da 62 4d 37 c9 e6 7f   ┆E KØ!  "Pq 8 :Qq  bM:Pq   bM7   ┆
0x0474c0…0474e0             e5 21 50 71 cd 94 1d e1 c9 3a 96 03 b7 c8 2a 2b 71 7e e6 6e c0 44 4d cd c4 4e 7e cd 5f 25 37 c8   ┆ !Pq     :    *+qü n DM  Nü _%7 ┆
0x0474e0…047500             af c9 cd 87 17 c8 ee 09 4f ee 09 2a 22 71 eb 21 94 03 ae b2 b3 c8 cd 21 33 c0 2a 24 37 cd 2c 17   ┆        O  *"q !       !3 *$7 , ┆
0x047500…047520             45 2b 24 25 f8 c5 7a b3 c4 c9 67 c1 d8 cd a9 64 2a 24 37 22 22 71 cd 38 1d 3e a0 cd 6b 46 0c 0d   ┆E+$%  z   g    d*$7""q 8 >  kF  ┆
0x047520…047540             37 3e 20 c4 6a 1d d4 6d 1f 05 c2 16 68 c9 4f cd ac 17 c4 9d 17 c8 cd 21 33 c0 21 22 71 79 cd 94   ┆7>  j  m    h O        !3 !"qy  ┆
0x047540…047560             1d cd a4 68 d0 cd c9 67 d8 3e ff 32 4a 71 fe af 32 4f 71 cd ba 68 da 8f 68 cd 00 69 cd 4b 5c da   ┆   h   g > 2Jq  2Oq  h  h  i KØ ┆
0x047560…047580             8f 68 2a 5b 71 eb 2a 28 37 cd 2c 17 22 5e 71 2b 7c b7 fa 83 68 cd cc 6b d8 3a 21 02 b7 c4 06 6b   ┆ h*Æq *(7 , "^q+ø   h  k :!    k┆
0x047580…0475a0             cd 4b 5c cd 37 63 cd 3d 6a cd 4b 5c d2 59 68 cd 38 1d cd 88 45 af 32 96 38 c9 2a 22 71 eb 2a 24   ┆ KØ 7c =j KØ Yh 8   E 2 8 *"q *$┆
0x0475a0…0475c0             37 c3 ae 68 2a 28 37 eb 2a 22 71 c3 ae 68 7a 94 ca b7 68 37 f8 3f c9 7b 95 c9 cd 8f 67 cd 54 4d   ┆7  h*(7 *"q  hz   h7 ? æ    g TM┆
0x0475c0…0475e0             e5 2a 50 71 cd 9d 68 e1 d0 cd 62 4d d8 cd 87 17 37 c8 fe a0 ca e3 68 2b cd 9c 6a da e9 68 7e e6   ┆ *Pq  h   bM    7     h+  j  hü ┆
0x0475e0…047600             7f 77 23 cd be 67 c3 c0 68 cd 88 45 2a 50 71 eb 2a 24 37 22 50 71 cd 2c 17 45 cd 9e 6b c3 54 4d   ┆ w#  g  h  E*Pq *$7"Pq , E  k TM┆
0x047600…047620 (19, 0, 2)  9a 09 05 14 00 00 00 00 d9 44 00 00 00 c9 c3 12 3e c9 3a 86 07 b7 c4 97 43 21 6a 3c 11 9c 3c cd   ┆         D      > :     C!j<  < ┆
0x047620…047640             c8 40 21 22 3e e5 af 32 58 3c cd 49 13 cd 7a 3f 2a 9d 3d cd 53 3e c2 c3 3e 36 00 23 22 9d 3d 21   ┆ @!">  2X< I  z?* = S>  >6 #" =!┆
0x047640…047660             26 3e e5 d5 21 55 3c 34 35 c8 35 f5 cd 59 3f f1 c3 44 3e cd 93 3e 11 a8 3e c8 11 45 3f fe 0d c8   ┆&>  !U<45 5  Y?  D>  >  >  E?   ┆
0x047660…047680             11 2f 43 fe 0a c8 11 2f 43 fe 0c c8 11 60 3f fe 1f c8 11 89 3f fe 1a c8 11 21 42 fe 0b c8 11 54   ┆ /C    /C    `?     ?    !B    T┆
0x047680…0476a0             3f fe 09 ca 89 3e fe 1e c0 36 00 23 cd b5 3e d6 20 bf c9 cd af 3e fe 0d c0 e5 23 cd af 3e fe 0a   ┆?    >   6 #  >      >    #  >  ┆
0x0476a0…0476c0             c2 a5 3e c1 c9 e1 7e c9 af 02 21 55 3c 34 c9 cd b5 3e e6 7f c9 7e 3c cc 4e 13 7e b7 c0 cd 31 13   ┆  >   ü   !U<4   >   ü< N ü   1 ┆
0x0476c0…0476e0             c3 ba 3e 21 55 3c 7e fe 02 f4 58 3f 7e 36 00 32 56 3c cd 14 3f af 32 b3 3c 2a b0 3c cd 93 3e c2   ┆  >!U<ü   X?ü6 2V<  ? 2 <* <  > ┆
0x0476e0…047700             f3 3e 23 e5 21 b3 3c 34 34 cd aa 3e 7e e1 fe 02 fa dc 3e 22 9d 3d cd 99 3f 2a ae 3c 3a b2 3c cd   ┆ ># ! <44  >ü     >" =  ?* <: < ┆
0x047700…047720             05 3f 3a b3 3c 4f 0c 0d c8 7e 3c cc 4e 13 36 00 23 c3 07 3f 21 00 00 39 11 20 00 42 4b cd 2c 17   ┆ ?: <O   ü< N 6 #  ?!  9   BK , ┆
0x047720…047740             f9 eb 21 6a 3c d5 e5 c5 cd c2 16 21 9c 3c 11 8a 3c cd c8 40 2a 9d 3d 22 ae 3c cd 23 40 c1 d1 e1   ┆  !j<      ! <  <  @* =" < #@   ┆
0x047740…047760             cd c2 16 f9 c9 d5 11 a1 06 af 32 85 3c 32 80 3c cd c8 44 d1 c9 7e b7 c8 35 d5 11 96 06 c3 49 3f   ┆          2 <2 <  D  ü  5     I?┆
0x047760…047780             cd 0d 07 11 e7 06 c3 c8 44 f6 ff cd 31 13 01 00 04 cd 49 13 0b 78 b1 c2 71 3f 21 4f 3c 7e 36 00   ┆        D   1     I  x  q?!O<ü6 ┆
0x047780…0477a0             b7 fa 69 3f 3a 50 3c b7 c8 11 f8 06 cd c8 44 cd 10 07 af 32 02 38 c3 31 13 af 32 58 3c 3a b9 3c   ┆  i?:P<       D    2 8 1  2X<: <┆
0x0477a0…0477c0             e6 01 47 0e 02 3a ba 3c e6 04 57 2a 55 3c 3a e9 3c b7 ca e5 3f fa bb 3f 21 00 00 7d fe 02 fc 1d   ┆  G  : <  W*U<: <   ?  ?!  å    ┆
0x0477c0…0477e0             40 cd 14 40 78 cd d8 3f 21 56 3c 79 cd d3 3f 21 55 3c 7a f5 cd 55 3f f1 b7 c8 32 57 3c c5 d5 cd   ┆@  @x  ?!V<y  ?!U<z  U?   2W<   ┆
0x0477e0…047800             29 40 d1 c1 c9 7d b7 cc 1d 40 cd 14 40 7c b7 f5 c4 0d 40 78 cd d8 3f f1 c4 0d 40 79 cd d8 3f 7a   ┆)@   å   @  @ø    @x  ?   @y  ?z┆
0x047800…047820 (19, 0, 3)  76 3c 2a 9d 3d cd 0c 40 ca 4e 3f fe 03 ca 4e 3f fe 06 ca 4e 3f fe 07 ca 4e 3f fe 11 ca 4e 3f fe   ┆v<* =  @ N?   N?   N?   N?   N? ┆
0x047820…047840             17 ca 4e 3f fe 05 ca 4e 3f fe 12 ca 4e 3f fe 21 d2 4e 3f 46 36 00 23 cd 23 40 c2 47 3f cd a8 3e   ┆  N?   N?   N? ! N?F6 # #@ G?  >┆
0x047840…047860             7e 36 00 23 d6 20 4f 78 cd fc 40 c3 05 3f 22 ae 3c 21 6a 3c 11 8a 3c 01 12 00 cd c2 16 21 c4 3c   ┆ü6 #  Ox  @  ?" <!j<  <      ! <┆
0x047860…047880             01 22 00 cd 08 17 af 32 c3 3c 3a 54 3c b7 cc 3b 41 cd b7 3f cd 7b 15 c1 d1 e1 cd c2 16 f9 c9 32   ┆ "     2 <:T<  ;A  ? æ         2┆
0x047880…0478a0             53 3c c9 32 54 3c c9 cd dc 43 f6 ff cd 31 13 01 00 04 cd 49 13 0b 78 b1 c2 92 3f 21 4f 3c 7e 36   ┆S< 2T<   C   1     I  x   ?!O<ü6┆
0x0478a0…0478c0             00 b7 fa 87 3f 3a 50 3c b7 c8 cd b1 43 cd 10 07 af 32 02 38 c3 31 13 3e ff fe af 32 58 3c af 32   ┆    ?:P<    C    2 8 1 >   2X< 2┆
0x0478c0…0478e0             d2 3c 3a c3 3c 21 58 3c b6 c2 f0 3f 2a 7a 3c eb 2a 81 3c cd 2c 17 eb 2a ac 3c 19 cd 18 17 e5 2a   ┆ <: <!X<   ?*z< * < ,  * <     *┆
0x0478e0…047900             9a 3c 19 cd 18 17 d1 cd 68 17 d2 f0 3f f6 ff fe af 32 c2 3c f5 cc 5e 40 f1 c4 af 40 cd 7b 1c c4   ┆ <      h   ?    2 <  ^@   @ æ  ┆
0x047900…047920             49 13 c9 11 6a 3c 01 10 00 c3 c2 16 cd a8 3e e6 7f fe 0d c8 fe 0a c8 fe 0c c8 fe 1a c8 fe 1f c8   ┆I   j<        >                 ┆
0x047920…047940             c3 2e 40 e6 7f fe 1c c8 fe 15 c8 fe 1d c8 fe 1b c8 fe 09 c8 fe 1e c9 2b 7e 3c c2 42 40 2a a1 3d   ┆ .@                    +ü< B@* =┆
0x047940…047960             2b 2b 7e c9 11 6f 3c 19 1a be 3e 14 cd 56 40 3e 16 cd 56 40 3e 19 c4 fc 40 23 13 1a be c9 2a 9a   ┆++ü  o<   >  V@>  V@>   @#    * ┆
0x047960…047980             3c cd 7f 43 21 20 00 cd 44 40 21 8a 3c cd 03 40 2a ae 3c 1e 00 cd 0c 40 ca 94 40 46 23 cd 23 40   ┆<  C!   D@! <  @* <    @  @F# #@┆
0x047980…0479a0             c2 89 40 cd 9b 3e 4f 23 1c 78 cd fc 40 1c 7b fe fe da 75 40 3e 20 cd fc 40 22 b0 3c 22 9d 3d 7b   ┆  @  >O# x  @ æ   u@>   @" <" =æ┆
0x0479a0…0479c0             32 b2 3c 21 6a 3c 11 9c 3c 01 12 00 c3 c2 16 3a c7 3c 32 c6 3c 21 32 00 cd 44 40 21 9c 3c cd 03   ┆2 <!j<  <      : <2 <!2  D@! <  ┆
0x0479c0…0479e0             40 2a ac 3c cd 7f 43 2a b0 3c 3a b2 3c 5f cd 37 40 47 7b b7 ca f6 40 48 cd 37 40 47 cd 23 40 79   ┆@* <  C* <: <_ 7@Gæ   @H 7@G #@y┆
0x0479e0…047a00             c2 ef 40 1d ca f0 40 d6 20 4f cd 37 40 78 46 1d cd fc 40 c3 d2 40 2a ac 3c c3 7f 43 c5 d5 e5 11   ┆  @   @  O 7@xF   @  @* <  C    ┆
0x047a00…047a20 (19, 0, 4)  2a 9a 3c cd 5c 43 21 20 00 cd e6 40 21 8a 3c cd a5 40 2a ae 3c 1e 00 cd ae 40 ca 39 41 46 23 cd   ┆* < ØC!    @! <  @* <    @ 9AF# ┆
0x047a20…047a40             c5 40 c2 2e 41 cd 4a 3f 7e d6 20 4f 23 1c 78 cd a1 41 1c 7b fe fe da 17 41 3e 20 cd a1 41 22 b0   ┆ @ .A J?ü  O# x  A æ    A>   A" ┆
0x047a40…047a60             3c 22 9d 3d 7b 32 b2 3c 21 6a 3c 11 9c 3c 01 12 00 c3 c2 16 3a c7 3c 32 c6 3c 21 32 00 cd e6 40   ┆<" =æ2 <!j<  <      : <2 <!2   @┆
0x047a60…047a80             21 9c 3c cd a5 40 2a ac 3c cd 5c 43 2a b0 3c 3a b2 3c 5f cd d9 40 47 7b b7 ca 9b 41 48 cd d9 40   ┆! <  @* < ØC* <: <_  @Gæ   AH  @┆
0x047a80…047aa0             47 cd c5 40 79 c2 94 41 1d ca 95 41 d6 20 4f cd d9 40 78 46 1d cd a1 41 c3 77 41 2a ac 3c c3 5c   ┆G  @y  A   A  O  @xF   A wA* < Ø┆
0x047aa0…047ac0             43 c5 d5 e5 11 5b 1a d5 32 bf 3c 57 e6 7f 47 fe 20 d2 99 42 fe 07 ca 99 42 fe 06 ca 99 42 14 15   ┆C    Æ  2 <W  G    B    B    B  ┆
0x047ac0…047ae0             f2 c6 41 32 d2 3c 11 72 3c fe 15 ca de 41 11 74 3c fe 1d ca de 41 11 73 3c fe 1c c2 e6 41 eb 71   ┆  A2 < r<    A t<    A s<    A q┆
0x047ae0…047b00             3e ff 32 c3 3c c9 11 c9 06 fe 11 ca 06 42 11 ce 06 fe 17 ca 06 42 11 d3 06 fe 05 ca 06 42 11 d8   ┆> 2 <        B       B       B  ┆
0x047b00…047b20             06 fe 12 c2 3e 42 cd e9 43 cd e0 41 3a 58 3c b7 f8 1a 3d cc 24 42 3c 3c 3d c8 f5 13 1a cd 96 44   ┆    >B  C  A:X<   = $B<<=      D┆
0x047b20…047b40             f1 c3 18 42 f5 13 1a 1b fe 0e ca 39 42 fe 0f c2 7c 17 af 32 75 3c f1 f1 c9 3e 80 c3 33 42 fe 03   ┆   B       9B   ø  2u<   >  3B  ┆
0x047b40…047b60             c2 4e 42 cd e0 41 3a 58 3c b7 f8 c3 29 40 11 93 42 21 6a 3c 1a b8 ca 31 43 23 13 3c c2 54 42 78   ┆ NB  A:X<   )@  B!j<   1C# < TBx┆
0x047b60…047b80             fe 08 ca 1e 43 01 67 43 11 6a 43 21 70 3c fe 16 ca 34 43 d5 50 59 c1 2b fe 14 ca 34 43 fe 19 ca   ┆    C gC jC!p<   4C PY +   4C   ┆
0x047b80…047ba0             f4 42 fe 0b c2 92 42 3a 58 3c b7 f8 cd e9 43 c3 3d 40 ff 02 04 13 18 10 ff c5 cd 53 13 c1 48 cd   ┆ B    B:X<    C =@         S  H ┆
0x047ba0…047bc0             bf 42 3a 6a 3c b7 c8 78 fe 20 c8 3a 91 06 3d c8 f5 2a ea 3c eb cd 3e 43 cd bf 42 f1 c3 ae 42 51   ┆ B:j<  x   :  =  * <  >C  B   BQ┆
0x047bc0…047be0             3a 58 3c b7 f8 cd da 42 3a 6b 3c b7 c8 3a 92 06 3d c8 f5 cd da 42 f1 c3 d0 42 7a cd f4 42 7a fe   ┆:X<    B:k<  :  =    B   Bz  Bz ┆
0x047be0…047c00             20 c8 3a 6c 3c b7 3a 0c 07 c4 f4 42 3a 6d 3c b7 3a 0b 07 c8 c5 d5 e5 21 5b 1a e5 fe 20 c8 d2 5a   ┆  :l< :    B:m< :      !Æ      Z┆
0x047c00…047c20 (19, 0, 5)  c5 e5 cd 38 1d 01 b6 71 3e 10 cd 8f 4e 21 52 71 01 08 00 cd 08 17 e1 c1 16 20 cd 5a 69 d8 ca 1a   ┆   8   q>   N!Rq           Zi   ┆
0x047c20…047c40             69 3e 0a 32 5a 71 3a 56 71 b7 c0 e5 3a 59 71 b7 ca 39 69 21 03 3a 22 07 38 e1 cd 5a 69 d8 e5 21   ┆i> 2Zq:Vq   :Yq  9i! :" 8  Zi  !┆
0x047c40…047c60             5a 71 35 e1 c2 26 69 2a 57 71 22 5b 71 2a be 71 22 ba 71 2a c0 71 22 bc 71 c9 cd 97 6a d8 cd ae   ┆Zq5  &i*Wq"Æq* q" q* q" q   j   ┆
0x047c60…047c80             6a d8 fe 0d c2 6c 69 cd 8f 61 37 c9 e6 7f cd 87 17 37 c8 fe 1f c2 7a 69 3e 1e 2b 77 23 f5 5f cd   ┆j    li  a7      7    zi> +w# _ ┆
0x047c80…047ca0             c1 69 f1 57 e5 2a 50 71 e5 cd be 67 d5 2a 28 37 eb 2a 50 71 fe 1e c2 9a 69 23 cd ae 68 d1 d2 ba   ┆ i W *Pq   g *(7 *Pq    i#  h   ┆
0x047ca0…047cc0             69 3a 57 71 b7 c2 ba 69 e1 22 57 71 e1 e5 2b c5 01 be 71 3e 10 cd 8f 4e c1 e5 e1 e1 3a 57 71 b7   ┆i:Wq   i "Wq  +   q>   N    :Wq ┆
0x047cc0…047ce0             c9 7b cd 00 6b ca d8 69 7a cd 00 6b 3e 00 ca e3 69 7b cd ac 17 ca dc 69 32 59 71 c9 7a cd ac 17   ┆ æ  k  iz  k>   iæ     i2Yq z   ┆
0x047ce0…047d00             c8 3e 01 c5 e5 47 cd 38 1d 21 52 71 7e 70 23 86 77 7a cd b4 17 78 ca fa 69 af 4f 23 7e 71 23 86   ┆ >   G 8 !Rqüp# wz   x  i O#üq# ┆
0x047d00…047d20             77 7a 32 5d 71 2a 50 71 fe 1e c2 0e 6a 23 22 5b 71 21 56 71 34 e1 e5 2b 78 f5 01 ba 71 3e 10 cd   ┆wz2Åq*Pq    j#"Æq!Vq4  +x   q>  ┆
0x047d20…047d40             8f 4e f1 3d c2 38 6a 3a 09 71 f5 cd 9f 4d cd c7 4d f6 80 77 f1 32 09 71 e1 c1 c3 38 1d 01 ba 71   ┆ N = 8j: q   M  M  w 2 q   8   q┆
0x047d40…047d60             c5 cd 9f 4d cd c7 4d 57 fe 1e c2 4f 6a 36 1f c1 cd 2e 4d 1e 32 cd 97 6a d8 1d ca 6e 6a cd ae 6a   ┆   M  MW   Oj6   .M 2  j   nj  j┆
0x047d60…047d80             d8 57 cd ac 17 ca 55 6a cd 87 17 37 c8 2b cd 88 45 3a 29 02 3d 5f cd 38 1d 3e 8d cd 6b 46 3e 0a   ┆ W    Uj   7 +  E:) =_ 8 >  kF> ┆
0x047d80…047da0             cd 6b 46 1d f2 76 6a cd 2c 27 2a 24 37 22 50 71 45 cd 9e 6b c3 54 4d 3a 4f 71 b7 c8 c5 d5 e5 cd   ┆ kF  vj ,'*$7"PqE  k TM:Oq      ┆
0x047da0…047dc0             9a 4e 01 b2 71 cd 23 4e e1 d1 c1 c0 37 c9 cd 62 4d d8 fe 8d ca be 6a fe a0 ca be 6a b7 c9 2b cd   ┆ N  q #N    7  bM     j    j  + ┆
0x047dc0…047de0             88 45 cd 54 4d cd 62 4d da e2 6a fe a0 ca c5 6a fe 8d cc 4b 5c c2 de 6a cd 8f 61 c3 c5 6a 2b cd   ┆ E TM bM  j    j   KØ  j  a  j+ ┆
0x047de0…047e00             e8 6a cd de 45 c3 5f 4d cd 96 17 c8 e6 7f fe 0c c8 7a e6 7f cd 00 6b c8 cd ac 17 c8 2b 36 20 c9   ┆ j  E _M         z    k     +6  ┆
0x047e00…047e20 (19, 0, 6)  b7 c8 21 55 3c 35 cd 0d 40 7a cd d8 3f d5 11 a8 06 c3 49 3f 7c b7 c0 78 b1 4f 06 00 c9 7a b1 4f   ┆  !U<5  @z  ?     I?ø  x O   z O┆
0x047e20…047e40             16 00 c9 3e ff 32 57 3c fe af 32 58 3c cd 4b 40 3a b4 3c cd 3f 40 3c 21 91 06 be da 2a 40 c9 b7   ┆   > 2W<  2X< K@: < ?@<!    *@  ┆
0x047e40…047e60             ca 48 40 3a 58 3c b7 f0 33 33 c9 af 32 59 3c cd 64 40 3a b5 3c cd 3f 40 3a 59 3c 3c 21 92 06 be   ┆ H@:X<  33  2Y< d@: < ?@:Y<<!   ┆
0x047e60…047e80             da 4c 40 c9 f6 ff 32 5a 3c cd 7a 40 cd 43 40 3a b6 3c b7 cd 7a 40 3a b7 3c b7 f5 21 5a 3c 34 f1   ┆ L@   2Z< z@ C@: <  z@: <  !Z<4 ┆
0x047e80…047ea0             c8 3e ff 3c 32 5b 3c cd 9a 40 3a 5a 3c b7 c0 3a 5b 3c 21 69 3c be da 83 40 c9 01 0e 00 21 5c 3c   ┆ > <2Æ<  @:Z<  :Æ<!i<   @    !Ø<┆
0x047ea0…047ec0             cd 08 17 cd 1e 41 cd 7b 1c c4 49 13 3a e8 3c 21 58 3c b6 f8 21 b4 3c 01 0b 00 c3 08 17 e5 11 6a   ┆     A æ  I : <!X<  ! <        j┆
0x047ec0…047ee0             3c cd c8 40 e1 11 b4 3c 01 0b 00 c3 c2 16 cd b5 3e e6 7f fe 0d c8 fe 0a c8 fe 0c c8 fe 1a c8 fe   ┆<  @   <        >               ┆
0x047ee0…047f00             1f c8 c3 f0 40 e6 7f fe 1c c8 fe 15 c8 fe 1d c8 fe 09 c8 fe 1e c9 11 6f 3c 19 1a be 3e 14 cd 16   ┆    @                  o<   >   ┆
0x047f00…047f20             41 3e 16 cd 16 41 3e 19 cd 16 41 c8 7e b7 3e 01 c2 15 41 3e 0e b7 c4 69 41 23 13 1a be c9 3a 80   ┆A>   A>   A ü >   A>   iA#    : ┆
0x047f20…047f40             3c b7 c4 45 3f af 32 85 3c 21 20 00 cd f6 40 21 8a 3c cd bd 40 2a ae 3c 1e 00 cd ce 40 ca 59 41   ┆<  E? 2 <!    @! <  @* <    @ YA┆
0x047f40…047f60             46 23 cd e5 40 c2 4e 41 cd 8c 3e 4f 23 1c 78 cd 69 41 1c 7b fe fe da 3a 41 22 b0 3c 7b 32 b2 3c   ┆F#  @ NA  >O# x iA æ   :A" <æ2 <┆
0x047f60…047f80             21 6a 3c 11 9c 3c c3 c8 40 c5 d5 e5 11 5b 1a d5 57 e6 7f 47 fe 20 d2 2b 42 fe 07 ca 2b 42 fe 06   ┆!j<  <  @    Æ  W  G   +B   +B  ┆
0x047f80…047fa0             ca 2b 42 fe 15 c8 fe 1d c8 11 73 3c fe 1c c2 94 41 eb 71 c9 11 c9 06 fe 11 ca c8 44 11 ce 06 fe   ┆ +B       s<    A q        D    ┆
0x047fa0…047fc0             17 ca c8 44 11 d3 06 fe 05 ca c8 44 11 d8 06 fe 12 ca c8 44 fe 03 c2 bf 41 cd 43 40 c3 69 3f 11   ┆   D       D       D    A C@ i? ┆
0x047fc0…047fe0             25 42 21 6a 3c 1a b8 ca b0 44 23 13 3c c2 c5 41 78 fe 08 ca 4f 44 06 ff 11 b5 06 fe 01 ca ea 41   ┆%B!j<    D# <  Ax   OD         A┆
0x047fe0…048000             06 00 11 ba 06 fe 0e c2 f1 41 78 32 72 3c c3 c8 44 21 71 3c 11 dd 06 01 e2 06 fe 19 ca ba 44 01   ┆         Ax2r<  D!q<          D ┆
0x048000…048020 (19, 0, 7)  5b 1a d5 32 bf 3c 57 e6 7f 47 fe 20 d2 c4 41 fe 07 ca c4 41 fe 06 ca c4 41 14 15 f2 21 41 32 d2   ┆Æ  2 <W  G    A    A    A   !A2 ┆
0x048020…048040             3c 11 72 3c fe 15 ca 39 41 11 74 3c fe 1d ca 39 41 11 73 3c fe 1c c2 41 41 eb 71 3e ff 32 c3 3c   ┆< r<   9A t<   9A s<   AA q> 2 <┆
0x048040…048060             c9 11 c9 06 fe 11 ca 61 41 11 ce 06 fe 17 ca 61 41 11 d3 06 fe 05 ca 61 41 11 d8 06 fe 12 c2 6a   ┆       aA      aA      aA      j┆
0x048060…048080             41 cd dc 43 cd 3b 41 c3 50 43 fe 03 c2 7a 41 cd 3b 41 3a 58 3c b7 f8 c3 87 3f 11 be 41 21 6a 3c   ┆A  C ;A PC   zA ;A:X<    ?  A!j<┆
0x048080…0480a0             1a b8 ca 37 43 23 13 3c c2 80 41 78 fe 08 ca 24 43 01 8a 43 11 8d 43 21 70 3c fe 16 ca 3a 43 d5   ┆   7C# <  Ax   $C  C  C!p<   :C ┆
0x0480a0…0480c0             50 59 c1 2b fe 14 ca 3a 43 fe 19 ca 1f 42 fe 0b c4 38 00 3a 58 3c b7 f8 cd dc 43 c3 9b 3f 02 04   ┆PY +   :C    B   8 :X<    C  ?  ┆
0x0480c0…0480e0             13 18 10 ff c5 cd 53 13 c1 48 cd ea 41 3a 6a 3c b7 c8 78 fe 20 c8 3a 91 06 3d c8 f5 2a ea 3c eb   ┆      S  H  A:j<  x   :  =  * < ┆
0x0480e0…048100             cd 61 43 cd ea 41 f1 c3 d9 41 51 3a 58 3c b7 f8 cd 05 42 3a 6b 3c b7 c8 3a 92 06 3d c8 f5 cd 05   ┆ aC  A   AQ:X<    B:k<  :  =    ┆
0x048100…048120             42 f1 c3 fb 41 7a cd 1f 42 7a fe 20 c8 3a 6c 3c b7 3a 0c 07 c4 1f 42 3a 6d 3c b7 3a 0b 07 c8 c5   ┆B   Az  Bz   :l< :    B:m< :    ┆
0x048120…048140             d5 e5 21 5b 1a e5 fe 20 c8 c3 ba 43 f5 3a 58 3c b7 fa 7c 17 f1 c5 d5 e5 21 5b 1a e5 f5 3a 86 07   ┆  !Æ       C :X<  ø     !Æ   :  ┆
0x048140…048160             3d f4 aa 42 f1 47 c5 cd 57 42 c1 cd 7a 42 21 00 00 22 36 3d c3 49 13 3a 18 07 b7 ca 49 13 cd 68   ┆=  B G  WB  zB!  "6= I :    I  h┆
0x048160…048180             42 d0 cd a0 42 c3 57 42 3a 17 07 b7 ca 1a 07 3d ca 28 07 3d ca 4c 07 c3 58 07 3a 17 07 b7 4f 78   ┆B   B WB:      = ( = L  X :   Ox┆
0x048180…0481a0             ca 1d 07 0d ca 33 07 0d ca 4f 07 c3 5b 07 3a 17 07 b7 fa 25 07 3d ca 37 07 3d ca 52 07 c3 64 07   ┆     3   O  Æ :    % = 7 = R  d ┆
0x0481a0…0481c0             e5 2a 36 3d 23 cd 51 42 e1 c9 3a 86 07 3d ca d5 42 cd 8e 42 da ca 42 21 ec 3c e6 7f fe 11 c2 c3   ┆ *6=# QB  :  =  B  B  B! <      ┆
0x0481c0…0481e0             42 36 00 fe 13 c2 ca 42 36 80 3a ec 3c b7 f0 cd a0 42 c3 aa 42 cd f8 42 21 ed 3c 34 3a 87 07 3d   ┆B6     B6 : <    B  B  B! <4:  =┆
0x0481e0…048200             be d0 3e 01 32 ed 3c cd a0 42 cd f8 42 7e b7 fa e7 42 35 3e 03 c3 45 42 cd 8e 42 21 ec 3c d8 e6   ┆  > 2 <  B  Bü   B5>  EB  B! <  ┆
0x048200…048220 (19, 0, 8)  44 fe 19 ca 5a 44 fe 07 ca 5a 44 fe 06 ca 5a 44 ff e5 2a 36 3d 23 22 36 3d cd 49 13 e1 c9 2a 72   ┆D   ZD   ZD   ZD  *6=#"6= I   *r┆
0x048220…048240             3c 26 00 eb cd 25 17 c3 3e 43 7e b7 ca 31 43 50 59 c3 78 17 cd 2a 43 2a 74 3c 26 00 eb e9 3a c2   ┆<&   %  >Cü  1CPY x  *C*t<&   : ┆
0x048240…048260             3c b7 ca 48 43 cd 25 17 e5 2a 7a 3c 19 22 7a 3c 2a 81 3c 19 22 81 3c e1 c9 21 00 00 eb 2a 7a 3c   ┆<  HC %  *z< "z<* < " <  !   *z<┆
0x048260…048280             cd 2c 17 eb c3 45 43 cd 25 17 d5 e5 2a 83 3c 19 22 83 3c 2a 7c 3c 19 eb 2a 39 3e eb 7c b7 f4 68   ┆ ,   EC %   * < " <*ø<  *9> ø  h┆
0x048280…0482a0             17 dc 2c 17 22 7c 3c e1 d1 c9 3a 73 3c 5f 16 00 c3 6a 43 2a 7c 3c 7c b5 c8 eb 2a 39 3e cd 2c 17   ┆  , "ø<   :s<_   jC*ø<ø   *9> , ┆
0x0482a0…0482c0             eb c3 6a 43 cd 0d 07 c3 20 3e cd e9 43 21 23 3e c3 99 44 3a 9e 07 4f 7c b5 c8 cd 12 17 eb cd 68   ┆  jC     >  C!#>  D:  Oø       h┆
0x0482c0…0482e0             17 d2 ca 43 21 00 00 c3 cf 43 eb 1b cd 2c 17 79 4b b7 ca e1 43 79 b7 1f 4f d2 e1 43 1b 23 7a b3   ┆   C!    C   , yK   Cy  O  C #z ┆
0x0482e0…048300             c8 78 b7 fc 1b 17 f6 01 c9 c5 d5 e5 21 5b 1a e5 3a 7b 3c b7 fc 59 43 af 2a 35 3e eb 2a 83 3c cd   ┆ x          !Æ  :æ<  YC *5> * < ┆
0x048300…048320             b6 43 ca 11 44 22 83 3c 21 26 3e cd 99 44 c3 f7 43 2a 7a 3c eb 2a 37 3e 2b cd 68 17 da 20 44 eb   ┆ C  D" <!&>  D  C*z< *7>+ h   D ┆
0x048320…048340             2a 7e 3c eb cd 2c 17 22 81 3c eb 2a 35 3e 29 eb cd b3 43 c8 22 81 3c 2a 7e 3c cd 2c 17 04 05 fa   ┆*ü<  , " < *5>)   C " <*ü< ,    ┆
0x048340…048360             44 44 19 19 22 7e 3c 7b e6 01 4f 7a 1f 57 7b 1f 5f 21 29 3e cd 99 44 c3 11 44 f5 cd e9 43 f1 cd   ┆DD  "ü<æ  Oz Wæ _!)>  D  D   C  ┆
0x048360…048380             38 1d c5 d5 e5 fe 3c da 73 44 fe 60 d2 73 44 21 75 3c b6 21 5b 1a e5 fe 19 c2 88 44 21 71 3c cd   ┆8     < sD ` sD!u< !Æ      D!q< ┆
0x048380…0483a0             31 43 3a 71 3c c3 2f 3e fe 06 c2 8f 44 3e 20 fe 07 c2 96 44 3e 7f 21 2c 3e e5 2a 58 3c 2d 2c e1   ┆1C:q< />    D>     D> !,> *X<-, ┆
0x0483a0…0483c0             f8 f5 c5 d5 e5 cd 3d 43 d2 b5 44 cd 11 43 e1 d1 c1 f1 c3 99 44 21 00 00 22 36 3d c3 ab 32 9b 1a   ┆      =C  D  C      D!  "6=  2  ┆
0x0483c0…0483e0             00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
          […0x1…]
0x048400…048420 (19, 0, 9)  fe 2d c8 fe 1e c9 3a 53 71 b7 c8 47 3a 5e 71 21 68 71 36 ff 34 90 d2 14 6b 80 21 55 71 96 d2 24   ┆ -    :Sq  G:^q!hq6 4   k !Uq  $┆
0x048420…048440             6b 86 77 af 4f b7 1f d2 34 6b 21 60 71 34 ca 34 6b 3c 35 35 32 69 71 78 21 55 71 96 91 32 6a 71   ┆k w O   4k!`q4 4k<552iqx!Uq  2jq┆
0x048440…048460             01 b6 71 cd 2e 4d cd 38 1d cd 62 4d da 8c 6b b7 f2 49 6b e5 cd 38 1d 21 53 71 35 ca 8b 6b cd b2   ┆  q .M 8  bM  k  Ik  8 !Sq5  k  ┆
0x048460…048480             17 3a 68 71 c2 6e 6b 21 55 71 35 f2 7d 6b 21 69 71 35 f2 7d 6b 21 6a 71 35 fa 7d 6b 3d 3c e1 ca   ┆ :hq nk!Uq5 åk!iq5 åk!jq5 åk=<  ┆
0x048480…0484a0             49 6b cd 8f 6b cd 54 4d c3 49 6b e1 3a 5e 71 cd 88 45 21 5e 71 be da 9a 6b 7e 47 7e 90 77 cd 38   ┆Ik  k TM Ik :^q  E!^q   küGü w 8┆
0x0484a0…0484c0             1d 78 b7 c8 fe 10 da ab 6b 3e 10 4f 78 91 47 c5 06 00 11 bc 6b cd b3 49 c1 c3 9e 6b a0 a0 a0 a0   ┆ x      k> Ox G     k  I   k    ┆
0x0484c0…0484e0             a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 3a 24 02 2f 21 4f 71 b6 c0 3a 53 71 1f b7 1f 21 99 03 86 21   ┆            :$ /!Oq  :Sq   !   !┆
0x0484e0…048500             5e 71 be d0 cd 5c 33 11 09 9b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆^q   Ø3                         ┆
0x048500…048520             9a 10 01 14 00 00 00 00 e9 6e 00 00 00 c3 16 6c 00 00 c9 c3 e5 6d cd 7c 6e 21 21 09 cd 68 17 d2   ┆         n     l     m øn!!  h  ┆
0x048520…048540             38 6c 3a ca 38 b7 ca 31 6c cd 82 33 01 03 d2 16 6c 21 ef 39 22 07 38 c9 21 85 39 cd 51 6e 2a 81   ┆8l: 8  1l  3    l! 9" 8 ! 9 Qn* ┆
0x048540…048560             39 22 9b 3d 22 97 3d 22 95 3d 11 00 04 19 22 99 3d 22 a3 3d 22 ab 3d 22 a7 3d 22 a5 3d 36 ff 23   ┆9" =" =" =    " =" =" =" =" =6 #┆
0x048560…048580             22 9f 3d 22 9d 3d 01 fe 01 cd 08 17 36 ff 23 22 a1 3d 22 a9 3d 22 91 3d 11 c8 00 19 22 93 3d 19   ┆" =" =      6 #" =" =" =    " = ┆
0x048580…0485a0             11 be 00 19 22 f9 3c 11 08 00 19 11 96 0b 73 23 72 11 bf 00 19 22 51 3c 11 08 00 19 11 0e 3e 73   ┆    " <       s#r    "Q<      >s┆
0x0485a0…0485c0             23 72 23 3a ff 37 b7 ca c6 6c e5 11 86 12 19 eb 2a 85 39 01 00 ff 09 cd 68 17 da c5 6c 21 bb 3a   ┆#r#: 7   l      * 9     h   l! :┆
0x0485c0…0485e0             22 07 38 d1 c9 e5 22 83 39 cd 0d 33 3e ff 32 44 3d 3a 8b 36 b7 c2 13 6d f5 3a 17 07 fe 03 3a 90   ┆" 8   " 9  3> 2D=: 6   m :    : ┆
0x0485e0…048600             06 c2 e6 6c 3e 01 32 e8 3c 3d f5 2f ca f0 6c af 32 e6 3c 32 e7 3c f1 3e 01 ca 0f 6d 3a bf 06 b7   ┆   l> 2 <= /  l 2 <2 < >   m:   ┆
0x048600…048620 (19, 0, 10) c4 06 11 bf 06 21 6f 3c fe 14 ca c0 44 d5 50 59 c1 21 70 3c fe 16 ca c0 44 fe 0b c2 24 42 cd 43   ┆     !o<    D PY !p<    D   $B C┆
0x048620…048640             40 c3 7a 3f ff 02 04 13 18 10 ff c5 3a e8 3c 3c cc 89 44 c1 3a 67 3c 21 5b 3c be ca 41 42 f0 06   ┆@ z?        : <<  D :g<!Æ<  AB  ┆
0x048640…048660             20 3a 6f 3c e6 01 4f 3a 70 3c e6 04 b1 ca 55 42 fe 05 c2 57 42 3e 02 21 57 3c a6 c2 60 42 06 20   ┆ :o<  O:p<    UB   WB> !W<  `B  ┆
0x048660…048680             48 3a 58 3c b7 f8 cc 94 42 3a e8 3c b7 3a 6a 3c fa 89 42 b7 c8 78 fe 20 c8 3a 91 06 3d c8 f5 cd   ┆H:X<    B: < :j<  B  x   :  =   ┆
0x048680…0486a0             43 44 cd 94 42 f1 c3 7c 42 b7 c2 8f 42 0e 20 3a 58 3c 3d f8 51 3a 59 3c b7 cc c3 42 3a e8 3c b7   ┆CD  B  øB   B  :X<= Q:Y<   B: < ┆
0x0486a0…0486c0             3a 6b 3c fa b8 42 b7 c8 3a 92 06 3d c8 f5 cd 43 44 cd c3 42 f1 c3 ab 42 b7 c2 be 42 16 20 3a 59   ┆:k<  B  :  =   CD  B   B   B  :Y┆
0x0486c0…0486e0             3c 3d f8 c5 3a 5a 3c b7 7a cc 07 43 06 01 3a 0c 07 4f 3a 6c 3c cd e6 42 06 02 3a 0b 07 4f 3a 6d   ┆<=  :Z< z  C  :  O:l<  B  :  O:m┆
0x0486e0…048700             3c cd e6 42 c1 c9 b7 ca f0 42 7a fe 20 c2 f2 42 0e 20 3a e8 3c c2 fa 42 b7 f0 b7 f2 03 43 3a 5a   ┆<  B     Bz    B  : <  B     C:Z┆
0x048700…048720             3c b8 c0 cd 3e 44 79 c5 d5 e5 21 5b 1a e5 fe 20 ca 25 43 d2 2b 43 06 20 fe 06 ca 2a 43 06 7f fe   ┆<   >Dy   !Æ     %C +C     *C   ┆
0x048720…048740             07 ca 2a 43 ff 21 85 3c 34 c9 78 21 80 3c 34 f5 3a 58 3c b7 fa 7c 17 cd b3 43 f1 c5 d5 e5 21 5b   ┆  *C ! <4 x! <4 :X<  ø   C    !Æ┆
0x048740…048760             1a e5 f5 3a 86 07 3d f4 c4 43 f1 47 c5 cd 5d 43 c1 cd 80 43 21 00 00 22 36 3d c3 49 13 3a 18 07   ┆   :  =  C G  ÅC   C!  "6= I :  ┆
0x048760…048780             b7 ca 49 13 cd 6e 43 d0 cd a9 43 c3 5d 43 3a 17 07 b7 ca 1a 07 3d ca 28 07 3d ca 4c 07 c3 58 07   ┆  I  nC   C ÅC:      = ( = L  X ┆
0x048780…0487a0             3a 17 07 b7 4f 78 ca 1d 07 0d ca 33 07 0d ca 4f 07 c3 5b 07 c3 5b 07 3a 17 07 b7 fa 25 07 3d ca   ┆:   Ox     3   O  Æ  Æ :    % = ┆
0x0487a0…0487c0             37 07 3d ca 52 07 c3 64 07 e5 2a 36 3d 23 cd 57 43 e1 c9 3a 85 3c b7 c8 3d 32 85 3c 3e 20 cd 3b   ┆7 = R  d  *6=# WC  : <  =2 <>  ;┆
0x0487c0…0487e0             43 c3 b3 43 3a 86 07 3d ca ef 43 cd 97 43 da e4 43 21 ec 3c e6 7f fe 11 c2 dd 43 36 00 fe 13 c2   ┆C  C:  =  C  C  C! <      C6    ┆
0x0487e0…048800             e4 43 36 80 3a ec 3c b7 f0 cd a9 43 c3 c4 43 cd 12 44 21 ed 3c 34 3a 87 07 3d be d0 3e 01 32 ed   ┆ C6 : <    C  C  D! <4:  =  > 2 ┆
0x048800…048820 (19, 0, 11) 7f fe 06 c0 7e b7 f0 34 c9 3a 86 07 3d c0 c5 d5 e5 3a ed 3c c6 11 3f d2 1e 43 21 87 07 be d4 e2   ┆    ü  4 :  =    : <  ?  C!     ┆
0x048820…048840             42 c3 5b 1a 2a 72 3c 26 00 eb cd 25 17 c3 61 43 7e b7 ca 37 43 50 59 c3 78 17 cd 30 43 2a 74 3c   ┆B Æ *r<&   %  aCü  7CPY x  0C*t<┆
0x048840…048860             26 00 eb e9 21 71 3c 11 dd 06 01 e2 06 cd 30 43 cd 09 43 1a 3c 3d c8 f5 13 1a cd 2c 42 f1 c3 55   ┆&   !q<       0C  C <=     ,B  U┆
0x048860…048880             43 3a c2 3c b7 ca 6b 43 cd 25 17 e5 2a 7a 3c 19 22 7a 3c 2a 81 3c 19 22 81 3c e1 c9 21 00 00 eb   ┆C: <  kC %  *z< "z<* < " <  !   ┆
0x048880…0488a0             2a 7a 3c cd 2c 17 eb c3 68 43 cd 25 17 e5 2a 83 3c 19 22 83 3c e1 c9 3a 73 3c 5f 16 00 c3 8d 43   ┆*z< ,   hC %  * < " <  :s<_    C┆
0x0488a0…0488c0             cd 0d 07 3e ff 32 86 3c 32 87 3c 11 e7 06 c3 50 43 cd dc 43 11 f8 06 c3 50 43 f5 cd dc 43 f1 fe   ┆   > 2 <2 <    PC  C    PC   C  ┆
0x0488c0…0488e0             19 ca 44 43 fe 0c ca 2c 42 fe 06 ca d8 43 fe 07 ca d8 43 fe 20 dc 38 00 32 89 3c c9 c5 d5 e5 21   ┆  DC   ,B    C    C   8 2 <    !┆
0x0488e0…048900             5b 1a e5 3a 7b 3c b7 fc 7c 43 cd 2c 44 21 89 3c 7e 36 00 b7 ca 01 44 f5 0e 00 cd 9c 44 f1 cd 82   ┆Æ  :æ<  øC ,D! <ü6    D     D   ┆
0x048900…048920             44 af 2a 97 07 eb 2a 83 3c cd b5 44 c8 22 83 3c 21 87 3c 79 be 77 11 90 07 3a 95 07 c4 a9 44 11   ┆D *   * <  D " <! <y w   :    D ┆
0x048920…048940             b7 07 21 bc 07 78 cd 68 44 c3 01 44 2a a1 07 eb 2a 81 3c cd b2 44 c8 22 81 3c 21 86 3c 7e 87 da   ┆  !  x hD  D*   * <  D " <! <ü  ┆
0x048940…048960             4c 44 b9 c2 4c 44 4e c5 cd 50 44 c1 21 2c 44 e5 cd 9c 44 21 89 3c 7e 36 00 b7 c2 70 44 21 88 3c   ┆LD  LDN  PD !,D   D! <ü6   pD! <┆
0x048960…048980             78 ae 11 ad 07 21 b2 07 b7 f2 6d 44 eb c3 50 43 f5 21 88 3c 78 ae 70 78 11 a3 07 21 a8 07 fc 68   ┆x    !    mD  PC ! <x px   !   h┆
0x048980…0489a0             44 f1 d5 11 c1 07 fe 06 ca 97 44 11 c5 07 fe 07 ca 97 44 d1 c3 2c 42 cd 50 43 d1 c9 11 99 07 21   ┆D         D       D  ,B PC     !┆
0x0489a0…0489c0             86 3c 79 be c8 77 3a 9f 07 81 4f cd 50 43 79 c3 2c 42 3a 9e 07 4f 7c b5 c8 cd 12 17 eb cd 68 17   ┆ <y  w:   O PCy ,B:  Oø       h ┆
0x0489c0…0489e0             d2 c9 44 21 00 00 c3 ce 44 eb 1b cd 2c 17 79 4b b7 ca e0 44 79 b7 1f 4f d2 e0 44 1b 23 7a b3 c8   ┆  D!    D   , yK   Dy  O  D #z  ┆
0x0489e0…048a00             78 b7 fc 1b 17 f6 01 c9 9b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆x                               ┆
0x048a00…048a20 (19, 0, 12) c3 00 00 20 43 4f 50 59 52 49 47 48 54 28 43 29 20 31 39 38 30 20 4d 49 43 52 4f 50 52 4f 20 49   ┆    COPYRIGHT(C) 1980 MICROPRO I┆
0x048a20…048a40             4e 54 45 52 4e 41 54 49 4f 4e 41 4c 2c 20 53 41 4e 20 52 41 46 41 45 4c 2c 20 43 41 4c 49 46 4f   ┆NTERNATIONAL, SAN RAFAEL, CALIFO┆
0x048a40…048a60             52 4e 49 41 2c 20 55 53 41 2e 20 41 4c 4c 20 52 49 47 48 54 53 20 52 45 53 45 52 56 45 44 2e 20   ┆RNIA, USA. ALL RIGHTS RESERVED. ┆
0x048a60…048a80             20 57 6f 72 64 53 74 61 72 32 2e 32 36 20 4d 65 73 73 61 67 65 20 54 65 78 74 73 20 20 0d 0a 1a   ┆ WordStar2.26 Message Texts     ┆
0x048a80…048aa0             0f 00 9e 19 08 62 00 03 00 03 76 07 43 05 12 09 9b 0a 3c 0c 02 0e 16 10 88 11 74 13 e7 14 b5 16   ┆     b    v C     <       t     ┆
0x048aa0…048ac0             b5 16 80 18 ad 04 fa 18 1c 19 98 1a d5 1b a8 28 f1 1d df 1e ff 1e 99 1c a4 1d bd 1d 31 1f 70 20   ┆               (            1 p ┆
0x048ac0…048ae0             e8 20 59 23 60 24 79 24 80 25 c1 24 d8 24 8c 25 bb 25 3e 26 6c 26 86 26 aa 26 da 26 f3 27 69 22   ┆  Y#`$y$ % $ $ % %>&l& & & & 'i"┆
0x048ae0…048b00             ec 25 57 26 19 26 08 62 08 62 3d 1b 08 62 73 19 72 1b 08 62 08 62 e1 28 fb 28 39 29 77 29 a0 29   ┆ %W& & b b=  bs r  b b ( (9)w) )┆
0x048b00…048b20             de 29 50 2a 5a 2a 6e 2a 89 2a 9e 2a b5 2a 08 62 d8 2a 3b 2b 54 2b 92 2b d1 2b f1 2b 08 62 9e 1b   ┆ )P*Z*n* * * * b *;+T+ + + + b  ┆
0x048b20…048b40             f8 19 17 04 7d 30 07 3f 7e 43 dd 5d 66 5c 3a 4c 7a 52 0c 4a 08 62 e7 45 08 62 08 62 08 62 08 62   ┆    å0 ?üC ÅfØ:LzR J b E b b b b┆
0x048b40…048b60             08 62 08 62 f8 22 fd 2b a6 23 03 24 ae 21 fa 26 08 62 97 24 ab 24 ae 24 4b 2c 08 62 56 2c 56 2c   ┆ b b " + # $ ! & b $ $ $K, bV,V,┆
0x048b60…048b80             56 2c 56 2c 6c 2c 6c 2c 56 2c 08 62 89 2c a2 2c 08 62 02 2d 0c 2d 27 2d 5d 2d 8e 2d c2 2d 08 62   ┆V,V,l,l,V, b , , b - -'-Å- - - b┆
0x048b80…048ba0             08 2e 22 2e 08 62 08 62 88 2e 08 62 3f 2e ae 2e 08 62 cc 2e e7 2e 12 2f 35 2f 40 2f 4c 2f 6b 2f   ┆ .". b b . b?. . b . . /5/@/L/k/┆
0x048ba0…048bc0             6d 2f 8f 2f a2 2f bd 2f 81 28 08 62 d2 2f eb 2f 08 62 18 30 08 62 4b 30 08 62 08 62 08 62 08 62   ┆m/ / / / ( b / / b 0 bK0 b b b b┆
0x048bc0…048be0             08 62 08 62 08 62 08 62 08 62 08 62 08 62 08 62 08 62 08 62 08 62 08 62 08 62 08 62 08 62 08 62   ┆ b b b b b b b b b b b b b b b b┆
          […0x1…]
0x048c00…048c20 (19, 0, 13) 3e 01 c2 0f 6d 3a a8 06 b7 3e 00 c2 0f 6d 2f 32 e9 3c f1 2f 21 ca 38 b6 cc 71 18 cd e5 6d 3a 8b   ┆>   m:   >   m/2 < /! 8  q   m: ┆
0x048c20…048c40             36 b7 c2 2e 6d 2f 32 02 38 3e 1f cd 01 13 3a 8b 36 b7 21 0c 00 c2 57 6d 3a e8 3c 21 09 00 3c ca   ┆6  .m/2 8>    : 6 !   Wm: <!  < ┆
0x048c40…048c60             57 6d 21 09 00 3d ca 57 6d 21 0b 00 3a 17 07 fe 03 ca 57 6d 21 0a 00 cd e2 6d 3a ff 37 b7 ca d1   ┆Wm!  = Wm!  :     Wm!    m: 7   ┆
0x048c60…048c80             6d 21 0d 09 cd e2 6d e1 e3 22 31 61 01 00 01 09 22 1d 61 01 05 0a 09 22 23 61 e1 22 25 61 22 27   ┆m!    m  "1a    " a    "#a "%a"'┆
0x048c80…048ca0             61 2b 36 00 21 77 5f 01 9d 01 cd 08 17 cd b6 54 21 c7 54 22 16 69 21 10 69 22 89 5f 2a 35 61 22   ┆a+6 !w_        T! T" i! i" _*5a"┆
0x048ca0…048cc0             37 61 af 2a 17 61 22 19 61 77 2a 29 61 22 db 5f 22 d9 5f 2a 15 61 77 2a 3c 61 77 2a 2b 61 22 2f   ┆7a * a" aw*)a" _" _* aw*<aw*+a"/┆
0x048cc0…048ce0             61 77 2b 77 2f 32 77 5f 32 8b 5f 3a 86 03 32 9b 5f 3e ff 32 00 38 3a ff 37 b7 ca 6e 0b cd 5c 33   ┆aw+w/2w_2 _:  2 _> 2 8: 7  n  Ø3┆
0x048ce0…048d00             0d 0c cd 70 33 cd 26 6e cd 9f 0a 2a 91 3d cd 21 10 77 23 36 00 2a 93 3d 77 23 36 00 32 72 3c 3a   ┆   p3 &n   * = ! w#6 * =w#6 2r<:┆
0x048d00…048d20             0e 3d 32 73 3c 3a 81 03 32 74 3c 32 2a 3d 2a d4 03 22 53 3c 21 01 00 22 ff 3c 3a d3 03 32 f5 3c   ┆ =2s<:  2t<2*=*  "S<!  " <:  2 <┆
0x048d20…048d40             3e ff 32 f4 3c c9 11 0e 3d 21 66 03 01 19 00 cd c2 16 cd 21 10 12 13 f5 23 3a 49 02 d6 04 4f be   ┆> 2 <   =!f        !    #:I   O ┆
0x048d40…048d60             da 44 6e 4e 0c 2b 79 96 b7 1f 86 3d 12 13 f1 12 c9 c5 d5 e5 eb 21 81 39 23 cd 68 17 2b da 69 6e   ┆ DnN +y    =         ! 9# h + in┆
0x048d60…048d80             cd a0 6e cd 93 6e c3 58 6e 21 8f 39 cd 68 17 d2 5b 1a cd be 6e 2b 2b 2b 2b c3 6c 6e c5 e5 11 00   ┆  n  n Xn! 9 h  Æ   n++++ ln    ┆
0x048d80…048da0             00 21 7f 39 cd de 6e eb 09 eb cd 93 6e d2 84 6e e1 c1 c9 d5 23 23 23 23 11 90 39 cd 68 17 d1 c9   ┆ ! 9  n     n  n    ####  9 h   ┆
0x048da0…048dc0             c5 d5 e5 cd de 6e 2b 2b cd 51 17 e3 73 23 72 2b e3 cd c2 16 e1 e5 23 23 73 23 72 c3 5b 1a c5 d5   ┆     n++ Q  s#r+      ##s#r Æ   ┆
0x048dc0…048de0             e5 e5 2b 2b cd de 6e e1 e5 cd 51 17 eb e3 23 72 2b 73 e3 cd e1 16 e1 2b 72 2b 73 c3 5b 1a d5 e5   ┆  ++  n   Q   #r+s     +r+s Æ   ┆
0x048de0…048e00             cd 51 17 cd 35 17 e1 d1 c9 9b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆ Q  5                           ┆
0x048e00…048e20 (19, 0, 14) 3c cd a9 43 cd 12 44 7e b7 fa 01 44 35 3e 03 c3 4b 43 cd 97 43 21 ec 3c d8 e6 7f fe 06 c0 7e b7   ┆<  C  Dü   D5>  KC  C! <      ü ┆
0x048e20…048e40             f0 34 c9 3a 86 07 3d c0 c5 d5 e5 3a ed 3c c6 11 3f d2 38 44 21 87 07 be d4 fc 43 c3 5b 1a 3a e8   ┆ 4 :  =    : <  ? 8D!     C Æ : ┆
0x048e40…048e60             3c b7 c0 c5 d5 e5 11 af 06 cd c8 44 c3 5b 1a 3a e8 3c b7 ca 43 44 21 66 3c 7e b7 c8 35 4e 2a 67   ┆<          D Æ : <  CD!f<ü  5N*g┆
0x048e60…048e80             3c eb 21 5c 3c 19 1d 2b 23 1c 7b fe 0a d0 32 67 3c 79 be da 68 44 21 69 3c 7b be da 7f 44 77 3a   ┆< !Ø<  +# æ   2g<y  hD!i<æ   Dw:┆
0x048e80…048ea0             5b 3c bb d8 21 85 3c 35 c9 2a 67 3c eb 21 5c 3c 19 3a 66 3c 1c 2b 1d ca 9e 44 be d2 95 44 23 3c   ┆Æ<  ! <5 *g< !Ø< :f< +   D   D#<┆
0x048ea0…048ec0             32 66 3c 77 eb 22 67 3c c9 7e b7 ca b0 44 50 59 cd 78 17 01 4a 00 09 36 ff c9 cd a9 44 c3 c8 44   ┆2f<w "g< ü   DPY x  J  6    D  D┆
0x048ec0…048ee0             cd a9 44 3a e9 3c 3d c0 cd 23 44 1a 3c 3d c8 f5 13 1a cd 2f 43 f1 c3 cd 44 9b 00 00 00 00 00 00   ┆  D: <=  #D <=     /C   D       ┆
0x048ee0…048f00             00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
0x048f00…048f20             9a 0a 06 14 00 00 00 00 e8 44 00 00 00 c9 c3 18 3e c3 61 43 c3 17 3e c9 3a 86 07 b7 c4 8e 42 3a   ┆         D      > aC  > :     B:┆
0x048f20…048f40             9e 07 b7 ca 28 3e 3e 01 3c 32 ea 3c 21 6a 3c 11 9c 3c 01 0b 00 cd c2 16 21 38 3e e5 cd 49 13 af   ┆    (>> <2 <!j<  <      !8>  I  ┆
0x048f40…048f60             32 58 3c cd 9b 3f 2a 9d 3d cd 5b 3e c2 b6 3e 36 00 23 22 9d 3d 21 3c 3e e5 eb e9 cd a2 3e 11 7c   ┆2X<  ?* = Æ>  >6 #" =!<>     > ø┆
0x048f60…048f80             43 fe 0d c8 11 97 43 fe 0a c8 11 ba 43 fe 0c c8 11 a0 43 fe 1f c8 11 aa 3f fe 1a c8 11 b8 41 fe   ┆C     C     C     C     ?     A ┆
0x048f80…048fa0             0b c8 11 7f 3f fe 09 ca 98 3e 11 83 3f fe 1e ca 98 3e fe 1b c0 11 9a 43 36 00 23 cd a8 3e d6 20   ┆    ?    >  ?    >     C6 #  >  ┆
0x048fa0…048fc0             bf c9 cd a8 3e e6 7f c9 7e 3c cc 4e 13 7e b7 c0 cd 31 13 c3 ad 3e cd d1 3e cd ba 3f 2a ae 3c 3a   ┆    >   ü< N ü   1   >  >  ?* <:┆
0x048fc0…048fe0             b2 3c 4f 0c 0d c8 7e 3c cc 4e 13 36 00 23 c3 c4 3e 21 00 00 39 11 20 00 42 4b cd 2c 17 f9 eb 21   ┆ <O   ü< N 6 #  >!  9   BK ,   !┆
0x048fe0…049000             6a 3c d5 e5 c5 cd c2 16 af 32 c2 3c 2f 32 58 3c 21 32 00 cd 44 40 21 9c 3c cd 03 40 21 00 00 22   ┆j<       2 </2X<!2  D@! <  @!  "┆
0x049000…049020 (19, 0, 15) 9a 0c 01 14 00 00 00 00 8e 3e 00 00 00 c9 c3 1b 3e c3 1a 3e c3 22 3e c3 35 3e c9 af cd 31 13 c3   ┆         >      >  > "> 5>   1  ┆
0x049020…049040             1b 3e 21 a7 3d cd 17 0c eb d4 4b 3e f1 77 23 22 a7 3d d1 e1 c9 21 a7 3d cd 51 17 cd 2c 17 eb 7a   ┆ >! =     K> w#" =   ! = Q  ,  z┆
0x049040…049060             b3 ca 4b 3e 1b 36 1a 23 c3 3f 3e cd 96 12 21 4f 3c 7e 36 00 b7 fc 8e 12 21 a5 3d cd 17 0c d2 81   ┆  K> 6 # ?>   !O<ü6     ! =     ┆
0x049060…049080             3e eb 11 6b 3d cd 2c 1a c2 77 3e 21 c1 39 22 07 38 cd 8e 12 c3 4b 3e 11 80 00 19 22 a5 3d c3 4e   ┆>  k= ,  w>! 9" 8    K>    " = N┆
0x049080…0490a0             3e cd 81 0b 2a ab 3d 22 a5 3d 22 a7 3d c9 9b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆>   * =" =" =                   ┆
0x0490a0…0490c0             00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
          […0x2…]
0x049100…049120             44 af 2a 97 07 eb 2a 83 3c cd b5 44 c8 22 83 3c 21 87 3c 79 be 77 11 90 07 3a 95 07 c4 a9 44 11   ┆D *   * <  D " <! <y w   :    D ┆
0x049120…049140             b7 07 21 bc 07 78 cd 68 44 c3 01 44 2a a1 07 eb 2a 81 3c cd b2 44 c8 22 81 3c 21 86 3c 7e 87 da   ┆  !  x hD  D*   * <  D " <! <ü  ┆
0x049140…049160             4c 44 b9 c2 4c 44 4e c5 cd 50 44 c1 21 2c 44 e5 cd 9c 44 21 89 3c 7e 36 00 b7 c2 70 44 21 88 3c   ┆LD  LDN  PD !,D   D! <ü6   pD! <┆
0x049160…049180             78 ae 11 ad 07 21 b2 07 b7 f2 6d 44 eb c3 50 43 f5 21 88 3c 78 ae 70 78 11 a3 07 21 a8 07 fc 68   ┆x    !    mD  PC ! <x px   !   h┆
0x049180…0491a0             44 f1 d5 11 c1 07 fe 06 ca 97 44 11 c5 07 fe 07 ca 97 44 d1 c3 2c 42 cd 50 43 d1 c9 11 99 07 21   ┆D         D       D  ,B PC     !┆
0x0491a0…0491c0             86 3c 79 be c8 77 3a 9f 07 81 4f cd 50 43 79 c3 2c 42 3a 9e 07 4f 7c b5 c8 cd 12 17 eb cd 68 17   ┆ <y  w:   O PCy ,B:  Oø       h ┆
0x0491c0…0491e0             d2 c9 44 21 00 00 c3 ce 44 eb 1b cd 2c 17 79 4b b7 ca e0 44 79 b7 1f 4f d2 e0 44 1b 23 7a b3 c8   ┆  D!    D   , yK   Dy  O  D #z  ┆
0x0491e0…049200             78 b7 fc 1b 17 f6 01 c9 9b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆x                               ┆
0x049200…049220 (19, 1, 1)  0e 13 20 44 3d 63 72 65 61 74 65 20 6f 72 20 65 64 69 74 20 61 20 44 6f 63 75 6d 65 6e 74 20 66   ┆   D=create or edit a Document f┆
0x049220…049240             69 6c 65 09 20 20 48 3d 73 65 74 20 48 65 6c 70 20 6c 65 76 65 6c 20 0e 13 20 4e 3d 63 72 65 61   ┆ile   H=set Help level    N=crea┆
0x049240…049260             74 65 20 6f 72 20 65 64 69 74 20 61 20 4e 6f 6e 2d 64 6f 63 75 6d 65 6e 74 20 66 69 6c 65 20 20   ┆te or edit a Non-document file  ┆
0x049260…049280             58 3d 65 58 69 74 20 74 6f 20 73 79 73 74 65 6d 20 0e 13 20 4d 3d 4d 65 72 67 65 2d 70 72 69 6e   ┆X=eXit to system    M=Merge-prin┆
0x049280…0492a0             74 20 61 20 66 69 6c 65 09 09 20 20 50 3d 17 20 0e 13 20 46 3d 46 69 6c 65 20 64 69 72 65 63 74   ┆t a file    P=     F=File direct┆
0x0492a0…0492c0             6f 72 79 05 2b 02 09 09 20 20 59 3d 64 65 6c 65 74 65 20 61 20 66 69 6c 65 20 20 0e 13 20 4c 3d   ┆ory +     Y=delete a file     L=┆
0x0492c0…0492e0             63 68 61 6e 67 65 20 4c 6f 67 67 65 64 20 64 69 73 6b 20 64 72 69 76 65 09 09 20 20 4f 3d 63 4f   ┆change Logged disk drive    O=cO┆
0x0492e0…049300             70 79 20 61 20 66 69 6c 65 20 20 20 20 0e 13 20 52 3d 52 75 6e 20 61 20 70 72 6f 67 72 61 6d 09   ┆py a file       R=Run a program ┆
0x049300…049320             09 09 20 20 45 3d 72 45 6e 61 6d 65 20 61 20 66 69 6c 65 20 20 a0 00 0e 89 20 20 20 20 20 20 46   ┆    E=rEname a file            F┆
0x049320…049340             6f 72 20 6d 61 78 69 6d 75 6d 20 68 65 6c 70 20 28 66 75 6c 6c 20 6d 65 6e 75 20 64 69 73 70 6c   ┆or maximum help (full menu displ┆
0x049340…049360             61 79 29 2c 09 20 20 0e 89 20 20 20 20 20 20 20 73 65 6c 65 63 74 20 48 65 6c 70 20 4c 65 76 65   ┆ay),            select Help Leve┆
0x049360…049380             6c 20 33 20 62 79 20 74 79 70 69 6e 67 20 5e 4a 48 33 2e 09 20 20 0e 89 20 20 54 68 69 73 20 6d   ┆l 3 by typing ^JH3.       This m┆
0x049380…0493a0             65 73 73 61 67 65 20 77 69 6c 6c 20 63 6c 65 61 72 20 77 68 65 6e 20 61 20 6b 65 79 20 69 73 20   ┆essage will clear when a key is ┆
0x0493a0…0493c0             70 72 65 73 73 65 64 2e 20 20 0e 0e 00 0e 20 54 4f 20 48 59 50 48 45 4e 41 54 45 2c 20 50 52 45   ┆pressed.       TO HYPHENATE, PRE┆
0x0493c0…0493e0             53 53 20 2d 2e 20 42 65 66 6f 72 65 20 70 72 65 73 73 69 6e 67 20 2d 2c 20 79 6f 75 20 6d 61 79   ┆SS -. Before pressing -, you may┆
0x0493e0…049400             20 0e 20 20 20 20 20 6d 6f 76 65 20 63 75 72 73 6f 72 3a 20 5e 53 3d 63 75 72 73 6f 72 20 6c 65   ┆       move cursor: ^S=cursor le┆
0x049400…049420 (19, 1, 2)  20 20 58 3d 62 6f 74 74 6f 6d 20 20 20 20 44 3d 72 69 67 68 74 20 65 6e 44 20 6c 69 6e 65 20 0e   ┆  X=bottom    D=right enD line  ┆
0x049420…049440             09 20 20 52 3d 62 65 67 69 6e 6e 69 6e 67 20 66 69 6c 65 09 43 3d 65 6e 64 20 66 69 6c 65 09 30   ┆   R=beginning file C=end file 0┆
0x049440…049460             2d 39 2c 20 42 2c 20 4b 2c 20 56 2c 20 50 20 3d 20 74 6f 20 6d 61 72 6b 65 72 20 20 0e 20 53 43   ┆-9, B, K, V, P = to marker    SC┆
0x049460…049480             52 4f 4c 4c 3a 09 09 20 20 5a 3d 63 6f 6e 74 69 6e 75 6f 75 73 20 75 70 09 57 3d 63 6f 6e 74 69   ┆ROLL:    Z=continuous up W=conti┆
0x049480…0494a0             6e 75 6f 75 73 20 64 6f 77 6e 09 20 20 20 20 20 0e 20 44 45 4c 45 54 45 20 54 4f 20 45 4e 44 20   ┆nuous down        DELETE TO END ┆
0x0494a0…0494c0             4c 49 4e 45 3a 09 20 20 44 45 4c 3d 6c 65 66 74 09 09 59 3d 72 69 67 68 74 09 09 09 20 20 20 20   ┆LINE:   DEL=left  Y=right       ┆
0x0494c0…0494e0             20 0e 20 46 49 4e 44 2c 20 52 45 50 4c 41 43 45 3a 09 09 20 20 46 3d 46 69 6e 64 20 61 20 73 74   ┆   FIND, REPLACE:    F=Find a st┆
0x0494e0…049500             72 69 6e 67 09 41 3d 66 69 6e 64 20 41 6e 64 20 73 75 62 73 74 69 74 75 74 65 09 20 20 20 20 20   ┆ring A=find And substitute      ┆
0x049500…049520             0e 20 52 45 50 45 41 54 20 4e 45 58 54 20 43 4f 4d 4d 41 4e 44 3a 09 20 20 51 3d 72 65 70 65 61   ┆  REPEAT NEXT COMMAND:   Q=repea┆
0x049520…049540             74 20 75 6e 74 69 6c 20 6b 65 79 20 70 72 65 73 73 65 64 09 09 09 20 20 20 20 20 00 13 a0 a0 20   ┆t until key pressed             ┆
0x049540…049560             5e 4b 20 50 52 45 46 49 58 20 20 20 20 20 28 74 6f 20 63 61 6e 63 65 6c 20 70 72 65 66 69 78 2c   ┆^K PREFIX     (to cancel prefix,┆
0x049560…049580             20 70 72 65 73 73 20 53 50 41 43 45 20 62 61 72 29 20 0e 45 4e 44 20 45 44 49 54 2f 53 41 56 45   ┆ press SPACE bar)  END EDIT/SAVE┆
0x049580…0495a0             3a 09 44 3d 44 6f 6e 65 20 20 58 3d 64 6f 6e 65 2c 65 58 69 74 20 20 53 3d 53 61 76 65 2c 72 65   ┆: D=Done  X=done,eXit  S=Save,re┆
0x0495a0…0495c0             65 64 69 74 20 20 51 3d 61 62 61 6e 64 6f 6e 0e 4d 41 52 4b 20 42 4c 4f 43 4b 3a 09 20 20 20 42   ┆edit  Q=abandon MARK BLOCK:    B┆
0x0495c0…0495e0             3d 42 6c 6f 63 6b 20 73 74 61 72 74 20 4b 3d 62 6c 6f 63 4b 20 65 6e 64 20 20 20 48 3d 48 69 64   ┆=Block start K=blocK end   H=Hid┆
0x0495e0…049600             65 2f 64 69 73 70 6c 61 79 0e 42 4c 4f 43 4b 20 4f 50 45 52 41 54 49 4f 4e 53 3a 20 20 56 3d 6d   ┆e/display BLOCK OPERATIONS:  V=m┆
0x049600…049620 (19, 1, 3)  6e 74 20 6e 65 78 74 20 63 68 61 72 61 63 74 65 72 20 52 45 54 55 52 4e 3d 6f 76 65 72 70 72 69   ┆nt next character RETURN=overpri┆
0x049620…049640             6e 74 20 6e 65 78 74 20 6c 69 6e 65 20 0e 20 51 2c 20 57 2c 20 45 2c 20 52 20 3d 20 75 73 65 72   ┆nt next line   Q, W, E, R = user┆
0x049640…049660             20 70 72 69 6e 74 65 72 20 63 6f 6e 74 72 6f 6c 73 20 09 09 20 20 20 20 53 50 41 43 45 3d 63 61   ┆ printer controls       SPACE=ca┆
0x049660…049680             6e 63 65 6c 20 70 72 65 66 69 78 20 20 20 20 20 20 20 20 00 89 a0 20 20 5e 4f 20 50 52 45 46 49   ┆ncel prefix             ^O PREFI┆
0x049680…0496a0             58 3a 20 6f 6e 2d 73 63 72 65 65 6e 20 66 6f 72 6d 61 74 74 69 6e 67 20 63 6f 6d 6d 61 6e 64 73   ┆X: on-screen formatting commands┆
0x0496a0…0496c0             20 20 0e 53 3d 6c 69 6e 65 20 53 70 61 63 69 6e 67 20 20 43 3d 43 65 6e 74 65 72 20 63 75 72 73   ┆   S=line Spacing  C=Center curs┆
0x0496c0…0496e0             6f 72 20 6c 69 6e 65 20 20 46 3d 6d 61 72 67 69 6e 73 2f 74 61 62 73 20 66 72 6f 6d 20 6c 69 6e   ┆or line  F=margins/tabs from lin┆
0x0496e0…049700             65 0e 4c 3d 4c 65 66 74 20 6d 61 72 67 69 6e 20 20 20 58 3d 6d 61 72 67 69 6e 20 72 65 6c 65 61   ┆e L=Left margin   X=margin relea┆
0x049700…049720             73 65 20 20 20 20 20 20 45 3d 73 6f 66 74 20 ad 20 45 6e 74 72 79 20 05 23 02 0e 52 3d 52 69 67   ┆se      E=soft   Entry  #  R=Rig┆
0x049720…049740             68 74 20 6d 61 72 67 69 6e 20 20 57 3d 57 6f 72 64 20 77 72 61 70 05 20 02 20 20 44 3d 20 ad 2c   ┆ht margin  W=Word wrap     D=  ,┆
0x049740…049760             20 63 74 72 6c 20 64 73 70 79 05 25 02 0e 49 3d 73 65 74 20 74 61 62 20 73 74 6f 70 20 20 4a 3d   ┆ ctrl dspy %  I=set tab stop  J=┆
0x049760…049780             4a 75 73 74 69 66 79 05 21 02 20 20 20 20 50 3d 50 61 67 65 20 64 69 73 70 6c 61 79 20 05 28 02   ┆Justify !     P=Page display  ( ┆
0x049780…0497a0             0e 4e 3d 63 6c 65 61 72 20 74 61 62 20 20 20 20 20 56 3d 56 61 72 20 74 61 62 73 05 22 02 20 20   ┆ N=clear tab     V=Var tabs "   ┆
0x0497a0…0497c0             20 54 3d 72 75 6c 65 72 20 64 69 73 70 6c 61 79 05 26 02 0e 47 3d 70 61 72 61 20 74 61 62 09 48   ┆ T=ruler display &  G=para tab H┆
0x0497c0…0497e0             3d 48 79 70 68 65 6e 2d 48 65 6c 70 05 24 02 09 20 20 20 53 50 41 43 45 3d 63 61 6e 63 65 6c 20   ┆=Hyphen-Help $     SPACE=cancel ┆
0x0497e0…049800             70 72 65 66 69 78 00 89 89 20 20 5e 4f 20 50 52 45 46 49 58 3a 20 6f 6e 2d 73 63 72 65 65 6e 20   ┆prefix     ^O PREFIX: on-screen ┆
0x049800…049820 (19, 1, 4)  53 20 44 45 4c 45 54 45 44 20 20 0e 09 4f 4e 4c 59 20 41 46 54 45 52 20 45 44 49 54 20 49 53 20   ┆S DELETED    ONLY AFTER EDIT IS ┆
0x049820…049840             53 55 43 43 45 53 53 46 55 4c 4c 59 20 43 4f 4d 50 4c 45 54 45 44 29 2e 09 0e 0e 0e 00 0e 20 43   ┆SUCCESSFULLY COMPLETED).       C┆
0x049840…049860             41 4e 27 54 20 44 49 53 50 4c 41 59 20 50 41 47 45 20 42 52 45 41 4b 53 20 49 4e 20 41 20 4e 4f   ┆AN'T DISPLAY PAGE BREAKS IN A NO┆
0x049860…049880             4e 2d 44 4f 43 55 4d 45 4e 54 20 46 49 4c 45 20 0e 00 2a 2a 2a 20 57 41 52 4e 49 4e 47 3a 20 57   ┆N-DOCUMENT FILE   *** WARNING: W┆
0x049880…0498a0             4f 52 44 20 54 4f 4f 20 4c 4f 4e 47 20 54 4f 20 46 49 54 20 4d 41 52 47 49 4e 53 20 0e 00 20 50   ┆ORD TOO LONG TO FIT MARGINS    P┆
0x0498a0…0498c0             55 54 20 41 54 20 46 49 4c 45 20 42 45 47 49 4e 4e 49 4e 47 20 46 4f 52 20 43 4f 52 52 45 43 54   ┆UT AT FILE BEGINNING FOR CORRECT┆
0x0498c0…0498e0             20 50 41 47 45 20 42 52 45 41 4b 20 44 49 53 50 4c 41 59 20 00 0e 0e 20 20 20 20 20 20 4e 6f 72   ┆ PAGE BREAK DISPLAY          Nor┆
0x0498e0…049900             6d 61 6c 6c 79 20 70 72 65 73 73 20 52 45 54 55 52 4e 20 6f 6e 6c 79 2c 20 6f 72 20 65 6e 74 65   ┆mally press RETURN only, or ente┆
0x049900…049920             72 20 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 6f 66 3a 20 20 20 20 20 0e 20 6e 75 6d 62 65 72 3d 72   ┆r one or more of:       number=r┆
0x049920…049940             65 70 65 61 74 20 63 6f 75 6e 74 2c 20 20 42 3d 73 65 61 72 63 68 20 42 61 63 6b 77 61 72 64 73   ┆epeat count,  B=search Backwards┆
0x049940…049960             2c 20 20 57 3d 77 68 6f 6c 65 20 57 6f 72 64 73 20 6f 6e 6c 79 2c 0e 20 55 3d 69 67 6e 6f 72 65   ┆,  W=whole Words only,  U=ignore┆
0x049960…049980             20 63 61 73 65 2c 20 4e 3d 72 65 70 6c 61 63 65 20 77 2f 6f 20 61 73 6b 69 6e 67 2c 20 47 3d 72   ┆ case, N=replace w/o asking, G=r┆
0x049980…0499a0             65 70 6c 61 63 65 20 69 6e 20 65 6e 74 69 72 65 20 66 69 6c 65 2e 0e 0e 00 0e 20 48 45 4c 50 20   ┆eplace in entire file.     HELP ┆
0x0499a0…0499c0             4c 45 56 45 4c 53 09 09 09 09 09 09 20 20 20 20 20 20 0e 20 20 20 33 20 20 61 6c 6c 20 6d 65 6e   ┆LEVELS                3  all men┆
0x0499c0…0499e0             75 73 20 61 6e 64 20 65 78 70 6c 61 6e 61 74 69 6f 6e 73 20 64 69 73 70 6c 61 79 65 64 09 09 20   ┆us and explanations displayed   ┆
0x0499e0…049a00             20 20 20 20 20 0e 20 20 20 32 20 20 6d 61 69 6e 20 65 64 69 74 69 6e 67 20 6d 65 6e 75 20 28 31   ┆         2  main editing menu (1┆
0x049a00…049a20 (19, 1, 5)  66 74 2c 20 5e 44 3d 63 75 72 73 6f 72 20 72 69 67 68 74 2e 20 0e 20 49 66 20 68 79 70 68 65 6e   ┆ft, ^D=cursor right.   If hyphen┆
0x049a20…049a40             61 74 69 6f 6e 20 6e 6f 74 20 64 65 73 69 72 65 64 2c 20 74 79 70 65 20 5e 42 2e 09 09 20 20 20   ┆ation not desired, type ^B.     ┆
0x049a40…049a60             0e 0e 00 20 43 55 52 53 4f 52 3a 20 20 20 20 5e 41 3d 6c 65 66 74 20 77 6f 72 64 20 20 20 20 20   ┆    CURSOR:    ^A=left word     ┆
0x049a60…049a80             20 5e 53 3d 6c 65 66 74 20 63 68 61 72 20 20 20 20 5e 44 3d 72 69 67 68 74 20 63 68 61 72 20 20   ┆ ^S=left char    ^D=right char  ┆
0x049a80…049aa0             20 20 5e 46 3d 72 69 67 68 74 20 77 6f 72 64 20 20 0e 09 20 20 20 20 5e 45 3d 75 70 20 6c 69 6e   ┆  ^F=right word        ^E=up lin┆
0x049aa0…049ac0             65 20 20 20 20 20 20 20 20 5e 58 3d 64 6f 77 6e 20 6c 69 6e 65 09 09 09 09 20 20 20 20 20 20 0e   ┆e        ^X=down line           ┆
0x049ac0…049ae0             20 53 43 52 4f 4c 4c 3a 20 20 20 20 5e 5a 3d 75 70 20 6c 69 6e 65 20 20 20 20 20 20 20 20 5e 57   ┆ SCROLL:    ^Z=up line        ^W┆
0x049ae0…049b00             3d 64 6f 77 6e 20 6c 69 6e 65 20 20 20 20 5e 43 3d 75 70 20 73 63 72 65 65 6e 20 20 20 20 20 5e   ┆=down line    ^C=up screen     ^┆
0x049b00…049b20             52 3d 64 6f 77 6e 20 73 63 72 65 65 6e 20 0e 20 44 45 4c 45 54 45 3a 20 20 20 20 44 45 4c 3d 63   ┆R=down screen   DELETE:    DEL=c┆
0x049b20…049b40             68 61 72 20 6c 65 66 74 20 20 20 20 20 5e 47 3d 63 68 61 72 20 72 69 67 68 74 20 20 20 5e 54 3d   ┆har left     ^G=char right   ^T=┆
0x049b40…049b60             77 6f 72 64 20 72 69 67 68 74 20 20 20 20 5e 59 3d 65 6e 74 69 72 65 20 6c 69 6e 65 20 0e 20 4f   ┆word right    ^Y=entire line   O┆
0x049b60…049b80             54 48 45 52 3a 09 20 20 20 5e 56 3d 69 6e 73 65 72 74 20 6f 66 66 2f 6f 6e 20 20 20 5e 49 3d 74   ┆THER:    ^V=insert off/on   ^I=t┆
0x049b80…049ba0             61 62 09 20 20 20 20 20 52 45 54 55 52 4e 3d 65 6e 64 20 70 61 72 61 20 20 20 5e 55 3d 73 74 6f   ┆ab      RETURN=end para   ^U=sto┆
0x049ba0…049bc0             70 09 20 20 20 20 20 20 0e 09 20 5e 4e 3d 69 6e 73 65 72 74 20 61 20 52 45 54 55 52 4e 20 20 20   ┆p          ^N=insert a RETURN   ┆
0x049bc0…049be0             5e 42 3d 72 65 66 6f 72 6d 20 74 6f 20 65 6e 64 20 70 61 72 61 09 5e 4c 3d 66 69 6e 64 2f 72 65   ┆^B=reform to end para ^L=find/re┆
0x049be0…049c00             70 6c 61 63 65 20 61 67 61 69 6e 20 0e 20 48 45 4c 50 3a 09 20 5e 4a 20 64 69 73 70 6c 61 79 73   ┆place again   HELP:  ^J displays┆
0x049c00…049c20 (19, 1, 6)  6f 56 65 20 62 6c 6f 63 6b 09 20 43 3d 43 6f 70 79 20 62 6c 6f 63 6b 20 20 59 3d 64 65 6c 65 74   ┆oVe block  C=Copy block  Y=delet┆
0x049c20…049c40             65 20 62 6c 6f 63 6b 0e 41 44 44 49 54 49 4f 4e 41 4c 20 46 49 4c 45 53 20 20 20 52 3d 52 65 61   ┆e block ADDITIONAL FILES   R=Rea┆
0x049c40…049c60             64 20 66 69 6c 65 20 20 20 57 3d 57 72 69 74 65 20 62 6c 6f 63 6b 20 20 4a 3d 64 65 6c 65 74 65   ┆d file   W=Write block  J=delete┆
0x049c60…049c80             20 66 69 6c 65 0e 20 26 20 50 52 49 4e 54 49 4e 47 3a 09 20 20 20 4f 3d 63 4f 70 79 20 66 69 6c   ┆ file  & PRINTING:    O=cOpy fil┆
0x049c80…049ca0             65 09 20 45 3d 72 45 6e 61 6d 65 20 20 20 20 50 3d 17 0e 44 49 53 4b 20 26 20 44 49 52 45 43 54   ┆e  E=rEname    P=  DISK & DIRECT┆
0x049ca0…049cc0             4f 52 59 3a 20 20 4c 3d 4c 6f 67 20 64 69 73 6b 09 20 20 20 20 20 46 3d 46 69 6c 65 20 64 69 72   ┆ORY:  L=Log disk      F=File dir┆
0x049cc0…049ce0             65 63 74 6f 72 79 05 2b 02 0e 50 4c 41 43 45 20 4d 41 52 4b 45 52 53 3a 09 20 20 20 30 2d 39 20   ┆ectory +  PLACE MARKERS:    0-9 ┆
0x049ce0…049d00             3d 20 73 65 74 2f 68 69 64 65 20 70 6c 61 63 65 20 6d 61 72 6b 65 72 20 30 2d 39 09 20 20 20 20   ┆= set/hide place marker 0-9     ┆
0x049d00…049d20             20 00 13 13 20 20 5e 4b 20 50 52 45 46 49 58 09 09 20 20 28 74 6f 20 63 61 6e 63 65 6c 20 70 72   ┆      ^K PREFIX    (to cancel pr┆
0x049d20…049d40             65 66 69 78 2c 20 70 72 65 73 73 20 53 50 41 43 45 20 62 61 72 29 20 20 0e 20 45 4e 44 20 45 44   ┆efix, press SPACE bar)    END ED┆
0x049d40…049d60             49 54 2f 53 41 56 45 3a 09 20 20 20 20 44 3d 44 6f 6e 65 20 65 64 69 74 20 20 20 20 58 3d 64 6f   ┆IT/SAVE:     D=Done edit    X=do┆
0x049d60…049d80             6e 65 2c 20 65 58 69 74 20 20 20 53 3d 53 61 76 65 2c 20 72 65 65 64 69 74 20 20 20 51 3d 61 62   ┆ne, eXit   S=Save, reedit   Q=ab┆
0x049d80…049da0             61 6e 64 6f 6e 20 0e 20 4d 41 52 4b 20 42 4c 4f 43 4b 3a 09 20 20 20 20 42 3d 42 6c 6f 63 6b 20   ┆andon   MARK BLOCK:     B=Block ┆
0x049da0…049dc0             73 74 61 72 74 20 20 4b 3d 62 6c 6f 63 4b 20 65 6e 64 09 20 20 48 3d 48 69 64 65 2f 64 69 73 70   ┆start  K=blocK end   H=Hide/disp┆
0x049dc0…049de0             6c 61 79 09 20 20 20 20 20 0e 20 42 4c 4f 43 4b 20 4f 50 45 52 41 54 49 4f 4e 53 3a 20 20 56 3d   ┆lay        BLOCK OPERATIONS:  V=┆
0x049de0…049e00             6d 6f 56 65 20 62 6c 6f 63 6b 20 20 20 43 3d 43 6f 70 79 20 62 6c 6f 63 6b 20 20 20 59 3d 64 65   ┆moVe block   C=Copy block   Y=de┆
0x049e00…049e20 (19, 1, 7)  66 6f 72 6d 61 74 74 69 6e 67 20 63 6f 6d 6d 61 6e 64 73 20 20 0e 20 53 3d 73 65 74 20 6c 69 6e   ┆formatting commands    S=set lin┆
0x049e20…049e40             65 20 53 70 61 63 69 6e 67 20 20 43 3d 43 65 6e 74 65 72 20 63 75 72 73 6f 72 20 6c 69 6e 65 20   ┆e Spacing  C=Center cursor line ┆
0x049e40…049e60             20 20 20 20 20 46 3d 6d 61 72 67 69 6e 73 2f 74 61 62 73 20 66 72 6f 6d 20 46 69 6c 65 20 6c 69   ┆     F=margins/tabs from File li┆
0x049e60…049e80             6e 65 20 20 0e 20 4c 3d 73 65 74 20 4c 65 66 74 20 6d 61 72 67 69 6e 20 20 20 58 3d 6d 61 72 67   ┆ne    L=set Left margin   X=marg┆
0x049e80…049ea0             69 6e 20 72 65 6c 65 61 73 65 20 20 20 20 20 20 20 20 20 20 45 3d 73 6f 66 74 20 68 79 70 68 65   ┆in release          E=soft hyphe┆
0x049ea0…049ec0             6e 20 ad 20 45 6e 74 72 79 05 23 02 20 0e 20 52 3d 73 65 74 20 52 69 67 68 74 20 6d 61 72 67 69   ┆n   Entry #    R=set Right margi┆
0x049ec0…049ee0             6e 20 20 57 3d 57 6f 72 64 20 77 72 61 70 05 20 02 20 20 20 20 20 20 44 3d 20 ad 2c 20 70 72 69   ┆n  W=Word wrap         D=  , pri┆
0x049ee0…049f00             6e 74 20 63 74 72 6c 20 64 73 70 79 05 25 02 20 0e 20 49 3d 73 65 74 20 74 61 62 20 73 74 6f 70   ┆nt ctrl dspy %    I=set tab stop┆
0x049f00…049f20             20 20 20 20 20 20 4a 3d 4a 75 73 74 69 66 69 63 61 74 69 6f 6e 05 21 02 20 20 50 3d 50 61 67 65   ┆      J=Justification !   P=Page┆
0x049f20…049f40             20 62 72 65 61 6b 20 64 69 73 70 6c 61 79 20 05 28 02 20 0e 20 4e 3d 63 6c 65 61 72 20 74 61 62   ┆ break display  (    N=clear tab┆
0x049f40…049f60             20 73 74 6f 70 20 20 20 20 56 3d 56 61 72 69 61 62 6c 65 20 74 61 62 73 05 22 02 20 20 54 3d 72   ┆ stop    V=Variable tabs "   T=r┆
0x049f60…049f80             75 6c 65 72 20 64 69 73 70 6c 61 79 20 20 20 20 20 20 05 26 02 20 0e 20 47 3d 70 61 72 61 47 72   ┆uler display       &    G=paraGr┆
0x049f80…049fa0             61 70 68 20 74 61 62 20 20 20 20 20 48 3d 48 79 70 68 65 6e 2d 48 65 6c 70 05 24 02 09 09 20 20   ┆aph tab     H=Hyphen-Help $     ┆
0x049fa0…049fc0             53 50 41 43 45 3d 63 61 6e 63 65 6c 20 70 72 65 66 69 78 20 00 89 13 20 20 20 20 5e 4a 20 50 52   ┆SPACE=cancel prefix        ^J PR┆
0x049fc0…049fe0             45 46 49 58 3a 20 68 65 6c 70 20 63 6f 6d 6d 61 6e 64 73 20 20 20 20 20 0e 20 48 20 3d 20 64 69   ┆EFIX: help commands       H = di┆
0x049fe0…04a000             73 70 6c 61 79 20 61 6e 64 20 73 65 74 20 48 65 6c 70 20 6c 65 76 65 6c 09 20 20 20 20 4d 20 3d   ┆splay and set Help level     M =┆
0x04a000…04a020 (19, 1, 8)  2d 63 6f 6e 74 72 6f 6c 2d 63 68 61 72 20 63 6f 6d 6d 61 6e 64 73 29 20 73 75 70 70 72 65 73 73   ┆-control-char commands) suppress┆
0x04a020…04a040             65 64 20 20 0e 20 20 20 31 20 20 70 72 65 66 69 78 20 6d 65 6e 75 73 20 28 32 2d 63 68 61 72 61   ┆ed      1  prefix menus (2-chara┆
0x04a040…04a060             63 74 65 72 20 63 6f 6d 6d 61 6e 64 73 29 20 61 6c 73 6f 20 73 75 70 70 72 65 73 73 65 64 20 20   ┆cter commands) also suppressed  ┆
0x04a060…04a080             20 20 20 0e 20 20 20 30 20 20 63 6f 6d 6d 61 6e 64 20 65 78 70 6c 61 6e 61 74 69 6f 6e 73 20 28   ┆       0  command explanations (┆
0x04a080…04a0a0             69 6e 63 6c 75 64 69 6e 67 20 74 68 69 73 29 20 61 6c 73 6f 20 73 75 70 70 72 65 73 73 65 64 20   ┆including this) also suppressed ┆
0x04a0a0…04a0c0             20 20 0e 00 0e 20 43 55 52 52 45 4e 54 20 48 45 4c 50 20 4c 45 56 45 4c 20 49 53 20 00 20 0e 0e   ┆      CURRENT HELP LEVEL IS     ┆
0x04a0c0…04a0e0             20 45 4e 54 45 52 20 53 70 61 63 65 20 4f 52 20 4e 45 57 20 48 45 4c 50 20 4c 45 56 45 4c 20 28   ┆ ENTER Space OR NEW HELP LEVEL (┆
0x04a0e0…04a100             30 2c 20 31 2c 20 32 2c 20 4f 52 20 33 29 3a 20 00 0e 20 54 68 65 20 4c 4f 47 47 45 44 20 44 49   ┆0, 1, 2, OR 3):    The LOGGED DI┆
0x04a100…04a120             53 4b 20 28 6f 72 20 43 75 72 72 65 6e 74 20 44 69 73 6b 20 6f 72 20 44 65 66 61 75 6c 74 20 44   ┆SK (or Current Disk or Default D┆
0x04a120…04a140             69 73 6b 29 20 69 73 20 74 68 65 20 0e 20 64 69 73 6b 20 64 72 69 76 65 20 75 73 65 64 20 66 6f   ┆isk) is the   disk drive used fo┆
0x04a140…04a160             72 20 66 69 6c 65 73 20 65 78 63 65 70 74 20 74 68 6f 73 65 20 66 69 6c 65 73 20 66 6f 72 20 77   ┆r files except those files for w┆
0x04a160…04a180             68 69 63 68 09 20 20 0e 20 79 6f 75 20 65 6e 74 65 72 20 61 20 64 69 73 6b 20 64 72 69 76 65 20   ┆hich     you enter a disk drive ┆
0x04a180…04a1a0             6e 61 6d 65 20 61 73 20 70 61 72 74 20 6f 66 20 74 68 65 20 66 69 6c 65 20 6e 61 6d 65 2e 20 20   ┆name as part of the file name.  ┆
0x04a1a0…04a1c0             20 20 0e 20 57 6f 72 64 53 74 61 72 20 64 69 73 70 6c 61 79 73 20 74 68 65 20 46 69 6c 65 20 44   ┆    WordStar displays the File D┆
0x04a1c0…04a1e0             69 72 65 63 74 6f 72 79 20 6f 66 20 74 68 65 20 4c 6f 67 67 65 64 20 44 69 73 6b 2e 20 0e 00 0e   ┆irectory of the Logged Disk.    ┆
0x04a1e0…04a200             20 54 48 45 20 4c 4f 47 47 45 44 20 44 49 53 4b 20 44 52 49 56 45 20 49 53 20 4e 4f 57 20 00 0e   ┆ THE LOGGED DISK DRIVE IS NOW   ┆
0x04a200…04a220 (19, 1, 9)  20 6d 65 6e 75 20 6f 66 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 63 6f 6d 6d 61 6e 64 73 09 09 09   ┆ menu of information commands   ┆
0x04a220…04a240             20 20 20 20 20 20 0e 20 50 52 45 46 49 58 20 4b 45 59 53 20 20 20 5e 51 20 5e 4a 20 5e 4b 20 5e   ┆        PREFIX KEYS   ^Q ^J ^K ^┆
0x04a240…04a260             4f 20 5e 50 20 20 20 64 69 73 70 6c 61 79 20 6d 65 6e 75 73 20 6f 66 20 61 64 64 69 74 69 6f 6e   ┆O ^P   display menus of addition┆
0x04a260…04a280             61 6c 20 63 6f 6d 6d 61 6e 64 73 20 20 20 20 20 20 20 20 20 20 00 43 55 52 53 4f 52 3a 20 20 20   ┆al commands           CURSOR:   ┆
0x04a280…04a2a0             5e 41 3d 6c 65 66 74 20 77 6f 72 64 20 20 20 20 20 20 5e 53 3d 6c 65 66 74 20 63 68 61 72 20 20   ┆^A=left word      ^S=left char  ┆
0x04a2a0…04a2c0             20 5e 44 3d 72 69 67 68 74 20 63 68 61 72 20 20 20 20 20 20 0e 09 20 20 5e 46 3d 72 69 67 68 74   ┆ ^D=right char          ^F=right┆
0x04a2c0…04a2e0             20 77 6f 72 64 20 20 20 20 20 5e 45 3d 75 70 20 6c 69 6e 65 09 20 20 5e 58 3d 64 6f 77 6e 20 6c   ┆ word     ^E=up line   ^X=down l┆
0x04a2e0…04a300             69 6e 65 09 20 20 20 20 20 20 0e 53 43 52 4f 4c 4c 3a 09 20 20 5e 5a 3d 75 70 20 6c 69 6e 65 09   ┆ine        SCROLL:   ^Z=up line ┆
0x04a300…04a320             20 20 20 20 5e 57 3d 64 6f 77 6e 09 20 5e 43 3d 75 70 20 73 63 72 65 65 6e 20 20 5e 52 3d 64 6f   ┆    ^W=down  ^C=up screen  ^R=do┆
0x04a320…04a340             77 6e 0e 44 45 4c 45 54 45 3a 20 20 20 44 45 4c 3d 63 68 61 72 20 6c 65 66 74 09 20 20 20 20 5e   ┆wn DELETE:   DEL=char left     ^┆
0x04a340…04a360             47 3d 72 69 67 68 74 09 20 5e 54 3d 77 6f 72 64 20 20 20 20 20 20 20 5e 59 3d 6c 69 6e 65 0e 4f   ┆G=right  ^T=word       ^Y=line O┆
0x04a360…04a380             54 48 45 52 3a 09 20 5e 56 3d 69 6e 73 65 72 74 20 6f 66 66 2f 6f 6e 20 20 20 5e 49 3d 74 61 62   ┆THER:  ^V=insert off/on   ^I=tab┆
0x04a380…04a3a0             20 20 20 52 45 54 55 52 4e 3d 65 6e 64 20 70 61 72 61 20 20 20 5e 55 3d 73 74 6f 70 0e 09 5e 4e   ┆   RETURN=end para   ^U=stop  ^N┆
0x04a3a0…04a3c0             3d 69 6e 73 65 72 74 20 61 20 52 45 54 55 52 4e 20 20 5e 42 3d 72 65 66 6f 72 6d 09 20 5e 4c 3d   ┆=insert a RETURN  ^B=reform  ^L=┆
0x04a3c0…04a3e0             66 69 6e 64 2f 72 65 70 6c 61 63 65 20 61 67 61 69 6e 0e 50 52 45 46 49 58 20 4b 45 59 53 20 20   ┆find/replace again PREFIX KEYS  ┆
0x04a3e0…04a400             5e 51 20 5e 4a 20 5e 4b 20 5e 4f 20 5e 50 20 20 64 69 73 70 6c 61 79 20 61 64 64 69 74 69 6f 6e   ┆^Q ^J ^K ^O ^P  display addition┆
0x04a400…04a420 (19, 1, 10) 6c 65 74 65 20 62 6c 6f 63 6b 20 20 20 57 3d 57 72 69 74 65 20 20 20 0e 20 41 44 44 49 54 49 4f   ┆lete block   W=Write     ADDITIO┆
0x04a420…04a440             4e 41 4c 20 46 49 4c 45 53 20 20 20 52 3d 52 65 61 64 20 66 69 6c 65 20 20 20 20 57 3d 57 72 69   ┆NAL FILES   R=Read file    W=Wri┆
0x04a440…04a460             74 65 20 62 6c 6f 63 6b 20 20 4a 3d 64 65 6c 65 74 65 20 66 69 6c 65 09 09 20 20 20 20 20 0e 20   ┆te block  J=delete file         ┆
0x04a460…04a480             20 26 20 50 52 49 4e 54 49 4e 47 3a 09 20 20 20 20 4f 3d 63 4f 70 79 20 66 69 6c 65 20 20 20 20   ┆ & PRINTING:     O=cOpy file    ┆
0x04a480…04a4a0             45 3d 72 45 6e 61 6d 65 20 66 69 6c 65 20 20 50 3d 17 09 20 20 20 20 20 0e 20 44 49 53 4b 20 26   ┆E=rEname file  P=         DISK &┆
0x04a4a0…04a4c0             20 44 49 52 45 43 54 4f 52 59 3a 20 20 4c 3d 63 68 61 6e 67 65 20 4c 6f 67 67 65 64 20 64 69 73   ┆ DIRECTORY:  L=change Logged dis┆
0x04a4c0…04a4e0             6b 09 20 20 46 3d 46 69 6c 65 20 64 69 72 65 63 74 6f 72 79 05 2b 02 20 20 0e 20 50 4c 41 43 45   ┆k   F=File directory +     PLACE┆
0x04a4e0…04a500             20 4d 41 52 4b 45 52 53 3a 20 20 20 20 20 30 2d 39 20 3d 20 73 65 74 2f 68 69 64 65 20 70 6c 61   ┆ MARKERS:     0-9 = set/hide pla┆
0x04a500…04a520             63 65 20 6d 61 72 6b 65 72 20 30 2d 39 09 09 09 20 20 20 20 20 00 89 a0 20 5e 50 20 50 52 45 46   ┆ce marker 0-9            ^P PREF┆
0x04a520…04a540             49 58 3a 20 50 75 74 20 43 6f 6e 74 72 6f 6c 20 43 68 61 72 61 63 74 65 72 20 69 6e 20 46 69 6c   ┆IX: Put Control Character in Fil┆
0x04a540…04a560             65 20 0e 56 3d 73 75 62 73 63 72 69 70 74 09 20 20 20 20 54 3d 73 75 70 65 72 73 63 72 69 70 74   ┆e  V=subscript     T=superscript┆
0x04a560…04a580             09 59 3d 72 69 62 62 6f 6e 20 63 6f 6c 6f 72 20 63 68 61 6e 67 65 0e 53 3d 75 6e 64 65 72 53 63   ┆ Y=ribbon color change S=underSc┆
0x04a580…04a5a0             6f 72 65 09 20 20 20 20 42 3d 42 6f 6c 64 66 61 63 65 09 09 44 3d 44 6f 75 62 6c 65 20 73 74 72   ┆ore     B=Boldface  D=Double str┆
0x04a5a0…04a5c0             69 6b 65 20 20 20 20 20 20 0e 41 3d 61 6c 74 65 72 6e 61 74 65 20 70 69 74 63 68 20 20 20 4e 3d   ┆ike       A=alternate pitch   N=┆
0x04a5c0…04a5e0             73 74 61 6e 64 61 72 64 20 70 69 74 63 68 09 58 3d 73 74 72 69 6b 65 6f 75 74 20 62 65 67 69 6e   ┆standard pitch X=strikeout begin┆
0x04a5e0…04a600             2f 65 6e 64 0e 4f 3d 6e 6f 6e 2d 62 72 65 61 6b 20 73 70 61 63 65 20 20 20 46 3d 70 68 61 6e 74   ┆/end O=non-break space   F=phant┆
0x04a600…04a620 (19, 1, 11) 20 4d 61 72 67 69 6e 73 20 61 6e 64 20 74 61 62 73 20 0e 20 46 20 3d 20 46 6c 61 67 73 20 69 6e   ┆ Margins and tabs   F = Flags in┆
0x04a620…04a640             20 72 69 67 68 74 20 73 63 72 65 65 6e 20 63 6f 6c 75 6d 6e 20 20 20 53 20 3d 20 53 74 61 74 75   ┆ right screen column   S = Statu┆
0x04a640…04a660             73 20 6c 69 6e 65 09 20 0e 20 49 20 3d 20 63 6f 6d 6d 61 6e 64 20 49 6e 64 65 78 3b 20 65 6e 74   ┆s line    I = command Index; ent┆
0x04a660…04a680             65 72 69 6e 67 20 74 65 78 74 20 20 20 52 20 3d 20 52 75 6c 65 72 20 6c 69 6e 65 09 20 0e 20 42   ┆ering text   R = Ruler line    B┆
0x04a680…04a6a0             20 3d 20 70 61 72 61 67 72 61 70 68 20 72 65 66 6f 72 6d 20 28 5e 42 20 63 6f 6d 6d 61 6e 64 29   ┆ = paragraph reform (^B command)┆
0x04a6a0…04a6c0             20 20 56 20 3d 20 6d 6f 56 69 6e 67 20 74 65 78 74 09 20 0e 20 44 20 3d 20 44 6f 74 20 63 6f 6d   ┆  V = moVing text    D = Dot com┆
0x04a6c0…04a6e0             6d 61 6e 64 73 2c 20 70 72 69 6e 74 20 63 6f 6e 74 72 6f 6c 73 20 20 20 50 20 3d 20 50 6c 61 63   ┆mands, print controls   P = Plac┆
0x04a6e0…04a700             65 20 6d 61 72 6b 65 72 73 09 20 0e 09 09 09 09 20 20 20 20 53 50 41 43 45 3d 63 61 6e 63 65 6c   ┆e markers           SPACE=cancel┆
0x04a700…04a720             20 70 72 65 66 69 78 20 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆ prefix                         ┆
0x04a720…04a740             00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
          […0x2…]
0x04a780…04a7a0             0e 20 5e 53 3d 64 65 6c 65 74 65 20 63 68 61 72 61 63 74 65 72 20 20 20 5e 59 3d 64 65 6c 65 74   ┆  ^S=delete character   ^Y=delet┆
0x04a7a0…04a7c0             65 20 65 6e 74 72 79 20 20 20 5e 46 3d 46 69 6c 65 20 64 69 72 65 63 74 6f 72 79 20 0e 20 5e 44   ┆e entry   ^F=File directory   ^D┆
0x04a7c0…04a7e0             3d 72 65 73 74 6f 72 65 20 63 68 61 72 61 63 74 65 72 20 20 5e 52 3d 52 65 73 74 6f 72 65 20 65   ┆=restore character  ^R=Restore e┆
0x04a7e0…04a800             6e 74 72 79 20 20 5e 55 3d 63 61 6e 63 65 6c 20 63 6f 6d 6d 61 6e 64 20 0e 00 89 a0 20 20 54 59   ┆ntry  ^U=cancel command       TY┆
0x04a800…04a820 (19, 1, 12) 20 4e 45 57 20 4c 4f 47 47 45 44 20 44 49 53 4b 20 44 52 49 56 45 20 28 6c 65 74 74 65 72 2c 20   ┆ NEW LOGGED DISK DRIVE (letter, ┆
0x04a820…04a840             63 6f 6c 6f 6e 2c 20 52 45 54 55 52 4e 29 3f 20 00 0e 20 55 73 65 20 74 68 69 73 20 63 6f 6d 6d   ┆colon, RETURN)?    Use this comm┆
0x04a840…04a860             61 6e 64 20 74 6f 20 63 72 65 61 74 65 20 61 6e 64 20 61 6c 74 65 72 20 70 72 6f 67 72 61 6d 20   ┆and to create and alter program ┆
0x04a860…04a880             73 6f 75 72 63 65 20 66 69 6c 65 73 20 20 20 20 20 0e 20 20 20 61 6e 64 20 6f 74 68 65 72 20 6e   ┆source files         and other n┆
0x04a880…04a8a0             6f 6e 2d 64 6f 63 75 6d 65 6e 74 73 2e 20 20 57 6f 72 64 20 77 72 61 70 20 64 65 66 61 75 6c 74   ┆on-documents.  Word wrap default┆
0x04a8a0…04a8c0             73 20 6f 66 66 3b 09 20 20 20 20 20 20 20 0e 20 20 20 74 61 62 62 69 6e 67 20 64 65 66 61 75 6c   ┆s off;            tabbing defaul┆
0x04a8c0…04a8e0             74 73 20 74 6f 20 66 69 78 65 64 20 28 54 41 42 20 63 68 61 72 73 20 69 6e 20 66 69 6c 65 3b 20   ┆ts to fixed (TAB chars in file; ┆
0x04a8e0…04a900             38 2d 63 6f 6c 20 73 74 6f 70 73 29 3b 20 0e 20 20 20 70 61 67 65 20 62 72 65 61 6b 73 20 6e 6f   ┆8-col stops);     page breaks no┆
0x04a900…04a920             74 20 73 68 6f 77 6e 3b 20 68 69 20 62 69 74 20 66 6c 61 67 73 20 6e 6f 74 20 75 73 65 64 20 69   ┆t shown; hi bit flags not used i┆
0x04a920…04a940             6e 20 66 69 6c 65 2e 20 20 20 20 20 20 20 0e 20 46 6f 72 20 6e 6f 72 6d 61 6c 20 77 6f 72 64 20   ┆n file.         For normal word ┆
0x04a940…04a960             70 72 6f 63 65 73 73 69 6e 67 20 75 73 65 73 2c 20 75 73 65 20 74 68 65 20 22 44 22 20 63 6f 6d   ┆processing uses, use the "D" com┆
0x04a960…04a980             6d 61 6e 64 20 69 6e 73 74 65 61 64 2e 20 0e 00 0e a0 20 55 73 65 20 74 68 69 73 20 63 6f 6d 6d   ┆mand instead.      Use this comm┆
0x04a980…04a9a0             61 6e 64 20 74 6f 20 63 72 65 61 74 65 20 61 20 6e 65 77 20 64 6f 63 75 6d 65 6e 74 20 66 69 6c   ┆and to create a new document fil┆
0x04a9a0…04a9c0             65 2c 20 20 20 20 20 20 20 20 20 0e a0 20 6f 72 20 74 6f 20 69 6e 69 74 69 61 74 65 20 61 6c 74   ┆e,            or to initiate alt┆
0x04a9c0…04a9e0             65 72 61 74 69 6f 6e 20 6f 66 20 61 6e 20 65 78 69 73 74 69 6e 67 20 64 6f 63 75 6d 65 6e 74 20   ┆eration of an existing document ┆
0x04a9e0…04aa00             66 69 6c 65 2e 20 0e 00 0e 13 20 41 20 66 69 6c 65 20 6e 61 6d 65 20 69 73 20 31 2d 38 20 6c 65   ┆file.      A file name is 1-8 le┆
0x04aa00…04aa20 (19, 1, 13) 61 6c 20 6d 65 6e 75 73 20 20 20 20 20 20 20 20 20 00 13 a0 a0 20 5e 51 20 50 52 45 46 49 58 20   ┆al menus              ^Q PREFIX ┆
0x04aa20…04aa40             20 20 20 20 20 28 74 6f 20 63 61 6e 63 65 6c 20 70 72 65 66 69 78 2c 20 70 72 65 73 73 20 53 50   ┆     (to cancel prefix, press SP┆
0x04aa40…04aa60             41 43 45 20 62 61 72 29 20 0e 43 55 52 53 4f 52 3a 20 20 53 3d 6c 65 66 74 20 53 69 64 65 20 20   ┆ACE bar)  CURSOR:  S=left Side  ┆
0x04aa60…04aa80             20 45 3d 74 6f 70 20 20 58 3d 62 6f 74 74 6f 6d 20 20 20 44 3d 72 69 67 68 74 20 65 6e 44 20 6c   ┆ E=top  X=bottom   D=right enD l┆
0x04aa80…04aaa0             69 6e 65 20 20 20 20 20 0e 09 20 52 3d 62 65 67 69 6e 6e 69 6e 67 20 66 69 6c 65 20 20 20 43 3d   ┆ine        R=beginning file   C=┆
0x04aaa0…04aac0             65 6e 64 20 66 69 6c 65 20 20 20 30 2d 39 2c 42 2c 4b 2c 56 2c 50 3d 74 6f 20 6d 61 72 6b 65 72   ┆end file   0-9,B,K,V,P=to marker┆
0x04aac0…04aae0             0e 53 43 52 4f 4c 4c 3a 09 09 20 20 20 20 20 20 5a 3d 63 6f 6e 74 69 6e 75 6f 75 73 20 75 70 09   ┆ SCROLL:        Z=continuous up ┆
0x04aae0…04ab00             20 57 3d 63 6f 6e 74 69 6e 75 6f 75 73 20 64 6f 77 6e 20 20 20 20 0e 44 45 4c 45 54 45 20 54 4f   ┆ W=continuous down     DELETE TO┆
0x04ab00…04ab20             20 45 4e 44 20 4c 49 4e 45 3a 20 20 20 44 45 4c 3d 6c 65 66 74 09 09 20 59 3d 72 69 67 68 74 09   ┆ END LINE:   DEL=left   Y=right ┆
0x04ab20…04ab40             20 20 20 20 20 20 0e 46 49 4e 44 2c 20 52 45 50 4c 41 43 45 3a 09 20 20 20 20 20 20 46 3d 46 69   ┆       FIND, REPLACE:       F=Fi┆
0x04ab40…04ab60             6e 64 20 61 20 73 74 72 69 6e 67 09 20 41 3d 66 69 6e 64 20 41 6e 64 20 73 75 62 73 74 69 74 75   ┆nd a string  A=find And substitu┆
0x04ab60…04ab80             74 65 0e 52 45 50 45 41 54 20 4e 45 58 54 20 43 4f 4d 4d 41 4e 44 3a 20 20 51 3d 72 65 70 65 61   ┆te REPEAT NEXT COMMAND:  Q=repea┆
0x04ab80…04aba0             74 20 75 6e 74 69 6c 20 6b 65 79 20 70 72 65 73 73 65 64 09 20 20 20 20 20 20 00 13 13 20 20 5e   ┆t until key pressed            ^┆
0x04aba0…04abc0             51 20 50 52 45 46 49 58 09 09 20 20 28 74 6f 20 63 61 6e 63 65 6c 20 70 72 65 66 69 78 2c 20 70   ┆Q PREFIX    (to cancel prefix, p┆
0x04abc0…04abe0             72 65 73 73 20 53 50 41 43 45 20 62 61 72 29 20 20 0e 20 43 55 52 53 4f 52 3a 20 20 53 3d 6c 65   ┆ress SPACE bar)    CURSOR:  S=le┆
0x04abe0…04ac00             66 74 20 53 69 64 65 20 73 63 72 65 65 6e 20 20 20 20 45 3d 74 6f 70 20 73 63 72 65 65 6e 20 20   ┆ft Side screen    E=top screen  ┆
0x04ac00…04ac20 (19, 1, 14) 6f 6d 20 73 70 61 63 65 09 47 3d 70 68 61 6e 74 6f 6d 20 72 75 62 6f 75 74 20 20 20 20 20 0e 43   ┆om space G=phantom rubout      C┆
0x04ac20…04ac40             3d 70 61 75 73 65 09 09 20 20 20 20 48 3d 6f 76 65 72 70 72 69 6e 74 20 63 68 61 72 09 52 45 54   ┆=pause      H=overprint char RET┆
0x04ac40…04ac60             55 52 4e 3d 6f 76 65 72 70 72 69 6e 74 20 6c 69 6e 65 0e 51 2c 57 2c 45 2c 52 3d 75 73 65 72 20   ┆URN=overprint line Q,W,E,R=user ┆
0x04ac60…04ac80             70 72 69 6e 74 65 72 20 63 6f 6e 74 72 6f 6c 73 09 09 53 50 41 43 45 3d 63 61 6e 63 65 6c 20 70   ┆printer controls  SPACE=cancel p┆
0x04ac80…04aca0             72 65 66 69 78 20 20 00 89 89 20 20 5e 50 20 50 52 45 46 49 58 3a 20 50 75 74 20 43 6f 6e 74 72   ┆refix       ^P PREFIX: Put Contr┆
0x04aca0…04acc0             6f 6c 20 43 68 61 72 61 63 74 65 72 20 69 6e 20 46 69 6c 65 20 20 0e 20 56 3d 73 75 62 73 63 72   ┆ol Character in File    V=subscr┆
0x04acc0…04ace0             69 70 74 20 62 65 67 69 6e 2f 65 6e 64 20 20 20 54 3d 73 75 70 65 72 73 63 72 69 70 74 20 62 65   ┆ipt begin/end   T=superscript be┆
0x04ace0…04ad00             67 69 6e 2f 65 6e 64 20 20 20 20 59 3d 72 69 62 62 6f 6e 20 63 6f 6c 6f 72 20 63 68 61 6e 67 65   ┆gin/end    Y=ribbon color change┆
0x04ad00…04ad20             20 20 20 20 20 20 0e 20 53 3d 75 6e 64 65 72 53 63 6f 72 65 20 62 65 67 69 6e 2f 65 6e 64 20 20   ┆        S=underScore begin/end  ┆
0x04ad20…04ad40             42 3d 42 6f 6c 64 66 61 63 65 20 62 65 67 69 6e 2f 65 6e 64 09 20 20 20 20 44 3d 44 6f 75 62 6c   ┆B=Boldface begin/end     D=Doubl┆
0x04ad40…04ad60             65 20 73 74 72 69 6b 65 20 62 65 67 69 6e 2f 65 6e 64 20 20 0e 20 41 3d 61 6c 74 65 72 6e 61 74   ┆e strike begin/end    A=alternat┆
0x04ad60…04ad80             65 20 70 69 74 63 68 09 20 4e 3d 73 74 61 6e 64 61 72 64 20 70 69 74 63 68 09 20 20 20 20 58 3d   ┆e pitch  N=standard pitch     X=┆
0x04ad80…04ada0             73 74 72 69 6b 65 6f 75 74 20 62 65 67 69 6e 2f 65 6e 64 20 20 20 20 20 20 0e 20 4f 3d 6e 6f 6e   ┆strikeout begin/end        O=non┆
0x04ada0…04adc0             2d 62 72 65 61 6b 20 73 70 61 63 65 09 20 46 3d 70 68 61 6e 74 6f 6d 20 73 70 61 63 65 09 20 20   ┆-break space  F=phantom space   ┆
0x04adc0…04ade0             20 20 47 3d 70 68 2e 20 72 75 62 6f 75 74 20 28 73 65 65 20 6d 61 6e 75 61 6c 29 20 20 0e 20 43   ┆  G=ph. rubout (see manual)    C┆
0x04ade0…04ae00             3d 70 61 75 73 65 20 77 68 65 6e 20 70 72 69 6e 74 69 6e 67 20 20 20 48 3d 6f 76 65 72 70 72 69   ┆=pause when printing   H=overpri┆
0x04ae00…04ae20 (19, 1, 15) 50 45 20 5e 4b 50 20 54 4f 20 43 4f 4e 54 49 4e 55 45 20 50 52 49 4e 54 20 20 0e 00 13 20 54 4f   ┆PE ^KP TO CONTINUE PRINT      TO┆
0x04ae20…04ae40             20 52 45 54 55 52 4e 20 43 55 52 53 4f 52 20 54 4f 20 50 4f 53 49 54 49 4f 4e 20 42 45 46 4f 52   ┆ RETURN CURSOR TO POSITION BEFOR┆
0x04ae40…04ae60             45 20 53 41 56 45 2c 09 0e 13 20 54 59 50 45 20 5e 51 50 20 42 45 46 4f 52 45 20 54 59 50 49 4e   ┆E SAVE,    TYPE ^QP BEFORE TYPIN┆
0x04ae60…04ae80             47 20 41 4e 59 54 48 49 4e 47 20 45 4c 53 45 2e 09 0e 00 13 13 20 54 59 50 45 20 31 2d 39 20 54   ┆G ANYTHING ELSE.      TYPE 1-9 T┆
0x04ae80…04aea0             4f 20 56 41 52 59 20 53 50 45 45 44 2c 20 53 50 41 43 45 20 54 4f 20 53 54 4f 50 20 0e 00 0e 2a   ┆O VARY SPEED, SPACE TO STOP    *┆
0x04aea0…04aec0             2a 2a 20 57 41 52 4e 49 4e 47 3a 20 20 0e 20 57 52 4f 4e 47 20 56 45 52 53 49 4f 4e 20 4f 46 20   ┆** WARNING:    WRONG VERSION OF ┆
0x04aec0…04aee0             57 53 4d 53 47 53 2e 4f 56 52 20 2d 2d 20 09 0e 20 53 4f 4d 45 20 4d 45 53 53 41 47 45 53 20 4d   ┆WSMSGS.OVR --    SOME MESSAGES M┆
0x04aee0…04af00             41 59 20 42 45 20 49 4e 43 4f 52 52 45 43 54 2e 20 2a 2a 2a 09 0e 0e 00 2a 2a 2a 20 57 41 52 4e   ┆AY BE INCORRECT. ***    *** WARN┆
0x04af00…04af20             49 4e 47 20 0e 20 53 43 52 45 45 4e 53 20 4f 56 45 52 20 34 38 20 4c 49 4e 45 53 20 48 49 47 48   ┆ING   SCREENS OVER 48 LINES HIGH┆
0x04af20…04af40             20 4f 52 20 31 32 30 20 43 4f 4c 55 4d 4e 53 20 57 49 44 45 20 20 0e 20 48 41 56 45 20 4e 4f 54   ┆ OR 120 COLUMNS WIDE    HAVE NOT┆
0x04af40…04af60             20 42 45 45 4e 20 54 45 53 54 45 44 20 41 4e 44 20 44 45 42 55 47 47 45 44 2e 20 50 52 4f 43 45   ┆ BEEN TESTED AND DEBUGGED. PROCE┆
0x04af60…04af80             45 44 20 57 49 54 48 20 0e 20 43 41 55 54 49 4f 4e 3b 20 52 45 44 55 43 45 20 57 49 44 54 48 20   ┆ED WITH   CAUTION; REDUCE WIDTH ┆
0x04af80…04afa0             49 46 20 42 55 47 53 20 45 4e 43 4f 55 4e 54 45 52 45 44 2e 09 20 0e 00 0e 2a 2a 2a 20 57 41 52   ┆IF BUGS ENCOUNTERED.     *** WAR┆
0x04afa0…04afc0             4e 49 4e 47 3a 20 44 49 53 4b 20 46 55 4c 4c 2c 09 0e 09 44 45 4c 45 54 49 4e 47 20 4f 4c 44 20   ┆NING: DISK FULL,   DELETING OLD ┆
0x04afc0…04afe0             2e 42 41 4b 20 46 49 4c 45 20 54 4f 20 4d 41 4b 45 20 53 50 41 43 45 09 09 0e 09 28 4e 4f 52 4d   ┆.BAK FILE TO MAKE SPACE    (NORM┆
0x04afe0…04b000             41 4c 4c 59 2c 20 54 48 45 20 50 52 45 56 49 4f 55 53 20 42 41 43 4b 55 50 20 46 49 4c 45 20 49   ┆ALLY, THE PREVIOUS BACKUP FILE I┆
0x04b000…04b020 (20, 0, 1)  74 74 65 72 73 2f 64 69 67 69 74 73 2c 20 61 20 70 65 72 69 6f 64 2c 09 0e 13 20 61 6e 64 20 61   ┆tters/digits, a period,    and a┆
0x04b020…04b040             6e 20 6f 70 74 69 6f 6e 61 6c 20 30 2d 33 20 63 68 61 72 61 63 74 65 72 20 74 79 70 65 2e 09 09   ┆n optional 0-3 character type.  ┆
0x04b040…04b060             09 0e 13 20 46 69 6c 65 20 6e 61 6d 65 20 6d 61 79 20 62 65 20 70 72 65 63 65 64 65 64 20 62 79   ┆    File name may be preceded by┆
0x04b060…04b080             20 64 69 73 6b 20 64 72 69 76 65 20 6c 65 74 74 65 72 20 41 2d 44 20 20 0e 13 20 61 6e 64 20 63   ┆ disk drive letter A-D     and c┆
0x04b080…04b0a0             6f 6c 6f 6e 2c 20 6f 74 68 65 72 77 69 73 65 20 63 75 72 72 65 6e 74 20 6c 6f 67 67 65 64 20 64   ┆olon, otherwise current logged d┆
0x04b0a0…04b0c0             69 73 6b 20 69 73 20 75 73 65 64 2e 09 00 0e 20 57 41 52 4e 49 4e 47 3a 20 59 6f 75 20 61 72 65   ┆isk is used.    WARNING: You are┆
0x04b0c0…04b0e0             20 65 64 69 74 69 6e 67 20 74 68 65 20 73 61 6d 65 20 66 69 6c 65 20 61 73 20 79 6f 75 20 61 72   ┆ editing the same file as you ar┆
0x04b0e0…04b100             65 20 70 72 69 6e 74 69 6e 67 2e 20 0e 20 57 6f 72 64 53 74 61 72 20 77 69 6c 6c 20 6e 6f 74 20   ┆e printing.   WordStar will not ┆
0x04b100…04b120             61 6c 6c 6f 77 20 79 6f 75 20 74 6f 20 73 61 76 65 20 74 68 65 20 65 64 69 74 65 64 20 76 65 72   ┆allow you to save the edited ver┆
0x04b120…04b140             73 69 6f 6e 20 20 20 20 20 20 0e 20 75 6e 74 69 6c 20 74 68 65 20 70 72 69 6e 74 20 68 61 73 20   ┆sion        until the print has ┆
0x04b140…04b160             63 6f 6d 70 6c 65 74 65 64 20 6f 72 20 68 61 73 20 62 65 65 6e 20 61 62 61 6e 64 6f 6e 65 64 2e   ┆completed or has been abandoned.┆
0x04b160…04b180             09 20 20 20 20 20 0e 0e 00 0e 20 41 4c 4c 4f 57 20 50 52 49 4e 54 20 54 4f 20 46 49 4e 49 53 48   ┆           ALLOW PRINT TO FINISH┆
0x04b180…04b1a0             20 42 45 46 4f 52 45 20 45 44 49 54 49 4e 47 20 41 20 46 49 4c 45 2e 20 0e 20 59 4f 55 52 20 53   ┆ BEFORE EDITING A FILE.   YOUR S┆
0x04b1a0…04b1c0             59 53 54 45 4d 20 44 4f 45 53 20 4e 4f 54 20 48 41 56 45 20 45 4e 4f 55 47 48 20 4d 45 4d 4f 52   ┆YSTEM DOES NOT HAVE ENOUGH MEMOR┆
0x04b1c0…04b1e0             59 20 54 4f 20 20 20 0e 20 50 45 52 4d 49 54 20 53 49 4d 55 4c 54 41 4e 45 4f 55 53 20 45 44 49   ┆Y TO     PERMIT SIMULTANEOUS EDI┆
0x04b1e0…04b200             54 49 4e 47 20 41 4e 44 20 50 52 49 4e 54 49 4e 47 2e 20 20 20 20 0e 00 0e 20 43 41 4e 27 54 20   ┆TING AND PRINTING.        CAN'T ┆
0x04b200…04b220 (20, 0, 2)  20 42 45 47 49 4e 4e 49 4e 47 20 4e 4f 54 20 4d 41 52 4b 45 44 20 0e 09 20 20 20 20 20 20 28 4f   ┆ BEGINNING NOT MARKED         (O┆
0x04b220…04b240             52 20 4d 41 52 4b 45 52 20 49 53 20 55 4e 44 49 53 50 4c 41 59 45 44 29 00 42 4c 4f 43 4b 20 45   ┆R MARKER IS UNDISPLAYED) BLOCK E┆
0x04b240…04b260             4e 44 20 4e 4f 54 20 4d 41 52 4b 45 44 20 20 20 20 20 20 20 0e 09 20 20 20 20 20 20 28 4f 52 20   ┆ND NOT MARKED               (OR ┆
0x04b260…04b280             4d 41 52 4b 45 52 20 49 53 20 55 4e 44 49 53 50 4c 41 59 45 44 29 00 42 4c 4f 43 4b 20 45 4e 44   ┆MARKER IS UNDISPLAYED) BLOCK END┆
0x04b280…04b2a0             20 4d 41 52 4b 45 52 20 42 45 46 4f 52 45 20 42 45 47 49 4e 4e 49 4e 47 20 4d 41 52 4b 45 52 00   ┆ MARKER BEFORE BEGINNING MARKER ┆
0x04b2a0…04b2c0             42 4c 4f 43 4b 20 54 4f 4f 20 4c 4f 4e 47 20 2d 20 0e 09 20 20 20 20 20 20 4d 4f 56 45 20 4f 52   ┆BLOCK TOO LONG -         MOVE OR┆
0x04b2c0…04b2e0             20 44 45 4c 45 54 45 20 49 4e 20 54 57 4f 20 53 4d 41 4c 4c 45 52 20 42 4c 4f 43 4b 53 00 54 48   ┆ DELETE IN TWO SMALLER BLOCKS TH┆
0x04b2e0…04b300             41 54 20 46 49 4c 45 20 45 58 49 53 54 53 20 4f 4e 20 44 45 53 54 49 4e 41 54 49 4f 4e 20 44 49   ┆AT FILE EXISTS ON DESTINATION DI┆
0x04b300…04b320             53 4b 2e 20 0e 09 20 20 20 20 20 20 20 44 45 4c 45 54 45 20 45 58 49 53 54 49 4e 47 20 46 49 4c   ┆SK.          DELETE EXISTING FIL┆
0x04b320…04b340             45 20 46 49 52 53 54 2c 20 20 0e 09 20 20 20 20 20 20 20 4f 52 20 55 53 45 20 41 20 44 49 46 46   ┆E FIRST,           OR USE A DIFF┆
0x04b340…04b360             45 52 45 4e 54 20 44 49 53 4b 45 54 54 45 2e 00 44 49 53 4b 20 46 55 4c 4c 00 49 4e 56 41 4c 49   ┆ERENT DISKETTE. DISK FULL INVALI┆
0x04b360…04b380             44 20 43 4f 50 59 20 4c 45 4e 47 54 48 00 41 44 44 52 45 53 53 20 49 4e 20 22 48 4f 4c 45 22 20   ┆D COPY LENGTH ADDRESS IN "HOLE" ┆
0x04b380…04b3a0             28 54 53 54 41 44 52 29 00 4d 45 4d 4f 52 59 20 46 55 4c 4c 20 28 4d 41 4b 32 35 36 29 00 4d 45   ┆(TSTADR) MEMORY FULL (MAK256) ME┆
0x04b3a0…04b3c0             4d 4f 52 59 20 53 48 4f 52 54 41 47 45 20 28 4d 4b 53 50 29 00 50 4f 49 4e 54 45 52 20 3e 20 36   ┆MORY SHORTAGE (MKSP) POINTER > 6┆
0x04b3c0…04b3e0             34 4b 20 46 52 4f 4d 20 43 55 52 53 4f 52 20 28 50 50 54 4f 41 44 29 00 4e 4f 54 20 45 4e 4f 55   ┆4K FROM CURSOR (PPTOAD) NOT ENOU┆
0x04b3e0…04b400             47 48 20 4d 45 4d 4f 52 59 20 0e 20 20 4f 52 20 59 4f 55 52 20 4f 50 45 52 41 54 49 4e 47 20 53   ┆GH MEMORY    OR YOUR OPERATING S┆
0x04b400…04b420 (20, 0, 3)  6f 6b 65 20 75 6e 64 65 72 6c 69 6e 69 6e 67 2c 20 62 6f 6c 64 66 61 63 65 2c 20 73 75 62 73 63   ┆oke underlining, boldface, subsc┆
0x04b420…04b440             72 69 70 74 73 2c 20 70 61 75 73 65 73 2c 20 65 74 63 2e 20 0e 20 20 20 20 20 54 68 65 79 20 61   ┆ripts, pauses, etc.       They a┆
0x04b440…04b460             72 65 20 65 6e 74 65 72 65 64 20 62 79 20 74 79 70 69 6e 67 20 5e 50 20 61 6e 64 20 61 20 6c 65   ┆re entered by typing ^P and a le┆
0x04b460…04b480             74 74 65 72 2e 20 20 41 20 64 69 72 65 63 74 6f 72 79 20 20 0e 20 20 20 20 20 6f 66 20 6d 6f 73   ┆tter.  A directory        of mos┆
0x04b480…04b4a0             74 20 70 72 69 6e 74 20 63 6f 6e 74 72 6f 6c 73 20 69 73 20 67 69 76 65 6e 20 6f 6e 20 74 68 65   ┆t print controls is given on the┆
0x04b4a0…04b4c0             20 5e 50 20 50 52 45 46 49 58 20 4d 45 4e 55 3b 20 20 20 20 0e 20 20 20 20 20 73 65 65 20 6d 61   ┆ ^P PREFIX MENU;          see ma┆
0x04b4c0…04b4e0             6e 75 61 6c 20 66 6f 72 20 6d 6f 72 65 2e 09 09 09 09 20 20 20 20 20 20 20 0e 20 44 4f 54 20 43   ┆nual for more.             DOT C┆
0x04b4e0…04b500             4f 4d 4d 41 4e 44 53 20 61 72 65 20 73 70 65 63 69 61 6c 20 6c 69 6e 65 73 20 62 65 67 69 6e 6e   ┆OMMANDS are special lines beginn┆
0x04b500…04b520             69 6e 67 20 77 69 74 68 20 61 20 70 65 72 69 6f 64 20 61 6e 64 20 20 20 20 0e 20 20 20 20 20 61   ┆ing with a period and          a┆
0x04b520…04b540             20 74 77 6f 2d 6c 65 74 74 65 72 20 63 6f 64 65 2e 20 20 54 68 65 79 20 63 6f 6e 74 72 6f 6c 20   ┆ two-letter code.  They control ┆
0x04b540…04b560             70 61 67 65 20 62 72 65 61 6b 73 2c 20 68 65 61 64 69 6e 67 73 2c 20 20 20 0e 20 20 20 20 20 70   ┆page breaks, headings,         p┆
0x04b560…04b580             61 67 65 20 6e 75 6d 62 65 72 69 6e 67 2c 20 70 61 67 65 20 6c 61 79 6f 75 74 2c 20 65 74 63 2e   ┆age numbering, page layout, etc.┆
0x04b580…04b5a0             20 20 44 6f 74 20 63 6f 6d 6d 61 6e 64 73 20 61 72 65 20 20 20 20 20 20 20 0e 20 20 20 20 20 74   ┆  Dot commands are             t┆
0x04b5a0…04b5c0             79 70 65 64 20 69 6e 20 6c 69 6b 65 20 6f 74 68 65 72 20 74 65 78 74 2e 09 09 09 09 20 20 20 20   ┆yped in like other text.        ┆
0x04b5c0…04b5e0             20 20 20 0e 20 53 70 61 63 65 20 62 61 72 20 66 6f 72 20 44 4f 54 20 43 4f 4d 4d 41 4e 44 20 53   ┆     Space bar for DOT COMMAND S┆
0x04b5e0…04b600             55 4d 4d 41 52 59 2c 20 5e 55 20 74 6f 20 72 65 74 75 72 6e 20 74 6f 20 65 64 69 74 69 6e 67 3a   ┆UMMARY, ^U to return to editing:┆
0x04b600…04b620 (20, 0, 4)  65 72 73 63 72 69 70 74 20 52 6f 6c 6c 20 69 6e 20 34 38 74 68 73 20 6f 66 20 61 6e 20 69 6e 63   ┆erscript Roll in 48ths of an inc┆
0x04b620…04b640             68 20 20 28 33 29 20 0e 20 2e 55 4a 20 4f 46 46 2f 4f 4e 20 20 20 22 4d 69 63 72 6f 4a 75 73 74   ┆h  (3)   .UJ OFF/ON   "MicroJust┆
0x04b640…04b660             69 66 69 63 61 74 69 6f 6e 22 20 6f 66 66 2f 6f 6e 09 20 28 64 65 66 61 75 6c 74 20 4f 4e 29 20   ┆ification" off/on  (default ON) ┆
0x04b660…04b680             0e 20 20 20 20 20 20 20 20 55 73 65 20 69 6e 73 75 72 65 20 74 68 61 74 20 70 72 69 6e 74 65 64   ┆         Use insure that printed┆
0x04b680…04b6a0             20 63 6f 6c 75 6d 6e 20 61 6c 69 67 6e 6d 65 6e 74 20 65 78 61 63 74 6c 79 20 20 20 20 20 20 0e   ┆ column alignment exactly       ┆
0x04b6a0…04b6c0             20 20 20 20 20 20 20 20 6d 61 74 63 68 65 73 20 73 63 72 65 65 6e 2c 20 65 2e 67 2e 20 66 6f 72   ┆        matches screen, e.g. for┆
0x04b6c0…04b6e0             20 74 61 62 75 6c 61 72 20 6d 61 74 65 72 69 61 6c 3a 09 20 20 20 20 20 20 0e 09 50 75 74 20 2e   ┆ tabular material:         Put .┆
0x04b6e0…04b700             55 4a 20 4f 46 46 20 62 65 66 6f 72 65 20 74 61 62 6c 65 2c 20 70 75 74 20 2e 55 4a 20 4f 4e 20   ┆UJ OFF before table, put .UJ ON ┆
0x04b700…04b720             61 66 74 65 72 20 74 61 62 6c 65 2e 20 20 20 20 20 0e 09 20 20 20 20 20 20 53 70 61 63 65 20 66   ┆after table.             Space f┆
0x04b720…04b740             6f 72 20 6e 65 78 74 20 66 72 61 6d 65 2c 20 5e 55 20 74 6f 20 72 65 74 75 72 6e 20 74 6f 20 65   ┆or next frame, ^U to return to e┆
0x04b740…04b760             64 69 74 69 6e 67 3a 20 18 20 53 50 45 43 49 41 4c 20 43 48 41 52 41 43 54 45 52 53 20 69 6e 20   ┆diting:   SPECIAL CHARACTERS in ┆
0x04b760…04b780             48 45 41 44 49 4e 47 53 20 28 2e 48 45 29 20 61 6e 64 20 46 4f 4f 54 49 4e 47 53 20 28 2e 46 4f   ┆HEADINGS (.HE) and FOOTINGS (.FO┆
0x04b780…04b7a0             29 3a 20 20 20 20 20 0e 20 20 23 20 20 20 70 72 69 6e 74 73 20 61 73 20 63 75 72 72 65 6e 74 20   ┆):        #   prints as current ┆
0x04b7a0…04b7c0             70 61 67 65 20 6e 75 6d 62 65 72 20 09 09 09 20 20 20 20 20 20 0e 20 20 5c 20 20 20 64 6f 20 6e   ┆page number             Ø   do n┆
0x04b7c0…04b7e0             6f 74 20 69 6e 74 65 72 70 72 65 74 20 6e 65 78 74 20 63 68 61 72 61 63 74 65 72 20 61 73 20 61   ┆ot interpret next character as a┆
0x04b7e0…04b800             20 73 70 65 63 69 61 6c 20 63 68 61 72 61 63 74 65 72 20 20 0e 20 20 5e 4b 20 20 64 6f 20 6e 6f   ┆ special character     ^K  do no┆
0x04b800…04b820 (20, 0, 5)  45 44 49 54 20 41 20 46 49 4c 45 20 57 48 49 4c 45 20 4d 45 52 47 45 2d 50 52 49 4e 54 49 4e 47   ┆EDIT A FILE WHILE MERGE-PRINTING┆
0x04b820…04b840             20 2d 2d 20 20 20 20 0e 20 46 49 4e 49 53 48 20 4f 52 20 41 42 41 4e 44 4f 4e 20 4d 45 52 47 45   ┆ --      FINISH OR ABANDON MERGE┆
0x04b840…04b860             2d 50 52 49 4e 54 20 42 45 46 4f 52 45 20 45 44 49 54 49 4e 47 20 0e 0e 00 0e 89 89 20 46 49 4e   ┆-PRINT BEFORE EDITING        FIN┆
0x04b860…04b880             49 53 48 49 4e 47 20 50 52 49 4e 54 20 42 45 46 4f 52 45 20 45 58 49 54 20 20 20 20 20 0e 89 89   ┆ISHING PRINT BEFORE EXIT        ┆
0x04b880…04b8a0             20 28 74 79 70 65 20 5e 55 20 74 6f 20 63 61 6e 63 65 6c 20 65 78 69 74 20 63 6f 6d 6d 61 6e 64   ┆ (type ^U to cancel exit command┆
0x04b8a0…04b8c0             29 20 2e 2e 2e 00 0e 89 20 46 49 4e 49 53 48 49 4e 47 20 50 52 49 4e 54 20 4f 46 20 53 41 4d 45   ┆) ...    FINISHING PRINT OF SAME┆
0x04b8c0…04b8e0             20 46 49 4c 45 20 42 45 46 4f 52 45 20 53 41 56 49 4e 47 20 0e 89 20 28 54 79 70 65 20 5e 55 20   ┆ FILE BEFORE SAVING    (Type ^U ┆
0x04b8e0…04b900             74 6f 20 63 61 6e 63 65 6c 20 53 61 76 65 20 63 6f 6d 6d 61 6e 64 29 20 2e 2e 2e 20 20 20 20 20   ┆to cancel Save command) ...     ┆
0x04b900…04b920             20 20 00 0e 89 20 46 49 4e 49 53 48 49 4e 47 20 50 52 49 4e 54 20 4f 46 20 2e 42 41 4b 20 46 49   ┆      FINISHING PRINT OF .BAK FI┆
0x04b920…04b940             4c 45 20 42 45 46 4f 52 45 20 53 41 56 49 4e 47 20 0e 89 20 28 54 79 70 65 20 5e 55 20 74 6f 20   ┆LE BEFORE SAVING    (Type ^U to ┆
0x04b940…04b960             63 61 6e 63 65 6c 20 53 61 76 65 20 63 6f 6d 6d 61 6e 64 29 20 2e 2e 2e 20 20 20 20 20 20 20 00   ┆cancel Save command) ...        ┆
0x04b960…04b980             0e 13 20 41 42 41 4e 44 4f 4e 49 4e 47 20 55 4e 43 48 41 4e 47 45 44 20 00 0e 13 20 41 42 41 4e   ┆   ABANDONING UNCHANGED     ABAN┆
0x04b980…04b9a0             44 4f 4e 20 45 44 49 54 45 44 20 56 45 52 53 49 4f 4e 20 4f 46 20 00 89 89 20 49 4e 56 41 4c 49   ┆DON EDITED VERSION OF     INVALI┆
0x04b9a0…04b9c0             44 20 15 20 4e 41 4d 45 3a 20 00 20 0e 00 89 89 20 15 20 1a 20 4e 4f 54 20 46 4f 55 4e 44 20 0e   ┆D   NAME:            NOT FOUND  ┆
0x04b9c0…04b9e0             00 0e 13 20 4e 6f 77 20 16 70 72 69 6e 74 69 6e 67 20 66 69 6c 65 20 00 0e 0e 13 20 22 59 22 20   ┆    Now  printing file      "Y" ┆
0x04b9e0…04ba00             54 4f 20 41 42 41 4e 44 4f 4e 20 50 52 49 4e 54 2c 20 22 4e 22 20 54 4f 20 52 45 53 55 4d 45 2c   ┆TO ABANDON PRINT, "N" TO RESUME,┆
0x04ba00…04ba20 (20, 0, 6)  59 53 54 45 4d 20 49 53 20 4e 4f 54 20 20 20 20 20 20 0e 20 20 52 45 4c 4f 43 41 54 45 44 20 54   ┆YSTEM IS NOT         RELOCATED T┆
0x04ba20…04ba40             4f 20 4d 41 4b 45 20 41 4c 4c 20 52 41 4d 20 41 56 41 49 4c 41 42 4c 45 20 20 00 44 49 53 4b 45   ┆O MAKE ALL RAM AVAILABLE   DISKE┆
0x04ba40…04ba60             54 54 45 20 44 49 52 45 43 54 4f 52 59 20 46 55 4c 4c 20 00 43 4c 4f 53 45 20 46 41 49 4c 55 52   ┆TTE DIRECTORY FULL  CLOSE FAILUR┆
0x04ba60…04ba80             45 20 2d 20 0e 09 20 20 53 59 53 54 45 4d 20 46 41 49 4c 55 52 45 2c 20 4f 52 20 59 4f 55 20 43   ┆E -     SYSTEM FAILURE, OR YOU C┆
0x04ba80…04baa0             48 41 4e 47 45 44 20 44 49 53 4b 45 54 54 45 53 20 00 52 45 4e 41 4d 45 20 46 41 49 4c 55 52 45   ┆HANGED DISKETTES  RENAME FAILURE┆
0x04baa0…04bac0             20 2d 20 0e 09 20 20 53 59 53 54 45 4d 20 46 41 49 4c 55 52 45 2c 20 4f 52 20 59 4f 55 20 43 48   ┆ -     SYSTEM FAILURE, OR YOU CH┆
0x04bac0…04bae0             41 4e 47 45 44 20 44 49 53 4b 45 54 54 45 53 20 00 49 4e 56 41 4c 49 44 20 53 43 52 45 45 4e 20   ┆ANGED DISKETTES  INVALID SCREEN ┆
0x04bae0…04bb00             48 45 49 47 48 54 20 4f 52 20 57 49 44 54 48 20 00 10 20 4d 45 53 53 41 47 45 20 10 00 0e 20 43   ┆HEIGHT OR WIDTH    MESSAGE     C┆
0x04bb00…04bb20             61 6e 27 74 20 65 64 69 74 20 61 20 66 69 6c 65 20 6f 66 20 74 79 70 65 20 2e 42 41 4b 20 6f 72   ┆an't edit a file of type .BAK or┆
0x04bb20…04bb40             20 2e 24 24 24 20 0e 20 2d 2d 20 72 45 6e 61 6d 65 20 6f 72 20 63 4f 70 79 20 62 65 66 6f 72 65   ┆ .$$$   -- rEname or cOpy before┆
0x04bb40…04bb60             20 65 64 69 74 69 6e 67 09 0e 00 42 41 44 20 4f 56 4c 59 20 23 00 42 41 44 20 4f 56 45 52 4c 41   ┆ editing   BAD OVLY # BAD OVERLA┆
0x04bb60…04bb80             59 20 46 49 4c 45 2c 20 4f 52 20 0e 20 57 52 4f 4e 47 20 56 45 52 53 49 4f 4e 20 4f 56 45 52 4c   ┆Y FILE, OR   WRONG VERSION OVERL┆
0x04bb80…04bba0             41 59 20 46 49 4c 45 20 00 4f 76 65 72 6c 61 79 20 66 69 6c 65 20 19 20 4e 6f 74 20 46 6f 75 6e   ┆AY FILE  Overlay file   Not Foun┆
0x04bba0…04bbc0             64 00 20 46 49 4c 45 20 19 20 4e 4f 54 20 46 4f 55 4e 44 20 20 20 20 20 0e 89 20 28 54 68 65 20   ┆d  FILE   NOT FOUND        (The ┆
0x04bbc0…04bbe0             73 65 70 65 72 61 74 65 6c 79 20 73 6f 6c 64 20 66 69 6c 65 20 19 20 0e 89 20 20 69 73 20 72 65   ┆seperately sold file       is re┆
0x04bbe0…04bc00             71 75 69 72 65 64 20 66 6f 72 20 75 73 65 20 6f 66 20 4d 65 72 67 65 2d 70 72 69 6e 74 2e 29 20   ┆quired for use of Merge-print.) ┆
0x04bc00…04bc20 (20, 0, 7)  20 20 18 09 09 20 20 2a 2a 2a 2a 2a 20 20 44 6f 74 20 43 6f 6d 6d 61 6e 64 73 20 20 2a 2a 2a 2a   ┆       *****  Dot Commands  ****┆
0x04bc20…04bc40             2a 09 09 20 20 20 20 20 20 0e 20 20 20 20 20 50 55 54 20 45 41 43 48 20 44 4f 54 20 43 4f 4d 4d   ┆*              PUT EACH DOT COMM┆
0x04bc40…04bc60             41 4e 44 20 4f 4e 20 53 45 50 41 52 41 54 45 20 4c 49 4e 45 2c 20 57 49 54 48 20 2e 20 49 4e 20   ┆AND ON SEPARATE LINE, WITH . IN ┆
0x04bc60…04bc80             43 4f 4c 20 31 20 20 20 0e 20 2e 50 41 09 6e 65 77 20 50 41 67 65 09 09 09 09 09 20 20 20 20 20   ┆COL 1     .PA new PAge          ┆
0x04bc80…04bca0             20 0e 20 2e 43 50 20 6e 09 6e 65 77 20 70 61 67 65 20 69 66 20 6c 65 73 73 20 74 68 61 6e 20 6e   ┆   .CP n new page if less than n┆
0x04bca0…04bcc0             20 6c 69 6e 65 73 20 6c 65 66 74 20 6f 6e 20 74 68 69 73 20 70 61 67 65 09 20 20 20 20 20 20 0e   ┆ lines left on this page        ┆
0x04bcc0…04bce0             20 2e 4f 50 09 4f 6d 69 74 20 50 61 67 65 20 6e 75 6d 62 65 72 73 20 77 68 65 6e 20 70 72 69 6e   ┆ .OP Omit Page numbers when prin┆
0x04bce0…04bd00             74 69 6e 67 2c 20 73 74 61 72 74 69 6e 67 20 74 68 69 73 20 70 61 67 65 20 20 20 0e 20 2e 50 4e   ┆ting, starting this page     .PN┆
0x04bd00…04bd20             09 70 72 69 6e 74 20 50 61 67 65 20 4e 75 6d 62 65 72 73 2c 20 73 74 61 72 74 69 6e 67 20 74 68   ┆ print Page Numbers, starting th┆
0x04bd20…04bd40             69 73 20 70 61 67 65 09 20 20 20 20 28 64 65 66 61 75 6c 74 29 20 0e 20 2e 50 4e 20 6e 09 73 65   ┆is page     (default)   .PN n se┆
0x04bd40…04bd60             74 20 50 61 67 65 20 4e 75 6d 62 65 72 20 74 6f 20 6e 2c 20 70 72 69 6e 74 20 70 61 67 65 20 6e   ┆t Page Number to n, print page n┆
0x04bd60…04bd80             75 6d 62 65 72 73 09 20 20 20 20 20 20 0e 20 2e 50 43 20 6e 09 50 61 67 65 20 6e 75 6d 62 65 72   ┆umbers         .PC n Page number┆
0x04bd80…04bda0             20 43 6f 6c 75 6d 6e 20 28 64 65 66 61 75 6c 74 20 33 33 20 28 33 30 20 69 66 20 36 34 2d 63 6f   ┆ Column (default 33 (30 if 64-co┆
0x04bda0…04bdc0             6c 20 73 63 72 65 65 6e 29 29 20 0e 20 2e 50 4f 20 6e 09 50 61 67 65 20 4f 66 66 73 65 74 3a 20   ┆l screen))   .PO n Page Offset: ┆
0x04bdc0…04bde0             65 78 74 72 61 20 69 6e 64 65 6e 74 20 77 68 65 6e 20 70 72 69 6e 74 65 64 09 20 20 28 64 65 66   ┆extra indent when printed   (def┆
0x04bde0…04be00             61 75 6c 74 20 38 29 20 0e 20 2e 2e 20 74 65 78 74 20 20 20 63 6f 6d 6d 65 6e 74 2c 20 6e 6f 74   ┆ault 8)   .. text   comment, not┆
0x04be00…04be20 (20, 0, 8)  74 20 70 72 69 6e 74 20 66 6f 6c 6c 6f 77 69 6e 67 20 73 70 61 63 65 73 20 69 66 20 6f 6e 20 65   ┆t print following spaces if on e┆
0x04be20…04be40             76 65 6e 2d 6e 75 6d 62 65 72 65 64 20 70 61 67 65 20 20 0e 20 50 41 47 45 20 4e 55 4d 42 45 52   ┆ven-numbered page    PAGE NUMBER┆
0x04be40…04be60             20 50 4f 53 49 54 49 4f 4e 49 4e 47 3a 20 49 66 20 61 20 66 6f 6f 74 69 6e 67 20 74 65 78 74 20   ┆ POSITIONING: If a footing text ┆
0x04be60…04be80             69 73 20 73 70 65 63 69 66 69 65 64 20 28 2e 46 4f 20 0e 20 20 64 6f 74 20 63 6f 6d 6d 61 6e 64   ┆is specified (.FO    dot command┆
0x04be80…04bea0             29 2c 20 74 68 65 20 64 65 66 61 75 6c 74 20 62 6f 74 74 6f 6d 20 63 65 6e 74 65 72 20 70 61 67   ┆), the default bottom center pag┆
0x04bea0…04bec0             65 20 6e 75 6d 62 65 72 20 69 73 20 6e 6f 74 20 20 0e 20 20 70 72 69 6e 74 65 64 2e 20 20 55 73   ┆e number is not     printed.  Us┆
0x04bec0…04bee0             65 20 61 20 23 20 69 6e 20 68 65 61 64 69 6e 67 20 6f 72 20 66 6f 6f 74 69 6e 67 20 74 6f 20 70   ┆e a # in heading or footing to p┆
0x04bee0…04bf00             6f 73 69 74 69 6f 6e 20 70 61 67 65 20 20 20 20 0e 20 20 6e 75 6d 62 65 72 20 77 68 65 72 65 20   ┆osition page       number where ┆
0x04bf00…04bf20             64 65 73 69 72 65 64 2e 20 20 5e 4b 20 66 6f 6c 6c 6f 77 65 64 20 62 79 20 73 70 61 63 65 73 20   ┆desired.  ^K followed by spaces ┆
0x04bf20…04bf40             66 6f 6c 6c 6f 77 65 64 20 62 79 20 23 20 20 0e 20 20 6d 61 79 20 62 65 20 75 73 65 64 20 74 6f   ┆followed by #     may be used to┆
0x04bf40…04bf60             20 70 72 6f 64 75 63 65 20 61 6c 74 65 72 6e 61 74 69 6e 67 20 6c 65 66 74 2f 72 69 67 68 74 20   ┆ produce alternating left/right ┆
0x04bf60…04bf80             70 61 67 65 20 6e 75 6d 62 65 72 73 2e 20 0e 09 20 20 20 20 20 20 53 70 61 63 65 20 66 6f 72 20   ┆page numbers.         Space for ┆
0x04bf80…04bfa0             6e 65 78 74 20 66 72 61 6d 65 2c 20 5e 55 20 74 6f 20 72 65 74 75 72 6e 20 74 6f 20 65 64 69 74   ┆next frame, ^U to return to edit┆
0x04bfa0…04bfc0             69 6e 67 3a 20 18 09 20 20 20 20 2a 2a 2a 2a 2a 20 20 4d 65 72 67 65 2d 50 72 69 6e 74 20 44 6f   ┆ing:       *****  Merge-Print Do┆
0x04bfc0…04bfe0             74 20 43 6f 6d 6d 61 6e 64 73 20 20 2a 2a 2a 2a 2a 09 20 20 20 20 20 20 0e 20 2e 44 46 20 66 69   ┆t Commands  *****         .DF fi┆
0x04bfe0…04c000             6c 65 6e 61 6d 65 09 09 20 73 70 65 63 69 66 79 20 44 61 74 61 20 46 69 6c 65 20 66 6f 72 20 2e   ┆lename   specify Data File for .┆
0x04c000…04c020 (20, 0, 9)  20 5e 55 20 54 4f 20 48 4f 4c 44 3a 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆ ^U TO HOLD:                    ┆
0x04c020…04c040             00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
          […0x2…]
0x04c080…04c0a0             0e 13 14 16 50 52 49 4e 54 3f 20 00 13 20 46 6f 72 20 64 65 66 61 75 6c 74 20 70 72 65 73 73 20   ┆    PRINT?    For default press ┆
0x04c0a0…04c0c0             52 45 54 55 52 4e 20 66 6f 72 20 65 61 63 68 20 71 75 65 73 74 69 6f 6e 3a 0e 00 13 13 20 53 54   ┆RETURN for each question:     ST┆
0x04c0c0…04c0e0             41 52 54 20 41 54 20 50 41 47 45 20 4e 55 4d 42 45 52 20 28 52 45 54 55 52 4e 20 66 6f 72 20 62   ┆ART AT PAGE NUMBER (RETURN for b┆
0x04c0e0…04c100             65 67 69 6e 6e 69 6e 67 29 3f 20 00 13 13 20 53 54 4f 50 20 41 46 54 45 52 20 50 41 47 45 20 4e   ┆eginning)?     STOP AFTER PAGE N┆
0x04c100…04c120             55 4d 42 45 52 20 28 52 45 54 55 52 4e 20 66 6f 72 20 65 6e 64 29 3f 20 00 13 13 20 4e 55 4d 42   ┆UMBER (RETURN for end)?     NUMB┆
0x04c120…04c140             45 52 20 4f 46 20 43 4f 50 49 45 53 20 28 52 45 54 55 52 4e 20 66 6f 72 20 31 29 3f 20 00 13 13   ┆ER OF COPIES (RETURN for 1)?    ┆
0x04c140…04c160             20 44 49 53 4b 20 15 20 4f 55 54 50 55 54 20 28 59 2f 4e 29 3a 20 00 13 13 20 20 20 4f 55 54 50   ┆ DISK   OUTPUT (Y/N):       OUTP┆
0x04c160…04c180             55 54 20 15 20 4e 41 4d 45 3f 20 00 13 13 20 55 53 45 20 46 4f 52 4d 20 46 45 45 44 53 20 28 59   ┆UT   NAME?     USE FORM FEEDS (Y┆
0x04c180…04c1a0             2f 4e 29 3a 20 00 13 13 20 53 55 50 50 52 45 53 53 20 50 41 47 45 20 46 4f 52 4d 41 54 54 49 4e   ┆/N):     SUPPRESS PAGE FORMATTIN┆
0x04c1a0…04c1c0             47 20 28 59 2f 4e 29 3a 20 00 13 13 20 50 41 55 53 45 20 46 4f 52 20 50 41 50 45 52 20 43 48 41   ┆G (Y/N):     PAUSE FOR PAPER CHA┆
0x04c1c0…04c1e0             4e 47 45 20 42 45 54 57 45 45 4e 20 50 41 47 45 53 20 28 59 2f 4e 29 3a 20 00 13 20 52 65 61 64   ┆NGE BETWEEN PAGES (Y/N):    Read┆
0x04c1e0…04c200             79 20 70 72 69 6e 74 65 72 2c 20 70 72 65 73 73 20 52 45 54 55 52 4e 3a 20 00 20 57 41 52 4e 49   ┆y printer, press RETURN:   WARNI┆
0x04c200…04c220 (20, 0, 10) 20 00 4e 4f 54 20 46 4f 55 4e 44 00 50 52 4f 47 52 41 4d 20 49 53 20 41 4e 20 45 4d 50 54 59 20   ┆  NOT FOUND PROGRAM IS AN EMPTY ┆
0x04c220…04c240             46 49 4c 45 21 3f 00 50 52 4f 47 52 41 4d 20 54 4f 4f 20 42 49 47 20 46 4f 52 20 0e 20 4d 45 4d   ┆FILE!? PROGRAM TOO BIG FOR   MEM┆
0x04c240…04c260             4f 52 59 20 41 56 41 49 4c 41 42 4c 45 20 55 4e 44 45 52 20 57 6f 72 64 53 74 61 72 00 0e 20 4c   ┆ORY AVAILABLE UNDER WordStar   L┆
0x04c260…04c280             45 54 20 50 52 49 4e 54 20 43 4f 4d 50 4c 45 54 45 20 42 45 46 4f 52 45 20 52 55 4e 4e 49 4e 47   ┆ET PRINT COMPLETE BEFORE RUNNING┆
0x04c280…04c2a0             20 41 20 50 52 4f 47 52 41 4d 20 0e 0e 00 0e 20 4e 4f 54 20 45 4e 4f 55 47 48 20 4d 45 4d 4f 52   ┆ A PROGRAM      NOT ENOUGH MEMOR┆
0x04c2a0…04c2c0             59 20 54 4f 20 55 53 45 20 22 52 55 4e 20 50 52 4f 47 52 41 4d 22 20 43 4f 4d 4d 41 4e 44 20 0e   ┆Y TO USE "RUN PROGRAM" COMMAND  ┆
0x04c2c0…04c2e0             0e 00 0e 20 46 69 6c 65 20 19 20 4e 6f 74 20 46 6f 75 6e 64 20 2d 2d 20 0e 20 43 61 6e 27 74 20   ┆    File   Not Found --   Can't ┆
0x04c2e0…04c300             52 75 6e 20 61 20 70 72 6f 67 72 61 6d 20 75 6e 6c 65 73 73 20 19 20 69 73 20 61 76 61 69 6c 61   ┆Run a program unless   is availa┆
0x04c300…04c320             62 6c 65 2e 20 0e 0e 00 89 89 20 46 49 4c 45 20 1a 20 41 4c 52 45 41 44 59 20 45 58 49 53 54 53   ┆ble.       FILE   ALREADY EXISTS┆
0x04c320…04c340             20 00 89 89 20 46 49 4c 45 20 1a 20 4e 4f 54 20 4f 4e 20 53 41 4d 45 20 44 52 49 56 45 20 00 0e   ┆     FILE   NOT ON SAME DRIVE   ┆
0x04c340…04c360             13 20 54 4f 4f 20 4c 49 54 54 4c 45 20 4d 45 4d 4f 52 59 20 54 4f 20 43 4f 50 59 20 57 48 49 4c   ┆  TOO LITTLE MEMORY TO COPY WHIL┆
0x04c360…04c380             45 20 0e 13 20 45 44 49 54 49 4e 47 20 4f 52 20 4d 45 52 47 45 2d 50 52 49 4e 54 49 4e 47 20 20   ┆E    EDITING OR MERGE-PRINTING  ┆
0x04c380…04c3a0             20 20 20 20 20 0e 0e 00 89 20 46 49 4c 45 20 1a 20 45 58 49 53 54 53 20 2d 2d 20 4f 56 45 52 57   ┆          FILE   EXISTS -- OVERW┆
0x04c3a0…04c3c0             52 49 54 45 3f 20 28 59 2f 4e 29 3a 20 00 89 89 20 46 49 4c 45 20 1a 20 49 4e 20 55 53 45 20 42   ┆RITE? (Y/N):     FILE   IN USE B┆
0x04c3c0…04c3e0             59 20 57 6f 72 64 53 74 61 72 20 00 0e 89 09 09 20 20 20 20 0e 89 20 20 50 3d 17 20 20 0e 89 09   ┆Y WordStar              P=      ┆
0x04c3e0…04c400             09 20 20 20 20 a0 00 0e 0e 13 20 50 72 65 73 73 20 73 70 61 63 65 20 62 61 72 20 61 66 74 65 72   ┆           Press space bar after┆
0x04c400…04c420 (20, 0, 11) 20 70 72 69 6e 74 65 64 09 09 09 09 20 20 20 20 20 20 0e 09 09 09 20 20 20 20 20 70 72 65 73 73   ┆ printed                   press┆
0x04c420…04c440             20 73 70 61 63 65 20 62 61 72 20 66 6f 72 20 6e 65 78 74 20 66 72 61 6d 65 3a 20 18 20 2e 48 45   ┆ space bar for next frame:   .HE┆
0x04c440…04c460             20 74 65 78 74 20 20 20 48 45 61 64 69 6e 67 20 75 73 65 64 20 75 6e 74 69 6c 20 6e 65 78 74 20   ┆ text   HEading used until next ┆
0x04c460…04c480             2e 48 45 09 20 20 20 20 20 20 28 64 65 66 61 75 6c 74 20 62 6c 61 6e 6b 29 20 0e 20 2e 46 4f 20   ┆.HE       (default blank)   .FO ┆
0x04c480…04c4a0             74 65 78 74 20 20 20 46 4f 6f 6f 74 69 6e 67 20 20 20 28 72 65 70 6c 61 63 65 73 20 70 61 67 65   ┆text   FOooting   (replaces page┆
0x04c4a0…04c4c0             20 6e 75 6d 62 65 72 29 09 20 20 20 20 20 20 28 62 6c 61 6e 6b 29 20 0e 20 2e 50 4c 20 6e 20 20   ┆ number)       (blank)   .PL n  ┆
0x04c4c0…04c4e0             50 61 70 65 72 20 4c 65 6e 67 74 68 3a 20 20 74 6f 74 61 6c 20 6e 75 6d 62 65 72 20 6f 66 20 6c   ┆Paper Length:  total number of l┆
0x04c4e0…04c500             69 6e 65 73 09 20 28 64 65 66 61 75 6c 74 20 36 36 29 20 0e 20 2e 4d 54 20 6e 20 20 4d 61 72 67   ┆ines  (default 66)   .MT n  Marg┆
0x04c500…04c520             69 6e 20 61 74 20 54 6f 70 3a 20 23 20 6c 69 6e 65 73 2c 20 74 6f 70 20 70 61 70 65 72 20 74 6f   ┆in at Top: # lines, top paper to┆
0x04c520…04c540             20 74 65 78 74 09 20 20 28 33 29 20 0e 20 2e 4d 42 20 6e 09 4d 61 72 67 69 6e 20 61 74 20 42 6f   ┆ text   (3)   .MB n Margin at Bo┆
0x04c540…04c560             74 74 6f 6d 3a 20 23 20 6c 69 6e 65 73 2c 20 65 6e 64 20 74 65 78 74 20 74 6f 20 65 6e 64 20 70   ┆ttom: # lines, end text to end p┆
0x04c560…04c580             61 70 65 72 20 20 28 38 29 20 0e 20 20 20 20 20 20 23 20 6c 69 6e 65 73 20 74 65 78 74 20 6f 6e   ┆aper  (8)        # lines text on┆
0x04c580…04c5a0             20 70 61 67 65 20 69 73 20 20 50 4c 20 2d 20 4d 54 20 2d 20 4d 42 20 20 28 64 65 66 61 75 6c 74   ┆ page is  PL - MT - MB  (default┆
0x04c5a0…04c5c0             73 20 74 6f 20 35 35 29 20 0e 20 2e 48 4d 20 6e 09 48 65 61 64 69 6e 67 20 4d 61 72 67 69 6e 3a   ┆s to 55)   .HM n Heading Margin:┆
0x04c5c0…04c5e0             20 62 6c 61 6e 6b 20 6c 69 6e 65 73 20 62 65 74 77 65 65 6e 20 68 65 61 64 20 61 6e 64 20 74 65   ┆ blank lines between head and te┆
0x04c5e0…04c600             78 74 20 28 32 29 20 0e 20 2e 46 4d 20 6e 09 46 6f 6f 74 69 6e 67 20 4d 61 72 67 69 6e 3a 20 62   ┆xt (2)   .FM n Footing Margin: b┆
0x04c600…04c620 (20, 0, 12) 52 56 09 20 20 20 20 20 20 0e 20 2e 52 56 20 6e 61 6d 65 2c 6e 61 6d 65 2c 6e 61 6d 65 2c 2e 2e   ┆RV         .RV name,name,name,..┆
0x04c620…04c640             2e 20 20 52 65 61 64 20 56 61 72 69 61 62 6c 65 20 76 61 6c 75 65 73 20 66 72 6f 6d 20 64 61 74   ┆.  Read Variable values from dat┆
0x04c640…04c660             61 20 66 69 6c 65 20 20 0e 20 2e 41 56 20 22 70 72 6f 6d 70 74 22 2c 6e 61 6d 65 09 20 41 73 6b   ┆a file    .AV "prompt",name  Ask┆
0x04c660…04c680             20 6f 70 65 72 61 74 6f 72 20 66 6f 72 20 56 61 72 69 61 62 6c 65 20 76 61 6c 75 65 20 20 20 20   ┆ operator for Variable value    ┆
0x04c680…04c6a0             20 20 0e 20 20 26 6e 61 6d 65 26 09 20 20 20 61 6e 79 77 68 65 72 65 20 69 6e 20 64 6f 63 27 74   ┆     &name&    anywhere in doc't┆
0x04c6a0…04c6c0             20 70 72 69 6e 74 73 20 61 73 20 76 61 72 69 61 62 6c 65 20 76 61 6c 75 65 2e 0e 20 20 20 20 20   ┆ prints as variable value.      ┆
0x04c6c0…04c6e0             76 61 72 69 61 62 6c 65 20 6e 61 6d 65 73 20 61 72 65 20 6c 65 74 74 65 72 20 74 68 65 6e 20 30   ┆variable names are letter then 0┆
0x04c6e0…04c700             2d 33 39 20 6c 65 74 74 65 72 73 2c 20 64 69 67 69 74 73 2c 20 2d 27 73 2e 0e 20 2e 46 49 20 66   ┆-39 letters, digits, -'s.  .FI f┆
0x04c700…04c720             69 6c 65 6e 61 6d 65 09 09 20 49 6e 73 65 72 74 20 64 6f 63 75 6d 65 6e 74 20 46 69 6c 65 09 09   ┆ilename   Insert document File  ┆
0x04c720…04c740             20 20 20 20 20 20 0e 20 2e 44 4d 20 6d 65 73 73 61 67 65 09 09 20 44 69 73 70 6c 61 79 20 4d 65   ┆        .DM message   Display Me┆
0x04c740…04c760             73 73 61 67 65 20 09 09 20 20 20 20 20 20 0e 20 53 65 65 20 6d 61 6e 75 61 6c 20 66 6f 72 20 64   ┆ssage           See manual for d┆
0x04c760…04c780             65 74 61 69 6c 73 20 61 6e 64 20 61 64 64 69 74 69 6f 6e 61 6c 20 63 6f 6d 6d 61 6e 64 73 2e 20   ┆etails and additional commands. ┆
0x04c780…04c7a0             20 4d 65 72 67 65 2d 50 72 69 6e 74 20 0e 20 69 73 20 61 6e 20 6f 70 74 69 6f 6e 61 6c 20 66 65   ┆ Merge-Print   is an optional fe┆
0x04c7a0…04c7c0             61 74 75 72 65 2c 20 6f 70 65 72 61 74 69 6f 6e 61 6c 20 6f 6e 6c 79 20 69 66 20 4d 45 52 47 50   ┆ature, operational only if MERGP┆
0x04c7c0…04c7e0             52 49 4e 2e 4f 56 52 20 69 73 20 20 0e 20 6f 6e 20 79 6f 75 72 20 64 69 73 6b 65 74 74 65 2e 09   ┆RIN.OVR is    on your diskette. ┆
0x04c7e0…04c800             20 50 72 65 73 73 20 61 6e 79 20 6b 65 79 20 74 6f 20 72 65 74 75 72 6e 20 74 6f 20 65 64 69 74   ┆ Press any key to return to edit┆
0x04c800…04c820 (20, 0, 13) 4e 47 3a 20 59 6f 75 20 61 72 65 20 70 72 69 6e 74 69 6e 67 20 74 68 65 20 73 61 6d 65 20 66 69   ┆NG: You are printing the same fi┆
0x04c820…04c840             6c 65 20 61 73 20 79 6f 75 20 61 72 65 20 65 64 69 74 69 6e 67 2e 20 0e 20 54 68 65 20 6c 61 73   ┆le as you are editing.   The las┆
0x04c840…04c860             74 20 73 61 76 65 64 20 76 65 72 73 69 6f 6e 20 77 69 6c 6c 20 62 65 20 70 72 69 6e 74 65 64 2c   ┆t saved version will be printed,┆
0x04c860…04c880             20 6e 6f 74 20 72 65 66 6c 65 63 74 69 6e 67 20 75 6e 2d 20 20 0e 20 73 61 76 65 64 20 63 68 61   ┆ not reflecting un-    saved cha┆
0x04c880…04c8a0             6e 67 65 73 2e 20 20 46 75 72 74 68 65 72 6d 6f 72 65 2c 20 57 6f 72 64 53 74 61 72 20 77 69 6c   ┆nges.  Furthermore, WordStar wil┆
0x04c8a0…04c8c0             6c 20 6e 6f 74 20 61 6c 6c 6f 77 20 79 6f 75 20 74 6f 20 0e 20 73 61 76 65 20 74 68 65 20 66 69   ┆l not allow you to   save the fi┆
0x04c8c0…04c8e0             6c 65 20 62 65 69 6e 67 20 65 64 69 74 65 64 20 77 68 69 6c 65 20 74 68 65 20 70 72 69 6e 74 20   ┆le being edited while the print ┆
0x04c8e0…04c900             69 73 20 69 6e 20 70 72 6f 67 72 65 73 73 2e 20 20 0e 00 0e 20 45 4e 44 20 45 44 49 54 20 28 5e   ┆is in progress.      END EDIT (^┆
0x04c900…04c920             4b 44 29 20 42 45 46 4f 52 45 20 53 54 41 52 54 49 4e 47 20 50 52 49 4e 54 2e 09 20 20 20 20 20   ┆KD) BEFORE STARTING PRINT.      ┆
0x04c920…04c940             20 0e 20 59 4f 55 52 20 53 59 53 54 45 4d 20 44 4f 45 53 20 4e 4f 54 20 48 41 56 45 20 45 4e 4f   ┆   YOUR SYSTEM DOES NOT HAVE ENO┆
0x04c940…04c960             55 47 48 20 4d 45 4d 4f 52 59 20 54 4f 20 20 20 0e 20 50 45 52 4d 49 54 20 53 49 4d 55 4c 54 41   ┆UGH MEMORY TO     PERMIT SIMULTA┆
0x04c960…04c980             4e 45 4f 55 53 20 45 44 49 54 49 4e 47 20 41 4e 44 20 50 52 49 4e 54 49 4e 47 2e 20 20 20 20 0e   ┆NEOUS EDITING AND PRINTING.     ┆
0x04c980…04c9a0             00 0e 20 54 4f 4f 20 4c 49 54 54 4c 45 20 4d 45 4d 4f 52 59 20 46 4f 52 20 4d 45 52 47 45 2d 50   ┆   TOO LITTLE MEMORY FOR MERGE-P┆
0x04c9a0…04c9c0             52 49 4e 54 20 0e 0e 00 0e 20 2a 2a 2a 20 20 50 52 49 4e 54 20 4f 55 54 50 55 54 20 44 49 53 4b   ┆RINT      ***  PRINT OUTPUT DISK┆
0x04c9c0…04c9e0             20 49 53 20 46 55 4c 4c 2e 20 20 50 52 49 4e 54 20 50 41 55 53 45 44 2e 20 20 2a 2a 2a 20 0e 0e   ┆ IS FULL.  PRINT PAUSED.  ***   ┆
0x04c9e0…04ca00             00 54 48 41 54 20 50 4c 41 43 45 20 4d 41 52 4b 45 52 20 4e 4f 54 20 53 45 54 00 42 4c 4f 43 4b   ┆ THAT PLACE MARKER NOT SET BLOCK┆
0x04ca00…04ca20 (20, 0, 14) 20 72 65 61 64 69 6e 67 20 73 63 72 65 65 6e 3a 20 00 20 2a 2a 2a 20 49 6e 76 61 6c 69 64 20 44   ┆ reading screen:   *** Invalid D┆
0x04ca20…04ca40             6f 74 20 43 6f 6d 6d 61 6e 64 20 49 67 6e 6f 72 65 64 3a 20 00 20 2a 2a 2a 20 46 69 6c 65 20 00   ┆ot Command Ignored:   *** File  ┆
0x04ca40…04ca60             20 4e 6f 74 20 46 6f 75 6e 64 20 00 20 2a 2a 2a 20 42 75 74 20 66 6f 75 6e 64 2c 20 61 6e 64 20   ┆ Not Found   *** But found, and ┆
0x04ca60…04ca80             77 69 6c 6c 20 75 73 65 2c 20 00 20 00 20 2a 2a 2a 20 43 61 6e 6e 6f 74 20 63 68 61 6e 67 65 20   ┆will use,     *** Cannot change ┆
0x04ca80…04caa0             64 69 73 6b 20 69 6e 20 64 72 69 76 65 20 00 2c 20 72 65 71 75 65 73 74 20 69 67 6e 6f 72 65 64   ┆disk in drive  , request ignored┆
0x04caa0…04cac0             20 00 49 6e 73 65 72 74 20 64 69 73 6b 65 74 74 65 20 77 69 74 68 20 66 69 6c 65 20 00 20 74 68   ┆  Insert diskette with file   th┆
0x04cac0…04cae0             65 6e 20 70 72 65 73 73 20 52 45 54 55 52 4e 3a 20 00 20 2a 2a 2a 20 4e 6f 20 2e 44 46 20 62 65   ┆en press RETURN:   *** No .DF be┆
0x04cae0…04cb00             66 6f 72 65 20 2e 52 56 3a 20 00 20 2a 2a 2a 20 57 41 52 4e 49 4e 47 3a 20 4f 76 65 72 6c 6f 6e   ┆fore .RV:   *** WARNING: Overlon┆
0x04cb00…04cb20             67 20 64 61 74 61 20 76 61 6c 75 65 20 74 72 75 6e 63 61 74 65 64 20 00 20 2a 2a 2a 20 49 6e 76   ┆g data value truncated   *** Inv┆
0x04cb20…04cb40             61 6c 69 64 20 76 61 72 69 61 62 6c 65 20 6e 61 6d 65 20 69 6e 20 2e 52 56 20 63 6f 6d 6d 61 6e   ┆alid variable name in .RV comman┆
0x04cb40…04cb60             64 20 69 67 6e 6f 72 65 64 20 00 20 2a 2a 2a 20 57 41 52 4e 49 4e 47 3a 20 44 61 74 61 20 65 78   ┆d ignored   *** WARNING: Data ex┆
0x04cb60…04cb80             68 61 75 73 74 65 64 2c 20 6e 75 6c 6c 20 76 61 6c 75 65 28 73 29 20 75 73 65 64 20 00 20 20 20   ┆hausted, null value(s) used     ┆
0x04cb80…04cba0             20 20 20 20 20 20 20 20 20 20 20 20 20 2a 2a 2a 2a 2a 20 20 50 72 69 6e 74 20 44 69 72 65 63 74   ┆             *****  Print Direct┆
0x04cba0…04cbc0             69 76 65 73 20 20 2a 2a 2a 2a 2a 09 09 20 20 20 20 20 20 20 0e 20 50 52 49 4e 54 20 43 4f 4e 54   ┆ives  *****           PRINT CONT┆
0x04cbc0…04cbe0             52 4f 4c 20 43 48 41 52 41 43 54 45 52 53 20 6d 61 79 20 62 65 20 65 6e 74 65 72 65 64 20 61 6e   ┆ROL CHARACTERS may be entered an┆
0x04cbe0…04cc00             79 77 68 65 72 65 20 69 6e 20 61 20 6c 69 6e 65 20 20 20 20 0e 20 20 20 20 20 74 6f 20 69 6e 76   ┆ywhere in a line          to inv┆
0x04cc00…04cc20 (20, 0, 15) 6c 61 6e 6b 20 6c 69 6e 65 73 2c 20 74 65 78 74 20 74 6f 20 66 6f 6f 74 69 6e 67 09 20 20 28 32   ┆lank lines, text to footing   (2┆
0x04cc20…04cc40             29 20 0e 20 20 20 20 20 20 46 4f 52 20 50 41 47 45 20 42 52 45 41 4b 53 20 54 4f 20 44 49 53 50   ┆)        FOR PAGE BREAKS TO DISP┆
0x04cc40…04cc60             4c 41 59 20 41 53 20 54 48 45 59 20 57 49 4c 4c 20 50 52 49 4e 54 2c 20 55 53 45 20 20 20 20 20   ┆LAY AS THEY WILL PRINT, USE     ┆
0x04cc60…04cc80             20 0e 20 20 20 2e 50 4c 2c 2e 4d 54 2c 2e 4d 42 2c 20 41 4e 44 20 2e 4c 48 20 28 6e 65 78 74 20   ┆     .PL,.MT,.MB, AND .LH (next ┆
0x04cc80…04cca0             66 72 61 6d 65 29 20 41 54 20 46 49 4c 45 20 42 45 47 49 4e 4e 49 4e 47 20 4f 4e 4c 59 2e 20 20   ┆frame) AT FILE BEGINNING ONLY.  ┆
0x04cca0…04ccc0             0e 09 09 09 20 20 20 44 65 70 72 65 73 73 20 73 70 61 63 65 20 62 61 72 20 66 6f 72 20 6e 65 78   ┆       Depress space bar for nex┆
0x04ccc0…04cce0             74 20 66 72 61 6d 65 3a 20 18 20 20 20 20 54 48 45 20 46 4f 4c 4c 4f 57 49 4e 47 20 57 4f 52 4b   ┆t frame:      THE FOLLOWING WORK┆
0x04cce0…04cd00             20 4f 4e 4c 59 20 57 49 54 48 20 49 4e 43 52 45 4d 45 4e 54 41 4c 20 50 52 49 4e 54 45 52 53 3a   ┆ ONLY WITH INCREMENTAL PRINTERS:┆
0x04cd00…04cd20             09 20 20 20 20 20 20 0e 20 2e 4c 48 20 6e 20 20 4c 69 6e 65 20 48 65 69 67 68 74 20 69 6e 20 34   ┆         .LH n  Line Height in 4┆
0x04cd20…04cd40             38 74 68 73 20 6f 66 20 61 6e 20 69 6e 63 68 09 09 20 20 28 64 65 66 61 75 6c 74 20 38 29 20 0e   ┆8ths of an inch    (default 8)  ┆
0x04cd40…04cd60             20 2e 43 57 20 6e 20 20 43 68 61 72 61 63 74 65 72 20 57 69 64 74 68 20 69 6e 20 31 32 30 74 68   ┆ .CW n  Character Width in 120th┆
0x04cd60…04cd80             73 20 6f 66 20 61 6e 20 69 6e 63 68 2c 20 66 6f 72 20 73 74 61 6e 64 61 72 64 20 6f 72 20 0e 09   ┆s of an inch, for standard or   ┆
0x04cd80…04cda0             61 6c 74 65 72 6e 61 74 65 20 70 69 74 63 68 2c 20 77 68 69 63 68 65 76 65 72 20 69 73 20 69 6e   ┆alternate pitch, whichever is in┆
0x04cda0…04cdc0             20 75 73 65 20 28 73 65 65 20 5e 50 20 6d 65 6e 75 29 2e 20 20 20 0e 20 09 09 20 20 28 64 65 66   ┆ use (see ^P menu).         (def┆
0x04cdc0…04cde0             61 75 6c 74 20 31 32 20 66 6f 72 20 73 74 61 6e 64 61 72 64 2c 20 31 30 20 66 6f 72 20 61 6c 74   ┆ault 12 for standard, 10 for alt┆
0x04cde0…04ce00             65 72 6e 61 74 65 29 20 0e 20 2e 53 52 20 6e 20 20 53 75 62 73 63 72 69 70 74 20 2f 20 53 75 70   ┆ernate)   .SR n  Subscript / Sup┆
0x04ce00…04ce20 (20, 1, 1)  69 6e 67 3a 20 18 00 09 2a 2a 2a 2a 2a 20 20 53 54 41 54 55 53 20 4c 49 4e 45 20 28 74 6f 70 20   ┆ing:    *****  STATUS LINE (top ┆
0x04ce20…04ce40             6c 69 6e 65 20 6f 66 20 73 63 72 65 65 6e 29 20 20 2a 2a 2a 2a 2a 20 20 20 20 20 20 20 20 0e 20   ┆line of screen)  *****          ┆
0x04ce40…04ce60             5e 4a 53 09 20 20 20 20 20 20 61 74 20 6c 65 66 74 20 65 6e 64 20 6f 66 20 6c 69 6e 65 20 69 73   ┆^JS       at left end of line is┆
0x04ce60…04ce80             20 63 6f 6d 6d 61 6e 64 20 6e 6f 77 20 65 78 65 63 75 74 69 6e 67 20 20 20 20 0e 20 41 3a 4e 41   ┆ command now executing      A:NA┆
0x04ce80…04cea0             4d 45 2e 54 59 50 20 20 20 69 73 20 6e 61 6d 65 20 6f 66 20 66 69 6c 65 20 79 6f 75 20 61 72 65   ┆ME.TYP   is name of file you are┆
0x04cea0…04cec0             20 6e 6f 77 20 65 64 69 74 69 6e 67 09 20 20 20 20 20 20 0e 20 50 41 47 45 20 6e 20 20 20 20 20   ┆ now editing         PAGE n     ┆
0x04cec0…04cee0             20 20 69 73 20 70 61 67 65 20 6e 75 6d 62 65 72 20 6f 66 20 63 75 72 73 6f 72 20 28 64 69 73 72   ┆  is page number of cursor (disr┆
0x04cee0…04cf00             65 67 61 72 64 73 20 2e 50 4e 27 73 29 20 20 20 20 20 0e 20 4c 49 4e 45 20 6e 20 20 20 20 20 20   ┆egards .PN's)       LINE n      ┆
0x04cf00…04cf20             20 69 73 20 70 72 69 6e 74 6f 75 74 20 6c 69 6e 65 20 6f 6e 20 70 61 67 65 20 6f 66 20 63 75 72   ┆ is printout line on page of cur┆
0x04cf20…04cf40             73 6f 72 20 70 6f 73 69 74 69 6f 6e 20 20 20 20 20 0e 20 43 4f 4c 20 6e 20 20 20 20 20 20 20 20   ┆sor position       COL n        ┆
0x04cf40…04cf60             69 73 20 70 72 69 6e 74 6f 75 74 20 63 6f 6c 75 6d 6e 20 6f 6e 20 6c 69 6e 65 20 6f 66 20 63 75   ┆is printout column on line of cu┆
0x04cf60…04cf80             72 73 6f 72 20 70 6f 73 69 74 69 6f 6e 20 20 20 0e 20 49 4e 53 45 52 54 20 4f 4e 20 20 20 20 73   ┆rsor position     INSERT ON    s┆
0x04cf80…04cfa0             68 6f 77 73 20 69 66 20 63 68 61 72 61 63 74 65 72 20 69 6e 73 65 72 74 69 6f 6e 20 69 73 20 6f   ┆hows if character insertion is o┆
0x04cfa0…04cfc0             6e 20 28 5e 56 20 63 6f 6d 6d 61 6e 64 29 20 0e 20 4d 41 52 20 52 45 4c 20 20 20 20 20 20 73 68   ┆n (^V command)   MAR REL      sh┆
0x04cfc0…04cfe0             6f 77 73 20 69 66 20 6d 61 72 67 69 6e 73 20 61 72 65 20 72 65 6c 65 61 73 65 64 20 28 5e 4f 58   ┆ows if margins are released (^OX┆
0x04cfe0…04d000             20 63 6f 6d 6d 61 6e 64 29 20 20 20 20 20 0e 20 64 65 63 69 6d 61 6c 20 20 20 20 20 20 73 68 6f   ┆ command)       decimal      sho┆
0x04d000…04d020 (20, 1, 2)  70 72 69 6e 74 20 28 77 68 69 6c 65 20 65 64 69 74 69 6e 67 29 09 20 20 20 20 5e 4b 50 09 09 09   ┆print (while editing)     ^KP   ┆
0x04d020…04d040             09 20 20 20 20 0e 20 73 65 74 20 74 61 62 73 20 61 6e 64 20 6d 61 72 67 69 6e 73 09 20 20 20 20   ┆       set tabs and margins     ┆
0x04d040…04d060             6f 6e 20 5e 4f 20 6d 65 6e 75 09 09 09 20 20 20 20 0e 20 72 65 66 6f 72 6d 61 74 20 74 65 78 74   ┆on ^O menu         reformat text┆
0x04d060…04d080             09 09 20 20 20 20 5e 42 3b 20 5e 4a 42 20 67 69 76 65 73 20 69 6e 66 6f 09 09 20 20 20 20 0e 20   ┆      ^B; ^JB gives info        ┆
0x04d080…04d0a0             66 69 6e 64 20 61 20 73 74 72 69 6e 67 3b 20 72 65 70 6c 61 63 65 09 20 20 20 20 5e 51 46 3b 20   ┆find a string; replace     ^QF; ┆
0x04d0a0…04d0c0             5e 51 41 3b 20 5e 4c 20 72 65 70 65 61 74 73 20 6c 61 73 74 20 09 20 20 20 20 0e 09 09 20 20 20   ┆^QA; ^L repeats last            ┆
0x04d0c0…04d0e0             20 20 20 70 72 65 73 73 20 73 70 61 63 65 20 62 61 72 20 66 6f 72 20 22 65 6e 74 65 72 69 6e 67   ┆   press space bar for "entering┆
0x04d0e0…04d100             20 74 65 78 74 22 3a 20 18 09 20 20 20 20 20 20 20 2a 2a 2a 2a 2a 20 20 45 4e 54 45 52 49 4e 47   ┆ text":          *****  ENTERING┆
0x04d100…04d120             20 54 45 58 54 20 20 2a 2a 2a 2a 2a 09 09 20 20 20 20 20 0e 20 54 6f 20 65 6e 74 65 72 20 74 65   ┆ TEXT  *****         To enter te┆
0x04d120…04d140             78 74 20 61 74 20 63 75 72 73 6f 72 20 70 6f 73 69 74 69 6f 6e 2c 20 6a 75 73 74 20 74 79 70 65   ┆xt at cursor position, just type┆
0x04d140…04d160             20 74 68 65 20 74 65 78 74 2e 09 20 20 20 20 20 0e 20 55 73 65 20 52 45 54 55 52 4e 20 6b 65 79   ┆ the text.        Use RETURN key┆
0x04d160…04d180             20 66 6f 72 20 70 61 72 61 67 72 61 70 68 20 65 6e 64 20 6f 72 20 6f 74 68 65 72 20 66 69 78 65   ┆ for paragraph end or other fixe┆
0x04d180…04d1a0             64 20 6c 69 6e 65 20 62 72 65 61 6b 3b 20 0e 20 20 20 20 20 20 6c 65 74 20 77 6f 72 64 20 77 72   ┆d line break;        let word wr┆
0x04d1a0…04d1c0             61 70 20 66 6f 72 6d 20 6c 69 6e 65 73 20 77 69 74 68 69 6e 20 70 61 72 61 67 72 61 70 68 2e 09   ┆ap form lines within paragraph. ┆
0x04d1c0…04d1e0             20 20 20 20 20 0e 20 54 79 70 65 20 5e 56 20 74 6f 20 74 75 72 6e 20 69 6e 73 65 72 74 69 6f 6e   ┆       Type ^V to turn insertion┆
0x04d1e0…04d200             20 6f 66 66 20 28 74 6f 20 6f 76 65 72 74 79 70 65 29 20 6f 72 20 62 61 63 6b 20 6f 6e 2e 20 20   ┆ off (to overtype) or back on.  ┆
0x04d200…04d220 (20, 1, 3)  72 69 61 67 65 20 72 65 74 75 72 6e 20 28 3c 20 69 6e 20 72 69 67 68 74 6d 6f 73 74 20 63 6f 6c   ┆riage return (< in rightmost col┆
0x04d220…04d240             75 6d 6e 29 2e 09 09 20 20 20 20 20 0e 20 54 68 75 73 2c 20 69 74 20 69 73 20 69 6d 70 6f 72 74   ┆umn).         Thus, it is import┆
0x04d240…04d260             61 6e 74 20 6e 6f 74 20 74 6f 20 75 73 65 20 52 45 54 55 52 4e 20 62 65 74 77 65 65 6e 20 6c 69   ┆ant not to use RETURN between li┆
0x04d260…04d280             6e 65 73 09 20 20 20 20 20 0e 20 20 20 20 20 77 69 74 68 69 6e 20 61 20 70 61 72 61 67 72 61 70   ┆nes            within a paragrap┆
0x04d280…04d2a0             68 20 77 68 65 6e 20 65 6e 74 65 72 69 6e 67 20 74 65 78 74 2e 09 09 20 20 20 20 20 0e 20 5e 42   ┆h when entering text.         ^B┆
0x04d2a0…04d2c0             20 6d 61 79 20 62 65 20 75 73 65 64 20 74 6f 20 66 6f 72 6d 20 68 61 6e 67 69 6e 67 20 69 6e 64   ┆ may be used to form hanging ind┆
0x04d2c0…04d2e0             65 6e 74 73 2c 20 63 68 61 6e 67 65 20 6d 61 72 67 69 6e 73 20 69 6e 20 20 20 0e 20 20 20 20 20   ┆ents, change margins in         ┆
0x04d2e0…04d300             6d 69 64 2d 70 61 72 61 67 72 61 70 68 2c 20 65 74 63 2e 20 20 54 68 65 20 65 78 61 63 74 20 72   ┆mid-paragraph, etc.  The exact r┆
0x04d300…04d320             75 6c 65 20 69 73 3a 09 09 20 20 20 20 20 0e 20 20 20 20 20 22 5e 42 20 73 74 61 72 74 73 20 6f   ┆ule is:             "^B starts o┆
0x04d320…04d340             6e 20 74 68 65 20 63 75 72 73 6f 72 20 6c 69 6e 65 2c 20 61 74 20 74 68 65 20 6c 65 66 74 20 6d   ┆n the cursor line, at the left m┆
0x04d340…04d360             61 72 67 69 6e 20 63 6f 6c 2d 20 20 0e 20 20 20 20 20 75 6d 6e 2c 20 6f 72 20 61 74 20 74 68 65   ┆argin col-        umn, or at the┆
0x04d360…04d380             20 63 75 72 73 6f 72 20 70 6f 73 69 74 69 6f 6e 2c 20 77 68 69 63 68 65 76 65 72 20 69 73 20 66   ┆ cursor position, whichever is f┆
0x04d380…04d3a0             61 72 74 68 65 72 20 20 20 20 0e 20 20 20 20 20 6c 65 66 74 2c 20 61 6e 64 20 70 72 6f 63 65 65   ┆arther          left, and procee┆
0x04d3a0…04d3c0             64 73 20 74 6f 20 74 68 65 20 6e 65 78 74 20 27 68 61 72 64 27 20 63 61 72 72 69 61 67 65 20 72   ┆ds to the next 'hard' carriage r┆
0x04d3c0…04d3e0             65 74 75 72 6e 22 2e 20 0e 09 09 09 09 09 20 20 20 70 72 65 73 73 20 73 70 61 63 65 20 62 61 72   ┆eturn".          press space bar┆
0x04d3e0…04d400             3a 20 18 09 09 2a 2a 2a 2a 2a 20 20 48 79 70 68 65 6e 2d 48 65 6c 70 20 20 2a 2a 2a 2a 2a 09 09   ┆:    *****  Hyphen-Help  *****  ┆
0x04d400…04d420 (20, 1, 4)  53 20 20 2a 2a 2a 2a 2a 09 09 20 20 20 20 20 20 0e 09 09 09 09 09 09 09 20 20 20 20 20 20 0e 20   ┆S  *****                        ┆
0x04d420…04d440             54 6f 20 73 65 74 20 61 20 74 61 62 3a 20 74 79 70 65 20 5e 4f 49 2e 20 57 6f 72 64 53 74 61 72   ┆To set a tab: type ^OI. WordStar┆
0x04d440…04d460             20 77 69 6c 6c 20 61 73 6b 20 66 6f 72 20 63 6f 6c 75 6d 6e 20 6e 75 6d 62 65 72 2e 20 0e 20 20   ┆ will ask for column number.    ┆
0x04d460…04d480             20 20 54 79 70 65 20 63 6f 6c 75 6d 6e 20 6e 75 6d 62 65 72 20 61 6e 64 20 70 72 65 73 73 20 52   ┆  Type column number and press R┆
0x04d480…04d4a0             45 54 55 52 4e 2e 20 20 4f 72 2c 20 74 6f 20 75 73 65 20 63 75 72 73 6f 72 20 20 20 0e 20 20 20   ┆ETURN.  Or, to use cursor       ┆
0x04d4a0…04d4c0             20 63 6f 6c 75 6d 6e 2c 20 70 72 65 73 73 20 74 68 65 20 45 53 43 41 50 45 20 6b 65 79 2e 20 20   ┆ column, press the ESCAPE key.  ┆
0x04d4c0…04d4e0             54 6f 20 73 65 74 20 61 20 64 65 63 69 6d 61 6c 20 74 61 62 20 73 74 6f 70 2c 20 0e 20 20 20 20   ┆To set a decimal tab stop,      ┆
0x04d4e0…04d500             74 79 70 65 20 22 23 22 20 62 65 66 6f 72 65 20 74 79 70 69 6e 67 20 63 6f 6c 75 6d 6e 20 6e 75   ┆type "#" before typing column nu┆
0x04d500…04d520             6d 62 65 72 20 6f 72 20 70 72 65 73 73 69 6e 67 20 45 53 43 41 50 45 2e 20 20 0e 20 54 6f 20 63   ┆mber or pressing ESCAPE.    To c┆
0x04d520…04d540             6c 65 61 72 20 61 20 74 61 62 20 73 74 6f 70 20 6f 72 20 61 6c 6c 20 74 61 62 20 73 74 6f 70 73   ┆lear a tab stop or all tab stops┆
0x04d540…04d560             3a 20 74 79 70 65 20 5e 4f 4e 2e 09 20 20 20 20 20 20 0e 20 54 6f 20 74 61 62 3a 20 74 79 70 65   ┆: type ^ON.         To tab: type┆
0x04d560…04d580             20 5e 49 2c 20 6f 72 20 70 72 65 73 73 20 54 41 42 20 6b 65 79 20 69 66 20 70 72 65 73 65 6e 74   ┆ ^I, or press TAB key if present┆
0x04d580…04d5a0             2e 20 20 54 61 62 62 69 6e 67 09 20 20 20 20 20 20 0e 20 20 20 20 69 6e 73 65 72 74 73 20 73 70   ┆.  Tabbing            inserts sp┆
0x04d5a0…04d5c0             61 63 65 73 20 74 6f 20 6e 65 78 74 20 74 61 62 20 73 74 6f 70 20 69 66 20 69 6e 73 65 72 74 69   ┆aces to next tab stop if inserti┆
0x04d5c0…04d5e0             6f 6e 20 28 5e 56 29 20 69 73 20 6f 6e 2e 20 20 0e 20 20 20 20 54 61 62 62 69 6e 67 20 61 64 76   ┆on (^V) is on.       Tabbing adv┆
0x04d5e0…04d600             61 6e 63 65 73 20 63 75 72 73 6f 72 20 6f 76 65 72 20 74 65 78 74 20 69 66 20 69 6e 73 65 72 74   ┆ances cursor over text if insert┆
0x04d600…04d620 (20, 1, 5)  77 73 20 64 75 72 69 6e 67 20 64 65 63 69 6d 61 6c 20 74 61 62 62 69 6e 67 09 09 20 20 20 20 20   ┆ws during decimal tabbing       ┆
0x04d620…04d640             20 0e 20 4c 49 4e 45 20 53 50 41 43 49 4e 47 20 6e 20 20 73 68 6f 77 73 20 69 66 20 6c 69 6e 65   ┆   LINE SPACING n  shows if line┆
0x04d640…04d660             20 73 70 61 63 69 6e 67 20 69 73 20 6e 6f 74 20 31 20 28 5e 4f 53 20 63 6f 6d 6d 61 6e 64 29 20   ┆ spacing is not 1 (^OS command) ┆
0x04d660…04d680             0e 20 50 52 49 4e 54 20 50 41 55 53 45 20 20 20 20 20 73 68 6f 77 73 20 69 66 20 70 72 69 6e 74   ┆  PRINT PAUSE     shows if print┆
0x04d680…04d6a0             65 72 20 69 73 20 73 74 6f 70 70 65 64 20 28 5e 4b 50 20 74 6f 20 72 65 73 75 6d 65 29 20 20 0e   ┆er is stopped (^KP to resume)   ┆
0x04d6a0…04d6c0             20 77 68 65 6e 20 57 41 49 54 20 61 70 70 65 61 72 73 2c 20 73 74 6f 70 20 74 79 70 69 6e 67 2e   ┆ when WAIT appears, stop typing.┆
0x04d6c0…04d6e0             09 20 20 20 20 50 72 65 73 73 20 73 70 61 63 65 20 62 61 72 3a 20 18 20 20 20 20 49 66 20 70 61   ┆     Press space bar:      If pa┆
0x04d6e0…04d700             67 65 20 62 72 65 61 6b 20 64 69 73 70 6c 61 79 20 69 73 20 4f 46 46 20 28 5e 4f 50 20 63 6f 6d   ┆ge break display is OFF (^OP com┆
0x04d700…04d720             6d 61 6e 64 29 20 6f 72 20 65 64 69 74 20 20 20 20 20 0e 20 20 20 20 77 61 73 20 73 74 61 72 74   ┆mand) or edit          was start┆
0x04d720…04d740             65 64 20 77 69 74 68 20 4e 20 63 6f 6d 6d 61 6e 64 2c 20 74 68 65 6e 20 53 74 61 74 75 73 20 4c   ┆ed with N command, then Status L┆
0x04d740…04d760             69 6e 65 20 73 68 6f 77 73 20 20 20 20 20 0e 20 20 20 20 20 46 43 3d 6e 6e 6e 6e 20 46 4c 3d 6e   ┆ine shows           FC=nnnn FL=n┆
0x04d760…04d780             6e 6e 6e 20 20 20 69 6e 20 70 6c 61 63 65 20 6f 66 20 20 20 50 41 47 45 20 6e 20 20 4c 49 4e 45   ┆nnn   in place of   PAGE n  LINE┆
0x04d780…04d7a0             20 6e 20 2e 20 20 20 20 20 20 0e 09 09 09 09 09 09 09 20 20 20 0e 20 46 43 3d 6e 6e 6e 6e 20 20   ┆ n .                   FC=nnnn  ┆
0x04d7a0…04d7c0             20 20 63 75 72 73 6f 72 20 70 6f 73 69 74 69 6f 6e 20 69 6e 20 63 68 61 72 61 63 74 65 72 73 20   ┆  cursor position in characters ┆
0x04d7c0…04d7e0             28 62 79 74 65 73 29 20 66 72 6f 6d 20 20 20 20 20 0e 09 20 20 20 20 62 65 67 69 6e 6e 69 6e 67   ┆(bytes) from           beginning┆
0x04d7e0…04d800             20 6f 66 20 66 69 6c 65 09 09 09 09 20 20 20 0e 20 46 4c 3d 6e 6e 6e 6e 20 20 20 20 63 75 72 73   ┆ of file         FL=nnnn    curs┆
0x04d800…04d820 (20, 1, 6)  20 20 20 0e 20 5e 4e 20 6d 61 79 20 62 65 20 75 73 65 64 20 74 6f 20 63 72 65 61 74 65 20 62 6c   ┆     ^N may be used to create bl┆
0x04d820…04d840             61 6e 6b 20 6c 69 6e 65 73 20 61 68 65 61 64 20 6f 66 20 63 75 72 73 6f 72 2c 09 20 20 20 20 20   ┆ank lines ahead of cursor,      ┆
0x04d840…04d860             0e 20 20 20 20 20 20 61 73 20 62 65 66 6f 72 65 20 69 6e 73 65 72 74 69 6e 67 20 61 20 70 61 72   ┆       as before inserting a par┆
0x04d860…04d880             61 67 72 61 70 68 2e 09 09 09 20 20 20 20 20 0e 20 55 73 65 20 5e 42 20 74 6f 20 72 65 61 6c 69   ┆agraph.          Use ^B to reali┆
0x04d880…04d8a0             67 6e 20 6d 61 72 67 69 6e 73 20 61 66 74 65 72 20 63 6f 72 72 65 63 74 69 6f 6e 73 2e 09 09 20   ┆gn margins after corrections.   ┆
0x04d8a0…04d8c0             20 20 20 20 0e 20 5e 4a 4d 20 73 68 6f 77 73 20 69 6e 66 6f 20 6f 6e 20 6d 61 72 67 69 6e 73 2c   ┆      ^JM shows info on margins,┆
0x04d8c0…04d8e0             20 74 61 62 73 2c 20 74 61 62 6c 65 20 65 6e 74 72 79 2c 20 6f 75 74 6c 69 6e 65 20 65 6e 74 72   ┆ tabs, table entry, outline entr┆
0x04d8e0…04d900             79 2e 0e 09 09 09 20 20 20 20 20 70 72 65 73 73 20 73 70 61 63 65 20 62 61 72 20 61 66 74 65 72   ┆y.         press space bar after┆
0x04d900…04d920             20 72 65 61 64 69 6e 67 3a 20 18 00 20 20 20 20 20 20 20 20 20 20 20 2a 2a 2a 2a 2a 20 20 54 4f   ┆ reading:              *****  TO┆
0x04d920…04d940             20 4d 4f 56 45 20 41 20 42 4c 4f 43 4b 20 4f 46 20 54 45 58 54 20 20 2a 2a 2a 2a 2a 09 20 20 20   ┆ MOVE A BLOCK OF TEXT  *****    ┆
0x04d940…04d960             20 20 0e 20 31 2e 20 20 50 75 74 20 63 75 72 73 6f 72 20 6f 6e 20 66 69 72 73 74 20 63 68 61 72   ┆    1.  Put cursor on first char┆
0x04d960…04d980             61 63 74 65 72 2c 20 74 79 70 65 20 5e 4b 42 20 74 6f 20 6d 61 72 6b 20 73 74 61 72 74 2e 20 20   ┆acter, type ^KB to mark start.  ┆
0x04d980…04d9a0             0e 20 32 2e 20 20 50 75 74 20 63 75 72 73 6f 72 20 61 66 74 65 72 20 6c 61 73 74 20 63 68 61 72   ┆  2.  Put cursor after last char┆
0x04d9a0…04d9c0             61 63 74 65 72 2c 20 74 79 70 65 20 5e 4b 4b 20 74 6f 20 6d 61 72 6b 20 65 6e 64 20 20 20 0e 20   ┆acter, type ^KK to mark end     ┆
0x04d9c0…04d9e0             20 20 20 20 28 66 6f 72 20 65 6e 64 20 6c 69 6e 65 2c 20 75 73 65 20 73 74 61 72 74 20 6e 65 78   ┆    (for end line, use start nex┆
0x04d9e0…04da00             74 20 6c 69 6e 65 20 74 6f 20 69 6e 63 6c 75 64 65 20 52 45 54 55 52 4e 29 2e 20 20 0e 20 33 2e   ┆t line to include RETURN).    3.┆
0x04da00…04da20 (20, 1, 7)  20 20 20 20 0e 20 5e 42 20 77 69 6c 6c 20 6f 63 63 61 73 69 6f 6e 61 6c 6c 79 20 73 74 6f 70 20   ┆      ^B will occasionally stop ┆
0x04da20…04da40             62 65 66 6f 72 65 20 74 68 65 20 65 6e 64 20 6f 66 20 74 68 65 20 70 61 72 61 67 72 61 70 68 20   ┆before the end of the paragraph ┆
0x04da40…04da60             20 0e 20 20 20 20 20 61 6e 64 20 61 73 6b 20 79 6f 75 20 77 68 65 74 68 65 72 20 79 6f 75 20 77   ┆       and ask you whether you w┆
0x04da60…04da80             69 73 68 20 61 20 77 6f 72 64 20 68 79 70 68 65 6e 61 74 65 64 2e 09 20 20 20 20 0e 20 46 6f 6c   ┆ish a word hyphenated.       Fol┆
0x04da80…04daa0             6c 6f 77 69 6e 67 20 74 68 65 20 69 6e 73 74 72 75 63 74 69 6f 6e 73 20 74 68 61 74 20 61 70 70   ┆lowing the instructions that app┆
0x04daa0…04dac0             65 61 72 20 6f 6e 20 74 68 65 20 73 63 72 65 65 6e 2c 20 6d 6f 76 65 20 0e 20 20 20 20 20 74 68   ┆ear on the screen, move       th┆
0x04dac0…04dae0             65 20 63 75 72 73 6f 72 20 69 66 20 64 65 73 69 72 65 64 20 74 6f 20 61 64 6a 75 73 74 20 74 68   ┆e cursor if desired to adjust th┆
0x04dae0…04db00             65 20 68 79 70 68 65 6e 20 70 6f 73 69 74 69 6f 6e 2c 20 20 20 0e 20 20 20 20 20 74 68 65 6e 20   ┆e hyphen position,         then ┆
0x04db00…04db20             70 72 65 73 73 20 22 2d 22 20 74 6f 20 68 79 70 68 65 6e 61 74 65 2c 20 6f 72 20 5e 42 20 74 6f   ┆press "-" to hyphenate, or ^B to┆
0x04db20…04db40             20 6e 6f 74 20 68 79 70 68 65 6e 61 74 65 2e 20 20 20 0e 20 54 6f 20 74 75 72 6e 20 6f 66 66 20   ┆ not hyphenate.     To turn off ┆
0x04db40…04db60             22 68 79 70 68 65 6e 2d 68 65 6c 70 22 2c 20 74 79 70 65 20 5e 4f 48 2e 09 09 09 20 20 20 20 0e   ┆"hyphen-help", type ^OH.        ┆
0x04db60…04db80             09 09 09 09 09 20 20 70 72 65 73 73 20 73 70 61 63 65 20 62 61 72 3a 20 18 00 09 09 20 20 2a 2a   ┆       press space bar:       **┆
0x04db80…04dba0             2a 2a 2a 20 20 4d 41 52 47 49 4e 53 20 20 2a 2a 2a 2a 2a 09 09 09 20 20 20 20 20 20 0e 20 54 6f   ┆***  MARGINS  *****           To┆
0x04dba0…04dbc0             20 73 65 74 20 6c 65 66 74 20 6d 61 72 67 69 6e 3a 20 54 79 70 65 20 5e 4f 4c 2e 20 57 6f 72 64   ┆ set left margin: Type ^OL. Word┆
0x04dbc0…04dbe0             53 74 61 72 20 77 69 6c 6c 20 61 73 6b 73 20 66 6f 72 20 63 6f 6c 75 6d 6e 2e 20 0e 20 20 20 20   ┆Star will asks for column.      ┆
0x04dbe0…04dc00             20 54 79 70 65 20 64 65 73 69 72 65 64 20 63 6f 6c 75 6d 6e 20 6e 75 6d 62 65 72 20 31 2d 32 34   ┆ Type desired column number 1-24┆
0x04dc00…04dc20 (20, 1, 8)  69 6f 6e 20 69 73 20 6f 66 66 2e 20 20 20 20 0e 09 09 09 09 09 20 20 20 20 70 72 65 73 73 20 73   ┆ion is off.              press s┆
0x04dc20…04dc40             70 61 63 65 20 62 61 72 3a 20 18 20 20 20 20 45 4e 54 45 52 49 4e 47 20 41 20 43 4f 4c 55 4d 4e   ┆pace bar:      ENTERING A COLUMN┆
0x04dc40…04dc60             41 52 20 54 41 42 4c 45 20 2d 2d 20 57 65 20 53 75 67 67 65 73 74 3a 09 09 20 20 20 20 20 0e 09   ┆AR TABLE -- We Suggest:         ┆
0x04dc60…04dc80             09 09 09 09 09 09 20 20 20 20 20 0e 20 53 65 74 20 61 20 74 61 62 20 73 74 6f 70 20 66 6f 72 20   ┆             Set a tab stop for ┆
0x04dc80…04dca0             65 61 63 68 20 63 6f 6c 75 6d 6e 20 6f 66 20 74 61 62 6c 65 2e 09 09 20 20 20 20 20 0e 20 43 6c   ┆each column of table.         Cl┆
0x04dca0…04dcc0             65 61 72 20 61 6c 6c 20 6f 74 68 65 72 20 74 61 62 20 73 74 6f 70 73 2e 09 09 09 09 20 20 20 20   ┆ear all other tab stops.        ┆
0x04dcc0…04dce0             20 0e 20 49 66 20 6e 6f 74 20 61 74 20 65 6e 64 20 66 69 6c 65 2c 20 74 75 72 6e 20 6f 6e 20 69   ┆   If not at end file, turn on i┆
0x04dce0…04dd00             6e 73 65 72 74 69 6f 6e 20 28 5e 56 29 2c 09 09 20 20 20 20 20 0e 20 20 20 20 6f 72 20 75 73 65   ┆nsertion (^V),            or use┆
0x04dd00…04dd20             20 5e 4e 20 74 6f 20 6d 61 6b 65 20 62 6c 61 6e 6b 20 6c 69 6e 65 73 2e 09 09 09 20 20 20 20 20   ┆ ^N to make blank lines.        ┆
0x04dd20…04dd40             0e 20 54 61 62 20 28 5e 49 29 20 61 66 74 65 72 20 65 6e 74 65 72 69 6e 67 20 65 61 63 68 20 74   ┆  Tab (^I) after entering each t┆
0x04dd40…04dd60             61 62 6c 65 20 69 74 65 6d 2e 20 20 41 66 74 65 72 20 6c 61 73 74 20 63 6f 6c 75 6d 6e 20 0e 20   ┆able item.  After last column   ┆
0x04dd60…04dd80             20 20 20 6f 6e 20 61 20 6c 69 6e 65 2c 20 74 61 62 62 69 6e 67 20 77 69 6c 6c 20 6d 6f 76 65 20   ┆   on a line, tabbing will move ┆
0x04dd80…04dda0             74 6f 20 66 69 72 73 74 20 69 74 65 6d 20 6f 6e 20 6e 65 78 74 20 6c 69 6e 65 2e 20 0e 09 09 09   ┆to first item on next line.     ┆
0x04dda0…04ddc0             09 09 09 20 73 70 61 63 65 20 62 61 72 3a 20 18 20 20 20 20 4f 55 54 4c 49 4e 45 20 46 4f 52 4d   ┆    space bar:      OUTLINE FORM┆
0x04ddc0…04dde0             41 54 20 54 45 58 54 20 45 4e 54 52 59 20 2d 2d 20 57 65 20 53 75 67 67 65 73 74 3a 09 09 20 20   ┆AT TEXT ENTRY -- We Suggest:    ┆
0x04dde0…04de00             20 20 0e 20 53 65 74 20 74 61 62 20 73 74 6f 70 73 20 61 74 20 64 65 73 69 72 65 64 20 69 6e 64   ┆    Set tab stops at desired ind┆
0x04de00…04de20 (20, 1, 9)  6f 72 20 70 6f 73 69 74 69 6f 6e 20 69 6e 20 66 69 6c 65 20 6c 69 6e 65 73 20 66 72 6f 6d 20 62   ┆or position in file lines from b┆
0x04de20…04de40             65 67 69 6e 6e 69 6e 67 20 20 20 0e 09 20 20 20 20 6f 66 20 66 69 6c 65 2c 20 69 6e 63 6c 75 64   ┆eginning         of file, includ┆
0x04de40…04de60             69 6e 67 20 64 6f 74 20 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65 73 09 20 20 20 0e 09 09 09 09 09 09   ┆ing dot command lines           ┆
0x04de60…04de80             09 20 20 20 0e 09 09 09 09 09 20 20 20 20 20 20 20 73 70 61 63 65 20 62 61 72 3a 20 18 00 20 20   ┆                 space bar:     ┆
0x04de80…04dea0             2a 2a 2a 2a 2a 20 20 46 4c 41 47 20 43 48 41 52 41 43 54 45 52 53 20 28 72 69 67 68 74 6d 6f 73   ┆*****  FLAG CHARACTERS (rightmos┆
0x04dea0…04dec0             74 20 63 6f 6c 75 6d 6e 20 6f 66 20 73 63 72 65 65 6e 29 20 20 2a 2a 2a 2a 2a 20 20 0e 20 20 3c   ┆t column of screen)  *****     <┆
0x04dec0…04dee0             20 20 20 20 20 6c 69 6e 65 20 65 6e 64 73 20 69 6e 20 22 68 61 72 64 22 20 63 61 72 72 69 61 67   ┆     line ends in "hard" carriag┆
0x04dee0…04df00             65 20 72 65 74 75 72 6e 2c 20 65 6e 74 65 72 65 64 20 62 79 20 75 73 65 72 20 20 0e 20 73 70 61   ┆e return, entered by user    spa┆
0x04df00…04df20             63 65 20 20 74 68 69 73 20 6c 69 6e 65 20 62 72 65 61 6b 20 61 72 6f 73 65 20 66 72 6f 6d 20 77   ┆ce  this line break arose from w┆
0x04df20…04df40             6f 72 64 20 77 72 61 70 20 6f 72 20 70 61 72 61 67 72 61 70 68 20 20 20 20 20 0e 20 09 20 20 72   ┆ord wrap or paragraph          r┆
0x04df40…04df60             65 66 6f 72 6d 2c 20 61 6e 64 20 6d 61 79 20 6d 6f 76 65 64 20 6f 6e 20 73 75 62 73 65 71 75 65   ┆eform, and may moved on subseque┆
0x04df60…04df80             6e 74 20 72 65 66 6f 72 6d 09 20 20 20 20 20 20 0e 20 20 2b 20 20 20 20 20 74 68 69 73 20 6c 69   ┆nt reform          +     this li┆
0x04df80…04dfa0             6e 65 20 6f 66 20 64 6f 63 75 6d 65 6e 74 20 63 6f 6e 74 69 6e 75 65 73 20 6f 6e 20 6e 65 78 74   ┆ne of document continues on next┆
0x04dfa0…04dfc0             20 73 63 72 65 65 6e 20 6c 69 6e 65 20 20 20 0e 20 20 2d 20 20 20 20 20 6e 65 78 74 20 6c 69 6e   ┆ screen line      -     next lin┆
0x04dfc0…04dfe0             65 20 77 69 6c 6c 20 6f 76 65 72 70 72 69 6e 74 20 74 68 69 73 20 6c 69 6e 65 09 09 20 20 20 20   ┆e will overprint this line      ┆
0x04dfe0…04e000             20 20 0e 20 20 3f 20 20 20 20 20 75 6e 72 65 63 6f 67 6e 69 7a 65 64 20 6f 72 20 69 6e 63 6f 6d   ┆     ?     unrecognized or incom┆
0x04e000…04e020 (20, 1, 10) 20 20 50 75 74 20 63 75 72 73 6f 72 20 61 74 20 64 65 73 74 69 6e 61 74 69 6f 6e 2c 20 74 79 70   ┆  Put cursor at destination, typ┆
0x04e020…04e040             65 20 5e 4b 56 20 74 6f 20 6d 6f 76 65 20 74 68 65 20 74 65 78 74 2c 20 20 20 0e 20 20 20 20 20   ┆e ^KV to move the text,         ┆
0x04e040…04e060             6f 72 20 5e 4b 43 20 74 6f 20 6d 61 6b 65 20 61 20 64 75 70 6c 69 63 61 74 65 20 63 6f 70 79 2e   ┆or ^KC to make a duplicate copy.┆
0x04e060…04e080             09 09 09 20 20 20 20 20 0e 20 54 6f 20 75 6e 64 69 73 70 6c 61 79 20 6d 61 72 6b 65 72 73 20 61   ┆          To undisplay markers a┆
0x04e080…04e0a0             66 74 65 72 77 61 72 64 73 2c 20 75 73 65 20 5e 4b 48 2e 09 09 20 20 20 20 20 0e 20 5e 4b 42 20   ┆fterwards, use ^KH.         ^KB ┆
0x04e0a0…04e0c0             61 6e 64 20 5e 4b 4b 20 6d 61 79 20 62 65 20 65 6e 74 65 72 65 64 20 69 6e 20 65 69 74 68 65 72   ┆and ^KK may be entered in either┆
0x04e0c0…04e0e0             20 6f 72 64 65 72 2c 20 77 69 74 68 20 6f 72 20 77 69 74 68 6f 75 74 20 0e 20 20 20 20 20 6f 74   ┆ order, with or without       ot┆
0x04e0e0…04e100             68 65 72 20 69 6e 74 65 72 76 65 6e 69 6e 67 20 63 6f 6d 6d 61 6e 64 73 2e 09 09 09 20 20 20 20   ┆her intervening commands.       ┆
0x04e100…04e120             20 0e 20 41 6c 6c 20 61 62 6f 76 65 20 63 6f 6d 6d 61 6e 64 73 20 61 72 65 20 6f 6e 20 5e 4b 20   ┆   All above commands are on ^K ┆
0x04e120…04e140             6d 65 6e 75 2e 09 70 72 65 73 73 20 73 70 61 63 65 20 62 61 72 3a 20 20 18 00 09 20 20 20 20 20   ┆menu. press space bar:          ┆
0x04e140…04e160             2a 2a 2a 2a 2a 20 20 50 41 52 41 47 52 41 50 48 20 52 45 46 4f 52 4d 20 28 5e 42 29 20 20 2a 2a   ┆*****  PARAGRAPH REFORM (^B)  **┆
0x04e160…04e180             2a 2a 2a 20 09 20 20 20 20 20 20 0e 20 54 6f 20 72 65 61 6c 69 67 6e 20 6d 61 72 67 69 6e 73 20   ┆***          To realign margins ┆
0x04e180…04e1a0             6f 66 20 61 20 70 61 72 61 67 72 61 70 68 20 61 66 74 65 72 20 63 6f 72 72 65 63 74 69 6f 6e 73   ┆of a paragraph after corrections┆
0x04e1a0…04e1c0             2c 20 70 6c 61 63 65 20 20 20 0e 20 20 20 20 20 63 75 72 73 6f 72 20 61 74 20 62 65 67 69 6e 6e   ┆, place         cursor at beginn┆
0x04e1c0…04e1e0             69 6e 67 20 6f 66 20 70 61 72 61 67 72 61 70 68 20 61 6e 64 20 74 79 70 65 20 5e 42 2e 09 20 20   ┆ing of paragraph and type ^B.   ┆
0x04e1e0…04e200             20 20 20 20 0e 20 54 6f 20 63 68 61 6e 67 65 20 6d 61 72 67 69 6e 73 20 6f 66 20 70 61 72 61 67   ┆      To change margins of parag┆
0x04e200…04e220 (20, 1, 11) 30 20 61 6e 64 20 70 72 65 73 73 20 52 45 54 55 52 4e 2e 09 20 20 20 20 20 20 0e 20 20 20 20 20   ┆0 and press RETURN.             ┆
0x04e220…04e240             4f 72 2c 20 74 6f 20 75 73 65 20 63 6f 6c 75 6d 6e 20 6f 66 20 63 75 72 73 6f 72 20 69 6e 20 66   ┆Or, to use column of cursor in f┆
0x04e240…04e260             69 6c 65 2c 20 6a 75 73 74 20 70 72 65 73 73 20 45 53 43 41 50 45 2e 20 20 0e 20 54 6f 20 73 65   ┆ile, just press ESCAPE.    To se┆
0x04e260…04e280             74 20 72 69 67 68 74 20 6d 61 72 67 69 6e 3a 20 74 79 70 65 20 5e 4f 52 2c 20 70 72 6f 63 65 65   ┆t right margin: type ^OR, procee┆
0x04e280…04e2a0             64 20 61 73 20 61 62 6f 76 65 2e 09 20 20 20 20 20 20 0e 20 54 6f 20 73 65 74 20 62 6f 74 68 20   ┆d as above.         To set both ┆
0x04e2a0…04e2c0             6d 61 72 67 69 6e 73 20 74 6f 20 6d 61 74 63 68 20 74 65 78 74 20 69 6e 20 61 20 6c 69 6e 65 20   ┆margins to match text in a line ┆
0x04e2c0…04e2e0             61 6c 72 65 61 64 79 20 65 6e 74 65 72 65 64 3a 20 0e 20 20 20 20 20 70 6c 61 63 65 20 63 75 72   ┆already entered:       place cur┆
0x04e2e0…04e300             73 6f 72 20 69 6e 20 74 68 61 74 20 6c 69 6e 65 2c 20 74 79 70 65 20 5e 4f 46 2e 09 09 20 20 20   ┆sor in that line, type ^OF.     ┆
0x04e300…04e320             20 20 20 0e 20 54 6f 20 74 65 6d 70 6f 72 61 72 69 6c 79 20 73 65 74 20 6c 65 66 74 20 6d 61 72   ┆     To temporarily set left mar┆
0x04e320…04e340             67 69 6e 20 74 6f 20 6e 65 78 74 20 74 61 62 20 73 74 6f 70 3a 20 74 79 70 65 20 5e 4f 47 2e 20   ┆gin to next tab stop: type ^OG. ┆
0x04e340…04e360             20 20 0e 20 4d 61 72 67 69 6e 73 20 61 70 70 6c 79 20 74 6f 20 74 65 78 74 20 73 75 62 73 65 71   ┆    Margins apply to text subseq┆
0x04e360…04e380             75 65 6e 74 6c 79 20 65 6e 74 65 72 65 64 2e 20 20 54 6f 20 72 65 6d 61 72 67 69 6e 61 74 65 20   ┆uently entered.  To remarginate ┆
0x04e380…04e3a0             20 0e 20 20 20 20 20 74 65 78 74 20 61 6c 72 65 61 64 79 20 65 6e 74 65 72 65 64 3a 20 73 65 74   ┆       text already entered: set┆
0x04e3a0…04e3c0             20 6d 61 72 67 69 6e 73 20 61 6e 64 20 75 73 65 20 5e 42 2e 09 20 20 20 20 20 20 0e 09 09 09 20   ┆ margins and use ^B.            ┆
0x04e3c0…04e3e0             20 20 20 20 20 70 72 65 73 73 20 73 70 61 63 65 20 62 61 72 20 61 66 74 65 72 20 72 65 61 64 69   ┆     press space bar after readi┆
0x04e3e0…04e400             6e 67 3a 20 18 20 20 20 20 20 20 20 20 2a 2a 2a 2a 2a 20 20 4c 49 4e 45 20 53 50 41 43 49 4e 47   ┆ng:          *****  LINE SPACING┆
0x04e400…04e420 (20, 1, 12) 65 6e 74 61 74 69 6f 6e 73 2e 09 09 09 20 20 20 20 0e 20 53 65 74 20 72 69 67 68 74 20 6d 61 72   ┆entations.         Set right mar┆
0x04e420…04e440             67 69 6e 20 61 73 20 64 65 73 69 72 65 64 2e 09 09 09 09 20 20 20 20 0e 20 46 6f 72 20 65 61 63   ┆gin as desired.          For eac┆
0x04e440…04e460             68 20 69 74 65 6d 3a 09 09 09 09 09 09 20 20 20 20 0e 09 54 79 70 65 20 5e 4f 47 27 73 20 61 73   ┆h item:            Type ^OG's as┆
0x04e460…04e480             20 72 65 71 75 69 72 65 64 20 66 6f 72 20 69 74 65 6d 20 6e 75 6d 62 65 72 20 69 6e 64 65 6e 74   ┆ required for item number indent┆
0x04e480…04e4a0             61 74 69 6f 6e 2e 20 0e 09 54 79 70 65 20 69 74 65 6d 20 6e 75 6d 62 65 72 2e 09 09 09 09 20 20   ┆ation.   Type item number.      ┆
0x04e4a0…04e4c0             20 20 0e 09 54 79 70 65 20 5e 4f 47 2e 09 09 09 09 09 20 20 20 20 0e 09 54 79 70 65 20 74 65 78   ┆    Type ^OG.           Type tex┆
0x04e4c0…04e4e0             74 20 6f 66 20 69 74 65 6d 2c 20 77 69 74 68 6f 75 74 20 75 73 69 6e 67 20 52 45 54 55 52 4e 2e   ┆t of item, without using RETURN.┆
0x04e4e0…04e500             09 20 20 20 20 0e 09 41 74 20 65 6e 64 20 6f 66 20 69 74 65 6d 2c 20 70 72 65 73 73 20 52 45 54   ┆       At end of item, press RET┆
0x04e500…04e520             55 52 4e 2e 20 20 4c 65 66 74 20 6d 61 72 67 69 6e 20 72 65 73 65 74 73 2e 20 20 0e 09 50 72 65   ┆URN.  Left margin resets.    Pre┆
0x04e520…04e540             73 73 20 52 45 54 55 52 4e 20 61 67 61 69 6e 20 69 66 20 62 6c 61 6e 6b 20 6c 69 6e 65 20 64 65   ┆ss RETURN again if blank line de┆
0x04e540…04e560             73 69 72 65 64 2e 09 20 20 20 20 0e 09 09 09 09 09 20 20 70 72 65 73 73 20 73 70 61 63 65 20 62   ┆sired.             press space b┆
0x04e560…04e580             61 72 3a 20 18 00 09 20 20 20 20 20 20 20 2a 2a 2a 2a 2a 20 20 52 55 4c 45 52 20 4c 49 4e 45 20   ┆ar:           *****  RULER LINE ┆
0x04e580…04e5a0             20 2a 2a 2a 2a 2a 09 09 09 0e 09 09 09 09 09 09 09 0e 20 20 4c 2d 2d 2d 2d 21 2d 2d 2d 2d 21 2d   ┆ *****              L----!----!-┆
0x04e5a0…04e5c0             2d 2d 2d 21 2d 2d 2d 2d 21 2d 2d 2d 2d 21 2d 2d 2d 2d 21 2d 2d 2d 2d 21 2d 2d 2d 2d 21 2d 2d 2d   ┆---!----!----!----!----!----!---┆
0x04e5c0…04e5e0             2d 2d 2d 2d 2d 2d 52 09 0e 09 09 09 09 09 09 09 0e 20 20 4c 20 20 20 4c 65 66 74 20 6d 61 72 67   ┆------R            L   Left marg┆
0x04e5e0…04e600             69 6e 20 28 73 65 74 20 77 69 74 68 20 5e 4f 4c 29 09 09 09 0e 20 20 52 20 20 20 52 69 67 68 74   ┆in (set with ^OL)      R   Right┆
0x04e600…04e620 (20, 1, 13) 70 6c 65 74 65 20 64 6f 74 20 63 6f 6d 6d 61 6e 64 09 09 20 20 20 20 20 20 0e 20 20 4d 20 20 20   ┆plete dot command           M   ┆
0x04e620…04e640             20 20 4d 65 72 67 65 2d 50 72 69 6e 74 20 28 6f 70 74 69 6f 6e 61 6c 20 66 65 61 74 75 72 65 29   ┆  Merge-Print (optional feature)┆
0x04e640…04e660             20 64 6f 74 20 63 6f 6d 6d 61 6e 64 09 20 20 20 20 20 20 0e 20 20 50 20 20 20 20 20 70 61 67 65   ┆ dot command          P     page┆
0x04e660…04e680             20 62 72 65 61 6b 09 09 09 09 09 20 20 20 20 20 20 0e 20 20 3a 20 20 20 20 20 74 68 69 73 20 73   ┆ break              :     this s┆
0x04e680…04e6a0             63 72 65 65 6e 20 6c 69 6e 65 20 69 73 20 62 65 66 6f 72 65 20 62 65 67 69 6e 6e 69 6e 67 20 6f   ┆creen line is before beginning o┆
0x04e6a0…04e6c0             66 20 64 6f 63 75 6d 65 6e 74 20 20 20 20 20 20 0e 20 20 2e 20 20 20 20 20 61 66 74 65 72 20 65   ┆f document         .     after e┆
0x04e6c0…04e6e0             6e 64 20 6f 66 20 64 6f 63 75 6d 65 6e 74 09 09 20 20 20 20 70 72 65 73 73 20 73 70 61 63 65 20   ┆nd of document      press space ┆
0x04e6e0…04e700             62 61 72 3a 20 18 00 20 20 20 20 43 4f 4d 4d 41 4e 44 53 20 54 4f 20 2d 2d 09 09 41 52 45 20 2d   ┆bar:       COMMANDS TO --  ARE -┆
0x04e700…04e720             2d 09 09 09 20 20 20 20 0e 20 6d 6f 76 65 20 63 75 72 73 6f 72 09 09 20 20 20 20 6f 6e 20 6d 61   ┆-         move cursor      on ma┆
0x04e720…04e740             69 6e 20 61 6e 64 20 5e 51 20 6d 65 6e 75 73 09 20 20 20 20 0e 20 73 63 72 6f 6c 6c 20 66 69 6c   ┆in and ^Q menus       scroll fil┆
0x04e740…04e760             65 20 75 70 20 6f 72 20 64 6f 77 6e 09 20 20 20 20 6f 6e 20 6d 61 69 6e 20 6d 65 6e 75 3b 20 61   ┆e up or down     on main menu; a┆
0x04e760…04e780             6c 73 6f 20 66 69 6e 64 20 28 5e 51 46 29 20 20 20 0e 20 64 65 6c 65 74 65 20 74 65 78 74 09 09   ┆lso find (^QF)     delete text  ┆
0x04e780…04e7a0             20 20 20 20 6f 6e 20 6d 61 69 6e 20 61 6e 64 20 5e 51 20 6d 65 6e 75 73 3b 20 61 6c 73 6f 20 5e   ┆    on main and ^Q menus; also ^┆
0x04e7a0…04e7c0             4b 59 20 20 0e 20 6d 6f 76 65 20 6f 72 20 63 6f 70 79 20 74 65 78 74 09 20 20 20 20 6f 6e 20 5e   ┆KY    move or copy text     on ^┆
0x04e7c0…04e7e0             4b 20 6d 65 6e 75 09 09 09 20 20 20 20 0e 20 65 6e 64 20 65 64 69 74 20 2f 20 73 61 76 65 20 66   ┆K menu         end edit / save f┆
0x04e7e0…04e800             69 6c 65 09 20 20 20 20 5e 4b 44 3b 20 73 65 65 20 5e 4b 20 6d 65 6e 75 09 09 20 20 20 20 0e 20   ┆ile     ^KD; see ^K menu        ┆
0x04e800…04e820 (20, 1, 14) 72 61 70 68 20 61 6c 72 65 61 64 79 20 65 6e 74 65 72 65 64 2c 20 73 65 74 20 6d 61 72 67 69 6e   ┆raph already entered, set margin┆
0x04e820…04e840             73 20 20 0e 20 20 20 20 20 28 5e 4f 4c 2c 20 5e 4f 52 29 2c 20 70 6c 61 63 65 20 63 75 72 73 6f   ┆s        (^OL, ^OR), place curso┆
0x04e840…04e860             72 20 61 74 20 70 61 72 61 67 72 61 70 68 20 62 65 67 69 6e 6e 69 6e 67 2c 20 74 79 70 65 20 5e   ┆r at paragraph beginning, type ^┆
0x04e860…04e880             42 2e 0e 20 54 6f 20 63 68 61 6e 67 65 20 62 65 74 77 65 65 6e 20 6a 75 73 74 69 66 69 65 64 20   ┆B.  To change between justified ┆
0x04e880…04e8a0             61 6e 64 20 72 61 67 67 65 64 20 72 69 67 68 74 2c 20 6f 72 20 63 68 61 6e 67 65 20 6c 69 6e 65   ┆and ragged right, or change line┆
0x04e8a0…04e8c0             20 0e 20 20 20 20 20 73 70 61 63 69 6e 67 2c 20 73 65 74 20 64 65 73 69 72 65 64 20 6a 75 73 74   ┆       spacing, set desired just┆
0x04e8c0…04e8e0             69 66 69 63 61 74 69 6f 6e 20 28 5e 4f 4a 29 20 26 20 6c 69 6e 65 20 73 70 61 63 69 6e 67 20 20   ┆ification (^OJ) & line spacing  ┆
0x04e8e0…04e900             0e 20 20 20 20 20 28 5e 4f 53 29 2c 20 70 6c 61 63 65 20 63 75 72 73 6f 72 20 61 74 20 70 61 72   ┆      (^OS), place cursor at par┆
0x04e900…04e920             61 67 72 61 70 68 20 62 65 67 69 6e 6e 69 6e 67 2c 20 61 6e 64 20 74 79 70 65 20 5e 42 2e 20 0e   ┆agraph beginning, and type ^B.  ┆
0x04e920…04e940             20 54 6f 20 6f 62 74 61 69 6e 20 57 6f 72 64 53 74 61 72 27 73 20 68 65 6c 70 20 69 6e 20 68 79   ┆ To obtain WordStar's help in hy┆
0x04e940…04e960             70 68 65 6e 61 74 69 6e 67 20 6c 6f 6e 67 20 77 6f 72 64 73 2c 20 70 6c 61 63 65 20 20 20 0e 20   ┆phenating long words, place     ┆
0x04e960…04e980             20 20 20 20 63 75 72 73 6f 72 20 61 74 20 62 65 67 69 6e 6e 69 6e 67 20 6f 66 20 70 61 72 61 67   ┆    cursor at beginning of parag┆
0x04e980…04e9a0             72 61 70 68 20 61 6e 64 20 74 79 70 65 20 5e 42 2e 09 20 20 20 20 20 20 0e 09 09 09 09 20 20 70   ┆raph and type ^B.              p┆
0x04e9a0…04e9c0             72 65 73 73 20 73 70 61 63 65 20 62 61 72 20 66 6f 72 20 6d 6f 72 65 3a 20 18 20 5e 42 20 72 65   ┆ress space bar for more:   ^B re┆
0x04e9c0…04e9e0             66 6f 72 6d 73 20 6c 69 6e 65 73 20 74 6f 20 65 6e 64 20 6f 66 20 70 61 72 61 67 72 61 70 68 20   ┆forms lines to end of paragraph ┆
0x04e9e0…04ea00             61 73 20 69 6e 64 69 63 61 74 65 64 20 62 79 20 22 68 61 72 64 22 20 0e 20 20 20 20 20 63 61 72   ┆as indicated by "hard"       car┆
0x04ea00…04ea20 (20, 1, 15) 20 41 4e 44 20 4a 55 53 54 49 46 49 43 41 54 49 4f 4e 20 20 2a 2a 2a 2a 2a 09 20 20 20 20 20 0e   ┆ AND JUSTIFICATION  *****       ┆
0x04ea20…04ea40             09 09 09 09 09 09 09 20 20 20 20 20 0e 20 54 6f 20 73 65 74 20 6c 69 6e 65 20 73 70 61 63 69 6e   ┆              To set line spacin┆
0x04ea40…04ea60             67 3a 20 74 79 70 65 20 5e 4f 53 2e 20 20 57 6f 72 64 53 74 61 72 20 77 69 6c 6c 20 61 73 6b 20   ┆g: type ^OS.  WordStar will ask ┆
0x04ea60…04ea80             66 6f 72 20 6c 69 6e 65 20 20 0e 20 20 20 20 20 73 70 61 63 69 6e 67 2e 20 20 45 6e 74 65 72 20   ┆for line        spacing.  Enter ┆
0x04ea80…04eaa0             61 20 64 69 67 69 74 20 31 20 74 68 72 75 20 39 2e 09 09 09 20 20 20 20 20 0e 20 54 6f 20 74 75   ┆a digit 1 thru 9.          To tu┆
0x04eaa0…04eac0             72 6e 20 6a 75 73 74 69 66 69 63 61 74 69 6f 6e 20 6f 66 66 20 28 66 6f 72 20 72 61 67 67 65 64   ┆rn justification off (for ragged┆
0x04eac0…04eae0             20 72 69 67 68 74 20 66 6f 72 6d 61 74 29 2c 09 20 20 20 20 20 0e 20 20 20 20 20 6f 72 20 74 6f   ┆ right format),            or to┆
0x04eae0…04eb00             20 74 75 72 6e 20 6a 75 73 74 69 66 69 63 61 74 69 6f 6e 20 62 61 63 6b 20 6f 6e 3a 20 74 79 70   ┆ turn justification back on: typ┆
0x04eb00…04eb20             65 20 5e 4f 4a 2e 09 20 20 20 20 20 0e 20 4c 69 6e 65 20 73 70 61 63 69 6e 67 20 61 6e 64 20 6a   ┆e ^OJ.        Line spacing and j┆
0x04eb20…04eb40             75 73 74 69 66 69 63 61 74 69 6f 6e 20 73 65 74 74 69 6e 67 73 20 61 70 70 6c 79 20 74 6f 20 74   ┆ustification settings apply to t┆
0x04eb40…04eb60             65 78 74 09 20 20 20 20 20 0e 20 20 20 20 20 73 75 62 73 65 71 75 65 6e 74 6c 79 20 65 6e 74 65   ┆ext            subsequently ente┆
0x04eb60…04eb80             72 65 64 3b 20 74 68 65 79 20 6d 61 79 20 62 65 20 61 70 70 6c 69 65 64 20 74 6f 20 70 72 65 76   ┆red; they may be applied to prev┆
0x04eb80…04eba0             69 6f 75 73 6c 79 20 0e 20 20 20 20 20 65 6e 74 65 72 65 64 20 74 65 78 74 20 77 69 74 68 20 74   ┆iously       entered text with t┆
0x04eba0…04ebc0             68 65 20 70 61 72 61 67 72 61 70 68 20 72 65 66 6f 72 6d 20 63 6f 6d 6d 61 6e 64 20 28 5e 42 29   ┆he paragraph reform command (^B)┆
0x04ebc0…04ebe0             2e 20 20 20 20 0e 09 09 09 20 20 20 70 72 65 73 73 20 73 70 61 63 65 20 62 61 72 20 66 6f 72 20   ┆.           press space bar for ┆
0x04ebe0…04ec00             22 54 61 62 20 53 74 6f 70 73 22 3a 20 18 09 09 20 2a 2a 2a 2a 2a 20 20 54 41 42 20 53 54 4f 50   ┆"Tab Stops":     *****  TAB STOP┆
0x04ec00…04ec20 (21, 0, 1)  20 6d 61 72 67 69 6e 20 28 73 65 74 20 77 69 74 68 20 5e 4f 52 29 09 09 09 0e 20 20 21 20 20 20   ┆ margin (set with ^OR)      !   ┆
0x04ec20…04ec40             72 65 67 75 6c 61 72 20 74 61 62 20 73 74 6f 70 20 28 73 65 74 20 77 69 74 68 20 5e 4f 49 2c 20   ┆regular tab stop (set with ^OI, ┆
0x04ec40…04ec60             63 6c 65 61 72 20 77 69 74 68 20 5e 4f 4e 29 09 0e 20 20 23 20 20 20 64 65 63 69 6d 61 6c 20 74   ┆clear with ^ON)    #   decimal t┆
0x04ec60…04ec80             61 62 20 73 74 6f 70 20 28 73 65 74 20 77 69 74 68 20 5e 4f 49 2c 20 63 6c 65 61 72 20 77 69 74   ┆ab stop (set with ^OI, clear wit┆
0x04ec80…04eca0             68 20 5e 4f 4e 29 09 0e 20 20 2d 20 20 20 6f 74 68 65 72 20 70 6f 73 69 74 69 6f 6e 73 20 62 65   ┆h ^ON)    -   other positions be┆
0x04eca0…04ecc0             74 77 65 65 6e 20 6d 61 72 67 69 6e 73 09 09 09 0e 09 09 09 09 09 09 09 0e 09 09 09 70 72 65 73   ┆tween margins               pres┆
0x04ecc0…04ece0             73 20 73 70 61 63 65 20 62 61 72 20 61 66 74 65 72 20 72 65 61 64 69 6e 67 3a 20 18 00 20 20 20   ┆s space bar after reading:      ┆
0x04ece0…04ed00             20 20 20 20 20 20 20 20 20 20 20 2a 2a 2a 2a 2a 20 20 50 4c 41 43 45 20 4d 41 52 4b 45 52 53 20   ┆           *****  PLACE MARKERS ┆
0x04ed00…04ed20             20 2a 2a 2a 2a 2a 09 09 20 20 0e 09 09 09 09 09 09 09 20 20 0e 20 55 70 20 74 6f 20 31 30 20 70   ┆ *****                Up to 10 p┆
0x04ed20…04ed40             6c 61 63 65 20 6d 61 72 6b 65 72 73 2c 20 69 64 65 6e 74 69 66 69 65 64 20 62 79 20 6e 75 6d 62   ┆lace markers, identified by numb┆
0x04ed40…04ed60             65 72 73 20 28 6e 29 20 30 2d 39 2c 20 20 20 0e 20 20 20 20 20 6d 61 79 20 62 65 20 73 65 74 20   ┆ers (n) 0-9,         may be set ┆
0x04ed60…04ed80             69 6e 20 61 20 66 69 6c 65 20 77 68 69 6c 65 20 74 68 65 20 66 69 6c 65 20 69 73 20 62 65 69 6e   ┆in a file while the file is bein┆
0x04ed80…04eda0             67 20 65 64 69 74 65 64 2e 20 0e 20 54 6f 20 73 65 74 20 70 6c 61 63 65 20 6d 61 72 6b 65 72 20   ┆g edited.   To set place marker ┆
0x04eda0…04edc0             6e 20 61 74 20 74 68 65 20 63 75 72 73 6f 72 20 70 6f 73 69 74 69 6f 6e 3a 20 74 79 70 65 20 5e   ┆n at the cursor position: type ^┆
0x04edc0…04ede0             4b 6e 2e 20 20 0e 20 20 20 20 20 bc ee be 20 77 69 6c 6c 20 64 69 73 70 6c 61 79 20 74 6f 20 69   ┆Kn.            will display to i┆
0x04ede0…04ee00             6e 64 69 63 61 74 65 20 74 68 65 20 6d 61 72 6b 65 72 20 70 6f 73 69 74 69 6f 6e 2e 09 20 20 0e   ┆ndicate the marker position.    ┆
0x04ee00…04ee20 (21, 0, 2)  d7 00 cd 00 13 9e 00 b6 03 03 cd 00 16 9e 00 b6 03 04 a5 05 cd 00 10 9e 00 ec 59 c3 ec 79 c3 8d   ┆                          Y  y  ┆
0x04ee20…04ee40             a1 03 00 ab 12 ec 07 c3 a9 12 93 8d a1 f6 a9 12 a1 51 00 ab 06 0f cc 01 ed d8 c8 a1 46 a5 82 c4   ┆                 Q          F   ┆
0x04ee40…04ee60             04 ed 8f 00 c7 ff 01 88 be a5 82 c4 04 ed 8f 01 82 00 c7 ff 01 88 be 82 00 cb a1 15 ae 18 01 ab   ┆                                ┆
0x04ee60…04ee80             07 ae 15 a5 82 b4 ed 00 0f 88 a4 01 a9 1b 9a b9 0b a5 82 b4 ed 00 0f 88 a4 01 64 9a ed 01 82 ab   ┆                          d     ┆
0x04ee80…04eea0             06 b9 f4 cd 01 02 00 ab 13 ad 00 cd 54 00 dd 00 02 00 00 00 0b 00 ec 00 1d 02 cd 01 02 00 0a cd   ┆            T                   ┆
0x04eea0…04eec0             00 1d b6 02 03 a6 31 20 20 20 20 20 20 20 20 20 20 44 6f 20 79 6f 75 20 77 69 73 68 20 74 6f 20   ┆      1          Do you wish to ┆
0x04eec0…04eee0             6b 65 65 70 20 74 72 61 63 6b 20 6f 66 20 72 65 66 65 72 65 6e 63 65 73 d7 00 cd 00 13 9e 00 b6   ┆keep track of references        ┆
0x04eee0…04ef00             02 03 eb 00 cd 00 11 9e 00 b6 02 03 d7 a6 32 20 20 20 20 20 20 20 20 20 74 6f 20 61 20 70 61 72   ┆              2         to a par┆
0x04ef00…04ef20             74 69 63 75 6c 61 72 20 70 72 6f 63 65 64 75 72 65 27 73 20 64 61 74 61 20 73 65 67 6d 65 6e 74   ┆ticular procedure's data segment┆
0x04ef20…04ef40             3f 00 cd 00 13 9e 00 b6 02 04 a5 05 cd 00 10 9e 00 ec 59 c3 ec 79 c3 8d ab 12 a9 12 a1 04 ce 1d   ┆?                 Y  y          ┆
0x04ef40…04ef60             b9 03 00 ab 13 cd 01 02 00 0a cd 00 1d b6 02 03 d7 a6 26 44 6f 20 79 6f 75 20 77 69 73 68 20 63   ┆                  &Do you wish c┆
0x04ef60…04ef80             6f 6e 74 72 6f 6c 20 6f 76 65 72 20 64 69 73 2d 61 73 73 65 6d 62 6c 79 3f 00 cd 00 13 9e 00 b6   ┆ontrol over dis-assembly?       ┆
0x04ef80…04efa0             02 04 a5 05 cd 00 10 9e 00 ec 59 c3 ec 79 c3 8d ab 16 a9 16 a1 f6 cd 01 02 00 07 cd 00 1d b6 02   ┆          Y  y                  ┆
0x04efa0…04efc0             03 07 00 cd 00 11 9e 00 b6 02 03 a6 3b 2a 2a 2a 20 20 57 41 52 4e 49 4e 47 20 20 2d 20 2d 20 20   ┆            ;***  WARNING  - -  ┆
0x04efc0…04efe0             53 54 41 54 49 53 54 49 43 53 20 41 52 45 20 47 41 54 48 45 52 45 44 20 4f 4e 20 44 49 53 2d 41   ┆STATISTICS ARE GATHERED ON DIS-A┆
0x04efe0…04f000             53 53 45 4d 42 4c 45 44 d7 00 cd 00 13 9e 00 b6 02 03 d7 a6 15 20 50 52 4f 43 45 44 55 52 45 53   ┆SSEMBLED              PROCEDURES┆
0x04f000…04f020 (21, 0, 3)  53 41 56 45 20 46 44 20 46 4f 52 4d 41 54 53 0d 0a 09 4c 58 49 09 44 2c 46 44 46 4f 52 4d 09 3b   ┆SAVE FD FORMATS   LXI D,FDFORM ;┆
0x04f020…04f040             0d 0a 09 44 41 44 09 44 09 09 3b 0d 0a 09 53 48 4c 44 09 41 46 4f 52 4d 09 09 3b 0d 0a 09 4d 4f   ┆   DAD D  ;   SHLD AFORM  ;   MO┆
0x04f040…04f060             56 09 41 2c 4d 09 09 3b 0d 0a 09 53 54 41 09 53 46 4f 52 4d 09 09 3b 0d 0a 09 49 4e 58 09 48 09   ┆V A,M  ;   STA SFORM  ;   INX H ┆
0x04f060…04f080             09 3b 0d 0a 09 4d 4f 56 09 41 2c 4d 09 09 3b 0d 0a 09 53 54 41 09 53 46 4f 52 4d 2b 31 09 09 3b   ┆ ;   MOV A,M  ;   STA SFORM+1  ;┆
0x04f080…04f0a0             0d 0a 09 4c 48 4c 44 09 53 46 4f 52 4d 09 09 3b 0d 0a 09 53 48 4c 44 09 53 46 09 09 3b 0d 0a 09   ┆   LHLD SFORM  ;   SHLD SF  ;   ┆
0x04f0a0…04f0c0             53 48 4c 44 09 44 46 09 09 3b 0d 0a 09 4c 44 41 09 46 43 42 31 09 09 3b 0d 0a 09 4f 52 41 09 41   ┆SHLD DF  ;   LDA FCB1  ;   ORA A┆
0x04f0c0…04f0e0             09 09 3b 0d 0a 09 43 5a 09 47 45 54 44 44 09 09 3b 0d 0a 09 44 43 52 09 41 09 09 3b 0d 0a 09 53   ┆  ;   CZ GETDD  ;   DCR A  ;   S┆
0x04f0e0…04f100             54 41 09 53 44 52 49 56 09 09 3b 0d 0a 09 4c 44 41 09 46 43 42 32 09 09 3b 0d 0a 09 4f 52 41 09   ┆TA SDRIV  ;   LDA FCB2  ;   ORA ┆
0x04f100…04f120             41 09 09 3b 0d 0a 09 43 5a 09 47 45 54 44 44 09 09 3b 0d 0a 09 44 43 52 09 41 09 09 3b 0d 0a 09   ┆A  ;   CZ GETDD  ;   DCR A  ;   ┆
0x04f120…04f140             53 54 41 09 44 44 52 49 56 09 09 3b 0d 0a 09 4c 58 49 09 48 2c 44 42 55 46 46 09 09 3b 20 53 45   ┆STA DDRIV  ;   LXI H,DBUFF  ; SE┆
0x04f140…04f160             54 55 50 20 43 48 41 52 20 53 43 41 4e 0d 0a 09 49 4e 58 09 48 09 09 3b 0d 0a 09 53 48 4c 44 09   ┆TUP CHAR SCAN   INX H  ;   SHLD ┆
0x04f160…04f180             43 41 44 44 52 09 09 3b 0d 0a 09 4a 4d 50 09 53 43 41 4e 09 09 3b 0d 0a 0d 0a 4e 43 48 41 52 3a   ┆CADDR  ;   JMP SCAN  ;    NCHAR:┆
0x04f180…04f1a0             20 20 4c 58 49 09 48 2c 44 42 55 46 46 09 09 3b 20 47 45 54 20 4e 45 58 54 20 43 48 41 52 3a 0d   ┆  LXI H,DBUFF  ; GET NEXT CHAR: ┆
0x04f1a0…04f1c0             0a 09 44 43 52 09 4d 09 09 3b 0d 0a 09 4a 5a 09 53 45 54 46 44 46 09 09 3b 20 49 46 20 45 4f 4c   ┆  DCR M  ;   JZ SETFDF  ; IF EOL┆
0x04f1c0…04f1e0             20 54 48 45 4e 20 45 58 49 54 0d 0a 09 4c 48 4c 44 09 43 41 44 44 52 09 09 3b 0d 0a 09 4d 4f 56   ┆ THEN EXIT   LHLD CADDR  ;   MOV┆
0x04f1e0…04f200             09 41 2c 4d 09 09 3b 20 20 20 20 20 20 20 20 45 4c 53 45 20 50 49 43 4b 55 50 20 43 48 41 52 3b   ┆ A,M  ;        ELSE PICKUP CHAR;┆
0x04f200…04f220 (21, 0, 4)  53 41 56 45 20 46 44 20 46 4f 52 4d 41 54 53 0d 0a 09 4c 58 49 09 44 2c 46 44 46 4f 52 4d 09 3b   ┆SAVE FD FORMATS   LXI D,FDFORM ;┆
0x04f220…04f240             0d 0a 09 44 41 44 09 44 09 09 3b 0d 0a 09 53 48 4c 44 09 41 46 4f 52 4d 09 09 3b 0d 0a 09 4d 4f   ┆   DAD D  ;   SHLD AFORM  ;   MO┆
0x04f240…04f260             56 09 41 2c 4d 09 09 3b 0d 0a 09 53 54 41 09 53 46 4f 52 4d 09 09 3b 0d 0a 09 49 4e 58 09 48 09   ┆V A,M  ;   STA SFORM  ;   INX H ┆
0x04f260…04f280             09 3b 0d 0a 09 4d 4f 56 09 41 2c 4d 09 09 3b 0d 0a 09 53 54 41 09 53 46 4f 52 4d 2b 31 09 09 3b   ┆ ;   MOV A,M  ;   STA SFORM+1  ;┆
0x04f280…04f2a0             0d 0a 09 4c 48 4c 44 09 53 46 4f 52 4d 09 09 3b 0d 0a 09 53 48 4c 44 09 53 46 09 09 3b 0d 0a 09   ┆   LHLD SFORM  ;   SHLD SF  ;   ┆
0x04f2a0…04f2c0             53 48 4c 44 09 44 46 09 09 3b 0d 0a 09 4c 44 41 09 46 43 42 31 09 09 3b 0d 0a 09 4f 52 41 09 41   ┆SHLD DF  ;   LDA FCB1  ;   ORA A┆
0x04f2c0…04f2e0             09 09 3b 0d 0a 09 43 5a 09 47 45 54 44 44 09 09 3b 0d 0a 09 44 43 52 09 41 09 09 3b 0d 0a 09 53   ┆  ;   CZ GETDD  ;   DCR A  ;   S┆
0x04f2e0…04f300             54 41 09 53 44 52 49 56 09 09 3b 0d 0a 09 4c 44 41 09 46 43 42 32 09 09 3b 0d 0a 09 4f 52 41 09   ┆TA SDRIV  ;   LDA FCB2  ;   ORA ┆
0x04f300…04f320             41 09 09 3b 0d 0a 09 43 5a 09 47 45 54 44 44 09 09 3b 0d 0a 09 44 43 52 09 41 09 09 3b 0d 0a 09   ┆A  ;   CZ GETDD  ;   DCR A  ;   ┆
0x04f320…04f340             53 54 41 09 44 44 52 49 56 09 09 3b 0d 0a 09 4c 58 49 09 48 2c 44 42 55 46 46 09 09 3b 20 53 45   ┆STA DDRIV  ;   LXI H,DBUFF  ; SE┆
0x04f340…04f360             54 55 50 20 43 48 41 52 20 53 43 41 4e 0d 0a 09 49 4e 58 09 48 09 09 3b 0d 0a 09 53 48 4c 44 09   ┆TUP CHAR SCAN   INX H  ;   SHLD ┆
0x04f360…04f380             43 41 44 44 52 09 09 3b 0d 0a 09 4a 4d 50 09 53 43 41 4e 09 09 3b 0d 0a 0d 0a 4e 43 48 41 52 3a   ┆CADDR  ;   JMP SCAN  ;    NCHAR:┆
0x04f380…04f3a0             20 20 4c 58 49 09 48 2c 44 42 55 46 46 09 09 3b 20 47 45 54 20 4e 45 58 54 20 43 48 41 52 3a 0d   ┆  LXI H,DBUFF  ; GET NEXT CHAR: ┆
0x04f3a0…04f3c0             0a 09 44 43 52 09 4d 09 09 3b 0d 0a 09 4a 5a 09 53 45 54 46 44 46 09 09 3b 20 49 46 20 45 4f 4c   ┆  DCR M  ;   JZ SETFDF  ; IF EOL┆
0x04f3c0…04f3e0             20 54 48 45 4e 20 45 58 49 54 0d 0a 09 4c 48 4c 44 09 43 41 44 44 52 09 09 3b 0d 0a 09 4d 4f 56   ┆ THEN EXIT   LHLD CADDR  ;   MOV┆
0x04f3e0…04f400             09 41 2c 4d 09 09 3b 20 20 20 20 20 20 20 20 45 4c 53 45 20 50 49 43 4b 55 50 20 43 48 41 52 3b   ┆ A,M  ;        ELSE PICKUP CHAR;┆
0x04f400…04f420 (21, 0, 5)  20 54 6f 20 72 65 74 75 72 6e 20 74 68 65 20 63 75 72 73 6f 72 20 74 6f 20 70 6c 61 63 65 20 6d   ┆ To return the cursor to place m┆
0x04f420…04f440             61 72 6b 65 72 20 6e 3a 20 74 79 70 65 20 5e 51 6e 20 61 6e 79 09 20 20 0e 20 20 20 20 20 74 69   ┆arker n: type ^Qn any         ti┆
0x04f440…04f460             6d 65 20 64 75 72 69 6e 67 20 74 68 65 20 73 61 6d 65 20 65 64 69 74 2e 09 09 09 09 20 20 0e 20   ┆me during the same edit.        ┆
0x04f460…04f480             54 6f 20 72 65 6d 6f 76 65 20 74 68 65 20 bc ee be 20 66 72 6f 6d 20 74 68 65 20 64 69 73 70 6c   ┆To remove the     from the displ┆
0x04f480…04f4a0             61 79 3a 20 74 79 70 65 20 5e 4b 6e 20 77 68 65 6e 20 74 68 65 09 20 20 0e 20 20 20 20 20 63 75   ┆ay: type ^Kn when the         cu┆
0x04f4a0…04f4c0             72 73 6f 72 20 69 73 20 61 6c 72 65 61 64 79 20 61 74 20 74 68 65 20 6d 61 72 6b 65 72 20 70 6f   ┆rsor is already at the marker po┆
0x04f4c0…04f4e0             73 69 74 69 6f 6e 2e 09 09 20 20 0e 09 09 09 09 09 70 72 65 73 73 20 73 70 61 63 65 20 62 61 72   ┆sition.          press space bar┆
0x04f4e0…04f500             3a 20 18 09 2a 2a 2a 2a 2a 20 20 4f 54 48 45 52 20 4d 41 52 4b 45 52 20 26 20 52 45 4c 41 54 45   ┆:   *****  OTHER MARKER & RELATE┆
0x04f500…04f520             44 20 43 4f 4d 4d 41 4e 44 53 20 2a 2a 2a 2a 2a 09 20 20 20 20 20 0e 09 09 09 09 09 09 09 20 20   ┆D COMMANDS *****                ┆
0x04f520…04f540             20 20 20 0e 20 54 68 65 20 62 6c 6f 63 6b 20 62 65 67 69 6e 6e 69 6e 67 20 6d 61 72 6b 65 72 2c   ┆     The block beginning marker,┆
0x04f540…04f560             20 bc c2 be 2c 20 61 6e 64 20 74 68 65 20 62 6c 6f 63 6b 20 65 6e 64 20 6d 61 72 6b 65 72 2c 20   ┆    , and the block end marker, ┆
0x04f560…04f580             20 0e 20 20 20 20 20 20 bc cb be 2c 20 61 72 65 20 73 65 74 20 61 6e 64 20 6d 6f 76 65 64 20 74   ┆           , are set and moved t┆
0x04f580…04f5a0             6f 20 69 6e 20 61 20 73 69 6d 69 6c 61 72 20 6d 61 6e 6e 65 72 3b 20 74 68 65 20 20 20 20 20 0e   ┆o in a similar manner; the      ┆
0x04f5a0…04f5c0             20 20 20 20 20 20 74 65 78 74 20 62 65 74 77 65 65 6e 20 74 68 65 73 65 20 6d 61 72 6b 65 72 73   ┆      text between these markers┆
0x04f5c0…04f5e0             20 63 61 6e 20 62 65 20 6d 6f 76 65 64 20 28 5e 4b 56 29 2c 20 63 6f 70 69 65 64 20 20 0e 20 20   ┆ can be moved (^KV), copied     ┆
0x04f5e0…04f600             20 20 20 20 28 5e 4b 43 29 2c 20 64 65 6c 65 74 65 64 20 28 5e 4b 59 29 2c 20 6f 72 20 77 72 69   ┆    (^KC), deleted (^KY), or wri┆
0x04f600…04f620 (21, 0, 6)  d8 b9 f6 d9 d7 a6 16 20 20 20 20 20 20 20 20 20 50 61 72 61 6d 65 74 65 72 20 6f 6e 65 00 cd 00   ┆                Parameter one   ┆
0x04f620…04f640             13 9e 00 d9 cd 00 16 9e 00 b9 f4 d9 d7 a6 20 42 69 74 73 20 75 73 65 64 20 20 20 20 54 6f 74 61   ┆               Bits used    Tota┆
0x04f640…04f660             6c 20 20 20 20 50 65 72 63 65 6e 74 61 67 65 00 cd 00 13 9e 00 d9 cd 00 16 9e 00 b9 f4 d9 d7 a6   ┆l    Percentage                 ┆
0x04f660…04f680             37 20 20 20 20 20 20 20 20 20 50 61 72 61 6d 65 74 65 72 20 6f 6e 65 20 20 20 20 20 20 20 20 20   ┆7         Parameter one         ┆
0x04f680…04f6a0             20 20 50 61 72 61 6d 65 74 65 72 20 74 77 6f 20 20 20 20 20 20 20 20 20 00 cd 00 13 9e 00 d9 cd   ┆  Parameter two                 ┆
0x04f6a0…04f6c0             00 16 9e 00 b9 f4 d9 a6 37 42 69 74 73 20 75 73 65 64 20 20 20 20 54 6f 74 61 6c 20 20 20 20 50   ┆        7Bits used    Total    P┆
0x04f6c0…04f6e0             65 72 63 65 6e 74 61 67 65 20 20 20 20 54 6f 74 61 6c 20 20 20 20 50 65 72 63 65 6e 74 61 67 65   ┆ercentage    Total    Percentage┆
0x04f6e0…04f700             d7 00 cd 00 13 9e 00 d9 cd 00 16 9e 00 b9 f4 d9 d7 a6 2e 20 20 20 20 20 20 20 20 20 50 61 72 61   ┆                  .         Para┆
0x04f700…04f720             6d 65 74 65 72 20 6f 6e 65 20 20 20 20 20 20 20 20 20 20 20 50 61 72 61 6d 65 74 65 72 20 74 77   ┆meter one           Parameter tw┆
0x04f720…04f740             6f 00 cd 00 13 9e 00 d9 d7 a6 1a 20 20 20 20 20 20 20 20 20 20 20 43 61 73 65 20 74 61 62 6c 65   ┆o                     Case table┆
0x04f740…04f760             20 73 69 7a 65 00 cd 00 13 9e 00 d9 cd 00 16 9e 00 b9 f4 d9 d7 a6 37 42 69 74 73 20 75 73 65 64   ┆ size                 7Bits used┆
0x04f760…04f780             20 20 20 20 54 6f 74 61 6c 20 20 20 20 50 65 72 63 65 6e 74 61 67 65 20 20 20 20 54 6f 74 61 6c   ┆    Total    Percentage    Total┆
0x04f780…04f7a0             20 20 20 20 50 65 72 63 65 6e 74 61 67 65 00 cd 00 13 9e 00 d9 a6 17 20 20 20 20 54 6f 74 61 6c   ┆    Percentage             Total┆
0x04f7a0…04f7c0             20 20 20 20 50 65 72 63 65 6e 74 61 67 65 d7 00 cd 00 13 9e 00 d9 cd 00 16 9e 00 b9 f4 d9 d7 a6   ┆    Percentage                  ┆
0x04f7c0…04f7e0             2a 46 6c 61 76 6f 72 20 20 20 20 20 20 54 6f 74 61 6c 20 20 20 20 50 65 72 63 65 6e 74 61 67 65   ┆*Flavor      Total    Percentage┆
0x04f7e0…04f800             20 20 20 20 20 46 6c 61 76 6f 72 00 cd 00 13 9e 00 d9 d7 a6 19 20 20 20 20 20 20 54 6f 74 61 6c   ┆     Flavor                Total┆
0x04f800…04f820 (21, 0, 7)  0d 0a 09 49 4e 58 09 48 09 09 3b 0d 0a 09 53 48 4c 44 09 43 41 44 44 52 09 09 3b 0d 0a 09 52 45   ┆   INX H  ;   SHLD CADDR  ;   RE┆
0x04f820…04f840             54 09 09 20 09 3b 20 52 45 54 55 52 4e 3b 0d 0a 0d 0a 53 43 41 4e 3a 09 4c 58 49 09 42 2c 30 09   ┆T    ; RETURN;    SCAN: LXI B,0 ┆
0x04f840…04f860             09 3b 20 44 52 49 56 45 2c 44 45 4e 53 49 54 59 3a 3d 53 2c 53 53 0d 0a 09 43 41 4c 4c 09 4e 43   ┆ ; DRIVE,DENSITY:=S,SS   CALL NC┆
0x04f860…04f880             48 41 52 09 09 3b 0d 0a 09 43 50 49 09 27 53 27 09 09 3b 20 53 45 41 52 43 48 20 53 20 4f 52 20   ┆HAR  ;   CPI 'S'  ; SEARCH S OR ┆
0x04f880…04f8a0             44 20 44 52 49 56 45 3a 0d 0a 09 4a 5a 09 53 43 4f 4c 09 09 3b 0d 0a 09 43 50 49 09 27 44 27 09   ┆D DRIVE:   JZ SCOL  ;   CPI 'D' ┆
0x04f8a0…04f8c0             09 3b 0d 0a 09 4a 4e 5a 09 53 43 41 4e 09 09 3b 0d 0a 09 4d 56 49 09 42 2c 32 09 09 3b 0d 0a 53   ┆ ;   JNZ SCAN  ;   MVI B,2  ;  S┆
0x04f8c0…04f8e0             43 4f 4c 3a 09 43 41 4c 4c 09 4e 43 48 41 52 09 09 3b 20 53 45 41 52 43 48 20 43 4f 4c 4f 4e 3a   ┆COL: CALL NCHAR  ; SEARCH COLON:┆
0x04f8e0…04f900             0d 0a 09 43 50 49 09 27 3a 27 09 09 3b 0d 0a 09 4a 4e 5a 09 53 43 41 4e 09 09 3b 0d 0a 09 43 41   ┆   CPI ':'  ;   JNZ SCAN  ;   CA┆
0x04f900…04f920             4c 4c 09 4e 43 48 41 52 09 09 3b 20 53 45 41 52 43 48 20 45 51 55 41 4c 3a 0d 0a 09 43 50 49 09   ┆LL NCHAR  ; SEARCH EQUAL:   CPI ┆
0x04f920…04f940             27 3d 27 09 09 3b 0d 0a 09 4a 4e 5a 09 53 43 41 4e 09 09 3b 0d 0a 09 43 41 4c 4c 09 4e 43 48 41   ┆'='  ;   JNZ SCAN  ;   CALL NCHA┆
0x04f940…04f960             52 09 09 3b 20 53 45 41 52 43 48 20 44 45 4e 53 49 54 59 3a 0d 0a 09 43 50 49 09 27 53 27 09 09   ┆R  ; SEARCH DENSITY:   CPI 'S'  ┆
0x04f960…04f980             3b 0d 0a 09 4a 5a 09 53 53 53 09 09 3b 0d 0a 09 43 50 49 09 27 44 27 09 09 3b 0d 0a 09 4a 4e 5a   ┆;   JZ SSS  ;   CPI 'D'  ;   JNZ┆
0x04f980…04f9a0             09 53 43 41 4e 09 09 3b 0d 0a 09 43 41 4c 4c 09 4e 43 48 41 52 09 09 3b 0d 0a 09 43 50 49 09 27   ┆ SCAN  ;   CALL NCHAR  ;   CPI '┆
0x04f9a0…04f9c0             44 27 09 09 3b 0d 0a 09 4a 4e 5a 09 53 43 41 4e 09 09 3b 0d 0a 09 43 41 4c 4c 09 4e 43 48 41 52   ┆D'  ;   JNZ SCAN  ;   CALL NCHAR┆
0x04f9c0…04f9e0             09 09 3b 20 53 45 41 52 43 48 20 53 50 41 43 45 3a 0d 0a 09 43 50 49 09 27 20 27 09 09 3b 0d 0a   ┆  ; SEARCH SPACE:   CPI ' '  ;  ┆
0x04f9e0…04fa00             09 4a 4e 5a 09 53 43 41 4e 09 09 3b 0d 0a 09 4d 56 49 09 43 2c 38 09 09 3b 0d 0a 09 4a 4d 50 09   ┆ JNZ SCAN  ;   MVI C,8  ;   JMP ┆
0x04fa00…04fa20 (21, 0, 8)  0d 0a 09 49 4e 58 09 48 09 09 3b 0d 0a 09 53 48 4c 44 09 43 41 44 44 52 09 09 3b 0d 0a 09 52 45   ┆   INX H  ;   SHLD CADDR  ;   RE┆
0x04fa20…04fa40             54 09 09 20 09 3b 20 52 45 54 55 52 4e 3b 0d 0a 0d 0a 53 43 41 4e 3a 09 4c 58 49 09 42 2c 30 09   ┆T    ; RETURN;    SCAN: LXI B,0 ┆
0x04fa40…04fa60             09 3b 20 44 52 49 56 45 2c 44 45 4e 53 49 54 59 3a 3d 53 2c 53 53 0d 0a 09 43 41 4c 4c 09 4e 43   ┆ ; DRIVE,DENSITY:=S,SS   CALL NC┆
0x04fa60…04fa80             48 41 52 09 09 3b 0d 0a 09 43 50 49 09 27 53 27 09 09 3b 20 53 45 41 52 43 48 20 53 20 4f 52 20   ┆HAR  ;   CPI 'S'  ; SEARCH S OR ┆
0x04fa80…04faa0             44 20 44 52 49 56 45 3a 0d 0a 09 4a 5a 09 53 43 4f 4c 09 09 3b 0d 0a 09 43 50 49 09 27 44 27 09   ┆D DRIVE:   JZ SCOL  ;   CPI 'D' ┆
0x04faa0…04fac0             09 3b 0d 0a 09 4a 4e 5a 09 53 43 41 4e 09 09 3b 0d 0a 09 4d 56 49 09 42 2c 32 09 09 3b 0d 0a 53   ┆ ;   JNZ SCAN  ;   MVI B,2  ;  S┆
0x04fac0…04fae0             43 4f 4c 3a 09 43 41 4c 4c 09 4e 43 48 41 52 09 09 3b 20 53 45 41 52 43 48 20 43 4f 4c 4f 4e 3a   ┆COL: CALL NCHAR  ; SEARCH COLON:┆
0x04fae0…04fb00             0d 0a 09 43 50 49 09 27 3a 27 09 09 3b 0d 0a 09 4a 4e 5a 09 53 43 41 4e 09 09 3b 0d 0a 09 43 41   ┆   CPI ':'  ;   JNZ SCAN  ;   CA┆
0x04fb00…04fb20             4c 4c 09 4e 43 48 41 52 09 09 3b 20 53 45 41 52 43 48 20 45 51 55 41 4c 3a 0d 0a 09 43 50 49 09   ┆LL NCHAR  ; SEARCH EQUAL:   CPI ┆
0x04fb20…04fb40             27 3d 27 09 09 3b 0d 0a 09 4a 4e 5a 09 53 43 41 4e 09 09 3b 0d 0a 09 43 41 4c 4c 09 4e 43 48 41   ┆'='  ;   JNZ SCAN  ;   CALL NCHA┆
0x04fb40…04fb60             52 09 09 3b 20 53 45 41 52 43 48 20 44 45 4e 53 49 54 59 3a 0d 0a 09 43 50 49 09 27 53 27 09 09   ┆R  ; SEARCH DENSITY:   CPI 'S'  ┆
0x04fb60…04fb80             3b 0d 0a 09 4a 5a 09 53 53 53 09 09 3b 0d 0a 09 43 50 49 09 27 44 27 09 09 3b 0d 0a 09 4a 4e 5a   ┆;   JZ SSS  ;   CPI 'D'  ;   JNZ┆
0x04fb80…04fba0             09 53 43 41 4e 09 09 3b 0d 0a 09 43 41 4c 4c 09 4e 43 48 41 52 09 09 3b 0d 0a 09 43 50 49 09 27   ┆ SCAN  ;   CALL NCHAR  ;   CPI '┆
0x04fba0…04fbc0             44 27 09 09 3b 0d 0a 09 4a 4e 5a 09 53 43 41 4e 09 09 3b 0d 0a 09 43 41 4c 4c 09 4e 43 48 41 52   ┆D'  ;   JNZ SCAN  ;   CALL NCHAR┆
0x04fbc0…04fbe0             09 09 3b 20 53 45 41 52 43 48 20 53 50 41 43 45 3a 0d 0a 09 43 50 49 09 27 20 27 09 09 3b 0d 0a   ┆  ; SEARCH SPACE:   CPI ' '  ;  ┆
0x04fbe0…04fc00             09 4a 4e 5a 09 53 43 41 4e 09 09 3b 0d 0a 09 4d 56 49 09 43 2c 38 09 09 3b 0d 0a 09 4a 4d 50 09   ┆ JNZ SCAN  ;   MVI C,8  ;   JMP ┆
0x04fc00…04fc20 (21, 0, 9)  74 74 65 6e 20 74 6f 20 61 20 66 69 6c 65 20 28 5e 4b 57 29 2e 09 20 20 20 20 20 0e 09 09 09 09   ┆tten to a file (^KW).           ┆
0x04fc20…04fc40             09 09 09 20 20 20 20 20 0e 20 5e 51 50 20 20 6d 6f 76 65 73 20 63 75 72 73 6f 72 20 74 6f 20 69   ┆          ^QP  moves cursor to i┆
0x04fc40…04fc60             74 73 20 70 6f 73 69 74 69 6f 6e 20 62 65 66 6f 72 65 20 70 72 65 63 65 64 69 6e 67 20 63 6f 6d   ┆ts position before preceding com┆
0x04fc60…04fc80             6d 61 6e 64 2e 20 0e 09 09 09 09 09 09 09 20 20 20 20 20 0e 20 5e 51 56 20 20 6d 6f 76 65 73 20   ┆mand.                ^QV  moves ┆
0x04fc80…04fca0             63 75 72 73 6f 72 20 74 6f 20 73 74 61 72 74 20 6f 66 20 6c 61 73 74 20 66 69 6e 64 2f 72 65 70   ┆cursor to start of last find/rep┆
0x04fca0…04fcc0             6c 61 63 65 2c 20 6f 72 20 74 6f 20 20 20 20 20 20 0e 20 20 20 20 20 20 20 20 20 73 6f 75 72 63   ┆lace, or to                sourc┆
0x04fcc0…04fce0             65 20 6f 66 20 74 65 78 74 20 66 6f 72 20 6c 61 73 74 20 62 6c 6f 63 6b 20 6d 6f 76 65 20 6f 72   ┆e of text for last block move or┆
0x04fce0…04fd00             20 63 6f 70 79 2e 09 20 20 20 20 20 0e 09 09 09 09 09 20 20 20 70 72 65 73 73 20 73 70 61 63 65   ┆ copy.               press space┆
0x04fd00…04fd20             20 62 61 72 3a 20 18 00 20 49 46 20 54 48 49 53 20 44 49 53 50 4c 41 59 53 20 59 4f 55 20 41 52   ┆ bar:    IF THIS DISPLAYS YOU AR┆
0x04fd20…04fd40             45 20 55 53 49 4e 47 20 57 52 4f 4e 47 20 56 45 52 53 49 4f 4e 20 4f 46 20 57 53 4d 53 47 53 2e   ┆E USING WRONG VERSION OF WSMSGS.┆
0x04fd40…04fd60             4f 56 52 20 0e 00 65 78 74 20 66 6f 72 20 6c 61 73 74 20 62 6c 6f 63 6b 20 6d 6f 76 65 20 6f 72   ┆OVR   ext for last block move or┆
0x04fd60…04fd80             20 63 6f 70 79 2e 09 20 20 20 20 20 0e 09 09 09 09 09 20 20 20 70 72 65 73 73 20 73 70 61 63 65   ┆ copy.               press space┆
0x04fd80…04fda0             3a 17 07 b7 4f 78 ca 1d 07 0d ca 33 07 0d ca 4f 07 c3 5b 07 c3 5b 07 3a 17 07 b7 fa 25 07 3d ca   ┆:   Ox     3   O  Æ  Æ :    % = ┆
0x04fda0…04fdc0             37 07 3d ca 52 07 c3 64 07 e5 2a 36 3d 23 cd 57 43 e1 c9 3a 85 3c b7 c8 3d 32 85 3c 3e 20 cd 3b   ┆7 = R  d  *6=# WC  : <  =2 <>  ;┆
0x04fdc0…04fde0             43 c3 b3 43 3a 86 07 3d ca ef 43 cd 97 43 da e4 43 21 ec 3c e6 7f fe 11 c2 dd 43 36 00 fe 13 c2   ┆C  C:  =  C  C  C! <      C6    ┆
0x04fde0…04fe00             e4 43 36 80 3a ec 3c b7 f0 cd a9 43 c3 c4 43 cd 12 44 21 ed 3c 34 3a 87 07 3d be d0 3e 01 32 ed   ┆ C6 : <    C  C  D! <4:  =  > 2 ┆
0x04fe00…04fe20 (21, 0, 10) 3b 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a   ┆;*******************************┆
0x04fe20…04fe40             2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a   ┆********************************┆
0x04fe40…04fe60             2a 0d 0a 3b 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆*  ;*                           ┆
0x04fe60…04fe80             20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆                                ┆
0x04fe80…04fea0             20 20 20 2a 0d 0a 3b 2a 20 20 20 20 20 46 49 4c 45 20 54 52 41 4e 53 46 45 52 20 55 54 49 4c 49   ┆   *  ;*     FILE TRANSFER UTILI┆
0x04fea0…04fec0             54 59 20 20 20 20 2d 20 20 20 20 56 45 52 53 49 4f 4e 20 20 38 31 2e 30 36 2e 32 39 20 20 20 20   ┆TY    -    VERSION  81.06.29    ┆
0x04fec0…04fee0             20 20 20 20 20 20 2a 0d 0a 3b 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆      *  ;*                     ┆
0x04fee0…04ff00             20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆                                ┆
0x04ff00…04ff20             20 20 20 20 20 20 20 20 20 2a 0d 0a 3b 2a 20 20 20 20 20 54 52 41 4e 53 46 45 52 20 20 41 3a 58   ┆         *  ;*     TRANSFER  A:X┆
0x04ff20…04ff40             2e 59 20 20 42 3a 55 2e 56 20 20 44 3a 3d 46 46 20 20 44 3a 3d 46 46 20 20 20 20 20 20 20 20 20   ┆.Y  B:U.V  D:=FF  D:=FF         ┆
0x04ff40…04ff60             20 20 20 20 20 20 20 20 20 20 20 20 2a 0d 0a 3b 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆            *  ;*               ┆
0x04ff60…04ff80             20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆                                ┆
0x04ff80…04ffa0             20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 0d 0a 3b 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a   ┆               *  ;*************┆
0x04ffa0…04ffc0             2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a   ┆********************************┆
0x04ffc0…04ffe0             2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0d 0a 0d 0a 42 4f 4f 54 09 45 51 55 09   ┆*******************    BOOT EQU ┆
0x04ffe0…050000             30 30 30 30 48 0d 0a 42 44 4f 53 09 45 51 55 09 30 30 30 35 48 0d 0a 46 43 42 31 09 45 51 55 09   ┆0000H  BDOS EQU 0005H  FCB1 EQU ┆
0x050000…050020 (21, 0, 11) 3b 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a   ┆;*******************************┆
0x050020…050040             2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a   ┆********************************┆
0x050040…050060             2a 0d 0a 3b 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆*  ;*                           ┆
0x050060…050080             20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆                                ┆
0x050080…0500a0             20 20 20 2a 0d 0a 3b 2a 20 20 20 20 20 46 49 4c 45 20 54 52 41 4e 53 46 45 52 20 55 54 49 4c 49   ┆   *  ;*     FILE TRANSFER UTILI┆
0x0500a0…0500c0             54 59 20 20 20 20 2d 20 20 20 20 56 45 52 53 49 4f 4e 20 20 38 31 2e 30 36 2e 32 39 20 20 20 20   ┆TY    -    VERSION  81.06.29    ┆
0x0500c0…0500e0             20 20 20 20 20 20 2a 0d 0a 3b 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆      *  ;*                     ┆
0x0500e0…050100             20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆                                ┆
0x050100…050120             20 20 20 20 20 20 20 20 20 2a 0d 0a 3b 2a 20 20 20 20 20 54 52 41 4e 53 46 45 52 20 20 41 3a 58   ┆         *  ;*     TRANSFER  A:X┆
0x050120…050140             2e 59 20 20 42 3a 55 2e 56 20 20 44 3a 3d 46 46 20 20 44 3a 3d 46 46 20 20 20 20 20 20 20 20 20   ┆.Y  B:U.V  D:=FF  D:=FF         ┆
0x050140…050160             20 20 20 20 20 20 20 20 20 20 20 20 2a 0d 0a 3b 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆            *  ;*               ┆
0x050160…050180             20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆                                ┆
0x050180…0501a0             20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 0d 0a 3b 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a   ┆               *  ;*************┆
0x0501a0…0501c0             2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a   ┆********************************┆
0x0501c0…0501e0             2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0d 0a 0d 0a 42 4f 4f 54 09 45 51 55 09   ┆*******************    BOOT EQU ┆
0x0501e0…050200             30 30 30 30 48 0d 0a 42 44 4f 53 09 45 51 55 09 30 30 30 35 48 0d 0a 46 43 42 31 09 45 51 55 09   ┆0000H  BDOS EQU 0005H  FCB1 EQU ┆
0x050200…050220 (21, 0, 12) 53 45 54 43 46 09 09 3b 0d 0a 53 53 53 3a 09 43 41 4c 4c 09 4e 43 48 41 52 09 09 3b 0d 0a 09 43   ┆SETCF  ;  SSS: CALL NCHAR  ;   C┆
0x050220…050240             50 49 09 27 53 27 09 09 3b 0d 0a 09 4a 4e 5a 09 53 43 41 4e 09 09 3b 0d 0a 09 43 41 4c 4c 09 4e   ┆PI 'S'  ;   JNZ SCAN  ;   CALL N┆
0x050240…050260             43 48 41 52 09 09 3b 0d 0a 09 43 50 49 09 27 20 27 09 09 3b 0d 0a 09 4a 4e 5a 09 53 43 41 4e 09   ┆CHAR  ;   CPI ' '  ;   JNZ SCAN ┆
0x050260…050280             09 3b 0d 0a 53 45 54 43 46 3a 09 4c 58 49 09 48 2c 53 46 09 09 3b 20 53 45 54 20 43 55 52 52 45   ┆ ;  SETCF: LXI H,SF  ; SET CURRE┆
0x050280…0502a0             4e 54 20 46 4f 52 4d 41 54 3a 0d 0a 09 4d 56 49 09 44 2c 30 09 09 3b 0d 0a 09 4d 4f 56 09 45 2c   ┆NT FORMAT:   MVI D,0  ;   MOV E,┆
0x0502a0…0502c0             42 09 09 3b 0d 0a 09 44 41 44 09 44 09 09 3b 0d 0a 09 4d 4f 56 09 41 2c 42 09 09 3b 0d 0a 09 4f   ┆B  ;   DAD D  ;   MOV A,B  ;   O┆
0x0502c0…0502e0             52 41 09 41 09 09 3b 0d 0a 09 4c 44 41 09 53 44 52 49 56 09 09 3b 0d 0a 09 4a 5a 09 53 45 54 30   ┆RA A  ;   LDA SDRIV  ;   JZ SET0┆
0x0502e0…050300             09 09 3b 0d 0a 09 4c 44 41 09 44 44 52 49 56 09 09 3b 0d 0a 53 45 54 30 3a 09 4f 52 41 09 41 09   ┆  ;   LDA DDRIV  ;  SET0: ORA A ┆
0x050300…050320             09 3b 0d 0a 09 4a 5a 09 53 45 54 31 09 09 3b 0d 0a 09 49 4e 58 09 48 09 09 3b 0d 0a 53 45 54 31   ┆ ;   JZ SET1  ;   INX H  ;  SET1┆
0x050320…050340             3a 09 4d 4f 56 09 4d 2c 43 09 09 3b 0d 0a 09 4a 4d 50 09 53 43 41 4e 09 09 3b 20 47 4f 54 4f 20   ┆: MOV M,C  ;   JMP SCAN  ; GOTO ┆
0x050340…050360             53 43 41 4e 20 46 4f 52 20 4e 45 58 54 3b 0d 0a 0d 0a 53 45 54 46 44 46 3a 20 49 4e 09 53 57 31   ┆SCAN FOR NEXT;    SETFDF: IN SW1┆
0x050360…050380             09 09 3b 20 49 46 20 4d 41 58 49 20 46 4c 4f 50 50 59 20 54 48 45 4e 0d 0a 09 41 4e 49 09 30 38   ┆  ; IF MAXI FLOPPY THEN   ANI 08┆
0x050380…0503a0             30 48 09 09 3b 20 20 47 4f 54 4f 20 53 45 54 46 43 42 3b 0d 0a 09 4a 5a 09 53 45 54 46 43 42 09   ┆0H  ;  GOTO SETFCB;   JZ SETFCB ┆
0x0503a0…0503c0             09 3b 0d 0a 09 4c 48 4c 44 09 53 46 4f 52 4d 09 09 3b 20 52 45 53 45 54 20 46 4c 4f 50 50 59 20   ┆ ;   LHLD SFORM  ; RESET FLOPPY ┆
0x0503c0…0503e0             46 4f 52 4d 41 54 53 3b 0d 0a 09 53 48 4c 44 09 53 46 09 09 3b 0d 0a 09 53 48 4c 44 09 44 46 09   ┆FORMATS;   SHLD SF  ;   SHLD DF ┆
0x0503e0…050400             09 3b 0d 0a 09 4a 4d 50 09 53 45 54 46 43 42 09 09 3b 20 47 4f 54 4f 20 53 45 54 20 46 43 42 3b   ┆ ;   JMP SETFCB  ; GOTO SET FCB;┆
0x050400…050420 (21, 0, 13) 9a 0c 01 14 00 00 00 00 8e 3e 00 00 00 c9 c3 1b 3e c3 1a 3e c3 22 3e c3 35 3e c9 af cd 31 13 c3   ┆         >      >  > "> 5>   1  ┆
0x050420…050440             1b 3e 21 a7 3d cd 17 0c eb d4 4b 3e f1 77 23 22 a7 3d d1 e1 c9 21 a7 3d cd 51 17 cd 2c 17 eb 7a   ┆ >! =     K> w#" =   ! = Q  ,  z┆
0x050440…050460             b3 ca 4b 3e 1b 36 1a 23 c3 3f 3e cd 96 12 21 4f 3c 7e 36 00 b7 fc 8e 12 21 a5 3d cd 17 0c d2 81   ┆  K> 6 # ?>   !O<ü6     ! =     ┆
0x050460…050480             3e eb 11 6b 3d cd 2c 1a c2 77 3e 21 c1 39 22 07 38 cd 8e 12 c3 4b 3e 11 80 00 19 22 a5 3d c3 4e   ┆>  k= ,  w>! 9" 8    K>    " = N┆
0x050480…0504a0             3e cd 81 0b 2a ab 3d 22 a5 3d 22 a7 3d c9 9b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆>   * =" =" =                   ┆
0x0504a0…0504c0             00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
          […0x2…]
0x050500…050520             44 af 2a 97 07 eb 2a 83 3c cd b5 44 c8 22 83 3c 21 87 3c 79 be 77 11 90 07 3a 95 07 c4 a9 44 11   ┆D *   * <  D " <! <y w   :    D ┆
0x050520…050540             b7 07 21 bc 07 78 cd 68 44 c3 01 44 2a a1 07 eb 2a 81 3c cd b2 44 c8 22 81 3c 21 86 3c 7e 87 da   ┆  !  x hD  D*   * <  D " <! <ü  ┆
0x050540…050560             4c 44 b9 c2 4c 44 4e c5 cd 50 44 c1 21 2c 44 e5 cd 9c 44 21 89 3c 7e 36 00 b7 c2 70 44 21 88 3c   ┆LD  LDN  PD !,D   D! <ü6   pD! <┆
0x050560…050580             78 ae 11 ad 07 21 b2 07 b7 f2 6d 44 eb c3 50 43 f5 21 88 3c 78 ae 70 78 11 a3 07 21 a8 07 fc 68   ┆x    !    mD  PC ! <x px   !   h┆
0x050580…0505a0             44 f1 d5 11 c1 07 fe 06 ca 97 44 11 c5 07 fe 07 ca 97 44 d1 c3 2c 42 cd 50 43 d1 c9 11 99 07 21   ┆D         D       D  ,B PC     !┆
0x0505a0…0505c0             86 3c 79 be c8 77 3a 9f 07 81 4f cd 50 43 79 c3 2c 42 3a 9e 07 4f 7c b5 c8 cd 12 17 eb cd 68 17   ┆ <y  w:   O PCy ,B:  Oø       h ┆
0x0505c0…0505e0             d2 c9 44 21 00 00 c3 ce 44 eb 1b cd 2c 17 79 4b b7 ca e0 44 79 b7 1f 4f d2 e0 44 1b 23 7a b3 c8   ┆  D!    D   , yK   Dy  O  D #z  ┆
0x0505e0…050600             78 b7 fc 1b 17 f6 01 c9 9b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆x                               ┆
0x050600…050620 (21, 0, 14) 30 30 35 43 48 0d 0a 53 46 43 42 09 45 51 55 09 46 43 42 31 0d 0a 46 43 42 32 09 45 51 55 09 30   ┆005CH  SFCB EQU FCB1  FCB2 EQU 0┆
0x050620…050640             30 36 43 48 0d 0a 44 42 55 46 46 20 20 20 45 51 55 09 30 30 38 30 48 0d 0a 54 50 41 09 45 51 55   ┆06CH  DBUFF   EQU 0080H  TPA EQU┆
0x050640…050660             09 30 31 30 30 48 0d 0a 0d 0a 57 42 4f 4f 54 20 20 20 45 51 55 20 20 20 20 20 31 0d 0a 46 44 46   ┆ 0100H    WBOOT   EQU     1  FDF┆
0x050660…050680             4f 52 4d 20 20 45 51 55 20 20 20 20 20 35 32 0d 0a 53 57 31 20 20 20 20 20 45 51 55 20 20 20 20   ┆ORM  EQU     52  SW1     EQU    ┆
0x050680…0506a0             20 31 34 48 0d 0a 43 4f 4e 53 49 46 09 45 51 55 09 31 0d 0a 50 52 49 4e 54 46 09 45 51 55 09 39   ┆ 14H  CONSIF EQU 1  PRINTF EQU 9┆
0x0506a0…0506c0             0d 0a 52 45 53 45 54 46 09 45 51 55 09 31 33 0d 0a 4f 50 45 4e 46 09 45 51 55 09 31 35 0d 0a 43   ┆  RESETF EQU 13  OPENF EQU 15  C┆
0x0506c0…0506e0             4c 4f 53 45 46 09 45 51 55 09 31 36 0d 0a 44 45 4c 45 54 45 46 09 45 51 55 09 31 39 0d 0a 52 45   ┆LOSEF EQU 16  DELETEF EQU 19  RE┆
0x0506e0…050700             41 44 46 09 45 51 55 09 32 30 0d 0a 57 52 49 54 45 46 09 45 51 55 09 32 31 0d 0a 4d 41 4b 45 46   ┆ADF EQU 20  WRITEF EQU 21  MAKEF┆
0x050700…050720             09 45 51 55 09 32 32 0d 0a 43 55 52 44 46 09 45 51 55 09 32 35 0d 0a 53 44 4d 41 46 09 45 51 55   ┆ EQU 22  CURDF EQU 25  SDMAF EQU┆
0x050720…050740             09 32 36 0d 0a 0d 0a 09 4f 52 47 09 54 50 41 0d 0a 0d 0a 09 50 4f 50 09 48 09 09 3b 20 53 41 56   ┆ 26     ORG TPA     POP H  ; SAV┆
0x050740…050760             45 20 52 45 54 55 52 4e 20 54 4f 20 43 43 50 0d 0a 09 53 48 4c 44 09 43 43 50 52 45 54 09 09 3b   ┆E RETURN TO CCP   SHLD CCPRET  ;┆
0x050760…050780             0d 0a 09 4c 58 49 09 53 50 2c 53 54 41 43 4b 09 3b 20 53 45 54 20 4c 4f 43 41 4c 20 53 54 41 43   ┆   LXI SP,STACK ; SET LOCAL STAC┆
0x050780…0507a0             4b 0d 0a 09 4c 58 49 09 48 2c 44 42 55 46 46 09 09 3b 20 50 41 44 20 43 4f 4d 4d 41 4e 44 20 42   ┆K   LXI H,DBUFF  ; PAD COMMAND B┆
0x0507a0…0507c0             55 46 46 45 52 0d 0a 09 49 4e 52 09 4d 09 09 3b 0d 0a 09 4d 4f 56 09 45 2c 4d 09 09 3b 0d 0a 09   ┆UFFER   INR M  ;   MOV E,M  ;   ┆
0x0507c0…0507e0             49 4e 52 09 4d 09 09 3b 0d 0a 09 4d 56 49 09 44 2c 30 09 09 3b 0d 0a 09 44 41 44 09 44 09 09 3b   ┆INR M  ;   MVI D,0  ;   DAD D  ;┆
0x0507e0…050800             0d 0a 09 4d 56 49 09 4d 2c 27 20 27 09 09 3b 0d 0a 09 4c 48 4c 44 09 57 42 4f 4f 54 09 09 3b 20   ┆   MVI M,' '  ;   LHLD WBOOT  ; ┆
0x050800…050820 (21, 0, 15) 30 30 35 43 48 0d 0a 53 46 43 42 09 45 51 55 09 46 43 42 31 0d 0a 46 43 42 32 09 45 51 55 09 30   ┆005CH  SFCB EQU FCB1  FCB2 EQU 0┆
0x050820…050840             30 36 43 48 0d 0a 44 42 55 46 46 20 20 20 45 51 55 09 30 30 38 30 48 0d 0a 54 50 41 09 45 51 55   ┆06CH  DBUFF   EQU 0080H  TPA EQU┆
0x050840…050860             09 30 31 30 30 48 0d 0a 0d 0a 57 42 4f 4f 54 20 20 20 45 51 55 20 20 20 20 20 31 0d 0a 46 44 46   ┆ 0100H    WBOOT   EQU     1  FDF┆
0x050860…050880             4f 52 4d 20 20 45 51 55 20 20 20 20 20 35 32 0d 0a 53 57 31 20 20 20 20 20 45 51 55 20 20 20 20   ┆ORM  EQU     52  SW1     EQU    ┆
0x050880…0508a0             20 31 34 48 0d 0a 43 4f 4e 53 49 46 09 45 51 55 09 31 0d 0a 50 52 49 4e 54 46 09 45 51 55 09 39   ┆ 14H  CONSIF EQU 1  PRINTF EQU 9┆
0x0508a0…0508c0             0d 0a 52 45 53 45 54 46 09 45 51 55 09 31 33 0d 0a 4f 50 45 4e 46 09 45 51 55 09 31 35 0d 0a 43   ┆  RESETF EQU 13  OPENF EQU 15  C┆
0x0508c0…0508e0             4c 4f 53 45 46 09 45 51 55 09 31 36 0d 0a 44 45 4c 45 54 45 46 09 45 51 55 09 31 39 0d 0a 52 45   ┆LOSEF EQU 16  DELETEF EQU 19  RE┆
0x0508e0…050900             41 44 46 09 45 51 55 09 32 30 0d 0a 57 52 49 54 45 46 09 45 51 55 09 32 31 0d 0a 4d 41 4b 45 46   ┆ADF EQU 20  WRITEF EQU 21  MAKEF┆
0x050900…050920             09 45 51 55 09 32 32 0d 0a 43 55 52 44 46 09 45 51 55 09 32 35 0d 0a 53 44 4d 41 46 09 45 51 55   ┆ EQU 22  CURDF EQU 25  SDMAF EQU┆
0x050920…050940             09 32 36 0d 0a 0d 0a 09 4f 52 47 09 54 50 41 0d 0a 0d 0a 09 50 4f 50 09 48 09 09 3b 20 53 41 56   ┆ 26     ORG TPA     POP H  ; SAV┆
0x050940…050960             45 20 52 45 54 55 52 4e 20 54 4f 20 43 43 50 0d 0a 09 53 48 4c 44 09 43 43 50 52 45 54 09 09 3b   ┆E RETURN TO CCP   SHLD CCPRET  ;┆
0x050960…050980             0d 0a 09 4c 58 49 09 53 50 2c 53 54 41 43 4b 09 3b 20 53 45 54 20 4c 4f 43 41 4c 20 53 54 41 43   ┆   LXI SP,STACK ; SET LOCAL STAC┆
0x050980…0509a0             4b 0d 0a 09 4c 58 49 09 48 2c 44 42 55 46 46 09 09 3b 20 50 41 44 20 43 4f 4d 4d 41 4e 44 20 42   ┆K   LXI H,DBUFF  ; PAD COMMAND B┆
0x0509a0…0509c0             55 46 46 45 52 0d 0a 09 49 4e 52 09 4d 09 09 3b 0d 0a 09 4d 4f 56 09 45 2c 4d 09 09 3b 0d 0a 09   ┆UFFER   INR M  ;   MOV E,M  ;   ┆
0x0509c0…0509e0             49 4e 52 09 4d 09 09 3b 0d 0a 09 4d 56 49 09 44 2c 30 09 09 3b 0d 0a 09 44 41 44 09 44 09 09 3b   ┆INR M  ;   MVI D,0  ;   DAD D  ;┆
0x0509e0…050a00             0d 0a 09 4d 56 49 09 4d 2c 27 20 27 09 09 3b 0d 0a 09 4c 48 4c 44 09 57 42 4f 4f 54 09 09 3b 20   ┆   MVI M,' '  ;   LHLD WBOOT  ; ┆
0x050a00…050a20 (21, 1, 1)  0d 0a 0d 0a 53 45 54 46 3a 09 58 43 48 47 09 09 09 3b 20 53 45 54 20 46 44 20 46 4f 52 4d 41 54   ┆    SETF: XCHG   ; SET FD FORMAT┆
0x050a20…050a40             53 3a 0d 0a 09 4c 48 4c 44 09 41 46 4f 52 4d 09 09 3b 0d 0a 09 4d 4f 56 09 4d 2c 45 09 09 3b 0d   ┆S:   LHLD AFORM  ;   MOV M,E  ; ┆
0x050a40…050a60             0a 09 49 4e 58 09 48 09 09 3b 0d 0a 09 4d 4f 56 09 4d 2c 44 09 09 3b 0d 0a 09 52 45 54 09 09 09   ┆  INX H  ;   MOV M,D  ;   RET   ┆
0x050a60…050a80             3b 0d 0a 0d 0a 47 45 54 44 44 3a 09 43 41 4c 4c 09 52 45 54 43 44 09 09 3b 20 47 45 54 20 44 45   ┆;    GETDD: CALL RETCD  ; GET DE┆
0x050a80…050aa0             46 41 55 4c 54 20 44 52 49 56 45 3a 0d 0a 09 49 4e 52 09 41 09 09 3b 0d 0a 09 52 45 54 09 09 09   ┆FAULT DRIVE:   INR A  ;   RET   ┆
0x050aa0…050ac0             3b 0d 0a 0d 0a 53 45 54 46 43 42 3a 09 4d 56 49 09 43 2c 31 36 09 09 3b 0d 0a 09 4c 58 49 09 44   ┆;    SETFCB: MVI C,16  ;   LXI D┆
0x050ac0…050ae0             2c 46 43 42 32 09 09 3b 20 53 45 54 55 50 20 44 46 43 42 0d 0a 09 4c 58 49 09 48 2c 44 46 43 42   ┆,FCB2  ; SETUP DFCB   LXI H,DFCB┆
0x050ae0…050b00             09 09 3b 0d 0a 4d 46 43 42 3a 09 4c 44 41 58 09 44 09 09 3b 0d 0a 09 49 4e 58 09 44 09 09 3b 0d   ┆  ;  MFCB: LDAX D  ;   INX D  ; ┆
0x050b00…050b20             0a 09 4d 4f 56 09 4d 2c 41 09 09 3b 0d 0a 09 49 4e 58 09 48 09 09 3b 0d 0a 09 44 43 52 09 43 09   ┆  MOV M,A  ;   INX H  ;   DCR C ┆
0x050b20…050b40             09 3b 0d 0a 09 4a 4e 5a 09 4d 46 43 42 09 09 3b 0d 0a 09 58 52 41 09 41 09 09 3b 0d 0a 09 53 54   ┆ ;   JNZ MFCB  ;   XRA A  ;   ST┆
0x050b40…050b60             41 09 44 46 43 42 43 52 09 09 3b 20 43 55 52 52 45 4e 54 20 52 45 43 28 44 46 43 42 29 3a 3d 30   ┆A DFCBCR  ; CURRENT REC(DFCB):=0┆
0x050b60…050b80             3b 0d 0a 09 4c 58 49 09 44 2c 53 57 4f 50 44 09 09 3b 0d 0a 09 43 41 4c 4c 09 50 52 49 4e 54 09   ┆;   LXI D,SWOPD  ;   CALL PRINT ┆
0x050b80…050ba0             09 3b 0d 0a 09 43 41 4c 4c 09 43 4f 4e 53 49 09 09 3b 0d 0a 09 4c 48 4c 44 09 53 46 09 09 3b 0d   ┆ ;   CALL CONSI  ;   LHLD SF  ; ┆
0x050ba0…050bc0             0a 09 43 41 4c 4c 09 53 45 54 46 09 09 3b 20 53 45 54 20 53 4f 55 52 43 45 20 46 4f 52 4d 41 54   ┆  CALL SETF  ; SET SOURCE FORMAT┆
0x050bc0…050be0             0d 0a 09 43 41 4c 4c 09 52 45 53 45 54 09 09 3b 0d 0a 09 4c 58 49 09 44 2c 53 46 43 42 09 09 3b   ┆   CALL RESET  ;   LXI D,SFCB  ;┆
0x050be0…050c00             0d 0a 09 43 41 4c 4c 09 4f 50 45 4e 09 09 3b 20 4f 50 45 4e 20 53 4f 55 52 43 45 20 46 49 4c 45   ┆   CALL OPEN  ; OPEN SOURCE FILE┆
0x050c00…050c20 (21, 1, 2)  0d 0a 0d 0a 53 45 54 46 3a 09 58 43 48 47 09 09 09 3b 20 53 45 54 20 46 44 20 46 4f 52 4d 41 54   ┆    SETF: XCHG   ; SET FD FORMAT┆
0x050c20…050c40             53 3a 0d 0a 09 4c 48 4c 44 09 41 46 4f 52 4d 09 09 3b 0d 0a 09 4d 4f 56 09 4d 2c 44 09 09 3b 0d   ┆S:   LHLD AFORM  ;   MOV M,D  ; ┆
0x050c40…050c60             0a 09 49 4e 58 09 48 09 09 3b 0d 0a 09 4d 4f 56 09 4d 2c 45 09 09 3b 0d 0a 09 52 45 54 09 09 09   ┆  INX H  ;   MOV M,E  ;   RET   ┆
0x050c60…050c80             3b 0d 0a 0d 0a 47 45 54 44 44 3a 09 43 41 4c 4c 09 52 45 54 43 44 09 09 3b 20 47 45 54 20 44 45   ┆;    GETDD: CALL RETCD  ; GET DE┆
0x050c80…050ca0             46 41 55 4c 54 20 44 52 49 56 45 3a 0d 0a 09 49 4e 52 09 41 09 09 3b 0d 0a 09 52 45 54 09 09 09   ┆FAULT DRIVE:   INR A  ;   RET   ┆
0x050ca0…050cc0             3b 0d 0a 0d 0a 53 45 54 46 43 42 3a 09 4d 56 49 09 43 2c 31 36 09 09 3b 0d 0a 09 4c 58 49 09 44   ┆;    SETFCB: MVI C,16  ;   LXI D┆
0x050cc0…050ce0             2c 46 43 42 32 09 09 3b 20 53 45 54 55 50 20 44 46 43 42 0d 0a 09 4c 58 49 09 48 2c 44 46 43 42   ┆,FCB2  ; SETUP DFCB   LXI H,DFCB┆
0x050ce0…050d00             09 09 3b 0d 0a 4d 46 43 42 3a 09 4c 44 41 58 09 44 09 09 3b 0d 0a 09 49 4e 58 09 44 09 09 3b 0d   ┆  ;  MFCB: LDAX D  ;   INX D  ; ┆
0x050d00…050d20             0a 09 4d 4f 56 09 4d 2c 41 09 09 3b 0d 0a 09 49 4e 58 09 48 09 09 3b 0d 0a 09 44 43 52 09 43 09   ┆  MOV M,A  ;   INX H  ;   DCR C ┆
0x050d20…050d40             09 3b 0d 0a 09 4a 4e 5a 09 4d 46 43 42 09 09 3b 0d 0a 09 58 52 41 09 41 09 09 3b 0d 0a 09 53 54   ┆ ;   JNZ MFCB  ;   XRA A  ;   ST┆
0x050d40…050d60             41 09 44 46 43 42 43 52 09 09 3b 20 43 55 52 52 45 4e 54 20 52 45 43 28 44 46 43 42 29 3a 3d 30   ┆A DFCBCR  ; CURRENT REC(DFCB):=0┆
0x050d60…050d80             3b 0d 0a 09 4c 58 49 09 44 2c 53 57 4f 50 44 09 09 3b 0d 0a 09 43 41 4c 4c 09 50 52 49 4e 54 09   ┆;   LXI D,SWOPD  ;   CALL PRINT ┆
0x050d80…050da0             09 3b 0d 0a 09 43 41 4c 4c 09 43 4f 4e 53 49 09 09 3b 0d 0a 09 4c 48 4c 44 09 53 46 09 09 3b 0d   ┆ ;   CALL CONSI  ;   LHLD SF  ; ┆
0x050da0…050dc0             0a 09 43 41 4c 4c 09 53 45 54 46 09 09 3b 20 53 45 54 20 53 4f 55 52 43 45 20 46 4f 52 4d 41 54   ┆  CALL SETF  ; SET SOURCE FORMAT┆
0x050dc0…050de0             0d 0a 09 43 41 4c 4c 09 52 45 53 45 54 09 09 3b 0d 0a 09 4c 58 49 09 44 2c 53 46 43 42 09 09 3b   ┆   CALL RESET  ;   LXI D,SFCB  ;┆
0x050de0…050e00             0d 0a 09 43 41 4c 4c 09 4f 50 45 4e 09 09 3b 20 4f 50 45 4e 20 53 4f 55 52 43 45 20 46 49 4c 45   ┆   CALL OPEN  ; OPEN SOURCE FILE┆
0x050e00…050e20 (21, 1, 3)  20 20 20 20 20 20 3b 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a   ┆      ;*************************┆
0x050e20…050e40             2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a   ┆********************************┆
0x050e40…050e60             2a 2a 2a 2a 2a 2a 2a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0d 0a 20 30 30 30 30   ┆*******                     0000┆
0x050e60…050e80             20 3d 20 20 20 20 20 20 20 20 20 42 4f 4f 54 09 45 51 55 09 30 30 30 30 48 0d 0a 20 30 30 30 35   ┆ =         BOOT EQU 0000H   0005┆
0x050e80…050ea0             20 3d 20 20 20 20 20 20 20 20 20 42 44 4f 53 09 45 51 55 09 30 30 30 35 48 0d 0a 20 30 30 35 43   ┆ =         BDOS EQU 0005H   005C┆
0x050ea0…050ec0             20 3d 20 20 20 20 20 20 20 20 20 46 43 42 31 09 45 51 55 09 30 30 35 43 48 0d 0a 20 30 30 35 43   ┆ =         FCB1 EQU 005CH   005C┆
0x050ec0…050ee0             20 3d 20 20 20 20 20 20 20 20 20 53 46 43 42 09 45 51 55 09 46 43 42 31 0d 0a 20 30 30 36 43 20   ┆ =         SFCB EQU FCB1   006C ┆
0x050ee0…050f00             3d 20 20 20 20 20 20 20 20 20 46 43 42 32 09 45 51 55 09 30 30 36 43 48 0d 0a 20 30 30 38 30 20   ┆=         FCB2 EQU 006CH   0080 ┆
0x050f00…050f20             3d 20 20 20 20 20 20 20 20 20 44 42 55 46 46 20 20 20 45 51 55 09 30 30 38 30 48 0d 0a 20 30 31   ┆=         DBUFF   EQU 0080H   01┆
0x050f20…050f40             30 30 20 3d 20 20 20 20 20 20 20 20 20 54 50 41 09 45 51 55 09 30 31 30 30 48 0d 0a 20 20 20 20   ┆00 =         TPA EQU 0100H      ┆
0x050f40…050f60             20 20 20 20 20 20 20 20 20 20 20 20 0d 0a 20 30 30 30 31 20 3d 20 20 20 20 20 20 20 20 20 57 42   ┆               0001 =         WB┆
0x050f60…050f80             4f 4f 54 20 20 20 45 51 55 20 20 20 20 20 31 0d 0a 20 30 30 33 34 20 3d 20 20 20 20 20 20 20 20   ┆OOT   EQU     1   0034 =        ┆
0x050f80…050fa0             20 46 44 46 4f 52 4d 20 20 45 51 55 20 20 20 20 20 35 32 0d 0a 20 30 30 31 34 20 3d 20 20 20 20   ┆ FDFORM  EQU     52   0014 =    ┆
0x050fa0…050fc0             20 20 20 20 20 53 57 31 20 20 20 20 20 45 51 55 20 20 20 20 20 31 34 48 0d 0a 20 30 30 30 31 20   ┆     SW1     EQU     14H   0001 ┆
0x050fc0…050fe0             3d 20 20 20 20 20 20 20 20 20 43 4f 4e 53 49 46 09 45 51 55 09 31 0d 0a 20 30 30 30 39 20 3d 20   ┆=         CONSIF EQU 1   0009 = ┆
0x050fe0…051000             20 20 20 20 20 20 20 20 50 52 49 4e 54 46 09 45 51 55 09 39 0d 0a 20 30 30 30 44 20 3d 20 20 20   ┆        PRINTF EQU 9   000D =   ┆
0x051000…051020 (21, 1, 4)  46 09 09 3b 20 47 45 54 20 4e 45 58 54 20 43 48 41 52 3a 0d 0a 20 30 31 35 31 20 33 35 20 20 20   ┆F  ; GET NEXT CHAR:   0151 35   ┆
0x051020…051040             20 20 20 20 20 09 44 43 52 09 4d 09 09 3b 0d 0a 20 30 31 35 32 20 43 41 43 44 30 31 20 20 20 20   ┆      DCR M  ;   0152 CACD01    ┆
0x051040…051060             09 4a 5a 09 53 45 54 46 44 46 09 09 3b 20 49 46 20 45 4f 4c 20 54 48 45 4e 20 45 58 49 54 0d 0a   ┆ JZ SETFDF  ; IF EOL THEN EXIT  ┆
0x051060…051080             20 30 31 35 35 20 32 41 46 43 30 33 20 20 20 20 09 4c 48 4c 44 09 43 41 44 44 52 09 09 3b 0d 0a   ┆ 0155 2AFC03     LHLD CADDR  ;  ┆
0x051080…0510a0             20 30 31 35 38 20 37 45 20 20 20 20 20 20 20 20 09 4d 4f 56 09 41 2c 4d 09 09 3b 20 20 20 20 20   ┆ 0158 7E         MOV A,M  ;     ┆
0x0510a0…0510c0             20 20 20 45 4c 53 45 20 50 49 43 4b 55 50 20 43 48 41 52 3b 0d 0a 20 30 31 35 39 20 32 33 20 20   ┆   ELSE PICKUP CHAR;   0159 23  ┆
0x0510c0…0510e0             20 20 20 20 20 20 09 49 4e 58 09 48 09 09 3b 0d 0a 20 30 31 35 41 20 32 32 46 43 30 33 20 20 20   ┆       INX H  ;   015A 22FC03   ┆
0x0510e0…051100             20 09 53 48 4c 44 09 43 41 44 44 52 09 09 3b 0d 0a 20 30 31 35 44 20 43 39 20 20 20 20 20 20 20   ┆  SHLD CADDR  ;   015D C9       ┆
0x051100…051120             20 09 52 45 54 09 09 20 09 3b 20 52 45 54 55 52 4e 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20   ┆  RET    ; RETURN;              ┆
0x051120…051140             20 20 20 20 0d 0a 20 30 31 35 45 20 30 31 30 30 30 30 20 20 20 20 53 43 41 4e 3a 09 4c 58 49 09   ┆       015E 010000    SCAN: LXI ┆
0x051140…051160             42 2c 30 09 09 3b 20 44 52 49 56 45 2c 44 45 4e 53 49 54 59 3a 3d 53 2c 53 53 0d 0a 20 30 31 36   ┆B,0  ; DRIVE,DENSITY:=S,SS   016┆
0x051160…051180             31 20 43 44 34 45 30 31 20 20 20 20 09 43 41 4c 4c 09 4e 43 48 41 52 09 09 3b 0d 0a 20 30 31 36   ┆1 CD4E01     CALL NCHAR  ;   016┆
0x051180…0511a0             34 20 46 45 35 33 20 20 20 20 20 20 09 43 50 49 09 27 53 27 09 09 3b 20 53 45 41 52 43 48 20 53   ┆4 FE53       CPI 'S'  ; SEARCH S┆
0x0511a0…0511c0             20 4f 52 20 44 20 44 52 49 56 45 3a 0d 0a 20 30 31 36 36 20 43 41 37 30 30 31 20 20 20 20 09 4a   ┆ OR D DRIVE:   0166 CA7001     J┆
0x0511c0…0511e0             5a 09 53 43 4f 4c 09 09 3b 0d 0a 20 30 31 36 39 20 46 45 34 34 20 20 20 20 20 20 09 43 50 49 09   ┆Z SCOL  ;   0169 FE44       CPI ┆
0x0511e0…051200             27 44 27 09 09 3b 0d 0a 20 30 31 36 42 20 43 32 35 45 30 31 20 20 20 20 09 4a 4e 5a 09 53 43 41   ┆'D'  ;   016B C25E01     JNZ SCA┆
0x051200…051220 (21, 1, 5)  0d 0a 09 4c 58 49 09 44 2c 4e 4f 46 49 4c 45 09 3b 0d 0a 09 49 4e 52 09 41 09 09 3b 0d 0a 09 43   ┆   LXI D,NOFILE ;   INR A  ;   C┆
0x051220…051240             5a 09 46 49 4e 49 53 09 09 3b 0d 0a 09 4c 58 49 09 44 2c 42 55 46 09 09 3b 0d 0a 09 4d 56 49 09   ┆Z FINIS  ;   LXI D,BUF  ;   MVI ┆
0x051240…051260             41 2c 30 09 09 3b 20 53 45 43 54 4f 52 43 4f 55 4e 54 3a 3d 20 31 3b 0d 0a 09 53 54 41 09 53 45   ┆A,0  ; SECTORCOUNT:= 1;   STA SE┆
0x051260…051280             43 43 4e 54 09 09 3b 0d 0a 09 50 55 53 48 09 44 09 09 3b 0d 0a 09 43 41 4c 4c 09 53 45 54 44 4d   ┆CCNT  ;   PUSH D  ;   CALL SETDM┆
0x051280…0512a0             41 09 09 3b 20 53 45 54 20 42 55 46 46 45 52 20 41 44 44 52 45 53 53 0d 0a 52 44 41 54 41 3a 09   ┆A  ; SET BUFFER ADDRESS  RDATA: ┆
0x0512a0…0512c0             4c 58 49 09 44 2c 53 46 43 42 09 09 3b 0d 0a 09 43 41 4c 4c 09 52 45 41 44 09 09 3b 0d 0a 09 4f   ┆LXI D,SFCB  ;   CALL READ  ;   O┆
0x0512c0…0512e0             52 41 09 41 09 09 3b 20 52 45 41 44 20 52 45 43 4f 52 44 3a 0d 0a 09 4a 4e 5a 09 45 4f 46 49 4c   ┆RA A  ; READ RECORD:   JNZ EOFIL┆
0x0512e0…051300             45 09 09 3b 0d 0a 09 50 4f 50 09 44 09 09 3b 20 49 46 20 45 4f 46 20 54 48 45 4e 20 47 4f 54 4f   ┆E  ;   POP D  ; IF EOF THEN GOTO┆
0x051300…051320             20 43 48 41 4e 47 45 20 44 49 53 4b 3b 0d 0a 09 4c 58 49 09 48 2c 31 32 38 09 09 3b 0d 0a 09 44   ┆ CHANGE DISK;   LXI H,128  ;   D┆
0x051320…051340             41 44 09 44 09 09 3b 0d 0a 09 58 43 48 47 09 09 09 3b 0d 0a 09 50 55 53 48 09 44 09 09 3b 0d 0a   ┆AD D  ;   XCHG   ;   PUSH D  ;  ┆
0x051340…051360             09 43 41 4c 4c 09 53 45 54 44 4d 41 09 09 3b 20 53 45 54 20 42 55 46 41 44 52 0d 0a 09 4c 58 49   ┆ CALL SETDMA  ; SET BUFADR   LXI┆
0x051360…051380             09 48 2c 53 45 43 43 4e 54 09 3b 0d 0a 09 4c 58 49 09 44 2c 54 4f 4f 42 49 47 09 3b 0d 0a 09 49   ┆ H,SECCNT ;   LXI D,TOOBIG ;   I┆
0x051380…0513a0             4e 52 09 4d 09 09 3b 20 53 45 43 54 4f 52 43 4f 55 4e 54 3a 3d 53 45 43 54 4f 52 43 4f 55 4e 54   ┆NR M  ; SECTORCOUNT:=SECTORCOUNT┆
0x0513a0…0513c0             2b 31 3b 0d 0a 09 43 5a 09 46 49 4e 49 53 09 09 3b 20 49 46 20 46 49 4c 45 20 54 4f 4f 20 42 49   ┆+1;   CZ FINIS  ; IF FILE TOO BI┆
0x0513c0…0513e0             47 20 46 4f 52 20 42 55 46 3a 20 45 58 49 54 3b 0d 0a 09 4a 4d 50 09 52 44 41 54 41 09 09 3b 20   ┆G FOR BUF: EXIT;   JMP RDATA  ; ┆
0x0513e0…051400             47 4f 54 4f 20 52 45 41 44 20 4e 45 58 54 3b 0d 0a 45 4f 46 49 4c 45 3a 09 50 4f 50 09 44 09 09   ┆GOTO READ NEXT;  EOFILE: POP D  ┆
0x051400…051420 (21, 1, 6)  0d 0a 09 4c 58 49 09 44 2c 4e 4f 46 49 4c 45 09 3b 0d 0a 09 49 4e 52 09 41 09 09 3b 0d 0a 09 43   ┆   LXI D,NOFILE ;   INR A  ;   C┆
0x051420…051440             5a 09 46 49 4e 49 53 09 09 3b 0d 0a 09 4c 58 49 09 44 2c 42 55 46 09 09 3b 0d 0a 09 4d 56 49 09   ┆Z FINIS  ;   LXI D,BUF  ;   MVI ┆
0x051440…051460             41 2c 30 09 09 3b 20 53 45 43 54 4f 52 43 4f 55 4e 54 3a 3d 20 31 3b 0d 0a 09 53 54 41 09 53 45   ┆A,0  ; SECTORCOUNT:= 1;   STA SE┆
0x051460…051480             43 43 4e 54 09 09 3b 0d 0a 09 50 55 53 48 09 44 09 09 3b 0d 0a 09 43 41 4c 4c 09 53 45 54 44 4d   ┆CCNT  ;   PUSH D  ;   CALL SETDM┆
0x051480…0514a0             41 09 09 3b 20 53 45 54 20 42 55 46 46 45 52 20 41 44 44 52 45 53 53 0d 0a 52 44 41 54 41 3a 09   ┆A  ; SET BUFFER ADDRESS  RDATA: ┆
0x0514a0…0514c0             4c 58 49 09 44 2c 53 46 43 42 09 09 3b 0d 0a 09 43 41 4c 4c 09 52 45 41 44 09 09 3b 0d 0a 09 4f   ┆LXI D,SFCB  ;   CALL READ  ;   O┆
0x0514c0…0514e0             52 41 09 41 09 09 3b 20 52 45 41 44 20 52 45 43 4f 52 44 3a 0d 0a 09 4a 4e 5a 09 45 4f 46 49 4c   ┆RA A  ; READ RECORD:   JNZ EOFIL┆
0x0514e0…051500             45 09 09 3b 0d 0a 09 50 4f 50 09 44 09 09 3b 20 49 46 20 45 4f 46 20 54 48 45 4e 20 47 4f 54 4f   ┆E  ;   POP D  ; IF EOF THEN GOTO┆
0x051500…051520             20 43 48 41 4e 47 45 20 44 49 53 4b 3b 0d 0a 09 4c 58 49 09 48 2c 31 32 38 09 09 3b 0d 0a 09 44   ┆ CHANGE DISK;   LXI H,128  ;   D┆
0x051520…051540             41 44 09 44 09 09 3b 0d 0a 09 58 43 48 47 09 09 09 3b 0d 0a 09 50 55 53 48 09 44 09 09 3b 0d 0a   ┆AD D  ;   XCHG   ;   PUSH D  ;  ┆
0x051540…051560             09 43 41 4c 4c 09 53 45 54 44 4d 41 09 09 3b 20 53 45 54 20 42 55 46 41 44 52 0d 0a 09 4c 58 49   ┆ CALL SETDMA  ; SET BUFADR   LXI┆
0x051560…051580             09 48 2c 53 45 43 43 4e 54 09 3b 0d 0a 09 4c 58 49 09 44 2c 54 4f 4f 42 49 47 09 3b 0d 0a 09 49   ┆ H,SECCNT ;   LXI D,TOOBIG ;   I┆
0x051580…0515a0             4e 52 09 4d 09 09 3b 20 53 45 43 54 4f 52 43 4f 55 4e 54 3a 3d 53 45 43 54 4f 52 43 4f 55 4e 54   ┆NR M  ; SECTORCOUNT:=SECTORCOUNT┆
0x0515a0…0515c0             2b 31 3b 0d 0a 09 43 5a 09 46 49 4e 49 53 09 09 3b 20 49 46 20 46 49 4c 45 20 54 4f 4f 20 42 49   ┆+1;   CZ FINIS  ; IF FILE TOO BI┆
0x0515c0…0515e0             47 20 46 4f 52 20 42 55 46 3a 20 45 58 49 54 3b 0d 0a 09 4a 4d 50 09 52 44 41 54 41 09 09 3b 20   ┆G FOR BUF: EXIT;   JMP RDATA  ; ┆
0x0515e0…051600             47 4f 54 4f 20 52 45 41 44 20 4e 45 58 54 3b 0d 0a 45 4f 46 49 4c 45 3a 09 50 4f 50 09 44 09 09   ┆GOTO READ NEXT;  EOFILE: POP D  ┆
0x051600…051620 (21, 1, 7)  20 20 20 20 20 20 52 45 53 45 54 46 09 45 51 55 09 31 33 0d 0a 20 30 30 30 46 20 3d 20 20 20 20   ┆      RESETF EQU 13   000F =    ┆
0x051620…051640             20 20 20 20 20 4f 50 45 4e 46 09 45 51 55 09 31 35 0d 0a 20 30 30 31 30 20 3d 20 20 20 20 20 20   ┆     OPENF EQU 15   0010 =      ┆
0x051640…051660             20 20 20 43 4c 4f 53 45 46 09 45 51 55 09 31 36 0d 0a 20 30 30 31 33 20 3d 20 20 20 20 20 20 20   ┆   CLOSEF EQU 16   0013 =       ┆
0x051660…051680             20 20 44 45 4c 45 54 45 46 09 45 51 55 09 31 39 0d 0a 20 30 30 31 34 20 3d 20 20 20 20 20 20 20   ┆  DELETEF EQU 19   0014 =       ┆
0x051680…0516a0             20 20 52 45 41 44 46 09 45 51 55 09 32 30 0d 0a 20 30 30 31 35 20 3d 20 20 20 20 20 20 20 20 20   ┆  READF EQU 20   0015 =         ┆
0x0516a0…0516c0             57 52 49 54 45 46 09 45 51 55 09 32 31 0d 0a 20 30 30 31 36 20 3d 20 20 20 20 20 20 20 20 20 4d   ┆WRITEF EQU 21   0016 =         M┆
0x0516c0…0516e0             41 4b 45 46 09 45 51 55 09 32 32 0d 0a 20 30 30 31 39 20 3d 20 20 20 20 20 20 20 20 20 43 55 52   ┆AKEF EQU 22   0019 =         CUR┆
0x0516e0…051700             44 46 09 45 51 55 09 32 35 0d 0a 20 30 30 31 41 20 3d 20 20 20 20 20 20 20 20 20 53 44 4d 41 46   ┆DF EQU 25   001A =         SDMAF┆
0x051700…051720             09 45 51 55 09 32 36 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0d 0a 20 30 31 30 30   ┆ EQU 26                     0100┆
0x051720…051740             20 20 20 20 20 20 20 20 20 20 20 09 4f 52 47 09 54 50 41 0d 0a 20 20 20 20 20 20 20 20 20 20 20   ┆            ORG TPA             ┆
0x051740…051760             20 20 20 20 20 0d 0a 20 30 31 30 30 20 45 31 20 20 20 20 20 20 20 20 09 50 4f 50 09 48 09 09 3b   ┆        0100 E1         POP H  ;┆
0x051760…051780             20 53 41 56 45 20 52 45 54 55 52 4e 20 54 4f 20 43 43 50 0d 0a 20 30 31 30 31 20 32 32 30 35 30   ┆ SAVE RETURN TO CCP   0101 22050┆
0x051780…0517a0             34 20 20 20 20 09 53 48 4c 44 09 43 43 50 52 45 54 09 09 3b 0d 0a 20 30 31 30 34 20 33 31 34 37   ┆4     SHLD CCPRET  ;   0104 3147┆
0x0517a0…0517c0             30 34 20 20 20 20 09 4c 58 49 09 53 50 2c 53 54 41 43 4b 09 3b 20 53 45 54 20 4c 4f 43 41 4c 20   ┆04     LXI SP,STACK ; SET LOCAL ┆
0x0517c0…0517e0             53 54 41 43 4b 0d 0a 20 30 31 30 37 20 32 31 38 30 30 30 20 20 20 20 09 4c 58 49 09 48 2c 44 42   ┆STACK   0107 218000     LXI H,DB┆
0x0517e0…051800             55 46 46 09 09 3b 20 50 41 44 20 43 4f 4d 4d 41 4e 44 20 42 55 46 46 45 52 0d 0a 20 30 31 30 41   ┆UFF  ; PAD COMMAND BUFFER   010A┆
0x051800…051820 (21, 1, 8)  4e 09 09 3b 0d 0a 20 30 31 36 45 20 30 36 30 32 20 20 20 20 20 20 09 4d 56 49 09 42 2c 32 09 09   ┆N  ;   016E 0602       MVI B,2  ┆
0x051820…051840             3b 0d 0a 20 30 31 37 30 20 43 44 34 45 30 31 20 20 20 20 53 43 4f 4c 3a 09 43 41 4c 4c 09 4e 43   ┆;   0170 CD4E01    SCOL: CALL NC┆
0x051840…051860             48 41 52 09 09 3b 20 53 45 41 52 43 48 20 43 4f 4c 4f 4e 3a 0d 0a 20 30 31 37 33 20 46 45 33 41   ┆HAR  ; SEARCH COLON:   0173 FE3A┆
0x051860…051880             20 20 20 20 20 20 09 43 50 49 09 27 3a 27 09 09 3b 0d 0a 20 30 31 37 35 20 43 32 35 45 30 31 20   ┆       CPI ':'  ;   0175 C25E01 ┆
0x051880…0518a0             20 20 20 09 4a 4e 5a 09 53 43 41 4e 09 09 3b 0d 0a 20 30 31 37 38 20 43 44 34 45 30 31 20 20 20   ┆    JNZ SCAN  ;   0178 CD4E01   ┆
0x0518a0…0518c0             20 09 43 41 4c 4c 09 4e 43 48 41 52 09 09 3b 20 53 45 41 52 43 48 20 45 51 55 41 4c 3a 0d 0a 20   ┆  CALL NCHAR  ; SEARCH EQUAL:   ┆
0x0518c0…0518e0             30 31 37 42 20 46 45 33 44 20 20 20 20 20 20 09 43 50 49 09 27 3d 27 09 09 3b 0d 0a 20 30 31 37   ┆017B FE3D       CPI '='  ;   017┆
0x0518e0…051900             44 20 43 32 35 45 30 31 20 20 20 20 09 4a 4e 5a 09 53 43 41 4e 09 09 3b 0d 0a 20 30 31 38 30 20   ┆D C25E01     JNZ SCAN  ;   0180 ┆
0x051900…051920             43 44 34 45 30 31 20 20 20 20 09 43 41 4c 4c 09 4e 43 48 41 52 09 09 3b 20 53 45 41 52 43 48 20   ┆CD4E01     CALL NCHAR  ; SEARCH ┆
0x051920…051940             44 45 4e 53 49 54 59 3a 0d 0a 20 30 31 38 33 20 46 45 35 33 20 20 20 20 20 20 09 43 50 49 09 27   ┆DENSITY:   0183 FE53       CPI '┆
0x051940…051960             53 27 09 09 3b 0d 0a 20 30 31 38 35 20 43 41 41 32 30 31 20 20 20 20 09 4a 5a 09 53 53 53 09 09   ┆S'  ;   0185 CAA201     JZ SSS  ┆
0x051960…051980             3b 0d 0a 20 30 31 38 38 20 46 45 34 34 20 20 20 20 20 20 09 43 50 49 09 27 44 27 09 09 3b 0d 0a   ┆;   0188 FE44       CPI 'D'  ;  ┆
0x051980…0519a0             20 30 31 38 41 20 43 32 35 45 30 31 20 20 20 20 09 4a 4e 5a 09 53 43 41 4e 09 09 3b 0d 0a 20 30   ┆ 018A C25E01     JNZ SCAN  ;   0┆
0x0519a0…0519c0             31 38 44 20 43 44 34 45 30 31 20 20 20 20 09 43 41 4c 4c 09 4e 43 48 41 52 09 09 3b 0d 0a 20 30   ┆18D CD4E01     CALL NCHAR  ;   0┆
0x0519c0…0519e0             31 39 30 20 46 45 34 34 20 20 20 20 20 20 09 43 50 49 09 27 44 27 09 09 3b 0d 0a 20 30 31 39 32   ┆190 FE44       CPI 'D'  ;   0192┆
0x0519e0…051a00             20 43 32 35 45 30 31 20 20 20 20 09 4a 4e 5a 09 53 43 41 4e 09 09 3b 0d 0a 20 30 31 39 35 20 43   ┆ C25E01     JNZ SCAN  ;   0195 C┆
0x051a00…051a20 (21, 1, 9)  3b 0d 0a 09 4c 58 49 09 44 2c 53 57 4f 50 53 09 09 3b 20 43 48 41 4e 47 45 20 44 49 53 4b 3a 0d   ┆;   LXI D,SWOPS  ; CHANGE DISK: ┆
0x051a20…051a40             0a 09 43 41 4c 4c 09 50 52 49 4e 54 09 09 3b 0d 0a 09 43 41 4c 4c 09 43 4f 4e 53 49 09 09 3b 20   ┆  CALL PRINT  ;   CALL CONSI  ; ┆
0x051a40…051a60             57 41 49 54 3b 0d 0a 09 4c 48 4c 44 09 44 46 09 09 3b 0d 0a 09 43 41 4c 4c 09 53 45 54 46 09 09   ┆WAIT;   LHLD DF  ;   CALL SETF  ┆
0x051a60…051a80             3b 0d 0a 09 43 41 4c 4c 09 52 45 53 45 54 09 09 3b 20 52 45 53 45 54 20 44 52 49 56 45 53 3b 0d   ┆;   CALL RESET  ; RESET DRIVES; ┆
0x051a80…051aa0             0a 09 4c 58 49 09 44 2c 44 46 43 42 09 09 3b 0d 0a 09 43 41 4c 4c 09 44 45 4c 45 54 45 09 09 3b   ┆  LXI D,DFCB  ;   CALL DELETE  ;┆
0x051aa0…051ac0             20 44 45 4c 45 54 45 20 44 45 53 54 49 4e 41 54 49 4f 4e 20 46 49 4c 45 3b 0d 0a 09 4c 58 49 09   ┆ DELETE DESTINATION FILE;   LXI ┆
0x051ac0…051ae0             44 2c 44 46 43 42 09 09 3b 0d 0a 09 43 41 4c 4c 09 4d 41 4b 45 09 09 3b 20 43 52 45 41 54 45 20   ┆D,DFCB  ;   CALL MAKE  ; CREATE ┆
0x051ae0…051b00             44 45 53 54 49 4e 41 54 49 4f 4e 20 46 49 4c 45 3b 0d 0a 09 4c 58 49 09 44 2c 4e 4f 44 49 52 09   ┆DESTINATION FILE;   LXI D,NODIR ┆
0x051b00…051b20             09 3b 0d 0a 09 49 4e 52 09 41 09 09 3b 0d 0a 09 43 5a 09 46 49 4e 49 53 09 09 3b 0d 0a 09 4c 58   ┆ ;   INR A  ;   CZ FINIS  ;   LX┆
0x051b20…051b40             49 09 44 2c 42 55 46 09 09 3b 0d 0a 09 50 55 53 48 09 44 09 09 3b 0d 0a 09 43 41 4c 4c 09 53 45   ┆I D,BUF  ;   PUSH D  ;   CALL SE┆
0x051b40…051b60             54 44 4d 41 09 09 3b 20 53 45 54 20 42 55 46 46 45 52 20 41 44 44 52 45 53 53 0d 0a 57 44 41 54   ┆TDMA  ; SET BUFFER ADDRESS  WDAT┆
0x051b60…051b80             41 3a 09 4c 58 49 09 44 2c 44 46 43 42 09 09 3b 0d 0a 09 43 41 4c 4c 09 57 52 49 54 45 09 09 3b   ┆A: LXI D,DFCB  ;   CALL WRITE  ;┆
0x051b80…051ba0             20 57 52 49 54 45 20 52 45 43 4f 52 44 3a 0d 0a 09 4c 58 49 09 44 2c 53 50 41 43 45 09 09 3b 0d   ┆ WRITE RECORD:   LXI D,SPACE  ; ┆
0x051ba0…051bc0             0a 09 4f 52 41 09 41 09 09 3b 0d 0a 09 43 4e 5a 09 46 49 4e 49 53 09 09 3b 0d 0a 09 50 4f 50 09   ┆  ORA A  ;   CNZ FINIS  ;   POP ┆
0x051bc0…051be0             44 09 09 3b 20 55 50 44 41 54 45 20 42 55 46 41 44 52 0d 0a 09 4c 58 49 09 48 2c 31 32 38 09 09   ┆D  ; UPDATE BUFADR   LXI H,128  ┆
0x051be0…051c00             3b 0d 0a 09 44 41 44 09 44 09 09 3b 0d 0a 09 58 43 48 47 09 09 09 3b 0d 0a 09 50 55 53 48 09 44   ┆;   DAD D  ;   XCHG   ;   PUSH D┆
0x051c00…051c20 (21, 1, 10) 3b 0d 0a 09 4c 58 49 09 44 2c 53 57 4f 50 53 09 09 3b 20 43 48 41 4e 47 45 20 44 49 53 4b 3a 0d   ┆;   LXI D,SWOPS  ; CHANGE DISK: ┆
0x051c20…051c40             0a 09 43 41 4c 4c 09 50 52 49 4e 54 09 09 3b 0d 0a 09 43 41 4c 4c 09 43 4f 4e 53 49 09 09 3b 20   ┆  CALL PRINT  ;   CALL CONSI  ; ┆
0x051c40…051c60             57 41 49 54 3b 0d 0a 09 4c 48 4c 44 09 44 46 09 09 3b 0d 0a 09 43 41 4c 4c 09 53 45 54 46 09 09   ┆WAIT;   LHLD DF  ;   CALL SETF  ┆
0x051c60…051c80             3b 0d 0a 09 43 41 4c 4c 09 52 45 53 45 54 09 09 3b 20 52 45 53 45 54 20 44 52 49 56 45 53 3b 0d   ┆;   CALL RESET  ; RESET DRIVES; ┆
0x051c80…051ca0             0a 09 4c 58 49 09 44 2c 44 46 43 42 09 09 3b 0d 0a 09 43 41 4c 4c 09 44 45 4c 45 54 45 09 09 3b   ┆  LXI D,DFCB  ;   CALL DELETE  ;┆
0x051ca0…051cc0             20 44 45 4c 45 54 45 20 44 45 53 54 49 4e 41 54 49 4f 4e 20 46 49 4c 45 3b 0d 0a 09 4c 58 49 09   ┆ DELETE DESTINATION FILE;   LXI ┆
0x051cc0…051ce0             44 2c 44 46 43 42 09 09 3b 0d 0a 09 43 41 4c 4c 09 4d 41 4b 45 09 09 3b 20 43 52 45 41 54 45 20   ┆D,DFCB  ;   CALL MAKE  ; CREATE ┆
0x051ce0…051d00             44 45 53 54 49 4e 41 54 49 4f 4e 20 46 49 4c 45 3b 0d 0a 09 4c 58 49 09 44 2c 4e 4f 44 49 52 09   ┆DESTINATION FILE;   LXI D,NODIR ┆
0x051d00…051d20             09 3b 0d 0a 09 49 4e 52 09 41 09 09 3b 0d 0a 09 43 5a 09 46 49 4e 49 53 09 09 3b 0d 0a 09 4c 58   ┆ ;   INR A  ;   CZ FINIS  ;   LX┆
0x051d20…051d40             49 09 44 2c 42 55 46 09 09 3b 0d 0a 09 50 55 53 48 09 44 09 09 3b 0d 0a 09 43 41 4c 4c 09 53 45   ┆I D,BUF  ;   PUSH D  ;   CALL SE┆
0x051d40…051d60             54 44 4d 41 09 09 3b 20 53 45 54 20 42 55 46 46 45 52 20 41 44 44 52 45 53 53 0d 0a 57 44 41 54   ┆TDMA  ; SET BUFFER ADDRESS  WDAT┆
0x051d60…051d80             41 3a 09 4c 58 49 09 44 2c 44 46 43 42 09 09 3b 0d 0a 09 43 41 4c 4c 09 57 52 49 54 45 09 09 3b   ┆A: LXI D,DFCB  ;   CALL WRITE  ;┆
0x051d80…051da0             20 57 52 49 54 45 20 52 45 43 4f 52 44 3a 0d 0a 09 4c 58 49 09 44 2c 53 50 41 43 45 09 09 3b 0d   ┆ WRITE RECORD:   LXI D,SPACE  ; ┆
0x051da0…051dc0             0a 09 4f 52 41 09 41 09 09 3b 0d 0a 09 43 4e 5a 09 46 49 4e 49 53 09 09 3b 0d 0a 09 50 4f 50 09   ┆  ORA A  ;   CNZ FINIS  ;   POP ┆
0x051dc0…051de0             44 09 09 3b 20 55 50 44 41 54 45 20 42 55 46 41 44 52 0d 0a 09 4c 58 49 09 48 2c 31 32 38 09 09   ┆D  ; UPDATE BUFADR   LXI H,128  ┆
0x051de0…051e00             3b 0d 0a 09 44 41 44 09 44 09 09 3b 0d 0a 09 58 43 48 47 09 09 09 3b 0d 0a 09 50 55 53 48 09 44   ┆;   DAD D  ;   XCHG   ;   PUSH D┆
0x051e00…051e20 (21, 1, 11) 20 33 34 20 20 20 20 20 20 20 20 09 49 4e 52 09 4d 09 09 3b 0d 0a 20 30 31 30 42 20 35 45 20 20   ┆ 34         INR M  ;   010B 5E  ┆
0x051e20…051e40             20 20 20 20 20 20 09 4d 4f 56 09 45 2c 4d 09 09 3b 0d 0a 20 30 31 30 43 20 33 34 20 20 20 20 20   ┆       MOV E,M  ;   010C 34     ┆
0x051e40…051e60             20 20 20 09 49 4e 52 09 4d 09 09 3b 0d 0a 20 30 31 30 44 20 31 36 30 30 20 20 20 20 20 20 09 4d   ┆    INR M  ;   010D 1600       M┆
0x051e60…051e80             56 49 09 44 2c 30 09 09 3b 0d 0a 20 30 31 30 46 20 31 39 20 20 20 20 20 20 20 20 09 44 41 44 09   ┆VI D,0  ;   010F 19         DAD ┆
0x051e80…051ea0             44 09 09 3b 0d 0a 20 30 31 31 30 20 33 36 32 30 20 20 20 20 20 20 09 4d 56 49 09 4d 2c 27 20 27   ┆D  ;   0110 3620       MVI M,' '┆
0x051ea0…051ec0             09 09 3b 0d 0a 20 30 31 31 32 20 32 41 30 31 30 30 20 20 20 20 09 4c 48 4c 44 09 57 42 4f 4f 54   ┆  ;   0112 2A0100     LHLD WBOOT┆
0x051ec0…051ee0             09 09 3b 20 53 41 56 45 20 46 44 20 46 4f 52 4d 41 54 53 0d 0a 20 30 31 31 35 20 31 31 33 34 30   ┆  ; SAVE FD FORMATS   0115 11340┆
0x051ee0…051f00             30 20 20 20 20 09 4c 58 49 09 44 2c 46 44 46 4f 52 4d 09 3b 0d 0a 20 30 31 31 38 20 31 39 20 20   ┆0     LXI D,FDFORM ;   0118 19  ┆
0x051f00…051f20             20 20 20 20 20 20 09 44 41 44 09 44 09 09 3b 0d 0a 20 30 31 31 39 20 32 32 46 38 30 33 20 20 20   ┆       DAD D  ;   0119 22F803   ┆
0x051f20…051f40             20 09 53 48 4c 44 09 41 46 4f 52 4d 09 09 3b 0d 0a 20 30 31 31 43 20 37 45 20 20 20 20 20 20 20   ┆  SHLD AFORM  ;   011C 7E       ┆
0x051f40…051f60             20 09 4d 4f 56 09 41 2c 4d 09 09 3b 0d 0a 20 30 31 31 44 20 33 32 46 41 30 33 20 20 20 20 09 53   ┆  MOV A,M  ;   011D 32FA03     S┆
0x051f60…051f80             54 41 09 53 46 4f 52 4d 09 09 3b 0d 0a 20 30 31 32 30 20 32 33 20 20 20 20 20 20 20 20 09 49 4e   ┆TA SFORM  ;   0120 23         IN┆
0x051f80…051fa0             58 09 48 09 09 3b 0d 0a 20 30 31 32 31 20 37 45 20 20 20 20 20 20 20 20 09 4d 4f 56 09 41 2c 4d   ┆X H  ;   0121 7E         MOV A,M┆
0x051fa0…051fc0             09 09 3b 0d 0a 20 30 31 32 32 20 33 32 46 42 30 33 20 20 20 20 09 53 54 41 09 53 46 4f 52 4d 2b   ┆  ;   0122 32FB03     STA SFORM+┆
0x051fc0…051fe0             31 09 09 3b 0d 0a 20 30 31 32 35 20 32 41 46 41 30 33 20 20 20 20 09 4c 48 4c 44 09 53 46 4f 52   ┆1  ;   0125 2AFA03     LHLD SFOR┆
0x051fe0…052000             4d 09 09 3b 0d 0a 20 30 31 32 38 20 32 32 46 45 30 33 20 20 20 20 09 53 48 4c 44 09 53 46 09 09   ┆M  ;   0128 22FE03     SHLD SF  ┆
0x052000…052020 (21, 1, 12) 44 34 45 30 31 20 20 20 20 09 43 41 4c 4c 09 4e 43 48 41 52 09 09 3b 20 53 45 41 52 43 48 20 53   ┆D4E01     CALL NCHAR  ; SEARCH S┆
0x052020…052040             50 41 43 45 3a 0d 0a 20 30 31 39 38 20 46 45 32 30 20 20 20 20 20 20 09 43 50 49 09 27 20 27 09   ┆PACE:   0198 FE20       CPI ' ' ┆
0x052040…052060             09 3b 0d 0a 20 30 31 39 41 20 43 32 35 45 30 31 20 20 20 20 09 4a 4e 5a 09 53 43 41 4e 09 09 3b   ┆ ;   019A C25E01     JNZ SCAN  ;┆
0x052060…052080             0d 0a 20 30 31 39 44 20 30 45 30 38 20 20 20 20 20 20 09 4d 56 49 09 43 2c 38 09 09 3b 0d 0a 20   ┆   019D 0E08       MVI C,8  ;   ┆
0x052080…0520a0             30 31 39 46 20 43 33 42 32 30 31 20 20 20 20 09 4a 4d 50 09 53 45 54 43 46 09 09 3b 0d 0a 20 30   ┆019F C3B201     JMP SETCF  ;   0┆
0x0520a0…0520c0             31 41 32 20 43 44 34 45 30 31 20 20 20 20 53 53 53 3a 09 43 41 4c 4c 09 4e 43 48 41 52 09 09 3b   ┆1A2 CD4E01    SSS: CALL NCHAR  ;┆
0x0520c0…0520e0             0d 0a 20 30 31 41 35 20 46 45 35 33 20 20 20 20 20 20 09 43 50 49 09 27 53 27 09 09 3b 0d 0a 20   ┆   01A5 FE53       CPI 'S'  ;   ┆
0x0520e0…052100             30 31 41 37 20 43 32 35 45 30 31 20 20 20 20 09 4a 4e 5a 09 53 43 41 4e 09 09 3b 0d 0a 20 30 31   ┆01A7 C25E01     JNZ SCAN  ;   01┆
0x052100…052120             41 41 20 43 44 34 45 30 31 20 20 20 20 09 43 41 4c 4c 09 4e 43 48 41 52 09 09 3b 0d 0a 20 30 31   ┆AA CD4E01     CALL NCHAR  ;   01┆
0x052120…052140             41 44 20 46 45 32 30 20 20 20 20 20 20 09 43 50 49 09 27 20 27 09 09 3b 0d 0a 20 30 31 41 46 20   ┆AD FE20       CPI ' '  ;   01AF ┆
0x052140…052160             43 32 35 45 30 31 20 20 20 20 09 4a 4e 5a 09 53 43 41 4e 09 09 3b 0d 0a 20 30 31 42 32 20 32 31   ┆C25E01     JNZ SCAN  ;   01B2 21┆
0x052160…052180             46 45 30 33 20 20 20 20 53 45 54 43 46 3a 09 4c 58 49 09 48 2c 53 46 09 09 3b 20 53 45 54 20 43   ┆FE03    SETCF: LXI H,SF  ; SET C┆
0x052180…0521a0             55 52 52 45 4e 54 20 46 4f 52 4d 41 54 3a 0d 0a 20 30 31 42 35 20 31 36 30 30 20 20 20 20 20 20   ┆URRENT FORMAT:   01B5 1600      ┆
0x0521a0…0521c0             09 4d 56 49 09 44 2c 30 09 09 3b 0d 0a 20 30 31 42 37 20 35 38 20 20 20 20 20 20 20 20 09 4d 4f   ┆ MVI D,0  ;   01B7 58         MO┆
0x0521c0…0521e0             56 09 45 2c 42 09 09 3b 0d 0a 20 30 31 42 38 20 31 39 20 20 20 20 20 20 20 20 09 44 41 44 09 44   ┆V E,B  ;   01B8 19         DAD D┆
0x0521e0…052200             09 09 3b 0d 0a 20 30 31 42 39 20 37 38 20 20 20 20 20 20 20 20 09 4d 4f 56 09 41 2c 42 09 09 3b   ┆  ;   01B9 78         MOV A,B  ;┆
0x052200…052220 (21, 1, 13) 53 45 54 43 46 09 09 3b 0d 0a 53 53 53 3a 09 43 41 4c 4c 09 4e 43 48 41 52 09 09 3b 0d 0a 09 43   ┆SETCF  ;  SSS: CALL NCHAR  ;   C┆
0x052220…052240             50 49 09 27 53 27 09 09 3b 0d 0a 09 4a 4e 5a 09 53 43 41 4e 09 09 3b 0d 0a 09 43 41 4c 4c 09 4e   ┆PI 'S'  ;   JNZ SCAN  ;   CALL N┆
0x052240…052260             43 48 41 52 09 09 3b 0d 0a 09 43 50 49 09 27 20 27 09 09 3b 0d 0a 09 4a 4e 5a 09 53 43 41 4e 09   ┆CHAR  ;   CPI ' '  ;   JNZ SCAN ┆
0x052260…052280             09 3b 0d 0a 53 45 54 43 46 3a 09 4c 58 49 09 48 2c 53 46 09 09 3b 20 53 45 54 20 43 55 52 52 45   ┆ ;  SETCF: LXI H,SF  ; SET CURRE┆
0x052280…0522a0             4e 54 20 46 4f 52 4d 41 54 3a 0d 0a 09 4d 56 49 09 44 2c 30 09 09 3b 0d 0a 09 4d 4f 56 09 45 2c   ┆NT FORMAT:   MVI D,0  ;   MOV E,┆
0x0522a0…0522c0             42 09 09 3b 0d 0a 09 44 41 44 09 44 09 09 3b 0d 0a 09 4d 4f 56 09 41 2c 42 09 09 3b 0d 0a 09 4f   ┆B  ;   DAD D  ;   MOV A,B  ;   O┆
0x0522c0…0522e0             52 41 09 41 09 09 3b 0d 0a 09 4c 44 41 09 53 44 52 49 56 09 09 3b 0d 0a 09 4a 5a 09 53 45 54 30   ┆RA A  ;   LDA SDRIV  ;   JZ SET0┆
0x0522e0…052300             09 09 3b 0d 0a 09 4c 44 41 09 44 44 52 49 56 09 09 3b 0d 0a 53 45 54 30 3a 09 4f 52 41 09 41 09   ┆  ;   LDA DDRIV  ;  SET0: ORA A ┆
0x052300…052320             09 3b 0d 0a 09 4a 5a 09 53 45 54 31 09 09 3b 0d 0a 09 49 4e 58 09 48 09 09 3b 0d 0a 53 45 54 31   ┆ ;   JZ SET1  ;   INX H  ;  SET1┆
0x052320…052340             3a 09 4d 4f 56 09 4d 2c 43 09 09 3b 0d 0a 09 4a 4d 50 09 53 43 41 4e 09 09 3b 20 47 4f 54 4f 20   ┆: MOV M,C  ;   JMP SCAN  ; GOTO ┆
0x052340…052360             53 43 41 4e 20 46 4f 52 20 4e 45 58 54 3b 0d 0a 0d 0a 53 45 54 46 44 46 3a 20 49 4e 09 53 57 31   ┆SCAN FOR NEXT;    SETFDF: IN SW1┆
0x052360…052380             09 09 3b 20 49 46 20 4d 41 58 49 20 46 4c 4f 50 50 59 20 54 48 45 4e 0d 0a 09 41 4e 49 09 30 38   ┆  ; IF MAXI FLOPPY THEN   ANI 08┆
0x052380…0523a0             30 48 09 09 3b 20 20 47 4f 54 4f 20 53 45 54 46 43 42 3b 0d 0a 09 4a 5a 09 53 45 54 46 43 42 09   ┆0H  ;  GOTO SETFCB;   JZ SETFCB ┆
0x0523a0…0523c0             09 3b 0d 0a 09 4c 48 4c 44 09 53 46 4f 52 4d 09 09 3b 20 52 45 53 45 54 20 46 4c 4f 50 50 59 20   ┆ ;   LHLD SFORM  ; RESET FLOPPY ┆
0x0523c0…0523e0             46 4f 52 4d 41 54 53 3b 0d 0a 09 53 48 4c 44 09 53 46 09 09 3b 0d 0a 09 53 48 4c 44 09 44 46 09   ┆FORMATS;   SHLD SF  ;   SHLD DF ┆
0x0523e0…052400             09 3b 0d 0a 09 4a 4d 50 09 53 45 54 46 43 42 09 09 3b 20 47 4f 54 4f 20 53 45 54 20 46 43 42 3b   ┆ ;   JMP SETFCB  ; GOTO SET FCB;┆
0x052400…052420 (21, 1, 14) 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a   ┆                    ;***********┆
0x052420…052440             2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a   ┆********************************┆
0x052440…052460             2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0d 0a 20 20 20 20 20 20 20 20 20   ┆*********************           ┆
0x052460…052480             20 20 20 20 20 20 20 3b 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆       ;*                       ┆
0x052480…0524a0             20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆                                ┆
0x0524a0…0524c0             20 20 20 20 20 20 20 2a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 2a 20 20 20 20   ┆       *                  ;*    ┆
0x0524c0…0524e0             20 46 49 4c 45 20 54 52 41 4e 53 46 45 52 20 55 54 49 4c 49 54 59 20 20 20 20 2d 20 20 20 20 56   ┆ FILE TRANSFER UTILITY    -    V┆
0x0524e0…052500             45 52 53 49 4f 4e 20 20 38 31 2e 30 36 2e 32 39 20 20 20 20 20 20 20 20 20 20 2a 0d 0a 20 20 20   ┆ERSION  81.06.29          *     ┆
0x052500…052520             20 20 20 20 20 20 20 20 20 20 20 20 20 3b 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆             ;*                 ┆
0x052520…052540             20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆                                ┆
0x052540…052560             20 20 20 20 20 20 20 20 20 20 20 20 20 2a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆             *                  ┆
0x052560…052580             3b 2a 20 20 20 20 20 54 52 41 4e 53 46 45 52 20 20 41 3a 58 2e 59 20 20 42 3a 55 2e 56 20 20 44   ┆;*     TRANSFER  A:X.Y  B:U.V  D┆
0x052580…0525a0             3a 3d 46 46 20 20 44 3a 3d 46 46 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆:=FF  D:=FF                     ┆
0x0525a0…0525c0             2a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 2a 20 20 20 20 20 20 20 20 20 20 20   ┆*                  ;*           ┆
0x0525c0…0525e0             20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆                                ┆
0x0525e0…052600             20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 0d 0a 20 20 20 20 20 20 20 20 20 20   ┆                   *            ┆
0x052600…052620 (21, 1, 15) 3b 0d 0a 20 30 31 32 42 20 32 32 30 30 30 34 20 20 20 20 09 53 48 4c 44 09 44 46 09 09 3b 0d 0a   ┆;   012B 220004     SHLD DF  ;  ┆
0x052620…052640             20 30 31 32 45 20 33 41 35 43 30 30 20 20 20 20 09 4c 44 41 09 46 43 42 31 09 09 3b 0d 0a 20 30   ┆ 012E 3A5C00     LDA FCB1  ;   0┆
0x052640…052660             31 33 31 20 42 37 20 20 20 20 20 20 20 20 09 4f 52 41 09 41 09 09 3b 0d 0a 20 30 31 33 32 20 43   ┆131 B7         ORA A  ;   0132 C┆
0x052660…052680             43 45 38 30 31 20 20 20 20 09 43 5a 09 47 45 54 44 44 09 09 3b 0d 0a 20 30 31 33 35 20 33 44 20   ┆CE801     CZ GETDD  ;   0135 3D ┆
0x052680…0526a0             20 20 20 20 20 20 20 09 44 43 52 09 41 09 09 3b 0d 0a 20 30 31 33 36 20 33 32 30 32 30 34 20 20   ┆        DCR A  ;   0136 320204  ┆
0x0526a0…0526c0             20 20 09 53 54 41 09 53 44 52 49 56 09 09 3b 0d 0a 20 30 31 33 39 20 33 41 36 43 30 30 20 20 20   ┆   STA SDRIV  ;   0139 3A6C00   ┆
0x0526c0…0526e0             20 09 4c 44 41 09 46 43 42 32 09 09 3b 0d 0a 20 30 31 33 43 20 42 37 20 20 20 20 20 20 20 20 09   ┆  LDA FCB2  ;   013C B7         ┆
0x0526e0…052700             4f 52 41 09 41 09 09 3b 0d 0a 20 30 31 33 44 20 43 43 45 38 30 31 20 20 20 20 09 43 5a 09 47 45   ┆ORA A  ;   013D CCE801     CZ GE┆
0x052700…052720             54 44 44 09 09 3b 0d 0a 20 30 31 34 30 20 33 44 20 20 20 20 20 20 20 20 09 44 43 52 09 41 09 09   ┆TDD  ;   0140 3D         DCR A  ┆
0x052720…052740             3b 0d 0a 20 30 31 34 31 20 33 32 30 33 30 34 20 20 20 20 09 53 54 41 09 44 44 52 49 56 09 09 3b   ┆;   0141 320304     STA DDRIV  ;┆
0x052740…052760             0d 0a 20 30 31 34 34 20 32 31 38 30 30 30 20 20 20 20 09 4c 58 49 09 48 2c 44 42 55 46 46 09 09   ┆   0144 218000     LXI H,DBUFF  ┆
0x052760…052780             3b 20 53 45 54 55 50 20 43 48 41 52 20 53 43 41 4e 0d 0a 20 30 31 34 37 20 32 33 20 20 20 20 20   ┆; SETUP CHAR SCAN   0147 23     ┆
0x052780…0527a0             20 20 20 09 49 4e 58 09 48 09 09 3b 0d 0a 20 30 31 34 38 20 32 32 46 43 30 33 20 20 20 20 09 53   ┆    INX H  ;   0148 22FC03     S┆
0x0527a0…0527c0             48 4c 44 09 43 41 44 44 52 09 09 3b 0d 0a 20 30 31 34 42 20 43 33 35 45 30 31 20 20 20 20 09 4a   ┆HLD CADDR  ;   014B C35E01     J┆
0x0527c0…0527e0             4d 50 09 53 43 41 4e 09 09 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0d 0a 20 30   ┆MP SCAN  ;                     0┆
0x0527e0…052800             31 34 45 20 32 31 38 30 30 30 20 20 20 20 4e 43 48 41 52 3a 20 20 4c 58 49 09 48 2c 44 42 55 46   ┆14E 218000    NCHAR:  LXI H,DBUF┆
0x052800…052820 (22, 0, 1)  0d 0a 20 30 31 42 41 20 42 37 20 20 20 20 20 20 20 20 09 4f 52 41 09 41 09 09 3b 0d 0a 20 30 31   ┆   01BA B7         ORA A  ;   01┆
0x052820…052840             42 42 20 33 41 30 32 30 34 20 20 20 20 09 4c 44 41 09 53 44 52 49 56 09 09 3b 0d 0a 20 30 31 42   ┆BB 3A0204     LDA SDRIV  ;   01B┆
0x052840…052860             45 20 43 41 43 34 30 31 20 20 20 20 09 4a 5a 09 53 45 54 30 09 09 3b 0d 0a 20 30 31 43 31 20 33   ┆E CAC401     JZ SET0  ;   01C1 3┆
0x052860…052880             41 30 33 30 34 20 20 20 20 09 4c 44 41 09 44 44 52 49 56 09 09 3b 0d 0a 20 30 31 43 34 20 42 37   ┆A0304     LDA DDRIV  ;   01C4 B7┆
0x052880…0528a0             20 20 20 20 20 20 20 20 53 45 54 30 3a 09 4f 52 41 09 41 09 09 3b 0d 0a 20 30 31 43 35 20 43 41   ┆        SET0: ORA A  ;   01C5 CA┆
0x0528a0…0528c0             43 39 30 31 20 20 20 20 09 4a 5a 09 53 45 54 31 09 09 3b 0d 0a 20 30 31 43 38 20 32 33 20 20 20   ┆C901     JZ SET1  ;   01C8 23   ┆
0x0528c0…0528e0             20 20 20 20 20 09 49 4e 58 09 48 09 09 3b 0d 0a 20 30 31 43 39 20 37 31 20 20 20 20 20 20 20 20   ┆      INX H  ;   01C9 71        ┆
0x0528e0…052900             53 45 54 31 3a 09 4d 4f 56 09 4d 2c 43 09 09 3b 0d 0a 20 30 31 43 41 20 43 33 35 45 30 31 20 20   ┆SET1: MOV M,C  ;   01CA C35E01  ┆
0x052900…052920             20 20 09 4a 4d 50 09 53 43 41 4e 09 09 3b 20 47 4f 54 4f 20 53 43 41 4e 20 46 4f 52 20 4e 45 58   ┆   JMP SCAN  ; GOTO SCAN FOR NEX┆
0x052920…052940             54 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0d 0a 20 30 31 43 44 20 44 42 31 34   ┆T;                     01CD DB14┆
0x052940…052960             20 20 20 20 20 20 53 45 54 46 44 46 3a 20 49 4e 09 53 57 31 09 09 3b 20 49 46 20 4d 41 58 49 20   ┆      SETFDF: IN SW1  ; IF MAXI ┆
0x052960…052980             46 4c 4f 50 50 59 20 54 48 45 4e 0d 0a 20 30 31 43 46 20 45 36 38 30 20 20 20 20 20 20 09 41 4e   ┆FLOPPY THEN   01CF E680       AN┆
0x052980…0529a0             49 09 30 38 30 48 09 09 3b 20 20 47 4f 54 4f 20 53 45 54 46 43 42 3b 0d 0a 20 30 31 44 31 20 43   ┆I 080H  ;  GOTO SETFCB;   01D1 C┆
0x0529a0…0529c0             41 45 44 30 31 20 20 20 20 09 4a 5a 09 53 45 54 46 43 42 09 09 3b 0d 0a 20 30 31 44 34 20 32 41   ┆AED01     JZ SETFCB  ;   01D4 2A┆
0x0529c0…0529e0             46 41 30 33 20 20 20 20 09 4c 48 4c 44 09 53 46 4f 52 4d 09 09 3b 20 52 45 53 45 54 20 46 4c 4f   ┆FA03     LHLD SFORM  ; RESET FLO┆
0x0529e0…052a00             50 50 59 20 46 4f 52 4d 41 54 53 3b 0d 0a 20 30 31 44 37 20 32 32 46 45 30 33 20 20 20 20 09 53   ┆PPY FORMATS;   01D7 22FE03     S┆
0x052a00…052a20 (22, 0, 2)  3a 31 30 30 31 30 30 30 30 45 31 32 32 30 35 30 34 33 31 34 37 30 34 32 31 38 30 30 30 33 34 35   ┆:10010000E1220504314704218000345┆
0x052a20…052a40             45 33 34 31 36 30 30 31 39 44 31 0d 0a 3a 31 30 30 31 31 30 30 30 33 36 32 30 32 41 30 31 30 30   ┆E34160019D1  :1001100036202A0100┆
0x052a40…052a60             31 31 33 34 30 30 31 39 32 32 46 38 30 33 37 45 33 32 46 41 30 33 33 36 0d 0a 3a 31 30 30 31 32   ┆1134001922F8037E32FA0336  :10012┆
0x052a60…052a80             30 30 30 32 33 37 45 33 32 46 42 30 33 32 41 46 41 30 33 32 32 46 45 30 33 32 32 30 30 30 34 33   ┆000237E32FB032AFA0322FE032200043┆
0x052a80…052aa0             41 35 43 46 38 0d 0a 3a 31 30 30 31 33 30 30 30 30 30 42 37 43 43 45 38 30 31 33 44 33 32 30 32   ┆A5CF8  :1001300000B7CCE8013D3202┆
0x052aa0…052ac0             30 34 33 41 36 43 30 30 42 37 43 43 45 38 30 31 43 43 0d 0a 3a 31 30 30 31 34 30 30 30 33 44 33   ┆043A6C00B7CCE801CC  :100140003D3┆
0x052ac0…052ae0             32 30 33 30 34 32 31 38 30 30 30 32 33 32 32 46 43 30 33 43 33 35 45 30 31 32 31 38 30 39 31 0d   ┆203042180002322FC03C35E01218091 ┆
0x052ae0…052b00             0a 3a 31 30 30 31 35 30 30 30 30 30 33 35 43 41 43 44 30 31 32 41 46 43 30 33 37 45 32 33 32 32   ┆ :100150000035CACD012AFC037E2322┆
0x052b00…052b20             46 43 30 33 43 39 30 31 30 30 31 44 0d 0a 3a 31 30 30 31 36 30 30 30 30 30 43 44 34 45 30 31 46   ┆FC03C901001D  :1001600000CD4E01F┆
0x052b20…052b40             45 35 33 43 41 37 30 30 31 46 45 34 34 43 32 35 45 30 31 30 36 30 32 37 43 0d 0a 3a 31 30 30 31   ┆E53CA7001FE44C25E0106027C  :1001┆
0x052b40…052b60             37 30 30 30 43 44 34 45 30 31 46 45 33 41 43 32 35 45 30 31 43 44 34 45 30 31 46 45 33 44 43 32   ┆7000CD4E01FE3AC25E01CD4E01FE3DC2┆
0x052b60…052b80             35 45 30 31 39 32 0d 0a 3a 31 30 30 31 38 30 30 30 43 44 34 45 30 31 46 45 35 33 43 41 41 32 30   ┆5E0192  :10018000CD4E01FE53CAA20┆
0x052b80…052ba0             31 46 45 34 34 43 32 35 45 30 31 43 44 34 45 30 31 31 36 0d 0a 3a 31 30 30 31 39 30 30 30 46 45   ┆1FE44C25E01CD4E0116  :10019000FE┆
0x052ba0…052bc0             34 34 43 32 35 45 30 31 43 44 34 45 30 31 46 45 32 30 43 32 35 45 30 31 30 45 30 38 43 33 43 38   ┆44C25E01CD4E01FE20C25E010E08C3C8┆
0x052bc0…052be0             0d 0a 3a 31 30 30 31 41 30 30 30 42 32 30 31 43 44 34 45 30 31 46 45 35 33 43 32 35 45 30 31 43   ┆  :1001A000B201CD4E01FE53C25E01C┆
0x052be0…052c00             44 34 45 30 31 46 45 32 30 43 32 31 32 0d 0a 3a 31 30 30 31 42 30 30 30 35 45 30 31 32 31 46 45   ┆D4E01FE20C212  :1001B0005E0121FE┆
0x052c00…052c20 (22, 0, 3)  e1 22 f9 03 31 3b 04 21 80 00 34 5e 34 16 00 19 36 20 2a 01 00 11 34 00 19 22 ec 03 7e 32 ee 03   ┆ "  1; !  4^4   6 *   4  "  ü2  ┆
0x052c20…052c40             23 7e 32 ef 03 2a ee 03 22 f2 03 22 f4 03 3a 5c 00 b7 cc e8 01 3d 32 f6 03 3a 6c 00 b7 cc e8 01   ┆#ü2  *  "  "  :Ø     =2  :l     ┆
0x052c40…052c60             3d 32 f7 03 21 80 00 23 22 f0 03 c3 5e 01 21 80 00 35 ca cd 01 2a f0 03 7e 23 22 f0 03 c9 01 00   ┆=2  !  #"   ^ !  5   *  ü#"     ┆
0x052c60…052c80             00 cd 4e 01 fe 53 ca 70 01 fe 44 c2 5e 01 06 02 cd 4e 01 fe 3a c2 5e 01 cd 4e 01 fe 3d c2 5e 01   ┆  N  S p  D ^    N  : ^  N  = ^ ┆
0x052c80…052ca0             cd 4e 01 fe 53 ca a2 01 fe 44 c2 5e 01 cd 4e 01 fe 44 c2 5e 01 cd 4e 01 fe 20 c2 5e 01 0e 08 c3   ┆ N  S    D ^  N  D ^  N    ^    ┆
0x052ca0…052cc0             b2 01 cd 4e 01 fe 53 c2 5e 01 cd 4e 01 fe 20 c2 5e 01 21 f2 03 16 00 58 19 78 b7 3a f6 03 ca c4   ┆   N  S ^  N    ^ !    X x :    ┆
0x052cc0…052ce0             01 3a f7 03 b7 ca c9 01 22 71 c3 5e 01 db 14 e6 80 ca ed 01 2a ee 03 22 f2 03 22 f4 03 c3 ed 01   ┆ :      "q ^        *  "  "     ┆
0x052ce0…052d00             eb 2a ec 03 72 23 73 c9 cd fc 02 3c c9 0e 10 11 6c 00 21 fb 03 1a 13 77 23 0d c2 f5 01 af 32 1b   ┆ *  r#s    <    l !    w#     2 ┆
0x052d00…052d20             04 11 9e 03 cd f7 02 cd ca 02 2a f2 03 cd e0 01 cd cf 02 11 5c 00 cd d4 02 11 01 03 3c cc c2 02   ┆          *         Ø       <   ┆
0x052d20…052d40             11 3c 04 3e 00 32 f8 03 d5 cd f2 02 11 5c 00 cd e3 02 b7 c2 4d 02 d1 21 80 00 19 eb d5 cd f2 02   ┆ < > 2       Ø      M  !        ┆
0x052d40…052d60             21 f8 03 11 63 03 34 cc c2 02 c3 2c 02 d1 11 72 03 cd f7 02 cd ca 02 2a f4 03 cd e0 01 cd cf 02   ┆!   c 4    ,   r       *        ┆
0x052d60…052d80             11 fb 03 cd de 02 11 fb 03 cd ed 02 11 12 03 3c cc c2 02 11 3c 04 d5 cd f2 02 11 fb 03 cd e8 02   ┆               <    <           ┆
0x052d80…052da0             11 27 03 b7 c4 c2 02 d1 21 80 00 19 eb d5 cd f2 02 21 f8 03 35 c2 7a 02 d1 11 fb 03 cd d9 02 11   ┆ '      !        !  5 z         ┆
0x052da0…052dc0             3b 03 3c cc c2 02 11 4e 03 cd f7 02 11 c5 03 cd f7 02 cd ca 02 2a ee 03 cd e0 01 cd cf 02 2a f9   ┆; <    N             *        * ┆
0x052dc0…052de0             03 e9 0e 09 cd 05 00 c3 ac 02 0e 01 c3 05 00 0e 0d c3 05 00 0e 0f c3 05 00 0e 10 c3 05 00 0e 13   ┆                                ┆
0x052de0…052e00             c3 05 00 0e 14 c3 05 00 0e 15 c3 05 00 0e 16 c3 05 00 0e 1a c3 05 00 0e 09 c3 05 00 0e 19 c3 05   ┆                                ┆
0x052e00…052e20 (22, 0, 4)  4c 48 4c 44 20 42 55 46 46 41 20 3b 47 45 54 20 44 4d 41 20 41 44 44 52 45 53 53 0d 0a 09 09 4d   ┆LHLD BUFFA ;GET DMA ADDRESS    M┆
0x052e20…052e40             56 49 20 44 2c 30 21 20 4c 44 41 20 53 50 54 21 20 4d 4f 56 20 45 2c 41 20 3b 20 44 3d 30 2c 20   ┆VI D,0! LDA SPT! MOV E,A ; D=0, ┆
0x052e40…052e60             45 3d 53 50 54 0d 0a 09 09 52 57 24 4c 4f 4f 50 3a 20 3b 52 45 41 44 2f 57 52 49 54 45 20 4c 4f   ┆E=SPT    RW$LOOP: ;READ/WRITE LO┆
0x052e60…052e80             4f 50 0d 0a 09 09 09 50 55 53 48 20 44 21 20 50 55 53 48 20 48 0d 0a 09 09 09 4d 4f 56 20 43 2c   ┆OP     PUSH D! PUSH H     MOV C,┆
0x052e80…052ea0             44 21 20 43 41 4c 4c 20 53 45 43 20 3b 53 45 43 54 4f 52 20 53 45 54 0d 0a 09 09 09 50 4f 50 20   ┆D! CALL SEC ;SECTOR SET     POP ┆
0x052ea0…052ec0             42 21 20 50 55 53 48 20 42 20 3b 47 45 54 20 44 4d 41 20 41 44 44 52 45 53 53 0d 0a 09 09 09 43   ┆B! PUSH B ;GET DMA ADDRESS     C┆
0x052ec0…052ee0             41 4c 4c 20 44 4d 41 20 3b 44 4d 41 20 41 44 44 52 45 53 53 20 53 45 54 0d 0a 09 09 09 3b 50 45   ┆ALL DMA ;DMA ADDRESS SET     ;PE┆
0x052ee0…052f00             52 46 4f 52 4d 20 49 4f 20 46 55 4e 43 54 49 4f 4e 0d 0a 09 09 09 4c 44 41 20 49 4f 46 21 20 4f   ┆RFORM IO FUNCTION     LDA IOF! O┆
0x052f00…052f20             52 41 20 41 20 3b 53 45 54 20 46 4c 41 47 53 2c 20 30 3d 52 45 41 44 2c 20 31 3d 57 52 49 54 45   ┆RA A ;SET FLAGS, 0=READ, 1=WRITE┆
0x052f20…052f40             0d 0a 09 09 09 4a 4e 5a 20 57 52 49 54 45 46 55 4e 43 0d 0a 09 09 09 09 3b 52 45 41 44 20 44 49   ┆     JNZ WRITEFUNC      ;READ DI┆
0x052f40…052f60             53 4b 0d 0a 09 09 09 09 43 41 4c 4c 20 44 52 45 41 44 0d 0a 09 09 09 09 4a 4d 50 20 52 57 43 4f   ┆SK      CALL DREAD      JMP RWCO┆
0x052f60…052f80             4d 50 4c 45 54 45 0d 0a 09 09 09 57 52 49 54 45 46 55 4e 43 3a 0d 0a 09 09 09 09 3b 57 52 49 54   ┆MPLETE     WRITEFUNC:      ;WRIT┆
0x052f80…052fa0             45 20 44 49 53 4b 0d 0a 09 09 09 09 43 41 4c 4c 20 44 57 52 49 54 45 0d 0a 09 09 09 52 57 43 4f   ┆E DISK      CALL DWRITE     RWCO┆
0x052fa0…052fc0             4d 50 4c 45 54 45 3a 20 3b 46 55 4e 43 54 49 4f 4e 20 43 4f 4d 50 4c 45 54 45 0d 0a 09 09 09 09   ┆MPLETE: ;FUNCTION COMPLETE      ┆
0x052fc0…052fe0             50 4f 50 20 48 20 3b 52 45 43 41 4c 4c 20 44 4d 41 20 41 44 44 52 45 53 53 0d 0a 09 09 09 09 4c   ┆POP H ;RECALL DMA ADDRESS      L┆
0x052fe0…053000             58 49 20 44 2c 38 30 48 21 20 44 41 44 20 44 20 3b 54 4f 20 4e 45 58 54 20 44 4d 41 0d 0a 09 09   ┆XI D,80H! DAD D ;TO NEXT DMA    ┆
0x053000…053020 (22, 0, 5)  48 4c 44 09 53 46 09 09 3b 0d 0a 20 30 31 44 41 20 32 32 30 30 30 34 20 20 20 20 09 53 48 4c 44   ┆HLD SF  ;   01DA 220004     SHLD┆
0x053020…053040             09 44 46 09 09 3b 0d 0a 20 30 31 44 44 20 43 33 45 44 30 31 20 20 20 20 09 4a 4d 50 09 53 45 54   ┆ DF  ;   01DD C3ED01     JMP SET┆
0x053040…053060             46 43 42 09 09 3b 20 47 4f 54 4f 20 53 45 54 20 46 43 42 3b 0d 0a 20 20 20 20 20 20 20 20 20 20   ┆FCB  ; GOTO SET FCB;            ┆
0x053060…053080             20 20 20 20 20 20 0d 0a 20 30 31 45 30 20 45 42 20 20 20 20 20 20 20 20 53 45 54 46 3a 09 58 43   ┆         01E0 EB        SETF: XC┆
0x053080…0530a0             48 47 09 09 09 3b 20 53 45 54 20 46 44 20 46 4f 52 4d 41 54 53 3a 0d 0a 20 30 31 45 31 20 32 41   ┆HG   ; SET FD FORMATS:   01E1 2A┆
0x0530a0…0530c0             46 38 30 33 20 20 20 20 09 4c 48 4c 44 09 41 46 4f 52 4d 09 09 3b 0d 0a 20 30 31 45 34 20 37 33   ┆F803     LHLD AFORM  ;   01E4 73┆
0x0530c0…0530e0             20 20 20 20 20 20 20 20 09 4d 4f 56 09 4d 2c 45 09 09 3b 0d 0a 20 30 31 45 35 20 32 33 20 20 20   ┆         MOV M,E  ;   01E5 23   ┆
0x0530e0…053100             20 20 20 20 20 09 49 4e 58 09 48 09 09 3b 0d 0a 20 30 31 45 36 20 37 32 20 20 20 20 20 20 20 20   ┆      INX H  ;   01E6 72        ┆
0x053100…053120             09 4d 4f 56 09 4d 2c 44 09 09 3b 0d 0a 20 30 31 45 37 20 43 39 20 20 20 20 20 20 20 20 09 52 45   ┆ MOV M,D  ;   01E7 C9         RE┆
0x053120…053140             54 09 09 09 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0d 0a 20 30 31 45 38 20 43   ┆T   ;                     01E8 C┆
0x053140…053160             44 30 38 30 33 20 20 20 20 47 45 54 44 44 3a 09 43 41 4c 4c 09 52 45 54 43 44 09 09 3b 20 47 45   ┆D0803    GETDD: CALL RETCD  ; GE┆
0x053160…053180             54 20 44 45 46 41 55 4c 54 20 44 52 49 56 45 3a 0d 0a 20 30 31 45 42 20 33 43 20 20 20 20 20 20   ┆T DEFAULT DRIVE:   01EB 3C      ┆
0x053180…0531a0             20 20 09 49 4e 52 09 41 09 09 3b 0d 0a 20 30 31 45 43 20 43 39 20 20 20 20 20 20 20 20 09 52 45   ┆   INR A  ;   01EC C9         RE┆
0x0531a0…0531c0             54 09 09 09 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0d 0a 20 30 31 45 44 20 30   ┆T   ;                     01ED 0┆
0x0531c0…0531e0             45 31 30 20 20 20 20 20 20 53 45 54 46 43 42 3a 09 4d 56 49 09 43 2c 31 36 09 09 3b 0d 0a 20 30   ┆E10      SETFCB: MVI C,16  ;   0┆
0x0531e0…053200             31 45 46 20 31 31 36 43 30 30 20 20 20 20 09 4c 58 49 09 44 2c 46 43 42 32 09 09 3b 20 53 45 54   ┆1EF 116C00     LXI D,FCB2  ; SET┆
0x053200…053220 (22, 0, 6)  30 33 31 36 30 30 35 38 31 39 37 38 42 37 33 41 30 32 30 34 43 41 43 34 33 41 0d 0a 3a 31 30 30   ┆031600581978B73A0204CAC43A  :100┆
0x053220…053240             31 43 30 30 30 30 31 33 41 30 33 30 34 42 37 43 41 43 39 30 31 32 33 37 31 43 33 35 45 30 31 44   ┆1C000013A0304B7CAC9012371C35E01D┆
0x053240…053260             42 31 34 45 36 31 37 0d 0a 3a 31 30 30 31 44 30 30 30 38 30 43 41 45 44 30 31 32 41 46 41 30 33   ┆B14E617  :1001D00080CAED012AFA03┆
0x053260…053280             32 32 46 45 30 33 32 32 30 30 30 34 43 33 45 44 30 31 43 36 0d 0a 3a 31 30 30 31 45 30 30 30 45   ┆22FE03220004C3ED01C6  :1001E000E┆
0x053280…0532a0             42 32 41 46 38 30 33 37 33 32 33 37 32 43 39 43 44 30 38 30 33 33 43 43 39 30 45 31 30 31 31 32   ┆B2AF803732372C9CD08033CC90E10112┆
0x0532a0…0532c0             32 0d 0a 3a 31 30 30 31 46 30 30 30 36 43 30 30 32 31 30 37 30 34 31 41 31 33 37 37 32 33 30 44   ┆2  :1001F0006C002107041A1377230D┆
0x0532c0…0532e0             43 32 46 35 30 31 41 46 33 32 32 37 44 33 0d 0a 3a 31 30 30 32 30 30 30 30 30 34 31 31 41 41 30   ┆C2F501AF3227D3  :100200000411AA0┆
0x0532e0…053300             33 43 44 30 33 30 33 43 44 43 41 30 32 32 41 46 45 30 33 43 44 45 30 30 31 45 37 0d 0a 3a 31 30   ┆3CD0303CDCA022AFE03CDE001E7  :10┆
0x053300…053320             30 32 31 30 30 30 43 44 44 42 30 32 31 31 35 43 30 30 43 44 45 30 30 32 31 31 30 44 30 33 33 43   ┆021000CDDB02115C00CDE002110D033C┆
0x053320…053340             43 43 43 32 30 32 32 42 0d 0a 3a 31 30 30 32 32 30 30 30 31 31 34 38 30 34 33 45 30 30 33 32 30   ┆CCC2022B  :100220001148043E00320┆
0x053340…053360             34 30 34 44 35 43 44 46 45 30 32 31 31 35 43 30 30 43 44 31 44 0d 0a 3a 31 30 30 32 33 30 30 30   ┆404D5CDFE02115C00CD1D  :10023000┆
0x053360…053380             45 46 30 32 42 37 43 32 34 44 30 32 44 31 32 31 38 30 30 30 31 39 45 42 44 35 43 44 46 45 30 32   ┆EF02B7C24D02D121800019EBD5CDFE02┆
0x053380…0533a0             45 44 0d 0a 3a 31 30 30 32 34 30 30 30 32 31 30 34 30 34 31 31 36 46 30 33 33 34 43 43 43 32 30   ┆ED  :10024000210404116F0334CCC20┆
0x0533a0…0533c0             32 43 33 32 43 30 32 44 31 31 31 37 45 45 44 0d 0a 3a 31 30 30 32 35 30 30 30 30 33 43 44 30 33   ┆2C32C02D1117EED  :1002500003CD03┆
0x0533c0…0533e0             30 33 43 44 43 41 30 32 32 41 30 30 30 34 43 44 45 30 30 31 43 44 44 42 30 32 41 39 0d 0a 3a 31   ┆03CDCA022A0004CDE001CDDB02A9  :1┆
0x0533e0…053400             30 30 32 36 30 30 30 31 31 30 37 30 34 43 44 45 41 30 32 31 31 30 37 30 34 43 44 46 39 30 32 31   ┆0026000110704CDEA02110704CDF9021┆
0x053400…053420 (22, 0, 7)  00 4e 4f 20 53 4f 55 52 43 45 20 46 49 4c 45 0d 0a 24 4e 4f 20 44 49 52 45 43 54 4f 52 59 20 53   ┆ NO SOURCE FILE  $NO DIRECTORY S┆
0x053420…053440             50 41 43 45 0d 0a 24 4f 55 54 20 4f 46 20 44 41 54 41 20 53 50 41 43 45 0d 0a 24 57 52 49 54 45   ┆PACE  $OUT OF DATA SPACE  $WRITE┆
0x053440…053460             20 50 52 4f 54 45 43 54 45 44 3f 0d 0a 24 54 52 41 4e 53 46 45 52 20 43 4f 4d 50 4c 45 54 45 44   ┆ PROTECTED?  $TRANSFER COMPLETED┆
0x053460…053480             0d 0a 24 46 49 4c 45 20 54 4f 4f 20 42 49 47 0d 0a 24 49 4e 53 45 52 54 20 44 45 53 54 49 4e 41   ┆  $FILE TOO BIG  $INSERT DESTINA┆
0x053480…0534a0             54 49 4f 4e 20 44 49 53 4b 20 41 4e 44 20 54 59 50 45 20 3c 52 45 54 55 52 4e 3e 0d 0a 24 49 4e   ┆TION DISK AND TYPE <RETURN>  $IN┆
0x0534a0…0534c0             53 45 52 54 20 53 4f 55 52 43 45 20 44 49 53 4b 20 41 4e 44 20 54 59 50 45 20 3c 52 45 54 55 52   ┆SERT SOURCE DISK AND TYPE <RETUR┆
0x0534c0…0534e0             4e 3e 0d 0a 24 49 4e 53 45 52 54 20 53 59 53 54 45 4d 20 44 49 53 4b 20 41 4e 44 20 54 59 50 45   ┆N>  $INSERT SYSTEM DISK AND TYPE┆
0x0534e0…053500             20 3c 52 45 54 55 52 4e 3e 0d 0a 24 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0e 19 c3 05   ┆ <RETURN>  $                    ┆
0x053500…053520             00 4e 4f 20 53 4f 55 52 43 45 20 46 49 4c 45 0d 0a 24 4e 4f 20 44 49 52 45 43 54 4f 52 59 20 53   ┆ NO SOURCE FILE  $NO DIRECTORY S┆
0x053520…053540             50 41 43 45 0d 0a 24 4f 55 54 20 4f 46 20 44 41 54 41 20 53 50 41 43 45 0d 0a 24 57 00 00 00 00   ┆PACE  $OUT OF DATA SPACE  $W    ┆
0x053540…053560             00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
          […0x1…]
0x053580…0535a0             33 44 0d 0a 3a 31 30 30 32 34 30 30 30 32 30 34 33 34 46 34 44 35 30 34 43 34 35 35 34 34 35 34   ┆3D  :1002400020434F4D504C4554454┆
0x0535a0…0535c0             34 32 34 34 36 34 39 34 43 34 35 32 30 38 44 0d 0a 3a 31 30 30 32 35 30 30 30 35 34 34 46 34 46   ┆42446494C45208D  :10025000544F4F┆
0x0535c0…0535e0             32 30 34 32 34 39 34 37 32 34 34 39 34 45 35 33 34 35 35 32 35 34 32 30 34 34 35 44 0d 0a 3a 31   ┆2042494724494E5345525420445D  :1┆
0x0535e0…053600             30 30 32 36 30 30 30 34 35 35 33 35 34 34 39 34 45 34 31 35 34 34 39 34 46 34 45 32 30 34 34 34   ┆0026000455354494E4154494F4E20444┆
0x053600…053620 (22, 0, 8)  09 09 50 4f 50 20 44 20 3b 52 45 43 41 4c 4c 20 53 45 43 54 4f 52 20 41 4e 44 20 43 4f 55 4e 54   ┆  POP D ;RECALL SECTOR AND COUNT┆
0x053620…053640             0d 0a 09 09 09 09 49 4e 52 20 44 20 3b 4e 45 58 54 20 53 45 43 54 4f 52 0d 0a 09 09 09 3b 20 43   ┆      INR D ;NEXT SECTOR     ; C┆
0x053640…053660             48 45 43 4b 20 45 52 52 4f 52 20 43 4f 4e 44 49 54 49 4f 4e 53 0d 0a 09 09 09 4f 52 41 20 41 21   ┆HECK ERROR CONDITIONS     ORA A!┆
0x053660…053680             20 52 4e 5a 20 3b 52 45 54 55 52 4e 20 57 49 54 48 20 4e 4f 4e 20 5a 45 52 4f 20 46 4c 41 47 20   ┆ RNZ ;RETURN WITH NON ZERO FLAG ┆
0x053680…0536a0             53 45 54 0d 0a 09 09 09 44 43 52 20 45 20 3b 43 4f 55 4e 54 20 3d 20 43 4f 55 4e 54 20 2d 20 31   ┆SET     DCR E ;COUNT = COUNT - 1┆
0x0536a0…0536c0             0d 0a 09 09 09 4a 4e 5a 20 52 57 24 4c 4f 4f 50 20 3b 46 4f 52 20 41 4e 4f 54 48 45 52 20 53 45   ┆     JNZ RW$LOOP ;FOR ANOTHER SE┆
0x0536c0…0536e0             43 54 4f 52 0d 0a 09 09 09 52 45 54 20 3b 57 49 54 48 20 5a 45 52 4f 20 46 4c 41 47 20 53 45 54   ┆CTOR     RET ;WITH ZERO FLAG SET┆
0x0536e0…053700             20 46 4f 52 20 49 4f 20 43 4f 4d 50 4c 45 54 45 0d 0a 3b 0d 0a 3b 0d 0a 3b 09 55 54 49 4c 49 54   ┆ FOR IO COMPLETE  ;  ;  ; UTILIT┆
0x053700…053720             59 20 53 55 42 52 4f 55 54 49 4e 45 53 20 46 4f 52 20 44 49 52 45 43 54 20 44 49 53 4b 20 49 4f   ┆Y SUBROUTINES FOR DIRECT DISK IO┆
0x053720…053740             0d 0a 57 42 4f 4f 54 09 45 51 55 09 31 09 3b 57 41 52 4d 20 42 4f 4f 54 20 41 44 44 52 45 53 53   ┆  WBOOT EQU 1 ;WARM BOOT ADDRESS┆
0x053740…053760             0d 0a 53 45 4c 44 53 4b 09 45 51 55 09 32 34 09 3b 53 45 4c 45 43 54 20 44 49 53 4b 0d 0a 53 45   ┆  SELDSK EQU 24 ;SELECT DISK  SE┆
0x053760…053780             54 54 52 4b 09 45 51 55 09 32 37 09 3b 53 45 54 20 54 52 41 43 4b 0d 0a 53 45 54 53 45 43 09 45   ┆TTRK EQU 27 ;SET TRACK  SETSEC E┆
0x053780…0537a0             51 55 09 33 30 09 3b 53 45 54 20 53 45 43 54 4f 52 0d 0a 53 45 54 44 4d 41 09 45 51 55 09 33 33   ┆QU 30 ;SET SECTOR  SETDMA EQU 33┆
0x0537a0…0537c0             09 3b 53 45 54 20 44 4d 41 20 41 44 44 52 45 53 53 0d 0a 52 45 41 44 46 09 45 51 55 09 33 36 09   ┆ ;SET DMA ADDRESS  READF EQU 36 ┆
0x0537c0…0537e0             3b 52 45 41 44 20 44 49 53 4b 0d 0a 57 52 49 54 46 09 45 51 55 09 33 39 09 3b 57 52 49 54 45 20   ┆;READ DISK  WRITF EQU 39 ;WRITE ┆
0x0537e0…053800             44 49 53 4b 0d 0a 3b 0d 0a 53 45 4c 3a 09 3b 53 45 4c 45 43 54 20 44 52 49 56 45 20 47 49 56 45   ┆DISK  ;  SEL: ;SELECT DRIVE GIVE┆
0x053800…053820 (22, 0, 9)  55 50 20 44 46 43 42 0d 0a 20 30 31 46 32 20 32 31 30 37 30 34 20 20 20 20 09 4c 58 49 09 48 2c   ┆UP DFCB   01F2 210704     LXI H,┆
0x053820…053840             44 46 43 42 09 09 3b 0d 0a 20 30 31 46 35 20 31 41 20 20 20 20 20 20 20 20 4d 46 43 42 3a 09 4c   ┆DFCB  ;   01F5 1A        MFCB: L┆
0x053840…053860             44 41 58 09 44 09 09 3b 0d 0a 20 30 31 46 36 20 31 33 20 20 20 20 20 20 20 20 09 49 4e 58 09 44   ┆DAX D  ;   01F6 13         INX D┆
0x053860…053880             09 09 3b 0d 0a 20 30 31 46 37 20 37 37 20 20 20 20 20 20 20 20 09 4d 4f 56 09 4d 2c 41 09 09 3b   ┆  ;   01F7 77         MOV M,A  ;┆
0x053880…0538a0             0d 0a 20 30 31 46 38 20 32 33 20 20 20 20 20 20 20 20 09 49 4e 58 09 48 09 09 3b 0d 0a 20 30 31   ┆   01F8 23         INX H  ;   01┆
0x0538a0…0538c0             46 39 20 30 44 20 20 20 20 20 20 20 20 09 44 43 52 09 43 09 09 3b 0d 0a 20 30 31 46 41 20 43 32   ┆F9 0D         DCR C  ;   01FA C2┆
0x0538c0…0538e0             46 35 30 31 20 20 20 20 09 4a 4e 5a 09 4d 46 43 42 09 09 3b 0d 0a 20 30 31 46 44 20 41 46 20 20   ┆F501     JNZ MFCB  ;   01FD AF  ┆
0x0538e0…053900             20 20 20 20 20 20 09 58 52 41 09 41 09 09 3b 0d 0a 20 30 31 46 45 20 33 32 32 37 30 34 20 20 20   ┆       XRA A  ;   01FE 322704   ┆
0x053900…053920             20 09 53 54 41 09 44 46 43 42 43 52 09 09 3b 20 43 55 52 52 45 4e 54 20 52 45 43 28 44 46 43 42   ┆  STA DFCBCR  ; CURRENT REC(DFCB┆
0x053920…053940             29 3a 3d 30 3b 0d 0a 20 30 32 30 31 20 31 31 41 41 30 33 20 20 20 20 09 4c 58 49 09 44 2c 53 57   ┆):=0;   0201 11AA03     LXI D,SW┆
0x053940…053960             4f 50 44 09 09 3b 0d 0a 20 30 32 30 34 20 43 44 30 33 30 33 20 20 20 20 09 43 41 4c 4c 09 50 52   ┆OPD  ;   0204 CD0303     CALL PR┆
0x053960…053980             49 4e 54 09 09 3b 0d 0a 20 30 32 30 37 20 43 44 43 41 30 32 20 20 20 20 09 43 41 4c 4c 09 43 4f   ┆INT  ;   0207 CDCA02     CALL CO┆
0x053980…0539a0             4e 53 49 09 09 3b 0d 0a 20 30 32 30 41 20 32 41 46 45 30 33 20 20 20 20 09 4c 48 4c 44 09 53 46   ┆NSI  ;   020A 2AFE03     LHLD SF┆
0x0539a0…0539c0             09 09 3b 0d 0a 20 30 32 30 44 20 43 44 45 30 30 31 20 20 20 20 09 43 41 4c 4c 09 53 45 54 46 09   ┆  ;   020D CDE001     CALL SETF ┆
0x0539c0…0539e0             09 3b 20 53 45 54 20 53 4f 55 52 43 45 20 46 4f 52 4d 41 54 0d 0a 20 30 32 31 30 20 43 44 44 42   ┆ ; SET SOURCE FORMAT   0210 CDDB┆
0x0539e0…053a00             30 32 20 20 20 20 09 43 41 4c 4c 09 52 45 53 45 54 09 09 3b 0d 0a 20 30 32 31 33 20 31 31 35 43   ┆02     CALL RESET  ;   0213 115C┆
0x053a00…053a20 (22, 0, 10) 31 31 45 30 33 33 43 36 37 0d 0a 3a 31 30 30 32 37 30 30 30 43 43 43 32 30 32 31 31 34 38 30 34   ┆11E033C67  :10027000CCC202114804┆
0x053a20…053a40             44 35 43 44 46 45 30 32 31 31 30 37 30 34 43 44 46 34 30 32 31 30 0d 0a 3a 31 30 30 32 38 30 30   ┆D5CDFE02110704CDF40210  :1002800┆
0x053a40…053a60             30 31 31 33 33 30 33 42 37 43 34 43 32 30 32 44 31 32 31 38 30 30 30 31 39 45 42 44 35 43 44 46   ┆0113303B7C4C202D121800019EBD5CDF┆
0x053a60…053a80             45 44 32 0d 0a 3a 31 30 30 32 39 30 30 30 30 32 32 31 30 34 30 34 33 35 43 32 37 41 30 32 44 31   ┆ED2  :100290000221040435C27A02D1┆
0x053a80…053aa0             31 31 30 37 30 34 43 44 45 35 30 32 31 31 30 45 0d 0a 3a 31 30 30 32 41 30 30 30 34 37 30 33 33   ┆110704CDE502110E  :1002A00047033┆
0x053aa0…053ac0             43 43 43 43 32 30 32 31 31 35 41 30 33 43 44 30 33 30 33 31 31 44 31 30 33 43 44 34 35 0d 0a 3a   ┆CCCC202115A03CD030311D103CD45  :┆
0x053ac0…053ae0             31 30 30 32 42 30 30 30 30 33 30 33 43 44 43 41 30 32 32 41 46 41 30 33 43 44 45 30 30 31 43 44   ┆1002B0000303CDCA022AFA03CDE001CD┆
0x053ae0…053b00             44 42 30 32 32 41 30 35 46 31 0d 0a 3a 31 30 30 32 43 30 30 30 30 34 45 39 30 45 30 39 43 44 30   ┆DB022A05F1  :1002C00004E90E09CD0┆
0x053b00…053b20             35 30 30 43 33 41 43 30 32 30 45 30 31 43 44 30 35 30 30 46 45 30 38 0d 0a 3a 31 30 30 32 44 30   ┆500C3AC020E01CD0500FE08  :1002D0┆
0x053b20…053b40             30 30 30 33 43 30 32 41 46 41 30 33 43 44 45 30 30 31 43 33 30 30 30 30 30 45 30 44 43 33 30 35   ┆0003C02AFA03CDE001C300000E0DC305┆
0x053b40…053b60             30 30 45 30 0d 0a 3a 31 30 30 32 45 30 30 30 30 45 30 46 43 33 30 35 30 30 30 45 31 30 43 33 30   ┆00E0  :1002E0000E0FC305000E10C30┆
0x053b60…053b80             35 30 30 30 45 31 33 43 33 30 35 30 30 30 45 34 43 0d 0a 3a 31 30 30 32 46 30 30 30 31 34 43 33   ┆5000E13C305000E4C  :1002F00014C3┆
0x053b80…053ba0             30 35 30 30 30 45 31 35 43 33 30 35 30 30 30 45 31 36 43 33 30 35 30 30 30 45 31 41 32 33 0d 0a   ┆05000E15C305000E16C305000E1A23  ┆
0x053ba0…053bc0             3a 31 30 30 33 30 30 30 30 43 33 30 35 30 30 30 45 30 39 43 33 30 35 30 30 30 45 31 39 43 33 30   ┆:10030000C305000E09C305000E19C30┆
0x053bc0…053be0             35 30 30 34 45 34 46 32 30 39 41 0d 0a 3a 31 30 30 33 31 30 30 30 35 33 34 46 35 35 35 32 34 33   ┆5004E4F209A  :10031000534F555243┆
0x053be0…053c00             34 35 32 30 34 36 34 39 34 43 34 35 30 44 30 41 32 34 34 45 34 46 46 34 0d 0a 3a 31 30 30 33 32   ┆452046494C450D0A244E4FF4  :10032┆
0x053c00…053c20 (22, 0, 11) 39 35 33 34 42 32 30 32 35 0d 0a 3a 31 30 30 32 37 30 30 30 34 31 34 45 34 34 32 30 35 34 35 39   ┆9534B2025  :10027000414E44205459┆
0x053c20…053c40             35 30 34 35 32 30 33 43 35 32 34 35 35 34 35 35 35 32 34 45 30 44 0d 0a 3a 31 30 30 32 38 30 30   ┆5045203C52455455524E0D  :1002800┆
0x053c40…053c60             30 33 45 30 44 30 41 32 34 34 39 34 45 35 33 34 35 35 32 35 34 32 30 35 33 34 46 35 35 35 32 34   ┆03E0D0A24494E5345525420534F55524┆
0x053c60…053c80             33 37 34 0d 0a 3a 31 30 30 32 39 30 30 30 34 35 32 30 34 34 34 39 35 33 34 42 32 30 34 31 34 45   ┆374  :1002900045204449534B20414E┆
0x053c80…053ca0             34 34 32 30 35 34 35 39 35 30 34 35 32 30 35 39 0d 0a 3a 30 43 30 32 41 30 30 30 33 43 35 32 34   ┆4420545950452059  :0C02A0003C524┆
0x053ca0…053cc0             35 35 34 35 35 35 32 34 45 33 45 30 44 30 41 32 34 30 30 42 44 0d 0a 3a 30 32 30 32 45 44 30 30   ┆55455524E3E0D0A2400BD  :0202ED00┆
0x053cc0…053ce0             30 30 30 30 30 46 0d 0a 3a 30 31 30 33 32 46 30 30 30 30 43 44 0d 0a 3a 30 30 30 31 30 30 30 30   ┆00000F  :01032F0000CD  :00010000┆
0x053ce0…053d00             46 46 0d 0a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a   ┆FF                              ┆
0x053d00…053d20             16 50 49 50 20 53 54 41 54 33 2e 43 4f 4d 3d 53 54 41 54 2e 43 4f 4d 00 24 24 35 0d 0a 45 52 41   ┆ PIP STAT3.COM=STAT.COM $$5  ERA┆
0x053d20…053d40             20 53 54 41 54 31 2e 43 4f 4d 0d 0a 45 52 41 20 53 54 41 54 32 2e 43 4f 4d 0d 0a 45 52 41 20 53   ┆ STAT1.COM  ERA STAT2.COM  ERA S┆
0x053d40…053d60             54 41 54 33 2e 43 4f 4d 0d 0a 45 52 41 20 53 54 41 54 34 2e 43 4f 4d 0d 0a 45 52 41 20 53 54 41   ┆TAT3.COM  ERA STAT4.COM  ERA STA┆
0x053d60…053d80             54 35 2e 43 4f 4d 0d 0a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a   ┆T5.COM                          ┆
0x053d80…053da0             05 53 54 41 54 32 00 24 54 33 2e 43 4f 4d 3d 53 54 41 54 2e 43 4f 4d 00 24 24 35 0d 0a 45 52 41   ┆ STAT2 $T3.COM=STAT.COM $$5  ERA┆
0x053da0…053dc0             20 53 54 41 54 31 2e 43 4f 4d 0d 0a 45 52 41 20 53 54 41 54 32 2e 43 4f 4d 0d 0a 45 52 41 20 53   ┆ STAT1.COM  ERA STAT2.COM  ERA S┆
0x053dc0…053de0             54 41 54 33 2e 43 4f 4d 0d 0a 45 52 41 20 53 54 41 54 34 2e 43 4f 4d 0d 0a 45 52 41 20 53 54 41   ┆TAT3.COM  ERA STAT4.COM  ERA STA┆
0x053de0…053e00             54 35 2e 43 4f 4d 0d 0a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a   ┆T5.COM                          ┆
0x053e00…053e20 (22, 0, 12) 4e 20 42 59 20 52 45 47 49 53 54 45 52 20 41 0d 0a 09 4d 4f 56 20 43 2c 41 21 20 4c 48 4c 44 20   ┆N BY REGISTER A   MOV C,A! LHLD ┆
0x053e20…053e40             57 42 4f 4f 54 21 20 4c 58 49 20 44 2c 53 45 4c 44 53 4b 21 20 44 41 44 20 44 21 20 50 43 48 4c   ┆WBOOT! LXI D,SELDSK! DAD D! PCHL┆
0x053e40…053e60             0d 0a 3b 0d 0a 54 52 4b 3a 09 3b 53 45 54 20 54 52 41 43 4b 20 47 49 56 45 4e 20 42 59 20 43 0d   ┆  ;  TRK: ;SET TRACK GIVEN BY C ┆
0x053e60…053e80             0a 09 4c 48 4c 44 20 57 42 4f 4f 54 21 20 4c 58 49 20 44 2c 53 45 54 54 52 4b 21 20 44 41 44 20   ┆  LHLD WBOOT! LXI D,SETTRK! DAD ┆
0x053e80…053ea0             44 21 20 50 43 48 4c 0d 0a 3b 0d 0a 53 45 43 3a 09 3b 53 45 54 20 53 45 43 54 4f 52 20 47 49 56   ┆D! PCHL  ;  SEC: ;SET SECTOR GIV┆
0x053ea0…053ec0             45 4e 20 42 59 20 43 0d 0a 09 4c 48 4c 44 20 57 42 4f 4f 54 21 20 4c 58 49 20 44 2c 53 45 54 53   ┆EN BY C   LHLD WBOOT! LXI D,SETS┆
0x053ec0…053ee0             45 43 21 20 44 41 44 20 44 21 20 50 43 48 4c 0d 0a 3b 0d 0a 44 4d 41 3a 09 3b 53 45 54 20 44 4d   ┆EC! DAD D! PCHL  ;  DMA: ;SET DM┆
0x053ee0…053f00             41 20 41 44 44 52 45 53 53 20 54 4f 20 56 41 4c 55 45 20 4f 46 20 42 2c 43 0d 0a 09 4c 48 4c 44   ┆A ADDRESS TO VALUE OF B,C   LHLD┆
0x053f00…053f20             20 57 42 4f 4f 54 21 20 4c 58 49 20 44 2c 53 45 54 44 4d 41 21 20 44 41 44 20 44 21 20 50 43 48   ┆ WBOOT! LXI D,SETDMA! DAD D! PCH┆
0x053f20…053f40             4c 0d 0a 3b 0d 0a 44 52 45 41 44 3a 09 3b 50 45 52 46 4f 52 4d 20 52 45 41 44 20 4f 50 45 52 41   ┆L  ;  DREAD: ;PERFORM READ OPERA┆
0x053f40…053f60             54 49 4f 4e 0d 0a 09 4c 48 4c 44 20 57 42 4f 4f 54 21 20 4c 58 49 20 44 2c 52 45 41 44 46 21 20   ┆TION   LHLD WBOOT! LXI D,READF! ┆
0x053f60…053f80             44 41 44 20 44 21 20 50 43 48 4c 0d 0a 3b 0d 0a 44 57 52 49 54 45 3a 09 3b 50 45 52 46 4f 52 4d   ┆DAD D! PCHL  ;  DWRITE: ;PERFORM┆
0x053f80…053fa0             20 57 52 49 54 45 20 4f 50 45 52 41 54 49 4f 4e 0d 0a 09 4c 48 4c 44 20 57 42 4f 4f 54 21 20 4c   ┆ WRITE OPERATION   LHLD WBOOT! L┆
0x053fa0…053fc0             58 49 20 44 2c 57 52 49 54 46 21 20 44 41 44 20 44 21 20 4d 56 49 20 43 2c 32 20 21 20 50 43 48   ┆XI D,WRITF! DAD D! MVI C,2 ! PCH┆
0x053fc0…053fe0             4c 0d 0a 3b 0d 0a 53 54 41 52 54 3a 0d 0a 09 4c 58 49 09 53 50 2c 53 54 41 43 4b 0d 0a 09 4d 56   ┆L  ;  START:   LXI SP,STACK   MV┆
0x053fe0…054000             49 09 43 2c 31 32 30 0d 0a 09 49 4e 09 53 57 31 0d 0a 09 41 4e 49 09 30 38 30 48 0d 0a 09 4a 5a   ┆I C,120   IN SW1   ANI 080H   JZ┆
0x054000…054020 (22, 0, 13) 30 30 20 20 20 20 09 4c 58 49 09 44 2c 53 46 43 42 09 09 3b 0d 0a 20 30 32 31 36 20 43 44 45 30   ┆00     LXI D,SFCB  ;   0216 CDE0┆
0x054020…054040             30 32 20 20 20 20 09 43 41 4c 4c 09 4f 50 45 4e 09 09 3b 20 4f 50 45 4e 20 53 4f 55 52 43 45 20   ┆02     CALL OPEN  ; OPEN SOURCE ┆
0x054040…054060             46 49 4c 45 0d 0a 20 30 32 31 39 20 31 31 30 44 30 33 20 20 20 20 09 4c 58 49 09 44 2c 4e 4f 46   ┆FILE   0219 110D03     LXI D,NOF┆
0x054060…054080             49 4c 45 09 3b 0d 0a 20 30 32 31 43 20 33 43 20 20 20 20 20 20 20 20 09 49 4e 52 09 41 09 09 3b   ┆ILE ;   021C 3C         INR A  ;┆
0x054080…0540a0             0d 0a 20 30 32 31 44 20 43 43 43 32 30 32 20 20 20 20 09 43 5a 09 46 49 4e 49 53 09 09 3b 0d 0a   ┆   021D CCC202     CZ FINIS  ;  ┆
0x0540a0…0540c0             20 30 32 32 30 20 31 31 34 38 30 34 20 20 20 20 09 4c 58 49 09 44 2c 42 55 46 09 09 3b 0d 0a 20   ┆ 0220 114804     LXI D,BUF  ;   ┆
0x0540c0…0540e0             30 32 32 33 20 33 45 30 30 20 20 20 20 20 20 09 4d 56 49 09 41 2c 30 09 09 3b 20 53 45 43 54 4f   ┆0223 3E00       MVI A,0  ; SECTO┆
0x0540e0…054100             52 43 4f 55 4e 54 3a 3d 20 31 3b 0d 0a 20 30 32 32 35 20 33 32 30 34 30 34 20 20 20 20 09 53 54   ┆RCOUNT:= 1;   0225 320404     ST┆
0x054100…054120             41 09 53 45 43 43 4e 54 09 09 3b 0d 0a 20 30 32 32 38 20 44 35 20 20 20 20 20 20 20 20 09 50 55   ┆A SECCNT  ;   0228 D5         PU┆
0x054120…054140             53 48 09 44 09 09 3b 0d 0a 20 30 32 32 39 20 43 44 46 45 30 32 20 20 20 20 09 43 41 4c 4c 09 53   ┆SH D  ;   0229 CDFE02     CALL S┆
0x054140…054160             45 54 44 4d 41 09 09 3b 20 53 45 54 20 42 55 46 46 45 52 20 41 44 44 52 45 53 53 0d 0a 20 30 32   ┆ETDMA  ; SET BUFFER ADDRESS   02┆
0x054160…054180             32 43 20 31 31 35 43 30 30 20 20 20 20 52 44 41 54 41 3a 09 4c 58 49 09 44 2c 53 46 43 42 09 09   ┆2C 115C00    RDATA: LXI D,SFCB  ┆
0x054180…0541a0             3b 0d 0a 20 30 32 32 46 20 43 44 45 46 30 32 20 20 20 20 09 43 41 4c 4c 09 52 45 41 44 09 09 3b   ┆;   022F CDEF02     CALL READ  ;┆
0x0541a0…0541c0             0d 0a 20 30 32 33 32 20 42 37 20 20 20 20 20 20 20 20 09 4f 52 41 09 41 09 09 3b 20 52 45 41 44   ┆   0232 B7         ORA A  ; READ┆
0x0541c0…0541e0             20 52 45 43 4f 52 44 3a 0d 0a 20 30 32 33 33 20 43 32 34 44 30 32 20 20 20 20 09 4a 4e 5a 09 45   ┆ RECORD:   0233 C24D02     JNZ E┆
0x0541e0…054200             4f 46 49 4c 45 09 09 3b 0d 0a 20 30 32 33 36 20 44 31 20 20 20 20 20 20 20 20 09 50 4f 50 09 44   ┆OFILE  ;   0236 D1         POP D┆
0x054200…054220 (22, 0, 14) 30 30 30 32 30 34 34 34 39 35 32 34 35 34 33 35 34 34 46 35 32 35 39 32 30 35 33 35 30 34 31 34   ┆000204449524543544F5259205350414┆
0x054220…054240             33 34 35 36 43 0d 0a 3a 31 30 30 33 33 30 30 30 30 44 30 41 32 34 34 46 35 35 35 34 32 30 34 46   ┆3456C  :100330000D0A244F5554204F┆
0x054240…054260             34 36 32 30 34 34 34 31 35 34 34 31 32 30 35 33 32 38 0d 0a 3a 31 30 30 33 34 30 30 30 35 30 34   ┆462044415441205328  :10034000504┆
0x054260…054280             31 34 33 34 35 30 44 30 41 32 34 35 37 35 32 34 39 35 34 34 35 32 30 35 30 35 32 34 46 42 44 0d   ┆143450D0A2457524954452050524FBD ┆
0x054280…0542a0             0a 3a 31 30 30 33 35 30 30 30 35 34 34 35 34 33 35 34 34 35 34 34 33 46 30 44 30 41 32 34 35 34   ┆ :100350005445435445443F0D0A2454┆
0x0542a0…0542c0             35 32 34 31 34 45 35 33 34 36 39 43 0d 0a 3a 31 30 30 33 36 30 30 30 34 35 35 32 32 30 34 33 34   ┆52414E53469C  :10036000455220434┆
0x0542c0…0542e0             46 34 44 35 30 34 43 34 35 35 34 34 35 34 34 30 44 30 41 32 34 34 36 42 38 0d 0a 3a 31 30 30 33   ┆F4D504C455445440D0A2446B8  :1003┆
0x0542e0…054300             37 30 30 30 34 39 34 43 34 35 32 30 35 34 34 46 34 46 32 30 34 32 34 39 34 37 30 44 30 41 32 34   ┆7000494C4520544F4F204249470D0A24┆
0x054300…054320             34 39 34 45 43 44 0d 0a 3a 31 30 30 33 38 30 30 30 35 33 34 35 35 32 35 34 32 30 34 34 34 35 35   ┆494ECD  :10038000534552542044455┆
0x054320…054340             33 35 34 34 39 34 45 34 31 35 34 34 39 34 46 34 45 43 44 0d 0a 3a 31 30 30 33 39 30 30 30 32 30   ┆354494E4154494F4ECD  :1003900020┆
0x054340…054360             34 34 34 39 35 33 34 42 32 30 34 31 34 45 34 34 32 30 35 34 35 39 35 30 34 35 32 30 33 43 36 31   ┆4449534B20414E442054595045203C61┆
0x054360…054380             0d 0a 3a 31 30 30 33 41 30 30 30 35 32 34 35 35 34 35 35 35 32 34 45 33 45 30 44 30 41 32 34 34   ┆  :1003A00052455455524E3E0D0A244┆
0x054380…0543a0             39 34 45 35 33 34 35 35 32 35 34 31 46 0d 0a 3a 31 30 30 33 42 30 30 30 32 30 35 33 34 46 35 35   ┆94E534552541F  :1003B00020534F55┆
0x0543a0…0543c0             35 32 34 33 34 35 32 30 34 34 34 39 35 33 34 42 32 30 34 31 34 45 34 34 30 45 0d 0a 3a 31 30 30   ┆524345204449534B20414E440E  :100┆
0x0543c0…0543e0             33 43 30 30 30 32 30 35 34 35 39 35 30 34 35 32 30 33 43 35 32 34 35 35 34 35 35 35 32 34 45 33   ┆3C0002054595045203C52455455524E3┆
0x0543e0…054400             45 30 44 30 41 33 41 0d 0a 3a 31 30 30 33 44 30 30 30 32 34 34 39 34 45 35 33 34 35 35 32 35 34   ┆E0D0A3A  :1003D00024494E53455254┆
0x054400…054420 (22, 0, 15) 16 50 49 50 20 53 54 41 54 32 2e 43 4f 4d 3d 53 54 41 54 2e 43 4f 4d 00 24 24 35 0d 0a 45 52 41   ┆ PIP STAT2.COM=STAT.COM $$5  ERA┆
0x054420…054440             20 53 54 41 54 31 2e 43 4f 4d 0d 0a 45 52 41 20 53 54 41 54 32 2e 43 4f 4d 0d 0a 45 52 41 20 53   ┆ STAT1.COM  ERA STAT2.COM  ERA S┆
0x054440…054460             54 41 54 33 2e 43 4f 4d 0d 0a 45 52 41 20 53 54 41 54 34 2e 43 4f 4d 0d 0a 45 52 41 20 53 54 41   ┆TAT3.COM  ERA STAT4.COM  ERA STA┆
0x054460…054480             54 35 2e 43 4f 4d 0d 0a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a   ┆T5.COM                          ┆
0x054480…0544a0             05 53 54 41 54 31 00 24 54 32 2e 43 4f 4d 3d 53 54 41 54 2e 43 4f 4d 00 24 24 35 0d 0a 45 52 41   ┆ STAT1 $T2.COM=STAT.COM $$5  ERA┆
0x0544a0…0544c0             20 53 54 41 54 31 2e 43 4f 4d 0d 0a 45 52 41 20 53 54 41 54 32 2e 43 4f 4d 0d 0a 45 52 41 20 53   ┆ STAT1.COM  ERA STAT2.COM  ERA S┆
0x0544c0…0544e0             54 41 54 33 2e 43 4f 4d 0d 0a 45 52 41 20 53 54 41 54 34 2e 43 4f 4d 0d 0a 45 52 41 20 53 54 41   ┆TAT3.COM  ERA STAT4.COM  ERA STA┆
0x0544e0…054500             54 35 2e 43 4f 4d 0d 0a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a   ┆T5.COM                          ┆
0x054500…054520             16 50 49 50 20 53 54 41 54 31 2e 43 4f 4d 3d 53 54 41 54 2e 43 4f 4d 00 24 24 35 0d 0a 45 52 41   ┆ PIP STAT1.COM=STAT.COM $$5  ERA┆
0x054520…054540             20 53 54 41 54 31 2e 43 4f 4d 0d 0a 45 52 41 20 53 54 41 54 32 2e 43 4f 4d 0d 0a 45 52 41 20 53   ┆ STAT1.COM  ERA STAT2.COM  ERA S┆
0x054540…054560             54 41 54 33 2e 43 4f 4d 0d 0a 45 52 41 20 53 54 41 54 34 2e 43 4f 4d 0d 0a 45 52 41 20 53 54 41   ┆TAT3.COM  ERA STAT4.COM  ERA STA┆
0x054560…054580             54 35 2e 43 4f 4d 0d 0a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a   ┆T5.COM                          ┆
0x054580…0545a0             05 53 54 41 54 32 00 24 54 33 2e 43 4f 4d 3d 53 54 41 54 2e 43 4f 4d 00 24 24 35 0d 0a 45 52 41   ┆ STAT2 $T3.COM=STAT.COM $$5  ERA┆
0x0545a0…0545c0             20 53 54 41 54 31 2e 43 4f 4d 0d 0a 45 52 41 20 53 54 41 54 32 2e 43 4f 4d 0d 0a 45 52 41 20 53   ┆ STAT1.COM  ERA STAT2.COM  ERA S┆
0x0545c0…0545e0             54 41 54 33 2e 43 4f 4d 0d 0a 45 52 41 20 53 54 41 54 34 2e 43 4f 4d 0d 0a 45 52 41 20 53 54 41   ┆TAT3.COM  ERA STAT4.COM  ERA STA┆
0x0545e0…054600             54 35 2e 43 4f 4d 0d 0a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a   ┆T5.COM                          ┆
0x054600…054620 (22, 1, 1)  09 53 45 54 53 50 54 0d 0a 09 4d 56 49 09 43 2c 37 32 0d 0a 53 45 54 53 50 54 3a 09 4d 4f 56 09   ┆ SETSPT   MVI C,72  SETSPT: MOV ┆
0x054620…054640             41 2c 43 0d 0a 09 53 54 41 09 53 50 54 0d 0a 09 43 41 4c 4c 09 4f 52 47 4d 53 47 09 3b 4f 52 49   ┆A,C   STA SPT   CALL ORGMSG ;ORI┆
0x054640…054660             47 49 4e 20 50 52 4f 4d 50 54 0d 0a 09 43 41 4c 4c 09 52 45 41 44 0d 0a 09 4c 58 49 20 48 2c 4f   ┆GIN PROMPT   CALL READ   LXI H,O┆
0x054660…054680             52 49 47 49 4e 21 20 4d 4f 56 20 4d 2c 43 21 20 69 6e 78 20 68 21 20 6d 6f 76 20 6d 2c 62 20 3b   ┆RIGIN! MOV M,C! inx h! mov m,b ;┆
0x054680…0546a0             53 41 56 45 44 20 54 48 45 20 4f 52 49 47 49 4e 20 4e 55 4d 42 45 52 0d 0a 09 4c 58 49 20 48 2c   ┆SAVED THE ORIGIN NUMBER   LXI H,┆
0x0546a0…0546c0             43 4f 4d 4c 45 4e 21 20 4d 4f 56 20 42 2c 4d 21 20 49 4e 58 20 48 21 20 58 43 48 47 0d 0a 09 4c   ┆COMLEN! MOV B,M! INX H! XCHG   L┆
0x0546c0…0546e0             58 49 20 48 2c 41 4f 52 49 47 49 4e 20 3b 41 53 43 49 49 20 56 45 52 53 49 4f 4e 20 4f 46 20 54   ┆XI H,AORIGIN ;ASCII VERSION OF T┆
0x0546e0…054700             48 45 20 4f 52 49 47 49 4e 0d 0a 09 4f 52 47 32 3a 20 4c 44 41 58 20 44 21 20 4f 52 41 20 41 21   ┆HE ORIGIN   ORG2: LDAX D! ORA A!┆
0x054700…054720             20 4a 5a 20 4f 52 47 33 0d 0a 09 09 49 4e 58 20 44 21 20 4d 4f 56 20 4d 2c 41 21 20 49 4e 58 20   ┆ JZ ORG3    INX D! MOV M,A! INX ┆
0x054720…054740             48 21 20 44 43 52 20 42 21 20 4a 4e 5a 20 4f 52 47 32 0d 0a 09 09 3b 41 53 43 49 49 20 56 45 52   ┆H! DCR B! JNZ ORG2    ;ASCII VER┆
0x054740…054760             53 49 4f 4e 20 4d 4f 56 45 44 20 54 4f 20 42 55 46 46 45 52 2c 20 50 41 44 20 49 54 0d 0a 09 4f   ┆SION MOVED TO BUFFER, PAD IT   O┆
0x054760…054780             52 47 33 3a 09 4d 56 49 20 4d 2c 27 2d 27 21 20 49 4e 58 20 48 21 20 4d 56 49 20 4d 2c 27 24 27   ┆RG3: MVI M,'-'! INX H! MVI M,'$'┆
0x054780…0547a0             20 3b 52 45 41 44 59 20 46 4f 52 20 50 52 49 4e 54 49 4e 47 0d 0a 3b 0d 0a 3b 09 4e 4f 57 20 52   ┆ ;READY FOR PRINTING  ;  ; NOW R┆
0x0547a0…0547c0             45 41 44 20 54 48 45 20 53 45 52 49 41 4c 20 4e 55 4d 42 45 52 0d 0a 09 43 41 4c 4c 20 53 45 52   ┆EAD THE SERIAL NUMBER   CALL SER┆
0x0547c0…0547e0             4d 53 47 21 20 43 41 4c 4c 20 52 45 41 44 0d 0a 09 4c 58 49 20 48 2c 42 53 45 52 49 41 4c 21 20   ┆MSG! CALL READ   LXI H,BSERIAL! ┆
0x0547e0…054800             4d 4f 56 20 4d 2c 43 21 20 49 4e 58 20 48 21 20 4d 4f 56 20 4d 2c 42 20 3b 42 49 4e 41 52 59 20   ┆MOV M,C! INX H! MOV M,B ;BINARY ┆
0x054800…054820 (22, 1, 2)  09 58 43 48 47 21 20 4c 48 4c 44 20 42 53 45 52 49 41 4c 21 20 58 43 48 47 21 20 4d 4f 56 20 4d   ┆ XCHG! LHLD BSERIAL! XCHG! MOV M┆
0x054820…054840             2c 44 21 20 49 4e 58 20 48 21 20 4d 4f 56 20 4d 2c 45 0d 0a 09 09 3b 46 49 52 53 54 20 53 45 52   ┆,D! INX H! MOV M,E    ;FIRST SER┆
0x054840…054860             49 41 4c 20 4e 55 4d 42 45 52 20 49 53 20 53 54 4f 52 45 44 2c 20 4e 4f 57 20 43 4f 50 59 20 54   ┆IAL NUMBER IS STORED, NOW COPY T┆
0x054860…054880             4f 20 42 44 4f 53 0d 0a 09 09 50 4f 50 20 42 21 20 50 55 53 48 20 42 21 20 4c 58 49 20 44 2c 42   ┆O BDOS    POP B! PUSH B! LXI D,B┆
0x054880…0548a0             44 4f 53 56 0d 0a 3b 09 09 43 4f 4d 50 55 54 45 20 44 49 46 46 45 52 45 4e 43 45 20 49 4e 20 41   ┆DOSV  ;  COMPUTE DIFFERENCE IN A┆
0x0548a0…0548c0             44 44 52 45 53 53 45 53 20 46 4f 52 20 4c 41 54 45 52 0d 0a 09 09 4d 4f 56 20 41 2c 45 21 20 53   ┆DDRESSES FOR LATER    MOV A,E! S┆
0x0548c0…0548e0             55 42 20 43 21 20 4d 4f 56 20 4c 2c 41 0d 0a 09 09 4d 4f 56 20 41 2c 44 21 20 53 42 42 20 42 21   ┆UB C! MOV L,A    MOV A,D! SBB B!┆
0x0548e0…054900             20 4d 4f 56 20 48 2c 41 21 20 53 48 4c 44 20 53 44 49 46 46 0d 0a 09 09 50 4f 50 20 48 21 20 4d   ┆ MOV H,A! SHLD SDIFF    POP H! M┆
0x054900…054920             56 49 20 43 2c 36 20 3b 4c 45 4e 47 54 48 20 4f 46 20 53 45 52 49 41 4c 20 4e 55 4d 42 45 52 0d   ┆VI C,6 ;LENGTH OF SERIAL NUMBER ┆
0x054920…054940             0a 3b 09 09 48 2c 4c 20 41 44 44 52 45 53 53 20 53 54 41 52 54 20 4f 46 20 53 45 52 49 41 4c 20   ┆ ;  H,L ADDRESS START OF SERIAL ┆
0x054940…054960             4e 55 4d 42 45 52 2c 20 44 2c 45 20 41 44 44 52 45 53 53 20 53 45 43 4f 4e 44 20 23 0d 0a 09 09   ┆NUMBER, D,E ADDRESS SECOND #    ┆
0x054960…054980             43 4f 50 59 30 3a 20 4d 4f 56 20 41 2c 4d 21 20 53 54 41 58 20 44 21 20 49 4e 58 20 44 21 20 49   ┆COPY0: MOV A,M! STAX D! INX D! I┆
0x054980…0549a0             4e 58 20 48 21 20 44 43 52 20 43 0d 0a 09 09 09 4a 4e 5a 20 43 4f 50 59 30 0d 0a 09 09 3b 42 44   ┆NX H! DCR C     JNZ COPY0    ;BD┆
0x0549a0…0549c0             4f 53 20 53 45 52 49 41 4c 20 4e 55 4d 42 45 52 20 49 53 20 43 4f 50 49 45 44 0d 0a 09 09 4a 4d   ┆OS SERIAL NUMBER IS COPIED    JM┆
0x0549c0…0549e0             50 20 52 44 54 52 4b 4e 0d 0a 09 09 3b 0d 0a 09 4e 4f 4d 41 54 43 48 3a 20 3b 54 52 59 20 46 4f   ┆P RDTRKN    ;   NOMATCH: ;TRY FO┆
0x0549e0…054a00             52 20 4e 45 58 54 20 4d 41 54 43 48 0d 0a 09 09 50 4f 50 20 42 21 20 50 4f 50 20 48 21 20 49 4e   ┆R NEXT MATCH    POP B! POP H! IN┆
0x054a00…054a20 (22, 1, 3)  4b 0d 0a 09 09 3b 0d 0a 09 52 44 54 52 4b 4e 3a 0d 0a 09 09 3b 43 48 45 43 4b 20 46 4f 52 20 4d   ┆K    ;   RDTRKN:    ;CHECK FOR M┆
0x054a20…054a40             4f 56 43 50 4d 2e 43 4f 4d 20 53 45 52 49 41 4c 49 5a 41 54 49 4f 4e 0d 0a 09 09 4c 58 49 20 48   ┆OVCPM.COM SERIALIZATION    LXI H┆
0x054a40…054a60             2c 53 54 52 41 43 4b 21 20 4d 4f 56 20 41 2c 4d 21 20 4f 52 41 20 41 21 20 4a 5a 20 4e 4f 53 45   ┆,STRACK! MOV A,M! ORA A! JZ NOSE┆
0x054a60…054a80             52 0d 0a 09 09 3b 41 4c 52 45 41 44 59 20 53 45 52 49 41 4c 49 5a 45 44 20 49 46 20 53 54 52 41   ┆R    ;ALREADY SERIALIZED IF STRA┆
0x054a80…054aa0             43 4b 3d 30 0d 0a 09 09 44 43 52 20 4d 21 20 4a 4e 5a 20 4e 4f 53 45 52 20 3b 4e 4f 54 20 4f 4e   ┆CK=0    DCR M! JNZ NOSER ;NOT ON┆
0x054aa0…054ac0             20 50 52 4f 50 45 52 20 54 52 41 43 4b 0d 0a 09 09 3b 4f 4e 20 50 52 4f 50 45 52 20 54 52 41 43   ┆ PROPER TRACK    ;ON PROPER TRAC┆
0x054ac0…054ae0             4b 2c 20 53 44 49 46 46 20 43 4f 4e 54 41 49 4e 53 20 49 4e 44 45 58 20 54 4f 20 42 44 4f 53 20   ┆K, SDIFF CONTAINS INDEX TO BDOS ┆
0x054ae0…054b00             53 45 52 49 41 4c 23 0d 0a 09 09 09 4c 48 4c 44 20 53 44 49 46 46 21 20 43 41 4c 4c 20 53 54 53   ┆SERIAL#     LHLD SDIFF! CALL STS┆
0x054b00…054b20             45 52 49 41 4c 0d 0a 09 4e 4f 53 45 52 3a 0d 0a 09 09 3b 54 52 41 43 4b 20 49 4e 20 4d 45 4d 4f   ┆ERIAL   NOSER:    ;TRACK IN MEMO┆
0x054b20…054b40             52 59 2c 20 43 48 45 43 4b 20 46 4f 52 20 4c 41 53 54 20 54 52 41 43 4b 0d 0a 09 09 4c 58 49 20   ┆RY, CHECK FOR LAST TRACK    LXI ┆
0x054b40…054b60             48 2c 49 42 55 46 46 21 20 4c 58 49 20 42 2c 54 52 4c 45 4e 0d 0a 09 09 54 52 43 4f 4d 50 3a 09   ┆H,IBUFF! LXI B,TRLEN    TRCOMP: ┆
0x054b60…054b80             4d 56 49 20 41 2c 30 45 35 48 21 20 43 4d 50 20 4d 21 20 4a 4e 5a 20 57 52 54 52 4b 0d 0a 09 09   ┆MVI A,0E5H! CMP M! JNZ WRTRK    ┆
0x054b80…054ba0             09 49 4e 58 20 48 21 20 44 43 58 20 42 21 20 4d 4f 56 20 41 2c 43 21 20 4f 52 41 20 42 21 20 4a   ┆ INX H! DCX B! MOV A,C! ORA B! J┆
0x054ba0…054bc0             4e 5a 20 54 52 43 4f 4d 50 0d 0a 09 09 3b 45 4e 44 20 4f 46 20 43 4f 50 59 2c 20 41 4c 4c 20 30   ┆NZ TRCOMP    ;END OF COPY, ALL 0┆
0x054bc0…054be0             45 35 48 27 53 0d 0a 09 09 4c 44 41 20 53 54 52 41 43 4b 21 20 4f 52 41 20 41 21 20 4a 5a 20 45   ┆E5H'S    LDA STRACK! ORA A! JZ E┆
0x054be0…054c00             4e 44 43 4f 50 59 0d 0a 09 09 09 3b 4e 4f 54 20 5a 45 52 4f 2c 20 43 4f 55 4c 44 20 4e 4f 54 20   ┆NDCOPY     ;NOT ZERO, COULD NOT ┆
0x054c00…054c20 (22, 1, 4)  c9 21 67 15 72 2b 73 2b 70 2b 71 21 68 15 36 01 3e 00 11 66 15 cd ea 14 b5 ca 72 07 2a 64 15 eb   ┆ !g r+s+p+q!h 6 >  f      r *d  ┆
0x054c20…054c40             2a 66 15 cd 7f 14 21 69 15 73 2a 64 15 eb cd 81 14 22 64 15 50 59 21 0a 00 cd 7f 14 eb 22 66 15   ┆*f    !i s*d     "d PY!      "f ┆
0x054c40…054c60             3e 00 cd d3 14 b5 c6 ff 9f 21 68 15 a6 23 f5 7e 93 d6 01 9f c1 48 a1 1f d2 61 07 cd ab 04 c3 6f   ┆>        !h  # ü     H   a     o┆
0x054c60…054c80             07 21 68 15 36 00 3a 69 15 c6 30 4f cd 90 04 c3 10 07 c9 21 6d 15 72 2b 73 2b 70 2b 71 2a 6c 15   ┆ !h 6 :i  0O       !m r+s+p+q*l ┆
0x054c80…054ca0             11 54 15 e5 cd 5a 14 eb e1 73 23 72 2a 6c 15 eb 01 00 04 cd e2 14 da b6 07 2a 6c 15 eb 01 00 04   ┆ T   Z   s#r*l           *l     ┆
0x054ca0…054cc0             cd e2 14 eb 2b 73 23 72 2a 6a 15 4e 23 46 03 2b 71 23 70 c3 8c 07 c9 21 6e 15 71 21 00 00 22 6f   ┆    +s#r*j N#F +q#p    !n q!  "o┆
0x054cc0…054ce0             15 22 71 15 7d 32 75 15 6f 26 00 22 73 15 01 05 00 2a 1e 15 09 eb 01 73 15 cd dd 14 da 0e 08 3a   ┆ "q å2u o& "s    *     s       :┆
0x054ce0…054d00             6e 15 1f d2 f1 07 2a 73 15 44 4d cd db 05 32 75 15 3a 75 15 1f da 01 08 11 71 15 01 6f 15 cd 73   ┆n     *s DM   2u :u      q  o  s┆
0x054d00…054d20             07 11 01 00 2a 73 15 19 22 73 15 d2 ce 07 2a 6f 15 c9 01 b9 01 cd d2 04 c9 01 c7 01 cd d2 04 cd   ┆    *s  "s    *o                ┆
0x054d20…054d40             8a 05 4f 06 00 11 0a 00 cd 01 07 01 d5 01 cd d2 04 21 76 15 36 00 3e 1f 21 76 15 be da 51 08 2a   ┆  O              !v 6 > !v   Q *┆
0x054d40…054d60             76 15 26 00 01 77 15 09 36 00 60 69 2b 34 c2 36 08 01 cf 29 cd 41 05 01 2a 01 cd 19 05 3a 27 15   ┆v &  w  6 `i+4 6   ) A  *    :' ┆
0x054d60…054d80             fe ff ca 93 08 3a 27 15 e6 03 87 87 87 87 87 4f 06 00 21 cf 29 09 7e 32 76 15 fe e5 ca 8d 08 3a   ┆     :'        O  ! ) ü2v      :┆
0x054d80…054da0             76 15 e6 1f 4f 06 00 21 77 15 09 36 01 cd 2c 05 c3 5d 08 21 76 15 36 00 3e 1f 21 76 15 be da c2   ┆v   O  !w  6  ,  Å !v 6 > !v    ┆
0x054da0…054dc0             08 2a 76 15 26 00 01 77 15 09 7e 1f d2 bb 08 2a 76 15 4d 06 00 11 0a 00 cd 01 07 21 76 15 34 c2   ┆ *v &  w  ü    *v M        !v 4 ┆
0x054dc0…054de0             98 08 c9 01 e3 01 cd d2 04 cd 38 05 c6 41 4f cd 90 04 0e 3a cd 90 04 01 e8 01 cd b1 04 2a 1e 15   ┆          8  AO    :         *  ┆
0x054de0…054e00             23 23 4e 21 01 00 cd bd 14 22 97 15 01 05 00 2a 1e 15 09 4e 23 46 03 2a 97 15 eb cd a0 14 22 99   ┆##N!     "     *   N#F *      " ┆
0x054e00…054e20 (22, 1, 5)  43 4f 50 49 45 44 0d 0a 09 4c 58 49 20 48 2c 43 4f 4d 4c 45 4e 21 20 4d 56 49 20 41 2c 35 21 20   ┆COPIED   LXI H,COMLEN! MVI A,5! ┆
0x054e20…054e40             53 55 42 20 4d 20 3b 44 49 46 46 45 52 45 4e 43 45 20 49 4e 20 52 45 47 2d 41 0d 0a 09 4c 58 49   ┆SUB M ;DIFFERENCE IN REG-A   LXI┆
0x054e40…054e60             20 48 2c 41 53 45 52 49 41 4c 21 20 4a 5a 20 50 41 44 31 20 3b 50 41 44 20 48 49 47 48 20 4f 52   ┆ H,ASERIAL! JZ PAD1 ;PAD HIGH OR┆
0x054e60…054e80             44 45 52 20 50 4f 53 49 54 49 4f 4e 53 20 57 49 54 48 20 30 0d 0a 09 50 41 44 30 3a 09 4d 56 49   ┆DER POSITIONS WITH 0   PAD0: MVI┆
0x054e80…054ea0             20 4d 2c 27 30 27 21 20 49 4e 58 20 48 21 20 44 43 52 20 41 21 20 4a 4e 5a 20 50 41 44 30 0d 0a   ┆ M,'0'! INX H! DCR A! JNZ PAD0  ┆
0x054ea0…054ec0             09 50 41 44 31 3a 09 4c 58 49 20 44 2c 43 42 55 46 46 20 3b 41 44 44 52 45 53 53 49 4e 47 20 42   ┆ PAD1: LXI D,CBUFF ;ADDRESSING B┆
0x054ec0…054ee0             55 46 46 45 52 0d 0a 09 50 41 44 32 3a 09 4c 44 41 58 20 44 21 20 4f 52 41 20 41 21 20 4a 5a 20   ┆UFFER   PAD2: LDAX D! ORA A! JZ ┆
0x054ee0…054f00             50 41 44 33 20 3b 4c 4f 4f 4b 49 4e 47 20 46 4f 52 20 42 49 4e 41 52 59 20 30 0d 0a 09 09 4d 4f   ┆PAD3 ;LOOKING FOR BINARY 0    MO┆
0x054f00…054f20             56 20 4d 2c 41 21 20 49 4e 58 20 48 21 20 49 4e 58 20 44 21 20 4a 4d 50 20 50 41 44 32 20 3b 46   ┆V M,A! INX H! INX D! JMP PAD2 ;F┆
0x054f20…054f40             4f 52 20 41 4e 4f 54 48 45 52 20 43 48 41 52 0d 0a 09 50 41 44 33 3a 09 3b 45 4e 44 20 4f 46 20   ┆OR ANOTHER CHAR   PAD3: ;END OF ┆
0x054f40…054f60             41 53 43 49 49 20 46 49 4c 4c 20 28 4e 4f 57 20 52 49 47 48 54 20 41 44 4a 55 53 54 45 44 20 49   ┆ASCII FILL (NOW RIGHT ADJUSTED I┆
0x054f60…054f80             4e 20 41 53 45 52 49 41 4c 29 0d 0a 3b 0d 0a 52 44 44 53 4b 3a 09 3b 52 45 41 44 20 44 49 53 4b   ┆N ASERIAL)  ;  RDDSK: ;READ DISK┆
0x054f80…054fa0             20 41 4e 44 20 43 4f 50 59 0d 0a 09 43 41 4c 4c 20 49 4e 53 4d 53 47 21 20 43 41 4c 4c 20 43 49   ┆ AND COPY   CALL INSMSG! CALL CI┆
0x054fa0…054fc0             20 3b 57 41 49 54 20 46 4f 52 20 52 45 53 50 4f 4e 53 45 0d 0a 3b 0d 0a 4e 45 58 54 44 49 53 4b   ┆ ;WAIT FOR RESPONSE  ;  NEXTDISK┆
0x054fc0…054fe0             3a 0d 0a 09 4d 56 49 20 41 2c 30 21 20 53 54 41 20 53 54 52 41 43 4b 20 3b 4d 41 52 4b 20 41 53   ┆:   MVI A,0! STA STRACK ;MARK AS┆
0x054fe0…055000             20 4d 4f 56 43 50 4d 2e 43 4f 4d 20 20 53 45 52 49 41 4c 49 5a 45 44 0d 0a 09 43 41 4c 4c 20 43   ┆ MOVCPM.COM  SERIALIZED   CALL C┆
0x055000…055020 (22, 1, 6)  58 20 48 21 20 44 43 58 20 42 21 20 4d 4f 56 20 41 2c 43 21 20 4f 52 41 20 42 0d 0a 09 09 4a 4e   ┆X H! DCX B! MOV A,C! ORA B    JN┆
0x055020…055040             5a 20 53 45 41 52 43 48 0d 0a 09 09 3b 4e 4f 54 20 46 4f 55 4e 44 0d 0a 09 09 43 41 4c 4c 20 42   ┆Z SEARCH    ;NOT FOUND    CALL B┆
0x055040…055060             41 44 44 53 4b 21 20 4a 4d 50 20 52 44 44 53 4b 0d 0a 09 3b 0d 0a 09 51 54 52 4b 33 3a 09 3b 49   ┆ADDSK! JMP RDDSK   ;   QTRK3: ;I┆
0x055060…055080             53 20 54 48 49 53 20 54 52 41 43 4b 20 4d 4f 56 54 52 4b 3f 20 49 46 20 53 4f 2c 20 4c 4f 4f 4b   ┆S THIS TRACK MOVTRK? IF SO, LOOK┆
0x055080…0550a0             20 46 4f 52 20 43 50 4d 2e 43 4f 4d 0d 0a 09 09 43 50 49 20 4d 4f 56 54 52 4b 21 20 4a 4e 5a 20   ┆ FOR CPM.COM    CPI MOVTRK! JNZ ┆
0x0550a0…0550c0             52 44 54 52 4b 4e 0d 0a 09 09 3b 4c 4f 4f 4b 20 46 4f 52 20 53 45 52 49 41 4c 20 4e 55 4d 42 45   ┆RDTRKN    ;LOOK FOR SERIAL NUMBE┆
0x0550c0…0550e0             52 0d 0a 09 09 4c 58 49 20 48 2c 30 21 20 4c 58 49 20 42 2c 54 52 4c 45 4e 20 3b 54 52 41 43 4b   ┆R    LXI H,0! LXI B,TRLEN ;TRACK┆
0x0550e0…055100             20 4c 45 4e 47 54 48 20 49 4e 20 42 2c 43 0d 0a 09 09 51 54 52 30 3a 20 50 55 53 48 20 48 21 20   ┆ LENGTH IN B,C    QTR0: PUSH H! ┆
0x055100…055120             50 55 53 48 20 42 20 3b 53 41 56 45 20 42 41 53 45 20 41 44 44 52 45 53 53 20 41 4e 44 20 4c 45   ┆PUSH B ;SAVE BASE ADDRESS AND LE┆
0x055120…055140             4e 47 54 48 0d 0a 09 09 09 4c 58 49 20 44 2c 43 4f 4d 50 41 52 45 21 20 4d 56 49 20 43 2c 43 4f   ┆NGTH     LXI D,COMPARE! MVI C,CO┆
0x055140…055160             4d 50 4c 45 4e 0d 0a 09 09 09 51 54 52 31 3a 20 3b 54 52 59 20 54 4f 20 4d 41 54 43 48 20 41 4e   ┆MPLEN     QTR1: ;TRY TO MATCH AN┆
0x055160…055180             4f 54 48 45 52 20 43 48 41 52 0d 0a 09 09 09 09 50 55 53 48 20 48 21 20 43 41 4c 4c 20 54 52 41   ┆OTHER CHAR      PUSH H! CALL TRA┆
0x055180…0551a0             4e 53 4c 41 54 45 21 20 4c 44 41 58 20 44 0d 0a 09 09 09 09 43 4d 41 21 20 43 4d 50 20 4d 21 20   ┆NSLATE! LDAX D      CMA! CMP M! ┆
0x0551a0…0551c0             3b 46 4c 41 47 53 20 53 45 54 20 49 46 20 45 51 55 41 4c 0d 0a 09 09 09 09 50 4f 50 20 48 21 20   ┆;FLAGS SET IF EQUAL      POP H! ┆
0x0551c0…0551e0             4a 4e 5a 20 4e 4f 4d 41 54 33 0d 0a 09 09 09 09 49 4e 58 20 48 21 20 49 4e 58 20 44 21 0d 0a 09   ┆JNZ NOMAT3      INX H! INX D!   ┆
0x0551e0…055200             09 09 09 50 55 53 48 20 48 21 20 43 41 4c 4c 20 54 52 41 4e 53 4c 41 54 45 21 20 4c 44 41 58 20   ┆   PUSH H! CALL TRANSLATE! LDAX ┆
0x055200…055220 (22, 1, 7)  31 ec 02 0e 10 11 6c 00 21 ac 02 1a 13 77 23 0d c2 0b 01 af 32 cc 02 11 5c 00 cd cb 01 11 f3 01   ┆1     l !    w#     2   Ø       ┆
0x055220…055240             3c cc b9 01 11 ed 02 3e 00 32 ab 02 d5 cd e9 01 11 5c 00 cd da 01 b7 c2 51 01 d1 21 80 00 19 eb   ┆<      > 2       Ø      Q  !    ┆
0x055240…055260             d5 cd e9 01 21 ab 02 11 4b 02 34 cc b9 01 c3 30 01 d1 11 58 02 cd ee 01 cd c1 01 11 02 00 cd c6   ┆    !   K 4    0   X            ┆
0x055260…055280             01 11 ac 02 cd d5 01 11 ac 02 cd e4 01 11 02 02 3c cc b9 01 11 ed 02 d5 cd e9 01 11 ac 02 cd df   ┆                <               ┆
0x055280…0552a0             01 11 15 02 b7 c4 b9 01 d1 21 80 00 19 eb d5 cd e9 01 21 ab 02 35 c2 7b 01 d1 11 ac 02 cd d0 01   ┆         !        !  5 æ        ┆
0x0552a0…0552c0             11 27 02 3c cc b9 01 11 84 02 cd ee 01 cd c1 01 11 01 00 cd c6 01 11 38 02 0e 09 cd 05 00 c3 00   ┆ ' <                   8        ┆
0x0552c0…0552e0             00 0e 01 c3 05 00 0e 25 c3 05 00 0e 0f c3 05 00 0e 10 c3 05 00 0e 13 c3 05 00 0e 14 c3 05 00 0e   ┆       %                        ┆
0x0552e0…055300             15 c3 05 00 0e 16 c3 05 00 0e 1a c3 05 00 0e 09 c3 05 00 4e 4f 20 53 4f 55 52 43 45 20 46 49 4c   ┆                   NO SOURCE FIL┆
0x055300…055320             45 24 4e 4f 20 44 49 52 45 43 54 4f 52 59 20 53 50 41 43 45 24 4f 55 54 20 4f 46 20 44 41 54 41   ┆E$NO DIRECTORY SPACE$OUT OF DATA┆
0x055320…055340             20 53 50 41 43 45 24 57 52 49 54 45 20 50 52 4f 54 45 43 54 45 44 3f 24 54 52 41 4e 53 46 45 52   ┆ SPACE$WRITE PROTECTED?$TRANSFER┆
0x055340…055360             20 43 4f 4d 50 4c 45 54 45 44 24 46 49 4c 45 20 54 4f 4f 20 42 49 47 24 49 4e 53 45 52 54 20 44   ┆ COMPLETED$FILE TOO BIG$INSERT D┆
0x055360…055380             45 53 54 49 4e 41 54 49 4f 4e 20 44 49 53 4b 20 41 4e 44 20 54 59 50 45 20 3c 52 45 54 55 52 4e   ┆ESTINATION DISK AND TYPE <RETURN┆
0x055380…0553a0             3e 0d 0a 24 49 4e 53 45 52 54 20 53 4f 55 52 43 45 20 44 49 53 4b 20 41 4e 44 20 54 59 50 45 20   ┆>  $INSERT SOURCE DISK AND TYPE ┆
0x0553a0…0553c0             3c 52 45 54 55 52 4e 3e 0d 0a 24 00 01 cd c1 01 11 01 00 cd c6 01 11 38 02 0e 09 cd 05 00 c3 00   ┆<RETURN>  $            8        ┆
0x0553c0…0553e0             00 0e 01 c3 05 00 0e 25 c3 05 00 0e 0f c3 05 00 0e 10 c3 05 00 0e 13 c3 05 00 0e 14 c3 05 00 0e   ┆       %                        ┆
0x0553e0…055400             15 c3 05 00 0e 16 c3 05 00 0e 1a c3 05 00 00 09 c3 05 00 4e 4f 20 53 4f 55 52 43 45 20 46 49 4c   ┆                   NO SOURCE FIL┆
0x055400…055420 (22, 1, 8)  46 49 4e 44 20 53 45 43 4f 4e 44 20 53 45 52 20 4e 55 4d 42 45 52 0d 0a 09 09 09 43 41 4c 4c 20   ┆FIND SECOND SER NUMBER     CALL ┆
0x055420…055440             42 41 44 43 4f 4d 21 20 4a 4d 50 20 52 44 44 53 4b 0d 0a 09 09 45 4e 44 43 4f 50 59 3a 0d 0a 09   ┆BADCOM! JMP RDDSK    ENDCOPY:   ┆
0x055440…055460             09 4c 58 49 20 44 2c 54 52 4d 53 47 21 20 43 41 4c 4c 20 50 52 4d 53 47 0d 0a 09 09 43 41 4c 4c   ┆ LXI D,TRMSG! CALL PRMSG    CALL┆
0x055460…055480             20 49 4e 43 53 45 52 49 41 4c 21 20 4a 4d 50 20 4e 45 58 54 44 49 53 4b 0d 0a 09 3b 0d 0a 09 3b   ┆ INCSERIAL! JMP NEXTDISK   ;   ;┆
0x055480…0554a0             4e 4f 54 20 45 4e 44 20 4f 46 20 43 4f 50 59 2c 20 57 52 49 54 45 20 54 52 41 43 4b 20 54 4f 20   ┆NOT END OF COPY, WRITE TRACK TO ┆
0x0554a0…0554c0             44 49 53 4b 20 46 52 4f 4d 20 49 42 55 46 46 0d 0a 09 57 52 54 52 4b 3a 09 43 41 4c 4c 20 57 52   ┆DISK FROM IBUFF   WRTRK: CALL WR┆
0x0554c0…0554e0             49 54 54 52 4b 0d 0a 09 09 4a 5a 20 57 52 4f 4b 21 20 43 41 4c 4c 20 57 52 49 54 45 30 4d 53 47   ┆ITTRK    JZ WROK! CALL WRITE0MSG┆
0x0554e0…055500             21 20 4a 4d 50 20 4e 45 58 54 44 49 53 4b 0d 0a 09 57 52 4f 4b 3a 0d 0a 09 09 3b 57 52 49 54 54   ┆! JMP NEXTDISK   WROK:    ;WRITT┆
0x055500…055520             45 4e 20 54 4f 20 44 49 53 4b 2c 20 4e 4f 57 20 52 45 41 44 20 49 54 20 42 41 43 4b 20 41 4e 44   ┆EN TO DISK, NOW READ IT BACK AND┆
0x055520…055540             20 43 4f 4d 50 41 52 45 0d 0a 09 09 4c 58 49 20 48 2c 4f 42 55 46 46 21 20 53 48 4c 44 20 42 55   ┆ COMPARE    LXI H,OBUFF! SHLD BU┆
0x055540…055560             46 46 41 21 20 43 41 4c 4c 20 52 45 52 45 41 44 0d 0a 09 09 09 4a 5a 20 52 45 41 44 31 4f 4b 21   ┆FFA! CALL REREAD     JZ READ1OK!┆
0x055560…055580             20 43 41 4c 4c 20 52 45 41 44 31 4d 53 47 21 20 4a 4d 50 20 4e 45 58 54 44 49 53 4b 0d 0a 09 09   ┆ CALL READ1MSG! JMP NEXTDISK    ┆
0x055580…0555a0             52 45 41 44 31 4f 4b 3a 0d 0a 09 09 4c 58 49 20 48 2c 49 42 55 46 46 21 20 4c 58 49 20 44 2c 4f   ┆READ1OK:    LXI H,IBUFF! LXI D,O┆
0x0555a0…0555c0             42 55 46 46 21 20 4c 58 49 20 42 2c 54 52 4c 45 4e 0d 0a 09 09 57 52 43 4f 4d 50 3a 20 4c 44 41   ┆BUFF! LXI B,TRLEN    WRCOMP: LDA┆
0x0555c0…0555e0             58 20 44 21 20 43 4d 50 20 4d 21 20 4a 4e 5a 20 57 52 45 52 52 0d 0a 09 09 09 49 4e 58 20 48 21   ┆X D! CMP M! JNZ WRERR     INX H!┆
0x0555e0…055600             20 49 4e 58 20 44 21 20 44 43 58 20 42 21 20 4d 4f 56 20 41 2c 43 21 20 4f 52 41 20 42 0d 0a 09   ┆ INX D! DCX B! MOV A,C! ORA B   ┆
0x055600…055620 (22, 1, 9)  55 52 4d 53 47 21 20 43 41 4c 4c 20 41 53 45 52 4d 53 47 21 20 43 41 4c 4c 20 4e 45 57 4d 53 47   ┆URMSG! CALL ASERMSG! CALL NEWMSG┆
0x055620…055640             21 20 43 41 4c 4c 20 43 49 0d 0a 09 3b 4e 45 57 20 44 49 53 4b 20 49 53 20 52 45 41 44 59 2c 20   ┆! CALL CI   ;NEW DISK IS READY, ┆
0x055640…055660             54 52 59 20 54 48 45 20 43 4f 50 59 20 4f 50 45 52 41 54 49 4f 4e 0d 0a 09 4c 58 49 20 48 2c 54   ┆TRY THE COPY OPERATION   LXI H,T┆
0x055660…055680             52 41 43 4b 21 20 4d 56 49 20 4d 2c 31 20 3b 43 4c 45 41 52 20 54 48 45 20 54 52 41 43 4b 20 4e   ┆RACK! MVI M,1 ;CLEAR THE TRACK N┆
0x055680…0556a0             55 4d 42 45 52 0d 0a 09 4c 58 49 20 48 2c 54 52 43 4f 55 4e 54 21 20 4d 56 49 20 4d 2c 27 30 27   ┆UMBER   LXI H,TRCOUNT! MVI M,'0'┆
0x0556a0…0556c0             21 20 49 4e 58 20 48 21 20 4d 56 49 20 4d 2c 27 30 27 0d 0a 3b 0d 0a 52 44 54 52 4b 3a 09 3b 52   ┆! INX H! MVI M,'0'  ;  RDTRK: ;R┆
0x0556c0…0556e0             45 41 44 20 54 48 45 20 4e 45 58 54 20 53 4f 55 52 43 45 20 54 52 41 43 4b 2c 20 43 4f 4d 50 41   ┆EAD THE NEXT SOURCE TRACK, COMPA┆
0x0556e0…055700             52 45 20 57 49 54 48 20 30 45 35 48 20 46 4f 52 20 45 4e 44 0d 0a 09 4c 58 49 20 48 2c 49 42 55   ┆RE WITH 0E5H FOR END   LXI H,IBU┆
0x055700…055720             46 46 21 20 53 48 4c 44 20 42 55 46 46 41 21 20 43 41 4c 4c 20 52 45 41 44 54 52 4b 0d 0a 09 09   ┆FF! SHLD BUFFA! CALL READTRK    ┆
0x055720…055740             4a 5a 20 52 45 41 44 4f 4b 21 20 43 41 4c 4c 20 52 45 41 44 30 4d 53 47 21 20 4a 4d 50 20 52 44   ┆JZ READOK! CALL READ0MSG! JMP RD┆
0x055740…055760             44 53 4b 0d 0a 09 52 45 41 44 4f 4b 3a 0d 0a 09 3b 54 52 41 43 4b 20 49 53 20 49 4e 20 4d 45 4d   ┆DSK   READOK:   ;TRACK IS IN MEM┆
0x055760…055780             4f 52 59 2c 20 54 52 41 43 4b 20 31 3f 0d 0a 09 4c 44 41 20 54 52 41 43 4b 21 20 43 50 49 20 31   ┆ORY, TRACK 1?   LDA TRACK! CPI 1┆
0x055780…0557a0             21 20 4a 4e 5a 20 51 54 52 4b 33 0d 0a 09 09 3b 54 52 41 43 4b 20 30 2c 20 4c 4f 4f 4b 20 46 4f   ┆! JNZ QTRK3    ;TRACK 0, LOOK FO┆
0x0557a0…0557c0             52 20 53 45 52 49 41 4c 20 4e 55 4d 42 45 52 0d 0a 09 09 4c 58 49 20 48 2c 43 43 50 56 21 20 4c   ┆R SERIAL NUMBER    LXI H,CCPV! L┆
0x0557c0…0557e0             58 49 20 42 2c 53 4c 45 4e 0d 0a 09 09 53 45 41 52 43 48 3a 09 50 55 53 48 20 48 21 20 50 55 53   ┆XI B,SLEN    SEARCH: PUSH H! PUS┆
0x0557e0…055800             48 20 42 21 20 4c 58 49 20 44 2c 43 4f 4d 50 41 52 45 21 20 4d 56 49 20 43 2c 43 4f 4d 50 4c 45   ┆H B! LXI D,COMPARE! MVI C,COMPLE┆
0x055800…055820 (22, 1, 10) 44 0d 0a 09 09 09 09 43 4d 41 21 20 43 4d 50 20 4d 21 20 50 4f 50 20 48 21 20 4a 4e 5a 20 4e 4f   ┆D      CMA! CMP M! POP H! JNZ NO┆
0x055820…055840             4d 41 54 33 0d 0a 09 09 09 09 3b 43 4f 4e 54 49 4e 55 45 20 54 4f 20 4d 41 54 43 48 0d 0a 09 09   ┆MAT3      ;CONTINUE TO MATCH    ┆
0x055840…055860             09 09 49 4e 58 20 48 21 20 49 4e 58 20 44 21 20 44 43 52 20 43 21 20 4a 4e 5a 20 51 54 52 31 0d   ┆  INX H! INX D! DCR C! JNZ QTR1 ┆
0x055860…055880             0a 09 09 09 3b 43 4f 4d 50 4c 45 54 45 20 4d 41 54 43 48 2c 20 46 49 4c 4c 20 53 45 52 49 41 4c   ┆    ;COMPLETE MATCH, FILL SERIAL┆
0x055880…0558a0             20 4e 55 4d 42 45 52 53 0d 0a 09 09 09 50 4f 50 20 42 21 20 50 4f 50 20 44 20 3b 54 4f 20 43 4c   ┆ NUMBERS     POP B! POP D ;TO CL┆
0x0558a0…0558c0             45 41 52 20 54 48 45 20 53 54 41 43 4b 0d 0a 09 09 09 50 55 53 48 20 48 20 3b 53 41 56 45 20 53   ┆EAR THE STACK     PUSH H ;SAVE S┆
0x0558c0…0558e0             4f 55 52 43 45 20 41 44 44 52 45 53 53 0d 0a 09 09 09 43 41 4c 4c 20 53 54 53 45 52 49 41 4c 20   ┆OURCE ADDRESS     CALL STSERIAL ┆
0x0558e0…055900             3b 53 45 52 49 41 4c 20 4e 55 4d 42 45 52 20 53 54 4f 52 45 44 0d 0a 09 09 09 50 4f 50 20 48 20   ┆;SERIAL NUMBER STORED     POP H ┆
0x055900…055920             3b 52 45 43 41 4c 4c 20 53 4f 55 52 43 45 20 41 44 44 52 45 53 53 0d 0a 09 09 09 58 43 48 47 21   ┆;RECALL SOURCE ADDRESS     XCHG!┆
0x055920…055940             20 4c 48 4c 44 20 53 44 49 46 46 21 20 44 41 44 20 44 20 3b 48 2c 4c 20 53 48 4f 55 4c 44 20 41   ┆ LHLD SDIFF! DAD D ;H,L SHOULD A┆
0x055940…055960             44 44 52 45 53 53 20 53 45 52 23 32 0d 0a 09 09 09 4d 4f 56 20 41 2c 4c 21 20 4f 52 41 20 41 21   ┆DDRESS SER#2     MOV A,L! ORA A!┆
0x055960…055980             20 4a 4e 5a 20 51 54 52 32 20 3b 4d 55 53 54 20 42 45 20 4c 4f 57 20 5a 45 52 4f 0d 0a 09 09 09   ┆ JNZ QTR2 ;MUST BE LOW ZERO     ┆
0x055980…0559a0             3b 53 45 54 55 50 20 53 54 52 41 43 4b 20 54 4f 20 53 45 52 49 41 4c 49 5a 45 20 57 48 45 4e 20   ┆;SETUP STRACK TO SERIALIZE WHEN ┆
0x0559a0…0559c0             50 52 4f 50 45 52 20 54 52 4b 20 46 4f 55 4e 44 0d 0a 09 09 09 58 43 48 47 21 20 4c 58 49 20 48   ┆PROPER TRK FOUND     XCHG! LXI H┆
0x0559c0…0559e0             2c 53 54 52 41 43 4b 20 3b 44 49 46 46 45 52 45 4e 43 45 20 49 4e 20 44 2c 45 0d 0a 09 09 09 4d   ┆,STRACK ;DIFFERENCE IN D,E     M┆
0x0559e0…055a00             56 49 20 4d 2c 30 20 3b 43 4f 55 4e 54 20 53 54 52 41 43 4b 20 55 50 20 46 4f 52 20 45 41 43 48   ┆VI M,0 ;COUNT STRACK UP FOR EACH┆
0x055a00…055a20 (22, 1, 11) 45 24 4e 4f 20 44 49 52 45 43 54 4f 52 59 20 53 50 41 43 45 24 4f 55 54 20 4f 46 20 44 41 54 41   ┆E$NO DIRECTORY SPACE$OUT OF DATA┆
0x055a20…055a40             20 53 50 41 43 45 24 57 52 49 54 45 20 50 52 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆ SPACE$WRITE PR                 ┆
0x055a40…055a60             00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
          […0x1…]
0x055a80…055aa0             01 11 15 02 b7 c4 b9 01 d1 21 80 00 19 eb d5 cd e9 01 21 a7 02 35 c2 7b 01 d1 11 a8 02 cd d0 01   ┆         !        !  5 æ        ┆
0x055aa0…055ac0             11 27 02 3c cc b9 01 11 82 02 cd ee 01 cd c1 01 11 01 00 cd c6 01 11 38 02 0e 09 cd 05 00 c3 00   ┆ ' <                   8        ┆
0x055ac0…055ae0             00 0e 01 c3 05 00 0e 25 c3 05 00 0e 0f c3 05 00 0e 10 c3 05 00 0e 13 c3 05 00 0e 14 c3 05 00 0e   ┆       %                        ┆
0x055ae0…055b00             15 c3 05 00 0e 16 c3 05 00 0e 1a c3 05 00 0e 09 c3 05 00 4e 4f 20 53 4f 55 52 43 45 20 46 49 4c   ┆                   NO SOURCE FIL┆
0x055b00…055b20             45 24 4e 4f 20 44 49 52 45 43 54 4f 52 59 20 53 50 41 43 45 24 4f 55 54 20 4f 46 20 44 41 54 41   ┆E$NO DIRECTORY SPACE$OUT OF DATA┆
0x055b20…055b40             20 53 50 41 43 45 24 57 52 49 54 45 20 50 52 4f 54 45 43 54 45 44 3f 24 54 52 41 4e 53 46 45 52   ┆ SPACE$WRITE PROTECTED?$TRANSFER┆
0x055b40…055b60             20 43 4f 4d 50 4c 45 54 45 44 24 46 49 4c 45 20 54 4f 4f 20 42 49 47 24 49 4e 53 45 52 54 20 44   ┆ COMPLETED$FILE TOO BIG$INSERT D┆
0x055b60…055b80             45 53 54 49 4e 41 54 49 4f 4e 20 44 49 53 4b 20 41 4e 44 20 54 59 50 45 20 3c 52 45 54 55 52 4e   ┆ESTINATION DISK AND TYPE <RETURN┆
0x055b80…055ba0             3e 24 49 4e 53 45 52 54 20 53 4f 55 52 43 45 20 44 49 53 4b 20 41 4e 44 20 54 59 50 45 20 3c 52   ┆>$INSERT SOURCE DISK AND TYPE <R┆
0x055ba0…055bc0             45 54 55 52 4e 3e 24 00 82 02 cd ee 01 cd c1 01 11 01 00 cd c6 01 11 38 02 0e 09 cd 05 00 c3 00   ┆ETURN>$                8        ┆
0x055bc0…055be0             00 0e 01 c3 05 00 0e 25 c3 05 00 0e 0f c3 05 00 0e 10 c3 05 00 0e 13 c3 05 00 0e 14 c3 05 00 0e   ┆       %                        ┆
0x055be0…055c00             15 c3 05 00 0e 16 c3 05 00 00 00 c3 05 00 0e 09 c3 05 00 4e 4f 20 53 4f 55 52 43 45 20 46 49 4c   ┆                   NO SOURCE FIL┆
0x055c00…055c20 (22, 1, 12) 09 09 4a 4e 5a 20 57 52 43 4f 4d 50 0d 0a 09 09 3b 43 4f 4d 50 41 52 45 20 57 45 4e 54 20 4f 4b   ┆  JNZ WRCOMP    ;COMPARE WENT OK┆
0x055c20…055c40             2c 20 49 4e 43 52 45 4d 45 4e 54 20 54 52 41 43 4b 20 43 4f 55 4e 54 20 41 4e 44 20 43 59 43 4c   ┆, INCREMENT TRACK COUNT AND CYCL┆
0x055c40…055c60             45 0d 0a 09 09 4c 58 49 20 48 2c 54 52 41 43 4b 21 20 49 4e 52 20 4d 0d 0a 09 09 4c 58 49 20 48   ┆E    LXI H,TRACK! INR M    LXI H┆
0x055c60…055c80             2c 54 52 43 4f 55 4e 54 2b 31 21 20 49 4e 52 20 4d 21 20 4d 4f 56 20 41 2c 4d 21 20 43 50 49 20   ┆,TRCOUNT+1! INR M! MOV A,M! CPI ┆
0x055c80…055ca0             27 39 27 2b 31 0d 0a 09 09 4a 43 20 52 44 54 52 4b 20 3b 4f 56 45 52 46 4c 4f 57 20 54 4f 20 48   ┆'9'+1    JC RDTRK ;OVERFLOW TO H┆
0x055ca0…055cc0             49 47 48 20 4f 52 44 45 52 20 54 52 41 43 4b 20 4e 55 4d 42 45 52 0d 0a 09 09 4d 56 49 20 4d 2c   ┆IGH ORDER TRACK NUMBER    MVI M,┆
0x055cc0…055ce0             27 30 27 21 20 44 43 58 20 48 21 20 49 4e 52 20 4d 21 20 4a 4d 50 20 52 44 54 52 4b 0d 0a 09 09   ┆'0'! DCX H! INR M! JMP RDTRK    ┆
0x055ce0…055d00             3b 0d 0a 09 57 52 45 52 52 3a 09 3b 56 45 52 49 46 59 20 45 52 52 4f 52 0d 0a 09 09 43 41 4c 4c   ┆;   WRERR: ;VERIFY ERROR    CALL┆
0x055d00…055d20             20 56 45 52 45 52 52 21 20 4a 4d 50 20 4e 45 58 54 44 49 53 4b 0d 0a 3b 0d 0a 3b 0d 0a 3b 09 55   ┆ VERERR! JMP NEXTDISK  ;  ;  ; U┆
0x055d20…055d40             54 49 4c 49 54 59 20 53 55 42 52 4f 55 54 49 4e 45 53 0d 0a 43 49 3a 09 4d 56 49 20 43 2c 43 4f   ┆TILITY SUBROUTINES  CI: MVI C,CO┆
0x055d40…055d60             4e 49 4e 21 20 4a 4d 50 20 42 44 4f 53 20 3b 52 45 41 44 20 41 20 43 48 41 52 41 43 54 45 52 0d   ┆NIN! JMP BDOS ;READ A CHARACTER ┆
0x055d60…055d80             0a 3b 0d 0a 50 52 4d 53 47 3a 09 4d 56 49 20 43 2c 50 42 55 46 46 21 20 4a 4d 50 20 42 44 4f 53   ┆ ;  PRMSG: MVI C,PBUFF! JMP BDOS┆
0x055d80…055da0             20 3b 50 52 49 4e 54 20 41 20 42 55 46 46 45 52 0d 0a 3b 0d 0a 52 44 45 52 52 3a 09 43 41 4c 4c   ┆ ;PRINT A BUFFER  ;  RDERR: CALL┆
0x055da0…055dc0             20 49 4e 56 41 4c 49 44 0d 0a 3b 0d 0a 52 45 41 44 3a 09 3b 52 45 41 44 20 43 4f 4e 53 54 41 4e   ┆ INVALID  ;  READ: ;READ CONSTAN┆
0x055dc0…055de0             54 20 56 41 4c 55 45 20 54 4f 20 42 2c 43 0d 0a 09 4c 58 49 20 44 2c 4d 41 58 4c 45 4e 21 20 4d   ┆T VALUE TO B,C   LXI D,MAXLEN! M┆
0x055de0…055e00             56 49 20 43 2c 52 44 42 55 46 46 21 20 43 41 4c 4c 20 42 44 4f 53 20 3b 42 55 46 46 45 52 20 46   ┆VI C,RDBUFF! CALL BDOS ;BUFFER F┆
0x055e00…055e20 (22, 1, 13) 4e 0d 0a 09 09 43 4f 4d 50 30 3a 09 4c 44 41 58 20 44 21 20 43 4d 41 21 20 43 4d 50 20 4d 21 20   ┆N    COMP0: LDAX D! CMA! CMP M! ┆
0x055e20…055e40             4a 4e 5a 20 4e 4f 4d 41 54 43 48 0d 0a 09 09 09 49 4e 58 20 48 21 20 49 4e 58 20 44 21 20 4c 44   ┆JNZ NOMATCH     INX H! INX D! LD┆
0x055e40…055e60             41 58 20 44 21 20 43 4d 41 21 20 43 4d 50 20 4d 21 20 4a 4e 5a 20 4e 4f 4d 41 54 43 48 0d 0a 09   ┆AX D! CMA! CMP M! JNZ NOMATCH   ┆
0x055e60…055e80             09 09 49 4e 58 20 48 21 20 49 4e 58 20 44 21 20 44 43 52 20 43 21 20 4a 4e 5a 20 43 4f 4d 50 30   ┆  INX H! INX D! DCR C! JNZ COMP0┆
0x055e80…055ea0             0d 0a 09 09 3b 4d 41 54 43 48 20 43 4f 4d 50 4c 45 54 45 2c 20 57 45 20 48 41 56 45 20 46 4f 55   ┆    ;MATCH COMPLETE, WE HAVE FOU┆
0x055ea0…055ec0             4e 44 20 54 48 45 20 53 45 52 49 41 4c 20 4e 55 4d 42 45 52 0d 0a 09 09 50 4f 50 20 42 21 20 50   ┆ND THE SERIAL NUMBER    POP B! P┆
0x055ec0…055ee0             4f 50 20 44 20 3b 43 4c 45 41 52 53 20 53 54 41 43 4b 0d 0a 09 09 50 55 53 48 20 48 20 3b 53 41   ┆OP D ;CLEARS STACK    PUSH H ;SA┆
0x055ee0…055f00             56 45 20 41 20 43 4f 50 59 20 4f 46 20 54 48 45 20 53 54 41 52 54 20 41 44 44 52 45 53 53 20 4f   ┆VE A COPY OF THE START ADDRESS O┆
0x055f00…055f20             46 20 54 48 45 20 53 45 52 20 23 0d 0a 09 09 78 63 68 67 20 21 20 6c 68 6c 64 20 4f 52 49 47 49   ┆F THE SER #    xchg ! lhld ORIGI┆
0x055f20…055f40             4e 21 20 78 63 68 67 21 20 4d 4f 56 20 4d 2c 65 20 3b 20 6c 6f 77 20 62 79 74 65 28 6f 72 69 67   ┆N! xchg! MOV M,e ; low byte(orig┆
0x055f40…055f60             69 6e 29 0d 0a 09 09 49 4e 58 20 48 21 20 4d 56 49 20 4d 2c 56 45 52 53 49 4f 4e 20 3b 56 45 52   ┆in)    INX H! MVI M,VERSION ;VER┆
0x055f60…055f80             53 49 4f 4e 20 4e 55 4d 42 45 52 20 49 4e 20 42 49 4e 41 52 59 0d 0a 09 09 69 6e 78 20 68 21 20   ┆SION NUMBER IN BINARY    inx h! ┆
0x055f80…055fa0             6d 6f 76 20 6d 2c 64 20 3b 20 68 69 67 68 20 62 79 74 65 28 6f 72 69 67 69 6e 29 0d 0a 09 09 09   ┆mov m,d ; high byte(origin)     ┆
0x055fa0…055fc0             49 4e 58 20 48 21 20 4d 76 69 20 4d 2c 30 20 3b 20 6e 65 78 74 20 62 79 74 65 20 7a 65 72 6f 65   ┆INX H! Mvi M,0 ; next byte zeroe┆
0x055fc0…055fe0             64 20 28 6e 6f 74 20 75 73 65 64 20 79 65 74 29 0d 0a 09 09 09 49 4e 58 20 48 20 3b 52 45 41 44   ┆d (not used yet)     INX H ;READ┆
0x055fe0…056000             59 20 54 4f 20 41 43 43 45 50 54 20 54 48 45 20 53 45 52 49 41 4c 20 4e 55 4d 42 45 52 0d 0a 09   ┆Y TO ACCEPT THE SERIAL NUMBER   ┆
0x056000…056020 (22, 1, 14) 20 54 52 41 43 4b 20 53 49 5a 45 0d 0a 09 09 09 44 4c 4f 4f 50 3a 20 49 4e 52 20 4d 20 3b 53 54   ┆ TRACK SIZE     DLOOP: INR M ;ST┆
0x056020…056040             52 41 43 4b 20 3d 20 53 54 52 41 43 4b 20 2b 20 31 0d 0a 09 09 09 09 4d 4f 56 20 41 2c 45 21 20   ┆RACK = STRACK + 1      MOV A,E! ┆
0x056040…056060             53 55 49 20 28 32 36 2a 31 32 38 29 20 41 4e 44 20 30 46 46 48 0d 0a 09 09 09 09 4d 4f 56 20 42   ┆SUI (26*128) AND 0FFH      MOV B┆
0x056060…056080             2c 41 20 3b 53 41 56 45 20 4c 4f 57 20 4f 52 44 45 52 20 44 49 46 46 45 52 45 4e 43 45 0d 0a 09   ┆,A ;SAVE LOW ORDER DIFFERENCE   ┆
0x056080…0560a0             09 09 09 4d 4f 56 20 41 2c 44 21 20 53 42 49 20 28 32 36 2a 31 32 38 29 20 53 48 52 20 38 0d 0a   ┆   MOV A,D! SBI (26*128) SHR 8  ┆
0x0560a0…0560c0             09 09 09 09 4a 43 20 45 44 4c 4f 4f 50 20 3b 43 41 52 52 59 20 49 46 20 54 4f 4f 20 4d 41 4e 59   ┆    JC EDLOOP ;CARRY IF TOO MANY┆
0x0560c0…0560e0             20 53 55 42 54 52 41 43 54 53 0d 0a 09 09 09 09 4d 4f 56 20 44 2c 41 21 20 4d 4f 56 20 45 2c 42   ┆ SUBTRACTS      MOV D,A! MOV E,B┆
0x0560e0…056100             20 3b 52 45 53 45 54 20 54 4f 20 4c 4f 57 45 52 20 56 41 4c 55 45 0d 0a 09 09 09 09 4a 4d 50 20   ┆ ;RESET TO LOWER VALUE      JMP ┆
0x056100…056120             44 4c 4f 4f 50 0d 0a 09 09 09 45 44 4c 4f 4f 50 3a 09 3b 44 2c 45 20 43 4f 4e 54 41 49 4e 20 4f   ┆DLOOP     EDLOOP: ;D,E CONTAIN O┆
0x056120…056140             46 46 53 45 54 20 49 4e 54 4f 20 54 52 41 43 4b 20 53 54 52 41 43 4b 0d 0a 09 09 09 09 58 43 48   ┆FFSET INTO TRACK STRACK      XCH┆
0x056140…056160             47 21 20 53 48 4c 44 20 53 44 49 46 46 0d 0a 09 09 09 4a 4d 50 20 52 44 54 52 4b 4e 0d 0a 09 09   ┆G! SHLD SDIFF     JMP RDTRKN    ┆
0x056160…056180             09 4e 4f 4d 41 54 33 3a 09 3b 4e 4f 20 4d 41 54 43 48 20 4f 4e 20 43 55 52 52 45 4e 54 20 53 54   ┆ NOMAT3: ;NO MATCH ON CURRENT ST┆
0x056180…0561a0             52 49 4e 47 0d 0a 09 09 09 50 4f 50 20 42 21 20 50 4f 50 20 48 21 20 49 4e 58 20 48 21 20 44 43   ┆RING     POP B! POP H! INX H! DC┆
0x0561a0…0561c0             58 20 42 0d 0a 09 09 09 4d 4f 56 20 41 2c 42 21 20 4f 52 41 20 43 21 20 4a 4e 5a 20 51 54 52 30   ┆X B     MOV A,B! ORA C! JNZ QTR0┆
0x0561c0…0561e0             20 3b 46 4f 52 20 41 4e 4f 54 48 45 52 20 53 43 41 4e 0d 0a 09 09 09 3b 4e 4f 54 20 46 4f 55 4e   ┆ ;FOR ANOTHER SCAN     ;NOT FOUN┆
0x0561e0…056200             44 0d 0a 09 09 51 54 52 32 3a 09 43 41 4c 4c 20 42 41 44 43 4f 4d 21 20 4a 4d 50 20 52 44 44 53   ┆D    QTR2: CALL BADCOM! JMP RDDS┆
0x056200…056220 (22, 1, 15) 0e 0e cd 4c 14 c9 21 2a 15 70 2b 71 2a 29 15 eb 0e 0f cd 4f 14 32 27 15 c9 21 2c 15 70 2b 71 2a   ┆   L  !* p+q*)     O 2'  !, p+q*┆
0x056220…056240             2b 15 eb 0e 11 cd 4f 14 32 27 15 c9 11 00 00 0e 12 cd 4f 14 32 27 15 c9 11 00 00 0e 19 cd 4f 14   ┆+     O 2'        O 2'        O ┆
0x056240…056260             c9 21 2e 15 70 2b 71 2a 2d 15 eb 0e 1a cd 4c 14 c9 11 00 00 0e 1b cd 52 14 c9 11 00 00 0e 18 cd   ┆ !. p+q*-     L        R        ┆
0x056260…056280             52 14 c9 11 00 00 0e 1c cd 4c 14 c9 11 00 00 0e 1d cd 52 14 c9 11 5c 00 0e 1e cd 4c 14 c9 11 00   ┆R        L        R   Ø    L    ┆
0x056280…0562a0             00 0e 1f cd 52 14 22 1e 15 c9 11 ff 00 0e 20 cd 4f 14 c9 21 2f 15 71 2a 2f 15 26 00 eb 0e 20 cd   ┆    R "         O  !/ q*/ &     ┆
0x0562a0…0562c0             4c 14 c9 21 31 15 70 2b 71 2a 30 15 eb 0e 23 cd 4c 14 c9 cd 7e 05 2a 1e 15 23 23 4e 21 01 00 cd   ┆L  !1 p+q*0   # L   ü *  ##N!   ┆
0x0562c0…0562e0             bd 14 11 80 00 cd 9e 14 22 54 15 c9 21 56 15 71 2a 56 15 4d cd f6 04 cd b3 05 c9 21 58 15 70 2b   ┆        "T  !V q*V M       !X p+┆
0x0562e0…056300             71 0e 03 21 57 15 cd c3 14 eb 2a 20 15 19 3e 07 11 57 15 e5 cd 72 14 23 4d e1 cd b2 14 c9 21 5f   ┆q  !W     *   >  W   r #M     !_┆
0x056300…056320             15 70 2b 71 21 60 15 36 00 3e 03 21 60 15 be da 36 06 2a 60 15 26 00 eb 2a 5e 15 19 e5 2a 60 15   ┆ p+q!` 6 > !`   6 *` &  *^   *` ┆
0x056320…056340             26 00 01 59 15 09 d1 1a be ca 2f 06 3e 00 c9 21 60 15 34 c2 09 06 3e 01 c9 2a 5d 15 26 00 01 80   ┆&  Y      / >  !` 4   >  *Å &   ┆
0x056340…056360             00 09 7e fe 20 c2 4f 06 21 5d 15 34 c3 39 06 21 61 15 36 00 3a 61 15 fe 04 d2 e6 06 2a 5d 15 26   ┆  ü   O !Å 4 9 !a 6 :a      *Å &┆
0x056360…056380             00 01 80 00 09 7e 32 62 15 4f 3e 01 b9 d2 7a 06 2a 62 15 4d cd eb 06 c3 7f 06 0e 20 cd eb 06 3e   ┆     ü2b O>   z *b M           >┆
0x056380…0563a0             01 21 62 15 96 9f 2f f5 7e d6 2c d6 01 9f c1 48 b1 f5 7e d6 3a d6 01 9f c1 48 b1 f5 7e d6 2a d6   ┆ !b   / ü ,    H  ü :    H  ü * ┆
0x0563a0…0563c0             01 9f c1 48 b1 f5 7e d6 2e d6 01 9f c1 48 b1 f5 7e d6 3e d6 01 9f c1 48 b1 f5 7e d6 3c d6 01 9f   ┆   H  ü .    H  ü >    H  ü <   ┆
0x0563c0…0563e0             c1 48 b1 f5 7e d6 3d d6 01 9f c1 48 b1 1f d2 df 06 2a 5d 15 26 00 01 80 00 09 36 01 c3 e3 06 21   ┆ H  ü =    H     *Å &     6    !┆
0x0563e0…056400             5d 15 34 c3 54 06 21 5d 15 34 c9 21 63 15 71 2a 61 15 26 00 01 59 15 09 3a 63 15 77 21 61 15 34   ┆Å 4 T !Å 4 !c q*a &  Y  :c w!a 4┆
0x056400…056420 (23, 0, 1)  49 4c 4c 45 44 0d 0a 09 4c 58 49 20 48 2c 43 4f 4d 4c 45 4e 21 20 4d 4f 56 20 41 2c 4d 21 20 4f   ┆ILLED   LXI H,COMLEN! MOV A,M! O┆
0x056420…056440             52 41 20 41 21 20 4a 5a 20 52 44 45 52 52 20 3b 4e 4f 4e 20 5a 45 52 4f 20 4c 45 4e 47 54 48 0d   ┆RA A! JZ RDERR ;NON ZERO LENGTH ┆
0x056440…056460             0a 09 49 4e 58 20 48 21 20 4d 4f 56 20 45 2c 41 21 20 4d 56 49 20 44 2c 30 21 20 44 41 44 20 44   ┆  INX H! MOV E,A! MVI D,0! DAD D┆
0x056460…056480             20 3b 48 2c 4c 20 41 44 44 52 45 53 53 20 4c 41 53 54 20 50 4f 53 2b 31 0d 0a 09 4d 56 49 20 4d   ┆ ;H,L ADDRESS LAST POS+1   MVI M┆
0x056480…0564a0             2c 30 20 3b 43 4c 45 41 52 45 44 20 46 4f 52 20 45 4e 44 20 4f 46 20 53 43 41 4e 0d 0a 09 4c 58   ┆,0 ;CLEARED FOR END OF SCAN   LX┆
0x0564a0…0564c0             49 20 48 2c 43 42 55 46 46 21 20 4c 58 49 20 42 2c 30 0d 0a 09 43 4f 4e 56 3a 09 4d 4f 56 20 41   ┆I H,CBUFF! LXI B,0   CONV: MOV A┆
0x0564c0…0564e0             2c 4d 21 20 4f 52 41 20 41 21 20 52 5a 20 3b 52 45 54 55 52 4e 20 49 46 20 45 4e 44 20 4f 46 20   ┆,M! ORA A! RZ ;RETURN IF END OF ┆
0x0564e0…056500             43 4f 4e 56 45 52 54 0d 0a 09 09 53 55 49 20 27 30 27 21 20 43 50 49 20 31 30 21 20 4a 4e 43 20   ┆CONVERT    SUI '0'! CPI 10! JNC ┆
0x056500…056520             52 44 45 52 52 0d 0a 09 09 50 55 53 48 20 48 21 20 50 55 53 48 20 42 21 20 50 4f 50 20 48 20 3b   ┆RDERR    PUSH H! PUSH B! POP H ;┆
0x056520…056540             42 2c 43 20 43 4f 50 49 45 44 20 54 4f 20 48 2c 4c 0d 0a 09 09 44 41 44 20 48 21 20 44 41 44 20   ┆B,C COPIED TO H,L    DAD H! DAD ┆
0x056540…056560             48 21 20 44 41 44 20 48 21 20 44 41 44 20 42 21 20 44 41 44 20 42 0d 0a 09 09 50 55 53 48 20 48   ┆H! DAD H! DAD B! DAD B    PUSH H┆
0x056560…056580             21 20 50 4f 50 20 42 21 20 50 4f 50 20 48 20 3b 42 43 3d 42 43 2a 31 30 0d 0a 09 09 49 4e 58 20   ┆! POP B! POP H ;BC=BC*10    INX ┆
0x056580…0565a0             48 21 20 41 44 44 20 43 21 20 4d 4f 56 20 43 2c 41 21 20 4d 56 49 20 41 2c 30 21 20 41 44 43 20   ┆H! ADD C! MOV C,A! MVI A,0! ADC ┆
0x0565a0…0565c0             42 21 20 4d 4f 56 20 42 2c 41 0d 0a 09 09 4a 43 20 52 44 45 52 52 21 20 4a 4d 50 20 43 4f 4e 56   ┆B! MOV B,A    JC RDERR! JMP CONV┆
0x0565c0…0565e0             20 3b 54 45 53 54 45 44 20 46 4f 52 20 4f 56 45 52 46 4c 4f 57 0d 0a 09 3b 0d 0a 49 4e 43 53 45   ┆ ;TESTED FOR OVERFLOW   ;  INCSE┆
0x0565e0…056600             52 49 41 4c 3a 0d 0a 09 3b 49 4e 43 52 45 4d 45 4e 54 20 54 48 45 20 53 45 52 49 41 4c 20 4e 55   ┆RIAL:   ;INCREMENT THE SERIAL NU┆
0x056600…056620 (23, 0, 2)  0a 09 4c 44 41 58 20 44 21 20 43 41 4c 4c 20 53 54 42 59 54 45 0d 0a 09 44 43 58 20 44 20 3b 41   ┆  LDAX D! CALL STBYTE   DCX D ;A┆
0x056620…056640             44 44 52 45 53 53 20 4c 4f 57 20 4f 52 44 45 52 20 42 59 54 45 0d 0a 09 4c 44 41 58 20 44 21 20   ┆DDRESS LOW ORDER BYTE   LDAX D! ┆
0x056640…056660             43 41 4c 4c 20 53 54 42 59 54 45 0d 0a 09 52 45 54 0d 0a 3b 0d 0a 3b 0d 0a 3b 09 50 52 49 4e 54   ┆CALL STBYTE   RET  ;  ;  ; PRINT┆
0x056660…056680             20 53 54 52 49 4e 47 53 0d 0a 49 4e 53 4d 53 47 3a 0d 0a 09 4c 58 49 20 44 2c 24 2b 36 21 20 4a   ┆ STRINGS  INSMSG:   LXI D,$+6! J┆
0x056680…0566a0             4d 50 20 50 52 4d 53 47 0d 0a 09 44 42 20 43 52 2c 4c 46 2c 27 49 4e 53 45 52 54 20 43 4f 4e 54   ┆MP PRMSG   DB CR,LF,'INSERT CONT┆
0x0566a0…0566c0             52 4f 4c 20 44 49 53 4b 45 54 54 45 20 49 4e 20 41 2c 20 54 59 50 45 20 52 45 54 55 52 4e 24 27   ┆ROL DISKETTE IN A, TYPE RETURN$'┆
0x0566c0…0566e0             0d 0a 3b 0d 0a 4f 52 47 4d 53 47 3a 0d 0a 09 4c 58 49 20 44 2c 24 2b 36 21 20 4a 4d 50 20 50 52   ┆  ;  ORGMSG:   LXI D,$+6! JMP PR┆
0x0566e0…056700             4d 53 47 0d 0a 09 44 42 20 43 52 2c 4c 46 2c 27 43 50 2f 4d 20 56 45 52 20 27 0d 0a 09 44 42 20   ┆MSG   DB CR,LF,'CP/M VER '   DB ┆
0x056700…056720             56 45 52 53 49 4f 4e 2f 31 30 2b 27 30 27 2c 27 2e 27 2c 56 45 52 53 49 4f 4e 20 4d 4f 44 20 31   ┆VERSION/10+'0','.',VERSION MOD 1┆
0x056720…056740             30 20 2b 27 30 27 0d 0a 09 44 42 20 27 20 53 45 52 49 41 4c 49 5a 41 54 49 4f 4e 2c 27 2c 43 52   ┆0 +'0'   DB ' SERIALIZATION,',CR┆
0x056740…056760             2c 4c 46 0d 0a 09 44 42 20 27 4f 52 49 47 49 4e 20 4e 55 4d 42 45 52 3f 20 24 27 0d 0a 3b 0d 0a   ┆,LF   DB 'ORIGIN NUMBER? $'  ;  ┆
0x056760…056780             53 45 52 4d 53 47 3a 0d 0a 09 4c 58 49 20 44 2c 24 2b 36 21 20 4a 4d 50 20 50 52 4d 53 47 0d 0a   ┆SERMSG:   LXI D,$+6! JMP PRMSG  ┆
0x056780…0567a0             09 44 42 20 43 52 2c 4c 46 2c 27 53 54 41 52 54 49 4e 47 20 53 45 52 49 41 4c 20 4e 55 4d 42 45   ┆ DB CR,LF,'STARTING SERIAL NUMBE┆
0x0567a0…0567c0             52 3f 20 24 27 0d 0a 3b 0d 0a 49 4e 56 41 4c 49 44 3a 0d 0a 09 4c 58 49 20 44 2c 24 2b 36 21 20   ┆R? $'  ;  INVALID:   LXI D,$+6! ┆
0x0567c0…0567e0             4a 4d 50 20 50 52 4d 53 47 0d 0a 09 44 42 20 43 52 2c 4c 46 2c 27 49 4e 56 41 4c 49 44 20 4e 55   ┆JMP PRMSG   DB CR,LF,'INVALID NU┆
0x0567e0…056800             4d 42 45 52 2c 20 54 52 59 20 41 47 41 49 4e 20 24 27 0d 0a 3b 0d 0a 43 55 52 4d 53 47 3a 0d 0a   ┆MBER, TRY AGAIN $'  ;  CURMSG:  ┆
0x056800…056820 (23, 0, 3)  53 54 41 43 4b 0d 0a 53 54 41 43 4b 3a 0d 0a 53 50 54 3a 09 44 53 09 31 0d 0a 54 52 4c 45 4e 09   ┆STACK  STACK:  SPT: DS 1  TRLEN ┆
0x056820…056840             45 51 55 09 31 32 30 2a 31 32 38 09 3b 42 55 46 46 45 52 20 53 49 5a 45 0d 0a 49 42 55 46 46 3a   ┆EQU 120*128 ;BUFFER SIZE  IBUFF:┆
0x056840…056860             09 44 53 09 54 52 4c 45 4e 0d 0a 4f 42 55 46 46 3a 09 44 53 09 54 52 4c 45 4e 0d 0a 43 43 50 56   ┆ DS TRLEN  OBUFF: DS TRLEN  CCPV┆
0x056860…056880             09 45 51 55 09 49 42 55 46 46 2b 4f 46 46 53 45 54 0d 0a 42 44 4f 53 56 09 45 51 55 09 49 42 55   ┆ EQU IBUFF+OFFSET  BDOSV EQU IBU┆
0x056880…0568a0             46 46 2b 28 42 44 4f 53 42 2d 43 43 50 42 29 2b 4f 46 46 53 45 54 0d 0a 09 45 4e 44 09 54 50 41   ┆FF+(BDOSB-CCPB)+OFFSET   END TPA┆
0x0568a0…0568c0             0d 0a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a   ┆                                ┆
0x0568c0…0568e0             1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a   ┆                                ┆
          […0x1…]
0x056900…056920             09 44 53 09 31 09 3b 53 45 52 49 41 4c 49 5a 45 20 54 52 41 43 4b 20 46 4f 52 20 43 50 4d 2e 43   ┆ DS 1 ;SERIALIZE TRACK FOR CPM.C┆
0x056920…056940             4f 4d 20 46 49 4c 45 20 57 48 45 4e 20 45 4e 43 4f 55 4e 54 45 52 45 44 0d 0a 53 44 49 46 46 3a   ┆OM FILE WHEN ENCOUNTERED  SDIFF:┆
0x056940…056960             09 44 53 09 32 09 3b 44 49 46 46 45 52 45 4e 43 45 20 42 45 54 57 45 45 4e 20 54 57 4f 20 53 45   ┆ DS 2 ;DIFFERENCE BETWEEN TWO SE┆
0x056960…056980             52 49 41 4c 20 4e 55 4d 42 45 52 20 41 44 44 52 45 53 53 45 53 0d 0a 3b 09 53 45 43 54 4f 52 20   ┆RIAL NUMBER ADDRESSES  ; SECTOR ┆
0x056980…0569a0             54 52 41 4e 53 4c 41 54 49 4f 4e 20 56 45 43 54 4f 52 0d 0a 54 52 41 4e 3a 09 44 42 09 31 2c 37   ┆TRANSLATION VECTOR  TRAN: DB 1,7┆
0x0569a0…0569c0             2c 31 33 2c 31 39 2c 20 32 35 2c 35 2c 31 31 2c 31 37 0d 0a 09 44 42 09 32 33 2c 33 2c 39 2c 31   ┆,13,19, 25,5,11,17   DB 23,3,9,1┆
0x0569c0…0569e0             35 2c 20 32 31 2c 32 2c 38 2c 31 34 0d 0a 09 44 42 09 32 30 2c 32 36 2c 36 2c 31 32 2c 20 31 38   ┆5, 21,2,8,14   DB 20,26,6,12, 18┆
0x0569e0…056a00             2c 32 34 2c 34 2c 31 30 0d 0a 09 44 42 09 31 36 2c 32 32 0d 0a 3b 0d 0a 09 44 53 09 33 32 09 3b   ┆,24,4,10   DB 16,22  ;   DS 32 ;┆
0x056a00…056a20 (23, 0, 4)  4f 46 49 4c 45 3a 09 44 42 09 27 4e 4f 20 53 4f 55 52 43 45 20 46 49 4c 45 27 2c 31 33 2c 31 30   ┆OFILE: DB 'NO SOURCE FILE',13,10┆
0x056a20…056a40             2c 33 36 0d 0a 4e 4f 44 49 52 3a 09 44 42 09 27 4e 4f 20 44 49 52 45 43 54 4f 52 59 20 53 50 41   ┆,36  NODIR: DB 'NO DIRECTORY SPA┆
0x056a40…056a60             43 45 27 2c 31 33 2c 31 30 2c 33 36 0d 0a 53 50 41 43 45 3a 09 44 42 09 27 4f 55 54 20 4f 46 20   ┆CE',13,10,36  SPACE: DB 'OUT OF ┆
0x056a60…056a80             44 41 54 41 20 53 50 41 43 45 27 2c 31 33 2c 31 30 2c 33 36 0d 0a 57 52 50 52 4f 54 3a 20 44 42   ┆DATA SPACE',13,10,36  WRPROT: DB┆
0x056a80…056aa0             09 27 57 52 49 54 45 20 50 52 4f 54 45 43 54 45 44 3f 27 2c 31 33 2c 31 30 2c 33 36 0d 0a 4e 4f   ┆ 'WRITE PROTECTED?',13,10,36  NO┆
0x056aa0…056ac0             52 4d 41 4c 3a 20 44 42 09 27 54 52 41 4e 53 46 45 52 20 43 4f 4d 50 4c 45 54 45 44 27 2c 31 33   ┆RMAL: DB 'TRANSFER COMPLETED',13┆
0x056ac0…056ae0             2c 31 30 2c 33 36 0d 0a 54 4f 4f 42 49 47 3a 09 44 42 09 27 46 49 4c 45 20 54 4f 4f 20 42 49 47   ┆,10,36  TOOBIG: DB 'FILE TOO BIG┆
0x056ae0…056b00             27 2c 31 33 2c 31 30 2c 33 36 0d 0a 53 57 4f 50 53 3a 09 44 42 09 27 49 4e 53 45 52 54 20 44 45   ┆',13,10,36  SWOPS: DB 'INSERT DE┆
0x056b00…056b20             53 54 49 4e 41 54 49 4f 4e 20 44 49 53 4b 20 41 4e 44 20 54 59 50 45 20 3c 52 45 54 55 52 4e 3e   ┆STINATION DISK AND TYPE <RETURN>┆
0x056b20…056b40             27 2c 31 33 2c 31 30 2c 33 36 0d 0a 53 57 4f 50 44 3a 20 20 44 42 09 27 49 4e 53 45 52 54 20 53   ┆',13,10,36  SWOPD:  DB 'INSERT S┆
0x056b40…056b60             4f 55 52 43 45 20 44 49 53 4b 20 41 4e 44 20 54 59 50 45 20 3c 52 45 54 55 52 4e 3e 27 2c 31 33   ┆OURCE DISK AND TYPE <RETURN>',13┆
0x056b60…056b80             2c 31 30 2c 33 36 0d 0a 53 57 4f 50 59 3a 20 20 44 42 09 27 49 4e 53 45 52 54 20 53 59 53 54 45   ┆,10,36  SWOPY:  DB 'INSERT SYSTE┆
0x056b80…056ba0             4d 20 44 49 53 4b 20 41 4e 44 20 54 59 50 45 20 3c 52 45 54 55 52 4e 3e 27 2c 31 33 2c 31 30 2c   ┆M DISK AND TYPE <RETURN>',13,10,┆
0x056ba0…056bc0             33 36 0d 0a 0d 0a 41 46 4f 52 4d 3a 09 44 57 09 30 0d 0a 53 46 4f 52 4d 3a 09 44 57 09 30 0d 0a   ┆36    AFORM: DW 0  SFORM: DW 0  ┆
0x056bc0…056be0             43 41 44 44 52 3a 09 44 57 09 30 0d 0a 53 46 3a 09 44 57 09 30 0d 0a 44 46 3a 09 44 57 09 30 0d   ┆CADDR: DW 0  SF: DW 0  DF: DW 0 ┆
0x056be0…056c00             0a 53 44 52 49 56 3a 09 44 42 09 30 0d 0a 44 44 52 49 56 3a 09 44 42 09 30 0d 0a 0d 0a 0d 0a 53   ┆ SDRIV: DB 0  DDRIV: DB 0      S┆
0x056c00…056c20 (23, 0, 5)  4d 42 45 52 0d 0a 09 4c 48 4c 44 20 42 53 45 52 49 41 4c 21 20 49 4e 58 20 48 21 20 53 48 4c 44   ┆MBER   LHLD BSERIAL! INX H! SHLD┆
0x056c20…056c40             20 42 53 45 52 49 41 4c 20 3b 54 45 53 54 20 46 4f 52 20 4f 56 45 52 46 4c 4f 57 0d 0a 09 4d 4f   ┆ BSERIAL ;TEST FOR OVERFLOW   MO┆
0x056c40…056c60             56 20 41 2c 4c 21 20 4f 52 41 20 48 21 20 4a 5a 20 53 45 52 4f 56 45 52 0d 0a 09 3b 0d 0a 09 4c   ┆V A,L! ORA H! JZ SEROVER   ;   L┆
0x056c60…056c80             58 49 20 48 2c 41 53 45 52 49 41 4c 2b 34 21 20 4d 56 49 20 42 2c 35 20 3b 4c 45 4e 47 54 48 20   ┆XI H,ASERIAL+4! MVI B,5 ;LENGTH ┆
0x056c80…056ca0             4f 46 20 53 45 52 49 41 4c 20 4e 55 4d 42 45 52 0d 0a 09 49 4e 43 30 3a 09 49 4e 52 20 4d 21 20   ┆OF SERIAL NUMBER   INC0: INR M! ┆
0x056ca0…056cc0             4d 4f 56 20 41 2c 4d 21 20 43 50 49 20 27 39 27 2b 31 21 20 52 43 20 3b 52 45 54 55 52 4e 20 49   ┆MOV A,M! CPI '9'+1! RC ;RETURN I┆
0x056cc0…056ce0             46 20 4e 4f 20 43 41 52 52 59 0d 0a 09 09 4d 56 49 20 4d 2c 27 30 27 20 3b 43 4c 45 41 52 20 54   ┆F NO CARRY    MVI M,'0' ;CLEAR T┆
0x056ce0…056d00             48 45 20 4e 55 4d 42 45 52 0d 0a 09 09 44 43 58 20 48 21 20 44 43 52 20 42 21 20 4a 4e 5a 20 49   ┆HE NUMBER    DCX H! DCR B! JNZ I┆
0x056d00…056d20             4e 43 30 0d 0a 09 3b 0d 0a 09 53 45 52 4f 56 45 52 3a 0d 0a 09 09 3b 4f 56 45 52 46 4c 4f 57 20   ┆NC0   ;   SEROVER:    ;OVERFLOW ┆
0x056d20…056d40             49 4e 20 53 45 52 49 41 4c 20 4e 55 4d 42 45 52 0d 0a 09 09 43 41 4c 4c 20 4f 56 45 52 4d 53 47   ┆IN SERIAL NUMBER    CALL OVERMSG┆
0x056d40…056d60             0d 0a 09 09 4a 4d 50 20 42 4f 4f 54 0d 0a 09 3b 0d 0a 54 52 41 4e 53 4c 41 54 45 3a 0d 0a 09 3b   ┆    JMP BOOT   ;  TRANSLATE:   ;┆
0x056d60…056d80             54 52 41 4e 53 4c 41 54 45 20 54 48 45 20 52 45 4c 41 54 49 56 45 20 41 44 44 52 45 53 53 20 49   ┆TRANSLATE THE RELATIVE ADDRESS I┆
0x056d80…056da0             4e 20 48 2c 4c 20 54 4f 20 41 42 53 4f 4c 55 54 45 20 41 44 44 52 45 53 53 0d 0a 09 3b 49 4e 20   ┆N H,L TO ABSOLUTE ADDRESS   ;IN ┆
0x056da0…056dc0             49 42 55 46 46 2c 20 41 53 53 55 4d 49 4e 47 20 53 45 43 54 4f 52 53 20 41 52 45 20 53 4b 45 57   ┆IBUFF, ASSUMING SECTORS ARE SKEW┆
0x056dc0…056de0             45 44 0d 0a 09 50 55 53 48 20 44 21 20 4d 4f 56 20 41 2c 4c 21 20 41 4e 49 20 37 46 48 21 20 4d   ┆ED   PUSH D! MOV A,L! ANI 7FH! M┆
0x056de0…056e00             4f 56 20 45 2c 41 20 3b 4c 53 20 37 20 42 49 54 53 20 4f 46 20 41 44 44 52 45 53 53 20 53 41 56   ┆OV E,A ;LS 7 BITS OF ADDRESS SAV┆
0x056e00…056e20 (23, 0, 6)  09 4c 58 49 20 44 2c 24 2b 36 21 20 4a 4d 50 20 50 52 4d 53 47 0d 0a 09 44 42 20 43 52 2c 4c 46   ┆ LXI D,$+6! JMP PRMSG   DB CR,LF┆
0x056e20…056e40             2c 27 53 45 52 49 41 4c 49 5a 49 4e 47 20 44 49 53 4b 20 24 27 0d 0a 3b 0d 0a 41 53 45 52 4d 53   ┆,'SERIALIZING DISK $'  ;  ASERMS┆
0x056e40…056e60             47 3a 0d 0a 09 4c 58 49 20 44 2c 41 4f 52 49 47 49 4e 21 20 43 41 4c 4c 20 50 52 4d 53 47 0d 0a   ┆G:   LXI D,AORIGIN! CALL PRMSG  ┆
0x056e60…056e80             09 4c 58 49 20 44 2c 41 53 45 52 49 41 4c 21 20 4a 4d 50 20 50 52 4d 53 47 0d 0a 3b 0d 0a 4e 45   ┆ LXI D,ASERIAL! JMP PRMSG  ;  NE┆
0x056e80…056ea0             57 4d 53 47 3a 0d 0a 09 4c 58 49 20 44 2c 24 2b 36 21 20 4a 4d 50 20 50 52 4d 53 47 0d 0a 09 44   ┆WMSG:   LXI D,$+6! JMP PRMSG   D┆
0x056ea0…056ec0             42 20 43 52 2c 4c 46 2c 27 49 4e 53 45 52 54 20 4e 45 57 20 44 49 53 4b 45 54 54 45 2c 20 54 59   ┆B CR,LF,'INSERT NEW DISKETTE, TY┆
0x056ec0…056ee0             50 45 20 52 45 54 55 52 4e 24 27 0d 0a 3b 0d 0a 42 41 44 43 4f 4d 3a 0d 0a 09 4c 58 49 20 44 2c   ┆PE RETURN$'  ;  BADCOM:   LXI D,┆
0x056ee0…056f00             24 2b 36 21 20 4a 4d 50 20 50 52 4d 53 47 0d 0a 09 44 42 20 43 52 2c 4c 46 2c 27 42 41 44 20 4d   ┆$+6! JMP PRMSG   DB CR,LF,'BAD M┆
0x056f00…056f20             4f 56 43 50 4d 2e 43 4f 4d 20 46 49 4c 45 2c 20 52 45 50 4c 41 43 45 24 27 0d 0a 3b 0d 0a 42 41   ┆OVCPM.COM FILE, REPLACE$'  ;  BA┆
0x056f20…056f40             44 44 53 4b 3a 0d 0a 09 4c 58 49 20 44 2c 24 2b 36 21 20 4a 4d 50 20 50 52 4d 53 47 0d 0a 09 44   ┆DDSK:   LXI D,$+6! JMP PRMSG   D┆
0x056f40…056f60             42 20 43 52 2c 4c 46 2c 27 4e 4f 4e 20 43 50 2f 4d 20 44 49 53 4b 45 54 54 45 2c 20 43 41 4e 4e   ┆B CR,LF,'NON CP/M DISKETTE, CANN┆
0x056f60…056f80             4f 54 20 53 45 52 49 41 4c 49 5a 45 24 27 0d 0a 3b 0d 0a 56 45 52 45 52 52 3a 0d 0a 09 4c 58 49   ┆OT SERIALIZE$'  ;  VERERR:   LXI┆
0x056f80…056fa0             20 44 2c 24 2b 36 21 20 4a 4d 50 20 50 52 4d 53 47 0d 0a 09 44 42 20 43 52 2c 4c 46 2c 27 56 45   ┆ D,$+6! JMP PRMSG   DB CR,LF,'VE┆
0x056fa0…056fc0             52 49 46 49 43 41 54 49 4f 4e 20 45 52 52 4f 52 2c 20 42 41 44 20 44 49 53 4b 24 27 0d 0a 3b 0d   ┆RIFICATION ERROR, BAD DISK$'  ; ┆
0x056fc0…056fe0             0a 4f 56 45 52 4d 53 47 3a 0d 0a 09 4c 58 49 20 44 2c 24 2b 36 21 20 4a 4d 50 20 50 52 4d 53 47   ┆ OVERMSG:   LXI D,$+6! JMP PRMSG┆
0x056fe0…057000             0d 0a 09 44 42 20 43 52 2c 4c 46 2c 27 53 45 52 49 41 4c 20 4e 55 4d 42 45 52 20 4f 56 45 52 46   ┆   DB CR,LF,'SERIAL NUMBER OVERF┆
0x057000…057020 (23, 0, 7)  74 0d 0a 09 72 65 74 0d 0a 69 6e 73 74 61 31 3a 09 69 6e 09 64 73 74 61 74 2b 31 30 68 0d 0a 09   ┆t   ret  insta1: in dstat+10h   ┆
0x057020…057040             72 65 74 0d 0a 3b 0d 0a 3b 0d 0a 3b 0d 0a 3b 09 64 61 74 61 20 61 72 65 61 73 20 28 6d 75 73 74   ┆ret  ;  ;  ;  ; data areas (must┆
0x057040…057060             20 62 65 20 69 6e 20 72 61 6d 29 0d 0a 64 62 61 6e 6b 3a 09 64 62 09 30 09 3b 64 69 73 6b 20 62   ┆ be in ram)  dbank: db 0 ;disk b┆
0x057060…057080             61 6e 6b 20 30 30 20 69 66 20 64 72 69 76 65 20 30 2c 31 0d 0a 09 09 09 3b 09 20 20 20 31 30 20   ┆ank 00 if drive 0,1     ;    10 ┆
0x057080…0570a0             69 66 20 64 72 69 76 65 20 32 2c 33 0d 0a 69 6f 70 62 3a 09 3b 69 6f 20 70 61 72 61 6d 65 74 65   ┆if drive 2,3  iopb: ;io paramete┆
0x0570a0…0570c0             72 20 62 6c 6f 63 6b 0d 0a 09 64 62 09 38 30 68 09 3b 6e 6f 72 6d 61 6c 20 69 2f 6f 20 6f 70 65   ┆r block   db 80h ;normal i/o ope┆
0x0570c0…0570e0             72 61 74 69 6f 6e 0d 0a 69 6f 66 3a 09 64 62 09 72 65 61 64 66 09 3b 69 6f 20 66 75 6e 63 74 69   ┆ration  iof: db readf ;io functi┆
0x0570e0…057100             6f 6e 2c 20 69 6e 69 74 69 61 6c 20 72 65 61 64 0d 0a 69 6f 6e 3a 09 64 62 09 31 09 3b 6e 75 6d   ┆on, initial read  ion: db 1 ;num┆
0x057100…057120             62 65 72 20 6f 66 20 73 65 63 74 6f 72 73 20 74 6f 20 72 65 61 64 0d 0a 69 6f 74 3a 09 64 62 09   ┆ber of sectors to read  iot: db ┆
0x057120…057140             6f 66 66 73 65 74 09 3b 74 72 61 63 6b 20 6e 75 6d 62 65 72 0d 0a 69 6f 73 3a 09 64 62 09 31 09   ┆offset ;track number  ios: db 1 ┆
0x057140…057160             3b 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 0d 0a 69 6f 64 3a 09 64 77 09 62 75 66 66 09 3b 69 6f   ┆;sector number  iod: dw buff ;io┆
0x057160…057180             20 61 64 64 72 65 73 73 0d 0a 3b 0d 0a 3b 0d 0a 3b 09 64 65 66 69 6e 65 20 72 61 6d 20 61 72 65   ┆ address  ;  ;  ; define ram are┆
0x057180…0571a0             61 73 20 66 6f 72 20 62 64 6f 73 20 6f 70 65 72 61 74 69 6f 6e 0d 0a 09 65 6e 64 65 66 0d 0a 09   ┆as for bdos operation   endef   ┆
0x0571a0…0571c0             65 6e 64 0d 0a 3b 09 4d 44 53 2d 38 30 30 20 49 2f 4f 20 44 72 69 76 65 72 73 20 66 6f 72 20 43   ┆end  ; MDS-800 I/O Drivers for C┆
0x0571c0…0571e0             50 2f 4d 20 32 2e 32 0d 0a 3b 09 28 66 6f 75 72 20 64 72 69 76 65 20 73 69 6e 67 6c 65 20 64 65   ┆P/M 2.2  ; (four drive single de┆
0x0571e0…057200             6e 73 69 74 79 20 76 65 72 73 69 6f 6e 29 0d 0a 3b 0d 0a 3b 09 56 65 72 73 69 6f 6e 20 32 2e 32   ┆nsity version)  ;  ; Version 2.2┆
0x057200…057220 (23, 0, 8)  45 43 43 4e 54 3a 20 44 42 09 30 0d 0a 43 43 50 52 45 54 3a 20 44 57 09 30 0d 0a 0d 0a 44 46 43   ┆ECCNT: DB 0  CCPRET: DW 0    DFC┆
0x057220…057240             42 3a 09 44 53 09 33 33 09 09 3b 20 44 45 53 54 49 4e 41 54 49 4f 4e 20 46 43 42 0d 0a 44 46 43   ┆B: DS 33  ; DESTINATION FCB  DFC┆
0x057240…057260             42 43 52 09 45 51 55 09 44 46 43 42 2b 33 32 09 09 3b 0d 0a 0d 0a 09 44 53 09 33 31 09 09 3b 0d   ┆BCR EQU DFCB+32  ;     DS 31  ; ┆
0x057260…057280             0a 53 54 41 43 4b 3a 09 44 53 09 31 09 09 3b 20 4c 4f 43 41 4c 20 53 54 41 43 4b 0d 0a 0d 0a 42   ┆ STACK: DS 1  ; LOCAL STACK    B┆
0x057280…0572a0             55 46 3a 09 44 57 09 30 09 09 3b 20 52 45 41 44 2f 57 52 49 54 45 20 42 55 46 46 45 52 0d 0a 0d   ┆UF: DW 0  ; READ/WRITE BUFFER   ┆
0x0572a0…0572c0             0a 09 45 4e 44 09 30 31 30 30 48 0d 0a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a   ┆  END 0100H                     ┆
0x0572c0…0572e0             1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a   ┆                                ┆
          […0x1…]
0x057300…057320             53 54 49 4e 41 54 49 4f 4e 20 44 49 53 4b 20 41 4e 44 20 54 59 50 45 20 3c 52 45 54 55 52 4e 3e   ┆STINATION DISK AND TYPE <RETURN>┆
0x057320…057340             27 2c 31 33 2c 31 30 2c 33 36 0d 0a 53 57 4f 50 44 3a 20 20 44 42 09 27 49 4e 53 45 52 54 20 53   ┆',13,10,36  SWOPD:  DB 'INSERT S┆
0x057340…057360             4f 55 52 43 45 20 44 49 53 4b 20 41 4e 44 20 54 59 50 45 20 3c 52 45 54 55 52 4e 3e 27 2c 31 33   ┆OURCE DISK AND TYPE <RETURN>',13┆
0x057360…057380             2c 31 30 2c 33 36 0d 0a 53 57 4f 50 59 3a 20 20 44 42 09 27 49 4e 53 45 52 54 20 53 59 53 54 45   ┆,10,36  SWOPY:  DB 'INSERT SYSTE┆
0x057380…0573a0             4d 20 44 49 53 4b 20 41 4e 44 20 54 59 50 45 20 3c 52 45 54 55 52 4e 3e 27 2c 31 33 2c 31 30 2c   ┆M DISK AND TYPE <RETURN>',13,10,┆
0x0573a0…0573c0             33 36 0d 0a 0d 0a 41 46 4f 52 4d 3a 09 44 57 09 30 0d 0a 53 46 4f 52 4d 3a 09 44 57 09 30 0d 0a   ┆36    AFORM: DW 0  SFORM: DW 0  ┆
0x0573c0…0573e0             43 41 44 44 52 3a 09 44 57 09 30 0d 0a 53 46 3a 09 44 57 09 30 0d 0a 44 46 3a 09 44 57 09 30 0d   ┆CADDR: DW 0  SF: DW 0  DF: DW 0 ┆
0x0573e0…057400             0a 53 44 52 49 56 3a 09 44 42 09 30 0d 0a 44 44 52 49 56 3a 09 44 42 09 30 0d 0a 0d 0a 0d 0a 53   ┆ SDRIV: DB 0  DDRIV: DB 0      S┆
0x057400…057420 (23, 0, 9)  45 44 0d 0a 09 09 4d 4f 56 20 41 2c 4c 21 20 52 41 4c 20 3b 43 41 52 52 59 20 47 45 54 53 20 4d   ┆ED    MOV A,L! RAL ;CARRY GETS M┆
0x057420…057440             53 42 0d 0a 09 09 4d 4f 56 20 41 2c 48 21 20 52 41 4c 20 3b 43 41 52 52 59 20 47 4f 45 53 20 54   ┆SB    MOV A,H! RAL ;CARRY GOES T┆
0x057440…057460             4f 20 4c 53 42 0d 0a 09 09 4d 4f 56 20 4c 2c 41 21 20 4d 56 49 20 48 2c 30 20 3b 48 2c 4c 20 43   ┆O LSB    MOV L,A! MVI H,0 ;H,L C┆
0x057460…057480             4f 4e 54 41 49 4e 20 49 4e 44 45 58 20 49 4e 54 4f 20 54 52 41 4e 53 4c 41 54 45 20 54 41 42 4c   ┆ONTAIN INDEX INTO TRANSLATE TABL┆
0x057480…0574a0             45 0d 0a 09 09 50 55 53 48 20 44 21 20 4c 58 49 20 44 2c 54 52 41 4e 21 20 44 41 44 20 44 21 20   ┆E    PUSH D! LXI D,TRAN! DAD D! ┆
0x0574a0…0574c0             50 4f 50 20 44 0d 0a 09 09 3b 48 2c 4c 20 41 44 44 52 45 53 53 20 54 52 41 4e 53 4c 41 54 49 4f   ┆POP D    ;H,L ADDRESS TRANSLATIO┆
0x0574c0…0574e0             4e 20 45 4c 45 4d 45 4e 54 2c 20 43 4f 4e 56 45 52 54 20 54 4f 20 52 45 4c 20 41 44 44 52 45 53   ┆N ELEMENT, CONVERT TO REL ADDRES┆
0x0574e0…057500             53 0d 0a 09 09 58 52 41 20 41 21 20 4d 4f 56 20 41 2c 4d 21 20 44 43 52 20 41 20 21 20 52 41 52   ┆S    XRA A! MOV A,M! DCR A ! RAR┆
0x057500…057520             20 3b 43 41 52 52 59 20 47 45 54 53 20 4c 53 42 2c 20 4d 53 42 3d 30 0d 0a 09 09 4d 4f 56 20 48   ┆ ;CARRY GETS LSB, MSB=0    MOV H┆
0x057520…057540             2c 41 21 20 4d 56 49 20 41 2c 30 21 20 52 41 52 20 3b 43 41 52 52 59 20 47 4f 45 53 20 54 4f 20   ┆,A! MVI A,0! RAR ;CARRY GOES TO ┆
0x057540…057560             4d 53 42 0d 0a 09 09 4f 52 41 20 45 20 3b 52 45 43 4c 41 49 4d 20 54 48 45 20 4c 45 41 53 54 20   ┆MSB    ORA E ;RECLAIM THE LEAST ┆
0x057560…057580             53 49 47 4e 49 46 49 43 41 4e 54 20 37 20 42 49 54 53 0d 0a 09 09 4d 4f 56 20 4c 2c 41 21 20 4c   ┆SIGNIFICANT 7 BITS    MOV L,A! L┆
0x057580…0575a0             58 49 20 44 2c 49 42 55 46 46 21 20 44 41 44 20 44 20 3b 41 42 53 4f 4c 55 54 45 20 41 44 44 52   ┆XI D,IBUFF! DAD D ;ABSOLUTE ADDR┆
0x0575a0…0575c0             45 53 53 20 49 4e 20 48 2c 4c 0d 0a 09 09 50 4f 50 20 44 20 3b 52 45 43 41 4c 4c 20 53 54 41 43   ┆ESS IN H,L    POP D ;RECALL STAC┆
0x0575c0…0575e0             4b 45 44 20 44 20 56 41 4c 55 45 0d 0a 09 09 52 45 54 0d 0a 3b 0d 0a 53 54 42 59 54 45 3a 09 3b   ┆KED D VALUE    RET  ;  STBYTE: ;┆
0x0575e0…057600             53 54 4f 52 45 20 42 59 54 45 20 56 41 4c 55 45 20 47 49 56 45 4e 20 42 59 20 52 45 47 49 53 54   ┆STORE BYTE VALUE GIVEN BY REGIST┆
0x057600…057620 (23, 0, 10) 4c 4f 57 24 27 0d 0a 52 45 41 44 30 4d 53 47 3a 0d 0a 09 4c 58 49 20 44 2c 24 2b 36 21 20 4a 4d   ┆LOW$'  READ0MSG:   LXI D,$+6! JM┆
0x057620…057640             50 20 50 52 4d 53 47 0d 0a 09 44 42 20 43 52 2c 4c 46 2c 27 45 52 52 4f 52 20 4f 4e 20 53 4f 55   ┆P PRMSG   DB CR,LF,'ERROR ON SOU┆
0x057640…057660             52 43 45 20 44 49 53 4b 2c 20 52 45 50 4c 41 43 45 24 27 0d 0a 3b 0d 0a 57 52 49 54 45 30 4d 53   ┆RCE DISK, REPLACE$'  ;  WRITE0MS┆
0x057660…057680             47 3a 0d 0a 09 4c 58 49 20 44 2c 24 2b 36 21 20 4a 4d 50 20 50 52 4d 53 47 0d 0a 09 44 42 20 43   ┆G:   LXI D,$+6! JMP PRMSG   DB C┆
0x057680…0576a0             52 2c 4c 46 2c 27 43 41 4e 4e 4f 54 20 57 52 49 54 45 20 4e 45 57 20 44 49 53 4b 2c 20 52 45 50   ┆R,LF,'CANNOT WRITE NEW DISK, REP┆
0x0576a0…0576c0             4c 41 43 45 24 27 0d 0a 3b 0d 0a 52 45 41 44 31 4d 53 47 3a 0d 0a 09 4c 58 49 20 44 2c 24 2b 36   ┆LACE$'  ;  READ1MSG:   LXI D,$+6┆
0x0576c0…0576e0             21 20 4a 4d 50 20 50 52 4d 53 47 0d 0a 09 44 42 20 43 52 2c 4c 46 2c 27 43 41 4e 4e 4f 54 20 52   ┆! JMP PRMSG   DB CR,LF,'CANNOT R┆
0x0576e0…057700             45 2d 52 45 41 44 20 4e 45 57 20 44 49 53 4b 2c 20 52 45 50 4c 41 43 45 24 27 0d 0a 3b 0d 0a 3b   ┆E-READ NEW DISK, REPLACE$'  ;  ;┆
0x057700…057720             0d 0a 3b 09 4d 49 53 43 45 4c 4c 41 4e 45 4f 55 53 20 44 41 54 41 20 41 52 45 41 53 0d 0a 3b 0d   ┆  ; MISCELLANEOUS DATA AREAS  ; ┆
0x057720…057740             0a 4f 52 49 47 49 4e 3a 09 44 53 09 32 09 3b 42 49 4e 41 52 59 20 4f 52 49 47 49 4e 0d 0a 41 4f   ┆ ORIGIN: DS 2 ;BINARY ORIGIN  AO┆
0x057740…057760             52 49 47 3a 09 44 42 09 43 52 2c 4c 46 0d 0a 41 4f 52 49 47 49 4e 3a 0d 0a 09 44 42 09 27 30 30   ┆RIG: DB CR,LF  AORIGIN:   DB '00┆
0x057760…057780             30 30 30 2d 24 27 0d 0a 54 52 4d 53 47 3a 09 44 42 09 43 52 2c 4c 46 0d 0a 54 52 43 4f 55 4e 54   ┆000-$'  TRMSG: DB CR,LF  TRCOUNT┆
0x057780…0577a0             3a 0d 0a 09 44 42 09 27 30 30 20 54 52 41 43 4b 53 20 56 45 52 49 46 49 45 44 24 27 0d 0a 42 53   ┆:   DB '00 TRACKS VERIFIED$'  BS┆
0x0577a0…0577c0             45 52 49 41 4c 3a 0d 0a 09 44 53 09 32 09 3b 42 49 4e 41 52 59 20 53 45 52 49 41 4c 20 4e 55 4d   ┆ERIAL:   DS 2 ;BINARY SERIAL NUM┆
0x0577c0…0577e0             42 45 52 0d 0a 41 53 45 52 49 41 4c 3a 0d 0a 09 44 42 09 27 30 30 30 30 30 24 27 0d 0a 43 4f 4d   ┆BER  ASERIAL:   DB '00000$'  COM┆
0x0577e0…057800             50 41 52 45 3a 0d 0a 09 3b 43 4f 4d 4d 41 4e 44 53 20 41 52 45 20 45 4e 43 4f 44 45 44 20 54 4f   ┆PARE:   ;COMMANDS ARE ENCODED TO┆
0x057800…057820 (23, 0, 11) 09 09 3b 0d 0a 09 43 41 4c 4c 09 53 45 54 44 4d 41 09 09 3b 0d 0a 09 4c 58 49 09 48 2c 53 45 43   ┆  ;   CALL SETDMA  ;   LXI H,SEC┆
0x057820…057840             43 4e 54 09 3b 20 53 45 43 54 4f 52 43 4f 55 4e 54 3a 3d 53 45 43 54 4f 49 52 43 4f 55 4e 54 2d   ┆CNT ; SECTORCOUNT:=SECTOIRCOUNT-┆
0x057840…057860             31 3b 0d 0a 09 44 43 52 09 4d 09 09 3b 0d 0a 09 4a 4e 5a 09 57 44 41 54 41 09 09 3b 20 49 46 20   ┆1;   DCR M  ;   JNZ WDATA  ; IF ┆
0x057860…057880             53 45 43 54 4f 52 43 4f 55 4e 54 3e 30 20 54 48 45 4e 20 47 4f 54 4f 20 57 52 49 54 45 52 45 43   ┆SECTORCOUNT>0 THEN GOTO WRITEREC┆
0x057880…0578a0             3b 0d 0a 09 50 4f 50 09 44 09 09 3b 0d 0a 09 4c 58 49 09 44 2c 44 46 43 42 09 09 3b 0d 0a 09 43   ┆;   POP D  ;   LXI D,DFCB  ;   C┆
0x0578a0…0578c0             41 4c 4c 09 43 4c 4f 53 45 09 09 3b 20 43 4c 4f 53 45 20 44 45 53 54 49 4e 41 54 49 4f 4e 20 46   ┆ALL CLOSE  ; CLOSE DESTINATION F┆
0x0578c0…0578e0             49 4c 45 3b 0d 0a 09 4c 58 49 09 44 2c 57 52 50 52 4f 54 09 3b 0d 0a 09 49 4e 52 09 41 09 09 3b   ┆ILE;   LXI D,WRPROT ;   INR A  ;┆
0x0578e0…057900             0d 0a 09 43 5a 09 46 49 4e 49 53 09 09 3b 0d 0a 09 4c 58 49 09 44 2c 4e 4f 52 4d 41 4c 09 3b 0d   ┆   CZ FINIS  ;   LXI D,NORMAL ; ┆
0x057900…057920             0a 09 43 41 4c 4c 09 50 52 49 4e 54 09 09 3b 0d 0a 4d 53 59 53 46 3a 09 4c 58 49 09 44 2c 53 57   ┆  CALL PRINT  ;  MSYSF: LXI D,SW┆
0x057920…057940             4f 50 59 09 09 3b 0d 0a 09 43 41 4c 4c 09 50 52 49 4e 54 09 09 3b 0d 0a 09 43 41 4c 4c 09 43 4f   ┆OPY  ;   CALL PRINT  ;   CALL CO┆
0x057940…057960             4e 53 49 09 09 3b 20 57 41 49 54 20 44 49 53 4b 20 43 48 41 4e 47 45 44 20 42 41 43 4b 3b 0d 0a   ┆NSI  ; WAIT DISK CHANGED BACK;  ┆
0x057960…057980             09 4c 48 4c 44 09 53 46 4f 52 4d 09 09 3b 0d 0a 09 43 41 4c 4c 09 53 45 54 46 09 09 3b 0d 0a 09   ┆ LHLD SFORM  ;   CALL SETF  ;   ┆
0x057980…0579a0             43 41 4c 4c 09 52 45 53 45 54 09 09 3b 20 52 45 53 45 54 20 44 52 49 56 45 53 3b 0d 0a 09 4c 48   ┆CALL RESET  ; RESET DRIVES;   LH┆
0x0579a0…0579c0             4c 44 09 43 43 50 52 45 54 09 09 3b 20 52 45 54 55 52 4e 20 54 4f 20 43 43 50 0d 0a 09 50 43 48   ┆LD CCPRET  ; RETURN TO CCP   PCH┆
0x0579c0…0579e0             4c 09 09 09 3b 0d 0a 0d 0a 46 49 4e 49 53 3a 09 4d 56 49 09 43 2c 50 52 49 4e 54 46 09 3b 20 50   ┆L   ;    FINIS: MVI C,PRINTF ; P┆
0x0579e0…057a00             52 49 4e 54 20 4d 45 53 53 41 47 45 3a 0d 0a 09 43 41 4c 4c 09 42 44 4f 53 09 09 3b 0d 0a 09 4a   ┆RINT MESSAGE:   CALL BDOS  ;   J┆
0x057a00…057a20 (23, 0, 12) 09 09 3b 0d 0a 09 43 41 4c 4c 09 53 45 54 44 4d 41 09 09 3b 0d 0a 09 4c 58 49 09 48 2c 53 45 43   ┆  ;   CALL SETDMA  ;   LXI H,SEC┆
0x057a20…057a40             43 4e 54 09 3b 20 53 45 43 54 4f 52 43 4f 55 4e 54 3a 3d 53 45 43 54 4f 49 52 43 4f 55 4e 54 2d   ┆CNT ; SECTORCOUNT:=SECTOIRCOUNT-┆
0x057a40…057a60             31 3b 0d 0a 09 44 43 52 09 4d 09 09 3b 0d 0a 09 4a 4e 5a 09 57 44 41 54 41 09 09 3b 20 49 46 20   ┆1;   DCR M  ;   JNZ WDATA  ; IF ┆
0x057a60…057a80             53 45 43 54 4f 52 43 4f 55 4e 54 3e 30 20 54 48 45 4e 20 47 4f 54 4f 20 57 52 49 54 45 52 45 43   ┆SECTORCOUNT>0 THEN GOTO WRITEREC┆
0x057a80…057aa0             3b 0d 0a 09 50 4f 50 09 44 09 09 3b 0d 0a 09 4c 58 49 09 44 2c 44 46 43 42 09 09 3b 0d 0a 09 43   ┆;   POP D  ;   LXI D,DFCB  ;   C┆
0x057aa0…057ac0             41 4c 4c 09 43 4c 4f 53 45 09 09 3b 20 43 4c 4f 53 45 20 44 45 53 54 49 4e 41 54 49 4f 4e 20 46   ┆ALL CLOSE  ; CLOSE DESTINATION F┆
0x057ac0…057ae0             49 4c 45 3b 0d 0a 09 4c 58 49 09 44 2c 57 52 50 52 4f 54 09 3b 0d 0a 09 49 4e 52 09 41 09 09 3b   ┆ILE;   LXI D,WRPROT ;   INR A  ;┆
0x057ae0…057b00             0d 0a 09 43 5a 09 46 49 4e 49 53 09 09 3b 0d 0a 09 4c 58 49 09 44 2c 4e 4f 52 4d 41 4c 09 3b 0d   ┆   CZ FINIS  ;   LXI D,NORMAL ; ┆
0x057b00…057b20             0a 09 43 41 4c 4c 09 50 52 49 4e 54 09 09 3b 0d 0a 4d 53 59 53 46 3a 09 4c 58 49 09 44 2c 53 57   ┆  CALL PRINT  ;  MSYSF: LXI D,SW┆
0x057b20…057b40             4f 50 59 09 09 3b 0d 0a 09 43 41 4c 4c 09 50 52 49 4e 54 09 09 3b 0d 0a 09 43 41 4c 4c 09 43 4f   ┆OPY  ;   CALL PRINT  ;   CALL CO┆
0x057b40…057b60             4e 53 49 09 09 3b 20 57 41 49 54 20 44 49 53 4b 20 43 48 41 4e 47 45 44 20 42 41 43 4b 3b 0d 0a   ┆NSI  ; WAIT DISK CHANGED BACK;  ┆
0x057b60…057b80             09 4c 48 4c 44 09 53 46 4f 52 4d 09 09 3b 0d 0a 09 43 41 4c 4c 09 53 45 54 46 09 09 3b 0d 0a 09   ┆ LHLD SFORM  ;   CALL SETF  ;   ┆
0x057b80…057ba0             43 41 4c 4c 09 52 45 53 45 54 09 09 3b 20 52 45 53 45 54 20 44 52 49 56 45 53 3b 0d 0a 09 4c 48   ┆CALL RESET  ; RESET DRIVES;   LH┆
0x057ba0…057bc0             4c 44 09 43 43 50 52 45 54 09 09 3b 20 52 45 54 55 52 4e 20 54 4f 20 43 43 50 0d 0a 09 50 43 48   ┆LD CCPRET  ; RETURN TO CCP   PCH┆
0x057bc0…057be0             4c 09 09 09 3b 0d 0a 0d 0a 46 49 4e 49 53 3a 09 4d 56 49 09 43 2c 50 52 49 4e 54 46 09 3b 20 50   ┆L   ;    FINIS: MVI C,PRINTF ; P┆
0x057be0…057c00             52 49 4e 54 20 4d 45 53 53 41 47 45 3a 0d 0a 09 43 41 4c 4c 09 42 44 4f 53 09 09 3b 0d 0a 09 4a   ┆RINT MESSAGE:   CALL BDOS  ;   J┆
0x057c00…057c20 (23, 0, 13) 45 52 20 41 20 54 4f 20 54 52 41 4e 53 4c 41 54 45 44 0d 0a 09 3b 41 44 44 52 45 53 53 20 47 49   ┆ER A TO TRANSLATED   ;ADDRESS GI┆
0x057c20…057c40             56 45 4e 20 42 59 20 48 2c 4c 2e 20 20 49 4e 43 52 45 4d 45 4e 54 20 48 2c 4c 20 55 50 4f 4e 20   ┆VEN BY H,L.  INCREMENT H,L UPON ┆
0x057c40…057c60             52 45 54 55 52 4e 0d 0a 09 50 55 53 48 20 48 21 20 50 55 53 48 20 44 21 20 50 55 53 48 20 50 53   ┆RETURN   PUSH H! PUSH D! PUSH PS┆
0x057c60…057c80             57 0d 0a 09 43 41 4c 4c 20 54 52 41 4e 53 4c 41 54 45 21 20 50 4f 50 20 50 53 57 0d 0a 09 4d 4f   ┆W   CALL TRANSLATE! POP PSW   MO┆
0x057c80…057ca0             56 20 4d 2c 41 21 20 50 4f 50 20 44 21 20 50 4f 50 20 48 21 20 49 4e 58 20 48 21 20 52 45 54 0d   ┆V M,A! POP D! POP H! INX H! RET ┆
0x057ca0…057cc0             0a 3b 0d 0a 53 54 53 45 52 49 41 4c 3a 0d 0a 09 3b 53 54 4f 52 45 20 54 48 45 20 53 45 52 49 41   ┆ ;  STSERIAL:   ;STORE THE SERIA┆
0x057cc0…057ce0             4c 20 4e 55 4d 42 45 52 20 49 4e 54 4f 20 41 44 44 52 45 53 53 20 47 49 56 45 4e 20 42 59 20 48   ┆L NUMBER INTO ADDRESS GIVEN BY H┆
0x057ce0…057d00             2c 4c 0d 0a 09 4c 44 41 20 4f 52 49 47 49 4e 21 20 43 41 4c 4c 20 53 54 42 59 54 45 20 3b 42 59   ┆,L   LDA ORIGIN! CALL STBYTE ;BY┆
0x057d00…057d20             54 45 20 53 54 4f 52 45 44 2c 20 48 2c 4c 20 49 4e 43 52 45 4d 45 4e 54 45 44 0d 0a 09 4d 56 49   ┆TE STORED, H,L INCREMENTED   MVI┆
0x057d20…057d40             20 41 2c 56 45 52 53 49 4f 4e 21 20 43 41 4c 4c 20 53 54 42 59 54 45 20 3b 56 45 52 53 49 4f 4e   ┆ A,VERSION! CALL STBYTE ;VERSION┆
0x057d40…057d60             20 4e 55 4d 42 45 52 0d 0a 09 09 6c 64 61 20 6f 72 69 67 69 6e 2b 31 20 21 20 63 61 6c 6c 20 73   ┆ NUMBER    lda origin+1 ! call s┆
0x057d60…057d80             74 62 79 74 65 09 3b 20 73 74 75 66 66 20 68 69 67 68 28 6f 72 69 67 69 6e 29 0d 0a 09 09 58 52   ┆tbyte ; stuff high(origin)    XR┆
0x057d80…057da0             41 20 41 21 20 43 41 4c 4c 20 53 54 42 59 54 45 20 3b 5a 45 52 4f 20 42 59 54 45 0d 0a 09 3b 4e   ┆A A! CALL STBYTE ;ZERO BYTE   ;N┆
0x057da0…057dc0             4f 57 20 4d 4f 56 45 20 53 45 52 49 41 4c 20 4e 55 4d 42 45 52 20 54 4f 20 4c 41 53 54 20 54 57   ┆OW MOVE SERIAL NUMBER TO LAST TW┆
0x057dc0…057de0             4f 20 42 59 54 45 53 0d 0a 09 4c 58 49 20 44 2c 42 53 45 52 49 41 4c 2b 31 20 3b 41 44 44 52 45   ┆O BYTES   LXI D,BSERIAL+1 ;ADDRE┆
0x057de0…057e00             53 53 20 48 49 47 48 20 4f 52 44 45 52 20 50 4f 53 49 54 49 4f 4e 20 4f 46 20 53 45 52 20 23 0d   ┆SS HIGH ORDER POSITION OF SER # ┆
0x057e00…057e20 (23, 0, 14) 20 4d 41 4b 45 20 44 49 53 41 53 53 45 4d 42 4c 59 20 48 41 52 44 45 52 0d 0a 09 44 57 09 4e 4f   ┆ MAKE DISASSEMBLY HARDER   DW NO┆
0x057e20…057e40             54 20 27 44 49 27 2c 4e 4f 54 20 27 52 20 27 0d 0a 09 44 57 09 4e 4f 54 20 27 45 52 27 2c 4e 4f   ┆T 'DI',NOT 'R '   DW NOT 'ER',NO┆
0x057e40…057e60             54 20 27 41 20 27 0d 0a 09 44 57 09 4e 4f 54 20 27 54 59 27 2c 4e 4f 54 20 27 50 45 27 0d 0a 09   ┆T 'A '   DW NOT 'TY',NOT 'PE'   ┆
0x057e60…057e80             44 57 09 4e 4f 54 20 27 53 41 27 2c 4e 4f 54 20 27 56 45 27 0d 0a 09 44 57 09 4e 4f 54 20 27 52   ┆DW NOT 'SA',NOT 'VE'   DW NOT 'R┆
0x057e80…057ea0             45 27 2c 4e 4f 54 20 27 4e 20 27 0d 0a 09 44 57 09 4e 4f 54 20 27 55 53 27 2c 4e 4f 54 20 27 45   ┆E',NOT 'N '   DW NOT 'US',NOT 'E┆
0x057ea0…057ec0             52 27 0d 0a 09 43 4f 4d 50 4c 45 4e 20 45 51 55 20 28 24 2d 43 4f 4d 50 41 52 45 29 2f 32 0d 0a   ┆R'   COMPLEN EQU ($-COMPARE)/2  ┆
0x057ec0…057ee0             3b 09 49 4e 50 55 54 20 42 55 46 46 45 52 0d 0a 4d 41 58 4c 45 4e 3a 09 44 42 09 37 0d 0a 43 4f   ┆; INPUT BUFFER  MAXLEN: DB 7  CO┆
0x057ee0…057f00             4d 4c 45 4e 3a 09 44 53 09 31 0d 0a 43 42 55 46 46 3a 09 44 53 09 38 0d 0a 53 54 52 41 43 4b 3a   ┆MLEN: DS 1  CBUFF: DS 8  STRACK:┆
0x057f00…057f20             09 44 53 09 31 09 3b 53 45 52 49 41 4c 49 5a 45 20 54 52 41 43 4b 20 46 4f 52 20 43 50 4d 2e 43   ┆ DS 1 ;SERIALIZE TRACK FOR CPM.C┆
0x057f20…057f40             4f 4d 20 46 49 4c 45 20 57 48 45 4e 20 45 4e 43 4f 55 4e 54 45 52 45 44 0d 0a 53 44 49 46 46 3a   ┆OM FILE WHEN ENCOUNTERED  SDIFF:┆
0x057f40…057f60             09 44 53 09 32 09 3b 44 49 46 46 45 52 45 4e 43 45 20 42 45 54 57 45 45 4e 20 54 57 4f 20 53 45   ┆ DS 2 ;DIFFERENCE BETWEEN TWO SE┆
0x057f60…057f80             52 49 41 4c 20 4e 55 4d 42 45 52 20 41 44 44 52 45 53 53 45 53 0d 0a 3b 09 53 45 43 54 4f 52 20   ┆RIAL NUMBER ADDRESSES  ; SECTOR ┆
0x057f80…057fa0             54 52 41 4e 53 4c 41 54 49 4f 4e 20 56 45 43 54 4f 52 0d 0a 54 52 41 4e 3a 09 44 42 09 31 2c 37   ┆TRANSLATION VECTOR  TRAN: DB 1,7┆
0x057fa0…057fc0             2c 31 33 2c 31 39 2c 20 32 35 2c 35 2c 31 31 2c 31 37 0d 0a 09 44 42 09 32 33 2c 33 2c 39 2c 31   ┆,13,19, 25,5,11,17   DB 23,3,9,1┆
0x057fc0…057fe0             35 2c 20 32 31 2c 32 2c 38 2c 31 34 0d 0a 09 44 42 09 32 30 2c 32 36 2c 36 2c 31 32 2c 20 31 38   ┆5, 21,2,8,14   DB 20,26,6,12, 18┆
0x057fe0…058000             2c 32 34 2c 34 2c 31 30 0d 0a 09 44 42 09 31 36 2c 32 32 0d 0a 3b 0d 0a 09 44 53 09 33 32 09 3b   ┆,24,4,10   DB 16,22  ;   DS 32 ;┆
0x058000…058020 (23, 0, 15) 4d 50 09 4d 53 59 53 46 09 09 3b 0d 0a 0d 0a 43 4f 4e 53 49 3a 09 4d 56 49 09 43 2c 43 4f 4e 53   ┆MP MSYSF  ;    CONSI: MVI C,CONS┆
0x058020…058040             49 46 09 3b 0d 0a 09 43 41 4c 4c 09 42 44 4f 53 09 09 3b 0d 0a 09 43 50 49 09 33 09 09 3b 0d 0a   ┆IF ;   CALL BDOS  ;   CPI 3  ;  ┆
0x058040…058060             09 52 4e 5a 09 09 09 3b 09 09 09 0d 0a 09 4c 48 4c 44 09 53 46 4f 52 4d 09 09 3b 0d 0a 09 43 41   ┆ RNZ   ;      LHLD SFORM  ;   CA┆
0x058060…058080             4c 4c 09 53 45 54 46 09 09 3b 0d 0a 09 4a 4d 50 09 42 4f 4f 54 0d 0a 0d 0a 52 45 53 45 54 3a 09   ┆LL SETF  ;   JMP BOOT    RESET: ┆
0x058080…0580a0             4d 56 49 09 43 2c 52 45 53 45 54 46 09 3b 0d 0a 09 4a 4d 50 09 42 44 4f 53 09 09 3b 0d 0a 0d 0a   ┆MVI C,RESETF ;   JMP BDOS  ;    ┆
0x0580a0…0580c0             4f 50 45 4e 3a 09 4d 56 49 09 43 2c 4f 50 45 4e 46 09 09 3b 0d 0a 09 4a 4d 50 09 42 44 4f 53 09   ┆OPEN: MVI C,OPENF  ;   JMP BDOS ┆
0x0580c0…0580e0             09 3b 0d 0a 0d 0a 43 4c 4f 53 45 3a 09 4d 56 49 09 43 2c 43 4c 4f 53 45 46 09 3b 0d 0a 09 4a 4d   ┆ ;    CLOSE: MVI C,CLOSEF ;   JM┆
0x0580e0…058100             50 09 42 44 4f 53 09 09 3b 0d 0a 0d 0a 44 45 4c 45 54 45 3a 09 4d 56 49 09 43 2c 44 45 4c 45 54   ┆P BDOS  ;    DELETE: MVI C,DELET┆
0x058100…058120             45 46 09 3b 0d 0a 09 4a 4d 50 09 42 44 4f 53 09 09 3b 0d 0a 0d 0a 52 45 41 44 3a 09 4d 56 49 09   ┆EF ;   JMP BDOS  ;    READ: MVI ┆
0x058120…058140             43 2c 52 45 41 44 46 09 09 3b 0d 0a 09 4a 4d 50 09 42 44 4f 53 09 09 3b 0d 0a 0d 0a 57 52 49 54   ┆C,READF  ;   JMP BDOS  ;    WRIT┆
0x058140…058160             45 3a 09 4d 56 49 09 43 2c 57 52 49 54 45 46 09 3b 0d 0a 09 4a 4d 50 09 42 44 4f 53 09 09 3b 0d   ┆E: MVI C,WRITEF ;   JMP BDOS  ; ┆
0x058160…058180             0a 0d 0a 4d 41 4b 45 3a 09 4d 56 49 09 43 2c 4d 41 4b 45 46 09 09 3b 0d 0a 09 4a 4d 50 09 42 44   ┆   MAKE: MVI C,MAKEF  ;   JMP BD┆
0x058180…0581a0             4f 53 09 09 3b 0d 0a 0d 0a 53 45 54 44 4d 41 3a 09 4d 56 49 09 43 2c 53 44 4d 41 46 09 09 3b 0d   ┆OS  ;    SETDMA: MVI C,SDMAF  ; ┆
0x0581a0…0581c0             0a 09 4a 4d 50 09 42 44 4f 53 09 09 3b 0d 0a 0d 0a 50 52 49 4e 54 3a 09 4d 56 49 09 43 2c 50 52   ┆  JMP BDOS  ;    PRINT: MVI C,PR┆
0x0581c0…0581e0             49 4e 54 46 09 3b 0d 0a 09 4a 4d 50 09 42 44 4f 53 09 09 3b 0d 0a 0d 0a 52 45 54 43 44 3a 09 4d   ┆INTF ;   JMP BDOS  ;    RETCD: M┆
0x0581e0…058200             56 49 09 43 2c 43 55 52 44 46 09 09 3b 0d 0a 09 4a 4d 50 09 42 44 4f 53 09 09 3b 0d 0a 0d 0a 4e   ┆VI C,CURDF  ;   JMP BDOS  ;    N┆
0x058200…058220 (23, 1, 1)  4d 50 09 4d 53 59 53 46 09 09 3b 0d 0a 0d 0a 43 4f 4e 53 49 3a 09 4d 56 49 09 43 2c 43 4f 4e 53   ┆MP MSYSF  ;    CONSI: MVI C,CONS┆
0x058220…058240             49 46 09 3b 0d 0a 09 43 41 4c 4c 09 42 44 4f 53 09 09 3b 0d 0a 09 43 50 49 09 33 09 09 3b 0d 0a   ┆IF ;   CALL BDOS  ;   CPI 3  ;  ┆
0x058240…058260             09 52 4e 5a 09 09 09 3b 09 09 09 0d 0a 09 4c 48 4c 44 09 53 46 4f 52 4d 09 09 3b 0d 0a 09 43 41   ┆ RNZ   ;      LHLD SFORM  ;   CA┆
0x058260…058280             4c 4c 09 53 45 54 46 09 09 3b 0d 0a 09 4a 4d 50 09 42 4f 4f 54 0d 0a 0d 0a 52 45 53 45 54 3a 09   ┆LL SETF  ;   JMP BOOT    RESET: ┆
0x058280…0582a0             4d 56 49 09 43 2c 52 45 53 45 54 46 09 3b 0d 0a 09 4a 4d 50 09 42 44 4f 53 09 09 3b 0d 0a 0d 0a   ┆MVI C,RESETF ;   JMP BDOS  ;    ┆
0x0582a0…0582c0             4f 50 45 4e 3a 09 4d 56 49 09 43 2c 4f 50 45 4e 46 09 09 3b 0d 0a 09 4a 4d 50 09 42 44 4f 53 09   ┆OPEN: MVI C,OPENF  ;   JMP BDOS ┆
0x0582c0…0582e0             09 3b 0d 0a 0d 0a 43 4c 4f 53 45 3a 09 4d 56 49 09 43 2c 43 4c 4f 53 45 46 09 3b 0d 0a 09 4a 4d   ┆ ;    CLOSE: MVI C,CLOSEF ;   JM┆
0x0582e0…058300             50 09 42 44 4f 53 09 09 3b 0d 0a 0d 0a 44 45 4c 45 54 45 3a 09 4d 56 49 09 43 2c 44 45 4c 45 54   ┆P BDOS  ;    DELETE: MVI C,DELET┆
0x058300…058320             45 46 09 3b 0d 0a 09 4a 4d 50 09 42 44 4f 53 09 09 3b 0d 0a 0d 0a 52 45 41 44 3a 09 4d 56 49 09   ┆EF ;   JMP BDOS  ;    READ: MVI ┆
0x058320…058340             43 2c 52 45 41 44 46 09 09 3b 0d 0a 09 4a 4d 50 09 42 44 4f 53 09 09 3b 0d 0a 0d 0a 57 52 49 54   ┆C,READF  ;   JMP BDOS  ;    WRIT┆
0x058340…058360             45 3a 09 4d 56 49 09 43 2c 57 52 49 54 45 46 09 3b 0d 0a 09 4a 4d 50 09 42 44 4f 53 09 09 3b 0d   ┆E: MVI C,WRITEF ;   JMP BDOS  ; ┆
0x058360…058380             0a 0d 0a 4d 41 4b 45 3a 09 4d 56 49 09 43 2c 4d 41 4b 45 46 09 09 3b 0d 0a 09 4a 4d 50 09 42 44   ┆   MAKE: MVI C,MAKEF  ;   JMP BD┆
0x058380…0583a0             4f 53 09 09 3b 0d 0a 0d 0a 53 45 54 44 4d 41 3a 09 4d 56 49 09 43 2c 53 44 4d 41 46 09 09 3b 0d   ┆OS  ;    SETDMA: MVI C,SDMAF  ; ┆
0x0583a0…0583c0             0a 09 4a 4d 50 09 42 44 4f 53 09 09 3b 0d 0a 0d 0a 50 52 49 4e 54 3a 09 4d 56 49 09 43 2c 50 52   ┆  JMP BDOS  ;    PRINT: MVI C,PR┆
0x0583c0…0583e0             49 4e 54 46 09 3b 0d 0a 09 4a 4d 50 09 42 44 4f 53 09 09 3b 0d 0a 0d 0a 52 45 54 43 44 3a 09 4d   ┆INTF ;   JMP BDOS  ;    RETCD: M┆
0x0583e0…058400             56 49 09 43 2c 43 55 52 44 46 09 09 3b 0d 0a 09 4a 4d 50 09 42 44 4f 53 09 09 3b 0d 0a 0d 0a 4e   ┆VI C,CURDF  ;   JMP BDOS  ;    N┆
0x058400…058420 (23, 1, 2)  33 20 20 20 20 09 43 41 4c 4c 09 50 52 49 4e 54 09 09 3b 0d 0a 20 30 32 35 34 20 43 44 43 41 30   ┆3     CALL PRINT  ;   0254 CDCA0┆
0x058420…058440             32 20 20 20 20 09 43 41 4c 4c 09 43 4f 4e 53 49 09 09 3b 20 57 41 49 54 3b 0d 0a 20 30 32 35 37   ┆2     CALL CONSI  ; WAIT;   0257┆
0x058440…058460             20 32 41 30 30 30 34 20 20 20 20 09 4c 48 4c 44 09 44 46 09 09 3b 0d 0a 20 30 32 35 41 20 43 44   ┆ 2A0004     LHLD DF  ;   025A CD┆
0x058460…058480             45 30 30 31 20 20 20 20 09 43 41 4c 4c 09 53 45 54 46 09 09 3b 0d 0a 20 30 32 35 44 20 43 44 44   ┆E001     CALL SETF  ;   025D CDD┆
0x058480…0584a0             42 30 32 20 20 20 20 09 43 41 4c 4c 09 52 45 53 45 54 09 09 3b 20 52 45 53 45 54 20 44 52 49 56   ┆B02     CALL RESET  ; RESET DRIV┆
0x0584a0…0584c0             45 53 3b 0d 0a 20 30 32 36 30 20 31 31 30 37 30 34 20 20 20 20 09 4c 58 49 09 44 2c 44 46 43 42   ┆ES;   0260 110704     LXI D,DFCB┆
0x0584c0…0584e0             09 09 3b 0d 0a 20 30 32 36 33 20 43 44 45 41 30 32 20 20 20 20 09 43 41 4c 4c 09 44 45 4c 45 54   ┆  ;   0263 CDEA02     CALL DELET┆
0x0584e0…058500             45 09 09 3b 20 44 45 4c 45 54 45 20 44 45 53 54 49 4e 41 54 49 4f 4e 20 46 49 4c 45 3b 0d 0a 20   ┆E  ; DELETE DESTINATION FILE;   ┆
0x058500…058520             30 32 36 36 20 31 31 30 37 30 34 20 20 20 20 09 4c 58 49 09 44 2c 44 46 43 42 09 09 3b 0d 0a 20   ┆0266 110704     LXI D,DFCB  ;   ┆
0x058520…058540             30 32 36 39 20 43 44 46 39 30 32 20 20 20 20 09 43 41 4c 4c 09 4d 41 4b 45 09 09 3b 20 43 52 45   ┆0269 CDF902     CALL MAKE  ; CRE┆
0x058540…058560             41 54 45 20 44 45 53 54 49 4e 41 54 49 4f 4e 20 46 49 4c 45 3b 0d 0a 20 30 32 36 43 20 31 31 31   ┆ATE DESTINATION FILE;   026C 111┆
0x058560…058580             45 30 33 20 20 20 20 09 4c 58 49 09 44 2c 4e 4f 44 49 52 09 09 3b 0d 0a 20 30 32 36 46 20 33 43   ┆E03     LXI D,NODIR  ;   026F 3C┆
0x058580…0585a0             20 20 20 20 20 20 20 20 09 49 4e 52 09 41 09 09 3b 0d 0a 20 30 32 37 30 20 43 43 43 32 30 32 20   ┆         INR A  ;   0270 CCC202 ┆
0x0585a0…0585c0             20 20 20 09 43 5a 09 46 49 4e 49 53 09 09 3b 0d 0a 20 30 32 37 33 20 31 31 34 38 30 34 20 20 20   ┆    CZ FINIS  ;   0273 114804   ┆
0x0585c0…0585e0             20 09 4c 58 49 09 44 2c 42 55 46 09 09 3b 0d 0a 20 30 32 37 36 20 44 35 20 20 20 20 20 20 20 20   ┆  LXI D,BUF  ;   0276 D5        ┆
0x0585e0…058600             09 50 55 53 48 09 44 09 09 3b 0d 0a 20 30 32 37 37 20 43 44 46 45 30 32 20 20 20 20 09 43 41 4c   ┆ PUSH D  ;   0277 CDFE02     CAL┆
0x058600…058620 (23, 1, 3)  45 54 3a 09 4d 56 49 09 43 2c 52 45 53 45 54 46 09 3b 0d 0a 20 30 32 44 44 20 43 33 30 35 30 30   ┆ET: MVI C,RESETF ;   02DD C30500┆
0x058620…058640             20 20 20 20 09 4a 4d 50 09 42 44 4f 53 09 09 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆     JMP BDOS  ;                ┆
0x058640…058660             20 20 0d 0a 20 30 32 45 30 20 30 45 30 46 20 20 20 20 20 20 4f 50 45 4e 3a 09 4d 56 49 09 43 2c   ┆     02E0 0E0F      OPEN: MVI C,┆
0x058660…058680             4f 50 45 4e 46 09 09 3b 0d 0a 20 30 32 45 32 20 43 33 30 35 30 30 20 20 20 20 09 4a 4d 50 09 42   ┆OPENF  ;   02E2 C30500     JMP B┆
0x058680…0586a0             44 4f 53 09 09 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0d 0a 20 30 32 45 35 20   ┆DOS  ;                     02E5 ┆
0x0586a0…0586c0             30 45 31 30 20 20 20 20 20 20 43 4c 4f 53 45 3a 09 4d 56 49 09 43 2c 43 4c 4f 53 45 46 09 3b 0d   ┆0E10      CLOSE: MVI C,CLOSEF ; ┆
0x0586c0…0586e0             0a 20 30 32 45 37 20 43 33 30 35 30 30 20 20 20 20 09 4a 4d 50 09 42 44 4f 53 09 09 3b 0d 0a 20   ┆  02E7 C30500     JMP BDOS  ;   ┆
0x0586e0…058700             20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0d 0a 20 30 32 45 41 20 30 45 31 33 20 20 20 20 20   ┆                  02EA 0E13     ┆
0x058700…058720             20 44 45 4c 45 54 45 3a 09 4d 56 49 09 43 2c 44 45 4c 45 54 45 46 09 3b 0d 0a 20 30 32 45 43 20   ┆ DELETE: MVI C,DELETEF ;   02EC ┆
0x058720…058740             43 33 30 35 30 30 20 20 20 20 09 4a 4d 50 09 42 44 4f 53 09 09 3b 0d 0a 20 20 20 20 20 20 20 20   ┆C30500     JMP BDOS  ;          ┆
0x058740…058760             20 20 20 20 20 20 20 20 0d 0a 20 30 32 45 46 20 30 45 31 34 20 20 20 20 20 20 52 45 41 44 3a 09   ┆           02EF 0E14      READ: ┆
0x058760…058780             4d 56 49 09 43 2c 52 45 41 44 46 09 09 3b 0d 0a 20 30 32 46 31 20 43 33 30 35 30 30 20 20 20 20   ┆MVI C,READF  ;   02F1 C30500    ┆
0x058780…0587a0             09 4a 4d 50 09 42 44 4f 53 09 09 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0d 0a   ┆ JMP BDOS  ;                    ┆
0x0587a0…0587c0             20 30 32 46 34 20 30 45 31 35 20 20 20 20 20 20 57 52 49 54 45 3a 09 4d 56 49 09 43 2c 57 52 49   ┆ 02F4 0E15      WRITE: MVI C,WRI┆
0x0587c0…0587e0             54 45 46 09 3b 0d 0a 20 30 32 46 36 20 43 33 30 35 30 30 20 20 20 20 09 4a 4d 50 09 42 44 4f 53   ┆TEF ;   02F6 C30500     JMP BDOS┆
0x0587e0…058800             09 09 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0d 0a 20 30 32 46 39 20 30 45 31   ┆  ;                     02F9 0E1┆
0x058800…058820 (23, 1, 4)  30 30 35 43 48 0d 0a 53 46 43 42 09 45 51 55 09 46 43 42 31 0d 0a 46 43 42 32 09 45 51 55 09 30   ┆005CH  SFCB EQU FCB1  FCB2 EQU 0┆
0x058820…058840             30 36 43 48 0d 0a 44 42 55 46 46 20 20 20 45 51 55 09 30 30 38 30 48 0d 0a 54 50 41 09 45 51 55   ┆06CH  DBUFF   EQU 0080H  TPA EQU┆
0x058840…058860             09 30 31 30 30 48 0d 0a 0d 0a 57 42 4f 4f 54 20 20 20 45 51 55 20 20 20 20 20 31 0d 0a 46 44 46   ┆ 0100H    WBOOT   EQU     1  FDF┆
0x058860…058880             4f 52 4d 20 20 45 51 55 20 20 20 20 20 35 32 0d 0a 53 57 31 20 20 20 20 20 45 51 55 20 20 20 20   ┆ORM  EQU     52  SW1     EQU    ┆
0x058880…0588a0             20 31 34 48 0d 0a 43 4f 4e 53 49 46 09 45 51 55 09 31 0d 0a 50 52 49 4e 54 46 09 45 51 55 09 39   ┆ 14H  CONSIF EQU 1  PRINTF EQU 9┆
0x0588a0…0588c0             0d 0a 52 45 53 45 54 46 09 45 51 55 09 31 33 0d 0a 4f 50 45 4e 46 09 45 51 55 09 31 35 0d 0a 43   ┆  RESETF EQU 13  OPENF EQU 15  C┆
0x0588c0…0588e0             4c 4f 53 45 46 09 45 51 55 09 31 36 0d 0a 44 45 4c 45 54 45 46 09 45 51 55 09 31 39 0d 0a 52 45   ┆LOSEF EQU 16  DELETEF EQU 19  RE┆
0x0588e0…058900             41 44 46 09 45 51 55 09 32 30 0d 0a 57 52 49 54 45 46 09 45 51 55 09 32 31 0d 0a 4d 41 4b 45 46   ┆ADF EQU 20  WRITEF EQU 21  MAKEF┆
0x058900…058920             09 45 51 55 09 32 32 0d 0a 53 44 4d 41 46 09 45 51 55 09 32 36 0d 0a 0d 0a 09 4f 52 47 09 54 50   ┆ EQU 22  SDMAF EQU 26     ORG TP┆
0x058920…058940             41 0d 0a 0d 0a 09 50 4f 50 09 48 09 09 3b 20 53 41 56 45 20 52 45 54 55 52 4e 20 54 4f 20 43 43   ┆A     POP H  ; SAVE RETURN TO CC┆
0x058940…058960             50 0d 0a 09 53 48 4c 44 09 43 43 50 52 45 54 09 09 3b 0d 0a 09 4c 58 49 09 53 50 2c 53 54 41 43   ┆P   SHLD CCPRET  ;   LXI SP,STAC┆
0x058960…058980             4b 09 3b 20 53 45 54 20 4c 4f 43 41 4c 20 53 54 41 43 4b 0d 0a 09 4c 58 49 09 48 2c 44 42 55 46   ┆K ; SET LOCAL STACK   LXI H,DBUF┆
0x058980…0589a0             46 09 09 3b 20 50 41 44 20 43 4f 4d 4d 41 4e 44 20 42 55 46 46 45 52 0d 0a 09 49 4e 52 09 4d 09   ┆F  ; PAD COMMAND BUFFER   INR M ┆
0x0589a0…0589c0             09 3b 0d 0a 09 4d 4f 56 09 45 2c 4d 09 09 3b 0d 0a 09 49 4e 52 09 4d 09 09 3b 0d 0a 09 4d 56 49   ┆ ;   MOV E,M  ;   INR M  ;   MVI┆
0x0589c0…0589e0             09 44 2c 30 09 09 3b 0d 0a 09 44 41 44 09 44 09 09 3b 0d 0a 09 4d 56 49 09 4d 2c 27 20 27 09 09   ┆ D,0  ;   DAD D  ;   MVI M,' '  ┆
0x0589e0…058a00             3b 0d 0a 09 4c 48 4c 44 09 57 42 4f 4f 54 09 09 3b 20 53 41 56 45 20 46 44 20 46 4f 52 4d 41 54   ┆;   LHLD WBOOT  ; SAVE FD FORMAT┆
0x058a00…058a20 (23, 1, 5)  4f 46 49 4c 45 3a 09 44 42 09 27 4e 4f 20 53 4f 55 52 43 45 20 46 49 4c 45 27 2c 31 33 2c 31 30   ┆OFILE: DB 'NO SOURCE FILE',13,10┆
0x058a20…058a40             2c 33 36 0d 0a 4e 4f 44 49 52 3a 09 44 42 09 27 4e 4f 20 44 49 52 45 43 54 4f 52 59 20 53 50 41   ┆,36  NODIR: DB 'NO DIRECTORY SPA┆
0x058a40…058a60             43 45 27 2c 31 33 2c 31 30 2c 33 36 0d 0a 53 50 41 43 45 3a 09 44 42 09 27 4f 55 54 20 4f 46 20   ┆CE',13,10,36  SPACE: DB 'OUT OF ┆
0x058a60…058a80             44 41 54 41 20 53 50 41 43 45 27 2c 31 33 2c 31 30 2c 33 36 0d 0a 57 52 50 52 4f 54 3a 20 44 42   ┆DATA SPACE',13,10,36  WRPROT: DB┆
0x058a80…058aa0             09 27 57 52 49 54 45 20 50 52 4f 54 45 43 54 45 44 3f 27 2c 31 33 2c 31 30 2c 33 36 0d 0a 4e 4f   ┆ 'WRITE PROTECTED?',13,10,36  NO┆
0x058aa0…058ac0             52 4d 41 4c 3a 20 44 42 09 27 54 52 41 4e 53 46 45 52 20 43 4f 4d 50 4c 45 54 45 44 27 2c 31 33   ┆RMAL: DB 'TRANSFER COMPLETED',13┆
0x058ac0…058ae0             2c 31 30 2c 33 36 0d 0a 54 4f 4f 42 49 47 3a 09 44 42 09 27 46 49 4c 45 20 54 4f 4f 20 42 49 47   ┆,10,36  TOOBIG: DB 'FILE TOO BIG┆
0x058ae0…058b00             27 2c 31 33 2c 31 30 2c 33 36 0d 0a 53 57 4f 50 53 3a 09 44 42 09 27 49 4e 53 45 52 54 20 44 45   ┆',13,10,36  SWOPS: DB 'INSERT DE┆
0x058b00…058b20             53 54 49 4e 41 54 49 4f 4e 20 44 49 53 4b 20 41 4e 44 20 54 59 50 45 20 3c 52 45 54 55 52 4e 3e   ┆STINATION DISK AND TYPE <RETURN>┆
0x058b20…058b40             27 2c 31 33 2c 31 30 2c 33 36 0d 0a 53 57 4f 50 44 3a 20 20 44 42 09 27 49 4e 53 45 52 54 20 53   ┆',13,10,36  SWOPD:  DB 'INSERT S┆
0x058b40…058b60             4f 55 52 43 45 20 44 49 53 4b 20 41 4e 44 20 54 59 50 45 20 3c 52 45 54 55 52 4e 3e 27 2c 31 33   ┆OURCE DISK AND TYPE <RETURN>',13┆
0x058b60…058b80             2c 31 30 2c 33 36 0d 0a 53 57 4f 50 59 3a 20 20 44 42 09 27 49 4e 53 45 52 54 20 53 59 53 54 45   ┆,10,36  SWOPY:  DB 'INSERT SYSTE┆
0x058b80…058ba0             4d 20 44 49 53 4b 20 41 4e 44 20 54 59 50 45 20 3c 52 45 54 55 52 4e 3e 27 2c 31 33 2c 31 30 2c   ┆M DISK AND TYPE <RETURN>',13,10,┆
0x058ba0…058bc0             33 36 0d 0a 0d 0a 41 46 4f 52 4d 3a 09 44 57 09 30 0d 0a 53 46 4f 52 4d 3a 09 44 57 09 30 0d 0a   ┆36    AFORM: DW 0  SFORM: DW 0  ┆
0x058bc0…058be0             43 41 44 44 52 3a 09 44 57 09 30 0d 0a 53 46 3a 09 44 57 09 30 0d 0a 44 46 3a 09 44 57 09 30 0d   ┆CADDR: DW 0  SF: DW 0  DF: DW 0 ┆
0x058be0…058c00             0a 53 44 52 49 56 3a 09 44 42 09 30 0d 0a 44 44 52 49 56 3a 09 44 42 09 30 0d 0a 0d 0a 0d 0a 53   ┆ SDRIV: DB 0  DDRIV: DB 0      S┆
0x058c00…058c20 (23, 1, 6)  4c 09 53 45 54 44 4d 41 09 09 3b 20 53 45 54 20 42 55 46 46 45 52 20 41 44 44 52 45 53 53 0d 0a   ┆L SETDMA  ; SET BUFFER ADDRESS  ┆
0x058c20…058c40             20 30 32 37 41 20 31 31 30 37 30 34 20 20 20 20 57 44 41 54 41 3a 09 4c 58 49 09 44 2c 44 46 43   ┆ 027A 110704    WDATA: LXI D,DFC┆
0x058c40…058c60             42 09 09 3b 0d 0a 20 30 32 37 44 20 43 44 46 34 30 32 20 20 20 20 09 43 41 4c 4c 09 57 52 49 54   ┆B  ;   027D CDF402     CALL WRIT┆
0x058c60…058c80             45 09 09 3b 20 57 52 49 54 45 20 52 45 43 4f 52 44 3a 0d 0a 20 30 32 38 30 20 31 31 33 33 30 33   ┆E  ; WRITE RECORD:   0280 113303┆
0x058c80…058ca0             20 20 20 20 09 4c 58 49 09 44 2c 53 50 41 43 45 09 09 3b 0d 0a 20 30 32 38 33 20 42 37 20 20 20   ┆     LXI D,SPACE  ;   0283 B7   ┆
0x058ca0…058cc0             20 20 20 20 20 09 4f 52 41 09 41 09 09 3b 0d 0a 20 30 32 38 34 20 43 34 43 32 30 32 20 20 20 20   ┆      ORA A  ;   0284 C4C202    ┆
0x058cc0…058ce0             09 43 4e 5a 09 46 49 4e 49 53 09 09 3b 0d 0a 20 30 32 38 37 20 44 31 20 20 20 20 20 20 20 20 09   ┆ CNZ FINIS  ;   0287 D1         ┆
0x058ce0…058d00             50 4f 50 09 44 09 09 3b 20 55 50 44 41 54 45 20 42 55 46 41 44 52 0d 0a 20 30 32 38 38 20 32 31   ┆POP D  ; UPDATE BUFADR   0288 21┆
0x058d00…058d20             38 30 30 30 20 20 20 20 09 4c 58 49 09 48 2c 31 32 38 09 09 3b 0d 0a 20 30 32 38 42 20 31 39 20   ┆8000     LXI H,128  ;   028B 19 ┆
0x058d20…058d40             20 20 20 20 20 20 20 09 44 41 44 09 44 09 09 3b 0d 0a 20 30 32 38 43 20 45 42 20 20 20 20 20 20   ┆        DAD D  ;   028C EB      ┆
0x058d40…058d60             20 20 09 58 43 48 47 09 09 09 3b 0d 0a 20 30 32 38 44 20 44 35 20 20 20 20 20 20 20 20 09 50 55   ┆   XCHG   ;   028D D5         PU┆
0x058d60…058d80             53 48 09 44 09 09 3b 0d 0a 20 30 32 38 45 20 43 44 46 45 30 32 20 20 20 20 09 43 41 4c 4c 09 53   ┆SH D  ;   028E CDFE02     CALL S┆
0x058d80…058da0             45 54 44 4d 41 09 09 3b 0d 0a 20 30 32 39 31 20 32 31 30 34 30 34 20 20 20 20 09 4c 58 49 09 48   ┆ETDMA  ;   0291 210404     LXI H┆
0x058da0…058dc0             2c 53 45 43 43 4e 54 09 3b 20 53 45 43 54 4f 52 43 4f 55 4e 54 3a 3d 53 45 43 54 4f 49 52 43 4f   ┆,SECCNT ; SECTORCOUNT:=SECTOIRCO┆
0x058dc0…058de0             55 4e 54 2d 31 3b 0d 0a 20 30 32 39 34 20 33 35 20 20 20 20 20 20 20 20 09 44 43 52 09 4d 09 09   ┆UNT-1;   0294 35         DCR M  ┆
0x058de0…058e00             3b 0d 0a 20 30 32 39 35 20 43 32 37 41 30 32 20 20 20 20 09 4a 4e 5a 09 57 44 41 54 41 09 09 3b   ┆;   0295 C27A02     JNZ WDATA  ;┆
0x058e00…058e20 (23, 1, 7)  36 20 20 20 20 20 20 4d 41 4b 45 3a 09 4d 56 49 09 43 2c 4d 41 4b 45 46 09 09 3b 0d 0a 20 30 32   ┆6      MAKE: MVI C,MAKEF  ;   02┆
0x058e20…058e40             46 42 20 43 33 30 35 30 30 20 20 20 20 09 4a 4d 50 09 42 44 4f 53 09 09 3b 0d 0a 20 20 20 20 20   ┆FB C30500     JMP BDOS  ;       ┆
0x058e40…058e60             20 20 20 20 20 20 20 20 20 20 20 0d 0a 20 30 32 46 45 20 30 45 31 41 20 20 20 20 20 20 53 45 54   ┆              02FE 0E1A      SET┆
0x058e60…058e80             44 4d 41 3a 09 4d 56 49 09 43 2c 53 44 4d 41 46 09 09 3b 0d 0a 20 30 33 30 30 20 43 33 30 35 30   ┆DMA: MVI C,SDMAF  ;   0300 C3050┆
0x058e80…058ea0             30 20 20 20 20 09 4a 4d 50 09 42 44 4f 53 09 09 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆0     JMP BDOS  ;               ┆
0x058ea0…058ec0             20 20 20 0d 0a 20 30 33 30 33 20 30 45 30 39 20 20 20 20 20 20 50 52 49 4e 54 3a 09 4d 56 49 09   ┆      0303 0E09      PRINT: MVI ┆
0x058ec0…058ee0             43 2c 50 52 49 4e 54 46 09 3b 0d 0a 20 30 33 30 35 20 43 33 30 35 30 30 20 20 20 20 09 4a 4d 50   ┆C,PRINTF ;   0305 C30500     JMP┆
0x058ee0…058f00             09 42 44 4f 53 09 09 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0d 0a 20 30 33 30   ┆ BDOS  ;                     030┆
0x058f00…058f20             38 20 30 45 31 39 20 20 20 20 20 20 52 45 54 43 44 3a 09 4d 56 49 09 43 2c 43 55 52 44 46 09 09   ┆8 0E19      RETCD: MVI C,CURDF  ┆
0x058f20…058f40             3b 0d 0a 20 30 33 30 41 20 43 33 30 35 30 30 20 20 20 20 09 4a 4d 50 09 42 44 4f 53 09 09 3b 0d   ┆;   030A C30500     JMP BDOS  ; ┆
0x058f40…058f60             0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0d 0a 20 30 33 30 44 20 34 45 34 46 32 30 35   ┆                    030D 4E4F205┆
0x058f60…058f80             33 34 46 4e 4f 46 49 4c 45 3a 09 44 42 09 27 4e 4f 20 53 4f 55 52 43 45 20 46 49 4c 45 27 2c 31   ┆34FNOFILE: DB 'NO SOURCE FILE',1┆
0x058f80…058fa0             33 2c 31 30 2c 33 36 0d 0a 20 30 33 31 45 20 34 45 34 46 32 30 34 34 34 39 4e 4f 44 49 52 3a 09   ┆3,10,36   031E 4E4F204449NODIR: ┆
0x058fa0…058fc0             44 42 09 27 4e 4f 20 44 49 52 45 43 54 4f 52 59 20 53 50 41 43 45 27 2c 31 33 2c 31 30 2c 33 36   ┆DB 'NO DIRECTORY SPACE',13,10,36┆
0x058fc0…058fe0             0d 0a 20 30 33 33 33 20 34 46 35 35 35 34 32 30 34 46 53 50 41 43 45 3a 09 44 42 09 27 4f 55 54   ┆   0333 4F5554204FSPACE: DB 'OUT┆
0x058fe0…059000             20 4f 46 20 44 41 54 41 20 53 50 41 43 45 27 2c 31 33 2c 31 30 2c 33 36 0d 0a 20 30 33 34 37 20   ┆ OF DATA SPACE',13,10,36   0347 ┆
0x059000…059020 (23, 1, 8)  53 0d 0a 09 4c 58 49 09 44 2c 46 44 46 4f 52 4d 09 3b 0d 0a 09 44 41 44 09 44 09 09 3b 0d 0a 09   ┆S   LXI D,FDFORM ;   DAD D  ;   ┆
0x059020…059040             53 48 4c 44 09 41 46 4f 52 4d 09 09 3b 0d 0a 09 4d 4f 56 09 41 2c 4d 09 09 3b 0d 0a 09 53 54 41   ┆SHLD AFORM  ;   MOV A,M  ;   STA┆
0x059040…059060             09 53 46 4f 52 4d 09 09 3b 0d 0a 09 49 4e 58 09 48 09 09 3b 0d 0a 09 4d 4f 56 09 41 2c 4d 09 09   ┆ SFORM  ;   INX H  ;   MOV A,M  ┆
0x059060…059080             3b 0d 0a 09 53 54 41 09 53 46 4f 52 4d 2b 31 09 09 3b 0d 0a 09 4c 48 4c 44 09 53 46 4f 52 4d 09   ┆;   STA SFORM+1  ;   LHLD SFORM ┆
0x059080…0590a0             09 3b 0d 0a 09 53 48 4c 44 09 43 46 4f 52 4d 09 09 3b 0d 0a 09 4c 58 49 09 48 2c 44 42 55 46 46   ┆ ;   SHLD CFORM  ;   LXI H,DBUFF┆
0x0590a0…0590c0             09 09 3b 20 53 45 54 55 50 20 43 48 41 52 20 53 43 41 4e 0d 0a 09 49 4e 58 09 48 09 09 3b 0d 0a   ┆  ; SETUP CHAR SCAN   INX H  ;  ┆
0x0590c0…0590e0             09 53 48 4c 44 09 43 41 44 44 52 09 09 3b 0d 0a 09 4a 4d 50 09 53 43 41 4e 09 09 3b 0d 0a 0d 0a   ┆ SHLD CADDR  ;   JMP SCAN  ;    ┆
0x0590e0…059100             4e 43 48 41 52 3a 20 20 4c 58 49 09 48 2c 44 42 55 46 46 09 09 3b 20 47 45 54 20 4e 45 58 54 20   ┆NCHAR:  LXI H,DBUFF  ; GET NEXT ┆
0x059100…059120             43 48 41 52 3a 0d 0a 09 44 43 52 09 4d 09 09 3b 0d 0a 09 4a 5a 09 53 45 54 46 44 46 09 09 3b 20   ┆CHAR:   DCR M  ;   JZ SETFDF  ; ┆
0x059120…059140             49 46 20 45 4f 4c 20 54 48 45 4e 20 45 58 49 54 0d 0a 09 4c 48 4c 44 09 43 41 44 44 52 09 09 3b   ┆IF EOL THEN EXIT   LHLD CADDR  ;┆
0x059140…059160             0d 0a 09 4d 4f 56 09 41 2c 4d 09 09 3b 20 20 20 20 20 20 20 20 45 4c 53 45 20 50 49 43 4b 55 50   ┆   MOV A,M  ;        ELSE PICKUP┆
0x059160…059180             20 43 48 41 52 3b 0d 0a 09 49 4e 58 09 48 09 09 3b 0d 0a 09 53 48 4c 44 09 43 41 44 44 52 09 09   ┆ CHAR;   INX H  ;   SHLD CADDR  ┆
0x059180…0591a0             3b 0d 0a 09 52 45 54 09 09 20 09 3b 20 52 45 54 55 52 4e 3b 0d 0a 0d 0a 53 43 41 4e 3a 09 4c 58   ┆;   RET    ; RETURN;    SCAN: LX┆
0x0591a0…0591c0             49 09 42 2c 30 09 09 3b 20 44 52 49 56 45 2c 44 45 4e 53 49 54 59 3a 3d 41 2c 53 53 0d 0a 09 43   ┆I B,0  ; DRIVE,DENSITY:=A,SS   C┆
0x0591c0…0591e0             41 4c 4c 09 4e 43 48 41 52 09 09 3b 0d 0a 09 43 50 49 09 27 41 27 09 09 3b 20 53 45 41 52 43 48   ┆ALL NCHAR  ;   CPI 'A'  ; SEARCH┆
0x0591e0…059200             20 41 20 4f 52 20 42 20 44 52 49 56 45 3a 0d 0a 09 4a 5a 09 53 43 4f 4c 09 09 3b 0d 0a 09 43 50   ┆ A OR B DRIVE:   JZ SCOL  ;   CP┆
0x059200…059220 (23, 1, 9)  45 43 43 4e 54 3a 20 44 42 09 30 0d 0a 43 43 50 52 45 54 3a 20 44 57 09 30 0d 0a 0d 0a 44 46 43   ┆ECCNT: DB 0  CCPRET: DW 0    DFC┆
0x059220…059240             42 3a 09 44 53 09 33 33 09 09 3b 20 44 45 53 54 49 4e 41 54 49 4f 4e 20 46 43 42 0d 0a 44 46 43   ┆B: DS 33  ; DESTINATION FCB  DFC┆
0x059240…059260             42 43 52 09 45 51 55 09 44 46 43 42 2b 33 32 09 09 3b 0d 0a 0d 0a 09 44 53 09 33 31 09 09 3b 0d   ┆BCR EQU DFCB+32  ;     DS 31  ; ┆
0x059260…059280             0a 53 54 41 43 4b 3a 09 44 53 09 31 09 09 3b 20 4c 4f 43 41 4c 20 53 54 41 43 4b 0d 0a 0d 0a 42   ┆ STACK: DS 1  ; LOCAL STACK    B┆
0x059280…0592a0             55 46 3a 09 44 57 09 30 09 09 3b 20 52 45 41 44 2f 57 52 49 54 45 20 42 55 46 46 45 52 0d 0a 0d   ┆UF: DW 0  ; READ/WRITE BUFFER   ┆
0x0592a0…0592c0             0a 09 45 4e 44 09 30 31 30 30 48 0d 0a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a   ┆  END 0100H                     ┆
0x0592c0…0592e0             1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a   ┆                                ┆
          […0x1…]
0x059300…059320             53 54 49 4e 41 54 49 4f 4e 20 44 49 53 4b 20 41 4e 44 20 54 59 50 45 20 3c 52 45 54 55 52 4e 3e   ┆STINATION DISK AND TYPE <RETURN>┆
0x059320…059340             27 2c 31 33 2c 31 30 2c 33 36 0d 0a 53 57 4f 50 44 3a 20 20 44 42 09 27 49 4e 53 45 52 54 20 53   ┆',13,10,36  SWOPD:  DB 'INSERT S┆
0x059340…059360             4f 55 52 43 45 20 44 49 53 4b 20 41 4e 44 20 54 59 50 45 20 3c 52 45 54 55 52 4e 3e 27 2c 31 33   ┆OURCE DISK AND TYPE <RETURN>',13┆
0x059360…059380             2c 31 30 2c 33 36 0d 0a 53 57 4f 50 59 3a 20 20 44 42 09 27 49 4e 53 45 52 54 20 53 59 53 54 45   ┆,10,36  SWOPY:  DB 'INSERT SYSTE┆
0x059380…0593a0             4d 20 44 49 53 4b 20 41 4e 44 20 54 59 50 45 20 3c 52 45 54 55 52 4e 3e 27 2c 31 33 2c 31 30 2c   ┆M DISK AND TYPE <RETURN>',13,10,┆
0x0593a0…0593c0             33 36 0d 0a 0d 0a 41 46 4f 52 4d 3a 09 44 57 09 30 0d 0a 53 46 4f 52 4d 3a 09 44 57 09 30 0d 0a   ┆36    AFORM: DW 0  SFORM: DW 0  ┆
0x0593c0…0593e0             43 41 44 44 52 3a 09 44 57 09 30 0d 0a 53 46 3a 09 44 57 09 30 0d 0a 44 46 3a 09 44 57 09 30 0d   ┆CADDR: DW 0  SF: DW 0  DF: DW 0 ┆
0x0593e0…059400             0a 53 44 52 49 56 3a 09 44 42 09 30 0d 0a 44 44 52 49 56 3a 09 44 42 09 30 0d 0a 0d 0a 0d 0a 53   ┆ SDRIV: DB 0  DDRIV: DB 0      S┆
0x059400…059420 (23, 1, 10) 20 49 46 20 53 45 43 54 4f 52 43 4f 55 4e 54 3e 30 20 54 48 45 4e 20 47 4f 54 4f 20 57 52 49 54   ┆ IF SECTORCOUNT>0 THEN GOTO WRIT┆
0x059420…059440             45 52 45 43 3b 0d 0a 20 30 32 39 38 20 44 31 20 20 20 20 20 20 20 20 09 50 4f 50 09 44 09 09 3b   ┆EREC;   0298 D1         POP D  ;┆
0x059440…059460             0d 0a 20 30 32 39 39 20 31 31 30 37 30 34 20 20 20 20 09 4c 58 49 09 44 2c 44 46 43 42 09 09 3b   ┆   0299 110704     LXI D,DFCB  ;┆
0x059460…059480             0d 0a 20 30 32 39 43 20 43 44 45 35 30 32 20 20 20 20 09 43 41 4c 4c 09 43 4c 4f 53 45 09 09 3b   ┆   029C CDE502     CALL CLOSE  ;┆
0x059480…0594a0             20 43 4c 4f 53 45 20 44 45 53 54 49 4e 41 54 49 4f 4e 20 46 49 4c 45 3b 0d 0a 20 30 32 39 46 20   ┆ CLOSE DESTINATION FILE;   029F ┆
0x0594a0…0594c0             31 31 34 37 30 33 20 20 20 20 09 4c 58 49 09 44 2c 57 52 50 52 4f 54 09 3b 0d 0a 20 30 32 41 32   ┆114703     LXI D,WRPROT ;   02A2┆
0x0594c0…0594e0             20 33 43 20 20 20 20 20 20 20 20 09 49 4e 52 09 41 09 09 3b 0d 0a 20 30 32 41 33 20 43 43 43 32   ┆ 3C         INR A  ;   02A3 CCC2┆
0x0594e0…059500             30 32 20 20 20 20 09 43 5a 09 46 49 4e 49 53 09 09 3b 0d 0a 20 30 32 41 36 20 31 31 35 41 30 33   ┆02     CZ FINIS  ;   02A6 115A03┆
0x059500…059520             20 20 20 20 09 4c 58 49 09 44 2c 4e 4f 52 4d 41 4c 09 3b 0d 0a 20 30 32 41 39 20 43 44 30 33 30   ┆     LXI D,NORMAL ;   02A9 CD030┆
0x059520…059540             33 20 20 20 20 09 43 41 4c 4c 09 50 52 49 4e 54 09 09 3b 0d 0a 20 30 32 41 43 20 31 31 44 31 30   ┆3     CALL PRINT  ;   02AC 11D10┆
0x059540…059560             33 20 20 20 20 4d 53 59 53 46 3a 09 4c 58 49 09 44 2c 53 57 4f 50 59 09 09 3b 0d 0a 20 30 32 41   ┆3    MSYSF: LXI D,SWOPY  ;   02A┆
0x059560…059580             46 20 43 44 30 33 30 33 20 20 20 20 09 43 41 4c 4c 09 50 52 49 4e 54 09 09 3b 0d 0a 20 30 32 42   ┆F CD0303     CALL PRINT  ;   02B┆
0x059580…0595a0             32 20 43 44 43 41 30 32 20 20 20 20 09 43 41 4c 4c 09 43 4f 4e 53 49 09 09 3b 20 57 41 49 54 20   ┆2 CDCA02     CALL CONSI  ; WAIT ┆
0x0595a0…0595c0             44 49 53 4b 20 43 48 41 4e 47 45 44 20 42 41 43 4b 3b 0d 0a 20 30 32 42 35 20 32 41 46 41 30 33   ┆DISK CHANGED BACK;   02B5 2AFA03┆
0x0595c0…0595e0             20 20 20 20 09 4c 48 4c 44 09 53 46 4f 52 4d 09 09 3b 0d 0a 20 30 32 42 38 20 43 44 45 30 30 31   ┆     LHLD SFORM  ;   02B8 CDE001┆
0x0595e0…059600             20 20 20 20 09 43 41 4c 4c 09 53 45 54 46 09 09 3b 0d 0a 20 30 32 42 42 20 43 44 44 42 30 32 20   ┆     CALL SETF  ;   02BB CDDB02 ┆
0x059600…059620 (23, 1, 11) 35 37 35 32 34 39 35 34 34 35 57 52 50 52 4f 54 3a 20 44 42 09 27 57 52 49 54 45 20 50 52 4f 54   ┆5752495445WRPROT: DB 'WRITE PROT┆
0x059620…059640             45 43 54 45 44 3f 27 2c 31 33 2c 31 30 2c 33 36 0d 0a 20 30 33 35 41 20 35 34 35 32 34 31 34 45   ┆ECTED?',13,10,36   035A 5452414E┆
0x059640…059660             35 33 4e 4f 52 4d 41 4c 3a 20 44 42 09 27 54 52 41 4e 53 46 45 52 20 43 4f 4d 50 4c 45 54 45 44   ┆53NORMAL: DB 'TRANSFER COMPLETED┆
0x059660…059680             27 2c 31 33 2c 31 30 2c 33 36 0d 0a 20 30 33 36 46 20 34 36 34 39 34 43 34 35 32 30 54 4f 4f 42   ┆',13,10,36   036F 46494C4520TOOB┆
0x059680…0596a0             49 47 3a 09 44 42 09 27 46 49 4c 45 20 54 4f 4f 20 42 49 47 27 2c 31 33 2c 31 30 2c 33 36 0d 0a   ┆IG: DB 'FILE TOO BIG',13,10,36  ┆
0x0596a0…0596c0             20 30 33 37 45 20 34 39 34 45 35 33 34 35 35 32 53 57 4f 50 53 3a 09 44 42 09 27 49 4e 53 45 52   ┆ 037E 494E534552SWOPS: DB 'INSER┆
0x0596c0…0596e0             54 20 44 45 53 54 49 4e 41 54 49 4f 4e 20 44 49 53 4b 20 41 4e 44 20 54 59 50 45 20 3c 52 45 54   ┆T DESTINATION DISK AND TYPE <RET┆
0x0596e0…059700             55 52 4e 3e 27 2c 31 33 2c 31 30 2c 33 36 0d 0a 20 30 33 41 41 20 34 39 34 45 35 33 34 35 35 32   ┆URN>',13,10,36   03AA 494E534552┆
0x059700…059720             53 57 4f 50 44 3a 20 20 44 42 09 27 49 4e 53 45 52 54 20 53 4f 55 52 43 45 20 44 49 53 4b 20 41   ┆SWOPD:  DB 'INSERT SOURCE DISK A┆
0x059720…059740             4e 44 20 54 59 50 45 20 3c 52 45 54 55 52 4e 3e 27 2c 31 33 2c 31 30 2c 33 36 0d 0a 20 30 33 44   ┆ND TYPE <RETURN>',13,10,36   03D┆
0x059740…059760             31 20 34 39 34 45 35 33 34 35 35 32 53 57 4f 50 59 3a 20 20 44 42 09 27 49 4e 53 45 52 54 20 53   ┆1 494E534552SWOPY:  DB 'INSERT S┆
0x059760…059780             59 53 54 45 4d 20 44 49 53 4b 20 41 4e 44 20 54 59 50 45 20 3c 52 45 54 55 52 4e 3e 27 2c 31 33   ┆YSTEM DISK AND TYPE <RETURN>',13┆
0x059780…0597a0             2c 31 30 2c 33 36 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0d 0a 20 30 33 46 38 20   ┆,10,36                     03F8 ┆
0x0597a0…0597c0             30 30 30 30 20 20 20 20 20 20 41 46 4f 52 4d 3a 09 44 57 09 30 0d 0a 20 30 33 46 41 20 30 30 30   ┆0000      AFORM: DW 0   03FA 000┆
0x0597c0…0597e0             30 20 20 20 20 20 20 53 46 4f 52 4d 3a 09 44 57 09 30 0d 0a 20 30 33 46 43 20 30 30 30 30 20 20   ┆0      SFORM: DW 0   03FC 0000  ┆
0x0597e0…059800             20 20 20 20 43 41 44 44 52 3a 09 44 57 09 30 0d 0a 20 30 33 46 45 20 30 30 30 30 20 20 20 20 20   ┆    CADDR: DW 0   03FE 0000     ┆
0x059800…059820 (23, 1, 12) 49 09 27 42 27 09 09 3b 0d 0a 09 4a 4e 5a 09 53 43 41 4e 09 09 3b 0d 0a 09 49 4e 52 09 42 09 09   ┆I 'B'  ;   JNZ SCAN  ;   INR B  ┆
0x059820…059840             3b 0d 0a 53 43 4f 4c 3a 09 43 41 4c 4c 09 4e 43 48 41 52 09 09 3b 20 53 45 41 52 43 48 20 43 4f   ┆;  SCOL: CALL NCHAR  ; SEARCH CO┆
0x059840…059860             4c 4f 4e 3a 0d 0a 09 43 50 49 09 27 3a 27 09 09 3b 0d 0a 09 4a 4e 5a 09 53 43 41 4e 09 09 3b 0d   ┆LON:   CPI ':'  ;   JNZ SCAN  ; ┆
0x059860…059880             0a 09 43 41 4c 4c 09 4e 43 48 41 52 09 09 3b 20 53 45 41 52 43 48 20 45 51 55 41 4c 3a 0d 0a 09   ┆  CALL NCHAR  ; SEARCH EQUAL:   ┆
0x059880…0598a0             43 50 49 09 27 3d 27 09 09 3b 0d 0a 09 4a 4e 5a 09 53 43 41 4e 09 09 3b 0d 0a 09 43 41 4c 4c 09   ┆CPI '='  ;   JNZ SCAN  ;   CALL ┆
0x0598a0…0598c0             4e 43 48 41 52 09 09 3b 20 53 45 41 52 43 48 20 44 45 4e 53 49 54 59 3a 0d 0a 09 43 50 49 09 27   ┆NCHAR  ; SEARCH DENSITY:   CPI '┆
0x0598c0…0598e0             53 27 09 09 3b 0d 0a 09 4a 5a 09 53 53 53 09 09 3b 0d 0a 09 43 50 49 09 27 44 27 09 09 3b 0d 0a   ┆S'  ;   JZ SSS  ;   CPI 'D'  ;  ┆
0x0598e0…059900             09 4a 4e 5a 09 53 43 41 4e 09 09 3b 0d 0a 09 43 41 4c 4c 09 4e 43 48 41 52 09 09 3b 0d 0a 09 43   ┆ JNZ SCAN  ;   CALL NCHAR  ;   C┆
0x059900…059920             50 49 09 27 44 27 09 09 3b 0d 0a 09 4a 4e 5a 09 53 43 41 4e 09 09 3b 0d 0a 09 43 41 4c 4c 09 4e   ┆PI 'D'  ;   JNZ SCAN  ;   CALL N┆
0x059920…059940             43 48 41 52 09 09 3b 20 53 45 41 52 43 48 20 53 50 41 43 45 3a 0d 0a 09 43 50 49 09 27 20 27 09   ┆CHAR  ; SEARCH SPACE:   CPI ' ' ┆
0x059940…059960             09 3b 0d 0a 09 4a 4e 5a 09 53 43 41 4e 09 09 3b 0d 0a 09 4d 56 49 09 43 2c 38 09 09 3b 0d 0a 09   ┆ ;   JNZ SCAN  ;   MVI C,8  ;   ┆
0x059960…059980             4a 4d 50 09 53 45 54 43 46 09 09 3b 0d 0a 53 53 53 3a 09 43 41 4c 4c 09 4e 43 48 41 52 09 09 3b   ┆JMP SETCF  ;  SSS: CALL NCHAR  ;┆
0x059980…0599a0             0d 0a 09 43 50 49 09 27 53 27 09 09 3b 0d 0a 09 4a 4e 5a 09 53 43 41 4e 09 09 3b 0d 0a 09 43 41   ┆   CPI 'S'  ;   JNZ SCAN  ;   CA┆
0x0599a0…0599c0             4c 4c 09 4e 43 48 41 52 09 09 3b 0d 0a 09 43 50 49 09 27 20 27 09 09 3b 0d 0a 09 4a 4e 5a 09 53   ┆LL NCHAR  ;   CPI ' '  ;   JNZ S┆
0x0599c0…0599e0             43 41 4e 09 09 3b 0d 0a 53 45 54 43 46 3a 09 4c 58 49 09 48 2c 43 46 4f 52 4d 09 09 3b 20 53 45   ┆CAN  ;  SETCF: LXI H,CFORM  ; SE┆
0x0599e0…059a00             54 20 43 55 52 52 45 4e 54 20 46 4f 52 4d 41 54 3a 0d 0a 09 4d 56 49 09 44 2c 30 09 09 3b 0d 0a   ┆T CURRENT FORMAT:   MVI D,0  ;  ┆
0x059a00…059a20 (23, 1, 13) 09 09 3b 20 49 46 20 45 4f 46 20 54 48 45 4e 20 47 4f 54 4f 20 43 48 41 4e 47 45 20 44 49 53 4b   ┆  ; IF EOF THEN GOTO CHANGE DISK┆
0x059a20…059a40             3b 0d 0a 20 30 32 33 37 20 32 31 38 30 30 30 20 20 20 20 09 4c 58 49 09 48 2c 31 32 38 09 09 3b   ┆;   0237 218000     LXI H,128  ;┆
0x059a40…059a60             0d 0a 20 30 32 33 41 20 31 39 20 20 20 20 20 20 20 20 09 44 41 44 09 44 09 09 3b 0d 0a 20 30 32   ┆   023A 19         DAD D  ;   02┆
0x059a60…059a80             33 42 20 45 42 20 20 20 20 20 20 20 20 09 58 43 48 47 09 09 09 3b 0d 0a 20 30 32 33 43 20 44 35   ┆3B EB         XCHG   ;   023C D5┆
0x059a80…059aa0             20 20 20 20 20 20 20 20 09 50 55 53 48 09 44 09 09 3b 0d 0a 20 30 32 33 44 20 43 44 46 45 30 32   ┆         PUSH D  ;   023D CDFE02┆
0x059aa0…059ac0             20 20 20 20 09 43 41 4c 4c 09 53 45 54 44 4d 41 09 09 3b 20 53 45 54 20 42 55 46 41 44 52 0d 0a   ┆     CALL SETDMA  ; SET BUFADR  ┆
0x059ac0…059ae0             20 30 32 34 30 20 32 31 30 34 30 34 20 20 20 20 09 4c 58 49 09 48 2c 53 45 43 43 4e 54 09 3b 0d   ┆ 0240 210404     LXI H,SECCNT ; ┆
0x059ae0…059b00             0a 20 30 32 34 33 20 31 31 36 46 30 33 20 20 20 20 09 4c 58 49 09 44 2c 54 4f 4f 42 49 47 09 3b   ┆  0243 116F03     LXI D,TOOBIG ;┆
0x059b00…059b20             0d 0a 20 30 32 34 36 20 33 34 20 20 20 20 20 20 20 20 09 49 4e 52 09 4d 09 09 3b 20 53 45 43 54   ┆   0246 34         INR M  ; SECT┆
0x059b20…059b40             4f 52 43 4f 55 4e 54 3a 3d 53 45 43 54 4f 52 43 4f 55 4e 54 2b 31 3b 0d 0a 20 30 32 34 37 20 43   ┆ORCOUNT:=SECTORCOUNT+1;   0247 C┆
0x059b40…059b60             43 43 32 30 32 20 20 20 20 09 43 5a 09 46 49 4e 49 53 09 09 3b 20 49 46 20 46 49 4c 45 20 54 4f   ┆CC202     CZ FINIS  ; IF FILE TO┆
0x059b60…059b80             4f 20 42 49 47 20 46 4f 52 20 42 55 46 3a 20 45 58 49 54 3b 0d 0a 20 30 32 34 41 20 43 33 32 43   ┆O BIG FOR BUF: EXIT;   024A C32C┆
0x059b80…059ba0             30 32 20 20 20 20 09 4a 4d 50 09 52 44 41 54 41 09 09 3b 20 47 4f 54 4f 20 52 45 41 44 20 4e 45   ┆02     JMP RDATA  ; GOTO READ NE┆
0x059ba0…059bc0             58 54 3b 0d 0a 20 30 32 34 44 20 44 31 20 20 20 20 20 20 20 20 45 4f 46 49 4c 45 3a 09 50 4f 50   ┆XT;   024D D1        EOFILE: POP┆
0x059bc0…059be0             09 44 09 09 3b 0d 0a 20 30 32 34 45 20 31 31 37 45 30 33 20 20 20 20 09 4c 58 49 09 44 2c 53 57   ┆ D  ;   024E 117E03     LXI D,SW┆
0x059be0…059c00             4f 50 53 09 09 3b 20 43 48 41 4e 47 45 20 44 49 53 4b 3a 0d 0a 20 30 32 35 31 20 43 44 30 33 30   ┆OPS  ; CHANGE DISK:   0251 CD030┆
0x059c00…059c20 (23, 1, 14) 20 20 20 09 43 41 4c 4c 09 52 45 53 45 54 09 09 3b 20 52 45 53 45 54 20 44 52 49 56 45 53 3b 0d   ┆    CALL RESET  ; RESET DRIVES; ┆
0x059c20…059c40             0a 20 30 32 42 45 20 32 41 30 35 30 34 20 20 20 20 09 4c 48 4c 44 09 43 43 50 52 45 54 09 09 3b   ┆  02BE 2A0504     LHLD CCPRET  ;┆
0x059c40…059c60             20 52 45 54 55 52 4e 20 54 4f 20 43 43 50 0d 0a 20 30 32 43 31 20 45 39 20 20 20 20 20 20 20 20   ┆ RETURN TO CCP   02C1 E9        ┆
0x059c60…059c80             09 50 43 48 4c 09 09 09 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0d 0a 20 30 32   ┆ PCHL   ;                     02┆
0x059c80…059ca0             43 32 20 30 45 30 39 20 20 20 20 20 20 46 49 4e 49 53 3a 09 4d 56 49 09 43 2c 50 52 49 4e 54 46   ┆C2 0E09      FINIS: MVI C,PRINTF┆
0x059ca0…059cc0             09 3b 20 50 52 49 4e 54 20 4d 45 53 53 41 47 45 3a 0d 0a 20 30 32 43 34 20 43 44 30 35 30 30 20   ┆ ; PRINT MESSAGE:   02C4 CD0500 ┆
0x059cc0…059ce0             20 20 20 09 43 41 4c 4c 09 42 44 4f 53 09 09 3b 0d 0a 20 30 32 43 37 20 43 33 41 43 30 32 20 20   ┆    CALL BDOS  ;   02C7 C3AC02  ┆
0x059ce0…059d00             20 20 09 4a 4d 50 09 4d 53 59 53 46 09 09 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆   JMP MSYSF  ;                 ┆
0x059d00…059d20             20 0d 0a 20 30 32 43 41 20 30 45 30 31 20 20 20 20 20 20 43 4f 4e 53 49 3a 09 4d 56 49 09 43 2c   ┆    02CA 0E01      CONSI: MVI C,┆
0x059d20…059d40             43 4f 4e 53 49 46 09 3b 0d 0a 20 30 32 43 43 20 43 44 30 35 30 30 20 20 20 20 09 43 41 4c 4c 09   ┆CONSIF ;   02CC CD0500     CALL ┆
0x059d40…059d60             42 44 4f 53 09 09 3b 0d 0a 20 30 32 43 46 20 46 45 30 33 20 20 20 20 20 20 09 43 50 49 09 33 09   ┆BDOS  ;   02CF FE03       CPI 3 ┆
0x059d60…059d80             09 3b 0d 0a 20 30 32 44 31 20 43 30 20 20 20 20 20 20 20 20 09 52 4e 5a 09 09 09 3b 09 09 09 0d   ┆ ;   02D1 C0         RNZ   ;    ┆
0x059d80…059da0             0a 20 30 32 44 32 20 32 41 46 41 30 33 20 20 20 20 09 4c 48 4c 44 09 53 46 4f 52 4d 09 09 3b 0d   ┆  02D2 2AFA03     LHLD SFORM  ; ┆
0x059da0…059dc0             0a 20 30 32 44 35 20 43 44 45 30 30 31 20 20 20 20 09 43 41 4c 4c 09 53 45 54 46 09 09 3b 0d 0a   ┆  02D5 CDE001     CALL SETF  ;  ┆
0x059dc0…059de0             20 30 32 44 38 20 43 33 30 30 30 30 20 20 20 20 09 4a 4d 50 09 42 4f 4f 54 0d 0a 20 20 20 20 20   ┆ 02D8 C30000     JMP BOOT       ┆
0x059de0…059e00             20 20 20 20 20 20 20 20 20 20 20 0d 0a 20 30 32 44 42 20 30 45 30 44 20 20 20 20 20 20 52 45 53   ┆              02DB 0E0D      RES┆
0x059e00…059e20 (23, 1, 15) 3b 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a   ┆;*******************************┆
0x059e20…059e40             2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a   ┆********************************┆
0x059e40…059e60             2a 0d 0a 3b 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆*  ;*                           ┆
0x059e60…059e80             20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆                                ┆
0x059e80…059ea0             20 20 20 2a 0d 0a 3b 2a 20 20 20 20 20 41 53 53 49 47 4e 20 20 20 20 20 20 20 20 55 54 49 4c 49   ┆   *  ;*     ASSIGN        UTILI┆
0x059ea0…059ec0             54 59 20 20 20 20 2d 20 20 20 20 56 45 52 53 49 4f 4e 20 20 38 31 2e 30 36 2e 32 39 20 20 20 20   ┆TY    -    VERSION  81.06.29    ┆
0x059ec0…059ee0             20 20 20 20 20 20 2a 0d 0a 3b 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆      *  ;*                     ┆
0x059ee0…059f00             20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆                                ┆
0x059f00…059f20             20 20 20 20 20 20 20 20 20 2a 0d 0a 3b 2a 20 20 20 20 20 41 53 53 49 47 4e 20 20 20 44 3a 3d 46   ┆         *  ;*     ASSIGN   D:=F┆
0x059f20…059f40             46 20 20 44 3a 3d 46 46 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆F  D:=FF                        ┆
0x059f40…059f60             20 20 20 20 20 20 20 20 20 20 20 20 2a 0d 0a 3b 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆            *  ;*               ┆
0x059f60…059f80             20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆                                ┆
0x059f80…059fa0             20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 0d 0a 3b 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a   ┆               *  ;*************┆
0x059fa0…059fc0             2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a   ┆********************************┆
0x059fc0…059fe0             2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0d 0a 0d 0a 42 4f 4f 54 09 45 51 55 09   ┆*******************    BOOT EQU ┆
0x059fe0…05a000             30 30 30 30 48 0d 0a 42 44 4f 53 09 45 51 55 09 30 30 30 35 48 0d 0a 46 43 42 31 09 45 51 55 09   ┆0000H  BDOS EQU 0005H  FCB1 EQU ┆
0x05a000…05a020 (24, 0, 1)  09 4d 4f 56 09 45 2c 42 09 09 3b 0d 0a 09 44 41 44 09 44 09 09 3b 0d 0a 09 4d 4f 56 09 4d 2c 43   ┆ MOV E,B  ;   DAD D  ;   MOV M,C┆
0x05a020…05a040             09 09 3b 0d 0a 09 4a 4d 50 09 53 43 41 4e 09 09 3b 20 47 4f 54 4f 20 53 43 41 4e 20 46 4f 52 20   ┆  ;   JMP SCAN  ; GOTO SCAN FOR ┆
0x05a040…05a060             4e 45 58 54 3b 0d 0a 0d 0a 53 45 54 46 44 46 3a 20 49 4e 09 53 57 31 09 09 3b 20 49 46 20 4d 49   ┆NEXT;    SETFDF: IN SW1  ; IF MI┆
0x05a060…05a080             4e 49 20 46 4c 4f 50 50 59 20 54 48 45 4e 0d 0a 09 41 4e 49 09 30 38 30 48 09 09 3b 20 20 47 4f   ┆NI FLOPPY THEN   ANI 080H  ;  GO┆
0x05a080…05a0a0             54 4f 20 46 49 4e 49 53 3b 0d 0a 09 4a 4e 5a 09 46 49 4e 49 53 09 09 3b 0d 0a 09 4c 48 4c 44 09   ┆TO FINIS;   JNZ FINIS  ;   LHLD ┆
0x05a0a0…05a0c0             41 46 4f 52 4d 09 09 3b 20 53 45 54 20 46 4c 4f 50 50 59 20 46 4f 52 4d 41 54 53 3a 0d 0a 09 4c   ┆AFORM  ; SET FLOPPY FORMATS:   L┆
0x05a0c0…05a0e0             44 41 09 43 46 4f 52 4d 09 09 3b 0d 0a 09 4d 4f 56 09 4d 2c 41 09 09 3b 0d 0a 09 49 4e 58 09 48   ┆DA CFORM  ;   MOV M,A  ;   INX H┆
0x05a0e0…05a100             09 09 3b 0d 0a 09 4c 44 41 09 43 46 4f 52 4d 2b 31 09 09 3b 0d 0a 09 4d 4f 56 09 4d 2c 41 09 09   ┆  ;   LDA CFORM+1  ;   MOV M,A  ┆
0x05a100…05a120             3b 0d 0a 0d 0a 46 49 4e 49 53 3a 09 4c 58 49 09 44 2c 53 57 4f 50 09 09 3b 0d 0a 09 43 41 4c 4c   ┆;    FINIS: LXI D,SWOP  ;   CALL┆
0x05a120…05a140             09 50 52 49 4e 54 09 09 3b 0d 0a 09 43 41 4c 4c 09 43 4f 4e 53 49 09 09 3b 0d 0a 09 43 41 4c 4c   ┆ PRINT  ;   CALL CONSI  ;   CALL┆
0x05a140…05a160             09 52 45 53 45 54 09 09 3b 20 52 45 53 45 54 20 44 52 49 56 45 53 3b 0d 0a 09 4c 48 4c 44 09 43   ┆ RESET  ; RESET DRIVES;   LHLD C┆
0x05a160…05a180             43 50 52 45 54 09 09 3b 0d 0a 09 50 43 48 4c 09 09 09 3b 20 52 45 54 55 52 4e 20 54 4f 20 43 43   ┆CPRET  ;   PCHL   ; RETURN TO CC┆
0x05a180…05a1a0             50 0d 0a 0d 0a 0d 0a 43 4f 4e 53 49 3a 09 4d 56 49 09 43 2c 43 4f 4e 53 49 46 09 3b 0d 0a 09 4a   ┆P      CONSI: MVI C,CONSIF ;   J┆
0x05a1a0…05a1c0             4d 50 09 42 44 4f 53 09 09 3b 0d 0a 0d 0a 52 45 53 45 54 3a 09 4d 56 49 09 43 2c 52 45 53 45 54   ┆MP BDOS  ;    RESET: MVI C,RESET┆
0x05a1c0…05a1e0             46 09 3b 0d 0a 09 4c 58 49 09 20 44 2c 33 09 09 3b 0d 0a 09 4a 4d 50 09 42 44 4f 53 09 09 3b 0d   ┆F ;   LXI  D,3  ;   JMP BDOS  ; ┆
0x05a1e0…05a200             0a 0d 0a 4f 50 45 4e 3a 09 4d 56 49 09 43 2c 4f 50 45 4e 46 09 09 3b 0d 0a 09 4a 4d 50 09 42 44   ┆   OPEN: MVI C,OPENF  ;   JMP BD┆
0x05a200…05a220 (24, 0, 2)  3b 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a   ┆;*******************************┆
0x05a220…05a240             2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a   ┆********************************┆
0x05a240…05a260             2a 2a 2a 0d 0a 3b 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆***  ;*                         ┆
0x05a260…05a280             20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆                                ┆
0x05a280…05a2a0             20 20 20 20 20 20 20 2a 0d 0a 3b 2a 20 20 20 20 20 42 41 43 4b 55 50 20 20 55 54 49 4c 49 54 59   ┆       *  ;*     BACKUP  UTILITY┆
0x05a2a0…05a2c0             20 20 2d 20 20 56 45 52 53 49 4f 4e 20 20 38 31 2e 30 37 2e 30 38 20 20 20 20 20 20 20 20 20 20   ┆  -  VERSION  81.07.08          ┆
0x05a2c0…05a2e0             20 20 20 20 20 20 20 20 20 20 20 20 2a 0d 0a 3b 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆            *  ;*               ┆
0x05a2e0…05a300             20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆                                ┆
0x05a300…05a320             20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 0d 0a 3b 2a 20 20 20 20 20 42 41 43 4b 55   ┆                 *  ;*     BACKU┆
0x05a320…05a340             50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆P                               ┆
0x05a340…05a360             20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 0d 0a 3b 2a 20 20 20 20 20   ┆                      *  ;*     ┆
0x05a360…05a380             20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆                                ┆
0x05a380…05a3a0             20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 0d 0a 3b 2a   ┆                           *  ;*┆
0x05a3a0…05a3c0             2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a   ┆********************************┆
          […0x1…]
0x05a3e0…05a400             2a 0d 0a 0d 0a 0d 0a 54 50 41 09 45 51 55 09 31 30 30 48 0d 0a 42 44 4f 53 09 45 51 55 09 30 30   ┆*      TPA EQU 100H  BDOS EQU 00┆
0x05a400…05a420 (24, 0, 3)  0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a   ┆                    ;***********┆
0x05a420…05a440             2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a   ┆********************************┆
0x05a440…05a460             2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0d 0a 20 20 20 20 20 20 20 20 20   ┆*********************           ┆
0x05a460…05a480             20 20 20 20 20 20 20 3b 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆       ;*                       ┆
0x05a480…05a4a0             20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆                                ┆
0x05a4a0…05a4c0             20 20 20 20 20 20 20 2a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 2a 20 20 20 20   ┆       *                  ;*    ┆
0x05a4c0…05a4e0             20 41 53 53 49 47 4e 20 20 20 20 20 20 20 20 55 54 49 4c 49 54 59 20 20 20 20 2d 20 20 20 20 56   ┆ ASSIGN        UTILITY    -    V┆
0x05a4e0…05a500             45 52 53 49 4f 4e 20 20 38 31 2e 30 36 2e 32 39 20 20 20 20 20 20 20 20 20 20 2a 0d 0a 20 20 20   ┆ERSION  81.06.29          *     ┆
0x05a500…05a520             20 20 20 20 20 20 20 20 20 20 20 20 20 3b 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆             ;*                 ┆
0x05a520…05a540             20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆                                ┆
0x05a540…05a560             20 20 20 20 20 20 20 20 20 20 20 20 20 2a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆             *                  ┆
0x05a560…05a580             3b 2a 20 20 20 20 20 41 53 53 49 47 4e 20 20 20 44 3a 3d 46 46 20 20 44 3a 3d 46 46 20 20 20 20   ┆;*     ASSIGN   D:=FF  D:=FF    ┆
0x05a580…05a5a0             20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆                                ┆
0x05a5a0…05a5c0             2a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 2a 20 20 20 20 20 20 20 20 20 20 20   ┆*                  ;*           ┆
0x05a5c0…05a5e0             20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆                                ┆
0x05a5e0…05a600             20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 0d 0a 20 20 20 20 20 20 20 20 20 20   ┆                   *            ┆
0x05a600…05a620 (24, 0, 4)  c3 82 01 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 31 39 37 39 2c 31 39 38 30 20 50 72 65 63 69   ┆   Copyright (c) 1979,1980 Preci┆
0x05a620…05a640             73 69 6f 6e 20 43 6f 6d 70 75 74 65 72 20 43 6f 72 70 6f 72 61 74 69 6f 6e 20 61 6e 64 20 4c 69   ┆sion Computer Corporation and Li┆
0x05a640…05a660             66 65 62 6f 61 74 20 41 73 73 6f 63 69 61 74 65 73 20 2d 20 41 6c 6c 20 52 69 67 68 74 73 20 52   ┆feboat Associates - All Rights R┆
0x05a660…05a680             65 73 65 72 76 65 64 20 20 20 76 65 72 73 69 6f 6e 20 6f 66 20 31 30 2f 31 37 2f 38 30 20 10 02   ┆eserved   version of 10/17/80   ┆
0x05a680…05a6a0             57 02 31 27 21 0e 0c cd 05 00 b7 c2 c1 01 3e 04 32 a8 1a 3e 44 32 a9 1a c3 a6 01 78 b1 c8 7e 12   ┆W 1'!         > 2  >D2     x  ü ┆
0x05a6a0…05a6c0             23 13 0b c3 9b 01 21 be 19 11 94 17 01 2d 00 cd 9b 01 21 cd 20 11 99 20 01 1a 00 cd 9b 01 c3 0e   ┆#     !      -    !             ┆
0x05a6c0…05a6e0             02 3e 10 32 a8 1a 3e 50 32 a9 1a 21 eb 19 11 94 17 01 2d 00 cd 9b 01 01 02 00 11 b3 20 2a 01 00   ┆ > 2  >P2  !      -          *  ┆
0x05a6e0…05a700             f5 3e 2d 85 6f 3e 00 8c 67 f1 22 ee 01 cd 30 e3 3e 02 bd c2 b2 01 21 b3 20 11 99 20 01 1a 00 cd   ┆ >- o>  g "   0 >     !         ┆
0x05a700…05a720             9b 01 21 18 1a 11 94 17 01 2d 00 cd 9b 01 3e 00 3e 00 c3 4f 02 2c 31 39 22 15 02 21 17 02 70 c5   ┆  !      -    > >  O ,19"  !  p ┆
0x05a720…05a740             d5 e5 01 f6 ff 11 ff ff 6f 26 00 09 13 da 2b 02 01 0a 00 09 eb 3a 17 02 3d 32 17 02 7d c4 1f 02   ┆        o&    +      :  =2  å   ┆
0x05a740…05a760             7b c6 30 2a 15 02 77 23 22 15 02 e1 d1 c1 c9 c3 61 02 06 02 cd 18 02 3e 00 21 2e 15 06 02 cd 18   ┆æ 0*  w#"       a      > !.     ┆
0x05a760…05a780             02 21 2c 15 11 6e 17 01 04 00 cd 9b 01 11 c9 14 0e 09 cd 05 00 0e 01 cd 05 00 3e ff 32 8e 1a 32   ┆ !,  n                    > 2  2┆
0x05a780…05a7a0             8f 1a 11 06 17 0e 09 cd 05 00 0e 0a 11 45 1a 3e 01 12 cd 05 00 c3 ac 02 7e fe 61 da a6 02 fe 7b   ┆             E >        ü a    æ┆
0x05a7a0…05a7c0             d2 a6 02 d6 20 77 23 05 c2 98 02 c9 21 47 1a 06 01 cd 98 02 c3 c2 02 0c 0d c8 1a 96 c0 23 13 c3   ┆     w#     !G               #  ┆
0x05a7c0…05a7e0             b8 02 11 47 1a 0e 01 21 d0 02 cd b7 02 c3 d1 02 45 ca 1f 03 11 47 1a 0e 01 21 e2 02 cd b7 02 c3   ┆   G   !        E    G   !      ┆
0x05a7e0…05a800             e3 02 46 cc c1 03 11 47 1a 0e 01 21 f4 02 cd b7 02 c3 f5 02 44 cc 51 05 11 47 1a 0e 01 21 06 03   ┆  F    G   !        D Q  G   !  ┆
0x05a800…05a820 (24, 0, 5)  4f 53 09 09 3b 0d 0a 0d 0a 43 4c 4f 53 45 3a 09 4d 56 49 09 43 2c 43 4c 4f 53 45 46 09 3b 0d 0a   ┆OS  ;    CLOSE: MVI C,CLOSEF ;  ┆
0x05a820…05a840             09 4a 4d 50 09 42 44 4f 53 09 09 3b 0d 0a 0d 0a 44 45 4c 45 54 45 3a 09 4d 56 49 09 43 2c 44 45   ┆ JMP BDOS  ;    DELETE: MVI C,DE┆
0x05a840…05a860             4c 45 54 45 46 09 3b 0d 0a 09 4a 4d 50 09 42 44 4f 53 09 09 3b 0d 0a 0d 0a 52 45 41 44 3a 09 4d   ┆LETEF ;   JMP BDOS  ;    READ: M┆
0x05a860…05a880             56 49 09 43 2c 52 45 41 44 46 09 09 3b 0d 0a 09 4a 4d 50 09 42 44 4f 53 09 09 3b 0d 0a 0d 0a 57   ┆VI C,READF  ;   JMP BDOS  ;    W┆
0x05a880…05a8a0             52 49 54 45 3a 09 4d 56 49 09 43 2c 57 52 49 54 45 46 09 3b 0d 0a 09 4a 4d 50 09 42 44 4f 53 09   ┆RITE: MVI C,WRITEF ;   JMP BDOS ┆
0x05a8a0…05a8c0             09 3b 0d 0a 0d 0a 4d 41 4b 45 3a 09 4d 56 49 09 43 2c 4d 41 4b 45 46 09 09 3b 0d 0a 09 4a 4d 50   ┆ ;    MAKE: MVI C,MAKEF  ;   JMP┆
0x05a8c0…05a8e0             09 42 44 4f 53 09 09 3b 0d 0a 0d 0a 53 45 54 44 4d 41 3a 09 4d 56 49 09 43 2c 53 44 4d 41 46 09   ┆ BDOS  ;    SETDMA: MVI C,SDMAF ┆
0x05a8e0…05a900             09 3b 0d 0a 09 4a 4d 50 09 42 44 4f 53 09 09 3b 0d 0a 0d 0a 50 52 49 4e 54 3a 09 4d 56 49 09 43   ┆ ;   JMP BDOS  ;    PRINT: MVI C┆
0x05a900…05a920             2c 50 52 49 4e 54 46 09 3b 0d 0a 09 4a 4d 50 09 42 44 4f 53 09 09 3b 0d 0a 0d 0a 0d 0a 53 57 4f   ┆,PRINTF ;   JMP BDOS  ;      SWO┆
0x05a920…05a940             50 3a 09 44 42 09 27 49 4e 53 45 52 54 20 44 49 53 4b 20 41 4e 44 20 54 59 50 45 20 3c 52 45 54   ┆P: DB 'INSERT DISK AND TYPE <RET┆
0x05a940…05a960             55 52 4e 3e 27 2c 33 36 0d 0a 0d 0a 41 46 4f 52 4d 3a 09 44 57 09 30 0d 0a 53 46 4f 52 4d 3a 09   ┆URN>',36    AFORM: DW 0  SFORM: ┆
0x05a960…05a980             44 57 09 30 0d 0a 43 46 4f 52 4d 3a 20 20 44 57 09 30 0d 0a 43 41 44 44 52 3a 09 44 57 09 30 0d   ┆DW 0  CFORM:  DW 0  CADDR: DW 0 ┆
0x05a980…05a9a0             0a 0d 0a 0d 0a 43 43 50 52 45 54 3a 20 44 57 09 30 0d 0a 0d 0a 44 46 43 42 3a 09 44 53 09 33 33   ┆     CCPRET: DW 0    DFCB: DS 33┆
0x05a9a0…05a9c0             09 09 3b 20 44 45 53 54 49 4e 41 54 49 4f 4e 20 46 43 42 0d 0a 44 46 43 42 43 52 09 45 51 55 09   ┆  ; DESTINATION FCB  DFCBCR EQU ┆
0x05a9c0…05a9e0             44 46 43 42 2b 33 32 09 09 3b 0d 0a 0d 0a 09 44 53 09 33 31 09 09 3b 0d 0a 53 54 41 43 4b 3a 09   ┆DFCB+32  ;     DS 31  ;  STACK: ┆
0x05a9e0…05aa00             44 53 09 31 09 09 3b 20 4c 4f 43 41 4c 20 53 54 41 43 4b 0d 0a 0d 0a 0d 0a 09 45 4e 44 09 30 31   ┆DS 1  ; LOCAL STACK       END 01┆
0x05aa00…05aa20 (24, 0, 6)  30 35 48 0d 0a 42 4f 4f 54 09 45 51 55 09 30 30 30 30 48 0d 0a 0d 0a 43 4f 4e 53 49 46 09 45 51   ┆05H  BOOT EQU 0000H    CONSIF EQ┆
0x05aa20…05aa40             55 09 31 0d 0a 50 52 49 4e 54 46 09 45 51 55 09 39 0d 0a 57 42 4f 4f 54 09 45 51 55 09 31 0d 0a   ┆U 1  PRINTF EQU 9  WBOOT EQU 1  ┆
0x05aa40…05aa60             53 45 4c 44 53 4b 09 45 51 55 09 32 34 0d 0a 53 45 54 54 52 4b 09 45 51 55 09 32 37 0d 0a 53 45   ┆SELDSK EQU 24  SETTRK EQU 27  SE┆
0x05aa60…05aa80             54 53 45 43 09 45 51 55 09 33 30 0d 0a 53 45 54 44 4d 41 09 45 51 55 09 33 33 0d 0a 52 45 41 44   ┆TSEC EQU 30  SETDMA EQU 33  READ┆
0x05aa80…05aaa0             46 09 45 51 55 09 33 36 0d 0a 57 52 49 54 45 46 09 45 51 55 09 33 39 0d 0a 46 44 46 4f 52 4d 09   ┆F EQU 36  WRITEF EQU 39  FDFORM ┆
0x05aaa0…05aac0             45 51 55 09 35 32 0d 0a 53 53 38 09 45 51 55 09 30 0d 0a 44 44 38 09 45 51 55 09 38 0d 0a 44 44   ┆EQU 52  SS8 EQU 0  DD8 EQU 8  DD┆
0x05aac0…05aae0             35 09 45 51 55 09 31 36 0d 0a 0d 0a 0d 0a 09 4f 52 47 09 54 50 41 0d 0a 0d 0a 09 50 4f 50 09 48   ┆5 EQU 16       ORG TPA     POP H┆
0x05aae0…05ab00             09 3b 20 53 41 56 45 20 52 45 54 55 52 4e 20 54 4f 20 43 43 50 3b 0d 0a 09 53 48 4c 44 09 43 43   ┆ ; SAVE RETURN TO CCP;   SHLD CC┆
0x05ab00…05ab20             50 52 45 54 09 3b 0d 0a 09 4c 58 49 09 53 50 2c 53 54 41 43 4b 3b 0d 0a 09 4c 58 49 09 44 2c 48   ┆PRET ;   LXI SP,STACK;   LXI D,H┆
0x05ab20…05ab40             45 41 44 09 3b 20 50 52 49 4e 54 20 48 45 41 44 49 4e 47 3b 0d 0a 09 43 41 4c 4c 09 50 52 49 4e   ┆EAD ; PRINT HEADING;   CALL PRIN┆
0x05ab40…05ab60             54 09 3b 0d 0a 50 53 50 3a 09 4c 58 49 09 44 2c 53 44 53 50 45 43 3b 20 50 52 49 4e 54 20 53 4f   ┆T ;  PSP: LXI D,SDSPEC; PRINT SO┆
0x05ab60…05ab80             55 52 43 45 20 50 52 4f 4d 50 54 3b 0d 0a 09 43 41 4c 4c 09 50 52 49 4e 54 09 3b 0d 0a 09 43 41   ┆URCE PROMPT;   CALL PRINT ;   CA┆
0x05ab80…05aba0             4c 4c 09 43 4f 4e 53 49 09 3b 20 47 45 54 20 53 4f 55 52 43 45 20 44 52 49 56 45 3b 0d 0a 09 4d   ┆LL CONSI ; GET SOURCE DRIVE;   M┆
0x05aba0…05abc0             56 49 09 43 2c 30 09 3b 0d 0a 09 43 50 49 09 27 41 27 09 3b 0d 0a 09 4a 5a 09 53 45 54 53 44 09   ┆VI C,0 ;   CPI 'A' ;   JZ SETSD ┆
0x05abc0…05abe0             3b 0d 0a 09 43 50 49 09 27 42 27 09 3b 0d 0a 09 4a 4e 5a 09 50 53 50 09 3b 0d 0a 09 49 4e 52 09   ┆;   CPI 'B' ;   JNZ PSP ;   INR ┆
0x05abe0…05ac00             43 09 3b 0d 0a 53 45 54 53 44 3a 09 4d 4f 56 09 41 2c 43 09 3b 0d 0a 09 53 54 41 09 53 44 52 49   ┆C ;  SETSD: MOV A,C ;   STA SDRI┆
0x05ac00…05ac20 (24, 0, 7)  20 20 20 20 20 20 3b 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a   ┆      ;*************************┆
0x05ac20…05ac40             2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a   ┆********************************┆
0x05ac40…05ac60             2a 2a 2a 2a 2a 2a 2a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0d 0a 20 30 30 30 30   ┆*******                     0000┆
0x05ac60…05ac80             20 3d 20 20 20 20 20 20 20 20 20 42 4f 4f 54 09 45 51 55 09 30 30 30 30 48 0d 0a 20 30 30 30 35   ┆ =         BOOT EQU 0000H   0005┆
0x05ac80…05aca0             20 3d 20 20 20 20 20 20 20 20 20 42 44 4f 53 09 45 51 55 09 30 30 30 35 48 0d 0a 20 30 30 35 43   ┆ =         BDOS EQU 0005H   005C┆
0x05aca0…05acc0             20 3d 20 20 20 20 20 20 20 20 20 46 43 42 31 09 45 51 55 09 30 30 35 43 48 0d 0a 20 30 30 35 43   ┆ =         FCB1 EQU 005CH   005C┆
0x05acc0…05ace0             20 3d 20 20 20 20 20 20 20 20 20 53 46 43 42 09 45 51 55 09 46 43 42 31 0d 0a 20 30 30 36 43 20   ┆ =         SFCB EQU FCB1   006C ┆
0x05ace0…05ad00             3d 20 20 20 20 20 20 20 20 20 46 43 42 32 09 45 51 55 09 30 30 36 43 48 0d 0a 20 30 30 38 30 20   ┆=         FCB2 EQU 006CH   0080 ┆
0x05ad00…05ad20             3d 20 20 20 20 20 20 20 20 20 44 42 55 46 46 20 20 20 45 51 55 09 30 30 38 30 48 0d 0a 20 30 31   ┆=         DBUFF   EQU 0080H   01┆
0x05ad20…05ad40             30 30 20 3d 20 20 20 20 20 20 20 20 20 54 50 41 09 45 51 55 09 30 31 30 30 48 0d 0a 20 20 20 20   ┆00 =         TPA EQU 0100H      ┆
0x05ad40…05ad60             20 20 20 20 20 20 20 20 20 20 20 20 0d 0a 20 30 30 30 31 20 3d 20 20 20 20 20 20 20 20 20 57 42   ┆               0001 =         WB┆
0x05ad60…05ad80             4f 4f 54 20 20 20 45 51 55 20 20 20 20 20 31 0d 0a 20 30 30 33 34 20 3d 20 20 20 20 20 20 20 20   ┆OOT   EQU     1   0034 =        ┆
0x05ad80…05ada0             20 46 44 46 4f 52 4d 20 20 45 51 55 20 20 20 20 20 35 32 0d 0a 20 30 30 31 34 20 3d 20 20 20 20   ┆ FDFORM  EQU     52   0014 =    ┆
0x05ada0…05adc0             20 20 20 20 20 53 57 31 20 20 20 20 20 45 51 55 20 20 20 20 20 31 34 48 0d 0a 20 30 30 30 31 20   ┆     SW1     EQU     14H   0001 ┆
0x05adc0…05ade0             3d 20 20 20 20 20 20 20 20 20 43 4f 4e 53 49 46 09 45 51 55 09 31 0d 0a 20 30 30 30 39 20 3d 20   ┆=         CONSIF EQU 1   0009 = ┆
0x05ade0…05ae00             20 20 20 20 20 20 20 20 50 52 49 4e 54 46 09 45 51 55 09 39 0d 0a 20 30 30 30 44 20 3d 20 20 20   ┆        PRINTF EQU 9   000D =   ┆
0x05ae00…05ae20 (24, 0, 8)  cd b7 02 c3 07 03 43 cc f5 05 11 47 1a 0e 01 21 18 03 cd b7 02 c3 19 03 49 cc 5f 0c c3 82 02 c3   ┆      C    G   !        I _     ┆
0x05ae20…05ae40             4d 03 0d 0a 07 50 6c 65 61 73 65 20 70 6c 61 63 65 20 61 20 43 50 4d 20 64 69 73 6b 65 74 74 65   ┆M    Please place a CPM diskette┆
0x05ae40…05ae60             20 69 6e 20 64 72 69 76 65 20 41 3a 24 11 22 03 0e 09 cd 05 00 c3 72 03 20 66 6f 72 20 61 20 73   ┆ in drive A:$ "       r  for a s┆
0x05ae60…05ae80             79 73 74 65 6d 20 77 61 72 6d 20 73 74 61 72 74 2e 24 11 58 03 0e 09 cd 05 00 c3 99 03 0d 0a 50   ┆ystem warm start.$ X           P┆
0x05ae80…05aea0             72 65 73 73 20 61 6e 79 20 6b 65 79 20 77 68 65 6e 20 72 65 61 64 79 2e 24 11 7d 03 0e 09 cd 05   ┆ress any key when ready.$ å     ┆
0x05aea0…05aec0             00 0e 01 cd 05 00 11 00 00 0e 0e cd 05 00 2a 01 00 f5 3e 00 85 6f 3e 00 8c 67 f1 22 bf 03 cd 00   ┆              *   >  o>  g "    ┆
0x05aec0…05aee0             00 c5 d5 e5 01 01 00 21 82 1a 70 21 88 1a 71 21 8e 1a 5e 3e ff bb cc 99 10 c3 0a 04 0d 0a 07 59   ┆       !  p!  q!  ^>           Y┆
0x05aee0…05af00             6f 75 20 61 72 65 20 61 62 6f 75 74 20 74 6f 20 77 72 69 74 65 20 61 6e 20 49 42 4d 20 64 69 72   ┆ou are about to write an IBM dir┆
0x05af00…05af20             65 63 74 6f 72 79 20 6f 6e 24 11 dc 03 0e 09 cd 05 00 c3 2d 04 20 74 68 65 20 64 69 73 6b 65 74   ┆ectory on$         -  the disket┆
0x05af20…05af40             74 65 20 69 6e 20 64 72 69 76 65 20 24 11 15 04 0e 09 cd 05 00 3a 8e 1a c6 41 0e 02 5f cd 05 00   ┆te in drive $        :   A  _   ┆
0x05af40…05af60             c3 46 04 3a 2e 24 11 43 04 0e 09 cd 05 00 c3 78 04 0d 0a 50 72 65 73 73 20 23 20 74 6f 20 63 6f   ┆ F :.$ C       x   Press # to co┆
0x05af60…05af80             6e 74 69 6e 75 65 2c 20 6f 72 20 2a 20 74 6f 20 61 62 6f 72 74 2e 20 24 11 51 04 0e 09 cd 05 00   ┆ntinue, or * to abort. $ Q      ┆
0x05af80…05afa0             0e 01 cd 05 00 fe 2a ca 4d 05 fe 23 c2 4e 04 21 8f 1b 0e 50 1e 20 73 23 0d c2 96 04 21 df 1b 0e   ┆      * M  # N !   P  s#    !   ┆
0x05afa0…05afc0             30 1e 00 73 23 0d c2 a3 04 21 88 1a 4e 79 fe 05 da 32 05 c2 c7 04 c5 21 73 1a 11 8f 1b 01 05 00   ┆0  s#    !  Ny   2     !s       ┆
0x05afc0…05afe0             cd 9b 01 c1 c3 32 05 fe 06 c2 de 04 c5 21 8f 1b 0e 05 1e 20 73 23 0d c2 d4 04 c1 c3 32 05 fe 07   ┆     2       !      s#      2   ┆
0x05afe0…05b000             c2 f9 04 c5 21 78 1a 11 8f 1b 01 0a 00 cd 9b 01 21 de 1b 36 57 c1 c3 32 05 fe 08 c2 0f 05 c5 21   ┆    !x          !  6W  2       !┆
0x05b000…05b020 (24, 0, 9)  30 30 48 0d 0a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a   ┆00H                             ┆
0x05b020…05b040             1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a   ┆                                ┆
          […0x2…]
0x05b080…05b0a0             52 49 54 45 3a 09 4d 56 49 09 43 2c 57 52 49 54 45 46 09 3b 0d 0a 09 4a 4d 50 09 42 44 4f 53 09   ┆RITE: MVI C,WRITEF ;   JMP BDOS ┆
0x05b0a0…05b0c0             09 3b 0d 0a 0d 0a 4d 41 4b 45 3a 09 4d 56 49 09 43 2c 4d 41 4b 45 46 09 09 3b 0d 0a 09 4a 4d 50   ┆ ;    MAKE: MVI C,MAKEF  ;   JMP┆
0x05b0c0…05b0e0             09 42 44 4f 53 09 09 3b 0d 0a 0d 0a 53 45 54 44 4d 41 3a 09 4d 56 49 09 43 2c 53 44 4d 41 46 09   ┆ BDOS  ;    SETDMA: MVI C,SDMAF ┆
0x05b0e0…05b100             09 3b 0d 0a 09 4a 4d 50 09 42 44 4f 53 09 09 3b 0d 0a 0d 0a 50 52 49 4e 54 3a 09 4d 56 49 09 43   ┆ ;   JMP BDOS  ;    PRINT: MVI C┆
0x05b100…05b120             2c 50 52 49 4e 54 46 09 3b 0d 0a 09 4a 4d 50 09 42 44 4f 53 09 09 3b 0d 0a 0d 0a 0d 0a 53 57 4f   ┆,PRINTF ;   JMP BDOS  ;      SWO┆
0x05b120…05b140             50 3a 09 44 42 09 27 49 4e 53 45 52 54 20 44 49 53 4b 20 41 4e 44 20 54 59 50 45 20 3c 52 45 54   ┆P: DB 'INSERT DISK AND TYPE <RET┆
0x05b140…05b160             55 52 4e 3e 27 2c 33 36 0d 0a 0d 0a 41 46 4f 52 4d 3a 09 44 57 09 30 0d 0a 53 46 4f 52 4d 3a 09   ┆URN>',36    AFORM: DW 0  SFORM: ┆
0x05b160…05b180             44 57 09 30 0d 0a 43 46 4f 52 4d 3a 20 20 44 57 09 30 0d 0a 43 41 44 44 52 3a 09 44 57 09 30 0d   ┆DW 0  CFORM:  DW 0  CADDR: DW 0 ┆
0x05b180…05b1a0             0a 0d 0a 0d 0a 43 43 50 52 45 54 3a 20 44 57 09 30 0d 0a 0d 0a 44 46 43 42 3a 09 44 53 09 33 33   ┆     CCPRET: DW 0    DFCB: DS 33┆
0x05b1a0…05b1c0             09 09 3b 20 44 45 53 54 49 4e 41 54 49 4f 4e 20 46 43 42 0d 0a 44 46 43 42 43 52 09 45 51 55 09   ┆  ; DESTINATION FCB  DFCBCR EQU ┆
0x05b1c0…05b1e0             44 46 43 42 2b 33 32 09 09 3b 0d 0a 0d 0a 09 44 53 09 33 31 09 09 3b 0d 0a 53 54 41 43 4b 3a 09   ┆DFCB+32  ;     DS 31  ;  STACK: ┆
0x05b1e0…05b200             44 53 09 31 09 09 3b 20 4c 4f 43 41 4c 20 53 54 41 43 4b 0d 0a 0d 0a 0d 0a 09 45 4e 44 09 30 31   ┆DS 1  ; LOCAL STACK       END 01┆
0x05b200…05b220 (24, 0, 10) 56 09 3b 0d 0a 50 44 50 3a 09 4c 58 49 09 44 2c 44 44 53 50 45 43 3b 20 50 52 49 4e 54 20 44 45   ┆V ;  PDP: LXI D,DDSPEC; PRINT DE┆
0x05b220…05b240             53 54 49 4e 41 54 49 4f 4e 20 50 52 4f 4d 50 54 3b 0d 0a 09 43 41 4c 4c 09 50 52 49 4e 54 09 3b   ┆STINATION PROMPT;   CALL PRINT ;┆
0x05b240…05b260             0d 0a 09 43 41 4c 4c 09 43 4f 4e 53 49 09 3b 20 47 45 54 20 44 45 53 54 49 4e 41 54 49 4f 4e 20   ┆   CALL CONSI ; GET DESTINATION ┆
0x05b260…05b280             44 52 49 56 45 3b 0d 0a 09 4d 56 49 09 43 2c 30 09 3b 0d 0a 09 43 50 49 09 27 41 27 09 3b 0d 0a   ┆DRIVE;   MVI C,0 ;   CPI 'A' ;  ┆
0x05b280…05b2a0             09 4a 5a 09 53 45 54 44 44 09 3b 0d 0a 09 43 50 49 09 27 42 27 09 3b 0d 0a 09 4a 4e 5a 09 50 44   ┆ JZ SETDD ;   CPI 'B' ;   JNZ PD┆
0x05b2a0…05b2c0             50 09 3b 0d 0a 09 49 4e 52 09 43 09 3b 0d 0a 53 45 54 44 44 3a 09 4d 4f 56 09 41 2c 43 09 3b 0d   ┆P ;   INR C ;  SETDD: MOV A,C ; ┆
0x05b2c0…05b2e0             0a 09 53 54 41 09 44 44 52 49 56 09 3b 0d 0a 09 4c 48 4c 44 09 57 42 4f 4f 54 09 3b 20 42 43 3a   ┆  STA DDRIV ;   LHLD WBOOT ; BC:┆
0x05b2e0…05b300             3d 20 46 4c 4f 50 50 59 20 46 4f 52 4d 41 54 53 3b 0d 0a 09 4c 58 49 09 44 2c 46 44 46 4f 52 4d   ┆= FLOPPY FORMATS;   LXI D,FDFORM┆
0x05b300…05b320             3b 0d 0a 09 44 41 44 09 44 09 3b 0d 0a 09 4d 4f 56 09 42 2c 4d 09 3b 0d 0a 09 49 4e 58 09 48 09   ┆;   DAD D ;   MOV B,M ;   INX H ┆
0x05b320…05b340             3b 0d 0a 09 4d 4f 56 09 43 2c 4d 09 3b 0d 0a 09 4c 58 49 09 48 2c 53 44 52 49 56 09 3b 20 49 46   ┆;   MOV C,M ;   LXI H,SDRIV ; IF┆
0x05b340…05b360             20 53 4f 55 52 43 45 20 44 52 49 56 45 20 3c 3e 0d 0a 09 43 4d 50 09 4d 09 3b 20 20 44 45 53 54   ┆ SOURCE DRIVE <>   CMP M ;  DEST┆
0x05b360…05b380             49 4e 41 54 49 4f 4e 20 44 52 49 56 45 20 54 48 45 4e 0d 0a 09 4d 56 49 09 41 2c 30 09 3b 0d 0a   ┆INATION DRIVE THEN   MVI A,0 ;  ┆
0x05b380…05b3a0             09 4a 5a 09 53 45 54 44 46 09 3b 0d 0a 09 4d 4f 56 09 41 2c 42 09 3b 0d 0a 09 43 4d 50 09 43 09   ┆ JZ SETDF ;   MOV A,B ;   CMP C ┆
0x05b3a0…05b3c0             3b 20 49 46 20 46 4f 52 4d 41 54 28 41 29 3c 3e 46 4f 52 4d 41 54 28 42 29 20 54 48 45 4e 0d 0a   ┆; IF FORMAT(A)<>FORMAT(B) THEN  ┆
0x05b3c0…05b3e0             09 4c 58 49 09 44 2c 4e 4f 54 4f 4b 09 3b 0d 0a 09 43 4e 5a 09 46 49 4e 49 53 09 3b 20 20 45 58   ┆ LXI D,NOTOK ;   CNZ FINIS ;  EX┆
0x05b3e0…05b400             49 54 28 4e 4f 54 20 41 4c 4c 4f 57 45 44 29 3b 0d 0a 09 50 55 53 48 09 42 09 3b 0d 0a 09 4c 58   ┆IT(NOT ALLOWED);   PUSH B ;   LX┆
0x05b400…05b420 (24, 0, 11) 20 20 20 20 20 20 52 45 53 45 54 46 09 45 51 55 09 31 33 0d 0a 20 30 30 30 46 20 3d 20 20 20 20   ┆      RESETF EQU 13   000F =    ┆
0x05b420…05b440             20 20 20 20 20 4f 50 45 4e 46 09 45 51 55 09 31 35 0d 0a 20 30 30 31 30 20 3d 20 20 20 20 20 20   ┆     OPENF EQU 15   0010 =      ┆
0x05b440…05b460             20 20 20 43 4c 4f 53 45 46 09 45 51 55 09 31 36 0d 0a 20 30 30 31 33 20 3d 20 20 20 20 20 20 20   ┆   CLOSEF EQU 16   0013 =       ┆
0x05b460…05b480             20 20 44 45 4c 45 54 45 46 09 45 51 55 09 31 39 0d 0a 20 30 30 31 34 20 3d 20 20 20 20 20 20 20   ┆  DELETEF EQU 19   0014 =       ┆
0x05b480…05b4a0             20 20 52 45 41 44 46 09 45 51 55 09 32 30 0d 0a 20 30 30 31 35 20 3d 20 20 20 20 20 20 20 20 20   ┆  READF EQU 20   0015 =         ┆
0x05b4a0…05b4c0             57 52 49 54 45 46 09 45 51 55 09 32 31 0d 0a 20 30 30 31 36 20 3d 20 20 20 20 20 20 20 20 20 4d   ┆WRITEF EQU 21   0016 =         M┆
0x05b4c0…05b4e0             41 4b 45 46 09 45 51 55 09 32 32 0d 0a 20 30 30 31 41 20 3d 20 20 20 20 20 20 20 20 20 53 44 4d   ┆AKEF EQU 22   001A =         SDM┆
0x05b4e0…05b500             41 46 09 45 51 55 09 32 36 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0d 0a 20 30 31   ┆AF EQU 26                     01┆
0x05b500…05b520             30 30 20 20 20 20 20 20 20 20 20 20 20 09 4f 52 47 09 54 50 41 0d 0a 20 20 20 20 20 20 20 20 20   ┆00            ORG TPA           ┆
0x05b520…05b540             20 20 20 20 20 20 20 0d 0a 20 30 31 30 30 20 45 31 20 20 20 20 20 20 20 20 09 50 4f 50 09 48 09   ┆          0100 E1         POP H ┆
0x05b540…05b560             09 3b 20 53 41 56 45 20 52 45 54 55 52 4e 20 54 4f 20 43 43 50 0d 0a 20 30 31 30 31 20 32 32 32   ┆ ; SAVE RETURN TO CCP   0101 222┆
0x05b560…05b580             31 30 32 20 20 20 20 09 53 48 4c 44 09 43 43 50 52 45 54 09 09 3b 0d 0a 20 30 31 30 34 20 33 31   ┆102     SHLD CCPRET  ;   0104 31┆
0x05b580…05b5a0             36 33 30 32 20 20 20 20 09 4c 58 49 09 53 50 2c 53 54 41 43 4b 09 3b 20 53 45 54 20 4c 4f 43 41   ┆6302     LXI SP,STACK ; SET LOCA┆
0x05b5a0…05b5c0             4c 20 53 54 41 43 4b 0d 0a 20 30 31 30 37 20 32 31 38 30 30 30 20 20 20 20 09 4c 58 49 09 48 2c   ┆L STACK   0107 218000     LXI H,┆
0x05b5c0…05b5e0             44 42 55 46 46 09 09 3b 20 50 41 44 20 43 4f 4d 4d 41 4e 44 20 42 55 46 46 45 52 0d 0a 20 30 31   ┆DBUFF  ; PAD COMMAND BUFFER   01┆
0x05b5e0…05b600             30 41 20 33 34 20 20 20 20 20 20 20 20 09 49 4e 52 09 4d 09 09 3b 0d 0a 20 30 31 30 42 20 35 45   ┆0A 34         INR M  ;   010B 5E┆
0x05b600…05b620 (24, 0, 12) ef 1a 11 8f 1b 01 50 00 cd 9b 01 c1 c3 32 05 fe 09 c2 25 05 c5 21 3f 1b 11 8f 1b 01 50 00 cd 9b   ┆      P      2    %  !?     P   ┆
0x05b620…05b640             01 c1 c3 32 05 fe 1b ca 48 05 21 98 1b 06 02 cd 18 02 21 82 1a 46 21 8f 1b 3e 01 cd 75 0f 3a 88   ┆   2    H !       !  F!  >  u : ┆
0x05b640…05b660             1a 3c 32 88 1a c3 a9 04 af e1 d1 c1 c9 37 c3 49 05 c5 d5 e5 01 08 00 21 82 1a 70 21 88 1a 71 21   ┆ <2          7 I       !  p!  q!┆
0x05b660…05b680             8e 1a 5e 3e ff bb cc 99 10 11 d3 18 0e 09 cd 05 00 21 88 1a 4e fe 1b ca c4 05 21 82 1a 46 21 8f   ┆  ^>             !  N     !  F! ┆
0x05b680…05b6a0             1b cd 06 10 c3 8a 05 0d 0a 24 11 87 05 0e 09 cd 05 00 21 8f 1b 0e 3e c5 e5 5e 0e 02 cd 05 00 e1   ┆         $        !   >  ^      ┆
0x05b6a0…05b6c0             c1 23 0d c2 97 05 21 d1 1b 0e 0e c5 e5 5e 0e 02 cd 05 00 e1 c1 23 0d c2 ab 05 3a 88 1a 3c 32 88   ┆ #    !      ^       #    :  <2 ┆
0x05b6c0…05b6e0             1a c3 71 05 c3 e4 05 0d 0a 50 72 65 73 73 20 61 6e 79 20 6b 65 79 20 74 6f 20 63 6f 6e 74 69 6e   ┆  q      Press any key to contin┆
0x05b6e0…05b700             75 65 2e 24 11 c7 05 0e 09 cd 05 00 0e 01 cd 05 00 e1 d1 c1 c9 c5 d5 e5 cd c1 03 da f8 0b c3 33   ┆ue.$                           3┆
0x05b700…05b720             06 0d 0a 50 6c 65 61 73 65 20 65 6e 74 65 72 20 6e 61 6d 65 20 6f 66 20 43 50 4d 20 66 69 6c 65   ┆   Please enter name of CPM file┆
0x05b720…05b740             20 74 6f 20 62 65 20 63 6f 6e 76 65 72 74 65 64 3a 20 24 11 01 06 0e 09 cd 05 00 0e 0a 11 5e 1a   ┆ to be converted: $           ^ ┆
0x05b740…05b760             3e 0c 12 cd 05 00 21 60 1a 06 0c cd 98 02 21 5f 1a 4e 21 60 1a 06 00 09 36 20 21 ad 1a 0e 21 1e   ┆>     !`      !_ N!`    6 !   ! ┆
0x05b760…05b780             00 73 23 0d c2 61 06 11 60 1a c3 b9 06 36 00 23 e5 0e 0b 3e 20 77 23 0d c2 75 06 e1 0e 08 1a fe   ┆ s#  a  `    6 #   > w#  u      ┆
0x05b780…05b7a0             20 c2 88 06 13 c3 7e 06 1a fe 00 c8 fe 20 c8 fe 2e ca 9d 06 77 23 13 0d f2 88 06 37 c9 13 79 b7   ┆      ü         .   w#     7  y ┆
0x05b7a0…05b7c0             ca a8 06 23 0d c2 a3 06 0e 03 1a fe 00 c8 fe 20 c8 77 23 13 0d c2 aa 06 c9 21 ad 1a cd 6d 06 eb   ┆   #             w#      !   m  ┆
0x05b7c0…05b7e0             c3 f9 06 0d 0a 50 6c 65 61 73 65 20 65 6e 74 65 72 20 49 42 4d 20 64 61 74 61 20 73 65 74 20 6e   ┆     Please enter IBM data set n┆
0x05b7e0…05b800             61 6d 65 20 77 68 65 72 65 20 64 61 74 61 20 69 73 20 74 6f 20 62 65 20 24 11 c3 06 0e 09 cd 05   ┆ame where data is to be $       ┆
0x05b800…05b820 (24, 0, 13) 3a 09 4c 58 49 09 44 2c 44 46 43 42 09 09 3b 0d 0a 09 43 41 4c 4c 09 57 52 49 54 45 09 09 3b 20   ┆: LXI D,DFCB  ;   CALL WRITE  ; ┆
0x05b820…05b840             57 52 49 54 45 20 52 45 43 4f 52 44 3a 0d 0a 09 4c 58 49 09 44 2c 53 50 41 43 45 09 09 3b 0d 0a   ┆WRITE RECORD:   LXI D,SPACE  ;  ┆
0x05b840…05b860             09 4f 52 41 09 41 09 09 3b 0d 0a 09 43 4e 5a 09 46 49 4e 49 53 09 09 3b 0d 0a 09 50 4f 50 09 44   ┆ ORA A  ;   CNZ FINIS  ;   POP D┆
0x05b860…05b880             09 09 3b 20 55 50 44 41 54 45 20 42 55 46 41 44 52 0d 0a 09 4c 58 49 09 48 2c 31 32 38 09 09 3b   ┆  ; UPDATE BUFADR   LXI H,128  ;┆
0x05b880…05b8a0             0d 0a 09 44 41 44 09 44 09 09 3b 0d 0a 09 58 43 48 47 09 09 09 3b 0d 0a 09 50 55 53 48 09 44 09   ┆   DAD D  ;   XCHG   ;   PUSH D ┆
0x05b8a0…05b8c0             09 3b 0d 0a 09 43 41 4c 4c 09 53 45 54 44 4d 41 09 09 3b 0d 0a 09 4c 58 49 09 48 2c 53 45 43 43   ┆ ;   CALL SETDMA  ;   LXI H,SECC┆
0x05b8c0…05b8e0             4e 54 09 3b 20 53 45 43 54 4f 52 43 4f 55 4e 54 3a 3d 53 45 43 54 4f 49 52 43 4f 55 4e 54 2d 31   ┆NT ; SECTORCOUNT:=SECTOIRCOUNT-1┆
0x05b8e0…05b900             3b 0d 0a 09 44 43 52 09 4d 09 09 3b 0d 0a 09 4a 4e 5a 09 57 44 41 54 41 09 09 3b 20 49 46 20 53   ┆;   DCR M  ;   JNZ WDATA  ; IF S┆
0x05b900…05b920             45 43 54 4f 52 43 4f 55 4e 54 3e 30 20 54 48 45 4e 20 47 4f 54 4f 20 57 52 49 54 45 52 45 43 3b   ┆ECTORCOUNT>0 THEN GOTO WRITEREC;┆
0x05b920…05b940             0d 0a 09 50 4f 50 09 44 09 09 3b 0d 0a 09 4c 58 49 09 44 2c 44 46 43 42 09 09 3b 0d 0a 09 43 41   ┆   POP D  ;   LXI D,DFCB  ;   CA┆
0x05b940…05b960             4c 4c 09 43 4c 4f 53 45 09 09 3b 20 43 4c 4f 53 45 20 44 45 53 54 49 4e 41 54 49 4f 4e 20 46 49   ┆LL CLOSE  ; CLOSE DESTINATION FI┆
0x05b960…05b980             4c 45 3b 0d 0a 09 4c 58 49 09 44 2c 57 52 50 52 4f 54 09 3b 0d 0a 09 49 4e 52 09 41 09 09 3b 0d   ┆LE;   LXI D,WRPROT ;   INR A  ; ┆
0x05b980…05b9a0             0a 09 43 5a 09 46 49 4e 49 53 09 09 3b 0d 0a 09 4c 58 49 09 44 2c 4e 4f 52 4d 41 4c 09 3b 0d 0a   ┆  CZ FINIS  ;   LXI D,NORMAL ;  ┆
0x05b9a0…05b9c0             09 43 41 4c 4c 09 50 52 49 4e 54 09 09 3b 0d 0a 09 4c 58 49 09 44 2c 53 57 4f 50 59 09 09 3b 0d   ┆ CALL PRINT  ;   LXI D,SWOPY  ; ┆
0x05b9c0…05b9e0             0a 09 43 41 4c 4c 09 50 52 49 4e 54 09 09 3b 0d 0a 09 43 41 4c 4c 09 43 4f 4e 53 49 09 09 3b 20   ┆  CALL PRINT  ;   CALL CONSI  ; ┆
0x05b9e0…05ba00             57 41 49 54 20 44 49 53 4b 20 43 48 41 4e 47 45 44 20 42 41 43 4b 3b 0d 0a 09 43 41 4c 4c 09 52   ┆WAIT DISK CHANGED BACK;   CALL R┆
0x05ba00…05ba20 (24, 0, 14) 49 09 44 2c 43 52 4c 46 09 3b 0d 0a 09 43 41 4c 4c 09 50 52 49 4e 54 09 3b 0d 0a 09 4c 58 49 09   ┆I D,CRLF ;   CALL PRINT ;   LXI ┆
0x05ba20…05ba40             44 2c 4d 53 44 49 53 4b 3b 0d 0a 09 43 41 4c 4c 09 50 52 49 4e 54 09 3b 20 57 41 49 54 20 46 4f   ┆D,MSDISK;   CALL PRINT ; WAIT FO┆
0x05ba40…05ba60             52 20 53 4f 55 52 43 45 20 44 49 53 4b 3a 0d 0a 09 43 41 4c 4c 09 43 4f 4e 53 49 09 3b 0d 0a 09   ┆R SOURCE DISK:   CALL CONSI ;   ┆
0x05ba60…05ba80             4c 58 49 09 44 2c 4d 44 44 49 53 4b 3b 0d 0a 09 43 41 4c 4c 09 50 52 49 4e 54 09 3b 20 57 41 49   ┆LXI D,MDDISK;   CALL PRINT ; WAI┆
0x05ba80…05baa0             54 20 46 4f 52 20 44 45 53 54 49 4e 41 54 49 4f 4e 20 44 49 53 4b 3a 0d 0a 09 43 41 4c 4c 09 43   ┆T FOR DESTINATION DISK:   CALL C┆
0x05baa0…05bac0             4f 4e 53 49 09 3b 0d 0a 09 50 4f 50 09 42 09 3b 0d 0a 09 4d 56 49 09 41 2c 31 09 3b 0d 0a 53 45   ┆ONSI ;   POP B ;   MVI A,1 ;  SE┆
0x05bac0…05bae0             54 44 46 3a 09 53 54 41 09 44 46 4c 41 47 09 3b 0d 0a 09 4d 4f 56 09 41 2c 43 09 3b 0d 0a 09 43   ┆TDF: STA DFLAG ;   MOV A,C ;   C┆
0x05bae0…05bb00             50 49 09 53 53 38 09 3b 20 28 46 49 52 53 54 20 54 52 41 43 4b 2c 4c 41 53 54 20 54 52 41 43 4b   ┆PI SS8 ; (FIRST TRACK,LAST TRACK┆
0x05bb00…05bb20             2c 0d 0a 09 4a 4e 5a 09 53 45 54 44 38 09 3b 20 20 53 45 43 54 4f 52 53 20 50 52 20 54 52 41 43   ┆,   JNZ SETD8 ;  SECTORS PR TRAC┆
0x05bb20…05bb40             4b 29 20 3a 3d 0d 0a 09 4d 56 49 09 41 2c 30 09 3b 0d 0a 09 53 54 41 09 46 54 52 4b 09 3b 0d 0a   ┆K) :=   MVI A,0 ;   STA FTRK ;  ┆
0x05bb40…05bb60             09 4d 56 49 09 41 2c 37 36 09 3b 20 20 49 46 20 46 4f 52 4d 41 54 3d 20 38 22 20 53 53 20 54 48   ┆ MVI A,76 ;  IF FORMAT= 8" SS TH┆
0x05bb60…05bb80             45 4e 0d 0a 09 53 54 41 09 4c 54 52 4b 09 3b 20 20 20 28 30 2c 37 36 2c 32 36 29 20 20 20 20 20   ┆EN   STA LTRK ;   (0,76,26)     ┆
0x05bb80…05bba0             20 20 45 4c 53 45 0d 0a 09 4d 56 49 09 41 2c 32 36 09 3b 0d 0a 09 53 54 41 09 53 50 54 09 3b 0d   ┆  ELSE   MVI A,26 ;   STA SPT ; ┆
0x05bba0…05bbc0             0a 09 4a 4d 50 09 53 45 54 43 54 09 3b 20 20 0d 0a 53 45 54 44 38 3a 09 43 50 49 09 44 44 38 09   ┆  JMP SETCT ;    SETD8: CPI DD8 ┆
0x05bbc0…05bbe0             3b 20 20 49 46 20 46 4f 52 4d 41 54 3d 20 38 22 20 44 44 20 54 48 45 4e 0d 0a 09 4a 4e 5a 09 53   ┆;  IF FORMAT= 8" DD THEN   JNZ S┆
0x05bbe0…05bc00             45 54 35 09 3b 20 20 20 28 31 2c 36 31 2c 31 32 30 29 20 20 20 20 20 20 45 4c 53 45 0d 0a 09 4d   ┆ET5 ;   (1,61,120)      ELSE   M┆
0x05bc00…05bc20 (24, 0, 15) 20 20 20 20 20 20 20 20 09 4d 4f 56 09 45 2c 4d 09 09 3b 0d 0a 20 30 31 30 43 20 33 34 20 20 20   ┆         MOV E,M  ;   010C 34   ┆
0x05bc20…05bc40             20 20 20 20 20 09 49 4e 52 09 4d 09 09 3b 0d 0a 20 30 31 30 44 20 31 36 30 30 20 20 20 20 20 20   ┆      INR M  ;   010D 1600      ┆
0x05bc40…05bc60             09 4d 56 49 09 44 2c 30 09 09 3b 0d 0a 20 30 31 30 46 20 31 39 20 20 20 20 20 20 20 20 09 44 41   ┆ MVI D,0  ;   010F 19         DA┆
0x05bc60…05bc80             44 09 44 09 09 3b 0d 0a 20 30 31 31 30 20 33 36 32 30 20 20 20 20 20 20 09 4d 56 49 09 4d 2c 27   ┆D D  ;   0110 3620       MVI M,'┆
0x05bc80…05bca0             20 27 09 09 3b 0d 0a 20 30 31 31 32 20 32 41 30 31 30 30 20 20 20 20 09 4c 48 4c 44 09 57 42 4f   ┆ '  ;   0112 2A0100     LHLD WBO┆
0x05bca0…05bcc0             4f 54 09 09 3b 20 53 41 56 45 20 46 44 20 46 4f 52 4d 41 54 53 0d 0a 20 30 31 31 35 20 31 31 33   ┆OT  ; SAVE FD FORMATS   0115 113┆
0x05bcc0…05bce0             34 30 30 20 20 20 20 09 4c 58 49 09 44 2c 46 44 46 4f 52 4d 09 3b 0d 0a 20 30 31 31 38 20 31 39   ┆400     LXI D,FDFORM ;   0118 19┆
0x05bce0…05bd00             20 20 20 20 20 20 20 20 09 44 41 44 09 44 09 09 3b 0d 0a 20 30 31 31 39 20 32 32 31 39 30 32 20   ┆         DAD D  ;   0119 221902 ┆
0x05bd00…05bd20             20 20 20 09 53 48 4c 44 09 41 46 4f 52 4d 09 09 3b 0d 0a 20 30 31 31 43 20 37 45 20 20 20 20 20   ┆    SHLD AFORM  ;   011C 7E     ┆
0x05bd20…05bd40             20 20 20 09 4d 4f 56 09 41 2c 4d 09 09 3b 0d 0a 20 30 31 31 44 20 33 32 31 42 30 32 20 20 20 20   ┆    MOV A,M  ;   011D 321B02    ┆
0x05bd40…05bd60             09 53 54 41 09 53 46 4f 52 4d 09 09 3b 0d 0a 20 30 31 32 30 20 32 33 20 20 20 20 20 20 20 20 09   ┆ STA SFORM  ;   0120 23         ┆
0x05bd60…05bd80             49 4e 58 09 48 09 09 3b 0d 0a 20 30 31 32 31 20 37 45 20 20 20 20 20 20 20 20 09 4d 4f 56 09 41   ┆INX H  ;   0121 7E         MOV A┆
0x05bd80…05bda0             2c 4d 09 09 3b 0d 0a 20 30 31 32 32 20 33 32 31 43 30 32 20 20 20 20 09 53 54 41 09 53 46 4f 52   ┆,M  ;   0122 321C02     STA SFOR┆
0x05bda0…05bdc0             4d 2b 31 09 09 3b 0d 0a 20 30 31 32 35 20 32 41 31 42 30 32 20 20 20 20 09 4c 48 4c 44 09 53 46   ┆M+1  ;   0125 2A1B02     LHLD SF┆
0x05bdc0…05bde0             4f 52 4d 09 09 3b 0d 0a 20 30 31 32 38 20 32 32 31 44 30 32 20 20 20 20 09 53 48 4c 44 09 43 46   ┆ORM  ;   0128 221D02     SHLD CF┆
0x05bde0…05be00             4f 52 4d 09 09 3b 0d 0a 20 30 31 32 42 20 32 31 38 30 30 30 20 20 20 20 09 4c 58 49 09 48 2c 44   ┆ORM  ;   012B 218000     LXI H,D┆
0x05be00…05be20 (24, 1, 1)  00 c3 0e 07 77 72 69 74 74 65 6e 3a 20 24 11 04 07 0e 09 cd 05 00 0e 0a 11 4b 1a 3e 11 12 cd 05   ┆    written: $           K >    ┆
0x05be20…05be40             00 21 4d 1a 06 11 cd 98 02 01 08 00 21 82 1a 70 21 88 1a 71 21 8f 1b cd 06 10 da f8 0b 21 94 1b   ┆ !M         !  p!  q!        !  ┆
0x05be40…05be60             0e 11 1e 20 73 23 0d c2 44 07 06 00 21 4c 1a 4e 21 4d 1a 11 94 1b cd 9b 01 c3 8c 07 0d 0a 50 6c   ┆    s#  D   !L N!M            Pl┆
0x05be60…05be80             65 61 73 65 20 65 6e 74 65 72 20 72 65 63 6f 72 64 20 6c 65 6e 67 74 68 20 66 6f 72 20 49 42 4d   ┆ease enter record length for IBM┆
0x05be80…05bea0             20 64 61 74 61 20 73 65 74 2e 20 24 11 5c 07 0e 09 cd 05 00 0e 0a 11 6d 1a 3e 03 12 cd 05 00 21   ┆ data set. $ Ø         m >     !┆
0x05bea0…05bec0             6e 1a 4e 21 6f 1a 06 00 09 36 20 c3 c9 07 11 00 00 eb 1a d6 30 a7 f8 fe 0a 3f d8 13 29 e5 29 29   ┆n N!o    6          0    ?  ) ))┆
0x05bec0…05bee0             c1 09 4f 06 00 09 c3 b2 07 21 6f 1a cd ae 07 7d af bc c2 df 07 7d b7 ca df 07 fe 81 da 36 08 c3   ┆  O      !o    å     å       6  ┆
0x05bee0…05bf00             0e 08 0d 0a 07 52 65 63 6f 72 64 20 6c 65 6e 67 74 68 20 6d 75 73 74 20 62 65 20 62 65 74 77 65   ┆     Record length must be betwe┆
0x05bf00…05bf20             65 6e 20 31 20 61 6e 64 20 31 32 38 2e 24 11 e2 07 0e 09 cd 05 00 c3 2b 08 20 20 50 6c 65 61 73   ┆en 1 and 128.$         +   Pleas┆
0x05bf20…05bf40             65 20 72 65 65 6e 74 65 72 2e 24 11 19 08 0e 09 cd 05 00 c3 59 07 32 aa 1a 21 a7 1b 06 03 cd 18   ┆e reenter.$         Y 2  !      ┆
0x05bf40…05bf60             02 3e 01 32 83 1a 32 89 1a af 32 a7 1a 32 b3 1b 21 b1 1b cd ae 07 7d 32 85 1a 21 b4 1b cd ae 07   ┆ > 2  2   2  2  !     å2  !     ┆
0x05bf60…05bf80             7d 32 8d 1a cd 38 0c af 32 a5 1a 21 00 00 22 a2 1a 21 a5 1a 46 21 a4 1a 4e 2a 98 1a eb 2a 9a 1a   ┆å2   8  2  !  "  !  F!  N*   *  ┆
0x05bf80…05bfa0             cd fc 0b da f3 09 fe 1a ca f3 09 fe 0d ca 95 08 fe 0a c2 cb 08 cd fc 0b da f3 09 fe 1a ca f3 09   ┆                                ┆
0x05bfa0…05bfc0             fe 0d ca 95 08 fe 0a ca 95 08 f5 22 9a 1a 21 a5 1a 70 cd e8 08 da f7 0b 21 a5 1a 46 21 a4 1a 4e   ┆           "  !  p      !  F!  N┆
0x05bfc0…05bfe0             2a 98 1a eb 2a 9a 1a f1 c3 86 08 f5 af b9 c2 e1 08 22 9a 1a 2a a2 1a 23 22 a2 1a 2a 9a 1a c3 ab   ┆*   *            "  *  #"  *    ┆
0x05bfe0…05c000             08 f1 12 0d 13 c3 80 08 c5 d5 e5 eb 0c 0d ca f7 08 36 20 23 c3 ed 08 22 98 1a 3a ab 1a 21 aa 1a   ┆                 6 #   "  :  !  ┆
0x05c000…05c020 (24, 1, 2)  21 95 1d cd 17 12 da 64 0f 11 ce 1a 0e 10 cd 05 00 3e ff 32 8f 1a e1 d1 c1 c9 c3 42 0f 0d 0a 07   ┆!      d         > 2       B    ┆
0x05c020…05c040             46 69 6c 65 20 6e 6f 74 20 66 6f 75 6e 64 2e 20 50 72 65 73 73 20 61 6e 79 20 6b 65 79 20 74 6f   ┆File not found. Press any key to┆
0x05c040…05c060             20 24 11 1d 0f 0e 09 cd 05 00 c3 57 0f 63 6f 6e 74 69 6e 75 65 2e 24 11 4d 0f 0e 09 cd 05 00 0e   ┆ $         W continue.$ M       ┆
0x05c060…05c080             01 cd 05 00 11 ce 1a 0e 10 cd 05 00 3e ff 32 8f 1a 37 c3 16 0f c5 d5 e5 32 ac 1a 22 90 1a 21 86   ┆            > 2  7      2  "  ! ┆
0x05c080…05c0a0             1a 70 21 8a 1a 71 2a 90 1a 11 0f 1c 06 80 cd 93 14 21 8e 1a 5e 3e ff bb cc 99 10 0e 0e cd 05 00   ┆ p!  q*          !  ^>          ┆
0x05c0a0…05c0c0             21 86 1a 4e 2a 01 00 f5 3e 1b 85 6f 3e 00 8c 67 f1 22 b5 0f cd 00 00 21 8a 1a 6e 26 00 11 98 20   ┆!  N*   >  o>  g "     !  n&    ┆
0x05c0c0…05c0e0             19 4e 2a 01 00 f5 3e 1e 85 6f 3e 00 8c 67 f1 22 d3 0f cd 00 00 01 0f 1c 2a 01 00 f5 3e 21 85 6f   ┆ N*   >  o>  g "        *   >! o┆
0x05c0e0…05c100             3e 00 8c 67 f1 22 e9 0f cd 00 00 21 ac 1a 4e 2a 01 00 f5 3e 27 85 6f 3e 00 8c 67 f1 22 00 10 cd   ┆>  g "     !  N*   >' o>  g "   ┆
0x05c100…05c120             00 00 e1 d1 c1 c9 c5 d5 e5 22 92 1a 21 87 1a 70 21 8b 1a 71 21 8e 1a 5e 3e ff bb cc 99 10 0e 0e   ┆         "  !  p!  q!  ^>       ┆
0x05c120…05c140             cd 05 00 21 87 1a 4e 2a 01 00 f5 3e 1b 85 6f 3e 00 8c 67 f1 22 38 10 cd 00 00 21 8b 1a 6e 26 00   ┆   !  N*   >  o>  g "8    !  n& ┆
0x05c140…05c160             11 98 20 19 4e 2a 01 00 f5 3e 1e 85 6f 3e 00 8c 67 f1 22 56 10 cd 00 00 01 0f 1c 2a 01 00 f5 3e   ┆    N*   >  o>  g "V       *   >┆
0x05c160…05c180             21 85 6f 3e 00 8c 67 f1 22 6c 10 cd 00 00 2a 01 00 f5 3e 24 85 6f 3e 00 8c 67 f1 22 7f 10 cd 00   ┆! o>  g "l    *   >$ o>  g "    ┆
0x05c180…05c1a0             00 b7 c2 95 10 2a 92 1a 11 0f 1c eb 06 80 cd ae 14 e1 d1 c1 c9 37 c3 91 10 c3 c8 10 0d 0a 57 68   ┆     *               7        Wh┆
0x05c1a0…05c1c0             69 63 68 20 64 72 69 76 65 20 77 69 6c 6c 20 74 68 65 20 49 42 4d 20 64 69 73 6b 65 74 74 65 20   ┆ich drive will the IBM diskette ┆
0x05c1c0…05c1e0             62 65 20 6f 6e 3f 20 24 11 9c 10 0e 09 cd 05 00 0e 0a 11 48 1a 3e 01 12 cd 05 00 21 4a 1a 06 01   ┆be on? $           H >     !J   ┆
0x05c1e0…05c200             cd 98 02 3a 4a 1a d6 41 da f3 10 21 a8 1a 46 b8 da 3e 11 c3 1d 11 0d 0a 07 44 72 69 76 65 20 6d   ┆   :J  A   !  F  >       Drive m┆
0x05c200…05c220 (24, 1, 3)  6e 2e 0a 0a 0a 24 0d 0a 0a 0a 0a 0a 0a 0d 0a 09 09 20 20 20 20 20 20 20 20 20 20 4c 69 66 65 62   ┆n.   $                     Lifeb┆
0x05c220…05c240             6f 61 74 20 41 73 73 6f 63 69 61 74 65 73 0d 0a 09 09 20 49 42 4d 2f 43 50 4d 20 44 69 73 6b 65   ┆oat Associates     IBM/CPM Diske┆
0x05c240…05c260             74 74 65 20 55 74 69 6c 69 74 79 20 56 65 72 73 69 6f 6e 20 31 2e 31 0d 0a 09 09 09 20 53 65 72   ┆tte Utility Version 1.1      Ser┆
0x05c260…05c280             69 61 6c 20 4e 75 6d 62 65 72 20 4c 42 2d 31 31 31 31 0d 0a 09 09 09 20 20 43 6f 70 79 72 69 67   ┆ial Number LB-1111       Copyrig┆
0x05c280…05c2a0             68 74 28 63 29 20 31 39 37 39 0d 0a 0a 0a 0a 09 20 20 20 20 20 20 20 20 20 20 20 41 73 73 75 6d   ┆ht(c) 1979                 Assum┆
0x05c2a0…05c2c0             69 6e 67 20 73 74 61 6e 64 61 72 64 20 43 50 4d 20 32 2e 30 20 42 49 4f 53 2e 20 20 20 20 20 20   ┆ing standard CPM 2.0 BIOS.      ┆
0x05c2c0…05c2e0             20 0d 0a 0a 0d 0a 0a 09 09 4f 70 74 69 6f 6e 09 46 75 6e 63 74 69 6f 6e 20 74 6f 20 62 65 20 70   ┆         Option Function to be p┆
0x05c2e0…05c300             65 72 66 6f 72 6d 65 64 0d 0a 09 09 45 09 54 65 72 6d 69 6e 61 74 65 20 70 72 6f 67 72 61 6d 20   ┆erformed    E Terminate program ┆
0x05c300…05c320             61 6e 64 20 72 65 74 75 72 6e 20 63 6f 6e 74 72 6f 6c 20 74 6f 20 43 50 4d 0d 0a 09 09 46 09 49   ┆and return control to CPM    F I┆
0x05c320…05c340             6e 69 74 69 61 6c 69 7a 65 20 64 69 72 65 63 74 6f 72 79 20 6f 6e 20 49 42 4d 20 64 69 73 6b 65   ┆nitialize directory on IBM diske┆
0x05c340…05c360             74 74 65 0d 0a 09 09 44 09 44 69 73 70 6c 61 79 20 74 68 65 20 64 69 72 65 63 74 6f 72 79 20 6f   ┆tte    D Display the directory o┆
0x05c360…05c380             6e 20 61 6e 20 49 42 4d 20 64 69 73 6b 65 74 74 65 0d 0a 09 09 43 09 43 6f 6e 76 65 72 74 20 61   ┆n an IBM diskette    C Convert a┆
0x05c380…05c3a0             20 43 50 4d 20 66 69 6c 65 20 74 6f 20 49 42 4d 20 66 6f 72 6d 61 74 0d 0a 09 09 49 09 43 6f 6e   ┆ CPM file to IBM format    I Con┆
0x05c3a0…05c3c0             76 65 72 74 20 61 6e 20 49 42 4d 20 66 69 6c 65 20 74 6f 20 43 50 4d 20 66 6f 72 6d 61 74 0d 0a   ┆vert an IBM file to CPM format  ┆
0x05c3c0…05c3e0             0a 09 09 45 6e 74 65 72 20 6f 70 74 69 6f 6e 20 3a 20 24 0d 0a 0a 0d 0a 20 20 20 20 20 20 20 20   ┆   Enter option : $             ┆
0x05c3e0…05c400             20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 54 41 52 54 20 20 45 4e 44 20 20   ┆                    START  END  ┆
0x05c400…05c420 (24, 1, 4)  67 68 69 7c 2c 25 5f 3e 3f 70 71 72 73 74 75 76 77 78 60 3a 23 40 27 3d 22 80 61 62 63 64 65 66   ┆ghiø,%_>?pqrstuvwx`:#@'=" abcdef┆
0x05c420…05c440             67 68 69 8a 8b 8c 8d 8e 8f 90 6a 6b 6c 6d 6e 6f 70 71 72 9a 9b 9c 9d 9e 9f a0 7e 73 74 75 76 77   ┆ghi       jklmnopqr       üstuvw┆
0x05c440…05c460             78 79 7a aa ab ac ad ae af b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 ba bb bc 5d be bf 7b 41 42 43 44 45 46   ┆xyz                   Å  æABCDEF┆
0x05c460…05c480             47 48 49 ca cb cc cd ce cf 7d 4a 4b 4c 4d 4e 4f 50 51 52 da db dc dd de df 5c e1 53 54 55 56 57   ┆GHI      åJKLMNOPQR      Ø STUVW┆
0x05c480…05c4a0             58 59 5a ea eb ec ed ee ef 30 31 32 33 34 35 36 37 38 39 fa fb fc fd fe ff 00 01 02 03 04 05 06   ┆XYZ      0123456789             ┆
0x05c4a0…05c4c0             07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 40 5a 7f 7b 5b 6c 50   ┆                         @Z æÆlP┆
0x05c4c0…05c4e0             7d 4d 5d 5c 4e 6b 60 4b 61 f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 7a 5e 4c 7e 6e 6f 7c c1 c2 c3 c4 c5 c6   ┆åMÅØNk`Ka          z^Lünoø      ┆
0x05c4e0…05c500             c7 c8 c9 d1 d2 d3 d4 d5 d6 d7 d8 d9 e2 e3 e4 e5 e6 e7 e8 e9 ad e0 bd 5f 6d 79 81 82 83 84 85 86   ┆                       _my      ┆
0x05c500…05c520             87 88 89 91 92 93 94 95 96 97 98 99 a2 a3 a4 a5 a6 a7 a8 a9 c0 6a d0 a1 07 00 01 02 03 04 05 06   ┆                     j          ┆
0x05c520…05c540             07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 40 5a 7f 7b 5b 6c 50   ┆                         @Z æÆlP┆
0x05c540…05c560             7d 4d 5d 5c 4e 6b 60 4b 61 f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 7a 5e 4c 7e 6e 6f 7c c1 c2 c3 c4 c5 c6   ┆åMÅØNk`Ka          z^Lünoø      ┆
0x05c560…05c580             c7 c8 c9 d1 d2 d3 d4 d5 d6 d7 d8 d9 e2 e3 e4 e5 e6 e7 e8 e9 ad e0 bd 5f 6d 79 81 82 83 84 85 86   ┆                       _my      ┆
0x05c580…05c5a0             87 88 89 91 92 93 94 95 96 97 98 99 a2 a3 a4 a5 a6 a7 a8 a9 c0 6a d0 a1 07 01 02 03 04 05 06 07   ┆                     j          ┆
0x05c5a0…05c5c0             08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 14 15 16 17 18 19 1a 00 0d 09 16 05 12 01 0e 0a 17 06 13 02   ┆                                ┆
0x05c5c0…05c5e0             0f 0b 18 07 14 03 10 0c 19 08 15 04 11 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13   ┆                                ┆
0x05c5e0…05c600             14 15 16 17 18 19 1a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
0x05c600…05c620 (24, 1, 5)  46 90 da 11 09 32 ab 1a 3a aa 1a 32 a4 1a c3 50 09 3a a7 1a 3c ca 55 09 21 89 1a 4e 21 83 1a 46   ┆F    2  :  2   P :  < U !  N!  F┆
0x05c620…05c640             21 95 1d 3e 00 cd 75 0f 3a 85 1a b8 c2 3b 09 3a 8d 1a b9 c2 3b 09 3e ff 32 a7 1a 0c 79 fe 1b c2   ┆!  >  u :    ; :    ; > 2   y   ┆
0x05c640…05c660             45 09 0e 01 04 21 89 1a 71 21 83 1a 70 cd 38 0c b7 e1 d1 c1 c9 c3 8c 09 0d 0a 07 49 42 4d 20 64   ┆E    !  q!  p 8            IBM d┆
0x05c660…05c680             69 73 6b 65 74 74 65 20 69 73 20 66 75 6c 6c 2e 20 20 53 70 6c 69 74 20 74 68 65 20 69 6e 70 75   ┆iskette is full.  Split the inpu┆
0x05c680…05c6a0             74 20 66 69 6c 65 20 69 6e 74 6f 24 11 58 09 0e 09 cd 05 00 c3 bf 09 20 6d 75 6c 74 69 70 6c 65   ┆t file into$ X          multiple┆
0x05c6a0…05c6c0             20 73 6d 61 6c 6c 65 72 20 66 69 6c 65 73 2c 20 61 6e 64 20 74 72 79 20 61 67 61 69 6e 2e 24 11   ┆ smaller files, and try again.$ ┆
0x05c6c0…05c6e0             97 09 0e 09 cd 05 00 c3 e6 09 0d 0a 50 72 65 73 73 20 61 6e 79 20 6b 65 79 20 74 6f 20 63 6f 6e   ┆            Press any key to con┆
0x05c6e0…05c700             74 69 6e 75 65 24 11 ca 09 0e 09 cd 05 00 e1 d1 c1 37 c9 3a ab 1a 21 aa 1a 46 90 da 04 0a cd e8   ┆tinue$           7 :  !  F      ┆
0x05c700…05c720             08 c3 f3 09 cd e8 08 3a 89 1a 3d d2 14 0a 3e 1a 21 83 1a 35 21 dc 1b 06 02 cd 18 02 3a 83 1a 21   ┆       :  =   > !  5!       :  !┆
0x05c720…05c740             d9 1b 06 02 cd 18 02 21 82 1a 46 21 88 1a 4e 21 b3 1b 36 30 21 8f 1b 3e 01 cd 75 0f 11 d3 18 0e   ┆       !  F!  N!  60!  >  u     ┆
0x05c740…05c760             09 cd 05 00 c3 4a 0a 0d 0a 24 11 47 0a 0e 09 cd 05 00 21 8f 1b 0e 3e c5 e5 5e 0e 02 cd 05 00 e1   ┆     J   $ G      !   >  ^      ┆
0x05c760…05c780             c1 23 0d c2 57 0a 21 d1 1b 0e 0e c5 e5 5e 0e 02 cd 05 00 e1 c1 23 0d c2 6b 0a c3 a6 0a 0d 0a 41   ┆ #  W !      ^       #  k      A┆
0x05c780…05c7a0             62 6f 76 65 20 49 42 4d 20 64 61 74 61 20 73 65 74 20 63 72 65 61 74 65 64 20 62 79 20 63 6f 6e   ┆bove IBM data set created by con┆
0x05c7a0…05c7c0             76 65 72 74 2e 24 11 7d 0a 0e 09 cd 05 00 2a a2 1a 7c b5 ca b4 0b c3 bd 0a 0d 0a 07 24 11 b9 0a   ┆vert.$ å      *  ø          $   ┆
0x05c7c0…05c7e0             0e 09 cd 05 00 c3 ee 0a c5 d5 e5 01 f6 ff 11 ff ff 09 13 da d1 0a 01 0a 00 09 eb 7c b5 c4 c8 0a   ┆                           ø    ┆
0x05c7e0…05c800             7b c6 30 5f 0e 02 5f cd 05 00 e1 d1 c1 c9 2a a2 1a cd c8 0a c3 03 0b 20 69 6e 70 75 74 20 6c 69   ┆æ 0_  _       *         input li┆
0x05c800…05c820 (24, 1, 6)  75 73 74 20 62 65 20 69 6e 20 74 68 65 20 72 61 6e 67 65 20 6f 66 20 41 20 74 6f 20 24 11 f6 10   ┆ust be in the range of A to $   ┆
0x05c820…05c840             0e 09 cd 05 00 3a a9 1a 0e 02 5f cd 05 00 c3 33 11 2e 24 11 31 11 0e 09 cd 05 00 c3 80 11 21 8f   ┆     :    _    3 .$ 1         ! ┆
0x05c840…05c860             1a 5e bb c2 9f 11 c3 78 11 0d 0a 07 49 42 4d 20 64 72 69 76 65 20 6d 75 73 74 20 62 65 20 64 69   ┆ ^     x    IBM drive must be di┆
0x05c860…05c880             66 66 65 72 65 6e 74 20 66 72 6f 6d 20 43 50 4d 20 64 72 69 76 65 2e 24 11 49 11 0e 09 cd 05 00   ┆fferent from CPM drive.$ I      ┆
0x05c880…05c8a0             c3 94 11 20 50 6c 65 61 73 65 20 72 65 65 6e 74 65 72 2e 24 11 83 11 0e 09 cd 05 00 c3 99 10 32   ┆    Please reenter.$           2┆
0x05c8a0…05c8c0             8e 1a c3 cc 11 0d 0a 07 50 6c 65 61 73 65 20 70 6c 61 63 65 20 49 42 4d 20 64 69 73 6b 65 74 74   ┆        Please place IBM diskett┆
0x05c8c0…05c8e0             65 20 69 6e 20 64 72 69 76 65 20 24 11 a5 11 0e 09 cd 05 00 3a 8e 1a c6 41 0e 02 5f cd 05 00 c3   ┆e in drive $        :   A  _    ┆
0x05c8e0…05c900             05 12 3a 2e 20 54 68 65 6e 20 70 72 65 73 73 20 61 6e 79 20 6b 65 79 20 74 6f 20 63 6f 6e 74 69   ┆  :. Then press any key to conti┆
0x05c900…05c920             6e 75 65 2e 24 11 e2 11 0e 09 cd 05 00 0e 01 cd 05 00 21 8e 1a 5e c9 c5 d5 e5 22 94 1a c5 e1 22   ┆nue.$             !  ^    "    "┆
0x05c920…05c940             9e 1a 21 8f 1a 5e 3e ff bb c2 41 12 cd f2 12 2a 9e 1a 1c 73 eb d5 0e 13 cd 05 00 d1 0e 16 cd 05   ┆  !  ^>   A    *   s            ┆
0x05c940…05c960             00 2a 94 1a 11 91 1c 01 80 00 cd 9b 01 11 91 1c 0e 1a cd 05 00 2a 9e 1a eb 0e 15 cd 05 00 b7 ca   ┆ *                   *          ┆
0x05c960…05c980             63 12 37 e1 d1 c1 c9 c5 d5 e5 22 96 1a c5 e1 22 a0 1a 21 8f 1a 5e 3e ff bb c2 8e 12 cd f2 12 2a   ┆c 7       "    "  !  ^>        *┆
0x05c980…05c9a0             a0 1a 1c 73 eb 0e 0f cd 05 00 3c ca b4 12 11 91 1c 0e 1a cd 05 00 2a a0 1a eb 0e 14 cd 05 00 b7   ┆   s      <           *         ┆
0x05c9a0…05c9c0             c2 ee 12 2a 96 1a eb 21 91 1c 01 80 00 cd 9b 01 e1 d1 c1 c9 c3 e6 12 0d 0a 07 43 50 2f 4d 20 66   ┆   *   !                  CP/M f┆
0x05c9c0…05c9e0             69 6c 65 20 6e 6f 74 20 66 6f 75 6e 64 2e 20 20 43 6f 6e 76 65 72 73 69 6f 6e 20 61 62 61 6e 64   ┆ile not found.  Conversion aband┆
0x05c9e0…05ca00             6f 6e 65 64 2e 24 11 b7 12 0e 09 cd 05 00 37 c3 b0 12 c3 21 13 0d 0a 57 68 69 63 68 20 64 72 69   ┆oned.$        7    !   Which dri┆
0x05ca00…05ca20 (24, 1, 7)  20 20 20 20 20 56 53 20 20 43 52 45 41 20 20 20 20 20 20 20 20 20 20 45 58 50 49 52 20 20 20 20   ┆     VS  CREA          EXPIR    ┆
0x05ca20…05ca40             45 4e 44 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 42 4c 4f 43 4b   ┆END                        BLOCK┆
0x05ca40…05ca60             20 20 20 4f 46 20 20 20 20 4f 46 20 20 20 20 20 20 20 4f 45 20 20 54 49 4f 4e 20 20 20 20 20 20   ┆   OF    OF       OE  TION      ┆
0x05ca60…05ca80             20 20 20 20 41 54 49 4f 4e 20 20 20 20 4f 46 20 0d 0a 20 20 20 20 44 41 54 41 20 53 45 54 20 4e   ┆    ATION    OF       DATA SET N┆
0x05ca80…05caa0             41 4d 45 20 20 20 20 20 4c 4e 47 54 48 20 45 58 54 4e 54 20 45 58 54 4e 54 20 20 20 20 20 20 4c   ┆AME     LNGTH EXTNT EXTNT      L┆
0x05caa0…05cac0             51 20 20 44 41 54 45 20 20 20 20 20 20 20 20 20 20 20 44 41 54 45 20 20 20 44 41 54 41 24 20 20   ┆Q  DATE           DATE   DATA$  ┆
0x05cac0…05cae0             20 20 20 20 20 41 73 73 75 6d 69 6e 67 20 73 74 61 6e 64 61 72 64 20 43 50 4d 20 31 2e 34 20 42   ┆     Assuming standard CPM 1.4 B┆
0x05cae0…05cb00             49 4f 53 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41 73 73 75 6d 69 6e 67 20 73 74 61 6e 64   ┆IOS.              Assuming stand┆
0x05cb00…05cb20             61 72 64 20 43 50 4d 20 32 2e 30 20 42 49 4f 53 2e 20 20 20 20 20 20 20 41 73 73 75 6d 69 6e 67   ┆ard CPM 2.0 BIOS.       Assuming┆
0x05cb20…05cb40             20 43 50 4d 20 32 2e 30 20 42 49 4f 53 20 77 69 74 68 20 73 65 63 74 6f 72 20 64 65 62 6c 6f 63   ┆ CPM 2.0 BIOS with sector debloc┆
0x05cb40…05cb60             6b 69 6e 67 2e 01 00 03 00 00 46 00 00 20 20 20 20 20 4f 45 20 20 54 49 4f 4e 20 20 20 20 00 00   ┆king.     F       OE  TION      ┆
0x05cb60…05cb80             20 20 20 20 41 54 49 4f 4e 20 20 20 20 00 00 20 0d 0a 20 45 52 4d 41 50 56 4f 4c 31 49 42 4d 49   ┆    ATION          ERMAPVOL1IBMI┆
0x05cb80…05cba0             52 44 00 00 00 00 00 00 00 00 00 00 00 00 ff ff 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆RD                              ┆
0x05cba0…05cbc0             00 00 00 00 00 00 00 00 10 50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆         P                      ┆
0x05cbc0…05cbe0             00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
0x05cbe0…05cc00             00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 48 44 52 31 20 44 41 54 41 20 20 20 20 20 20 20 20   ┆               HDR1 DATA        ┆
0x05cc00…05cc20 (24, 1, 8)  41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 00 00 00 00 0a 00 40 02 17   ┆AAAAAAAAAAAAAAAAAAAAAAA      @  ┆
0x05cc20…05cc40             02 b3 20 00 02 95 02 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41   ┆       AAAAAAAAAAAAAAAAAAAAAAAAA┆
0x05cc40…05cc60             41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 3c ca 5e 21 eb e1 73 23 72 b7 c3 cc 1f af 12   ┆AAAAAAAAAAAAAAAAA< ^!  s#r      ┆
0x05cc60…05cc80             37 e1 c3 cc 1f 3e ff c5 47 e5 21 22 00 19 cd 95 1f 7d e6 7f 4f 29 7c 21 0c 00 19 be ca a0 21 e5   ┆7    >  G !"     å  O)ø!      ! ┆
0x05cc80…05cca0             f5 21 21 00 19 7e b7 c4 0f 20 36 00 f1 e1 77 cd d0 1f 0f 3c c2 a0 21 78 b7 37 ca a9 21 cd 3a 20   ┆ !!  ü    6   w    <  !x 7  ! : ┆
0x05cca0…05ccc0             21 20 00 19 71 23 7e b0 77 e1 f5 eb cd d9 1f 1a eb f1 c1 c9 11 5c 27 af 12 cd f1 22 23 fe 2b ca   ┆!   q#ü w            Ø'    "# + ┆
0x05ccc0…05cce0             b9 21 fe 2d c2 cd 21 3e ff 12 c3 b9 21 2b 11 ff ff eb 22 5a 27 eb cd f1 22 fe 23 23 ca 0f 22 2b   ┆ ! -  !>    !+    "Z'   " ##  "+┆
0x05cce0…05cd00             cd 29 22 11 01 00 d2 0f 22 1b 7e cd 29 22 d2 0a 22 23 e5 62 6b 19 29 19 29 da 15 22 d6 30 5f 16   ┆ )"     " ü )"  "# bk ) )  " 0_ ┆
0x05cd00…05cd20             87 88 89 91 92 93 94 95 96 97 98 99 a2 a3 a4 a5 a6 a7 a8 a9 c0 6a d0 a1 07 00 01 02 03 04 05 06   ┆                     j          ┆
0x05cd20…05cd40             07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 40 5a 7f 7b 5b 6c 50   ┆                         @Z æÆlP┆
0x05cd40…05cd60             7d 4d 5d 5c 4e 6b 60 4b 61 f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 7a 5e 4c 7e 6e 6f 7c c1 c2 c3 c4 c5 c6   ┆åMÅØNk`Ka          z^Lünoø      ┆
0x05cd60…05cd80             c7 c8 c9 d1 d2 d3 d4 d5 d6 d7 d8 d9 e2 e3 e4 e5 e6 e7 e8 e9 ad e0 bd 5f 6d 79 81 82 83 84 85 86   ┆                       _my      ┆
0x05cd80…05cda0             87 88 89 91 92 93 94 95 96 97 98 99 a2 a3 a4 a5 a6 a7 a8 a9 c0 6a d0 a1 07 01 02 03 04 05 06 07   ┆                     j          ┆
0x05cda0…05cdc0             08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 14 15 16 17 18 19 1a 00 0d 09 16 05 12 01 0e 0a 17 06 13 02   ┆                                ┆
0x05cdc0…05cde0             0f 0b 18 07 14 03 10 0c 19 08 15 04 11 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13   ┆                                ┆
0x05cde0…05ce00             14 15 16 17 18 19 1a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
0x05ce00…05ce20 (24, 1, 9)  6e 65 24 11 f7 0a 0e 09 cd 05 00 2a a2 1a 2d ca 27 0b c3 1c 0b 73 20 77 65 72 65 24 11 15 0b 0e   ┆ne$        *  - '    s were$    ┆
0x05ce20…05ce40             09 cd 05 00 c3 37 0b c3 2f 0b 20 77 61 73 24 11 2a 0b 0e 09 cd 05 00 c3 60 0b 20 67 72 65 61 74   ┆     7  /  was$ *       `  great┆
0x05ce40…05ce60             65 72 20 74 68 61 6e 20 6f 75 74 70 75 74 20 72 65 63 6f 72 64 20 6c 65 6e 67 74 68 2e 20 20 24   ┆er than output record length.  $┆
0x05ce60…05ce80             11 3a 0b 0e 09 cd 05 00 c3 6e 0b 0d 0a 24 11 6b 0b 0e 09 cd 05 00 c3 ac 0b 54 68 65 20 6c 6f 6e   ┆ :       n   $ k         The lon┆
0x05ce80…05cea0             67 20 6c 69 6e 65 73 20 77 65 72 65 20 73 70 61 6e 6e 65 64 20 61 63 72 6f 73 73 20 6f 75 74 70   ┆g lines were spanned across outp┆
0x05cea0…05cec0             75 74 20 72 65 63 6f 72 64 73 2e 24 11 79 0b 0e 09 cd 05 00 c3 d6 0b 0d 0a 20 20 50 72 65 73 73   ┆ut records.$ y             Press┆
0x05cec0…05cee0             20 61 6e 79 20 6b 65 79 20 74 6f 20 63 6f 6e 74 69 6e 75 65 2e 24 11 b7 0b 0e 09 cd 05 00 0e 01   ┆ any key to continue.$          ┆
0x05cee0…05cf00             cd 05 00 af f5 11 ad 1a 0e 10 cd 05 00 3e ff 32 8f 1a f1 e1 d1 c1 c9 f1 37 c3 e4 0b af b8 c2 05   ┆             > 2        7       ┆
0x05cf00…05cf20             0c cd 0b 0c d8 7e 23 05 e6 7f c9 c5 d5 e5 21 13 1d 01 ad 1a cd 67 12 da 34 0c 3d ca 34 0c 21 13   ┆     ü#       !      g  4 = 4 ! ┆
0x05cf20…05cf40             1d 22 9a 1a 3e 80 32 a5 1a e1 d1 c1 21 a5 1a 46 21 13 1d c9 e1 d1 c1 c9 c5 d5 e5 21 95 1d 0e 80   ┆ "  > 2     !  F!          !    ┆
0x05cf40…05cf60             1e 00 73 23 0d c2 42 0c 21 95 1d 22 98 1a 21 aa 1a 7e 32 a4 1a 3e 80 96 32 ab 1a e1 d1 c1 c9 c5   ┆  s#  B !  "  !  ü2  >  2       ┆
0x05cf60…05cf80             d5 e5 01 08 00 21 82 1a 70 21 88 1a 71 c3 ab 0c 0d 0a 50 6c 65 61 73 65 20 65 6e 74 65 72 20 64   ┆     !  p!  q     Please enter d┆
0x05cf80…05cfa0             61 74 61 20 73 65 74 20 6e 61 6d 65 20 6f 66 20 49 42 4d 20 66 69 6c 65 20 74 6f 20 62 65 20 63   ┆ata set name of IBM file to be c┆
0x05cfa0…05cfc0             6f 6e 76 65 72 74 65 64 3a 20 24 11 70 0c 0e 09 cd 05 00 0e 0a 11 4b 1a 3e 11 12 cd 05 00 21 4d   ┆onverted: $ p         K >     !M┆
0x05cfc0…05cfe0             1a 06 11 cd 98 02 c3 ef 0c 0d 0a 50 6c 65 61 73 65 20 65 6e 74 65 72 20 6e 61 6d 65 20 6f 66 20   ┆           Please enter name of ┆
0x05cfe0…05d000             43 50 4d 20 66 69 6c 65 20 77 68 65 72 65 24 11 c9 0c 0e 09 cd 05 00 c3 13 0d 20 64 61 74 61 20   ┆CPM file where$            data ┆
0x05d000…05d020 (24, 1, 10) 76 65 20 77 69 6c 6c 20 74 68 65 20 43 50 4d 20 64 69 73 6b 65 74 74 65 20 62 65 20 6f 6e 3f 20   ┆ve will the CPM diskette be on? ┆
0x05d020…05d040             24 11 f5 12 0e 09 cd 05 00 0e 0a 11 48 1a 3e 01 12 cd 05 00 21 4a 1a 06 01 cd 98 02 3a 4a 1a d6   ┆$           H >     !J      :J  ┆
0x05d040…05d060             41 da 4c 13 21 a8 1a 46 b8 da 97 13 c3 76 13 0d 0a 07 44 72 69 76 65 20 6d 75 73 74 20 62 65 20   ┆A L !  F     v    Drive must be ┆
0x05d060…05d080             69 6e 20 74 68 65 20 72 61 6e 67 65 20 6f 66 20 41 20 74 6f 20 24 11 4f 13 0e 09 cd 05 00 3a a9   ┆in the range of A to $ O      : ┆
0x05d080…05d0a0             1a 0e 02 5f cd 05 00 c3 8c 13 2e 24 11 8a 13 0e 09 cd 05 00 c3 d9 13 21 8e 1a 5e bb c2 f8 13 c3   ┆   _      .$           !  ^     ┆
0x05d0a0…05d0c0             d1 13 0d 0a 07 43 50 4d 20 64 72 69 76 65 20 6d 75 73 74 20 62 65 20 64 69 66 66 65 72 65 6e 74   ┆     CPM drive must be different┆
0x05d0c0…05d0e0             20 66 72 6f 6d 20 49 42 4d 20 64 72 69 76 65 2e 24 11 a2 13 0e 09 cd 05 00 c3 ed 13 20 50 6c 65   ┆ from IBM drive.$            Ple┆
0x05d0e0…05d100             61 73 65 20 72 65 65 6e 74 65 72 2e 24 11 dc 13 0e 09 cd 05 00 c3 f2 12 32 8f 1a c3 24 14 0d 0a   ┆ase reenter.$           2   $   ┆
0x05d100…05d120             50 6c 65 61 73 65 20 70 6c 61 63 65 20 43 50 4d 20 64 69 73 6b 65 74 74 65 20 69 6e 20 64 72 69   ┆Please place CPM diskette in dri┆
0x05d120…05d140             76 65 20 24 11 fe 13 0e 09 cd 05 00 3a 8f 1a c6 41 0e 02 5f cd 05 00 c3 5d 14 3a 2e 20 54 68 65   ┆ve $        :   A  _    Å :. The┆
0x05d140…05d160             6e 20 70 72 65 73 73 20 61 6e 79 20 6b 65 79 20 74 6f 20 63 6f 6e 74 69 6e 75 65 2e 24 11 3a 14   ┆n press any key to continue.$ : ┆
0x05d160…05d180             0e 09 cd 05 00 0e 01 cd 05 00 0e 0d cd 05 00 21 8f 1a 5e c9 c5 d5 e5 21 95 1d 0e 80 1e 1a 73 23   ┆               !  ^    !      s#┆
0x05d180…05d1a0             0d c2 7e 14 21 95 1d 22 98 1a 3e 80 32 a4 1a e1 d1 c1 c9 c5 d5 e5 7e 23 e5 c5 21 99 1f 4f 06 00   ┆  ü !  "  > 2         ü#  !  O  ┆
0x05d1a0…05d1c0             09 7e 12 13 c1 e1 05 c2 96 14 e1 d1 c1 c9 c5 d5 e5 7e 23 e5 c5 21 99 1e 4f 06 00 09 7e 12 13 c1   ┆ ü               ü#  !  O   ü   ┆
0x05d1c0…05d1e0             e1 05 c2 b1 14 e1 d1 c1 c9 0a 0a 0d 0a 09 09 20 20 20 20 20 20 20 20 20 20 4c 69 66 65 62 6f 61   ┆                         Lifeboa┆
0x05d1e0…05d200             74 20 41 73 73 6f 63 69 61 74 65 73 0d 0a 09 09 20 49 42 4d 2f 43 50 4d 20 44 69 73 6b 65 74 74   ┆t Associates     IBM/CPM Diskett┆
0x05d200…05d220 (24, 1, 11) 20 20 20 20 20 20 20 30 38 30 20 30 31 30 30 31 20 37 33 30 32 36 20 20 20 20 20 20 20 20 20 20   ┆       080 01001 73026          ┆
0x05d220…05d240             20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 30 31 30 30 31 20 44   ┆                         01001 D┆
0x05d240…05d260             44 52 31 20 44 41 54 41 30 39 20 20 20 20 20 20 20 20 20 20 20 20 20 30 38 30 20 37 34 30 30 31   ┆DR1 DATA09             080 74001┆
0x05d260…05d280             20 37 33 30 32 36 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆ 73026                          ┆
0x05d280…05d2a0             20 20 20 20 20 20 20 20 20 37 34 30 30 31 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆         74001                  ┆
0x05d2a0…05d2c0             00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
          […0x1…]
0x05d2e0…05d300             00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 48 44 52 31 20 44 41 54 41 20 20 20 20 20 20 20 20   ┆               HDR1 DATA        ┆
0x05d300…05d320             20 20 20 20 20 20 20 30 38 30 20 30 31 30 30 31 20 37 33 30 32 36 20 20 20 20 20 20 20 20 20 20   ┆       080 01001 73026          ┆
0x05d320…05d340             20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 30 31 30 30 31 20 44   ┆                         01001 D┆
0x05d340…05d360             44 52 31 20 44 41 54 41 30 39 20 20 20 20 20 20 20 20 20 20 20 20 20 30 38 30 20 37 34 30 30 31   ┆DR1 DATA09             080 74001┆
0x05d360…05d380             20 37 33 30 32 36 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆ 73026                          ┆
0x05d380…05d3a0             20 20 20 20 20 20 20 20 20 37 34 30 30 31 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆         74001                  ┆
0x05d3a0…05d3c0             00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
          […0x1…]
0x05d3e0…05d400             00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 48 44 52 31 20 44 41 54 41 20 20 20 20 20 20 20 20   ┆               HDR1 DATA        ┆
0x05d400…05d420 (24, 1, 12) 0d 0a 63 70 6d 6c 09 65 71 75 09 24 2d 63 70 6d 62 09 3b 6c 65 6e 67 74 68 20 28 69 6e 20 62 79   ┆  cpml equ $-cpmb ;length (in by┆
0x05d420…05d440             74 65 73 29 20 6f 66 20 63 70 6d 20 73 79 73 74 65 6d 0d 0a 6e 73 65 63 74 73 09 65 71 75 09 63   ┆tes) of cpm system  nsects equ c┆
0x05d440…05d460             70 6d 6c 2f 31 32 38 09 3b 6e 75 6d 62 65 72 20 6f 66 20 73 65 63 74 6f 72 73 20 74 6f 20 6c 6f   ┆pml/128 ;number of sectors to lo┆
0x05d460…05d480             61 64 0d 0a 6f 66 66 73 65 74 09 65 71 75 09 32 09 3b 6e 75 6d 62 65 72 20 6f 66 20 64 69 73 6b   ┆ad  offset equ 2 ;number of disk┆
0x05d480…05d4a0             20 74 72 61 63 6b 73 20 75 73 65 64 20 62 79 20 63 70 2f 6d 0d 0a 63 64 69 73 6b 09 65 71 75 09   ┆ tracks used by cp/m  cdisk equ ┆
0x05d4a0…05d4c0             30 30 30 34 68 09 3b 61 64 64 72 65 73 73 20 6f 66 20 6c 61 73 74 20 6c 6f 67 67 65 64 20 64 69   ┆0004h ;address of last logged di┆
0x05d4c0…05d4e0             73 6b 20 6f 6e 20 77 61 72 6d 20 73 74 61 72 74 0d 0a 62 75 66 66 09 65 71 75 09 30 30 38 30 68   ┆sk on warm start  buff equ 0080h┆
0x05d4e0…05d500             09 3b 64 65 66 61 75 6c 74 20 62 75 66 66 65 72 20 61 64 64 72 65 73 73 0d 0a 72 65 74 72 79 09   ┆ ;default buffer address  retry ┆
0x05d500…05d520             65 71 75 09 31 30 09 3b 6d 61 78 20 72 65 74 72 69 65 73 20 6f 6e 20 64 69 73 6b 20 69 2f 6f 20   ┆equ 10 ;max retries on disk i/o ┆
0x05d520…05d540             62 65 66 6f 72 65 20 65 72 72 6f 72 0d 0a 3b 0d 0a 3b 09 70 65 72 66 6f 72 6d 20 66 6f 6c 6c 6f   ┆before error  ;  ; perform follo┆
0x05d540…05d560             77 69 6e 67 20 66 75 6e 63 74 69 6f 6e 73 0d 0a 3b 09 62 6f 6f 74 09 63 6f 6c 64 20 73 74 61 72   ┆wing functions  ; boot cold star┆
0x05d560…05d580             74 0d 0a 3b 09 77 62 6f 6f 74 09 77 61 72 6d 20 73 74 61 72 74 20 28 73 61 76 65 20 69 2f 6f 20   ┆t  ; wboot warm start (save i/o ┆
0x05d580…05d5a0             62 79 74 65 29 0d 0a 3b 09 28 62 6f 6f 74 20 61 6e 64 20 77 62 6f 6f 74 20 61 72 65 20 74 68 65   ┆byte)  ; (boot and wboot are the┆
0x05d5a0…05d5c0             20 73 61 6d 65 20 66 6f 72 20 6d 64 73 29 0d 0a 3b 09 63 6f 6e 73 74 09 63 6f 6e 73 6f 6c 65 20   ┆ same for mds)  ; const console ┆
0x05d5c0…05d5e0             73 74 61 74 75 73 0d 0a 3b 09 09 72 65 67 2d 61 20 3d 20 30 30 20 69 66 20 6e 6f 20 63 68 61 72   ┆status  ;  reg-a = 00 if no char┆
0x05d5e0…05d600             61 63 74 65 72 20 72 65 61 64 79 0d 0a 3b 09 09 72 65 67 2d 61 20 3d 20 66 66 20 69 66 20 63 68   ┆acter ready  ;  reg-a = ff if ch┆
0x05d600…05d620 (24, 1, 13) 69 73 20 74 6f 20 62 65 20 77 72 69 74 74 65 6e 3a 20 24 11 fa 0c 0e 09 cd 05 00 0e 0a 11 5e 1a   ┆is to be written: $           ^ ┆
0x05d620…05d640             3e 0c 12 cd 05 00 21 60 1a 06 0c cd 98 02 21 5f 1a 4e 21 60 1a 06 00 09 36 20 21 ce 1a 0e 21 1e   ┆>     !`      !_ N!`    6 !   ! ┆
0x05d640…05d660             00 73 23 0d c2 41 0d 11 60 1a 21 ce 1a cd 6d 06 eb 21 88 1a 4e fe 1b ca 1a 0f 21 82 1a 46 21 8f   ┆ s#  A  ` !   m  !  N     !  F! ┆
0x05d660…05d680             1b cd 06 10 da 64 0f 21 4c 1a 4e 11 94 1b 21 4d 1a cd b7 02 ca 81 0d 3a 88 1a 3c 32 88 1a c3 51   ┆     d !L N   !M       :  <2   Q┆
0x05d680…05d6a0             0d 11 d3 18 0e 09 cd 05 00 c3 8f 0d 0d 0a 24 11 8c 0d 0e 09 cd 05 00 21 8f 1b 0e 3e c5 e5 5e 0e   ┆              $        !   >  ^ ┆
0x05d6a0…05d6c0             02 cd 05 00 e1 c1 23 0d c2 9c 0d 21 d1 1b 0e 0e c5 e5 5e 0e 02 cd 05 00 e1 c1 23 0d c2 b0 0d c3   ┆      #    !      ^       #     ┆
0x05d6c0…05d6e0             e3 0d 0d 0a 50 72 6f 63 65 73 73 69 6e 67 20 61 62 6f 76 65 20 49 42 4d 20 64 61 74 61 20 73 65   ┆    Processing above IBM data se┆
0x05d6e0…05d700             74 2e 24 11 c2 0d 0e 09 cd 05 00 3e 20 32 ad 1b 32 db 1b 21 a7 1b cd ae 07 7d 32 aa 1a 21 ab 1b   ┆t.$        > 2  2  !     å2  !  ┆
0x05d700…05d720             cd ae 07 7d 32 83 1a 21 ae 1b cd ae 07 7d 32 89 1a 21 d9 1b cd ae 07 7d 32 84 1a 21 dc 1b cd ae   ┆   å2  !     å2  !     å2  !    ┆
0x05d720…05d740             07 7d 32 8c 1a cd 74 14 21 89 1a 4e 21 83 1a 46 21 13 1d cd 06 10 da 64 0f 21 13 1d 22 9a 1a 2a   ┆ å2   t !  N!  F!      d !  "  *┆
0x05d740…05d760             9a 1a 22 9c 1a 3a aa 1a 4f 06 00 09 22 9a 1a 11 94 1d 7c ba c2 59 0e 7d bb d2 d9 0e 2a 9c 1a 11   ┆  "  :  O   "     ø  Y å    *   ┆
0x05d760…05d780             17 1e cd 9b 01 21 17 1e 22 9c 1a eb 2b 3a aa 1a 4f 3e 20 be c2 7c 0e 2b 0d c2 73 0e 23 0c 36 0d   ┆     !  "   +:  O>   ø +  s # 6 ┆
0x05d780…05d7a0             23 0c 36 0a 21 a5 1a 71 21 a5 1a 4e 06 00 3a a4 1a b9 d2 96 0e 4f 21 a6 1a 71 2a 98 1a eb 2a 9c   ┆# 6 !  q!  N  :      O!  q*   * ┆
0x05d7a0…05d7c0             1a cd 9b 01 22 9c 1a eb 22 98 1a 3a a4 1a 21 a6 1a 4e 91 32 a4 1a c2 c8 0e 01 ce 1a 21 95 1d cd   ┆    "   "  :  !  N 2        !   ┆
0x05d7c0…05d7e0             17 12 da 64 0f cd 74 14 21 a6 1a 4e 3a a5 1a 91 32 a5 1a c2 88 0e c3 3f 0e 21 89 1a 34 3e 1a be   ┆   d  t !  N:   2      ? !  4>  ┆
0x05d7e0…05d800             d2 e9 0e 36 01 21 83 1a 34 21 83 1a 3a 84 1a be c2 28 0e 21 89 1a 3a 8c 1a be d2 28 0e 01 ce 1a   ┆   6 !  4!  :    ( !  :    (    ┆
0x05d800…05d820 (24, 1, 14) 65 20 55 74 69 6c 69 74 79 20 56 65 72 73 69 6f 6e 20 31 2e 31 0d 0a 09 09 09 20 53 65 72 69 61   ┆e Utility Version 1.1      Seria┆
0x05d820…05d840             6c 20 4e 75 6d 62 65 72 20 4c 42 2d 30 31 31 37 0d 0a 09 09 09 20 20 43 6f 70 79 72 69 67 68 74   ┆l Number LB-0117       Copyright┆
0x05d840…05d860             28 63 29 20 31 39 37 39 0d 0a 0a 0a 09 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 61 20 67   ┆(c) 1979     This program is a g┆
0x05d860…05d880             65 6e 65 72 61 6c 20 49 42 4d 2f 43 50 4d 20 64 69 73 6b 65 74 74 65 20 75 74 69 6c 69 74 79 2e   ┆eneral IBM/CPM diskette utility.┆
0x05d880…05d8a0             20 49 74 0d 0a 09 70 65 72 66 6f 72 6d 73 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 66 75 6e   ┆ It   performs the following fun┆
0x05d8a0…05d8c0             63 74 69 6f 6e 73 3a 0d 0a 0a 09 09 31 29 09 46 6f 72 6d 61 74 20 61 6e 20 49 42 4d 20 64 69 73   ┆ctions:     1) Format an IBM dis┆
0x05d8c0…05d8e0             6b 65 74 74 65 20 64 69 72 65 63 74 6f 72 79 0d 0a 09 09 32 29 09 44 69 73 70 6c 61 79 20 61 6e   ┆kette directory    2) Display an┆
0x05d8e0…05d900             20 49 42 4d 20 64 69 73 6b 65 74 74 65 20 64 69 72 65 63 74 6f 72 79 0d 0a 09 09 33 29 09 52 65   ┆ IBM diskette directory    3) Re┆
0x05d900…05d920             61 64 20 61 20 43 50 4d 20 66 69 6c 65 2c 20 63 6f 6e 76 65 72 74 20 69 74 20 74 6f 20 49 42 4d   ┆ad a CPM file, convert it to IBM┆
0x05d920…05d940             20 66 6f 72 6d 61 74 20 61 6e 64 20 77 72 69 74 65 0d 0a 09 09 09 69 74 20 6f 6e 20 61 6e 20 49   ┆ format and write     it on an I┆
0x05d940…05d960             42 4d 20 64 69 73 6b 65 74 74 65 0d 0a 09 09 34 29 09 52 65 61 64 20 61 6e 20 49 42 4d 20 66 69   ┆BM diskette    4) Read an IBM fi┆
0x05d960…05d980             6c 65 2c 20 63 6f 6e 76 65 72 74 20 69 74 20 74 6f 20 43 50 4d 20 66 6f 72 6d 61 74 20 61 6e 64   ┆le, convert it to CPM format and┆
0x05d980…05d9a0             20 77 72 69 74 65 0d 0a 09 09 09 69 74 20 6f 6e 20 61 20 43 50 4d 20 64 69 73 6b 65 74 74 65 0d   ┆ write     it on a CPM diskette ┆
0x05d9a0…05d9c0             0a 0a 09 54 68 65 20 70 72 6f 67 72 61 6d 20 77 69 6c 6c 20 61 6c 77 61 79 73 20 66 6f 72 6d 61   ┆   The program will always forma┆
0x05d9c0…05d9e0             74 20 61 6e 20 49 42 4d 20 64 69 73 6b 65 74 74 65 20 62 65 66 6f 72 65 20 77 72 69 74 69 6e 67   ┆t an IBM diskette before writing┆
0x05d9e0…05da00             20 6f 6e 20 69 74 2e 0d 0a 0a 09 50 72 65 73 73 20 61 6e 79 20 6b 65 79 20 74 6f 20 62 65 67 69   ┆ on it.    Press any key to begi┆
0x05da00…05da20 (24, 1, 15) 20 20 20 20 20 20 20 30 38 30 20 30 31 30 30 31 20 37 33 30 32 36 20 20 20 20 20 20 20 20 20 20   ┆       080 01001 73026          ┆
0x05da20…05da40             20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 30 31 30 30 31 20 44   ┆                         01001 D┆
0x05da40…05da60             44 52 31 20 44 41 54 41 30 39 20 20 20 20 20 20 20 20 20 20 20 20 20 30 38 30 20 37 34 30 30 31   ┆DR1 DATA09             080 74001┆
0x05da60…05da80             20 37 33 30 32 36 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆ 73026                          ┆
0x05da80…05daa0             20 20 20 20 20 20 20 20 20 37 34 30 30 31 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆         74001                  ┆
0x05daa0…05dac0             00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
          […0x1…]
0x05dae0…05db00             00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 48 44 52 31 20 44 41 54 41 20 20 20 20 20 20 20 20   ┆               HDR1 DATA        ┆
0x05db00…05db20             20 20 20 20 20 20 20 30 38 30 20 30 31 30 30 31 20 37 33 30 32 36 20 20 20 20 20 20 20 20 20 20   ┆       080 01001 73026          ┆
0x05db20…05db40             20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 30 31 30 30 31 20 44   ┆                         01001 D┆
0x05db40…05db60             44 52 31 20 44 41 54 41 30 39 20 20 20 20 20 20 20 20 20 20 20 20 20 30 38 30 20 37 34 30 30 31   ┆DR1 DATA09             080 74001┆
0x05db60…05db80             20 37 33 30 32 36 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆ 73026                          ┆
0x05db80…05dba0             20 20 20 20 20 20 20 20 20 37 34 30 30 31 20 00 00 00 00 00 00 00 00 00 00 00 01 02 03 04 05 06   ┆         74001                  ┆
0x05dba0…05dbc0             07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20 21 22 23 24 25 26   ┆                          !"#$%&┆
0x05dbc0…05dbe0             27 28 29 2a 2b 2c 2d 2e 2f 30 31 32 33 34 35 36 37 38 39 3a 3b 3c 3d 3e 3f 20 41 42 43 44 45 46   ┆'()*+,-./0123456789:;<=>? ABCDEF┆
0x05dbe0…05dc00             47 48 49 4a 2e 3c 28 2b 4f 26 51 52 53 54 55 56 57 58 59 21 24 2a 29 3b 5e 2d 2f 62 63 64 65 66   ┆GHIJ.<(+O&QRSTUVWXY!$*);^-/bcdef┆
0x05dc00…05dc20 (25, 0, 1)  61 72 61 63 74 65 72 20 72 65 61 64 79 0d 0a 3b 09 63 6f 6e 69 6e 09 63 6f 6e 73 6f 6c 65 20 63   ┆aracter ready  ; conin console c┆
0x05dc20…05dc40             68 61 72 61 63 74 65 72 20 69 6e 20 28 72 65 73 75 6c 74 20 69 6e 20 72 65 67 2d 61 29 0d 0a 3b   ┆haracter in (result in reg-a)  ;┆
0x05dc40…05dc60             09 63 6f 6e 6f 75 74 09 63 6f 6e 73 6f 6c 65 20 63 68 61 72 61 63 74 65 72 20 6f 75 74 20 28 63   ┆ conout console character out (c┆
0x05dc60…05dc80             68 61 72 20 69 6e 20 72 65 67 2d 63 29 0d 0a 3b 09 6c 69 73 74 09 6c 69 73 74 20 6f 75 74 20 28   ┆har in reg-c)  ; list list out (┆
0x05dc80…05dca0             63 68 61 72 20 69 6e 20 72 65 67 2d 63 29 0d 0a 3b 09 70 75 6e 63 68 09 70 75 6e 63 68 20 6f 75   ┆char in reg-c)  ; punch punch ou┆
0x05dca0…05dcc0             74 20 28 63 68 61 72 20 69 6e 20 72 65 67 2d 63 29 0d 0a 3b 09 72 65 61 64 65 72 09 70 61 70 65   ┆t (char in reg-c)  ; reader pape┆
0x05dcc0…05dce0             72 20 74 61 70 65 20 72 65 61 64 65 72 20 69 6e 20 28 72 65 73 75 6c 74 20 74 6f 20 72 65 67 2d   ┆r tape reader in (result to reg-┆
0x05dce0…05dd00             61 29 0d 0a 3b 09 68 6f 6d 65 09 6d 6f 76 65 20 74 6f 20 74 72 61 63 6b 20 30 30 0d 0a 3b 0d 0a   ┆a)  ; home move to track 00  ;  ┆
0x05dd00…05dd20             3b 09 28 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 61 6c 6c 73 20 73 65 74 2d 75 70 20 74 68   ┆; (the following calls set-up th┆
0x05dd20…05dd40             65 20 69 6f 20 70 61 72 61 6d 65 74 65 72 20 62 6c 6f 63 6b 20 66 6f 72 20 74 68 65 0d 0a 3b 09   ┆e io parameter block for the  ; ┆
0x05dd40…05dd60             6d 64 73 2c 20 77 68 69 63 68 20 69 73 20 75 73 65 64 20 74 6f 20 70 65 72 66 6f 72 6d 20 73 75   ┆mds, which is used to perform su┆
0x05dd60…05dd80             62 73 65 71 75 65 6e 74 20 72 65 61 64 73 20 61 6e 64 20 77 72 69 74 65 73 29 0d 0a 3b 09 73 65   ┆bsequent reads and writes)  ; se┆
0x05dd80…05dda0             6c 64 73 6b 09 73 65 6c 65 63 74 20 64 69 73 6b 20 67 69 76 65 6e 20 62 79 20 72 65 67 2d 63 20   ┆ldsk select disk given by reg-c ┆
0x05dda0…05ddc0             28 30 2c 31 2c 32 2e 2e 2e 29 0d 0a 3b 09 73 65 74 74 72 6b 09 73 65 74 20 74 72 61 63 6b 20 61   ┆(0,1,2...)  ; settrk set track a┆
0x05ddc0…05dde0             64 64 72 65 73 73 20 28 30 2c 2e 2e 2e 37 36 29 20 66 6f 72 20 73 75 62 73 65 71 75 65 6e 74 20   ┆ddress (0,...76) for subsequent ┆
0x05dde0…05de00             72 65 61 64 2f 77 72 69 74 65 0d 0a 3b 09 73 65 74 73 65 63 09 73 65 74 20 73 65 63 74 6f 72 20   ┆read/write  ; setsec set sector ┆
0x05de00…05de20 (25, 0, 2)  53 0d 0a 09 4c 58 49 09 44 2c 46 44 46 4f 52 4d 09 3b 0d 0a 09 44 41 44 09 44 09 09 3b 0d 0a 09   ┆S   LXI D,FDFORM ;   DAD D  ;   ┆
0x05de20…05de40             53 48 4c 44 09 41 46 4f 52 4d 09 09 3b 0d 0a 09 4d 4f 56 09 41 2c 4d 09 09 3b 0d 0a 09 53 54 41   ┆SHLD AFORM  ;   MOV A,M  ;   STA┆
0x05de40…05de60             09 53 46 4f 52 4d 09 09 3b 0d 0a 09 49 4e 58 09 48 09 09 3b 0d 0a 09 4d 4f 56 09 41 2c 4d 09 09   ┆ SFORM  ;   INX H  ;   MOV A,M  ┆
0x05de60…05de80             3b 0d 0a 09 53 54 41 09 53 46 4f 52 4d 2b 31 09 09 3b 0d 0a 09 4c 48 4c 44 09 53 46 4f 52 4d 09   ┆;   STA SFORM+1  ;   LHLD SFORM ┆
0x05de80…05dea0             09 3b 0d 0a 09 53 48 4c 44 09 43 46 4f 52 4d 09 09 3b 0d 0a 09 4c 58 49 09 48 2c 44 42 55 46 46   ┆ ;   SHLD CFORM  ;   LXI H,DBUFF┆
0x05dea0…05dec0             09 09 3b 20 53 45 54 55 50 20 43 48 41 52 20 53 43 41 4e 0d 0a 09 49 4e 58 09 48 09 09 3b 0d 0a   ┆  ; SETUP CHAR SCAN   INX H  ;  ┆
0x05dec0…05dee0             09 53 48 4c 44 09 43 41 44 44 52 09 09 3b 0d 0a 09 4a 4d 50 09 53 43 41 4e 09 09 3b 0d 0a 0d 0a   ┆ SHLD CADDR  ;   JMP SCAN  ;    ┆
0x05dee0…05df00             4e 43 48 41 52 3a 20 20 4c 58 49 09 48 2c 44 42 55 46 46 09 09 3b 20 47 45 54 20 4e 45 58 54 20   ┆NCHAR:  LXI H,DBUFF  ; GET NEXT ┆
0x05df00…05df20             43 48 41 52 3a 0d 0a 09 44 43 52 09 4d 09 09 3b 0d 0a 09 4a 5a 09 53 45 54 46 44 46 09 09 3b 20   ┆CHAR:   DCR M  ;   JZ SETFDF  ; ┆
0x05df20…05df40             49 46 20 45 4f 4c 20 54 48 45 4e 20 45 58 49 54 0d 0a 09 4c 48 4c 44 09 43 41 44 44 52 09 09 3b   ┆IF EOL THEN EXIT   LHLD CADDR  ;┆
0x05df40…05df60             0d 0a 09 4d 4f 56 09 41 2c 4d 09 09 3b 20 20 20 20 20 20 20 20 45 4c 53 45 20 50 49 43 4b 55 50   ┆   MOV A,M  ;        ELSE PICKUP┆
0x05df60…05df80             20 43 48 41 52 3b 0d 0a 09 49 4e 58 09 48 09 09 3b 0d 0a 09 53 48 4c 44 09 43 41 44 44 52 09 09   ┆ CHAR;   INX H  ;   SHLD CADDR  ┆
0x05df80…05dfa0             3b 0d 0a 09 52 45 54 09 09 20 09 3b 20 52 45 54 55 52 4e 3b 0d 0a 0d 0a 53 43 41 4e 3a 09 4c 58   ┆;   RET    ; RETURN;    SCAN: LX┆
0x05dfa0…05dfc0             49 09 42 2c 30 09 09 3b 20 44 52 49 56 45 2c 44 45 4e 53 49 54 59 3a 3d 41 2c 53 53 0d 0a 09 43   ┆I B,0  ; DRIVE,DENSITY:=A,SS   C┆
0x05dfc0…05dfe0             41 4c 4c 09 4e 43 48 41 52 09 09 3b 0d 0a 09 43 50 49 09 27 41 27 09 09 3b 20 53 45 41 52 43 48   ┆ALL NCHAR  ;   CPI 'A'  ; SEARCH┆
0x05dfe0…05e000             20 41 20 4f 52 20 42 20 44 52 49 56 45 3a 0d 0a 09 4a 5a 09 53 43 4f 4c 09 09 3b 0d 0a 09 43 50   ┆ A OR B DRIVE:   JZ SCOL  ;   CP┆
0x05e000…05e020 (25, 0, 3)  30 30 48 0d 0a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a   ┆00H                             ┆
0x05e020…05e040             1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a   ┆                                ┆
          […0x2…]
0x05e080…05e0a0             52 49 54 45 3a 09 4d 56 49 09 43 2c 57 52 49 54 45 46 09 3b 0d 0a 09 4a 4d 50 09 42 44 4f 53 09   ┆RITE: MVI C,WRITEF ;   JMP BDOS ┆
0x05e0a0…05e0c0             09 3b 0d 0a 0d 0a 4d 41 4b 45 3a 09 4d 56 49 09 43 2c 4d 41 4b 45 46 09 09 3b 0d 0a 09 4a 4d 50   ┆ ;    MAKE: MVI C,MAKEF  ;   JMP┆
0x05e0c0…05e0e0             09 42 44 4f 53 09 09 3b 0d 0a 0d 0a 53 45 54 44 4d 41 3a 09 4d 56 49 09 43 2c 53 44 4d 41 46 09   ┆ BDOS  ;    SETDMA: MVI C,SDMAF ┆
0x05e0e0…05e100             09 3b 0d 0a 09 4a 4d 50 09 42 44 4f 53 09 09 3b 0d 0a 0d 0a 50 52 49 4e 54 3a 09 4d 56 49 09 43   ┆ ;   JMP BDOS  ;    PRINT: MVI C┆
0x05e100…05e120             2c 50 52 49 4e 54 46 09 3b 0d 0a 09 4a 4d 50 09 42 44 4f 53 09 09 3b 0d 0a 0d 0a 0d 0a 53 57 4f   ┆,PRINTF ;   JMP BDOS  ;      SWO┆
0x05e120…05e140             50 3a 09 44 42 09 27 49 4e 53 45 52 54 20 44 49 53 4b 20 41 4e 44 20 54 59 50 45 20 3c 52 45 54   ┆P: DB 'INSERT DISK AND TYPE <RET┆
0x05e140…05e160             55 52 4e 3e 27 2c 33 36 0d 0a 0d 0a 41 46 4f 52 4d 3a 09 44 57 09 30 0d 0a 53 46 4f 52 4d 3a 09   ┆URN>',36    AFORM: DW 0  SFORM: ┆
0x05e160…05e180             44 57 09 30 0d 0a 43 46 4f 52 4d 3a 20 20 44 57 09 30 0d 0a 43 41 44 44 52 3a 09 44 57 09 30 0d   ┆DW 0  CFORM:  DW 0  CADDR: DW 0 ┆
0x05e180…05e1a0             0a 0d 0a 0d 0a 43 43 50 52 45 54 3a 20 44 57 09 30 0d 0a 0d 0a 44 46 43 42 3a 09 44 53 09 33 33   ┆     CCPRET: DW 0    DFCB: DS 33┆
0x05e1a0…05e1c0             09 09 3b 20 44 45 53 54 49 4e 41 54 49 4f 4e 20 46 43 42 0d 0a 44 46 43 42 43 52 09 45 51 55 09   ┆  ; DESTINATION FCB  DFCBCR EQU ┆
0x05e1c0…05e1e0             44 46 43 42 2b 33 32 09 09 3b 0d 0a 0d 0a 09 44 53 09 33 31 09 09 3b 0d 0a 53 54 41 43 4b 3a 09   ┆DFCB+32  ;     DS 31  ;  STACK: ┆
0x05e1e0…05e200             44 53 09 31 09 09 3b 20 4c 4f 43 41 4c 20 53 54 41 43 4b 0d 0a 0d 0a 0d 0a 09 45 4e 44 09 30 31   ┆DS 1  ; LOCAL STACK       END 01┆
0x05e200…05e220 (25, 0, 4)  53 53 09 09 3b 0d 0a 20 30 31 36 45 20 46 45 34 34 20 20 20 20 20 20 09 43 50 49 09 27 44 27 09   ┆SS  ;   016E FE44       CPI 'D' ┆
0x05e220…05e240             09 3b 0d 0a 20 30 31 37 30 20 43 32 34 35 30 31 20 20 20 20 09 4a 4e 5a 09 53 43 41 4e 09 09 3b   ┆ ;   0170 C24501     JNZ SCAN  ;┆
0x05e240…05e260             0d 0a 20 30 31 37 33 20 43 44 33 35 30 31 20 20 20 20 09 43 41 4c 4c 09 4e 43 48 41 52 09 09 3b   ┆   0173 CD3501     CALL NCHAR  ;┆
0x05e260…05e280             0d 0a 20 30 31 37 36 20 46 45 34 34 20 20 20 20 20 20 09 43 50 49 09 27 44 27 09 09 3b 0d 0a 20   ┆   0176 FE44       CPI 'D'  ;   ┆
0x05e280…05e2a0             30 31 37 38 20 43 32 34 35 30 31 20 20 20 20 09 4a 4e 5a 09 53 43 41 4e 09 09 3b 0d 0a 20 30 31   ┆0178 C24501     JNZ SCAN  ;   01┆
0x05e2a0…05e2c0             37 42 20 43 44 33 35 30 31 20 20 20 20 09 43 41 4c 4c 09 4e 43 48 41 52 09 09 3b 20 53 45 41 52   ┆7B CD3501     CALL NCHAR  ; SEAR┆
0x05e2c0…05e2e0             43 48 20 53 50 41 43 45 3a 0d 0a 20 30 31 37 45 20 46 45 32 30 20 20 20 20 20 20 09 43 50 49 09   ┆CH SPACE:   017E FE20       CPI ┆
0x05e2e0…05e300             27 20 27 09 09 3b 0d 0a 20 30 31 38 30 20 43 32 34 35 30 31 20 20 20 20 09 4a 4e 5a 09 53 43 41   ┆' '  ;   0180 C24501     JNZ SCA┆
0x05e300…05e320             4e 09 09 3b 0d 0a 20 30 31 38 33 20 30 45 30 38 20 20 20 20 20 20 09 4d 56 49 09 43 2c 38 09 09   ┆N  ;   0183 0E08       MVI C,8  ┆
0x05e320…05e340             3b 0d 0a 20 30 31 38 35 20 43 33 39 38 30 31 20 20 20 20 09 4a 4d 50 09 53 45 54 43 46 09 09 3b   ┆;   0185 C39801     JMP SETCF  ;┆
0x05e340…05e360             0d 0a 20 30 31 38 38 20 43 44 33 35 30 31 20 20 20 20 53 53 53 3a 09 43 41 4c 4c 09 4e 43 48 41   ┆   0188 CD3501    SSS: CALL NCHA┆
0x05e360…05e380             52 09 09 3b 0d 0a 20 30 31 38 42 20 46 45 35 33 20 20 20 20 20 20 09 43 50 49 09 27 53 27 09 09   ┆R  ;   018B FE53       CPI 'S'  ┆
0x05e380…05e3a0             3b 0d 0a 20 30 31 38 44 20 43 32 34 35 30 31 20 20 20 20 09 4a 4e 5a 09 53 43 41 4e 09 09 3b 0d   ┆;   018D C24501     JNZ SCAN  ; ┆
0x05e3a0…05e3c0             0a 20 30 31 39 30 20 43 44 33 35 30 31 20 20 20 20 09 43 41 4c 4c 09 4e 43 48 41 52 09 09 3b 0d   ┆  0190 CD3501     CALL NCHAR  ; ┆
0x05e3c0…05e3e0             0a 20 30 31 39 33 20 46 45 32 30 20 20 20 20 20 20 09 43 50 49 09 27 20 27 09 09 3b 0d 0a 20 30   ┆  0193 FE20       CPI ' '  ;   0┆
0x05e3e0…05e400             31 39 35 20 43 32 34 35 30 31 20 20 20 20 09 4a 4e 5a 09 53 43 41 4e 09 09 3b 0d 0a 20 30 31 39   ┆195 C24501     JNZ SCAN  ;   019┆
0x05e400…05e420 (25, 0, 5)  61 64 64 72 65 73 73 20 28 31 2c 2e 2e 2e 2c 32 36 29 20 66 6f 72 20 73 75 62 73 65 71 75 65 6e   ┆address (1,...,26) for subsequen┆
0x05e420…05e440             74 20 72 65 61 64 2f 77 72 69 74 65 0d 0a 3b 09 73 65 74 64 6d 61 09 73 65 74 20 73 75 62 73 65   ┆t read/write  ; setdma set subse┆
0x05e440…05e460             71 75 65 6e 74 20 64 6d 61 20 61 64 64 72 65 73 73 20 28 69 6e 69 74 69 61 6c 6c 79 20 38 30 68   ┆quent dma address (initially 80h┆
0x05e460…05e480             29 0d 0a 3b 0d 0a 3b 09 28 72 65 61 64 20 61 6e 64 20 77 72 69 74 65 20 61 73 73 75 6d 65 20 70   ┆)  ;  ; (read and write assume p┆
0x05e480…05e4a0             72 65 76 69 6f 75 73 20 63 61 6c 6c 73 20 74 6f 20 73 65 74 20 75 70 20 74 68 65 20 69 6f 20 70   ┆revious calls to set up the io p┆
0x05e4a0…05e4c0             61 72 61 6d 65 74 65 72 73 29 0d 0a 3b 09 72 65 61 64 09 72 65 61 64 20 74 72 61 63 6b 2f 73 65   ┆arameters)  ; read read track/se┆
0x05e4c0…05e4e0             63 74 6f 72 20 74 6f 20 70 72 65 73 65 74 20 64 6d 61 20 61 64 64 72 65 73 73 0d 0a 3b 09 77 72   ┆ctor to preset dma address  ; wr┆
0x05e4e0…05e500             69 74 65 09 77 72 69 74 65 20 74 72 61 63 6b 2f 73 65 63 74 6f 72 20 66 72 6f 6d 20 70 72 65 73   ┆ite write track/sector from pres┆
0x05e500…05e520             65 74 20 64 6d 61 20 61 64 64 72 65 73 73 0d 0a 3b 0d 0a 3b 09 6a 75 6d 70 20 76 65 63 74 6f 72   ┆et dma address  ;  ; jump vector┆
0x05e520…05e540             20 66 6f 72 20 69 6e 64 69 76 69 75 61 6c 20 72 6f 75 74 69 6e 65 73 0d 0a 09 6a 6d 70 09 62 6f   ┆ for indiviual routines   jmp bo┆
0x05e540…05e560             6f 74 0d 0a 77 62 6f 6f 74 65 3a 09 6a 6d 70 09 77 62 6f 6f 74 0d 0a 09 6a 6d 70 09 63 6f 6e 73   ┆ot  wboote: jmp wboot   jmp cons┆
0x05e560…05e580             74 0d 0a 09 6a 6d 70 09 63 6f 6e 69 6e 0d 0a 09 6a 6d 70 09 63 6f 6e 6f 75 74 0d 0a 09 6a 6d 70   ┆t   jmp conin   jmp conout   jmp┆
0x05e580…05e5a0             09 6c 69 73 74 0d 0a 09 6a 6d 70 09 70 75 6e 63 68 0d 0a 09 6a 6d 70 09 72 65 61 64 65 72 0d 0a   ┆ list   jmp punch   jmp reader  ┆
0x05e5a0…05e5c0             09 6a 6d 70 09 68 6f 6d 65 0d 0a 09 6a 6d 70 09 73 65 6c 64 73 6b 0d 0a 09 6a 6d 70 09 73 65 74   ┆ jmp home   jmp seldsk   jmp set┆
0x05e5c0…05e5e0             74 72 6b 0d 0a 09 6a 6d 70 09 73 65 74 73 65 63 0d 0a 09 6a 6d 70 09 73 65 74 64 6d 61 0d 0a 09   ┆trk   jmp setsec   jmp setdma   ┆
0x05e5e0…05e600             6a 6d 70 09 72 65 61 64 0d 0a 09 6a 6d 70 09 77 72 69 74 65 0d 0a 09 6a 6d 70 09 6c 69 73 74 73   ┆jmp read   jmp write   jmp lists┆
0x05e600…05e620 (25, 0, 6)  49 09 27 42 27 09 09 3b 0d 0a 09 4a 4e 5a 09 53 43 41 4e 09 09 3b 0d 0a 09 49 4e 52 09 42 09 09   ┆I 'B'  ;   JNZ SCAN  ;   INR B  ┆
0x05e620…05e640             3b 0d 0a 53 43 4f 4c 3a 09 43 41 4c 4c 09 4e 43 48 41 52 09 09 3b 20 53 45 41 52 43 48 20 43 4f   ┆;  SCOL: CALL NCHAR  ; SEARCH CO┆
0x05e640…05e660             4c 4f 4e 3a 0d 0a 09 43 50 49 09 27 3a 27 09 09 3b 0d 0a 09 4a 4e 5a 09 53 43 41 4e 09 09 3b 0d   ┆LON:   CPI ':'  ;   JNZ SCAN  ; ┆
0x05e660…05e680             0a 09 43 41 4c 4c 09 4e 43 48 41 52 09 09 3b 20 53 45 41 52 43 48 20 45 51 55 41 4c 3a 0d 0a 09   ┆  CALL NCHAR  ; SEARCH EQUAL:   ┆
0x05e680…05e6a0             43 50 49 09 27 3d 27 09 09 3b 0d 0a 09 4a 4e 5a 09 53 43 41 4e 09 09 3b 0d 0a 09 43 41 4c 4c 09   ┆CPI '='  ;   JNZ SCAN  ;   CALL ┆
0x05e6a0…05e6c0             4e 43 48 41 52 09 09 3b 20 53 45 41 52 43 48 20 44 45 4e 53 49 54 59 3a 0d 0a 09 43 50 49 09 27   ┆NCHAR  ; SEARCH DENSITY:   CPI '┆
0x05e6c0…05e6e0             53 27 09 09 3b 0d 0a 09 4a 5a 09 53 53 53 09 09 3b 0d 0a 09 43 50 49 09 27 44 27 09 09 3b 0d 0a   ┆S'  ;   JZ SSS  ;   CPI 'D'  ;  ┆
0x05e6e0…05e700             09 4a 4e 5a 09 53 43 41 4e 09 09 3b 0d 0a 09 43 41 4c 4c 09 4e 43 48 41 52 09 09 3b 0d 0a 09 43   ┆ JNZ SCAN  ;   CALL NCHAR  ;   C┆
0x05e700…05e720             50 49 09 27 44 27 09 09 3b 0d 0a 09 4a 4e 5a 09 53 43 41 4e 09 09 3b 0d 0a 09 43 41 4c 4c 09 4e   ┆PI 'D'  ;   JNZ SCAN  ;   CALL N┆
0x05e720…05e740             43 48 41 52 09 09 3b 20 53 45 41 52 43 48 20 53 50 41 43 45 3a 0d 0a 09 43 50 49 09 27 20 27 09   ┆CHAR  ; SEARCH SPACE:   CPI ' ' ┆
0x05e740…05e760             09 3b 0d 0a 09 4a 4e 5a 09 53 43 41 4e 09 09 3b 0d 0a 09 4d 56 49 09 43 2c 38 09 09 3b 0d 0a 09   ┆ ;   JNZ SCAN  ;   MVI C,8  ;   ┆
0x05e760…05e780             4a 4d 50 09 53 45 54 43 46 09 09 3b 0d 0a 53 53 53 3a 09 43 41 4c 4c 09 4e 43 48 41 52 09 09 3b   ┆JMP SETCF  ;  SSS: CALL NCHAR  ;┆
0x05e780…05e7a0             0d 0a 09 43 50 49 09 27 53 27 09 09 3b 0d 0a 09 4a 4e 5a 09 53 43 41 4e 09 09 3b 0d 0a 09 43 41   ┆   CPI 'S'  ;   JNZ SCAN  ;   CA┆
0x05e7a0…05e7c0             4c 4c 09 4e 43 48 41 52 09 09 3b 0d 0a 09 43 50 49 09 27 20 27 09 09 3b 0d 0a 09 4a 4e 5a 09 53   ┆LL NCHAR  ;   CPI ' '  ;   JNZ S┆
0x05e7c0…05e7e0             43 41 4e 09 09 3b 0d 0a 53 45 54 43 46 3a 09 4c 58 49 09 48 2c 43 46 4f 52 4d 09 09 3b 20 53 45   ┆CAN  ;  SETCF: LXI H,CFORM  ; SE┆
0x05e7e0…05e800             54 20 43 55 52 52 45 4e 54 20 46 4f 52 4d 41 54 3a 0d 0a 09 4d 56 49 09 44 2c 30 09 09 3b 0d 0a   ┆T CURRENT FORMAT:   MVI D,0  ;  ┆
0x05e800…05e820 (25, 0, 7)  6e 2e 0a 0a 0a 24 0d 0a 0a 0a 0a 0a 0a 0d 0a 09 09 20 20 20 20 20 20 20 20 20 20 4c 69 66 65 62   ┆n.   $                     Lifeb┆
0x05e820…05e840             6f 61 74 20 41 73 73 6f 63 69 61 74 65 73 0d 0a 09 09 20 49 42 4d 2f 43 50 4d 20 44 69 73 6b 65   ┆oat Associates     IBM/CPM Diske┆
0x05e840…05e860             74 74 65 20 55 74 69 6c 69 74 79 20 56 65 72 73 69 6f 6e 20 31 2e 31 0d 0a 09 09 09 20 53 65 72   ┆tte Utility Version 1.1      Ser┆
0x05e860…05e880             69 61 6c 20 4e 75 6d 62 65 72 20 4c 42 2d 31 31 31 31 0d 0a 09 09 09 20 20 43 6f 70 79 72 69 67   ┆ial Number LB-1111       Copyrig┆
0x05e880…05e8a0             68 74 28 63 29 20 31 39 37 39 0d 0a 0a 0a 0a 09 20 20 20 20 20 20 20 20 20 20 20 41 73 73 75 6d   ┆ht(c) 1979                 Assum┆
0x05e8a0…05e8c0             69 6e 67 20 73 74 61 6e 64 61 72 64 20 43 50 4d 20 32 2e 30 20 42 49 4f 53 2e 20 20 20 20 20 20   ┆ing standard CPM 2.0 BIOS.      ┆
0x05e8c0…05e8e0             20 0d 0a 0a 0d 0a 0a 09 09 4f 70 74 69 6f 6e 09 46 75 6e 63 74 69 6f 6e 20 74 6f 20 62 65 20 70   ┆         Option Function to be p┆
0x05e8e0…05e900             65 72 66 6f 72 6d 65 64 0d 0a 09 09 45 09 54 65 72 6d 69 6e 61 74 65 20 70 72 6f 67 72 61 6d 20   ┆erformed    E Terminate program ┆
0x05e900…05e920             61 6e 64 20 72 65 74 75 72 6e 20 63 6f 6e 74 72 6f 6c 20 74 6f 20 43 50 4d 0d 0a 09 09 46 09 49   ┆and return control to CPM    F I┆
0x05e920…05e940             6e 69 74 69 61 6c 69 7a 65 20 64 69 72 65 63 74 6f 72 79 20 6f 6e 20 49 42 4d 20 64 69 73 6b 65   ┆nitialize directory on IBM diske┆
0x05e940…05e960             74 74 65 0d 0a 09 09 44 09 44 69 73 70 6c 61 79 20 74 68 65 20 64 69 72 65 63 74 6f 72 79 20 6f   ┆tte    D Display the directory o┆
0x05e960…05e980             6e 20 61 6e 20 49 42 4d 20 64 69 73 6b 65 74 74 65 0d 0a 09 09 43 09 43 6f 6e 76 65 72 74 20 61   ┆n an IBM diskette    C Convert a┆
0x05e980…05e9a0             20 43 50 4d 20 66 69 6c 65 20 74 6f 20 49 42 4d 20 66 6f 72 6d 61 74 0d 0a 09 09 49 09 43 6f 6e   ┆ CPM file to IBM format    I Con┆
0x05e9a0…05e9c0             76 65 72 74 20 61 6e 20 49 42 4d 20 66 69 6c 65 20 74 6f 20 43 50 4d 20 66 6f 72 6d 61 74 0d 0a   ┆vert an IBM file to CPM format  ┆
0x05e9c0…05e9e0             0a 09 09 45 6e 74 65 72 20 6f 70 74 69 6f 6e 20 3a 20 24 0d 0a 0a 0d 0a 20 20 20 20 20 20 20 20   ┆   Enter option : $             ┆
0x05e9e0…05ea00             20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 54 41 52 54 20 20 45 4e 44 20 20   ┆                    START  END  ┆
0x05ea00…05ea20 (25, 0, 8)  38 20 32 31 31 44 30 32 20 20 20 20 53 45 54 43 46 3a 09 4c 58 49 09 48 2c 43 46 4f 52 4d 09 09   ┆8 211D02    SETCF: LXI H,CFORM  ┆
0x05ea20…05ea40             3b 20 53 45 54 20 43 55 52 52 45 4e 54 20 46 4f 52 4d 41 54 3a 0d 0a 20 30 31 39 42 20 31 36 30   ┆; SET CURRENT FORMAT:   019B 160┆
0x05ea40…05ea60             30 20 20 20 20 20 20 09 4d 56 49 09 44 2c 30 09 09 3b 0d 0a 20 30 31 39 44 20 35 38 20 20 20 20   ┆0       MVI D,0  ;   019D 58    ┆
0x05ea60…05ea80             20 20 20 20 09 4d 4f 56 09 45 2c 42 09 09 3b 0d 0a 20 30 31 39 45 20 31 39 20 20 20 20 20 20 20   ┆     MOV E,B  ;   019E 19       ┆
0x05ea80…05eaa0             20 09 44 41 44 09 44 09 09 3b 0d 0a 20 30 31 39 46 20 37 31 20 20 20 20 20 20 20 20 09 4d 4f 56   ┆  DAD D  ;   019F 71         MOV┆
0x05eaa0…05eac0             09 4d 2c 43 09 09 3b 0d 0a 20 30 31 41 30 20 43 33 34 35 30 31 20 20 20 20 09 4a 4d 50 09 53 43   ┆ M,C  ;   01A0 C34501     JMP SC┆
0x05eac0…05eae0             41 4e 09 09 3b 20 47 4f 54 4f 20 53 43 41 4e 20 46 4f 52 20 4e 45 58 54 3b 0d 0a 20 20 20 20 20   ┆AN  ; GOTO SCAN FOR NEXT;       ┆
0x05eae0…05eb00             20 20 20 20 20 20 20 20 20 20 20 0d 0a 20 30 31 41 33 20 44 42 31 34 20 20 20 20 20 20 53 45 54   ┆              01A3 DB14      SET┆
0x05eb00…05eb20             46 44 46 3a 20 49 4e 09 53 57 31 09 09 3b 20 49 46 20 4d 49 4e 49 20 46 4c 4f 50 50 59 20 54 48   ┆FDF: IN SW1  ; IF MINI FLOPPY TH┆
0x05eb20…05eb40             45 4e 0d 0a 20 30 31 41 35 20 45 36 38 30 20 20 20 20 20 20 09 41 4e 49 09 30 38 30 48 09 09 3b   ┆EN   01A5 E680       ANI 080H  ;┆
0x05eb40…05eb60             20 20 47 4f 54 4f 20 46 49 4e 49 53 3b 0d 0a 20 30 31 41 37 20 43 32 42 36 30 31 20 20 20 20 09   ┆  GOTO FINIS;   01A7 C2B601     ┆
0x05eb60…05eb80             4a 4e 5a 09 46 49 4e 49 53 09 09 3b 0d 0a 20 30 31 41 41 20 32 41 31 39 30 32 20 20 20 20 09 4c   ┆JNZ FINIS  ;   01AA 2A1902     L┆
0x05eb80…05eba0             48 4c 44 09 41 46 4f 52 4d 09 09 3b 20 53 45 54 20 46 4c 4f 50 50 59 20 46 4f 52 4d 41 54 53 3a   ┆HLD AFORM  ; SET FLOPPY FORMATS:┆
0x05eba0…05ebc0             0d 0a 20 30 31 41 44 20 33 41 31 44 30 32 20 20 20 20 09 4c 44 41 09 43 46 4f 52 4d 09 09 3b 0d   ┆   01AD 3A1D02     LDA CFORM  ; ┆
0x05ebc0…05ebe0             0a 20 30 31 42 30 20 37 37 20 20 20 20 20 20 20 20 09 4d 4f 56 09 4d 2c 41 09 09 3b 0d 0a 20 30   ┆  01B0 77         MOV M,A  ;   0┆
0x05ebe0…05ec00             31 42 31 20 32 33 20 20 20 20 20 20 20 20 09 49 4e 58 09 48 09 09 3b 0d 0a 20 30 31 42 32 20 33   ┆1B1 23         INX H  ;   01B2 3┆
0x05ec00…05ec20 (25, 0, 9)  3b 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a   ┆;*******************************┆
0x05ec20…05ec40             2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a   ┆********************************┆
0x05ec40…05ec60             2a 0d 0a 3b 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆*  ;*                           ┆
0x05ec60…05ec80             20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆                                ┆
0x05ec80…05eca0             20 20 20 2a 0d 0a 3b 2a 20 20 20 20 20 41 53 53 49 47 4e 20 20 20 20 20 20 20 20 55 54 49 4c 49   ┆   *  ;*     ASSIGN        UTILI┆
0x05eca0…05ecc0             54 59 20 20 20 20 2d 20 20 20 20 56 45 52 53 49 4f 4e 20 20 38 31 2e 30 36 2e 32 39 20 20 20 20   ┆TY    -    VERSION  81.06.29    ┆
0x05ecc0…05ece0             20 20 20 20 20 20 2a 0d 0a 3b 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆      *  ;*                     ┆
0x05ece0…05ed00             20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆                                ┆
0x05ed00…05ed20             20 20 20 20 20 20 20 20 20 2a 0d 0a 3b 2a 20 20 20 20 20 41 53 53 49 47 4e 20 20 20 44 3a 3d 46   ┆         *  ;*     ASSIGN   D:=F┆
0x05ed20…05ed40             46 20 20 44 3a 3d 46 46 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆F  D:=FF                        ┆
0x05ed40…05ed60             20 20 20 20 20 20 20 20 20 20 20 20 2a 0d 0a 3b 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆            *  ;*               ┆
0x05ed60…05ed80             20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆                                ┆
0x05ed80…05eda0             20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 0d 0a 3b 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a   ┆               *  ;*************┆
0x05eda0…05edc0             2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a   ┆********************************┆
0x05edc0…05ede0             2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0d 0a 0d 0a 42 4f 4f 54 09 45 51 55 09   ┆*******************    BOOT EQU ┆
0x05ede0…05ee00             30 30 30 30 48 0d 0a 42 44 4f 53 09 45 51 55 09 30 30 30 35 48 0d 0a 46 43 42 31 09 45 51 55 09   ┆0000H  BDOS EQU 0005H  FCB1 EQU ┆
0x05ee00…05ee20 (25, 0, 10) 09 4d 4f 56 09 45 2c 42 09 09 3b 0d 0a 09 44 41 44 09 44 09 09 3b 0d 0a 09 4d 4f 56 09 4d 2c 43   ┆ MOV E,B  ;   DAD D  ;   MOV M,C┆
0x05ee20…05ee40             09 09 3b 0d 0a 09 4a 4d 50 09 53 43 41 4e 09 09 3b 20 47 4f 54 4f 20 53 43 41 4e 20 46 4f 52 20   ┆  ;   JMP SCAN  ; GOTO SCAN FOR ┆
0x05ee40…05ee60             4e 45 58 54 3b 0d 0a 0d 0a 53 45 54 46 44 46 3a 20 49 4e 09 53 57 31 09 09 3b 20 49 46 20 4d 49   ┆NEXT;    SETFDF: IN SW1  ; IF MI┆
0x05ee60…05ee80             4e 49 20 46 4c 4f 50 50 59 20 54 48 45 4e 0d 0a 09 41 4e 49 09 30 38 30 48 09 09 3b 20 20 47 4f   ┆NI FLOPPY THEN   ANI 080H  ;  GO┆
0x05ee80…05eea0             54 4f 20 46 49 4e 49 53 3b 0d 0a 09 4a 4e 5a 09 46 49 4e 49 53 09 09 3b 0d 0a 09 4c 48 4c 44 09   ┆TO FINIS;   JNZ FINIS  ;   LHLD ┆
0x05eea0…05eec0             41 46 4f 52 4d 09 09 3b 20 53 45 54 20 46 4c 4f 50 50 59 20 46 4f 52 4d 41 54 53 3a 0d 0a 09 4c   ┆AFORM  ; SET FLOPPY FORMATS:   L┆
0x05eec0…05eee0             44 41 09 43 46 4f 52 4d 09 09 3b 0d 0a 09 4d 4f 56 09 4d 2c 41 09 09 3b 0d 0a 09 49 4e 58 09 48   ┆DA CFORM  ;   MOV M,A  ;   INX H┆
0x05eee0…05ef00             09 09 3b 0d 0a 09 4c 44 41 09 43 46 4f 52 4d 2b 31 09 09 3b 0d 0a 09 4d 4f 56 09 4d 2c 41 09 09   ┆  ;   LDA CFORM+1  ;   MOV M,A  ┆
0x05ef00…05ef20             3b 0d 0a 0d 0a 46 49 4e 49 53 3a 09 4c 58 49 09 44 2c 53 57 4f 50 09 09 3b 0d 0a 09 43 41 4c 4c   ┆;    FINIS: LXI D,SWOP  ;   CALL┆
0x05ef20…05ef40             09 50 52 49 4e 54 09 09 3b 0d 0a 09 43 41 4c 4c 09 43 4f 4e 53 49 09 09 3b 0d 0a 09 43 41 4c 4c   ┆ PRINT  ;   CALL CONSI  ;   CALL┆
0x05ef40…05ef60             09 52 45 53 45 54 09 09 3b 20 52 45 53 45 54 20 44 52 49 56 45 53 3b 0d 0a 09 4c 48 4c 44 09 43   ┆ RESET  ; RESET DRIVES;   LHLD C┆
0x05ef60…05ef80             43 50 52 45 54 09 09 3b 0d 0a 09 50 43 48 4c 09 09 09 3b 20 52 45 54 55 52 4e 20 54 4f 20 43 43   ┆CPRET  ;   PCHL   ; RETURN TO CC┆
0x05ef80…05efa0             50 0d 0a 0d 0a 0d 0a 43 4f 4e 53 49 3a 09 4d 56 49 09 43 2c 43 4f 4e 53 49 46 09 3b 0d 0a 09 4a   ┆P      CONSI: MVI C,CONSIF ;   J┆
0x05efa0…05efc0             4d 50 09 42 44 4f 53 09 09 3b 0d 0a 0d 0a 52 45 53 45 54 3a 09 4d 56 49 09 43 2c 52 45 53 45 54   ┆MP BDOS  ;    RESET: MVI C,RESET┆
0x05efc0…05efe0             46 09 3b 0d 0a 09 4c 58 49 09 20 44 2c 33 09 09 3b 0d 0a 09 4a 4d 50 09 42 44 4f 53 09 09 3b 0d   ┆F ;   LXI  D,3  ;   JMP BDOS  ; ┆
0x05efe0…05f000             0a 0d 0a 4f 50 45 4e 3a 09 4d 56 49 09 43 2c 4f 50 45 4e 46 09 09 3b 0d 0a 09 4a 4d 50 09 42 44   ┆   OPEN: MVI C,OPENF  ;   JMP BD┆
0x05f000…05f020 (25, 0, 11) 42 55 46 46 09 09 3b 20 53 45 54 55 50 20 43 48 41 52 20 53 43 41 4e 0d 0a 20 30 31 32 45 20 32   ┆BUFF  ; SETUP CHAR SCAN   012E 2┆
0x05f020…05f040             33 20 20 20 20 20 20 20 20 09 49 4e 58 09 48 09 09 3b 0d 0a 20 30 31 32 46 20 32 32 31 46 30 32   ┆3         INX H  ;   012F 221F02┆
0x05f040…05f060             20 20 20 20 09 53 48 4c 44 09 43 41 44 44 52 09 09 3b 0d 0a 20 30 31 33 32 20 43 33 34 35 30 31   ┆     SHLD CADDR  ;   0132 C34501┆
0x05f060…05f080             20 20 20 20 09 4a 4d 50 09 53 43 41 4e 09 09 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆     JMP SCAN  ;                ┆
0x05f080…05f0a0             20 20 0d 0a 20 30 31 33 35 20 32 31 38 30 30 30 20 20 20 20 4e 43 48 41 52 3a 20 20 4c 58 49 09   ┆     0135 218000    NCHAR:  LXI ┆
0x05f0a0…05f0c0             48 2c 44 42 55 46 46 09 09 3b 20 47 45 54 20 4e 45 58 54 20 43 48 41 52 3a 0d 0a 20 30 31 33 38   ┆H,DBUFF  ; GET NEXT CHAR:   0138┆
0x05f0c0…05f0e0             20 33 35 20 20 20 20 20 20 20 20 09 44 43 52 09 4d 09 09 3b 0d 0a 20 30 31 33 39 20 43 41 41 33   ┆ 35         DCR M  ;   0139 CAA3┆
0x05f0e0…05f100             30 31 20 20 20 20 09 4a 5a 09 53 45 54 46 44 46 09 09 3b 20 49 46 20 45 4f 4c 20 54 48 45 4e 20   ┆01     JZ SETFDF  ; IF EOL THEN ┆
0x05f100…05f120             45 58 49 54 0d 0a 20 30 31 33 43 20 32 41 31 46 30 32 20 20 20 20 09 4c 48 4c 44 09 43 41 44 44   ┆EXIT   013C 2A1F02     LHLD CADD┆
0x05f120…05f140             52 09 09 3b 0d 0a 20 30 31 33 46 20 37 45 20 20 20 20 20 20 20 20 09 4d 4f 56 09 41 2c 4d 09 09   ┆R  ;   013F 7E         MOV A,M  ┆
0x05f140…05f160             3b 20 20 20 20 20 20 20 20 45 4c 53 45 20 50 49 43 4b 55 50 20 43 48 41 52 3b 0d 0a 20 30 31 34   ┆;        ELSE PICKUP CHAR;   014┆
0x05f160…05f180             30 20 32 33 20 20 20 20 20 20 20 20 09 49 4e 58 09 48 09 09 3b 0d 0a 20 30 31 34 31 20 32 32 31   ┆0 23         INX H  ;   0141 221┆
0x05f180…05f1a0             46 30 32 20 20 20 20 09 53 48 4c 44 09 43 41 44 44 52 09 09 3b 0d 0a 20 30 31 34 34 20 43 39 20   ┆F02     SHLD CADDR  ;   0144 C9 ┆
0x05f1a0…05f1c0             20 20 20 20 20 20 20 09 52 45 54 09 09 20 09 3b 20 52 45 54 55 52 4e 3b 0d 0a 20 20 20 20 20 20   ┆        RET    ; RETURN;        ┆
0x05f1c0…05f1e0             20 20 20 20 20 20 20 20 20 20 0d 0a 20 30 31 34 35 20 30 31 30 30 30 30 20 20 20 20 53 43 41 4e   ┆             0145 010000    SCAN┆
0x05f1e0…05f200             3a 09 4c 58 49 09 42 2c 30 09 09 3b 20 44 52 49 56 45 2c 44 45 4e 53 49 54 59 3a 3d 41 2c 53 53   ┆: LXI B,0  ; DRIVE,DENSITY:=A,SS┆
0x05f200…05f220 (25, 0, 12) 41 31 45 30 32 20 20 20 20 09 4c 44 41 09 43 46 4f 52 4d 2b 31 09 09 3b 0d 0a 20 30 31 42 35 20   ┆A1E02     LDA CFORM+1  ;   01B5 ┆
0x05f220…05f240             37 37 20 20 20 20 20 20 20 20 09 4d 4f 56 09 4d 2c 41 09 09 3b 0d 0a 20 20 20 20 20 20 20 20 20   ┆77         MOV M,A  ;           ┆
0x05f240…05f260             20 20 20 20 20 20 20 0d 0a 20 30 31 42 36 20 31 31 46 42 30 31 20 20 20 20 46 49 4e 49 53 3a 09   ┆          01B6 11FB01    FINIS: ┆
0x05f260…05f280             4c 58 49 09 44 2c 53 57 4f 50 09 09 3b 0d 0a 20 30 31 42 39 20 43 44 46 36 30 31 20 20 20 20 09   ┆LXI D,SWOP  ;   01B9 CDF601     ┆
0x05f280…05f2a0             43 41 4c 4c 09 50 52 49 4e 54 09 09 3b 0d 0a 20 30 31 42 43 20 43 44 43 36 30 31 20 20 20 20 09   ┆CALL PRINT  ;   01BC CDC601     ┆
0x05f2a0…05f2c0             43 41 4c 4c 09 43 4f 4e 53 49 09 09 3b 0d 0a 20 30 31 42 46 20 43 44 43 42 30 31 20 20 20 20 09   ┆CALL CONSI  ;   01BF CDCB01     ┆
0x05f2c0…05f2e0             43 41 4c 4c 09 52 45 53 45 54 09 09 3b 20 52 45 53 45 54 20 44 52 49 56 45 53 3b 0d 0a 20 30 31   ┆CALL RESET  ; RESET DRIVES;   01┆
0x05f2e0…05f300             43 32 20 32 41 32 31 30 32 20 20 20 20 09 4c 48 4c 44 09 43 43 50 52 45 54 09 09 3b 0d 0a 20 30   ┆C2 2A2102     LHLD CCPRET  ;   0┆
0x05f300…05f320             31 43 35 20 45 39 20 20 20 20 20 20 20 20 09 50 43 48 4c 09 09 09 3b 20 52 45 54 55 52 4e 20 54   ┆1C5 E9         PCHL   ; RETURN T┆
0x05f320…05f340             4f 20 43 43 50 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20   ┆O CCP                           ┆
0x05f340…05f360             20 20 20 20 20 20 20 20 20 0d 0a 20 30 31 43 36 20 30 45 30 31 20 20 20 20 20 20 43 4f 4e 53 49   ┆            01C6 0E01      CONSI┆
0x05f360…05f380             3a 09 4d 56 49 09 43 2c 43 4f 4e 53 49 46 09 3b 0d 0a 20 30 31 43 38 20 43 33 30 35 30 30 20 20   ┆: MVI C,CONSIF ;   01C8 C30500  ┆
0x05f380…05f3a0             20 20 09 4a 4d 50 09 42 44 4f 53 09 09 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆   JMP BDOS  ;                  ┆
0x05f3a0…05f3c0             0d 0a 20 30 31 43 42 20 30 45 30 44 20 20 20 20 20 20 52 45 53 45 54 3a 09 4d 56 49 09 43 2c 52   ┆   01CB 0E0D      RESET: MVI C,R┆
0x05f3c0…05f3e0             45 53 45 54 46 09 3b 0d 0a 20 30 31 43 44 20 31 31 30 33 30 30 20 20 20 20 09 4c 58 49 09 20 44   ┆ESETF ;   01CD 110300     LXI  D┆
0x05f3e0…05f400             2c 33 09 09 3b 0d 0a 20 30 31 44 30 20 43 33 30 35 30 30 20 20 20 20 09 4a 4d 50 09 42 44 4f 53   ┆,3  ;   01D0 C30500     JMP BDOS┆
0x05f400…05f420 (25, 0, 13) 30 30 35 43 48 0d 0a 53 46 43 42 09 45 51 55 09 46 43 42 31 0d 0a 46 43 42 32 09 45 51 55 09 30   ┆005CH  SFCB EQU FCB1  FCB2 EQU 0┆
0x05f420…05f440             30 36 43 48 0d 0a 44 42 55 46 46 20 20 20 45 51 55 09 30 30 38 30 48 0d 0a 54 50 41 09 45 51 55   ┆06CH  DBUFF   EQU 0080H  TPA EQU┆
0x05f440…05f460             09 30 31 30 30 48 0d 0a 0d 0a 57 42 4f 4f 54 20 20 20 45 51 55 20 20 20 20 20 31 0d 0a 46 44 46   ┆ 0100H    WBOOT   EQU     1  FDF┆
0x05f460…05f480             4f 52 4d 20 20 45 51 55 20 20 20 20 20 35 32 0d 0a 53 57 31 20 20 20 20 20 45 51 55 20 20 20 20   ┆ORM  EQU     52  SW1     EQU    ┆
0x05f480…05f4a0             20 31 34 48 0d 0a 43 4f 4e 53 49 46 09 45 51 55 09 31 0d 0a 50 52 49 4e 54 46 09 45 51 55 09 39   ┆ 14H  CONSIF EQU 1  PRINTF EQU 9┆
0x05f4a0…05f4c0             0d 0a 52 45 53 45 54 46 09 45 51 55 09 33 37 0d 0a 4f 50 45 4e 46 09 45 51 55 09 31 35 0d 0a 43   ┆  RESETF EQU 37  OPENF EQU 15  C┆
0x05f4c0…05f4e0             4c 4f 53 45 46 09 45 51 55 09 31 36 0d 0a 44 45 4c 45 54 45 46 09 45 51 55 09 31 39 0d 0a 52 45   ┆LOSEF EQU 16  DELETEF EQU 19  RE┆
0x05f4e0…05f500             41 44 46 09 45 51 55 09 32 30 0d 0a 57 52 49 54 45 46 09 45 51 55 09 32 31 0d 0a 4d 41 4b 45 46   ┆ADF EQU 20  WRITEF EQU 21  MAKEF┆
0x05f500…05f520             09 45 51 55 09 32 32 0d 0a 53 44 4d 41 46 09 45 51 55 09 32 36 0d 0a 0d 0a 09 4f 52 47 09 54 50   ┆ EQU 22  SDMAF EQU 26     ORG TP┆
0x05f520…05f540             41 0d 0a 0d 0a 09 50 4f 50 09 48 09 09 3b 20 53 41 56 45 20 52 45 54 55 52 4e 20 54 4f 20 43 43   ┆A     POP H  ; SAVE RETURN TO CC┆
0x05f540…05f560             50 0d 0a 09 53 48 4c 44 09 43 43 50 52 45 54 09 09 3b 0d 0a 09 4c 58 49 09 53 50 2c 53 54 41 43   ┆P   SHLD CCPRET  ;   LXI SP,STAC┆
0x05f560…05f580             4b 09 3b 20 53 45 54 20 4c 4f 43 41 4c 20 53 54 41 43 4b 0d 0a 09 4c 58 49 09 48 2c 44 42 55 46   ┆K ; SET LOCAL STACK   LXI H,DBUF┆
0x05f580…05f5a0             46 09 09 3b 20 50 41 44 20 43 4f 4d 4d 41 4e 44 20 42 55 46 46 45 52 0d 0a 09 49 4e 52 09 4d 09   ┆F  ; PAD COMMAND BUFFER   INR M ┆
0x05f5a0…05f5c0             09 3b 0d 0a 09 4d 4f 56 09 45 2c 4d 09 09 3b 0d 0a 09 49 4e 52 09 4d 09 09 3b 0d 0a 09 4d 56 49   ┆ ;   MOV E,M  ;   INR M  ;   MVI┆
0x05f5c0…05f5e0             09 44 2c 30 09 09 3b 0d 0a 09 44 41 44 09 44 09 09 3b 0d 0a 09 4d 56 49 09 4d 2c 27 20 27 09 09   ┆ D,0  ;   DAD D  ;   MVI M,' '  ┆
0x05f5e0…05f600             3b 0d 0a 09 4c 48 4c 44 09 57 42 4f 4f 54 09 09 3b 20 53 41 56 45 20 46 44 20 46 4f 52 4d 41 54   ┆;   LHLD WBOOT  ; SAVE FD FORMAT┆
0x05f600…05f620 (25, 0, 14) 4f 53 09 09 3b 0d 0a 0d 0a 43 4c 4f 53 45 3a 09 4d 56 49 09 43 2c 43 4c 4f 53 45 46 09 3b 0d 0a   ┆OS  ;    CLOSE: MVI C,CLOSEF ;  ┆
0x05f620…05f640             09 4a 4d 50 09 42 44 4f 53 09 09 3b 0d 0a 0d 0a 44 45 4c 45 54 45 3a 09 4d 56 49 09 43 2c 44 45   ┆ JMP BDOS  ;    DELETE: MVI C,DE┆
0x05f640…05f660             4c 45 54 45 46 09 3b 0d 0a 09 4a 4d 50 09 42 44 4f 53 09 09 3b 0d 0a 0d 0a 52 45 41 44 3a 09 4d   ┆LETEF ;   JMP BDOS  ;    READ: M┆
0x05f660…05f680             56 49 09 43 2c 52 45 41 44 46 09 09 3b 0d 0a 09 4a 4d 50 09 42 44 4f 53 09 09 3b 0d 0a 0d 0a 57   ┆VI C,READF  ;   JMP BDOS  ;    W┆
0x05f680…05f6a0             52 49 54 45 3a 09 4d 56 49 09 43 2c 57 52 49 54 45 46 09 3b 0d 0a 09 4a 4d 50 09 42 44 4f 53 09   ┆RITE: MVI C,WRITEF ;   JMP BDOS ┆
0x05f6a0…05f6c0             09 3b 0d 0a 0d 0a 4d 41 4b 45 3a 09 4d 56 49 09 43 2c 4d 41 4b 45 46 09 09 3b 0d 0a 09 4a 4d 50   ┆ ;    MAKE: MVI C,MAKEF  ;   JMP┆
0x05f6c0…05f6e0             09 42 44 4f 53 09 09 3b 0d 0a 0d 0a 53 45 54 44 4d 41 3a 09 4d 56 49 09 43 2c 53 44 4d 41 46 09   ┆ BDOS  ;    SETDMA: MVI C,SDMAF ┆
0x05f6e0…05f700             09 3b 0d 0a 09 4a 4d 50 09 42 44 4f 53 09 09 3b 0d 0a 0d 0a 50 52 49 4e 54 3a 09 4d 56 49 09 43   ┆ ;   JMP BDOS  ;    PRINT: MVI C┆
0x05f700…05f720             2c 50 52 49 4e 54 46 09 3b 0d 0a 09 4a 4d 50 09 42 44 4f 53 09 09 3b 0d 0a 0d 0a 0d 0a 53 57 4f   ┆,PRINTF ;   JMP BDOS  ;      SWO┆
0x05f720…05f740             50 3a 09 44 42 09 27 49 4e 53 45 52 54 20 44 49 53 4b 20 41 4e 44 20 54 59 50 45 20 3c 52 45 54   ┆P: DB 'INSERT DISK AND TYPE <RET┆
0x05f740…05f760             55 52 4e 3e 27 2c 33 36 0d 0a 0d 0a 41 46 4f 52 4d 3a 09 44 57 09 30 0d 0a 53 46 4f 52 4d 3a 09   ┆URN>',36    AFORM: DW 0  SFORM: ┆
0x05f760…05f780             44 57 09 30 0d 0a 43 46 4f 52 4d 3a 20 20 44 57 09 30 0d 0a 43 41 44 44 52 3a 09 44 57 09 30 0d   ┆DW 0  CFORM:  DW 0  CADDR: DW 0 ┆
0x05f780…05f7a0             0a 0d 0a 0d 0a 43 43 50 52 45 54 3a 20 44 57 09 30 0d 0a 0d 0a 44 46 43 42 3a 09 44 53 09 33 33   ┆     CCPRET: DW 0    DFCB: DS 33┆
0x05f7a0…05f7c0             09 09 3b 20 44 45 53 54 49 4e 41 54 49 4f 4e 20 46 43 42 0d 0a 44 46 43 42 43 52 09 45 51 55 09   ┆  ; DESTINATION FCB  DFCBCR EQU ┆
0x05f7c0…05f7e0             44 46 43 42 2b 33 32 09 09 3b 0d 0a 0d 0a 09 44 53 09 33 31 09 09 3b 0d 0a 53 54 41 43 4b 3a 09   ┆DFCB+32  ;     DS 31  ;  STACK: ┆
0x05f7e0…05f800             44 53 09 31 09 09 3b 20 4c 4f 43 41 4c 20 53 54 41 43 4b 0d 0a 0d 0a 0d 0a 09 45 4e 44 09 30 31   ┆DS 1  ; LOCAL STACK       END 01┆
0x05f800…05f820 (25, 0, 15) 0d 0a 20 30 31 34 38 20 43 44 33 35 30 31 20 20 20 20 09 43 41 4c 4c 09 4e 43 48 41 52 09 09 3b   ┆   0148 CD3501     CALL NCHAR  ;┆
0x05f820…05f840             0d 0a 20 30 31 34 42 20 46 45 34 31 20 20 20 20 20 20 09 43 50 49 09 27 41 27 09 09 3b 20 53 45   ┆   014B FE41       CPI 'A'  ; SE┆
0x05f840…05f860             41 52 43 48 20 41 20 4f 52 20 42 20 44 52 49 56 45 3a 0d 0a 20 30 31 34 44 20 43 41 35 36 30 31   ┆ARCH A OR B DRIVE:   014D CA5601┆
0x05f860…05f880             20 20 20 20 09 4a 5a 09 53 43 4f 4c 09 09 3b 0d 0a 20 30 31 35 30 20 46 45 34 32 20 20 20 20 20   ┆     JZ SCOL  ;   0150 FE42     ┆
0x05f880…05f8a0             20 09 43 50 49 09 27 42 27 09 09 3b 0d 0a 20 30 31 35 32 20 43 32 34 35 30 31 20 20 20 20 09 4a   ┆  CPI 'B'  ;   0152 C24501     J┆
0x05f8a0…05f8c0             4e 5a 09 53 43 41 4e 09 09 3b 0d 0a 20 30 31 35 35 20 30 34 20 20 20 20 20 20 20 20 09 49 4e 52   ┆NZ SCAN  ;   0155 04         INR┆
0x05f8c0…05f8e0             09 42 09 09 3b 0d 0a 20 30 31 35 36 20 43 44 33 35 30 31 20 20 20 20 53 43 4f 4c 3a 09 43 41 4c   ┆ B  ;   0156 CD3501    SCOL: CAL┆
0x05f8e0…05f900             4c 09 4e 43 48 41 52 09 09 3b 20 53 45 41 52 43 48 20 43 4f 4c 4f 4e 3a 0d 0a 20 30 31 35 39 20   ┆L NCHAR  ; SEARCH COLON:   0159 ┆
0x05f900…05f920             46 45 33 41 20 20 20 20 20 20 09 43 50 49 09 27 3a 27 09 09 3b 0d 0a 20 30 31 35 42 20 43 32 34   ┆FE3A       CPI ':'  ;   015B C24┆
0x05f920…05f940             35 30 31 20 20 20 20 09 4a 4e 5a 09 53 43 41 4e 09 09 3b 0d 0a 20 30 31 35 45 20 43 44 33 35 30   ┆501     JNZ SCAN  ;   015E CD350┆
0x05f940…05f960             31 20 20 20 20 09 43 41 4c 4c 09 4e 43 48 41 52 09 09 3b 20 53 45 41 52 43 48 20 45 51 55 41 4c   ┆1     CALL NCHAR  ; SEARCH EQUAL┆
0x05f960…05f980             3a 0d 0a 20 30 31 36 31 20 46 45 33 44 20 20 20 20 20 20 09 43 50 49 09 27 3d 27 09 09 3b 0d 0a   ┆:   0161 FE3D       CPI '='  ;  ┆
0x05f980…05f9a0             20 30 31 36 33 20 43 32 34 35 30 31 20 20 20 20 09 4a 4e 5a 09 53 43 41 4e 09 09 3b 0d 0a 20 30   ┆ 0163 C24501     JNZ SCAN  ;   0┆
0x05f9a0…05f9c0             31 36 36 20 43 44 33 35 30 31 20 20 20 20 09 43 41 4c 4c 09 4e 43 48 41 52 09 09 3b 20 53 45 41   ┆166 CD3501     CALL NCHAR  ; SEA┆
0x05f9c0…05f9e0             52 43 48 20 44 45 4e 53 49 54 59 3a 0d 0a 20 30 31 36 39 20 46 45 35 33 20 20 20 20 20 20 09 43   ┆RCH DENSITY:   0169 FE53       C┆
0x05f9e0…05fa00             50 49 09 27 53 27 09 09 3b 0d 0a 20 30 31 36 42 20 43 41 38 38 30 31 20 20 20 20 09 4a 5a 09 53   ┆PI 'S'  ;   016B CA8801     JZ S┆
0x05fa00…05fa20 (25, 1, 1)  09 09 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0d 0a 20 30 31 44 33 20 30 45 30   ┆  ;                     01D3 0E0┆
0x05fa20…05fa40             46 20 20 20 20 20 20 4f 50 45 4e 3a 09 4d 56 49 09 43 2c 4f 50 45 4e 46 09 09 3b 0d 0a 20 30 31   ┆F      OPEN: MVI C,OPENF  ;   01┆
0x05fa40…05fa60             44 35 20 43 33 30 35 30 30 20 20 20 20 09 4a 4d 50 09 42 44 4f 53 09 09 3b 0d 0a 20 20 20 20 20   ┆D5 C30500     JMP BDOS  ;       ┆
0x05fa60…05fa80             20 20 20 20 20 20 20 20 20 20 20 0d 0a 20 30 31 44 38 20 30 45 31 30 20 20 20 20 20 20 43 4c 4f   ┆              01D8 0E10      CLO┆
0x05fa80…05faa0             53 45 3a 09 4d 56 49 09 43 2c 43 4c 4f 53 45 46 09 3b 0d 0a 20 30 31 44 41 20 43 33 30 35 30 30   ┆SE: MVI C,CLOSEF ;   01DA C30500┆
0x05faa0…05fac0             20 20 20 20 09 4a 4d 50 09 42 44 4f 53 09 09 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆     JMP BDOS  ;                ┆
0x05fac0…05fae0             20 20 0d 0a 20 30 31 44 44 20 30 45 31 33 20 20 20 20 20 20 44 45 4c 45 54 45 3a 09 4d 56 49 09   ┆     01DD 0E13      DELETE: MVI ┆
0x05fae0…05fb00             43 2c 44 45 4c 45 54 45 46 09 3b 0d 0a 20 30 31 44 46 20 43 33 30 35 30 30 20 20 20 20 09 4a 4d   ┆C,DELETEF ;   01DF C30500     JM┆
0x05fb00…05fb20             50 09 42 44 4f 53 09 09 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0d 0a 20 30 31   ┆P BDOS  ;                     01┆
0x05fb20…05fb40             45 32 20 30 45 31 34 20 20 20 20 20 20 52 45 41 44 3a 09 4d 56 49 09 43 2c 52 45 41 44 46 09 09   ┆E2 0E14      READ: MVI C,READF  ┆
0x05fb40…05fb60             3b 0d 0a 20 30 31 45 34 20 43 33 30 35 30 30 20 20 20 20 09 4a 4d 50 09 42 44 4f 53 09 09 3b 0d   ┆;   01E4 C30500     JMP BDOS  ; ┆
0x05fb60…05fb80             0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0d 0a 20 30 31 45 37 20 30 45 31 35 20 20 20   ┆                    01E7 0E15   ┆
0x05fb80…05fba0             20 20 20 57 52 49 54 45 3a 09 4d 56 49 09 43 2c 57 52 49 54 45 46 09 3b 0d 0a 20 30 31 45 39 20   ┆   WRITE: MVI C,WRITEF ;   01E9 ┆
0x05fba0…05fbc0             43 33 30 35 30 30 20 20 20 20 09 4a 4d 50 09 42 44 4f 53 09 09 3b 0d 0a 20 20 20 20 20 20 20 20   ┆C30500     JMP BDOS  ;          ┆
0x05fbc0…05fbe0             20 20 20 20 20 20 20 20 0d 0a 20 30 31 45 43 20 30 45 31 36 20 20 20 20 20 20 4d 41 4b 45 3a 09   ┆           01EC 0E16      MAKE: ┆
0x05fbe0…05fc00             4d 56 49 09 43 2c 4d 41 4b 45 46 09 09 3b 0d 0a 20 30 31 45 45 20 43 33 30 35 30 30 20 20 20 20   ┆MVI C,MAKEF  ;   01EE C30500    ┆
0x05fc00…05fc20 (25, 1, 2)  30 32 37 37 31 31 46 42 30 31 43 44 46 36 30 31 43 44 43 36 30 31 43 44 41 32 0d 0a 3a 31 30 30   ┆027711FB01CDF601CDC601CDA2  :100┆
0x05fc20…05fc40             31 43 30 30 30 43 42 30 31 32 41 32 31 30 32 45 39 30 45 30 31 43 33 30 35 30 30 30 45 30 44 31   ┆1C000CB012A2102E90E01C305000E0D1┆
0x05fc40…05fc60             31 30 33 30 30 32 37 0d 0a 3a 31 30 30 31 44 30 30 30 43 33 30 35 30 30 30 45 30 46 43 33 30 35   ┆1030027  :1001D000C305000E0FC305┆
0x05fc60…05fc80             30 30 30 45 31 30 43 33 30 35 30 30 30 45 31 33 43 33 41 38 0d 0a 3a 31 30 30 31 45 30 30 30 30   ┆000E10C305000E13C3A8  :1001E0000┆
0x05fc80…05fca0             35 30 30 30 45 31 34 43 33 30 35 30 30 30 45 31 35 43 33 30 35 30 30 30 45 31 36 43 33 30 35 34   ┆5000E14C305000E15C305000E16C3054┆
0x05fca0…05fcc0             39 0d 0a 3a 31 30 30 31 46 30 30 30 30 30 30 45 31 41 43 33 30 35 30 30 30 45 30 39 43 33 30 35   ┆9  :1001F000000E1AC305000E09C305┆
0x05fcc0…05fce0             30 30 34 39 34 45 35 33 34 35 35 32 41 46 0d 0a 3a 31 30 30 32 30 30 30 30 35 34 32 30 34 34 34   ┆00494E534552AF  :100200005420444┆
0x05fce0…05fd00             39 35 33 34 42 32 30 34 31 34 45 34 34 32 30 35 34 35 39 35 30 34 35 32 30 44 41 0d 0a 3a 31 30   ┆9534B20414E44205459504520DA  :10┆
0x05fd00…05fd20             30 32 31 30 30 30 33 43 35 32 34 35 35 34 35 35 35 32 34 45 33 45 32 34 30 30 30 30 30 30 30 30   ┆0210003C52455455524E3E2400000000┆
0x05fd20…05fd40             30 30 30 30 30 30 36 30 0d 0a 3a 30 33 30 32 32 30 30 30 30 30 30 30 30 30 44 42 0d 0a 3a 30 30   ┆00000060  :03022000000000DB  :00┆
0x05fd40…05fd60             30 31 30 30 30 30 46 46 0d 0a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a   ┆010000FF                        ┆
0x05fd60…05fd80             1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a   ┆                                ┆
0x05fd80…05fda0             31 43 44 33 35 30 31 46 45 35 33 43 32 34 35 30 31 39 39 0d 0a 3a 31 30 30 31 39 30 30 30 43 44   ┆1CD3501FE53C2450199  :10019000CD┆
0x05fda0…05fdc0             33 35 30 31 46 45 32 30 43 32 34 35 30 31 32 31 31 44 30 32 31 36 30 30 35 38 31 39 37 31 46 45   ┆3501FE20C24501211D021600581971FE┆
0x05fdc0…05fde0             0d 0a 3a 31 30 30 31 41 30 30 30 43 33 34 35 30 31 44 42 31 34 45 36 38 30 43 32 42 36 30 31 32   ┆  :1001A000C34501DB14E680C2B6012┆
0x05fde0…05fe00             41 31 39 30 32 33 41 31 44 30 32 44 41 0d 0a 3a 31 30 30 31 42 30 30 30 37 37 32 33 33 41 31 45   ┆A19023A1D02DA  :1001B00077233A1E┆
0x05fe00…05fe20 (25, 1, 3)  3a 09 4d 56 49 09 43 2c 43 4c 4f 53 45 46 09 3b 0d 0a 09 4a 4d 50 09 42 44 4f 53 09 09 3b 0d 0a   ┆: MVI C,CLOSEF ;   JMP BDOS  ;  ┆
0x05fe20…05fe40             0d 0a 44 45 4c 45 54 45 3a 09 4d 56 49 09 43 2c 44 45 4c 45 54 45 46 09 3b 0d 0a 09 4a 4d 50 09   ┆  DELETE: MVI C,DELETEF ;   JMP ┆
0x05fe40…05fe60             42 44 4f 53 09 09 3b 0d 0a 0d 0a 52 45 41 44 3a 09 4d 56 49 09 43 2c 52 45 41 44 46 09 09 3b 0d   ┆BDOS  ;    READ: MVI C,READF  ; ┆
0x05fe60…05fe80             0a 09 4a 4d 50 09 42 44 4f 53 09 09 3b 0d 0a 0d 0a 57 52 49 54 45 3a 09 4d 56 49 09 43 2c 57 52   ┆  JMP BDOS  ;    WRITE: MVI C,WR┆
0x05fe80…05fea0             49 54 45 46 09 3b 0d 0a 09 4a 4d 50 09 42 44 4f 53 09 09 3b 0d 0a 0d 0a 4d 41 4b 45 3a 09 4d 56   ┆ITEF ;   JMP BDOS  ;    MAKE: MV┆
0x05fea0…05fec0             49 09 43 2c 4d 41 4b 45 46 09 09 3b 0d 0a 09 4a 4d 50 09 42 44 4f 53 09 09 3b 0d 0a 0d 0a 53 45   ┆I C,MAKEF  ;   JMP BDOS  ;    SE┆
0x05fec0…05fee0             54 44 4d 41 3a 09 4d 56 49 09 43 2c 53 44 4d 41 46 09 09 3b 0d 0a 09 4a 4d 50 09 42 44 4f 53 09   ┆TDMA: MVI C,SDMAF  ;   JMP BDOS ┆
0x05fee0…05ff00             09 3b 0d 0a 0d 0a 50 52 49 4e 54 3a 09 4d 56 49 09 43 2c 50 52 49 4e 54 46 09 3b 0d 0a 09 4a 4d   ┆ ;    PRINT: MVI C,PRINTF ;   JM┆
0x05ff00…05ff20             50 09 42 44 4f 53 09 09 3b 0d 0a 0d 0a 0d 0a 53 57 4f 50 3a 09 44 42 09 27 49 4e 53 45 52 20 44   ┆P BDOS  ;      SWOP: DB 'INSER D┆
0x05ff20…05ff40             49 53 4b 20 41 4e 44 20 54 59 50 45 20 3c 52 45 54 55 52 4e 3e 27 2c 31 33 2c 31 30 2c 33 36 0d   ┆ISK AND TYPE <RETURN>',13,10,36 ┆
0x05ff40…05ff60             0a 0d 0a 41 46 4f 52 4d 3a 09 44 57 09 30 0d 0a 53 46 4f 52 4d 3a 09 44 57 09 30 0d 0a 43 46 4f   ┆   AFORM: DW 0  SFORM: DW 0  CFO┆
0x05ff60…05ff80             52 4d 3a 20 20 44 57 09 30 0d 0a 43 41 44 44 52 3a 09 44 57 09 30 0d 0a 0d 0a 0d 0a 43 43 50 52   ┆RM:  DW 0  CADDR: DW 0      CCPR┆
0x05ff80…05ffa0             45 54 3a 20 44 57 09 30 0d 0a 0d 0a 44 46 43 42 3a 09 44 53 09 33 33 09 09 3b 20 44 45 53 54 49   ┆ET: DW 0    DFCB: DS 33  ; DESTI┆
0x05ffa0…05ffc0             4e 41 54 49 4f 4e 20 46 43 42 0d 0a 44 46 43 42 43 52 09 45 51 55 09 44 46 43 42 2b 33 32 09 09   ┆NATION FCB  DFCBCR EQU DFCB+32  ┆
0x05ffc0…05ffe0             3b 0d 0a 0d 0a 09 44 53 09 33 31 09 09 3b 0d 0a 53 54 41 43 4b 3a 09 44 53 09 31 09 09 3b 20 4c   ┆;     DS 31  ;  STACK: DS 1  ; L┆
0x05ffe0…060000             4f 43 41 4c 20 53 54 41 43 4b 0d 0a 0d 0a 0d 0a 09 45 4e 44 09 30 31 30 30 48 0d 0a 1a 1a 1a 1a   ┆OCAL STACK       END 0100H      ┆
0x060000…060020 (25, 1, 4)  2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a   ┆********************************┆
0x060020…060040             2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0d 0a 3b 0d 0a   ┆***************************  ;  ┆
0x060040…060060             3b 0d 0a 3b 09 43 4f 50 59 52 49 47 48 54 20 28 43 29 20 31 39 37 36 2c 20 31 39 37 37 2c 20 31   ┆;  ; COPYRIGHT (C) 1976, 1977, 1┆
0x060060…060080             39 37 38 2c 20 31 39 37 39 2c 20 31 39 38 30 0d 0a 3b 09 44 49 47 49 54 41 4c 20 52 45 53 45 41   ┆978, 1979, 1980  ; DIGITAL RESEA┆
0x060080…0600a0             52 43 48 0d 0a 3b 09 42 4f 58 20 35 37 39 20 50 41 43 49 46 49 43 20 47 52 4f 56 45 0d 0a 3b 09   ┆RCH  ; BOX 579 PACIFIC GROVE  ; ┆
0x0600a0…0600c0             43 41 4c 49 46 4f 52 4e 49 41 2c 20 39 33 39 35 30 0d 0a 3b 0d 0a 54 50 41 09 45 51 55 09 31 30   ┆CALIFORNIA, 93950  ;  TPA EQU 10┆
0x0600c0…0600e0             30 48 09 3b 54 52 41 4e 53 49 45 4e 54 20 50 52 4f 47 52 41 4d 20 41 52 45 41 0d 0a 09 4f 52 47   ┆0H ;TRANSIENT PROGRAM AREA   ORG┆
0x0600e0…060100             09 54 50 41 0d 0a 09 4a 4d 50 09 53 54 41 52 54 0d 0a 09 44 42 09 27 43 4f 50 59 52 49 47 48 54   ┆ TPA   JMP START   DB 'COPYRIGHT┆
0x060100…060120             20 28 43 29 20 31 39 38 30 2c 20 44 49 47 49 54 41 4c 20 52 45 53 45 41 52 43 48 20 27 0d 0a 3b   ┆ (C) 1980, DIGITAL RESEARCH '  ;┆
0x060120…060140             0d 0a 3b 09 47 4c 4f 42 41 4c 20 45 51 55 41 54 45 53 0d 0a 42 4f 4f 54 09 45 51 55 09 30 30 30   ┆  ; GLOBAL EQUATES  BOOT EQU 000┆
0x060140…060160             30 48 0d 0a 42 44 4f 53 09 45 51 55 09 30 30 30 35 48 0d 0a 43 4f 4e 49 4e 09 45 51 55 09 31 09   ┆0H  BDOS EQU 0005H  CONIN EQU 1 ┆
0x060160…060180             3b 52 45 41 44 20 43 4f 4e 53 4f 4c 45 20 44 45 56 49 43 45 0d 0a 52 44 42 55 46 46 09 45 51 55   ┆;READ CONSOLE DEVICE  RDBUFF EQU┆
0x060180…0601a0             09 31 30 09 3b 52 45 41 44 20 42 55 46 46 45 52 0d 0a 50 42 55 46 46 09 45 51 55 09 39 09 3b 50   ┆ 10 ;READ BUFFER  PBUFF EQU 9 ;P┆
0x0601a0…0601c0             52 49 4e 54 20 42 55 46 46 45 52 0d 0a 43 52 09 45 51 55 09 30 44 48 0d 0a 4c 46 09 45 51 55 09   ┆RINT BUFFER  CR EQU 0DH  LF EQU ┆
0x0601c0…0601e0             30 41 48 0d 0a 53 57 31 09 45 51 55 09 31 34 48 0d 0a 3b 0d 0a 43 43 50 42 09 45 51 55 09 32 39   ┆0AH  SW1 EQU 14H  ;  CCPB EQU 29┆
0x0601e0…060200             30 30 48 09 3b 43 4f 4e 53 4f 4c 45 20 50 52 4f 43 45 53 53 4f 52 20 42 41 53 45 0d 0a 42 44 4f   ┆00H ;CONSOLE PROCESSOR BASE  BDO┆
0x060200…060220 (25, 1, 5)  09 4a 4d 50 09 42 44 4f 53 09 09 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0d 0a   ┆ JMP BDOS  ;                    ┆
0x060220…060240             20 30 31 46 31 20 30 45 31 41 20 20 20 20 20 20 53 45 54 44 4d 41 3a 09 4d 56 49 09 43 2c 53 44   ┆ 01F1 0E1A      SETDMA: MVI C,SD┆
0x060240…060260             4d 41 46 09 09 3b 0d 0a 20 30 31 46 33 20 43 33 30 35 30 30 20 20 20 20 09 4a 4d 50 09 42 44 4f   ┆MAF  ;   01F3 C30500     JMP BDO┆
0x060260…060280             53 09 09 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0d 0a 20 30 31 46 36 20 30 45   ┆S  ;                     01F6 0E┆
0x060280…0602a0             30 39 20 20 20 20 20 20 50 52 49 4e 54 3a 09 4d 56 49 09 43 2c 50 52 49 4e 54 46 09 3b 0d 0a 20   ┆09      PRINT: MVI C,PRINTF ;   ┆
0x0602a0…0602c0             30 31 46 38 20 43 33 30 35 30 30 20 20 20 20 09 4a 4d 50 09 42 44 4f 53 09 09 3b 0d 0a 20 20 20   ┆01F8 C30500     JMP BDOS  ;     ┆
0x0602c0…0602e0             20 20 20 20 20 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0d   ┆                                ┆
0x0602e0…060300             0a 20 30 31 46 42 20 34 39 34 45 35 33 34 35 35 32 53 57 4f 50 3a 09 44 42 09 27 49 4e 53 45 52   ┆  01FB 494E534552SWOP: DB 'INSER┆
0x060300…060320             54 20 44 49 53 4b 20 41 4e 44 20 54 59 50 45 20 3c 52 45 54 55 52 4e 3e 27 2c 33 36 0d 0a 20 20   ┆T DISK AND TYPE <RETURN>',36    ┆
0x060320…060340             20 20 20 20 20 20 20 20 20 20 20 20 20 20 0d 0a 20 30 32 31 39 20 30 30 30 30 20 20 20 20 20 20   ┆                 0219 0000      ┆
0x060340…060360             41 46 4f 52 4d 3a 09 44 57 09 30 0d 0a 20 30 32 31 42 20 30 30 30 30 20 20 20 20 20 20 53 46 4f   ┆AFORM: DW 0   021B 0000      SFO┆
0x060360…060380             52 4d 3a 09 44 57 09 30 0d 0a 20 30 32 31 44 20 30 30 30 30 20 20 20 20 20 20 43 46 4f 52 4d 3a   ┆RM: DW 0   021D 0000      CFORM:┆
0x060380…0603a0             20 20 44 57 09 30 0d 0a 20 30 32 31 46 20 30 30 30 30 20 20 20 20 20 20 43 41 44 44 52 3a 09 44   ┆  DW 0   021F 0000      CADDR: D┆
0x0603a0…0603c0             57 09 30 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20 20   ┆W 0                             ┆
0x0603c0…0603e0             20 20 20 20 20 20 20 0d 0a 20 30 32 32 31 20 30 30 30 30 20 20 20 20 20 20 43 43 50 52 45 54 3a   ┆          0221 0000      CCPRET:┆
0x0603e0…060400             20 44 57 09 30 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0d 0a 20 30 32 32 33 20 20   ┆ DW 0                     0223  ┆
0x060400…060420 (25, 1, 6)  53 0d 0a 09 4c 58 49 09 44 2c 46 44 46 4f 52 4d 09 3b 0d 0a 09 44 41 44 09 44 09 09 3b 0d 0a 09   ┆S   LXI D,FDFORM ;   DAD D  ;   ┆
0x060420…060440             53 48 4c 44 09 41 46 4f 52 4d 09 09 3b 0d 0a 09 4d 4f 56 09 41 2c 4d 09 09 3b 0d 0a 09 53 54 41   ┆SHLD AFORM  ;   MOV A,M  ;   STA┆
0x060440…060460             09 53 46 4f 52 4d 09 09 3b 0d 0a 09 49 4e 58 09 48 09 09 3b 0d 0a 09 4d 4f 56 09 41 2c 4d 09 09   ┆ SFORM  ;   INX H  ;   MOV A,M  ┆
0x060460…060480             3b 0d 0a 09 53 54 41 09 53 46 4f 52 4d 2b 31 09 09 3b 0d 0a 09 4c 48 4c 44 09 53 46 4f 52 4d 09   ┆;   STA SFORM+1  ;   LHLD SFORM ┆
0x060480…0604a0             09 3b 0d 0a 09 53 48 4c 44 09 43 46 4f 52 4d 09 09 3b 0d 0a 09 4c 58 49 09 48 2c 44 42 55 46 46   ┆ ;   SHLD CFORM  ;   LXI H,DBUFF┆
0x0604a0…0604c0             09 09 3b 20 53 45 54 55 50 20 43 48 41 52 20 53 43 41 4e 0d 0a 09 49 4e 58 09 48 09 09 3b 0d 0a   ┆  ; SETUP CHAR SCAN   INX H  ;  ┆
0x0604c0…0604e0             09 53 48 4c 44 09 43 41 44 44 52 09 09 3b 0d 0a 09 4a 4d 50 09 53 43 41 4e 09 09 3b 0d 0a 0d 0a   ┆ SHLD CADDR  ;   JMP SCAN  ;    ┆
0x0604e0…060500             4e 43 48 41 52 3a 20 20 4c 58 49 09 48 2c 44 42 55 46 46 09 09 3b 20 47 45 54 20 4e 45 58 54 20   ┆NCHAR:  LXI H,DBUFF  ; GET NEXT ┆
0x060500…060520             43 48 41 52 3a 0d 0a 09 44 43 52 09 4d 09 09 3b 0d 0a 09 4a 5a 09 53 45 54 46 44 46 09 09 3b 20   ┆CHAR:   DCR M  ;   JZ SETFDF  ; ┆
0x060520…060540             49 46 20 45 4f 4c 20 54 48 45 4e 20 45 58 49 54 0d 0a 09 4c 48 4c 44 09 43 41 44 44 52 09 09 3b   ┆IF EOL THEN EXIT   LHLD CADDR  ;┆
0x060540…060560             0d 0a 09 4d 4f 56 09 41 2c 4d 09 09 3b 20 20 20 20 20 20 20 20 45 4c 53 45 20 50 49 43 4b 55 50   ┆   MOV A,M  ;        ELSE PICKUP┆
0x060560…060580             20 43 48 41 52 3b 0d 0a 09 49 4e 58 09 48 09 09 3b 0d 0a 09 53 48 4c 44 09 43 41 44 44 52 09 09   ┆ CHAR;   INX H  ;   SHLD CADDR  ┆
0x060580…0605a0             3b 0d 0a 09 52 45 54 09 09 20 09 3b 20 52 45 54 55 52 4e 3b 0d 0a 0d 0a 53 43 41 4e 3a 09 4c 58   ┆;   RET    ; RETURN;    SCAN: LX┆
0x0605a0…0605c0             49 09 42 2c 30 09 09 3b 20 44 52 49 56 45 2c 44 45 4e 53 49 54 59 3a 3d 41 2c 53 53 0d 0a 09 43   ┆I B,0  ; DRIVE,DENSITY:=A,SS   C┆
0x0605c0…0605e0             41 4c 4c 09 4e 43 48 41 52 09 09 3b 0d 0a 09 43 50 49 09 27 41 27 09 09 3b 20 53 45 41 52 43 48   ┆ALL NCHAR  ;   CPI 'A'  ; SEARCH┆
0x0605e0…060600             20 41 20 4f 52 20 42 20 44 52 49 56 45 3a 0d 0a 09 4a 5a 09 53 43 4f 4c 09 09 3b 0d 0a 09 43 50   ┆ A OR B DRIVE:   JZ SCOL  ;   CP┆
0x060600…060620 (25, 1, 7)  75 74 20 28 63 68 61 72 20 69 6e 20 72 65 67 2d 63 29 0d 0a 3b 09 6c 69 73 74 09 6c 69 73 74 20   ┆ut (char in reg-c)  ; list list ┆
0x060620…060640             6f 75 74 20 28 63 68 61 72 20 69 6e 20 72 65 67 2d 63 29 0d 0a 3b 09 70 75 6e 63 68 09 70 75 6e   ┆out (char in reg-c)  ; punch pun┆
0x060640…060660             63 68 20 6f 75 74 20 28 63 68 61 72 20 69 6e 20 72 65 67 2d 63 29 0d 0a 3b 09 72 65 61 64 65 72   ┆ch out (char in reg-c)  ; reader┆
0x060660…060680             09 70 61 70 65 72 20 74 61 70 65 20 72 65 61 64 65 72 20 69 6e 20 28 72 65 73 75 6c 74 20 74 6f   ┆ paper tape reader in (result to┆
0x060680…0606a0             20 72 65 67 2d 61 29 0d 0a 3b 09 68 6f 6d 65 09 6d 6f 76 65 20 74 6f 20 74 72 61 63 6b 20 30 30   ┆ reg-a)  ; home move to track 00┆
0x0606a0…0606c0             0d 0a 3b 0d 0a 3b 09 28 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 61 6c 6c 73 20 73 65 74 2d   ┆  ;  ; (the following calls set-┆
0x0606c0…0606e0             75 70 20 74 68 65 20 69 6f 20 70 61 72 61 6d 65 74 65 72 20 62 6c 6f 63 6b 20 66 6f 72 20 74 68   ┆up the io parameter block for th┆
0x0606e0…060700             65 0d 0a 3b 09 6d 64 73 2c 20 77 68 69 63 68 20 69 73 20 75 73 65 64 20 74 6f 20 70 65 72 66 6f   ┆e  ; mds, which is used to perfo┆
0x060700…060720             72 6d 20 73 75 62 73 65 71 75 65 6e 74 20 72 65 61 64 73 20 61 6e 64 20 77 72 69 74 65 73 29 0d   ┆rm subsequent reads and writes) ┆
0x060720…060740             0a 3b 09 73 65 6c 64 73 6b 09 73 65 6c 65 63 74 20 64 69 73 6b 20 67 69 76 65 6e 20 62 79 20 72   ┆ ; seldsk select disk given by r┆
0x060740…060760             65 67 2d 63 20 28 30 2c 31 2c 32 2e 2e 2e 29 0d 0a 3b 09 73 65 74 74 72 6b 09 73 65 74 20 74 72   ┆eg-c (0,1,2...)  ; settrk set tr┆
0x060760…060780             61 63 6b 20 61 64 64 72 65 73 73 20 28 30 2c 2e 2e 2e 37 36 29 20 66 6f 72 20 73 75 62 73 65 71   ┆ack address (0,...76) for subseq┆
0x060780…0607a0             75 65 6e 74 20 72 65 61 64 2f 77 72 69 74 65 0d 0a 3b 09 73 65 74 73 65 63 09 73 65 74 20 73 65   ┆uent read/write  ; setsec set se┆
0x0607a0…0607c0             63 74 6f 72 20 61 64 64 72 65 73 73 20 28 31 2c 2e 2e 2e 2c 32 36 29 20 66 6f 72 20 73 75 62 73   ┆ctor address (1,...,26) for subs┆
0x0607c0…0607e0             65 71 75 65 6e 74 20 72 65 61 64 2f 77 72 69 74 65 0d 0a 3b 09 73 65 74 64 6d 61 09 73 65 74 20   ┆equent read/write  ; setdma set ┆
0x0607e0…060800             73 75 62 73 65 71 75 65 6e 74 20 64 6d 61 20 61 64 64 72 65 73 73 20 28 69 6e 69 74 69 61 6c 6c   ┆subsequent dma address (initiall┆
0x060800…060820 (25, 1, 8)  53 42 09 45 51 55 09 33 31 30 30 48 09 3b 42 41 53 49 43 20 44 4f 53 20 42 41 53 45 0d 0a 4f 46   ┆SB EQU 3100H ;BASIC DOS BASE  OF┆
0x060820…060840             46 53 45 54 09 45 51 55 09 30 30 48 09 3b 53 50 41 43 45 20 46 4f 52 20 43 4f 4c 44 20 42 4f 4f   ┆FSET EQU 00H ;SPACE FOR COLD BOO┆
0x060840…060860             54 20 4f 4e 20 44 49 53 4b 0d 0a 53 4c 45 4e 09 45 51 55 09 42 44 4f 53 42 2d 43 43 50 42 09 3b   ┆T ON DISK  SLEN EQU BDOSB-CCPB ;┆
0x060860…060880             53 45 41 52 43 48 20 4c 45 4e 47 54 48 20 46 4f 52 20 53 45 52 49 41 4c 20 4e 55 4d 42 45 52 0d   ┆SEARCH LENGTH FOR SERIAL NUMBER ┆
0x060880…0608a0             0a 3b 0d 0a 52 45 41 44 54 52 4b 09 45 51 55 09 24 0d 0a 57 52 49 54 54 52 4b 09 45 51 55 09 24   ┆ ;  READTRK EQU $  WRITTRK EQU $┆
0x0608a0…0608c0             2b 33 0d 0a 52 45 52 45 41 44 09 45 51 55 09 24 2b 36 0d 0a 3b 09 54 52 41 43 4b 20 52 45 41 44   ┆+3  REREAD EQU $+6  ; TRACK READ┆
0x0608c0…0608e0             2f 57 52 49 54 45 20 52 4f 55 54 49 4e 45 53 2c 20 46 49 4c 4c 45 44 20 49 4e 20 4c 41 54 45 52   ┆/WRITE ROUTINES, FILLED IN LATER┆
0x0608e0…060900             0d 0a 09 4a 4d 50 09 52 45 41 44 24 44 49 53 4b 0d 0a 09 4a 4d 50 09 57 52 49 54 45 24 44 49 53   ┆   JMP READ$DISK   JMP WRITE$DIS┆
0x060900…060920             4b 0d 0a 09 4a 4d 50 09 52 45 24 52 45 41 44 24 44 49 53 4b 0d 0a 54 52 41 43 4b 3a 09 44 53 09   ┆K   JMP RE$READ$DISK  TRACK: DS ┆
0x060920…060940             31 09 3b 53 45 54 20 54 4f 20 54 52 41 43 4b 20 54 4f 20 52 45 41 44 2f 57 52 49 54 45 0d 0a 42   ┆1 ;SET TO TRACK TO READ/WRITE  B┆
0x060940…060960             55 46 46 41 3a 09 44 53 09 32 09 3b 53 45 54 20 54 4f 20 42 55 46 46 45 52 20 41 44 44 52 45 53   ┆UFFA: DS 2 ;SET TO BUFFER ADDRES┆
0x060960…060980             53 20 54 4f 20 52 45 41 44 2f 57 52 49 54 45 0d 0a 49 4f 46 3a 09 44 53 09 31 09 3b 49 4f 20 46   ┆S TO READ/WRITE  IOF: DS 1 ;IO F┆
0x060980…0609a0             55 4e 43 54 49 4f 4e 20 30 20 3d 20 52 45 41 44 2c 20 31 20 3d 20 57 52 49 54 45 0d 0a 3b 0d 0a   ┆UNCTION 0 = READ, 1 = WRITE  ;  ┆
0x0609a0…0609c0             52 45 41 44 24 44 49 53 4b 3a 0d 0a 09 3b 52 45 41 44 20 44 49 53 4b 20 44 52 49 56 45 20 41 2c   ┆READ$DISK:   ;READ DISK DRIVE A,┆
0x0609c0…0609e0             20 46 52 4f 4d 20 54 52 41 43 4b 20 27 54 52 41 43 4b 27 0d 0a 09 3b 49 4e 54 4f 20 54 48 45 20   ┆ FROM TRACK 'TRACK'   ;INTO THE ┆
0x0609e0…060a00             41 44 44 52 45 53 53 20 47 49 56 45 4e 20 42 59 20 27 42 55 46 46 41 27 0d 0a 09 58 52 41 20 41   ┆ADDRESS GIVEN BY 'BUFFA'   XRA A┆
0x060a00…060a20 (25, 1, 9)  20 20 20 20 20 20 20 20 20 44 46 43 42 3a 09 44 53 09 33 33 09 09 3b 20 44 45 53 54 49 4e 41 54   ┆         DFCB: DS 33  ; DESTINAT┆
0x060a20…060a40             49 4f 4e 20 46 43 42 0d 0a 20 30 32 34 33 20 3d 20 20 20 20 20 20 20 20 20 44 46 43 42 43 52 09   ┆ION FCB   0243 =         DFCBCR ┆
0x060a40…060a60             45 51 55 09 44 46 43 42 2b 33 32 09 09 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆EQU DFCB+32  ;                  ┆
0x060a60…060a80             0d 0a 20 30 32 34 34 20 20 20 20 20 20 20 20 20 20 20 09 44 53 09 33 31 09 09 3b 0d 0a 20 30 32   ┆   0244            DS 31  ;   02┆
0x060a80…060aa0             36 33 20 20 20 20 20 20 20 20 20 20 20 53 54 41 43 4b 3a 09 44 53 09 31 09 09 3b 20 4c 4f 43 41   ┆63           STACK: DS 1  ; LOCA┆
0x060aa0…060ac0             4c 20 53 54 41 43 4b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20   ┆L STACK                         ┆
0x060ac0…060ae0             20 20 20 20 20 20 20 20 20 20 20 0d 0a 20 30 32 36 34 20 20 20 20 20 20 20 20 20 20 20 09 45 4e   ┆              0264            EN┆
0x060ae0…060b00             44 09 30 31 30 30 48 0d 0a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a   ┆D 0100H                         ┆
0x060b00…060b20             64 69 73 6b 20 73 74 61 74 75 73 20 63 68 61 6e 67 65 64 20 20 20 20 20 20 20 31 31 20 28 6e 6f   ┆disk status changed       11 (no┆
0x060b20…060b40             74 20 75 73 65 64 29 0d 0a 09 63 70 69 09 31 30 62 09 09 3b 72 65 61 64 79 20 73 74 61 74 75 73   ┆t used)   cpi 10b  ;ready status┆
0x060b40…060b60             20 63 68 61 6e 67 65 3f 0d 0a 09 6a 7a 09 77 72 65 61 64 79 0d 0a 3b 0d 0a 3b 09 6d 75 73 74 20   ┆ change?   jz wready  ;  ; must ┆
0x060b60…060b80             62 65 20 30 30 20 69 6e 20 74 68 65 20 61 63 63 75 6d 75 6c 61 74 6f 72 0d 0a 09 6f 72 61 09 61   ┆be 00 in the accumulator   ora a┆
0x060b80…060ba0             0d 0a 09 6a 6e 7a 09 77 65 72 72 6f 72 09 09 3b 73 6f 6d 65 20 6f 74 68 65 72 20 63 6f 6e 64 69   ┆   jnz werror  ;some other condi┆
0x060ba0…060bc0             74 69 6f 6e 2c 20 72 65 74 72 79 0d 0a 3b 0d 0a 3b 09 63 68 65 63 6b 20 69 2f 6f 20 65 72 72 6f   ┆tion, retry  ;  ; check i/o erro┆
0x060bc0…060be0             72 20 62 69 74 73 0d 0a 09 63 61 6c 6c 09 69 6e 62 79 74 65 0d 0a 09 72 61 6c 0d 0a 09 6a 63 09   ┆r bits   call inbyte   ral   jc ┆
0x060be0…060c00             77 72 65 61 64 79 09 09 3b 75 6e 69 74 20 6e 6f 74 20 72 65 61 64 79 0d 0a 09 72 61 72 0d 0a 09   ┆wready  ;unit not ready   rar   ┆
0x060c00…060c20 (25, 1, 10) 49 09 27 42 27 09 09 3b 0d 0a 09 4a 4e 5a 09 53 43 41 4e 09 09 3b 0d 0a 09 49 4e 52 09 42 09 09   ┆I 'B'  ;   JNZ SCAN  ;   INR B  ┆
0x060c20…060c40             3b 0d 0a 53 43 4f 4c 3a 09 43 41 4c 4c 09 4e 43 48 41 52 09 09 3b 20 53 45 41 52 43 48 20 43 4f   ┆;  SCOL: CALL NCHAR  ; SEARCH CO┆
0x060c40…060c60             4c 4f 4e 3a 0d 0a 09 43 50 49 09 27 3a 27 09 09 3b 0d 0a 09 4a 4e 5a 09 53 43 41 4e 09 09 3b 0d   ┆LON:   CPI ':'  ;   JNZ SCAN  ; ┆
0x060c60…060c80             0a 09 43 41 4c 4c 09 4e 43 48 41 52 09 09 3b 20 53 45 41 52 43 48 20 45 51 55 41 4c 3a 0d 0a 09   ┆  CALL NCHAR  ; SEARCH EQUAL:   ┆
0x060c80…060ca0             43 50 49 09 27 3d 27 09 09 3b 0d 0a 09 4a 4e 5a 09 53 43 41 4e 09 09 3b 0d 0a 09 43 41 4c 4c 09   ┆CPI '='  ;   JNZ SCAN  ;   CALL ┆
0x060ca0…060cc0             4e 43 48 41 52 09 09 3b 20 53 45 41 52 43 48 20 44 45 4e 53 49 54 59 3a 0d 0a 09 43 50 49 09 27   ┆NCHAR  ; SEARCH DENSITY:   CPI '┆
0x060cc0…060ce0             53 27 09 09 3b 0d 0a 09 4a 5a 09 53 53 53 09 09 3b 0d 0a 09 43 50 49 09 27 44 27 09 09 3b 0d 0a   ┆S'  ;   JZ SSS  ;   CPI 'D'  ;  ┆
0x060ce0…060d00             09 4a 4e 5a 09 53 43 41 4e 09 09 3b 0d 0a 09 43 41 4c 4c 09 4e 43 48 41 52 09 09 3b 0d 0a 09 43   ┆ JNZ SCAN  ;   CALL NCHAR  ;   C┆
0x060d00…060d20             50 49 09 27 44 27 09 09 3b 0d 0a 09 4a 4e 5a 09 53 43 41 4e 09 09 3b 0d 0a 09 43 41 4c 4c 09 4e   ┆PI 'D'  ;   JNZ SCAN  ;   CALL N┆
0x060d20…060d40             43 48 41 52 09 09 3b 20 53 45 41 52 43 48 20 53 50 41 43 45 3a 0d 0a 09 43 50 49 09 27 20 27 09   ┆CHAR  ; SEARCH SPACE:   CPI ' ' ┆
0x060d40…060d60             09 3b 0d 0a 09 4a 4e 5a 09 53 43 41 4e 09 09 3b 0d 0a 09 4d 56 49 09 43 2c 38 09 09 3b 0d 0a 09   ┆ ;   JNZ SCAN  ;   MVI C,8  ;   ┆
0x060d60…060d80             4a 4d 50 09 53 45 54 43 46 09 09 3b 0d 0a 53 53 53 3a 09 43 41 4c 4c 09 4e 43 48 41 52 09 09 3b   ┆JMP SETCF  ;  SSS: CALL NCHAR  ;┆
0x060d80…060da0             0d 0a 09 43 50 49 09 27 53 27 09 09 3b 0d 0a 09 4a 4e 5a 09 53 43 41 4e 09 09 3b 0d 0a 09 43 41   ┆   CPI 'S'  ;   JNZ SCAN  ;   CA┆
0x060da0…060dc0             4c 4c 09 4e 43 48 41 52 09 09 3b 0d 0a 09 43 50 49 09 27 20 27 09 09 3b 0d 0a 09 4a 4e 5a 09 53   ┆LL NCHAR  ;   CPI ' '  ;   JNZ S┆
0x060dc0…060de0             43 41 4e 09 09 3b 0d 0a 53 45 54 43 46 3a 09 4c 58 49 09 48 2c 43 46 4f 52 4d 09 09 3b 20 53 45   ┆CAN  ;  SETCF: LXI H,CFORM  ; SE┆
0x060de0…060e00             54 20 43 55 52 52 45 4e 54 20 46 4f 52 4d 41 54 3a 0d 0a 09 4d 56 49 09 44 2c 30 09 09 3b 0d 0a   ┆T CURRENT FORMAT:   MVI D,0  ;  ┆
0x060e00…060e20 (25, 1, 11) 79 20 38 30 68 29 0d 0a 3b 0d 0a 3b 09 28 72 65 61 64 20 61 6e 64 20 77 72 69 74 65 20 61 73 73   ┆y 80h)  ;  ; (read and write ass┆
0x060e20…060e40             75 6d 65 20 70 72 65 76 69 6f 75 73 20 63 61 6c 6c 73 20 74 6f 20 73 65 74 20 75 70 20 74 68 65   ┆ume previous calls to set up the┆
0x060e40…060e60             20 69 6f 20 70 61 72 61 6d 65 74 65 72 73 29 0d 0a 3b 09 72 65 61 64 09 72 65 61 64 20 74 72 61   ┆ io parameters)  ; read read tra┆
0x060e60…060e80             63 6b 2f 73 65 63 74 6f 72 20 74 6f 20 70 72 65 73 65 74 20 64 6d 61 20 61 64 64 72 65 73 73 0d   ┆ck/sector to preset dma address ┆
0x060e80…060ea0             0a 3b 09 77 72 69 74 65 09 77 72 69 74 65 20 74 72 61 63 6b 2f 73 65 63 74 6f 72 20 66 72 6f 6d   ┆ ; write write track/sector from┆
0x060ea0…060ec0             20 70 72 65 73 65 74 20 64 6d 61 20 61 64 64 72 65 73 73 0d 0a 3b 0d 0a 3b 09 6a 75 6d 70 20 76   ┆ preset dma address  ;  ; jump v┆
0x060ec0…060ee0             65 63 74 6f 72 20 66 6f 72 20 69 6e 64 69 76 69 75 61 6c 20 72 6f 75 74 69 6e 65 73 0d 0a 09 6a   ┆ector for indiviual routines   j┆
0x060ee0…060f00             6d 70 09 62 6f 6f 74 0d 0a 77 62 6f 6f 74 65 3a 09 6a 6d 70 09 77 62 6f 6f 74 0d 0a 09 6a 6d 70   ┆mp boot  wboote: jmp wboot   jmp┆
0x060f00…060f20             09 63 6f 6e 73 74 0d 0a 09 6a 6d 70 09 63 6f 6e 69 6e 0d 0a 09 6a 6d 70 09 63 6f 6e 6f 75 74 0d   ┆ const   jmp conin   jmp conout ┆
0x060f20…060f40             0a 09 6a 6d 70 09 6c 69 73 74 0d 0a 09 6a 6d 70 09 70 75 6e 63 68 0d 0a 09 6a 6d 70 09 72 65 61   ┆  jmp list   jmp punch   jmp rea┆
0x060f40…060f60             64 65 72 0d 0a 09 6a 6d 70 09 68 6f 6d 65 0d 0a 09 6a 6d 70 09 73 65 6c 64 73 6b 0d 0a 09 6a 6d   ┆der   jmp home   jmp seldsk   jm┆
0x060f60…060f80             70 09 73 65 74 74 72 6b 0d 0a 09 6a 6d 70 09 73 65 74 73 65 63 0d 0a 09 6a 6d 70 09 73 65 74 64   ┆p settrk   jmp setsec   jmp setd┆
0x060f80…060fa0             6d 61 0d 0a 09 6a 6d 70 09 72 65 61 64 0d 0a 09 6a 6d 70 09 77 72 69 74 65 0d 0a 09 6a 6d 70 09   ┆ma   jmp read   jmp write   jmp ┆
0x060fa0…060fc0             6c 69 73 74 73 74 09 3b 6c 69 73 74 20 73 74 61 74 75 73 0d 0a 09 6a 6d 70 09 73 65 63 74 72 61   ┆listst ;list status   jmp sectra┆
0x060fc0…060fe0             6e 0d 0a 3b 0d 0a 09 6d 61 63 6c 69 62 09 64 69 73 6b 64 65 66 09 3b 6c 6f 61 64 20 74 68 65 20   ┆n  ;   maclib diskdef ;load the ┆
0x060fe0…061000             64 69 73 6b 20 64 65 66 69 6e 69 74 69 6f 6e 20 6c 69 62 72 61 72 79 0d 0a 09 64 69 73 6b 73 09   ┆disk definition library   disks ┆
0x061000…061020 (25, 1, 12) 21 20 43 41 4c 4c 20 53 45 4c 20 3b 53 45 4c 45 43 54 20 44 52 49 56 45 20 41 0d 0a 09 4a 4d 50   ┆! CALL SEL ;SELECT DRIVE A   JMP┆
0x061020…061040             20 52 45 41 44 24 44 0d 0a 3b 0d 0a 3b 0d 0a 57 52 49 54 45 24 44 49 53 4b 3a 0d 0a 09 3b 57 52   ┆ READ$D  ;  ;  WRITE$DISK:   ;WR┆
0x061040…061060             49 54 45 20 54 4f 20 44 49 53 4b 20 44 52 49 56 45 20 42 2c 20 54 4f 20 54 52 41 43 4b 20 27 54   ┆ITE TO DISK DRIVE B, TO TRACK 'T┆
0x061060…061080             52 41 43 4b 27 0d 0a 09 3b 46 52 4f 4d 20 54 48 45 20 41 44 44 52 45 53 53 20 47 49 56 45 4e 20   ┆RACK'   ;FROM THE ADDRESS GIVEN ┆
0x061080…0610a0             42 59 20 27 42 55 46 46 41 27 0d 0a 09 4d 56 49 20 41 2c 31 21 20 53 54 41 20 49 4f 46 20 3b 53   ┆BY 'BUFFA'   MVI A,1! STA IOF ;S┆
0x0610a0…0610c0             45 54 20 49 4f 46 55 4e 43 54 49 4f 4e 20 54 4f 20 57 52 49 54 45 0d 0a 09 43 41 4c 4c 20 53 45   ┆ET IOFUNCTION TO WRITE   CALL SE┆
0x0610c0…0610e0             4c 20 3b 53 45 4c 45 43 54 20 44 52 49 56 45 20 42 0d 0a 09 4a 4d 50 20 52 57 24 44 49 53 4b 0d   ┆L ;SELECT DRIVE B   JMP RW$DISK ┆
0x0610e0…061100             0a 3b 0d 0a 52 45 24 52 45 41 44 24 44 49 53 4b 3a 0d 0a 09 3b 52 45 41 44 20 46 52 4f 4d 20 44   ┆ ;  RE$READ$DISK:   ;READ FROM D┆
0x061100…061120             49 53 4b 20 44 52 49 56 45 20 42 2c 20 46 52 4f 4d 20 54 52 41 43 4b 20 27 54 52 41 43 4b 27 0d   ┆ISK DRIVE B, FROM TRACK 'TRACK' ┆
0x061120…061140             0a 09 3b 54 4f 20 54 48 45 20 41 44 44 52 45 53 53 20 47 49 56 45 4e 20 42 59 20 27 42 55 46 46   ┆  ;TO THE ADDRESS GIVEN BY 'BUFF┆
0x061140…061160             41 27 0d 0a 09 4d 56 49 20 41 2c 31 21 20 43 41 4c 4c 20 53 45 4c 20 3b 44 52 49 56 45 20 42 20   ┆A'   MVI A,1! CALL SEL ;DRIVE B ┆
0x061160…061180             53 45 4c 45 43 54 45 44 0d 0a 09 52 45 41 44 24 44 3a 20 58 52 41 20 41 21 20 53 54 41 20 49 4f   ┆SELECTED   READ$D: XRA A! STA IO┆
0x061180…0611a0             46 20 3b 53 45 54 20 54 4f 20 52 45 41 44 20 46 55 4e 43 54 49 4f 4e 0d 0a 09 52 57 24 44 49 53   ┆F ;SET TO READ FUNCTION   RW$DIS┆
0x0611a0…0611c0             4b 3a 20 3b 52 45 41 44 20 4f 52 20 57 52 49 54 45 20 44 49 53 4b 0d 0a 09 09 4c 58 49 20 48 2c   ┆K: ;READ OR WRITE DISK    LXI H,┆
0x0611c0…0611e0             54 52 41 43 4b 21 20 4d 4f 56 20 43 2c 4d 20 3b 47 45 54 20 54 52 41 43 4b 20 4e 55 4d 42 45 52   ┆TRACK! MOV C,M ;GET TRACK NUMBER┆
0x0611e0…061200             0d 0a 09 09 43 41 4c 4c 20 54 52 4b 20 3b 54 52 41 43 4b 20 53 45 4c 45 43 54 45 44 0d 0a 09 09   ┆    CALL TRK ;TRACK SELECTED    ┆
0x061200…061220 (25, 1, 13) 3a 31 30 30 31 30 30 30 30 45 31 32 32 32 31 30 32 33 31 36 33 30 32 32 31 38 30 30 30 33 34 35   ┆:10010000E1222102316302218000345┆
0x061220…061240             45 33 34 31 36 30 30 31 39 39 44 0d 0a 3a 31 30 30 31 31 30 30 30 33 36 32 30 32 41 30 31 30 30   ┆E341600199D  :1001100036202A0100┆
0x061240…061260             31 31 33 34 30 30 31 39 32 32 31 39 30 32 37 45 33 32 31 42 30 32 46 36 0d 0a 3a 31 30 30 31 32   ┆113400192219027E321B02F6  :10012┆
0x061260…061280             30 30 30 32 33 37 45 33 32 31 43 30 32 32 41 31 42 30 32 32 32 31 44 30 32 32 31 38 30 30 30 32   ┆000237E321C022A1B02221D022180002┆
0x061280…0612a0             33 32 32 37 30 0d 0a 3a 31 30 30 31 33 30 30 30 31 46 30 32 43 33 34 35 30 31 32 31 38 30 30 30   ┆32270  :100130001F02C34501218000┆
0x0612a0…0612c0             33 35 43 41 41 33 30 31 32 41 31 46 30 32 37 45 38 38 0d 0a 3a 31 30 30 31 34 30 30 30 32 33 32   ┆35CAA3012A1F027E88  :10014000232┆
0x0612c0…0612e0             32 31 46 30 32 43 39 30 31 30 30 30 30 43 44 33 35 30 31 46 45 34 31 43 41 35 36 30 31 31 43 0d   ┆21F02C9010000CD3501FE41CA56011C ┆
0x0612e0…061300             0a 3a 31 30 30 31 35 30 30 30 46 45 34 32 43 32 34 35 30 31 30 34 43 44 33 35 30 31 46 45 33 41   ┆ :10015000FE42C2450104CD3501FE3A┆
0x061300…061320             43 32 34 35 30 31 43 44 33 35 30 45 0d 0a 3a 31 30 30 31 36 30 30 30 30 31 46 45 33 44 43 32 34   ┆C24501CD350E  :1001600001FE3DC24┆
0x061320…061340             35 30 31 43 44 33 35 30 31 46 45 35 33 43 41 38 38 30 31 46 45 34 34 36 32 0d 0a 3a 31 30 30 31   ┆501CD3501FE53CA8801FE4462  :1001┆
0x061340…061360             37 30 30 30 43 32 34 35 30 31 43 44 33 35 30 31 46 45 34 34 43 32 34 35 30 31 43 44 33 35 30 31   ┆7000C24501CD3501FE44C24501CD3501┆
0x061360…061380             46 45 32 30 30 39 0d 0a 3a 31 30 30 31 38 30 30 30 43 32 34 35 30 31 30 45 30 38 43 33 39 38 30   ┆FE2009  :10018000C245010E08C3980┆
0x061380…0613a0             31 43 44 33 35 30 31 46 45 35 33 43 32 34 35 30 31 39 39 0d 0a 3a 31 30 30 31 39 30 30 30 43 44   ┆1CD3501FE53C2450199  :10019000CD┆
0x0613a0…0613c0             33 35 30 31 46 45 32 30 43 32 34 35 30 31 32 31 31 44 30 32 31 36 30 30 35 38 31 39 37 31 46 45   ┆3501FE20C24501211D021600581971FE┆
0x0613c0…0613e0             0d 0a 3a 31 30 30 31 41 30 30 30 43 33 34 35 30 31 44 42 31 34 45 36 38 30 43 32 42 36 30 31 32   ┆  :1001A000C34501DB14E680C2B6012┆
0x0613e0…061400             41 31 39 30 32 33 41 31 44 30 32 44 41 0d 0a 3a 31 30 30 31 42 30 30 30 37 37 32 33 33 41 31 45   ┆A19023A1D02DA  :1001B00077233A1E┆
0x061400…061420 (25, 1, 14) e1 22 21 02 31 63 02 21 80 00 34 5e 34 16 00 19 36 20 2a 01 00 11 34 00 19 22 19 02 7e 32 1b 02   ┆ "! 1c !  4^4   6 *   4  "  ü2  ┆
0x061420…061440             23 7e 32 1c 02 2a 1b 02 22 1d 02 21 80 00 23 22 1f 02 c3 45 01 21 80 00 35 ca a3 01 2a 1f 02 7e   ┆#ü2  *  "  !  #"   E !  5   *  ü┆
0x061440…061460             23 22 1f 02 c9 01 00 00 cd 35 01 fe 41 ca 56 01 fe 42 c2 45 01 04 cd 35 01 fe 3a c2 45 01 cd 35   ┆#"       5  A V  B E   5  : E  5┆
0x061460…061480             01 fe 3d c2 45 01 cd 35 01 fe 53 ca 88 01 fe 44 c2 45 01 cd 35 01 fe 44 c2 45 01 cd 35 01 fe 20   ┆  = E  5  S    D E  5  D E  5   ┆
0x061480…0614a0             c2 45 01 0e 08 c3 98 01 cd 35 01 fe 53 c2 45 01 cd 35 01 fe 20 c2 45 01 21 1d 02 16 00 58 19 71   ┆ E       5  S E  5    E !    X q┆
0x0614a0…0614c0             c3 45 01 db 14 e6 80 c2 b6 01 2a 19 02 3a 1d 02 77 23 3a 1e 02 77 11 fb 01 cd f6 01 cd c6 01 cd   ┆ E        *  :  w#:  w          ┆
0x0614c0…0614e0             cb 01 2a 21 02 e9 0e 01 c3 05 00 0e 0d 11 03 00 c3 05 00 0e 0f c3 05 00 0e 10 c3 05 00 0e 13 c3   ┆  *!                            ┆
0x0614e0…061500             05 00 0e 14 c3 05 00 0e 15 c3 05 00 0e 16 c3 05 00 0e 1a c3 05 00 0e 09 c3 05 00 49 4e 53 45 52   ┆                           INSER┆
0x061500…061520             54 20 44 49 53 4b 20 41 4e 44 20 54 59 50 45 20 3c 52 45 54 55 52 4e 3e 24 00 00 00 00 00 00 00   ┆T DISK AND TYPE <RETURN>$       ┆
0x061520…061540             00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
          […0x2…]
0x061580…0615a0             31 43 44 33 35 30 31 46 45 35 33 43 32 34 35 30 31 39 39 0d 0a 3a 31 30 30 31 39 30 30 30 43 44   ┆1CD3501FE53C2450199  :10019000CD┆
0x0615a0…0615c0             33 35 30 31 46 45 32 30 43 32 34 35 30 31 32 31 31 44 30 32 31 36 30 30 35 38 31 39 37 31 46 45   ┆3501FE20C24501211D021600581971FE┆
0x0615c0…0615e0             0d 0a 3a 31 30 30 31 41 30 30 30 43 33 34 35 30 31 44 42 31 34 45 36 38 30 43 32 42 36 30 31 32   ┆  :1001A000C34501DB14E680C2B6012┆
0x0615e0…061600             41 31 39 30 32 33 41 31 44 30 32 44 41 0d 0a 3a 31 30 30 31 42 30 30 30 37 37 32 33 33 41 31 45   ┆A19023A1D02DA  :1001B00077233A1E┆
0x061600…061620 (25, 1, 15) 09 54 49 54 4c 45 09 27 50 52 4f 47 52 41 4d 20 53 45 52 49 41 4c 49 5a 41 54 49 4f 4e 20 46 4f   ┆ TITLE 'PROGRAM SERIALIZATION FO┆
0x061620…061640             52 20 43 50 2f 4d 20 32 2e 32 20 32 2f 38 30 27 0d 0a 0d 0a 3b 20 4f 72 69 67 69 6e 20 23 20 65   ┆R CP/M 2.2 2/80'    ; Origin # e┆
0x061640…061660             78 70 61 6e 64 65 64 20 74 6f 20 31 36 20 62 69 74 73 20 30 33 20 4e 6f 76 20 38 30 20 4a 52 50   ┆xpanded to 16 bits 03 Nov 80 JRP┆
0x061660…061680             2e 0d 0a 0d 0a 3b 20 4d 4f 44 49 46 49 45 44 20 54 4f 20 53 55 50 50 4f 52 54 20 44 4f 55 42 4c   ┆.    ; MODIFIED TO SUPPORT DOUBL┆
0x061680…0616a0             45 20 44 45 4e 53 49 54 59 20 4f 4e 4c 59 20 20 2d 20 20 32 36 4a 55 4e 38 31 20 2f 20 46 56 4e   ┆E DENSITY ONLY  -  26JUN81 / FVN┆
0x0616a0…0616c0             0d 0a 0d 0a 0d 0a 56 45 52 53 49 4f 4e 09 45 51 55 09 32 32 09 3b 56 45 52 53 49 4f 4e 20 32 2e   ┆      VERSION EQU 22 ;VERSION 2.┆
0x0616c0…0616e0             32 0d 0a 4d 4f 56 54 52 4b 09 45 51 55 09 30 09 3b 54 52 41 43 4b 20 43 4f 4e 54 41 49 4e 49 4e   ┆2  MOVTRK EQU 0 ;TRACK CONTAININ┆
0x0616e0…061700             47 20 4d 4f 56 43 50 4d 20 50 52 4f 47 52 41 4d 0d 0a 3b 0d 0a 3b 09 50 52 4f 47 52 41 4d 20 53   ┆G MOVCPM PROGRAM  ;  ; PROGRAM S┆
0x061700…061720             45 52 49 41 4c 49 5a 41 54 49 4f 4e 20 46 4f 52 20 43 50 2f 4d 20 44 49 53 4b 45 54 54 45 53 0d   ┆ERIALIZATION FOR CP/M DISKETTES ┆
0x061720…061740             0a 3b 0d 0a 3b 09 4e 4f 54 45 20 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a   ┆ ;  ; NOTE *********************┆
0x061740…061760             2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a   ┆********************************┆
0x061760…061780             2a 2a 2a 2a 2a 0d 0a 3b 09 54 48 49 53 20 50 52 4f 47 52 41 4d 20 43 4f 4e 54 41 49 4e 53 20 44   ┆*****  ; THIS PROGRAM CONTAINS D┆
0x061780…0617a0             49 47 49 54 41 4c 20 52 45 53 45 41 52 43 48 20 50 52 4f 50 52 49 45 54 41 52 59 20 49 4e 46 4f   ┆IGITAL RESEARCH PROPRIETARY INFO┆
0x0617a0…0617c0             52 4d 41 54 49 4f 4e 2c 0d 0a 3b 09 41 4e 44 20 4d 55 53 54 20 4e 4f 54 20 42 45 20 52 45 50 52   ┆RMATION,  ; AND MUST NOT BE REPR┆
0x0617c0…0617e0             4f 44 55 43 45 44 2c 20 43 4f 50 49 45 44 2c 20 4f 52 20 54 52 41 4e 53 43 52 49 42 45 44 20 49   ┆ODUCED, COPIED, OR TRANSCRIBED I┆
0x0617e0…061800             4e 20 41 4e 59 20 46 4f 52 4d 0d 0a 3b 09 57 48 41 54 53 4f 45 56 45 52 0d 0a 3b 09 2a 2a 2a 2a   ┆N ANY FORM  ; WHATSOEVER  ; ****┆
0x061800…061820 (26, 0, 1)  4c 48 4c 44 20 42 55 46 46 41 20 3b 47 45 54 20 44 4d 41 20 41 44 44 52 45 53 53 0d 0a 09 09 4d   ┆LHLD BUFFA ;GET DMA ADDRESS    M┆
0x061820…061840             56 49 20 44 2c 30 21 20 4c 44 41 20 53 50 54 21 20 4d 4f 56 20 45 2c 41 20 3b 20 44 3d 30 2c 20   ┆VI D,0! LDA SPT! MOV E,A ; D=0, ┆
0x061840…061860             45 3d 53 50 54 0d 0a 09 09 52 57 24 4c 4f 4f 50 3a 20 3b 52 45 41 44 2f 57 52 49 54 45 20 4c 4f   ┆E=SPT    RW$LOOP: ;READ/WRITE LO┆
0x061860…061880             4f 50 0d 0a 09 09 09 50 55 53 48 20 44 21 20 50 55 53 48 20 48 0d 0a 09 09 09 4d 4f 56 20 43 2c   ┆OP     PUSH D! PUSH H     MOV C,┆
0x061880…0618a0             44 21 20 43 41 4c 4c 20 53 45 43 20 3b 53 45 43 54 4f 52 20 53 45 54 0d 0a 09 09 09 50 4f 50 20   ┆D! CALL SEC ;SECTOR SET     POP ┆
0x0618a0…0618c0             42 21 20 50 55 53 48 20 42 20 3b 47 45 54 20 44 4d 41 20 41 44 44 52 45 53 53 0d 0a 09 09 09 43   ┆B! PUSH B ;GET DMA ADDRESS     C┆
0x0618c0…0618e0             41 4c 4c 20 44 4d 41 20 3b 44 4d 41 20 41 44 44 52 45 53 53 20 53 45 54 0d 0a 09 09 09 3b 50 45   ┆ALL DMA ;DMA ADDRESS SET     ;PE┆
0x0618e0…061900             52 46 4f 52 4d 20 49 4f 20 46 55 4e 43 54 49 4f 4e 0d 0a 09 09 09 4c 44 41 20 49 4f 46 21 20 4f   ┆RFORM IO FUNCTION     LDA IOF! O┆
0x061900…061920             52 41 20 41 20 3b 53 45 54 20 46 4c 41 47 53 2c 20 30 3d 52 45 41 44 2c 20 31 3d 57 52 49 54 45   ┆RA A ;SET FLAGS, 0=READ, 1=WRITE┆
0x061920…061940             0d 0a 09 09 09 4a 4e 5a 20 57 52 49 54 45 46 55 4e 43 0d 0a 09 09 09 09 3b 52 45 41 44 20 44 49   ┆     JNZ WRITEFUNC      ;READ DI┆
0x061940…061960             53 4b 0d 0a 09 09 09 09 43 41 4c 4c 20 44 52 45 41 44 0d 0a 09 09 09 09 4a 4d 50 20 52 57 43 4f   ┆SK      CALL DREAD      JMP RWCO┆
0x061960…061980             4d 50 4c 45 54 45 0d 0a 09 09 09 57 52 49 54 45 46 55 4e 43 3a 0d 0a 09 09 09 09 3b 57 52 49 54   ┆MPLETE     WRITEFUNC:      ;WRIT┆
0x061980…0619a0             45 20 44 49 53 4b 0d 0a 09 09 09 09 43 41 4c 4c 20 44 57 52 49 54 45 0d 0a 09 09 09 52 57 43 4f   ┆E DISK      CALL DWRITE     RWCO┆
0x0619a0…0619c0             4d 50 4c 45 54 45 3a 20 3b 46 55 4e 43 54 49 4f 4e 20 43 4f 4d 50 4c 45 54 45 0d 0a 09 09 09 09   ┆MPLETE: ;FUNCTION COMPLETE      ┆
0x0619c0…0619e0             50 4f 50 20 48 20 3b 52 45 43 41 4c 4c 20 44 4d 41 20 41 44 44 52 45 53 53 0d 0a 09 09 09 09 4c   ┆POP H ;RECALL DMA ADDRESS      L┆
0x0619e0…061a00             58 49 20 44 2c 38 30 48 21 20 44 41 44 20 44 20 3b 54 4f 20 4e 45 58 54 20 44 4d 41 0d 0a 09 09   ┆XI D,80H! DAD D ;TO NEXT DMA    ┆
0x061a00…061a20 (26, 0, 2)  58 49 20 48 2c 43 4f 4d 4c 45 4e 21 20 4d 56 49 20 41 2c 35 21 20 53 55 42 20 4d 20 3b 44 49 46   ┆XI H,COMLEN! MVI A,5! SUB M ;DIF┆
0x061a20…061a40             46 45 52 45 4e 43 45 20 49 4e 20 52 45 47 2d 41 0d 0a 09 4c 58 49 20 48 2c 41 53 45 52 49 41 4c   ┆FERENCE IN REG-A   LXI H,ASERIAL┆
0x061a40…061a60             21 20 4a 5a 20 50 41 44 31 20 3b 50 41 44 20 48 49 47 48 20 4f 52 44 45 52 20 50 4f 53 49 54 49   ┆! JZ PAD1 ;PAD HIGH ORDER POSITI┆
0x061a60…061a80             4f 4e 53 20 57 49 54 48 20 30 0d 0a 09 50 41 44 30 3a 09 4d 56 49 20 4d 2c 27 30 27 21 20 49 4e   ┆ONS WITH 0   PAD0: MVI M,'0'! IN┆
0x061a80…061aa0             58 20 48 21 20 44 43 52 20 41 21 20 4a 4e 5a 20 50 41 44 30 0d 0a 09 50 41 44 31 3a 09 4c 58 49   ┆X H! DCR A! JNZ PAD0   PAD1: LXI┆
0x061aa0…061ac0             20 44 2c 43 42 55 46 46 20 3b 41 44 44 52 45 53 53 49 4e 47 20 42 55 46 46 45 52 0d 0a 09 50 41   ┆ D,CBUFF ;ADDRESSING BUFFER   PA┆
0x061ac0…061ae0             44 32 3a 09 4c 44 41 58 20 44 21 20 4f 52 41 20 41 21 20 4a 5a 20 50 41 44 33 20 3b 4c 4f 4f 4b   ┆D2: LDAX D! ORA A! JZ PAD3 ;LOOK┆
0x061ae0…061b00             49 4e 47 20 46 4f 52 20 42 49 4e 41 52 59 20 30 0d 0a 09 09 4d 4f 56 20 4d 2c 41 21 20 49 4e 58   ┆ING FOR BINARY 0    MOV M,A! INX┆
0x061b00…061b20             20 48 21 20 49 4e 58 20 44 21 20 4a 4d 50 20 50 41 44 32 20 3b 46 4f 52 20 41 4e 4f 54 48 45 52   ┆ H! INX D! JMP PAD2 ;FOR ANOTHER┆
0x061b20…061b40             20 43 48 41 52 0d 0a 09 50 41 44 33 3a 09 3b 45 4e 44 20 4f 46 20 41 53 43 49 49 20 46 49 4c 4c   ┆ CHAR   PAD3: ;END OF ASCII FILL┆
0x061b40…061b60             20 28 4e 4f 57 20 52 49 47 48 54 20 41 44 4a 55 53 54 45 44 20 49 4e 20 41 53 45 52 49 41 4c 29   ┆ (NOW RIGHT ADJUSTED IN ASERIAL)┆
0x061b60…061b80             0d 0a 3b 0d 0a 52 44 44 53 4b 3a 09 3b 52 45 41 44 20 44 49 53 4b 20 41 4e 44 20 43 4f 50 59 0d   ┆  ;  RDDSK: ;READ DISK AND COPY ┆
0x061b80…061ba0             0a 09 43 41 4c 4c 20 49 4e 53 4d 53 47 21 20 43 41 4c 4c 20 43 49 20 3b 57 41 49 54 20 46 4f 52   ┆  CALL INSMSG! CALL CI ;WAIT FOR┆
0x061ba0…061bc0             20 52 45 53 50 4f 4e 53 45 0d 0a 3b 0d 0a 4e 45 58 54 44 49 53 4b 3a 0d 0a 09 4d 56 49 20 41 2c   ┆ RESPONSE  ;  NEXTDISK:   MVI A,┆
0x061bc0…061be0             30 21 20 53 54 41 20 53 54 52 41 43 4b 20 3b 4d 41 52 4b 20 41 53 20 4d 4f 56 43 50 4d 2e 43 4f   ┆0! STA STRACK ;MARK AS MOVCPM.CO┆
0x061be0…061c00             4d 20 20 53 45 52 49 41 4c 49 5a 45 44 0d 0a 09 43 41 4c 4c 20 43 55 52 4d 53 47 21 20 43 41 4c   ┆M  SERIALIZED   CALL CURMSG! CAL┆
0x061c00…061c20 (26, 0, 3)  21 20 4d 4f 56 20 41 2c 43 21 20 4f 52 41 20 42 0d 0a 09 09 4a 4e 5a 20 53 45 41 52 43 48 0d 0a   ┆! MOV A,C! ORA B    JNZ SEARCH  ┆
0x061c20…061c40             09 09 3b 4e 4f 54 20 46 4f 55 4e 44 0d 0a 09 09 43 41 4c 4c 20 42 41 44 44 53 4b 21 20 4a 4d 50   ┆  ;NOT FOUND    CALL BADDSK! JMP┆
0x061c40…061c60             20 52 44 44 53 4b 0d 0a 09 3b 0d 0a 09 51 54 52 4b 33 3a 09 3b 49 53 20 54 48 49 53 20 54 52 41   ┆ RDDSK   ;   QTRK3: ;IS THIS TRA┆
0x061c60…061c80             43 4b 20 4d 4f 56 54 52 4b 3f 20 49 46 20 53 4f 2c 20 4c 4f 4f 4b 20 46 4f 52 20 43 50 4d 2e 43   ┆CK MOVTRK? IF SO, LOOK FOR CPM.C┆
0x061c80…061ca0             4f 4d 0d 0a 09 09 43 50 49 20 4d 4f 56 54 52 4b 21 20 4a 4e 5a 20 52 44 54 52 4b 4e 0d 0a 09 09   ┆OM    CPI MOVTRK! JNZ RDTRKN    ┆
0x061ca0…061cc0             3b 4c 4f 4f 4b 20 46 4f 52 20 53 45 52 49 41 4c 20 4e 55 4d 42 45 52 0d 0a 09 09 4c 58 49 20 48   ┆;LOOK FOR SERIAL NUMBER    LXI H┆
0x061cc0…061ce0             2c 30 21 20 4c 58 49 20 42 2c 54 52 4c 45 4e 20 3b 54 52 41 43 4b 20 4c 45 4e 47 54 48 20 49 4e   ┆,0! LXI B,TRLEN ;TRACK LENGTH IN┆
0x061ce0…061d00             20 42 2c 43 0d 0a 09 09 51 54 52 30 3a 20 50 55 53 48 20 48 21 20 50 55 53 48 20 42 20 3b 53 41   ┆ B,C    QTR0: PUSH H! PUSH B ;SA┆
0x061d00…061d20             56 45 20 42 41 53 45 20 41 44 44 52 45 53 53 20 41 4e 44 20 4c 45 4e 47 54 48 0d 0a 09 09 09 4c   ┆VE BASE ADDRESS AND LENGTH     L┆
0x061d20…061d40             58 49 20 44 2c 43 4f 4d 50 41 52 45 21 20 4d 56 49 20 43 2c 43 4f 4d 50 4c 45 4e 0d 0a 09 09 09   ┆XI D,COMPARE! MVI C,COMPLEN     ┆
0x061d40…061d60             51 54 52 31 3a 20 3b 54 52 59 20 54 4f 20 4d 41 54 43 48 20 41 4e 4f 54 48 45 52 20 43 48 41 52   ┆QTR1: ;TRY TO MATCH ANOTHER CHAR┆
0x061d60…061d80             0d 0a 09 09 09 09 50 55 53 48 20 48 21 20 43 41 4c 4c 20 54 52 41 4e 53 4c 41 54 45 21 20 4c 44   ┆      PUSH H! CALL TRANSLATE! LD┆
0x061d80…061da0             41 58 20 44 0d 0a 09 09 09 09 43 4d 41 21 20 43 4d 50 20 4d 21 20 3b 46 4c 41 47 53 20 53 45 54   ┆AX D      CMA! CMP M! ;FLAGS SET┆
0x061da0…061dc0             20 49 46 20 45 51 55 41 4c 0d 0a 09 09 09 09 50 4f 50 20 48 21 20 4a 4e 5a 20 4e 4f 4d 41 54 33   ┆ IF EQUAL      POP H! JNZ NOMAT3┆
0x061dc0…061de0             0d 0a 09 09 09 09 49 4e 58 20 48 21 20 49 4e 58 20 44 21 0d 0a 09 09 09 09 50 55 53 48 20 48 21   ┆      INX H! INX D!      PUSH H!┆
0x061de0…061e00             20 43 41 4c 4c 20 54 52 41 4e 53 4c 41 54 45 21 20 4c 44 41 58 20 44 0d 0a 09 09 09 09 43 4d 41   ┆ CALL TRANSLATE! LDAX D      CMA┆
0x061e00…061e20 (26, 0, 4)  20 53 46 3a 09 44 57 09 30 0d 0a 20 30 34 30 30 20 30 30 30 30 20 20 20 20 20 20 44 46 3a 09 44   ┆ SF: DW 0   0400 0000      DF: D┆
0x061e20…061e40             57 09 30 0d 0a 20 30 34 30 32 20 30 30 20 20 20 20 20 20 20 20 53 44 52 49 56 3a 09 44 42 09 30   ┆W 0   0402 00        SDRIV: DB 0┆
0x061e40…061e60             0d 0a 20 30 34 30 33 20 30 30 20 20 20 20 20 20 20 20 44 44 52 49 56 3a 09 44 42 09 30 0d 0a 20   ┆   0403 00        DDRIV: DB 0   ┆
0x061e60…061e80             20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆                                ┆
0x061e80…061ea0             20 0d 0a 20 30 34 30 34 20 30 30 20 20 20 20 20 20 20 20 53 45 43 43 4e 54 3a 20 44 42 09 30 0d   ┆    0404 00        SECCNT: DB 0 ┆
0x061ea0…061ec0             0a 20 30 34 30 35 20 30 30 30 30 20 20 20 20 20 20 43 43 50 52 45 54 3a 20 44 57 09 30 0d 0a 20   ┆  0405 0000      CCPRET: DW 0   ┆
0x061ec0…061ee0             20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0d 0a 20 30 34 30 37 20 20 20 20 20 20 20 20 20 20   ┆                  0407          ┆
0x061ee0…061f00             20 44 46 43 42 3a 09 44 53 09 33 33 09 09 3b 20 44 45 53 54 49 4e 41 54 49 4f 4e 20 46 43 42 0d   ┆ DFCB: DS 33  ; DESTINATION FCB ┆
0x061f00…061f20             0a 20 30 34 32 37 20 3d 20 20 20 20 20 20 20 20 20 44 46 43 42 43 52 09 45 51 55 09 44 46 43 42   ┆  0427 =         DFCBCR EQU DFCB┆
0x061f20…061f40             2b 33 32 09 09 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0d 0a 20 30 34 32 38 20   ┆+32  ;                     0428 ┆
0x061f40…061f60             20 20 20 20 20 20 20 20 20 20 09 44 53 09 33 31 09 09 3b 0d 0a 20 30 34 34 37 20 20 20 20 20 20   ┆           DS 31  ;   0447      ┆
0x061f60…061f80             20 20 20 20 20 53 54 41 43 4b 3a 09 44 53 09 31 09 09 3b 20 4c 4f 43 41 4c 20 53 54 41 43 4b 0d   ┆     STACK: DS 1  ; LOCAL STACK ┆
0x061f80…061fa0             0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0d 0a 20 30 34 34 38 20 30 30 30 30 20 20 20   ┆                    0448 0000   ┆
0x061fa0…061fc0             20 20 20 42 55 46 3a 09 44 57 09 30 09 09 3b 20 52 45 41 44 2f 57 52 49 54 45 20 42 55 46 46 45   ┆   BUF: DW 0  ; READ/WRITE BUFFE┆
0x061fc0…061fe0             52 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0d 0a 20 30 34 34 41 20 20 20 20 20 20   ┆R                     044A      ┆
0x061fe0…062000             20 20 20 20 20 09 45 4e 44 09 30 31 30 30 48 0d 0a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a   ┆      END 0100H                 ┆
0x062000…062020 (26, 0, 5)  09 09 50 4f 50 20 44 20 3b 52 45 43 41 4c 4c 20 53 45 43 54 4f 52 20 41 4e 44 20 43 4f 55 4e 54   ┆  POP D ;RECALL SECTOR AND COUNT┆
0x062020…062040             0d 0a 09 09 09 09 49 4e 52 20 44 20 3b 4e 45 58 54 20 53 45 43 54 4f 52 0d 0a 09 09 09 3b 20 43   ┆      INR D ;NEXT SECTOR     ; C┆
0x062040…062060             48 45 43 4b 20 45 52 52 4f 52 20 43 4f 4e 44 49 54 49 4f 4e 53 0d 0a 09 09 09 4f 52 41 20 41 21   ┆HECK ERROR CONDITIONS     ORA A!┆
0x062060…062080             20 52 4e 5a 20 3b 52 45 54 55 52 4e 20 57 49 54 48 20 4e 4f 4e 20 5a 45 52 4f 20 46 4c 41 47 20   ┆ RNZ ;RETURN WITH NON ZERO FLAG ┆
0x062080…0620a0             53 45 54 0d 0a 09 09 09 44 43 52 20 45 20 3b 43 4f 55 4e 54 20 3d 20 43 4f 55 4e 54 20 2d 20 31   ┆SET     DCR E ;COUNT = COUNT - 1┆
0x0620a0…0620c0             0d 0a 09 09 09 4a 4e 5a 20 52 57 24 4c 4f 4f 50 20 3b 46 4f 52 20 41 4e 4f 54 48 45 52 20 53 45   ┆     JNZ RW$LOOP ;FOR ANOTHER SE┆
0x0620c0…0620e0             43 54 4f 52 0d 0a 09 09 09 52 45 54 20 3b 57 49 54 48 20 5a 45 52 4f 20 46 4c 41 47 20 53 45 54   ┆CTOR     RET ;WITH ZERO FLAG SET┆
0x0620e0…062100             20 46 4f 52 20 49 4f 20 43 4f 4d 50 4c 45 54 45 0d 0a 3b 0d 0a 3b 0d 0a 3b 09 55 54 49 4c 49 54   ┆ FOR IO COMPLETE  ;  ;  ; UTILIT┆
0x062100…062120             59 20 53 55 42 52 4f 55 54 49 4e 45 53 20 46 4f 52 20 44 49 52 45 43 54 20 44 49 53 4b 20 49 4f   ┆Y SUBROUTINES FOR DIRECT DISK IO┆
0x062120…062140             0d 0a 57 42 4f 4f 54 09 45 51 55 09 31 09 3b 57 41 52 4d 20 42 4f 4f 54 20 41 44 44 52 45 53 53   ┆  WBOOT EQU 1 ;WARM BOOT ADDRESS┆
0x062140…062160             0d 0a 53 45 4c 44 53 4b 09 45 51 55 09 32 34 09 3b 53 45 4c 45 43 54 20 44 49 53 4b 0d 0a 53 45   ┆  SELDSK EQU 24 ;SELECT DISK  SE┆
0x062160…062180             54 54 52 4b 09 45 51 55 09 32 37 09 3b 53 45 54 20 54 52 41 43 4b 0d 0a 53 45 54 53 45 43 09 45   ┆TTRK EQU 27 ;SET TRACK  SETSEC E┆
0x062180…0621a0             51 55 09 33 30 09 3b 53 45 54 20 53 45 43 54 4f 52 0d 0a 53 45 54 44 4d 41 09 45 51 55 09 33 33   ┆QU 30 ;SET SECTOR  SETDMA EQU 33┆
0x0621a0…0621c0             09 3b 53 45 54 20 44 4d 41 20 41 44 44 52 45 53 53 0d 0a 52 45 41 44 46 09 45 51 55 09 33 36 09   ┆ ;SET DMA ADDRESS  READF EQU 36 ┆
0x0621c0…0621e0             3b 52 45 41 44 20 44 49 53 4b 0d 0a 57 52 49 54 46 09 45 51 55 09 33 39 09 3b 57 52 49 54 45 20   ┆;READ DISK  WRITF EQU 39 ;WRITE ┆
0x0621e0…062200             44 49 53 4b 0d 0a 3b 0d 0a 53 45 4c 3a 09 3b 53 45 4c 45 43 54 20 44 52 49 56 45 20 47 49 56 45   ┆DISK  ;  SEL: ;SELECT DRIVE GIVE┆
0x062200…062220 (26, 0, 6)  4c 20 41 53 45 52 4d 53 47 21 20 43 41 4c 4c 20 4e 45 57 4d 53 47 21 20 43 41 4c 4c 20 43 49 0d   ┆L ASERMSG! CALL NEWMSG! CALL CI ┆
0x062220…062240             0a 09 3b 4e 45 57 20 44 49 53 4b 20 49 53 20 52 45 41 44 59 2c 20 54 52 59 20 54 48 45 20 43 4f   ┆  ;NEW DISK IS READY, TRY THE CO┆
0x062240…062260             50 59 20 4f 50 45 52 41 54 49 4f 4e 0d 0a 09 4c 58 49 20 48 2c 54 52 41 43 4b 21 20 4d 56 49 20   ┆PY OPERATION   LXI H,TRACK! MVI ┆
0x062260…062280             4d 2c 31 20 3b 43 4c 45 41 52 20 54 48 45 20 54 52 41 43 4b 20 4e 55 4d 42 45 52 0d 0a 09 4c 58   ┆M,1 ;CLEAR THE TRACK NUMBER   LX┆
0x062280…0622a0             49 20 48 2c 54 52 43 4f 55 4e 54 21 20 4d 56 49 20 4d 2c 27 30 27 21 20 49 4e 58 20 48 21 20 4d   ┆I H,TRCOUNT! MVI M,'0'! INX H! M┆
0x0622a0…0622c0             56 49 20 4d 2c 27 30 27 0d 0a 3b 0d 0a 52 44 54 52 4b 3a 09 3b 52 45 41 44 20 54 48 45 20 4e 45   ┆VI M,'0'  ;  RDTRK: ;READ THE NE┆
0x0622c0…0622e0             58 54 20 53 4f 55 52 43 45 20 54 52 41 43 4b 2c 20 43 4f 4d 50 41 52 45 20 57 49 54 48 20 30 45   ┆XT SOURCE TRACK, COMPARE WITH 0E┆
0x0622e0…062300             35 48 20 46 4f 52 20 45 4e 44 0d 0a 09 4c 58 49 20 48 2c 49 42 55 46 46 21 20 53 48 4c 44 20 42   ┆5H FOR END   LXI H,IBUFF! SHLD B┆
0x062300…062320             55 46 46 41 21 20 43 41 4c 4c 20 52 45 41 44 54 52 4b 0d 0a 09 09 4a 5a 20 52 45 41 44 4f 4b 21   ┆UFFA! CALL READTRK    JZ READOK!┆
0x062320…062340             20 43 41 4c 4c 20 52 45 41 44 30 4d 53 47 21 20 4a 4d 50 20 52 44 44 53 4b 0d 0a 09 52 45 41 44   ┆ CALL READ0MSG! JMP RDDSK   READ┆
0x062340…062360             4f 4b 3a 0d 0a 09 3b 54 52 41 43 4b 20 49 53 20 49 4e 20 4d 45 4d 4f 52 59 2c 20 54 52 41 43 4b   ┆OK:   ;TRACK IS IN MEMORY, TRACK┆
0x062360…062380             20 31 3f 0d 0a 09 4c 44 41 20 54 52 41 43 4b 21 20 43 50 49 20 31 21 20 4a 4e 5a 20 51 54 52 4b   ┆ 1?   LDA TRACK! CPI 1! JNZ QTRK┆
0x062380…0623a0             33 0d 0a 09 09 3b 54 52 41 43 4b 20 30 2c 20 4c 4f 4f 4b 20 46 4f 52 20 53 45 52 49 41 4c 20 4e   ┆3    ;TRACK 0, LOOK FOR SERIAL N┆
0x0623a0…0623c0             55 4d 42 45 52 0d 0a 09 09 4c 58 49 20 48 2c 43 43 50 56 21 20 4c 58 49 20 42 2c 53 4c 45 4e 0d   ┆UMBER    LXI H,CCPV! LXI B,SLEN ┆
0x0623c0…0623e0             0a 09 09 53 45 41 52 43 48 3a 09 50 55 53 48 20 48 21 20 50 55 53 48 20 42 21 20 4c 58 49 20 44   ┆   SEARCH: PUSH H! PUSH B! LXI D┆
0x0623e0…062400             2c 43 4f 4d 50 41 52 45 21 20 4d 56 49 20 43 2c 43 4f 4d 50 4c 45 4e 0d 0a 09 09 43 4f 4d 50 30   ┆,COMPARE! MVI C,COMPLEN    COMP0┆
0x062400…062420 (26, 0, 7)  21 20 43 4d 50 20 4d 21 20 50 4f 50 20 48 21 20 4a 4e 5a 20 4e 4f 4d 41 54 33 0d 0a 09 09 09 09   ┆! CMP M! POP H! JNZ NOMAT3      ┆
0x062420…062440             3b 43 4f 4e 54 49 4e 55 45 20 54 4f 20 4d 41 54 43 48 0d 0a 09 09 09 09 49 4e 58 20 48 21 20 49   ┆;CONTINUE TO MATCH      INX H! I┆
0x062440…062460             4e 58 20 44 21 20 44 43 52 20 43 21 20 4a 4e 5a 20 51 54 52 31 0d 0a 09 09 09 3b 43 4f 4d 50 4c   ┆NX D! DCR C! JNZ QTR1     ;COMPL┆
0x062460…062480             45 54 45 20 4d 41 54 43 48 2c 20 46 49 4c 4c 20 53 45 52 49 41 4c 20 4e 55 4d 42 45 52 53 0d 0a   ┆ETE MATCH, FILL SERIAL NUMBERS  ┆
0x062480…0624a0             09 09 09 50 4f 50 20 42 21 20 50 4f 50 20 44 20 3b 54 4f 20 43 4c 45 41 52 20 54 48 45 20 53 54   ┆   POP B! POP D ;TO CLEAR THE ST┆
0x0624a0…0624c0             41 43 4b 0d 0a 09 09 09 50 55 53 48 20 48 20 3b 53 41 56 45 20 53 4f 55 52 43 45 20 41 44 44 52   ┆ACK     PUSH H ;SAVE SOURCE ADDR┆
0x0624c0…0624e0             45 53 53 0d 0a 09 09 09 43 41 4c 4c 20 53 54 53 45 52 49 41 4c 20 3b 53 45 52 49 41 4c 20 4e 55   ┆ESS     CALL STSERIAL ;SERIAL NU┆
0x0624e0…062500             4d 42 45 52 20 53 54 4f 52 45 44 0d 0a 09 09 09 50 4f 50 20 48 20 3b 52 45 43 41 4c 4c 20 53 4f   ┆MBER STORED     POP H ;RECALL SO┆
0x062500…062520             55 52 43 45 20 41 44 44 52 45 53 53 0d 0a 09 09 09 58 43 48 47 21 20 4c 48 4c 44 20 53 44 49 46   ┆URCE ADDRESS     XCHG! LHLD SDIF┆
0x062520…062540             46 21 20 44 41 44 20 44 20 3b 48 2c 4c 20 53 48 4f 55 4c 44 20 41 44 44 52 45 53 53 20 53 45 52   ┆F! DAD D ;H,L SHOULD ADDRESS SER┆
0x062540…062560             23 32 0d 0a 09 09 09 4d 4f 56 20 41 2c 4c 21 20 4f 52 41 20 41 21 20 4a 4e 5a 20 51 54 52 32 20   ┆#2     MOV A,L! ORA A! JNZ QTR2 ┆
0x062560…062580             3b 4d 55 53 54 20 42 45 20 4c 4f 57 20 5a 45 52 4f 0d 0a 09 09 09 3b 53 45 54 55 50 20 53 54 52   ┆;MUST BE LOW ZERO     ;SETUP STR┆
0x062580…0625a0             41 43 4b 20 54 4f 20 53 45 52 49 41 4c 49 5a 45 20 57 48 45 4e 20 50 52 4f 50 45 52 20 54 52 4b   ┆ACK TO SERIALIZE WHEN PROPER TRK┆
0x0625a0…0625c0             20 46 4f 55 4e 44 0d 0a 09 09 09 58 43 48 47 21 20 4c 58 49 20 48 2c 53 54 52 41 43 4b 20 3b 44   ┆ FOUND     XCHG! LXI H,STRACK ;D┆
0x0625c0…0625e0             49 46 46 45 52 45 4e 43 45 20 49 4e 20 44 2c 45 0d 0a 09 09 09 4d 56 49 20 4d 2c 30 20 3b 43 4f   ┆IFFERENCE IN D,E     MVI M,0 ;CO┆
0x0625e0…062600             55 4e 54 20 53 54 52 41 43 4b 20 55 50 20 46 4f 52 20 45 41 43 48 20 54 52 41 43 4b 20 53 49 5a   ┆UNT STRACK UP FOR EACH TRACK SIZ┆
0x062600…062620 (26, 0, 8)  61 73 20 6e 6f 74 20 72 65 61 64 79 29 0d 0a 3b 09 36 09 2d 20 77 72 69 74 65 20 65 72 72 6f 72   ┆as not ready)  ; 6 - write error┆
0x062620…062640             20 28 68 61 72 64 77 61 72 65 20 6d 61 6c 66 75 6e 63 74 69 6f 6e 29 0d 0a 3b 09 37 09 2d 20 6e   ┆ (hardware malfunction)  ; 7 - n┆
0x062640…062660             6f 74 20 72 65 61 64 79 0d 0a 3b 09 28 61 63 63 75 6d 75 6c 61 74 6f 72 20 62 69 74 73 20 61 72   ┆ot ready  ; (accumulator bits ar┆
0x062660…062680             65 20 6e 75 6d 62 65 72 65 64 20 37 20 36 20 35 20 34 20 33 20 32 20 31 20 30 29 0d 0a 3b 0d 0a   ┆e numbered 7 6 5 4 3 2 1 0)  ;  ┆
0x062680…0626a0             3b 09 69 74 20 6d 61 79 20 62 65 20 75 73 65 66 75 6c 20 74 6f 20 66 69 6c 74 65 72 20 6f 75 74   ┆; it may be useful to filter out┆
0x0626a0…0626c0             20 74 68 65 20 76 61 72 69 6f 75 73 20 63 6f 6e 64 69 74 69 6f 6e 73 2c 0d 0a 3b 09 62 75 74 20   ┆ the various conditions,  ; but ┆
0x0626c0…0626e0             77 65 20 77 69 6c 6c 20 67 65 74 20 61 20 70 65 72 6d 61 6e 65 6e 74 20 65 72 72 6f 72 20 6d 65   ┆we will get a permanent error me┆
0x0626e0…062700             73 73 61 67 65 20 69 66 20 69 74 20 69 73 20 6e 6f 74 0d 0a 3b 09 72 65 63 6f 76 65 72 61 62 6c   ┆ssage if it is not  ; recoverabl┆
0x062700…062720             65 2e 20 20 69 6e 20 61 6e 79 20 63 61 73 65 2c 20 74 68 65 20 6e 6f 74 20 72 65 61 64 79 20 63   ┆e.  in any case, the not ready c┆
0x062720…062740             6f 6e 64 69 74 69 6f 6e 20 69 73 0d 0a 3b 09 74 72 65 61 74 65 64 20 61 73 20 61 20 73 65 70 61   ┆ondition is  ; treated as a sepa┆
0x062740…062760             72 61 74 65 20 63 6f 6e 64 69 74 69 6f 6e 20 66 6f 72 20 6c 61 74 65 72 20 69 6d 70 72 6f 76 65   ┆rate condition for later improve┆
0x062760…062780             6d 65 6e 74 0d 0a 74 72 79 63 6f 75 6e 74 3a 0d 0a 3b 09 72 65 67 69 73 74 65 72 20 63 20 63 6f   ┆ment  trycount:  ; register c co┆
0x062780…0627a0             6e 74 61 69 6e 73 20 72 65 74 72 79 20 63 6f 75 6e 74 2c 20 64 65 63 72 65 6d 65 6e 74 20 27 74   ┆ntains retry count, decrement 't┆
0x0627a0…0627c0             69 6c 20 7a 65 72 6f 0d 0a 09 64 63 72 09 63 0d 0a 09 6a 6e 7a 09 72 65 77 61 69 74 09 3b 66 6f   ┆il zero   dcr c   jnz rewait ;fo┆
0x0627c0…0627e0             72 20 61 6e 6f 74 68 65 72 20 74 72 79 0d 0a 3b 0d 0a 3b 09 63 61 6e 6e 6f 74 20 72 65 63 6f 76   ┆r another try  ;  ; cannot recov┆
0x0627e0…062800             65 72 20 66 72 6f 6d 20 65 72 72 6f 72 0d 0a 09 6d 76 69 09 61 2c 31 09 3b 65 72 72 6f 72 20 63   ┆er from error   mvi a,1 ;error c┆
0x062800…062820 (26, 0, 9)  4e 20 42 59 20 52 45 47 49 53 54 45 52 20 41 0d 0a 09 4d 4f 56 20 43 2c 41 21 20 4c 48 4c 44 20   ┆N BY REGISTER A   MOV C,A! LHLD ┆
0x062820…062840             57 42 4f 4f 54 21 20 4c 58 49 20 44 2c 53 45 4c 44 53 4b 21 20 44 41 44 20 44 21 20 50 43 48 4c   ┆WBOOT! LXI D,SELDSK! DAD D! PCHL┆
0x062840…062860             0d 0a 3b 0d 0a 54 52 4b 3a 09 3b 53 45 54 20 54 52 41 43 4b 20 47 49 56 45 4e 20 42 59 20 43 0d   ┆  ;  TRK: ;SET TRACK GIVEN BY C ┆
0x062860…062880             0a 09 4c 48 4c 44 20 57 42 4f 4f 54 21 20 4c 58 49 20 44 2c 53 45 54 54 52 4b 21 20 44 41 44 20   ┆  LHLD WBOOT! LXI D,SETTRK! DAD ┆
0x062880…0628a0             44 21 20 50 43 48 4c 0d 0a 3b 0d 0a 53 45 43 3a 09 3b 53 45 54 20 53 45 43 54 4f 52 20 47 49 56   ┆D! PCHL  ;  SEC: ;SET SECTOR GIV┆
0x0628a0…0628c0             45 4e 20 42 59 20 43 0d 0a 09 4c 48 4c 44 20 57 42 4f 4f 54 21 20 4c 58 49 20 44 2c 53 45 54 53   ┆EN BY C   LHLD WBOOT! LXI D,SETS┆
0x0628c0…0628e0             45 43 21 20 44 41 44 20 44 21 20 50 43 48 4c 0d 0a 3b 0d 0a 44 4d 41 3a 09 3b 53 45 54 20 44 4d   ┆EC! DAD D! PCHL  ;  DMA: ;SET DM┆
0x0628e0…062900             41 20 41 44 44 52 45 53 53 20 54 4f 20 56 41 4c 55 45 20 4f 46 20 42 2c 43 0d 0a 09 4c 48 4c 44   ┆A ADDRESS TO VALUE OF B,C   LHLD┆
0x062900…062920             20 57 42 4f 4f 54 21 20 4c 58 49 20 44 2c 53 45 54 44 4d 41 21 20 44 41 44 20 44 21 20 50 43 48   ┆ WBOOT! LXI D,SETDMA! DAD D! PCH┆
0x062920…062940             4c 0d 0a 3b 0d 0a 44 52 45 41 44 3a 09 3b 50 45 52 46 4f 52 4d 20 52 45 41 44 20 4f 50 45 52 41   ┆L  ;  DREAD: ;PERFORM READ OPERA┆
0x062940…062960             54 49 4f 4e 0d 0a 09 4c 48 4c 44 20 57 42 4f 4f 54 21 20 4c 58 49 20 44 2c 52 45 41 44 46 21 20   ┆TION   LHLD WBOOT! LXI D,READF! ┆
0x062960…062980             44 41 44 20 44 21 20 50 43 48 4c 0d 0a 3b 0d 0a 44 57 52 49 54 45 3a 09 3b 50 45 52 46 4f 52 4d   ┆DAD D! PCHL  ;  DWRITE: ;PERFORM┆
0x062980…0629a0             20 57 52 49 54 45 20 4f 50 45 52 41 54 49 4f 4e 0d 0a 09 4c 48 4c 44 20 57 42 4f 4f 54 21 20 4c   ┆ WRITE OPERATION   LHLD WBOOT! L┆
0x0629a0…0629c0             58 49 20 44 2c 57 52 49 54 46 21 20 44 41 44 20 44 21 20 50 43 48 4c 0d 0a 3b 0d 0a 53 54 41 52   ┆XI D,WRITF! DAD D! PCHL  ;  STAR┆
0x0629c0…0629e0             54 3a 0d 0a 09 4c 58 49 09 53 50 2c 53 54 41 43 4b 0d 0a 09 4d 56 49 09 43 2c 31 32 30 0d 0a 09   ┆T:   LXI SP,STACK   MVI C,120   ┆
0x0629e0…062a00             49 4e 09 53 57 31 0d 0a 09 41 4e 49 09 30 38 30 48 0d 0a 09 4a 5a 09 53 45 54 53 50 54 0d 0a 09   ┆IN SW1   ANI 080H   JZ SETSPT   ┆
0x062a00…062a20 (26, 0, 10) 3a 09 4c 44 41 58 20 44 21 20 43 4d 41 21 20 43 4d 50 20 4d 21 20 4a 4e 5a 20 4e 4f 4d 41 54 43   ┆: LDAX D! CMA! CMP M! JNZ NOMATC┆
0x062a20…062a40             48 0d 0a 09 09 09 49 4e 58 20 48 21 20 49 4e 58 20 44 21 20 4c 44 41 58 20 44 21 20 43 4d 41 21   ┆H     INX H! INX D! LDAX D! CMA!┆
0x062a40…062a60             20 43 4d 50 20 4d 21 20 4a 4e 5a 20 4e 4f 4d 41 54 43 48 0d 0a 09 09 09 49 4e 58 20 48 21 20 49   ┆ CMP M! JNZ NOMATCH     INX H! I┆
0x062a60…062a80             4e 58 20 44 21 20 44 43 52 20 43 21 20 4a 4e 5a 20 43 4f 4d 50 30 0d 0a 09 09 3b 4d 41 54 43 48   ┆NX D! DCR C! JNZ COMP0    ;MATCH┆
0x062a80…062aa0             20 43 4f 4d 50 4c 45 54 45 2c 20 57 45 20 48 41 56 45 20 46 4f 55 4e 44 20 54 48 45 20 53 45 52   ┆ COMPLETE, WE HAVE FOUND THE SER┆
0x062aa0…062ac0             49 41 4c 20 4e 55 4d 42 45 52 0d 0a 09 09 50 4f 50 20 42 21 20 50 4f 50 20 44 20 3b 43 4c 45 41   ┆IAL NUMBER    POP B! POP D ;CLEA┆
0x062ac0…062ae0             52 53 20 53 54 41 43 4b 0d 0a 09 09 50 55 53 48 20 48 20 3b 53 41 56 45 20 41 20 43 4f 50 59 20   ┆RS STACK    PUSH H ;SAVE A COPY ┆
0x062ae0…062b00             4f 46 20 54 48 45 20 53 54 41 52 54 20 41 44 44 52 45 53 53 20 4f 46 20 54 48 45 20 53 45 52 20   ┆OF THE START ADDRESS OF THE SER ┆
0x062b00…062b20             23 0d 0a 09 09 78 63 68 67 20 21 20 6c 68 6c 64 20 4f 52 49 47 49 4e 21 20 78 63 68 67 21 20 4d   ┆#    xchg ! lhld ORIGIN! xchg! M┆
0x062b20…062b40             4f 56 20 4d 2c 65 20 3b 20 6c 6f 77 20 62 79 74 65 28 6f 72 69 67 69 6e 29 0d 0a 09 09 49 4e 58   ┆OV M,e ; low byte(origin)    INX┆
0x062b40…062b60             20 48 21 20 4d 56 49 20 4d 2c 56 45 52 53 49 4f 4e 20 3b 56 45 52 53 49 4f 4e 20 4e 55 4d 42 45   ┆ H! MVI M,VERSION ;VERSION NUMBE┆
0x062b60…062b80             52 20 49 4e 20 42 49 4e 41 52 59 0d 0a 09 09 69 6e 78 20 68 21 20 6d 6f 76 20 6d 2c 64 20 3b 20   ┆R IN BINARY    inx h! mov m,d ; ┆
0x062b80…062ba0             68 69 67 68 20 62 79 74 65 28 6f 72 69 67 69 6e 29 0d 0a 09 09 09 49 4e 58 20 48 21 20 4d 76 69   ┆high byte(origin)     INX H! Mvi┆
0x062ba0…062bc0             20 4d 2c 30 20 3b 20 6e 65 78 74 20 62 79 74 65 20 7a 65 72 6f 65 64 20 28 6e 6f 74 20 75 73 65   ┆ M,0 ; next byte zeroed (not use┆
0x062bc0…062be0             64 20 79 65 74 29 0d 0a 09 09 09 49 4e 58 20 48 20 3b 52 45 41 44 59 20 54 4f 20 41 43 43 45 50   ┆d yet)     INX H ;READY TO ACCEP┆
0x062be0…062c00             54 20 54 48 45 20 53 45 52 49 41 4c 20 4e 55 4d 42 45 52 0d 0a 09 09 58 43 48 47 21 20 4c 48 4c   ┆T THE SERIAL NUMBER    XCHG! LHL┆
0x062c00…062c20 (26, 0, 11) 45 0d 0a 09 09 09 44 4c 4f 4f 50 3a 20 49 4e 52 20 4d 20 3b 53 54 52 41 43 4b 20 3d 20 53 54 52   ┆E     DLOOP: INR M ;STRACK = STR┆
0x062c20…062c40             41 43 4b 20 2b 20 31 0d 0a 09 09 09 09 4d 4f 56 20 41 2c 45 21 20 53 55 49 20 28 32 36 2a 31 32   ┆ACK + 1      MOV A,E! SUI (26*12┆
0x062c40…062c60             38 29 20 41 4e 44 20 30 46 46 48 0d 0a 09 09 09 09 4d 4f 56 20 42 2c 41 20 3b 53 41 56 45 20 4c   ┆8) AND 0FFH      MOV B,A ;SAVE L┆
0x062c60…062c80             4f 57 20 4f 52 44 45 52 20 44 49 46 46 45 52 45 4e 43 45 0d 0a 09 09 09 09 4d 4f 56 20 41 2c 44   ┆OW ORDER DIFFERENCE      MOV A,D┆
0x062c80…062ca0             21 20 53 42 49 20 28 32 36 2a 31 32 38 29 20 53 48 52 20 38 0d 0a 09 09 09 09 4a 43 20 45 44 4c   ┆! SBI (26*128) SHR 8      JC EDL┆
0x062ca0…062cc0             4f 4f 50 20 3b 43 41 52 52 59 20 49 46 20 54 4f 4f 20 4d 41 4e 59 20 53 55 42 54 52 41 43 54 53   ┆OOP ;CARRY IF TOO MANY SUBTRACTS┆
0x062cc0…062ce0             0d 0a 09 09 09 09 4d 4f 56 20 44 2c 41 21 20 4d 4f 56 20 45 2c 42 20 3b 52 45 53 45 54 20 54 4f   ┆      MOV D,A! MOV E,B ;RESET TO┆
0x062ce0…062d00             20 4c 4f 57 45 52 20 56 41 4c 55 45 0d 0a 09 09 09 09 4a 4d 50 20 44 4c 4f 4f 50 0d 0a 09 09 09   ┆ LOWER VALUE      JMP DLOOP     ┆
0x062d00…062d20             45 44 4c 4f 4f 50 3a 09 3b 44 2c 45 20 43 4f 4e 54 41 49 4e 20 4f 46 46 53 45 54 20 49 4e 54 4f   ┆EDLOOP: ;D,E CONTAIN OFFSET INTO┆
0x062d20…062d40             20 54 52 41 43 4b 20 53 54 52 41 43 4b 0d 0a 09 09 09 09 58 43 48 47 21 20 53 48 4c 44 20 53 44   ┆ TRACK STRACK      XCHG! SHLD SD┆
0x062d40…062d60             49 46 46 0d 0a 09 09 09 4a 4d 50 20 52 44 54 52 4b 4e 0d 0a 09 09 09 4e 4f 4d 41 54 33 3a 09 3b   ┆IFF     JMP RDTRKN     NOMAT3: ;┆
0x062d60…062d80             4e 4f 20 4d 41 54 43 48 20 4f 4e 20 43 55 52 52 45 4e 54 20 53 54 52 49 4e 47 0d 0a 09 09 09 50   ┆NO MATCH ON CURRENT STRING     P┆
0x062d80…062da0             4f 50 20 42 21 20 50 4f 50 20 48 21 20 49 4e 58 20 48 21 20 44 43 58 20 42 0d 0a 09 09 09 4d 4f   ┆OP B! POP H! INX H! DCX B     MO┆
0x062da0…062dc0             56 20 41 2c 42 21 20 4f 52 41 20 43 21 20 4a 4e 5a 20 51 54 52 30 20 3b 46 4f 52 20 41 4e 4f 54   ┆V A,B! ORA C! JNZ QTR0 ;FOR ANOT┆
0x062dc0…062de0             48 45 52 20 53 43 41 4e 0d 0a 09 09 09 3b 4e 4f 54 20 46 4f 55 4e 44 0d 0a 09 09 51 54 52 32 3a   ┆HER SCAN     ;NOT FOUND    QTR2:┆
0x062de0…062e00             09 43 41 4c 4c 20 42 41 44 43 4f 4d 21 20 4a 4d 50 20 52 44 44 53 4b 0d 0a 09 09 3b 0d 0a 09 52   ┆ CALL BADCOM! JMP RDDSK    ;   R┆
0x062e00…062e20 (26, 0, 12) 6f 64 65 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 3b 09 69 6e 74 79 70 65 2c 20 69 6e 62 79 74 65 2c 20   ┆ode   ret  ;  ; intype, inbyte, ┆
0x062e20…062e40             69 6e 73 74 61 74 20 72 65 61 64 20 64 72 69 76 65 20 62 61 6e 6b 20 30 30 20 6f 72 20 31 30 0d   ┆instat read drive bank 00 or 10 ┆
0x062e40…062e60             0a 69 6e 74 79 70 65 3a 09 6c 64 61 09 64 62 61 6e 6b 0d 0a 09 6f 72 61 09 61 0d 0a 09 6a 6e 7a   ┆ intype: lda dbank   ora a   jnz┆
0x062e60…062e80             09 69 6e 74 79 70 31 09 3b 73 6b 69 70 20 74 6f 20 62 61 6e 6b 20 31 30 0d 0a 09 69 6e 09 72 74   ┆ intyp1 ;skip to bank 10   in rt┆
0x062e80…062ea0             79 70 65 0d 0a 09 72 65 74 0d 0a 69 6e 74 79 70 31 3a 09 69 6e 09 72 74 79 70 65 2b 31 30 68 09   ┆ype   ret  intyp1: in rtype+10h ┆
0x062ea0…062ec0             3b 37 38 20 66 6f 72 20 30 2c 31 20 20 38 38 20 66 6f 72 20 32 2c 33 0d 0a 09 72 65 74 0d 0a 3b   ┆;78 for 0,1  88 for 2,3   ret  ;┆
0x062ec0…062ee0             0d 0a 69 6e 62 79 74 65 3a 09 6c 64 61 09 64 62 61 6e 6b 0d 0a 09 6f 72 61 09 61 0d 0a 09 6a 6e   ┆  inbyte: lda dbank   ora a   jn┆
0x062ee0…062f00             7a 09 69 6e 62 79 74 31 0d 0a 09 69 6e 09 72 62 79 74 65 0d 0a 09 72 65 74 0d 0a 69 6e 62 79 74   ┆z inbyt1   in rbyte   ret  inbyt┆
0x062f00…062f20             31 3a 09 69 6e 09 72 62 79 74 65 2b 31 30 68 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 69 6e 73 74 61 74   ┆1: in rbyte+10h   ret  ;  instat┆
0x062f20…062f40             3a 09 6c 64 61 09 64 62 61 6e 6b 0d 0a 09 6f 72 61 09 61 0d 0a 09 6a 6e 7a 09 69 6e 73 74 61 31   ┆: lda dbank   ora a   jnz insta1┆
0x062f40…062f60             0d 0a 09 69 6e 09 64 73 74 61 74 0d 0a 09 72 65 74 0d 0a 69 6e 73 74 61 31 3a 09 69 6e 09 64 73   ┆   in dstat   ret  insta1: in ds┆
0x062f60…062f80             74 61 74 2b 31 30 68 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 3b 0d 0a 3b 0d 0a 3b 09 64 61 74 61 20 61   ┆tat+10h   ret  ;  ;  ;  ; data a┆
0x062f80…062fa0             72 65 61 73 20 28 6d 75 73 74 20 62 65 20 69 6e 20 72 61 6d 29 0d 0a 64 62 61 6e 6b 3a 09 64 62   ┆reas (must be in ram)  dbank: db┆
0x062fa0…062fc0             09 30 09 3b 64 69 73 6b 20 62 61 6e 6b 20 30 30 20 69 66 20 64 72 69 76 65 20 30 2c 31 0d 0a 09   ┆ 0 ;disk bank 00 if drive 0,1   ┆
0x062fc0…062fe0             09 09 3b 09 20 20 20 31 30 20 69 66 20 64 72 69 76 65 20 32 2c 33 0d 0a 69 6f 70 62 3a 09 3b 69   ┆  ;    10 if drive 2,3  iopb: ;i┆
0x062fe0…063000             6f 20 70 61 72 61 6d 65 74 65 72 20 62 6c 6f 63 6b 0d 0a 09 64 62 09 38 30 68 09 3b 6e 6f 72 6d   ┆o parameter block   db 80h ;norm┆
0x063000…063020 (26, 0, 13) 4d 56 49 09 43 2c 37 32 0d 0a 53 45 54 53 50 54 3a 09 4d 4f 56 09 41 2c 43 0d 0a 09 53 54 41 09   ┆MVI C,72  SETSPT: MOV A,C   STA ┆
0x063020…063040             53 50 54 0d 0a 09 43 41 4c 4c 09 4f 52 47 4d 53 47 09 3b 4f 52 49 47 49 4e 20 50 52 4f 4d 50 54   ┆SPT   CALL ORGMSG ;ORIGIN PROMPT┆
0x063040…063060             0d 0a 09 43 41 4c 4c 09 52 45 41 44 0d 0a 09 4c 58 49 20 48 2c 4f 52 49 47 49 4e 21 20 4d 4f 56   ┆   CALL READ   LXI H,ORIGIN! MOV┆
0x063060…063080             20 4d 2c 43 21 20 69 6e 78 20 68 21 20 6d 6f 76 20 6d 2c 62 20 3b 53 41 56 45 44 20 54 48 45 20   ┆ M,C! inx h! mov m,b ;SAVED THE ┆
0x063080…0630a0             4f 52 49 47 49 4e 20 4e 55 4d 42 45 52 0d 0a 09 4c 58 49 20 48 2c 43 4f 4d 4c 45 4e 21 20 4d 4f   ┆ORIGIN NUMBER   LXI H,COMLEN! MO┆
0x0630a0…0630c0             56 20 42 2c 4d 21 20 49 4e 58 20 48 21 20 58 43 48 47 0d 0a 09 4c 58 49 20 48 2c 41 4f 52 49 47   ┆V B,M! INX H! XCHG   LXI H,AORIG┆
0x0630c0…0630e0             49 4e 20 3b 41 53 43 49 49 20 56 45 52 53 49 4f 4e 20 4f 46 20 54 48 45 20 4f 52 49 47 49 4e 0d   ┆IN ;ASCII VERSION OF THE ORIGIN ┆
0x0630e0…063100             0a 09 4f 52 47 32 3a 20 4c 44 41 58 20 44 21 20 4f 52 41 20 41 21 20 4a 5a 20 4f 52 47 33 0d 0a   ┆  ORG2: LDAX D! ORA A! JZ ORG3  ┆
0x063100…063120             09 09 49 4e 58 20 44 21 20 4d 4f 56 20 4d 2c 41 21 20 49 4e 58 20 48 21 20 44 43 52 20 42 21 20   ┆  INX D! MOV M,A! INX H! DCR B! ┆
0x063120…063140             4a 4e 5a 20 4f 52 47 32 0d 0a 09 09 3b 41 53 43 49 49 20 56 45 52 53 49 4f 4e 20 4d 4f 56 45 44   ┆JNZ ORG2    ;ASCII VERSION MOVED┆
0x063140…063160             20 54 4f 20 42 55 46 46 45 52 2c 20 50 41 44 20 49 54 0d 0a 09 4f 52 47 33 3a 09 4d 56 49 20 4d   ┆ TO BUFFER, PAD IT   ORG3: MVI M┆
0x063160…063180             2c 27 2d 27 21 20 49 4e 58 20 48 21 20 4d 56 49 20 4d 2c 27 24 27 20 3b 52 45 41 44 59 20 46 4f   ┆,'-'! INX H! MVI M,'$' ;READY FO┆
0x063180…0631a0             52 20 50 52 49 4e 54 49 4e 47 0d 0a 3b 0d 0a 3b 09 4e 4f 57 20 52 45 41 44 20 54 48 45 20 53 45   ┆R PRINTING  ;  ; NOW READ THE SE┆
0x0631a0…0631c0             52 49 41 4c 20 4e 55 4d 42 45 52 0d 0a 09 43 41 4c 4c 20 53 45 52 4d 53 47 21 20 43 41 4c 4c 20   ┆RIAL NUMBER   CALL SERMSG! CALL ┆
0x0631c0…0631e0             52 45 41 44 0d 0a 09 4c 58 49 20 48 2c 42 53 45 52 49 41 4c 21 20 4d 4f 56 20 4d 2c 43 21 20 49   ┆READ   LXI H,BSERIAL! MOV M,C! I┆
0x0631e0…063200             4e 58 20 48 21 20 4d 4f 56 20 4d 2c 42 20 3b 42 49 4e 41 52 59 20 43 4f 50 49 45 44 0d 0a 09 4c   ┆NX H! MOV M,B ;BINARY COPIED   L┆
0x063200…063220 (26, 0, 14) 44 20 42 53 45 52 49 41 4c 21 20 58 43 48 47 21 20 4d 4f 56 20 4d 2c 44 21 20 49 4e 58 20 48 21   ┆D BSERIAL! XCHG! MOV M,D! INX H!┆
0x063220…063240             20 4d 4f 56 20 4d 2c 45 0d 0a 09 09 3b 46 49 52 53 54 20 53 45 52 49 41 4c 20 4e 55 4d 42 45 52   ┆ MOV M,E    ;FIRST SERIAL NUMBER┆
0x063240…063260             20 49 53 20 53 54 4f 52 45 44 2c 20 4e 4f 57 20 43 4f 50 59 20 54 4f 20 42 44 4f 53 0d 0a 09 09   ┆ IS STORED, NOW COPY TO BDOS    ┆
0x063260…063280             50 4f 50 20 42 21 20 50 55 53 48 20 42 21 20 4c 58 49 20 44 2c 42 44 4f 53 56 0d 0a 3b 09 09 43   ┆POP B! PUSH B! LXI D,BDOSV  ;  C┆
0x063280…0632a0             4f 4d 50 55 54 45 20 44 49 46 46 45 52 45 4e 43 45 20 49 4e 20 41 44 44 52 45 53 53 45 53 20 46   ┆OMPUTE DIFFERENCE IN ADDRESSES F┆
0x0632a0…0632c0             4f 52 20 4c 41 54 45 52 0d 0a 09 09 4d 4f 56 20 41 2c 45 21 20 53 55 42 20 43 21 20 4d 4f 56 20   ┆OR LATER    MOV A,E! SUB C! MOV ┆
0x0632c0…0632e0             4c 2c 41 0d 0a 09 09 4d 4f 56 20 41 2c 44 21 20 53 42 42 20 42 21 20 4d 4f 56 20 48 2c 41 21 20   ┆L,A    MOV A,D! SBB B! MOV H,A! ┆
0x0632e0…063300             53 48 4c 44 20 53 44 49 46 46 0d 0a 09 09 50 4f 50 20 48 21 20 4d 56 49 20 43 2c 36 20 3b 4c 45   ┆SHLD SDIFF    POP H! MVI C,6 ;LE┆
0x063300…063320             4e 47 54 48 20 4f 46 20 53 45 52 49 41 4c 20 4e 55 4d 42 45 52 0d 0a 3b 09 09 48 2c 4c 20 41 44   ┆NGTH OF SERIAL NUMBER  ;  H,L AD┆
0x063320…063340             44 52 45 53 53 20 53 54 41 52 54 20 4f 46 20 53 45 52 49 41 4c 20 4e 55 4d 42 45 52 2c 20 44 2c   ┆DRESS START OF SERIAL NUMBER, D,┆
0x063340…063360             45 20 41 44 44 52 45 53 53 20 53 45 43 4f 4e 44 20 23 0d 0a 09 09 43 4f 50 59 30 3a 20 4d 4f 56   ┆E ADDRESS SECOND #    COPY0: MOV┆
0x063360…063380             20 41 2c 4d 21 20 53 54 41 58 20 44 21 20 49 4e 58 20 44 21 20 49 4e 58 20 48 21 20 44 43 52 20   ┆ A,M! STAX D! INX D! INX H! DCR ┆
0x063380…0633a0             43 0d 0a 09 09 09 4a 4e 5a 20 43 4f 50 59 30 0d 0a 09 09 3b 42 44 4f 53 20 53 45 52 49 41 4c 20   ┆C     JNZ COPY0    ;BDOS SERIAL ┆
0x0633a0…0633c0             4e 55 4d 42 45 52 20 49 53 20 43 4f 50 49 45 44 0d 0a 09 09 4a 4d 50 20 52 44 54 52 4b 4e 0d 0a   ┆NUMBER IS COPIED    JMP RDTRKN  ┆
0x0633c0…0633e0             09 09 3b 0d 0a 09 4e 4f 4d 41 54 43 48 3a 20 3b 54 52 59 20 46 4f 52 20 4e 45 58 54 20 4d 41 54   ┆  ;   NOMATCH: ;TRY FOR NEXT MAT┆
0x0633e0…063400             43 48 0d 0a 09 09 50 4f 50 20 42 21 20 50 4f 50 20 48 21 20 49 4e 58 20 48 21 20 44 43 58 20 42   ┆CH    POP B! POP H! INX H! DCX B┆
0x063400…063420 (26, 0, 15) 44 54 52 4b 4e 3a 0d 0a 09 09 3b 43 48 45 43 4b 20 46 4f 52 20 4d 4f 56 43 50 4d 2e 43 4f 4d 20   ┆DTRKN:    ;CHECK FOR MOVCPM.COM ┆
0x063420…063440             53 45 52 49 41 4c 49 5a 41 54 49 4f 4e 0d 0a 09 09 4c 58 49 20 48 2c 53 54 52 41 43 4b 21 20 4d   ┆SERIALIZATION    LXI H,STRACK! M┆
0x063440…063460             4f 56 20 41 2c 4d 21 20 4f 52 41 20 41 21 20 4a 5a 20 4e 4f 53 45 52 0d 0a 09 09 3b 41 4c 52 45   ┆OV A,M! ORA A! JZ NOSER    ;ALRE┆
0x063460…063480             41 44 59 20 53 45 52 49 41 4c 49 5a 45 44 20 49 46 20 53 54 52 41 43 4b 3d 30 0d 0a 09 09 44 43   ┆ADY SERIALIZED IF STRACK=0    DC┆
0x063480…0634a0             52 20 4d 21 20 4a 4e 5a 20 4e 4f 53 45 52 20 3b 4e 4f 54 20 4f 4e 20 50 52 4f 50 45 52 20 54 52   ┆R M! JNZ NOSER ;NOT ON PROPER TR┆
0x0634a0…0634c0             41 43 4b 0d 0a 09 09 3b 4f 4e 20 50 52 4f 50 45 52 20 54 52 41 43 4b 2c 20 53 44 49 46 46 20 43   ┆ACK    ;ON PROPER TRACK, SDIFF C┆
0x0634c0…0634e0             4f 4e 54 41 49 4e 53 20 49 4e 44 45 58 20 54 4f 20 42 44 4f 53 20 53 45 52 49 41 4c 23 0d 0a 09   ┆ONTAINS INDEX TO BDOS SERIAL#   ┆
0x0634e0…063500             09 09 4c 48 4c 44 20 53 44 49 46 46 21 20 43 41 4c 4c 20 53 54 53 45 52 49 41 4c 0d 0a 09 4e 4f   ┆  LHLD SDIFF! CALL STSERIAL   NO┆
0x063500…063520             53 45 52 3a 0d 0a 09 09 3b 54 52 41 43 4b 20 49 4e 20 4d 45 4d 4f 52 59 2c 20 43 48 45 43 4b 20   ┆SER:    ;TRACK IN MEMORY, CHECK ┆
0x063520…063540             46 4f 52 20 4c 41 53 54 20 54 52 41 43 4b 0d 0a 09 09 4c 58 49 20 48 2c 49 42 55 46 46 21 20 4c   ┆FOR LAST TRACK    LXI H,IBUFF! L┆
0x063540…063560             58 49 20 42 2c 54 52 4c 45 4e 0d 0a 09 09 54 52 43 4f 4d 50 3a 09 4d 56 49 20 41 2c 30 45 35 48   ┆XI B,TRLEN    TRCOMP: MVI A,0E5H┆
0x063560…063580             21 20 43 4d 50 20 4d 21 20 4a 4e 5a 20 57 52 54 52 4b 0d 0a 09 09 09 49 4e 58 20 48 21 20 44 43   ┆! CMP M! JNZ WRTRK     INX H! DC┆
0x063580…0635a0             58 20 42 21 20 4d 4f 56 20 41 2c 43 21 20 4f 52 41 20 42 21 20 4a 4e 5a 20 54 52 43 4f 4d 50 0d   ┆X B! MOV A,C! ORA B! JNZ TRCOMP ┆
0x0635a0…0635c0             0a 09 09 3b 45 4e 44 20 4f 46 20 43 4f 50 59 2c 20 41 4c 4c 20 30 45 35 48 27 53 0d 0a 09 09 4c   ┆   ;END OF COPY, ALL 0E5H'S    L┆
0x0635c0…0635e0             44 41 20 53 54 52 41 43 4b 21 20 4f 52 41 20 41 21 20 4a 5a 20 45 4e 44 43 4f 50 59 0d 0a 09 09   ┆DA STRACK! ORA A! JZ ENDCOPY    ┆
0x0635e0…063600             09 3b 4e 4f 54 20 5a 45 52 4f 2c 20 43 4f 55 4c 44 20 4e 4f 54 20 46 49 4e 44 20 53 45 43 4f 4e   ┆ ;NOT ZERO, COULD NOT FIND SECON┆
0x063600…063620 (26, 1, 1)  61 6c 20 69 2f 6f 20 6f 70 65 72 61 74 69 6f 6e 0d 0a 69 6f 66 3a 09 64 62 09 72 65 61 64 66 09   ┆al i/o operation  iof: db readf ┆
0x063620…063640             3b 69 6f 20 66 75 6e 63 74 69 6f 6e 2c 20 69 6e 69 74 69 61 6c 20 72 65 61 64 0d 0a 69 6f 6e 3a   ┆;io function, initial read  ion:┆
0x063640…063660             09 64 62 09 31 09 3b 6e 75 6d 62 65 72 20 6f 66 20 73 65 63 74 6f 72 73 20 74 6f 20 72 65 61 64   ┆ db 1 ;number of sectors to read┆
0x063660…063680             0d 0a 69 6f 74 3a 09 64 62 09 6f 66 66 73 65 74 09 3b 74 72 61 63 6b 20 6e 75 6d 62 65 72 0d 0a   ┆  iot: db offset ;track number  ┆
0x063680…0636a0             69 6f 73 3a 09 64 62 09 31 09 3b 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 0d 0a 69 6f 64 3a 09 64   ┆ios: db 1 ;sector number  iod: d┆
0x0636a0…0636c0             77 09 62 75 66 66 09 3b 69 6f 20 61 64 64 72 65 73 73 0d 0a 3b 0d 0a 3b 0d 0a 3b 09 64 65 66 69   ┆w buff ;io address  ;  ;  ; defi┆
0x0636c0…0636e0             6e 65 20 72 61 6d 20 61 72 65 61 73 20 66 6f 72 20 62 64 6f 73 20 6f 70 65 72 61 74 69 6f 6e 0d   ┆ne ram areas for bdos operation ┆
0x0636e0…063700             0a 09 65 6e 64 65 66 0d 0a 09 65 6e 64 0d 0a 3b 09 4d 44 53 2d 38 30 30 20 49 2f 4f 20 44 72 69   ┆  endef   end  ; MDS-800 I/O Dri┆
0x063700…063720             76 65 72 73 20 66 6f 72 20 43 50 2f 4d 20 32 2e 32 0d 0a 3b 09 28 66 6f 75 72 20 64 72 69 76 65   ┆vers for CP/M 2.2  ; (four drive┆
0x063720…063740             20 73 69 6e 67 6c 65 20 64 65 6e 73 69 74 79 20 76 65 72 73 69 6f 6e 29 0d 0a 3b 0d 0a 3b 09 56   ┆ single density version)  ;  ; V┆
0x063740…063760             65 72 73 69 6f 6e 20 32 2e 32 20 46 65 62 72 75 61 72 79 2c 20 31 39 38 30 0d 0a 3b 0d 0a 76 65   ┆ersion 2.2 February, 1980  ;  ve┆
0x063760…063780             72 73 09 65 71 75 09 32 32 09 3b 76 65 72 73 69 6f 6e 20 32 2e 32 0d 0a 3b 0d 0a 3b 09 43 6f 70   ┆rs equ 22 ;version 2.2  ;  ; Cop┆
0x063780…0637a0             79 72 69 67 68 74 20 28 63 29 20 31 39 38 30 0d 0a 3b 09 44 69 67 69 74 61 6c 20 52 65 73 65 61   ┆yright (c) 1980  ; Digital Resea┆
0x0637a0…0637c0             72 63 68 0d 0a 3b 09 42 6f 78 20 35 37 39 2c 20 50 61 63 69 66 69 63 20 47 72 6f 76 65 0d 0a 3b   ┆rch  ; Box 579, Pacific Grove  ;┆
0x0637c0…0637e0             09 43 61 6c 69 66 6f 72 6e 69 61 2c 20 39 33 39 35 30 0d 0a 3b 0d 0a 3b 0d 0a 74 72 75 65 09 65   ┆ California, 93950  ;  ;  true e┆
0x0637e0…063800             71 75 09 30 66 66 66 66 68 09 3b 76 61 6c 75 65 20 6f 66 20 22 74 72 75 65 22 0d 0a 66 61 6c 73   ┆qu 0ffffh ;value of "true"  fals┆
0x063800…063820 (26, 1, 2)  64 20 74 72 61 63 6b 2f 73 65 63 74 6f 72 20 74 6f 20 70 72 65 73 65 74 20 64 6d 61 20 61 64 64   ┆d track/sector to preset dma add┆
0x063820…063840             72 65 73 73 0d 0a 3b 09 77 72 69 74 65 09 77 72 69 74 65 20 74 72 61 63 6b 2f 73 65 63 74 6f 72   ┆ress  ; write write track/sector┆
0x063840…063860             20 66 72 6f 6d 20 70 72 65 73 65 74 20 64 6d 61 20 61 64 64 72 65 73 73 0d 0a 3b 0d 0a 3b 09 6a   ┆ from preset dma address  ;  ; j┆
0x063860…063880             75 6d 70 20 76 65 63 74 6f 72 20 66 6f 72 20 69 6e 64 69 76 69 75 61 6c 20 72 6f 75 74 69 6e 65   ┆ump vector for indiviual routine┆
0x063880…0638a0             73 0d 0a 09 6a 6d 70 09 62 6f 6f 74 0d 0a 77 62 6f 6f 74 65 3a 09 6a 6d 70 09 77 62 6f 6f 74 0d   ┆s   jmp boot  wboote: jmp wboot ┆
0x0638a0…0638c0             0a 09 6a 6d 70 09 63 6f 6e 73 74 0d 0a 09 6a 6d 70 09 63 6f 6e 69 6e 0d 0a 09 6a 6d 70 09 63 6f   ┆  jmp const   jmp conin   jmp co┆
0x0638c0…0638e0             6e 6f 75 74 0d 0a 09 6a 6d 70 09 6c 69 73 74 0d 0a 09 6a 6d 70 09 70 75 6e 63 68 0d 0a 09 6a 6d   ┆nout   jmp list   jmp punch   jm┆
0x0638e0…063900             70 09 72 65 61 64 65 72 0d 0a 09 6a 6d 70 09 68 6f 6d 65 0d 0a 09 6a 6d 70 09 73 65 6c 64 73 6b   ┆p reader   jmp home   jmp seldsk┆
0x063900…063920             0d 0a 09 6a 6d 70 09 73 65 74 74 72 6b 0d 0a 09 6a 6d 70 09 73 65 74 73 65 63 0d 0a 09 6a 6d 70   ┆   jmp settrk   jmp setsec   jmp┆
0x063920…063940             09 73 65 74 64 6d 61 0d 0a 09 6a 6d 70 09 72 65 61 64 0d 0a 09 6a 6d 70 09 77 72 69 74 65 0d 0a   ┆ setdma   jmp read   jmp write  ┆
0x063940…063960             09 6a 6d 70 09 6c 69 73 74 73 74 09 3b 6c 69 73 74 20 73 74 61 74 75 73 0d 0a 09 6a 6d 70 09 73   ┆ jmp listst ;list status   jmp s┆
0x063960…063980             65 63 74 72 61 6e 0d 0a 3b 0d 0a 09 6d 61 63 6c 69 62 09 64 69 73 6b 64 65 66 09 3b 6c 6f 61 64   ┆ectran  ;   maclib diskdef ;load┆
0x063980…0639a0             20 74 68 65 20 64 69 73 6b 20 64 65 66 69 6e 69 74 69 6f 6e 20 6c 69 62 72 61 72 79 0d 0a 09 64   ┆ the disk definition library   d┆
0x0639a0…0639c0             69 73 6b 73 09 34 09 3b 66 6f 75 72 20 64 69 73 6b 73 0d 0a 09 64 69 73 6b 64 65 66 09 30 2c 31   ┆isks 4 ;four disks   diskdef 0,1┆
0x0639c0…0639e0             2c 32 36 2c 36 2c 31 30 32 34 2c 32 34 33 2c 36 34 2c 36 34 2c 6f 66 66 73 65 74 0d 0a 09 64 69   ┆,26,6,1024,243,64,64,offset   di┆
0x0639e0…063a00             73 6b 64 65 66 09 31 2c 30 0d 0a 09 64 69 73 6b 64 65 66 09 32 2c 30 0d 0a 09 64 69 73 6b 64 65   ┆skdef 1,0   diskdef 2,0   diskde┆
0x063a00…063a20 (26, 1, 3)  64 69 66 0d 0a 09 69 66 09 6e 6f 74 20 74 65 73 74 0d 0a 09 64 62 09 27 30 30 27 09 3b 6d 65 6d   ┆dif   if not test   db '00' ;mem┆
0x063a20…063a40             6f 72 79 20 73 69 7a 65 20 66 69 6c 6c 65 64 20 62 79 20 72 65 6c 6f 63 61 74 6f 72 0d 0a 09 65   ┆ory size filled by relocator   e┆
0x063a40…063a60             6e 64 69 66 0d 0a 09 64 62 09 27 6b 20 43 50 2f 4d 20 76 65 72 73 20 27 0d 0a 09 64 62 09 76 65   ┆ndif   db 'k CP/M vers '   db ve┆
0x063a60…063a80             72 73 2f 31 30 2b 27 30 27 2c 27 2e 27 2c 76 65 72 73 20 6d 6f 64 20 31 30 2b 27 30 27 0d 0a 09   ┆rs/10+'0','.',vers mod 10+'0'   ┆
0x063a80…063aa0             64 62 09 63 72 2c 6c 66 2c 30 0d 0a 3b 0d 0a 62 6f 6f 74 3a 09 3b 70 72 69 6e 74 20 73 69 67 6e   ┆db cr,lf,0  ;  boot: ;print sign┆
0x063aa0…063ac0             6f 6e 20 6d 65 73 73 61 67 65 20 61 6e 64 20 67 6f 20 74 6f 20 63 63 70 0d 0a 3b 09 28 6e 6f 74   ┆on message and go to ccp  ; (not┆
0x063ac0…063ae0             65 3a 20 6d 64 73 20 62 6f 6f 74 20 69 6e 69 74 69 61 6c 69 7a 65 64 20 69 6f 62 79 74 65 20 61   ┆e: mds boot initialized iobyte a┆
0x063ae0…063b00             74 20 30 30 30 33 68 29 0d 0a 09 6c 78 69 09 73 70 2c 62 75 66 66 2b 38 30 68 0d 0a 09 6c 78 69   ┆t 0003h)   lxi sp,buff+80h   lxi┆
0x063b00…063b20             09 68 2c 73 69 67 6e 6f 6e 0d 0a 09 63 61 6c 6c 09 70 72 6d 73 67 09 3b 70 72 69 6e 74 20 6d 65   ┆ h,signon   call prmsg ;print me┆
0x063b20…063b40             73 73 61 67 65 0d 0a 09 78 72 61 09 61 09 3b 63 6c 65 61 72 20 61 63 63 75 6d 75 6c 61 74 6f 72   ┆ssage   xra a ;clear accumulator┆
0x063b40…063b60             0d 0a 09 73 74 61 09 63 64 69 73 6b 09 3b 73 65 74 20 69 6e 69 74 69 61 6c 6c 79 20 74 6f 20 64   ┆   sta cdisk ;set initially to d┆
0x063b60…063b80             69 73 6b 20 61 0d 0a 09 6a 6d 70 09 67 6f 63 70 6d 09 3b 67 6f 20 74 6f 20 63 70 2f 6d 0d 0a 3b   ┆isk a   jmp gocpm ;go to cp/m  ;┆
0x063b80…063ba0             0d 0a 3b 0d 0a 77 62 6f 6f 74 3a 3b 09 6c 6f 61 64 65 72 20 6f 6e 20 74 72 61 63 6b 20 30 2c 20   ┆  ;  wboot:; loader on track 0, ┆
0x063ba0…063bc0             73 65 63 74 6f 72 20 31 2c 20 77 68 69 63 68 20 77 69 6c 6c 20 62 65 20 73 6b 69 70 70 65 64 20   ┆sector 1, which will be skipped ┆
0x063bc0…063be0             66 6f 72 20 77 61 72 6d 20 0d 0a 3b 09 72 65 61 64 20 63 70 2f 6d 20 66 72 6f 6d 20 64 69 73 6b   ┆for warm   ; read cp/m from disk┆
0x063be0…063c00             20 2d 20 61 73 73 75 6d 69 6e 67 20 74 68 65 72 65 20 69 73 20 61 20 31 32 38 20 62 79 74 65 20   ┆ - assuming there is a 128 byte ┆
0x063c00…063c20 (26, 1, 4)  44 20 42 53 45 52 49 41 4c 21 20 49 4e 58 20 48 21 20 53 48 4c 44 20 42 53 45 52 49 41 4c 20 3b   ┆D BSERIAL! INX H! SHLD BSERIAL ;┆
0x063c20…063c40             54 45 53 54 20 46 4f 52 20 4f 56 45 52 46 4c 4f 57 0d 0a 09 4d 4f 56 20 41 2c 4c 21 20 4f 52 41   ┆TEST FOR OVERFLOW   MOV A,L! ORA┆
0x063c40…063c60             20 48 21 20 4a 5a 20 53 45 52 4f 56 45 52 0d 0a 09 3b 0d 0a 09 4c 58 49 20 48 2c 41 53 45 52 49   ┆ H! JZ SEROVER   ;   LXI H,ASERI┆
0x063c60…063c80             41 4c 2b 34 21 20 4d 56 49 20 42 2c 35 20 3b 4c 45 4e 47 54 48 20 4f 46 20 53 45 52 49 41 4c 20   ┆AL+4! MVI B,5 ;LENGTH OF SERIAL ┆
0x063c80…063ca0             4e 55 4d 42 45 52 0d 0a 09 49 4e 43 30 3a 09 49 4e 52 20 4d 21 20 4d 4f 56 20 41 2c 4d 21 20 43   ┆NUMBER   INC0: INR M! MOV A,M! C┆
0x063ca0…063cc0             50 49 20 27 39 27 2b 31 21 20 52 43 20 3b 52 45 54 55 52 4e 20 49 46 20 4e 4f 20 43 41 52 52 59   ┆PI '9'+1! RC ;RETURN IF NO CARRY┆
0x063cc0…063ce0             0d 0a 09 09 4d 56 49 20 4d 2c 27 30 27 20 3b 43 4c 45 41 52 20 54 48 45 20 4e 55 4d 42 45 52 0d   ┆    MVI M,'0' ;CLEAR THE NUMBER ┆
0x063ce0…063d00             0a 09 09 44 43 58 20 48 21 20 44 43 52 20 42 21 20 4a 4e 5a 20 49 4e 43 30 0d 0a 09 3b 0d 0a 09   ┆   DCX H! DCR B! JNZ INC0   ;   ┆
0x063d00…063d20             53 45 52 4f 56 45 52 3a 0d 0a 09 09 3b 4f 56 45 52 46 4c 4f 57 20 49 4e 20 53 45 52 49 41 4c 20   ┆SEROVER:    ;OVERFLOW IN SERIAL ┆
0x063d20…063d40             4e 55 4d 42 45 52 0d 0a 09 09 43 41 4c 4c 20 4f 56 45 52 4d 53 47 0d 0a 09 09 4a 4d 50 20 42 4f   ┆NUMBER    CALL OVERMSG    JMP BO┆
0x063d40…063d60             4f 54 0d 0a 09 3b 0d 0a 54 52 41 4e 53 4c 41 54 45 3a 0d 0a 09 3b 54 52 41 4e 53 4c 41 54 45 20   ┆OT   ;  TRANSLATE:   ;TRANSLATE ┆
0x063d60…063d80             54 48 45 20 52 45 4c 41 54 49 56 45 20 41 44 44 52 45 53 53 20 49 4e 20 48 2c 4c 20 54 4f 20 41   ┆THE RELATIVE ADDRESS IN H,L TO A┆
0x063d80…063da0             42 53 4f 4c 55 54 45 20 41 44 44 52 45 53 53 0d 0a 09 3b 49 4e 20 49 42 55 46 46 2c 20 41 53 53   ┆BSOLUTE ADDRESS   ;IN IBUFF, ASS┆
0x063da0…063dc0             55 4d 49 4e 47 20 53 45 43 54 4f 52 53 20 41 52 45 20 53 4b 45 57 45 44 0d 0a 09 50 55 53 48 20   ┆UMING SECTORS ARE SKEWED   PUSH ┆
0x063dc0…063de0             44 21 20 4d 4f 56 20 41 2c 4c 21 20 41 4e 49 20 37 46 48 21 20 4d 4f 56 20 45 2c 41 20 3b 4c 53   ┆D! MOV A,L! ANI 7FH! MOV E,A ;LS┆
0x063de0…063e00             20 37 20 42 49 54 53 20 4f 46 20 41 44 44 52 45 53 53 20 53 41 56 45 44 0d 0a 09 09 4d 4f 56 20   ┆ 7 BITS OF ADDRESS SAVED    MOV ┆
0x063e00…063e20 (26, 1, 5)  32 30 35 33 35 39 35 33 35 34 34 35 34 44 32 30 34 34 42 42 0d 0a 3a 31 30 30 33 45 30 30 30 34   ┆2053595354454D2044BB  :1003E0004┆
0x063e20…063e40             39 35 33 34 42 32 30 34 31 34 45 34 34 32 30 35 34 35 39 35 30 34 35 32 30 33 43 35 32 34 35 44   ┆9534B20414E442054595045203C5245D┆
0x063e40…063e60             45 0d 0a 3a 31 30 30 33 46 30 30 30 35 34 35 35 35 32 34 45 33 45 30 44 30 41 32 34 30 30 30 30   ┆E  :1003F0005455524E3E0D0A240000┆
0x063e60…063e80             30 30 30 30 30 30 30 30 30 30 30 30 33 42 0d 0a 3a 30 37 30 34 30 30 30 30 30 30 30 30 30 30 30   ┆0000000000003B  :070400000000000┆
0x063e80…063ea0             30 30 30 30 30 30 30 46 35 0d 0a 3a 30 32 30 34 34 38 30 30 30 30 30 30 42 32 0d 0a 3a 30 30 30   ┆0000000F5  :020448000000B2  :000┆
0x063ea0…063ec0             31 30 30 30 30 46 46 0d 0a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a   ┆10000FF                         ┆
0x063ec0…063ee0             1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a   ┆                                ┆
          […0x1…]
0x063f00…063f20             34 39 34 45 43 44 0d 0a 3a 31 30 30 33 38 30 30 30 35 33 34 35 35 32 35 34 32 30 34 34 34 35 35   ┆494ECD  :10038000534552542044455┆
0x063f20…063f40             33 35 34 34 39 34 45 34 31 35 34 34 39 34 46 34 45 43 44 0d 0a 3a 31 30 30 33 39 30 30 30 32 30   ┆354494E4154494F4ECD  :1003900020┆
0x063f40…063f60             34 34 34 39 35 33 34 42 32 30 34 31 34 45 34 34 32 30 35 34 35 39 35 30 34 35 32 30 33 43 36 31   ┆4449534B20414E442054595045203C61┆
0x063f60…063f80             0d 0a 3a 31 30 30 33 41 30 30 30 35 32 34 35 35 34 35 35 35 32 34 45 33 45 30 44 30 41 32 34 34   ┆  :1003A00052455455524E3E0D0A244┆
0x063f80…063fa0             39 34 45 35 33 34 35 35 32 35 34 31 46 0d 0a 3a 31 30 30 33 42 30 30 30 32 30 35 33 34 46 35 35   ┆94E534552541F  :1003B00020534F55┆
0x063fa0…063fc0             35 32 34 33 34 35 32 30 34 34 34 39 35 33 34 42 32 30 34 31 34 45 34 34 30 45 0d 0a 3a 31 30 30   ┆524345204449534B20414E440E  :100┆
0x063fc0…063fe0             33 43 30 30 30 32 30 35 34 35 39 35 30 34 35 32 30 33 43 35 32 34 35 35 34 35 35 35 32 34 45 33   ┆3C0002054595045203C52455455524E3┆
0x063fe0…064000             45 30 44 30 41 33 41 0d 0a 3a 31 30 30 33 44 30 30 30 32 34 34 39 34 45 35 33 34 35 35 32 35 34   ┆E0D0A3A  :1003D00024494E53455254┆
0x064000…064020 (26, 1, 6)  e1 22 05 04 31 47 04 21 80 00 34 5e 34 16 00 19 36 20 2a 01 00 11 34 00 19 22 f8 03 7e 32 fa 03   ┆ "  1G !  4^4   6 *   4  "  ü2  ┆
0x064020…064040             23 7e 32 fb 03 2a fa 03 22 fe 03 22 00 04 3a 5c 00 b7 cc e8 01 3d 32 02 04 3a 6c 00 b7 cc e8 01   ┆#ü2  *  "  "  :Ø     =2  :l     ┆
0x064040…064060             3d 32 03 04 21 80 00 23 22 fc 03 c3 5e 01 21 80 00 35 ca cd 01 2a fc 03 7e 23 22 fc 03 c9 01 00   ┆=2  !  #"   ^ !  5   *  ü#"     ┆
0x064060…064080             00 cd 4e 01 fe 53 ca 70 01 fe 44 c2 5e 01 06 02 cd 4e 01 fe 3a c2 5e 01 cd 4e 01 fe 3d c2 5e 01   ┆  N  S p  D ^    N  : ^  N  = ^ ┆
0x064080…0640a0             cd 4e 01 fe 53 ca a2 01 fe 44 c2 5e 01 cd 4e 01 fe 44 c2 5e 01 cd 4e 01 fe 20 c2 5e 01 0e 08 c3   ┆ N  S    D ^  N  D ^  N    ^    ┆
0x0640a0…0640c0             b2 01 cd 4e 01 fe 53 c2 5e 01 cd 4e 01 fe 20 c2 5e 01 21 fe 03 16 00 58 19 78 b7 3a 02 04 ca c4   ┆   N  S ^  N    ^ !    X x :    ┆
0x0640c0…0640e0             01 3a 03 04 b7 ca c9 01 23 71 c3 5e 01 db 14 e6 80 ca ed 01 2a fa 03 22 fe 03 22 00 04 c3 ed 01   ┆ :      #q ^        *  "  "     ┆
0x0640e0…064100             eb 2a f8 03 73 23 72 c9 cd 08 03 3c c9 0e 10 11 6c 00 21 07 04 1a 13 77 23 0d c2 f5 01 af 32 27   ┆ *  s#r    <    l !    w#     2'┆
0x064100…064120             04 11 aa 03 cd 03 03 cd ca 02 2a fe 03 cd e0 01 cd db 02 11 5c 00 cd e0 02 11 0d 03 3c cc c2 02   ┆          *         Ø       <   ┆
0x064120…064140             11 48 04 3e 00 32 04 04 d5 cd fe 02 11 5c 00 cd ef 02 b7 c2 4d 02 d1 21 80 00 19 eb d5 cd fe 02   ┆ H > 2       Ø      M  !        ┆
0x064140…064160             21 04 04 11 6f 03 34 cc c2 02 c3 2c 02 d1 11 7e 03 cd 03 03 cd ca 02 2a 00 04 cd e0 01 cd db 02   ┆!   o 4    ,   ü       *        ┆
0x064160…064180             11 07 04 cd ea 02 11 07 04 cd f9 02 11 1e 03 3c cc c2 02 11 48 04 d5 cd fe 02 11 07 04 cd f4 02   ┆               <    H           ┆
0x064180…0641a0             11 33 03 b7 c4 c2 02 d1 21 80 00 19 eb d5 cd fe 02 21 04 04 35 c2 7a 02 d1 11 07 04 cd e5 02 11   ┆ 3      !        !  5 z         ┆
0x0641a0…0641c0             47 03 3c cc c2 02 11 5a 03 cd 03 03 11 d1 03 cd 03 03 cd ca 02 2a fa 03 cd e0 01 cd db 02 2a 05   ┆G <    Z             *        * ┆
0x0641c0…0641e0             04 e9 0e 09 cd 05 00 c3 ac 02 0e 01 cd 05 00 fe 03 c0 2a fa 03 cd e0 01 c3 00 00 0e 0d c3 05 00   ┆                  *             ┆
0x0641e0…064200             0e 0f c3 05 00 0e 10 c3 05 00 0e 13 c3 05 00 0e 14 c3 05 00 0e 15 c3 05 00 0e 16 c3 05 00 0e 1a   ┆                                ┆
0x064200…064220 (26, 1, 7)  44 20 53 45 52 20 4e 55 4d 42 45 52 0d 0a 09 09 09 43 41 4c 4c 20 42 41 44 43 4f 4d 21 20 4a 4d   ┆D SER NUMBER     CALL BADCOM! JM┆
0x064220…064240             50 20 52 44 44 53 4b 0d 0a 09 09 45 4e 44 43 4f 50 59 3a 0d 0a 09 09 4c 58 49 20 44 2c 54 52 4d   ┆P RDDSK    ENDCOPY:    LXI D,TRM┆
0x064240…064260             53 47 21 20 43 41 4c 4c 20 50 52 4d 53 47 0d 0a 09 09 43 41 4c 4c 20 49 4e 43 53 45 52 49 41 4c   ┆SG! CALL PRMSG    CALL INCSERIAL┆
0x064260…064280             21 20 4a 4d 50 20 4e 45 58 54 44 49 53 4b 0d 0a 09 3b 0d 0a 09 3b 4e 4f 54 20 45 4e 44 20 4f 46   ┆! JMP NEXTDISK   ;   ;NOT END OF┆
0x064280…0642a0             20 43 4f 50 59 2c 20 57 52 49 54 45 20 54 52 41 43 4b 20 54 4f 20 44 49 53 4b 20 46 52 4f 4d 20   ┆ COPY, WRITE TRACK TO DISK FROM ┆
0x0642a0…0642c0             49 42 55 46 46 0d 0a 09 57 52 54 52 4b 3a 09 43 41 4c 4c 20 57 52 49 54 54 52 4b 0d 0a 09 09 4a   ┆IBUFF   WRTRK: CALL WRITTRK    J┆
0x0642c0…0642e0             5a 20 57 52 4f 4b 21 20 43 41 4c 4c 20 57 52 49 54 45 30 4d 53 47 21 20 4a 4d 50 20 4e 45 58 54   ┆Z WROK! CALL WRITE0MSG! JMP NEXT┆
0x0642e0…064300             44 49 53 4b 0d 0a 09 57 52 4f 4b 3a 0d 0a 09 09 3b 57 52 49 54 54 45 4e 20 54 4f 20 44 49 53 4b   ┆DISK   WROK:    ;WRITTEN TO DISK┆
0x064300…064320             2c 20 4e 4f 57 20 52 45 41 44 20 49 54 20 42 41 43 4b 20 41 4e 44 20 43 4f 4d 50 41 52 45 0d 0a   ┆, NOW READ IT BACK AND COMPARE  ┆
0x064320…064340             09 09 4c 58 49 20 48 2c 4f 42 55 46 46 21 20 53 48 4c 44 20 42 55 46 46 41 21 20 43 41 4c 4c 20   ┆  LXI H,OBUFF! SHLD BUFFA! CALL ┆
0x064340…064360             52 45 52 45 41 44 0d 0a 09 09 09 4a 5a 20 52 45 41 44 31 4f 4b 21 20 43 41 4c 4c 20 52 45 41 44   ┆REREAD     JZ READ1OK! CALL READ┆
0x064360…064380             31 4d 53 47 21 20 4a 4d 50 20 4e 45 58 54 44 49 53 4b 0d 0a 09 09 52 45 41 44 31 4f 4b 3a 0d 0a   ┆1MSG! JMP NEXTDISK    READ1OK:  ┆
0x064380…0643a0             09 09 4c 58 49 20 48 2c 49 42 55 46 46 21 20 4c 58 49 20 44 2c 4f 42 55 46 46 21 20 4c 58 49 20   ┆  LXI H,IBUFF! LXI D,OBUFF! LXI ┆
0x0643a0…0643c0             42 2c 54 52 4c 45 4e 0d 0a 09 09 57 52 43 4f 4d 50 3a 20 4c 44 41 58 20 44 21 20 43 4d 50 20 4d   ┆B,TRLEN    WRCOMP: LDAX D! CMP M┆
0x0643c0…0643e0             21 20 4a 4e 5a 20 57 52 45 52 52 0d 0a 09 09 09 49 4e 58 20 48 21 20 49 4e 58 20 44 21 20 44 43   ┆! JNZ WRERR     INX H! INX D! DC┆
0x0643e0…064400             58 20 42 21 20 4d 4f 56 20 41 2c 43 21 20 4f 52 41 20 42 0d 0a 09 09 09 4a 4e 5a 20 57 52 43 4f   ┆X B! MOV A,C! ORA B     JNZ WRCO┆
0x064400…064420 (26, 1, 8)  41 2c 4c 21 20 52 41 4c 20 3b 43 41 52 52 59 20 47 45 54 53 20 4d 53 42 0d 0a 09 09 4d 4f 56 20   ┆A,L! RAL ;CARRY GETS MSB    MOV ┆
0x064420…064440             41 2c 48 21 20 52 41 4c 20 3b 43 41 52 52 59 20 47 4f 45 53 20 54 4f 20 4c 53 42 0d 0a 09 09 4d   ┆A,H! RAL ;CARRY GOES TO LSB    M┆
0x064440…064460             4f 56 20 4c 2c 41 21 20 4d 56 49 20 48 2c 30 20 3b 48 2c 4c 20 43 4f 4e 54 41 49 4e 20 49 4e 44   ┆OV L,A! MVI H,0 ;H,L CONTAIN IND┆
0x064460…064480             45 58 20 49 4e 54 4f 20 54 52 41 4e 53 4c 41 54 45 20 54 41 42 4c 45 0d 0a 09 09 50 55 53 48 20   ┆EX INTO TRANSLATE TABLE    PUSH ┆
0x064480…0644a0             44 21 20 4c 58 49 20 44 2c 54 52 41 4e 21 20 44 41 44 20 44 21 20 50 4f 50 20 44 0d 0a 09 09 3b   ┆D! LXI D,TRAN! DAD D! POP D    ;┆
0x0644a0…0644c0             48 2c 4c 20 41 44 44 52 45 53 53 20 54 52 41 4e 53 4c 41 54 49 4f 4e 20 45 4c 45 4d 45 4e 54 2c   ┆H,L ADDRESS TRANSLATION ELEMENT,┆
0x0644c0…0644e0             20 43 4f 4e 56 45 52 54 20 54 4f 20 52 45 4c 20 41 44 44 52 45 53 53 0d 0a 09 09 58 52 41 20 41   ┆ CONVERT TO REL ADDRESS    XRA A┆
0x0644e0…064500             21 20 4d 4f 56 20 41 2c 4d 21 20 44 43 52 20 41 20 21 20 52 41 52 20 3b 43 41 52 52 59 20 47 45   ┆! MOV A,M! DCR A ! RAR ;CARRY GE┆
0x064500…064520             54 53 20 4c 53 42 2c 20 4d 53 42 3d 30 0d 0a 09 09 4d 4f 56 20 48 2c 41 21 20 4d 56 49 20 41 2c   ┆TS LSB, MSB=0    MOV H,A! MVI A,┆
0x064520…064540             30 21 20 52 41 52 20 3b 43 41 52 52 59 20 47 4f 45 53 20 54 4f 20 4d 53 42 0d 0a 09 09 4f 52 41   ┆0! RAR ;CARRY GOES TO MSB    ORA┆
0x064540…064560             20 45 20 3b 52 45 43 4c 41 49 4d 20 54 48 45 20 4c 45 41 53 54 20 53 49 47 4e 49 46 49 43 41 4e   ┆ E ;RECLAIM THE LEAST SIGNIFICAN┆
0x064560…064580             54 20 37 20 42 49 54 53 0d 0a 09 09 4d 4f 56 20 4c 2c 41 21 20 4c 58 49 20 44 2c 49 42 55 46 46   ┆T 7 BITS    MOV L,A! LXI D,IBUFF┆
0x064580…0645a0             21 20 44 41 44 20 44 20 3b 41 42 53 4f 4c 55 54 45 20 41 44 44 52 45 53 53 20 49 4e 20 48 2c 4c   ┆! DAD D ;ABSOLUTE ADDRESS IN H,L┆
0x0645a0…0645c0             0d 0a 09 09 50 4f 50 20 44 20 3b 52 45 43 41 4c 4c 20 53 54 41 43 4b 45 44 20 44 20 56 41 4c 55   ┆    POP D ;RECALL STACKED D VALU┆
0x0645c0…0645e0             45 0d 0a 09 09 52 45 54 0d 0a 3b 0d 0a 53 54 42 59 54 45 3a 09 3b 53 54 4f 52 45 20 42 59 54 45   ┆E    RET  ;  STBYTE: ;STORE BYTE┆
0x0645e0…064600             20 56 41 4c 55 45 20 47 49 56 45 4e 20 42 59 20 52 45 47 49 53 54 45 52 20 41 20 54 4f 20 54 52   ┆ VALUE GIVEN BY REGISTER A TO TR┆
0x064600…064620 (26, 1, 9)  20 6c 6f 67 67 65 64 20 64 69 73 6b 20 6f 6e 20 77 61 72 6d 20 73 74 61 72 74 0d 0a 62 75 66 66   ┆ logged disk on warm start  buff┆
0x064620…064640             09 65 71 75 09 30 30 38 30 68 09 3b 64 65 66 61 75 6c 74 20 62 75 66 66 65 72 20 61 64 64 72 65   ┆ equ 0080h ;default buffer addre┆
0x064640…064660             73 73 0d 0a 72 65 74 72 79 09 65 71 75 09 31 30 09 3b 6d 61 78 20 72 65 74 72 69 65 73 20 6f 6e   ┆ss  retry equ 10 ;max retries on┆
0x064660…064680             20 64 69 73 6b 20 69 2f 6f 20 62 65 66 6f 72 65 20 65 72 72 6f 72 0d 0a 3b 0d 0a 3b 09 70 65 72   ┆ disk i/o before error  ;  ; per┆
0x064680…0646a0             66 6f 72 6d 20 66 6f 6c 6c 6f 77 69 6e 67 20 66 75 6e 63 74 69 6f 6e 73 0d 0a 3b 09 62 6f 6f 74   ┆form following functions  ; boot┆
0x0646a0…0646c0             09 63 6f 6c 64 20 73 74 61 72 74 0d 0a 3b 09 77 62 6f 6f 74 09 77 61 72 6d 20 73 74 61 72 74 20   ┆ cold start  ; wboot warm start ┆
0x0646c0…0646e0             28 73 61 76 65 20 69 2f 6f 20 62 79 74 65 29 0d 0a 3b 09 28 62 6f 6f 74 20 61 6e 64 20 77 62 6f   ┆(save i/o byte)  ; (boot and wbo┆
0x0646e0…064700             6f 74 20 61 72 65 20 74 68 65 20 73 61 6d 65 20 66 6f 72 20 6d 64 73 29 0d 0a 3b 09 63 6f 6e 73   ┆ot are the same for mds)  ; cons┆
0x064700…064720             74 09 63 6f 6e 73 6f 6c 65 20 73 74 61 74 75 73 0d 0a 3b 09 09 72 65 67 2d 61 20 3d 20 30 30 20   ┆t console status  ;  reg-a = 00 ┆
0x064720…064740             69 66 20 6e 6f 20 63 68 61 72 61 63 74 65 72 20 72 65 61 64 79 0d 0a 3b 09 09 72 65 67 2d 61 20   ┆if no character ready  ;  reg-a ┆
0x064740…064760             3d 20 66 66 20 69 66 20 63 68 61 72 61 63 74 65 72 20 72 65 61 64 79 0d 0a 3b 09 63 6f 6e 69 6e   ┆= ff if character ready  ; conin┆
0x064760…064780             09 63 6f 6e 73 6f 6c 65 20 63 68 61 72 61 63 74 65 72 20 69 6e 20 28 72 65 73 75 6c 74 20 69 6e   ┆ console character in (result in┆
0x064780…0647a0             20 72 65 67 2d 61 29 0d 0a 3b 09 63 6f 6e 6f 75 74 09 63 6f 6e 73 6f 6c 65 20 63 68 61 72 61 63   ┆ reg-a)  ; conout console charac┆
0x0647a0…0647c0             74 65 72 20 6f 75 74 20 28 63 68 61 72 20 69 6e 20 72 65 67 2d 63 29 0d 0a 3b 09 6c 69 73 74 09   ┆ter out (char in reg-c)  ; list ┆
0x0647c0…0647e0             6c 69 73 74 20 6f 75 74 20 28 63 68 61 72 20 69 6e 20 72 65 67 2d 63 29 0d 0a 3b 09 70 75 6e 63   ┆list out (char in reg-c)  ; punc┆
0x0647e0…064800             68 09 70 75 6e 63 68 20 6f 75 74 20 28 63 68 61 72 20 69 6e 20 72 65 67 2d 63 29 0d 0a 3b 09 72   ┆h punch out (char in reg-c)  ; r┆
0x064800…064820 (26, 1, 10) c3 05 00 0e 09 c3 05 00 0e 19 c3 05 00 4e 4f 20 53 4f 55 52 43 45 20 46 49 4c 45 0d 0a 24 4e 4f   ┆             NO SOURCE FILE  $NO┆
0x064820…064840             20 44 49 52 45 43 54 4f 52 59 20 53 50 41 43 45 0d 0a 24 4f 55 54 20 4f 46 20 44 41 54 41 20 53   ┆ DIRECTORY SPACE  $OUT OF DATA S┆
0x064840…064860             50 41 43 45 0d 0a 24 57 52 49 54 45 20 50 52 4f 54 45 43 54 45 44 3f 0d 0a 24 54 52 41 4e 53 46   ┆PACE  $WRITE PROTECTED?  $TRANSF┆
0x064860…064880             45 52 20 43 4f 4d 50 4c 45 54 45 44 0d 0a 24 46 49 4c 45 20 54 4f 4f 20 42 49 47 0d 0a 24 49 4e   ┆ER COMPLETED  $FILE TOO BIG  $IN┆
0x064880…0648a0             53 45 52 54 20 44 45 53 54 49 4e 41 54 49 4f 4e 20 44 49 53 4b 20 41 4e 44 20 54 59 50 45 20 3c   ┆SERT DESTINATION DISK AND TYPE <┆
0x0648a0…0648c0             52 45 54 55 52 4e 3e 0d 0a 24 49 4e 53 45 52 54 20 53 4f 55 52 43 45 20 44 49 53 4b 20 41 4e 44   ┆RETURN>  $INSERT SOURCE DISK AND┆
0x0648c0…0648e0             20 54 59 50 45 20 3c 52 45 54 55 52 4e 3e 0d 0a 24 49 4e 53 45 52 54 20 53 59 53 54 45 4d 20 44   ┆ TYPE <RETURN>  $INSERT SYSTEM D┆
0x0648e0…064900             49 53 4b 20 41 4e 44 20 54 59 50 45 20 3c 52 45 54 55 52 4e 3e 0d 0a 24 00 00 00 00 00 00 00 00   ┆ISK AND TYPE <RETURN>  $        ┆
0x064900…064920             00 00 00 00 00 00 00 00 0e 19 c3 05 00 4e 4f 20 53 4f 55 52 43 45 20 46 49 4c 45 0d 0a 24 4e 4f   ┆             NO SOURCE FILE  $NO┆
0x064920…064940             20 44 49 52 45 43 54 4f 52 59 20 53 50 41 43 45 0d 0a 24 4f 55 54 20 4f 46 20 44 41 54 41 20 53   ┆ DIRECTORY SPACE  $OUT OF DATA S┆
0x064940…064960             50 41 43 45 0d 0a 24 57 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆PACE  $W                        ┆
0x064960…064980             00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
0x064980…0649a0             72 6f 6d 20 63 20 74 6f 20 6c 69 73 74 20 64 65 76 69 63 65 0d 0a 63 73 74 73 09 65 71 75 09 30   ┆rom c to list device  csts equ 0┆
0x0649a0…0649c0             66 38 31 32 68 09 3b 63 6f 6e 73 6f 6c 65 20 73 74 61 74 75 73 20 30 30 2f 66 66 20 74 6f 20 72   ┆f812h ;console status 00/ff to r┆
0x0649c0…0649e0             65 67 69 73 74 65 72 20 61 0d 0a 3b 0d 0a 3b 09 64 69 73 6b 20 70 6f 72 74 73 20 61 6e 64 20 63   ┆egister a  ;  ; disk ports and c┆
0x0649e0…064a00             6f 6d 6d 61 6e 64 73 0d 0a 62 61 73 65 09 65 71 75 09 37 38 68 09 3b 62 61 73 65 20 6f 66 20 64   ┆ommands  base equ 78h ;base of d┆
0x064a00…064a20 (26, 1, 11) 4d 50 0d 0a 09 09 3b 43 4f 4d 50 41 52 45 20 57 45 4e 54 20 4f 4b 2c 20 49 4e 43 52 45 4d 45 4e   ┆MP    ;COMPARE WENT OK, INCREMEN┆
0x064a20…064a40             54 20 54 52 41 43 4b 20 43 4f 55 4e 54 20 41 4e 44 20 43 59 43 4c 45 0d 0a 09 09 4c 58 49 20 48   ┆T TRACK COUNT AND CYCLE    LXI H┆
0x064a40…064a60             2c 54 52 41 43 4b 21 20 49 4e 52 20 4d 0d 0a 09 09 4c 58 49 20 48 2c 54 52 43 4f 55 4e 54 2b 31   ┆,TRACK! INR M    LXI H,TRCOUNT+1┆
0x064a60…064a80             21 20 49 4e 52 20 4d 21 20 4d 4f 56 20 41 2c 4d 21 20 43 50 49 20 27 39 27 2b 31 0d 0a 09 09 4a   ┆! INR M! MOV A,M! CPI '9'+1    J┆
0x064a80…064aa0             43 20 52 44 54 52 4b 20 3b 4f 56 45 52 46 4c 4f 57 20 54 4f 20 48 49 47 48 20 4f 52 44 45 52 20   ┆C RDTRK ;OVERFLOW TO HIGH ORDER ┆
0x064aa0…064ac0             54 52 41 43 4b 20 4e 55 4d 42 45 52 0d 0a 09 09 4d 56 49 20 4d 2c 27 30 27 21 20 44 43 58 20 48   ┆TRACK NUMBER    MVI M,'0'! DCX H┆
0x064ac0…064ae0             21 20 49 4e 52 20 4d 21 20 4a 4d 50 20 52 44 54 52 4b 0d 0a 09 09 3b 0d 0a 09 57 52 45 52 52 3a   ┆! INR M! JMP RDTRK    ;   WRERR:┆
0x064ae0…064b00             09 3b 56 45 52 49 46 59 20 45 52 52 4f 52 0d 0a 09 09 43 41 4c 4c 20 56 45 52 45 52 52 21 20 4a   ┆ ;VERIFY ERROR    CALL VERERR! J┆
0x064b00…064b20             4d 50 20 4e 45 58 54 44 49 53 4b 0d 0a 3b 0d 0a 3b 0d 0a 3b 09 55 54 49 4c 49 54 59 20 53 55 42   ┆MP NEXTDISK  ;  ;  ; UTILITY SUB┆
0x064b20…064b40             52 4f 55 54 49 4e 45 53 0d 0a 43 49 3a 09 4d 56 49 20 43 2c 43 4f 4e 49 4e 21 20 4a 4d 50 20 42   ┆ROUTINES  CI: MVI C,CONIN! JMP B┆
0x064b40…064b60             44 4f 53 20 3b 52 45 41 44 20 41 20 43 48 41 52 41 43 54 45 52 0d 0a 3b 0d 0a 50 52 4d 53 47 3a   ┆DOS ;READ A CHARACTER  ;  PRMSG:┆
0x064b60…064b80             09 4d 56 49 20 43 2c 50 42 55 46 46 21 20 4a 4d 50 20 42 44 4f 53 20 3b 50 52 49 4e 54 20 41 20   ┆ MVI C,PBUFF! JMP BDOS ;PRINT A ┆
0x064b80…064ba0             42 55 46 46 45 52 0d 0a 3b 0d 0a 52 44 45 52 52 3a 09 43 41 4c 4c 20 49 4e 56 41 4c 49 44 0d 0a   ┆BUFFER  ;  RDERR: CALL INVALID  ┆
0x064ba0…064bc0             3b 0d 0a 52 45 41 44 3a 09 3b 52 45 41 44 20 43 4f 4e 53 54 41 4e 54 20 56 41 4c 55 45 20 54 4f   ┆;  READ: ;READ CONSTANT VALUE TO┆
0x064bc0…064be0             20 42 2c 43 0d 0a 09 4c 58 49 20 44 2c 4d 41 58 4c 45 4e 21 20 4d 56 49 20 43 2c 52 44 42 55 46   ┆ B,C   LXI D,MAXLEN! MVI C,RDBUF┆
0x064be0…064c00             46 21 20 43 41 4c 4c 20 42 44 4f 53 20 3b 42 55 46 46 45 52 20 46 49 4c 4c 45 44 0d 0a 09 4c 58   ┆F! CALL BDOS ;BUFFER FILLED   LX┆
0x064c00…064c20 (26, 1, 12) 41 4e 53 4c 41 54 45 44 0d 0a 09 3b 41 44 44 52 45 53 53 20 47 49 56 45 4e 20 42 59 20 48 2c 4c   ┆ANSLATED   ;ADDRESS GIVEN BY H,L┆
0x064c20…064c40             2e 20 20 49 4e 43 52 45 4d 45 4e 54 20 48 2c 4c 20 55 50 4f 4e 20 52 45 54 55 52 4e 0d 0a 09 50   ┆.  INCREMENT H,L UPON RETURN   P┆
0x064c40…064c60             55 53 48 20 48 21 20 50 55 53 48 20 44 21 20 50 55 53 48 20 50 53 57 0d 0a 09 43 41 4c 4c 20 54   ┆USH H! PUSH D! PUSH PSW   CALL T┆
0x064c60…064c80             52 41 4e 53 4c 41 54 45 21 20 50 4f 50 20 50 53 57 0d 0a 09 4d 4f 56 20 4d 2c 41 21 20 50 4f 50   ┆RANSLATE! POP PSW   MOV M,A! POP┆
0x064c80…064ca0             20 44 21 20 50 4f 50 20 48 21 20 49 4e 58 20 48 21 20 52 45 54 0d 0a 3b 0d 0a 53 54 53 45 52 49   ┆ D! POP H! INX H! RET  ;  STSERI┆
0x064ca0…064cc0             41 4c 3a 0d 0a 09 3b 53 54 4f 52 45 20 54 48 45 20 53 45 52 49 41 4c 20 4e 55 4d 42 45 52 20 49   ┆AL:   ;STORE THE SERIAL NUMBER I┆
0x064cc0…064ce0             4e 54 4f 20 41 44 44 52 45 53 53 20 47 49 56 45 4e 20 42 59 20 48 2c 4c 0d 0a 09 4c 44 41 20 4f   ┆NTO ADDRESS GIVEN BY H,L   LDA O┆
0x064ce0…064d00             52 49 47 49 4e 21 20 43 41 4c 4c 20 53 54 42 59 54 45 20 3b 42 59 54 45 20 53 54 4f 52 45 44 2c   ┆RIGIN! CALL STBYTE ;BYTE STORED,┆
0x064d00…064d20             20 48 2c 4c 20 49 4e 43 52 45 4d 45 4e 54 45 44 0d 0a 09 4d 56 49 20 41 2c 56 45 52 53 49 4f 4e   ┆ H,L INCREMENTED   MVI A,VERSION┆
0x064d20…064d40             21 20 43 41 4c 4c 20 53 54 42 59 54 45 20 3b 56 45 52 53 49 4f 4e 20 4e 55 4d 42 45 52 0d 0a 09   ┆! CALL STBYTE ;VERSION NUMBER   ┆
0x064d40…064d60             09 6c 64 61 20 6f 72 69 67 69 6e 2b 31 20 21 20 63 61 6c 6c 20 73 74 62 79 74 65 09 3b 20 73 74   ┆ lda origin+1 ! call stbyte ; st┆
0x064d60…064d80             75 66 66 20 68 69 67 68 28 6f 72 69 67 69 6e 29 0d 0a 09 09 58 52 41 20 41 21 20 43 41 4c 4c 20   ┆uff high(origin)    XRA A! CALL ┆
0x064d80…064da0             53 54 42 59 54 45 20 3b 5a 45 52 4f 20 42 59 54 45 0d 0a 09 3b 4e 4f 57 20 4d 4f 56 45 20 53 45   ┆STBYTE ;ZERO BYTE   ;NOW MOVE SE┆
0x064da0…064dc0             52 49 41 4c 20 4e 55 4d 42 45 52 20 54 4f 20 4c 41 53 54 20 54 57 4f 20 42 59 54 45 53 0d 0a 09   ┆RIAL NUMBER TO LAST TWO BYTES   ┆
0x064dc0…064de0             4c 58 49 20 44 2c 42 53 45 52 49 41 4c 2b 31 20 3b 41 44 44 52 45 53 53 20 48 49 47 48 20 4f 52   ┆LXI D,BSERIAL+1 ;ADDRESS HIGH OR┆
0x064de0…064e00             44 45 52 20 50 4f 53 49 54 49 4f 4e 20 4f 46 20 53 45 52 20 23 0d 0a 09 4c 44 41 58 20 44 21 20   ┆DER POSITION OF SER #   LDAX D! ┆
0x064e00…064e20 (26, 1, 13) 65 61 64 65 72 09 70 61 70 65 72 20 74 61 70 65 20 72 65 61 64 65 72 20 69 6e 20 28 72 65 73 75   ┆eader paper tape reader in (resu┆
0x064e20…064e40             6c 74 20 74 6f 20 72 65 67 2d 61 29 0d 0a 3b 09 68 6f 6d 65 09 6d 6f 76 65 20 74 6f 20 74 72 61   ┆lt to reg-a)  ; home move to tra┆
0x064e40…064e60             63 6b 20 30 30 0d 0a 3b 0d 0a 3b 09 28 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 61 6c 6c 73   ┆ck 00  ;  ; (the following calls┆
0x064e60…064e80             20 73 65 74 2d 75 70 20 74 68 65 20 69 6f 20 70 61 72 61 6d 65 74 65 72 20 62 6c 6f 63 6b 20 66   ┆ set-up the io parameter block f┆
0x064e80…064ea0             6f 72 20 74 68 65 0d 0a 3b 09 6d 64 73 2c 20 77 68 69 63 68 20 69 73 20 75 73 65 64 20 74 6f 20   ┆or the  ; mds, which is used to ┆
0x064ea0…064ec0             70 65 72 66 6f 72 6d 20 73 75 62 73 65 71 75 65 6e 74 20 72 65 61 64 73 20 61 6e 64 20 77 72 69   ┆perform subsequent reads and wri┆
0x064ec0…064ee0             74 65 73 29 0d 0a 3b 09 73 65 6c 64 73 6b 09 73 65 6c 65 63 74 20 64 69 73 6b 20 67 69 76 65 6e   ┆tes)  ; seldsk select disk given┆
0x064ee0…064f00             20 62 79 20 72 65 67 2d 63 20 28 30 2c 31 2c 32 2e 2e 2e 29 0d 0a 3b 09 73 65 74 74 72 6b 09 73   ┆ by reg-c (0,1,2...)  ; settrk s┆
0x064f00…064f20             65 74 20 74 72 61 63 6b 20 61 64 64 72 65 73 73 20 28 30 2c 2e 2e 2e 37 36 29 20 66 6f 72 20 73   ┆et track address (0,...76) for s┆
0x064f20…064f40             75 62 73 65 71 75 65 6e 74 20 72 65 61 64 2f 77 72 69 74 65 0d 0a 3b 09 73 65 74 73 65 63 09 73   ┆ubsequent read/write  ; setsec s┆
0x064f40…064f60             65 74 20 73 65 63 74 6f 72 20 61 64 64 72 65 73 73 20 28 31 2c 2e 2e 2e 2c 32 36 29 20 66 6f 72   ┆et sector address (1,...,26) for┆
0x064f60…064f80             20 73 75 62 73 65 71 75 65 6e 74 20 72 65 61 64 2f 77 72 69 74 65 0d 0a 3b 09 73 65 74 64 6d 61   ┆ subsequent read/write  ; setdma┆
0x064f80…064fa0             09 73 65 74 20 73 75 62 73 65 71 75 65 6e 74 20 64 6d 61 20 61 64 64 72 65 73 73 20 28 69 6e 69   ┆ set subsequent dma address (ini┆
0x064fa0…064fc0             74 69 61 6c 6c 79 20 38 30 68 29 0d 0a 3b 0d 0a 3b 09 28 72 65 61 64 20 61 6e 64 20 77 72 69 74   ┆tially 80h)  ;  ; (read and writ┆
0x064fc0…064fe0             65 20 61 73 73 75 6d 65 20 70 72 65 76 69 6f 75 73 20 63 61 6c 6c 73 20 74 6f 20 73 65 74 20 75   ┆e assume previous calls to set u┆
0x064fe0…065000             70 20 74 68 65 20 69 6f 20 70 61 72 61 6d 65 74 65 72 73 29 0d 0a 3b 09 72 65 61 64 09 72 65 61   ┆p the io parameters)  ; read rea┆
0x065000…065020 (26, 1, 14) 69 73 6b 20 63 6f 6d 6d 61 6e 64 20 69 6f 20 70 6f 72 74 73 0d 0a 64 73 74 61 74 09 65 71 75 09   ┆isk command io ports  dstat equ ┆
0x065020…065040             62 61 73 65 09 3b 64 69 73 6b 20 73 74 61 74 75 73 20 28 69 6e 70 75 74 29 0d 0a 72 74 79 70 65   ┆base ;disk status (input)  rtype┆
0x065040…065060             09 65 71 75 09 62 61 73 65 2b 31 09 3b 72 65 73 75 6c 74 20 74 79 70 65 20 28 69 6e 70 75 74 29   ┆ equ base+1 ;result type (input)┆
0x065060…065080             0d 0a 72 62 79 74 65 09 65 71 75 09 62 61 73 65 2b 33 09 3b 72 65 73 75 6c 74 20 62 79 74 65 20   ┆  rbyte equ base+3 ;result byte ┆
0x065080…0650a0             28 69 6e 70 75 74 29 0d 0a 3b 0d 0a 69 6c 6f 77 09 65 71 75 09 62 61 73 65 2b 31 09 3b 69 6f 70   ┆(input)  ;  ilow equ base+1 ;iop┆
0x0650a0…0650c0             62 20 6c 6f 77 20 61 64 64 72 65 73 73 20 28 6f 75 74 70 75 74 29 0d 0a 69 68 69 67 68 09 65 71   ┆b low address (output)  ihigh eq┆
0x0650c0…0650e0             75 09 62 61 73 65 2b 32 09 3b 69 6f 70 62 20 68 69 67 68 20 61 64 64 72 65 73 73 20 28 6f 75 74   ┆u base+2 ;iopb high address (out┆
0x0650e0…065100             70 75 74 29 0d 0a 3b 0d 0a 72 65 61 64 66 09 65 71 75 09 34 68 09 3b 72 65 61 64 20 66 75 6e 63   ┆put)  ;  readf equ 4h ;read func┆
0x065100…065120             74 69 6f 6e 0d 0a 77 72 69 74 66 09 65 71 75 09 36 68 09 3b 77 72 69 74 65 20 66 75 6e 63 74 69   ┆tion  writf equ 6h ;write functi┆
0x065120…065140             6f 6e 0d 0a 72 65 63 61 6c 09 65 71 75 09 33 68 09 3b 72 65 63 61 6c 69 62 72 61 74 65 20 64 72   ┆on  recal equ 3h ;recalibrate dr┆
0x065140…065160             69 76 65 0d 0a 69 6f 72 64 79 09 65 71 75 09 34 68 09 3b 69 2f 6f 20 66 69 6e 69 73 68 65 64 20   ┆ive  iordy equ 4h ;i/o finished ┆
0x065160…065180             6d 61 73 6b 0d 0a 63 72 09 65 71 75 09 30 64 68 09 3b 63 61 72 72 69 61 67 65 20 72 65 74 75 72   ┆mask  cr equ 0dh ;carriage retur┆
0x065180…0651a0             6e 0d 0a 6c 66 09 65 71 75 09 30 61 68 09 3b 6c 69 6e 65 20 66 65 65 64 0d 0a 3b 0d 0a 73 69 67   ┆n  lf equ 0ah ;line feed  ;  sig┆
0x0651a0…0651c0             6e 6f 6e 3a 09 3b 73 69 67 6e 6f 6e 20 6d 65 73 73 61 67 65 3a 20 78 78 6b 20 63 70 2f 6d 20 76   ┆non: ;signon message: xxk cp/m v┆
0x0651c0…0651e0             65 72 73 20 79 2e 79 0d 0a 09 64 62 09 63 72 2c 6c 66 2c 6c 66 0d 0a 09 69 66 09 74 65 73 74 0d   ┆ers y.y   db cr,lf,lf   if test ┆
0x0651e0…065200             0a 09 64 62 09 27 33 32 27 09 3b 33 32 6b 20 65 78 61 6d 70 6c 65 20 62 69 6f 73 0d 0a 09 65 6e   ┆  db '32' ;32k example bios   en┆
0x065200…065220 (26, 1, 15) 49 20 48 2c 43 4f 4d 4c 45 4e 21 20 4d 4f 56 20 41 2c 4d 21 20 4f 52 41 20 41 21 20 4a 5a 20 52   ┆I H,COMLEN! MOV A,M! ORA A! JZ R┆
0x065220…065240             44 45 52 52 20 3b 4e 4f 4e 20 5a 45 52 4f 20 4c 45 4e 47 54 48 0d 0a 09 49 4e 58 20 48 21 20 4d   ┆DERR ;NON ZERO LENGTH   INX H! M┆
0x065240…065260             4f 56 20 45 2c 41 21 20 4d 56 49 20 44 2c 30 21 20 44 41 44 20 44 20 3b 48 2c 4c 20 41 44 44 52   ┆OV E,A! MVI D,0! DAD D ;H,L ADDR┆
0x065260…065280             45 53 53 20 4c 41 53 54 20 50 4f 53 2b 31 0d 0a 09 4d 56 49 20 4d 2c 30 20 3b 43 4c 45 41 52 45   ┆ESS LAST POS+1   MVI M,0 ;CLEARE┆
0x065280…0652a0             44 20 46 4f 52 20 45 4e 44 20 4f 46 20 53 43 41 4e 0d 0a 09 4c 58 49 20 48 2c 43 42 55 46 46 21   ┆D FOR END OF SCAN   LXI H,CBUFF!┆
0x0652a0…0652c0             20 4c 58 49 20 42 2c 30 0d 0a 09 43 4f 4e 56 3a 09 4d 4f 56 20 41 2c 4d 21 20 4f 52 41 20 41 21   ┆ LXI B,0   CONV: MOV A,M! ORA A!┆
0x0652c0…0652e0             20 52 5a 20 3b 52 45 54 55 52 4e 20 49 46 20 45 4e 44 20 4f 46 20 43 4f 4e 56 45 52 54 0d 0a 09   ┆ RZ ;RETURN IF END OF CONVERT   ┆
0x0652e0…065300             09 53 55 49 20 27 30 27 21 20 43 50 49 20 31 30 21 20 4a 4e 43 20 52 44 45 52 52 0d 0a 09 09 50   ┆ SUI '0'! CPI 10! JNC RDERR    P┆
0x065300…065320             55 53 48 20 48 21 20 50 55 53 48 20 42 21 20 50 4f 50 20 48 20 3b 42 2c 43 20 43 4f 50 49 45 44   ┆USH H! PUSH B! POP H ;B,C COPIED┆
0x065320…065340             20 54 4f 20 48 2c 4c 0d 0a 09 09 44 41 44 20 48 21 20 44 41 44 20 48 21 20 44 41 44 20 48 21 20   ┆ TO H,L    DAD H! DAD H! DAD H! ┆
0x065340…065360             44 41 44 20 42 21 20 44 41 44 20 42 0d 0a 09 09 50 55 53 48 20 48 21 20 50 4f 50 20 42 21 20 50   ┆DAD B! DAD B    PUSH H! POP B! P┆
0x065360…065380             4f 50 20 48 20 3b 42 43 3d 42 43 2a 31 30 0d 0a 09 09 49 4e 58 20 48 21 20 41 44 44 20 43 21 20   ┆OP H ;BC=BC*10    INX H! ADD C! ┆
0x065380…0653a0             4d 4f 56 20 43 2c 41 21 20 4d 56 49 20 41 2c 30 21 20 41 44 43 20 42 21 20 4d 4f 56 20 42 2c 41   ┆MOV C,A! MVI A,0! ADC B! MOV B,A┆
0x0653a0…0653c0             0d 0a 09 09 4a 43 20 52 44 45 52 52 21 20 4a 4d 50 20 43 4f 4e 56 20 3b 54 45 53 54 45 44 20 46   ┆    JC RDERR! JMP CONV ;TESTED F┆
0x0653c0…0653e0             4f 52 20 4f 56 45 52 46 4c 4f 57 0d 0a 09 3b 0d 0a 49 4e 43 53 45 52 49 41 4c 3a 0d 0a 09 3b 49   ┆OR OVERFLOW   ;  INCSERIAL:   ;I┆
0x0653e0…065400             4e 43 52 45 4d 45 4e 54 20 54 48 45 20 53 45 52 49 41 4c 20 4e 55 4d 42 45 52 0d 0a 09 4c 48 4c   ┆NCREMENT THE SERIAL NUMBER   LHL┆
0x065400…065420 (27, 0, 1)  43 41 4c 4c 20 53 54 42 59 54 45 0d 0a 09 44 43 58 20 44 20 3b 41 44 44 52 45 53 53 20 4c 4f 57   ┆CALL STBYTE   DCX D ;ADDRESS LOW┆
0x065420…065440             20 4f 52 44 45 52 20 42 59 54 45 0d 0a 09 4c 44 41 58 20 44 21 20 43 41 4c 4c 20 53 54 42 59 54   ┆ ORDER BYTE   LDAX D! CALL STBYT┆
0x065440…065460             45 0d 0a 09 52 45 54 0d 0a 3b 0d 0a 3b 0d 0a 3b 09 50 52 49 4e 54 20 53 54 52 49 4e 47 53 0d 0a   ┆E   RET  ;  ;  ; PRINT STRINGS  ┆
0x065460…065480             49 4e 53 4d 53 47 3a 0d 0a 09 4c 58 49 20 44 2c 24 2b 36 21 20 4a 4d 50 20 50 52 4d 53 47 0d 0a   ┆INSMSG:   LXI D,$+6! JMP PRMSG  ┆
0x065480…0654a0             09 44 42 20 43 52 2c 4c 46 2c 27 49 4e 53 45 52 54 20 43 4f 4e 54 52 4f 4c 20 44 49 53 4b 45 54   ┆ DB CR,LF,'INSERT CONTROL DISKET┆
0x0654a0…0654c0             54 45 20 49 4e 20 41 2c 20 54 59 50 45 20 52 45 54 55 52 4e 24 27 0d 0a 3b 0d 0a 4f 52 47 4d 53   ┆TE IN A, TYPE RETURN$'  ;  ORGMS┆
0x0654c0…0654e0             47 3a 0d 0a 09 4c 58 49 20 44 2c 24 2b 36 21 20 4a 4d 50 20 50 52 4d 53 47 0d 0a 09 44 42 20 43   ┆G:   LXI D,$+6! JMP PRMSG   DB C┆
0x0654e0…065500             52 2c 4c 46 2c 27 43 50 2f 4d 20 56 45 52 20 27 0d 0a 09 44 42 20 56 45 52 53 49 4f 4e 2f 31 30   ┆R,LF,'CP/M VER '   DB VERSION/10┆
0x065500…065520             2b 27 30 27 2c 27 2e 27 2c 56 45 52 53 49 4f 4e 20 4d 4f 44 20 31 30 20 2b 27 30 27 0d 0a 09 44   ┆+'0','.',VERSION MOD 10 +'0'   D┆
0x065520…065540             42 20 27 20 53 45 52 49 41 4c 49 5a 41 54 49 4f 4e 2c 27 2c 43 52 2c 4c 46 0d 0a 09 44 42 20 27   ┆B ' SERIALIZATION,',CR,LF   DB '┆
0x065540…065560             4f 52 49 47 49 4e 20 4e 55 4d 42 45 52 3f 20 24 27 0d 0a 3b 0d 0a 53 45 52 4d 53 47 3a 0d 0a 09   ┆ORIGIN NUMBER? $'  ;  SERMSG:   ┆
0x065560…065580             4c 58 49 20 44 2c 24 2b 36 21 20 4a 4d 50 20 50 52 4d 53 47 0d 0a 09 44 42 20 43 52 2c 4c 46 2c   ┆LXI D,$+6! JMP PRMSG   DB CR,LF,┆
0x065580…0655a0             27 53 54 41 52 54 49 4e 47 20 53 45 52 49 41 4c 20 4e 55 4d 42 45 52 3f 20 24 27 0d 0a 3b 0d 0a   ┆'STARTING SERIAL NUMBER? $'  ;  ┆
0x0655a0…0655c0             49 4e 56 41 4c 49 44 3a 0d 0a 09 4c 58 49 20 44 2c 24 2b 36 21 20 4a 4d 50 20 50 52 4d 53 47 0d   ┆INVALID:   LXI D,$+6! JMP PRMSG ┆
0x0655c0…0655e0             0a 09 44 42 20 43 52 2c 4c 46 2c 27 49 4e 56 41 4c 49 44 20 4e 55 4d 42 45 52 2c 20 54 52 59 20   ┆  DB CR,LF,'INVALID NUMBER, TRY ┆
0x0655e0…065600             41 47 41 49 4e 20 24 27 0d 0a 3b 0d 0a 43 55 52 4d 53 47 3a 0d 0a 09 4c 58 49 20 44 2c 24 2b 36   ┆AGAIN $'  ;  CURMSG:   LXI D,$+6┆
0x065600…065620 (27, 0, 2)  43 4b 3a 0d 0a 53 50 54 3a 09 44 53 09 31 0d 0a 54 52 4c 45 4e 09 45 51 55 09 31 32 30 2a 31 32   ┆CK:  SPT: DS 1  TRLEN EQU 120*12┆
0x065620…065640             38 09 3b 42 55 46 46 45 52 20 53 49 5a 45 0d 0a 49 42 55 46 46 3a 09 44 53 09 54 52 4c 45 4e 0d   ┆8 ;BUFFER SIZE  IBUFF: DS TRLEN ┆
0x065640…065660             0a 4f 42 55 46 46 3a 09 44 53 09 54 52 4c 45 4e 0d 0a 43 43 50 56 09 45 51 55 09 49 42 55 46 46   ┆ OBUFF: DS TRLEN  CCPV EQU IBUFF┆
0x065660…065680             2b 4f 46 46 53 45 54 0d 0a 42 44 4f 53 56 09 45 51 55 09 49 42 55 46 46 2b 28 42 44 4f 53 42 2d   ┆+OFFSET  BDOSV EQU IBUFF+(BDOSB-┆
0x065680…0656a0             43 43 50 42 29 2b 4f 46 46 53 45 54 0d 0a 09 45 4e 44 09 54 50 41 0d 0a 1a 1a 1a 1a 1a 1a 1a 1a   ┆CCPB)+OFFSET   END TPA          ┆
0x0656a0…0656c0             1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a   ┆                                ┆
          […0x2…]
0x065700…065720             49 41 4c 49 5a 45 20 54 52 41 43 4b 20 46 4f 52 20 43 50 4d 2e 43 4f 4d 20 46 49 4c 45 20 57 48   ┆IALIZE TRACK FOR CPM.COM FILE WH┆
0x065720…065740             45 4e 20 45 4e 43 4f 55 4e 54 45 52 45 44 0d 0a 53 44 49 46 46 3a 09 44 53 09 32 09 3b 44 49 46   ┆EN ENCOUNTERED  SDIFF: DS 2 ;DIF┆
0x065740…065760             46 45 52 45 4e 43 45 20 42 45 54 57 45 45 4e 20 54 57 4f 20 53 45 52 49 41 4c 20 4e 55 4d 42 45   ┆FERENCE BETWEEN TWO SERIAL NUMBE┆
0x065760…065780             52 20 41 44 44 52 45 53 53 45 53 0d 0a 3b 09 53 45 43 54 4f 52 20 54 52 41 4e 53 4c 41 54 49 4f   ┆R ADDRESSES  ; SECTOR TRANSLATIO┆
0x065780…0657a0             4e 20 56 45 43 54 4f 52 0d 0a 54 52 41 4e 3a 09 44 42 09 31 2c 37 2c 31 33 2c 31 39 2c 20 32 35   ┆N VECTOR  TRAN: DB 1,7,13,19, 25┆
0x0657a0…0657c0             2c 35 2c 31 31 2c 31 37 0d 0a 09 44 42 09 32 33 2c 33 2c 39 2c 31 35 2c 20 32 31 2c 32 2c 38 2c   ┆,5,11,17   DB 23,3,9,15, 21,2,8,┆
0x0657c0…0657e0             31 34 0d 0a 09 44 42 09 32 30 2c 32 36 2c 36 2c 31 32 2c 20 31 38 2c 32 34 2c 34 2c 31 30 0d 0a   ┆14   DB 20,26,6,12, 18,24,4,10  ┆
0x0657e0…065800             09 44 42 09 31 36 2c 32 32 0d 0a 3b 0d 0a 09 44 53 09 33 32 09 3b 53 54 41 43 4b 0d 0a 53 54 41   ┆ DB 16,22  ;   DS 32 ;STACK  STA┆
0x065800…065820 (27, 0, 3)  0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 09 43 41 4c 49 46 4f 52 4e 49 41 2c 20   ┆                  ; CALIFORNIA, ┆
0x065820…065840             39 33 39 35 30 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 0d 0a 20 30 31 30 30 20   ┆93950                  ;   0100 ┆
0x065840…065860             3d 20 20 20 20 20 20 20 20 20 54 50 41 09 45 51 55 09 31 30 30 48 09 3b 54 52 41 4e 53 49 45 4e   ┆=         TPA EQU 100H ;TRANSIEN┆
0x065860…065880             54 20 50 52 4f 47 52 41 4d 20 41 52 45 41 0d 0a 20 30 31 30 30 20 20 20 20 20 20 20 20 20 20 20   ┆T PROGRAM AREA   0100           ┆
0x065880…0658a0             09 4f 52 47 09 54 50 41 0d 0a 20 30 31 30 30 20 43 33 42 43 30 31 20 20 20 20 09 4a 4d 50 09 53   ┆ ORG TPA   0100 C3BC01     JMP S┆
0x0658a0…0658c0             54 41 52 54 0d 0a 20 30 31 30 33 20 34 33 34 46 35 30 35 39 35 32 09 44 42 09 27 43 4f 50 59 52   ┆TART   0103 434F505952 DB 'COPYR┆
0x0658c0…0658e0             49 47 48 54 20 28 43 29 20 31 39 38 30 2c 20 44 49 47 49 54 41 4c 20 52 45 53 45 41 52 43 48 20   ┆IGHT (C) 1980, DIGITAL RESEARCH ┆
0x0658e0…065900             27 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 0d 0a 20 20 20 20 20 20 20 20 20 20   ┆'                  ;            ┆
0x065900…065920             20 20 20 20 20 20 3b 09 47 4c 4f 42 41 4c 20 45 51 55 41 54 45 53 0d 0a 20 30 30 30 30 20 3d 20   ┆      ; GLOBAL EQUATES   0000 = ┆
0x065920…065940             20 20 20 20 20 20 20 20 42 4f 4f 54 09 45 51 55 09 30 30 30 30 48 0d 0a 20 30 30 30 35 20 3d 20   ┆        BOOT EQU 0000H   0005 = ┆
0x065940…065960             20 20 20 20 20 20 20 20 42 44 4f 53 09 45 51 55 09 30 30 30 35 48 0d 0a 20 30 30 30 31 20 3d 20   ┆        BDOS EQU 0005H   0001 = ┆
0x065960…065980             20 20 20 20 20 20 20 20 43 4f 4e 49 4e 09 45 51 55 09 31 09 3b 52 45 41 44 20 43 4f 4e 53 4f 4c   ┆        CONIN EQU 1 ;READ CONSOL┆
0x065980…0659a0             45 20 44 45 56 49 43 45 0d 0a 20 30 30 30 41 20 3d 20 20 20 20 20 20 20 20 20 52 44 42 55 46 46   ┆E DEVICE   000A =         RDBUFF┆
0x0659a0…0659c0             09 45 51 55 09 31 30 09 3b 52 45 41 44 20 42 55 46 46 45 52 0d 0a 20 30 30 30 39 20 3d 20 20 20   ┆ EQU 10 ;READ BUFFER   0009 =   ┆
0x0659c0…0659e0             20 20 20 20 20 20 50 42 55 46 46 09 45 51 55 09 39 09 3b 50 52 49 4e 54 20 42 55 46 46 45 52 0d   ┆      PBUFF EQU 9 ;PRINT BUFFER ┆
0x0659e0…065a00             0a 20 30 30 30 44 20 3d 20 20 20 20 20 20 20 20 20 43 52 09 45 51 55 09 30 44 48 0d 0a 20 30 30   ┆  000D =         CR EQU 0DH   00┆
0x065a00…065a20 (27, 0, 4)  31 34 43 20 41 46 33 32 33 34 30 31 20 20 09 52 45 41 44 24 44 3a 20 58 52 41 20 41 21 20 53 54   ┆14C AF323401   READ$D: XRA A! ST┆
0x065a20…065a40             41 20 49 4f 46 20 3b 53 45 54 20 54 4f 20 52 45 41 44 20 46 55 4e 43 54 49 4f 4e 0d 0a 20 20 20   ┆A IOF ;SET TO READ FUNCTION     ┆
0x065a40…065a60             20 20 20 20 20 20 20 20 20 20 20 20 20 09 52 57 24 44 49 53 4b 3a 20 3b 52 45 41 44 20 4f 52 20   ┆              RW$DISK: ;READ OR ┆
0x065a60…065a80             57 52 49 54 45 20 44 49 53 4b 0d 0a 20 30 31 35 30 20 32 31 33 31 30 31 34 45 20 20 09 09 4c 58   ┆WRITE DISK   0150 2131014E    LX┆
0x065a80…065aa0             49 20 48 2c 54 52 41 43 4b 21 20 4d 4f 56 20 43 2c 4d 20 3b 47 45 54 20 54 52 41 43 4b 20 4e 55   ┆I H,TRACK! MOV C,M ;GET TRACK NU┆
0x065aa0…065ac0             4d 42 45 52 0d 0a 20 30 31 35 34 20 43 44 39 32 30 31 20 20 20 20 09 09 43 41 4c 4c 20 54 52 4b   ┆MBER   0154 CD9201      CALL TRK┆
0x065ac0…065ae0             20 3b 54 52 41 43 4b 20 53 45 4c 45 43 54 45 44 0d 0a 20 30 31 35 37 20 32 41 33 32 30 31 20 20   ┆ ;TRACK SELECTED   0157 2A3201  ┆
0x065ae0…065b00             20 20 09 09 4c 48 4c 44 20 42 55 46 46 41 20 3b 47 45 54 20 44 4d 41 20 41 44 44 52 45 53 53 0d   ┆    LHLD BUFFA ;GET DMA ADDRESS ┆
0x065b00…065b20             0a 20 30 31 35 41 20 31 36 30 30 33 41 30 41 30 37 09 09 4d 56 49 20 44 2c 30 21 20 4c 44 41 20   ┆  015A 16003A0A07  MVI D,0! LDA ┆
0x065b20…065b40             53 50 54 21 20 4d 4f 56 20 45 2c 41 20 3b 20 44 3d 30 2c 20 45 3d 53 50 54 0d 0a 20 20 20 20 20   ┆SPT! MOV E,A ; D=0, E=SPT       ┆
0x065b40…065b60             20 20 20 20 20 20 20 20 20 20 20 09 09 52 57 24 4c 4f 4f 50 3a 20 3b 52 45 41 44 2f 57 52 49 54   ┆             RW$LOOP: ;READ/WRIT┆
0x065b60…065b80             45 20 4c 4f 4f 50 0d 0a 20 30 31 36 30 20 44 35 45 35 20 20 20 20 20 20 09 09 09 50 55 53 48 20   ┆E LOOP   0160 D5E5         PUSH ┆
0x065b80…065ba0             44 21 20 50 55 53 48 20 48 0d 0a 20 30 31 36 32 20 34 41 43 44 39 41 30 31 20 20 09 09 09 4d 4f   ┆D! PUSH H   0162 4ACD9A01     MO┆
0x065ba0…065bc0             56 20 43 2c 44 21 20 43 41 4c 4c 20 53 45 43 20 3b 53 45 43 54 4f 52 20 53 45 54 0d 0a 20 30 31   ┆V C,D! CALL SEC ;SECTOR SET   01┆
0x065bc0…065be0             36 36 20 43 31 43 35 20 20 20 20 20 20 09 09 09 50 4f 50 20 42 21 20 50 55 53 48 20 42 20 3b 47   ┆66 C1C5         POP B! PUSH B ;G┆
0x065be0…065c00             45 54 20 44 4d 41 20 41 44 44 52 45 53 53 0d 0a 20 30 31 36 38 20 43 44 41 32 30 31 20 20 20 20   ┆ET DMA ADDRESS   0168 CDA201    ┆
0x065c00…065c20 (27, 0, 5)  21 20 4a 4d 50 20 50 52 4d 53 47 0d 0a 09 44 42 20 43 52 2c 4c 46 2c 27 53 45 52 49 41 4c 49 5a   ┆! JMP PRMSG   DB CR,LF,'SERIALIZ┆
0x065c20…065c40             49 4e 47 20 44 49 53 4b 20 24 27 0d 0a 3b 0d 0a 41 53 45 52 4d 53 47 3a 0d 0a 09 4c 58 49 20 44   ┆ING DISK $'  ;  ASERMSG:   LXI D┆
0x065c40…065c60             2c 41 4f 52 49 47 49 4e 21 20 43 41 4c 4c 20 50 52 4d 53 47 0d 0a 09 4c 58 49 20 44 2c 41 53 45   ┆,AORIGIN! CALL PRMSG   LXI D,ASE┆
0x065c60…065c80             52 49 41 4c 21 20 4a 4d 50 20 50 52 4d 53 47 0d 0a 3b 0d 0a 4e 45 57 4d 53 47 3a 0d 0a 09 4c 58   ┆RIAL! JMP PRMSG  ;  NEWMSG:   LX┆
0x065c80…065ca0             49 20 44 2c 24 2b 36 21 20 4a 4d 50 20 50 52 4d 53 47 0d 0a 09 44 42 20 43 52 2c 4c 46 2c 27 49   ┆I D,$+6! JMP PRMSG   DB CR,LF,'I┆
0x065ca0…065cc0             4e 53 45 52 54 20 4e 45 57 20 44 49 53 4b 45 54 54 45 2c 20 54 59 50 45 20 52 45 54 55 52 4e 24   ┆NSERT NEW DISKETTE, TYPE RETURN$┆
0x065cc0…065ce0             27 0d 0a 3b 0d 0a 42 41 44 43 4f 4d 3a 0d 0a 09 4c 58 49 20 44 2c 24 2b 36 21 20 4a 4d 50 20 50   ┆'  ;  BADCOM:   LXI D,$+6! JMP P┆
0x065ce0…065d00             52 4d 53 47 0d 0a 09 44 42 20 43 52 2c 4c 46 2c 27 42 41 44 20 4d 4f 56 43 50 4d 2e 43 4f 4d 20   ┆RMSG   DB CR,LF,'BAD MOVCPM.COM ┆
0x065d00…065d20             46 49 4c 45 2c 20 52 45 50 4c 41 43 45 24 27 0d 0a 3b 0d 0a 42 41 44 44 53 4b 3a 0d 0a 09 4c 58   ┆FILE, REPLACE$'  ;  BADDSK:   LX┆
0x065d20…065d40             49 20 44 2c 24 2b 36 21 20 4a 4d 50 20 50 52 4d 53 47 0d 0a 09 44 42 20 43 52 2c 4c 46 2c 27 4e   ┆I D,$+6! JMP PRMSG   DB CR,LF,'N┆
0x065d40…065d60             4f 4e 20 43 50 2f 4d 20 44 49 53 4b 45 54 54 45 2c 20 43 41 4e 4e 4f 54 20 53 45 52 49 41 4c 49   ┆ON CP/M DISKETTE, CANNOT SERIALI┆
0x065d60…065d80             5a 45 24 27 0d 0a 3b 0d 0a 56 45 52 45 52 52 3a 0d 0a 09 4c 58 49 20 44 2c 24 2b 36 21 20 4a 4d   ┆ZE$'  ;  VERERR:   LXI D,$+6! JM┆
0x065d80…065da0             50 20 50 52 4d 53 47 0d 0a 09 44 42 20 43 52 2c 4c 46 2c 27 56 45 52 49 46 49 43 41 54 49 4f 4e   ┆P PRMSG   DB CR,LF,'VERIFICATION┆
0x065da0…065dc0             20 45 52 52 4f 52 2c 20 42 41 44 20 44 49 53 4b 24 27 0d 0a 3b 0d 0a 4f 56 45 52 4d 53 47 3a 0d   ┆ ERROR, BAD DISK$'  ;  OVERMSG: ┆
0x065dc0…065de0             0a 09 4c 58 49 20 44 2c 24 2b 36 21 20 4a 4d 50 20 50 52 4d 53 47 0d 0a 09 44 42 20 43 52 2c 4c   ┆  LXI D,$+6! JMP PRMSG   DB CR,L┆
0x065de0…065e00             46 2c 27 53 45 52 49 41 4c 20 4e 55 4d 42 45 52 20 4f 56 45 52 46 4c 4f 57 24 27 0d 0a 52 45 41   ┆F,'SERIAL NUMBER OVERFLOW$'  REA┆
0x065e00…065e20 (27, 0, 6)  65 71 75 09 34 68 09 3b 72 65 61 64 20 66 75 6e 63 74 69 6f 6e 0d 0a 77 72 69 74 66 09 65 71 75   ┆equ 4h ;read function  writf equ┆
0x065e20…065e40             09 36 68 09 3b 77 72 69 74 65 20 66 75 6e 63 74 69 6f 6e 0d 0a 72 65 63 61 6c 09 65 71 75 09 33   ┆ 6h ;write function  recal equ 3┆
0x065e40…065e60             68 09 3b 72 65 63 61 6c 69 62 72 61 74 65 20 64 72 69 76 65 0d 0a 69 6f 72 64 79 09 65 71 75 09   ┆h ;recalibrate drive  iordy equ ┆
0x065e60…065e80             34 68 09 3b 69 2f 6f 20 66 69 6e 69 73 68 65 64 20 6d 61 73 6b 0d 0a 63 72 09 65 71 75 09 30 64   ┆4h ;i/o finished mask  cr equ 0d┆
0x065e80…065ea0             68 09 3b 63 61 72 72 69 61 67 65 20 72 65 74 75 72 6e 0d 0a 6c 66 09 65 71 75 09 30 61 68 09 3b   ┆h ;carriage return  lf equ 0ah ;┆
0x065ea0…065ec0             6c 69 6e 65 20 66 65 65 64 0d 0a 3b 0d 0a 73 69 67 6e 6f 6e 3a 09 3b 73 69 67 6e 6f 6e 20 6d 65   ┆line feed  ;  signon: ;signon me┆
0x065ec0…065ee0             73 73 61 67 65 3a 20 78 78 6b 20 63 70 2f 6d 20 76 65 72 73 20 79 2e 79 0d 0a 09 64 62 09 63 72   ┆ssage: xxk cp/m vers y.y   db cr┆
0x065ee0…065f00             2c 6c 66 2c 6c 66 0d 0a 09 69 66 09 74 65 73 74 0d 0a 09 64 62 09 27 33 32 27 09 3b 33 32 6b 20   ┆,lf,lf   if test   db '32' ;32k ┆
0x065f00…065f20             65 78 61 6d 70 6c 65 20 62 69 6f 73 0d 0a 09 65 6e 64 69 66 0d 0a 09 69 66 09 6e 6f 74 20 74 65   ┆example bios   endif   if not te┆
0x065f20…065f40             73 74 0d 0a 09 64 62 09 27 30 30 27 09 3b 6d 65 6d 6f 72 79 20 73 69 7a 65 20 66 69 6c 6c 65 64   ┆st   db '00' ;memory size filled┆
0x065f40…065f60             20 62 79 20 72 65 6c 6f 63 61 74 6f 72 0d 0a 09 65 6e 64 69 66 0d 0a 09 64 62 09 27 6b 20 43 50   ┆ by relocator   endif   db 'k CP┆
0x065f60…065f80             2f 4d 20 76 65 72 73 20 27 0d 0a 09 64 62 09 76 65 72 73 2f 31 30 2b 27 30 27 2c 27 2e 27 2c 76   ┆/M vers '   db vers/10+'0','.',v┆
0x065f80…065fa0             65 72 73 20 6d 6f 64 20 31 30 2b 27 30 27 0d 0a 09 64 62 09 63 72 2c 6c 66 2c 30 0d 0a 3b 0d 0a   ┆ers mod 10+'0'   db cr,lf,0  ;  ┆
0x065fa0…065fc0             62 6f 6f 74 3a 09 3b 70 72 69 6e 74 20 73 69 67 6e 6f 6e 20 6d 65 73 73 61 67 65 20 61 6e 64 20   ┆boot: ;print signon message and ┆
0x065fc0…065fe0             67 6f 20 74 6f 20 63 63 70 0d 0a 3b 09 28 6e 6f 74 65 3a 20 6d 64 73 20 62 6f 6f 74 20 69 6e 69   ┆go to ccp  ; (note: mds boot ini┆
0x065fe0…066000             74 69 61 6c 69 7a 65 64 20 69 6f 62 79 74 65 20 61 74 20 30 30 30 33 68 29 0d 0a 09 6c 78 69 09   ┆tialized iobyte at 0003h)   lxi ┆
0x066000…066020 (27, 0, 7)  30 41 20 3d 20 20 20 20 20 20 20 20 20 4c 46 09 45 51 55 09 30 41 48 0d 0a 20 30 30 31 34 20 3d   ┆0A =         LF EQU 0AH   0014 =┆
0x066020…066040             20 20 20 20 20 20 20 20 20 53 57 31 09 45 51 55 09 31 34 48 0d 0a 20 20 20 20 20 20 20 20 20 20   ┆         SW1 EQU 14H            ┆
0x066040…066060             20 20 20 20 20 20 3b 0d 0a 20 32 39 30 30 20 3d 20 20 20 20 20 20 20 20 20 43 43 50 42 09 45 51   ┆      ;   2900 =         CCPB EQ┆
0x066060…066080             55 09 32 39 30 30 48 09 3b 43 4f 4e 53 4f 4c 45 20 50 52 4f 43 45 53 53 4f 52 20 42 41 53 45 0d   ┆U 2900H ;CONSOLE PROCESSOR BASE ┆
0x066080…0660a0             0a 20 33 31 30 30 20 3d 20 20 20 20 20 20 20 20 20 42 44 4f 53 42 09 45 51 55 09 33 31 30 30 48   ┆  3100 =         BDOSB EQU 3100H┆
0x0660a0…0660c0             09 3b 42 41 53 49 43 20 44 4f 53 20 42 41 53 45 0d 0a 20 30 30 30 30 20 3d 20 20 20 20 20 20 20   ┆ ;BASIC DOS BASE   0000 =       ┆
0x0660c0…0660e0             20 20 4f 46 46 53 45 54 09 45 51 55 09 30 30 48 09 3b 53 50 41 43 45 20 46 4f 52 20 43 4f 4c 44   ┆  OFFSET EQU 00H ;SPACE FOR COLD┆
0x0660e0…066100             20 42 4f 4f 54 20 4f 4e 20 44 49 53 4b 0d 0a 20 30 38 30 30 20 3d 20 20 20 20 20 20 20 20 20 53   ┆ BOOT ON DISK   0800 =         S┆
0x066100…066120             4c 45 4e 09 45 51 55 09 42 44 4f 53 42 2d 43 43 50 42 09 3b 53 45 41 52 43 48 20 4c 45 4e 47 54   ┆LEN EQU BDOSB-CCPB ;SEARCH LENGT┆
0x066120…066140             48 20 46 4f 52 20 53 45 52 49 41 4c 20 4e 55 4d 42 45 52 0d 0a 20 20 20 20 20 20 20 20 20 20 20   ┆H FOR SERIAL NUMBER             ┆
0x066140…066160             20 20 20 20 20 3b 0d 0a 20 30 31 32 38 20 3d 20 20 20 20 20 20 20 20 20 52 45 41 44 54 52 4b 09   ┆     ;   0128 =         READTRK ┆
0x066160…066180             45 51 55 09 24 0d 0a 20 30 31 32 42 20 3d 20 20 20 20 20 20 20 20 20 57 52 49 54 54 52 4b 09 45   ┆EQU $   012B =         WRITTRK E┆
0x066180…0661a0             51 55 09 24 2b 33 0d 0a 20 30 31 32 45 20 3d 20 20 20 20 20 20 20 20 20 52 45 52 45 41 44 09 45   ┆QU $+3   012E =         REREAD E┆
0x0661a0…0661c0             51 55 09 24 2b 36 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 09 54 52 41 43 4b 20   ┆QU $+6                  ; TRACK ┆
0x0661c0…0661e0             52 45 41 44 2f 57 52 49 54 45 20 52 4f 55 54 49 4e 45 53 2c 20 46 49 4c 4c 45 44 20 49 4e 20 4c   ┆READ/WRITE ROUTINES, FILLED IN L┆
0x0661e0…066200             41 54 45 52 0d 0a 20 30 31 32 38 20 43 33 33 35 30 31 20 20 20 20 09 4a 4d 50 09 52 45 41 44 24   ┆ATER   0128 C33501     JMP READ$┆
0x066200…066220 (27, 0, 8)  09 09 09 43 41 4c 4c 20 44 4d 41 20 3b 44 4d 41 20 41 44 44 52 45 53 53 20 53 45 54 0d 0a 20 20   ┆   CALL DMA ;DMA ADDRESS SET    ┆
0x066220…066240             20 20 20 20 20 20 20 20 20 20 20 20 20 20 09 09 09 3b 50 45 52 46 4f 52 4d 20 49 4f 20 46 55 4e   ┆                 ;PERFORM IO FUN┆
0x066240…066260             43 54 49 4f 4e 0d 0a 20 30 31 36 42 20 33 41 33 34 30 31 42 37 20 20 09 09 09 4c 44 41 20 49 4f   ┆CTION   016B 3A3401B7     LDA IO┆
0x066260…066280             46 21 20 4f 52 41 20 41 20 3b 53 45 54 20 46 4c 41 47 53 2c 20 30 3d 52 45 41 44 2c 20 31 3d 57   ┆F! ORA A ;SET FLAGS, 0=READ, 1=W┆
0x066280…0662a0             52 49 54 45 0d 0a 20 30 31 36 46 20 43 32 37 38 30 31 20 20 20 20 09 09 09 4a 4e 5a 20 57 52 49   ┆RITE   016F C27801       JNZ WRI┆
0x0662a0…0662c0             54 45 46 55 4e 43 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 09 09 09 09 3b 52 45 41   ┆TEFUNC                      ;REA┆
0x0662c0…0662e0             44 20 44 49 53 4b 0d 0a 20 30 31 37 32 20 43 44 41 41 30 31 20 20 20 20 09 09 09 09 43 41 4c 4c   ┆D DISK   0172 CDAA01        CALL┆
0x0662e0…066300             20 44 52 45 41 44 0d 0a 20 30 31 37 35 20 43 33 37 42 30 31 20 20 20 20 09 09 09 09 4a 4d 50 20   ┆ DREAD   0175 C37B01        JMP ┆
0x066300…066320             52 57 43 4f 4d 50 4c 45 54 45 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 09 09 09 57   ┆RWCOMPLETE                     W┆
0x066320…066340             52 49 54 45 46 55 4e 43 3a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 09 09 09 09 3b   ┆RITEFUNC:                      ;┆
0x066340…066360             57 52 49 54 45 20 44 49 53 4b 0d 0a 20 30 31 37 38 20 43 44 42 32 30 31 20 20 20 20 09 09 09 09   ┆WRITE DISK   0178 CDB201        ┆
0x066360…066380             43 41 4c 4c 20 44 57 52 49 54 45 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 09 09 09   ┆CALL DWRITE                     ┆
0x066380…0663a0             52 57 43 4f 4d 50 4c 45 54 45 3a 20 3b 46 55 4e 43 54 49 4f 4e 20 43 4f 4d 50 4c 45 54 45 0d 0a   ┆RWCOMPLETE: ;FUNCTION COMPLETE  ┆
0x0663a0…0663c0             20 30 31 37 42 20 45 31 20 20 20 20 20 20 20 20 09 09 09 09 50 4f 50 20 48 20 3b 52 45 43 41 4c   ┆ 017B E1            POP H ;RECAL┆
0x0663c0…0663e0             4c 20 44 4d 41 20 41 44 44 52 45 53 53 0d 0a 20 30 31 37 43 20 31 31 38 30 30 30 31 39 20 20 09   ┆L DMA ADDRESS   017C 11800019   ┆
0x0663e0…066400             09 09 09 4c 58 49 20 44 2c 38 30 48 21 20 44 41 44 20 44 20 3b 54 4f 20 4e 45 58 54 20 44 4d 41   ┆   LXI D,80H! DAD D ;TO NEXT DMA┆
0x066400…066420 (27, 0, 9)  44 30 4d 53 47 3a 0d 0a 09 4c 58 49 20 44 2c 24 2b 36 21 20 4a 4d 50 20 50 52 4d 53 47 0d 0a 09   ┆D0MSG:   LXI D,$+6! JMP PRMSG   ┆
0x066420…066440             44 42 20 43 52 2c 4c 46 2c 27 45 52 52 4f 52 20 4f 4e 20 53 4f 55 52 43 45 20 44 49 53 4b 2c 20   ┆DB CR,LF,'ERROR ON SOURCE DISK, ┆
0x066440…066460             52 45 50 4c 41 43 45 24 27 0d 0a 3b 0d 0a 57 52 49 54 45 30 4d 53 47 3a 0d 0a 09 4c 58 49 20 44   ┆REPLACE$'  ;  WRITE0MSG:   LXI D┆
0x066460…066480             2c 24 2b 36 21 20 4a 4d 50 20 50 52 4d 53 47 0d 0a 09 44 42 20 43 52 2c 4c 46 2c 27 43 41 4e 4e   ┆,$+6! JMP PRMSG   DB CR,LF,'CANN┆
0x066480…0664a0             4f 54 20 57 52 49 54 45 20 4e 45 57 20 44 49 53 4b 2c 20 52 45 50 4c 41 43 45 24 27 0d 0a 3b 0d   ┆OT WRITE NEW DISK, REPLACE$'  ; ┆
0x0664a0…0664c0             0a 52 45 41 44 31 4d 53 47 3a 0d 0a 09 4c 58 49 20 44 2c 24 2b 36 21 20 4a 4d 50 20 50 52 4d 53   ┆ READ1MSG:   LXI D,$+6! JMP PRMS┆
0x0664c0…0664e0             47 0d 0a 09 44 42 20 43 52 2c 4c 46 2c 27 43 41 4e 4e 4f 54 20 52 45 2d 52 45 41 44 20 4e 45 57   ┆G   DB CR,LF,'CANNOT RE-READ NEW┆
0x0664e0…066500             20 44 49 53 4b 2c 20 52 45 50 4c 41 43 45 24 27 0d 0a 3b 0d 0a 3b 0d 0a 3b 09 4d 49 53 43 45 4c   ┆ DISK, REPLACE$'  ;  ;  ; MISCEL┆
0x066500…066520             4c 41 4e 45 4f 55 53 20 44 41 54 41 20 41 52 45 41 53 0d 0a 3b 0d 0a 4f 52 49 47 49 4e 3a 09 44   ┆LANEOUS DATA AREAS  ;  ORIGIN: D┆
0x066520…066540             53 09 32 09 3b 42 49 4e 41 52 59 20 4f 52 49 47 49 4e 0d 0a 41 4f 52 49 47 3a 09 44 42 09 43 52   ┆S 2 ;BINARY ORIGIN  AORIG: DB CR┆
0x066540…066560             2c 4c 46 0d 0a 41 4f 52 49 47 49 4e 3a 0d 0a 09 44 42 09 27 30 30 30 30 30 2d 24 27 0d 0a 54 52   ┆,LF  AORIGIN:   DB '00000-$'  TR┆
0x066560…066580             4d 53 47 3a 09 44 42 09 43 52 2c 4c 46 0d 0a 54 52 43 4f 55 4e 54 3a 0d 0a 09 44 42 09 27 30 30   ┆MSG: DB CR,LF  TRCOUNT:   DB '00┆
0x066580…0665a0             20 54 52 41 43 4b 53 20 56 45 52 49 46 49 45 44 24 27 0d 0a 42 53 45 52 49 41 4c 3a 0d 0a 09 44   ┆ TRACKS VERIFIED$'  BSERIAL:   D┆
0x0665a0…0665c0             53 09 32 09 3b 42 49 4e 41 52 59 20 53 45 52 49 41 4c 20 4e 55 4d 42 45 52 0d 0a 41 53 45 52 49   ┆S 2 ;BINARY SERIAL NUMBER  ASERI┆
0x0665c0…0665e0             41 4c 3a 0d 0a 09 44 42 09 27 30 30 30 30 30 24 27 0d 0a 43 4f 4d 50 41 52 45 3a 0d 0a 09 3b 43   ┆AL:   DB '00000$'  COMPARE:   ;C┆
0x0665e0…066600             4f 4d 4d 41 4e 44 53 20 41 52 45 20 45 4e 43 4f 44 45 44 20 54 4f 20 4d 41 4b 45 20 44 49 53 41   ┆OMMANDS ARE ENCODED TO MAKE DISA┆
0x066600…066620 (27, 0, 10) 0d 0a 0d 0a 4e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 09 54 49 54 4c 45 09 27 50 52 4f 47   ┆    N                TITLE 'PROG┆
0x066620…066640             52 41 4d 20 53 45 52 49 41 4c 49 5a 41 54 49 4f 4e 20 46 4f 52 20 43 50 2f 4d 20 32 2e 32 20 32   ┆RAM SERIALIZATION FOR CP/M 2.2 2┆
0x066640…066660             2f 38 30 27 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20   ┆/80'                            ┆
0x066660…066680             20 20 20 20 20 20 20 20 3b 20 4f 72 69 67 69 6e 20 23 20 65 78 70 61 6e 64 65 64 20 74 6f 20 31   ┆        ; Origin # expanded to 1┆
0x066680…0666a0             36 20 62 69 74 73 20 30 33 20 4e 6f 76 20 38 30 20 4a 52 50 2e 0d 0a 20 20 20 20 20 20 20 20 20   ┆6 bits 03 Nov 80 JRP.           ┆
0x0666a0…0666c0             20 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 4d 4f 44 49 46   ┆                         ; MODIF┆
0x0666c0…0666e0             49 45 44 20 54 4f 20 53 55 50 50 4f 52 54 20 44 4f 55 42 4c 45 20 44 45 4e 53 49 54 59 20 4f 4e   ┆IED TO SUPPORT DOUBLE DENSITY ON┆
0x0666e0…066700             4c 59 20 20 2d 20 20 32 36 4a 55 4e 38 31 20 2f 20 46 56 4e 0d 0a 20 20 20 20 20 20 20 20 20 20   ┆LY  -  26JUN81 / FVN            ┆
0x066700…066720             20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0d 0a 20 30 30 31 36 20   ┆                           0016 ┆
0x066720…066740             3d 20 20 20 20 20 20 20 20 20 56 45 52 53 49 4f 4e 09 45 51 55 09 32 32 09 3b 56 45 52 53 49 4f   ┆=         VERSION EQU 22 ;VERSIO┆
0x066740…066760             4e 20 32 2e 32 0d 0a 20 30 30 30 30 20 3d 20 20 20 20 20 20 20 20 20 4d 4f 56 54 52 4b 09 45 51   ┆N 2.2   0000 =         MOVTRK EQ┆
0x066760…066780             55 09 30 09 3b 54 52 41 43 4b 20 43 4f 4e 54 41 49 4e 49 4e 47 20 4d 4f 56 43 50 4d 20 50 52 4f   ┆U 0 ;TRACK CONTAINING MOVCPM PRO┆
0x066780…0667a0             47 52 41 4d 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 0d 0a 20 20 20 20 20 20 20   ┆GRAM                  ;         ┆
0x0667a0…0667c0             20 20 20 20 20 20 20 20 20 3b 09 50 52 4f 47 52 41 4d 20 53 45 52 49 41 4c 49 5a 41 54 49 4f 4e   ┆         ; PROGRAM SERIALIZATION┆
0x0667c0…0667e0             20 46 4f 52 20 43 50 2f 4d 20 44 49 53 4b 45 54 54 45 53 0d 0a 20 20 20 20 20 20 20 20 20 20 20   ┆ FOR CP/M DISKETTES             ┆
0x0667e0…066800             20 20 20 20 20 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 09 4e 4f 54 45 20 2a   ┆     ;                  ; NOTE *┆
0x066800…066820 (27, 0, 11) 44 49 53 4b 0d 0a 20 30 31 32 42 20 43 33 33 43 30 31 20 20 20 20 09 4a 4d 50 09 57 52 49 54 45   ┆DISK   012B C33C01     JMP WRITE┆
0x066820…066840             24 44 49 53 4b 0d 0a 20 30 31 32 45 20 43 33 34 37 30 31 20 20 20 20 09 4a 4d 50 09 52 45 24 52   ┆$DISK   012E C34701     JMP RE$R┆
0x066840…066860             45 41 44 24 44 49 53 4b 0d 0a 20 30 31 33 31 20 20 20 20 20 20 20 20 20 20 20 54 52 41 43 4b 3a   ┆EAD$DISK   0131           TRACK:┆
0x066860…066880             09 44 53 09 31 09 3b 53 45 54 20 54 4f 20 54 52 41 43 4b 20 54 4f 20 52 45 41 44 2f 57 52 49 54   ┆ DS 1 ;SET TO TRACK TO READ/WRIT┆
0x066880…0668a0             45 0d 0a 20 30 31 33 32 20 20 20 20 20 20 20 20 20 20 20 42 55 46 46 41 3a 09 44 53 09 32 09 3b   ┆E   0132           BUFFA: DS 2 ;┆
0x0668a0…0668c0             53 45 54 20 54 4f 20 42 55 46 46 45 52 20 41 44 44 52 45 53 53 20 54 4f 20 52 45 41 44 2f 57 52   ┆SET TO BUFFER ADDRESS TO READ/WR┆
0x0668c0…0668e0             49 54 45 0d 0a 20 30 31 33 34 20 20 20 20 20 20 20 20 20 20 20 49 4f 46 3a 09 44 53 09 31 09 3b   ┆ITE   0134           IOF: DS 1 ;┆
0x0668e0…066900             49 4f 20 46 55 4e 43 54 49 4f 4e 20 30 20 3d 20 52 45 41 44 2c 20 31 20 3d 20 57 52 49 54 45 0d   ┆IO FUNCTION 0 = READ, 1 = WRITE ┆
0x066900…066920             0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20   ┆                 ;              ┆
0x066920…066940             20 20 20 20 52 45 41 44 24 44 49 53 4b 3a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆    READ$DISK:                  ┆
0x066940…066960             09 3b 52 45 41 44 20 44 49 53 4b 20 44 52 49 56 45 20 41 2c 20 46 52 4f 4d 20 54 52 41 43 4b 20   ┆ ;READ DISK DRIVE A, FROM TRACK ┆
0x066960…066980             27 54 52 41 43 4b 27 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 09 3b 49 4e 54 4f 20   ┆'TRACK'                   ;INTO ┆
0x066980…0669a0             54 48 45 20 41 44 44 52 45 53 53 20 47 49 56 45 4e 20 42 59 20 27 42 55 46 46 41 27 0d 0a 20 30   ┆THE ADDRESS GIVEN BY 'BUFFA'   0┆
0x0669a0…0669c0             31 33 35 20 41 46 43 44 38 39 30 31 20 20 09 58 52 41 20 41 21 20 43 41 4c 4c 20 53 45 4c 20 3b   ┆135 AFCD8901   XRA A! CALL SEL ;┆
0x0669c0…0669e0             53 45 4c 45 43 54 20 44 52 49 56 45 20 41 0d 0a 20 30 31 33 39 20 43 33 34 43 30 31 20 20 20 20   ┆SELECT DRIVE A   0139 C34C01    ┆
0x0669e0…066a00             09 4a 4d 50 20 52 45 41 44 24 44 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 0d 0a   ┆ JMP READ$D                  ;  ┆
0x066a00…066a20 (27, 0, 12) 0d 0a 20 30 31 38 30 20 44 31 20 20 20 20 20 20 20 20 09 09 09 09 50 4f 50 20 44 20 3b 52 45 43   ┆   0180 D1            POP D ;REC┆
0x066a20…066a40             41 4c 4c 20 53 45 43 54 4f 52 20 41 4e 44 20 43 4f 55 4e 54 0d 0a 20 30 31 38 31 20 31 34 20 20   ┆ALL SECTOR AND COUNT   0181 14  ┆
0x066a40…066a60             20 20 20 20 20 20 09 09 09 09 49 4e 52 20 44 20 3b 4e 45 58 54 20 53 45 43 54 4f 52 0d 0a 20 20   ┆          INR D ;NEXT SECTOR    ┆
0x066a60…066a80             20 20 20 20 20 20 20 20 20 20 20 20 20 20 09 09 09 3b 20 43 48 45 43 4b 20 45 52 52 4f 52 20 43   ┆                 ; CHECK ERROR C┆
0x066a80…066aa0             4f 4e 44 49 54 49 4f 4e 53 0d 0a 20 30 31 38 32 20 42 37 43 30 20 20 20 20 20 20 09 09 09 4f 52   ┆ONDITIONS   0182 B7C0         OR┆
0x066aa0…066ac0             41 20 41 21 20 52 4e 5a 20 3b 52 45 54 55 52 4e 20 57 49 54 48 20 4e 4f 4e 20 5a 45 52 4f 20 46   ┆A A! RNZ ;RETURN WITH NON ZERO F┆
0x066ac0…066ae0             4c 41 47 20 53 45 54 0d 0a 20 30 31 38 34 20 31 44 20 20 20 20 20 20 20 20 09 09 09 44 43 52 20   ┆LAG SET   0184 1D           DCR ┆
0x066ae0…066b00             45 20 3b 43 4f 55 4e 54 20 3d 20 43 4f 55 4e 54 20 2d 20 31 0d 0a 20 30 31 38 35 20 43 32 36 30   ┆E ;COUNT = COUNT - 1   0185 C260┆
0x066b00…066b20             30 31 20 20 20 20 09 09 09 4a 4e 5a 20 52 57 24 4c 4f 4f 50 20 3b 46 4f 52 20 41 4e 4f 54 48 45   ┆01       JNZ RW$LOOP ;FOR ANOTHE┆
0x066b20…066b40             52 20 53 45 43 54 4f 52 0d 0a 20 30 31 38 38 20 43 39 20 20 20 20 20 20 20 20 09 09 09 52 45 54   ┆R SECTOR   0188 C9           RET┆
0x066b40…066b60             20 3b 57 49 54 48 20 5a 45 52 4f 20 46 4c 41 47 20 53 45 54 20 46 4f 52 20 49 4f 20 43 4f 4d 50   ┆ ;WITH ZERO FLAG SET FOR IO COMP┆
0x066b60…066b80             4c 45 54 45 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 0d 0a 20 20 20 20 20 20 20   ┆LETE                  ;         ┆
0x066b80…066ba0             20 20 20 20 20 20 20 20 20 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 09 55 54   ┆         ;                  ; UT┆
0x066ba0…066bc0             49 4c 49 54 59 20 53 55 42 52 4f 55 54 49 4e 45 53 20 46 4f 52 20 44 49 52 45 43 54 20 44 49 53   ┆ILITY SUBROUTINES FOR DIRECT DIS┆
0x066bc0…066be0             4b 20 49 4f 0d 0a 20 30 30 30 31 20 3d 20 20 20 20 20 20 20 20 20 57 42 4f 4f 54 09 45 51 55 09   ┆K IO   0001 =         WBOOT EQU ┆
0x066be0…066c00             31 09 3b 57 41 52 4d 20 42 4f 4f 54 20 41 44 44 52 45 53 53 0d 0a 20 30 30 31 38 20 3d 20 20 20   ┆1 ;WARM BOOT ADDRESS   0018 =   ┆
0x066c00…066c20 (27, 0, 13) 53 53 45 4d 42 4c 59 20 48 41 52 44 45 52 0d 0a 09 44 57 09 4e 4f 54 20 27 44 49 27 2c 4e 4f 54   ┆SSEMBLY HARDER   DW NOT 'DI',NOT┆
0x066c20…066c40             20 27 52 20 27 0d 0a 09 44 57 09 4e 4f 54 20 27 45 52 27 2c 4e 4f 54 20 27 41 20 27 0d 0a 09 44   ┆ 'R '   DW NOT 'ER',NOT 'A '   D┆
0x066c40…066c60             57 09 4e 4f 54 20 27 54 59 27 2c 4e 4f 54 20 27 50 45 27 0d 0a 09 44 57 09 4e 4f 54 20 27 53 41   ┆W NOT 'TY',NOT 'PE'   DW NOT 'SA┆
0x066c60…066c80             27 2c 4e 4f 54 20 27 56 45 27 0d 0a 09 44 57 09 4e 4f 54 20 27 52 45 27 2c 4e 4f 54 20 27 4e 20   ┆',NOT 'VE'   DW NOT 'RE',NOT 'N ┆
0x066c80…066ca0             27 0d 0a 09 44 57 09 4e 4f 54 20 27 55 53 27 2c 4e 4f 54 20 27 45 52 27 0d 0a 09 43 4f 4d 50 4c   ┆'   DW NOT 'US',NOT 'ER'   COMPL┆
0x066ca0…066cc0             45 4e 20 45 51 55 20 28 24 2d 43 4f 4d 50 41 52 45 29 2f 32 0d 0a 3b 09 49 4e 50 55 54 20 42 55   ┆EN EQU ($-COMPARE)/2  ; INPUT BU┆
0x066cc0…066ce0             46 46 45 52 0d 0a 4d 41 58 4c 45 4e 3a 09 44 42 09 37 0d 0a 43 4f 4d 4c 45 4e 3a 09 44 53 09 31   ┆FFER  MAXLEN: DB 7  COMLEN: DS 1┆
0x066ce0…066d00             0d 0a 43 42 55 46 46 3a 09 44 53 09 38 0d 0a 53 54 52 41 43 4b 3a 09 44 53 09 31 09 3b 53 45 52   ┆  CBUFF: DS 8  STRACK: DS 1 ;SER┆
0x066d00…066d20             49 41 4c 49 5a 45 20 54 52 41 43 4b 20 46 4f 52 20 43 50 4d 2e 43 4f 4d 20 46 49 4c 45 20 57 48   ┆IALIZE TRACK FOR CPM.COM FILE WH┆
0x066d20…066d40             45 4e 20 45 4e 43 4f 55 4e 54 45 52 45 44 0d 0a 53 44 49 46 46 3a 09 44 53 09 32 09 3b 44 49 46   ┆EN ENCOUNTERED  SDIFF: DS 2 ;DIF┆
0x066d40…066d60             46 45 52 45 4e 43 45 20 42 45 54 57 45 45 4e 20 54 57 4f 20 53 45 52 49 41 4c 20 4e 55 4d 42 45   ┆FERENCE BETWEEN TWO SERIAL NUMBE┆
0x066d60…066d80             52 20 41 44 44 52 45 53 53 45 53 0d 0a 3b 09 53 45 43 54 4f 52 20 54 52 41 4e 53 4c 41 54 49 4f   ┆R ADDRESSES  ; SECTOR TRANSLATIO┆
0x066d80…066da0             4e 20 56 45 43 54 4f 52 0d 0a 54 52 41 4e 3a 09 44 42 09 31 2c 37 2c 31 33 2c 31 39 2c 20 32 35   ┆N VECTOR  TRAN: DB 1,7,13,19, 25┆
0x066da0…066dc0             2c 35 2c 31 31 2c 31 37 0d 0a 09 44 42 09 32 33 2c 33 2c 39 2c 31 35 2c 20 32 31 2c 32 2c 38 2c   ┆,5,11,17   DB 23,3,9,15, 21,2,8,┆
0x066dc0…066de0             31 34 0d 0a 09 44 42 09 32 30 2c 32 36 2c 36 2c 31 32 2c 20 31 38 2c 32 34 2c 34 2c 31 30 0d 0a   ┆14   DB 20,26,6,12, 18,24,4,10  ┆
0x066de0…066e00             09 44 42 09 31 36 2c 32 32 0d 0a 3b 0d 0a 09 44 53 09 33 32 09 3b 53 54 41 43 4b 0d 0a 53 54 41   ┆ DB 16,22  ;   DS 32 ;STACK  STA┆
0x066e00…066e20 (27, 0, 14) 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a   ┆********************************┆
0x066e20…066e40             2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0d 0a 20 20 20 20 20   ┆*************************       ┆
0x066e40…066e60             20 20 20 20 20 20 20 20 20 20 20 3b 09 54 48 49 53 20 50 52 4f 47 52 41 4d 20 43 4f 4e 54 41 49   ┆           ; THIS PROGRAM CONTAI┆
0x066e60…066e80             4e 53 20 44 49 47 49 54 41 4c 20 52 45 53 45 41 52 43 48 20 50 52 4f 50 52 49 45 54 41 52 59 20   ┆NS DIGITAL RESEARCH PROPRIETARY ┆
0x066e80…066ea0             49 4e 46 4f 52 4d 41 54 49 4f 4e 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 09   ┆INFORMATION,                  ; ┆
0x066ea0…066ec0             41 4e 44 20 4d 55 53 54 20 4e 4f 54 20 42 45 20 52 45 50 52 4f 44 55 43 45 44 2c 20 43 4f 50 49   ┆AND MUST NOT BE REPRODUCED, COPI┆
0x066ec0…066ee0             45 44 2c 20 4f 52 20 54 52 41 4e 53 43 52 49 42 45 44 20 49 4e 20 41 4e 59 20 46 4f 52 4d 0d 0a   ┆ED, OR TRANSCRIBED IN ANY FORM  ┆
0x066ee0…066f00             20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 09 57 48 41 54 53 4f 45 56 45 52 0d 0a 20 20   ┆                ; WHATSOEVER    ┆
0x066f00…066f20             20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 09 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a   ┆              ; ****************┆
0x066f20…066f40             2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a   ┆********************************┆
0x066f40…066f60             2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆***************                 ┆
0x066f60…066f80             20 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 0d 0a 20 20 20 20 20 20 20 20 20   ┆ ;                  ;           ┆
0x066f80…066fa0             20 20 20 20 20 20 20 3b 09 43 4f 50 59 52 49 47 48 54 20 28 43 29 20 31 39 37 36 2c 20 31 39 37   ┆       ; COPYRIGHT (C) 1976, 197┆
0x066fa0…066fc0             37 2c 20 31 39 37 38 2c 20 31 39 37 39 2c 20 31 39 38 30 0d 0a 20 20 20 20 20 20 20 20 20 20 20   ┆7, 1978, 1979, 1980             ┆
0x066fc0…066fe0             20 20 20 20 20 3b 09 44 49 47 49 54 41 4c 20 52 45 53 45 41 52 43 48 0d 0a 20 20 20 20 20 20 20   ┆     ; DIGITAL RESEARCH         ┆
0x066fe0…067000             20 20 20 20 20 20 20 20 20 3b 09 42 4f 58 20 35 37 39 20 50 41 43 49 46 49 43 20 47 52 4f 56 45   ┆         ; BOX 579 PACIFIC GROVE┆
0x067000…067020 (27, 0, 15) 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆                ;               ┆
0x067020…067040             20 20 20 57 52 49 54 45 24 44 49 53 4b 3a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆   WRITE$DISK:                  ┆
0x067040…067060             09 3b 57 52 49 54 45 20 54 4f 20 44 49 53 4b 20 44 52 49 56 45 20 42 2c 20 54 4f 20 54 52 41 43   ┆ ;WRITE TO DISK DRIVE B, TO TRAC┆
0x067060…067080             4b 20 27 54 52 41 43 4b 27 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 09 3b 46 52 4f   ┆K 'TRACK'                   ;FRO┆
0x067080…0670a0             4d 20 54 48 45 20 41 44 44 52 45 53 53 20 47 49 56 45 4e 20 42 59 20 27 42 55 46 46 41 27 0d 0a   ┆M THE ADDRESS GIVEN BY 'BUFFA'  ┆
0x0670a0…0670c0             20 30 31 33 43 20 33 45 30 31 33 32 33 34 30 31 09 4d 56 49 20 41 2c 31 21 20 53 54 41 20 49 4f   ┆ 013C 3E01323401 MVI A,1! STA IO┆
0x0670c0…0670e0             46 20 3b 53 45 54 20 49 4f 46 55 4e 43 54 49 4f 4e 20 54 4f 20 57 52 49 54 45 0d 0a 20 30 31 34   ┆F ;SET IOFUNCTION TO WRITE   014┆
0x0670e0…067100             31 20 43 44 38 39 30 31 20 20 20 20 09 43 41 4c 4c 20 53 45 4c 20 3b 53 45 4c 45 43 54 20 44 52   ┆1 CD8901     CALL SEL ;SELECT DR┆
0x067100…067120             49 56 45 20 42 0d 0a 20 30 31 34 34 20 43 33 35 30 30 31 20 20 20 20 09 4a 4d 50 20 52 57 24 44   ┆IVE B   0144 C35001     JMP RW$D┆
0x067120…067140             49 53 4b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 0d 0a 20 20 20 20 20 20 20 20   ┆ISK                  ;          ┆
0x067140…067160             20 20 20 20 20 20 20 20 52 45 24 52 45 41 44 24 44 49 53 4b 3a 0d 0a 20 20 20 20 20 20 20 20 20   ┆        RE$READ$DISK:           ┆
0x067160…067180             20 20 20 20 20 20 20 09 3b 52 45 41 44 20 46 52 4f 4d 20 44 49 53 4b 20 44 52 49 56 45 20 42 2c   ┆        ;READ FROM DISK DRIVE B,┆
0x067180…0671a0             20 46 52 4f 4d 20 54 52 41 43 4b 20 27 54 52 41 43 4b 27 0d 0a 20 20 20 20 20 20 20 20 20 20 20   ┆ FROM TRACK 'TRACK'             ┆
0x0671a0…0671c0             20 20 20 20 20 09 3b 54 4f 20 54 48 45 20 41 44 44 52 45 53 53 20 47 49 56 45 4e 20 42 59 20 27   ┆      ;TO THE ADDRESS GIVEN BY '┆
0x0671c0…0671e0             42 55 46 46 41 27 0d 0a 20 30 31 34 37 20 33 45 30 31 43 44 38 39 30 31 09 4d 56 49 20 41 2c 31   ┆BUFFA'   0147 3E01CD8901 MVI A,1┆
0x0671e0…067200             21 20 43 41 4c 4c 20 53 45 4c 20 3b 44 52 49 56 45 20 42 20 53 45 4c 45 43 54 45 44 0d 0a 20 30   ┆! CALL SEL ;DRIVE B SELECTED   0┆
0x067200…067220 (27, 1, 1)  20 20 20 20 20 20 53 45 4c 44 53 4b 09 45 51 55 09 32 34 09 3b 53 45 4c 45 43 54 20 44 49 53 4b   ┆      SELDSK EQU 24 ;SELECT DISK┆
0x067220…067240             0d 0a 20 30 30 31 42 20 3d 20 20 20 20 20 20 20 20 20 53 45 54 54 52 4b 09 45 51 55 09 32 37 09   ┆   001B =         SETTRK EQU 27 ┆
0x067240…067260             3b 53 45 54 20 54 52 41 43 4b 0d 0a 20 30 30 31 45 20 3d 20 20 20 20 20 20 20 20 20 53 45 54 53   ┆;SET TRACK   001E =         SETS┆
0x067260…067280             45 43 09 45 51 55 09 33 30 09 3b 53 45 54 20 53 45 43 54 4f 52 0d 0a 20 30 30 32 31 20 3d 20 20   ┆EC EQU 30 ;SET SECTOR   0021 =  ┆
0x067280…0672a0             20 20 20 20 20 20 20 53 45 54 44 4d 41 09 45 51 55 09 33 33 09 3b 53 45 54 20 44 4d 41 20 41 44   ┆       SETDMA EQU 33 ;SET DMA AD┆
0x0672a0…0672c0             44 52 45 53 53 0d 0a 20 30 30 32 34 20 3d 20 20 20 20 20 20 20 20 20 52 45 41 44 46 09 45 51 55   ┆DRESS   0024 =         READF EQU┆
0x0672c0…0672e0             09 33 36 09 3b 52 45 41 44 20 44 49 53 4b 0d 0a 20 30 30 32 37 20 3d 20 20 20 20 20 20 20 20 20   ┆ 36 ;READ DISK   0027 =         ┆
0x0672e0…067300             57 52 49 54 46 09 45 51 55 09 33 39 09 3b 57 52 49 54 45 20 44 49 53 4b 0d 0a 20 20 20 20 20 20   ┆WRITF EQU 39 ;WRITE DISK        ┆
0x067300…067320             20 20 20 20 20 20 20 20 20 20 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 45 4c   ┆          ;                  SEL┆
0x067320…067340             3a 09 3b 53 45 4c 45 43 54 20 44 52 49 56 45 20 47 49 56 45 4e 20 42 59 20 52 45 47 49 53 54 45   ┆: ;SELECT DRIVE GIVEN BY REGISTE┆
0x067340…067360             52 20 41 0d 0a 20 30 31 38 39 20 34 46 32 41 30 31 30 30 31 31 09 4d 4f 56 20 43 2c 41 21 20 4c   ┆R A   0189 4F2A010011 MOV C,A! L┆
0x067360…067380             48 4c 44 20 57 42 4f 4f 54 21 20 4c 58 49 20 44 2c 53 45 4c 44 53 4b 21 20 44 41 44 20 44 21 20   ┆HLD WBOOT! LXI D,SELDSK! DAD D! ┆
0x067380…0673a0             50 43 48 4c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 0d 0a 20 20 20 20 20 20 20   ┆PCHL                  ;         ┆
0x0673a0…0673c0             20 20 20 20 20 20 20 20 20 54 52 4b 3a 09 3b 53 45 54 20 54 52 41 43 4b 20 47 49 56 45 4e 20 42   ┆         TRK: ;SET TRACK GIVEN B┆
0x0673c0…0673e0             59 20 43 0d 0a 20 30 31 39 32 20 32 41 30 31 30 30 31 31 31 42 09 4c 48 4c 44 20 57 42 4f 4f 54   ┆Y C   0192 2A0100111B LHLD WBOOT┆
0x0673e0…067400             21 20 4c 58 49 20 44 2c 53 45 54 54 52 4b 21 20 44 41 44 20 44 21 20 50 43 48 4c 0d 0a 20 20 20   ┆! LXI D,SETTRK! DAD D! PCHL     ┆
0x067400…067420 (27, 1, 2)  30 30 31 42 35 30 30 31 31 32 37 30 30 31 39 30 45 30 32 45 39 33 31 30 41 30 37 30 45 37 38 44   ┆001B500112700190E02E9310A070E78D┆
0x067420…067440             42 31 34 45 36 38 30 44 33 0d 0a 3a 31 30 30 31 43 35 30 30 43 41 43 41 30 31 30 45 34 38 37 39   ┆B14E680D3  :1001C500CACA010E4879┆
0x067440…067460             33 32 30 41 30 37 43 44 42 30 30 34 43 44 43 43 30 33 32 31 34 35 0d 0a 3a 31 30 30 31 44 35 30   ┆320A07CDB004CDCC032145  :1001D50┆
0x067460…067480             30 38 33 30 36 37 31 32 33 37 30 32 31 43 34 30 36 34 36 32 33 45 42 32 31 38 37 30 36 31 41 42   ┆0830671237021C4064623EB2187061AB┆
0x067480…0674a0             37 43 46 0d 0a 3a 31 30 30 31 45 35 30 30 43 41 45 46 30 31 31 33 37 37 32 33 30 35 43 32 45 33   ┆7CF  :1001E500CAEF0113772305C2E3┆
0x0674a0…0674c0             30 31 33 36 32 44 32 33 33 36 32 34 43 44 34 42 0d 0a 3a 31 30 30 31 46 35 30 30 45 35 30 34 43   ┆01362D233624CD4B  :1001F500E504C┆
0x0674c0…0674e0             44 43 43 30 33 32 31 41 33 30 36 37 31 32 33 37 30 32 31 43 34 30 36 33 45 30 35 37 39 0d 0a 3a   ┆DCC0321A30671237021C4063E0579  :┆
0x0674e0…067500             31 30 30 32 30 35 30 30 39 36 32 31 41 35 30 36 43 41 31 33 30 32 33 36 33 30 32 33 33 44 43 32   ┆100205009621A506CA13023630233DC2┆
0x067500…067520             30 43 30 32 31 31 43 35 33 43 0d 0a 3a 31 30 30 32 31 35 30 30 30 36 31 41 42 37 43 41 32 31 30   ┆0C0211C53C  :10021500061AB7CA210┆
0x067520…067540             32 37 37 32 33 31 33 43 33 31 36 30 32 43 44 37 45 30 34 43 44 37 31 0d 0a 3a 31 30 30 32 32 35   ┆2772313C31602CD7E04CD71  :100225┆
0x067540…067560             30 30 42 46 30 33 33 45 30 30 33 32 43 44 30 36 43 44 32 39 30 35 43 44 34 33 30 35 43 44 34 46   ┆00BF033E0032CD06CD2905CD4305CD4F┆
0x067560…067580             30 35 39 33 0d 0a 3a 31 30 30 32 33 35 30 30 43 44 42 46 30 33 32 31 33 31 30 31 33 36 30 31 32   ┆0593  :10023500CDBF0321310136012┆
0x067580…0675a0             31 39 30 30 36 33 36 33 30 32 33 33 36 33 30 46 41 0d 0a 3a 31 30 30 32 34 35 30 30 32 31 30 42   ┆190063630233630FA  :10024500210B┆
0x0675a0…0675c0             30 37 32 32 33 32 30 31 43 44 32 38 30 31 43 41 35 37 30 32 43 44 30 44 30 36 43 33 36 35 0d 0a   ┆07223201CD2801CA5702CD0D06C365  ┆
0x0675c0…0675e0             3a 31 30 30 32 35 35 30 30 32 31 30 32 33 41 33 31 30 31 46 45 30 31 43 32 43 35 30 32 32 31 30   ┆:1002550021023A3101FE01C2C502210┆
0x0675e0…067600             42 30 37 30 31 30 30 30 38 34 36 0d 0a 3a 31 30 30 32 36 35 30 30 45 35 43 35 31 31 41 42 30 36   ┆B0701000846  :10026500E5C511AB06┆
0x067600…067620 (27, 1, 3)  09 4c 58 49 20 48 2c 41 53 45 52 49 41 4c 21 20 4a 5a 20 50 41 44 31 20 3b 50 41 44 20 48 49 47   ┆ LXI H,ASERIAL! JZ PAD1 ;PAD HIG┆
0x067620…067640             48 20 4f 52 44 45 52 20 50 4f 53 49 54 49 4f 4e 53 20 57 49 54 48 20 30 0d 0a 20 30 32 30 43 20   ┆H ORDER POSITIONS WITH 0   020C ┆
0x067640…067660             33 36 33 30 32 33 33 44 43 32 09 50 41 44 30 3a 09 4d 56 49 20 4d 2c 27 30 27 21 20 49 4e 58 20   ┆3630233DC2 PAD0: MVI M,'0'! INX ┆
0x067660…067680             48 21 20 44 43 52 20 41 21 20 4a 4e 5a 20 50 41 44 30 0d 0a 20 30 32 31 33 20 31 31 43 35 30 36   ┆H! DCR A! JNZ PAD0   0213 11C506┆
0x067680…0676a0             20 20 20 20 09 50 41 44 31 3a 09 4c 58 49 20 44 2c 43 42 55 46 46 20 3b 41 44 44 52 45 53 53 49   ┆     PAD1: LXI D,CBUFF ;ADDRESSI┆
0x0676a0…0676c0             4e 47 20 42 55 46 46 45 52 0d 0a 20 30 32 31 36 20 31 41 42 37 43 41 32 31 30 32 09 50 41 44 32   ┆NG BUFFER   0216 1AB7CA2102 PAD2┆
0x0676c0…0676e0             3a 09 4c 44 41 58 20 44 21 20 4f 52 41 20 41 21 20 4a 5a 20 50 41 44 33 20 3b 4c 4f 4f 4b 49 4e   ┆: LDAX D! ORA A! JZ PAD3 ;LOOKIN┆
0x0676e0…067700             47 20 46 4f 52 20 42 49 4e 41 52 59 20 30 0d 0a 20 30 32 31 42 20 37 37 32 33 31 33 43 33 31 36   ┆G FOR BINARY 0   021B 772313C316┆
0x067700…067720             09 09 4d 4f 56 20 4d 2c 41 21 20 49 4e 58 20 48 21 20 49 4e 58 20 44 21 20 4a 4d 50 20 50 41 44   ┆  MOV M,A! INX H! INX D! JMP PAD┆
0x067720…067740             32 20 3b 46 4f 52 20 41 4e 4f 54 48 45 52 20 43 48 41 52 0d 0a 20 20 20 20 20 20 20 20 20 20 20   ┆2 ;FOR ANOTHER CHAR             ┆
0x067740…067760             20 20 20 20 20 09 50 41 44 33 3a 09 3b 45 4e 44 20 4f 46 20 41 53 43 49 49 20 46 49 4c 4c 20 28   ┆      PAD3: ;END OF ASCII FILL (┆
0x067760…067780             4e 4f 57 20 52 49 47 48 54 20 41 44 4a 55 53 54 45 44 20 49 4e 20 41 53 45 52 49 41 4c 29 0d 0a   ┆NOW RIGHT ADJUSTED IN ASERIAL)  ┆
0x067780…0677a0             20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆                ;               ┆
0x0677a0…0677c0             20 20 20 52 44 44 53 4b 3a 09 3b 52 45 41 44 20 44 49 53 4b 20 41 4e 44 20 43 4f 50 59 0d 0a 20   ┆   RDDSK: ;READ DISK AND COPY   ┆
0x0677c0…0677e0             30 32 32 31 20 43 44 37 45 30 34 43 44 42 46 09 43 41 4c 4c 20 49 4e 53 4d 53 47 21 20 43 41 4c   ┆0221 CD7E04CDBF CALL INSMSG! CAL┆
0x0677e0…067800             4c 20 43 49 20 3b 57 41 49 54 20 46 4f 52 20 52 45 53 50 4f 4e 53 45 0d 0a 20 20 20 20 20 20 20   ┆L CI ;WAIT FOR RESPONSE         ┆
0x067800…067820 (27, 1, 4)  52 0d 0a 20 30 32 39 32 20 45 42 32 41 41 33 30 36 45 42 09 09 58 43 48 47 21 20 4c 48 4c 44 20   ┆R   0292 EB2AA306EB  XCHG! LHLD ┆
0x067820…067840             42 53 45 52 49 41 4c 21 20 58 43 48 47 21 20 4d 4f 56 20 4d 2c 44 21 20 49 4e 58 20 48 21 20 4d   ┆BSERIAL! XCHG! MOV M,D! INX H! M┆
0x067840…067860             4f 56 20 4d 2c 45 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 09 09 3b 46 49 52 53 54   ┆OV M,E                    ;FIRST┆
0x067860…067880             20 53 45 52 49 41 4c 20 4e 55 4d 42 45 52 20 49 53 20 53 54 4f 52 45 44 2c 20 4e 4f 57 20 43 4f   ┆ SERIAL NUMBER IS STORED, NOW CO┆
0x067880…0678a0             50 59 20 54 4f 20 42 44 4f 53 0d 0a 20 30 32 39 41 20 43 31 43 35 31 31 30 42 30 46 09 09 50 4f   ┆PY TO BDOS   029A C1C5110B0F  PO┆
0x0678a0…0678c0             50 20 42 21 20 50 55 53 48 20 42 21 20 4c 58 49 20 44 2c 42 44 4f 53 56 0d 0a 20 20 20 20 20 20   ┆P B! PUSH B! LXI D,BDOSV        ┆
0x0678c0…0678e0             20 20 20 20 20 20 20 20 20 20 3b 09 09 43 4f 4d 50 55 54 45 20 44 49 46 46 45 52 45 4e 43 45 20   ┆          ;  COMPUTE DIFFERENCE ┆
0x0678e0…067900             49 4e 20 41 44 44 52 45 53 53 45 53 20 46 4f 52 20 4c 41 54 45 52 0d 0a 20 30 32 39 46 20 37 42   ┆IN ADDRESSES FOR LATER   029F 7B┆
0x067900…067920             39 31 36 46 20 20 20 20 09 09 4d 4f 56 20 41 2c 45 21 20 53 55 42 20 43 21 20 4d 4f 56 20 4c 2c   ┆916F      MOV A,E! SUB C! MOV L,┆
0x067920…067940             41 0d 0a 20 30 32 41 32 20 37 41 39 38 36 37 32 32 43 45 09 09 4d 4f 56 20 41 2c 44 21 20 53 42   ┆A   02A2 7A986722CE  MOV A,D! SB┆
0x067940…067960             42 20 42 21 20 4d 4f 56 20 48 2c 41 21 20 53 48 4c 44 20 53 44 49 46 46 0d 0a 20 30 32 41 38 20   ┆B B! MOV H,A! SHLD SDIFF   02A8 ┆
0x067960…067980             45 31 30 45 30 36 20 20 20 20 09 09 50 4f 50 20 48 21 20 4d 56 49 20 43 2c 36 20 3b 4c 45 4e 47   ┆E10E06      POP H! MVI C,6 ;LENG┆
0x067980…0679a0             54 48 20 4f 46 20 53 45 52 49 41 4c 20 4e 55 4d 42 45 52 0d 0a 20 20 20 20 20 20 20 20 20 20 20   ┆TH OF SERIAL NUMBER             ┆
0x0679a0…0679c0             20 20 20 20 20 3b 09 09 48 2c 4c 20 41 44 44 52 45 53 53 20 53 54 41 52 54 20 4f 46 20 53 45 52   ┆     ;  H,L ADDRESS START OF SER┆
0x0679c0…0679e0             49 41 4c 20 4e 55 4d 42 45 52 2c 20 44 2c 45 20 41 44 44 52 45 53 53 20 53 45 43 4f 4e 44 20 23   ┆IAL NUMBER, D,E ADDRESS SECOND #┆
0x0679e0…067a00             0d 0a 20 30 32 41 42 20 37 45 31 32 31 33 32 33 30 44 09 09 43 4f 50 59 30 3a 20 4d 4f 56 20 41   ┆   02AB 7E1213230D  COPY0: MOV A┆
0x067a00…067a20 (27, 1, 5)  20 20 20 20 20 20 20 20 20 20 20 20 20 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆             ;                  ┆
0x067a20…067a40             53 45 43 3a 09 3b 53 45 54 20 53 45 43 54 4f 52 20 47 49 56 45 4e 20 42 59 20 43 0d 0a 20 30 31   ┆SEC: ;SET SECTOR GIVEN BY C   01┆
0x067a40…067a60             39 41 20 32 41 30 31 30 30 31 31 31 45 09 4c 48 4c 44 20 57 42 4f 4f 54 21 20 4c 58 49 20 44 2c   ┆9A 2A0100111E LHLD WBOOT! LXI D,┆
0x067a60…067a80             53 45 54 53 45 43 21 20 44 41 44 20 44 21 20 50 43 48 4c 0d 0a 20 20 20 20 20 20 20 20 20 20 20   ┆SETSEC! DAD D! PCHL             ┆
0x067a80…067aa0             20 20 20 20 20 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 4d 41 3a 09 3b 53 45   ┆     ;                  DMA: ;SE┆
0x067aa0…067ac0             54 20 44 4d 41 20 41 44 44 52 45 53 53 20 54 4f 20 56 41 4c 55 45 20 4f 46 20 42 2c 43 0d 0a 20   ┆T DMA ADDRESS TO VALUE OF B,C   ┆
0x067ac0…067ae0             30 31 41 32 20 32 41 30 31 30 30 31 31 32 31 09 4c 48 4c 44 20 57 42 4f 4f 54 21 20 4c 58 49 20   ┆01A2 2A01001121 LHLD WBOOT! LXI ┆
0x067ae0…067b00             44 2c 53 45 54 44 4d 41 21 20 44 41 44 20 44 21 20 50 43 48 4c 0d 0a 20 20 20 20 20 20 20 20 20   ┆D,SETDMA! DAD D! PCHL           ┆
0x067b00…067b20             20 20 20 20 20 20 20 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 52 45 41 44 3a   ┆       ;                  DREAD:┆
0x067b20…067b40             09 3b 50 45 52 46 4f 52 4d 20 52 45 41 44 20 4f 50 45 52 41 54 49 4f 4e 0d 0a 20 30 31 41 41 20   ┆ ;PERFORM READ OPERATION   01AA ┆
0x067b40…067b60             32 41 30 31 30 30 31 31 32 34 09 4c 48 4c 44 20 57 42 4f 4f 54 21 20 4c 58 49 20 44 2c 52 45 41   ┆2A01001124 LHLD WBOOT! LXI D,REA┆
0x067b60…067b80             44 46 21 20 44 41 44 20 44 21 20 50 43 48 4c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆DF! DAD D! PCHL                 ┆
0x067b80…067ba0             20 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 57 52 49 54 45 3a 09 3b 50 45 52   ┆ ;                  DWRITE: ;PER┆
0x067ba0…067bc0             46 4f 52 4d 20 57 52 49 54 45 20 4f 50 45 52 41 54 49 4f 4e 0d 0a 20 30 31 42 32 20 32 41 30 31   ┆FORM WRITE OPERATION   01B2 2A01┆
0x067bc0…067be0             30 30 31 31 32 37 09 4c 48 4c 44 20 57 42 4f 4f 54 21 20 4c 58 49 20 44 2c 57 52 49 54 46 21 20   ┆001127 LHLD WBOOT! LXI D,WRITF! ┆
0x067be0…067c00             44 41 44 20 44 21 20 4d 56 49 20 43 2c 32 20 21 20 50 43 48 4c 0d 0a 20 20 20 20 20 20 20 20 20   ┆DAD D! MVI C,2 ! PCHL           ┆
0x067c00…067c20 (27, 1, 6)  30 45 30 43 31 41 32 46 42 45 43 32 42 36 30 32 32 33 31 33 31 41 33 32 0d 0a 3a 31 30 30 32 37   ┆0E0C1A2FBEC2B60223131A32  :10027┆
0x067c20…067c40             35 30 30 32 46 42 45 43 32 42 36 30 32 32 33 31 33 30 44 43 32 36 43 30 32 43 31 44 31 45 35 45   ┆5002FBEC2B60223130DC26C02C1D1E5E┆
0x067c40…067c60             42 32 41 31 33 0d 0a 3a 31 30 30 32 38 35 30 30 38 33 30 36 45 42 37 33 32 33 33 36 31 36 32 33   ┆B2A13  :100285008306EB7323361623┆
0x067c60…067c80             37 32 32 33 33 36 30 30 32 33 45 42 32 41 41 33 34 41 0d 0a 3a 31 30 30 32 39 35 30 30 30 36 45   ┆7223360023EB2AA34A  :1002950006E┆
0x067c80…067ca0             42 37 32 32 33 37 33 43 31 43 35 31 31 30 42 30 46 37 42 39 31 36 46 37 41 39 38 36 37 42 42 0d   ┆B722373C1C5110B0F7B916F7A9867BB ┆
0x067ca0…067cc0             0a 3a 31 30 30 32 41 35 30 30 32 32 43 45 30 36 45 31 30 45 30 36 37 45 31 32 31 33 32 33 30 44   ┆ :1002A50022CE06E10E067E1213230D┆
0x067cc0…067ce0             43 32 41 42 30 32 43 33 33 32 32 37 0d 0a 3a 31 30 30 32 42 35 30 30 30 33 43 31 45 31 32 33 30   ┆C2AB02C33227  :1002B50003C1E1230┆
0x067ce0…067d00             42 37 39 42 30 43 32 36 35 30 32 43 44 39 44 30 35 43 33 32 31 30 32 42 46 0d 0a 3a 31 30 30 32   ┆B79B0C26502CD9D05C32102BF  :1002┆
0x067d00…067d20             43 35 30 30 46 45 30 30 43 32 33 32 30 33 32 31 30 30 30 30 30 31 30 30 33 43 45 35 43 35 31 31   ┆C500FE00C2320321000001003CE5C511┆
0x067d20…067d40             41 42 30 36 36 41 0d 0a 3a 31 30 30 32 44 35 30 30 30 45 30 43 45 35 43 44 32 45 30 34 31 41 32   ┆AB066A  :1002D5000E0CE5CD2E041A2┆
0x067d40…067d60             46 42 45 45 31 43 32 32 33 30 33 32 33 31 33 45 35 33 30 0d 0a 3a 31 30 30 32 45 35 30 30 43 44   ┆FBEE1C223032313E530  :1002E500CD┆
0x067d60…067d80             32 45 30 34 31 41 32 46 42 45 45 31 43 32 32 33 30 33 32 33 31 33 30 44 43 32 44 37 30 32 35 43   ┆2E041A2FBEE1C2230323130DC2D7025C┆
0x067d80…067da0             0d 0a 3a 31 30 30 32 46 35 30 30 43 31 44 31 45 35 43 44 35 43 30 34 45 31 45 42 32 41 43 45 30   ┆  :1002F500C1D1E5CD5C04E1EB2ACE0┆
0x067da0…067dc0             36 31 39 37 44 42 37 43 32 32 43 35 30 0d 0a 3a 31 30 30 33 30 35 30 30 30 33 45 42 32 31 43 44   ┆6197DB7C22C50  :1003050003EB21CD┆
0x067dc0…067de0             30 36 33 36 30 30 33 34 37 42 44 36 30 30 34 37 37 41 44 45 30 44 44 41 43 35 0d 0a 3a 31 30 30   ┆063600347BD600477ADE0DDAC5  :100┆
0x067de0…067e00             33 31 35 30 30 31 43 30 33 35 37 35 38 43 33 30 43 30 33 45 42 32 32 43 45 30 36 43 33 33 32 30   ┆315001C035758C30C03EB22CE06C3320┆
0x067e00…067e20 (27, 1, 7)  20 20 20 20 20 20 20 20 20 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4e 45 58 54   ┆         ;                  NEXT┆
0x067e20…067e40             44 49 53 4b 3a 0d 0a 20 30 32 32 37 20 33 45 30 30 33 32 43 44 30 36 09 4d 56 49 20 41 2c 30 21   ┆DISK:   0227 3E0032CD06 MVI A,0!┆
0x067e40…067e60             20 53 54 41 20 53 54 52 41 43 4b 20 3b 4d 41 52 4b 20 41 53 20 4d 4f 56 43 50 4d 2e 43 4f 4d 20   ┆ STA STRACK ;MARK AS MOVCPM.COM ┆
0x067e60…067e80             20 53 45 52 49 41 4c 49 5a 45 44 0d 0a 20 30 32 32 43 20 43 44 32 39 30 35 43 44 34 33 09 43 41   ┆ SERIALIZED   022C CD2905CD43 CA┆
0x067e80…067ea0             4c 4c 20 43 55 52 4d 53 47 21 20 43 41 4c 4c 20 41 53 45 52 4d 53 47 21 20 43 41 4c 4c 20 4e 45   ┆LL CURMSG! CALL ASERMSG! CALL NE┆
0x067ea0…067ec0             57 4d 53 47 21 20 43 41 4c 4c 20 43 49 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 09   ┆WMSG! CALL CI                   ┆
0x067ec0…067ee0             3b 4e 45 57 20 44 49 53 4b 20 49 53 20 52 45 41 44 59 2c 20 54 52 59 20 54 48 45 20 43 4f 50 59   ┆;NEW DISK IS READY, TRY THE COPY┆
0x067ee0…067f00             20 4f 50 45 52 41 54 49 4f 4e 0d 0a 20 30 32 33 38 20 32 31 33 31 30 31 33 36 30 31 09 4c 58 49   ┆ OPERATION   0238 2131013601 LXI┆
0x067f00…067f20             20 48 2c 54 52 41 43 4b 21 20 4d 56 49 20 4d 2c 31 20 3b 43 4c 45 41 52 20 54 48 45 20 54 52 41   ┆ H,TRACK! MVI M,1 ;CLEAR THE TRA┆
0x067f20…067f40             43 4b 20 4e 55 4d 42 45 52 0d 0a 20 30 32 33 44 20 32 31 39 30 30 36 33 36 33 30 09 4c 58 49 20   ┆CK NUMBER   023D 2190063630 LXI ┆
0x067f40…067f60             48 2c 54 52 43 4f 55 4e 54 21 20 4d 56 49 20 4d 2c 27 30 27 21 20 49 4e 58 20 48 21 20 4d 56 49   ┆H,TRCOUNT! MVI M,'0'! INX H! MVI┆
0x067f60…067f80             20 4d 2c 27 30 27 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 0d 0a 20 20 20 20 20   ┆ M,'0'                  ;       ┆
0x067f80…067fa0             20 20 20 20 20 20 20 20 20 20 20 52 44 54 52 4b 3a 09 3b 52 45 41 44 20 54 48 45 20 4e 45 58 54   ┆           RDTRK: ;READ THE NEXT┆
0x067fa0…067fc0             20 53 4f 55 52 43 45 20 54 52 41 43 4b 2c 20 43 4f 4d 50 41 52 45 20 57 49 54 48 20 30 45 35 48   ┆ SOURCE TRACK, COMPARE WITH 0E5H┆
0x067fc0…067fe0             20 46 4f 52 20 45 4e 44 0d 0a 20 30 32 34 35 20 32 31 30 42 30 37 32 32 33 32 09 4c 58 49 20 48   ┆ FOR END   0245 210B072232 LXI H┆
0x067fe0…068000             2c 49 42 55 46 46 21 20 53 48 4c 44 20 42 55 46 46 41 21 20 43 41 4c 4c 20 52 45 41 44 54 52 4b   ┆,IBUFF! SHLD BUFFA! CALL READTRK┆
0x068000…068020 (27, 1, 8)  2c 4d 21 20 53 54 41 58 20 44 21 20 49 4e 58 20 44 21 20 49 4e 58 20 48 21 20 44 43 52 20 43 0d   ┆,M! STAX D! INX D! INX H! DCR C ┆
0x068020…068040             0a 20 30 32 42 30 20 43 32 41 42 30 32 20 20 20 20 09 09 09 4a 4e 5a 20 43 4f 50 59 30 0d 0a 20   ┆  02B0 C2AB02       JNZ COPY0   ┆
0x068040…068060             20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 09 09 3b 42 44 4f 53 20 53 45 52 49 41 4c 20 4e 55   ┆                 ;BDOS SERIAL NU┆
0x068060…068080             4d 42 45 52 20 49 53 20 43 4f 50 49 45 44 0d 0a 20 30 32 42 33 20 43 33 33 32 30 33 20 20 20 20   ┆MBER IS COPIED   02B3 C33203    ┆
0x068080…0680a0             09 09 4a 4d 50 20 52 44 54 52 4b 4e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 09 09   ┆  JMP RDTRKN                    ┆
0x0680a0…0680c0             3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 09 4e 4f 4d 41 54 43 48 3a 20 3b 54 52   ┆;                   NOMATCH: ;TR┆
0x0680c0…0680e0             59 20 46 4f 52 20 4e 45 58 54 20 4d 41 54 43 48 0d 0a 20 30 32 42 36 20 43 31 45 31 32 33 30 42   ┆Y FOR NEXT MATCH   02B6 C1E1230B┆
0x0680e0…068100             37 39 09 09 50 4f 50 20 42 21 20 50 4f 50 20 48 21 20 49 4e 58 20 48 21 20 44 43 58 20 42 21 20   ┆79  POP B! POP H! INX H! DCX B! ┆
0x068100…068120             4d 4f 56 20 41 2c 43 21 20 4f 52 41 20 42 0d 0a 20 30 32 42 43 20 43 32 36 35 30 32 20 20 20 20   ┆MOV A,C! ORA B   02BC C26502    ┆
0x068120…068140             09 09 4a 4e 5a 20 53 45 41 52 43 48 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 09 09   ┆  JNZ SEARCH                    ┆
0x068140…068160             3b 4e 4f 54 20 46 4f 55 4e 44 0d 0a 20 30 32 42 46 20 43 44 39 44 30 35 43 33 32 31 09 09 43 41   ┆;NOT FOUND   02BF CD9D05C321  CA┆
0x068160…068180             4c 4c 20 42 41 44 44 53 4b 21 20 4a 4d 50 20 52 44 44 53 4b 0d 0a 20 20 20 20 20 20 20 20 20 20   ┆LL BADDSK! JMP RDDSK            ┆
0x068180…0681a0             20 20 20 20 20 20 09 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 09 51 54 52 4b 33   ┆       ;                   QTRK3┆
0x0681a0…0681c0             3a 09 3b 49 53 20 54 48 49 53 20 54 52 41 43 4b 20 4d 4f 56 54 52 4b 3f 20 49 46 20 53 4f 2c 20   ┆: ;IS THIS TRACK MOVTRK? IF SO, ┆
0x0681c0…0681e0             4c 4f 4f 4b 20 46 4f 52 20 43 50 4d 2e 43 4f 4d 0d 0a 20 30 32 43 35 20 46 45 30 30 43 32 33 32   ┆LOOK FOR CPM.COM   02C5 FE00C232┆
0x0681e0…068200             30 33 09 09 43 50 49 20 4d 4f 56 54 52 4b 21 20 4a 4e 5a 20 52 44 54 52 4b 4e 0d 0a 20 20 20 20   ┆03  CPI MOVTRK! JNZ RDTRKN      ┆
0x068200…068220 (27, 1, 9)  20 20 20 20 20 20 20 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 54 41 52 54 3a   ┆       ;                  START:┆
0x068220…068240             0d 0a 20 30 31 42 43 20 33 31 30 41 30 37 20 20 20 20 09 4c 58 49 09 53 50 2c 53 54 41 43 4b 0d   ┆   01BC 310A07     LXI SP,STACK ┆
0x068240…068260             0a 20 30 31 42 46 20 30 45 37 38 20 20 20 20 20 20 09 4d 56 49 09 43 2c 31 32 30 0d 0a 20 30 31   ┆  01BF 0E78       MVI C,120   01┆
0x068260…068280             43 31 20 44 42 31 34 20 20 20 20 20 20 09 49 4e 09 53 57 31 0d 0a 20 30 31 43 33 20 45 36 38 30   ┆C1 DB14       IN SW1   01C3 E680┆
0x068280…0682a0             20 20 20 20 20 20 09 41 4e 49 09 30 38 30 48 0d 0a 20 30 31 43 35 20 43 41 43 41 30 31 20 20 20   ┆       ANI 080H   01C5 CACA01   ┆
0x0682a0…0682c0             20 09 4a 5a 09 53 45 54 53 50 54 0d 0a 20 30 31 43 38 20 30 45 34 38 20 20 20 20 20 20 09 4d 56   ┆  JZ SETSPT   01C8 0E48       MV┆
0x0682c0…0682e0             49 09 43 2c 37 32 0d 0a 20 30 31 43 41 20 37 39 20 20 20 20 20 20 20 20 53 45 54 53 50 54 3a 09   ┆I C,72   01CA 79        SETSPT: ┆
0x0682e0…068300             4d 4f 56 09 41 2c 43 0d 0a 20 30 31 43 42 20 33 32 30 41 30 37 20 20 20 20 09 53 54 41 09 53 50   ┆MOV A,C   01CB 320A07     STA SP┆
0x068300…068320             54 0d 0a 20 30 31 43 45 20 43 44 42 30 30 34 20 20 20 20 09 43 41 4c 4c 09 4f 52 47 4d 53 47 09   ┆T   01CE CDB004     CALL ORGMSG ┆
0x068320…068340             3b 4f 52 49 47 49 4e 20 50 52 4f 4d 50 54 0d 0a 20 30 31 44 31 20 43 44 43 43 30 33 20 20 20 20   ┆;ORIGIN PROMPT   01D1 CDCC03    ┆
0x068340…068360             09 43 41 4c 4c 09 52 45 41 44 0d 0a 20 30 31 44 34 20 32 31 38 33 30 36 37 31 32 33 09 4c 58 49   ┆ CALL READ   01D4 2183067123 LXI┆
0x068360…068380             20 48 2c 4f 52 49 47 49 4e 21 20 4d 4f 56 20 4d 2c 43 21 20 69 6e 78 20 68 21 20 6d 6f 76 20 6d   ┆ H,ORIGIN! MOV M,C! inx h! mov m┆
0x068380…0683a0             2c 62 20 3b 53 41 56 45 44 20 54 48 45 20 4f 52 49 47 49 4e 20 4e 55 4d 42 45 52 0d 0a 20 30 31   ┆,b ;SAVED THE ORIGIN NUMBER   01┆
0x0683a0…0683c0             44 41 20 32 31 43 34 30 36 34 36 32 33 09 4c 58 49 20 48 2c 43 4f 4d 4c 45 4e 21 20 4d 4f 56 20   ┆DA 21C4064623 LXI H,COMLEN! MOV ┆
0x0683c0…0683e0             42 2c 4d 21 20 49 4e 58 20 48 21 20 58 43 48 47 0d 0a 20 30 31 45 30 20 32 31 38 37 30 36 20 20   ┆B,M! INX H! XCHG   01E0 218706  ┆
0x0683e0…068400             20 20 09 4c 58 49 20 48 2c 41 4f 52 49 47 49 4e 20 3b 41 53 43 49 49 20 56 45 52 53 49 4f 4e 20   ┆   LXI H,AORIGIN ;ASCII VERSION ┆
0x068400…068420 (27, 1, 10) 33 43 31 45 31 42 44 0d 0a 3a 31 30 30 33 32 35 30 30 32 33 30 42 37 38 42 31 43 32 44 30 30 32   ┆3C1E1BD  :10032500230B78B1C2D002┆
0x068420…068440             43 44 37 38 30 35 43 33 32 31 30 32 32 31 43 44 30 36 42 39 0d 0a 3a 31 30 30 33 33 35 30 30 37   ┆CD7805C3210221CD06B9  :100335007┆
0x068440…068460             45 42 37 43 41 34 34 30 33 33 35 43 32 34 34 30 33 32 41 43 45 30 36 43 44 35 43 30 34 32 31 45   ┆EB7CA440335C244032ACE06CD5C0421E┆
0x068460…068480             38 0d 0a 3a 31 30 30 33 34 35 30 30 30 42 30 37 30 31 30 30 33 43 33 45 45 35 42 45 43 32 37 30   ┆8  :100345000B0701003C3EE5BEC270┆
0x068480…0684a0             30 33 32 33 30 42 37 39 42 30 43 32 32 41 0d 0a 3a 31 30 30 33 35 35 30 30 34 41 30 33 33 41 43   ┆03230B79B0C22A  :100355004A033AC┆
0x0684a0…0684c0             44 30 36 42 37 43 41 36 34 30 33 43 44 37 38 30 35 43 33 32 31 30 32 31 31 31 35 0d 0a 3a 31 30   ┆D06B7CA6403CD7805C321021115  :10┆
0x0684c0…0684e0             30 33 36 35 30 30 38 45 30 36 43 44 43 34 30 33 43 44 30 42 30 34 43 33 32 37 30 32 43 44 32 42   ┆0365008E06CDC403CD0B04C32702CD2B┆
0x0684e0…068500             30 31 43 41 37 43 35 39 0d 0a 3a 31 30 30 33 37 35 30 30 30 33 43 44 33 33 30 36 43 33 32 37 30   ┆01CA7C59  :1003750003CD3306C3270┆
0x068500…068520             32 32 31 30 42 34 33 32 32 33 32 30 31 43 44 32 45 30 31 43 33 0d 0a 3a 31 30 30 33 38 35 30 30   ┆2210B43223201CD2E01C3  :10038500┆
0x068520…068540             43 41 38 45 30 33 43 44 35 41 30 36 43 33 32 37 30 32 32 31 30 42 30 37 31 31 30 42 34 33 30 31   ┆CA8E03CD5A06C32702210B07110B4301┆
0x068540…068560             36 31 0d 0a 3a 31 30 30 33 39 35 30 30 30 30 33 43 31 41 42 45 43 32 42 39 30 33 32 33 31 33 30   ┆61  :10039500003C1ABEC2B90323130┆
0x068560…068580             42 37 39 42 30 43 32 39 37 30 33 32 31 44 46 0d 0a 3a 31 30 30 33 41 35 30 30 33 31 30 31 33 34   ┆B79B0C2970321DF  :1003A500310134┆
0x068580…0685a0             32 31 39 31 30 36 33 34 37 45 46 45 33 41 44 41 34 35 30 32 33 36 33 30 32 42 38 45 0d 0a 3a 31   ┆219106347EFE3ADA450236302B8E  :1┆
0x0685a0…0685c0             30 30 33 42 35 30 30 33 34 43 33 34 35 30 32 43 44 43 39 30 35 43 33 32 37 30 32 30 45 30 31 43   ┆003B50034C34502CDC905C327020E01C┆
0x0685c0…0685e0             33 30 35 30 30 30 45 38 45 0d 0a 3a 31 30 30 33 43 35 30 30 30 39 43 33 30 35 30 30 43 44 30 36   ┆305000E8E  :1003C50009C30500CD06┆
0x0685e0…068600             30 35 31 31 43 33 30 36 30 45 30 41 43 44 30 35 30 30 32 31 39 41 0d 0a 3a 31 30 30 33 44 35 30   ┆0511C3060E0ACD0500219A  :1003D50┆
0x068600…068620 (27, 1, 11) 0d 0a 20 30 32 34 45 20 43 41 35 37 30 32 43 44 30 44 09 09 4a 5a 20 52 45 41 44 4f 4b 21 20 43   ┆   024E CA5702CD0D  JZ READOK! C┆
0x068620…068640             41 4c 4c 20 52 45 41 44 30 4d 53 47 21 20 4a 4d 50 20 52 44 44 53 4b 0d 0a 20 20 20 20 20 20 20   ┆ALL READ0MSG! JMP RDDSK         ┆
0x068640…068660             20 20 20 20 20 20 20 20 20 09 52 45 41 44 4f 4b 3a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆          READOK:               ┆
0x068660…068680             20 20 20 09 3b 54 52 41 43 4b 20 49 53 20 49 4e 20 4d 45 4d 4f 52 59 2c 20 54 52 41 43 4b 20 31   ┆    ;TRACK IS IN MEMORY, TRACK 1┆
0x068680…0686a0             3f 0d 0a 20 30 32 35 37 20 33 41 33 31 30 31 46 45 30 31 09 4c 44 41 20 54 52 41 43 4b 21 20 43   ┆?   0257 3A3101FE01 LDA TRACK! C┆
0x0686a0…0686c0             50 49 20 31 21 20 4a 4e 5a 20 51 54 52 4b 33 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆PI 1! JNZ QTRK3                 ┆
0x0686c0…0686e0             20 09 09 3b 54 52 41 43 4b 20 30 2c 20 4c 4f 4f 4b 20 46 4f 52 20 53 45 52 49 41 4c 20 4e 55 4d   ┆   ;TRACK 0, LOOK FOR SERIAL NUM┆
0x0686e0…068700             42 45 52 0d 0a 20 30 32 35 46 20 32 31 30 42 30 37 30 31 30 30 09 09 4c 58 49 20 48 2c 43 43 50   ┆BER   025F 210B070100  LXI H,CCP┆
0x068700…068720             56 21 20 4c 58 49 20 42 2c 53 4c 45 4e 0d 0a 20 30 32 36 35 20 45 35 43 35 31 31 41 42 30 36 09   ┆V! LXI B,SLEN   0265 E5C511AB06 ┆
0x068720…068740             09 53 45 41 52 43 48 3a 09 50 55 53 48 20 48 21 20 50 55 53 48 20 42 21 20 4c 58 49 20 44 2c 43   ┆ SEARCH: PUSH H! PUSH B! LXI D,C┆
0x068740…068760             4f 4d 50 41 52 45 21 20 4d 56 49 20 43 2c 43 4f 4d 50 4c 45 4e 0d 0a 20 30 32 36 43 20 31 41 32   ┆OMPARE! MVI C,COMPLEN   026C 1A2┆
0x068760…068780             46 42 45 43 32 42 36 09 09 43 4f 4d 50 30 3a 09 4c 44 41 58 20 44 21 20 43 4d 41 21 20 43 4d 50   ┆FBEC2B6  COMP0: LDAX D! CMA! CMP┆
0x068780…0687a0             20 4d 21 20 4a 4e 5a 20 4e 4f 4d 41 54 43 48 0d 0a 20 30 32 37 32 20 32 33 31 33 31 41 32 46 42   ┆ M! JNZ NOMATCH   0272 23131A2FB┆
0x0687a0…0687c0             45 09 09 09 49 4e 58 20 48 21 20 49 4e 58 20 44 21 20 4c 44 41 58 20 44 21 20 43 4d 41 21 20 43   ┆E   INX H! INX D! LDAX D! CMA! C┆
0x0687c0…0687e0             4d 50 20 4d 21 20 4a 4e 5a 20 4e 4f 4d 41 54 43 48 0d 0a 20 30 32 37 41 20 32 33 31 33 30 44 43   ┆MP M! JNZ NOMATCH   027A 23130DC┆
0x0687e0…068800             32 36 43 09 09 09 49 4e 58 20 48 21 20 49 4e 58 20 44 21 20 44 43 52 20 43 21 20 4a 4e 5a 20 43   ┆26C   INX H! INX D! DCR C! JNZ C┆
0x068800…068820 (27, 1, 12) 20 20 20 20 20 20 20 20 20 20 20 20 09 09 3b 4c 4f 4f 4b 20 46 4f 52 20 53 45 52 49 41 4c 20 4e   ┆              ;LOOK FOR SERIAL N┆
0x068820…068840             55 4d 42 45 52 0d 0a 20 30 32 43 41 20 32 31 30 30 30 30 30 31 30 30 09 09 4c 58 49 20 48 2c 30   ┆UMBER   02CA 2100000100  LXI H,0┆
0x068840…068860             21 20 4c 58 49 20 42 2c 54 52 4c 45 4e 20 3b 54 52 41 43 4b 20 4c 45 4e 47 54 48 20 49 4e 20 42   ┆! LXI B,TRLEN ;TRACK LENGTH IN B┆
0x068860…068880             2c 43 0d 0a 20 30 32 44 30 20 45 35 43 35 20 20 20 20 20 20 09 09 51 54 52 30 3a 20 50 55 53 48   ┆,C   02D0 E5C5        QTR0: PUSH┆
0x068880…0688a0             20 48 21 20 50 55 53 48 20 42 20 3b 53 41 56 45 20 42 41 53 45 20 41 44 44 52 45 53 53 20 41 4e   ┆ H! PUSH B ;SAVE BASE ADDRESS AN┆
0x0688a0…0688c0             44 20 4c 45 4e 47 54 48 0d 0a 20 30 32 44 32 20 31 31 41 42 30 36 30 45 30 43 09 09 09 4c 58 49   ┆D LENGTH   02D2 11AB060E0C   LXI┆
0x0688c0…0688e0             20 44 2c 43 4f 4d 50 41 52 45 21 20 4d 56 49 20 43 2c 43 4f 4d 50 4c 45 4e 0d 0a 20 20 20 20 20   ┆ D,COMPARE! MVI C,COMPLEN       ┆
0x0688e0…068900             20 20 20 20 20 20 20 20 20 20 20 09 09 09 51 54 52 31 3a 20 3b 54 52 59 20 54 4f 20 4d 41 54 43   ┆              QTR1: ;TRY TO MATC┆
0x068900…068920             48 20 41 4e 4f 54 48 45 52 20 43 48 41 52 0d 0a 20 30 32 44 37 20 45 35 43 44 32 45 30 34 31 41   ┆H ANOTHER CHAR   02D7 E5CD2E041A┆
0x068920…068940             09 09 09 09 50 55 53 48 20 48 21 20 43 41 4c 4c 20 54 52 41 4e 53 4c 41 54 45 21 20 4c 44 41 58   ┆    PUSH H! CALL TRANSLATE! LDAX┆
0x068940…068960             20 44 0d 0a 20 30 32 44 43 20 32 46 42 45 20 20 20 20 20 20 09 09 09 09 43 4d 41 21 20 43 4d 50   ┆ D   02DC 2FBE          CMA! CMP┆
0x068960…068980             20 4d 21 20 3b 46 4c 41 47 53 20 53 45 54 20 49 46 20 45 51 55 41 4c 0d 0a 20 30 32 44 45 20 45   ┆ M! ;FLAGS SET IF EQUAL   02DE E┆
0x068980…0689a0             31 43 32 32 33 30 33 20 20 09 09 09 09 50 4f 50 20 48 21 20 4a 4e 5a 20 4e 4f 4d 41 54 33 0d 0a   ┆1C22303      POP H! JNZ NOMAT3  ┆
0x0689a0…0689c0             20 30 32 45 32 20 32 33 31 33 20 20 20 20 20 20 09 09 09 09 49 4e 58 20 48 21 20 49 4e 58 20 44   ┆ 02E2 2313          INX H! INX D┆
0x0689c0…0689e0             21 0d 0a 20 30 32 45 34 20 45 35 43 44 32 45 30 34 31 41 09 09 09 09 50 55 53 48 20 48 21 20 43   ┆!   02E4 E5CD2E041A    PUSH H! C┆
0x0689e0…068a00             41 4c 4c 20 54 52 41 4e 53 4c 41 54 45 21 20 4c 44 41 58 20 44 0d 0a 20 30 32 45 39 20 32 46 42   ┆ALL TRANSLATE! LDAX D   02E9 2FB┆
0x068a00…068a20 (27, 1, 13) 3a 31 30 30 31 30 30 30 30 43 33 42 43 30 31 34 33 34 46 35 30 35 39 35 32 34 39 34 37 34 38 35   ┆:10010000C3BC01434F5059524947485┆
0x068a20…068a40             34 32 30 32 38 34 33 32 39 30 32 0d 0a 3a 31 30 30 31 31 30 30 30 32 30 33 31 33 39 33 38 33 30   ┆42028432902  :100110002031393830┆
0x068a40…068a60             32 43 32 30 34 34 34 39 34 37 34 39 35 34 34 31 34 43 32 30 35 32 33 31 0d 0a 3a 31 30 30 31 32   ┆2C204449474954414C205231  :10012┆
0x068a60…068a80             30 30 30 34 35 35 33 34 35 34 31 35 32 34 33 34 38 32 30 43 33 33 35 30 31 43 33 33 43 30 31 43   ┆0004553454152434820C33501C33C01C┆
0x068a80…068aa0             33 34 37 42 31 0d 0a 3a 30 31 30 31 33 30 30 30 30 31 43 44 0d 0a 3a 31 30 30 31 33 35 30 30 41   ┆347B1  :0101300001CD  :10013500A┆
0x068aa0…068ac0             46 43 44 38 39 30 31 43 33 34 43 30 31 33 45 30 31 33 32 33 34 30 31 43 44 38 39 30 31 43 33 45   ┆FCD8901C34C013E01323401CD8901C3E┆
0x068ac0…068ae0             34 0d 0a 3a 31 30 30 31 34 35 30 30 35 30 30 31 33 45 30 31 43 44 38 39 30 31 41 46 33 32 33 34   ┆4  :1001450050013E01CD8901AF3234┆
0x068ae0…068b00             30 31 32 31 33 31 30 31 34 45 43 44 33 46 0d 0a 3a 31 30 30 31 35 35 30 30 39 32 30 31 32 41 33   ┆012131014ECD3F  :1001550092012A3┆
0x068b00…068b20             32 30 31 31 36 30 30 33 41 30 41 30 37 35 46 44 35 45 35 34 41 43 44 39 41 37 46 0d 0a 3a 31 30   ┆20116003A0A075FD5E54ACD9A7F  :10┆
0x068b20…068b40             30 31 36 35 30 30 30 31 43 31 43 35 43 44 41 32 30 31 33 41 33 34 30 31 42 37 43 32 37 38 30 31   ┆01650001C1C5CDA2013A3401B7C27801┆
0x068b40…068b60             43 44 41 41 30 31 42 41 0d 0a 3a 31 30 30 31 37 35 30 30 43 33 37 42 30 31 43 44 42 32 30 31 45   ┆CDAA01BA  :10017500C37B01CDB201E┆
0x068b60…068b80             31 31 31 38 30 30 30 31 39 44 31 31 34 42 37 43 30 31 44 42 37 0d 0a 3a 31 30 30 31 38 35 30 30   ┆111800019D114B7C01DB7  :10018500┆
0x068b80…068ba0             43 32 36 30 30 31 43 39 34 46 32 41 30 31 30 30 31 31 31 38 30 30 31 39 45 39 32 41 30 31 30 30   ┆C26001C94F2A010011180019E92A0100┆
0x068ba0…068bc0             41 45 0d 0a 3a 31 30 30 31 39 35 30 30 31 31 31 42 30 30 31 39 45 39 32 41 30 31 30 30 31 31 31   ┆AE  :10019500111B0019E92A0100111┆
0x068bc0…068be0             45 30 30 31 39 45 39 32 41 30 31 30 30 41 35 0d 0a 3a 31 30 30 31 41 35 30 30 31 31 32 31 30 30   ┆E0019E92A0100A5  :1001A500112100┆
0x068be0…068c00             31 39 45 39 32 41 30 31 30 30 31 31 32 34 30 30 31 39 45 39 32 41 30 31 30 30 38 39 0d 0a 3a 31   ┆19E92A010011240019E92A010089  :1┆
0x068c00…068c20 (27, 1, 14) 4f 46 20 54 48 45 20 4f 52 49 47 49 4e 0d 0a 20 30 31 45 33 20 31 41 42 37 43 41 45 46 30 31 09   ┆OF THE ORIGIN   01E3 1AB7CAEF01 ┆
0x068c20…068c40             4f 52 47 32 3a 20 4c 44 41 58 20 44 21 20 4f 52 41 20 41 21 20 4a 5a 20 4f 52 47 33 0d 0a 20 30   ┆ORG2: LDAX D! ORA A! JZ ORG3   0┆
0x068c40…068c60             31 45 38 20 31 33 37 37 32 33 30 35 43 32 09 09 49 4e 58 20 44 21 20 4d 4f 56 20 4d 2c 41 21 20   ┆1E8 13772305C2  INX D! MOV M,A! ┆
0x068c60…068c80             49 4e 58 20 48 21 20 44 43 52 20 42 21 20 4a 4e 5a 20 4f 52 47 32 0d 0a 20 20 20 20 20 20 20 20   ┆INX H! DCR B! JNZ ORG2          ┆
0x068c80…068ca0             20 20 20 20 20 20 20 20 09 09 3b 41 53 43 49 49 20 56 45 52 53 49 4f 4e 20 4d 4f 56 45 44 20 54   ┆          ;ASCII VERSION MOVED T┆
0x068ca0…068cc0             4f 20 42 55 46 46 45 52 2c 20 50 41 44 20 49 54 0d 0a 20 30 31 45 46 20 33 36 32 44 32 33 33 36   ┆O BUFFER, PAD IT   01EF 362D2336┆
0x068cc0…068ce0             32 34 09 4f 52 47 33 3a 09 4d 56 49 20 4d 2c 27 2d 27 21 20 49 4e 58 20 48 21 20 4d 56 49 20 4d   ┆24 ORG3: MVI M,'-'! INX H! MVI M┆
0x068ce0…068d00             2c 27 24 27 20 3b 52 45 41 44 59 20 46 4f 52 20 50 52 49 4e 54 49 4e 47 0d 0a 20 20 20 20 20 20   ┆,'$' ;READY FOR PRINTING        ┆
0x068d00…068d20             20 20 20 20 20 20 20 20 20 20 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 09 4e   ┆          ;                  ; N┆
0x068d20…068d40             4f 57 20 52 45 41 44 20 54 48 45 20 53 45 52 49 41 4c 20 4e 55 4d 42 45 52 0d 0a 20 30 31 46 34   ┆OW READ THE SERIAL NUMBER   01F4┆
0x068d40…068d60             20 43 44 45 35 30 34 43 44 43 43 09 43 41 4c 4c 20 53 45 52 4d 53 47 21 20 43 41 4c 4c 20 52 45   ┆ CDE504CDCC CALL SERMSG! CALL RE┆
0x068d60…068d80             41 44 0d 0a 20 30 31 46 41 20 32 31 41 33 30 36 37 31 32 33 09 4c 58 49 20 48 2c 42 53 45 52 49   ┆AD   01FA 21A3067123 LXI H,BSERI┆
0x068d80…068da0             41 4c 21 20 4d 4f 56 20 4d 2c 43 21 20 49 4e 58 20 48 21 20 4d 4f 56 20 4d 2c 42 20 3b 42 49 4e   ┆AL! MOV M,C! INX H! MOV M,B ;BIN┆
0x068da0…068dc0             41 52 59 20 43 4f 50 49 45 44 0d 0a 20 30 32 30 30 20 32 31 43 34 30 36 33 45 30 35 09 4c 58 49   ┆ARY COPIED   0200 21C4063E05 LXI┆
0x068dc0…068de0             20 48 2c 43 4f 4d 4c 45 4e 21 20 4d 56 49 20 41 2c 35 21 20 53 55 42 20 4d 20 3b 44 49 46 46 45   ┆ H,COMLEN! MVI A,5! SUB M ;DIFFE┆
0x068de0…068e00             52 45 4e 43 45 20 49 4e 20 52 45 47 2d 41 0d 0a 20 30 32 30 36 20 32 31 41 35 30 36 43 41 31 33   ┆RENCE IN REG-A   0206 21A506CA13┆
0x068e00…068e20 (27, 1, 15) 4f 4d 50 30 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 09 09 3b 4d 41 54 43 48 20 43   ┆OMP0                    ;MATCH C┆
0x068e20…068e40             4f 4d 50 4c 45 54 45 2c 20 57 45 20 48 41 56 45 20 46 4f 55 4e 44 20 54 48 45 20 53 45 52 49 41   ┆OMPLETE, WE HAVE FOUND THE SERIA┆
0x068e40…068e60             4c 20 4e 55 4d 42 45 52 0d 0a 20 30 32 38 30 20 43 31 44 31 20 20 20 20 20 20 09 09 50 4f 50 20   ┆L NUMBER   0280 C1D1        POP ┆
0x068e60…068e80             42 21 20 50 4f 50 20 44 20 3b 43 4c 45 41 52 53 20 53 54 41 43 4b 0d 0a 20 30 32 38 32 20 45 35   ┆B! POP D ;CLEARS STACK   0282 E5┆
0x068e80…068ea0             20 20 20 20 20 20 20 20 09 09 50 55 53 48 20 48 20 3b 53 41 56 45 20 41 20 43 4f 50 59 20 4f 46   ┆          PUSH H ;SAVE A COPY OF┆
0x068ea0…068ec0             20 54 48 45 20 53 54 41 52 54 20 41 44 44 52 45 53 53 20 4f 46 20 54 48 45 20 53 45 52 20 23 0d   ┆ THE START ADDRESS OF THE SER # ┆
0x068ec0…068ee0             0a 20 30 32 38 33 20 45 42 32 41 38 33 30 36 45 42 09 09 78 63 68 67 20 21 20 6c 68 6c 64 20 4f   ┆  0283 EB2A8306EB  xchg ! lhld O┆
0x068ee0…068f00             52 49 47 49 4e 21 20 78 63 68 67 21 20 4d 4f 56 20 4d 2c 65 20 3b 20 6c 6f 77 20 62 79 74 65 28   ┆RIGIN! xchg! MOV M,e ; low byte(┆
0x068f00…068f20             6f 72 69 67 69 6e 29 0d 0a 20 30 32 38 39 20 32 33 33 36 31 36 20 20 20 20 09 09 49 4e 58 20 48   ┆origin)   0289 233616      INX H┆
0x068f20…068f40             21 20 4d 56 49 20 4d 2c 56 45 52 53 49 4f 4e 20 3b 56 45 52 53 49 4f 4e 20 4e 55 4d 42 45 52 20   ┆! MVI M,VERSION ;VERSION NUMBER ┆
0x068f40…068f60             49 4e 20 42 49 4e 41 52 59 0d 0a 20 30 32 38 43 20 32 33 37 32 20 20 20 20 20 20 09 09 69 6e 78   ┆IN BINARY   028C 2372        inx┆
0x068f60…068f80             20 68 21 20 6d 6f 76 20 6d 2c 64 20 3b 20 68 69 67 68 20 62 79 74 65 28 6f 72 69 67 69 6e 29 0d   ┆ h! mov m,d ; high byte(origin) ┆
0x068f80…068fa0             0a 20 30 32 38 45 20 32 33 33 36 30 30 20 20 20 20 09 09 09 49 4e 58 20 48 21 20 4d 76 69 20 4d   ┆  028E 233600       INX H! Mvi M┆
0x068fa0…068fc0             2c 30 20 3b 20 6e 65 78 74 20 62 79 74 65 20 7a 65 72 6f 65 64 20 28 6e 6f 74 20 75 73 65 64 20   ┆,0 ; next byte zeroed (not used ┆
0x068fc0…068fe0             79 65 74 29 0d 0a 20 30 32 39 31 20 32 33 20 20 20 20 20 20 20 20 09 09 09 49 4e 58 20 48 20 3b   ┆yet)   0291 23           INX H ;┆
0x068fe0…069000             52 45 41 44 59 20 54 4f 20 41 43 43 45 50 54 20 54 48 45 20 53 45 52 49 41 4c 20 4e 55 4d 42 45   ┆READY TO ACCEPT THE SERIAL NUMBE┆
0x069000…069020 (28, 0, 1)  45 45 31 43 32 32 33 09 09 09 09 43 4d 41 21 20 43 4d 50 20 4d 21 20 50 4f 50 20 48 21 20 4a 4e   ┆EE1C223    CMA! CMP M! POP H! JN┆
0x069020…069040             5a 20 4e 4f 4d 41 54 33 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 09 09 09 09 3b 43   ┆Z NOMAT3                      ;C┆
0x069040…069060             4f 4e 54 49 4e 55 45 20 54 4f 20 4d 41 54 43 48 0d 0a 20 30 32 45 46 20 32 33 31 33 30 44 43 32   ┆ONTINUE TO MATCH   02EF 23130DC2┆
0x069060…069080             44 37 09 09 09 09 49 4e 58 20 48 21 20 49 4e 58 20 44 21 20 44 43 52 20 43 21 20 4a 4e 5a 20 51   ┆D7    INX H! INX D! DCR C! JNZ Q┆
0x069080…0690a0             54 52 31 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 09 09 09 3b 43 4f 4d 50 4c 45 54   ┆TR1                     ;COMPLET┆
0x0690a0…0690c0             45 20 4d 41 54 43 48 2c 20 46 49 4c 4c 20 53 45 52 49 41 4c 20 4e 55 4d 42 45 52 53 0d 0a 20 30   ┆E MATCH, FILL SERIAL NUMBERS   0┆
0x0690c0…0690e0             32 46 35 20 43 31 44 31 20 20 20 20 20 20 09 09 09 50 4f 50 20 42 21 20 50 4f 50 20 44 20 3b 54   ┆2F5 C1D1         POP B! POP D ;T┆
0x0690e0…069100             4f 20 43 4c 45 41 52 20 54 48 45 20 53 54 41 43 4b 0d 0a 20 30 32 46 37 20 45 35 20 20 20 20 20   ┆O CLEAR THE STACK   02F7 E5     ┆
0x069100…069120             20 20 20 09 09 09 50 55 53 48 20 48 20 3b 53 41 56 45 20 53 4f 55 52 43 45 20 41 44 44 52 45 53   ┆      PUSH H ;SAVE SOURCE ADDRES┆
0x069120…069140             53 0d 0a 20 30 32 46 38 20 43 44 35 43 30 34 20 20 20 20 09 09 09 43 41 4c 4c 20 53 54 53 45 52   ┆S   02F8 CD5C04       CALL STSER┆
0x069140…069160             49 41 4c 20 3b 53 45 52 49 41 4c 20 4e 55 4d 42 45 52 20 53 54 4f 52 45 44 0d 0a 20 30 32 46 42   ┆IAL ;SERIAL NUMBER STORED   02FB┆
0x069160…069180             20 45 31 20 20 20 20 20 20 20 20 09 09 09 50 4f 50 20 48 20 3b 52 45 43 41 4c 4c 20 53 4f 55 52   ┆ E1           POP H ;RECALL SOUR┆
0x069180…0691a0             43 45 20 41 44 44 52 45 53 53 0d 0a 20 30 32 46 43 20 45 42 32 41 43 45 30 36 31 39 09 09 09 58   ┆CE ADDRESS   02FC EB2ACE0619   X┆
0x0691a0…0691c0             43 48 47 21 20 4c 48 4c 44 20 53 44 49 46 46 21 20 44 41 44 20 44 20 3b 48 2c 4c 20 53 48 4f 55   ┆CHG! LHLD SDIFF! DAD D ;H,L SHOU┆
0x0691c0…0691e0             4c 44 20 41 44 44 52 45 53 53 20 53 45 52 23 32 0d 0a 20 30 33 30 31 20 37 44 42 37 43 32 32 43   ┆LD ADDRESS SER#2   0301 7DB7C22C┆
0x0691e0…069200             30 33 09 09 09 4d 4f 56 20 41 2c 4c 21 20 4f 52 41 20 41 21 20 4a 4e 5a 20 51 54 52 32 20 3b 4d   ┆03   MOV A,L! ORA A! JNZ QTR2 ;M┆
0x069200…069220 (28, 0, 2)  43 32 09 09 09 49 4e 58 20 48 21 20 44 43 58 20 42 21 20 4d 4f 56 20 41 2c 43 21 20 4f 52 41 20   ┆C2   INX H! DCX B! MOV A,C! ORA ┆
0x069220…069240             42 21 20 4a 4e 5a 20 54 52 43 4f 4d 50 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 09   ┆B! JNZ TRCOMP                   ┆
0x069240…069260             09 3b 45 4e 44 20 4f 46 20 43 4f 50 59 2c 20 41 4c 4c 20 30 45 35 48 27 53 0d 0a 20 30 33 35 37   ┆ ;END OF COPY, ALL 0E5H'S   0357┆
0x069260…069280             20 33 41 43 44 30 36 42 37 43 41 09 09 4c 44 41 20 53 54 52 41 43 4b 21 20 4f 52 41 20 41 21 20   ┆ 3ACD06B7CA  LDA STRACK! ORA A! ┆
0x069280…0692a0             4a 5a 20 45 4e 44 43 4f 50 59 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 09 09 09 3b   ┆JZ ENDCOPY                     ;┆
0x0692a0…0692c0             4e 4f 54 20 5a 45 52 4f 2c 20 43 4f 55 4c 44 20 4e 4f 54 20 46 49 4e 44 20 53 45 43 4f 4e 44 20   ┆NOT ZERO, COULD NOT FIND SECOND ┆
0x0692c0…0692e0             53 45 52 20 4e 55 4d 42 45 52 0d 0a 20 30 33 35 45 20 43 44 37 38 30 35 43 33 32 31 09 09 09 43   ┆SER NUMBER   035E CD7805C321   C┆
0x0692e0…069300             41 4c 4c 20 42 41 44 43 4f 4d 21 20 4a 4d 50 20 52 44 44 53 4b 0d 0a 20 20 20 20 20 20 20 20 20   ┆ALL BADCOM! JMP RDDSK           ┆
0x069300…069320             20 20 20 20 20 20 20 09 09 45 4e 44 43 4f 50 59 3a 0d 0a 20 30 33 36 34 20 31 31 38 45 30 36 43   ┆         ENDCOPY:   0364 118E06C┆
0x069320…069340             44 43 34 09 09 4c 58 49 20 44 2c 54 52 4d 53 47 21 20 43 41 4c 4c 20 50 52 4d 53 47 0d 0a 20 30   ┆DC4  LXI D,TRMSG! CALL PRMSG   0┆
0x069340…069360             33 36 41 20 43 44 30 42 30 34 43 33 32 37 09 09 43 41 4c 4c 20 49 4e 43 53 45 52 49 41 4c 21 20   ┆36A CD0B04C327  CALL INCSERIAL! ┆
0x069360…069380             4a 4d 50 20 4e 45 58 54 44 49 53 4b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 09 3b   ┆JMP NEXTDISK                   ;┆
0x069380…0693a0             0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 09 3b 4e 4f 54 20 45 4e 44 20 4f 46 20 43   ┆                   ;NOT END OF C┆
0x0693a0…0693c0             4f 50 59 2c 20 57 52 49 54 45 20 54 52 41 43 4b 20 54 4f 20 44 49 53 4b 20 46 52 4f 4d 20 49 42   ┆OPY, WRITE TRACK TO DISK FROM IB┆
0x0693c0…0693e0             55 46 46 0d 0a 20 30 33 37 30 20 43 44 32 42 30 31 20 20 20 20 09 57 52 54 52 4b 3a 09 43 41 4c   ┆UFF   0370 CD2B01     WRTRK: CAL┆
0x0693e0…069400             4c 20 57 52 49 54 54 52 4b 0d 0a 20 30 33 37 33 20 43 41 37 43 30 33 43 44 33 33 09 09 4a 5a 20   ┆L WRITTRK   0373 CA7C03CD33  JZ ┆
0x069400…069420 (28, 0, 3)  4f 56 20 41 2c 4d 21 20 4f 52 41 20 41 21 20 52 5a 20 3b 52 45 54 55 52 4e 20 49 46 20 45 4e 44   ┆OV A,M! ORA A! RZ ;RETURN IF END┆
0x069420…069440             20 4f 46 20 43 4f 4e 56 45 52 54 0d 0a 20 30 33 45 43 20 44 36 33 30 46 45 30 41 44 32 09 09 53   ┆ OF CONVERT   03EC D630FE0AD2  S┆
0x069440…069460             55 49 20 27 30 27 21 20 43 50 49 20 31 30 21 20 4a 4e 43 20 52 44 45 52 52 0d 0a 20 30 33 46 33   ┆UI '0'! CPI 10! JNC RDERR   03F3┆
0x069460…069480             20 45 35 43 35 45 31 20 20 20 20 09 09 50 55 53 48 20 48 21 20 50 55 53 48 20 42 21 20 50 4f 50   ┆ E5C5E1      PUSH H! PUSH B! POP┆
0x069480…0694a0             20 48 20 3b 42 2c 43 20 43 4f 50 49 45 44 20 54 4f 20 48 2c 4c 0d 0a 20 30 33 46 36 20 32 39 32   ┆ H ;B,C COPIED TO H,L   03F6 292┆
0x0694a0…0694c0             39 32 39 30 39 30 39 09 09 44 41 44 20 48 21 20 44 41 44 20 48 21 20 44 41 44 20 48 21 20 44 41   ┆9290909  DAD H! DAD H! DAD H! DA┆
0x0694c0…0694e0             44 20 42 21 20 44 41 44 20 42 0d 0a 20 30 33 46 42 20 45 35 43 31 45 31 20 20 20 20 09 09 50 55   ┆D B! DAD B   03FB E5C1E1      PU┆
0x0694e0…069500             53 48 20 48 21 20 50 4f 50 20 42 21 20 50 4f 50 20 48 20 3b 42 43 3d 42 43 2a 31 30 0d 0a 20 30   ┆SH H! POP B! POP H ;BC=BC*10   0┆
0x069500…069520             33 46 45 20 32 33 38 31 34 46 33 45 30 30 09 09 49 4e 58 20 48 21 20 41 44 44 20 43 21 20 4d 4f   ┆3FE 23814F3E00  INX H! ADD C! MO┆
0x069520…069540             56 20 43 2c 41 21 20 4d 56 49 20 41 2c 30 21 20 41 44 43 20 42 21 20 4d 4f 56 20 42 2c 41 0d 0a   ┆V C,A! MVI A,0! ADC B! MOV B,A  ┆
0x069540…069560             20 30 34 30 35 20 44 41 43 39 30 33 43 33 45 39 09 09 4a 43 20 52 44 45 52 52 21 20 4a 4d 50 20   ┆ 0405 DAC903C3E9  JC RDERR! JMP ┆
0x069560…069580             43 4f 4e 56 20 3b 54 45 53 54 45 44 20 46 4f 52 20 4f 56 45 52 46 4c 4f 57 0d 0a 20 20 20 20 20   ┆CONV ;TESTED FOR OVERFLOW       ┆
0x069580…0695a0             20 20 20 20 20 20 20 20 20 20 20 09 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 49   ┆            ;                  I┆
0x0695a0…0695c0             4e 43 53 45 52 49 41 4c 3a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 09 3b 49 4e 43   ┆NCSERIAL:                   ;INC┆
0x0695c0…0695e0             52 45 4d 45 4e 54 20 54 48 45 20 53 45 52 49 41 4c 20 4e 55 4d 42 45 52 0d 0a 20 30 34 30 42 20   ┆REMENT THE SERIAL NUMBER   040B ┆
0x0695e0…069600             32 41 41 33 30 36 32 33 32 32 09 4c 48 4c 44 20 42 53 45 52 49 41 4c 21 20 49 4e 58 20 48 21 20   ┆2AA3062322 LHLD BSERIAL! INX H! ┆
0x069600…069620 (28, 0, 4)  30 43 34 30 36 37 45 42 37 43 41 43 39 30 33 32 33 35 46 31 36 30 30 31 39 33 36 30 30 32 31 43   ┆0C4067EB7CAC903235F160019360021C┆
0x069620…069640             35 42 36 0d 0a 3a 31 30 30 33 45 35 30 30 30 36 30 31 30 30 30 30 37 45 42 37 43 38 44 36 33 30   ┆5B6  :1003E500060100007EB7C8D630┆
0x069640…069660             46 45 30 41 44 32 43 39 30 33 45 35 43 35 41 45 0d 0a 3a 31 30 30 33 46 35 30 30 45 31 32 39 32   ┆FE0AD2C903E5C5AE  :1003F500E1292┆
0x069660…069680             39 32 39 30 39 30 39 45 35 43 31 45 31 32 33 38 31 34 46 33 45 30 30 38 38 34 37 30 33 0d 0a 3a   ┆9290909E5C1E123814F3E00884703  :┆
0x069680…0696a0             31 30 30 34 30 35 30 30 44 41 43 39 30 33 43 33 45 39 30 33 32 41 41 33 30 36 32 33 32 32 41 33   ┆10040500DAC903C3E9032AA3062322A3┆
0x0696a0…0696c0             30 36 37 44 42 34 43 41 44 36 0d 0a 3a 31 30 30 34 31 35 30 30 32 38 30 34 32 31 41 39 30 36 30   ┆067DB4CAD6  :10041500280421A9060┆
0x0696c0…0696e0             36 30 35 33 34 37 45 46 45 33 41 44 38 33 36 33 30 32 42 30 35 37 38 0d 0a 3a 31 30 30 34 32 35   ┆605347EFE3AD836302B0578  :100425┆
0x0696e0…069700             30 30 43 32 31 43 30 34 43 44 45 45 30 35 43 33 30 30 30 30 44 35 37 44 45 36 37 46 35 46 37 44   ┆00C21C04CDEE05C30000D57DE67F5F7D┆
0x069700…069720             31 37 42 38 0d 0a 3a 31 30 30 34 33 35 30 30 37 43 31 37 36 46 32 36 30 30 44 35 31 31 44 30 30   ┆17B8  :100435007C176F2600D511D00┆
0x069720…069740             36 31 39 44 31 41 46 37 45 33 44 31 46 36 37 46 39 0d 0a 3a 31 30 30 34 34 35 30 30 33 45 30 30   ┆619D1AF7E3D1F67F9  :100445003E00┆
0x069740…069760             31 46 42 33 36 46 31 31 30 42 30 37 31 39 44 31 43 39 45 35 44 35 46 35 43 44 32 45 41 38 0d 0a   ┆1FB36F110B0719D1C9E5D5F5CD2EA8  ┆
0x069760…069780             3a 31 30 30 34 35 35 30 30 30 34 46 31 37 37 44 31 45 31 32 33 43 39 33 41 38 33 30 36 43 44 35   ┆:1004550004F177D1E123C93A8306CD5┆
0x069780…0697a0             30 30 34 33 45 31 36 43 44 38 38 0d 0a 3a 31 30 30 34 36 35 30 30 35 30 30 34 33 41 38 34 30 36   ┆0043E16CD88  :1004650050043A8406┆
0x0697a0…0697c0             43 44 35 30 30 34 41 46 43 44 35 30 30 34 31 31 41 34 30 36 31 41 41 39 0d 0a 3a 31 30 30 34 37   ┆CD5004AFCD500411A4061AA9  :10047┆
0x0697c0…0697e0             35 30 30 43 44 35 30 30 34 31 42 31 41 43 44 35 30 30 34 43 39 31 31 38 34 30 34 43 33 43 34 30   ┆500CD50041B1ACD5004C9118404C3C40┆
0x0697e0…069800             33 30 44 30 37 0d 0a 3a 31 30 30 34 38 35 30 30 30 41 34 39 34 45 35 33 34 35 35 32 35 34 32 30   ┆30D07  :100485000A494E5345525420┆
0x069800…069820 (28, 0, 5)  55 53 54 20 42 45 20 4c 4f 57 20 5a 45 52 4f 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆UST BE LOW ZERO                 ┆
0x069820…069840             20 09 09 09 3b 53 45 54 55 50 20 53 54 52 41 43 4b 20 54 4f 20 53 45 52 49 41 4c 49 5a 45 20 57   ┆    ;SETUP STRACK TO SERIALIZE W┆
0x069840…069860             48 45 4e 20 50 52 4f 50 45 52 20 54 52 4b 20 46 4f 55 4e 44 0d 0a 20 30 33 30 36 20 45 42 32 31   ┆HEN PROPER TRK FOUND   0306 EB21┆
0x069860…069880             43 44 30 36 20 20 09 09 09 58 43 48 47 21 20 4c 58 49 20 48 2c 53 54 52 41 43 4b 20 3b 44 49 46   ┆CD06     XCHG! LXI H,STRACK ;DIF┆
0x069880…0698a0             46 45 52 45 4e 43 45 20 49 4e 20 44 2c 45 0d 0a 20 30 33 30 41 20 33 36 30 30 20 20 20 20 20 20   ┆FERENCE IN D,E   030A 3600      ┆
0x0698a0…0698c0             09 09 09 4d 56 49 20 4d 2c 30 20 3b 43 4f 55 4e 54 20 53 54 52 41 43 4b 20 55 50 20 46 4f 52 20   ┆   MVI M,0 ;COUNT STRACK UP FOR ┆
0x0698c0…0698e0             45 41 43 48 20 54 52 41 43 4b 20 53 49 5a 45 0d 0a 20 30 33 30 43 20 33 34 20 20 20 20 20 20 20   ┆EACH TRACK SIZE   030C 34       ┆
0x0698e0…069900             20 09 09 09 44 4c 4f 4f 50 3a 20 49 4e 52 20 4d 20 3b 53 54 52 41 43 4b 20 3d 20 53 54 52 41 43   ┆    DLOOP: INR M ;STRACK = STRAC┆
0x069900…069920             4b 20 2b 20 31 0d 0a 20 30 33 30 44 20 37 42 44 36 30 30 20 20 20 20 09 09 09 09 4d 4f 56 20 41   ┆K + 1   030D 7BD600        MOV A┆
0x069920…069940             2c 45 21 20 53 55 49 20 28 32 36 2a 31 32 38 29 20 41 4e 44 20 30 46 46 48 0d 0a 20 30 33 31 30   ┆,E! SUI (26*128) AND 0FFH   0310┆
0x069940…069960             20 34 37 20 20 20 20 20 20 20 20 09 09 09 09 4d 4f 56 20 42 2c 41 20 3b 53 41 56 45 20 4c 4f 57   ┆ 47            MOV B,A ;SAVE LOW┆
0x069960…069980             20 4f 52 44 45 52 20 44 49 46 46 45 52 45 4e 43 45 0d 0a 20 30 33 31 31 20 37 41 44 45 30 44 20   ┆ ORDER DIFFERENCE   0311 7ADE0D ┆
0x069980…0699a0             20 20 20 09 09 09 09 4d 4f 56 20 41 2c 44 21 20 53 42 49 20 28 32 36 2a 31 32 38 29 20 53 48 52   ┆       MOV A,D! SBI (26*128) SHR┆
0x0699a0…0699c0             20 38 0d 0a 20 30 33 31 34 20 44 41 31 43 30 33 20 20 20 20 09 09 09 09 4a 43 20 45 44 4c 4f 4f   ┆ 8   0314 DA1C03        JC EDLOO┆
0x0699c0…0699e0             50 20 3b 43 41 52 52 59 20 49 46 20 54 4f 4f 20 4d 41 4e 59 20 53 55 42 54 52 41 43 54 53 0d 0a   ┆P ;CARRY IF TOO MANY SUBTRACTS  ┆
0x0699e0…069a00             20 30 33 31 37 20 35 37 35 38 20 20 20 20 20 20 09 09 09 09 4d 4f 56 20 44 2c 41 21 20 4d 4f 56   ┆ 0317 5758          MOV D,A! MOV┆
0x069a00…069a20 (28, 0, 6)  57 52 4f 4b 21 20 43 41 4c 4c 20 57 52 49 54 45 30 4d 53 47 21 20 4a 4d 50 20 4e 45 58 54 44 49   ┆WROK! CALL WRITE0MSG! JMP NEXTDI┆
0x069a20…069a40             53 4b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 09 57 52 4f 4b 3a 0d 0a 20 20 20 20   ┆SK                   WROK:      ┆
0x069a40…069a60             20 20 20 20 20 20 20 20 20 20 20 20 09 09 3b 57 52 49 54 54 45 4e 20 54 4f 20 44 49 53 4b 2c 20   ┆              ;WRITTEN TO DISK, ┆
0x069a60…069a80             4e 4f 57 20 52 45 41 44 20 49 54 20 42 41 43 4b 20 41 4e 44 20 43 4f 4d 50 41 52 45 0d 0a 20 30   ┆NOW READ IT BACK AND COMPARE   0┆
0x069a80…069aa0             33 37 43 20 32 31 30 42 34 33 32 32 33 32 09 09 4c 58 49 20 48 2c 4f 42 55 46 46 21 20 53 48 4c   ┆37C 210B432232  LXI H,OBUFF! SHL┆
0x069aa0…069ac0             44 20 42 55 46 46 41 21 20 43 41 4c 4c 20 52 45 52 45 41 44 0d 0a 20 30 33 38 35 20 43 41 38 45   ┆D BUFFA! CALL REREAD   0385 CA8E┆
0x069ac0…069ae0             30 33 43 44 35 41 09 09 09 4a 5a 20 52 45 41 44 31 4f 4b 21 20 43 41 4c 4c 20 52 45 41 44 31 4d   ┆03CD5A   JZ READ1OK! CALL READ1M┆
0x069ae0…069b00             53 47 21 20 4a 4d 50 20 4e 45 58 54 44 49 53 4b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆SG! JMP NEXTDISK                ┆
0x069b00…069b20             20 20 09 09 52 45 41 44 31 4f 4b 3a 0d 0a 20 30 33 38 45 20 32 31 30 42 30 37 31 31 30 42 09 09   ┆    READ1OK:   038E 210B07110B  ┆
0x069b20…069b40             4c 58 49 20 48 2c 49 42 55 46 46 21 20 4c 58 49 20 44 2c 4f 42 55 46 46 21 20 4c 58 49 20 42 2c   ┆LXI H,IBUFF! LXI D,OBUFF! LXI B,┆
0x069b40…069b60             54 52 4c 45 4e 0d 0a 20 30 33 39 37 20 31 41 42 45 43 32 42 39 30 33 09 09 57 52 43 4f 4d 50 3a   ┆TRLEN   0397 1ABEC2B903  WRCOMP:┆
0x069b60…069b80             20 4c 44 41 58 20 44 21 20 43 4d 50 20 4d 21 20 4a 4e 5a 20 57 52 45 52 52 0d 0a 20 30 33 39 43   ┆ LDAX D! CMP M! JNZ WRERR   039C┆
0x069b80…069ba0             20 32 33 31 33 30 42 37 39 42 30 09 09 09 49 4e 58 20 48 21 20 49 4e 58 20 44 21 20 44 43 58 20   ┆ 23130B79B0   INX H! INX D! DCX ┆
0x069ba0…069bc0             42 21 20 4d 4f 56 20 41 2c 43 21 20 4f 52 41 20 42 0d 0a 20 30 33 41 31 20 43 32 39 37 30 33 20   ┆B! MOV A,C! ORA B   03A1 C29703 ┆
0x069bc0…069be0             20 20 20 09 09 09 4a 4e 5a 20 57 52 43 4f 4d 50 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆      JNZ WRCOMP                ┆
0x069be0…069c00             20 20 09 09 3b 43 4f 4d 50 41 52 45 20 57 45 4e 54 20 4f 4b 2c 20 49 4e 43 52 45 4d 45 4e 54 20   ┆    ;COMPARE WENT OK, INCREMENT ┆
0x069c00…069c20 (28, 0, 7)  53 48 4c 44 20 42 53 45 52 49 41 4c 20 3b 54 45 53 54 20 46 4f 52 20 4f 56 45 52 46 4c 4f 57 0d   ┆SHLD BSERIAL ;TEST FOR OVERFLOW ┆
0x069c20…069c40             0a 20 30 34 31 32 20 37 44 42 34 43 41 32 38 30 34 09 4d 4f 56 20 41 2c 4c 21 20 4f 52 41 20 48   ┆  0412 7DB4CA2804 MOV A,L! ORA H┆
0x069c40…069c60             21 20 4a 5a 20 53 45 52 4f 56 45 52 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 09 3b   ┆! JZ SEROVER                   ;┆
0x069c60…069c80             0d 0a 20 30 34 31 37 20 32 31 41 39 30 36 30 36 30 35 09 4c 58 49 20 48 2c 41 53 45 52 49 41 4c   ┆   0417 21A9060605 LXI H,ASERIAL┆
0x069c80…069ca0             2b 34 21 20 4d 56 49 20 42 2c 35 20 3b 4c 45 4e 47 54 48 20 4f 46 20 53 45 52 49 41 4c 20 4e 55   ┆+4! MVI B,5 ;LENGTH OF SERIAL NU┆
0x069ca0…069cc0             4d 42 45 52 0d 0a 20 30 34 31 43 20 33 34 37 45 46 45 33 41 44 38 09 49 4e 43 30 3a 09 49 4e 52   ┆MBER   041C 347EFE3AD8 INC0: INR┆
0x069cc0…069ce0             20 4d 21 20 4d 4f 56 20 41 2c 4d 21 20 43 50 49 20 27 39 27 2b 31 21 20 52 43 20 3b 52 45 54 55   ┆ M! MOV A,M! CPI '9'+1! RC ;RETU┆
0x069ce0…069d00             52 4e 20 49 46 20 4e 4f 20 43 41 52 52 59 0d 0a 20 30 34 32 31 20 33 36 33 30 20 20 20 20 20 20   ┆RN IF NO CARRY   0421 3630      ┆
0x069d00…069d20             09 09 4d 56 49 20 4d 2c 27 30 27 20 3b 43 4c 45 41 52 20 54 48 45 20 4e 55 4d 42 45 52 0d 0a 20   ┆  MVI M,'0' ;CLEAR THE NUMBER   ┆
0x069d20…069d40             30 34 32 33 20 32 42 30 35 43 32 31 43 30 34 09 09 44 43 58 20 48 21 20 44 43 52 20 42 21 20 4a   ┆0423 2B05C21C04  DCX H! DCR B! J┆
0x069d40…069d60             4e 5a 20 49 4e 43 30 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 09 3b 0d 0a 20 20 20   ┆NZ INC0                   ;     ┆
0x069d60…069d80             20 20 20 20 20 20 20 20 20 20 20 20 20 09 53 45 52 4f 56 45 52 3a 0d 0a 20 20 20 20 20 20 20 20   ┆              SEROVER:          ┆
0x069d80…069da0             20 20 20 20 20 20 20 20 09 09 3b 4f 56 45 52 46 4c 4f 57 20 49 4e 20 53 45 52 49 41 4c 20 4e 55   ┆          ;OVERFLOW IN SERIAL NU┆
0x069da0…069dc0             4d 42 45 52 0d 0a 20 30 34 32 38 20 43 44 45 45 30 35 20 20 20 20 09 09 43 41 4c 4c 20 4f 56 45   ┆MBER   0428 CDEE05      CALL OVE┆
0x069dc0…069de0             52 4d 53 47 0d 0a 20 30 34 32 42 20 43 33 30 30 30 30 20 20 20 20 09 09 4a 4d 50 20 42 4f 4f 54   ┆RMSG   042B C30000      JMP BOOT┆
0x069de0…069e00             0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 09 3b 0d 0a 20 20 20 20 20 20 20 20 20 20   ┆                   ;            ┆
0x069e00…069e20 (28, 0, 8)  34 33 34 46 34 45 35 34 35 32 34 46 34 43 32 30 32 37 0d 0a 3a 31 30 30 34 39 35 30 30 34 34 34   ┆434F4E54524F4C2027  :10049500444┆
0x069e20…069e40             39 35 33 34 42 34 35 35 34 35 34 34 35 32 30 34 39 34 45 32 30 34 31 32 43 32 30 35 34 34 32 0d   ┆9534B4554544520494E20412C205442 ┆
0x069e40…069e60             0a 3a 31 30 30 34 41 35 30 30 35 39 35 30 34 35 32 30 35 32 34 35 35 34 35 35 35 32 34 45 32 34   ┆ :1004A5005950452052455455524E24┆
0x069e60…069e80             31 31 42 36 30 34 43 33 43 34 45 33 0d 0a 3a 31 30 30 34 42 35 30 30 30 33 30 44 30 41 34 33 35   ┆11B604C3C4E3  :1004B500030D0A435┆
0x069e80…069ea0             30 32 46 34 44 32 30 35 36 34 35 35 32 32 30 33 32 32 45 33 32 32 30 32 46 0d 0a 3a 31 30 30 34   ┆02F4D2056455220322E32202F  :1004┆
0x069ea0…069ec0             43 35 30 30 35 33 34 35 35 32 34 39 34 31 34 43 34 39 35 41 34 31 35 34 34 39 34 46 34 45 32 43   ┆C50053455249414C495A4154494F4E2C┆
0x069ec0…069ee0             30 44 30 41 30 36 0d 0a 3a 31 30 30 34 44 35 30 30 34 46 35 32 34 39 34 37 34 39 34 45 32 30 34   ┆0D0A06  :1004D5004F524947494E204┆
0x069ee0…069f00             45 35 35 34 44 34 32 34 35 35 32 33 46 32 30 32 34 45 33 0d 0a 3a 31 30 30 34 45 35 30 30 31 31   ┆E554D4245523F2024E3  :1004E50011┆
0x069f00…069f20             45 42 30 34 43 33 43 34 30 33 30 44 30 41 35 33 35 34 34 31 35 32 35 34 34 39 34 45 34 37 46 41   ┆EB04C3C4030D0A5354415254494E47FA┆
0x069f20…069f40             0d 0a 3a 31 30 30 34 46 35 30 30 32 30 35 33 34 35 35 32 34 39 34 31 34 43 32 30 34 45 35 35 34   ┆  :1004F5002053455249414C204E554┆
0x069f40…069f60             44 34 32 34 35 35 32 33 46 32 30 43 46 0d 0a 3a 31 30 30 35 30 35 30 30 32 34 31 31 30 43 30 35   ┆D4245523F20CF  :1005050024110C05┆
0x069f60…069f80             43 33 43 34 30 33 30 44 30 41 34 39 34 45 35 36 34 31 34 43 34 39 34 34 46 38 0d 0a 3a 31 30 30   ┆C3C4030D0A494E56414C4944F8  :100┆
0x069f80…069fa0             35 31 35 30 30 32 30 34 45 35 35 34 44 34 32 34 35 35 32 32 43 32 30 35 34 35 32 35 39 32 30 34   ┆51500204E554D4245522C20545259204┆
0x069fa0…069fc0             31 34 37 34 31 42 39 0d 0a 3a 31 30 30 35 32 35 30 30 34 39 34 45 32 30 32 34 31 31 32 46 30 35   ┆14741B9  :10052500494E2024112F05┆
0x069fc0…069fe0             43 33 43 34 30 33 30 44 30 41 35 33 34 35 35 32 34 39 44 32 0d 0a 3a 31 30 30 35 33 35 30 30 34   ┆C3C4030D0A53455249D2  :100535004┆
0x069fe0…06a000             31 34 43 34 39 35 41 34 39 34 45 34 37 32 30 34 34 34 39 35 33 34 42 32 30 32 34 31 31 38 37 38   ┆14C495A494E47204449534B202411878┆
0x06a000…06a020 (28, 0, 9)  20 45 2c 42 20 3b 52 45 53 45 54 20 54 4f 20 4c 4f 57 45 52 20 56 41 4c 55 45 0d 0a 20 30 33 31   ┆ E,B ;RESET TO LOWER VALUE   031┆
0x06a020…06a040             39 20 43 33 30 43 30 33 20 20 20 20 09 09 09 09 4a 4d 50 20 44 4c 4f 4f 50 0d 0a 20 20 20 20 20   ┆9 C30C03        JMP DLOOP       ┆
0x06a040…06a060             20 20 20 20 20 20 20 20 20 20 20 09 09 09 45 44 4c 4f 4f 50 3a 09 3b 44 2c 45 20 43 4f 4e 54 41   ┆              EDLOOP: ;D,E CONTA┆
0x06a060…06a080             49 4e 20 4f 46 46 53 45 54 20 49 4e 54 4f 20 54 52 41 43 4b 20 53 54 52 41 43 4b 0d 0a 20 30 33   ┆IN OFFSET INTO TRACK STRACK   03┆
0x06a080…06a0a0             31 43 20 45 42 32 32 43 45 30 36 20 20 09 09 09 09 58 43 48 47 21 20 53 48 4c 44 20 53 44 49 46   ┆1C EB22CE06      XCHG! SHLD SDIF┆
0x06a0a0…06a0c0             46 0d 0a 20 30 33 32 30 20 43 33 33 32 30 33 20 20 20 20 09 09 09 4a 4d 50 20 52 44 54 52 4b 4e   ┆F   0320 C33203       JMP RDTRKN┆
0x06a0c0…06a0e0             0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 09 09 09 4e 4f 4d 41 54 33 3a 09 3b 4e 4f   ┆                     NOMAT3: ;NO┆
0x06a0e0…06a100             20 4d 41 54 43 48 20 4f 4e 20 43 55 52 52 45 4e 54 20 53 54 52 49 4e 47 0d 0a 20 30 33 32 33 20   ┆ MATCH ON CURRENT STRING   0323 ┆
0x06a100…06a120             43 31 45 31 32 33 30 42 20 20 09 09 09 50 4f 50 20 42 21 20 50 4f 50 20 48 21 20 49 4e 58 20 48   ┆C1E1230B     POP B! POP H! INX H┆
0x06a120…06a140             21 20 44 43 58 20 42 0d 0a 20 30 33 32 37 20 37 38 42 31 43 32 44 30 30 32 09 09 09 4d 4f 56 20   ┆! DCX B   0327 78B1C2D002   MOV ┆
0x06a140…06a160             41 2c 42 21 20 4f 52 41 20 43 21 20 4a 4e 5a 20 51 54 52 30 20 3b 46 4f 52 20 41 4e 4f 54 48 45   ┆A,B! ORA C! JNZ QTR0 ;FOR ANOTHE┆
0x06a160…06a180             52 20 53 43 41 4e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 09 09 09 3b 4e 4f 54 20   ┆R SCAN                     ;NOT ┆
0x06a180…06a1a0             46 4f 55 4e 44 0d 0a 20 30 33 32 43 20 43 44 37 38 30 35 43 33 32 31 09 09 51 54 52 32 3a 09 43   ┆FOUND   032C CD7805C321  QTR2: C┆
0x06a1a0…06a1c0             41 4c 4c 20 42 41 44 43 4f 4d 21 20 4a 4d 50 20 52 44 44 53 4b 0d 0a 20 20 20 20 20 20 20 20 20   ┆ALL BADCOM! JMP RDDSK           ┆
0x06a1c0…06a1e0             20 20 20 20 20 20 20 09 09 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 09 52 44 54   ┆         ;                   RDT┆
0x06a1e0…06a200             52 4b 4e 3a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 09 09 3b 43 48 45 43 4b 20 46   ┆RKN:                    ;CHECK F┆
0x06a200…06a220 (28, 0, 10) 54 52 41 43 4b 20 43 4f 55 4e 54 20 41 4e 44 20 43 59 43 4c 45 0d 0a 20 30 33 41 34 20 32 31 33   ┆TRACK COUNT AND CYCLE   03A4 213┆
0x06a220…06a240             31 30 31 33 34 20 20 09 09 4c 58 49 20 48 2c 54 52 41 43 4b 21 20 49 4e 52 20 4d 0d 0a 20 30 33   ┆10134    LXI H,TRACK! INR M   03┆
0x06a240…06a260             41 38 20 32 31 39 31 30 36 33 34 37 45 09 09 4c 58 49 20 48 2c 54 52 43 4f 55 4e 54 2b 31 21 20   ┆A8 219106347E  LXI H,TRCOUNT+1! ┆
0x06a260…06a280             49 4e 52 20 4d 21 20 4d 4f 56 20 41 2c 4d 21 20 43 50 49 20 27 39 27 2b 31 0d 0a 20 30 33 41 46   ┆INR M! MOV A,M! CPI '9'+1   03AF┆
0x06a280…06a2a0             20 44 41 34 35 30 32 20 20 20 20 09 09 4a 43 20 52 44 54 52 4b 20 3b 4f 56 45 52 46 4c 4f 57 20   ┆ DA4502      JC RDTRK ;OVERFLOW ┆
0x06a2a0…06a2c0             54 4f 20 48 49 47 48 20 4f 52 44 45 52 20 54 52 41 43 4b 20 4e 55 4d 42 45 52 0d 0a 20 30 33 42   ┆TO HIGH ORDER TRACK NUMBER   03B┆
0x06a2c0…06a2e0             32 20 33 36 33 30 32 42 33 34 43 33 09 09 4d 56 49 20 4d 2c 27 30 27 21 20 44 43 58 20 48 21 20   ┆2 36302B34C3  MVI M,'0'! DCX H! ┆
0x06a2e0…06a300             49 4e 52 20 4d 21 20 4a 4d 50 20 52 44 54 52 4b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆INR M! JMP RDTRK                ┆
0x06a300…06a320             20 20 09 09 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 09 57 52 45 52 52 3a 09 3b   ┆    ;                   WRERR: ;┆
0x06a320…06a340             56 45 52 49 46 59 20 45 52 52 4f 52 0d 0a 20 30 33 42 39 20 43 44 43 39 30 35 43 33 32 37 09 09   ┆VERIFY ERROR   03B9 CDC905C327  ┆
0x06a340…06a360             43 41 4c 4c 20 56 45 52 45 52 52 21 20 4a 4d 50 20 4e 45 58 54 44 49 53 4b 0d 0a 20 20 20 20 20   ┆CALL VERERR! JMP NEXTDISK       ┆
0x06a360…06a380             20 20 20 20 20 20 20 20 20 20 20 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 0d   ┆           ;                  ; ┆
0x06a380…06a3a0             0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 09 55 54 49 4c 49 54 59 20 53 55 42 52 4f   ┆                 ; UTILITY SUBRO┆
0x06a3a0…06a3c0             55 54 49 4e 45 53 0d 0a 20 30 33 42 46 20 30 45 30 31 43 33 30 35 30 30 43 49 3a 09 4d 56 49 20   ┆UTINES   03BF 0E01C30500CI: MVI ┆
0x06a3c0…06a3e0             43 2c 43 4f 4e 49 4e 21 20 4a 4d 50 20 42 44 4f 53 20 3b 52 45 41 44 20 41 20 43 48 41 52 41 43   ┆C,CONIN! JMP BDOS ;READ A CHARAC┆
0x06a3e0…06a400             54 45 52 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 0d 0a 20 30 33 43 34 20 30 45   ┆TER                  ;   03C4 0E┆
0x06a400…06a420 (28, 0, 11) 20 20 20 20 20 20 54 52 41 4e 53 4c 41 54 45 3a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆      TRANSLATE:                ┆
0x06a420…06a440             20 20 09 3b 54 52 41 4e 53 4c 41 54 45 20 54 48 45 20 52 45 4c 41 54 49 56 45 20 41 44 44 52 45   ┆   ;TRANSLATE THE RELATIVE ADDRE┆
0x06a440…06a460             53 53 20 49 4e 20 48 2c 4c 20 54 4f 20 41 42 53 4f 4c 55 54 45 20 41 44 44 52 45 53 53 0d 0a 20   ┆SS IN H,L TO ABSOLUTE ADDRESS   ┆
0x06a460…06a480             20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 09 3b 49 4e 20 49 42 55 46 46 2c 20 41 53 53 55 4d   ┆                ;IN IBUFF, ASSUM┆
0x06a480…06a4a0             49 4e 47 20 53 45 43 54 4f 52 53 20 41 52 45 20 53 4b 45 57 45 44 0d 0a 20 30 34 32 45 20 44 35   ┆ING SECTORS ARE SKEWED   042E D5┆
0x06a4a0…06a4c0             37 44 45 36 37 46 35 46 09 50 55 53 48 20 44 21 20 4d 4f 56 20 41 2c 4c 21 20 41 4e 49 20 37 46   ┆7DE67F5F PUSH D! MOV A,L! ANI 7F┆
0x06a4c0…06a4e0             48 21 20 4d 4f 56 20 45 2c 41 20 3b 4c 53 20 37 20 42 49 54 53 20 4f 46 20 41 44 44 52 45 53 53   ┆H! MOV E,A ;LS 7 BITS OF ADDRESS┆
0x06a4e0…06a500             20 53 41 56 45 44 0d 0a 20 30 34 33 33 20 37 44 31 37 20 20 20 20 20 20 09 09 4d 4f 56 20 41 2c   ┆ SAVED   0433 7D17        MOV A,┆
0x06a500…06a520             4c 21 20 52 41 4c 20 3b 43 41 52 52 59 20 47 45 54 53 20 4d 53 42 0d 0a 20 30 34 33 35 20 37 43   ┆L! RAL ;CARRY GETS MSB   0435 7C┆
0x06a520…06a540             31 37 20 20 20 20 20 20 09 09 4d 4f 56 20 41 2c 48 21 20 52 41 4c 20 3b 43 41 52 52 59 20 47 4f   ┆17        MOV A,H! RAL ;CARRY GO┆
0x06a540…06a560             45 53 20 54 4f 20 4c 53 42 0d 0a 20 30 34 33 37 20 36 46 32 36 30 30 20 20 20 20 09 09 4d 4f 56   ┆ES TO LSB   0437 6F2600      MOV┆
0x06a560…06a580             20 4c 2c 41 21 20 4d 56 49 20 48 2c 30 20 3b 48 2c 4c 20 43 4f 4e 54 41 49 4e 20 49 4e 44 45 58   ┆ L,A! MVI H,0 ;H,L CONTAIN INDEX┆
0x06a580…06a5a0             20 49 4e 54 4f 20 54 52 41 4e 53 4c 41 54 45 20 54 41 42 4c 45 0d 0a 20 30 34 33 41 20 44 35 31   ┆ INTO TRANSLATE TABLE   043A D51┆
0x06a5a0…06a5c0             31 44 30 30 36 31 39 09 09 50 55 53 48 20 44 21 20 4c 58 49 20 44 2c 54 52 41 4e 21 20 44 41 44   ┆1D00619  PUSH D! LXI D,TRAN! DAD┆
0x06a5c0…06a5e0             20 44 21 20 50 4f 50 20 44 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 09 09 3b 48 2c   ┆ D! POP D                    ;H,┆
0x06a5e0…06a600             4c 20 41 44 44 52 45 53 53 20 54 52 41 4e 53 4c 41 54 49 4f 4e 20 45 4c 45 4d 45 4e 54 2c 20 43   ┆L ADDRESS TRANSLATION ELEMENT, C┆
0x06a600…06a620 (28, 0, 12) 31 0d 0a 3a 31 30 30 35 34 35 30 30 30 36 43 44 43 34 30 33 31 31 41 35 30 36 43 33 43 34 30 33   ┆1  :1005450006CDC40311A506C3C403┆
0x06a620…06a640             31 31 35 35 30 35 43 33 43 34 30 33 44 31 0d 0a 3a 31 30 30 35 35 35 30 30 30 44 30 41 34 39 34   ┆115505C3C403D1  :100555000D0A494┆
0x06a640…06a660             45 35 33 34 35 35 32 35 34 32 30 34 45 34 35 35 37 32 30 34 34 34 39 35 33 41 30 0d 0a 3a 31 30   ┆E53455254204E455720444953A0  :10┆
0x06a660…06a680             30 35 36 35 30 30 34 42 34 35 35 34 35 34 34 35 32 43 32 30 35 34 35 39 35 30 34 35 32 30 35 32   ┆0565004B455454452C20545950452052┆
0x06a680…06a6a0             34 35 35 34 35 35 31 42 0d 0a 3a 31 30 30 35 37 35 30 30 35 32 34 45 32 34 31 31 37 45 30 35 43   ┆4554551B  :10057500524E24117E05C┆
0x06a6a0…06a6c0             33 43 34 30 33 30 44 30 41 34 32 34 31 34 34 32 30 34 44 34 39 0d 0a 3a 31 30 30 35 38 35 30 30   ┆3C4030D0A424144204D49  :10058500┆
0x06a6c0…06a6e0             34 46 35 36 34 33 35 30 34 44 32 45 34 33 34 46 34 44 32 30 34 36 34 39 34 43 34 35 32 43 32 30   ┆4F5643504D2E434F4D2046494C452C20┆
0x06a6e0…06a700             34 38 0d 0a 3a 31 30 30 35 39 35 30 30 35 32 34 35 35 30 34 43 34 31 34 33 34 35 32 34 31 31 41   ┆48  :100595005245504C4143452411A┆
0x06a700…06a720             33 30 35 43 33 43 34 30 33 30 44 30 41 44 43 0d 0a 3a 31 30 30 35 41 35 30 30 34 45 34 46 34 45   ┆305C3C4030D0ADC  :1005A5004E4F4E┆
0x06a720…06a740             32 30 34 33 35 30 32 46 34 44 32 30 34 34 34 39 35 33 34 42 34 35 35 34 35 34 46 34 0d 0a 3a 31   ┆2043502F4D204449534B455454F4  :1┆
0x06a740…06a760             30 30 35 42 35 30 30 34 35 32 43 32 30 34 33 34 31 34 45 34 45 34 46 35 34 32 30 35 33 34 35 35   ┆005B500452C2043414E4E4F542053455┆
0x06a760…06a780             32 34 39 34 31 34 43 30 32 0d 0a 3a 31 30 30 35 43 35 30 30 34 39 35 41 34 35 32 34 31 31 43 46   ┆249414C02  :1005C500495A452411CF┆
0x06a780…06a7a0             30 35 43 33 43 34 30 33 30 44 30 41 35 36 34 35 35 32 34 39 35 45 0d 0a 3a 31 30 30 35 44 35 30   ┆05C3C4030D0A564552495E  :1005D50┆
0x06a7a0…06a7c0             30 34 36 34 39 34 33 34 31 35 34 34 39 34 46 34 45 32 30 34 35 35 32 35 32 34 46 35 32 32 43 32   ┆04649434154494F4E204552524F522C2┆
0x06a7c0…06a7e0             30 44 33 0d 0a 3a 31 30 30 35 45 35 30 30 34 32 34 31 34 34 32 30 34 34 34 39 35 33 34 42 32 34   ┆0D3  :1005E500424144204449534B24┆
0x06a7e0…06a800             31 31 46 34 30 35 43 33 43 34 30 33 30 44 32 46 0d 0a 3a 31 30 30 35 46 35 30 30 30 41 35 33 34   ┆11F405C3C4030D2F  :1005F5000A534┆
0x06a800…06a820 (28, 0, 13) 4f 52 20 4d 4f 56 43 50 4d 2e 43 4f 4d 20 53 45 52 49 41 4c 49 5a 41 54 49 4f 4e 0d 0a 20 30 33   ┆OR MOVCPM.COM SERIALIZATION   03┆
0x06a820…06a840             33 32 20 32 31 43 44 30 36 37 45 42 37 09 09 4c 58 49 20 48 2c 53 54 52 41 43 4b 21 20 4d 4f 56   ┆32 21CD067EB7  LXI H,STRACK! MOV┆
0x06a840…06a860             20 41 2c 4d 21 20 4f 52 41 20 41 21 20 4a 5a 20 4e 4f 53 45 52 0d 0a 20 20 20 20 20 20 20 20 20   ┆ A,M! ORA A! JZ NOSER           ┆
0x06a860…06a880             20 20 20 20 20 20 20 09 09 3b 41 4c 52 45 41 44 59 20 53 45 52 49 41 4c 49 5a 45 44 20 49 46 20   ┆         ;ALREADY SERIALIZED IF ┆
0x06a880…06a8a0             53 54 52 41 43 4b 3d 30 0d 0a 20 30 33 33 41 20 33 35 43 32 34 34 30 33 20 20 09 09 44 43 52 20   ┆STRACK=0   033A 35C24403    DCR ┆
0x06a8a0…06a8c0             4d 21 20 4a 4e 5a 20 4e 4f 53 45 52 20 3b 4e 4f 54 20 4f 4e 20 50 52 4f 50 45 52 20 54 52 41 43   ┆M! JNZ NOSER ;NOT ON PROPER TRAC┆
0x06a8c0…06a8e0             4b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 09 09 3b 4f 4e 20 50 52 4f 50 45 52 20   ┆K                    ;ON PROPER ┆
0x06a8e0…06a900             54 52 41 43 4b 2c 20 53 44 49 46 46 20 43 4f 4e 54 41 49 4e 53 20 49 4e 44 45 58 20 54 4f 20 42   ┆TRACK, SDIFF CONTAINS INDEX TO B┆
0x06a900…06a920             44 4f 53 20 53 45 52 49 41 4c 23 0d 0a 20 30 33 33 45 20 32 41 43 45 30 36 43 44 35 43 09 09 09   ┆DOS SERIAL#   033E 2ACE06CD5C   ┆
0x06a920…06a940             4c 48 4c 44 20 53 44 49 46 46 21 20 43 41 4c 4c 20 53 54 53 45 52 49 41 4c 0d 0a 20 20 20 20 20   ┆LHLD SDIFF! CALL STSERIAL       ┆
0x06a940…06a960             20 20 20 20 20 20 20 20 20 20 20 09 4e 4f 53 45 52 3a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20   ┆            NOSER:              ┆
0x06a960…06a980             20 20 20 20 09 09 3b 54 52 41 43 4b 20 49 4e 20 4d 45 4d 4f 52 59 2c 20 43 48 45 43 4b 20 46 4f   ┆      ;TRACK IN MEMORY, CHECK FO┆
0x06a980…06a9a0             52 20 4c 41 53 54 20 54 52 41 43 4b 0d 0a 20 30 33 34 34 20 32 31 30 42 30 37 30 31 30 30 09 09   ┆R LAST TRACK   0344 210B070100  ┆
0x06a9a0…06a9c0             4c 58 49 20 48 2c 49 42 55 46 46 21 20 4c 58 49 20 42 2c 54 52 4c 45 4e 0d 0a 20 30 33 34 41 20   ┆LXI H,IBUFF! LXI B,TRLEN   034A ┆
0x06a9c0…06a9e0             33 45 45 35 42 45 43 32 37 30 09 09 54 52 43 4f 4d 50 3a 09 4d 56 49 20 41 2c 30 45 35 48 21 20   ┆3EE5BEC270  TRCOMP: MVI A,0E5H! ┆
0x06a9e0…06aa00             43 4d 50 20 4d 21 20 4a 4e 5a 20 57 52 54 52 4b 0d 0a 20 30 33 35 30 20 32 33 30 42 37 39 42 30   ┆CMP M! JNZ WRTRK   0350 230B79B0┆
0x06aa00…06aa20 (28, 0, 14) 30 39 43 33 30 35 30 30 50 52 4d 53 47 3a 09 4d 56 49 20 43 2c 50 42 55 46 46 21 20 4a 4d 50 20   ┆09C30500PRMSG: MVI C,PBUFF! JMP ┆
0x06aa20…06aa40             42 44 4f 53 20 3b 50 52 49 4e 54 20 41 20 42 55 46 46 45 52 0d 0a 20 20 20 20 20 20 20 20 20 20   ┆BDOS ;PRINT A BUFFER            ┆
0x06aa40…06aa60             20 20 20 20 20 20 3b 0d 0a 20 30 33 43 39 20 43 44 30 36 30 35 20 20 20 20 52 44 45 52 52 3a 09   ┆      ;   03C9 CD0605    RDERR: ┆
0x06aa60…06aa80             43 41 4c 4c 20 49 4e 56 41 4c 49 44 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 0d   ┆CALL INVALID                  ; ┆
0x06aa80…06aaa0             0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 45 41 44 3a 09 3b 52 45 41 44 20 43 4f 4e   ┆                 READ: ;READ CON┆
0x06aaa0…06aac0             53 54 41 4e 54 20 56 41 4c 55 45 20 54 4f 20 42 2c 43 0d 0a 20 30 33 43 43 20 31 31 43 33 30 36   ┆STANT VALUE TO B,C   03CC 11C306┆
0x06aac0…06aae0             30 45 30 41 09 4c 58 49 20 44 2c 4d 41 58 4c 45 4e 21 20 4d 56 49 20 43 2c 52 44 42 55 46 46 21   ┆0E0A LXI D,MAXLEN! MVI C,RDBUFF!┆
0x06aae0…06ab00             20 43 41 4c 4c 20 42 44 4f 53 20 3b 42 55 46 46 45 52 20 46 49 4c 4c 45 44 0d 0a 20 30 33 44 34   ┆ CALL BDOS ;BUFFER FILLED   03D4┆
0x06ab00…06ab20             20 32 31 43 34 30 36 37 45 42 37 09 4c 58 49 20 48 2c 43 4f 4d 4c 45 4e 21 20 4d 4f 56 20 41 2c   ┆ 21C4067EB7 LXI H,COMLEN! MOV A,┆
0x06ab20…06ab40             4d 21 20 4f 52 41 20 41 21 20 4a 5a 20 52 44 45 52 52 20 3b 4e 4f 4e 20 5a 45 52 4f 20 4c 45 4e   ┆M! ORA A! JZ RDERR ;NON ZERO LEN┆
0x06ab40…06ab60             47 54 48 0d 0a 20 30 33 44 43 20 32 33 35 46 31 36 30 30 31 39 09 49 4e 58 20 48 21 20 4d 4f 56   ┆GTH   03DC 235F160019 INX H! MOV┆
0x06ab60…06ab80             20 45 2c 41 21 20 4d 56 49 20 44 2c 30 21 20 44 41 44 20 44 20 3b 48 2c 4c 20 41 44 44 52 45 53   ┆ E,A! MVI D,0! DAD D ;H,L ADDRES┆
0x06ab80…06aba0             53 20 4c 41 53 54 20 50 4f 53 2b 31 0d 0a 20 30 33 45 31 20 33 36 30 30 20 20 20 20 20 20 09 4d   ┆S LAST POS+1   03E1 3600       M┆
0x06aba0…06abc0             56 49 20 4d 2c 30 20 3b 43 4c 45 41 52 45 44 20 46 4f 52 20 45 4e 44 20 4f 46 20 53 43 41 4e 0d   ┆VI M,0 ;CLEARED FOR END OF SCAN ┆
0x06abc0…06abe0             0a 20 30 33 45 33 20 32 31 43 35 30 36 30 31 30 30 09 4c 58 49 20 48 2c 43 42 55 46 46 21 20 4c   ┆  03E3 21C5060100 LXI H,CBUFF! L┆
0x06abe0…06ac00             58 49 20 42 2c 30 0d 0a 20 30 33 45 39 20 37 45 42 37 43 38 20 20 20 20 09 43 4f 4e 56 3a 09 4d   ┆XI B,0   03E9 7EB7C8     CONV: M┆
0x06ac00…06ac20 (28, 0, 15) 4f 4e 56 45 52 54 20 54 4f 20 52 45 4c 20 41 44 44 52 45 53 53 0d 0a 20 30 34 34 30 20 41 46 37   ┆ONVERT TO REL ADDRESS   0440 AF7┆
0x06ac20…06ac40             45 33 44 31 46 20 20 09 09 58 52 41 20 41 21 20 4d 4f 56 20 41 2c 4d 21 20 44 43 52 20 41 20 21   ┆E3D1F    XRA A! MOV A,M! DCR A !┆
0x06ac40…06ac60             20 52 41 52 20 3b 43 41 52 52 59 20 47 45 54 53 20 4c 53 42 2c 20 4d 53 42 3d 30 0d 0a 20 30 34   ┆ RAR ;CARRY GETS LSB, MSB=0   04┆
0x06ac60…06ac80             34 34 20 36 37 33 45 30 30 31 46 20 20 09 09 4d 4f 56 20 48 2c 41 21 20 4d 56 49 20 41 2c 30 21   ┆44 673E001F    MOV H,A! MVI A,0!┆
0x06ac80…06aca0             20 52 41 52 20 3b 43 41 52 52 59 20 47 4f 45 53 20 54 4f 20 4d 53 42 0d 0a 20 30 34 34 38 20 42   ┆ RAR ;CARRY GOES TO MSB   0448 B┆
0x06aca0…06acc0             33 20 20 20 20 20 20 20 20 09 09 4f 52 41 20 45 20 3b 52 45 43 4c 41 49 4d 20 54 48 45 20 4c 45   ┆3          ORA E ;RECLAIM THE LE┆
0x06acc0…06ace0             41 53 54 20 53 49 47 4e 49 46 49 43 41 4e 54 20 37 20 42 49 54 53 0d 0a 20 30 34 34 39 20 36 46   ┆AST SIGNIFICANT 7 BITS   0449 6F┆
0x06ace0…06ad00             31 31 30 42 30 37 31 39 09 09 4d 4f 56 20 4c 2c 41 21 20 4c 58 49 20 44 2c 49 42 55 46 46 21 20   ┆110B0719  MOV L,A! LXI D,IBUFF! ┆
0x06ad00…06ad20             44 41 44 20 44 20 3b 41 42 53 4f 4c 55 54 45 20 41 44 44 52 45 53 53 20 49 4e 20 48 2c 4c 0d 0a   ┆DAD D ;ABSOLUTE ADDRESS IN H,L  ┆
0x06ad20…06ad40             20 30 34 34 45 20 44 31 20 20 20 20 20 20 20 20 09 09 50 4f 50 20 44 20 3b 52 45 43 41 4c 4c 20   ┆ 044E D1          POP D ;RECALL ┆
0x06ad40…06ad60             53 54 41 43 4b 45 44 20 44 20 56 41 4c 55 45 0d 0a 20 30 34 34 46 20 43 39 20 20 20 20 20 20 20   ┆STACKED D VALUE   044F C9       ┆
0x06ad60…06ad80             20 09 09 52 45 54 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 0d 0a 20 20 20 20 20   ┆   RET                  ;       ┆
0x06ad80…06ada0             20 20 20 20 20 20 20 20 20 20 20 53 54 42 59 54 45 3a 09 3b 53 54 4f 52 45 20 42 59 54 45 20 56   ┆           STBYTE: ;STORE BYTE V┆
0x06ada0…06adc0             41 4c 55 45 20 47 49 56 45 4e 20 42 59 20 52 45 47 49 53 54 45 52 20 41 20 54 4f 20 54 52 41 4e   ┆ALUE GIVEN BY REGISTER A TO TRAN┆
0x06adc0…06ade0             53 4c 41 54 45 44 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 09 3b 41 44 44 52 45 53   ┆SLATED                   ;ADDRES┆
0x06ade0…06ae00             53 20 47 49 56 45 4e 20 42 59 20 48 2c 4c 2e 20 20 49 4e 43 52 45 4d 45 4e 54 20 48 2c 4c 20 55   ┆S GIVEN BY H,L.  INCREMENT H,L U┆
0x06ae00…06ae20 (28, 1, 1)  35 35 32 34 39 34 31 34 43 32 30 34 45 35 35 34 44 34 32 34 35 35 32 32 30 34 46 44 34 0d 0a 3a   ┆55249414C204E554D424552204FD4  :┆
0x06ae20…06ae40             31 30 30 36 30 35 30 30 35 36 34 35 35 32 34 36 34 43 34 46 35 37 32 34 31 31 31 33 30 36 43 33   ┆10060500564552464C4F5724111306C3┆
0x06ae40…06ae60             43 34 30 33 30 44 30 41 44 31 0d 0a 3a 31 30 30 36 31 35 30 30 34 35 35 32 35 32 34 46 35 32 32   ┆C4030D0AD1  :100615004552524F522┆
0x06ae60…06ae80             30 34 46 34 45 32 30 35 33 34 46 35 35 35 32 34 33 34 35 32 30 37 44 0d 0a 3a 31 30 30 36 32 35   ┆04F4E20534F55524345207D  :100625┆
0x06ae80…06aea0             30 30 34 34 34 39 35 33 34 42 32 43 32 30 35 32 34 35 35 30 34 43 34 31 34 33 34 35 32 34 31 31   ┆004449534B2C205245504C4143452411┆
0x06aea0…06aec0             33 39 45 34 0d 0a 3a 31 30 30 36 33 35 30 30 30 36 43 33 43 34 30 33 30 44 30 41 34 33 34 31 34   ┆39E4  :1006350006C3C4030D0A43414┆
0x06aec0…06aee0             45 34 45 34 46 35 34 32 30 35 37 35 32 34 39 33 39 0d 0a 3a 31 30 30 36 34 35 30 30 35 34 34 35   ┆E4E4F542057524939  :100645005445┆
0x06aee0…06af00             32 30 34 45 34 35 35 37 32 30 34 34 34 39 35 33 34 42 32 43 32 30 35 32 34 35 35 30 38 34 0d 0a   ┆204E4557204449534B2C2052455084  ┆
0x06af00…06af20             3a 31 30 30 36 35 35 30 30 34 43 34 31 34 33 34 35 32 34 31 31 36 30 30 36 43 33 43 34 30 33 30   ┆:100655004C41434524116006C3C4030┆
0x06af20…06af40             44 30 41 34 33 34 31 34 45 37 32 0d 0a 3a 31 30 30 36 36 35 30 30 34 45 34 46 35 34 32 30 35 32   ┆D0A43414E72  :100665004E4F542052┆
0x06af40…06af60             34 35 32 44 35 32 34 35 34 31 34 34 32 30 34 45 34 35 35 37 32 30 36 41 0d 0a 3a 30 45 30 36 37   ┆452D52454144204E4557206A  :0E067┆
0x06af60…06af80             35 30 30 34 34 34 39 35 33 34 42 32 43 32 30 35 32 34 35 35 30 34 43 34 31 34 33 34 35 32 34 45   ┆5004449534B2C205245504C41434524E┆
0x06af80…06afa0             30 0d 0a 3a 31 30 30 36 38 35 30 30 30 44 30 41 33 30 33 30 33 30 33 30 33 30 32 44 32 34 30 44   ┆0  :100685000D0A30303030302D240D┆
0x06afa0…06afc0             30 41 33 30 33 30 32 30 35 34 35 32 44 30 0d 0a 3a 30 45 30 36 39 35 30 30 34 31 34 33 34 42 35   ┆0A3030205452D0  :0E06950041434B5┆
0x06afc0…06afe0             33 32 30 35 36 34 35 35 32 34 39 34 36 34 39 34 35 34 34 32 34 41 33 0d 0a 3a 31 30 30 36 41 35   ┆320564552494649454424A3  :1006A5┆
0x06afe0…06b000             30 30 33 30 33 30 33 30 33 30 33 30 32 34 42 42 42 36 41 44 44 46 42 41 41 44 42 45 44 46 41 42   ┆00303030303024BBB6ADDFBAADBEDFAB┆
0x06b000…06b020 (28, 1, 2)  41 49 4e 20 24 27 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 0d 0a 20 20 20 20 20   ┆AIN $'                  ;       ┆
0x06b020…06b040             20 20 20 20 20 20 20 20 20 20 20 43 55 52 4d 53 47 3a 0d 0a 20 30 35 32 39 20 31 31 32 46 30 35   ┆           CURMSG:   0529 112F05┆
0x06b040…06b060             43 33 43 34 09 4c 58 49 20 44 2c 24 2b 36 21 20 4a 4d 50 20 50 52 4d 53 47 0d 0a 20 30 35 32 46   ┆C3C4 LXI D,$+6! JMP PRMSG   052F┆
0x06b060…06b080             20 30 44 30 41 35 33 34 35 35 32 09 44 42 20 43 52 2c 4c 46 2c 27 53 45 52 49 41 4c 49 5a 49 4e   ┆ 0D0A534552 DB CR,LF,'SERIALIZIN┆
0x06b080…06b0a0             47 20 44 49 53 4b 20 24 27 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 0d 0a 20 20   ┆G DISK $'                  ;    ┆
0x06b0a0…06b0c0             20 20 20 20 20 20 20 20 20 20 20 20 20 20 41 53 45 52 4d 53 47 3a 0d 0a 20 30 35 34 33 20 31 31   ┆              ASERMSG:   0543 11┆
0x06b0c0…06b0e0             38 37 30 36 43 44 43 34 09 4c 58 49 20 44 2c 41 4f 52 49 47 49 4e 21 20 43 41 4c 4c 20 50 52 4d   ┆8706CDC4 LXI D,AORIGIN! CALL PRM┆
0x06b0e0…06b100             53 47 0d 0a 20 30 35 34 39 20 31 31 41 35 30 36 43 33 43 34 09 4c 58 49 20 44 2c 41 53 45 52 49   ┆SG   0549 11A506C3C4 LXI D,ASERI┆
0x06b100…06b120             41 4c 21 20 4a 4d 50 20 50 52 4d 53 47 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b   ┆AL! JMP PRMSG                  ;┆
0x06b120…06b140             0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4e 45 57 4d 53 47 3a 0d 0a 20 30 35 34 46   ┆                  NEWMSG:   054F┆
0x06b140…06b160             20 31 31 35 35 30 35 43 33 43 34 09 4c 58 49 20 44 2c 24 2b 36 21 20 4a 4d 50 20 50 52 4d 53 47   ┆ 115505C3C4 LXI D,$+6! JMP PRMSG┆
0x06b160…06b180             0d 0a 20 30 35 35 35 20 30 44 30 41 34 39 34 45 35 33 09 44 42 20 43 52 2c 4c 46 2c 27 49 4e 53   ┆   0555 0D0A494E53 DB CR,LF,'INS┆
0x06b180…06b1a0             45 52 54 20 4e 45 57 20 44 49 53 4b 45 54 54 45 2c 20 54 59 50 45 20 52 45 54 55 52 4e 24 27 0d   ┆ERT NEW DISKETTE, TYPE RETURN$' ┆
0x06b1a0…06b1c0             0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20   ┆                 ;              ┆
0x06b1c0…06b1e0             20 20 20 20 42 41 44 43 4f 4d 3a 0d 0a 20 30 35 37 38 20 31 31 37 45 30 35 43 33 43 34 09 4c 58   ┆    BADCOM:   0578 117E05C3C4 LX┆
0x06b1e0…06b200             49 20 44 2c 24 2b 36 21 20 4a 4d 50 20 50 52 4d 53 47 0d 0a 20 30 35 37 45 20 30 44 30 41 34 32   ┆I D,$+6! JMP PRMSG   057E 0D0A42┆
0x06b200…06b220 (28, 1, 3)  33 20 41 42 41 36 41 46 42 41 20 20 09 44 57 09 4e 4f 54 20 27 54 59 27 2c 4e 4f 54 20 27 50 45   ┆3 ABA6AFBA   DW NOT 'TY',NOT 'PE┆
0x06b220…06b240             27 0d 0a 20 30 36 42 37 20 41 43 42 45 41 39 42 41 20 20 09 44 57 09 4e 4f 54 20 27 53 41 27 2c   ┆'   06B7 ACBEA9BA   DW NOT 'SA',┆
0x06b240…06b260             4e 4f 54 20 27 56 45 27 0d 0a 20 30 36 42 42 20 41 44 42 41 42 31 44 46 20 20 09 44 57 09 4e 4f   ┆NOT 'VE'   06BB ADBAB1DF   DW NO┆
0x06b260…06b280             54 20 27 52 45 27 2c 4e 4f 54 20 27 4e 20 27 0d 0a 20 30 36 42 46 20 41 41 41 43 42 41 41 44 20   ┆T 'RE',NOT 'N '   06BF AAACBAAD ┆
0x06b280…06b2a0             20 09 44 57 09 4e 4f 54 20 27 55 53 27 2c 4e 4f 54 20 27 45 52 27 0d 0a 20 30 30 30 43 20 3d 20   ┆  DW NOT 'US',NOT 'ER'   000C = ┆
0x06b2a0…06b2c0             20 20 20 20 20 20 20 20 09 43 4f 4d 50 4c 45 4e 20 45 51 55 20 28 24 2d 43 4f 4d 50 41 52 45 29   ┆         COMPLEN EQU ($-COMPARE)┆
0x06b2c0…06b2e0             2f 32 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 09 49 4e 50 55 54 20 42 55 46 46   ┆/2                  ; INPUT BUFF┆
0x06b2e0…06b300             45 52 0d 0a 20 30 36 43 33 20 30 37 20 20 20 20 20 20 20 20 4d 41 58 4c 45 4e 3a 09 44 42 09 37   ┆ER   06C3 07        MAXLEN: DB 7┆
0x06b300…06b320             0d 0a 20 30 36 43 34 20 20 20 20 20 20 20 20 20 20 20 43 4f 4d 4c 45 4e 3a 09 44 53 09 31 0d 0a   ┆   06C4           COMLEN: DS 1  ┆
0x06b320…06b340             20 30 36 43 35 20 20 20 20 20 20 20 20 20 20 20 43 42 55 46 46 3a 09 44 53 09 38 0d 0a 20 30 36   ┆ 06C5           CBUFF: DS 8   06┆
0x06b340…06b360             43 44 20 20 20 20 20 20 20 20 20 20 20 53 54 52 41 43 4b 3a 09 44 53 09 31 09 3b 53 45 52 49 41   ┆CD           STRACK: DS 1 ;SERIA┆
0x06b360…06b380             4c 49 5a 45 20 54 52 41 43 4b 20 46 4f 52 20 43 50 4d 2e 43 4f 4d 20 46 49 4c 45 20 57 48 45 4e   ┆LIZE TRACK FOR CPM.COM FILE WHEN┆
0x06b380…06b3a0             20 45 4e 43 4f 55 4e 54 45 52 45 44 0d 0a 20 30 36 43 45 20 20 20 20 20 20 20 20 20 20 20 53 44   ┆ ENCOUNTERED   06CE           SD┆
0x06b3a0…06b3c0             49 46 46 3a 09 44 53 09 32 09 3b 44 49 46 46 45 52 45 4e 43 45 20 42 45 54 57 45 45 4e 20 54 57   ┆IFF: DS 2 ;DIFFERENCE BETWEEN TW┆
0x06b3c0…06b3e0             4f 20 53 45 52 49 41 4c 20 4e 55 4d 42 45 52 20 41 44 44 52 45 53 53 45 53 0d 0a 20 20 20 20 20   ┆O SERIAL NUMBER ADDRESSES       ┆
0x06b3e0…06b400             20 20 20 20 20 20 20 20 20 20 20 3b 09 53 45 43 54 4f 52 20 54 52 41 4e 53 4c 41 54 49 4f 4e 20   ┆           ; SECTOR TRANSLATION ┆
0x06b400…06b420 (28, 1, 4)  69 73 6b 20 62 61 6e 6b 20 30 30 20 69 66 20 64 72 69 76 65 20 30 2c 31 0d 0a 09 09 09 3b 09 20   ┆isk bank 00 if drive 0,1     ;  ┆
0x06b420…06b440             20 20 31 30 20 69 66 20 64 72 69 76 65 20 32 2c 33 0d 0a 69 6f 70 62 3a 09 3b 69 6f 20 70 61 72   ┆  10 if drive 2,3  iopb: ;io par┆
0x06b440…06b460             61 6d 65 74 65 72 20 62 6c 6f 63 6b 0d 0a 09 64 62 09 38 30 68 09 3b 6e 6f 72 6d 61 6c 20 69 2f   ┆ameter block   db 80h ;normal i/┆
0x06b460…06b480             6f 20 6f 70 65 72 61 74 69 6f 6e 0d 0a 69 6f 66 3a 09 64 62 09 72 65 61 64 66 09 3b 69 6f 20 66   ┆o operation  iof: db readf ;io f┆
0x06b480…06b4a0             75 6e 63 74 69 6f 6e 2c 20 69 6e 69 74 69 61 6c 20 72 65 61 64 0d 0a 69 6f 6e 3a 09 64 62 09 31   ┆unction, initial read  ion: db 1┆
0x06b4a0…06b4c0             09 3b 6e 75 6d 62 65 72 20 6f 66 20 73 65 63 74 6f 72 73 20 74 6f 20 72 65 61 64 0d 0a 69 6f 74   ┆ ;number of sectors to read  iot┆
0x06b4c0…06b4e0             3a 09 64 62 09 6f 66 66 73 65 74 09 3b 74 72 61 63 6b 20 6e 75 6d 62 65 72 0d 0a 69 6f 73 3a 09   ┆: db offset ;track number  ios: ┆
0x06b4e0…06b500             64 62 09 31 09 3b 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 0d 0a 69 6f 64 3a 09 64 77 09 62 75 66   ┆db 1 ;sector number  iod: dw buf┆
0x06b500…06b520             66 09 3b 69 6f 20 61 64 64 72 65 73 73 0d 0a 3b 0d 0a 3b 0d 0a 3b 09 64 65 66 69 6e 65 20 72 61   ┆f ;io address  ;  ;  ; define ra┆
0x06b520…06b540             6d 20 61 72 65 61 73 20 66 6f 72 20 62 64 6f 73 20 6f 70 65 72 61 74 69 6f 6e 0d 0a 09 65 6e 64   ┆m areas for bdos operation   end┆
0x06b540…06b560             65 66 0d 0a 09 65 6e 64 0d 0a 3b 09 4d 44 53 2d 38 30 30 20 49 2f 4f 20 44 72 69 76 65 72 73 20   ┆ef   end  ; MDS-800 I/O Drivers ┆
0x06b560…06b580             66 6f 72 20 43 50 2f 4d 20 32 2e 32 0d 0a 3b 09 28 66 6f 75 72 20 64 72 69 76 65 20 73 69 6e 67   ┆for CP/M 2.2  ; (four drive sing┆
0x06b580…06b5a0             6c 65 20 64 65 6e 73 69 74 79 20 76 65 72 73 69 6f 6e 29 0d 0a 3b 0d 0a 3b 09 56 65 72 73 69 6f   ┆le density version)  ;  ; Versio┆
0x06b5a0…06b5c0             6e 20 32 2e 32 20 46 65 62 72 75 61 72 79 2c 20 31 39 38 30 0d 0a 3b 0d 0a 76 65 72 73 09 65 71   ┆n 2.2 February, 1980  ;  vers eq┆
0x06b5c0…06b5e0             75 09 32 32 09 3b 76 65 72 73 69 6f 6e 20 32 2e 32 0d 0a 3b 0d 0a 3b 09 43 6f 70 79 72 69 67 68   ┆u 22 ;version 2.2  ;  ; Copyrigh┆
0x06b5e0…06b600             74 20 28 63 29 20 31 39 38 30 0d 0a 3b 09 44 69 67 69 74 61 6c 20 52 65 73 65 61 72 63 68 0d 0a   ┆t (c) 1980  ; Digital Research  ┆
0x06b600…06b620 (28, 1, 5)  50 4f 4e 20 52 45 54 55 52 4e 0d 0a 20 30 34 35 30 20 45 35 44 35 46 35 20 20 20 20 09 50 55 53   ┆PON RETURN   0450 E5D5F5     PUS┆
0x06b620…06b640             48 20 48 21 20 50 55 53 48 20 44 21 20 50 55 53 48 20 50 53 57 0d 0a 20 30 34 35 33 20 43 44 32   ┆H H! PUSH D! PUSH PSW   0453 CD2┆
0x06b640…06b660             45 30 34 46 31 20 20 09 43 41 4c 4c 20 54 52 41 4e 53 4c 41 54 45 21 20 50 4f 50 20 50 53 57 0d   ┆E04F1   CALL TRANSLATE! POP PSW ┆
0x06b660…06b680             0a 20 30 34 35 37 20 37 37 44 31 45 31 32 33 43 39 09 4d 4f 56 20 4d 2c 41 21 20 50 4f 50 20 44   ┆  0457 77D1E123C9 MOV M,A! POP D┆
0x06b680…06b6a0             21 20 50 4f 50 20 48 21 20 49 4e 58 20 48 21 20 52 45 54 0d 0a 20 20 20 20 20 20 20 20 20 20 20   ┆! POP H! INX H! RET             ┆
0x06b6a0…06b6c0             20 20 20 20 20 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 54 53 45 52 49 41 4c   ┆     ;                  STSERIAL┆
0x06b6c0…06b6e0             3a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 09 3b 53 54 4f 52 45 20 54 48 45 20 53   ┆:                   ;STORE THE S┆
0x06b6e0…06b700             45 52 49 41 4c 20 4e 55 4d 42 45 52 20 49 4e 54 4f 20 41 44 44 52 45 53 53 20 47 49 56 45 4e 20   ┆ERIAL NUMBER INTO ADDRESS GIVEN ┆
0x06b700…06b720             42 59 20 48 2c 4c 0d 0a 20 30 34 35 43 20 33 41 38 33 30 36 43 44 35 30 09 4c 44 41 20 4f 52 49   ┆BY H,L   045C 3A8306CD50 LDA ORI┆
0x06b720…06b740             47 49 4e 21 20 43 41 4c 4c 20 53 54 42 59 54 45 20 3b 42 59 54 45 20 53 54 4f 52 45 44 2c 20 48   ┆GIN! CALL STBYTE ;BYTE STORED, H┆
0x06b740…06b760             2c 4c 20 49 4e 43 52 45 4d 45 4e 54 45 44 0d 0a 20 30 34 36 32 20 33 45 31 36 43 44 35 30 30 34   ┆,L INCREMENTED   0462 3E16CD5004┆
0x06b760…06b780             09 4d 56 49 20 41 2c 56 45 52 53 49 4f 4e 21 20 43 41 4c 4c 20 53 54 42 59 54 45 20 3b 56 45 52   ┆ MVI A,VERSION! CALL STBYTE ;VER┆
0x06b780…06b7a0             53 49 4f 4e 20 4e 55 4d 42 45 52 0d 0a 20 30 34 36 37 20 33 41 38 34 30 36 43 44 35 30 09 09 6c   ┆SION NUMBER   0467 3A8406CD50  l┆
0x06b7a0…06b7c0             64 61 20 6f 72 69 67 69 6e 2b 31 20 21 20 63 61 6c 6c 20 73 74 62 79 74 65 09 3b 20 73 74 75 66   ┆da origin+1 ! call stbyte ; stuf┆
0x06b7c0…06b7e0             66 20 68 69 67 68 28 6f 72 69 67 69 6e 29 0d 0a 20 30 34 36 44 20 41 46 43 44 35 30 30 34 20 20   ┆f high(origin)   046D AFCD5004  ┆
0x06b7e0…06b800             09 09 58 52 41 20 41 21 20 43 41 4c 4c 20 53 54 42 59 54 45 20 3b 5a 45 52 4f 20 42 59 54 45 0d   ┆  XRA A! CALL STBYTE ;ZERO BYTE ┆
0x06b800…06b820 (28, 1, 6)  34 31 34 34 09 44 42 20 43 52 2c 4c 46 2c 27 42 41 44 20 4d 4f 56 43 50 4d 2e 43 4f 4d 20 46 49   ┆4144 DB CR,LF,'BAD MOVCPM.COM FI┆
0x06b820…06b840             4c 45 2c 20 52 45 50 4c 41 43 45 24 27 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b   ┆LE, REPLACE$'                  ;┆
0x06b840…06b860             0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 42 41 44 44 53 4b 3a 0d 0a 20 30 35 39 44   ┆                  BADDSK:   059D┆
0x06b860…06b880             20 31 31 41 33 30 35 43 33 43 34 09 4c 58 49 20 44 2c 24 2b 36 21 20 4a 4d 50 20 50 52 4d 53 47   ┆ 11A305C3C4 LXI D,$+6! JMP PRMSG┆
0x06b880…06b8a0             0d 0a 20 30 35 41 33 20 30 44 30 41 34 45 34 46 34 45 09 44 42 20 43 52 2c 4c 46 2c 27 4e 4f 4e   ┆   05A3 0D0A4E4F4E DB CR,LF,'NON┆
0x06b8a0…06b8c0             20 43 50 2f 4d 20 44 49 53 4b 45 54 54 45 2c 20 43 41 4e 4e 4f 54 20 53 45 52 49 41 4c 49 5a 45   ┆ CP/M DISKETTE, CANNOT SERIALIZE┆
0x06b8c0…06b8e0             24 27 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 0d 0a 20 20 20 20 20 20 20 20 20   ┆$'                  ;           ┆
0x06b8e0…06b900             20 20 20 20 20 20 20 56 45 52 45 52 52 3a 0d 0a 20 30 35 43 39 20 31 31 43 46 30 35 43 33 43 34   ┆       VERERR:   05C9 11CF05C3C4┆
0x06b900…06b920             09 4c 58 49 20 44 2c 24 2b 36 21 20 4a 4d 50 20 50 52 4d 53 47 0d 0a 20 30 35 43 46 20 30 44 30   ┆ LXI D,$+6! JMP PRMSG   05CF 0D0┆
0x06b920…06b940             41 35 36 34 35 35 32 09 44 42 20 43 52 2c 4c 46 2c 27 56 45 52 49 46 49 43 41 54 49 4f 4e 20 45   ┆A564552 DB CR,LF,'VERIFICATION E┆
0x06b940…06b960             52 52 4f 52 2c 20 42 41 44 20 44 49 53 4b 24 27 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆RROR, BAD DISK$'                ┆
0x06b960…06b980             20 20 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4f 56 45 52 4d 53 47 3a 0d 0a 20   ┆  ;                  OVERMSG:   ┆
0x06b980…06b9a0             30 35 45 45 20 31 31 46 34 30 35 43 33 43 34 09 4c 58 49 20 44 2c 24 2b 36 21 20 4a 4d 50 20 50   ┆05EE 11F405C3C4 LXI D,$+6! JMP P┆
0x06b9a0…06b9c0             52 4d 53 47 0d 0a 20 30 35 46 34 20 30 44 30 41 35 33 34 35 35 32 09 44 42 20 43 52 2c 4c 46 2c   ┆RMSG   05F4 0D0A534552 DB CR,LF,┆
0x06b9c0…06b9e0             27 53 45 52 49 41 4c 20 4e 55 4d 42 45 52 20 4f 56 45 52 46 4c 4f 57 24 27 0d 0a 20 20 20 20 20   ┆'SERIAL NUMBER OVERFLOW$'       ┆
0x06b9e0…06ba00             20 20 20 20 20 20 20 20 20 20 20 52 45 41 44 30 4d 53 47 3a 0d 0a 20 30 36 30 44 20 31 31 31 33   ┆           READ0MSG:   060D 1113┆
0x06ba00…06ba20 (28, 1, 7)  56 45 43 54 4f 52 0d 0a 20 30 36 44 30 20 30 31 30 37 30 44 31 33 31 39 54 52 41 4e 3a 09 44 42   ┆VECTOR   06D0 01070D1319TRAN: DB┆
0x06ba20…06ba40             09 31 2c 37 2c 31 33 2c 31 39 2c 20 32 35 2c 35 2c 31 31 2c 31 37 0d 0a 20 30 36 44 38 20 31 37   ┆ 1,7,13,19, 25,5,11,17   06D8 17┆
0x06ba40…06ba60             30 33 30 39 30 46 31 35 09 44 42 09 32 33 2c 33 2c 39 2c 31 35 2c 20 32 31 2c 32 2c 38 2c 31 34   ┆03090F15 DB 23,3,9,15, 21,2,8,14┆
0x06ba60…06ba80             0d 0a 20 30 36 45 30 20 31 34 31 41 30 36 30 43 31 32 09 44 42 09 32 30 2c 32 36 2c 36 2c 31 32   ┆   06E0 141A060C12 DB 20,26,6,12┆
0x06ba80…06baa0             2c 20 31 38 2c 32 34 2c 34 2c 31 30 0d 0a 20 30 36 45 38 20 31 30 31 36 20 20 20 20 20 20 09 44   ┆, 18,24,4,10   06E8 1016       D┆
0x06baa0…06bac0             42 09 31 36 2c 32 32 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 0d 0a 20 30 36 45   ┆B 16,22                  ;   06E┆
0x06bac0…06bae0             41 20 20 20 20 20 20 20 20 20 20 20 09 44 53 09 33 32 09 3b 53 54 41 43 4b 0d 0a 20 20 20 20 20   ┆A            DS 32 ;STACK       ┆
0x06bae0…06bb00             20 20 20 20 20 20 20 20 20 20 20 53 54 41 43 4b 3a 0d 0a 20 30 37 30 41 20 20 20 20 20 20 20 20   ┆           STACK:   070A        ┆
0x06bb00…06bb20             20 20 20 53 50 54 3a 09 44 53 09 31 0d 0a 20 33 43 30 30 20 3d 20 20 20 20 20 20 20 20 20 54 52   ┆   SPT: DS 1   3C00 =         TR┆
0x06bb20…06bb40             4c 45 4e 09 45 51 55 09 31 32 30 2a 31 32 38 09 3b 42 55 46 46 45 52 20 53 49 5a 45 0d 0a 20 30   ┆LEN EQU 120*128 ;BUFFER SIZE   0┆
0x06bb40…06bb60             37 30 42 20 20 20 20 20 20 20 20 20 20 20 49 42 55 46 46 3a 09 44 53 09 54 52 4c 45 4e 0d 0a 20   ┆70B           IBUFF: DS TRLEN   ┆
0x06bb60…06bb80             34 33 30 42 20 20 20 20 20 20 20 20 20 20 20 4f 42 55 46 46 3a 09 44 53 09 54 52 4c 45 4e 0d 0a   ┆430B           OBUFF: DS TRLEN  ┆
0x06bb80…06bba0             20 30 37 30 42 20 3d 20 20 20 20 20 20 20 20 20 43 43 50 56 09 45 51 55 09 49 42 55 46 46 2b 4f   ┆ 070B =         CCPV EQU IBUFF+O┆
0x06bba0…06bbc0             46 46 53 45 54 0d 0a 20 30 46 30 42 20 3d 20 20 20 20 20 20 20 20 20 42 44 4f 53 56 09 45 51 55   ┆FFSET   0F0B =         BDOSV EQU┆
0x06bbc0…06bbe0             09 49 42 55 46 46 2b 28 42 44 4f 53 42 2d 43 43 50 42 29 2b 4f 46 46 53 45 54 0d 0a 20 37 46 30   ┆ IBUFF+(BDOSB-CCPB)+OFFSET   7F0┆
0x06bbe0…06bc00             42 20 20 20 20 20 20 20 20 20 20 20 09 45 4e 44 09 54 50 41 0d 0a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a   ┆B            END TPA            ┆
0x06bc00…06bc20 (28, 1, 8)  41 36 44 46 0d 0a 3a 30 46 30 36 42 35 30 30 41 46 42 41 41 43 42 45 41 39 42 41 41 44 42 41 42   ┆A6DF  :0F06B500AFBAACBEA9BAADBAB┆
0x06bc20…06bc40             31 44 46 41 41 41 43 42 41 41 44 30 37 34 35 0d 0a 3a 31 30 30 36 44 30 30 30 30 31 30 37 30 44   ┆1DFAAACBAAD0745  :1006D00001070D┆
0x06bc40…06bc60             31 33 31 39 30 35 30 42 31 31 31 37 30 33 30 39 30 46 31 35 30 32 30 38 30 45 35 39 0d 0a 3a 30   ┆1319050B111703090F1502080E59  :0┆
0x06bc60…06bc80             41 30 36 45 30 30 30 31 34 31 41 30 36 30 43 31 32 31 38 30 34 30 41 31 30 31 36 37 32 0d 0a 3a   ┆A06E000141A060C1218040A101672  :┆
0x06bc80…06bca0             30 30 30 31 30 30 30 30 46 46 0d 0a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a   ┆00010000FF                      ┆
0x06bca0…06bcc0             1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a   ┆                                ┆
          […0x2…]
0x06bd00…06bd20             3a 31 30 30 36 35 35 30 30 34 43 34 31 34 33 34 35 32 34 31 31 36 30 30 36 43 33 43 34 30 33 30   ┆:100655004C41434524116006C3C4030┆
0x06bd20…06bd40             44 30 41 34 33 34 31 34 45 37 32 0d 0a 3a 31 30 30 36 36 35 30 30 34 45 34 46 35 34 32 30 35 32   ┆D0A43414E72  :100665004E4F542052┆
0x06bd40…06bd60             34 35 32 44 35 32 34 35 34 31 34 34 32 30 34 45 34 35 35 37 32 30 36 41 0d 0a 3a 30 45 30 36 37   ┆452D52454144204E4557206A  :0E067┆
0x06bd60…06bd80             35 30 30 34 34 34 39 35 33 34 42 32 43 32 30 35 32 34 35 35 30 34 43 34 31 34 33 34 35 32 34 45   ┆5004449534B2C205245504C41434524E┆
0x06bd80…06bda0             30 0d 0a 3a 31 30 30 36 38 35 30 30 30 44 30 41 33 30 33 30 33 30 33 30 33 30 32 44 32 34 30 44   ┆0  :100685000D0A30303030302D240D┆
0x06bda0…06bdc0             30 41 33 30 33 30 32 30 35 34 35 32 44 30 0d 0a 3a 30 45 30 36 39 35 30 30 34 31 34 33 34 42 35   ┆0A3030205452D0  :0E06950041434B5┆
0x06bdc0…06bde0             33 32 30 35 36 34 35 35 32 34 39 34 36 34 39 34 35 34 34 32 34 41 33 0d 0a 3a 31 30 30 36 41 35   ┆320564552494649454424A3  :1006A5┆
0x06bde0…06be00             30 30 33 30 33 30 33 30 33 30 33 30 32 34 42 42 42 36 41 44 44 46 42 41 41 44 42 45 44 46 41 42   ┆00303030303024BBB6ADDFBAADBEDFAB┆
0x06be00…06be20 (28, 1, 9)  0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 09 3b 4e 4f 57 20 4d 4f 56 45 20 53 45 52 49   ┆                  ;NOW MOVE SERI┆
0x06be20…06be40             41 4c 20 4e 55 4d 42 45 52 20 54 4f 20 4c 41 53 54 20 54 57 4f 20 42 59 54 45 53 0d 0a 20 30 34   ┆AL NUMBER TO LAST TWO BYTES   04┆
0x06be40…06be60             37 31 20 31 31 41 34 30 36 20 20 20 20 09 4c 58 49 20 44 2c 42 53 45 52 49 41 4c 2b 31 20 3b 41   ┆71 11A406     LXI D,BSERIAL+1 ;A┆
0x06be60…06be80             44 44 52 45 53 53 20 48 49 47 48 20 4f 52 44 45 52 20 50 4f 53 49 54 49 4f 4e 20 4f 46 20 53 45   ┆DDRESS HIGH ORDER POSITION OF SE┆
0x06be80…06bea0             52 20 23 0d 0a 20 30 34 37 34 20 31 41 43 44 35 30 30 34 20 20 09 4c 44 41 58 20 44 21 20 43 41   ┆R #   0474 1ACD5004   LDAX D! CA┆
0x06bea0…06bec0             4c 4c 20 53 54 42 59 54 45 0d 0a 20 30 34 37 38 20 31 42 20 20 20 20 20 20 20 20 09 44 43 58 20   ┆LL STBYTE   0478 1B         DCX ┆
0x06bec0…06bee0             44 20 3b 41 44 44 52 45 53 53 20 4c 4f 57 20 4f 52 44 45 52 20 42 59 54 45 0d 0a 20 30 34 37 39   ┆D ;ADDRESS LOW ORDER BYTE   0479┆
0x06bee0…06bf00             20 31 41 43 44 35 30 30 34 20 20 09 4c 44 41 58 20 44 21 20 43 41 4c 4c 20 53 54 42 59 54 45 0d   ┆ 1ACD5004   LDAX D! CALL STBYTE ┆
0x06bf00…06bf20             0a 20 30 34 37 44 20 43 39 20 20 20 20 20 20 20 20 09 52 45 54 0d 0a 20 20 20 20 20 20 20 20 20   ┆  047D C9         RET           ┆
0x06bf20…06bf40             20 20 20 20 20 20 20 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 0d 0a 20 20 20   ┆       ;                  ;     ┆
0x06bf40…06bf60             20 20 20 20 20 20 20 20 20 20 20 20 20 3b 09 50 52 49 4e 54 20 53 54 52 49 4e 47 53 0d 0a 20 20   ┆             ; PRINT STRINGS    ┆
0x06bf60…06bf80             20 20 20 20 20 20 20 20 20 20 20 20 20 20 49 4e 53 4d 53 47 3a 0d 0a 20 30 34 37 45 20 31 31 38   ┆              INSMSG:   047E 118┆
0x06bf80…06bfa0             34 30 34 43 33 43 34 09 4c 58 49 20 44 2c 24 2b 36 21 20 4a 4d 50 20 50 52 4d 53 47 0d 0a 20 30   ┆404C3C4 LXI D,$+6! JMP PRMSG   0┆
0x06bfa0…06bfc0             34 38 34 20 30 44 30 41 34 39 34 45 35 33 09 44 42 20 43 52 2c 4c 46 2c 27 49 4e 53 45 52 54 20   ┆484 0D0A494E53 DB CR,LF,'INSERT ┆
0x06bfc0…06bfe0             43 4f 4e 54 52 4f 4c 20 44 49 53 4b 45 54 54 45 20 49 4e 20 41 2c 20 54 59 50 45 20 52 45 54 55   ┆CONTROL DISKETTE IN A, TYPE RETU┆
0x06bfe0…06c000             52 4e 24 27 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 0d 0a 20 20 20 20 20 20 20   ┆RN$'                  ;         ┆
0x06c000…06c020 (28, 1, 10) 30 36 43 33 43 34 09 4c 58 49 20 44 2c 24 2b 36 21 20 4a 4d 50 20 50 52 4d 53 47 0d 0a 20 30 36   ┆06C3C4 LXI D,$+6! JMP PRMSG   06┆
0x06c020…06c040             31 33 20 30 44 30 41 34 35 35 32 35 32 09 44 42 20 43 52 2c 4c 46 2c 27 45 52 52 4f 52 20 4f 4e   ┆13 0D0A455252 DB CR,LF,'ERROR ON┆
0x06c040…06c060             20 53 4f 55 52 43 45 20 44 49 53 4b 2c 20 52 45 50 4c 41 43 45 24 27 0d 0a 20 20 20 20 20 20 20   ┆ SOURCE DISK, REPLACE$'         ┆
0x06c060…06c080             20 20 20 20 20 20 20 20 20 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 57 52 49 54   ┆         ;                  WRIT┆
0x06c080…06c0a0             45 30 4d 53 47 3a 0d 0a 20 30 36 33 33 20 31 31 33 39 30 36 43 33 43 34 09 4c 58 49 20 44 2c 24   ┆E0MSG:   0633 113906C3C4 LXI D,$┆
0x06c0a0…06c0c0             2b 36 21 20 4a 4d 50 20 50 52 4d 53 47 0d 0a 20 30 36 33 39 20 30 44 30 41 34 33 34 31 34 45 09   ┆+6! JMP PRMSG   0639 0D0A43414E ┆
0x06c0c0…06c0e0             44 42 20 43 52 2c 4c 46 2c 27 43 41 4e 4e 4f 54 20 57 52 49 54 45 20 4e 45 57 20 44 49 53 4b 2c   ┆DB CR,LF,'CANNOT WRITE NEW DISK,┆
0x06c0e0…06c100             20 52 45 50 4c 41 43 45 24 27 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 0d 0a 20   ┆ REPLACE$'                  ;   ┆
0x06c100…06c120             20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 45 41 44 31 4d 53 47 3a 0d 0a 20 30 36 35 41 20   ┆               READ1MSG:   065A ┆
0x06c120…06c140             31 31 36 30 30 36 43 33 43 34 09 4c 58 49 20 44 2c 24 2b 36 21 20 4a 4d 50 20 50 52 4d 53 47 0d   ┆116006C3C4 LXI D,$+6! JMP PRMSG ┆
0x06c140…06c160             0a 20 30 36 36 30 20 30 44 30 41 34 33 34 31 34 45 09 44 42 20 43 52 2c 4c 46 2c 27 43 41 4e 4e   ┆  0660 0D0A43414E DB CR,LF,'CANN┆
0x06c160…06c180             4f 54 20 52 45 2d 52 45 41 44 20 4e 45 57 20 44 49 53 4b 2c 20 52 45 50 4c 41 43 45 24 27 0d 0a   ┆OT RE-READ NEW DISK, REPLACE$'  ┆
0x06c180…06c1a0             20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆                ;               ┆
0x06c1a0…06c1c0             20 20 20 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 09 4d 49 53 43 45 4c 4c 41   ┆   ;                  ; MISCELLA┆
0x06c1c0…06c1e0             4e 45 4f 55 53 20 44 41 54 41 20 41 52 45 41 53 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆NEOUS DATA AREAS                ┆
0x06c1e0…06c200             20 20 3b 0d 0a 20 30 36 38 33 20 20 20 20 20 20 20 20 20 20 20 4f 52 49 47 49 4e 3a 09 44 53 09   ┆  ;   0683           ORIGIN: DS ┆
0x06c200…06c220 (28, 1, 11) 66 75 6e 63 74 69 6f 6e 29 0d 0a 3b 09 34 09 2d 20 64 61 74 61 20 6f 76 65 72 2f 75 6e 64 65 72   ┆function)  ; 4 - data over/under┆
0x06c220…06c240             20 66 6c 6f 77 20 28 68 61 72 64 77 61 72 65 20 6d 61 6c 66 75 6e 63 74 69 6f 6e 29 0d 0a 3b 09   ┆ flow (hardware malfunction)  ; ┆
0x06c240…06c260             35 09 2d 20 77 72 69 74 65 20 70 72 6f 74 65 63 74 20 28 74 72 65 61 74 65 64 20 61 73 20 6e 6f   ┆5 - write protect (treated as no┆
0x06c260…06c280             74 20 72 65 61 64 79 29 0d 0a 3b 09 36 09 2d 20 77 72 69 74 65 20 65 72 72 6f 72 20 28 68 61 72   ┆t ready)  ; 6 - write error (har┆
0x06c280…06c2a0             64 77 61 72 65 20 6d 61 6c 66 75 6e 63 74 69 6f 6e 29 0d 0a 3b 09 37 09 2d 20 6e 6f 74 20 72 65   ┆dware malfunction)  ; 7 - not re┆
0x06c2a0…06c2c0             61 64 79 0d 0a 3b 09 28 61 63 63 75 6d 75 6c 61 74 6f 72 20 62 69 74 73 20 61 72 65 20 6e 75 6d   ┆ady  ; (accumulator bits are num┆
0x06c2c0…06c2e0             62 65 72 65 64 20 37 20 36 20 35 20 34 20 33 20 32 20 31 20 30 29 0d 0a 3b 0d 0a 3b 09 69 74 20   ┆bered 7 6 5 4 3 2 1 0)  ;  ; it ┆
0x06c2e0…06c300             6d 61 79 20 62 65 20 75 73 65 66 75 6c 20 74 6f 20 66 69 6c 74 65 72 20 6f 75 74 20 74 68 65 20   ┆may be useful to filter out the ┆
0x06c300…06c320             76 61 72 69 6f 75 73 20 63 6f 6e 64 69 74 69 6f 6e 73 2c 0d 0a 3b 09 62 75 74 20 77 65 20 77 69   ┆various conditions,  ; but we wi┆
0x06c320…06c340             6c 6c 20 67 65 74 20 61 20 70 65 72 6d 61 6e 65 6e 74 20 65 72 72 6f 72 20 6d 65 73 73 61 67 65   ┆ll get a permanent error message┆
0x06c340…06c360             20 69 66 20 69 74 20 69 73 20 6e 6f 74 0d 0a 3b 09 72 65 63 6f 76 65 72 61 62 6c 65 2e 20 20 69   ┆ if it is not  ; recoverable.  i┆
0x06c360…06c380             6e 20 61 6e 79 20 63 61 73 65 2c 20 74 68 65 20 6e 6f 74 20 72 65 61 64 79 20 63 6f 6e 64 69 74   ┆n any case, the not ready condit┆
0x06c380…06c3a0             69 6f 6e 20 69 73 0d 0a 3b 09 74 72 65 61 74 65 64 20 61 73 20 61 20 73 65 70 61 72 61 74 65 20   ┆ion is  ; treated as a separate ┆
0x06c3a0…06c3c0             63 6f 6e 64 69 74 69 6f 6e 20 66 6f 72 20 6c 61 74 65 72 20 69 6d 70 72 6f 76 65 6d 65 6e 74 0d   ┆condition for later improvement ┆
0x06c3c0…06c3e0             0a 74 72 79 63 6f 75 6e 74 3a 0d 0a 3b 09 72 65 67 69 73 74 65 72 20 63 20 63 6f 6e 74 61 69 6e   ┆ trycount:  ; register c contain┆
0x06c3e0…06c400             73 20 72 65 74 72 79 20 63 6f 75 6e 74 2c 20 64 65 63 72 65 6d 65 6e 74 20 27 74 69 6c 20 7a 65   ┆s retry count, decrement 'til ze┆
0x06c400…06c420 (28, 1, 12) 74 6f 20 6c 6f 61 64 0d 0a 6f 66 66 73 65 74 09 65 71 75 09 32 09 3b 6e 75 6d 62 65 72 20 6f 66   ┆to load  offset equ 2 ;number of┆
0x06c420…06c440             20 64 69 73 6b 20 74 72 61 63 6b 73 20 75 73 65 64 20 62 79 20 63 70 2f 6d 0d 0a 63 64 69 73 6b   ┆ disk tracks used by cp/m  cdisk┆
0x06c440…06c460             09 65 71 75 09 30 30 30 34 68 09 3b 61 64 64 72 65 73 73 20 6f 66 20 6c 61 73 74 20 6c 6f 67 67   ┆ equ 0004h ;address of last logg┆
0x06c460…06c480             65 64 20 64 69 73 6b 20 6f 6e 20 77 61 72 6d 20 73 74 61 72 74 0d 0a 62 75 66 66 09 65 71 75 09   ┆ed disk on warm start  buff equ ┆
0x06c480…06c4a0             30 30 38 30 68 09 3b 64 65 66 61 75 6c 74 20 62 75 66 66 65 72 20 61 64 64 72 65 73 73 0d 0a 72   ┆0080h ;default buffer address  r┆
0x06c4a0…06c4c0             65 74 72 79 09 65 71 75 09 31 30 09 3b 6d 61 78 20 72 65 74 72 69 65 73 20 6f 6e 20 64 69 73 6b   ┆etry equ 10 ;max retries on disk┆
0x06c4c0…06c4e0             20 69 2f 6f 20 62 65 66 6f 72 65 20 65 72 72 6f 72 0d 0a 3b 0d 0a 3b 09 70 65 72 66 6f 72 6d 20   ┆ i/o before error  ;  ; perform ┆
0x06c4e0…06c500             66 6f 6c 6c 6f 77 69 6e 67 20 66 75 6e 63 74 69 6f 6e 73 0d 0a 3b 09 62 6f 6f 74 09 63 6f 6c 64   ┆following functions  ; boot cold┆
0x06c500…06c520             20 73 74 61 72 74 0d 0a 3b 09 77 62 6f 6f 74 09 77 61 72 6d 20 73 74 61 72 74 20 28 73 61 76 65   ┆ start  ; wboot warm start (save┆
0x06c520…06c540             20 69 2f 6f 20 62 79 74 65 29 0d 0a 3b 09 28 62 6f 6f 74 20 61 6e 64 20 77 62 6f 6f 74 20 61 72   ┆ i/o byte)  ; (boot and wboot ar┆
0x06c540…06c560             65 20 74 68 65 20 73 61 6d 65 20 66 6f 72 20 6d 64 73 29 0d 0a 3b 09 63 6f 6e 73 74 09 63 6f 6e   ┆e the same for mds)  ; const con┆
0x06c560…06c580             73 6f 6c 65 20 73 74 61 74 75 73 0d 0a 3b 09 09 72 65 67 2d 61 20 3d 20 30 30 20 69 66 20 6e 6f   ┆sole status  ;  reg-a = 00 if no┆
0x06c580…06c5a0             20 63 68 61 72 61 63 74 65 72 20 72 65 61 64 79 0d 0a 3b 09 09 72 65 67 2d 61 20 3d 20 66 66 20   ┆ character ready  ;  reg-a = ff ┆
0x06c5a0…06c5c0             69 66 20 63 68 61 72 61 63 74 65 72 20 72 65 61 64 79 0d 0a 3b 09 63 6f 6e 69 6e 09 63 6f 6e 73   ┆if character ready  ; conin cons┆
0x06c5c0…06c5e0             6f 6c 65 20 63 68 61 72 61 63 74 65 72 20 69 6e 20 28 72 65 73 75 6c 74 20 69 6e 20 72 65 67 2d   ┆ole character in (result in reg-┆
0x06c5e0…06c600             61 29 0d 0a 3b 09 63 6f 6e 6f 75 74 09 63 6f 6e 73 6f 6c 65 20 63 68 61 72 61 63 74 65 72 20 6f   ┆a)  ; conout console character o┆
0x06c600…06c620 (28, 1, 13) 20 20 20 20 20 20 20 20 20 4f 52 47 4d 53 47 3a 0d 0a 20 30 34 42 30 20 31 31 42 36 30 34 43 33   ┆         ORGMSG:   04B0 11B604C3┆
0x06c620…06c640             43 34 09 4c 58 49 20 44 2c 24 2b 36 21 20 4a 4d 50 20 50 52 4d 53 47 0d 0a 20 30 34 42 36 20 30   ┆C4 LXI D,$+6! JMP PRMSG   04B6 0┆
0x06c640…06c660             44 30 41 34 33 35 30 32 46 09 44 42 20 43 52 2c 4c 46 2c 27 43 50 2f 4d 20 56 45 52 20 27 0d 0a   ┆D0A43502F DB CR,LF,'CP/M VER '  ┆
0x06c660…06c680             20 30 34 43 31 20 33 32 32 45 33 32 20 20 20 20 09 44 42 20 56 45 52 53 49 4f 4e 2f 31 30 2b 27   ┆ 04C1 322E32     DB VERSION/10+'┆
0x06c680…06c6a0             30 27 2c 27 2e 27 2c 56 45 52 53 49 4f 4e 20 4d 4f 44 20 31 30 20 2b 27 30 27 0d 0a 20 30 34 43   ┆0','.',VERSION MOD 10 +'0'   04C┆
0x06c6a0…06c6c0             34 20 32 30 35 33 34 35 35 32 34 39 09 44 42 20 27 20 53 45 52 49 41 4c 49 5a 41 54 49 4f 4e 2c   ┆4 2053455249 DB ' SERIALIZATION,┆
0x06c6c0…06c6e0             27 2c 43 52 2c 4c 46 0d 0a 20 30 34 44 35 20 34 46 35 32 34 39 34 37 34 39 09 44 42 20 27 4f 52   ┆',CR,LF   04D5 4F52494749 DB 'OR┆
0x06c6e0…06c700             49 47 49 4e 20 4e 55 4d 42 45 52 3f 20 24 27 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆IGIN NUMBER? $'                 ┆
0x06c700…06c720             20 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 45 52 4d 53 47 3a 0d 0a 20 30 34   ┆ ;                  SERMSG:   04┆
0x06c720…06c740             45 35 20 31 31 45 42 30 34 43 33 43 34 09 4c 58 49 20 44 2c 24 2b 36 21 20 4a 4d 50 20 50 52 4d   ┆E5 11EB04C3C4 LXI D,$+6! JMP PRM┆
0x06c740…06c760             53 47 0d 0a 20 30 34 45 42 20 30 44 30 41 35 33 35 34 34 31 09 44 42 20 43 52 2c 4c 46 2c 27 53   ┆SG   04EB 0D0A535441 DB CR,LF,'S┆
0x06c760…06c780             54 41 52 54 49 4e 47 20 53 45 52 49 41 4c 20 4e 55 4d 42 45 52 3f 20 24 27 0d 0a 20 20 20 20 20   ┆TARTING SERIAL NUMBER? $'       ┆
0x06c780…06c7a0             20 20 20 20 20 20 20 20 20 20 20 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 49 4e   ┆           ;                  IN┆
0x06c7a0…06c7c0             56 41 4c 49 44 3a 0d 0a 20 30 35 30 36 20 31 31 30 43 30 35 43 33 43 34 09 4c 58 49 20 44 2c 24   ┆VALID:   0506 110C05C3C4 LXI D,$┆
0x06c7c0…06c7e0             2b 36 21 20 4a 4d 50 20 50 52 4d 53 47 0d 0a 20 30 35 30 43 20 30 44 30 41 34 39 34 45 35 36 09   ┆+6! JMP PRMSG   050C 0D0A494E56 ┆
0x06c7e0…06c800             44 42 20 43 52 2c 4c 46 2c 27 49 4e 56 41 4c 49 44 20 4e 55 4d 42 45 52 2c 20 54 52 59 20 41 47   ┆DB CR,LF,'INVALID NUMBER, TRY AG┆
0x06c800…06c820 (28, 1, 14) 32 09 3b 42 49 4e 41 52 59 20 4f 52 49 47 49 4e 0d 0a 20 30 36 38 35 20 30 44 30 41 20 20 20 20   ┆2 ;BINARY ORIGIN   0685 0D0A    ┆
0x06c820…06c840             20 20 41 4f 52 49 47 3a 09 44 42 09 43 52 2c 4c 46 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆  AORIG: DB CR,LF               ┆
0x06c840…06c860             20 20 20 41 4f 52 49 47 49 4e 3a 0d 0a 20 30 36 38 37 20 33 30 33 30 33 30 33 30 33 30 09 44 42   ┆   AORIGIN:   0687 3030303030 DB┆
0x06c860…06c880             09 27 30 30 30 30 30 2d 24 27 0d 0a 20 30 36 38 45 20 30 44 30 41 20 20 20 20 20 20 54 52 4d 53   ┆ '00000-$'   068E 0D0A      TRMS┆
0x06c880…06c8a0             47 3a 09 44 42 09 43 52 2c 4c 46 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 54 52 43   ┆G: DB CR,LF                  TRC┆
0x06c8a0…06c8c0             4f 55 4e 54 3a 0d 0a 20 30 36 39 30 20 33 30 33 30 32 30 35 34 35 32 09 44 42 09 27 30 30 20 54   ┆OUNT:   0690 3030205452 DB '00 T┆
0x06c8c0…06c8e0             52 41 43 4b 53 20 56 45 52 49 46 49 45 44 24 27 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆RACKS VERIFIED$'                ┆
0x06c8e0…06c900             20 20 42 53 45 52 49 41 4c 3a 0d 0a 20 30 36 41 33 20 20 20 20 20 20 20 20 20 20 20 09 44 53 09   ┆  BSERIAL:   06A3            DS ┆
0x06c900…06c920             32 09 3b 42 49 4e 41 52 59 20 53 45 52 49 41 4c 20 4e 55 4d 42 45 52 0d 0a 20 20 20 20 20 20 20   ┆2 ;BINARY SERIAL NUMBER         ┆
0x06c920…06c940             20 20 20 20 20 20 20 20 20 41 53 45 52 49 41 4c 3a 0d 0a 20 30 36 41 35 20 33 30 33 30 33 30 33   ┆         ASERIAL:   06A5 3030303┆
0x06c940…06c960             30 33 30 09 44 42 09 27 30 30 30 30 30 24 27 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆030 DB '00000$'                 ┆
0x06c960…06c980             20 43 4f 4d 50 41 52 45 3a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 09 3b 43 4f 4d   ┆ COMPARE:                   ;COM┆
0x06c980…06c9a0             4d 41 4e 44 53 20 41 52 45 20 45 4e 43 4f 44 45 44 20 54 4f 20 4d 41 4b 45 20 44 49 53 41 53 53   ┆MANDS ARE ENCODED TO MAKE DISASS┆
0x06c9a0…06c9c0             45 4d 42 4c 59 20 48 41 52 44 45 52 0d 0a 20 30 36 41 42 20 42 42 42 36 41 44 44 46 20 20 09 44   ┆EMBLY HARDER   06AB BBB6ADDF   D┆
0x06c9c0…06c9e0             57 09 4e 4f 54 20 27 44 49 27 2c 4e 4f 54 20 27 52 20 27 0d 0a 20 30 36 41 46 20 42 41 41 44 42   ┆W NOT 'DI',NOT 'R '   06AF BAADB┆
0x06c9e0…06ca00             45 44 46 20 20 09 44 57 09 4e 4f 54 20 27 45 52 27 2c 4e 4f 54 20 27 41 20 27 0d 0a 20 30 36 42   ┆EDF   DW NOT 'ER',NOT 'A '   06B┆
0x06ca00…06ca20 (28, 1, 15) 72 6f 0d 0a 09 64 63 72 09 63 0d 0a 09 6a 6e 7a 09 72 65 77 61 69 74 09 3b 66 6f 72 20 61 6e 6f   ┆ro   dcr c   jnz rewait ;for ano┆
0x06ca20…06ca40             74 68 65 72 20 74 72 79 0d 0a 3b 0d 0a 3b 09 63 61 6e 6e 6f 74 20 72 65 63 6f 76 65 72 20 66 72   ┆ther try  ;  ; cannot recover fr┆
0x06ca40…06ca60             6f 6d 20 65 72 72 6f 72 0d 0a 09 6d 76 69 09 61 2c 31 09 3b 65 72 72 6f 72 20 63 6f 64 65 0d 0a   ┆om error   mvi a,1 ;error code  ┆
0x06ca60…06ca80             09 72 65 74 0d 0a 3b 0d 0a 3b 09 69 6e 74 79 70 65 2c 20 69 6e 62 79 74 65 2c 20 69 6e 73 74 61   ┆ ret  ;  ; intype, inbyte, insta┆
0x06ca80…06caa0             74 20 72 65 61 64 20 64 72 69 76 65 20 62 61 6e 6b 20 30 30 20 6f 72 20 31 30 0d 0a 69 6e 74 79   ┆t read drive bank 00 or 10  inty┆
0x06caa0…06cac0             70 65 3a 09 6c 64 61 09 64 62 61 6e 6b 0d 0a 09 6f 72 61 09 61 0d 0a 09 6a 6e 7a 09 69 6e 74 79   ┆pe: lda dbank   ora a   jnz inty┆
0x06cac0…06cae0             70 31 09 3b 73 6b 69 70 20 74 6f 20 62 61 6e 6b 20 31 30 0d 0a 09 69 6e 09 72 74 79 70 65 0d 0a   ┆p1 ;skip to bank 10   in rtype  ┆
0x06cae0…06cb00             09 72 65 74 0d 0a 69 6e 74 79 70 31 3a 09 69 6e 09 72 74 79 70 65 2b 31 30 68 09 3b 37 38 20 66   ┆ ret  intyp1: in rtype+10h ;78 f┆
0x06cb00…06cb20             6f 72 20 30 2c 31 20 20 38 38 20 66 6f 72 20 32 2c 33 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 69 6e 62   ┆or 0,1  88 for 2,3   ret  ;  inb┆
0x06cb20…06cb40             79 74 65 3a 09 6c 64 61 09 64 62 61 6e 6b 0d 0a 09 6f 72 61 09 61 0d 0a 09 6a 6e 7a 09 69 6e 62   ┆yte: lda dbank   ora a   jnz inb┆
0x06cb40…06cb60             79 74 31 0d 0a 09 69 6e 09 72 62 79 74 65 0d 0a 09 72 65 74 0d 0a 69 6e 62 79 74 31 3a 09 69 6e   ┆yt1   in rbyte   ret  inbyt1: in┆
0x06cb60…06cb80             09 72 62 79 74 65 2b 31 30 68 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 69 6e 73 74 61 74 3a 09 6c 64 61   ┆ rbyte+10h   ret  ;  instat: lda┆
0x06cb80…06cba0             09 64 62 61 6e 6b 0d 0a 09 6f 72 61 09 61 0d 0a 09 6a 6e 7a 09 69 6e 73 74 61 31 0d 0a 09 69 6e   ┆ dbank   ora a   jnz insta1   in┆
0x06cba0…06cbc0             09 64 73 74 61 74 0d 0a 09 72 65 74 0d 0a 69 6e 73 74 61 31 3a 09 69 6e 09 64 73 74 61 74 2b 31   ┆ dstat   ret  insta1: in dstat+1┆
0x06cbc0…06cbe0             30 68 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 3b 0d 0a 3b 0d 0a 3b 09 64 61 74 61 20 61 72 65 61 73 20   ┆0h   ret  ;  ;  ;  ; data areas ┆
0x06cbe0…06cc00             28 6d 75 73 74 20 62 65 20 69 6e 20 72 61 6d 29 0d 0a 64 62 61 6e 6b 3a 09 64 62 09 30 09 3b 64   ┆(must be in ram)  dbank: db 0 ;d┆
0x06cc00…06cc20 (29, 0, 1)  75 74 20 28 63 68 61 72 20 69 6e 20 72 65 67 2d 63 29 0d 0a 3b 09 6c 69 73 74 09 6c 69 73 74 20   ┆ut (char in reg-c)  ; list list ┆
0x06cc20…06cc40             6f 75 74 20 28 63 68 61 72 20 69 6e 20 72 65 67 2d 63 29 0d 0a 3b 09 70 75 6e 63 68 09 70 75 6e   ┆out (char in reg-c)  ; punch pun┆
0x06cc40…06cc60             63 68 20 6f 75 74 20 28 63 68 61 72 20 69 6e 20 72 65 67 2d 63 29 0d 0a 3b 09 72 65 61 64 65 72   ┆ch out (char in reg-c)  ; reader┆
0x06cc60…06cc80             09 70 61 70 65 72 20 74 61 70 65 20 72 65 61 64 65 72 20 69 6e 20 28 72 65 73 75 6c 74 20 74 6f   ┆ paper tape reader in (result to┆
0x06cc80…06cca0             20 72 65 67 2d 61 29 0d 0a 3b 09 68 6f 6d 65 09 6d 6f 76 65 20 74 6f 20 74 72 61 63 6b 20 30 30   ┆ reg-a)  ; home move to track 00┆
0x06cca0…06ccc0             0d 0a 3b 0d 0a 3b 09 28 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 61 6c 6c 73 20 73 65 74 2d   ┆  ;  ; (the following calls set-┆
0x06ccc0…06cce0             75 70 20 74 68 65 20 69 6f 20 70 61 72 61 6d 65 74 65 72 20 62 6c 6f 63 6b 20 66 6f 72 20 74 68   ┆up the io parameter block for th┆
0x06cce0…06cd00             65 0d 0a 3b 09 6d 64 73 2c 20 77 68 69 63 68 20 69 73 20 75 73 65 64 20 74 6f 20 70 65 72 66 6f   ┆e  ; mds, which is used to perfo┆
0x06cd00…06cd20             72 6d 20 73 75 62 73 65 71 75 65 6e 74 20 72 65 61 64 73 20 61 6e 64 20 77 72 69 74 65 73 29 0d   ┆rm subsequent reads and writes) ┆
0x06cd20…06cd40             0a 3b 09 73 65 6c 64 73 6b 09 73 65 6c 65 63 74 20 64 69 73 6b 20 67 69 76 65 6e 20 62 79 20 72   ┆ ; seldsk select disk given by r┆
0x06cd40…06cd60             65 67 2d 63 20 28 30 2c 31 2c 32 2e 2e 2e 29 0d 0a 3b 09 73 65 74 74 72 6b 09 73 65 74 20 74 72   ┆eg-c (0,1,2...)  ; settrk set tr┆
0x06cd60…06cd80             61 63 6b 20 61 64 64 72 65 73 73 20 28 30 2c 2e 2e 2e 37 36 29 20 66 6f 72 20 73 75 62 73 65 71   ┆ack address (0,...76) for subseq┆
0x06cd80…06cda0             75 65 6e 74 20 72 65 61 64 2f 77 72 69 74 65 0d 0a 3b 09 73 65 74 73 65 63 09 73 65 74 20 73 65   ┆uent read/write  ; setsec set se┆
0x06cda0…06cdc0             63 74 6f 72 20 61 64 64 72 65 73 73 20 28 31 2c 2e 2e 2e 2c 32 36 29 20 66 6f 72 20 73 75 62 73   ┆ctor address (1,...,26) for subs┆
0x06cdc0…06cde0             65 71 75 65 6e 74 20 72 65 61 64 2f 77 72 69 74 65 0d 0a 3b 09 73 65 74 64 6d 61 09 73 65 74 20   ┆equent read/write  ; setdma set ┆
0x06cde0…06ce00             73 75 62 73 65 71 75 65 6e 74 20 64 6d 61 20 61 64 64 72 65 73 73 20 28 69 6e 69 74 69 61 6c 6c   ┆subsequent dma address (initiall┆
0x06ce00…06ce20 (29, 0, 2)  42 45 52 3f 20 24 11 0c 05 c3 c4 03 0d 0a 49 4e 56 41 4c 49 44 20 4e 55 4d 42 45 52 2c 20 54 52   ┆BER? $        INVALID NUMBER, TR┆
0x06ce20…06ce40             59 20 41 47 41 49 4e 20 24 11 2f 05 c3 c4 03 0d 0a 53 45 52 49 41 4c 49 5a 49 4e 47 20 44 49 53   ┆Y AGAIN $ /      SERIALIZING DIS┆
0x06ce40…06ce60             4b 20 24 11 87 06 cd c4 03 11 a5 06 c3 c4 03 11 55 05 c3 c4 03 0d 0a 49 4e 53 45 52 54 20 4e 45   ┆K $             U      INSERT NE┆
0x06ce60…06ce80             57 20 44 49 53 4b 45 54 54 45 2c 20 54 59 50 45 20 52 45 54 55 52 4e 24 11 7e 05 c3 c4 03 0d 0a   ┆W DISKETTE, TYPE RETURN$ ü      ┆
0x06ce80…06cea0             42 41 44 20 4d 4f 56 43 50 4d 2e 43 4f 4d 20 46 49 4c 45 2c 20 52 45 50 4c 41 43 45 24 11 a3 05   ┆BAD MOVCPM.COM FILE, REPLACE$   ┆
0x06cea0…06cec0             c3 c4 03 0d 0a 4e 4f 4e 20 43 50 2f 4d 20 44 49 53 4b 45 54 54 45 2c 20 43 41 4e 4e 4f 54 20 53   ┆     NON CP/M DISKETTE, CANNOT S┆
0x06cec0…06cee0             45 52 49 41 4c 49 5a 45 24 11 cf 05 c3 c4 03 0d 0a 56 45 52 49 46 49 43 41 54 49 4f 4e 20 45 52   ┆ERIALIZE$        VERIFICATION ER┆
0x06cee0…06cf00             52 4f 52 2c 20 42 41 44 20 44 49 53 4b 24 11 f4 05 c3 c4 03 0d 0a 53 45 52 49 41 4c 20 4e 55 4d   ┆ROR, BAD DISK$        SERIAL NUM┆
0x06cf00…06cf20             42 45 52 20 4f 56 45 52 46 4c 4f 57 24 11 13 06 c3 c4 03 0d 0a 45 52 52 4f 52 20 4f 4e 20 53 4f   ┆BER OVERFLOW$        ERROR ON SO┆
0x06cf20…06cf40             55 52 43 45 20 44 49 53 4b 2c 20 52 45 50 4c 41 43 45 24 11 39 06 c3 c4 03 0d 0a 43 41 4e 4e 4f   ┆URCE DISK, REPLACE$ 9      CANNO┆
0x06cf40…06cf60             54 20 57 52 49 54 45 20 4e 45 57 20 44 49 53 4b 2c 20 52 45 50 4c 41 43 45 24 11 60 06 c3 c4 03   ┆T WRITE NEW DISK, REPLACE$ `    ┆
0x06cf60…06cf80             0d 0a 43 41 4e 4e 4f 54 20 52 45 2d 52 45 41 44 20 4e 45 57 20 44 49 53 4b 2c 20 52 45 50 4c 41   ┆  CANNOT RE-READ NEW DISK, REPLA┆
0x06cf80…06cfa0             43 45 24 20 4d 0d 0a 30 30 30 30 30 2d 24 0d 0a 30 30 20 54 52 41 43 4b 53 20 56 45 52 49 46 49   ┆CE$ M  00000-$  00 TRACKS VERIFI┆
0x06cfa0…06cfc0             45 44 24 0d 0a 30 30 30 30 30 24 bb b6 ad df ba ad be df ab a6 af ba ac be a9 ba ad ba b1 df aa   ┆ED$  00000$                     ┆
0x06cfc0…06cfe0             ac ba ad 07 4c 49 5a 45 24 11 cf 05 c3 c4 03 0d 01 07 0d 13 19 05 0b 11 17 03 09 0f 15 02 08 0e   ┆    LIZE$                       ┆
0x06cfe0…06d000             14 1a 06 0c 12 18 04 0a 10 16 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
0x06d000…06d020 (29, 0, 3)  56 09 3b 0d 0a 50 44 50 3a 09 4c 58 49 09 44 2c 44 44 53 50 45 43 3b 20 50 52 49 4e 54 20 44 45   ┆V ;  PDP: LXI D,DDSPEC; PRINT DE┆
0x06d020…06d040             53 54 49 4e 41 54 49 4f 4e 20 50 52 4f 4d 50 54 3b 0d 0a 09 43 41 4c 4c 09 50 52 49 4e 54 09 3b   ┆STINATION PROMPT;   CALL PRINT ;┆
0x06d040…06d060             0d 0a 09 43 41 4c 4c 09 43 4f 4e 53 49 09 3b 20 47 45 54 20 44 45 53 54 49 4e 41 54 49 4f 4e 20   ┆   CALL CONSI ; GET DESTINATION ┆
0x06d060…06d080             44 52 49 56 45 3b 0d 0a 09 4d 56 49 09 43 2c 30 09 3b 0d 0a 09 43 50 49 09 27 41 27 09 3b 0d 0a   ┆DRIVE;   MVI C,0 ;   CPI 'A' ;  ┆
0x06d080…06d0a0             09 4a 5a 09 53 45 54 44 44 09 3b 0d 0a 09 43 50 49 09 27 42 27 09 3b 0d 0a 09 4a 4e 5a 09 50 44   ┆ JZ SETDD ;   CPI 'B' ;   JNZ PD┆
0x06d0a0…06d0c0             50 09 3b 0d 0a 09 49 4e 52 09 43 09 3b 0d 0a 53 45 54 44 44 3a 09 4d 4f 56 09 41 2c 43 09 3b 0d   ┆P ;   INR C ;  SETDD: MOV A,C ; ┆
0x06d0c0…06d0e0             0a 09 53 54 41 09 44 44 52 49 56 09 3b 0d 0a 09 4c 48 4c 44 09 57 42 4f 4f 54 09 3b 20 42 43 3a   ┆  STA DDRIV ;   LHLD WBOOT ; BC:┆
0x06d0e0…06d100             3d 20 46 4c 4f 50 50 59 20 46 4f 52 4d 41 54 53 3b 0d 0a 09 4c 58 49 09 44 2c 46 44 46 4f 52 4d   ┆= FLOPPY FORMATS;   LXI D,FDFORM┆
0x06d100…06d120             3b 0d 0a 09 44 41 44 09 44 09 3b 0d 0a 09 4d 4f 56 09 42 2c 4d 09 3b 0d 0a 09 49 4e 58 09 48 09   ┆;   DAD D ;   MOV B,M ;   INX H ┆
0x06d120…06d140             3b 0d 0a 09 4d 4f 56 09 43 2c 4d 09 3b 0d 0a 09 4c 58 49 09 48 2c 53 44 52 49 56 09 3b 20 49 46   ┆;   MOV C,M ;   LXI H,SDRIV ; IF┆
0x06d140…06d160             20 53 4f 55 52 43 45 20 44 52 49 56 45 20 3c 3e 0d 0a 09 43 4d 50 09 4d 09 3b 20 20 44 45 53 54   ┆ SOURCE DRIVE <>   CMP M ;  DEST┆
0x06d160…06d180             49 4e 41 54 49 4f 4e 20 44 52 49 56 45 20 54 48 45 4e 0d 0a 09 4d 56 49 09 41 2c 30 09 3b 0d 0a   ┆INATION DRIVE THEN   MVI A,0 ;  ┆
0x06d180…06d1a0             09 4a 5a 09 53 45 54 44 46 09 3b 0d 0a 09 4d 4f 56 09 41 2c 42 09 3b 0d 0a 09 43 4d 50 09 43 09   ┆ JZ SETDF ;   MOV A,B ;   CMP C ┆
0x06d1a0…06d1c0             3b 20 49 46 20 46 4f 52 4d 41 54 28 41 29 3c 3e 46 4f 52 4d 41 54 28 42 29 20 54 48 45 4e 0d 0a   ┆; IF FORMAT(A)<>FORMAT(B) THEN  ┆
0x06d1c0…06d1e0             09 4c 58 49 09 44 2c 4e 4f 54 4f 4b 09 3b 0d 0a 09 43 4e 5a 09 46 49 4e 49 53 09 3b 20 20 45 58   ┆ LXI D,NOTOK ;   CNZ FINIS ;  EX┆
0x06d1e0…06d200             49 54 28 4e 4f 54 20 41 4c 4c 4f 57 45 44 29 3b 0d 0a 09 50 55 53 48 09 42 09 3b 0d 0a 09 4c 58   ┆IT(NOT ALLOWED);   PUSH B ;   LX┆
0x06d200…06d220 (29, 0, 4)  4a 4e 5a 09 4e 45 58 54 53 09 3b 20 42 45 47 49 4e 0d 0a 09 4c 44 41 09 4c 54 52 4b 09 3b 0d 0a   ┆JNZ NEXTS ; BEGIN   LDA LTRK ;  ┆
0x06d220…06d240             09 43 4d 50 09 42 09 3b 20 20 20 20 49 46 20 54 52 4b 3d 4c 41 53 54 20 54 48 45 4e 20 47 4f 54   ┆ CMP B ;    IF TRK=LAST THEN GOT┆
0x06d240…06d260             4f 20 57 52 49 54 45 3b 0d 0a 09 4a 5a 09 57 44 41 54 09 3b 0d 0a 09 49 4e 52 09 42 09 3b 20 20   ┆O WRITE;   JZ WDAT ;   INR B ;  ┆
0x06d260…06d280             20 20 54 52 4b 3a 3d 54 52 4b 2b 31 3b 0d 0a 09 4d 56 49 09 43 2c 30 09 3b 20 20 20 20 53 45 43   ┆  TRK:=TRK+1;   MVI C,0 ;    SEC┆
0x06d280…06d2a0             3a 3d 30 3b 0d 0a 09 50 55 53 48 09 42 09 3b 0d 0a 09 4d 4f 56 09 43 2c 42 09 3b 0d 0a 09 43 41   ┆:=0;   PUSH B ;   MOV C,B ;   CA┆
0x06d2a0…06d2c0             4c 4c 09 54 52 4b 09 3b 20 20 20 20 53 45 54 20 54 52 41 43 4b 28 54 52 4b 29 3b 0d 0a 09 50 4f   ┆LL TRK ;    SET TRACK(TRK);   PO┆
0x06d2c0…06d2e0             50 09 42 09 3b 20 45 4e 44 3b 0d 0a 4e 45 58 54 53 3a 20 20 50 55 53 48 09 42 09 3b 0d 0a 09 43   ┆P B ; END;  NEXTS:  PUSH B ;   C┆
0x06d2e0…06d300             41 4c 4c 09 53 45 43 09 3b 20 53 45 54 20 53 45 43 54 4f 52 28 53 45 43 29 3b 0d 0a 09 4c 48 4c   ┆ALL SEC ; SET SECTOR(SEC);   LHL┆
0x06d300…06d320             44 09 53 45 43 43 4e 54 09 3b 0d 0a 09 44 43 58 09 48 09 3b 20 53 45 43 54 4f 52 43 4f 55 4e 54   ┆D SECCNT ;   DCX H ; SECTORCOUNT┆
0x06d320…06d340             3a 3d 53 45 43 54 4f 52 43 4f 55 4e 54 2d 31 3b 0d 0a 09 53 48 4c 44 09 53 45 43 43 4e 54 09 3b   ┆:=SECTORCOUNT-1;   SHLD SECCNT ;┆
0x06d340…06d360             0d 0a 09 50 4f 50 09 42 09 3b 0d 0a 09 4d 4f 56 09 41 2c 48 09 3b 20 49 46 20 53 45 43 54 4f 52   ┆   POP B ;   MOV A,H ; IF SECTOR┆
0x06d360…06d380             43 4f 55 4e 54 3d 30 20 54 48 45 4e 20 47 4f 54 4f 20 57 52 49 54 45 3b 0d 0a 09 4f 52 41 09 41   ┆COUNT=0 THEN GOTO WRITE;   ORA A┆
0x06d380…06d3a0             09 3b 0d 0a 09 4a 4e 5a 09 53 44 4d 41 09 3b 0d 0a 09 4d 4f 56 09 41 2c 4c 09 3b 0d 0a 09 4f 52   ┆ ;   JNZ SDMA ;   MOV A,L ;   OR┆
0x06d3a0…06d3c0             41 09 41 09 3b 0d 0a 09 4a 5a 09 57 44 41 54 09 3b 0d 0a 53 44 4d 41 3a 09 50 4f 50 09 44 09 3b   ┆A A ;   JZ WDAT ;  SDMA: POP D ;┆
0x06d3c0…06d3e0             0d 0a 09 4c 58 49 09 48 2c 31 32 38 09 3b 20 44 4d 41 20 41 44 44 52 3a 3d 20 44 4d 41 20 41 44   ┆   LXI H,128 ; DMA ADDR:= DMA AD┆
0x06d3e0…06d400             44 52 20 2b 20 31 32 38 3b 0d 0a 09 44 41 44 09 44 09 3b 0d 0a 09 58 43 48 47 09 09 3b 0d 0a 09   ┆DR + 128;   DAD D ;   XCHG  ;   ┆
0x06d400…06d420 (29, 0, 5)  79 20 38 30 68 29 0d 0a 3b 0d 0a 3b 09 28 72 65 61 64 20 61 6e 64 20 77 72 69 74 65 20 61 73 73   ┆y 80h)  ;  ; (read and write ass┆
0x06d420…06d440             75 6d 65 20 70 72 65 76 69 6f 75 73 20 63 61 6c 6c 73 20 74 6f 20 73 65 74 20 75 70 20 74 68 65   ┆ume previous calls to set up the┆
0x06d440…06d460             20 69 6f 20 70 61 72 61 6d 65 74 65 72 73 29 0d 0a 3b 09 72 65 61 64 09 72 65 61 64 20 74 72 61   ┆ io parameters)  ; read read tra┆
0x06d460…06d480             63 6b 2f 73 65 63 74 6f 72 20 74 6f 20 70 72 65 73 65 74 20 64 6d 61 20 61 64 64 72 65 73 73 0d   ┆ck/sector to preset dma address ┆
0x06d480…06d4a0             0a 3b 09 77 72 69 74 65 09 77 72 69 74 65 20 74 72 61 63 6b 2f 73 65 63 74 6f 72 20 66 72 6f 6d   ┆ ; write write track/sector from┆
0x06d4a0…06d4c0             20 70 72 65 73 65 74 20 64 6d 61 20 61 64 64 72 65 73 73 0d 0a 3b 0d 0a 3b 09 6a 75 6d 70 20 76   ┆ preset dma address  ;  ; jump v┆
0x06d4c0…06d4e0             65 63 74 6f 72 20 66 6f 72 20 69 6e 64 69 76 69 75 61 6c 20 72 6f 75 74 69 6e 65 73 0d 0a 09 6a   ┆ector for indiviual routines   j┆
0x06d4e0…06d500             6d 70 09 62 6f 6f 74 0d 0a 77 62 6f 6f 74 65 3a 09 6a 6d 70 09 77 62 6f 6f 74 0d 0a 09 6a 6d 70   ┆mp boot  wboote: jmp wboot   jmp┆
0x06d500…06d520             09 63 6f 6e 73 74 0d 0a 09 6a 6d 70 09 63 6f 6e 69 6e 0d 0a 09 6a 6d 70 09 63 6f 6e 6f 75 74 0d   ┆ const   jmp conin   jmp conout ┆
0x06d520…06d540             0a 09 6a 6d 70 09 6c 69 73 74 0d 0a 09 6a 6d 70 09 70 75 6e 63 68 0d 0a 09 6a 6d 70 09 72 65 61   ┆  jmp list   jmp punch   jmp rea┆
0x06d540…06d560             64 65 72 0d 0a 09 6a 6d 70 09 68 6f 6d 65 0d 0a 09 6a 6d 70 09 73 65 6c 64 73 6b 0d 0a 09 6a 6d   ┆der   jmp home   jmp seldsk   jm┆
0x06d560…06d580             70 09 73 65 74 74 72 6b 0d 0a 09 6a 6d 70 09 73 65 74 73 65 63 0d 0a 09 6a 6d 70 09 73 65 74 64   ┆p settrk   jmp setsec   jmp setd┆
0x06d580…06d5a0             6d 61 0d 0a 09 6a 6d 70 09 72 65 61 64 0d 0a 09 6a 6d 70 09 77 72 69 74 65 0d 0a 09 6a 6d 70 09   ┆ma   jmp read   jmp write   jmp ┆
0x06d5a0…06d5c0             6c 69 73 74 73 74 09 3b 6c 69 73 74 20 73 74 61 74 75 73 0d 0a 09 6a 6d 70 09 73 65 63 74 72 61   ┆listst ;list status   jmp sectra┆
0x06d5c0…06d5e0             6e 0d 0a 3b 0d 0a 09 6d 61 63 6c 69 62 09 64 69 73 6b 64 65 66 09 3b 6c 6f 61 64 20 74 68 65 20   ┆n  ;   maclib diskdef ;load the ┆
0x06d5e0…06d600             64 69 73 6b 20 64 65 66 69 6e 69 74 69 6f 6e 20 6c 69 62 72 61 72 79 0d 0a 09 64 69 73 6b 73 09   ┆disk definition library   disks ┆
0x06d600…06d620 (29, 0, 6)  3b 73 69 67 6e 6f 6e 20 6d 65 73 73 61 67 65 3a 20 78 78 6b 20 63 70 2f 6d 20 76 65 72 73 20 79   ┆;signon message: xxk cp/m vers y┆
0x06d620…06d640             2e 79 0d 0a 09 64 62 09 63 72 2c 6c 66 2c 6c 66 0d 0a 09 69 66 09 74 65 73 74 0d 0a 09 64 62 09   ┆.y   db cr,lf,lf   if test   db ┆
0x06d640…06d660             27 33 32 27 09 3b 33 32 6b 20 65 78 61 6d 70 6c 65 20 62 69 6f 73 0d 0a 09 65 6e 64 69 66 0d 0a   ┆'32' ;32k example bios   endif  ┆
0x06d660…06d680             09 69 66 09 6e 6f 74 20 74 65 73 74 0d 0a 09 64 62 09 27 30 30 27 09 3b 6d 65 6d 6f 72 79 20 73   ┆ if not test   db '00' ;memory s┆
0x06d680…06d6a0             69 7a 65 20 66 69 6c 6c 65 64 20 62 79 20 72 65 6c 6f 63 61 74 6f 72 0d 0a 09 65 6e 64 69 66 0d   ┆ize filled by relocator   endif ┆
0x06d6a0…06d6c0             0a 09 64 62 09 27 6b 20 43 50 2f 4d 20 76 65 72 73 20 27 0d 0a 09 64 62 09 76 65 72 73 2f 31 30   ┆  db 'k CP/M vers '   db vers/10┆
0x06d6c0…06d6e0             2b 27 30 27 2c 27 2e 27 2c 76 65 72 73 20 6d 6f 64 20 31 30 2b 27 30 27 0d 0a 09 64 62 09 63 72   ┆+'0','.',vers mod 10+'0'   db cr┆
0x06d6e0…06d700             2c 6c 66 2c 30 0d 0a 3b 0d 0a 62 6f 6f 74 3a 09 3b 70 72 69 6e 74 20 73 69 67 6e 6f 6e 20 6d 65   ┆,lf,0  ;  boot: ;print signon me┆
0x06d700…06d720             73 73 61 67 65 20 61 6e 64 20 67 6f 20 74 6f 20 63 63 70 0d 0a 3b 09 28 6e 6f 74 65 3a 20 6d 64   ┆ssage and go to ccp  ; (note: md┆
0x06d720…06d740             73 20 62 6f 6f 74 20 69 6e 69 74 69 61 6c 69 7a 65 64 20 69 6f 62 79 74 65 20 61 74 20 30 30 30   ┆s boot initialized iobyte at 000┆
0x06d740…06d760             33 68 29 0d 0a 09 6c 78 69 09 73 70 2c 62 75 66 66 2b 38 30 68 0d 0a 09 6c 78 69 09 68 2c 73 69   ┆3h)   lxi sp,buff+80h   lxi h,si┆
0x06d760…06d780             67 6e 6f 6e 0d 0a 09 63 61 6c 6c 09 70 72 6d 73 67 09 3b 70 72 69 6e 74 20 6d 65 73 73 61 67 65   ┆gnon   call prmsg ;print message┆
0x06d780…06d7a0             0d 0a 09 78 72 61 09 61 09 3b 63 6c 65 61 72 20 61 63 63 75 6d 75 6c 61 74 6f 72 0d 0a 09 73 74   ┆   xra a ;clear accumulator   st┆
0x06d7a0…06d7c0             61 09 63 64 69 73 6b 09 3b 73 65 74 20 69 6e 69 74 69 61 6c 6c 79 20 74 6f 20 64 69 73 6b 20 61   ┆a cdisk ;set initially to disk a┆
0x06d7c0…06d7e0             0d 0a 09 6a 6d 70 09 67 6f 63 70 6d 09 3b 67 6f 20 74 6f 20 63 70 2f 6d 0d 0a 3b 0d 0a 3b 0d 0a   ┆   jmp gocpm ;go to cp/m  ;  ;  ┆
0x06d7e0…06d800             77 62 6f 6f 74 3a 3b 09 6c 6f 61 64 65 72 20 6f 6e 20 74 72 61 63 6b 20 30 2c 20 73 65 63 74 6f   ┆wboot:; loader on track 0, secto┆
0x06d800…06d820 (29, 0, 7)  49 09 44 2c 43 52 4c 46 09 3b 0d 0a 09 43 41 4c 4c 09 50 52 49 4e 54 09 3b 0d 0a 09 4c 58 49 09   ┆I D,CRLF ;   CALL PRINT ;   LXI ┆
0x06d820…06d840             44 2c 4d 53 44 49 53 4b 3b 0d 0a 09 43 41 4c 4c 09 50 52 49 4e 54 09 3b 20 57 41 49 54 20 46 4f   ┆D,MSDISK;   CALL PRINT ; WAIT FO┆
0x06d840…06d860             52 20 53 4f 55 52 43 45 20 44 49 53 4b 3a 0d 0a 09 43 41 4c 4c 09 43 4f 4e 53 49 09 3b 0d 0a 09   ┆R SOURCE DISK:   CALL CONSI ;   ┆
0x06d860…06d880             4c 58 49 09 44 2c 4d 44 44 49 53 4b 3b 0d 0a 09 43 41 4c 4c 09 50 52 49 4e 54 09 3b 20 57 41 49   ┆LXI D,MDDISK;   CALL PRINT ; WAI┆
0x06d880…06d8a0             54 20 46 4f 52 20 44 45 53 54 49 4e 41 54 49 4f 4e 20 44 49 53 4b 3a 0d 0a 09 43 41 4c 4c 09 43   ┆T FOR DESTINATION DISK:   CALL C┆
0x06d8a0…06d8c0             4f 4e 53 49 09 3b 0d 0a 09 50 4f 50 09 42 09 3b 0d 0a 09 4d 56 49 09 41 2c 31 09 3b 0d 0a 53 45   ┆ONSI ;   POP B ;   MVI A,1 ;  SE┆
0x06d8c0…06d8e0             54 44 46 3a 09 53 54 41 09 44 46 4c 41 47 09 3b 0d 0a 09 4d 4f 56 09 41 2c 43 09 3b 0d 0a 09 43   ┆TDF: STA DFLAG ;   MOV A,C ;   C┆
0x06d8e0…06d900             50 49 09 53 53 38 09 3b 20 28 46 49 52 53 54 20 54 52 41 43 4b 2c 4c 41 53 54 20 54 52 41 43 4b   ┆PI SS8 ; (FIRST TRACK,LAST TRACK┆
0x06d900…06d920             2c 0d 0a 09 4a 4e 5a 09 53 45 54 44 38 09 3b 20 20 53 45 43 54 4f 52 53 20 50 52 20 54 52 41 43   ┆,   JNZ SETD8 ;  SECTORS PR TRAC┆
0x06d920…06d940             4b 29 20 3a 3d 0d 0a 09 4d 56 49 09 41 2c 30 09 3b 0d 0a 09 53 54 41 09 46 54 52 4b 09 3b 0d 0a   ┆K) :=   MVI A,0 ;   STA FTRK ;  ┆
0x06d940…06d960             09 4d 56 49 09 41 2c 37 36 09 3b 20 20 49 46 20 46 4f 52 4d 41 54 3d 20 38 22 20 53 53 20 54 48   ┆ MVI A,76 ;  IF FORMAT= 8" SS TH┆
0x06d960…06d980             45 4e 0d 0a 09 53 54 41 09 4c 54 52 4b 09 3b 20 20 20 28 30 2c 37 36 2c 32 36 29 20 20 20 20 20   ┆EN   STA LTRK ;   (0,76,26)     ┆
0x06d980…06d9a0             20 20 45 4c 53 45 0d 0a 09 4d 56 49 09 41 2c 32 36 09 3b 0d 0a 09 53 54 41 09 53 50 54 09 3b 0d   ┆  ELSE   MVI A,26 ;   STA SPT ; ┆
0x06d9a0…06d9c0             0a 09 4a 4d 50 09 53 45 54 43 54 09 3b 20 20 0d 0a 53 45 54 44 38 3a 09 43 50 49 09 44 44 38 09   ┆  JMP SETCT ;    SETD8: CPI DD8 ┆
0x06d9c0…06d9e0             3b 20 20 49 46 20 46 4f 52 4d 41 54 3d 20 38 22 20 44 44 20 54 48 45 4e 0d 0a 09 4a 4e 5a 09 53   ┆;  IF FORMAT= 8" DD THEN   JNZ S┆
0x06d9e0…06da00             45 54 35 09 3b 20 20 20 28 31 2c 36 31 2c 31 32 30 29 20 20 20 20 20 20 45 4c 53 45 0d 0a 09 4d   ┆ET5 ;   (1,61,120)      ELSE   M┆
0x06da00…06da20 (29, 0, 8)  50 55 53 48 09 44 09 3b 0d 0a 09 50 55 53 48 09 42 09 3b 0d 0a 09 43 41 4c 4c 09 44 4d 41 09 3b   ┆PUSH D ;   PUSH B ;   CALL DMA ;┆
0x06da20…06da40             0d 0a 09 4a 4d 50 09 52 45 41 44 53 09 3b 20 47 4f 54 4f 20 52 45 41 44 20 53 45 43 54 4f 52 3b   ┆   JMP READS ; GOTO READ SECTOR;┆
0x06da40…06da60             0d 0a 57 44 41 54 3a 09 50 4f 50 09 44 09 3b 20 57 52 49 54 45 20 44 41 54 41 3a 0d 0a 09 4c 44   ┆  WDAT: POP D ; WRITE DATA:   LD┆
0x06da60…06da80             41 09 44 46 4c 41 47 09 3b 0d 0a 09 4f 52 41 09 41 09 3b 20 49 46 20 44 45 53 54 49 4e 41 54 49   ┆A DFLAG ;   ORA A ; IF DESTINATI┆
0x06da80…06daa0             4f 4e 20 44 52 49 56 45 20 3d 20 53 4f 55 52 43 45 20 44 52 49 56 45 0d 0a 09 4a 4e 5a 09 53 45   ┆ON DRIVE = SOURCE DRIVE   JNZ SE┆
0x06daa0…06dac0             4c 44 45 09 3b 20 20 54 48 45 4e 20 57 41 49 54 20 46 4f 52 20 44 49 53 4b 20 43 48 41 4e 47 45   ┆LDE ;  THEN WAIT FOR DISK CHANGE┆
0x06dac0…06dae0             3b 0d 0a 09 4c 58 49 09 44 2c 4d 44 44 49 53 4b 3b 0d 0a 09 43 41 4c 4c 09 50 52 49 4e 54 09 3b   ┆;   LXI D,MDDISK;   CALL PRINT ;┆
0x06dae0…06db00             0d 0a 09 43 41 4c 4c 09 43 4f 4e 53 49 09 3b 0d 0a 53 45 4c 44 45 3a 09 4c 44 41 09 44 44 52 49   ┆   CALL CONSI ;  SELDE: LDA DDRI┆
0x06db00…06db20             56 09 3b 0d 0a 09 43 41 4c 4c 09 53 45 4c 09 3b 20 53 45 4c 45 43 54 28 44 45 53 54 49 4e 41 54   ┆V ;   CALL SEL ; SELECT(DESTINAT┆
0x06db20…06db40             49 4f 4e 20 44 52 49 56 45 29 3b 0d 0a 09 4c 58 49 09 48 2c 33 36 30 09 3b 0d 0a 09 53 48 4c 44   ┆ION DRIVE);   LXI H,360 ;   SHLD┆
0x06db40…06db60             09 53 45 43 43 4e 54 09 3b 20 53 45 43 54 4f 52 43 4f 55 4e 54 3a 3d 20 33 36 30 3b 0d 0a 09 4c   ┆ SECCNT ; SECTORCOUNT:= 360;   L┆
0x06db60…06db80             58 49 09 44 2c 42 55 46 09 3b 0d 0a 09 50 55 53 48 09 44 09 3b 0d 0a 09 43 41 4c 4c 09 44 4d 41   ┆XI D,BUF ;   PUSH D ;   CALL DMA┆
0x06db80…06dba0             09 3b 20 44 4d 41 20 41 44 44 52 3a 3d 20 53 54 41 52 54 20 4f 46 20 42 55 46 46 45 52 3b 0d 0a   ┆ ; DMA ADDR:= START OF BUFFER;  ┆
0x06dba0…06dbc0             09 4c 44 41 09 43 55 52 54 52 4b 09 3b 0d 0a 09 4d 4f 56 09 43 2c 41 09 3b 0d 0a 09 43 41 4c 4c   ┆ LDA CURTRK ;   MOV C,A ;   CALL┆
0x06dbc0…06dbe0             09 54 52 4b 09 3b 20 53 45 54 20 54 52 41 43 4b 28 54 52 4b 3a 3d 43 55 52 20 54 52 4b 29 3b 0d   ┆ TRK ; SET TRACK(TRK:=CUR TRK); ┆
0x06dbe0…06dc00             0a 09 4c 44 41 09 43 55 52 53 45 43 09 3b 0d 0a 09 4d 4f 56 09 43 2c 41 09 3b 0d 0a 09 4c 44 41   ┆  LDA CURSEC ;   MOV C,A ;   LDA┆
0x06dc00…06dc20 (29, 0, 9)  c3 bc 01 43 4f 50 59 52 49 47 48 54 20 28 43 29 20 31 39 38 30 2c 20 44 49 47 49 54 41 4c 20 52   ┆   COPYRIGHT (C) 1980, DIGITAL R┆
0x06dc20…06dc40             45 53 45 41 52 43 48 20 c3 35 01 c3 3c 01 c3 47 01 1a 1a 1a 1a af cd 89 01 c3 4c 01 3e 01 32 34   ┆ESEARCH  5  <  G          L > 24┆
0x06dc40…06dc60             01 cd 89 01 c3 50 01 3e 01 cd 89 01 af 32 34 01 21 31 01 4e cd 92 01 2a 32 01 16 00 3a 0a 07 5f   ┆     P >     24 !1 N   *2   :  _┆
0x06dc60…06dc80             d5 e5 4a cd 9a 01 c1 c5 cd a2 01 3a 34 01 b7 c2 78 01 cd aa 01 c3 7b 01 cd b2 01 e1 11 80 00 19   ┆  J        :4   x     æ         ┆
0x06dc80…06dca0             d1 14 b7 c0 1d c2 60 01 c9 4f 2a 01 00 11 18 00 19 e9 2a 01 00 11 1b 00 19 e9 2a 01 00 11 1e 00   ┆      `  O*       *       *     ┆
0x06dca0…06dcc0             19 e9 2a 01 00 11 21 00 19 e9 2a 01 00 11 24 00 19 e9 2a 01 00 11 27 00 19 0e 02 e9 31 0a 07 0e   ┆  *   !   *   $   *   '     1   ┆
0x06dcc0…06dce0             78 db 14 e6 80 ca ca 01 0e 48 79 32 0a 07 cd b0 04 cd cc 03 21 83 06 71 23 70 21 c4 06 46 23 eb   ┆x        Hy2        !  q#p!  F# ┆
0x06dce0…06dd00             21 87 06 1a b7 ca ef 01 13 77 23 05 c2 e3 01 36 2d 23 36 24 cd e5 04 cd cc 03 21 a3 06 71 23 70   ┆!        w#    6-#6$      !  q#p┆
0x06dd00…06dd20             21 c4 06 3e 05 96 21 a5 06 ca 13 02 36 30 23 3d c2 0c 02 11 c5 06 1a b7 ca 21 02 77 23 13 c3 16   ┆!  >  !     60#=         ! w#   ┆
0x06dd20…06dd40             02 cd 7e 04 cd bf 03 3e 00 32 cd 06 cd 29 05 cd 43 05 cd 4f 05 cd bf 03 21 31 01 36 01 21 90 06   ┆  ü    > 2   )  C  O    !1 6 !  ┆
0x06dd40…06dd60             36 30 23 36 30 21 0b 07 22 32 01 cd 28 01 ca 57 02 cd 0d 06 c3 21 02 3a 31 01 fe 01 c2 c5 02 21   ┆60#60!  "2  (  W     ! :1      !┆
0x06dd60…06dd80             0b 07 01 00 08 e5 c5 11 ab 06 0e 0c 1a 2f be c2 b6 02 23 13 1a 2f be c2 b6 02 23 13 0d c2 6c 02   ┆             /    #  /    #   l ┆
0x06dd80…06dda0             c1 d1 e5 eb 2a 83 06 eb 73 23 36 16 23 72 23 36 00 23 eb 2a a3 06 eb 72 23 73 c1 c5 11 0b 0f 7b   ┆    *   s#6 #r#6 # *   r#s     æ┆
0x06dda0…06ddc0             91 6f 7a 98 67 22 ce 06 e1 0e 06 7e 12 13 23 0d c2 ab 02 c3 32 03 c1 e1 23 0b 79 b0 c2 65 02 cd   ┆ oz g"     ü  #     2   # y  e  ┆
0x06ddc0…06dde0             9d 05 c3 21 02 fe 00 c2 32 03 21 00 00 01 00 3c e5 c5 11 ab 06 0e 0c e5 cd 2e 04 1a 2f be e1 c2   ┆   !    2 !    <         .  /   ┆
0x06dde0…06de00             23 03 23 13 e5 cd 2e 04 1a 2f be e1 c2 23 03 23 13 0d c2 d7 02 c1 d1 e5 cd 5c 04 e1 eb 2a ce 06   ┆# #   .  /   # #         Ø   *  ┆
0x06de00…06de20 (29, 0, 10) 3b 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a   ┆;*******************************┆
0x06de20…06de40             2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a   ┆********************************┆
0x06de40…06de60             2a 2a 2a 0d 0a 3b 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆***  ;*                         ┆
0x06de60…06de80             20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆                                ┆
0x06de80…06dea0             20 20 20 20 20 20 20 2a 0d 0a 3b 2a 20 20 20 20 20 42 41 43 4b 55 50 20 20 55 54 49 4c 49 54 59   ┆       *  ;*     BACKUP  UTILITY┆
0x06dea0…06dec0             20 20 2d 20 20 56 45 52 53 49 4f 4e 20 20 38 31 2e 30 37 2e 30 38 20 20 20 20 20 20 20 20 20 20   ┆  -  VERSION  81.07.08          ┆
0x06dec0…06dee0             20 20 20 20 20 20 20 20 20 20 20 20 2a 0d 0a 3b 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆            *  ;*               ┆
0x06dee0…06df00             20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆                                ┆
0x06df00…06df20             20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 0d 0a 3b 2a 20 20 20 20 20 42 41 43 4b 55   ┆                 *  ;*     BACKU┆
0x06df20…06df40             50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆P                               ┆
0x06df40…06df60             20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 0d 0a 3b 2a 20 20 20 20 20   ┆                      *  ;*     ┆
0x06df60…06df80             20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆                                ┆
0x06df80…06dfa0             20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 0d 0a 3b 2a   ┆                           *  ;*┆
0x06dfa0…06dfc0             2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a   ┆********************************┆
          […0x1…]
0x06dfe0…06e000             2a 0d 0a 0d 0a 0d 0a 54 50 41 09 45 51 55 09 31 30 30 48 0d 0a 42 44 4f 53 09 45 51 55 09 30 30   ┆*      TPA EQU 100H  BDOS EQU 00┆
0x06e000…06e020 (29, 0, 11) 56 49 09 41 2c 31 09 3b 0d 0a 09 53 54 41 09 46 54 52 4b 09 3b 0d 0a 09 4d 56 49 09 41 2c 36 31   ┆VI A,1 ;   STA FTRK ;   MVI A,61┆
0x06e020…06e040             09 3b 0d 0a 09 53 54 41 09 4c 54 52 4b 09 3b 0d 0a 09 4d 56 49 09 41 2c 31 32 30 09 3b 0d 0a 09   ┆ ;   STA LTRK ;   MVI A,120 ;   ┆
0x06e040…06e060             53 54 41 09 53 50 54 09 3b 0d 0a 09 4a 4d 50 09 53 45 54 43 54 09 3b 0d 0a 53 45 54 35 3a 09 43   ┆STA SPT ;   JMP SETCT ;  SET5: C┆
0x06e060…06e080             50 49 09 44 44 35 09 3b 20 20 49 46 20 46 4f 52 4d 41 54 3d 20 35 22 20 44 44 20 54 48 45 4e 0d   ┆PI DD5 ;  IF FORMAT= 5" DD THEN ┆
0x06e080…06e0a0             0a 09 4c 58 49 09 44 2c 4e 4f 54 4f 4b 09 3b 20 20 20 28 31 2c 33 31 2c 37 32 29 3b 0d 0a 09 43   ┆  LXI D,NOTOK ;   (1,31,72);   C┆
0x06e0a0…06e0c0             4e 5a 09 46 49 4e 49 53 09 3b 0d 0a 09 4d 56 49 09 41 2c 31 09 3b 0d 0a 09 53 54 41 09 46 54 52   ┆NZ FINIS ;   MVI A,1 ;   STA FTR┆
0x06e0c0…06e0e0             4b 09 3b 0d 0a 09 4d 56 49 09 41 2c 33 31 09 3b 0d 0a 09 53 54 41 09 4c 54 52 4b 09 3b 0d 0a 09   ┆K ;   MVI A,31 ;   STA LTRK ;   ┆
0x06e0e0…06e100             4d 56 49 09 41 2c 37 32 09 3b 0d 0a 09 53 54 41 09 53 50 54 09 3b 0d 0a 53 45 54 43 54 3a 09 4c   ┆MVI A,72 ;   STA SPT ;  SETCT: L┆
0x06e100…06e120             44 41 09 46 54 52 4b 09 3b 0d 0a 09 53 54 41 09 43 55 52 54 52 4b 09 3b 20 43 55 52 54 52 4b 3a   ┆DA FTRK ;   STA CURTRK ; CURTRK:┆
0x06e120…06e140             3d 46 49 52 53 54 20 54 52 41 43 4b 3b 0d 0a 09 4d 56 49 09 41 2c 30 09 3b 0d 0a 09 53 54 41 09   ┆=FIRST TRACK;   MVI A,0 ;   STA ┆
0x06e140…06e160             43 55 52 53 45 43 09 3b 20 43 55 52 53 45 43 3a 3d 20 30 3b 0d 0a 0d 0a 52 44 41 54 3a 09 4c 44   ┆CURSEC ; CURSEC:= 0;    RDAT: LD┆
0x06e160…06e180             41 09 44 46 4c 41 47 09 3b 20 52 45 41 44 20 44 41 54 41 3a 0d 0a 09 4f 52 41 09 41 09 3b 0d 0a   ┆A DFLAG ; READ DATA:   ORA A ;  ┆
0x06e180…06e1a0             09 4a 4e 5a 09 53 45 4c 53 44 09 3b 20 49 46 20 53 4f 55 52 43 45 20 44 52 49 56 45 20 3d 20 44   ┆ JNZ SELSD ; IF SOURCE DRIVE = D┆
0x06e1a0…06e1c0             45 53 54 49 4e 41 54 49 4f 4e 20 44 52 49 56 45 0d 0a 09 4c 58 49 09 44 2c 4d 53 44 49 53 4b 3b   ┆ESTINATION DRIVE   LXI D,MSDISK;┆
0x06e1c0…06e1e0             20 20 54 48 45 4e 20 57 41 49 54 20 46 4f 52 20 44 49 53 4b 20 43 48 41 4e 47 45 3b 0d 0a 09 43   ┆  THEN WAIT FOR DISK CHANGE;   C┆
0x06e1e0…06e200             41 4c 4c 09 50 52 49 4e 54 09 3b 0d 0a 09 43 41 4c 4c 09 43 4f 4e 53 49 09 3b 0d 0a 53 45 4c 53   ┆ALL PRINT ;   CALL CONSI ;  SELS┆
0x06e200…06e220 (29, 0, 12) 56 49 09 41 2c 31 09 3b 0d 0a 09 53 54 41 09 46 54 52 4b 09 3b 0d 0a 09 4d 56 49 09 41 2c 36 31   ┆VI A,1 ;   STA FTRK ;   MVI A,61┆
0x06e220…06e240             09 3b 0d 0a 09 53 54 41 09 4c 54 52 4b 09 3b 0d 0a 09 4d 56 49 09 41 2c 31 32 30 09 3b 0d 0a 09   ┆ ;   STA LTRK ;   MVI A,120 ;   ┆
0x06e240…06e260             53 54 41 09 53 50 54 09 3b 0d 0a 09 4a 4d 50 09 53 45 54 43 54 09 3b 0d 0a 53 45 54 35 3a 09 43   ┆STA SPT ;   JMP SETCT ;  SET5: C┆
0x06e260…06e280             50 49 09 44 44 35 09 3b 20 20 49 46 20 46 4f 52 4d 41 54 3d 20 35 22 20 44 44 20 54 48 45 4e 0d   ┆PI DD5 ;  IF FORMAT= 5" DD THEN ┆
0x06e280…06e2a0             0a 09 4c 58 49 09 44 2c 4e 4f 54 4f 4b 09 3b 20 20 20 28 31 2c 33 31 2c 37 32 29 3b 0d 0a 09 43   ┆  LXI D,NOTOK ;   (1,31,72);   C┆
0x06e2a0…06e2c0             4e 5a 09 46 49 4e 49 53 09 3b 0d 0a 09 4d 56 49 09 41 2c 31 09 3b 0d 0a 09 53 54 41 09 46 54 52   ┆NZ FINIS ;   MVI A,1 ;   STA FTR┆
0x06e2c0…06e2e0             4b 09 3b 0d 0a 09 4d 56 49 09 41 2c 33 31 09 3b 0d 0a 09 53 54 41 09 4c 54 52 4b 09 3b 0d 0a 09   ┆K ;   MVI A,31 ;   STA LTRK ;   ┆
0x06e2e0…06e300             4d 56 49 09 41 2c 37 32 09 3b 0d 0a 09 53 54 41 09 53 50 54 09 3b 0d 0a 53 45 54 43 54 3a 09 4c   ┆MVI A,72 ;   STA SPT ;  SETCT: L┆
0x06e300…06e320             44 41 09 46 54 52 4b 09 3b 0d 0a 09 53 54 41 09 43 55 52 54 52 4b 09 3b 20 43 55 52 54 52 4b 3a   ┆DA FTRK ;   STA CURTRK ; CURTRK:┆
0x06e320…06e340             3d 46 49 52 53 54 20 54 52 41 43 4b 3b 0d 0a 09 4d 56 49 09 41 2c 30 09 3b 0d 0a 09 53 54 41 09   ┆=FIRST TRACK;   MVI A,0 ;   STA ┆
0x06e340…06e360             43 55 52 53 45 43 09 3b 20 43 55 52 53 45 43 3a 3d 20 30 3b 0d 0a 0d 0a 52 44 41 54 3a 09 4c 44   ┆CURSEC ; CURSEC:= 0;    RDAT: LD┆
0x06e360…06e380             41 09 44 46 4c 41 47 09 3b 20 52 45 41 44 20 44 41 54 41 3a 0d 0a 09 4f 52 41 09 41 09 3b 0d 0a   ┆A DFLAG ; READ DATA:   ORA A ;  ┆
0x06e380…06e3a0             09 4a 4e 5a 09 53 45 4c 53 44 09 3b 20 49 46 20 53 4f 55 52 43 45 20 44 52 49 56 45 20 3d 20 44   ┆ JNZ SELSD ; IF SOURCE DRIVE = D┆
0x06e3a0…06e3c0             45 53 54 49 4e 41 54 49 4f 4e 20 44 52 49 56 45 0d 0a 09 4c 58 49 09 44 2c 4d 53 44 49 53 4b 3b   ┆ESTINATION DRIVE   LXI D,MSDISK;┆
0x06e3c0…06e3e0             20 20 54 48 45 4e 20 57 41 49 54 20 46 4f 52 20 44 49 53 4b 20 43 48 41 4e 47 45 3b 0d 0a 09 43   ┆  THEN WAIT FOR DISK CHANGE;   C┆
0x06e3e0…06e400             41 4c 4c 09 50 52 49 4e 54 09 3b 0d 0a 09 43 41 4c 4c 09 43 4f 4e 53 49 09 3b 0d 0a 53 45 4c 53   ┆ALL PRINT ;   CALL CONSI ;  SELS┆
0x06e400…06e420 (29, 0, 13) 19 7d b7 c2 2c 03 eb 21 cd 06 36 00 34 7b d6 00 47 7a de 0d da 1c 03 57 58 c3 0c 03 eb 22 ce 06   ┆ å  ,  !  6 4æ  Gz     WX    "  ┆
0x06e420…06e440             c3 32 03 c1 e1 23 0b 78 b1 c2 d0 02 cd 78 05 c3 21 02 21 cd 06 7e b7 ca 44 03 35 c2 44 03 2a ce   ┆ 2   # x     x  ! !  ü  D 5 D * ┆
0x06e440…06e460             06 cd 5c 04 21 0b 07 01 00 3c 3e e5 be c2 70 03 23 0b 79 b0 c2 4a 03 3a cd 06 b7 ca 64 03 cd 78   ┆  Ø !    <>   p # y  J :    d  x┆
0x06e460…06e480             05 c3 21 02 11 8e 06 cd c4 03 cd 0b 04 c3 27 02 cd 2b 01 ca 7c 03 cd 33 06 c3 27 02 21 0b 43 22   ┆  !           '  +  ø  3  ' ! C"┆
0x06e480…06e4a0             32 01 cd 2e 01 ca 8e 03 cd 5a 06 c3 27 02 21 0b 07 11 0b 43 01 00 3c 1a be c2 b9 03 23 13 0b 79   ┆2  .     Z  ' !    C  <     #  y┆
0x06e4a0…06e4c0             b0 c2 97 03 21 31 01 34 21 91 06 34 7e fe 3a da 45 02 36 30 2b 34 c3 45 02 cd c9 05 c3 27 02 0e   ┆    !1 4!  4ü : E 60+4 E     '  ┆
0x06e4c0…06e4e0             01 c3 05 00 0e 09 c3 05 00 cd 06 05 11 c3 06 0e 0a cd 05 00 21 c4 06 7e b7 ca c9 03 23 5f 16 00   ┆                    !  ü    #_  ┆
0x06e4e0…06e500             19 36 00 21 c5 06 01 00 00 7e b7 c8 d6 30 fe 0a d2 c9 03 e5 c5 e1 29 29 29 09 09 e5 c1 e1 23 81   ┆ 6 !     ü   0        )))     # ┆
0x06e500…06e520             4f 3e 00 88 47 da c9 03 c3 e9 03 2a a3 06 23 22 a3 06 7d b4 ca 28 04 21 a9 06 06 05 34 7e fe 3a   ┆O>  G      *  #"  å  ( !    4ü :┆
0x06e520…06e540             d8 36 30 2b 05 c2 1c 04 cd ee 05 c3 00 00 d5 7d e6 7f 5f 7d 17 7c 17 6f 26 00 d5 11 d0 06 19 d1   ┆ 60+           å  _å ø o&       ┆
0x06e540…06e560             af 7e 3d 1f 67 3e 00 1f b3 6f 11 0b 07 19 d1 c9 e5 d5 f5 cd 2e 04 f1 77 d1 e1 23 c9 3a 83 06 cd   ┆ ü= g>   o          .  w  # :   ┆
0x06e560…06e580             50 04 3e 16 cd 50 04 3a 84 06 cd 50 04 af cd 50 04 11 a4 06 1a cd 50 04 1b 1a cd 50 04 c9 11 84   ┆P >  P :   P   P      P    P    ┆
0x06e580…06e5a0             04 c3 c4 03 0d 0a 49 4e 53 45 52 54 20 43 4f 4e 54 52 4f 4c 20 44 49 53 4b 45 54 54 45 20 49 4e   ┆      INSERT CONTROL DISKETTE IN┆
0x06e5a0…06e5c0             20 41 2c 20 54 59 50 45 20 52 45 54 55 52 4e 24 11 b6 04 c3 c4 03 0d 0a 43 50 2f 4d 20 56 45 52   ┆ A, TYPE RETURN$        CP/M VER┆
0x06e5c0…06e5e0             20 32 2e 32 20 53 45 52 49 41 4c 49 5a 41 54 49 4f 4e 2c 0d 0a 4f 52 49 47 49 4e 20 4e 55 4d 42   ┆ 2.2 SERIALIZATION,  ORIGIN NUMB┆
0x06e5e0…06e600             45 52 3f 20 24 11 eb 04 c3 c4 03 0d 0a 53 54 41 52 54 49 4e 47 20 53 45 52 49 41 4c 20 4e 55 4d   ┆ER? $        STARTING SERIAL NUM┆
0x06e600…06e620 (29, 0, 14) 30 35 48 0d 0a 42 4f 4f 54 09 45 51 55 09 30 30 30 30 48 0d 0a 0d 0a 43 4f 4e 53 49 46 09 45 51   ┆05H  BOOT EQU 0000H    CONSIF EQ┆
0x06e620…06e640             55 09 31 0d 0a 50 52 49 4e 54 46 09 45 51 55 09 39 0d 0a 57 42 4f 4f 54 09 45 51 55 09 31 0d 0a   ┆U 1  PRINTF EQU 9  WBOOT EQU 1  ┆
0x06e640…06e660             53 45 4c 44 53 4b 09 45 51 55 09 32 34 0d 0a 53 45 54 54 52 4b 09 45 51 55 09 32 37 0d 0a 53 45   ┆SELDSK EQU 24  SETTRK EQU 27  SE┆
0x06e660…06e680             54 53 45 43 09 45 51 55 09 33 30 0d 0a 53 45 54 44 4d 41 09 45 51 55 09 33 33 0d 0a 52 45 41 44   ┆TSEC EQU 30  SETDMA EQU 33  READ┆
0x06e680…06e6a0             46 09 45 51 55 09 33 36 0d 0a 57 52 49 54 45 46 09 45 51 55 09 33 39 0d 0a 46 44 46 4f 52 4d 09   ┆F EQU 36  WRITEF EQU 39  FDFORM ┆
0x06e6a0…06e6c0             45 51 55 09 35 32 0d 0a 53 53 38 09 45 51 55 09 30 0d 0a 44 44 38 09 45 51 55 09 38 0d 0a 44 44   ┆EQU 52  SS8 EQU 0  DD8 EQU 8  DD┆
0x06e6c0…06e6e0             35 09 45 51 55 09 31 36 0d 0a 0d 0a 0d 0a 09 4f 52 47 09 54 50 41 0d 0a 0d 0a 09 50 4f 50 09 48   ┆5 EQU 16       ORG TPA     POP H┆
0x06e6e0…06e700             09 3b 20 53 41 56 45 20 52 45 54 55 52 4e 20 54 4f 20 43 43 50 3b 0d 0a 09 53 48 4c 44 09 43 43   ┆ ; SAVE RETURN TO CCP;   SHLD CC┆
0x06e700…06e720             50 52 45 54 09 3b 0d 0a 09 4c 58 49 09 53 50 2c 53 54 41 43 4b 3b 0d 0a 09 4c 58 49 09 44 2c 48   ┆PRET ;   LXI SP,STACK;   LXI D,H┆
0x06e720…06e740             45 41 44 09 3b 20 50 52 49 4e 54 20 48 45 41 44 49 4e 47 3b 0d 0a 09 43 41 4c 4c 09 50 52 49 4e   ┆EAD ; PRINT HEADING;   CALL PRIN┆
0x06e740…06e760             54 09 3b 0d 0a 50 53 50 3a 09 4c 58 49 09 44 2c 53 44 53 50 45 43 3b 20 50 52 49 4e 54 20 53 4f   ┆T ;  PSP: LXI D,SDSPEC; PRINT SO┆
0x06e760…06e780             55 52 43 45 20 50 52 4f 4d 50 54 3b 0d 0a 09 43 41 4c 4c 09 50 52 49 4e 54 09 3b 0d 0a 09 43 41   ┆URCE PROMPT;   CALL PRINT ;   CA┆
0x06e780…06e7a0             4c 4c 09 43 4f 4e 53 49 09 3b 20 47 45 54 20 53 4f 55 52 43 45 20 44 52 49 56 45 3b 0d 0a 09 4d   ┆LL CONSI ; GET SOURCE DRIVE;   M┆
0x06e7a0…06e7c0             56 49 09 43 2c 30 09 3b 0d 0a 09 43 50 49 09 27 41 27 09 3b 0d 0a 09 4a 5a 09 53 45 54 53 44 09   ┆VI C,0 ;   CPI 'A' ;   JZ SETSD ┆
0x06e7c0…06e7e0             3b 0d 0a 09 43 50 49 09 27 42 27 09 3b 0d 0a 09 4a 4e 5a 09 50 53 50 09 3b 0d 0a 09 49 4e 52 09   ┆;   CPI 'B' ;   JNZ PSP ;   INR ┆
0x06e7e0…06e800             43 09 3b 0d 0a 53 45 54 53 44 3a 09 4d 4f 56 09 41 2c 43 09 3b 0d 0a 09 53 54 41 09 53 44 52 49   ┆C ;  SETSD: MOV A,C ;   STA SDRI┆
0x06e800…06e820 (29, 0, 15) 44 3a 09 4c 44 41 09 53 44 52 49 56 09 3b 20 53 45 4c 45 43 54 28 53 4f 55 52 43 45 20 44 52 49   ┆D: LDA SDRIV ; SELECT(SOURCE DRI┆
0x06e820…06e840             56 45 29 3a 0d 0a 09 43 41 4c 4c 09 53 45 4c 09 3b 0d 0a 09 4c 58 49 09 48 2c 33 36 30 09 3b 0d   ┆VE):   CALL SEL ;   LXI H,360 ; ┆
0x06e840…06e860             0a 09 53 48 4c 44 09 53 45 43 43 4e 54 09 3b 20 53 45 43 54 4f 52 43 4f 55 4e 54 3a 3d 20 33 36   ┆  SHLD SECCNT ; SECTORCOUNT:= 36┆
0x06e860…06e880             30 3b 0d 0a 09 4c 58 49 09 44 2c 42 55 46 09 3b 0d 0a 09 50 55 53 48 09 44 09 3b 0d 0a 09 43 41   ┆0;   LXI D,BUF ;   PUSH D ;   CA┆
0x06e880…06e8a0             4c 4c 09 44 4d 41 09 3b 20 44 4d 41 20 41 44 44 52 3a 3d 20 53 54 41 52 54 20 4f 46 20 42 55 46   ┆LL DMA ; DMA ADDR:= START OF BUF┆
0x06e8a0…06e8c0             46 45 52 3b 0d 0a 09 4c 44 41 09 43 55 52 54 52 4b 09 3b 0d 0a 09 4d 4f 56 09 43 2c 41 09 3b 0d   ┆FER;   LDA CURTRK ;   MOV C,A ; ┆
0x06e8c0…06e8e0             0a 09 43 41 4c 4c 09 54 52 4b 09 3b 20 53 45 54 20 54 52 41 43 4b 28 54 52 4b 3a 3d 43 55 52 20   ┆  CALL TRK ; SET TRACK(TRK:=CUR ┆
0x06e8e0…06e900             54 52 4b 29 3b 0d 0a 09 4c 44 41 09 43 55 52 53 45 43 09 3b 0d 0a 09 4d 4f 56 09 43 2c 41 09 3b   ┆TRK);   LDA CURSEC ;   MOV C,A ;┆
0x06e900…06e920             0d 0a 09 4c 44 41 09 43 55 52 54 52 4b 09 3b 0d 0a 09 4d 4f 56 09 42 2c 41 09 3b 0d 0a 09 50 55   ┆   LDA CURTRK ;   MOV B,A ;   PU┆
0x06e920…06e940             53 48 09 42 09 3b 0d 0a 09 43 41 4c 4c 09 53 45 43 09 3b 20 53 45 54 20 53 45 43 54 4f 52 28 53   ┆SH B ;   CALL SEC ; SET SECTOR(S┆
0x06e940…06e960             45 43 3a 3d 43 55 52 20 53 45 43 29 3b 0d 0a 52 45 41 44 53 3a 09 43 41 4c 4c 09 44 52 45 41 44   ┆EC:=CUR SEC);  READS: CALL DREAD┆
0x06e960…06e980             09 3b 20 52 45 41 44 20 53 45 43 54 4f 52 3b 0d 0a 09 4c 58 49 09 44 2c 42 41 44 53 09 3b 0d 0a   ┆ ; READ SECTOR;   LXI D,BADS ;  ┆
0x06e980…06e9a0             09 4f 52 41 09 41 09 3b 20 49 46 20 45 52 52 4f 52 53 20 54 48 45 4e 20 50 52 49 4e 54 20 57 41   ┆ ORA A ; IF ERRORS THEN PRINT WA┆
0x06e9a0…06e9c0             52 4e 49 4e 47 3b 0d 0a 09 43 4e 5a 09 45 52 52 4f 52 09 3b 0d 0a 09 50 4f 50 09 42 09 3b 0d 0a   ┆RNING;   CNZ ERROR ;   POP B ;  ┆
0x06e9c0…06e9e0             09 49 4e 52 09 43 09 3b 20 53 45 43 3a 3d 20 53 45 43 20 2b 20 31 3b 0d 0a 09 4c 44 41 09 53 50   ┆ INR C ; SEC:= SEC + 1;   LDA SP┆
0x06e9e0…06ea00             54 09 3b 0d 0a 09 43 4d 50 09 43 09 3b 20 49 46 20 53 45 43 3d 53 50 54 20 54 48 45 4e 0d 0a 09   ┆T ;   CMP C ; IF SEC=SPT THEN   ┆
0x06ea00…06ea20 (29, 1, 1)  44 3a 09 4c 44 41 09 53 44 52 49 56 09 3b 20 53 45 4c 45 43 54 28 53 4f 55 52 43 45 20 44 52 49   ┆D: LDA SDRIV ; SELECT(SOURCE DRI┆
0x06ea20…06ea40             56 45 29 3a 0d 0a 09 43 41 4c 4c 09 53 45 4c 09 3b 0d 0a 09 4c 58 49 09 48 2c 33 36 30 09 3b 0d   ┆VE):   CALL SEL ;   LXI H,360 ; ┆
0x06ea40…06ea60             0a 09 53 48 4c 44 09 53 45 43 43 4e 54 09 3b 20 53 45 43 54 4f 52 43 4f 55 4e 54 3a 3d 20 33 36   ┆  SHLD SECCNT ; SECTORCOUNT:= 36┆
0x06ea60…06ea80             30 3b 0d 0a 09 4c 58 49 09 44 2c 42 55 46 09 3b 0d 0a 09 50 55 53 48 09 44 09 3b 0d 0a 09 43 41   ┆0;   LXI D,BUF ;   PUSH D ;   CA┆
0x06ea80…06eaa0             4c 4c 09 44 4d 41 09 3b 20 44 4d 41 20 41 44 44 52 3a 3d 20 53 54 41 52 54 20 4f 46 20 42 55 46   ┆LL DMA ; DMA ADDR:= START OF BUF┆
0x06eaa0…06eac0             46 45 52 3b 0d 0a 09 4c 44 41 09 43 55 52 54 52 4b 09 3b 0d 0a 09 4d 4f 56 09 43 2c 41 09 3b 0d   ┆FER;   LDA CURTRK ;   MOV C,A ; ┆
0x06eac0…06eae0             0a 09 43 41 4c 4c 09 54 52 4b 09 3b 20 53 45 54 20 54 52 41 43 4b 28 54 52 4b 3a 3d 43 55 52 20   ┆  CALL TRK ; SET TRACK(TRK:=CUR ┆
0x06eae0…06eb00             54 52 4b 29 3b 0d 0a 09 4c 44 41 09 43 55 52 53 45 43 09 3b 0d 0a 09 4d 4f 56 09 43 2c 41 09 3b   ┆TRK);   LDA CURSEC ;   MOV C,A ;┆
0x06eb00…06eb20             0d 0a 09 4c 44 41 09 43 55 52 54 52 4b 09 3b 0d 0a 09 4d 4f 56 09 42 2c 41 09 3b 0d 0a 09 50 55   ┆   LDA CURTRK ;   MOV B,A ;   PU┆
0x06eb20…06eb40             53 48 09 42 09 3b 0d 0a 09 43 41 4c 4c 09 53 45 43 09 3b 20 53 45 54 20 53 45 43 54 4f 52 28 53   ┆SH B ;   CALL SEC ; SET SECTOR(S┆
0x06eb40…06eb60             45 43 3a 3d 43 55 52 20 53 45 43 29 3b 0d 0a 52 45 41 44 53 3a 09 43 41 4c 4c 09 44 52 45 41 44   ┆EC:=CUR SEC);  READS: CALL DREAD┆
0x06eb60…06eb80             09 3b 20 52 45 41 44 20 53 45 43 54 4f 52 3b 0d 0a 09 4c 58 49 09 44 2c 42 41 44 53 09 3b 0d 0a   ┆ ; READ SECTOR;   LXI D,BADS ;  ┆
0x06eb80…06eba0             09 4f 52 41 09 41 09 3b 20 49 46 20 45 52 52 4f 52 53 20 54 48 45 4e 20 50 52 49 4e 54 20 57 41   ┆ ORA A ; IF ERRORS THEN PRINT WA┆
0x06eba0…06ebc0             52 4e 49 4e 47 3b 0d 0a 09 43 4e 5a 09 45 52 52 4f 52 09 3b 0d 0a 09 50 4f 50 09 42 09 3b 0d 0a   ┆RNING;   CNZ ERROR ;   POP B ;  ┆
0x06ebc0…06ebe0             09 49 4e 52 09 43 09 3b 20 53 45 43 3a 3d 20 53 45 43 20 2b 20 31 3b 0d 0a 09 4c 44 41 09 53 50   ┆ INR C ; SEC:= SEC + 1;   LDA SP┆
0x06ebe0…06ec00             54 09 3b 0d 0a 09 43 4d 50 09 43 09 3b 20 49 46 20 53 45 43 3d 53 50 54 20 54 48 45 4e 0d 0a 09   ┆T ;   CMP C ; IF SEC=SPT THEN   ┆
0x06ec00…06ec20 (29, 1, 2)  09 3b 0d 0a 09 44 43 58 09 48 09 3b 20 53 45 43 54 4f 52 43 4f 55 4e 54 3a 3d 53 45 43 54 4f 52   ┆ ;   DCX H ; SECTORCOUNT:=SECTOR┆
0x06ec20…06ec40             43 4f 55 4e 54 2d 31 3b 0d 0a 09 53 48 4c 44 09 53 45 43 43 4e 54 09 3b 0d 0a 09 50 4f 50 09 42   ┆COUNT-1;   SHLD SECCNT ;   POP B┆
0x06ec40…06ec60             09 3b 20 49 46 20 53 45 43 54 4f 52 43 4f 55 4e 54 3d 30 20 54 48 45 4e 0d 0a 09 4d 4f 56 09 41   ┆ ; IF SECTORCOUNT=0 THEN   MOV A┆
0x06ec60…06ec80             2c 48 09 3b 20 20 47 4f 54 4f 20 4e 45 58 54 20 52 45 41 44 3b 0d 0a 09 4f 52 41 09 41 09 3b 0d   ┆,H ;  GOTO NEXT READ;   ORA A ; ┆
0x06ec80…06eca0             0a 09 4a 4e 5a 09 44 44 4d 41 09 3b 0d 0a 09 4d 4f 56 09 41 2c 4c 09 3b 0d 0a 09 4f 52 41 09 41   ┆  JNZ DDMA ;   MOV A,L ;   ORA A┆
0x06eca0…06ecc0             09 3b 0d 0a 09 4a 5a 09 4e 44 41 54 09 3b 0d 0a 44 44 4d 41 3a 09 50 4f 50 09 44 09 3b 0d 0a 09   ┆ ;   JZ NDAT ;  DDMA: POP D ;   ┆
0x06ecc0…06ece0             4c 58 49 09 48 2c 31 32 38 09 3b 0d 0a 09 44 41 44 09 44 09 3b 0d 0a 09 58 43 48 47 09 09 3b 0d   ┆LXI H,128 ;   DAD D ;   XCHG  ; ┆
0x06ece0…06ed00             0a 09 50 55 53 48 09 44 09 3b 0d 0a 09 50 55 53 48 09 42 09 3b 20 44 4d 41 20 41 44 44 52 3a 3d   ┆  PUSH D ;   PUSH B ; DMA ADDR:=┆
0x06ed00…06ed20             20 44 4d 41 20 41 44 44 52 20 2b 20 31 32 38 3b 0d 0a 09 43 41 4c 4c 09 44 4d 41 09 3b 0d 0a 09   ┆ DMA ADDR + 128;   CALL DMA ;   ┆
0x06ed20…06ed40             4a 4d 50 09 57 52 49 54 45 44 09 3b 20 47 4f 54 4f 20 57 52 49 54 45 20 53 45 43 54 4f 52 3b 0d   ┆JMP WRITED ; GOTO WRITE SECTOR; ┆
0x06ed40…06ed60             0a 0d 0a 4e 44 41 54 3a 09 4d 4f 56 09 41 2c 42 09 3b 20 4e 45 58 54 20 52 45 41 44 3a 0d 0a 09   ┆   NDAT: MOV A,B ; NEXT READ:   ┆
0x06ed60…06ed80             53 54 41 09 43 55 52 54 52 4b 09 3b 0d 0a 09 4d 4f 56 09 41 2c 43 09 3b 20 43 55 52 54 52 4b 3a   ┆STA CURTRK ;   MOV A,C ; CURTRK:┆
0x06ed80…06eda0             3d 54 52 4b 3b 0d 0a 09 53 54 41 09 43 55 52 53 45 43 09 3b 20 43 55 52 53 45 43 3a 3d 53 45 43   ┆=TRK;   STA CURSEC ; CURSEC:=SEC┆
0x06eda0…06edc0             3b 0d 0a 09 50 4f 50 09 44 09 3b 0d 0a 09 43 41 4c 4c 09 46 4c 55 53 48 09 3b 20 46 4c 55 53 48   ┆;   POP D ;   CALL FLUSH ; FLUSH┆
0x06edc0…06ede0             20 42 55 46 46 45 52 3b 0d 0a 09 4a 4d 50 09 52 44 41 54 09 3b 20 47 4f 54 4f 20 52 45 41 44 20   ┆ BUFFER;   JMP RDAT ; GOTO READ ┆
0x06ede0…06ee00             44 41 54 41 3b 0d 0a 0d 0a 45 44 41 54 3a 09 43 41 4c 4c 09 46 4c 55 53 48 09 3b 20 45 4e 44 20   ┆DATA;    EDAT: CALL FLUSH ; END ┆
0x06ee00…06ee20 (29, 1, 3)  09 3b 0d 0a 09 44 43 58 09 48 09 3b 20 53 45 43 54 4f 52 43 4f 55 4e 54 3a 3d 53 45 43 54 4f 52   ┆ ;   DCX H ; SECTORCOUNT:=SECTOR┆
0x06ee20…06ee40             43 4f 55 4e 54 2d 31 3b 0d 0a 09 53 48 4c 44 09 53 45 43 43 4e 54 09 3b 0d 0a 09 50 4f 50 09 42   ┆COUNT-1;   SHLD SECCNT ;   POP B┆
0x06ee40…06ee60             09 3b 20 49 46 20 53 45 43 54 4f 52 43 4f 55 4e 54 3d 30 20 54 48 45 4e 0d 0a 09 4d 4f 56 09 41   ┆ ; IF SECTORCOUNT=0 THEN   MOV A┆
0x06ee60…06ee80             2c 48 09 3b 20 20 47 4f 54 4f 20 4e 45 58 54 20 52 45 41 44 3b 0d 0a 09 4f 52 41 09 41 09 3b 0d   ┆,H ;  GOTO NEXT READ;   ORA A ; ┆
0x06ee80…06eea0             0a 09 4a 4e 5a 09 44 44 4d 41 09 3b 0d 0a 09 4d 4f 56 09 41 2c 4c 09 3b 0d 0a 09 4f 52 41 09 41   ┆  JNZ DDMA ;   MOV A,L ;   ORA A┆
0x06eea0…06eec0             09 3b 0d 0a 09 4a 5a 09 4e 44 41 54 09 3b 0d 0a 44 44 4d 41 3a 09 50 4f 50 09 44 09 3b 0d 0a 09   ┆ ;   JZ NDAT ;  DDMA: POP D ;   ┆
0x06eec0…06eee0             4c 58 49 09 48 2c 31 32 38 09 3b 0d 0a 09 44 41 44 09 44 09 3b 0d 0a 09 58 43 48 47 09 09 3b 0d   ┆LXI H,128 ;   DAD D ;   XCHG  ; ┆
0x06eee0…06ef00             0a 09 50 55 53 48 09 44 09 3b 0d 0a 09 50 55 53 48 09 42 09 3b 20 44 4d 41 20 41 44 44 52 3a 3d   ┆  PUSH D ;   PUSH B ; DMA ADDR:=┆
0x06ef00…06ef20             20 44 4d 41 20 41 44 44 52 20 2b 20 31 32 38 3b 0d 0a 09 43 41 4c 4c 09 44 4d 41 09 3b 0d 0a 09   ┆ DMA ADDR + 128;   CALL DMA ;   ┆
0x06ef20…06ef40             4a 4d 50 09 57 52 49 54 45 44 09 3b 20 47 4f 54 4f 20 57 52 49 54 45 20 53 45 43 54 4f 52 3b 0d   ┆JMP WRITED ; GOTO WRITE SECTOR; ┆
0x06ef40…06ef60             0a 0d 0a 4e 44 41 54 3a 09 4d 4f 56 09 41 2c 42 09 3b 20 4e 45 58 54 20 52 45 41 44 3a 0d 0a 09   ┆   NDAT: MOV A,B ; NEXT READ:   ┆
0x06ef60…06ef80             53 54 41 09 43 55 52 54 52 4b 09 3b 0d 0a 09 4d 4f 56 09 41 2c 43 09 3b 20 43 55 52 54 52 4b 3a   ┆STA CURTRK ;   MOV A,C ; CURTRK:┆
0x06ef80…06efa0             3d 54 52 4b 3b 0d 0a 09 53 54 41 09 43 55 52 53 45 43 09 3b 20 43 55 52 53 45 43 3a 3d 53 45 43   ┆=TRK;   STA CURSEC ; CURSEC:=SEC┆
0x06efa0…06efc0             3b 0d 0a 09 50 4f 50 09 44 09 3b 0d 0a 09 43 41 4c 4c 09 46 4c 55 53 48 09 3b 20 46 4c 55 53 48   ┆;   POP D ;   CALL FLUSH ; FLUSH┆
0x06efc0…06efe0             20 42 55 46 46 45 52 3b 0d 0a 09 4a 4d 50 09 52 44 41 54 09 3b 20 47 4f 54 4f 20 52 45 41 44 20   ┆ BUFFER;   JMP RDAT ; GOTO READ ┆
0x06efe0…06f000             44 41 54 41 3b 0d 0a 0d 0a 45 44 41 54 3a 09 43 41 4c 4c 09 46 4c 55 53 48 09 3b 20 45 4e 44 20   ┆DATA;    EDAT: CALL FLUSH ; END ┆
0x06f000…06f020 (29, 1, 4)  3e 27 2c 33 36 0d 0a 42 41 44 53 3a 09 44 42 09 31 33 2c 31 30 2c 27 42 41 44 20 53 45 43 54 4f   ┆>',36  BADS: DB 13,10,'BAD SECTO┆
0x06f020…06f040             52 20 4f 4e 20 53 4f 55 52 43 45 20 44 49 53 4b 27 2c 33 36 0d 0a 42 41 44 44 3a 09 44 42 09 31   ┆R ON SOURCE DISK',36  BADD: DB 1┆
0x06f040…06f060             33 2c 31 30 2c 27 42 41 44 20 53 45 43 54 4f 52 20 4f 4e 20 44 45 53 54 49 4e 41 54 49 4f 4e 20   ┆3,10,'BAD SECTOR ON DESTINATION ┆
0x06f060…06f080             44 49 53 4b 27 2c 33 36 0d 0a 4d 53 59 53 44 3a 09 44 42 09 31 33 2c 31 30 2c 27 49 4e 53 45 52   ┆DISK',36  MSYSD: DB 13,10,'INSER┆
0x06f080…06f0a0             54 20 53 59 53 54 45 4d 20 44 49 53 4b 20 41 4e 44 20 54 59 50 45 20 3c 52 45 54 55 52 4e 3e 27   ┆T SYSTEM DISK AND TYPE <RETURN>'┆
0x06f0a0…06f0c0             2c 33 36 0d 0a 4f 4b 3a 09 44 42 09 31 33 2c 31 30 2c 27 42 41 43 4b 55 50 20 43 4f 4d 50 4c 45   ┆,36  OK: DB 13,10,'BACKUP COMPLE┆
0x06f0c0…06f0e0             54 45 27 2c 33 36 0d 0a 43 52 4c 46 3a 09 44 42 09 31 33 2c 31 30 2c 33 36 0d 0a 0d 0a 43 43 50   ┆TE',36  CRLF: DB 13,10,36    CCP┆
0x06f0e0…06f100             52 45 54 3a 09 44 57 09 30 0d 0a 0d 0a 46 54 52 4b 3a 09 44 42 09 30 0d 0a 4c 54 52 4b 3a 09 44   ┆RET: DW 0    FTRK: DB 0  LTRK: D┆
0x06f100…06f120             42 09 30 0d 0a 53 50 54 3a 09 44 42 09 30 0d 0a 53 44 52 49 56 3a 09 44 42 09 30 0d 0a 44 44 52   ┆B 0  SPT: DB 0  SDRIV: DB 0  DDR┆
0x06f120…06f140             49 56 3a 09 44 42 09 30 0d 0a 44 46 4c 41 47 3a 09 44 42 09 30 0d 0a 0d 0a 43 55 52 54 52 4b 3a   ┆IV: DB 0  DFLAG: DB 0    CURTRK:┆
0x06f140…06f160             09 44 42 09 30 0d 0a 43 55 52 53 45 43 3a 09 44 42 09 30 0d 0a 53 45 43 43 4e 54 3a 09 44 57 09   ┆ DB 0  CURSEC: DB 0  SECCNT: DW ┆
0x06f160…06f180             30 0d 0a 0d 0a 09 44 53 09 33 31 0d 0a 53 54 41 43 4b 3a 09 44 53 09 31 09 3b 20 4c 4f 43 41 4c   ┆0     DS 31  STACK: DS 1 ; LOCAL┆
0x06f180…06f1a0             20 53 54 41 43 4b 0d 0a 0d 0a 42 55 46 3a 09 44 57 09 30 09 3b 20 52 45 41 44 2f 57 52 49 54 45   ┆ STACK    BUF: DW 0 ; READ/WRITE┆
0x06f1a0…06f1c0             20 42 55 46 46 45 52 0d 0a 0d 0a 09 45 4e 44 09 31 30 30 48 09 3b 0d 0a 1a 1a 1a 1a 1a 1a 1a 1a   ┆ BUFFER     END 100H ;          ┆
0x06f1c0…06f1e0             1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a   ┆                                ┆
          […0x1…]
0x06f200…06f220 (29, 1, 5)  4a 4e 5a 09 4e 45 58 54 53 09 3b 20 42 45 47 49 4e 0d 0a 09 4c 44 41 09 4c 54 52 4b 09 3b 0d 0a   ┆JNZ NEXTS ; BEGIN   LDA LTRK ;  ┆
0x06f220…06f240             09 43 4d 50 09 42 09 3b 20 20 20 20 49 46 20 54 52 4b 3d 4c 41 53 54 20 54 48 45 4e 20 47 4f 54   ┆ CMP B ;    IF TRK=LAST THEN GOT┆
0x06f240…06f260             4f 20 57 52 49 54 45 3b 0d 0a 09 4a 5a 09 57 44 41 54 09 3b 0d 0a 09 49 4e 52 09 42 09 3b 20 20   ┆O WRITE;   JZ WDAT ;   INR B ;  ┆
0x06f260…06f280             20 20 54 52 4b 3a 3d 54 52 4b 2b 31 3b 0d 0a 09 4d 56 49 09 43 2c 30 09 3b 20 20 20 20 53 45 43   ┆  TRK:=TRK+1;   MVI C,0 ;    SEC┆
0x06f280…06f2a0             3a 3d 30 3b 0d 0a 09 50 55 53 48 09 42 09 3b 0d 0a 09 4d 4f 56 09 43 2c 42 09 3b 0d 0a 09 43 41   ┆:=0;   PUSH B ;   MOV C,B ;   CA┆
0x06f2a0…06f2c0             4c 4c 09 54 52 4b 09 3b 20 20 20 20 53 45 54 20 54 52 41 43 4b 28 54 52 4b 29 3b 0d 0a 09 50 4f   ┆LL TRK ;    SET TRACK(TRK);   PO┆
0x06f2c0…06f2e0             50 09 42 09 3b 20 45 4e 44 3b 0d 0a 4e 45 58 54 53 3a 20 20 50 55 53 48 09 42 09 3b 0d 0a 09 43   ┆P B ; END;  NEXTS:  PUSH B ;   C┆
0x06f2e0…06f300             41 4c 4c 09 53 45 43 09 3b 20 53 45 54 20 53 45 43 54 4f 52 28 53 45 43 29 3b 0d 0a 09 4c 48 4c   ┆ALL SEC ; SET SECTOR(SEC);   LHL┆
0x06f300…06f320             44 09 53 45 43 43 4e 54 09 3b 0d 0a 09 44 43 58 09 48 09 3b 20 53 45 43 54 4f 52 43 4f 55 4e 54   ┆D SECCNT ;   DCX H ; SECTORCOUNT┆
0x06f320…06f340             3a 3d 53 45 43 54 4f 52 43 4f 55 4e 54 2d 31 3b 0d 0a 09 53 48 4c 44 09 53 45 43 43 4e 54 09 3b   ┆:=SECTORCOUNT-1;   SHLD SECCNT ;┆
0x06f340…06f360             0d 0a 09 50 4f 50 09 42 09 3b 0d 0a 09 4d 4f 56 09 41 2c 48 09 3b 20 49 46 20 53 45 43 54 4f 52   ┆   POP B ;   MOV A,H ; IF SECTOR┆
0x06f360…06f380             43 4f 55 4e 54 3d 30 20 54 48 45 4e 20 47 4f 54 4f 20 57 52 49 54 45 3b 0d 0a 09 4f 52 41 09 41   ┆COUNT=0 THEN GOTO WRITE;   ORA A┆
0x06f380…06f3a0             09 3b 0d 0a 09 4a 4e 5a 09 53 44 4d 41 09 3b 0d 0a 09 4d 4f 56 09 41 2c 4c 09 3b 0d 0a 09 4f 52   ┆ ;   JNZ SDMA ;   MOV A,L ;   OR┆
0x06f3a0…06f3c0             41 09 41 09 3b 0d 0a 09 4a 5a 09 57 44 41 54 09 3b 0d 0a 53 44 4d 41 3a 09 50 4f 50 09 44 09 3b   ┆A A ;   JZ WDAT ;  SDMA: POP D ;┆
0x06f3c0…06f3e0             0d 0a 09 4c 58 49 09 48 2c 31 32 38 09 3b 20 44 4d 41 20 41 44 44 52 3a 3d 20 44 4d 41 20 41 44   ┆   LXI H,128 ; DMA ADDR:= DMA AD┆
0x06f3e0…06f400             44 52 20 2b 20 31 32 38 3b 0d 0a 09 44 41 44 09 44 09 3b 0d 0a 09 58 43 48 47 09 09 3b 0d 0a 09   ┆DR + 128;   DAD D ;   XCHG  ;   ┆
0x06f400…06f420 (29, 1, 6)  4f 46 20 43 4f 50 59 3a 0d 0a 09 4c 58 49 09 44 2c 4f 4b 09 3b 0d 0a 09 43 41 4c 4c 09 50 52 49   ┆OF COPY:   LXI D,OK ;   CALL PRI┆
0x06f420…06f440             4e 54 09 3b 20 43 4f 50 59 20 43 4f 4d 50 4c 45 54 45 3b 0d 0a 09 4c 58 49 09 44 2c 4d 53 59 53   ┆NT ; COPY COMPLETE;   LXI D,MSYS┆
0x06f440…06f460             44 09 3b 0d 0a 09 43 41 4c 4c 09 50 52 49 4e 54 09 3b 20 57 41 49 54 20 46 4f 52 20 43 48 41 4e   ┆D ;   CALL PRINT ; WAIT FOR CHAN┆
0x06f460…06f480             47 45 20 54 4f 20 53 59 53 54 45 4d 20 44 49 53 4b 3a 0d 0a 09 43 41 4c 4c 09 43 4f 4e 53 49 09   ┆GE TO SYSTEM DISK:   CALL CONSI ┆
0x06f480…06f4a0             3b 0d 0a 09 4a 4d 50 09 42 4f 4f 54 09 3b 20 57 41 52 4d 20 42 4f 4f 54 0d 0a 0d 0a 46 4c 55 53   ┆;   JMP BOOT ; WARM BOOT    FLUS┆
0x06f4a0…06f4c0             48 3a 09 4c 44 41 09 43 55 52 54 52 4b 09 3b 20 46 4f 52 43 45 20 42 55 46 46 45 52 20 57 52 49   ┆H: LDA CURTRK ; FORCE BUFFER WRI┆
0x06f4c0…06f4e0             54 45 3a 0d 0a 09 4d 4f 56 09 43 2c 41 09 3b 0d 0a 09 44 43 52 09 43 09 3b 0d 0a 09 43 41 4c 4c   ┆TE:   MOV C,A ;   DCR C ;   CALL┆
0x06f4e0…06f500             09 54 52 4b 09 3b 20 53 45 54 20 54 52 41 43 4b 28 43 55 52 54 52 4b 2d 31 29 3b 0d 0a 09 4c 44   ┆ TRK ; SET TRACK(CURTRK-1);   LD┆
0x06f500…06f520             41 09 43 55 52 53 45 43 09 3b 0d 0a 09 4d 4f 56 09 43 2c 41 09 3b 0d 0a 09 43 41 4c 4c 09 53 45   ┆A CURSEC ;   MOV C,A ;   CALL SE┆
0x06f520…06f540             43 09 3b 20 53 45 54 20 53 45 43 54 4f 52 28 43 55 52 53 45 43 29 3b 0d 0a 09 43 41 4c 4c 09 44   ┆C ; SET SECTOR(CURSEC);   CALL D┆
0x06f540…06f560             52 45 41 44 09 3b 0d 0a 09 4c 58 49 09 44 2c 42 41 44 44 09 3b 0d 0a 09 4f 52 41 09 41 09 3b 20   ┆READ ;   LXI D,BADD ;   ORA A ; ┆
0x06f560…06f580             49 46 20 45 52 52 4f 52 20 54 48 45 4e 20 50 52 49 4e 54 20 57 41 52 4e 49 4e 47 3b 0d 0a 09 43   ┆IF ERROR THEN PRINT WARNING;   C┆
0x06f580…06f5a0             4e 5a 09 45 52 52 4f 52 09 3b 0d 0a 09 52 45 54 09 09 3b 0d 0a 0d 0a 53 45 4c 3a 09 4d 4f 56 09   ┆NZ ERROR ;   RET  ;    SEL: MOV ┆
0x06f5a0…06f5c0             43 2c 41 09 3b 20 53 45 4c 45 43 54 20 44 52 49 56 45 20 49 4e 20 41 3a 0d 0a 09 4c 48 4c 44 09   ┆C,A ; SELECT DRIVE IN A:   LHLD ┆
0x06f5c0…06f5e0             57 42 4f 4f 54 09 3b 0d 0a 09 4c 58 49 09 44 2c 53 45 4c 44 53 4b 3b 0d 0a 09 44 41 44 09 44 09   ┆WBOOT ;   LXI D,SELDSK;   DAD D ┆
0x06f5e0…06f600             3b 0d 0a 09 50 43 48 4c 09 09 3b 0d 0a 0d 0a 54 52 4b 3a 09 4c 48 4c 44 09 57 42 4f 4f 54 09 3b   ┆;   PCHL  ;    TRK: LHLD WBOOT ;┆
0x06f600…06f620 (29, 1, 7)  4f 46 20 43 4f 50 59 3a 0d 0a 09 4c 58 49 09 44 2c 4f 4b 09 3b 0d 0a 09 43 41 4c 4c 09 50 52 49   ┆OF COPY:   LXI D,OK ;   CALL PRI┆
0x06f620…06f640             4e 54 09 3b 20 43 4f 50 59 20 43 4f 4d 50 4c 45 54 45 3b 0d 0a 09 4c 58 49 09 44 2c 4d 53 59 53   ┆NT ; COPY COMPLETE;   LXI D,MSYS┆
0x06f640…06f660             44 09 3b 0d 0a 09 43 41 4c 4c 09 50 52 49 4e 54 09 3b 20 57 41 49 54 20 46 4f 52 20 43 48 41 4e   ┆D ;   CALL PRINT ; WAIT FOR CHAN┆
0x06f660…06f680             47 45 20 54 4f 20 53 59 53 54 45 4d 20 44 49 53 4b 3a 0d 0a 09 43 41 4c 4c 09 43 4f 4e 53 49 09   ┆GE TO SYSTEM DISK:   CALL CONSI ┆
0x06f680…06f6a0             3b 0d 0a 09 4a 4d 50 09 42 4f 4f 54 09 3b 20 57 41 52 4d 20 42 4f 4f 54 0d 0a 0d 0a 46 4c 55 53   ┆;   JMP BOOT ; WARM BOOT    FLUS┆
0x06f6a0…06f6c0             48 3a 09 4c 44 41 09 43 55 52 54 52 4b 09 3b 20 46 4f 52 43 45 20 42 55 46 46 45 52 20 57 52 49   ┆H: LDA CURTRK ; FORCE BUFFER WRI┆
0x06f6c0…06f6e0             54 45 3a 0d 0a 09 4d 4f 56 09 43 2c 41 09 3b 0d 0a 09 44 43 52 09 43 09 3b 0d 0a 09 43 41 4c 4c   ┆TE:   MOV C,A ;   DCR C ;   CALL┆
0x06f6e0…06f700             09 54 52 4b 09 3b 20 53 45 54 20 54 52 41 43 4b 28 43 55 52 54 52 4b 2d 31 29 3b 0d 0a 09 4c 44   ┆ TRK ; SET TRACK(CURTRK-1);   LD┆
0x06f700…06f720             41 09 43 55 52 53 45 43 09 3b 0d 0a 09 4d 4f 56 09 43 2c 41 09 3b 0d 0a 09 43 41 4c 4c 09 53 45   ┆A CURSEC ;   MOV C,A ;   CALL SE┆
0x06f720…06f740             43 09 3b 20 53 45 54 20 53 45 43 54 4f 52 28 43 55 52 53 45 43 29 3b 0d 0a 09 43 41 4c 4c 09 44   ┆C ; SET SECTOR(CURSEC);   CALL D┆
0x06f740…06f760             52 45 41 44 09 3b 0d 0a 09 4c 58 49 09 44 2c 42 41 44 44 09 3b 0d 0a 09 4f 52 41 09 41 09 3b 20   ┆READ ;   LXI D,BADD ;   ORA A ; ┆
0x06f760…06f780             49 46 20 45 52 52 4f 52 20 54 48 45 4e 20 50 52 49 4e 54 20 57 41 52 4e 49 4e 47 3b 0d 0a 09 43   ┆IF ERROR THEN PRINT WARNING;   C┆
0x06f780…06f7a0             4e 5a 09 45 52 52 4f 52 09 3b 0d 0a 09 52 45 54 09 09 3b 0d 0a 0d 0a 53 45 4c 3a 09 4d 4f 56 09   ┆NZ ERROR ;   RET  ;    SEL: MOV ┆
0x06f7a0…06f7c0             43 2c 41 09 3b 20 53 45 4c 45 43 54 20 44 52 49 56 45 20 49 4e 20 41 3a 0d 0a 09 4c 48 4c 44 09   ┆C,A ; SELECT DRIVE IN A:   LHLD ┆
0x06f7c0…06f7e0             57 42 4f 4f 54 09 3b 0d 0a 09 4c 58 49 09 44 2c 53 45 4c 44 53 4b 3b 0d 0a 09 44 41 44 09 44 09   ┆WBOOT ;   LXI D,SELDSK;   DAD D ┆
0x06f7e0…06f800             3b 0d 0a 09 50 43 48 4c 09 09 3b 0d 0a 0d 0a 54 52 4b 3a 09 4c 48 4c 44 09 57 42 4f 4f 54 09 3b   ┆;   PCHL  ;    TRK: LHLD WBOOT ;┆
0x06f800…06f820 (29, 1, 8)  c3 e1 2c 21 00 00 39 31 03 36 3e ff cd 30 2d ff 21 00 00 39 31 03 36 af cd 30 2d c3 00 00 3a 00   ┆  ,!  91 6>  0- !  91 6  0-   : ┆
0x06f820…06f840             38 b7 21 03 15 c4 70 33 cd a1 22 2a 03 36 f9 c9 32 05 36 21 00 00 39 22 03 36 cd 81 2d cd c8 2e   ┆8 !   p3  "* 6  2 6!  9" 6  -  .┆
0x06f840…06f860             3a 5d 00 fe 20 ca 4d 2d cd 5c 33 08 00 cd 39 25 cd 39 25 c3 a5 2f f5 cd 82 2f 3a 8f 36 fe 9c c2   ┆:Å    M- Ø3   9% 9%  /   /: 6   ┆
0x06f860…06f880             10 2d 3a 99 37 fe 9c c2 10 2d f1 2a 03 36 f9 f5 cd 7b 2d f1 b7 c4 81 26 c3 a5 2f cd 06 2e c3 c8   ┆ -: 7    - * 6   æ-    &  /  .  ┆
0x06f880…06f8a0             2e 3a 5d 03 c6 14 21 07 00 be da 9b 2d 21 5a 08 cd dc 1a eb cd f7 17 09 c3 1b 2d 21 34 02 7e b7   ┆.:Å   !     -!Z           -!4 ü ┆
0x06f8a0…06f8c0             c4 ff 37 01 09 01 21 90 36 cd 08 17 01 65 01 21 ff 37 cd 08 17 3a b0 02 32 20 37 cd 24 2e cd 54   ┆  7   ! 6    e ! 7   :  2 7 $. T┆
0x06f8c0…06f8e0             22 cd 9a 2e 21 02 00 cd 4f 21 21 53 01 cd e5 1a 21 17 01 cd e5 1a cd 90 1e 21 8f 01 cd fe 2d 23   ┆"  .!   O!!S    !        !    -#┆
0x06f8e0…06f900             cd fe 2d 23 cd fe 2d 23 cd fe 2d 3a 60 03 32 18 37 3a 63 03 32 2b 02 cd 76 19 32 1f 37 c9 cd b7   ┆  -#  -#  -:` 2 7:c 2+  v 2 7   ┆
0x06f900…06f920             1a 58 08 c3 e5 1a 01 65 01 21 ff 37 cd 08 17 3a b0 02 32 20 37 cd 24 2e cd 8f 22 cd 95 2e 3a 1f   ┆ X     e ! 7   :  2 7 $.  "  .: ┆
0x06f920…06f940             37 c3 7c 18 2a 06 00 11 fa ff 19 cd 4c 2e 22 79 39 3a 49 02 cd 46 17 2b 2b 22 77 39 22 7d 39 cd   ┆7 ø *       L."y9:I  F ++"w9"å9 ┆
0x06f940…06f960             a5 2e 22 7b 39 22 64 39 22 66 39 c9 e5 2a b1 02 3a 20 37 b7 c2 6d 2e 2a 48 02 4c 26 00 eb 62 6a   ┆ ."æ9"d9"f9  *  : 7  m.*H L&  bj┆
0x06f960…06f980             19 0d c2 60 2e eb e1 cd 2c 17 2b e5 23 22 68 39 22 72 39 e5 2a 48 02 2d cd 44 23 22 6e 39 eb 22   ┆   `.   , + #"h9"r9 *H - D#"n9 "┆
0x06f980…06f9a0             70 39 eb e3 e5 cd 2b 17 22 6c 39 d1 e1 cd 2c 17 22 6a 39 e1 c9 3a 20 37 b7 c0 2a 48 02 cd 90 1e   ┆p9    + "l9   , "j9  : 7  *H    ┆
0x06f9a0…06f9c0             2d c2 9d 2e c9 e5 7c d6 10 21 5d 03 96 fe 08 d2 b4 2e 3e 08 6f 26 00 29 29 29 29 3e 04 bc d2 c3   ┆-  .  ø  !Å      .> o& ))))>    ┆
0x06f9c0…06f9e0             2e 67 6f eb e1 c3 2c 17 cd 2c 33 cd f8 2e cd 1a 2f 3e 01 32 6b 38 3a 48 02 d6 01 32 6d 38 3d 32   ┆.go   ,  ,3  .  /> 2k8:H   2m8=2┆
0x06f9e0…06fa00             70 38 3d 32 6f 38 cd 42 2f 3a 80 39 c6 16 2a 91 39 bc 3e 19 d4 87 26 c9 01 0c 00 11 40 39 21 f2   ┆p8=2o8 B/: 9  * 9 >   &     @9! ┆
0x06fa00…06fa20 (29, 1, 9)  50 55 53 48 09 44 09 3b 0d 0a 09 50 55 53 48 09 42 09 3b 0d 0a 09 43 41 4c 4c 09 44 4d 41 09 3b   ┆PUSH D ;   PUSH B ;   CALL DMA ;┆
0x06fa20…06fa40             0d 0a 09 4a 4d 50 09 52 45 41 44 53 09 3b 20 47 4f 54 4f 20 52 45 41 44 20 53 45 43 54 4f 52 3b   ┆   JMP READS ; GOTO READ SECTOR;┆
0x06fa40…06fa60             0d 0a 57 44 41 54 3a 09 50 4f 50 09 44 09 3b 20 57 52 49 54 45 20 44 41 54 41 3a 0d 0a 09 4c 44   ┆  WDAT: POP D ; WRITE DATA:   LD┆
0x06fa60…06fa80             41 09 44 46 4c 41 47 09 3b 0d 0a 09 4f 52 41 09 41 09 3b 20 49 46 20 44 45 53 54 49 4e 41 54 49   ┆A DFLAG ;   ORA A ; IF DESTINATI┆
0x06fa80…06faa0             4f 4e 20 44 52 49 56 45 20 3d 20 53 4f 55 52 43 45 20 44 52 49 56 45 0d 0a 09 4a 4e 5a 09 53 45   ┆ON DRIVE = SOURCE DRIVE   JNZ SE┆
0x06faa0…06fac0             4c 44 45 09 3b 20 20 54 48 45 4e 20 57 41 49 54 20 46 4f 52 20 44 49 53 4b 20 43 48 41 4e 47 45   ┆LDE ;  THEN WAIT FOR DISK CHANGE┆
0x06fac0…06fae0             3b 0d 0a 09 4c 58 49 09 44 2c 4d 44 44 49 53 4b 3b 0d 0a 09 43 41 4c 4c 09 50 52 49 4e 54 09 3b   ┆;   LXI D,MDDISK;   CALL PRINT ;┆
0x06fae0…06fb00             0d 0a 09 43 41 4c 4c 09 43 4f 4e 53 49 09 3b 0d 0a 53 45 4c 44 45 3a 09 4c 44 41 09 44 44 52 49   ┆   CALL CONSI ;  SELDE: LDA DDRI┆
0x06fb00…06fb20             56 09 3b 0d 0a 09 43 41 4c 4c 09 53 45 4c 09 3b 20 53 45 4c 45 43 54 28 44 45 53 54 49 4e 41 54   ┆V ;   CALL SEL ; SELECT(DESTINAT┆
0x06fb20…06fb40             49 4f 4e 20 44 52 49 56 45 29 3b 0d 0a 09 4c 58 49 09 48 2c 33 36 30 09 3b 0d 0a 09 53 48 4c 44   ┆ION DRIVE);   LXI H,360 ;   SHLD┆
0x06fb40…06fb60             09 53 45 43 43 4e 54 09 3b 20 53 45 43 54 4f 52 43 4f 55 4e 54 3a 3d 20 33 36 30 3b 0d 0a 09 4c   ┆ SECCNT ; SECTORCOUNT:= 360;   L┆
0x06fb60…06fb80             58 49 09 44 2c 42 55 46 09 3b 0d 0a 09 50 55 53 48 09 44 09 3b 0d 0a 09 43 41 4c 4c 09 44 4d 41   ┆XI D,BUF ;   PUSH D ;   CALL DMA┆
0x06fb80…06fba0             09 3b 20 44 4d 41 20 41 44 44 52 3a 3d 20 53 54 41 52 54 20 4f 46 20 42 55 46 46 45 52 3b 0d 0a   ┆ ; DMA ADDR:= START OF BUFFER;  ┆
0x06fba0…06fbc0             09 4c 44 41 09 43 55 52 54 52 4b 09 3b 0d 0a 09 4d 4f 56 09 43 2c 41 09 3b 0d 0a 09 43 41 4c 4c   ┆ LDA CURTRK ;   MOV C,A ;   CALL┆
0x06fbc0…06fbe0             09 54 52 4b 09 3b 20 53 45 54 20 54 52 41 43 4b 28 54 52 4b 3a 3d 43 55 52 20 54 52 4b 29 3b 0d   ┆ TRK ; SET TRACK(TRK:=CUR TRK); ┆
0x06fbe0…06fc00             0a 09 4c 44 41 09 43 55 52 53 45 43 09 3b 0d 0a 09 4d 4f 56 09 43 2c 41 09 3b 0d 0a 09 4c 44 41   ┆  LDA CURSEC ;   MOV C,A ;   LDA┆
0x06fc00…06fc20 (29, 1, 10) 20 53 45 54 20 54 52 41 43 4b 20 49 4e 20 43 3a 0d 0a 09 4c 58 49 09 44 2c 53 45 54 54 52 4b 3b   ┆ SET TRACK IN C:   LXI D,SETTRK;┆
0x06fc20…06fc40             0d 0a 09 44 41 44 09 44 09 3b 0d 0a 09 4d 56 49 09 42 2c 30 09 3b 0d 0a 09 50 43 48 4c 09 09 3b   ┆   DAD D ;   MVI B,0 ;   PCHL  ;┆
0x06fc40…06fc60             0d 0a 0d 0a 53 45 43 3a 09 4c 48 4c 44 09 57 42 4f 4f 54 09 3b 20 53 45 54 20 53 45 43 54 4f 52   ┆    SEC: LHLD WBOOT ; SET SECTOR┆
0x06fc60…06fc80             20 49 4e 20 43 3a 0d 0a 09 4c 58 49 09 44 2c 53 45 54 53 45 43 3b 0d 0a 09 44 41 44 09 44 09 3b   ┆ IN C:   LXI D,SETSEC;   DAD D ;┆
0x06fc80…06fca0             0d 0a 09 4d 56 49 09 42 2c 30 09 3b 0d 0a 09 50 43 48 4c 09 09 3b 0d 0a 0d 0a 44 4d 41 3a 09 4c   ┆   MVI B,0 ;   PCHL  ;    DMA: L┆
0x06fca0…06fcc0             48 4c 44 09 57 42 4f 4f 54 09 3b 20 53 45 54 20 44 4d 41 20 41 44 44 52 45 53 53 20 49 4e 20 44   ┆HLD WBOOT ; SET DMA ADDRESS IN D┆
0x06fcc0…06fce0             2c 45 3a 0d 0a 09 4d 4f 56 09 42 2c 44 09 3b 0d 0a 09 4d 4f 56 09 43 2c 45 09 3b 0d 0a 09 4c 58   ┆,E:   MOV B,D ;   MOV C,E ;   LX┆
0x06fce0…06fd00             49 09 44 2c 53 45 54 44 4d 41 3b 0d 0a 09 44 41 44 09 44 09 3b 0d 0a 09 50 43 48 4c 09 09 3b 0d   ┆I D,SETDMA;   DAD D ;   PCHL  ; ┆
0x06fd00…06fd20             0a 0d 0a 44 52 45 41 44 3a 09 4c 48 4c 44 09 57 42 4f 4f 54 09 3b 20 52 45 41 44 20 53 45 43 54   ┆   DREAD: LHLD WBOOT ; READ SECT┆
0x06fd20…06fd40             4f 52 3a 0d 0a 09 4c 58 49 09 44 2c 52 45 41 44 46 09 3b 0d 0a 09 44 41 44 09 44 09 3b 0d 0a 09   ┆OR:   LXI D,READF ;   DAD D ;   ┆
0x06fd40…06fd60             50 43 48 4c 09 09 3b 0d 0a 0d 0a 44 57 52 49 54 45 3a 09 4c 48 4c 44 09 57 42 4f 4f 54 09 3b 20   ┆PCHL  ;    DWRITE: LHLD WBOOT ; ┆
0x06fd60…06fd80             57 52 49 54 45 20 53 45 43 54 4f 52 3a 0d 0a 09 4c 58 49 09 44 2c 57 52 49 54 45 46 3b 0d 0a 09   ┆WRITE SECTOR:   LXI D,WRITEF;   ┆
0x06fd80…06fda0             44 41 44 09 44 09 3b 0d 0a 09 4d 56 49 09 43 2c 32 09 3b 20 57 52 49 54 45 20 54 59 50 45 3a 3d   ┆DAD D ;   MVI C,2 ; WRITE TYPE:=┆
0x06fda0…06fdc0             20 55 4e 41 4c 4c 4f 43 41 54 45 44 3b 0d 0a 09 50 43 48 4c 09 09 3b 0d 0a 0d 0a 46 49 4e 49 53   ┆ UNALLOCATED;   PCHL  ;    FINIS┆
0x06fdc0…06fde0             3a 09 4d 56 49 09 43 2c 50 52 49 4e 54 46 3b 0d 0a 09 43 41 4c 4c 09 42 44 4f 53 09 3b 0d 0a 09   ┆: MVI C,PRINTF;   CALL BDOS ;   ┆
0x06fde0…06fe00             4c 48 4c 44 09 43 43 50 52 45 54 09 3b 0d 0a 09 50 43 48 4c 09 09 3b 20 52 45 54 55 52 4e 20 54   ┆LHLD CCPRET ;   PCHL  ; RETURN T┆
0x06fe00…06fe20 (29, 1, 11) 20 53 45 54 20 54 52 41 43 4b 20 49 4e 20 43 3a 0d 0a 09 4c 58 49 09 44 2c 53 45 54 54 52 4b 3b   ┆ SET TRACK IN C:   LXI D,SETTRK;┆
0x06fe20…06fe40             0d 0a 09 44 41 44 09 44 09 3b 0d 0a 09 4d 56 49 09 42 2c 30 09 3b 0d 0a 09 50 43 48 4c 09 09 3b   ┆   DAD D ;   MVI B,0 ;   PCHL  ;┆
0x06fe40…06fe60             0d 0a 0d 0a 53 45 43 3a 09 4c 48 4c 44 09 57 42 4f 4f 54 09 3b 20 53 45 54 20 53 45 43 54 4f 52   ┆    SEC: LHLD WBOOT ; SET SECTOR┆
0x06fe60…06fe80             20 49 4e 20 43 3a 0d 0a 09 4c 58 49 09 44 2c 53 45 54 53 45 43 3b 0d 0a 09 44 41 44 09 44 09 3b   ┆ IN C:   LXI D,SETSEC;   DAD D ;┆
0x06fe80…06fea0             0d 0a 09 4d 56 49 09 42 2c 30 09 3b 0d 0a 09 50 43 48 4c 09 09 3b 0d 0a 0d 0a 44 4d 41 3a 09 4c   ┆   MVI B,0 ;   PCHL  ;    DMA: L┆
0x06fea0…06fec0             48 4c 44 09 57 42 4f 4f 54 09 3b 20 53 45 54 20 44 4d 41 20 41 44 44 52 45 53 53 20 49 4e 20 44   ┆HLD WBOOT ; SET DMA ADDRESS IN D┆
0x06fec0…06fee0             2c 45 3a 0d 0a 09 4d 4f 56 09 42 2c 44 09 3b 0d 0a 09 4d 4f 56 09 43 2c 45 09 3b 0d 0a 09 4c 58   ┆,E:   MOV B,D ;   MOV C,E ;   LX┆
0x06fee0…06ff00             49 09 44 2c 53 45 54 44 4d 41 3b 0d 0a 09 44 41 44 09 44 09 3b 0d 0a 09 50 43 48 4c 09 09 3b 0d   ┆I D,SETDMA;   DAD D ;   PCHL  ; ┆
0x06ff00…06ff20             0a 0d 0a 44 52 45 41 44 3a 09 4c 48 4c 44 09 57 42 4f 4f 54 09 3b 20 52 45 41 44 20 53 45 43 54   ┆   DREAD: LHLD WBOOT ; READ SECT┆
0x06ff20…06ff40             4f 52 3a 0d 0a 09 4c 58 49 09 44 2c 52 45 41 44 46 09 3b 0d 0a 09 44 41 44 09 44 09 3b 0d 0a 09   ┆OR:   LXI D,READF ;   DAD D ;   ┆
0x06ff40…06ff60             50 43 48 4c 09 09 3b 0d 0a 0d 0a 44 57 52 49 54 45 3a 09 4c 48 4c 44 09 57 42 4f 4f 54 09 3b 20   ┆PCHL  ;    DWRITE: LHLD WBOOT ; ┆
0x06ff60…06ff80             57 52 49 54 45 20 53 45 43 54 4f 52 3a 0d 0a 09 4c 58 49 09 44 2c 57 52 49 54 45 46 3b 0d 0a 09   ┆WRITE SECTOR:   LXI D,WRITEF;   ┆
0x06ff80…06ffa0             44 41 44 09 44 09 3b 0d 0a 09 50 43 48 4c 09 09 3b 0d 0a 0d 0a 46 49 4e 49 53 3a 09 4d 56 49 09   ┆DAD D ;   PCHL  ;    FINIS: MVI ┆
0x06ffa0…06ffc0             43 2c 50 52 49 4e 54 46 3b 0d 0a 09 43 41 4c 4c 09 42 44 4f 53 09 3b 0d 0a 09 4c 48 4c 44 09 43   ┆C,PRINTF;   CALL BDOS ;   LHLD C┆
0x06ffc0…06ffe0             43 50 52 45 54 09 3b 0d 0a 09 50 43 48 4c 09 09 3b 20 52 45 54 55 52 4e 20 54 4f 20 43 43 50 3b   ┆CPRET ;   PCHL  ; RETURN TO CCP;┆
0x06ffe0…070000             0d 0a 0d 0a 50 52 49 4e 54 3a 09 4d 56 49 09 43 2c 50 52 49 4e 54 46 3b 0d 0a 09 4a 4d 50 09 42   ┆    PRINT: MVI C,PRINTF;   JMP B┆
0x070000…070020 (29, 1, 12) 03 cd c2 16 21 18 37 7e b7 ca 1a 2f cd f9 1a c2 1a 2f 36 00 21 5c 08 22 07 38 2a 5c 03 22 7f 39   ┆    ! 7ü   /     /6 !Ø " 8*Ø " 9┆
0x070020…070040             22 81 39 22 83 39 2a 83 39 22 85 39 22 87 39 22 89 39 22 8b 39 22 8d 39 22 8f 39 2a 66 39 22 91   ┆" 9" 9* 9" 9" 9" 9" 9" 9" 9*f9" ┆
0x070040…070060             39 c9 3a 48 02 fe 10 da 6b 2f fe 79 d2 6b 2f fe 36 d4 64 2f 3a 49 02 fe 40 da 6b 2f fe fb d4 6b   ┆9 :H    k/ y k/ 6 d/:I  @ k/   k┆
0x070060…070080             2f fe 7e d8 21 33 3a 22 07 38 c9 3e 17 cd 87 26 21 13 00 11 99 01 19 eb 2a 06 00 01 fa ff 09 c3   ┆/ ü !3:" 8 >   &!       *       ┆
0x070080…0700a0             2c 17 cd 70 2f 01 13 00 11 20 02 cd c2 16 01 99 01 11 01 36 c3 c2 16 21 00 08 22 b4 38 22 b6 38   ┆,  p/              6   !  " 8" 8┆
0x0700a0…0700c0             af 32 b3 38 c9 2a 03 36 f9 af 32 7f 38 2f 32 84 38 cd 97 2f 21 00 00 22 a4 38 22 9d 38 22 9f 38   ┆ 2 8 * 6  2 8/2 8  /!  " 8" 8" 8┆
0x0700c0…0700e0             3a 99 38 cd db 32 21 b1 2f e5 cd 04 27 3e ff 32 95 38 21 01 38 7e 2f 2b a6 2b a6 21 0d 0f c4 70   ┆: 8  2! /   '> 2 8! 8ü/+ + !   p┆
0x0700e0…070100             33 3a ca 38 b7 c2 74 4f 2a 77 06 11 06 00 cd 33 30 d8 af 32 3f 39 cd 54 33 f5 e5 cd 17 28 3a 00   ┆3: 8  tO*w     30  2?9 T3    (: ┆
0x070100…070120             38 b7 c2 0b 30 2a 81 39 22 83 39 cd 0d 33 af 32 95 38 e1 d5 7c 3d 11 3b 35 ca 23 30 3d 11 4d 5f   ┆8   0* 9" 9  3 2 8  ø= ;5 #0= M_┆
0x070120…070140             c2 30 30 eb 16 00 19 5e 23 56 eb d1 f1 cd 70 33 d1 f1 e9 af 32 72 38 32 73 38 32 74 38 32 9b 38   ┆ 00    ^#V    p3    2r82s82t82 8┆
0x070140…070160             cd 18 25 3e ff 32 95 38 cd a1 31 cd cf 30 ca 33 30 32 72 38 d5 e5 47 0e 00 3a ca 38 b7 c2 6c 30   ┆  %> 2 8  1  0 302r8  G  : 8  l0┆
0x070160…070180             78 fe 0d ca b8 30 cd e2 17 e6 3f 47 11 04 00 7e b7 ca b8 30 b8 ca 7c 30 19 c3 6f 30 23 7e b7 ca   ┆x    0    ?G   ü   0  ø0  o0#ü  ┆
0x070180…0701a0             bc 30 3a ca 38 a6 3c 23 5e 23 56 2b 2b cc 0e 50 af 32 95 38 cd cf 30 ca 7d 30 32 73 38 cd e2 17   ┆ 0: 8 <#^#V++  P 2 8  0 å02s8   ┆
0x0701a0…0701c0             4f 7e a9 e6 bf ca bc 30 23 23 23 7e b7 ca b8 30 b8 23 ca a1 30 c3 a8 30 37 e1 d1 c9 23 5e 23 56   ┆Oü     0###ü   0 #  0  07   #^#V┆
0x0701c0…0701e0             eb d1 d1 7c b7 c0 11 93 39 19 eb 21 9e 24 c9 cd 1f 31 c3 bb 1b e5 2a 1d 37 cd 49 0b cc a0 32 cd   ┆   ø    9  ! $   1    * 7 I   2 ┆
0x0701e0…070200             36 31 cd 49 0b d5 cc ed 30 d1 c3 31 31 11 9e 38 1a b7 ca 00 31 3d cd 43 21 cd b7 1a 80 08 af 12   ┆61 I    0  11  8    1= C!       ┆
0x070200…070220 (29, 1, 13) 09 43 55 52 54 52 4b 09 3b 0d 0a 09 4d 4f 56 09 42 2c 41 09 3b 0d 0a 09 50 55 53 48 09 42 09 3b   ┆ CURTRK ;   MOV B,A ;   PUSH B ;┆
0x070220…070240             20 53 45 54 20 53 45 43 54 4f 52 28 53 45 43 3a 3d 43 55 52 20 53 45 43 29 3b 0d 0a 09 43 41 4c   ┆ SET SECTOR(SEC:=CUR SEC);   CAL┆
0x070240…070260             4c 09 53 45 43 09 3b 0d 0a 57 52 49 54 45 44 3a 09 43 41 4c 4c 09 44 57 52 49 54 45 09 3b 20 57   ┆L SEC ;  WRITED: CALL DWRITE ; W┆
0x070260…070280             52 49 54 45 20 53 45 43 54 4f 52 3b 0d 0a 09 4c 58 49 09 44 2c 42 41 44 44 09 3b 0d 0a 09 4f 52   ┆RITE SECTOR;   LXI D,BADD ;   OR┆
0x070280…0702a0             41 09 41 09 3b 20 49 46 20 45 52 52 4f 52 53 20 54 48 45 4e 20 50 52 49 4e 54 20 57 41 52 4e 49   ┆A A ; IF ERRORS THEN PRINT WARNI┆
0x0702a0…0702c0             4e 47 3b 0d 0a 09 43 4e 5a 09 45 52 52 4f 52 09 3b 0d 0a 09 50 4f 50 09 42 09 3b 0d 0a 09 49 4e   ┆NG;   CNZ ERROR ;   POP B ;   IN┆
0x0702c0…0702e0             52 09 43 09 3b 20 53 45 43 3a 3d 20 53 45 43 2b 31 3b 0d 0a 09 4c 44 41 09 53 50 54 09 3b 0d 0a   ┆R C ; SEC:= SEC+1;   LDA SPT ;  ┆
0x0702e0…070300             09 43 4d 50 09 43 09 3b 20 49 46 20 53 45 43 3d 53 50 54 20 54 48 45 4e 0d 0a 09 4a 4e 5a 09 4e   ┆ CMP C ; IF SEC=SPT THEN   JNZ N┆
0x070300…070320             45 58 54 44 09 3b 20 42 45 47 49 4e 0d 0a 09 4c 44 41 09 4c 54 52 4b 09 3b 0d 0a 09 43 4d 50 09   ┆EXTD ; BEGIN   LDA LTRK ;   CMP ┆
0x070320…070340             42 09 3b 20 20 20 20 49 46 20 54 52 4b 3d 4c 41 53 54 20 54 48 45 4e 20 47 4f 54 4f 20 45 4e 44   ┆B ;    IF TRK=LAST THEN GOTO END┆
0x070340…070360             3b 0d 0a 09 4a 5a 09 45 44 41 54 09 3b 0d 0a 09 49 4e 52 09 42 09 3b 20 20 20 20 54 52 4b 3a 3d   ┆;   JZ EDAT ;   INR B ;    TRK:=┆
0x070360…070380             54 52 4b 2b 31 3b 0d 0a 09 4d 56 49 09 43 2c 30 09 3b 20 20 20 20 53 45 43 3a 3d 30 3b 0d 0a 09   ┆TRK+1;   MVI C,0 ;    SEC:=0;   ┆
0x070380…0703a0             50 55 53 48 09 42 09 3b 0d 0a 09 4d 4f 56 09 43 2c 42 09 3b 0d 0a 09 43 41 4c 4c 09 54 52 4b 09   ┆PUSH B ;   MOV C,B ;   CALL TRK ┆
0x0703a0…0703c0             3b 20 20 20 20 53 45 54 20 54 52 41 43 4b 28 54 52 4b 29 3b 0d 0a 09 50 4f 50 09 42 09 3b 20 45   ┆;    SET TRACK(TRK);   POP B ; E┆
0x0703c0…0703e0             4e 44 3b 0d 0a 4e 45 58 54 44 3a 09 50 55 53 48 09 42 09 3b 0d 0a 09 43 41 4c 4c 09 53 45 43 09   ┆ND;  NEXTD: PUSH B ;   CALL SEC ┆
0x0703e0…070400             3b 20 53 45 54 20 53 45 43 54 4f 52 28 53 45 43 29 3b 0d 0a 09 4c 48 4c 44 09 53 45 43 43 4e 54   ┆; SET SECTOR(SEC);   LHLD SECCNT┆
0x070400…070420 (29, 1, 14) 09 43 55 52 54 52 4b 09 3b 0d 0a 09 4d 4f 56 09 42 2c 41 09 3b 0d 0a 09 50 55 53 48 09 42 09 3b   ┆ CURTRK ;   MOV B,A ;   PUSH B ;┆
0x070420…070440             20 53 45 54 20 53 45 43 54 4f 52 28 53 45 43 3a 3d 43 55 52 20 53 45 43 29 3b 0d 0a 09 43 41 4c   ┆ SET SECTOR(SEC:=CUR SEC);   CAL┆
0x070440…070460             4c 09 53 45 43 09 3b 0d 0a 57 52 49 54 45 44 3a 09 43 41 4c 4c 09 44 57 52 49 54 45 09 3b 20 57   ┆L SEC ;  WRITED: CALL DWRITE ; W┆
0x070460…070480             52 49 54 45 20 53 45 43 54 4f 52 3b 0d 0a 09 4c 58 49 09 44 2c 42 41 44 44 09 3b 0d 0a 09 4f 52   ┆RITE SECTOR;   LXI D,BADD ;   OR┆
0x070480…0704a0             41 09 41 09 3b 20 49 46 20 45 52 52 4f 52 53 20 54 48 45 4e 20 50 52 49 4e 54 20 57 41 52 4e 49   ┆A A ; IF ERRORS THEN PRINT WARNI┆
0x0704a0…0704c0             4e 47 3b 0d 0a 09 43 4e 5a 09 45 52 52 4f 52 09 3b 0d 0a 09 50 4f 50 09 42 09 3b 0d 0a 09 49 4e   ┆NG;   CNZ ERROR ;   POP B ;   IN┆
0x0704c0…0704e0             52 09 43 09 3b 20 53 45 43 3a 3d 20 53 45 43 2b 31 3b 0d 0a 09 4c 44 41 09 53 50 54 09 3b 0d 0a   ┆R C ; SEC:= SEC+1;   LDA SPT ;  ┆
0x0704e0…070500             09 43 4d 50 09 43 09 3b 20 49 46 20 53 45 43 3d 53 50 54 20 54 48 45 4e 0d 0a 09 4a 4e 5a 09 4e   ┆ CMP C ; IF SEC=SPT THEN   JNZ N┆
0x070500…070520             45 58 54 44 09 3b 20 42 45 47 49 4e 0d 0a 09 4c 44 41 09 4c 54 52 4b 09 3b 0d 0a 09 43 4d 50 09   ┆EXTD ; BEGIN   LDA LTRK ;   CMP ┆
0x070520…070540             42 09 3b 20 20 20 20 49 46 20 54 52 4b 3d 4c 41 53 54 20 54 48 45 4e 20 47 4f 54 4f 20 45 4e 44   ┆B ;    IF TRK=LAST THEN GOTO END┆
0x070540…070560             3b 0d 0a 09 4a 5a 09 45 44 41 54 09 3b 0d 0a 09 49 4e 52 09 42 09 3b 20 20 20 20 54 52 4b 3a 3d   ┆;   JZ EDAT ;   INR B ;    TRK:=┆
0x070560…070580             54 52 4b 2b 31 3b 0d 0a 09 4d 56 49 09 43 2c 30 09 3b 20 20 20 20 53 45 43 3a 3d 30 3b 0d 0a 09   ┆TRK+1;   MVI C,0 ;    SEC:=0;   ┆
0x070580…0705a0             50 55 53 48 09 42 09 3b 0d 0a 09 4d 4f 56 09 43 2c 42 09 3b 0d 0a 09 43 41 4c 4c 09 54 52 4b 09   ┆PUSH B ;   MOV C,B ;   CALL TRK ┆
0x0705a0…0705c0             3b 20 20 20 20 53 45 54 20 54 52 41 43 4b 28 54 52 4b 29 3b 0d 0a 09 50 4f 50 09 42 09 3b 20 45   ┆;    SET TRACK(TRK);   POP B ; E┆
0x0705c0…0705e0             4e 44 3b 0d 0a 4e 45 58 54 44 3a 09 50 55 53 48 09 42 09 3b 0d 0a 09 43 41 4c 4c 09 53 45 43 09   ┆ND;  NEXTD: PUSH B ;   CALL SEC ┆
0x0705e0…070600             3b 20 53 45 54 20 53 45 43 54 4f 52 28 53 45 43 29 3b 0d 0a 09 4c 48 4c 44 09 53 45 43 43 4e 54   ┆; SET SECTOR(SEC);   LHLD SECCNT┆
0x070600…070620 (29, 1, 15) 4f 20 43 43 50 3b 0d 0a 0d 0a 50 52 49 4e 54 3a 09 4d 56 49 09 43 2c 50 52 49 4e 54 46 3b 0d 0a   ┆O CCP;    PRINT: MVI C,PRINTF;  ┆
0x070620…070640             09 4a 4d 50 09 42 44 4f 53 09 3b 0d 0a 0d 0a 43 4f 4e 53 49 3a 09 4d 56 49 09 43 2c 43 4f 4e 53   ┆ JMP BDOS ;    CONSI: MVI C,CONS┆
0x070640…070660             49 46 3b 0d 0a 09 4a 4d 50 09 42 44 4f 53 09 3b 0d 0a 0d 0a 45 52 52 4f 52 3a 09 4d 56 49 09 43   ┆IF;   JMP BDOS ;    ERROR: MVI C┆
0x070660…070680             2c 50 52 49 4e 54 46 3b 20 44 49 53 4b 20 45 52 52 4f 52 3a 0d 0a 09 43 41 4c 4c 09 42 44 4f 53   ┆,PRINTF; DISK ERROR:   CALL BDOS┆
0x070680…0706a0             09 3b 0d 0a 09 4d 56 49 09 43 2c 43 4f 4e 53 49 46 3b 0d 0a 09 43 41 4c 4c 09 42 44 4f 53 09 3b   ┆ ;   MVI C,CONSIF;   CALL BDOS ;┆
0x0706a0…0706c0             0d 0a 09 43 50 49 09 33 09 3b 0d 0a 09 4a 5a 09 42 4f 4f 54 09 3b 0d 0a 09 52 45 54 09 09 3b 0d   ┆   CPI 3 ;   JZ BOOT ;   RET  ; ┆
0x0706c0…0706e0             0a 0d 0a 48 45 41 44 3a 09 44 42 09 27 52 43 37 30 30 20 20 43 50 2f 4d 20 20 42 41 43 4b 55 50   ┆   HEAD: DB 'RC700  CP/M  BACKUP┆
0x0706e0…070700             20 20 55 54 49 4c 49 54 59 27 2c 31 33 2c 33 36 0d 0a 53 44 53 50 45 43 3a 09 44 42 09 31 33 2c   ┆  UTILITY',13,36  SDSPEC: DB 13,┆
0x070700…070720             31 30 2c 31 30 2c 27 53 4f 55 52 43 45 20 44 52 49 56 45 20 28 41 20 4f 52 20 42 29 20 3f 20 27   ┆10,10,'SOURCE DRIVE (A OR B) ? '┆
0x070720…070740             2c 33 36 0d 0a 44 44 53 50 45 43 3a 09 44 42 09 31 33 2c 31 30 2c 31 30 2c 27 44 45 53 54 49 4e   ┆,36  DDSPEC: DB 13,10,10,'DESTIN┆
0x070740…070760             41 54 49 4f 4e 20 44 52 49 56 45 20 28 41 20 4f 52 20 42 29 20 3f 20 27 2c 33 36 0d 0a 4e 4f 54   ┆ATION DRIVE (A OR B) ? ',36  NOT┆
0x070760…070780             4f 4b 3a 09 44 42 09 31 33 2c 31 30 2c 31 30 2c 27 42 41 43 4b 55 50 20 4e 4f 54 20 50 4f 53 53   ┆OK: DB 13,10,10,'BACKUP NOT POSS┆
0x070780…0707a0             49 42 4c 45 27 2c 33 36 0d 0a 4d 53 44 49 53 4b 3a 20 44 42 09 31 33 2c 31 30 2c 27 49 4e 53 45   ┆IBLE',36  MSDISK: DB 13,10,'INSE┆
0x0707a0…0707c0             52 54 20 53 4f 55 52 43 45 20 44 49 53 4b 20 41 4e 44 20 54 59 50 45 20 3c 52 45 54 55 52 4e 3e   ┆RT SOURCE DISK AND TYPE <RETURN>┆
0x0707c0…0707e0             27 2c 33 36 0d 0a 4d 44 44 49 53 4b 3a 20 44 42 09 31 33 2c 31 30 2c 27 49 4e 53 45 52 54 20 44   ┆',36  MDDISK: DB 13,10,'INSERT D┆
0x0707e0…070800             45 53 54 49 4e 41 54 49 4f 4e 20 44 49 53 4b 20 41 4e 44 20 54 59 50 45 20 3c 52 45 54 55 52 4e   ┆ESTINATION DISK AND TYPE <RETURN┆
0x070800…070820 (30, 0, 1)  0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a   ┆                    ;***********┆
0x070820…070840             2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a   ┆********************************┆
0x070840…070860             2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0d 0a 20 20 20 20 20 20 20   ┆***********************         ┆
0x070860…070880             20 20 20 20 20 20 20 20 20 3b 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆         ;*                     ┆
0x070880…0708a0             20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆                                ┆
0x0708a0…0708c0             20 20 20 20 20 20 20 20 20 20 20 2a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 2a   ┆           *                  ;*┆
0x0708c0…0708e0             20 20 20 20 20 42 41 43 4b 55 50 20 20 55 54 49 4c 49 54 59 20 20 2d 20 20 56 45 52 53 49 4f 4e   ┆     BACKUP  UTILITY  -  VERSION┆
0x0708e0…070900             20 20 38 31 2e 30 37 2e 30 38 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆  81.07.08                      ┆
0x070900…070920             2a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 2a 20 20 20 20 20 20 20 20 20 20 20   ┆*                  ;*           ┆
0x070920…070940             20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆                                ┆
0x070940…070960             20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 0d 0a 20 20 20 20 20 20 20 20   ┆                     *          ┆
0x070960…070980             20 20 20 20 20 20 20 20 3b 2a 20 20 20 20 20 42 41 43 4b 55 50 20 20 20 20 20 20 20 20 20 20 20   ┆        ;*     BACKUP           ┆
0x070980…0709a0             20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆                                ┆
0x0709a0…0709c0             20 20 20 20 20 20 20 20 20 20 2a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 2a 20   ┆          *                  ;* ┆
0x0709c0…0709e0             20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆                                ┆
0x0709e0…070a00             20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a   ┆                               *┆
0x070a00…070a20 (30, 0, 2)  5a 09 50 44 50 09 3b 0d 0a 20 30 31 33 43 20 30 43 20 20 20 20 20 20 20 20 09 49 4e 52 09 43 09   ┆Z PDP ;   013C 0C         INR C ┆
0x070a20…070a40             3b 0d 0a 20 30 31 33 44 20 37 39 20 20 20 20 20 20 20 20 53 45 54 44 44 3a 09 4d 4f 56 09 41 2c   ┆;   013D 79        SETDD: MOV A,┆
0x070a40…070a60             43 09 3b 0d 0a 20 30 31 33 45 20 33 32 41 35 30 34 20 20 20 20 09 53 54 41 09 44 44 52 49 56 09   ┆C ;   013E 32A504     STA DDRIV ┆
0x070a60…070a80             3b 0d 0a 20 30 31 34 31 20 32 41 30 31 30 30 20 20 20 20 09 4c 48 4c 44 09 57 42 4f 4f 54 09 3b   ┆;   0141 2A0100     LHLD WBOOT ;┆
0x070a80…070aa0             20 42 43 3a 3d 20 46 4c 4f 50 50 59 20 46 4f 52 4d 41 54 53 3b 0d 0a 20 30 31 34 34 20 31 31 33   ┆ BC:= FLOPPY FORMATS;   0144 113┆
0x070aa0…070ac0             34 30 30 20 20 20 20 09 4c 58 49 09 44 2c 46 44 46 4f 52 4d 3b 0d 0a 20 30 31 34 37 20 31 39 20   ┆400     LXI D,FDFORM;   0147 19 ┆
0x070ac0…070ae0             20 20 20 20 20 20 20 09 44 41 44 09 44 09 3b 0d 0a 20 30 31 34 38 20 34 36 20 20 20 20 20 20 20   ┆        DAD D ;   0148 46       ┆
0x070ae0…070b00             20 09 4d 4f 56 09 42 2c 4d 09 3b 0d 0a 20 30 31 34 39 20 32 33 20 20 20 20 20 20 20 20 09 49 4e   ┆  MOV B,M ;   0149 23         IN┆
0x070b00…070b20             58 09 48 09 3b 0d 0a 20 30 31 34 41 20 34 45 20 20 20 20 20 20 20 20 09 4d 4f 56 09 43 2c 4d 09   ┆X H ;   014A 4E         MOV C,M ┆
0x070b20…070b40             3b 0d 0a 20 30 31 34 42 20 32 31 41 34 30 34 20 20 20 20 09 4c 58 49 09 48 2c 53 44 52 49 56 09   ┆;   014B 21A404     LXI H,SDRIV ┆
0x070b40…070b60             3b 20 49 46 20 53 4f 55 52 43 45 20 44 52 49 56 45 20 3c 3e 0d 0a 20 30 31 34 45 20 42 45 20 20   ┆; IF SOURCE DRIVE <>   014E BE  ┆
0x070b60…070b80             20 20 20 20 20 20 09 43 4d 50 09 4d 09 3b 20 20 44 45 53 54 49 4e 41 54 49 4f 4e 20 44 52 49 56   ┆       CMP M ;  DESTINATION DRIV┆
0x070b80…070ba0             45 20 54 48 45 4e 0d 0a 20 30 31 34 46 20 33 45 30 30 20 20 20 20 20 20 09 4d 56 49 09 41 2c 30   ┆E THEN   014F 3E00       MVI A,0┆
0x070ba0…070bc0             09 3b 0d 0a 20 30 31 35 31 20 43 41 37 38 30 31 20 20 20 20 09 4a 5a 09 53 45 54 44 46 09 3b 0d   ┆ ;   0151 CA7801     JZ SETDF ; ┆
0x070bc0…070be0             0a 20 30 31 35 34 20 37 38 20 20 20 20 20 20 20 20 09 4d 4f 56 09 41 2c 42 09 3b 0d 0a 20 30 31   ┆  0154 78         MOV A,B ;   01┆
0x070be0…070c00             35 35 20 42 39 20 20 20 20 20 20 20 20 09 43 4d 50 09 43 09 3b 20 49 46 20 46 4f 52 4d 41 54 28   ┆55 B9         CMP C ; IF FORMAT(┆
0x070c00…070c20 (30, 0, 3)  54 3a 09 4c 44 41 09 46 54 52 4b 09 3b 0d 0a 20 30 31 43 34 20 33 32 41 37 30 34 20 20 20 20 09   ┆T: LDA FTRK ;   01C4 32A704     ┆
0x070c20…070c40             53 54 41 09 43 55 52 54 52 4b 09 3b 20 43 55 52 54 52 4b 3a 3d 46 49 52 53 54 20 54 52 41 43 4b   ┆STA CURTRK ; CURTRK:=FIRST TRACK┆
0x070c40…070c60             3b 0d 0a 20 30 31 43 37 20 33 45 30 30 20 20 20 20 20 20 09 4d 56 49 09 41 2c 30 09 3b 0d 0a 20   ┆;   01C7 3E00       MVI A,0 ;   ┆
0x070c60…070c80             30 31 43 39 20 33 32 41 38 30 34 20 20 20 20 09 53 54 41 09 43 55 52 53 45 43 09 3b 20 43 55 52   ┆01C9 32A804     STA CURSEC ; CUR┆
0x070c80…070ca0             53 45 43 3a 3d 20 30 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0d 0a 20 30 31 43   ┆SEC:= 0;                     01C┆
0x070ca0…070cc0             43 20 33 41 41 36 30 34 20 20 20 20 52 44 41 54 3a 09 4c 44 41 09 44 46 4c 41 47 09 3b 20 52 45   ┆C 3AA604    RDAT: LDA DFLAG ; RE┆
0x070cc0…070ce0             41 44 20 44 41 54 41 3a 0d 0a 20 30 31 43 46 20 42 37 20 20 20 20 20 20 20 20 09 4f 52 41 09 41   ┆AD DATA:   01CF B7         ORA A┆
0x070ce0…070d00             09 3b 0d 0a 20 30 31 44 30 20 43 32 44 43 30 31 20 20 20 20 09 4a 4e 5a 09 53 45 4c 53 44 09 3b   ┆ ;   01D0 C2DC01     JNZ SELSD ;┆
0x070d00…070d20             20 49 46 20 53 4f 55 52 43 45 20 44 52 49 56 45 20 3d 20 44 45 53 54 49 4e 41 54 49 4f 4e 20 44   ┆ IF SOURCE DRIVE = DESTINATION D┆
0x070d20…070d40             52 49 56 45 0d 0a 20 30 31 44 33 20 31 31 44 33 30 33 20 20 20 20 09 4c 58 49 09 44 2c 4d 53 44   ┆RIVE   01D3 11D303     LXI D,MSD┆
0x070d40…070d60             49 53 4b 3b 20 20 54 48 45 4e 20 57 41 49 54 20 46 4f 52 20 44 49 53 4b 20 43 48 41 4e 47 45 3b   ┆ISK;  THEN WAIT FOR DISK CHANGE;┆
0x070d60…070d80             0d 0a 20 30 31 44 36 20 43 44 34 37 30 33 20 20 20 20 09 43 41 4c 4c 09 50 52 49 4e 54 09 3b 0d   ┆   01D6 CD4703     CALL PRINT ; ┆
0x070d80…070da0             0a 20 30 31 44 39 20 43 44 34 43 30 33 20 20 20 20 09 43 41 4c 4c 09 43 4f 4e 53 49 09 3b 0d 0a   ┆  01D9 CD4C03     CALL CONSI ;  ┆
0x070da0…070dc0             20 30 31 44 43 20 33 41 41 34 30 34 20 20 20 20 53 45 4c 53 44 3a 09 4c 44 41 09 53 44 52 49 56   ┆ 01DC 3AA404    SELSD: LDA SDRIV┆
0x070dc0…070de0             09 3b 20 53 45 4c 45 43 54 28 53 4f 55 52 43 45 20 44 52 49 56 45 29 3a 0d 0a 20 30 31 44 46 20   ┆ ; SELECT(SOURCE DRIVE):   01DF ┆
0x070de0…070e00             43 44 30 35 30 33 20 20 20 20 09 43 41 4c 4c 09 53 45 4c 09 3b 0d 0a 20 30 31 45 32 20 32 31 36   ┆CD0503     CALL SEL ;   01E2 216┆
0x070e00…070e20 (30, 0, 4)  3a 31 30 30 31 30 30 30 30 45 31 32 32 39 46 30 34 33 31 43 41 30 34 31 31 36 31 30 33 43 44 34   ┆:10010000E1229F0431CA04116103CD4┆
0x070e20…070e40             37 30 33 31 31 37 46 30 33 32 42 0d 0a 3a 31 30 30 31 31 30 30 30 43 44 34 37 30 33 43 44 34 43   ┆703117F032B  :10011000CD4703CD4C┆
0x070e40…070e60             30 33 30 45 30 30 46 45 34 31 43 41 32 33 30 31 46 45 34 32 43 32 36 46 0d 0a 3a 31 30 30 31 32   ┆030E00FE41CA2301FE42C26F  :10012┆
0x070e60…070e80             30 30 30 30 44 30 31 30 43 37 39 33 32 41 34 30 34 31 31 39 42 30 33 43 44 34 37 30 33 43 44 34   ┆0000D010C7932A404119B03CD4703CD4┆
0x070e80…070ea0             43 30 33 38 30 0d 0a 3a 31 30 30 31 33 30 30 30 30 45 30 30 46 45 34 31 43 41 33 44 30 31 46 45   ┆C0380  :100130000E00FE41CA3D01FE┆
0x070ea0…070ec0             34 32 43 32 32 37 30 31 30 43 37 39 33 32 41 35 45 34 0d 0a 3a 31 30 30 31 34 30 30 30 30 34 32   ┆42C227010C7932A5E4  :10014000042┆
0x070ec0…070ee0             41 30 31 30 30 31 31 33 34 30 30 31 39 34 36 32 33 34 45 32 31 41 34 30 34 42 45 33 45 41 36 0d   ┆A01001134001946234E21A404BE3EA6 ┆
0x070ee0…070f00             0a 3a 31 30 30 31 35 30 30 30 30 30 43 41 37 38 30 31 37 38 42 39 31 31 42 43 30 33 43 34 33 45   ┆ :1001500000CA780178B911BC03C43E┆
0x070f00…070f20             30 33 43 35 31 31 39 43 30 34 45 30 0d 0a 3a 31 30 30 31 36 30 30 30 43 44 34 37 30 33 31 31 44   ┆03C5119C04E0  :10016000CD470311D┆
0x070f20…070f40             33 30 33 43 44 34 37 30 33 43 44 34 43 30 33 31 31 46 41 30 33 43 44 38 33 0d 0a 3a 31 30 30 31   ┆303CD4703CD4C0311FA03CD83  :1001┆
0x070f40…070f60             37 30 30 30 34 37 30 33 43 44 34 43 30 33 43 31 33 45 30 31 33 32 41 36 30 34 37 39 46 45 30 30   ┆70004703CD4C03C13E0132A60479FE00┆
0x070f60…070f80             43 32 39 33 37 31 0d 0a 3a 31 30 30 31 38 30 30 30 30 31 33 45 30 30 33 32 41 31 30 34 33 45 34   ┆C29371  :10018000013E0032A1043E4┆
0x070f80…070fa0             43 33 32 41 32 30 34 33 45 31 41 33 32 41 33 30 34 43 36 0d 0a 3a 31 30 30 31 39 30 30 30 43 33   ┆C32A2043E1A32A304C6  :10019000C3┆
0x070fa0…070fc0             43 31 30 31 46 45 30 38 43 32 41 41 30 31 33 45 30 31 33 32 41 31 30 34 33 45 33 44 33 32 41 34   ┆C101FE08C2AA013E0132A1043E3D32A4┆
0x070fc0…070fe0             0d 0a 3a 31 30 30 31 41 30 30 30 41 32 30 34 33 45 37 38 33 32 41 33 30 34 43 33 43 31 30 31 46   ┆  :1001A000A2043E7832A304C3C101F┆
0x070fe0…071000             45 31 30 31 31 42 43 30 33 43 34 46 33 0d 0a 3a 31 30 30 31 42 30 30 30 33 45 30 33 33 45 30 31   ┆E1011BC03C4F3  :1001B0003E033E01┆
0x071000…071020 (30, 0, 5)  0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a   ┆                  ;*************┆
0x071020…071040             2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a   ┆********************************┆
0x071040…071060             2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0d 0a 20 20 20 20 20 20 20 20 20   ┆*********************           ┆
0x071060…071080             20 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0d 0a 20 30 31 30 30   ┆                            0100┆
0x071080…0710a0             20 3d 20 20 20 20 20 20 20 20 20 54 50 41 09 45 51 55 09 31 30 30 48 0d 0a 20 30 30 30 35 20 3d   ┆ =         TPA EQU 100H   0005 =┆
0x0710a0…0710c0             20 20 20 20 20 20 20 20 20 42 44 4f 53 09 45 51 55 09 30 30 30 35 48 0d 0a 20 30 30 30 30 20 3d   ┆         BDOS EQU 0005H   0000 =┆
0x0710c0…0710e0             20 20 20 20 20 20 20 20 20 42 4f 4f 54 09 45 51 55 09 30 30 30 30 48 0d 0a 20 20 20 20 20 20 20   ┆         BOOT EQU 0000H         ┆
0x0710e0…071100             20 20 20 20 20 20 20 20 20 0d 0a 20 30 30 30 31 20 3d 20 20 20 20 20 20 20 20 20 43 4f 4e 53 49   ┆            0001 =         CONSI┆
0x071100…071120             46 09 45 51 55 09 31 0d 0a 20 30 30 30 39 20 3d 20 20 20 20 20 20 20 20 20 50 52 49 4e 54 46 09   ┆F EQU 1   0009 =         PRINTF ┆
0x071120…071140             45 51 55 09 39 0d 0a 20 30 30 30 31 20 3d 20 20 20 20 20 20 20 20 20 57 42 4f 4f 54 09 45 51 55   ┆EQU 9   0001 =         WBOOT EQU┆
0x071140…071160             09 31 0d 0a 20 30 30 31 38 20 3d 20 20 20 20 20 20 20 20 20 53 45 4c 44 53 4b 09 45 51 55 09 32   ┆ 1   0018 =         SELDSK EQU 2┆
0x071160…071180             34 0d 0a 20 30 30 31 42 20 3d 20 20 20 20 20 20 20 20 20 53 45 54 54 52 4b 09 45 51 55 09 32 37   ┆4   001B =         SETTRK EQU 27┆
0x071180…0711a0             0d 0a 20 30 30 31 45 20 3d 20 20 20 20 20 20 20 20 20 53 45 54 53 45 43 09 45 51 55 09 33 30 0d   ┆   001E =         SETSEC EQU 30 ┆
0x0711a0…0711c0             0a 20 30 30 32 31 20 3d 20 20 20 20 20 20 20 20 20 53 45 54 44 4d 41 09 45 51 55 09 33 33 0d 0a   ┆  0021 =         SETDMA EQU 33  ┆
0x0711c0…0711e0             20 30 30 32 34 20 3d 20 20 20 20 20 20 20 20 20 52 45 41 44 46 09 45 51 55 09 33 36 0d 0a 20 30   ┆ 0024 =         READF EQU 36   0┆
0x0711e0…071200             30 32 37 20 3d 20 20 20 20 20 20 20 20 20 57 52 49 54 45 46 09 45 51 55 09 33 39 0d 0a 20 30 30   ┆027 =         WRITEF EQU 39   00┆
0x071200…071220 (30, 0, 6)  41 29 3c 3e 46 4f 52 4d 41 54 28 42 29 20 54 48 45 4e 0d 0a 20 30 31 35 36 20 31 31 42 43 30 33   ┆A)<>FORMAT(B) THEN   0156 11BC03┆
0x071220…071240             20 20 20 20 09 4c 58 49 09 44 2c 4e 4f 54 4f 4b 09 3b 0d 0a 20 30 31 35 39 20 43 34 33 45 30 33   ┆     LXI D,NOTOK ;   0159 C43E03┆
0x071240…071260             20 20 20 20 09 43 4e 5a 09 46 49 4e 49 53 09 3b 20 20 45 58 49 54 28 4e 4f 54 20 41 4c 4c 4f 57   ┆     CNZ FINIS ;  EXIT(NOT ALLOW┆
0x071260…071280             45 44 29 3b 0d 0a 20 30 31 35 43 20 43 35 20 20 20 20 20 20 20 20 09 50 55 53 48 09 42 09 3b 0d   ┆ED);   015C C5         PUSH B ; ┆
0x071280…0712a0             0a 20 30 31 35 44 20 31 31 39 43 30 34 20 20 20 20 09 4c 58 49 09 44 2c 43 52 4c 46 09 3b 0d 0a   ┆  015D 119C04     LXI D,CRLF ;  ┆
0x0712a0…0712c0             20 30 31 36 30 20 43 44 34 37 30 33 20 20 20 20 09 43 41 4c 4c 09 50 52 49 4e 54 09 3b 0d 0a 20   ┆ 0160 CD4703     CALL PRINT ;   ┆
0x0712c0…0712e0             30 31 36 33 20 31 31 44 33 30 33 20 20 20 20 09 4c 58 49 09 44 2c 4d 53 44 49 53 4b 3b 0d 0a 20   ┆0163 11D303     LXI D,MSDISK;   ┆
0x0712e0…071300             30 31 36 36 20 43 44 34 37 30 33 20 20 20 20 09 43 41 4c 4c 09 50 52 49 4e 54 09 3b 20 57 41 49   ┆0166 CD4703     CALL PRINT ; WAI┆
0x071300…071320             54 20 46 4f 52 20 53 4f 55 52 43 45 20 44 49 53 4b 3a 0d 0a 20 30 31 36 39 20 43 44 34 43 30 33   ┆T FOR SOURCE DISK:   0169 CD4C03┆
0x071320…071340             20 20 20 20 09 43 41 4c 4c 09 43 4f 4e 53 49 09 3b 0d 0a 20 30 31 36 43 20 31 31 46 41 30 33 20   ┆     CALL CONSI ;   016C 11FA03 ┆
0x071340…071360             20 20 20 09 4c 58 49 09 44 2c 4d 44 44 49 53 4b 3b 0d 0a 20 30 31 36 46 20 43 44 34 37 30 33 20   ┆    LXI D,MDDISK;   016F CD4703 ┆
0x071360…071380             20 20 20 09 43 41 4c 4c 09 50 52 49 4e 54 09 3b 20 57 41 49 54 20 46 4f 52 20 44 45 53 54 49 4e   ┆    CALL PRINT ; WAIT FOR DESTIN┆
0x071380…0713a0             41 54 49 4f 4e 20 44 49 53 4b 3a 0d 0a 20 30 31 37 32 20 43 44 34 43 30 33 20 20 20 20 09 43 41   ┆ATION DISK:   0172 CD4C03     CA┆
0x0713a0…0713c0             4c 4c 09 43 4f 4e 53 49 09 3b 0d 0a 20 30 31 37 35 20 43 31 20 20 20 20 20 20 20 20 09 50 4f 50   ┆LL CONSI ;   0175 C1         POP┆
0x0713c0…0713e0             09 42 09 3b 0d 0a 20 30 31 37 36 20 33 45 30 31 20 20 20 20 20 20 09 4d 56 49 09 41 2c 31 09 3b   ┆ B ;   0176 3E01       MVI A,1 ;┆
0x0713e0…071400             0d 0a 20 30 31 37 38 20 33 32 41 36 30 34 20 20 20 20 53 45 54 44 46 3a 09 53 54 41 09 44 46 4c   ┆   0178 32A604    SETDF: STA DFL┆
0x071400…071420 (30, 0, 7)  38 30 31 20 20 20 20 09 4c 58 49 09 48 2c 33 36 30 09 3b 0d 0a 20 30 31 45 35 20 32 32 41 39 30   ┆801     LXI H,360 ;   01E5 22A90┆
0x071420…071440             34 20 20 20 20 09 53 48 4c 44 09 53 45 43 43 4e 54 09 3b 20 53 45 43 54 4f 52 43 4f 55 4e 54 3a   ┆4     SHLD SECCNT ; SECTORCOUNT:┆
0x071440…071460             3d 20 33 36 30 3b 0d 0a 20 30 31 45 38 20 31 31 43 42 30 34 20 20 20 20 09 4c 58 49 09 44 2c 42   ┆= 360;   01E8 11CB04     LXI D,B┆
0x071460…071480             55 46 09 3b 0d 0a 20 30 31 45 42 20 44 35 20 20 20 20 20 20 20 20 09 50 55 53 48 09 44 09 3b 0d   ┆UF ;   01EB D5         PUSH D ; ┆
0x071480…0714a0             0a 20 30 31 45 43 20 43 44 32 32 30 33 20 20 20 20 09 43 41 4c 4c 09 44 4d 41 09 3b 20 44 4d 41   ┆  01EC CD2203     CALL DMA ; DMA┆
0x0714a0…0714c0             20 41 44 44 52 3a 3d 20 53 54 41 52 54 20 4f 46 20 42 55 46 46 45 52 3b 0d 0a 20 30 31 45 46 20   ┆ ADDR:= START OF BUFFER;   01EF ┆
0x0714c0…0714e0             33 41 41 37 30 34 20 20 20 20 09 4c 44 41 09 43 55 52 54 52 4b 09 3b 0d 0a 20 30 31 46 32 20 34   ┆3AA704     LDA CURTRK ;   01F2 4┆
0x0714e0…071500             46 20 20 20 20 20 20 20 20 09 4d 4f 56 09 43 2c 41 09 3b 0d 0a 20 30 31 46 33 20 43 44 30 45 30   ┆F         MOV C,A ;   01F3 CD0E0┆
0x071500…071520             33 20 20 20 20 09 43 41 4c 4c 09 54 52 4b 09 3b 20 53 45 54 20 54 52 41 43 4b 28 54 52 4b 3a 3d   ┆3     CALL TRK ; SET TRACK(TRK:=┆
0x071520…071540             43 55 52 20 54 52 4b 29 3b 0d 0a 20 30 31 46 36 20 33 41 41 38 30 34 20 20 20 20 09 4c 44 41 09   ┆CUR TRK);   01F6 3AA804     LDA ┆
0x071540…071560             43 55 52 53 45 43 09 3b 0d 0a 20 30 31 46 39 20 34 46 20 20 20 20 20 20 20 20 09 4d 4f 56 09 43   ┆CURSEC ;   01F9 4F         MOV C┆
0x071560…071580             2c 41 09 3b 0d 0a 20 30 31 46 41 20 33 41 41 37 30 34 20 20 20 20 09 4c 44 41 09 43 55 52 54 52   ┆,A ;   01FA 3AA704     LDA CURTR┆
0x071580…0715a0             4b 09 3b 0d 0a 20 30 31 46 44 20 34 37 20 20 20 20 20 20 20 20 09 4d 4f 56 09 42 2c 41 09 3b 0d   ┆K ;   01FD 47         MOV B,A ; ┆
0x0715a0…0715c0             0a 20 30 31 46 45 20 43 35 20 20 20 20 20 20 20 20 09 50 55 53 48 09 42 09 3b 0d 0a 20 30 31 46   ┆  01FE C5         PUSH B ;   01F┆
0x0715c0…0715e0             46 20 43 44 31 38 30 33 20 20 20 20 09 43 41 4c 4c 09 53 45 43 09 3b 20 53 45 54 20 53 45 43 54   ┆F CD1803     CALL SEC ; SET SECT┆
0x0715e0…071600             4f 52 28 53 45 43 3a 3d 43 55 52 20 53 45 43 29 3b 0d 0a 20 30 32 30 32 20 43 44 32 43 30 33 20   ┆OR(SEC:=CUR SEC);   0202 CD2C03 ┆
0x071600…071620 (30, 0, 8)  33 32 41 31 30 34 33 45 31 46 33 32 41 32 30 34 33 45 34 38 33 32 41 33 35 38 0d 0a 3a 31 30 30   ┆32A1043E1F32A2043E4832A358  :100┆
0x071620…071640             31 43 30 30 30 30 34 33 41 41 31 30 34 33 32 41 37 30 34 33 45 30 30 33 32 41 38 30 34 33 41 41   ┆1C000043AA10432A7043E0032A8043AA┆
0x071640…071660             36 30 34 42 37 42 38 0d 0a 3a 31 30 30 31 44 30 30 30 43 32 44 43 30 31 31 31 44 33 30 33 43 44   ┆604B7B8  :1001D000C2DC0111D303CD┆
0x071660…071680             34 37 30 33 43 44 34 43 30 33 33 41 41 34 30 34 43 44 42 37 0d 0a 3a 31 30 30 31 45 30 30 30 30   ┆4703CD4C033AA404CDB7  :1001E0000┆
0x071680…0716a0             35 30 33 32 31 36 38 30 31 32 32 41 39 30 34 31 31 43 42 30 34 44 35 43 44 32 32 30 33 33 41 43   ┆50321680122A90411CB04D5CD22033AC┆
0x0716a0…0716c0             44 0d 0a 3a 31 30 30 31 46 30 30 30 41 37 30 34 34 46 43 44 30 45 30 33 33 41 41 38 30 34 34 46   ┆D  :1001F000A7044FCD0E033AA8044F┆
0x0716c0…0716e0             33 41 41 37 30 34 34 37 43 35 43 44 33 34 0d 0a 3a 31 30 30 32 30 30 30 30 31 38 30 33 43 44 32   ┆3AA70447C5CD34  :100200001803CD2┆
0x0716e0…071700             43 30 33 31 31 32 36 30 34 42 37 43 34 35 31 30 33 43 31 30 43 33 41 41 33 32 33 0d 0a 3a 31 30   ┆C03112604B7C45103C10C3AA323  :10┆
0x071700…071720             30 32 31 30 30 30 30 34 42 39 43 32 32 35 30 32 33 41 41 32 30 34 42 38 43 41 34 39 30 32 30 34   ┆02100004B9C225023AA204B8CA490204┆
0x071720…071740             30 45 30 30 43 35 42 34 0d 0a 3a 31 30 30 32 32 30 30 30 34 38 43 44 30 45 30 33 43 31 43 35 43   ┆0E00C5B4  :1002200048CD0E03C1C5C┆
0x071740…071760             44 31 38 30 33 32 41 41 39 30 34 32 42 32 32 41 39 30 34 36 39 0d 0a 3a 31 30 30 32 33 30 30 30   ┆D18032AA9042B22A90469  :10023000┆
0x071760…071780             43 31 37 43 42 37 43 32 33 42 30 32 37 44 42 37 43 41 34 39 30 32 44 31 32 31 38 30 30 30 31 39   ┆C17CB7C23B027DB7CA4902D121800019┆
0x071780…0717a0             46 37 0d 0a 3a 31 30 30 32 34 30 30 30 45 42 44 35 43 35 43 44 32 32 30 33 43 33 30 32 30 32 44   ┆F7  :10024000EBD5C5CD2203C30202D┆
0x0717a0…0717c0             31 33 41 41 36 30 34 42 37 43 32 35 41 45 38 0d 0a 3a 31 30 30 32 35 30 30 30 30 32 31 31 46 41   ┆13AA604B7C25AE8  :100250000211FA┆
0x0717c0…0717e0             30 33 43 44 34 37 30 33 43 44 34 43 30 33 33 41 41 35 30 34 43 44 30 35 30 33 41 33 0d 0a 3a 31   ┆03CD4703CD4C033AA504CD0503A3  :1┆
0x0717e0…071800             30 30 32 36 30 30 30 32 31 36 38 30 31 32 32 41 39 30 34 31 31 43 42 30 34 44 35 43 44 32 32 30   ┆002600021680122A90411CB04D5CD220┆
0x071800…071820 (30, 0, 9)  33 34 20 3d 20 20 20 20 20 20 20 20 20 46 44 46 4f 52 4d 09 45 51 55 09 35 32 0d 0a 20 30 30 30   ┆34 =         FDFORM EQU 52   000┆
0x071820…071840             30 20 3d 20 20 20 20 20 20 20 20 20 53 53 38 09 45 51 55 09 30 0d 0a 20 30 30 30 38 20 3d 20 20   ┆0 =         SS8 EQU 0   0008 =  ┆
0x071840…071860             20 20 20 20 20 20 20 44 44 38 09 45 51 55 09 38 0d 0a 20 30 30 31 30 20 3d 20 20 20 20 20 20 20   ┆       DD8 EQU 8   0010 =       ┆
0x071860…071880             20 20 44 44 35 09 45 51 55 09 31 36 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0d 0a   ┆  DD5 EQU 16                    ┆
0x071880…0718a0             20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0d 0a 20 30 31 30 30 20 20 20 20 20 20 20 20 20   ┆                   0100         ┆
0x0718a0…0718c0             20 20 09 4f 52 47 09 54 50 41 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0d 0a 20 30   ┆   ORG TPA                     0┆
0x0718c0…0718e0             31 30 30 20 45 31 20 20 20 20 20 20 20 20 09 50 4f 50 09 48 09 3b 20 53 41 56 45 20 52 45 54 55   ┆100 E1         POP H ; SAVE RETU┆
0x0718e0…071900             52 4e 20 54 4f 20 43 43 50 3b 0d 0a 20 30 31 30 31 20 32 32 39 46 30 34 20 20 20 20 09 53 48 4c   ┆RN TO CCP;   0101 229F04     SHL┆
0x071900…071920             44 09 43 43 50 52 45 54 09 3b 0d 0a 20 30 31 30 34 20 33 31 43 41 30 34 20 20 20 20 09 4c 58 49   ┆D CCPRET ;   0104 31CA04     LXI┆
0x071920…071940             09 53 50 2c 53 54 41 43 4b 3b 0d 0a 20 30 31 30 37 20 31 31 36 31 30 33 20 20 20 20 09 4c 58 49   ┆ SP,STACK;   0107 116103     LXI┆
0x071940…071960             09 44 2c 48 45 41 44 09 3b 20 50 52 49 4e 54 20 48 45 41 44 49 4e 47 3b 0d 0a 20 30 31 30 41 20   ┆ D,HEAD ; PRINT HEADING;   010A ┆
0x071960…071980             43 44 34 37 30 33 20 20 20 20 09 43 41 4c 4c 09 50 52 49 4e 54 09 3b 0d 0a 20 30 31 30 44 20 31   ┆CD4703     CALL PRINT ;   010D 1┆
0x071980…0719a0             31 37 46 30 33 20 20 20 20 50 53 50 3a 09 4c 58 49 09 44 2c 53 44 53 50 45 43 3b 20 50 52 49 4e   ┆17F03    PSP: LXI D,SDSPEC; PRIN┆
0x0719a0…0719c0             54 20 53 4f 55 52 43 45 20 50 52 4f 4d 50 54 3b 0d 0a 20 30 31 31 30 20 43 44 34 37 30 33 20 20   ┆T SOURCE PROMPT;   0110 CD4703  ┆
0x0719c0…0719e0             20 20 09 43 41 4c 4c 09 50 52 49 4e 54 09 3b 0d 0a 20 30 31 31 33 20 43 44 34 43 30 33 20 20 20   ┆   CALL PRINT ;   0113 CD4C03   ┆
0x0719e0…071a00             20 09 43 41 4c 4c 09 43 4f 4e 53 49 09 3b 20 47 45 54 20 53 4f 55 52 43 45 20 44 52 49 56 45 3b   ┆  CALL CONSI ; GET SOURCE DRIVE;┆
0x071a00…071a20 (30, 0, 10) 41 47 09 3b 0d 0a 20 30 31 37 42 20 37 39 20 20 20 20 20 20 20 20 09 4d 4f 56 09 41 2c 43 09 3b   ┆AG ;   017B 79         MOV A,C ;┆
0x071a20…071a40             0d 0a 20 30 31 37 43 20 46 45 30 30 20 20 20 20 20 20 09 43 50 49 09 53 53 38 09 3b 20 28 46 49   ┆   017C FE00       CPI SS8 ; (FI┆
0x071a40…071a60             52 53 54 20 54 52 41 43 4b 2c 4c 41 53 54 20 54 52 41 43 4b 2c 0d 0a 20 30 31 37 45 20 43 32 39   ┆RST TRACK,LAST TRACK,   017E C29┆
0x071a60…071a80             33 30 31 20 20 20 20 09 4a 4e 5a 09 53 45 54 44 38 09 3b 20 20 53 45 43 54 4f 52 53 20 50 52 20   ┆301     JNZ SETD8 ;  SECTORS PR ┆
0x071a80…071aa0             54 52 41 43 4b 29 20 3a 3d 0d 0a 20 30 31 38 31 20 33 45 30 30 20 20 20 20 20 20 09 4d 56 49 09   ┆TRACK) :=   0181 3E00       MVI ┆
0x071aa0…071ac0             41 2c 30 09 3b 0d 0a 20 30 31 38 33 20 33 32 41 31 30 34 20 20 20 20 09 53 54 41 09 46 54 52 4b   ┆A,0 ;   0183 32A104     STA FTRK┆
0x071ac0…071ae0             09 3b 0d 0a 20 30 31 38 36 20 33 45 34 43 20 20 20 20 20 20 09 4d 56 49 09 41 2c 37 36 09 3b 20   ┆ ;   0186 3E4C       MVI A,76 ; ┆
0x071ae0…071b00             20 49 46 20 46 4f 52 4d 41 54 3d 20 38 22 20 53 53 20 54 48 45 4e 0d 0a 20 30 31 38 38 20 33 32   ┆ IF FORMAT= 8" SS THEN   0188 32┆
0x071b00…071b20             41 32 30 34 20 20 20 20 09 53 54 41 09 4c 54 52 4b 09 3b 20 20 20 28 30 2c 37 36 2c 32 36 29 20   ┆A204     STA LTRK ;   (0,76,26) ┆
0x071b20…071b40             20 20 20 20 20 20 45 4c 53 45 0d 0a 20 30 31 38 42 20 33 45 31 41 20 20 20 20 20 20 09 4d 56 49   ┆      ELSE   018B 3E1A       MVI┆
0x071b40…071b60             09 41 2c 32 36 09 3b 0d 0a 20 30 31 38 44 20 33 32 41 33 30 34 20 20 20 20 09 53 54 41 09 53 50   ┆ A,26 ;   018D 32A304     STA SP┆
0x071b60…071b80             54 09 3b 0d 0a 20 30 31 39 30 20 43 33 43 31 30 31 20 20 20 20 09 4a 4d 50 09 53 45 54 43 54 09   ┆T ;   0190 C3C101     JMP SETCT ┆
0x071b80…071ba0             3b 20 20 0d 0a 20 30 31 39 33 20 46 45 30 38 20 20 20 20 20 20 53 45 54 44 38 3a 09 43 50 49 09   ┆;     0193 FE08      SETD8: CPI ┆
0x071ba0…071bc0             44 44 38 09 3b 20 20 49 46 20 46 4f 52 4d 41 54 3d 20 38 22 20 44 44 20 54 48 45 4e 0d 0a 20 30   ┆DD8 ;  IF FORMAT= 8" DD THEN   0┆
0x071bc0…071be0             31 39 35 20 43 32 41 41 30 31 20 20 20 20 09 4a 4e 5a 09 53 45 54 35 09 3b 20 20 20 28 31 2c 36   ┆195 C2AA01     JNZ SET5 ;   (1,6┆
0x071be0…071c00             31 2c 31 32 30 29 20 20 20 20 20 20 45 4c 53 45 0d 0a 20 30 31 39 38 20 33 45 30 31 20 20 20 20   ┆1,120)      ELSE   0198 3E01    ┆
0x071c00…071c20 (30, 0, 11) 20 20 20 52 45 41 44 53 3a 09 43 41 4c 4c 09 44 52 45 41 44 09 3b 20 52 45 41 44 20 53 45 43 54   ┆   READS: CALL DREAD ; READ SECT┆
0x071c20…071c40             4f 52 3b 0d 0a 20 30 32 30 35 20 31 31 32 36 30 34 20 20 20 20 09 4c 58 49 09 44 2c 42 41 44 53   ┆OR;   0205 112604     LXI D,BADS┆
0x071c40…071c60             09 3b 0d 0a 20 30 32 30 38 20 42 37 20 20 20 20 20 20 20 20 09 4f 52 41 09 41 09 3b 20 49 46 20   ┆ ;   0208 B7         ORA A ; IF ┆
0x071c60…071c80             45 52 52 4f 52 53 20 54 48 45 4e 20 50 52 49 4e 54 20 57 41 52 4e 49 4e 47 3b 0d 0a 20 30 32 30   ┆ERRORS THEN PRINT WARNING;   020┆
0x071c80…071ca0             39 20 43 34 35 31 30 33 20 20 20 20 09 43 4e 5a 09 45 52 52 4f 52 09 3b 0d 0a 20 30 32 30 43 20   ┆9 C45103     CNZ ERROR ;   020C ┆
0x071ca0…071cc0             43 31 20 20 20 20 20 20 20 20 09 50 4f 50 09 42 09 3b 0d 0a 20 30 32 30 44 20 30 43 20 20 20 20   ┆C1         POP B ;   020D 0C    ┆
0x071cc0…071ce0             20 20 20 20 09 49 4e 52 09 43 09 3b 20 53 45 43 3a 3d 20 53 45 43 20 2b 20 31 3b 0d 0a 20 30 32   ┆     INR C ; SEC:= SEC + 1;   02┆
0x071ce0…071d00             30 45 20 33 41 41 33 30 34 20 20 20 20 09 4c 44 41 09 53 50 54 09 3b 0d 0a 20 30 32 31 31 20 42   ┆0E 3AA304     LDA SPT ;   0211 B┆
0x071d00…071d20             39 20 20 20 20 20 20 20 20 09 43 4d 50 09 43 09 3b 20 49 46 20 53 45 43 3d 53 50 54 20 54 48 45   ┆9         CMP C ; IF SEC=SPT THE┆
0x071d20…071d40             4e 0d 0a 20 30 32 31 32 20 43 32 32 35 30 32 20 20 20 20 09 4a 4e 5a 09 4e 45 58 54 53 09 3b 20   ┆N   0212 C22502     JNZ NEXTS ; ┆
0x071d40…071d60             42 45 47 49 4e 0d 0a 20 30 32 31 35 20 33 41 41 32 30 34 20 20 20 20 09 4c 44 41 09 4c 54 52 4b   ┆BEGIN   0215 3AA204     LDA LTRK┆
0x071d60…071d80             09 3b 0d 0a 20 30 32 31 38 20 42 38 20 20 20 20 20 20 20 20 09 43 4d 50 09 42 09 3b 20 20 20 20   ┆ ;   0218 B8         CMP B ;    ┆
0x071d80…071da0             49 46 20 54 52 4b 3d 4c 41 53 54 20 54 48 45 4e 20 47 4f 54 4f 20 57 52 49 54 45 3b 0d 0a 20 30   ┆IF TRK=LAST THEN GOTO WRITE;   0┆
0x071da0…071dc0             32 31 39 20 43 41 34 39 30 32 20 20 20 20 09 4a 5a 09 57 44 41 54 09 3b 0d 0a 20 30 32 31 43 20   ┆219 CA4902     JZ WDAT ;   021C ┆
0x071dc0…071de0             30 34 20 20 20 20 20 20 20 20 09 49 4e 52 09 42 09 3b 20 20 20 20 54 52 4b 3a 3d 54 52 4b 2b 31   ┆04         INR B ;    TRK:=TRK+1┆
0x071de0…071e00             3b 0d 0a 20 30 32 31 44 20 30 45 30 30 20 20 20 20 20 20 09 4d 56 49 09 43 2c 30 09 3b 20 20 20   ┆;   021D 0E00       MVI C,0 ;   ┆
0x071e00…071e20 (30, 0, 12) 33 33 41 41 37 30 34 41 39 0d 0a 3a 31 30 30 32 37 30 30 30 34 46 43 44 30 45 30 33 33 41 41 38   ┆33AA704A9  :100270004FCD0E033AA8┆
0x071e20…071e40             30 34 34 46 33 41 41 37 30 34 34 37 43 35 43 44 31 38 30 33 34 33 0d 0a 3a 31 30 30 32 38 30 30   ┆044F3AA70447C5CD180343  :1002800┆
0x071e40…071e60             30 43 44 33 34 30 33 31 31 34 32 30 34 42 37 43 34 35 31 30 33 43 31 30 43 33 41 41 33 30 34 42   ┆0CD3403114204B7C45103C10C3AA304B┆
0x071e60…071e80             39 44 44 0d 0a 3a 31 30 30 32 39 30 30 30 43 32 41 33 30 32 33 41 41 32 30 34 42 38 43 41 44 36   ┆9DD  :10029000C2A3023AA204B8CAD6┆
0x071e80…071ea0             30 32 30 34 30 45 30 30 43 35 34 38 43 44 44 31 0d 0a 3a 31 30 30 32 41 30 30 30 30 45 30 33 43   ┆02040E00C548CDD1  :1002A0000E03C┆
0x071ea0…071ec0             31 43 35 43 44 31 38 30 33 32 41 41 39 30 34 32 42 32 32 41 39 30 34 43 31 37 43 43 31 0d 0a 3a   ┆1C5CD18032AA9042B22A904C17CC1  :┆
0x071ec0…071ee0             31 30 30 32 42 30 30 30 42 37 43 32 42 39 30 32 37 44 42 37 43 41 43 37 30 32 44 31 32 31 38 30   ┆1002B000B7C2B9027DB7CAC702D12180┆
0x071ee0…071f00             30 30 31 39 45 42 44 35 46 38 0d 0a 3a 31 30 30 32 43 30 30 30 43 35 43 44 32 32 30 33 43 33 38   ┆0019EBD5F8  :1002C000C5CD2203C38┆
0x071f00…071f20             30 30 32 37 38 33 32 41 37 30 34 37 39 33 32 41 38 30 34 44 31 42 35 0d 0a 3a 31 30 30 32 44 30   ┆0027832A7047932A804D1B5  :1002D0┆
0x071f20…071f40             30 30 43 44 45 42 30 32 43 33 43 43 30 31 43 44 45 42 30 32 31 31 38 41 30 34 43 44 34 37 30 33   ┆00CDEB02C3CC01CDEB02118A04CD4703┆
0x071f40…071f60             31 31 35 33 0d 0a 3a 31 30 30 32 45 30 30 30 36 33 30 34 43 44 34 37 30 33 43 44 34 43 30 33 43   ┆1153  :1002E0006304CD4703CD4C03C┆
0x071f60…071f80             33 30 30 30 30 33 41 41 37 30 34 34 46 30 44 37 30 0d 0a 3a 31 30 30 32 46 30 30 30 43 44 30 45   ┆300003AA7044F0D70  :1002F000CD0E┆
0x071f80…071fa0             30 33 33 41 41 38 30 34 34 46 43 44 31 38 30 33 43 44 32 43 30 33 31 31 34 32 30 34 42 30 0d 0a   ┆033AA8044FCD1803CD2C03114204B0  ┆
0x071fa0…071fc0             3a 31 30 30 33 30 30 30 30 42 37 43 34 35 31 30 33 43 39 34 46 32 41 30 31 30 30 31 31 31 38 30   ┆:10030000B7C45103C94F2A010011180┆
0x071fc0…071fe0             30 31 39 45 39 32 41 30 31 38 35 0d 0a 3a 31 30 30 33 31 30 30 30 30 30 31 31 31 42 30 30 31 39   ┆019E92A0185  :1003100000111B0019┆
0x071fe0…072000             30 36 30 30 45 39 32 41 30 31 30 30 31 31 31 45 30 30 31 39 30 36 33 30 0d 0a 3a 31 30 30 33 32   ┆0600E92A0100111E00190630  :10032┆
0x072000…072020 (30, 0, 13) 0d 0a 20 30 31 31 36 20 30 45 30 30 20 20 20 20 20 20 09 4d 56 49 09 43 2c 30 09 3b 0d 0a 20 30   ┆   0116 0E00       MVI C,0 ;   0┆
0x072020…072040             31 31 38 20 46 45 34 31 20 20 20 20 20 20 09 43 50 49 09 27 41 27 09 3b 0d 0a 20 30 31 31 41 20   ┆118 FE41       CPI 'A' ;   011A ┆
0x072040…072060             43 41 32 33 30 31 20 20 20 20 09 4a 5a 09 53 45 54 53 44 09 3b 0d 0a 20 30 31 31 44 20 46 45 34   ┆CA2301     JZ SETSD ;   011D FE4┆
0x072060…072080             32 20 20 20 20 20 20 09 43 50 49 09 27 42 27 09 3b 0d 0a 20 30 31 31 46 20 43 32 30 44 30 31 20   ┆2       CPI 'B' ;   011F C20D01 ┆
0x072080…0720a0             20 20 20 09 4a 4e 5a 09 50 53 50 09 3b 0d 0a 20 30 31 32 32 20 30 43 20 20 20 20 20 20 20 20 09   ┆    JNZ PSP ;   0122 0C         ┆
0x0720a0…0720c0             49 4e 52 09 43 09 3b 0d 0a 20 30 31 32 33 20 37 39 20 20 20 20 20 20 20 20 53 45 54 53 44 3a 09   ┆INR C ;   0123 79        SETSD: ┆
0x0720c0…0720e0             4d 4f 56 09 41 2c 43 09 3b 0d 0a 20 30 31 32 34 20 33 32 41 34 30 34 20 20 20 20 09 53 54 41 09   ┆MOV A,C ;   0124 32A404     STA ┆
0x0720e0…072100             53 44 52 49 56 09 3b 0d 0a 20 30 31 32 37 20 31 31 39 42 30 33 20 20 20 20 50 44 50 3a 09 4c 58   ┆SDRIV ;   0127 119B03    PDP: LX┆
0x072100…072120             49 09 44 2c 44 44 53 50 45 43 3b 20 50 52 49 4e 54 20 44 45 53 54 49 4e 41 54 49 4f 4e 20 50 52   ┆I D,DDSPEC; PRINT DESTINATION PR┆
0x072120…072140             4f 4d 50 54 3b 0d 0a 20 30 31 32 41 20 43 44 34 37 30 33 20 20 20 20 09 43 41 4c 4c 09 50 52 49   ┆OMPT;   012A CD4703     CALL PRI┆
0x072140…072160             4e 54 09 3b 0d 0a 20 30 31 32 44 20 43 44 34 43 30 33 20 20 20 20 09 43 41 4c 4c 09 43 4f 4e 53   ┆NT ;   012D CD4C03     CALL CONS┆
0x072160…072180             49 09 3b 20 47 45 54 20 44 45 53 54 49 4e 41 54 49 4f 4e 20 44 52 49 56 45 3b 0d 0a 20 30 31 33   ┆I ; GET DESTINATION DRIVE;   013┆
0x072180…0721a0             30 20 30 45 30 30 20 20 20 20 20 20 09 4d 56 49 09 43 2c 30 09 3b 0d 0a 20 30 31 33 32 20 46 45   ┆0 0E00       MVI C,0 ;   0132 FE┆
0x0721a0…0721c0             34 31 20 20 20 20 20 20 09 43 50 49 09 27 41 27 09 3b 0d 0a 20 30 31 33 34 20 43 41 33 44 30 31   ┆41       CPI 'A' ;   0134 CA3D01┆
0x0721c0…0721e0             20 20 20 20 09 4a 5a 09 53 45 54 44 44 09 3b 0d 0a 20 30 31 33 37 20 46 45 34 32 20 20 20 20 20   ┆     JZ SETDD ;   0137 FE42     ┆
0x0721e0…072200             20 09 43 50 49 09 27 42 27 09 3b 0d 0a 20 30 31 33 39 20 43 32 32 37 30 31 20 20 20 20 09 4a 4e   ┆  CPI 'B' ;   0139 C22701     JN┆
0x072200…072220 (30, 0, 14) 20 20 09 4d 56 49 09 41 2c 31 09 3b 0d 0a 20 30 31 39 41 20 33 32 41 31 30 34 20 20 20 20 09 53   ┆   MVI A,1 ;   019A 32A104     S┆
0x072220…072240             54 41 09 46 54 52 4b 09 3b 0d 0a 20 30 31 39 44 20 33 45 33 44 20 20 20 20 20 20 09 4d 56 49 09   ┆TA FTRK ;   019D 3E3D       MVI ┆
0x072240…072260             41 2c 36 31 09 3b 0d 0a 20 30 31 39 46 20 33 32 41 32 30 34 20 20 20 20 09 53 54 41 09 4c 54 52   ┆A,61 ;   019F 32A204     STA LTR┆
0x072260…072280             4b 09 3b 0d 0a 20 30 31 41 32 20 33 45 37 38 20 20 20 20 20 20 09 4d 56 49 09 41 2c 31 32 30 09   ┆K ;   01A2 3E78       MVI A,120 ┆
0x072280…0722a0             3b 0d 0a 20 30 31 41 34 20 33 32 41 33 30 34 20 20 20 20 09 53 54 41 09 53 50 54 09 3b 0d 0a 20   ┆;   01A4 32A304     STA SPT ;   ┆
0x0722a0…0722c0             30 31 41 37 20 43 33 43 31 30 31 20 20 20 20 09 4a 4d 50 09 53 45 54 43 54 09 3b 0d 0a 20 30 31   ┆01A7 C3C101     JMP SETCT ;   01┆
0x0722c0…0722e0             41 41 20 46 45 31 30 20 20 20 20 20 20 53 45 54 35 3a 09 43 50 49 09 44 44 35 09 3b 20 20 49 46   ┆AA FE10      SET5: CPI DD5 ;  IF┆
0x0722e0…072300             20 46 4f 52 4d 41 54 3d 20 35 22 20 44 44 20 54 48 45 4e 0d 0a 20 30 31 41 43 20 31 31 42 43 30   ┆ FORMAT= 5" DD THEN   01AC 11BC0┆
0x072300…072320             33 20 20 20 20 09 4c 58 49 09 44 2c 4e 4f 54 4f 4b 09 3b 20 20 20 28 31 2c 33 31 2c 37 32 29 3b   ┆3     LXI D,NOTOK ;   (1,31,72);┆
0x072320…072340             0d 0a 20 30 31 41 46 20 43 34 33 45 30 33 20 20 20 20 09 43 4e 5a 09 46 49 4e 49 53 09 3b 0d 0a   ┆   01AF C43E03     CNZ FINIS ;  ┆
0x072340…072360             20 30 31 42 32 20 33 45 30 31 20 20 20 20 20 20 09 4d 56 49 09 41 2c 31 09 3b 0d 0a 20 30 31 42   ┆ 01B2 3E01       MVI A,1 ;   01B┆
0x072360…072380             34 20 33 32 41 31 30 34 20 20 20 20 09 53 54 41 09 46 54 52 4b 09 3b 0d 0a 20 30 31 42 37 20 33   ┆4 32A104     STA FTRK ;   01B7 3┆
0x072380…0723a0             45 31 46 20 20 20 20 20 20 09 4d 56 49 09 41 2c 33 31 09 3b 0d 0a 20 30 31 42 39 20 33 32 41 32   ┆E1F       MVI A,31 ;   01B9 32A2┆
0x0723a0…0723c0             30 34 20 20 20 20 09 53 54 41 09 4c 54 52 4b 09 3b 0d 0a 20 30 31 42 43 20 33 45 34 38 20 20 20   ┆04     STA LTRK ;   01BC 3E48   ┆
0x0723c0…0723e0             20 20 20 09 4d 56 49 09 41 2c 37 32 09 3b 0d 0a 20 30 31 42 45 20 33 32 41 33 30 34 20 20 20 20   ┆    MVI A,72 ;   01BE 32A304    ┆
0x0723e0…072400             09 53 54 41 09 53 50 54 09 3b 0d 0a 20 30 31 43 31 20 33 41 41 31 30 34 20 20 20 20 53 45 54 43   ┆ STA SPT ;   01C1 3AA104    SETC┆
0x072400…072420 (30, 0, 15) 20 53 45 43 3a 3d 30 3b 0d 0a 20 30 32 31 46 20 43 35 20 20 20 20 20 20 20 20 09 50 55 53 48 09   ┆ SEC:=0;   021F C5         PUSH ┆
0x072420…072440             42 09 3b 0d 0a 20 30 32 32 30 20 34 38 20 20 20 20 20 20 20 20 09 4d 4f 56 09 43 2c 42 09 3b 0d   ┆B ;   0220 48         MOV C,B ; ┆
0x072440…072460             0a 20 30 32 32 31 20 43 44 30 45 30 33 20 20 20 20 09 43 41 4c 4c 09 54 52 4b 09 3b 20 20 20 20   ┆  0221 CD0E03     CALL TRK ;    ┆
0x072460…072480             53 45 54 20 54 52 41 43 4b 28 54 52 4b 29 3b 0d 0a 20 30 32 32 34 20 43 31 20 20 20 20 20 20 20   ┆SET TRACK(TRK);   0224 C1       ┆
0x072480…0724a0             20 09 50 4f 50 09 42 09 3b 20 45 4e 44 3b 0d 0a 20 30 32 32 35 20 43 35 20 20 20 20 20 20 20 20   ┆  POP B ; END;   0225 C5        ┆
0x0724a0…0724c0             4e 45 58 54 53 3a 20 20 50 55 53 48 09 42 09 3b 0d 0a 20 30 32 32 36 20 43 44 31 38 30 33 20 20   ┆NEXTS:  PUSH B ;   0226 CD1803  ┆
0x0724c0…0724e0             20 20 09 43 41 4c 4c 09 53 45 43 09 3b 20 53 45 54 20 53 45 43 54 4f 52 28 53 45 43 29 3b 0d 0a   ┆   CALL SEC ; SET SECTOR(SEC);  ┆
0x0724e0…072500             20 30 32 32 39 20 32 41 41 39 30 34 20 20 20 20 09 4c 48 4c 44 09 53 45 43 43 4e 54 09 3b 0d 0a   ┆ 0229 2AA904     LHLD SECCNT ;  ┆
0x072500…072520             20 30 32 32 43 20 32 42 20 20 20 20 20 20 20 20 09 44 43 58 09 48 09 3b 20 53 45 43 54 4f 52 43   ┆ 022C 2B         DCX H ; SECTORC┆
0x072520…072540             4f 55 4e 54 3a 3d 53 45 43 54 4f 52 43 4f 55 4e 54 2d 31 3b 0d 0a 20 30 32 32 44 20 32 32 41 39   ┆OUNT:=SECTORCOUNT-1;   022D 22A9┆
0x072540…072560             30 34 20 20 20 20 09 53 48 4c 44 09 53 45 43 43 4e 54 09 3b 0d 0a 20 30 32 33 30 20 43 31 20 20   ┆04     SHLD SECCNT ;   0230 C1  ┆
0x072560…072580             20 20 20 20 20 20 09 50 4f 50 09 42 09 3b 0d 0a 20 30 32 33 31 20 37 43 20 20 20 20 20 20 20 20   ┆       POP B ;   0231 7C        ┆
0x072580…0725a0             09 4d 4f 56 09 41 2c 48 09 3b 20 49 46 20 53 45 43 54 4f 52 43 4f 55 4e 54 3d 30 20 54 48 45 4e   ┆ MOV A,H ; IF SECTORCOUNT=0 THEN┆
0x0725a0…0725c0             20 47 4f 54 4f 20 57 52 49 54 45 3b 0d 0a 20 30 32 33 32 20 42 37 20 20 20 20 20 20 20 20 09 4f   ┆ GOTO WRITE;   0232 B7         O┆
0x0725c0…0725e0             52 41 09 41 09 3b 0d 0a 20 30 32 33 33 20 43 32 33 42 30 32 20 20 20 20 09 4a 4e 5a 09 53 44 4d   ┆RA A ;   0233 C23B02     JNZ SDM┆
0x0725e0…072600             41 09 3b 0d 0a 20 30 32 33 36 20 37 44 20 20 20 20 20 20 20 20 09 4d 4f 56 09 41 2c 4c 09 3b 0d   ┆A ;   0236 7D         MOV A,L ; ┆
0x072600…072620 (30, 1, 1)  30 30 30 30 30 45 39 32 41 30 31 30 30 34 32 34 42 31 31 32 31 30 30 31 39 45 39 32 41 30 31 30   ┆00000E92A0100424B11210019E92A010┆
0x072620…072640             30 31 31 42 43 0d 0a 3a 31 30 30 33 33 30 30 30 32 34 30 30 31 39 45 39 32 41 30 31 30 30 31 31   ┆011BC  :10033000240019E92A010011┆
0x072640…072660             32 37 30 30 31 39 30 45 30 32 45 39 30 45 30 39 30 42 0d 0a 3a 31 30 30 33 34 30 30 30 43 44 30   ┆2700190E02E90E090B  :10034000CD0┆
0x072660…072680             35 30 30 32 41 39 46 30 34 45 39 30 45 30 39 43 33 30 35 30 30 30 45 30 31 43 33 30 35 36 46 0d   ┆5002A9F04E90E09C305000E01C3056F ┆
0x072680…0726a0             0a 3a 31 30 30 33 35 30 30 30 30 30 30 45 30 39 43 44 30 35 30 30 30 45 30 31 43 44 30 35 30 30   ┆ :10035000000E09CD05000E01CD0500┆
0x0726a0…0726c0             46 45 30 33 43 41 30 30 30 30 30 38 0d 0a 3a 31 30 30 33 36 30 30 30 43 39 35 32 34 33 33 37 33   ┆FE03CA000008  :10036000C95243373┆
0x0726c0…0726e0             30 33 30 32 30 32 30 34 33 35 30 32 46 34 44 32 30 32 30 34 32 34 31 38 36 0d 0a 3a 31 30 30 33   ┆030202043502F4D2020424186  :1003┆
0x0726e0…072700             37 30 30 30 34 33 34 42 35 35 35 30 32 30 32 30 35 35 35 34 34 39 34 43 34 39 35 34 35 39 30 44   ┆7000434B555020205554494C4954590D┆
0x072700…072720             32 34 30 44 39 38 0d 0a 3a 31 30 30 33 38 30 30 30 30 41 30 41 35 33 34 46 35 35 35 32 34 33 34   ┆240D98  :100380000A0A534F5552434┆
0x072720…072740             35 32 30 34 34 35 32 34 39 35 36 34 35 32 30 32 38 41 36 0d 0a 3a 31 30 30 33 39 30 30 30 34 31   ┆52044524956452028A6  :1003900041┆
0x072740…072760             32 30 34 46 35 32 32 30 34 32 32 39 32 30 33 46 32 30 32 34 30 44 30 41 30 41 34 34 34 35 38 33   ┆204F52204229203F20240D0A0A444583┆
0x072760…072780             0d 0a 3a 31 30 30 33 41 30 30 30 35 33 35 34 34 39 34 45 34 31 35 34 34 39 34 46 34 45 32 30 34   ┆  :1003A0005354494E4154494F4E204┆
0x072780…0727a0             34 35 32 34 39 35 36 34 35 32 30 44 41 0d 0a 3a 31 30 30 33 42 30 30 30 32 38 34 31 32 30 34 46   ┆45249564520DA  :1003B0002841204F┆
0x0727a0…0727c0             35 32 32 30 34 32 32 39 32 30 33 46 32 30 32 34 30 44 30 41 30 41 34 32 38 32 0d 0a 3a 31 30 30   ┆52204229203F20240D0A0A4282  :100┆
0x0727c0…0727e0             33 43 30 30 30 34 31 34 33 34 42 35 35 35 30 32 30 34 45 34 46 35 34 32 30 35 30 34 46 35 33 35   ┆3C00041434B5550204E4F5420504F535┆
0x0727e0…072800             33 34 39 34 32 42 38 0d 0a 3a 31 30 30 33 44 30 30 30 34 43 34 35 32 34 30 44 30 41 34 39 34 45   ┆34942B8  :1003D0004C45240D0A494E┆
0x072800…072820 (30, 1, 2)  4e 5a 09 4e 45 58 54 44 09 3b 20 42 45 47 49 4e 0d 0a 20 30 32 39 33 20 33 41 41 32 30 34 20 20   ┆NZ NEXTD ; BEGIN   0293 3AA204  ┆
0x072820…072840             20 20 09 4c 44 41 09 4c 54 52 4b 09 3b 0d 0a 20 30 32 39 36 20 42 38 20 20 20 20 20 20 20 20 09   ┆   LDA LTRK ;   0296 B8         ┆
0x072840…072860             43 4d 50 09 42 09 3b 20 20 20 20 49 46 20 54 52 4b 3d 4c 41 53 54 20 54 48 45 4e 20 47 4f 54 4f   ┆CMP B ;    IF TRK=LAST THEN GOTO┆
0x072860…072880             20 45 4e 44 3b 0d 0a 20 30 32 39 37 20 43 41 44 36 30 32 20 20 20 20 09 4a 5a 09 45 44 41 54 09   ┆ END;   0297 CAD602     JZ EDAT ┆
0x072880…0728a0             3b 0d 0a 20 30 32 39 41 20 30 34 20 20 20 20 20 20 20 20 09 49 4e 52 09 42 09 3b 20 20 20 20 54   ┆;   029A 04         INR B ;    T┆
0x0728a0…0728c0             52 4b 3a 3d 54 52 4b 2b 31 3b 0d 0a 20 30 32 39 42 20 30 45 30 30 20 20 20 20 20 20 09 4d 56 49   ┆RK:=TRK+1;   029B 0E00       MVI┆
0x0728c0…0728e0             09 43 2c 30 09 3b 20 20 20 20 53 45 43 3a 3d 30 3b 0d 0a 20 30 32 39 44 20 43 35 20 20 20 20 20   ┆ C,0 ;    SEC:=0;   029D C5     ┆
0x0728e0…072900             20 20 20 09 50 55 53 48 09 42 09 3b 0d 0a 20 30 32 39 45 20 34 38 20 20 20 20 20 20 20 20 09 4d   ┆    PUSH B ;   029E 48         M┆
0x072900…072920             4f 56 09 43 2c 42 09 3b 0d 0a 20 30 32 39 46 20 43 44 30 45 30 33 20 20 20 20 09 43 41 4c 4c 09   ┆OV C,B ;   029F CD0E03     CALL ┆
0x072920…072940             54 52 4b 09 3b 20 20 20 20 53 45 54 20 54 52 41 43 4b 28 54 52 4b 29 3b 0d 0a 20 30 32 41 32 20   ┆TRK ;    SET TRACK(TRK);   02A2 ┆
0x072940…072960             43 31 20 20 20 20 20 20 20 20 09 50 4f 50 09 42 09 3b 20 45 4e 44 3b 0d 0a 20 30 32 41 33 20 43   ┆C1         POP B ; END;   02A3 C┆
0x072960…072980             35 20 20 20 20 20 20 20 20 4e 45 58 54 44 3a 09 50 55 53 48 09 42 09 3b 0d 0a 20 30 32 41 34 20   ┆5        NEXTD: PUSH B ;   02A4 ┆
0x072980…0729a0             43 44 31 38 30 33 20 20 20 20 09 43 41 4c 4c 09 53 45 43 09 3b 20 53 45 54 20 53 45 43 54 4f 52   ┆CD1803     CALL SEC ; SET SECTOR┆
0x0729a0…0729c0             28 53 45 43 29 3b 0d 0a 20 30 32 41 37 20 32 41 41 39 30 34 20 20 20 20 09 4c 48 4c 44 09 53 45   ┆(SEC);   02A7 2AA904     LHLD SE┆
0x0729c0…0729e0             43 43 4e 54 09 3b 0d 0a 20 30 32 41 41 20 32 42 20 20 20 20 20 20 20 20 09 44 43 58 09 48 09 3b   ┆CCNT ;   02AA 2B         DCX H ;┆
0x0729e0…072a00             20 53 45 43 54 4f 52 43 4f 55 4e 54 3a 3d 53 45 43 54 4f 52 43 4f 55 4e 54 2d 31 3b 0d 0a 20 30   ┆ SECTORCOUNT:=SECTORCOUNT-1;   0┆
0x072a00…072a20 (30, 1, 3)  0d 0a 20 30 33 30 31 20 43 34 35 31 30 33 20 20 20 20 09 43 4e 5a 09 45 52 52 4f 52 09 3b 0d 0a   ┆   0301 C45103     CNZ ERROR ;  ┆
0x072a20…072a40             20 30 33 30 34 20 43 39 20 20 20 20 20 20 20 20 09 52 45 54 09 09 3b 0d 0a 20 20 20 20 20 20 20   ┆ 0304 C9         RET  ;         ┆
0x072a40…072a60             20 20 20 20 20 20 20 20 20 0d 0a 20 30 33 30 35 20 34 46 20 20 20 20 20 20 20 20 53 45 4c 3a 09   ┆            0305 4F        SEL: ┆
0x072a60…072a80             4d 4f 56 09 43 2c 41 09 3b 20 53 45 4c 45 43 54 20 44 52 49 56 45 20 49 4e 20 41 3a 0d 0a 20 30   ┆MOV C,A ; SELECT DRIVE IN A:   0┆
0x072a80…072aa0             33 30 36 20 32 41 30 31 30 30 20 20 20 20 09 4c 48 4c 44 09 57 42 4f 4f 54 09 3b 0d 0a 20 30 33   ┆306 2A0100     LHLD WBOOT ;   03┆
0x072aa0…072ac0             30 39 20 31 31 31 38 30 30 20 20 20 20 09 4c 58 49 09 44 2c 53 45 4c 44 53 4b 3b 0d 0a 20 30 33   ┆09 111800     LXI D,SELDSK;   03┆
0x072ac0…072ae0             30 43 20 31 39 20 20 20 20 20 20 20 20 09 44 41 44 09 44 09 3b 0d 0a 20 30 33 30 44 20 45 39 20   ┆0C 19         DAD D ;   030D E9 ┆
0x072ae0…072b00             20 20 20 20 20 20 20 09 50 43 48 4c 09 09 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆        PCHL  ;                 ┆
0x072b00…072b20             20 0d 0a 20 30 33 30 45 20 32 41 30 31 30 30 20 20 20 20 54 52 4b 3a 09 4c 48 4c 44 09 57 42 4f   ┆    030E 2A0100    TRK: LHLD WBO┆
0x072b20…072b40             4f 54 09 3b 20 53 45 54 20 54 52 41 43 4b 20 49 4e 20 43 3a 0d 0a 20 30 33 31 31 20 31 31 31 42   ┆OT ; SET TRACK IN C:   0311 111B┆
0x072b40…072b60             30 30 20 20 20 20 09 4c 58 49 09 44 2c 53 45 54 54 52 4b 3b 0d 0a 20 30 33 31 34 20 31 39 20 20   ┆00     LXI D,SETTRK;   0314 19  ┆
0x072b60…072b80             20 20 20 20 20 20 09 44 41 44 09 44 09 3b 0d 0a 20 30 33 31 35 20 30 36 30 30 20 20 20 20 20 20   ┆       DAD D ;   0315 0600      ┆
0x072b80…072ba0             09 4d 56 49 09 42 2c 30 09 3b 0d 0a 20 30 33 31 37 20 45 39 20 20 20 20 20 20 20 20 09 50 43 48   ┆ MVI B,0 ;   0317 E9         PCH┆
0x072ba0…072bc0             4c 09 09 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0d 0a 20 30 33 31 38 20 32 41   ┆L  ;                     0318 2A┆
0x072bc0…072be0             30 31 30 30 20 20 20 20 53 45 43 3a 09 4c 48 4c 44 09 57 42 4f 4f 54 09 3b 20 53 45 54 20 53 45   ┆0100    SEC: LHLD WBOOT ; SET SE┆
0x072be0…072c00             43 54 4f 52 20 49 4e 20 43 3a 0d 0a 20 30 33 31 42 20 31 31 31 45 30 30 20 20 20 20 09 4c 58 49   ┆CTOR IN C:   031B 111E00     LXI┆
0x072c00…072c20 (30, 1, 4)  44 49 53 4b 3a 20 44 42 09 31 33 2c 31 30 2c 27 49 4e 53 45 52 54 20 53 4f 55 52 43 45 20 44 49   ┆DISK: DB 13,10,'INSERT SOURCE DI┆
0x072c20…072c40             53 4b 20 41 4e 44 20 54 59 50 45 20 3c 52 45 54 55 52 4e 3e 27 2c 33 36 0d 0a 20 30 33 46 41 20   ┆SK AND TYPE <RETURN>',36   03FA ┆
0x072c40…072c60             30 44 30 41 34 39 34 45 35 33 4d 44 44 49 53 4b 3a 20 44 42 09 31 33 2c 31 30 2c 27 49 4e 53 45   ┆0D0A494E53MDDISK: DB 13,10,'INSE┆
0x072c60…072c80             52 54 20 44 45 53 54 49 4e 41 54 49 4f 4e 20 44 49 53 4b 20 41 4e 44 20 54 59 50 45 20 3c 52 45   ┆RT DESTINATION DISK AND TYPE <RE┆
0x072c80…072ca0             54 55 52 4e 3e 27 2c 33 36 0d 0a 20 30 34 32 36 20 30 44 30 41 34 32 34 31 34 34 42 41 44 53 3a   ┆TURN>',36   0426 0D0A424144BADS:┆
0x072ca0…072cc0             09 44 42 09 31 33 2c 31 30 2c 27 42 41 44 20 53 45 43 54 4f 52 20 4f 4e 20 53 4f 55 52 43 45 20   ┆ DB 13,10,'BAD SECTOR ON SOURCE ┆
0x072cc0…072ce0             44 49 53 4b 27 2c 33 36 0d 0a 20 30 34 34 32 20 30 44 30 41 34 32 34 31 34 34 42 41 44 44 3a 09   ┆DISK',36   0442 0D0A424144BADD: ┆
0x072ce0…072d00             44 42 09 31 33 2c 31 30 2c 27 42 41 44 20 53 45 43 54 4f 52 20 4f 4e 20 44 45 53 54 49 4e 41 54   ┆DB 13,10,'BAD SECTOR ON DESTINAT┆
0x072d00…072d20             49 4f 4e 20 44 49 53 4b 27 2c 33 36 0d 0a 20 30 34 36 33 20 30 44 30 41 34 39 34 45 35 33 4d 53   ┆ION DISK',36   0463 0D0A494E53MS┆
0x072d20…072d40             59 53 44 3a 09 44 42 09 31 33 2c 31 30 2c 27 49 4e 53 45 52 54 20 53 59 53 54 45 4d 20 44 49 53   ┆YSD: DB 13,10,'INSERT SYSTEM DIS┆
0x072d40…072d60             4b 20 41 4e 44 20 54 59 50 45 20 3c 52 45 54 55 52 4e 3e 27 2c 33 36 0d 0a 20 30 34 38 41 20 30   ┆K AND TYPE <RETURN>',36   048A 0┆
0x072d60…072d80             44 30 41 34 32 34 31 34 33 4f 4b 3a 09 44 42 09 31 33 2c 31 30 2c 27 42 41 43 4b 55 50 20 43 4f   ┆D0A424143OK: DB 13,10,'BACKUP CO┆
0x072d80…072da0             4d 50 4c 45 54 45 27 2c 33 36 0d 0a 20 30 34 39 43 20 30 44 30 41 32 34 20 20 20 20 43 52 4c 46   ┆MPLETE',36   049C 0D0A24    CRLF┆
0x072da0…072dc0             3a 09 44 42 09 31 33 2c 31 30 2c 33 36 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0d   ┆: DB 13,10,36                   ┆
0x072dc0…072de0             0a 20 30 34 39 46 20 30 30 30 30 20 20 20 20 20 20 43 43 50 52 45 54 3a 09 44 57 09 30 0d 0a 20   ┆  049F 0000      CCPRET: DW 0   ┆
0x072de0…072e00             20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0d 0a 20 30 34 41 31 20 30 30 20 20 20 20 20 20 20   ┆                  04A1 00       ┆
0x072e00…072e20 (30, 1, 5)  0a 20 30 32 33 37 20 42 37 20 20 20 20 20 20 20 20 09 4f 52 41 09 41 09 3b 0d 0a 20 30 32 33 38   ┆  0237 B7         ORA A ;   0238┆
0x072e20…072e40             20 43 41 34 39 30 32 20 20 20 20 09 4a 5a 09 57 44 41 54 09 3b 0d 0a 20 30 32 33 42 20 44 31 20   ┆ CA4902     JZ WDAT ;   023B D1 ┆
0x072e40…072e60             20 20 20 20 20 20 20 53 44 4d 41 3a 09 50 4f 50 09 44 09 3b 0d 0a 20 30 32 33 43 20 32 31 38 30   ┆       SDMA: POP D ;   023C 2180┆
0x072e60…072e80             30 30 20 20 20 20 09 4c 58 49 09 48 2c 31 32 38 09 3b 20 44 4d 41 20 41 44 44 52 3a 3d 20 44 4d   ┆00     LXI H,128 ; DMA ADDR:= DM┆
0x072e80…072ea0             41 20 41 44 44 52 20 2b 20 31 32 38 3b 0d 0a 20 30 32 33 46 20 31 39 20 20 20 20 20 20 20 20 09   ┆A ADDR + 128;   023F 19         ┆
0x072ea0…072ec0             44 41 44 09 44 09 3b 0d 0a 20 30 32 34 30 20 45 42 20 20 20 20 20 20 20 20 09 58 43 48 47 09 09   ┆DAD D ;   0240 EB         XCHG  ┆
0x072ec0…072ee0             3b 0d 0a 20 30 32 34 31 20 44 35 20 20 20 20 20 20 20 20 09 50 55 53 48 09 44 09 3b 0d 0a 20 30   ┆;   0241 D5         PUSH D ;   0┆
0x072ee0…072f00             32 34 32 20 43 35 20 20 20 20 20 20 20 20 09 50 55 53 48 09 42 09 3b 0d 0a 20 30 32 34 33 20 43   ┆242 C5         PUSH B ;   0243 C┆
0x072f00…072f20             44 32 32 30 33 20 20 20 20 09 43 41 4c 4c 09 44 4d 41 09 3b 0d 0a 20 30 32 34 36 20 43 33 30 32   ┆D2203     CALL DMA ;   0246 C302┆
0x072f20…072f40             30 32 20 20 20 20 09 4a 4d 50 09 52 45 41 44 53 09 3b 20 47 4f 54 4f 20 52 45 41 44 20 53 45 43   ┆02     JMP READS ; GOTO READ SEC┆
0x072f40…072f60             54 4f 52 3b 0d 0a 20 30 32 34 39 20 44 31 20 20 20 20 20 20 20 20 57 44 41 54 3a 09 50 4f 50 09   ┆TOR;   0249 D1        WDAT: POP ┆
0x072f60…072f80             44 09 3b 20 57 52 49 54 45 20 44 41 54 41 3a 0d 0a 20 30 32 34 41 20 33 41 41 36 30 34 20 20 20   ┆D ; WRITE DATA:   024A 3AA604   ┆
0x072f80…072fa0             20 09 4c 44 41 09 44 46 4c 41 47 09 3b 0d 0a 20 30 32 34 44 20 42 37 20 20 20 20 20 20 20 20 09   ┆  LDA DFLAG ;   024D B7         ┆
0x072fa0…072fc0             4f 52 41 09 41 09 3b 20 49 46 20 44 45 53 54 49 4e 41 54 49 4f 4e 20 44 52 49 56 45 20 3d 20 53   ┆ORA A ; IF DESTINATION DRIVE = S┆
0x072fc0…072fe0             4f 55 52 43 45 20 44 52 49 56 45 0d 0a 20 30 32 34 45 20 43 32 35 41 30 32 20 20 20 20 09 4a 4e   ┆OURCE DRIVE   024E C25A02     JN┆
0x072fe0…073000             5a 09 53 45 4c 44 45 09 3b 20 20 54 48 45 4e 20 57 41 49 54 20 46 4f 52 20 44 49 53 4b 20 43 48   ┆Z SELDE ;  THEN WAIT FOR DISK CH┆
0x073000…073020 (30, 1, 6)  32 41 42 20 32 32 41 39 30 34 20 20 20 20 09 53 48 4c 44 09 53 45 43 43 4e 54 09 3b 0d 0a 20 30   ┆2AB 22A904     SHLD SECCNT ;   0┆
0x073020…073040             32 41 45 20 43 31 20 20 20 20 20 20 20 20 09 50 4f 50 09 42 09 3b 20 49 46 20 53 45 43 54 4f 52   ┆2AE C1         POP B ; IF SECTOR┆
0x073040…073060             43 4f 55 4e 54 3d 30 20 54 48 45 4e 0d 0a 20 30 32 41 46 20 37 43 20 20 20 20 20 20 20 20 09 4d   ┆COUNT=0 THEN   02AF 7C         M┆
0x073060…073080             4f 56 09 41 2c 48 09 3b 20 20 47 4f 54 4f 20 4e 45 58 54 20 52 45 41 44 3b 0d 0a 20 30 32 42 30   ┆OV A,H ;  GOTO NEXT READ;   02B0┆
0x073080…0730a0             20 42 37 20 20 20 20 20 20 20 20 09 4f 52 41 09 41 09 3b 0d 0a 20 30 32 42 31 20 43 32 42 39 30   ┆ B7         ORA A ;   02B1 C2B90┆
0x0730a0…0730c0             32 20 20 20 20 09 4a 4e 5a 09 44 44 4d 41 09 3b 0d 0a 20 30 32 42 34 20 37 44 20 20 20 20 20 20   ┆2     JNZ DDMA ;   02B4 7D      ┆
0x0730c0…0730e0             20 20 09 4d 4f 56 09 41 2c 4c 09 3b 0d 0a 20 30 32 42 35 20 42 37 20 20 20 20 20 20 20 20 09 4f   ┆   MOV A,L ;   02B5 B7         O┆
0x0730e0…073100             52 41 09 41 09 3b 0d 0a 20 30 32 42 36 20 43 41 43 37 30 32 20 20 20 20 09 4a 5a 09 4e 44 41 54   ┆RA A ;   02B6 CAC702     JZ NDAT┆
0x073100…073120             09 3b 0d 0a 20 30 32 42 39 20 44 31 20 20 20 20 20 20 20 20 44 44 4d 41 3a 09 50 4f 50 09 44 09   ┆ ;   02B9 D1        DDMA: POP D ┆
0x073120…073140             3b 0d 0a 20 30 32 42 41 20 32 31 38 30 30 30 20 20 20 20 09 4c 58 49 09 48 2c 31 32 38 09 3b 0d   ┆;   02BA 218000     LXI H,128 ; ┆
0x073140…073160             0a 20 30 32 42 44 20 31 39 20 20 20 20 20 20 20 20 09 44 41 44 09 44 09 3b 0d 0a 20 30 32 42 45   ┆  02BD 19         DAD D ;   02BE┆
0x073160…073180             20 45 42 20 20 20 20 20 20 20 20 09 58 43 48 47 09 09 3b 0d 0a 20 30 32 42 46 20 44 35 20 20 20   ┆ EB         XCHG  ;   02BF D5   ┆
0x073180…0731a0             20 20 20 20 20 09 50 55 53 48 09 44 09 3b 0d 0a 20 30 32 43 30 20 43 35 20 20 20 20 20 20 20 20   ┆      PUSH D ;   02C0 C5        ┆
0x0731a0…0731c0             09 50 55 53 48 09 42 09 3b 20 44 4d 41 20 41 44 44 52 3a 3d 20 44 4d 41 20 41 44 44 52 20 2b 20   ┆ PUSH B ; DMA ADDR:= DMA ADDR + ┆
0x0731c0…0731e0             31 32 38 3b 0d 0a 20 30 32 43 31 20 43 44 32 32 30 33 20 20 20 20 09 43 41 4c 4c 09 44 4d 41 09   ┆128;   02C1 CD2203     CALL DMA ┆
0x0731e0…073200             3b 0d 0a 20 30 32 43 34 20 43 33 38 30 30 32 20 20 20 20 09 4a 4d 50 09 57 52 49 54 45 44 09 3b   ┆;   02C4 C38002     JMP WRITED ;┆
0x073200…073220 (30, 1, 7)  09 44 2c 53 45 54 53 45 43 3b 0d 0a 20 30 33 31 45 20 31 39 20 20 20 20 20 20 20 20 09 44 41 44   ┆ D,SETSEC;   031E 19         DAD┆
0x073220…073240             09 44 09 3b 0d 0a 20 30 33 31 46 20 30 36 30 30 20 20 20 20 20 20 09 4d 56 49 09 42 2c 30 09 3b   ┆ D ;   031F 0600       MVI B,0 ;┆
0x073240…073260             0d 0a 20 30 33 32 31 20 45 39 20 20 20 20 20 20 20 20 09 50 43 48 4c 09 09 3b 0d 0a 20 20 20 20   ┆   0321 E9         PCHL  ;      ┆
0x073260…073280             20 20 20 20 20 20 20 20 20 20 20 20 0d 0a 20 30 33 32 32 20 32 41 30 31 30 30 20 20 20 20 44 4d   ┆               0322 2A0100    DM┆
0x073280…0732a0             41 3a 09 4c 48 4c 44 09 57 42 4f 4f 54 09 3b 20 53 45 54 20 44 4d 41 20 41 44 44 52 45 53 53 20   ┆A: LHLD WBOOT ; SET DMA ADDRESS ┆
0x0732a0…0732c0             49 4e 20 44 2c 45 3a 0d 0a 20 30 33 32 35 20 34 32 20 20 20 20 20 20 20 20 09 4d 4f 56 09 42 2c   ┆IN D,E:   0325 42         MOV B,┆
0x0732c0…0732e0             44 09 3b 0d 0a 20 30 33 32 36 20 34 42 20 20 20 20 20 20 20 20 09 4d 4f 56 09 43 2c 45 09 3b 0d   ┆D ;   0326 4B         MOV C,E ; ┆
0x0732e0…073300             0a 20 30 33 32 37 20 31 31 32 31 30 30 20 20 20 20 09 4c 58 49 09 44 2c 53 45 54 44 4d 41 3b 0d   ┆  0327 112100     LXI D,SETDMA; ┆
0x073300…073320             0a 20 30 33 32 41 20 31 39 20 20 20 20 20 20 20 20 09 44 41 44 09 44 09 3b 0d 0a 20 30 33 32 42   ┆  032A 19         DAD D ;   032B┆
0x073320…073340             20 45 39 20 20 20 20 20 20 20 20 09 50 43 48 4c 09 09 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20   ┆ E9         PCHL  ;             ┆
0x073340…073360             20 20 20 20 20 0d 0a 20 30 33 32 43 20 32 41 30 31 30 30 20 20 20 20 44 52 45 41 44 3a 09 4c 48   ┆        032C 2A0100    DREAD: LH┆
0x073360…073380             4c 44 09 57 42 4f 4f 54 09 3b 20 52 45 41 44 20 53 45 43 54 4f 52 3a 0d 0a 20 30 33 32 46 20 31   ┆LD WBOOT ; READ SECTOR:   032F 1┆
0x073380…0733a0             31 32 34 30 30 20 20 20 20 09 4c 58 49 09 44 2c 52 45 41 44 46 09 3b 0d 0a 20 30 33 33 32 20 31   ┆12400     LXI D,READF ;   0332 1┆
0x0733a0…0733c0             39 20 20 20 20 20 20 20 20 09 44 41 44 09 44 09 3b 0d 0a 20 30 33 33 33 20 45 39 20 20 20 20 20   ┆9         DAD D ;   0333 E9     ┆
0x0733c0…0733e0             20 20 20 09 50 43 48 4c 09 09 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0d 0a 20   ┆    PCHL  ;                     ┆
0x0733e0…073400             30 33 33 34 20 32 41 30 31 30 30 20 20 20 20 44 57 52 49 54 45 3a 09 4c 48 4c 44 09 57 42 4f 4f   ┆0334 2A0100    DWRITE: LHLD WBOO┆
0x073400…073420 (30, 1, 8)  35 33 34 35 35 32 35 34 32 30 35 33 34 46 35 35 35 32 31 33 0d 0a 3a 31 30 30 33 45 30 30 30 34   ┆5345525420534F555213  :1003E0004┆
0x073420…073440             33 34 35 32 30 34 34 34 39 35 33 34 42 32 30 34 31 34 45 34 34 32 30 35 34 35 39 35 30 34 35 45   ┆345204449534B20414E442054595045E┆
0x073440…073460             35 0d 0a 3a 31 30 30 33 46 30 30 30 32 30 33 43 35 32 34 35 35 34 35 35 35 32 34 45 33 45 32 34   ┆5  :1003F000203C52455455524E3E24┆
0x073460…073480             30 44 30 41 34 39 34 45 35 33 34 35 31 39 0d 0a 3a 31 30 30 34 30 30 30 30 35 32 35 34 32 30 34   ┆0D0A494E534519  :100400005254204┆
0x073480…0734a0             34 34 35 35 33 35 34 34 39 34 45 34 31 35 34 34 39 34 46 34 45 32 30 34 34 38 30 0d 0a 3a 31 30   ┆4455354494E4154494F4E204480  :10┆
0x0734a0…0734c0             30 34 31 30 30 30 34 39 35 33 34 42 32 30 34 31 34 45 34 34 32 30 35 34 35 39 35 30 34 35 32 30   ┆04100049534B20414E44205459504520┆
0x0734c0…0734e0             33 43 35 32 34 35 41 44 0d 0a 3a 31 30 30 34 32 30 30 30 35 34 35 35 35 32 34 45 33 45 32 34 30   ┆3C5245AD  :100420005455524E3E240┆
0x0734e0…073500             44 30 41 34 32 34 31 34 34 32 30 35 33 34 35 34 33 35 34 46 34 0d 0a 3a 31 30 30 34 33 30 30 30   ┆D0A4241442053454354F4  :10043000┆
0x073500…073520             34 46 35 32 32 30 34 46 34 45 32 30 35 33 34 46 35 35 35 32 34 33 34 35 32 30 34 34 34 39 35 33   ┆4F52204F4E20534F5552434520444953┆
0x073520…073540             36 44 0d 0a 3a 31 30 30 34 34 30 30 30 34 42 32 34 30 44 30 41 34 32 34 31 34 34 32 30 35 33 34   ┆6D  :100440004B240D0A42414420534┆
0x073540…073560             35 34 33 35 34 34 46 35 32 32 30 34 46 30 30 0d 0a 3a 31 30 30 34 35 30 30 30 34 45 32 30 34 34   ┆543544F52204F00  :100450004E2044┆
0x073560…073580             34 35 35 33 35 34 34 39 34 45 34 31 35 34 34 39 34 46 34 45 32 30 34 34 34 39 33 46 0d 0a 3a 31   ┆455354494E4154494F4E2044493F  :1┆
0x073580…0735a0             30 30 34 36 30 30 30 35 33 34 42 32 34 30 44 30 41 34 39 34 45 35 33 34 35 35 32 35 34 32 30 35   ┆0046000534B240D0A494E53455254205┆
0x0735a0…0735c0             33 35 39 35 33 35 34 36 42 0d 0a 3a 31 30 30 34 37 30 30 30 34 35 34 44 32 30 34 34 34 39 35 33   ┆35953546B  :10047000454D20444953┆
0x0735c0…0735e0             34 42 32 30 34 31 34 45 34 34 32 30 35 34 35 39 35 30 34 35 34 41 0d 0a 3a 31 30 30 34 38 30 30   ┆4B20414E4420545950454A  :1004800┆
0x0735e0…073600             30 32 30 33 43 35 32 34 35 35 34 35 35 35 32 34 45 33 45 32 34 30 44 30 41 34 32 34 31 34 33 34   ┆0203C52455455524E3E240D0A4241434┆
0x073600…073620 (30, 1, 9)  41 4e 47 45 3b 0d 0a 20 30 32 35 31 20 31 31 46 41 30 33 20 20 20 20 09 4c 58 49 09 44 2c 4d 44   ┆ANGE;   0251 11FA03     LXI D,MD┆
0x073620…073640             44 49 53 4b 3b 0d 0a 20 30 32 35 34 20 43 44 34 37 30 33 20 20 20 20 09 43 41 4c 4c 09 50 52 49   ┆DISK;   0254 CD4703     CALL PRI┆
0x073640…073660             4e 54 09 3b 0d 0a 20 30 32 35 37 20 43 44 34 43 30 33 20 20 20 20 09 43 41 4c 4c 09 43 4f 4e 53   ┆NT ;   0257 CD4C03     CALL CONS┆
0x073660…073680             49 09 3b 0d 0a 20 30 32 35 41 20 33 41 41 35 30 34 20 20 20 20 53 45 4c 44 45 3a 09 4c 44 41 09   ┆I ;   025A 3AA504    SELDE: LDA ┆
0x073680…0736a0             44 44 52 49 56 09 3b 0d 0a 20 30 32 35 44 20 43 44 30 35 30 33 20 20 20 20 09 43 41 4c 4c 09 53   ┆DDRIV ;   025D CD0503     CALL S┆
0x0736a0…0736c0             45 4c 09 3b 20 53 45 4c 45 43 54 28 44 45 53 54 49 4e 41 54 49 4f 4e 20 44 52 49 56 45 29 3b 0d   ┆EL ; SELECT(DESTINATION DRIVE); ┆
0x0736c0…0736e0             0a 20 30 32 36 30 20 32 31 36 38 30 31 20 20 20 20 09 4c 58 49 09 48 2c 33 36 30 09 3b 0d 0a 20   ┆  0260 216801     LXI H,360 ;   ┆
0x0736e0…073700             30 32 36 33 20 32 32 41 39 30 34 20 20 20 20 09 53 48 4c 44 09 53 45 43 43 4e 54 09 3b 20 53 45   ┆0263 22A904     SHLD SECCNT ; SE┆
0x073700…073720             43 54 4f 52 43 4f 55 4e 54 3a 3d 20 33 36 30 3b 0d 0a 20 30 32 36 36 20 31 31 43 42 30 34 20 20   ┆CTORCOUNT:= 360;   0266 11CB04  ┆
0x073720…073740             20 20 09 4c 58 49 09 44 2c 42 55 46 09 3b 0d 0a 20 30 32 36 39 20 44 35 20 20 20 20 20 20 20 20   ┆   LXI D,BUF ;   0269 D5        ┆
0x073740…073760             09 50 55 53 48 09 44 09 3b 0d 0a 20 30 32 36 41 20 43 44 32 32 30 33 20 20 20 20 09 43 41 4c 4c   ┆ PUSH D ;   026A CD2203     CALL┆
0x073760…073780             09 44 4d 41 09 3b 20 44 4d 41 20 41 44 44 52 3a 3d 20 53 54 41 52 54 20 4f 46 20 42 55 46 46 45   ┆ DMA ; DMA ADDR:= START OF BUFFE┆
0x073780…0737a0             52 3b 0d 0a 20 30 32 36 44 20 33 41 41 37 30 34 20 20 20 20 09 4c 44 41 09 43 55 52 54 52 4b 09   ┆R;   026D 3AA704     LDA CURTRK ┆
0x0737a0…0737c0             3b 0d 0a 20 30 32 37 30 20 34 46 20 20 20 20 20 20 20 20 09 4d 4f 56 09 43 2c 41 09 3b 0d 0a 20   ┆;   0270 4F         MOV C,A ;   ┆
0x0737c0…0737e0             30 32 37 31 20 43 44 30 45 30 33 20 20 20 20 09 43 41 4c 4c 09 54 52 4b 09 3b 20 53 45 54 20 54   ┆0271 CD0E03     CALL TRK ; SET T┆
0x0737e0…073800             52 41 43 4b 28 54 52 4b 3a 3d 43 55 52 20 54 52 4b 29 3b 0d 0a 20 30 32 37 34 20 33 41 41 38 30   ┆RACK(TRK:=CUR TRK);   0274 3AA80┆
0x073800…073820 (30, 1, 10) 20 47 4f 54 4f 20 57 52 49 54 45 20 53 45 43 54 4f 52 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20   ┆ GOTO WRITE SECTOR;             ┆
0x073820…073840             20 20 20 20 20 0d 0a 20 30 32 43 37 20 37 38 20 20 20 20 20 20 20 20 4e 44 41 54 3a 09 4d 4f 56   ┆        02C7 78        NDAT: MOV┆
0x073840…073860             09 41 2c 42 09 3b 20 4e 45 58 54 20 52 45 41 44 3a 0d 0a 20 30 32 43 38 20 33 32 41 37 30 34 20   ┆ A,B ; NEXT READ:   02C8 32A704 ┆
0x073860…073880             20 20 20 09 53 54 41 09 43 55 52 54 52 4b 09 3b 0d 0a 20 30 32 43 42 20 37 39 20 20 20 20 20 20   ┆    STA CURTRK ;   02CB 79      ┆
0x073880…0738a0             20 20 09 4d 4f 56 09 41 2c 43 09 3b 20 43 55 52 54 52 4b 3a 3d 54 52 4b 3b 0d 0a 20 30 32 43 43   ┆   MOV A,C ; CURTRK:=TRK;   02CC┆
0x0738a0…0738c0             20 33 32 41 38 30 34 20 20 20 20 09 53 54 41 09 43 55 52 53 45 43 09 3b 20 43 55 52 53 45 43 3a   ┆ 32A804     STA CURSEC ; CURSEC:┆
0x0738c0…0738e0             3d 53 45 43 3b 0d 0a 20 30 32 43 46 20 44 31 20 20 20 20 20 20 20 20 09 50 4f 50 09 44 09 3b 0d   ┆=SEC;   02CF D1         POP D ; ┆
0x0738e0…073900             0a 20 30 32 44 30 20 43 44 45 42 30 32 20 20 20 20 09 43 41 4c 4c 09 46 4c 55 53 48 09 3b 20 46   ┆  02D0 CDEB02     CALL FLUSH ; F┆
0x073900…073920             4c 55 53 48 20 42 55 46 46 45 52 3b 0d 0a 20 30 32 44 33 20 43 33 43 43 30 31 20 20 20 20 09 4a   ┆LUSH BUFFER;   02D3 C3CC01     J┆
0x073920…073940             4d 50 09 52 44 41 54 09 3b 20 47 4f 54 4f 20 52 45 41 44 20 44 41 54 41 3b 0d 0a 20 20 20 20 20   ┆MP RDAT ; GOTO READ DATA;       ┆
0x073940…073960             20 20 20 20 20 20 20 20 20 20 20 0d 0a 20 30 32 44 36 20 43 44 45 42 30 32 20 20 20 20 45 44 41   ┆              02D6 CDEB02    EDA┆
0x073960…073980             54 3a 09 43 41 4c 4c 09 46 4c 55 53 48 09 3b 20 45 4e 44 20 4f 46 20 43 4f 50 59 3a 0d 0a 20 30   ┆T: CALL FLUSH ; END OF COPY:   0┆
0x073980…0739a0             32 44 39 20 31 31 38 41 30 34 20 20 20 20 09 4c 58 49 09 44 2c 4f 4b 09 3b 0d 0a 20 30 32 44 43   ┆2D9 118A04     LXI D,OK ;   02DC┆
0x0739a0…0739c0             20 43 44 34 37 30 33 20 20 20 20 09 43 41 4c 4c 09 50 52 49 4e 54 09 3b 20 43 4f 50 59 20 43 4f   ┆ CD4703     CALL PRINT ; COPY CO┆
0x0739c0…0739e0             4d 50 4c 45 54 45 3b 0d 0a 20 30 32 44 46 20 31 31 36 33 30 34 20 20 20 20 09 4c 58 49 09 44 2c   ┆MPLETE;   02DF 116304     LXI D,┆
0x0739e0…073a00             4d 53 59 53 44 09 3b 0d 0a 20 30 32 45 32 20 43 44 34 37 30 33 20 20 20 20 09 43 41 4c 4c 09 50   ┆MSYSD ;   02E2 CD4703     CALL P┆
0x073a00…073a20 (30, 1, 11) 54 09 3b 20 57 52 49 54 45 20 53 45 43 54 4f 52 3a 0d 0a 20 30 33 33 37 20 31 31 32 37 30 30 20   ┆T ; WRITE SECTOR:   0337 112700 ┆
0x073a20…073a40             20 20 20 09 4c 58 49 09 44 2c 57 52 49 54 45 46 3b 0d 0a 20 30 33 33 41 20 31 39 20 20 20 20 20   ┆    LXI D,WRITEF;   033A 19     ┆
0x073a40…073a60             20 20 20 09 44 41 44 09 44 09 3b 0d 0a 20 30 33 33 42 20 30 45 30 32 20 20 20 20 20 20 09 4d 56   ┆    DAD D ;   033B 0E02       MV┆
0x073a60…073a80             49 09 43 2c 32 09 3b 20 57 52 49 54 45 20 54 59 50 45 3a 3d 20 55 4e 41 4c 4c 4f 43 41 54 45 44   ┆I C,2 ; WRITE TYPE:= UNALLOCATED┆
0x073a80…073aa0             3b 0d 0a 20 30 33 33 44 20 45 39 20 20 20 20 20 20 20 20 09 50 43 48 4c 09 09 3b 0d 0a 20 20 20   ┆;   033D E9         PCHL  ;     ┆
0x073aa0…073ac0             20 20 20 20 20 20 20 20 20 20 20 20 20 0d 0a 20 30 33 33 45 20 30 45 30 39 20 20 20 20 20 20 46   ┆                033E 0E09      F┆
0x073ac0…073ae0             49 4e 49 53 3a 09 4d 56 49 09 43 2c 50 52 49 4e 54 46 3b 0d 0a 20 30 33 34 30 20 43 44 30 35 30   ┆INIS: MVI C,PRINTF;   0340 CD050┆
0x073ae0…073b00             30 20 20 20 20 09 43 41 4c 4c 09 42 44 4f 53 09 3b 0d 0a 20 30 33 34 33 20 32 41 39 46 30 34 20   ┆0     CALL BDOS ;   0343 2A9F04 ┆
0x073b00…073b20             20 20 20 09 4c 48 4c 44 09 43 43 50 52 45 54 09 3b 0d 0a 20 30 33 34 36 20 45 39 20 20 20 20 20   ┆    LHLD CCPRET ;   0346 E9     ┆
0x073b20…073b40             20 20 20 09 50 43 48 4c 09 09 3b 20 52 45 54 55 52 4e 20 54 4f 20 43 43 50 3b 0d 0a 20 20 20 20   ┆    PCHL  ; RETURN TO CCP;      ┆
0x073b40…073b60             20 20 20 20 20 20 20 20 20 20 20 20 0d 0a 20 30 33 34 37 20 30 45 30 39 20 20 20 20 20 20 50 52   ┆               0347 0E09      PR┆
0x073b60…073b80             49 4e 54 3a 09 4d 56 49 09 43 2c 50 52 49 4e 54 46 3b 0d 0a 20 30 33 34 39 20 43 33 30 35 30 30   ┆INT: MVI C,PRINTF;   0349 C30500┆
0x073b80…073ba0             20 20 20 20 09 4a 4d 50 09 42 44 4f 53 09 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆     JMP BDOS ;                 ┆
0x073ba0…073bc0             20 0d 0a 20 30 33 34 43 20 30 45 30 31 20 20 20 20 20 20 43 4f 4e 53 49 3a 09 4d 56 49 09 43 2c   ┆    034C 0E01      CONSI: MVI C,┆
0x073bc0…073be0             43 4f 4e 53 49 46 3b 0d 0a 20 30 33 34 45 20 43 33 30 35 30 30 20 20 20 20 09 4a 4d 50 09 42 44   ┆CONSIF;   034E C30500     JMP BD┆
0x073be0…073c00             4f 53 09 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0d 0a 20 30 33 35 31 20 30 45   ┆OS ;                     0351 0E┆
0x073c00…073c20 (30, 1, 12) 42 41 36 0d 0a 3a 31 30 30 34 39 30 30 30 35 35 35 30 32 30 34 33 34 46 34 44 35 30 34 43 34 35   ┆BA6  :10049000555020434F4D504C45┆
0x073c20…073c40             35 34 34 35 32 34 30 44 30 41 32 34 30 30 44 46 0d 0a 3a 30 42 30 34 41 30 30 30 30 30 30 30 30   ┆5445240D0A2400DF  :0B04A00000000┆
0x073c40…073c60             30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 35 31 0d 0a 3a 30 32 30 34 43 42 30 30 30 30   ┆0000000000000000051  :0204CB0000┆
0x073c60…073c80             30 30 32 46 0d 0a 3a 30 30 30 31 30 30 30 30 46 46 0d 0a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a   ┆002F  :00010000FF               ┆
0x073c80…073ca0             09 68 2c 30 30 30 30 68 09 3b 72 65 74 75 72 6e 20 30 30 30 30 20 69 66 20 65 72 72 6f 72 0d 0a   ┆ h,0000h ;return 0000 if error  ┆
0x073ca0…073cc0             09 6d 6f 76 09 61 2c 63 0d 0a 09 63 70 69 09 6e 64 69 73 6b 73 09 3b 74 6f 6f 20 6c 61 72 67 65   ┆ mov a,c   cpi ndisks ;too large┆
0x073cc0…073ce0             3f 0d 0a 09 72 6e 63 09 09 3b 6c 65 61 76 65 20 48 4c 20 3d 20 30 30 30 30 0d 0a 3b 0d 0a 09 61   ┆?   rnc  ;leave HL = 0000  ;   a┆
0x073ce0…073d00             6e 69 09 31 30 62 09 3b 30 30 20 30 30 20 66 6f 72 20 64 72 69 76 65 20 30 2c 31 20 61 6e 64 20   ┆ni 10b ;00 00 for drive 0,1 and ┆
0x073d00…073d20             31 30 20 31 30 20 66 6f 72 20 64 72 69 76 65 20 32 2c 33 0d 0a 09 73 74 61 09 64 62 61 6e 6b 09   ┆10 10 for drive 2,3   sta dbank ┆
0x073d20…073d40             3b 74 6f 20 73 65 6c 65 63 74 20 64 72 69 76 65 20 62 61 6e 6b 0d 0a 09 6d 6f 76 09 61 2c 63 09   ┆;to select drive bank   mov a,c ┆
0x073d40…073d60             3b 30 30 2c 20 30 31 2c 20 31 30 2c 20 31 31 0d 0a 09 61 6e 69 09 31 62 09 3b 6d 64 73 20 68 61   ┆;00, 01, 10, 11   ani 1b ;mds ha┆
0x073d60…073d80             73 20 30 2c 31 20 61 74 20 37 38 2c 20 32 2c 33 20 61 74 20 38 38 0d 0a 09 6f 72 61 09 61 09 3b   ┆s 0,1 at 78, 2,3 at 88   ora a ;┆
0x073d80…073da0             72 65 73 75 6c 74 20 30 30 3f 0d 0a 09 6a 7a 09 73 65 74 64 72 69 76 65 0d 0a 09 6d 76 69 09 61   ┆result 00?   jz setdrive   mvi a┆
0x073da0…073dc0             2c 30 30 31 31 30 30 30 30 62 09 3b 73 65 6c 65 63 74 73 20 64 72 69 76 65 20 31 20 69 6e 20 62   ┆,00110000b ;selects drive 1 in b┆
0x073dc0…073de0             61 6e 6b 0d 0a 73 65 74 64 72 69 76 65 3a 0d 0a 09 6d 6f 76 09 62 2c 61 09 3b 73 61 76 65 20 74   ┆ank  setdrive:   mov b,a ;save t┆
0x073de0…073e00             68 65 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 6c 78 69 09 68 2c 69 6f 66 09 3b 69 6f 20 66 75 6e 63   ┆he function   lxi h,iof ;io func┆
0x073e00…073e20 (30, 1, 13) 34 20 20 20 20 09 4c 44 41 09 43 55 52 53 45 43 09 3b 0d 0a 20 30 32 37 37 20 34 46 20 20 20 20   ┆4     LDA CURSEC ;   0277 4F    ┆
0x073e20…073e40             20 20 20 20 09 4d 4f 56 09 43 2c 41 09 3b 0d 0a 20 30 32 37 38 20 33 41 41 37 30 34 20 20 20 20   ┆     MOV C,A ;   0278 3AA704    ┆
0x073e40…073e60             09 4c 44 41 09 43 55 52 54 52 4b 09 3b 0d 0a 20 30 32 37 42 20 34 37 20 20 20 20 20 20 20 20 09   ┆ LDA CURTRK ;   027B 47         ┆
0x073e60…073e80             4d 4f 56 09 42 2c 41 09 3b 0d 0a 20 30 32 37 43 20 43 35 20 20 20 20 20 20 20 20 09 50 55 53 48   ┆MOV B,A ;   027C C5         PUSH┆
0x073e80…073ea0             09 42 09 3b 20 53 45 54 20 53 45 43 54 4f 52 28 53 45 43 3a 3d 43 55 52 20 53 45 43 29 3b 0d 0a   ┆ B ; SET SECTOR(SEC:=CUR SEC);  ┆
0x073ea0…073ec0             20 30 32 37 44 20 43 44 31 38 30 33 20 20 20 20 09 43 41 4c 4c 09 53 45 43 09 3b 0d 0a 20 30 32   ┆ 027D CD1803     CALL SEC ;   02┆
0x073ec0…073ee0             38 30 20 43 44 33 34 30 33 20 20 20 20 57 52 49 54 45 44 3a 09 43 41 4c 4c 09 44 57 52 49 54 45   ┆80 CD3403    WRITED: CALL DWRITE┆
0x073ee0…073f00             09 3b 20 57 52 49 54 45 20 53 45 43 54 4f 52 3b 0d 0a 20 30 32 38 33 20 31 31 34 32 30 34 20 20   ┆ ; WRITE SECTOR;   0283 114204  ┆
0x073f00…073f20             20 20 09 4c 58 49 09 44 2c 42 41 44 44 09 3b 0d 0a 20 30 32 38 36 20 42 37 20 20 20 20 20 20 20   ┆   LXI D,BADD ;   0286 B7       ┆
0x073f20…073f40             20 09 4f 52 41 09 41 09 3b 20 49 46 20 45 52 52 4f 52 53 20 54 48 45 4e 20 50 52 49 4e 54 20 57   ┆  ORA A ; IF ERRORS THEN PRINT W┆
0x073f40…073f60             41 52 4e 49 4e 47 3b 0d 0a 20 30 32 38 37 20 43 34 35 31 30 33 20 20 20 20 09 43 4e 5a 09 45 52   ┆ARNING;   0287 C45103     CNZ ER┆
0x073f60…073f80             52 4f 52 09 3b 0d 0a 20 30 32 38 41 20 43 31 20 20 20 20 20 20 20 20 09 50 4f 50 09 42 09 3b 0d   ┆ROR ;   028A C1         POP B ; ┆
0x073f80…073fa0             0a 20 30 32 38 42 20 30 43 20 20 20 20 20 20 20 20 09 49 4e 52 09 43 09 3b 20 53 45 43 3a 3d 20   ┆  028B 0C         INR C ; SEC:= ┆
0x073fa0…073fc0             53 45 43 2b 31 3b 0d 0a 20 30 32 38 43 20 33 41 41 33 30 34 20 20 20 20 09 4c 44 41 09 53 50 54   ┆SEC+1;   028C 3AA304     LDA SPT┆
0x073fc0…073fe0             09 3b 0d 0a 20 30 32 38 46 20 42 39 20 20 20 20 20 20 20 20 09 43 4d 50 09 43 09 3b 20 49 46 20   ┆ ;   028F B9         CMP C ; IF ┆
0x073fe0…074000             53 45 43 3d 53 50 54 20 54 48 45 4e 0d 0a 20 30 32 39 30 20 43 32 41 33 30 32 20 20 20 20 09 4a   ┆SEC=SPT THEN   0290 C2A302     J┆
0x074000…074020 (30, 1, 14) 52 49 4e 54 09 3b 20 57 41 49 54 20 46 4f 52 20 43 48 41 4e 47 45 20 54 4f 20 53 59 53 54 45 4d   ┆RINT ; WAIT FOR CHANGE TO SYSTEM┆
0x074020…074040             20 44 49 53 4b 3a 0d 0a 20 30 32 45 35 20 43 44 34 43 30 33 20 20 20 20 09 43 41 4c 4c 09 43 4f   ┆ DISK:   02E5 CD4C03     CALL CO┆
0x074040…074060             4e 53 49 09 3b 0d 0a 20 30 32 45 38 20 43 33 30 30 30 30 20 20 20 20 09 4a 4d 50 09 42 4f 4f 54   ┆NSI ;   02E8 C30000     JMP BOOT┆
0x074060…074080             09 3b 20 57 41 52 4d 20 42 4f 4f 54 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0d 0a   ┆ ; WARM BOOT                    ┆
0x074080…0740a0             20 30 32 45 42 20 33 41 41 37 30 34 20 20 20 20 46 4c 55 53 48 3a 09 4c 44 41 09 43 55 52 54 52   ┆ 02EB 3AA704    FLUSH: LDA CURTR┆
0x0740a0…0740c0             4b 09 3b 20 46 4f 52 43 45 20 42 55 46 46 45 52 20 57 52 49 54 45 3a 0d 0a 20 30 32 45 45 20 34   ┆K ; FORCE BUFFER WRITE:   02EE 4┆
0x0740c0…0740e0             46 20 20 20 20 20 20 20 20 09 4d 4f 56 09 43 2c 41 09 3b 0d 0a 20 30 32 45 46 20 30 44 20 20 20   ┆F         MOV C,A ;   02EF 0D   ┆
0x0740e0…074100             20 20 20 20 20 09 44 43 52 09 43 09 3b 0d 0a 20 30 32 46 30 20 43 44 30 45 30 33 20 20 20 20 09   ┆      DCR C ;   02F0 CD0E03     ┆
0x074100…074120             43 41 4c 4c 09 54 52 4b 09 3b 20 53 45 54 20 54 52 41 43 4b 28 43 55 52 54 52 4b 2d 31 29 3b 0d   ┆CALL TRK ; SET TRACK(CURTRK-1); ┆
0x074120…074140             0a 20 30 32 46 33 20 33 41 41 38 30 34 20 20 20 20 09 4c 44 41 09 43 55 52 53 45 43 09 3b 0d 0a   ┆  02F3 3AA804     LDA CURSEC ;  ┆
0x074140…074160             20 30 32 46 36 20 34 46 20 20 20 20 20 20 20 20 09 4d 4f 56 09 43 2c 41 09 3b 0d 0a 20 30 32 46   ┆ 02F6 4F         MOV C,A ;   02F┆
0x074160…074180             37 20 43 44 31 38 30 33 20 20 20 20 09 43 41 4c 4c 09 53 45 43 09 3b 20 53 45 54 20 53 45 43 54   ┆7 CD1803     CALL SEC ; SET SECT┆
0x074180…0741a0             4f 52 28 43 55 52 53 45 43 29 3b 0d 0a 20 30 32 46 41 20 43 44 32 43 30 33 20 20 20 20 09 43 41   ┆OR(CURSEC);   02FA CD2C03     CA┆
0x0741a0…0741c0             4c 4c 09 44 52 45 41 44 09 3b 0d 0a 20 30 32 46 44 20 31 31 34 32 30 34 20 20 20 20 09 4c 58 49   ┆LL DREAD ;   02FD 114204     LXI┆
0x0741c0…0741e0             09 44 2c 42 41 44 44 09 3b 0d 0a 20 30 33 30 30 20 42 37 20 20 20 20 20 20 20 20 09 4f 52 41 09   ┆ D,BADD ;   0300 B7         ORA ┆
0x0741e0…074200             41 09 3b 20 49 46 20 45 52 52 4f 52 20 54 48 45 4e 20 50 52 49 4e 54 20 57 41 52 4e 49 4e 47 3b   ┆A ; IF ERROR THEN PRINT WARNING;┆
0x074200…074220 (30, 1, 15) 30 39 20 20 20 20 20 20 45 52 52 4f 52 3a 09 4d 56 49 09 43 2c 50 52 49 4e 54 46 3b 20 44 49 53   ┆09      ERROR: MVI C,PRINTF; DIS┆
0x074220…074240             4b 20 45 52 52 4f 52 3a 0d 0a 20 30 33 35 33 20 43 44 30 35 30 30 20 20 20 20 09 43 41 4c 4c 09   ┆K ERROR:   0353 CD0500     CALL ┆
0x074240…074260             42 44 4f 53 09 3b 0d 0a 20 30 33 35 36 20 30 45 30 31 20 20 20 20 20 20 09 4d 56 49 09 43 2c 43   ┆BDOS ;   0356 0E01       MVI C,C┆
0x074260…074280             4f 4e 53 49 46 3b 0d 0a 20 30 33 35 38 20 43 44 30 35 30 30 20 20 20 20 09 43 41 4c 4c 09 42 44   ┆ONSIF;   0358 CD0500     CALL BD┆
0x074280…0742a0             4f 53 09 3b 0d 0a 20 30 33 35 42 20 46 45 30 33 20 20 20 20 20 20 09 43 50 49 09 33 09 3b 0d 0a   ┆OS ;   035B FE03       CPI 3 ;  ┆
0x0742a0…0742c0             20 30 33 35 44 20 43 41 30 30 30 30 20 20 20 20 09 4a 5a 09 42 4f 4f 54 09 3b 0d 0a 20 30 33 36   ┆ 035D CA0000     JZ BOOT ;   036┆
0x0742c0…0742e0             30 20 43 39 20 20 20 20 20 20 20 20 09 52 45 54 09 09 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20   ┆0 C9         RET  ;             ┆
0x0742e0…074300             20 20 20 20 20 0d 0a 20 30 33 36 31 20 35 32 34 33 33 37 33 30 33 30 48 45 41 44 3a 09 44 42 09   ┆        0361 5243373030HEAD: DB ┆
0x074300…074320             27 52 43 37 30 30 20 20 43 50 2f 4d 20 20 42 41 43 4b 55 50 20 20 55 54 49 4c 49 54 59 27 2c 31   ┆'RC700  CP/M  BACKUP  UTILITY',1┆
0x074320…074340             33 2c 33 36 0d 0a 20 30 33 37 46 20 30 44 30 41 30 41 35 33 34 46 53 44 53 50 45 43 3a 09 44 42   ┆3,36   037F 0D0A0A534FSDSPEC: DB┆
0x074340…074360             09 31 33 2c 31 30 2c 31 30 2c 27 53 4f 55 52 43 45 20 44 52 49 56 45 20 28 41 20 4f 52 20 42 29   ┆ 13,10,10,'SOURCE DRIVE (A OR B)┆
0x074360…074380             20 3f 20 27 2c 33 36 0d 0a 20 30 33 39 42 20 30 44 30 41 30 41 34 34 34 35 44 44 53 50 45 43 3a   ┆ ? ',36   039B 0D0A0A4445DDSPEC:┆
0x074380…0743a0             09 44 42 09 31 33 2c 31 30 2c 31 30 2c 27 44 45 53 54 49 4e 41 54 49 4f 4e 20 44 52 49 56 45 20   ┆ DB 13,10,10,'DESTINATION DRIVE ┆
0x0743a0…0743c0             28 41 20 4f 52 20 42 29 20 3f 20 27 2c 33 36 0d 0a 20 30 33 42 43 20 30 44 30 41 30 41 34 32 34   ┆(A OR B) ? ',36   03BC 0D0A0A424┆
0x0743c0…0743e0             31 4e 4f 54 4f 4b 3a 09 44 42 09 31 33 2c 31 30 2c 31 30 2c 27 42 41 43 4b 55 50 20 4e 4f 54 20   ┆1NOTOK: DB 13,10,10,'BACKUP NOT ┆
0x0743e0…074400             50 4f 53 53 49 42 4c 45 27 2c 33 36 0d 0a 20 30 33 44 33 20 30 44 30 41 34 39 34 45 35 33 4d 53   ┆POSSIBLE',36   03D3 0D0A494E53MS┆
0x074400…074420 (31, 0, 1)  74 69 6f 6e 0d 0a 09 6d 6f 76 09 61 2c 6d 0d 0a 09 61 6e 69 09 31 31 30 30 31 31 31 31 62 09 3b   ┆tion   mov a,m   ani 11001111b ;┆
0x074420…074440             6d 61 73 6b 20 6f 75 74 20 64 69 73 6b 20 6e 75 6d 62 65 72 0d 0a 09 6f 72 61 09 62 09 3b 6d 61   ┆mask out disk number   ora b ;ma┆
0x074440…074460             73 6b 20 69 6e 20 6e 65 77 20 64 69 73 6b 20 6e 75 6d 62 65 72 0d 0a 09 6d 6f 76 09 6d 2c 61 09   ┆sk in new disk number   mov m,a ┆
0x074460…074480             3b 73 61 76 65 20 69 74 20 69 6e 20 69 6f 70 62 0d 0a 09 6d 6f 76 09 6c 2c 63 0d 0a 09 6d 76 69   ┆;save it in iopb   mov l,c   mvi┆
0x074480…0744a0             09 68 2c 30 09 3b 48 4c 3d 64 69 73 6b 20 6e 75 6d 62 65 72 0d 0a 09 64 61 64 09 68 09 3b 2a 32   ┆ h,0 ;HL=disk number   dad h ;*2┆
0x0744a0…0744c0             0d 0a 09 64 61 64 09 68 09 3b 2a 34 0d 0a 09 64 61 64 09 68 09 3b 2a 38 0d 0a 09 64 61 64 09 68   ┆   dad h ;*4   dad h ;*8   dad h┆
0x0744c0…0744e0             09 3b 2a 31 36 0d 0a 09 6c 78 69 09 64 2c 64 70 62 61 73 65 0d 0a 09 64 61 64 09 64 09 3b 48 4c   ┆ ;*16   lxi d,dpbase   dad d ;HL┆
0x0744e0…074500             3d 64 69 73 6b 20 68 65 61 64 65 72 20 74 61 62 6c 65 20 61 64 64 72 65 73 73 0d 0a 09 72 65 74   ┆=disk header table address   ret┆
0x074500…074520             0d 0a 3b 0d 0a 3b 0d 0a 73 65 74 74 72 6b 3a 09 3b 73 65 74 20 74 72 61 63 6b 20 61 64 64 72 65   ┆  ;  ;  settrk: ;set track addre┆
0x074520…074540             73 73 20 67 69 76 65 6e 20 62 79 20 63 0d 0a 09 6c 78 69 09 68 2c 69 6f 74 0d 0a 09 6d 6f 76 09   ┆ss given by c   lxi h,iot   mov ┆
0x074540…074560             6d 2c 63 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 73 65 74 73 65 63 3a 09 3b 73 65 74 20 73 65 63 74 6f   ┆m,c   ret  ;  setsec: ;set secto┆
0x074560…074580             72 20 6e 75 6d 62 65 72 20 67 69 76 65 6e 20 62 79 20 63 0d 0a 09 6c 78 69 09 68 2c 69 6f 73 0d   ┆r number given by c   lxi h,ios ┆
0x074580…0745a0             0a 09 6d 6f 76 09 6d 2c 63 0d 0a 09 72 65 74 0d 0a 73 65 63 74 72 61 6e 3a 0d 0a 09 09 3b 74 72   ┆  mov m,c   ret  sectran:    ;tr┆
0x0745a0…0745c0             61 6e 73 6c 61 74 65 20 73 65 63 74 6f 72 20 62 63 20 75 73 69 6e 67 20 74 61 62 6c 65 20 61 74   ┆anslate sector bc using table at┆
0x0745c0…0745e0             20 64 65 0d 0a 09 6d 76 69 09 62 2c 30 09 3b 64 6f 75 62 6c 65 20 70 72 65 63 69 73 69 6f 6e 20   ┆ de   mvi b,0 ;double precision ┆
0x0745e0…074600             73 65 63 74 6f 72 20 6e 75 6d 62 65 72 20 69 6e 20 42 43 0d 0a 09 78 63 68 67 09 09 3b 74 72 61   ┆sector number in BC   xchg  ;tra┆
0x074600…074620 (31, 0, 2)  0a 09 6d 76 69 09 62 2c 69 6f 70 62 20 73 68 72 20 38 09 3b 68 69 67 68 20 61 64 64 72 65 73 73   ┆  mvi b,iopb shr 8 ;high address┆
0x074620…074640             20 66 6f 72 20 69 6f 70 62 0d 0a 09 6a 6e 7a 09 69 6f 64 72 31 09 3b 64 72 69 76 65 20 62 61 6e   ┆ for iopb   jnz iodr1 ;drive ban┆
0x074640…074660             6b 20 31 3f 0d 0a 09 6f 75 74 09 69 6c 6f 77 09 09 3b 6c 6f 77 20 61 64 64 72 65 73 73 20 74 6f   ┆k 1?   out ilow  ;low address to┆
0x074660…074680             20 63 6f 6e 74 72 6f 6c 6c 65 72 0d 0a 09 6d 6f 76 09 61 2c 62 0d 0a 09 6f 75 74 09 69 68 69 67   ┆ controller   mov a,b   out ihig┆
0x074680…0746a0             68 09 3b 68 69 67 68 20 61 64 64 72 65 73 73 0d 0a 09 6a 6d 70 09 77 61 69 74 30 09 09 3b 74 6f   ┆h ;high address   jmp wait0  ;to┆
0x0746a0…0746c0             20 77 61 69 74 20 66 6f 72 20 63 6f 6d 70 6c 65 74 65 0d 0a 3b 0d 0a 69 6f 64 72 31 3a 09 3b 64   ┆ wait for complete  ;  iodr1: ;d┆
0x0746c0…0746e0             72 69 76 65 20 62 61 6e 6b 20 31 0d 0a 09 6f 75 74 09 69 6c 6f 77 2b 31 30 68 09 3b 38 38 20 66   ┆rive bank 1   out ilow+10h ;88 f┆
0x0746e0…074700             6f 72 20 64 72 69 76 65 20 62 61 6e 6b 20 31 30 0d 0a 09 6d 6f 76 09 61 2c 62 0d 0a 09 6f 75 74   ┆or drive bank 10   mov a,b   out┆
0x074700…074720             09 69 68 69 67 68 2b 31 30 68 0d 0a 3b 0d 0a 77 61 69 74 30 3a 09 63 61 6c 6c 09 69 6e 73 74 61   ┆ ihigh+10h  ;  wait0: call insta┆
0x074720…074740             74 09 09 3b 77 61 69 74 20 66 6f 72 20 63 6f 6d 70 6c 65 74 69 6f 6e 0d 0a 09 61 6e 69 09 69 6f   ┆t  ;wait for completion   ani io┆
0x074740…074760             72 64 79 09 09 3b 72 65 61 64 79 3f 0d 0a 09 6a 7a 09 77 61 69 74 30 0d 0a 3b 0d 0a 3b 09 63 68   ┆rdy  ;ready?   jz wait0  ;  ; ch┆
0x074760…074780             65 63 6b 20 69 6f 20 63 6f 6d 70 6c 65 74 69 6f 6e 20 6f 6b 0d 0a 09 63 61 6c 6c 09 69 6e 74 79   ┆eck io completion ok   call inty┆
0x074780…0747a0             70 65 09 09 3b 6d 75 73 74 20 62 65 20 69 6f 20 63 6f 6d 70 6c 65 74 65 20 28 30 30 29 20 75 6e   ┆pe  ;must be io complete (00) un┆
0x0747a0…0747c0             6c 69 6e 6b 65 64 0d 0a 3b 09 30 30 20 75 6e 6c 69 6e 6b 65 64 20 69 2f 6f 20 63 6f 6d 70 6c 65   ┆linked  ; 00 unlinked i/o comple┆
0x0747c0…0747e0             74 65 2c 20 20 20 20 30 31 20 6c 69 6e 6b 65 64 20 69 2f 6f 20 63 6f 6d 70 6c 65 74 65 20 28 6e   ┆te,    01 linked i/o complete (n┆
0x0747e0…074800             6f 74 20 75 73 65 64 29 0d 0a 3b 09 31 30 20 64 69 73 6b 20 73 74 61 74 75 73 20 63 68 61 6e 67   ┆ot used)  ; 10 disk status chang┆
0x074800…074820 (31, 0, 3)  33 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 69 6e 62 79 74 65 3a 09 6c 64 61 09 64 62 61 6e 6b 0d 0a 09   ┆3   ret  ;  inbyte: lda dbank   ┆
0x074820…074840             6f 72 61 09 61 0d 0a 09 6a 6e 7a 09 69 6e 62 79 74 31 0d 0a 09 69 6e 09 72 62 79 74 65 0d 0a 09   ┆ora a   jnz inbyt1   in rbyte   ┆
0x074840…074860             72 65 74 0d 0a 69 6e 62 79 74 31 3a 09 69 6e 09 72 62 79 74 65 2b 31 30 68 0d 0a 09 72 65 74 0d   ┆ret  inbyt1: in rbyte+10h   ret ┆
0x074860…074880             0a 3b 0d 0a 69 6e 73 74 61 74 3a 09 6c 64 61 09 64 62 61 6e 6b 0d 0a 09 6f 72 61 09 61 0d 0a 09   ┆ ;  instat: lda dbank   ora a   ┆
0x074880…0748a0             6a 6e 7a 09 69 6e 73 74 61 31 0d 0a 09 69 6e 09 64 73 74 61 74 0d 0a 09 72 65 74 0d 0a 69 6e 73   ┆jnz insta1   in dstat   ret  ins┆
0x0748a0…0748c0             74 61 31 3a 09 69 6e 09 64 73 74 61 74 2b 31 30 68 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 3b 0d 0a 3b   ┆ta1: in dstat+10h   ret  ;  ;  ;┆
0x0748c0…0748e0             0d 0a 3b 09 64 61 74 61 20 61 72 65 61 73 20 28 6d 75 73 74 20 62 65 20 69 6e 20 72 61 6d 29 0d   ┆  ; data areas (must be in ram) ┆
0x0748e0…074900             0a 64 62 61 6e 6b 3a 09 64 62 09 30 09 3b 64 69 73 6b 20 62 61 6e 6b 20 30 30 20 69 66 20 64 72   ┆ dbank: db 0 ;disk bank 00 if dr┆
0x074900…074920             69 76 65 20 30 2c 31 0d 0a 09 09 09 3b 09 20 20 20 31 30 20 69 66 20 64 72 69 76 65 20 32 2c 33   ┆ive 0,1     ;    10 if drive 2,3┆
0x074920…074940             0d 0a 69 6f 70 62 3a 09 3b 69 6f 20 70 61 72 61 6d 65 74 65 72 20 62 6c 6f 63 6b 0d 0a 09 64 62   ┆  iopb: ;io parameter block   db┆
0x074940…074960             09 38 30 68 09 3b 6e 6f 72 6d 61 6c 20 69 2f 6f 20 6f 70 65 72 61 74 69 6f 6e 0d 0a 69 6f 66 3a   ┆ 80h ;normal i/o operation  iof:┆
0x074960…074980             09 64 62 09 72 65 61 64 66 09 3b 69 6f 20 66 75 6e 63 74 69 6f 6e 2c 20 69 6e 69 74 69 61 6c 20   ┆ db readf ;io function, initial ┆
0x074980…0749a0             72 65 61 64 0d 0a 69 6f 6e 3a 09 64 62 09 31 09 3b 6e 75 6d 62 65 72 20 6f 66 20 73 65 63 74 6f   ┆read  ion: db 1 ;number of secto┆
0x0749a0…0749c0             72 73 20 74 6f 20 72 65 61 64 0d 0a 69 6f 74 3a 09 64 62 09 6f 66 66 73 65 74 09 3b 74 72 61 63   ┆rs to read  iot: db offset ;trac┆
0x0749c0…0749e0             6b 20 6e 75 6d 62 65 72 0d 0a 69 6f 73 3a 09 64 62 09 31 09 3b 73 65 63 74 6f 72 20 6e 75 6d 62   ┆k number  ios: db 1 ;sector numb┆
0x0749e0…074a00             65 72 0d 0a 69 6f 64 3a 09 64 77 09 62 75 66 66 09 3b 69 6f 20 61 64 64 72 65 73 73 0d 0a 3b 0d   ┆er  iod: dw buff ;io address  ; ┆
0x074a00…074a20 (31, 0, 4)  64 73 20 61 6e 64 20 77 72 69 74 65 73 29 0d 0a 3b 09 73 65 6c 64 73 6b 09 73 65 6c 65 63 74 20   ┆ds and writes)  ; seldsk select ┆
0x074a20…074a40             64 69 73 6b 20 67 69 76 65 6e 20 62 79 20 72 65 67 2d 63 20 28 30 2c 31 2c 32 2e 2e 2e 29 0d 0a   ┆disk given by reg-c (0,1,2...)  ┆
0x074a40…074a60             3b 09 73 65 74 74 72 6b 09 73 65 74 20 74 72 61 63 6b 20 61 64 64 72 65 73 73 20 28 30 2c 2e 2e   ┆; settrk set track address (0,..┆
0x074a60…074a80             2e 37 36 29 20 66 6f 72 20 73 75 62 73 65 71 75 65 6e 74 20 72 65 61 64 2f 77 72 69 74 65 0d 0a   ┆.76) for subsequent read/write  ┆
0x074a80…074aa0             3b 09 73 65 74 73 65 63 09 73 65 74 20 73 65 63 74 6f 72 20 61 64 64 72 65 73 73 20 28 31 2c 2e   ┆; setsec set sector address (1,.┆
0x074aa0…074ac0             2e 2e 2c 32 36 29 20 66 6f 72 20 73 75 62 73 65 71 75 65 6e 74 20 72 65 61 64 2f 77 72 69 74 65   ┆..,26) for subsequent read/write┆
0x074ac0…074ae0             0d 0a 3b 09 73 65 74 64 6d 61 09 73 65 74 20 73 75 62 73 65 71 75 65 6e 74 20 64 6d 61 20 61 64   ┆  ; setdma set subsequent dma ad┆
0x074ae0…074b00             64 72 65 73 73 20 28 69 6e 69 74 69 61 6c 6c 79 20 38 30 68 29 0d 0a 3b 0d 0a 3b 09 28 72 65 61   ┆dress (initially 80h)  ;  ; (rea┆
0x074b00…074b20             64 20 61 6e 64 20 77 72 69 74 65 20 61 73 73 75 6d 65 20 70 72 65 76 69 6f 75 73 20 63 61 6c 6c   ┆d and write assume previous call┆
0x074b20…074b40             73 20 74 6f 20 73 65 74 20 75 70 20 74 68 65 20 69 6f 20 70 61 72 61 6d 65 74 65 72 73 29 0d 0a   ┆s to set up the io parameters)  ┆
0x074b40…074b60             3b 09 72 65 61 64 09 72 65 61 64 20 74 72 61 63 6b 2f 73 65 63 74 6f 72 20 74 6f 20 70 72 65 73   ┆; read read track/sector to pres┆
0x074b60…074b80             65 74 20 64 6d 61 20 61 64 64 72 65 73 73 0d 0a 3b 09 77 72 69 74 65 09 77 72 69 74 65 20 74 72   ┆et dma address  ; write write tr┆
0x074b80…074ba0             61 63 6b 2f 73 65 63 74 6f 72 20 66 72 6f 6d 20 70 72 65 73 65 74 20 64 6d 61 20 61 64 64 72 65   ┆ack/sector from preset dma addre┆
0x074ba0…074bc0             73 73 0d 0a 3b 0d 0a 3b 09 6a 75 6d 70 20 76 65 63 74 6f 72 20 66 6f 72 20 69 6e 64 69 76 69 75   ┆ss  ;  ; jump vector for indiviu┆
0x074bc0…074be0             61 6c 20 72 6f 75 74 69 6e 65 73 0d 0a 09 6a 6d 70 09 62 6f 6f 74 0d 0a 77 62 6f 6f 74 65 3a 09   ┆al routines   jmp boot  wboote: ┆
0x074be0…074c00             6a 6d 70 09 77 62 6f 6f 74 0d 0a 09 6a 6d 70 09 63 6f 6e 73 74 0d 0a 09 6a 6d 70 09 63 6f 6e 69   ┆jmp wboot   jmp const   jmp coni┆
0x074c00…074c20 (31, 0, 5)  6e 73 6c 61 74 65 20 74 61 62 6c 65 20 61 64 64 72 65 73 73 20 74 6f 20 48 4c 0d 0a 09 64 61 64   ┆nslate table address to HL   dad┆
0x074c20…074c40             09 62 09 3b 74 72 61 6e 73 6c 61 74 65 28 73 65 63 74 6f 72 29 20 61 64 64 72 65 73 73 0d 0a 09   ┆ b ;translate(sector) address   ┆
0x074c40…074c60             6d 6f 76 09 61 2c 6d 09 3b 74 72 61 6e 73 6c 61 74 65 64 20 73 65 63 74 6f 72 20 6e 75 6d 62 65   ┆mov a,m ;translated sector numbe┆
0x074c60…074c80             72 20 74 6f 20 41 0d 0a 09 73 74 61 09 69 6f 73 0d 0a 09 6d 6f 76 09 6c 2c 61 09 3b 72 65 74 75   ┆r to A   sta ios   mov l,a ;retu┆
0x074c80…074ca0             72 6e 20 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 20 69 6e 20 4c 0d 0a 09 72 65 74 0d 0a 3b 0d 0a   ┆rn sector number in L   ret  ;  ┆
0x074ca0…074cc0             73 65 74 64 6d 61 3a 09 3b 73 65 74 20 64 6d 61 20 61 64 64 72 65 73 73 20 67 69 76 65 6e 20 62   ┆setdma: ;set dma address given b┆
0x074cc0…074ce0             79 20 72 65 67 73 20 62 2c 63 0d 0a 09 6d 6f 76 09 6c 2c 63 0d 0a 09 6d 6f 76 09 68 2c 62 0d 0a   ┆y regs b,c   mov l,c   mov h,b  ┆
0x074ce0…074d00             09 73 68 6c 64 09 69 6f 64 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 72 65 61 64 3a 09 3b 72 65 61 64 20   ┆ shld iod   ret  ;  read: ;read ┆
0x074d00…074d20             6e 65 78 74 20 64 69 73 6b 20 72 65 63 6f 72 64 20 28 61 73 73 75 6d 69 6e 67 20 64 69 73 6b 2f   ┆next disk record (assuming disk/┆
0x074d20…074d40             74 72 6b 2f 73 65 63 2f 64 6d 61 20 73 65 74 29 0d 0a 09 6d 76 69 09 63 2c 72 65 61 64 66 09 3b   ┆trk/sec/dma set)   mvi c,readf ;┆
0x074d40…074d60             73 65 74 20 74 6f 20 72 65 61 64 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 63 61 6c 6c 09 73 65 74 66   ┆set to read function   call setf┆
0x074d60…074d80             75 6e 63 0d 0a 09 63 61 6c 6c 09 77 61 69 74 69 6f 09 3b 70 65 72 66 6f 72 6d 20 72 65 61 64 20   ┆unc   call waitio ;perform read ┆
0x074d80…074da0             66 75 6e 63 74 69 6f 6e 0d 0a 09 72 65 74 09 09 3b 6d 61 79 20 68 61 76 65 20 65 72 72 6f 72 20   ┆function   ret  ;may have error ┆
0x074da0…074dc0             73 65 74 20 69 6e 20 72 65 67 2d 61 0d 0a 3b 0d 0a 3b 0d 0a 77 72 69 74 65 3a 09 3b 64 69 73 6b   ┆set in reg-a  ;  ;  write: ;disk┆
0x074dc0…074de0             20 77 72 69 74 65 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 6d 76 69 09 63 2c 77 72 69 74 66 0d 0a 09   ┆ write function   mvi c,writf   ┆
0x074de0…074e00             63 61 6c 6c 09 73 65 74 66 75 6e 63 09 3b 73 65 74 20 74 6f 20 77 72 69 74 65 20 66 75 6e 63 74   ┆call setfunc ;set to write funct┆
0x074e00…074e20 (31, 0, 6)  65 64 20 20 20 20 20 20 20 31 31 20 28 6e 6f 74 20 75 73 65 64 29 0d 0a 09 63 70 69 09 31 30 62   ┆ed       11 (not used)   cpi 10b┆
0x074e20…074e40             09 09 3b 72 65 61 64 79 20 73 74 61 74 75 73 20 63 68 61 6e 67 65 3f 0d 0a 09 6a 7a 09 77 72 65   ┆  ;ready status change?   jz wre┆
0x074e40…074e60             61 64 79 0d 0a 3b 0d 0a 3b 09 6d 75 73 74 20 62 65 20 30 30 20 69 6e 20 74 68 65 20 61 63 63 75   ┆ady  ;  ; must be 00 in the accu┆
0x074e60…074e80             6d 75 6c 61 74 6f 72 0d 0a 09 6f 72 61 09 61 0d 0a 09 6a 6e 7a 09 77 65 72 72 6f 72 09 09 3b 73   ┆mulator   ora a   jnz werror  ;s┆
0x074e80…074ea0             6f 6d 65 20 6f 74 68 65 72 20 63 6f 6e 64 69 74 69 6f 6e 2c 20 72 65 74 72 79 0d 0a 3b 0d 0a 3b   ┆ome other condition, retry  ;  ;┆
0x074ea0…074ec0             09 63 68 65 63 6b 20 69 2f 6f 20 65 72 72 6f 72 20 62 69 74 73 0d 0a 09 63 61 6c 6c 09 69 6e 62   ┆ check i/o error bits   call inb┆
0x074ec0…074ee0             79 74 65 0d 0a 09 72 61 6c 0d 0a 09 6a 63 09 77 72 65 61 64 79 09 09 3b 75 6e 69 74 20 6e 6f 74   ┆yte   ral   jc wready  ;unit not┆
0x074ee0…074f00             20 72 65 61 64 79 0d 0a 09 72 61 72 0d 0a 09 61 6e 69 09 31 31 31 31 31 31 31 30 62 09 3b 61 6e   ┆ ready   rar   ani 11111110b ;an┆
0x074f00…074f20             79 20 6f 74 68 65 72 20 65 72 72 6f 72 73 3f 20 20 28 64 65 6c 65 74 65 64 20 64 61 74 61 20 6f   ┆y other errors?  (deleted data o┆
0x074f20…074f40             6b 29 0d 0a 09 6a 6e 7a 09 77 65 72 72 6f 72 0d 0a 3b 0d 0a 3b 09 72 65 61 64 20 6f 72 20 77 72   ┆k)   jnz werror  ;  ; read or wr┆
0x074f40…074f60             69 74 65 20 69 73 20 6f 6b 2c 20 61 63 63 75 6d 75 6c 61 74 6f 72 20 63 6f 6e 74 61 69 6e 73 20   ┆ite is ok, accumulator contains ┆
0x074f60…074f80             7a 65 72 6f 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 77 72 65 61 64 79 3a 09 3b 6e 6f 74 20 72 65 61 64   ┆zero   ret  ;  wready: ;not read┆
0x074f80…074fa0             79 2c 20 74 72 65 61 74 20 61 73 20 65 72 72 6f 72 20 66 6f 72 20 6e 6f 77 0d 0a 09 63 61 6c 6c   ┆y, treat as error for now   call┆
0x074fa0…074fc0             09 69 6e 62 79 74 65 09 09 3b 63 6c 65 61 72 20 72 65 73 75 6c 74 20 62 79 74 65 0d 0a 09 6a 6d   ┆ inbyte  ;clear result byte   jm┆
0x074fc0…074fe0             70 09 74 72 79 63 6f 75 6e 74 0d 0a 3b 0d 0a 77 65 72 72 6f 72 3a 09 3b 72 65 74 75 72 6e 20 68   ┆p trycount  ;  werror: ;return h┆
0x074fe0…075000             61 72 64 77 61 72 65 20 6d 61 6c 66 75 6e 63 74 69 6f 6e 20 28 63 72 63 2c 20 74 72 61 63 6b 2c   ┆ardware malfunction (crc, track,┆
0x075000…075020 (31, 0, 7)  0a 3b 0d 0a 3b 09 64 65 66 69 6e 65 20 72 61 6d 20 61 72 65 61 73 20 66 6f 72 20 62 64 6f 73 20   ┆ ;  ; define ram areas for bdos ┆
0x075020…075040             6f 70 65 72 61 74 69 6f 6e 0d 0a 09 65 6e 64 65 66 0d 0a 09 65 6e 64 0d 0a 3b 09 4d 44 53 2d 38   ┆operation   endef   end  ; MDS-8┆
0x075040…075060             30 30 20 49 2f 4f 20 44 72 69 76 65 72 73 20 66 6f 72 20 43 50 2f 4d 20 32 2e 32 0d 0a 3b 09 28   ┆00 I/O Drivers for CP/M 2.2  ; (┆
0x075060…075080             66 6f 75 72 20 64 72 69 76 65 20 73 69 6e 67 6c 65 20 64 65 6e 73 69 74 79 20 76 65 72 73 69 6f   ┆four drive single density versio┆
0x075080…0750a0             6e 29 0d 0a 3b 0d 0a 3b 09 56 65 72 73 69 6f 6e 20 32 2e 32 20 46 65 62 72 75 61 72 79 2c 20 31   ┆n)  ;  ; Version 2.2 February, 1┆
0x0750a0…0750c0             39 38 30 0d 0a 3b 0d 0a 76 65 72 73 09 65 71 75 09 32 32 09 3b 76 65 72 73 69 6f 6e 20 32 2e 32   ┆980  ;  vers equ 22 ;version 2.2┆
0x0750c0…0750e0             0d 0a 3b 0d 0a 3b 09 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 31 39 38 30 0d 0a 3b 09 44 69 67   ┆  ;  ; Copyright (c) 1980  ; Dig┆
0x0750e0…075100             69 74 61 6c 20 52 65 73 65 61 72 63 68 0d 0a 3b 09 42 6f 78 20 35 37 39 2c 20 50 61 63 69 66 69   ┆ital Research  ; Box 579, Pacifi┆
0x075100…075120             63 20 47 72 6f 76 65 0d 0a 3b 09 43 61 6c 69 66 6f 72 6e 69 61 2c 20 39 33 39 35 30 0d 0a 3b 0d   ┆c Grove  ; California, 93950  ; ┆
0x075120…075140             0a 3b 0d 0a 74 72 75 65 09 65 71 75 09 30 66 66 66 66 68 09 3b 76 61 6c 75 65 20 6f 66 20 22 74   ┆ ;  true equ 0ffffh ;value of "t┆
0x075140…075160             72 75 65 22 0d 0a 66 61 6c 73 65 09 65 71 75 09 6e 6f 74 20 74 72 75 65 09 3b 22 66 61 6c 73 65   ┆rue"  false equ not true ;"false┆
0x075160…075180             22 0d 0a 74 65 73 74 09 65 71 75 09 66 61 6c 73 65 09 3b 74 72 75 65 20 69 66 20 74 65 73 74 20   ┆"  test equ false ;true if test ┆
0x075180…0751a0             62 69 6f 73 0d 0a 3b 0d 0a 09 69 66 09 74 65 73 74 0d 0a 62 69 61 73 09 65 71 75 09 30 33 34 30   ┆bios  ;   if test  bias equ 0340┆
0x0751a0…0751c0             30 68 09 3b 62 61 73 65 20 6f 66 20 43 43 50 20 69 6e 20 74 65 73 74 20 73 79 73 74 65 6d 0d 0a   ┆0h ;base of CCP in test system  ┆
0x0751c0…0751e0             09 65 6e 64 69 66 0d 0a 09 69 66 09 6e 6f 74 20 74 65 73 74 0d 0a 62 69 61 73 09 65 71 75 09 30   ┆ endif   if not test  bias equ 0┆
0x0751e0…075200             30 30 30 68 09 3b 67 65 6e 65 72 61 74 65 20 72 65 6c 6f 63 61 74 61 62 6c 65 20 63 70 2f 6d 20   ┆000h ;generate relocatable cp/m ┆
0x075200…075220 (31, 0, 8)  6e 0d 0a 09 6a 6d 70 09 63 6f 6e 6f 75 74 0d 0a 09 6a 6d 70 09 6c 69 73 74 0d 0a 09 6a 6d 70 09   ┆n   jmp conout   jmp list   jmp ┆
0x075220…075240             70 75 6e 63 68 0d 0a 09 6a 6d 70 09 72 65 61 64 65 72 0d 0a 09 6a 6d 70 09 68 6f 6d 65 0d 0a 09   ┆punch   jmp reader   jmp home   ┆
0x075240…075260             6a 6d 70 09 73 65 6c 64 73 6b 0d 0a 09 6a 6d 70 09 73 65 74 74 72 6b 0d 0a 09 6a 6d 70 09 73 65   ┆jmp seldsk   jmp settrk   jmp se┆
0x075260…075280             74 73 65 63 0d 0a 09 6a 6d 70 09 73 65 74 64 6d 61 0d 0a 09 6a 6d 70 09 72 65 61 64 0d 0a 09 6a   ┆tsec   jmp setdma   jmp read   j┆
0x075280…0752a0             6d 70 09 77 72 69 74 65 0d 0a 09 6a 6d 70 09 6c 69 73 74 73 74 09 3b 6c 69 73 74 20 73 74 61 74   ┆mp write   jmp listst ;list stat┆
0x0752a0…0752c0             75 73 0d 0a 09 6a 6d 70 09 73 65 63 74 72 61 6e 0d 0a 3b 0d 0a 09 6d 61 63 6c 69 62 09 64 69 73   ┆us   jmp sectran  ;   maclib dis┆
0x0752c0…0752e0             6b 64 65 66 09 3b 6c 6f 61 64 20 74 68 65 20 64 69 73 6b 20 64 65 66 69 6e 69 74 69 6f 6e 20 6c   ┆kdef ;load the disk definition l┆
0x0752e0…075300             69 62 72 61 72 79 0d 0a 09 64 69 73 6b 73 09 34 09 3b 66 6f 75 72 20 64 69 73 6b 73 0d 0a 09 64   ┆ibrary   disks 4 ;four disks   d┆
0x075300…075320             69 73 6b 64 65 66 09 30 2c 31 2c 32 36 2c 36 2c 31 30 32 34 2c 32 34 33 2c 36 34 2c 36 34 2c 6f   ┆iskdef 0,1,26,6,1024,243,64,64,o┆
0x075320…075340             66 66 73 65 74 0d 0a 09 64 69 73 6b 64 65 66 09 31 2c 30 0d 0a 09 64 69 73 6b 64 65 66 09 32 2c   ┆ffset   diskdef 1,0   diskdef 2,┆
0x075340…075360             30 0d 0a 09 64 69 73 6b 64 65 66 09 33 2c 30 0d 0a 3b 09 65 6e 64 65 66 20 6f 63 63 75 72 73 20   ┆0   diskdef 3,0  ; endef occurs ┆
0x075360…075380             61 74 20 65 6e 64 20 6f 66 20 61 73 73 65 6d 62 6c 79 0d 0a 3b 0d 0a 3b 09 65 6e 64 20 6f 66 20   ┆at end of assembly  ;  ; end of ┆
0x075380…0753a0             63 6f 6e 74 72 6f 6c 6c 65 72 20 2d 20 69 6e 64 65 70 65 6e 64 65 6e 74 20 63 6f 64 65 2c 20 74   ┆controller - independent code, t┆
0x0753a0…0753c0             68 65 20 72 65 6d 61 69 6e 69 6e 67 20 73 75 62 72 6f 75 74 69 6e 65 73 0d 0a 3b 09 61 72 65 20   ┆he remaining subroutines  ; are ┆
0x0753c0…0753e0             74 61 69 6c 6f 72 65 64 20 74 6f 20 74 68 65 20 70 61 72 74 69 63 75 6c 61 72 20 6f 70 65 72 61   ┆tailored to the particular opera┆
0x0753e0…075400             74 69 6e 67 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 2c 20 61 6e 64 20 6d 75 73 74 0d 0a 3b 09 62 65   ┆ting environment, and must  ; be┆
0x075400…075420 (31, 0, 9)  44 4f 53 09 3b 0d 0a 0d 0a 43 4f 4e 53 49 3a 09 4d 56 49 09 43 2c 43 4f 4e 53 49 46 3b 0d 0a 09   ┆DOS ;    CONSI: MVI C,CONSIF;   ┆
0x075420…075440             4a 4d 50 09 42 44 4f 53 09 3b 0d 0a 0d 0a 45 52 52 4f 52 3a 09 4d 56 49 09 43 2c 50 52 49 4e 54   ┆JMP BDOS ;    ERROR: MVI C,PRINT┆
0x075440…075460             46 3b 20 44 49 53 4b 20 45 52 52 4f 52 3a 0d 0a 09 43 41 4c 4c 09 42 44 4f 53 09 3b 0d 0a 09 4d   ┆F; DISK ERROR:   CALL BDOS ;   M┆
0x075460…075480             56 49 09 43 2c 43 4f 4e 53 49 46 3b 0d 0a 09 43 41 4c 4c 09 42 44 4f 53 09 3b 0d 0a 09 43 50 49   ┆VI C,CONSIF;   CALL BDOS ;   CPI┆
0x075480…0754a0             09 33 09 3b 0d 0a 09 4a 5a 09 42 4f 4f 54 09 3b 0d 0a 09 52 45 54 09 09 3b 0d 0a 0d 0a 48 45 41   ┆ 3 ;   JZ BOOT ;   RET  ;    HEA┆
0x0754a0…0754c0             44 3a 09 44 42 09 27 52 43 37 30 30 20 20 43 50 2f 4d 20 20 42 41 43 4b 55 50 20 20 55 54 49 4c   ┆D: DB 'RC700  CP/M  BACKUP  UTIL┆
0x0754c0…0754e0             49 54 59 27 2c 31 33 2c 33 36 0d 0a 53 44 53 50 45 43 3a 09 44 42 09 31 33 2c 31 30 2c 31 30 2c   ┆ITY',13,36  SDSPEC: DB 13,10,10,┆
0x0754e0…075500             27 53 4f 55 52 43 45 20 44 52 49 56 45 20 28 41 20 4f 52 20 42 29 20 3f 20 27 2c 33 36 0d 0a 44   ┆'SOURCE DRIVE (A OR B) ? ',36  D┆
0x075500…075520             44 53 50 45 43 3a 09 44 42 09 31 33 2c 31 30 2c 31 30 2c 27 44 45 53 54 49 4e 41 54 49 4f 4e 20   ┆DSPEC: DB 13,10,10,'DESTINATION ┆
0x075520…075540             44 52 49 56 45 20 28 41 20 4f 52 20 42 29 20 3f 20 27 2c 33 36 0d 0a 4e 4f 54 4f 4b 3a 09 44 42   ┆DRIVE (A OR B) ? ',36  NOTOK: DB┆
0x075540…075560             09 31 33 2c 31 30 2c 31 30 2c 27 42 41 43 4b 55 50 20 4e 4f 54 20 50 4f 53 53 49 42 4c 45 27 2c   ┆ 13,10,10,'BACKUP NOT POSSIBLE',┆
0x075560…075580             33 36 0d 0a 4d 53 44 49 53 4b 3a 20 44 42 09 31 33 2c 31 30 2c 27 49 4e 53 45 52 54 20 53 4f 55   ┆36  MSDISK: DB 13,10,'INSERT SOU┆
0x075580…0755a0             52 43 45 20 44 49 53 4b 20 41 4e 44 20 54 59 50 45 20 3c 52 45 54 55 52 4e 3e 27 2c 33 36 0d 0a   ┆RCE DISK AND TYPE <RETURN>',36  ┆
0x0755a0…0755c0             4d 44 44 49 53 4b 3a 20 44 42 09 31 33 2c 31 30 2c 27 49 4e 53 45 52 54 20 44 45 53 54 49 4e 41   ┆MDDISK: DB 13,10,'INSERT DESTINA┆
0x0755c0…0755e0             54 49 4f 4e 20 44 49 53 4b 20 41 4e 44 20 54 59 50 45 20 3c 52 45 54 55 52 4e 3e 27 2c 33 36 0d   ┆TION DISK AND TYPE <RETURN>',36 ┆
0x0755e0…075600             0a 42 41 44 53 3a 09 44 42 09 31 33 2c 31 30 2c 27 42 41 44 20 53 45 43 54 4f 52 20 4f 4e 20 53   ┆ BADS: DB 13,10,'BAD SECTOR ON S┆
0x075600…075620 (31, 0, 10) e1 22 9f 04 31 ca 04 11 61 03 cd 47 03 11 7f 03 cd 47 03 cd 4c 03 0e 00 fe 41 ca 23 01 fe 42 c2   ┆ "  1   a  G     G  L    A #  B ┆
0x075620…075640             0d 01 0c 79 32 a4 04 11 9b 03 cd 47 03 cd 4c 03 0e 00 fe 41 ca 3d 01 fe 42 c2 27 01 0c 79 32 a5   ┆   y2      G  L    A =  B '  y2 ┆
0x075640…075660             04 2a 01 00 11 34 00 19 46 23 4e 21 a4 04 be 3e 00 ca 78 01 78 b9 11 bc 03 c4 3e 03 c5 11 9c 04   ┆ *   4  F#N!   >  x x     >     ┆
0x075660…075680             cd 47 03 11 d3 03 cd 47 03 cd 4c 03 11 fa 03 cd 47 03 cd 4c 03 c1 3e 01 32 a6 04 79 fe 00 c2 93   ┆ G     G  L     G  L  > 2  y    ┆
0x075680…0756a0             01 3e 00 32 a1 04 3e 4c 32 a2 04 3e 1a 32 a3 04 c3 c1 01 fe 08 c2 aa 01 3e 01 32 a1 04 3e 3d 32   ┆ > 2  >L2  > 2          > 2  >=2┆
0x0756a0…0756c0             a2 04 3e 78 32 a3 04 c3 c1 01 fe 10 11 bc 03 c4 3e 03 3e 01 32 a1 04 3e 1f 32 a2 04 3e 48 32 a3   ┆  >x2           > > 2  > 2  >H2 ┆
0x0756c0…0756e0             04 3a a1 04 32 a7 04 3e 00 32 a8 04 3a a6 04 b7 c2 dc 01 11 d3 03 cd 47 03 cd 4c 03 3a a4 04 cd   ┆ :  2  > 2  :          G  L :   ┆
0x0756e0…075700             05 03 21 68 01 22 a9 04 11 cb 04 d5 cd 22 03 3a a7 04 4f cd 0e 03 3a a8 04 4f 3a a7 04 47 c5 cd   ┆  !h "       " :  O   :  O:  G  ┆
0x075700…075720             18 03 cd 2c 03 11 26 04 b7 c4 51 03 c1 0c 3a a3 04 b9 c2 25 02 3a a2 04 b8 ca 49 02 04 0e 00 c5   ┆   ,  &   Q   :    % :    I     ┆
0x075720…075740             48 cd 0e 03 c1 c5 cd 18 03 2a a9 04 2b 22 a9 04 c1 7c b7 c2 3b 02 7d b7 ca 49 02 d1 21 80 00 19   ┆H        *  +"   ø  ; å  I  !   ┆
0x075740…075760             eb d5 c5 cd 22 03 c3 02 02 d1 3a a6 04 b7 c2 5a 02 11 fa 03 cd 47 03 cd 4c 03 3a a5 04 cd 05 03   ┆    "     :    Z     G  L :     ┆
0x075760…075780             21 68 01 22 a9 04 11 cb 04 d5 cd 22 03 3a a7 04 4f cd 0e 03 3a a8 04 4f 3a a7 04 47 c5 cd 18 03   ┆!h "       " :  O   :  O:  G    ┆
0x075780…0757a0             cd 34 03 11 42 04 b7 c4 51 03 c1 0c 3a a3 04 b9 c2 a3 02 3a a2 04 b8 ca d6 02 04 0e 00 c5 48 cd   ┆ 4  B   Q   :      :          H ┆
0x0757a0…0757c0             0e 03 c1 c5 cd 18 03 2a a9 04 2b 22 a9 04 c1 7c b7 c2 b9 02 7d b7 ca c7 02 d1 21 80 00 19 eb d5   ┆       *  +"   ø    å     !     ┆
0x0757c0…0757e0             c5 cd 22 03 c3 80 02 78 32 a7 04 79 32 a8 04 d1 cd eb 02 c3 cc 01 cd eb 02 11 8a 04 cd 47 03 11   ┆  "    x2  y2                G  ┆
0x0757e0…075800             63 04 cd 47 03 cd 4c 03 c3 00 00 3a a7 04 4f 0d cd 0e 03 3a a8 04 4f cd 18 03 cd 2c 03 11 42 04   ┆c  G  L    :  O    :  O    ,  B ┆
0x075800…075820 (31, 0, 11) 20 46 54 52 4b 3a 09 44 42 09 30 0d 0a 20 30 34 41 32 20 30 30 20 20 20 20 20 20 20 20 4c 54 52   ┆ FTRK: DB 0   04A2 00        LTR┆
0x075820…075840             4b 3a 09 44 42 09 30 0d 0a 20 30 34 41 33 20 30 30 20 20 20 20 20 20 20 20 53 50 54 3a 09 44 42   ┆K: DB 0   04A3 00        SPT: DB┆
0x075840…075860             09 30 0d 0a 20 30 34 41 34 20 30 30 20 20 20 20 20 20 20 20 53 44 52 49 56 3a 09 44 42 09 30 0d   ┆ 0   04A4 00        SDRIV: DB 0 ┆
0x075860…075880             0a 20 30 34 41 35 20 30 30 20 20 20 20 20 20 20 20 44 44 52 49 56 3a 09 44 42 09 30 0d 0a 20 30   ┆  04A5 00        DDRIV: DB 0   0┆
0x075880…0758a0             34 41 36 20 30 30 20 20 20 20 20 20 20 20 44 46 4c 41 47 3a 09 44 42 09 30 0d 0a 20 20 20 20 20   ┆4A6 00        DFLAG: DB 0       ┆
0x0758a0…0758c0             20 20 20 20 20 20 20 20 20 20 20 0d 0a 20 30 34 41 37 20 30 30 20 20 20 20 20 20 20 20 43 55 52   ┆              04A7 00        CUR┆
0x0758c0…0758e0             54 52 4b 3a 09 44 42 09 30 0d 0a 20 30 34 41 38 20 30 30 20 20 20 20 20 20 20 20 43 55 52 53 45   ┆TRK: DB 0   04A8 00        CURSE┆
0x0758e0…075900             43 3a 09 44 42 09 30 0d 0a 20 30 34 41 39 20 30 30 30 30 20 20 20 20 20 20 53 45 43 43 4e 54 3a   ┆C: DB 0   04A9 0000      SECCNT:┆
0x075900…075920             09 44 57 09 30 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0d 0a 20 30 34 41 42 20 20   ┆ DW 0                     04AB  ┆
0x075920…075940             20 20 20 20 20 20 20 20 20 09 44 53 09 33 31 0d 0a 20 30 34 43 41 20 20 20 20 20 20 20 20 20 20   ┆          DS 31   04CA          ┆
0x075940…075960             20 53 54 41 43 4b 3a 09 44 53 09 31 09 3b 20 4c 4f 43 41 4c 20 53 54 41 43 4b 0d 0a 20 20 20 20   ┆ STACK: DS 1 ; LOCAL STACK      ┆
0x075960…075980             20 20 20 20 20 20 20 20 20 20 20 20 0d 0a 20 30 34 43 42 20 30 30 30 30 20 20 20 20 20 20 42 55   ┆               04CB 0000      BU┆
0x075980…0759a0             46 3a 09 44 57 09 30 09 3b 20 52 45 41 44 2f 57 52 49 54 45 20 42 55 46 46 45 52 0d 0a 20 20 20   ┆F: DW 0 ; READ/WRITE BUFFER     ┆
0x0759a0…0759c0             20 20 20 20 20 20 20 20 20 20 20 20 20 0d 0a 20 30 34 43 44 20 20 20 20 20 20 20 20 20 20 20 09   ┆                04CD            ┆
0x0759c0…0759e0             45 4e 44 09 31 30 30 48 09 3b 0d 0a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a   ┆END 100H ;                      ┆
0x0759e0…075a00             1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a   ┆                                ┆
0x075a00…075a20 (31, 0, 12) 00 00 00 20 43 4f 50 59 52 49 47 48 54 20 28 43 29 20 31 39 38 31 2c 20 4d 49 43 52 4f 50 52 4f   ┆    COPYRIGHT (C) 1981, MICROPRO┆
0x075a20…075a40             20 49 4e 54 45 52 4e 41 54 49 4f 4e 41 4c 2c 20 0d 0a 20 53 41 4e 20 52 41 46 41 45 4c 2c 20 43   ┆ INTERNATIONAL,    SAN RAFAEL, C┆
0x075a40…075a60             41 4c 49 46 4f 52 4e 49 41 2c 20 55 53 41 2e 20 0d 0a 20 53 45 52 49 41 4c 20 4e 55 4d 42 45 52   ┆ALIFORNIA, USA.    SERIAL NUMBER┆
0x075a60…075a80             20 4d 50 38 33 30 38 55 51 20 0d 0a 20 41 4c 4c 20 52 49 47 48 54 53 20 52 45 53 45 52 56 45 44   ┆ MP8308UQ    ALL RIGHTS RESERVED┆
0x075a80…075aa0             2e 20 0d 0a 0a 20 57 6f 72 64 53 74 61 72 20 72 65 6c 65 61 73 65 20 32 2e 32 36 20 6f 76 65 72   ┆.     WordStar release 2.26 over┆
0x075aa0…075ac0             6c 61 79 20 66 69 6c 65 20 6e 75 6d 62 65 72 20 32 2e 20 20 0d 0a 20 4f 76 65 72 6c 61 79 73 20   ┆lay file number 2.     Overlays ┆
0x075ac0…075ae0             66 6f 72 20 4d 65 72 67 65 2d 50 72 69 6e 74 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆for Merge-Print.                ┆
0x075ae0…075b00             20 0d 0a 1a 20 4e 4f 53 45 59 2c 20 41 52 45 4e 27 54 20 59 4f 55 3f 20 20 0d 0a 1a 00 00 01 00   ┆     NOSEY, AREN'T YOU?         ┆
0x075b00…075b20             9a 0d 12 14 00 00 00 00 3e 61 21 00 00 c3 45 45 c3 45 45 c3 45 45 00 00 c9 c3 46 45 c3 46 45 c3   ┆        >a!   EE EE EE    FE FE ┆
0x075b20…075b40             fb 4c c3 7c 47 c3 d3 47 c3 a6 45 1a 00 04 00 03 00 00 3f 20 00 00 00 00 00 00 00 00 00 00 00 00   ┆ L øG  G  E       ?             ┆
0x075b40…075b60             00 00 00 00 00 c9 af 32 14 61 32 39 61 cd 82 33 10 03 2a 00 38 7d 2f b4 c2 13 46 cd db 45 af 32   ┆       2 a29a  3  * 8å/   F  E 2┆
0x075b60…075b80             72 38 cd 27 31 cd 6e 0b 2a 00 38 7d 2f b4 c2 13 46 cd 7b 1c f5 c4 85 45 f1 c2 52 45 cd 4a 46 c2   ┆r8 '1 n * 8å/   F æ    E  RE JF ┆
0x075b80…075ba0             52 45 c3 65 45 cd b1 1b 32 72 38 cd e2 17 e6 3f 47 cd 2c 27 2a 7b 06 7e b7 c8 b8 23 23 5e 23 56   ┆RE eE   2r8    ?G ,'*æ ü   ##^#V┆
0x075ba0…075bc0             23 c2 97 45 eb e9 3e ff 32 4f 3c 21 df 39 cd 27 46 cd c4 45 3e 00 32 4f 3c 32 01 38 c0 2f 32 50   ┆#  E  > 2O<! 9 'F  E> 2O<2 8 /2P┆
0x075bc0…075be0             3c c3 d2 12 cd b1 1b cd 2c 27 cd d5 17 e5 21 86 08 be ca d7 45 23 7e e1 c3 a5 1e 3a 14 61 b7 c0   ┆<       ,'    !     E#ü    : a  ┆
0x075be0…075c00             21 00 00 22 9d 38 22 9f 38 cd 08 25 cd c2 24 a5 3a 3a 99 38 32 9b 38 21 39 61 be da ff 45 77 7e   ┆!  " 8" 8  %  $ :: 82 8!9a   Ewü┆
0x075c00…075c20 (31, 0, 13) 4f 55 52 43 45 20 44 49 53 4b 27 2c 33 36 0d 0a 42 41 44 44 3a 09 44 42 09 31 33 2c 31 30 2c 27   ┆OURCE DISK',36  BADD: DB 13,10,'┆
0x075c20…075c40             42 41 44 20 53 45 43 54 4f 52 20 4f 4e 20 44 45 53 54 49 4e 41 54 49 4f 4e 20 44 49 53 4b 27 2c   ┆BAD SECTOR ON DESTINATION DISK',┆
0x075c40…075c60             33 36 0d 0a 4d 53 59 53 44 3a 09 44 42 09 31 33 2c 31 30 2c 27 49 4e 53 45 52 54 20 53 59 53 54   ┆36  MSYSD: DB 13,10,'INSERT SYST┆
0x075c60…075c80             45 4d 20 44 49 53 4b 20 41 4e 44 20 54 59 50 45 20 3c 52 45 54 55 52 4e 3e 27 2c 33 36 0d 0a 4f   ┆EM DISK AND TYPE <RETURN>',36  O┆
0x075c80…075ca0             4b 3a 09 44 42 09 31 33 2c 31 30 2c 27 42 41 43 4b 55 50 20 43 4f 4d 50 4c 45 54 45 27 2c 33 36   ┆K: DB 13,10,'BACKUP COMPLETE',36┆
0x075ca0…075cc0             0d 0a 43 52 4c 46 3a 09 44 42 09 31 33 2c 31 30 2c 33 36 0d 0a 0d 0a 43 43 50 52 45 54 3a 09 44   ┆  CRLF: DB 13,10,36    CCPRET: D┆
0x075cc0…075ce0             57 09 30 0d 0a 0d 0a 46 54 52 4b 3a 09 44 42 09 30 0d 0a 4c 54 52 4b 3a 09 44 42 09 30 0d 0a 53   ┆W 0    FTRK: DB 0  LTRK: DB 0  S┆
0x075ce0…075d00             50 54 3a 09 44 42 09 30 0d 0a 53 44 52 49 56 3a 09 44 42 09 30 0d 0a 44 44 52 49 56 3a 09 44 42   ┆PT: DB 0  SDRIV: DB 0  DDRIV: DB┆
0x075d00…075d20             09 30 0d 0a 44 46 4c 41 47 3a 09 44 42 09 30 0d 0a 0d 0a 43 55 52 54 52 4b 3a 09 44 42 09 30 0d   ┆ 0  DFLAG: DB 0    CURTRK: DB 0 ┆
0x075d20…075d40             0a 43 55 52 53 45 43 3a 09 44 42 09 30 0d 0a 53 45 43 43 4e 54 3a 09 44 57 09 30 0d 0a 0d 0a 09   ┆ CURSEC: DB 0  SECCNT: DW 0     ┆
0x075d40…075d60             44 53 09 33 31 0d 0a 53 54 41 43 4b 3a 09 44 53 09 31 09 3b 20 4c 4f 43 41 4c 20 53 54 41 43 4b   ┆DS 31  STACK: DS 1 ; LOCAL STACK┆
0x075d60…075d80             0d 0a 0d 0a 42 55 46 3a 09 44 57 09 30 09 3b 20 52 45 41 44 2f 57 52 49 54 45 20 42 55 46 46 45   ┆    BUF: DW 0 ; READ/WRITE BUFFE┆
0x075d80…075da0             52 0d 0a 0d 0a 09 45 4e 44 09 31 30 30 48 09 3b 0d 0a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a   ┆R     END 100H ;                ┆
0x075da0…075dc0             1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a   ┆                                ┆
          […0x2…]
0x075e00…075e20 (31, 0, 14) b7 c4 51 03 c9 4f 2a 01 00 11 18 00 19 e9 2a 01 00 11 1b 00 19 06 00 e9 2a 01 00 11 1e 00 19 06   ┆  Q  O*       *         *       ┆
0x075e20…075e40             00 e9 2a 01 00 42 4b 11 21 00 19 e9 2a 01 00 11 24 00 19 e9 2a 01 00 11 27 00 19 0e 02 e9 0e 09   ┆  *  BK !   *   $   *   '       ┆
0x075e40…075e60             cd 05 00 2a 9f 04 e9 0e 09 c3 05 00 0e 01 c3 05 00 0e 09 cd 05 00 0e 01 cd 05 00 fe 03 ca 00 00   ┆   *                            ┆
0x075e60…075e80             c9 52 43 37 30 30 20 20 43 50 2f 4d 20 20 42 41 43 4b 55 50 20 20 55 54 49 4c 49 54 59 0d 24 0d   ┆ RC700  CP/M  BACKUP  UTILITY $ ┆
0x075e80…075ea0             0a 0a 53 4f 55 52 43 45 20 44 52 49 56 45 20 28 41 20 4f 52 20 42 29 20 3f 20 24 0d 0a 0a 44 45   ┆  SOURCE DRIVE (A OR B) ? $   DE┆
0x075ea0…075ec0             53 54 49 4e 41 54 49 4f 4e 20 44 52 49 56 45 20 28 41 20 4f 52 20 42 29 20 3f 20 24 0d 0a 0a 42   ┆STINATION DRIVE (A OR B) ? $   B┆
0x075ec0…075ee0             41 43 4b 55 50 20 4e 4f 54 20 50 4f 53 53 49 42 4c 45 24 0d 0a 49 4e 53 45 52 54 20 53 4f 55 52   ┆ACKUP NOT POSSIBLE$  INSERT SOUR┆
0x075ee0…075f00             43 45 20 44 49 53 4b 20 41 4e 44 20 54 59 50 45 20 3c 52 45 54 55 52 4e 3e 24 0d 0a 49 4e 53 45   ┆CE DISK AND TYPE <RETURN>$  INSE┆
0x075f00…075f20             52 54 20 44 45 53 54 49 4e 41 54 49 4f 4e 20 44 49 53 4b 20 41 4e 44 20 54 59 50 45 20 3c 52 45   ┆RT DESTINATION DISK AND TYPE <RE┆
0x075f20…075f40             54 55 52 4e 3e 24 0d 0a 42 41 44 20 53 45 43 54 4f 52 20 4f 4e 20 53 4f 55 52 43 45 20 44 49 53   ┆TURN>$  BAD SECTOR ON SOURCE DIS┆
0x075f40…075f60             4b 24 0d 0a 42 41 44 20 53 45 43 54 4f 52 20 4f 4e 20 44 45 53 54 49 4e 41 54 49 4f 4e 20 44 49   ┆K$  BAD SECTOR ON DESTINATION DI┆
0x075f60…075f80             53 4b 24 0d 0a 49 4e 53 45 52 54 20 53 59 53 54 45 4d 20 44 49 53 4b 20 41 4e 44 20 54 59 50 45   ┆SK$  INSERT SYSTEM DISK AND TYPE┆
0x075f80…075fa0             20 3c 52 45 54 55 52 4e 3e 24 0d 0a 42 41 43 4b 55 50 20 43 4f 4d 50 4c 45 54 45 24 0d 0a 24 00   ┆ <RETURN>$  BACKUP COMPLETE$  $ ┆
0x075fa0…075fc0             00 00 00 00 00 00 00 00 00 00 00 52 49 56 45 20 28 41 20 4f 52 20 42 29 20 3f 20 24 0d 0a 0a 42   ┆           RIVE (A OR B) ? $   B┆
0x075fc0…075fe0             41 43 4b 55 50 20 4e 4f 54 20 50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆ACKUP NOT P                     ┆
0x075fe0…076000             00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
0x076000…076020 (31, 0, 15) 61 72 6d 20 73 74 61 72 74 20 28 73 61 76 65 20 69 2f 6f 20 62 79 74 65 29 0d 0a 3b 09 28 62 6f   ┆arm start (save i/o byte)  ; (bo┆
0x076020…076040             6f 74 20 61 6e 64 20 77 62 6f 6f 74 20 61 72 65 20 74 68 65 20 73 61 6d 65 20 66 6f 72 20 6d 64   ┆ot and wboot are the same for md┆
0x076040…076060             73 29 0d 0a 3b 09 63 6f 6e 73 74 09 63 6f 6e 73 6f 6c 65 20 73 74 61 74 75 73 0d 0a 3b 09 09 72   ┆s)  ; const console status  ;  r┆
0x076060…076080             65 67 2d 61 20 3d 20 30 30 20 69 66 20 6e 6f 20 63 68 61 72 61 63 74 65 72 20 72 65 61 64 79 0d   ┆eg-a = 00 if no character ready ┆
0x076080…0760a0             0a 3b 09 09 72 65 67 2d 61 20 3d 20 66 66 20 69 66 20 63 68 61 72 61 63 74 65 72 20 72 65 61 64   ┆ ;  reg-a = ff if character read┆
0x0760a0…0760c0             79 0d 0a 3b 09 63 6f 6e 69 6e 09 63 6f 6e 73 6f 6c 65 20 63 68 61 72 61 63 74 65 72 20 69 6e 20   ┆y  ; conin console character in ┆
0x0760c0…0760e0             28 72 65 73 75 6c 74 20 69 6e 20 72 65 67 2d 61 29 0d 0a 3b 09 63 6f 6e 6f 75 74 09 63 6f 6e 73   ┆(result in reg-a)  ; conout cons┆
0x0760e0…076100             6f 6c 65 20 63 68 61 72 61 63 74 65 72 20 6f 75 74 20 28 63 68 61 72 20 69 6e 20 72 65 67 2d 63   ┆ole character out (char in reg-c┆
0x076100…076120             29 0d 0a 3b 09 6c 69 73 74 09 6c 69 73 74 20 6f 75 74 20 28 63 68 61 72 20 69 6e 20 72 65 67 2d   ┆)  ; list list out (char in reg-┆
0x076120…076140             63 29 0d 0a 3b 09 70 75 6e 63 68 09 70 75 6e 63 68 20 6f 75 74 20 28 63 68 61 72 20 69 6e 20 72   ┆c)  ; punch punch out (char in r┆
0x076140…076160             65 67 2d 63 29 0d 0a 3b 09 72 65 61 64 65 72 09 70 61 70 65 72 20 74 61 70 65 20 72 65 61 64 65   ┆eg-c)  ; reader paper tape reade┆
0x076160…076180             72 20 69 6e 20 28 72 65 73 75 6c 74 20 74 6f 20 72 65 67 2d 61 29 0d 0a 3b 09 68 6f 6d 65 09 6d   ┆r in (result to reg-a)  ; home m┆
0x076180…0761a0             6f 76 65 20 74 6f 20 74 72 61 63 6b 20 30 30 0d 0a 3b 0d 0a 3b 09 28 74 68 65 20 66 6f 6c 6c 6f   ┆ove to track 00  ;  ; (the follo┆
0x0761a0…0761c0             77 69 6e 67 20 63 61 6c 6c 73 20 73 65 74 2d 75 70 20 74 68 65 20 69 6f 20 70 61 72 61 6d 65 74   ┆wing calls set-up the io paramet┆
0x0761c0…0761e0             65 72 20 62 6c 6f 63 6b 20 66 6f 72 20 74 68 65 0d 0a 3b 09 6d 64 73 2c 20 77 68 69 63 68 20 69   ┆er block for the  ; mds, which i┆
0x0761e0…076200             73 20 75 73 65 64 20 74 6f 20 70 65 72 66 6f 72 6d 20 73 75 62 73 65 71 75 65 6e 74 20 72 65 61   ┆s used to perform subsequent rea┆
0x076200…076220 (31, 1, 1)  cd b0 32 cd 6d 21 2d 22 69 38 3e ff 32 95 38 32 14 61 c9 3a 9b 38 21 39 61 be d0 21 a7 3a cd 27   ┆  2 m!-"i8> 2 82 a : 8!9a  ! : '┆
0x076220…076240             46 cd b1 1b c3 a5 1e af 32 14 61 af cd 43 21 cd d0 1a 2a 1d 37 e5 cd 40 1e 3a 1d 37 cd 78 21 21   ┆F       2 a  C!   * 7  @ : 7 x!!┆
0x076240…076260             9b 38 be da 36 46 e1 c3 4f 21 3a 8f 3d e6 4b c8 47 21 4f 3c 7e b7 ca 72 46 cd 28 13 fa 6a 46 ca   ┆ 8  6F  O!: = K G!O<ü  rF (  jF ┆
0x076260…076280             6a 46 3a 37 3d fe c0 da 59 46 36 00 f6 ff 32 01 38 c9 78 e6 bf b8 ca 88 46 f5 3a 9b 38 32 99 38   ┆jF:7=   YF6   2 8 x     F : 82 8┆
0x076280…0762a0             32 39 61 f1 b7 ca cc 46 fe 08 ca bc 46 3d ca c8 46 cd d2 46 3a 1e 37 21 90 3d 86 c6 03 21 49 02   ┆29a    F    F=  F  F: 7! =   !I ┆
0x0762a0…0762c0             be d4 e4 46 3a 90 3d 47 04 3d fe c8 da b1 46 06 c9 2a 3c 61 cd 5d 23 3e 04 c3 cc 46 cd d2 46 cd   ┆   F: =G =    F  *<a Å#>   F  F ┆
0x0762c0…0762e0             b1 1b cd 6d 1f c3 cb 46 cd d2 46 af 32 8f 3d f6 ff c9 cd fe 46 2a 3a 61 7e b7 ca e7 46 cd 24 47   ┆   m   F  F 2 =     F*:aü   F $G┆
0x0762e0…076300             23 c3 d8 46 cd 40 1e cd 0e 47 cd 31 47 2a 1d 37 e5 cd c5 21 2c 26 00 cd c5 21 e1 c3 4f 21 3a 39   ┆#  F @   G 1G* 7   !,&   !  O!:9┆
0x076300…076320             61 3c 21 99 38 be d2 0a 47 7e 3d c3 43 21 3a 1d 37 c6 01 21 48 02 be d8 2a 1d 37 e5 cd 3f 47 e1   ┆a<! 8   Gü= C!: 7  !H   * 7  ?G ┆
0x076320…076340             2d c3 4f 21 e5 f5 cd 0e 47 f1 cd 6d 1f cd 0e 47 e1 3a 1d 37 3c cd 78 21 32 39 61 3c c3 b0 32 3a   ┆- O!    G  m   G : 7< x!29a<  2:┆
0x076340…076360             9b 38 57 3a 20 37 b7 c2 6f 47 3a 74 02 b7 c2 60 47 af 32 14 61 cd be 29 cd b6 22 3e 0a c3 6d 1f   ┆ 8W: 7  oG:t   `G 2 a  )  ">  m ┆
0x076360…076380             cd 6f 47 6a 26 00 cd 4f 21 21 74 02 c3 7f 21 3a 6b 38 82 57 d5 cd 41 23 d1 c3 48 20 13 1a 1b e6   ┆ oGj&  O!!t   !:k8 W  A#  H     ┆
0x076380…0763a0             7f 21 94 03 be 21 95 47 c8 21 96 47 cd 68 25 ca be 0c fa be 0c c9 50 46 ba 48 4f 4a c6 48 49 4a   ┆ !   ! G ! G h%       PF HOJ HIJ┆
0x0763a0…0763c0             c0 48 4c 4d e5 48 4c 53 f3 48 52 4d f9 48 43 53 24 49 44 4d 2a 49 53 56 37 49 41 56 4c 49 44 46   ┆ HLM HLS HRM HCS$IDM*ISV7IAVLIDF┆
0x0763c0…0763e0             06 48 52 56 8c 4b 49 47 95 47 46 49 f2 47 52 50 aa 48 00 21 a9 3a cd ba 49 cd b0 4a 2a fb 3c 2b   ┆ HRV KIG GFI GRP H ! :  I  J* <+┆
0x0763e0…076400             46 2b 4e 2b 56 2b 5e 1b 03 cd 65 4a cd b5 4a c3 96 12 cd 75 48 cd 90 48 cd 18 0e c5 d5 cd 71 51   ┆F+N+V+^   eJ  J    uH  H      qQ┆
0x076400…076420 (31, 1, 2)  04 cd ec 53 3e ff 06 05 c3 ec 53 3a 7b 5f b7 ca 00 4d cd ec 4e cd 40 4f 3a 9b 5f b7 3a 87 5f 21   ┆   S>     S:æ_   M  N @O: _ : _!┆
0x076420…076440             88 5f c2 2a 4e 21 82 5f c6 06 be dc 73 4d cd 5c 4f 21 00 00 22 79 5f 22 7c 5f af 32 86 5f 21 86   ┆ _ *N! _    sM ØO!  "y_"ø_ 2 _! ┆
0x076440…076460             5f 34 cd 83 50 fe 0a cc 83 50 7b fe 8d ca 3e 4e 21 85 5f 36 00 7b fe a0 c2 65 4e 34 cd 62 50 cd   ┆_4  P    Pæ   >N! _6 æ   eN4 bP ┆
0x076460…076480             83 50 c3 55 4e 7b fe 8d ca 3e 4e cd a6 17 c2 7a 4e cd 62 50 cd 83 50 c3 65 4e fe 1a ca a0 4d cd   ┆ P UNæ   >N    zN bP  P eN    M ┆
0x076480…0764a0             87 17 ca 36 4d 3a 85 5f 06 02 cd ec 53 3a 86 5f 06 03 cd ec 53 3a 87 5f 32 88 5f cd ff 4d 3e ff   ┆   6M: _    S: _    S: _2 _  M> ┆
0x0764a0…0764c0             32 78 5f 21 7f 5f 34 21 22 61 34 cd 73 4d d5 2a 1f 61 24 24 24 eb 2a 27 61 cd 68 17 d1 d2 c9 4e   ┆2x_! _4!"a4 sM * a$$$ *'a h    N┆
0x0764c0…0764e0             3a 7e 5f 21 80 5f a6 fe 13 d4 cf 4e c3 47 4d cd 29 54 3a 87 5f 32 81 5f 32 82 5f 21 80 5f 7e fe   ┆:ü_! _     N GM )T: _2 _2 _! _ü ┆
0x0764e0…076500             f6 f2 e6 4e 36 f6 fe 06 f8 36 06 c9 3a 7f 5f b7 c2 f8 4e 3a 7e 5f b7 c0 3a 87 5f 21 88 5f be ca   ┆   N6    6  : _   N:ü_  : _! _  ┆
0x076500…076520             91 4d cd 2c 4f d8 cd 23 4f 3a 87 5f 21 88 5f 96 c6 03 fe 07 dc 23 4f 3a 87 5f 21 82 5f 96 c6 03   ┆ M ,O  #O: _! _      #O: _! _   ┆
0x076520…076540             fe 07 d0 21 80 5f 7e fe 80 c8 35 c9 3a 87 5f c6 06 21 82 5f be d8 3a 81 5f c6 06 21 87 5f be c9   ┆   ! _ü   5 : _  ! _  : _  ! _  ┆
0x076540…076560             3a a9 5f b7 ca 4d 4f 3a ae 5f c3 58 4f 3a 80 5f b7 c8 3e ff f2 58 4f af 32 9b 5f c9 3a 7f 5f b7   ┆: _  MO: _ XO: _  >  XO 2 _ : _ ┆
0x076560…076580             c2 6c 4f 3a 87 5f 32 81 5f 32 82 5f 3a 9b 5f b7 c2 be 4f cd 3a 50 d2 93 4f 2a 79 5f cd 30 53 ca   ┆ lO: _2 _2 _: _   O :P  O*y_ 0S ┆
0x076580…0765a0             93 4f 3d 21 82 5f be da a7 4f d6 06 d2 90 4f af c3 c5 4f cd 2c 4f d2 be 4f cd 3a 50 d4 cc 4f f5   ┆ O=! _   O    O   O ,O  O :P  O ┆
0x0765a0…0765c0             d4 23 4f f1 d2 af 4f 3a 7f 5f fe 02 d2 cf 4e cd be 4f 3a 82 5f d6 04 21 81 5f be d8 77 c9 cd 3a   ┆ #O   O: _    N  O: _  ! _  w  :┆
0x0765c0…0765e0             50 77 3a 87 5f 21 81 5f be d0 77 c9 3a 7e 5f b7 37 c0 cd 46 50 e5 3a 22 61 c6 03 21 7f 5f be d2   ┆Pw: _! _  w :ü_ 7  FP :"a  ! _  ┆
0x0765e0…076600             04 50 3a 83 5f 21 87 5f 96 da 04 50 fe 03 d2 04 50 e1 3a 81 5f 85 e5 21 83 5f be 7e da 04 50 e1   ┆ P: _! _   P    P : _  ! _ ü  P ┆
0x076600…076620 (31, 1, 3)  fe 0c c8 fe 1a c8 0c 71 c9 d5 21 9f 5f 11 93 5f 01 05 00 cd c2 16 01 93 5f 11 8e 5f 21 a4 5f 3e   ┆       q  ! _  _        _  _! _>┆
0x076620…076640             05 f5 0a b7 7e ca 29 56 12 03 13 23 f1 3d c2 21 56 d1 d5 01 93 5f 11 8e 5f 21 98 5f 3e 05 f5 0a   ┆    ü )V   # = !V    _  _! _>   ┆
0x076640…076660             b7 7e c2 46 56 12 03 13 23 f1 3d c2 3e 56 21 8e 5f 7e fe ef da 59 56 36 ef 46 23 7e fe 09 da 63   ┆ ü FV   # = >V! _ü   YV6 F#ü   c┆
0x076660…076680             56 36 ef 04 04 04 23 7e b8 d2 6d 56 70 fe f2 da 74 56 36 f2 d1 c9 e5 d5 2a 2d 61 1b 1b 1b eb 2a   ┆V6    #ü  mVp   tV6     *-a    *┆
0x076680…0766a0             2f 61 cd 68 17 dc 92 56 d1 73 23 36 00 22 2f 61 e1 c9 cd ae 56 d0 3e ff 32 9d 5f cd ae 56 d0 36   ┆/a h   V s#6 "/a    V > 2 _  V 6┆
0x0766a0…0766c0             0d 23 36 0a 23 36 00 cd ae 56 d0 2b 2b c9 cd 58 5a 2a 2f 61 c3 68 17 c5 d5 e5 7b 01 01 00 f5 cd   ┆ #6 #6   V ++  XZ*/a h    æ     ┆
0x0766c0…0766e0             1d 0c f1 fe 1a c2 5b 1a 2a 12 61 23 22 12 61 eb 2a f2 3c cd 68 17 d2 5b 1a 2a 03 3d 7c b5 3e 0d   ┆      Æ * a#" a * < h  Æ * =ø > ┆
0x0766e0…076700             c4 14 11 21 06 3d 01 87 0f 7e b7 0a c4 14 11 23 03 0a 3c c2 e9 56 cd ba 49 cd 84 12 c2 f9 56 cd   ┆   ! =   ü     #  <  V  I     V ┆
0x076700…076720             13 6c af 32 dd 60 32 d8 60 2a 35 61 22 37 61 21 f7 3c 7e 36 00 b7 c2 1c 57 32 38 3d cd 80 51 c3   ┆ l 2 `2 `*5a"7a! <ü6    W28=  Q ┆
0x076720…076740             5b 1a ff 21 d8 5f 7e b7 ca 3b 57 35 2a d9 5f 5e 23 22 d9 5f c0 cd ea 57 c3 78 57 3a e2 5f b7 ca   ┆Æ  ! _ü  ;W5* _^#" _   W xW: _  ┆
0x076740…076760             75 57 2a df 5f 5e 3a e1 5f b7 ca 5f 57 3e ff 32 9c 5f 7b e6 7f fe 0e c2 5f 57 1e 0d 36 0a c9 23   ┆uW* _^: _  _W> 2 _æ     _W  6  #┆
0x076760…076780             22 df 5f 21 e2 5f 35 c0 21 e1 5f 7e 36 00 b7 c2 86 57 c3 78 57 cd 0e 59 3a dd 5f b7 7b cc a6 17   ┆" _! _5 ! _ü6    W xW  Y: _ æ   ┆
0x076780…0767a0             ca 92 57 cd b5 57 21 dd 5f 36 ff 7b cd 67 5e c0 34 c9 cd ea 57 cd a6 57 cd f8 57 e5 e1 3e ff 32   ┆  W  W! _6 æ g^ 4   W  W  W  > 2┆
0x0767a0…0767c0             dd 5f c3 23 57 e9 cd f8 57 d2 9c 57 cd 0e 59 cd a6 17 ca a6 57 7b e6 7f 21 db 03 be e1 c2 a5 57   ┆ _ #W   W  W  Y     Wæ  !      W┆
0x0767c0…0767e0             cd 08 58 3a e2 5f 21 dd 5f b6 77 c2 23 57 cd ac 57 cd 67 5e c2 98 57 cd ea 57 7b e6 7f fe 0d cc   ┆  X: _! _ w #W  W g^  W  Wæ     ┆
0x0767e0…076800             0e 59 fe 0a cc 0e 59 c3 78 57 2a 29 61 22 db 5f 22 d9 5f af 32 d8 5f c9 2a db 5f 73 23 22 db 5f   ┆ Y    Y xW*)a" _" _ 2 _ * _s#" _┆
0x076800…076820 (31, 1, 4)  b7 ca 0c 5e 35 21 c6 5f 34 c3 1b 5e 2a cd 5f 2b 7e f6 80 77 e1 32 b2 5f 06 01 e5 21 c1 5f 7e 70   ┆   ^5! _4  ^* _+ü  w 2 _   ! _üp┆
0x076820…076840             23 86 77 7a cd b2 17 78 ca 2c 5e af 4f 23 7e 71 23 86 77 7a e6 7f 32 d3 5f 2a b0 5f fe 1e c2 42   ┆# wz   x ,^ O#üq# wz  2 _* _   B┆
0x076840…076860             5e 23 22 cb 5f 21 c5 5f 34 2a cd 5f 22 cf 5f e1 c9 e6 7f e5 21 b0 5f cd 94 1d e1 c9 e6 7f fe 2d   ┆^#" _! _4* _" _     ! _        -┆
0x076860…076880             c8 fe 1e c8 fe 1f c9 e6 7f cd 87 17 37 c8 b7 37 c8 fe 1a 37 c9 7a 94 ca 7e 5e 37 f8 3f c9 7b 95   ┆            7  7   7 z  ü^7 ? æ ┆
0x076880…0768a0             c9 cd 84 12 c5 e5 3a c2 5f fe 7f da 90 5e 3e 7f 32 c2 5f 47 b7 ca a7 5e 3a 91 5f b7 ca a7 5e 2a   ┆      : _    ^> 2 _G   ^: _   ^*┆
0x0768a0…0768c0             bc 5f 7c b7 f2 aa 5e 21 00 00 22 bc 5f 7d 21 d5 5f 36 ff 34 b7 ca bd 5e 90 d2 b3 5e 80 21 c4 5f   ┆ _ø   ^!  " _å! _6 4   ^   ^ ! _┆
0x0768c0…0768e0             96 d2 c7 5e 86 77 af 4f b7 1f d2 d7 5e 21 d4 5f 34 ca d7 5e 3c 35 35 32 d6 5f 78 21 c4 5f 96 91   ┆   ^ w O    ^! _4  ^<552 _x! _  ┆
0x0768e0…076900             32 d7 5f e1 c1 78 b1 c8 5e 7b b7 c8 23 0b fe a0 ca 10 5f fe 8d c2 21 5f 3a bb 5f b7 c2 21 5f af   ┆2 _  x  ^æ  #     _   !_: _  !_ ┆
0x076900…076920             32 b9 5f 7e e6 7f fe 0a c2 0d 5f 23 0b c3 e5 5e 3a b9 5f b7 ca e5 5e 3d 32 b9 5f cd b7 56 c3 e5   ┆2 _ü      _#   ^: _   ^=2 _  V  ┆
0x076920…076940             5e cd b7 56 e5 1c 1d fc 2e 5f e1 c3 e5 5e 7b fe 8d c8 fe 8c c8 fe 8a c8 21 c2 5f 34 35 c8 35 16   ┆^  V    ._   ^æ         ! _45 5 ┆
0x076940…076960             ff ca 65 5f cd b2 17 3a d5 5f c2 54 5f 21 c4 5f 35 f2 63 5f 21 d6 5f 35 f2 63 5f 21 d7 5f 35 fa   ┆  e_   : _ T_! _5 c_! _5 c_! _5 ┆
0x076960…076980             63 5f 3d 3c 57 21 bc 5f 1e a0 14 15 c8 34 35 c8 35 cd b7 56 c3 6b 5f 00 00 00 00 00 00 00 00 00   ┆c_=<W! _     45 5  V k_         ┆
0x076980…0769a0             00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
          […0x3…]
0x076a00…076a20 (31, 1, 5)  d1 c1 da be 0c c9 cd 75 48 3a d8 60 2f 21 da 60 b6 36 00 c2 33 48 c5 d5 11 02 61 1a cd 74 19 47   ┆       uH: `/! ` 6  3H    a  t G┆
0x076a20…076a40             3a d7 60 cd 74 19 b8 0e 0b 21 df 60 13 cc 5c 17 d1 c1 c8 cd 90 48 c5 d5 2a 35 61 22 37 61 af 32   ┆: ` t    ! `  Ø      H  *5a"7a 2┆
0x076a40…076a60             dd 60 67 6f 22 39 3d 01 10 00 11 de 60 21 02 61 7e 32 d7 60 cd c2 16 11 de 60 cd fc 51 d1 c1 ca   ┆ `go"9=     `! aü2 `     `  Q   ┆
0x076a60…076a80             be 0c 3e 00 32 db 60 32 da 60 2f 32 dd 60 32 d8 60 32 41 3d c9 cd ea 4a d5 eb 23 11 02 61 cd 01   ┆  > 2 `2 `/2 `2 `2A=   J  #  a  ┆
0x076a80…076aa0             4b 2b d1 f5 eb cd 2c 17 09 44 4d f1 da be 0c c9 cd e4 4a 21 a5 48 cd 68 25 3e 00 32 38 3d c8 f8   ┆K+    ,  DM       J! H h%> 28=  ┆
0x076aa0…076ac0             2f 32 38 3d c9 43 48 ff ff 00 cd b2 25 da b4 48 22 3f 3d c9 3e ff 32 41 3d c9 21 a3 5f c3 c9 48   ┆/28= CH     %  H"?= > 2A= ! _  H┆
0x076ac0…076ae0             21 a9 5f c3 c9 48 21 a2 5f e5 21 0e 49 cd f8 0d 7c e3 77 d5 11 05 00 19 d1 e3 7d fe fe ca e3 48   ┆! _  H! _ ! I   ø w       å    H┆
0x076ae0…076b00             e3 77 e3 e1 c9 21 9f 5f e5 cd d3 4a da 08 49 2d c3 03 49 21 a0 5f c3 fc 48 21 a1 5f e5 cd d3 4a   ┆ w   ! _   J  I-  I! _  H! _   J┆
0x076b00…076b20             da 08 49 26 ff c3 d0 48 21 1b 49 c3 cd 48 44 49 fe 00 4f 4e ff ff 4f 46 00 ff 00 4f 4e fe ff 44   ┆  I&   H! I  HDI  ON  OF   ON  D┆
0x076b20…076b40             49 fe 00 00 cd 96 12 3e 40 fe af 3c f5 cd 65 4a cd ba 49 f1 c3 b7 4a cd c4 49 da be 0c cd f4 4a   ┆I      >@  <  eJ  I   J  I     J┆
0x076b40…076b60             cd 65 4a c5 d5 4f cd cd 59 d1 c1 c9 cd 20 4a f5 cd e4 4a cd c4 49 da be 0c cd e4 4a f1 d2 7a 49   ┆ eJ  O  Y     J   J  I     J  zI┆
0x076b60…076b80             c5 d5 21 2d 45 cd 98 4a 21 ad 60 4e 06 00 23 cd c2 16 21 2f 45 cd a0 4a d1 c1 cd c8 4a 32 90 3d   ┆  !-E  J! `N  #   !/E  J    J2 =┆
0x076b80…076ba0             c5 d5 cd 7f 59 ca 93 49 eb 2a 3c 61 eb 1b cd 2e 5a af 12 d1 c1 cd a6 49 2a 3c 61 2b 7e 23 cd 43   ┆    Y  I *<a   .Z      I*<a+ü# C┆
0x076ba0…076bc0             49 af 32 8f 3d c9 cd ba 49 3e 02 32 8f 3d cd 81 0b 3a 8f 3d fe 04 c2 ae 49 c9 3a 8b 36 b7 c0 3e   ┆I 2 =   I> 2 =   : =    I : 6  >┆
0x076bc0…076be0             0b c3 35 12 21 29 00 e5 21 ae 60 cd ea 4a 37 3f c4 d8 17 da ea 49 e3 2e 00 e3 cd e2 17 e3 2c 2d   ┆  5 !)  ! `  J7?     I .      ,-┆
0x076be0…076c00             e3 ca ea 49 77 23 e3 2d 24 e3 cd f7 25 da 14 4a ca 16 4a fe 0d ca 14 4a cd d8 17 d4 c6 17 da da   ┆   Iw# -$   %  J  J    J        ┆
0x076c00…076c20 (31, 1, 6)  32 82 5f c9 e1 3a 81 5f 85 21 87 5f be c9 3a 7e 5f b7 c0 3a 22 61 b7 c8 c6 03 21 7f 5f be d0 cd   ┆2 _  : _ ! _  :ü_  :"a    ! _   ┆
0x076c20…076c40             3a 50 21 83 5f be d0 cd 46 50 3a 81 5f 85 21 83 5f be d8 7e 32 82 5f c3 af 4f 3a 87 5f 21 82 5f   ┆:P! _   FP: _ ! _  ü2 _  O: _! _┆
0x076c40…076c60             be d2 45 50 7e c9 3a 22 61 2e 0f 3d 3d f8 2e 0c c8 2d 67 2d 25 c8 7d fe 08 d2 53 50 7c fe 05 d8   ┆  EPü :"a. == .  -g-% å   SPø   ┆
0x076c60…076c80             2d c9 e6 7f e5 21 79 5f cd 94 1d e1 c9 96 d8 fe 03 d0 86 77 c9 96 d2 7f 50 f2 7f 50 fe fe d0 86   ┆-    !y_           w    P  P    ┆
0x076c80…076ca0             77 c9 06 53 c5 e5 cd 8c 50 e1 c1 c9 cd e7 53 2a 19 61 7e b7 ca 9e 50 23 22 19 61 c3 a1 50 cd 11   ┆w  S    P     S* aü   P#" a  P  ┆
0x076ca0…076cc0             51 5f e6 7f 21 77 5f 46 0e ff fe 0c ca ba 50 fe 0a ca ba 50 fe 1a ca ba 50 0c 71 04 c0 21 94 03   ┆Q_  !w_F      P    P    P q  !  ┆
0x076cc0…076ce0             be c2 81 0b cd 8c 50 21 ca 47 e6 df be ca d4 50 21 ce 47 be c2 e0 50 e5 cd 8c 50 e6 df e1 23 be   ┆      P! G     P! G   P   P   # ┆
0x076ce0…076d00             f5 c3 e7 50 cd 8c 50 0c 0d ca e4 50 6f f1 c2 03 51 d5 1e 0a cd e7 53 d1 7d fe 0a c2 00 51 1e 00   ┆   P  P    Po   Q     S å    Q  ┆
0x076d00…076d20             cd 29 54 7d fe 0c c8 fe 1a c2 8c 50 1e 00 c3 8c 50 d5 cd b3 0b fe 1a ca 20 51 23 22 95 3d d1 c9   ┆ )Tå       P    P        Q#" =  ┆
0x076d20…076d40             2a 3d 3d 23 22 3d 3d 3a 41 3d 21 d9 60 a6 ca 3a 51 cd 29 54 cd e5 4c c2 47 51 2a 3d 3d eb 2a 3f   ┆*==#"==:A=! `  :Q )T  L GQ*== *?┆
0x076d40…076d60             3d cd 68 17 d2 51 51 af 32 38 3d cd 8c 51 c3 12 51 2a 15 61 34 35 3e 1a ca 1e 51 cd 18 53 11 45   ┆= h  QQ 28=  Q  Q* a45>   Q  S E┆
0x076d60…076d80             3d cd 41 52 c2 6b 51 af 32 38 3d cd 95 51 c3 12 51 cd a7 52 21 02 61 11 45 3d 01 10 00 cd c2 16   ┆= AR kQ 28=  Q  Q  R! a E=      ┆
0x076d80…076da0             21 00 00 22 3d 3d 22 3f 3d 22 41 3d 21 00 00 22 39 3d 22 3b 3d cd ba 49 cd c2 51 3a f7 3c b7 c0   ┆!  "=="?="A=!  "9=";=  I  Q: <  ┆
0x076da0…076dc0             11 45 3d cd fc 51 2a 39 3d 22 67 3d 37 c8 3e ff 32 44 3d cd c7 0b 78 b1 c8 eb 2a 3b 3d 19 22 95   ┆ E=  Q*9="g=7 > 2D=   x   *;= " ┆
0x076dc0…076de0             3d c9 e5 af 32 44 3d 2a 9b 3d 22 95 3d 22 97 3d e1 c9 cd e3 51 c0 cd 98 18 c8 21 af 3a cd 8e 52   ┆=   2D=* =" =" =    Q     ! :  R┆
0x076de0…076e00             f6 ff c9 cd 49 0b 2a 39 3d 29 7c 21 0c 00 19 77 cd ba 18 c0 21 ab 3a cd 8e 52 af c9 3a 38 3d b7   ┆    I *9=)ø!   w    ! :  R  :8= ┆
0x076e00…076e20 (31, 1, 7)  21 d8 5f 34 7e fe 47 c9 21 64 60 e5 cd 6c 58 79 32 e2 5f e1 22 df 5f d8 11 ae 60 cd 48 59 d8 78   ┆! _4ü G !d`  lXy2 _ " _   ` HY x┆
0x076e20…076e40             32 ad 60 cd 7f 59 c8 3e ff 32 9c 5f 7e 32 e1 5f 4e 11 e3 5f eb 22 df 5f eb 1b c5 cd 2e 5a c1 0c   ┆2 `  Y > 2 _ü2 _N  _ " _    .Z  ┆
0x076e40…076e60             3a ab 60 c3 55 58 0d c8 1b 1a cd a6 17 c2 46 58 3a ac 60 b7 c8 47 0d c8 1b 1a cd 5c 5e ca 46 58   ┆: ` UX        FX: `  G     Ø^ FX┆
0x076e60…076e80             cd 96 17 ca 4a 58 1a b0 12 c3 46 58 01 00 47 cd 15 59 af 32 de 5f cd 29 59 d8 cd 4c 5a dd 03 c2   ┆    JX    FX  G  Y 2 _ )Y  LZ   ┆
0x076e80…076ea0             89 58 32 de 5f cd 29 59 d8 cd d8 17 3f d8 53 cd 1d 59 d8 cd d8 17 d4 c6 17 da 8e 58 fe 2d c4 61   ┆ X2 _ )Y    ? S  Y         X - a┆
0x076ea0…076ec0             5e ca 8e 58 7b fe a0 ca 8f 58 fe 8d c2 bb 58 cd 1d 59 d8 fe 0a ca 8f 58 c3 93 58 cd 2d 59 d8 cd   ┆^  Xæ    X    X  Y     X  X -Y  ┆
0x076ec0…076ee0             61 5e ca bb 58 cd 4c 5a de 03 c2 ee 58 cd 1d 59 d8 cd e2 17 cd 4c 5a df 03 c2 ee 58 32 de 5f cd   ┆a^  X LZ    X  Y     LZ    X2 _ ┆
0x076ee0…076f00             29 59 d8 cd 4c 5a de 03 ca cd 58 c3 d1 58 cd 4c 5a dc 03 37 c0 3a de 5f b7 c2 01 59 3e ff 32 dd   ┆)Y  LZ    X  X LZ  7 : _   Y> 2 ┆
0x076f00…076f20             5f 7b e6 80 32 ab 60 b2 e6 80 32 ac 60 c9 cd d2 53 5f e6 7f c9 73 23 0c 05 37 c8 3f c9 cd 0e 59   ┆_æ  2 `   2 `   S_   s#  7 ?   Y┆
0x076f20…076f40             cd 15 59 d8 fe 1a c3 19 59 cd 1d 59 d8 7b fe 8d c2 3f 59 cd 1d 59 d8 fe 0a ca 29 59 c3 2d 59 cd   ┆  Y     Y  Y æ   ?Y  Y    )Y -Y ┆
0x076f40…076f60             a6 17 ca 29 59 e6 7f c9 06 00 7e 23 cd 4c 5a de 03 c8 cd 5b 59 d8 0d c2 4a 59 c9 e6 7f e5 21 db   ┆   )Y     ü# LZ    ÆY   JY    ! ┆
0x076f60…076f80             03 be ca 6c 59 23 be ca 6c 59 23 be e1 c4 96 17 c4 61 5e c8 cd e2 17 12 13 04 78 fe 29 3f c9 c5   ┆   lY#  lY#      a^       x )?  ┆
0x076f80…076fa0             2a 25 61 2b e5 11 ad 60 7e b7 ca 9b 59 4f 0c 1a ae c2 9e 59 2b 13 0d c2 8f 59 0c d1 c1 c9 e1 cd   ┆*%a+   `ü   YO     Y+    Y      ┆
0x076fa0…076fc0             c3 59 c3 84 59 c5 e5 62 6b cd c3 59 7e b7 ca ba 59 cd 3d 5a cd 3d 5a c3 ac 59 12 eb 22 27 61 eb   ┆ Y  Y  bk  Yü   Y =Z =Z  Y  "'a ┆
0x076fc0…076fe0             e1 c1 c9 7e 2b cd 46 17 7e 2b c3 46 17 d5 c5 e5 cd 7f 59 c4 a5 59 d5 2a ad 60 26 00 79 cd 3f 17   ┆   ü+ F ü+ F      Y  Y * `& y ? ┆
0x076fe0…077000             cd 2b 17 11 f6 ff 19 eb 2a 23 61 cd 68 17 2a 1f 61 d4 68 17 d1 d2 03 5a 2a 25 61 2b eb cd a5 59   ┆ +      *#a h * a h    Z*%a+   Y┆
0x077000…077020 (31, 1, 8)  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
          […0x7…]
0x077100…077120             00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 3f 61 6b 62 00 00 00 00 00 00 00   ┆                     ?akb       ┆
0x077120…077140             00 00 00 00 00 00 00 00 00 94 62 dc 62 0e 65 00 00 00 00 a0 66 a0 68 00 00 00 0e 65 d7 65 9b 00   ┆          b b e     f h    e e  ┆
0x077140…077160             00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
          […0x5…]
0x077200…077220 (31, 1, 9)  49 fe 2d ca da 49 cd 61 5e ca ea 49 fe 2c c4 a6 17 c2 d6 49 03 1b e1 7c 32 ad 60 7d b7 c0 37 c9   ┆I -  I a^  I ,     I   ø2 `å  7 ┆
0x077220…077240             cd bd 4a cd a2 25 da fe 4a 37 c8 67 fe 27 ca 37 4a fe 22 37 c2 fe 4a 2e c7 e5 2a 3a 61 cd f7 25   ┆  J  %  J7 g ' 7J "7  J.  *:a  %┆
0x077240…077260             da 5e 4a ca 5c 4a fe 0d ca 5e 4a 77 e3 2c 2d ca 56 4a e3 23 e3 2d bc e3 c2 3d 4a 2b 0b 13 03 1b   ┆ ^J ØJ   ^Jw ,- VJ # -   =J+    ┆
0x077260…077280             36 00 e1 b7 c9 cd bd 4a 2a 3a 61 e5 e5 21 c7 00 e3 cd f7 25 ca 92 4a e6 7f fe 20 c2 84 4a cd f7   ┆6      J*:a  !     %  J      J  ┆
0x077280…0772a0             25 ca 92 4a fe 0d ca 92 4a 77 23 e3 24 2d e3 c2 7e 4a 36 00 e1 7c e1 c9 cd bd 4a eb 2a 3a 61 eb   ┆%  J    Jw# $-  üJ6  ø    J *:a ┆
0x0772a0…0772c0             cd d6 1a cd 9c 1b 7e 12 13 23 b7 c2 a3 4a 1b c9 d5 cd 98 4a d1 3e 01 32 8f 3d c3 81 0b 3a 8f 3d   ┆      ü  #   J     J > 2 =   : =┆
0x0772c0…0772e0             b7 c8 cd 81 0b c3 bd 4a cd b2 25 3e 00 d8 3e ff c0 7d c9 cd b2 25 d8 c2 be 0c 7d 3d fe f0 d2 be   ┆       J  %>  >  å   %    å=    ┆
0x0772e0…077300             0c 3c b7 c9 cd ea 4a cd f4 4a cd a2 25 da fe 4a c8 1b 03 c9 cd f7 25 da fe 4a c8 fe 2c c8 1b 03   ┆ <    J  J  %  J      %  J  ,   ┆
0x077300…077320             c9 c5 d5 d5 af 0e 10 12 13 0d c2 07 4b d1 d5 cd 6f 4b 12 13 0e 08 cd 35 4b fe 2e c2 1f 4b 23 0e   ┆            K   oK     5K .  K# ┆
0x077320…077340             03 cd 35 4b d1 13 1a 1b fe 20 ca 31 4b b7 d1 c1 c9 37 d1 c1 c9 cd 53 4b ca 48 4b 12 13 0d c2 35   ┆  5K       1K    7    SK HK    5┆
0x077340…077360             4b cd 53 4b c2 41 4b c9 f5 3e 20 12 13 0d c2 49 4b f1 c9 7e cd 5e 4b c8 23 cd e2 17 b7 c9 fe 2e   ┆K SK AK  >     IK  ü ^K #      .┆
0x077360…077380             c8 fe 3a c8 fe 2a c8 fe 3f c8 fe 20 d0 bf c9 cd 7e 17 23 7e 2b fe 3a c2 87 4b 7e cd d8 17 d2 87   ┆  :  *  ?       ü #ü+ :  Kü     ┆
0x077380…0773a0             4b d6 40 23 23 b7 c9 cd 76 19 37 c9 3a d8 60 b7 21 bf 3a f5 cc b0 4a f1 ca be 0c 21 d9 60 7e 36   ┆K @##   v 7 : ` ! :   J    ! `ü6┆
0x0773a0…0773c0             ff b7 cc 68 4c cd c4 49 d2 b7 4b 21 c5 3a cd b0 4a cd e3 4b c3 bf 4b cd e3 4b f5 cd 43 49 f1 21   ┆   hL  I  K! :  J  K  K  K  CI !┆
0x0773c0…0773e0             c1 3a dc b0 4a cd 86 4c cd e4 4a ca d3 4b fe 0d c2 a5 4b 3a db 60 b7 21 c9 3a c4 b0 4a 3e ff 32   ┆ :  J  L  J  K    K: ` ! :  J> 2┆
0x0773e0…077400             dc 60 c9 c5 d5 cd bd 4a 2a 3a 61 e5 0e 00 51 cd 59 4c fe 1a c2 fa 4b 32 db 60 06 00 cd 94 4c cd   ┆ `     J*:a   Q YL    K2 `    L ┆
0x077400…077420 (31, 1, 10) ca d2 51 cd 41 52 c2 25 52 1a d5 f5 21 b3 3a cd 98 4a eb f1 cd 05 18 eb 21 b5 3a cd a0 4a cd b5   ┆  Q AR %R   ! :  J      ! :  J  ┆
0x077420…077440             4a d1 c3 d2 51 3a 8b 36 b7 cc 71 18 21 b7 3a cd 94 52 3e 08 32 8f 3d cd bd 4a cd e3 51 ca 25 52   ┆J   Q: 6  q ! :  R> 2 =  J  Q %R┆
0x077440…077460             c9 3a 38 3d 2f b7 c0 c5 e5 1a cd 74 19 47 3a 8b 36 2f b7 3a 6b 3d cc 89 52 3a 40 39 c4 89 52 3a   ┆ :8=/      t G: 6/ :k=  R:@9  R:┆
0x077460…077480             0a 38 c4 89 52 3a 30 38 c4 89 52 21 45 3d c4 82 52 ca 7f 52 3a dd 60 2f b7 21 de 60 cc 82 52 e1   ┆ 8  R:08  R!E=  R  R: `/ ! `  R ┆
0x077480…0774a0             c1 c9 cd 68 17 ca e0 51 7e cd 74 19 b8 c9 cd 94 52 c3 b5 4a e5 d5 cd 98 4a eb d1 cd 12 18 eb e3   ┆   h   Qü t     R  J    J       ┆
0x0774a0…0774c0             23 23 cd a0 4a d1 c9 3a 41 3d 2a 3f 3d b4 b5 c2 d9 52 2a 15 61 7e b7 2a 12 61 23 eb 2a f2 3c cc   ┆##  J  :A=*?=    R* aü * a# * < ┆
0x0774c0…0774e0             68 17 3e 00 d4 b3 0b fe 1a c2 d9 52 2a 15 61 11 01 00 19 3a 38 3d b6 77 c9 2a 67 3d e5 2a 97 3d   ┆h >        R* a    :8= w *g= * =┆
0x0774e0…077500             eb e3 2b e3 21 80 ff 19 eb 2a 95 3d cd 2c 17 7c b7 fa e1 52 22 3b 3d e1 22 39 3d 01 c8 00 2a 15   ┆  + !    * = , ø   R";= "9=   * ┆
0x077500…077520             61 09 eb 21 1e 00 19 eb cd e1 16 36 ff 23 eb 21 38 3d 01 1d 00 c3 c2 16 2a 15 61 e5 23 11 38 3d   ┆a  !       6 # !8=      * a # 8=┆
0x077520…077540             01 1d 00 cd c2 16 d1 01 c8 00 cd c2 16 af 12 c9 c5 d5 22 1b 61 06 00 2a 19 61 7e b7 c2 4b 53 2a   ┆                  " a  * aü  KS*┆
0x077540…077560             17 61 22 19 61 70 0e 29 cd 54 53 2a 1b 61 7d 04 05 d1 c1 c9 7b fe a0 ca 68 53 fe 8d ca 68 53 cd   ┆ a" ap ) TS* aå     æ   hS   hS ┆
0x077560…077580             a6 17 c2 6f 53 cd 82 53 cd 8d 53 d8 c3 55 53 47 cd 82 53 cd 5c 5e c8 cd 8d 53 d8 cd 96 17 c8 c3   ┆   oS  S  S  USG  S Ø^   S      ┆
0x077580…0775a0             6f 53 e6 7f e5 21 1b 61 cd 94 1d e1 c9 0d ca ce 53 7b fe 1a 37 c8 c5 e5 cd 11 51 e1 c1 77 23 36   ┆oS   ! a        Sæ  7     Q  w#6┆
0x0775a0…0775c0             00 53 5f fe 8d c8 e6 7f fe 0a c2 b4 53 7a fe 8d ca 8d 53 7b cd 67 5e 37 c8 e5 21 94 03 be e1 c2   ┆ S_         Sz    Sæ g^7  !     ┆
0x0775c0…0775e0             cb 53 7a fe 0a 37 c8 fe 0c 37 c8 7b b7 c9 06 00 37 c9 c5 d5 e5 f5 2a 89 5f eb 21 02 00 39 f1 22   ┆ Sz  7   7 æ    7     * _ !  9 "┆
0x0775e0…077600             89 5f eb f9 c3 5b 1a 7b b7 c8 06 01 d5 e5 57 2a 1f 61 78 3d ca 06 54 f5 3a 21 61 3d c2 02 54 36   ┆ _   Æ æ      W* ax=  T :!a=  T6┆
0x077600…077620 (31, 1, 11) c3 d6 59 21 ad 60 cd 1f 5a e1 c1 c5 e5 79 12 1b 06 00 cd 23 5a af 12 eb 22 27 61 e1 c1 d1 c9 4e   ┆  Y! `  Z    y     #Z   "'a    N┆
0x077620…077640             06 00 03 78 b1 c8 7e 12 23 1b 0b c3 23 5a 4e 06 00 03 78 b1 c8 7e 12 2b 13 0b c3 32 5a 4e 06 00   ┆   x  ü #   #ZN   x  ü +   2ZN  ┆
0x077640…077660             03 78 b1 c8 7e 12 2b 1b 0b c3 41 5a e3 d5 5e 23 56 23 eb be eb d1 e3 c9 c5 d5 e5 cd 64 5a da 5b   ┆ x  ü +   AZ  ^#V#          dZ Æ┆
0x077660…077680             5a c3 5b 1a cd 32 56 3a 93 5f 2a 94 5f 7c a5 2a 9d 5f b5 c8 cd a8 5a d2 99 5a 2b 7e 23 b7 c8 23   ┆Z Æ  2V: _* _ø * _    Z  Z+ü#  #┆
0x077680…0776a0             22 cf 5f 3a 92 5f 2f 32 bb 5f af 32 bc 5f cd 9d 5b 3a be 5f 32 af 5f 37 c9 cd 81 0b cd 9d 5b cd   ┆" _: _/2 _ 2 _  Æ: _2 _7      Æ ┆
0x0776a0…0776c0             09 56 cd bf 5b c3 91 5a 3a 92 5f b7 c2 b9 5a 2a 2b 61 cd 0e 5c d8 c3 15 5b 2a 2b 61 cd 25 5c d8   ┆ V  Æ  Z: _   Z*+a  Ø   Æ*+a %Ø ┆
0x0776c0…0776e0             ca c6 5a c3 15 5b 3e ff 2a 2b 61 cd 12 5d d8 3a c2 5f b7 c2 00 5b 3a c6 5f b7 ca 00 5b 3a 8d 5f   ┆  Z  Æ> *+a  Å : _   Æ: _   Æ: _┆
0x0776e0…077700             b7 ca f4 5a 2a cf 5f 1e 0a 7e 23 cd 67 5e 37 c8 1d c2 e9 5a 3a c6 5f b7 1f 2a 2b 61 cd 12 5d d8   ┆   Z* _  ü# g^7    Z: _  *+a  Å ┆
0x077700…077720             2a cb 5f eb 2a 90 5f 26 00 cd 2c 17 22 bc 5f 2b 7c b7 fa 15 5b 2a cf 5f 2b 7e cd a6 17 ca 18 5b   ┆* _ * _&  , " _+ø   Æ* _+ü     Æ┆
0x077720…077740             e6 7f fe 1e c2 2d 5b 7e e6 80 f6 1f 77 2a cf 5f 1e 32 1d ca 97 5b 7e 23 cd a6 17 ca 32 5b fe 8d   ┆     -Æü    w* _ 2   Æü#    2Æ  ┆
0x077740…077760             c2 63 5b 7e e6 7f fe 0a c2 4c 5b 23 e5 21 be 5f 36 ff 21 bf 5f 34 23 36 00 e1 1d ca 97 5b 7e 23   ┆ cÆü     LÆ# ! _6 ! _4#6     Æü#┆
0x077760…077780             c3 3e 5b fe a0 c2 71 5b e5 21 c0 5f 34 e1 c3 5e 5b e5 cd a6 17 c2 81 5b 1d ca 96 5b 7e 23 c3 72   ┆ >Æ   qÆ ! _4  ^Æ      Æ   Æü# r┆
0x077780…0777a0             5b fe 8d c2 8b 5b e3 e1 c3 43 5b cd 67 5e c2 92 5b e3 e1 37 c8 e5 e1 2b 22 cf 5f b7 c9 cd 00 5c   ┆Æ    Æ   CÆ g^  Æ  7   +" _    Ø┆
0x0777a0…0777c0             2a 2b 61 eb 2a cf 5f cd 35 17 eb e5 cd 81 5e d1 1b 2b 13 23 7e 12 b7 c2 b2 5b eb 22 2f 61 c9 af   ┆*+a * _ 5     ^  + #ü    Æ "/a  ┆
0x0777c0…0777e0             32 8d 5f 3a 94 5f 21 92 5f a6 2f 21 be 5f a6 2a bf 5f c2 d8 5b 2a 8f 5f 2d 1e 8d cd b7 56 1e 0a   ┆2 _: _! _ /! _ * _  Æ* _-    V  ┆
0x0777e0…077800             cd b7 56 2d f2 d9 5b 3a 93 5f 21 92 5f a6 2f 21 be 5f a6 3a c0 5f c2 fc 5b 3a 8e 5f 32 8c 5f c9   ┆  V-  Æ: _! _ /! _ : _  Æ: _2 _ ┆
0x077800…077820 (31, 1, 12) 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d   ┆--------------------------------┆
0x077820…077840             0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆  --------------                ┆
0x077840…077860             20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 49 0d 0a 20 20 20 20 20   ┆                        I       ┆
0x077860…077880             20 20 20 20 20 20 20 20 49 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆        I                       ┆
0x077880…0778a0             20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 49 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20   ┆                 I              ┆
0x0778a0…0778c0             20 49 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆ I                              ┆
0x0778c0…0778e0             20 20 20 20 20 20 20 20 20 20 49 20 20 20 20 20 20 20 20 20 20 20 41 2f 53 20 20 52 20 45 20 47   ┆          I           A/S  R E G┆
0x0778e0…077900             20 4e 20 45 20 43 20 45 20 4e 20 54 20 52 20 41 20 4c 20 45 0d 0a 20 4e 20 20 20 20 20 20 20 20   ┆ N E C E N T R A L E   N        ┆
0x077900…077920             20 20 20 49 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆   I                            ┆
0x077920…077940             20 20 20 20 20 20 20 20 20 20 20 20 49 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 49 0d 0a 20   ┆            I               I   ┆
0x077940…077960             20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆                                ┆
0x077960…077980             20 20 20 20 20 49 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 20 45 20 4e 20   ┆     I                    D E N ┆
0x077980…0779a0             4d 20 41 20 52 20 4b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 49 0d 0a 20 20 20 20 20 20 20   ┆M A R K               I         ┆
0x0779a0…0779c0             20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 49   ┆                               I┆
0x0779c0…0779e0             0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 49 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆               I                ┆
0x0779e0…077a00             20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 49 0d 0a 20 20 20 20 20   ┆                        I       ┆
0x077a00…077a20 (31, 1, 13) 4c 5a d8 03 c4 67 5e ca 35 4c cd 4c 5a d9 03 ca 1e 4c cd 42 4c cd a6 17 ca fc 4b c3 fa 4b cd 94   ┆LZ   g^ 5L LZ    L BL     K  K  ┆
0x077a20…077a40             4c cd 67 5e ca 38 4c cd 4c 5a d9 03 ca fa 4b cd 42 4c c3 1e 4c 79 90 4f 7a c6 ff 79 e1 d1 c1 c3   ┆L g^ 8L LZ    K BL  Ly Oz  y    ┆
0x077a40…077a60             dd 4c 79 fe c8 7b d2 52 4c 77 23 0c cd a6 17 c0 04 c9 14 c0 15 e1 c3 38 4c cd d4 4c cd 96 17 c2   ┆ Ly  æ RLw#            8L  L    ┆
0x077a60…077a80             dd 4c cd a0 17 c2 59 4c cd d4 4c fe 7f c2 5c 4c cd d4 4c cd 67 5e c2 70 4c c3 5c 4c cd d4 4c cd   ┆ L    YL  L   ØL  L g^ pL ØL  L ┆
0x077a80…077aa0             a6 17 ca 7c 4c c9 cd 7c 4c cd 4c 5a d8 03 cc 7c 4c c3 dd 4c e5 d5 2a 35 61 2b eb 2a 37 61 cd 68   ┆   øL  øL LZ   øL  L  *5a+ *7a h┆
0x077aa0…077ac0             17 d2 c9 4c 3a dd 60 b7 3e 1a ca ca 4c 2a 33 61 e5 36 1a 11 de 60 cd a3 19 11 80 00 19 eb 2a 35   ┆   L: ` >   L*3a 6   `        *5┆
0x077ac0…077ae0             61 cd 68 17 eb da b1 4c e1 7e d1 5f e6 7f 23 22 37 61 e1 c9 d5 cd 94 4c d1 c9 cd d4 4c e5 2a 37   ┆a h    L ü _  #"7a     L    L *7┆
0x077ae0…077b00             61 2b c3 cf 4c 21 dc 60 7e b7 36 00 c4 70 4c cd da 4c fe 1a c0 3e ff 32 da 60 c9 cd d2 53 1e 00   ┆a+  L! `ü 6  pL  L   > 2 `   S  ┆
0x077b00…077b20             cd 83 50 cd 29 54 af 67 6f 32 9d 5f 22 79 5f 22 7b 5f 22 7d 5f 22 7f 5f 32 85 5f 7b fe a0 c2 2e   ┆  P )T go2 _"y_"æ_"å_" _2 _æ   .┆
0x077b20…077b40             4d cd 62 50 21 85 5f 34 cd 83 50 c3 1b 4d 3a 85 5f 06 02 cd ec 53 7b fe 8d ca 0b 4e fe 1a ca a0   ┆M bP! _4  P  M: _    Sæ    N    ┆
0x077b40…077b60             4d cd 87 17 ca 9a 4d cd 50 4d cd 83 50 c3 36 4d 7b cd 62 50 cd ac 17 ca 79 4d 32 7b 5f 3a 79 5f   ┆M     M PM  P 6Mæ bP    yM2æ_:y_┆
0x077b60…077b80             32 87 5f 7b b7 f0 3e ff 21 7c 5f be c2 72 4d 23 be c8 77 06 06 cd ec 53 c9 3a 7c 5f b7 c2 88 4d   ┆2 _æ  > !ø_  rM#  w    S :ø_   M┆
0x077b80…077ba0             7a cd 96 17 c2 73 4d c9 7b fe a0 c0 3e ff 32 7e 5f 21 80 5f 7e fe 7f c8 34 c9 cd bc 4d c3 00 4d   ┆z    sM æ   > 2ü_! _ü   4   M  M┆
0x077ba0…077bc0             cd bc 4d cd e7 53 cd 29 54 1e 00 cd 83 50 fe 1a c2 03 4d cd bf 12 cd 81 0b c3 b6 4d cd 40 4f 3a   ┆  M  S )T    P    M        M @O:┆
0x077bc0…077be0             9b 5f b7 21 88 5f c2 cf 4d cd 0e 50 21 82 5f 3a 87 5f be d2 d7 4d 7e 32 87 5f 32 88 5f cd 5c 4f   ┆ _ ! _  M  P! _: _   Mü2 _2 _ ØO┆
0x077be0…077c00             3a 78 5f b7 c2 fc 4d 21 80 03 3a 49 02 d6 04 be da f4 4d 7e 3c 21 87 5f be d2 ff 4d 3a 87 5f 06   ┆:x_   M!  :I      Mü<! _   M: _ ┆
0x077c00…077c20 (31, 1, 14) 00 23 f1 c3 0d 54 3a 21 61 3d ca 13 54 70 23 78 32 21 61 72 23 22 1f 61 36 00 23 36 00 24 24 eb   ┆ #   T:!a=  Tp#x2!ar#" a6 #6 $$ ┆
0x077c20…077c40             2a 27 61 cd 68 17 e1 d1 d8 c5 d5 e5 3a 9b 5f b7 c2 46 54 3a 82 5f 21 9a 5f 77 3a 84 5f cd 6d 50   ┆*'a h       : _  FT: _! _w: _ mP┆
0x077c40…077c60             3a 83 5f cd 6d 50 3a 82 5f 32 83 5f 21 84 5f cd 75 50 3e ff 32 9e 5f 2a 1d 61 7e 23 46 23 e5 21   ┆: _ mP: _2 _! _ uP> 2 _* aü#F# !┆
0x077c60…077c80             5a 54 e3 fe 07 d0 87 e5 21 75 54 cd 3f 17 7e 23 66 6f e3 78 c9 83 54 8a 54 94 54 98 54 9c 54 af   ┆ZT      !uT ? ü#fo x  T T T T T ┆
0x077c80…077ca0             54 b3 54 e1 cd b6 54 c3 5b 1a cd d2 53 7e 23 b7 c2 8a 54 c9 32 98 5f c9 32 99 5f c9 e5 21 9a 5f   ┆T T   T Æ   Sü#   T 2 _ 2 _  ! _┆
0x077ca0…077cc0             3a 9b 5f b7 c2 ac 54 78 be da ad 54 70 e1 c9 32 9d 5f c9 c3 58 5a af 32 22 61 32 21 61 2a 1d 61   ┆: _   Tx   Tp  2 _  XZ 2"a2!a* a┆
0x077cc0…077ce0             22 1f 61 77 23 77 c9 cd 92 55 af 32 9c 5f 2f 32 8d 5f 7b fe a0 ca c7 54 cd 09 56 3a 8e 5f 32 8c   ┆" aw#w   U 2 _/2 _æ    T  V: _2 ┆
0x077ce0…077d00             5f 7b fe 8d ca fc 54 cd 67 5e ca 10 55 fe 1f c2 f6 54 ab f6 1e 5f cd 07 55 c3 e1 54 cd 07 55 fe   ┆_æ    T g^  U    T   _  U  T  U ┆
0x077d00…077d20             0a cc 07 55 c3 e1 54 cd 76 56 cd 19 55 c3 92 55 cd 76 56 cd 58 5a c3 c7 54 2a 2f 61 cd 62 55 cd   ┆   U  T vV  U  U vV XZ  T*/a bU ┆
0x077d20…077d40             8b 55 c8 cd 62 55 7e fe a0 ca 2f 55 fe 8d c0 cd 62 55 7e fe a0 ca 2f 55 fe 8d ca 2f 55 cd 8b 55   ┆ U  bUü   /U    bUü   /U   /U  U┆
0x077d40…077d60             c8 cd 5c 5e c8 cd 75 55 cd 75 55 2b fe 20 c2 53 55 77 c9 06 20 7e 70 47 23 b7 c2 55 55 77 22 2f   ┆  Ø^  uU uU+   SUw   üpG#  UUw"/┆
0x077d60…077d80             61 c9 2b 7e e6 7f fe 0a c0 2b 7e e6 7f fe 0d c8 23 7e e6 7f c9 2b 7e 23 e6 7f fe 0d c2 86 55 7e   ┆a +ü     +ü     #ü   +ü#      Uü┆
0x077d80…077da0             23 e6 7f fe 0a c0 7e 23 e6 7f c9 cd 67 5e c8 c3 ac 17 c5 e5 cd ed 55 21 94 03 ae 04 b0 7b ca a6   ┆#     ü#    g^        U!     æ  ┆
0x077da0…077dc0             55 e6 7f e1 c1 c9 2a 31 61 e5 01 00 00 c3 b7 55 c5 e5 cd ed 55 e1 c1 73 fe 1a ca d0 55 fe 0c ca   ┆U     *1a      U    U  s    U   ┆
0x077dc0…077de0             d0 55 23 03 1e 00 fe 0a ca d0 55 0c 0d c2 b0 55 e1 d5 e5 09 e3 7e cd 22 0c eb e1 cd 35 17 eb 78   ┆ U#       U    U     ü "    5  x┆
0x077de0…077e00             b1 c2 d2 55 d1 7b b7 ca 94 55 c3 a1 55 d5 cd 23 57 e1 54 7b e6 7f 21 8b 5f 46 0e ff 71 fe 0a c8   ┆   U æ   U  U  #W Tæ  ! _F  q   ┆
0x077e00…077e20 (31, 1, 15) 21 8c 5f 34 35 c8 1e a0 cd b7 56 c3 04 5c cd f9 5c 3e ff 32 b9 5f 7e fe 8d ca 9c 5c 23 cd 67 5e   ┆! _45     V  Ø  Ø> 2 _ü    Ø# g^┆
0x077e20…077e40             37 c8 c3 16 5c cd f9 5c 7e e6 7f fe 1f c2 34 5c ae f6 1e 77 7e 5e fe 8d ca 91 5c 23 cd 67 5e ca   ┆7   Ø  Øü     4Ø   wü^    Ø# g^ ┆
0x077e40…077e60             8c 5c 7b b7 f2 5f 5c e5 21 b2 5f fe a0 c2 5d 5c 7e 21 b3 5f b7 3e a0 ca 5d 5c 21 b5 5f 34 e1 cd   ┆ Øæ  _Ø ! _   ÅØü! _ >  ÅØ! _4  ┆
0x077e60…077e80             51 5e cd a6 17 ca 28 5c 53 d5 e5 2a b5 5f eb 2a 90 5f 26 00 19 eb 2a b0 5f 22 b7 5f fe 1e c2 82   ┆Q^    (ØS  * _ * _&   * _" _    ┆
0x077e80…077ea0             5c 23 cd 75 5e e1 d1 d2 28 5c af c9 cd d0 5c 37 c9 e5 cd a2 5c e1 fa 8a 5c cd d0 5c 22 cf 5f f6   ┆Ø# u^   (Ø    Ø7    Ø   Ø  Ø" _ ┆
0x077ea0…077ec0             ff c9 7a 2a 90 5f 26 00 eb 2a b7 5f e6 7f fe 1e c2 b4 5c 23 cd 2c 17 7c b7 f0 3a 91 5f b7 f8 eb   ┆  z* _&  * _      Ø# , ø  : _   ┆
0x077ec0…077ee0             2a b5 5f eb cd 2c 17 3a 82 50 cd 3f 17 7c b7 c9 d5 e5 2a 90 5f 26 00 eb 2a b5 5f 19 eb 2a b7 5f   ┆* _  , : P ? ø    * _&  * _  * _┆
0x077ee0…077f00             eb cd 2c 17 eb 3a 91 5f b7 c2 ef 5c 11 00 00 2a b3 5f 19 22 b9 5f e1 d1 c9 e5 2a 8c 5f 26 00 22   ┆  ,  : _   Ø   * _ " _    * _& "┆
0x077f00…077f20             b0 5f 21 b2 5f 01 17 00 cd 08 17 11 20 20 e1 c3 84 12 32 c9 5f cd f9 5c 22 cd 5f 3a af 5f e5 21   ┆ _! _             2 _  Ø" _: _ !┆
0x077f20…077f40             8d 5f b6 e1 c2 2b 5d 3c 32 b2 5f cd 56 5d d8 ca 2b 5d 3e 0a 32 ca 5f 3a c5 5f b7 c0 cd 56 5d d8   ┆ _   +Å<2 _ VÅ  +Å> 2 _: _   VÅ ┆
0x077f40…077f60             e5 21 ca 5f 35 e1 c2 37 5d 2a c7 5f 22 cb 5f 2a d1 5f 22 cf 5f c9 22 cd 5f 53 7e e6 7f fe 1f c2   ┆ ! _5  7Å* _" _* _" _ " _Sü     ┆
0x077f60…077f80             66 5d ae f6 1e 77 7e 5f 23 fe a0 ca 82 5d fe 8d c2 92 5d 32 b2 5f 7e e6 7f fe 0a c2 7f 5d 23 c3   ┆fÅ   wü_#    Å    Å2 _ü      Å# ┆
0x077f80…077fa0             5a 5d 3a b2 5f b7 c2 5a 5d e5 21 b9 5f 34 e1 c3 a0 5d 7b cd 67 5e 37 c8 7b b7 f2 a0 5d 32 b2 5f   ┆ZÅ: _  ZÅ ! _4   Åæ g^7 æ   Å2 _┆
0x077fa0…077fc0             cd dc 5d e5 2a b0 5f e5 7b cd 51 5e d5 2a 90 5f 26 00 eb 2a b0 5f fe 1e c2 bc 5d 23 cd 75 5e d1   ┆  Å * _ æ Q^ * _&  * _    Å# u^ ┆
0x077fc0…077fe0             d2 d5 5d 3a c7 5f b7 c2 d5 5d e1 22 c7 5f e1 e5 2b 22 d1 5f e5 e1 e1 3a c7 5f b7 c9 7a cd a6 17   ┆  Å: _   Å " _  +" _   : _  z   ┆
0x077fe0…078000             c8 b7 fa 15 5e cd 5c 5e 7b c2 f5 5d cd 5c 5e c8 06 00 c3 1a 5e cd a6 17 c0 e5 06 00 21 c9 5f 7e   ┆    ^ Ø^æ  Å Ø^     ^       ! _ü┆
0x078000…078020 (32, 0, 1)  3b 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a   ┆;*******************************┆
0x078020…078040             2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a   ┆********************************┆
0x078040…078060             2a 2a 2a 0d 0a 3b 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆***  ;*                         ┆
0x078060…078080             20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆                                ┆
0x078080…0780a0             20 20 20 20 20 20 20 2a 0d 0a 3b 2a 20 20 20 20 20 42 41 43 4b 55 50 20 20 55 54 49 4c 49 54 59   ┆       *  ;*     BACKUP  UTILITY┆
0x0780a0…0780c0             20 20 2d 20 20 56 45 52 53 49 4f 4e 20 20 38 31 2e 30 37 2e 30 38 20 20 20 20 20 20 20 20 20 20   ┆  -  VERSION  81.07.08          ┆
0x0780c0…0780e0             20 20 20 20 20 20 20 20 20 20 20 20 2a 0d 0a 3b 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆            *  ;*               ┆
0x0780e0…078100             20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆                                ┆
0x078100…078120             20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 0d 0a 3b 2a 20 20 20 20 20 42 41 43 4b 55   ┆                 *  ;*     BACKU┆
0x078120…078140             50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆P                               ┆
0x078140…078160             20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 0d 0a 3b 2a 20 20 20 20 20   ┆                      *  ;*     ┆
0x078160…078180             20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆                                ┆
0x078180…0781a0             20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 0d 0a 3b 2a   ┆                           *  ;*┆
0x0781a0…0781c0             2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a   ┆********************************┆
          […0x1…]
0x0781e0…078200             2a 0d 0a 0d 0a 0d 0a 54 50 41 09 45 51 55 09 31 30 30 48 0d 0a 42 44 4f 53 09 45 51 55 09 30 30   ┆*      TPA EQU 100H  BDOS EQU 00┆
0x078200…078220 (32, 0, 2)  56 49 09 41 2c 31 09 3b 0d 0a 09 53 54 41 09 46 54 52 4b 09 3b 0d 0a 09 4d 56 49 09 41 2c 36 31   ┆VI A,1 ;   STA FTRK ;   MVI A,61┆
0x078220…078240             09 3b 0d 0a 09 53 54 41 09 4c 54 52 4b 09 3b 0d 0a 09 4d 56 49 09 41 2c 31 32 30 09 3b 0d 0a 09   ┆ ;   STA LTRK ;   MVI A,120 ;   ┆
0x078240…078260             53 54 41 09 53 50 54 09 3b 0d 0a 09 4a 4d 50 09 53 45 54 43 54 09 3b 0d 0a 53 45 54 35 3a 09 43   ┆STA SPT ;   JMP SETCT ;  SET5: C┆
0x078260…078280             50 49 09 44 44 35 09 3b 20 20 49 46 20 46 4f 52 4d 41 54 3d 20 35 22 20 44 44 20 54 48 45 4e 0d   ┆PI DD5 ;  IF FORMAT= 5" DD THEN ┆
0x078280…0782a0             0a 09 4c 58 49 09 44 2c 4e 4f 54 4f 4b 09 3b 20 20 20 28 31 2c 33 31 2c 37 32 29 3b 0d 0a 09 43   ┆  LXI D,NOTOK ;   (1,31,72);   C┆
0x0782a0…0782c0             4e 5a 09 46 49 4e 49 53 09 3b 0d 0a 09 4d 56 49 09 41 2c 31 09 3b 0d 0a 09 53 54 41 09 46 54 52   ┆NZ FINIS ;   MVI A,1 ;   STA FTR┆
0x0782c0…0782e0             4b 09 3b 0d 0a 09 4d 56 49 09 41 2c 33 31 09 3b 0d 0a 09 53 54 41 09 4c 54 52 4b 09 3b 0d 0a 09   ┆K ;   MVI A,31 ;   STA LTRK ;   ┆
0x0782e0…078300             4d 56 49 09 41 2c 37 32 09 3b 0d 0a 09 53 54 41 09 53 50 54 09 3b 0d 0a 53 45 54 43 54 3a 09 4c   ┆MVI A,72 ;   STA SPT ;  SETCT: L┆
0x078300…078320             44 41 09 46 54 52 4b 09 3b 0d 0a 09 53 54 41 09 43 55 52 54 52 4b 09 3b 20 43 55 52 54 52 4b 3a   ┆DA FTRK ;   STA CURTRK ; CURTRK:┆
0x078320…078340             3d 46 49 52 53 54 20 54 52 41 43 4b 3b 0d 0a 09 4d 56 49 09 41 2c 30 09 3b 0d 0a 09 53 54 41 09   ┆=FIRST TRACK;   MVI A,0 ;   STA ┆
0x078340…078360             43 55 52 53 45 43 09 3b 20 43 55 52 53 45 43 3a 3d 20 30 3b 0d 0a 0d 0a 52 44 41 54 3a 09 4c 44   ┆CURSEC ; CURSEC:= 0;    RDAT: LD┆
0x078360…078380             41 09 44 46 4c 41 47 09 3b 20 52 45 41 44 20 44 41 54 41 3a 0d 0a 09 4f 52 41 09 41 09 3b 0d 0a   ┆A DFLAG ; READ DATA:   ORA A ;  ┆
0x078380…0783a0             09 4a 4e 5a 09 53 45 4c 53 44 09 3b 20 49 46 20 53 4f 55 52 43 45 20 44 52 49 56 45 20 3d 20 44   ┆ JNZ SELSD ; IF SOURCE DRIVE = D┆
0x0783a0…0783c0             45 53 54 49 4e 41 54 49 4f 4e 20 44 52 49 56 45 0d 0a 09 4c 58 49 09 44 2c 4d 53 44 49 53 4b 3b   ┆ESTINATION DRIVE   LXI D,MSDISK;┆
0x0783c0…0783e0             20 20 54 48 45 4e 20 57 41 49 54 20 46 4f 52 20 44 49 53 4b 20 43 48 41 4e 47 45 3b 0d 0a 09 43   ┆  THEN WAIT FOR DISK CHANGE;   C┆
0x0783e0…078400             41 4c 4c 09 50 52 49 4e 54 09 3b 0d 0a 09 43 41 4c 4c 09 43 4f 4e 53 49 09 3b 0d 0a 53 45 4c 53   ┆ALL PRINT ;   CALL CONSI ;  SELS┆
0x078400…078420 (32, 0, 3)  09 43 55 52 54 52 4b 09 3b 0d 0a 09 4d 4f 56 09 42 2c 41 09 3b 0d 0a 09 50 55 53 48 09 42 09 3b   ┆ CURTRK ;   MOV B,A ;   PUSH B ;┆
0x078420…078440             20 53 45 54 20 53 45 43 54 4f 52 28 53 45 43 3a 3d 43 55 52 20 53 45 43 29 3b 0d 0a 09 43 41 4c   ┆ SET SECTOR(SEC:=CUR SEC);   CAL┆
0x078440…078460             4c 09 53 45 43 09 3b 0d 0a 57 52 49 54 45 44 3a 09 43 41 4c 4c 09 44 57 52 49 54 45 09 3b 20 57   ┆L SEC ;  WRITED: CALL DWRITE ; W┆
0x078460…078480             52 49 54 45 20 53 45 43 54 4f 52 3b 0d 0a 09 4c 58 49 09 44 2c 42 41 44 44 09 3b 0d 0a 09 4f 52   ┆RITE SECTOR;   LXI D,BADD ;   OR┆
0x078480…0784a0             41 09 41 09 3b 20 49 46 20 45 52 52 4f 52 53 20 54 48 45 4e 20 50 52 49 4e 54 20 57 41 52 4e 49   ┆A A ; IF ERRORS THEN PRINT WARNI┆
0x0784a0…0784c0             4e 47 3b 0d 0a 09 43 4e 5a 09 45 52 52 4f 52 09 3b 0d 0a 09 50 4f 50 09 42 09 3b 0d 0a 09 49 4e   ┆NG;   CNZ ERROR ;   POP B ;   IN┆
0x0784c0…0784e0             52 09 43 09 3b 20 53 45 43 3a 3d 20 53 45 43 2b 31 3b 0d 0a 09 4c 44 41 09 53 50 54 09 3b 0d 0a   ┆R C ; SEC:= SEC+1;   LDA SPT ;  ┆
0x0784e0…078500             09 43 4d 50 09 43 09 3b 20 49 46 20 53 45 43 3d 53 50 54 20 54 48 45 4e 0d 0a 09 4a 4e 5a 09 4e   ┆ CMP C ; IF SEC=SPT THEN   JNZ N┆
0x078500…078520             45 58 54 44 09 3b 20 42 45 47 49 4e 0d 0a 09 4c 44 41 09 4c 54 52 4b 09 3b 0d 0a 09 43 4d 50 09   ┆EXTD ; BEGIN   LDA LTRK ;   CMP ┆
0x078520…078540             42 09 3b 20 20 20 20 49 46 20 54 52 4b 3d 4c 41 53 54 20 54 48 45 4e 20 47 4f 54 4f 20 45 4e 44   ┆B ;    IF TRK=LAST THEN GOTO END┆
0x078540…078560             3b 0d 0a 09 4a 5a 09 45 44 41 54 09 3b 0d 0a 09 49 4e 52 09 42 09 3b 20 20 20 20 54 52 4b 3a 3d   ┆;   JZ EDAT ;   INR B ;    TRK:=┆
0x078560…078580             54 52 4b 2b 31 3b 0d 0a 09 4d 56 49 09 43 2c 30 09 3b 20 20 20 20 53 45 43 3a 3d 30 3b 0d 0a 09   ┆TRK+1;   MVI C,0 ;    SEC:=0;   ┆
0x078580…0785a0             50 55 53 48 09 42 09 3b 0d 0a 09 4d 4f 56 09 43 2c 42 09 3b 0d 0a 09 43 41 4c 4c 09 54 52 4b 09   ┆PUSH B ;   MOV C,B ;   CALL TRK ┆
0x0785a0…0785c0             3b 20 20 20 20 53 45 54 20 54 52 41 43 4b 28 54 52 4b 29 3b 0d 0a 09 50 4f 50 09 42 09 3b 20 45   ┆;    SET TRACK(TRK);   POP B ; E┆
0x0785c0…0785e0             4e 44 3b 0d 0a 4e 45 58 54 44 3a 09 50 55 53 48 09 42 09 3b 0d 0a 09 43 41 4c 4c 09 53 45 43 09   ┆ND;  NEXTD: PUSH B ;   CALL SEC ┆
0x0785e0…078600             3b 20 53 45 54 20 53 45 43 54 4f 52 28 53 45 43 29 3b 0d 0a 09 4c 48 4c 44 09 53 45 43 43 4e 54   ┆; SET SECTOR(SEC);   LHLD SECCNT┆
0x078600…078620 (32, 0, 4)  44 4f 53 09 3b 0d 0a 0d 0a 43 4f 4e 53 49 3a 09 4d 56 49 09 43 2c 43 4f 4e 53 49 46 3b 0d 0a 09   ┆DOS ;    CONSI: MVI C,CONSIF;   ┆
0x078620…078640             4a 4d 50 09 42 44 4f 53 09 3b 0d 0a 0d 0a 45 52 52 4f 52 3a 09 4d 56 49 09 43 2c 50 52 49 4e 54   ┆JMP BDOS ;    ERROR: MVI C,PRINT┆
0x078640…078660             46 3b 20 44 49 53 4b 20 45 52 52 4f 52 3a 0d 0a 09 43 41 4c 4c 09 42 44 4f 53 09 3b 0d 0a 09 4d   ┆F; DISK ERROR:   CALL BDOS ;   M┆
0x078660…078680             56 49 09 43 2c 43 4f 4e 53 49 46 3b 0d 0a 09 43 41 4c 4c 09 42 44 4f 53 09 3b 0d 0a 09 43 50 49   ┆VI C,CONSIF;   CALL BDOS ;   CPI┆
0x078680…0786a0             09 33 09 3b 0d 0a 09 4a 5a 09 42 4f 4f 54 09 3b 0d 0a 09 52 45 54 09 09 3b 0d 0a 0d 0a 48 45 41   ┆ 3 ;   JZ BOOT ;   RET  ;    HEA┆
0x0786a0…0786c0             44 3a 09 44 42 09 27 52 43 37 30 30 20 20 43 50 2f 4d 20 20 42 41 43 4b 55 50 20 20 55 54 49 4c   ┆D: DB 'RC700  CP/M  BACKUP  UTIL┆
0x0786c0…0786e0             49 54 59 27 2c 31 33 2c 33 36 0d 0a 53 44 53 50 45 43 3a 09 44 42 09 31 33 2c 31 30 2c 31 30 2c   ┆ITY',13,36  SDSPEC: DB 13,10,10,┆
0x0786e0…078700             27 53 4f 55 52 43 45 20 44 52 49 56 45 20 28 41 20 4f 52 20 42 29 20 3f 20 27 2c 33 36 0d 0a 44   ┆'SOURCE DRIVE (A OR B) ? ',36  D┆
0x078700…078720             44 53 50 45 43 3a 09 44 42 09 31 33 2c 31 30 2c 31 30 2c 27 44 45 53 54 49 4e 41 54 49 4f 4e 20   ┆DSPEC: DB 13,10,10,'DESTINATION ┆
0x078720…078740             44 52 49 56 45 20 28 41 20 4f 52 20 42 29 20 3f 20 27 2c 33 36 0d 0a 4e 4f 54 4f 4b 3a 09 44 42   ┆DRIVE (A OR B) ? ',36  NOTOK: DB┆
0x078740…078760             09 31 33 2c 31 30 2c 31 30 2c 27 42 41 43 4b 55 50 20 4e 4f 54 20 50 4f 53 53 49 42 4c 45 27 2c   ┆ 13,10,10,'BACKUP NOT POSSIBLE',┆
0x078760…078780             33 36 0d 0a 4d 53 44 49 53 4b 3a 20 44 42 09 31 33 2c 31 30 2c 27 49 4e 53 45 52 54 20 53 4f 55   ┆36  MSDISK: DB 13,10,'INSERT SOU┆
0x078780…0787a0             52 43 45 20 44 49 53 4b 20 41 4e 44 20 54 59 50 45 20 3c 52 45 54 55 52 4e 3e 27 2c 33 36 0d 0a   ┆RCE DISK AND TYPE <RETURN>',36  ┆
0x0787a0…0787c0             4d 44 44 49 53 4b 3a 20 44 42 09 31 33 2c 31 30 2c 27 49 4e 53 45 52 54 20 44 45 53 54 49 4e 41   ┆MDDISK: DB 13,10,'INSERT DESTINA┆
0x0787c0…0787e0             54 49 4f 4e 20 44 49 53 4b 20 41 4e 44 20 54 59 50 45 20 3c 52 45 54 55 52 4e 3e 27 2c 33 36 0d   ┆TION DISK AND TYPE <RETURN>',36 ┆
0x0787e0…078800             0a 42 41 44 53 3a 09 44 42 09 31 33 2c 31 30 2c 27 42 41 44 20 53 45 43 54 4f 52 20 4f 4e 20 53   ┆ BADS: DB 13,10,'BAD SECTOR ON S┆
0x078800…078820 (32, 0, 5)  30 35 48 0d 0a 42 4f 4f 54 09 45 51 55 09 30 30 30 30 48 0d 0a 0d 0a 43 4f 4e 53 49 46 09 45 51   ┆05H  BOOT EQU 0000H    CONSIF EQ┆
0x078820…078840             55 09 31 0d 0a 50 52 49 4e 54 46 09 45 51 55 09 39 0d 0a 57 42 4f 4f 54 09 45 51 55 09 31 0d 0a   ┆U 1  PRINTF EQU 9  WBOOT EQU 1  ┆
0x078840…078860             53 45 4c 44 53 4b 09 45 51 55 09 32 34 0d 0a 53 45 54 54 52 4b 09 45 51 55 09 32 37 0d 0a 53 45   ┆SELDSK EQU 24  SETTRK EQU 27  SE┆
0x078860…078880             54 53 45 43 09 45 51 55 09 33 30 0d 0a 53 45 54 44 4d 41 09 45 51 55 09 33 33 0d 0a 52 45 41 44   ┆TSEC EQU 30  SETDMA EQU 33  READ┆
0x078880…0788a0             46 09 45 51 55 09 33 36 0d 0a 57 52 49 54 45 46 09 45 51 55 09 33 39 0d 0a 46 44 46 4f 52 4d 09   ┆F EQU 36  WRITEF EQU 39  FDFORM ┆
0x0788a0…0788c0             45 51 55 09 35 32 0d 0a 53 53 38 09 45 51 55 09 30 0d 0a 44 44 38 09 45 51 55 09 38 0d 0a 44 44   ┆EQU 52  SS8 EQU 0  DD8 EQU 8  DD┆
0x0788c0…0788e0             35 09 45 51 55 09 31 36 0d 0a 0d 0a 0d 0a 09 4f 52 47 09 54 50 41 0d 0a 0d 0a 09 50 4f 50 09 48   ┆5 EQU 16       ORG TPA     POP H┆
0x0788e0…078900             09 3b 20 53 41 56 45 20 52 45 54 55 52 4e 20 54 4f 20 43 43 50 3b 0d 0a 09 53 48 4c 44 09 43 43   ┆ ; SAVE RETURN TO CCP;   SHLD CC┆
0x078900…078920             50 52 45 54 09 3b 0d 0a 09 4c 58 49 09 53 50 2c 53 54 41 43 4b 3b 0d 0a 09 4c 58 49 09 44 2c 48   ┆PRET ;   LXI SP,STACK;   LXI D,H┆
0x078920…078940             45 41 44 09 3b 20 50 52 49 4e 54 20 48 45 41 44 49 4e 47 3b 0d 0a 09 43 41 4c 4c 09 50 52 49 4e   ┆EAD ; PRINT HEADING;   CALL PRIN┆
0x078940…078960             54 09 3b 0d 0a 50 53 50 3a 09 4c 58 49 09 44 2c 53 44 53 50 45 43 3b 20 50 52 49 4e 54 20 53 4f   ┆T ;  PSP: LXI D,SDSPEC; PRINT SO┆
0x078960…078980             55 52 43 45 20 50 52 4f 4d 50 54 3b 0d 0a 09 43 41 4c 4c 09 50 52 49 4e 54 09 3b 0d 0a 09 43 41   ┆URCE PROMPT;   CALL PRINT ;   CA┆
0x078980…0789a0             4c 4c 09 43 4f 4e 53 49 09 3b 20 47 45 54 20 53 4f 55 52 43 45 20 44 52 49 56 45 3b 0d 0a 09 4d   ┆LL CONSI ; GET SOURCE DRIVE;   M┆
0x0789a0…0789c0             56 49 09 43 2c 30 09 3b 0d 0a 09 43 50 49 09 27 41 27 09 3b 0d 0a 09 4a 5a 09 53 45 54 53 44 09   ┆VI C,0 ;   CPI 'A' ;   JZ SETSD ┆
0x0789c0…0789e0             3b 0d 0a 09 43 50 49 09 27 42 27 09 3b 0d 0a 09 4a 4e 5a 09 50 53 50 09 3b 0d 0a 09 49 4e 52 09   ┆;   CPI 'B' ;   JNZ PSP ;   INR ┆
0x0789e0…078a00             43 09 3b 0d 0a 53 45 54 53 44 3a 09 4d 4f 56 09 41 2c 43 09 3b 0d 0a 09 53 54 41 09 53 44 52 49   ┆C ;  SETSD: MOV A,C ;   STA SDRI┆
0x078a00…078a20 (32, 0, 6)  44 3a 09 4c 44 41 09 53 44 52 49 56 09 3b 20 53 45 4c 45 43 54 28 53 4f 55 52 43 45 20 44 52 49   ┆D: LDA SDRIV ; SELECT(SOURCE DRI┆
0x078a20…078a40             56 45 29 3a 0d 0a 09 43 41 4c 4c 09 53 45 4c 09 3b 0d 0a 09 4c 58 49 09 48 2c 33 36 30 09 3b 0d   ┆VE):   CALL SEL ;   LXI H,360 ; ┆
0x078a40…078a60             0a 09 53 48 4c 44 09 53 45 43 43 4e 54 09 3b 20 53 45 43 54 4f 52 43 4f 55 4e 54 3a 3d 20 33 36   ┆  SHLD SECCNT ; SECTORCOUNT:= 36┆
0x078a60…078a80             30 3b 0d 0a 09 4c 58 49 09 44 2c 42 55 46 09 3b 0d 0a 09 50 55 53 48 09 44 09 3b 0d 0a 09 43 41   ┆0;   LXI D,BUF ;   PUSH D ;   CA┆
0x078a80…078aa0             4c 4c 09 44 4d 41 09 3b 20 44 4d 41 20 41 44 44 52 3a 3d 20 53 54 41 52 54 20 4f 46 20 42 55 46   ┆LL DMA ; DMA ADDR:= START OF BUF┆
0x078aa0…078ac0             46 45 52 3b 0d 0a 09 4c 44 41 09 43 55 52 54 52 4b 09 3b 0d 0a 09 4d 4f 56 09 43 2c 41 09 3b 0d   ┆FER;   LDA CURTRK ;   MOV C,A ; ┆
0x078ac0…078ae0             0a 09 43 41 4c 4c 09 54 52 4b 09 3b 20 53 45 54 20 54 52 41 43 4b 28 54 52 4b 3a 3d 43 55 52 20   ┆  CALL TRK ; SET TRACK(TRK:=CUR ┆
0x078ae0…078b00             54 52 4b 29 3b 0d 0a 09 4c 44 41 09 43 55 52 53 45 43 09 3b 0d 0a 09 4d 4f 56 09 43 2c 41 09 3b   ┆TRK);   LDA CURSEC ;   MOV C,A ;┆
0x078b00…078b20             0d 0a 09 4c 44 41 09 43 55 52 54 52 4b 09 3b 0d 0a 09 4d 4f 56 09 42 2c 41 09 3b 0d 0a 09 50 55   ┆   LDA CURTRK ;   MOV B,A ;   PU┆
0x078b20…078b40             53 48 09 42 09 3b 0d 0a 09 43 41 4c 4c 09 53 45 43 09 3b 20 53 45 54 20 53 45 43 54 4f 52 28 53   ┆SH B ;   CALL SEC ; SET SECTOR(S┆
0x078b40…078b60             45 43 3a 3d 43 55 52 20 53 45 43 29 3b 0d 0a 52 45 41 44 53 3a 09 43 41 4c 4c 09 44 52 45 41 44   ┆EC:=CUR SEC);  READS: CALL DREAD┆
0x078b60…078b80             09 3b 20 52 45 41 44 20 53 45 43 54 4f 52 3b 0d 0a 09 4c 58 49 09 44 2c 42 41 44 53 09 3b 0d 0a   ┆ ; READ SECTOR;   LXI D,BADS ;  ┆
0x078b80…078ba0             09 4f 52 41 09 41 09 3b 20 49 46 20 45 52 52 4f 52 53 20 54 48 45 4e 20 50 52 49 4e 54 20 57 41   ┆ ORA A ; IF ERRORS THEN PRINT WA┆
0x078ba0…078bc0             52 4e 49 4e 47 3b 0d 0a 09 43 4e 5a 09 45 52 52 4f 52 09 3b 0d 0a 09 50 4f 50 09 42 09 3b 0d 0a   ┆RNING;   CNZ ERROR ;   POP B ;  ┆
0x078bc0…078be0             09 49 4e 52 09 43 09 3b 20 53 45 43 3a 3d 20 53 45 43 20 2b 20 31 3b 0d 0a 09 4c 44 41 09 53 50   ┆ INR C ; SEC:= SEC + 1;   LDA SP┆
0x078be0…078c00             54 09 3b 0d 0a 09 43 4d 50 09 43 09 3b 20 49 46 20 53 45 43 3d 53 50 54 20 54 48 45 4e 0d 0a 09   ┆T ;   CMP C ; IF SEC=SPT THEN   ┆
0x078c00…078c20 (32, 0, 7)  09 3b 0d 0a 09 44 43 58 09 48 09 3b 20 53 45 43 54 4f 52 43 4f 55 4e 54 3a 3d 53 45 43 54 4f 52   ┆ ;   DCX H ; SECTORCOUNT:=SECTOR┆
0x078c20…078c40             43 4f 55 4e 54 2d 31 3b 0d 0a 09 53 48 4c 44 09 53 45 43 43 4e 54 09 3b 0d 0a 09 50 4f 50 09 42   ┆COUNT-1;   SHLD SECCNT ;   POP B┆
0x078c40…078c60             09 3b 20 49 46 20 53 45 43 54 4f 52 43 4f 55 4e 54 3d 30 20 54 48 45 4e 0d 0a 09 4d 4f 56 09 41   ┆ ; IF SECTORCOUNT=0 THEN   MOV A┆
0x078c60…078c80             2c 48 09 3b 20 20 47 4f 54 4f 20 4e 45 58 54 20 52 45 41 44 3b 0d 0a 09 4f 52 41 09 41 09 3b 0d   ┆,H ;  GOTO NEXT READ;   ORA A ; ┆
0x078c80…078ca0             0a 09 4a 4e 5a 09 44 44 4d 41 09 3b 0d 0a 09 4d 4f 56 09 41 2c 4c 09 3b 0d 0a 09 4f 52 41 09 41   ┆  JNZ DDMA ;   MOV A,L ;   ORA A┆
0x078ca0…078cc0             09 3b 0d 0a 09 4a 5a 09 4e 44 41 54 09 3b 0d 0a 44 44 4d 41 3a 09 50 4f 50 09 44 09 3b 0d 0a 09   ┆ ;   JZ NDAT ;  DDMA: POP D ;   ┆
0x078cc0…078ce0             4c 58 49 09 48 2c 31 32 38 09 3b 0d 0a 09 44 41 44 09 44 09 3b 0d 0a 09 58 43 48 47 09 09 3b 0d   ┆LXI H,128 ;   DAD D ;   XCHG  ; ┆
0x078ce0…078d00             0a 09 50 55 53 48 09 44 09 3b 0d 0a 09 50 55 53 48 09 42 09 3b 20 44 4d 41 20 41 44 44 52 3a 3d   ┆  PUSH D ;   PUSH B ; DMA ADDR:=┆
0x078d00…078d20             20 44 4d 41 20 41 44 44 52 20 2b 20 31 32 38 3b 0d 0a 09 43 41 4c 4c 09 44 4d 41 09 3b 0d 0a 09   ┆ DMA ADDR + 128;   CALL DMA ;   ┆
0x078d20…078d40             4a 4d 50 09 57 52 49 54 45 44 09 3b 20 47 4f 54 4f 20 57 52 49 54 45 20 53 45 43 54 4f 52 3b 0d   ┆JMP WRITED ; GOTO WRITE SECTOR; ┆
0x078d40…078d60             0a 0d 0a 4e 44 41 54 3a 09 4d 4f 56 09 41 2c 42 09 3b 20 4e 45 58 54 20 52 45 41 44 3a 0d 0a 09   ┆   NDAT: MOV A,B ; NEXT READ:   ┆
0x078d60…078d80             53 54 41 09 43 55 52 54 52 4b 09 3b 0d 0a 09 4d 4f 56 09 41 2c 43 09 3b 20 43 55 52 54 52 4b 3a   ┆STA CURTRK ;   MOV A,C ; CURTRK:┆
0x078d80…078da0             3d 54 52 4b 3b 0d 0a 09 53 54 41 09 43 55 52 53 45 43 09 3b 20 43 55 52 53 45 43 3a 3d 53 45 43   ┆=TRK;   STA CURSEC ; CURSEC:=SEC┆
0x078da0…078dc0             3b 0d 0a 09 50 4f 50 09 44 09 3b 0d 0a 09 43 41 4c 4c 09 46 4c 55 53 48 09 3b 20 46 4c 55 53 48   ┆;   POP D ;   CALL FLUSH ; FLUSH┆
0x078dc0…078de0             20 42 55 46 46 45 52 3b 0d 0a 09 4a 4d 50 09 52 44 41 54 09 3b 20 47 4f 54 4f 20 52 45 41 44 20   ┆ BUFFER;   JMP RDAT ; GOTO READ ┆
0x078de0…078e00             44 41 54 41 3b 0d 0a 0d 0a 45 44 41 54 3a 09 43 41 4c 4c 09 46 4c 55 53 48 09 3b 20 45 4e 44 20   ┆DATA;    EDAT: CALL FLUSH ; END ┆
0x078e00…078e20 (32, 0, 8)  4f 55 52 43 45 20 44 49 53 4b 27 2c 33 36 0d 0a 42 41 44 44 3a 09 44 42 09 31 33 2c 31 30 2c 27   ┆OURCE DISK',36  BADD: DB 13,10,'┆
0x078e20…078e40             42 41 44 20 53 45 43 54 4f 52 20 4f 4e 20 44 45 53 54 49 4e 41 54 49 4f 4e 20 44 49 53 4b 27 2c   ┆BAD SECTOR ON DESTINATION DISK',┆
0x078e40…078e60             33 36 0d 0a 4d 53 59 53 44 3a 09 44 42 09 31 33 2c 31 30 2c 27 49 4e 53 45 52 54 20 53 59 53 54   ┆36  MSYSD: DB 13,10,'INSERT SYST┆
0x078e60…078e80             45 4d 20 44 49 53 4b 20 41 4e 44 20 54 59 50 45 20 3c 52 45 54 55 52 4e 3e 27 2c 33 36 0d 0a 4f   ┆EM DISK AND TYPE <RETURN>',36  O┆
0x078e80…078ea0             4b 3a 09 44 42 09 31 33 2c 31 30 2c 27 42 41 43 4b 55 50 20 43 4f 4d 50 4c 45 54 45 27 2c 33 36   ┆K: DB 13,10,'BACKUP COMPLETE',36┆
0x078ea0…078ec0             0d 0a 43 52 4c 46 3a 09 44 42 09 31 33 2c 31 30 2c 33 36 0d 0a 0d 0a 43 43 50 52 45 54 3a 09 44   ┆  CRLF: DB 13,10,36    CCPRET: D┆
0x078ec0…078ee0             57 09 30 0d 0a 0d 0a 46 54 52 4b 3a 09 44 42 09 30 0d 0a 4c 54 52 4b 3a 09 44 42 09 30 0d 0a 53   ┆W 0    FTRK: DB 0  LTRK: DB 0  S┆
0x078ee0…078f00             50 54 3a 09 44 42 09 30 0d 0a 53 44 52 49 56 3a 09 44 42 09 30 0d 0a 44 44 52 49 56 3a 09 44 42   ┆PT: DB 0  SDRIV: DB 0  DDRIV: DB┆
0x078f00…078f20             09 30 0d 0a 44 46 4c 41 47 3a 09 44 42 09 30 0d 0a 0d 0a 43 55 52 54 52 4b 3a 09 44 42 09 30 0d   ┆ 0  DFLAG: DB 0    CURTRK: DB 0 ┆
0x078f20…078f40             0a 43 55 52 53 45 43 3a 09 44 42 09 30 0d 0a 53 45 43 43 4e 54 3a 09 44 57 09 30 0d 0a 0d 0a 09   ┆ CURSEC: DB 0  SECCNT: DW 0     ┆
0x078f40…078f60             44 53 09 33 31 0d 0a 53 54 41 43 4b 3a 09 44 53 09 31 09 3b 20 4c 4f 43 41 4c 20 53 54 41 43 4b   ┆DS 31  STACK: DS 1 ; LOCAL STACK┆
0x078f60…078f80             0d 0a 0d 0a 42 55 46 3a 09 44 57 09 30 09 3b 20 52 45 41 44 2f 57 52 49 54 45 20 42 55 46 46 45   ┆    BUF: DW 0 ; READ/WRITE BUFFE┆
0x078f80…078fa0             52 0d 0a 0d 0a 09 45 4e 44 09 31 30 30 48 09 3b 0d 0a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a   ┆R     END 100H ;                ┆
0x078fa0…078fc0             1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a   ┆                                ┆
          […0x2…]
0x079000…079020 (32, 0, 9)  56 09 3b 0d 0a 50 44 50 3a 09 4c 58 49 09 44 2c 44 44 53 50 45 43 3b 20 50 52 49 4e 54 20 44 45   ┆V ;  PDP: LXI D,DDSPEC; PRINT DE┆
0x079020…079040             53 54 49 4e 41 54 49 4f 4e 20 50 52 4f 4d 50 54 3b 0d 0a 09 43 41 4c 4c 09 50 52 49 4e 54 09 3b   ┆STINATION PROMPT;   CALL PRINT ;┆
0x079040…079060             0d 0a 09 43 41 4c 4c 09 43 4f 4e 53 49 09 3b 20 47 45 54 20 44 45 53 54 49 4e 41 54 49 4f 4e 20   ┆   CALL CONSI ; GET DESTINATION ┆
0x079060…079080             44 52 49 56 45 3b 0d 0a 09 4d 56 49 09 43 2c 30 09 3b 0d 0a 09 43 50 49 09 27 41 27 09 3b 0d 0a   ┆DRIVE;   MVI C,0 ;   CPI 'A' ;  ┆
0x079080…0790a0             09 4a 5a 09 53 45 54 44 44 09 3b 0d 0a 09 43 50 49 09 27 42 27 09 3b 0d 0a 09 4a 4e 5a 09 50 44   ┆ JZ SETDD ;   CPI 'B' ;   JNZ PD┆
0x0790a0…0790c0             50 09 3b 0d 0a 09 49 4e 52 09 43 09 3b 0d 0a 53 45 54 44 44 3a 09 4d 4f 56 09 41 2c 43 09 3b 0d   ┆P ;   INR C ;  SETDD: MOV A,C ; ┆
0x0790c0…0790e0             0a 09 53 54 41 09 44 44 52 49 56 09 3b 0d 0a 09 4c 48 4c 44 09 57 42 4f 4f 54 09 3b 20 42 43 3a   ┆  STA DDRIV ;   LHLD WBOOT ; BC:┆
0x0790e0…079100             3d 20 46 4c 4f 50 50 59 20 46 4f 52 4d 41 54 53 3b 0d 0a 09 4c 58 49 09 44 2c 46 44 46 4f 52 4d   ┆= FLOPPY FORMATS;   LXI D,FDFORM┆
0x079100…079120             3b 0d 0a 09 44 41 44 09 44 09 3b 0d 0a 09 4d 4f 56 09 42 2c 4d 09 3b 0d 0a 09 49 4e 58 09 48 09   ┆;   DAD D ;   MOV B,M ;   INX H ┆
0x079120…079140             3b 0d 0a 09 4d 4f 56 09 43 2c 4d 09 3b 0d 0a 09 4c 58 49 09 48 2c 53 44 52 49 56 09 3b 20 49 46   ┆;   MOV C,M ;   LXI H,SDRIV ; IF┆
0x079140…079160             20 53 4f 55 52 43 45 20 44 52 49 56 45 20 3c 3e 0d 0a 09 43 4d 50 09 4d 09 3b 20 20 44 45 53 54   ┆ SOURCE DRIVE <>   CMP M ;  DEST┆
0x079160…079180             49 4e 41 54 49 4f 4e 20 44 52 49 56 45 20 54 48 45 4e 0d 0a 09 4d 56 49 09 41 2c 30 09 3b 0d 0a   ┆INATION DRIVE THEN   MVI A,0 ;  ┆
0x079180…0791a0             09 4a 5a 09 53 45 54 44 46 09 3b 0d 0a 09 4d 4f 56 09 41 2c 42 09 3b 0d 0a 09 43 4d 50 09 43 09   ┆ JZ SETDF ;   MOV A,B ;   CMP C ┆
0x0791a0…0791c0             3b 20 49 46 20 46 4f 52 4d 41 54 28 41 29 3c 3e 46 4f 52 4d 41 54 28 42 29 20 54 48 45 4e 0d 0a   ┆; IF FORMAT(A)<>FORMAT(B) THEN  ┆
0x0791c0…0791e0             09 4c 58 49 09 44 2c 4e 4f 54 4f 4b 09 3b 0d 0a 09 43 4e 5a 09 46 49 4e 49 53 09 3b 20 20 45 58   ┆ LXI D,NOTOK ;   CNZ FINIS ;  EX┆
0x0791e0…079200             49 54 28 4e 4f 54 20 41 4c 4c 4f 57 45 44 29 3b 0d 0a 09 50 55 53 48 09 42 09 3b 0d 0a 09 4c 58   ┆IT(NOT ALLOWED);   PUSH B ;   LX┆
0x079200…079220 (32, 0, 10) 4a 4e 5a 09 4e 45 58 54 53 09 3b 20 42 45 47 49 4e 0d 0a 09 4c 44 41 09 4c 54 52 4b 09 3b 0d 0a   ┆JNZ NEXTS ; BEGIN   LDA LTRK ;  ┆
0x079220…079240             09 43 4d 50 09 42 09 3b 20 20 20 20 49 46 20 54 52 4b 3d 4c 41 53 54 20 54 48 45 4e 20 47 4f 54   ┆ CMP B ;    IF TRK=LAST THEN GOT┆
0x079240…079260             4f 20 57 52 49 54 45 3b 0d 0a 09 4a 5a 09 57 44 41 54 09 3b 0d 0a 09 49 4e 52 09 42 09 3b 20 20   ┆O WRITE;   JZ WDAT ;   INR B ;  ┆
0x079260…079280             20 20 54 52 4b 3a 3d 54 52 4b 2b 31 3b 0d 0a 09 4d 56 49 09 43 2c 30 09 3b 20 20 20 20 53 45 43   ┆  TRK:=TRK+1;   MVI C,0 ;    SEC┆
0x079280…0792a0             3a 3d 30 3b 0d 0a 09 50 55 53 48 09 42 09 3b 0d 0a 09 4d 4f 56 09 43 2c 42 09 3b 0d 0a 09 43 41   ┆:=0;   PUSH B ;   MOV C,B ;   CA┆
0x0792a0…0792c0             4c 4c 09 54 52 4b 09 3b 20 20 20 20 53 45 54 20 54 52 41 43 4b 28 54 52 4b 29 3b 0d 0a 09 50 4f   ┆LL TRK ;    SET TRACK(TRK);   PO┆
0x0792c0…0792e0             50 09 42 09 3b 20 45 4e 44 3b 0d 0a 4e 45 58 54 53 3a 20 20 50 55 53 48 09 42 09 3b 0d 0a 09 43   ┆P B ; END;  NEXTS:  PUSH B ;   C┆
0x0792e0…079300             41 4c 4c 09 53 45 43 09 3b 20 53 45 54 20 53 45 43 54 4f 52 28 53 45 43 29 3b 0d 0a 09 4c 48 4c   ┆ALL SEC ; SET SECTOR(SEC);   LHL┆
0x079300…079320             44 09 53 45 43 43 4e 54 09 3b 0d 0a 09 44 43 58 09 48 09 3b 20 53 45 43 54 4f 52 43 4f 55 4e 54   ┆D SECCNT ;   DCX H ; SECTORCOUNT┆
0x079320…079340             3a 3d 53 45 43 54 4f 52 43 4f 55 4e 54 2d 31 3b 0d 0a 09 53 48 4c 44 09 53 45 43 43 4e 54 09 3b   ┆:=SECTORCOUNT-1;   SHLD SECCNT ;┆
0x079340…079360             0d 0a 09 50 4f 50 09 42 09 3b 0d 0a 09 4d 4f 56 09 41 2c 48 09 3b 20 49 46 20 53 45 43 54 4f 52   ┆   POP B ;   MOV A,H ; IF SECTOR┆
0x079360…079380             43 4f 55 4e 54 3d 30 20 54 48 45 4e 20 47 4f 54 4f 20 57 52 49 54 45 3b 0d 0a 09 4f 52 41 09 41   ┆COUNT=0 THEN GOTO WRITE;   ORA A┆
0x079380…0793a0             09 3b 0d 0a 09 4a 4e 5a 09 53 44 4d 41 09 3b 0d 0a 09 4d 4f 56 09 41 2c 4c 09 3b 0d 0a 09 4f 52   ┆ ;   JNZ SDMA ;   MOV A,L ;   OR┆
0x0793a0…0793c0             41 09 41 09 3b 0d 0a 09 4a 5a 09 57 44 41 54 09 3b 0d 0a 53 44 4d 41 3a 09 50 4f 50 09 44 09 3b   ┆A A ;   JZ WDAT ;  SDMA: POP D ;┆
0x0793c0…0793e0             0d 0a 09 4c 58 49 09 48 2c 31 32 38 09 3b 20 44 4d 41 20 41 44 44 52 3a 3d 20 44 4d 41 20 41 44   ┆   LXI H,128 ; DMA ADDR:= DMA AD┆
0x0793e0…079400             44 52 20 2b 20 31 32 38 3b 0d 0a 09 44 41 44 09 44 09 3b 0d 0a 09 58 43 48 47 09 09 3b 0d 0a 09   ┆DR + 128;   DAD D ;   XCHG  ;   ┆
0x079400…079420 (32, 0, 11) 4f 46 20 43 4f 50 59 3a 0d 0a 09 4c 58 49 09 44 2c 4f 4b 09 3b 0d 0a 09 43 41 4c 4c 09 50 52 49   ┆OF COPY:   LXI D,OK ;   CALL PRI┆
0x079420…079440             4e 54 09 3b 20 43 4f 50 59 20 43 4f 4d 50 4c 45 54 45 3b 0d 0a 09 4c 58 49 09 44 2c 4d 53 59 53   ┆NT ; COPY COMPLETE;   LXI D,MSYS┆
0x079440…079460             44 09 3b 0d 0a 09 43 41 4c 4c 09 50 52 49 4e 54 09 3b 20 57 41 49 54 20 46 4f 52 20 43 48 41 4e   ┆D ;   CALL PRINT ; WAIT FOR CHAN┆
0x079460…079480             47 45 20 54 4f 20 53 59 53 54 45 4d 20 44 49 53 4b 3a 0d 0a 09 43 41 4c 4c 09 43 4f 4e 53 49 09   ┆GE TO SYSTEM DISK:   CALL CONSI ┆
0x079480…0794a0             3b 0d 0a 09 4a 4d 50 09 42 4f 4f 54 09 3b 20 57 41 52 4d 20 42 4f 4f 54 0d 0a 0d 0a 46 4c 55 53   ┆;   JMP BOOT ; WARM BOOT    FLUS┆
0x0794a0…0794c0             48 3a 09 4c 44 41 09 43 55 52 54 52 4b 09 3b 20 46 4f 52 43 45 20 42 55 46 46 45 52 20 57 52 49   ┆H: LDA CURTRK ; FORCE BUFFER WRI┆
0x0794c0…0794e0             54 45 3a 0d 0a 09 4d 4f 56 09 43 2c 41 09 3b 0d 0a 09 44 43 52 09 43 09 3b 0d 0a 09 43 41 4c 4c   ┆TE:   MOV C,A ;   DCR C ;   CALL┆
0x0794e0…079500             09 54 52 4b 09 3b 20 53 45 54 20 54 52 41 43 4b 28 43 55 52 54 52 4b 2d 31 29 3b 0d 0a 09 4c 44   ┆ TRK ; SET TRACK(CURTRK-1);   LD┆
0x079500…079520             41 09 43 55 52 53 45 43 09 3b 0d 0a 09 4d 4f 56 09 43 2c 41 09 3b 0d 0a 09 43 41 4c 4c 09 53 45   ┆A CURSEC ;   MOV C,A ;   CALL SE┆
0x079520…079540             43 09 3b 20 53 45 54 20 53 45 43 54 4f 52 28 43 55 52 53 45 43 29 3b 0d 0a 09 43 41 4c 4c 09 44   ┆C ; SET SECTOR(CURSEC);   CALL D┆
0x079540…079560             52 45 41 44 09 3b 0d 0a 09 4c 58 49 09 44 2c 42 41 44 44 09 3b 0d 0a 09 4f 52 41 09 41 09 3b 20   ┆READ ;   LXI D,BADD ;   ORA A ; ┆
0x079560…079580             49 46 20 45 52 52 4f 52 20 54 48 45 4e 20 50 52 49 4e 54 20 57 41 52 4e 49 4e 47 3b 0d 0a 09 43   ┆IF ERROR THEN PRINT WARNING;   C┆
0x079580…0795a0             4e 5a 09 45 52 52 4f 52 09 3b 0d 0a 09 52 45 54 09 09 3b 0d 0a 0d 0a 53 45 4c 3a 09 4d 4f 56 09   ┆NZ ERROR ;   RET  ;    SEL: MOV ┆
0x0795a0…0795c0             43 2c 41 09 3b 20 53 45 4c 45 43 54 20 44 52 49 56 45 20 49 4e 20 41 3a 0d 0a 09 4c 48 4c 44 09   ┆C,A ; SELECT DRIVE IN A:   LHLD ┆
0x0795c0…0795e0             57 42 4f 4f 54 09 3b 0d 0a 09 4c 58 49 09 44 2c 53 45 4c 44 53 4b 3b 0d 0a 09 44 41 44 09 44 09   ┆WBOOT ;   LXI D,SELDSK;   DAD D ┆
0x0795e0…079600             3b 0d 0a 09 50 43 48 4c 09 09 3b 0d 0a 0d 0a 54 52 4b 3a 09 4c 48 4c 44 09 57 42 4f 4f 54 09 3b   ┆;   PCHL  ;    TRK: LHLD WBOOT ;┆
0x079600…079620 (32, 0, 12) 0e 0e cd 4c 14 c9 21 2a 15 70 2b 71 2a 29 15 eb 0e 0f cd 4f 14 32 27 15 c9 21 2c 15 70 2b 71 2a   ┆   L  !* p+q*)     O 2'  !, p+q*┆
0x079620…079640             2b 15 eb 0e 11 cd 4f 14 32 27 15 c9 11 00 00 0e 12 cd 4f 14 32 27 15 c9 11 00 00 0e 19 cd 4f 14   ┆+     O 2'        O 2'        O ┆
0x079640…079660             c9 21 2e 15 70 2b 71 2a 2d 15 eb 0e 1a cd 4c 14 c9 11 00 00 0e 1b cd 52 14 c9 11 00 00 0e 18 cd   ┆ !. p+q*-     L        R        ┆
0x079660…079680             52 14 c9 11 00 00 0e 1c cd 4c 14 c9 11 00 00 0e 1d cd 52 14 c9 11 5c 00 0e 1e cd 4c 14 c9 11 00   ┆R        L        R   Ø    L    ┆
0x079680…0796a0             00 0e 1f cd 52 14 22 1e 15 c9 11 ff 00 0e 20 cd 4f 14 c9 21 2f 15 71 2a 2f 15 26 00 eb 0e 20 cd   ┆    R "         O  !/ q*/ &     ┆
0x0796a0…0796c0             4c 14 c9 21 31 15 70 2b 71 2a 30 15 eb 0e 23 cd 4c 14 c9 cd 7e 05 2a 1e 15 23 23 4e 21 01 00 cd   ┆L  !1 p+q*0   # L   ü *  ##N!   ┆
0x0796c0…0796e0             bd 14 11 80 00 cd 9e 14 22 54 15 c9 21 56 15 71 2a 56 15 4d cd f6 04 cd b3 05 c9 21 58 15 70 2b   ┆        "T  !V q*V M       !X p+┆
0x0796e0…079700             71 0e 03 21 57 15 cd c3 14 eb 2a 20 15 19 3e 07 11 57 15 e5 cd 72 14 23 4d e1 cd b2 14 c9 21 5f   ┆q  !W     *   >  W   r #M     !_┆
0x079700…079720             15 70 2b 71 21 60 15 36 00 3e 03 21 60 15 be da 36 06 2a 60 15 26 00 eb 2a 5e 15 19 e5 2a 60 15   ┆ p+q!` 6 > !`   6 *` &  *^   *` ┆
0x079720…079740             26 00 01 59 15 09 d1 1a be ca 2f 06 3e 00 c9 21 60 15 34 c2 09 06 3e 01 c9 2a 5d 15 26 00 01 80   ┆&  Y      / >  !` 4   >  *Å &   ┆
0x079740…079760             00 09 7e fe 20 c2 4f 06 21 5d 15 34 c3 39 06 21 61 15 36 00 3a 61 15 fe 04 d2 e6 06 2a 5d 15 26   ┆  ü   O !Å 4 9 !a 6 :a      *Å &┆
0x079760…079780             00 01 80 00 09 7e 32 62 15 4f 3e 01 b9 d2 7a 06 2a 62 15 4d cd eb 06 c3 7f 06 0e 20 cd eb 06 3e   ┆     ü2b O>   z *b M           >┆
0x079780…0797a0             01 21 62 15 96 9f 2f f5 7e d6 2c d6 01 9f c1 48 b1 f5 7e d6 3a d6 01 9f c1 48 b1 f5 7e d6 2a d6   ┆ !b   / ü ,    H  ü :    H  ü * ┆
0x0797a0…0797c0             01 9f c1 48 b1 f5 7e d6 2e d6 01 9f c1 48 b1 f5 7e d6 3e d6 01 9f c1 48 b1 f5 7e d6 3c d6 01 9f   ┆   H  ü .    H  ü >    H  ü <   ┆
0x0797c0…0797e0             c1 48 b1 f5 7e d6 3d d6 01 9f c1 48 b1 1f d2 df 06 2a 5d 15 26 00 01 80 00 09 36 01 c3 e3 06 21   ┆ H  ü =    H     *Å &     6    !┆
0x0797e0…079800             5d 15 34 c3 54 06 21 5d 15 34 c9 21 63 15 71 2a 61 15 26 00 01 59 15 09 3a 63 15 77 21 61 15 34   ┆Å 4 T !Å 4 !c q*a &  Y  :c w!a 4┆
0x079800…079820 (32, 0, 13) 49 09 44 2c 43 52 4c 46 09 3b 0d 0a 09 43 41 4c 4c 09 50 52 49 4e 54 09 3b 0d 0a 09 4c 58 49 09   ┆I D,CRLF ;   CALL PRINT ;   LXI ┆
0x079820…079840             44 2c 4d 53 44 49 53 4b 3b 0d 0a 09 43 41 4c 4c 09 50 52 49 4e 54 09 3b 20 57 41 49 54 20 46 4f   ┆D,MSDISK;   CALL PRINT ; WAIT FO┆
0x079840…079860             52 20 53 4f 55 52 43 45 20 44 49 53 4b 3a 0d 0a 09 43 41 4c 4c 09 43 4f 4e 53 49 09 3b 0d 0a 09   ┆R SOURCE DISK:   CALL CONSI ;   ┆
0x079860…079880             4c 58 49 09 44 2c 4d 44 44 49 53 4b 3b 0d 0a 09 43 41 4c 4c 09 50 52 49 4e 54 09 3b 20 57 41 49   ┆LXI D,MDDISK;   CALL PRINT ; WAI┆
0x079880…0798a0             54 20 46 4f 52 20 44 45 53 54 49 4e 41 54 49 4f 4e 20 44 49 53 4b 3a 0d 0a 09 43 41 4c 4c 09 43   ┆T FOR DESTINATION DISK:   CALL C┆
0x0798a0…0798c0             4f 4e 53 49 09 3b 0d 0a 09 50 4f 50 09 42 09 3b 0d 0a 09 4d 56 49 09 41 2c 31 09 3b 0d 0a 53 45   ┆ONSI ;   POP B ;   MVI A,1 ;  SE┆
0x0798c0…0798e0             54 44 46 3a 09 53 54 41 09 44 46 4c 41 47 09 3b 0d 0a 09 4d 4f 56 09 41 2c 43 09 3b 0d 0a 09 43   ┆TDF: STA DFLAG ;   MOV A,C ;   C┆
0x0798e0…079900             50 49 09 53 53 38 09 3b 20 28 46 49 52 53 54 20 54 52 41 43 4b 2c 4c 41 53 54 20 54 52 41 43 4b   ┆PI SS8 ; (FIRST TRACK,LAST TRACK┆
0x079900…079920             2c 0d 0a 09 4a 4e 5a 09 53 45 54 44 38 09 3b 20 20 53 45 43 54 4f 52 53 20 50 52 20 54 52 41 43   ┆,   JNZ SETD8 ;  SECTORS PR TRAC┆
0x079920…079940             4b 29 20 3a 3d 0d 0a 09 4d 56 49 09 41 2c 30 09 3b 0d 0a 09 53 54 41 09 46 54 52 4b 09 3b 0d 0a   ┆K) :=   MVI A,0 ;   STA FTRK ;  ┆
0x079940…079960             09 4d 56 49 09 41 2c 37 36 09 3b 20 20 49 46 20 46 4f 52 4d 41 54 3d 20 38 22 20 53 53 20 54 48   ┆ MVI A,76 ;  IF FORMAT= 8" SS TH┆
0x079960…079980             45 4e 0d 0a 09 53 54 41 09 4c 54 52 4b 09 3b 20 20 20 28 30 2c 37 36 2c 32 36 29 20 20 20 20 20   ┆EN   STA LTRK ;   (0,76,26)     ┆
0x079980…0799a0             20 20 45 4c 53 45 0d 0a 09 4d 56 49 09 41 2c 32 36 09 3b 0d 0a 09 53 54 41 09 53 50 54 09 3b 0d   ┆  ELSE   MVI A,26 ;   STA SPT ; ┆
0x0799a0…0799c0             0a 09 4a 4d 50 09 53 45 54 43 54 09 3b 20 20 0d 0a 53 45 54 44 38 3a 09 43 50 49 09 44 44 38 09   ┆  JMP SETCT ;    SETD8: CPI DD8 ┆
0x0799c0…0799e0             3b 20 20 49 46 20 46 4f 52 4d 41 54 3d 20 38 22 20 44 44 20 54 48 45 4e 0d 0a 09 4a 4e 5a 09 53   ┆;  IF FORMAT= 8" DD THEN   JNZ S┆
0x0799e0…079a00             45 54 35 09 3b 20 20 20 28 31 2c 36 31 2c 31 32 30 29 20 20 20 20 20 20 45 4c 53 45 0d 0a 09 4d   ┆ET5 ;   (1,61,120)      ELSE   M┆
0x079a00…079a20 (32, 0, 14) 50 55 53 48 09 44 09 3b 0d 0a 09 50 55 53 48 09 42 09 3b 0d 0a 09 43 41 4c 4c 09 44 4d 41 09 3b   ┆PUSH D ;   PUSH B ;   CALL DMA ;┆
0x079a20…079a40             0d 0a 09 4a 4d 50 09 52 45 41 44 53 09 3b 20 47 4f 54 4f 20 52 45 41 44 20 53 45 43 54 4f 52 3b   ┆   JMP READS ; GOTO READ SECTOR;┆
0x079a40…079a60             0d 0a 57 44 41 54 3a 09 50 4f 50 09 44 09 3b 20 57 52 49 54 45 20 44 41 54 41 3a 0d 0a 09 4c 44   ┆  WDAT: POP D ; WRITE DATA:   LD┆
0x079a60…079a80             41 09 44 46 4c 41 47 09 3b 0d 0a 09 4f 52 41 09 41 09 3b 20 49 46 20 44 45 53 54 49 4e 41 54 49   ┆A DFLAG ;   ORA A ; IF DESTINATI┆
0x079a80…079aa0             4f 4e 20 44 52 49 56 45 20 3d 20 53 4f 55 52 43 45 20 44 52 49 56 45 0d 0a 09 4a 4e 5a 09 53 45   ┆ON DRIVE = SOURCE DRIVE   JNZ SE┆
0x079aa0…079ac0             4c 44 45 09 3b 20 20 54 48 45 4e 20 57 41 49 54 20 46 4f 52 20 44 49 53 4b 20 43 48 41 4e 47 45   ┆LDE ;  THEN WAIT FOR DISK CHANGE┆
0x079ac0…079ae0             3b 0d 0a 09 4c 58 49 09 44 2c 4d 44 44 49 53 4b 3b 0d 0a 09 43 41 4c 4c 09 50 52 49 4e 54 09 3b   ┆;   LXI D,MDDISK;   CALL PRINT ;┆
0x079ae0…079b00             0d 0a 09 43 41 4c 4c 09 43 4f 4e 53 49 09 3b 0d 0a 53 45 4c 44 45 3a 09 4c 44 41 09 44 44 52 49   ┆   CALL CONSI ;  SELDE: LDA DDRI┆
0x079b00…079b20             56 09 3b 0d 0a 09 43 41 4c 4c 09 53 45 4c 09 3b 20 53 45 4c 45 43 54 28 44 45 53 54 49 4e 41 54   ┆V ;   CALL SEL ; SELECT(DESTINAT┆
0x079b20…079b40             49 4f 4e 20 44 52 49 56 45 29 3b 0d 0a 09 4c 58 49 09 48 2c 33 36 30 09 3b 0d 0a 09 53 48 4c 44   ┆ION DRIVE);   LXI H,360 ;   SHLD┆
0x079b40…079b60             09 53 45 43 43 4e 54 09 3b 20 53 45 43 54 4f 52 43 4f 55 4e 54 3a 3d 20 33 36 30 3b 0d 0a 09 4c   ┆ SECCNT ; SECTORCOUNT:= 360;   L┆
0x079b60…079b80             58 49 09 44 2c 42 55 46 09 3b 0d 0a 09 50 55 53 48 09 44 09 3b 0d 0a 09 43 41 4c 4c 09 44 4d 41   ┆XI D,BUF ;   PUSH D ;   CALL DMA┆
0x079b80…079ba0             09 3b 20 44 4d 41 20 41 44 44 52 3a 3d 20 53 54 41 52 54 20 4f 46 20 42 55 46 46 45 52 3b 0d 0a   ┆ ; DMA ADDR:= START OF BUFFER;  ┆
0x079ba0…079bc0             09 4c 44 41 09 43 55 52 54 52 4b 09 3b 0d 0a 09 4d 4f 56 09 43 2c 41 09 3b 0d 0a 09 43 41 4c 4c   ┆ LDA CURTRK ;   MOV C,A ;   CALL┆
0x079bc0…079be0             09 54 52 4b 09 3b 20 53 45 54 20 54 52 41 43 4b 28 54 52 4b 3a 3d 43 55 52 20 54 52 4b 29 3b 0d   ┆ TRK ; SET TRACK(TRK:=CUR TRK); ┆
0x079be0…079c00             0a 09 4c 44 41 09 43 55 52 53 45 43 09 3b 0d 0a 09 4d 4f 56 09 43 2c 41 09 3b 0d 0a 09 4c 44 41   ┆  LDA CURSEC ;   MOV C,A ;   LDA┆
0x079c00…079c20 (32, 0, 15) 20 53 45 54 20 54 52 41 43 4b 20 49 4e 20 43 3a 0d 0a 09 4c 58 49 09 44 2c 53 45 54 54 52 4b 3b   ┆ SET TRACK IN C:   LXI D,SETTRK;┆
0x079c20…079c40             0d 0a 09 44 41 44 09 44 09 3b 0d 0a 09 4d 56 49 09 42 2c 30 09 3b 0d 0a 09 50 43 48 4c 09 09 3b   ┆   DAD D ;   MVI B,0 ;   PCHL  ;┆
0x079c40…079c60             0d 0a 0d 0a 53 45 43 3a 09 4c 48 4c 44 09 57 42 4f 4f 54 09 3b 20 53 45 54 20 53 45 43 54 4f 52   ┆    SEC: LHLD WBOOT ; SET SECTOR┆
0x079c60…079c80             20 49 4e 20 43 3a 0d 0a 09 4c 58 49 09 44 2c 53 45 54 53 45 43 3b 0d 0a 09 44 41 44 09 44 09 3b   ┆ IN C:   LXI D,SETSEC;   DAD D ;┆
0x079c80…079ca0             0d 0a 09 4d 56 49 09 42 2c 30 09 3b 0d 0a 09 50 43 48 4c 09 09 3b 0d 0a 0d 0a 44 4d 41 3a 09 4c   ┆   MVI B,0 ;   PCHL  ;    DMA: L┆
0x079ca0…079cc0             48 4c 44 09 57 42 4f 4f 54 09 3b 20 53 45 54 20 44 4d 41 20 41 44 44 52 45 53 53 20 49 4e 20 44   ┆HLD WBOOT ; SET DMA ADDRESS IN D┆
0x079cc0…079ce0             2c 45 3a 0d 0a 09 4d 4f 56 09 42 2c 44 09 3b 0d 0a 09 4d 4f 56 09 43 2c 45 09 3b 0d 0a 09 4c 58   ┆,E:   MOV B,D ;   MOV C,E ;   LX┆
0x079ce0…079d00             49 09 44 2c 53 45 54 44 4d 41 3b 0d 0a 09 44 41 44 09 44 09 3b 0d 0a 09 50 43 48 4c 09 09 3b 0d   ┆I D,SETDMA;   DAD D ;   PCHL  ; ┆
0x079d00…079d20             0a 0d 0a 44 52 45 41 44 3a 09 4c 48 4c 44 09 57 42 4f 4f 54 09 3b 20 52 45 41 44 20 53 45 43 54   ┆   DREAD: LHLD WBOOT ; READ SECT┆
0x079d20…079d40             4f 52 3a 0d 0a 09 4c 58 49 09 44 2c 52 45 41 44 46 09 3b 0d 0a 09 44 41 44 09 44 09 3b 0d 0a 09   ┆OR:   LXI D,READF ;   DAD D ;   ┆
0x079d40…079d60             50 43 48 4c 09 09 3b 0d 0a 0d 0a 44 57 52 49 54 45 3a 09 4c 48 4c 44 09 57 42 4f 4f 54 09 3b 20   ┆PCHL  ;    DWRITE: LHLD WBOOT ; ┆
0x079d60…079d80             57 52 49 54 45 20 53 45 43 54 4f 52 3a 0d 0a 09 4c 58 49 09 44 2c 57 52 49 54 45 46 3b 0d 0a 09   ┆WRITE SECTOR:   LXI D,WRITEF;   ┆
0x079d80…079da0             44 41 44 09 44 09 3b 0d 0a 09 50 43 48 4c 09 09 3b 0d 0a 0d 0a 46 49 4e 49 53 3a 09 4d 56 49 09   ┆DAD D ;   PCHL  ;    FINIS: MVI ┆
0x079da0…079dc0             43 2c 50 52 49 4e 54 46 3b 0d 0a 09 43 41 4c 4c 09 42 44 4f 53 09 3b 0d 0a 09 4c 48 4c 44 09 43   ┆C,PRINTF;   CALL BDOS ;   LHLD C┆
0x079dc0…079de0             43 50 52 45 54 09 3b 0d 0a 09 50 43 48 4c 09 09 3b 20 52 45 54 55 52 4e 20 54 4f 20 43 43 50 3b   ┆CPRET ;   PCHL  ; RETURN TO CCP;┆
0x079de0…079e00             0d 0a 0d 0a 50 52 49 4e 54 3a 09 4d 56 49 09 43 2c 50 52 49 4e 54 46 3b 0d 0a 09 4a 4d 50 09 42   ┆    PRINT: MVI C,PRINTF;   JMP B┆
0x079e00…079e20 (32, 1, 1)  c9 21 67 15 72 2b 73 2b 70 2b 71 21 68 15 36 01 3e 00 11 66 15 cd ea 14 b5 ca 72 07 2a 64 15 eb   ┆ !g r+s+p+q!h 6 >  f      r *d  ┆
0x079e20…079e40             2a 66 15 cd 7f 14 21 69 15 73 2a 64 15 eb cd 81 14 22 64 15 50 59 21 0a 00 cd 7f 14 eb 22 66 15   ┆*f    !i s*d     "d PY!      "f ┆
0x079e40…079e60             3e 00 cd d3 14 b5 c6 ff 9f 21 68 15 a6 23 f5 7e 93 d6 01 9f c1 48 a1 1f d2 61 07 cd ab 04 c3 6f   ┆>        !h  # ü     H   a     o┆
0x079e60…079e80             07 21 68 15 36 00 3a 69 15 c6 30 4f cd 90 04 c3 10 07 c9 21 6d 15 72 2b 73 2b 70 2b 71 2a 6c 15   ┆ !h 6 :i  0O       !m r+s+p+q*l ┆
0x079e80…079ea0             11 54 15 e5 cd 5a 14 eb e1 73 23 72 2a 6c 15 eb 01 00 04 cd e2 14 da b6 07 2a 6c 15 eb 01 00 04   ┆ T   Z   s#r*l           *l     ┆
0x079ea0…079ec0             cd e2 14 eb 2b 73 23 72 2a 6a 15 4e 23 46 03 2b 71 23 70 c3 8c 07 c9 21 6e 15 71 21 00 00 22 6f   ┆    +s#r*j N#F +q#p    !n q!  "o┆
0x079ec0…079ee0             15 22 71 15 7d 32 75 15 6f 26 00 22 73 15 01 05 00 2a 1e 15 09 eb 01 73 15 cd dd 14 da 0e 08 3a   ┆ "q å2u o& "s    *     s       :┆
0x079ee0…079f00             6e 15 1f d2 f1 07 2a 73 15 44 4d cd db 05 32 75 15 3a 75 15 1f da 01 08 11 71 15 01 6f 15 cd 73   ┆n     *s DM   2u :u      q  o  s┆
0x079f00…079f20             07 11 01 00 2a 73 15 19 22 73 15 d2 ce 07 2a 6f 15 c9 01 b9 01 cd d2 04 c9 01 c7 01 cd d2 04 cd   ┆    *s  "s    *o                ┆
0x079f20…079f40             8a 05 4f 06 00 11 0a 00 cd 01 07 01 d5 01 cd d2 04 21 76 15 36 00 3e 1f 21 76 15 be da 51 08 2a   ┆  O              !v 6 > !v   Q *┆
0x079f40…079f60             76 15 26 00 01 77 15 09 36 00 60 69 2b 34 c2 36 08 01 cf 29 cd 41 05 01 2a 01 cd 19 05 3a 27 15   ┆v &  w  6 `i+4 6   ) A  *    :' ┆
0x079f60…079f80             fe ff ca 93 08 3a 27 15 e6 03 87 87 87 87 87 4f 06 00 21 cf 29 09 7e 32 76 15 fe e5 ca 8d 08 3a   ┆     :'        O  ! ) ü2v      :┆
0x079f80…079fa0             76 15 e6 1f 4f 06 00 21 77 15 09 36 01 cd 2c 05 c3 5d 08 21 76 15 36 00 3e 1f 21 76 15 be da c2   ┆v   O  !w  6  ,  Å !v 6 > !v    ┆
0x079fa0…079fc0             08 2a 76 15 26 00 01 77 15 09 7e 1f d2 bb 08 2a 76 15 4d 06 00 11 0a 00 cd 01 07 21 76 15 34 c2   ┆ *v &  w  ü    *v M        !v 4 ┆
0x079fc0…079fe0             98 08 c9 01 e3 01 cd d2 04 cd 38 05 c6 41 4f cd 90 04 0e 3a cd 90 04 01 e8 01 cd b1 04 2a 1e 15   ┆          8  AO    :         *  ┆
0x079fe0…07a000             23 23 4e 21 01 00 cd bd 14 22 97 15 01 05 00 2a 1e 15 09 4e 23 46 03 2a 97 15 eb cd a0 14 22 99   ┆##N!     "     *   N#F *      " ┆
0x07a000…07a020 (32, 1, 2)  49 09 44 2c 43 52 4c 46 09 3b 0d 0a 09 43 41 4c 4c 09 50 52 49 4e 54 09 3b 0d 0a 09 4c 58 49 09   ┆I D,CRLF ;   CALL PRINT ;   LXI ┆
0x07a020…07a040             44 2c 4d 53 44 49 53 4b 3b 0d 0a 09 43 41 4c 4c 09 50 52 49 4e 54 09 3b 20 57 41 49 54 20 46 4f   ┆D,MSDISK;   CALL PRINT ; WAIT FO┆
0x07a040…07a060             52 20 53 4f 55 52 43 45 20 44 49 53 4b 3a 0d 0a 09 43 41 4c 4c 09 43 4f 4e 53 49 09 3b 0d 0a 09   ┆R SOURCE DISK:   CALL CONSI ;   ┆
0x07a060…07a080             4c 58 49 09 44 2c 4d 44 44 49 53 4b 3b 0d 0a 09 43 41 4c 4c 09 50 52 49 4e 54 09 3b 20 57 41 49   ┆LXI D,MDDISK;   CALL PRINT ; WAI┆
0x07a080…07a0a0             54 20 46 4f 52 20 44 45 53 54 49 4e 41 54 49 4f 4e 20 44 49 53 4b 3a 0d 0a 09 43 41 4c 4c 09 43   ┆T FOR DESTINATION DISK:   CALL C┆
0x07a0a0…07a0c0             4f 4e 53 49 09 3b 0d 0a 09 50 4f 50 09 42 09 3b 0d 0a 09 4d 56 49 09 41 2c 31 09 3b 0d 0a 53 45   ┆ONSI ;   POP B ;   MVI A,1 ;  SE┆
0x07a0c0…07a0e0             54 44 46 3a 09 53 54 41 09 44 46 4c 41 47 09 3b 0d 0a 09 4d 4f 56 09 41 2c 43 09 3b 0d 0a 09 43   ┆TDF: STA DFLAG ;   MOV A,C ;   C┆
0x07a0e0…07a100             50 49 09 53 53 38 09 3b 20 28 46 49 52 53 54 20 54 52 41 43 4b 2c 4c 41 53 54 20 54 52 41 43 4b   ┆PI SS8 ; (FIRST TRACK,LAST TRACK┆
0x07a100…07a120             2c 0d 0a 09 4a 4e 5a 09 53 45 54 44 38 09 3b 20 20 53 45 43 54 4f 52 53 20 50 52 20 54 52 41 43   ┆,   JNZ SETD8 ;  SECTORS PR TRAC┆
0x07a120…07a140             4b 29 20 3a 3d 0d 0a 09 4d 56 49 09 41 2c 30 09 3b 0d 0a 09 53 54 41 09 46 54 52 4b 09 3b 0d 0a   ┆K) :=   MVI A,0 ;   STA FTRK ;  ┆
0x07a140…07a160             09 4d 56 49 09 41 2c 37 36 09 3b 20 20 49 46 20 46 4f 52 4d 41 54 3d 20 38 22 20 53 53 20 54 48   ┆ MVI A,76 ;  IF FORMAT= 8" SS TH┆
0x07a160…07a180             45 4e 0d 0a 09 53 54 41 09 4c 54 52 4b 09 3b 20 20 20 28 30 2c 37 36 2c 32 36 29 20 20 20 20 20   ┆EN   STA LTRK ;   (0,76,26)     ┆
0x07a180…07a1a0             20 20 45 4c 53 45 0d 0a 09 4d 56 49 09 41 2c 32 36 09 3b 0d 0a 09 53 54 41 09 53 50 54 09 3b 0d   ┆  ELSE   MVI A,26 ;   STA SPT ; ┆
0x07a1a0…07a1c0             0a 09 4a 4d 50 09 53 45 54 43 54 09 3b 20 20 0d 0a 53 45 54 44 38 3a 09 43 50 49 09 44 44 38 09   ┆  JMP SETCT ;    SETD8: CPI DD8 ┆
0x07a1c0…07a1e0             3b 20 20 49 46 20 46 4f 52 4d 41 54 3d 20 38 22 20 44 44 20 54 48 45 4e 0d 0a 09 4a 4e 5a 09 53   ┆;  IF FORMAT= 8" DD THEN   JNZ S┆
0x07a1e0…07a200             45 54 35 09 3b 20 20 20 28 31 2c 36 31 2c 31 32 30 29 20 20 20 20 20 20 45 4c 53 45 0d 0a 09 4d   ┆ET5 ;   (1,61,120)      ELSE   M┆
0x07a200…07a220 (32, 1, 3)  50 55 53 48 09 44 09 3b 0d 0a 09 50 55 53 48 09 42 09 3b 0d 0a 09 43 41 4c 4c 09 44 4d 41 09 3b   ┆PUSH D ;   PUSH B ;   CALL DMA ;┆
0x07a220…07a240             0d 0a 09 4a 4d 50 09 52 45 41 44 53 09 3b 20 47 4f 54 4f 20 52 45 41 44 20 53 45 43 54 4f 52 3b   ┆   JMP READS ; GOTO READ SECTOR;┆
0x07a240…07a260             0d 0a 57 44 41 54 3a 09 50 4f 50 09 44 09 3b 20 57 52 49 54 45 20 44 41 54 41 3a 0d 0a 09 4c 44   ┆  WDAT: POP D ; WRITE DATA:   LD┆
0x07a260…07a280             41 09 44 46 4c 41 47 09 3b 0d 0a 09 4f 52 41 09 41 09 3b 20 49 46 20 44 45 53 54 49 4e 41 54 49   ┆A DFLAG ;   ORA A ; IF DESTINATI┆
0x07a280…07a2a0             4f 4e 20 44 52 49 56 45 20 3d 20 53 4f 55 52 43 45 20 44 52 49 56 45 0d 0a 09 4a 4e 5a 09 53 45   ┆ON DRIVE = SOURCE DRIVE   JNZ SE┆
0x07a2a0…07a2c0             4c 44 45 09 3b 20 20 54 48 45 4e 20 57 41 49 54 20 46 4f 52 20 44 49 53 4b 20 43 48 41 4e 47 45   ┆LDE ;  THEN WAIT FOR DISK CHANGE┆
0x07a2c0…07a2e0             3b 0d 0a 09 4c 58 49 09 44 2c 4d 44 44 49 53 4b 3b 0d 0a 09 43 41 4c 4c 09 50 52 49 4e 54 09 3b   ┆;   LXI D,MDDISK;   CALL PRINT ;┆
0x07a2e0…07a300             0d 0a 09 43 41 4c 4c 09 43 4f 4e 53 49 09 3b 0d 0a 53 45 4c 44 45 3a 09 4c 44 41 09 44 44 52 49   ┆   CALL CONSI ;  SELDE: LDA DDRI┆
0x07a300…07a320             56 09 3b 0d 0a 09 43 41 4c 4c 09 53 45 4c 09 3b 20 53 45 4c 45 43 54 28 44 45 53 54 49 4e 41 54   ┆V ;   CALL SEL ; SELECT(DESTINAT┆
0x07a320…07a340             49 4f 4e 20 44 52 49 56 45 29 3b 0d 0a 09 4c 58 49 09 48 2c 33 36 30 09 3b 0d 0a 09 53 48 4c 44   ┆ION DRIVE);   LXI H,360 ;   SHLD┆
0x07a340…07a360             09 53 45 43 43 4e 54 09 3b 20 53 45 43 54 4f 52 43 4f 55 4e 54 3a 3d 20 33 36 30 3b 0d 0a 09 4c   ┆ SECCNT ; SECTORCOUNT:= 360;   L┆
0x07a360…07a380             58 49 09 44 2c 42 55 46 09 3b 0d 0a 09 50 55 53 48 09 44 09 3b 0d 0a 09 43 41 4c 4c 09 44 4d 41   ┆XI D,BUF ;   PUSH D ;   CALL DMA┆
0x07a380…07a3a0             09 3b 20 44 4d 41 20 41 44 44 52 3a 3d 20 53 54 41 52 54 20 4f 46 20 42 55 46 46 45 52 3b 0d 0a   ┆ ; DMA ADDR:= START OF BUFFER;  ┆
0x07a3a0…07a3c0             09 4c 44 41 09 43 55 52 54 52 4b 09 3b 0d 0a 09 4d 4f 56 09 43 2c 41 09 3b 0d 0a 09 43 41 4c 4c   ┆ LDA CURTRK ;   MOV C,A ;   CALL┆
0x07a3c0…07a3e0             09 54 52 4b 09 3b 20 53 45 54 20 54 52 41 43 4b 28 54 52 4b 3a 3d 43 55 52 20 54 52 4b 29 3b 0d   ┆ TRK ; SET TRACK(TRK:=CUR TRK); ┆
0x07a3e0…07a400             0a 09 4c 44 41 09 43 55 52 53 45 43 09 3b 0d 0a 09 4d 4f 56 09 43 2c 41 09 3b 0d 0a 09 4c 44 41   ┆  LDA CURSEC ;   MOV C,A ;   LDA┆
0x07a400…07a420 (32, 1, 4)  20 53 45 54 20 54 52 41 43 4b 20 49 4e 20 43 3a 0d 0a 09 4c 58 49 09 44 2c 53 45 54 54 52 4b 3b   ┆ SET TRACK IN C:   LXI D,SETTRK;┆
0x07a420…07a440             0d 0a 09 44 41 44 09 44 09 3b 0d 0a 09 4d 56 49 09 42 2c 30 09 3b 0d 0a 09 50 43 48 4c 09 09 3b   ┆   DAD D ;   MVI B,0 ;   PCHL  ;┆
0x07a440…07a460             0d 0a 0d 0a 53 45 43 3a 09 4c 48 4c 44 09 57 42 4f 4f 54 09 3b 20 53 45 54 20 53 45 43 54 4f 52   ┆    SEC: LHLD WBOOT ; SET SECTOR┆
0x07a460…07a480             20 49 4e 20 43 3a 0d 0a 09 4c 58 49 09 44 2c 53 45 54 53 45 43 3b 0d 0a 09 44 41 44 09 44 09 3b   ┆ IN C:   LXI D,SETSEC;   DAD D ;┆
0x07a480…07a4a0             0d 0a 09 4d 56 49 09 42 2c 30 09 3b 0d 0a 09 50 43 48 4c 09 09 3b 0d 0a 0d 0a 44 4d 41 3a 09 4c   ┆   MVI B,0 ;   PCHL  ;    DMA: L┆
0x07a4a0…07a4c0             48 4c 44 09 57 42 4f 4f 54 09 3b 20 53 45 54 20 44 4d 41 20 41 44 44 52 45 53 53 20 49 4e 20 44   ┆HLD WBOOT ; SET DMA ADDRESS IN D┆
0x07a4c0…07a4e0             2c 45 3a 0d 0a 09 4d 4f 56 09 42 2c 44 09 3b 0d 0a 09 4d 4f 56 09 43 2c 45 09 3b 0d 0a 09 4c 58   ┆,E:   MOV B,D ;   MOV C,E ;   LX┆
0x07a4e0…07a500             49 09 44 2c 53 45 54 44 4d 41 3b 0d 0a 09 44 41 44 09 44 09 3b 0d 0a 09 50 43 48 4c 09 09 3b 0d   ┆I D,SETDMA;   DAD D ;   PCHL  ; ┆
0x07a500…07a520             0a 0d 0a 44 52 45 41 44 3a 09 4c 48 4c 44 09 57 42 4f 4f 54 09 3b 20 52 45 41 44 20 53 45 43 54   ┆   DREAD: LHLD WBOOT ; READ SECT┆
0x07a520…07a540             4f 52 3a 0d 0a 09 4c 58 49 09 44 2c 52 45 41 44 46 09 3b 0d 0a 09 44 41 44 09 44 09 3b 0d 0a 09   ┆OR:   LXI D,READF ;   DAD D ;   ┆
0x07a540…07a560             50 43 48 4c 09 09 3b 0d 0a 0d 0a 44 57 52 49 54 45 3a 09 4c 48 4c 44 09 57 42 4f 4f 54 09 3b 20   ┆PCHL  ;    DWRITE: LHLD WBOOT ; ┆
0x07a560…07a580             57 52 49 54 45 20 53 45 43 54 4f 52 3a 0d 0a 09 4c 58 49 09 44 2c 57 52 49 54 45 46 3b 0d 0a 09   ┆WRITE SECTOR:   LXI D,WRITEF;   ┆
0x07a580…07a5a0             44 41 44 09 44 09 3b 0d 0a 09 50 43 48 4c 09 09 3b 0d 0a 0d 0a 46 49 4e 49 53 3a 09 4d 56 49 09   ┆DAD D ;   PCHL  ;    FINIS: MVI ┆
0x07a5a0…07a5c0             43 2c 50 52 49 4e 54 46 3b 0d 0a 09 43 41 4c 4c 09 42 44 4f 53 09 3b 0d 0a 09 4c 48 4c 44 09 43   ┆C,PRINTF;   CALL BDOS ;   LHLD C┆
0x07a5c0…07a5e0             43 50 52 45 54 09 3b 0d 0a 09 50 43 48 4c 09 09 3b 20 52 45 54 55 52 4e 20 54 4f 20 43 43 50 3b   ┆CPRET ;   PCHL  ; RETURN TO CCP;┆
0x07a5e0…07a600             0d 0a 0d 0a 50 52 49 4e 54 3a 09 4d 56 49 09 43 2c 50 52 49 4e 54 46 3b 0d 0a 09 4a 4d 50 09 42   ┆    PRINT: MVI C,PRINTF;   JMP B┆
0x07a600…07a620 (32, 1, 5)  3b 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a   ┆;*******************************┆
0x07a620…07a640             2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a   ┆********************************┆
0x07a640…07a660             2a 2a 2a 0d 0a 3b 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆***  ;*                         ┆
0x07a660…07a680             20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆                                ┆
0x07a680…07a6a0             20 20 20 20 20 20 20 2a 0d 0a 3b 2a 20 20 20 20 20 42 41 43 4b 55 50 20 20 55 54 49 4c 49 54 59   ┆       *  ;*     BACKUP  UTILITY┆
0x07a6a0…07a6c0             20 20 2d 20 20 56 45 52 53 49 4f 4e 20 20 38 31 2e 30 37 2e 30 38 20 20 20 20 20 20 20 20 20 20   ┆  -  VERSION  81.07.08          ┆
0x07a6c0…07a6e0             20 20 20 20 20 20 20 20 20 20 20 20 2a 0d 0a 3b 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆            *  ;*               ┆
0x07a6e0…07a700             20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆                                ┆
0x07a700…07a720             20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 0d 0a 3b 2a 20 20 20 20 20 42 41 43 4b 55   ┆                 *  ;*     BACKU┆
0x07a720…07a740             50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆P                               ┆
0x07a740…07a760             20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 0d 0a 3b 2a 20 20 20 20 20   ┆                      *  ;*     ┆
0x07a760…07a780             20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆                                ┆
0x07a780…07a7a0             20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 0d 0a 3b 2a   ┆                           *  ;*┆
0x07a7a0…07a7c0             2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a   ┆********************************┆
          […0x1…]
0x07a7e0…07a800             2a 0d 0a 0d 0a 0d 0a 54 50 41 09 45 51 55 09 31 30 30 48 0d 0a 42 44 4f 53 09 45 51 55 09 30 30   ┆*      TPA EQU 100H  BDOS EQU 00┆
0x07a800…07a820 (32, 1, 6)  56 49 09 41 2c 31 09 3b 0d 0a 09 53 54 41 09 46 54 52 4b 09 3b 0d 0a 09 4d 56 49 09 41 2c 36 31   ┆VI A,1 ;   STA FTRK ;   MVI A,61┆
0x07a820…07a840             09 3b 0d 0a 09 53 54 41 09 4c 54 52 4b 09 3b 0d 0a 09 4d 56 49 09 41 2c 31 32 30 09 3b 0d 0a 09   ┆ ;   STA LTRK ;   MVI A,120 ;   ┆
0x07a840…07a860             53 54 41 09 53 50 54 09 3b 0d 0a 09 4a 4d 50 09 53 45 54 43 54 09 3b 0d 0a 53 45 54 35 3a 09 43   ┆STA SPT ;   JMP SETCT ;  SET5: C┆
0x07a860…07a880             50 49 09 44 44 35 09 3b 20 20 49 46 20 46 4f 52 4d 41 54 3d 20 35 22 20 44 44 20 54 48 45 4e 0d   ┆PI DD5 ;  IF FORMAT= 5" DD THEN ┆
0x07a880…07a8a0             0a 09 4c 58 49 09 44 2c 4e 4f 54 4f 4b 09 3b 20 20 20 28 31 2c 33 31 2c 37 32 29 3b 0d 0a 09 43   ┆  LXI D,NOTOK ;   (1,31,72);   C┆
0x07a8a0…07a8c0             4e 5a 09 46 49 4e 49 53 09 3b 0d 0a 09 4d 56 49 09 41 2c 31 09 3b 0d 0a 09 53 54 41 09 46 54 52   ┆NZ FINIS ;   MVI A,1 ;   STA FTR┆
0x07a8c0…07a8e0             4b 09 3b 0d 0a 09 4d 56 49 09 41 2c 33 31 09 3b 0d 0a 09 53 54 41 09 4c 54 52 4b 09 3b 0d 0a 09   ┆K ;   MVI A,31 ;   STA LTRK ;   ┆
0x07a8e0…07a900             4d 56 49 09 41 2c 37 32 09 3b 0d 0a 09 53 54 41 09 53 50 54 09 3b 0d 0a 53 45 54 43 54 3a 09 4c   ┆MVI A,72 ;   STA SPT ;  SETCT: L┆
0x07a900…07a920             44 41 09 46 54 52 4b 09 3b 0d 0a 09 53 54 41 09 43 55 52 54 52 4b 09 3b 20 43 55 52 54 52 4b 3a   ┆DA FTRK ;   STA CURTRK ; CURTRK:┆
0x07a920…07a940             3d 46 49 52 53 54 20 54 52 41 43 4b 3b 0d 0a 09 4d 56 49 09 41 2c 30 09 3b 0d 0a 09 53 54 41 09   ┆=FIRST TRACK;   MVI A,0 ;   STA ┆
0x07a940…07a960             43 55 52 53 45 43 09 3b 20 43 55 52 53 45 43 3a 3d 20 30 3b 0d 0a 0d 0a 52 44 41 54 3a 09 4c 44   ┆CURSEC ; CURSEC:= 0;    RDAT: LD┆
0x07a960…07a980             41 09 44 46 4c 41 47 09 3b 20 52 45 41 44 20 44 41 54 41 3a 0d 0a 09 4f 52 41 09 41 09 3b 0d 0a   ┆A DFLAG ; READ DATA:   ORA A ;  ┆
0x07a980…07a9a0             09 4a 4e 5a 09 53 45 4c 53 44 09 3b 20 49 46 20 53 4f 55 52 43 45 20 44 52 49 56 45 20 3d 20 44   ┆ JNZ SELSD ; IF SOURCE DRIVE = D┆
0x07a9a0…07a9c0             45 53 54 49 4e 41 54 49 4f 4e 20 44 52 49 56 45 0d 0a 09 4c 58 49 09 44 2c 4d 53 44 49 53 4b 3b   ┆ESTINATION DRIVE   LXI D,MSDISK;┆
0x07a9c0…07a9e0             20 20 54 48 45 4e 20 57 41 49 54 20 46 4f 52 20 44 49 53 4b 20 43 48 41 4e 47 45 3b 0d 0a 09 43   ┆  THEN WAIT FOR DISK CHANGE;   C┆
0x07a9e0…07aa00             41 4c 4c 09 50 52 49 4e 54 09 3b 0d 0a 09 43 41 4c 4c 09 43 4f 4e 53 49 09 3b 0d 0a 53 45 4c 53   ┆ALL PRINT ;   CALL CONSI ;  SELS┆
0x07aa00…07aa20 (32, 1, 7)  09 43 55 52 54 52 4b 09 3b 0d 0a 09 4d 4f 56 09 42 2c 41 09 3b 0d 0a 09 50 55 53 48 09 42 09 3b   ┆ CURTRK ;   MOV B,A ;   PUSH B ;┆
0x07aa20…07aa40             20 53 45 54 20 53 45 43 54 4f 52 28 53 45 43 3a 3d 43 55 52 20 53 45 43 29 3b 0d 0a 09 43 41 4c   ┆ SET SECTOR(SEC:=CUR SEC);   CAL┆
0x07aa40…07aa60             4c 09 53 45 43 09 3b 0d 0a 57 52 49 54 45 44 3a 09 43 41 4c 4c 09 44 57 52 49 54 45 09 3b 20 57   ┆L SEC ;  WRITED: CALL DWRITE ; W┆
0x07aa60…07aa80             52 49 54 45 20 53 45 43 54 4f 52 3b 0d 0a 09 4c 58 49 09 44 2c 42 41 44 44 09 3b 0d 0a 09 4f 52   ┆RITE SECTOR;   LXI D,BADD ;   OR┆
0x07aa80…07aaa0             41 09 41 09 3b 20 49 46 20 45 52 52 4f 52 53 20 54 48 45 4e 20 50 52 49 4e 54 20 57 41 52 4e 49   ┆A A ; IF ERRORS THEN PRINT WARNI┆
0x07aaa0…07aac0             4e 47 3b 0d 0a 09 43 4e 5a 09 45 52 52 4f 52 09 3b 0d 0a 09 50 4f 50 09 42 09 3b 0d 0a 09 49 4e   ┆NG;   CNZ ERROR ;   POP B ;   IN┆
0x07aac0…07aae0             52 09 43 09 3b 20 53 45 43 3a 3d 20 53 45 43 2b 31 3b 0d 0a 09 4c 44 41 09 53 50 54 09 3b 0d 0a   ┆R C ; SEC:= SEC+1;   LDA SPT ;  ┆
0x07aae0…07ab00             09 43 4d 50 09 43 09 3b 20 49 46 20 53 45 43 3d 53 50 54 20 54 48 45 4e 0d 0a 09 4a 4e 5a 09 4e   ┆ CMP C ; IF SEC=SPT THEN   JNZ N┆
0x07ab00…07ab20             45 58 54 44 09 3b 20 42 45 47 49 4e 0d 0a 09 4c 44 41 09 4c 54 52 4b 09 3b 0d 0a 09 43 4d 50 09   ┆EXTD ; BEGIN   LDA LTRK ;   CMP ┆
0x07ab20…07ab40             42 09 3b 20 20 20 20 49 46 20 54 52 4b 3d 4c 41 53 54 20 54 48 45 4e 20 47 4f 54 4f 20 45 4e 44   ┆B ;    IF TRK=LAST THEN GOTO END┆
0x07ab40…07ab60             3b 0d 0a 09 4a 5a 09 45 44 41 54 09 3b 0d 0a 09 49 4e 52 09 42 09 3b 20 20 20 20 54 52 4b 3a 3d   ┆;   JZ EDAT ;   INR B ;    TRK:=┆
0x07ab60…07ab80             54 52 4b 2b 31 3b 0d 0a 09 4d 56 49 09 43 2c 30 09 3b 20 20 20 20 53 45 43 3a 3d 30 3b 0d 0a 09   ┆TRK+1;   MVI C,0 ;    SEC:=0;   ┆
0x07ab80…07aba0             50 55 53 48 09 42 09 3b 0d 0a 09 4d 4f 56 09 43 2c 42 09 3b 0d 0a 09 43 41 4c 4c 09 54 52 4b 09   ┆PUSH B ;   MOV C,B ;   CALL TRK ┆
0x07aba0…07abc0             3b 20 20 20 20 53 45 54 20 54 52 41 43 4b 28 54 52 4b 29 3b 0d 0a 09 50 4f 50 09 42 09 3b 20 45   ┆;    SET TRACK(TRK);   POP B ; E┆
0x07abc0…07abe0             4e 44 3b 0d 0a 4e 45 58 54 44 3a 09 50 55 53 48 09 42 09 3b 0d 0a 09 43 41 4c 4c 09 53 45 43 09   ┆ND;  NEXTD: PUSH B ;   CALL SEC ┆
0x07abe0…07ac00             3b 20 53 45 54 20 53 45 43 54 4f 52 28 53 45 43 29 3b 0d 0a 09 4c 48 4c 44 09 53 45 43 43 4e 54   ┆; SET SECTOR(SEC);   LHLD SECCNT┆
0x07ac00…07ac20 (32, 1, 8)  44 4f 53 09 3b 0d 0a 0d 0a 43 4f 4e 53 49 3a 09 4d 56 49 09 43 2c 43 4f 4e 53 49 46 3b 0d 0a 09   ┆DOS ;    CONSI: MVI C,CONSIF;   ┆
0x07ac20…07ac40             4a 4d 50 09 42 44 4f 53 09 3b 0d 0a 0d 0a 45 52 52 4f 52 3a 09 4d 56 49 09 43 2c 50 52 49 4e 54   ┆JMP BDOS ;    ERROR: MVI C,PRINT┆
0x07ac40…07ac60             46 3b 20 44 49 53 4b 20 45 52 52 4f 52 3a 0d 0a 09 43 41 4c 4c 09 42 44 4f 53 09 3b 0d 0a 09 4d   ┆F; DISK ERROR:   CALL BDOS ;   M┆
0x07ac60…07ac80             56 49 09 43 2c 43 4f 4e 53 49 46 3b 0d 0a 09 43 41 4c 4c 09 42 44 4f 53 09 3b 0d 0a 09 43 50 49   ┆VI C,CONSIF;   CALL BDOS ;   CPI┆
0x07ac80…07aca0             09 33 09 3b 0d 0a 09 4a 5a 09 42 4f 4f 54 09 3b 0d 0a 09 52 45 54 09 09 3b 0d 0a 0d 0a 48 45 41   ┆ 3 ;   JZ BOOT ;   RET  ;    HEA┆
0x07aca0…07acc0             44 3a 09 44 42 09 27 52 43 37 30 30 20 20 43 50 2f 4d 20 20 42 41 43 4b 55 50 20 20 55 54 49 4c   ┆D: DB 'RC700  CP/M  BACKUP  UTIL┆
0x07acc0…07ace0             49 54 59 27 2c 31 33 2c 33 36 0d 0a 53 44 53 50 45 43 3a 09 44 42 09 31 33 2c 31 30 2c 31 30 2c   ┆ITY',13,36  SDSPEC: DB 13,10,10,┆
0x07ace0…07ad00             27 53 4f 55 52 43 45 20 44 52 49 56 45 20 28 41 20 4f 52 20 42 29 20 3f 20 27 2c 33 36 0d 0a 44   ┆'SOURCE DRIVE (A OR B) ? ',36  D┆
0x07ad00…07ad20             44 53 50 45 43 3a 09 44 42 09 31 33 2c 31 30 2c 31 30 2c 27 44 45 53 54 49 4e 41 54 49 4f 4e 20   ┆DSPEC: DB 13,10,10,'DESTINATION ┆
0x07ad20…07ad40             44 52 49 56 45 20 28 41 20 4f 52 20 42 29 20 3f 20 27 2c 33 36 0d 0a 4e 4f 54 4f 4b 3a 09 44 42   ┆DRIVE (A OR B) ? ',36  NOTOK: DB┆
0x07ad40…07ad60             09 31 33 2c 31 30 2c 31 30 2c 27 42 41 43 4b 55 50 20 4e 4f 54 20 50 4f 53 53 49 42 4c 45 27 2c   ┆ 13,10,10,'BACKUP NOT POSSIBLE',┆
0x07ad60…07ad80             33 36 0d 0a 4d 53 44 49 53 4b 3a 20 44 42 09 31 33 2c 31 30 2c 27 49 4e 53 45 52 54 20 53 4f 55   ┆36  MSDISK: DB 13,10,'INSERT SOU┆
0x07ad80…07ada0             52 43 45 20 44 49 53 4b 20 41 4e 44 20 54 59 50 45 20 3c 52 45 54 55 52 4e 3e 27 2c 33 36 0d 0a   ┆RCE DISK AND TYPE <RETURN>',36  ┆
0x07ada0…07adc0             4d 44 44 49 53 4b 3a 20 44 42 09 31 33 2c 31 30 2c 27 49 4e 53 45 52 54 20 44 45 53 54 49 4e 41   ┆MDDISK: DB 13,10,'INSERT DESTINA┆
0x07adc0…07ade0             54 49 4f 4e 20 44 49 53 4b 20 41 4e 44 20 54 59 50 45 20 3c 52 45 54 55 52 4e 3e 27 2c 33 36 0d   ┆TION DISK AND TYPE <RETURN>',36 ┆
0x07ade0…07ae00             0a 42 41 44 53 3a 09 44 42 09 31 33 2c 31 30 2c 27 42 41 44 20 53 45 43 54 4f 52 20 4f 4e 20 53   ┆ BADS: DB 13,10,'BAD SECTOR ON S┆
0x07ae00…07ae20 (32, 1, 9)  30 35 48 0d 0a 42 4f 4f 54 09 45 51 55 09 30 30 30 30 48 0d 0a 0d 0a 43 4f 4e 53 49 46 09 45 51   ┆05H  BOOT EQU 0000H    CONSIF EQ┆
0x07ae20…07ae40             55 09 31 0d 0a 50 52 49 4e 54 46 09 45 51 55 09 39 0d 0a 57 42 4f 4f 54 09 45 51 55 09 31 0d 0a   ┆U 1  PRINTF EQU 9  WBOOT EQU 1  ┆
0x07ae40…07ae60             53 45 4c 44 53 4b 09 45 51 55 09 32 34 0d 0a 53 45 54 54 52 4b 09 45 51 55 09 32 37 0d 0a 53 45   ┆SELDSK EQU 24  SETTRK EQU 27  SE┆
0x07ae60…07ae80             54 53 45 43 09 45 51 55 09 33 30 0d 0a 53 45 54 44 4d 41 09 45 51 55 09 33 33 0d 0a 52 45 41 44   ┆TSEC EQU 30  SETDMA EQU 33  READ┆
0x07ae80…07aea0             46 09 45 51 55 09 33 36 0d 0a 57 52 49 54 45 46 09 45 51 55 09 33 39 0d 0a 46 44 46 4f 52 4d 09   ┆F EQU 36  WRITEF EQU 39  FDFORM ┆
0x07aea0…07aec0             45 51 55 09 35 32 0d 0a 53 53 38 09 45 51 55 09 30 0d 0a 44 44 38 09 45 51 55 09 38 0d 0a 44 44   ┆EQU 52  SS8 EQU 0  DD8 EQU 8  DD┆
0x07aec0…07aee0             35 09 45 51 55 09 31 36 0d 0a 0d 0a 0d 0a 09 4f 52 47 09 54 50 41 0d 0a 0d 0a 09 50 4f 50 09 48   ┆5 EQU 16       ORG TPA     POP H┆
0x07aee0…07af00             09 3b 20 53 41 56 45 20 52 45 54 55 52 4e 20 54 4f 20 43 43 50 3b 0d 0a 09 53 48 4c 44 09 43 43   ┆ ; SAVE RETURN TO CCP;   SHLD CC┆
0x07af00…07af20             50 52 45 54 09 3b 0d 0a 09 4c 58 49 09 53 50 2c 53 54 41 43 4b 3b 0d 0a 09 4c 58 49 09 44 2c 48   ┆PRET ;   LXI SP,STACK;   LXI D,H┆
0x07af20…07af40             45 41 44 09 3b 20 50 52 49 4e 54 20 48 45 41 44 49 4e 47 3b 0d 0a 09 43 41 4c 4c 09 50 52 49 4e   ┆EAD ; PRINT HEADING;   CALL PRIN┆
0x07af40…07af60             54 09 3b 0d 0a 50 53 50 3a 09 4c 58 49 09 44 2c 53 44 53 50 45 43 3b 20 50 52 49 4e 54 20 53 4f   ┆T ;  PSP: LXI D,SDSPEC; PRINT SO┆
0x07af60…07af80             55 52 43 45 20 50 52 4f 4d 50 54 3b 0d 0a 09 43 41 4c 4c 09 50 52 49 4e 54 09 3b 0d 0a 09 43 41   ┆URCE PROMPT;   CALL PRINT ;   CA┆
0x07af80…07afa0             4c 4c 09 43 4f 4e 53 49 09 3b 20 47 45 54 20 53 4f 55 52 43 45 20 44 52 49 56 45 3b 0d 0a 09 4d   ┆LL CONSI ; GET SOURCE DRIVE;   M┆
0x07afa0…07afc0             56 49 09 43 2c 30 09 3b 0d 0a 09 43 50 49 09 27 41 27 09 3b 0d 0a 09 4a 5a 09 53 45 54 53 44 09   ┆VI C,0 ;   CPI 'A' ;   JZ SETSD ┆
0x07afc0…07afe0             3b 0d 0a 09 43 50 49 09 27 42 27 09 3b 0d 0a 09 4a 4e 5a 09 50 53 50 09 3b 0d 0a 09 49 4e 52 09   ┆;   CPI 'B' ;   JNZ PSP ;   INR ┆
0x07afe0…07b000             43 09 3b 0d 0a 53 45 54 53 44 3a 09 4d 4f 56 09 41 2c 43 09 3b 0d 0a 09 53 54 41 09 53 44 52 49   ┆C ;  SETSD: MOV A,C ;   STA SDRI┆
0x07b000…07b020 (32, 1, 10) 44 3a 09 4c 44 41 09 53 44 52 49 56 09 3b 20 53 45 4c 45 43 54 28 53 4f 55 52 43 45 20 44 52 49   ┆D: LDA SDRIV ; SELECT(SOURCE DRI┆
0x07b020…07b040             56 45 29 3a 0d 0a 09 43 41 4c 4c 09 53 45 4c 09 3b 0d 0a 09 4c 58 49 09 48 2c 33 36 30 09 3b 0d   ┆VE):   CALL SEL ;   LXI H,360 ; ┆
0x07b040…07b060             0a 09 53 48 4c 44 09 53 45 43 43 4e 54 09 3b 20 53 45 43 54 4f 52 43 4f 55 4e 54 3a 3d 20 33 36   ┆  SHLD SECCNT ; SECTORCOUNT:= 36┆
0x07b060…07b080             30 3b 0d 0a 09 4c 58 49 09 44 2c 42 55 46 09 3b 0d 0a 09 50 55 53 48 09 44 09 3b 0d 0a 09 43 41   ┆0;   LXI D,BUF ;   PUSH D ;   CA┆
0x07b080…07b0a0             4c 4c 09 44 4d 41 09 3b 20 44 4d 41 20 41 44 44 52 3a 3d 20 53 54 41 52 54 20 4f 46 20 42 55 46   ┆LL DMA ; DMA ADDR:= START OF BUF┆
0x07b0a0…07b0c0             46 45 52 3b 0d 0a 09 4c 44 41 09 43 55 52 54 52 4b 09 3b 0d 0a 09 4d 4f 56 09 43 2c 41 09 3b 0d   ┆FER;   LDA CURTRK ;   MOV C,A ; ┆
0x07b0c0…07b0e0             0a 09 43 41 4c 4c 09 54 52 4b 09 3b 20 53 45 54 20 54 52 41 43 4b 28 54 52 4b 3a 3d 43 55 52 20   ┆  CALL TRK ; SET TRACK(TRK:=CUR ┆
0x07b0e0…07b100             54 52 4b 29 3b 0d 0a 09 4c 44 41 09 43 55 52 53 45 43 09 3b 0d 0a 09 4d 4f 56 09 43 2c 41 09 3b   ┆TRK);   LDA CURSEC ;   MOV C,A ;┆
0x07b100…07b120             0d 0a 09 4c 44 41 09 43 55 52 54 52 4b 09 3b 0d 0a 09 4d 4f 56 09 42 2c 41 09 3b 0d 0a 09 50 55   ┆   LDA CURTRK ;   MOV B,A ;   PU┆
0x07b120…07b140             53 48 09 42 09 3b 0d 0a 09 43 41 4c 4c 09 53 45 43 09 3b 20 53 45 54 20 53 45 43 54 4f 52 28 53   ┆SH B ;   CALL SEC ; SET SECTOR(S┆
0x07b140…07b160             45 43 3a 3d 43 55 52 20 53 45 43 29 3b 0d 0a 52 45 41 44 53 3a 09 43 41 4c 4c 09 44 52 45 41 44   ┆EC:=CUR SEC);  READS: CALL DREAD┆
0x07b160…07b180             09 3b 20 52 45 41 44 20 53 45 43 54 4f 52 3b 0d 0a 09 4c 58 49 09 44 2c 42 41 44 53 09 3b 0d 0a   ┆ ; READ SECTOR;   LXI D,BADS ;  ┆
0x07b180…07b1a0             09 4f 52 41 09 41 09 3b 20 49 46 20 45 52 52 4f 52 53 20 54 48 45 4e 20 50 52 49 4e 54 20 57 41   ┆ ORA A ; IF ERRORS THEN PRINT WA┆
0x07b1a0…07b1c0             52 4e 49 4e 47 3b 0d 0a 09 43 4e 5a 09 45 52 52 4f 52 09 3b 0d 0a 09 50 4f 50 09 42 09 3b 0d 0a   ┆RNING;   CNZ ERROR ;   POP B ;  ┆
0x07b1c0…07b1e0             09 49 4e 52 09 43 09 3b 20 53 45 43 3a 3d 20 53 45 43 20 2b 20 31 3b 0d 0a 09 4c 44 41 09 53 50   ┆ INR C ; SEC:= SEC + 1;   LDA SP┆
0x07b1e0…07b200             54 09 3b 0d 0a 09 43 4d 50 09 43 09 3b 20 49 46 20 53 45 43 3d 53 50 54 20 54 48 45 4e 0d 0a 09   ┆T ;   CMP C ; IF SEC=SPT THEN   ┆
0x07b200…07b220 (32, 1, 11) 09 3b 0d 0a 09 44 43 58 09 48 09 3b 20 53 45 43 54 4f 52 43 4f 55 4e 54 3a 3d 53 45 43 54 4f 52   ┆ ;   DCX H ; SECTORCOUNT:=SECTOR┆
0x07b220…07b240             43 4f 55 4e 54 2d 31 3b 0d 0a 09 53 48 4c 44 09 53 45 43 43 4e 54 09 3b 0d 0a 09 50 4f 50 09 42   ┆COUNT-1;   SHLD SECCNT ;   POP B┆
0x07b240…07b260             09 3b 20 49 46 20 53 45 43 54 4f 52 43 4f 55 4e 54 3d 30 20 54 48 45 4e 0d 0a 09 4d 4f 56 09 41   ┆ ; IF SECTORCOUNT=0 THEN   MOV A┆
0x07b260…07b280             2c 48 09 3b 20 20 47 4f 54 4f 20 4e 45 58 54 20 52 45 41 44 3b 0d 0a 09 4f 52 41 09 41 09 3b 0d   ┆,H ;  GOTO NEXT READ;   ORA A ; ┆
0x07b280…07b2a0             0a 09 4a 4e 5a 09 44 44 4d 41 09 3b 0d 0a 09 4d 4f 56 09 41 2c 4c 09 3b 0d 0a 09 4f 52 41 09 41   ┆  JNZ DDMA ;   MOV A,L ;   ORA A┆
0x07b2a0…07b2c0             09 3b 0d 0a 09 4a 5a 09 4e 44 41 54 09 3b 0d 0a 44 44 4d 41 3a 09 50 4f 50 09 44 09 3b 0d 0a 09   ┆ ;   JZ NDAT ;  DDMA: POP D ;   ┆
0x07b2c0…07b2e0             4c 58 49 09 48 2c 31 32 38 09 3b 0d 0a 09 44 41 44 09 44 09 3b 0d 0a 09 58 43 48 47 09 09 3b 0d   ┆LXI H,128 ;   DAD D ;   XCHG  ; ┆
0x07b2e0…07b300             0a 09 50 55 53 48 09 44 09 3b 0d 0a 09 50 55 53 48 09 42 09 3b 20 44 4d 41 20 41 44 44 52 3a 3d   ┆  PUSH D ;   PUSH B ; DMA ADDR:=┆
0x07b300…07b320             20 44 4d 41 20 41 44 44 52 20 2b 20 31 32 38 3b 0d 0a 09 43 41 4c 4c 09 44 4d 41 09 3b 0d 0a 09   ┆ DMA ADDR + 128;   CALL DMA ;   ┆
0x07b320…07b340             4a 4d 50 09 57 52 49 54 45 44 09 3b 20 47 4f 54 4f 20 57 52 49 54 45 20 53 45 43 54 4f 52 3b 0d   ┆JMP WRITED ; GOTO WRITE SECTOR; ┆
0x07b340…07b360             0a 0d 0a 4e 44 41 54 3a 09 4d 4f 56 09 41 2c 42 09 3b 20 4e 45 58 54 20 52 45 41 44 3a 0d 0a 09   ┆   NDAT: MOV A,B ; NEXT READ:   ┆
0x07b360…07b380             53 54 41 09 43 55 52 54 52 4b 09 3b 0d 0a 09 4d 4f 56 09 41 2c 43 09 3b 20 43 55 52 54 52 4b 3a   ┆STA CURTRK ;   MOV A,C ; CURTRK:┆
0x07b380…07b3a0             3d 54 52 4b 3b 0d 0a 09 53 54 41 09 43 55 52 53 45 43 09 3b 20 43 55 52 53 45 43 3a 3d 53 45 43   ┆=TRK;   STA CURSEC ; CURSEC:=SEC┆
0x07b3a0…07b3c0             3b 0d 0a 09 50 4f 50 09 44 09 3b 0d 0a 09 43 41 4c 4c 09 46 4c 55 53 48 09 3b 20 46 4c 55 53 48   ┆;   POP D ;   CALL FLUSH ; FLUSH┆
0x07b3c0…07b3e0             20 42 55 46 46 45 52 3b 0d 0a 09 4a 4d 50 09 52 44 41 54 09 3b 20 47 4f 54 4f 20 52 45 41 44 20   ┆ BUFFER;   JMP RDAT ; GOTO READ ┆
0x07b3e0…07b400             44 41 54 41 3b 0d 0a 0d 0a 45 44 41 54 3a 09 43 41 4c 4c 09 46 4c 55 53 48 09 3b 20 45 4e 44 20   ┆DATA;    EDAT: CALL FLUSH ; END ┆
0x07b400…07b420 (32, 1, 12) 4f 55 52 43 45 20 44 49 53 4b 27 2c 33 36 0d 0a 42 41 44 44 3a 09 44 42 09 31 33 2c 31 30 2c 27   ┆OURCE DISK',36  BADD: DB 13,10,'┆
0x07b420…07b440             42 41 44 20 53 45 43 54 4f 52 20 4f 4e 20 44 45 53 54 49 4e 41 54 49 4f 4e 20 44 49 53 4b 27 2c   ┆BAD SECTOR ON DESTINATION DISK',┆
0x07b440…07b460             33 36 0d 0a 4d 53 59 53 44 3a 09 44 42 09 31 33 2c 31 30 2c 27 49 4e 53 45 52 54 20 53 59 53 54   ┆36  MSYSD: DB 13,10,'INSERT SYST┆
0x07b460…07b480             45 4d 20 44 49 53 4b 20 41 4e 44 20 54 59 50 45 20 3c 52 45 54 55 52 4e 3e 27 2c 33 36 0d 0a 4f   ┆EM DISK AND TYPE <RETURN>',36  O┆
0x07b480…07b4a0             4b 3a 09 44 42 09 31 33 2c 31 30 2c 27 42 41 43 4b 55 50 20 43 4f 4d 50 4c 45 54 45 27 2c 33 36   ┆K: DB 13,10,'BACKUP COMPLETE',36┆
0x07b4a0…07b4c0             0d 0a 43 52 4c 46 3a 09 44 42 09 31 33 2c 31 30 2c 33 36 0d 0a 0d 0a 43 43 50 52 45 54 3a 09 44   ┆  CRLF: DB 13,10,36    CCPRET: D┆
0x07b4c0…07b4e0             57 09 30 0d 0a 0d 0a 46 54 52 4b 3a 09 44 42 09 30 0d 0a 4c 54 52 4b 3a 09 44 42 09 30 0d 0a 53   ┆W 0    FTRK: DB 0  LTRK: DB 0  S┆
0x07b4e0…07b500             50 54 3a 09 44 42 09 30 0d 0a 53 44 52 49 56 3a 09 44 42 09 30 0d 0a 44 44 52 49 56 3a 09 44 42   ┆PT: DB 0  SDRIV: DB 0  DDRIV: DB┆
0x07b500…07b520             09 30 0d 0a 44 46 4c 41 47 3a 09 44 42 09 30 0d 0a 0d 0a 43 55 52 54 52 4b 3a 09 44 42 09 30 0d   ┆ 0  DFLAG: DB 0    CURTRK: DB 0 ┆
0x07b520…07b540             0a 43 55 52 53 45 43 3a 09 44 42 09 30 0d 0a 53 45 43 43 4e 54 3a 09 44 57 09 30 0d 0a 0d 0a 09   ┆ CURSEC: DB 0  SECCNT: DW 0     ┆
0x07b540…07b560             44 53 09 33 31 0d 0a 53 54 41 43 4b 3a 09 44 53 09 31 09 3b 20 4c 4f 43 41 4c 20 53 54 41 43 4b   ┆DS 31  STACK: DS 1 ; LOCAL STACK┆
0x07b560…07b580             0d 0a 0d 0a 42 55 46 3a 09 44 57 09 30 09 3b 20 52 45 41 44 2f 57 52 49 54 45 20 42 55 46 46 45   ┆    BUF: DW 0 ; READ/WRITE BUFFE┆
0x07b580…07b5a0             52 0d 0a 0d 0a 09 45 4e 44 09 31 30 30 48 09 3b 0d 0a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a   ┆R     END 100H ;                ┆
0x07b5a0…07b5c0             1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a   ┆                                ┆
          […0x2…]
0x07b600…07b620 (32, 1, 13) 56 09 3b 0d 0a 50 44 50 3a 09 4c 58 49 09 44 2c 44 44 53 50 45 43 3b 20 50 52 49 4e 54 20 44 45   ┆V ;  PDP: LXI D,DDSPEC; PRINT DE┆
0x07b620…07b640             53 54 49 4e 41 54 49 4f 4e 20 50 52 4f 4d 50 54 3b 0d 0a 09 43 41 4c 4c 09 50 52 49 4e 54 09 3b   ┆STINATION PROMPT;   CALL PRINT ;┆
0x07b640…07b660             0d 0a 09 43 41 4c 4c 09 43 4f 4e 53 49 09 3b 20 47 45 54 20 44 45 53 54 49 4e 41 54 49 4f 4e 20   ┆   CALL CONSI ; GET DESTINATION ┆
0x07b660…07b680             44 52 49 56 45 3b 0d 0a 09 4d 56 49 09 43 2c 30 09 3b 0d 0a 09 43 50 49 09 27 41 27 09 3b 0d 0a   ┆DRIVE;   MVI C,0 ;   CPI 'A' ;  ┆
0x07b680…07b6a0             09 4a 5a 09 53 45 54 44 44 09 3b 0d 0a 09 43 50 49 09 27 42 27 09 3b 0d 0a 09 4a 4e 5a 09 50 44   ┆ JZ SETDD ;   CPI 'B' ;   JNZ PD┆
0x07b6a0…07b6c0             50 09 3b 0d 0a 09 49 4e 52 09 43 09 3b 0d 0a 53 45 54 44 44 3a 09 4d 4f 56 09 41 2c 43 09 3b 0d   ┆P ;   INR C ;  SETDD: MOV A,C ; ┆
0x07b6c0…07b6e0             0a 09 53 54 41 09 44 44 52 49 56 09 3b 0d 0a 09 4c 48 4c 44 09 57 42 4f 4f 54 09 3b 20 42 43 3a   ┆  STA DDRIV ;   LHLD WBOOT ; BC:┆
0x07b6e0…07b700             3d 20 46 4c 4f 50 50 59 20 46 4f 52 4d 41 54 53 3b 0d 0a 09 4c 58 49 09 44 2c 46 44 46 4f 52 4d   ┆= FLOPPY FORMATS;   LXI D,FDFORM┆
0x07b700…07b720             3b 0d 0a 09 44 41 44 09 44 09 3b 0d 0a 09 4d 4f 56 09 42 2c 4d 09 3b 0d 0a 09 49 4e 58 09 48 09   ┆;   DAD D ;   MOV B,M ;   INX H ┆
0x07b720…07b740             3b 0d 0a 09 4d 4f 56 09 43 2c 4d 09 3b 0d 0a 09 4c 58 49 09 48 2c 53 44 52 49 56 09 3b 20 49 46   ┆;   MOV C,M ;   LXI H,SDRIV ; IF┆
0x07b740…07b760             20 53 4f 55 52 43 45 20 44 52 49 56 45 20 3c 3e 0d 0a 09 43 4d 50 09 4d 09 3b 20 20 44 45 53 54   ┆ SOURCE DRIVE <>   CMP M ;  DEST┆
0x07b760…07b780             49 4e 41 54 49 4f 4e 20 44 52 49 56 45 20 54 48 45 4e 0d 0a 09 4d 56 49 09 41 2c 30 09 3b 0d 0a   ┆INATION DRIVE THEN   MVI A,0 ;  ┆
0x07b780…07b7a0             09 4a 5a 09 53 45 54 44 46 09 3b 0d 0a 09 4d 4f 56 09 41 2c 42 09 3b 0d 0a 09 43 4d 50 09 43 09   ┆ JZ SETDF ;   MOV A,B ;   CMP C ┆
0x07b7a0…07b7c0             3b 20 49 46 20 46 4f 52 4d 41 54 28 41 29 3c 3e 46 4f 52 4d 41 54 28 42 29 20 54 48 45 4e 0d 0a   ┆; IF FORMAT(A)<>FORMAT(B) THEN  ┆
0x07b7c0…07b7e0             09 4c 58 49 09 44 2c 4e 4f 54 4f 4b 09 3b 0d 0a 09 43 4e 5a 09 46 49 4e 49 53 09 3b 20 20 45 58   ┆ LXI D,NOTOK ;   CNZ FINIS ;  EX┆
0x07b7e0…07b800             49 54 28 4e 4f 54 20 41 4c 4c 4f 57 45 44 29 3b 0d 0a 09 50 55 53 48 09 42 09 3b 0d 0a 09 4c 58   ┆IT(NOT ALLOWED);   PUSH B ;   LX┆
0x07b800…07b820 (32, 1, 14) 4a 4e 5a 09 4e 45 58 54 53 09 3b 20 42 45 47 49 4e 0d 0a 09 4c 44 41 09 4c 54 52 4b 09 3b 0d 0a   ┆JNZ NEXTS ; BEGIN   LDA LTRK ;  ┆
0x07b820…07b840             09 43 4d 50 09 42 09 3b 20 20 20 20 49 46 20 54 52 4b 3d 4c 41 53 54 20 54 48 45 4e 20 47 4f 54   ┆ CMP B ;    IF TRK=LAST THEN GOT┆
0x07b840…07b860             4f 20 57 52 49 54 45 3b 0d 0a 09 4a 5a 09 57 44 41 54 09 3b 0d 0a 09 49 4e 52 09 42 09 3b 20 20   ┆O WRITE;   JZ WDAT ;   INR B ;  ┆
0x07b860…07b880             20 20 54 52 4b 3a 3d 54 52 4b 2b 31 3b 0d 0a 09 4d 56 49 09 43 2c 30 09 3b 20 20 20 20 53 45 43   ┆  TRK:=TRK+1;   MVI C,0 ;    SEC┆
0x07b880…07b8a0             3a 3d 30 3b 0d 0a 09 50 55 53 48 09 42 09 3b 0d 0a 09 4d 4f 56 09 43 2c 42 09 3b 0d 0a 09 43 41   ┆:=0;   PUSH B ;   MOV C,B ;   CA┆
0x07b8a0…07b8c0             4c 4c 09 54 52 4b 09 3b 20 20 20 20 53 45 54 20 54 52 41 43 4b 28 54 52 4b 29 3b 0d 0a 09 50 4f   ┆LL TRK ;    SET TRACK(TRK);   PO┆
0x07b8c0…07b8e0             50 09 42 09 3b 20 45 4e 44 3b 0d 0a 4e 45 58 54 53 3a 20 20 50 55 53 48 09 42 09 3b 0d 0a 09 43   ┆P B ; END;  NEXTS:  PUSH B ;   C┆
0x07b8e0…07b900             41 4c 4c 09 53 45 43 09 3b 20 53 45 54 20 53 45 43 54 4f 52 28 53 45 43 29 3b 0d 0a 09 4c 48 4c   ┆ALL SEC ; SET SECTOR(SEC);   LHL┆
0x07b900…07b920             44 09 53 45 43 43 4e 54 09 3b 0d 0a 09 44 43 58 09 48 09 3b 20 53 45 43 54 4f 52 43 4f 55 4e 54   ┆D SECCNT ;   DCX H ; SECTORCOUNT┆
0x07b920…07b940             3a 3d 53 45 43 54 4f 52 43 4f 55 4e 54 2d 31 3b 0d 0a 09 53 48 4c 44 09 53 45 43 43 4e 54 09 3b   ┆:=SECTORCOUNT-1;   SHLD SECCNT ;┆
0x07b940…07b960             0d 0a 09 50 4f 50 09 42 09 3b 0d 0a 09 4d 4f 56 09 41 2c 48 09 3b 20 49 46 20 53 45 43 54 4f 52   ┆   POP B ;   MOV A,H ; IF SECTOR┆
0x07b960…07b980             43 4f 55 4e 54 3d 30 20 54 48 45 4e 20 47 4f 54 4f 20 57 52 49 54 45 3b 0d 0a 09 4f 52 41 09 41   ┆COUNT=0 THEN GOTO WRITE;   ORA A┆
0x07b980…07b9a0             09 3b 0d 0a 09 4a 4e 5a 09 53 44 4d 41 09 3b 0d 0a 09 4d 4f 56 09 41 2c 4c 09 3b 0d 0a 09 4f 52   ┆ ;   JNZ SDMA ;   MOV A,L ;   OR┆
0x07b9a0…07b9c0             41 09 41 09 3b 0d 0a 09 4a 5a 09 57 44 41 54 09 3b 0d 0a 53 44 4d 41 3a 09 50 4f 50 09 44 09 3b   ┆A A ;   JZ WDAT ;  SDMA: POP D ;┆
0x07b9c0…07b9e0             0d 0a 09 4c 58 49 09 48 2c 31 32 38 09 3b 20 44 4d 41 20 41 44 44 52 3a 3d 20 44 4d 41 20 41 44   ┆   LXI H,128 ; DMA ADDR:= DMA AD┆
0x07b9e0…07ba00             44 52 20 2b 20 31 32 38 3b 0d 0a 09 44 41 44 09 44 09 3b 0d 0a 09 58 43 48 47 09 09 3b 0d 0a 09   ┆DR + 128;   DAD D ;   XCHG  ;   ┆
0x07ba00…07ba20 (32, 1, 15) 4f 46 20 43 4f 50 59 3a 0d 0a 09 4c 58 49 09 44 2c 4f 4b 09 3b 0d 0a 09 43 41 4c 4c 09 50 52 49   ┆OF COPY:   LXI D,OK ;   CALL PRI┆
0x07ba20…07ba40             4e 54 09 3b 20 43 4f 50 59 20 43 4f 4d 50 4c 45 54 45 3b 0d 0a 09 4c 58 49 09 44 2c 4d 53 59 53   ┆NT ; COPY COMPLETE;   LXI D,MSYS┆
0x07ba40…07ba60             44 09 3b 0d 0a 09 43 41 4c 4c 09 50 52 49 4e 54 09 3b 20 57 41 49 54 20 46 4f 52 20 43 48 41 4e   ┆D ;   CALL PRINT ; WAIT FOR CHAN┆
0x07ba60…07ba80             47 45 20 54 4f 20 53 59 53 54 45 4d 20 44 49 53 4b 3a 0d 0a 09 43 41 4c 4c 09 43 4f 4e 53 49 09   ┆GE TO SYSTEM DISK:   CALL CONSI ┆
0x07ba80…07baa0             3b 0d 0a 09 4a 4d 50 09 42 4f 4f 54 09 3b 20 57 41 52 4d 20 42 4f 4f 54 0d 0a 0d 0a 46 4c 55 53   ┆;   JMP BOOT ; WARM BOOT    FLUS┆
0x07baa0…07bac0             48 3a 09 4c 44 41 09 43 55 52 54 52 4b 09 3b 20 46 4f 52 43 45 20 42 55 46 46 45 52 20 57 52 49   ┆H: LDA CURTRK ; FORCE BUFFER WRI┆
0x07bac0…07bae0             54 45 3a 0d 0a 09 4d 4f 56 09 43 2c 41 09 3b 0d 0a 09 44 43 52 09 43 09 3b 0d 0a 09 43 41 4c 4c   ┆TE:   MOV C,A ;   DCR C ;   CALL┆
0x07bae0…07bb00             09 54 52 4b 09 3b 20 53 45 54 20 54 52 41 43 4b 28 43 55 52 54 52 4b 2d 31 29 3b 0d 0a 09 4c 44   ┆ TRK ; SET TRACK(CURTRK-1);   LD┆
0x07bb00…07bb20             41 09 43 55 52 53 45 43 09 3b 0d 0a 09 4d 4f 56 09 43 2c 41 09 3b 0d 0a 09 43 41 4c 4c 09 53 45   ┆A CURSEC ;   MOV C,A ;   CALL SE┆
0x07bb20…07bb40             43 09 3b 20 53 45 54 20 53 45 43 54 4f 52 28 43 55 52 53 45 43 29 3b 0d 0a 09 43 41 4c 4c 09 44   ┆C ; SET SECTOR(CURSEC);   CALL D┆
0x07bb40…07bb60             52 45 41 44 09 3b 0d 0a 09 4c 58 49 09 44 2c 42 41 44 44 09 3b 0d 0a 09 4f 52 41 09 41 09 3b 20   ┆READ ;   LXI D,BADD ;   ORA A ; ┆
0x07bb60…07bb80             49 46 20 45 52 52 4f 52 20 54 48 45 4e 20 50 52 49 4e 54 20 57 41 52 4e 49 4e 47 3b 0d 0a 09 43   ┆IF ERROR THEN PRINT WARNING;   C┆
0x07bb80…07bba0             4e 5a 09 45 52 52 4f 52 09 3b 0d 0a 09 52 45 54 09 09 3b 0d 0a 0d 0a 53 45 4c 3a 09 4d 4f 56 09   ┆NZ ERROR ;   RET  ;    SEL: MOV ┆
0x07bba0…07bbc0             43 2c 41 09 3b 20 53 45 4c 45 43 54 20 44 52 49 56 45 20 49 4e 20 41 3a 0d 0a 09 4c 48 4c 44 09   ┆C,A ; SELECT DRIVE IN A:   LHLD ┆
0x07bbc0…07bbe0             57 42 4f 4f 54 09 3b 0d 0a 09 4c 58 49 09 44 2c 53 45 4c 44 53 4b 3b 0d 0a 09 44 41 44 09 44 09   ┆WBOOT ;   LXI D,SELDSK;   DAD D ┆
0x07bbe0…07bc00             3b 0d 0a 09 50 43 48 4c 09 09 3b 0d 0a 0d 0a 54 52 4b 3a 09 4c 48 4c 44 09 57 42 4f 4f 54 09 3b   ┆;   PCHL  ;    TRK: LHLD WBOOT ;┆
0x07bc00…07bc20 (33, 0, 1)  04 cd a0 04 c9 cd 51 05 22 20 15 cd 38 05 c6 41 4f cd 90 04 01 6a 03 cd b1 04 c9 0e 01 cd b7 07   ┆      Q "   8  AO    j          ┆
0x07bc20…07bc40             44 4d cd 8f 0c c9 01 6d 03 cd d2 04 cd 05 0d cd 1b 0d c9 cd 5a 05 22 b3 15 cd 6c 05 22 b5 15 21   ┆DM     m            Z "   l "  !┆
0x07bc40…07bc60             b7 15 36 00 3e 00 11 b3 15 cd ea 14 b5 ca a5 0d 2a b3 15 7d 1f d2 86 0d 2a b7 15 4d cd cc 05 cd   ┆  6 >           *  å    *  M    ┆
0x07bc60…07bc80             05 0d 01 81 03 cd b1 04 2a b5 15 7d 1f d2 78 0d 0e 4f cd 90 04 c3 7d 0d 0e 57 cd 90 04 01 84 03   ┆        *  å  x  O    å  W      ┆
0x07bc80…07bca0             cd b1 04 cd 1b 0d 0e 01 21 b3 15 cd c3 14 eb 2b 73 23 72 0e 01 21 b5 15 cd c3 14 eb 2b 73 23 72   ┆        !      +s#r  !      +s#r┆
0x07bca0…07bcc0             23 34 c3 44 0d cd a0 04 c9 3a 5c 00 fe 00 ca b9 0d 3a 5c 00 3d 4f cd cc 05 c9 cd b3 05 cd a9 0d   ┆#4 D     :Ø      :Ø =O          ┆
0x07bcc0…07bce0             21 1d 15 36 00 21 cc 29 36 ff cd 6c 13 1f d2 e4 0d 3a cc 29 fe 00 c2 da 0d c9 3a cc 29 3d 32 cc   ┆!  6 ! )6  l     : )      : )=2 ┆
0x07bce0…07bd00             29 c3 f0 0d 3a 5d 00 fe 20 c2 f0 0d cd 26 0d c9 21 00 00 22 b8 15 7d 32 5c 00 21 68 00 36 3f 21   ┆)   :Å       &  !  "  å2Ø !h 6?!┆
0x07bd00…07bd20             6a 00 36 3f 01 5c 00 cd 19 05 3a 27 15 fe ff ca 43 10 3a 27 15 e6 03 87 87 87 87 87 c6 80 6f 26   ┆j 6? Ø    :'    C :'          o&┆
0x07bd20…07bd40             00 22 ba 29 21 cb 29 36 00 21 00 00 22 be 29 3a cb 29 2f 01 b8 15 11 be 29 f5 cd dd 14 9f c1 48   ┆ " )! )6 !  " ): )/     )      H┆
0x07bd40…07bd60             a1 1f d2 98 0e cd 5d 13 21 c6 29 36 01 3e 0b 21 c6 29 be da 8e 0e 2a c6 29 26 00 eb 2a ba 29 19   ┆      Å ! )6 > ! )    * )&  * ) ┆
0x07bd60…07bd80             e5 2a c6 29 26 00 eb 2a bc 29 19 c1 0a be ca 79 0e 21 c6 29 36 0b c3 84 0e 3a c6 29 d6 0b d6 01   ┆ * )&  * )     y ! )6    : )    ┆
0x07bd80…07bda0             9f 32 cb 29 3a c6 29 3c 32 c6 29 c2 4d 0e 2a be 29 23 22 be 29 c3 2f 0e 3a cb 29 1f d2 a9 0e 2a   ┆ 2 ): )<2 ) M * )#" ) / : )    *┆
0x07bda0…07bdc0             be 29 2b 22 be 29 c3 60 0f 2a b8 15 22 be 29 23 22 b8 15 cd 5d 13 11 00 02 21 b8 15 cd f8 14 9f   ┆ )+" ) ` *  " )#"   Å    !      ┆
0x07bdc0…07bde0             11 10 00 2a bc 29 19 eb 21 06 00 f5 cd f8 14 9f 2f c1 48 b1 1f d2 ed 0e 01 a5 03 cd d2 04 21 00   ┆   * )  !       / H           ! ┆
0x07bde0…07be00             00 22 be 29 21 01 00 22 b8 15 cd 5d 13 2a be 29 01 ba 15 29 09 e5 2a be 29 eb e1 73 23 72 21 c6   ┆ " )!  "   Å * )   )  * )  s#r! ┆
0x07be00…07be20 (33, 0, 2)  2a 9a 3c cd 5c 43 21 20 00 cd e6 40 21 8a 3c cd a5 40 2a ae 3c 1e 00 cd ae 40 ca 39 41 46 23 cd   ┆* < ØC!    @! <  @* <    @ 9AF# ┆
0x07be20…07be40             c5 40 c2 2e 41 cd 4a 3f 7e d6 20 4f 23 1c 78 cd a1 41 1c 7b fe fe da 17 41 3e 20 cd a1 41 22 b0   ┆ @ .A J?ü  O# x  A æ    A>   A" ┆
0x07be40…07be60             3c 22 9d 3d 7b 32 b2 3c 21 6a 3c 11 9c 3c 01 12 00 c3 c2 16 3a c7 3c 32 c6 3c 21 32 00 cd e6 40   ┆<" =æ2 <!j<  <      : <2 <!2   @┆
0x07be60…07be80             21 9c 3c cd a5 40 2a ac 3c cd 5c 43 2a b0 3c 3a b2 3c 5f cd d9 40 47 7b b7 ca 9b 41 48 cd d9 40   ┆! <  @* < ØC* <: <_  @Gæ   AH  @┆
0x07be80…07bea0             47 cd c5 40 79 c2 94 41 1d ca 95 41 d6 20 4f cd d9 40 78 46 1d cd a1 41 c3 77 41 2a ac 3c c3 5c   ┆G  @y  A   A  O  @xF   A wA* < Ø┆
0x07bea0…07bec0             43 c5 d5 e5 11 5b 1a d5 32 bf 3c 57 e6 7f 47 fe 20 d2 99 42 fe 07 ca 99 42 fe 06 ca 99 42 14 15   ┆C    Æ  2 <W  G    B    B    B  ┆
0x07bec0…07bee0             f2 c6 41 32 d2 3c 11 72 3c fe 15 ca de 41 11 74 3c fe 1d ca de 41 11 73 3c fe 1c c2 e6 41 eb 71   ┆  A2 < r<    A t<    A s<    A q┆
0x07bee0…07bf00             3e ff 32 c3 3c c9 11 c9 06 fe 11 ca 06 42 11 ce 06 fe 17 ca 06 42 11 d3 06 fe 05 ca 06 42 11 d8   ┆> 2 <        B       B       B  ┆
0x07bf00…07bf20             06 fe 12 c2 3e 42 cd e9 43 cd e0 41 3a 58 3c b7 f8 1a 3d cc 24 42 3c 3c 3d c8 f5 13 1a cd 96 44   ┆    >B  C  A:X<   = $B<<=      D┆
0x07bf20…07bf40             f1 c3 18 42 f5 13 1a 1b fe 0e ca 39 42 fe 0f c2 7c 17 af 32 75 3c f1 f1 c9 3e 80 c3 33 42 fe 03   ┆   B       9B   ø  2u<   >  3B  ┆
0x07bf40…07bf60             c2 4e 42 cd e0 41 3a 58 3c b7 f8 c3 29 40 11 93 42 21 6a 3c 1a b8 ca 31 43 23 13 3c c2 54 42 78   ┆ NB  A:X<   )@  B!j<   1C# < TBx┆
0x07bf60…07bf80             fe 08 ca 1e 43 01 67 43 11 6a 43 21 70 3c fe 16 ca 34 43 d5 50 59 c1 2b fe 14 ca 34 43 fe 19 ca   ┆    C gC jC!p<   4C PY +   4C   ┆
0x07bf80…07bfa0             f4 42 fe 0b c2 92 42 3a 58 3c b7 f8 cd e9 43 c3 3d 40 ff 02 04 13 18 10 ff c5 cd 53 13 c1 48 cd   ┆ B    B:X<    C =@         S  H ┆
0x07bfa0…07bfc0             bf 42 3a 6a 3c b7 c8 78 fe 20 c8 3a 91 06 3d c8 f5 2a ea 3c eb cd 3e 43 cd bf 42 f1 c3 ae 42 51   ┆ B:j<  x   :  =  * <  >C  B   BQ┆
0x07bfc0…07bfe0             3a 58 3c b7 f8 cd da 42 3a 6b 3c b7 c8 3a 92 06 3d c8 f5 cd da 42 f1 c3 d0 42 7a cd f4 42 7a fe   ┆:X<    B:k<  :  =    B   Bz  Bz ┆
0x07bfe0…07c000             20 c8 3a 6c 3c b7 3a 0c 07 c4 f4 42 3a 6d 3c b7 3a 0b 07 c8 c5 d5 e5 21 5b 1a e5 fe 20 c8 d2 5a   ┆  :l< :    B:m< :      !Æ      Z┆
0x07c000…07c020 (33, 0, 3)  c3 f2 6f cd 60 70 21 00 08 cd 68 17 d0 cd 1b 70 d2 03 70 21 9f 3a 22 07 38 37 c9 3a ca 38 b7 37   ┆  o `p!   h    p  p! :" 87 : 8 7┆
0x07c020…07c040             c8 cd 5c 33 01 03 cd 03 70 d8 cd 1b 70 21 89 39 cd 35 70 b7 c9 c5 d5 e5 eb 21 81 39 23 cd 68 17   ┆  Ø3    p   p! 9 5p      ! 9# h ┆
0x07c040…07c060             2b da 4d 70 cd 84 70 cd 77 70 c3 3c 70 21 8f 39 cd 68 17 d2 5b 1a cd a2 70 2b 2b 2b 2b c3 50 70   ┆+ Mp  p wp <p! 9 h  Æ   p++++ Pp┆
0x07c060…07c080             c5 e5 11 00 00 21 7f 39 cd c2 70 eb 09 eb cd 77 70 d2 68 70 e1 c1 c9 d5 23 23 23 23 11 90 39 cd   ┆     ! 9  p    wp hp    ####  9 ┆
0x07c080…07c0a0             68 17 d1 c9 c5 d5 e5 cd c2 70 2b 2b cd 51 17 e3 73 23 72 2b e3 cd c2 16 e1 e5 23 23 73 23 72 c3   ┆h        p++ Q  s#r+      ##s#r ┆
0x07c0a0…07c0c0             5b 1a c5 d5 e5 e5 2b 2b cd c2 70 e1 e5 cd 51 17 eb e3 23 72 2b 73 e3 cd e1 16 e1 2b 72 2b 73 c3   ┆Æ     ++  p   Q   #r+s     +r+s ┆
0x07c0c0…07c0e0             5b 1a d5 e5 cd 51 17 cd 35 17 e1 d1 c9 9b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆Æ    Q  5                       ┆
0x07c0e0…07c100             00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
0x07c100…07c120             9a 03 01 14 00 00 00 00 ad 6f 1e 00 00 c3 38 00 c3 6c 6d c3 bf 6c c3 6a 6c c3 8f 6c c3 a0 6d c3   ┆         o    8  lm  l jl  l  m ┆
0x07c120…07c140             99 6d c3 6f 6d c3 ac 6f 42 00 0a 00 13 00 1b 00 24 00 25 00 20 3f 20 28 59 2f 4e 29 3a 20 00 0e   ┆ m om  oB       $ %  ? (Y/N):   ┆
0x07c140…07c160             13 14 45 44 49 54 3f 20 00 0e 13 20 53 41 56 49 4e 47 20 00 15 20 00 42 41 4b 00 00 00 00 00 00   ┆  EDIT?     SAVING     BAK      ┆
0x07c160…07c180             00 00 00 00 00 00 00 00 00 00 cd 03 6f 3e ff 32 04 38 cd ee 6c 01 92 71 cd 00 4e cd c5 6c 3a 5c   ┆            o> 2 8  l  q  N  l:Ø┆
0x07c180…07c1a0             00 32 6c 00 3a 6d 71 32 5c 00 cd 5c 33 08 06 cd 08 25 3a c9 38 b7 c2 a7 6c cd b7 1a d7 39 cd 3f   ┆ 2l :mq2Ø  Ø3    %: 8   l    9 ?┆
0x07c1a0…07c1c0             6f cd 39 25 c3 b3 6c cd b7 1a d9 39 cd 45 6f cd 53 6f c0 cd 2c 27 11 6d 71 cd e1 6c c3 c5 6c cd   ┆o 9%  l    9 Eo So  ,' mq  l  l ┆
0x07c1c0…07c1e0             03 6f cd ee 6c 11 f4 38 cd e1 6c af 32 ca 38 32 94 38 3a 2b 02 32 1c 37 3a 1b 37 cd 84 29 c3 26   ┆ o  l  8  l 2 82 8:+ 2 7: 7  ) &┆
0x07c1e0…07c200             2f 1b 1b 1a 13 13 b7 c8 cd df 18 c3 f8 18 cd 10 6d 3a b9 38 b7 c2 07 6d cd 2d 19 11 5c 00 21 32   ┆/               m: 8   m -  Ø !2┆
0x07c200…07c220 (33, 0, 4)  9a 04 01 14 00 00 00 00 b4 6f 15 00 00 c3 61 6c c3 94 6c c3 ae 6e c3 e7 6e c3 f8 6e c3 8c 6e 42   ┆         o    al  l  n  n  n  nB┆
0x07c220…07c240             00 04 00 0c 00 0e 13 14 52 45 41 44 3f 20 00 0e 13 14 57 52 49 54 45 20 4d 41 52 4b 45 44 20 54   ┆        READ?     WRITE MARKED T┆
0x07c240…07c260             45 58 54 20 4f 4e 3f 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆EXT ON?                         ┆
0x07c260…07c280             00 cd e5 6c 01 21 6c c8 21 9e 71 cd 86 66 cd 2c 27 11 ce 38 21 ce 3b cd a3 19 da 8e 6c cd 9a 4c   ┆   l !l ! q  f ,'  8! ;     l  L┆
0x07c280…07c2a0             f5 06 00 4f 11 ce 3b cd b3 49 f1 da 6e 6c 21 9e 71 c3 11 67 cd 9c 6f cd e5 6c 04 23 6c c8 1b 1b   ┆   O  ;  I  nl! q  g  o  l #l   ┆
0x07c2a0…07c2c0             af 12 cd 89 6f cd 2c 27 1e 00 21 80 00 cd cd 4e e5 01 c6 71 1e 00 21 81 00 cd 23 4e da cf 6c 2a   ┆    o ,'  !    N   q  !   #N  l*┆
0x07c2c0…07c2e0             8d 39 11 ce 38 cd 09 1a e1 cd 88 45 c3 a8 6c e1 2a 8d 39 3a c7 71 cd 19 4c 11 ce 38 cd 1e 1a cd   ┆ 9  8      E  l * 9: q  L  8    ┆
0x07c2e0…07c300             df 18 c3 f2 6e 11 ce 38 21 be 36 e3 7e 23 f5 cd 7c 24 cd 21 25 cd bd 1a cd ca 24 f1 e3 c5 4f e5   ┆    n  8! 6 ü#  ø$ !%     $   O ┆
0x07c300…07c320             2a 2b 02 e3 e5 cd 19 33 2a 1d 37 22 ac 38 eb 22 65 38 eb 2a ac 38 cd 4f 21 cd a5 24 e1 e5 06 14   ┆*+     3* 7" 8 "e8 * 8 O!  $    ┆
0x07c320…07c340             cd 72 23 cd b0 24 7e b7 ca 78 6d cd fe 6d da 8c 6d b7 c2 8c 6d e1 e5 cd 12 18 79 3d cc ba 18 ca   ┆ r#  $ü  xm  m  m   m     y=    ┆
0x07c340…07c360             9e 6d 79 fe 04 c2 76 6d cd a6 6d c2 0e 6d cd ba 18 ca 76 6d cd b7 1a 9b 3a cd ca 24 cd b1 1b cd   ┆ my   vm  m  m    vm    :  $    ┆
0x07c360…07c380             2c 27 cd d5 17 e5 21 86 08 be ca 6f 6d 23 7e e1 cd a5 1e c2 0e 6d f6 ff f5 cd a5 24 f1 e1 e3 f5   ┆,'    !    om#ü      m     $    ┆
0x07c380…07c3a0             7d 21 2b 02 be c4 84 29 f1 e1 c1 c9 cd b7 1a 65 3a e1 e5 cd e5 1a cd ba 24 67 3a c3 0e 6d cd ba   ┆å!+    )       e:       $g:  m  ┆
0x07c3a0…07c3c0             24 69 3a c3 0e 6d c5 e5 d5 21 0a 38 cd e4 6d 3a ca 38 b7 ca c8 6d 21 5c 00 cd e4 6d 21 6d 71 cd   ┆$i:  m   ! 8  m: 8   m!Ø   m!mq ┆
0x07c3c0…07c3e0             e4 6d 21 f4 38 cd e4 6d 3a 00 38 b7 ca e0 6d 21 45 3d cd e4 6d 3a 8b 36 b7 21 6b 3d c4 e4 6d af   ┆ m! 8  m: 8   m!E=  m: 6 !k=  m ┆
0x07c3e0…07c400             d1 e1 c1 c9 c1 d1 d5 c5 1a be c0 23 13 0e 0b cd 5c 17 c0 f1 cd b7 1a a1 3a f6 ff c3 e0 6d c5 d5   ┆           #    Ø       :    m  ┆
0x07c400…07c420 (33, 0, 5)  29 36 00 3e 0b 21 c6 29 be da 2e 0f 2a c6 29 26 00 eb 2a ba 29 19 e5 2a c6 29 26 00 eb 2a bc 29   ┆)6 > ! )  . * )&  * )  * )&  * )┆
0x07c420…07c440             19 c1 0a 77 3a c6 29 3c 32 c6 29 c2 03 0f 2a be 29 01 ba 19 29 09 3e 00 77 23 36 00 2a be 29 01   ┆   w: )<2 )   * )   ) > w#6 * ) ┆
0x07c440…07c460             ba 1d 29 09 77 23 36 00 2a be 29 01 ba 21 29 09 77 23 36 00 2a be 29 01 ba 25 29 09 77 23 36 00   ┆  ) w#6 * )  !) w#6 * )  %) w#6 ┆
0x07c460…07c480             2a be 29 01 ba 19 29 09 4e 23 46 03 2a be 29 c5 01 ba 19 29 09 c1 71 23 70 2a be 29 01 ba 25 29   ┆* )   ) N#F * )    )  q#p* )  %)┆
0x07c480…07c4a0             09 01 0f 00 e5 2a ba 29 09 7e d1 cd 65 14 01 0c 00 e5 2a ba 29 09 01 04 00 e5 2a 1e 15 09 7e e1   ┆     * ) ü  e     * )     *   ü ┆
0x07c4a0…07c4c0             a6 6f 26 00 11 80 00 cd 9e 14 c1 09 e5 2a be 29 01 ba 25 29 09 c1 71 23 70 21 c7 29 36 01 01 05   ┆ o&          * )  %)  q#p! )6   ┆
0x07c4c0…07c4e0             00 2a 1e 15 09 3e ff cd f5 14 d2 d2 0f 21 c7 29 36 02 21 c6 29 36 10 3e 1f 21 c6 29 be da 3d 10   ┆ *   >       ! )6 ! )6 > ! )  = ┆
0x07c4e0…07c500             c3 f1 0f 3a c7 29 21 c6 29 86 77 d2 d7 0f c3 3d 10 2a c6 29 26 00 eb 2a ba 29 19 7e 32 c8 29 3a   ┆   : )! ) w    = * )&  * ) ü2 ):┆
0x07c500…07c520             c7 29 fe 02 c2 1c 10 2a c6 29 26 00 01 01 00 09 eb 2a ba 29 19 3a c8 29 b6 32 c8 29 3a c8 29 fe   ┆ )     * )&      * ) : ) 2 ): ) ┆
0x07c520…07c540             00 ca 3a 10 2a be 29 01 ba 21 29 09 e5 2a be 29 01 ba 1d 29 09 eb c1 cd 73 07 c3 e3 0f cd 2c 05   ┆  : * )  !)  * )   )    s     , ┆
0x07c540…07c560             c3 0a 0e 3e 00 11 b8 15 cd ea 14 b5 c2 58 10 01 ba 03 cd d2 04 c3 5c 13 3a cc 29 fe ff c2 93 12   ┆   >         X        Ø : )     ┆
0x07c560…07c580             3e 01 21 b8 15 cd f5 14 d2 64 11 21 01 00 22 c0 29 3e 00 21 c0 29 cd f5 14 d2 64 11 21 00 00 22   ┆> !      d !  " )> ! )    d !  "┆
0x07c580…07c5a0             c0 29 21 00 00 22 c4 29 2a b8 15 2b 2b eb 21 c4 29 cd f8 14 da 61 11 2a c4 29 01 bc 15 29 09 5e   ┆ )!  " )*  ++ ! )    a * )   ) ^┆
0x07c5a0…07c5c0             23 56 eb 22 be 29 cd 5d 13 2a bc 29 22 ba 29 2a c4 29 01 ba 15 29 09 5e 23 56 eb 22 be 29 cd 5d   ┆#V " ) Å * )" )* )   ) ^#V " ) Å┆
0x07c5c0…07c5e0             13 21 c6 29 36 01 3e 0b 21 c6 29 be da 54 11 2a c6 29 26 00 eb 2a ba 29 19 7e 32 c9 29 e5 2a c6   ┆ ! )6 > ! )  T * )&  * ) ü2 ) * ┆
0x07c5e0…07c600             29 26 00 eb 2a bc 29 19 7e 32 ca 29 4f d1 1a b9 d2 3b 11 2a c4 29 01 ba 15 29 09 5e 23 56 eb 22   ┆)&  * ) ü2 )O    ; * )   ) ^#V "┆
0x07c600…07c620 (33, 0, 6)  44 fe 19 ca 5a 44 fe 07 ca 5a 44 fe 06 ca 5a 44 ff e5 2a 36 3d 23 22 36 3d cd 49 13 e1 c9 2a 72   ┆D   ZD   ZD   ZD  *6=#"6= I   *r┆
0x07c620…07c640             3c 26 00 eb cd 25 17 c3 3e 43 7e b7 ca 31 43 50 59 c3 78 17 cd 2a 43 2a 74 3c 26 00 eb e9 3a c2   ┆<&   %  >Cü  1CPY x  *C*t<&   : ┆
0x07c640…07c660             3c b7 ca 48 43 cd 25 17 e5 2a 7a 3c 19 22 7a 3c 2a 81 3c 19 22 81 3c e1 c9 21 00 00 eb 2a 7a 3c   ┆<  HC %  *z< "z<* < " <  !   *z<┆
0x07c660…07c680             cd 2c 17 eb c3 45 43 cd 25 17 d5 e5 2a 83 3c 19 22 83 3c 2a 7c 3c 19 eb 2a 39 3e eb 7c b7 f4 68   ┆ ,   EC %   * < " <*ø<  *9> ø  h┆
0x07c680…07c6a0             17 dc 2c 17 22 7c 3c e1 d1 c9 3a 73 3c 5f 16 00 c3 6a 43 2a 7c 3c 7c b5 c8 eb 2a 39 3e cd 2c 17   ┆  , "ø<   :s<_   jC*ø<ø   *9> , ┆
0x07c6a0…07c6c0             eb c3 6a 43 cd 0d 07 c3 20 3e cd e9 43 21 23 3e c3 99 44 3a 9e 07 4f 7c b5 c8 cd 12 17 eb cd 68   ┆  jC     >  C!#>  D:  Oø       h┆
0x07c6c0…07c6e0             17 d2 ca 43 21 00 00 c3 cf 43 eb 1b cd 2c 17 79 4b b7 ca e1 43 79 b7 1f 4f d2 e1 43 1b 23 7a b3   ┆   C!    C   , yK   Cy  O  C #z ┆
0x07c6e0…07c700             c8 78 b7 fc 1b 17 f6 01 c9 c5 d5 e5 21 5b 1a e5 3a 7b 3c b7 fc 59 43 af 2a 35 3e eb 2a 83 3c cd   ┆ x          !Æ  :æ<  YC *5> * < ┆
0x07c700…07c720             b6 43 ca 11 44 22 83 3c 21 26 3e cd 99 44 c3 f7 43 2a 7a 3c eb 2a 37 3e 2b cd 68 17 da 20 44 eb   ┆ C  D" <!&>  D  C*z< *7>+ h   D ┆
0x07c720…07c740             2a 7e 3c eb cd 2c 17 22 81 3c eb 2a 35 3e 29 eb cd b3 43 c8 22 81 3c 2a 7e 3c cd 2c 17 04 05 fa   ┆*ü<  , " < *5>)   C " <*ü< ,    ┆
0x07c740…07c760             44 44 19 19 22 7e 3c 7b e6 01 4f 7a 1f 57 7b 1f 5f 21 29 3e cd 99 44 c3 11 44 f5 cd e9 43 f1 cd   ┆DD  "ü<æ  Oz Wæ _!)>  D  D   C  ┆
0x07c760…07c780             38 1d c5 d5 e5 fe 3c da 73 44 fe 60 d2 73 44 21 75 3c b6 21 5b 1a e5 fe 19 c2 88 44 21 71 3c cd   ┆8     < sD ` sD!u< !Æ      D!q< ┆
0x07c780…07c7a0             31 43 3a 71 3c c3 2f 3e fe 06 c2 8f 44 3e 20 fe 07 c2 96 44 3e 7f 21 2c 3e e5 2a 58 3c 2d 2c e1   ┆1C:q< />    D>     D> !,> *X<-, ┆
0x07c7a0…07c7c0             f8 f5 c5 d5 e5 cd 3d 43 d2 b5 44 cd 11 43 e1 d1 c1 f1 c3 99 44 21 00 00 22 36 3d c3 ab 32 9b 1a   ┆      =C  D  C      D!  "6=  2  ┆
0x07c7c0…07c7e0             00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
          […0x1…]
0x07c800…07c820 (33, 0, 7)  6c cd dc 1a cd 7c 19 11 6d 71 21 65 00 c3 7c 19 cd 35 6d cd 2c 27 cd 4e 6d cd 35 6d d2 13 6d 21   ┆l    ø  mq!e  ø  5m ,' Nm 5m  m!┆
0x07c820…07c840             89 39 cd 08 4b 2a 89 39 79 cd 19 4c 11 6d 71 cd 1e 1a c3 df 18 c5 d5 e5 21 91 39 16 78 cd 1b 4d   ┆ 9  K* 9y  L mq         ! 9 x  M┆
0x07c840…07c860             cd b2 4c ca 36 4c 79 b7 c2 68 4c c3 36 4c c5 d5 e5 21 81 00 22 b4 38 21 91 39 cd 78 4a 2a 8f 39   ┆  L 6Ly  hL 6L   !  " 8! 9 xJ* 9┆
0x07c860…07c880             cd 88 45 cd 64 4b d2 63 6d c3 36 4c cd bf 6c 3a 00 38 b7 ca 28 2d cd 08 25 cd c2 24 d5 39 cd d5   ┆  E dK cm 6L  l: 8  (-  %  $ 9  ┆
0x07c880…07c8a0             30 cd 6e 0b c4 b1 1b cd 2c 27 3a 01 38 b7 c0 3a 00 38 b7 ca 28 2d c3 81 6d 11 cf 39 af c3 a5 6d   ┆0 n     ,': 8  : 8  (-  m  9   m┆
0x07c8a0…07c8c0             11 d1 39 3e ff 32 85 37 47 2a ff 37 7c a5 21 57 3a c2 8c 6f 3a 00 38 b7 c4 75 6f d8 cd 08 25 3a   ┆  9> 2 7G* 7ø !W:  o: 8  uo   %:┆
0x07c8c0…07c8e0             18 37 b7 ca d3 6d eb cd cc 1a 21 d3 39 cd cc 1a cd a5 24 3a 99 38 32 9b 38 04 cc 7f 24 11 5c 00   ┆ 7   m    ! 9     $: 82 8   $ Ø ┆
0x07c8e0…07c900             21 92 36 cd f1 6d 2c 6c c8 32 6c 00 cd 5c 33 08 03 af e3 cd 21 25 cd bd 1a cd ca 24 e3 c5 e5 2a   ┆! 6  m,l 2l  Ø3     !%     $   *┆
0x07c900…07c920             2b 02 e3 e5 cd 19 33 2a 1d 37 22 ac 38 eb 22 65 38 eb 2a ac 38 cd 4f 21 cd a5 24 e1 e5 06 14 cd   ┆+     3* 7" 8 "e8 * 8 O!  $     ┆
0x07c920…07c940             72 23 2b 77 23 cd b0 24 7e b7 ca 4f 6e cd 75 6e da 63 6e b7 ca 46 6e cd e6 6e da 63 6e 47 cd 7e   ┆r#+w#  $ü  On un cn  Fn  n cnG ü┆
0x07c940…07c960             17 b7 c2 63 6e 78 47 e1 e5 cd 12 18 78 fe ff f5 cd a5 24 f1 e1 e3 f5 7d 21 2b 02 be c4 84 29 f1   ┆   cnxG     x     $    å!+    ) ┆
0x07c960…07c980             e1 c1 c9 cd b7 1a 65 3a e1 e5 cd e5 1a cd ba 24 67 3a c3 0d 6e c5 d5 d5 af 0e 10 12 13 0d c2 7b   ┆      e:       $g:  n          æ┆
0x07c980…07c9a0             6e d1 d5 cd e6 6e 12 13 0e 08 cd ac 6e fe 2e c2 93 6e 23 0e 03 cd ac 6e d1 13 1a 1b fe 20 ca a8   ┆n    n      n .  n#    n        ┆
0x07c9a0…07c9c0             6e cd 7e 17 b7 d1 c1 c9 37 d1 c1 c9 cd ca 6e ca bf 6e 12 13 0d c2 ac 6e cd ca 6e c2 b8 6e c9 f5   ┆n ü     7     n  n     n  n  n  ┆
0x07c9c0…07c9e0             3e 20 12 13 0d c2 c0 6e f1 c9 7e cd d5 6e c8 23 cd e2 17 b7 c9 fe 2e c8 fe 3a c8 fe 2a c8 fe 3f   ┆>      n  ü  n #      .  :  *  ?┆
0x07c9e0…07ca00             c8 fe 20 d0 bf c9 cd 7e 17 23 7e 2b fe 3a c2 fe 6e 7e cd d8 17 d2 fe 6e d6 40 23 23 b7 c9 cd 76   ┆       ü #ü+ :  nü     n @##   v┆
0x07ca00…07ca20 (33, 0, 8)  d5 af 0e 10 12 13 0d c2 04 6e d1 d5 cd 6f 6e 12 13 0e 08 cd 35 6e fe 2e c2 1c 6e 23 0e 03 cd 35   ┆         n   on     5n .  n#   5┆
0x07ca20…07ca40             6e d1 13 1a 1b fe 20 ca 31 6e cd 7e 17 b7 d1 c1 c9 37 d1 c1 c9 cd 53 6e ca 48 6e 12 13 0d c2 35   ┆n       1n ü     7    Sn Hn    5┆
0x07ca40…07ca60             6e cd 53 6e c2 41 6e c9 f5 3e 20 12 13 0d c2 49 6e f1 c9 7e cd 5e 6e c8 23 cd e2 17 b7 c9 fe 2e   ┆n Sn An  >     In  ü ^n #      .┆
0x07ca60…07ca80             c8 fe 3a c8 fe 2a c8 fe 3f c8 fe 20 d0 bf c9 cd 7e 17 23 7e 2b fe 3a c2 87 6e 7e cd d8 17 d2 87   ┆  :  *  ?       ü #ü+ :  nü     ┆
0x07ca80…07caa0             6e d6 40 23 23 b7 c9 cd 76 19 37 c9 3a c2 71 21 c6 71 a6 fe 90 ca 10 6f cd e6 66 f5 21 c2 71 cd   ┆n @##   v 7 : q! q     o  f ! q ┆
0x07caa0…07cac0             e6 66 3e 06 cc 81 26 f1 c0 3e 07 cd 81 26 16 ff cd 1c 6f 21 a2 71 cd 17 67 01 c2 71 c5 cd 52 4e   ┆ f>   &  >   &    o! q  g  q  RN┆
0x07cac0…07cae0             7a e6 7f 57 01 ce 71 cd 62 4e e1 cd 86 66 21 85 39 cd 08 4b 2a 85 39 eb cd b3 49 cd 0d 33 21 c6   ┆z  W  q bN   f! 9  K* 9   I  3! ┆
0x07cae0…07cb00             71 cd 86 66 c3 f2 6e 16 00 cd 1c 6f cd f2 6e c3 b9 6e 21 a2 71 c3 11 67 cd 89 6f 01 c6 71 cd 2c   ┆q  f  n    o  n  n! q  g  o  q ,┆
0x07cb00…07cb20             27 cd 50 67 ca 0d 6f cd de 45 c3 fe 6e cd f2 6e 21 c2 71 cd df 66 21 c6 71 c3 df 66 d5 cd 89 6f   ┆' Pg  o  E  n  n! q  f! q  f   o┆
0x07cb20…07cb40             37 c2 3f 6f 2a 83 39 eb 2a 91 39 cd 2c 17 11 ff e4 19 da 38 6f 21 55 00 eb 2a c7 71 cd 68 17 3e   ┆7 ?o* 9 * 9 ,      8o!U  * q h >┆
0x07cb40…07cb60             09 dc 81 26 e5 cd 0d 33 1e 00 cd cd 4e c1 d1 cd d5 49 c8 cd 2c 27 d5 cd 49 0b 69 78 c6 08 67 22   ┆   &   3    N    I  ,'  I ix  g"┆
0x07cb60…07cb80             b6 38 21 87 39 cd ee 49 2a 8d 39 eb 2a 87 39 1a 77 23 13 0d c2 6f 6f 22 87 39 eb d1 7a b7 cc 88   ┆ 8! 9  I* 9 * 9 w#   oo" 9  z   ┆
0x07cb80…07cba0             45 c4 de 45 05 c2 56 6f c9 cd 9c 6f 21 c2 71 cd 11 67 3a c9 71 b7 f0 3e 08 cd 81 26 3a c2 71 fe   ┆E  E  Vo   o! q  g: q  >   &: q ┆
0x07cba0…07cbc0             90 3e 06 c4 81 26 3a c6 71 fe 90 c8 3e 07 cd 81 26 cd 38 00 9b 00 00 00 00 00 00 00 00 00 00 00   ┆ >   &: q   >   & 8             ┆
0x07cbc0…07cbe0             00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
          […0x1…]
0x07cc00…07cc20 (33, 0, 9)  42 49 53 2d 30 33 31 20 44 49 41 47 4e 4f 53 54 49 43 20 44 55 4d 50 0d 0a 2a 2a 2a 4e 4f 20 54   ┆BIS-031 DIAGNOSTIC DUMP  ***NO T┆
0x07cc20…07cc40             52 41 43 45 20 44 41 54 41 20 50 52 45 53 45 4e 54 2a 2a 2a 0d 0a 2a 2a 2a 45 4e 44 20 4f 46 20   ┆RACE DATA PRESENT***  ***END OF ┆
0x07cc40…07cc60             44 49 41 47 4e 4f 53 54 49 43 20 44 55 4d 50 2a 2a 2a 0d 0a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a   ┆DIAGNOSTIC DUMP***              ┆
0x07cc60…07cc80             1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a   ┆                                ┆
0x07cc80…07cca0             00 4c 50 20 20 20 20 20 20 20 20 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆ LP                             ┆
0x07cca0…07ccc0             e5 42 20 20 20 20 20 20 20 20 20 20 01 00 00 56 f1 00 f2 00 f3 00 f4 00 f5 00 f6 00 00 00 00 00   ┆ B             V                ┆
0x07ccc0…07cce0             e5 53 54 41 54 34 20 20 20 43 4f 4d 00 00 00 29 e7 00 e8 00 e9 00 00 00 00 00 00 00 00 00 00 00   ┆ STAT4   COM   )                ┆
0x07cce0…07cd00             e5 53 54 41 54 35 20 20 20 43 4f 4d 00 00 00 29 ea 00 eb 00 ec 00 00 00 00 00 00 00 00 00 00 00   ┆ STAT5   COM   )                ┆
0x07cd00…07cd20             e5 46 34 20 20 20 20 20 20 20 20 20 08 00 00 80 2e 01 2f 01 30 01 31 01 32 01 33 01 34 01 35 01   ┆ F4             . / 0 1 2 3 4 5 ┆
0x07cd20…07cd40             e5 46 34 20 20 20 20 20 20 20 20 20 09 00 00 80 36 01 37 01 38 01 39 01 3a 01 3b 01 3c 01 3d 01   ┆ F4             6 7 8 9 : ; < = ┆
0x07cd40…07cd60             e5 46 34 20 20 20 20 20 20 20 20 20 0a 00 00 80 3e 01 3f 01 40 01 41 01 42 01 43 01 44 01 45 01   ┆ F4             > ? @ A B C D E ┆
0x07cd60…07cd80             e5 46 34 20 20 20 20 20 20 20 20 20 0b 00 00 75 46 01 47 01 48 01 49 01 4a 01 4b 01 4c 01 4d 01   ┆ F4            uF G H I J K L M ┆
0x07cd80…07cda0             00 41 53 53 49 47 4e 20 20 50 52 4e 00 00 00 2e a7 00 af 00 b0 00 00 00 00 00 00 00 00 00 00 00   ┆ ASSIGN  PRN   .                ┆
0x07cda0…07cdc0             00 41 53 53 49 47 4e 20 20 48 45 58 00 00 00 07 b1 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆ ASSIGN  HEX                    ┆
0x07cdc0…07cde0             00 41 53 53 49 47 4e 20 20 43 4f 4d 00 00 00 03 b2 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆ ASSIGN  COM                    ┆
0x07cde0…07ce00             00 54 52 41 4e 53 46 45 52 43 4f 4d 00 00 00 07 b9 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆ TRANSFERCOM                    ┆
0x07ce00…07ce20 (33, 0, 10) 9a 02 01 14 00 00 00 00 cd 70 12 00 00 c3 c7 6c c3 fd 6c c3 bd 6c c3 9c 6f c3 68 6f 65 00 0c 00   ┆         p     l  l  l  o hoe   ┆
0x07ce20…07ce40             0d 00 17 00 21 00 2e 00 3b 00 20 3f 00 0e 13 14 44 45 4c 45 54 45 3f 20 00 0e 13 14 52 45 4e 41   ┆    ! . ;  ?    DELETE?     RENA┆
0x07ce40…07ce60             4d 45 3f 20 00 89 89 a0 20 4e 45 57 20 4e 41 4d 45 3f 20 00 0e 13 14 43 4f 50 59 20 46 52 4f 4d   ┆ME?      NEW NAME?     COPY FROM┆
0x07ce60…07ce80             3f 20 00 13 14 43 4f 50 59 20 20 54 4f 20 3f 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆?    COPY  TO ?                 ┆
0x07ce80…07cea0             00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
0x07cea0…07cec0             00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 cd 6a 6d   ┆                              jm┆
0x07cec0…07cee0             02 20 6c c8 c3 f8 18 cd 08 25 3a 18 37 b7 21 c9 39 c4 cc 1a cd b7 1a cb 39 3a 18 37 c6 30 cd a5   ┆  l      %: 7 ! 9       9: 7 0  ┆
0x07cee0…07cf00             1e cd b7 1a cd 39 cd ca 24 cd b1 1b cd a5 1e d6 30 d8 fe 04 d0 32 18 37 af 32 9c 38 c9 cd 08 25   ┆     9  $       0    2 7 2 8   %┆
0x07cf00…07cf20             3a 18 37 b7 21 c3 39 c4 cc 1a cd b7 1a c5 39 cd 76 19 21 ae 38 e5 cd 05 18 e1 cd e5 1a cd b0 24   ┆: 7 ! 9       9 v ! 8          $┆
0x07cf20…07cf40             3a 99 38 32 9b 38 cd 21 25 cd b7 1a c7 39 cd ca 24 06 04 21 12 37 cd 5d 23 cd 7e 17 b7 c8 cd d8   ┆: 82 8 !%    9  $  ! 7 Å# ü     ┆
0x07cf40…07cf60             17 d2 56 6d d6 40 5f 23 7e fe 3a c2 4f 6d 23 cd 7e 17 b7 ca 5e 6d cd b7 1a 1e 6c c3 26 6d 3e 01   ┆  Vm @_#ü : Om# ü   ^m    l &m> ┆
0x07cf60…07cf80             cd 7c 18 cd 8d 6f 7b c3 7c 18 11 ce 38 21 be 36 cd 7c 24 cd 21 25 c3 91 6d 21 a8 6c 7e b7 c2 8e   ┆ ø   oæ ø   8! 6 ø$ !%  m! lü   ┆
0x07cf80…07cfa0             6d 11 be 36 e5 1a 77 13 23 b7 c2 85 6d e1 11 83 6c e3 7e 23 f5 cd bd 1a cd ca 24 f1 e3 c5 4f e5   ┆m  6  w #   m   l ü#      $   O ┆
0x07cfa0…07cfc0             2a 2b 02 e3 e5 2a 1d 37 22 ac 38 cd 19 33 eb 22 65 38 eb 2a ac 38 cd 4f 21 cd a5 24 e1 e5 06 14   ┆*+   * 7" 8  3 "e8 * 8 O!  $    ┆
0x07cfc0…07cfe0             cd 72 23 cd b0 24 7e b7 ca 5e 6e 79 fe 03 3a ce 38 c4 76 19 47 cd dc 6e da 72 6e b7 c2 72 6e e1   ┆ r#  $ü  ^ny  : 8 v G  n rn  rn ┆
0x07cfe0…07d000             e5 cd 12 18 79 3d e6 fe cc ba 18 c2 f6 6d cd ba 24 69 3a c3 ae 6d 79 fe 02 c2 02 6e cd 84 6e c2   ┆    y=       m  $i:  my    n  n ┆
0x07d000…07d020 (33, 0, 11) 19 37 c9 cd 08 25 3a 00 38 b7 c4 97 6f d2 18 6f cd c2 24 5b 3a c3 27 6f 3a 00 38 b7 c4 90 6f d2   ┆ 7   %: 8   o  o  $Æ: 'o: 8   o ┆
0x07d020…07d040             3a 6f cd c2 24 5d 3a cd d5 30 cd 6e 0b c4 b1 1b cd 2c 27 3a 00 38 b7 c2 2a 6f cd c2 24 2e 6c cd   ┆:o  $Å:  0 n     ,': 8  *o  $.l ┆
0x07d040…07d060             45 6f c3 d5 30 cd b7 1a 30 6c 21 a8 36 cd e5 1a c3 ca 24 cd b7 1a 2a 6c cd 69 6f e5 21 86 08 be   ┆Eo  0   0l! 6     $   *l io !   ┆
0x07d060…07d080             ca 65 6f 23 7e e1 c3 a5 1e cd ca 24 cd b1 1b cd 2c 27 c3 d5 17 d5 2a 7f 39 eb 2a 91 39 cd 2c 17   ┆ eo#ü      $    ,'    * 9 * 9 , ┆
0x07d080…07d0a0             11 21 29 cd 68 17 d1 3f d0 21 f1 39 22 07 38 c9 e5 21 1b 39 c3 9b 6f e5 21 5c 00 d5 c5 11 45 3d   ┆ !) h  ? ! 9" 8  ! 9  o !Ø    E=┆
0x07d0a0…07d0c0             0e 0c cd 5c 17 c1 d1 e1 37 c8 3f c9 ff 9b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆   Ø    7 ?                     ┆
0x07d0c0…07d0e0             00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
          […0x1…]
0x07d100…07d120             9a 08 01 14 00 00 00 00 5d 6e 0c 00 00 c3 4a 6c c3 4f 6c c3 55 6c 34 00 08 00 0e 00 0f 00 10 00   ┆        Ån    Jl Ol Ul4         ┆
0x07d120…07d140             45 44 42 41 43 4b 55 50 24 24 24 42 41 4b 0e 4e 45 57 20 46 49 4c 45 0e 0e 00 00 00 00 00 00 00   ┆EDBACKUP$$$BAK NEW FILE         ┆
0x07d140…07d160             00 00 00 00 00 00 00 00 00 00 3e ff 32 85 37 cd 60 6c cd 90 6c cd 9f 6c cd 4d 6d cd 5c 33 01 00   ┆          > 2 7 `l  l  l Mm Ø3  ┆
0x07d160…07d180             3a 90 36 b7 c0 3a 62 03 32 23 37 3e ff cd 2e 6d 3a 7f 03 32 26 37 32 24 37 3a 49 02 d6 05 21 80   ┆: 6  :b 2#7>  .m:  2&72$7:I   ! ┆
0x07d180…07d1a0             03 be da 86 6c 7e 3c 32 28 37 3e ff 32 90 36 c9 21 91 71 01 65 01 cd 08 17 3e ff 32 92 71 c9 11   ┆    lü<2(7> 2 6 ! q e    > 2 q  ┆
0x07d1a0…07d1c0             65 00 d5 21 1a 6c cd dc 1a cd 5a 17 d1 ca bc 6c 21 1c 6c cd dc 1a cd 5a 17 c2 c5 6c 21 59 3a 22   ┆e  ! l    Z    l! l    Z   l!Y:"┆
0x07d1c0…07d1e0             07 38 c3 53 2d 01 91 00 21 00 71 cd 08 17 01 c9 00 21 77 38 cd 08 17 32 5b 00 32 68 00 32 6b 00   ┆ 8 S-   ! q      !w8   2Æ 2h 2k ┆
0x07d1e0…07d200             32 7d 00 cd 26 2f 2a 66 39 11 00 fe 19 22 00 71 22 91 39 cd f7 6c c9 2a 7f 39 eb 2a 91 39 cd 2c   ┆2å  &/*f9    " q" 9  l * 9 * 9 ,┆
0x07d200…07d220 (33, 0, 12) 9a 06 01 14 00 04 00 00 c2 70 0c 00 00 c3 a7 6c c3 af 6c c3 32 6d 8a 00 0e 00 15 00 23 00 39 00   ┆         p     l  l 2m      # 9 ┆
0x07d220…07d240             49 00 57 00 57 00 0e 13 46 49 4e 44 3f 20 00 13 52 45 50 4c 41 43 45 20 57 49 54 48 3f 20 00 13   ┆I W W   FIND?   REPLACE WITH?   ┆
0x07d240…07d260             4f 50 54 49 4f 4e 53 3f 20 28 3f 20 46 4f 52 20 49 4e 46 4f 29 20 00 0e 2a 2a 2a 20 4e 4f 54 20   ┆OPTIONS? (? FOR INFO)   *** NOT ┆
0x07d260…07d280             46 4f 55 4e 44 3a 20 22 00 52 45 50 4c 41 43 45 5c 28 59 2f 4e 29 3a 20 00 13 00 20 3f 3f 3f 00   ┆FOUND: " REPLACEØ(Y/N):     ??? ┆
0x07d280…07d2a0             00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
0x07d2a0…07d2c0             02 00 04 2b 37 22 00 da 32 6d 3e 00 c3 b4 6c da 32 6d 3e ff 32 7a 37 4f cd 7c 24 cd 21 25 cd b7   ┆   +7"  2m>   l 2m> 2z7O ø$ !%  ┆
0x07d2c0…07d2e0             1a 18 6c cd ca 24 21 2b 37 06 1f cd 5d 23 32 78 37 79 b7 ca ee 6c 3e 2c cd 34 1e cd b7 1a 1a 6c   ┆  l  $!+7   Å#2x7y   l>, 4     l┆
0x07d2e0…07d300             cd ca 24 21 4d 37 06 1f cd 5d 23 32 78 37 3e 29 cd 34 1e cd a5 24 2a 1d 37 e5 21 7b 37 01 0a 00   ┆  $!M7   Å#2x7>) 4   $* 7 !æ7   ┆
0x07d300…07d320             cd 08 17 3e 01 32 7d 37 32 7c 37 3a 78 37 fe 1b e1 ca 2f 6d e5 cd 4f 21 cd b7 1a 1c 6c 21 6d 37   ┆   > 2å72ø7:x7    /m  O!    l!m7┆
0x07d320…07d340             06 0a cd 5d 23 cd f4 6e e1 da f9 6c cd 40 1e c3 35 6d d4 11 28 3a 84 37 b7 ca 48 6d 3a 7b 37 b7   ┆   Å#  n   l @  5m  (: 7  Hm:æ7 ┆
0x07d340…07d360             f5 cc 33 67 f1 c4 39 67 2a 7d 37 22 7f 37 cd 34 6e cd 2c 27 21 ce 71 cd c3 66 cd 9a 6d d2 71 6d   ┆  3g  9g*å7" 7 4n ,'! q  f  m qm┆
0x07d360…07d380             2a 7f 37 7c b5 c8 21 a0 6c e5 21 1e 6c e5 c3 ab 26 3a 7a 37 b7 c4 d1 6d 2a 7f 37 7c b5 ca 84 6d   ┆* 7ø  ! l ! l   &:z7   m* 7ø   m┆
0x07d380…07d3a0             2b 22 7f 37 3a 81 37 b4 b5 c2 51 6d c9 cd 38 1d 3a 7b 37 b7 fa bd 4c c3 59 4c cd 19 33 cd c8 20   ┆+" 7: 7   Qm  8 :æ7   L YL  3   ┆
0x07d3a0…07d3c0             cd 84 6e 11 f7 72 cd 9e 6f da b2 6d cd 84 6e c3 cb 6d cd 88 45 cd 2c 27 cd 8d 6d d2 a3 6d 3a 7b   ┆  n  r  o  m  n  m  E ,'  m  m:æ┆
0x07d3c0…07d3e0             37 b7 f5 cc 39 67 f1 c4 33 67 37 f5 cd f2 20 f1 c9 3a 7b 37 b7 3a 79 37 cc 2b 6e 3a 7c 37 b7 f5   ┆7   9g  3g7      :æ7 :y7 +n:ø7  ┆
0x07d3e0…07d400             cc 24 6e f1 c4 9e 6e d2 fb 6d 3a 7b 37 b7 c0 3a 79 37 2a 8d 39 cd 3f 17 c3 88 45 cd a9 64 3a 79   ┆ $n   n  m:æ7  :y7* 9 ?   E  d:y┆
0x07d400…07d420 (33, 0, 13) 11 59 43 fe 0d c8 11 8a 43 fe 0a c8 11 93 43 fe 0c c8 11 a4 43 fe 1f c8 11 4c 40 fe 1a c8 11 8c   ┆ YC     C     C     C    L@     ┆
0x07d420…07d440             42 fe 0b c8 11 21 40 fe 09 ca 3a 3f 11 25 40 fe 1e ca 3a 3f fe 1b c0 11 8d 43 36 00 23 cd 4a 3f   ┆B    !@   :? %@   :?     C6 # J?┆
0x07d440…07d460             d6 20 bf c9 cd 4a 3f e6 7f c9 7e 3c cc 4e 13 7e b7 c0 cd 31 13 c3 4f 3f cd 73 3f cd 5c 40 2a ae   ┆     J?   ü< N ü   1  O? s? Ø@* ┆
0x07d460…07d480             3c 3a b2 3c 4f 0c 0d c8 7e 3c cc 4e 13 36 00 23 c3 66 3f 21 00 00 39 11 20 00 42 4b cd 2c 17 f9   ┆<: <O   ü< N 6 # f?!  9   BK ,  ┆
0x07d480…07d4a0             eb 21 6a 3c d5 e5 c5 cd c2 16 af 32 c2 3c 2f 32 58 3c 21 32 00 cd e6 40 21 9c 3c cd a5 40 21 00   ┆ !j<       2 </2X<!2   @! <  @! ┆
0x07d4a0…07d4c0             00 22 76 3c 2a 9d 3d cd ae 40 ca f0 3f fe 03 ca f0 3f fe 06 ca f0 3f fe 07 ca f0 3f fe 11 ca f0   ┆ "v<* =  @  ?    ?    ?    ?    ┆
0x07d4c0…07d4e0             3f fe 17 ca f0 3f fe 05 ca f0 3f fe 12 ca f0 3f fe 21 d2 f0 3f 46 36 00 23 cd c5 40 c2 e9 3f cd   ┆?    ?    ?    ? !  ?F6 #  @  ? ┆
0x07d4e0…07d500             4a 3f 7e 36 00 23 d6 20 4f 78 cd a1 41 c3 a7 3f 22 ae 3c 21 6a 3c 11 8a 3c 01 12 00 cd c2 16 21   ┆J?ü6 #  Ox  A  ?" <!j<  <      !┆
0x07d500…07d520             c4 3c 01 22 00 cd 08 17 af 32 c3 3c 3a 54 3c b7 cc e0 41 cd 59 40 cd 7b 15 c1 d1 e1 cd c2 16 f9   ┆ < "     2 <:T<   A Y@ æ        ┆
0x07d520…07d540             c9 32 53 3c c9 32 54 3c c9 cd e9 43 f6 ff cd 31 13 01 00 04 cd 49 13 0b 78 b1 c2 34 40 21 4f 3c   ┆ 2S< 2T<   C   1     I  x  4@!O<┆
0x07d540…07d560             7e 36 00 b7 fa 29 40 3a 50 3c b7 c8 cd aa 43 cd 10 07 af 32 02 38 c3 31 13 3e ff fe af 32 58 3c   ┆ü6   )@:P<    C    2 8 1 >   2X<┆
0x07d560…07d580             af 32 d2 3c 3a c3 3c 21 58 3c b6 c2 92 40 2a 7a 3c eb 2a 81 3c cd 2c 17 eb 2a ac 3c 19 cd 18 17   ┆ 2 <: <!X<   @*z< * < ,  * <    ┆
0x07d580…07d5a0             e5 2a 9a 3c 19 cd 18 17 d1 cd 68 17 d2 92 40 f6 ff fe af 32 c2 3c f5 cc 00 41 f1 c4 54 41 cd 7b   ┆ * <      h   @    2 <   A  TA æ┆
0x07d5a0…07d5c0             1c c4 49 13 c9 11 6a 3c 01 10 00 c3 c2 16 cd 4a 3f e6 7f fe 0d c8 fe 0a c8 fe 0c c8 fe 1a c8 fe   ┆  I   j<       J?               ┆
0x07d5c0…07d5e0             1f c8 c3 d0 40 e6 7f fe 1c c8 fe 15 c8 fe 1d c8 fe 1b c8 fe 09 c8 fe 1e c9 2b 7e 3c c2 e4 40 2a   ┆    @                    +ü<  @*┆
0x07d5e0…07d600             a1 3d 2b 2b 7e c9 11 6f 3c 19 1a be 3e 14 cd f8 40 3e 16 cd f8 40 3e 19 c4 a1 41 23 13 1a be c9   ┆ =++ü  o<   >   @>   @>   A#    ┆
0x07d600…07d620 (33, 0, 14) ae 6d 79 fe 03 c2 28 6e e5 21 ce 38 1a be e1 ca 1a 6e cd b7 1a 95 3a c3 ae 6d cd ba 18 ca 28 6e   ┆ my   (n ! 8     n    :  m    (n┆
0x07d620…07d640             cd b7 1a 93 3a c3 ae 6d 79 fe 04 c2 5c 6e cd 84 6e c2 ae 6d cd ba 18 ca 5c 6e cd b7 1a 9b 3a cd   ┆    :  my   Øn  n  m    Øn    : ┆
0x07d640…07d660             ca 24 cd b1 1b cd 2c 27 cd d5 17 e5 21 86 08 be ca 55 6e 23 7e e1 cd a5 1e c2 ae 6d f6 ff f5 cd   ┆ $    ,'    !    Un#ü      m    ┆
0x07d660…07d680             a5 24 f1 e1 e3 f5 7d 21 2b 02 be c4 84 29 f1 e1 c1 c9 cd b7 1a 65 3a e1 e5 cd e5 1a cd ba 24 67   ┆ $    å!+    )       e:       $g┆
0x07d680…07d6a0             3a c3 ae 6d c5 e5 d5 21 0a 38 cd c2 6e 3a ca 38 b7 ca a6 6e 21 5c 00 cd c2 6e 21 6d 71 cd c2 6e   ┆:  m   ! 8  n: 8   n!Ø   n!mq  n┆
0x07d6a0…07d6c0             21 f4 38 cd c2 6e 3a 00 38 b7 ca be 6e 21 45 3d cd c2 6e 3a 8b 36 b7 21 6b 3d c4 c2 6e af d1 e1   ┆! 8  n: 8   n!E=  n: 6 !k=  n   ┆
0x07d6c0…07d6e0             c1 c9 c1 d1 d5 c5 1a be c0 23 13 0e 0b cd 5c 17 c0 f1 cd b7 1a a1 3a f6 ff c3 be 6e c5 d5 d5 af   ┆         #    Ø       :    n    ┆
0x07d6e0…07d700             0e 10 12 13 0d c2 e2 6e d1 d5 cd 4d 6f 12 13 0e 08 cd 13 6f fe 2e c2 fa 6e 23 0e 03 cd 13 6f d1   ┆       n   Mo      o .  n#    o ┆
0x07d700…07d720             13 1a 1b fe 20 ca 0f 6f cd 7e 17 b7 d1 c1 c9 37 d1 c1 c9 cd 31 6f ca 26 6f 12 13 0d c2 13 6f cd   ┆       o ü     7    1o &o     o ┆
0x07d720…07d740             31 6f c2 1f 6f c9 f5 3e 20 12 13 0d c2 27 6f f1 c9 7e cd 3c 6f c8 23 cd e2 17 b7 c9 fe 2e c8 fe   ┆1o  o  >     'o  ü <o #      .  ┆
0x07d740…07d760             3a c8 fe 2a c8 fe 3f c8 fe 20 d0 bf c9 cd 7e 17 23 7e 2b fe 3a c2 65 6f 7e cd d8 17 d2 65 6f d6   ┆:  *  ?       ü #ü+ : eoü    eo ┆
0x07d760…07d780             40 23 23 b7 c9 78 37 c9 cd 6a 6d 02 22 6c c8 cd 79 6d 03 24 6c ca 68 6f cd 8d 6f 21 ce 38 e5 01   ┆@##  x7  jm "l  ym $l ho  o! 8  ┆
0x07d780…07d7a0             10 00 09 eb 36 00 cd c2 16 d1 c3 9b 19 3a 00 38 21 8b 36 a6 21 ca 38 b6 cc 71 18 c9 cd 03 70 d8   ┆    6        : 8! 6 ! 8  q    p ┆
0x07d7a0…07d7c0             cd 6a 6d 01 26 6c c8 cd 79 6d 04 28 6c ca a0 6f d5 cd 26 70 d1 d8 cd 8d 6f cd 45 19 3e ff 32 81   ┆ jm &l  ym (l  o  &p    o E > 2 ┆
0x07d7c0…07d7e0             6c af 47 4f 79 b7 c2 df 18 2a 85 39 11 ce 38 cd a3 19 da ed 6f 04 78 3c ca ee 6f 11 80 00 19 e5   ┆l GOy    * 9  8     o x<  o     ┆
0x07d7e0…07d800             19 eb 2a 89 39 cd 68 17 e1 da cc 6f fe 0d 04 2a 85 39 11 83 6c 05 ca c4 6f cd 1e 1a 11 80 00 19   ┆  * 9 h    o   * 9  l   o       ┆
0x07d800…07d820 (33, 0, 15) 17 7c b7 1f 1f 1f e6 3c c6 04 32 c5 38 07 32 c8 38 7c fe 44 21 00 04 22 c0 38 3e 08 32 c6 38 da   ┆ ø     <  2 8 2 8ø D!  " 8> 2 8 ┆
0x07d820…07d840             23 6d 29 22 c2 38 da 2a 6d 87 32 c7 38 c9 21 86 37 be 77 c8 b7 f5 21 20 02 01 0a 00 cc 08 17 3e   ┆#m)" 8 *m 2 8 ! 7 w   !        >┆
0x07d840…07d860             ff 32 25 02 f1 eb 21 85 03 c4 c2 16 c9 3a 00 38 21 8b 36 a6 cc 71 18 21 5c 00 7e cd 74 19 77 11   ┆ 2%   !      : 8! 6  q !Ø ü t w ┆
0x07d860…07d880             6d 71 d5 01 10 00 cd c2 16 e1 3a 6c 00 b7 ca 72 6d 77 3a 5c 00 be ca 7e 6d 3e ff 32 b8 38 e5 11   ┆mq        :l   rmw:Ø   üm> 2 8  ┆
0x07d880…07d8a0             1b 39 01 09 00 cd c2 16 21 1c 6c cd dc 1a cd bf 16 e1 7e 11 f4 38 12 21 18 6c 01 0b 00 13 cd dc   ┆ 9      ! l       ü  8 ! l      ┆
0x07d8a0…07d8c0             1a cd c2 16 21 92 36 11 5c 00 cd 12 18 3a b8 38 b7 ca bd 6d 36 20 23 3a 6d 71 cd 05 18 21 a8 36   ┆    ! 6 Ø    : 8   m6 #:mq   ! 6┆
0x07d8c0…07d8e0             11 6d 71 cd 12 18 21 d4 36 7e b7 cc 12 18 3a b8 38 b7 11 6d 71 c4 ba 18 3e 0b c4 81 26 11 5c 00   ┆ mq   ! 6ü    : 8  mq   >   & Ø ┆
0x07d8e0…07d900             cd ba 18 3e ff ca ee 6d 32 5b 00 c3 f9 6d 32 b9 38 cd b7 1a 1e 6c cd 39 25 11 76 71 21 1a 6c cd   ┆   >   m2Æ   m2 8    l 9% vq! l ┆
0x07d900…07d920             dc 1a cd bf 16 3a 85 37 cd 2e 6d 3a 2b 02 32 1b 37 3a 1c 37 cd 84 29 cd 94 29 3a 00 38 b7 c4 48   ┆     : 7 .m:+ 2 7: 7  )  ): 8  H┆
0x07d920…07d940             6e d2 2a 6e 21 5f 3a 22 07 38 3a 18 37 3d e6 fe 2a 07 38 b4 b5 21 61 03 b6 21 19 37 b6 c2 47 6e   ┆n *n!_:" 8: 7=  * 8  !a  ! 7  Gn┆
0x07d940…07d960             35 21 35 3a 22 07 38 c9 e5 d5 c5 11 45 3d 21 5c 00 0e 0c cd 5c 17 c1 d1 e1 37 c8 3f c9 9b 00 00   ┆5!5:" 8     E=!Ø    Ø    7 ?    ┆
0x07d960…07d980             00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
          […0x4…]
0x07da00…07da20 (33, 1, 1)  37 2a 8d 39 cd 3f 17 cd de 45 2a 77 39 eb 13 21 4d 37 cd 63 6e eb 1b cd ae 49 3a 7b 37 b7 3a 4c   ┆7* 9 ?   E*w9  !M7 cn    I:æ7 :L┆
0x07da20…07da40             37 c4 2b 6e cd 49 0b cc 1f 31 c9 2a 8b 39 cd 46 17 c3 88 45 c5 e5 21 2b 37 11 f7 72 3a 82 37 b7   ┆7 +n I   1 * 9 F   E  !+7  r: 7 ┆
0x07da40…07da60             c2 49 6e cd 63 6e c3 5b 6e 13 cd 63 6e 3e 13 2b 77 12 13 af 12 79 3c 3c 2b 77 23 eb 79 32 79 37   ┆ In cn Æn  cn> +w    y<<+w# y2y7┆
0x07da60…07da80             e1 c1 c9 0e 00 d5 7e b7 ca 7e 6e fe 0e c2 77 6e 3e 0d 12 13 0c 3e 0a 12 23 13 0c c3 66 6e 12 e1   ┆      ü  ün   wn>    >  #   fn  ┆
0x07da80…07daa0             2b 71 23 c9 3a 82 37 b7 c8 3a 7b 37 b7 c2 96 6e cd c4 4d c3 99 6e cd 5f 4d 3f d0 c3 88 45 21 20   ┆+q# : 7  :æ7   n  M  n _M?   E! ┆
0x07daa0…07dac0             6c 22 a4 38 cd a0 32 cd 87 27 cd 27 31 cd c9 6e f6 40 fe 59 f5 ca ba 6e 3e 4e 21 21 37 b6 cd a5   ┆l" 8  2  ' '1  n @ Y   n>N!!7   ┆
0x07dac0…07dae0             1e cd ad 20 f1 37 c0 b7 c9 2a 72 39 7e cd b4 20 cd 27 25 cd ad 20 2a a6 38 cd 4f 21 cd 2d 25 c2   ┆     7   *r9ü    '%   * 8 O! -% ┆
0x07dae0…07db00             eb 6e cd 62 21 cd 4f 21 c3 c9 6e cd 2c 27 cd b1 1b c3 e2 17 b7 d8 cd 7e 17 cd cd 17 cd e2 17 b7   ┆ n b! O!  n ,'         ü        ┆
0x07db00…07db20             c8 11 f5 6e d5 cd 97 6f da 6f 6f 23 fe 3f c2 18 6f cd ba 24 bf 39 37 c9 fe 42 ca 22 6f fe 2d c2   ┆   n   o oo# ?  o  $ 97  B "o - ┆
0x07db20…07db40             28 6f 3e ff 32 7b 37 c9 fe 47 c2 36 6f 3e ff 32 84 37 32 81 37 c9 fe 4e c2 40 6f af 32 7c 37 c9   ┆(o> 2æ7  G 6o> 2 72 7  N @o 2ø7 ┆
0x07db40…07db60             fe 57 c2 4b 6f 3e ff 32 82 37 c9 fe 55 c2 56 6f 3e ff 32 83 37 c9 f5 3e 09 cd 34 1e cd b7 1a 22   ┆ W Ko> 2 7  U Vo> 2 7  >  4    "┆
0x07db60…07db80             6c f1 cd a5 1e cd b7 1a 24 6c cd ca 24 37 c9 11 00 00 7e cd 97 6f d0 23 e5 62 6b 19 29 19 29 dc   ┆l       $l  $7    ü  o # bk ) ) ┆
0x07db80…07dba0             93 6f d6 30 5f 16 00 19 dc 93 6f 22 7d 37 eb e1 c3 72 6f 21 ff ff c9 fe 30 3f d0 fe 3a c9 3a 7b   ┆ o 0_     o"å7   ro!    0?  : :æ┆
0x07dba0…07dbc0             37 b7 fa b6 6f 21 8d 39 cd cc 6f 2a 8d 39 d8 cd de 6f d8 c3 88 45 21 89 39 cd cc 6f 2a 8b 39 d8   ┆7   o! 9  o* 9   o   E! 9  o* 9 ┆
0x07dbc0…07dbe0             1b 1a 13 cd 46 17 cd 06 70 c3 b2 6f cd 08 4b 03 1b 1a 13 c5 47 79 90 c1 4f 78 de 00 47 c9 1a b7   ┆    F   p  o  K     Gy  Ox  G   ┆
0x07dbe0…07dc00             c8 d5 cd 2d 70 da 04 70 05 0d e5 13 1a b7 ca 03 70 be 23 ca eb 6f 2b cd 57 70 23 ca eb 6f e1 d1   ┆   -p  p        p #  o+ Wp#  o  ┆
0x07dc00…07dc20 (33, 1, 2)  3a 64 71 cd 7e 6d 3a 66 71 3d cd 98 6d cd 2b 29 c3 ea 6e cd 54 4d e5 2a 50 71 22 64 71 e1 cd ad   ┆:dq üm:fq=  m +)  n TM *Pq"dq   ┆
0x07dc20…07dc40             67 d8 e6 7f cd 87 17 37 c8 cd be 67 cd ac 17 ca 16 6f b7 c9 16 0c fe 16 00 2a 64 71 22 50 71 cd   ┆g      7   g     o       *dq"Pq ┆
0x07dc40…07dc60             54 4d e5 2a 50 71 22 66 71 e1 3a 50 71 5f cd ad 67 d8 e6 7f cd 87 17 c8 cd be 67 cd ac 17 ca 4a   ┆TM *Pq"fq :Pq_  g         g    J┆
0x07dc60…07dc80             6f 14 15 ca 42 6f d5 fe 21 cc 31 6e fe 23 cc 36 6e fe 2d cc 5d 6e d1 c3 42 6f 0e 80 c3 81 6f 0e   ┆o   Bo  ! 1n # 6n - Ån  Bo    o ┆
0x07dc80…07dca0             81 d5 e5 e1 d1 d5 e5 cd 21 25 eb cd d0 1a eb cd a5 24 06 04 cd 5d 23 47 79 fe 81 c2 af 6f 16 00   ┆        !%       $   Å#Gy    o  ┆
0x07dca0…07dcc0             cd 7e 17 fe 23 ca ad 6f fe 21 c2 af 6f 57 23 cd 7e 17 cd e2 17 b9 37 ca cd 6f d5 cd d1 6f cd 7e   ┆ ü  #  o !  oW# ü     7  o   o ü┆
0x07dcc0…07dce0             17 b2 7b d1 c2 83 6f fe f1 d2 83 6f b7 e1 e3 e1 c9 11 00 00 7e fe 3a d0 d6 30 d8 23 e5 62 6b 19   ┆  æ   o    o        ü :  0 # bk ┆
0x07dce0…07dd00             29 19 29 cd 3f 17 eb e1 c3 d4 6f 9b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆) ) ?     o                     ┆
0x07dd00…07dd20             9a 0e 01 14 00 00 00 00 4f 70 06 00 00 c3 f7 6c e7 00 0a 00 0c 00 17 00 21 00 2f 00 0f 0f 0e 00   ┆        Op     l        ! /     ┆
0x07dd20…07dd40             0e 13 20 43 4f 4d 4d 41 4e 44 3f 20 00 89 20 57 48 41 54 3f 3f 3f 20 0e 00 89 20 19 20 4e 4f 54   ┆   COMMAND?    WHAT???       NOT┆
0x07dd40…07dd60             20 46 4f 55 4e 44 20 0e 00 0e 20 45 6e 74 65 72 20 6e 61 6d 65 20 6f 66 20 70 72 6f 67 72 61 6d   ┆ FOUND     Enter name of program┆
0x07dd60…07dd80             20 79 6f 75 20 77 69 73 68 20 74 6f 20 52 75 6e 2c 09 09 0e 20 6f 70 74 69 6f 6e 61 6c 6c 79 20   ┆ you wish to Run,    optionally ┆
0x07dd80…07dda0             66 6f 6c 6c 6f 77 65 64 20 62 79 20 61 70 70 72 6f 70 72 69 61 74 65 20 61 72 67 75 6d 65 6e 74   ┆followed by appropriate argument┆
0x07dda0…07ddc0             73 2e 09 0e 20 20 20 20 45 78 61 6d 70 6c 65 20 28 73 68 6f 77 73 20 64 69 73 6b 20 73 70 61 63   ┆s.      Example (shows disk spac┆
0x07ddc0…07dde0             65 29 3a 20 20 20 20 20 53 54 41 54 09 0e 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆e):     STAT                    ┆
0x07dde0…07de00             00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 3a 00 38 b7 ca 05 6d 21 8b   ┆                       : 8   m! ┆
0x07de00…07de20 (33, 1, 3)  c9 f5 79 fe 00 ca 81 7a fe 0a ca 14 7b f1 e5 2a 67 7c e3 c9 3e ff 32 6e 7c f1 cd 0e 7b f5 af 32   ┆  y    z    æ  *gø  > 2nø   æ  2┆
0x07de20…07de40             6e 7c f1 c9 cd 78 7c f5 fe 03 c2 22 7b 3a 6e 7c b7 ca 22 7b 31 65 7c 21 e6 7c cd 7f 7b c3 81 7a   ┆nø   xø    "æ:nø  "æ1eø! ø  æ  z┆
0x07de40…07de60             21 e0 79 22 06 00 2a 01 00 eb 21 3d 7b e5 d5 cd 6c 7b d1 21 06 00 19 eb 21 69 7b cd 6c 7b 21 72   ┆! y"  *   !=æ   læ !    !iæ læ!r┆
0x07de60…07de80             7c 22 01 00 eb e1 c3 71 7b c3 24 7b 3a d3 7c b7 c0 01 03 00 78 b1 c8 7e 12 23 13 0b c3 74 7b d5   ┆ø"     qæ $æ: ø     x  ü #   tæ ┆
0x07de80…07dea0             5e 23 56 2b 19 d1 7e 23 fe 1a ca 95 7b b7 c8 cd a0 7b c3 86 7b e5 21 95 7e cd 86 7b e1 c3 86 7b   ┆^#V+  ü#    æ    æ  æ ! ü  æ   æ┆
0x07dea0…07dec0             4f 3e 09 c3 ac 7b af 32 6e 7c 3e 06 c5 d5 e5 2a 01 00 5f 16 00 19 79 cd be 7b e1 d1 c1 c9 e9 eb   ┆O>   æ 2nø>    *  _   y  æ      ┆
0x07dec0…07dee0             cd c5 7b 1a eb e3 c5 4e 23 d5 e5 cd 05 00 e1 d1 c1 e3 c9 c5 21 80 00 cd bf 7b 0f c1 3c c9 21 20   ┆  æ    N#           !    æ  < ! ┆
0x07dee0…07df00             00 19 36 00 21 00 01 06 00 cd bf 7b 14 3d ca 04 7c 04 d5 11 80 00 19 11 93 78 7c ba d1 da e9 7b   ┆  6 !      æ =  ø        xø    æ┆
0x07df00…07df20             37 3e 35 c9 78 b7 3e 34 c9 21 da 7c c3 1e 7c 21 dc 7c c3 1e 7c 21 de 7c c3 1e 7c 21 e0 7c e5 21   ┆7>5 x >4 ! ø  ø! ø  ø! ø  ø! ø !┆
0x07df20…07df40             e2 7c cd 7f 7b e1 cd 7f 7b 21 e8 7c cd 7f 7b cd a6 7b c3 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆ ø  æ   æ! ø  æ  æ              ┆
0x07df40…07df60             00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
          […0x3…]
0x07dfc0…07dfe0             00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 c1 01 14 00 38 00 64 00 83 00 a7 00   ┆                        8 d     ┆
0x07dfe0…07e000             c6 00 f5 00 f5 00 f6 00 f9 00 0d 0a 48 69 74 20 61 6e 79 20 6b 65 79 20 74 6f 20 72 65 74 75 72   ┆            Hit any key to retur┆
0x07e000…07e020 (33, 1, 4)  9a 01 04 14 00 00 00 00 e9 6b 0a 00 00 c3 35 4f c3 13 4b c9 6a 00 14 00 18 00 1d 00 1f 00 22 00   ┆         k    5O  K j         " ┆
0x07e020…07e040             26 00 2c 00 34 00 00 00 38 00 50 41 47 45 5c 00 20 4c 49 4e 45 5c 00 46 43 3d 00 20 46 4c 3d 00   ┆& , 4   8 PAGEØ  LINEØ FC=  FL= ┆
0x07e040…07e060             20 43 4f 4c 5c 00 4d 41 52 5c 52 45 4c 00 49 4e 53 45 52 54 5c 4f 4e 00 64 65 63 69 6d 61 6c 00   ┆ COLØ MARØREL INSERTØON decimal ┆
0x07e060…07e080             4c 49 4e 45 5c 53 50 41 43 49 4e 47 5c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 59 00   ┆LINEØSPACINGØ                 Y ┆
0x07e080…07e0a0             3d 3e f9 08 fa fb 36 38 f5 cd 71 4e ca b2 45 da b5 45 c5 d5 e5 eb 2a 8d 39 eb cd 35 17 22 8d 39   ┆=>    68  qN  E  E    * 9  5 " 9┆
0x07e0a0…07e0c0             d5 60 69 1e 00 cd 3c 4e cd 06 4e d1 cd 9a 46 e1 d1 c1 f1 b7 c9 c5 d5 e5 eb 2a 8b 39 cd 35 17 eb   ┆ `i   <N  N   F          * 9 5  ┆
0x07e0c0…07e0e0             cd e6 48 2a 8d 39 eb c5 cd e1 16 22 8b 39 eb 22 8d 39 e1 1e 00 cd 06 4e cd 8f 49 c3 af 45 f5 c5   ┆  H* 9     " 9 " 9     N  I  E  ┆
0x07e0e0…07e100             d5 e5 eb 2a 8d 39 eb 22 8d 39 cd 2c 17 1e 00 cd 18 46 cd 48 4e 03 03 03 0a b7 fa 0d 46 0b 0b 0a   ┆   * 9 " 9 ,     F HN       F   ┆
0x07e100…07e120             95 02 03 0a 9c 02 03 0a 9b 02 fc 62 46 03 15 c2 f5 45 cd 0c 4a c3 af 45 7c b5 c0 e1 c3 af 45 f5   ┆           bF    E  J  Eø     E ┆
0x07e120…07e140             c5 d5 e5 eb 2a 8b 39 cd 35 17 eb 22 8b 39 cd e6 48 1e 00 60 69 cd 18 46 cd 48 4e 03 d5 0a 57 03   ┆    * 9 5  " 9  H  `i  F HN   W ┆
0x07e140…07e160             0a b2 57 03 0a b2 d1 ca 4f 46 0a b7 f2 57 46 0b 0b cd 17 4e f4 62 46 03 15 c2 3b 46 cd 8f 49 c3   ┆  W     OF   WF    N bF   ;F  I ┆
0x07e160…07e180             12 46 0b 0b af 02 03 02 03 02 c9 f5 c5 d5 e5 f5 cd db 49 f1 2a 8b 39 77 23 22 8b 39 2b 01 01 00   ┆ F                I * 9w#" 9+   ┆
0x07e180…07e1a0             cd b0 46 60 69 1e 00 cd 18 46 cd 3c 4e c3 38 46 f5 c5 d5 e5 cd 9a 46 c3 83 46 f5 c5 d5 e5 2a 8b   ┆  F`i    F <N 8F      F  F    * ┆
0x07e1a0…07e1c0             39 e5 c5 eb cd c2 16 eb 22 8b 39 c1 e1 c3 b4 46 f5 c5 d5 e5 af 32 08 71 eb 78 b1 ca ab 32 3a 96   ┆9       " 9    F     2 q x   2: ┆
0x07e1c0…07e1e0             03 b7 2a 89 39 cd 2c 17 1b 3a 27 02 2f b7 cc bc 47 ca ec 46 7c b5 ca 04 47 1a e6 7f fe 0a ca 04   ┆  * 9 ,  :' /   G  Fø   G       ┆
0x07e1e0…07e200             47 fe 0c ca 04 47 1b 03 23 c3 d4 46 2a 89 39 2b eb 09 cd 35 17 21 00 00 22 04 71 22 06 71 22 02   ┆G    G  #  F* 9+   5 !  " q" q" ┆
0x07e200…07e220 (33, 1, 5)  c3 de 6f d1 d1 c9 1a b7 c8 23 d5 1a cd 42 70 da 04 70 05 0d e5 13 23 1a b7 ca 26 70 be ca 15 70   ┆  o      #   Bp  p    #   &p   p┆
0x07e220…07e240             cd 57 70 ca 15 70 e1 d1 b7 c2 0a 70 c9 04 0c c3 38 70 be c4 57 70 23 c8 0d c2 32 70 05 c2 32 70   ┆ Wp  p     p    8p  Wp#   2p  2p┆
0x07e240…07e260             37 c9 04 0c c3 4d 70 2b be c4 57 70 c8 0d c2 47 70 05 c2 47 70 37 c9 ae fe 80 c2 60 70 ae bf c9   ┆7    Mp+  Wp   Gp  Gp7     `p   ┆
0x07e260…07e280             fe 20 ca 6a 70 fe a0 c2 88 70 ae fe 41 da 89 70 c5 47 e6 df fe 5b d2 84 70 3a 83 37 b7 ca 84 70   ┆   jp    p  A  p G   Æ  p: 7   p┆
0x07e280…07e2a0             78 c1 bf c9 78 c1 b7 c9 ae fe 1e ca ba 70 d0 fe 13 ca aa 70 fe 01 c8 fe 0f c0 13 1a 1b b7 c8 ae   ┆x   x        p     p            ┆
0x07e2a0…07e2c0             e6 7f 3e 0f ca b8 70 13 bf c9 7e e6 7f cd 97 6f d4 d8 17 3e 13 d2 a8 70 b7 c9 7e e6 7f fe 1f 3e   ┆  >   p   ü    o   >   p  ü    >┆
0x07e2c0…07e2e0             1e c9 9b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
0x07e2e0…07e300             00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
0x07e300…07e320             9a 11 01 14 00 00 00 00 ed 6d 00 00 00 c3 c6 6c c3 d2 6c c3 d8 6c c3 ea 6c c3 28 6c c3 3a 6c c3   ┆         m     l  l  l  l (l :l ┆
0x07e320…07e340             88 6c c3 99 6c c3 ec 6d cd 54 4d cd 62 4d da 37 6c cd a0 17 c2 2b 6c cd de 45 cd 37 63 cd b7 4d   ┆ l  l  m TM bM 7l    +l  E 7c  M┆
0x07e340…07e360             cd c7 4d da 4d 6c cd a0 17 c2 40 6c 23 cd 1f 46 2a 2b 71 3a 69 38 4f 11 fc ff 7e e6 60 ca 6f 6c   ┆  M Ml    @l#  F*+q:i8O   ü ` ol┆
0x07e360…07e380             79 cd e8 5c ca 6f 6c fa 6f 6c 0d 19 c3 5a 6c 7e e6 7e 77 79 cd e8 5c c2 85 6c 44 4d 32 1e 71 19   ┆y  Ø ol ol   Zlü üwy  Ø  lDM2 q ┆
0x07e380…07e3a0             36 00 cd 91 52 c3 91 66 cd 54 4d cd 62 4d d8 cd 9a 17 c8 cd a0 64 c3 8b 6c 3a 4d 71 f5 2a 24 37   ┆6   R  f TM bM       d  l:Mq *$7┆
0x07e3a0…07e3c0             cd 6e 65 da b3 6c 2a 28 37 2b 2b 2b cd ae 68 eb da b6 6c 2a 26 37 22 24 37 f1 32 4d 71 21 ae 71   ┆ ne  l*(7+++  h   l*&7"$7 2Mq! q┆
0x07e3c0…07e3e0             cd c8 66 c3 2b 29 2a 82 38 22 75 38 21 7f 38 c3 78 17 21 4e 61 c3 db 6c 21 0d 61 22 78 38 3e ff   ┆  f +)* 8"u8! 8 x !Na  l! a"x8> ┆
0x07e3e0…07e400             32 7f 38 21 00 00 22 75 38 c9 3a 96 38 b7 c0 2a 5e 71 eb 3a 5d 71 fe 1e c2 fc 6c 1c 01 ba 71 cd   ┆2 8!  "u8 : 8  *^q :Åq    l   q ┆
0x07e400…07e420 (33, 1, 6)  3a 22 07 38 c9 cd 70 2f 11 a5 7e cd 68 17 21 8d 3a d2 01 6d af 32 59 38 cd 82 33 0f 00 21 aa 7c   ┆:" 8  p/  ü h ! :  m 2Y8  3  ! ø┆
0x07e420…07e440             e5 01 21 00 cd 08 17 d1 d5 13 01 0b 00 21 e7 03 cd c2 16 d1 d5 cd 98 18 21 8f 3a d1 ca 01 6d 21   ┆  !          !          ! :   m!┆
0x07e440…07e460             95 7e cd 12 18 21 10 01 22 ce 7c 7e 32 d0 7c 21 81 38 22 d1 7c cd 08 25 3a 18 37 fe 02 21 1a 6c   ┆ ü   !  " øü2 ø! 8" ø  %: 7  ! l┆
0x07e460…07e480             d4 cc 1a cd b3 24 3a 99 38 32 9b 38 cd 7f 24 cd 21 25 cd ba 24 12 6c cd 21 25 cd b7 1a 14 6c cd   ┆     $: 82 8  $ !%  $ l !%    l ┆
0x07e480…07e4a0             a5 24 21 51 70 06 4d cd 5d 23 cd 90 1e cd 7e 17 b7 c8 11 b6 79 cd 0e 6f d2 a3 6d cd b7 1a 16 6c   ┆ $!Qp M Å#    ü     y  o  m    l┆
0x07e4a0…07e4c0             c3 77 6d e5 21 bf 79 36 43 23 36 4f 23 36 4d e1 cd ba 18 cc 98 18 c2 c1 6d cd b7 1a 18 6c c3 77   ┆ wm ! y6C#6O#6M         m    l w┆
0x07e4c0…07e4e0             6d e5 11 13 79 cd 92 6e 11 23 79 cd 92 6e af 32 33 79 e1 11 34 79 0e ff d5 13 7e cd e2 17 12 23   ┆m   y  n #y  n 23y  4y    ü    #┆
0x07e4e0…07e500             0c b7 c2 d9 6d d1 79 12 cd a5 24 21 2b 02 7e f5 af 77 32 9f 38 cd d5 30 f1 77 cd 96 22 cd 71 18   ┆    m y   $!+ ü  w2 8  0 w  " q ┆
0x07e500…07e520             2a 06 00 11 fa ff 19 11 da 79 01 06 00 cd c2 16 01 03 00 09 eb 09 eb 01 41 00 cd c2 16 cd 70 2f   ┆*        y              A     p/┆
0x07e520…07e540             eb d5 01 13 00 21 20 02 cd c2 16 01 99 01 21 01 36 cd c2 16 21 a4 7e 11 da 79 cd 2c 17 eb e1 2b   ┆     !        ! 6   ! ü  y ,   +┆
0x07e540…07e560             2b cd 2c 17 2e 00 e5 21 da 79 11 13 79 cd 2c 17 eb e1 cd 2c 17 e5 21 e0 79 11 13 79 cd 35 17 e1   ┆+ , .  ! y  y ,    ,  ! y  y 5  ┆
0x07e560…07e580             eb cd c2 16 d5 d5 21 35 7c 11 e0 79 cd 35 17 e1 e5 c5 cd 83 6f ef 6f e1 d1 19 e5 21 a4 7e 11 35   ┆      !5ø  y 5      o o    ! ü 5┆
0x07e580…07e5a0             7c cd 35 17 e1 eb cd c2 16 21 09 01 e3 11 44 00 19 e9 c5 d5 d5 af 0e 10 12 13 0d c2 98 6e d1 d5   ┆ø 5      !    D              n  ┆
0x07e5a0…07e5c0             cd 66 6f 12 13 0e 08 cd c9 6e fe 2e c2 b0 6e 23 0e 03 cd c9 6e d1 13 1a 1b fe 20 ca c5 6e cd 7e   ┆ fo      n .  n#    n        n ü┆
0x07e5c0…07e5e0             17 b7 d1 c1 c9 37 d1 c1 c9 cd f8 6e ca e9 6e fe 2a ca e1 6e 12 13 0d c2 c9 6e cd f8 6e c2 da 6e   ┆     7     n  n *  n     n  n  n┆
0x07e5e0…07e600             c9 3e 3f cd f1 6e c3 da 6e f5 3e 20 cd f1 6e f1 c9 12 13 0d c2 f1 6e c9 7e cd 03 6f c8 23 cd e2   ┆ >?  n  n >   n       n ü  o #  ┆
0x07e600…07e620 (33, 1, 7)  6e 20 74 6f 20 57 6f 72 64 53 74 61 72 3a 20 00 0d 0a 52 65 70 6c 61 63 65 20 64 69 73 6b 65 74   ┆n to WordStar:    Replace disket┆
0x07e620…07e640             74 65 20 77 69 74 68 20 66 69 6c 65 20 1a 2c 20 68 69 74 20 61 6e 79 20 6b 65 79 3a 20 00 20 2a   ┆te with file  , hit any key:   *┆
0x07e640…07e660             2a 2a 20 66 69 6c 65 20 1a 20 73 74 69 6c 6c 20 6e 6f 74 20 66 6f 75 6e 64 20 2a 2a 2a 20 00 20   ┆** file   still not found ***   ┆
0x07e660…07e680             2a 2a 2a 20 66 69 6c 65 20 1a 20 62 61 64 20 28 74 6f 6f 20 62 69 67 20 3f 3f 21 40 26 2a 29 20   ┆*** file   bad (too big ??!@&*) ┆
0x07e680…07e6a0             2a 2a 2a 20 00 20 2a 2a 2a 20 66 69 6c 65 20 1a 20 62 61 64 20 28 74 6f 6f 20 73 68 6f 72 74 29   ┆***   *** file   bad (too short)┆
0x07e6a0…07e6c0             20 2a 2a 2a 20 00 20 2a 2a 2a 20 1a 20 66 6f 75 6e 64 20 69 73 20 62 61 64 20 6f 72 20 69 6e 63   ┆ ***   ***   found is bad or inc┆
0x07e6c0…07e6e0             6f 6d 70 61 74 69 62 6c 65 20 76 65 72 73 69 6f 6e 20 2a 2a 2a 20 00 0d 0a 0d 0a 00 5e 43 0d 0a   ┆ompatible version ***       ^C  ┆
0x07e6e0…07e700             00 0d 0a 0d 0a 20 43 61 6e 6e 6f 74 20 72 65 74 75 72 6e 20 74 6f 20 57 6f 72 64 53 74 61 72 2e   ┆      Cannot return to WordStar.┆
0x07e700…07e720             20 0d 0a 20 52 65 70 6c 61 63 65 20 73 79 73 74 65 6d 20 64 69 73 6b 20 28 69 66 20 72 65 6d 6f   ┆    Replace system disk (if remo┆
0x07e720…07e740             76 65 64 29 2c 20 0d 0a 20 48 69 74 20 61 6e 79 20 6b 65 79 20 74 6f 20 72 65 74 75 72 6e 20 74   ┆ved),    Hit any key to return t┆
0x07e740…07e760             6f 20 4f 70 65 72 61 74 69 6e 67 20 53 79 73 74 65 6d 3a 20 00 00 00 00 00 00 00 00 00 00 00 00   ┆o Operating System:             ┆
0x07e760…07e780             00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
0x07e780…07e7a0             00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 57 53 2e 43 4f 4d 20 20 20 20 20   ┆                     WS.COM     ┆
0x07e7a0…07e7c0             20 20 20 00 9b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
0x07e7c0…07e7e0             00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
          […0x1…]
0x07e800…07e820 (33, 1, 8)  71 cd a0 48 78 b1 ca ab 32 0b 13 1a cd 5f 25 ca 75 47 c3 1f 47 78 b1 ca ab 32 0b 13 1a e6 7f fe   ┆q  Hx   2    _% uG  Gx   2      ┆
0x07e820…07e840             0c ca 6f 47 fe 0a ca 41 47 1a fe 0d c2 15 47 78 b1 ca ab 32 0b 13 1a e6 7f fe 0a c2 1f 47 cd c2   ┆  oG   AG     Gx   2         G  ┆
0x07e840…07e860             63 2a 02 71 23 22 02 71 2a 06 71 23 22 06 71 3a 27 02 b7 ca 62 47 d5 eb 2a 1c 71 cd 68 17 d1 d2   ┆c* q#" q* q#" q:'   bG  * q h   ┆
0x07e860…07e880             6a 47 3e 0a cd a7 47 c3 04 47 3e 8a cd a7 47 cd 7f 47 c3 04 47 3a 96 03 b7 c4 ce 47 c3 04 47 d5   ┆jG>   G  G>   G  G  G:     G  G ┆
0x07e880…07e8a0             2a 06 71 eb cd 99 47 73 23 72 d1 21 00 00 22 06 71 2a 04 71 23 22 04 71 c9 d5 2a 04 71 26 00 29   ┆* q   Gs#r !  " q* q#" q  * q& )┆
0x07e8a0…07e8c0             eb 2a 00 71 19 d1 c9 eb be eb c8 67 3a 27 02 b7 c8 32 49 71 7c 12 62 6b 2b c3 2f 5c 3a 6c 71 fe   ┆ * q       g:'   2Iqø bk+ /Ø:lq ┆
0x07e8c0…07e8e0             af e5 2a 04 71 b4 b5 2a 06 71 b4 b5 e1 c9 3a 27 02 b7 ca 06 48 cd bc 47 21 ec 47 ca e1 47 21 fc   ┆  * q  * q    :'    H  G! G  G! ┆
0x07e8e0…07e900             47 cd 68 25 da 0a 48 c8 fa 06 48 e9 4c 48 54 48 50 4c 69 48 4d 54 6f 48 4d 42 75 48 43 50 30 48   ┆G h%  H   H LHTHPLiHMToHMBuHCP0H┆
0x07e900…07e920             50 41 1c 48 00 e1 cd f0 25 d0 fe 0c ca 7f 47 3e 0a cd a7 47 2a 02 71 23 22 02 71 c9 cd f0 25 d0   ┆PA H    %     G>   G* q#" q   % ┆
0x07e920…07e940             fe 0c ca 0a 48 3e 8a cd a7 47 cd 14 48 c3 7f 47 cd b2 25 da 06 48 cd f0 25 d0 fe 0c ca 0a 48 d5   ┆    H>   G  H  G  %  H  %     H ┆
0x07e940…07e960             eb 2a 06 71 19 eb 2a 1c 71 23 cd 68 17 d1 d2 25 48 c3 0f 48 cd b2 25 da 06 48 c2 06 48 cd f0 25   ┆ * q  * q# h   %H  H  %  H  H  %┆
0x07e960…07e980             d0 67 7d 32 0b 71 c3 91 48 21 0c 71 c3 78 48 21 10 71 c3 78 48 21 18 71 e5 cd b2 25 da 05 48 c2   ┆ gå2 q  H! q xH! q xH! q   %  H ┆
0x07e980…07e9a0             05 48 cd f0 25 d2 64 12 eb e3 57 7b cd 98 48 e1 eb cd b0 48 7c c3 0a 48 c5 4f 3a 0b 71 c3 18 0b   ┆ H  % d   Wæ  H    Hø  H O: q   ┆
0x07e9a0…07e9c0             c5 d5 21 66 03 11 0b 71 01 11 00 cd c2 16 d1 c1 c5 d5 e5 01 01 00 2a 11 71 eb 2a 19 71 19 eb 2a   ┆  !f   q              * q * q  *┆
0x07e9c0…07e9e0             0d 71 cd 2c 17 7c b7 f2 cc 48 60 68 3a 0b 71 2f 3c 5f 16 ff 19 d2 de 48 0b 03 19 da d9 48 69 60   ┆ q , ø   H`h: q/<_     H     Hi`┆
0x07e9e0…07ea00             22 1c 71 c3 5b 1a f5 c5 d5 e5 09 eb af 32 08 71 78 b1 ca 25 49 0b 1b 1a fe 0a ca 1f 49 fe 8a ca   ┆" q Æ        2 qx  %I       I   ┆
0x07ea00…07ea20 (33, 1, 9)  2e 4d cd 32 6d d0 21 b2 71 cd 17 67 2a 61 71 eb cd 54 4d cd 32 6d da 06 6d cd 37 63 21 ba 71 11   ┆.M 2m ! q  g*aq  TM 2m  m 7c! q ┆
0x07ea20…07ea40             a6 71 01 08 00 cd c2 16 cd fb 60 3e ff 32 96 38 37 c9 af 32 63 71 7b b7 c8 cd b9 6d d0 cd d8 6d   ┆ q        `> 2 87  2cqæ    m   m┆
0x07ea40…07ea60             c2 36 6d 7b b7 c8 cd b9 6d d0 e5 2a 9c 03 cd e4 6d e1 37 3f c4 d8 17 d2 43 6d cd a7 6d 7b b7 ca   ┆ 6mæ    m  *    m 7?    Cm  mæ  ┆
0x07ea60…07ea80             78 6d cd b9 6d d0 cd 90 17 c8 cd d8 6d ca 86 6d cd a7 6d 3e ff 32 63 71 cd b9 6d d0 cd 90 17 c8   ┆xm  m       m  m  m> 2cq  m     ┆
0x07ea80…07eaa0             cd d8 6d c2 73 6d fe 45 37 c0 3a 63 71 b7 37 c0 cd b9 6d fe 53 ca 9d 6d fe 44 c2 a0 6d cd b9 6d   ┆  m sm E7 :cq 7   m S  m D  m  m┆
0x07eaa0…07eac0             fe 2d 37 c4 d8 17 c9 2b c5 01 b2 71 cd 8f 4e 1c eb 22 61 71 eb 1d c1 23 c9 7b b7 ca bf 6d 1d cd   ┆ -7    +   q  N  "aq   # æ   m  ┆
0x07eac0…07eae0             2c 27 15 c8 cd 62 4d 3f d0 e6 7f fe 20 dc 6e 0a da bf 6d cd e2 17 37 c9 e5 2a 9a 03 cd e4 6d e1   ┆,'   bM?      n   m   7  *    m ┆
0x07eae0…07eb00             c9 be c8 23 34 35 c2 e1 6d fe ff c9 ff 9b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆   #45  m                       ┆
0x07eb00…07eb20             9a 07 01 14 00 04 00 00 eb 6f 33 00 00 c3 4f 6d c3 65 6d c3 74 6d c3 8e 6d c3 1d 6e c3 4a 6e c3   ┆         o3   Om em tm  m  n Jn ┆
0x07eb20…07eb40             dc 6d c3 e2 6d c3 e8 6d c3 fa 6d c3 03 6e c3 0c 6e c3 a2 6e c3 f0 6e c3 ee 6d c3 f4 6d 12 01 12   ┆ m  m  m  m  n  n  n  n  m  m   ┆
0x07eb40…07eb60             00 39 00 73 00 7b 00 cd 00 bf 00 49 00 51 00 30 00 20 45 4e 54 45 52 20 73 70 61 63 65 20 4f 52   ┆ 9 s æ     I Q 0  ENTER space OR┆
0x07eb60…07eb80             20 4e 45 57 20 4c 49 4e 45 20 53 50 41 43 49 4e 47 20 28 31 2d 39 29 3a 20 00 20 4c 45 46 54 20   ┆ NEW LINE SPACING (1-9):   LEFT ┆
0x07eb80…07eba0             4d 41 52 47 49 4e 20 43 4f 4c 55 4d 4e 20 4e 55 4d 42 45 52 02 b8 ff 75 6d 6e 29 3f 20 00 20 28   ┆MARGIN COLUMN NUMBER   umn)?   (┆
0x07eba0…07ebc0             45 53 43 41 50 45 20 66 6f 72 20 63 75 72 73 6f 72 20 63 6f 6c 00 20 52 49 47 48 54 02 92 ff 00   ┆ESCAPE for cursor col  RIGHT    ┆
0x07ebc0…07ebe0             20 46 6f 72 20 64 65 63 69 6d 61 6c 20 74 61 62 20 73 74 6f 70 20 65 6e 74 65 72 20 22 23 22 20   ┆ For decimal tab stop enter "#" ┆
0x07ebe0…07ec00             61 6e 64 20 64 65 63 69 6d 61 6c 20 70 6f 69 6e 74 20 63 6f 6c 75 6d 6e 20 0e 20 53 45 54 02 4a   ┆and decimal point column   SET J┆
0x07ec00…07ec20 (33, 1, 10) 17 b7 c9 fe 2e c8 fe 3a c8 fe 20 d0 bf c9 c5 d5 d5 af 0e 10 12 13 0d c2 14 6f d1 d5 cd 66 6f 12   ┆    .  :                 o   fo ┆
0x07ec20…07ec40             13 0e 08 cd 34 6f fe 2e c2 2c 6f 23 0e 03 cd 34 6f c3 b5 6e cd 52 6f ca 47 6f 12 13 0d c2 34 6f   ┆    4o . ,o#   4o  n Ro Go    4o┆
0x07ec40…07ec60             cd 52 6f c2 40 6f c9 f5 3e 20 12 13 0d c2 48 6f f1 c9 7e cd 5d 6f c8 23 cd e2 17 b7 c9 fe 2a c8   ┆ Ro @o  >     Ho  ü Åo #      * ┆
0x07ec60…07ec80             fe 3f c8 c3 03 6f cd 7e 17 23 7e 2b fe 3a c2 7e 6f 7e cd d8 17 d2 7e 6f d6 40 23 23 b7 c9 cd 76   ┆ ?   o ü #ü+ : üoü    üo @##   v┆
0x07ec80…07eca0             19 37 c9 e3 7e 23 e5 66 6f 22 eb 6f e1 23 e3 c5 e5 cd 2c 17 22 ed 6f e1 cd d1 6f cd de 6f 1a d2   ┆ 7  ü# fo" o #    , " o   o  o  ┆
0x07eca0…07ecc0             c4 6f e5 6f 13 cd de 6f d2 e8 6f 1a 67 d5 eb 2a ed 6f 19 d1 eb e3 73 23 7a d1 77 e3 2b 7c b5 e3   ┆ o o   o  o g  * o    s#z w +ø  ┆
0x07ecc0…07ece0             ca cf 6f 7e 77 23 13 e3 2b 7c b5 e3 c2 9b 6f e1 c9 e5 2a eb 6f 46 23 22 eb 6f e1 0e 08 c9 78 17   ┆  oüw#  +ø    o   * oF#" o    x ┆
0x07ece0…07ed00             47 f5 0d cc d1 6f f1 c9 cd 38 00 0a 48 69 74 60 00 00 00 00 00 00 00 03 06 19 b0 06 db 6d b0 1b   ┆G    o   8  Hit`             m  ┆
0x07ed00…07ed20             01 b6 18 0c 61 80 1b 36 36 db 6d 9b 33 66 6d 98 00 6d b6 03 18 c1 98 c6 1b 36 db 60 18 c0 6d 81   ┆    a  66 m 3fm  m       6 `  m ┆
0x07ed20…07ed40             b6 00 06 00 18 d9 b3 0c c0 00 c0 60 00 00 c0 00 31 80 c3 00 36 db 6c d9 b6 c3 fd ff ff ff ff ff   ┆           `    1   6 l         ┆
0x07ed40…07ed60             ff fd ff ff ff ff ff ff ff ff ff ff ff ff ff 9b 00 00 74 20 66 6f 75 6e 64 20 2a 2a 2a 20 00 20   ┆                  t found ***   ┆
0x07ed60…07ed80             2a 2a 2a 20 66 69 6c 65 20 1a 20 62 61 64 20 28 74 6f 6f 20 62 69 67 20 3f 3f 21 40 26 2a 29 20   ┆*** file   bad (too big ??!@&*) ┆
0x07ed80…07eda0             2a 2a 2a 20 00 20 2a 2a 2a 20 66 69 6c 65 20 1a 20 62 61 64 20 28 74 6f 6f 20 73 68 6f 72 74 00   ┆***   *** file   bad (too short ┆
0x07eda0…07edc0             00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
          […0x2…]
0x07ee00…07ee20 (33, 1, 11) 9a 05 01 14 00 00 00 00 7a 6f 00 00 00 c3 28 6c c3 13 6c 3a ca 38 b7 c0 3a 00 38 b7 c0 11 30 38   ┆        zo    (l  l: 8  : 8   08┆
0x07ee20…07ee40             cd 89 34 3e ff c3 75 6c 3a 00 38 b7 ca 75 6c 21 01 38 7e 36 00 b7 ca 43 6c 3a ff 37 b7 c8 cd 5c   ┆  4>  ul: 8  ul! 8ü6   Cl: 7   Ø┆
0x07ee40…07ee60             33 0d 0f 3e ff 32 4f 3c cd 08 25 3a ca 38 b7 ca 5d 6c cd b7 1a dd 39 21 d4 36 cd e5 1a cd b7 1a   ┆3  > 2O<  %: 8  Ål    9! 6      ┆
0x07ee60…07ee80             df 39 cd c1 6d 3e 00 32 4f 3c 32 01 38 c0 2f 32 50 3c c3 d2 12 32 ff 37 3a ca 38 b7 c4 61 6f d8   ┆ 9  m> 2O<2 8 /2P<   2 7: 8  ao ┆
0x07ee80…07eea0             01 42 01 21 4f 3c cd 08 17 01 04 00 11 8b 36 21 ca 03 cd c2 16 cd 08 25 11 45 3d 21 d4 36 cd f0   ┆ B !O<        6!       % E=! 6  ┆
0x07eea0…07eec0             6d db 39 c8 3a ca 38 b7 c4 7a 6d d2 c0 6c e5 2b 7e fe 1b 21 61 3a c2 bc 6c 22 07 38 c4 d0 1a e1   ┆m 9 : 8  zm  l +ü  !a:  l" 8    ┆
0x07eec0…07eee0             11 92 36 1a b7 c2 d0 6c 7e 12 b7 23 13 c2 c8 6c 21 d3 36 7e fe 1b c4 de 6c cd 5c 33 10 00 cd ba   ┆  6    lü  #   l! 6ü    l Ø3    ┆
0x07eee0…07ef00             24 e1 39 3a 99 38 3c 32 9b 38 cd de 6d 3a 9b 38 cd 43 21 cd b0 24 3d cd 43 21 11 e5 39 21 8b 36   ┆$ 9: 8<2 8  m: 8 C!  $= C!  9! 6┆
0x07ef00…07ef20             cd 8f 6d c2 1a 6d cd e9 6d 11 6b 3d 21 ea 36 cd f8 6d f5 39 ca ea 6c c3 1d 6d cd e9 6d 21 00 37   ┆  m  m  m k=! 6  m 9  l  m  m! 7┆
0x07ef20…07ef40             11 e3 39 cd 0c 6f 22 ee 3c 21 06 37 11 f3 39 cd 0c 6f 22 f0 3c 21 0c 37 11 f7 39 3a ff 37 b7 c4   ┆  9  o" <! 7  9  o" <! 7  9: 7  ┆
0x07ef40…07ef60             0c 6f 22 f2 3c cd de 6d 11 e7 39 21 8c 36 3a d1 03 b7 cc 8f 6d 11 e9 39 23 cd 8f 6d 23 3a 8b 36   ┆ o" <  m  9! 6:     m  9#  m#: 6┆
0x07ef60…07ef80             b7 f5 2f 11 eb 39 cc 8f 6d 77 f1 c0 cd b7 1a ed 39 cd ca 24 cd b1 1b c3 2c 27 e5 d5 c5 21 5c 00   ┆  /  9  mw      9  $    ,'   !Ø ┆
0x07ef80…07efa0             11 45 3d 0e 0c cd 5c 17 c1 d1 e1 37 c8 3f c9 c5 e5 cd f1 24 eb cd d0 1a eb cd d2 6d 4e 21 86 08   ┆ E=   Ø    7 ?     $       mN!  ┆
0x07efa0…07efc0             be 06 ff ca af 6d 23 be 2b 06 00 ca af 6d 41 78 fe ff ca b6 6d 23 7e cd a5 1e 78 e1 70 c1 c3 90   ┆     m# +    mAx    m#ü   x p   ┆
0x07efc0…07efe0             1e cd d2 6d e5 21 86 08 be ca ce 6d 23 7e e1 c3 a5 1e cd ca 24 cd b1 1b cd 2c 27 c3 d5 17 3a a0   ┆   m !     m#ü      $    ,'   : ┆
0x07efe0…07f000             38 32 9e 38 af 32 9f 38 c9 3a 9d 38 32 9f 38 c9 cd 7f 24 3e 01 c3 fc 6d 3e ff fe af e3 f5 cd 21   ┆82 8 2 8 : 82 8   $>   m>      !┆
0x07f000…07f020 (33, 1, 12) 12 49 e6 7f fe 0c c2 f0 48 cd 4a 49 cd 60 49 c3 f0 48 3a 27 02 b7 ca 1f 49 cd 4a 49 cd 60 49 cd   ┆ I      H JI `I  H:'    I JI `I ┆
0x07f020…07f040             33 49 c3 f0 48 3a 08 71 b7 1a 4f c4 71 49 e1 d1 c1 f1 c9 2a 02 71 2b 22 02 71 3a 96 03 b7 ca 58   ┆3I  H: q  O qI     * q+" q:    X┆
0x07f040…07f060             49 cd 4a 49 3e ff 32 08 71 c9 13 1a 1b 21 08 71 34 35 c8 34 cd 5f 25 c8 2a 06 71 2b 22 06 71 c9   ┆I JI> 2 q    ! q45 4 _% * q+" q ┆
0x07f060…07f080             2a 04 71 2b 22 04 71 cd 99 47 cd 55 17 22 06 71 c9 2a 89 39 cd 2c 17 1b 41 7c b5 c8 23 1a 4f e6   ┆* q+" q  G U " q * 9 ,  Aø  # O ┆
0x07f080…07f0a0             7f fe 0a ca 8b 49 fe 0c c2 77 49 78 c3 4d 49 f5 3a 08 71 b7 ca 31 49 c5 d5 e5 2a 8b 39 4e cd bd   ┆     I   wIx MI : q  1I   * 9N  ┆
0x07f0a0…07f0c0             4c 2a 8b 39 eb cd 71 49 cd 8b 49 c3 ab 32 1a 13 4f 06 00 cd d5 49 c8 cd 0c 4a cd eb 49 cd c8 49   ┆L* 9  qI  I  2  O    I   J  I  I┆
0x07f0c0…07f0e0             0e 00 05 c2 ba 49 b7 c9 c5 06 00 0d 03 cd 90 46 eb 09 eb c1 c9 04 0c 0d c0 05 c9 d5 2a 8b 39 eb   ┆     I         F            * 9 ┆
0x07f0e0…07f100             2a 8d 39 cd 68 17 d1 21 8b 39 d8 21 8b 39 c5 d5 e5 cd 08 4b 78 b7 c2 5b 1a cd a3 4a 7a b7 c2 7b   ┆* 9 h  ! 9 ! 9     Kx  Æ   Jz  æ┆
0x07f100…07f120             4a cd 13 4b d2 f1 49 3e 11 cd a0 26 c5 d5 e5 f5 3e ff 32 c9 38 21 89 39 cd 6a 4a 2a 8f 71 19 eb   ┆J  K  I>   &    > 2 8! 9 jJ* q  ┆
0x07f120…07f140             2a ba 38 cd 68 17 eb d2 2d 4a 22 ba 38 21 8d 39 cd 6a 4a cd 59 4a cd 2c 17 eb 2a bc 38 cd 68 17   ┆* 8 h   -J" 8! 9 jJ YJ ,  * 8 h ┆
0x07f140…07f160             eb da 47 4a 22 bc 38 eb 2a be 38 cd 68 17 eb da 55 4a 22 be 38 f1 c3 5b 1a d5 2a 16 39 eb 2a 7e   ┆  GJ" 8 * 8 h   UJ" 8  Æ  * 9 *ü┆
0x07f160…07f180             00 cd 2c 17 11 ff 7f 19 d1 c9 cd 08 4b 60 69 29 5c 16 00 d2 77 4a 14 c9 c5 d5 e5 eb 21 81 39 23   ┆  ,         K`i)Ø   wJ      ! 9#┆
0x07f180…07f1a0             cd 68 17 2b da 90 4a cd c7 4a cd ba 4a c3 7f 4a 21 8f 39 cd 68 17 d2 5b 1a cd e5 4a 2b 2b 2b 2b   ┆ h +  J  J  J  J! 9 h  Æ   J++++┆
0x07f1a0…07f1c0             c3 93 4a c5 e5 11 00 00 21 7f 39 cd 08 4b eb 09 eb cd ba 4a d2 ab 4a e1 c1 c9 d5 23 23 23 23 11   ┆  J     ! 9  K     J  J    #### ┆
0x07f1c0…07f1e0             90 39 cd 68 17 d1 c9 c5 d5 e5 cd 08 4b 2b 2b cd 51 17 e3 73 23 72 2b e3 cd c2 16 e1 e5 23 23 73   ┆ 9 h        K++ Q  s#r+      ##s┆
0x07f1e0…07f200             23 72 c3 5b 1a c5 d5 e5 e5 2b 2b cd 08 4b e1 e5 cd 51 17 eb e3 23 72 2b 73 e3 cd e1 16 e1 2b 72   ┆#r Æ     ++  K   Q   #r+s     +r┆
0x07f200…07f220 (33, 1, 13) ff 55 4d 4e 02 46 ff 00 20 54 41 42 20 41 54 20 43 4f 4c 00 20 43 4c 45 41 52 02 2e ff 02 2f ff   ┆ UMN F   TAB AT COL  CLEAR .  / ┆
0x07f220…07f240             3b 20 41 20 66 6f 72 20 61 6c 6c 29 3f 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆; A for all)?                   ┆
0x07f240…07f260             00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 cd c2 24 3f 6c cd b1 1b cd a5 1e d6 31 d8 3c fe 0a   ┆                 $?l       1 <  ┆
0x07f260…07f280             d0 32 29 02 c9 21 77 38 7e 36 00 b7 c2 71 6d 36 02 c3 2b 29 21 88 37 11 41 6c cd b3 6d c8 32 26   ┆ 2)  !w8ü6   qm6  +)! 7 Al  m 2&┆
0x07f280…07f2a0             37 32 24 37 3c 3c 3c 21 28 37 be d8 77 c9 21 8e 37 11 43 6c cd b3 6d c8 fe 02 d2 9f 6d 3e 02 3c   ┆72$7<<<!(7  w ! 7 Cl  m     m> <┆
0x07f2a0…07f2c0             32 28 37 3d 3d 3d 21 24 37 be d0 77 21 26 37 be d0 77 c9 cd 7a 6f cd 2b 29 3d fe ff c0 78 fe 1b   ┆2(7===!$7  w!&7  w  zo +)=   x  ┆
0x07f2c0…07f2e0             ca c5 6d af c9 2a 22 71 7c b7 7d ca d4 6d 3e ff f2 d4 6d 3c fe ef d8 3e ef fe ff c9 21 20 02 c3   ┆  m  *"qø å  m>   m<   >    !   ┆
0x07f2e0…07f300             06 6e 21 21 02 c3 78 17 21 22 02 c3 78 17 21 23 02 c3 78 17 21 24 02 c3 78 17 21 25 02 cd 78 17   ┆ n!!  x !"  x !#  x !$  x !%  x ┆
0x07f300…07f320             c3 19 33 21 26 02 cd 2b 29 c3 78 17 3a 27 02 b7 21 28 02 c2 fd 6d 21 fd 39 22 07 38 c9 11 45 6c   ┆  3!&  +) x :'  !(   m! 9" 8  El┆
0x07f320…07f340             21 94 37 cd 7f 6f cd b6 6d c8 5f 7a fe 23 ca 36 6e 16 01 c3 5f 6e 16 07 c3 5f 6e cd 2b 29 01 79   ┆! 7  o  m _z # 6n   _n   _n +) y┆
0x07f340…07f360             00 21 09 36 cd 08 17 c3 81 6e 11 47 6c 21 94 37 0e 41 cd 81 6f da 3b 6e cd b6 6d c8 5f 16 00 f5   ┆ ! 6     n Gl! 7 A  o ;n  m _   ┆
0x07f360…07f380             e5 7b cd d4 6d b7 1f f5 21 09 36 cd 3f 17 f1 1e 0f da 7a 6e eb 29 29 29 29 eb 7b 2f a6 b2 77 e1   ┆ æ  m   ! 6 ?     zn )))) æ/  w ┆
0x07f380…07f3a0             f1 f5 e5 1e f2 21 81 36 2b 1d 1d ca 99 6e 7e b7 ca 88 6e e6 0f c2 99 6e 1d 7b 32 08 36 e1 f1 c3   ┆     ! 6+    nü   n    n æ2 6   ┆
0x07f3a0…07f3c0             2b 29 cd 8f 67 cd 13 6f da ea 6e 2b cd de 45 21 b6 71 cd c8 66 cd 37 6f 2a 66 71 eb 2a 26 37 cd   ┆+)  g  o  n+  E! q  f 7o*fq *&7 ┆
0x07f3c0…07f3e0             2c 17 eb 2a 28 37 19 eb 2a 64 71 19 7c b7 fa ea 6e cd d3 5b 7d b7 ca ea 6e e5 21 b6 71 cd 17 67   ┆,  *(7  *dq ø   n  Æå   n ! q  g┆
0x07f3e0…07f400             e1 3e 20 cd 6b 46 2d c2 e1 6e 21 b2 71 c3 17 67 cd 8f 67 cd 13 6f da 10 6f 2b cd 88 45 cd 34 6f   ┆ >  kF-  n! q  g  g  o  o+  E 4o┆
0x07f400…07f420 (33, 1, 14) 9a 0f 01 14 00 00 00 00 a4 7e ca 03 00 00 00 c9 c3 24 7a c9 c5 d5 e5 cd de 6e 2b 2b cd 51 17 e3   ┆         ü       $z      n++ Q  ┆
0x07f420…07f440             73 23 72 2b e3 cd c2 16 e1 e5 23 23 73 23 72 c3 5b 1a c5 d5 e5 e5 2b 2b cd de 6e e1 e5 cd 51 17   ┆s#r+      ##s#r Æ     ++  n   Q ┆
0x07f440…07f460             eb e3 23 72 2b 73 e3 cd e1 16 e1 2b 72 2b 73 c3 5b 1a d5 e5 cd 51 17 cd 35 17 e1 d1 c9 9b 00 00   ┆  #r+s     +r+s Æ    Q  5       ┆
0x07f460…07f480             00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
          […0x3…]
0x07f4e0…07f500             c3 01 7b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆  æ                             ┆
0x07f500…07f520             00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
0x07f520…07f540             00 00 00 00 e1 31 67 7c e5 2a 06 00 22 67 7c 2a 01 00 22 69 7c e5 11 6b 7c cd 71 7b e1 11 fd ff   ┆     1gø *  "gø*  "iø  kø qæ    ┆
0x07f540…07f560             19 01 39 00 11 6f 7c cd 74 7b 11 b6 79 cd d3 7b ca 83 7a cd de 7b ca 83 7a da 83 7a 01 21 00 11   ┆  9  oø tæ  y  æ  z  æ  z  z !  ┆
0x07f560…07f580             5c 00 21 13 79 cd 74 7b 01 80 00 11 80 00 21 34 79 cd 74 7b cd 40 7b 11 80 00 cd c5 7b 1a cd 00   ┆Ø ! y tæ      !4y tæ @æ     æ   ┆
0x07f580…07f5a0             01 3e 00 31 65 7c b7 f5 2a 67 7c 22 06 00 2a 69 7c 22 01 00 eb 21 06 00 19 e5 21 6b 7c cd 6c 7b   ┆ > 1eø  *gø"  *iø"   !    !kø læ┆
0x07f5a0…07f5c0             d1 21 78 7c cd 6c 7b 06 00 11 aa 7c cd d3 7b c2 c8 7a 21 d8 7c cd 7f 7b cd a6 7b 21 e4 7c cd 7f   ┆ !xø læ    ø  æ  z! ø  æ  æ! ø  ┆
0x07f5c0…07f5e0             7b 04 cd d3 7b ca 09 7c c5 cd de 7b c1 ca 15 7c da 0f 7c 24 3a d2 7c bc d2 15 7c 2a ce 7c 3a d0   ┆æ   æ  ø   æ   ø  ø$: ø   ø* ø: ┆
0x07f5e0…07f600             7c be c2 1b 7c 3e 20 32 5d 00 f1 c0 04 05 c0 f5 21 d6 7c cd 7f 7b cd a6 7b 21 e4 7c cd 7f 7b f1   ┆ø   ø> 2Å       ! ø  æ  æ! ø  æ ┆
0x07f600…07f620 (33, 1, 15) 25 cd bd 1a cd ca 24 f1 e3 c5 4f e5 2a 2b 02 e3 e5 cd 19 33 2a 1d 37 22 ac 38 2a ac 38 cd 4f 21   ┆%     $   O *+     3* 7" 8* 8 O!┆
0x07f620…07f640             cd a5 24 e1 e5 06 14 cd 72 23 2b 77 23 cd b0 24 7e b7 ca 50 6e cd 7e 6e da 64 6e b7 c2 64 6e 47   ┆  $     r#+w#  $ü  Pn ün dn  dnG┆
0x07f640…07f660             e1 e5 cd 12 18 79 3d cc ba 18 ca 76 6e 78 fe ff f5 cd a5 24 f1 e1 e3 f5 7d 21 2b 02 be c4 84 29   ┆     y=    vnx     $    å!+    )┆
0x07f660…07f680             f1 e1 c1 c9 cd b7 1a 65 3a e1 e5 cd e5 1a cd ba 24 67 3a c3 1a 6e cd ba 24 69 3a c3 1a 6e c5 d5   ┆       e:       $g:  n  $i:  n  ┆
0x07f680…07f6a0             d5 af 0e 10 12 13 0d c2 84 6e d1 d5 cd ef 6e 12 13 0e 08 cd b5 6e fe 2e c2 9c 6e 23 0e 03 cd b5   ┆         n    n      n .  n#    ┆
0x07f6a0…07f6c0             6e d1 13 1a 1b fe 20 ca b1 6e cd 7e 17 b7 d1 c1 c9 37 d1 c1 c9 cd d3 6e ca c8 6e 12 13 0d c2 b5   ┆n        n ü     7     n  n     ┆
0x07f6c0…07f6e0             6e cd d3 6e c2 c1 6e c9 f5 3e 20 12 13 0d c2 c9 6e f1 c9 7e cd de 6e c8 23 cd e2 17 b7 c9 fe 2e   ┆n  n  n  >      n  ü  n #      .┆
0x07f6e0…07f700             c8 fe 3a c8 fe 2a c8 fe 3f c8 fe 20 d0 bf c9 cd 7e 17 23 7e 2b fe 3a c2 07 6f 7e cd d8 17 d2 07   ┆  :  *  ?       ü #ü+ :  oü     ┆
0x07f700…07f720             6f d6 40 23 23 b7 c9 cd 76 19 37 c9 e5 cd f1 24 2a 1d 37 26 00 cd 4f 21 62 6b cd d0 1a cd a5 24   ┆o @##   v 7    $* 7&  O!bk     $┆
0x07f720…07f740             e1 e5 06 05 cd 5d 23 cd 7e 17 d5 cd 3c 6f cd 7e 17 b7 eb d1 c2 10 6f e3 e1 c3 b0 24 11 00 00 7e   ┆     Å# ü   <o ü      o    $   ü┆
0x07f740…07f760             fe 3a d0 d6 30 d8 23 e5 62 6b 19 29 19 29 dc 5d 6f 5f 16 00 19 dc 5d 6f eb e1 c3 3f 6f 21 ff ff   ┆ :  0 # bk ) ) Åo_    Åo   ?o!  ┆
0x07f760…07f780             c9 2a 7f 39 eb 2a 91 39 cd 2c 17 11 21 27 cd 68 17 3f d0 21 ef 39 22 07 38 c9 9b 00 00 00 00 00   ┆ * 9 * 9 ,  !' h ? ! 9" 8       ┆
0x07f780…07f7a0             00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
          […0x3…]
0x07f800…07f820 (34, 0, 1)  2b 73 c3 5b 1a 21 8d 39 d5 e5 cd 51 17 cd 35 17 e1 d1 c9 cd 36 4b d0 c5 d5 e5 cd a3 4b da 5b 1a   ┆+s Æ ! 9   Q  5     6K      K Æ ┆
0x07f820…07f840             3a c7 38 47 05 87 4f 0d cd a3 4b 05 ca 33 4b 0d c2 28 4b c3 61 4b c5 d5 e5 cd 64 4b da 5b 1a 21   ┆: 8G  O   K  3K  (K aK    dK Æ !┆
0x07f840…07f860             b3 38 34 46 21 c8 38 af 86 05 c2 48 4b 3d f6 07 4f 3a c7 38 3d 47 cd 64 4b 05 ca 61 4b 0d c2 56   ┆ 84F! 8    HK=  O: 8=G dK  aK  V┆
0x07f860…07f880             4b c3 5a 1a 2a b4 38 eb 2a 8b 39 cd 2c 17 eb 2a 89 39 cd 68 17 d8 e5 2a 8f 71 eb 2a ba 38 cd 68   ┆K Z * 8 * 9 ,  * 9 h   * q * 8 h┆
0x07f880…07f8a0             17 e1 11 6d 71 d2 8e 4b cd 35 1a c3 9b 4b cd 1e 1a eb 2a ba 38 23 22 ba 38 eb 04 11 80 00 19 22   ┆   mq  K 5   K    * 8#" 8      "┆
0x07f8a0…07f8c0             89 39 c9 2a 8f 39 cd b2 4c c2 bb 4b 3a 18 39 57 cd 46 17 e5 7a cd 19 4c c3 c0 4b 11 80 ff 19 e5   ┆ 9 * 9  L  K: 9W F  z  L  K     ┆
0x07f8c0…07f8e0             e3 e5 2a b6 38 eb 2a 8d 39 19 d1 cd 68 17 eb e3 da bb 4c e5 2a bc 38 eb cd 59 4a cd 68 17 e1 d2   ┆  * 8 * 9   h     L * 8  YJ h   ┆
0x07f8e0…07f900             eb 4b 11 5c 00 cd 3c 1a c3 10 4c e5 2a be 38 eb cd 59 4a cd 68 17 e1 11 f4 38 d2 03 4c cd 35 1a   ┆ K Ø  <   L * 8  YJ h    8  L 5 ┆
0x07f900…07f920             c3 10 4c cd 1e 1a e5 2a be 38 2b 22 be 38 e1 04 cd b2 4c b7 e1 22 8f 39 c9 c5 d5 11 ce 3b d5 47   ┆  L    * 8+" 8    L  " 9     ; G┆
0x07f920…07f940             0e 82 04 2b 1b 7e 12 23 13 0d 05 c2 25 4c 3e 1a 12 13 0d c2 2e 4c c3 5b 1a cd b2 4c c8 c5 d5 e5   ┆   + ü #    %L>     .L Æ   L    ┆
0x07f940…07f960             cd a3 4a b7 14 15 cc 36 4b da 15 4d 2a c2 38 eb 21 91 39 cd 08 4d c3 68 4c c5 d5 e5 cd b2 4c ca   ┆  J    6K  M* 8 ! 9  M hL     L ┆
0x07f960…07f980             36 4c 21 91 39 cd ee 4c 2a 8f 39 cd 81 4c d4 9a 4c da 77 4c 32 18 39 22 8f 39 0d c2 6b 4c c3 61   ┆6L! 9  L* 9  L  L wL2 9" 9  kL a┆
0x07f980…07f9a0             4b cd 38 1d 11 f3 38 1a 13 b7 37 c4 aa 19 d0 11 5b 00 1a 13 b7 37 c4 a3 19 c9 06 80 7e fe 1a ca   ┆K 8   8   7     Æ    7      ü   ┆
0x07f9a0…07f9c0             ab 4c 23 05 c2 9c 4c 37 3e 80 c9 cd bc 19 3e 80 90 c9 e5 3a 5b 00 21 f3 38 b6 37 e1 c9 c5 d5 e5   ┆ L#   L7>     >    :Æ ! 8 7     ┆
0x07f9c0…07f9e0             3a 6c 71 b7 37 ca 36 4c 11 17 4b 21 89 39 cd f1 4c 2a 89 39 cd 38 1d 11 80 ff 19 11 6d 71 cd aa   ┆:lq 7 6L  K! 9  L* 9 8      mq  ┆
0x07f9e0…07fa00             19 da 61 4b 22 89 39 0d c2 d4 4c c3 61 4b 11 36 4b e5 2a c2 38 d5 cd a3 4a cd 68 17 e1 dc 1a 4d   ┆  aK" 9   L aK 6K * 8   J h    M┆
0x07fa00…07fa20 (34, 0, 2)  5b cd 2c 54 c1 f1 c2 f0 52 e5 7a e6 62 67 0a e6 95 b4 02 e1 c9 cd 2c 54 cd 40 54 7a e6 fe 57 c3   ┆Æ ,T    R z bg        ,T @Tz  W ┆
0x07fa20…07fa40             62 4e 16 15 c5 cd 80 5c cd 62 4e c1 c9 3a 70 38 3d c3 36 53 3e ff cd 01 5d d5 e5 21 04 00 09 0a   ┆bN     Ø bN  :p8= 6S>   Å  !    ┆
0x07fa40…07fa60             e6 04 ca 4c 53 7e e6 df 77 c3 5d 53 0a e6 01 ca 57 53 7e b7 c2 5d 53 cd 69 53 c3 60 53 cd 40 54   ┆   LSü  w ÅS    WSü  ÅS iS `S @T┆
0x07fa60…07fa80             cd 22 54 f2 3b 53 e1 d1 c9 cd 52 4e cd 22 54 f8 cd 60 56 0a f6 01 02 cd 40 54 cd 22 54 fa 1c 54   ┆ "T ;S    RN "T  `V     @T "T  T┆
0x07fa80…07faa0             7a e6 02 c2 ec 53 0a e6 01 ca 1c 54 0a e6 02 c2 1c 54 cd 23 4e ca 09 53 f5 c5 cd 80 5c 0a e6 7f   ┆z    S     T     T #N  S    Ø   ┆
0x07faa0…07fac0             02 c1 f1 da cc 53 cd 60 56 cd 23 4e da c6 53 f5 cd e7 5a cd 2c 54 cd 40 54 f1 ca 09 53 cd 22 54   ┆     S `V #N  S   Z ,T @T   S "T┆
0x07fac0…07fae0             fa 1c 54 c3 a6 53 cd 2c 54 c3 73 53 c5 03 03 03 03 0a e6 01 ca 1b 54 cd 23 4e c1 ca e1 53 d2 1c   ┆  T  S ,T sS          T #N   S  ┆
0x07fae0…07fb00             54 f5 cd cc 5a f1 ca 09 53 c3 cc 53 c5 cd 80 5c 0a c1 e6 04 ca fc 53 16 10 c3 1c 54 0a e6 03 fe   ┆T   Z   S  S   Ø      S    T    ┆
0x07fb00…07fb20             03 c2 07 54 0a e6 80 f6 13 57 cd 62 4e cd 40 54 cd 22 54 f2 fc 53 16 12 c3 1c 54 c1 cd 62 4e c3   ┆   T     W bN @T "T  S    T  bN ┆
0x07fb20…07fb40             6c 53 3a 71 38 e5 21 1e 71 be e1 c9 d5 e5 c5 01 31 71 cd 52 4e 7a f6 01 57 c1 cd 62 4e e1 d1 c9   ┆lS:q8 ! q       1q RNz  W  bN   ┆
0x07fb40…07fb60             03 03 03 03 3a 1e 71 3c 32 1e 71 c9 cd 80 5c 3a 1e 71 3d c3 48 54 d5 e5 c5 2a 81 45 eb 21 fe 71   ┆    : q<2 q   Ø: q= HT   * E ! q┆
0x07fb60…07fb80             23 23 23 23 14 1d ca ea 54 7e b7 ca 60 54 e6 04 c2 60 54 23 23 23 7e b7 fa 63 54 2b b6 2b b6 2b   ┆####    Tü  `T   `T###ü  cT+ + +┆
0x07fb80…07fba0             c2 93 54 7a cd e8 5c f2 a9 54 7e e6 02 ca 60 54 c3 a9 54 15 2b 7e 47 2b b6 2b b6 2b ca a4 54 78   ┆  Tz  Ø  Tü   `T  T +üG+ + +  Tx┆
0x07fba0…07fbc0             b7 f2 ea 54 7e b7 ca ea 54 7e e6 04 c2 ea 54 7e e6 02 ca ce 54 7a e5 21 85 45 be e1 fa ea 54 2b   ┆   Tü   Tü    Tü    Tz ! E    T+┆
0x07fbc0…07fbe0             2b 2b 2b 15 7e b7 ca ea 54 e6 06 c2 ea 54 44 4d 7a 21 84 45 be fa ea 54 21 86 45 be f2 ea 54 32   ┆+++ ü   T    TDMz! E   T! E   T2┆
0x07fbe0…07fc00             1e 71 32 69 38 b7 e1 e1 d1 c9 37 c1 e1 d1 c9 fe 20 d2 82 55 fe 09 c2 0f 55 f5 3e 20 cd ef 54 ca   ┆ q2i8     7        U    U >   T ┆
0x07fc00…07fc20 (34, 0, 3)  e5 d5 c5 57 3a 20 37 b7 c2 19 5b 3a 7b 02 b7 c2 21 5b c1 d1 e1 f1 c3 b8 5c cd 37 5b c1 d1 e1 f1   ┆   W: 7   Æ:æ   !Æ      Ø 7Æ    ┆
0x07fc20…07fc40             c9 cd 37 5b cd 2a 22 21 7b 02 c1 e5 6a 26 00 cd 4f 21 e1 d1 c3 4e 22 3a 6b 38 82 57 d5 cd 41 23   ┆  7Æ *"!æ   j&  O!   N":k8 W  A#┆
0x07fc40…07fc60             e5 cd c8 20 eb 2a 70 39 cd 35 17 eb 2a 6e 39 eb cd c3 02 cd e1 16 cd c9 02 eb cd 35 17 e1 d1 c3   ┆     *p9 5  *n9            5    ┆
0x07fc60…07fc80             f2 20 f5 e5 d5 57 cd 8c 5c 3a 20 37 b7 c2 b3 5b 3a 74 02 b7 c2 ba 5b 3e 03 ba f2 83 5b d1 e1 f1   ┆     W  Ø: 7   Æ:t    Æ>    Æ   ┆
0x07fc80…07fca0             c3 b8 5c 3a 2b 02 b7 c2 7d 5b 3a 99 38 21 9c 38 b6 ca 9b 5b 3a 86 38 b7 ca 7d 5b af 32 94 38 cd   ┆  Ø:+   åÆ: 8! 8   Æ: 8  åÆ 2 8 ┆
0x07fca0…07fcc0             be 29 cd 2b 29 cd b6 22 3e 0a cd 6d 1f d1 e1 f1 c3 a6 5c cd c3 5b d1 e1 f1 c9 cd c3 5b 21 74 02   ┆ ) +)  ">  m      Ø  Æ      Æ!t ┆
0x07fcc0…07fce0             c3 2b 5b 3a 6b 38 82 57 d5 cd 41 23 d1 c3 48 20 cd d3 5b 7c 17 7c 1f 67 7d 1f 6f c9 01 fe 71 f5   ┆ +Æ:k8 W  A#  H   Æø ø gå o   q ┆
0x07fce0…07fd00             c5 d5 e5 50 59 21 f2 72 cd 35 17 eb 21 04 00 19 eb cd e1 16 70 c3 ab 32 f5 c5 d5 e5 60 69 11 fe   ┆   PY! r 5  !       p  2    `i  ┆
0x07fd00…07fd20             71 c3 15 5c f5 c5 01 fe 71 c3 0e 5c f5 c5 d5 e5 50 59 21 f2 72 cd 35 17 21 04 00 19 cd c2 16 eb   ┆q  Ø    q  Ø    PY! r 5 !       ┆
0x07fd20…07fd40             c3 f4 5b f5 c5 cd 04 5c 3d c2 25 5c f1 c1 c9 f5 c5 d5 e5 cd 9a 4e c3 42 5c f5 c5 d5 e5 44 4d cd   ┆  Æ    Ø= %Ø         N BØ    DM ┆
0x07fd40…07fd60             52 4e cd 5c 5c d4 9f 5c c3 ab 32 f5 c5 d5 e5 cd 56 54 d4 9f 5c 03 03 03 03 c3 45 5c 01 02 72 3a   ┆RN ØØ  Ø  2     VT  Ø     EØ  r:┆
0x07fd60…07fd80             80 45 57 0a b7 ca 76 5c e6 04 c2 76 5c cd 23 4e ca 85 5c d2 80 5c 03 03 03 03 15 c2 63 5c 37 c9   ┆ EW   vØ   vØ #N  Ø  Ø      cØ7 ┆
0x07fd80…07fda0             0b 0b 0b 0b c9 0a e6 02 c2 80 5c c9 3a aa 02 b7 c0 3a 70 38 f5 c5 cd 04 5d cd 9f 5c c1 f1 c9 f5   ┆          Ø :    :p8    Å  Ø    ┆
0x07fda0…07fdc0             0a e6 7e 02 f1 c9 f5 c5 d5 01 fe 71 e5 21 83 45 86 e1 c3 c5 5c 3a 82 45 f5 c5 d5 cd 04 5d e5 21   ┆  ü        q ! E    Ø: E     Å !┆
0x07fdc0…07fde0             87 45 96 e1 2f 16 7f c3 d4 5c f5 c5 d5 57 3a 81 45 01 fe 71 5f 1c 1d ca e4 5c 0a a2 02 03 03 03   ┆ E  /    Ø   W: E  q_    Ø      ┆
0x07fde0…07fe00             03 c3 d6 5c d1 c1 f1 c9 c5 47 cd f5 32 4f 78 b9 c1 c9 e5 cd f5 32 21 6d 38 96 2f 3c e1 c9 cd f5   ┆   Ø     G  2Ox      2!m8 /<    ┆
0x07fe00…07fe20 (34, 0, 4)  7f fe 20 c2 13 63 cd c7 4d da 13 63 23 cd 96 17 ca 1a 63 21 4e 71 34 c3 24 63 cd 1f 46 2a 22 71   ┆     c  M  c#     c!Nq4 $c  F*"q┆
0x07fe20…07fe40             2b 22 22 71 e1 c3 17 67 2a ab 71 2d c2 33 63 21 92 03 be c4 96 17 c0 e5 21 00 00 22 4d 71 22 96   ┆+""q   g* q- 3c!        !  "Mq" ┆
0x07fe40…07fe60             38 e1 c9 3a 4d 71 b7 c8 3a 23 37 b7 37 c0 3a ab 71 3d c8 b7 c9 cd 37 63 cd c2 63 cd a4 68 d2 6b   ┆8  :Mq  :#7 7 : q=    7c  c  h k┆
0x07fe60…07fe80             63 21 77 38 7e 36 00 b7 c4 2b 29 1e 7f 21 86 38 35 3a 29 02 3d f5 cd 7f 63 f1 3d f2 75 63 c9 21   ┆c!w8ü6   +)  ! 85:) =   c = uc !┆
0x07fe80…07fea0             23 37 34 35 ca 97 63 cd a9 64 3e 0d cd 6b 46 3e 0a cd 6b 46 c3 c4 62 cd 54 4d cd 62 4d da b9 63   ┆#745  c  d>  kF>  kF  b TM bM  c┆
0x07fea0…07fec0             fe 8d c2 b0 63 2b a3 be c4 0c 4a c4 2f 5c 77 23 cd a0 17 c2 9a 63 c3 88 45 cd 88 45 cd 4b 5c c3   ┆    c+    J /Øw#     c  E  E KØ ┆
0x07fec0…07fee0             8a 63 f5 e5 3a 26 37 21 24 37 be 77 c4 2b 29 e1 f1 c9 d4 11 28 cd c8 20 cd 12 64 cd dc 5b 3d c2   ┆ c  :&7!$7 w +)     (     d  Æ= ┆
0x07fee0…07ff00             db 63 cd 8b 52 cd 79 61 cd e5 65 c3 e1 32 d4 11 28 cd c8 20 cd 12 64 cd 23 5c cd 34 53 cd fe 5c   ┆ c  R ya  e  2  (     d #Ø 4S  Ø┆
0x07ff00…07ff20             0a e6 02 ca e8 63 cd dc 5b cd 8b 52 cd fb 60 c3 fd 63 e5 cd f2 5c 1f 67 1f 84 e6 3f 3c e1 c9 3a   ┆     c  Æ  R  `  c   Ø g   ?<  :┆
0x07ff20…07ff40             a7 71 b7 cc 37 63 cd c4 4d cd 09 60 cd 1f 46 cd 55 64 2a 2b 71 11 f8 ff 19 7e e6 7e 77 c3 a6 64   ┆ q  7c  M  `  F Ud*+q    ü üw  d┆
0x07ff40…07ff60             cd 5f 4d cd 8f 61 4f cd a3 64 21 ab 71 7e b7 79 c2 55 64 34 c9 e6 7f fe 20 d8 3a 4d 71 b7 c8 21   ┆ _M  aO  d! qü y Ud4      :Mq  !┆
0x07ff60…07ff80             4e 71 7e b7 ca 69 64 35 c9 21 9e 71 e5 cd c8 66 21 a6 71 e5 cd 17 67 3e 20 cd 6b 46 e1 cd c8 66   ┆Nqü  id5 ! q   f! q   g>  kF   f┆
0x07ff80…07ffa0             e1 3a a1 71 b7 f4 17 67 c9 cd 5f 4d cd a6 17 c4 c4 4d cd 90 17 f5 cd 54 4d cd 67 60 f1 cc 89 60   ┆ : q   g  _M     M     TM g`   `┆
0x07ffa0…07ffc0             cd 37 63 cd de 45 cd 91 66 f5 e5 2a 2b 71 3a 21 71 b7 c2 bd 64 3a 20 71 fe 09 d2 c5 64 7e e6 7e   ┆ 7c  E  f  *+q:!q   d: q    dü ü┆
0x07ffc0…07ffe0             77 2b 2b 2b 2b 7e e6 7e 77 3e ff 32 4a 71 e1 f1 c9 cd 37 63 cd fc 64 3a 4d 71 b7 c8 21 00 00 22   ┆w++++ü üw> 2Jq    7c  d:Mq  !  "┆
0x07ffe0…080000             ac 71 24 22 aa 71 cd b7 4d cd c7 4d da f6 64 cd 96 17 c2 e9 64 23 01 a6 71 c3 8f 4e cd 6b 65 d2   ┆ q$" q  M  M  d     d#  q  N ke ┆
0x080000…080020 (34, 0, 5)  2a c0 38 29 24 24 eb e1 cd 1b 4d fe 08 da 13 4d d6 04 4f b7 c0 3e 12 cd a0 26 e9 cd 78 4a d5 cd   ┆* 8)$$    M    M  O  >   &  xJ  ┆
0x080020…080040             a3 4a e1 cd 68 17 d2 2a 4d eb 29 7c 4c c9 af 32 0a 71 d5 cd c4 4e c2 44 4d 2a 8d 39 af 32 09 71   ┆ J  h  *M )øL  2 q   N DM* 9 2 q┆
0x080040…080060             2f 32 0a 71 eb 2a 8b 39 da 4e 4d 2a 8f 39 cd 35 17 eb d1 c9 cd 05 4b 2a 8d 39 af 32 09 71 c9 cd   ┆/2 q * 9 NM* 9 5      K* 9 2 q  ┆
0x080060…080080             54 4d 78 b1 cc 6c 4d d8 7e 23 0b c9 e5 21 09 71 7e 36 00 e1 b7 ca 8b 4d 32 0a 71 d5 2a 8d 39 eb   ┆TMx  lM ü#   ! qü6     M2 q * 9 ┆
0x080080…0800a0             2a 8f 39 cd 35 17 eb d1 78 b1 c0 01 9a 71 cd 8f 4e cd 39 4c cd 32 4d 78 b1 c0 37 2a 8f 39 c9 af   ┆* 9 5   x    q  N 9L 2Mx  7* 9  ┆
0x0800a0…0800c0             32 0a 71 d5 cd c4 4e eb 2a 8d 39 d2 b1 4d 2a 89 39 eb cd 35 17 d1 c9 d5 3e ff 32 09 71 2a 8b 39   ┆2 q   N * 9  M* 9  5    > 2 q* 9┆
0x0800c0…0800e0             eb c3 ae 4d cd b7 4d 78 b1 cc d1 4d d8 2b 7e 0b c9 e5 21 09 71 7e 36 ff e1 b7 c2 ef 4d 3d 32 0a   ┆   M  Mx   M +ü   ! qü6     M=2 ┆
0x0800e0…080100             71 d5 21 89 39 cd 51 17 cd 35 17 d1 78 b1 c0 01 9a 71 cd 8f 4e cd bd 4c cd a3 4d 78 b1 c0 37 c9   ┆q ! 9 Q  5  x    q  N  L  Mx  7 ┆
0x080100…080120             cd 52 4e cd 3c 4e c5 d5 cd 48 4e cd 16 4e 03 15 c2 0b 4e d1 c1 c9 03 0a 85 02 03 0a 8c 02 03 0a   ┆ RN <N   HN  N    N             ┆
0x080120…080140             8b 02 c9 c5 03 03 03 0a bb 37 fa 3a 4e 3f c2 3a 4e 0b 0a bc c2 3a 4e 0b 0a bd c1 c9 af 95 6f 3e   ┆         7 :N? :N    :N       o>┆
0x080140…080160             00 9c 67 3e 00 9b 5f c9 f5 01 92 71 3a 7e 45 57 f1 c9 03 0a 6f 03 0a 67 03 0a 5f 0b 0b 0b 0a b7   ┆  g>  _    q:üEW    o  g  _     ┆
0x080160…080180             57 c9 7a 02 03 7d 02 03 7c 02 03 7b 02 0b 0b 0b c9 d5 cd 77 4e d1 c9 eb 2a 8b 39 cd 68 17 eb d8   ┆W z  å  ø  æ       wN   * 9 h   ┆
0x080180…0801a0             c8 eb 2a 8d 39 cd 68 17 eb d0 3e 10 cd a0 26 d5 e5 cd 9a 4e cd 63 4e e1 d1 c9 f5 c5 d5 cd 71 4e   ┆  * 9 h   >   &    N cN       qN┆
0x0801a0…0801c0             eb ca bd 4e 2a 8b 39 da ad 4e 2a 8d 39 eb 7d 93 6f 7c 9a 67 9f 5f c1 50 c1 f1 c3 38 1d 21 00 00   ┆   N* 9  N* 9 å oø g _ P   8 !  ┆
0x0801c0…0801e0             5c c3 b6 4e d5 cd 52 4e cd cd 4e d1 c9 c5 d5 7b eb b7 fa 05 4f 3e 13 c4 a0 26 7a b3 ca 24 4f d5   ┆Ø  N  RN  N    æ    O>   &z  $O ┆
0x0801e0…080200             2a 8d 39 eb 2a 8f 39 cd 2c 17 d1 23 cd 68 17 2b da fa 4e cd 59 4c d2 df 4e eb 2a 8d 39 19 f6 01   ┆* 9 * 9 ,  # h +  N YL  N * 9   ┆
0x080200…080220 (34, 0, 6)  a1 55 3a 45 71 82 e6 07 c2 fa 54 f1 fe 00 c9 fe 1e c2 22 55 3a 25 02 b7 ca b1 55 cd 27 55 c8 c3   ┆ U:Eq     T       "U:%    U 'U  ┆
0x080220…080240             f0 55 fe 1f c2 33 55 3a b7 03 e5 21 22 37 a6 e1 c3 ef 54 f5 cd 6e 0a d2 41 55 3a 25 02 b7 ca 63   ┆ U   3U:   !"7    T  n  AU:%   c┆
0x080240…080260             55 3e 5e cd ef 54 ca a1 55 f1 f5 c6 40 cd ef 54 ca a1 55 f1 f5 cd 6e 0a dc f0 55 cc f0 55 e4 f7   ┆U>^  T  U   @  T  U   n   U  U  ┆
0x080260…080280             55 f1 c9 f1 e5 21 95 03 be e1 ca 80 55 f5 cd b1 55 f1 e5 2a 45 71 23 23 22 45 71 e1 cd 54 55 c9   ┆U    !      U   U  *Eq##"Eq  TU ┆
0x080280…0802a0             3e 20 cc 38 1d fe 7f c2 8c 55 3e 7e 1d ca a2 55 e5 21 48 71 ae e1 77 23 3a 0a 71 b7 c4 bb 55 14   ┆>  8     U>ü   U !Hq  w#: q   U ┆
0x0802a0…0802c0             c9 f1 2a 43 71 22 45 71 2a 41 71 eb 2a 3f 71 bf c9 3a 0a 71 b7 c4 bb 55 f6 ff c9 af 32 0a 71 7a   ┆  *Cq"Eq*Aq *?q  : q   U    2 qz┆
0x0802c0…0802e0             32 25 71 e5 2a 45 71 7a cd 3f 17 22 26 71 e1 3a 48 71 32 28 71 c9 e5 21 21 37 ae e1 c5 e5 21 0a   ┆2%q *Eqz ? "&q :Hq2(q  !!7    ! ┆
0x0802e0…080300             71 46 36 00 e1 cd ef 54 4f 78 32 0a 71 79 c1 c8 e5 2a 45 71 c3 fc 55 e5 2a 45 71 2b 2b 22 45 71   ┆qF6    TOx2 qy   *Eq  U *Eq++"Eq┆
0x080300…080320             e1 c9 c5 d5 cd 9f 4d cd c7 4d f5 d4 22 56 f1 d1 c1 f5 cd 9a 4e f1 c9 c5 d5 cd b7 4d cd 38 56 d1   ┆      M  M  "V      N      M 8V ┆
0x080320…080340             c1 c9 11 00 00 78 b1 cc 55 56 d8 2b 7e 0b 13 e6 7f fe 0a c2 25 56 23 c9 11 00 00 78 b1 cc 55 56   ┆     x  UV +ü       %V#    x  UV┆
0x080340…080360             d8 2b 7e 0b 13 e6 7f 23 fe 0d c8 fe 0a c8 fe 0c c8 2b c3 3b 56 3e 08 ba d8 cd c7 4d d8 23 03 c9   ┆ +ü    #         + ;V>     M #  ┆
0x080360…080380             c5 01 31 71 cd 62 4e 7a 32 3a 71 3e 10 32 39 71 af 32 3e 71 cd 73 58 cd 2e 4d e5 cd 62 4d 32 3b   ┆  1q bNz2:q> 29q 2>q sX .M  bM2;┆
0x080380…0803a0             71 da 85 56 03 3e 20 32 47 71 21 00 00 22 45 71 55 3a 49 02 5f 2a 77 39 3a 3a 71 e6 04 c2 5d 57   ┆q  V > 2Gq!  "EqU:I _*w9::q   ÅW┆
0x0803a0…0803c0             c3 a9 56 cd ef 54 ca 42 57 3a 48 71 e5 21 0a 71 b6 e1 c2 02 57 3a 3c 71 b7 ca c0 56 bb da c1 56   ┆  V  T BW:Hq ! q    W:<q   V   V┆
0x0803c0…0803e0             7b 3d b9 da c7 56 79 b7 ca 02 57 eb e3 eb c5 4f 06 00 1a e6 7f fe 20 da e7 56 fe 7f ca e7 56 77   ┆æ=   Vy   W    O         V    Vw┆
0x0803e0…080400             13 23 04 0d c2 d2 56 78 c1 eb e3 eb e5 67 7b 94 5f 7a 84 57 79 94 dc 38 00 4f 3a 3c 71 94 32 3c   ┆ #    Vx     gæ _z Wy  8 O:<q 2<┆
0x080400…080420 (34, 0, 7)  32 32 1e 71 f5 e5 6f 17 9f 67 29 29 01 1a 72 09 44 4d e1 f1 c9 e5 21 1a 72 cd 1b 17 09 cd d0 5b   ┆22 q  o  g))  r DM    ! r      Æ┆
0x080420…080440             7d e1 c9 3a 29 02 e6 fe ca 2d 5d 3e fe 21 23 37 86 46 4f 3a 77 38 b7 ca 3b 5d 0d 2a a4 38 7c b5   ┆å  :)    -Å> !#7 FO:w8  ;Å * 8ø ┆
0x080440…080460             ca 46 5d 01 fd 00 3a 01 38 87 81 87 21 b8 38 86 87 80 87 4f 21 5c 00 06 0b 23 7e fe 20 ca 61 5d   ┆ FÅ   : 8   ! 8    O!Ø   #ü   aÅ┆
0x080460…080480             0d 05 c2 59 5d 3a 49 02 81 fe 27 fa 77 5d cd 50 28 21 92 36 cd cc 28 cd 26 59 ca 9b 5d af cd 9b   ┆   YÅ:I   ' wÅ P(! 6  ( &Y  Å   ┆
0x080480…0804a0             28 16 45 2a 04 71 23 06 01 cd 84 5e cd bb 28 18 45 2a 06 71 23 cd 84 5e c3 c4 5d af cd 9b 28 1a   ┆( E* q#    ^  ( E* q#  ^  Å   ( ┆
0x0804a0…0804c0             45 3a 95 71 5f 2a 93 71 cd 3c 4e 01 01 00 09 d2 b3 5d 1c cd 4e 5e cd bb 28 1c 45 2a 02 71 1e 00   ┆E: q_* q <N      Å  N^  ( E* q  ┆
0x0804c0…0804e0             23 cd 4e 5e cd bb 28 1e 45 2a 22 71 23 24 25 f2 da 5d cd 1b 17 3e 2d cd 5d 28 06 02 cd 84 5e 3a   ┆# N^  ( E*"q#$%  Å   >- Å(    ^:┆
0x0804e0…080500             24 71 cd 5d 28 2a a4 38 7c b5 ca 06 5e 3e 2b cd 2a 28 cd c9 28 2a 77 39 eb 2a a8 38 cd 2c 17 65   ┆$q Å(* 8ø   ^>+ *(  (*w9 * 8 , e┆
0x080500…080520             2e 00 22 a6 38 c9 3a 23 37 f5 21 77 38 a6 cc 50 28 7e b7 ca 1d 5e 3e 1c cd 9b 28 20 45 3a 4d 71   ┆. " 8 :#7 !w8  P(ü   ^>   ( E:Mq┆
0x080520…080540             b7 ca 2b 5e 3e 1c cd 9b 28 24 45 f1 b7 ca 37 5e 3e 25 cd 9b 28 22 45 3a 29 02 fe 02 fa 4d 5e f5   ┆  +^>   ($E   7^>%  ("E:)    M^ ┆
0x080540…080560             3e 30 cd 9b 28 28 45 f1 f6 30 cd 5d 28 c9 f5 c5 d5 e5 16 00 cd 5a 5e c3 19 1e d5 01 ff ff 11 18   ┆>0  ((E  0 Å(        Z^         ┆
0x080560…080580             fc 03 19 da 61 5e e3 2b 7c e3 b7 f2 61 5e 11 e8 03 19 d1 78 b1 ca 84 5e e5 60 69 11 00 00 cd 5a   ┆    a^ +ø   a^     x   ^ `i    Z┆
0x080580…0805a0             5e e1 06 03 d5 11 5d 28 cd 43 18 d1 c3 68 0b 3a a3 38 b7 c0 3a a1 38 57 1e 00 cd 4a 29 4f 2a 77   ┆^     Å( C   h : 8  : 8W   J)O*w┆
0x0805a0…0805c0             39 3a 49 02 3d 47 3a 26 02 b7 c2 ba 5e 3a 2b 02 b7 c8 3a 22 37 e6 bd c3 e9 5e d5 e5 cd ff 5e 7b   ┆9:I =G:&    ^:+   :"7    ^    ^æ┆
0x0805c0…0805e0             21 24 37 be 7a d2 ca 5e e6 7f 21 22 37 a6 e1 77 d1 23 1c 0d ca e4 5e 05 c2 ba 5e 36 2b cd aa 2c   ┆!$7 z  ^  !"7  w #    ^   ^6+  ,┆
0x0805e0…080600             14 c3 9e 5e 3e 20 c3 eb 5e 77 23 05 c2 e9 5e 36 20 cd aa 2c 14 7a 32 a2 38 3e ff 32 a3 38 c9 7b   ┆   ^>   ^w#   ^6   , z2 8> 2 8 æ┆
0x080600…080620 (34, 0, 8)  12 65 d5 21 00 00 22 22 71 1e ff cd 6d 63 d1 7a b3 c8 3a 23 37 b7 c2 45 65 cd 54 4d e5 2a 22 71   ┆ e !  ""q   mc z  :#7  Ee TM *"q┆
0x080620…080640             eb cd ae 68 eb e1 d2 88 45 cd 62 4d da 42 65 2b cd 9a 17 ca 42 65 23 e5 21 22 71 cd 94 1d e1 c3   ┆   h    E bM Be+    Be# !"q     ┆
0x080640…080660             1c 65 cd 88 45 cd 4b 5c 3e 09 d5 cd e2 67 d1 3a 22 02 b7 3e 09 ca 7b 62 2a 22 71 eb cd ae 68 d2   ┆ e  E KØ>    g :"  >  æb*"q   h ┆
0x080660…080680             c4 62 3e 20 cd 6b 46 13 c3 5c 65 2a 22 71 0e 00 eb 13 3a 22 02 b7 c2 83 65 1b 7b f6 07 5f 13 af   ┆ b>  kF  Øe*"q    :"    e æ  _  ┆
0x080680…0806a0             c3 a5 65 7a b7 ca 99 65 fa 71 65 cd 38 1d 11 00 00 0c 37 c8 0d 0d c3 72 65 7b fe ef d2 8b 65 cd   ┆  ez   e qe 8     7    reæ    e ┆
0x0806a0…0806c0             c7 65 ca 71 65 e6 06 32 4d 71 cd 21 33 c2 c2 65 2a 28 37 cd ae 68 d2 8b 65 2a 26 37 cd ae 68 da   ┆ e qe  2Mq !3  e*(7  h  e*&7  h ┆
0x0806c0…0806e0             71 65 0c 37 c8 b7 c9 e5 7b b7 1f f5 21 09 36 cd 3f 17 f1 7e da db 65 0f 0f 0f 0f e6 0f e1 c9 6f   ┆qe 7    æ   ! 6 ?  ü  e        o┆
0x0806e0…080700             26 00 22 20 71 2a 2b 71 c5 d5 7e e6 02 ca f7 65 2b 2b 2b 2b c3 ea 65 7e e6 04 c4 de 60 c2 f7 65   ┆& " q*+q  ü    e++++  eü    `  e┆
0x080700…080720             22 2b 71 44 4d 23 af 96 cd de 60 86 5f cd 2e 4d cd 18 66 d1 c1 c3 88 45 e5 21 00 00 22 29 71 2a   ┆"+qDM#    ` _ .M  f    E !  ")q*┆
0x080720…080740             20 71 55 7c b5 e1 c2 2c 66 7b b7 c0 cd 62 4d d8 2b 1c 1d ca 59 66 1d cd 9a 17 c8 23 e5 21 29 71   ┆ qUø   ,fæ   bM +   Yf     # !)q┆
0x080740…080760             e6 7f cd 94 1d 23 3a 21 71 be fa 56 66 c2 25 66 2b 7a be d2 25 66 e1 2b c9 cd 88 45 c3 c4 4d 00   ┆     #:!q  Vf %f+z  %f +   E  M ┆
0x080760…080780             00 00 00 00 00 00 00 00 00 00 00 00 00 11 5e 66 cd d4 66 fe 03 dc e1 32 e5 7e ee 90 23 b6 23 b6   ┆              ^f  f    2 ü  # # ┆
0x080780…0807a0             23 b6 e1 ca df 66 36 90 cd 39 5c cd ca 66 cd 39 5c c5 d5 e5 cd a2 66 21 91 71 be 77 c4 19 33 c3   ┆#    f6  9Ø  f 9Ø     f! q w  3 ┆
0x0807a0…0807c0             5b 1a 3a 21 37 b7 c8 01 c6 71 cd 52 4e 7a fe 90 3e 00 c0 01 c2 71 0a fe 90 3e 00 c0 cd 23 4e 3e   ┆Æ :!7    q RNz  >    q   >   #N>┆
0x0807c0…0807e0             00 1f c9 36 10 c3 88 66 36 10 e5 23 af 77 23 77 23 77 e1 c9 cd 2c 17 7d 29 29 11 be 71 19 c9 7e   ┆   6   f6  # w#w#w   , å))  q  ü┆
0x0807e0…080800             e6 7f 77 c3 8e 66 7e e6 10 c8 7e f6 80 be 77 c4 8e 66 f6 80 c9 00 00 00 00 00 00 00 00 00 00 00   ┆  w  fü   ü   w  f              ┆
0x080800…080820 (34, 0, 9)  3e 00 c3 2d 4f 3c 3e 13 c4 a0 26 d5 2a 8b 39 eb 2a 89 39 cd 2c 17 d1 cd 68 17 d2 24 4f cd bd 4c   ┆>  -O<>   & * 9 * 9 ,   h  $O  L┆
0x080820…080840             d2 0b 4f eb 2a 8b 39 19 7a b3 37 3e ff 32 09 71 d1 c1 c3 38 1d 3a 48 02 21 86 45 be da 41 4f 7e   ┆  O * 9 z 7> 2 q   8 :H ! E  AOü┆
0x080840…080860             3d d6 01 32 6d 38 3d 32 70 38 f5 c6 05 be da 52 4f 7e 32 71 38 f1 3d 32 6f 38 cd 04 5d 60 69 22   ┆=  2m8=2p8     ROü2q8 =2o8  Å`i"┆
0x080860…080880             2d 71 11 0c 00 19 22 2f 71 cd a0 48 3e ff 32 ca 38 c3 a5 2f cd 69 50 2a 78 38 11 3a 02 cd 68 17   ┆-q    "/q  H> 2 8  / iP*x8 :  h ┆
0x080880…0808a0             ca af 4f 3a 7f 38 b7 ca af 4f 21 80 38 7e 36 ff b7 cc 4d 50 cd 1f 31 cd 95 5f da ab 4f 3a 7e 38   ┆  O: 8   O! 8ü6   MP  1  _  O:ü8┆
0x0808a0…0808c0             2a 7c 38 eb 2a 78 38 37 c3 eb 4f af 32 7f 38 af 32 80 38 cd fd 4f cd 04 27 2a 79 06 11 0a 00 cd   ┆*ø8 *x87  O 2 8 2 8  O  '*y     ┆
0x0808c0…0808e0             33 30 d2 d3 4f 79 b7 c2 b6 4f 21 f7 61 78 fe 20 da b6 4f e5 2a 78 38 22 7a 38 e1 22 78 38 eb 22   ┆30  Oy   O! ax    O *x8"z8 "x8 "┆
0x0808e0…080900             7c 38 eb 79 32 83 38 78 32 82 38 f5 e5 3a 73 38 21 7f 38 b6 c2 fa 4f 32 72 38 c3 fb 2f 01 a2 71   ┆ø8 y2 8x2 8  :s8! 8   O2r8  /  q┆
0x080900…080920             c5 cd 52 4e 01 ca 71 cd 62 4e e1 c3 c8 66 3a 18 37 fe 02 da 44 50 cd 87 27 cd 33 25 c0 3a 99 38   ┆  RN  q bN   f: 7   DP  ' 3% : 8┆
0x080920…080940             f5 3e 09 cd b0 32 cd a0 32 f1 32 99 38 cd 49 0b c0 cd 08 25 cd 70 32 cd 40 1e cd b3 24 3a 99 38   ┆ >   2  2 2 8 I    % p2 @   $: 8┆
0x080940…080960             32 9b 38 c9 af 32 99 38 af 32 94 38 c9 3a 18 37 b7 c8 cd 40 21 cd ba 24 01 3a c9 cd c4 4d e6 7f   ┆2 8  2 8 2 8 : 7   @!  $ :   M  ┆
0x080960…080980             fe 0d c0 cd 5f 4d cd 88 45 cd 5f 4d cd a0 17 ca 5b 50 cd 79 50 da 66 50 c9 e6 7f fe 1f c8 e5 21   ┆    _M  E _M    ÆP yP fP       !┆
0x080980…0809a0             95 03 be e1 c8 fe 1e 11 25 02 ca 96 50 fe 20 dc 6e 0a d0 11 25 02 1a b7 c0 37 c9 cd 69 50 21 84   ┆        %   P   n   %    7  iP! ┆
0x0809a0…0809c0             38 7e 36 00 b7 ca 31 51 cd 57 52 da cc 50 60 69 2b 7e 2b b6 2b b6 2b c2 bc 50 36 00 21 02 00 09   ┆8ü6   1Q WR  P`i+ü+ + +  P6 !   ┆
0x0809c0…0809e0             5e 23 56 13 13 7b e6 fc b2 ca fd 50 cd f2 5c 1f 1f e6 3f 47 cd f5 32 80 47 3a 6d 38 1f e6 7f fe   ┆^#V  æ     P  Ø   ?G  2 G:m8    ┆
0x0809e0…080a00             0e da e6 50 3e 0e b8 d2 eb 50 78 3d cd 01 5d af 02 cd 40 54 11 00 10 63 6b cd 62 4e 37 f5 3e 7e   ┆   P>    Px=  Å   @T   ck bN7 >ü┆
0x080a00…080a20 (34, 0, 10) 71 e1 22 3f 71 eb 22 41 71 eb 2a 45 71 22 43 71 2a 3f 71 e5 21 3c 71 35 e1 ca 24 58 e3 cd 62 4d   ┆q "?q "Aq *Eq"Cq*?q !<q5  $X  bM┆
0x080a20…080a40             e3 da 53 57 fe 8d ca b1 57 fe 0d ca ab 57 fe 8a ca 7b 57 e6 7f fe 0c ca 96 57 fe 0a c2 a3 56 c3   ┆  SW    W    W   æW      W    V ┆
0x080a40…080a60             8d 57 e3 2b e3 af 32 0a 71 3a ae 03 cd 6d 57 20 c3 db 57 3a ac 03 cd 6d 57 02 c3 db 57 3a ad 03   ┆ W +  2 q:   mW   W:   mW   W:  ┆
0x080a60…080a80             cd 66 57 c3 db 57 fe 20 c8 32 47 71 c9 cd 66 57 e3 3a 39 71 b6 32 39 71 23 e3 c9 cd 26 59 ca 8d   ┆ fW  W   2Gq  fW :9q 29q#   &Y  ┆
0x080a80…080aa0             57 3a b1 03 cd 66 57 3a b8 03 c3 dd 57 3a b0 03 cd 66 57 c3 db 57 cd 26 59 3e 0c ca a3 56 cd ef   ┆W:   fW:    W:   fW  W &Y>   V  ┆
0x080aa0…080ac0             54 ca 42 57 cd 70 57 20 c3 81 57 3a b3 03 c3 b4 57 3a b2 03 cd 66 57 e3 cd 62 4d da d1 57 fe 0a   ┆T BW pW   W:    W:   fW  bM  W  ┆
0x080ac0…080ae0             ca da 57 fe 8a c2 d2 57 cd 26 59 ca da 57 c3 d9 57 23 3a af 03 cd 6d 57 40 2b e3 3e 20 4f cd b1   ┆  W    W &Y  W  W#:   mW@+ > O  ┆
0x080ae0…080b00             55 e5 2a 45 71 7a cd 3f 17 22 45 71 e1 e3 c5 01 35 71 3a 39 71 cd 8f 4e c1 e3 af 77 cc fc 58 c2   ┆U *Eqz ? "Eq    5q:9q  N   w  X ┆
0x080b00…080b20             05 58 cd 30 59 3a 48 71 47 b1 c3 0f 58 77 23 1d c2 0d 58 3a 47 71 b0 77 cd 49 0b e1 01 35 71 cd   ┆ X 0Y:HqG   Xw#   X:Gq w I   5q ┆
0x080b20…080b40             52 4e c1 c9 3a 3d 71 3c 32 3e 71 3d b7 ca 64 58 fe 10 f2 64 58 e5 fe 03 f2 43 58 21 91 71 34 35   ┆RN  :=q<2>q=  dX   dX    CX! q45┆
0x080b40…080b60             c2 63 58 21 b8 03 cd 3f 17 7e b7 ca 63 58 3e 3c e3 cd d6 55 e3 7e e1 c4 d6 55 3e 3e c4 d6 55 ca   ┆ cX!   ? ü  cX><   U ü   U>>  U ┆
0x080b60…080b80             49 57 e5 e1 e3 d5 e5 cd 9a 4e cd 73 58 e1 d1 e3 c3 13 57 c5 d5 e5 af 32 3d 71 3d 32 3c 71 3a 3a   ┆IW       N sX     W    2=q=2<q::┆
0x080b80…080ba0             71 e6 02 c2 9e 58 16 01 01 c2 71 0a e6 90 fe 90 cc ce 58 03 03 03 03 14 7a fe 10 fa 8b 58 3a 91   ┆q    X    q       X     z    X: ┆
0x080ba0…080bc0             71 b7 ca c3 58 3a 3a 71 e6 04 01 c2 71 cc 23 4e ca c0 58 3f 01 c6 71 d4 23 4e ca c3 58 da c3 58   ┆q   X::q    q #N  X?  q #N  X  X┆
0x080bc0…080be0             3e 80 fe af 32 48 71 21 3c 71 34 c3 5b 1a c5 d5 e5 cd d7 58 c3 5b 1a 03 0a 95 6f 03 0a 9c c0 03   ┆>   2Hq!<q4 Æ      X Æ    o     ┆
0x080be0…080c00             0a 9b c0 7d 21 3c 71 be d0 b7 c2 f4 58 7a 21 3e 71 be d8 af 32 3c 71 7a 32 3d 71 c9 3a 96 03 2f   ┆   å!<q     Xz!>q   2<qz2=q :  /┆
0x080c00…080c20 (34, 0, 11) 16 ad 21 26 37 be da 26 5f c2 0e 5f 16 cc 3c 21 28 37 be da 1b 5f c2 26 5f 16 d2 cd 37 5f c8 16   ┆  !&7  &_  _  <!(7   _ &_   7_  ┆
0x080c20…080c40             a1 3d c8 16 a3 c9 16 20 cd 21 33 c4 37 5f c8 cd 1f 5f 7a ee 80 57 c9 7b b7 1f f5 21 09 36 cd 3f   ┆ =       !3 7_   _z  W æ   ! 6 ?┆
0x080c40…080c60             17 f1 7e da 4a 5f 0f 0f 0f 0f e6 0f c9 03 03 03 06 03 09 03 0c 04 00 04 03 04 06 04 09 04 0c 06   ┆  ü J_                          ┆
0x080c60…080c80             00 06 03 06 06 04 0f 07 00 07 03 07 06 07 09 07 0c 07 0f 07 12 07 15 07 18 07 1b 07 1e 07 21 07   ┆                              ! ┆
0x080c80…080ca0             24 07 27 07 2a 07 2d 11 00 11 03 11 06 11 0c 11 0f 11 12 11 15 3a 81 38 c6 07 67 44 4c 54 1e 04   ┆$ ' * -              : 8  gDLT  ┆
0x080ca0…080cc0             cd 7b 1c ca be 5f cd 2c 27 cd b1 1b cd c6 17 3f d8 21 ac 5f cd 3f 17 7e 67 d6 07 32 81 38 3a 00   ┆ æ   _ ,'      ? ! _ ? üg  2 8: ┆
0x080cc0…080ce0             38 b7 ca cb 5f cd 6e 0b c3 d3 5f 1d c2 a0 5f 15 c2 9e 5f 0d c2 9d 5f 05 c2 9c 5f c9 22 01 05 07   ┆8   _ n   _   _   _   _   _ "   ┆
0x080ce0…080d00             09 0c 0f 13 17 1c 21 86 38 35 cd 5f 4d c3 88 45 cd c4 4d cd fc 5f c3 88 45 cd c7 4d cd a0 17 ca   ┆      ! 85 _M  E  M  _  E  M    ┆
0x080d00…080d20             0d 60 cd 79 50 da f9 5f c9 cd a0 17 c0 cd c7 4d d8 e6 7f fe 0d c8 23 c9 21 88 45 e5 cd c4 4d cd   ┆ ` yP  _       M      # ! E   M ┆
0x080d20…080d40             fc 5f 23 03 cd c7 4d d8 cd a6 17 ca 24 60 e6 7f fe 0a ca 09 60 cd 87 17 c8 c3 46 60 cd c7 4d d8   ┆ _#   M     $`      `     F`  M ┆
0x080d40…080d60             cd b2 17 23 c8 2b cd 90 17 c2 3c 60 23 c9 21 86 38 35 cd 54 4d cd 67 60 cd 89 60 c3 88 45 3a 49   ┆   # +    <`# ! 85 TM g`  `  E:I┆
0x080d60…080d80             02 3d fe af c3 df 65 cd 62 4d d8 e6 7f fe 0d ca 8f 61 cd 87 17 c8 2b 03 cd 62 4d d8 cd b2 17 c8   ┆ =    e bM       a    +  bM     ┆
0x080d80…080da0             cd 90 17 c2 78 60 2b 03 c9 cd 62 4d d8 cd a6 17 ca 89 60 2b 03 c9 cd a4 60 3a 69 38 21 6f 38 be   ┆    x`+   bM      `+    `:i8!o8 ┆
0x080da0…080dc0             f2 0d 61 c9 cd db 60 7e e6 02 c2 fb 60 c3 e8 65 2a 2b 71 11 fc ff 19 7e e6 04 c2 fb 60 cd e8 65   ┆  a   `ü    `  e*+q    ü    `  e┆
0x080dc0…080de0             cd e3 60 f2 cf 60 fc 65 61 cd db 60 22 2b 71 cd 5f 4d fe 8a c0 cd 8b 52 c3 b0 60 2a 2b 71 23 23   ┆  `  ` ea  `"+q _M     R  `*+q##┆
0x080de0…080e00             23 23 c9 3a 69 38 3d c3 e8 5c cd f5 32 cd 04 5d 60 69 c3 e8 65 2a 2d 71 c3 e8 65 21 00 00 22 7f   ┆## :i8=  Ø  2  Å`i  e*-q  e!  " ┆
0x080e00…080e20 (34, 0, 12) 00 00 00 11 f4 66 cd d4 66 cd e6 66 3e 05 cc 81 26 3e ff cd 19 33 fe af c5 d5 e5 57 44 4d cd 50   ┆     f  f  f>   &>   3     WDM P┆
0x080e20…080e40             67 ca 5b 1a 7a b7 c4 2c 27 cd 88 45 af 32 b3 38 c3 1e 67 21 92 71 c3 11 67 cd 5f 4d d8 cd 2c 27   ┆g Æ z  ,'  E 2 8  g! q  g _M  ,'┆
0x080e40…080e60             cd 19 33 21 00 08 5d cd cd 4e cd 88 45 c3 39 67 d5 cd 49 0b cd 52 4e 7b b4 b5 ca 87 67 7b b7 fa   ┆  3!  Å  N  E 9g  I  RNæ    gæ  ┆
0x080e60…080e80             73 67 c2 6b 67 7c fe 08 da 82 67 1e 00 21 00 08 c3 82 67 3c c2 7d 67 7c fe f9 d2 82 67 1e ff 21   ┆sg kgø    g  !    g< ågø    g  !┆
0x080e80…080ea0             00 f8 cd cd 4e f6 01 d1 c9 cd 11 28 c3 4f 68 cd 38 1d 21 b2 71 cd c8 66 cd 17 56 cd 38 1d cd 88   ┆    N      ( Oh 8 ! q  f  V 8   ┆
0x080ea0…080ec0             45 cd 4b 5c 21 00 00 22 50 71 c3 38 1d 3a 51 71 b7 fa 62 4d 3a 50 71 fe f3 da 62 4d 37 c9 e6 7f   ┆E KØ!  "Pq 8 :Qq  bM:Pq   bM7   ┆
0x080ec0…080ee0             e5 21 50 71 cd 94 1d e1 c9 3a 96 03 b7 c8 2a 2b 71 7e e6 6e c0 44 4d cd c4 4e 7e cd 5f 25 37 c8   ┆ !Pq     :    *+qü n DM  Nü _%7 ┆
0x080ee0…080f00             af c9 cd 87 17 c8 ee 09 4f ee 09 2a 22 71 eb 21 94 03 ae b2 b3 c8 cd 21 33 c0 2a 24 37 cd 2c 17   ┆        O  *"q !       !3 *$7 , ┆
0x080f00…080f20             45 2b 24 25 f8 c5 7a b3 c4 c9 67 c1 d8 cd a9 64 2a 24 37 22 22 71 cd 38 1d 3e a0 cd 6b 46 0c 0d   ┆E+$%  z   g    d*$7""q 8 >  kF  ┆
0x080f20…080f40             37 3e 20 c4 6a 1d d4 6d 1f 05 c2 16 68 c9 4f cd ac 17 c4 9d 17 c8 cd 21 33 c0 21 22 71 79 cd 94   ┆7>  j  m    h O        !3 !"qy  ┆
0x080f40…080f60             1d cd a4 68 d0 cd c9 67 d8 3e ff 32 4a 71 fe af 32 4f 71 cd ba 68 da 8f 68 cd 00 69 cd 4b 5c da   ┆   h   g > 2Jq  2Oq  h  h  i KØ ┆
0x080f60…080f80             8f 68 2a 5b 71 eb 2a 28 37 cd 2c 17 22 5e 71 2b 7c b7 fa 83 68 cd cc 6b d8 3a 21 02 b7 c4 06 6b   ┆ h*Æq *(7 , "^q+ø   h  k :!    k┆
0x080f80…080fa0             cd 4b 5c cd 37 63 cd 3d 6a cd 4b 5c d2 59 68 cd 38 1d cd 88 45 af 32 96 38 c9 2a 22 71 eb 2a 24   ┆ KØ 7c =j KØ Yh 8   E 2 8 *"q *$┆
0x080fa0…080fc0             37 c3 ae 68 2a 28 37 eb 2a 22 71 c3 ae 68 7a 94 ca b7 68 37 f8 3f c9 7b 95 c9 cd 8f 67 cd 54 4d   ┆7  h*(7 *"q  hz   h7 ? æ    g TM┆
0x080fc0…080fe0             e5 2a 50 71 cd 9d 68 e1 d0 cd 62 4d d8 cd 87 17 37 c8 fe a0 ca e3 68 2b cd 9c 6a da e9 68 7e e6   ┆ *Pq  h   bM    7     h+  j  hü ┆
0x080fe0…081000             7f 77 23 cd be 67 c3 c0 68 cd 88 45 2a 50 71 eb 2a 24 37 22 50 71 cd 2c 17 45 cd 9e 6b c3 54 4d   ┆ w#  g  h  E*Pq *$7"Pq , E  k TM┆
0x081000…081020 (34, 0, 13) cd ca 5c cd 91 52 cd 39 53 f1 d2 3d 51 2a 2d 71 7e e6 02 ca 1f 51 cd dc 5b cd 86 52 c3 0d 51 cd   ┆  Ø  R 9S  =Q*-qü    Q  Æ  R  Q ┆
0x081020…081040             fe 5c 0a e6 04 ca 3d 51 cd 04 5c cd 2d 53 c3 1f 51 cd 57 52 da cc 50 cd 34 53 cd 86 52 cd 69 52   ┆ Ø    =Q  Ø -S  Q WR  P 4S  R iR┆
0x081040…081060             da cc 50 cd af 51 01 a6 71 cd a5 51 7b a4 3c c4 37 63 01 aa 71 cd a5 51 7b b4 c4 37 63 01 ae 71   ┆  P  Q  q  Qæ < 7c  q  Qæ  7c  q┆
0x081060…081080             cd a5 51 7b b7 f4 c2 63 cd 49 0b c0 af 32 49 71 3a 24 37 f5 21 9a 71 e5 cd c8 66 cd c0 47 c2 87   ┆  Qæ   c I   2Iq:$7 ! q   f  G  ┆
0x081080…0810a0             51 21 92 71 cd 17 67 2a 2f 71 44 4d cd 50 67 c4 88 45 e1 cd 17 67 f1 32 24 37 3a 49 71 b7 c8 cd   ┆Q! q  g*/qDM Pg  E   g 2$7:Iq   ┆
0x0810a0…0810c0             34 53 c3 3d 51 cd 52 4e 01 ff ff 09 d8 1d c9 3a 69 38 cd 01 5d 60 69 22 2b 71 cd 52 4e cd 60 56   ┆4S =Q RN       :i8  Å`i"+q RN `V┆
0x0810c0…0810e0             3a 25 71 32 6a 38 2a 26 71 22 20 71 22 22 71 3a 28 71 32 1f 71 cd 49 0b 3a 1e 71 f4 e8 5c f4 a0   ┆:%q2j8*&q" q""q:(q2 q I : q  Ø  ┆
0x0810e0…081100             5a 0a e6 20 ca 1a 52 3a 1e 71 3d cd 01 5d 21 82 45 be ca 17 52 0a e6 04 c2 1a 52 0a e6 11 fe 11   ┆Z     R: q=  Å! E   R     R     ┆
0x081100…081120             c2 17 52 cd 52 4e cd 60 56 2a 45 71 eb 2a 22 71 19 22 22 71 c3 d5 51 3e 3f fe af 32 24 71 21 85   ┆  R RN `V*Eq *"q ""q  Q>?  2$q! ┆
0x081120…081140             38 7e 36 00 2f b7 cc 49 0b c2 35 52 cd 62 21 cd ad 20 cd 4f 21 3a 77 38 3d f8 ca 44 52 cd 50 52   ┆8ü6 /  I  5R b!    O!:w8=  DR PR┆
0x081140…081160             da 4b 52 37 d4 50 52 d8 cd 2b 29 21 77 38 35 c9 cd 9a 68 d4 a4 68 c9 cd 56 54 d8 cd 22 54 37 f8   ┆ KR7 PR  +)!w85   h  h  VT  "T7 ┆
0x081160…081180             c8 b7 c9 cd c0 5a cd 86 52 cd 57 52 d8 3a 1e 71 cd e8 5c fa 63 52 21 6f 38 96 b7 f8 c8 cd b1 5a   ┆     Z  R WR : q  Ø cR!o8      Z┆
0x081180…0811a0             cd 2d 53 c3 69 52 3e 01 c3 8e 52 3a 6d 38 cd 01 5d d5 e5 af 32 fe 71 3a 1e 71 57 21 85 45 be fa   ┆ -S iR>   R:m8  Å   2 q: qW! E  ┆
0x0811a0…0811c0             e2 52 21 fc ff 09 34 35 ca b1 52 cd 4c 54 c3 9b 52 3d 36 00 2b 2b 2b 2b e5 21 85 45 be e1 f2 b1   ┆ R!   45  R LT  R=6 ++++ ! E    ┆
0x0811c0…0811e0             52 d5 cd e5 52 d1 21 fc ff 09 7e b7 ca c1 52 cd 4c 54 21 85 45 be fa e2 52 ba f2 c6 52 fe ff f2   ┆R   R !   ü   R LT! E   R   R   ┆
0x0811e0…081200             c6 52 e1 d1 c9 cd 52 4e cd 02 56 da 22 53 16 10 cd 60 56 cd 23 4e da 15 53 f5 c5 cd 80 5c cd f8   ┆ R    RN  V "S   `V #N  S    Ø  ┆
0x081200…081220 (34, 0, 14) b7 c0 3a 3a 71 e6 46 c0 3a 3b 71 cd 5f 25 c0 c5 e5 01 31 71 cd 9f 4d cd c7 4d e1 c1 3f d0 e6 7f   ┆  ::q F :;q _%    1q  M  M  ?   ┆
0x081220…081240             fe 0c c8 fe 0a c9 3a 27 02 e5 21 28 02 a6 e1 c9 3a 27 02 b7 c8 c5 d5 e5 21 00 00 44 39 22 4b 71   ┆      :'  !(    :'      !  D9"Kq┆
0x081240…081260             4a 2a 77 39 23 7e 2b cd 5f 25 ca 5d 59 eb 21 cd 59 cd 68 25 ca 6d 59 fa 6d 59 d4 64 59 2a 4b 71   ┆J*w9#ü+ _% ÅY ! Y h% mY mY dY*Kq┆
0x081260…081280             f9 c3 5b 1a e9 c9 cd b2 25 da 6d 59 c8 01 7e 08 2a 4b 71 f9 e1 d1 3e 3f cd a5 59 cd 66 57 cd 83   ┆  Æ     % mY  ü *Kq   >?  Y fW  ┆
0x081280…0812a0             59 c1 c9 e5 60 69 d5 cd d6 1a d1 7b 3d ca ae 59 7e b7 ca ae 59 23 cd a5 59 e3 77 23 e3 cd 9c 1b   ┆Y   `i     æ=  Yü   Y#  Y w#    ┆
0x0812a0…0812c0             14 1d c3 8b 59 e5 21 48 71 ae 21 21 37 ae e1 c9 3a b4 03 c3 66 57 cd 66 59 3a 27 02 b7 c8 3a 28   ┆    Y !Hq !!7   :   fW fY:'   :(┆
0x0812c0…0812e0             02 b7 37 c4 52 5a d8 01 31 3a cd 70 59 4c 48 b6 59 50 4c b6 59 4d 54 b6 59 4d 42 b6 59 48 4d 66   ┆  7 RZ  1: pYLH YPL YMT YMB YHMf┆
0x0812e0…081300             59 46 4d 66 59 50 43 66 59 50 4f 66 59 53 52 66 59 55 4a 66 59 42 50 66 59 43 57 66 59 50 41 65   ┆YFMfYPCfYPOfYSRfYUJfYBPfYCWfYPAe┆
0x081300…081320             59 43 50 66 59 50 4e 65 59 4f 50 65 59 48 45 65 59 46 4f 65 59 49 47 65 59 50 46 b0 59 4f 4a b0   ┆YCPfYPNeYOPeYHEeYFOeYIGeYPF YOJ ┆
0x081320…081340             59 49 4a b0 59 4c 4d b0 59 4c 53 b0 59 52 4d b0 59 43 53 b0 59 44 4d b0 59 53 56 b0 59 41 56 b0   ┆YIJ YLM YLS YRM YCS YDM YSV YAV ┆
0x081340…081360             59 52 50 b0 59 44 46 b0 59 52 56 b0 59 46 49 b0 59 00 c5 d5 e5 21 5b 1a e5 01 31 71 cd 9f 4d 16   ┆YRP YDF YRV YFI Y    !Æ   1q  M ┆
0x081360…081380             08 cd c7 4d d8 1b 14 15 b7 c8 cd 5f 25 ca 61 5a cd c7 4d cd 1c 59 c8 c3 65 5a f5 c5 d5 e5 cd fe   ┆   M       _% aZ  M  Y  eZ      ┆
0x081380…0813a0             5c cd 49 0b c2 97 5a 0a e6 80 cc 9a 5a cd 40 54 21 6d 38 be fa 81 5a c3 ab 32 cd 52 4e cd 60 56   ┆Ø I   Z     Z @T!m8   Z  2 RN `V┆
0x0813a0…0813c0             0a e6 80 c0 0a f6 80 02 e5 2a 1e 71 cd b4 1d e1 c9 cd f5 32 cd 94 5c cd 62 5b cd 04 5c c3 91 5c   ┆         * q       2  Ø bÆ  Ø  Ø┆
0x0813c0…0813e0             cd dc 5b cd f5 32 cd ff 5a c3 a6 5c cd 15 5d e5 21 6d 38 be e1 f2 0c 5c cd e8 5c fc f5 32 cd 62   ┆  Æ  2  Z  Ø  Å !m8    Ø  Ø  2 b┆
0x0813e0…081400             5b cd 0c 5c c3 91 5c cd 15 5d cd df 5b e5 21 6d 38 be e1 f0 b7 f2 fc 5a af cd 94 5c c3 ff 5a f5   ┆Æ  Ø  Ø  Å  Æ !m8      Z   Ø  Z ┆
0x081400…081420 (34, 0, 15) 38 c9 3a 8c 38 2f 21 2b 02 a6 c2 ae 29 cd fe 5c 03 03 03 03 0a e6 02 c2 fb 60 cd e3 60 fc a4 60   ┆8 : 8/!+    )  Ø         `  `  `┆
0x081420…081440             21 86 38 35 cd b1 5a 3a 74 02 21 20 37 b6 c2 37 61 3e 03 cd e8 5c f8 3a 6f 38 cd 01 5d 0a e6 80   ┆! 85  Z:t ! 7  7a>   Ø :o8  Å   ┆
0x081440…081460             c0 c3 9a 5a 3a 2b 02 21 8a 38 a6 c2 b5 29 2a 2d 71 2b 2b 2b 2b 7e e6 04 c2 fb 60 3a 69 38 21 6f   ┆   Z:+ ! 8   )*-q++++ü    `:i8!o┆
0x081460…081480             38 be f4 b0 60 cd c0 5a cd 79 61 3a 7b 02 21 20 37 b6 c8 cd fe 5c c3 9a 5a 2a 2d 71 7e e6 04 c8   ┆8   `  Z ya:æ ! 7    Ø  Z*-qü   ┆
0x081480…0814a0             cd e1 32 cd 04 5c cd 34 53 cd fb 60 c3 79 61 e6 7f fe 0d c0 cd 62 4d d8 cd a0 17 c8 2b 03 c9 21   ┆  2  Ø 4S  ` ya      bM     +  !┆
0x0814a0…0814c0             23 37 c3 78 17 3a 24 37 f5 3a ab 71 3d c4 37 63 cd 87 63 2a 8b 39 2b 2b cd 88 45 3e 01 32 ab 71   ┆#7 x :$7 : q= 7c  c* 9++  E> 2 q┆
0x0814c0…0814e0             f1 32 24 37 c9 da e6 61 cd 11 28 11 16 00 cd 0e 50 cd 1f 31 2a 1d 37 cd b1 1b 32 7e 38 32 74 38   ┆ 2$7   a  (     P  1* 7   2ü82t8┆
0x0814e0…081500             cd 17 28 cd 4f 21 fe 20 c8 cd d8 17 d2 f1 61 e6 1f fe 1a c8 c3 5d 62 cd fd 61 c3 a9 64 21 4a 71   ┆  ( O!        a      Åb  a  d!Jq┆
0x081500…081520             36 00 32 7e 38 fe 2d c2 21 62 21 96 38 34 35 f5 c4 1f 62 f1 c2 89 67 21 23 02 34 35 ca 21 62 3e   ┆6 2ü8 - !b! 845   b   g!# 45 !b>┆
0x081520…081540             1e f5 cd 5d 62 f1 21 22 04 34 35 ca 39 62 be 23 c2 29 62 3a 2d 04 cd 5d 62 cd 3f 1c c8 fe 20 d8   ┆   Åb !" 45 9b # )b:-  Åb ?     ┆
0x081540…081560             fe 7e d0 3a 94 38 2f 21 4a 71 b6 21 7f 38 b6 c0 cd fd 4f cd 0d 1c c8 32 82 38 c3 fd 61 cd 28 63   ┆ ü : 8/!Jq ! 8    O    2 8  a (c┆
0x081560…081580             f5 cd e2 67 f1 47 cd 43 63 78 d4 6a 1d dc a9 64 da 7b 62 21 1f 71 ae cd 6d 1f 78 cd 6b 46 fe 20   ┆   g G Ccx j   d æb! q  m x kF  ┆
0x081580…0815a0             dc a9 64 21 86 38 35 f5 cd e8 62 f1 f5 cd 2e 68 f1 fe 1e cc a9 64 ca c4 62 af 32 96 38 cd 5f 4d   ┆  d! 85   b   .h     d  b 2 8 _M┆
0x0815a0…0815c0             da c4 62 cd 9a 17 c8 e6 7f fe 20 dc a9 64 cd 43 63 d8 3a 23 37 b7 c2 a9 64 7e e6 7f fe 20 dc a9   ┆  b          d Cc :#7   dü      ┆
0x0815c0…0815e0             64 c3 de 45 2a 2b 71 7e 23 23 23 e6 02 ca dd 62 7e b7 f2 dd 62 af 77 2b 77 2b 77 23 23 23 11 f5   ┆d  E*+qü###    bü   b w+w+w###  ┆
0x0815e0…081600             72 cd 68 17 d2 c7 62 c9 fe 20 d8 cd 43 63 d0 21 9e 71 e5 cd c8 66 21 a6 71 cd 17 67 cd c4 4d e6   ┆r h   b     Cc ! q   f! q  g  M ┆
0x081600…081620 (34, 1, 1)  c5 e5 cd 38 1d 01 b6 71 3e 10 cd 8f 4e 21 52 71 01 08 00 cd 08 17 e1 c1 16 20 cd 5a 69 d8 ca 1a   ┆   8   q>   N!Rq           Zi   ┆
0x081620…081640             69 3e 0a 32 5a 71 3a 56 71 b7 c0 e5 3a 59 71 b7 ca 39 69 21 03 3a 22 07 38 e1 cd 5a 69 d8 e5 21   ┆i> 2Zq:Vq   :Yq  9i! :" 8  Zi  !┆
0x081640…081660             5a 71 35 e1 c2 26 69 2a 57 71 22 5b 71 2a be 71 22 ba 71 2a c0 71 22 bc 71 c9 cd 97 6a d8 cd ae   ┆Zq5  &i*Wq"Æq* q" q* q" q   j   ┆
0x081660…081680             6a d8 fe 0d c2 6c 69 cd 8f 61 37 c9 e6 7f cd 87 17 37 c8 fe 1f c2 7a 69 3e 1e 2b 77 23 f5 5f cd   ┆j    li  a7      7    zi> +w# _ ┆
0x081680…0816a0             c1 69 f1 57 e5 2a 50 71 e5 cd be 67 d5 2a 28 37 eb 2a 50 71 fe 1e c2 9a 69 23 cd ae 68 d1 d2 ba   ┆ i W *Pq   g *(7 *Pq    i#  h   ┆
0x0816a0…0816c0             69 3a 57 71 b7 c2 ba 69 e1 22 57 71 e1 e5 2b c5 01 be 71 3e 10 cd 8f 4e c1 e5 e1 e1 3a 57 71 b7   ┆i:Wq   i "Wq  +   q>   N    :Wq ┆
0x0816c0…0816e0             c9 7b cd 00 6b ca d8 69 7a cd 00 6b 3e 00 ca e3 69 7b cd ac 17 ca dc 69 32 59 71 c9 7a cd ac 17   ┆ æ  k  iz  k>   iæ     i2Yq z   ┆
0x0816e0…081700             c8 3e 01 c5 e5 47 cd 38 1d 21 52 71 7e 70 23 86 77 7a cd b4 17 78 ca fa 69 af 4f 23 7e 71 23 86   ┆ >   G 8 !Rqüp# wz   x  i O#üq# ┆
0x081700…081720             77 7a 32 5d 71 2a 50 71 fe 1e c2 0e 6a 23 22 5b 71 21 56 71 34 e1 e5 2b 78 f5 01 ba 71 3e 10 cd   ┆wz2Åq*Pq    j#"Æq!Vq4  +x   q>  ┆
0x081720…081740             8f 4e f1 3d c2 38 6a 3a 09 71 f5 cd 9f 4d cd c7 4d f6 80 77 f1 32 09 71 e1 c1 c3 38 1d 01 ba 71   ┆ N = 8j: q   M  M  w 2 q   8   q┆
0x081740…081760             c5 cd 9f 4d cd c7 4d 57 fe 1e c2 4f 6a 36 1f c1 cd 2e 4d 1e 32 cd 97 6a d8 1d ca 6e 6a cd ae 6a   ┆   M  MW   Oj6   .M 2  j   nj  j┆
0x081760…081780             d8 57 cd ac 17 ca 55 6a cd 87 17 37 c8 2b cd 88 45 3a 29 02 3d 5f cd 38 1d 3e 8d cd 6b 46 3e 0a   ┆ W    Uj   7 +  E:) =_ 8 >  kF> ┆
0x081780…0817a0             cd 6b 46 1d f2 76 6a cd 2c 27 2a 24 37 22 50 71 45 cd 9e 6b c3 54 4d 3a 4f 71 b7 c8 c5 d5 e5 cd   ┆ kF  vj ,'*$7"PqE  k TM:Oq      ┆
0x0817a0…0817c0             9a 4e 01 b2 71 cd 23 4e e1 d1 c1 c0 37 c9 cd 62 4d d8 fe 8d ca be 6a fe a0 ca be 6a b7 c9 2b cd   ┆ N  q #N    7  bM     j    j  + ┆
0x0817c0…0817e0             88 45 cd 54 4d cd 62 4d da e2 6a fe a0 ca c5 6a fe 8d cc 4b 5c c2 de 6a cd 8f 61 c3 c5 6a 2b cd   ┆ E TM bM  j    j   KØ  j  a  j+ ┆
0x0817e0…081800             e8 6a cd de 45 c3 5f 4d cd 96 17 c8 e6 7f fe 0c c8 7a e6 7f cd 00 6b c8 cd ac 17 c8 2b 36 20 c9   ┆ j  E _M         z    k     +6  ┆
0x081800…081820 (34, 1, 2)  b7 c8 21 55 3c 35 cd 0d 40 7a cd d8 3f d5 11 a8 06 c3 49 3f 7c b7 c0 78 b1 4f 06 00 c9 7a b1 4f   ┆  !U<5  @z  ?     I?ø  x O   z O┆
0x081820…081840             16 00 c9 3e ff 32 57 3c fe af 32 58 3c cd 4b 40 3a b4 3c cd 3f 40 3c 21 91 06 be da 2a 40 c9 b7   ┆   > 2W<  2X< K@: < ?@<!    *@  ┆
0x081840…081860             ca 48 40 3a 58 3c b7 f0 33 33 c9 af 32 59 3c cd 64 40 3a b5 3c cd 3f 40 3a 59 3c 3c 21 92 06 be   ┆ H@:X<  33  2Y< d@: < ?@:Y<<!   ┆
0x081860…081880             da 4c 40 c9 f6 ff 32 5a 3c cd 7a 40 cd 43 40 3a b6 3c b7 cd 7a 40 3a b7 3c b7 f5 21 5a 3c 34 f1   ┆ L@   2Z< z@ C@: <  z@: <  !Z<4 ┆
0x081880…0818a0             c8 3e ff 3c 32 5b 3c cd 9a 40 3a 5a 3c b7 c0 3a 5b 3c 21 69 3c be da 83 40 c9 01 0e 00 21 5c 3c   ┆ > <2Æ<  @:Z<  :Æ<!i<   @    !Ø<┆
0x0818a0…0818c0             cd 08 17 cd 1e 41 cd 7b 1c c4 49 13 3a e8 3c 21 58 3c b6 f8 21 b4 3c 01 0b 00 c3 08 17 e5 11 6a   ┆     A æ  I : <!X<  ! <        j┆
0x0818c0…0818e0             3c cd c8 40 e1 11 b4 3c 01 0b 00 c3 c2 16 cd b5 3e e6 7f fe 0d c8 fe 0a c8 fe 0c c8 fe 1a c8 fe   ┆<  @   <        >               ┆
0x0818e0…081900             1f c8 c3 f0 40 e6 7f fe 1c c8 fe 15 c8 fe 1d c8 fe 09 c8 fe 1e c9 11 6f 3c 19 1a be 3e 14 cd 16   ┆    @                  o<   >   ┆
0x081900…081920             41 3e 16 cd 16 41 3e 19 cd 16 41 c8 7e b7 3e 01 c2 15 41 3e 0e b7 c4 69 41 23 13 1a be c9 3a 80   ┆A>   A>   A ü >   A>   iA#    : ┆
0x081920…081940             3c b7 c4 45 3f af 32 85 3c 21 20 00 cd f6 40 21 8a 3c cd bd 40 2a ae 3c 1e 00 cd ce 40 ca 59 41   ┆<  E? 2 <!    @! <  @* <    @ YA┆
0x081940…081960             46 23 cd e5 40 c2 4e 41 cd 8c 3e 4f 23 1c 78 cd 69 41 1c 7b fe fe da 3a 41 22 b0 3c 7b 32 b2 3c   ┆F#  @ NA  >O# x iA æ   :A" <æ2 <┆
0x081960…081980             21 6a 3c 11 9c 3c c3 c8 40 c5 d5 e5 11 5b 1a d5 57 e6 7f 47 fe 20 d2 2b 42 fe 07 ca 2b 42 fe 06   ┆!j<  <  @    Æ  W  G   +B   +B  ┆
0x081980…0819a0             ca 2b 42 fe 15 c8 fe 1d c8 11 73 3c fe 1c c2 94 41 eb 71 c9 11 c9 06 fe 11 ca c8 44 11 ce 06 fe   ┆ +B       s<    A q        D    ┆
0x0819a0…0819c0             17 ca c8 44 11 d3 06 fe 05 ca c8 44 11 d8 06 fe 12 ca c8 44 fe 03 c2 bf 41 cd 43 40 c3 69 3f 11   ┆   D       D       D    A C@ i? ┆
0x0819c0…0819e0             25 42 21 6a 3c 1a b8 ca b0 44 23 13 3c c2 c5 41 78 fe 08 ca 4f 44 06 ff 11 b5 06 fe 01 ca ea 41   ┆%B!j<    D# <  Ax   OD         A┆
0x0819e0…081a00             06 00 11 ba 06 fe 0e c2 f1 41 78 32 72 3c c3 c8 44 21 71 3c 11 dd 06 01 e2 06 fe 19 ca ba 44 01   ┆         Ax2r<  D!q<          D ┆
0x081a00…081a20 (34, 1, 3)  5b 1a d5 32 bf 3c 57 e6 7f 47 fe 20 d2 c4 41 fe 07 ca c4 41 fe 06 ca c4 41 14 15 f2 21 41 32 d2   ┆Æ  2 <W  G    A    A    A   !A2 ┆
0x081a20…081a40             3c 11 72 3c fe 15 ca 39 41 11 74 3c fe 1d ca 39 41 11 73 3c fe 1c c2 41 41 eb 71 3e ff 32 c3 3c   ┆< r<   9A t<   9A s<   AA q> 2 <┆
0x081a40…081a60             c9 11 c9 06 fe 11 ca 61 41 11 ce 06 fe 17 ca 61 41 11 d3 06 fe 05 ca 61 41 11 d8 06 fe 12 c2 6a   ┆       aA      aA      aA      j┆
0x081a60…081a80             41 cd dc 43 cd 3b 41 c3 50 43 fe 03 c2 7a 41 cd 3b 41 3a 58 3c b7 f8 c3 87 3f 11 be 41 21 6a 3c   ┆A  C ;A PC   zA ;A:X<    ?  A!j<┆
0x081a80…081aa0             1a b8 ca 37 43 23 13 3c c2 80 41 78 fe 08 ca 24 43 01 8a 43 11 8d 43 21 70 3c fe 16 ca 3a 43 d5   ┆   7C# <  Ax   $C  C  C!p<   :C ┆
0x081aa0…081ac0             50 59 c1 2b fe 14 ca 3a 43 fe 19 ca 1f 42 fe 0b c4 38 00 3a 58 3c b7 f8 cd dc 43 c3 9b 3f 02 04   ┆PY +   :C    B   8 :X<    C  ?  ┆
0x081ac0…081ae0             13 18 10 ff c5 cd 53 13 c1 48 cd ea 41 3a 6a 3c b7 c8 78 fe 20 c8 3a 91 06 3d c8 f5 2a ea 3c eb   ┆      S  H  A:j<  x   :  =  * < ┆
0x081ae0…081b00             cd 61 43 cd ea 41 f1 c3 d9 41 51 3a 58 3c b7 f8 cd 05 42 3a 6b 3c b7 c8 3a 92 06 3d c8 f5 cd 05   ┆ aC  A   AQ:X<    B:k<  :  =    ┆
0x081b00…081b20             42 f1 c3 fb 41 7a cd 1f 42 7a fe 20 c8 3a 6c 3c b7 3a 0c 07 c4 1f 42 3a 6d 3c b7 3a 0b 07 c8 c5   ┆B   Az  Bz   :l< :    B:m< :    ┆
0x081b20…081b40             d5 e5 21 5b 1a e5 fe 20 c8 c3 ba 43 f5 3a 58 3c b7 fa 7c 17 f1 c5 d5 e5 21 5b 1a e5 f5 3a 86 07   ┆  !Æ       C :X<  ø     !Æ   :  ┆
0x081b40…081b60             3d f4 aa 42 f1 47 c5 cd 57 42 c1 cd 7a 42 21 00 00 22 36 3d c3 49 13 3a 18 07 b7 ca 49 13 cd 68   ┆=  B G  WB  zB!  "6= I :    I  h┆
0x081b60…081b80             42 d0 cd a0 42 c3 57 42 3a 17 07 b7 ca 1a 07 3d ca 28 07 3d ca 4c 07 c3 58 07 3a 17 07 b7 4f 78   ┆B   B WB:      = ( = L  X :   Ox┆
0x081b80…081ba0             ca 1d 07 0d ca 33 07 0d ca 4f 07 c3 5b 07 3a 17 07 b7 fa 25 07 3d ca 37 07 3d ca 52 07 c3 64 07   ┆     3   O  Æ :    % = 7 = R  d ┆
0x081ba0…081bc0             e5 2a 36 3d 23 cd 51 42 e1 c9 3a 86 07 3d ca d5 42 cd 8e 42 da ca 42 21 ec 3c e6 7f fe 11 c2 c3   ┆ *6=# QB  :  =  B  B  B! <      ┆
0x081bc0…081be0             42 36 00 fe 13 c2 ca 42 36 80 3a ec 3c b7 f0 cd a0 42 c3 aa 42 cd f8 42 21 ed 3c 34 3a 87 07 3d   ┆B6     B6 : <    B  B  B! <4:  =┆
0x081be0…081c00             be d0 3e 01 32 ed 3c cd a0 42 cd f8 42 7e b7 fa e7 42 35 3e 03 c3 45 42 cd 8e 42 21 ec 3c d8 e6   ┆  > 2 <  B  Bü   B5>  EB  B! <  ┆
0x081c00…081c20 (34, 1, 4)  09 73 65 74 20 64 65 66 61 75 6c 74 20 62 75 66 66 65 72 20 61 64 64 72 65 73 73 20 74 6f 20 38   ┆ set default buffer address to 8┆
0x081c20…081c40             30 68 0d 0a 09 6c 78 69 09 62 2c 62 75 66 66 0d 0a 09 63 61 6c 6c 09 73 65 74 64 6d 61 0d 0a 3b   ┆0h   lxi b,buff   call setdma  ;┆
0x081c40…081c60             0d 0a 3b 09 72 65 73 65 74 20 6d 6f 6e 69 74 6f 72 20 65 6e 74 72 79 20 70 6f 69 6e 74 73 0d 0a   ┆  ; reset monitor entry points  ┆
0x081c60…081c80             09 6d 76 69 09 61 2c 6a 6d 70 0d 0a 09 73 74 61 09 30 0d 0a 09 6c 78 69 09 68 2c 77 62 6f 6f 74   ┆ mvi a,jmp   sta 0   lxi h,wboot┆
0x081c80…081ca0             65 0d 0a 09 73 68 6c 64 09 31 09 3b 6a 6d 70 20 77 62 6f 6f 74 20 61 74 20 6c 6f 63 61 74 69 6f   ┆e   shld 1 ;jmp wboot at locatio┆
0x081ca0…081cc0             6e 20 30 30 0d 0a 09 73 74 61 09 35 0d 0a 09 6c 78 69 09 68 2c 62 64 6f 73 0d 0a 09 73 68 6c 64   ┆n 00   sta 5   lxi h,bdos   shld┆
0x081cc0…081ce0             09 36 09 3b 6a 6d 70 20 62 64 6f 73 20 61 74 20 6c 6f 63 61 74 69 6f 6e 20 35 0d 0a 09 69 66 09   ┆ 6 ;jmp bdos at location 5   if ┆
0x081ce0…081d00             6e 6f 74 20 74 65 73 74 0d 0a 09 73 74 61 09 37 2a 38 09 3b 6a 6d 70 20 74 6f 20 6d 6f 6e 38 30   ┆not test   sta 7*8 ;jmp to mon80┆
0x081d00…081d20             20 28 6d 61 79 20 68 61 76 65 20 62 65 65 6e 20 63 68 61 6e 67 65 64 20 62 79 20 64 64 74 29 0d   ┆ (may have been changed by ddt) ┆
0x081d20…081d40             0a 09 6c 78 69 09 68 2c 6d 6f 6e 38 30 0d 0a 09 73 68 6c 64 09 37 2a 38 2b 31 0d 0a 09 65 6e 64   ┆  lxi h,mon80   shld 7*8+1   end┆
0x081d40…081d60             69 66 0d 0a 3b 09 6c 65 61 76 65 20 69 6f 62 79 74 65 20 73 65 74 0d 0a 3b 09 70 72 65 76 69 6f   ┆if  ; leave iobyte set  ; previo┆
0x081d60…081d80             75 73 6c 79 20 73 65 6c 65 63 74 65 64 20 64 69 73 6b 20 77 61 73 20 62 2c 20 73 65 6e 64 20 70   ┆usly selected disk was b, send p┆
0x081d80…081da0             61 72 61 6d 65 74 65 72 20 74 6f 20 63 70 6d 0d 0a 09 6c 64 61 09 63 64 69 73 6b 09 3b 6c 61 73   ┆arameter to cpm   lda cdisk ;las┆
0x081da0…081dc0             74 20 6c 6f 67 67 65 64 20 64 69 73 6b 20 6e 75 6d 62 65 72 0d 0a 09 6d 6f 76 09 63 2c 61 09 3b   ┆t logged disk number   mov c,a ;┆
0x081dc0…081de0             73 65 6e 64 20 74 6f 20 63 63 70 20 74 6f 20 6c 6f 67 20 69 74 20 69 6e 0d 0a 09 65 69 0d 0a 09   ┆send to ccp to log it in   ei   ┆
0x081de0…081e00             6a 6d 70 09 63 70 6d 62 0d 0a 3b 0d 0a 3b 09 65 72 72 6f 72 20 63 6f 6e 64 69 74 69 6f 6e 20 6f   ┆jmp cpmb  ;  ; error condition o┆
0x081e00…081e20 (34, 1, 5)  fe 2d c8 fe 1e c9 3a 53 71 b7 c8 47 3a 5e 71 21 68 71 36 ff 34 90 d2 14 6b 80 21 55 71 96 d2 24   ┆ -    :Sq  G:^q!hq6 4   k !Uq  $┆
0x081e20…081e40             6b 86 77 af 4f b7 1f d2 34 6b 21 60 71 34 ca 34 6b 3c 35 35 32 69 71 78 21 55 71 96 91 32 6a 71   ┆k w O   4k!`q4 4k<552iqx!Uq  2jq┆
0x081e40…081e60             01 b6 71 cd 2e 4d cd 38 1d cd 62 4d da 8c 6b b7 f2 49 6b e5 cd 38 1d 21 53 71 35 ca 8b 6b cd b2   ┆  q .M 8  bM  k  Ik  8 !Sq5  k  ┆
0x081e60…081e80             17 3a 68 71 c2 6e 6b 21 55 71 35 f2 7d 6b 21 69 71 35 f2 7d 6b 21 6a 71 35 fa 7d 6b 3d 3c e1 ca   ┆ :hq nk!Uq5 åk!iq5 åk!jq5 åk=<  ┆
0x081e80…081ea0             49 6b cd 8f 6b cd 54 4d c3 49 6b e1 3a 5e 71 cd 88 45 21 5e 71 be da 9a 6b 7e 47 7e 90 77 cd 38   ┆Ik  k TM Ik :^q  E!^q   küGü w 8┆
0x081ea0…081ec0             1d 78 b7 c8 fe 10 da ab 6b 3e 10 4f 78 91 47 c5 06 00 11 bc 6b cd b3 49 c1 c3 9e 6b a0 a0 a0 a0   ┆ x      k> Ox G     k  I   k    ┆
0x081ec0…081ee0             a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 3a 24 02 2f 21 4f 71 b6 c0 3a 53 71 1f b7 1f 21 99 03 86 21   ┆            :$ /!Oq  :Sq   !   !┆
0x081ee0…081f00             5e 71 be d0 cd 5c 33 11 09 9b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆^q   Ø3                         ┆
0x081f00…081f20             9a 10 01 14 00 00 00 00 e9 6e 00 00 00 c3 16 6c 00 00 c9 c3 e5 6d cd 7c 6e 21 21 09 cd 68 17 d2   ┆         n     l     m øn!!  h  ┆
0x081f20…081f40             38 6c 3a ca 38 b7 ca 31 6c cd 82 33 01 03 d2 16 6c 21 ef 39 22 07 38 c9 21 85 39 cd 51 6e 2a 81   ┆8l: 8  1l  3    l! 9" 8 ! 9 Qn* ┆
0x081f40…081f60             39 22 9b 3d 22 97 3d 22 95 3d 11 00 04 19 22 99 3d 22 a3 3d 22 ab 3d 22 a7 3d 22 a5 3d 36 ff 23   ┆9" =" =" =    " =" =" =" =" =6 #┆
0x081f60…081f80             22 9f 3d 22 9d 3d 01 fe 01 cd 08 17 36 ff 23 22 a1 3d 22 a9 3d 22 91 3d 11 c8 00 19 22 93 3d 19   ┆" =" =      6 #" =" =" =    " = ┆
0x081f80…081fa0             11 be 00 19 22 f9 3c 11 08 00 19 11 96 0b 73 23 72 11 bf 00 19 22 51 3c 11 08 00 19 11 0e 3e 73   ┆    " <       s#r    "Q<      >s┆
0x081fa0…081fc0             23 72 23 3a ff 37 b7 ca c6 6c e5 11 86 12 19 eb 2a 85 39 01 00 ff 09 cd 68 17 da c5 6c 21 bb 3a   ┆#r#: 7   l      * 9     h   l! :┆
0x081fc0…081fe0             22 07 38 d1 c9 e5 22 83 39 cd 0d 33 3e ff 32 44 3d 3a 8b 36 b7 c2 13 6d f5 3a 17 07 fe 03 3a 90   ┆" 8   " 9  3> 2D=: 6   m :    : ┆
0x081fe0…082000             06 c2 e6 6c 3e 01 32 e8 3c 3d f5 2f ca f0 6c af 32 e6 3c 32 e7 3c f1 3e 01 ca 0f 6d 3a bf 06 b7   ┆   l> 2 <= /  l 2 <2 < >   m:   ┆
0x082000…082020 (34, 1, 6)  c4 06 11 bf 06 21 6f 3c fe 14 ca c0 44 d5 50 59 c1 21 70 3c fe 16 ca c0 44 fe 0b c2 24 42 cd 43   ┆     !o<    D PY !p<    D   $B C┆
0x082020…082040             40 c3 7a 3f ff 02 04 13 18 10 ff c5 3a e8 3c 3c cc 89 44 c1 3a 67 3c 21 5b 3c be ca 41 42 f0 06   ┆@ z?        : <<  D :g<!Æ<  AB  ┆
0x082040…082060             20 3a 6f 3c e6 01 4f 3a 70 3c e6 04 b1 ca 55 42 fe 05 c2 57 42 3e 02 21 57 3c a6 c2 60 42 06 20   ┆ :o<  O:p<    UB   WB> !W<  `B  ┆
0x082060…082080             48 3a 58 3c b7 f8 cc 94 42 3a e8 3c b7 3a 6a 3c fa 89 42 b7 c8 78 fe 20 c8 3a 91 06 3d c8 f5 cd   ┆H:X<    B: < :j<  B  x   :  =   ┆
0x082080…0820a0             43 44 cd 94 42 f1 c3 7c 42 b7 c2 8f 42 0e 20 3a 58 3c 3d f8 51 3a 59 3c b7 cc c3 42 3a e8 3c b7   ┆CD  B  øB   B  :X<= Q:Y<   B: < ┆
0x0820a0…0820c0             3a 6b 3c fa b8 42 b7 c8 3a 92 06 3d c8 f5 cd 43 44 cd c3 42 f1 c3 ab 42 b7 c2 be 42 16 20 3a 59   ┆:k<  B  :  =   CD  B   B   B  :Y┆
0x0820c0…0820e0             3c 3d f8 c5 3a 5a 3c b7 7a cc 07 43 06 01 3a 0c 07 4f 3a 6c 3c cd e6 42 06 02 3a 0b 07 4f 3a 6d   ┆<=  :Z< z  C  :  O:l<  B  :  O:m┆
0x0820e0…082100             3c cd e6 42 c1 c9 b7 ca f0 42 7a fe 20 c2 f2 42 0e 20 3a e8 3c c2 fa 42 b7 f0 b7 f2 03 43 3a 5a   ┆<  B     Bz    B  : <  B     C:Z┆
0x082100…082120             3c b8 c0 cd 3e 44 79 c5 d5 e5 21 5b 1a e5 fe 20 ca 25 43 d2 2b 43 06 20 fe 06 ca 2a 43 06 7f fe   ┆<   >Dy   !Æ     %C +C     *C   ┆
0x082120…082140             07 ca 2a 43 ff 21 85 3c 34 c9 78 21 80 3c 34 f5 3a 58 3c b7 fa 7c 17 cd b3 43 f1 c5 d5 e5 21 5b   ┆  *C ! <4 x! <4 :X<  ø   C    !Æ┆
0x082140…082160             1a e5 f5 3a 86 07 3d f4 c4 43 f1 47 c5 cd 5d 43 c1 cd 80 43 21 00 00 22 36 3d c3 49 13 3a 18 07   ┆   :  =  C G  ÅC   C!  "6= I :  ┆
0x082160…082180             b7 ca 49 13 cd 6e 43 d0 cd a9 43 c3 5d 43 3a 17 07 b7 ca 1a 07 3d ca 28 07 3d ca 4c 07 c3 58 07   ┆  I  nC   C ÅC:      = ( = L  X ┆
0x082180…0821a0             3a 17 07 b7 4f 78 ca 1d 07 0d ca 33 07 0d ca 4f 07 c3 5b 07 c3 5b 07 3a 17 07 b7 fa 25 07 3d ca   ┆:   Ox     3   O  Æ  Æ :    % = ┆
0x0821a0…0821c0             37 07 3d ca 52 07 c3 64 07 e5 2a 36 3d 23 cd 57 43 e1 c9 3a 85 3c b7 c8 3d 32 85 3c 3e 20 cd 3b   ┆7 = R  d  *6=# WC  : <  =2 <>  ;┆
0x0821c0…0821e0             43 c3 b3 43 3a 86 07 3d ca ef 43 cd 97 43 da e4 43 21 ec 3c e6 7f fe 11 c2 dd 43 36 00 fe 13 c2   ┆C  C:  =  C  C  C! <      C6    ┆
0x0821e0…082200             e4 43 36 80 3a ec 3c b7 f0 cd a9 43 c3 c4 43 cd 12 44 21 ed 3c 34 3a 87 07 3d be d0 3e 01 32 ed   ┆ C6 : <    C  C  D! <4:  =  > 2 ┆
0x082200…082220 (34, 1, 7)  7f fe 06 c0 7e b7 f0 34 c9 3a 86 07 3d c0 c5 d5 e5 3a ed 3c c6 11 3f d2 1e 43 21 87 07 be d4 e2   ┆    ü  4 :  =    : <  ?  C!     ┆
0x082220…082240             42 c3 5b 1a 2a 72 3c 26 00 eb cd 25 17 c3 61 43 7e b7 ca 37 43 50 59 c3 78 17 cd 30 43 2a 74 3c   ┆B Æ *r<&   %  aCü  7CPY x  0C*t<┆
0x082240…082260             26 00 eb e9 21 71 3c 11 dd 06 01 e2 06 cd 30 43 cd 09 43 1a 3c 3d c8 f5 13 1a cd 2c 42 f1 c3 55   ┆&   !q<       0C  C <=     ,B  U┆
0x082260…082280             43 3a c2 3c b7 ca 6b 43 cd 25 17 e5 2a 7a 3c 19 22 7a 3c 2a 81 3c 19 22 81 3c e1 c9 21 00 00 eb   ┆C: <  kC %  *z< "z<* < " <  !   ┆
0x082280…0822a0             2a 7a 3c cd 2c 17 eb c3 68 43 cd 25 17 e5 2a 83 3c 19 22 83 3c e1 c9 3a 73 3c 5f 16 00 c3 8d 43   ┆*z< ,   hC %  * < " <  :s<_    C┆
0x0822a0…0822c0             cd 0d 07 3e ff 32 86 3c 32 87 3c 11 e7 06 c3 50 43 cd dc 43 11 f8 06 c3 50 43 f5 cd dc 43 f1 fe   ┆   > 2 <2 <    PC  C    PC   C  ┆
0x0822c0…0822e0             19 ca 44 43 fe 0c ca 2c 42 fe 06 ca d8 43 fe 07 ca d8 43 fe 20 dc 38 00 32 89 3c c9 c5 d5 e5 21   ┆  DC   ,B    C    C   8 2 <    !┆
0x0822e0…082300             5b 1a e5 3a 7b 3c b7 fc 7c 43 cd 2c 44 21 89 3c 7e 36 00 b7 ca 01 44 f5 0e 00 cd 9c 44 f1 cd 82   ┆Æ  :æ<  øC ,D! <ü6    D     D   ┆
0x082300…082320             44 af 2a 97 07 eb 2a 83 3c cd b5 44 c8 22 83 3c 21 87 3c 79 be 77 11 90 07 3a 95 07 c4 a9 44 11   ┆D *   * <  D " <! <y w   :    D ┆
0x082320…082340             b7 07 21 bc 07 78 cd 68 44 c3 01 44 2a a1 07 eb 2a 81 3c cd b2 44 c8 22 81 3c 21 86 3c 7e 87 da   ┆  !  x hD  D*   * <  D " <! <ü  ┆
0x082340…082360             4c 44 b9 c2 4c 44 4e c5 cd 50 44 c1 21 2c 44 e5 cd 9c 44 21 89 3c 7e 36 00 b7 c2 70 44 21 88 3c   ┆LD  LDN  PD !,D   D! <ü6   pD! <┆
0x082360…082380             78 ae 11 ad 07 21 b2 07 b7 f2 6d 44 eb c3 50 43 f5 21 88 3c 78 ae 70 78 11 a3 07 21 a8 07 fc 68   ┆x    !    mD  PC ! <x px   !   h┆
0x082380…0823a0             44 f1 d5 11 c1 07 fe 06 ca 97 44 11 c5 07 fe 07 ca 97 44 d1 c3 2c 42 cd 50 43 d1 c9 11 99 07 21   ┆D         D       D  ,B PC     !┆
0x0823a0…0823c0             86 3c 79 be c8 77 3a 9f 07 81 4f cd 50 43 79 c3 2c 42 3a 9e 07 4f 7c b5 c8 cd 12 17 eb cd 68 17   ┆ <y  w:   O PCy ,B:  Oø       h ┆
0x0823c0…0823e0             d2 c9 44 21 00 00 c3 ce 44 eb 1b cd 2c 17 79 4b b7 ca e0 44 79 b7 1f 4f d2 e0 44 1b 23 7a b3 c8   ┆  D!    D   , yK   Dy  O  D #z  ┆
0x0823e0…082400             78 b7 fc 1b 17 f6 01 c9 9b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆x                               ┆
0x082400…082420 (34, 1, 8)  63 63 75 72 72 65 64 2c 20 70 72 69 6e 74 20 6d 65 73 73 61 67 65 20 61 6e 64 20 72 65 74 72 79   ┆ccurred, print message and retry┆
0x082420…082440             0d 0a 62 6f 6f 74 65 72 72 3a 0d 0a 09 70 6f 70 09 62 09 3b 72 65 63 61 6c 6c 20 63 6f 75 6e 74   ┆  booterr:   pop b ;recall count┆
0x082440…082460             73 0d 0a 09 64 63 72 09 63 0d 0a 09 6a 7a 09 62 6f 6f 74 65 72 30 0d 0a 3b 09 74 72 79 20 61 67   ┆s   dcr c   jz booter0  ; try ag┆
0x082460…082480             61 69 6e 0d 0a 09 70 75 73 68 09 62 0d 0a 09 6a 6d 70 09 77 62 6f 6f 74 30 0d 0a 3b 0d 0a 62 6f   ┆ain   push b   jmp wboot0  ;  bo┆
0x082480…0824a0             6f 74 65 72 30 3a 0d 0a 3b 09 6f 74 68 65 72 77 69 73 65 20 74 6f 6f 20 6d 61 6e 79 20 72 65 74   ┆oter0:  ; otherwise too many ret┆
0x0824a0…0824c0             72 69 65 73 0d 0a 09 6c 78 69 09 68 2c 62 6f 6f 74 6d 73 67 0d 0a 09 63 61 6c 6c 09 70 72 6d 73   ┆ries   lxi h,bootmsg   call prms┆
0x0824c0…0824e0             67 0d 0a 09 6a 6d 70 09 72 6d 6f 6e 38 30 09 3b 6d 64 73 20 68 61 72 64 77 61 72 65 20 6d 6f 6e   ┆g   jmp rmon80 ;mds hardware mon┆
0x0824e0…082500             69 74 6f 72 0d 0a 3b 0d 0a 62 6f 6f 74 6d 73 67 3a 0d 0a 09 64 62 09 27 3f 62 6f 6f 74 27 2c 30   ┆itor  ;  bootmsg:   db '?boot',0┆
0x082500…082520             0d 0a 3b 0d 0a 3b 0d 0a 63 6f 6e 73 74 3a 09 3b 63 6f 6e 73 6f 6c 65 20 73 74 61 74 75 73 20 74   ┆  ;  ;  const: ;console status t┆
0x082520…082540             6f 20 72 65 67 2d 61 0d 0a 3b 09 28 65 78 61 63 74 6c 79 20 74 68 65 20 73 61 6d 65 20 61 73 20   ┆o reg-a  ; (exactly the same as ┆
0x082540…082560             6d 64 73 20 63 61 6c 6c 29 0d 0a 09 6a 6d 70 09 63 73 74 73 0d 0a 3b 0d 0a 63 6f 6e 69 6e 3a 09   ┆mds call)   jmp csts  ;  conin: ┆
0x082560…082580             3b 63 6f 6e 73 6f 6c 65 20 63 68 61 72 61 63 74 65 72 20 74 6f 20 72 65 67 2d 61 0d 0a 09 63 61   ┆;console character to reg-a   ca┆
0x082580…0825a0             6c 6c 09 63 69 0d 0a 09 61 6e 69 09 37 66 68 09 3b 72 65 6d 6f 76 65 20 70 61 72 69 74 79 20 62   ┆ll ci   ani 7fh ;remove parity b┆
0x0825a0…0825c0             69 74 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 63 6f 6e 6f 75 74 3a 09 3b 63 6f 6e 73 6f 6c 65 20 63 68   ┆it   ret  ;  conout: ;console ch┆
0x0825c0…0825e0             61 72 61 63 74 65 72 20 66 72 6f 6d 20 63 20 74 6f 20 63 6f 6e 73 6f 6c 65 20 6f 75 74 0d 0a 09   ┆aracter from c to console out   ┆
0x0825e0…082600             6a 6d 70 09 63 6f 0d 0a 3b 0d 0a 6c 69 73 74 3a 09 3b 6c 69 73 74 20 64 65 76 69 63 65 20 6f 75   ┆jmp co  ;  list: ;list device ou┆
0x082600…082620 (34, 1, 9)  3e 01 c2 0f 6d 3a a8 06 b7 3e 00 c2 0f 6d 2f 32 e9 3c f1 2f 21 ca 38 b6 cc 71 18 cd e5 6d 3a 8b   ┆>   m:   >   m/2 < /! 8  q   m: ┆
0x082620…082640             36 b7 c2 2e 6d 2f 32 02 38 3e 1f cd 01 13 3a 8b 36 b7 21 0c 00 c2 57 6d 3a e8 3c 21 09 00 3c ca   ┆6  .m/2 8>    : 6 !   Wm: <!  < ┆
0x082640…082660             57 6d 21 09 00 3d ca 57 6d 21 0b 00 3a 17 07 fe 03 ca 57 6d 21 0a 00 cd e2 6d 3a ff 37 b7 ca d1   ┆Wm!  = Wm!  :     Wm!    m: 7   ┆
0x082660…082680             6d 21 0d 09 cd e2 6d e1 e3 22 31 61 01 00 01 09 22 1d 61 01 05 0a 09 22 23 61 e1 22 25 61 22 27   ┆m!    m  "1a    " a    "#a "%a"'┆
0x082680…0826a0             61 2b 36 00 21 77 5f 01 9d 01 cd 08 17 cd b6 54 21 c7 54 22 16 69 21 10 69 22 89 5f 2a 35 61 22   ┆a+6 !w_        T! T" i! i" _*5a"┆
0x0826a0…0826c0             37 61 af 2a 17 61 22 19 61 77 2a 29 61 22 db 5f 22 d9 5f 2a 15 61 77 2a 3c 61 77 2a 2b 61 22 2f   ┆7a * a" aw*)a" _" _* aw*<aw*+a"/┆
0x0826c0…0826e0             61 77 2b 77 2f 32 77 5f 32 8b 5f 3a 86 03 32 9b 5f 3e ff 32 00 38 3a ff 37 b7 ca 6e 0b cd 5c 33   ┆aw+w/2w_2 _:  2 _> 2 8: 7  n  Ø3┆
0x0826e0…082700             0d 0c cd 70 33 cd 26 6e cd 9f 0a 2a 91 3d cd 21 10 77 23 36 00 2a 93 3d 77 23 36 00 32 72 3c 3a   ┆   p3 &n   * = ! w#6 * =w#6 2r<:┆
0x082700…082720             0e 3d 32 73 3c 3a 81 03 32 74 3c 32 2a 3d 2a d4 03 22 53 3c 21 01 00 22 ff 3c 3a d3 03 32 f5 3c   ┆ =2s<:  2t<2*=*  "S<!  " <:  2 <┆
0x082720…082740             3e ff 32 f4 3c c9 11 0e 3d 21 66 03 01 19 00 cd c2 16 cd 21 10 12 13 f5 23 3a 49 02 d6 04 4f be   ┆> 2 <   =!f        !    #:I   O ┆
0x082740…082760             da 44 6e 4e 0c 2b 79 96 b7 1f 86 3d 12 13 f1 12 c9 c5 d5 e5 eb 21 81 39 23 cd 68 17 2b da 69 6e   ┆ DnN +y    =         ! 9# h + in┆
0x082760…082780             cd a0 6e cd 93 6e c3 58 6e 21 8f 39 cd 68 17 d2 5b 1a cd be 6e 2b 2b 2b 2b c3 6c 6e c5 e5 11 00   ┆  n  n Xn! 9 h  Æ   n++++ ln    ┆
0x082780…0827a0             00 21 7f 39 cd de 6e eb 09 eb cd 93 6e d2 84 6e e1 c1 c9 d5 23 23 23 23 11 90 39 cd 68 17 d1 c9   ┆ ! 9  n     n  n    ####  9 h   ┆
0x0827a0…0827c0             c5 d5 e5 cd de 6e 2b 2b cd 51 17 e3 73 23 72 2b e3 cd c2 16 e1 e5 23 23 73 23 72 c3 5b 1a c5 d5   ┆     n++ Q  s#r+      ##s#r Æ   ┆
0x0827c0…0827e0             e5 e5 2b 2b cd de 6e e1 e5 cd 51 17 eb e3 23 72 2b 73 e3 cd e1 16 e1 2b 72 2b 73 c3 5b 1a d5 e5   ┆  ++  n   Q   #r+s     +r+s Æ   ┆
0x0827e0…082800             cd 51 17 cd 35 17 e1 d1 c9 9b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆ Q  5                           ┆
0x082800…082820 (34, 1, 10) 3c cd a9 43 cd 12 44 7e b7 fa 01 44 35 3e 03 c3 4b 43 cd 97 43 21 ec 3c d8 e6 7f fe 06 c0 7e b7   ┆<  C  Dü   D5>  KC  C! <      ü ┆
0x082820…082840             f0 34 c9 3a 86 07 3d c0 c5 d5 e5 3a ed 3c c6 11 3f d2 38 44 21 87 07 be d4 fc 43 c3 5b 1a 3a e8   ┆ 4 :  =    : <  ? 8D!     C Æ : ┆
0x082840…082860             3c b7 c0 c5 d5 e5 11 af 06 cd c8 44 c3 5b 1a 3a e8 3c b7 ca 43 44 21 66 3c 7e b7 c8 35 4e 2a 67   ┆<          D Æ : <  CD!f<ü  5N*g┆
0x082860…082880             3c eb 21 5c 3c 19 1d 2b 23 1c 7b fe 0a d0 32 67 3c 79 be da 68 44 21 69 3c 7b be da 7f 44 77 3a   ┆< !Ø<  +# æ   2g<y  hD!i<æ   Dw:┆
0x082880…0828a0             5b 3c bb d8 21 85 3c 35 c9 2a 67 3c eb 21 5c 3c 19 3a 66 3c 1c 2b 1d ca 9e 44 be d2 95 44 23 3c   ┆Æ<  ! <5 *g< !Ø< :f< +   D   D#<┆
0x0828a0…0828c0             32 66 3c 77 eb 22 67 3c c9 7e b7 ca b0 44 50 59 cd 78 17 01 4a 00 09 36 ff c9 cd a9 44 c3 c8 44   ┆2f<w "g< ü   DPY x  J  6    D  D┆
0x0828c0…0828e0             cd a9 44 3a e9 3c 3d c0 cd 23 44 1a 3c 3d c8 f5 13 1a cd 2f 43 f1 c3 cd 44 9b 00 00 00 00 00 00   ┆  D: <=  #D <=     /C   D       ┆
0x0828e0…082900             00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
0x082900…082920             9a 0a 06 14 00 00 00 00 e8 44 00 00 00 c9 c3 18 3e c3 61 43 c3 17 3e c9 3a 86 07 b7 c4 8e 42 3a   ┆         D      > aC  > :     B:┆
0x082920…082940             9e 07 b7 ca 28 3e 3e 01 3c 32 ea 3c 21 6a 3c 11 9c 3c 01 0b 00 cd c2 16 21 38 3e e5 cd 49 13 af   ┆    (>> <2 <!j<  <      !8>  I  ┆
0x082940…082960             32 58 3c cd 9b 3f 2a 9d 3d cd 5b 3e c2 b6 3e 36 00 23 22 9d 3d 21 3c 3e e5 eb e9 cd a2 3e 11 7c   ┆2X<  ?* = Æ>  >6 #" =!<>     > ø┆
0x082960…082980             43 fe 0d c8 11 97 43 fe 0a c8 11 ba 43 fe 0c c8 11 a0 43 fe 1f c8 11 aa 3f fe 1a c8 11 b8 41 fe   ┆C     C     C     C     ?     A ┆
0x082980…0829a0             0b c8 11 7f 3f fe 09 ca 98 3e 11 83 3f fe 1e ca 98 3e fe 1b c0 11 9a 43 36 00 23 cd a8 3e d6 20   ┆    ?    >  ?    >     C6 #  >  ┆
0x0829a0…0829c0             bf c9 cd a8 3e e6 7f c9 7e 3c cc 4e 13 7e b7 c0 cd 31 13 c3 ad 3e cd d1 3e cd ba 3f 2a ae 3c 3a   ┆    >   ü< N ü   1   >  >  ?* <:┆
0x0829c0…0829e0             b2 3c 4f 0c 0d c8 7e 3c cc 4e 13 36 00 23 c3 c4 3e 21 00 00 39 11 20 00 42 4b cd 2c 17 f9 eb 21   ┆ <O   ü< N 6 #  >!  9   BK ,   !┆
0x0829e0…082a00             6a 3c d5 e5 c5 cd c2 16 af 32 c2 3c 2f 32 58 3c 21 32 00 cd 44 40 21 9c 3c cd 03 40 21 00 00 22   ┆j<       2 </2X<!2  D@! <  @!  "┆
0x082a00…082a20 (34, 1, 11) 9a 0c 01 14 00 00 00 00 8e 3e 00 00 00 c9 c3 1b 3e c3 1a 3e c3 22 3e c3 35 3e c9 af cd 31 13 c3   ┆         >      >  > "> 5>   1  ┆
0x082a20…082a40             1b 3e 21 a7 3d cd 17 0c eb d4 4b 3e f1 77 23 22 a7 3d d1 e1 c9 21 a7 3d cd 51 17 cd 2c 17 eb 7a   ┆ >! =     K> w#" =   ! = Q  ,  z┆
0x082a40…082a60             b3 ca 4b 3e 1b 36 1a 23 c3 3f 3e cd 96 12 21 4f 3c 7e 36 00 b7 fc 8e 12 21 a5 3d cd 17 0c d2 81   ┆  K> 6 # ?>   !O<ü6     ! =     ┆
0x082a60…082a80             3e eb 11 6b 3d cd 2c 1a c2 77 3e 21 c1 39 22 07 38 cd 8e 12 c3 4b 3e 11 80 00 19 22 a5 3d c3 4e   ┆>  k= ,  w>! 9" 8    K>    " = N┆
0x082a80…082aa0             3e cd 81 0b 2a ab 3d 22 a5 3d 22 a7 3d c9 9b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆>   * =" =" =                   ┆
0x082aa0…082ac0             00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
          […0x2…]
0x082b00…082b20             44 af 2a 97 07 eb 2a 83 3c cd b5 44 c8 22 83 3c 21 87 3c 79 be 77 11 90 07 3a 95 07 c4 a9 44 11   ┆D *   * <  D " <! <y w   :    D ┆
0x082b20…082b40             b7 07 21 bc 07 78 cd 68 44 c3 01 44 2a a1 07 eb 2a 81 3c cd b2 44 c8 22 81 3c 21 86 3c 7e 87 da   ┆  !  x hD  D*   * <  D " <! <ü  ┆
0x082b40…082b60             4c 44 b9 c2 4c 44 4e c5 cd 50 44 c1 21 2c 44 e5 cd 9c 44 21 89 3c 7e 36 00 b7 c2 70 44 21 88 3c   ┆LD  LDN  PD !,D   D! <ü6   pD! <┆
0x082b60…082b80             78 ae 11 ad 07 21 b2 07 b7 f2 6d 44 eb c3 50 43 f5 21 88 3c 78 ae 70 78 11 a3 07 21 a8 07 fc 68   ┆x    !    mD  PC ! <x px   !   h┆
0x082b80…082ba0             44 f1 d5 11 c1 07 fe 06 ca 97 44 11 c5 07 fe 07 ca 97 44 d1 c3 2c 42 cd 50 43 d1 c9 11 99 07 21   ┆D         D       D  ,B PC     !┆
0x082ba0…082bc0             86 3c 79 be c8 77 3a 9f 07 81 4f cd 50 43 79 c3 2c 42 3a 9e 07 4f 7c b5 c8 cd 12 17 eb cd 68 17   ┆ <y  w:   O PCy ,B:  Oø       h ┆
0x082bc0…082be0             d2 c9 44 21 00 00 c3 ce 44 eb 1b cd 2c 17 79 4b b7 ca e0 44 79 b7 1f 4f d2 e0 44 1b 23 7a b3 c8   ┆  D!    D   , yK   Dy  O  D #z  ┆
0x082be0…082c00             78 b7 fc 1b 17 f6 01 c9 9b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆x                               ┆
0x082c00…082c20 (34, 1, 12) 74 0d 0a 3b 09 28 65 78 61 63 74 6c 79 20 74 68 65 20 73 61 6d 65 20 61 73 20 6d 64 73 20 63 61   ┆t  ; (exactly the same as mds ca┆
0x082c20…082c40             6c 6c 29 0d 0a 09 6a 6d 70 09 6c 6f 0d 0a 3b 0d 0a 6c 69 73 74 73 74 3a 0d 0a 09 3b 72 65 74 75   ┆ll)   jmp lo  ;  listst:   ;retu┆
0x082c40…082c60             72 6e 20 6c 69 73 74 20 73 74 61 74 75 73 0d 0a 09 78 72 61 09 61 0d 0a 09 72 65 74 09 09 3b 61   ┆rn list status   xra a   ret  ;a┆
0x082c60…082c80             6c 77 61 79 73 20 6e 6f 74 20 72 65 61 64 79 0d 0a 3b 0d 0a 70 75 6e 63 68 3a 09 3b 70 75 6e 63   ┆lways not ready  ;  punch: ;punc┆
0x082c80…082ca0             68 20 64 65 76 69 63 65 20 6f 75 74 0d 0a 3b 09 28 65 78 61 63 74 6c 79 20 74 68 65 20 73 61 6d   ┆h device out  ; (exactly the sam┆
0x082ca0…082cc0             65 20 61 73 20 6d 64 73 20 63 61 6c 6c 29 0d 0a 09 6a 6d 70 09 70 6f 0d 0a 3b 0d 0a 72 65 61 64   ┆e as mds call)   jmp po  ;  read┆
0x082cc0…082ce0             65 72 3a 09 3b 72 65 61 64 65 72 20 63 68 61 72 61 63 74 65 72 20 69 6e 20 74 6f 20 72 65 67 2d   ┆er: ;reader character in to reg-┆
0x082ce0…082d00             61 0d 0a 3b 09 28 65 78 61 63 74 6c 79 20 74 68 65 20 73 61 6d 65 20 61 73 20 6d 64 73 20 63 61   ┆a  ; (exactly the same as mds ca┆
0x082d00…082d20             6c 6c 29 0d 0a 09 6a 6d 70 09 72 69 0d 0a 3b 0d 0a 68 6f 6d 65 3a 09 3b 6d 6f 76 65 20 74 6f 20   ┆ll)   jmp ri  ;  home: ;move to ┆
0x082d20…082d40             68 6f 6d 65 20 70 6f 73 69 74 69 6f 6e 0d 0a 3b 09 74 72 65 61 74 20 61 73 20 74 72 61 63 6b 20   ┆home position  ; treat as track ┆
0x082d40…082d60             30 30 20 73 65 65 6b 0d 0a 09 6d 76 69 09 63 2c 30 0d 0a 09 6a 6d 70 09 73 65 74 74 72 6b 0d 0a   ┆00 seek   mvi c,0   jmp settrk  ┆
0x082d60…082d80             3b 0d 0a 73 65 6c 64 73 6b 3a 09 3b 73 65 6c 65 63 74 20 64 69 73 6b 20 67 69 76 65 6e 20 62 79   ┆;  seldsk: ;select disk given by┆
0x082d80…082da0             20 72 65 67 69 73 74 65 72 20 63 0d 0a 09 6c 78 69 09 68 2c 30 30 30 30 68 09 3b 72 65 74 75 72   ┆ register c   lxi h,0000h ;retur┆
0x082da0…082dc0             6e 20 30 30 30 30 20 69 66 20 65 72 72 6f 72 0d 0a 09 6d 6f 76 09 61 2c 63 0d 0a 09 63 70 69 09   ┆n 0000 if error   mov a,c   cpi ┆
0x082dc0…082de0             6e 64 69 73 6b 73 09 3b 74 6f 6f 20 6c 61 72 67 65 3f 0d 0a 09 72 6e 63 09 09 3b 6c 65 61 76 65   ┆ndisks ;too large?   rnc  ;leave┆
0x082de0…082e00             20 48 4c 20 3d 20 30 30 30 30 0d 0a 3b 0d 0a 09 61 6e 69 09 31 30 62 09 3b 30 30 20 30 30 20 66   ┆ HL = 0000  ;   ani 10b ;00 00 f┆
0x082e00…082e20 (34, 1, 13) 9a 09 05 14 00 00 00 00 d9 44 00 00 00 c9 c3 12 3e c9 3a 86 07 b7 c4 97 43 21 6a 3c 11 9c 3c cd   ┆         D      > :     C!j<  < ┆
0x082e20…082e40             c8 40 21 22 3e e5 af 32 58 3c cd 49 13 cd 7a 3f 2a 9d 3d cd 53 3e c2 c3 3e 36 00 23 22 9d 3d 21   ┆ @!">  2X< I  z?* = S>  >6 #" =!┆
0x082e40…082e60             26 3e e5 d5 21 55 3c 34 35 c8 35 f5 cd 59 3f f1 c3 44 3e cd 93 3e 11 a8 3e c8 11 45 3f fe 0d c8   ┆&>  !U<45 5  Y?  D>  >  >  E?   ┆
0x082e60…082e80             11 2f 43 fe 0a c8 11 2f 43 fe 0c c8 11 60 3f fe 1f c8 11 89 3f fe 1a c8 11 21 42 fe 0b c8 11 54   ┆ /C    /C    `?     ?    !B    T┆
0x082e80…082ea0             3f fe 09 ca 89 3e fe 1e c0 36 00 23 cd b5 3e d6 20 bf c9 cd af 3e fe 0d c0 e5 23 cd af 3e fe 0a   ┆?    >   6 #  >      >    #  >  ┆
0x082ea0…082ec0             c2 a5 3e c1 c9 e1 7e c9 af 02 21 55 3c 34 c9 cd b5 3e e6 7f c9 7e 3c cc 4e 13 7e b7 c0 cd 31 13   ┆  >   ü   !U<4   >   ü< N ü   1 ┆
0x082ec0…082ee0             c3 ba 3e 21 55 3c 7e fe 02 f4 58 3f 7e 36 00 32 56 3c cd 14 3f af 32 b3 3c 2a b0 3c cd 93 3e c2   ┆  >!U<ü   X?ü6 2V<  ? 2 <* <  > ┆
0x082ee0…082f00             f3 3e 23 e5 21 b3 3c 34 34 cd aa 3e 7e e1 fe 02 fa dc 3e 22 9d 3d cd 99 3f 2a ae 3c 3a b2 3c cd   ┆ ># ! <44  >ü     >" =  ?* <: < ┆
0x082f00…082f20             05 3f 3a b3 3c 4f 0c 0d c8 7e 3c cc 4e 13 36 00 23 c3 07 3f 21 00 00 39 11 20 00 42 4b cd 2c 17   ┆ ?: <O   ü< N 6 #  ?!  9   BK , ┆
0x082f20…082f40             f9 eb 21 6a 3c d5 e5 c5 cd c2 16 21 9c 3c 11 8a 3c cd c8 40 2a 9d 3d 22 ae 3c cd 23 40 c1 d1 e1   ┆  !j<      ! <  <  @* =" < #@   ┆
0x082f40…082f60             cd c2 16 f9 c9 d5 11 a1 06 af 32 85 3c 32 80 3c cd c8 44 d1 c9 7e b7 c8 35 d5 11 96 06 c3 49 3f   ┆          2 <2 <  D  ü  5     I?┆
0x082f60…082f80             cd 0d 07 11 e7 06 c3 c8 44 f6 ff cd 31 13 01 00 04 cd 49 13 0b 78 b1 c2 71 3f 21 4f 3c 7e 36 00   ┆        D   1     I  x  q?!O<ü6 ┆
0x082f80…082fa0             b7 fa 69 3f 3a 50 3c b7 c8 11 f8 06 cd c8 44 cd 10 07 af 32 02 38 c3 31 13 af 32 58 3c 3a b9 3c   ┆  i?:P<       D    2 8 1  2X<: <┆
0x082fa0…082fc0             e6 01 47 0e 02 3a ba 3c e6 04 57 2a 55 3c 3a e9 3c b7 ca e5 3f fa bb 3f 21 00 00 7d fe 02 fc 1d   ┆  G  : <  W*U<: <   ?  ?!  å    ┆
0x082fc0…082fe0             40 cd 14 40 78 cd d8 3f 21 56 3c 79 cd d3 3f 21 55 3c 7a f5 cd 55 3f f1 b7 c8 32 57 3c c5 d5 cd   ┆@  @x  ?!V<y  ?!U<z  U?   2W<   ┆
0x082fe0…083000             29 40 d1 c1 c9 7d b7 cc 1d 40 cd 14 40 7c b7 f5 c4 0d 40 78 cd d8 3f f1 c4 0d 40 79 cd d8 3f 7a   ┆)@   å   @  @ø    @x  ?   @y  ?z┆
0x083000…083020 (34, 1, 14) 76 3c 2a 9d 3d cd 0c 40 ca 4e 3f fe 03 ca 4e 3f fe 06 ca 4e 3f fe 07 ca 4e 3f fe 11 ca 4e 3f fe   ┆v<* =  @ N?   N?   N?   N?   N? ┆
0x083020…083040             17 ca 4e 3f fe 05 ca 4e 3f fe 12 ca 4e 3f fe 21 d2 4e 3f 46 36 00 23 cd 23 40 c2 47 3f cd a8 3e   ┆  N?   N?   N? ! N?F6 # #@ G?  >┆
0x083040…083060             7e 36 00 23 d6 20 4f 78 cd fc 40 c3 05 3f 22 ae 3c 21 6a 3c 11 8a 3c 01 12 00 cd c2 16 21 c4 3c   ┆ü6 #  Ox  @  ?" <!j<  <      ! <┆
0x083060…083080             01 22 00 cd 08 17 af 32 c3 3c 3a 54 3c b7 cc 3b 41 cd b7 3f cd 7b 15 c1 d1 e1 cd c2 16 f9 c9 32   ┆ "     2 <:T<  ;A  ? æ         2┆
0x083080…0830a0             53 3c c9 32 54 3c c9 cd dc 43 f6 ff cd 31 13 01 00 04 cd 49 13 0b 78 b1 c2 92 3f 21 4f 3c 7e 36   ┆S< 2T<   C   1     I  x   ?!O<ü6┆
0x0830a0…0830c0             00 b7 fa 87 3f 3a 50 3c b7 c8 cd b1 43 cd 10 07 af 32 02 38 c3 31 13 3e ff fe af 32 58 3c af 32   ┆    ?:P<    C    2 8 1 >   2X< 2┆
0x0830c0…0830e0             d2 3c 3a c3 3c 21 58 3c b6 c2 f0 3f 2a 7a 3c eb 2a 81 3c cd 2c 17 eb 2a ac 3c 19 cd 18 17 e5 2a   ┆ <: <!X<   ?*z< * < ,  * <     *┆
0x0830e0…083100             9a 3c 19 cd 18 17 d1 cd 68 17 d2 f0 3f f6 ff fe af 32 c2 3c f5 cc 5e 40 f1 c4 af 40 cd 7b 1c c4   ┆ <      h   ?    2 <  ^@   @ æ  ┆
0x083100…083120             49 13 c9 11 6a 3c 01 10 00 c3 c2 16 cd a8 3e e6 7f fe 0d c8 fe 0a c8 fe 0c c8 fe 1a c8 fe 1f c8   ┆I   j<        >                 ┆
0x083120…083140             c3 2e 40 e6 7f fe 1c c8 fe 15 c8 fe 1d c8 fe 1b c8 fe 09 c8 fe 1e c9 2b 7e 3c c2 42 40 2a a1 3d   ┆ .@                    +ü< B@* =┆
0x083140…083160             2b 2b 7e c9 11 6f 3c 19 1a be 3e 14 cd 56 40 3e 16 cd 56 40 3e 19 c4 fc 40 23 13 1a be c9 2a 9a   ┆++ü  o<   >  V@>  V@>   @#    * ┆
0x083160…083180             3c cd 7f 43 21 20 00 cd 44 40 21 8a 3c cd 03 40 2a ae 3c 1e 00 cd 0c 40 ca 94 40 46 23 cd 23 40   ┆<  C!   D@! <  @* <    @  @F# #@┆
0x083180…0831a0             c2 89 40 cd 9b 3e 4f 23 1c 78 cd fc 40 1c 7b fe fe da 75 40 3e 20 cd fc 40 22 b0 3c 22 9d 3d 7b   ┆  @  >O# x  @ æ   u@>   @" <" =æ┆
0x0831a0…0831c0             32 b2 3c 21 6a 3c 11 9c 3c 01 12 00 c3 c2 16 3a c7 3c 32 c6 3c 21 32 00 cd 44 40 21 9c 3c cd 03   ┆2 <!j<  <      : <2 <!2  D@! <  ┆
0x0831c0…0831e0             40 2a ac 3c cd 7f 43 2a b0 3c 3a b2 3c 5f cd 37 40 47 7b b7 ca f6 40 48 cd 37 40 47 cd 23 40 79   ┆@* <  C* <: <_ 7@Gæ   @H 7@G #@y┆
0x0831e0…083200             c2 ef 40 1d ca f0 40 d6 20 4f cd 37 40 78 46 1d cd fc 40 c3 d2 40 2a ac 3c c3 7f 43 c5 d5 e5 11   ┆  @   @  O 7@xF   @  @* <  C    ┆
0x083200…083220 (34, 1, 15) 74 20 74 72 61 63 6b 20 74 6f 20 72 65 67 69 73 74 65 72 20 61 0d 0a 09 69 6e 72 09 61 0d 0a 09   ┆t track to register a   inr a   ┆
0x083220…083240             6d 6f 76 09 63 2c 61 09 3b 72 65 61 64 79 20 66 6f 72 20 63 61 6c 6c 0d 0a 09 63 61 6c 6c 09 73   ┆mov c,a ;ready for call   call s┆
0x083240…083260             65 74 74 72 6b 0d 0a 09 78 72 61 09 61 09 3b 63 6c 65 61 72 20 73 65 63 74 6f 72 20 6e 75 6d 62   ┆ettrk   xra a ;clear sector numb┆
0x083260…083280             65 72 0d 0a 72 64 31 3a 09 69 6e 72 09 61 09 3b 74 6f 20 6e 65 78 74 20 73 65 63 74 6f 72 0d 0a   ┆er  rd1: inr a ;to next sector  ┆
0x083280…0832a0             09 6d 6f 76 09 63 2c 61 09 3b 72 65 61 64 79 20 66 6f 72 20 63 61 6c 6c 0d 0a 09 63 61 6c 6c 09   ┆ mov c,a ;ready for call   call ┆
0x0832a0…0832c0             73 65 74 73 65 63 0d 0a 09 70 6f 70 09 62 09 3b 72 65 63 61 6c 6c 20 73 65 63 74 6f 72 20 63 6f   ┆setsec   pop b ;recall sector co┆
0x0832c0…0832e0             75 6e 74 0d 0a 09 64 63 72 09 62 09 3b 64 6f 6e 65 3f 0d 0a 09 6a 6e 7a 09 72 64 73 65 63 0d 0a   ┆unt   dcr b ;done?   jnz rdsec  ┆
0x0832e0…083300             3b 0d 0a 3b 09 64 6f 6e 65 20 77 69 74 68 20 74 68 65 20 6c 6f 61 64 2c 20 72 65 73 65 74 20 64   ┆;  ; done with the load, reset d┆
0x083300…083320             65 66 61 75 6c 74 20 62 75 66 66 65 72 20 61 64 64 72 65 73 73 0d 0a 67 6f 63 70 6d 3a 09 3b 28   ┆efault buffer address  gocpm: ;(┆
0x083320…083340             65 6e 74 65 72 20 68 65 72 65 20 66 72 6f 6d 20 63 6f 6c 64 20 73 74 61 72 74 20 62 6f 6f 74 29   ┆enter here from cold start boot)┆
0x083340…083360             0d 0a 3b 09 65 6e 61 62 6c 65 20 72 73 74 30 20 61 6e 64 20 72 73 74 37 0d 0a 09 64 69 0d 0a 09   ┆  ; enable rst0 and rst7   di   ┆
0x083360…083380             6d 76 69 09 61 2c 31 32 68 09 3b 69 6e 69 74 69 61 6c 69 7a 65 20 63 6f 6d 6d 61 6e 64 0d 0a 09   ┆mvi a,12h ;initialize command   ┆
0x083380…0833a0             6f 75 74 09 72 65 76 72 74 0d 0a 09 78 72 61 09 61 0d 0a 09 6f 75 74 09 69 6e 74 63 09 3b 63 6c   ┆out revrt   xra a   out intc ;cl┆
0x0833a0…0833c0             65 61 72 65 64 0d 0a 09 6d 76 69 09 61 2c 69 6e 74 65 09 3b 72 73 74 30 20 61 6e 64 20 72 73 74   ┆eared   mvi a,inte ;rst0 and rst┆
0x0833c0…0833e0             37 20 62 69 74 73 20 6f 6e 0d 0a 09 6f 75 74 09 69 6e 74 63 0d 0a 09 78 72 61 09 61 0d 0a 09 6f   ┆7 bits on   out intc   xra a   o┆
0x0833e0…083400             75 74 09 69 63 6f 6e 09 3b 69 6e 74 65 72 72 75 70 74 20 63 6f 6e 74 72 6f 6c 0d 0a 3b 0d 0a 3b   ┆ut icon ;interrupt control  ;  ;┆
0x083400…083420 (35, 0, 1)  6f 72 20 64 72 69 76 65 20 30 2c 31 20 61 6e 64 20 31 30 20 31 30 20 66 6f 72 20 64 72 69 76 65   ┆or drive 0,1 and 10 10 for drive┆
0x083420…083440             20 32 2c 33 0d 0a 09 73 74 61 09 64 62 61 6e 6b 09 3b 74 6f 20 73 65 6c 65 63 74 20 64 72 69 76   ┆ 2,3   sta dbank ;to select driv┆
0x083440…083460             65 20 62 61 6e 6b 0d 0a 09 6d 6f 76 09 61 2c 63 09 3b 30 30 2c 20 30 31 2c 20 31 30 2c 20 31 31   ┆e bank   mov a,c ;00, 01, 10, 11┆
0x083460…083480             0d 0a 09 61 6e 69 09 31 62 09 3b 6d 64 73 20 68 61 73 20 30 2c 31 20 61 74 20 37 38 2c 20 32 2c   ┆   ani 1b ;mds has 0,1 at 78, 2,┆
0x083480…0834a0             33 20 61 74 20 38 38 0d 0a 09 6f 72 61 09 61 09 3b 72 65 73 75 6c 74 20 30 30 3f 0d 0a 09 6a 7a   ┆3 at 88   ora a ;result 00?   jz┆
0x0834a0…0834c0             09 73 65 74 64 72 69 76 65 0d 0a 09 6d 76 69 09 61 2c 30 30 31 31 30 30 30 30 62 09 3b 73 65 6c   ┆ setdrive   mvi a,00110000b ;sel┆
0x0834c0…0834e0             65 63 74 73 20 64 72 69 76 65 20 31 20 69 6e 20 62 61 6e 6b 0d 0a 73 65 74 64 72 69 76 65 3a 0d   ┆ects drive 1 in bank  setdrive: ┆
0x0834e0…083500             0a 09 6d 6f 76 09 62 2c 61 09 3b 73 61 76 65 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 6c   ┆  mov b,a ;save the function   l┆
0x083500…083520             78 69 09 68 2c 69 6f 66 09 3b 69 6f 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 6d 6f 76 09 61 2c 6d 0d   ┆xi h,iof ;io function   mov a,m ┆
0x083520…083540             0a 09 61 6e 69 09 31 31 30 30 31 31 31 31 62 09 3b 6d 61 73 6b 20 6f 75 74 20 64 69 73 6b 20 6e   ┆  ani 11001111b ;mask out disk n┆
0x083540…083560             75 6d 62 65 72 0d 0a 09 6f 72 61 09 62 09 3b 6d 61 73 6b 20 69 6e 20 6e 65 77 20 64 69 73 6b 20   ┆umber   ora b ;mask in new disk ┆
0x083560…083580             6e 75 6d 62 65 72 0d 0a 09 6d 6f 76 09 6d 2c 61 09 3b 73 61 76 65 20 69 74 20 69 6e 20 69 6f 70   ┆number   mov m,a ;save it in iop┆
0x083580…0835a0             62 0d 0a 09 6d 6f 76 09 6c 2c 63 0d 0a 09 6d 76 69 09 68 2c 30 09 3b 48 4c 3d 64 69 73 6b 20 6e   ┆b   mov l,c   mvi h,0 ;HL=disk n┆
0x0835a0…0835c0             75 6d 62 65 72 0d 0a 09 64 61 64 09 68 09 3b 2a 32 0d 0a 09 64 61 64 09 68 09 3b 2a 34 0d 0a 09   ┆umber   dad h ;*2   dad h ;*4   ┆
0x0835c0…0835e0             64 61 64 09 68 09 3b 2a 38 0d 0a 09 64 61 64 09 68 09 3b 2a 31 36 0d 0a 09 6c 78 69 09 64 2c 64   ┆dad h ;*8   dad h ;*16   lxi d,d┆
0x0835e0…083600             70 62 61 73 65 0d 0a 09 64 61 64 09 64 09 3b 48 4c 3d 64 69 73 6b 20 68 65 61 64 65 72 20 74 61   ┆pbase   dad d ;HL=disk header ta┆
0x083600…083620 (35, 0, 2)  74 72 79 09 3b 6d 61 78 20 72 65 74 72 69 65 73 20 62 65 66 6f 72 65 20 70 65 72 6d 20 65 72 72   ┆try ;max retries before perm err┆
0x083620…083640             6f 72 0d 0a 72 65 77 61 69 74 3a 0d 0a 3b 09 73 74 61 72 74 20 74 68 65 20 69 2f 6f 20 66 75 6e   ┆or  rewait:  ; start the i/o fun┆
0x083640…083660             63 74 69 6f 6e 20 61 6e 64 20 77 61 69 74 20 66 6f 72 20 63 6f 6d 70 6c 65 74 69 6f 6e 0d 0a 09   ┆ction and wait for completion   ┆
0x083660…083680             63 61 6c 6c 09 69 6e 74 79 70 65 09 3b 69 6e 20 72 74 79 70 65 0d 0a 09 63 61 6c 6c 09 69 6e 62   ┆call intype ;in rtype   call inb┆
0x083680…0836a0             79 74 65 09 3b 63 6c 65 61 72 73 20 74 68 65 20 63 6f 6e 74 72 6f 6c 6c 65 72 0d 0a 3b 0d 0a 09   ┆yte ;clears the controller  ;   ┆
0x0836a0…0836c0             6c 64 61 09 64 62 61 6e 6b 09 09 3b 73 65 74 20 62 61 6e 6b 20 66 6c 61 67 73 0d 0a 09 6f 72 61   ┆lda dbank  ;set bank flags   ora┆
0x0836c0…0836e0             09 61 09 09 3b 7a 65 72 6f 20 69 66 20 64 72 69 76 65 20 30 2c 31 20 61 6e 64 20 6e 7a 20 69 66   ┆ a  ;zero if drive 0,1 and nz if┆
0x0836e0…083700             20 32 2c 33 0d 0a 09 6d 76 69 09 61 2c 69 6f 70 62 20 61 6e 64 20 30 66 66 68 09 3b 6c 6f 77 20   ┆ 2,3   mvi a,iopb and 0ffh ;low ┆
0x083700…083720             61 64 64 72 65 73 73 20 66 6f 72 20 69 6f 70 62 0d 0a 09 6d 76 69 09 62 2c 69 6f 70 62 20 73 68   ┆address for iopb   mvi b,iopb sh┆
0x083720…083740             72 20 38 09 3b 68 69 67 68 20 61 64 64 72 65 73 73 20 66 6f 72 20 69 6f 70 62 0d 0a 09 6a 6e 7a   ┆r 8 ;high address for iopb   jnz┆
0x083740…083760             09 69 6f 64 72 31 09 3b 64 72 69 76 65 20 62 61 6e 6b 20 31 3f 0d 0a 09 6f 75 74 09 69 6c 6f 77   ┆ iodr1 ;drive bank 1?   out ilow┆
0x083760…083780             09 09 3b 6c 6f 77 20 61 64 64 72 65 73 73 20 74 6f 20 63 6f 6e 74 72 6f 6c 6c 65 72 0d 0a 09 6d   ┆  ;low address to controller   m┆
0x083780…0837a0             6f 76 09 61 2c 62 0d 0a 09 6f 75 74 09 69 68 69 67 68 09 3b 68 69 67 68 20 61 64 64 72 65 73 73   ┆ov a,b   out ihigh ;high address┆
0x0837a0…0837c0             0d 0a 09 6a 6d 70 09 77 61 69 74 30 09 09 3b 74 6f 20 77 61 69 74 20 66 6f 72 20 63 6f 6d 70 6c   ┆   jmp wait0  ;to wait for compl┆
0x0837c0…0837e0             65 74 65 0d 0a 3b 0d 0a 69 6f 64 72 31 3a 09 3b 64 72 69 76 65 20 62 61 6e 6b 20 31 0d 0a 09 6f   ┆ete  ;  iodr1: ;drive bank 1   o┆
0x0837e0…083800             75 74 09 69 6c 6f 77 2b 31 30 68 09 3b 38 38 20 66 6f 72 20 64 72 69 76 65 20 62 61 6e 6b 20 31   ┆ut ilow+10h ;88 for drive bank 1┆
0x083800…083820 (35, 0, 3)  72 6f 0d 0a 09 64 63 72 09 63 0d 0a 09 6a 6e 7a 09 72 65 77 61 69 74 09 3b 66 6f 72 20 61 6e 6f   ┆ro   dcr c   jnz rewait ;for ano┆
0x083820…083840             74 68 65 72 20 74 72 79 0d 0a 3b 0d 0a 3b 09 63 61 6e 6e 6f 74 20 72 65 63 6f 76 65 72 20 66 72   ┆ther try  ;  ; cannot recover fr┆
0x083840…083860             6f 6d 20 65 72 72 6f 72 0d 0a 09 6d 76 69 09 61 2c 31 09 3b 65 72 72 6f 72 20 63 6f 64 65 0d 0a   ┆om error   mvi a,1 ;error code  ┆
0x083860…083880             09 72 65 74 0d 0a 3b 0d 0a 3b 09 69 6e 74 79 70 65 2c 20 69 6e 62 79 74 65 2c 20 69 6e 73 74 61   ┆ ret  ;  ; intype, inbyte, insta┆
0x083880…0838a0             74 20 72 65 61 64 20 64 72 69 76 65 20 62 61 6e 6b 20 30 30 20 6f 72 20 31 30 0d 0a 69 6e 74 79   ┆t read drive bank 00 or 10  inty┆
0x0838a0…0838c0             70 65 3a 09 6c 64 61 09 64 62 61 6e 6b 0d 0a 09 6f 72 61 09 61 0d 0a 09 6a 6e 7a 09 69 6e 74 79   ┆pe: lda dbank   ora a   jnz inty┆
0x0838c0…0838e0             70 31 09 3b 73 6b 69 70 20 74 6f 20 62 61 6e 6b 20 31 30 0d 0a 09 69 6e 09 72 74 79 70 65 0d 0a   ┆p1 ;skip to bank 10   in rtype  ┆
0x0838e0…083900             09 72 65 74 0d 0a 69 6e 74 79 70 31 3a 09 69 6e 09 72 74 79 70 65 2b 31 30 68 09 3b 37 38 20 66   ┆ ret  intyp1: in rtype+10h ;78 f┆
0x083900…083920             6f 72 20 30 2c 31 20 20 38 38 20 66 6f 72 20 32 2c 33 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 69 6e 62   ┆or 0,1  88 for 2,3   ret  ;  inb┆
0x083920…083940             79 74 65 3a 09 6c 64 61 09 64 62 61 6e 6b 0d 0a 09 6f 72 61 09 61 0d 0a 09 6a 6e 7a 09 69 6e 62   ┆yte: lda dbank   ora a   jnz inb┆
0x083940…083960             79 74 31 0d 0a 09 69 6e 09 72 62 79 74 65 0d 0a 09 72 65 74 0d 0a 69 6e 62 79 74 31 3a 09 69 6e   ┆yt1   in rbyte   ret  inbyt1: in┆
0x083960…083980             09 72 62 79 74 65 2b 31 30 68 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 69 6e 73 74 61 74 3a 09 6c 64 61   ┆ rbyte+10h   ret  ;  instat: lda┆
0x083980…0839a0             09 64 62 61 6e 6b 0d 0a 09 6f 72 61 09 61 0d 0a 09 6a 6e 7a 09 69 6e 73 74 61 31 0d 0a 09 69 6e   ┆ dbank   ora a   jnz insta1   in┆
0x0839a0…0839c0             09 64 73 74 61 74 0d 0a 09 72 65 74 0d 0a 69 6e 73 74 61 31 3a 09 69 6e 09 64 73 74 61 74 2b 31   ┆ dstat   ret  insta1: in dstat+1┆
0x0839c0…0839e0             30 68 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 3b 0d 0a 3b 0d 0a 3b 09 64 61 74 61 20 61 72 65 61 73 20   ┆0h   ret  ;  ;  ;  ; data areas ┆
0x0839e0…083a00             28 6d 75 73 74 20 62 65 20 69 6e 20 72 61 6d 29 0d 0a 64 62 61 6e 6b 3a 09 64 62 09 30 09 3b 64   ┆(must be in ram)  dbank: db 0 ;d┆
0x083a00…083a20 (35, 0, 4)  75 74 20 28 63 68 61 72 20 69 6e 20 72 65 67 2d 63 29 0d 0a 3b 09 6c 69 73 74 09 6c 69 73 74 20   ┆ut (char in reg-c)  ; list list ┆
0x083a20…083a40             6f 75 74 20 28 63 68 61 72 20 69 6e 20 72 65 67 2d 63 29 0d 0a 3b 09 70 75 6e 63 68 09 70 75 6e   ┆out (char in reg-c)  ; punch pun┆
0x083a40…083a60             63 68 20 6f 75 74 20 28 63 68 61 72 20 69 6e 20 72 65 67 2d 63 29 0d 0a 3b 09 72 65 61 64 65 72   ┆ch out (char in reg-c)  ; reader┆
0x083a60…083a80             09 70 61 70 65 72 20 74 61 70 65 20 72 65 61 64 65 72 20 69 6e 20 28 72 65 73 75 6c 74 20 74 6f   ┆ paper tape reader in (result to┆
0x083a80…083aa0             20 72 65 67 2d 61 29 0d 0a 3b 09 68 6f 6d 65 09 6d 6f 76 65 20 74 6f 20 74 72 61 63 6b 20 30 30   ┆ reg-a)  ; home move to track 00┆
0x083aa0…083ac0             0d 0a 3b 0d 0a 3b 09 28 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 61 6c 6c 73 20 73 65 74 2d   ┆  ;  ; (the following calls set-┆
0x083ac0…083ae0             75 70 20 74 68 65 20 69 6f 20 70 61 72 61 6d 65 74 65 72 20 62 6c 6f 63 6b 20 66 6f 72 20 74 68   ┆up the io parameter block for th┆
0x083ae0…083b00             65 0d 0a 3b 09 6d 64 73 2c 20 77 68 69 63 68 20 69 73 20 75 73 65 64 20 74 6f 20 70 65 72 66 6f   ┆e  ; mds, which is used to perfo┆
0x083b00…083b20             72 6d 20 73 75 62 73 65 71 75 65 6e 74 20 72 65 61 64 73 20 61 6e 64 20 77 72 69 74 65 73 29 0d   ┆rm subsequent reads and writes) ┆
0x083b20…083b40             0a 3b 09 73 65 6c 64 73 6b 09 73 65 6c 65 63 74 20 64 69 73 6b 20 67 69 76 65 6e 20 62 79 20 72   ┆ ; seldsk select disk given by r┆
0x083b40…083b60             65 67 2d 63 20 28 30 2c 31 2c 32 2e 2e 2e 29 0d 0a 3b 09 73 65 74 74 72 6b 09 73 65 74 20 74 72   ┆eg-c (0,1,2...)  ; settrk set tr┆
0x083b60…083b80             61 63 6b 20 61 64 64 72 65 73 73 20 28 30 2c 2e 2e 2e 37 36 29 20 66 6f 72 20 73 75 62 73 65 71   ┆ack address (0,...76) for subseq┆
0x083b80…083ba0             75 65 6e 74 20 72 65 61 64 2f 77 72 69 74 65 0d 0a 3b 09 73 65 74 73 65 63 09 73 65 74 20 73 65   ┆uent read/write  ; setsec set se┆
0x083ba0…083bc0             63 74 6f 72 20 61 64 64 72 65 73 73 20 28 31 2c 2e 2e 2e 2c 32 36 29 20 66 6f 72 20 73 75 62 73   ┆ctor address (1,...,26) for subs┆
0x083bc0…083be0             65 71 75 65 6e 74 20 72 65 61 64 2f 77 72 69 74 65 0d 0a 3b 09 73 65 74 64 6d 61 09 73 65 74 20   ┆equent read/write  ; setdma set ┆
0x083be0…083c00             73 75 62 73 65 71 75 65 6e 74 20 64 6d 61 20 61 64 64 72 65 73 73 20 28 69 6e 69 74 69 61 6c 6c   ┆subsequent dma address (initiall┆
0x083c00…083c20 (35, 0, 5)  62 6c 65 20 61 64 64 72 65 73 73 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 3b 0d 0a 73 65 74 74 72 6b 3a   ┆ble address   ret  ;  ;  settrk:┆
0x083c20…083c40             09 3b 73 65 74 20 74 72 61 63 6b 20 61 64 64 72 65 73 73 20 67 69 76 65 6e 20 62 79 20 63 0d 0a   ┆ ;set track address given by c  ┆
0x083c40…083c60             09 6c 78 69 09 68 2c 69 6f 74 0d 0a 09 6d 6f 76 09 6d 2c 63 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 73   ┆ lxi h,iot   mov m,c   ret  ;  s┆
0x083c60…083c80             65 74 73 65 63 3a 09 3b 73 65 74 20 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 20 67 69 76 65 6e 20   ┆etsec: ;set sector number given ┆
0x083c80…083ca0             62 79 20 63 0d 0a 09 6c 78 69 09 68 2c 69 6f 73 0d 0a 09 6d 6f 76 09 6d 2c 63 0d 0a 09 72 65 74   ┆by c   lxi h,ios   mov m,c   ret┆
0x083ca0…083cc0             0d 0a 73 65 63 74 72 61 6e 3a 0d 0a 09 09 3b 74 72 61 6e 73 6c 61 74 65 20 73 65 63 74 6f 72 20   ┆  sectran:    ;translate sector ┆
0x083cc0…083ce0             62 63 20 75 73 69 6e 67 20 74 61 62 6c 65 20 61 74 20 64 65 0d 0a 09 6d 76 69 09 62 2c 30 09 3b   ┆bc using table at de   mvi b,0 ;┆
0x083ce0…083d00             64 6f 75 62 6c 65 20 70 72 65 63 69 73 69 6f 6e 20 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 20 69   ┆double precision sector number i┆
0x083d00…083d20             6e 20 42 43 0d 0a 09 78 63 68 67 09 09 3b 74 72 61 6e 73 6c 61 74 65 20 74 61 62 6c 65 20 61 64   ┆n BC   xchg  ;translate table ad┆
0x083d20…083d40             64 72 65 73 73 20 74 6f 20 48 4c 0d 0a 09 64 61 64 09 62 09 3b 74 72 61 6e 73 6c 61 74 65 28 73   ┆dress to HL   dad b ;translate(s┆
0x083d40…083d60             65 63 74 6f 72 29 20 61 64 64 72 65 73 73 0d 0a 09 6d 6f 76 09 61 2c 6d 09 3b 74 72 61 6e 73 6c   ┆ector) address   mov a,m ;transl┆
0x083d60…083d80             61 74 65 64 20 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 20 74 6f 20 41 0d 0a 09 73 74 61 09 69 6f   ┆ated sector number to A   sta io┆
0x083d80…083da0             73 0d 0a 09 6d 6f 76 09 6c 2c 61 09 3b 72 65 74 75 72 6e 20 73 65 63 74 6f 72 20 6e 75 6d 62 65   ┆s   mov l,a ;return sector numbe┆
0x083da0…083dc0             72 20 69 6e 20 4c 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 73 65 74 64 6d 61 3a 09 3b 73 65 74 20 64 6d   ┆r in L   ret  ;  setdma: ;set dm┆
0x083dc0…083de0             61 20 61 64 64 72 65 73 73 20 67 69 76 65 6e 20 62 79 20 72 65 67 73 20 62 2c 63 0d 0a 09 6d 6f   ┆a address given by regs b,c   mo┆
0x083de0…083e00             76 09 6c 2c 63 0d 0a 09 6d 6f 76 09 68 2c 62 0d 0a 09 73 68 6c 64 09 69 6f 64 0d 0a 09 72 65 74   ┆v l,c   mov h,b   shld iod   ret┆
0x083e00…083e20 (35, 0, 6)  30 0d 0a 09 6d 6f 76 09 61 2c 62 0d 0a 09 6f 75 74 09 69 68 69 67 68 2b 31 30 68 0d 0a 3b 0d 0a   ┆0   mov a,b   out ihigh+10h  ;  ┆
0x083e20…083e40             77 61 69 74 30 3a 09 63 61 6c 6c 09 69 6e 73 74 61 74 09 09 3b 77 61 69 74 20 66 6f 72 20 63 6f   ┆wait0: call instat  ;wait for co┆
0x083e40…083e60             6d 70 6c 65 74 69 6f 6e 0d 0a 09 61 6e 69 09 69 6f 72 64 79 09 09 3b 72 65 61 64 79 3f 0d 0a 09   ┆mpletion   ani iordy  ;ready?   ┆
0x083e60…083e80             6a 7a 09 77 61 69 74 30 0d 0a 3b 0d 0a 3b 09 63 68 65 63 6b 20 69 6f 20 63 6f 6d 70 6c 65 74 69   ┆jz wait0  ;  ; check io completi┆
0x083e80…083ea0             6f 6e 20 6f 6b 0d 0a 09 63 61 6c 6c 09 69 6e 74 79 70 65 09 09 3b 6d 75 73 74 20 62 65 20 69 6f   ┆on ok   call intype  ;must be io┆
0x083ea0…083ec0             20 63 6f 6d 70 6c 65 74 65 20 28 30 30 29 20 75 6e 6c 69 6e 6b 65 64 0d 0a 3b 09 30 30 20 75 6e   ┆ complete (00) unlinked  ; 00 un┆
0x083ec0…083ee0             6c 69 6e 6b 65 64 20 69 2f 6f 20 63 6f 6d 70 6c 65 74 65 2c 20 20 20 20 30 31 20 6c 69 6e 6b 65   ┆linked i/o complete,    01 linke┆
0x083ee0…083f00             64 20 69 2f 6f 20 63 6f 6d 70 6c 65 74 65 20 28 6e 6f 74 20 75 73 65 64 29 0d 0a 3b 09 31 30 20   ┆d i/o complete (not used)  ; 10 ┆
0x083f00…083f20             64 69 73 6b 20 73 74 61 74 75 73 20 63 68 61 6e 67 65 64 20 20 20 20 20 20 20 31 31 20 28 6e 6f   ┆disk status changed       11 (no┆
0x083f20…083f40             74 20 75 73 65 64 29 0d 0a 09 63 70 69 09 31 30 62 09 09 3b 72 65 61 64 79 20 73 74 61 74 75 73   ┆t used)   cpi 10b  ;ready status┆
0x083f40…083f60             20 63 68 61 6e 67 65 3f 0d 0a 09 6a 7a 09 77 72 65 61 64 79 0d 0a 3b 0d 0a 3b 09 6d 75 73 74 20   ┆ change?   jz wready  ;  ; must ┆
0x083f60…083f80             62 65 20 30 30 20 69 6e 20 74 68 65 20 61 63 63 75 6d 75 6c 61 74 6f 72 0d 0a 09 6f 72 61 09 61   ┆be 00 in the accumulator   ora a┆
0x083f80…083fa0             0d 0a 09 6a 6e 7a 09 77 65 72 72 6f 72 09 09 3b 73 6f 6d 65 20 6f 74 68 65 72 20 63 6f 6e 64 69   ┆   jnz werror  ;some other condi┆
0x083fa0…083fc0             74 69 6f 6e 2c 20 72 65 74 72 79 0d 0a 3b 0d 0a 3b 09 63 68 65 63 6b 20 69 2f 6f 20 65 72 72 6f   ┆tion, retry  ;  ; check i/o erro┆
0x083fc0…083fe0             72 20 62 69 74 73 0d 0a 09 63 61 6c 6c 09 69 6e 62 79 74 65 0d 0a 09 72 61 6c 0d 0a 09 6a 63 09   ┆r bits   call inbyte   ral   jc ┆
0x083fe0…084000             77 72 65 61 64 79 09 09 3b 75 6e 69 74 20 6e 6f 74 20 72 65 61 64 79 0d 0a 09 72 61 72 0d 0a 09   ┆wready  ;unit not ready   rar   ┆
0x084000…084020 (35, 0, 7)  69 73 6b 20 62 61 6e 6b 20 30 30 20 69 66 20 64 72 69 76 65 20 30 2c 31 0d 0a 09 09 09 3b 09 20   ┆isk bank 00 if drive 0,1     ;  ┆
0x084020…084040             20 20 31 30 20 69 66 20 64 72 69 76 65 20 32 2c 33 0d 0a 69 6f 70 62 3a 09 3b 69 6f 20 70 61 72   ┆  10 if drive 2,3  iopb: ;io par┆
0x084040…084060             61 6d 65 74 65 72 20 62 6c 6f 63 6b 0d 0a 09 64 62 09 38 30 68 09 3b 6e 6f 72 6d 61 6c 20 69 2f   ┆ameter block   db 80h ;normal i/┆
0x084060…084080             6f 20 6f 70 65 72 61 74 69 6f 6e 0d 0a 69 6f 66 3a 09 64 62 09 72 65 61 64 66 09 3b 69 6f 20 66   ┆o operation  iof: db readf ;io f┆
0x084080…0840a0             75 6e 63 74 69 6f 6e 2c 20 69 6e 69 74 69 61 6c 20 72 65 61 64 0d 0a 69 6f 6e 3a 09 64 62 09 31   ┆unction, initial read  ion: db 1┆
0x0840a0…0840c0             09 3b 6e 75 6d 62 65 72 20 6f 66 20 73 65 63 74 6f 72 73 20 74 6f 20 72 65 61 64 0d 0a 69 6f 74   ┆ ;number of sectors to read  iot┆
0x0840c0…0840e0             3a 09 64 62 09 6f 66 66 73 65 74 09 3b 74 72 61 63 6b 20 6e 75 6d 62 65 72 0d 0a 69 6f 73 3a 09   ┆: db offset ;track number  ios: ┆
0x0840e0…084100             64 62 09 31 09 3b 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 0d 0a 69 6f 64 3a 09 64 77 09 62 75 66   ┆db 1 ;sector number  iod: dw buf┆
0x084100…084120             66 09 3b 69 6f 20 61 64 64 72 65 73 73 0d 0a 3b 0d 0a 3b 0d 0a 3b 09 64 65 66 69 6e 65 20 72 61   ┆f ;io address  ;  ;  ; define ra┆
0x084120…084140             6d 20 61 72 65 61 73 20 66 6f 72 20 62 64 6f 73 20 6f 70 65 72 61 74 69 6f 6e 0d 0a 09 65 6e 64   ┆m areas for bdos operation   end┆
0x084140…084160             65 66 0d 0a 09 65 6e 64 0d 0a 3b 09 4d 44 53 2d 38 30 30 20 49 2f 4f 20 44 72 69 76 65 72 73 20   ┆ef   end  ; MDS-800 I/O Drivers ┆
0x084160…084180             66 6f 72 20 43 50 2f 4d 20 32 2e 32 0d 0a 3b 09 28 66 6f 75 72 20 64 72 69 76 65 20 73 69 6e 67   ┆for CP/M 2.2  ; (four drive sing┆
0x084180…0841a0             6c 65 20 64 65 6e 73 69 74 79 20 76 65 72 73 69 6f 6e 29 0d 0a 3b 0d 0a 3b 09 56 65 72 73 69 6f   ┆le density version)  ;  ; Versio┆
0x0841a0…0841c0             6e 20 32 2e 32 20 46 65 62 72 75 61 72 79 2c 20 31 39 38 30 0d 0a 3b 0d 0a 76 65 72 73 09 65 71   ┆n 2.2 February, 1980  ;  vers eq┆
0x0841c0…0841e0             75 09 32 32 09 3b 76 65 72 73 69 6f 6e 20 32 2e 32 0d 0a 3b 0d 0a 3b 09 43 6f 70 79 72 69 67 68   ┆u 22 ;version 2.2  ;  ; Copyrigh┆
0x0841e0…084200             74 20 28 63 29 20 31 39 38 30 0d 0a 3b 09 44 69 67 69 74 61 6c 20 52 65 73 65 61 72 63 68 0d 0a   ┆t (c) 1980  ; Digital Research  ┆
0x084200…084220 (35, 0, 8)  79 20 38 30 68 29 0d 0a 3b 0d 0a 3b 09 28 72 65 61 64 20 61 6e 64 20 77 72 69 74 65 20 61 73 73   ┆y 80h)  ;  ; (read and write ass┆
0x084220…084240             75 6d 65 20 70 72 65 76 69 6f 75 73 20 63 61 6c 6c 73 20 74 6f 20 73 65 74 20 75 70 20 74 68 65   ┆ume previous calls to set up the┆
0x084240…084260             20 69 6f 20 70 61 72 61 6d 65 74 65 72 73 29 0d 0a 3b 09 72 65 61 64 09 72 65 61 64 20 74 72 61   ┆ io parameters)  ; read read tra┆
0x084260…084280             63 6b 2f 73 65 63 74 6f 72 20 74 6f 20 70 72 65 73 65 74 20 64 6d 61 20 61 64 64 72 65 73 73 0d   ┆ck/sector to preset dma address ┆
0x084280…0842a0             0a 3b 09 77 72 69 74 65 09 77 72 69 74 65 20 74 72 61 63 6b 2f 73 65 63 74 6f 72 20 66 72 6f 6d   ┆ ; write write track/sector from┆
0x0842a0…0842c0             20 70 72 65 73 65 74 20 64 6d 61 20 61 64 64 72 65 73 73 0d 0a 3b 0d 0a 3b 09 6a 75 6d 70 20 76   ┆ preset dma address  ;  ; jump v┆
0x0842c0…0842e0             65 63 74 6f 72 20 66 6f 72 20 69 6e 64 69 76 69 75 61 6c 20 72 6f 75 74 69 6e 65 73 0d 0a 09 6a   ┆ector for indiviual routines   j┆
0x0842e0…084300             6d 70 09 62 6f 6f 74 0d 0a 77 62 6f 6f 74 65 3a 09 6a 6d 70 09 77 62 6f 6f 74 0d 0a 09 6a 6d 70   ┆mp boot  wboote: jmp wboot   jmp┆
0x084300…084320             09 63 6f 6e 73 74 0d 0a 09 6a 6d 70 09 63 6f 6e 69 6e 0d 0a 09 6a 6d 70 09 63 6f 6e 6f 75 74 0d   ┆ const   jmp conin   jmp conout ┆
0x084320…084340             0a 09 6a 6d 70 09 6c 69 73 74 0d 0a 09 6a 6d 70 09 70 75 6e 63 68 0d 0a 09 6a 6d 70 09 72 65 61   ┆  jmp list   jmp punch   jmp rea┆
0x084340…084360             64 65 72 0d 0a 09 6a 6d 70 09 68 6f 6d 65 0d 0a 09 6a 6d 70 09 73 65 6c 64 73 6b 0d 0a 09 6a 6d   ┆der   jmp home   jmp seldsk   jm┆
0x084360…084380             70 09 73 65 74 74 72 6b 0d 0a 09 6a 6d 70 09 73 65 74 73 65 63 0d 0a 09 6a 6d 70 09 73 65 74 64   ┆p settrk   jmp setsec   jmp setd┆
0x084380…0843a0             6d 61 0d 0a 09 6a 6d 70 09 72 65 61 64 0d 0a 09 6a 6d 70 09 77 72 69 74 65 0d 0a 09 6a 6d 70 09   ┆ma   jmp read   jmp write   jmp ┆
0x0843a0…0843c0             6c 69 73 74 73 74 09 3b 6c 69 73 74 20 73 74 61 74 75 73 0d 0a 09 6a 6d 70 09 73 65 63 74 72 61   ┆listst ;list status   jmp sectra┆
0x0843c0…0843e0             6e 0d 0a 3b 0d 0a 09 6d 61 63 6c 69 62 09 64 69 73 6b 64 65 66 09 3b 6c 6f 61 64 20 74 68 65 20   ┆n  ;   maclib diskdef ;load the ┆
0x0843e0…084400             64 69 73 6b 20 64 65 66 69 6e 69 74 69 6f 6e 20 6c 69 62 72 61 72 79 0d 0a 09 64 69 73 6b 73 09   ┆disk definition library   disks ┆
0x084400…084420 (35, 0, 9)  0d 0a 3b 0d 0a 72 65 61 64 3a 09 3b 72 65 61 64 20 6e 65 78 74 20 64 69 73 6b 20 72 65 63 6f 72   ┆  ;  read: ;read next disk recor┆
0x084420…084440             64 20 28 61 73 73 75 6d 69 6e 67 20 64 69 73 6b 2f 74 72 6b 2f 73 65 63 2f 64 6d 61 20 73 65 74   ┆d (assuming disk/trk/sec/dma set┆
0x084440…084460             29 0d 0a 09 6d 76 69 09 63 2c 72 65 61 64 66 09 3b 73 65 74 20 74 6f 20 72 65 61 64 20 66 75 6e   ┆)   mvi c,readf ;set to read fun┆
0x084460…084480             63 74 69 6f 6e 0d 0a 09 63 61 6c 6c 09 73 65 74 66 75 6e 63 0d 0a 09 63 61 6c 6c 09 77 61 69 74   ┆ction   call setfunc   call wait┆
0x084480…0844a0             69 6f 09 3b 70 65 72 66 6f 72 6d 20 72 65 61 64 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 72 65 74 09   ┆io ;perform read function   ret ┆
0x0844a0…0844c0             09 3b 6d 61 79 20 68 61 76 65 20 65 72 72 6f 72 20 73 65 74 20 69 6e 20 72 65 67 2d 61 0d 0a 3b   ┆ ;may have error set in reg-a  ;┆
0x0844c0…0844e0             0d 0a 3b 0d 0a 77 72 69 74 65 3a 09 3b 64 69 73 6b 20 77 72 69 74 65 20 66 75 6e 63 74 69 6f 6e   ┆  ;  write: ;disk write function┆
0x0844e0…084500             0d 0a 09 6d 76 69 09 63 2c 77 72 69 74 66 0d 0a 09 63 61 6c 6c 09 73 65 74 66 75 6e 63 09 3b 73   ┆   mvi c,writf   call setfunc ;s┆
0x084500…084520             65 74 20 74 6f 20 77 72 69 74 65 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 63 61 6c 6c 09 77 61 69 74   ┆et to write function   call wait┆
0x084520…084540             69 6f 0d 0a 09 72 65 74 09 09 3b 6d 61 79 20 68 61 76 65 20 65 72 72 6f 72 20 73 65 74 0d 0a 3b   ┆io   ret  ;may have error set  ;┆
0x084540…084560             0d 0a 3b 0d 0a 3b 09 75 74 69 6c 69 74 79 20 73 75 62 72 6f 75 74 69 6e 65 73 0d 0a 70 72 6d 73   ┆  ;  ; utility subroutines  prms┆
0x084560…084580             67 3a 09 3b 70 72 69 6e 74 20 6d 65 73 73 61 67 65 20 61 74 20 68 2c 6c 20 74 6f 20 30 0d 0a 09   ┆g: ;print message at h,l to 0   ┆
0x084580…0845a0             6d 6f 76 09 61 2c 6d 0d 0a 09 6f 72 61 09 61 09 3b 7a 65 72 6f 3f 0d 0a 09 72 7a 0d 0a 3b 09 6d   ┆mov a,m   ora a ;zero?   rz  ; m┆
0x0845a0…0845c0             6f 72 65 20 74 6f 20 70 72 69 6e 74 0d 0a 09 70 75 73 68 09 68 0d 0a 09 6d 6f 76 09 63 2c 61 0d   ┆ore to print   push h   mov c,a ┆
0x0845c0…0845e0             0a 09 63 61 6c 6c 09 63 6f 6e 6f 75 74 0d 0a 09 70 6f 70 09 68 0d 0a 09 69 6e 78 09 68 0d 0a 09   ┆  call conout   pop h   inx h   ┆
0x0845e0…084600             6a 6d 70 09 70 72 6d 73 67 0d 0a 3b 0d 0a 73 65 74 66 75 6e 63 3a 0d 0a 3b 09 73 65 74 20 66 75   ┆jmp prmsg  ;  setfunc:  ; set fu┆
0x084600…084620 (35, 0, 10) 61 6e 69 09 31 31 31 31 31 31 31 30 62 09 3b 61 6e 79 20 6f 74 68 65 72 20 65 72 72 6f 72 73 3f   ┆ani 11111110b ;any other errors?┆
0x084620…084640             20 20 28 64 65 6c 65 74 65 64 20 64 61 74 61 20 6f 6b 29 0d 0a 09 6a 6e 7a 09 77 65 72 72 6f 72   ┆  (deleted data ok)   jnz werror┆
0x084640…084660             0d 0a 3b 0d 0a 3b 09 72 65 61 64 20 6f 72 20 77 72 69 74 65 20 69 73 20 6f 6b 2c 20 61 63 63 75   ┆  ;  ; read or write is ok, accu┆
0x084660…084680             6d 75 6c 61 74 6f 72 20 63 6f 6e 74 61 69 6e 73 20 7a 65 72 6f 0d 0a 09 72 65 74 0d 0a 3b 0d 0a   ┆mulator contains zero   ret  ;  ┆
0x084680…0846a0             77 72 65 61 64 79 3a 09 3b 6e 6f 74 20 72 65 61 64 79 2c 20 74 72 65 61 74 20 61 73 20 65 72 72   ┆wready: ;not ready, treat as err┆
0x0846a0…0846c0             6f 72 20 66 6f 72 20 6e 6f 77 0d 0a 09 63 61 6c 6c 09 69 6e 62 79 74 65 09 09 3b 63 6c 65 61 72   ┆or for now   call inbyte  ;clear┆
0x0846c0…0846e0             20 72 65 73 75 6c 74 20 62 79 74 65 0d 0a 09 6a 6d 70 09 74 72 79 63 6f 75 6e 74 0d 0a 3b 0d 0a   ┆ result byte   jmp trycount  ;  ┆
0x0846e0…084700             77 65 72 72 6f 72 3a 09 3b 72 65 74 75 72 6e 20 68 61 72 64 77 61 72 65 20 6d 61 6c 66 75 6e 63   ┆werror: ;return hardware malfunc┆
0x084700…084720             74 69 6f 6e 20 28 63 72 63 2c 20 74 72 61 63 6b 2c 20 73 65 65 6b 2c 20 65 74 63 2e 29 0d 0a 3b   ┆tion (crc, track, seek, etc.)  ;┆
0x084720…084740             09 74 68 65 20 6d 64 73 20 63 6f 6e 74 72 6f 6c 6c 65 72 20 68 61 73 20 72 65 74 75 72 6e 65 64   ┆ the mds controller has returned┆
0x084740…084760             20 61 20 62 69 74 20 69 6e 20 65 61 63 68 20 70 6f 73 69 74 69 6f 6e 0d 0a 3b 09 6f 66 20 74 68   ┆ a bit in each position  ; of th┆
0x084760…084780             65 20 61 63 63 75 6d 75 6c 61 74 6f 72 2c 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 74 6f 20   ┆e accumulator, corresponding to ┆
0x084780…0847a0             74 68 65 20 63 6f 6e 64 69 74 69 6f 6e 73 3a 0d 0a 3b 09 30 09 2d 20 64 65 6c 65 74 65 64 20 64   ┆the conditions:  ; 0 - deleted d┆
0x0847a0…0847c0             61 74 61 20 28 61 63 63 65 70 74 65 64 20 61 73 20 6f 6b 20 61 62 6f 76 65 29 0d 0a 3b 09 31 09   ┆ata (accepted as ok above)  ; 1 ┆
0x0847c0…0847e0             2d 20 63 72 63 20 65 72 72 6f 72 0d 0a 3b 09 32 09 2d 20 73 65 65 6b 20 65 72 72 6f 72 0d 0a 3b   ┆- crc error  ; 2 - seek error  ;┆
0x0847e0…084800             09 33 09 2d 20 61 64 64 72 65 73 73 20 65 72 72 6f 72 20 28 68 61 72 64 77 61 72 65 20 6d 61 6c   ┆ 3 - address error (hardware mal┆
0x084800…084820 (35, 0, 11) 3b 09 42 6f 78 20 35 37 39 2c 20 50 61 63 69 66 69 63 20 47 72 6f 76 65 0d 0a 3b 09 43 61 6c 69   ┆; Box 579, Pacific Grove  ; Cali┆
0x084820…084840             66 6f 72 6e 69 61 2c 20 39 33 39 35 30 0d 0a 3b 0d 0a 3b 0d 0a 74 72 75 65 09 65 71 75 09 30 66   ┆fornia, 93950  ;  ;  true equ 0f┆
0x084840…084860             66 66 66 68 09 3b 76 61 6c 75 65 20 6f 66 20 22 74 72 75 65 22 0d 0a 66 61 6c 73 65 09 65 71 75   ┆fffh ;value of "true"  false equ┆
0x084860…084880             09 6e 6f 74 20 74 72 75 65 09 3b 22 66 61 6c 73 65 22 0d 0a 74 65 73 74 09 65 71 75 09 66 61 6c   ┆ not true ;"false"  test equ fal┆
0x084880…0848a0             73 65 09 3b 74 72 75 65 20 69 66 20 74 65 73 74 20 62 69 6f 73 0d 0a 3b 0d 0a 09 69 66 09 74 65   ┆se ;true if test bios  ;   if te┆
0x0848a0…0848c0             73 74 0d 0a 62 69 61 73 09 65 71 75 09 30 33 34 30 30 68 09 3b 62 61 73 65 20 6f 66 20 43 43 50   ┆st  bias equ 03400h ;base of CCP┆
0x0848c0…0848e0             20 69 6e 20 74 65 73 74 20 73 79 73 74 65 6d 0d 0a 09 65 6e 64 69 66 0d 0a 09 69 66 09 6e 6f 74   ┆ in test system   endif   if not┆
0x0848e0…084900             20 74 65 73 74 0d 0a 62 69 61 73 09 65 71 75 09 30 30 30 30 68 09 3b 67 65 6e 65 72 61 74 65 20   ┆ test  bias equ 0000h ;generate ┆
0x084900…084920             72 65 6c 6f 63 61 74 61 62 6c 65 20 63 70 2f 6d 20 73 79 73 74 65 6d 0d 0a 09 65 6e 64 69 66 0d   ┆relocatable cp/m system   endif ┆
0x084920…084940             0a 3b 0d 0a 70 61 74 63 68 09 65 71 75 09 31 36 30 30 68 0d 0a 3b 0d 0a 09 6f 72 67 09 70 61 74   ┆ ;  patch equ 1600h  ;   org pat┆
0x084940…084960             63 68 0d 0a 63 70 6d 62 09 65 71 75 09 24 2d 70 61 74 63 68 09 3b 62 61 73 65 20 6f 66 20 63 70   ┆ch  cpmb equ $-patch ;base of cp┆
0x084960…084980             6d 20 63 6f 6e 73 6f 6c 65 20 70 72 6f 63 65 73 73 6f 72 0d 0a 62 64 6f 73 09 65 71 75 09 38 30   ┆m console processor  bdos equ 80┆
0x084980…0849a0             36 68 2b 63 70 6d 62 09 3b 62 61 73 69 63 20 64 6f 73 20 28 72 65 73 69 64 65 6e 74 20 70 6f 72   ┆6h+cpmb ;basic dos (resident por┆
0x0849a0…0849c0             74 69 6f 6e 29 0d 0a 63 70 6d 6c 09 65 71 75 09 24 2d 63 70 6d 62 09 3b 6c 65 6e 67 74 68 20 28   ┆tion)  cpml equ $-cpmb ;length (┆
0x0849c0…0849e0             69 6e 20 62 79 74 65 73 29 20 6f 66 20 63 70 6d 20 73 79 73 74 65 6d 0d 0a 6e 73 65 63 74 73 09   ┆in bytes) of cpm system  nsects ┆
0x0849e0…084a00             65 71 75 09 63 70 6d 6c 2f 31 32 38 09 3b 6e 75 6d 62 65 72 20 6f 66 20 73 65 63 74 6f 72 73 20   ┆equ cpml/128 ;number of sectors ┆
0x084a00…084a20 (35, 0, 12) 34 09 3b 66 6f 75 72 20 64 69 73 6b 73 0d 0a 09 64 69 73 6b 64 65 66 09 30 2c 31 2c 32 36 2c 36   ┆4 ;four disks   diskdef 0,1,26,6┆
0x084a20…084a40             2c 31 30 32 34 2c 32 34 33 2c 36 34 2c 36 34 2c 6f 66 66 73 65 74 0d 0a 09 64 69 73 6b 64 65 66   ┆,1024,243,64,64,offset   diskdef┆
0x084a40…084a60             09 31 2c 30 0d 0a 09 64 69 73 6b 64 65 66 09 32 2c 30 0d 0a 09 64 69 73 6b 64 65 66 09 33 2c 30   ┆ 1,0   diskdef 2,0   diskdef 3,0┆
0x084a60…084a80             0d 0a 3b 09 65 6e 64 65 66 20 6f 63 63 75 72 73 20 61 74 20 65 6e 64 20 6f 66 20 61 73 73 65 6d   ┆  ; endef occurs at end of assem┆
0x084a80…084aa0             62 6c 79 0d 0a 3b 0d 0a 3b 09 65 6e 64 20 6f 66 20 63 6f 6e 74 72 6f 6c 6c 65 72 20 2d 20 69 6e   ┆bly  ;  ; end of controller - in┆
0x084aa0…084ac0             64 65 70 65 6e 64 65 6e 74 20 63 6f 64 65 2c 20 74 68 65 20 72 65 6d 61 69 6e 69 6e 67 20 73 75   ┆dependent code, the remaining su┆
0x084ac0…084ae0             62 72 6f 75 74 69 6e 65 73 0d 0a 3b 09 61 72 65 20 74 61 69 6c 6f 72 65 64 20 74 6f 20 74 68 65   ┆broutines  ; are tailored to the┆
0x084ae0…084b00             20 70 61 72 74 69 63 75 6c 61 72 20 6f 70 65 72 61 74 69 6e 67 20 65 6e 76 69 72 6f 6e 6d 65 6e   ┆ particular operating environmen┆
0x084b00…084b20             74 2c 20 61 6e 64 20 6d 75 73 74 0d 0a 3b 09 62 65 20 61 6c 74 65 72 65 64 20 66 6f 72 20 61 6e   ┆t, and must  ; be altered for an┆
0x084b20…084b40             79 20 73 79 73 74 65 6d 20 77 68 69 63 68 20 64 69 66 66 65 72 73 20 66 72 6f 6d 20 74 68 65 20   ┆y system which differs from the ┆
0x084b40…084b60             69 6e 74 65 6c 20 6d 64 73 2e 0d 0a 3b 0d 0a 3b 09 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63   ┆intel mds.  ;  ; the following c┆
0x084b60…084b80             6f 64 65 20 61 73 73 75 6d 65 73 20 74 68 65 20 6d 64 73 20 6d 6f 6e 69 74 6f 72 20 65 78 69 73   ┆ode assumes the mds monitor exis┆
0x084b80…084ba0             74 73 20 61 74 20 30 66 38 30 30 68 0d 0a 3b 09 61 6e 64 20 75 73 65 73 20 74 68 65 20 69 2f 6f   ┆ts at 0f800h  ; and uses the i/o┆
0x084ba0…084bc0             20 73 75 62 72 6f 75 74 69 6e 65 73 20 77 69 74 68 69 6e 20 74 68 65 20 6d 6f 6e 69 74 6f 72 0d   ┆ subroutines within the monitor ┆
0x084bc0…084be0             0a 3b 0d 0a 3b 09 77 65 20 61 6c 73 6f 20 61 73 73 75 6d 65 20 74 68 65 20 6d 64 73 20 73 79 73   ┆ ;  ; we also assume the mds sys┆
0x084be0…084c00             74 65 6d 20 68 61 73 20 66 6f 75 72 20 64 69 73 6b 20 64 72 69 76 65 73 0d 0a 72 65 76 72 74 09   ┆tem has four disk drives  revrt ┆
0x084c00…084c20 (35, 0, 13) 6e 63 74 69 6f 6e 20 66 6f 72 20 6e 65 78 74 20 69 2f 6f 20 28 63 6f 6d 6d 61 6e 64 20 69 6e 20   ┆nction for next i/o (command in ┆
0x084c20…084c40             72 65 67 2d 63 29 0d 0a 09 6c 78 69 09 68 2c 69 6f 66 09 3b 69 6f 20 66 75 6e 63 74 69 6f 6e 20   ┆reg-c)   lxi h,iof ;io function ┆
0x084c40…084c60             61 64 64 72 65 73 73 0d 0a 09 6d 6f 76 09 61 2c 6d 09 3b 67 65 74 20 69 74 20 74 6f 20 61 63 63   ┆address   mov a,m ;get it to acc┆
0x084c60…084c80             75 6d 75 6c 61 74 6f 72 20 66 6f 72 20 6d 61 73 6b 69 6e 67 0d 0a 09 61 6e 69 09 31 31 31 31 31   ┆umulator for masking   ani 11111┆
0x084c80…084ca0             30 30 30 62 09 3b 72 65 6d 6f 76 65 20 70 72 65 76 69 6f 75 73 20 63 6f 6d 6d 61 6e 64 0d 0a 09   ┆000b ;remove previous command   ┆
0x084ca0…084cc0             6f 72 61 09 63 09 3b 73 65 74 20 74 6f 20 6e 65 77 20 63 6f 6d 6d 61 6e 64 0d 0a 09 6d 6f 76 09   ┆ora c ;set to new command   mov ┆
0x084cc0…084ce0             6d 2c 61 09 3b 72 65 70 6c 61 63 65 64 20 69 6e 20 69 6f 70 62 0d 0a 3b 09 74 68 65 20 6d 64 73   ┆m,a ;replaced in iopb  ; the mds┆
0x084ce0…084d00             2d 38 30 30 20 63 6f 6e 74 72 6f 6c 6c 65 72 20 72 65 71 75 69 72 65 73 20 64 69 73 6b 20 62 61   ┆-800 controller requires disk ba┆
0x084d00…084d20             6e 6b 20 62 69 74 20 69 6e 20 73 65 63 74 6f 72 20 62 79 74 65 0d 0a 3b 09 6d 61 73 6b 20 74 68   ┆nk bit in sector byte  ; mask th┆
0x084d20…084d40             65 20 62 69 74 20 66 72 6f 6d 20 74 68 65 20 63 75 72 72 65 6e 74 20 69 2f 6f 20 66 75 6e 63 74   ┆e bit from the current i/o funct┆
0x084d40…084d60             69 6f 6e 0d 0a 09 61 6e 69 09 30 30 31 30 30 30 30 30 62 09 3b 6d 61 73 6b 20 74 68 65 20 64 69   ┆ion   ani 00100000b ;mask the di┆
0x084d60…084d80             73 6b 20 73 65 6c 65 63 74 20 62 69 74 0d 0a 09 6c 78 69 09 68 2c 69 6f 73 09 09 3b 61 64 64 72   ┆sk select bit   lxi h,ios  ;addr┆
0x084d80…084da0             65 73 73 20 74 68 65 20 73 65 63 74 6f 72 20 73 65 6c 65 63 74 20 62 79 74 65 0d 0a 09 6f 72 61   ┆ess the sector select byte   ora┆
0x084da0…084dc0             09 6d 09 09 3b 73 65 6c 65 63 74 20 70 72 6f 70 65 72 20 64 69 73 6b 20 62 61 6e 6b 0d 0a 09 6d   ┆ m  ;select proper disk bank   m┆
0x084dc0…084de0             6f 76 09 6d 2c 61 09 09 3b 73 65 74 20 64 69 73 6b 20 73 65 6c 65 63 74 20 62 69 74 20 6f 6e 2f   ┆ov m,a  ;set disk select bit on/┆
0x084de0…084e00             6f 66 66 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 77 61 69 74 69 6f 3a 0d 0a 09 6d 76 69 09 63 2c 72 65   ┆off   ret  ;  waitio:   mvi c,re┆
0x084e00…084e20 (35, 0, 14) 66 75 6e 63 74 69 6f 6e 29 0d 0a 3b 09 34 09 2d 20 64 61 74 61 20 6f 76 65 72 2f 75 6e 64 65 72   ┆function)  ; 4 - data over/under┆
0x084e20…084e40             20 66 6c 6f 77 20 28 68 61 72 64 77 61 72 65 20 6d 61 6c 66 75 6e 63 74 69 6f 6e 29 0d 0a 3b 09   ┆ flow (hardware malfunction)  ; ┆
0x084e40…084e60             35 09 2d 20 77 72 69 74 65 20 70 72 6f 74 65 63 74 20 28 74 72 65 61 74 65 64 20 61 73 20 6e 6f   ┆5 - write protect (treated as no┆
0x084e60…084e80             74 20 72 65 61 64 79 29 0d 0a 3b 09 36 09 2d 20 77 72 69 74 65 20 65 72 72 6f 72 20 28 68 61 72   ┆t ready)  ; 6 - write error (har┆
0x084e80…084ea0             64 77 61 72 65 20 6d 61 6c 66 75 6e 63 74 69 6f 6e 29 0d 0a 3b 09 37 09 2d 20 6e 6f 74 20 72 65   ┆dware malfunction)  ; 7 - not re┆
0x084ea0…084ec0             61 64 79 0d 0a 3b 09 28 61 63 63 75 6d 75 6c 61 74 6f 72 20 62 69 74 73 20 61 72 65 20 6e 75 6d   ┆ady  ; (accumulator bits are num┆
0x084ec0…084ee0             62 65 72 65 64 20 37 20 36 20 35 20 34 20 33 20 32 20 31 20 30 29 0d 0a 3b 0d 0a 3b 09 69 74 20   ┆bered 7 6 5 4 3 2 1 0)  ;  ; it ┆
0x084ee0…084f00             6d 61 79 20 62 65 20 75 73 65 66 75 6c 20 74 6f 20 66 69 6c 74 65 72 20 6f 75 74 20 74 68 65 20   ┆may be useful to filter out the ┆
0x084f00…084f20             76 61 72 69 6f 75 73 20 63 6f 6e 64 69 74 69 6f 6e 73 2c 0d 0a 3b 09 62 75 74 20 77 65 20 77 69   ┆various conditions,  ; but we wi┆
0x084f20…084f40             6c 6c 20 67 65 74 20 61 20 70 65 72 6d 61 6e 65 6e 74 20 65 72 72 6f 72 20 6d 65 73 73 61 67 65   ┆ll get a permanent error message┆
0x084f40…084f60             20 69 66 20 69 74 20 69 73 20 6e 6f 74 0d 0a 3b 09 72 65 63 6f 76 65 72 61 62 6c 65 2e 20 20 69   ┆ if it is not  ; recoverable.  i┆
0x084f60…084f80             6e 20 61 6e 79 20 63 61 73 65 2c 20 74 68 65 20 6e 6f 74 20 72 65 61 64 79 20 63 6f 6e 64 69 74   ┆n any case, the not ready condit┆
0x084f80…084fa0             69 6f 6e 20 69 73 0d 0a 3b 09 74 72 65 61 74 65 64 20 61 73 20 61 20 73 65 70 61 72 61 74 65 20   ┆ion is  ; treated as a separate ┆
0x084fa0…084fc0             63 6f 6e 64 69 74 69 6f 6e 20 66 6f 72 20 6c 61 74 65 72 20 69 6d 70 72 6f 76 65 6d 65 6e 74 0d   ┆condition for later improvement ┆
0x084fc0…084fe0             0a 74 72 79 63 6f 75 6e 74 3a 0d 0a 3b 09 72 65 67 69 73 74 65 72 20 63 20 63 6f 6e 74 61 69 6e   ┆ trycount:  ; register c contain┆
0x084fe0…085000             73 20 72 65 74 72 79 20 63 6f 75 6e 74 2c 20 64 65 63 72 65 6d 65 6e 74 20 27 74 69 6c 20 7a 65   ┆s retry count, decrement 'til ze┆
0x085000…085020 (35, 0, 15) 74 6f 20 6c 6f 61 64 0d 0a 6f 66 66 73 65 74 09 65 71 75 09 32 09 3b 6e 75 6d 62 65 72 20 6f 66   ┆to load  offset equ 2 ;number of┆
0x085020…085040             20 64 69 73 6b 20 74 72 61 63 6b 73 20 75 73 65 64 20 62 79 20 63 70 2f 6d 0d 0a 63 64 69 73 6b   ┆ disk tracks used by cp/m  cdisk┆
0x085040…085060             09 65 71 75 09 30 30 30 34 68 09 3b 61 64 64 72 65 73 73 20 6f 66 20 6c 61 73 74 20 6c 6f 67 67   ┆ equ 0004h ;address of last logg┆
0x085060…085080             65 64 20 64 69 73 6b 20 6f 6e 20 77 61 72 6d 20 73 74 61 72 74 0d 0a 62 75 66 66 09 65 71 75 09   ┆ed disk on warm start  buff equ ┆
0x085080…0850a0             30 30 38 30 68 09 3b 64 65 66 61 75 6c 74 20 62 75 66 66 65 72 20 61 64 64 72 65 73 73 0d 0a 72   ┆0080h ;default buffer address  r┆
0x0850a0…0850c0             65 74 72 79 09 65 71 75 09 31 30 09 3b 6d 61 78 20 72 65 74 72 69 65 73 20 6f 6e 20 64 69 73 6b   ┆etry equ 10 ;max retries on disk┆
0x0850c0…0850e0             20 69 2f 6f 20 62 65 66 6f 72 65 20 65 72 72 6f 72 0d 0a 3b 0d 0a 3b 09 70 65 72 66 6f 72 6d 20   ┆ i/o before error  ;  ; perform ┆
0x0850e0…085100             66 6f 6c 6c 6f 77 69 6e 67 20 66 75 6e 63 74 69 6f 6e 73 0d 0a 3b 09 62 6f 6f 74 09 63 6f 6c 64   ┆following functions  ; boot cold┆
0x085100…085120             20 73 74 61 72 74 0d 0a 3b 09 77 62 6f 6f 74 09 77 61 72 6d 20 73 74 61 72 74 20 28 73 61 76 65   ┆ start  ; wboot warm start (save┆
0x085120…085140             20 69 2f 6f 20 62 79 74 65 29 0d 0a 3b 09 28 62 6f 6f 74 20 61 6e 64 20 77 62 6f 6f 74 20 61 72   ┆ i/o byte)  ; (boot and wboot ar┆
0x085140…085160             65 20 74 68 65 20 73 61 6d 65 20 66 6f 72 20 6d 64 73 29 0d 0a 3b 09 63 6f 6e 73 74 09 63 6f 6e   ┆e the same for mds)  ; const con┆
0x085160…085180             73 6f 6c 65 20 73 74 61 74 75 73 0d 0a 3b 09 09 72 65 67 2d 61 20 3d 20 30 30 20 69 66 20 6e 6f   ┆sole status  ;  reg-a = 00 if no┆
0x085180…0851a0             20 63 68 61 72 61 63 74 65 72 20 72 65 61 64 79 0d 0a 3b 09 09 72 65 67 2d 61 20 3d 20 66 66 20   ┆ character ready  ;  reg-a = ff ┆
0x0851a0…0851c0             69 66 20 63 68 61 72 61 63 74 65 72 20 72 65 61 64 79 0d 0a 3b 09 63 6f 6e 69 6e 09 63 6f 6e 73   ┆if character ready  ; conin cons┆
0x0851c0…0851e0             6f 6c 65 20 63 68 61 72 61 63 74 65 72 20 69 6e 20 28 72 65 73 75 6c 74 20 69 6e 20 72 65 67 2d   ┆ole character in (result in reg-┆
0x0851e0…085200             61 29 0d 0a 3b 09 63 6f 6e 6f 75 74 09 63 6f 6e 73 6f 6c 65 20 63 68 61 72 61 63 74 65 72 20 6f   ┆a)  ; conout console character o┆
0x085200…085220 (35, 1, 1)  65 71 75 09 30 66 64 68 09 3b 69 6e 74 65 72 72 75 70 74 20 72 65 76 65 72 74 20 70 6f 72 74 0d   ┆equ 0fdh ;interrupt revert port ┆
0x085220…085240             0a 69 6e 74 63 09 65 71 75 09 30 66 63 68 09 3b 69 6e 74 65 72 72 75 70 74 20 6d 61 73 6b 20 70   ┆ intc equ 0fch ;interrupt mask p┆
0x085240…085260             6f 72 74 0d 0a 69 63 6f 6e 09 65 71 75 09 30 66 33 68 09 3b 69 6e 74 65 72 72 75 70 74 20 63 6f   ┆ort  icon equ 0f3h ;interrupt co┆
0x085260…085280             6e 74 72 6f 6c 20 70 6f 72 74 0d 0a 69 6e 74 65 09 65 71 75 09 30 31 31 31 24 31 31 31 30 62 09   ┆ntrol port  inte equ 0111$1110b ┆
0x085280…0852a0             3b 65 6e 61 62 6c 65 20 72 73 74 20 30 28 77 61 72 6d 20 62 6f 6f 74 29 2c 20 72 73 74 20 37 20   ┆;enable rst 0(warm boot), rst 7 ┆
0x0852a0…0852c0             28 6d 6f 6e 69 74 6f 72 29 0d 0a 3b 0d 0a 3b 09 6d 64 73 20 6d 6f 6e 69 74 6f 72 20 65 71 75 61   ┆(monitor)  ;  ; mds monitor equa┆
0x0852c0…0852e0             74 65 73 0d 0a 6d 6f 6e 38 30 09 65 71 75 09 30 66 38 30 30 68 09 3b 6d 64 73 20 6d 6f 6e 69 74   ┆tes  mon80 equ 0f800h ;mds monit┆
0x0852e0…085300             6f 72 0d 0a 72 6d 6f 6e 38 30 09 65 71 75 09 30 66 66 30 66 68 09 3b 72 65 73 74 61 72 74 20 6d   ┆or  rmon80 equ 0ff0fh ;restart m┆
0x085300…085320             6f 6e 38 30 20 28 62 6f 6f 74 20 65 72 72 6f 72 29 0d 0a 63 69 09 65 71 75 09 30 66 38 30 33 68   ┆on80 (boot error)  ci equ 0f803h┆
0x085320…085340             09 3b 63 6f 6e 73 6f 6c 65 20 63 68 61 72 61 63 74 65 72 20 74 6f 20 72 65 67 2d 61 0d 0a 72 69   ┆ ;console character to reg-a  ri┆
0x085340…085360             09 65 71 75 09 30 66 38 30 36 68 09 3b 72 65 61 64 65 72 20 69 6e 20 74 6f 20 72 65 67 2d 61 0d   ┆ equ 0f806h ;reader in to reg-a ┆
0x085360…085380             0a 63 6f 09 65 71 75 09 30 66 38 30 39 68 09 3b 63 6f 6e 73 6f 6c 65 20 63 68 61 72 20 66 72 6f   ┆ co equ 0f809h ;console char fro┆
0x085380…0853a0             6d 20 63 20 74 6f 20 63 6f 6e 73 6f 6c 65 20 6f 75 74 0d 0a 70 6f 09 65 71 75 09 30 66 38 30 63   ┆m c to console out  po equ 0f80c┆
0x0853a0…0853c0             68 09 3b 70 75 6e 63 68 20 63 68 61 72 20 66 72 6f 6d 20 63 20 74 6f 20 70 75 6e 63 68 20 64 65   ┆h ;punch char from c to punch de┆
0x0853c0…0853e0             76 69 63 65 0d 0a 6c 6f 09 65 71 75 09 30 66 38 30 66 68 09 3b 6c 69 73 74 20 66 72 6f 6d 20 63   ┆vice  lo equ 0f80fh ;list from c┆
0x0853e0…085400             20 74 6f 20 6c 69 73 74 20 64 65 76 69 63 65 0d 0a 63 73 74 73 09 65 71 75 09 30 66 38 31 32 68   ┆ to list device  csts equ 0f812h┆
0x085400…085420 (35, 1, 2)  72 72 6f 72 20 63 6f 75 6e 74 0d 0a 09 6d 76 69 09 62 2c 6e 73 65 63 74 73 0d 0a 72 64 73 65 63   ┆rror count   mvi b,nsects  rdsec┆
0x085420…085440             3a 09 3b 72 65 61 64 20 6e 65 78 74 20 73 65 63 74 6f 72 0d 0a 09 70 75 73 68 09 62 09 3b 73 61   ┆: ;read next sector   push b ;sa┆
0x085440…085460             76 65 20 73 65 63 74 6f 72 20 63 6f 75 6e 74 0d 0a 09 63 61 6c 6c 09 72 65 61 64 0d 0a 09 6a 6e   ┆ve sector count   call read   jn┆
0x085460…085480             7a 09 62 6f 6f 74 65 72 72 09 3b 72 65 74 72 79 20 69 66 20 65 72 72 6f 72 73 20 6f 63 63 75 72   ┆z booterr ;retry if errors occur┆
0x085480…0854a0             0d 0a 09 6c 68 6c 64 09 69 6f 64 09 3b 69 6e 63 72 65 6d 65 6e 74 20 64 6d 61 20 61 64 64 72 65   ┆   lhld iod ;increment dma addre┆
0x0854a0…0854c0             73 73 0d 0a 09 6c 78 69 09 64 2c 31 32 38 09 3b 73 65 63 74 6f 72 20 73 69 7a 65 0d 0a 09 64 61   ┆ss   lxi d,128 ;sector size   da┆
0x0854c0…0854e0             64 09 64 09 3b 69 6e 63 72 65 6d 65 6e 74 65 64 20 64 6d 61 20 61 64 64 72 65 73 73 20 69 6e 20   ┆d d ;incremented dma address in ┆
0x0854e0…085500             68 6c 0d 0a 09 6d 6f 76 09 62 2c 68 0d 0a 09 6d 6f 76 09 63 2c 6c 09 3b 72 65 61 64 79 20 66 6f   ┆hl   mov b,h   mov c,l ;ready fo┆
0x085500…085520             72 20 63 61 6c 6c 20 74 6f 20 73 65 74 20 64 6d 61 0d 0a 09 63 61 6c 6c 09 73 65 74 64 6d 61 0d   ┆r call to set dma   call setdma ┆
0x085520…085540             0a 09 6c 64 61 09 69 6f 73 09 3b 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 20 6a 75 73 74 20 72 65   ┆  lda ios ;sector number just re┆
0x085540…085560             61 64 0d 0a 09 63 70 69 09 32 36 09 3b 72 65 61 64 20 6c 61 73 74 20 73 65 63 74 6f 72 3f 0d 0a   ┆ad   cpi 26 ;read last sector?  ┆
0x085560…085580             09 6a 63 09 72 64 31 0d 0a 3b 09 6d 75 73 74 20 62 65 20 73 65 63 74 6f 72 20 32 36 2c 20 7a 65   ┆ jc rd1  ; must be sector 26, ze┆
0x085580…0855a0             72 6f 20 61 6e 64 20 67 6f 20 74 6f 20 6e 65 78 74 20 74 72 61 63 6b 0d 0a 09 6c 64 61 09 69 6f   ┆ro and go to next track   lda io┆
0x0855a0…0855c0             74 09 3b 67 65 74 20 74 72 61 63 6b 20 74 6f 20 72 65 67 69 73 74 65 72 20 61 0d 0a 09 69 6e 72   ┆t ;get track to register a   inr┆
0x0855c0…0855e0             09 61 0d 0a 09 6d 6f 76 09 63 2c 61 09 3b 72 65 61 64 79 20 66 6f 72 20 63 61 6c 6c 0d 0a 09 63   ┆ a   mov c,a ;ready for call   c┆
0x0855e0…085600             61 6c 6c 09 73 65 74 74 72 6b 0d 0a 09 78 72 61 09 61 09 3b 63 6c 65 61 72 20 73 65 63 74 6f 72   ┆all settrk   xra a ;clear sector┆
0x085600…085620 (35, 1, 3)  74 09 09 3b 61 6c 77 61 79 73 20 6e 6f 74 20 72 65 61 64 79 0d 0a 3b 0d 0a 70 75 6e 63 68 3a 09   ┆t  ;always not ready  ;  punch: ┆
0x085620…085640             3b 70 75 6e 63 68 20 64 65 76 69 63 65 20 6f 75 74 0d 0a 3b 09 28 65 78 61 63 74 6c 79 20 74 68   ┆;punch device out  ; (exactly th┆
0x085640…085660             65 20 73 61 6d 65 20 61 73 20 6d 64 73 20 63 61 6c 6c 29 0d 0a 09 6a 6d 70 09 70 6f 0d 0a 3b 0d   ┆e same as mds call)   jmp po  ; ┆
0x085660…085680             0a 72 65 61 64 65 72 3a 09 3b 72 65 61 64 65 72 20 63 68 61 72 61 63 74 65 72 20 69 6e 20 74 6f   ┆ reader: ;reader character in to┆
0x085680…0856a0             20 72 65 67 2d 61 0d 0a 3b 09 28 65 78 61 63 74 6c 79 20 74 68 65 20 73 61 6d 65 20 61 73 20 6d   ┆ reg-a  ; (exactly the same as m┆
0x0856a0…0856c0             64 73 20 63 61 6c 6c 29 0d 0a 09 6a 6d 70 09 72 69 0d 0a 3b 0d 0a 68 6f 6d 65 3a 09 3b 6d 6f 76   ┆ds call)   jmp ri  ;  home: ;mov┆
0x0856c0…0856e0             65 20 74 6f 20 68 6f 6d 65 20 70 6f 73 69 74 69 6f 6e 0d 0a 3b 09 74 72 65 61 74 20 61 73 20 74   ┆e to home position  ; treat as t┆
0x0856e0…085700             72 61 63 6b 20 30 30 20 73 65 65 6b 0d 0a 09 6d 76 69 09 63 2c 30 0d 0a 09 6a 6d 70 09 73 65 74   ┆rack 00 seek   mvi c,0   jmp set┆
0x085700…085720             74 72 6b 0d 0a 3b 0d 0a 73 65 6c 64 73 6b 3a 09 3b 73 65 6c 65 63 74 20 64 69 73 6b 20 67 69 76   ┆trk  ;  seldsk: ;select disk giv┆
0x085720…085740             65 6e 20 62 79 20 72 65 67 69 73 74 65 72 20 63 0d 0a 09 6c 78 69 09 68 2c 30 30 30 30 68 09 3b   ┆en by register c   lxi h,0000h ;┆
0x085740…085760             72 65 74 75 72 6e 20 30 30 30 30 20 69 66 20 65 72 72 6f 72 0d 0a 09 6d 6f 76 09 61 2c 63 0d 0a   ┆return 0000 if error   mov a,c  ┆
0x085760…085780             09 63 70 69 09 6e 64 69 73 6b 73 09 3b 74 6f 6f 20 6c 61 72 67 65 3f 0d 0a 09 72 6e 63 09 09 3b   ┆ cpi ndisks ;too large?   rnc  ;┆
0x085780…0857a0             6c 65 61 76 65 20 48 4c 20 3d 20 30 30 30 30 0d 0a 3b 0d 0a 09 61 6e 69 09 31 30 62 09 3b 30 30   ┆leave HL = 0000  ;   ani 10b ;00┆
0x0857a0…0857c0             20 30 30 20 66 6f 72 20 64 72 69 76 65 20 30 2c 31 20 61 6e 64 20 31 30 20 31 30 20 66 6f 72 20   ┆ 00 for drive 0,1 and 10 10 for ┆
0x0857c0…0857e0             64 72 69 76 65 20 32 2c 33 0d 0a 09 73 74 61 09 64 62 61 6e 6b 09 3b 74 6f 20 73 65 6c 65 63 74   ┆drive 2,3   sta dbank ;to select┆
0x0857e0…085800             20 64 72 69 76 65 20 62 61 6e 6b 0d 0a 09 6d 6f 76 09 61 2c 63 09 3b 30 30 2c 20 30 31 2c 20 31   ┆ drive bank   mov a,c ;00, 01, 1┆
0x085800…085820 (35, 1, 4)  6f 20 61 63 63 75 6d 75 6c 61 74 6f 72 20 66 6f 72 20 6d 61 73 6b 69 6e 67 0d 0a 09 61 6e 69 09   ┆o accumulator for masking   ani ┆
0x085820…085840             31 31 31 31 31 30 30 30 62 09 3b 72 65 6d 6f 76 65 20 70 72 65 76 69 6f 75 73 20 63 6f 6d 6d 61   ┆11111000b ;remove previous comma┆
0x085840…085860             6e 64 0d 0a 09 6f 72 61 09 63 09 3b 73 65 74 20 74 6f 20 6e 65 77 20 63 6f 6d 6d 61 6e 64 0d 0a   ┆nd   ora c ;set to new command  ┆
0x085860…085880             09 6d 6f 76 09 6d 2c 61 09 3b 72 65 70 6c 61 63 65 64 20 69 6e 20 69 6f 70 62 0d 0a 3b 09 74 68   ┆ mov m,a ;replaced in iopb  ; th┆
0x085880…0858a0             65 20 6d 64 73 2d 38 30 30 20 63 6f 6e 74 72 6f 6c 6c 65 72 20 72 65 71 75 69 72 65 73 20 64 69   ┆e mds-800 controller requires di┆
0x0858a0…0858c0             73 6b 20 62 61 6e 6b 20 62 69 74 20 69 6e 20 73 65 63 74 6f 72 20 62 79 74 65 0d 0a 3b 09 6d 61   ┆sk bank bit in sector byte  ; ma┆
0x0858c0…0858e0             73 6b 20 74 68 65 20 62 69 74 20 66 72 6f 6d 20 74 68 65 20 63 75 72 72 65 6e 74 20 69 2f 6f 20   ┆sk the bit from the current i/o ┆
0x0858e0…085900             66 75 6e 63 74 69 6f 6e 0d 0a 09 61 6e 69 09 30 30 31 30 30 30 30 30 62 09 3b 6d 61 73 6b 20 74   ┆function   ani 00100000b ;mask t┆
0x085900…085920             68 65 20 64 69 73 6b 20 73 65 6c 65 63 74 20 62 69 74 0d 0a 09 6c 78 69 09 68 2c 69 6f 73 09 09   ┆he disk select bit   lxi h,ios  ┆
0x085920…085940             3b 61 64 64 72 65 73 73 20 74 68 65 20 73 65 63 74 6f 72 20 73 65 6c 65 63 74 20 62 79 74 65 0d   ┆;address the sector select byte ┆
0x085940…085960             0a 09 6f 72 61 09 6d 09 09 3b 73 65 6c 65 63 74 20 70 72 6f 70 65 72 20 64 69 73 6b 20 62 61 6e   ┆  ora m  ;select proper disk ban┆
0x085960…085980             6b 0d 0a 09 6d 6f 76 09 6d 2c 61 09 09 3b 73 65 74 20 64 69 73 6b 20 73 65 6c 65 63 74 20 62 69   ┆k   mov m,a  ;set disk select bi┆
0x085980…0859a0             74 20 6f 6e 2f 6f 66 66 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 77 61 69 74 69 6f 3a 0d 0a 09 6d 76 69   ┆t on/off   ret  ;  waitio:   mvi┆
0x0859a0…0859c0             09 63 2c 72 65 74 72 79 09 3b 6d 61 78 20 72 65 74 72 69 65 73 20 62 65 66 6f 72 65 20 70 65 72   ┆ c,retry ;max retries before per┆
0x0859c0…0859e0             6d 20 65 72 72 6f 72 0d 0a 72 65 77 61 69 74 3a 0d 0a 3b 09 73 74 61 72 74 20 74 68 65 20 69 2f   ┆m error  rewait:  ; start the i/┆
0x0859e0…085a00             6f 20 66 75 6e 63 74 69 6f 6e 20 61 6e 64 20 77 61 69 74 20 66 6f 72 20 63 6f 6d 70 6c 65 74 69   ┆o function and wait for completi┆
0x085a00…085a20 (35, 1, 5)  09 3b 63 6f 6e 73 6f 6c 65 20 73 74 61 74 75 73 20 30 30 2f 66 66 20 74 6f 20 72 65 67 69 73 74   ┆ ;console status 00/ff to regist┆
0x085a20…085a40             65 72 20 61 0d 0a 3b 0d 0a 3b 09 64 69 73 6b 20 70 6f 72 74 73 20 61 6e 64 20 63 6f 6d 6d 61 6e   ┆er a  ;  ; disk ports and comman┆
0x085a40…085a60             64 73 0d 0a 62 61 73 65 09 65 71 75 09 37 38 68 09 3b 62 61 73 65 20 6f 66 20 64 69 73 6b 20 63   ┆ds  base equ 78h ;base of disk c┆
0x085a60…085a80             6f 6d 6d 61 6e 64 20 69 6f 20 70 6f 72 74 73 0d 0a 64 73 74 61 74 09 65 71 75 09 62 61 73 65 09   ┆ommand io ports  dstat equ base ┆
0x085a80…085aa0             3b 64 69 73 6b 20 73 74 61 74 75 73 20 28 69 6e 70 75 74 29 0d 0a 72 74 79 70 65 09 65 71 75 09   ┆;disk status (input)  rtype equ ┆
0x085aa0…085ac0             62 61 73 65 2b 31 09 3b 72 65 73 75 6c 74 20 74 79 70 65 20 28 69 6e 70 75 74 29 0d 0a 72 62 79   ┆base+1 ;result type (input)  rby┆
0x085ac0…085ae0             74 65 09 65 71 75 09 62 61 73 65 2b 33 09 3b 72 65 73 75 6c 74 20 62 79 74 65 20 28 69 6e 70 75   ┆te equ base+3 ;result byte (inpu┆
0x085ae0…085b00             74 29 0d 0a 3b 0d 0a 69 6c 6f 77 09 65 71 75 09 62 61 73 65 2b 31 09 3b 69 6f 70 62 20 6c 6f 77   ┆t)  ;  ilow equ base+1 ;iopb low┆
0x085b00…085b20             20 61 64 64 72 65 73 73 20 28 6f 75 74 70 75 74 29 0d 0a 69 68 69 67 68 09 65 71 75 09 62 61 73   ┆ address (output)  ihigh equ bas┆
0x085b20…085b40             65 2b 32 09 3b 69 6f 70 62 20 68 69 67 68 20 61 64 64 72 65 73 73 20 28 6f 75 74 70 75 74 29 0d   ┆e+2 ;iopb high address (output) ┆
0x085b40…085b60             0a 3b 0d 0a 72 65 61 64 66 09 65 71 75 09 34 68 09 3b 72 65 61 64 20 66 75 6e 63 74 69 6f 6e 0d   ┆ ;  readf equ 4h ;read function ┆
0x085b60…085b80             0a 77 72 69 74 66 09 65 71 75 09 36 68 09 3b 77 72 69 74 65 20 66 75 6e 63 74 69 6f 6e 0d 0a 72   ┆ writf equ 6h ;write function  r┆
0x085b80…085ba0             65 63 61 6c 09 65 71 75 09 33 68 09 3b 72 65 63 61 6c 69 62 72 61 74 65 20 64 72 69 76 65 0d 0a   ┆ecal equ 3h ;recalibrate drive  ┆
0x085ba0…085bc0             69 6f 72 64 79 09 65 71 75 09 34 68 09 3b 69 2f 6f 20 66 69 6e 69 73 68 65 64 20 6d 61 73 6b 0d   ┆iordy equ 4h ;i/o finished mask ┆
0x085bc0…085be0             0a 63 72 09 65 71 75 09 30 64 68 09 3b 63 61 72 72 69 61 67 65 20 72 65 74 75 72 6e 0d 0a 6c 66   ┆ cr equ 0dh ;carriage return  lf┆
0x085be0…085c00             09 65 71 75 09 30 61 68 09 3b 6c 69 6e 65 20 66 65 65 64 0d 0a 3b 0d 0a 73 69 67 6e 6f 6e 3a 09   ┆ equ 0ah ;line feed  ;  signon: ┆
0x085c00…085c20 (35, 1, 6)  20 6e 75 6d 62 65 72 0d 0a 72 64 31 3a 09 69 6e 72 09 61 09 3b 74 6f 20 6e 65 78 74 20 73 65 63   ┆ number  rd1: inr a ;to next sec┆
0x085c20…085c40             74 6f 72 0d 0a 09 6d 6f 76 09 63 2c 61 09 3b 72 65 61 64 79 20 66 6f 72 20 63 61 6c 6c 0d 0a 09   ┆tor   mov c,a ;ready for call   ┆
0x085c40…085c60             63 61 6c 6c 09 73 65 74 73 65 63 0d 0a 09 70 6f 70 09 62 09 3b 72 65 63 61 6c 6c 20 73 65 63 74   ┆call setsec   pop b ;recall sect┆
0x085c60…085c80             6f 72 20 63 6f 75 6e 74 0d 0a 09 64 63 72 09 62 09 3b 64 6f 6e 65 3f 0d 0a 09 6a 6e 7a 09 72 64   ┆or count   dcr b ;done?   jnz rd┆
0x085c80…085ca0             73 65 63 0d 0a 3b 0d 0a 3b 09 64 6f 6e 65 20 77 69 74 68 20 74 68 65 20 6c 6f 61 64 2c 20 72 65   ┆sec  ;  ; done with the load, re┆
0x085ca0…085cc0             73 65 74 20 64 65 66 61 75 6c 74 20 62 75 66 66 65 72 20 61 64 64 72 65 73 73 0d 0a 67 6f 63 70   ┆set default buffer address  gocp┆
0x085cc0…085ce0             6d 3a 09 3b 28 65 6e 74 65 72 20 68 65 72 65 20 66 72 6f 6d 20 63 6f 6c 64 20 73 74 61 72 74 20   ┆m: ;(enter here from cold start ┆
0x085ce0…085d00             62 6f 6f 74 29 0d 0a 3b 09 65 6e 61 62 6c 65 20 72 73 74 30 20 61 6e 64 20 72 73 74 37 0d 0a 09   ┆boot)  ; enable rst0 and rst7   ┆
0x085d00…085d20             64 69 0d 0a 09 6d 76 69 09 61 2c 31 32 68 09 3b 69 6e 69 74 69 61 6c 69 7a 65 20 63 6f 6d 6d 61   ┆di   mvi a,12h ;initialize comma┆
0x085d20…085d40             6e 64 0d 0a 09 6f 75 74 09 72 65 76 72 74 0d 0a 09 78 72 61 09 61 0d 0a 09 6f 75 74 09 69 6e 74   ┆nd   out revrt   xra a   out int┆
0x085d40…085d60             63 09 3b 63 6c 65 61 72 65 64 0d 0a 09 6d 76 69 09 61 2c 69 6e 74 65 09 3b 72 73 74 30 20 61 6e   ┆c ;cleared   mvi a,inte ;rst0 an┆
0x085d60…085d80             64 20 72 73 74 37 20 62 69 74 73 20 6f 6e 0d 0a 09 6f 75 74 09 69 6e 74 63 0d 0a 09 78 72 61 09   ┆d rst7 bits on   out intc   xra ┆
0x085d80…085da0             61 0d 0a 09 6f 75 74 09 69 63 6f 6e 09 3b 69 6e 74 65 72 72 75 70 74 20 63 6f 6e 74 72 6f 6c 0d   ┆a   out icon ;interrupt control ┆
0x085da0…085dc0             0a 3b 0d 0a 3b 09 73 65 74 20 64 65 66 61 75 6c 74 20 62 75 66 66 65 72 20 61 64 64 72 65 73 73   ┆ ;  ; set default buffer address┆
0x085dc0…085de0             20 74 6f 20 38 30 68 0d 0a 09 6c 78 69 09 62 2c 62 75 66 66 0d 0a 09 63 61 6c 6c 09 73 65 74 64   ┆ to 80h   lxi b,buff   call setd┆
0x085de0…085e00             6d 61 0d 0a 3b 0d 0a 3b 09 72 65 73 65 74 20 6d 6f 6e 69 74 6f 72 20 65 6e 74 72 79 20 70 6f 69   ┆ma  ;  ; reset monitor entry poi┆
0x085e00…085e20 (35, 1, 7)  30 2c 20 31 31 0d 0a 09 61 6e 69 09 31 62 09 3b 6d 64 73 20 68 61 73 20 30 2c 31 20 61 74 20 37   ┆0, 11   ani 1b ;mds has 0,1 at 7┆
0x085e20…085e40             38 2c 20 32 2c 33 20 61 74 20 38 38 0d 0a 09 6f 72 61 09 61 09 3b 72 65 73 75 6c 74 20 30 30 3f   ┆8, 2,3 at 88   ora a ;result 00?┆
0x085e40…085e60             0d 0a 09 6a 7a 09 73 65 74 64 72 69 76 65 0d 0a 09 6d 76 69 09 61 2c 30 30 31 31 30 30 30 30 62   ┆   jz setdrive   mvi a,00110000b┆
0x085e60…085e80             09 3b 73 65 6c 65 63 74 73 20 64 72 69 76 65 20 31 20 69 6e 20 62 61 6e 6b 0d 0a 73 65 74 64 72   ┆ ;selects drive 1 in bank  setdr┆
0x085e80…085ea0             69 76 65 3a 0d 0a 09 6d 6f 76 09 62 2c 61 09 3b 73 61 76 65 20 74 68 65 20 66 75 6e 63 74 69 6f   ┆ive:   mov b,a ;save the functio┆
0x085ea0…085ec0             6e 0d 0a 09 6c 78 69 09 68 2c 69 6f 66 09 3b 69 6f 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 6d 6f 76   ┆n   lxi h,iof ;io function   mov┆
0x085ec0…085ee0             09 61 2c 6d 0d 0a 09 61 6e 69 09 31 31 30 30 31 31 31 31 62 09 3b 6d 61 73 6b 20 6f 75 74 20 64   ┆ a,m   ani 11001111b ;mask out d┆
0x085ee0…085f00             69 73 6b 20 6e 75 6d 62 65 72 0d 0a 09 6f 72 61 09 62 09 3b 6d 61 73 6b 20 69 6e 20 6e 65 77 20   ┆isk number   ora b ;mask in new ┆
0x085f00…085f20             64 69 73 6b 20 6e 75 6d 62 65 72 0d 0a 09 6d 6f 76 09 6d 2c 61 09 3b 73 61 76 65 20 69 74 20 69   ┆disk number   mov m,a ;save it i┆
0x085f20…085f40             6e 20 69 6f 70 62 0d 0a 09 6d 6f 76 09 6c 2c 63 0d 0a 09 6d 76 69 09 68 2c 30 09 3b 48 4c 3d 64   ┆n iopb   mov l,c   mvi h,0 ;HL=d┆
0x085f40…085f60             69 73 6b 20 6e 75 6d 62 65 72 0d 0a 09 64 61 64 09 68 09 3b 2a 32 0d 0a 09 64 61 64 09 68 09 3b   ┆isk number   dad h ;*2   dad h ;┆
0x085f60…085f80             2a 34 0d 0a 09 64 61 64 09 68 09 3b 2a 38 0d 0a 09 64 61 64 09 68 09 3b 2a 31 36 0d 0a 09 6c 78   ┆*4   dad h ;*8   dad h ;*16   lx┆
0x085f80…085fa0             69 09 64 2c 64 70 62 61 73 65 0d 0a 09 64 61 64 09 64 09 3b 48 4c 3d 64 69 73 6b 20 68 65 61 64   ┆i d,dpbase   dad d ;HL=disk head┆
0x085fa0…085fc0             65 72 20 74 61 62 6c 65 20 61 64 64 72 65 73 73 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 3b 0d 0a 73 65   ┆er table address   ret  ;  ;  se┆
0x085fc0…085fe0             74 74 72 6b 3a 09 3b 73 65 74 20 74 72 61 63 6b 20 61 64 64 72 65 73 73 20 67 69 76 65 6e 20 62   ┆ttrk: ;set track address given b┆
0x085fe0…086000             79 20 63 0d 0a 09 6c 78 69 09 68 2c 69 6f 74 0d 0a 09 6d 6f 76 09 6d 2c 63 0d 0a 09 72 65 74 0d   ┆y c   lxi h,iot   mov m,c   ret ┆
0x086000…086020 (35, 1, 8)  6f 6e 0d 0a 09 63 61 6c 6c 09 69 6e 74 79 70 65 09 3b 69 6e 20 72 74 79 70 65 0d 0a 09 63 61 6c   ┆on   call intype ;in rtype   cal┆
0x086020…086040             6c 09 69 6e 62 79 74 65 09 3b 63 6c 65 61 72 73 20 74 68 65 20 63 6f 6e 74 72 6f 6c 6c 65 72 0d   ┆l inbyte ;clears the controller ┆
0x086040…086060             0a 3b 0d 0a 09 6c 64 61 09 64 62 61 6e 6b 09 09 3b 73 65 74 20 62 61 6e 6b 20 66 6c 61 67 73 0d   ┆ ;   lda dbank  ;set bank flags ┆
0x086060…086080             0a 09 6f 72 61 09 61 09 09 3b 7a 65 72 6f 20 69 66 20 64 72 69 76 65 20 30 2c 31 20 61 6e 64 20   ┆  ora a  ;zero if drive 0,1 and ┆
0x086080…0860a0             6e 7a 20 69 66 20 32 2c 33 0d 0a 09 6d 76 69 09 61 2c 69 6f 70 62 20 61 6e 64 20 30 66 66 68 09   ┆nz if 2,3   mvi a,iopb and 0ffh ┆
0x0860a0…0860c0             3b 6c 6f 77 20 61 64 64 72 65 73 73 20 66 6f 72 20 69 6f 70 62 0d 0a 09 6d 76 69 09 62 2c 69 6f   ┆;low address for iopb   mvi b,io┆
0x0860c0…0860e0             70 62 20 73 68 72 20 38 09 3b 68 69 67 68 20 61 64 64 72 65 73 73 20 66 6f 72 20 69 6f 70 62 0d   ┆pb shr 8 ;high address for iopb ┆
0x0860e0…086100             0a 09 6a 6e 7a 09 69 6f 64 72 31 09 3b 64 72 69 76 65 20 62 61 6e 6b 20 31 3f 0d 0a 09 6f 75 74   ┆  jnz iodr1 ;drive bank 1?   out┆
0x086100…086120             09 69 6c 6f 77 09 09 3b 6c 6f 77 20 61 64 64 72 65 73 73 20 74 6f 20 63 6f 6e 74 72 6f 6c 6c 65   ┆ ilow  ;low address to controlle┆
0x086120…086140             72 0d 0a 09 6d 6f 76 09 61 2c 62 0d 0a 09 6f 75 74 09 69 68 69 67 68 09 3b 68 69 67 68 20 61 64   ┆r   mov a,b   out ihigh ;high ad┆
0x086140…086160             64 72 65 73 73 0d 0a 09 6a 6d 70 09 77 61 69 74 30 09 09 3b 74 6f 20 77 61 69 74 20 66 6f 72 20   ┆dress   jmp wait0  ;to wait for ┆
0x086160…086180             63 6f 6d 70 6c 65 74 65 0d 0a 3b 0d 0a 69 6f 64 72 31 3a 09 3b 64 72 69 76 65 20 62 61 6e 6b 20   ┆complete  ;  iodr1: ;drive bank ┆
0x086180…0861a0             31 0d 0a 09 6f 75 74 09 69 6c 6f 77 2b 31 30 68 09 3b 38 38 20 66 6f 72 20 64 72 69 76 65 20 62   ┆1   out ilow+10h ;88 for drive b┆
0x0861a0…0861c0             61 6e 6b 20 31 30 0d 0a 09 6d 6f 76 09 61 2c 62 0d 0a 09 6f 75 74 09 69 68 69 67 68 2b 31 30 68   ┆ank 10   mov a,b   out ihigh+10h┆
0x0861c0…0861e0             0d 0a 3b 0d 0a 77 61 69 74 30 3a 09 63 61 6c 6c 09 69 6e 73 74 61 74 09 09 3b 77 61 69 74 20 66   ┆  ;  wait0: call instat  ;wait f┆
0x0861e0…086200             6f 72 20 63 6f 6d 70 6c 65 74 69 6f 6e 0d 0a 09 61 6e 69 09 69 6f 72 64 79 09 09 3b 72 65 61 64   ┆or completion   ani iordy  ;read┆
0x086200…086220 (35, 1, 9)  3b 73 69 67 6e 6f 6e 20 6d 65 73 73 61 67 65 3a 20 78 78 6b 20 63 70 2f 6d 20 76 65 72 73 20 79   ┆;signon message: xxk cp/m vers y┆
0x086220…086240             2e 79 0d 0a 09 64 62 09 63 72 2c 6c 66 2c 6c 66 0d 0a 09 69 66 09 74 65 73 74 0d 0a 09 64 62 09   ┆.y   db cr,lf,lf   if test   db ┆
0x086240…086260             27 33 32 27 09 3b 33 32 6b 20 65 78 61 6d 70 6c 65 20 62 69 6f 73 0d 0a 09 65 6e 64 69 66 0d 0a   ┆'32' ;32k example bios   endif  ┆
0x086260…086280             09 69 66 09 6e 6f 74 20 74 65 73 74 0d 0a 09 64 62 09 27 30 30 27 09 3b 6d 65 6d 6f 72 79 20 73   ┆ if not test   db '00' ;memory s┆
0x086280…0862a0             69 7a 65 20 66 69 6c 6c 65 64 20 62 79 20 72 65 6c 6f 63 61 74 6f 72 0d 0a 09 65 6e 64 69 66 0d   ┆ize filled by relocator   endif ┆
0x0862a0…0862c0             0a 09 64 62 09 27 6b 20 43 50 2f 4d 20 76 65 72 73 20 27 0d 0a 09 64 62 09 76 65 72 73 2f 31 30   ┆  db 'k CP/M vers '   db vers/10┆
0x0862c0…0862e0             2b 27 30 27 2c 27 2e 27 2c 76 65 72 73 20 6d 6f 64 20 31 30 2b 27 30 27 0d 0a 09 64 62 09 63 72   ┆+'0','.',vers mod 10+'0'   db cr┆
0x0862e0…086300             2c 6c 66 2c 30 0d 0a 3b 0d 0a 62 6f 6f 74 3a 09 3b 70 72 69 6e 74 20 73 69 67 6e 6f 6e 20 6d 65   ┆,lf,0  ;  boot: ;print signon me┆
0x086300…086320             73 73 61 67 65 20 61 6e 64 20 67 6f 20 74 6f 20 63 63 70 0d 0a 3b 09 28 6e 6f 74 65 3a 20 6d 64   ┆ssage and go to ccp  ; (note: md┆
0x086320…086340             73 20 62 6f 6f 74 20 69 6e 69 74 69 61 6c 69 7a 65 64 20 69 6f 62 79 74 65 20 61 74 20 30 30 30   ┆s boot initialized iobyte at 000┆
0x086340…086360             33 68 29 0d 0a 09 6c 78 69 09 73 70 2c 62 75 66 66 2b 38 30 68 0d 0a 09 6c 78 69 09 68 2c 73 69   ┆3h)   lxi sp,buff+80h   lxi h,si┆
0x086360…086380             67 6e 6f 6e 0d 0a 09 63 61 6c 6c 09 70 72 6d 73 67 09 3b 70 72 69 6e 74 20 6d 65 73 73 61 67 65   ┆gnon   call prmsg ;print message┆
0x086380…0863a0             0d 0a 09 78 72 61 09 61 09 3b 63 6c 65 61 72 20 61 63 63 75 6d 75 6c 61 74 6f 72 0d 0a 09 73 74   ┆   xra a ;clear accumulator   st┆
0x0863a0…0863c0             61 09 63 64 69 73 6b 09 3b 73 65 74 20 69 6e 69 74 69 61 6c 6c 79 20 74 6f 20 64 69 73 6b 20 61   ┆a cdisk ;set initially to disk a┆
0x0863c0…0863e0             0d 0a 09 6a 6d 70 09 67 6f 63 70 6d 09 3b 67 6f 20 74 6f 20 63 70 2f 6d 0d 0a 3b 0d 0a 3b 0d 0a   ┆   jmp gocpm ;go to cp/m  ;  ;  ┆
0x0863e0…086400             77 62 6f 6f 74 3a 3b 09 6c 6f 61 64 65 72 20 6f 6e 20 74 72 61 63 6b 20 30 2c 20 73 65 63 74 6f   ┆wboot:; loader on track 0, secto┆
0x086400…086420 (35, 1, 10) 6e 74 73 0d 0a 09 6d 76 69 09 61 2c 6a 6d 70 0d 0a 09 73 74 61 09 30 0d 0a 09 6c 78 69 09 68 2c   ┆nts   mvi a,jmp   sta 0   lxi h,┆
0x086420…086440             77 62 6f 6f 74 65 0d 0a 09 73 68 6c 64 09 31 09 3b 6a 6d 70 20 77 62 6f 6f 74 20 61 74 20 6c 6f   ┆wboote   shld 1 ;jmp wboot at lo┆
0x086440…086460             63 61 74 69 6f 6e 20 30 30 0d 0a 09 73 74 61 09 35 0d 0a 09 6c 78 69 09 68 2c 62 64 6f 73 0d 0a   ┆cation 00   sta 5   lxi h,bdos  ┆
0x086460…086480             09 73 68 6c 64 09 36 09 3b 6a 6d 70 20 62 64 6f 73 20 61 74 20 6c 6f 63 61 74 69 6f 6e 20 35 0d   ┆ shld 6 ;jmp bdos at location 5 ┆
0x086480…0864a0             0a 09 69 66 09 6e 6f 74 20 74 65 73 74 0d 0a 09 73 74 61 09 37 2a 38 09 3b 6a 6d 70 20 74 6f 20   ┆  if not test   sta 7*8 ;jmp to ┆
0x0864a0…0864c0             6d 6f 6e 38 30 20 28 6d 61 79 20 68 61 76 65 20 62 65 65 6e 20 63 68 61 6e 67 65 64 20 62 79 20   ┆mon80 (may have been changed by ┆
0x0864c0…0864e0             64 64 74 29 0d 0a 09 6c 78 69 09 68 2c 6d 6f 6e 38 30 0d 0a 09 73 68 6c 64 09 37 2a 38 2b 31 0d   ┆ddt)   lxi h,mon80   shld 7*8+1 ┆
0x0864e0…086500             0a 09 65 6e 64 69 66 0d 0a 3b 09 6c 65 61 76 65 20 69 6f 62 79 74 65 20 73 65 74 0d 0a 3b 09 70   ┆  endif  ; leave iobyte set  ; p┆
0x086500…086520             72 65 76 69 6f 75 73 6c 79 20 73 65 6c 65 63 74 65 64 20 64 69 73 6b 20 77 61 73 20 62 2c 20 73   ┆reviously selected disk was b, s┆
0x086520…086540             65 6e 64 20 70 61 72 61 6d 65 74 65 72 20 74 6f 20 63 70 6d 0d 0a 09 6c 64 61 09 63 64 69 73 6b   ┆end parameter to cpm   lda cdisk┆
0x086540…086560             09 3b 6c 61 73 74 20 6c 6f 67 67 65 64 20 64 69 73 6b 20 6e 75 6d 62 65 72 0d 0a 09 6d 6f 76 09   ┆ ;last logged disk number   mov ┆
0x086560…086580             63 2c 61 09 3b 73 65 6e 64 20 74 6f 20 63 63 70 20 74 6f 20 6c 6f 67 20 69 74 20 69 6e 0d 0a 09   ┆c,a ;send to ccp to log it in   ┆
0x086580…0865a0             65 69 0d 0a 09 6a 6d 70 09 63 70 6d 62 0d 0a 3b 0d 0a 3b 09 65 72 72 6f 72 20 63 6f 6e 64 69 74   ┆ei   jmp cpmb  ;  ; error condit┆
0x0865a0…0865c0             69 6f 6e 20 6f 63 63 75 72 72 65 64 2c 20 70 72 69 6e 74 20 6d 65 73 73 61 67 65 20 61 6e 64 20   ┆ion occurred, print message and ┆
0x0865c0…0865e0             72 65 74 72 79 0d 0a 62 6f 6f 74 65 72 72 3a 0d 0a 09 70 6f 70 09 62 09 3b 72 65 63 61 6c 6c 20   ┆retry  booterr:   pop b ;recall ┆
0x0865e0…086600             63 6f 75 6e 74 73 0d 0a 09 64 63 72 09 63 0d 0a 09 6a 7a 09 62 6f 6f 74 65 72 30 0d 0a 3b 09 74   ┆counts   dcr c   jz booter0  ; t┆
0x086600…086620 (35, 1, 11) 0a 3b 0d 0a 73 65 74 73 65 63 3a 09 3b 73 65 74 20 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 20 67   ┆ ;  setsec: ;set sector number g┆
0x086620…086640             69 76 65 6e 20 62 79 20 63 0d 0a 09 6c 78 69 09 68 2c 69 6f 73 0d 0a 09 6d 6f 76 09 6d 2c 63 0d   ┆iven by c   lxi h,ios   mov m,c ┆
0x086640…086660             0a 09 72 65 74 0d 0a 73 65 63 74 72 61 6e 3a 0d 0a 09 09 3b 74 72 61 6e 73 6c 61 74 65 20 73 65   ┆  ret  sectran:    ;translate se┆
0x086660…086680             63 74 6f 72 20 62 63 20 75 73 69 6e 67 20 74 61 62 6c 65 20 61 74 20 64 65 0d 0a 09 6d 76 69 09   ┆ctor bc using table at de   mvi ┆
0x086680…0866a0             62 2c 30 09 3b 64 6f 75 62 6c 65 20 70 72 65 63 69 73 69 6f 6e 20 73 65 63 74 6f 72 20 6e 75 6d   ┆b,0 ;double precision sector num┆
0x0866a0…0866c0             62 65 72 20 69 6e 20 42 43 0d 0a 09 78 63 68 67 09 09 3b 74 72 61 6e 73 6c 61 74 65 20 74 61 62   ┆ber in BC   xchg  ;translate tab┆
0x0866c0…0866e0             6c 65 20 61 64 64 72 65 73 73 20 74 6f 20 48 4c 0d 0a 09 64 61 64 09 62 09 3b 74 72 61 6e 73 6c   ┆le address to HL   dad b ;transl┆
0x0866e0…086700             61 74 65 28 73 65 63 74 6f 72 29 20 61 64 64 72 65 73 73 0d 0a 09 6d 6f 76 09 61 2c 6d 09 3b 74   ┆ate(sector) address   mov a,m ;t┆
0x086700…086720             72 61 6e 73 6c 61 74 65 64 20 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 20 74 6f 20 41 0d 0a 09 73   ┆ranslated sector number to A   s┆
0x086720…086740             74 61 09 69 6f 73 0d 0a 09 6d 6f 76 09 6c 2c 61 09 3b 72 65 74 75 72 6e 20 73 65 63 74 6f 72 20   ┆ta ios   mov l,a ;return sector ┆
0x086740…086760             6e 75 6d 62 65 72 20 69 6e 20 4c 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 73 65 74 64 6d 61 3a 09 3b 73   ┆number in L   ret  ;  setdma: ;s┆
0x086760…086780             65 74 20 64 6d 61 20 61 64 64 72 65 73 73 20 67 69 76 65 6e 20 62 79 20 72 65 67 73 20 62 2c 63   ┆et dma address given by regs b,c┆
0x086780…0867a0             0d 0a 09 6d 6f 76 09 6c 2c 63 0d 0a 09 6d 6f 76 09 68 2c 62 0d 0a 09 73 68 6c 64 09 69 6f 64 0d   ┆   mov l,c   mov h,b   shld iod ┆
0x0867a0…0867c0             0a 09 72 65 74 0d 0a 3b 0d 0a 72 65 61 64 3a 09 3b 72 65 61 64 20 6e 65 78 74 20 64 69 73 6b 20   ┆  ret  ;  read: ;read next disk ┆
0x0867c0…0867e0             72 65 63 6f 72 64 20 28 61 73 73 75 6d 69 6e 67 20 64 69 73 6b 2f 74 72 6b 2f 73 65 63 2f 64 6d   ┆record (assuming disk/trk/sec/dm┆
0x0867e0…086800             61 20 73 65 74 29 0d 0a 09 6d 76 69 09 63 2c 72 65 61 64 66 09 3b 73 65 74 20 74 6f 20 72 65 61   ┆a set)   mvi c,readf ;set to rea┆
0x086800…086820 (35, 1, 12) 79 3f 0d 0a 09 6a 7a 09 77 61 69 74 30 0d 0a 3b 0d 0a 3b 09 63 68 65 63 6b 20 69 6f 20 63 6f 6d   ┆y?   jz wait0  ;  ; check io com┆
0x086820…086840             70 6c 65 74 69 6f 6e 20 6f 6b 0d 0a 09 63 61 6c 6c 09 69 6e 74 79 70 65 09 09 3b 6d 75 73 74 20   ┆pletion ok   call intype  ;must ┆
0x086840…086860             62 65 20 69 6f 20 63 6f 6d 70 6c 65 74 65 20 28 30 30 29 20 75 6e 6c 69 6e 6b 65 64 0d 0a 3b 09   ┆be io complete (00) unlinked  ; ┆
0x086860…086880             30 30 20 75 6e 6c 69 6e 6b 65 64 20 69 2f 6f 20 63 6f 6d 70 6c 65 74 65 2c 20 20 20 20 30 31 20   ┆00 unlinked i/o complete,    01 ┆
0x086880…0868a0             6c 69 6e 6b 65 64 20 69 2f 6f 20 63 6f 6d 70 6c 65 74 65 20 28 6e 6f 74 20 75 73 65 64 29 0d 0a   ┆linked i/o complete (not used)  ┆
0x0868a0…0868c0             3b 09 31 30 20 64 69 73 6b 20 73 74 61 74 75 73 20 63 68 61 6e 67 65 64 20 20 20 20 20 20 20 31   ┆; 10 disk status changed       1┆
0x0868c0…0868e0             31 20 28 6e 6f 74 20 75 73 65 64 29 0d 0a 09 63 70 69 09 31 30 62 09 09 3b 72 65 61 64 79 20 73   ┆1 (not used)   cpi 10b  ;ready s┆
0x0868e0…086900             74 61 74 75 73 20 63 68 61 6e 67 65 3f 0d 0a 09 6a 7a 09 77 72 65 61 64 79 0d 0a 3b 0d 0a 3b 09   ┆tatus change?   jz wready  ;  ; ┆
0x086900…086920             6d 75 73 74 20 62 65 20 30 30 20 69 6e 20 74 68 65 20 61 63 63 75 6d 75 6c 61 74 6f 72 0d 0a 09   ┆must be 00 in the accumulator   ┆
0x086920…086940             6f 72 61 09 61 0d 0a 09 6a 6e 7a 09 77 65 72 72 6f 72 09 09 3b 73 6f 6d 65 20 6f 74 68 65 72 20   ┆ora a   jnz werror  ;some other ┆
0x086940…086960             63 6f 6e 64 69 74 69 6f 6e 2c 20 72 65 74 72 79 0d 0a 3b 0d 0a 3b 09 63 68 65 63 6b 20 69 2f 6f   ┆condition, retry  ;  ; check i/o┆
0x086960…086980             20 65 72 72 6f 72 20 62 69 74 73 0d 0a 09 63 61 6c 6c 09 69 6e 62 79 74 65 0d 0a 09 72 61 6c 0d   ┆ error bits   call inbyte   ral ┆
0x086980…0869a0             0a 09 6a 63 09 77 72 65 61 64 79 09 09 3b 75 6e 69 74 20 6e 6f 74 20 72 65 61 64 79 0d 0a 09 72   ┆  jc wready  ;unit not ready   r┆
0x0869a0…0869c0             61 72 0d 0a 09 61 6e 69 09 31 31 31 31 31 31 31 30 62 09 3b 61 6e 79 20 6f 74 68 65 72 20 65 72   ┆ar   ani 11111110b ;any other er┆
0x0869c0…0869e0             72 6f 72 73 3f 20 20 28 64 65 6c 65 74 65 64 20 64 61 74 61 20 6f 6b 29 0d 0a 09 6a 6e 7a 09 77   ┆rors?  (deleted data ok)   jnz w┆
0x0869e0…086a00             65 72 72 6f 72 0d 0a 3b 0d 0a 3b 09 72 65 61 64 20 6f 72 20 77 72 69 74 65 20 69 73 20 6f 6b 2c   ┆error  ;  ; read or write is ok,┆
0x086a00…086a20 (35, 1, 13) 72 20 31 2c 20 77 68 69 63 68 20 77 69 6c 6c 20 62 65 20 73 6b 69 70 70 65 64 20 66 6f 72 20 77   ┆r 1, which will be skipped for w┆
0x086a20…086a40             61 72 6d 20 0d 0a 3b 09 72 65 61 64 20 63 70 2f 6d 20 66 72 6f 6d 20 64 69 73 6b 20 2d 20 61 73   ┆arm   ; read cp/m from disk - as┆
0x086a40…086a60             73 75 6d 69 6e 67 20 74 68 65 72 65 20 69 73 20 61 20 31 32 38 20 62 79 74 65 20 63 6f 6c 64 20   ┆suming there is a 128 byte cold ┆
0x086a60…086a80             73 74 61 72 74 0d 0a 3b 09 73 74 61 72 74 2e 0d 0a 3b 0d 0a 09 6c 78 69 09 73 70 2c 62 75 66 66   ┆start  ; start.  ;   lxi sp,buff┆
0x086a80…086aa0             09 3b 75 73 69 6e 67 20 64 6d 61 20 2d 20 74 68 75 73 20 38 30 20 74 68 72 75 20 66 66 20 61 76   ┆ ;using dma - thus 80 thru ff av┆
0x086aa0…086ac0             61 69 6c 61 62 6c 65 20 66 6f 72 20 73 74 61 63 6b 0d 0a 3b 0d 0a 09 6d 76 69 09 63 2c 72 65 74   ┆ailable for stack  ;   mvi c,ret┆
0x086ac0…086ae0             72 79 09 3b 6d 61 78 20 72 65 74 72 69 65 73 0d 0a 09 70 75 73 68 09 62 0d 0a 77 62 6f 6f 74 30   ┆ry ;max retries   push b  wboot0┆
0x086ae0…086b00             3a 09 3b 65 6e 74 65 72 20 68 65 72 65 20 6f 6e 20 65 72 72 6f 72 20 72 65 74 72 69 65 73 0d 0a   ┆: ;enter here on error retries  ┆
0x086b00…086b20             09 6c 78 69 09 62 2c 63 70 6d 62 09 3b 73 65 74 20 64 6d 61 20 61 64 64 72 65 73 73 20 74 6f 20   ┆ lxi b,cpmb ;set dma address to ┆
0x086b20…086b40             73 74 61 72 74 20 6f 66 20 64 69 73 6b 20 73 79 73 74 65 6d 0d 0a 09 63 61 6c 6c 09 73 65 74 64   ┆start of disk system   call setd┆
0x086b40…086b60             6d 61 0d 0a 09 6d 76 69 09 63 2c 30 09 3b 62 6f 6f 74 20 66 72 6f 6d 20 64 72 69 76 65 20 30 0d   ┆ma   mvi c,0 ;boot from drive 0 ┆
0x086b60…086b80             0a 09 63 61 6c 6c 09 73 65 6c 64 73 6b 0d 0a 09 6d 76 69 09 63 2c 30 0d 0a 09 63 61 6c 6c 09 73   ┆  call seldsk   mvi c,0   call s┆
0x086b80…086ba0             65 74 74 72 6b 09 3b 73 74 61 72 74 20 77 69 74 68 20 74 72 61 63 6b 20 30 0d 0a 09 6d 76 69 09   ┆ettrk ;start with track 0   mvi ┆
0x086ba0…086bc0             63 2c 32 09 3b 73 74 61 72 74 20 72 65 61 64 69 6e 67 20 73 65 63 74 6f 72 20 32 0d 0a 09 63 61   ┆c,2 ;start reading sector 2   ca┆
0x086bc0…086be0             6c 6c 09 73 65 74 73 65 63 0d 0a 3b 0d 0a 3b 09 72 65 61 64 20 73 65 63 74 6f 72 73 2c 20 63 6f   ┆ll setsec  ;  ; read sectors, co┆
0x086be0…086c00             75 6e 74 20 6e 73 65 63 74 73 20 74 6f 20 7a 65 72 6f 0d 0a 09 70 6f 70 09 62 09 3b 31 30 2d 65   ┆unt nsects to zero   pop b ;10-e┆
0x086c00…086c20 (35, 1, 14) 72 79 20 61 67 61 69 6e 0d 0a 09 70 75 73 68 09 62 0d 0a 09 6a 6d 70 09 77 62 6f 6f 74 30 0d 0a   ┆ry again   push b   jmp wboot0  ┆
0x086c20…086c40             3b 0d 0a 62 6f 6f 74 65 72 30 3a 0d 0a 3b 09 6f 74 68 65 72 77 69 73 65 20 74 6f 6f 20 6d 61 6e   ┆;  booter0:  ; otherwise too man┆
0x086c40…086c60             79 20 72 65 74 72 69 65 73 0d 0a 09 6c 78 69 09 68 2c 62 6f 6f 74 6d 73 67 0d 0a 09 63 61 6c 6c   ┆y retries   lxi h,bootmsg   call┆
0x086c60…086c80             09 70 72 6d 73 67 0d 0a 09 6a 6d 70 09 72 6d 6f 6e 38 30 09 3b 6d 64 73 20 68 61 72 64 77 61 72   ┆ prmsg   jmp rmon80 ;mds hardwar┆
0x086c80…086ca0             65 20 6d 6f 6e 69 74 6f 72 0d 0a 3b 0d 0a 62 6f 6f 74 6d 73 67 3a 0d 0a 09 64 62 09 27 3f 62 6f   ┆e monitor  ;  bootmsg:   db '?bo┆
0x086ca0…086cc0             6f 74 27 2c 30 0d 0a 3b 0d 0a 3b 0d 0a 63 6f 6e 73 74 3a 09 3b 63 6f 6e 73 6f 6c 65 20 73 74 61   ┆ot',0  ;  ;  const: ;console sta┆
0x086cc0…086ce0             74 75 73 20 74 6f 20 72 65 67 2d 61 0d 0a 3b 09 28 65 78 61 63 74 6c 79 20 74 68 65 20 73 61 6d   ┆tus to reg-a  ; (exactly the sam┆
0x086ce0…086d00             65 20 61 73 20 6d 64 73 20 63 61 6c 6c 29 0d 0a 09 6a 6d 70 09 63 73 74 73 0d 0a 3b 0d 0a 63 6f   ┆e as mds call)   jmp csts  ;  co┆
0x086d00…086d20             6e 69 6e 3a 09 3b 63 6f 6e 73 6f 6c 65 20 63 68 61 72 61 63 74 65 72 20 74 6f 20 72 65 67 2d 61   ┆nin: ;console character to reg-a┆
0x086d20…086d40             0d 0a 09 63 61 6c 6c 09 63 69 0d 0a 09 61 6e 69 09 37 66 68 09 3b 72 65 6d 6f 76 65 20 70 61 72   ┆   call ci   ani 7fh ;remove par┆
0x086d40…086d60             69 74 79 20 62 69 74 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 63 6f 6e 6f 75 74 3a 09 3b 63 6f 6e 73 6f   ┆ity bit   ret  ;  conout: ;conso┆
0x086d60…086d80             6c 65 20 63 68 61 72 61 63 74 65 72 20 66 72 6f 6d 20 63 20 74 6f 20 63 6f 6e 73 6f 6c 65 20 6f   ┆le character from c to console o┆
0x086d80…086da0             75 74 0d 0a 09 6a 6d 70 09 63 6f 0d 0a 3b 0d 0a 6c 69 73 74 3a 09 3b 6c 69 73 74 20 64 65 76 69   ┆ut   jmp co  ;  list: ;list devi┆
0x086da0…086dc0             63 65 20 6f 75 74 0d 0a 3b 09 28 65 78 61 63 74 6c 79 20 74 68 65 20 73 61 6d 65 20 61 73 20 6d   ┆ce out  ; (exactly the same as m┆
0x086dc0…086de0             64 73 20 63 61 6c 6c 29 0d 0a 09 6a 6d 70 09 6c 6f 0d 0a 3b 0d 0a 6c 69 73 74 73 74 3a 0d 0a 09   ┆ds call)   jmp lo  ;  listst:   ┆
0x086de0…086e00             3b 72 65 74 75 72 6e 20 6c 69 73 74 20 73 74 61 74 75 73 0d 0a 09 78 72 61 09 61 0d 0a 09 72 65   ┆;return list status   xra a   re┆
0x086e00…086e20 (35, 1, 15) 64 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 63 61 6c 6c 09 73 65 74 66 75 6e 63 0d 0a 09 63 61 6c 6c   ┆d function   call setfunc   call┆
0x086e20…086e40             09 77 61 69 74 69 6f 09 3b 70 65 72 66 6f 72 6d 20 72 65 61 64 20 66 75 6e 63 74 69 6f 6e 0d 0a   ┆ waitio ;perform read function  ┆
0x086e40…086e60             09 72 65 74 09 09 3b 6d 61 79 20 68 61 76 65 20 65 72 72 6f 72 20 73 65 74 20 69 6e 20 72 65 67   ┆ ret  ;may have error set in reg┆
0x086e60…086e80             2d 61 0d 0a 3b 0d 0a 3b 0d 0a 77 72 69 74 65 3a 09 3b 64 69 73 6b 20 77 72 69 74 65 20 66 75 6e   ┆-a  ;  ;  write: ;disk write fun┆
0x086e80…086ea0             63 74 69 6f 6e 0d 0a 09 6d 76 69 09 63 2c 77 72 69 74 66 0d 0a 09 63 61 6c 6c 09 73 65 74 66 75   ┆ction   mvi c,writf   call setfu┆
0x086ea0…086ec0             6e 63 09 3b 73 65 74 20 74 6f 20 77 72 69 74 65 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 63 61 6c 6c   ┆nc ;set to write function   call┆
0x086ec0…086ee0             09 77 61 69 74 69 6f 0d 0a 09 72 65 74 09 09 3b 6d 61 79 20 68 61 76 65 20 65 72 72 6f 72 20 73   ┆ waitio   ret  ;may have error s┆
0x086ee0…086f00             65 74 0d 0a 3b 0d 0a 3b 0d 0a 3b 09 75 74 69 6c 69 74 79 20 73 75 62 72 6f 75 74 69 6e 65 73 0d   ┆et  ;  ;  ; utility subroutines ┆
0x086f00…086f20             0a 70 72 6d 73 67 3a 09 3b 70 72 69 6e 74 20 6d 65 73 73 61 67 65 20 61 74 20 68 2c 6c 20 74 6f   ┆ prmsg: ;print message at h,l to┆
0x086f20…086f40             20 30 0d 0a 09 6d 6f 76 09 61 2c 6d 0d 0a 09 6f 72 61 09 61 09 3b 7a 65 72 6f 3f 0d 0a 09 72 7a   ┆ 0   mov a,m   ora a ;zero?   rz┆
0x086f40…086f60             0d 0a 3b 09 6d 6f 72 65 20 74 6f 20 70 72 69 6e 74 0d 0a 09 70 75 73 68 09 68 0d 0a 09 6d 6f 76   ┆  ; more to print   push h   mov┆
0x086f60…086f80             09 63 2c 61 0d 0a 09 63 61 6c 6c 09 63 6f 6e 6f 75 74 0d 0a 09 70 6f 70 09 68 0d 0a 09 69 6e 78   ┆ c,a   call conout   pop h   inx┆
0x086f80…086fa0             09 68 0d 0a 09 6a 6d 70 09 70 72 6d 73 67 0d 0a 3b 0d 0a 73 65 74 66 75 6e 63 3a 0d 0a 3b 09 73   ┆ h   jmp prmsg  ;  setfunc:  ; s┆
0x086fa0…086fc0             65 74 20 66 75 6e 63 74 69 6f 6e 20 66 6f 72 20 6e 65 78 74 20 69 2f 6f 20 28 63 6f 6d 6d 61 6e   ┆et function for next i/o (comman┆
0x086fc0…086fe0             64 20 69 6e 20 72 65 67 2d 63 29 0d 0a 09 6c 78 69 09 68 2c 69 6f 66 09 3b 69 6f 20 66 75 6e 63   ┆d in reg-c)   lxi h,iof ;io func┆
0x086fe0…087000             74 69 6f 6e 20 61 64 64 72 65 73 73 0d 0a 09 6d 6f 76 09 61 2c 6d 09 3b 67 65 74 20 69 74 20 74   ┆tion address   mov a,m ;get it t┆
0x087000…087020 (36, 0, 1)  20 61 63 63 75 6d 75 6c 61 74 6f 72 20 63 6f 6e 74 61 69 6e 73 20 7a 65 72 6f 0d 0a 09 72 65 74   ┆ accumulator contains zero   ret┆
0x087020…087040             0d 0a 3b 0d 0a 77 72 65 61 64 79 3a 09 3b 6e 6f 74 20 72 65 61 64 79 2c 20 74 72 65 61 74 20 61   ┆  ;  wready: ;not ready, treat a┆
0x087040…087060             73 20 65 72 72 6f 72 20 66 6f 72 20 6e 6f 77 0d 0a 09 63 61 6c 6c 09 69 6e 62 79 74 65 09 09 3b   ┆s error for now   call inbyte  ;┆
0x087060…087080             63 6c 65 61 72 20 72 65 73 75 6c 74 20 62 79 74 65 0d 0a 09 6a 6d 70 09 74 72 79 63 6f 75 6e 74   ┆clear result byte   jmp trycount┆
0x087080…0870a0             0d 0a 3b 0d 0a 77 65 72 72 6f 72 3a 09 3b 72 65 74 75 72 6e 20 68 61 72 64 77 61 72 65 20 6d 61   ┆  ;  werror: ;return hardware ma┆
0x0870a0…0870c0             6c 66 75 6e 63 74 69 6f 6e 20 28 63 72 63 2c 20 74 72 61 63 6b 2c 20 73 65 65 6b 2c 20 65 74 63   ┆lfunction (crc, track, seek, etc┆
0x0870c0…0870e0             2e 29 0d 0a 3b 09 74 68 65 20 6d 64 73 20 63 6f 6e 74 72 6f 6c 6c 65 72 20 68 61 73 20 72 65 74   ┆.)  ; the mds controller has ret┆
0x0870e0…087100             75 72 6e 65 64 20 61 20 62 69 74 20 69 6e 20 65 61 63 68 20 70 6f 73 69 74 69 6f 6e 0d 0a 3b 09   ┆urned a bit in each position  ; ┆
0x087100…087120             6f 66 20 74 68 65 20 61 63 63 75 6d 75 6c 61 74 6f 72 2c 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e   ┆of the accumulator, correspondin┆
0x087120…087140             67 20 74 6f 20 74 68 65 20 63 6f 6e 64 69 74 69 6f 6e 73 3a 0d 0a 3b 09 30 09 2d 20 64 65 6c 65   ┆g to the conditions:  ; 0 - dele┆
0x087140…087160             74 65 64 20 64 61 74 61 20 28 61 63 63 65 70 74 65 64 20 61 73 20 6f 6b 20 61 62 6f 76 65 29 0d   ┆ted data (accepted as ok above) ┆
0x087160…087180             0a 3b 09 31 09 2d 20 63 72 63 20 65 72 72 6f 72 0d 0a 3b 09 32 09 2d 20 73 65 65 6b 20 65 72 72   ┆ ; 1 - crc error  ; 2 - seek err┆
0x087180…0871a0             6f 72 0d 0a 3b 09 33 09 2d 20 61 64 64 72 65 73 73 20 65 72 72 6f 72 20 28 68 61 72 64 77 61 72   ┆or  ; 3 - address error (hardwar┆
0x0871a0…0871c0             65 20 6d 61 6c 66 75 6e 63 74 69 6f 6e 29 0d 0a 3b 09 34 09 2d 20 64 61 74 61 20 6f 76 65 72 2f   ┆e malfunction)  ; 4 - data over/┆
0x0871c0…0871e0             75 6e 64 65 72 20 66 6c 6f 77 20 28 68 61 72 64 77 61 72 65 20 6d 61 6c 66 75 6e 63 74 69 6f 6e   ┆under flow (hardware malfunction┆
0x0871e0…087200             29 0d 0a 3b 09 35 09 2d 20 77 72 69 74 65 20 70 72 6f 74 65 63 74 20 28 74 72 65 61 74 65 64 20   ┆)  ; 5 - write protect (treated ┆
0x087200…087220 (36, 0, 2)  65 09 65 71 75 09 6e 6f 74 20 74 72 75 65 09 3b 22 66 61 6c 73 65 22 0d 0a 74 65 73 74 09 65 71   ┆e equ not true ;"false"  test eq┆
0x087220…087240             75 09 66 61 6c 73 65 09 3b 74 72 75 65 20 69 66 20 74 65 73 74 20 62 69 6f 73 0d 0a 3b 0d 0a 09   ┆u false ;true if test bios  ;   ┆
0x087240…087260             69 66 09 74 65 73 74 0d 0a 62 69 61 73 09 65 71 75 09 30 33 34 30 30 68 09 3b 62 61 73 65 20 6f   ┆if test  bias equ 03400h ;base o┆
0x087260…087280             66 20 43 43 50 20 69 6e 20 74 65 73 74 20 73 79 73 74 65 6d 0d 0a 09 65 6e 64 69 66 0d 0a 09 69   ┆f CCP in test system   endif   i┆
0x087280…0872a0             66 09 6e 6f 74 20 74 65 73 74 0d 0a 62 69 61 73 09 65 71 75 09 30 30 30 30 68 09 3b 67 65 6e 65   ┆f not test  bias equ 0000h ;gene┆
0x0872a0…0872c0             72 61 74 65 20 72 65 6c 6f 63 61 74 61 62 6c 65 20 63 70 2f 6d 20 73 79 73 74 65 6d 0d 0a 09 65   ┆rate relocatable cp/m system   e┆
0x0872c0…0872e0             6e 64 69 66 0d 0a 3b 0d 0a 70 61 74 63 68 09 65 71 75 09 31 36 30 30 68 0d 0a 3b 0d 0a 09 6f 72   ┆ndif  ;  patch equ 1600h  ;   or┆
0x0872e0…087300             67 09 70 61 74 63 68 0d 0a 63 70 6d 62 09 65 71 75 09 24 2d 70 61 74 63 68 09 3b 62 61 73 65 20   ┆g patch  cpmb equ $-patch ;base ┆
0x087300…087320             6f 66 20 63 70 6d 20 63 6f 6e 73 6f 6c 65 20 70 72 6f 63 65 73 73 6f 72 0d 0a 62 64 6f 73 09 65   ┆of cpm console processor  bdos e┆
0x087320…087340             71 75 09 38 30 36 68 2b 63 70 6d 62 09 3b 62 61 73 69 63 20 64 6f 73 20 28 72 65 73 69 64 65 6e   ┆qu 806h+cpmb ;basic dos (residen┆
0x087340…087360             74 20 70 6f 72 74 69 6f 6e 29 0d 0a 63 70 6d 6c 09 65 71 75 09 24 2d 63 70 6d 62 09 3b 6c 65 6e   ┆t portion)  cpml equ $-cpmb ;len┆
0x087360…087380             67 74 68 20 28 69 6e 20 62 79 74 65 73 29 20 6f 66 20 63 70 6d 20 73 79 73 74 65 6d 0d 0a 6e 73   ┆gth (in bytes) of cpm system  ns┆
0x087380…0873a0             65 63 74 73 09 65 71 75 09 63 70 6d 6c 2f 31 32 38 09 3b 6e 75 6d 62 65 72 20 6f 66 20 73 65 63   ┆ects equ cpml/128 ;number of sec┆
0x0873a0…0873c0             74 6f 72 73 20 74 6f 20 6c 6f 61 64 0d 0a 6f 66 66 73 65 74 09 65 71 75 09 32 09 3b 6e 75 6d 62   ┆tors to load  offset equ 2 ;numb┆
0x0873c0…0873e0             65 72 20 6f 66 20 64 69 73 6b 20 74 72 61 63 6b 73 20 75 73 65 64 20 62 79 20 63 70 2f 6d 0d 0a   ┆er of disk tracks used by cp/m  ┆
0x0873e0…087400             63 64 69 73 6b 09 65 71 75 09 30 30 30 34 68 09 3b 61 64 64 72 65 73 73 20 6f 66 20 6c 61 73 74   ┆cdisk equ 0004h ;address of last┆
0x087400…087420 (36, 0, 3)  66 09 33 2c 30 0d 0a 3b 09 65 6e 64 65 66 20 6f 63 63 75 72 73 20 61 74 20 65 6e 64 20 6f 66 20   ┆f 3,0  ; endef occurs at end of ┆
0x087420…087440             61 73 73 65 6d 62 6c 79 0d 0a 3b 0d 0a 3b 09 65 6e 64 20 6f 66 20 63 6f 6e 74 72 6f 6c 6c 65 72   ┆assembly  ;  ; end of controller┆
0x087440…087460             20 2d 20 69 6e 64 65 70 65 6e 64 65 6e 74 20 63 6f 64 65 2c 20 74 68 65 20 72 65 6d 61 69 6e 69   ┆ - independent code, the remaini┆
0x087460…087480             6e 67 20 73 75 62 72 6f 75 74 69 6e 65 73 0d 0a 3b 09 61 72 65 20 74 61 69 6c 6f 72 65 64 20 74   ┆ng subroutines  ; are tailored t┆
0x087480…0874a0             6f 20 74 68 65 20 70 61 72 74 69 63 75 6c 61 72 20 6f 70 65 72 61 74 69 6e 67 20 65 6e 76 69 72   ┆o the particular operating envir┆
0x0874a0…0874c0             6f 6e 6d 65 6e 74 2c 20 61 6e 64 20 6d 75 73 74 0d 0a 3b 09 62 65 20 61 6c 74 65 72 65 64 20 66   ┆onment, and must  ; be altered f┆
0x0874c0…0874e0             6f 72 20 61 6e 79 20 73 79 73 74 65 6d 20 77 68 69 63 68 20 64 69 66 66 65 72 73 20 66 72 6f 6d   ┆or any system which differs from┆
0x0874e0…087500             20 74 68 65 20 69 6e 74 65 6c 20 6d 64 73 2e 0d 0a 3b 0d 0a 3b 09 74 68 65 20 66 6f 6c 6c 6f 77   ┆ the intel mds.  ;  ; the follow┆
0x087500…087520             69 6e 67 20 63 6f 64 65 20 61 73 73 75 6d 65 73 20 74 68 65 20 6d 64 73 20 6d 6f 6e 69 74 6f 72   ┆ing code assumes the mds monitor┆
0x087520…087540             20 65 78 69 73 74 73 20 61 74 20 30 66 38 30 30 68 0d 0a 3b 09 61 6e 64 20 75 73 65 73 20 74 68   ┆ exists at 0f800h  ; and uses th┆
0x087540…087560             65 20 69 2f 6f 20 73 75 62 72 6f 75 74 69 6e 65 73 20 77 69 74 68 69 6e 20 74 68 65 20 6d 6f 6e   ┆e i/o subroutines within the mon┆
0x087560…087580             69 74 6f 72 0d 0a 3b 0d 0a 3b 09 77 65 20 61 6c 73 6f 20 61 73 73 75 6d 65 20 74 68 65 20 6d 64   ┆itor  ;  ; we also assume the md┆
0x087580…0875a0             73 20 73 79 73 74 65 6d 20 68 61 73 20 66 6f 75 72 20 64 69 73 6b 20 64 72 69 76 65 73 0d 0a 72   ┆s system has four disk drives  r┆
0x0875a0…0875c0             65 76 72 74 09 65 71 75 09 30 66 64 68 09 3b 69 6e 74 65 72 72 75 70 74 20 72 65 76 65 72 74 20   ┆evrt equ 0fdh ;interrupt revert ┆
0x0875c0…0875e0             70 6f 72 74 0d 0a 69 6e 74 63 09 65 71 75 09 30 66 63 68 09 3b 69 6e 74 65 72 72 75 70 74 20 6d   ┆port  intc equ 0fch ;interrupt m┆
0x0875e0…087600             61 73 6b 20 70 6f 72 74 0d 0a 69 63 6f 6e 09 65 71 75 09 30 66 33 68 09 3b 69 6e 74 65 72 72 75   ┆ask port  icon equ 0f3h ;interru┆
0x087600…087620 (36, 0, 4)  63 6f 6c 64 20 73 74 61 72 74 0d 0a 3b 09 73 74 61 72 74 2e 0d 0a 3b 0d 0a 09 6c 78 69 09 73 70   ┆cold start  ; start.  ;   lxi sp┆
0x087620…087640             2c 62 75 66 66 09 3b 75 73 69 6e 67 20 64 6d 61 20 2d 20 74 68 75 73 20 38 30 20 74 68 72 75 20   ┆,buff ;using dma - thus 80 thru ┆
0x087640…087660             66 66 20 61 76 61 69 6c 61 62 6c 65 20 66 6f 72 20 73 74 61 63 6b 0d 0a 3b 0d 0a 09 6d 76 69 09   ┆ff available for stack  ;   mvi ┆
0x087660…087680             63 2c 72 65 74 72 79 09 3b 6d 61 78 20 72 65 74 72 69 65 73 0d 0a 09 70 75 73 68 09 62 0d 0a 77   ┆c,retry ;max retries   push b  w┆
0x087680…0876a0             62 6f 6f 74 30 3a 09 3b 65 6e 74 65 72 20 68 65 72 65 20 6f 6e 20 65 72 72 6f 72 20 72 65 74 72   ┆boot0: ;enter here on error retr┆
0x0876a0…0876c0             69 65 73 0d 0a 09 6c 78 69 09 62 2c 63 70 6d 62 09 3b 73 65 74 20 64 6d 61 20 61 64 64 72 65 73   ┆ies   lxi b,cpmb ;set dma addres┆
0x0876c0…0876e0             73 20 74 6f 20 73 74 61 72 74 20 6f 66 20 64 69 73 6b 20 73 79 73 74 65 6d 0d 0a 09 63 61 6c 6c   ┆s to start of disk system   call┆
0x0876e0…087700             09 73 65 74 64 6d 61 0d 0a 09 6d 76 69 09 63 2c 30 09 3b 62 6f 6f 74 20 66 72 6f 6d 20 64 72 69   ┆ setdma   mvi c,0 ;boot from dri┆
0x087700…087720             76 65 20 30 0d 0a 09 63 61 6c 6c 09 73 65 6c 64 73 6b 0d 0a 09 6d 76 69 09 63 2c 30 0d 0a 09 63   ┆ve 0   call seldsk   mvi c,0   c┆
0x087720…087740             61 6c 6c 09 73 65 74 74 72 6b 09 3b 73 74 61 72 74 20 77 69 74 68 20 74 72 61 63 6b 20 30 0d 0a   ┆all settrk ;start with track 0  ┆
0x087740…087760             09 6d 76 69 09 63 2c 32 09 3b 73 74 61 72 74 20 72 65 61 64 69 6e 67 20 73 65 63 74 6f 72 20 32   ┆ mvi c,2 ;start reading sector 2┆
0x087760…087780             0d 0a 09 63 61 6c 6c 09 73 65 74 73 65 63 0d 0a 3b 0d 0a 3b 09 72 65 61 64 20 73 65 63 74 6f 72   ┆   call setsec  ;  ; read sector┆
0x087780…0877a0             73 2c 20 63 6f 75 6e 74 20 6e 73 65 63 74 73 20 74 6f 20 7a 65 72 6f 0d 0a 09 70 6f 70 09 62 09   ┆s, count nsects to zero   pop b ┆
0x0877a0…0877c0             3b 31 30 2d 65 72 72 6f 72 20 63 6f 75 6e 74 0d 0a 09 6d 76 69 09 62 2c 6e 73 65 63 74 73 0d 0a   ┆;10-error count   mvi b,nsects  ┆
0x0877c0…0877e0             72 64 73 65 63 3a 09 3b 72 65 61 64 20 6e 65 78 74 20 73 65 63 74 6f 72 0d 0a 09 70 75 73 68 09   ┆rdsec: ;read next sector   push ┆
0x0877e0…087800             62 09 3b 73 61 76 65 20 73 65 63 74 6f 72 20 63 6f 75 6e 74 0d 0a 09 63 61 6c 6c 09 72 65 61 64   ┆b ;save sector count   call read┆
0x087800…087820 (36, 0, 5)  61 73 20 6e 6f 74 20 72 65 61 64 79 29 0d 0a 3b 09 36 09 2d 20 77 72 69 74 65 20 65 72 72 6f 72   ┆as not ready)  ; 6 - write error┆
0x087820…087840             20 28 68 61 72 64 77 61 72 65 20 6d 61 6c 66 75 6e 63 74 69 6f 6e 29 0d 0a 3b 09 37 09 2d 20 6e   ┆ (hardware malfunction)  ; 7 - n┆
0x087840…087860             6f 74 20 72 65 61 64 79 0d 0a 3b 09 28 61 63 63 75 6d 75 6c 61 74 6f 72 20 62 69 74 73 20 61 72   ┆ot ready  ; (accumulator bits ar┆
0x087860…087880             65 20 6e 75 6d 62 65 72 65 64 20 37 20 36 20 35 20 34 20 33 20 32 20 31 20 30 29 0d 0a 3b 0d 0a   ┆e numbered 7 6 5 4 3 2 1 0)  ;  ┆
0x087880…0878a0             3b 09 69 74 20 6d 61 79 20 62 65 20 75 73 65 66 75 6c 20 74 6f 20 66 69 6c 74 65 72 20 6f 75 74   ┆; it may be useful to filter out┆
0x0878a0…0878c0             20 74 68 65 20 76 61 72 69 6f 75 73 20 63 6f 6e 64 69 74 69 6f 6e 73 2c 0d 0a 3b 09 62 75 74 20   ┆ the various conditions,  ; but ┆
0x0878c0…0878e0             77 65 20 77 69 6c 6c 20 67 65 74 20 61 20 70 65 72 6d 61 6e 65 6e 74 20 65 72 72 6f 72 20 6d 65   ┆we will get a permanent error me┆
0x0878e0…087900             73 73 61 67 65 20 69 66 20 69 74 20 69 73 20 6e 6f 74 0d 0a 3b 09 72 65 63 6f 76 65 72 61 62 6c   ┆ssage if it is not  ; recoverabl┆
0x087900…087920             65 2e 20 20 69 6e 20 61 6e 79 20 63 61 73 65 2c 20 74 68 65 20 6e 6f 74 20 72 65 61 64 79 20 63   ┆e.  in any case, the not ready c┆
0x087920…087940             6f 6e 64 69 74 69 6f 6e 20 69 73 0d 0a 3b 09 74 72 65 61 74 65 64 20 61 73 20 61 20 73 65 70 61   ┆ondition is  ; treated as a sepa┆
0x087940…087960             72 61 74 65 20 63 6f 6e 64 69 74 69 6f 6e 20 66 6f 72 20 6c 61 74 65 72 20 69 6d 70 72 6f 76 65   ┆rate condition for later improve┆
0x087960…087980             6d 65 6e 74 0d 0a 74 72 79 63 6f 75 6e 74 3a 0d 0a 3b 09 72 65 67 69 73 74 65 72 20 63 20 63 6f   ┆ment  trycount:  ; register c co┆
0x087980…0879a0             6e 74 61 69 6e 73 20 72 65 74 72 79 20 63 6f 75 6e 74 2c 20 64 65 63 72 65 6d 65 6e 74 20 27 74   ┆ntains retry count, decrement 't┆
0x0879a0…0879c0             69 6c 20 7a 65 72 6f 0d 0a 09 64 63 72 09 63 0d 0a 09 6a 6e 7a 09 72 65 77 61 69 74 09 3b 66 6f   ┆il zero   dcr c   jnz rewait ;fo┆
0x0879c0…0879e0             72 20 61 6e 6f 74 68 65 72 20 74 72 79 0d 0a 3b 0d 0a 3b 09 63 61 6e 6e 6f 74 20 72 65 63 6f 76   ┆r another try  ;  ; cannot recov┆
0x0879e0…087a00             65 72 20 66 72 6f 6d 20 65 72 72 6f 72 0d 0a 09 6d 76 69 09 61 2c 31 09 3b 65 72 72 6f 72 20 63   ┆er from error   mvi a,1 ;error c┆
0x087a00…087a20 (36, 0, 6)  20 6c 6f 67 67 65 64 20 64 69 73 6b 20 6f 6e 20 77 61 72 6d 20 73 74 61 72 74 0d 0a 62 75 66 66   ┆ logged disk on warm start  buff┆
0x087a20…087a40             09 65 71 75 09 30 30 38 30 68 09 3b 64 65 66 61 75 6c 74 20 62 75 66 66 65 72 20 61 64 64 72 65   ┆ equ 0080h ;default buffer addre┆
0x087a40…087a60             73 73 0d 0a 72 65 74 72 79 09 65 71 75 09 31 30 09 3b 6d 61 78 20 72 65 74 72 69 65 73 20 6f 6e   ┆ss  retry equ 10 ;max retries on┆
0x087a60…087a80             20 64 69 73 6b 20 69 2f 6f 20 62 65 66 6f 72 65 20 65 72 72 6f 72 0d 0a 3b 0d 0a 3b 09 70 65 72   ┆ disk i/o before error  ;  ; per┆
0x087a80…087aa0             66 6f 72 6d 20 66 6f 6c 6c 6f 77 69 6e 67 20 66 75 6e 63 74 69 6f 6e 73 0d 0a 3b 09 62 6f 6f 74   ┆form following functions  ; boot┆
0x087aa0…087ac0             09 63 6f 6c 64 20 73 74 61 72 74 0d 0a 3b 09 77 62 6f 6f 74 09 77 61 72 6d 20 73 74 61 72 74 20   ┆ cold start  ; wboot warm start ┆
0x087ac0…087ae0             28 73 61 76 65 20 69 2f 6f 20 62 79 74 65 29 0d 0a 3b 09 28 62 6f 6f 74 20 61 6e 64 20 77 62 6f   ┆(save i/o byte)  ; (boot and wbo┆
0x087ae0…087b00             6f 74 20 61 72 65 20 74 68 65 20 73 61 6d 65 20 66 6f 72 20 6d 64 73 29 0d 0a 3b 09 63 6f 6e 73   ┆ot are the same for mds)  ; cons┆
0x087b00…087b20             74 09 63 6f 6e 73 6f 6c 65 20 73 74 61 74 75 73 0d 0a 3b 09 09 72 65 67 2d 61 20 3d 20 30 30 20   ┆t console status  ;  reg-a = 00 ┆
0x087b20…087b40             69 66 20 6e 6f 20 63 68 61 72 61 63 74 65 72 20 72 65 61 64 79 0d 0a 3b 09 09 72 65 67 2d 61 20   ┆if no character ready  ;  reg-a ┆
0x087b40…087b60             3d 20 66 66 20 69 66 20 63 68 61 72 61 63 74 65 72 20 72 65 61 64 79 0d 0a 3b 09 63 6f 6e 69 6e   ┆= ff if character ready  ; conin┆
0x087b60…087b80             09 63 6f 6e 73 6f 6c 65 20 63 68 61 72 61 63 74 65 72 20 69 6e 20 28 72 65 73 75 6c 74 20 69 6e   ┆ console character in (result in┆
0x087b80…087ba0             20 72 65 67 2d 61 29 0d 0a 3b 09 63 6f 6e 6f 75 74 09 63 6f 6e 73 6f 6c 65 20 63 68 61 72 61 63   ┆ reg-a)  ; conout console charac┆
0x087ba0…087bc0             74 65 72 20 6f 75 74 20 28 63 68 61 72 20 69 6e 20 72 65 67 2d 63 29 0d 0a 3b 09 6c 69 73 74 09   ┆ter out (char in reg-c)  ; list ┆
0x087bc0…087be0             6c 69 73 74 20 6f 75 74 20 28 63 68 61 72 20 69 6e 20 72 65 67 2d 63 29 0d 0a 3b 09 70 75 6e 63   ┆list out (char in reg-c)  ; punc┆
0x087be0…087c00             68 09 70 75 6e 63 68 20 6f 75 74 20 28 63 68 61 72 20 69 6e 20 72 65 67 2d 63 29 0d 0a 3b 09 72   ┆h punch out (char in reg-c)  ; r┆
0x087c00…087c20 (36, 0, 7)  70 74 20 63 6f 6e 74 72 6f 6c 20 70 6f 72 74 0d 0a 69 6e 74 65 09 65 71 75 09 30 31 31 31 24 31   ┆pt control port  inte equ 0111$1┆
0x087c20…087c40             31 31 30 62 09 3b 65 6e 61 62 6c 65 20 72 73 74 20 30 28 77 61 72 6d 20 62 6f 6f 74 29 2c 20 72   ┆110b ;enable rst 0(warm boot), r┆
0x087c40…087c60             73 74 20 37 20 28 6d 6f 6e 69 74 6f 72 29 0d 0a 3b 0d 0a 3b 09 6d 64 73 20 6d 6f 6e 69 74 6f 72   ┆st 7 (monitor)  ;  ; mds monitor┆
0x087c60…087c80             20 65 71 75 61 74 65 73 0d 0a 6d 6f 6e 38 30 09 65 71 75 09 30 66 38 30 30 68 09 3b 6d 64 73 20   ┆ equates  mon80 equ 0f800h ;mds ┆
0x087c80…087ca0             6d 6f 6e 69 74 6f 72 0d 0a 72 6d 6f 6e 38 30 09 65 71 75 09 30 66 66 30 66 68 09 3b 72 65 73 74   ┆monitor  rmon80 equ 0ff0fh ;rest┆
0x087ca0…087cc0             61 72 74 20 6d 6f 6e 38 30 20 28 62 6f 6f 74 20 65 72 72 6f 72 29 0d 0a 63 69 09 65 71 75 09 30   ┆art mon80 (boot error)  ci equ 0┆
0x087cc0…087ce0             66 38 30 33 68 09 3b 63 6f 6e 73 6f 6c 65 20 63 68 61 72 61 63 74 65 72 20 74 6f 20 72 65 67 2d   ┆f803h ;console character to reg-┆
0x087ce0…087d00             61 0d 0a 72 69 09 65 71 75 09 30 66 38 30 36 68 09 3b 72 65 61 64 65 72 20 69 6e 20 74 6f 20 72   ┆a  ri equ 0f806h ;reader in to r┆
0x087d00…087d20             65 67 2d 61 0d 0a 63 6f 09 65 71 75 09 30 66 38 30 39 68 09 3b 63 6f 6e 73 6f 6c 65 20 63 68 61   ┆eg-a  co equ 0f809h ;console cha┆
0x087d20…087d40             72 20 66 72 6f 6d 20 63 20 74 6f 20 63 6f 6e 73 6f 6c 65 20 6f 75 74 0d 0a 70 6f 09 65 71 75 09   ┆r from c to console out  po equ ┆
0x087d40…087d60             30 66 38 30 63 68 09 3b 70 75 6e 63 68 20 63 68 61 72 20 66 72 6f 6d 20 63 20 74 6f 20 70 75 6e   ┆0f80ch ;punch char from c to pun┆
0x087d60…087d80             63 68 20 64 65 76 69 63 65 0d 0a 6c 6f 09 65 71 75 09 30 66 38 30 66 68 09 3b 6c 69 73 74 20 66   ┆ch device  lo equ 0f80fh ;list f┆
0x087d80…087da0             72 6f 6d 20 63 20 74 6f 20 6c 69 73 74 20 64 65 76 69 63 65 0d 0a 63 73 74 73 09 65 71 75 09 30   ┆rom c to list device  csts equ 0┆
0x087da0…087dc0             66 38 31 32 68 09 3b 63 6f 6e 73 6f 6c 65 20 73 74 61 74 75 73 20 30 30 2f 66 66 20 74 6f 20 72   ┆f812h ;console status 00/ff to r┆
0x087dc0…087de0             65 67 69 73 74 65 72 20 61 0d 0a 3b 0d 0a 3b 09 64 69 73 6b 20 70 6f 72 74 73 20 61 6e 64 20 63   ┆egister a  ;  ; disk ports and c┆
0x087de0…087e00             6f 6d 6d 61 6e 64 73 0d 0a 62 61 73 65 09 65 71 75 09 37 38 68 09 3b 62 61 73 65 20 6f 66 20 64   ┆ommands  base equ 78h ;base of d┆
0x087e00…087e20 (36, 0, 8)  0d 0a 09 6a 6e 7a 09 62 6f 6f 74 65 72 72 09 3b 72 65 74 72 79 20 69 66 20 65 72 72 6f 72 73 20   ┆   jnz booterr ;retry if errors ┆
0x087e20…087e40             6f 63 63 75 72 0d 0a 09 6c 68 6c 64 09 69 6f 64 09 3b 69 6e 63 72 65 6d 65 6e 74 20 64 6d 61 20   ┆occur   lhld iod ;increment dma ┆
0x087e40…087e60             61 64 64 72 65 73 73 0d 0a 09 6c 78 69 09 64 2c 31 32 38 09 3b 73 65 63 74 6f 72 20 73 69 7a 65   ┆address   lxi d,128 ;sector size┆
0x087e60…087e80             0d 0a 09 64 61 64 09 64 09 3b 69 6e 63 72 65 6d 65 6e 74 65 64 20 64 6d 61 20 61 64 64 72 65 73   ┆   dad d ;incremented dma addres┆
0x087e80…087ea0             73 20 69 6e 20 68 6c 0d 0a 09 6d 6f 76 09 62 2c 68 0d 0a 09 6d 6f 76 09 63 2c 6c 09 3b 72 65 61   ┆s in hl   mov b,h   mov c,l ;rea┆
0x087ea0…087ec0             64 79 20 66 6f 72 20 63 61 6c 6c 20 74 6f 20 73 65 74 20 64 6d 61 0d 0a 09 63 61 6c 6c 09 73 65   ┆dy for call to set dma   call se┆
0x087ec0…087ee0             74 64 6d 61 0d 0a 09 6c 64 61 09 69 6f 73 09 3b 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 20 6a 75   ┆tdma   lda ios ;sector number ju┆
0x087ee0…087f00             73 74 20 72 65 61 64 0d 0a 09 63 70 69 09 32 36 09 3b 72 65 61 64 20 6c 61 73 74 20 73 65 63 74   ┆st read   cpi 26 ;read last sect┆
0x087f00…087f20             6f 72 3f 0d 0a 09 6a 63 09 72 64 31 0d 0a 3b 09 6d 75 73 74 20 62 65 20 73 65 63 74 6f 72 20 32   ┆or?   jc rd1  ; must be sector 2┆
0x087f20…087f40             36 2c 20 7a 65 72 6f 20 61 6e 64 20 67 6f 20 74 6f 20 6e 65 78 74 20 74 72 61 63 6b 0d 0a 09 6c   ┆6, zero and go to next track   l┆
0x087f40…087f60             64 61 09 69 6f 74 09 3b 67 65 74 20 74 72 61 63 6b 20 74 6f 20 72 65 67 69 73 74 65 72 20 61 0d   ┆da iot ;get track to register a ┆
0x087f60…087f80             0a 09 69 6e 72 09 61 0d 0a 09 6d 6f 76 09 63 2c 61 09 3b 72 65 61 64 79 20 66 6f 72 20 63 61 6c   ┆  inr a   mov c,a ;ready for cal┆
0x087f80…087fa0             6c 0d 0a 09 63 61 6c 6c 09 73 65 74 74 72 6b 0d 0a 09 78 72 61 09 61 09 3b 63 6c 65 61 72 20 73   ┆l   call settrk   xra a ;clear s┆
0x087fa0…087fc0             65 63 74 6f 72 20 6e 75 6d 62 65 72 0d 0a 72 64 31 3a 09 69 6e 72 09 61 09 3b 74 6f 20 6e 65 78   ┆ector number  rd1: inr a ;to nex┆
0x087fc0…087fe0             74 20 73 65 63 74 6f 72 0d 0a 09 6d 6f 76 09 63 2c 61 09 3b 72 65 61 64 79 20 66 6f 72 20 63 61   ┆t sector   mov c,a ;ready for ca┆
0x087fe0…088000             6c 6c 0d 0a 09 63 61 6c 6c 09 73 65 74 73 65 63 0d 0a 09 70 6f 70 09 62 09 3b 72 65 63 61 6c 6c   ┆ll   call setsec   pop b ;recall┆
0x088000…088020 (36, 0, 9)  6f 64 65 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 3b 09 69 6e 74 79 70 65 2c 20 69 6e 62 79 74 65 2c 20   ┆ode   ret  ;  ; intype, inbyte, ┆
0x088020…088040             69 6e 73 74 61 74 20 72 65 61 64 20 64 72 69 76 65 20 62 61 6e 6b 20 30 30 20 6f 72 20 31 30 0d   ┆instat read drive bank 00 or 10 ┆
0x088040…088060             0a 69 6e 74 79 70 65 3a 09 6c 64 61 09 64 62 61 6e 6b 0d 0a 09 6f 72 61 09 61 0d 0a 09 6a 6e 7a   ┆ intype: lda dbank   ora a   jnz┆
0x088060…088080             09 69 6e 74 79 70 31 09 3b 73 6b 69 70 20 74 6f 20 62 61 6e 6b 20 31 30 0d 0a 09 69 6e 09 72 74   ┆ intyp1 ;skip to bank 10   in rt┆
0x088080…0880a0             79 70 65 0d 0a 09 72 65 74 0d 0a 69 6e 74 79 70 31 3a 09 69 6e 09 72 74 79 70 65 2b 31 30 68 09   ┆ype   ret  intyp1: in rtype+10h ┆
0x0880a0…0880c0             3b 37 38 20 66 6f 72 20 30 2c 31 20 20 38 38 20 66 6f 72 20 32 2c 33 0d 0a 09 72 65 74 0d 0a 3b   ┆;78 for 0,1  88 for 2,3   ret  ;┆
0x0880c0…0880e0             0d 0a 69 6e 62 79 74 65 3a 09 6c 64 61 09 64 62 61 6e 6b 0d 0a 09 6f 72 61 09 61 0d 0a 09 6a 6e   ┆  inbyte: lda dbank   ora a   jn┆
0x0880e0…088100             7a 09 69 6e 62 79 74 31 0d 0a 09 69 6e 09 72 62 79 74 65 0d 0a 09 72 65 74 0d 0a 69 6e 62 79 74   ┆z inbyt1   in rbyte   ret  inbyt┆
0x088100…088120             31 3a 09 69 6e 09 72 62 79 74 65 2b 31 30 68 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 69 6e 73 74 61 74   ┆1: in rbyte+10h   ret  ;  instat┆
0x088120…088140             3a 09 6c 64 61 09 64 62 61 6e 6b 0d 0a 09 6f 72 61 09 61 0d 0a 09 6a 6e 7a 09 69 6e 73 74 61 31   ┆: lda dbank   ora a   jnz insta1┆
0x088140…088160             0d 0a 09 69 6e 09 64 73 74 61 74 0d 0a 09 72 65 74 0d 0a 69 6e 73 74 61 31 3a 09 69 6e 09 64 73   ┆   in dstat   ret  insta1: in ds┆
0x088160…088180             74 61 74 2b 31 30 68 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 3b 0d 0a 3b 0d 0a 3b 09 64 61 74 61 20 61   ┆tat+10h   ret  ;  ;  ;  ; data a┆
0x088180…0881a0             72 65 61 73 20 28 6d 75 73 74 20 62 65 20 69 6e 20 72 61 6d 29 0d 0a 64 62 61 6e 6b 3a 09 64 62   ┆reas (must be in ram)  dbank: db┆
0x0881a0…0881c0             09 30 09 3b 64 69 73 6b 20 62 61 6e 6b 20 30 30 20 69 66 20 64 72 69 76 65 20 30 2c 31 0d 0a 09   ┆ 0 ;disk bank 00 if drive 0,1   ┆
0x0881c0…0881e0             09 09 3b 09 20 20 20 31 30 20 69 66 20 64 72 69 76 65 20 32 2c 33 0d 0a 69 6f 70 62 3a 09 3b 69   ┆  ;    10 if drive 2,3  iopb: ;i┆
0x0881e0…088200             6f 20 70 61 72 61 6d 65 74 65 72 20 62 6c 6f 63 6b 0d 0a 09 64 62 09 38 30 68 09 3b 6e 6f 72 6d   ┆o parameter block   db 80h ;norm┆
0x088200…088220 (36, 0, 10) 65 61 64 65 72 09 70 61 70 65 72 20 74 61 70 65 20 72 65 61 64 65 72 20 69 6e 20 28 72 65 73 75   ┆eader paper tape reader in (resu┆
0x088220…088240             6c 74 20 74 6f 20 72 65 67 2d 61 29 0d 0a 3b 09 68 6f 6d 65 09 6d 6f 76 65 20 74 6f 20 74 72 61   ┆lt to reg-a)  ; home move to tra┆
0x088240…088260             63 6b 20 30 30 0d 0a 3b 0d 0a 3b 09 28 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 61 6c 6c 73   ┆ck 00  ;  ; (the following calls┆
0x088260…088280             20 73 65 74 2d 75 70 20 74 68 65 20 69 6f 20 70 61 72 61 6d 65 74 65 72 20 62 6c 6f 63 6b 20 66   ┆ set-up the io parameter block f┆
0x088280…0882a0             6f 72 20 74 68 65 0d 0a 3b 09 6d 64 73 2c 20 77 68 69 63 68 20 69 73 20 75 73 65 64 20 74 6f 20   ┆or the  ; mds, which is used to ┆
0x0882a0…0882c0             70 65 72 66 6f 72 6d 20 73 75 62 73 65 71 75 65 6e 74 20 72 65 61 64 73 20 61 6e 64 20 77 72 69   ┆perform subsequent reads and wri┆
0x0882c0…0882e0             74 65 73 29 0d 0a 3b 09 73 65 6c 64 73 6b 09 73 65 6c 65 63 74 20 64 69 73 6b 20 67 69 76 65 6e   ┆tes)  ; seldsk select disk given┆
0x0882e0…088300             20 62 79 20 72 65 67 2d 63 20 28 30 2c 31 2c 32 2e 2e 2e 29 0d 0a 3b 09 73 65 74 74 72 6b 09 73   ┆ by reg-c (0,1,2...)  ; settrk s┆
0x088300…088320             65 74 20 74 72 61 63 6b 20 61 64 64 72 65 73 73 20 28 30 2c 2e 2e 2e 37 36 29 20 66 6f 72 20 73   ┆et track address (0,...76) for s┆
0x088320…088340             75 62 73 65 71 75 65 6e 74 20 72 65 61 64 2f 77 72 69 74 65 0d 0a 3b 09 73 65 74 73 65 63 09 73   ┆ubsequent read/write  ; setsec s┆
0x088340…088360             65 74 20 73 65 63 74 6f 72 20 61 64 64 72 65 73 73 20 28 31 2c 2e 2e 2e 2c 32 36 29 20 66 6f 72   ┆et sector address (1,...,26) for┆
0x088360…088380             20 73 75 62 73 65 71 75 65 6e 74 20 72 65 61 64 2f 77 72 69 74 65 0d 0a 3b 09 73 65 74 64 6d 61   ┆ subsequent read/write  ; setdma┆
0x088380…0883a0             09 73 65 74 20 73 75 62 73 65 71 75 65 6e 74 20 64 6d 61 20 61 64 64 72 65 73 73 20 28 69 6e 69   ┆ set subsequent dma address (ini┆
0x0883a0…0883c0             74 69 61 6c 6c 79 20 38 30 68 29 0d 0a 3b 0d 0a 3b 09 28 72 65 61 64 20 61 6e 64 20 77 72 69 74   ┆tially 80h)  ;  ; (read and writ┆
0x0883c0…0883e0             65 20 61 73 73 75 6d 65 20 70 72 65 76 69 6f 75 73 20 63 61 6c 6c 73 20 74 6f 20 73 65 74 20 75   ┆e assume previous calls to set u┆
0x0883e0…088400             70 20 74 68 65 20 69 6f 20 70 61 72 61 6d 65 74 65 72 73 29 0d 0a 3b 09 72 65 61 64 09 72 65 61   ┆p the io parameters)  ; read rea┆
0x088400…088420 (36, 0, 11) 69 73 6b 20 63 6f 6d 6d 61 6e 64 20 69 6f 20 70 6f 72 74 73 0d 0a 64 73 74 61 74 09 65 71 75 09   ┆isk command io ports  dstat equ ┆
0x088420…088440             62 61 73 65 09 3b 64 69 73 6b 20 73 74 61 74 75 73 20 28 69 6e 70 75 74 29 0d 0a 72 74 79 70 65   ┆base ;disk status (input)  rtype┆
0x088440…088460             09 65 71 75 09 62 61 73 65 2b 31 09 3b 72 65 73 75 6c 74 20 74 79 70 65 20 28 69 6e 70 75 74 29   ┆ equ base+1 ;result type (input)┆
0x088460…088480             0d 0a 72 62 79 74 65 09 65 71 75 09 62 61 73 65 2b 33 09 3b 72 65 73 75 6c 74 20 62 79 74 65 20   ┆  rbyte equ base+3 ;result byte ┆
0x088480…0884a0             28 69 6e 70 75 74 29 0d 0a 3b 0d 0a 69 6c 6f 77 09 65 71 75 09 62 61 73 65 2b 31 09 3b 69 6f 70   ┆(input)  ;  ilow equ base+1 ;iop┆
0x0884a0…0884c0             62 20 6c 6f 77 20 61 64 64 72 65 73 73 20 28 6f 75 74 70 75 74 29 0d 0a 69 68 69 67 68 09 65 71   ┆b low address (output)  ihigh eq┆
0x0884c0…0884e0             75 09 62 61 73 65 2b 32 09 3b 69 6f 70 62 20 68 69 67 68 20 61 64 64 72 65 73 73 20 28 6f 75 74   ┆u base+2 ;iopb high address (out┆
0x0884e0…088500             70 75 74 29 0d 0a 3b 0d 0a 72 65 61 64 66 09 65 71 75 09 34 68 09 3b 72 65 61 64 20 66 75 6e 63   ┆put)  ;  readf equ 4h ;read func┆
0x088500…088520             74 69 6f 6e 0d 0a 77 72 69 74 66 09 65 71 75 09 36 68 09 3b 77 72 69 74 65 20 66 75 6e 63 74 69   ┆tion  writf equ 6h ;write functi┆
0x088520…088540             6f 6e 0d 0a 72 65 63 61 6c 09 65 71 75 09 33 68 09 3b 72 65 63 61 6c 69 62 72 61 74 65 20 64 72   ┆on  recal equ 3h ;recalibrate dr┆
0x088540…088560             69 76 65 0d 0a 69 6f 72 64 79 09 65 71 75 09 34 68 09 3b 69 2f 6f 20 66 69 6e 69 73 68 65 64 20   ┆ive  iordy equ 4h ;i/o finished ┆
0x088560…088580             6d 61 73 6b 0d 0a 63 72 09 65 71 75 09 30 64 68 09 3b 63 61 72 72 69 61 67 65 20 72 65 74 75 72   ┆mask  cr equ 0dh ;carriage retur┆
0x088580…0885a0             6e 0d 0a 6c 66 09 65 71 75 09 30 61 68 09 3b 6c 69 6e 65 20 66 65 65 64 0d 0a 3b 0d 0a 73 69 67   ┆n  lf equ 0ah ;line feed  ;  sig┆
0x0885a0…0885c0             6e 6f 6e 3a 09 3b 73 69 67 6e 6f 6e 20 6d 65 73 73 61 67 65 3a 20 78 78 6b 20 63 70 2f 6d 20 76   ┆non: ;signon message: xxk cp/m v┆
0x0885c0…0885e0             65 72 73 20 79 2e 79 0d 0a 09 64 62 09 63 72 2c 6c 66 2c 6c 66 0d 0a 09 69 66 09 74 65 73 74 0d   ┆ers y.y   db cr,lf,lf   if test ┆
0x0885e0…088600             0a 09 64 62 09 27 33 32 27 09 3b 33 32 6b 20 65 78 61 6d 70 6c 65 20 62 69 6f 73 0d 0a 09 65 6e   ┆  db '32' ;32k example bios   en┆
0x088600…088620 (36, 0, 12) 20 73 65 63 74 6f 72 20 63 6f 75 6e 74 0d 0a 09 64 63 72 09 62 09 3b 64 6f 6e 65 3f 0d 0a 09 6a   ┆ sector count   dcr b ;done?   j┆
0x088620…088640             6e 7a 09 72 64 73 65 63 0d 0a 3b 0d 0a 3b 09 64 6f 6e 65 20 77 69 74 68 20 74 68 65 20 6c 6f 61   ┆nz rdsec  ;  ; done with the loa┆
0x088640…088660             64 2c 20 72 65 73 65 74 20 64 65 66 61 75 6c 74 20 62 75 66 66 65 72 20 61 64 64 72 65 73 73 0d   ┆d, reset default buffer address ┆
0x088660…088680             0a 67 6f 63 70 6d 3a 09 3b 28 65 6e 74 65 72 20 68 65 72 65 20 66 72 6f 6d 20 63 6f 6c 64 20 73   ┆ gocpm: ;(enter here from cold s┆
0x088680…0886a0             74 61 72 74 20 62 6f 6f 74 29 0d 0a 3b 09 65 6e 61 62 6c 65 20 72 73 74 30 20 61 6e 64 20 72 73   ┆tart boot)  ; enable rst0 and rs┆
0x0886a0…0886c0             74 37 0d 0a 09 64 69 0d 0a 09 6d 76 69 09 61 2c 31 32 68 09 3b 69 6e 69 74 69 61 6c 69 7a 65 20   ┆t7   di   mvi a,12h ;initialize ┆
0x0886c0…0886e0             63 6f 6d 6d 61 6e 64 0d 0a 09 6f 75 74 09 72 65 76 72 74 0d 0a 09 78 72 61 09 61 0d 0a 09 6f 75   ┆command   out revrt   xra a   ou┆
0x0886e0…088700             74 09 69 6e 74 63 09 3b 63 6c 65 61 72 65 64 0d 0a 09 6d 76 69 09 61 2c 69 6e 74 65 09 3b 72 73   ┆t intc ;cleared   mvi a,inte ;rs┆
0x088700…088720             74 30 20 61 6e 64 20 72 73 74 37 20 62 69 74 73 20 6f 6e 0d 0a 09 6f 75 74 09 69 6e 74 63 0d 0a   ┆t0 and rst7 bits on   out intc  ┆
0x088720…088740             09 78 72 61 09 61 0d 0a 09 6f 75 74 09 69 63 6f 6e 09 3b 69 6e 74 65 72 72 75 70 74 20 63 6f 6e   ┆ xra a   out icon ;interrupt con┆
0x088740…088760             74 72 6f 6c 0d 0a 3b 0d 0a 3b 09 73 65 74 20 64 65 66 61 75 6c 74 20 62 75 66 66 65 72 20 61 64   ┆trol  ;  ; set default buffer ad┆
0x088760…088780             64 72 65 73 73 20 74 6f 20 38 30 68 0d 0a 09 6c 78 69 09 62 2c 62 75 66 66 0d 0a 09 63 61 6c 6c   ┆dress to 80h   lxi b,buff   call┆
0x088780…0887a0             09 73 65 74 64 6d 61 0d 0a 3b 0d 0a 3b 09 72 65 73 65 74 20 6d 6f 6e 69 74 6f 72 20 65 6e 74 72   ┆ setdma  ;  ; reset monitor entr┆
0x0887a0…0887c0             79 20 70 6f 69 6e 74 73 0d 0a 09 6d 76 69 09 61 2c 6a 6d 70 0d 0a 09 73 74 61 09 30 0d 0a 09 6c   ┆y points   mvi a,jmp   sta 0   l┆
0x0887c0…0887e0             78 69 09 68 2c 77 62 6f 6f 74 65 0d 0a 09 73 68 6c 64 09 31 09 3b 6a 6d 70 20 77 62 6f 6f 74 20   ┆xi h,wboote   shld 1 ;jmp wboot ┆
0x0887e0…088800             61 74 20 6c 6f 63 61 74 69 6f 6e 20 30 30 0d 0a 09 73 74 61 09 35 0d 0a 09 6c 78 69 09 68 2c 62   ┆at location 00   sta 5   lxi h,b┆
0x088800…088820 (36, 0, 13) 61 6c 20 69 2f 6f 20 6f 70 65 72 61 74 69 6f 6e 0d 0a 69 6f 66 3a 09 64 62 09 72 65 61 64 66 09   ┆al i/o operation  iof: db readf ┆
0x088820…088840             3b 69 6f 20 66 75 6e 63 74 69 6f 6e 2c 20 69 6e 69 74 69 61 6c 20 72 65 61 64 0d 0a 69 6f 6e 3a   ┆;io function, initial read  ion:┆
0x088840…088860             09 64 62 09 31 09 3b 6e 75 6d 62 65 72 20 6f 66 20 73 65 63 74 6f 72 73 20 74 6f 20 72 65 61 64   ┆ db 1 ;number of sectors to read┆
0x088860…088880             0d 0a 69 6f 74 3a 09 64 62 09 6f 66 66 73 65 74 09 3b 74 72 61 63 6b 20 6e 75 6d 62 65 72 0d 0a   ┆  iot: db offset ;track number  ┆
0x088880…0888a0             69 6f 73 3a 09 64 62 09 31 09 3b 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 0d 0a 69 6f 64 3a 09 64   ┆ios: db 1 ;sector number  iod: d┆
0x0888a0…0888c0             77 09 62 75 66 66 09 3b 69 6f 20 61 64 64 72 65 73 73 0d 0a 3b 0d 0a 3b 0d 0a 3b 09 64 65 66 69   ┆w buff ;io address  ;  ;  ; defi┆
0x0888c0…0888e0             6e 65 20 72 61 6d 20 61 72 65 61 73 20 66 6f 72 20 62 64 6f 73 20 6f 70 65 72 61 74 69 6f 6e 0d   ┆ne ram areas for bdos operation ┆
0x0888e0…088900             0a 09 65 6e 64 65 66 0d 0a 09 65 6e 64 0d 0a 3b 09 4d 44 53 2d 38 30 30 20 49 2f 4f 20 44 72 69   ┆  endef   end  ; MDS-800 I/O Dri┆
0x088900…088920             76 65 72 73 20 66 6f 72 20 43 50 2f 4d 20 32 2e 32 0d 0a 3b 09 28 66 6f 75 72 20 64 72 69 76 65   ┆vers for CP/M 2.2  ; (four drive┆
0x088920…088940             20 73 69 6e 67 6c 65 20 64 65 6e 73 69 74 79 20 76 65 72 73 69 6f 6e 29 0d 0a 3b 0d 0a 3b 09 56   ┆ single density version)  ;  ; V┆
0x088940…088960             65 72 73 69 6f 6e 20 32 2e 32 20 46 65 62 72 75 61 72 79 2c 20 31 39 38 30 0d 0a 3b 0d 0a 76 65   ┆ersion 2.2 February, 1980  ;  ve┆
0x088960…088980             72 73 09 65 71 75 09 32 32 09 3b 76 65 72 73 69 6f 6e 20 32 2e 32 0d 0a 3b 0d 0a 3b 09 43 6f 70   ┆rs equ 22 ;version 2.2  ;  ; Cop┆
0x088980…0889a0             79 72 69 67 68 74 20 28 63 29 20 31 39 38 30 0d 0a 3b 09 44 69 67 69 74 61 6c 20 52 65 73 65 61   ┆yright (c) 1980  ; Digital Resea┆
0x0889a0…0889c0             72 63 68 0d 0a 3b 09 42 6f 78 20 35 37 39 2c 20 50 61 63 69 66 69 63 20 47 72 6f 76 65 0d 0a 3b   ┆rch  ; Box 579, Pacific Grove  ;┆
0x0889c0…0889e0             09 43 61 6c 69 66 6f 72 6e 69 61 2c 20 39 33 39 35 30 0d 0a 3b 0d 0a 3b 0d 0a 74 72 75 65 09 65   ┆ California, 93950  ;  ;  true e┆
0x0889e0…088a00             71 75 09 30 66 66 66 66 68 09 3b 76 61 6c 75 65 20 6f 66 20 22 74 72 75 65 22 0d 0a 66 61 6c 73   ┆qu 0ffffh ;value of "true"  fals┆
0x088a00…088a20 (36, 0, 14) 64 20 74 72 61 63 6b 2f 73 65 63 74 6f 72 20 74 6f 20 70 72 65 73 65 74 20 64 6d 61 20 61 64 64   ┆d track/sector to preset dma add┆
0x088a20…088a40             72 65 73 73 0d 0a 3b 09 77 72 69 74 65 09 77 72 69 74 65 20 74 72 61 63 6b 2f 73 65 63 74 6f 72   ┆ress  ; write write track/sector┆
0x088a40…088a60             20 66 72 6f 6d 20 70 72 65 73 65 74 20 64 6d 61 20 61 64 64 72 65 73 73 0d 0a 3b 0d 0a 3b 09 6a   ┆ from preset dma address  ;  ; j┆
0x088a60…088a80             75 6d 70 20 76 65 63 74 6f 72 20 66 6f 72 20 69 6e 64 69 76 69 75 61 6c 20 72 6f 75 74 69 6e 65   ┆ump vector for indiviual routine┆
0x088a80…088aa0             73 0d 0a 09 6a 6d 70 09 62 6f 6f 74 0d 0a 77 62 6f 6f 74 65 3a 09 6a 6d 70 09 77 62 6f 6f 74 0d   ┆s   jmp boot  wboote: jmp wboot ┆
0x088aa0…088ac0             0a 09 6a 6d 70 09 63 6f 6e 73 74 0d 0a 09 6a 6d 70 09 63 6f 6e 69 6e 0d 0a 09 6a 6d 70 09 63 6f   ┆  jmp const   jmp conin   jmp co┆
0x088ac0…088ae0             6e 6f 75 74 0d 0a 09 6a 6d 70 09 6c 69 73 74 0d 0a 09 6a 6d 70 09 70 75 6e 63 68 0d 0a 09 6a 6d   ┆nout   jmp list   jmp punch   jm┆
0x088ae0…088b00             70 09 72 65 61 64 65 72 0d 0a 09 6a 6d 70 09 68 6f 6d 65 0d 0a 09 6a 6d 70 09 73 65 6c 64 73 6b   ┆p reader   jmp home   jmp seldsk┆
0x088b00…088b20             0d 0a 09 6a 6d 70 09 73 65 74 74 72 6b 0d 0a 09 6a 6d 70 09 73 65 74 73 65 63 0d 0a 09 6a 6d 70   ┆   jmp settrk   jmp setsec   jmp┆
0x088b20…088b40             09 73 65 74 64 6d 61 0d 0a 09 6a 6d 70 09 72 65 61 64 0d 0a 09 6a 6d 70 09 77 72 69 74 65 0d 0a   ┆ setdma   jmp read   jmp write  ┆
0x088b40…088b60             09 6a 6d 70 09 6c 69 73 74 73 74 09 3b 6c 69 73 74 20 73 74 61 74 75 73 0d 0a 09 6a 6d 70 09 73   ┆ jmp listst ;list status   jmp s┆
0x088b60…088b80             65 63 74 72 61 6e 0d 0a 3b 0d 0a 09 6d 61 63 6c 69 62 09 64 69 73 6b 64 65 66 09 3b 6c 6f 61 64   ┆ectran  ;   maclib diskdef ;load┆
0x088b80…088ba0             20 74 68 65 20 64 69 73 6b 20 64 65 66 69 6e 69 74 69 6f 6e 20 6c 69 62 72 61 72 79 0d 0a 09 64   ┆ the disk definition library   d┆
0x088ba0…088bc0             69 73 6b 73 09 34 09 3b 66 6f 75 72 20 64 69 73 6b 73 0d 0a 09 64 69 73 6b 64 65 66 09 30 2c 31   ┆isks 4 ;four disks   diskdef 0,1┆
0x088bc0…088be0             2c 32 36 2c 36 2c 31 30 32 34 2c 32 34 33 2c 36 34 2c 36 34 2c 6f 66 66 73 65 74 0d 0a 09 64 69   ┆,26,6,1024,243,64,64,offset   di┆
0x088be0…088c00             73 6b 64 65 66 09 31 2c 30 0d 0a 09 64 69 73 6b 64 65 66 09 32 2c 30 0d 0a 09 64 69 73 6b 64 65   ┆skdef 1,0   diskdef 2,0   diskde┆
0x088c00…088c20 (36, 0, 15) 64 69 66 0d 0a 09 69 66 09 6e 6f 74 20 74 65 73 74 0d 0a 09 64 62 09 27 30 30 27 09 3b 6d 65 6d   ┆dif   if not test   db '00' ;mem┆
0x088c20…088c40             6f 72 79 20 73 69 7a 65 20 66 69 6c 6c 65 64 20 62 79 20 72 65 6c 6f 63 61 74 6f 72 0d 0a 09 65   ┆ory size filled by relocator   e┆
0x088c40…088c60             6e 64 69 66 0d 0a 09 64 62 09 27 6b 20 43 50 2f 4d 20 76 65 72 73 20 27 0d 0a 09 64 62 09 76 65   ┆ndif   db 'k CP/M vers '   db ve┆
0x088c60…088c80             72 73 2f 31 30 2b 27 30 27 2c 27 2e 27 2c 76 65 72 73 20 6d 6f 64 20 31 30 2b 27 30 27 0d 0a 09   ┆rs/10+'0','.',vers mod 10+'0'   ┆
0x088c80…088ca0             64 62 09 63 72 2c 6c 66 2c 30 0d 0a 3b 0d 0a 62 6f 6f 74 3a 09 3b 70 72 69 6e 74 20 73 69 67 6e   ┆db cr,lf,0  ;  boot: ;print sign┆
0x088ca0…088cc0             6f 6e 20 6d 65 73 73 61 67 65 20 61 6e 64 20 67 6f 20 74 6f 20 63 63 70 0d 0a 3b 09 28 6e 6f 74   ┆on message and go to ccp  ; (not┆
0x088cc0…088ce0             65 3a 20 6d 64 73 20 62 6f 6f 74 20 69 6e 69 74 69 61 6c 69 7a 65 64 20 69 6f 62 79 74 65 20 61   ┆e: mds boot initialized iobyte a┆
0x088ce0…088d00             74 20 30 30 30 33 68 29 0d 0a 09 6c 78 69 09 73 70 2c 62 75 66 66 2b 38 30 68 0d 0a 09 6c 78 69   ┆t 0003h)   lxi sp,buff+80h   lxi┆
0x088d00…088d20             09 68 2c 73 69 67 6e 6f 6e 0d 0a 09 63 61 6c 6c 09 70 72 6d 73 67 09 3b 70 72 69 6e 74 20 6d 65   ┆ h,signon   call prmsg ;print me┆
0x088d20…088d40             73 73 61 67 65 0d 0a 09 78 72 61 09 61 09 3b 63 6c 65 61 72 20 61 63 63 75 6d 75 6c 61 74 6f 72   ┆ssage   xra a ;clear accumulator┆
0x088d40…088d60             0d 0a 09 73 74 61 09 63 64 69 73 6b 09 3b 73 65 74 20 69 6e 69 74 69 61 6c 6c 79 20 74 6f 20 64   ┆   sta cdisk ;set initially to d┆
0x088d60…088d80             69 73 6b 20 61 0d 0a 09 6a 6d 70 09 67 6f 63 70 6d 09 3b 67 6f 20 74 6f 20 63 70 2f 6d 0d 0a 3b   ┆isk a   jmp gocpm ;go to cp/m  ;┆
0x088d80…088da0             0d 0a 3b 0d 0a 77 62 6f 6f 74 3a 3b 09 6c 6f 61 64 65 72 20 6f 6e 20 74 72 61 63 6b 20 30 2c 20   ┆  ;  wboot:; loader on track 0, ┆
0x088da0…088dc0             73 65 63 74 6f 72 20 31 2c 20 77 68 69 63 68 20 77 69 6c 6c 20 62 65 20 73 6b 69 70 70 65 64 20   ┆sector 1, which will be skipped ┆
0x088dc0…088de0             66 6f 72 20 77 61 72 6d 20 0d 0a 3b 09 72 65 61 64 20 63 70 2f 6d 20 66 72 6f 6d 20 64 69 73 6b   ┆for warm   ; read cp/m from disk┆
0x088de0…088e00             20 2d 20 61 73 73 75 6d 69 6e 67 20 74 68 65 72 65 20 69 73 20 61 20 31 32 38 20 62 79 74 65 20   ┆ - assuming there is a 128 byte ┆
0x088e00…088e20 (36, 1, 1)  64 6f 73 0d 0a 09 73 68 6c 64 09 36 09 3b 6a 6d 70 20 62 64 6f 73 20 61 74 20 6c 6f 63 61 74 69   ┆dos   shld 6 ;jmp bdos at locati┆
0x088e20…088e40             6f 6e 20 35 0d 0a 09 69 66 09 6e 6f 74 20 74 65 73 74 0d 0a 09 73 74 61 09 37 2a 38 09 3b 6a 6d   ┆on 5   if not test   sta 7*8 ;jm┆
0x088e40…088e60             70 20 74 6f 20 6d 6f 6e 38 30 20 28 6d 61 79 20 68 61 76 65 20 62 65 65 6e 20 63 68 61 6e 67 65   ┆p to mon80 (may have been change┆
0x088e60…088e80             64 20 62 79 20 64 64 74 29 0d 0a 09 6c 78 69 09 68 2c 6d 6f 6e 38 30 0d 0a 09 73 68 6c 64 09 37   ┆d by ddt)   lxi h,mon80   shld 7┆
0x088e80…088ea0             2a 38 2b 31 0d 0a 09 65 6e 64 69 66 0d 0a 3b 09 6c 65 61 76 65 20 69 6f 62 79 74 65 20 73 65 74   ┆*8+1   endif  ; leave iobyte set┆
0x088ea0…088ec0             0d 0a 3b 09 70 72 65 76 69 6f 75 73 6c 79 20 73 65 6c 65 63 74 65 64 20 64 69 73 6b 20 77 61 73   ┆  ; previously selected disk was┆
0x088ec0…088ee0             20 62 2c 20 73 65 6e 64 20 70 61 72 61 6d 65 74 65 72 20 74 6f 20 63 70 6d 0d 0a 09 6c 64 61 09   ┆ b, send parameter to cpm   lda ┆
0x088ee0…088f00             63 64 69 73 6b 09 3b 6c 61 73 74 20 6c 6f 67 67 65 64 20 64 69 73 6b 20 6e 75 6d 62 65 72 0d 0a   ┆cdisk ;last logged disk number  ┆
0x088f00…088f20             09 6d 6f 76 09 63 2c 61 09 3b 73 65 6e 64 20 74 6f 20 63 63 70 20 74 6f 20 6c 6f 67 20 69 74 20   ┆ mov c,a ;send to ccp to log it ┆
0x088f20…088f40             69 6e 0d 0a 09 65 69 0d 0a 09 6a 6d 70 09 63 70 6d 62 0d 0a 3b 0d 0a 3b 09 65 72 72 6f 72 20 63   ┆in   ei   jmp cpmb  ;  ; error c┆
0x088f40…088f60             6f 6e 64 69 74 69 6f 6e 20 6f 63 63 75 72 72 65 64 2c 20 70 72 69 6e 74 20 6d 65 73 73 61 67 65   ┆ondition occurred, print message┆
0x088f60…088f80             20 61 6e 64 20 72 65 74 72 79 0d 0a 62 6f 6f 74 65 72 72 3a 0d 0a 09 70 6f 70 09 62 09 3b 72 65   ┆ and retry  booterr:   pop b ;re┆
0x088f80…088fa0             63 61 6c 6c 20 63 6f 75 6e 74 73 0d 0a 09 64 63 72 09 63 0d 0a 09 6a 7a 09 62 6f 6f 74 65 72 30   ┆call counts   dcr c   jz booter0┆
0x088fa0…088fc0             0d 0a 3b 09 74 72 79 20 61 67 61 69 6e 0d 0a 09 70 75 73 68 09 62 0d 0a 09 6a 6d 70 09 77 62 6f   ┆  ; try again   push b   jmp wbo┆
0x088fc0…088fe0             6f 74 30 0d 0a 3b 0d 0a 62 6f 6f 74 65 72 30 3a 0d 0a 3b 09 6f 74 68 65 72 77 69 73 65 20 74 6f   ┆ot0  ;  booter0:  ; otherwise to┆
0x088fe0…089000             6f 20 6d 61 6e 79 20 72 65 74 72 69 65 73 0d 0a 09 6c 78 69 09 68 2c 62 6f 6f 74 6d 73 67 0d 0a   ┆o many retries   lxi h,bootmsg  ┆
0x089000…089020 (36, 1, 2)  74 65 20 73 65 63 74 6f 72 20 62 63 20 75 73 69 6e 67 20 74 61 62 6c 65 20 61 74 20 64 65 0d 0a   ┆te sector bc using table at de  ┆
0x089020…089040             09 6d 76 69 09 62 2c 30 09 3b 64 6f 75 62 6c 65 20 70 72 65 63 69 73 69 6f 6e 20 73 65 63 74 6f   ┆ mvi b,0 ;double precision secto┆
0x089040…089060             72 20 6e 75 6d 62 65 72 20 69 6e 20 42 43 0d 0a 09 78 63 68 67 09 09 3b 74 72 61 6e 73 6c 61 74   ┆r number in BC   xchg  ;translat┆
0x089060…089080             65 20 74 61 62 6c 65 20 61 64 64 72 65 73 73 20 74 6f 20 48 4c 0d 0a 09 64 61 64 09 62 09 3b 74   ┆e table address to HL   dad b ;t┆
0x089080…0890a0             72 61 6e 73 6c 61 74 65 28 73 65 63 74 6f 72 29 20 61 64 64 72 65 73 73 0d 0a 09 6d 6f 76 09 61   ┆ranslate(sector) address   mov a┆
0x0890a0…0890c0             2c 6d 09 3b 74 72 61 6e 73 6c 61 74 65 64 20 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 20 74 6f 20   ┆,m ;translated sector number to ┆
0x0890c0…0890e0             41 0d 0a 09 73 74 61 09 69 6f 73 0d 0a 09 6d 6f 76 09 6c 2c 61 09 3b 72 65 74 75 72 6e 20 73 65   ┆A   sta ios   mov l,a ;return se┆
0x0890e0…089100             63 74 6f 72 20 6e 75 6d 62 65 72 20 69 6e 20 4c 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 73 65 74 64 6d   ┆ctor number in L   ret  ;  setdm┆
0x089100…089120             61 3a 09 3b 73 65 74 20 64 6d 61 20 61 64 64 72 65 73 73 20 67 69 76 65 6e 20 62 79 20 72 65 67   ┆a: ;set dma address given by reg┆
0x089120…089140             73 20 62 2c 63 0d 0a 09 6d 6f 76 09 6c 2c 63 0d 0a 09 6d 6f 76 09 68 2c 62 0d 0a 09 73 68 6c 64   ┆s b,c   mov l,c   mov h,b   shld┆
0x089140…089160             09 69 6f 64 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 72 65 61 64 3a 09 3b 72 65 61 64 20 6e 65 78 74 20   ┆ iod   ret  ;  read: ;read next ┆
0x089160…089180             64 69 73 6b 20 72 65 63 6f 72 64 20 28 61 73 73 75 6d 69 6e 67 20 64 69 73 6b 2f 74 72 6b 2f 73   ┆disk record (assuming disk/trk/s┆
0x089180…0891a0             65 63 2f 64 6d 61 20 73 65 74 29 0d 0a 09 6d 76 69 09 63 2c 72 65 61 64 66 09 3b 73 65 74 20 74   ┆ec/dma set)   mvi c,readf ;set t┆
0x0891a0…0891c0             6f 20 72 65 61 64 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 63 61 6c 6c 09 73 65 74 66 75 6e 63 0d 0a   ┆o read function   call setfunc  ┆
0x0891c0…0891e0             09 63 61 6c 6c 09 77 61 69 74 69 6f 09 3b 70 65 72 66 6f 72 6d 20 72 65 61 64 20 66 75 6e 63 74   ┆ call waitio ;perform read funct┆
0x0891e0…089200             69 6f 6e 0d 0a 09 72 65 74 09 09 3b 6d 61 79 20 68 61 76 65 20 65 72 72 6f 72 20 73 65 74 20 69   ┆ion   ret  ;may have error set i┆
0x089200…089220 (36, 1, 3)  64 0d 0a 3b 09 30 30 20 75 6e 6c 69 6e 6b 65 64 20 69 2f 6f 20 63 6f 6d 70 6c 65 74 65 2c 20 20   ┆d  ; 00 unlinked i/o complete,  ┆
0x089220…089240             20 20 30 31 20 6c 69 6e 6b 65 64 20 69 2f 6f 20 63 6f 6d 70 6c 65 74 65 20 28 6e 6f 74 20 75 73   ┆  01 linked i/o complete (not us┆
0x089240…089260             65 64 29 0d 0a 3b 09 31 30 20 64 69 73 6b 20 73 74 61 74 75 73 20 63 68 61 6e 67 65 64 20 20 20   ┆ed)  ; 10 disk status changed   ┆
0x089260…089280             20 20 20 20 31 31 20 28 6e 6f 74 20 75 73 65 64 29 0d 0a 09 63 70 69 09 31 30 62 09 09 3b 72 65   ┆    11 (not used)   cpi 10b  ;re┆
0x089280…0892a0             61 64 79 20 73 74 61 74 75 73 20 63 68 61 6e 67 65 3f 0d 0a 09 6a 7a 09 77 72 65 61 64 79 0d 0a   ┆ady status change?   jz wready  ┆
0x0892a0…0892c0             3b 0d 0a 3b 09 6d 75 73 74 20 62 65 20 30 30 20 69 6e 20 74 68 65 20 61 63 63 75 6d 75 6c 61 74   ┆;  ; must be 00 in the accumulat┆
0x0892c0…0892e0             6f 72 0d 0a 09 6f 72 61 09 61 0d 0a 09 6a 6e 7a 09 77 65 72 72 6f 72 09 09 3b 73 6f 6d 65 20 6f   ┆or   ora a   jnz werror  ;some o┆
0x0892e0…089300             74 68 65 72 20 63 6f 6e 64 69 74 69 6f 6e 2c 20 72 65 74 72 79 0d 0a 3b 0d 0a 3b 09 63 68 65 63   ┆ther condition, retry  ;  ; chec┆
0x089300…089320             6b 20 69 2f 6f 20 65 72 72 6f 72 20 62 69 74 73 0d 0a 09 63 61 6c 6c 09 69 6e 62 79 74 65 0d 0a   ┆k i/o error bits   call inbyte  ┆
0x089320…089340             09 72 61 6c 0d 0a 09 6a 63 09 77 72 65 61 64 79 09 09 3b 75 6e 69 74 20 6e 6f 74 20 72 65 61 64   ┆ ral   jc wready  ;unit not read┆
0x089340…089360             79 0d 0a 09 72 61 72 0d 0a 09 61 6e 69 09 31 31 31 31 31 31 31 30 62 09 3b 61 6e 79 20 6f 74 68   ┆y   rar   ani 11111110b ;any oth┆
0x089360…089380             65 72 20 65 72 72 6f 72 73 3f 20 20 28 64 65 6c 65 74 65 64 20 64 61 74 61 20 6f 6b 29 0d 0a 09   ┆er errors?  (deleted data ok)   ┆
0x089380…0893a0             6a 6e 7a 09 77 65 72 72 6f 72 0d 0a 3b 0d 0a 3b 09 72 65 61 64 20 6f 72 20 77 72 69 74 65 20 69   ┆jnz werror  ;  ; read or write i┆
0x0893a0…0893c0             73 20 6f 6b 2c 20 61 63 63 75 6d 75 6c 61 74 6f 72 20 63 6f 6e 74 61 69 6e 73 20 7a 65 72 6f 0d   ┆s ok, accumulator contains zero ┆
0x0893c0…0893e0             0a 09 72 65 74 0d 0a 3b 0d 0a 77 72 65 61 64 79 3a 09 3b 6e 6f 74 20 72 65 61 64 79 2c 20 74 72   ┆  ret  ;  wready: ;not ready, tr┆
0x0893e0…089400             65 61 74 20 61 73 20 65 72 72 6f 72 20 66 6f 72 20 6e 6f 77 0d 0a 09 63 61 6c 6c 09 69 6e 62 79   ┆eat as error for now   call inby┆
0x089400…089420 (36, 1, 4)  20 72 65 61 64 0d 0a 69 6f 74 3a 09 64 62 09 6f 66 66 73 65 74 09 3b 74 72 61 63 6b 20 6e 75 6d   ┆ read  iot: db offset ;track num┆
0x089420…089440             62 65 72 0d 0a 69 6f 73 3a 09 64 62 09 31 09 3b 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 0d 0a 69   ┆ber  ios: db 1 ;sector number  i┆
0x089440…089460             6f 64 3a 09 64 77 09 62 75 66 66 09 3b 69 6f 20 61 64 64 72 65 73 73 0d 0a 3b 0d 0a 3b 0d 0a 3b   ┆od: dw buff ;io address  ;  ;  ;┆
0x089460…089480             09 64 65 66 69 6e 65 20 72 61 6d 20 61 72 65 61 73 20 66 6f 72 20 62 64 6f 73 20 6f 70 65 72 61   ┆ define ram areas for bdos opera┆
0x089480…0894a0             74 69 6f 6e 0d 0a 09 65 6e 64 65 66 0d 0a 09 65 6e 64 0d 0a 3b 09 4d 44 53 2d 38 30 30 20 49 2f   ┆tion   endef   end  ; MDS-800 I/┆
0x0894a0…0894c0             4f 20 44 72 69 76 65 72 73 20 66 6f 72 20 43 50 2f 4d 20 32 2e 32 0d 0a 3b 09 28 66 6f 75 72 20   ┆O Drivers for CP/M 2.2  ; (four ┆
0x0894c0…0894e0             64 72 69 76 65 20 73 69 6e 67 6c 65 20 64 65 6e 73 69 74 79 20 76 65 72 73 69 6f 6e 29 0d 0a 3b   ┆drive single density version)  ;┆
0x0894e0…089500             0d 0a 3b 09 56 65 72 73 69 6f 6e 20 32 2e 32 20 46 65 62 72 75 61 72 79 2c 20 31 39 38 30 0d 0a   ┆  ; Version 2.2 February, 1980  ┆
0x089500…089520             3b 0d 0a 76 65 72 73 09 65 71 75 09 32 32 09 3b 76 65 72 73 69 6f 6e 20 32 2e 32 0d 0a 3b 0d 0a   ┆;  vers equ 22 ;version 2.2  ;  ┆
0x089520…089540             3b 09 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 31 39 38 30 0d 0a 3b 09 44 69 67 69 74 61 6c 20   ┆; Copyright (c) 1980  ; Digital ┆
0x089540…089560             52 65 73 65 61 72 63 68 0d 0a 3b 09 42 6f 78 20 35 37 39 2c 20 50 61 63 69 66 69 63 20 47 72 6f   ┆Research  ; Box 579, Pacific Gro┆
0x089560…089580             76 65 0d 0a 3b 09 43 61 6c 69 66 6f 72 6e 69 61 2c 20 39 33 39 35 30 0d 0a 3b 0d 0a 3b 0d 0a 74   ┆ve  ; California, 93950  ;  ;  t┆
0x089580…0895a0             72 75 65 09 65 71 75 09 30 66 66 66 66 68 09 3b 76 61 6c 75 65 20 6f 66 20 22 74 72 75 65 22 0d   ┆rue equ 0ffffh ;value of "true" ┆
0x0895a0…0895c0             0a 66 61 6c 73 65 09 65 71 75 09 6e 6f 74 20 74 72 75 65 09 3b 22 66 61 6c 73 65 22 0d 0a 74 65   ┆ false equ not true ;"false"  te┆
0x0895c0…0895e0             73 74 09 65 71 75 09 66 61 6c 73 65 09 3b 74 72 75 65 20 69 66 20 74 65 73 74 20 62 69 6f 73 0d   ┆st equ false ;true if test bios ┆
0x0895e0…089600             0a 3b 0d 0a 09 69 66 09 74 65 73 74 0d 0a 62 69 61 73 09 65 71 75 09 30 33 34 30 30 68 09 3b 62   ┆ ;   if test  bias equ 03400h ;b┆
0x089600…089620 (36, 1, 5)  09 63 61 6c 6c 09 70 72 6d 73 67 0d 0a 09 6a 6d 70 09 72 6d 6f 6e 38 30 09 3b 6d 64 73 20 68 61   ┆ call prmsg   jmp rmon80 ;mds ha┆
0x089620…089640             72 64 77 61 72 65 20 6d 6f 6e 69 74 6f 72 0d 0a 3b 0d 0a 62 6f 6f 74 6d 73 67 3a 0d 0a 09 64 62   ┆rdware monitor  ;  bootmsg:   db┆
0x089640…089660             09 27 3f 62 6f 6f 74 27 2c 30 0d 0a 3b 0d 0a 3b 0d 0a 63 6f 6e 73 74 3a 09 3b 63 6f 6e 73 6f 6c   ┆ '?boot',0  ;  ;  const: ;consol┆
0x089660…089680             65 20 73 74 61 74 75 73 20 74 6f 20 72 65 67 2d 61 0d 0a 3b 09 28 65 78 61 63 74 6c 79 20 74 68   ┆e status to reg-a  ; (exactly th┆
0x089680…0896a0             65 20 73 61 6d 65 20 61 73 20 6d 64 73 20 63 61 6c 6c 29 0d 0a 09 6a 6d 70 09 63 73 74 73 0d 0a   ┆e same as mds call)   jmp csts  ┆
0x0896a0…0896c0             3b 0d 0a 63 6f 6e 69 6e 3a 09 3b 63 6f 6e 73 6f 6c 65 20 63 68 61 72 61 63 74 65 72 20 74 6f 20   ┆;  conin: ;console character to ┆
0x0896c0…0896e0             72 65 67 2d 61 0d 0a 09 63 61 6c 6c 09 63 69 0d 0a 09 61 6e 69 09 37 66 68 09 3b 72 65 6d 6f 76   ┆reg-a   call ci   ani 7fh ;remov┆
0x0896e0…089700             65 20 70 61 72 69 74 79 20 62 69 74 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 63 6f 6e 6f 75 74 3a 09 3b   ┆e parity bit   ret  ;  conout: ;┆
0x089700…089720             63 6f 6e 73 6f 6c 65 20 63 68 61 72 61 63 74 65 72 20 66 72 6f 6d 20 63 20 74 6f 20 63 6f 6e 73   ┆console character from c to cons┆
0x089720…089740             6f 6c 65 20 6f 75 74 0d 0a 09 6a 6d 70 09 63 6f 0d 0a 3b 0d 0a 6c 69 73 74 3a 09 3b 6c 69 73 74   ┆ole out   jmp co  ;  list: ;list┆
0x089740…089760             20 64 65 76 69 63 65 20 6f 75 74 0d 0a 3b 09 28 65 78 61 63 74 6c 79 20 74 68 65 20 73 61 6d 65   ┆ device out  ; (exactly the same┆
0x089760…089780             20 61 73 20 6d 64 73 20 63 61 6c 6c 29 0d 0a 09 6a 6d 70 09 6c 6f 0d 0a 3b 0d 0a 6c 69 73 74 73   ┆ as mds call)   jmp lo  ;  lists┆
0x089780…0897a0             74 3a 0d 0a 09 3b 72 65 74 75 72 6e 20 6c 69 73 74 20 73 74 61 74 75 73 0d 0a 09 78 72 61 09 61   ┆t:   ;return list status   xra a┆
0x0897a0…0897c0             0d 0a 09 72 65 74 09 09 3b 61 6c 77 61 79 73 20 6e 6f 74 20 72 65 61 64 79 0d 0a 3b 0d 0a 70 75   ┆   ret  ;always not ready  ;  pu┆
0x0897c0…0897e0             6e 63 68 3a 09 3b 70 75 6e 63 68 20 64 65 76 69 63 65 20 6f 75 74 0d 0a 3b 09 28 65 78 61 63 74   ┆nch: ;punch device out  ; (exact┆
0x0897e0…089800             6c 79 20 74 68 65 20 73 61 6d 65 20 61 73 20 6d 64 73 20 63 61 6c 6c 29 0d 0a 09 6a 6d 70 09 70   ┆ly the same as mds call)   jmp p┆
0x089800…089820 (36, 1, 6)  6e 20 72 65 67 2d 61 0d 0a 3b 0d 0a 3b 0d 0a 77 72 69 74 65 3a 09 3b 64 69 73 6b 20 77 72 69 74   ┆n reg-a  ;  ;  write: ;disk writ┆
0x089820…089840             65 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 6d 76 69 09 63 2c 77 72 69 74 66 0d 0a 09 63 61 6c 6c 09   ┆e function   mvi c,writf   call ┆
0x089840…089860             73 65 74 66 75 6e 63 09 3b 73 65 74 20 74 6f 20 77 72 69 74 65 20 66 75 6e 63 74 69 6f 6e 0d 0a   ┆setfunc ;set to write function  ┆
0x089860…089880             09 63 61 6c 6c 09 77 61 69 74 69 6f 0d 0a 09 72 65 74 09 09 3b 6d 61 79 20 68 61 76 65 20 65 72   ┆ call waitio   ret  ;may have er┆
0x089880…0898a0             72 6f 72 20 73 65 74 0d 0a 3b 0d 0a 3b 0d 0a 3b 09 75 74 69 6c 69 74 79 20 73 75 62 72 6f 75 74   ┆ror set  ;  ;  ; utility subrout┆
0x0898a0…0898c0             69 6e 65 73 0d 0a 70 72 6d 73 67 3a 09 3b 70 72 69 6e 74 20 6d 65 73 73 61 67 65 20 61 74 20 68   ┆ines  prmsg: ;print message at h┆
0x0898c0…0898e0             2c 6c 20 74 6f 20 30 0d 0a 09 6d 6f 76 09 61 2c 6d 0d 0a 09 6f 72 61 09 61 09 3b 7a 65 72 6f 3f   ┆,l to 0   mov a,m   ora a ;zero?┆
0x0898e0…089900             0d 0a 09 72 7a 0d 0a 3b 09 6d 6f 72 65 20 74 6f 20 70 72 69 6e 74 0d 0a 09 70 75 73 68 09 68 0d   ┆   rz  ; more to print   push h ┆
0x089900…089920             0a 09 6d 6f 76 09 63 2c 61 0d 0a 09 63 61 6c 6c 09 63 6f 6e 6f 75 74 0d 0a 09 70 6f 70 09 68 0d   ┆  mov c,a   call conout   pop h ┆
0x089920…089940             0a 09 69 6e 78 09 68 0d 0a 09 6a 6d 70 09 70 72 6d 73 67 0d 0a 3b 0d 0a 73 65 74 66 75 6e 63 3a   ┆  inx h   jmp prmsg  ;  setfunc:┆
0x089940…089960             0d 0a 3b 09 73 65 74 20 66 75 6e 63 74 69 6f 6e 20 66 6f 72 20 6e 65 78 74 20 69 2f 6f 20 28 63   ┆  ; set function for next i/o (c┆
0x089960…089980             6f 6d 6d 61 6e 64 20 69 6e 20 72 65 67 2d 63 29 0d 0a 09 6c 78 69 09 68 2c 69 6f 66 09 3b 69 6f   ┆ommand in reg-c)   lxi h,iof ;io┆
0x089980…0899a0             20 66 75 6e 63 74 69 6f 6e 20 61 64 64 72 65 73 73 0d 0a 09 6d 6f 76 09 61 2c 6d 09 3b 67 65 74   ┆ function address   mov a,m ;get┆
0x0899a0…0899c0             20 69 74 20 74 6f 20 61 63 63 75 6d 75 6c 61 74 6f 72 20 66 6f 72 20 6d 61 73 6b 69 6e 67 0d 0a   ┆ it to accumulator for masking  ┆
0x0899c0…0899e0             09 61 6e 69 09 31 31 31 31 31 30 30 30 62 09 3b 72 65 6d 6f 76 65 20 70 72 65 76 69 6f 75 73 20   ┆ ani 11111000b ;remove previous ┆
0x0899e0…089a00             63 6f 6d 6d 61 6e 64 0d 0a 09 6f 72 61 09 63 09 3b 73 65 74 20 74 6f 20 6e 65 77 20 63 6f 6d 6d   ┆command   ora c ;set to new comm┆
0x089a00…089a20 (36, 1, 7)  74 65 09 09 3b 63 6c 65 61 72 20 72 65 73 75 6c 74 20 62 79 74 65 0d 0a 09 6a 6d 70 09 74 72 79   ┆te  ;clear result byte   jmp try┆
0x089a20…089a40             63 6f 75 6e 74 0d 0a 3b 0d 0a 77 65 72 72 6f 72 3a 09 3b 72 65 74 75 72 6e 20 68 61 72 64 77 61   ┆count  ;  werror: ;return hardwa┆
0x089a40…089a60             72 65 20 6d 61 6c 66 75 6e 63 74 69 6f 6e 20 28 63 72 63 2c 20 74 72 61 63 6b 2c 20 73 65 65 6b   ┆re malfunction (crc, track, seek┆
0x089a60…089a80             2c 20 65 74 63 2e 29 0d 0a 3b 09 74 68 65 20 6d 64 73 20 63 6f 6e 74 72 6f 6c 6c 65 72 20 68 61   ┆, etc.)  ; the mds controller ha┆
0x089a80…089aa0             73 20 72 65 74 75 72 6e 65 64 20 61 20 62 69 74 20 69 6e 20 65 61 63 68 20 70 6f 73 69 74 69 6f   ┆s returned a bit in each positio┆
0x089aa0…089ac0             6e 0d 0a 3b 09 6f 66 20 74 68 65 20 61 63 63 75 6d 75 6c 61 74 6f 72 2c 20 63 6f 72 72 65 73 70   ┆n  ; of the accumulator, corresp┆
0x089ac0…089ae0             6f 6e 64 69 6e 67 20 74 6f 20 74 68 65 20 63 6f 6e 64 69 74 69 6f 6e 73 3a 0d 0a 3b 09 30 09 2d   ┆onding to the conditions:  ; 0 -┆
0x089ae0…089b00             20 64 65 6c 65 74 65 64 20 64 61 74 61 20 28 61 63 63 65 70 74 65 64 20 61 73 20 6f 6b 20 61 62   ┆ deleted data (accepted as ok ab┆
0x089b00…089b20             6f 76 65 29 0d 0a 3b 09 31 09 2d 20 63 72 63 20 65 72 72 6f 72 0d 0a 3b 09 32 09 2d 20 73 65 65   ┆ove)  ; 1 - crc error  ; 2 - see┆
0x089b20…089b40             6b 20 65 72 72 6f 72 0d 0a 3b 09 33 09 2d 20 61 64 64 72 65 73 73 20 65 72 72 6f 72 20 28 68 61   ┆k error  ; 3 - address error (ha┆
0x089b40…089b60             72 64 77 61 72 65 20 6d 61 6c 66 75 6e 63 74 69 6f 6e 29 0d 0a 3b 09 34 09 2d 20 64 61 74 61 20   ┆rdware malfunction)  ; 4 - data ┆
0x089b60…089b80             6f 76 65 72 2f 75 6e 64 65 72 20 66 6c 6f 77 20 28 68 61 72 64 77 61 72 65 20 6d 61 6c 66 75 6e   ┆over/under flow (hardware malfun┆
0x089b80…089ba0             63 74 69 6f 6e 29 0d 0a 3b 09 35 09 2d 20 77 72 69 74 65 20 70 72 6f 74 65 63 74 20 28 74 72 65   ┆ction)  ; 5 - write protect (tre┆
0x089ba0…089bc0             61 74 65 64 20 61 73 20 6e 6f 74 20 72 65 61 64 79 29 0d 0a 3b 09 36 09 2d 20 77 72 69 74 65 20   ┆ated as not ready)  ; 6 - write ┆
0x089bc0…089be0             65 72 72 6f 72 20 28 68 61 72 64 77 61 72 65 20 6d 61 6c 66 75 6e 63 74 69 6f 6e 29 0d 0a 3b 09   ┆error (hardware malfunction)  ; ┆
0x089be0…089c00             37 09 2d 20 6e 6f 74 20 72 65 61 64 79 0d 0a 3b 09 28 61 63 63 75 6d 75 6c 61 74 6f 72 20 62 69   ┆7 - not ready  ; (accumulator bi┆
0x089c00…089c20 (36, 1, 8)  61 73 65 20 6f 66 20 43 43 50 20 69 6e 20 74 65 73 74 20 73 79 73 74 65 6d 0d 0a 09 65 6e 64 69   ┆ase of CCP in test system   endi┆
0x089c20…089c40             66 0d 0a 09 69 66 09 6e 6f 74 20 74 65 73 74 0d 0a 62 69 61 73 09 65 71 75 09 30 30 30 30 68 09   ┆f   if not test  bias equ 0000h ┆
0x089c40…089c60             3b 67 65 6e 65 72 61 74 65 20 72 65 6c 6f 63 61 74 61 62 6c 65 20 63 70 2f 6d 20 73 79 73 74 65   ┆;generate relocatable cp/m syste┆
0x089c60…089c80             6d 0d 0a 09 65 6e 64 69 66 0d 0a 3b 0d 0a 70 61 74 63 68 09 65 71 75 09 31 36 30 30 68 0d 0a 3b   ┆m   endif  ;  patch equ 1600h  ;┆
0x089c80…089ca0             0d 0a 09 6f 72 67 09 70 61 74 63 68 0d 0a 63 70 6d 62 09 65 71 75 09 24 2d 70 61 74 63 68 09 3b   ┆   org patch  cpmb equ $-patch ;┆
0x089ca0…089cc0             62 61 73 65 20 6f 66 20 63 70 6d 20 63 6f 6e 73 6f 6c 65 20 70 72 6f 63 65 73 73 6f 72 0d 0a 62   ┆base of cpm console processor  b┆
0x089cc0…089ce0             64 6f 73 09 65 71 75 09 38 30 36 68 2b 63 70 6d 62 09 3b 62 61 73 69 63 20 64 6f 73 20 28 72 65   ┆dos equ 806h+cpmb ;basic dos (re┆
0x089ce0…089d00             73 69 64 65 6e 74 20 70 6f 72 74 69 6f 6e 29 0d 0a 63 70 6d 6c 09 65 71 75 09 24 2d 63 70 6d 62   ┆sident portion)  cpml equ $-cpmb┆
0x089d00…089d20             09 3b 6c 65 6e 67 74 68 20 28 69 6e 20 62 79 74 65 73 29 20 6f 66 20 63 70 6d 20 73 79 73 74 65   ┆ ;length (in bytes) of cpm syste┆
0x089d20…089d40             6d 0d 0a 6e 73 65 63 74 73 09 65 71 75 09 63 70 6d 6c 2f 31 32 38 09 3b 6e 75 6d 62 65 72 20 6f   ┆m  nsects equ cpml/128 ;number o┆
0x089d40…089d60             66 20 73 65 63 74 6f 72 73 20 74 6f 20 6c 6f 61 64 0d 0a 6f 66 66 73 65 74 09 65 71 75 09 32 09   ┆f sectors to load  offset equ 2 ┆
0x089d60…089d80             3b 6e 75 6d 62 65 72 20 6f 66 20 64 69 73 6b 20 74 72 61 63 6b 73 20 75 73 65 64 20 62 79 20 63   ┆;number of disk tracks used by c┆
0x089d80…089da0             70 2f 6d 0d 0a 63 64 69 73 6b 09 65 71 75 09 30 30 30 34 68 09 3b 61 64 64 72 65 73 73 20 6f 66   ┆p/m  cdisk equ 0004h ;address of┆
0x089da0…089dc0             20 6c 61 73 74 20 6c 6f 67 67 65 64 20 64 69 73 6b 20 6f 6e 20 77 61 72 6d 20 73 74 61 72 74 0d   ┆ last logged disk on warm start ┆
0x089dc0…089de0             0a 62 75 66 66 09 65 71 75 09 30 30 38 30 68 09 3b 64 65 66 61 75 6c 74 20 62 75 66 66 65 72 20   ┆ buff equ 0080h ;default buffer ┆
0x089de0…089e00             61 64 64 72 65 73 73 0d 0a 72 65 74 72 79 09 65 71 75 09 31 30 09 3b 6d 61 78 20 72 65 74 72 69   ┆address  retry equ 10 ;max retri┆
0x089e00…089e20 (36, 1, 9)  6f 0d 0a 3b 0d 0a 72 65 61 64 65 72 3a 09 3b 72 65 61 64 65 72 20 63 68 61 72 61 63 74 65 72 20   ┆o  ;  reader: ;reader character ┆
0x089e20…089e40             69 6e 20 74 6f 20 72 65 67 2d 61 0d 0a 3b 09 28 65 78 61 63 74 6c 79 20 74 68 65 20 73 61 6d 65   ┆in to reg-a  ; (exactly the same┆
0x089e40…089e60             20 61 73 20 6d 64 73 20 63 61 6c 6c 29 0d 0a 09 6a 6d 70 09 72 69 0d 0a 3b 0d 0a 68 6f 6d 65 3a   ┆ as mds call)   jmp ri  ;  home:┆
0x089e60…089e80             09 3b 6d 6f 76 65 20 74 6f 20 68 6f 6d 65 20 70 6f 73 69 74 69 6f 6e 0d 0a 3b 09 74 72 65 61 74   ┆ ;move to home position  ; treat┆
0x089e80…089ea0             20 61 73 20 74 72 61 63 6b 20 30 30 20 73 65 65 6b 0d 0a 09 6d 76 69 09 63 2c 30 0d 0a 09 6a 6d   ┆ as track 00 seek   mvi c,0   jm┆
0x089ea0…089ec0             70 09 73 65 74 74 72 6b 0d 0a 3b 0d 0a 73 65 6c 64 73 6b 3a 09 3b 73 65 6c 65 63 74 20 64 69 73   ┆p settrk  ;  seldsk: ;select dis┆
0x089ec0…089ee0             6b 20 67 69 76 65 6e 20 62 79 20 72 65 67 69 73 74 65 72 20 63 0d 0a 09 6c 78 69 09 68 2c 30 30   ┆k given by register c   lxi h,00┆
0x089ee0…089f00             30 30 68 09 3b 72 65 74 75 72 6e 20 30 30 30 30 20 69 66 20 65 72 72 6f 72 0d 0a 09 6d 6f 76 09   ┆00h ;return 0000 if error   mov ┆
0x089f00…089f20             61 2c 63 0d 0a 09 63 70 69 09 6e 64 69 73 6b 73 09 3b 74 6f 6f 20 6c 61 72 67 65 3f 0d 0a 09 72   ┆a,c   cpi ndisks ;too large?   r┆
0x089f20…089f40             6e 63 09 09 3b 6c 65 61 76 65 20 48 4c 20 3d 20 30 30 30 30 0d 0a 3b 0d 0a 09 61 6e 69 09 31 30   ┆nc  ;leave HL = 0000  ;   ani 10┆
0x089f40…089f60             62 09 3b 30 30 20 30 30 20 66 6f 72 20 64 72 69 76 65 20 30 2c 31 20 61 6e 64 20 31 30 20 31 30   ┆b ;00 00 for drive 0,1 and 10 10┆
0x089f60…089f80             20 66 6f 72 20 64 72 69 76 65 20 32 2c 33 0d 0a 09 73 74 61 09 64 62 61 6e 6b 09 3b 74 6f 20 73   ┆ for drive 2,3   sta dbank ;to s┆
0x089f80…089fa0             65 6c 65 63 74 20 64 72 69 76 65 20 62 61 6e 6b 0d 0a 09 6d 6f 76 09 61 2c 63 09 3b 30 30 2c 20   ┆elect drive bank   mov a,c ;00, ┆
0x089fa0…089fc0             30 31 2c 20 31 30 2c 20 31 31 0d 0a 09 61 6e 69 09 31 62 09 3b 6d 64 73 20 68 61 73 20 30 2c 31   ┆01, 10, 11   ani 1b ;mds has 0,1┆
0x089fc0…089fe0             20 61 74 20 37 38 2c 20 32 2c 33 20 61 74 20 38 38 0d 0a 09 6f 72 61 09 61 09 3b 72 65 73 75 6c   ┆ at 78, 2,3 at 88   ora a ;resul┆
0x089fe0…08a000             74 20 30 30 3f 0d 0a 09 6a 7a 09 73 65 74 64 72 69 76 65 0d 0a 09 6d 76 69 09 61 2c 30 30 31 31   ┆t 00?   jz setdrive   mvi a,0011┆
0x08a000…08a020 (36, 1, 10) 61 6e 64 0d 0a 09 6d 6f 76 09 6d 2c 61 09 3b 72 65 70 6c 61 63 65 64 20 69 6e 20 69 6f 70 62 0d   ┆and   mov m,a ;replaced in iopb ┆
0x08a020…08a040             0a 3b 09 74 68 65 20 6d 64 73 2d 38 30 30 20 63 6f 6e 74 72 6f 6c 6c 65 72 20 72 65 71 75 69 72   ┆ ; the mds-800 controller requir┆
0x08a040…08a060             65 73 20 64 69 73 6b 20 62 61 6e 6b 20 62 69 74 20 69 6e 20 73 65 63 74 6f 72 20 62 79 74 65 0d   ┆es disk bank bit in sector byte ┆
0x08a060…08a080             0a 3b 09 6d 61 73 6b 20 74 68 65 20 62 69 74 20 66 72 6f 6d 20 74 68 65 20 63 75 72 72 65 6e 74   ┆ ; mask the bit from the current┆
0x08a080…08a0a0             20 69 2f 6f 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 61 6e 69 09 30 30 31 30 30 30 30 30 62 09 3b 6d   ┆ i/o function   ani 00100000b ;m┆
0x08a0a0…08a0c0             61 73 6b 20 74 68 65 20 64 69 73 6b 20 73 65 6c 65 63 74 20 62 69 74 0d 0a 09 6c 78 69 09 68 2c   ┆ask the disk select bit   lxi h,┆
0x08a0c0…08a0e0             69 6f 73 09 09 3b 61 64 64 72 65 73 73 20 74 68 65 20 73 65 63 74 6f 72 20 73 65 6c 65 63 74 20   ┆ios  ;address the sector select ┆
0x08a0e0…08a100             62 79 74 65 0d 0a 09 6f 72 61 09 6d 09 09 3b 73 65 6c 65 63 74 20 70 72 6f 70 65 72 20 64 69 73   ┆byte   ora m  ;select proper dis┆
0x08a100…08a120             6b 20 62 61 6e 6b 0d 0a 09 6d 6f 76 09 6d 2c 61 09 09 3b 73 65 74 20 64 69 73 6b 20 73 65 6c 65   ┆k bank   mov m,a  ;set disk sele┆
0x08a120…08a140             63 74 20 62 69 74 20 6f 6e 2f 6f 66 66 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 77 61 69 74 69 6f 3a 0d   ┆ct bit on/off   ret  ;  waitio: ┆
0x08a140…08a160             0a 09 6d 76 69 09 63 2c 72 65 74 72 79 09 3b 6d 61 78 20 72 65 74 72 69 65 73 20 62 65 66 6f 72   ┆  mvi c,retry ;max retries befor┆
0x08a160…08a180             65 20 70 65 72 6d 20 65 72 72 6f 72 0d 0a 72 65 77 61 69 74 3a 0d 0a 3b 09 73 74 61 72 74 20 74   ┆e perm error  rewait:  ; start t┆
0x08a180…08a1a0             68 65 20 69 2f 6f 20 66 75 6e 63 74 69 6f 6e 20 61 6e 64 20 77 61 69 74 20 66 6f 72 20 63 6f 6d   ┆he i/o function and wait for com┆
0x08a1a0…08a1c0             70 6c 65 74 69 6f 6e 0d 0a 09 63 61 6c 6c 09 69 6e 74 79 70 65 09 3b 69 6e 20 72 74 79 70 65 0d   ┆pletion   call intype ;in rtype ┆
0x08a1c0…08a1e0             0a 09 63 61 6c 6c 09 69 6e 62 79 74 65 09 3b 63 6c 65 61 72 73 20 74 68 65 20 63 6f 6e 74 72 6f   ┆  call inbyte ;clears the contro┆
0x08a1e0…08a200             6c 6c 65 72 0d 0a 3b 0d 0a 09 6c 64 61 09 64 62 61 6e 6b 09 09 3b 73 65 74 20 62 61 6e 6b 20 66   ┆ller  ;   lda dbank  ;set bank f┆
0x08a200…08a220 (36, 1, 11) 74 73 20 61 72 65 20 6e 75 6d 62 65 72 65 64 20 37 20 36 20 35 20 34 20 33 20 32 20 31 20 30 29   ┆ts are numbered 7 6 5 4 3 2 1 0)┆
0x08a220…08a240             0d 0a 3b 0d 0a 3b 09 69 74 20 6d 61 79 20 62 65 20 75 73 65 66 75 6c 20 74 6f 20 66 69 6c 74 65   ┆  ;  ; it may be useful to filte┆
0x08a240…08a260             72 20 6f 75 74 20 74 68 65 20 76 61 72 69 6f 75 73 20 63 6f 6e 64 69 74 69 6f 6e 73 2c 0d 0a 3b   ┆r out the various conditions,  ;┆
0x08a260…08a280             09 62 75 74 20 77 65 20 77 69 6c 6c 20 67 65 74 20 61 20 70 65 72 6d 61 6e 65 6e 74 20 65 72 72   ┆ but we will get a permanent err┆
0x08a280…08a2a0             6f 72 20 6d 65 73 73 61 67 65 20 69 66 20 69 74 20 69 73 20 6e 6f 74 0d 0a 3b 09 72 65 63 6f 76   ┆or message if it is not  ; recov┆
0x08a2a0…08a2c0             65 72 61 62 6c 65 2e 20 20 69 6e 20 61 6e 79 20 63 61 73 65 2c 20 74 68 65 20 6e 6f 74 20 72 65   ┆erable.  in any case, the not re┆
0x08a2c0…08a2e0             61 64 79 20 63 6f 6e 64 69 74 69 6f 6e 20 69 73 0d 0a 3b 09 74 72 65 61 74 65 64 20 61 73 20 61   ┆ady condition is  ; treated as a┆
0x08a2e0…08a300             20 73 65 70 61 72 61 74 65 20 63 6f 6e 64 69 74 69 6f 6e 20 66 6f 72 20 6c 61 74 65 72 20 69 6d   ┆ separate condition for later im┆
0x08a300…08a320             70 72 6f 76 65 6d 65 6e 74 0d 0a 74 72 79 63 6f 75 6e 74 3a 0d 0a 3b 09 72 65 67 69 73 74 65 72   ┆provement  trycount:  ; register┆
0x08a320…08a340             20 63 20 63 6f 6e 74 61 69 6e 73 20 72 65 74 72 79 20 63 6f 75 6e 74 2c 20 64 65 63 72 65 6d 65   ┆ c contains retry count, decreme┆
0x08a340…08a360             6e 74 20 27 74 69 6c 20 7a 65 72 6f 0d 0a 09 64 63 72 09 63 0d 0a 09 6a 6e 7a 09 72 65 77 61 69   ┆nt 'til zero   dcr c   jnz rewai┆
0x08a360…08a380             74 09 3b 66 6f 72 20 61 6e 6f 74 68 65 72 20 74 72 79 0d 0a 3b 0d 0a 3b 09 63 61 6e 6e 6f 74 20   ┆t ;for another try  ;  ; cannot ┆
0x08a380…08a3a0             72 65 63 6f 76 65 72 20 66 72 6f 6d 20 65 72 72 6f 72 0d 0a 09 6d 76 69 09 61 2c 31 09 3b 65 72   ┆recover from error   mvi a,1 ;er┆
0x08a3a0…08a3c0             72 6f 72 20 63 6f 64 65 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 3b 09 69 6e 74 79 70 65 2c 20 69 6e 62   ┆ror code   ret  ;  ; intype, inb┆
0x08a3c0…08a3e0             79 74 65 2c 20 69 6e 73 74 61 74 20 72 65 61 64 20 64 72 69 76 65 20 62 61 6e 6b 20 30 30 20 6f   ┆yte, instat read drive bank 00 o┆
0x08a3e0…08a400             72 20 31 30 0d 0a 69 6e 74 79 70 65 3a 09 6c 64 61 09 64 62 61 6e 6b 0d 0a 09 6f 72 61 09 61 0d   ┆r 10  intype: lda dbank   ora a ┆
0x08a400…08a420 (36, 1, 12) 65 73 20 6f 6e 20 64 69 73 6b 20 69 2f 6f 20 62 65 66 6f 72 65 20 65 72 72 6f 72 0d 0a 3b 0d 0a   ┆es on disk i/o before error  ;  ┆
0x08a420…08a440             3b 09 70 65 72 66 6f 72 6d 20 66 6f 6c 6c 6f 77 69 6e 67 20 66 75 6e 63 74 69 6f 6e 73 0d 0a 3b   ┆; perform following functions  ;┆
0x08a440…08a460             09 62 6f 6f 74 09 63 6f 6c 64 20 73 74 61 72 74 0d 0a 3b 09 77 62 6f 6f 74 09 77 61 72 6d 20 73   ┆ boot cold start  ; wboot warm s┆
0x08a460…08a480             74 61 72 74 20 28 73 61 76 65 20 69 2f 6f 20 62 79 74 65 29 0d 0a 3b 09 28 62 6f 6f 74 20 61 6e   ┆tart (save i/o byte)  ; (boot an┆
0x08a480…08a4a0             64 20 77 62 6f 6f 74 20 61 72 65 20 74 68 65 20 73 61 6d 65 20 66 6f 72 20 6d 64 73 29 0d 0a 3b   ┆d wboot are the same for mds)  ;┆
0x08a4a0…08a4c0             09 63 6f 6e 73 74 09 63 6f 6e 73 6f 6c 65 20 73 74 61 74 75 73 0d 0a 3b 09 09 72 65 67 2d 61 20   ┆ const console status  ;  reg-a ┆
0x08a4c0…08a4e0             3d 20 30 30 20 69 66 20 6e 6f 20 63 68 61 72 61 63 74 65 72 20 72 65 61 64 79 0d 0a 3b 09 09 72   ┆= 00 if no character ready  ;  r┆
0x08a4e0…08a500             65 67 2d 61 20 3d 20 66 66 20 69 66 20 63 68 61 72 61 63 74 65 72 20 72 65 61 64 79 0d 0a 3b 09   ┆eg-a = ff if character ready  ; ┆
0x08a500…08a520             63 6f 6e 69 6e 09 63 6f 6e 73 6f 6c 65 20 63 68 61 72 61 63 74 65 72 20 69 6e 20 28 72 65 73 75   ┆conin console character in (resu┆
0x08a520…08a540             6c 74 20 69 6e 20 72 65 67 2d 61 29 0d 0a 3b 09 63 6f 6e 6f 75 74 09 63 6f 6e 73 6f 6c 65 20 63   ┆lt in reg-a)  ; conout console c┆
0x08a540…08a560             68 61 72 61 63 74 65 72 20 6f 75 74 20 28 63 68 61 72 20 69 6e 20 72 65 67 2d 63 29 0d 0a 3b 09   ┆haracter out (char in reg-c)  ; ┆
0x08a560…08a580             6c 69 73 74 09 6c 69 73 74 20 6f 75 74 20 28 63 68 61 72 20 69 6e 20 72 65 67 2d 63 29 0d 0a 3b   ┆list list out (char in reg-c)  ;┆
0x08a580…08a5a0             09 70 75 6e 63 68 09 70 75 6e 63 68 20 6f 75 74 20 28 63 68 61 72 20 69 6e 20 72 65 67 2d 63 29   ┆ punch punch out (char in reg-c)┆
0x08a5a0…08a5c0             0d 0a 3b 09 72 65 61 64 65 72 09 70 61 70 65 72 20 74 61 70 65 20 72 65 61 64 65 72 20 69 6e 20   ┆  ; reader paper tape reader in ┆
0x08a5c0…08a5e0             28 72 65 73 75 6c 74 20 74 6f 20 72 65 67 2d 61 29 0d 0a 3b 09 68 6f 6d 65 09 6d 6f 76 65 20 74   ┆(result to reg-a)  ; home move t┆
0x08a5e0…08a600             6f 20 74 72 61 63 6b 20 30 30 0d 0a 3b 0d 0a 3b 09 28 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20   ┆o track 00  ;  ; (the following ┆
0x08a600…08a620 (36, 1, 13) 30 30 30 30 62 09 3b 73 65 6c 65 63 74 73 20 64 72 69 76 65 20 31 20 69 6e 20 62 61 6e 6b 0d 0a   ┆0000b ;selects drive 1 in bank  ┆
0x08a620…08a640             73 65 74 64 72 69 76 65 3a 0d 0a 09 6d 6f 76 09 62 2c 61 09 3b 73 61 76 65 20 74 68 65 20 66 75   ┆setdrive:   mov b,a ;save the fu┆
0x08a640…08a660             6e 63 74 69 6f 6e 0d 0a 09 6c 78 69 09 68 2c 69 6f 66 09 3b 69 6f 20 66 75 6e 63 74 69 6f 6e 0d   ┆nction   lxi h,iof ;io function ┆
0x08a660…08a680             0a 09 6d 6f 76 09 61 2c 6d 0d 0a 09 61 6e 69 09 31 31 30 30 31 31 31 31 62 09 3b 6d 61 73 6b 20   ┆  mov a,m   ani 11001111b ;mask ┆
0x08a680…08a6a0             6f 75 74 20 64 69 73 6b 20 6e 75 6d 62 65 72 0d 0a 09 6f 72 61 09 62 09 3b 6d 61 73 6b 20 69 6e   ┆out disk number   ora b ;mask in┆
0x08a6a0…08a6c0             20 6e 65 77 20 64 69 73 6b 20 6e 75 6d 62 65 72 0d 0a 09 6d 6f 76 09 6d 2c 61 09 3b 73 61 76 65   ┆ new disk number   mov m,a ;save┆
0x08a6c0…08a6e0             20 69 74 20 69 6e 20 69 6f 70 62 0d 0a 09 6d 6f 76 09 6c 2c 63 0d 0a 09 6d 76 69 09 68 2c 30 09   ┆ it in iopb   mov l,c   mvi h,0 ┆
0x08a6e0…08a700             3b 48 4c 3d 64 69 73 6b 20 6e 75 6d 62 65 72 0d 0a 09 64 61 64 09 68 09 3b 2a 32 0d 0a 09 64 61   ┆;HL=disk number   dad h ;*2   da┆
0x08a700…08a720             64 09 68 09 3b 2a 34 0d 0a 09 64 61 64 09 68 09 3b 2a 38 0d 0a 09 64 61 64 09 68 09 3b 2a 31 36   ┆d h ;*4   dad h ;*8   dad h ;*16┆
0x08a720…08a740             0d 0a 09 6c 78 69 09 64 2c 64 70 62 61 73 65 0d 0a 09 64 61 64 09 64 09 3b 48 4c 3d 64 69 73 6b   ┆   lxi d,dpbase   dad d ;HL=disk┆
0x08a740…08a760             20 68 65 61 64 65 72 20 74 61 62 6c 65 20 61 64 64 72 65 73 73 0d 0a 09 72 65 74 0d 0a 3b 0d 0a   ┆ header table address   ret  ;  ┆
0x08a760…08a780             3b 0d 0a 73 65 74 74 72 6b 3a 09 3b 73 65 74 20 74 72 61 63 6b 20 61 64 64 72 65 73 73 20 67 69   ┆;  settrk: ;set track address gi┆
0x08a780…08a7a0             76 65 6e 20 62 79 20 63 0d 0a 09 6c 78 69 09 68 2c 69 6f 74 0d 0a 09 6d 6f 76 09 6d 2c 63 0d 0a   ┆ven by c   lxi h,iot   mov m,c  ┆
0x08a7a0…08a7c0             09 72 65 74 0d 0a 3b 0d 0a 73 65 74 73 65 63 3a 09 3b 73 65 74 20 73 65 63 74 6f 72 20 6e 75 6d   ┆ ret  ;  setsec: ;set sector num┆
0x08a7c0…08a7e0             62 65 72 20 67 69 76 65 6e 20 62 79 20 63 0d 0a 09 6c 78 69 09 68 2c 69 6f 73 0d 0a 09 6d 6f 76   ┆ber given by c   lxi h,ios   mov┆
0x08a7e0…08a800             09 6d 2c 63 0d 0a 09 72 65 74 0d 0a 73 65 63 74 72 61 6e 3a 0d 0a 09 09 3b 74 72 61 6e 73 6c 61   ┆ m,c   ret  sectran:    ;transla┆
0x08a800…08a820 (36, 1, 14) 6c 61 67 73 0d 0a 09 6f 72 61 09 61 09 09 3b 7a 65 72 6f 20 69 66 20 64 72 69 76 65 20 30 2c 31   ┆lags   ora a  ;zero if drive 0,1┆
0x08a820…08a840             20 61 6e 64 20 6e 7a 20 69 66 20 32 2c 33 0d 0a 09 6d 76 69 09 61 2c 69 6f 70 62 20 61 6e 64 20   ┆ and nz if 2,3   mvi a,iopb and ┆
0x08a840…08a860             30 66 66 68 09 3b 6c 6f 77 20 61 64 64 72 65 73 73 20 66 6f 72 20 69 6f 70 62 0d 0a 09 6d 76 69   ┆0ffh ;low address for iopb   mvi┆
0x08a860…08a880             09 62 2c 69 6f 70 62 20 73 68 72 20 38 09 3b 68 69 67 68 20 61 64 64 72 65 73 73 20 66 6f 72 20   ┆ b,iopb shr 8 ;high address for ┆
0x08a880…08a8a0             69 6f 70 62 0d 0a 09 6a 6e 7a 09 69 6f 64 72 31 09 3b 64 72 69 76 65 20 62 61 6e 6b 20 31 3f 0d   ┆iopb   jnz iodr1 ;drive bank 1? ┆
0x08a8a0…08a8c0             0a 09 6f 75 74 09 69 6c 6f 77 09 09 3b 6c 6f 77 20 61 64 64 72 65 73 73 20 74 6f 20 63 6f 6e 74   ┆  out ilow  ;low address to cont┆
0x08a8c0…08a8e0             72 6f 6c 6c 65 72 0d 0a 09 6d 6f 76 09 61 2c 62 0d 0a 09 6f 75 74 09 69 68 69 67 68 09 3b 68 69   ┆roller   mov a,b   out ihigh ;hi┆
0x08a8e0…08a900             67 68 20 61 64 64 72 65 73 73 0d 0a 09 6a 6d 70 09 77 61 69 74 30 09 09 3b 74 6f 20 77 61 69 74   ┆gh address   jmp wait0  ;to wait┆
0x08a900…08a920             20 66 6f 72 20 63 6f 6d 70 6c 65 74 65 0d 0a 3b 0d 0a 69 6f 64 72 31 3a 09 3b 64 72 69 76 65 20   ┆ for complete  ;  iodr1: ;drive ┆
0x08a920…08a940             62 61 6e 6b 20 31 0d 0a 09 6f 75 74 09 69 6c 6f 77 2b 31 30 68 09 3b 38 38 20 66 6f 72 20 64 72   ┆bank 1   out ilow+10h ;88 for dr┆
0x08a940…08a960             69 76 65 20 62 61 6e 6b 20 31 30 0d 0a 09 6d 6f 76 09 61 2c 62 0d 0a 09 6f 75 74 09 69 68 69 67   ┆ive bank 10   mov a,b   out ihig┆
0x08a960…08a980             68 2b 31 30 68 0d 0a 3b 0d 0a 77 61 69 74 30 3a 09 63 61 6c 6c 09 69 6e 73 74 61 74 09 09 3b 77   ┆h+10h  ;  wait0: call instat  ;w┆
0x08a980…08a9a0             61 69 74 20 66 6f 72 20 63 6f 6d 70 6c 65 74 69 6f 6e 0d 0a 09 61 6e 69 09 69 6f 72 64 79 09 09   ┆ait for completion   ani iordy  ┆
0x08a9a0…08a9c0             3b 72 65 61 64 79 3f 0d 0a 09 6a 7a 09 77 61 69 74 30 0d 0a 3b 0d 0a 3b 09 63 68 65 63 6b 20 69   ┆;ready?   jz wait0  ;  ; check i┆
0x08a9c0…08a9e0             6f 20 63 6f 6d 70 6c 65 74 69 6f 6e 20 6f 6b 0d 0a 09 63 61 6c 6c 09 69 6e 74 79 70 65 09 09 3b   ┆o completion ok   call intype  ;┆
0x08a9e0…08aa00             6d 75 73 74 20 62 65 20 69 6f 20 63 6f 6d 70 6c 65 74 65 20 28 30 30 29 20 75 6e 6c 69 6e 6b 65   ┆must be io complete (00) unlinke┆
0x08aa00…08aa20 (36, 1, 15) 0a 09 6a 6e 7a 09 69 6e 74 79 70 31 09 3b 73 6b 69 70 20 74 6f 20 62 61 6e 6b 20 31 30 0d 0a 09   ┆  jnz intyp1 ;skip to bank 10   ┆
0x08aa20…08aa40             69 6e 09 72 74 79 70 65 0d 0a 09 72 65 74 0d 0a 69 6e 74 79 70 31 3a 09 69 6e 09 72 74 79 70 65   ┆in rtype   ret  intyp1: in rtype┆
0x08aa40…08aa60             2b 31 30 68 09 3b 37 38 20 66 6f 72 20 30 2c 31 20 20 38 38 20 66 6f 72 20 32 2c 33 0d 0a 09 72   ┆+10h ;78 for 0,1  88 for 2,3   r┆
0x08aa60…08aa80             65 74 0d 0a 3b 0d 0a 69 6e 62 79 74 65 3a 09 6c 64 61 09 64 62 61 6e 6b 0d 0a 09 6f 72 61 09 61   ┆et  ;  inbyte: lda dbank   ora a┆
0x08aa80…08aaa0             0d 0a 09 6a 6e 7a 09 69 6e 62 79 74 31 0d 0a 09 69 6e 09 72 62 79 74 65 0d 0a 09 72 65 74 0d 0a   ┆   jnz inbyt1   in rbyte   ret  ┆
0x08aaa0…08aac0             69 6e 62 79 74 31 3a 09 69 6e 09 72 62 79 74 65 2b 31 30 68 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 69   ┆inbyt1: in rbyte+10h   ret  ;  i┆
0x08aac0…08aae0             6e 73 74 61 74 3a 09 6c 64 61 09 64 62 61 6e 6b 0d 0a 09 6f 72 61 09 61 0d 0a 09 6a 6e 7a 09 69   ┆nstat: lda dbank   ora a   jnz i┆
0x08aae0…08ab00             6e 73 74 61 31 0d 0a 09 69 6e 09 64 73 74 61 74 0d 0a 09 72 65 74 0d 0a 69 6e 73 74 61 31 3a 09   ┆nsta1   in dstat   ret  insta1: ┆
0x08ab00…08ab20             69 6e 09 64 73 74 61 74 2b 31 30 68 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 3b 0d 0a 3b 0d 0a 3b 09 64   ┆in dstat+10h   ret  ;  ;  ;  ; d┆
0x08ab20…08ab40             61 74 61 20 61 72 65 61 73 20 28 6d 75 73 74 20 62 65 20 69 6e 20 72 61 6d 29 0d 0a 64 62 61 6e   ┆ata areas (must be in ram)  dban┆
0x08ab40…08ab60             6b 3a 09 64 62 09 30 09 3b 64 69 73 6b 20 62 61 6e 6b 20 30 30 20 69 66 20 64 72 69 76 65 20 30   ┆k: db 0 ;disk bank 00 if drive 0┆
0x08ab60…08ab80             2c 31 0d 0a 09 09 09 3b 09 20 20 20 31 30 20 69 66 20 64 72 69 76 65 20 32 2c 33 0d 0a 69 6f 70   ┆,1     ;    10 if drive 2,3  iop┆
0x08ab80…08aba0             62 3a 09 3b 69 6f 20 70 61 72 61 6d 65 74 65 72 20 62 6c 6f 63 6b 0d 0a 09 64 62 09 38 30 68 09   ┆b: ;io parameter block   db 80h ┆
0x08aba0…08abc0             3b 6e 6f 72 6d 61 6c 20 69 2f 6f 20 6f 70 65 72 61 74 69 6f 6e 0d 0a 69 6f 66 3a 09 64 62 09 72   ┆;normal i/o operation  iof: db r┆
0x08abc0…08abe0             65 61 64 66 09 3b 69 6f 20 66 75 6e 63 74 69 6f 6e 2c 20 69 6e 69 74 69 61 6c 20 72 65 61 64 0d   ┆eadf ;io function, initial read ┆
0x08abe0…08ac00             0a 69 6f 6e 3a 09 64 62 09 31 09 3b 6e 75 6d 62 65 72 20 6f 66 20 73 65 63 74 6f 72 73 20 74 6f   ┆ ion: db 1 ;number of sectors to┆
0x08ac00…08ac20 (37, 0, 1)  63 61 6c 6c 73 20 73 65 74 2d 75 70 20 74 68 65 20 69 6f 20 70 61 72 61 6d 65 74 65 72 20 62 6c   ┆calls set-up the io parameter bl┆
0x08ac20…08ac40             6f 63 6b 20 66 6f 72 20 74 68 65 0d 0a 3b 09 6d 64 73 2c 20 77 68 69 63 68 20 69 73 20 75 73 65   ┆ock for the  ; mds, which is use┆
0x08ac40…08ac60             64 20 74 6f 20 70 65 72 66 6f 72 6d 20 73 75 62 73 65 71 75 65 6e 74 20 72 65 61 64 73 20 61 6e   ┆d to perform subsequent reads an┆
0x08ac60…08ac80             64 20 77 72 69 74 65 73 29 0d 0a 3b 09 73 65 6c 64 73 6b 09 73 65 6c 65 63 74 20 64 69 73 6b 20   ┆d writes)  ; seldsk select disk ┆
0x08ac80…08aca0             67 69 76 65 6e 20 62 79 20 72 65 67 2d 63 20 28 30 2c 31 2c 32 2e 2e 2e 29 0d 0a 3b 09 73 65 74   ┆given by reg-c (0,1,2...)  ; set┆
0x08aca0…08acc0             74 72 6b 09 73 65 74 20 74 72 61 63 6b 20 61 64 64 72 65 73 73 20 28 30 2c 2e 2e 2e 37 36 29 20   ┆trk set track address (0,...76) ┆
0x08acc0…08ace0             66 6f 72 20 73 75 62 73 65 71 75 65 6e 74 20 72 65 61 64 2f 77 72 69 74 65 0d 0a 3b 09 73 65 74   ┆for subsequent read/write  ; set┆
0x08ace0…08ad00             73 65 63 09 73 65 74 20 73 65 63 74 6f 72 20 61 64 64 72 65 73 73 20 28 31 2c 2e 2e 2e 2c 32 36   ┆sec set sector address (1,...,26┆
0x08ad00…08ad20             29 20 66 6f 72 20 73 75 62 73 65 71 75 65 6e 74 20 72 65 61 64 2f 77 72 69 74 65 0d 0a 3b 09 73   ┆) for subsequent read/write  ; s┆
0x08ad20…08ad40             65 74 64 6d 61 09 73 65 74 20 73 75 62 73 65 71 75 65 6e 74 20 64 6d 61 20 61 64 64 72 65 73 73   ┆etdma set subsequent dma address┆
0x08ad40…08ad60             20 28 69 6e 69 74 69 61 6c 6c 79 20 38 30 68 29 0d 0a 3b 0d 0a 3b 09 28 72 65 61 64 20 61 6e 64   ┆ (initially 80h)  ;  ; (read and┆
0x08ad60…08ad80             20 77 72 69 74 65 20 61 73 73 75 6d 65 20 70 72 65 76 69 6f 75 73 20 63 61 6c 6c 73 20 74 6f 20   ┆ write assume previous calls to ┆
0x08ad80…08ada0             73 65 74 20 75 70 20 74 68 65 20 69 6f 20 70 61 72 61 6d 65 74 65 72 73 29 0d 0a 3b 09 72 65 61   ┆set up the io parameters)  ; rea┆
0x08ada0…08adc0             64 09 72 65 61 64 20 74 72 61 63 6b 2f 73 65 63 74 6f 72 20 74 6f 20 70 72 65 73 65 74 20 64 6d   ┆d read track/sector to preset dm┆
0x08adc0…08ade0             61 20 61 64 64 72 65 73 73 0d 0a 3b 09 77 72 69 74 65 09 77 72 69 74 65 20 74 72 61 63 6b 2f 73   ┆a address  ; write write track/s┆
0x08ade0…08ae00             65 63 74 6f 72 20 66 72 6f 6d 20 70 72 65 73 65 74 20 64 6d 61 20 61 64 64 72 65 73 73 0d 0a 3b   ┆ector from preset dma address  ;┆
0x08ae00…08ae20 (37, 0, 2)  6e 70 75 74 29 0d 0a 72 62 79 74 65 09 65 71 75 09 62 61 73 65 2b 33 09 3b 72 65 73 75 6c 74 20   ┆nput)  rbyte equ base+3 ;result ┆
0x08ae20…08ae40             62 79 74 65 20 28 69 6e 70 75 74 29 0d 0a 3b 0d 0a 69 6c 6f 77 09 65 71 75 09 62 61 73 65 2b 31   ┆byte (input)  ;  ilow equ base+1┆
0x08ae40…08ae60             09 3b 69 6f 70 62 20 6c 6f 77 20 61 64 64 72 65 73 73 20 28 6f 75 74 70 75 74 29 0d 0a 69 68 69   ┆ ;iopb low address (output)  ihi┆
0x08ae60…08ae80             67 68 09 65 71 75 09 62 61 73 65 2b 32 09 3b 69 6f 70 62 20 68 69 67 68 20 61 64 64 72 65 73 73   ┆gh equ base+2 ;iopb high address┆
0x08ae80…08aea0             20 28 6f 75 74 70 75 74 29 0d 0a 3b 0d 0a 72 65 61 64 66 09 65 71 75 09 34 68 09 3b 72 65 61 64   ┆ (output)  ;  readf equ 4h ;read┆
0x08aea0…08aec0             20 66 75 6e 63 74 69 6f 6e 0d 0a 77 72 69 74 66 09 65 71 75 09 36 68 09 3b 77 72 69 74 65 20 66   ┆ function  writf equ 6h ;write f┆
0x08aec0…08aee0             75 6e 63 74 69 6f 6e 0d 0a 72 65 63 61 6c 09 65 71 75 09 33 68 09 3b 72 65 63 61 6c 69 62 72 61   ┆unction  recal equ 3h ;recalibra┆
0x08aee0…08af00             74 65 20 64 72 69 76 65 0d 0a 69 6f 72 64 79 09 65 71 75 09 34 68 09 3b 69 2f 6f 20 66 69 6e 69   ┆te drive  iordy equ 4h ;i/o fini┆
0x08af00…08af20             73 68 65 64 20 6d 61 73 6b 0d 0a 63 72 09 65 71 75 09 30 64 68 09 3b 63 61 72 72 69 61 67 65 20   ┆shed mask  cr equ 0dh ;carriage ┆
0x08af20…08af40             72 65 74 75 72 6e 0d 0a 6c 66 09 65 71 75 09 30 61 68 09 3b 6c 69 6e 65 20 66 65 65 64 0d 0a 3b   ┆return  lf equ 0ah ;line feed  ;┆
0x08af40…08af60             0d 0a 73 69 67 6e 6f 6e 3a 09 3b 73 69 67 6e 6f 6e 20 6d 65 73 73 61 67 65 3a 20 78 78 6b 20 63   ┆  signon: ;signon message: xxk c┆
0x08af60…08af80             70 2f 6d 20 76 65 72 73 20 79 2e 79 0d 0a 09 64 62 09 63 72 2c 6c 66 2c 6c 66 0d 0a 09 69 66 09   ┆p/m vers y.y   db cr,lf,lf   if ┆
0x08af80…08afa0             74 65 73 74 0d 0a 09 64 62 09 27 33 32 27 09 3b 33 32 6b 20 65 78 61 6d 70 6c 65 20 62 69 6f 73   ┆test   db '32' ;32k example bios┆
0x08afa0…08afc0             0d 0a 09 65 6e 64 69 66 0d 0a 09 69 66 09 6e 6f 74 20 74 65 73 74 0d 0a 09 64 62 09 27 30 30 27   ┆   endif   if not test   db '00'┆
0x08afc0…08afe0             09 3b 6d 65 6d 6f 72 79 20 73 69 7a 65 20 66 69 6c 6c 65 64 20 62 79 20 72 65 6c 6f 63 61 74 6f   ┆ ;memory size filled by relocato┆
0x08afe0…08b000             72 0d 0a 09 65 6e 64 69 66 0d 0a 09 64 62 09 27 6b 20 43 50 2f 4d 20 76 65 72 73 20 27 0d 0a 09   ┆r   endif   db 'k CP/M vers '   ┆
0x08b000…08b020 (37, 0, 3)  72 65 73 73 0d 0a 67 6f 63 70 6d 3a 09 3b 28 65 6e 74 65 72 20 68 65 72 65 20 66 72 6f 6d 20 63   ┆ress  gocpm: ;(enter here from c┆
0x08b020…08b040             6f 6c 64 20 73 74 61 72 74 20 62 6f 6f 74 29 0d 0a 3b 09 65 6e 61 62 6c 65 20 72 73 74 30 20 61   ┆old start boot)  ; enable rst0 a┆
0x08b040…08b060             6e 64 20 72 73 74 37 0d 0a 09 64 69 0d 0a 09 6d 76 69 09 61 2c 31 32 68 09 3b 69 6e 69 74 69 61   ┆nd rst7   di   mvi a,12h ;initia┆
0x08b060…08b080             6c 69 7a 65 20 63 6f 6d 6d 61 6e 64 0d 0a 09 6f 75 74 09 72 65 76 72 74 0d 0a 09 78 72 61 09 61   ┆lize command   out revrt   xra a┆
0x08b080…08b0a0             0d 0a 09 6f 75 74 09 69 6e 74 63 09 3b 63 6c 65 61 72 65 64 0d 0a 09 6d 76 69 09 61 2c 69 6e 74   ┆   out intc ;cleared   mvi a,int┆
0x08b0a0…08b0c0             65 09 3b 72 73 74 30 20 61 6e 64 20 72 73 74 37 20 62 69 74 73 20 6f 6e 0d 0a 09 6f 75 74 09 69   ┆e ;rst0 and rst7 bits on   out i┆
0x08b0c0…08b0e0             6e 74 63 0d 0a 09 78 72 61 09 61 0d 0a 09 6f 75 74 09 69 63 6f 6e 09 3b 69 6e 74 65 72 72 75 70   ┆ntc   xra a   out icon ;interrup┆
0x08b0e0…08b100             74 20 63 6f 6e 74 72 6f 6c 0d 0a 3b 0d 0a 3b 09 73 65 74 20 64 65 66 61 75 6c 74 20 62 75 66 66   ┆t control  ;  ; set default buff┆
0x08b100…08b120             65 72 20 61 64 64 72 65 73 73 20 74 6f 20 38 30 68 0d 0a 09 6c 78 69 09 62 2c 62 75 66 66 0d 0a   ┆er address to 80h   lxi b,buff  ┆
0x08b120…08b140             09 63 61 6c 6c 09 73 65 74 64 6d 61 0d 0a 3b 0d 0a 3b 09 72 65 73 65 74 20 6d 6f 6e 69 74 6f 72   ┆ call setdma  ;  ; reset monitor┆
0x08b140…08b160             20 65 6e 74 72 79 20 70 6f 69 6e 74 73 0d 0a 09 6d 76 69 09 61 2c 6a 6d 70 0d 0a 09 73 74 61 09   ┆ entry points   mvi a,jmp   sta ┆
0x08b160…08b180             30 0d 0a 09 6c 78 69 09 68 2c 77 62 6f 6f 74 65 0d 0a 09 73 68 6c 64 09 31 09 3b 6a 6d 70 20 77   ┆0   lxi h,wboote   shld 1 ;jmp w┆
0x08b180…08b1a0             62 6f 6f 74 20 61 74 20 6c 6f 63 61 74 69 6f 6e 20 30 30 0d 0a 09 73 74 61 09 35 0d 0a 09 6c 78   ┆boot at location 00   sta 5   lx┆
0x08b1a0…08b1c0             69 09 68 2c 62 64 6f 73 0d 0a 09 73 68 6c 64 09 36 09 3b 6a 6d 70 20 62 64 6f 73 20 61 74 20 6c   ┆i h,bdos   shld 6 ;jmp bdos at l┆
0x08b1c0…08b1e0             6f 63 61 74 69 6f 6e 20 35 0d 0a 09 69 66 09 6e 6f 74 20 74 65 73 74 0d 0a 09 73 74 61 09 37 2a   ┆ocation 5   if not test   sta 7*┆
0x08b1e0…08b200             38 09 3b 6a 6d 70 20 74 6f 20 6d 6f 6e 38 30 20 28 6d 61 79 20 68 61 76 65 20 62 65 65 6e 20 63   ┆8 ;jmp to mon80 (may have been c┆
0x08b200…08b220 (37, 0, 4)  74 69 6f 6e 0d 0a 09 6d 6f 76 09 61 2c 6d 0d 0a 09 61 6e 69 09 31 31 30 30 31 31 31 31 62 09 3b   ┆tion   mov a,m   ani 11001111b ;┆
0x08b220…08b240             6d 61 73 6b 20 6f 75 74 20 64 69 73 6b 20 6e 75 6d 62 65 72 0d 0a 09 6f 72 61 09 62 09 3b 6d 61   ┆mask out disk number   ora b ;ma┆
0x08b240…08b260             73 6b 20 69 6e 20 6e 65 77 20 64 69 73 6b 20 6e 75 6d 62 65 72 0d 0a 09 6d 6f 76 09 6d 2c 61 09   ┆sk in new disk number   mov m,a ┆
0x08b260…08b280             3b 73 61 76 65 20 69 74 20 69 6e 20 69 6f 70 62 0d 0a 09 6d 6f 76 09 6c 2c 63 0d 0a 09 6d 76 69   ┆;save it in iopb   mov l,c   mvi┆
0x08b280…08b2a0             09 68 2c 30 09 3b 48 4c 3d 64 69 73 6b 20 6e 75 6d 62 65 72 0d 0a 09 64 61 64 09 68 09 3b 2a 32   ┆ h,0 ;HL=disk number   dad h ;*2┆
0x08b2a0…08b2c0             0d 0a 09 64 61 64 09 68 09 3b 2a 34 0d 0a 09 64 61 64 09 68 09 3b 2a 38 0d 0a 09 64 61 64 09 68   ┆   dad h ;*4   dad h ;*8   dad h┆
0x08b2c0…08b2e0             09 3b 2a 31 36 0d 0a 09 6c 78 69 09 64 2c 64 70 62 61 73 65 0d 0a 09 64 61 64 09 64 09 3b 48 4c   ┆ ;*16   lxi d,dpbase   dad d ;HL┆
0x08b2e0…08b300             3d 64 69 73 6b 20 68 65 61 64 65 72 20 74 61 62 6c 65 20 61 64 64 72 65 73 73 0d 0a 09 72 65 74   ┆=disk header table address   ret┆
0x08b300…08b320             0d 0a 3b 0d 0a 3b 0d 0a 73 65 74 74 72 6b 3a 09 3b 73 65 74 20 74 72 61 63 6b 20 61 64 64 72 65   ┆  ;  ;  settrk: ;set track addre┆
0x08b320…08b340             73 73 20 67 69 76 65 6e 20 62 79 20 63 0d 0a 09 6c 78 69 09 68 2c 69 6f 74 0d 0a 09 6d 6f 76 09   ┆ss given by c   lxi h,iot   mov ┆
0x08b340…08b360             6d 2c 63 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 73 65 74 73 65 63 3a 09 3b 73 65 74 20 73 65 63 74 6f   ┆m,c   ret  ;  setsec: ;set secto┆
0x08b360…08b380             72 20 6e 75 6d 62 65 72 20 67 69 76 65 6e 20 62 79 20 63 0d 0a 09 6c 78 69 09 68 2c 69 6f 73 0d   ┆r number given by c   lxi h,ios ┆
0x08b380…08b3a0             0a 09 6d 6f 76 09 6d 2c 63 0d 0a 09 72 65 74 0d 0a 73 65 63 74 72 61 6e 3a 0d 0a 09 09 3b 74 72   ┆  mov m,c   ret  sectran:    ;tr┆
0x08b3a0…08b3c0             61 6e 73 6c 61 74 65 20 73 65 63 74 6f 72 20 62 63 20 75 73 69 6e 67 20 74 61 62 6c 65 20 61 74   ┆anslate sector bc using table at┆
0x08b3c0…08b3e0             20 64 65 0d 0a 09 6d 76 69 09 62 2c 30 09 3b 64 6f 75 62 6c 65 20 70 72 65 63 69 73 69 6f 6e 20   ┆ de   mvi b,0 ;double precision ┆
0x08b3e0…08b400             73 65 63 74 6f 72 20 6e 75 6d 62 65 72 20 69 6e 20 42 43 0d 0a 09 78 63 68 67 09 09 3b 74 72 61   ┆sector number in BC   xchg  ;tra┆
0x08b400…08b420 (37, 0, 5)  0d 0a 3b 09 6a 75 6d 70 20 76 65 63 74 6f 72 20 66 6f 72 20 69 6e 64 69 76 69 75 61 6c 20 72 6f   ┆  ; jump vector for indiviual ro┆
0x08b420…08b440             75 74 69 6e 65 73 0d 0a 09 6a 6d 70 09 62 6f 6f 74 0d 0a 77 62 6f 6f 74 65 3a 09 6a 6d 70 09 77   ┆utines   jmp boot  wboote: jmp w┆
0x08b440…08b460             62 6f 6f 74 0d 0a 09 6a 6d 70 09 63 6f 6e 73 74 0d 0a 09 6a 6d 70 09 63 6f 6e 69 6e 0d 0a 09 6a   ┆boot   jmp const   jmp conin   j┆
0x08b460…08b480             6d 70 09 63 6f 6e 6f 75 74 0d 0a 09 6a 6d 70 09 6c 69 73 74 0d 0a 09 6a 6d 70 09 70 75 6e 63 68   ┆mp conout   jmp list   jmp punch┆
0x08b480…08b4a0             0d 0a 09 6a 6d 70 09 72 65 61 64 65 72 0d 0a 09 6a 6d 70 09 68 6f 6d 65 0d 0a 09 6a 6d 70 09 73   ┆   jmp reader   jmp home   jmp s┆
0x08b4a0…08b4c0             65 6c 64 73 6b 0d 0a 09 6a 6d 70 09 73 65 74 74 72 6b 0d 0a 09 6a 6d 70 09 73 65 74 73 65 63 0d   ┆eldsk   jmp settrk   jmp setsec ┆
0x08b4c0…08b4e0             0a 09 6a 6d 70 09 73 65 74 64 6d 61 0d 0a 09 6a 6d 70 09 72 65 61 64 0d 0a 09 6a 6d 70 09 77 72   ┆  jmp setdma   jmp read   jmp wr┆
0x08b4e0…08b500             69 74 65 0d 0a 09 6a 6d 70 09 6c 69 73 74 73 74 09 3b 6c 69 73 74 20 73 74 61 74 75 73 0d 0a 09   ┆ite   jmp listst ;list status   ┆
0x08b500…08b520             6a 6d 70 09 73 65 63 74 72 61 6e 0d 0a 3b 0d 0a 09 6d 61 63 6c 69 62 09 64 69 73 6b 64 65 66 09   ┆jmp sectran  ;   maclib diskdef ┆
0x08b520…08b540             3b 6c 6f 61 64 20 74 68 65 20 64 69 73 6b 20 64 65 66 69 6e 69 74 69 6f 6e 20 6c 69 62 72 61 72   ┆;load the disk definition librar┆
0x08b540…08b560             79 0d 0a 09 64 69 73 6b 73 09 34 09 3b 66 6f 75 72 20 64 69 73 6b 73 0d 0a 09 64 69 73 6b 64 65   ┆y   disks 4 ;four disks   diskde┆
0x08b560…08b580             66 09 30 2c 31 2c 32 36 2c 36 2c 31 30 32 34 2c 32 34 33 2c 36 34 2c 36 34 2c 6f 66 66 73 65 74   ┆f 0,1,26,6,1024,243,64,64,offset┆
0x08b580…08b5a0             0d 0a 09 64 69 73 6b 64 65 66 09 31 2c 30 0d 0a 09 64 69 73 6b 64 65 66 09 32 2c 30 0d 0a 09 64   ┆   diskdef 1,0   diskdef 2,0   d┆
0x08b5a0…08b5c0             69 73 6b 64 65 66 09 33 2c 30 0d 0a 3b 09 65 6e 64 65 66 20 6f 63 63 75 72 73 20 61 74 20 65 6e   ┆iskdef 3,0  ; endef occurs at en┆
0x08b5c0…08b5e0             64 20 6f 66 20 61 73 73 65 6d 62 6c 79 0d 0a 3b 0d 0a 3b 09 65 6e 64 20 6f 66 20 63 6f 6e 74 72   ┆d of assembly  ;  ; end of contr┆
0x08b5e0…08b600             6f 6c 6c 65 72 20 2d 20 69 6e 64 65 70 65 6e 64 65 6e 74 20 63 6f 64 65 2c 20 74 68 65 20 72 65   ┆oller - independent code, the re┆
0x08b600…08b620 (37, 0, 6)  64 62 09 76 65 72 73 2f 31 30 2b 27 30 27 2c 27 2e 27 2c 76 65 72 73 20 6d 6f 64 20 31 30 2b 27   ┆db vers/10+'0','.',vers mod 10+'┆
0x08b620…08b640             30 27 0d 0a 09 64 62 09 63 72 2c 6c 66 2c 30 0d 0a 3b 0d 0a 62 6f 6f 74 3a 09 3b 70 72 69 6e 74   ┆0'   db cr,lf,0  ;  boot: ;print┆
0x08b640…08b660             20 73 69 67 6e 6f 6e 20 6d 65 73 73 61 67 65 20 61 6e 64 20 67 6f 20 74 6f 20 63 63 70 0d 0a 3b   ┆ signon message and go to ccp  ;┆
0x08b660…08b680             09 28 6e 6f 74 65 3a 20 6d 64 73 20 62 6f 6f 74 20 69 6e 69 74 69 61 6c 69 7a 65 64 20 69 6f 62   ┆ (note: mds boot initialized iob┆
0x08b680…08b6a0             79 74 65 20 61 74 20 30 30 30 33 68 29 0d 0a 09 6c 78 69 09 73 70 2c 62 75 66 66 2b 38 30 68 0d   ┆yte at 0003h)   lxi sp,buff+80h ┆
0x08b6a0…08b6c0             0a 09 6c 78 69 09 68 2c 73 69 67 6e 6f 6e 0d 0a 09 63 61 6c 6c 09 70 72 6d 73 67 09 3b 70 72 69   ┆  lxi h,signon   call prmsg ;pri┆
0x08b6c0…08b6e0             6e 74 20 6d 65 73 73 61 67 65 0d 0a 09 78 72 61 09 61 09 3b 63 6c 65 61 72 20 61 63 63 75 6d 75   ┆nt message   xra a ;clear accumu┆
0x08b6e0…08b700             6c 61 74 6f 72 0d 0a 09 73 74 61 09 63 64 69 73 6b 09 3b 73 65 74 20 69 6e 69 74 69 61 6c 6c 79   ┆lator   sta cdisk ;set initially┆
0x08b700…08b720             20 74 6f 20 64 69 73 6b 20 61 0d 0a 09 6a 6d 70 09 67 6f 63 70 6d 09 3b 67 6f 20 74 6f 20 63 70   ┆ to disk a   jmp gocpm ;go to cp┆
0x08b720…08b740             2f 6d 0d 0a 3b 0d 0a 3b 0d 0a 77 62 6f 6f 74 3a 3b 09 6c 6f 61 64 65 72 20 6f 6e 20 74 72 61 63   ┆/m  ;  ;  wboot:; loader on trac┆
0x08b740…08b760             6b 20 30 2c 20 73 65 63 74 6f 72 20 31 2c 20 77 68 69 63 68 20 77 69 6c 6c 20 62 65 20 73 6b 69   ┆k 0, sector 1, which will be ski┆
0x08b760…08b780             70 70 65 64 20 66 6f 72 20 77 61 72 6d 20 0d 0a 3b 09 72 65 61 64 20 63 70 2f 6d 20 66 72 6f 6d   ┆pped for warm   ; read cp/m from┆
0x08b780…08b7a0             20 64 69 73 6b 20 2d 20 61 73 73 75 6d 69 6e 67 20 74 68 65 72 65 20 69 73 20 61 20 31 32 38 20   ┆ disk - assuming there is a 128 ┆
0x08b7a0…08b7c0             62 79 74 65 20 63 6f 6c 64 20 73 74 61 72 74 0d 0a 3b 09 73 74 61 72 74 2e 0d 0a 3b 0d 0a 09 6c   ┆byte cold start  ; start.  ;   l┆
0x08b7c0…08b7e0             78 69 09 73 70 2c 62 75 66 66 09 3b 75 73 69 6e 67 20 64 6d 61 20 2d 20 74 68 75 73 20 38 30 20   ┆xi sp,buff ;using dma - thus 80 ┆
0x08b7e0…08b800             74 68 72 75 20 66 66 20 61 76 61 69 6c 61 62 6c 65 20 66 6f 72 20 73 74 61 63 6b 0d 0a 3b 0d 0a   ┆thru ff available for stack  ;  ┆
0x08b800…08b820 (37, 0, 7)  68 61 6e 67 65 64 20 62 79 20 64 64 74 29 0d 0a 09 6c 78 69 09 68 2c 6d 6f 6e 38 30 0d 0a 09 73   ┆hanged by ddt)   lxi h,mon80   s┆
0x08b820…08b840             68 6c 64 09 37 2a 38 2b 31 0d 0a 09 65 6e 64 69 66 0d 0a 3b 09 6c 65 61 76 65 20 69 6f 62 79 74   ┆hld 7*8+1   endif  ; leave iobyt┆
0x08b840…08b860             65 20 73 65 74 0d 0a 3b 09 70 72 65 76 69 6f 75 73 6c 79 20 73 65 6c 65 63 74 65 64 20 64 69 73   ┆e set  ; previously selected dis┆
0x08b860…08b880             6b 20 77 61 73 20 62 2c 20 73 65 6e 64 20 70 61 72 61 6d 65 74 65 72 20 74 6f 20 63 70 6d 0d 0a   ┆k was b, send parameter to cpm  ┆
0x08b880…08b8a0             09 6c 64 61 09 63 64 69 73 6b 09 3b 6c 61 73 74 20 6c 6f 67 67 65 64 20 64 69 73 6b 20 6e 75 6d   ┆ lda cdisk ;last logged disk num┆
0x08b8a0…08b8c0             62 65 72 0d 0a 09 6d 6f 76 09 63 2c 61 09 3b 73 65 6e 64 20 74 6f 20 63 63 70 20 74 6f 20 6c 6f   ┆ber   mov c,a ;send to ccp to lo┆
0x08b8c0…08b8e0             67 20 69 74 20 69 6e 0d 0a 09 65 69 0d 0a 09 6a 6d 70 09 63 70 6d 62 0d 0a 3b 0d 0a 3b 09 65 72   ┆g it in   ei   jmp cpmb  ;  ; er┆
0x08b8e0…08b900             72 6f 72 20 63 6f 6e 64 69 74 69 6f 6e 20 6f 63 63 75 72 72 65 64 2c 20 70 72 69 6e 74 20 6d 65   ┆ror condition occurred, print me┆
0x08b900…08b920             73 73 61 67 65 20 61 6e 64 20 72 65 74 72 79 0d 0a 62 6f 6f 74 65 72 72 3a 0d 0a 09 70 6f 70 09   ┆ssage and retry  booterr:   pop ┆
0x08b920…08b940             62 09 3b 72 65 63 61 6c 6c 20 63 6f 75 6e 74 73 0d 0a 09 64 63 72 09 63 0d 0a 09 6a 7a 09 62 6f   ┆b ;recall counts   dcr c   jz bo┆
0x08b940…08b960             6f 74 65 72 30 0d 0a 3b 09 74 72 79 20 61 67 61 69 6e 0d 0a 09 70 75 73 68 09 62 0d 0a 09 6a 6d   ┆oter0  ; try again   push b   jm┆
0x08b960…08b980             70 09 77 62 6f 6f 74 30 0d 0a 3b 0d 0a 62 6f 6f 74 65 72 30 3a 0d 0a 3b 09 6f 74 68 65 72 77 69   ┆p wboot0  ;  booter0:  ; otherwi┆
0x08b980…08b9a0             73 65 20 74 6f 6f 20 6d 61 6e 79 20 72 65 74 72 69 65 73 0d 0a 09 6c 78 69 09 68 2c 62 6f 6f 74   ┆se too many retries   lxi h,boot┆
0x08b9a0…08b9c0             6d 73 67 0d 0a 09 63 61 6c 6c 09 70 72 6d 73 67 0d 0a 09 6a 6d 70 09 72 6d 6f 6e 38 30 09 3b 6d   ┆msg   call prmsg   jmp rmon80 ;m┆
0x08b9c0…08b9e0             64 73 20 68 61 72 64 77 61 72 65 20 6d 6f 6e 69 74 6f 72 0d 0a 3b 0d 0a 62 6f 6f 74 6d 73 67 3a   ┆ds hardware monitor  ;  bootmsg:┆
0x08b9e0…08ba00             0d 0a 09 64 62 09 27 3f 62 6f 6f 74 27 2c 30 0d 0a 3b 0d 0a 3b 0d 0a 63 6f 6e 73 74 3a 09 3b 63   ┆   db '?boot',0  ;  ;  const: ;c┆
0x08ba00…08ba20 (37, 0, 8)  6e 73 6c 61 74 65 20 74 61 62 6c 65 20 61 64 64 72 65 73 73 20 74 6f 20 48 4c 0d 0a 09 64 61 64   ┆nslate table address to HL   dad┆
0x08ba20…08ba40             09 62 09 3b 74 72 61 6e 73 6c 61 74 65 28 73 65 63 74 6f 72 29 20 61 64 64 72 65 73 73 0d 0a 09   ┆ b ;translate(sector) address   ┆
0x08ba40…08ba60             6d 6f 76 09 61 2c 6d 09 3b 74 72 61 6e 73 6c 61 74 65 64 20 73 65 63 74 6f 72 20 6e 75 6d 62 65   ┆mov a,m ;translated sector numbe┆
0x08ba60…08ba80             72 20 74 6f 20 41 0d 0a 09 73 74 61 09 69 6f 73 0d 0a 09 6d 6f 76 09 6c 2c 61 09 3b 72 65 74 75   ┆r to A   sta ios   mov l,a ;retu┆
0x08ba80…08baa0             72 6e 20 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 20 69 6e 20 4c 0d 0a 09 72 65 74 0d 0a 3b 0d 0a   ┆rn sector number in L   ret  ;  ┆
0x08baa0…08bac0             73 65 74 64 6d 61 3a 09 3b 73 65 74 20 64 6d 61 20 61 64 64 72 65 73 73 20 67 69 76 65 6e 20 62   ┆setdma: ;set dma address given b┆
0x08bac0…08bae0             79 20 72 65 67 73 20 62 2c 63 0d 0a 09 6d 6f 76 09 6c 2c 63 0d 0a 09 6d 6f 76 09 68 2c 62 0d 0a   ┆y regs b,c   mov l,c   mov h,b  ┆
0x08bae0…08bb00             09 73 68 6c 64 09 69 6f 64 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 72 65 61 64 3a 09 3b 72 65 61 64 20   ┆ shld iod   ret  ;  read: ;read ┆
0x08bb00…08bb20             6e 65 78 74 20 64 69 73 6b 20 72 65 63 6f 72 64 20 28 61 73 73 75 6d 69 6e 67 20 64 69 73 6b 2f   ┆next disk record (assuming disk/┆
0x08bb20…08bb40             74 72 6b 2f 73 65 63 2f 64 6d 61 20 73 65 74 29 0d 0a 09 6d 76 69 09 63 2c 72 65 61 64 66 09 3b   ┆trk/sec/dma set)   mvi c,readf ;┆
0x08bb40…08bb60             73 65 74 20 74 6f 20 72 65 61 64 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 63 61 6c 6c 09 73 65 74 66   ┆set to read function   call setf┆
0x08bb60…08bb80             75 6e 63 0d 0a 09 63 61 6c 6c 09 77 61 69 74 69 6f 09 3b 70 65 72 66 6f 72 6d 20 72 65 61 64 20   ┆unc   call waitio ;perform read ┆
0x08bb80…08bba0             66 75 6e 63 74 69 6f 6e 0d 0a 09 72 65 74 09 09 3b 6d 61 79 20 68 61 76 65 20 65 72 72 6f 72 20   ┆function   ret  ;may have error ┆
0x08bba0…08bbc0             73 65 74 20 69 6e 20 72 65 67 2d 61 0d 0a 3b 0d 0a 3b 0d 0a 77 72 69 74 65 3a 09 3b 64 69 73 6b   ┆set in reg-a  ;  ;  write: ;disk┆
0x08bbc0…08bbe0             20 77 72 69 74 65 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 6d 76 69 09 63 2c 77 72 69 74 66 0d 0a 09   ┆ write function   mvi c,writf   ┆
0x08bbe0…08bc00             63 61 6c 6c 09 73 65 74 66 75 6e 63 09 3b 73 65 74 20 74 6f 20 77 72 69 74 65 20 66 75 6e 63 74   ┆call setfunc ;set to write funct┆
0x08bc00…08bc20 (37, 0, 9)  6d 61 69 6e 69 6e 67 20 73 75 62 72 6f 75 74 69 6e 65 73 0d 0a 3b 09 61 72 65 20 74 61 69 6c 6f   ┆maining subroutines  ; are tailo┆
0x08bc20…08bc40             72 65 64 20 74 6f 20 74 68 65 20 70 61 72 74 69 63 75 6c 61 72 20 6f 70 65 72 61 74 69 6e 67 20   ┆red to the particular operating ┆
0x08bc40…08bc60             65 6e 76 69 72 6f 6e 6d 65 6e 74 2c 20 61 6e 64 20 6d 75 73 74 0d 0a 3b 09 62 65 20 61 6c 74 65   ┆environment, and must  ; be alte┆
0x08bc60…08bc80             72 65 64 20 66 6f 72 20 61 6e 79 20 73 79 73 74 65 6d 20 77 68 69 63 68 20 64 69 66 66 65 72 73   ┆red for any system which differs┆
0x08bc80…08bca0             20 66 72 6f 6d 20 74 68 65 20 69 6e 74 65 6c 20 6d 64 73 2e 0d 0a 3b 0d 0a 3b 09 74 68 65 20 66   ┆ from the intel mds.  ;  ; the f┆
0x08bca0…08bcc0             6f 6c 6c 6f 77 69 6e 67 20 63 6f 64 65 20 61 73 73 75 6d 65 73 20 74 68 65 20 6d 64 73 20 6d 6f   ┆ollowing code assumes the mds mo┆
0x08bcc0…08bce0             6e 69 74 6f 72 20 65 78 69 73 74 73 20 61 74 20 30 66 38 30 30 68 0d 0a 3b 09 61 6e 64 20 75 73   ┆nitor exists at 0f800h  ; and us┆
0x08bce0…08bd00             65 73 20 74 68 65 20 69 2f 6f 20 73 75 62 72 6f 75 74 69 6e 65 73 20 77 69 74 68 69 6e 20 74 68   ┆es the i/o subroutines within th┆
0x08bd00…08bd20             65 20 6d 6f 6e 69 74 6f 72 0d 0a 3b 0d 0a 3b 09 77 65 20 61 6c 73 6f 20 61 73 73 75 6d 65 20 74   ┆e monitor  ;  ; we also assume t┆
0x08bd20…08bd40             68 65 20 6d 64 73 20 73 79 73 74 65 6d 20 68 61 73 20 66 6f 75 72 20 64 69 73 6b 20 64 72 69 76   ┆he mds system has four disk driv┆
0x08bd40…08bd60             65 73 0d 0a 72 65 76 72 74 09 65 71 75 09 30 66 64 68 09 3b 69 6e 74 65 72 72 75 70 74 20 72 65   ┆es  revrt equ 0fdh ;interrupt re┆
0x08bd60…08bd80             76 65 72 74 20 70 6f 72 74 0d 0a 69 6e 74 63 09 65 71 75 09 30 66 63 68 09 3b 69 6e 74 65 72 72   ┆vert port  intc equ 0fch ;interr┆
0x08bd80…08bda0             75 70 74 20 6d 61 73 6b 20 70 6f 72 74 0d 0a 69 63 6f 6e 09 65 71 75 09 30 66 33 68 09 3b 69 6e   ┆upt mask port  icon equ 0f3h ;in┆
0x08bda0…08bdc0             74 65 72 72 75 70 74 20 63 6f 6e 74 72 6f 6c 20 70 6f 72 74 0d 0a 69 6e 74 65 09 65 71 75 09 30   ┆terrupt control port  inte equ 0┆
0x08bdc0…08bde0             31 31 31 24 31 31 31 30 62 09 3b 65 6e 61 62 6c 65 20 72 73 74 20 30 28 77 61 72 6d 20 62 6f 6f   ┆111$1110b ;enable rst 0(warm boo┆
0x08bde0…08be00             74 29 2c 20 72 73 74 20 37 20 28 6d 6f 6e 69 74 6f 72 29 0d 0a 3b 0d 0a 3b 09 6d 64 73 20 6d 6f   ┆t), rst 7 (monitor)  ;  ; mds mo┆
0x08be00…08be20 (37, 0, 10) 09 6d 76 69 09 63 2c 72 65 74 72 79 09 3b 6d 61 78 20 72 65 74 72 69 65 73 0d 0a 09 70 75 73 68   ┆ mvi c,retry ;max retries   push┆
0x08be20…08be40             09 62 0d 0a 77 62 6f 6f 74 30 3a 09 3b 65 6e 74 65 72 20 68 65 72 65 20 6f 6e 20 65 72 72 6f 72   ┆ b  wboot0: ;enter here on error┆
0x08be40…08be60             20 72 65 74 72 69 65 73 0d 0a 09 6c 78 69 09 62 2c 63 70 6d 62 09 3b 73 65 74 20 64 6d 61 20 61   ┆ retries   lxi b,cpmb ;set dma a┆
0x08be60…08be80             64 64 72 65 73 73 20 74 6f 20 73 74 61 72 74 20 6f 66 20 64 69 73 6b 20 73 79 73 74 65 6d 0d 0a   ┆ddress to start of disk system  ┆
0x08be80…08bea0             09 63 61 6c 6c 09 73 65 74 64 6d 61 0d 0a 09 6d 76 69 09 63 2c 30 09 3b 62 6f 6f 74 20 66 72 6f   ┆ call setdma   mvi c,0 ;boot fro┆
0x08bea0…08bec0             6d 20 64 72 69 76 65 20 30 0d 0a 09 63 61 6c 6c 09 73 65 6c 64 73 6b 0d 0a 09 6d 76 69 09 63 2c   ┆m drive 0   call seldsk   mvi c,┆
0x08bec0…08bee0             30 0d 0a 09 63 61 6c 6c 09 73 65 74 74 72 6b 09 3b 73 74 61 72 74 20 77 69 74 68 20 74 72 61 63   ┆0   call settrk ;start with trac┆
0x08bee0…08bf00             6b 20 30 0d 0a 09 6d 76 69 09 63 2c 32 09 3b 73 74 61 72 74 20 72 65 61 64 69 6e 67 20 73 65 63   ┆k 0   mvi c,2 ;start reading sec┆
0x08bf00…08bf20             74 6f 72 20 32 0d 0a 09 63 61 6c 6c 09 73 65 74 73 65 63 0d 0a 3b 0d 0a 3b 09 72 65 61 64 20 73   ┆tor 2   call setsec  ;  ; read s┆
0x08bf20…08bf40             65 63 74 6f 72 73 2c 20 63 6f 75 6e 74 20 6e 73 65 63 74 73 20 74 6f 20 7a 65 72 6f 0d 0a 09 70   ┆ectors, count nsects to zero   p┆
0x08bf40…08bf60             6f 70 09 62 09 3b 31 30 2d 65 72 72 6f 72 20 63 6f 75 6e 74 0d 0a 09 6d 76 69 09 62 2c 6e 73 65   ┆op b ;10-error count   mvi b,nse┆
0x08bf60…08bf80             63 74 73 0d 0a 72 64 73 65 63 3a 09 3b 72 65 61 64 20 6e 65 78 74 20 73 65 63 74 6f 72 0d 0a 09   ┆cts  rdsec: ;read next sector   ┆
0x08bf80…08bfa0             70 75 73 68 09 62 09 3b 73 61 76 65 20 73 65 63 74 6f 72 20 63 6f 75 6e 74 0d 0a 09 63 61 6c 6c   ┆push b ;save sector count   call┆
0x08bfa0…08bfc0             09 72 65 61 64 0d 0a 09 6a 6e 7a 09 62 6f 6f 74 65 72 72 09 3b 72 65 74 72 79 20 69 66 20 65 72   ┆ read   jnz booterr ;retry if er┆
0x08bfc0…08bfe0             72 6f 72 73 20 6f 63 63 75 72 0d 0a 09 6c 68 6c 64 09 69 6f 64 09 3b 69 6e 63 72 65 6d 65 6e 74   ┆rors occur   lhld iod ;increment┆
0x08bfe0…08c000             20 64 6d 61 20 61 64 64 72 65 73 73 0d 0a 09 6c 78 69 09 64 2c 31 32 38 09 3b 73 65 63 74 6f 72   ┆ dma address   lxi d,128 ;sector┆
0x08c000…08c020 (37, 0, 11) 6f 6e 73 6f 6c 65 20 73 74 61 74 75 73 20 74 6f 20 72 65 67 2d 61 0d 0a 3b 09 28 65 78 61 63 74   ┆onsole status to reg-a  ; (exact┆
0x08c020…08c040             6c 79 20 74 68 65 20 73 61 6d 65 20 61 73 20 6d 64 73 20 63 61 6c 6c 29 0d 0a 09 6a 6d 70 09 63   ┆ly the same as mds call)   jmp c┆
0x08c040…08c060             73 74 73 0d 0a 3b 0d 0a 63 6f 6e 69 6e 3a 09 3b 63 6f 6e 73 6f 6c 65 20 63 68 61 72 61 63 74 65   ┆sts  ;  conin: ;console characte┆
0x08c060…08c080             72 20 74 6f 20 72 65 67 2d 61 0d 0a 09 63 61 6c 6c 09 63 69 0d 0a 09 61 6e 69 09 37 66 68 09 3b   ┆r to reg-a   call ci   ani 7fh ;┆
0x08c080…08c0a0             72 65 6d 6f 76 65 20 70 61 72 69 74 79 20 62 69 74 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 63 6f 6e 6f   ┆remove parity bit   ret  ;  cono┆
0x08c0a0…08c0c0             75 74 3a 09 3b 63 6f 6e 73 6f 6c 65 20 63 68 61 72 61 63 74 65 72 20 66 72 6f 6d 20 63 20 74 6f   ┆ut: ;console character from c to┆
0x08c0c0…08c0e0             20 63 6f 6e 73 6f 6c 65 20 6f 75 74 0d 0a 09 6a 6d 70 09 63 6f 0d 0a 3b 0d 0a 6c 69 73 74 3a 09   ┆ console out   jmp co  ;  list: ┆
0x08c0e0…08c100             3b 6c 69 73 74 20 64 65 76 69 63 65 20 6f 75 74 0d 0a 3b 09 28 65 78 61 63 74 6c 79 20 74 68 65   ┆;list device out  ; (exactly the┆
0x08c100…08c120             20 73 61 6d 65 20 61 73 20 6d 64 73 20 63 61 6c 6c 29 0d 0a 09 6a 6d 70 09 6c 6f 0d 0a 3b 0d 0a   ┆ same as mds call)   jmp lo  ;  ┆
0x08c120…08c140             6c 69 73 74 73 74 3a 0d 0a 09 3b 72 65 74 75 72 6e 20 6c 69 73 74 20 73 74 61 74 75 73 0d 0a 09   ┆listst:   ;return list status   ┆
0x08c140…08c160             78 72 61 09 61 0d 0a 09 72 65 74 09 09 3b 61 6c 77 61 79 73 20 6e 6f 74 20 72 65 61 64 79 0d 0a   ┆xra a   ret  ;always not ready  ┆
0x08c160…08c180             3b 0d 0a 70 75 6e 63 68 3a 09 3b 70 75 6e 63 68 20 64 65 76 69 63 65 20 6f 75 74 0d 0a 3b 09 28   ┆;  punch: ;punch device out  ; (┆
0x08c180…08c1a0             65 78 61 63 74 6c 79 20 74 68 65 20 73 61 6d 65 20 61 73 20 6d 64 73 20 63 61 6c 6c 29 0d 0a 09   ┆exactly the same as mds call)   ┆
0x08c1a0…08c1c0             6a 6d 70 09 70 6f 0d 0a 3b 0d 0a 72 65 61 64 65 72 3a 09 3b 72 65 61 64 65 72 20 63 68 61 72 61   ┆jmp po  ;  reader: ;reader chara┆
0x08c1c0…08c1e0             63 74 65 72 20 69 6e 20 74 6f 20 72 65 67 2d 61 0d 0a 3b 09 28 65 78 61 63 74 6c 79 20 74 68 65   ┆cter in to reg-a  ; (exactly the┆
0x08c1e0…08c200             20 73 61 6d 65 20 61 73 20 6d 64 73 20 63 61 6c 6c 29 0d 0a 09 6a 6d 70 09 72 69 0d 0a 3b 0d 0a   ┆ same as mds call)   jmp ri  ;  ┆
0x08c200…08c220 (37, 0, 12) 69 6f 6e 0d 0a 09 63 61 6c 6c 09 77 61 69 74 69 6f 0d 0a 09 72 65 74 09 09 3b 6d 61 79 20 68 61   ┆ion   call waitio   ret  ;may ha┆
0x08c220…08c240             76 65 20 65 72 72 6f 72 20 73 65 74 0d 0a 3b 0d 0a 3b 0d 0a 3b 09 75 74 69 6c 69 74 79 20 73 75   ┆ve error set  ;  ;  ; utility su┆
0x08c240…08c260             62 72 6f 75 74 69 6e 65 73 0d 0a 70 72 6d 73 67 3a 09 3b 70 72 69 6e 74 20 6d 65 73 73 61 67 65   ┆broutines  prmsg: ;print message┆
0x08c260…08c280             20 61 74 20 68 2c 6c 20 74 6f 20 30 0d 0a 09 6d 6f 76 09 61 2c 6d 0d 0a 09 6f 72 61 09 61 09 3b   ┆ at h,l to 0   mov a,m   ora a ;┆
0x08c280…08c2a0             7a 65 72 6f 3f 0d 0a 09 72 7a 0d 0a 3b 09 6d 6f 72 65 20 74 6f 20 70 72 69 6e 74 0d 0a 09 70 75   ┆zero?   rz  ; more to print   pu┆
0x08c2a0…08c2c0             73 68 09 68 0d 0a 09 6d 6f 76 09 63 2c 61 0d 0a 09 63 61 6c 6c 09 63 6f 6e 6f 75 74 0d 0a 09 70   ┆sh h   mov c,a   call conout   p┆
0x08c2c0…08c2e0             6f 70 09 68 0d 0a 09 69 6e 78 09 68 0d 0a 09 6a 6d 70 09 70 72 6d 73 67 0d 0a 3b 0d 0a 73 65 74   ┆op h   inx h   jmp prmsg  ;  set┆
0x08c2e0…08c300             66 75 6e 63 3a 0d 0a 3b 09 73 65 74 20 66 75 6e 63 74 69 6f 6e 20 66 6f 72 20 6e 65 78 74 20 69   ┆func:  ; set function for next i┆
0x08c300…08c320             2f 6f 20 28 63 6f 6d 6d 61 6e 64 20 69 6e 20 72 65 67 2d 63 29 0d 0a 09 6c 78 69 09 68 2c 69 6f   ┆/o (command in reg-c)   lxi h,io┆
0x08c320…08c340             66 09 3b 69 6f 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 72 65 73 73 0d 0a 09 6d 6f 76 09 61 2c 6d   ┆f ;io function address   mov a,m┆
0x08c340…08c360             09 3b 67 65 74 20 69 74 20 74 6f 20 61 63 63 75 6d 75 6c 61 74 6f 72 20 66 6f 72 20 6d 61 73 6b   ┆ ;get it to accumulator for mask┆
0x08c360…08c380             69 6e 67 0d 0a 09 61 6e 69 09 31 31 31 31 31 30 30 30 62 09 3b 72 65 6d 6f 76 65 20 70 72 65 76   ┆ing   ani 11111000b ;remove prev┆
0x08c380…08c3a0             69 6f 75 73 20 63 6f 6d 6d 61 6e 64 0d 0a 09 6f 72 61 09 63 09 3b 73 65 74 20 74 6f 20 6e 65 77   ┆ious command   ora c ;set to new┆
0x08c3a0…08c3c0             20 63 6f 6d 6d 61 6e 64 0d 0a 09 6d 6f 76 09 6d 2c 61 09 3b 72 65 70 6c 61 63 65 64 20 69 6e 20   ┆ command   mov m,a ;replaced in ┆
0x08c3c0…08c3e0             69 6f 70 62 0d 0a 3b 09 74 68 65 20 6d 64 73 2d 38 30 30 20 63 6f 6e 74 72 6f 6c 6c 65 72 20 72   ┆iopb  ; the mds-800 controller r┆
0x08c3e0…08c400             65 71 75 69 72 65 73 20 64 69 73 6b 20 62 61 6e 6b 20 62 69 74 20 69 6e 20 73 65 63 74 6f 72 20   ┆equires disk bank bit in sector ┆
0x08c400…08c420 (37, 0, 13) 6e 69 74 6f 72 20 65 71 75 61 74 65 73 0d 0a 6d 6f 6e 38 30 09 65 71 75 09 30 66 38 30 30 68 09   ┆nitor equates  mon80 equ 0f800h ┆
0x08c420…08c440             3b 6d 64 73 20 6d 6f 6e 69 74 6f 72 0d 0a 72 6d 6f 6e 38 30 09 65 71 75 09 30 66 66 30 66 68 09   ┆;mds monitor  rmon80 equ 0ff0fh ┆
0x08c440…08c460             3b 72 65 73 74 61 72 74 20 6d 6f 6e 38 30 20 28 62 6f 6f 74 20 65 72 72 6f 72 29 0d 0a 63 69 09   ┆;restart mon80 (boot error)  ci ┆
0x08c460…08c480             65 71 75 09 30 66 38 30 33 68 09 3b 63 6f 6e 73 6f 6c 65 20 63 68 61 72 61 63 74 65 72 20 74 6f   ┆equ 0f803h ;console character to┆
0x08c480…08c4a0             20 72 65 67 2d 61 0d 0a 72 69 09 65 71 75 09 30 66 38 30 36 68 09 3b 72 65 61 64 65 72 20 69 6e   ┆ reg-a  ri equ 0f806h ;reader in┆
0x08c4a0…08c4c0             20 74 6f 20 72 65 67 2d 61 0d 0a 63 6f 09 65 71 75 09 30 66 38 30 39 68 09 3b 63 6f 6e 73 6f 6c   ┆ to reg-a  co equ 0f809h ;consol┆
0x08c4c0…08c4e0             65 20 63 68 61 72 20 66 72 6f 6d 20 63 20 74 6f 20 63 6f 6e 73 6f 6c 65 20 6f 75 74 0d 0a 70 6f   ┆e char from c to console out  po┆
0x08c4e0…08c500             09 65 71 75 09 30 66 38 30 63 68 09 3b 70 75 6e 63 68 20 63 68 61 72 20 66 72 6f 6d 20 63 20 74   ┆ equ 0f80ch ;punch char from c t┆
0x08c500…08c520             6f 20 70 75 6e 63 68 20 64 65 76 69 63 65 0d 0a 6c 6f 09 65 71 75 09 30 66 38 30 66 68 09 3b 6c   ┆o punch device  lo equ 0f80fh ;l┆
0x08c520…08c540             69 73 74 20 66 72 6f 6d 20 63 20 74 6f 20 6c 69 73 74 20 64 65 76 69 63 65 0d 0a 63 73 74 73 09   ┆ist from c to list device  csts ┆
0x08c540…08c560             65 71 75 09 30 66 38 31 32 68 09 3b 63 6f 6e 73 6f 6c 65 20 73 74 61 74 75 73 20 30 30 2f 66 66   ┆equ 0f812h ;console status 00/ff┆
0x08c560…08c580             20 74 6f 20 72 65 67 69 73 74 65 72 20 61 0d 0a 3b 0d 0a 3b 09 64 69 73 6b 20 70 6f 72 74 73 20   ┆ to register a  ;  ; disk ports ┆
0x08c580…08c5a0             61 6e 64 20 63 6f 6d 6d 61 6e 64 73 0d 0a 62 61 73 65 09 65 71 75 09 37 38 68 09 3b 62 61 73 65   ┆and commands  base equ 78h ;base┆
0x08c5a0…08c5c0             20 6f 66 20 64 69 73 6b 20 63 6f 6d 6d 61 6e 64 20 69 6f 20 70 6f 72 74 73 0d 0a 64 73 74 61 74   ┆ of disk command io ports  dstat┆
0x08c5c0…08c5e0             09 65 71 75 09 62 61 73 65 09 3b 64 69 73 6b 20 73 74 61 74 75 73 20 28 69 6e 70 75 74 29 0d 0a   ┆ equ base ;disk status (input)  ┆
0x08c5e0…08c600             72 74 79 70 65 09 65 71 75 09 62 61 73 65 2b 31 09 3b 72 65 73 75 6c 74 20 74 79 70 65 20 28 69   ┆rtype equ base+1 ;result type (i┆
0x08c600…08c620 (37, 0, 14) 20 73 69 7a 65 0d 0a 09 64 61 64 09 64 09 3b 69 6e 63 72 65 6d 65 6e 74 65 64 20 64 6d 61 20 61   ┆ size   dad d ;incremented dma a┆
0x08c620…08c640             64 64 72 65 73 73 20 69 6e 20 68 6c 0d 0a 09 6d 6f 76 09 62 2c 68 0d 0a 09 6d 6f 76 09 63 2c 6c   ┆ddress in hl   mov b,h   mov c,l┆
0x08c640…08c660             09 3b 72 65 61 64 79 20 66 6f 72 20 63 61 6c 6c 20 74 6f 20 73 65 74 20 64 6d 61 0d 0a 09 63 61   ┆ ;ready for call to set dma   ca┆
0x08c660…08c680             6c 6c 09 73 65 74 64 6d 61 0d 0a 09 6c 64 61 09 69 6f 73 09 3b 73 65 63 74 6f 72 20 6e 75 6d 62   ┆ll setdma   lda ios ;sector numb┆
0x08c680…08c6a0             65 72 20 6a 75 73 74 20 72 65 61 64 0d 0a 09 63 70 69 09 32 36 09 3b 72 65 61 64 20 6c 61 73 74   ┆er just read   cpi 26 ;read last┆
0x08c6a0…08c6c0             20 73 65 63 74 6f 72 3f 0d 0a 09 6a 63 09 72 64 31 0d 0a 3b 09 6d 75 73 74 20 62 65 20 73 65 63   ┆ sector?   jc rd1  ; must be sec┆
0x08c6c0…08c6e0             74 6f 72 20 32 36 2c 20 7a 65 72 6f 20 61 6e 64 20 67 6f 20 74 6f 20 6e 65 78 74 20 74 72 61 63   ┆tor 26, zero and go to next trac┆
0x08c6e0…08c700             6b 0d 0a 09 6c 64 61 09 69 6f 74 09 3b 67 65 74 20 74 72 61 63 6b 20 74 6f 20 72 65 67 69 73 74   ┆k   lda iot ;get track to regist┆
0x08c700…08c720             65 72 20 61 0d 0a 09 69 6e 72 09 61 0d 0a 09 6d 6f 76 09 63 2c 61 09 3b 72 65 61 64 79 20 66 6f   ┆er a   inr a   mov c,a ;ready fo┆
0x08c720…08c740             72 20 63 61 6c 6c 0d 0a 09 63 61 6c 6c 09 73 65 74 74 72 6b 0d 0a 09 78 72 61 09 61 09 3b 63 6c   ┆r call   call settrk   xra a ;cl┆
0x08c740…08c760             65 61 72 20 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 0d 0a 72 64 31 3a 09 69 6e 72 09 61 09 3b 74   ┆ear sector number  rd1: inr a ;t┆
0x08c760…08c780             6f 20 6e 65 78 74 20 73 65 63 74 6f 72 0d 0a 09 6d 6f 76 09 63 2c 61 09 3b 72 65 61 64 79 20 66   ┆o next sector   mov c,a ;ready f┆
0x08c780…08c7a0             6f 72 20 63 61 6c 6c 0d 0a 09 63 61 6c 6c 09 73 65 74 73 65 63 0d 0a 09 70 6f 70 09 62 09 3b 72   ┆or call   call setsec   pop b ;r┆
0x08c7a0…08c7c0             65 63 61 6c 6c 20 73 65 63 74 6f 72 20 63 6f 75 6e 74 0d 0a 09 64 63 72 09 62 09 3b 64 6f 6e 65   ┆ecall sector count   dcr b ;done┆
0x08c7c0…08c7e0             3f 0d 0a 09 6a 6e 7a 09 72 64 73 65 63 0d 0a 3b 0d 0a 3b 09 64 6f 6e 65 20 77 69 74 68 20 74 68   ┆?   jnz rdsec  ;  ; done with th┆
0x08c7e0…08c800             65 20 6c 6f 61 64 2c 20 72 65 73 65 74 20 64 65 66 61 75 6c 74 20 62 75 66 66 65 72 20 61 64 64   ┆e load, reset default buffer add┆
0x08c800…08c820 (37, 0, 15) 68 6f 6d 65 3a 09 3b 6d 6f 76 65 20 74 6f 20 68 6f 6d 65 20 70 6f 73 69 74 69 6f 6e 0d 0a 3b 09   ┆home: ;move to home position  ; ┆
0x08c820…08c840             74 72 65 61 74 20 61 73 20 74 72 61 63 6b 20 30 30 20 73 65 65 6b 0d 0a 09 6d 76 69 09 63 2c 30   ┆treat as track 00 seek   mvi c,0┆
0x08c840…08c860             0d 0a 09 6a 6d 70 09 73 65 74 74 72 6b 0d 0a 3b 0d 0a 73 65 6c 64 73 6b 3a 09 3b 73 65 6c 65 63   ┆   jmp settrk  ;  seldsk: ;selec┆
0x08c860…08c880             74 20 64 69 73 6b 20 67 69 76 65 6e 20 62 79 20 72 65 67 69 73 74 65 72 20 63 0d 0a 09 6c 78 69   ┆t disk given by register c   lxi┆
0x08c880…08c8a0             09 68 2c 30 30 30 30 68 09 3b 72 65 74 75 72 6e 20 30 30 30 30 20 69 66 20 65 72 72 6f 72 0d 0a   ┆ h,0000h ;return 0000 if error  ┆
0x08c8a0…08c8c0             09 6d 6f 76 09 61 2c 63 0d 0a 09 63 70 69 09 6e 64 69 73 6b 73 09 3b 74 6f 6f 20 6c 61 72 67 65   ┆ mov a,c   cpi ndisks ;too large┆
0x08c8c0…08c8e0             3f 0d 0a 09 72 6e 63 09 09 3b 6c 65 61 76 65 20 48 4c 20 3d 20 30 30 30 30 0d 0a 3b 0d 0a 09 61   ┆?   rnc  ;leave HL = 0000  ;   a┆
0x08c8e0…08c900             6e 69 09 31 30 62 09 3b 30 30 20 30 30 20 66 6f 72 20 64 72 69 76 65 20 30 2c 31 20 61 6e 64 20   ┆ni 10b ;00 00 for drive 0,1 and ┆
0x08c900…08c920             31 30 20 31 30 20 66 6f 72 20 64 72 69 76 65 20 32 2c 33 0d 0a 09 73 74 61 09 64 62 61 6e 6b 09   ┆10 10 for drive 2,3   sta dbank ┆
0x08c920…08c940             3b 74 6f 20 73 65 6c 65 63 74 20 64 72 69 76 65 20 62 61 6e 6b 0d 0a 09 6d 6f 76 09 61 2c 63 09   ┆;to select drive bank   mov a,c ┆
0x08c940…08c960             3b 30 30 2c 20 30 31 2c 20 31 30 2c 20 31 31 0d 0a 09 61 6e 69 09 31 62 09 3b 6d 64 73 20 68 61   ┆;00, 01, 10, 11   ani 1b ;mds ha┆
0x08c960…08c980             73 20 30 2c 31 20 61 74 20 37 38 2c 20 32 2c 33 20 61 74 20 38 38 0d 0a 09 6f 72 61 09 61 09 3b   ┆s 0,1 at 78, 2,3 at 88   ora a ;┆
0x08c980…08c9a0             72 65 73 75 6c 74 20 30 30 3f 0d 0a 09 6a 7a 09 73 65 74 64 72 69 76 65 0d 0a 09 6d 76 69 09 61   ┆result 00?   jz setdrive   mvi a┆
0x08c9a0…08c9c0             2c 30 30 31 31 30 30 30 30 62 09 3b 73 65 6c 65 63 74 73 20 64 72 69 76 65 20 31 20 69 6e 20 62   ┆,00110000b ;selects drive 1 in b┆
0x08c9c0…08c9e0             61 6e 6b 0d 0a 73 65 74 64 72 69 76 65 3a 0d 0a 09 6d 6f 76 09 62 2c 61 09 3b 73 61 76 65 20 74   ┆ank  setdrive:   mov b,a ;save t┆
0x08c9e0…08ca00             68 65 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 6c 78 69 09 68 2c 69 6f 66 09 3b 69 6f 20 66 75 6e 63   ┆he function   lxi h,iof ;io func┆
0x08ca00…08ca20 (37, 1, 1)  62 79 74 65 0d 0a 3b 09 6d 61 73 6b 20 74 68 65 20 62 69 74 20 66 72 6f 6d 20 74 68 65 20 63 75   ┆byte  ; mask the bit from the cu┆
0x08ca20…08ca40             72 72 65 6e 74 20 69 2f 6f 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 61 6e 69 09 30 30 31 30 30 30 30   ┆rrent i/o function   ani 0010000┆
0x08ca40…08ca60             30 62 09 3b 6d 61 73 6b 20 74 68 65 20 64 69 73 6b 20 73 65 6c 65 63 74 20 62 69 74 0d 0a 09 6c   ┆0b ;mask the disk select bit   l┆
0x08ca60…08ca80             78 69 09 68 2c 69 6f 73 09 09 3b 61 64 64 72 65 73 73 20 74 68 65 20 73 65 63 74 6f 72 20 73 65   ┆xi h,ios  ;address the sector se┆
0x08ca80…08caa0             6c 65 63 74 20 62 79 74 65 0d 0a 09 6f 72 61 09 6d 09 09 3b 73 65 6c 65 63 74 20 70 72 6f 70 65   ┆lect byte   ora m  ;select prope┆
0x08caa0…08cac0             72 20 64 69 73 6b 20 62 61 6e 6b 0d 0a 09 6d 6f 76 09 6d 2c 61 09 09 3b 73 65 74 20 64 69 73 6b   ┆r disk bank   mov m,a  ;set disk┆
0x08cac0…08cae0             20 73 65 6c 65 63 74 20 62 69 74 20 6f 6e 2f 6f 66 66 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 77 61 69   ┆ select bit on/off   ret  ;  wai┆
0x08cae0…08cb00             74 69 6f 3a 0d 0a 09 6d 76 69 09 63 2c 72 65 74 72 79 09 3b 6d 61 78 20 72 65 74 72 69 65 73 20   ┆tio:   mvi c,retry ;max retries ┆
0x08cb00…08cb20             62 65 66 6f 72 65 20 70 65 72 6d 20 65 72 72 6f 72 0d 0a 72 65 77 61 69 74 3a 0d 0a 3b 09 73 74   ┆before perm error  rewait:  ; st┆
0x08cb20…08cb40             61 72 74 20 74 68 65 20 69 2f 6f 20 66 75 6e 63 74 69 6f 6e 20 61 6e 64 20 77 61 69 74 20 66 6f   ┆art the i/o function and wait fo┆
0x08cb40…08cb60             72 20 63 6f 6d 70 6c 65 74 69 6f 6e 0d 0a 09 63 61 6c 6c 09 69 6e 74 79 70 65 09 3b 69 6e 20 72   ┆r completion   call intype ;in r┆
0x08cb60…08cb80             74 79 70 65 0d 0a 09 63 61 6c 6c 09 69 6e 62 79 74 65 09 3b 63 6c 65 61 72 73 20 74 68 65 20 63   ┆type   call inbyte ;clears the c┆
0x08cb80…08cba0             6f 6e 74 72 6f 6c 6c 65 72 0d 0a 3b 0d 0a 09 6c 64 61 09 64 62 61 6e 6b 09 09 3b 73 65 74 20 62   ┆ontroller  ;   lda dbank  ;set b┆
0x08cba0…08cbc0             61 6e 6b 20 66 6c 61 67 73 0d 0a 09 6f 72 61 09 61 09 09 3b 7a 65 72 6f 20 69 66 20 64 72 69 76   ┆ank flags   ora a  ;zero if driv┆
0x08cbc0…08cbe0             65 20 30 2c 31 20 61 6e 64 20 6e 7a 20 69 66 20 32 2c 33 0d 0a 09 6d 76 69 09 61 2c 69 6f 70 62   ┆e 0,1 and nz if 2,3   mvi a,iopb┆
0x08cbe0…08cc00             20 61 6e 64 20 30 66 66 68 09 3b 6c 6f 77 20 61 64 64 72 65 73 73 20 66 6f 72 20 69 6f 70 62 0d   ┆ and 0ffh ;low address for iopb ┆
0x08cc00…08cc20 (37, 1, 2)  73 2c 0d 0a 3b 09 62 75 74 20 77 65 20 77 69 6c 6c 20 67 65 74 20 61 20 70 65 72 6d 61 6e 65 6e   ┆s,  ; but we will get a permanen┆
0x08cc20…08cc40             74 20 65 72 72 6f 72 20 6d 65 73 73 61 67 65 20 69 66 20 69 74 20 69 73 20 6e 6f 74 0d 0a 3b 09   ┆t error message if it is not  ; ┆
0x08cc40…08cc60             72 65 63 6f 76 65 72 61 62 6c 65 2e 20 20 69 6e 20 61 6e 79 20 63 61 73 65 2c 20 74 68 65 20 6e   ┆recoverable.  in any case, the n┆
0x08cc60…08cc80             6f 74 20 72 65 61 64 79 20 63 6f 6e 64 69 74 69 6f 6e 20 69 73 0d 0a 3b 09 74 72 65 61 74 65 64   ┆ot ready condition is  ; treated┆
0x08cc80…08cca0             20 61 73 20 61 20 73 65 70 61 72 61 74 65 20 63 6f 6e 64 69 74 69 6f 6e 20 66 6f 72 20 6c 61 74   ┆ as a separate condition for lat┆
0x08cca0…08ccc0             65 72 20 69 6d 70 72 6f 76 65 6d 65 6e 74 0d 0a 74 72 79 63 6f 75 6e 74 3a 0d 0a 3b 09 72 65 67   ┆er improvement  trycount:  ; reg┆
0x08ccc0…08cce0             69 73 74 65 72 20 63 20 63 6f 6e 74 61 69 6e 73 20 72 65 74 72 79 20 63 6f 75 6e 74 2c 20 64 65   ┆ister c contains retry count, de┆
0x08cce0…08cd00             63 72 65 6d 65 6e 74 20 27 74 69 6c 20 7a 65 72 6f 0d 0a 09 64 63 72 09 63 0d 0a 09 6a 6e 7a 09   ┆crement 'til zero   dcr c   jnz ┆
0x08cd00…08cd20             72 65 77 61 69 74 09 3b 66 6f 72 20 61 6e 6f 74 68 65 72 20 74 72 79 0d 0a 3b 0d 0a 3b 09 63 61   ┆rewait ;for another try  ;  ; ca┆
0x08cd20…08cd40             6e 6e 6f 74 20 72 65 63 6f 76 65 72 20 66 72 6f 6d 20 65 72 72 6f 72 0d 0a 09 6d 76 69 09 61 2c   ┆nnot recover from error   mvi a,┆
0x08cd40…08cd60             31 09 3b 65 72 72 6f 72 20 63 6f 64 65 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 3b 09 69 6e 74 79 70 65   ┆1 ;error code   ret  ;  ; intype┆
0x08cd60…08cd80             2c 20 69 6e 62 79 74 65 2c 20 69 6e 73 74 61 74 20 72 65 61 64 20 64 72 69 76 65 20 62 61 6e 6b   ┆, inbyte, instat read drive bank┆
0x08cd80…08cda0             20 30 30 20 6f 72 20 31 30 0d 0a 69 6e 74 79 70 65 3a 09 6c 64 61 09 64 62 61 6e 6b 0d 0a 09 6f   ┆ 00 or 10  intype: lda dbank   o┆
0x08cda0…08cdc0             72 61 09 61 0d 0a 09 6a 6e 7a 09 69 6e 74 79 70 31 09 3b 73 6b 69 70 20 74 6f 20 62 61 6e 6b 20   ┆ra a   jnz intyp1 ;skip to bank ┆
0x08cdc0…08cde0             31 30 0d 0a 09 69 6e 09 72 74 79 70 65 0d 0a 09 72 65 74 0d 0a 69 6e 74 79 70 31 3a 09 69 6e 09   ┆10   in rtype   ret  intyp1: in ┆
0x08cde0…08ce00             72 74 79 70 65 2b 31 30 68 09 3b 37 38 20 66 6f 72 20 30 2c 31 20 20 38 38 20 66 6f 72 20 32 2c   ┆rtype+10h ;78 for 0,1  88 for 2,┆
0x08ce00…08ce20 (37, 1, 3)  61 72 6d 20 73 74 61 72 74 20 28 73 61 76 65 20 69 2f 6f 20 62 79 74 65 29 0d 0a 3b 09 28 62 6f   ┆arm start (save i/o byte)  ; (bo┆
0x08ce20…08ce40             6f 74 20 61 6e 64 20 77 62 6f 6f 74 20 61 72 65 20 74 68 65 20 73 61 6d 65 20 66 6f 72 20 6d 64   ┆ot and wboot are the same for md┆
0x08ce40…08ce60             73 29 0d 0a 3b 09 63 6f 6e 73 74 09 63 6f 6e 73 6f 6c 65 20 73 74 61 74 75 73 0d 0a 3b 09 09 72   ┆s)  ; const console status  ;  r┆
0x08ce60…08ce80             65 67 2d 61 20 3d 20 30 30 20 69 66 20 6e 6f 20 63 68 61 72 61 63 74 65 72 20 72 65 61 64 79 0d   ┆eg-a = 00 if no character ready ┆
0x08ce80…08cea0             0a 3b 09 09 72 65 67 2d 61 20 3d 20 66 66 20 69 66 20 63 68 61 72 61 63 74 65 72 20 72 65 61 64   ┆ ;  reg-a = ff if character read┆
0x08cea0…08cec0             79 0d 0a 3b 09 63 6f 6e 69 6e 09 63 6f 6e 73 6f 6c 65 20 63 68 61 72 61 63 74 65 72 20 69 6e 20   ┆y  ; conin console character in ┆
0x08cec0…08cee0             28 72 65 73 75 6c 74 20 69 6e 20 72 65 67 2d 61 29 0d 0a 3b 09 63 6f 6e 6f 75 74 09 63 6f 6e 73   ┆(result in reg-a)  ; conout cons┆
0x08cee0…08cf00             6f 6c 65 20 63 68 61 72 61 63 74 65 72 20 6f 75 74 20 28 63 68 61 72 20 69 6e 20 72 65 67 2d 63   ┆ole character out (char in reg-c┆
0x08cf00…08cf20             29 0d 0a 3b 09 6c 69 73 74 09 6c 69 73 74 20 6f 75 74 20 28 63 68 61 72 20 69 6e 20 72 65 67 2d   ┆)  ; list list out (char in reg-┆
0x08cf20…08cf40             63 29 0d 0a 3b 09 70 75 6e 63 68 09 70 75 6e 63 68 20 6f 75 74 20 28 63 68 61 72 20 69 6e 20 72   ┆c)  ; punch punch out (char in r┆
0x08cf40…08cf60             65 67 2d 63 29 0d 0a 3b 09 72 65 61 64 65 72 09 70 61 70 65 72 20 74 61 70 65 20 72 65 61 64 65   ┆eg-c)  ; reader paper tape reade┆
0x08cf60…08cf80             72 20 69 6e 20 28 72 65 73 75 6c 74 20 74 6f 20 72 65 67 2d 61 29 0d 0a 3b 09 68 6f 6d 65 09 6d   ┆r in (result to reg-a)  ; home m┆
0x08cf80…08cfa0             6f 76 65 20 74 6f 20 74 72 61 63 6b 20 30 30 0d 0a 3b 0d 0a 3b 09 28 74 68 65 20 66 6f 6c 6c 6f   ┆ove to track 00  ;  ; (the follo┆
0x08cfa0…08cfc0             77 69 6e 67 20 63 61 6c 6c 73 20 73 65 74 2d 75 70 20 74 68 65 20 69 6f 20 70 61 72 61 6d 65 74   ┆wing calls set-up the io paramet┆
0x08cfc0…08cfe0             65 72 20 62 6c 6f 63 6b 20 66 6f 72 20 74 68 65 0d 0a 3b 09 6d 64 73 2c 20 77 68 69 63 68 20 69   ┆er block for the  ; mds, which i┆
0x08cfe0…08d000             73 20 75 73 65 64 20 74 6f 20 70 65 72 66 6f 72 6d 20 73 75 62 73 65 71 75 65 6e 74 20 72 65 61   ┆s used to perform subsequent rea┆
0x08d000…08d020 (37, 1, 4)  0d 0a 63 69 09 65 71 75 09 30 66 38 30 33 68 09 3b 63 6f 6e 73 6f 6c 65 20 63 68 61 72 61 63 74   ┆  ci equ 0f803h ;console charact┆
0x08d020…08d040             65 72 20 74 6f 20 72 65 67 2d 61 0d 0a 72 69 09 65 71 75 09 30 66 38 30 36 68 09 3b 72 65 61 64   ┆er to reg-a  ri equ 0f806h ;read┆
0x08d040…08d060             65 72 20 69 6e 20 74 6f 20 72 65 67 2d 61 0d 0a 63 6f 09 65 71 75 09 30 66 38 30 39 68 09 3b 63   ┆er in to reg-a  co equ 0f809h ;c┆
0x08d060…08d080             6f 6e 73 6f 6c 65 20 63 68 61 72 20 66 72 6f 6d 20 63 20 74 6f 20 63 6f 6e 73 6f 6c 65 20 6f 75   ┆onsole char from c to console ou┆
0x08d080…08d0a0             74 0d 0a 70 6f 09 65 71 75 09 30 66 38 30 63 68 09 3b 70 75 6e 63 68 20 63 68 61 72 20 66 72 6f   ┆t  po equ 0f80ch ;punch char fro┆
0x08d0a0…08d0c0             6d 20 63 20 74 6f 20 70 75 6e 63 68 20 64 65 76 69 63 65 0d 0a 6c 6f 09 65 71 75 09 30 66 38 30   ┆m c to punch device  lo equ 0f80┆
0x08d0c0…08d0e0             66 68 09 3b 6c 69 73 74 20 66 72 6f 6d 20 63 20 74 6f 20 6c 69 73 74 20 64 65 76 69 63 65 0d 0a   ┆fh ;list from c to list device  ┆
0x08d0e0…08d100             63 73 74 73 09 65 71 75 09 30 66 38 31 32 68 09 3b 63 6f 6e 73 6f 6c 65 20 73 74 61 74 75 73 20   ┆csts equ 0f812h ;console status ┆
0x08d100…08d120             30 30 2f 66 66 20 74 6f 20 72 65 67 69 73 74 65 72 20 61 0d 0a 3b 0d 0a 3b 09 64 69 73 6b 20 70   ┆00/ff to register a  ;  ; disk p┆
0x08d120…08d140             6f 72 74 73 20 61 6e 64 20 63 6f 6d 6d 61 6e 64 73 0d 0a 62 61 73 65 09 65 71 75 09 37 38 68 09   ┆orts and commands  base equ 78h ┆
0x08d140…08d160             3b 62 61 73 65 20 6f 66 20 64 69 73 6b 20 63 6f 6d 6d 61 6e 64 20 69 6f 20 70 6f 72 74 73 0d 0a   ┆;base of disk command io ports  ┆
0x08d160…08d180             64 73 74 61 74 09 65 71 75 09 62 61 73 65 09 3b 64 69 73 6b 20 73 74 61 74 75 73 20 28 69 6e 70   ┆dstat equ base ;disk status (inp┆
0x08d180…08d1a0             75 74 29 0d 0a 72 74 79 70 65 09 65 71 75 09 62 61 73 65 2b 31 09 3b 72 65 73 75 6c 74 20 74 79   ┆ut)  rtype equ base+1 ;result ty┆
0x08d1a0…08d1c0             70 65 20 28 69 6e 70 75 74 29 0d 0a 72 62 79 74 65 09 65 71 75 09 62 61 73 65 2b 33 09 3b 72 65   ┆pe (input)  rbyte equ base+3 ;re┆
0x08d1c0…08d1e0             73 75 6c 74 20 62 79 74 65 20 28 69 6e 70 75 74 29 0d 0a 3b 0d 0a 69 6c 6f 77 09 65 71 75 09 62   ┆sult byte (input)  ;  ilow equ b┆
0x08d1e0…08d200             61 73 65 2b 31 09 3b 69 6f 70 62 20 6c 6f 77 20 61 64 64 72 65 73 73 20 28 6f 75 74 70 75 74 29   ┆ase+1 ;iopb low address (output)┆
0x08d200…08d220 (37, 1, 5)  0a 09 6d 76 69 09 62 2c 69 6f 70 62 20 73 68 72 20 38 09 3b 68 69 67 68 20 61 64 64 72 65 73 73   ┆  mvi b,iopb shr 8 ;high address┆
0x08d220…08d240             20 66 6f 72 20 69 6f 70 62 0d 0a 09 6a 6e 7a 09 69 6f 64 72 31 09 3b 64 72 69 76 65 20 62 61 6e   ┆ for iopb   jnz iodr1 ;drive ban┆
0x08d240…08d260             6b 20 31 3f 0d 0a 09 6f 75 74 09 69 6c 6f 77 09 09 3b 6c 6f 77 20 61 64 64 72 65 73 73 20 74 6f   ┆k 1?   out ilow  ;low address to┆
0x08d260…08d280             20 63 6f 6e 74 72 6f 6c 6c 65 72 0d 0a 09 6d 6f 76 09 61 2c 62 0d 0a 09 6f 75 74 09 69 68 69 67   ┆ controller   mov a,b   out ihig┆
0x08d280…08d2a0             68 09 3b 68 69 67 68 20 61 64 64 72 65 73 73 0d 0a 09 6a 6d 70 09 77 61 69 74 30 09 09 3b 74 6f   ┆h ;high address   jmp wait0  ;to┆
0x08d2a0…08d2c0             20 77 61 69 74 20 66 6f 72 20 63 6f 6d 70 6c 65 74 65 0d 0a 3b 0d 0a 69 6f 64 72 31 3a 09 3b 64   ┆ wait for complete  ;  iodr1: ;d┆
0x08d2c0…08d2e0             72 69 76 65 20 62 61 6e 6b 20 31 0d 0a 09 6f 75 74 09 69 6c 6f 77 2b 31 30 68 09 3b 38 38 20 66   ┆rive bank 1   out ilow+10h ;88 f┆
0x08d2e0…08d300             6f 72 20 64 72 69 76 65 20 62 61 6e 6b 20 31 30 0d 0a 09 6d 6f 76 09 61 2c 62 0d 0a 09 6f 75 74   ┆or drive bank 10   mov a,b   out┆
0x08d300…08d320             09 69 68 69 67 68 2b 31 30 68 0d 0a 3b 0d 0a 77 61 69 74 30 3a 09 63 61 6c 6c 09 69 6e 73 74 61   ┆ ihigh+10h  ;  wait0: call insta┆
0x08d320…08d340             74 09 09 3b 77 61 69 74 20 66 6f 72 20 63 6f 6d 70 6c 65 74 69 6f 6e 0d 0a 09 61 6e 69 09 69 6f   ┆t  ;wait for completion   ani io┆
0x08d340…08d360             72 64 79 09 09 3b 72 65 61 64 79 3f 0d 0a 09 6a 7a 09 77 61 69 74 30 0d 0a 3b 0d 0a 3b 09 63 68   ┆rdy  ;ready?   jz wait0  ;  ; ch┆
0x08d360…08d380             65 63 6b 20 69 6f 20 63 6f 6d 70 6c 65 74 69 6f 6e 20 6f 6b 0d 0a 09 63 61 6c 6c 09 69 6e 74 79   ┆eck io completion ok   call inty┆
0x08d380…08d3a0             70 65 09 09 3b 6d 75 73 74 20 62 65 20 69 6f 20 63 6f 6d 70 6c 65 74 65 20 28 30 30 29 20 75 6e   ┆pe  ;must be io complete (00) un┆
0x08d3a0…08d3c0             6c 69 6e 6b 65 64 0d 0a 3b 09 30 30 20 75 6e 6c 69 6e 6b 65 64 20 69 2f 6f 20 63 6f 6d 70 6c 65   ┆linked  ; 00 unlinked i/o comple┆
0x08d3c0…08d3e0             74 65 2c 20 20 20 20 30 31 20 6c 69 6e 6b 65 64 20 69 2f 6f 20 63 6f 6d 70 6c 65 74 65 20 28 6e   ┆te,    01 linked i/o complete (n┆
0x08d3e0…08d400             6f 74 20 75 73 65 64 29 0d 0a 3b 09 31 30 20 64 69 73 6b 20 73 74 61 74 75 73 20 63 68 61 6e 67   ┆ot used)  ; 10 disk status chang┆
0x08d400…08d420 (37, 1, 6)  33 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 69 6e 62 79 74 65 3a 09 6c 64 61 09 64 62 61 6e 6b 0d 0a 09   ┆3   ret  ;  inbyte: lda dbank   ┆
0x08d420…08d440             6f 72 61 09 61 0d 0a 09 6a 6e 7a 09 69 6e 62 79 74 31 0d 0a 09 69 6e 09 72 62 79 74 65 0d 0a 09   ┆ora a   jnz inbyt1   in rbyte   ┆
0x08d440…08d460             72 65 74 0d 0a 69 6e 62 79 74 31 3a 09 69 6e 09 72 62 79 74 65 2b 31 30 68 0d 0a 09 72 65 74 0d   ┆ret  inbyt1: in rbyte+10h   ret ┆
0x08d460…08d480             0a 3b 0d 0a 69 6e 73 74 61 74 3a 09 6c 64 61 09 64 62 61 6e 6b 0d 0a 09 6f 72 61 09 61 0d 0a 09   ┆ ;  instat: lda dbank   ora a   ┆
0x08d480…08d4a0             6a 6e 7a 09 69 6e 73 74 61 31 0d 0a 09 69 6e 09 64 73 74 61 74 0d 0a 09 72 65 74 0d 0a 69 6e 73   ┆jnz insta1   in dstat   ret  ins┆
0x08d4a0…08d4c0             74 61 31 3a 09 69 6e 09 64 73 74 61 74 2b 31 30 68 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 3b 0d 0a 3b   ┆ta1: in dstat+10h   ret  ;  ;  ;┆
0x08d4c0…08d4e0             0d 0a 3b 09 64 61 74 61 20 61 72 65 61 73 20 28 6d 75 73 74 20 62 65 20 69 6e 20 72 61 6d 29 0d   ┆  ; data areas (must be in ram) ┆
0x08d4e0…08d500             0a 64 62 61 6e 6b 3a 09 64 62 09 30 09 3b 64 69 73 6b 20 62 61 6e 6b 20 30 30 20 69 66 20 64 72   ┆ dbank: db 0 ;disk bank 00 if dr┆
0x08d500…08d520             69 76 65 20 30 2c 31 0d 0a 09 09 09 3b 09 20 20 20 31 30 20 69 66 20 64 72 69 76 65 20 32 2c 33   ┆ive 0,1     ;    10 if drive 2,3┆
0x08d520…08d540             0d 0a 69 6f 70 62 3a 09 3b 69 6f 20 70 61 72 61 6d 65 74 65 72 20 62 6c 6f 63 6b 0d 0a 09 64 62   ┆  iopb: ;io parameter block   db┆
0x08d540…08d560             09 38 30 68 09 3b 6e 6f 72 6d 61 6c 20 69 2f 6f 20 6f 70 65 72 61 74 69 6f 6e 0d 0a 69 6f 66 3a   ┆ 80h ;normal i/o operation  iof:┆
0x08d560…08d580             09 64 62 09 72 65 61 64 66 09 3b 69 6f 20 66 75 6e 63 74 69 6f 6e 2c 20 69 6e 69 74 69 61 6c 20   ┆ db readf ;io function, initial ┆
0x08d580…08d5a0             72 65 61 64 0d 0a 69 6f 6e 3a 09 64 62 09 31 09 3b 6e 75 6d 62 65 72 20 6f 66 20 73 65 63 74 6f   ┆read  ion: db 1 ;number of secto┆
0x08d5a0…08d5c0             72 73 20 74 6f 20 72 65 61 64 0d 0a 69 6f 74 3a 09 64 62 09 6f 66 66 73 65 74 09 3b 74 72 61 63   ┆rs to read  iot: db offset ;trac┆
0x08d5c0…08d5e0             6b 20 6e 75 6d 62 65 72 0d 0a 69 6f 73 3a 09 64 62 09 31 09 3b 73 65 63 74 6f 72 20 6e 75 6d 62   ┆k number  ios: db 1 ;sector numb┆
0x08d5e0…08d600             65 72 0d 0a 69 6f 64 3a 09 64 77 09 62 75 66 66 09 3b 69 6f 20 61 64 64 72 65 73 73 0d 0a 3b 0d   ┆er  iod: dw buff ;io address  ; ┆
0x08d600…08d620 (37, 1, 7)  64 73 20 61 6e 64 20 77 72 69 74 65 73 29 0d 0a 3b 09 73 65 6c 64 73 6b 09 73 65 6c 65 63 74 20   ┆ds and writes)  ; seldsk select ┆
0x08d620…08d640             64 69 73 6b 20 67 69 76 65 6e 20 62 79 20 72 65 67 2d 63 20 28 30 2c 31 2c 32 2e 2e 2e 29 0d 0a   ┆disk given by reg-c (0,1,2...)  ┆
0x08d640…08d660             3b 09 73 65 74 74 72 6b 09 73 65 74 20 74 72 61 63 6b 20 61 64 64 72 65 73 73 20 28 30 2c 2e 2e   ┆; settrk set track address (0,..┆
0x08d660…08d680             2e 37 36 29 20 66 6f 72 20 73 75 62 73 65 71 75 65 6e 74 20 72 65 61 64 2f 77 72 69 74 65 0d 0a   ┆.76) for subsequent read/write  ┆
0x08d680…08d6a0             3b 09 73 65 74 73 65 63 09 73 65 74 20 73 65 63 74 6f 72 20 61 64 64 72 65 73 73 20 28 31 2c 2e   ┆; setsec set sector address (1,.┆
0x08d6a0…08d6c0             2e 2e 2c 32 36 29 20 66 6f 72 20 73 75 62 73 65 71 75 65 6e 74 20 72 65 61 64 2f 77 72 69 74 65   ┆..,26) for subsequent read/write┆
0x08d6c0…08d6e0             0d 0a 3b 09 73 65 74 64 6d 61 09 73 65 74 20 73 75 62 73 65 71 75 65 6e 74 20 64 6d 61 20 61 64   ┆  ; setdma set subsequent dma ad┆
0x08d6e0…08d700             64 72 65 73 73 20 28 69 6e 69 74 69 61 6c 6c 79 20 38 30 68 29 0d 0a 3b 0d 0a 3b 09 28 72 65 61   ┆dress (initially 80h)  ;  ; (rea┆
0x08d700…08d720             64 20 61 6e 64 20 77 72 69 74 65 20 61 73 73 75 6d 65 20 70 72 65 76 69 6f 75 73 20 63 61 6c 6c   ┆d and write assume previous call┆
0x08d720…08d740             73 20 74 6f 20 73 65 74 20 75 70 20 74 68 65 20 69 6f 20 70 61 72 61 6d 65 74 65 72 73 29 0d 0a   ┆s to set up the io parameters)  ┆
0x08d740…08d760             3b 09 72 65 61 64 09 72 65 61 64 20 74 72 61 63 6b 2f 73 65 63 74 6f 72 20 74 6f 20 70 72 65 73   ┆; read read track/sector to pres┆
0x08d760…08d780             65 74 20 64 6d 61 20 61 64 64 72 65 73 73 0d 0a 3b 09 77 72 69 74 65 09 77 72 69 74 65 20 74 72   ┆et dma address  ; write write tr┆
0x08d780…08d7a0             61 63 6b 2f 73 65 63 74 6f 72 20 66 72 6f 6d 20 70 72 65 73 65 74 20 64 6d 61 20 61 64 64 72 65   ┆ack/sector from preset dma addre┆
0x08d7a0…08d7c0             73 73 0d 0a 3b 0d 0a 3b 09 6a 75 6d 70 20 76 65 63 74 6f 72 20 66 6f 72 20 69 6e 64 69 76 69 75   ┆ss  ;  ; jump vector for indiviu┆
0x08d7c0…08d7e0             61 6c 20 72 6f 75 74 69 6e 65 73 0d 0a 09 6a 6d 70 09 62 6f 6f 74 0d 0a 77 62 6f 6f 74 65 3a 09   ┆al routines   jmp boot  wboote: ┆
0x08d7e0…08d800             6a 6d 70 09 77 62 6f 6f 74 0d 0a 09 6a 6d 70 09 63 6f 6e 73 74 0d 0a 09 6a 6d 70 09 63 6f 6e 69   ┆jmp wboot   jmp const   jmp coni┆
0x08d800…08d820 (37, 1, 8)  0d 0a 69 68 69 67 68 09 65 71 75 09 62 61 73 65 2b 32 09 3b 69 6f 70 62 20 68 69 67 68 20 61 64   ┆  ihigh equ base+2 ;iopb high ad┆
0x08d820…08d840             64 72 65 73 73 20 28 6f 75 74 70 75 74 29 0d 0a 3b 0d 0a 72 65 61 64 66 09 65 71 75 09 34 68 09   ┆dress (output)  ;  readf equ 4h ┆
0x08d840…08d860             3b 72 65 61 64 20 66 75 6e 63 74 69 6f 6e 0d 0a 77 72 69 74 66 09 65 71 75 09 36 68 09 3b 77 72   ┆;read function  writf equ 6h ;wr┆
0x08d860…08d880             69 74 65 20 66 75 6e 63 74 69 6f 6e 0d 0a 72 65 63 61 6c 09 65 71 75 09 33 68 09 3b 72 65 63 61   ┆ite function  recal equ 3h ;reca┆
0x08d880…08d8a0             6c 69 62 72 61 74 65 20 64 72 69 76 65 0d 0a 69 6f 72 64 79 09 65 71 75 09 34 68 09 3b 69 2f 6f   ┆librate drive  iordy equ 4h ;i/o┆
0x08d8a0…08d8c0             20 66 69 6e 69 73 68 65 64 20 6d 61 73 6b 0d 0a 63 72 09 65 71 75 09 30 64 68 09 3b 63 61 72 72   ┆ finished mask  cr equ 0dh ;carr┆
0x08d8c0…08d8e0             69 61 67 65 20 72 65 74 75 72 6e 0d 0a 6c 66 09 65 71 75 09 30 61 68 09 3b 6c 69 6e 65 20 66 65   ┆iage return  lf equ 0ah ;line fe┆
0x08d8e0…08d900             65 64 0d 0a 3b 0d 0a 73 69 67 6e 6f 6e 3a 09 3b 73 69 67 6e 6f 6e 20 6d 65 73 73 61 67 65 3a 20   ┆ed  ;  signon: ;signon message: ┆
0x08d900…08d920             78 78 6b 20 63 70 2f 6d 20 76 65 72 73 20 79 2e 79 0d 0a 09 64 62 09 63 72 2c 6c 66 2c 6c 66 0d   ┆xxk cp/m vers y.y   db cr,lf,lf ┆
0x08d920…08d940             0a 09 69 66 09 74 65 73 74 0d 0a 09 64 62 09 27 33 32 27 09 3b 33 32 6b 20 65 78 61 6d 70 6c 65   ┆  if test   db '32' ;32k example┆
0x08d940…08d960             20 62 69 6f 73 0d 0a 09 65 6e 64 69 66 0d 0a 09 69 66 09 6e 6f 74 20 74 65 73 74 0d 0a 09 64 62   ┆ bios   endif   if not test   db┆
0x08d960…08d980             09 27 30 30 27 09 3b 6d 65 6d 6f 72 79 20 73 69 7a 65 20 66 69 6c 6c 65 64 20 62 79 20 72 65 6c   ┆ '00' ;memory size filled by rel┆
0x08d980…08d9a0             6f 63 61 74 6f 72 0d 0a 09 65 6e 64 69 66 0d 0a 09 64 62 09 27 6b 20 43 50 2f 4d 20 76 65 72 73   ┆ocator   endif   db 'k CP/M vers┆
0x08d9a0…08d9c0             20 27 0d 0a 09 64 62 09 76 65 72 73 2f 31 30 2b 27 30 27 2c 27 2e 27 2c 76 65 72 73 20 6d 6f 64   ┆ '   db vers/10+'0','.',vers mod┆
0x08d9c0…08d9e0             20 31 30 2b 27 30 27 0d 0a 09 64 62 09 63 72 2c 6c 66 2c 30 0d 0a 3b 0d 0a 62 6f 6f 74 3a 09 3b   ┆ 10+'0'   db cr,lf,0  ;  boot: ;┆
0x08d9e0…08da00             70 72 69 6e 74 20 73 69 67 6e 6f 6e 20 6d 65 73 73 61 67 65 20 61 6e 64 20 67 6f 20 74 6f 20 63   ┆print signon message and go to c┆
0x08da00…08da20 (37, 1, 9)  65 64 20 20 20 20 20 20 20 31 31 20 28 6e 6f 74 20 75 73 65 64 29 0d 0a 09 63 70 69 09 31 30 62   ┆ed       11 (not used)   cpi 10b┆
0x08da20…08da40             09 09 3b 72 65 61 64 79 20 73 74 61 74 75 73 20 63 68 61 6e 67 65 3f 0d 0a 09 6a 7a 09 77 72 65   ┆  ;ready status change?   jz wre┆
0x08da40…08da60             61 64 79 0d 0a 3b 0d 0a 3b 09 6d 75 73 74 20 62 65 20 30 30 20 69 6e 20 74 68 65 20 61 63 63 75   ┆ady  ;  ; must be 00 in the accu┆
0x08da60…08da80             6d 75 6c 61 74 6f 72 0d 0a 09 6f 72 61 09 61 0d 0a 09 6a 6e 7a 09 77 65 72 72 6f 72 09 09 3b 73   ┆mulator   ora a   jnz werror  ;s┆
0x08da80…08daa0             6f 6d 65 20 6f 74 68 65 72 20 63 6f 6e 64 69 74 69 6f 6e 2c 20 72 65 74 72 79 0d 0a 3b 0d 0a 3b   ┆ome other condition, retry  ;  ;┆
0x08daa0…08dac0             09 63 68 65 63 6b 20 69 2f 6f 20 65 72 72 6f 72 20 62 69 74 73 0d 0a 09 63 61 6c 6c 09 69 6e 62   ┆ check i/o error bits   call inb┆
0x08dac0…08dae0             79 74 65 0d 0a 09 72 61 6c 0d 0a 09 6a 63 09 77 72 65 61 64 79 09 09 3b 75 6e 69 74 20 6e 6f 74   ┆yte   ral   jc wready  ;unit not┆
0x08dae0…08db00             20 72 65 61 64 79 0d 0a 09 72 61 72 0d 0a 09 61 6e 69 09 31 31 31 31 31 31 31 30 62 09 3b 61 6e   ┆ ready   rar   ani 11111110b ;an┆
0x08db00…08db20             79 20 6f 74 68 65 72 20 65 72 72 6f 72 73 3f 20 20 28 64 65 6c 65 74 65 64 20 64 61 74 61 20 6f   ┆y other errors?  (deleted data o┆
0x08db20…08db40             6b 29 0d 0a 09 6a 6e 7a 09 77 65 72 72 6f 72 0d 0a 3b 0d 0a 3b 09 72 65 61 64 20 6f 72 20 77 72   ┆k)   jnz werror  ;  ; read or wr┆
0x08db40…08db60             69 74 65 20 69 73 20 6f 6b 2c 20 61 63 63 75 6d 75 6c 61 74 6f 72 20 63 6f 6e 74 61 69 6e 73 20   ┆ite is ok, accumulator contains ┆
0x08db60…08db80             7a 65 72 6f 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 77 72 65 61 64 79 3a 09 3b 6e 6f 74 20 72 65 61 64   ┆zero   ret  ;  wready: ;not read┆
0x08db80…08dba0             79 2c 20 74 72 65 61 74 20 61 73 20 65 72 72 6f 72 20 66 6f 72 20 6e 6f 77 0d 0a 09 63 61 6c 6c   ┆y, treat as error for now   call┆
0x08dba0…08dbc0             09 69 6e 62 79 74 65 09 09 3b 63 6c 65 61 72 20 72 65 73 75 6c 74 20 62 79 74 65 0d 0a 09 6a 6d   ┆ inbyte  ;clear result byte   jm┆
0x08dbc0…08dbe0             70 09 74 72 79 63 6f 75 6e 74 0d 0a 3b 0d 0a 77 65 72 72 6f 72 3a 09 3b 72 65 74 75 72 6e 20 68   ┆p trycount  ;  werror: ;return h┆
0x08dbe0…08dc00             61 72 64 77 61 72 65 20 6d 61 6c 66 75 6e 63 74 69 6f 6e 20 28 63 72 63 2c 20 74 72 61 63 6b 2c   ┆ardware malfunction (crc, track,┆
0x08dc00…08dc20 (37, 1, 10) 0a 3b 0d 0a 3b 09 64 65 66 69 6e 65 20 72 61 6d 20 61 72 65 61 73 20 66 6f 72 20 62 64 6f 73 20   ┆ ;  ; define ram areas for bdos ┆
0x08dc20…08dc40             6f 70 65 72 61 74 69 6f 6e 0d 0a 09 65 6e 64 65 66 0d 0a 09 65 6e 64 0d 0a 3b 09 4d 44 53 2d 38   ┆operation   endef   end  ; MDS-8┆
0x08dc40…08dc60             30 30 20 49 2f 4f 20 44 72 69 76 65 72 73 20 66 6f 72 20 43 50 2f 4d 20 32 2e 32 0d 0a 3b 09 28   ┆00 I/O Drivers for CP/M 2.2  ; (┆
0x08dc60…08dc80             66 6f 75 72 20 64 72 69 76 65 20 73 69 6e 67 6c 65 20 64 65 6e 73 69 74 79 20 76 65 72 73 69 6f   ┆four drive single density versio┆
0x08dc80…08dca0             6e 29 0d 0a 3b 0d 0a 3b 09 56 65 72 73 69 6f 6e 20 32 2e 32 20 46 65 62 72 75 61 72 79 2c 20 31   ┆n)  ;  ; Version 2.2 February, 1┆
0x08dca0…08dcc0             39 38 30 0d 0a 3b 0d 0a 76 65 72 73 09 65 71 75 09 32 32 09 3b 76 65 72 73 69 6f 6e 20 32 2e 32   ┆980  ;  vers equ 22 ;version 2.2┆
0x08dcc0…08dce0             0d 0a 3b 0d 0a 3b 09 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 31 39 38 30 0d 0a 3b 09 44 69 67   ┆  ;  ; Copyright (c) 1980  ; Dig┆
0x08dce0…08dd00             69 74 61 6c 20 52 65 73 65 61 72 63 68 0d 0a 3b 09 42 6f 78 20 35 37 39 2c 20 50 61 63 69 66 69   ┆ital Research  ; Box 579, Pacifi┆
0x08dd00…08dd20             63 20 47 72 6f 76 65 0d 0a 3b 09 43 61 6c 69 66 6f 72 6e 69 61 2c 20 39 33 39 35 30 0d 0a 3b 0d   ┆c Grove  ; California, 93950  ; ┆
0x08dd20…08dd40             0a 3b 0d 0a 74 72 75 65 09 65 71 75 09 30 66 66 66 66 68 09 3b 76 61 6c 75 65 20 6f 66 20 22 74   ┆ ;  true equ 0ffffh ;value of "t┆
0x08dd40…08dd60             72 75 65 22 0d 0a 66 61 6c 73 65 09 65 71 75 09 6e 6f 74 20 74 72 75 65 09 3b 22 66 61 6c 73 65   ┆rue"  false equ not true ;"false┆
0x08dd60…08dd80             22 0d 0a 74 65 73 74 09 65 71 75 09 66 61 6c 73 65 09 3b 74 72 75 65 20 69 66 20 74 65 73 74 20   ┆"  test equ false ;true if test ┆
0x08dd80…08dda0             62 69 6f 73 0d 0a 3b 0d 0a 09 69 66 09 74 65 73 74 0d 0a 62 69 61 73 09 65 71 75 09 30 33 34 30   ┆bios  ;   if test  bias equ 0340┆
0x08dda0…08ddc0             30 68 09 3b 62 61 73 65 20 6f 66 20 43 43 50 20 69 6e 20 74 65 73 74 20 73 79 73 74 65 6d 0d 0a   ┆0h ;base of CCP in test system  ┆
0x08ddc0…08dde0             09 65 6e 64 69 66 0d 0a 09 69 66 09 6e 6f 74 20 74 65 73 74 0d 0a 62 69 61 73 09 65 71 75 09 30   ┆ endif   if not test  bias equ 0┆
0x08dde0…08de00             30 30 30 68 09 3b 67 65 6e 65 72 61 74 65 20 72 65 6c 6f 63 61 74 61 62 6c 65 20 63 70 2f 6d 20   ┆000h ;generate relocatable cp/m ┆
0x08de00…08de20 (37, 1, 11) 6e 0d 0a 09 6a 6d 70 09 63 6f 6e 6f 75 74 0d 0a 09 6a 6d 70 09 6c 69 73 74 0d 0a 09 6a 6d 70 09   ┆n   jmp conout   jmp list   jmp ┆
0x08de20…08de40             70 75 6e 63 68 0d 0a 09 6a 6d 70 09 72 65 61 64 65 72 0d 0a 09 6a 6d 70 09 68 6f 6d 65 0d 0a 09   ┆punch   jmp reader   jmp home   ┆
0x08de40…08de60             6a 6d 70 09 73 65 6c 64 73 6b 0d 0a 09 6a 6d 70 09 73 65 74 74 72 6b 0d 0a 09 6a 6d 70 09 73 65   ┆jmp seldsk   jmp settrk   jmp se┆
0x08de60…08de80             74 73 65 63 0d 0a 09 6a 6d 70 09 73 65 74 64 6d 61 0d 0a 09 6a 6d 70 09 72 65 61 64 0d 0a 09 6a   ┆tsec   jmp setdma   jmp read   j┆
0x08de80…08dea0             6d 70 09 77 72 69 74 65 0d 0a 09 6a 6d 70 09 6c 69 73 74 73 74 09 3b 6c 69 73 74 20 73 74 61 74   ┆mp write   jmp listst ;list stat┆
0x08dea0…08dec0             75 73 0d 0a 09 6a 6d 70 09 73 65 63 74 72 61 6e 0d 0a 3b 0d 0a 09 6d 61 63 6c 69 62 09 64 69 73   ┆us   jmp sectran  ;   maclib dis┆
0x08dec0…08dee0             6b 64 65 66 09 3b 6c 6f 61 64 20 74 68 65 20 64 69 73 6b 20 64 65 66 69 6e 69 74 69 6f 6e 20 6c   ┆kdef ;load the disk definition l┆
0x08dee0…08df00             69 62 72 61 72 79 0d 0a 09 64 69 73 6b 73 09 34 09 3b 66 6f 75 72 20 64 69 73 6b 73 0d 0a 09 64   ┆ibrary   disks 4 ;four disks   d┆
0x08df00…08df20             69 73 6b 64 65 66 09 30 2c 31 2c 32 36 2c 36 2c 31 30 32 34 2c 32 34 33 2c 36 34 2c 36 34 2c 6f   ┆iskdef 0,1,26,6,1024,243,64,64,o┆
0x08df20…08df40             66 66 73 65 74 0d 0a 09 64 69 73 6b 64 65 66 09 31 2c 30 0d 0a 09 64 69 73 6b 64 65 66 09 32 2c   ┆ffset   diskdef 1,0   diskdef 2,┆
0x08df40…08df60             30 0d 0a 09 64 69 73 6b 64 65 66 09 33 2c 30 0d 0a 3b 09 65 6e 64 65 66 20 6f 63 63 75 72 73 20   ┆0   diskdef 3,0  ; endef occurs ┆
0x08df60…08df80             61 74 20 65 6e 64 20 6f 66 20 61 73 73 65 6d 62 6c 79 0d 0a 3b 0d 0a 3b 09 65 6e 64 20 6f 66 20   ┆at end of assembly  ;  ; end of ┆
0x08df80…08dfa0             63 6f 6e 74 72 6f 6c 6c 65 72 20 2d 20 69 6e 64 65 70 65 6e 64 65 6e 74 20 63 6f 64 65 2c 20 74   ┆controller - independent code, t┆
0x08dfa0…08dfc0             68 65 20 72 65 6d 61 69 6e 69 6e 67 20 73 75 62 72 6f 75 74 69 6e 65 73 0d 0a 3b 09 61 72 65 20   ┆he remaining subroutines  ; are ┆
0x08dfc0…08dfe0             74 61 69 6c 6f 72 65 64 20 74 6f 20 74 68 65 20 70 61 72 74 69 63 75 6c 61 72 20 6f 70 65 72 61   ┆tailored to the particular opera┆
0x08dfe0…08e000             74 69 6e 67 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 2c 20 61 6e 64 20 6d 75 73 74 0d 0a 3b 09 62 65   ┆ting environment, and must  ; be┆
0x08e000…08e020 (37, 1, 12) 63 70 0d 0a 3b 09 28 6e 6f 74 65 3a 20 6d 64 73 20 62 6f 6f 74 20 69 6e 69 74 69 61 6c 69 7a 65   ┆cp  ; (note: mds boot initialize┆
0x08e020…08e040             64 20 69 6f 62 79 74 65 20 61 74 20 30 30 30 33 68 29 0d 0a 09 6c 78 69 09 73 70 2c 62 75 66 66   ┆d iobyte at 0003h)   lxi sp,buff┆
0x08e040…08e060             2b 38 30 68 0d 0a 09 6c 78 69 09 68 2c 73 69 67 6e 6f 6e 0d 0a 09 63 61 6c 6c 09 70 72 6d 73 67   ┆+80h   lxi h,signon   call prmsg┆
0x08e060…08e080             09 3b 70 72 69 6e 74 20 6d 65 73 73 61 67 65 0d 0a 09 78 72 61 09 61 09 3b 63 6c 65 61 72 20 61   ┆ ;print message   xra a ;clear a┆
0x08e080…08e0a0             63 63 75 6d 75 6c 61 74 6f 72 0d 0a 09 73 74 61 09 63 64 69 73 6b 09 3b 73 65 74 20 69 6e 69 74   ┆ccumulator   sta cdisk ;set init┆
0x08e0a0…08e0c0             69 61 6c 6c 79 20 74 6f 20 64 69 73 6b 20 61 0d 0a 09 6a 6d 70 09 67 6f 63 70 6d 09 3b 67 6f 20   ┆ially to disk a   jmp gocpm ;go ┆
0x08e0c0…08e0e0             74 6f 20 63 70 2f 6d 0d 0a 3b 0d 0a 3b 0d 0a 77 62 6f 6f 74 3a 3b 09 6c 6f 61 64 65 72 20 6f 6e   ┆to cp/m  ;  ;  wboot:; loader on┆
0x08e0e0…08e100             20 74 72 61 63 6b 20 30 2c 20 73 65 63 74 6f 72 20 31 2c 20 77 68 69 63 68 20 77 69 6c 6c 20 62   ┆ track 0, sector 1, which will b┆
0x08e100…08e120             65 20 73 6b 69 70 70 65 64 20 66 6f 72 20 77 61 72 6d 20 0d 0a 3b 09 72 65 61 64 20 63 70 2f 6d   ┆e skipped for warm   ; read cp/m┆
0x08e120…08e140             20 66 72 6f 6d 20 64 69 73 6b 20 2d 20 61 73 73 75 6d 69 6e 67 20 74 68 65 72 65 20 69 73 20 61   ┆ from disk - assuming there is a┆
0x08e140…08e160             20 31 32 38 20 62 79 74 65 20 63 6f 6c 64 20 73 74 61 72 74 0d 0a 3b 09 73 74 61 72 74 2e 0d 0a   ┆ 128 byte cold start  ; start.  ┆
0x08e160…08e180             3b 0d 0a 09 6c 78 69 09 73 70 2c 62 75 66 66 09 3b 75 73 69 6e 67 20 64 6d 61 20 2d 20 74 68 75   ┆;   lxi sp,buff ;using dma - thu┆
0x08e180…08e1a0             73 20 38 30 20 74 68 72 75 20 66 66 20 61 76 61 69 6c 61 62 6c 65 20 66 6f 72 20 73 74 61 63 6b   ┆s 80 thru ff available for stack┆
0x08e1a0…08e1c0             0d 0a 3b 0d 0a 09 6d 76 69 09 63 2c 72 65 74 72 79 09 3b 6d 61 78 20 72 65 74 72 69 65 73 0d 0a   ┆  ;   mvi c,retry ;max retries  ┆
0x08e1c0…08e1e0             09 70 75 73 68 09 62 0d 0a 77 62 6f 6f 74 30 3a 09 3b 65 6e 74 65 72 20 68 65 72 65 20 6f 6e 20   ┆ push b  wboot0: ;enter here on ┆
0x08e1e0…08e200             65 72 72 6f 72 20 72 65 74 72 69 65 73 0d 0a 09 6c 78 69 09 62 2c 63 70 6d 62 09 3b 73 65 74 20   ┆error retries   lxi b,cpmb ;set ┆
0x08e200…08e220 (37, 1, 13) 20 73 65 65 6b 2c 20 65 74 63 2e 29 0d 0a 3b 09 74 68 65 20 6d 64 73 20 63 6f 6e 74 72 6f 6c 6c   ┆ seek, etc.)  ; the mds controll┆
0x08e220…08e240             65 72 20 68 61 73 20 72 65 74 75 72 6e 65 64 20 61 20 62 69 74 20 69 6e 20 65 61 63 68 20 70 6f   ┆er has returned a bit in each po┆
0x08e240…08e260             73 69 74 69 6f 6e 0d 0a 3b 09 6f 66 20 74 68 65 20 61 63 63 75 6d 75 6c 61 74 6f 72 2c 20 63 6f   ┆sition  ; of the accumulator, co┆
0x08e260…08e280             72 72 65 73 70 6f 6e 64 69 6e 67 20 74 6f 20 74 68 65 20 63 6f 6e 64 69 74 69 6f 6e 73 3a 0d 0a   ┆rresponding to the conditions:  ┆
0x08e280…08e2a0             3b 09 30 09 2d 20 64 65 6c 65 74 65 64 20 64 61 74 61 20 28 61 63 63 65 70 74 65 64 20 61 73 20   ┆; 0 - deleted data (accepted as ┆
0x08e2a0…08e2c0             6f 6b 20 61 62 6f 76 65 29 0d 0a 3b 09 31 09 2d 20 63 72 63 20 65 72 72 6f 72 0d 0a 3b 09 32 09   ┆ok above)  ; 1 - crc error  ; 2 ┆
0x08e2c0…08e2e0             2d 20 73 65 65 6b 20 65 72 72 6f 72 0d 0a 3b 09 33 09 2d 20 61 64 64 72 65 73 73 20 65 72 72 6f   ┆- seek error  ; 3 - address erro┆
0x08e2e0…08e300             72 20 28 68 61 72 64 77 61 72 65 20 6d 61 6c 66 75 6e 63 74 69 6f 6e 29 0d 0a 3b 09 34 09 2d 20   ┆r (hardware malfunction)  ; 4 - ┆
0x08e300…08e320             64 61 74 61 20 6f 76 65 72 2f 75 6e 64 65 72 20 66 6c 6f 77 20 28 68 61 72 64 77 61 72 65 20 6d   ┆data over/under flow (hardware m┆
0x08e320…08e340             61 6c 66 75 6e 63 74 69 6f 6e 29 0d 0a 3b 09 35 09 2d 20 77 72 69 74 65 20 70 72 6f 74 65 63 74   ┆alfunction)  ; 5 - write protect┆
0x08e340…08e360             20 28 74 72 65 61 74 65 64 20 61 73 20 6e 6f 74 20 72 65 61 64 79 29 0d 0a 3b 09 36 09 2d 20 77   ┆ (treated as not ready)  ; 6 - w┆
0x08e360…08e380             72 69 74 65 20 65 72 72 6f 72 20 28 68 61 72 64 77 61 72 65 20 6d 61 6c 66 75 6e 63 74 69 6f 6e   ┆rite error (hardware malfunction┆
0x08e380…08e3a0             29 0d 0a 3b 09 37 09 2d 20 6e 6f 74 20 72 65 61 64 79 0d 0a 3b 09 28 61 63 63 75 6d 75 6c 61 74   ┆)  ; 7 - not ready  ; (accumulat┆
0x08e3a0…08e3c0             6f 72 20 62 69 74 73 20 61 72 65 20 6e 75 6d 62 65 72 65 64 20 37 20 36 20 35 20 34 20 33 20 32   ┆or bits are numbered 7 6 5 4 3 2┆
0x08e3c0…08e3e0             20 31 20 30 29 0d 0a 3b 0d 0a 3b 09 69 74 20 6d 61 79 20 62 65 20 75 73 65 66 75 6c 20 74 6f 20   ┆ 1 0)  ;  ; it may be useful to ┆
0x08e3e0…08e400             66 69 6c 74 65 72 20 6f 75 74 20 74 68 65 20 76 61 72 69 6f 75 73 20 63 6f 6e 64 69 74 69 6f 6e   ┆filter out the various condition┆
0x08e400…08e420 (37, 1, 14) 73 79 73 74 65 6d 0d 0a 09 65 6e 64 69 66 0d 0a 3b 0d 0a 70 61 74 63 68 09 65 71 75 09 31 36 30   ┆system   endif  ;  patch equ 160┆
0x08e420…08e440             30 68 0d 0a 3b 0d 0a 09 6f 72 67 09 70 61 74 63 68 0d 0a 63 70 6d 62 09 65 71 75 09 24 2d 70 61   ┆0h  ;   org patch  cpmb equ $-pa┆
0x08e440…08e460             74 63 68 09 3b 62 61 73 65 20 6f 66 20 63 70 6d 20 63 6f 6e 73 6f 6c 65 20 70 72 6f 63 65 73 73   ┆tch ;base of cpm console process┆
0x08e460…08e480             6f 72 0d 0a 62 64 6f 73 09 65 71 75 09 38 30 36 68 2b 63 70 6d 62 09 3b 62 61 73 69 63 20 64 6f   ┆or  bdos equ 806h+cpmb ;basic do┆
0x08e480…08e4a0             73 20 28 72 65 73 69 64 65 6e 74 20 70 6f 72 74 69 6f 6e 29 0d 0a 63 70 6d 6c 09 65 71 75 09 24   ┆s (resident portion)  cpml equ $┆
0x08e4a0…08e4c0             2d 63 70 6d 62 09 3b 6c 65 6e 67 74 68 20 28 69 6e 20 62 79 74 65 73 29 20 6f 66 20 63 70 6d 20   ┆-cpmb ;length (in bytes) of cpm ┆
0x08e4c0…08e4e0             73 79 73 74 65 6d 0d 0a 6e 73 65 63 74 73 09 65 71 75 09 63 70 6d 6c 2f 31 32 38 09 3b 6e 75 6d   ┆system  nsects equ cpml/128 ;num┆
0x08e4e0…08e500             62 65 72 20 6f 66 20 73 65 63 74 6f 72 73 20 74 6f 20 6c 6f 61 64 0d 0a 6f 66 66 73 65 74 09 65   ┆ber of sectors to load  offset e┆
0x08e500…08e520             71 75 09 32 09 3b 6e 75 6d 62 65 72 20 6f 66 20 64 69 73 6b 20 74 72 61 63 6b 73 20 75 73 65 64   ┆qu 2 ;number of disk tracks used┆
0x08e520…08e540             20 62 79 20 63 70 2f 6d 0d 0a 63 64 69 73 6b 09 65 71 75 09 30 30 30 34 68 09 3b 61 64 64 72 65   ┆ by cp/m  cdisk equ 0004h ;addre┆
0x08e540…08e560             73 73 20 6f 66 20 6c 61 73 74 20 6c 6f 67 67 65 64 20 64 69 73 6b 20 6f 6e 20 77 61 72 6d 20 73   ┆ss of last logged disk on warm s┆
0x08e560…08e580             74 61 72 74 0d 0a 62 75 66 66 09 65 71 75 09 30 30 38 30 68 09 3b 64 65 66 61 75 6c 74 20 62 75   ┆tart  buff equ 0080h ;default bu┆
0x08e580…08e5a0             66 66 65 72 20 61 64 64 72 65 73 73 0d 0a 72 65 74 72 79 09 65 71 75 09 31 30 09 3b 6d 61 78 20   ┆ffer address  retry equ 10 ;max ┆
0x08e5a0…08e5c0             72 65 74 72 69 65 73 20 6f 6e 20 64 69 73 6b 20 69 2f 6f 20 62 65 66 6f 72 65 20 65 72 72 6f 72   ┆retries on disk i/o before error┆
0x08e5c0…08e5e0             0d 0a 3b 0d 0a 3b 09 70 65 72 66 6f 72 6d 20 66 6f 6c 6c 6f 77 69 6e 67 20 66 75 6e 63 74 69 6f   ┆  ;  ; perform following functio┆
0x08e5e0…08e600             6e 73 0d 0a 3b 09 62 6f 6f 74 09 63 6f 6c 64 20 73 74 61 72 74 0d 0a 3b 09 77 62 6f 6f 74 09 77   ┆ns  ; boot cold start  ; wboot w┆
0x08e600…08e620 (37, 1, 15) 20 61 6c 74 65 72 65 64 20 66 6f 72 20 61 6e 79 20 73 79 73 74 65 6d 20 77 68 69 63 68 20 64 69   ┆ altered for any system which di┆
0x08e620…08e640             66 66 65 72 73 20 66 72 6f 6d 20 74 68 65 20 69 6e 74 65 6c 20 6d 64 73 2e 0d 0a 3b 0d 0a 3b 09   ┆ffers from the intel mds.  ;  ; ┆
0x08e640…08e660             74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 64 65 20 61 73 73 75 6d 65 73 20 74 68 65 20 6d   ┆the following code assumes the m┆
0x08e660…08e680             64 73 20 6d 6f 6e 69 74 6f 72 20 65 78 69 73 74 73 20 61 74 20 30 66 38 30 30 68 0d 0a 3b 09 61   ┆ds monitor exists at 0f800h  ; a┆
0x08e680…08e6a0             6e 64 20 75 73 65 73 20 74 68 65 20 69 2f 6f 20 73 75 62 72 6f 75 74 69 6e 65 73 20 77 69 74 68   ┆nd uses the i/o subroutines with┆
0x08e6a0…08e6c0             69 6e 20 74 68 65 20 6d 6f 6e 69 74 6f 72 0d 0a 3b 0d 0a 3b 09 77 65 20 61 6c 73 6f 20 61 73 73   ┆in the monitor  ;  ; we also ass┆
0x08e6c0…08e6e0             75 6d 65 20 74 68 65 20 6d 64 73 20 73 79 73 74 65 6d 20 68 61 73 20 66 6f 75 72 20 64 69 73 6b   ┆ume the mds system has four disk┆
0x08e6e0…08e700             20 64 72 69 76 65 73 0d 0a 72 65 76 72 74 09 65 71 75 09 30 66 64 68 09 3b 69 6e 74 65 72 72 75   ┆ drives  revrt equ 0fdh ;interru┆
0x08e700…08e720             70 74 20 72 65 76 65 72 74 20 70 6f 72 74 0d 0a 69 6e 74 63 09 65 71 75 09 30 66 63 68 09 3b 69   ┆pt revert port  intc equ 0fch ;i┆
0x08e720…08e740             6e 74 65 72 72 75 70 74 20 6d 61 73 6b 20 70 6f 72 74 0d 0a 69 63 6f 6e 09 65 71 75 09 30 66 33   ┆nterrupt mask port  icon equ 0f3┆
0x08e740…08e760             68 09 3b 69 6e 74 65 72 72 75 70 74 20 63 6f 6e 74 72 6f 6c 20 70 6f 72 74 0d 0a 69 6e 74 65 09   ┆h ;interrupt control port  inte ┆
0x08e760…08e780             65 71 75 09 30 31 31 31 24 31 31 31 30 62 09 3b 65 6e 61 62 6c 65 20 72 73 74 20 30 28 77 61 72   ┆equ 0111$1110b ;enable rst 0(war┆
0x08e780…08e7a0             6d 20 62 6f 6f 74 29 2c 20 72 73 74 20 37 20 28 6d 6f 6e 69 74 6f 72 29 0d 0a 3b 0d 0a 3b 09 6d   ┆m boot), rst 7 (monitor)  ;  ; m┆
0x08e7a0…08e7c0             64 73 20 6d 6f 6e 69 74 6f 72 20 65 71 75 61 74 65 73 0d 0a 6d 6f 6e 38 30 09 65 71 75 09 30 66   ┆ds monitor equates  mon80 equ 0f┆
0x08e7c0…08e7e0             38 30 30 68 09 3b 6d 64 73 20 6d 6f 6e 69 74 6f 72 0d 0a 72 6d 6f 6e 38 30 09 65 71 75 09 30 66   ┆800h ;mds monitor  rmon80 equ 0f┆
0x08e7e0…08e800             66 30 66 68 09 3b 72 65 73 74 61 72 74 20 6d 6f 6e 38 30 20 28 62 6f 6f 74 20 65 72 72 6f 72 29   ┆f0fh ;restart mon80 (boot error)┆
0x08e800…08e820 (38, 0, 1)  64 6d 61 20 61 64 64 72 65 73 73 20 74 6f 20 73 74 61 72 74 20 6f 66 20 64 69 73 6b 20 73 79 73   ┆dma address to start of disk sys┆
0x08e820…08e840             74 65 6d 0d 0a 09 63 61 6c 6c 09 73 65 74 64 6d 61 0d 0a 09 6d 76 69 09 63 2c 30 09 3b 62 6f 6f   ┆tem   call setdma   mvi c,0 ;boo┆
0x08e840…08e860             74 20 66 72 6f 6d 20 64 72 69 76 65 20 30 0d 0a 09 63 61 6c 6c 09 73 65 6c 64 73 6b 0d 0a 09 6d   ┆t from drive 0   call seldsk   m┆
0x08e860…08e880             76 69 09 63 2c 30 0d 0a 09 63 61 6c 6c 09 73 65 74 74 72 6b 09 3b 73 74 61 72 74 20 77 69 74 68   ┆vi c,0   call settrk ;start with┆
0x08e880…08e8a0             20 74 72 61 63 6b 20 30 0d 0a 09 6d 76 69 09 63 2c 32 09 3b 73 74 61 72 74 20 72 65 61 64 69 6e   ┆ track 0   mvi c,2 ;start readin┆
0x08e8a0…08e8c0             67 20 73 65 63 74 6f 72 20 32 0d 0a 09 63 61 6c 6c 09 73 65 74 73 65 63 0d 0a 3b 0d 0a 3b 09 72   ┆g sector 2   call setsec  ;  ; r┆
0x08e8c0…08e8e0             65 61 64 20 73 65 63 74 6f 72 73 2c 20 63 6f 75 6e 74 20 6e 73 65 63 74 73 20 74 6f 20 7a 65 72   ┆ead sectors, count nsects to zer┆
0x08e8e0…08e900             6f 0d 0a 09 70 6f 70 09 62 09 3b 31 30 2d 65 72 72 6f 72 20 63 6f 75 6e 74 0d 0a 09 6d 76 69 09   ┆o   pop b ;10-error count   mvi ┆
0x08e900…08e920             62 2c 6e 73 65 63 74 73 0d 0a 72 64 73 65 63 3a 09 3b 72 65 61 64 20 6e 65 78 74 20 73 65 63 74   ┆b,nsects  rdsec: ;read next sect┆
0x08e920…08e940             6f 72 0d 0a 09 70 75 73 68 09 62 09 3b 73 61 76 65 20 73 65 63 74 6f 72 20 63 6f 75 6e 74 0d 0a   ┆or   push b ;save sector count  ┆
0x08e940…08e960             09 63 61 6c 6c 09 72 65 61 64 0d 0a 09 6a 6e 7a 09 62 6f 6f 74 65 72 72 09 3b 72 65 74 72 79 20   ┆ call read   jnz booterr ;retry ┆
0x08e960…08e980             69 66 20 65 72 72 6f 72 73 20 6f 63 63 75 72 0d 0a 09 6c 68 6c 64 09 69 6f 64 09 3b 69 6e 63 72   ┆if errors occur   lhld iod ;incr┆
0x08e980…08e9a0             65 6d 65 6e 74 20 64 6d 61 20 61 64 64 72 65 73 73 0d 0a 09 6c 78 69 09 64 2c 31 32 38 09 3b 73   ┆ement dma address   lxi d,128 ;s┆
0x08e9a0…08e9c0             65 63 74 6f 72 20 73 69 7a 65 0d 0a 09 64 61 64 09 64 09 3b 69 6e 63 72 65 6d 65 6e 74 65 64 20   ┆ector size   dad d ;incremented ┆
0x08e9c0…08e9e0             64 6d 61 20 61 64 64 72 65 73 73 20 69 6e 20 68 6c 0d 0a 09 6d 6f 76 09 62 2c 68 0d 0a 09 6d 6f   ┆dma address in hl   mov b,h   mo┆
0x08e9e0…08ea00             76 09 63 2c 6c 09 3b 72 65 61 64 79 20 66 6f 72 20 63 61 6c 6c 20 74 6f 20 73 65 74 20 64 6d 61   ┆v c,l ;ready for call to set dma┆
0x08ea00…08ea20 (38, 0, 2)  72 61 63 74 65 72 20 74 6f 20 72 65 67 2d 61 0d 0a 09 63 61 6c 6c 09 63 69 0d 0a 09 61 6e 69 09   ┆racter to reg-a   call ci   ani ┆
0x08ea20…08ea40             37 66 68 09 3b 72 65 6d 6f 76 65 20 70 61 72 69 74 79 20 62 69 74 0d 0a 09 72 65 74 0d 0a 3b 0d   ┆7fh ;remove parity bit   ret  ; ┆
0x08ea40…08ea60             0a 63 6f 6e 6f 75 74 3a 09 3b 63 6f 6e 73 6f 6c 65 20 63 68 61 72 61 63 74 65 72 20 66 72 6f 6d   ┆ conout: ;console character from┆
0x08ea60…08ea80             20 63 20 74 6f 20 63 6f 6e 73 6f 6c 65 20 6f 75 74 0d 0a 09 6a 6d 70 09 63 6f 0d 0a 3b 0d 0a 6c   ┆ c to console out   jmp co  ;  l┆
0x08ea80…08eaa0             69 73 74 3a 09 3b 6c 69 73 74 20 64 65 76 69 63 65 20 6f 75 74 0d 0a 3b 09 28 65 78 61 63 74 6c   ┆ist: ;list device out  ; (exactl┆
0x08eaa0…08eac0             79 20 74 68 65 20 73 61 6d 65 20 61 73 20 6d 64 73 20 63 61 6c 6c 29 0d 0a 09 6a 6d 70 09 6c 6f   ┆y the same as mds call)   jmp lo┆
0x08eac0…08eae0             0d 0a 3b 0d 0a 6c 69 73 74 73 74 3a 0d 0a 09 3b 72 65 74 75 72 6e 20 6c 69 73 74 20 73 74 61 74   ┆  ;  listst:   ;return list stat┆
0x08eae0…08eb00             75 73 0d 0a 09 78 72 61 09 61 0d 0a 09 72 65 74 09 09 3b 61 6c 77 61 79 73 20 6e 6f 74 20 72 65   ┆us   xra a   ret  ;always not re┆
0x08eb00…08eb20             61 64 79 0d 0a 3b 0d 0a 70 75 6e 63 68 3a 09 3b 70 75 6e 63 68 20 64 65 76 69 63 65 20 6f 75 74   ┆ady  ;  punch: ;punch device out┆
0x08eb20…08eb40             0d 0a 3b 09 28 65 78 61 63 74 6c 79 20 74 68 65 20 73 61 6d 65 20 61 73 20 6d 64 73 20 63 61 6c   ┆  ; (exactly the same as mds cal┆
0x08eb40…08eb60             6c 29 0d 0a 09 6a 6d 70 09 70 6f 0d 0a 3b 0d 0a 72 65 61 64 65 72 3a 09 3b 72 65 61 64 65 72 20   ┆l)   jmp po  ;  reader: ;reader ┆
0x08eb60…08eb80             63 68 61 72 61 63 74 65 72 20 69 6e 20 74 6f 20 72 65 67 2d 61 0d 0a 3b 09 28 65 78 61 63 74 6c   ┆character in to reg-a  ; (exactl┆
0x08eb80…08eba0             79 20 74 68 65 20 73 61 6d 65 20 61 73 20 6d 64 73 20 63 61 6c 6c 29 0d 0a 09 6a 6d 70 09 72 69   ┆y the same as mds call)   jmp ri┆
0x08eba0…08ebc0             0d 0a 3b 0d 0a 68 6f 6d 65 3a 09 3b 6d 6f 76 65 20 74 6f 20 68 6f 6d 65 20 70 6f 73 69 74 69 6f   ┆  ;  home: ;move to home positio┆
0x08ebc0…08ebe0             6e 0d 0a 3b 09 74 72 65 61 74 20 61 73 20 74 72 61 63 6b 20 30 30 20 73 65 65 6b 0d 0a 09 6d 76   ┆n  ; treat as track 00 seek   mv┆
0x08ebe0…08ec00             69 09 63 2c 30 0d 0a 09 6a 6d 70 09 73 65 74 74 72 6b 0d 0a 3b 0d 0a 73 65 6c 64 73 6b 3a 09 3b   ┆i c,0   jmp settrk  ;  seldsk: ;┆
0x08ec00…08ec20 (38, 0, 3)  73 73 61 67 65 20 61 74 20 68 2c 6c 20 74 6f 20 30 0d 0a 09 6d 6f 76 09 61 2c 6d 0d 0a 09 6f 72   ┆ssage at h,l to 0   mov a,m   or┆
0x08ec20…08ec40             61 09 61 09 3b 7a 65 72 6f 3f 0d 0a 09 72 7a 0d 0a 3b 09 6d 6f 72 65 20 74 6f 20 70 72 69 6e 74   ┆a a ;zero?   rz  ; more to print┆
0x08ec40…08ec60             0d 0a 09 70 75 73 68 09 68 0d 0a 09 6d 6f 76 09 63 2c 61 0d 0a 09 63 61 6c 6c 09 63 6f 6e 6f 75   ┆   push h   mov c,a   call conou┆
0x08ec60…08ec80             74 0d 0a 09 70 6f 70 09 68 0d 0a 09 69 6e 78 09 68 0d 0a 09 6a 6d 70 09 70 72 6d 73 67 0d 0a 3b   ┆t   pop h   inx h   jmp prmsg  ;┆
0x08ec80…08eca0             0d 0a 73 65 74 66 75 6e 63 3a 0d 0a 3b 09 73 65 74 20 66 75 6e 63 74 69 6f 6e 20 66 6f 72 20 6e   ┆  setfunc:  ; set function for n┆
0x08eca0…08ecc0             65 78 74 20 69 2f 6f 20 28 63 6f 6d 6d 61 6e 64 20 69 6e 20 72 65 67 2d 63 29 0d 0a 09 6c 78 69   ┆ext i/o (command in reg-c)   lxi┆
0x08ecc0…08ece0             09 68 2c 69 6f 66 09 3b 69 6f 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 72 65 73 73 0d 0a 09 6d 6f   ┆ h,iof ;io function address   mo┆
0x08ece0…08ed00             76 09 61 2c 6d 09 3b 67 65 74 20 69 74 20 74 6f 20 61 63 63 75 6d 75 6c 61 74 6f 72 20 66 6f 72   ┆v a,m ;get it to accumulator for┆
0x08ed00…08ed20             20 6d 61 73 6b 69 6e 67 0d 0a 09 61 6e 69 09 31 31 31 31 31 30 30 30 62 09 3b 72 65 6d 6f 76 65   ┆ masking   ani 11111000b ;remove┆
0x08ed20…08ed40             20 70 72 65 76 69 6f 75 73 20 63 6f 6d 6d 61 6e 64 0d 0a 09 6f 72 61 09 63 09 3b 73 65 74 20 74   ┆ previous command   ora c ;set t┆
0x08ed40…08ed60             6f 20 6e 65 77 20 63 6f 6d 6d 61 6e 64 0d 0a 09 6d 6f 76 09 6d 2c 61 09 3b 72 65 70 6c 61 63 65   ┆o new command   mov m,a ;replace┆
0x08ed60…08ed80             64 20 69 6e 20 69 6f 70 62 0d 0a 3b 09 74 68 65 20 6d 64 73 2d 38 30 30 20 63 6f 6e 74 72 6f 6c   ┆d in iopb  ; the mds-800 control┆
0x08ed80…08eda0             6c 65 72 20 72 65 71 75 69 72 65 73 20 64 69 73 6b 20 62 61 6e 6b 20 62 69 74 20 69 6e 20 73 65   ┆ler requires disk bank bit in se┆
0x08eda0…08edc0             63 74 6f 72 20 62 79 74 65 0d 0a 3b 09 6d 61 73 6b 20 74 68 65 20 62 69 74 20 66 72 6f 6d 20 74   ┆ctor byte  ; mask the bit from t┆
0x08edc0…08ede0             68 65 20 63 75 72 72 65 6e 74 20 69 2f 6f 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 61 6e 69 09 30 30   ┆he current i/o function   ani 00┆
0x08ede0…08ee00             31 30 30 30 30 30 62 09 3b 6d 61 73 6b 20 74 68 65 20 64 69 73 6b 20 73 65 6c 65 63 74 20 62 69   ┆100000b ;mask the disk select bi┆
0x08ee00…08ee20 (38, 0, 4)  72 2c 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 74 6f 20 74 68 65 20 63 6f 6e 64 69 74 69 6f   ┆r, corresponding to the conditio┆
0x08ee20…08ee40             6e 73 3a 0d 0a 3b 09 30 09 2d 20 64 65 6c 65 74 65 64 20 64 61 74 61 20 28 61 63 63 65 70 74 65   ┆ns:  ; 0 - deleted data (accepte┆
0x08ee40…08ee60             64 20 61 73 20 6f 6b 20 61 62 6f 76 65 29 0d 0a 3b 09 31 09 2d 20 63 72 63 20 65 72 72 6f 72 0d   ┆d as ok above)  ; 1 - crc error ┆
0x08ee60…08ee80             0a 3b 09 32 09 2d 20 73 65 65 6b 20 65 72 72 6f 72 0d 0a 3b 09 33 09 2d 20 61 64 64 72 65 73 73   ┆ ; 2 - seek error  ; 3 - address┆
0x08ee80…08eea0             20 65 72 72 6f 72 20 28 68 61 72 64 77 61 72 65 20 6d 61 6c 66 75 6e 63 74 69 6f 6e 29 0d 0a 3b   ┆ error (hardware malfunction)  ;┆
0x08eea0…08eec0             09 34 09 2d 20 64 61 74 61 20 6f 76 65 72 2f 75 6e 64 65 72 20 66 6c 6f 77 20 28 68 61 72 64 77   ┆ 4 - data over/under flow (hardw┆
0x08eec0…08eee0             61 72 65 20 6d 61 6c 66 75 6e 63 74 69 6f 6e 29 0d 0a 3b 09 35 09 2d 20 77 72 69 74 65 20 70 72   ┆are malfunction)  ; 5 - write pr┆
0x08eee0…08ef00             6f 74 65 63 74 20 28 74 72 65 61 74 65 64 20 61 73 20 6e 6f 74 20 72 65 61 64 79 29 0d 0a 3b 09   ┆otect (treated as not ready)  ; ┆
0x08ef00…08ef20             36 09 2d 20 77 72 69 74 65 20 65 72 72 6f 72 20 28 68 61 72 64 77 61 72 65 20 6d 61 6c 66 75 6e   ┆6 - write error (hardware malfun┆
0x08ef20…08ef40             63 74 69 6f 6e 29 0d 0a 3b 09 37 09 2d 20 6e 6f 74 20 72 65 61 64 79 0d 0a 3b 09 28 61 63 63 75   ┆ction)  ; 7 - not ready  ; (accu┆
0x08ef40…08ef60             6d 75 6c 61 74 6f 72 20 62 69 74 73 20 61 72 65 20 6e 75 6d 62 65 72 65 64 20 37 20 36 20 35 20   ┆mulator bits are numbered 7 6 5 ┆
0x08ef60…08ef80             34 20 33 20 32 20 31 20 30 29 0d 0a 3b 0d 0a 3b 09 69 74 20 6d 61 79 20 62 65 20 75 73 65 66 75   ┆4 3 2 1 0)  ;  ; it may be usefu┆
0x08ef80…08efa0             6c 20 74 6f 20 66 69 6c 74 65 72 20 6f 75 74 20 74 68 65 20 76 61 72 69 6f 75 73 20 63 6f 6e 64   ┆l to filter out the various cond┆
0x08efa0…08efc0             69 74 69 6f 6e 73 2c 0d 0a 3b 09 62 75 74 20 77 65 20 77 69 6c 6c 20 67 65 74 20 61 20 70 65 72   ┆itions,  ; but we will get a per┆
0x08efc0…08efe0             6d 61 6e 65 6e 74 20 65 72 72 6f 72 20 6d 65 73 73 61 67 65 20 69 66 20 69 74 20 69 73 20 6e 6f   ┆manent error message if it is no┆
0x08efe0…08f000             74 0d 0a 3b 09 72 65 63 6f 76 65 72 61 62 6c 65 2e 20 20 69 6e 20 61 6e 79 20 63 61 73 65 2c 20   ┆t  ; recoverable.  in any case, ┆
0x08f000…08f020 (38, 0, 5)  0d 0a 09 63 61 6c 6c 09 73 65 74 64 6d 61 0d 0a 09 6c 64 61 09 69 6f 73 09 3b 73 65 63 74 6f 72   ┆   call setdma   lda ios ;sector┆
0x08f020…08f040             20 6e 75 6d 62 65 72 20 6a 75 73 74 20 72 65 61 64 0d 0a 09 63 70 69 09 32 36 09 3b 72 65 61 64   ┆ number just read   cpi 26 ;read┆
0x08f040…08f060             20 6c 61 73 74 20 73 65 63 74 6f 72 3f 0d 0a 09 6a 63 09 72 64 31 0d 0a 3b 09 6d 75 73 74 20 62   ┆ last sector?   jc rd1  ; must b┆
0x08f060…08f080             65 20 73 65 63 74 6f 72 20 32 36 2c 20 7a 65 72 6f 20 61 6e 64 20 67 6f 20 74 6f 20 6e 65 78 74   ┆e sector 26, zero and go to next┆
0x08f080…08f0a0             20 74 72 61 63 6b 0d 0a 09 6c 64 61 09 69 6f 74 09 3b 67 65 74 20 74 72 61 63 6b 20 74 6f 20 72   ┆ track   lda iot ;get track to r┆
0x08f0a0…08f0c0             65 67 69 73 74 65 72 20 61 0d 0a 09 69 6e 72 09 61 0d 0a 09 6d 6f 76 09 63 2c 61 09 3b 72 65 61   ┆egister a   inr a   mov c,a ;rea┆
0x08f0c0…08f0e0             64 79 20 66 6f 72 20 63 61 6c 6c 0d 0a 09 63 61 6c 6c 09 73 65 74 74 72 6b 0d 0a 09 78 72 61 09   ┆dy for call   call settrk   xra ┆
0x08f0e0…08f100             61 09 3b 63 6c 65 61 72 20 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 0d 0a 72 64 31 3a 09 69 6e 72   ┆a ;clear sector number  rd1: inr┆
0x08f100…08f120             09 61 09 3b 74 6f 20 6e 65 78 74 20 73 65 63 74 6f 72 0d 0a 09 6d 6f 76 09 63 2c 61 09 3b 72 65   ┆ a ;to next sector   mov c,a ;re┆
0x08f120…08f140             61 64 79 20 66 6f 72 20 63 61 6c 6c 0d 0a 09 63 61 6c 6c 09 73 65 74 73 65 63 0d 0a 09 70 6f 70   ┆ady for call   call setsec   pop┆
0x08f140…08f160             09 62 09 3b 72 65 63 61 6c 6c 20 73 65 63 74 6f 72 20 63 6f 75 6e 74 0d 0a 09 64 63 72 09 62 09   ┆ b ;recall sector count   dcr b ┆
0x08f160…08f180             3b 64 6f 6e 65 3f 0d 0a 09 6a 6e 7a 09 72 64 73 65 63 0d 0a 3b 0d 0a 3b 09 64 6f 6e 65 20 77 69   ┆;done?   jnz rdsec  ;  ; done wi┆
0x08f180…08f1a0             74 68 20 74 68 65 20 6c 6f 61 64 2c 20 72 65 73 65 74 20 64 65 66 61 75 6c 74 20 62 75 66 66 65   ┆th the load, reset default buffe┆
0x08f1a0…08f1c0             72 20 61 64 64 72 65 73 73 0d 0a 67 6f 63 70 6d 3a 09 3b 28 65 6e 74 65 72 20 68 65 72 65 20 66   ┆r address  gocpm: ;(enter here f┆
0x08f1c0…08f1e0             72 6f 6d 20 63 6f 6c 64 20 73 74 61 72 74 20 62 6f 6f 74 29 0d 0a 3b 09 65 6e 61 62 6c 65 20 72   ┆rom cold start boot)  ; enable r┆
0x08f1e0…08f200             73 74 30 20 61 6e 64 20 72 73 74 37 0d 0a 09 64 69 0d 0a 09 6d 76 69 09 61 2c 31 32 68 09 3b 69   ┆st0 and rst7   di   mvi a,12h ;i┆
0x08f200…08f220 (38, 0, 6)  73 65 6c 65 63 74 20 64 69 73 6b 20 67 69 76 65 6e 20 62 79 20 72 65 67 69 73 74 65 72 20 63 0d   ┆select disk given by register c ┆
0x08f220…08f240             0a 09 6c 78 69 09 68 2c 30 30 30 30 68 09 3b 72 65 74 75 72 6e 20 30 30 30 30 20 69 66 20 65 72   ┆  lxi h,0000h ;return 0000 if er┆
0x08f240…08f260             72 6f 72 0d 0a 09 6d 6f 76 09 61 2c 63 0d 0a 09 63 70 69 09 6e 64 69 73 6b 73 09 3b 74 6f 6f 20   ┆ror   mov a,c   cpi ndisks ;too ┆
0x08f260…08f280             6c 61 72 67 65 3f 0d 0a 09 72 6e 63 09 09 3b 6c 65 61 76 65 20 48 4c 20 3d 20 30 30 30 30 0d 0a   ┆large?   rnc  ;leave HL = 0000  ┆
0x08f280…08f2a0             3b 0d 0a 09 61 6e 69 09 31 30 62 09 3b 30 30 20 30 30 20 66 6f 72 20 64 72 69 76 65 20 30 2c 31   ┆;   ani 10b ;00 00 for drive 0,1┆
0x08f2a0…08f2c0             20 61 6e 64 20 31 30 20 31 30 20 66 6f 72 20 64 72 69 76 65 20 32 2c 33 0d 0a 09 73 74 61 09 64   ┆ and 10 10 for drive 2,3   sta d┆
0x08f2c0…08f2e0             62 61 6e 6b 09 3b 74 6f 20 73 65 6c 65 63 74 20 64 72 69 76 65 20 62 61 6e 6b 0d 0a 09 6d 6f 76   ┆bank ;to select drive bank   mov┆
0x08f2e0…08f300             09 61 2c 63 09 3b 30 30 2c 20 30 31 2c 20 31 30 2c 20 31 31 0d 0a 09 61 6e 69 09 31 62 09 3b 6d   ┆ a,c ;00, 01, 10, 11   ani 1b ;m┆
0x08f300…08f320             64 73 20 68 61 73 20 30 2c 31 20 61 74 20 37 38 2c 20 32 2c 33 20 61 74 20 38 38 0d 0a 09 6f 72   ┆ds has 0,1 at 78, 2,3 at 88   or┆
0x08f320…08f340             61 09 61 09 3b 72 65 73 75 6c 74 20 30 30 3f 0d 0a 09 6a 7a 09 73 65 74 64 72 69 76 65 0d 0a 09   ┆a a ;result 00?   jz setdrive   ┆
0x08f340…08f360             6d 76 69 09 61 2c 30 30 31 31 30 30 30 30 62 09 3b 73 65 6c 65 63 74 73 20 64 72 69 76 65 20 31   ┆mvi a,00110000b ;selects drive 1┆
0x08f360…08f380             20 69 6e 20 62 61 6e 6b 0d 0a 73 65 74 64 72 69 76 65 3a 0d 0a 09 6d 6f 76 09 62 2c 61 09 3b 73   ┆ in bank  setdrive:   mov b,a ;s┆
0x08f380…08f3a0             61 76 65 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 6c 78 69 09 68 2c 69 6f 66 09 3b 69 6f   ┆ave the function   lxi h,iof ;io┆
0x08f3a0…08f3c0             20 66 75 6e 63 74 69 6f 6e 0d 0a 09 6d 6f 76 09 61 2c 6d 0d 0a 09 61 6e 69 09 31 31 30 30 31 31   ┆ function   mov a,m   ani 110011┆
0x08f3c0…08f3e0             31 31 62 09 3b 6d 61 73 6b 20 6f 75 74 20 64 69 73 6b 20 6e 75 6d 62 65 72 0d 0a 09 6f 72 61 09   ┆11b ;mask out disk number   ora ┆
0x08f3e0…08f400             62 09 3b 6d 61 73 6b 20 69 6e 20 6e 65 77 20 64 69 73 6b 20 6e 75 6d 62 65 72 0d 0a 09 6d 6f 76   ┆b ;mask in new disk number   mov┆
0x08f400…08f420 (38, 0, 7)  74 0d 0a 09 6c 78 69 09 68 2c 69 6f 73 09 09 3b 61 64 64 72 65 73 73 20 74 68 65 20 73 65 63 74   ┆t   lxi h,ios  ;address the sect┆
0x08f420…08f440             6f 72 20 73 65 6c 65 63 74 20 62 79 74 65 0d 0a 09 6f 72 61 09 6d 09 09 3b 73 65 6c 65 63 74 20   ┆or select byte   ora m  ;select ┆
0x08f440…08f460             70 72 6f 70 65 72 20 64 69 73 6b 20 62 61 6e 6b 0d 0a 09 6d 6f 76 09 6d 2c 61 09 09 3b 73 65 74   ┆proper disk bank   mov m,a  ;set┆
0x08f460…08f480             20 64 69 73 6b 20 73 65 6c 65 63 74 20 62 69 74 20 6f 6e 2f 6f 66 66 0d 0a 09 72 65 74 0d 0a 3b   ┆ disk select bit on/off   ret  ;┆
0x08f480…08f4a0             0d 0a 77 61 69 74 69 6f 3a 0d 0a 09 6d 76 69 09 63 2c 72 65 74 72 79 09 3b 6d 61 78 20 72 65 74   ┆  waitio:   mvi c,retry ;max ret┆
0x08f4a0…08f4c0             72 69 65 73 20 62 65 66 6f 72 65 20 70 65 72 6d 20 65 72 72 6f 72 0d 0a 72 65 77 61 69 74 3a 0d   ┆ries before perm error  rewait: ┆
0x08f4c0…08f4e0             0a 3b 09 73 74 61 72 74 20 74 68 65 20 69 2f 6f 20 66 75 6e 63 74 69 6f 6e 20 61 6e 64 20 77 61   ┆ ; start the i/o function and wa┆
0x08f4e0…08f500             69 74 20 66 6f 72 20 63 6f 6d 70 6c 65 74 69 6f 6e 0d 0a 09 63 61 6c 6c 09 69 6e 74 79 70 65 09   ┆it for completion   call intype ┆
0x08f500…08f520             3b 69 6e 20 72 74 79 70 65 0d 0a 09 63 61 6c 6c 09 69 6e 62 79 74 65 09 3b 63 6c 65 61 72 73 20   ┆;in rtype   call inbyte ;clears ┆
0x08f520…08f540             74 68 65 20 63 6f 6e 74 72 6f 6c 6c 65 72 0d 0a 3b 0d 0a 09 6c 64 61 09 64 62 61 6e 6b 09 09 3b   ┆the controller  ;   lda dbank  ;┆
0x08f540…08f560             73 65 74 20 62 61 6e 6b 20 66 6c 61 67 73 0d 0a 09 6f 72 61 09 61 09 09 3b 7a 65 72 6f 20 69 66   ┆set bank flags   ora a  ;zero if┆
0x08f560…08f580             20 64 72 69 76 65 20 30 2c 31 20 61 6e 64 20 6e 7a 20 69 66 20 32 2c 33 0d 0a 09 6d 76 69 09 61   ┆ drive 0,1 and nz if 2,3   mvi a┆
0x08f580…08f5a0             2c 69 6f 70 62 20 61 6e 64 20 30 66 66 68 09 3b 6c 6f 77 20 61 64 64 72 65 73 73 20 66 6f 72 20   ┆,iopb and 0ffh ;low address for ┆
0x08f5a0…08f5c0             69 6f 70 62 0d 0a 09 6d 76 69 09 62 2c 69 6f 70 62 20 73 68 72 20 38 09 3b 68 69 67 68 20 61 64   ┆iopb   mvi b,iopb shr 8 ;high ad┆
0x08f5c0…08f5e0             64 72 65 73 73 20 66 6f 72 20 69 6f 70 62 0d 0a 09 6a 6e 7a 09 69 6f 64 72 31 09 3b 64 72 69 76   ┆dress for iopb   jnz iodr1 ;driv┆
0x08f5e0…08f600             65 20 62 61 6e 6b 20 31 3f 0d 0a 09 6f 75 74 09 69 6c 6f 77 09 09 3b 6c 6f 77 20 61 64 64 72 65   ┆e bank 1?   out ilow  ;low addre┆
0x08f600…08f620 (38, 0, 8)  74 68 65 20 6e 6f 74 20 72 65 61 64 79 20 63 6f 6e 64 69 74 69 6f 6e 20 69 73 0d 0a 3b 09 74 72   ┆the not ready condition is  ; tr┆
0x08f620…08f640             65 61 74 65 64 20 61 73 20 61 20 73 65 70 61 72 61 74 65 20 63 6f 6e 64 69 74 69 6f 6e 20 66 6f   ┆eated as a separate condition fo┆
0x08f640…08f660             72 20 6c 61 74 65 72 20 69 6d 70 72 6f 76 65 6d 65 6e 74 0d 0a 74 72 79 63 6f 75 6e 74 3a 0d 0a   ┆r later improvement  trycount:  ┆
0x08f660…08f680             3b 09 72 65 67 69 73 74 65 72 20 63 20 63 6f 6e 74 61 69 6e 73 20 72 65 74 72 79 20 63 6f 75 6e   ┆; register c contains retry coun┆
0x08f680…08f6a0             74 2c 20 64 65 63 72 65 6d 65 6e 74 20 27 74 69 6c 20 7a 65 72 6f 0d 0a 09 64 63 72 09 63 0d 0a   ┆t, decrement 'til zero   dcr c  ┆
0x08f6a0…08f6c0             09 6a 6e 7a 09 72 65 77 61 69 74 09 3b 66 6f 72 20 61 6e 6f 74 68 65 72 20 74 72 79 0d 0a 3b 0d   ┆ jnz rewait ;for another try  ; ┆
0x08f6c0…08f6e0             0a 3b 09 63 61 6e 6e 6f 74 20 72 65 63 6f 76 65 72 20 66 72 6f 6d 20 65 72 72 6f 72 0d 0a 09 6d   ┆ ; cannot recover from error   m┆
0x08f6e0…08f700             76 69 09 61 2c 31 09 3b 65 72 72 6f 72 20 63 6f 64 65 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 3b 09 69   ┆vi a,1 ;error code   ret  ;  ; i┆
0x08f700…08f720             6e 74 79 70 65 2c 20 69 6e 62 79 74 65 2c 20 69 6e 73 74 61 74 20 72 65 61 64 20 64 72 69 76 65   ┆ntype, inbyte, instat read drive┆
0x08f720…08f740             20 62 61 6e 6b 20 30 30 20 6f 72 20 31 30 0d 0a 69 6e 74 79 70 65 3a 09 6c 64 61 09 64 62 61 6e   ┆ bank 00 or 10  intype: lda dban┆
0x08f740…08f760             6b 0d 0a 09 6f 72 61 09 61 0d 0a 09 6a 6e 7a 09 69 6e 74 79 70 31 09 3b 73 6b 69 70 20 74 6f 20   ┆k   ora a   jnz intyp1 ;skip to ┆
0x08f760…08f780             62 61 6e 6b 20 31 30 0d 0a 09 69 6e 09 72 74 79 70 65 0d 0a 09 72 65 74 0d 0a 69 6e 74 79 70 31   ┆bank 10   in rtype   ret  intyp1┆
0x08f780…08f7a0             3a 09 69 6e 09 72 74 79 70 65 2b 31 30 68 09 3b 37 38 20 66 6f 72 20 30 2c 31 20 20 38 38 20 66   ┆: in rtype+10h ;78 for 0,1  88 f┆
0x08f7a0…08f7c0             6f 72 20 32 2c 33 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 69 6e 62 79 74 65 3a 09 6c 64 61 09 64 62 61   ┆or 2,3   ret  ;  inbyte: lda dba┆
0x08f7c0…08f7e0             6e 6b 0d 0a 09 6f 72 61 09 61 0d 0a 09 6a 6e 7a 09 69 6e 62 79 74 31 0d 0a 09 69 6e 09 72 62 79   ┆nk   ora a   jnz inbyt1   in rby┆
0x08f7e0…08f800             74 65 0d 0a 09 72 65 74 0d 0a 69 6e 62 79 74 31 3a 09 69 6e 09 72 62 79 74 65 2b 31 30 68 0d 0a   ┆te   ret  inbyt1: in rbyte+10h  ┆
0x08f800…08f820 (38, 0, 9)  6e 69 74 69 61 6c 69 7a 65 20 63 6f 6d 6d 61 6e 64 0d 0a 09 6f 75 74 09 72 65 76 72 74 0d 0a 09   ┆nitialize command   out revrt   ┆
0x08f820…08f840             78 72 61 09 61 0d 0a 09 6f 75 74 09 69 6e 74 63 09 3b 63 6c 65 61 72 65 64 0d 0a 09 6d 76 69 09   ┆xra a   out intc ;cleared   mvi ┆
0x08f840…08f860             61 2c 69 6e 74 65 09 3b 72 73 74 30 20 61 6e 64 20 72 73 74 37 20 62 69 74 73 20 6f 6e 0d 0a 09   ┆a,inte ;rst0 and rst7 bits on   ┆
0x08f860…08f880             6f 75 74 09 69 6e 74 63 0d 0a 09 78 72 61 09 61 0d 0a 09 6f 75 74 09 69 63 6f 6e 09 3b 69 6e 74   ┆out intc   xra a   out icon ;int┆
0x08f880…08f8a0             65 72 72 75 70 74 20 63 6f 6e 74 72 6f 6c 0d 0a 3b 0d 0a 3b 09 73 65 74 20 64 65 66 61 75 6c 74   ┆errupt control  ;  ; set default┆
0x08f8a0…08f8c0             20 62 75 66 66 65 72 20 61 64 64 72 65 73 73 20 74 6f 20 38 30 68 0d 0a 09 6c 78 69 09 62 2c 62   ┆ buffer address to 80h   lxi b,b┆
0x08f8c0…08f8e0             75 66 66 0d 0a 09 63 61 6c 6c 09 73 65 74 64 6d 61 0d 0a 3b 0d 0a 3b 09 72 65 73 65 74 20 6d 6f   ┆uff   call setdma  ;  ; reset mo┆
0x08f8e0…08f900             6e 69 74 6f 72 20 65 6e 74 72 79 20 70 6f 69 6e 74 73 0d 0a 09 6d 76 69 09 61 2c 6a 6d 70 0d 0a   ┆nitor entry points   mvi a,jmp  ┆
0x08f900…08f920             09 73 74 61 09 30 0d 0a 09 6c 78 69 09 68 2c 77 62 6f 6f 74 65 0d 0a 09 73 68 6c 64 09 31 09 3b   ┆ sta 0   lxi h,wboote   shld 1 ;┆
0x08f920…08f940             6a 6d 70 20 77 62 6f 6f 74 20 61 74 20 6c 6f 63 61 74 69 6f 6e 20 30 30 0d 0a 09 73 74 61 09 35   ┆jmp wboot at location 00   sta 5┆
0x08f940…08f960             0d 0a 09 6c 78 69 09 68 2c 62 64 6f 73 0d 0a 09 73 68 6c 64 09 36 09 3b 6a 6d 70 20 62 64 6f 73   ┆   lxi h,bdos   shld 6 ;jmp bdos┆
0x08f960…08f980             20 61 74 20 6c 6f 63 61 74 69 6f 6e 20 35 0d 0a 09 69 66 09 6e 6f 74 20 74 65 73 74 0d 0a 09 73   ┆ at location 5   if not test   s┆
0x08f980…08f9a0             74 61 09 37 2a 38 09 3b 6a 6d 70 20 74 6f 20 6d 6f 6e 38 30 20 28 6d 61 79 20 68 61 76 65 20 62   ┆ta 7*8 ;jmp to mon80 (may have b┆
0x08f9a0…08f9c0             65 65 6e 20 63 68 61 6e 67 65 64 20 62 79 20 64 64 74 29 0d 0a 09 6c 78 69 09 68 2c 6d 6f 6e 38   ┆een changed by ddt)   lxi h,mon8┆
0x08f9c0…08f9e0             30 0d 0a 09 73 68 6c 64 09 37 2a 38 2b 31 0d 0a 09 65 6e 64 69 66 0d 0a 3b 09 6c 65 61 76 65 20   ┆0   shld 7*8+1   endif  ; leave ┆
0x08f9e0…08fa00             69 6f 62 79 74 65 20 73 65 74 0d 0a 3b 09 70 72 65 76 69 6f 75 73 6c 79 20 73 65 6c 65 63 74 65   ┆iobyte set  ; previously selecte┆
0x08fa00…08fa20 (38, 0, 10) 09 6d 2c 61 09 3b 73 61 76 65 20 69 74 20 69 6e 20 69 6f 70 62 0d 0a 09 6d 6f 76 09 6c 2c 63 0d   ┆ m,a ;save it in iopb   mov l,c ┆
0x08fa20…08fa40             0a 09 6d 76 69 09 68 2c 30 09 3b 48 4c 3d 64 69 73 6b 20 6e 75 6d 62 65 72 0d 0a 09 64 61 64 09   ┆  mvi h,0 ;HL=disk number   dad ┆
0x08fa40…08fa60             68 09 3b 2a 32 0d 0a 09 64 61 64 09 68 09 3b 2a 34 0d 0a 09 64 61 64 09 68 09 3b 2a 38 0d 0a 09   ┆h ;*2   dad h ;*4   dad h ;*8   ┆
0x08fa60…08fa80             64 61 64 09 68 09 3b 2a 31 36 0d 0a 09 6c 78 69 09 64 2c 64 70 62 61 73 65 0d 0a 09 64 61 64 09   ┆dad h ;*16   lxi d,dpbase   dad ┆
0x08fa80…08faa0             64 09 3b 48 4c 3d 64 69 73 6b 20 68 65 61 64 65 72 20 74 61 62 6c 65 20 61 64 64 72 65 73 73 0d   ┆d ;HL=disk header table address ┆
0x08faa0…08fac0             0a 09 72 65 74 0d 0a 3b 0d 0a 3b 0d 0a 73 65 74 74 72 6b 3a 09 3b 73 65 74 20 74 72 61 63 6b 20   ┆  ret  ;  ;  settrk: ;set track ┆
0x08fac0…08fae0             61 64 64 72 65 73 73 20 67 69 76 65 6e 20 62 79 20 63 0d 0a 09 6c 78 69 09 68 2c 69 6f 74 0d 0a   ┆address given by c   lxi h,iot  ┆
0x08fae0…08fb00             09 6d 6f 76 09 6d 2c 63 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 73 65 74 73 65 63 3a 09 3b 73 65 74 20   ┆ mov m,c   ret  ;  setsec: ;set ┆
0x08fb00…08fb20             73 65 63 74 6f 72 20 6e 75 6d 62 65 72 20 67 69 76 65 6e 20 62 79 20 63 0d 0a 09 6c 78 69 09 68   ┆sector number given by c   lxi h┆
0x08fb20…08fb40             2c 69 6f 73 0d 0a 09 6d 6f 76 09 6d 2c 63 0d 0a 09 72 65 74 0d 0a 73 65 63 74 72 61 6e 3a 0d 0a   ┆,ios   mov m,c   ret  sectran:  ┆
0x08fb40…08fb60             09 09 3b 74 72 61 6e 73 6c 61 74 65 20 73 65 63 74 6f 72 20 62 63 20 75 73 69 6e 67 20 74 61 62   ┆  ;translate sector bc using tab┆
0x08fb60…08fb80             6c 65 20 61 74 20 64 65 0d 0a 09 6d 76 69 09 62 2c 30 09 3b 64 6f 75 62 6c 65 20 70 72 65 63 69   ┆le at de   mvi b,0 ;double preci┆
0x08fb80…08fba0             73 69 6f 6e 20 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 20 69 6e 20 42 43 0d 0a 09 78 63 68 67 09   ┆sion sector number in BC   xchg ┆
0x08fba0…08fbc0             09 3b 74 72 61 6e 73 6c 61 74 65 20 74 61 62 6c 65 20 61 64 64 72 65 73 73 20 74 6f 20 48 4c 0d   ┆ ;translate table address to HL ┆
0x08fbc0…08fbe0             0a 09 64 61 64 09 62 09 3b 74 72 61 6e 73 6c 61 74 65 28 73 65 63 74 6f 72 29 20 61 64 64 72 65   ┆  dad b ;translate(sector) addre┆
0x08fbe0…08fc00             73 73 0d 0a 09 6d 6f 76 09 61 2c 6d 09 3b 74 72 61 6e 73 6c 61 74 65 64 20 73 65 63 74 6f 72 20   ┆ss   mov a,m ;translated sector ┆
0x08fc00…08fc20 (38, 0, 11) 73 73 20 74 6f 20 63 6f 6e 74 72 6f 6c 6c 65 72 0d 0a 09 6d 6f 76 09 61 2c 62 0d 0a 09 6f 75 74   ┆ss to controller   mov a,b   out┆
0x08fc20…08fc40             09 69 68 69 67 68 09 3b 68 69 67 68 20 61 64 64 72 65 73 73 0d 0a 09 6a 6d 70 09 77 61 69 74 30   ┆ ihigh ;high address   jmp wait0┆
0x08fc40…08fc60             09 09 3b 74 6f 20 77 61 69 74 20 66 6f 72 20 63 6f 6d 70 6c 65 74 65 0d 0a 3b 0d 0a 69 6f 64 72   ┆  ;to wait for complete  ;  iodr┆
0x08fc60…08fc80             31 3a 09 3b 64 72 69 76 65 20 62 61 6e 6b 20 31 0d 0a 09 6f 75 74 09 69 6c 6f 77 2b 31 30 68 09   ┆1: ;drive bank 1   out ilow+10h ┆
0x08fc80…08fca0             3b 38 38 20 66 6f 72 20 64 72 69 76 65 20 62 61 6e 6b 20 31 30 0d 0a 09 6d 6f 76 09 61 2c 62 0d   ┆;88 for drive bank 10   mov a,b ┆
0x08fca0…08fcc0             0a 09 6f 75 74 09 69 68 69 67 68 2b 31 30 68 0d 0a 3b 0d 0a 77 61 69 74 30 3a 09 63 61 6c 6c 09   ┆  out ihigh+10h  ;  wait0: call ┆
0x08fcc0…08fce0             69 6e 73 74 61 74 09 09 3b 77 61 69 74 20 66 6f 72 20 63 6f 6d 70 6c 65 74 69 6f 6e 0d 0a 09 61   ┆instat  ;wait for completion   a┆
0x08fce0…08fd00             6e 69 09 69 6f 72 64 79 09 09 3b 72 65 61 64 79 3f 0d 0a 09 6a 7a 09 77 61 69 74 30 0d 0a 3b 0d   ┆ni iordy  ;ready?   jz wait0  ; ┆
0x08fd00…08fd20             0a 3b 09 63 68 65 63 6b 20 69 6f 20 63 6f 6d 70 6c 65 74 69 6f 6e 20 6f 6b 0d 0a 09 63 61 6c 6c   ┆ ; check io completion ok   call┆
0x08fd20…08fd40             09 69 6e 74 79 70 65 09 09 3b 6d 75 73 74 20 62 65 20 69 6f 20 63 6f 6d 70 6c 65 74 65 20 28 30   ┆ intype  ;must be io complete (0┆
0x08fd40…08fd60             30 29 20 75 6e 6c 69 6e 6b 65 64 0d 0a 3b 09 30 30 20 75 6e 6c 69 6e 6b 65 64 20 69 2f 6f 20 63   ┆0) unlinked  ; 00 unlinked i/o c┆
0x08fd60…08fd80             6f 6d 70 6c 65 74 65 2c 20 20 20 20 30 31 20 6c 69 6e 6b 65 64 20 69 2f 6f 20 63 6f 6d 70 6c 65   ┆omplete,    01 linked i/o comple┆
0x08fd80…08fda0             74 65 20 28 6e 6f 74 20 75 73 65 64 29 0d 0a 3b 09 31 30 20 64 69 73 6b 20 73 74 61 74 75 73 20   ┆te (not used)  ; 10 disk status ┆
0x08fda0…08fdc0             63 68 61 6e 67 65 64 20 20 20 20 20 20 20 31 31 20 28 6e 6f 74 20 75 73 65 64 29 0d 0a 09 63 70   ┆changed       11 (not used)   cp┆
0x08fdc0…08fde0             69 09 31 30 62 09 09 3b 72 65 61 64 79 20 73 74 61 74 75 73 20 63 68 61 6e 67 65 3f 0d 0a 09 6a   ┆i 10b  ;ready status change?   j┆
0x08fde0…08fe00             7a 09 77 72 65 61 64 79 0d 0a 3b 0d 0a 3b 09 6d 75 73 74 20 62 65 20 30 30 20 69 6e 20 74 68 65   ┆z wready  ;  ; must be 00 in the┆
0x08fe00…08fe20 (38, 0, 12) 09 72 65 74 0d 0a 3b 0d 0a 69 6e 73 74 61 74 3a 09 6c 64 61 09 64 62 61 6e 6b 0d 0a 09 6f 72 61   ┆ ret  ;  instat: lda dbank   ora┆
0x08fe20…08fe40             09 61 0d 0a 09 6a 6e 7a 09 69 6e 73 74 61 31 0d 0a 09 69 6e 09 64 73 74 61 74 0d 0a 09 72 65 74   ┆ a   jnz insta1   in dstat   ret┆
0x08fe40…08fe60             0d 0a 69 6e 73 74 61 31 3a 09 69 6e 09 64 73 74 61 74 2b 31 30 68 0d 0a 09 72 65 74 0d 0a 3b 0d   ┆  insta1: in dstat+10h   ret  ; ┆
0x08fe60…08fe80             0a 3b 0d 0a 3b 0d 0a 3b 09 64 61 74 61 20 61 72 65 61 73 20 28 6d 75 73 74 20 62 65 20 69 6e 20   ┆ ;  ;  ; data areas (must be in ┆
0x08fe80…08fea0             72 61 6d 29 0d 0a 64 62 61 6e 6b 3a 09 64 62 09 30 09 3b 64 69 73 6b 20 62 61 6e 6b 20 30 30 20   ┆ram)  dbank: db 0 ;disk bank 00 ┆
0x08fea0…08fec0             69 66 20 64 72 69 76 65 20 30 2c 31 0d 0a 09 09 09 3b 09 20 20 20 31 30 20 69 66 20 64 72 69 76   ┆if drive 0,1     ;    10 if driv┆
0x08fec0…08fee0             65 20 32 2c 33 0d 0a 69 6f 70 62 3a 09 3b 69 6f 20 70 61 72 61 6d 65 74 65 72 20 62 6c 6f 63 6b   ┆e 2,3  iopb: ;io parameter block┆
0x08fee0…08ff00             0d 0a 09 64 62 09 38 30 68 09 3b 6e 6f 72 6d 61 6c 20 69 2f 6f 20 6f 70 65 72 61 74 69 6f 6e 0d   ┆   db 80h ;normal i/o operation ┆
0x08ff00…08ff20             0a 69 6f 66 3a 09 64 62 09 72 65 61 64 66 09 3b 69 6f 20 66 75 6e 63 74 69 6f 6e 2c 20 69 6e 69   ┆ iof: db readf ;io function, ini┆
0x08ff20…08ff40             74 69 61 6c 20 72 65 61 64 0d 0a 69 6f 6e 3a 09 64 62 09 31 09 3b 6e 75 6d 62 65 72 20 6f 66 20   ┆tial read  ion: db 1 ;number of ┆
0x08ff40…08ff60             73 65 63 74 6f 72 73 20 74 6f 20 72 65 61 64 0d 0a 69 6f 74 3a 09 64 62 09 6f 66 66 73 65 74 09   ┆sectors to read  iot: db offset ┆
0x08ff60…08ff80             3b 74 72 61 63 6b 20 6e 75 6d 62 65 72 0d 0a 69 6f 73 3a 09 64 62 09 31 09 3b 73 65 63 74 6f 72   ┆;track number  ios: db 1 ;sector┆
0x08ff80…08ffa0             20 6e 75 6d 62 65 72 0d 0a 69 6f 64 3a 09 64 77 09 62 75 66 66 09 3b 69 6f 20 61 64 64 72 65 73   ┆ number  iod: dw buff ;io addres┆
0x08ffa0…08ffc0             73 0d 0a 3b 0d 0a 3b 0d 0a 3b 09 64 65 66 69 6e 65 20 72 61 6d 20 61 72 65 61 73 20 66 6f 72 20   ┆s  ;  ;  ; define ram areas for ┆
0x08ffc0…08ffe0             62 64 6f 73 20 6f 70 65 72 61 74 69 6f 6e 0d 0a 09 65 6e 64 65 66 0d 0a 09 65 6e 64 0d 0a 3b 09   ┆bdos operation   endef   end  ; ┆
0x08ffe0…090000             4d 44 53 2d 38 30 30 20 49 2f 4f 20 44 72 69 76 65 72 73 20 66 6f 72 20 43 50 2f 4d 20 32 2e 32   ┆MDS-800 I/O Drivers for CP/M 2.2┆
0x090000…090020 (38, 0, 13) 64 20 64 69 73 6b 20 77 61 73 20 62 2c 20 73 65 6e 64 20 70 61 72 61 6d 65 74 65 72 20 74 6f 20   ┆d disk was b, send parameter to ┆
0x090020…090040             63 70 6d 0d 0a 09 6c 64 61 09 63 64 69 73 6b 09 3b 6c 61 73 74 20 6c 6f 67 67 65 64 20 64 69 73   ┆cpm   lda cdisk ;last logged dis┆
0x090040…090060             6b 20 6e 75 6d 62 65 72 0d 0a 09 6d 6f 76 09 63 2c 61 09 3b 73 65 6e 64 20 74 6f 20 63 63 70 20   ┆k number   mov c,a ;send to ccp ┆
0x090060…090080             74 6f 20 6c 6f 67 20 69 74 20 69 6e 0d 0a 09 65 69 0d 0a 09 6a 6d 70 09 63 70 6d 62 0d 0a 3b 0d   ┆to log it in   ei   jmp cpmb  ; ┆
0x090080…0900a0             0a 3b 09 65 72 72 6f 72 20 63 6f 6e 64 69 74 69 6f 6e 20 6f 63 63 75 72 72 65 64 2c 20 70 72 69   ┆ ; error condition occurred, pri┆
0x0900a0…0900c0             6e 74 20 6d 65 73 73 61 67 65 20 61 6e 64 20 72 65 74 72 79 0d 0a 62 6f 6f 74 65 72 72 3a 0d 0a   ┆nt message and retry  booterr:  ┆
0x0900c0…0900e0             09 70 6f 70 09 62 09 3b 72 65 63 61 6c 6c 20 63 6f 75 6e 74 73 0d 0a 09 64 63 72 09 63 0d 0a 09   ┆ pop b ;recall counts   dcr c   ┆
0x0900e0…090100             6a 7a 09 62 6f 6f 74 65 72 30 0d 0a 3b 09 74 72 79 20 61 67 61 69 6e 0d 0a 09 70 75 73 68 09 62   ┆jz booter0  ; try again   push b┆
0x090100…090120             0d 0a 09 6a 6d 70 09 77 62 6f 6f 74 30 0d 0a 3b 0d 0a 62 6f 6f 74 65 72 30 3a 0d 0a 3b 09 6f 74   ┆   jmp wboot0  ;  booter0:  ; ot┆
0x090120…090140             68 65 72 77 69 73 65 20 74 6f 6f 20 6d 61 6e 79 20 72 65 74 72 69 65 73 0d 0a 09 6c 78 69 09 68   ┆herwise too many retries   lxi h┆
0x090140…090160             2c 62 6f 6f 74 6d 73 67 0d 0a 09 63 61 6c 6c 09 70 72 6d 73 67 0d 0a 09 6a 6d 70 09 72 6d 6f 6e   ┆,bootmsg   call prmsg   jmp rmon┆
0x090160…090180             38 30 09 3b 6d 64 73 20 68 61 72 64 77 61 72 65 20 6d 6f 6e 69 74 6f 72 0d 0a 3b 0d 0a 62 6f 6f   ┆80 ;mds hardware monitor  ;  boo┆
0x090180…0901a0             74 6d 73 67 3a 0d 0a 09 64 62 09 27 3f 62 6f 6f 74 27 2c 30 0d 0a 3b 0d 0a 3b 0d 0a 63 6f 6e 73   ┆tmsg:   db '?boot',0  ;  ;  cons┆
0x0901a0…0901c0             74 3a 09 3b 63 6f 6e 73 6f 6c 65 20 73 74 61 74 75 73 20 74 6f 20 72 65 67 2d 61 0d 0a 3b 09 28   ┆t: ;console status to reg-a  ; (┆
0x0901c0…0901e0             65 78 61 63 74 6c 79 20 74 68 65 20 73 61 6d 65 20 61 73 20 6d 64 73 20 63 61 6c 6c 29 0d 0a 09   ┆exactly the same as mds call)   ┆
0x0901e0…090200             6a 6d 70 09 63 73 74 73 0d 0a 3b 0d 0a 63 6f 6e 69 6e 3a 09 3b 63 6f 6e 73 6f 6c 65 20 63 68 61   ┆jmp csts  ;  conin: ;console cha┆
0x090200…090220 (38, 0, 14) 6e 75 6d 62 65 72 20 74 6f 20 41 0d 0a 09 73 74 61 09 69 6f 73 0d 0a 09 6d 6f 76 09 6c 2c 61 09   ┆number to A   sta ios   mov l,a ┆
0x090220…090240             3b 72 65 74 75 72 6e 20 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 20 69 6e 20 4c 0d 0a 09 72 65 74   ┆;return sector number in L   ret┆
0x090240…090260             0d 0a 3b 0d 0a 73 65 74 64 6d 61 3a 09 3b 73 65 74 20 64 6d 61 20 61 64 64 72 65 73 73 20 67 69   ┆  ;  setdma: ;set dma address gi┆
0x090260…090280             76 65 6e 20 62 79 20 72 65 67 73 20 62 2c 63 0d 0a 09 6d 6f 76 09 6c 2c 63 0d 0a 09 6d 6f 76 09   ┆ven by regs b,c   mov l,c   mov ┆
0x090280…0902a0             68 2c 62 0d 0a 09 73 68 6c 64 09 69 6f 64 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 72 65 61 64 3a 09 3b   ┆h,b   shld iod   ret  ;  read: ;┆
0x0902a0…0902c0             72 65 61 64 20 6e 65 78 74 20 64 69 73 6b 20 72 65 63 6f 72 64 20 28 61 73 73 75 6d 69 6e 67 20   ┆read next disk record (assuming ┆
0x0902c0…0902e0             64 69 73 6b 2f 74 72 6b 2f 73 65 63 2f 64 6d 61 20 73 65 74 29 0d 0a 09 6d 76 69 09 63 2c 72 65   ┆disk/trk/sec/dma set)   mvi c,re┆
0x0902e0…090300             61 64 66 09 3b 73 65 74 20 74 6f 20 72 65 61 64 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 63 61 6c 6c   ┆adf ;set to read function   call┆
0x090300…090320             09 73 65 74 66 75 6e 63 0d 0a 09 63 61 6c 6c 09 77 61 69 74 69 6f 09 3b 70 65 72 66 6f 72 6d 20   ┆ setfunc   call waitio ;perform ┆
0x090320…090340             72 65 61 64 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 72 65 74 09 09 3b 6d 61 79 20 68 61 76 65 20 65   ┆read function   ret  ;may have e┆
0x090340…090360             72 72 6f 72 20 73 65 74 20 69 6e 20 72 65 67 2d 61 0d 0a 3b 0d 0a 3b 0d 0a 77 72 69 74 65 3a 09   ┆rror set in reg-a  ;  ;  write: ┆
0x090360…090380             3b 64 69 73 6b 20 77 72 69 74 65 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 6d 76 69 09 63 2c 77 72 69   ┆;disk write function   mvi c,wri┆
0x090380…0903a0             74 66 0d 0a 09 63 61 6c 6c 09 73 65 74 66 75 6e 63 09 3b 73 65 74 20 74 6f 20 77 72 69 74 65 20   ┆tf   call setfunc ;set to write ┆
0x0903a0…0903c0             66 75 6e 63 74 69 6f 6e 0d 0a 09 63 61 6c 6c 09 77 61 69 74 69 6f 0d 0a 09 72 65 74 09 09 3b 6d   ┆function   call waitio   ret  ;m┆
0x0903c0…0903e0             61 79 20 68 61 76 65 20 65 72 72 6f 72 20 73 65 74 0d 0a 3b 0d 0a 3b 0d 0a 3b 09 75 74 69 6c 69   ┆ay have error set  ;  ;  ; utili┆
0x0903e0…090400             74 79 20 73 75 62 72 6f 75 74 69 6e 65 73 0d 0a 70 72 6d 73 67 3a 09 3b 70 72 69 6e 74 20 6d 65   ┆ty subroutines  prmsg: ;print me┆
0x090400…090420 (38, 0, 15) 20 61 63 63 75 6d 75 6c 61 74 6f 72 0d 0a 09 6f 72 61 09 61 0d 0a 09 6a 6e 7a 09 77 65 72 72 6f   ┆ accumulator   ora a   jnz werro┆
0x090420…090440             72 09 09 3b 73 6f 6d 65 20 6f 74 68 65 72 20 63 6f 6e 64 69 74 69 6f 6e 2c 20 72 65 74 72 79 0d   ┆r  ;some other condition, retry ┆
0x090440…090460             0a 3b 0d 0a 3b 09 63 68 65 63 6b 20 69 2f 6f 20 65 72 72 6f 72 20 62 69 74 73 0d 0a 09 63 61 6c   ┆ ;  ; check i/o error bits   cal┆
0x090460…090480             6c 09 69 6e 62 79 74 65 0d 0a 09 72 61 6c 0d 0a 09 6a 63 09 77 72 65 61 64 79 09 09 3b 75 6e 69   ┆l inbyte   ral   jc wready  ;uni┆
0x090480…0904a0             74 20 6e 6f 74 20 72 65 61 64 79 0d 0a 09 72 61 72 0d 0a 09 61 6e 69 09 31 31 31 31 31 31 31 30   ┆t not ready   rar   ani 11111110┆
0x0904a0…0904c0             62 09 3b 61 6e 79 20 6f 74 68 65 72 20 65 72 72 6f 72 73 3f 20 20 28 64 65 6c 65 74 65 64 20 64   ┆b ;any other errors?  (deleted d┆
0x0904c0…0904e0             61 74 61 20 6f 6b 29 0d 0a 09 6a 6e 7a 09 77 65 72 72 6f 72 0d 0a 3b 0d 0a 3b 09 72 65 61 64 20   ┆ata ok)   jnz werror  ;  ; read ┆
0x0904e0…090500             6f 72 20 77 72 69 74 65 20 69 73 20 6f 6b 2c 20 61 63 63 75 6d 75 6c 61 74 6f 72 20 63 6f 6e 74   ┆or write is ok, accumulator cont┆
0x090500…090520             61 69 6e 73 20 7a 65 72 6f 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 77 72 65 61 64 79 3a 09 3b 6e 6f 74   ┆ains zero   ret  ;  wready: ;not┆
0x090520…090540             20 72 65 61 64 79 2c 20 74 72 65 61 74 20 61 73 20 65 72 72 6f 72 20 66 6f 72 20 6e 6f 77 0d 0a   ┆ ready, treat as error for now  ┆
0x090540…090560             09 63 61 6c 6c 09 69 6e 62 79 74 65 09 09 3b 63 6c 65 61 72 20 72 65 73 75 6c 74 20 62 79 74 65   ┆ call inbyte  ;clear result byte┆
0x090560…090580             0d 0a 09 6a 6d 70 09 74 72 79 63 6f 75 6e 74 0d 0a 3b 0d 0a 77 65 72 72 6f 72 3a 09 3b 72 65 74   ┆   jmp trycount  ;  werror: ;ret┆
0x090580…0905a0             75 72 6e 20 68 61 72 64 77 61 72 65 20 6d 61 6c 66 75 6e 63 74 69 6f 6e 20 28 63 72 63 2c 20 74   ┆urn hardware malfunction (crc, t┆
0x0905a0…0905c0             72 61 63 6b 2c 20 73 65 65 6b 2c 20 65 74 63 2e 29 0d 0a 3b 09 74 68 65 20 6d 64 73 20 63 6f 6e   ┆rack, seek, etc.)  ; the mds con┆
0x0905c0…0905e0             74 72 6f 6c 6c 65 72 20 68 61 73 20 72 65 74 75 72 6e 65 64 20 61 20 62 69 74 20 69 6e 20 65 61   ┆troller has returned a bit in ea┆
0x0905e0…090600             63 68 20 70 6f 73 69 74 69 6f 6e 0d 0a 3b 09 6f 66 20 74 68 65 20 61 63 63 75 6d 75 6c 61 74 6f   ┆ch position  ; of the accumulato┆
0x090600…090620 (38, 1, 1)  0d 0a 3b 09 28 66 6f 75 72 20 64 72 69 76 65 20 73 69 6e 67 6c 65 20 64 65 6e 73 69 74 79 20 76   ┆  ; (four drive single density v┆
0x090620…090640             65 72 73 69 6f 6e 29 0d 0a 3b 0d 0a 3b 09 56 65 72 73 69 6f 6e 20 32 2e 32 20 46 65 62 72 75 61   ┆ersion)  ;  ; Version 2.2 Februa┆
0x090640…090660             72 79 2c 20 31 39 38 30 0d 0a 3b 0d 0a 76 65 72 73 09 65 71 75 09 32 32 09 3b 76 65 72 73 69 6f   ┆ry, 1980  ;  vers equ 22 ;versio┆
0x090660…090680             6e 20 32 2e 32 0d 0a 3b 0d 0a 3b 09 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 31 39 38 30 0d 0a   ┆n 2.2  ;  ; Copyright (c) 1980  ┆
0x090680…0906a0             3b 09 44 69 67 69 74 61 6c 20 52 65 73 65 61 72 63 68 0d 0a 3b 09 42 6f 78 20 35 37 39 2c 20 50   ┆; Digital Research  ; Box 579, P┆
0x0906a0…0906c0             61 63 69 66 69 63 20 47 72 6f 76 65 0d 0a 3b 09 43 61 6c 69 66 6f 72 6e 69 61 2c 20 39 33 39 35   ┆acific Grove  ; California, 9395┆
0x0906c0…0906e0             30 0d 0a 3b 0d 0a 3b 0d 0a 74 72 75 65 09 65 71 75 09 30 66 66 66 66 68 09 3b 76 61 6c 75 65 20   ┆0  ;  ;  true equ 0ffffh ;value ┆
0x0906e0…090700             6f 66 20 22 74 72 75 65 22 0d 0a 66 61 6c 73 65 09 65 71 75 09 6e 6f 74 20 74 72 75 65 09 3b 22   ┆of "true"  false equ not true ;"┆
0x090700…090720             66 61 6c 73 65 22 0d 0a 74 65 73 74 09 65 71 75 09 66 61 6c 73 65 09 3b 74 72 75 65 20 69 66 20   ┆false"  test equ false ;true if ┆
0x090720…090740             74 65 73 74 20 62 69 6f 73 0d 0a 3b 0d 0a 09 69 66 09 74 65 73 74 0d 0a 62 69 61 73 09 65 71 75   ┆test bios  ;   if test  bias equ┆
0x090740…090760             09 30 33 34 30 30 68 09 3b 62 61 73 65 20 6f 66 20 43 43 50 20 69 6e 20 74 65 73 74 20 73 79 73   ┆ 03400h ;base of CCP in test sys┆
0x090760…090780             74 65 6d 0d 0a 09 65 6e 64 69 66 0d 0a 09 69 66 09 6e 6f 74 20 74 65 73 74 0d 0a 62 69 61 73 09   ┆tem   endif   if not test  bias ┆
0x090780…0907a0             65 71 75 09 30 30 30 30 68 09 3b 67 65 6e 65 72 61 74 65 20 72 65 6c 6f 63 61 74 61 62 6c 65 20   ┆equ 0000h ;generate relocatable ┆
0x0907a0…0907c0             63 70 2f 6d 20 73 79 73 74 65 6d 0d 0a 09 65 6e 64 69 66 0d 0a 3b 0d 0a 70 61 74 63 68 09 65 71   ┆cp/m system   endif  ;  patch eq┆
0x0907c0…0907e0             75 09 31 36 30 30 68 0d 0a 3b 0d 0a 09 6f 72 67 09 70 61 74 63 68 0d 0a 63 70 6d 62 09 65 71 75   ┆u 1600h  ;   org patch  cpmb equ┆
0x0907e0…090800             09 24 2d 70 61 74 63 68 09 3b 62 61 73 65 20 6f 66 20 63 70 6d 20 63 6f 6e 73 6f 6c 65 20 70 72   ┆ $-patch ;base of cpm console pr┆
0x090800…090820 (38, 1, 2)  6d 70 09 73 65 74 73 65 63 0d 0a 09 6a 6d 70 09 73 65 74 64 6d 61 0d 0a 09 6a 6d 70 09 72 65 61   ┆mp setsec   jmp setdma   jmp rea┆
0x090820…090840             64 0d 0a 09 6a 6d 70 09 77 72 69 74 65 0d 0a 09 6a 6d 70 09 6c 69 73 74 73 74 09 3b 6c 69 73 74   ┆d   jmp write   jmp listst ;list┆
0x090840…090860             20 73 74 61 74 75 73 0d 0a 09 6a 6d 70 09 73 65 63 74 72 61 6e 0d 0a 3b 0d 0a 09 6d 61 63 6c 69   ┆ status   jmp sectran  ;   macli┆
0x090860…090880             62 09 64 69 73 6b 64 65 66 09 3b 6c 6f 61 64 20 74 68 65 20 64 69 73 6b 20 64 65 66 69 6e 69 74   ┆b diskdef ;load the disk definit┆
0x090880…0908a0             69 6f 6e 20 6c 69 62 72 61 72 79 0d 0a 09 64 69 73 6b 73 09 34 09 3b 66 6f 75 72 20 64 69 73 6b   ┆ion library   disks 4 ;four disk┆
0x0908a0…0908c0             73 0d 0a 09 64 69 73 6b 64 65 66 09 30 2c 31 2c 32 36 2c 36 2c 31 30 32 34 2c 32 34 33 2c 36 34   ┆s   diskdef 0,1,26,6,1024,243,64┆
0x0908c0…0908e0             2c 36 34 2c 6f 66 66 73 65 74 0d 0a 09 64 69 73 6b 64 65 66 09 31 2c 30 0d 0a 09 64 69 73 6b 64   ┆,64,offset   diskdef 1,0   diskd┆
0x0908e0…090900             65 66 09 32 2c 30 0d 0a 09 64 69 73 6b 64 65 66 09 33 2c 30 0d 0a 3b 09 65 6e 64 65 66 20 6f 63   ┆ef 2,0   diskdef 3,0  ; endef oc┆
0x090900…090920             63 75 72 73 20 61 74 20 65 6e 64 20 6f 66 20 61 73 73 65 6d 62 6c 79 0d 0a 3b 0d 0a 3b 09 65 6e   ┆curs at end of assembly  ;  ; en┆
0x090920…090940             64 20 6f 66 20 63 6f 6e 74 72 6f 6c 6c 65 72 20 2d 20 69 6e 64 65 70 65 6e 64 65 6e 74 20 63 6f   ┆d of controller - independent co┆
0x090940…090960             64 65 2c 20 74 68 65 20 72 65 6d 61 69 6e 69 6e 67 20 73 75 62 72 6f 75 74 69 6e 65 73 0d 0a 3b   ┆de, the remaining subroutines  ;┆
0x090960…090980             09 61 72 65 20 74 61 69 6c 6f 72 65 64 20 74 6f 20 74 68 65 20 70 61 72 74 69 63 75 6c 61 72 20   ┆ are tailored to the particular ┆
0x090980…0909a0             6f 70 65 72 61 74 69 6e 67 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 2c 20 61 6e 64 20 6d 75 73 74 0d   ┆operating environment, and must ┆
0x0909a0…0909c0             0a 3b 09 62 65 20 61 6c 74 65 72 65 64 20 66 6f 72 20 61 6e 79 20 73 79 73 74 65 6d 20 77 68 69   ┆ ; be altered for any system whi┆
0x0909c0…0909e0             63 68 20 64 69 66 66 65 72 73 20 66 72 6f 6d 20 74 68 65 20 69 6e 74 65 6c 20 6d 64 73 2e 0d 0a   ┆ch differs from the intel mds.  ┆
0x0909e0…090a00             3b 0d 0a 3b 09 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 64 65 20 61 73 73 75 6d 65 73 20   ┆;  ; the following code assumes ┆
0x090a00…090a20 (38, 1, 3)  70 72 6d 73 67 09 3b 70 72 69 6e 74 20 6d 65 73 73 61 67 65 0d 0a 09 78 72 61 09 61 09 3b 63 6c   ┆prmsg ;print message   xra a ;cl┆
0x090a20…090a40             65 61 72 20 61 63 63 75 6d 75 6c 61 74 6f 72 0d 0a 09 73 74 61 09 63 64 69 73 6b 09 3b 73 65 74   ┆ear accumulator   sta cdisk ;set┆
0x090a40…090a60             20 69 6e 69 74 69 61 6c 6c 79 20 74 6f 20 64 69 73 6b 20 61 0d 0a 09 6a 6d 70 09 67 6f 63 70 6d   ┆ initially to disk a   jmp gocpm┆
0x090a60…090a80             09 3b 67 6f 20 74 6f 20 63 70 2f 6d 0d 0a 3b 0d 0a 3b 0d 0a 77 62 6f 6f 74 3a 3b 09 6c 6f 61 64   ┆ ;go to cp/m  ;  ;  wboot:; load┆
0x090a80…090aa0             65 72 20 6f 6e 20 74 72 61 63 6b 20 30 2c 20 73 65 63 74 6f 72 20 31 2c 20 77 68 69 63 68 20 77   ┆er on track 0, sector 1, which w┆
0x090aa0…090ac0             69 6c 6c 20 62 65 20 73 6b 69 70 70 65 64 20 66 6f 72 20 77 61 72 6d 20 0d 0a 3b 09 72 65 61 64   ┆ill be skipped for warm   ; read┆
0x090ac0…090ae0             20 63 70 2f 6d 20 66 72 6f 6d 20 64 69 73 6b 20 2d 20 61 73 73 75 6d 69 6e 67 20 74 68 65 72 65   ┆ cp/m from disk - assuming there┆
0x090ae0…090b00             20 69 73 20 61 20 31 32 38 20 62 79 74 65 20 63 6f 6c 64 20 73 74 61 72 74 0d 0a 3b 09 73 74 61   ┆ is a 128 byte cold start  ; sta┆
0x090b00…090b20             72 74 2e 0d 0a 3b 0d 0a 09 6c 78 69 09 73 70 2c 62 75 66 66 09 3b 75 73 69 6e 67 20 64 6d 61 20   ┆rt.  ;   lxi sp,buff ;using dma ┆
0x090b20…090b40             2d 20 74 68 75 73 20 38 30 20 74 68 72 75 20 66 66 20 61 76 61 69 6c 61 62 6c 65 20 66 6f 72 20   ┆- thus 80 thru ff available for ┆
0x090b40…090b60             73 74 61 63 6b 0d 0a 3b 0d 0a 09 6d 76 69 09 63 2c 72 65 74 72 79 09 3b 6d 61 78 20 72 65 74 72   ┆stack  ;   mvi c,retry ;max retr┆
0x090b60…090b80             69 65 73 0d 0a 09 70 75 73 68 09 62 0d 0a 77 62 6f 6f 74 30 3a 09 3b 65 6e 74 65 72 20 68 65 72   ┆ies   push b  wboot0: ;enter her┆
0x090b80…090ba0             65 20 6f 6e 20 65 72 72 6f 72 20 72 65 74 72 69 65 73 0d 0a 09 6c 78 69 09 62 2c 63 70 6d 62 09   ┆e on error retries   lxi b,cpmb ┆
0x090ba0…090bc0             3b 73 65 74 20 64 6d 61 20 61 64 64 72 65 73 73 20 74 6f 20 73 74 61 72 74 20 6f 66 20 64 69 73   ┆;set dma address to start of dis┆
0x090bc0…090be0             6b 20 73 79 73 74 65 6d 0d 0a 09 63 61 6c 6c 09 73 65 74 64 6d 61 0d 0a 09 6d 76 69 09 63 2c 30   ┆k system   call setdma   mvi c,0┆
0x090be0…090c00             09 3b 62 6f 6f 74 20 66 72 6f 6d 20 64 72 69 76 65 20 30 0d 0a 09 63 61 6c 6c 09 73 65 6c 64 73   ┆ ;boot from drive 0   call selds┆
0x090c00…090c20 (38, 1, 4)  20 63 63 70 20 74 6f 20 6c 6f 67 20 69 74 20 69 6e 0d 0a 09 65 69 0d 0a 09 6a 6d 70 09 63 70 6d   ┆ ccp to log it in   ei   jmp cpm┆
0x090c20…090c40             62 0d 0a 3b 0d 0a 3b 09 65 72 72 6f 72 20 63 6f 6e 64 69 74 69 6f 6e 20 6f 63 63 75 72 72 65 64   ┆b  ;  ; error condition occurred┆
0x090c40…090c60             2c 20 70 72 69 6e 74 20 6d 65 73 73 61 67 65 20 61 6e 64 20 72 65 74 72 79 0d 0a 62 6f 6f 74 65   ┆, print message and retry  boote┆
0x090c60…090c80             72 72 3a 0d 0a 09 70 6f 70 09 62 09 3b 72 65 63 61 6c 6c 20 63 6f 75 6e 74 73 0d 0a 09 64 63 72   ┆rr:   pop b ;recall counts   dcr┆
0x090c80…090ca0             09 63 0d 0a 09 6a 7a 09 62 6f 6f 74 65 72 30 0d 0a 3b 09 74 72 79 20 61 67 61 69 6e 0d 0a 09 70   ┆ c   jz booter0  ; try again   p┆
0x090ca0…090cc0             75 73 68 09 62 0d 0a 09 6a 6d 70 09 77 62 6f 6f 74 30 0d 0a 3b 0d 0a 62 6f 6f 74 65 72 30 3a 0d   ┆ush b   jmp wboot0  ;  booter0: ┆
0x090cc0…090ce0             0a 3b 09 6f 74 68 65 72 77 69 73 65 20 74 6f 6f 20 6d 61 6e 79 20 72 65 74 72 69 65 73 0d 0a 09   ┆ ; otherwise too many retries   ┆
0x090ce0…090d00             6c 78 69 09 68 2c 62 6f 6f 74 6d 73 67 0d 0a 09 63 61 6c 6c 09 70 72 6d 73 67 0d 0a 09 6a 6d 70   ┆lxi h,bootmsg   call prmsg   jmp┆
0x090d00…090d20             09 72 6d 6f 6e 38 30 09 3b 6d 64 73 20 68 61 72 64 77 61 72 65 20 6d 6f 6e 69 74 6f 72 0d 0a 3b   ┆ rmon80 ;mds hardware monitor  ;┆
0x090d20…090d40             0d 0a 62 6f 6f 74 6d 73 67 3a 0d 0a 09 64 62 09 27 3f 62 6f 6f 74 27 2c 30 0d 0a 3b 0d 0a 3b 0d   ┆  bootmsg:   db '?boot',0  ;  ; ┆
0x090d40…090d60             0a 63 6f 6e 73 74 3a 09 3b 63 6f 6e 73 6f 6c 65 20 73 74 61 74 75 73 20 74 6f 20 72 65 67 2d 61   ┆ const: ;console status to reg-a┆
0x090d60…090d80             0d 0a 3b 09 28 65 78 61 63 74 6c 79 20 74 68 65 20 73 61 6d 65 20 61 73 20 6d 64 73 20 63 61 6c   ┆  ; (exactly the same as mds cal┆
0x090d80…090da0             6c 29 0d 0a 09 6a 6d 70 09 63 73 74 73 0d 0a 3b 0d 0a 63 6f 6e 69 6e 3a 09 3b 63 6f 6e 73 6f 6c   ┆l)   jmp csts  ;  conin: ;consol┆
0x090da0…090dc0             65 20 63 68 61 72 61 63 74 65 72 20 74 6f 20 72 65 67 2d 61 0d 0a 09 63 61 6c 6c 09 63 69 0d 0a   ┆e character to reg-a   call ci  ┆
0x090dc0…090de0             09 61 6e 69 09 37 66 68 09 3b 72 65 6d 6f 76 65 20 70 61 72 69 74 79 20 62 69 74 0d 0a 09 72 65   ┆ ani 7fh ;remove parity bit   re┆
0x090de0…090e00             74 0d 0a 3b 0d 0a 63 6f 6e 6f 75 74 3a 09 3b 63 6f 6e 73 6f 6c 65 20 63 68 61 72 61 63 74 65 72   ┆t  ;  conout: ;console character┆
0x090e00…090e20 (38, 1, 5)  6f 63 65 73 73 6f 72 0d 0a 62 64 6f 73 09 65 71 75 09 38 30 36 68 2b 63 70 6d 62 09 3b 62 61 73   ┆ocessor  bdos equ 806h+cpmb ;bas┆
0x090e20…090e40             69 63 20 64 6f 73 20 28 72 65 73 69 64 65 6e 74 20 70 6f 72 74 69 6f 6e 29 0d 0a 63 70 6d 6c 09   ┆ic dos (resident portion)  cpml ┆
0x090e40…090e60             65 71 75 09 24 2d 63 70 6d 62 09 3b 6c 65 6e 67 74 68 20 28 69 6e 20 62 79 74 65 73 29 20 6f 66   ┆equ $-cpmb ;length (in bytes) of┆
0x090e60…090e80             20 63 70 6d 20 73 79 73 74 65 6d 0d 0a 6e 73 65 63 74 73 09 65 71 75 09 63 70 6d 6c 2f 31 32 38   ┆ cpm system  nsects equ cpml/128┆
0x090e80…090ea0             09 3b 6e 75 6d 62 65 72 20 6f 66 20 73 65 63 74 6f 72 73 20 74 6f 20 6c 6f 61 64 0d 0a 6f 66 66   ┆ ;number of sectors to load  off┆
0x090ea0…090ec0             73 65 74 09 65 71 75 09 32 09 3b 6e 75 6d 62 65 72 20 6f 66 20 64 69 73 6b 20 74 72 61 63 6b 73   ┆set equ 2 ;number of disk tracks┆
0x090ec0…090ee0             20 75 73 65 64 20 62 79 20 63 70 2f 6d 0d 0a 63 64 69 73 6b 09 65 71 75 09 30 30 30 34 68 09 3b   ┆ used by cp/m  cdisk equ 0004h ;┆
0x090ee0…090f00             61 64 64 72 65 73 73 20 6f 66 20 6c 61 73 74 20 6c 6f 67 67 65 64 20 64 69 73 6b 20 6f 6e 20 77   ┆address of last logged disk on w┆
0x090f00…090f20             61 72 6d 20 73 74 61 72 74 0d 0a 62 75 66 66 09 65 71 75 09 30 30 38 30 68 09 3b 64 65 66 61 75   ┆arm start  buff equ 0080h ;defau┆
0x090f20…090f40             6c 74 20 62 75 66 66 65 72 20 61 64 64 72 65 73 73 0d 0a 72 65 74 72 79 09 65 71 75 09 31 30 09   ┆lt buffer address  retry equ 10 ┆
0x090f40…090f60             3b 6d 61 78 20 72 65 74 72 69 65 73 20 6f 6e 20 64 69 73 6b 20 69 2f 6f 20 62 65 66 6f 72 65 20   ┆;max retries on disk i/o before ┆
0x090f60…090f80             65 72 72 6f 72 0d 0a 3b 0d 0a 3b 09 70 65 72 66 6f 72 6d 20 66 6f 6c 6c 6f 77 69 6e 67 20 66 75   ┆error  ;  ; perform following fu┆
0x090f80…090fa0             6e 63 74 69 6f 6e 73 0d 0a 3b 09 62 6f 6f 74 09 63 6f 6c 64 20 73 74 61 72 74 0d 0a 3b 09 77 62   ┆nctions  ; boot cold start  ; wb┆
0x090fa0…090fc0             6f 6f 74 09 77 61 72 6d 20 73 74 61 72 74 20 28 73 61 76 65 20 69 2f 6f 20 62 79 74 65 29 0d 0a   ┆oot warm start (save i/o byte)  ┆
0x090fc0…090fe0             3b 09 28 62 6f 6f 74 20 61 6e 64 20 77 62 6f 6f 74 20 61 72 65 20 74 68 65 20 73 61 6d 65 20 66   ┆; (boot and wboot are the same f┆
0x090fe0…091000             6f 72 20 6d 64 73 29 0d 0a 3b 09 63 6f 6e 73 74 09 63 6f 6e 73 6f 6c 65 20 73 74 61 74 75 73 0d   ┆or mds)  ; const console status ┆
0x091000…091020 (38, 1, 6)  74 68 65 20 6d 64 73 20 6d 6f 6e 69 74 6f 72 20 65 78 69 73 74 73 20 61 74 20 30 66 38 30 30 68   ┆the mds monitor exists at 0f800h┆
0x091020…091040             0d 0a 3b 09 61 6e 64 20 75 73 65 73 20 74 68 65 20 69 2f 6f 20 73 75 62 72 6f 75 74 69 6e 65 73   ┆  ; and uses the i/o subroutines┆
0x091040…091060             20 77 69 74 68 69 6e 20 74 68 65 20 6d 6f 6e 69 74 6f 72 0d 0a 3b 0d 0a 3b 09 77 65 20 61 6c 73   ┆ within the monitor  ;  ; we als┆
0x091060…091080             6f 20 61 73 73 75 6d 65 20 74 68 65 20 6d 64 73 20 73 79 73 74 65 6d 20 68 61 73 20 66 6f 75 72   ┆o assume the mds system has four┆
0x091080…0910a0             20 64 69 73 6b 20 64 72 69 76 65 73 0d 0a 72 65 76 72 74 09 65 71 75 09 30 66 64 68 09 3b 69 6e   ┆ disk drives  revrt equ 0fdh ;in┆
0x0910a0…0910c0             74 65 72 72 75 70 74 20 72 65 76 65 72 74 20 70 6f 72 74 0d 0a 69 6e 74 63 09 65 71 75 09 30 66   ┆terrupt revert port  intc equ 0f┆
0x0910c0…0910e0             63 68 09 3b 69 6e 74 65 72 72 75 70 74 20 6d 61 73 6b 20 70 6f 72 74 0d 0a 69 63 6f 6e 09 65 71   ┆ch ;interrupt mask port  icon eq┆
0x0910e0…091100             75 09 30 66 33 68 09 3b 69 6e 74 65 72 72 75 70 74 20 63 6f 6e 74 72 6f 6c 20 70 6f 72 74 0d 0a   ┆u 0f3h ;interrupt control port  ┆
0x091100…091120             69 6e 74 65 09 65 71 75 09 30 31 31 31 24 31 31 31 30 62 09 3b 65 6e 61 62 6c 65 20 72 73 74 20   ┆inte equ 0111$1110b ;enable rst ┆
0x091120…091140             30 28 77 61 72 6d 20 62 6f 6f 74 29 2c 20 72 73 74 20 37 20 28 6d 6f 6e 69 74 6f 72 29 0d 0a 3b   ┆0(warm boot), rst 7 (monitor)  ;┆
0x091140…091160             0d 0a 3b 09 6d 64 73 20 6d 6f 6e 69 74 6f 72 20 65 71 75 61 74 65 73 0d 0a 6d 6f 6e 38 30 09 65   ┆  ; mds monitor equates  mon80 e┆
0x091160…091180             71 75 09 30 66 38 30 30 68 09 3b 6d 64 73 20 6d 6f 6e 69 74 6f 72 0d 0a 72 6d 6f 6e 38 30 09 65   ┆qu 0f800h ;mds monitor  rmon80 e┆
0x091180…0911a0             71 75 09 30 66 66 30 66 68 09 3b 72 65 73 74 61 72 74 20 6d 6f 6e 38 30 20 28 62 6f 6f 74 20 65   ┆qu 0ff0fh ;restart mon80 (boot e┆
0x0911a0…0911c0             72 72 6f 72 29 0d 0a 63 69 09 65 71 75 09 30 66 38 30 33 68 09 3b 63 6f 6e 73 6f 6c 65 20 63 68   ┆rror)  ci equ 0f803h ;console ch┆
0x0911c0…0911e0             61 72 61 63 74 65 72 20 74 6f 20 72 65 67 2d 61 0d 0a 72 69 09 65 71 75 09 30 66 38 30 36 68 09   ┆aracter to reg-a  ri equ 0f806h ┆
0x0911e0…091200             3b 72 65 61 64 65 72 20 69 6e 20 74 6f 20 72 65 67 2d 61 0d 0a 63 6f 09 65 71 75 09 30 66 38 30   ┆;reader in to reg-a  co equ 0f80┆
0x091200…091220 (38, 1, 7)  6b 0d 0a 09 6d 76 69 09 63 2c 30 0d 0a 09 63 61 6c 6c 09 73 65 74 74 72 6b 09 3b 73 74 61 72 74   ┆k   mvi c,0   call settrk ;start┆
0x091220…091240             20 77 69 74 68 20 74 72 61 63 6b 20 30 0d 0a 09 6d 76 69 09 63 2c 32 09 3b 73 74 61 72 74 20 72   ┆ with track 0   mvi c,2 ;start r┆
0x091240…091260             65 61 64 69 6e 67 20 73 65 63 74 6f 72 20 32 0d 0a 09 63 61 6c 6c 09 73 65 74 73 65 63 0d 0a 3b   ┆eading sector 2   call setsec  ;┆
0x091260…091280             0d 0a 3b 09 72 65 61 64 20 73 65 63 74 6f 72 73 2c 20 63 6f 75 6e 74 20 6e 73 65 63 74 73 20 74   ┆  ; read sectors, count nsects t┆
0x091280…0912a0             6f 20 7a 65 72 6f 0d 0a 09 70 6f 70 09 62 09 3b 31 30 2d 65 72 72 6f 72 20 63 6f 75 6e 74 0d 0a   ┆o zero   pop b ;10-error count  ┆
0x0912a0…0912c0             09 6d 76 69 09 62 2c 6e 73 65 63 74 73 0d 0a 72 64 73 65 63 3a 09 3b 72 65 61 64 20 6e 65 78 74   ┆ mvi b,nsects  rdsec: ;read next┆
0x0912c0…0912e0             20 73 65 63 74 6f 72 0d 0a 09 70 75 73 68 09 62 09 3b 73 61 76 65 20 73 65 63 74 6f 72 20 63 6f   ┆ sector   push b ;save sector co┆
0x0912e0…091300             75 6e 74 0d 0a 09 63 61 6c 6c 09 72 65 61 64 0d 0a 09 6a 6e 7a 09 62 6f 6f 74 65 72 72 09 3b 72   ┆unt   call read   jnz booterr ;r┆
0x091300…091320             65 74 72 79 20 69 66 20 65 72 72 6f 72 73 20 6f 63 63 75 72 0d 0a 09 6c 68 6c 64 09 69 6f 64 09   ┆etry if errors occur   lhld iod ┆
0x091320…091340             3b 69 6e 63 72 65 6d 65 6e 74 20 64 6d 61 20 61 64 64 72 65 73 73 0d 0a 09 6c 78 69 09 64 2c 31   ┆;increment dma address   lxi d,1┆
0x091340…091360             32 38 09 3b 73 65 63 74 6f 72 20 73 69 7a 65 0d 0a 09 64 61 64 09 64 09 3b 69 6e 63 72 65 6d 65   ┆28 ;sector size   dad d ;increme┆
0x091360…091380             6e 74 65 64 20 64 6d 61 20 61 64 64 72 65 73 73 20 69 6e 20 68 6c 0d 0a 09 6d 6f 76 09 62 2c 68   ┆nted dma address in hl   mov b,h┆
0x091380…0913a0             0d 0a 09 6d 6f 76 09 63 2c 6c 09 3b 72 65 61 64 79 20 66 6f 72 20 63 61 6c 6c 20 74 6f 20 73 65   ┆   mov c,l ;ready for call to se┆
0x0913a0…0913c0             74 20 64 6d 61 0d 0a 09 63 61 6c 6c 09 73 65 74 64 6d 61 0d 0a 09 6c 64 61 09 69 6f 73 09 3b 73   ┆t dma   call setdma   lda ios ;s┆
0x0913c0…0913e0             65 63 74 6f 72 20 6e 75 6d 62 65 72 20 6a 75 73 74 20 72 65 61 64 0d 0a 09 63 70 69 09 32 36 09   ┆ector number just read   cpi 26 ┆
0x0913e0…091400             3b 72 65 61 64 20 6c 61 73 74 20 73 65 63 74 6f 72 3f 0d 0a 09 6a 63 09 72 64 31 0d 0a 3b 09 6d   ┆;read last sector?   jc rd1  ; m┆
0x091400…091420 (38, 1, 8)  20 66 72 6f 6d 20 63 20 74 6f 20 63 6f 6e 73 6f 6c 65 20 6f 75 74 0d 0a 09 6a 6d 70 09 63 6f 0d   ┆ from c to console out   jmp co ┆
0x091420…091440             0a 3b 0d 0a 6c 69 73 74 3a 09 3b 6c 69 73 74 20 64 65 76 69 63 65 20 6f 75 74 0d 0a 3b 09 28 65   ┆ ;  list: ;list device out  ; (e┆
0x091440…091460             78 61 63 74 6c 79 20 74 68 65 20 73 61 6d 65 20 61 73 20 6d 64 73 20 63 61 6c 6c 29 0d 0a 09 6a   ┆xactly the same as mds call)   j┆
0x091460…091480             6d 70 09 6c 6f 0d 0a 3b 0d 0a 6c 69 73 74 73 74 3a 0d 0a 09 3b 72 65 74 75 72 6e 20 6c 69 73 74   ┆mp lo  ;  listst:   ;return list┆
0x091480…0914a0             20 73 74 61 74 75 73 0d 0a 09 78 72 61 09 61 0d 0a 09 72 65 74 09 09 3b 61 6c 77 61 79 73 20 6e   ┆ status   xra a   ret  ;always n┆
0x0914a0…0914c0             6f 74 20 72 65 61 64 79 0d 0a 3b 0d 0a 70 75 6e 63 68 3a 09 3b 70 75 6e 63 68 20 64 65 76 69 63   ┆ot ready  ;  punch: ;punch devic┆
0x0914c0…0914e0             65 20 6f 75 74 0d 0a 3b 09 28 65 78 61 63 74 6c 79 20 74 68 65 20 73 61 6d 65 20 61 73 20 6d 64   ┆e out  ; (exactly the same as md┆
0x0914e0…091500             73 20 63 61 6c 6c 29 0d 0a 09 6a 6d 70 09 70 6f 0d 0a 3b 0d 0a 72 65 61 64 65 72 3a 09 3b 72 65   ┆s call)   jmp po  ;  reader: ;re┆
0x091500…091520             61 64 65 72 20 63 68 61 72 61 63 74 65 72 20 69 6e 20 74 6f 20 72 65 67 2d 61 0d 0a 3b 09 28 65   ┆ader character in to reg-a  ; (e┆
0x091520…091540             78 61 63 74 6c 79 20 74 68 65 20 73 61 6d 65 20 61 73 20 6d 64 73 20 63 61 6c 6c 29 0d 0a 09 6a   ┆xactly the same as mds call)   j┆
0x091540…091560             6d 70 09 72 69 0d 0a 3b 0d 0a 68 6f 6d 65 3a 09 3b 6d 6f 76 65 20 74 6f 20 68 6f 6d 65 20 70 6f   ┆mp ri  ;  home: ;move to home po┆
0x091560…091580             73 69 74 69 6f 6e 0d 0a 3b 09 74 72 65 61 74 20 61 73 20 74 72 61 63 6b 20 30 30 20 73 65 65 6b   ┆sition  ; treat as track 00 seek┆
0x091580…0915a0             0d 0a 09 6d 76 69 09 63 2c 30 0d 0a 09 6a 6d 70 09 73 65 74 74 72 6b 0d 0a 3b 0d 0a 73 65 6c 64   ┆   mvi c,0   jmp settrk  ;  seld┆
0x0915a0…0915c0             73 6b 3a 09 3b 73 65 6c 65 63 74 20 64 69 73 6b 20 67 69 76 65 6e 20 62 79 20 72 65 67 69 73 74   ┆sk: ;select disk given by regist┆
0x0915c0…0915e0             65 72 20 63 0d 0a 09 6c 78 69 09 68 2c 30 30 30 30 68 09 3b 72 65 74 75 72 6e 20 30 30 30 30 20   ┆er c   lxi h,0000h ;return 0000 ┆
0x0915e0…091600             69 66 20 65 72 72 6f 72 0d 0a 09 6d 6f 76 09 61 2c 63 0d 0a 09 63 70 69 09 6e 64 69 73 6b 73 09   ┆if error   mov a,c   cpi ndisks ┆
0x091600…091620 (38, 1, 9)  0a 3b 09 09 72 65 67 2d 61 20 3d 20 30 30 20 69 66 20 6e 6f 20 63 68 61 72 61 63 74 65 72 20 72   ┆ ;  reg-a = 00 if no character r┆
0x091620…091640             65 61 64 79 0d 0a 3b 09 09 72 65 67 2d 61 20 3d 20 66 66 20 69 66 20 63 68 61 72 61 63 74 65 72   ┆eady  ;  reg-a = ff if character┆
0x091640…091660             20 72 65 61 64 79 0d 0a 3b 09 63 6f 6e 69 6e 09 63 6f 6e 73 6f 6c 65 20 63 68 61 72 61 63 74 65   ┆ ready  ; conin console characte┆
0x091660…091680             72 20 69 6e 20 28 72 65 73 75 6c 74 20 69 6e 20 72 65 67 2d 61 29 0d 0a 3b 09 63 6f 6e 6f 75 74   ┆r in (result in reg-a)  ; conout┆
0x091680…0916a0             09 63 6f 6e 73 6f 6c 65 20 63 68 61 72 61 63 74 65 72 20 6f 75 74 20 28 63 68 61 72 20 69 6e 20   ┆ console character out (char in ┆
0x0916a0…0916c0             72 65 67 2d 63 29 0d 0a 3b 09 6c 69 73 74 09 6c 69 73 74 20 6f 75 74 20 28 63 68 61 72 20 69 6e   ┆reg-c)  ; list list out (char in┆
0x0916c0…0916e0             20 72 65 67 2d 63 29 0d 0a 3b 09 70 75 6e 63 68 09 70 75 6e 63 68 20 6f 75 74 20 28 63 68 61 72   ┆ reg-c)  ; punch punch out (char┆
0x0916e0…091700             20 69 6e 20 72 65 67 2d 63 29 0d 0a 3b 09 72 65 61 64 65 72 09 70 61 70 65 72 20 74 61 70 65 20   ┆ in reg-c)  ; reader paper tape ┆
0x091700…091720             72 65 61 64 65 72 20 69 6e 20 28 72 65 73 75 6c 74 20 74 6f 20 72 65 67 2d 61 29 0d 0a 3b 09 68   ┆reader in (result to reg-a)  ; h┆
0x091720…091740             6f 6d 65 09 6d 6f 76 65 20 74 6f 20 74 72 61 63 6b 20 30 30 0d 0a 3b 0d 0a 3b 09 28 74 68 65 20   ┆ome move to track 00  ;  ; (the ┆
0x091740…091760             66 6f 6c 6c 6f 77 69 6e 67 20 63 61 6c 6c 73 20 73 65 74 2d 75 70 20 74 68 65 20 69 6f 20 70 61   ┆following calls set-up the io pa┆
0x091760…091780             72 61 6d 65 74 65 72 20 62 6c 6f 63 6b 20 66 6f 72 20 74 68 65 0d 0a 3b 09 6d 64 73 2c 20 77 68   ┆rameter block for the  ; mds, wh┆
0x091780…0917a0             69 63 68 20 69 73 20 75 73 65 64 20 74 6f 20 70 65 72 66 6f 72 6d 20 73 75 62 73 65 71 75 65 6e   ┆ich is used to perform subsequen┆
0x0917a0…0917c0             74 20 72 65 61 64 73 20 61 6e 64 20 77 72 69 74 65 73 29 0d 0a 3b 09 73 65 6c 64 73 6b 09 73 65   ┆t reads and writes)  ; seldsk se┆
0x0917c0…0917e0             6c 65 63 74 20 64 69 73 6b 20 67 69 76 65 6e 20 62 79 20 72 65 67 2d 63 20 28 30 2c 31 2c 32 2e   ┆lect disk given by reg-c (0,1,2.┆
0x0917e0…091800             2e 2e 29 0d 0a 3b 09 73 65 74 74 72 6b 09 73 65 74 20 74 72 61 63 6b 20 61 64 64 72 65 73 73 20   ┆..)  ; settrk set track address ┆
0x091800…091820 (38, 1, 10) 39 68 09 3b 63 6f 6e 73 6f 6c 65 20 63 68 61 72 20 66 72 6f 6d 20 63 20 74 6f 20 63 6f 6e 73 6f   ┆9h ;console char from c to conso┆
0x091820…091840             6c 65 20 6f 75 74 0d 0a 70 6f 09 65 71 75 09 30 66 38 30 63 68 09 3b 70 75 6e 63 68 20 63 68 61   ┆le out  po equ 0f80ch ;punch cha┆
0x091840…091860             72 20 66 72 6f 6d 20 63 20 74 6f 20 70 75 6e 63 68 20 64 65 76 69 63 65 0d 0a 6c 6f 09 65 71 75   ┆r from c to punch device  lo equ┆
0x091860…091880             09 30 66 38 30 66 68 09 3b 6c 69 73 74 20 66 72 6f 6d 20 63 20 74 6f 20 6c 69 73 74 20 64 65 76   ┆ 0f80fh ;list from c to list dev┆
0x091880…0918a0             69 63 65 0d 0a 63 73 74 73 09 65 71 75 09 30 66 38 31 32 68 09 3b 63 6f 6e 73 6f 6c 65 20 73 74   ┆ice  csts equ 0f812h ;console st┆
0x0918a0…0918c0             61 74 75 73 20 30 30 2f 66 66 20 74 6f 20 72 65 67 69 73 74 65 72 20 61 0d 0a 3b 0d 0a 3b 09 64   ┆atus 00/ff to register a  ;  ; d┆
0x0918c0…0918e0             69 73 6b 20 70 6f 72 74 73 20 61 6e 64 20 63 6f 6d 6d 61 6e 64 73 0d 0a 62 61 73 65 09 65 71 75   ┆isk ports and commands  base equ┆
0x0918e0…091900             09 37 38 68 09 3b 62 61 73 65 20 6f 66 20 64 69 73 6b 20 63 6f 6d 6d 61 6e 64 20 69 6f 20 70 6f   ┆ 78h ;base of disk command io po┆
0x091900…091920             72 74 73 0d 0a 64 73 74 61 74 09 65 71 75 09 62 61 73 65 09 3b 64 69 73 6b 20 73 74 61 74 75 73   ┆rts  dstat equ base ;disk status┆
0x091920…091940             20 28 69 6e 70 75 74 29 0d 0a 72 74 79 70 65 09 65 71 75 09 62 61 73 65 2b 31 09 3b 72 65 73 75   ┆ (input)  rtype equ base+1 ;resu┆
0x091940…091960             6c 74 20 74 79 70 65 20 28 69 6e 70 75 74 29 0d 0a 72 62 79 74 65 09 65 71 75 09 62 61 73 65 2b   ┆lt type (input)  rbyte equ base+┆
0x091960…091980             33 09 3b 72 65 73 75 6c 74 20 62 79 74 65 20 28 69 6e 70 75 74 29 0d 0a 3b 0d 0a 69 6c 6f 77 09   ┆3 ;result byte (input)  ;  ilow ┆
0x091980…0919a0             65 71 75 09 62 61 73 65 2b 31 09 3b 69 6f 70 62 20 6c 6f 77 20 61 64 64 72 65 73 73 20 28 6f 75   ┆equ base+1 ;iopb low address (ou┆
0x0919a0…0919c0             74 70 75 74 29 0d 0a 69 68 69 67 68 09 65 71 75 09 62 61 73 65 2b 32 09 3b 69 6f 70 62 20 68 69   ┆tput)  ihigh equ base+2 ;iopb hi┆
0x0919c0…0919e0             67 68 20 61 64 64 72 65 73 73 20 28 6f 75 74 70 75 74 29 0d 0a 3b 0d 0a 72 65 61 64 66 09 65 71   ┆gh address (output)  ;  readf eq┆
0x0919e0…091a00             75 09 34 68 09 3b 72 65 61 64 20 66 75 6e 63 74 69 6f 6e 0d 0a 77 72 69 74 66 09 65 71 75 09 36   ┆u 4h ;read function  writf equ 6┆
0x091a00…091a20 (38, 1, 11) 75 73 74 20 62 65 20 73 65 63 74 6f 72 20 32 36 2c 20 7a 65 72 6f 20 61 6e 64 20 67 6f 20 74 6f   ┆ust be sector 26, zero and go to┆
0x091a20…091a40             20 6e 65 78 74 20 74 72 61 63 6b 0d 0a 09 6c 64 61 09 69 6f 74 09 3b 67 65 74 20 74 72 61 63 6b   ┆ next track   lda iot ;get track┆
0x091a40…091a60             20 74 6f 20 72 65 67 69 73 74 65 72 20 61 0d 0a 09 69 6e 72 09 61 0d 0a 09 6d 6f 76 09 63 2c 61   ┆ to register a   inr a   mov c,a┆
0x091a60…091a80             09 3b 72 65 61 64 79 20 66 6f 72 20 63 61 6c 6c 0d 0a 09 63 61 6c 6c 09 73 65 74 74 72 6b 0d 0a   ┆ ;ready for call   call settrk  ┆
0x091a80…091aa0             09 78 72 61 09 61 09 3b 63 6c 65 61 72 20 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 0d 0a 72 64 31   ┆ xra a ;clear sector number  rd1┆
0x091aa0…091ac0             3a 09 69 6e 72 09 61 09 3b 74 6f 20 6e 65 78 74 20 73 65 63 74 6f 72 0d 0a 09 6d 6f 76 09 63 2c   ┆: inr a ;to next sector   mov c,┆
0x091ac0…091ae0             61 09 3b 72 65 61 64 79 20 66 6f 72 20 63 61 6c 6c 0d 0a 09 63 61 6c 6c 09 73 65 74 73 65 63 0d   ┆a ;ready for call   call setsec ┆
0x091ae0…091b00             0a 09 70 6f 70 09 62 09 3b 72 65 63 61 6c 6c 20 73 65 63 74 6f 72 20 63 6f 75 6e 74 0d 0a 09 64   ┆  pop b ;recall sector count   d┆
0x091b00…091b20             63 72 09 62 09 3b 64 6f 6e 65 3f 0d 0a 09 6a 6e 7a 09 72 64 73 65 63 0d 0a 3b 0d 0a 3b 09 64 6f   ┆cr b ;done?   jnz rdsec  ;  ; do┆
0x091b20…091b40             6e 65 20 77 69 74 68 20 74 68 65 20 6c 6f 61 64 2c 20 72 65 73 65 74 20 64 65 66 61 75 6c 74 20   ┆ne with the load, reset default ┆
0x091b40…091b60             62 75 66 66 65 72 20 61 64 64 72 65 73 73 0d 0a 67 6f 63 70 6d 3a 09 3b 28 65 6e 74 65 72 20 68   ┆buffer address  gocpm: ;(enter h┆
0x091b60…091b80             65 72 65 20 66 72 6f 6d 20 63 6f 6c 64 20 73 74 61 72 74 20 62 6f 6f 74 29 0d 0a 3b 09 65 6e 61   ┆ere from cold start boot)  ; ena┆
0x091b80…091ba0             62 6c 65 20 72 73 74 30 20 61 6e 64 20 72 73 74 37 0d 0a 09 64 69 0d 0a 09 6d 76 69 09 61 2c 31   ┆ble rst0 and rst7   di   mvi a,1┆
0x091ba0…091bc0             32 68 09 3b 69 6e 69 74 69 61 6c 69 7a 65 20 63 6f 6d 6d 61 6e 64 0d 0a 09 6f 75 74 09 72 65 76   ┆2h ;initialize command   out rev┆
0x091bc0…091be0             72 74 0d 0a 09 78 72 61 09 61 0d 0a 09 6f 75 74 09 69 6e 74 63 09 3b 63 6c 65 61 72 65 64 0d 0a   ┆rt   xra a   out intc ;cleared  ┆
0x091be0…091c00             09 6d 76 69 09 61 2c 69 6e 74 65 09 3b 72 73 74 30 20 61 6e 64 20 72 73 74 37 20 62 69 74 73 20   ┆ mvi a,inte ;rst0 and rst7 bits ┆
0x091c00…091c20 (38, 1, 12) 3b 74 6f 6f 20 6c 61 72 67 65 3f 0d 0a 09 72 6e 63 09 09 3b 6c 65 61 76 65 20 48 4c 20 3d 20 30   ┆;too large?   rnc  ;leave HL = 0┆
0x091c20…091c40             30 30 30 0d 0a 3b 0d 0a 09 61 6e 69 09 31 30 62 09 3b 30 30 20 30 30 20 66 6f 72 20 64 72 69 76   ┆000  ;   ani 10b ;00 00 for driv┆
0x091c40…091c60             65 20 30 2c 31 20 61 6e 64 20 31 30 20 31 30 20 66 6f 72 20 64 72 69 76 65 20 32 2c 33 0d 0a 09   ┆e 0,1 and 10 10 for drive 2,3   ┆
0x091c60…091c80             73 74 61 09 64 62 61 6e 6b 09 3b 74 6f 20 73 65 6c 65 63 74 20 64 72 69 76 65 20 62 61 6e 6b 0d   ┆sta dbank ;to select drive bank ┆
0x091c80…091ca0             0a 09 6d 6f 76 09 61 2c 63 09 3b 30 30 2c 20 30 31 2c 20 31 30 2c 20 31 31 0d 0a 09 61 6e 69 09   ┆  mov a,c ;00, 01, 10, 11   ani ┆
0x091ca0…091cc0             31 62 09 3b 6d 64 73 20 68 61 73 20 30 2c 31 20 61 74 20 37 38 2c 20 32 2c 33 20 61 74 20 38 38   ┆1b ;mds has 0,1 at 78, 2,3 at 88┆
0x091cc0…091ce0             0d 0a 09 6f 72 61 09 61 09 3b 72 65 73 75 6c 74 20 30 30 3f 0d 0a 09 6a 7a 09 73 65 74 64 72 69   ┆   ora a ;result 00?   jz setdri┆
0x091ce0…091d00             76 65 0d 0a 09 6d 76 69 09 61 2c 30 30 31 31 30 30 30 30 62 09 3b 73 65 6c 65 63 74 73 20 64 72   ┆ve   mvi a,00110000b ;selects dr┆
0x091d00…091d20             69 76 65 20 31 20 69 6e 20 62 61 6e 6b 0d 0a 73 65 74 64 72 69 76 65 3a 0d 0a 09 6d 6f 76 09 62   ┆ive 1 in bank  setdrive:   mov b┆
0x091d20…091d40             2c 61 09 3b 73 61 76 65 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 6c 78 69 09 68 2c 69 6f   ┆,a ;save the function   lxi h,io┆
0x091d40…091d60             66 09 3b 69 6f 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 6d 6f 76 09 61 2c 6d 0d 0a 09 61 6e 69 09 31   ┆f ;io function   mov a,m   ani 1┆
0x091d60…091d80             31 30 30 31 31 31 31 62 09 3b 6d 61 73 6b 20 6f 75 74 20 64 69 73 6b 20 6e 75 6d 62 65 72 0d 0a   ┆1001111b ;mask out disk number  ┆
0x091d80…091da0             09 6f 72 61 09 62 09 3b 6d 61 73 6b 20 69 6e 20 6e 65 77 20 64 69 73 6b 20 6e 75 6d 62 65 72 0d   ┆ ora b ;mask in new disk number ┆
0x091da0…091dc0             0a 09 6d 6f 76 09 6d 2c 61 09 3b 73 61 76 65 20 69 74 20 69 6e 20 69 6f 70 62 0d 0a 09 6d 6f 76   ┆  mov m,a ;save it in iopb   mov┆
0x091dc0…091de0             09 6c 2c 63 0d 0a 09 6d 76 69 09 68 2c 30 09 3b 48 4c 3d 64 69 73 6b 20 6e 75 6d 62 65 72 0d 0a   ┆ l,c   mvi h,0 ;HL=disk number  ┆
0x091de0…091e00             09 64 61 64 09 68 09 3b 2a 32 0d 0a 09 64 61 64 09 68 09 3b 2a 34 0d 0a 09 64 61 64 09 68 09 3b   ┆ dad h ;*2   dad h ;*4   dad h ;┆
0x091e00…091e20 (38, 1, 13) 28 30 2c 2e 2e 2e 37 36 29 20 66 6f 72 20 73 75 62 73 65 71 75 65 6e 74 20 72 65 61 64 2f 77 72   ┆(0,...76) for subsequent read/wr┆
0x091e20…091e40             69 74 65 0d 0a 3b 09 73 65 74 73 65 63 09 73 65 74 20 73 65 63 74 6f 72 20 61 64 64 72 65 73 73   ┆ite  ; setsec set sector address┆
0x091e40…091e60             20 28 31 2c 2e 2e 2e 2c 32 36 29 20 66 6f 72 20 73 75 62 73 65 71 75 65 6e 74 20 72 65 61 64 2f   ┆ (1,...,26) for subsequent read/┆
0x091e60…091e80             77 72 69 74 65 0d 0a 3b 09 73 65 74 64 6d 61 09 73 65 74 20 73 75 62 73 65 71 75 65 6e 74 20 64   ┆write  ; setdma set subsequent d┆
0x091e80…091ea0             6d 61 20 61 64 64 72 65 73 73 20 28 69 6e 69 74 69 61 6c 6c 79 20 38 30 68 29 0d 0a 3b 0d 0a 3b   ┆ma address (initially 80h)  ;  ;┆
0x091ea0…091ec0             09 28 72 65 61 64 20 61 6e 64 20 77 72 69 74 65 20 61 73 73 75 6d 65 20 70 72 65 76 69 6f 75 73   ┆ (read and write assume previous┆
0x091ec0…091ee0             20 63 61 6c 6c 73 20 74 6f 20 73 65 74 20 75 70 20 74 68 65 20 69 6f 20 70 61 72 61 6d 65 74 65   ┆ calls to set up the io paramete┆
0x091ee0…091f00             72 73 29 0d 0a 3b 09 72 65 61 64 09 72 65 61 64 20 74 72 61 63 6b 2f 73 65 63 74 6f 72 20 74 6f   ┆rs)  ; read read track/sector to┆
0x091f00…091f20             20 70 72 65 73 65 74 20 64 6d 61 20 61 64 64 72 65 73 73 0d 0a 3b 09 77 72 69 74 65 09 77 72 69   ┆ preset dma address  ; write wri┆
0x091f20…091f40             74 65 20 74 72 61 63 6b 2f 73 65 63 74 6f 72 20 66 72 6f 6d 20 70 72 65 73 65 74 20 64 6d 61 20   ┆te track/sector from preset dma ┆
0x091f40…091f60             61 64 64 72 65 73 73 0d 0a 3b 0d 0a 3b 09 6a 75 6d 70 20 76 65 63 74 6f 72 20 66 6f 72 20 69 6e   ┆address  ;  ; jump vector for in┆
0x091f60…091f80             64 69 76 69 75 61 6c 20 72 6f 75 74 69 6e 65 73 0d 0a 09 6a 6d 70 09 62 6f 6f 74 0d 0a 77 62 6f   ┆diviual routines   jmp boot  wbo┆
0x091f80…091fa0             6f 74 65 3a 09 6a 6d 70 09 77 62 6f 6f 74 0d 0a 09 6a 6d 70 09 63 6f 6e 73 74 0d 0a 09 6a 6d 70   ┆ote: jmp wboot   jmp const   jmp┆
0x091fa0…091fc0             09 63 6f 6e 69 6e 0d 0a 09 6a 6d 70 09 63 6f 6e 6f 75 74 0d 0a 09 6a 6d 70 09 6c 69 73 74 0d 0a   ┆ conin   jmp conout   jmp list  ┆
0x091fc0…091fe0             09 6a 6d 70 09 70 75 6e 63 68 0d 0a 09 6a 6d 70 09 72 65 61 64 65 72 0d 0a 09 6a 6d 70 09 68 6f   ┆ jmp punch   jmp reader   jmp ho┆
0x091fe0…092000             6d 65 0d 0a 09 6a 6d 70 09 73 65 6c 64 73 6b 0d 0a 09 6a 6d 70 09 73 65 74 74 72 6b 0d 0a 09 6a   ┆me   jmp seldsk   jmp settrk   j┆
0x092000…092020 (38, 1, 14) 68 09 3b 77 72 69 74 65 20 66 75 6e 63 74 69 6f 6e 0d 0a 72 65 63 61 6c 09 65 71 75 09 33 68 09   ┆h ;write function  recal equ 3h ┆
0x092020…092040             3b 72 65 63 61 6c 69 62 72 61 74 65 20 64 72 69 76 65 0d 0a 69 6f 72 64 79 09 65 71 75 09 34 68   ┆;recalibrate drive  iordy equ 4h┆
0x092040…092060             09 3b 69 2f 6f 20 66 69 6e 69 73 68 65 64 20 6d 61 73 6b 0d 0a 63 72 09 65 71 75 09 30 64 68 09   ┆ ;i/o finished mask  cr equ 0dh ┆
0x092060…092080             3b 63 61 72 72 69 61 67 65 20 72 65 74 75 72 6e 0d 0a 6c 66 09 65 71 75 09 30 61 68 09 3b 6c 69   ┆;carriage return  lf equ 0ah ;li┆
0x092080…0920a0             6e 65 20 66 65 65 64 0d 0a 3b 0d 0a 73 69 67 6e 6f 6e 3a 09 3b 73 69 67 6e 6f 6e 20 6d 65 73 73   ┆ne feed  ;  signon: ;signon mess┆
0x0920a0…0920c0             61 67 65 3a 20 78 78 6b 20 63 70 2f 6d 20 76 65 72 73 20 79 2e 79 0d 0a 09 64 62 09 63 72 2c 6c   ┆age: xxk cp/m vers y.y   db cr,l┆
0x0920c0…0920e0             66 2c 6c 66 0d 0a 09 69 66 09 74 65 73 74 0d 0a 09 64 62 09 27 33 32 27 09 3b 33 32 6b 20 65 78   ┆f,lf   if test   db '32' ;32k ex┆
0x0920e0…092100             61 6d 70 6c 65 20 62 69 6f 73 0d 0a 09 65 6e 64 69 66 0d 0a 09 69 66 09 6e 6f 74 20 74 65 73 74   ┆ample bios   endif   if not test┆
0x092100…092120             0d 0a 09 64 62 09 27 30 30 27 09 3b 6d 65 6d 6f 72 79 20 73 69 7a 65 20 66 69 6c 6c 65 64 20 62   ┆   db '00' ;memory size filled b┆
0x092120…092140             79 20 72 65 6c 6f 63 61 74 6f 72 0d 0a 09 65 6e 64 69 66 0d 0a 09 64 62 09 27 6b 20 43 50 2f 4d   ┆y relocator   endif   db 'k CP/M┆
0x092140…092160             20 76 65 72 73 20 27 0d 0a 09 64 62 09 76 65 72 73 2f 31 30 2b 27 30 27 2c 27 2e 27 2c 76 65 72   ┆ vers '   db vers/10+'0','.',ver┆
0x092160…092180             73 20 6d 6f 64 20 31 30 2b 27 30 27 0d 0a 09 64 62 09 63 72 2c 6c 66 2c 30 0d 0a 3b 0d 0a 62 6f   ┆s mod 10+'0'   db cr,lf,0  ;  bo┆
0x092180…0921a0             6f 74 3a 09 3b 70 72 69 6e 74 20 73 69 67 6e 6f 6e 20 6d 65 73 73 61 67 65 20 61 6e 64 20 67 6f   ┆ot: ;print signon message and go┆
0x0921a0…0921c0             20 74 6f 20 63 63 70 0d 0a 3b 09 28 6e 6f 74 65 3a 20 6d 64 73 20 62 6f 6f 74 20 69 6e 69 74 69   ┆ to ccp  ; (note: mds boot initi┆
0x0921c0…0921e0             61 6c 69 7a 65 64 20 69 6f 62 79 74 65 20 61 74 20 30 30 30 33 68 29 0d 0a 09 6c 78 69 09 73 70   ┆alized iobyte at 0003h)   lxi sp┆
0x0921e0…092200             2c 62 75 66 66 2b 38 30 68 0d 0a 09 6c 78 69 09 68 2c 73 69 67 6e 6f 6e 0d 0a 09 63 61 6c 6c 09   ┆,buff+80h   lxi h,signon   call ┆
0x092200…092220 (38, 1, 15) 6f 6e 0d 0a 09 6f 75 74 09 69 6e 74 63 0d 0a 09 78 72 61 09 61 0d 0a 09 6f 75 74 09 69 63 6f 6e   ┆on   out intc   xra a   out icon┆
0x092220…092240             09 3b 69 6e 74 65 72 72 75 70 74 20 63 6f 6e 74 72 6f 6c 0d 0a 3b 0d 0a 3b 09 73 65 74 20 64 65   ┆ ;interrupt control  ;  ; set de┆
0x092240…092260             66 61 75 6c 74 20 62 75 66 66 65 72 20 61 64 64 72 65 73 73 20 74 6f 20 38 30 68 0d 0a 09 6c 78   ┆fault buffer address to 80h   lx┆
0x092260…092280             69 09 62 2c 62 75 66 66 0d 0a 09 63 61 6c 6c 09 73 65 74 64 6d 61 0d 0a 3b 0d 0a 3b 09 72 65 73   ┆i b,buff   call setdma  ;  ; res┆
0x092280…0922a0             65 74 20 6d 6f 6e 69 74 6f 72 20 65 6e 74 72 79 20 70 6f 69 6e 74 73 0d 0a 09 6d 76 69 09 61 2c   ┆et monitor entry points   mvi a,┆
0x0922a0…0922c0             6a 6d 70 0d 0a 09 73 74 61 09 30 0d 0a 09 6c 78 69 09 68 2c 77 62 6f 6f 74 65 0d 0a 09 73 68 6c   ┆jmp   sta 0   lxi h,wboote   shl┆
0x0922c0…0922e0             64 09 31 09 3b 6a 6d 70 20 77 62 6f 6f 74 20 61 74 20 6c 6f 63 61 74 69 6f 6e 20 30 30 0d 0a 09   ┆d 1 ;jmp wboot at location 00   ┆
0x0922e0…092300             73 74 61 09 35 0d 0a 09 6c 78 69 09 68 2c 62 64 6f 73 0d 0a 09 73 68 6c 64 09 36 09 3b 6a 6d 70   ┆sta 5   lxi h,bdos   shld 6 ;jmp┆
0x092300…092320             20 62 64 6f 73 20 61 74 20 6c 6f 63 61 74 69 6f 6e 20 35 0d 0a 09 69 66 09 6e 6f 74 20 74 65 73   ┆ bdos at location 5   if not tes┆
0x092320…092340             74 0d 0a 09 73 74 61 09 37 2a 38 09 3b 6a 6d 70 20 74 6f 20 6d 6f 6e 38 30 20 28 6d 61 79 20 68   ┆t   sta 7*8 ;jmp to mon80 (may h┆
0x092340…092360             61 76 65 20 62 65 65 6e 20 63 68 61 6e 67 65 64 20 62 79 20 64 64 74 29 0d 0a 09 6c 78 69 09 68   ┆ave been changed by ddt)   lxi h┆
0x092360…092380             2c 6d 6f 6e 38 30 0d 0a 09 73 68 6c 64 09 37 2a 38 2b 31 0d 0a 09 65 6e 64 69 66 0d 0a 3b 09 6c   ┆,mon80   shld 7*8+1   endif  ; l┆
0x092380…0923a0             65 61 76 65 20 69 6f 62 79 74 65 20 73 65 74 0d 0a 3b 09 70 72 65 76 69 6f 75 73 6c 79 20 73 65   ┆eave iobyte set  ; previously se┆
0x0923a0…0923c0             6c 65 63 74 65 64 20 64 69 73 6b 20 77 61 73 20 62 2c 20 73 65 6e 64 20 70 61 72 61 6d 65 74 65   ┆lected disk was b, send paramete┆
0x0923c0…0923e0             72 20 74 6f 20 63 70 6d 0d 0a 09 6c 64 61 09 63 64 69 73 6b 09 3b 6c 61 73 74 20 6c 6f 67 67 65   ┆r to cpm   lda cdisk ;last logge┆
0x0923e0…092400             64 20 64 69 73 6b 20 6e 75 6d 62 65 72 0d 0a 09 6d 6f 76 09 63 2c 61 09 3b 73 65 6e 64 20 74 6f   ┆d disk number   mov c,a ;send to┆
0x092400…092420 (39, 0, 1)  2a 38 0d 0a 09 64 61 64 09 68 09 3b 2a 31 36 0d 0a 09 6c 78 69 09 64 2c 64 70 62 61 73 65 0d 0a   ┆*8   dad h ;*16   lxi d,dpbase  ┆
0x092420…092440             09 64 61 64 09 64 09 3b 48 4c 3d 64 69 73 6b 20 68 65 61 64 65 72 20 74 61 62 6c 65 20 61 64 64   ┆ dad d ;HL=disk header table add┆
0x092440…092460             72 65 73 73 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 3b 0d 0a 73 65 74 74 72 6b 3a 09 3b 73 65 74 20 74   ┆ress   ret  ;  ;  settrk: ;set t┆
0x092460…092480             72 61 63 6b 20 61 64 64 72 65 73 73 20 67 69 76 65 6e 20 62 79 20 63 0d 0a 09 6c 78 69 09 68 2c   ┆rack address given by c   lxi h,┆
0x092480…0924a0             69 6f 74 0d 0a 09 6d 6f 76 09 6d 2c 63 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 73 65 74 73 65 63 3a 09   ┆iot   mov m,c   ret  ;  setsec: ┆
0x0924a0…0924c0             3b 73 65 74 20 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 20 67 69 76 65 6e 20 62 79 20 63 0d 0a 09   ┆;set sector number given by c   ┆
0x0924c0…0924e0             6c 78 69 09 68 2c 69 6f 73 0d 0a 09 6d 6f 76 09 6d 2c 63 0d 0a 09 72 65 74 0d 0a 73 65 63 74 72   ┆lxi h,ios   mov m,c   ret  sectr┆
0x0924e0…092500             61 6e 3a 0d 0a 09 09 3b 74 72 61 6e 73 6c 61 74 65 20 73 65 63 74 6f 72 20 62 63 20 75 73 69 6e   ┆an:    ;translate sector bc usin┆
0x092500…092520             67 20 74 61 62 6c 65 20 61 74 20 64 65 0d 0a 09 6d 76 69 09 62 2c 30 09 3b 64 6f 75 62 6c 65 20   ┆g table at de   mvi b,0 ;double ┆
0x092520…092540             70 72 65 63 69 73 69 6f 6e 20 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 20 69 6e 20 42 43 0d 0a 09   ┆precision sector number in BC   ┆
0x092540…092560             78 63 68 67 09 09 3b 74 72 61 6e 73 6c 61 74 65 20 74 61 62 6c 65 20 61 64 64 72 65 73 73 20 74   ┆xchg  ;translate table address t┆
0x092560…092580             6f 20 48 4c 0d 0a 09 64 61 64 09 62 09 3b 74 72 61 6e 73 6c 61 74 65 28 73 65 63 74 6f 72 29 20   ┆o HL   dad b ;translate(sector) ┆
0x092580…0925a0             61 64 64 72 65 73 73 0d 0a 09 6d 6f 76 09 61 2c 6d 09 3b 74 72 61 6e 73 6c 61 74 65 64 20 73 65   ┆address   mov a,m ;translated se┆
0x0925a0…0925c0             63 74 6f 72 20 6e 75 6d 62 65 72 20 74 6f 20 41 0d 0a 09 73 74 61 09 69 6f 73 0d 0a 09 6d 6f 76   ┆ctor number to A   sta ios   mov┆
0x0925c0…0925e0             09 6c 2c 61 09 3b 72 65 74 75 72 6e 20 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 20 69 6e 20 4c 0d   ┆ l,a ;return sector number in L ┆
0x0925e0…092600             0a 09 72 65 74 0d 0a 3b 0d 0a 73 65 74 64 6d 61 3a 09 3b 73 65 74 20 64 6d 61 20 61 64 64 72 65   ┆  ret  ;  setdma: ;set dma addre┆
0x092600…092620 (39, 0, 2)  0a 69 6f 64 72 31 3a 09 3b 64 72 69 76 65 20 62 61 6e 6b 20 31 0d 0a 09 6f 75 74 09 69 6c 6f 77   ┆ iodr1: ;drive bank 1   out ilow┆
0x092620…092640             2b 31 30 68 09 3b 38 38 20 66 6f 72 20 64 72 69 76 65 20 62 61 6e 6b 20 31 30 0d 0a 09 6d 6f 76   ┆+10h ;88 for drive bank 10   mov┆
0x092640…092660             09 61 2c 62 0d 0a 09 6f 75 74 09 69 68 69 67 68 2b 31 30 68 0d 0a 3b 0d 0a 77 61 69 74 30 3a 09   ┆ a,b   out ihigh+10h  ;  wait0: ┆
0x092660…092680             63 61 6c 6c 09 69 6e 73 74 61 74 09 09 3b 77 61 69 74 20 66 6f 72 20 63 6f 6d 70 6c 65 74 69 6f   ┆call instat  ;wait for completio┆
0x092680…0926a0             6e 0d 0a 09 61 6e 69 09 69 6f 72 64 79 09 09 3b 72 65 61 64 79 3f 0d 0a 09 6a 7a 09 77 61 69 74   ┆n   ani iordy  ;ready?   jz wait┆
0x0926a0…0926c0             30 0d 0a 3b 0d 0a 3b 09 63 68 65 63 6b 20 69 6f 20 63 6f 6d 70 6c 65 74 69 6f 6e 20 6f 6b 0d 0a   ┆0  ;  ; check io completion ok  ┆
0x0926c0…0926e0             09 63 61 6c 6c 09 69 6e 74 79 70 65 09 09 3b 6d 75 73 74 20 62 65 20 69 6f 20 63 6f 6d 70 6c 65   ┆ call intype  ;must be io comple┆
0x0926e0…092700             74 65 20 28 30 30 29 20 75 6e 6c 69 6e 6b 65 64 0d 0a 3b 09 30 30 20 75 6e 6c 69 6e 6b 65 64 20   ┆te (00) unlinked  ; 00 unlinked ┆
0x092700…092720             69 2f 6f 20 63 6f 6d 70 6c 65 74 65 2c 20 20 20 20 30 31 20 6c 69 6e 6b 65 64 20 69 2f 6f 20 63   ┆i/o complete,    01 linked i/o c┆
0x092720…092740             6f 6d 70 6c 65 74 65 20 28 6e 6f 74 20 75 73 65 64 29 0d 0a 3b 09 31 30 20 64 69 73 6b 20 73 74   ┆omplete (not used)  ; 10 disk st┆
0x092740…092760             61 74 75 73 20 63 68 61 6e 67 65 64 20 20 20 20 20 20 20 31 31 20 28 6e 6f 74 20 75 73 65 64 29   ┆atus changed       11 (not used)┆
0x092760…092780             0d 0a 09 63 70 69 09 31 30 62 09 09 3b 72 65 61 64 79 20 73 74 61 74 75 73 20 63 68 61 6e 67 65   ┆   cpi 10b  ;ready status change┆
0x092780…0927a0             3f 0d 0a 09 6a 7a 09 77 72 65 61 64 79 0d 0a 3b 0d 0a 3b 09 6d 75 73 74 20 62 65 20 30 30 20 69   ┆?   jz wready  ;  ; must be 00 i┆
0x0927a0…0927c0             6e 20 74 68 65 20 61 63 63 75 6d 75 6c 61 74 6f 72 0d 0a 09 6f 72 61 09 61 0d 0a 09 6a 6e 7a 09   ┆n the accumulator   ora a   jnz ┆
0x0927c0…0927e0             77 65 72 72 6f 72 09 09 3b 73 6f 6d 65 20 6f 74 68 65 72 20 63 6f 6e 64 69 74 69 6f 6e 2c 20 72   ┆werror  ;some other condition, r┆
0x0927e0…092800             65 74 72 79 0d 0a 3b 0d 0a 3b 09 63 68 65 63 6b 20 69 2f 6f 20 65 72 72 6f 72 20 62 69 74 73 0d   ┆etry  ;  ; check i/o error bits ┆
0x092800…092820 (39, 0, 3)  74 0d 0a 3b 0d 0a 3b 0d 0a 3b 0d 0a 3b 09 64 61 74 61 20 61 72 65 61 73 20 28 6d 75 73 74 20 62   ┆t  ;  ;  ;  ; data areas (must b┆
0x092820…092840             65 20 69 6e 20 72 61 6d 29 0d 0a 64 62 61 6e 6b 3a 09 64 62 09 30 09 3b 64 69 73 6b 20 62 61 6e   ┆e in ram)  dbank: db 0 ;disk ban┆
0x092840…092860             6b 20 30 30 20 69 66 20 64 72 69 76 65 20 30 2c 31 0d 0a 09 09 09 3b 09 20 20 20 31 30 20 69 66   ┆k 00 if drive 0,1     ;    10 if┆
0x092860…092880             20 64 72 69 76 65 20 32 2c 33 0d 0a 69 6f 70 62 3a 09 3b 69 6f 20 70 61 72 61 6d 65 74 65 72 20   ┆ drive 2,3  iopb: ;io parameter ┆
0x092880…0928a0             62 6c 6f 63 6b 0d 0a 09 64 62 09 38 30 68 09 3b 6e 6f 72 6d 61 6c 20 69 2f 6f 20 6f 70 65 72 61   ┆block   db 80h ;normal i/o opera┆
0x0928a0…0928c0             74 69 6f 6e 0d 0a 69 6f 66 3a 09 64 62 09 72 65 61 64 66 09 3b 69 6f 20 66 75 6e 63 74 69 6f 6e   ┆tion  iof: db readf ;io function┆
0x0928c0…0928e0             2c 20 69 6e 69 74 69 61 6c 20 72 65 61 64 0d 0a 69 6f 6e 3a 09 64 62 09 31 09 3b 6e 75 6d 62 65   ┆, initial read  ion: db 1 ;numbe┆
0x0928e0…092900             72 20 6f 66 20 73 65 63 74 6f 72 73 20 74 6f 20 72 65 61 64 0d 0a 69 6f 74 3a 09 64 62 09 6f 66   ┆r of sectors to read  iot: db of┆
0x092900…092920             66 73 65 74 09 3b 74 72 61 63 6b 20 6e 75 6d 62 65 72 0d 0a 69 6f 73 3a 09 64 62 09 31 09 3b 73   ┆fset ;track number  ios: db 1 ;s┆
0x092920…092940             65 63 74 6f 72 20 6e 75 6d 62 65 72 0d 0a 69 6f 64 3a 09 64 77 09 62 75 66 66 09 3b 69 6f 20 61   ┆ector number  iod: dw buff ;io a┆
0x092940…092960             64 64 72 65 73 73 0d 0a 3b 0d 0a 3b 0d 0a 3b 09 64 65 66 69 6e 65 20 72 61 6d 20 61 72 65 61 73   ┆ddress  ;  ;  ; define ram areas┆
0x092960…092980             20 66 6f 72 20 62 64 6f 73 20 6f 70 65 72 61 74 69 6f 6e 0d 0a 09 65 6e 64 65 66 0d 0a 09 65 6e   ┆ for bdos operation   endef   en┆
0x092980…0929a0             64 0d 0a 3b 09 4d 44 53 2d 38 30 30 20 49 2f 4f 20 44 72 69 76 65 72 73 20 66 6f 72 20 43 50 2f   ┆d  ; MDS-800 I/O Drivers for CP/┆
0x0929a0…0929c0             4d 20 32 2e 32 0d 0a 3b 09 28 66 6f 75 72 20 64 72 69 76 65 20 73 69 6e 67 6c 65 20 64 65 6e 73   ┆M 2.2  ; (four drive single dens┆
0x0929c0…0929e0             69 74 79 20 76 65 72 73 69 6f 6e 29 0d 0a 3b 0d 0a 3b 09 56 65 72 73 69 6f 6e 20 32 2e 32 20 46   ┆ity version)  ;  ; Version 2.2 F┆
0x0929e0…092a00             65 62 72 75 61 72 79 2c 20 31 39 38 30 0d 0a 3b 0d 0a 76 65 72 73 09 65 71 75 09 32 32 09 3b 76   ┆ebruary, 1980  ;  vers equ 22 ;v┆
0x092a00…092a20 (39, 0, 4)  72 65 61 64 2f 77 72 69 74 65 0d 0a 3b 09 73 65 74 64 6d 61 09 73 65 74 20 73 75 62 73 65 71 75   ┆read/write  ; setdma set subsequ┆
0x092a20…092a40             65 6e 74 20 64 6d 61 20 61 64 64 72 65 73 73 20 28 69 6e 69 74 69 61 6c 6c 79 20 38 30 68 29 0d   ┆ent dma address (initially 80h) ┆
0x092a40…092a60             0a 3b 0d 0a 3b 09 28 72 65 61 64 20 61 6e 64 20 77 72 69 74 65 20 61 73 73 75 6d 65 20 70 72 65   ┆ ;  ; (read and write assume pre┆
0x092a60…092a80             76 69 6f 75 73 20 63 61 6c 6c 73 20 74 6f 20 73 65 74 20 75 70 20 74 68 65 20 69 6f 20 70 61 72   ┆vious calls to set up the io par┆
0x092a80…092aa0             61 6d 65 74 65 72 73 29 0d 0a 3b 09 72 65 61 64 09 72 65 61 64 20 74 72 61 63 6b 2f 73 65 63 74   ┆ameters)  ; read read track/sect┆
0x092aa0…092ac0             6f 72 20 74 6f 20 70 72 65 73 65 74 20 64 6d 61 20 61 64 64 72 65 73 73 0d 0a 3b 09 77 72 69 74   ┆or to preset dma address  ; writ┆
0x092ac0…092ae0             65 09 77 72 69 74 65 20 74 72 61 63 6b 2f 73 65 63 74 6f 72 20 66 72 6f 6d 20 70 72 65 73 65 74   ┆e write track/sector from preset┆
0x092ae0…092b00             20 64 6d 61 20 61 64 64 72 65 73 73 0d 0a 3b 0d 0a 3b 09 6a 75 6d 70 20 76 65 63 74 6f 72 20 66   ┆ dma address  ;  ; jump vector f┆
0x092b00…092b20             6f 72 20 69 6e 64 69 76 69 75 61 6c 20 72 6f 75 74 69 6e 65 73 0d 0a 09 6a 6d 70 09 62 6f 6f 74   ┆or indiviual routines   jmp boot┆
0x092b20…092b40             0d 0a 77 62 6f 6f 74 65 3a 09 6a 6d 70 09 77 62 6f 6f 74 0d 0a 09 6a 6d 70 09 63 6f 6e 73 74 0d   ┆  wboote: jmp wboot   jmp const ┆
0x092b40…092b60             0a 09 6a 6d 70 09 63 6f 6e 69 6e 0d 0a 09 6a 6d 70 09 63 6f 6e 6f 75 74 0d 0a 09 6a 6d 70 09 6c   ┆  jmp conin   jmp conout   jmp l┆
0x092b60…092b80             69 73 74 0d 0a 09 6a 6d 70 09 70 75 6e 63 68 0d 0a 09 6a 6d 70 09 72 65 61 64 65 72 0d 0a 09 6a   ┆ist   jmp punch   jmp reader   j┆
0x092b80…092ba0             6d 70 09 68 6f 6d 65 0d 0a 09 6a 6d 70 09 73 65 6c 64 73 6b 0d 0a 09 6a 6d 70 09 73 65 74 74 72   ┆mp home   jmp seldsk   jmp settr┆
0x092ba0…092bc0             6b 0d 0a 09 6a 6d 70 09 73 65 74 73 65 63 0d 0a 09 6a 6d 70 09 73 65 74 64 6d 61 0d 0a 09 6a 6d   ┆k   jmp setsec   jmp setdma   jm┆
0x092bc0…092be0             70 09 72 65 61 64 0d 0a 09 6a 6d 70 09 77 72 69 74 65 0d 0a 09 6a 6d 70 09 6c 69 73 74 73 74 09   ┆p read   jmp write   jmp listst ┆
0x092be0…092c00             3b 6c 69 73 74 20 73 74 61 74 75 73 0d 0a 09 6a 6d 70 09 73 65 63 74 72 61 6e 0d 0a 3b 0d 0a 09   ┆;list status   jmp sectran  ;   ┆
0x092c00…092c20 (39, 0, 5)  73 73 20 67 69 76 65 6e 20 62 79 20 72 65 67 73 20 62 2c 63 0d 0a 09 6d 6f 76 09 6c 2c 63 0d 0a   ┆ss given by regs b,c   mov l,c  ┆
0x092c20…092c40             09 6d 6f 76 09 68 2c 62 0d 0a 09 73 68 6c 64 09 69 6f 64 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 72 65   ┆ mov h,b   shld iod   ret  ;  re┆
0x092c40…092c60             61 64 3a 09 3b 72 65 61 64 20 6e 65 78 74 20 64 69 73 6b 20 72 65 63 6f 72 64 20 28 61 73 73 75   ┆ad: ;read next disk record (assu┆
0x092c60…092c80             6d 69 6e 67 20 64 69 73 6b 2f 74 72 6b 2f 73 65 63 2f 64 6d 61 20 73 65 74 29 0d 0a 09 6d 76 69   ┆ming disk/trk/sec/dma set)   mvi┆
0x092c80…092ca0             09 63 2c 72 65 61 64 66 09 3b 73 65 74 20 74 6f 20 72 65 61 64 20 66 75 6e 63 74 69 6f 6e 0d 0a   ┆ c,readf ;set to read function  ┆
0x092ca0…092cc0             09 63 61 6c 6c 09 73 65 74 66 75 6e 63 0d 0a 09 63 61 6c 6c 09 77 61 69 74 69 6f 09 3b 70 65 72   ┆ call setfunc   call waitio ;per┆
0x092cc0…092ce0             66 6f 72 6d 20 72 65 61 64 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 72 65 74 09 09 3b 6d 61 79 20 68   ┆form read function   ret  ;may h┆
0x092ce0…092d00             61 76 65 20 65 72 72 6f 72 20 73 65 74 20 69 6e 20 72 65 67 2d 61 0d 0a 3b 0d 0a 3b 0d 0a 77 72   ┆ave error set in reg-a  ;  ;  wr┆
0x092d00…092d20             69 74 65 3a 09 3b 64 69 73 6b 20 77 72 69 74 65 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 6d 76 69 09   ┆ite: ;disk write function   mvi ┆
0x092d20…092d40             63 2c 77 72 69 74 66 0d 0a 09 63 61 6c 6c 09 73 65 74 66 75 6e 63 09 3b 73 65 74 20 74 6f 20 77   ┆c,writf   call setfunc ;set to w┆
0x092d40…092d60             72 69 74 65 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 63 61 6c 6c 09 77 61 69 74 69 6f 0d 0a 09 72 65   ┆rite function   call waitio   re┆
0x092d60…092d80             74 09 09 3b 6d 61 79 20 68 61 76 65 20 65 72 72 6f 72 20 73 65 74 0d 0a 3b 0d 0a 3b 0d 0a 3b 09   ┆t  ;may have error set  ;  ;  ; ┆
0x092d80…092da0             75 74 69 6c 69 74 79 20 73 75 62 72 6f 75 74 69 6e 65 73 0d 0a 70 72 6d 73 67 3a 09 3b 70 72 69   ┆utility subroutines  prmsg: ;pri┆
0x092da0…092dc0             6e 74 20 6d 65 73 73 61 67 65 20 61 74 20 68 2c 6c 20 74 6f 20 30 0d 0a 09 6d 6f 76 09 61 2c 6d   ┆nt message at h,l to 0   mov a,m┆
0x092dc0…092de0             0d 0a 09 6f 72 61 09 61 09 3b 7a 65 72 6f 3f 0d 0a 09 72 7a 0d 0a 3b 09 6d 6f 72 65 20 74 6f 20   ┆   ora a ;zero?   rz  ; more to ┆
0x092de0…092e00             70 72 69 6e 74 0d 0a 09 70 75 73 68 09 68 0d 0a 09 6d 6f 76 09 63 2c 61 0d 0a 09 63 61 6c 6c 09   ┆print   push h   mov c,a   call ┆
0x092e00…092e20 (39, 0, 6)  0a 09 63 61 6c 6c 09 69 6e 62 79 74 65 0d 0a 09 72 61 6c 0d 0a 09 6a 63 09 77 72 65 61 64 79 09   ┆  call inbyte   ral   jc wready ┆
0x092e20…092e40             09 3b 75 6e 69 74 20 6e 6f 74 20 72 65 61 64 79 0d 0a 09 72 61 72 0d 0a 09 61 6e 69 09 31 31 31   ┆ ;unit not ready   rar   ani 111┆
0x092e40…092e60             31 31 31 31 30 62 09 3b 61 6e 79 20 6f 74 68 65 72 20 65 72 72 6f 72 73 3f 20 20 28 64 65 6c 65   ┆11110b ;any other errors?  (dele┆
0x092e60…092e80             74 65 64 20 64 61 74 61 20 6f 6b 29 0d 0a 09 6a 6e 7a 09 77 65 72 72 6f 72 0d 0a 3b 0d 0a 3b 09   ┆ted data ok)   jnz werror  ;  ; ┆
0x092e80…092ea0             72 65 61 64 20 6f 72 20 77 72 69 74 65 20 69 73 20 6f 6b 2c 20 61 63 63 75 6d 75 6c 61 74 6f 72   ┆read or write is ok, accumulator┆
0x092ea0…092ec0             20 63 6f 6e 74 61 69 6e 73 20 7a 65 72 6f 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 77 72 65 61 64 79 3a   ┆ contains zero   ret  ;  wready:┆
0x092ec0…092ee0             09 3b 6e 6f 74 20 72 65 61 64 79 2c 20 74 72 65 61 74 20 61 73 20 65 72 72 6f 72 20 66 6f 72 20   ┆ ;not ready, treat as error for ┆
0x092ee0…092f00             6e 6f 77 0d 0a 09 63 61 6c 6c 09 69 6e 62 79 74 65 09 09 3b 63 6c 65 61 72 20 72 65 73 75 6c 74   ┆now   call inbyte  ;clear result┆
0x092f00…092f20             20 62 79 74 65 0d 0a 09 6a 6d 70 09 74 72 79 63 6f 75 6e 74 0d 0a 3b 0d 0a 77 65 72 72 6f 72 3a   ┆ byte   jmp trycount  ;  werror:┆
0x092f20…092f40             09 3b 72 65 74 75 72 6e 20 68 61 72 64 77 61 72 65 20 6d 61 6c 66 75 6e 63 74 69 6f 6e 20 28 63   ┆ ;return hardware malfunction (c┆
0x092f40…092f60             72 63 2c 20 74 72 61 63 6b 2c 20 73 65 65 6b 2c 20 65 74 63 2e 29 0d 0a 3b 09 74 68 65 20 6d 64   ┆rc, track, seek, etc.)  ; the md┆
0x092f60…092f80             73 20 63 6f 6e 74 72 6f 6c 6c 65 72 20 68 61 73 20 72 65 74 75 72 6e 65 64 20 61 20 62 69 74 20   ┆s controller has returned a bit ┆
0x092f80…092fa0             69 6e 20 65 61 63 68 20 70 6f 73 69 74 69 6f 6e 0d 0a 3b 09 6f 66 20 74 68 65 20 61 63 63 75 6d   ┆in each position  ; of the accum┆
0x092fa0…092fc0             75 6c 61 74 6f 72 2c 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 74 6f 20 74 68 65 20 63 6f 6e   ┆ulator, corresponding to the con┆
0x092fc0…092fe0             64 69 74 69 6f 6e 73 3a 0d 0a 3b 09 30 09 2d 20 64 65 6c 65 74 65 64 20 64 61 74 61 20 28 61 63   ┆ditions:  ; 0 - deleted data (ac┆
0x092fe0…093000             63 65 70 74 65 64 20 61 73 20 6f 6b 20 61 62 6f 76 65 29 0d 0a 3b 09 31 09 2d 20 63 72 63 20 65   ┆cepted as ok above)  ; 1 - crc e┆
0x093000…093020 (39, 0, 7)  65 72 73 69 6f 6e 20 32 2e 32 0d 0a 3b 0d 0a 3b 09 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 31   ┆ersion 2.2  ;  ; Copyright (c) 1┆
0x093020…093040             39 38 30 0d 0a 3b 09 44 69 67 69 74 61 6c 20 52 65 73 65 61 72 63 68 0d 0a 3b 09 42 6f 78 20 35   ┆980  ; Digital Research  ; Box 5┆
0x093040…093060             37 39 2c 20 50 61 63 69 66 69 63 20 47 72 6f 76 65 0d 0a 3b 09 43 61 6c 69 66 6f 72 6e 69 61 2c   ┆79, Pacific Grove  ; California,┆
0x093060…093080             20 39 33 39 35 30 0d 0a 3b 0d 0a 3b 0d 0a 74 72 75 65 09 65 71 75 09 30 66 66 66 66 68 09 3b 76   ┆ 93950  ;  ;  true equ 0ffffh ;v┆
0x093080…0930a0             61 6c 75 65 20 6f 66 20 22 74 72 75 65 22 0d 0a 66 61 6c 73 65 09 65 71 75 09 6e 6f 74 20 74 72   ┆alue of "true"  false equ not tr┆
0x0930a0…0930c0             75 65 09 3b 22 66 61 6c 73 65 22 0d 0a 74 65 73 74 09 65 71 75 09 66 61 6c 73 65 09 3b 74 72 75   ┆ue ;"false"  test equ false ;tru┆
0x0930c0…0930e0             65 20 69 66 20 74 65 73 74 20 62 69 6f 73 0d 0a 3b 0d 0a 09 69 66 09 74 65 73 74 0d 0a 62 69 61   ┆e if test bios  ;   if test  bia┆
0x0930e0…093100             73 09 65 71 75 09 30 33 34 30 30 68 09 3b 62 61 73 65 20 6f 66 20 43 43 50 20 69 6e 20 74 65 73   ┆s equ 03400h ;base of CCP in tes┆
0x093100…093120             74 20 73 79 73 74 65 6d 0d 0a 09 65 6e 64 69 66 0d 0a 09 69 66 09 6e 6f 74 20 74 65 73 74 0d 0a   ┆t system   endif   if not test  ┆
0x093120…093140             62 69 61 73 09 65 71 75 09 30 30 30 30 68 09 3b 67 65 6e 65 72 61 74 65 20 72 65 6c 6f 63 61 74   ┆bias equ 0000h ;generate relocat┆
0x093140…093160             61 62 6c 65 20 63 70 2f 6d 20 73 79 73 74 65 6d 0d 0a 09 65 6e 64 69 66 0d 0a 3b 0d 0a 70 61 74   ┆able cp/m system   endif  ;  pat┆
0x093160…093180             63 68 09 65 71 75 09 31 36 30 30 68 0d 0a 3b 0d 0a 09 6f 72 67 09 70 61 74 63 68 0d 0a 63 70 6d   ┆ch equ 1600h  ;   org patch  cpm┆
0x093180…0931a0             62 09 65 71 75 09 24 2d 70 61 74 63 68 09 3b 62 61 73 65 20 6f 66 20 63 70 6d 20 63 6f 6e 73 6f   ┆b equ $-patch ;base of cpm conso┆
0x0931a0…0931c0             6c 65 20 70 72 6f 63 65 73 73 6f 72 0d 0a 62 64 6f 73 09 65 71 75 09 38 30 36 68 2b 63 70 6d 62   ┆le processor  bdos equ 806h+cpmb┆
0x0931c0…0931e0             09 3b 62 61 73 69 63 20 64 6f 73 20 28 72 65 73 69 64 65 6e 74 20 70 6f 72 74 69 6f 6e 29 0d 0a   ┆ ;basic dos (resident portion)  ┆
0x0931e0…093200             63 70 6d 6c 09 65 71 75 09 24 2d 63 70 6d 62 09 3b 6c 65 6e 67 74 68 20 28 69 6e 20 62 79 74 65   ┆cpml equ $-cpmb ;length (in byte┆
0x093200…093220 (39, 0, 8)  6d 61 63 6c 69 62 09 64 69 73 6b 64 65 66 09 3b 6c 6f 61 64 20 74 68 65 20 64 69 73 6b 20 64 65   ┆maclib diskdef ;load the disk de┆
0x093220…093240             66 69 6e 69 74 69 6f 6e 20 6c 69 62 72 61 72 79 0d 0a 09 64 69 73 6b 73 09 34 09 3b 66 6f 75 72   ┆finition library   disks 4 ;four┆
0x093240…093260             20 64 69 73 6b 73 0d 0a 09 64 69 73 6b 64 65 66 09 30 2c 31 2c 32 36 2c 36 2c 31 30 32 34 2c 32   ┆ disks   diskdef 0,1,26,6,1024,2┆
0x093260…093280             34 33 2c 36 34 2c 36 34 2c 6f 66 66 73 65 74 0d 0a 09 64 69 73 6b 64 65 66 09 31 2c 30 0d 0a 09   ┆43,64,64,offset   diskdef 1,0   ┆
0x093280…0932a0             64 69 73 6b 64 65 66 09 32 2c 30 0d 0a 09 64 69 73 6b 64 65 66 09 33 2c 30 0d 0a 3b 09 65 6e 64   ┆diskdef 2,0   diskdef 3,0  ; end┆
0x0932a0…0932c0             65 66 20 6f 63 63 75 72 73 20 61 74 20 65 6e 64 20 6f 66 20 61 73 73 65 6d 62 6c 79 0d 0a 3b 0d   ┆ef occurs at end of assembly  ; ┆
0x0932c0…0932e0             0a 3b 09 65 6e 64 20 6f 66 20 63 6f 6e 74 72 6f 6c 6c 65 72 20 2d 20 69 6e 64 65 70 65 6e 64 65   ┆ ; end of controller - independe┆
0x0932e0…093300             6e 74 20 63 6f 64 65 2c 20 74 68 65 20 72 65 6d 61 69 6e 69 6e 67 20 73 75 62 72 6f 75 74 69 6e   ┆nt code, the remaining subroutin┆
0x093300…093320             65 73 0d 0a 3b 09 61 72 65 20 74 61 69 6c 6f 72 65 64 20 74 6f 20 74 68 65 20 70 61 72 74 69 63   ┆es  ; are tailored to the partic┆
0x093320…093340             75 6c 61 72 20 6f 70 65 72 61 74 69 6e 67 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 2c 20 61 6e 64 20   ┆ular operating environment, and ┆
0x093340…093360             6d 75 73 74 0d 0a 3b 09 62 65 20 61 6c 74 65 72 65 64 20 66 6f 72 20 61 6e 79 20 73 79 73 74 65   ┆must  ; be altered for any syste┆
0x093360…093380             6d 20 77 68 69 63 68 20 64 69 66 66 65 72 73 20 66 72 6f 6d 20 74 68 65 20 69 6e 74 65 6c 20 6d   ┆m which differs from the intel m┆
0x093380…0933a0             64 73 2e 0d 0a 3b 0d 0a 3b 09 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 64 65 20 61 73 73   ┆ds.  ;  ; the following code ass┆
0x0933a0…0933c0             75 6d 65 73 20 74 68 65 20 6d 64 73 20 6d 6f 6e 69 74 6f 72 20 65 78 69 73 74 73 20 61 74 20 30   ┆umes the mds monitor exists at 0┆
0x0933c0…0933e0             66 38 30 30 68 0d 0a 3b 09 61 6e 64 20 75 73 65 73 20 74 68 65 20 69 2f 6f 20 73 75 62 72 6f 75   ┆f800h  ; and uses the i/o subrou┆
0x0933e0…093400             74 69 6e 65 73 20 77 69 74 68 69 6e 20 74 68 65 20 6d 6f 6e 69 74 6f 72 0d 0a 3b 0d 0a 3b 09 77   ┆tines within the monitor  ;  ; w┆
0x093400…093420 (39, 0, 9)  63 6f 6e 6f 75 74 0d 0a 09 70 6f 70 09 68 0d 0a 09 69 6e 78 09 68 0d 0a 09 6a 6d 70 09 70 72 6d   ┆conout   pop h   inx h   jmp prm┆
0x093420…093440             73 67 0d 0a 3b 0d 0a 73 65 74 66 75 6e 63 3a 0d 0a 3b 09 73 65 74 20 66 75 6e 63 74 69 6f 6e 20   ┆sg  ;  setfunc:  ; set function ┆
0x093440…093460             66 6f 72 20 6e 65 78 74 20 69 2f 6f 20 28 63 6f 6d 6d 61 6e 64 20 69 6e 20 72 65 67 2d 63 29 0d   ┆for next i/o (command in reg-c) ┆
0x093460…093480             0a 09 6c 78 69 09 68 2c 69 6f 66 09 3b 69 6f 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 72 65 73 73   ┆  lxi h,iof ;io function address┆
0x093480…0934a0             0d 0a 09 6d 6f 76 09 61 2c 6d 09 3b 67 65 74 20 69 74 20 74 6f 20 61 63 63 75 6d 75 6c 61 74 6f   ┆   mov a,m ;get it to accumulato┆
0x0934a0…0934c0             72 20 66 6f 72 20 6d 61 73 6b 69 6e 67 0d 0a 09 61 6e 69 09 31 31 31 31 31 30 30 30 62 09 3b 72   ┆r for masking   ani 11111000b ;r┆
0x0934c0…0934e0             65 6d 6f 76 65 20 70 72 65 76 69 6f 75 73 20 63 6f 6d 6d 61 6e 64 0d 0a 09 6f 72 61 09 63 09 3b   ┆emove previous command   ora c ;┆
0x0934e0…093500             73 65 74 20 74 6f 20 6e 65 77 20 63 6f 6d 6d 61 6e 64 0d 0a 09 6d 6f 76 09 6d 2c 61 09 3b 72 65   ┆set to new command   mov m,a ;re┆
0x093500…093520             70 6c 61 63 65 64 20 69 6e 20 69 6f 70 62 0d 0a 3b 09 74 68 65 20 6d 64 73 2d 38 30 30 20 63 6f   ┆placed in iopb  ; the mds-800 co┆
0x093520…093540             6e 74 72 6f 6c 6c 65 72 20 72 65 71 75 69 72 65 73 20 64 69 73 6b 20 62 61 6e 6b 20 62 69 74 20   ┆ntroller requires disk bank bit ┆
0x093540…093560             69 6e 20 73 65 63 74 6f 72 20 62 79 74 65 0d 0a 3b 09 6d 61 73 6b 20 74 68 65 20 62 69 74 20 66   ┆in sector byte  ; mask the bit f┆
0x093560…093580             72 6f 6d 20 74 68 65 20 63 75 72 72 65 6e 74 20 69 2f 6f 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 61   ┆rom the current i/o function   a┆
0x093580…0935a0             6e 69 09 30 30 31 30 30 30 30 30 62 09 3b 6d 61 73 6b 20 74 68 65 20 64 69 73 6b 20 73 65 6c 65   ┆ni 00100000b ;mask the disk sele┆
0x0935a0…0935c0             63 74 20 62 69 74 0d 0a 09 6c 78 69 09 68 2c 69 6f 73 09 09 3b 61 64 64 72 65 73 73 20 74 68 65   ┆ct bit   lxi h,ios  ;address the┆
0x0935c0…0935e0             20 73 65 63 74 6f 72 20 73 65 6c 65 63 74 20 62 79 74 65 0d 0a 09 6f 72 61 09 6d 09 09 3b 73 65   ┆ sector select byte   ora m  ;se┆
0x0935e0…093600             6c 65 63 74 20 70 72 6f 70 65 72 20 64 69 73 6b 20 62 61 6e 6b 0d 0a 09 6d 6f 76 09 6d 2c 61 09   ┆lect proper disk bank   mov m,a ┆
0x093600…093620 (39, 0, 10) 72 72 6f 72 0d 0a 3b 09 32 09 2d 20 73 65 65 6b 20 65 72 72 6f 72 0d 0a 3b 09 33 09 2d 20 61 64   ┆rror  ; 2 - seek error  ; 3 - ad┆
0x093620…093640             64 72 65 73 73 20 65 72 72 6f 72 20 28 68 61 72 64 77 61 72 65 20 6d 61 6c 66 75 6e 63 74 69 6f   ┆dress error (hardware malfunctio┆
0x093640…093660             6e 29 0d 0a 3b 09 34 09 2d 20 64 61 74 61 20 6f 76 65 72 2f 75 6e 64 65 72 20 66 6c 6f 77 20 28   ┆n)  ; 4 - data over/under flow (┆
0x093660…093680             68 61 72 64 77 61 72 65 20 6d 61 6c 66 75 6e 63 74 69 6f 6e 29 0d 0a 3b 09 35 09 2d 20 77 72 69   ┆hardware malfunction)  ; 5 - wri┆
0x093680…0936a0             74 65 20 70 72 6f 74 65 63 74 20 28 74 72 65 61 74 65 64 20 61 73 20 6e 6f 74 20 72 65 61 64 79   ┆te protect (treated as not ready┆
0x0936a0…0936c0             29 0d 0a 3b 09 36 09 2d 20 77 72 69 74 65 20 65 72 72 6f 72 20 28 68 61 72 64 77 61 72 65 20 6d   ┆)  ; 6 - write error (hardware m┆
0x0936c0…0936e0             61 6c 66 75 6e 63 74 69 6f 6e 29 0d 0a 3b 09 37 09 2d 20 6e 6f 74 20 72 65 61 64 79 0d 0a 3b 09   ┆alfunction)  ; 7 - not ready  ; ┆
0x0936e0…093700             28 61 63 63 75 6d 75 6c 61 74 6f 72 20 62 69 74 73 20 61 72 65 20 6e 75 6d 62 65 72 65 64 20 37   ┆(accumulator bits are numbered 7┆
0x093700…093720             20 36 20 35 20 34 20 33 20 32 20 31 20 30 29 0d 0a 3b 0d 0a 3b 09 69 74 20 6d 61 79 20 62 65 20   ┆ 6 5 4 3 2 1 0)  ;  ; it may be ┆
0x093720…093740             75 73 65 66 75 6c 20 74 6f 20 66 69 6c 74 65 72 20 6f 75 74 20 74 68 65 20 76 61 72 69 6f 75 73   ┆useful to filter out the various┆
0x093740…093760             20 63 6f 6e 64 69 74 69 6f 6e 73 2c 0d 0a 3b 09 62 75 74 20 77 65 20 77 69 6c 6c 20 67 65 74 20   ┆ conditions,  ; but we will get ┆
0x093760…093780             61 20 70 65 72 6d 61 6e 65 6e 74 20 65 72 72 6f 72 20 6d 65 73 73 61 67 65 20 69 66 20 69 74 20   ┆a permanent error message if it ┆
0x093780…0937a0             69 73 20 6e 6f 74 0d 0a 3b 09 72 65 63 6f 76 65 72 61 62 6c 65 2e 20 20 69 6e 20 61 6e 79 20 63   ┆is not  ; recoverable.  in any c┆
0x0937a0…0937c0             61 73 65 2c 20 74 68 65 20 6e 6f 74 20 72 65 61 64 79 20 63 6f 6e 64 69 74 69 6f 6e 20 69 73 0d   ┆ase, the not ready condition is ┆
0x0937c0…0937e0             0a 3b 09 74 72 65 61 74 65 64 20 61 73 20 61 20 73 65 70 61 72 61 74 65 20 63 6f 6e 64 69 74 69   ┆ ; treated as a separate conditi┆
0x0937e0…093800             6f 6e 20 66 6f 72 20 6c 61 74 65 72 20 69 6d 70 72 6f 76 65 6d 65 6e 74 0d 0a 74 72 79 63 6f 75   ┆on for later improvement  trycou┆
0x093800…093820 (39, 0, 11) 73 29 20 6f 66 20 63 70 6d 20 73 79 73 74 65 6d 0d 0a 6e 73 65 63 74 73 09 65 71 75 09 63 70 6d   ┆s) of cpm system  nsects equ cpm┆
0x093820…093840             6c 2f 31 32 38 09 3b 6e 75 6d 62 65 72 20 6f 66 20 73 65 63 74 6f 72 73 20 74 6f 20 6c 6f 61 64   ┆l/128 ;number of sectors to load┆
0x093840…093860             0d 0a 6f 66 66 73 65 74 09 65 71 75 09 32 09 3b 6e 75 6d 62 65 72 20 6f 66 20 64 69 73 6b 20 74   ┆  offset equ 2 ;number of disk t┆
0x093860…093880             72 61 63 6b 73 20 75 73 65 64 20 62 79 20 63 70 2f 6d 0d 0a 63 64 69 73 6b 09 65 71 75 09 30 30   ┆racks used by cp/m  cdisk equ 00┆
0x093880…0938a0             30 34 68 09 3b 61 64 64 72 65 73 73 20 6f 66 20 6c 61 73 74 20 6c 6f 67 67 65 64 20 64 69 73 6b   ┆04h ;address of last logged disk┆
0x0938a0…0938c0             20 6f 6e 20 77 61 72 6d 20 73 74 61 72 74 0d 0a 62 75 66 66 09 65 71 75 09 30 30 38 30 68 09 3b   ┆ on warm start  buff equ 0080h ;┆
0x0938c0…0938e0             64 65 66 61 75 6c 74 20 62 75 66 66 65 72 20 61 64 64 72 65 73 73 0d 0a 72 65 74 72 79 09 65 71   ┆default buffer address  retry eq┆
0x0938e0…093900             75 09 31 30 09 3b 6d 61 78 20 72 65 74 72 69 65 73 20 6f 6e 20 64 69 73 6b 20 69 2f 6f 20 62 65   ┆u 10 ;max retries on disk i/o be┆
0x093900…093920             66 6f 72 65 20 65 72 72 6f 72 0d 0a 3b 0d 0a 3b 09 70 65 72 66 6f 72 6d 20 66 6f 6c 6c 6f 77 69   ┆fore error  ;  ; perform followi┆
0x093920…093940             6e 67 20 66 75 6e 63 74 69 6f 6e 73 0d 0a 3b 09 62 6f 6f 74 09 63 6f 6c 64 20 73 74 61 72 74 0d   ┆ng functions  ; boot cold start ┆
0x093940…093960             0a 3b 09 77 62 6f 6f 74 09 77 61 72 6d 20 73 74 61 72 74 20 28 73 61 76 65 20 69 2f 6f 20 62 79   ┆ ; wboot warm start (save i/o by┆
0x093960…093980             74 65 29 0d 0a 3b 09 28 62 6f 6f 74 20 61 6e 64 20 77 62 6f 6f 74 20 61 72 65 20 74 68 65 20 73   ┆te)  ; (boot and wboot are the s┆
0x093980…0939a0             61 6d 65 20 66 6f 72 20 6d 64 73 29 0d 0a 3b 09 63 6f 6e 73 74 09 63 6f 6e 73 6f 6c 65 20 73 74   ┆ame for mds)  ; const console st┆
0x0939a0…0939c0             61 74 75 73 0d 0a 3b 09 09 72 65 67 2d 61 20 3d 20 30 30 20 69 66 20 6e 6f 20 63 68 61 72 61 63   ┆atus  ;  reg-a = 00 if no charac┆
0x0939c0…0939e0             74 65 72 20 72 65 61 64 79 0d 0a 3b 09 09 72 65 67 2d 61 20 3d 20 66 66 20 69 66 20 63 68 61 72   ┆ter ready  ;  reg-a = ff if char┆
0x0939e0…093a00             61 63 74 65 72 20 72 65 61 64 79 0d 0a 3b 09 63 6f 6e 69 6e 09 63 6f 6e 73 6f 6c 65 20 63 68 61   ┆acter ready  ; conin console cha┆
0x093a00…093a20 (39, 0, 12) 65 20 61 6c 73 6f 20 61 73 73 75 6d 65 20 74 68 65 20 6d 64 73 20 73 79 73 74 65 6d 20 68 61 73   ┆e also assume the mds system has┆
0x093a20…093a40             20 66 6f 75 72 20 64 69 73 6b 20 64 72 69 76 65 73 0d 0a 72 65 76 72 74 09 65 71 75 09 30 66 64   ┆ four disk drives  revrt equ 0fd┆
0x093a40…093a60             68 09 3b 69 6e 74 65 72 72 75 70 74 20 72 65 76 65 72 74 20 70 6f 72 74 0d 0a 69 6e 74 63 09 65   ┆h ;interrupt revert port  intc e┆
0x093a60…093a80             71 75 09 30 66 63 68 09 3b 69 6e 74 65 72 72 75 70 74 20 6d 61 73 6b 20 70 6f 72 74 0d 0a 69 63   ┆qu 0fch ;interrupt mask port  ic┆
0x093a80…093aa0             6f 6e 09 65 71 75 09 30 66 33 68 09 3b 69 6e 74 65 72 72 75 70 74 20 63 6f 6e 74 72 6f 6c 20 70   ┆on equ 0f3h ;interrupt control p┆
0x093aa0…093ac0             6f 72 74 0d 0a 69 6e 74 65 09 65 71 75 09 30 31 31 31 24 31 31 31 30 62 09 3b 65 6e 61 62 6c 65   ┆ort  inte equ 0111$1110b ;enable┆
0x093ac0…093ae0             20 72 73 74 20 30 28 77 61 72 6d 20 62 6f 6f 74 29 2c 20 72 73 74 20 37 20 28 6d 6f 6e 69 74 6f   ┆ rst 0(warm boot), rst 7 (monito┆
0x093ae0…093b00             72 29 0d 0a 3b 0d 0a 3b 09 6d 64 73 20 6d 6f 6e 69 74 6f 72 20 65 71 75 61 74 65 73 0d 0a 6d 6f   ┆r)  ;  ; mds monitor equates  mo┆
0x093b00…093b20             6e 38 30 09 65 71 75 09 30 66 38 30 30 68 09 3b 6d 64 73 20 6d 6f 6e 69 74 6f 72 0d 0a 72 6d 6f   ┆n80 equ 0f800h ;mds monitor  rmo┆
0x093b20…093b40             6e 38 30 09 65 71 75 09 30 66 66 30 66 68 09 3b 72 65 73 74 61 72 74 20 6d 6f 6e 38 30 20 28 62   ┆n80 equ 0ff0fh ;restart mon80 (b┆
0x093b40…093b60             6f 6f 74 20 65 72 72 6f 72 29 0d 0a 63 69 09 65 71 75 09 30 66 38 30 33 68 09 3b 63 6f 6e 73 6f   ┆oot error)  ci equ 0f803h ;conso┆
0x093b60…093b80             6c 65 20 63 68 61 72 61 63 74 65 72 20 74 6f 20 72 65 67 2d 61 0d 0a 72 69 09 65 71 75 09 30 66   ┆le character to reg-a  ri equ 0f┆
0x093b80…093ba0             38 30 36 68 09 3b 72 65 61 64 65 72 20 69 6e 20 74 6f 20 72 65 67 2d 61 0d 0a 63 6f 09 65 71 75   ┆806h ;reader in to reg-a  co equ┆
0x093ba0…093bc0             09 30 66 38 30 39 68 09 3b 63 6f 6e 73 6f 6c 65 20 63 68 61 72 20 66 72 6f 6d 20 63 20 74 6f 20   ┆ 0f809h ;console char from c to ┆
0x093bc0…093be0             63 6f 6e 73 6f 6c 65 20 6f 75 74 0d 0a 70 6f 09 65 71 75 09 30 66 38 30 63 68 09 3b 70 75 6e 63   ┆console out  po equ 0f80ch ;punc┆
0x093be0…093c00             68 20 63 68 61 72 20 66 72 6f 6d 20 63 20 74 6f 20 70 75 6e 63 68 20 64 65 76 69 63 65 0d 0a 6c   ┆h char from c to punch device  l┆
0x093c00…093c20 (39, 0, 13) 09 3b 73 65 74 20 64 69 73 6b 20 73 65 6c 65 63 74 20 62 69 74 20 6f 6e 2f 6f 66 66 0d 0a 09 72   ┆ ;set disk select bit on/off   r┆
0x093c20…093c40             65 74 0d 0a 3b 0d 0a 77 61 69 74 69 6f 3a 0d 0a 09 6d 76 69 09 63 2c 72 65 74 72 79 09 3b 6d 61   ┆et  ;  waitio:   mvi c,retry ;ma┆
0x093c40…093c60             78 20 72 65 74 72 69 65 73 20 62 65 66 6f 72 65 20 70 65 72 6d 20 65 72 72 6f 72 0d 0a 72 65 77   ┆x retries before perm error  rew┆
0x093c60…093c80             61 69 74 3a 0d 0a 3b 09 73 74 61 72 74 20 74 68 65 20 69 2f 6f 20 66 75 6e 63 74 69 6f 6e 20 61   ┆ait:  ; start the i/o function a┆
0x093c80…093ca0             6e 64 20 77 61 69 74 20 66 6f 72 20 63 6f 6d 70 6c 65 74 69 6f 6e 0d 0a 09 63 61 6c 6c 09 69 6e   ┆nd wait for completion   call in┆
0x093ca0…093cc0             74 79 70 65 09 3b 69 6e 20 72 74 79 70 65 0d 0a 09 63 61 6c 6c 09 69 6e 62 79 74 65 09 3b 63 6c   ┆type ;in rtype   call inbyte ;cl┆
0x093cc0…093ce0             65 61 72 73 20 74 68 65 20 63 6f 6e 74 72 6f 6c 6c 65 72 0d 0a 3b 0d 0a 09 6c 64 61 09 64 62 61   ┆ears the controller  ;   lda dba┆
0x093ce0…093d00             6e 6b 09 09 3b 73 65 74 20 62 61 6e 6b 20 66 6c 61 67 73 0d 0a 09 6f 72 61 09 61 09 09 3b 7a 65   ┆nk  ;set bank flags   ora a  ;ze┆
0x093d00…093d20             72 6f 20 69 66 20 64 72 69 76 65 20 30 2c 31 20 61 6e 64 20 6e 7a 20 69 66 20 32 2c 33 0d 0a 09   ┆ro if drive 0,1 and nz if 2,3   ┆
0x093d20…093d40             6d 76 69 09 61 2c 69 6f 70 62 20 61 6e 64 20 30 66 66 68 09 3b 6c 6f 77 20 61 64 64 72 65 73 73   ┆mvi a,iopb and 0ffh ;low address┆
0x093d40…093d60             20 66 6f 72 20 69 6f 70 62 0d 0a 09 6d 76 69 09 62 2c 69 6f 70 62 20 73 68 72 20 38 09 3b 68 69   ┆ for iopb   mvi b,iopb shr 8 ;hi┆
0x093d60…093d80             67 68 20 61 64 64 72 65 73 73 20 66 6f 72 20 69 6f 70 62 0d 0a 09 6a 6e 7a 09 69 6f 64 72 31 09   ┆gh address for iopb   jnz iodr1 ┆
0x093d80…093da0             3b 64 72 69 76 65 20 62 61 6e 6b 20 31 3f 0d 0a 09 6f 75 74 09 69 6c 6f 77 09 09 3b 6c 6f 77 20   ┆;drive bank 1?   out ilow  ;low ┆
0x093da0…093dc0             61 64 64 72 65 73 73 20 74 6f 20 63 6f 6e 74 72 6f 6c 6c 65 72 0d 0a 09 6d 6f 76 09 61 2c 62 0d   ┆address to controller   mov a,b ┆
0x093dc0…093de0             0a 09 6f 75 74 09 69 68 69 67 68 09 3b 68 69 67 68 20 61 64 64 72 65 73 73 0d 0a 09 6a 6d 70 09   ┆  out ihigh ;high address   jmp ┆
0x093de0…093e00             77 61 69 74 30 09 09 3b 74 6f 20 77 61 69 74 20 66 6f 72 20 63 6f 6d 70 6c 65 74 65 0d 0a 3b 0d   ┆wait0  ;to wait for complete  ; ┆
0x093e00…093e20 (39, 0, 14) 6e 74 3a 0d 0a 3b 09 72 65 67 69 73 74 65 72 20 63 20 63 6f 6e 74 61 69 6e 73 20 72 65 74 72 79   ┆nt:  ; register c contains retry┆
0x093e20…093e40             20 63 6f 75 6e 74 2c 20 64 65 63 72 65 6d 65 6e 74 20 27 74 69 6c 20 7a 65 72 6f 0d 0a 09 64 63   ┆ count, decrement 'til zero   dc┆
0x093e40…093e60             72 09 63 0d 0a 09 6a 6e 7a 09 72 65 77 61 69 74 09 3b 66 6f 72 20 61 6e 6f 74 68 65 72 20 74 72   ┆r c   jnz rewait ;for another tr┆
0x093e60…093e80             79 0d 0a 3b 0d 0a 3b 09 63 61 6e 6e 6f 74 20 72 65 63 6f 76 65 72 20 66 72 6f 6d 20 65 72 72 6f   ┆y  ;  ; cannot recover from erro┆
0x093e80…093ea0             72 0d 0a 09 6d 76 69 09 61 2c 31 09 3b 65 72 72 6f 72 20 63 6f 64 65 0d 0a 09 72 65 74 0d 0a 3b   ┆r   mvi a,1 ;error code   ret  ;┆
0x093ea0…093ec0             0d 0a 3b 09 69 6e 74 79 70 65 2c 20 69 6e 62 79 74 65 2c 20 69 6e 73 74 61 74 20 72 65 61 64 20   ┆  ; intype, inbyte, instat read ┆
0x093ec0…093ee0             64 72 69 76 65 20 62 61 6e 6b 20 30 30 20 6f 72 20 31 30 0d 0a 69 6e 74 79 70 65 3a 09 6c 64 61   ┆drive bank 00 or 10  intype: lda┆
0x093ee0…093f00             09 64 62 61 6e 6b 0d 0a 09 6f 72 61 09 61 0d 0a 09 6a 6e 7a 09 69 6e 74 79 70 31 09 3b 73 6b 69   ┆ dbank   ora a   jnz intyp1 ;ski┆
0x093f00…093f20             70 20 74 6f 20 62 61 6e 6b 20 31 30 0d 0a 09 69 6e 09 72 74 79 70 65 0d 0a 09 72 65 74 0d 0a 69   ┆p to bank 10   in rtype   ret  i┆
0x093f20…093f40             6e 74 79 70 31 3a 09 69 6e 09 72 74 79 70 65 2b 31 30 68 09 3b 37 38 20 66 6f 72 20 30 2c 31 20   ┆ntyp1: in rtype+10h ;78 for 0,1 ┆
0x093f40…093f60             20 38 38 20 66 6f 72 20 32 2c 33 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 69 6e 62 79 74 65 3a 09 6c 64   ┆ 88 for 2,3   ret  ;  inbyte: ld┆
0x093f60…093f80             61 09 64 62 61 6e 6b 0d 0a 09 6f 72 61 09 61 0d 0a 09 6a 6e 7a 09 69 6e 62 79 74 31 0d 0a 09 69   ┆a dbank   ora a   jnz inbyt1   i┆
0x093f80…093fa0             6e 09 72 62 79 74 65 0d 0a 09 72 65 74 0d 0a 69 6e 62 79 74 31 3a 09 69 6e 09 72 62 79 74 65 2b   ┆n rbyte   ret  inbyt1: in rbyte+┆
0x093fa0…093fc0             31 30 68 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 69 6e 73 74 61 74 3a 09 6c 64 61 09 64 62 61 6e 6b 0d   ┆10h   ret  ;  instat: lda dbank ┆
0x093fc0…093fe0             0a 09 6f 72 61 09 61 0d 0a 09 6a 6e 7a 09 69 6e 73 74 61 31 0d 0a 09 69 6e 09 64 73 74 61 74 0d   ┆  ora a   jnz insta1   in dstat ┆
0x093fe0…094000             0a 09 72 65 74 0d 0a 69 6e 73 74 61 31 3a 09 69 6e 09 64 73 74 61 74 2b 31 30 68 0d 0a 09 72 65   ┆  ret  insta1: in dstat+10h   re┆
0x094000…094020 (39, 0, 15) 72 61 63 74 65 72 20 69 6e 20 28 72 65 73 75 6c 74 20 69 6e 20 72 65 67 2d 61 29 0d 0a 3b 09 63   ┆racter in (result in reg-a)  ; c┆
0x094020…094040             6f 6e 6f 75 74 09 63 6f 6e 73 6f 6c 65 20 63 68 61 72 61 63 74 65 72 20 6f 75 74 20 28 63 68 61   ┆onout console character out (cha┆
0x094040…094060             72 20 69 6e 20 72 65 67 2d 63 29 0d 0a 3b 09 6c 69 73 74 09 6c 69 73 74 20 6f 75 74 20 28 63 68   ┆r in reg-c)  ; list list out (ch┆
0x094060…094080             61 72 20 69 6e 20 72 65 67 2d 63 29 0d 0a 3b 09 70 75 6e 63 68 09 70 75 6e 63 68 20 6f 75 74 20   ┆ar in reg-c)  ; punch punch out ┆
0x094080…0940a0             28 63 68 61 72 20 69 6e 20 72 65 67 2d 63 29 0d 0a 3b 09 72 65 61 64 65 72 09 70 61 70 65 72 20   ┆(char in reg-c)  ; reader paper ┆
0x0940a0…0940c0             74 61 70 65 20 72 65 61 64 65 72 20 69 6e 20 28 72 65 73 75 6c 74 20 74 6f 20 72 65 67 2d 61 29   ┆tape reader in (result to reg-a)┆
0x0940c0…0940e0             0d 0a 3b 09 68 6f 6d 65 09 6d 6f 76 65 20 74 6f 20 74 72 61 63 6b 20 30 30 0d 0a 3b 0d 0a 3b 09   ┆  ; home move to track 00  ;  ; ┆
0x0940e0…094100             28 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 61 6c 6c 73 20 73 65 74 2d 75 70 20 74 68 65 20   ┆(the following calls set-up the ┆
0x094100…094120             69 6f 20 70 61 72 61 6d 65 74 65 72 20 62 6c 6f 63 6b 20 66 6f 72 20 74 68 65 0d 0a 3b 09 6d 64   ┆io parameter block for the  ; md┆
0x094120…094140             73 2c 20 77 68 69 63 68 20 69 73 20 75 73 65 64 20 74 6f 20 70 65 72 66 6f 72 6d 20 73 75 62 73   ┆s, which is used to perform subs┆
0x094140…094160             65 71 75 65 6e 74 20 72 65 61 64 73 20 61 6e 64 20 77 72 69 74 65 73 29 0d 0a 3b 09 73 65 6c 64   ┆equent reads and writes)  ; seld┆
0x094160…094180             73 6b 09 73 65 6c 65 63 74 20 64 69 73 6b 20 67 69 76 65 6e 20 62 79 20 72 65 67 2d 63 20 28 30   ┆sk select disk given by reg-c (0┆
0x094180…0941a0             2c 31 2c 32 2e 2e 2e 29 0d 0a 3b 09 73 65 74 74 72 6b 09 73 65 74 20 74 72 61 63 6b 20 61 64 64   ┆,1,2...)  ; settrk set track add┆
0x0941a0…0941c0             72 65 73 73 20 28 30 2c 2e 2e 2e 37 36 29 20 66 6f 72 20 73 75 62 73 65 71 75 65 6e 74 20 72 65   ┆ress (0,...76) for subsequent re┆
0x0941c0…0941e0             61 64 2f 77 72 69 74 65 0d 0a 3b 09 73 65 74 73 65 63 09 73 65 74 20 73 65 63 74 6f 72 20 61 64   ┆ad/write  ; setsec set sector ad┆
0x0941e0…094200             64 72 65 73 73 20 28 31 2c 2e 2e 2e 2c 32 36 29 20 66 6f 72 20 73 75 62 73 65 71 75 65 6e 74 20   ┆dress (1,...,26) for subsequent ┆
0x094200…094220 (39, 1, 1)  6f 09 65 71 75 09 30 66 38 30 66 68 09 3b 6c 69 73 74 20 66 72 6f 6d 20 63 20 74 6f 20 6c 69 73   ┆o equ 0f80fh ;list from c to lis┆
0x094220…094240             74 20 64 65 76 69 63 65 0d 0a 63 73 74 73 09 65 71 75 09 30 66 38 31 32 68 09 3b 63 6f 6e 73 6f   ┆t device  csts equ 0f812h ;conso┆
0x094240…094260             6c 65 20 73 74 61 74 75 73 20 30 30 2f 66 66 20 74 6f 20 72 65 67 69 73 74 65 72 20 61 0d 0a 3b   ┆le status 00/ff to register a  ;┆
0x094260…094280             0d 0a 3b 09 64 69 73 6b 20 70 6f 72 74 73 20 61 6e 64 20 63 6f 6d 6d 61 6e 64 73 0d 0a 62 61 73   ┆  ; disk ports and commands  bas┆
0x094280…0942a0             65 09 65 71 75 09 37 38 68 09 3b 62 61 73 65 20 6f 66 20 64 69 73 6b 20 63 6f 6d 6d 61 6e 64 20   ┆e equ 78h ;base of disk command ┆
0x0942a0…0942c0             69 6f 20 70 6f 72 74 73 0d 0a 64 73 74 61 74 09 65 71 75 09 62 61 73 65 09 3b 64 69 73 6b 20 73   ┆io ports  dstat equ base ;disk s┆
0x0942c0…0942e0             74 61 74 75 73 20 28 69 6e 70 75 74 29 0d 0a 72 74 79 70 65 09 65 71 75 09 62 61 73 65 2b 31 09   ┆tatus (input)  rtype equ base+1 ┆
0x0942e0…094300             3b 72 65 73 75 6c 74 20 74 79 70 65 20 28 69 6e 70 75 74 29 0d 0a 72 62 79 74 65 09 65 71 75 09   ┆;result type (input)  rbyte equ ┆
0x094300…094320             62 61 73 65 2b 33 09 3b 72 65 73 75 6c 74 20 62 79 74 65 20 28 69 6e 70 75 74 29 0d 0a 3b 0d 0a   ┆base+3 ;result byte (input)  ;  ┆
0x094320…094340             69 6c 6f 77 09 65 71 75 09 62 61 73 65 2b 31 09 3b 69 6f 70 62 20 6c 6f 77 20 61 64 64 72 65 73   ┆ilow equ base+1 ;iopb low addres┆
0x094340…094360             73 20 28 6f 75 74 70 75 74 29 0d 0a 69 68 69 67 68 09 65 71 75 09 62 61 73 65 2b 32 09 3b 69 6f   ┆s (output)  ihigh equ base+2 ;io┆
0x094360…094380             70 62 20 68 69 67 68 20 61 64 64 72 65 73 73 20 28 6f 75 74 70 75 74 29 0d 0a 3b 0d 0a 72 65 61   ┆pb high address (output)  ;  rea┆
0x094380…0943a0             64 66 09 65 71 75 09 34 68 09 3b 72 65 61 64 20 66 75 6e 63 74 69 6f 6e 0d 0a 77 72 69 74 66 09   ┆df equ 4h ;read function  writf ┆
0x0943a0…0943c0             65 71 75 09 36 68 09 3b 77 72 69 74 65 20 66 75 6e 63 74 69 6f 6e 0d 0a 72 65 63 61 6c 09 65 71   ┆equ 6h ;write function  recal eq┆
0x0943c0…0943e0             75 09 33 68 09 3b 72 65 63 61 6c 69 62 72 61 74 65 20 64 72 69 76 65 0d 0a 69 6f 72 64 79 09 65   ┆u 3h ;recalibrate drive  iordy e┆
0x0943e0…094400             71 75 09 34 68 09 3b 69 2f 6f 20 66 69 6e 69 73 68 65 64 20 6d 61 73 6b 0d 0a 63 72 09 65 71 75   ┆qu 4h ;i/o finished mask  cr equ┆
0x094400…094420 (39, 1, 2)  76 09 63 2c 61 09 3b 72 65 61 64 79 20 66 6f 72 20 63 61 6c 6c 0d 0a 09 63 61 6c 6c 09 73 65 74   ┆v c,a ;ready for call   call set┆
0x094420…094440             74 72 6b 0d 0a 09 78 72 61 09 61 09 3b 63 6c 65 61 72 20 73 65 63 74 6f 72 20 6e 75 6d 62 65 72   ┆trk   xra a ;clear sector number┆
0x094440…094460             0d 0a 72 64 31 3a 09 69 6e 72 09 61 09 3b 74 6f 20 6e 65 78 74 20 73 65 63 74 6f 72 0d 0a 09 6d   ┆  rd1: inr a ;to next sector   m┆
0x094460…094480             6f 76 09 63 2c 61 09 3b 72 65 61 64 79 20 66 6f 72 20 63 61 6c 6c 0d 0a 09 63 61 6c 6c 09 73 65   ┆ov c,a ;ready for call   call se┆
0x094480…0944a0             74 73 65 63 0d 0a 09 70 6f 70 09 62 09 3b 72 65 63 61 6c 6c 20 73 65 63 74 6f 72 20 63 6f 75 6e   ┆tsec   pop b ;recall sector coun┆
0x0944a0…0944c0             74 0d 0a 09 64 63 72 09 62 09 3b 64 6f 6e 65 3f 0d 0a 09 6a 6e 7a 09 72 64 73 65 63 0d 0a 3b 0d   ┆t   dcr b ;done?   jnz rdsec  ; ┆
0x0944c0…0944e0             0a 3b 09 64 6f 6e 65 20 77 69 74 68 20 74 68 65 20 6c 6f 61 64 2c 20 72 65 73 65 74 20 64 65 66   ┆ ; done with the load, reset def┆
0x0944e0…094500             61 75 6c 74 20 62 75 66 66 65 72 20 61 64 64 72 65 73 73 0d 0a 67 6f 63 70 6d 3a 09 3b 28 65 6e   ┆ault buffer address  gocpm: ;(en┆
0x094500…094520             74 65 72 20 68 65 72 65 20 66 72 6f 6d 20 63 6f 6c 64 20 73 74 61 72 74 20 62 6f 6f 74 29 0d 0a   ┆ter here from cold start boot)  ┆
0x094520…094540             3b 09 65 6e 61 62 6c 65 20 72 73 74 30 20 61 6e 64 20 72 73 74 37 0d 0a 09 64 69 0d 0a 09 6d 76   ┆; enable rst0 and rst7   di   mv┆
0x094540…094560             69 09 61 2c 31 32 68 09 3b 69 6e 69 74 69 61 6c 69 7a 65 20 63 6f 6d 6d 61 6e 64 0d 0a 09 6f 75   ┆i a,12h ;initialize command   ou┆
0x094560…094580             74 09 72 65 76 72 74 0d 0a 09 78 72 61 09 61 0d 0a 09 6f 75 74 09 69 6e 74 63 09 3b 63 6c 65 61   ┆t revrt   xra a   out intc ;clea┆
0x094580…0945a0             72 65 64 0d 0a 09 6d 76 69 09 61 2c 69 6e 74 65 09 3b 72 73 74 30 20 61 6e 64 20 72 73 74 37 20   ┆red   mvi a,inte ;rst0 and rst7 ┆
0x0945a0…0945c0             62 69 74 73 20 6f 6e 0d 0a 09 6f 75 74 09 69 6e 74 63 0d 0a 09 78 72 61 09 61 0d 0a 09 6f 75 74   ┆bits on   out intc   xra a   out┆
0x0945c0…0945e0             09 69 63 6f 6e 09 3b 69 6e 74 65 72 72 75 70 74 20 63 6f 6e 74 72 6f 6c 0d 0a 3b 0d 0a 3b 09 73   ┆ icon ;interrupt control  ;  ; s┆
0x0945e0…094600             65 74 20 64 65 66 61 75 6c 74 20 62 75 66 66 65 72 20 61 64 64 72 65 73 73 20 74 6f 20 38 30 68   ┆et default buffer address to 80h┆
0x094600…094620 (39, 1, 3)  2c 33 0d 0a 09 73 74 61 09 64 62 61 6e 6b 09 3b 74 6f 20 73 65 6c 65 63 74 20 64 72 69 76 65 20   ┆,3   sta dbank ;to select drive ┆
0x094620…094640             62 61 6e 6b 0d 0a 09 6d 6f 76 09 61 2c 63 09 3b 30 30 2c 20 30 31 2c 20 31 30 2c 20 31 31 0d 0a   ┆bank   mov a,c ;00, 01, 10, 11  ┆
0x094640…094660             09 61 6e 69 09 31 62 09 3b 6d 64 73 20 68 61 73 20 30 2c 31 20 61 74 20 37 38 2c 20 32 2c 33 20   ┆ ani 1b ;mds has 0,1 at 78, 2,3 ┆
0x094660…094680             61 74 20 38 38 0d 0a 09 6f 72 61 09 61 09 3b 72 65 73 75 6c 74 20 30 30 3f 0d 0a 09 6a 7a 09 73   ┆at 88   ora a ;result 00?   jz s┆
0x094680…0946a0             65 74 64 72 69 76 65 0d 0a 09 6d 76 69 09 61 2c 30 30 31 31 30 30 30 30 62 09 3b 73 65 6c 65 63   ┆etdrive   mvi a,00110000b ;selec┆
0x0946a0…0946c0             74 73 20 64 72 69 76 65 20 31 20 69 6e 20 62 61 6e 6b 0d 0a 73 65 74 64 72 69 76 65 3a 0d 0a 09   ┆ts drive 1 in bank  setdrive:   ┆
0x0946c0…0946e0             6d 6f 76 09 62 2c 61 09 3b 73 61 76 65 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 6c 78 69   ┆mov b,a ;save the function   lxi┆
0x0946e0…094700             09 68 2c 69 6f 66 09 3b 69 6f 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 6d 6f 76 09 61 2c 6d 0d 0a 09   ┆ h,iof ;io function   mov a,m   ┆
0x094700…094720             61 6e 69 09 31 31 30 30 31 31 31 31 62 09 3b 6d 61 73 6b 20 6f 75 74 20 64 69 73 6b 20 6e 75 6d   ┆ani 11001111b ;mask out disk num┆
0x094720…094740             62 65 72 0d 0a 09 6f 72 61 09 62 09 3b 6d 61 73 6b 20 69 6e 20 6e 65 77 20 64 69 73 6b 20 6e 75   ┆ber   ora b ;mask in new disk nu┆
0x094740…094760             6d 62 65 72 0d 0a 09 6d 6f 76 09 6d 2c 61 09 3b 73 61 76 65 20 69 74 20 69 6e 20 69 6f 70 62 0d   ┆mber   mov m,a ;save it in iopb ┆
0x094760…094780             0a 09 6d 6f 76 09 6c 2c 63 0d 0a 09 6d 76 69 09 68 2c 30 09 3b 48 4c 3d 64 69 73 6b 20 6e 75 6d   ┆  mov l,c   mvi h,0 ;HL=disk num┆
0x094780…0947a0             62 65 72 0d 0a 09 64 61 64 09 68 09 3b 2a 32 0d 0a 09 64 61 64 09 68 09 3b 2a 34 0d 0a 09 64 61   ┆ber   dad h ;*2   dad h ;*4   da┆
0x0947a0…0947c0             64 09 68 09 3b 2a 38 0d 0a 09 64 61 64 09 68 09 3b 2a 31 36 0d 0a 09 6c 78 69 09 64 2c 64 70 62   ┆d h ;*8   dad h ;*16   lxi d,dpb┆
0x0947c0…0947e0             61 73 65 0d 0a 09 64 61 64 09 64 09 3b 48 4c 3d 64 69 73 6b 20 68 65 61 64 65 72 20 74 61 62 6c   ┆ase   dad d ;HL=disk header tabl┆
0x0947e0…094800             65 20 61 64 64 72 65 73 73 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 3b 0d 0a 73 65 74 74 72 6b 3a 09 3b   ┆e address   ret  ;  ;  settrk: ;┆
0x094800…094820 (39, 1, 4)  0d 0a 72 65 77 61 69 74 3a 0d 0a 3b 09 73 74 61 72 74 20 74 68 65 20 69 2f 6f 20 66 75 6e 63 74   ┆  rewait:  ; start the i/o funct┆
0x094820…094840             69 6f 6e 20 61 6e 64 20 77 61 69 74 20 66 6f 72 20 63 6f 6d 70 6c 65 74 69 6f 6e 0d 0a 09 63 61   ┆ion and wait for completion   ca┆
0x094840…094860             6c 6c 09 69 6e 74 79 70 65 09 3b 69 6e 20 72 74 79 70 65 0d 0a 09 63 61 6c 6c 09 69 6e 62 79 74   ┆ll intype ;in rtype   call inbyt┆
0x094860…094880             65 09 3b 63 6c 65 61 72 73 20 74 68 65 20 63 6f 6e 74 72 6f 6c 6c 65 72 0d 0a 3b 0d 0a 09 6c 64   ┆e ;clears the controller  ;   ld┆
0x094880…0948a0             61 09 64 62 61 6e 6b 09 09 3b 73 65 74 20 62 61 6e 6b 20 66 6c 61 67 73 0d 0a 09 6f 72 61 09 61   ┆a dbank  ;set bank flags   ora a┆
0x0948a0…0948c0             09 09 3b 7a 65 72 6f 20 69 66 20 64 72 69 76 65 20 30 2c 31 20 61 6e 64 20 6e 7a 20 69 66 20 32   ┆  ;zero if drive 0,1 and nz if 2┆
0x0948c0…0948e0             2c 33 0d 0a 09 6d 76 69 09 61 2c 69 6f 70 62 20 61 6e 64 20 30 66 66 68 09 3b 6c 6f 77 20 61 64   ┆,3   mvi a,iopb and 0ffh ;low ad┆
0x0948e0…094900             64 72 65 73 73 20 66 6f 72 20 69 6f 70 62 0d 0a 09 6d 76 69 09 62 2c 69 6f 70 62 20 73 68 72 20   ┆dress for iopb   mvi b,iopb shr ┆
0x094900…094920             38 09 3b 68 69 67 68 20 61 64 64 72 65 73 73 20 66 6f 72 20 69 6f 70 62 0d 0a 09 6a 6e 7a 09 69   ┆8 ;high address for iopb   jnz i┆
0x094920…094940             6f 64 72 31 09 3b 64 72 69 76 65 20 62 61 6e 6b 20 31 3f 0d 0a 09 6f 75 74 09 69 6c 6f 77 09 09   ┆odr1 ;drive bank 1?   out ilow  ┆
0x094940…094960             3b 6c 6f 77 20 61 64 64 72 65 73 73 20 74 6f 20 63 6f 6e 74 72 6f 6c 6c 65 72 0d 0a 09 6d 6f 76   ┆;low address to controller   mov┆
0x094960…094980             09 61 2c 62 0d 0a 09 6f 75 74 09 69 68 69 67 68 09 3b 68 69 67 68 20 61 64 64 72 65 73 73 0d 0a   ┆ a,b   out ihigh ;high address  ┆
0x094980…0949a0             09 6a 6d 70 09 77 61 69 74 30 09 09 3b 74 6f 20 77 61 69 74 20 66 6f 72 20 63 6f 6d 70 6c 65 74   ┆ jmp wait0  ;to wait for complet┆
0x0949a0…0949c0             65 0d 0a 3b 0d 0a 69 6f 64 72 31 3a 09 3b 64 72 69 76 65 20 62 61 6e 6b 20 31 0d 0a 09 6f 75 74   ┆e  ;  iodr1: ;drive bank 1   out┆
0x0949c0…0949e0             09 69 6c 6f 77 2b 31 30 68 09 3b 38 38 20 66 6f 72 20 64 72 69 76 65 20 62 61 6e 6b 20 31 30 0d   ┆ ilow+10h ;88 for drive bank 10 ┆
0x0949e0…094a00             0a 09 6d 6f 76 09 61 2c 62 0d 0a 09 6f 75 74 09 69 68 69 67 68 2b 31 30 68 0d 0a 3b 0d 0a 77 61   ┆  mov a,b   out ihigh+10h  ;  wa┆
0x094a00…094a20 (39, 1, 5)  09 30 64 68 09 3b 63 61 72 72 69 61 67 65 20 72 65 74 75 72 6e 0d 0a 6c 66 09 65 71 75 09 30 61   ┆ 0dh ;carriage return  lf equ 0a┆
0x094a20…094a40             68 09 3b 6c 69 6e 65 20 66 65 65 64 0d 0a 3b 0d 0a 73 69 67 6e 6f 6e 3a 09 3b 73 69 67 6e 6f 6e   ┆h ;line feed  ;  signon: ;signon┆
0x094a40…094a60             20 6d 65 73 73 61 67 65 3a 20 78 78 6b 20 63 70 2f 6d 20 76 65 72 73 20 79 2e 79 0d 0a 09 64 62   ┆ message: xxk cp/m vers y.y   db┆
0x094a60…094a80             09 63 72 2c 6c 66 2c 6c 66 0d 0a 09 69 66 09 74 65 73 74 0d 0a 09 64 62 09 27 33 32 27 09 3b 33   ┆ cr,lf,lf   if test   db '32' ;3┆
0x094a80…094aa0             32 6b 20 65 78 61 6d 70 6c 65 20 62 69 6f 73 0d 0a 09 65 6e 64 69 66 0d 0a 09 69 66 09 6e 6f 74   ┆2k example bios   endif   if not┆
0x094aa0…094ac0             20 74 65 73 74 0d 0a 09 64 62 09 27 30 30 27 09 3b 6d 65 6d 6f 72 79 20 73 69 7a 65 20 66 69 6c   ┆ test   db '00' ;memory size fil┆
0x094ac0…094ae0             6c 65 64 20 62 79 20 72 65 6c 6f 63 61 74 6f 72 0d 0a 09 65 6e 64 69 66 0d 0a 09 64 62 09 27 6b   ┆led by relocator   endif   db 'k┆
0x094ae0…094b00             20 43 50 2f 4d 20 76 65 72 73 20 27 0d 0a 09 64 62 09 76 65 72 73 2f 31 30 2b 27 30 27 2c 27 2e   ┆ CP/M vers '   db vers/10+'0','.┆
0x094b00…094b20             27 2c 76 65 72 73 20 6d 6f 64 20 31 30 2b 27 30 27 0d 0a 09 64 62 09 63 72 2c 6c 66 2c 30 0d 0a   ┆',vers mod 10+'0'   db cr,lf,0  ┆
0x094b20…094b40             3b 0d 0a 62 6f 6f 74 3a 09 3b 70 72 69 6e 74 20 73 69 67 6e 6f 6e 20 6d 65 73 73 61 67 65 20 61   ┆;  boot: ;print signon message a┆
0x094b40…094b60             6e 64 20 67 6f 20 74 6f 20 63 63 70 0d 0a 3b 09 28 6e 6f 74 65 3a 20 6d 64 73 20 62 6f 6f 74 20   ┆nd go to ccp  ; (note: mds boot ┆
0x094b60…094b80             69 6e 69 74 69 61 6c 69 7a 65 64 20 69 6f 62 79 74 65 20 61 74 20 30 30 30 33 68 29 0d 0a 09 6c   ┆initialized iobyte at 0003h)   l┆
0x094b80…094ba0             78 69 09 73 70 2c 62 75 66 66 2b 38 30 68 0d 0a 09 6c 78 69 09 68 2c 73 69 67 6e 6f 6e 0d 0a 09   ┆xi sp,buff+80h   lxi h,signon   ┆
0x094ba0…094bc0             63 61 6c 6c 09 70 72 6d 73 67 09 3b 70 72 69 6e 74 20 6d 65 73 73 61 67 65 0d 0a 09 78 72 61 09   ┆call prmsg ;print message   xra ┆
0x094bc0…094be0             61 09 3b 63 6c 65 61 72 20 61 63 63 75 6d 75 6c 61 74 6f 72 0d 0a 09 73 74 61 09 63 64 69 73 6b   ┆a ;clear accumulator   sta cdisk┆
0x094be0…094c00             09 3b 73 65 74 20 69 6e 69 74 69 61 6c 6c 79 20 74 6f 20 64 69 73 6b 20 61 0d 0a 09 6a 6d 70 09   ┆ ;set initially to disk a   jmp ┆
0x094c00…094c20 (39, 1, 6)  0d 0a 09 6c 78 69 09 62 2c 62 75 66 66 0d 0a 09 63 61 6c 6c 09 73 65 74 64 6d 61 0d 0a 3b 0d 0a   ┆   lxi b,buff   call setdma  ;  ┆
0x094c20…094c40             3b 09 72 65 73 65 74 20 6d 6f 6e 69 74 6f 72 20 65 6e 74 72 79 20 70 6f 69 6e 74 73 0d 0a 09 6d   ┆; reset monitor entry points   m┆
0x094c40…094c60             76 69 09 61 2c 6a 6d 70 0d 0a 09 73 74 61 09 30 0d 0a 09 6c 78 69 09 68 2c 77 62 6f 6f 74 65 0d   ┆vi a,jmp   sta 0   lxi h,wboote ┆
0x094c60…094c80             0a 09 73 68 6c 64 09 31 09 3b 6a 6d 70 20 77 62 6f 6f 74 20 61 74 20 6c 6f 63 61 74 69 6f 6e 20   ┆  shld 1 ;jmp wboot at location ┆
0x094c80…094ca0             30 30 0d 0a 09 73 74 61 09 35 0d 0a 09 6c 78 69 09 68 2c 62 64 6f 73 0d 0a 09 73 68 6c 64 09 36   ┆00   sta 5   lxi h,bdos   shld 6┆
0x094ca0…094cc0             09 3b 6a 6d 70 20 62 64 6f 73 20 61 74 20 6c 6f 63 61 74 69 6f 6e 20 35 0d 0a 09 69 66 09 6e 6f   ┆ ;jmp bdos at location 5   if no┆
0x094cc0…094ce0             74 20 74 65 73 74 0d 0a 09 73 74 61 09 37 2a 38 09 3b 6a 6d 70 20 74 6f 20 6d 6f 6e 38 30 20 28   ┆t test   sta 7*8 ;jmp to mon80 (┆
0x094ce0…094d00             6d 61 79 20 68 61 76 65 20 62 65 65 6e 20 63 68 61 6e 67 65 64 20 62 79 20 64 64 74 29 0d 0a 09   ┆may have been changed by ddt)   ┆
0x094d00…094d20             6c 78 69 09 68 2c 6d 6f 6e 38 30 0d 0a 09 73 68 6c 64 09 37 2a 38 2b 31 0d 0a 09 65 6e 64 69 66   ┆lxi h,mon80   shld 7*8+1   endif┆
0x094d20…094d40             0d 0a 3b 09 6c 65 61 76 65 20 69 6f 62 79 74 65 20 73 65 74 0d 0a 3b 09 70 72 65 76 69 6f 75 73   ┆  ; leave iobyte set  ; previous┆
0x094d40…094d60             6c 79 20 73 65 6c 65 63 74 65 64 20 64 69 73 6b 20 77 61 73 20 62 2c 20 73 65 6e 64 20 70 61 72   ┆ly selected disk was b, send par┆
0x094d60…094d80             61 6d 65 74 65 72 20 74 6f 20 63 70 6d 0d 0a 09 6c 64 61 09 63 64 69 73 6b 09 3b 6c 61 73 74 20   ┆ameter to cpm   lda cdisk ;last ┆
0x094d80…094da0             6c 6f 67 67 65 64 20 64 69 73 6b 20 6e 75 6d 62 65 72 0d 0a 09 6d 6f 76 09 63 2c 61 09 3b 73 65   ┆logged disk number   mov c,a ;se┆
0x094da0…094dc0             6e 64 20 74 6f 20 63 63 70 20 74 6f 20 6c 6f 67 20 69 74 20 69 6e 0d 0a 09 65 69 0d 0a 09 6a 6d   ┆nd to ccp to log it in   ei   jm┆
0x094dc0…094de0             70 09 63 70 6d 62 0d 0a 3b 0d 0a 3b 09 65 72 72 6f 72 20 63 6f 6e 64 69 74 69 6f 6e 20 6f 63 63   ┆p cpmb  ;  ; error condition occ┆
0x094de0…094e00             75 72 72 65 64 2c 20 70 72 69 6e 74 20 6d 65 73 73 61 67 65 20 61 6e 64 20 72 65 74 72 79 0d 0a   ┆urred, print message and retry  ┆
0x094e00…094e20 (39, 1, 7)  73 65 74 20 74 72 61 63 6b 20 61 64 64 72 65 73 73 20 67 69 76 65 6e 20 62 79 20 63 0d 0a 09 6c   ┆set track address given by c   l┆
0x094e20…094e40             78 69 09 68 2c 69 6f 74 0d 0a 09 6d 6f 76 09 6d 2c 63 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 73 65 74   ┆xi h,iot   mov m,c   ret  ;  set┆
0x094e40…094e60             73 65 63 3a 09 3b 73 65 74 20 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 20 67 69 76 65 6e 20 62 79   ┆sec: ;set sector number given by┆
0x094e60…094e80             20 63 0d 0a 09 6c 78 69 09 68 2c 69 6f 73 0d 0a 09 6d 6f 76 09 6d 2c 63 0d 0a 09 72 65 74 0d 0a   ┆ c   lxi h,ios   mov m,c   ret  ┆
0x094e80…094ea0             73 65 63 74 72 61 6e 3a 0d 0a 09 09 3b 74 72 61 6e 73 6c 61 74 65 20 73 65 63 74 6f 72 20 62 63   ┆sectran:    ;translate sector bc┆
0x094ea0…094ec0             20 75 73 69 6e 67 20 74 61 62 6c 65 20 61 74 20 64 65 0d 0a 09 6d 76 69 09 62 2c 30 09 3b 64 6f   ┆ using table at de   mvi b,0 ;do┆
0x094ec0…094ee0             75 62 6c 65 20 70 72 65 63 69 73 69 6f 6e 20 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 20 69 6e 20   ┆uble precision sector number in ┆
0x094ee0…094f00             42 43 0d 0a 09 78 63 68 67 09 09 3b 74 72 61 6e 73 6c 61 74 65 20 74 61 62 6c 65 20 61 64 64 72   ┆BC   xchg  ;translate table addr┆
0x094f00…094f20             65 73 73 20 74 6f 20 48 4c 0d 0a 09 64 61 64 09 62 09 3b 74 72 61 6e 73 6c 61 74 65 28 73 65 63   ┆ess to HL   dad b ;translate(sec┆
0x094f20…094f40             74 6f 72 29 20 61 64 64 72 65 73 73 0d 0a 09 6d 6f 76 09 61 2c 6d 09 3b 74 72 61 6e 73 6c 61 74   ┆tor) address   mov a,m ;translat┆
0x094f40…094f60             65 64 20 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 20 74 6f 20 41 0d 0a 09 73 74 61 09 69 6f 73 0d   ┆ed sector number to A   sta ios ┆
0x094f60…094f80             0a 09 6d 6f 76 09 6c 2c 61 09 3b 72 65 74 75 72 6e 20 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 20   ┆  mov l,a ;return sector number ┆
0x094f80…094fa0             69 6e 20 4c 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 73 65 74 64 6d 61 3a 09 3b 73 65 74 20 64 6d 61 20   ┆in L   ret  ;  setdma: ;set dma ┆
0x094fa0…094fc0             61 64 64 72 65 73 73 20 67 69 76 65 6e 20 62 79 20 72 65 67 73 20 62 2c 63 0d 0a 09 6d 6f 76 09   ┆address given by regs b,c   mov ┆
0x094fc0…094fe0             6c 2c 63 0d 0a 09 6d 6f 76 09 68 2c 62 0d 0a 09 73 68 6c 64 09 69 6f 64 0d 0a 09 72 65 74 0d 0a   ┆l,c   mov h,b   shld iod   ret  ┆
0x094fe0…095000             3b 0d 0a 72 65 61 64 3a 09 3b 72 65 61 64 20 6e 65 78 74 20 64 69 73 6b 20 72 65 63 6f 72 64 20   ┆;  read: ;read next disk record ┆
0x095000…095020 (39, 1, 8)  69 74 30 3a 09 63 61 6c 6c 09 69 6e 73 74 61 74 09 09 3b 77 61 69 74 20 66 6f 72 20 63 6f 6d 70   ┆it0: call instat  ;wait for comp┆
0x095020…095040             6c 65 74 69 6f 6e 0d 0a 09 61 6e 69 09 69 6f 72 64 79 09 09 3b 72 65 61 64 79 3f 0d 0a 09 6a 7a   ┆letion   ani iordy  ;ready?   jz┆
0x095040…095060             09 77 61 69 74 30 0d 0a 3b 0d 0a 3b 09 63 68 65 63 6b 20 69 6f 20 63 6f 6d 70 6c 65 74 69 6f 6e   ┆ wait0  ;  ; check io completion┆
0x095060…095080             20 6f 6b 0d 0a 09 63 61 6c 6c 09 69 6e 74 79 70 65 09 09 3b 6d 75 73 74 20 62 65 20 69 6f 20 63   ┆ ok   call intype  ;must be io c┆
0x095080…0950a0             6f 6d 70 6c 65 74 65 20 28 30 30 29 20 75 6e 6c 69 6e 6b 65 64 0d 0a 3b 09 30 30 20 75 6e 6c 69   ┆omplete (00) unlinked  ; 00 unli┆
0x0950a0…0950c0             6e 6b 65 64 20 69 2f 6f 20 63 6f 6d 70 6c 65 74 65 2c 20 20 20 20 30 31 20 6c 69 6e 6b 65 64 20   ┆nked i/o complete,    01 linked ┆
0x0950c0…0950e0             69 2f 6f 20 63 6f 6d 70 6c 65 74 65 20 28 6e 6f 74 20 75 73 65 64 29 0d 0a 3b 09 31 30 20 64 69   ┆i/o complete (not used)  ; 10 di┆
0x0950e0…095100             73 6b 20 73 74 61 74 75 73 20 63 68 61 6e 67 65 64 20 20 20 20 20 20 20 31 31 20 28 6e 6f 74 20   ┆sk status changed       11 (not ┆
0x095100…095120             75 73 65 64 29 0d 0a 09 63 70 69 09 31 30 62 09 09 3b 72 65 61 64 79 20 73 74 61 74 75 73 20 63   ┆used)   cpi 10b  ;ready status c┆
0x095120…095140             68 61 6e 67 65 3f 0d 0a 09 6a 7a 09 77 72 65 61 64 79 0d 0a 3b 0d 0a 3b 09 6d 75 73 74 20 62 65   ┆hange?   jz wready  ;  ; must be┆
0x095140…095160             20 30 30 20 69 6e 20 74 68 65 20 61 63 63 75 6d 75 6c 61 74 6f 72 0d 0a 09 6f 72 61 09 61 0d 0a   ┆ 00 in the accumulator   ora a  ┆
0x095160…095180             09 6a 6e 7a 09 77 65 72 72 6f 72 09 09 3b 73 6f 6d 65 20 6f 74 68 65 72 20 63 6f 6e 64 69 74 69   ┆ jnz werror  ;some other conditi┆
0x095180…0951a0             6f 6e 2c 20 72 65 74 72 79 0d 0a 3b 0d 0a 3b 09 63 68 65 63 6b 20 69 2f 6f 20 65 72 72 6f 72 20   ┆on, retry  ;  ; check i/o error ┆
0x0951a0…0951c0             62 69 74 73 0d 0a 09 63 61 6c 6c 09 69 6e 62 79 74 65 0d 0a 09 72 61 6c 0d 0a 09 6a 63 09 77 72   ┆bits   call inbyte   ral   jc wr┆
0x0951c0…0951e0             65 61 64 79 09 09 3b 75 6e 69 74 20 6e 6f 74 20 72 65 61 64 79 0d 0a 09 72 61 72 0d 0a 09 61 6e   ┆eady  ;unit not ready   rar   an┆
0x0951e0…095200             69 09 31 31 31 31 31 31 31 30 62 09 3b 61 6e 79 20 6f 74 68 65 72 20 65 72 72 6f 72 73 3f 20 20   ┆i 11111110b ;any other errors?  ┆
0x095200…095220 (39, 1, 9)  67 6f 63 70 6d 09 3b 67 6f 20 74 6f 20 63 70 2f 6d 0d 0a 3b 0d 0a 3b 0d 0a 77 62 6f 6f 74 3a 3b   ┆gocpm ;go to cp/m  ;  ;  wboot:;┆
0x095220…095240             09 6c 6f 61 64 65 72 20 6f 6e 20 74 72 61 63 6b 20 30 2c 20 73 65 63 74 6f 72 20 31 2c 20 77 68   ┆ loader on track 0, sector 1, wh┆
0x095240…095260             69 63 68 20 77 69 6c 6c 20 62 65 20 73 6b 69 70 70 65 64 20 66 6f 72 20 77 61 72 6d 20 0d 0a 3b   ┆ich will be skipped for warm   ;┆
0x095260…095280             09 72 65 61 64 20 63 70 2f 6d 20 66 72 6f 6d 20 64 69 73 6b 20 2d 20 61 73 73 75 6d 69 6e 67 20   ┆ read cp/m from disk - assuming ┆
0x095280…0952a0             74 68 65 72 65 20 69 73 20 61 20 31 32 38 20 62 79 74 65 20 63 6f 6c 64 20 73 74 61 72 74 0d 0a   ┆there is a 128 byte cold start  ┆
0x0952a0…0952c0             3b 09 73 74 61 72 74 2e 0d 0a 3b 0d 0a 09 6c 78 69 09 73 70 2c 62 75 66 66 09 3b 75 73 69 6e 67   ┆; start.  ;   lxi sp,buff ;using┆
0x0952c0…0952e0             20 64 6d 61 20 2d 20 74 68 75 73 20 38 30 20 74 68 72 75 20 66 66 20 61 76 61 69 6c 61 62 6c 65   ┆ dma - thus 80 thru ff available┆
0x0952e0…095300             20 66 6f 72 20 73 74 61 63 6b 0d 0a 3b 0d 0a 09 6d 76 69 09 63 2c 72 65 74 72 79 09 3b 6d 61 78   ┆ for stack  ;   mvi c,retry ;max┆
0x095300…095320             20 72 65 74 72 69 65 73 0d 0a 09 70 75 73 68 09 62 0d 0a 77 62 6f 6f 74 30 3a 09 3b 65 6e 74 65   ┆ retries   push b  wboot0: ;ente┆
0x095320…095340             72 20 68 65 72 65 20 6f 6e 20 65 72 72 6f 72 20 72 65 74 72 69 65 73 0d 0a 09 6c 78 69 09 62 2c   ┆r here on error retries   lxi b,┆
0x095340…095360             63 70 6d 62 09 3b 73 65 74 20 64 6d 61 20 61 64 64 72 65 73 73 20 74 6f 20 73 74 61 72 74 20 6f   ┆cpmb ;set dma address to start o┆
0x095360…095380             66 20 64 69 73 6b 20 73 79 73 74 65 6d 0d 0a 09 63 61 6c 6c 09 73 65 74 64 6d 61 0d 0a 09 6d 76   ┆f disk system   call setdma   mv┆
0x095380…0953a0             69 09 63 2c 30 09 3b 62 6f 6f 74 20 66 72 6f 6d 20 64 72 69 76 65 20 30 0d 0a 09 63 61 6c 6c 09   ┆i c,0 ;boot from drive 0   call ┆
0x0953a0…0953c0             73 65 6c 64 73 6b 0d 0a 09 6d 76 69 09 63 2c 30 0d 0a 09 63 61 6c 6c 09 73 65 74 74 72 6b 09 3b   ┆seldsk   mvi c,0   call settrk ;┆
0x0953c0…0953e0             73 74 61 72 74 20 77 69 74 68 20 74 72 61 63 6b 20 30 0d 0a 09 6d 76 69 09 63 2c 32 09 3b 73 74   ┆start with track 0   mvi c,2 ;st┆
0x0953e0…095400             61 72 74 20 72 65 61 64 69 6e 67 20 73 65 63 74 6f 72 20 32 0d 0a 09 63 61 6c 6c 09 73 65 74 73   ┆art reading sector 2   call sets┆
0x095400…095420 (39, 1, 10) 62 6f 6f 74 65 72 72 3a 0d 0a 09 70 6f 70 09 62 09 3b 72 65 63 61 6c 6c 20 63 6f 75 6e 74 73 0d   ┆booterr:   pop b ;recall counts ┆
0x095420…095440             0a 09 64 63 72 09 63 0d 0a 09 6a 7a 09 62 6f 6f 74 65 72 30 0d 0a 3b 09 74 72 79 20 61 67 61 69   ┆  dcr c   jz booter0  ; try agai┆
0x095440…095460             6e 0d 0a 09 70 75 73 68 09 62 0d 0a 09 6a 6d 70 09 77 62 6f 6f 74 30 0d 0a 3b 0d 0a 62 6f 6f 74   ┆n   push b   jmp wboot0  ;  boot┆
0x095460…095480             65 72 30 3a 0d 0a 3b 09 6f 74 68 65 72 77 69 73 65 20 74 6f 6f 20 6d 61 6e 79 20 72 65 74 72 69   ┆er0:  ; otherwise too many retri┆
0x095480…0954a0             65 73 0d 0a 09 6c 78 69 09 68 2c 62 6f 6f 74 6d 73 67 0d 0a 09 63 61 6c 6c 09 70 72 6d 73 67 0d   ┆es   lxi h,bootmsg   call prmsg ┆
0x0954a0…0954c0             0a 09 6a 6d 70 09 72 6d 6f 6e 38 30 09 3b 6d 64 73 20 68 61 72 64 77 61 72 65 20 6d 6f 6e 69 74   ┆  jmp rmon80 ;mds hardware monit┆
0x0954c0…0954e0             6f 72 0d 0a 3b 0d 0a 62 6f 6f 74 6d 73 67 3a 0d 0a 09 64 62 09 27 3f 62 6f 6f 74 27 2c 30 0d 0a   ┆or  ;  bootmsg:   db '?boot',0  ┆
0x0954e0…095500             3b 0d 0a 3b 0d 0a 63 6f 6e 73 74 3a 09 3b 63 6f 6e 73 6f 6c 65 20 73 74 61 74 75 73 20 74 6f 20   ┆;  ;  const: ;console status to ┆
0x095500…095520             72 65 67 2d 61 0d 0a 3b 09 28 65 78 61 63 74 6c 79 20 74 68 65 20 73 61 6d 65 20 61 73 20 6d 64   ┆reg-a  ; (exactly the same as md┆
0x095520…095540             73 20 63 61 6c 6c 29 0d 0a 09 6a 6d 70 09 63 73 74 73 0d 0a 3b 0d 0a 63 6f 6e 69 6e 3a 09 3b 63   ┆s call)   jmp csts  ;  conin: ;c┆
0x095540…095560             6f 6e 73 6f 6c 65 20 63 68 61 72 61 63 74 65 72 20 74 6f 20 72 65 67 2d 61 0d 0a 09 63 61 6c 6c   ┆onsole character to reg-a   call┆
0x095560…095580             09 63 69 0d 0a 09 61 6e 69 09 37 66 68 09 3b 72 65 6d 6f 76 65 20 70 61 72 69 74 79 20 62 69 74   ┆ ci   ani 7fh ;remove parity bit┆
0x095580…0955a0             0d 0a 09 72 65 74 0d 0a 3b 0d 0a 63 6f 6e 6f 75 74 3a 09 3b 63 6f 6e 73 6f 6c 65 20 63 68 61 72   ┆   ret  ;  conout: ;console char┆
0x0955a0…0955c0             61 63 74 65 72 20 66 72 6f 6d 20 63 20 74 6f 20 63 6f 6e 73 6f 6c 65 20 6f 75 74 0d 0a 09 6a 6d   ┆acter from c to console out   jm┆
0x0955c0…0955e0             70 09 63 6f 0d 0a 3b 0d 0a 6c 69 73 74 3a 09 3b 6c 69 73 74 20 64 65 76 69 63 65 20 6f 75 74 0d   ┆p co  ;  list: ;list device out ┆
0x0955e0…095600             0a 3b 09 28 65 78 61 63 74 6c 79 20 74 68 65 20 73 61 6d 65 20 61 73 20 6d 64 73 20 63 61 6c 6c   ┆ ; (exactly the same as mds call┆
0x095600…095620 (39, 1, 11) 28 61 73 73 75 6d 69 6e 67 20 64 69 73 6b 2f 74 72 6b 2f 73 65 63 2f 64 6d 61 20 73 65 74 29 0d   ┆(assuming disk/trk/sec/dma set) ┆
0x095620…095640             0a 09 6d 76 69 09 63 2c 72 65 61 64 66 09 3b 73 65 74 20 74 6f 20 72 65 61 64 20 66 75 6e 63 74   ┆  mvi c,readf ;set to read funct┆
0x095640…095660             69 6f 6e 0d 0a 09 63 61 6c 6c 09 73 65 74 66 75 6e 63 0d 0a 09 63 61 6c 6c 09 77 61 69 74 69 6f   ┆ion   call setfunc   call waitio┆
0x095660…095680             09 3b 70 65 72 66 6f 72 6d 20 72 65 61 64 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 72 65 74 09 09 3b   ┆ ;perform read function   ret  ;┆
0x095680…0956a0             6d 61 79 20 68 61 76 65 20 65 72 72 6f 72 20 73 65 74 20 69 6e 20 72 65 67 2d 61 0d 0a 3b 0d 0a   ┆may have error set in reg-a  ;  ┆
0x0956a0…0956c0             3b 0d 0a 77 72 69 74 65 3a 09 3b 64 69 73 6b 20 77 72 69 74 65 20 66 75 6e 63 74 69 6f 6e 0d 0a   ┆;  write: ;disk write function  ┆
0x0956c0…0956e0             09 6d 76 69 09 63 2c 77 72 69 74 66 0d 0a 09 63 61 6c 6c 09 73 65 74 66 75 6e 63 09 3b 73 65 74   ┆ mvi c,writf   call setfunc ;set┆
0x0956e0…095700             20 74 6f 20 77 72 69 74 65 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 63 61 6c 6c 09 77 61 69 74 69 6f   ┆ to write function   call waitio┆
0x095700…095720             0d 0a 09 72 65 74 09 09 3b 6d 61 79 20 68 61 76 65 20 65 72 72 6f 72 20 73 65 74 0d 0a 3b 0d 0a   ┆   ret  ;may have error set  ;  ┆
0x095720…095740             3b 0d 0a 3b 09 75 74 69 6c 69 74 79 20 73 75 62 72 6f 75 74 69 6e 65 73 0d 0a 70 72 6d 73 67 3a   ┆;  ; utility subroutines  prmsg:┆
0x095740…095760             09 3b 70 72 69 6e 74 20 6d 65 73 73 61 67 65 20 61 74 20 68 2c 6c 20 74 6f 20 30 0d 0a 09 6d 6f   ┆ ;print message at h,l to 0   mo┆
0x095760…095780             76 09 61 2c 6d 0d 0a 09 6f 72 61 09 61 09 3b 7a 65 72 6f 3f 0d 0a 09 72 7a 0d 0a 3b 09 6d 6f 72   ┆v a,m   ora a ;zero?   rz  ; mor┆
0x095780…0957a0             65 20 74 6f 20 70 72 69 6e 74 0d 0a 09 70 75 73 68 09 68 0d 0a 09 6d 6f 76 09 63 2c 61 0d 0a 09   ┆e to print   push h   mov c,a   ┆
0x0957a0…0957c0             63 61 6c 6c 09 63 6f 6e 6f 75 74 0d 0a 09 70 6f 70 09 68 0d 0a 09 69 6e 78 09 68 0d 0a 09 6a 6d   ┆call conout   pop h   inx h   jm┆
0x0957c0…0957e0             70 09 70 72 6d 73 67 0d 0a 3b 0d 0a 73 65 74 66 75 6e 63 3a 0d 0a 3b 09 73 65 74 20 66 75 6e 63   ┆p prmsg  ;  setfunc:  ; set func┆
0x0957e0…095800             74 69 6f 6e 20 66 6f 72 20 6e 65 78 74 20 69 2f 6f 20 28 63 6f 6d 6d 61 6e 64 20 69 6e 20 72 65   ┆tion for next i/o (command in re┆
0x095800…095820 (39, 1, 12) 28 64 65 6c 65 74 65 64 20 64 61 74 61 20 6f 6b 29 0d 0a 09 6a 6e 7a 09 77 65 72 72 6f 72 0d 0a   ┆(deleted data ok)   jnz werror  ┆
0x095820…095840             3b 0d 0a 3b 09 72 65 61 64 20 6f 72 20 77 72 69 74 65 20 69 73 20 6f 6b 2c 20 61 63 63 75 6d 75   ┆;  ; read or write is ok, accumu┆
0x095840…095860             6c 61 74 6f 72 20 63 6f 6e 74 61 69 6e 73 20 7a 65 72 6f 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 77 72   ┆lator contains zero   ret  ;  wr┆
0x095860…095880             65 61 64 79 3a 09 3b 6e 6f 74 20 72 65 61 64 79 2c 20 74 72 65 61 74 20 61 73 20 65 72 72 6f 72   ┆eady: ;not ready, treat as error┆
0x095880…0958a0             20 66 6f 72 20 6e 6f 77 0d 0a 09 63 61 6c 6c 09 69 6e 62 79 74 65 09 09 3b 63 6c 65 61 72 20 72   ┆ for now   call inbyte  ;clear r┆
0x0958a0…0958c0             65 73 75 6c 74 20 62 79 74 65 0d 0a 09 6a 6d 70 09 74 72 79 63 6f 75 6e 74 0d 0a 3b 0d 0a 77 65   ┆esult byte   jmp trycount  ;  we┆
0x0958c0…0958e0             72 72 6f 72 3a 09 3b 72 65 74 75 72 6e 20 68 61 72 64 77 61 72 65 20 6d 61 6c 66 75 6e 63 74 69   ┆rror: ;return hardware malfuncti┆
0x0958e0…095900             6f 6e 20 28 63 72 63 2c 20 74 72 61 63 6b 2c 20 73 65 65 6b 2c 20 65 74 63 2e 29 0d 0a 3b 09 74   ┆on (crc, track, seek, etc.)  ; t┆
0x095900…095920             68 65 20 6d 64 73 20 63 6f 6e 74 72 6f 6c 6c 65 72 20 68 61 73 20 72 65 74 75 72 6e 65 64 20 61   ┆he mds controller has returned a┆
0x095920…095940             20 62 69 74 20 69 6e 20 65 61 63 68 20 70 6f 73 69 74 69 6f 6e 0d 0a 3b 09 6f 66 20 74 68 65 20   ┆ bit in each position  ; of the ┆
0x095940…095960             61 63 63 75 6d 75 6c 61 74 6f 72 2c 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 74 6f 20 74 68   ┆accumulator, corresponding to th┆
0x095960…095980             65 20 63 6f 6e 64 69 74 69 6f 6e 73 3a 0d 0a 3b 09 30 09 2d 20 64 65 6c 65 74 65 64 20 64 61 74   ┆e conditions:  ; 0 - deleted dat┆
0x095980…0959a0             61 20 28 61 63 63 65 70 74 65 64 20 61 73 20 6f 6b 20 61 62 6f 76 65 29 0d 0a 3b 09 31 09 2d 20   ┆a (accepted as ok above)  ; 1 - ┆
0x0959a0…0959c0             63 72 63 20 65 72 72 6f 72 0d 0a 3b 09 32 09 2d 20 73 65 65 6b 20 65 72 72 6f 72 0d 0a 3b 09 33   ┆crc error  ; 2 - seek error  ; 3┆
0x0959c0…0959e0             09 2d 20 61 64 64 72 65 73 73 20 65 72 72 6f 72 20 28 68 61 72 64 77 61 72 65 20 6d 61 6c 66 75   ┆ - address error (hardware malfu┆
0x0959e0…095a00             6e 63 74 69 6f 6e 29 0d 0a 3b 09 34 09 2d 20 64 61 74 61 20 6f 76 65 72 2f 75 6e 64 65 72 20 66   ┆nction)  ; 4 - data over/under f┆
0x095a00…095a20 (39, 1, 13) 65 63 0d 0a 3b 0d 0a 3b 09 72 65 61 64 20 73 65 63 74 6f 72 73 2c 20 63 6f 75 6e 74 20 6e 73 65   ┆ec  ;  ; read sectors, count nse┆
0x095a20…095a40             63 74 73 20 74 6f 20 7a 65 72 6f 0d 0a 09 70 6f 70 09 62 09 3b 31 30 2d 65 72 72 6f 72 20 63 6f   ┆cts to zero   pop b ;10-error co┆
0x095a40…095a60             75 6e 74 0d 0a 09 6d 76 69 09 62 2c 6e 73 65 63 74 73 0d 0a 72 64 73 65 63 3a 09 3b 72 65 61 64   ┆unt   mvi b,nsects  rdsec: ;read┆
0x095a60…095a80             20 6e 65 78 74 20 73 65 63 74 6f 72 0d 0a 09 70 75 73 68 09 62 09 3b 73 61 76 65 20 73 65 63 74   ┆ next sector   push b ;save sect┆
0x095a80…095aa0             6f 72 20 63 6f 75 6e 74 0d 0a 09 63 61 6c 6c 09 72 65 61 64 0d 0a 09 6a 6e 7a 09 62 6f 6f 74 65   ┆or count   call read   jnz boote┆
0x095aa0…095ac0             72 72 09 3b 72 65 74 72 79 20 69 66 20 65 72 72 6f 72 73 20 6f 63 63 75 72 0d 0a 09 6c 68 6c 64   ┆rr ;retry if errors occur   lhld┆
0x095ac0…095ae0             09 69 6f 64 09 3b 69 6e 63 72 65 6d 65 6e 74 20 64 6d 61 20 61 64 64 72 65 73 73 0d 0a 09 6c 78   ┆ iod ;increment dma address   lx┆
0x095ae0…095b00             69 09 64 2c 31 32 38 09 3b 73 65 63 74 6f 72 20 73 69 7a 65 0d 0a 09 64 61 64 09 64 09 3b 69 6e   ┆i d,128 ;sector size   dad d ;in┆
0x095b00…095b20             63 72 65 6d 65 6e 74 65 64 20 64 6d 61 20 61 64 64 72 65 73 73 20 69 6e 20 68 6c 0d 0a 09 6d 6f   ┆cremented dma address in hl   mo┆
0x095b20…095b40             76 09 62 2c 68 0d 0a 09 6d 6f 76 09 63 2c 6c 09 3b 72 65 61 64 79 20 66 6f 72 20 63 61 6c 6c 20   ┆v b,h   mov c,l ;ready for call ┆
0x095b40…095b60             74 6f 20 73 65 74 20 64 6d 61 0d 0a 09 63 61 6c 6c 09 73 65 74 64 6d 61 0d 0a 09 6c 64 61 09 69   ┆to set dma   call setdma   lda i┆
0x095b60…095b80             6f 73 09 3b 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 20 6a 75 73 74 20 72 65 61 64 0d 0a 09 63 70   ┆os ;sector number just read   cp┆
0x095b80…095ba0             69 09 32 36 09 3b 72 65 61 64 20 6c 61 73 74 20 73 65 63 74 6f 72 3f 0d 0a 09 6a 63 09 72 64 31   ┆i 26 ;read last sector?   jc rd1┆
0x095ba0…095bc0             0d 0a 3b 09 6d 75 73 74 20 62 65 20 73 65 63 74 6f 72 20 32 36 2c 20 7a 65 72 6f 20 61 6e 64 20   ┆  ; must be sector 26, zero and ┆
0x095bc0…095be0             67 6f 20 74 6f 20 6e 65 78 74 20 74 72 61 63 6b 0d 0a 09 6c 64 61 09 69 6f 74 09 3b 67 65 74 20   ┆go to next track   lda iot ;get ┆
0x095be0…095c00             74 72 61 63 6b 20 74 6f 20 72 65 67 69 73 74 65 72 20 61 0d 0a 09 69 6e 72 09 61 0d 0a 09 6d 6f   ┆track to register a   inr a   mo┆
0x095c00…095c20 (39, 1, 14) 29 0d 0a 09 6a 6d 70 09 6c 6f 0d 0a 3b 0d 0a 6c 69 73 74 73 74 3a 0d 0a 09 3b 72 65 74 75 72 6e   ┆)   jmp lo  ;  listst:   ;return┆
0x095c20…095c40             20 6c 69 73 74 20 73 74 61 74 75 73 0d 0a 09 78 72 61 09 61 0d 0a 09 72 65 74 09 09 3b 61 6c 77   ┆ list status   xra a   ret  ;alw┆
0x095c40…095c60             61 79 73 20 6e 6f 74 20 72 65 61 64 79 0d 0a 3b 0d 0a 70 75 6e 63 68 3a 09 3b 70 75 6e 63 68 20   ┆ays not ready  ;  punch: ;punch ┆
0x095c60…095c80             64 65 76 69 63 65 20 6f 75 74 0d 0a 3b 09 28 65 78 61 63 74 6c 79 20 74 68 65 20 73 61 6d 65 20   ┆device out  ; (exactly the same ┆
0x095c80…095ca0             61 73 20 6d 64 73 20 63 61 6c 6c 29 0d 0a 09 6a 6d 70 09 70 6f 0d 0a 3b 0d 0a 72 65 61 64 65 72   ┆as mds call)   jmp po  ;  reader┆
0x095ca0…095cc0             3a 09 3b 72 65 61 64 65 72 20 63 68 61 72 61 63 74 65 72 20 69 6e 20 74 6f 20 72 65 67 2d 61 0d   ┆: ;reader character in to reg-a ┆
0x095cc0…095ce0             0a 3b 09 28 65 78 61 63 74 6c 79 20 74 68 65 20 73 61 6d 65 20 61 73 20 6d 64 73 20 63 61 6c 6c   ┆ ; (exactly the same as mds call┆
0x095ce0…095d00             29 0d 0a 09 6a 6d 70 09 72 69 0d 0a 3b 0d 0a 68 6f 6d 65 3a 09 3b 6d 6f 76 65 20 74 6f 20 68 6f   ┆)   jmp ri  ;  home: ;move to ho┆
0x095d00…095d20             6d 65 20 70 6f 73 69 74 69 6f 6e 0d 0a 3b 09 74 72 65 61 74 20 61 73 20 74 72 61 63 6b 20 30 30   ┆me position  ; treat as track 00┆
0x095d20…095d40             20 73 65 65 6b 0d 0a 09 6d 76 69 09 63 2c 30 0d 0a 09 6a 6d 70 09 73 65 74 74 72 6b 0d 0a 3b 0d   ┆ seek   mvi c,0   jmp settrk  ; ┆
0x095d40…095d60             0a 73 65 6c 64 73 6b 3a 09 3b 73 65 6c 65 63 74 20 64 69 73 6b 20 67 69 76 65 6e 20 62 79 20 72   ┆ seldsk: ;select disk given by r┆
0x095d60…095d80             65 67 69 73 74 65 72 20 63 0d 0a 09 6c 78 69 09 68 2c 30 30 30 30 68 09 3b 72 65 74 75 72 6e 20   ┆egister c   lxi h,0000h ;return ┆
0x095d80…095da0             30 30 30 30 20 69 66 20 65 72 72 6f 72 0d 0a 09 6d 6f 76 09 61 2c 63 0d 0a 09 63 70 69 09 6e 64   ┆0000 if error   mov a,c   cpi nd┆
0x095da0…095dc0             69 73 6b 73 09 3b 74 6f 6f 20 6c 61 72 67 65 3f 0d 0a 09 72 6e 63 09 09 3b 6c 65 61 76 65 20 48   ┆isks ;too large?   rnc  ;leave H┆
0x095dc0…095de0             4c 20 3d 20 30 30 30 30 0d 0a 3b 0d 0a 09 61 6e 69 09 31 30 62 09 3b 30 30 20 30 30 20 66 6f 72   ┆L = 0000  ;   ani 10b ;00 00 for┆
0x095de0…095e00             20 64 72 69 76 65 20 30 2c 31 20 61 6e 64 20 31 30 20 31 30 20 66 6f 72 20 64 72 69 76 65 20 32   ┆ drive 0,1 and 10 10 for drive 2┆
0x095e00…095e20 (39, 1, 15) 67 2d 63 29 0d 0a 09 6c 78 69 09 68 2c 69 6f 66 09 3b 69 6f 20 66 75 6e 63 74 69 6f 6e 20 61 64   ┆g-c)   lxi h,iof ;io function ad┆
0x095e20…095e40             64 72 65 73 73 0d 0a 09 6d 6f 76 09 61 2c 6d 09 3b 67 65 74 20 69 74 20 74 6f 20 61 63 63 75 6d   ┆dress   mov a,m ;get it to accum┆
0x095e40…095e60             75 6c 61 74 6f 72 20 66 6f 72 20 6d 61 73 6b 69 6e 67 0d 0a 09 61 6e 69 09 31 31 31 31 31 30 30   ┆ulator for masking   ani 1111100┆
0x095e60…095e80             30 62 09 3b 72 65 6d 6f 76 65 20 70 72 65 76 69 6f 75 73 20 63 6f 6d 6d 61 6e 64 0d 0a 09 6f 72   ┆0b ;remove previous command   or┆
0x095e80…095ea0             61 09 63 09 3b 73 65 74 20 74 6f 20 6e 65 77 20 63 6f 6d 6d 61 6e 64 0d 0a 09 6d 6f 76 09 6d 2c   ┆a c ;set to new command   mov m,┆
0x095ea0…095ec0             61 09 3b 72 65 70 6c 61 63 65 64 20 69 6e 20 69 6f 70 62 0d 0a 3b 09 74 68 65 20 6d 64 73 2d 38   ┆a ;replaced in iopb  ; the mds-8┆
0x095ec0…095ee0             30 30 20 63 6f 6e 74 72 6f 6c 6c 65 72 20 72 65 71 75 69 72 65 73 20 64 69 73 6b 20 62 61 6e 6b   ┆00 controller requires disk bank┆
0x095ee0…095f00             20 62 69 74 20 69 6e 20 73 65 63 74 6f 72 20 62 79 74 65 0d 0a 3b 09 6d 61 73 6b 20 74 68 65 20   ┆ bit in sector byte  ; mask the ┆
0x095f00…095f20             62 69 74 20 66 72 6f 6d 20 74 68 65 20 63 75 72 72 65 6e 74 20 69 2f 6f 20 66 75 6e 63 74 69 6f   ┆bit from the current i/o functio┆
0x095f20…095f40             6e 0d 0a 09 61 6e 69 09 30 30 31 30 30 30 30 30 62 09 3b 6d 61 73 6b 20 74 68 65 20 64 69 73 6b   ┆n   ani 00100000b ;mask the disk┆
0x095f40…095f60             20 73 65 6c 65 63 74 20 62 69 74 0d 0a 09 6c 78 69 09 68 2c 69 6f 73 09 09 3b 61 64 64 72 65 73   ┆ select bit   lxi h,ios  ;addres┆
0x095f60…095f80             73 20 74 68 65 20 73 65 63 74 6f 72 20 73 65 6c 65 63 74 20 62 79 74 65 0d 0a 09 6f 72 61 09 6d   ┆s the sector select byte   ora m┆
0x095f80…095fa0             09 09 3b 73 65 6c 65 63 74 20 70 72 6f 70 65 72 20 64 69 73 6b 20 62 61 6e 6b 0d 0a 09 6d 6f 76   ┆  ;select proper disk bank   mov┆
0x095fa0…095fc0             09 6d 2c 61 09 09 3b 73 65 74 20 64 69 73 6b 20 73 65 6c 65 63 74 20 62 69 74 20 6f 6e 2f 6f 66   ┆ m,a  ;set disk select bit on/of┆
0x095fc0…095fe0             66 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 77 61 69 74 69 6f 3a 0d 0a 09 6d 76 69 09 63 2c 72 65 74 72   ┆f   ret  ;  waitio:   mvi c,retr┆
0x095fe0…096000             79 09 3b 6d 61 78 20 72 65 74 72 69 65 73 20 62 65 66 6f 72 65 20 70 65 72 6d 20 65 72 72 6f 72   ┆y ;max retries before perm error┆
0x096000…096020 (40, 0, 1)  6c 6f 77 20 28 68 61 72 64 77 61 72 65 20 6d 61 6c 66 75 6e 63 74 69 6f 6e 29 0d 0a 3b 09 35 09   ┆low (hardware malfunction)  ; 5 ┆
0x096020…096040             2d 20 77 72 69 74 65 20 70 72 6f 74 65 63 74 20 28 74 72 65 61 74 65 64 20 61 73 20 6e 6f 74 20   ┆- write protect (treated as not ┆
0x096040…096060             72 65 61 64 79 29 0d 0a 3b 09 36 09 2d 20 77 72 69 74 65 20 65 72 72 6f 72 20 28 68 61 72 64 77   ┆ready)  ; 6 - write error (hardw┆
0x096060…096080             61 72 65 20 6d 61 6c 66 75 6e 63 74 69 6f 6e 29 0d 0a 3b 09 37 09 2d 20 6e 6f 74 20 72 65 61 64   ┆are malfunction)  ; 7 - not read┆
0x096080…0960a0             79 0d 0a 3b 09 28 61 63 63 75 6d 75 6c 61 74 6f 72 20 62 69 74 73 20 61 72 65 20 6e 75 6d 62 65   ┆y  ; (accumulator bits are numbe┆
0x0960a0…0960c0             72 65 64 20 37 20 36 20 35 20 34 20 33 20 32 20 31 20 30 29 0d 0a 3b 0d 0a 3b 09 69 74 20 6d 61   ┆red 7 6 5 4 3 2 1 0)  ;  ; it ma┆
0x0960c0…0960e0             79 20 62 65 20 75 73 65 66 75 6c 20 74 6f 20 66 69 6c 74 65 72 20 6f 75 74 20 74 68 65 20 76 61   ┆y be useful to filter out the va┆
0x0960e0…096100             72 69 6f 75 73 20 63 6f 6e 64 69 74 69 6f 6e 73 2c 0d 0a 3b 09 62 75 74 20 77 65 20 77 69 6c 6c   ┆rious conditions,  ; but we will┆
0x096100…096120             20 67 65 74 20 61 20 70 65 72 6d 61 6e 65 6e 74 20 65 72 72 6f 72 20 6d 65 73 73 61 67 65 20 69   ┆ get a permanent error message i┆
0x096120…096140             66 20 69 74 20 69 73 20 6e 6f 74 0d 0a 3b 09 72 65 63 6f 76 65 72 61 62 6c 65 2e 20 20 69 6e 20   ┆f it is not  ; recoverable.  in ┆
0x096140…096160             61 6e 79 20 63 61 73 65 2c 20 74 68 65 20 6e 6f 74 20 72 65 61 64 79 20 63 6f 6e 64 69 74 69 6f   ┆any case, the not ready conditio┆
0x096160…096180             6e 20 69 73 0d 0a 3b 09 74 72 65 61 74 65 64 20 61 73 20 61 20 73 65 70 61 72 61 74 65 20 63 6f   ┆n is  ; treated as a separate co┆
0x096180…0961a0             6e 64 69 74 69 6f 6e 20 66 6f 72 20 6c 61 74 65 72 20 69 6d 70 72 6f 76 65 6d 65 6e 74 0d 0a 74   ┆ndition for later improvement  t┆
0x0961a0…0961c0             72 79 63 6f 75 6e 74 3a 0d 0a 3b 09 72 65 67 69 73 74 65 72 20 63 20 63 6f 6e 74 61 69 6e 73 20   ┆rycount:  ; register c contains ┆
0x0961c0…0961e0             72 65 74 72 79 20 63 6f 75 6e 74 2c 20 64 65 63 72 65 6d 65 6e 74 20 27 74 69 6c 20 7a 65 72 6f   ┆retry count, decrement 'til zero┆
0x0961e0…096200             0d 0a 09 64 63 72 09 63 0d 0a 09 6a 6e 7a 09 72 65 77 61 69 74 09 3b 66 6f 72 20 61 6e 6f 74 68   ┆   dcr c   jnz rewait ;for anoth┆
0x096200…096220 (40, 0, 2)  69 73 6b 20 74 72 61 63 6b 73 20 75 73 65 64 20 62 79 20 63 70 2f 6d 0d 0a 63 64 69 73 6b 09 65   ┆isk tracks used by cp/m  cdisk e┆
0x096220…096240             71 75 09 30 30 30 34 68 09 3b 61 64 64 72 65 73 73 20 6f 66 20 6c 61 73 74 20 6c 6f 67 67 65 64   ┆qu 0004h ;address of last logged┆
0x096240…096260             20 64 69 73 6b 20 6f 6e 20 77 61 72 6d 20 73 74 61 72 74 0d 0a 62 75 66 66 09 65 71 75 09 30 30   ┆ disk on warm start  buff equ 00┆
0x096260…096280             38 30 68 09 3b 64 65 66 61 75 6c 74 20 62 75 66 66 65 72 20 61 64 64 72 65 73 73 0d 0a 72 65 74   ┆80h ;default buffer address  ret┆
0x096280…0962a0             72 79 09 65 71 75 09 31 30 09 3b 6d 61 78 20 72 65 74 72 69 65 73 20 6f 6e 20 64 69 73 6b 20 69   ┆ry equ 10 ;max retries on disk i┆
0x0962a0…0962c0             2f 6f 20 62 65 66 6f 72 65 20 65 72 72 6f 72 0d 0a 3b 0d 0a 3b 09 70 65 72 66 6f 72 6d 20 66 6f   ┆/o before error  ;  ; perform fo┆
0x0962c0…0962e0             6c 6c 6f 77 69 6e 67 20 66 75 6e 63 74 69 6f 6e 73 0d 0a 3b 09 62 6f 6f 74 09 63 6f 6c 64 20 73   ┆llowing functions  ; boot cold s┆
0x0962e0…096300             74 61 72 74 0d 0a 3b 09 77 62 6f 6f 74 09 77 61 72 6d 20 73 74 61 72 74 20 28 73 61 76 65 20 69   ┆tart  ; wboot warm start (save i┆
0x096300…096320             2f 6f 20 62 79 74 65 29 0d 0a 3b 09 28 62 6f 6f 74 20 61 6e 64 20 77 62 6f 6f 74 20 61 72 65 20   ┆/o byte)  ; (boot and wboot are ┆
0x096320…096340             74 68 65 20 73 61 6d 65 20 66 6f 72 20 6d 64 73 29 0d 0a 3b 09 63 6f 6e 73 74 09 63 6f 6e 73 6f   ┆the same for mds)  ; const conso┆
0x096340…096360             6c 65 20 73 74 61 74 75 73 0d 0a 3b 09 09 72 65 67 2d 61 20 3d 20 30 30 20 69 66 20 6e 6f 20 63   ┆le status  ;  reg-a = 00 if no c┆
0x096360…096380             68 61 72 61 63 74 65 72 20 72 65 61 64 79 0d 0a 3b 09 09 72 65 67 2d 61 20 3d 20 66 66 20 69 66   ┆haracter ready  ;  reg-a = ff if┆
0x096380…0963a0             20 63 68 61 72 61 63 74 65 72 20 72 65 61 64 79 0d 0a 3b 09 63 6f 6e 69 6e 09 63 6f 6e 73 6f 6c   ┆ character ready  ; conin consol┆
0x0963a0…0963c0             65 20 63 68 61 72 61 63 74 65 72 20 69 6e 20 28 72 65 73 75 6c 74 20 69 6e 20 72 65 67 2d 61 29   ┆e character in (result in reg-a)┆
0x0963c0…0963e0             0d 0a 3b 09 63 6f 6e 6f 75 74 09 63 6f 6e 73 6f 6c 65 20 63 68 61 72 61 63 74 65 72 20 6f 75 74   ┆  ; conout console character out┆
0x0963e0…096400             20 28 63 68 61 72 20 69 6e 20 72 65 67 2d 63 29 0d 0a 3b 09 6c 69 73 74 09 6c 69 73 74 20 6f 75   ┆ (char in reg-c)  ; list list ou┆
0x096400…096420 (40, 0, 3)  6e 74 63 09 65 71 75 09 30 66 63 68 09 3b 69 6e 74 65 72 72 75 70 74 20 6d 61 73 6b 20 70 6f 72   ┆ntc equ 0fch ;interrupt mask por┆
0x096420…096440             74 0d 0a 69 63 6f 6e 09 65 71 75 09 30 66 33 68 09 3b 69 6e 74 65 72 72 75 70 74 20 63 6f 6e 74   ┆t  icon equ 0f3h ;interrupt cont┆
0x096440…096460             72 6f 6c 20 70 6f 72 74 0d 0a 69 6e 74 65 09 65 71 75 09 30 31 31 31 24 31 31 31 30 62 09 3b 65   ┆rol port  inte equ 0111$1110b ;e┆
0x096460…096480             6e 61 62 6c 65 20 72 73 74 20 30 28 77 61 72 6d 20 62 6f 6f 74 29 2c 20 72 73 74 20 37 20 28 6d   ┆nable rst 0(warm boot), rst 7 (m┆
0x096480…0964a0             6f 6e 69 74 6f 72 29 0d 0a 3b 0d 0a 3b 09 6d 64 73 20 6d 6f 6e 69 74 6f 72 20 65 71 75 61 74 65   ┆onitor)  ;  ; mds monitor equate┆
0x0964a0…0964c0             73 0d 0a 6d 6f 6e 38 30 09 65 71 75 09 30 66 38 30 30 68 09 3b 6d 64 73 20 6d 6f 6e 69 74 6f 72   ┆s  mon80 equ 0f800h ;mds monitor┆
0x0964c0…0964e0             0d 0a 72 6d 6f 6e 38 30 09 65 71 75 09 30 66 66 30 66 68 09 3b 72 65 73 74 61 72 74 20 6d 6f 6e   ┆  rmon80 equ 0ff0fh ;restart mon┆
0x0964e0…096500             38 30 20 28 62 6f 6f 74 20 65 72 72 6f 72 29 0d 0a 63 69 09 65 71 75 09 30 66 38 30 33 68 09 3b   ┆80 (boot error)  ci equ 0f803h ;┆
0x096500…096520             63 6f 6e 73 6f 6c 65 20 63 68 61 72 61 63 74 65 72 20 74 6f 20 72 65 67 2d 61 0d 0a 72 69 09 65   ┆console character to reg-a  ri e┆
0x096520…096540             71 75 09 30 66 38 30 36 68 09 3b 72 65 61 64 65 72 20 69 6e 20 74 6f 20 72 65 67 2d 61 0d 0a 63   ┆qu 0f806h ;reader in to reg-a  c┆
0x096540…096560             6f 09 65 71 75 09 30 66 38 30 39 68 09 3b 63 6f 6e 73 6f 6c 65 20 63 68 61 72 20 66 72 6f 6d 20   ┆o equ 0f809h ;console char from ┆
0x096560…096580             63 20 74 6f 20 63 6f 6e 73 6f 6c 65 20 6f 75 74 0d 0a 70 6f 09 65 71 75 09 30 66 38 30 63 68 09   ┆c to console out  po equ 0f80ch ┆
0x096580…0965a0             3b 70 75 6e 63 68 20 63 68 61 72 20 66 72 6f 6d 20 63 20 74 6f 20 70 75 6e 63 68 20 64 65 76 69   ┆;punch char from c to punch devi┆
0x0965a0…0965c0             63 65 0d 0a 6c 6f 09 65 71 75 09 30 66 38 30 66 68 09 3b 6c 69 73 74 20 66 72 6f 6d 20 63 20 74   ┆ce  lo equ 0f80fh ;list from c t┆
0x0965c0…0965e0             6f 20 6c 69 73 74 20 64 65 76 69 63 65 0d 0a 63 73 74 73 09 65 71 75 09 30 66 38 31 32 68 09 3b   ┆o list device  csts equ 0f812h ;┆
0x0965e0…096600             63 6f 6e 73 6f 6c 65 20 73 74 61 74 75 73 20 30 30 2f 66 66 20 74 6f 20 72 65 67 69 73 74 65 72   ┆console status 00/ff to register┆
0x096600…096620 (40, 0, 4)  3b 72 65 61 64 20 6e 65 78 74 20 73 65 63 74 6f 72 0d 0a 09 70 75 73 68 09 62 09 3b 73 61 76 65   ┆;read next sector   push b ;save┆
0x096620…096640             20 73 65 63 74 6f 72 20 63 6f 75 6e 74 0d 0a 09 63 61 6c 6c 09 72 65 61 64 0d 0a 09 6a 6e 7a 09   ┆ sector count   call read   jnz ┆
0x096640…096660             62 6f 6f 74 65 72 72 09 3b 72 65 74 72 79 20 69 66 20 65 72 72 6f 72 73 20 6f 63 63 75 72 0d 0a   ┆booterr ;retry if errors occur  ┆
0x096660…096680             09 6c 68 6c 64 09 69 6f 64 09 3b 69 6e 63 72 65 6d 65 6e 74 20 64 6d 61 20 61 64 64 72 65 73 73   ┆ lhld iod ;increment dma address┆
0x096680…0966a0             0d 0a 09 6c 78 69 09 64 2c 31 32 38 09 3b 73 65 63 74 6f 72 20 73 69 7a 65 0d 0a 09 64 61 64 09   ┆   lxi d,128 ;sector size   dad ┆
0x0966a0…0966c0             64 09 3b 69 6e 63 72 65 6d 65 6e 74 65 64 20 64 6d 61 20 61 64 64 72 65 73 73 20 69 6e 20 68 6c   ┆d ;incremented dma address in hl┆
0x0966c0…0966e0             0d 0a 09 6d 6f 76 09 62 2c 68 0d 0a 09 6d 6f 76 09 63 2c 6c 09 3b 72 65 61 64 79 20 66 6f 72 20   ┆   mov b,h   mov c,l ;ready for ┆
0x0966e0…096700             63 61 6c 6c 20 74 6f 20 73 65 74 20 64 6d 61 0d 0a 09 63 61 6c 6c 09 73 65 74 64 6d 61 0d 0a 09   ┆call to set dma   call setdma   ┆
0x096700…096720             6c 64 61 09 69 6f 73 09 3b 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 20 6a 75 73 74 20 72 65 61 64   ┆lda ios ;sector number just read┆
0x096720…096740             0d 0a 09 63 70 69 09 32 36 09 3b 72 65 61 64 20 6c 61 73 74 20 73 65 63 74 6f 72 3f 0d 0a 09 6a   ┆   cpi 26 ;read last sector?   j┆
0x096740…096760             63 09 72 64 31 0d 0a 3b 09 6d 75 73 74 20 62 65 20 73 65 63 74 6f 72 20 32 36 2c 20 7a 65 72 6f   ┆c rd1  ; must be sector 26, zero┆
0x096760…096780             20 61 6e 64 20 67 6f 20 74 6f 20 6e 65 78 74 20 74 72 61 63 6b 0d 0a 09 6c 64 61 09 69 6f 74 09   ┆ and go to next track   lda iot ┆
0x096780…0967a0             3b 67 65 74 20 74 72 61 63 6b 20 74 6f 20 72 65 67 69 73 74 65 72 20 61 0d 0a 09 69 6e 72 09 61   ┆;get track to register a   inr a┆
0x0967a0…0967c0             0d 0a 09 6d 6f 76 09 63 2c 61 09 3b 72 65 61 64 79 20 66 6f 72 20 63 61 6c 6c 0d 0a 09 63 61 6c   ┆   mov c,a ;ready for call   cal┆
0x0967c0…0967e0             6c 09 73 65 74 74 72 6b 0d 0a 09 78 72 61 09 61 09 3b 63 6c 65 61 72 20 73 65 63 74 6f 72 20 6e   ┆l settrk   xra a ;clear sector n┆
0x0967e0…096800             75 6d 62 65 72 0d 0a 72 64 31 3a 09 69 6e 72 09 61 09 3b 74 6f 20 6e 65 78 74 20 73 65 63 74 6f   ┆umber  rd1: inr a ;to next secto┆
0x096800…096820 (40, 0, 5)  65 72 20 74 72 79 0d 0a 3b 0d 0a 3b 09 63 61 6e 6e 6f 74 20 72 65 63 6f 76 65 72 20 66 72 6f 6d   ┆er try  ;  ; cannot recover from┆
0x096820…096840             20 65 72 72 6f 72 0d 0a 09 6d 76 69 09 61 2c 31 09 3b 65 72 72 6f 72 20 63 6f 64 65 0d 0a 09 72   ┆ error   mvi a,1 ;error code   r┆
0x096840…096860             65 74 0d 0a 3b 0d 0a 3b 09 69 6e 74 79 70 65 2c 20 69 6e 62 79 74 65 2c 20 69 6e 73 74 61 74 20   ┆et  ;  ; intype, inbyte, instat ┆
0x096860…096880             72 65 61 64 20 64 72 69 76 65 20 62 61 6e 6b 20 30 30 20 6f 72 20 31 30 0d 0a 69 6e 74 79 70 65   ┆read drive bank 00 or 10  intype┆
0x096880…0968a0             3a 09 6c 64 61 09 64 62 61 6e 6b 0d 0a 09 6f 72 61 09 61 0d 0a 09 6a 6e 7a 09 69 6e 74 79 70 31   ┆: lda dbank   ora a   jnz intyp1┆
0x0968a0…0968c0             09 3b 73 6b 69 70 20 74 6f 20 62 61 6e 6b 20 31 30 0d 0a 09 69 6e 09 72 74 79 70 65 0d 0a 09 72   ┆ ;skip to bank 10   in rtype   r┆
0x0968c0…0968e0             65 74 0d 0a 69 6e 74 79 70 31 3a 09 69 6e 09 72 74 79 70 65 2b 31 30 68 09 3b 37 38 20 66 6f 72   ┆et  intyp1: in rtype+10h ;78 for┆
0x0968e0…096900             20 30 2c 31 20 20 38 38 20 66 6f 72 20 32 2c 33 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 69 6e 62 79 74   ┆ 0,1  88 for 2,3   ret  ;  inbyt┆
0x096900…096920             65 3a 09 6c 64 61 09 64 62 61 6e 6b 0d 0a 09 6f 72 61 09 61 0d 0a 09 6a 6e 7a 09 69 6e 62 79 74   ┆e: lda dbank   ora a   jnz inbyt┆
0x096920…096940             31 0d 0a 09 69 6e 09 72 62 79 74 65 0d 0a 09 72 65 74 0d 0a 69 6e 62 79 74 31 3a 09 69 6e 09 72   ┆1   in rbyte   ret  inbyt1: in r┆
0x096940…096960             62 79 74 65 2b 31 30 68 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 69 6e 73 74 61 74 3a 09 6c 64 61 09 64   ┆byte+10h   ret  ;  instat: lda d┆
0x096960…096980             62 61 6e 6b 0d 0a 09 6f 72 61 09 61 0d 0a 09 6a 6e 7a 09 69 6e 73 74 61 31 0d 0a 09 69 6e 09 64   ┆bank   ora a   jnz insta1   in d┆
0x096980…0969a0             73 74 61 74 0d 0a 09 72 65 74 0d 0a 69 6e 73 74 61 31 3a 09 69 6e 09 64 73 74 61 74 2b 31 30 68   ┆stat   ret  insta1: in dstat+10h┆
0x0969a0…0969c0             0d 0a 09 72 65 74 0d 0a 3b 0d 0a 3b 0d 0a 3b 0d 0a 3b 09 64 61 74 61 20 61 72 65 61 73 20 28 6d   ┆   ret  ;  ;  ;  ; data areas (m┆
0x0969c0…0969e0             75 73 74 20 62 65 20 69 6e 20 72 61 6d 29 0d 0a 64 62 61 6e 6b 3a 09 64 62 09 30 09 3b 64 69 73   ┆ust be in ram)  dbank: db 0 ;dis┆
0x0969e0…096a00             6b 20 62 61 6e 6b 20 30 30 20 69 66 20 64 72 69 76 65 20 30 2c 31 0d 0a 09 09 09 3b 09 20 20 20   ┆k bank 00 if drive 0,1     ;    ┆
0x096a00…096a20 (40, 0, 6)  74 20 28 63 68 61 72 20 69 6e 20 72 65 67 2d 63 29 0d 0a 3b 09 70 75 6e 63 68 09 70 75 6e 63 68   ┆t (char in reg-c)  ; punch punch┆
0x096a20…096a40             20 6f 75 74 20 28 63 68 61 72 20 69 6e 20 72 65 67 2d 63 29 0d 0a 3b 09 72 65 61 64 65 72 09 70   ┆ out (char in reg-c)  ; reader p┆
0x096a40…096a60             61 70 65 72 20 74 61 70 65 20 72 65 61 64 65 72 20 69 6e 20 28 72 65 73 75 6c 74 20 74 6f 20 72   ┆aper tape reader in (result to r┆
0x096a60…096a80             65 67 2d 61 29 0d 0a 3b 09 68 6f 6d 65 09 6d 6f 76 65 20 74 6f 20 74 72 61 63 6b 20 30 30 0d 0a   ┆eg-a)  ; home move to track 00  ┆
0x096a80…096aa0             3b 0d 0a 3b 09 28 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 61 6c 6c 73 20 73 65 74 2d 75 70   ┆;  ; (the following calls set-up┆
0x096aa0…096ac0             20 74 68 65 20 69 6f 20 70 61 72 61 6d 65 74 65 72 20 62 6c 6f 63 6b 20 66 6f 72 20 74 68 65 0d   ┆ the io parameter block for the ┆
0x096ac0…096ae0             0a 3b 09 6d 64 73 2c 20 77 68 69 63 68 20 69 73 20 75 73 65 64 20 74 6f 20 70 65 72 66 6f 72 6d   ┆ ; mds, which is used to perform┆
0x096ae0…096b00             20 73 75 62 73 65 71 75 65 6e 74 20 72 65 61 64 73 20 61 6e 64 20 77 72 69 74 65 73 29 0d 0a 3b   ┆ subsequent reads and writes)  ;┆
0x096b00…096b20             09 73 65 6c 64 73 6b 09 73 65 6c 65 63 74 20 64 69 73 6b 20 67 69 76 65 6e 20 62 79 20 72 65 67   ┆ seldsk select disk given by reg┆
0x096b20…096b40             2d 63 20 28 30 2c 31 2c 32 2e 2e 2e 29 0d 0a 3b 09 73 65 74 74 72 6b 09 73 65 74 20 74 72 61 63   ┆-c (0,1,2...)  ; settrk set trac┆
0x096b40…096b60             6b 20 61 64 64 72 65 73 73 20 28 30 2c 2e 2e 2e 37 36 29 20 66 6f 72 20 73 75 62 73 65 71 75 65   ┆k address (0,...76) for subseque┆
0x096b60…096b80             6e 74 20 72 65 61 64 2f 77 72 69 74 65 0d 0a 3b 09 73 65 74 73 65 63 09 73 65 74 20 73 65 63 74   ┆nt read/write  ; setsec set sect┆
0x096b80…096ba0             6f 72 20 61 64 64 72 65 73 73 20 28 31 2c 2e 2e 2e 2c 32 36 29 20 66 6f 72 20 73 75 62 73 65 71   ┆or address (1,...,26) for subseq┆
0x096ba0…096bc0             75 65 6e 74 20 72 65 61 64 2f 77 72 69 74 65 0d 0a 3b 09 73 65 74 64 6d 61 09 73 65 74 20 73 75   ┆uent read/write  ; setdma set su┆
0x096bc0…096be0             62 73 65 71 75 65 6e 74 20 64 6d 61 20 61 64 64 72 65 73 73 20 28 69 6e 69 74 69 61 6c 6c 79 20   ┆bsequent dma address (initially ┆
0x096be0…096c00             38 30 68 29 0d 0a 3b 0d 0a 3b 09 28 72 65 61 64 20 61 6e 64 20 77 72 69 74 65 20 61 73 73 75 6d   ┆80h)  ;  ; (read and write assum┆
0x096c00…096c20 (40, 0, 7)  20 61 0d 0a 3b 0d 0a 3b 09 64 69 73 6b 20 70 6f 72 74 73 20 61 6e 64 20 63 6f 6d 6d 61 6e 64 73   ┆ a  ;  ; disk ports and commands┆
0x096c20…096c40             0d 0a 62 61 73 65 09 65 71 75 09 37 38 68 09 3b 62 61 73 65 20 6f 66 20 64 69 73 6b 20 63 6f 6d   ┆  base equ 78h ;base of disk com┆
0x096c40…096c60             6d 61 6e 64 20 69 6f 20 70 6f 72 74 73 0d 0a 64 73 74 61 74 09 65 71 75 09 62 61 73 65 09 3b 64   ┆mand io ports  dstat equ base ;d┆
0x096c60…096c80             69 73 6b 20 73 74 61 74 75 73 20 28 69 6e 70 75 74 29 0d 0a 72 74 79 70 65 09 65 71 75 09 62 61   ┆isk status (input)  rtype equ ba┆
0x096c80…096ca0             73 65 2b 31 09 3b 72 65 73 75 6c 74 20 74 79 70 65 20 28 69 6e 70 75 74 29 0d 0a 72 62 79 74 65   ┆se+1 ;result type (input)  rbyte┆
0x096ca0…096cc0             09 65 71 75 09 62 61 73 65 2b 33 09 3b 72 65 73 75 6c 74 20 62 79 74 65 20 28 69 6e 70 75 74 29   ┆ equ base+3 ;result byte (input)┆
0x096cc0…096ce0             0d 0a 3b 0d 0a 69 6c 6f 77 09 65 71 75 09 62 61 73 65 2b 31 09 3b 69 6f 70 62 20 6c 6f 77 20 61   ┆  ;  ilow equ base+1 ;iopb low a┆
0x096ce0…096d00             64 64 72 65 73 73 20 28 6f 75 74 70 75 74 29 0d 0a 69 68 69 67 68 09 65 71 75 09 62 61 73 65 2b   ┆ddress (output)  ihigh equ base+┆
0x096d00…096d20             32 09 3b 69 6f 70 62 20 68 69 67 68 20 61 64 64 72 65 73 73 20 28 6f 75 74 70 75 74 29 0d 0a 3b   ┆2 ;iopb high address (output)  ;┆
0x096d20…096d40             0d 0a 72 65 61 64 66 09 65 71 75 09 34 68 09 3b 72 65 61 64 20 66 75 6e 63 74 69 6f 6e 0d 0a 77   ┆  readf equ 4h ;read function  w┆
0x096d40…096d60             72 69 74 66 09 65 71 75 09 36 68 09 3b 77 72 69 74 65 20 66 75 6e 63 74 69 6f 6e 0d 0a 72 65 63   ┆ritf equ 6h ;write function  rec┆
0x096d60…096d80             61 6c 09 65 71 75 09 33 68 09 3b 72 65 63 61 6c 69 62 72 61 74 65 20 64 72 69 76 65 0d 0a 69 6f   ┆al equ 3h ;recalibrate drive  io┆
0x096d80…096da0             72 64 79 09 65 71 75 09 34 68 09 3b 69 2f 6f 20 66 69 6e 69 73 68 65 64 20 6d 61 73 6b 0d 0a 63   ┆rdy equ 4h ;i/o finished mask  c┆
0x096da0…096dc0             72 09 65 71 75 09 30 64 68 09 3b 63 61 72 72 69 61 67 65 20 72 65 74 75 72 6e 0d 0a 6c 66 09 65   ┆r equ 0dh ;carriage return  lf e┆
0x096dc0…096de0             71 75 09 30 61 68 09 3b 6c 69 6e 65 20 66 65 65 64 0d 0a 3b 0d 0a 73 69 67 6e 6f 6e 3a 09 3b 73   ┆qu 0ah ;line feed  ;  signon: ;s┆
0x096de0…096e00             69 67 6e 6f 6e 20 6d 65 73 73 61 67 65 3a 20 78 78 6b 20 63 70 2f 6d 20 76 65 72 73 20 79 2e 79   ┆ignon message: xxk cp/m vers y.y┆
0x096e00…096e20 (40, 0, 8)  72 0d 0a 09 6d 6f 76 09 63 2c 61 09 3b 72 65 61 64 79 20 66 6f 72 20 63 61 6c 6c 0d 0a 09 63 61   ┆r   mov c,a ;ready for call   ca┆
0x096e20…096e40             6c 6c 09 73 65 74 73 65 63 0d 0a 09 70 6f 70 09 62 09 3b 72 65 63 61 6c 6c 20 73 65 63 74 6f 72   ┆ll setsec   pop b ;recall sector┆
0x096e40…096e60             20 63 6f 75 6e 74 0d 0a 09 64 63 72 09 62 09 3b 64 6f 6e 65 3f 0d 0a 09 6a 6e 7a 09 72 64 73 65   ┆ count   dcr b ;done?   jnz rdse┆
0x096e60…096e80             63 0d 0a 3b 0d 0a 3b 09 64 6f 6e 65 20 77 69 74 68 20 74 68 65 20 6c 6f 61 64 2c 20 72 65 73 65   ┆c  ;  ; done with the load, rese┆
0x096e80…096ea0             74 20 64 65 66 61 75 6c 74 20 62 75 66 66 65 72 20 61 64 64 72 65 73 73 0d 0a 67 6f 63 70 6d 3a   ┆t default buffer address  gocpm:┆
0x096ea0…096ec0             09 3b 28 65 6e 74 65 72 20 68 65 72 65 20 66 72 6f 6d 20 63 6f 6c 64 20 73 74 61 72 74 20 62 6f   ┆ ;(enter here from cold start bo┆
0x096ec0…096ee0             6f 74 29 0d 0a 3b 09 65 6e 61 62 6c 65 20 72 73 74 30 20 61 6e 64 20 72 73 74 37 0d 0a 09 64 69   ┆ot)  ; enable rst0 and rst7   di┆
0x096ee0…096f00             0d 0a 09 6d 76 69 09 61 2c 31 32 68 09 3b 69 6e 69 74 69 61 6c 69 7a 65 20 63 6f 6d 6d 61 6e 64   ┆   mvi a,12h ;initialize command┆
0x096f00…096f20             0d 0a 09 6f 75 74 09 72 65 76 72 74 0d 0a 09 78 72 61 09 61 0d 0a 09 6f 75 74 09 69 6e 74 63 09   ┆   out revrt   xra a   out intc ┆
0x096f20…096f40             3b 63 6c 65 61 72 65 64 0d 0a 09 6d 76 69 09 61 2c 69 6e 74 65 09 3b 72 73 74 30 20 61 6e 64 20   ┆;cleared   mvi a,inte ;rst0 and ┆
0x096f40…096f60             72 73 74 37 20 62 69 74 73 20 6f 6e 0d 0a 09 6f 75 74 09 69 6e 74 63 0d 0a 09 78 72 61 09 61 0d   ┆rst7 bits on   out intc   xra a ┆
0x096f60…096f80             0a 09 6f 75 74 09 69 63 6f 6e 09 3b 69 6e 74 65 72 72 75 70 74 20 63 6f 6e 74 72 6f 6c 0d 0a 3b   ┆  out icon ;interrupt control  ;┆
0x096f80…096fa0             0d 0a 3b 09 73 65 74 20 64 65 66 61 75 6c 74 20 62 75 66 66 65 72 20 61 64 64 72 65 73 73 20 74   ┆  ; set default buffer address t┆
0x096fa0…096fc0             6f 20 38 30 68 0d 0a 09 6c 78 69 09 62 2c 62 75 66 66 0d 0a 09 63 61 6c 6c 09 73 65 74 64 6d 61   ┆o 80h   lxi b,buff   call setdma┆
0x096fc0…096fe0             0d 0a 3b 0d 0a 3b 09 72 65 73 65 74 20 6d 6f 6e 69 74 6f 72 20 65 6e 74 72 79 20 70 6f 69 6e 74   ┆  ;  ; reset monitor entry point┆
0x096fe0…097000             73 0d 0a 09 6d 76 69 09 61 2c 6a 6d 70 0d 0a 09 73 74 61 09 30 0d 0a 09 6c 78 69 09 68 2c 77 62   ┆s   mvi a,jmp   sta 0   lxi h,wb┆
0x097000…097020 (40, 0, 9)  31 30 20 69 66 20 64 72 69 76 65 20 32 2c 33 0d 0a 69 6f 70 62 3a 09 3b 69 6f 20 70 61 72 61 6d   ┆10 if drive 2,3  iopb: ;io param┆
0x097020…097040             65 74 65 72 20 62 6c 6f 63 6b 0d 0a 09 64 62 09 38 30 68 09 3b 6e 6f 72 6d 61 6c 20 69 2f 6f 20   ┆eter block   db 80h ;normal i/o ┆
0x097040…097060             6f 70 65 72 61 74 69 6f 6e 0d 0a 69 6f 66 3a 09 64 62 09 72 65 61 64 66 09 3b 69 6f 20 66 75 6e   ┆operation  iof: db readf ;io fun┆
0x097060…097080             63 74 69 6f 6e 2c 20 69 6e 69 74 69 61 6c 20 72 65 61 64 0d 0a 69 6f 6e 3a 09 64 62 09 31 09 3b   ┆ction, initial read  ion: db 1 ;┆
0x097080…0970a0             6e 75 6d 62 65 72 20 6f 66 20 73 65 63 74 6f 72 73 20 74 6f 20 72 65 61 64 0d 0a 69 6f 74 3a 09   ┆number of sectors to read  iot: ┆
0x0970a0…0970c0             64 62 09 6f 66 66 73 65 74 09 3b 74 72 61 63 6b 20 6e 75 6d 62 65 72 0d 0a 69 6f 73 3a 09 64 62   ┆db offset ;track number  ios: db┆
0x0970c0…0970e0             09 31 09 3b 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 0d 0a 69 6f 64 3a 09 64 77 09 62 75 66 66 09   ┆ 1 ;sector number  iod: dw buff ┆
0x0970e0…097100             3b 69 6f 20 61 64 64 72 65 73 73 0d 0a 3b 0d 0a 3b 0d 0a 3b 09 64 65 66 69 6e 65 20 72 61 6d 20   ┆;io address  ;  ;  ; define ram ┆
0x097100…097120             61 72 65 61 73 20 66 6f 72 20 62 64 6f 73 20 6f 70 65 72 61 74 69 6f 6e 0d 0a 09 65 6e 64 65 66   ┆areas for bdos operation   endef┆
0x097120…097140             0d 0a 09 65 6e 64 0d 0a 3b 09 4d 44 53 2d 38 30 30 20 49 2f 4f 20 44 72 69 76 65 72 73 20 66 6f   ┆   end  ; MDS-800 I/O Drivers fo┆
0x097140…097160             72 20 43 50 2f 4d 20 32 2e 32 0d 0a 3b 09 28 66 6f 75 72 20 64 72 69 76 65 20 73 69 6e 67 6c 65   ┆r CP/M 2.2  ; (four drive single┆
0x097160…097180             20 64 65 6e 73 69 74 79 20 76 65 72 73 69 6f 6e 29 0d 0a 3b 0d 0a 3b 09 56 65 72 73 69 6f 6e 20   ┆ density version)  ;  ; Version ┆
0x097180…0971a0             32 2e 32 20 46 65 62 72 75 61 72 79 2c 20 31 39 38 30 0d 0a 3b 0d 0a 76 65 72 73 09 65 71 75 09   ┆2.2 February, 1980  ;  vers equ ┆
0x0971a0…0971c0             32 32 09 3b 76 65 72 73 69 6f 6e 20 32 2e 32 0d 0a 3b 0d 0a 3b 09 43 6f 70 79 72 69 67 68 74 20   ┆22 ;version 2.2  ;  ; Copyright ┆
0x0971c0…0971e0             28 63 29 20 31 39 38 30 0d 0a 3b 09 44 69 67 69 74 61 6c 20 52 65 73 65 61 72 63 68 0d 0a 3b 09   ┆(c) 1980  ; Digital Research  ; ┆
0x0971e0…097200             42 6f 78 20 35 37 39 2c 20 50 61 63 69 66 69 63 20 47 72 6f 76 65 0d 0a 3b 09 43 61 6c 69 66 6f   ┆Box 579, Pacific Grove  ; Califo┆
0x097200…097220 (40, 0, 10) 65 20 70 72 65 76 69 6f 75 73 20 63 61 6c 6c 73 20 74 6f 20 73 65 74 20 75 70 20 74 68 65 20 69   ┆e previous calls to set up the i┆
0x097220…097240             6f 20 70 61 72 61 6d 65 74 65 72 73 29 0d 0a 3b 09 72 65 61 64 09 72 65 61 64 20 74 72 61 63 6b   ┆o parameters)  ; read read track┆
0x097240…097260             2f 73 65 63 74 6f 72 20 74 6f 20 70 72 65 73 65 74 20 64 6d 61 20 61 64 64 72 65 73 73 0d 0a 3b   ┆/sector to preset dma address  ;┆
0x097260…097280             09 77 72 69 74 65 09 77 72 69 74 65 20 74 72 61 63 6b 2f 73 65 63 74 6f 72 20 66 72 6f 6d 20 70   ┆ write write track/sector from p┆
0x097280…0972a0             72 65 73 65 74 20 64 6d 61 20 61 64 64 72 65 73 73 0d 0a 3b 0d 0a 3b 09 6a 75 6d 70 20 76 65 63   ┆reset dma address  ;  ; jump vec┆
0x0972a0…0972c0             74 6f 72 20 66 6f 72 20 69 6e 64 69 76 69 75 61 6c 20 72 6f 75 74 69 6e 65 73 0d 0a 09 6a 6d 70   ┆tor for indiviual routines   jmp┆
0x0972c0…0972e0             09 62 6f 6f 74 0d 0a 77 62 6f 6f 74 65 3a 09 6a 6d 70 09 77 62 6f 6f 74 0d 0a 09 6a 6d 70 09 63   ┆ boot  wboote: jmp wboot   jmp c┆
0x0972e0…097300             6f 6e 73 74 0d 0a 09 6a 6d 70 09 63 6f 6e 69 6e 0d 0a 09 6a 6d 70 09 63 6f 6e 6f 75 74 0d 0a 09   ┆onst   jmp conin   jmp conout   ┆
0x097300…097320             6a 6d 70 09 6c 69 73 74 0d 0a 09 6a 6d 70 09 70 75 6e 63 68 0d 0a 09 6a 6d 70 09 72 65 61 64 65   ┆jmp list   jmp punch   jmp reade┆
0x097320…097340             72 0d 0a 09 6a 6d 70 09 68 6f 6d 65 0d 0a 09 6a 6d 70 09 73 65 6c 64 73 6b 0d 0a 09 6a 6d 70 09   ┆r   jmp home   jmp seldsk   jmp ┆
0x097340…097360             73 65 74 74 72 6b 0d 0a 09 6a 6d 70 09 73 65 74 73 65 63 0d 0a 09 6a 6d 70 09 73 65 74 64 6d 61   ┆settrk   jmp setsec   jmp setdma┆
0x097360…097380             0d 0a 09 6a 6d 70 09 72 65 61 64 0d 0a 09 6a 6d 70 09 77 72 69 74 65 0d 0a 09 6a 6d 70 09 6c 69   ┆   jmp read   jmp write   jmp li┆
0x097380…0973a0             73 74 73 74 09 3b 6c 69 73 74 20 73 74 61 74 75 73 0d 0a 09 6a 6d 70 09 73 65 63 74 72 61 6e 0d   ┆stst ;list status   jmp sectran ┆
0x0973a0…0973c0             0a 3b 0d 0a 09 6d 61 63 6c 69 62 09 64 69 73 6b 64 65 66 09 3b 6c 6f 61 64 20 74 68 65 20 64 69   ┆ ;   maclib diskdef ;load the di┆
0x0973c0…0973e0             73 6b 20 64 65 66 69 6e 69 74 69 6f 6e 20 6c 69 62 72 61 72 79 0d 0a 09 64 69 73 6b 73 09 34 09   ┆sk definition library   disks 4 ┆
0x0973e0…097400             3b 66 6f 75 72 20 64 69 73 6b 73 0d 0a 09 64 69 73 6b 64 65 66 09 30 2c 31 2c 32 36 2c 36 2c 31   ┆;four disks   diskdef 0,1,26,6,1┆
0x097400…097420 (40, 0, 11) 0d 0a 09 64 62 09 63 72 2c 6c 66 2c 6c 66 0d 0a 09 69 66 09 74 65 73 74 0d 0a 09 64 62 09 27 33   ┆   db cr,lf,lf   if test   db '3┆
0x097420…097440             32 27 09 3b 33 32 6b 20 65 78 61 6d 70 6c 65 20 62 69 6f 73 0d 0a 09 65 6e 64 69 66 0d 0a 09 69   ┆2' ;32k example bios   endif   i┆
0x097440…097460             66 09 6e 6f 74 20 74 65 73 74 0d 0a 09 64 62 09 27 30 30 27 09 3b 6d 65 6d 6f 72 79 20 73 69 7a   ┆f not test   db '00' ;memory siz┆
0x097460…097480             65 20 66 69 6c 6c 65 64 20 62 79 20 72 65 6c 6f 63 61 74 6f 72 0d 0a 09 65 6e 64 69 66 0d 0a 09   ┆e filled by relocator   endif   ┆
0x097480…0974a0             64 62 09 27 6b 20 43 50 2f 4d 20 76 65 72 73 20 27 0d 0a 09 64 62 09 76 65 72 73 2f 31 30 2b 27   ┆db 'k CP/M vers '   db vers/10+'┆
0x0974a0…0974c0             30 27 2c 27 2e 27 2c 76 65 72 73 20 6d 6f 64 20 31 30 2b 27 30 27 0d 0a 09 64 62 09 63 72 2c 6c   ┆0','.',vers mod 10+'0'   db cr,l┆
0x0974c0…0974e0             66 2c 30 0d 0a 3b 0d 0a 62 6f 6f 74 3a 09 3b 70 72 69 6e 74 20 73 69 67 6e 6f 6e 20 6d 65 73 73   ┆f,0  ;  boot: ;print signon mess┆
0x0974e0…097500             61 67 65 20 61 6e 64 20 67 6f 20 74 6f 20 63 63 70 0d 0a 3b 09 28 6e 6f 74 65 3a 20 6d 64 73 20   ┆age and go to ccp  ; (note: mds ┆
0x097500…097520             62 6f 6f 74 20 69 6e 69 74 69 61 6c 69 7a 65 64 20 69 6f 62 79 74 65 20 61 74 20 30 30 30 33 68   ┆boot initialized iobyte at 0003h┆
0x097520…097540             29 0d 0a 09 6c 78 69 09 73 70 2c 62 75 66 66 2b 38 30 68 0d 0a 09 6c 78 69 09 68 2c 73 69 67 6e   ┆)   lxi sp,buff+80h   lxi h,sign┆
0x097540…097560             6f 6e 0d 0a 09 63 61 6c 6c 09 70 72 6d 73 67 09 3b 70 72 69 6e 74 20 6d 65 73 73 61 67 65 0d 0a   ┆on   call prmsg ;print message  ┆
0x097560…097580             09 78 72 61 09 61 09 3b 63 6c 65 61 72 20 61 63 63 75 6d 75 6c 61 74 6f 72 0d 0a 09 73 74 61 09   ┆ xra a ;clear accumulator   sta ┆
0x097580…0975a0             63 64 69 73 6b 09 3b 73 65 74 20 69 6e 69 74 69 61 6c 6c 79 20 74 6f 20 64 69 73 6b 20 61 0d 0a   ┆cdisk ;set initially to disk a  ┆
0x0975a0…0975c0             09 6a 6d 70 09 67 6f 63 70 6d 09 3b 67 6f 20 74 6f 20 63 70 2f 6d 0d 0a 3b 0d 0a 3b 0d 0a 77 62   ┆ jmp gocpm ;go to cp/m  ;  ;  wb┆
0x0975c0…0975e0             6f 6f 74 3a 3b 09 6c 6f 61 64 65 72 20 6f 6e 20 74 72 61 63 6b 20 30 2c 20 73 65 63 74 6f 72 20   ┆oot:; loader on track 0, sector ┆
0x0975e0…097600             31 2c 20 77 68 69 63 68 20 77 69 6c 6c 20 62 65 20 73 6b 69 70 70 65 64 20 66 6f 72 20 77 61 72   ┆1, which will be skipped for war┆
0x097600…097620 (40, 0, 12) 6f 6f 74 65 0d 0a 09 73 68 6c 64 09 31 09 3b 6a 6d 70 20 77 62 6f 6f 74 20 61 74 20 6c 6f 63 61   ┆oote   shld 1 ;jmp wboot at loca┆
0x097620…097640             74 69 6f 6e 20 30 30 0d 0a 09 73 74 61 09 35 0d 0a 09 6c 78 69 09 68 2c 62 64 6f 73 0d 0a 09 73   ┆tion 00   sta 5   lxi h,bdos   s┆
0x097640…097660             68 6c 64 09 36 09 3b 6a 6d 70 20 62 64 6f 73 20 61 74 20 6c 6f 63 61 74 69 6f 6e 20 35 0d 0a 09   ┆hld 6 ;jmp bdos at location 5   ┆
0x097660…097680             69 66 09 6e 6f 74 20 74 65 73 74 0d 0a 09 73 74 61 09 37 2a 38 09 3b 6a 6d 70 20 74 6f 20 6d 6f   ┆if not test   sta 7*8 ;jmp to mo┆
0x097680…0976a0             6e 38 30 20 28 6d 61 79 20 68 61 76 65 20 62 65 65 6e 20 63 68 61 6e 67 65 64 20 62 79 20 64 64   ┆n80 (may have been changed by dd┆
0x0976a0…0976c0             74 29 0d 0a 09 6c 78 69 09 68 2c 6d 6f 6e 38 30 0d 0a 09 73 68 6c 64 09 37 2a 38 2b 31 0d 0a 09   ┆t)   lxi h,mon80   shld 7*8+1   ┆
0x0976c0…0976e0             65 6e 64 69 66 0d 0a 3b 09 6c 65 61 76 65 20 69 6f 62 79 74 65 20 73 65 74 0d 0a 3b 09 70 72 65   ┆endif  ; leave iobyte set  ; pre┆
0x0976e0…097700             76 69 6f 75 73 6c 79 20 73 65 6c 65 63 74 65 64 20 64 69 73 6b 20 77 61 73 20 62 2c 20 73 65 6e   ┆viously selected disk was b, sen┆
0x097700…097720             64 20 70 61 72 61 6d 65 74 65 72 20 74 6f 20 63 70 6d 0d 0a 09 6c 64 61 09 63 64 69 73 6b 09 3b   ┆d parameter to cpm   lda cdisk ;┆
0x097720…097740             6c 61 73 74 20 6c 6f 67 67 65 64 20 64 69 73 6b 20 6e 75 6d 62 65 72 0d 0a 09 6d 6f 76 09 63 2c   ┆last logged disk number   mov c,┆
0x097740…097760             61 09 3b 73 65 6e 64 20 74 6f 20 63 63 70 20 74 6f 20 6c 6f 67 20 69 74 20 69 6e 0d 0a 09 65 69   ┆a ;send to ccp to log it in   ei┆
0x097760…097780             0d 0a 09 6a 6d 70 09 63 70 6d 62 0d 0a 3b 0d 0a 3b 09 65 72 72 6f 72 20 63 6f 6e 64 69 74 69 6f   ┆   jmp cpmb  ;  ; error conditio┆
0x097780…0977a0             6e 20 6f 63 63 75 72 72 65 64 2c 20 70 72 69 6e 74 20 6d 65 73 73 61 67 65 20 61 6e 64 20 72 65   ┆n occurred, print message and re┆
0x0977a0…0977c0             74 72 79 0d 0a 62 6f 6f 74 65 72 72 3a 0d 0a 09 70 6f 70 09 62 09 3b 72 65 63 61 6c 6c 20 63 6f   ┆try  booterr:   pop b ;recall co┆
0x0977c0…0977e0             75 6e 74 73 0d 0a 09 64 63 72 09 63 0d 0a 09 6a 7a 09 62 6f 6f 74 65 72 30 0d 0a 3b 09 74 72 79   ┆unts   dcr c   jz booter0  ; try┆
0x0977e0…097800             20 61 67 61 69 6e 0d 0a 09 70 75 73 68 09 62 0d 0a 09 6a 6d 70 09 77 62 6f 6f 74 30 0d 0a 3b 0d   ┆ again   push b   jmp wboot0  ; ┆
0x097800…097820 (40, 0, 13) 72 6e 69 61 2c 20 39 33 39 35 30 0d 0a 3b 0d 0a 3b 0d 0a 74 72 75 65 09 65 71 75 09 30 66 66 66   ┆rnia, 93950  ;  ;  true equ 0fff┆
0x097820…097840             66 68 09 3b 76 61 6c 75 65 20 6f 66 20 22 74 72 75 65 22 0d 0a 66 61 6c 73 65 09 65 71 75 09 6e   ┆fh ;value of "true"  false equ n┆
0x097840…097860             6f 74 20 74 72 75 65 09 3b 22 66 61 6c 73 65 22 0d 0a 74 65 73 74 09 65 71 75 09 66 61 6c 73 65   ┆ot true ;"false"  test equ false┆
0x097860…097880             09 3b 74 72 75 65 20 69 66 20 74 65 73 74 20 62 69 6f 73 0d 0a 3b 0d 0a 09 69 66 09 74 65 73 74   ┆ ;true if test bios  ;   if test┆
0x097880…0978a0             0d 0a 62 69 61 73 09 65 71 75 09 30 33 34 30 30 68 09 3b 62 61 73 65 20 6f 66 20 43 43 50 20 69   ┆  bias equ 03400h ;base of CCP i┆
0x0978a0…0978c0             6e 20 74 65 73 74 20 73 79 73 74 65 6d 0d 0a 09 65 6e 64 69 66 0d 0a 09 69 66 09 6e 6f 74 20 74   ┆n test system   endif   if not t┆
0x0978c0…0978e0             65 73 74 0d 0a 62 69 61 73 09 65 71 75 09 30 30 30 30 68 09 3b 67 65 6e 65 72 61 74 65 20 72 65   ┆est  bias equ 0000h ;generate re┆
0x0978e0…097900             6c 6f 63 61 74 61 62 6c 65 20 63 70 2f 6d 20 73 79 73 74 65 6d 0d 0a 09 65 6e 64 69 66 0d 0a 3b   ┆locatable cp/m system   endif  ;┆
0x097900…097920             0d 0a 70 61 74 63 68 09 65 71 75 09 31 36 30 30 68 0d 0a 3b 0d 0a 09 6f 72 67 09 70 61 74 63 68   ┆  patch equ 1600h  ;   org patch┆
0x097920…097940             0d 0a 63 70 6d 62 09 65 71 75 09 24 2d 70 61 74 63 68 09 3b 62 61 73 65 20 6f 66 20 63 70 6d 20   ┆  cpmb equ $-patch ;base of cpm ┆
0x097940…097960             63 6f 6e 73 6f 6c 65 20 70 72 6f 63 65 73 73 6f 72 0d 0a 62 64 6f 73 09 65 71 75 09 38 30 36 68   ┆console processor  bdos equ 806h┆
0x097960…097980             2b 63 70 6d 62 09 3b 62 61 73 69 63 20 64 6f 73 20 28 72 65 73 69 64 65 6e 74 20 70 6f 72 74 69   ┆+cpmb ;basic dos (resident porti┆
0x097980…0979a0             6f 6e 29 0d 0a 63 70 6d 6c 09 65 71 75 09 24 2d 63 70 6d 62 09 3b 6c 65 6e 67 74 68 20 28 69 6e   ┆on)  cpml equ $-cpmb ;length (in┆
0x0979a0…0979c0             20 62 79 74 65 73 29 20 6f 66 20 63 70 6d 20 73 79 73 74 65 6d 0d 0a 6e 73 65 63 74 73 09 65 71   ┆ bytes) of cpm system  nsects eq┆
0x0979c0…0979e0             75 09 63 70 6d 6c 2f 31 32 38 09 3b 6e 75 6d 62 65 72 20 6f 66 20 73 65 63 74 6f 72 73 20 74 6f   ┆u cpml/128 ;number of sectors to┆
0x0979e0…097a00             20 6c 6f 61 64 0d 0a 6f 66 66 73 65 74 09 65 71 75 09 32 09 3b 6e 75 6d 62 65 72 20 6f 66 20 64   ┆ load  offset equ 2 ;number of d┆
0x097a00…097a20 (40, 0, 14) 30 32 34 2c 32 34 33 2c 36 34 2c 36 34 2c 6f 66 66 73 65 74 0d 0a 09 64 69 73 6b 64 65 66 09 31   ┆024,243,64,64,offset   diskdef 1┆
0x097a20…097a40             2c 30 0d 0a 09 64 69 73 6b 64 65 66 09 32 2c 30 0d 0a 09 64 69 73 6b 64 65 66 09 33 2c 30 0d 0a   ┆,0   diskdef 2,0   diskdef 3,0  ┆
0x097a40…097a60             3b 09 65 6e 64 65 66 20 6f 63 63 75 72 73 20 61 74 20 65 6e 64 20 6f 66 20 61 73 73 65 6d 62 6c   ┆; endef occurs at end of assembl┆
0x097a60…097a80             79 0d 0a 3b 0d 0a 3b 09 65 6e 64 20 6f 66 20 63 6f 6e 74 72 6f 6c 6c 65 72 20 2d 20 69 6e 64 65   ┆y  ;  ; end of controller - inde┆
0x097a80…097aa0             70 65 6e 64 65 6e 74 20 63 6f 64 65 2c 20 74 68 65 20 72 65 6d 61 69 6e 69 6e 67 20 73 75 62 72   ┆pendent code, the remaining subr┆
0x097aa0…097ac0             6f 75 74 69 6e 65 73 0d 0a 3b 09 61 72 65 20 74 61 69 6c 6f 72 65 64 20 74 6f 20 74 68 65 20 70   ┆outines  ; are tailored to the p┆
0x097ac0…097ae0             61 72 74 69 63 75 6c 61 72 20 6f 70 65 72 61 74 69 6e 67 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 2c   ┆articular operating environment,┆
0x097ae0…097b00             20 61 6e 64 20 6d 75 73 74 0d 0a 3b 09 62 65 20 61 6c 74 65 72 65 64 20 66 6f 72 20 61 6e 79 20   ┆ and must  ; be altered for any ┆
0x097b00…097b20             73 79 73 74 65 6d 20 77 68 69 63 68 20 64 69 66 66 65 72 73 20 66 72 6f 6d 20 74 68 65 20 69 6e   ┆system which differs from the in┆
0x097b20…097b40             74 65 6c 20 6d 64 73 2e 0d 0a 3b 0d 0a 3b 09 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 64   ┆tel mds.  ;  ; the following cod┆
0x097b40…097b60             65 20 61 73 73 75 6d 65 73 20 74 68 65 20 6d 64 73 20 6d 6f 6e 69 74 6f 72 20 65 78 69 73 74 73   ┆e assumes the mds monitor exists┆
0x097b60…097b80             20 61 74 20 30 66 38 30 30 68 0d 0a 3b 09 61 6e 64 20 75 73 65 73 20 74 68 65 20 69 2f 6f 20 73   ┆ at 0f800h  ; and uses the i/o s┆
0x097b80…097ba0             75 62 72 6f 75 74 69 6e 65 73 20 77 69 74 68 69 6e 20 74 68 65 20 6d 6f 6e 69 74 6f 72 0d 0a 3b   ┆ubroutines within the monitor  ;┆
0x097ba0…097bc0             0d 0a 3b 09 77 65 20 61 6c 73 6f 20 61 73 73 75 6d 65 20 74 68 65 20 6d 64 73 20 73 79 73 74 65   ┆  ; we also assume the mds syste┆
0x097bc0…097be0             6d 20 68 61 73 20 66 6f 75 72 20 64 69 73 6b 20 64 72 69 76 65 73 0d 0a 72 65 76 72 74 09 65 71   ┆m has four disk drives  revrt eq┆
0x097be0…097c00             75 09 30 66 64 68 09 3b 69 6e 74 65 72 72 75 70 74 20 72 65 76 65 72 74 20 70 6f 72 74 0d 0a 69   ┆u 0fdh ;interrupt revert port  i┆
0x097c00…097c20 (40, 0, 15) 6d 20 0d 0a 3b 09 72 65 61 64 20 63 70 2f 6d 20 66 72 6f 6d 20 64 69 73 6b 20 2d 20 61 73 73 75   ┆m   ; read cp/m from disk - assu┆
0x097c20…097c40             6d 69 6e 67 20 74 68 65 72 65 20 69 73 20 61 20 31 32 38 20 62 79 74 65 20 63 6f 6c 64 20 73 74   ┆ming there is a 128 byte cold st┆
0x097c40…097c60             61 72 74 0d 0a 3b 09 73 74 61 72 74 2e 0d 0a 3b 0d 0a 09 6c 78 69 09 73 70 2c 62 75 66 66 09 3b   ┆art  ; start.  ;   lxi sp,buff ;┆
0x097c60…097c80             75 73 69 6e 67 20 64 6d 61 20 2d 20 74 68 75 73 20 38 30 20 74 68 72 75 20 66 66 20 61 76 61 69   ┆using dma - thus 80 thru ff avai┆
0x097c80…097ca0             6c 61 62 6c 65 20 66 6f 72 20 73 74 61 63 6b 0d 0a 3b 0d 0a 09 6d 76 69 09 63 2c 72 65 74 72 79   ┆lable for stack  ;   mvi c,retry┆
0x097ca0…097cc0             09 3b 6d 61 78 20 72 65 74 72 69 65 73 0d 0a 09 70 75 73 68 09 62 0d 0a 77 62 6f 6f 74 30 3a 09   ┆ ;max retries   push b  wboot0: ┆
0x097cc0…097ce0             3b 65 6e 74 65 72 20 68 65 72 65 20 6f 6e 20 65 72 72 6f 72 20 72 65 74 72 69 65 73 0d 0a 09 6c   ┆;enter here on error retries   l┆
0x097ce0…097d00             78 69 09 62 2c 63 70 6d 62 09 3b 73 65 74 20 64 6d 61 20 61 64 64 72 65 73 73 20 74 6f 20 73 74   ┆xi b,cpmb ;set dma address to st┆
0x097d00…097d20             61 72 74 20 6f 66 20 64 69 73 6b 20 73 79 73 74 65 6d 0d 0a 09 63 61 6c 6c 09 73 65 74 64 6d 61   ┆art of disk system   call setdma┆
0x097d20…097d40             0d 0a 09 6d 76 69 09 63 2c 30 09 3b 62 6f 6f 74 20 66 72 6f 6d 20 64 72 69 76 65 20 30 0d 0a 09   ┆   mvi c,0 ;boot from drive 0   ┆
0x097d40…097d60             63 61 6c 6c 09 73 65 6c 64 73 6b 0d 0a 09 6d 76 69 09 63 2c 30 0d 0a 09 63 61 6c 6c 09 73 65 74   ┆call seldsk   mvi c,0   call set┆
0x097d60…097d80             74 72 6b 09 3b 73 74 61 72 74 20 77 69 74 68 20 74 72 61 63 6b 20 30 0d 0a 09 6d 76 69 09 63 2c   ┆trk ;start with track 0   mvi c,┆
0x097d80…097da0             32 09 3b 73 74 61 72 74 20 72 65 61 64 69 6e 67 20 73 65 63 74 6f 72 20 32 0d 0a 09 63 61 6c 6c   ┆2 ;start reading sector 2   call┆
0x097da0…097dc0             09 73 65 74 73 65 63 0d 0a 3b 0d 0a 3b 09 72 65 61 64 20 73 65 63 74 6f 72 73 2c 20 63 6f 75 6e   ┆ setsec  ;  ; read sectors, coun┆
0x097dc0…097de0             74 20 6e 73 65 63 74 73 20 74 6f 20 7a 65 72 6f 0d 0a 09 70 6f 70 09 62 09 3b 31 30 2d 65 72 72   ┆t nsects to zero   pop b ;10-err┆
0x097de0…097e00             6f 72 20 63 6f 75 6e 74 0d 0a 09 6d 76 69 09 62 2c 6e 73 65 63 74 73 0d 0a 72 64 73 65 63 3a 09   ┆or count   mvi b,nsects  rdsec: ┆
0x097e00…097e20 (40, 1, 1)  0a 62 6f 6f 74 65 72 30 3a 0d 0a 3b 09 6f 74 68 65 72 77 69 73 65 20 74 6f 6f 20 6d 61 6e 79 20   ┆ booter0:  ; otherwise too many ┆
0x097e20…097e40             72 65 74 72 69 65 73 0d 0a 09 6c 78 69 09 68 2c 62 6f 6f 74 6d 73 67 0d 0a 09 63 61 6c 6c 09 70   ┆retries   lxi h,bootmsg   call p┆
0x097e40…097e60             72 6d 73 67 0d 0a 09 6a 6d 70 09 72 6d 6f 6e 38 30 09 3b 6d 64 73 20 68 61 72 64 77 61 72 65 20   ┆rmsg   jmp rmon80 ;mds hardware ┆
0x097e60…097e80             6d 6f 6e 69 74 6f 72 0d 0a 3b 0d 0a 62 6f 6f 74 6d 73 67 3a 0d 0a 09 64 62 09 27 3f 62 6f 6f 74   ┆monitor  ;  bootmsg:   db '?boot┆
0x097e80…097ea0             27 2c 30 0d 0a 3b 0d 0a 3b 0d 0a 63 6f 6e 73 74 3a 09 3b 63 6f 6e 73 6f 6c 65 20 73 74 61 74 75   ┆',0  ;  ;  const: ;console statu┆
0x097ea0…097ec0             73 20 74 6f 20 72 65 67 2d 61 0d 0a 3b 09 28 65 78 61 63 74 6c 79 20 74 68 65 20 73 61 6d 65 20   ┆s to reg-a  ; (exactly the same ┆
0x097ec0…097ee0             61 73 20 6d 64 73 20 63 61 6c 6c 29 0d 0a 09 6a 6d 70 09 63 73 74 73 0d 0a 3b 0d 0a 63 6f 6e 69   ┆as mds call)   jmp csts  ;  coni┆
0x097ee0…097f00             6e 3a 09 3b 63 6f 6e 73 6f 6c 65 20 63 68 61 72 61 63 74 65 72 20 74 6f 20 72 65 67 2d 61 0d 0a   ┆n: ;console character to reg-a  ┆
0x097f00…097f20             09 63 61 6c 6c 09 63 69 0d 0a 09 61 6e 69 09 37 66 68 09 3b 72 65 6d 6f 76 65 20 70 61 72 69 74   ┆ call ci   ani 7fh ;remove parit┆
0x097f20…097f40             79 20 62 69 74 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 63 6f 6e 6f 75 74 3a 09 3b 63 6f 6e 73 6f 6c 65   ┆y bit   ret  ;  conout: ;console┆
0x097f40…097f60             20 63 68 61 72 61 63 74 65 72 20 66 72 6f 6d 20 63 20 74 6f 20 63 6f 6e 73 6f 6c 65 20 6f 75 74   ┆ character from c to console out┆
0x097f60…097f80             0d 0a 09 6a 6d 70 09 63 6f 0d 0a 3b 0d 0a 6c 69 73 74 3a 09 3b 6c 69 73 74 20 64 65 76 69 63 65   ┆   jmp co  ;  list: ;list device┆
0x097f80…097fa0             20 6f 75 74 0d 0a 3b 09 28 65 78 61 63 74 6c 79 20 74 68 65 20 73 61 6d 65 20 61 73 20 6d 64 73   ┆ out  ; (exactly the same as mds┆
0x097fa0…097fc0             20 63 61 6c 6c 29 0d 0a 09 6a 6d 70 09 6c 6f 0d 0a 3b 0d 0a 6c 69 73 74 73 74 3a 0d 0a 09 3b 72   ┆ call)   jmp lo  ;  listst:   ;r┆
0x097fc0…097fe0             65 74 75 72 6e 20 6c 69 73 74 20 73 74 61 74 75 73 0d 0a 09 78 72 61 09 61 0d 0a 09 72 65 74 09   ┆eturn list status   xra a   ret ┆
0x097fe0…098000             09 3b 61 6c 77 61 79 73 20 6e 6f 74 20 72 65 61 64 79 0d 0a 3b 0d 0a 70 75 6e 63 68 3a 09 3b 70   ┆ ;always not ready  ;  punch: ;p┆
0x098000…098020 (40, 1, 2)  61 69 74 69 6f 09 3b 70 65 72 66 6f 72 6d 20 72 65 61 64 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 72   ┆aitio ;perform read function   r┆
0x098020…098040             65 74 09 09 3b 6d 61 79 20 68 61 76 65 20 65 72 72 6f 72 20 73 65 74 20 69 6e 20 72 65 67 2d 61   ┆et  ;may have error set in reg-a┆
0x098040…098060             0d 0a 3b 0d 0a 3b 0d 0a 77 72 69 74 65 3a 09 3b 64 69 73 6b 20 77 72 69 74 65 20 66 75 6e 63 74   ┆  ;  ;  write: ;disk write funct┆
0x098060…098080             69 6f 6e 0d 0a 09 6d 76 69 09 63 2c 77 72 69 74 66 0d 0a 09 63 61 6c 6c 09 73 65 74 66 75 6e 63   ┆ion   mvi c,writf   call setfunc┆
0x098080…0980a0             09 3b 73 65 74 20 74 6f 20 77 72 69 74 65 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 63 61 6c 6c 09 77   ┆ ;set to write function   call w┆
0x0980a0…0980c0             61 69 74 69 6f 0d 0a 09 72 65 74 09 09 3b 6d 61 79 20 68 61 76 65 20 65 72 72 6f 72 20 73 65 74   ┆aitio   ret  ;may have error set┆
0x0980c0…0980e0             0d 0a 3b 0d 0a 3b 0d 0a 3b 09 75 74 69 6c 69 74 79 20 73 75 62 72 6f 75 74 69 6e 65 73 0d 0a 70   ┆  ;  ;  ; utility subroutines  p┆
0x0980e0…098100             72 6d 73 67 3a 09 3b 70 72 69 6e 74 20 6d 65 73 73 61 67 65 20 61 74 20 68 2c 6c 20 74 6f 20 30   ┆rmsg: ;print message at h,l to 0┆
0x098100…098120             0d 0a 09 6d 6f 76 09 61 2c 6d 0d 0a 09 6f 72 61 09 61 09 3b 7a 65 72 6f 3f 0d 0a 09 72 7a 0d 0a   ┆   mov a,m   ora a ;zero?   rz  ┆
0x098120…098140             3b 09 6d 6f 72 65 20 74 6f 20 70 72 69 6e 74 0d 0a 09 70 75 73 68 09 68 0d 0a 09 6d 6f 76 09 63   ┆; more to print   push h   mov c┆
0x098140…098160             2c 61 0d 0a 09 63 61 6c 6c 09 63 6f 6e 6f 75 74 0d 0a 09 70 6f 70 09 68 0d 0a 09 69 6e 78 09 68   ┆,a   call conout   pop h   inx h┆
0x098160…098180             0d 0a 09 6a 6d 70 09 70 72 6d 73 67 0d 0a 3b 0d 0a 73 65 74 66 75 6e 63 3a 0d 0a 3b 09 73 65 74   ┆   jmp prmsg  ;  setfunc:  ; set┆
0x098180…0981a0             20 66 75 6e 63 74 69 6f 6e 20 66 6f 72 20 6e 65 78 74 20 69 2f 6f 20 28 63 6f 6d 6d 61 6e 64 20   ┆ function for next i/o (command ┆
0x0981a0…0981c0             69 6e 20 72 65 67 2d 63 29 0d 0a 09 6c 78 69 09 68 2c 69 6f 66 09 3b 69 6f 20 66 75 6e 63 74 69   ┆in reg-c)   lxi h,iof ;io functi┆
0x0981c0…0981e0             6f 6e 20 61 64 64 72 65 73 73 0d 0a 09 6d 6f 76 09 61 2c 6d 09 3b 67 65 74 20 69 74 20 74 6f 20   ┆on address   mov a,m ;get it to ┆
0x0981e0…098200             61 63 63 75 6d 75 6c 61 74 6f 72 20 66 6f 72 20 6d 61 73 6b 69 6e 67 0d 0a 09 61 6e 69 09 31 31   ┆accumulator for masking   ani 11┆
0x098200…098220 (40, 1, 3)  3b 0d 0a 77 72 65 61 64 79 3a 09 3b 6e 6f 74 20 72 65 61 64 79 2c 20 74 72 65 61 74 20 61 73 20   ┆;  wready: ;not ready, treat as ┆
0x098220…098240             65 72 72 6f 72 20 66 6f 72 20 6e 6f 77 0d 0a 09 63 61 6c 6c 09 69 6e 62 79 74 65 09 09 3b 63 6c   ┆error for now   call inbyte  ;cl┆
0x098240…098260             65 61 72 20 72 65 73 75 6c 74 20 62 79 74 65 0d 0a 09 6a 6d 70 09 74 72 79 63 6f 75 6e 74 0d 0a   ┆ear result byte   jmp trycount  ┆
0x098260…098280             3b 0d 0a 77 65 72 72 6f 72 3a 09 3b 72 65 74 75 72 6e 20 68 61 72 64 77 61 72 65 20 6d 61 6c 66   ┆;  werror: ;return hardware malf┆
0x098280…0982a0             75 6e 63 74 69 6f 6e 20 28 63 72 63 2c 20 74 72 61 63 6b 2c 20 73 65 65 6b 2c 20 65 74 63 2e 29   ┆unction (crc, track, seek, etc.)┆
0x0982a0…0982c0             0d 0a 3b 09 74 68 65 20 6d 64 73 20 63 6f 6e 74 72 6f 6c 6c 65 72 20 68 61 73 20 72 65 74 75 72   ┆  ; the mds controller has retur┆
0x0982c0…0982e0             6e 65 64 20 61 20 62 69 74 20 69 6e 20 65 61 63 68 20 70 6f 73 69 74 69 6f 6e 0d 0a 3b 09 6f 66   ┆ned a bit in each position  ; of┆
0x0982e0…098300             20 74 68 65 20 61 63 63 75 6d 75 6c 61 74 6f 72 2c 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20   ┆ the accumulator, corresponding ┆
0x098300…098320             74 6f 20 74 68 65 20 63 6f 6e 64 69 74 69 6f 6e 73 3a 0d 0a 3b 09 30 09 2d 20 64 65 6c 65 74 65   ┆to the conditions:  ; 0 - delete┆
0x098320…098340             64 20 64 61 74 61 20 28 61 63 63 65 70 74 65 64 20 61 73 20 6f 6b 20 61 62 6f 76 65 29 0d 0a 3b   ┆d data (accepted as ok above)  ;┆
0x098340…098360             09 31 09 2d 20 63 72 63 20 65 72 72 6f 72 0d 0a 3b 09 32 09 2d 20 73 65 65 6b 20 65 72 72 6f 72   ┆ 1 - crc error  ; 2 - seek error┆
0x098360…098380             0d 0a 3b 09 33 09 2d 20 61 64 64 72 65 73 73 20 65 72 72 6f 72 20 28 68 61 72 64 77 61 72 65 20   ┆  ; 3 - address error (hardware ┆
0x098380…0983a0             6d 61 6c 66 75 6e 63 74 69 6f 6e 29 0d 0a 3b 09 34 09 2d 20 64 61 74 61 20 6f 76 65 72 2f 75 6e   ┆malfunction)  ; 4 - data over/un┆
0x0983a0…0983c0             64 65 72 20 66 6c 6f 77 20 28 68 61 72 64 77 61 72 65 20 6d 61 6c 66 75 6e 63 74 69 6f 6e 29 0d   ┆der flow (hardware malfunction) ┆
0x0983c0…0983e0             0a 3b 09 35 09 2d 20 77 72 69 74 65 20 70 72 6f 74 65 63 74 20 28 74 72 65 61 74 65 64 20 61 73   ┆ ; 5 - write protect (treated as┆
0x0983e0…098400             20 6e 6f 74 20 72 65 61 64 79 29 0d 0a 3b 09 36 09 2d 20 77 72 69 74 65 20 65 72 72 6f 72 20 28   ┆ not ready)  ; 6 - write error (┆
0x098400…098420 (40, 1, 4)  66 61 6c 73 65 09 3b 74 72 75 65 20 69 66 20 74 65 73 74 20 62 69 6f 73 0d 0a 3b 0d 0a 09 69 66   ┆false ;true if test bios  ;   if┆
0x098420…098440             09 74 65 73 74 0d 0a 62 69 61 73 09 65 71 75 09 30 33 34 30 30 68 09 3b 62 61 73 65 20 6f 66 20   ┆ test  bias equ 03400h ;base of ┆
0x098440…098460             43 43 50 20 69 6e 20 74 65 73 74 20 73 79 73 74 65 6d 0d 0a 09 65 6e 64 69 66 0d 0a 09 69 66 09   ┆CCP in test system   endif   if ┆
0x098460…098480             6e 6f 74 20 74 65 73 74 0d 0a 62 69 61 73 09 65 71 75 09 30 30 30 30 68 09 3b 67 65 6e 65 72 61   ┆not test  bias equ 0000h ;genera┆
0x098480…0984a0             74 65 20 72 65 6c 6f 63 61 74 61 62 6c 65 20 63 70 2f 6d 20 73 79 73 74 65 6d 0d 0a 09 65 6e 64   ┆te relocatable cp/m system   end┆
0x0984a0…0984c0             69 66 0d 0a 3b 0d 0a 70 61 74 63 68 09 65 71 75 09 31 36 30 30 68 0d 0a 3b 0d 0a 09 6f 72 67 09   ┆if  ;  patch equ 1600h  ;   org ┆
0x0984c0…0984e0             70 61 74 63 68 0d 0a 63 70 6d 62 09 65 71 75 09 24 2d 70 61 74 63 68 09 3b 62 61 73 65 20 6f 66   ┆patch  cpmb equ $-patch ;base of┆
0x0984e0…098500             20 63 70 6d 20 63 6f 6e 73 6f 6c 65 20 70 72 6f 63 65 73 73 6f 72 0d 0a 62 64 6f 73 09 65 71 75   ┆ cpm console processor  bdos equ┆
0x098500…098520             09 38 30 36 68 2b 63 70 6d 62 09 3b 62 61 73 69 63 20 64 6f 73 20 28 72 65 73 69 64 65 6e 74 20   ┆ 806h+cpmb ;basic dos (resident ┆
0x098520…098540             70 6f 72 74 69 6f 6e 29 0d 0a 63 70 6d 6c 09 65 71 75 09 24 2d 63 70 6d 62 09 3b 6c 65 6e 67 74   ┆portion)  cpml equ $-cpmb ;lengt┆
0x098540…098560             68 20 28 69 6e 20 62 79 74 65 73 29 20 6f 66 20 63 70 6d 20 73 79 73 74 65 6d 0d 0a 6e 73 65 63   ┆h (in bytes) of cpm system  nsec┆
0x098560…098580             74 73 09 65 71 75 09 63 70 6d 6c 2f 31 32 38 09 3b 6e 75 6d 62 65 72 20 6f 66 20 73 65 63 74 6f   ┆ts equ cpml/128 ;number of secto┆
0x098580…0985a0             72 73 20 74 6f 20 6c 6f 61 64 0d 0a 6f 66 66 73 65 74 09 65 71 75 09 32 09 3b 6e 75 6d 62 65 72   ┆rs to load  offset equ 2 ;number┆
0x0985a0…0985c0             20 6f 66 20 64 69 73 6b 20 74 72 61 63 6b 73 20 75 73 65 64 20 62 79 20 63 70 2f 6d 0d 0a 63 64   ┆ of disk tracks used by cp/m  cd┆
0x0985c0…0985e0             69 73 6b 09 65 71 75 09 30 30 30 34 68 09 3b 61 64 64 72 65 73 73 20 6f 66 20 6c 61 73 74 20 6c   ┆isk equ 0004h ;address of last l┆
0x0985e0…098600             6f 67 67 65 64 20 64 69 73 6b 20 6f 6e 20 77 61 72 6d 20 73 74 61 72 74 0d 0a 62 75 66 66 09 65   ┆ogged disk on warm start  buff e┆
0x098600…098620 (40, 1, 5)  75 6e 63 68 20 64 65 76 69 63 65 20 6f 75 74 0d 0a 3b 09 28 65 78 61 63 74 6c 79 20 74 68 65 20   ┆unch device out  ; (exactly the ┆
0x098620…098640             73 61 6d 65 20 61 73 20 6d 64 73 20 63 61 6c 6c 29 0d 0a 09 6a 6d 70 09 70 6f 0d 0a 3b 0d 0a 72   ┆same as mds call)   jmp po  ;  r┆
0x098640…098660             65 61 64 65 72 3a 09 3b 72 65 61 64 65 72 20 63 68 61 72 61 63 74 65 72 20 69 6e 20 74 6f 20 72   ┆eader: ;reader character in to r┆
0x098660…098680             65 67 2d 61 0d 0a 3b 09 28 65 78 61 63 74 6c 79 20 74 68 65 20 73 61 6d 65 20 61 73 20 6d 64 73   ┆eg-a  ; (exactly the same as mds┆
0x098680…0986a0             20 63 61 6c 6c 29 0d 0a 09 6a 6d 70 09 72 69 0d 0a 3b 0d 0a 68 6f 6d 65 3a 09 3b 6d 6f 76 65 20   ┆ call)   jmp ri  ;  home: ;move ┆
0x0986a0…0986c0             74 6f 20 68 6f 6d 65 20 70 6f 73 69 74 69 6f 6e 0d 0a 3b 09 74 72 65 61 74 20 61 73 20 74 72 61   ┆to home position  ; treat as tra┆
0x0986c0…0986e0             63 6b 20 30 30 20 73 65 65 6b 0d 0a 09 6d 76 69 09 63 2c 30 0d 0a 09 6a 6d 70 09 73 65 74 74 72   ┆ck 00 seek   mvi c,0   jmp settr┆
0x0986e0…098700             6b 0d 0a 3b 0d 0a 73 65 6c 64 73 6b 3a 09 3b 73 65 6c 65 63 74 20 64 69 73 6b 20 67 69 76 65 6e   ┆k  ;  seldsk: ;select disk given┆
0x098700…098720             20 62 79 20 72 65 67 69 73 74 65 72 20 63 0d 0a 09 6c 78 69 09 68 2c 30 30 30 30 68 09 3b 72 65   ┆ by register c   lxi h,0000h ;re┆
0x098720…098740             74 75 72 6e 20 30 30 30 30 20 69 66 20 65 72 72 6f 72 0d 0a 09 6d 6f 76 09 61 2c 63 0d 0a 09 63   ┆turn 0000 if error   mov a,c   c┆
0x098740…098760             70 69 09 6e 64 69 73 6b 73 09 3b 74 6f 6f 20 6c 61 72 67 65 3f 0d 0a 09 72 6e 63 09 09 3b 6c 65   ┆pi ndisks ;too large?   rnc  ;le┆
0x098760…098780             61 76 65 20 48 4c 20 3d 20 30 30 30 30 0d 0a 3b 0d 0a 09 61 6e 69 09 31 30 62 09 3b 30 30 20 30   ┆ave HL = 0000  ;   ani 10b ;00 0┆
0x098780…0987a0             30 20 66 6f 72 20 64 72 69 76 65 20 30 2c 31 20 61 6e 64 20 31 30 20 31 30 20 66 6f 72 20 64 72   ┆0 for drive 0,1 and 10 10 for dr┆
0x0987a0…0987c0             69 76 65 20 32 2c 33 0d 0a 09 73 74 61 09 64 62 61 6e 6b 09 3b 74 6f 20 73 65 6c 65 63 74 20 64   ┆ive 2,3   sta dbank ;to select d┆
0x0987c0…0987e0             72 69 76 65 20 62 61 6e 6b 0d 0a 09 6d 6f 76 09 61 2c 63 09 3b 30 30 2c 20 30 31 2c 20 31 30 2c   ┆rive bank   mov a,c ;00, 01, 10,┆
0x0987e0…098800             20 31 31 0d 0a 09 61 6e 69 09 31 62 09 3b 6d 64 73 20 68 61 73 20 30 2c 31 20 61 74 20 37 38 2c   ┆ 11   ani 1b ;mds has 0,1 at 78,┆
0x098800…098820 (40, 1, 6)  31 31 31 30 30 30 62 09 3b 72 65 6d 6f 76 65 20 70 72 65 76 69 6f 75 73 20 63 6f 6d 6d 61 6e 64   ┆111000b ;remove previous command┆
0x098820…098840             0d 0a 09 6f 72 61 09 63 09 3b 73 65 74 20 74 6f 20 6e 65 77 20 63 6f 6d 6d 61 6e 64 0d 0a 09 6d   ┆   ora c ;set to new command   m┆
0x098840…098860             6f 76 09 6d 2c 61 09 3b 72 65 70 6c 61 63 65 64 20 69 6e 20 69 6f 70 62 0d 0a 3b 09 74 68 65 20   ┆ov m,a ;replaced in iopb  ; the ┆
0x098860…098880             6d 64 73 2d 38 30 30 20 63 6f 6e 74 72 6f 6c 6c 65 72 20 72 65 71 75 69 72 65 73 20 64 69 73 6b   ┆mds-800 controller requires disk┆
0x098880…0988a0             20 62 61 6e 6b 20 62 69 74 20 69 6e 20 73 65 63 74 6f 72 20 62 79 74 65 0d 0a 3b 09 6d 61 73 6b   ┆ bank bit in sector byte  ; mask┆
0x0988a0…0988c0             20 74 68 65 20 62 69 74 20 66 72 6f 6d 20 74 68 65 20 63 75 72 72 65 6e 74 20 69 2f 6f 20 66 75   ┆ the bit from the current i/o fu┆
0x0988c0…0988e0             6e 63 74 69 6f 6e 0d 0a 09 61 6e 69 09 30 30 31 30 30 30 30 30 62 09 3b 6d 61 73 6b 20 74 68 65   ┆nction   ani 00100000b ;mask the┆
0x0988e0…098900             20 64 69 73 6b 20 73 65 6c 65 63 74 20 62 69 74 0d 0a 09 6c 78 69 09 68 2c 69 6f 73 09 09 3b 61   ┆ disk select bit   lxi h,ios  ;a┆
0x098900…098920             64 64 72 65 73 73 20 74 68 65 20 73 65 63 74 6f 72 20 73 65 6c 65 63 74 20 62 79 74 65 0d 0a 09   ┆ddress the sector select byte   ┆
0x098920…098940             6f 72 61 09 6d 09 09 3b 73 65 6c 65 63 74 20 70 72 6f 70 65 72 20 64 69 73 6b 20 62 61 6e 6b 0d   ┆ora m  ;select proper disk bank ┆
0x098940…098960             0a 09 6d 6f 76 09 6d 2c 61 09 09 3b 73 65 74 20 64 69 73 6b 20 73 65 6c 65 63 74 20 62 69 74 20   ┆  mov m,a  ;set disk select bit ┆
0x098960…098980             6f 6e 2f 6f 66 66 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 77 61 69 74 69 6f 3a 0d 0a 09 6d 76 69 09 63   ┆on/off   ret  ;  waitio:   mvi c┆
0x098980…0989a0             2c 72 65 74 72 79 09 3b 6d 61 78 20 72 65 74 72 69 65 73 20 62 65 66 6f 72 65 20 70 65 72 6d 20   ┆,retry ;max retries before perm ┆
0x0989a0…0989c0             65 72 72 6f 72 0d 0a 72 65 77 61 69 74 3a 0d 0a 3b 09 73 74 61 72 74 20 74 68 65 20 69 2f 6f 20   ┆error  rewait:  ; start the i/o ┆
0x0989c0…0989e0             66 75 6e 63 74 69 6f 6e 20 61 6e 64 20 77 61 69 74 20 66 6f 72 20 63 6f 6d 70 6c 65 74 69 6f 6e   ┆function and wait for completion┆
0x0989e0…098a00             0d 0a 09 63 61 6c 6c 09 69 6e 74 79 70 65 09 3b 69 6e 20 72 74 79 70 65 0d 0a 09 63 61 6c 6c 09   ┆   call intype ;in rtype   call ┆
0x098a00…098a20 (40, 1, 7)  68 61 72 64 77 61 72 65 20 6d 61 6c 66 75 6e 63 74 69 6f 6e 29 0d 0a 3b 09 37 09 2d 20 6e 6f 74   ┆hardware malfunction)  ; 7 - not┆
0x098a20…098a40             20 72 65 61 64 79 0d 0a 3b 09 28 61 63 63 75 6d 75 6c 61 74 6f 72 20 62 69 74 73 20 61 72 65 20   ┆ ready  ; (accumulator bits are ┆
0x098a40…098a60             6e 75 6d 62 65 72 65 64 20 37 20 36 20 35 20 34 20 33 20 32 20 31 20 30 29 0d 0a 3b 0d 0a 3b 09   ┆numbered 7 6 5 4 3 2 1 0)  ;  ; ┆
0x098a60…098a80             69 74 20 6d 61 79 20 62 65 20 75 73 65 66 75 6c 20 74 6f 20 66 69 6c 74 65 72 20 6f 75 74 20 74   ┆it may be useful to filter out t┆
0x098a80…098aa0             68 65 20 76 61 72 69 6f 75 73 20 63 6f 6e 64 69 74 69 6f 6e 73 2c 0d 0a 3b 09 62 75 74 20 77 65   ┆he various conditions,  ; but we┆
0x098aa0…098ac0             20 77 69 6c 6c 20 67 65 74 20 61 20 70 65 72 6d 61 6e 65 6e 74 20 65 72 72 6f 72 20 6d 65 73 73   ┆ will get a permanent error mess┆
0x098ac0…098ae0             61 67 65 20 69 66 20 69 74 20 69 73 20 6e 6f 74 0d 0a 3b 09 72 65 63 6f 76 65 72 61 62 6c 65 2e   ┆age if it is not  ; recoverable.┆
0x098ae0…098b00             20 20 69 6e 20 61 6e 79 20 63 61 73 65 2c 20 74 68 65 20 6e 6f 74 20 72 65 61 64 79 20 63 6f 6e   ┆  in any case, the not ready con┆
0x098b00…098b20             64 69 74 69 6f 6e 20 69 73 0d 0a 3b 09 74 72 65 61 74 65 64 20 61 73 20 61 20 73 65 70 61 72 61   ┆dition is  ; treated as a separa┆
0x098b20…098b40             74 65 20 63 6f 6e 64 69 74 69 6f 6e 20 66 6f 72 20 6c 61 74 65 72 20 69 6d 70 72 6f 76 65 6d 65   ┆te condition for later improveme┆
0x098b40…098b60             6e 74 0d 0a 74 72 79 63 6f 75 6e 74 3a 0d 0a 3b 09 72 65 67 69 73 74 65 72 20 63 20 63 6f 6e 74   ┆nt  trycount:  ; register c cont┆
0x098b60…098b80             61 69 6e 73 20 72 65 74 72 79 20 63 6f 75 6e 74 2c 20 64 65 63 72 65 6d 65 6e 74 20 27 74 69 6c   ┆ains retry count, decrement 'til┆
0x098b80…098ba0             20 7a 65 72 6f 0d 0a 09 64 63 72 09 63 0d 0a 09 6a 6e 7a 09 72 65 77 61 69 74 09 3b 66 6f 72 20   ┆ zero   dcr c   jnz rewait ;for ┆
0x098ba0…098bc0             61 6e 6f 74 68 65 72 20 74 72 79 0d 0a 3b 0d 0a 3b 09 63 61 6e 6e 6f 74 20 72 65 63 6f 76 65 72   ┆another try  ;  ; cannot recover┆
0x098bc0…098be0             20 66 72 6f 6d 20 65 72 72 6f 72 0d 0a 09 6d 76 69 09 61 2c 31 09 3b 65 72 72 6f 72 20 63 6f 64   ┆ from error   mvi a,1 ;error cod┆
0x098be0…098c00             65 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 3b 09 69 6e 74 79 70 65 2c 20 69 6e 62 79 74 65 2c 20 69 6e   ┆e   ret  ;  ; intype, inbyte, in┆
0x098c00…098c20 (40, 1, 8)  71 75 09 30 30 38 30 68 09 3b 64 65 66 61 75 6c 74 20 62 75 66 66 65 72 20 61 64 64 72 65 73 73   ┆qu 0080h ;default buffer address┆
0x098c20…098c40             0d 0a 72 65 74 72 79 09 65 71 75 09 31 30 09 3b 6d 61 78 20 72 65 74 72 69 65 73 20 6f 6e 20 64   ┆  retry equ 10 ;max retries on d┆
0x098c40…098c60             69 73 6b 20 69 2f 6f 20 62 65 66 6f 72 65 20 65 72 72 6f 72 0d 0a 3b 0d 0a 3b 09 70 65 72 66 6f   ┆isk i/o before error  ;  ; perfo┆
0x098c60…098c80             72 6d 20 66 6f 6c 6c 6f 77 69 6e 67 20 66 75 6e 63 74 69 6f 6e 73 0d 0a 3b 09 62 6f 6f 74 09 63   ┆rm following functions  ; boot c┆
0x098c80…098ca0             6f 6c 64 20 73 74 61 72 74 0d 0a 3b 09 77 62 6f 6f 74 09 77 61 72 6d 20 73 74 61 72 74 20 28 73   ┆old start  ; wboot warm start (s┆
0x098ca0…098cc0             61 76 65 20 69 2f 6f 20 62 79 74 65 29 0d 0a 3b 09 28 62 6f 6f 74 20 61 6e 64 20 77 62 6f 6f 74   ┆ave i/o byte)  ; (boot and wboot┆
0x098cc0…098ce0             20 61 72 65 20 74 68 65 20 73 61 6d 65 20 66 6f 72 20 6d 64 73 29 0d 0a 3b 09 63 6f 6e 73 74 09   ┆ are the same for mds)  ; const ┆
0x098ce0…098d00             63 6f 6e 73 6f 6c 65 20 73 74 61 74 75 73 0d 0a 3b 09 09 72 65 67 2d 61 20 3d 20 30 30 20 69 66   ┆console status  ;  reg-a = 00 if┆
0x098d00…098d20             20 6e 6f 20 63 68 61 72 61 63 74 65 72 20 72 65 61 64 79 0d 0a 3b 09 09 72 65 67 2d 61 20 3d 20   ┆ no character ready  ;  reg-a = ┆
0x098d20…098d40             66 66 20 69 66 20 63 68 61 72 61 63 74 65 72 20 72 65 61 64 79 0d 0a 3b 09 63 6f 6e 69 6e 09 63   ┆ff if character ready  ; conin c┆
0x098d40…098d60             6f 6e 73 6f 6c 65 20 63 68 61 72 61 63 74 65 72 20 69 6e 20 28 72 65 73 75 6c 74 20 69 6e 20 72   ┆onsole character in (result in r┆
0x098d60…098d80             65 67 2d 61 29 0d 0a 3b 09 63 6f 6e 6f 75 74 09 63 6f 6e 73 6f 6c 65 20 63 68 61 72 61 63 74 65   ┆eg-a)  ; conout console characte┆
0x098d80…098da0             72 20 6f 75 74 20 28 63 68 61 72 20 69 6e 20 72 65 67 2d 63 29 0d 0a 3b 09 6c 69 73 74 09 6c 69   ┆r out (char in reg-c)  ; list li┆
0x098da0…098dc0             73 74 20 6f 75 74 20 28 63 68 61 72 20 69 6e 20 72 65 67 2d 63 29 0d 0a 3b 09 70 75 6e 63 68 09   ┆st out (char in reg-c)  ; punch ┆
0x098dc0…098de0             70 75 6e 63 68 20 6f 75 74 20 28 63 68 61 72 20 69 6e 20 72 65 67 2d 63 29 0d 0a 3b 09 72 65 61   ┆punch out (char in reg-c)  ; rea┆
0x098de0…098e00             64 65 72 09 70 61 70 65 72 20 74 61 70 65 20 72 65 61 64 65 72 20 69 6e 20 28 72 65 73 75 6c 74   ┆der paper tape reader in (result┆
0x098e00…098e20 (40, 1, 9)  20 32 2c 33 20 61 74 20 38 38 0d 0a 09 6f 72 61 09 61 09 3b 72 65 73 75 6c 74 20 30 30 3f 0d 0a   ┆ 2,3 at 88   ora a ;result 00?  ┆
0x098e20…098e40             09 6a 7a 09 73 65 74 64 72 69 76 65 0d 0a 09 6d 76 69 09 61 2c 30 30 31 31 30 30 30 30 62 09 3b   ┆ jz setdrive   mvi a,00110000b ;┆
0x098e40…098e60             73 65 6c 65 63 74 73 20 64 72 69 76 65 20 31 20 69 6e 20 62 61 6e 6b 0d 0a 73 65 74 64 72 69 76   ┆selects drive 1 in bank  setdriv┆
0x098e60…098e80             65 3a 0d 0a 09 6d 6f 76 09 62 2c 61 09 3b 73 61 76 65 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 0d   ┆e:   mov b,a ;save the function ┆
0x098e80…098ea0             0a 09 6c 78 69 09 68 2c 69 6f 66 09 3b 69 6f 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 6d 6f 76 09 61   ┆  lxi h,iof ;io function   mov a┆
0x098ea0…098ec0             2c 6d 0d 0a 09 61 6e 69 09 31 31 30 30 31 31 31 31 62 09 3b 6d 61 73 6b 20 6f 75 74 20 64 69 73   ┆,m   ani 11001111b ;mask out dis┆
0x098ec0…098ee0             6b 20 6e 75 6d 62 65 72 0d 0a 09 6f 72 61 09 62 09 3b 6d 61 73 6b 20 69 6e 20 6e 65 77 20 64 69   ┆k number   ora b ;mask in new di┆
0x098ee0…098f00             73 6b 20 6e 75 6d 62 65 72 0d 0a 09 6d 6f 76 09 6d 2c 61 09 3b 73 61 76 65 20 69 74 20 69 6e 20   ┆sk number   mov m,a ;save it in ┆
0x098f00…098f20             69 6f 70 62 0d 0a 09 6d 6f 76 09 6c 2c 63 0d 0a 09 6d 76 69 09 68 2c 30 09 3b 48 4c 3d 64 69 73   ┆iopb   mov l,c   mvi h,0 ;HL=dis┆
0x098f20…098f40             6b 20 6e 75 6d 62 65 72 0d 0a 09 64 61 64 09 68 09 3b 2a 32 0d 0a 09 64 61 64 09 68 09 3b 2a 34   ┆k number   dad h ;*2   dad h ;*4┆
0x098f40…098f60             0d 0a 09 64 61 64 09 68 09 3b 2a 38 0d 0a 09 64 61 64 09 68 09 3b 2a 31 36 0d 0a 09 6c 78 69 09   ┆   dad h ;*8   dad h ;*16   lxi ┆
0x098f60…098f80             64 2c 64 70 62 61 73 65 0d 0a 09 64 61 64 09 64 09 3b 48 4c 3d 64 69 73 6b 20 68 65 61 64 65 72   ┆d,dpbase   dad d ;HL=disk header┆
0x098f80…098fa0             20 74 61 62 6c 65 20 61 64 64 72 65 73 73 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 3b 0d 0a 73 65 74 74   ┆ table address   ret  ;  ;  sett┆
0x098fa0…098fc0             72 6b 3a 09 3b 73 65 74 20 74 72 61 63 6b 20 61 64 64 72 65 73 73 20 67 69 76 65 6e 20 62 79 20   ┆rk: ;set track address given by ┆
0x098fc0…098fe0             63 0d 0a 09 6c 78 69 09 68 2c 69 6f 74 0d 0a 09 6d 6f 76 09 6d 2c 63 0d 0a 09 72 65 74 0d 0a 3b   ┆c   lxi h,iot   mov m,c   ret  ;┆
0x098fe0…099000             0d 0a 73 65 74 73 65 63 3a 09 3b 73 65 74 20 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 20 67 69 76   ┆  setsec: ;set sector number giv┆
0x099000…099020 (40, 1, 10) 69 6e 62 79 74 65 09 3b 63 6c 65 61 72 73 20 74 68 65 20 63 6f 6e 74 72 6f 6c 6c 65 72 0d 0a 3b   ┆inbyte ;clears the controller  ;┆
0x099020…099040             0d 0a 09 6c 64 61 09 64 62 61 6e 6b 09 09 3b 73 65 74 20 62 61 6e 6b 20 66 6c 61 67 73 0d 0a 09   ┆   lda dbank  ;set bank flags   ┆
0x099040…099060             6f 72 61 09 61 09 09 3b 7a 65 72 6f 20 69 66 20 64 72 69 76 65 20 30 2c 31 20 61 6e 64 20 6e 7a   ┆ora a  ;zero if drive 0,1 and nz┆
0x099060…099080             20 69 66 20 32 2c 33 0d 0a 09 6d 76 69 09 61 2c 69 6f 70 62 20 61 6e 64 20 30 66 66 68 09 3b 6c   ┆ if 2,3   mvi a,iopb and 0ffh ;l┆
0x099080…0990a0             6f 77 20 61 64 64 72 65 73 73 20 66 6f 72 20 69 6f 70 62 0d 0a 09 6d 76 69 09 62 2c 69 6f 70 62   ┆ow address for iopb   mvi b,iopb┆
0x0990a0…0990c0             20 73 68 72 20 38 09 3b 68 69 67 68 20 61 64 64 72 65 73 73 20 66 6f 72 20 69 6f 70 62 0d 0a 09   ┆ shr 8 ;high address for iopb   ┆
0x0990c0…0990e0             6a 6e 7a 09 69 6f 64 72 31 09 3b 64 72 69 76 65 20 62 61 6e 6b 20 31 3f 0d 0a 09 6f 75 74 09 69   ┆jnz iodr1 ;drive bank 1?   out i┆
0x0990e0…099100             6c 6f 77 09 09 3b 6c 6f 77 20 61 64 64 72 65 73 73 20 74 6f 20 63 6f 6e 74 72 6f 6c 6c 65 72 0d   ┆low  ;low address to controller ┆
0x099100…099120             0a 09 6d 6f 76 09 61 2c 62 0d 0a 09 6f 75 74 09 69 68 69 67 68 09 3b 68 69 67 68 20 61 64 64 72   ┆  mov a,b   out ihigh ;high addr┆
0x099120…099140             65 73 73 0d 0a 09 6a 6d 70 09 77 61 69 74 30 09 09 3b 74 6f 20 77 61 69 74 20 66 6f 72 20 63 6f   ┆ess   jmp wait0  ;to wait for co┆
0x099140…099160             6d 70 6c 65 74 65 0d 0a 3b 0d 0a 69 6f 64 72 31 3a 09 3b 64 72 69 76 65 20 62 61 6e 6b 20 31 0d   ┆mplete  ;  iodr1: ;drive bank 1 ┆
0x099160…099180             0a 09 6f 75 74 09 69 6c 6f 77 2b 31 30 68 09 3b 38 38 20 66 6f 72 20 64 72 69 76 65 20 62 61 6e   ┆  out ilow+10h ;88 for drive ban┆
0x099180…0991a0             6b 20 31 30 0d 0a 09 6d 6f 76 09 61 2c 62 0d 0a 09 6f 75 74 09 69 68 69 67 68 2b 31 30 68 0d 0a   ┆k 10   mov a,b   out ihigh+10h  ┆
0x0991a0…0991c0             3b 0d 0a 77 61 69 74 30 3a 09 63 61 6c 6c 09 69 6e 73 74 61 74 09 09 3b 77 61 69 74 20 66 6f 72   ┆;  wait0: call instat  ;wait for┆
0x0991c0…0991e0             20 63 6f 6d 70 6c 65 74 69 6f 6e 0d 0a 09 61 6e 69 09 69 6f 72 64 79 09 09 3b 72 65 61 64 79 3f   ┆ completion   ani iordy  ;ready?┆
0x0991e0…099200             0d 0a 09 6a 7a 09 77 61 69 74 30 0d 0a 3b 0d 0a 3b 09 63 68 65 63 6b 20 69 6f 20 63 6f 6d 70 6c   ┆   jz wait0  ;  ; check io compl┆
0x099200…099220 (40, 1, 11) 73 74 61 74 20 72 65 61 64 20 64 72 69 76 65 20 62 61 6e 6b 20 30 30 20 6f 72 20 31 30 0d 0a 69   ┆stat read drive bank 00 or 10  i┆
0x099220…099240             6e 74 79 70 65 3a 09 6c 64 61 09 64 62 61 6e 6b 0d 0a 09 6f 72 61 09 61 0d 0a 09 6a 6e 7a 09 69   ┆ntype: lda dbank   ora a   jnz i┆
0x099240…099260             6e 74 79 70 31 09 3b 73 6b 69 70 20 74 6f 20 62 61 6e 6b 20 31 30 0d 0a 09 69 6e 09 72 74 79 70   ┆ntyp1 ;skip to bank 10   in rtyp┆
0x099260…099280             65 0d 0a 09 72 65 74 0d 0a 69 6e 74 79 70 31 3a 09 69 6e 09 72 74 79 70 65 2b 31 30 68 09 3b 37   ┆e   ret  intyp1: in rtype+10h ;7┆
0x099280…0992a0             38 20 66 6f 72 20 30 2c 31 20 20 38 38 20 66 6f 72 20 32 2c 33 0d 0a 09 72 65 74 0d 0a 3b 0d 0a   ┆8 for 0,1  88 for 2,3   ret  ;  ┆
0x0992a0…0992c0             69 6e 62 79 74 65 3a 09 6c 64 61 09 64 62 61 6e 6b 0d 0a 09 6f 72 61 09 61 0d 0a 09 6a 6e 7a 09   ┆inbyte: lda dbank   ora a   jnz ┆
0x0992c0…0992e0             69 6e 62 79 74 31 0d 0a 09 69 6e 09 72 62 79 74 65 0d 0a 09 72 65 74 0d 0a 69 6e 62 79 74 31 3a   ┆inbyt1   in rbyte   ret  inbyt1:┆
0x0992e0…099300             09 69 6e 09 72 62 79 74 65 2b 31 30 68 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 69 6e 73 74 61 74 3a 09   ┆ in rbyte+10h   ret  ;  instat: ┆
0x099300…099320             6c 64 61 09 64 62 61 6e 6b 0d 0a 09 6f 72 61 09 61 0d 0a 09 6a 6e 7a 09 69 6e 73 74 61 31 0d 0a   ┆lda dbank   ora a   jnz insta1  ┆
0x099320…099340             09 69 6e 09 64 73 74 61 74 0d 0a 09 72 65 74 0d 0a 69 6e 73 74 61 31 3a 09 69 6e 09 64 73 74 61   ┆ in dstat   ret  insta1: in dsta┆
0x099340…099360             74 2b 31 30 68 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 3b 0d 0a 3b 0d 0a 3b 09 64 61 74 61 20 61 72 65   ┆t+10h   ret  ;  ;  ;  ; data are┆
0x099360…099380             61 73 20 28 6d 75 73 74 20 62 65 20 69 6e 20 72 61 6d 29 0d 0a 64 62 61 6e 6b 3a 09 64 62 09 30   ┆as (must be in ram)  dbank: db 0┆
0x099380…0993a0             09 3b 64 69 73 6b 20 62 61 6e 6b 20 30 30 20 69 66 20 64 72 69 76 65 20 30 2c 31 0d 0a 09 09 09   ┆ ;disk bank 00 if drive 0,1     ┆
0x0993a0…0993c0             3b 09 20 20 20 31 30 20 69 66 20 64 72 69 76 65 20 32 2c 33 0d 0a 69 6f 70 62 3a 09 3b 69 6f 20   ┆;    10 if drive 2,3  iopb: ;io ┆
0x0993c0…0993e0             70 61 72 61 6d 65 74 65 72 20 62 6c 6f 63 6b 0d 0a 09 64 62 09 38 30 68 09 3b 6e 6f 72 6d 61 6c   ┆parameter block   db 80h ;normal┆
0x0993e0…099400             20 69 2f 6f 20 6f 70 65 72 61 74 69 6f 6e 0d 0a 69 6f 66 3a 09 64 62 09 72 65 61 64 66 09 3b 69   ┆ i/o operation  iof: db readf ;i┆
0x099400…099420 (40, 1, 12) 20 74 6f 20 72 65 67 2d 61 29 0d 0a 3b 09 68 6f 6d 65 09 6d 6f 76 65 20 74 6f 20 74 72 61 63 6b   ┆ to reg-a)  ; home move to track┆
0x099420…099440             20 30 30 0d 0a 3b 0d 0a 3b 09 28 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 61 6c 6c 73 20 73   ┆ 00  ;  ; (the following calls s┆
0x099440…099460             65 74 2d 75 70 20 74 68 65 20 69 6f 20 70 61 72 61 6d 65 74 65 72 20 62 6c 6f 63 6b 20 66 6f 72   ┆et-up the io parameter block for┆
0x099460…099480             20 74 68 65 0d 0a 3b 09 6d 64 73 2c 20 77 68 69 63 68 20 69 73 20 75 73 65 64 20 74 6f 20 70 65   ┆ the  ; mds, which is used to pe┆
0x099480…0994a0             72 66 6f 72 6d 20 73 75 62 73 65 71 75 65 6e 74 20 72 65 61 64 73 20 61 6e 64 20 77 72 69 74 65   ┆rform subsequent reads and write┆
0x0994a0…0994c0             73 29 0d 0a 3b 09 73 65 6c 64 73 6b 09 73 65 6c 65 63 74 20 64 69 73 6b 20 67 69 76 65 6e 20 62   ┆s)  ; seldsk select disk given b┆
0x0994c0…0994e0             79 20 72 65 67 2d 63 20 28 30 2c 31 2c 32 2e 2e 2e 29 0d 0a 3b 09 73 65 74 74 72 6b 09 73 65 74   ┆y reg-c (0,1,2...)  ; settrk set┆
0x0994e0…099500             20 74 72 61 63 6b 20 61 64 64 72 65 73 73 20 28 30 2c 2e 2e 2e 37 36 29 20 66 6f 72 20 73 75 62   ┆ track address (0,...76) for sub┆
0x099500…099520             73 65 71 75 65 6e 74 20 72 65 61 64 2f 77 72 69 74 65 0d 0a 3b 09 73 65 74 73 65 63 09 73 65 74   ┆sequent read/write  ; setsec set┆
0x099520…099540             20 73 65 63 74 6f 72 20 61 64 64 72 65 73 73 20 28 31 2c 2e 2e 2e 2c 32 36 29 20 66 6f 72 20 73   ┆ sector address (1,...,26) for s┆
0x099540…099560             75 62 73 65 71 75 65 6e 74 20 72 65 61 64 2f 77 72 69 74 65 0d 0a 3b 09 73 65 74 64 6d 61 09 73   ┆ubsequent read/write  ; setdma s┆
0x099560…099580             65 74 20 73 75 62 73 65 71 75 65 6e 74 20 64 6d 61 20 61 64 64 72 65 73 73 20 28 69 6e 69 74 69   ┆et subsequent dma address (initi┆
0x099580…0995a0             61 6c 6c 79 20 38 30 68 29 0d 0a 3b 0d 0a 3b 09 28 72 65 61 64 20 61 6e 64 20 77 72 69 74 65 20   ┆ally 80h)  ;  ; (read and write ┆
0x0995a0…0995c0             61 73 73 75 6d 65 20 70 72 65 76 69 6f 75 73 20 63 61 6c 6c 73 20 74 6f 20 73 65 74 20 75 70 20   ┆assume previous calls to set up ┆
0x0995c0…0995e0             74 68 65 20 69 6f 20 70 61 72 61 6d 65 74 65 72 73 29 0d 0a 3b 09 72 65 61 64 09 72 65 61 64 20   ┆the io parameters)  ; read read ┆
0x0995e0…099600             74 72 61 63 6b 2f 73 65 63 74 6f 72 20 74 6f 20 70 72 65 73 65 74 20 64 6d 61 20 61 64 64 72 65   ┆track/sector to preset dma addre┆
0x099600…099620 (40, 1, 13) 65 6e 20 62 79 20 63 0d 0a 09 6c 78 69 09 68 2c 69 6f 73 0d 0a 09 6d 6f 76 09 6d 2c 63 0d 0a 09   ┆en by c   lxi h,ios   mov m,c   ┆
0x099620…099640             72 65 74 0d 0a 73 65 63 74 72 61 6e 3a 0d 0a 09 09 3b 74 72 61 6e 73 6c 61 74 65 20 73 65 63 74   ┆ret  sectran:    ;translate sect┆
0x099640…099660             6f 72 20 62 63 20 75 73 69 6e 67 20 74 61 62 6c 65 20 61 74 20 64 65 0d 0a 09 6d 76 69 09 62 2c   ┆or bc using table at de   mvi b,┆
0x099660…099680             30 09 3b 64 6f 75 62 6c 65 20 70 72 65 63 69 73 69 6f 6e 20 73 65 63 74 6f 72 20 6e 75 6d 62 65   ┆0 ;double precision sector numbe┆
0x099680…0996a0             72 20 69 6e 20 42 43 0d 0a 09 78 63 68 67 09 09 3b 74 72 61 6e 73 6c 61 74 65 20 74 61 62 6c 65   ┆r in BC   xchg  ;translate table┆
0x0996a0…0996c0             20 61 64 64 72 65 73 73 20 74 6f 20 48 4c 0d 0a 09 64 61 64 09 62 09 3b 74 72 61 6e 73 6c 61 74   ┆ address to HL   dad b ;translat┆
0x0996c0…0996e0             65 28 73 65 63 74 6f 72 29 20 61 64 64 72 65 73 73 0d 0a 09 6d 6f 76 09 61 2c 6d 09 3b 74 72 61   ┆e(sector) address   mov a,m ;tra┆
0x0996e0…099700             6e 73 6c 61 74 65 64 20 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 20 74 6f 20 41 0d 0a 09 73 74 61   ┆nslated sector number to A   sta┆
0x099700…099720             09 69 6f 73 0d 0a 09 6d 6f 76 09 6c 2c 61 09 3b 72 65 74 75 72 6e 20 73 65 63 74 6f 72 20 6e 75   ┆ ios   mov l,a ;return sector nu┆
0x099720…099740             6d 62 65 72 20 69 6e 20 4c 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 73 65 74 64 6d 61 3a 09 3b 73 65 74   ┆mber in L   ret  ;  setdma: ;set┆
0x099740…099760             20 64 6d 61 20 61 64 64 72 65 73 73 20 67 69 76 65 6e 20 62 79 20 72 65 67 73 20 62 2c 63 0d 0a   ┆ dma address given by regs b,c  ┆
0x099760…099780             09 6d 6f 76 09 6c 2c 63 0d 0a 09 6d 6f 76 09 68 2c 62 0d 0a 09 73 68 6c 64 09 69 6f 64 0d 0a 09   ┆ mov l,c   mov h,b   shld iod   ┆
0x099780…0997a0             72 65 74 0d 0a 3b 0d 0a 72 65 61 64 3a 09 3b 72 65 61 64 20 6e 65 78 74 20 64 69 73 6b 20 72 65   ┆ret  ;  read: ;read next disk re┆
0x0997a0…0997c0             63 6f 72 64 20 28 61 73 73 75 6d 69 6e 67 20 64 69 73 6b 2f 74 72 6b 2f 73 65 63 2f 64 6d 61 20   ┆cord (assuming disk/trk/sec/dma ┆
0x0997c0…0997e0             73 65 74 29 0d 0a 09 6d 76 69 09 63 2c 72 65 61 64 66 09 3b 73 65 74 20 74 6f 20 72 65 61 64 20   ┆set)   mvi c,readf ;set to read ┆
0x0997e0…099800             66 75 6e 63 74 69 6f 6e 0d 0a 09 63 61 6c 6c 09 73 65 74 66 75 6e 63 0d 0a 09 63 61 6c 6c 09 77   ┆function   call setfunc   call w┆
0x099800…099820 (40, 1, 14) 65 74 69 6f 6e 20 6f 6b 0d 0a 09 63 61 6c 6c 09 69 6e 74 79 70 65 09 09 3b 6d 75 73 74 20 62 65   ┆etion ok   call intype  ;must be┆
0x099820…099840             20 69 6f 20 63 6f 6d 70 6c 65 74 65 20 28 30 30 29 20 75 6e 6c 69 6e 6b 65 64 0d 0a 3b 09 30 30   ┆ io complete (00) unlinked  ; 00┆
0x099840…099860             20 75 6e 6c 69 6e 6b 65 64 20 69 2f 6f 20 63 6f 6d 70 6c 65 74 65 2c 20 20 20 20 30 31 20 6c 69   ┆ unlinked i/o complete,    01 li┆
0x099860…099880             6e 6b 65 64 20 69 2f 6f 20 63 6f 6d 70 6c 65 74 65 20 28 6e 6f 74 20 75 73 65 64 29 0d 0a 3b 09   ┆nked i/o complete (not used)  ; ┆
0x099880…0998a0             31 30 20 64 69 73 6b 20 73 74 61 74 75 73 20 63 68 61 6e 67 65 64 20 20 20 20 20 20 20 31 31 20   ┆10 disk status changed       11 ┆
0x0998a0…0998c0             28 6e 6f 74 20 75 73 65 64 29 0d 0a 09 63 70 69 09 31 30 62 09 09 3b 72 65 61 64 79 20 73 74 61   ┆(not used)   cpi 10b  ;ready sta┆
0x0998c0…0998e0             74 75 73 20 63 68 61 6e 67 65 3f 0d 0a 09 6a 7a 09 77 72 65 61 64 79 0d 0a 3b 0d 0a 3b 09 6d 75   ┆tus change?   jz wready  ;  ; mu┆
0x0998e0…099900             73 74 20 62 65 20 30 30 20 69 6e 20 74 68 65 20 61 63 63 75 6d 75 6c 61 74 6f 72 0d 0a 09 6f 72   ┆st be 00 in the accumulator   or┆
0x099900…099920             61 09 61 0d 0a 09 6a 6e 7a 09 77 65 72 72 6f 72 09 09 3b 73 6f 6d 65 20 6f 74 68 65 72 20 63 6f   ┆a a   jnz werror  ;some other co┆
0x099920…099940             6e 64 69 74 69 6f 6e 2c 20 72 65 74 72 79 0d 0a 3b 0d 0a 3b 09 63 68 65 63 6b 20 69 2f 6f 20 65   ┆ndition, retry  ;  ; check i/o e┆
0x099940…099960             72 72 6f 72 20 62 69 74 73 0d 0a 09 63 61 6c 6c 09 69 6e 62 79 74 65 0d 0a 09 72 61 6c 0d 0a 09   ┆rror bits   call inbyte   ral   ┆
0x099960…099980             6a 63 09 77 72 65 61 64 79 09 09 3b 75 6e 69 74 20 6e 6f 74 20 72 65 61 64 79 0d 0a 09 72 61 72   ┆jc wready  ;unit not ready   rar┆
0x099980…0999a0             0d 0a 09 61 6e 69 09 31 31 31 31 31 31 31 30 62 09 3b 61 6e 79 20 6f 74 68 65 72 20 65 72 72 6f   ┆   ani 11111110b ;any other erro┆
0x0999a0…0999c0             72 73 3f 20 20 28 64 65 6c 65 74 65 64 20 64 61 74 61 20 6f 6b 29 0d 0a 09 6a 6e 7a 09 77 65 72   ┆rs?  (deleted data ok)   jnz wer┆
0x0999c0…0999e0             72 6f 72 0d 0a 3b 0d 0a 3b 09 72 65 61 64 20 6f 72 20 77 72 69 74 65 20 69 73 20 6f 6b 2c 20 61   ┆ror  ;  ; read or write is ok, a┆
0x0999e0…099a00             63 63 75 6d 75 6c 61 74 6f 72 20 63 6f 6e 74 61 69 6e 73 20 7a 65 72 6f 0d 0a 09 72 65 74 0d 0a   ┆ccumulator contains zero   ret  ┆
0x099a00…099a20 (40, 1, 15) 6f 20 66 75 6e 63 74 69 6f 6e 2c 20 69 6e 69 74 69 61 6c 20 72 65 61 64 0d 0a 69 6f 6e 3a 09 64   ┆o function, initial read  ion: d┆
0x099a20…099a40             62 09 31 09 3b 6e 75 6d 62 65 72 20 6f 66 20 73 65 63 74 6f 72 73 20 74 6f 20 72 65 61 64 0d 0a   ┆b 1 ;number of sectors to read  ┆
0x099a40…099a60             69 6f 74 3a 09 64 62 09 6f 66 66 73 65 74 09 3b 74 72 61 63 6b 20 6e 75 6d 62 65 72 0d 0a 69 6f   ┆iot: db offset ;track number  io┆
0x099a60…099a80             73 3a 09 64 62 09 31 09 3b 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 0d 0a 69 6f 64 3a 09 64 77 09   ┆s: db 1 ;sector number  iod: dw ┆
0x099a80…099aa0             62 75 66 66 09 3b 69 6f 20 61 64 64 72 65 73 73 0d 0a 3b 0d 0a 3b 0d 0a 3b 09 64 65 66 69 6e 65   ┆buff ;io address  ;  ;  ; define┆
0x099aa0…099ac0             20 72 61 6d 20 61 72 65 61 73 20 66 6f 72 20 62 64 6f 73 20 6f 70 65 72 61 74 69 6f 6e 0d 0a 09   ┆ ram areas for bdos operation   ┆
0x099ac0…099ae0             65 6e 64 65 66 0d 0a 09 65 6e 64 0d 0a 3b 09 4d 44 53 2d 38 30 30 20 49 2f 4f 20 44 72 69 76 65   ┆endef   end  ; MDS-800 I/O Drive┆
0x099ae0…099b00             72 73 20 66 6f 72 20 43 50 2f 4d 20 32 2e 32 0d 0a 3b 09 28 66 6f 75 72 20 64 72 69 76 65 20 73   ┆rs for CP/M 2.2  ; (four drive s┆
0x099b00…099b20             69 6e 67 6c 65 20 64 65 6e 73 69 74 79 20 76 65 72 73 69 6f 6e 29 0d 0a 3b 0d 0a 3b 09 56 65 72   ┆ingle density version)  ;  ; Ver┆
0x099b20…099b40             73 69 6f 6e 20 32 2e 32 20 46 65 62 72 75 61 72 79 2c 20 31 39 38 30 0d 0a 3b 0d 0a 76 65 72 73   ┆sion 2.2 February, 1980  ;  vers┆
0x099b40…099b60             09 65 71 75 09 32 32 09 3b 76 65 72 73 69 6f 6e 20 32 2e 32 0d 0a 3b 0d 0a 3b 09 43 6f 70 79 72   ┆ equ 22 ;version 2.2  ;  ; Copyr┆
0x099b60…099b80             69 67 68 74 20 28 63 29 20 31 39 38 30 0d 0a 3b 09 44 69 67 69 74 61 6c 20 52 65 73 65 61 72 63   ┆ight (c) 1980  ; Digital Researc┆
0x099b80…099ba0             68 0d 0a 3b 09 42 6f 78 20 35 37 39 2c 20 50 61 63 69 66 69 63 20 47 72 6f 76 65 0d 0a 3b 09 43   ┆h  ; Box 579, Pacific Grove  ; C┆
0x099ba0…099bc0             61 6c 69 66 6f 72 6e 69 61 2c 20 39 33 39 35 30 0d 0a 3b 0d 0a 3b 0d 0a 74 72 75 65 09 65 71 75   ┆alifornia, 93950  ;  ;  true equ┆
0x099bc0…099be0             09 30 66 66 66 66 68 09 3b 76 61 6c 75 65 20 6f 66 20 22 74 72 75 65 22 0d 0a 66 61 6c 73 65 09   ┆ 0ffffh ;value of "true"  false ┆
0x099be0…099c00             65 71 75 09 6e 6f 74 20 74 72 75 65 09 3b 22 66 61 6c 73 65 22 0d 0a 74 65 73 74 09 65 71 75 09   ┆equ not true ;"false"  test equ ┆
0x099c00…099c20 (41, 0, 1)  73 73 0d 0a 3b 09 77 72 69 74 65 09 77 72 69 74 65 20 74 72 61 63 6b 2f 73 65 63 74 6f 72 20 66   ┆ss  ; write write track/sector f┆
0x099c20…099c40             72 6f 6d 20 70 72 65 73 65 74 20 64 6d 61 20 61 64 64 72 65 73 73 0d 0a 3b 0d 0a 3b 09 6a 75 6d   ┆rom preset dma address  ;  ; jum┆
0x099c40…099c60             70 20 76 65 63 74 6f 72 20 66 6f 72 20 69 6e 64 69 76 69 75 61 6c 20 72 6f 75 74 69 6e 65 73 0d   ┆p vector for indiviual routines ┆
0x099c60…099c80             0a 09 6a 6d 70 09 62 6f 6f 74 0d 0a 77 62 6f 6f 74 65 3a 09 6a 6d 70 09 77 62 6f 6f 74 0d 0a 09   ┆  jmp boot  wboote: jmp wboot   ┆
0x099c80…099ca0             6a 6d 70 09 63 6f 6e 73 74 0d 0a 09 6a 6d 70 09 63 6f 6e 69 6e 0d 0a 09 6a 6d 70 09 63 6f 6e 6f   ┆jmp const   jmp conin   jmp cono┆
0x099ca0…099cc0             75 74 0d 0a 09 6a 6d 70 09 6c 69 73 74 0d 0a 09 6a 6d 70 09 70 75 6e 63 68 0d 0a 09 6a 6d 70 09   ┆ut   jmp list   jmp punch   jmp ┆
0x099cc0…099ce0             72 65 61 64 65 72 0d 0a 09 6a 6d 70 09 68 6f 6d 65 0d 0a 09 6a 6d 70 09 73 65 6c 64 73 6b 0d 0a   ┆reader   jmp home   jmp seldsk  ┆
0x099ce0…099d00             09 6a 6d 70 09 73 65 74 74 72 6b 0d 0a 09 6a 6d 70 09 73 65 74 73 65 63 0d 0a 09 6a 6d 70 09 73   ┆ jmp settrk   jmp setsec   jmp s┆
0x099d00…099d20             65 74 64 6d 61 0d 0a 09 6a 6d 70 09 72 65 61 64 0d 0a 09 6a 6d 70 09 77 72 69 74 65 0d 0a 09 6a   ┆etdma   jmp read   jmp write   j┆
0x099d20…099d40             6d 70 09 6c 69 73 74 73 74 09 3b 6c 69 73 74 20 73 74 61 74 75 73 0d 0a 09 6a 6d 70 09 73 65 63   ┆mp listst ;list status   jmp sec┆
0x099d40…099d60             74 72 61 6e 0d 0a 3b 0d 0a 09 6d 61 63 6c 69 62 09 64 69 73 6b 64 65 66 09 3b 6c 6f 61 64 20 74   ┆tran  ;   maclib diskdef ;load t┆
0x099d60…099d80             68 65 20 64 69 73 6b 20 64 65 66 69 6e 69 74 69 6f 6e 20 6c 69 62 72 61 72 79 0d 0a 09 64 69 73   ┆he disk definition library   dis┆
0x099d80…099da0             6b 73 09 34 09 3b 66 6f 75 72 20 64 69 73 6b 73 0d 0a 09 64 69 73 6b 64 65 66 09 30 2c 31 2c 32   ┆ks 4 ;four disks   diskdef 0,1,2┆
0x099da0…099dc0             36 2c 36 2c 31 30 32 34 2c 32 34 33 2c 36 34 2c 36 34 2c 6f 66 66 73 65 74 0d 0a 09 64 69 73 6b   ┆6,6,1024,243,64,64,offset   disk┆
0x099dc0…099de0             64 65 66 09 31 2c 30 0d 0a 09 64 69 73 6b 64 65 66 09 32 2c 30 0d 0a 09 64 69 73 6b 64 65 66 09   ┆def 1,0   diskdef 2,0   diskdef ┆
0x099de0…099e00             33 2c 30 0d 0a 3b 09 65 6e 64 65 66 20 6f 63 63 75 72 73 20 61 74 20 65 6e 64 20 6f 66 20 61 73   ┆3,0  ; endef occurs at end of as┆
0x099e00…099e20 (41, 0, 2)  79 20 73 69 7a 65 20 66 69 6c 6c 65 64 20 62 79 20 72 65 6c 6f 63 61 74 6f 72 0d 0a 09 65 6e 64   ┆y size filled by relocator   end┆
0x099e20…099e40             69 66 0d 0a 09 64 62 09 27 6b 20 43 50 2f 4d 20 76 65 72 73 20 27 0d 0a 09 64 62 09 76 65 72 73   ┆if   db 'k CP/M vers '   db vers┆
0x099e40…099e60             2f 31 30 2b 27 30 27 2c 27 2e 27 2c 76 65 72 73 20 6d 6f 64 20 31 30 2b 27 30 27 0d 0a 09 64 62   ┆/10+'0','.',vers mod 10+'0'   db┆
0x099e60…099e80             09 63 72 2c 6c 66 2c 30 0d 0a 3b 0d 0a 62 6f 6f 74 3a 09 3b 70 72 69 6e 74 20 73 69 67 6e 6f 6e   ┆ cr,lf,0  ;  boot: ;print signon┆
0x099e80…099ea0             20 6d 65 73 73 61 67 65 20 61 6e 64 20 67 6f 20 74 6f 20 63 63 70 0d 0a 3b 09 28 6e 6f 74 65 3a   ┆ message and go to ccp  ; (note:┆
0x099ea0…099ec0             20 6d 64 73 20 62 6f 6f 74 20 69 6e 69 74 69 61 6c 69 7a 65 64 20 69 6f 62 79 74 65 20 61 74 20   ┆ mds boot initialized iobyte at ┆
0x099ec0…099ee0             30 30 30 33 68 29 0d 0a 09 6c 78 69 09 73 70 2c 62 75 66 66 2b 38 30 68 0d 0a 09 6c 78 69 09 68   ┆0003h)   lxi sp,buff+80h   lxi h┆
0x099ee0…099f00             2c 73 69 67 6e 6f 6e 0d 0a 09 63 61 6c 6c 09 70 72 6d 73 67 09 3b 70 72 69 6e 74 20 6d 65 73 73   ┆,signon   call prmsg ;print mess┆
0x099f00…099f20             61 67 65 0d 0a 09 78 72 61 09 61 09 3b 63 6c 65 61 72 20 61 63 63 75 6d 75 6c 61 74 6f 72 0d 0a   ┆age   xra a ;clear accumulator  ┆
0x099f20…099f40             09 73 74 61 09 63 64 69 73 6b 09 3b 73 65 74 20 69 6e 69 74 69 61 6c 6c 79 20 74 6f 20 64 69 73   ┆ sta cdisk ;set initially to dis┆
0x099f40…099f60             6b 20 61 0d 0a 09 6a 6d 70 09 67 6f 63 70 6d 09 3b 67 6f 20 74 6f 20 63 70 2f 6d 0d 0a 3b 0d 0a   ┆k a   jmp gocpm ;go to cp/m  ;  ┆
0x099f60…099f80             3b 0d 0a 77 62 6f 6f 74 3a 3b 09 6c 6f 61 64 65 72 20 6f 6e 20 74 72 61 63 6b 20 30 2c 20 73 65   ┆;  wboot:; loader on track 0, se┆
0x099f80…099fa0             63 74 6f 72 20 31 2c 20 77 68 69 63 68 20 77 69 6c 6c 20 62 65 20 73 6b 69 70 70 65 64 20 66 6f   ┆ctor 1, which will be skipped fo┆
0x099fa0…099fc0             72 20 77 61 72 6d 20 0d 0a 3b 09 72 65 61 64 20 63 70 2f 6d 20 66 72 6f 6d 20 64 69 73 6b 20 2d   ┆r warm   ; read cp/m from disk -┆
0x099fc0…099fe0             20 61 73 73 75 6d 69 6e 67 20 74 68 65 72 65 20 69 73 20 61 20 31 32 38 20 62 79 74 65 20 63 6f   ┆ assuming there is a 128 byte co┆
0x099fe0…09a000             6c 64 20 73 74 61 72 74 0d 0a 3b 09 73 74 61 72 74 2e 0d 0a 3b 0d 0a 09 6c 78 69 09 73 70 2c 62   ┆ld start  ; start.  ;   lxi sp,b┆
0x09a000…09a020 (41, 0, 3)  20 35 0d 0a 09 69 66 09 6e 6f 74 20 74 65 73 74 0d 0a 09 73 74 61 09 37 2a 38 09 3b 6a 6d 70 20   ┆ 5   if not test   sta 7*8 ;jmp ┆
0x09a020…09a040             74 6f 20 6d 6f 6e 38 30 20 28 6d 61 79 20 68 61 76 65 20 62 65 65 6e 20 63 68 61 6e 67 65 64 20   ┆to mon80 (may have been changed ┆
0x09a040…09a060             62 79 20 64 64 74 29 0d 0a 09 6c 78 69 09 68 2c 6d 6f 6e 38 30 0d 0a 09 73 68 6c 64 09 37 2a 38   ┆by ddt)   lxi h,mon80   shld 7*8┆
0x09a060…09a080             2b 31 0d 0a 09 65 6e 64 69 66 0d 0a 3b 09 6c 65 61 76 65 20 69 6f 62 79 74 65 20 73 65 74 0d 0a   ┆+1   endif  ; leave iobyte set  ┆
0x09a080…09a0a0             3b 09 70 72 65 76 69 6f 75 73 6c 79 20 73 65 6c 65 63 74 65 64 20 64 69 73 6b 20 77 61 73 20 62   ┆; previously selected disk was b┆
0x09a0a0…09a0c0             2c 20 73 65 6e 64 20 70 61 72 61 6d 65 74 65 72 20 74 6f 20 63 70 6d 0d 0a 09 6c 64 61 09 63 64   ┆, send parameter to cpm   lda cd┆
0x09a0c0…09a0e0             69 73 6b 09 3b 6c 61 73 74 20 6c 6f 67 67 65 64 20 64 69 73 6b 20 6e 75 6d 62 65 72 0d 0a 09 6d   ┆isk ;last logged disk number   m┆
0x09a0e0…09a100             6f 76 09 63 2c 61 09 3b 73 65 6e 64 20 74 6f 20 63 63 70 20 74 6f 20 6c 6f 67 20 69 74 20 69 6e   ┆ov c,a ;send to ccp to log it in┆
0x09a100…09a120             0d 0a 09 65 69 0d 0a 09 6a 6d 70 09 63 70 6d 62 0d 0a 3b 0d 0a 3b 09 65 72 72 6f 72 20 63 6f 6e   ┆   ei   jmp cpmb  ;  ; error con┆
0x09a120…09a140             64 69 74 69 6f 6e 20 6f 63 63 75 72 72 65 64 2c 20 70 72 69 6e 74 20 6d 65 73 73 61 67 65 20 61   ┆dition occurred, print message a┆
0x09a140…09a160             6e 64 20 72 65 74 72 79 0d 0a 62 6f 6f 74 65 72 72 3a 0d 0a 09 70 6f 70 09 62 09 3b 72 65 63 61   ┆nd retry  booterr:   pop b ;reca┆
0x09a160…09a180             6c 6c 20 63 6f 75 6e 74 73 0d 0a 09 64 63 72 09 63 0d 0a 09 6a 7a 09 62 6f 6f 74 65 72 30 0d 0a   ┆ll counts   dcr c   jz booter0  ┆
0x09a180…09a1a0             3b 09 74 72 79 20 61 67 61 69 6e 0d 0a 09 70 75 73 68 09 62 0d 0a 09 6a 6d 70 09 77 62 6f 6f 74   ┆; try again   push b   jmp wboot┆
0x09a1a0…09a1c0             30 0d 0a 3b 0d 0a 62 6f 6f 74 65 72 30 3a 0d 0a 3b 09 6f 74 68 65 72 77 69 73 65 20 74 6f 6f 20   ┆0  ;  booter0:  ; otherwise too ┆
0x09a1c0…09a1e0             6d 61 6e 79 20 72 65 74 72 69 65 73 0d 0a 09 6c 78 69 09 68 2c 62 6f 6f 74 6d 73 67 0d 0a 09 63   ┆many retries   lxi h,bootmsg   c┆
0x09a1e0…09a200             61 6c 6c 09 70 72 6d 73 67 0d 0a 09 6a 6d 70 09 72 6d 6f 6e 38 30 09 3b 6d 64 73 20 68 61 72 64   ┆all prmsg   jmp rmon80 ;mds hard┆
0x09a200…09a220 (41, 0, 4)  76 69 09 62 2c 30 09 3b 64 6f 75 62 6c 65 20 70 72 65 63 69 73 69 6f 6e 20 73 65 63 74 6f 72 20   ┆vi b,0 ;double precision sector ┆
0x09a220…09a240             6e 75 6d 62 65 72 20 69 6e 20 42 43 0d 0a 09 78 63 68 67 09 09 3b 74 72 61 6e 73 6c 61 74 65 20   ┆number in BC   xchg  ;translate ┆
0x09a240…09a260             74 61 62 6c 65 20 61 64 64 72 65 73 73 20 74 6f 20 48 4c 0d 0a 09 64 61 64 09 62 09 3b 74 72 61   ┆table address to HL   dad b ;tra┆
0x09a260…09a280             6e 73 6c 61 74 65 28 73 65 63 74 6f 72 29 20 61 64 64 72 65 73 73 0d 0a 09 6d 6f 76 09 61 2c 6d   ┆nslate(sector) address   mov a,m┆
0x09a280…09a2a0             09 3b 74 72 61 6e 73 6c 61 74 65 64 20 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 20 74 6f 20 41 0d   ┆ ;translated sector number to A ┆
0x09a2a0…09a2c0             0a 09 73 74 61 09 69 6f 73 0d 0a 09 6d 6f 76 09 6c 2c 61 09 3b 72 65 74 75 72 6e 20 73 65 63 74   ┆  sta ios   mov l,a ;return sect┆
0x09a2c0…09a2e0             6f 72 20 6e 75 6d 62 65 72 20 69 6e 20 4c 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 73 65 74 64 6d 61 3a   ┆or number in L   ret  ;  setdma:┆
0x09a2e0…09a300             09 3b 73 65 74 20 64 6d 61 20 61 64 64 72 65 73 73 20 67 69 76 65 6e 20 62 79 20 72 65 67 73 20   ┆ ;set dma address given by regs ┆
0x09a300…09a320             62 2c 63 0d 0a 09 6d 6f 76 09 6c 2c 63 0d 0a 09 6d 6f 76 09 68 2c 62 0d 0a 09 73 68 6c 64 09 69   ┆b,c   mov l,c   mov h,b   shld i┆
0x09a320…09a340             6f 64 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 72 65 61 64 3a 09 3b 72 65 61 64 20 6e 65 78 74 20 64 69   ┆od   ret  ;  read: ;read next di┆
0x09a340…09a360             73 6b 20 72 65 63 6f 72 64 20 28 61 73 73 75 6d 69 6e 67 20 64 69 73 6b 2f 74 72 6b 2f 73 65 63   ┆sk record (assuming disk/trk/sec┆
0x09a360…09a380             2f 64 6d 61 20 73 65 74 29 0d 0a 09 6d 76 69 09 63 2c 72 65 61 64 66 09 3b 73 65 74 20 74 6f 20   ┆/dma set)   mvi c,readf ;set to ┆
0x09a380…09a3a0             72 65 61 64 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 63 61 6c 6c 09 73 65 74 66 75 6e 63 0d 0a 09 63   ┆read function   call setfunc   c┆
0x09a3a0…09a3c0             61 6c 6c 09 77 61 69 74 69 6f 09 3b 70 65 72 66 6f 72 6d 20 72 65 61 64 20 66 75 6e 63 74 69 6f   ┆all waitio ;perform read functio┆
0x09a3c0…09a3e0             6e 0d 0a 09 72 65 74 09 09 3b 6d 61 79 20 68 61 76 65 20 65 72 72 6f 72 20 73 65 74 20 69 6e 20   ┆n   ret  ;may have error set in ┆
0x09a3e0…09a400             72 65 67 2d 61 0d 0a 3b 0d 0a 3b 0d 0a 77 72 69 74 65 3a 09 3b 64 69 73 6b 20 77 72 69 74 65 20   ┆reg-a  ;  ;  write: ;disk write ┆
0x09a400…09a420 (41, 0, 5)  73 65 6d 62 6c 79 0d 0a 3b 0d 0a 3b 09 65 6e 64 20 6f 66 20 63 6f 6e 74 72 6f 6c 6c 65 72 20 2d   ┆sembly  ;  ; end of controller -┆
0x09a420…09a440             20 69 6e 64 65 70 65 6e 64 65 6e 74 20 63 6f 64 65 2c 20 74 68 65 20 72 65 6d 61 69 6e 69 6e 67   ┆ independent code, the remaining┆
0x09a440…09a460             20 73 75 62 72 6f 75 74 69 6e 65 73 0d 0a 3b 09 61 72 65 20 74 61 69 6c 6f 72 65 64 20 74 6f 20   ┆ subroutines  ; are tailored to ┆
0x09a460…09a480             74 68 65 20 70 61 72 74 69 63 75 6c 61 72 20 6f 70 65 72 61 74 69 6e 67 20 65 6e 76 69 72 6f 6e   ┆the particular operating environ┆
0x09a480…09a4a0             6d 65 6e 74 2c 20 61 6e 64 20 6d 75 73 74 0d 0a 3b 09 62 65 20 61 6c 74 65 72 65 64 20 66 6f 72   ┆ment, and must  ; be altered for┆
0x09a4a0…09a4c0             20 61 6e 79 20 73 79 73 74 65 6d 20 77 68 69 63 68 20 64 69 66 66 65 72 73 20 66 72 6f 6d 20 74   ┆ any system which differs from t┆
0x09a4c0…09a4e0             68 65 20 69 6e 74 65 6c 20 6d 64 73 2e 0d 0a 3b 0d 0a 3b 09 74 68 65 20 66 6f 6c 6c 6f 77 69 6e   ┆he intel mds.  ;  ; the followin┆
0x09a4e0…09a500             67 20 63 6f 64 65 20 61 73 73 75 6d 65 73 20 74 68 65 20 6d 64 73 20 6d 6f 6e 69 74 6f 72 20 65   ┆g code assumes the mds monitor e┆
0x09a500…09a520             78 69 73 74 73 20 61 74 20 30 66 38 30 30 68 0d 0a 3b 09 61 6e 64 20 75 73 65 73 20 74 68 65 20   ┆xists at 0f800h  ; and uses the ┆
0x09a520…09a540             69 2f 6f 20 73 75 62 72 6f 75 74 69 6e 65 73 20 77 69 74 68 69 6e 20 74 68 65 20 6d 6f 6e 69 74   ┆i/o subroutines within the monit┆
0x09a540…09a560             6f 72 0d 0a 3b 0d 0a 3b 09 77 65 20 61 6c 73 6f 20 61 73 73 75 6d 65 20 74 68 65 20 6d 64 73 20   ┆or  ;  ; we also assume the mds ┆
0x09a560…09a580             73 79 73 74 65 6d 20 68 61 73 20 66 6f 75 72 20 64 69 73 6b 20 64 72 69 76 65 73 0d 0a 72 65 76   ┆system has four disk drives  rev┆
0x09a580…09a5a0             72 74 09 65 71 75 09 30 66 64 68 09 3b 69 6e 74 65 72 72 75 70 74 20 72 65 76 65 72 74 20 70 6f   ┆rt equ 0fdh ;interrupt revert po┆
0x09a5a0…09a5c0             72 74 0d 0a 69 6e 74 63 09 65 71 75 09 30 66 63 68 09 3b 69 6e 74 65 72 72 75 70 74 20 6d 61 73   ┆rt  intc equ 0fch ;interrupt mas┆
0x09a5c0…09a5e0             6b 20 70 6f 72 74 0d 0a 69 63 6f 6e 09 65 71 75 09 30 66 33 68 09 3b 69 6e 74 65 72 72 75 70 74   ┆k port  icon equ 0f3h ;interrupt┆
0x09a5e0…09a600             20 63 6f 6e 74 72 6f 6c 20 70 6f 72 74 0d 0a 69 6e 74 65 09 65 71 75 09 30 31 31 31 24 31 31 31   ┆ control port  inte equ 0111$111┆
0x09a600…09a620 (41, 0, 6)  75 66 66 09 3b 75 73 69 6e 67 20 64 6d 61 20 2d 20 74 68 75 73 20 38 30 20 74 68 72 75 20 66 66   ┆uff ;using dma - thus 80 thru ff┆
0x09a620…09a640             20 61 76 61 69 6c 61 62 6c 65 20 66 6f 72 20 73 74 61 63 6b 0d 0a 3b 0d 0a 09 6d 76 69 09 63 2c   ┆ available for stack  ;   mvi c,┆
0x09a640…09a660             72 65 74 72 79 09 3b 6d 61 78 20 72 65 74 72 69 65 73 0d 0a 09 70 75 73 68 09 62 0d 0a 77 62 6f   ┆retry ;max retries   push b  wbo┆
0x09a660…09a680             6f 74 30 3a 09 3b 65 6e 74 65 72 20 68 65 72 65 20 6f 6e 20 65 72 72 6f 72 20 72 65 74 72 69 65   ┆ot0: ;enter here on error retrie┆
0x09a680…09a6a0             73 0d 0a 09 6c 78 69 09 62 2c 63 70 6d 62 09 3b 73 65 74 20 64 6d 61 20 61 64 64 72 65 73 73 20   ┆s   lxi b,cpmb ;set dma address ┆
0x09a6a0…09a6c0             74 6f 20 73 74 61 72 74 20 6f 66 20 64 69 73 6b 20 73 79 73 74 65 6d 0d 0a 09 63 61 6c 6c 09 73   ┆to start of disk system   call s┆
0x09a6c0…09a6e0             65 74 64 6d 61 0d 0a 09 6d 76 69 09 63 2c 30 09 3b 62 6f 6f 74 20 66 72 6f 6d 20 64 72 69 76 65   ┆etdma   mvi c,0 ;boot from drive┆
0x09a6e0…09a700             20 30 0d 0a 09 63 61 6c 6c 09 73 65 6c 64 73 6b 0d 0a 09 6d 76 69 09 63 2c 30 0d 0a 09 63 61 6c   ┆ 0   call seldsk   mvi c,0   cal┆
0x09a700…09a720             6c 09 73 65 74 74 72 6b 09 3b 73 74 61 72 74 20 77 69 74 68 20 74 72 61 63 6b 20 30 0d 0a 09 6d   ┆l settrk ;start with track 0   m┆
0x09a720…09a740             76 69 09 63 2c 32 09 3b 73 74 61 72 74 20 72 65 61 64 69 6e 67 20 73 65 63 74 6f 72 20 32 0d 0a   ┆vi c,2 ;start reading sector 2  ┆
0x09a740…09a760             09 63 61 6c 6c 09 73 65 74 73 65 63 0d 0a 3b 0d 0a 3b 09 72 65 61 64 20 73 65 63 74 6f 72 73 2c   ┆ call setsec  ;  ; read sectors,┆
0x09a760…09a780             20 63 6f 75 6e 74 20 6e 73 65 63 74 73 20 74 6f 20 7a 65 72 6f 0d 0a 09 70 6f 70 09 62 09 3b 31   ┆ count nsects to zero   pop b ;1┆
0x09a780…09a7a0             30 2d 65 72 72 6f 72 20 63 6f 75 6e 74 0d 0a 09 6d 76 69 09 62 2c 6e 73 65 63 74 73 0d 0a 72 64   ┆0-error count   mvi b,nsects  rd┆
0x09a7a0…09a7c0             73 65 63 3a 09 3b 72 65 61 64 20 6e 65 78 74 20 73 65 63 74 6f 72 0d 0a 09 70 75 73 68 09 62 09   ┆sec: ;read next sector   push b ┆
0x09a7c0…09a7e0             3b 73 61 76 65 20 73 65 63 74 6f 72 20 63 6f 75 6e 74 0d 0a 09 63 61 6c 6c 09 72 65 61 64 0d 0a   ┆;save sector count   call read  ┆
0x09a7e0…09a800             09 6a 6e 7a 09 62 6f 6f 74 65 72 72 09 3b 72 65 74 72 79 20 69 66 20 65 72 72 6f 72 73 20 6f 63   ┆ jnz booterr ;retry if errors oc┆
0x09a800…09a820 (41, 0, 7)  77 61 72 65 20 6d 6f 6e 69 74 6f 72 0d 0a 3b 0d 0a 62 6f 6f 74 6d 73 67 3a 0d 0a 09 64 62 09 27   ┆ware monitor  ;  bootmsg:   db '┆
0x09a820…09a840             3f 62 6f 6f 74 27 2c 30 0d 0a 3b 0d 0a 3b 0d 0a 63 6f 6e 73 74 3a 09 3b 63 6f 6e 73 6f 6c 65 20   ┆?boot',0  ;  ;  const: ;console ┆
0x09a840…09a860             73 74 61 74 75 73 20 74 6f 20 72 65 67 2d 61 0d 0a 3b 09 28 65 78 61 63 74 6c 79 20 74 68 65 20   ┆status to reg-a  ; (exactly the ┆
0x09a860…09a880             73 61 6d 65 20 61 73 20 6d 64 73 20 63 61 6c 6c 29 0d 0a 09 6a 6d 70 09 63 73 74 73 0d 0a 3b 0d   ┆same as mds call)   jmp csts  ; ┆
0x09a880…09a8a0             0a 63 6f 6e 69 6e 3a 09 3b 63 6f 6e 73 6f 6c 65 20 63 68 61 72 61 63 74 65 72 20 74 6f 20 72 65   ┆ conin: ;console character to re┆
0x09a8a0…09a8c0             67 2d 61 0d 0a 09 63 61 6c 6c 09 63 69 0d 0a 09 61 6e 69 09 37 66 68 09 3b 72 65 6d 6f 76 65 20   ┆g-a   call ci   ani 7fh ;remove ┆
0x09a8c0…09a8e0             70 61 72 69 74 79 20 62 69 74 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 63 6f 6e 6f 75 74 3a 09 3b 63 6f   ┆parity bit   ret  ;  conout: ;co┆
0x09a8e0…09a900             6e 73 6f 6c 65 20 63 68 61 72 61 63 74 65 72 20 66 72 6f 6d 20 63 20 74 6f 20 63 6f 6e 73 6f 6c   ┆nsole character from c to consol┆
0x09a900…09a920             65 20 6f 75 74 0d 0a 09 6a 6d 70 09 63 6f 0d 0a 3b 0d 0a 6c 69 73 74 3a 09 3b 6c 69 73 74 20 64   ┆e out   jmp co  ;  list: ;list d┆
0x09a920…09a940             65 76 69 63 65 20 6f 75 74 0d 0a 3b 09 28 65 78 61 63 74 6c 79 20 74 68 65 20 73 61 6d 65 20 61   ┆evice out  ; (exactly the same a┆
0x09a940…09a960             73 20 6d 64 73 20 63 61 6c 6c 29 0d 0a 09 6a 6d 70 09 6c 6f 0d 0a 3b 0d 0a 6c 69 73 74 73 74 3a   ┆s mds call)   jmp lo  ;  listst:┆
0x09a960…09a980             0d 0a 09 3b 72 65 74 75 72 6e 20 6c 69 73 74 20 73 74 61 74 75 73 0d 0a 09 78 72 61 09 61 0d 0a   ┆   ;return list status   xra a  ┆
0x09a980…09a9a0             09 72 65 74 09 09 3b 61 6c 77 61 79 73 20 6e 6f 74 20 72 65 61 64 79 0d 0a 3b 0d 0a 70 75 6e 63   ┆ ret  ;always not ready  ;  punc┆
0x09a9a0…09a9c0             68 3a 09 3b 70 75 6e 63 68 20 64 65 76 69 63 65 20 6f 75 74 0d 0a 3b 09 28 65 78 61 63 74 6c 79   ┆h: ;punch device out  ; (exactly┆
0x09a9c0…09a9e0             20 74 68 65 20 73 61 6d 65 20 61 73 20 6d 64 73 20 63 61 6c 6c 29 0d 0a 09 6a 6d 70 09 70 6f 0d   ┆ the same as mds call)   jmp po ┆
0x09a9e0…09aa00             0a 3b 0d 0a 72 65 61 64 65 72 3a 09 3b 72 65 61 64 65 72 20 63 68 61 72 61 63 74 65 72 20 69 6e   ┆ ;  reader: ;reader character in┆
0x09aa00…09aa20 (41, 0, 8)  66 75 6e 63 74 69 6f 6e 0d 0a 09 6d 76 69 09 63 2c 77 72 69 74 66 0d 0a 09 63 61 6c 6c 09 73 65   ┆function   mvi c,writf   call se┆
0x09aa20…09aa40             74 66 75 6e 63 09 3b 73 65 74 20 74 6f 20 77 72 69 74 65 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 63   ┆tfunc ;set to write function   c┆
0x09aa40…09aa60             61 6c 6c 09 77 61 69 74 69 6f 0d 0a 09 72 65 74 09 09 3b 6d 61 79 20 68 61 76 65 20 65 72 72 6f   ┆all waitio   ret  ;may have erro┆
0x09aa60…09aa80             72 20 73 65 74 0d 0a 3b 0d 0a 3b 0d 0a 3b 09 75 74 69 6c 69 74 79 20 73 75 62 72 6f 75 74 69 6e   ┆r set  ;  ;  ; utility subroutin┆
0x09aa80…09aaa0             65 73 0d 0a 70 72 6d 73 67 3a 09 3b 70 72 69 6e 74 20 6d 65 73 73 61 67 65 20 61 74 20 68 2c 6c   ┆es  prmsg: ;print message at h,l┆
0x09aaa0…09aac0             20 74 6f 20 30 0d 0a 09 6d 6f 76 09 61 2c 6d 0d 0a 09 6f 72 61 09 61 09 3b 7a 65 72 6f 3f 0d 0a   ┆ to 0   mov a,m   ora a ;zero?  ┆
0x09aac0…09aae0             09 72 7a 0d 0a 3b 09 6d 6f 72 65 20 74 6f 20 70 72 69 6e 74 0d 0a 09 70 75 73 68 09 68 0d 0a 09   ┆ rz  ; more to print   push h   ┆
0x09aae0…09ab00             6d 6f 76 09 63 2c 61 0d 0a 09 63 61 6c 6c 09 63 6f 6e 6f 75 74 0d 0a 09 70 6f 70 09 68 0d 0a 09   ┆mov c,a   call conout   pop h   ┆
0x09ab00…09ab20             69 6e 78 09 68 0d 0a 09 6a 6d 70 09 70 72 6d 73 67 0d 0a 3b 0d 0a 73 65 74 66 75 6e 63 3a 0d 0a   ┆inx h   jmp prmsg  ;  setfunc:  ┆
0x09ab20…09ab40             3b 09 73 65 74 20 66 75 6e 63 74 69 6f 6e 20 66 6f 72 20 6e 65 78 74 20 69 2f 6f 20 28 63 6f 6d   ┆; set function for next i/o (com┆
0x09ab40…09ab60             6d 61 6e 64 20 69 6e 20 72 65 67 2d 63 29 0d 0a 09 6c 78 69 09 68 2c 69 6f 66 09 3b 69 6f 20 66   ┆mand in reg-c)   lxi h,iof ;io f┆
0x09ab60…09ab80             75 6e 63 74 69 6f 6e 20 61 64 64 72 65 73 73 0d 0a 09 6d 6f 76 09 61 2c 6d 09 3b 67 65 74 20 69   ┆unction address   mov a,m ;get i┆
0x09ab80…09aba0             74 20 74 6f 20 61 63 63 75 6d 75 6c 61 74 6f 72 20 66 6f 72 20 6d 61 73 6b 69 6e 67 0d 0a 09 61   ┆t to accumulator for masking   a┆
0x09aba0…09abc0             6e 69 09 31 31 31 31 31 30 30 30 62 09 3b 72 65 6d 6f 76 65 20 70 72 65 76 69 6f 75 73 20 63 6f   ┆ni 11111000b ;remove previous co┆
0x09abc0…09abe0             6d 6d 61 6e 64 0d 0a 09 6f 72 61 09 63 09 3b 73 65 74 20 74 6f 20 6e 65 77 20 63 6f 6d 6d 61 6e   ┆mmand   ora c ;set to new comman┆
0x09abe0…09ac00             64 0d 0a 09 6d 6f 76 09 6d 2c 61 09 3b 72 65 70 6c 61 63 65 64 20 69 6e 20 69 6f 70 62 0d 0a 3b   ┆d   mov m,a ;replaced in iopb  ;┆
0x09ac00…09ac20 (41, 0, 9)  30 62 09 3b 65 6e 61 62 6c 65 20 72 73 74 20 30 28 77 61 72 6d 20 62 6f 6f 74 29 2c 20 72 73 74   ┆0b ;enable rst 0(warm boot), rst┆
0x09ac20…09ac40             20 37 20 28 6d 6f 6e 69 74 6f 72 29 0d 0a 3b 0d 0a 3b 09 6d 64 73 20 6d 6f 6e 69 74 6f 72 20 65   ┆ 7 (monitor)  ;  ; mds monitor e┆
0x09ac40…09ac60             71 75 61 74 65 73 0d 0a 6d 6f 6e 38 30 09 65 71 75 09 30 66 38 30 30 68 09 3b 6d 64 73 20 6d 6f   ┆quates  mon80 equ 0f800h ;mds mo┆
0x09ac60…09ac80             6e 69 74 6f 72 0d 0a 72 6d 6f 6e 38 30 09 65 71 75 09 30 66 66 30 66 68 09 3b 72 65 73 74 61 72   ┆nitor  rmon80 equ 0ff0fh ;restar┆
0x09ac80…09aca0             74 20 6d 6f 6e 38 30 20 28 62 6f 6f 74 20 65 72 72 6f 72 29 0d 0a 63 69 09 65 71 75 09 30 66 38   ┆t mon80 (boot error)  ci equ 0f8┆
0x09aca0…09acc0             30 33 68 09 3b 63 6f 6e 73 6f 6c 65 20 63 68 61 72 61 63 74 65 72 20 74 6f 20 72 65 67 2d 61 0d   ┆03h ;console character to reg-a ┆
0x09acc0…09ace0             0a 72 69 09 65 71 75 09 30 66 38 30 36 68 09 3b 72 65 61 64 65 72 20 69 6e 20 74 6f 20 72 65 67   ┆ ri equ 0f806h ;reader in to reg┆
0x09ace0…09ad00             2d 61 0d 0a 63 6f 09 65 71 75 09 30 66 38 30 39 68 09 3b 63 6f 6e 73 6f 6c 65 20 63 68 61 72 20   ┆-a  co equ 0f809h ;console char ┆
0x09ad00…09ad20             66 72 6f 6d 20 63 20 74 6f 20 63 6f 6e 73 6f 6c 65 20 6f 75 74 0d 0a 70 6f 09 65 71 75 09 30 66   ┆from c to console out  po equ 0f┆
0x09ad20…09ad40             38 30 63 68 09 3b 70 75 6e 63 68 20 63 68 61 72 20 66 72 6f 6d 20 63 20 74 6f 20 70 75 6e 63 68   ┆80ch ;punch char from c to punch┆
0x09ad40…09ad60             20 64 65 76 69 63 65 0d 0a 6c 6f 09 65 71 75 09 30 66 38 30 66 68 09 3b 6c 69 73 74 20 66 72 6f   ┆ device  lo equ 0f80fh ;list fro┆
0x09ad60…09ad80             6d 20 63 20 74 6f 20 6c 69 73 74 20 64 65 76 69 63 65 0d 0a 63 73 74 73 09 65 71 75 09 30 66 38   ┆m c to list device  csts equ 0f8┆
0x09ad80…09ada0             31 32 68 09 3b 63 6f 6e 73 6f 6c 65 20 73 74 61 74 75 73 20 30 30 2f 66 66 20 74 6f 20 72 65 67   ┆12h ;console status 00/ff to reg┆
0x09ada0…09adc0             69 73 74 65 72 20 61 0d 0a 3b 0d 0a 3b 09 64 69 73 6b 20 70 6f 72 74 73 20 61 6e 64 20 63 6f 6d   ┆ister a  ;  ; disk ports and com┆
0x09adc0…09ade0             6d 61 6e 64 73 0d 0a 62 61 73 65 09 65 71 75 09 37 38 68 09 3b 62 61 73 65 20 6f 66 20 64 69 73   ┆mands  base equ 78h ;base of dis┆
0x09ade0…09ae00             6b 20 63 6f 6d 6d 61 6e 64 20 69 6f 20 70 6f 72 74 73 0d 0a 64 73 74 61 74 09 65 71 75 09 62 61   ┆k command io ports  dstat equ ba┆
0x09ae00…09ae20 (41, 0, 10) 63 75 72 0d 0a 09 6c 68 6c 64 09 69 6f 64 09 3b 69 6e 63 72 65 6d 65 6e 74 20 64 6d 61 20 61 64   ┆cur   lhld iod ;increment dma ad┆
0x09ae20…09ae40             64 72 65 73 73 0d 0a 09 6c 78 69 09 64 2c 31 32 38 09 3b 73 65 63 74 6f 72 20 73 69 7a 65 0d 0a   ┆dress   lxi d,128 ;sector size  ┆
0x09ae40…09ae60             09 64 61 64 09 64 09 3b 69 6e 63 72 65 6d 65 6e 74 65 64 20 64 6d 61 20 61 64 64 72 65 73 73 20   ┆ dad d ;incremented dma address ┆
0x09ae60…09ae80             69 6e 20 68 6c 0d 0a 09 6d 6f 76 09 62 2c 68 0d 0a 09 6d 6f 76 09 63 2c 6c 09 3b 72 65 61 64 79   ┆in hl   mov b,h   mov c,l ;ready┆
0x09ae80…09aea0             20 66 6f 72 20 63 61 6c 6c 20 74 6f 20 73 65 74 20 64 6d 61 0d 0a 09 63 61 6c 6c 09 73 65 74 64   ┆ for call to set dma   call setd┆
0x09aea0…09aec0             6d 61 0d 0a 09 6c 64 61 09 69 6f 73 09 3b 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 20 6a 75 73 74   ┆ma   lda ios ;sector number just┆
0x09aec0…09aee0             20 72 65 61 64 0d 0a 09 63 70 69 09 32 36 09 3b 72 65 61 64 20 6c 61 73 74 20 73 65 63 74 6f 72   ┆ read   cpi 26 ;read last sector┆
0x09aee0…09af00             3f 0d 0a 09 6a 63 09 72 64 31 0d 0a 3b 09 6d 75 73 74 20 62 65 20 73 65 63 74 6f 72 20 32 36 2c   ┆?   jc rd1  ; must be sector 26,┆
0x09af00…09af20             20 7a 65 72 6f 20 61 6e 64 20 67 6f 20 74 6f 20 6e 65 78 74 20 74 72 61 63 6b 0d 0a 09 6c 64 61   ┆ zero and go to next track   lda┆
0x09af20…09af40             09 69 6f 74 09 3b 67 65 74 20 74 72 61 63 6b 20 74 6f 20 72 65 67 69 73 74 65 72 20 61 0d 0a 09   ┆ iot ;get track to register a   ┆
0x09af40…09af60             69 6e 72 09 61 0d 0a 09 6d 6f 76 09 63 2c 61 09 3b 72 65 61 64 79 20 66 6f 72 20 63 61 6c 6c 0d   ┆inr a   mov c,a ;ready for call ┆
0x09af60…09af80             0a 09 63 61 6c 6c 09 73 65 74 74 72 6b 0d 0a 09 78 72 61 09 61 09 3b 63 6c 65 61 72 20 73 65 63   ┆  call settrk   xra a ;clear sec┆
0x09af80…09afa0             74 6f 72 20 6e 75 6d 62 65 72 0d 0a 72 64 31 3a 09 69 6e 72 09 61 09 3b 74 6f 20 6e 65 78 74 20   ┆tor number  rd1: inr a ;to next ┆
0x09afa0…09afc0             73 65 63 74 6f 72 0d 0a 09 6d 6f 76 09 63 2c 61 09 3b 72 65 61 64 79 20 66 6f 72 20 63 61 6c 6c   ┆sector   mov c,a ;ready for call┆
0x09afc0…09afe0             0d 0a 09 63 61 6c 6c 09 73 65 74 73 65 63 0d 0a 09 70 6f 70 09 62 09 3b 72 65 63 61 6c 6c 20 73   ┆   call setsec   pop b ;recall s┆
0x09afe0…09b000             65 63 74 6f 72 20 63 6f 75 6e 74 0d 0a 09 64 63 72 09 62 09 3b 64 6f 6e 65 3f 0d 0a 09 6a 6e 7a   ┆ector count   dcr b ;done?   jnz┆
0x09b000…09b020 (41, 0, 11) 20 74 6f 20 72 65 67 2d 61 0d 0a 3b 09 28 65 78 61 63 74 6c 79 20 74 68 65 20 73 61 6d 65 20 61   ┆ to reg-a  ; (exactly the same a┆
0x09b020…09b040             73 20 6d 64 73 20 63 61 6c 6c 29 0d 0a 09 6a 6d 70 09 72 69 0d 0a 3b 0d 0a 68 6f 6d 65 3a 09 3b   ┆s mds call)   jmp ri  ;  home: ;┆
0x09b040…09b060             6d 6f 76 65 20 74 6f 20 68 6f 6d 65 20 70 6f 73 69 74 69 6f 6e 0d 0a 3b 09 74 72 65 61 74 20 61   ┆move to home position  ; treat a┆
0x09b060…09b080             73 20 74 72 61 63 6b 20 30 30 20 73 65 65 6b 0d 0a 09 6d 76 69 09 63 2c 30 0d 0a 09 6a 6d 70 09   ┆s track 00 seek   mvi c,0   jmp ┆
0x09b080…09b0a0             73 65 74 74 72 6b 0d 0a 3b 0d 0a 73 65 6c 64 73 6b 3a 09 3b 73 65 6c 65 63 74 20 64 69 73 6b 20   ┆settrk  ;  seldsk: ;select disk ┆
0x09b0a0…09b0c0             67 69 76 65 6e 20 62 79 20 72 65 67 69 73 74 65 72 20 63 0d 0a 09 6c 78 69 09 68 2c 30 30 30 30   ┆given by register c   lxi h,0000┆
0x09b0c0…09b0e0             68 09 3b 72 65 74 75 72 6e 20 30 30 30 30 20 69 66 20 65 72 72 6f 72 0d 0a 09 6d 6f 76 09 61 2c   ┆h ;return 0000 if error   mov a,┆
0x09b0e0…09b100             63 0d 0a 09 63 70 69 09 6e 64 69 73 6b 73 09 3b 74 6f 6f 20 6c 61 72 67 65 3f 0d 0a 09 72 6e 63   ┆c   cpi ndisks ;too large?   rnc┆
0x09b100…09b120             09 09 3b 6c 65 61 76 65 20 48 4c 20 3d 20 30 30 30 30 0d 0a 3b 0d 0a 09 61 6e 69 09 31 30 62 09   ┆  ;leave HL = 0000  ;   ani 10b ┆
0x09b120…09b140             3b 30 30 20 30 30 20 66 6f 72 20 64 72 69 76 65 20 30 2c 31 20 61 6e 64 20 31 30 20 31 30 20 66   ┆;00 00 for drive 0,1 and 10 10 f┆
0x09b140…09b160             6f 72 20 64 72 69 76 65 20 32 2c 33 0d 0a 09 73 74 61 09 64 62 61 6e 6b 09 3b 74 6f 20 73 65 6c   ┆or drive 2,3   sta dbank ;to sel┆
0x09b160…09b180             65 63 74 20 64 72 69 76 65 20 62 61 6e 6b 0d 0a 09 6d 6f 76 09 61 2c 63 09 3b 30 30 2c 20 30 31   ┆ect drive bank   mov a,c ;00, 01┆
0x09b180…09b1a0             2c 20 31 30 2c 20 31 31 0d 0a 09 61 6e 69 09 31 62 09 3b 6d 64 73 20 68 61 73 20 30 2c 31 20 61   ┆, 10, 11   ani 1b ;mds has 0,1 a┆
0x09b1a0…09b1c0             74 20 37 38 2c 20 32 2c 33 20 61 74 20 38 38 0d 0a 09 6f 72 61 09 61 09 3b 72 65 73 75 6c 74 20   ┆t 78, 2,3 at 88   ora a ;result ┆
0x09b1c0…09b1e0             30 30 3f 0d 0a 09 6a 7a 09 73 65 74 64 72 69 76 65 0d 0a 09 6d 76 69 09 61 2c 30 30 31 31 30 30   ┆00?   jz setdrive   mvi a,001100┆
0x09b1e0…09b200             30 30 62 09 3b 73 65 6c 65 63 74 73 20 64 72 69 76 65 20 31 20 69 6e 20 62 61 6e 6b 0d 0a 73 65   ┆00b ;selects drive 1 in bank  se┆
0x09b200…09b220 (41, 0, 12) 09 74 68 65 20 6d 64 73 2d 38 30 30 20 63 6f 6e 74 72 6f 6c 6c 65 72 20 72 65 71 75 69 72 65 73   ┆ the mds-800 controller requires┆
0x09b220…09b240             20 64 69 73 6b 20 62 61 6e 6b 20 62 69 74 20 69 6e 20 73 65 63 74 6f 72 20 62 79 74 65 0d 0a 3b   ┆ disk bank bit in sector byte  ;┆
0x09b240…09b260             09 6d 61 73 6b 20 74 68 65 20 62 69 74 20 66 72 6f 6d 20 74 68 65 20 63 75 72 72 65 6e 74 20 69   ┆ mask the bit from the current i┆
0x09b260…09b280             2f 6f 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 61 6e 69 09 30 30 31 30 30 30 30 30 62 09 3b 6d 61 73   ┆/o function   ani 00100000b ;mas┆
0x09b280…09b2a0             6b 20 74 68 65 20 64 69 73 6b 20 73 65 6c 65 63 74 20 62 69 74 0d 0a 09 6c 78 69 09 68 2c 69 6f   ┆k the disk select bit   lxi h,io┆
0x09b2a0…09b2c0             73 09 09 3b 61 64 64 72 65 73 73 20 74 68 65 20 73 65 63 74 6f 72 20 73 65 6c 65 63 74 20 62 79   ┆s  ;address the sector select by┆
0x09b2c0…09b2e0             74 65 0d 0a 09 6f 72 61 09 6d 09 09 3b 73 65 6c 65 63 74 20 70 72 6f 70 65 72 20 64 69 73 6b 20   ┆te   ora m  ;select proper disk ┆
0x09b2e0…09b300             62 61 6e 6b 0d 0a 09 6d 6f 76 09 6d 2c 61 09 09 3b 73 65 74 20 64 69 73 6b 20 73 65 6c 65 63 74   ┆bank   mov m,a  ;set disk select┆
0x09b300…09b320             20 62 69 74 20 6f 6e 2f 6f 66 66 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 77 61 69 74 69 6f 3a 0d 0a 09   ┆ bit on/off   ret  ;  waitio:   ┆
0x09b320…09b340             6d 76 69 09 63 2c 72 65 74 72 79 09 3b 6d 61 78 20 72 65 74 72 69 65 73 20 62 65 66 6f 72 65 20   ┆mvi c,retry ;max retries before ┆
0x09b340…09b360             70 65 72 6d 20 65 72 72 6f 72 0d 0a 72 65 77 61 69 74 3a 0d 0a 3b 09 73 74 61 72 74 20 74 68 65   ┆perm error  rewait:  ; start the┆
0x09b360…09b380             20 69 2f 6f 20 66 75 6e 63 74 69 6f 6e 20 61 6e 64 20 77 61 69 74 20 66 6f 72 20 63 6f 6d 70 6c   ┆ i/o function and wait for compl┆
0x09b380…09b3a0             65 74 69 6f 6e 0d 0a 09 63 61 6c 6c 09 69 6e 74 79 70 65 09 3b 69 6e 20 72 74 79 70 65 0d 0a 09   ┆etion   call intype ;in rtype   ┆
0x09b3a0…09b3c0             63 61 6c 6c 09 69 6e 62 79 74 65 09 3b 63 6c 65 61 72 73 20 74 68 65 20 63 6f 6e 74 72 6f 6c 6c   ┆call inbyte ;clears the controll┆
0x09b3c0…09b3e0             65 72 0d 0a 3b 0d 0a 09 6c 64 61 09 64 62 61 6e 6b 09 09 3b 73 65 74 20 62 61 6e 6b 20 66 6c 61   ┆er  ;   lda dbank  ;set bank fla┆
0x09b3e0…09b400             67 73 0d 0a 09 6f 72 61 09 61 09 09 3b 7a 65 72 6f 20 69 66 20 64 72 69 76 65 20 30 2c 31 20 61   ┆gs   ora a  ;zero if drive 0,1 a┆
0x09b400…09b420 (41, 0, 13) 73 65 09 3b 64 69 73 6b 20 73 74 61 74 75 73 20 28 69 6e 70 75 74 29 0d 0a 72 74 79 70 65 09 65   ┆se ;disk status (input)  rtype e┆
0x09b420…09b440             71 75 09 62 61 73 65 2b 31 09 3b 72 65 73 75 6c 74 20 74 79 70 65 20 28 69 6e 70 75 74 29 0d 0a   ┆qu base+1 ;result type (input)  ┆
0x09b440…09b460             72 62 79 74 65 09 65 71 75 09 62 61 73 65 2b 33 09 3b 72 65 73 75 6c 74 20 62 79 74 65 20 28 69   ┆rbyte equ base+3 ;result byte (i┆
0x09b460…09b480             6e 70 75 74 29 0d 0a 3b 0d 0a 69 6c 6f 77 09 65 71 75 09 62 61 73 65 2b 31 09 3b 69 6f 70 62 20   ┆nput)  ;  ilow equ base+1 ;iopb ┆
0x09b480…09b4a0             6c 6f 77 20 61 64 64 72 65 73 73 20 28 6f 75 74 70 75 74 29 0d 0a 69 68 69 67 68 09 65 71 75 09   ┆low address (output)  ihigh equ ┆
0x09b4a0…09b4c0             62 61 73 65 2b 32 09 3b 69 6f 70 62 20 68 69 67 68 20 61 64 64 72 65 73 73 20 28 6f 75 74 70 75   ┆base+2 ;iopb high address (outpu┆
0x09b4c0…09b4e0             74 29 0d 0a 3b 0d 0a 72 65 61 64 66 09 65 71 75 09 34 68 09 3b 72 65 61 64 20 66 75 6e 63 74 69   ┆t)  ;  readf equ 4h ;read functi┆
0x09b4e0…09b500             6f 6e 0d 0a 77 72 69 74 66 09 65 71 75 09 36 68 09 3b 77 72 69 74 65 20 66 75 6e 63 74 69 6f 6e   ┆on  writf equ 6h ;write function┆
0x09b500…09b520             0d 0a 72 65 63 61 6c 09 65 71 75 09 33 68 09 3b 72 65 63 61 6c 69 62 72 61 74 65 20 64 72 69 76   ┆  recal equ 3h ;recalibrate driv┆
0x09b520…09b540             65 0d 0a 69 6f 72 64 79 09 65 71 75 09 34 68 09 3b 69 2f 6f 20 66 69 6e 69 73 68 65 64 20 6d 61   ┆e  iordy equ 4h ;i/o finished ma┆
0x09b540…09b560             73 6b 0d 0a 63 72 09 65 71 75 09 30 64 68 09 3b 63 61 72 72 69 61 67 65 20 72 65 74 75 72 6e 0d   ┆sk  cr equ 0dh ;carriage return ┆
0x09b560…09b580             0a 6c 66 09 65 71 75 09 30 61 68 09 3b 6c 69 6e 65 20 66 65 65 64 0d 0a 3b 0d 0a 73 69 67 6e 6f   ┆ lf equ 0ah ;line feed  ;  signo┆
0x09b580…09b5a0             6e 3a 09 3b 73 69 67 6e 6f 6e 20 6d 65 73 73 61 67 65 3a 20 78 78 6b 20 63 70 2f 6d 20 76 65 72   ┆n: ;signon message: xxk cp/m ver┆
0x09b5a0…09b5c0             73 20 79 2e 79 0d 0a 09 64 62 09 63 72 2c 6c 66 2c 6c 66 0d 0a 09 69 66 09 74 65 73 74 0d 0a 09   ┆s y.y   db cr,lf,lf   if test   ┆
0x09b5c0…09b5e0             64 62 09 27 33 32 27 09 3b 33 32 6b 20 65 78 61 6d 70 6c 65 20 62 69 6f 73 0d 0a 09 65 6e 64 69   ┆db '32' ;32k example bios   endi┆
0x09b5e0…09b600             66 0d 0a 09 69 66 09 6e 6f 74 20 74 65 73 74 0d 0a 09 64 62 09 27 30 30 27 09 3b 6d 65 6d 6f 72   ┆f   if not test   db '00' ;memor┆
0x09b600…09b620 (41, 0, 14) 09 72 64 73 65 63 0d 0a 3b 0d 0a 3b 09 64 6f 6e 65 20 77 69 74 68 20 74 68 65 20 6c 6f 61 64 2c   ┆ rdsec  ;  ; done with the load,┆
0x09b620…09b640             20 72 65 73 65 74 20 64 65 66 61 75 6c 74 20 62 75 66 66 65 72 20 61 64 64 72 65 73 73 0d 0a 67   ┆ reset default buffer address  g┆
0x09b640…09b660             6f 63 70 6d 3a 09 3b 28 65 6e 74 65 72 20 68 65 72 65 20 66 72 6f 6d 20 63 6f 6c 64 20 73 74 61   ┆ocpm: ;(enter here from cold sta┆
0x09b660…09b680             72 74 20 62 6f 6f 74 29 0d 0a 3b 09 65 6e 61 62 6c 65 20 72 73 74 30 20 61 6e 64 20 72 73 74 37   ┆rt boot)  ; enable rst0 and rst7┆
0x09b680…09b6a0             0d 0a 09 64 69 0d 0a 09 6d 76 69 09 61 2c 31 32 68 09 3b 69 6e 69 74 69 61 6c 69 7a 65 20 63 6f   ┆   di   mvi a,12h ;initialize co┆
0x09b6a0…09b6c0             6d 6d 61 6e 64 0d 0a 09 6f 75 74 09 72 65 76 72 74 0d 0a 09 78 72 61 09 61 0d 0a 09 6f 75 74 09   ┆mmand   out revrt   xra a   out ┆
0x09b6c0…09b6e0             69 6e 74 63 09 3b 63 6c 65 61 72 65 64 0d 0a 09 6d 76 69 09 61 2c 69 6e 74 65 09 3b 72 73 74 30   ┆intc ;cleared   mvi a,inte ;rst0┆
0x09b6e0…09b700             20 61 6e 64 20 72 73 74 37 20 62 69 74 73 20 6f 6e 0d 0a 09 6f 75 74 09 69 6e 74 63 0d 0a 09 78   ┆ and rst7 bits on   out intc   x┆
0x09b700…09b720             72 61 09 61 0d 0a 09 6f 75 74 09 69 63 6f 6e 09 3b 69 6e 74 65 72 72 75 70 74 20 63 6f 6e 74 72   ┆ra a   out icon ;interrupt contr┆
0x09b720…09b740             6f 6c 0d 0a 3b 0d 0a 3b 09 73 65 74 20 64 65 66 61 75 6c 74 20 62 75 66 66 65 72 20 61 64 64 72   ┆ol  ;  ; set default buffer addr┆
0x09b740…09b760             65 73 73 20 74 6f 20 38 30 68 0d 0a 09 6c 78 69 09 62 2c 62 75 66 66 0d 0a 09 63 61 6c 6c 09 73   ┆ess to 80h   lxi b,buff   call s┆
0x09b760…09b780             65 74 64 6d 61 0d 0a 3b 0d 0a 3b 09 72 65 73 65 74 20 6d 6f 6e 69 74 6f 72 20 65 6e 74 72 79 20   ┆etdma  ;  ; reset monitor entry ┆
0x09b780…09b7a0             70 6f 69 6e 74 73 0d 0a 09 6d 76 69 09 61 2c 6a 6d 70 0d 0a 09 73 74 61 09 30 0d 0a 09 6c 78 69   ┆points   mvi a,jmp   sta 0   lxi┆
0x09b7a0…09b7c0             09 68 2c 77 62 6f 6f 74 65 0d 0a 09 73 68 6c 64 09 31 09 3b 6a 6d 70 20 77 62 6f 6f 74 20 61 74   ┆ h,wboote   shld 1 ;jmp wboot at┆
0x09b7c0…09b7e0             20 6c 6f 63 61 74 69 6f 6e 20 30 30 0d 0a 09 73 74 61 09 35 0d 0a 09 6c 78 69 09 68 2c 62 64 6f   ┆ location 00   sta 5   lxi h,bdo┆
0x09b7e0…09b800             73 0d 0a 09 73 68 6c 64 09 36 09 3b 6a 6d 70 20 62 64 6f 73 20 61 74 20 6c 6f 63 61 74 69 6f 6e   ┆s   shld 6 ;jmp bdos at location┆
0x09b800…09b820 (41, 0, 15) 74 64 72 69 76 65 3a 0d 0a 09 6d 6f 76 09 62 2c 61 09 3b 73 61 76 65 20 74 68 65 20 66 75 6e 63   ┆tdrive:   mov b,a ;save the func┆
0x09b820…09b840             74 69 6f 6e 0d 0a 09 6c 78 69 09 68 2c 69 6f 66 09 3b 69 6f 20 66 75 6e 63 74 69 6f 6e 0d 0a 09   ┆tion   lxi h,iof ;io function   ┆
0x09b840…09b860             6d 6f 76 09 61 2c 6d 0d 0a 09 61 6e 69 09 31 31 30 30 31 31 31 31 62 09 3b 6d 61 73 6b 20 6f 75   ┆mov a,m   ani 11001111b ;mask ou┆
0x09b860…09b880             74 20 64 69 73 6b 20 6e 75 6d 62 65 72 0d 0a 09 6f 72 61 09 62 09 3b 6d 61 73 6b 20 69 6e 20 6e   ┆t disk number   ora b ;mask in n┆
0x09b880…09b8a0             65 77 20 64 69 73 6b 20 6e 75 6d 62 65 72 0d 0a 09 6d 6f 76 09 6d 2c 61 09 3b 73 61 76 65 20 69   ┆ew disk number   mov m,a ;save i┆
0x09b8a0…09b8c0             74 20 69 6e 20 69 6f 70 62 0d 0a 09 6d 6f 76 09 6c 2c 63 0d 0a 09 6d 76 69 09 68 2c 30 09 3b 48   ┆t in iopb   mov l,c   mvi h,0 ;H┆
0x09b8c0…09b8e0             4c 3d 64 69 73 6b 20 6e 75 6d 62 65 72 0d 0a 09 64 61 64 09 68 09 3b 2a 32 0d 0a 09 64 61 64 09   ┆L=disk number   dad h ;*2   dad ┆
0x09b8e0…09b900             68 09 3b 2a 34 0d 0a 09 64 61 64 09 68 09 3b 2a 38 0d 0a 09 64 61 64 09 68 09 3b 2a 31 36 0d 0a   ┆h ;*4   dad h ;*8   dad h ;*16  ┆
0x09b900…09b920             09 6c 78 69 09 64 2c 64 70 62 61 73 65 0d 0a 09 64 61 64 09 64 09 3b 48 4c 3d 64 69 73 6b 20 68   ┆ lxi d,dpbase   dad d ;HL=disk h┆
0x09b920…09b940             65 61 64 65 72 20 74 61 62 6c 65 20 61 64 64 72 65 73 73 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 3b 0d   ┆eader table address   ret  ;  ; ┆
0x09b940…09b960             0a 73 65 74 74 72 6b 3a 09 3b 73 65 74 20 74 72 61 63 6b 20 61 64 64 72 65 73 73 20 67 69 76 65   ┆ settrk: ;set track address give┆
0x09b960…09b980             6e 20 62 79 20 63 0d 0a 09 6c 78 69 09 68 2c 69 6f 74 0d 0a 09 6d 6f 76 09 6d 2c 63 0d 0a 09 72   ┆n by c   lxi h,iot   mov m,c   r┆
0x09b980…09b9a0             65 74 0d 0a 3b 0d 0a 73 65 74 73 65 63 3a 09 3b 73 65 74 20 73 65 63 74 6f 72 20 6e 75 6d 62 65   ┆et  ;  setsec: ;set sector numbe┆
0x09b9a0…09b9c0             72 20 67 69 76 65 6e 20 62 79 20 63 0d 0a 09 6c 78 69 09 68 2c 69 6f 73 0d 0a 09 6d 6f 76 09 6d   ┆r given by c   lxi h,ios   mov m┆
0x09b9c0…09b9e0             2c 63 0d 0a 09 72 65 74 0d 0a 73 65 63 74 72 61 6e 3a 0d 0a 09 09 3b 74 72 61 6e 73 6c 61 74 65   ┆,c   ret  sectran:    ;translate┆
0x09b9e0…09ba00             20 73 65 63 74 6f 72 20 62 63 20 75 73 69 6e 67 20 74 61 62 6c 65 20 61 74 20 64 65 0d 0a 09 6d   ┆ sector bc using table at de   m┆
0x09ba00…09ba20 (41, 1, 1)  6e 64 20 6e 7a 20 69 66 20 32 2c 33 0d 0a 09 6d 76 69 09 61 2c 69 6f 70 62 20 61 6e 64 20 30 66   ┆nd nz if 2,3   mvi a,iopb and 0f┆
0x09ba20…09ba40             66 68 09 3b 6c 6f 77 20 61 64 64 72 65 73 73 20 66 6f 72 20 69 6f 70 62 0d 0a 09 6d 76 69 09 62   ┆fh ;low address for iopb   mvi b┆
0x09ba40…09ba60             2c 69 6f 70 62 20 73 68 72 20 38 09 3b 68 69 67 68 20 61 64 64 72 65 73 73 20 66 6f 72 20 69 6f   ┆,iopb shr 8 ;high address for io┆
0x09ba60…09ba80             70 62 0d 0a 09 6a 6e 7a 09 69 6f 64 72 31 09 3b 64 72 69 76 65 20 62 61 6e 6b 20 31 3f 0d 0a 09   ┆pb   jnz iodr1 ;drive bank 1?   ┆
0x09ba80…09baa0             6f 75 74 09 69 6c 6f 77 09 09 3b 6c 6f 77 20 61 64 64 72 65 73 73 20 74 6f 20 63 6f 6e 74 72 6f   ┆out ilow  ;low address to contro┆
0x09baa0…09bac0             6c 6c 65 72 0d 0a 09 6d 6f 76 09 61 2c 62 0d 0a 09 6f 75 74 09 69 68 69 67 68 09 3b 68 69 67 68   ┆ller   mov a,b   out ihigh ;high┆
0x09bac0…09bae0             20 61 64 64 72 65 73 73 0d 0a 09 6a 6d 70 09 77 61 69 74 30 09 09 3b 74 6f 20 77 61 69 74 20 66   ┆ address   jmp wait0  ;to wait f┆
0x09bae0…09bb00             6f 72 20 63 6f 6d 70 6c 65 74 65 0d 0a 3b 0d 0a 69 6f 64 72 31 3a 09 3b 64 72 69 76 65 20 62 61   ┆or complete  ;  iodr1: ;drive ba┆
0x09bb00…09bb20             6e 6b 20 31 0d 0a 09 6f 75 74 09 69 6c 6f 77 2b 31 30 68 09 3b 38 38 20 66 6f 72 20 64 72 69 76   ┆nk 1   out ilow+10h ;88 for driv┆
0x09bb20…09bb40             65 20 62 61 6e 6b 20 31 30 0d 0a 09 6d 6f 76 09 61 2c 62 0d 0a 09 6f 75 74 09 69 68 69 67 68 2b   ┆e bank 10   mov a,b   out ihigh+┆
0x09bb40…09bb60             31 30 68 0d 0a 3b 0d 0a 77 61 69 74 30 3a 09 63 61 6c 6c 09 69 6e 73 74 61 74 09 09 3b 77 61 69   ┆10h  ;  wait0: call instat  ;wai┆
0x09bb60…09bb80             74 20 66 6f 72 20 63 6f 6d 70 6c 65 74 69 6f 6e 0d 0a 09 61 6e 69 09 69 6f 72 64 79 09 09 3b 72   ┆t for completion   ani iordy  ;r┆
0x09bb80…09bba0             65 61 64 79 3f 0d 0a 09 6a 7a 09 77 61 69 74 30 0d 0a 3b 0d 0a 3b 09 63 68 65 63 6b 20 69 6f 20   ┆eady?   jz wait0  ;  ; check io ┆
0x09bba0…09bbc0             63 6f 6d 70 6c 65 74 69 6f 6e 20 6f 6b 0d 0a 09 63 61 6c 6c 09 69 6e 74 79 70 65 09 09 3b 6d 75   ┆completion ok   call intype  ;mu┆
0x09bbc0…09bbe0             73 74 20 62 65 20 69 6f 20 63 6f 6d 70 6c 65 74 65 20 28 30 30 29 20 75 6e 6c 69 6e 6b 65 64 0d   ┆st be io complete (00) unlinked ┆
0x09bbe0…09bc00             0a 3b 09 30 30 20 75 6e 6c 69 6e 6b 65 64 20 69 2f 6f 20 63 6f 6d 70 6c 65 74 65 2c 20 20 20 20   ┆ ; 00 unlinked i/o complete,    ┆
0x09bc00…09bc20 (41, 1, 2)  09 72 74 79 70 65 0d 0a 09 72 65 74 0d 0a 69 6e 74 79 70 31 3a 09 69 6e 09 72 74 79 70 65 2b 31   ┆ rtype   ret  intyp1: in rtype+1┆
0x09bc20…09bc40             30 68 09 3b 37 38 20 66 6f 72 20 30 2c 31 20 20 38 38 20 66 6f 72 20 32 2c 33 0d 0a 09 72 65 74   ┆0h ;78 for 0,1  88 for 2,3   ret┆
0x09bc40…09bc60             0d 0a 3b 0d 0a 69 6e 62 79 74 65 3a 09 6c 64 61 09 64 62 61 6e 6b 0d 0a 09 6f 72 61 09 61 0d 0a   ┆  ;  inbyte: lda dbank   ora a  ┆
0x09bc60…09bc80             09 6a 6e 7a 09 69 6e 62 79 74 31 0d 0a 09 69 6e 09 72 62 79 74 65 0d 0a 09 72 65 74 0d 0a 69 6e   ┆ jnz inbyt1   in rbyte   ret  in┆
0x09bc80…09bca0             62 79 74 31 3a 09 69 6e 09 72 62 79 74 65 2b 31 30 68 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 69 6e 73   ┆byt1: in rbyte+10h   ret  ;  ins┆
0x09bca0…09bcc0             74 61 74 3a 09 6c 64 61 09 64 62 61 6e 6b 0d 0a 09 6f 72 61 09 61 0d 0a 09 6a 6e 7a 09 69 6e 73   ┆tat: lda dbank   ora a   jnz ins┆
0x09bcc0…09bce0             74 61 31 0d 0a 09 69 6e 09 64 73 74 61 74 0d 0a 09 72 65 74 0d 0a 69 6e 73 74 61 31 3a 09 69 6e   ┆ta1   in dstat   ret  insta1: in┆
0x09bce0…09bd00             09 64 73 74 61 74 2b 31 30 68 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 3b 0d 0a 3b 0d 0a 3b 09 64 61 74   ┆ dstat+10h   ret  ;  ;  ;  ; dat┆
0x09bd00…09bd20             61 20 61 72 65 61 73 20 28 6d 75 73 74 20 62 65 20 69 6e 20 72 61 6d 29 0d 0a 64 62 61 6e 6b 3a   ┆a areas (must be in ram)  dbank:┆
0x09bd20…09bd40             09 64 62 09 30 09 3b 64 69 73 6b 20 62 61 6e 6b 20 30 30 20 69 66 20 64 72 69 76 65 20 30 2c 31   ┆ db 0 ;disk bank 00 if drive 0,1┆
0x09bd40…09bd60             0d 0a 09 09 09 3b 09 20 20 20 31 30 20 69 66 20 64 72 69 76 65 20 32 2c 33 0d 0a 69 6f 70 62 3a   ┆     ;    10 if drive 2,3  iopb:┆
0x09bd60…09bd80             09 3b 69 6f 20 70 61 72 61 6d 65 74 65 72 20 62 6c 6f 63 6b 0d 0a 09 64 62 09 38 30 68 09 3b 6e   ┆ ;io parameter block   db 80h ;n┆
0x09bd80…09bda0             6f 72 6d 61 6c 20 69 2f 6f 20 6f 70 65 72 61 74 69 6f 6e 0d 0a 69 6f 66 3a 09 64 62 09 72 65 61   ┆ormal i/o operation  iof: db rea┆
0x09bda0…09bdc0             64 66 09 3b 69 6f 20 66 75 6e 63 74 69 6f 6e 2c 20 69 6e 69 74 69 61 6c 20 72 65 61 64 0d 0a 69   ┆df ;io function, initial read  i┆
0x09bdc0…09bde0             6f 6e 3a 09 64 62 09 31 09 3b 6e 75 6d 62 65 72 20 6f 66 20 73 65 63 74 6f 72 73 20 74 6f 20 72   ┆on: db 1 ;number of sectors to r┆
0x09bde0…09be00             65 61 64 0d 0a 69 6f 74 3a 09 64 62 09 6f 66 66 73 65 74 09 3b 74 72 61 63 6b 20 6e 75 6d 62 65   ┆ead  iot: db offset ;track numbe┆
0x09be00…09be20 (41, 1, 3)  6b 20 66 6f 72 20 74 68 65 0d 0a 3b 09 6d 64 73 2c 20 77 68 69 63 68 20 69 73 20 75 73 65 64 20   ┆k for the  ; mds, which is used ┆
0x09be20…09be40             74 6f 20 70 65 72 66 6f 72 6d 20 73 75 62 73 65 71 75 65 6e 74 20 72 65 61 64 73 20 61 6e 64 20   ┆to perform subsequent reads and ┆
0x09be40…09be60             77 72 69 74 65 73 29 0d 0a 3b 09 73 65 6c 64 73 6b 09 73 65 6c 65 63 74 20 64 69 73 6b 20 67 69   ┆writes)  ; seldsk select disk gi┆
0x09be60…09be80             76 65 6e 20 62 79 20 72 65 67 2d 63 20 28 30 2c 31 2c 32 2e 2e 2e 29 0d 0a 3b 09 73 65 74 74 72   ┆ven by reg-c (0,1,2...)  ; settr┆
0x09be80…09bea0             6b 09 73 65 74 20 74 72 61 63 6b 20 61 64 64 72 65 73 73 20 28 30 2c 2e 2e 2e 37 36 29 20 66 6f   ┆k set track address (0,...76) fo┆
0x09bea0…09bec0             72 20 73 75 62 73 65 71 75 65 6e 74 20 72 65 61 64 2f 77 72 69 74 65 0d 0a 3b 09 73 65 74 73 65   ┆r subsequent read/write  ; setse┆
0x09bec0…09bee0             63 09 73 65 74 20 73 65 63 74 6f 72 20 61 64 64 72 65 73 73 20 28 31 2c 2e 2e 2e 2c 32 36 29 20   ┆c set sector address (1,...,26) ┆
0x09bee0…09bf00             66 6f 72 20 73 75 62 73 65 71 75 65 6e 74 20 72 65 61 64 2f 77 72 69 74 65 0d 0a 3b 09 73 65 74   ┆for subsequent read/write  ; set┆
0x09bf00…09bf20             64 6d 61 09 73 65 74 20 73 75 62 73 65 71 75 65 6e 74 20 64 6d 61 20 61 64 64 72 65 73 73 20 28   ┆dma set subsequent dma address (┆
0x09bf20…09bf40             69 6e 69 74 69 61 6c 6c 79 20 38 30 68 29 0d 0a 3b 0d 0a 3b 09 28 72 65 61 64 20 61 6e 64 20 77   ┆initially 80h)  ;  ; (read and w┆
0x09bf40…09bf60             72 69 74 65 20 61 73 73 75 6d 65 20 70 72 65 76 69 6f 75 73 20 63 61 6c 6c 73 20 74 6f 20 73 65   ┆rite assume previous calls to se┆
0x09bf60…09bf80             74 20 75 70 20 74 68 65 20 69 6f 20 70 61 72 61 6d 65 74 65 72 73 29 0d 0a 3b 09 72 65 61 64 09   ┆t up the io parameters)  ; read ┆
0x09bf80…09bfa0             72 65 61 64 20 74 72 61 63 6b 2f 73 65 63 74 6f 72 20 74 6f 20 70 72 65 73 65 74 20 64 6d 61 20   ┆read track/sector to preset dma ┆
0x09bfa0…09bfc0             61 64 64 72 65 73 73 0d 0a 3b 09 77 72 69 74 65 09 77 72 69 74 65 20 74 72 61 63 6b 2f 73 65 63   ┆address  ; write write track/sec┆
0x09bfc0…09bfe0             74 6f 72 20 66 72 6f 6d 20 70 72 65 73 65 74 20 64 6d 61 20 61 64 64 72 65 73 73 0d 0a 3b 0d 0a   ┆tor from preset dma address  ;  ┆
0x09bfe0…09c000             3b 09 6a 75 6d 70 20 76 65 63 74 6f 72 20 66 6f 72 20 69 6e 64 69 76 69 75 61 6c 20 72 6f 75 74   ┆; jump vector for indiviual rout┆
0x09c000…09c020 (41, 1, 4)  74 65 20 28 69 6e 70 75 74 29 0d 0a 3b 0d 0a 69 6c 6f 77 09 65 71 75 09 62 61 73 65 2b 31 09 3b   ┆te (input)  ;  ilow equ base+1 ;┆
0x09c020…09c040             69 6f 70 62 20 6c 6f 77 20 61 64 64 72 65 73 73 20 28 6f 75 74 70 75 74 29 0d 0a 69 68 69 67 68   ┆iopb low address (output)  ihigh┆
0x09c040…09c060             09 65 71 75 09 62 61 73 65 2b 32 09 3b 69 6f 70 62 20 68 69 67 68 20 61 64 64 72 65 73 73 20 28   ┆ equ base+2 ;iopb high address (┆
0x09c060…09c080             6f 75 74 70 75 74 29 0d 0a 3b 0d 0a 72 65 61 64 66 09 65 71 75 09 34 68 09 3b 72 65 61 64 20 66   ┆output)  ;  readf equ 4h ;read f┆
0x09c080…09c0a0             75 6e 63 74 69 6f 6e 0d 0a 77 72 69 74 66 09 65 71 75 09 36 68 09 3b 77 72 69 74 65 20 66 75 6e   ┆unction  writf equ 6h ;write fun┆
0x09c0a0…09c0c0             63 74 69 6f 6e 0d 0a 72 65 63 61 6c 09 65 71 75 09 33 68 09 3b 72 65 63 61 6c 69 62 72 61 74 65   ┆ction  recal equ 3h ;recalibrate┆
0x09c0c0…09c0e0             20 64 72 69 76 65 0d 0a 69 6f 72 64 79 09 65 71 75 09 34 68 09 3b 69 2f 6f 20 66 69 6e 69 73 68   ┆ drive  iordy equ 4h ;i/o finish┆
0x09c0e0…09c100             65 64 20 6d 61 73 6b 0d 0a 63 72 09 65 71 75 09 30 64 68 09 3b 63 61 72 72 69 61 67 65 20 72 65   ┆ed mask  cr equ 0dh ;carriage re┆
0x09c100…09c120             74 75 72 6e 0d 0a 6c 66 09 65 71 75 09 30 61 68 09 3b 6c 69 6e 65 20 66 65 65 64 0d 0a 3b 0d 0a   ┆turn  lf equ 0ah ;line feed  ;  ┆
0x09c120…09c140             73 69 67 6e 6f 6e 3a 09 3b 73 69 67 6e 6f 6e 20 6d 65 73 73 61 67 65 3a 20 78 78 6b 20 63 70 2f   ┆signon: ;signon message: xxk cp/┆
0x09c140…09c160             6d 20 76 65 72 73 20 79 2e 79 0d 0a 09 64 62 09 63 72 2c 6c 66 2c 6c 66 0d 0a 09 69 66 09 74 65   ┆m vers y.y   db cr,lf,lf   if te┆
0x09c160…09c180             73 74 0d 0a 09 64 62 09 27 33 32 27 09 3b 33 32 6b 20 65 78 61 6d 70 6c 65 20 62 69 6f 73 0d 0a   ┆st   db '32' ;32k example bios  ┆
0x09c180…09c1a0             09 65 6e 64 69 66 0d 0a 09 69 66 09 6e 6f 74 20 74 65 73 74 0d 0a 09 64 62 09 27 30 30 27 09 3b   ┆ endif   if not test   db '00' ;┆
0x09c1a0…09c1c0             6d 65 6d 6f 72 79 20 73 69 7a 65 20 66 69 6c 6c 65 64 20 62 79 20 72 65 6c 6f 63 61 74 6f 72 0d   ┆memory size filled by relocator ┆
0x09c1c0…09c1e0             0a 09 65 6e 64 69 66 0d 0a 09 64 62 09 27 6b 20 43 50 2f 4d 20 76 65 72 73 20 27 0d 0a 09 64 62   ┆  endif   db 'k CP/M vers '   db┆
0x09c1e0…09c200             09 76 65 72 73 2f 31 30 2b 27 30 27 2c 27 2e 27 2c 76 65 72 73 20 6d 6f 64 20 31 30 2b 27 30 27   ┆ vers/10+'0','.',vers mod 10+'0'┆
0x09c200…09c220 (41, 1, 5)  30 31 20 6c 69 6e 6b 65 64 20 69 2f 6f 20 63 6f 6d 70 6c 65 74 65 20 28 6e 6f 74 20 75 73 65 64   ┆01 linked i/o complete (not used┆
0x09c220…09c240             29 0d 0a 3b 09 31 30 20 64 69 73 6b 20 73 74 61 74 75 73 20 63 68 61 6e 67 65 64 20 20 20 20 20   ┆)  ; 10 disk status changed     ┆
0x09c240…09c260             20 20 31 31 20 28 6e 6f 74 20 75 73 65 64 29 0d 0a 09 63 70 69 09 31 30 62 09 09 3b 72 65 61 64   ┆  11 (not used)   cpi 10b  ;read┆
0x09c260…09c280             79 20 73 74 61 74 75 73 20 63 68 61 6e 67 65 3f 0d 0a 09 6a 7a 09 77 72 65 61 64 79 0d 0a 3b 0d   ┆y status change?   jz wready  ; ┆
0x09c280…09c2a0             0a 3b 09 6d 75 73 74 20 62 65 20 30 30 20 69 6e 20 74 68 65 20 61 63 63 75 6d 75 6c 61 74 6f 72   ┆ ; must be 00 in the accumulator┆
0x09c2a0…09c2c0             0d 0a 09 6f 72 61 09 61 0d 0a 09 6a 6e 7a 09 77 65 72 72 6f 72 09 09 3b 73 6f 6d 65 20 6f 74 68   ┆   ora a   jnz werror  ;some oth┆
0x09c2c0…09c2e0             65 72 20 63 6f 6e 64 69 74 69 6f 6e 2c 20 72 65 74 72 79 0d 0a 3b 0d 0a 3b 09 63 68 65 63 6b 20   ┆er condition, retry  ;  ; check ┆
0x09c2e0…09c300             69 2f 6f 20 65 72 72 6f 72 20 62 69 74 73 0d 0a 09 63 61 6c 6c 09 69 6e 62 79 74 65 0d 0a 09 72   ┆i/o error bits   call inbyte   r┆
0x09c300…09c320             61 6c 0d 0a 09 6a 63 09 77 72 65 61 64 79 09 09 3b 75 6e 69 74 20 6e 6f 74 20 72 65 61 64 79 0d   ┆al   jc wready  ;unit not ready ┆
0x09c320…09c340             0a 09 72 61 72 0d 0a 09 61 6e 69 09 31 31 31 31 31 31 31 30 62 09 3b 61 6e 79 20 6f 74 68 65 72   ┆  rar   ani 11111110b ;any other┆
0x09c340…09c360             20 65 72 72 6f 72 73 3f 20 20 28 64 65 6c 65 74 65 64 20 64 61 74 61 20 6f 6b 29 0d 0a 09 6a 6e   ┆ errors?  (deleted data ok)   jn┆
0x09c360…09c380             7a 09 77 65 72 72 6f 72 0d 0a 3b 0d 0a 3b 09 72 65 61 64 20 6f 72 20 77 72 69 74 65 20 69 73 20   ┆z werror  ;  ; read or write is ┆
0x09c380…09c3a0             6f 6b 2c 20 61 63 63 75 6d 75 6c 61 74 6f 72 20 63 6f 6e 74 61 69 6e 73 20 7a 65 72 6f 0d 0a 09   ┆ok, accumulator contains zero   ┆
0x09c3a0…09c3c0             72 65 74 0d 0a 3b 0d 0a 77 72 65 61 64 79 3a 09 3b 6e 6f 74 20 72 65 61 64 79 2c 20 74 72 65 61   ┆ret  ;  wready: ;not ready, trea┆
0x09c3c0…09c3e0             74 20 61 73 20 65 72 72 6f 72 20 66 6f 72 20 6e 6f 77 0d 0a 09 63 61 6c 6c 09 69 6e 62 79 74 65   ┆t as error for now   call inbyte┆
0x09c3e0…09c400             09 09 3b 63 6c 65 61 72 20 72 65 73 75 6c 74 20 62 79 74 65 0d 0a 09 6a 6d 70 09 74 72 79 63 6f   ┆  ;clear result byte   jmp tryco┆
0x09c400…09c420 (41, 1, 6)  72 0d 0a 69 6f 73 3a 09 64 62 09 31 09 3b 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 0d 0a 69 6f 64   ┆r  ios: db 1 ;sector number  iod┆
0x09c420…09c440             3a 09 64 77 09 62 75 66 66 09 3b 69 6f 20 61 64 64 72 65 73 73 0d 0a 3b 0d 0a 3b 0d 0a 3b 09 64   ┆: dw buff ;io address  ;  ;  ; d┆
0x09c440…09c460             65 66 69 6e 65 20 72 61 6d 20 61 72 65 61 73 20 66 6f 72 20 62 64 6f 73 20 6f 70 65 72 61 74 69   ┆efine ram areas for bdos operati┆
0x09c460…09c480             6f 6e 0d 0a 09 65 6e 64 65 66 0d 0a 09 65 6e 64 0d 0a 3b 09 4d 44 53 2d 38 30 30 20 49 2f 4f 20   ┆on   endef   end  ; MDS-800 I/O ┆
0x09c480…09c4a0             44 72 69 76 65 72 73 20 66 6f 72 20 43 50 2f 4d 20 32 2e 32 0d 0a 3b 09 28 66 6f 75 72 20 64 72   ┆Drivers for CP/M 2.2  ; (four dr┆
0x09c4a0…09c4c0             69 76 65 20 73 69 6e 67 6c 65 20 64 65 6e 73 69 74 79 20 76 65 72 73 69 6f 6e 29 0d 0a 3b 0d 0a   ┆ive single density version)  ;  ┆
0x09c4c0…09c4e0             3b 09 56 65 72 73 69 6f 6e 20 32 2e 32 20 46 65 62 72 75 61 72 79 2c 20 31 39 38 30 0d 0a 3b 0d   ┆; Version 2.2 February, 1980  ; ┆
0x09c4e0…09c500             0a 76 65 72 73 09 65 71 75 09 32 32 09 3b 76 65 72 73 69 6f 6e 20 32 2e 32 0d 0a 3b 0d 0a 3b 09   ┆ vers equ 22 ;version 2.2  ;  ; ┆
0x09c500…09c520             43 6f 70 79 72 69 67 68 74 20 28 63 29 20 31 39 38 30 0d 0a 3b 09 44 69 67 69 74 61 6c 20 52 65   ┆Copyright (c) 1980  ; Digital Re┆
0x09c520…09c540             73 65 61 72 63 68 0d 0a 3b 09 42 6f 78 20 35 37 39 2c 20 50 61 63 69 66 69 63 20 47 72 6f 76 65   ┆search  ; Box 579, Pacific Grove┆
0x09c540…09c560             0d 0a 3b 09 43 61 6c 69 66 6f 72 6e 69 61 2c 20 39 33 39 35 30 0d 0a 3b 0d 0a 3b 0d 0a 74 72 75   ┆  ; California, 93950  ;  ;  tru┆
0x09c560…09c580             65 09 65 71 75 09 30 66 66 66 66 68 09 3b 76 61 6c 75 65 20 6f 66 20 22 74 72 75 65 22 0d 0a 66   ┆e equ 0ffffh ;value of "true"  f┆
0x09c580…09c5a0             61 6c 73 65 09 65 71 75 09 6e 6f 74 20 74 72 75 65 09 3b 22 66 61 6c 73 65 22 0d 0a 74 65 73 74   ┆alse equ not true ;"false"  test┆
0x09c5a0…09c5c0             09 65 71 75 09 66 61 6c 73 65 09 3b 74 72 75 65 20 69 66 20 74 65 73 74 20 62 69 6f 73 0d 0a 3b   ┆ equ false ;true if test bios  ;┆
0x09c5c0…09c5e0             0d 0a 09 69 66 09 74 65 73 74 0d 0a 62 69 61 73 09 65 71 75 09 30 33 34 30 30 68 09 3b 62 61 73   ┆   if test  bias equ 03400h ;bas┆
0x09c5e0…09c600             65 20 6f 66 20 43 43 50 20 69 6e 20 74 65 73 74 20 73 79 73 74 65 6d 0d 0a 09 65 6e 64 69 66 0d   ┆e of CCP in test system   endif ┆
0x09c600…09c620 (41, 1, 7)  69 6e 65 73 0d 0a 09 6a 6d 70 09 62 6f 6f 74 0d 0a 77 62 6f 6f 74 65 3a 09 6a 6d 70 09 77 62 6f   ┆ines   jmp boot  wboote: jmp wbo┆
0x09c620…09c640             6f 74 0d 0a 09 6a 6d 70 09 63 6f 6e 73 74 0d 0a 09 6a 6d 70 09 63 6f 6e 69 6e 0d 0a 09 6a 6d 70   ┆ot   jmp const   jmp conin   jmp┆
0x09c640…09c660             09 63 6f 6e 6f 75 74 0d 0a 09 6a 6d 70 09 6c 69 73 74 0d 0a 09 6a 6d 70 09 70 75 6e 63 68 0d 0a   ┆ conout   jmp list   jmp punch  ┆
0x09c660…09c680             09 6a 6d 70 09 72 65 61 64 65 72 0d 0a 09 6a 6d 70 09 68 6f 6d 65 0d 0a 09 6a 6d 70 09 73 65 6c   ┆ jmp reader   jmp home   jmp sel┆
0x09c680…09c6a0             64 73 6b 0d 0a 09 6a 6d 70 09 73 65 74 74 72 6b 0d 0a 09 6a 6d 70 09 73 65 74 73 65 63 0d 0a 09   ┆dsk   jmp settrk   jmp setsec   ┆
0x09c6a0…09c6c0             6a 6d 70 09 73 65 74 64 6d 61 0d 0a 09 6a 6d 70 09 72 65 61 64 0d 0a 09 6a 6d 70 09 77 72 69 74   ┆jmp setdma   jmp read   jmp writ┆
0x09c6c0…09c6e0             65 0d 0a 09 6a 6d 70 09 6c 69 73 74 73 74 09 3b 6c 69 73 74 20 73 74 61 74 75 73 0d 0a 09 6a 6d   ┆e   jmp listst ;list status   jm┆
0x09c6e0…09c700             70 09 73 65 63 74 72 61 6e 0d 0a 3b 0d 0a 09 6d 61 63 6c 69 62 09 64 69 73 6b 64 65 66 09 3b 6c   ┆p sectran  ;   maclib diskdef ;l┆
0x09c700…09c720             6f 61 64 20 74 68 65 20 64 69 73 6b 20 64 65 66 69 6e 69 74 69 6f 6e 20 6c 69 62 72 61 72 79 0d   ┆oad the disk definition library ┆
0x09c720…09c740             0a 09 64 69 73 6b 73 09 34 09 3b 66 6f 75 72 20 64 69 73 6b 73 0d 0a 09 64 69 73 6b 64 65 66 09   ┆  disks 4 ;four disks   diskdef ┆
0x09c740…09c760             30 2c 31 2c 32 36 2c 36 2c 31 30 32 34 2c 32 34 33 2c 36 34 2c 36 34 2c 6f 66 66 73 65 74 0d 0a   ┆0,1,26,6,1024,243,64,64,offset  ┆
0x09c760…09c780             09 64 69 73 6b 64 65 66 09 31 2c 30 0d 0a 09 64 69 73 6b 64 65 66 09 32 2c 30 0d 0a 09 64 69 73   ┆ diskdef 1,0   diskdef 2,0   dis┆
0x09c780…09c7a0             6b 64 65 66 09 33 2c 30 0d 0a 3b 09 65 6e 64 65 66 20 6f 63 63 75 72 73 20 61 74 20 65 6e 64 20   ┆kdef 3,0  ; endef occurs at end ┆
0x09c7a0…09c7c0             6f 66 20 61 73 73 65 6d 62 6c 79 0d 0a 3b 0d 0a 3b 09 65 6e 64 20 6f 66 20 63 6f 6e 74 72 6f 6c   ┆of assembly  ;  ; end of control┆
0x09c7c0…09c7e0             6c 65 72 20 2d 20 69 6e 64 65 70 65 6e 64 65 6e 74 20 63 6f 64 65 2c 20 74 68 65 20 72 65 6d 61   ┆ler - independent code, the rema┆
0x09c7e0…09c800             69 6e 69 6e 67 20 73 75 62 72 6f 75 74 69 6e 65 73 0d 0a 3b 09 61 72 65 20 74 61 69 6c 6f 72 65   ┆ining subroutines  ; are tailore┆
0x09c800…09c820 (41, 1, 8)  0d 0a 09 64 62 09 63 72 2c 6c 66 2c 30 0d 0a 3b 0d 0a 62 6f 6f 74 3a 09 3b 70 72 69 6e 74 20 73   ┆   db cr,lf,0  ;  boot: ;print s┆
0x09c820…09c840             69 67 6e 6f 6e 20 6d 65 73 73 61 67 65 20 61 6e 64 20 67 6f 20 74 6f 20 63 63 70 0d 0a 3b 09 28   ┆ignon message and go to ccp  ; (┆
0x09c840…09c860             6e 6f 74 65 3a 20 6d 64 73 20 62 6f 6f 74 20 69 6e 69 74 69 61 6c 69 7a 65 64 20 69 6f 62 79 74   ┆note: mds boot initialized iobyt┆
0x09c860…09c880             65 20 61 74 20 30 30 30 33 68 29 0d 0a 09 6c 78 69 09 73 70 2c 62 75 66 66 2b 38 30 68 0d 0a 09   ┆e at 0003h)   lxi sp,buff+80h   ┆
0x09c880…09c8a0             6c 78 69 09 68 2c 73 69 67 6e 6f 6e 0d 0a 09 63 61 6c 6c 09 70 72 6d 73 67 09 3b 70 72 69 6e 74   ┆lxi h,signon   call prmsg ;print┆
0x09c8a0…09c8c0             20 6d 65 73 73 61 67 65 0d 0a 09 78 72 61 09 61 09 3b 63 6c 65 61 72 20 61 63 63 75 6d 75 6c 61   ┆ message   xra a ;clear accumula┆
0x09c8c0…09c8e0             74 6f 72 0d 0a 09 73 74 61 09 63 64 69 73 6b 09 3b 73 65 74 20 69 6e 69 74 69 61 6c 6c 79 20 74   ┆tor   sta cdisk ;set initially t┆
0x09c8e0…09c900             6f 20 64 69 73 6b 20 61 0d 0a 09 6a 6d 70 09 67 6f 63 70 6d 09 3b 67 6f 20 74 6f 20 63 70 2f 6d   ┆o disk a   jmp gocpm ;go to cp/m┆
0x09c900…09c920             0d 0a 3b 0d 0a 3b 0d 0a 77 62 6f 6f 74 3a 3b 09 6c 6f 61 64 65 72 20 6f 6e 20 74 72 61 63 6b 20   ┆  ;  ;  wboot:; loader on track ┆
0x09c920…09c940             30 2c 20 73 65 63 74 6f 72 20 31 2c 20 77 68 69 63 68 20 77 69 6c 6c 20 62 65 20 73 6b 69 70 70   ┆0, sector 1, which will be skipp┆
0x09c940…09c960             65 64 20 66 6f 72 20 77 61 72 6d 20 0d 0a 3b 09 72 65 61 64 20 63 70 2f 6d 20 66 72 6f 6d 20 64   ┆ed for warm   ; read cp/m from d┆
0x09c960…09c980             69 73 6b 20 2d 20 61 73 73 75 6d 69 6e 67 20 74 68 65 72 65 20 69 73 20 61 20 31 32 38 20 62 79   ┆isk - assuming there is a 128 by┆
0x09c980…09c9a0             74 65 20 63 6f 6c 64 20 73 74 61 72 74 0d 0a 3b 09 73 74 61 72 74 2e 0d 0a 3b 0d 0a 09 6c 78 69   ┆te cold start  ; start.  ;   lxi┆
0x09c9a0…09c9c0             09 73 70 2c 62 75 66 66 09 3b 75 73 69 6e 67 20 64 6d 61 20 2d 20 74 68 75 73 20 38 30 20 74 68   ┆ sp,buff ;using dma - thus 80 th┆
0x09c9c0…09c9e0             72 75 20 66 66 20 61 76 61 69 6c 61 62 6c 65 20 66 6f 72 20 73 74 61 63 6b 0d 0a 3b 0d 0a 09 6d   ┆ru ff available for stack  ;   m┆
0x09c9e0…09ca00             76 69 09 63 2c 72 65 74 72 79 09 3b 6d 61 78 20 72 65 74 72 69 65 73 0d 0a 09 70 75 73 68 09 62   ┆vi c,retry ;max retries   push b┆
0x09ca00…09ca20 (41, 1, 9)  75 6e 74 0d 0a 3b 0d 0a 77 65 72 72 6f 72 3a 09 3b 72 65 74 75 72 6e 20 68 61 72 64 77 61 72 65   ┆unt  ;  werror: ;return hardware┆
0x09ca20…09ca40             20 6d 61 6c 66 75 6e 63 74 69 6f 6e 20 28 63 72 63 2c 20 74 72 61 63 6b 2c 20 73 65 65 6b 2c 20   ┆ malfunction (crc, track, seek, ┆
0x09ca40…09ca60             65 74 63 2e 29 0d 0a 3b 09 74 68 65 20 6d 64 73 20 63 6f 6e 74 72 6f 6c 6c 65 72 20 68 61 73 20   ┆etc.)  ; the mds controller has ┆
0x09ca60…09ca80             72 65 74 75 72 6e 65 64 20 61 20 62 69 74 20 69 6e 20 65 61 63 68 20 70 6f 73 69 74 69 6f 6e 0d   ┆returned a bit in each position ┆
0x09ca80…09caa0             0a 3b 09 6f 66 20 74 68 65 20 61 63 63 75 6d 75 6c 61 74 6f 72 2c 20 63 6f 72 72 65 73 70 6f 6e   ┆ ; of the accumulator, correspon┆
0x09caa0…09cac0             64 69 6e 67 20 74 6f 20 74 68 65 20 63 6f 6e 64 69 74 69 6f 6e 73 3a 0d 0a 3b 09 30 09 2d 20 64   ┆ding to the conditions:  ; 0 - d┆
0x09cac0…09cae0             65 6c 65 74 65 64 20 64 61 74 61 20 28 61 63 63 65 70 74 65 64 20 61 73 20 6f 6b 20 61 62 6f 76   ┆eleted data (accepted as ok abov┆
0x09cae0…09cb00             65 29 0d 0a 3b 09 31 09 2d 20 63 72 63 20 65 72 72 6f 72 0d 0a 3b 09 32 09 2d 20 73 65 65 6b 20   ┆e)  ; 1 - crc error  ; 2 - seek ┆
0x09cb00…09cb20             65 72 72 6f 72 0d 0a 3b 09 33 09 2d 20 61 64 64 72 65 73 73 20 65 72 72 6f 72 20 28 68 61 72 64   ┆error  ; 3 - address error (hard┆
0x09cb20…09cb40             77 61 72 65 20 6d 61 6c 66 75 6e 63 74 69 6f 6e 29 0d 0a 3b 09 34 09 2d 20 64 61 74 61 20 6f 76   ┆ware malfunction)  ; 4 - data ov┆
0x09cb40…09cb60             65 72 2f 75 6e 64 65 72 20 66 6c 6f 77 20 28 68 61 72 64 77 61 72 65 20 6d 61 6c 66 75 6e 63 74   ┆er/under flow (hardware malfunct┆
0x09cb60…09cb80             69 6f 6e 29 0d 0a 3b 09 35 09 2d 20 77 72 69 74 65 20 70 72 6f 74 65 63 74 20 28 74 72 65 61 74   ┆ion)  ; 5 - write protect (treat┆
0x09cb80…09cba0             65 64 20 61 73 20 6e 6f 74 20 72 65 61 64 79 29 0d 0a 3b 09 36 09 2d 20 77 72 69 74 65 20 65 72   ┆ed as not ready)  ; 6 - write er┆
0x09cba0…09cbc0             72 6f 72 20 28 68 61 72 64 77 61 72 65 20 6d 61 6c 66 75 6e 63 74 69 6f 6e 29 0d 0a 3b 09 37 09   ┆ror (hardware malfunction)  ; 7 ┆
0x09cbc0…09cbe0             2d 20 6e 6f 74 20 72 65 61 64 79 0d 0a 3b 09 28 61 63 63 75 6d 75 6c 61 74 6f 72 20 62 69 74 73   ┆- not ready  ; (accumulator bits┆
0x09cbe0…09cc00             20 61 72 65 20 6e 75 6d 62 65 72 65 64 20 37 20 36 20 35 20 34 20 33 20 32 20 31 20 30 29 0d 0a   ┆ are numbered 7 6 5 4 3 2 1 0)  ┆
0x09cc00…09cc20 (41, 1, 10) 0a 09 69 66 09 6e 6f 74 20 74 65 73 74 0d 0a 62 69 61 73 09 65 71 75 09 30 30 30 30 68 09 3b 67   ┆  if not test  bias equ 0000h ;g┆
0x09cc20…09cc40             65 6e 65 72 61 74 65 20 72 65 6c 6f 63 61 74 61 62 6c 65 20 63 70 2f 6d 20 73 79 73 74 65 6d 0d   ┆enerate relocatable cp/m system ┆
0x09cc40…09cc60             0a 09 65 6e 64 69 66 0d 0a 3b 0d 0a 70 61 74 63 68 09 65 71 75 09 31 36 30 30 68 0d 0a 3b 0d 0a   ┆  endif  ;  patch equ 1600h  ;  ┆
0x09cc60…09cc80             09 6f 72 67 09 70 61 74 63 68 0d 0a 63 70 6d 62 09 65 71 75 09 24 2d 70 61 74 63 68 09 3b 62 61   ┆ org patch  cpmb equ $-patch ;ba┆
0x09cc80…09cca0             73 65 20 6f 66 20 63 70 6d 20 63 6f 6e 73 6f 6c 65 20 70 72 6f 63 65 73 73 6f 72 0d 0a 62 64 6f   ┆se of cpm console processor  bdo┆
0x09cca0…09ccc0             73 09 65 71 75 09 38 30 36 68 2b 63 70 6d 62 09 3b 62 61 73 69 63 20 64 6f 73 20 28 72 65 73 69   ┆s equ 806h+cpmb ;basic dos (resi┆
0x09ccc0…09cce0             64 65 6e 74 20 70 6f 72 74 69 6f 6e 29 0d 0a 63 70 6d 6c 09 65 71 75 09 24 2d 63 70 6d 62 09 3b   ┆dent portion)  cpml equ $-cpmb ;┆
0x09cce0…09cd00             6c 65 6e 67 74 68 20 28 69 6e 20 62 79 74 65 73 29 20 6f 66 20 63 70 6d 20 73 79 73 74 65 6d 0d   ┆length (in bytes) of cpm system ┆
0x09cd00…09cd20             0a 6e 73 65 63 74 73 09 65 71 75 09 63 70 6d 6c 2f 31 32 38 09 3b 6e 75 6d 62 65 72 20 6f 66 20   ┆ nsects equ cpml/128 ;number of ┆
0x09cd20…09cd40             73 65 63 74 6f 72 73 20 74 6f 20 6c 6f 61 64 0d 0a 6f 66 66 73 65 74 09 65 71 75 09 32 09 3b 6e   ┆sectors to load  offset equ 2 ;n┆
0x09cd40…09cd60             75 6d 62 65 72 20 6f 66 20 64 69 73 6b 20 74 72 61 63 6b 73 20 75 73 65 64 20 62 79 20 63 70 2f   ┆umber of disk tracks used by cp/┆
0x09cd60…09cd80             6d 0d 0a 63 64 69 73 6b 09 65 71 75 09 30 30 30 34 68 09 3b 61 64 64 72 65 73 73 20 6f 66 20 6c   ┆m  cdisk equ 0004h ;address of l┆
0x09cd80…09cda0             61 73 74 20 6c 6f 67 67 65 64 20 64 69 73 6b 20 6f 6e 20 77 61 72 6d 20 73 74 61 72 74 0d 0a 62   ┆ast logged disk on warm start  b┆
0x09cda0…09cdc0             75 66 66 09 65 71 75 09 30 30 38 30 68 09 3b 64 65 66 61 75 6c 74 20 62 75 66 66 65 72 20 61 64   ┆uff equ 0080h ;default buffer ad┆
0x09cdc0…09cde0             64 72 65 73 73 0d 0a 72 65 74 72 79 09 65 71 75 09 31 30 09 3b 6d 61 78 20 72 65 74 72 69 65 73   ┆dress  retry equ 10 ;max retries┆
0x09cde0…09ce00             20 6f 6e 20 64 69 73 6b 20 69 2f 6f 20 62 65 66 6f 72 65 20 65 72 72 6f 72 0d 0a 3b 0d 0a 3b 09   ┆ on disk i/o before error  ;  ; ┆
0x09ce00…09ce20 (41, 1, 11) 64 20 74 6f 20 74 68 65 20 70 61 72 74 69 63 75 6c 61 72 20 6f 70 65 72 61 74 69 6e 67 20 65 6e   ┆d to the particular operating en┆
0x09ce20…09ce40             76 69 72 6f 6e 6d 65 6e 74 2c 20 61 6e 64 20 6d 75 73 74 0d 0a 3b 09 62 65 20 61 6c 74 65 72 65   ┆vironment, and must  ; be altere┆
0x09ce40…09ce60             64 20 66 6f 72 20 61 6e 79 20 73 79 73 74 65 6d 20 77 68 69 63 68 20 64 69 66 66 65 72 73 20 66   ┆d for any system which differs f┆
0x09ce60…09ce80             72 6f 6d 20 74 68 65 20 69 6e 74 65 6c 20 6d 64 73 2e 0d 0a 3b 0d 0a 3b 09 74 68 65 20 66 6f 6c   ┆rom the intel mds.  ;  ; the fol┆
0x09ce80…09cea0             6c 6f 77 69 6e 67 20 63 6f 64 65 20 61 73 73 75 6d 65 73 20 74 68 65 20 6d 64 73 20 6d 6f 6e 69   ┆lowing code assumes the mds moni┆
0x09cea0…09cec0             74 6f 72 20 65 78 69 73 74 73 20 61 74 20 30 66 38 30 30 68 0d 0a 3b 09 61 6e 64 20 75 73 65 73   ┆tor exists at 0f800h  ; and uses┆
0x09cec0…09cee0             20 74 68 65 20 69 2f 6f 20 73 75 62 72 6f 75 74 69 6e 65 73 20 77 69 74 68 69 6e 20 74 68 65 20   ┆ the i/o subroutines within the ┆
0x09cee0…09cf00             6d 6f 6e 69 74 6f 72 0d 0a 3b 0d 0a 3b 09 77 65 20 61 6c 73 6f 20 61 73 73 75 6d 65 20 74 68 65   ┆monitor  ;  ; we also assume the┆
0x09cf00…09cf20             20 6d 64 73 20 73 79 73 74 65 6d 20 68 61 73 20 66 6f 75 72 20 64 69 73 6b 20 64 72 69 76 65 73   ┆ mds system has four disk drives┆
0x09cf20…09cf40             0d 0a 72 65 76 72 74 09 65 71 75 09 30 66 64 68 09 3b 69 6e 74 65 72 72 75 70 74 20 72 65 76 65   ┆  revrt equ 0fdh ;interrupt reve┆
0x09cf40…09cf60             72 74 20 70 6f 72 74 0d 0a 69 6e 74 63 09 65 71 75 09 30 66 63 68 09 3b 69 6e 74 65 72 72 75 70   ┆rt port  intc equ 0fch ;interrup┆
0x09cf60…09cf80             74 20 6d 61 73 6b 20 70 6f 72 74 0d 0a 69 63 6f 6e 09 65 71 75 09 30 66 33 68 09 3b 69 6e 74 65   ┆t mask port  icon equ 0f3h ;inte┆
0x09cf80…09cfa0             72 72 75 70 74 20 63 6f 6e 74 72 6f 6c 20 70 6f 72 74 0d 0a 69 6e 74 65 09 65 71 75 09 30 31 31   ┆rrupt control port  inte equ 011┆
0x09cfa0…09cfc0             31 24 31 31 31 30 62 09 3b 65 6e 61 62 6c 65 20 72 73 74 20 30 28 77 61 72 6d 20 62 6f 6f 74 29   ┆1$1110b ;enable rst 0(warm boot)┆
0x09cfc0…09cfe0             2c 20 72 73 74 20 37 20 28 6d 6f 6e 69 74 6f 72 29 0d 0a 3b 0d 0a 3b 09 6d 64 73 20 6d 6f 6e 69   ┆, rst 7 (monitor)  ;  ; mds moni┆
0x09cfe0…09d000             74 6f 72 20 65 71 75 61 74 65 73 0d 0a 6d 6f 6e 38 30 09 65 71 75 09 30 66 38 30 30 68 09 3b 6d   ┆tor equates  mon80 equ 0f800h ;m┆
0x09d000…09d020 (41, 1, 12) 0d 0a 77 62 6f 6f 74 30 3a 09 3b 65 6e 74 65 72 20 68 65 72 65 20 6f 6e 20 65 72 72 6f 72 20 72   ┆  wboot0: ;enter here on error r┆
0x09d020…09d040             65 74 72 69 65 73 0d 0a 09 6c 78 69 09 62 2c 63 70 6d 62 09 3b 73 65 74 20 64 6d 61 20 61 64 64   ┆etries   lxi b,cpmb ;set dma add┆
0x09d040…09d060             72 65 73 73 20 74 6f 20 73 74 61 72 74 20 6f 66 20 64 69 73 6b 20 73 79 73 74 65 6d 0d 0a 09 63   ┆ress to start of disk system   c┆
0x09d060…09d080             61 6c 6c 09 73 65 74 64 6d 61 0d 0a 09 6d 76 69 09 63 2c 30 09 3b 62 6f 6f 74 20 66 72 6f 6d 20   ┆all setdma   mvi c,0 ;boot from ┆
0x09d080…09d0a0             64 72 69 76 65 20 30 0d 0a 09 63 61 6c 6c 09 73 65 6c 64 73 6b 0d 0a 09 6d 76 69 09 63 2c 30 0d   ┆drive 0   call seldsk   mvi c,0 ┆
0x09d0a0…09d0c0             0a 09 63 61 6c 6c 09 73 65 74 74 72 6b 09 3b 73 74 61 72 74 20 77 69 74 68 20 74 72 61 63 6b 20   ┆  call settrk ;start with track ┆
0x09d0c0…09d0e0             30 0d 0a 09 6d 76 69 09 63 2c 32 09 3b 73 74 61 72 74 20 72 65 61 64 69 6e 67 20 73 65 63 74 6f   ┆0   mvi c,2 ;start reading secto┆
0x09d0e0…09d100             72 20 32 0d 0a 09 63 61 6c 6c 09 73 65 74 73 65 63 0d 0a 3b 0d 0a 3b 09 72 65 61 64 20 73 65 63   ┆r 2   call setsec  ;  ; read sec┆
0x09d100…09d120             74 6f 72 73 2c 20 63 6f 75 6e 74 20 6e 73 65 63 74 73 20 74 6f 20 7a 65 72 6f 0d 0a 09 70 6f 70   ┆tors, count nsects to zero   pop┆
0x09d120…09d140             09 62 09 3b 31 30 2d 65 72 72 6f 72 20 63 6f 75 6e 74 0d 0a 09 6d 76 69 09 62 2c 6e 73 65 63 74   ┆ b ;10-error count   mvi b,nsect┆
0x09d140…09d160             73 0d 0a 72 64 73 65 63 3a 09 3b 72 65 61 64 20 6e 65 78 74 20 73 65 63 74 6f 72 0d 0a 09 70 75   ┆s  rdsec: ;read next sector   pu┆
0x09d160…09d180             73 68 09 62 09 3b 73 61 76 65 20 73 65 63 74 6f 72 20 63 6f 75 6e 74 0d 0a 09 63 61 6c 6c 09 72   ┆sh b ;save sector count   call r┆
0x09d180…09d1a0             65 61 64 0d 0a 09 6a 6e 7a 09 62 6f 6f 74 65 72 72 09 3b 72 65 74 72 79 20 69 66 20 65 72 72 6f   ┆ead   jnz booterr ;retry if erro┆
0x09d1a0…09d1c0             72 73 20 6f 63 63 75 72 0d 0a 09 6c 68 6c 64 09 69 6f 64 09 3b 69 6e 63 72 65 6d 65 6e 74 20 64   ┆rs occur   lhld iod ;increment d┆
0x09d1c0…09d1e0             6d 61 20 61 64 64 72 65 73 73 0d 0a 09 6c 78 69 09 64 2c 31 32 38 09 3b 73 65 63 74 6f 72 20 73   ┆ma address   lxi d,128 ;sector s┆
0x09d1e0…09d200             69 7a 65 0d 0a 09 64 61 64 09 64 09 3b 69 6e 63 72 65 6d 65 6e 74 65 64 20 64 6d 61 20 61 64 64   ┆ize   dad d ;incremented dma add┆
0x09d200…09d220 (41, 1, 13) 3b 0d 0a 3b 09 69 74 20 6d 61 79 20 62 65 20 75 73 65 66 75 6c 20 74 6f 20 66 69 6c 74 65 72 20   ┆;  ; it may be useful to filter ┆
0x09d220…09d240             6f 75 74 20 74 68 65 20 76 61 72 69 6f 75 73 20 63 6f 6e 64 69 74 69 6f 6e 73 2c 0d 0a 3b 09 62   ┆out the various conditions,  ; b┆
0x09d240…09d260             75 74 20 77 65 20 77 69 6c 6c 20 67 65 74 20 61 20 70 65 72 6d 61 6e 65 6e 74 20 65 72 72 6f 72   ┆ut we will get a permanent error┆
0x09d260…09d280             20 6d 65 73 73 61 67 65 20 69 66 20 69 74 20 69 73 20 6e 6f 74 0d 0a 3b 09 72 65 63 6f 76 65 72   ┆ message if it is not  ; recover┆
0x09d280…09d2a0             61 62 6c 65 2e 20 20 69 6e 20 61 6e 79 20 63 61 73 65 2c 20 74 68 65 20 6e 6f 74 20 72 65 61 64   ┆able.  in any case, the not read┆
0x09d2a0…09d2c0             79 20 63 6f 6e 64 69 74 69 6f 6e 20 69 73 0d 0a 3b 09 74 72 65 61 74 65 64 20 61 73 20 61 20 73   ┆y condition is  ; treated as a s┆
0x09d2c0…09d2e0             65 70 61 72 61 74 65 20 63 6f 6e 64 69 74 69 6f 6e 20 66 6f 72 20 6c 61 74 65 72 20 69 6d 70 72   ┆eparate condition for later impr┆
0x09d2e0…09d300             6f 76 65 6d 65 6e 74 0d 0a 74 72 79 63 6f 75 6e 74 3a 0d 0a 3b 09 72 65 67 69 73 74 65 72 20 63   ┆ovement  trycount:  ; register c┆
0x09d300…09d320             20 63 6f 6e 74 61 69 6e 73 20 72 65 74 72 79 20 63 6f 75 6e 74 2c 20 64 65 63 72 65 6d 65 6e 74   ┆ contains retry count, decrement┆
0x09d320…09d340             20 27 74 69 6c 20 7a 65 72 6f 0d 0a 09 64 63 72 09 63 0d 0a 09 6a 6e 7a 09 72 65 77 61 69 74 09   ┆ 'til zero   dcr c   jnz rewait ┆
0x09d340…09d360             3b 66 6f 72 20 61 6e 6f 74 68 65 72 20 74 72 79 0d 0a 3b 0d 0a 3b 09 63 61 6e 6e 6f 74 20 72 65   ┆;for another try  ;  ; cannot re┆
0x09d360…09d380             63 6f 76 65 72 20 66 72 6f 6d 20 65 72 72 6f 72 0d 0a 09 6d 76 69 09 61 2c 31 09 3b 65 72 72 6f   ┆cover from error   mvi a,1 ;erro┆
0x09d380…09d3a0             72 20 63 6f 64 65 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 3b 09 69 6e 74 79 70 65 2c 20 69 6e 62 79 74   ┆r code   ret  ;  ; intype, inbyt┆
0x09d3a0…09d3c0             65 2c 20 69 6e 73 74 61 74 20 72 65 61 64 20 64 72 69 76 65 20 62 61 6e 6b 20 30 30 20 6f 72 20   ┆e, instat read drive bank 00 or ┆
0x09d3c0…09d3e0             31 30 0d 0a 69 6e 74 79 70 65 3a 09 6c 64 61 09 64 62 61 6e 6b 0d 0a 09 6f 72 61 09 61 0d 0a 09   ┆10  intype: lda dbank   ora a   ┆
0x09d3e0…09d400             6a 6e 7a 09 69 6e 74 79 70 31 09 3b 73 6b 69 70 20 74 6f 20 62 61 6e 6b 20 31 30 0d 0a 09 69 6e   ┆jnz intyp1 ;skip to bank 10   in┆
0x09d400…09d420 (41, 1, 14) 70 65 72 66 6f 72 6d 20 66 6f 6c 6c 6f 77 69 6e 67 20 66 75 6e 63 74 69 6f 6e 73 0d 0a 3b 09 62   ┆perform following functions  ; b┆
0x09d420…09d440             6f 6f 74 09 63 6f 6c 64 20 73 74 61 72 74 0d 0a 3b 09 77 62 6f 6f 74 09 77 61 72 6d 20 73 74 61   ┆oot cold start  ; wboot warm sta┆
0x09d440…09d460             72 74 20 28 73 61 76 65 20 69 2f 6f 20 62 79 74 65 29 0d 0a 3b 09 28 62 6f 6f 74 20 61 6e 64 20   ┆rt (save i/o byte)  ; (boot and ┆
0x09d460…09d480             77 62 6f 6f 74 20 61 72 65 20 74 68 65 20 73 61 6d 65 20 66 6f 72 20 6d 64 73 29 0d 0a 3b 09 63   ┆wboot are the same for mds)  ; c┆
0x09d480…09d4a0             6f 6e 73 74 09 63 6f 6e 73 6f 6c 65 20 73 74 61 74 75 73 0d 0a 3b 09 09 72 65 67 2d 61 20 3d 20   ┆onst console status  ;  reg-a = ┆
0x09d4a0…09d4c0             30 30 20 69 66 20 6e 6f 20 63 68 61 72 61 63 74 65 72 20 72 65 61 64 79 0d 0a 3b 09 09 72 65 67   ┆00 if no character ready  ;  reg┆
0x09d4c0…09d4e0             2d 61 20 3d 20 66 66 20 69 66 20 63 68 61 72 61 63 74 65 72 20 72 65 61 64 79 0d 0a 3b 09 63 6f   ┆-a = ff if character ready  ; co┆
0x09d4e0…09d500             6e 69 6e 09 63 6f 6e 73 6f 6c 65 20 63 68 61 72 61 63 74 65 72 20 69 6e 20 28 72 65 73 75 6c 74   ┆nin console character in (result┆
0x09d500…09d520             20 69 6e 20 72 65 67 2d 61 29 0d 0a 3b 09 63 6f 6e 6f 75 74 09 63 6f 6e 73 6f 6c 65 20 63 68 61   ┆ in reg-a)  ; conout console cha┆
0x09d520…09d540             72 61 63 74 65 72 20 6f 75 74 20 28 63 68 61 72 20 69 6e 20 72 65 67 2d 63 29 0d 0a 3b 09 6c 69   ┆racter out (char in reg-c)  ; li┆
0x09d540…09d560             73 74 09 6c 69 73 74 20 6f 75 74 20 28 63 68 61 72 20 69 6e 20 72 65 67 2d 63 29 0d 0a 3b 09 70   ┆st list out (char in reg-c)  ; p┆
0x09d560…09d580             75 6e 63 68 09 70 75 6e 63 68 20 6f 75 74 20 28 63 68 61 72 20 69 6e 20 72 65 67 2d 63 29 0d 0a   ┆unch punch out (char in reg-c)  ┆
0x09d580…09d5a0             3b 09 72 65 61 64 65 72 09 70 61 70 65 72 20 74 61 70 65 20 72 65 61 64 65 72 20 69 6e 20 28 72   ┆; reader paper tape reader in (r┆
0x09d5a0…09d5c0             65 73 75 6c 74 20 74 6f 20 72 65 67 2d 61 29 0d 0a 3b 09 68 6f 6d 65 09 6d 6f 76 65 20 74 6f 20   ┆esult to reg-a)  ; home move to ┆
0x09d5c0…09d5e0             74 72 61 63 6b 20 30 30 0d 0a 3b 0d 0a 3b 09 28 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 61   ┆track 00  ;  ; (the following ca┆
0x09d5e0…09d600             6c 6c 73 20 73 65 74 2d 75 70 20 74 68 65 20 69 6f 20 70 61 72 61 6d 65 74 65 72 20 62 6c 6f 63   ┆lls set-up the io parameter bloc┆
0x09d600…09d620 (41, 1, 15) 64 73 20 6d 6f 6e 69 74 6f 72 0d 0a 72 6d 6f 6e 38 30 09 65 71 75 09 30 66 66 30 66 68 09 3b 72   ┆ds monitor  rmon80 equ 0ff0fh ;r┆
0x09d620…09d640             65 73 74 61 72 74 20 6d 6f 6e 38 30 20 28 62 6f 6f 74 20 65 72 72 6f 72 29 0d 0a 63 69 09 65 71   ┆estart mon80 (boot error)  ci eq┆
0x09d640…09d660             75 09 30 66 38 30 33 68 09 3b 63 6f 6e 73 6f 6c 65 20 63 68 61 72 61 63 74 65 72 20 74 6f 20 72   ┆u 0f803h ;console character to r┆
0x09d660…09d680             65 67 2d 61 0d 0a 72 69 09 65 71 75 09 30 66 38 30 36 68 09 3b 72 65 61 64 65 72 20 69 6e 20 74   ┆eg-a  ri equ 0f806h ;reader in t┆
0x09d680…09d6a0             6f 20 72 65 67 2d 61 0d 0a 63 6f 09 65 71 75 09 30 66 38 30 39 68 09 3b 63 6f 6e 73 6f 6c 65 20   ┆o reg-a  co equ 0f809h ;console ┆
0x09d6a0…09d6c0             63 68 61 72 20 66 72 6f 6d 20 63 20 74 6f 20 63 6f 6e 73 6f 6c 65 20 6f 75 74 0d 0a 70 6f 09 65   ┆char from c to console out  po e┆
0x09d6c0…09d6e0             71 75 09 30 66 38 30 63 68 09 3b 70 75 6e 63 68 20 63 68 61 72 20 66 72 6f 6d 20 63 20 74 6f 20   ┆qu 0f80ch ;punch char from c to ┆
0x09d6e0…09d700             70 75 6e 63 68 20 64 65 76 69 63 65 0d 0a 6c 6f 09 65 71 75 09 30 66 38 30 66 68 09 3b 6c 69 73   ┆punch device  lo equ 0f80fh ;lis┆
0x09d700…09d720             74 20 66 72 6f 6d 20 63 20 74 6f 20 6c 69 73 74 20 64 65 76 69 63 65 0d 0a 63 73 74 73 09 65 71   ┆t from c to list device  csts eq┆
0x09d720…09d740             75 09 30 66 38 31 32 68 09 3b 63 6f 6e 73 6f 6c 65 20 73 74 61 74 75 73 20 30 30 2f 66 66 20 74   ┆u 0f812h ;console status 00/ff t┆
0x09d740…09d760             6f 20 72 65 67 69 73 74 65 72 20 61 0d 0a 3b 0d 0a 3b 09 64 69 73 6b 20 70 6f 72 74 73 20 61 6e   ┆o register a  ;  ; disk ports an┆
0x09d760…09d780             64 20 63 6f 6d 6d 61 6e 64 73 0d 0a 62 61 73 65 09 65 71 75 09 37 38 68 09 3b 62 61 73 65 20 6f   ┆d commands  base equ 78h ;base o┆
0x09d780…09d7a0             66 20 64 69 73 6b 20 63 6f 6d 6d 61 6e 64 20 69 6f 20 70 6f 72 74 73 0d 0a 64 73 74 61 74 09 65   ┆f disk command io ports  dstat e┆
0x09d7a0…09d7c0             71 75 09 62 61 73 65 09 3b 64 69 73 6b 20 73 74 61 74 75 73 20 28 69 6e 70 75 74 29 0d 0a 72 74   ┆qu base ;disk status (input)  rt┆
0x09d7c0…09d7e0             79 70 65 09 65 71 75 09 62 61 73 65 2b 31 09 3b 72 65 73 75 6c 74 20 74 79 70 65 20 28 69 6e 70   ┆ype equ base+1 ;result type (inp┆
0x09d7e0…09d800             75 74 29 0d 0a 72 62 79 74 65 09 65 71 75 09 62 61 73 65 2b 33 09 3b 72 65 73 75 6c 74 20 62 79   ┆ut)  rbyte equ base+3 ;result by┆
0x09d800…09d820 (42, 0, 1)  72 65 73 73 20 69 6e 20 68 6c 0d 0a 09 6d 6f 76 09 62 2c 68 0d 0a 09 6d 6f 76 09 63 2c 6c 09 3b   ┆ress in hl   mov b,h   mov c,l ;┆
0x09d820…09d840             72 65 61 64 79 20 66 6f 72 20 63 61 6c 6c 20 74 6f 20 73 65 74 20 64 6d 61 0d 0a 09 63 61 6c 6c   ┆ready for call to set dma   call┆
0x09d840…09d860             09 73 65 74 64 6d 61 0d 0a 09 6c 64 61 09 69 6f 73 09 3b 73 65 63 74 6f 72 20 6e 75 6d 62 65 72   ┆ setdma   lda ios ;sector number┆
0x09d860…09d880             20 6a 75 73 74 20 72 65 61 64 0d 0a 09 63 70 69 09 32 36 09 3b 72 65 61 64 20 6c 61 73 74 20 73   ┆ just read   cpi 26 ;read last s┆
0x09d880…09d8a0             65 63 74 6f 72 3f 0d 0a 09 6a 63 09 72 64 31 0d 0a 3b 09 6d 75 73 74 20 62 65 20 73 65 63 74 6f   ┆ector?   jc rd1  ; must be secto┆
0x09d8a0…09d8c0             72 20 32 36 2c 20 7a 65 72 6f 20 61 6e 64 20 67 6f 20 74 6f 20 6e 65 78 74 20 74 72 61 63 6b 0d   ┆r 26, zero and go to next track ┆
0x09d8c0…09d8e0             0a 09 6c 64 61 09 69 6f 74 09 3b 67 65 74 20 74 72 61 63 6b 20 74 6f 20 72 65 67 69 73 74 65 72   ┆  lda iot ;get track to register┆
0x09d8e0…09d900             20 61 0d 0a 09 69 6e 72 09 61 0d 0a 09 6d 6f 76 09 63 2c 61 09 3b 72 65 61 64 79 20 66 6f 72 20   ┆ a   inr a   mov c,a ;ready for ┆
0x09d900…09d920             63 61 6c 6c 0d 0a 09 63 61 6c 6c 09 73 65 74 74 72 6b 0d 0a 09 78 72 61 09 61 09 3b 63 6c 65 61   ┆call   call settrk   xra a ;clea┆
0x09d920…09d940             72 20 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 0d 0a 72 64 31 3a 09 69 6e 72 09 61 09 3b 74 6f 20   ┆r sector number  rd1: inr a ;to ┆
0x09d940…09d960             6e 65 78 74 20 73 65 63 74 6f 72 0d 0a 09 6d 6f 76 09 63 2c 61 09 3b 72 65 61 64 79 20 66 6f 72   ┆next sector   mov c,a ;ready for┆
0x09d960…09d980             20 63 61 6c 6c 0d 0a 09 63 61 6c 6c 09 73 65 74 73 65 63 0d 0a 09 70 6f 70 09 62 09 3b 72 65 63   ┆ call   call setsec   pop b ;rec┆
0x09d980…09d9a0             61 6c 6c 20 73 65 63 74 6f 72 20 63 6f 75 6e 74 0d 0a 09 64 63 72 09 62 09 3b 64 6f 6e 65 3f 0d   ┆all sector count   dcr b ;done? ┆
0x09d9a0…09d9c0             0a 09 6a 6e 7a 09 72 64 73 65 63 0d 0a 3b 0d 0a 3b 09 64 6f 6e 65 20 77 69 74 68 20 74 68 65 20   ┆  jnz rdsec  ;  ; done with the ┆
0x09d9c0…09d9e0             6c 6f 61 64 2c 20 72 65 73 65 74 20 64 65 66 61 75 6c 74 20 62 75 66 66 65 72 20 61 64 64 72 65   ┆load, reset default buffer addre┆
0x09d9e0…09da00             73 73 0d 0a 67 6f 63 70 6d 3a 09 3b 28 65 6e 74 65 72 20 68 65 72 65 20 66 72 6f 6d 20 63 6f 6c   ┆ss  gocpm: ;(enter here from col┆
0x09da00…09da20 (42, 0, 2)  65 61 74 20 61 73 20 74 72 61 63 6b 20 30 30 20 73 65 65 6b 0d 0a 09 6d 76 69 09 63 2c 30 0d 0a   ┆eat as track 00 seek   mvi c,0  ┆
0x09da20…09da40             09 6a 6d 70 09 73 65 74 74 72 6b 0d 0a 3b 0d 0a 73 65 6c 64 73 6b 3a 09 3b 73 65 6c 65 63 74 20   ┆ jmp settrk  ;  seldsk: ;select ┆
0x09da40…09da60             64 69 73 6b 20 67 69 76 65 6e 20 62 79 20 72 65 67 69 73 74 65 72 20 63 0d 0a 09 6c 78 69 09 68   ┆disk given by register c   lxi h┆
0x09da60…09da80             2c 30 30 30 30 68 09 3b 72 65 74 75 72 6e 20 30 30 30 30 20 69 66 20 65 72 72 6f 72 0d 0a 09 6d   ┆,0000h ;return 0000 if error   m┆
0x09da80…09daa0             6f 76 09 61 2c 63 0d 0a 09 63 70 69 09 6e 64 69 73 6b 73 09 3b 74 6f 6f 20 6c 61 72 67 65 3f 0d   ┆ov a,c   cpi ndisks ;too large? ┆
0x09daa0…09dac0             0a 09 72 6e 63 09 09 3b 6c 65 61 76 65 20 48 4c 20 3d 20 30 30 30 30 0d 0a 3b 0d 0a 09 61 6e 69   ┆  rnc  ;leave HL = 0000  ;   ani┆
0x09dac0…09dae0             09 31 30 62 09 3b 30 30 20 30 30 20 66 6f 72 20 64 72 69 76 65 20 30 2c 31 20 61 6e 64 20 31 30   ┆ 10b ;00 00 for drive 0,1 and 10┆
0x09dae0…09db00             20 31 30 20 66 6f 72 20 64 72 69 76 65 20 32 2c 33 0d 0a 09 73 74 61 09 64 62 61 6e 6b 09 3b 74   ┆ 10 for drive 2,3   sta dbank ;t┆
0x09db00…09db20             6f 20 73 65 6c 65 63 74 20 64 72 69 76 65 20 62 61 6e 6b 0d 0a 09 6d 6f 76 09 61 2c 63 09 3b 30   ┆o select drive bank   mov a,c ;0┆
0x09db20…09db40             30 2c 20 30 31 2c 20 31 30 2c 20 31 31 0d 0a 09 61 6e 69 09 31 62 09 3b 6d 64 73 20 68 61 73 20   ┆0, 01, 10, 11   ani 1b ;mds has ┆
0x09db40…09db60             30 2c 31 20 61 74 20 37 38 2c 20 32 2c 33 20 61 74 20 38 38 0d 0a 09 6f 72 61 09 61 09 3b 72 65   ┆0,1 at 78, 2,3 at 88   ora a ;re┆
0x09db60…09db80             73 75 6c 74 20 30 30 3f 0d 0a 09 6a 7a 09 73 65 74 64 72 69 76 65 0d 0a 09 6d 76 69 09 61 2c 30   ┆sult 00?   jz setdrive   mvi a,0┆
0x09db80…09dba0             30 31 31 30 30 30 30 62 09 3b 73 65 6c 65 63 74 73 20 64 72 69 76 65 20 31 20 69 6e 20 62 61 6e   ┆0110000b ;selects drive 1 in ban┆
0x09dba0…09dbc0             6b 0d 0a 73 65 74 64 72 69 76 65 3a 0d 0a 09 6d 6f 76 09 62 2c 61 09 3b 73 61 76 65 20 74 68 65   ┆k  setdrive:   mov b,a ;save the┆
0x09dbc0…09dbe0             20 66 75 6e 63 74 69 6f 6e 0d 0a 09 6c 78 69 09 68 2c 69 6f 66 09 3b 69 6f 20 66 75 6e 63 74 69   ┆ function   lxi h,iof ;io functi┆
0x09dbe0…09dc00             6f 6e 0d 0a 09 6d 6f 76 09 61 2c 6d 0d 0a 09 61 6e 69 09 31 31 30 30 31 31 31 31 62 09 3b 6d 61   ┆on   mov a,m   ani 11001111b ;ma┆
0x09dc00…09dc20 (42, 0, 3)  65 6e 74 20 69 2f 6f 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 61 6e 69 09 30 30 31 30 30 30 30 30 62   ┆ent i/o function   ani 00100000b┆
0x09dc20…09dc40             09 3b 6d 61 73 6b 20 74 68 65 20 64 69 73 6b 20 73 65 6c 65 63 74 20 62 69 74 0d 0a 09 6c 78 69   ┆ ;mask the disk select bit   lxi┆
0x09dc40…09dc60             09 68 2c 69 6f 73 09 09 3b 61 64 64 72 65 73 73 20 74 68 65 20 73 65 63 74 6f 72 20 73 65 6c 65   ┆ h,ios  ;address the sector sele┆
0x09dc60…09dc80             63 74 20 62 79 74 65 0d 0a 09 6f 72 61 09 6d 09 09 3b 73 65 6c 65 63 74 20 70 72 6f 70 65 72 20   ┆ct byte   ora m  ;select proper ┆
0x09dc80…09dca0             64 69 73 6b 20 62 61 6e 6b 0d 0a 09 6d 6f 76 09 6d 2c 61 09 09 3b 73 65 74 20 64 69 73 6b 20 73   ┆disk bank   mov m,a  ;set disk s┆
0x09dca0…09dcc0             65 6c 65 63 74 20 62 69 74 20 6f 6e 2f 6f 66 66 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 77 61 69 74 69   ┆elect bit on/off   ret  ;  waiti┆
0x09dcc0…09dce0             6f 3a 0d 0a 09 6d 76 69 09 63 2c 72 65 74 72 79 09 3b 6d 61 78 20 72 65 74 72 69 65 73 20 62 65   ┆o:   mvi c,retry ;max retries be┆
0x09dce0…09dd00             66 6f 72 65 20 70 65 72 6d 20 65 72 72 6f 72 0d 0a 72 65 77 61 69 74 3a 0d 0a 3b 09 73 74 61 72   ┆fore perm error  rewait:  ; star┆
0x09dd00…09dd20             74 20 74 68 65 20 69 2f 6f 20 66 75 6e 63 74 69 6f 6e 20 61 6e 64 20 77 61 69 74 20 66 6f 72 20   ┆t the i/o function and wait for ┆
0x09dd20…09dd40             63 6f 6d 70 6c 65 74 69 6f 6e 0d 0a 09 63 61 6c 6c 09 69 6e 74 79 70 65 09 3b 69 6e 20 72 74 79   ┆completion   call intype ;in rty┆
0x09dd40…09dd60             70 65 0d 0a 09 63 61 6c 6c 09 69 6e 62 79 74 65 09 3b 63 6c 65 61 72 73 20 74 68 65 20 63 6f 6e   ┆pe   call inbyte ;clears the con┆
0x09dd60…09dd80             74 72 6f 6c 6c 65 72 0d 0a 3b 0d 0a 09 6c 64 61 09 64 62 61 6e 6b 09 09 3b 73 65 74 20 62 61 6e   ┆troller  ;   lda dbank  ;set ban┆
0x09dd80…09dda0             6b 20 66 6c 61 67 73 0d 0a 09 6f 72 61 09 61 09 09 3b 7a 65 72 6f 20 69 66 20 64 72 69 76 65 20   ┆k flags   ora a  ;zero if drive ┆
0x09dda0…09ddc0             30 2c 31 20 61 6e 64 20 6e 7a 20 69 66 20 32 2c 33 0d 0a 09 6d 76 69 09 61 2c 69 6f 70 62 20 61   ┆0,1 and nz if 2,3   mvi a,iopb a┆
0x09ddc0…09dde0             6e 64 20 30 66 66 68 09 3b 6c 6f 77 20 61 64 64 72 65 73 73 20 66 6f 72 20 69 6f 70 62 0d 0a 09   ┆nd 0ffh ;low address for iopb   ┆
0x09dde0…09de00             6d 76 69 09 62 2c 69 6f 70 62 20 73 68 72 20 38 09 3b 68 69 67 68 20 61 64 64 72 65 73 73 20 66   ┆mvi b,iopb shr 8 ;high address f┆
0x09de00…09de20 (42, 0, 4)  65 72 72 6f 72 20 6d 65 73 73 61 67 65 20 69 66 20 69 74 20 69 73 20 6e 6f 74 0d 0a 3b 09 72 65   ┆error message if it is not  ; re┆
0x09de20…09de40             63 6f 76 65 72 61 62 6c 65 2e 20 20 69 6e 20 61 6e 79 20 63 61 73 65 2c 20 74 68 65 20 6e 6f 74   ┆coverable.  in any case, the not┆
0x09de40…09de60             20 72 65 61 64 79 20 63 6f 6e 64 69 74 69 6f 6e 20 69 73 0d 0a 3b 09 74 72 65 61 74 65 64 20 61   ┆ ready condition is  ; treated a┆
0x09de60…09de80             73 20 61 20 73 65 70 61 72 61 74 65 20 63 6f 6e 64 69 74 69 6f 6e 20 66 6f 72 20 6c 61 74 65 72   ┆s a separate condition for later┆
0x09de80…09dea0             20 69 6d 70 72 6f 76 65 6d 65 6e 74 0d 0a 74 72 79 63 6f 75 6e 74 3a 0d 0a 3b 09 72 65 67 69 73   ┆ improvement  trycount:  ; regis┆
0x09dea0…09dec0             74 65 72 20 63 20 63 6f 6e 74 61 69 6e 73 20 72 65 74 72 79 20 63 6f 75 6e 74 2c 20 64 65 63 72   ┆ter c contains retry count, decr┆
0x09dec0…09dee0             65 6d 65 6e 74 20 27 74 69 6c 20 7a 65 72 6f 0d 0a 09 64 63 72 09 63 0d 0a 09 6a 6e 7a 09 72 65   ┆ement 'til zero   dcr c   jnz re┆
0x09dee0…09df00             77 61 69 74 09 3b 66 6f 72 20 61 6e 6f 74 68 65 72 20 74 72 79 0d 0a 3b 0d 0a 3b 09 63 61 6e 6e   ┆wait ;for another try  ;  ; cann┆
0x09df00…09df20             6f 74 20 72 65 63 6f 76 65 72 20 66 72 6f 6d 20 65 72 72 6f 72 0d 0a 09 6d 76 69 09 61 2c 31 09   ┆ot recover from error   mvi a,1 ┆
0x09df20…09df40             3b 65 72 72 6f 72 20 63 6f 64 65 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 3b 09 69 6e 74 79 70 65 2c 20   ┆;error code   ret  ;  ; intype, ┆
0x09df40…09df60             69 6e 62 79 74 65 2c 20 69 6e 73 74 61 74 20 72 65 61 64 20 64 72 69 76 65 20 62 61 6e 6b 20 30   ┆inbyte, instat read drive bank 0┆
0x09df60…09df80             30 20 6f 72 20 31 30 0d 0a 69 6e 74 79 70 65 3a 09 6c 64 61 09 64 62 61 6e 6b 0d 0a 09 6f 72 61   ┆0 or 10  intype: lda dbank   ora┆
0x09df80…09dfa0             09 61 0d 0a 09 6a 6e 7a 09 69 6e 74 79 70 31 09 3b 73 6b 69 70 20 74 6f 20 62 61 6e 6b 20 31 30   ┆ a   jnz intyp1 ;skip to bank 10┆
0x09dfa0…09dfc0             0d 0a 09 69 6e 09 72 74 79 70 65 0d 0a 09 72 65 74 0d 0a 69 6e 74 79 70 31 3a 09 69 6e 09 72 74   ┆   in rtype   ret  intyp1: in rt┆
0x09dfc0…09dfe0             79 70 65 2b 31 30 68 09 3b 37 38 20 66 6f 72 20 30 2c 31 20 20 38 38 20 66 6f 72 20 32 2c 33 0d   ┆ype+10h ;78 for 0,1  88 for 2,3 ┆
0x09dfe0…09e000             0a 09 72 65 74 0d 0a 3b 0d 0a 69 6e 62 79 74 65 3a 09 6c 64 61 09 64 62 61 6e 6b 0d 0a 09 6f 72   ┆  ret  ;  inbyte: lda dbank   or┆
0x09e000…09e020 (42, 0, 5)  64 20 73 74 61 72 74 20 62 6f 6f 74 29 0d 0a 3b 09 65 6e 61 62 6c 65 20 72 73 74 30 20 61 6e 64   ┆d start boot)  ; enable rst0 and┆
0x09e020…09e040             20 72 73 74 37 0d 0a 09 64 69 0d 0a 09 6d 76 69 09 61 2c 31 32 68 09 3b 69 6e 69 74 69 61 6c 69   ┆ rst7   di   mvi a,12h ;initiali┆
0x09e040…09e060             7a 65 20 63 6f 6d 6d 61 6e 64 0d 0a 09 6f 75 74 09 72 65 76 72 74 0d 0a 09 78 72 61 09 61 0d 0a   ┆ze command   out revrt   xra a  ┆
0x09e060…09e080             09 6f 75 74 09 69 6e 74 63 09 3b 63 6c 65 61 72 65 64 0d 0a 09 6d 76 69 09 61 2c 69 6e 74 65 09   ┆ out intc ;cleared   mvi a,inte ┆
0x09e080…09e0a0             3b 72 73 74 30 20 61 6e 64 20 72 73 74 37 20 62 69 74 73 20 6f 6e 0d 0a 09 6f 75 74 09 69 6e 74   ┆;rst0 and rst7 bits on   out int┆
0x09e0a0…09e0c0             63 0d 0a 09 78 72 61 09 61 0d 0a 09 6f 75 74 09 69 63 6f 6e 09 3b 69 6e 74 65 72 72 75 70 74 20   ┆c   xra a   out icon ;interrupt ┆
0x09e0c0…09e0e0             63 6f 6e 74 72 6f 6c 0d 0a 3b 0d 0a 3b 09 73 65 74 20 64 65 66 61 75 6c 74 20 62 75 66 66 65 72   ┆control  ;  ; set default buffer┆
0x09e0e0…09e100             20 61 64 64 72 65 73 73 20 74 6f 20 38 30 68 0d 0a 09 6c 78 69 09 62 2c 62 75 66 66 0d 0a 09 63   ┆ address to 80h   lxi b,buff   c┆
0x09e100…09e120             61 6c 6c 09 73 65 74 64 6d 61 0d 0a 3b 0d 0a 3b 09 72 65 73 65 74 20 6d 6f 6e 69 74 6f 72 20 65   ┆all setdma  ;  ; reset monitor e┆
0x09e120…09e140             6e 74 72 79 20 70 6f 69 6e 74 73 0d 0a 09 6d 76 69 09 61 2c 6a 6d 70 0d 0a 09 73 74 61 09 30 0d   ┆ntry points   mvi a,jmp   sta 0 ┆
0x09e140…09e160             0a 09 6c 78 69 09 68 2c 77 62 6f 6f 74 65 0d 0a 09 73 68 6c 64 09 31 09 3b 6a 6d 70 20 77 62 6f   ┆  lxi h,wboote   shld 1 ;jmp wbo┆
0x09e160…09e180             6f 74 20 61 74 20 6c 6f 63 61 74 69 6f 6e 20 30 30 0d 0a 09 73 74 61 09 35 0d 0a 09 6c 78 69 09   ┆ot at location 00   sta 5   lxi ┆
0x09e180…09e1a0             68 2c 62 64 6f 73 0d 0a 09 73 68 6c 64 09 36 09 3b 6a 6d 70 20 62 64 6f 73 20 61 74 20 6c 6f 63   ┆h,bdos   shld 6 ;jmp bdos at loc┆
0x09e1a0…09e1c0             61 74 69 6f 6e 20 35 0d 0a 09 69 66 09 6e 6f 74 20 74 65 73 74 0d 0a 09 73 74 61 09 37 2a 38 09   ┆ation 5   if not test   sta 7*8 ┆
0x09e1c0…09e1e0             3b 6a 6d 70 20 74 6f 20 6d 6f 6e 38 30 20 28 6d 61 79 20 68 61 76 65 20 62 65 65 6e 20 63 68 61   ┆;jmp to mon80 (may have been cha┆
0x09e1e0…09e200             6e 67 65 64 20 62 79 20 64 64 74 29 0d 0a 09 6c 78 69 09 68 2c 6d 6f 6e 38 30 0d 0a 09 73 68 6c   ┆nged by ddt)   lxi h,mon80   shl┆
0x09e200…09e220 (42, 0, 6)  73 6b 20 6f 75 74 20 64 69 73 6b 20 6e 75 6d 62 65 72 0d 0a 09 6f 72 61 09 62 09 3b 6d 61 73 6b   ┆sk out disk number   ora b ;mask┆
0x09e220…09e240             20 69 6e 20 6e 65 77 20 64 69 73 6b 20 6e 75 6d 62 65 72 0d 0a 09 6d 6f 76 09 6d 2c 61 09 3b 73   ┆ in new disk number   mov m,a ;s┆
0x09e240…09e260             61 76 65 20 69 74 20 69 6e 20 69 6f 70 62 0d 0a 09 6d 6f 76 09 6c 2c 63 0d 0a 09 6d 76 69 09 68   ┆ave it in iopb   mov l,c   mvi h┆
0x09e260…09e280             2c 30 09 3b 48 4c 3d 64 69 73 6b 20 6e 75 6d 62 65 72 0d 0a 09 64 61 64 09 68 09 3b 2a 32 0d 0a   ┆,0 ;HL=disk number   dad h ;*2  ┆
0x09e280…09e2a0             09 64 61 64 09 68 09 3b 2a 34 0d 0a 09 64 61 64 09 68 09 3b 2a 38 0d 0a 09 64 61 64 09 68 09 3b   ┆ dad h ;*4   dad h ;*8   dad h ;┆
0x09e2a0…09e2c0             2a 31 36 0d 0a 09 6c 78 69 09 64 2c 64 70 62 61 73 65 0d 0a 09 64 61 64 09 64 09 3b 48 4c 3d 64   ┆*16   lxi d,dpbase   dad d ;HL=d┆
0x09e2c0…09e2e0             69 73 6b 20 68 65 61 64 65 72 20 74 61 62 6c 65 20 61 64 64 72 65 73 73 0d 0a 09 72 65 74 0d 0a   ┆isk header table address   ret  ┆
0x09e2e0…09e300             3b 0d 0a 3b 0d 0a 73 65 74 74 72 6b 3a 09 3b 73 65 74 20 74 72 61 63 6b 20 61 64 64 72 65 73 73   ┆;  ;  settrk: ;set track address┆
0x09e300…09e320             20 67 69 76 65 6e 20 62 79 20 63 0d 0a 09 6c 78 69 09 68 2c 69 6f 74 0d 0a 09 6d 6f 76 09 6d 2c   ┆ given by c   lxi h,iot   mov m,┆
0x09e320…09e340             63 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 73 65 74 73 65 63 3a 09 3b 73 65 74 20 73 65 63 74 6f 72 20   ┆c   ret  ;  setsec: ;set sector ┆
0x09e340…09e360             6e 75 6d 62 65 72 20 67 69 76 65 6e 20 62 79 20 63 0d 0a 09 6c 78 69 09 68 2c 69 6f 73 0d 0a 09   ┆number given by c   lxi h,ios   ┆
0x09e360…09e380             6d 6f 76 09 6d 2c 63 0d 0a 09 72 65 74 0d 0a 73 65 63 74 72 61 6e 3a 0d 0a 09 09 3b 74 72 61 6e   ┆mov m,c   ret  sectran:    ;tran┆
0x09e380…09e3a0             73 6c 61 74 65 20 73 65 63 74 6f 72 20 62 63 20 75 73 69 6e 67 20 74 61 62 6c 65 20 61 74 20 64   ┆slate sector bc using table at d┆
0x09e3a0…09e3c0             65 0d 0a 09 6d 76 69 09 62 2c 30 09 3b 64 6f 75 62 6c 65 20 70 72 65 63 69 73 69 6f 6e 20 73 65   ┆e   mvi b,0 ;double precision se┆
0x09e3c0…09e3e0             63 74 6f 72 20 6e 75 6d 62 65 72 20 69 6e 20 42 43 0d 0a 09 78 63 68 67 09 09 3b 74 72 61 6e 73   ┆ctor number in BC   xchg  ;trans┆
0x09e3e0…09e400             6c 61 74 65 20 74 61 62 6c 65 20 61 64 64 72 65 73 73 20 74 6f 20 48 4c 0d 0a 09 64 61 64 09 62   ┆late table address to HL   dad b┆
0x09e400…09e420 (42, 0, 7)  6f 72 20 69 6f 70 62 0d 0a 09 6a 6e 7a 09 69 6f 64 72 31 09 3b 64 72 69 76 65 20 62 61 6e 6b 20   ┆or iopb   jnz iodr1 ;drive bank ┆
0x09e420…09e440             31 3f 0d 0a 09 6f 75 74 09 69 6c 6f 77 09 09 3b 6c 6f 77 20 61 64 64 72 65 73 73 20 74 6f 20 63   ┆1?   out ilow  ;low address to c┆
0x09e440…09e460             6f 6e 74 72 6f 6c 6c 65 72 0d 0a 09 6d 6f 76 09 61 2c 62 0d 0a 09 6f 75 74 09 69 68 69 67 68 09   ┆ontroller   mov a,b   out ihigh ┆
0x09e460…09e480             3b 68 69 67 68 20 61 64 64 72 65 73 73 0d 0a 09 6a 6d 70 09 77 61 69 74 30 09 09 3b 74 6f 20 77   ┆;high address   jmp wait0  ;to w┆
0x09e480…09e4a0             61 69 74 20 66 6f 72 20 63 6f 6d 70 6c 65 74 65 0d 0a 3b 0d 0a 69 6f 64 72 31 3a 09 3b 64 72 69   ┆ait for complete  ;  iodr1: ;dri┆
0x09e4a0…09e4c0             76 65 20 62 61 6e 6b 20 31 0d 0a 09 6f 75 74 09 69 6c 6f 77 2b 31 30 68 09 3b 38 38 20 66 6f 72   ┆ve bank 1   out ilow+10h ;88 for┆
0x09e4c0…09e4e0             20 64 72 69 76 65 20 62 61 6e 6b 20 31 30 0d 0a 09 6d 6f 76 09 61 2c 62 0d 0a 09 6f 75 74 09 69   ┆ drive bank 10   mov a,b   out i┆
0x09e4e0…09e500             68 69 67 68 2b 31 30 68 0d 0a 3b 0d 0a 77 61 69 74 30 3a 09 63 61 6c 6c 09 69 6e 73 74 61 74 09   ┆high+10h  ;  wait0: call instat ┆
0x09e500…09e520             09 3b 77 61 69 74 20 66 6f 72 20 63 6f 6d 70 6c 65 74 69 6f 6e 0d 0a 09 61 6e 69 09 69 6f 72 64   ┆ ;wait for completion   ani iord┆
0x09e520…09e540             79 09 09 3b 72 65 61 64 79 3f 0d 0a 09 6a 7a 09 77 61 69 74 30 0d 0a 3b 0d 0a 3b 09 63 68 65 63   ┆y  ;ready?   jz wait0  ;  ; chec┆
0x09e540…09e560             6b 20 69 6f 20 63 6f 6d 70 6c 65 74 69 6f 6e 20 6f 6b 0d 0a 09 63 61 6c 6c 09 69 6e 74 79 70 65   ┆k io completion ok   call intype┆
0x09e560…09e580             09 09 3b 6d 75 73 74 20 62 65 20 69 6f 20 63 6f 6d 70 6c 65 74 65 20 28 30 30 29 20 75 6e 6c 69   ┆  ;must be io complete (00) unli┆
0x09e580…09e5a0             6e 6b 65 64 0d 0a 3b 09 30 30 20 75 6e 6c 69 6e 6b 65 64 20 69 2f 6f 20 63 6f 6d 70 6c 65 74 65   ┆nked  ; 00 unlinked i/o complete┆
0x09e5a0…09e5c0             2c 20 20 20 20 30 31 20 6c 69 6e 6b 65 64 20 69 2f 6f 20 63 6f 6d 70 6c 65 74 65 20 28 6e 6f 74   ┆,    01 linked i/o complete (not┆
0x09e5c0…09e5e0             20 75 73 65 64 29 0d 0a 3b 09 31 30 20 64 69 73 6b 20 73 74 61 74 75 73 20 63 68 61 6e 67 65 64   ┆ used)  ; 10 disk status changed┆
0x09e5e0…09e600             20 20 20 20 20 20 20 31 31 20 28 6e 6f 74 20 75 73 65 64 29 0d 0a 09 63 70 69 09 31 30 62 09 09   ┆       11 (not used)   cpi 10b  ┆
0x09e600…09e620 (42, 0, 8)  61 09 61 0d 0a 09 6a 6e 7a 09 69 6e 62 79 74 31 0d 0a 09 69 6e 09 72 62 79 74 65 0d 0a 09 72 65   ┆a a   jnz inbyt1   in rbyte   re┆
0x09e620…09e640             74 0d 0a 69 6e 62 79 74 31 3a 09 69 6e 09 72 62 79 74 65 2b 31 30 68 0d 0a 09 72 65 74 0d 0a 3b   ┆t  inbyt1: in rbyte+10h   ret  ;┆
0x09e640…09e660             0d 0a 69 6e 73 74 61 74 3a 09 6c 64 61 09 64 62 61 6e 6b 0d 0a 09 6f 72 61 09 61 0d 0a 09 6a 6e   ┆  instat: lda dbank   ora a   jn┆
0x09e660…09e680             7a 09 69 6e 73 74 61 31 0d 0a 09 69 6e 09 64 73 74 61 74 0d 0a 09 72 65 74 0d 0a 69 6e 73 74 61   ┆z insta1   in dstat   ret  insta┆
0x09e680…09e6a0             31 3a 09 69 6e 09 64 73 74 61 74 2b 31 30 68 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 3b 0d 0a 3b 0d 0a   ┆1: in dstat+10h   ret  ;  ;  ;  ┆
0x09e6a0…09e6c0             3b 09 64 61 74 61 20 61 72 65 61 73 20 28 6d 75 73 74 20 62 65 20 69 6e 20 72 61 6d 29 0d 0a 64   ┆; data areas (must be in ram)  d┆
0x09e6c0…09e6e0             62 61 6e 6b 3a 09 64 62 09 30 09 3b 64 69 73 6b 20 62 61 6e 6b 20 30 30 20 69 66 20 64 72 69 76   ┆bank: db 0 ;disk bank 00 if driv┆
0x09e6e0…09e700             65 20 30 2c 31 0d 0a 09 09 09 3b 09 20 20 20 31 30 20 69 66 20 64 72 69 76 65 20 32 2c 33 0d 0a   ┆e 0,1     ;    10 if drive 2,3  ┆
0x09e700…09e720             69 6f 70 62 3a 09 3b 69 6f 20 70 61 72 61 6d 65 74 65 72 20 62 6c 6f 63 6b 0d 0a 09 64 62 09 38   ┆iopb: ;io parameter block   db 8┆
0x09e720…09e740             30 68 09 3b 6e 6f 72 6d 61 6c 20 69 2f 6f 20 6f 70 65 72 61 74 69 6f 6e 0d 0a 69 6f 66 3a 09 64   ┆0h ;normal i/o operation  iof: d┆
0x09e740…09e760             62 09 72 65 61 64 66 09 3b 69 6f 20 66 75 6e 63 74 69 6f 6e 2c 20 69 6e 69 74 69 61 6c 20 72 65   ┆b readf ;io function, initial re┆
0x09e760…09e780             61 64 0d 0a 69 6f 6e 3a 09 64 62 09 31 09 3b 6e 75 6d 62 65 72 20 6f 66 20 73 65 63 74 6f 72 73   ┆ad  ion: db 1 ;number of sectors┆
0x09e780…09e7a0             20 74 6f 20 72 65 61 64 0d 0a 69 6f 74 3a 09 64 62 09 6f 66 66 73 65 74 09 3b 74 72 61 63 6b 20   ┆ to read  iot: db offset ;track ┆
0x09e7a0…09e7c0             6e 75 6d 62 65 72 0d 0a 69 6f 73 3a 09 64 62 09 31 09 3b 73 65 63 74 6f 72 20 6e 75 6d 62 65 72   ┆number  ios: db 1 ;sector number┆
0x09e7c0…09e7e0             0d 0a 69 6f 64 3a 09 64 77 09 62 75 66 66 09 3b 69 6f 20 61 64 64 72 65 73 73 0d 0a 3b 0d 0a 3b   ┆  iod: dw buff ;io address  ;  ;┆
0x09e7e0…09e800             0d 0a 3b 09 64 65 66 69 6e 65 20 72 61 6d 20 61 72 65 61 73 20 66 6f 72 20 62 64 6f 73 20 6f 70   ┆  ; define ram areas for bdos op┆
0x09e800…09e820 (42, 0, 9)  64 09 37 2a 38 2b 31 0d 0a 09 65 6e 64 69 66 0d 0a 3b 09 6c 65 61 76 65 20 69 6f 62 79 74 65 20   ┆d 7*8+1   endif  ; leave iobyte ┆
0x09e820…09e840             73 65 74 0d 0a 3b 09 70 72 65 76 69 6f 75 73 6c 79 20 73 65 6c 65 63 74 65 64 20 64 69 73 6b 20   ┆set  ; previously selected disk ┆
0x09e840…09e860             77 61 73 20 62 2c 20 73 65 6e 64 20 70 61 72 61 6d 65 74 65 72 20 74 6f 20 63 70 6d 0d 0a 09 6c   ┆was b, send parameter to cpm   l┆
0x09e860…09e880             64 61 09 63 64 69 73 6b 09 3b 6c 61 73 74 20 6c 6f 67 67 65 64 20 64 69 73 6b 20 6e 75 6d 62 65   ┆da cdisk ;last logged disk numbe┆
0x09e880…09e8a0             72 0d 0a 09 6d 6f 76 09 63 2c 61 09 3b 73 65 6e 64 20 74 6f 20 63 63 70 20 74 6f 20 6c 6f 67 20   ┆r   mov c,a ;send to ccp to log ┆
0x09e8a0…09e8c0             69 74 20 69 6e 0d 0a 09 65 69 0d 0a 09 6a 6d 70 09 63 70 6d 62 0d 0a 3b 0d 0a 3b 09 65 72 72 6f   ┆it in   ei   jmp cpmb  ;  ; erro┆
0x09e8c0…09e8e0             72 20 63 6f 6e 64 69 74 69 6f 6e 20 6f 63 63 75 72 72 65 64 2c 20 70 72 69 6e 74 20 6d 65 73 73   ┆r condition occurred, print mess┆
0x09e8e0…09e900             61 67 65 20 61 6e 64 20 72 65 74 72 79 0d 0a 62 6f 6f 74 65 72 72 3a 0d 0a 09 70 6f 70 09 62 09   ┆age and retry  booterr:   pop b ┆
0x09e900…09e920             3b 72 65 63 61 6c 6c 20 63 6f 75 6e 74 73 0d 0a 09 64 63 72 09 63 0d 0a 09 6a 7a 09 62 6f 6f 74   ┆;recall counts   dcr c   jz boot┆
0x09e920…09e940             65 72 30 0d 0a 3b 09 74 72 79 20 61 67 61 69 6e 0d 0a 09 70 75 73 68 09 62 0d 0a 09 6a 6d 70 09   ┆er0  ; try again   push b   jmp ┆
0x09e940…09e960             77 62 6f 6f 74 30 0d 0a 3b 0d 0a 62 6f 6f 74 65 72 30 3a 0d 0a 3b 09 6f 74 68 65 72 77 69 73 65   ┆wboot0  ;  booter0:  ; otherwise┆
0x09e960…09e980             20 74 6f 6f 20 6d 61 6e 79 20 72 65 74 72 69 65 73 0d 0a 09 6c 78 69 09 68 2c 62 6f 6f 74 6d 73   ┆ too many retries   lxi h,bootms┆
0x09e980…09e9a0             67 0d 0a 09 63 61 6c 6c 09 70 72 6d 73 67 0d 0a 09 6a 6d 70 09 72 6d 6f 6e 38 30 09 3b 6d 64 73   ┆g   call prmsg   jmp rmon80 ;mds┆
0x09e9a0…09e9c0             20 68 61 72 64 77 61 72 65 20 6d 6f 6e 69 74 6f 72 0d 0a 3b 0d 0a 62 6f 6f 74 6d 73 67 3a 0d 0a   ┆ hardware monitor  ;  bootmsg:  ┆
0x09e9c0…09e9e0             09 64 62 09 27 3f 62 6f 6f 74 27 2c 30 0d 0a 3b 0d 0a 3b 0d 0a 63 6f 6e 73 74 3a 09 3b 63 6f 6e   ┆ db '?boot',0  ;  ;  const: ;con┆
0x09e9e0…09ea00             73 6f 6c 65 20 73 74 61 74 75 73 20 74 6f 20 72 65 67 2d 61 0d 0a 3b 09 28 65 78 61 63 74 6c 79   ┆sole status to reg-a  ; (exactly┆
0x09ea00…09ea20 (42, 0, 10) 09 3b 74 72 61 6e 73 6c 61 74 65 28 73 65 63 74 6f 72 29 20 61 64 64 72 65 73 73 0d 0a 09 6d 6f   ┆ ;translate(sector) address   mo┆
0x09ea20…09ea40             76 09 61 2c 6d 09 3b 74 72 61 6e 73 6c 61 74 65 64 20 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 20   ┆v a,m ;translated sector number ┆
0x09ea40…09ea60             74 6f 20 41 0d 0a 09 73 74 61 09 69 6f 73 0d 0a 09 6d 6f 76 09 6c 2c 61 09 3b 72 65 74 75 72 6e   ┆to A   sta ios   mov l,a ;return┆
0x09ea60…09ea80             20 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 20 69 6e 20 4c 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 73 65   ┆ sector number in L   ret  ;  se┆
0x09ea80…09eaa0             74 64 6d 61 3a 09 3b 73 65 74 20 64 6d 61 20 61 64 64 72 65 73 73 20 67 69 76 65 6e 20 62 79 20   ┆tdma: ;set dma address given by ┆
0x09eaa0…09eac0             72 65 67 73 20 62 2c 63 0d 0a 09 6d 6f 76 09 6c 2c 63 0d 0a 09 6d 6f 76 09 68 2c 62 0d 0a 09 73   ┆regs b,c   mov l,c   mov h,b   s┆
0x09eac0…09eae0             68 6c 64 09 69 6f 64 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 72 65 61 64 3a 09 3b 72 65 61 64 20 6e 65   ┆hld iod   ret  ;  read: ;read ne┆
0x09eae0…09eb00             78 74 20 64 69 73 6b 20 72 65 63 6f 72 64 20 28 61 73 73 75 6d 69 6e 67 20 64 69 73 6b 2f 74 72   ┆xt disk record (assuming disk/tr┆
0x09eb00…09eb20             6b 2f 73 65 63 2f 64 6d 61 20 73 65 74 29 0d 0a 09 6d 76 69 09 63 2c 72 65 61 64 66 09 3b 73 65   ┆k/sec/dma set)   mvi c,readf ;se┆
0x09eb20…09eb40             74 20 74 6f 20 72 65 61 64 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 63 61 6c 6c 09 73 65 74 66 75 6e   ┆t to read function   call setfun┆
0x09eb40…09eb60             63 0d 0a 09 63 61 6c 6c 09 77 61 69 74 69 6f 09 3b 70 65 72 66 6f 72 6d 20 72 65 61 64 20 66 75   ┆c   call waitio ;perform read fu┆
0x09eb60…09eb80             6e 63 74 69 6f 6e 0d 0a 09 72 65 74 09 09 3b 6d 61 79 20 68 61 76 65 20 65 72 72 6f 72 20 73 65   ┆nction   ret  ;may have error se┆
0x09eb80…09eba0             74 20 69 6e 20 72 65 67 2d 61 0d 0a 3b 0d 0a 3b 0d 0a 77 72 69 74 65 3a 09 3b 64 69 73 6b 20 77   ┆t in reg-a  ;  ;  write: ;disk w┆
0x09eba0…09ebc0             72 69 74 65 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 6d 76 69 09 63 2c 77 72 69 74 66 0d 0a 09 63 61   ┆rite function   mvi c,writf   ca┆
0x09ebc0…09ebe0             6c 6c 09 73 65 74 66 75 6e 63 09 3b 73 65 74 20 74 6f 20 77 72 69 74 65 20 66 75 6e 63 74 69 6f   ┆ll setfunc ;set to write functio┆
0x09ebe0…09ec00             6e 0d 0a 09 63 61 6c 6c 09 77 61 69 74 69 6f 0d 0a 09 72 65 74 09 09 3b 6d 61 79 20 68 61 76 65   ┆n   call waitio   ret  ;may have┆
0x09ec00…09ec20 (42, 0, 11) 3b 72 65 61 64 79 20 73 74 61 74 75 73 20 63 68 61 6e 67 65 3f 0d 0a 09 6a 7a 09 77 72 65 61 64   ┆;ready status change?   jz wread┆
0x09ec20…09ec40             79 0d 0a 3b 0d 0a 3b 09 6d 75 73 74 20 62 65 20 30 30 20 69 6e 20 74 68 65 20 61 63 63 75 6d 75   ┆y  ;  ; must be 00 in the accumu┆
0x09ec40…09ec60             6c 61 74 6f 72 0d 0a 09 6f 72 61 09 61 0d 0a 09 6a 6e 7a 09 77 65 72 72 6f 72 09 09 3b 73 6f 6d   ┆lator   ora a   jnz werror  ;som┆
0x09ec60…09ec80             65 20 6f 74 68 65 72 20 63 6f 6e 64 69 74 69 6f 6e 2c 20 72 65 74 72 79 0d 0a 3b 0d 0a 3b 09 63   ┆e other condition, retry  ;  ; c┆
0x09ec80…09eca0             68 65 63 6b 20 69 2f 6f 20 65 72 72 6f 72 20 62 69 74 73 0d 0a 09 63 61 6c 6c 09 69 6e 62 79 74   ┆heck i/o error bits   call inbyt┆
0x09eca0…09ecc0             65 0d 0a 09 72 61 6c 0d 0a 09 6a 63 09 77 72 65 61 64 79 09 09 3b 75 6e 69 74 20 6e 6f 74 20 72   ┆e   ral   jc wready  ;unit not r┆
0x09ecc0…09ece0             65 61 64 79 0d 0a 09 72 61 72 0d 0a 09 61 6e 69 09 31 31 31 31 31 31 31 30 62 09 3b 61 6e 79 20   ┆eady   rar   ani 11111110b ;any ┆
0x09ece0…09ed00             6f 74 68 65 72 20 65 72 72 6f 72 73 3f 20 20 28 64 65 6c 65 74 65 64 20 64 61 74 61 20 6f 6b 29   ┆other errors?  (deleted data ok)┆
0x09ed00…09ed20             0d 0a 09 6a 6e 7a 09 77 65 72 72 6f 72 0d 0a 3b 0d 0a 3b 09 72 65 61 64 20 6f 72 20 77 72 69 74   ┆   jnz werror  ;  ; read or writ┆
0x09ed20…09ed40             65 20 69 73 20 6f 6b 2c 20 61 63 63 75 6d 75 6c 61 74 6f 72 20 63 6f 6e 74 61 69 6e 73 20 7a 65   ┆e is ok, accumulator contains ze┆
0x09ed40…09ed60             72 6f 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 77 72 65 61 64 79 3a 09 3b 6e 6f 74 20 72 65 61 64 79 2c   ┆ro   ret  ;  wready: ;not ready,┆
0x09ed60…09ed80             20 74 72 65 61 74 20 61 73 20 65 72 72 6f 72 20 66 6f 72 20 6e 6f 77 0d 0a 09 63 61 6c 6c 09 69   ┆ treat as error for now   call i┆
0x09ed80…09eda0             6e 62 79 74 65 09 09 3b 63 6c 65 61 72 20 72 65 73 75 6c 74 20 62 79 74 65 0d 0a 09 6a 6d 70 09   ┆nbyte  ;clear result byte   jmp ┆
0x09eda0…09edc0             74 72 79 63 6f 75 6e 74 0d 0a 3b 0d 0a 77 65 72 72 6f 72 3a 09 3b 72 65 74 75 72 6e 20 68 61 72   ┆trycount  ;  werror: ;return har┆
0x09edc0…09ede0             64 77 61 72 65 20 6d 61 6c 66 75 6e 63 74 69 6f 6e 20 28 63 72 63 2c 20 74 72 61 63 6b 2c 20 73   ┆dware malfunction (crc, track, s┆
0x09ede0…09ee00             65 65 6b 2c 20 65 74 63 2e 29 0d 0a 3b 09 74 68 65 20 6d 64 73 20 63 6f 6e 74 72 6f 6c 6c 65 72   ┆eek, etc.)  ; the mds controller┆
0x09ee00…09ee20 (42, 0, 12) 65 72 61 74 69 6f 6e 0d 0a 09 65 6e 64 65 66 0d 0a 09 65 6e 64 0d 0a 3b 09 4d 44 53 2d 38 30 30   ┆eration   endef   end  ; MDS-800┆
0x09ee20…09ee40             20 49 2f 4f 20 44 72 69 76 65 72 73 20 66 6f 72 20 43 50 2f 4d 20 32 2e 32 0d 0a 3b 09 28 66 6f   ┆ I/O Drivers for CP/M 2.2  ; (fo┆
0x09ee40…09ee60             75 72 20 64 72 69 76 65 20 73 69 6e 67 6c 65 20 64 65 6e 73 69 74 79 20 76 65 72 73 69 6f 6e 29   ┆ur drive single density version)┆
0x09ee60…09ee80             0d 0a 3b 0d 0a 3b 09 56 65 72 73 69 6f 6e 20 32 2e 32 20 46 65 62 72 75 61 72 79 2c 20 31 39 38   ┆  ;  ; Version 2.2 February, 198┆
0x09ee80…09eea0             30 0d 0a 3b 0d 0a 76 65 72 73 09 65 71 75 09 32 32 09 3b 76 65 72 73 69 6f 6e 20 32 2e 32 0d 0a   ┆0  ;  vers equ 22 ;version 2.2  ┆
0x09eea0…09eec0             3b 0d 0a 3b 09 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 31 39 38 30 0d 0a 3b 09 44 69 67 69 74   ┆;  ; Copyright (c) 1980  ; Digit┆
0x09eec0…09eee0             61 6c 20 52 65 73 65 61 72 63 68 0d 0a 3b 09 42 6f 78 20 35 37 39 2c 20 50 61 63 69 66 69 63 20   ┆al Research  ; Box 579, Pacific ┆
0x09eee0…09ef00             47 72 6f 76 65 0d 0a 3b 09 43 61 6c 69 66 6f 72 6e 69 61 2c 20 39 33 39 35 30 0d 0a 3b 0d 0a 3b   ┆Grove  ; California, 93950  ;  ;┆
0x09ef00…09ef20             0d 0a 74 72 75 65 09 65 71 75 09 30 66 66 66 66 68 09 3b 76 61 6c 75 65 20 6f 66 20 22 74 72 75   ┆  true equ 0ffffh ;value of "tru┆
0x09ef20…09ef40             65 22 0d 0a 66 61 6c 73 65 09 65 71 75 09 6e 6f 74 20 74 72 75 65 09 3b 22 66 61 6c 73 65 22 0d   ┆e"  false equ not true ;"false" ┆
0x09ef40…09ef60             0a 74 65 73 74 09 65 71 75 09 66 61 6c 73 65 09 3b 74 72 75 65 20 69 66 20 74 65 73 74 20 62 69   ┆ test equ false ;true if test bi┆
0x09ef60…09ef80             6f 73 0d 0a 3b 0d 0a 09 69 66 09 74 65 73 74 0d 0a 62 69 61 73 09 65 71 75 09 30 33 34 30 30 68   ┆os  ;   if test  bias equ 03400h┆
0x09ef80…09efa0             09 3b 62 61 73 65 20 6f 66 20 43 43 50 20 69 6e 20 74 65 73 74 20 73 79 73 74 65 6d 0d 0a 09 65   ┆ ;base of CCP in test system   e┆
0x09efa0…09efc0             6e 64 69 66 0d 0a 09 69 66 09 6e 6f 74 20 74 65 73 74 0d 0a 62 69 61 73 09 65 71 75 09 30 30 30   ┆ndif   if not test  bias equ 000┆
0x09efc0…09efe0             30 68 09 3b 67 65 6e 65 72 61 74 65 20 72 65 6c 6f 63 61 74 61 62 6c 65 20 63 70 2f 6d 20 73 79   ┆0h ;generate relocatable cp/m sy┆
0x09efe0…09f000             73 74 65 6d 0d 0a 09 65 6e 64 69 66 0d 0a 3b 0d 0a 70 61 74 63 68 09 65 71 75 09 31 36 30 30 68   ┆stem   endif  ;  patch equ 1600h┆
0x09f000…09f020 (42, 0, 13) 20 74 68 65 20 73 61 6d 65 20 61 73 20 6d 64 73 20 63 61 6c 6c 29 0d 0a 09 6a 6d 70 09 63 73 74   ┆ the same as mds call)   jmp cst┆
0x09f020…09f040             73 0d 0a 3b 0d 0a 63 6f 6e 69 6e 3a 09 3b 63 6f 6e 73 6f 6c 65 20 63 68 61 72 61 63 74 65 72 20   ┆s  ;  conin: ;console character ┆
0x09f040…09f060             74 6f 20 72 65 67 2d 61 0d 0a 09 63 61 6c 6c 09 63 69 0d 0a 09 61 6e 69 09 37 66 68 09 3b 72 65   ┆to reg-a   call ci   ani 7fh ;re┆
0x09f060…09f080             6d 6f 76 65 20 70 61 72 69 74 79 20 62 69 74 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 63 6f 6e 6f 75 74   ┆move parity bit   ret  ;  conout┆
0x09f080…09f0a0             3a 09 3b 63 6f 6e 73 6f 6c 65 20 63 68 61 72 61 63 74 65 72 20 66 72 6f 6d 20 63 20 74 6f 20 63   ┆: ;console character from c to c┆
0x09f0a0…09f0c0             6f 6e 73 6f 6c 65 20 6f 75 74 0d 0a 09 6a 6d 70 09 63 6f 0d 0a 3b 0d 0a 6c 69 73 74 3a 09 3b 6c   ┆onsole out   jmp co  ;  list: ;l┆
0x09f0c0…09f0e0             69 73 74 20 64 65 76 69 63 65 20 6f 75 74 0d 0a 3b 09 28 65 78 61 63 74 6c 79 20 74 68 65 20 73   ┆ist device out  ; (exactly the s┆
0x09f0e0…09f100             61 6d 65 20 61 73 20 6d 64 73 20 63 61 6c 6c 29 0d 0a 09 6a 6d 70 09 6c 6f 0d 0a 3b 0d 0a 6c 69   ┆ame as mds call)   jmp lo  ;  li┆
0x09f100…09f120             73 74 73 74 3a 0d 0a 09 3b 72 65 74 75 72 6e 20 6c 69 73 74 20 73 74 61 74 75 73 0d 0a 09 78 72   ┆stst:   ;return list status   xr┆
0x09f120…09f140             61 09 61 0d 0a 09 72 65 74 09 09 3b 61 6c 77 61 79 73 20 6e 6f 74 20 72 65 61 64 79 0d 0a 3b 0d   ┆a a   ret  ;always not ready  ; ┆
0x09f140…09f160             0a 70 75 6e 63 68 3a 09 3b 70 75 6e 63 68 20 64 65 76 69 63 65 20 6f 75 74 0d 0a 3b 09 28 65 78   ┆ punch: ;punch device out  ; (ex┆
0x09f160…09f180             61 63 74 6c 79 20 74 68 65 20 73 61 6d 65 20 61 73 20 6d 64 73 20 63 61 6c 6c 29 0d 0a 09 6a 6d   ┆actly the same as mds call)   jm┆
0x09f180…09f1a0             70 09 70 6f 0d 0a 3b 0d 0a 72 65 61 64 65 72 3a 09 3b 72 65 61 64 65 72 20 63 68 61 72 61 63 74   ┆p po  ;  reader: ;reader charact┆
0x09f1a0…09f1c0             65 72 20 69 6e 20 74 6f 20 72 65 67 2d 61 0d 0a 3b 09 28 65 78 61 63 74 6c 79 20 74 68 65 20 73   ┆er in to reg-a  ; (exactly the s┆
0x09f1c0…09f1e0             61 6d 65 20 61 73 20 6d 64 73 20 63 61 6c 6c 29 0d 0a 09 6a 6d 70 09 72 69 0d 0a 3b 0d 0a 68 6f   ┆ame as mds call)   jmp ri  ;  ho┆
0x09f1e0…09f200             6d 65 3a 09 3b 6d 6f 76 65 20 74 6f 20 68 6f 6d 65 20 70 6f 73 69 74 69 6f 6e 0d 0a 3b 09 74 72   ┆me: ;move to home position  ; tr┆
0x09f200…09f220 (42, 0, 14) 20 65 72 72 6f 72 20 73 65 74 0d 0a 3b 0d 0a 3b 0d 0a 3b 09 75 74 69 6c 69 74 79 20 73 75 62 72   ┆ error set  ;  ;  ; utility subr┆
0x09f220…09f240             6f 75 74 69 6e 65 73 0d 0a 70 72 6d 73 67 3a 09 3b 70 72 69 6e 74 20 6d 65 73 73 61 67 65 20 61   ┆outines  prmsg: ;print message a┆
0x09f240…09f260             74 20 68 2c 6c 20 74 6f 20 30 0d 0a 09 6d 6f 76 09 61 2c 6d 0d 0a 09 6f 72 61 09 61 09 3b 7a 65   ┆t h,l to 0   mov a,m   ora a ;ze┆
0x09f260…09f280             72 6f 3f 0d 0a 09 72 7a 0d 0a 3b 09 6d 6f 72 65 20 74 6f 20 70 72 69 6e 74 0d 0a 09 70 75 73 68   ┆ro?   rz  ; more to print   push┆
0x09f280…09f2a0             09 68 0d 0a 09 6d 6f 76 09 63 2c 61 0d 0a 09 63 61 6c 6c 09 63 6f 6e 6f 75 74 0d 0a 09 70 6f 70   ┆ h   mov c,a   call conout   pop┆
0x09f2a0…09f2c0             09 68 0d 0a 09 69 6e 78 09 68 0d 0a 09 6a 6d 70 09 70 72 6d 73 67 0d 0a 3b 0d 0a 73 65 74 66 75   ┆ h   inx h   jmp prmsg  ;  setfu┆
0x09f2c0…09f2e0             6e 63 3a 0d 0a 3b 09 73 65 74 20 66 75 6e 63 74 69 6f 6e 20 66 6f 72 20 6e 65 78 74 20 69 2f 6f   ┆nc:  ; set function for next i/o┆
0x09f2e0…09f300             20 28 63 6f 6d 6d 61 6e 64 20 69 6e 20 72 65 67 2d 63 29 0d 0a 09 6c 78 69 09 68 2c 69 6f 66 09   ┆ (command in reg-c)   lxi h,iof ┆
0x09f300…09f320             3b 69 6f 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 72 65 73 73 0d 0a 09 6d 6f 76 09 61 2c 6d 09 3b   ┆;io function address   mov a,m ;┆
0x09f320…09f340             67 65 74 20 69 74 20 74 6f 20 61 63 63 75 6d 75 6c 61 74 6f 72 20 66 6f 72 20 6d 61 73 6b 69 6e   ┆get it to accumulator for maskin┆
0x09f340…09f360             67 0d 0a 09 61 6e 69 09 31 31 31 31 31 30 30 30 62 09 3b 72 65 6d 6f 76 65 20 70 72 65 76 69 6f   ┆g   ani 11111000b ;remove previo┆
0x09f360…09f380             75 73 20 63 6f 6d 6d 61 6e 64 0d 0a 09 6f 72 61 09 63 09 3b 73 65 74 20 74 6f 20 6e 65 77 20 63   ┆us command   ora c ;set to new c┆
0x09f380…09f3a0             6f 6d 6d 61 6e 64 0d 0a 09 6d 6f 76 09 6d 2c 61 09 3b 72 65 70 6c 61 63 65 64 20 69 6e 20 69 6f   ┆ommand   mov m,a ;replaced in io┆
0x09f3a0…09f3c0             70 62 0d 0a 3b 09 74 68 65 20 6d 64 73 2d 38 30 30 20 63 6f 6e 74 72 6f 6c 6c 65 72 20 72 65 71   ┆pb  ; the mds-800 controller req┆
0x09f3c0…09f3e0             75 69 72 65 73 20 64 69 73 6b 20 62 61 6e 6b 20 62 69 74 20 69 6e 20 73 65 63 74 6f 72 20 62 79   ┆uires disk bank bit in sector by┆
0x09f3e0…09f400             74 65 0d 0a 3b 09 6d 61 73 6b 20 74 68 65 20 62 69 74 20 66 72 6f 6d 20 74 68 65 20 63 75 72 72   ┆te  ; mask the bit from the curr┆
0x09f400…09f420 (42, 0, 15) 20 68 61 73 20 72 65 74 75 72 6e 65 64 20 61 20 62 69 74 20 69 6e 20 65 61 63 68 20 70 6f 73 69   ┆ has returned a bit in each posi┆
0x09f420…09f440             74 69 6f 6e 0d 0a 3b 09 6f 66 20 74 68 65 20 61 63 63 75 6d 75 6c 61 74 6f 72 2c 20 63 6f 72 72   ┆tion  ; of the accumulator, corr┆
0x09f440…09f460             65 73 70 6f 6e 64 69 6e 67 20 74 6f 20 74 68 65 20 63 6f 6e 64 69 74 69 6f 6e 73 3a 0d 0a 3b 09   ┆esponding to the conditions:  ; ┆
0x09f460…09f480             30 09 2d 20 64 65 6c 65 74 65 64 20 64 61 74 61 20 28 61 63 63 65 70 74 65 64 20 61 73 20 6f 6b   ┆0 - deleted data (accepted as ok┆
0x09f480…09f4a0             20 61 62 6f 76 65 29 0d 0a 3b 09 31 09 2d 20 63 72 63 20 65 72 72 6f 72 0d 0a 3b 09 32 09 2d 20   ┆ above)  ; 1 - crc error  ; 2 - ┆
0x09f4a0…09f4c0             73 65 65 6b 20 65 72 72 6f 72 0d 0a 3b 09 33 09 2d 20 61 64 64 72 65 73 73 20 65 72 72 6f 72 20   ┆seek error  ; 3 - address error ┆
0x09f4c0…09f4e0             28 68 61 72 64 77 61 72 65 20 6d 61 6c 66 75 6e 63 74 69 6f 6e 29 0d 0a 3b 09 34 09 2d 20 64 61   ┆(hardware malfunction)  ; 4 - da┆
0x09f4e0…09f500             74 61 20 6f 76 65 72 2f 75 6e 64 65 72 20 66 6c 6f 77 20 28 68 61 72 64 77 61 72 65 20 6d 61 6c   ┆ta over/under flow (hardware mal┆
0x09f500…09f520             66 75 6e 63 74 69 6f 6e 29 0d 0a 3b 09 35 09 2d 20 77 72 69 74 65 20 70 72 6f 74 65 63 74 20 28   ┆function)  ; 5 - write protect (┆
0x09f520…09f540             74 72 65 61 74 65 64 20 61 73 20 6e 6f 74 20 72 65 61 64 79 29 0d 0a 3b 09 36 09 2d 20 77 72 69   ┆treated as not ready)  ; 6 - wri┆
0x09f540…09f560             74 65 20 65 72 72 6f 72 20 28 68 61 72 64 77 61 72 65 20 6d 61 6c 66 75 6e 63 74 69 6f 6e 29 0d   ┆te error (hardware malfunction) ┆
0x09f560…09f580             0a 3b 09 37 09 2d 20 6e 6f 74 20 72 65 61 64 79 0d 0a 3b 09 28 61 63 63 75 6d 75 6c 61 74 6f 72   ┆ ; 7 - not ready  ; (accumulator┆
0x09f580…09f5a0             20 62 69 74 73 20 61 72 65 20 6e 75 6d 62 65 72 65 64 20 37 20 36 20 35 20 34 20 33 20 32 20 31   ┆ bits are numbered 7 6 5 4 3 2 1┆
0x09f5a0…09f5c0             20 30 29 0d 0a 3b 0d 0a 3b 09 69 74 20 6d 61 79 20 62 65 20 75 73 65 66 75 6c 20 74 6f 20 66 69   ┆ 0)  ;  ; it may be useful to fi┆
0x09f5c0…09f5e0             6c 74 65 72 20 6f 75 74 20 74 68 65 20 76 61 72 69 6f 75 73 20 63 6f 6e 64 69 74 69 6f 6e 73 2c   ┆lter out the various conditions,┆
0x09f5e0…09f600             0d 0a 3b 09 62 75 74 20 77 65 20 77 69 6c 6c 20 67 65 74 20 61 20 70 65 72 6d 61 6e 65 6e 74 20   ┆  ; but we will get a permanent ┆
0x09f600…09f620 (42, 1, 1)  0d 0a 3b 0d 0a 09 6f 72 67 09 70 61 74 63 68 0d 0a 63 70 6d 62 09 65 71 75 09 24 2d 70 61 74 63   ┆  ;   org patch  cpmb equ $-patc┆
0x09f620…09f640             68 09 3b 62 61 73 65 20 6f 66 20 63 70 6d 20 63 6f 6e 73 6f 6c 65 20 70 72 6f 63 65 73 73 6f 72   ┆h ;base of cpm console processor┆
0x09f640…09f660             0d 0a 62 64 6f 73 09 65 71 75 09 38 30 36 68 2b 63 70 6d 62 09 3b 62 61 73 69 63 20 64 6f 73 20   ┆  bdos equ 806h+cpmb ;basic dos ┆
0x09f660…09f680             28 72 65 73 69 64 65 6e 74 20 70 6f 72 74 69 6f 6e 29 0d 0a 63 70 6d 6c 09 65 71 75 09 24 2d 63   ┆(resident portion)  cpml equ $-c┆
0x09f680…09f6a0             70 6d 62 09 3b 6c 65 6e 67 74 68 20 28 69 6e 20 62 79 74 65 73 29 20 6f 66 20 63 70 6d 20 73 79   ┆pmb ;length (in bytes) of cpm sy┆
0x09f6a0…09f6c0             73 74 65 6d 0d 0a 6e 73 65 63 74 73 09 65 71 75 09 63 70 6d 6c 2f 31 32 38 09 3b 6e 75 6d 62 65   ┆stem  nsects equ cpml/128 ;numbe┆
0x09f6c0…09f6e0             72 20 6f 66 20 73 65 63 74 6f 72 73 20 74 6f 20 6c 6f 61 64 0d 0a 6f 66 66 73 65 74 09 65 71 75   ┆r of sectors to load  offset equ┆
0x09f6e0…09f700             09 32 09 3b 6e 75 6d 62 65 72 20 6f 66 20 64 69 73 6b 20 74 72 61 63 6b 73 20 75 73 65 64 20 62   ┆ 2 ;number of disk tracks used b┆
0x09f700…09f720             79 20 63 70 2f 6d 0d 0a 63 64 69 73 6b 09 65 71 75 09 30 30 30 34 68 09 3b 61 64 64 72 65 73 73   ┆y cp/m  cdisk equ 0004h ;address┆
0x09f720…09f740             20 6f 66 20 6c 61 73 74 20 6c 6f 67 67 65 64 20 64 69 73 6b 20 6f 6e 20 77 61 72 6d 20 73 74 61   ┆ of last logged disk on warm sta┆
0x09f740…09f760             72 74 0d 0a 62 75 66 66 09 65 71 75 09 30 30 38 30 68 09 3b 64 65 66 61 75 6c 74 20 62 75 66 66   ┆rt  buff equ 0080h ;default buff┆
0x09f760…09f780             65 72 20 61 64 64 72 65 73 73 0d 0a 72 65 74 72 79 09 65 71 75 09 31 30 09 3b 6d 61 78 20 72 65   ┆er address  retry equ 10 ;max re┆
0x09f780…09f7a0             74 72 69 65 73 20 6f 6e 20 64 69 73 6b 20 69 2f 6f 20 62 65 66 6f 72 65 20 65 72 72 6f 72 0d 0a   ┆tries on disk i/o before error  ┆
0x09f7a0…09f7c0             3b 0d 0a 3b 09 70 65 72 66 6f 72 6d 20 66 6f 6c 6c 6f 77 69 6e 67 20 66 75 6e 63 74 69 6f 6e 73   ┆;  ; perform following functions┆
0x09f7c0…09f7e0             0d 0a 3b 09 62 6f 6f 74 09 63 6f 6c 64 20 73 74 61 72 74 0d 0a 3b 09 77 62 6f 6f 74 09 77 61 72   ┆  ; boot cold start  ; wboot war┆
0x09f7e0…09f800             6d 20 73 74 61 72 74 20 28 73 61 76 65 20 69 2f 6f 20 62 79 74 65 29 0d 0a 3b 09 28 62 6f 6f 74   ┆m start (save i/o byte)  ; (boot┆
0x09f800…09f820 (42, 1, 2)  65 72 73 20 66 72 6f 6d 20 74 68 65 20 69 6e 74 65 6c 20 6d 64 73 2e 0d 0a 3b 0d 0a 3b 09 74 68   ┆ers from the intel mds.  ;  ; th┆
0x09f820…09f840             65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 64 65 20 61 73 73 75 6d 65 73 20 74 68 65 20 6d 64 73   ┆e following code assumes the mds┆
0x09f840…09f860             20 6d 6f 6e 69 74 6f 72 20 65 78 69 73 74 73 20 61 74 20 30 66 38 30 30 68 0d 0a 3b 09 61 6e 64   ┆ monitor exists at 0f800h  ; and┆
0x09f860…09f880             20 75 73 65 73 20 74 68 65 20 69 2f 6f 20 73 75 62 72 6f 75 74 69 6e 65 73 20 77 69 74 68 69 6e   ┆ uses the i/o subroutines within┆
0x09f880…09f8a0             20 74 68 65 20 6d 6f 6e 69 74 6f 72 0d 0a 3b 0d 0a 3b 09 77 65 20 61 6c 73 6f 20 61 73 73 75 6d   ┆ the monitor  ;  ; we also assum┆
0x09f8a0…09f8c0             65 20 74 68 65 20 6d 64 73 20 73 79 73 74 65 6d 20 68 61 73 20 66 6f 75 72 20 64 69 73 6b 20 64   ┆e the mds system has four disk d┆
0x09f8c0…09f8e0             72 69 76 65 73 0d 0a 72 65 76 72 74 09 65 71 75 09 30 66 64 68 09 3b 69 6e 74 65 72 72 75 70 74   ┆rives  revrt equ 0fdh ;interrupt┆
0x09f8e0…09f900             20 72 65 76 65 72 74 20 70 6f 72 74 0d 0a 69 6e 74 63 09 65 71 75 09 30 66 63 68 09 3b 69 6e 74   ┆ revert port  intc equ 0fch ;int┆
0x09f900…09f920             65 72 72 75 70 74 20 6d 61 73 6b 20 70 6f 72 74 0d 0a 69 63 6f 6e 09 65 71 75 09 30 66 33 68 09   ┆errupt mask port  icon equ 0f3h ┆
0x09f920…09f940             3b 69 6e 74 65 72 72 75 70 74 20 63 6f 6e 74 72 6f 6c 20 70 6f 72 74 0d 0a 69 6e 74 65 09 65 71   ┆;interrupt control port  inte eq┆
0x09f940…09f960             75 09 30 31 31 31 24 31 31 31 30 62 09 3b 65 6e 61 62 6c 65 20 72 73 74 20 30 28 77 61 72 6d 20   ┆u 0111$1110b ;enable rst 0(warm ┆
0x09f960…09f980             62 6f 6f 74 29 2c 20 72 73 74 20 37 20 28 6d 6f 6e 69 74 6f 72 29 0d 0a 3b 0d 0a 3b 09 6d 64 73   ┆boot), rst 7 (monitor)  ;  ; mds┆
0x09f980…09f9a0             20 6d 6f 6e 69 74 6f 72 20 65 71 75 61 74 65 73 0d 0a 6d 6f 6e 38 30 09 65 71 75 09 30 66 38 30   ┆ monitor equates  mon80 equ 0f80┆
0x09f9a0…09f9c0             30 68 09 3b 6d 64 73 20 6d 6f 6e 69 74 6f 72 0d 0a 72 6d 6f 6e 38 30 09 65 71 75 09 30 66 66 30   ┆0h ;mds monitor  rmon80 equ 0ff0┆
0x09f9c0…09f9e0             66 68 09 3b 72 65 73 74 61 72 74 20 6d 6f 6e 38 30 20 28 62 6f 6f 74 20 65 72 72 6f 72 29 0d 0a   ┆fh ;restart mon80 (boot error)  ┆
0x09f9e0…09fa00             63 69 09 65 71 75 09 30 66 38 30 33 68 09 3b 63 6f 6e 73 6f 6c 65 20 63 68 61 72 61 63 74 65 72   ┆ci equ 0f803h ;console character┆
0x09fa00…09fa20 (42, 1, 3)  6d 0d 0a 09 63 61 6c 6c 09 73 65 74 64 6d 61 0d 0a 09 6d 76 69 09 63 2c 30 09 3b 62 6f 6f 74 20   ┆m   call setdma   mvi c,0 ;boot ┆
0x09fa20…09fa40             66 72 6f 6d 20 64 72 69 76 65 20 30 0d 0a 09 63 61 6c 6c 09 73 65 6c 64 73 6b 0d 0a 09 6d 76 69   ┆from drive 0   call seldsk   mvi┆
0x09fa40…09fa60             09 63 2c 30 0d 0a 09 63 61 6c 6c 09 73 65 74 74 72 6b 09 3b 73 74 61 72 74 20 77 69 74 68 20 74   ┆ c,0   call settrk ;start with t┆
0x09fa60…09fa80             72 61 63 6b 20 30 0d 0a 09 6d 76 69 09 63 2c 32 09 3b 73 74 61 72 74 20 72 65 61 64 69 6e 67 20   ┆rack 0   mvi c,2 ;start reading ┆
0x09fa80…09faa0             73 65 63 74 6f 72 20 32 0d 0a 09 63 61 6c 6c 09 73 65 74 73 65 63 0d 0a 3b 0d 0a 3b 09 72 65 61   ┆sector 2   call setsec  ;  ; rea┆
0x09faa0…09fac0             64 20 73 65 63 74 6f 72 73 2c 20 63 6f 75 6e 74 20 6e 73 65 63 74 73 20 74 6f 20 7a 65 72 6f 0d   ┆d sectors, count nsects to zero ┆
0x09fac0…09fae0             0a 09 70 6f 70 09 62 09 3b 31 30 2d 65 72 72 6f 72 20 63 6f 75 6e 74 0d 0a 09 6d 76 69 09 62 2c   ┆  pop b ;10-error count   mvi b,┆
0x09fae0…09fb00             6e 73 65 63 74 73 0d 0a 72 64 73 65 63 3a 09 3b 72 65 61 64 20 6e 65 78 74 20 73 65 63 74 6f 72   ┆nsects  rdsec: ;read next sector┆
0x09fb00…09fb20             0d 0a 09 70 75 73 68 09 62 09 3b 73 61 76 65 20 73 65 63 74 6f 72 20 63 6f 75 6e 74 0d 0a 09 63   ┆   push b ;save sector count   c┆
0x09fb20…09fb40             61 6c 6c 09 72 65 61 64 0d 0a 09 6a 6e 7a 09 62 6f 6f 74 65 72 72 09 3b 72 65 74 72 79 20 69 66   ┆all read   jnz booterr ;retry if┆
0x09fb40…09fb60             20 65 72 72 6f 72 73 20 6f 63 63 75 72 0d 0a 09 6c 68 6c 64 09 69 6f 64 09 3b 69 6e 63 72 65 6d   ┆ errors occur   lhld iod ;increm┆
0x09fb60…09fb80             65 6e 74 20 64 6d 61 20 61 64 64 72 65 73 73 0d 0a 09 6c 78 69 09 64 2c 31 32 38 09 3b 73 65 63   ┆ent dma address   lxi d,128 ;sec┆
0x09fb80…09fba0             74 6f 72 20 73 69 7a 65 0d 0a 09 64 61 64 09 64 09 3b 69 6e 63 72 65 6d 65 6e 74 65 64 20 64 6d   ┆tor size   dad d ;incremented dm┆
0x09fba0…09fbc0             61 20 61 64 64 72 65 73 73 20 69 6e 20 68 6c 0d 0a 09 6d 6f 76 09 62 2c 68 0d 0a 09 6d 6f 76 09   ┆a address in hl   mov b,h   mov ┆
0x09fbc0…09fbe0             63 2c 6c 09 3b 72 65 61 64 79 20 66 6f 72 20 63 61 6c 6c 20 74 6f 20 73 65 74 20 64 6d 61 0d 0a   ┆c,l ;ready for call to set dma  ┆
0x09fbe0…09fc00             09 63 61 6c 6c 09 73 65 74 64 6d 61 0d 0a 09 6c 64 61 09 69 6f 73 09 3b 73 65 63 74 6f 72 20 6e   ┆ call setdma   lda ios ;sector n┆
0x09fc00…09fc20 (42, 1, 4)  68 09 3b 72 65 6d 6f 76 65 20 70 61 72 69 74 79 20 62 69 74 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 63   ┆h ;remove parity bit   ret  ;  c┆
0x09fc20…09fc40             6f 6e 6f 75 74 3a 09 3b 63 6f 6e 73 6f 6c 65 20 63 68 61 72 61 63 74 65 72 20 66 72 6f 6d 20 63   ┆onout: ;console character from c┆
0x09fc40…09fc60             20 74 6f 20 63 6f 6e 73 6f 6c 65 20 6f 75 74 0d 0a 09 6a 6d 70 09 63 6f 0d 0a 3b 0d 0a 6c 69 73   ┆ to console out   jmp co  ;  lis┆
0x09fc60…09fc80             74 3a 09 3b 6c 69 73 74 20 64 65 76 69 63 65 20 6f 75 74 0d 0a 3b 09 28 65 78 61 63 74 6c 79 20   ┆t: ;list device out  ; (exactly ┆
0x09fc80…09fca0             74 68 65 20 73 61 6d 65 20 61 73 20 6d 64 73 20 63 61 6c 6c 29 0d 0a 09 6a 6d 70 09 6c 6f 0d 0a   ┆the same as mds call)   jmp lo  ┆
0x09fca0…09fcc0             3b 0d 0a 6c 69 73 74 73 74 3a 0d 0a 09 3b 72 65 74 75 72 6e 20 6c 69 73 74 20 73 74 61 74 75 73   ┆;  listst:   ;return list status┆
0x09fcc0…09fce0             0d 0a 09 78 72 61 09 61 0d 0a 09 72 65 74 09 09 3b 61 6c 77 61 79 73 20 6e 6f 74 20 72 65 61 64   ┆   xra a   ret  ;always not read┆
0x09fce0…09fd00             79 0d 0a 3b 0d 0a 70 75 6e 63 68 3a 09 3b 70 75 6e 63 68 20 64 65 76 69 63 65 20 6f 75 74 0d 0a   ┆y  ;  punch: ;punch device out  ┆
0x09fd00…09fd20             3b 09 28 65 78 61 63 74 6c 79 20 74 68 65 20 73 61 6d 65 20 61 73 20 6d 64 73 20 63 61 6c 6c 29   ┆; (exactly the same as mds call)┆
0x09fd20…09fd40             0d 0a 09 6a 6d 70 09 70 6f 0d 0a 3b 0d 0a 72 65 61 64 65 72 3a 09 3b 72 65 61 64 65 72 20 63 68   ┆   jmp po  ;  reader: ;reader ch┆
0x09fd40…09fd60             61 72 61 63 74 65 72 20 69 6e 20 74 6f 20 72 65 67 2d 61 0d 0a 3b 09 28 65 78 61 63 74 6c 79 20   ┆aracter in to reg-a  ; (exactly ┆
0x09fd60…09fd80             74 68 65 20 73 61 6d 65 20 61 73 20 6d 64 73 20 63 61 6c 6c 29 0d 0a 09 6a 6d 70 09 72 69 0d 0a   ┆the same as mds call)   jmp ri  ┆
0x09fd80…09fda0             3b 0d 0a 68 6f 6d 65 3a 09 3b 6d 6f 76 65 20 74 6f 20 68 6f 6d 65 20 70 6f 73 69 74 69 6f 6e 0d   ┆;  home: ;move to home position ┆
0x09fda0…09fdc0             0a 3b 09 74 72 65 61 74 20 61 73 20 74 72 61 63 6b 20 30 30 20 73 65 65 6b 0d 0a 09 6d 76 69 09   ┆ ; treat as track 00 seek   mvi ┆
0x09fdc0…09fde0             63 2c 30 0d 0a 09 6a 6d 70 09 73 65 74 74 72 6b 0d 0a 3b 0d 0a 73 65 6c 64 73 6b 3a 09 3b 73 65   ┆c,0   jmp settrk  ;  seldsk: ;se┆
0x09fde0…09fe00             6c 65 63 74 20 64 69 73 6b 20 67 69 76 65 6e 20 62 79 20 72 65 67 69 73 74 65 72 20 63 0d 0a 09   ┆lect disk given by register c   ┆
0x09fe00…09fe20 (42, 1, 5)  20 61 6e 64 20 77 62 6f 6f 74 20 61 72 65 20 74 68 65 20 73 61 6d 65 20 66 6f 72 20 6d 64 73 29   ┆ and wboot are the same for mds)┆
0x09fe20…09fe40             0d 0a 3b 09 63 6f 6e 73 74 09 63 6f 6e 73 6f 6c 65 20 73 74 61 74 75 73 0d 0a 3b 09 09 72 65 67   ┆  ; const console status  ;  reg┆
0x09fe40…09fe60             2d 61 20 3d 20 30 30 20 69 66 20 6e 6f 20 63 68 61 72 61 63 74 65 72 20 72 65 61 64 79 0d 0a 3b   ┆-a = 00 if no character ready  ;┆
0x09fe60…09fe80             09 09 72 65 67 2d 61 20 3d 20 66 66 20 69 66 20 63 68 61 72 61 63 74 65 72 20 72 65 61 64 79 0d   ┆  reg-a = ff if character ready ┆
0x09fe80…09fea0             0a 3b 09 63 6f 6e 69 6e 09 63 6f 6e 73 6f 6c 65 20 63 68 61 72 61 63 74 65 72 20 69 6e 20 28 72   ┆ ; conin console character in (r┆
0x09fea0…09fec0             65 73 75 6c 74 20 69 6e 20 72 65 67 2d 61 29 0d 0a 3b 09 63 6f 6e 6f 75 74 09 63 6f 6e 73 6f 6c   ┆esult in reg-a)  ; conout consol┆
0x09fec0…09fee0             65 20 63 68 61 72 61 63 74 65 72 20 6f 75 74 20 28 63 68 61 72 20 69 6e 20 72 65 67 2d 63 29 0d   ┆e character out (char in reg-c) ┆
0x09fee0…09ff00             0a 3b 09 6c 69 73 74 09 6c 69 73 74 20 6f 75 74 20 28 63 68 61 72 20 69 6e 20 72 65 67 2d 63 29   ┆ ; list list out (char in reg-c)┆
0x09ff00…09ff20             0d 0a 3b 09 70 75 6e 63 68 09 70 75 6e 63 68 20 6f 75 74 20 28 63 68 61 72 20 69 6e 20 72 65 67   ┆  ; punch punch out (char in reg┆
0x09ff20…09ff40             2d 63 29 0d 0a 3b 09 72 65 61 64 65 72 09 70 61 70 65 72 20 74 61 70 65 20 72 65 61 64 65 72 20   ┆-c)  ; reader paper tape reader ┆
0x09ff40…09ff60             69 6e 20 28 72 65 73 75 6c 74 20 74 6f 20 72 65 67 2d 61 29 0d 0a 3b 09 68 6f 6d 65 09 6d 6f 76   ┆in (result to reg-a)  ; home mov┆
0x09ff60…09ff80             65 20 74 6f 20 74 72 61 63 6b 20 30 30 0d 0a 3b 0d 0a 3b 09 28 74 68 65 20 66 6f 6c 6c 6f 77 69   ┆e to track 00  ;  ; (the followi┆
0x09ff80…09ffa0             6e 67 20 63 61 6c 6c 73 20 73 65 74 2d 75 70 20 74 68 65 20 69 6f 20 70 61 72 61 6d 65 74 65 72   ┆ng calls set-up the io parameter┆
0x09ffa0…09ffc0             20 62 6c 6f 63 6b 20 66 6f 72 20 74 68 65 0d 0a 3b 09 6d 64 73 2c 20 77 68 69 63 68 20 69 73 20   ┆ block for the  ; mds, which is ┆
0x09ffc0…09ffe0             75 73 65 64 20 74 6f 20 70 65 72 66 6f 72 6d 20 73 75 62 73 65 71 75 65 6e 74 20 72 65 61 64 73   ┆used to perform subsequent reads┆
0x09ffe0…0a0000             20 61 6e 64 20 77 72 69 74 65 73 29 0d 0a 3b 09 73 65 6c 64 73 6b 09 73 65 6c 65 63 74 20 64 69   ┆ and writes)  ; seldsk select di┆
0x0a0000…0a0020 (42, 1, 6)  20 74 6f 20 72 65 67 2d 61 0d 0a 72 69 09 65 71 75 09 30 66 38 30 36 68 09 3b 72 65 61 64 65 72   ┆ to reg-a  ri equ 0f806h ;reader┆
0x0a0020…0a0040             20 69 6e 20 74 6f 20 72 65 67 2d 61 0d 0a 63 6f 09 65 71 75 09 30 66 38 30 39 68 09 3b 63 6f 6e   ┆ in to reg-a  co equ 0f809h ;con┆
0x0a0040…0a0060             73 6f 6c 65 20 63 68 61 72 20 66 72 6f 6d 20 63 20 74 6f 20 63 6f 6e 73 6f 6c 65 20 6f 75 74 0d   ┆sole char from c to console out ┆
0x0a0060…0a0080             0a 70 6f 09 65 71 75 09 30 66 38 30 63 68 09 3b 70 75 6e 63 68 20 63 68 61 72 20 66 72 6f 6d 20   ┆ po equ 0f80ch ;punch char from ┆
0x0a0080…0a00a0             63 20 74 6f 20 70 75 6e 63 68 20 64 65 76 69 63 65 0d 0a 6c 6f 09 65 71 75 09 30 66 38 30 66 68   ┆c to punch device  lo equ 0f80fh┆
0x0a00a0…0a00c0             09 3b 6c 69 73 74 20 66 72 6f 6d 20 63 20 74 6f 20 6c 69 73 74 20 64 65 76 69 63 65 0d 0a 63 73   ┆ ;list from c to list device  cs┆
0x0a00c0…0a00e0             74 73 09 65 71 75 09 30 66 38 31 32 68 09 3b 63 6f 6e 73 6f 6c 65 20 73 74 61 74 75 73 20 30 30   ┆ts equ 0f812h ;console status 00┆
0x0a00e0…0a0100             2f 66 66 20 74 6f 20 72 65 67 69 73 74 65 72 20 61 0d 0a 3b 0d 0a 3b 09 64 69 73 6b 20 70 6f 72   ┆/ff to register a  ;  ; disk por┆
0x0a0100…0a0120             74 73 20 61 6e 64 20 63 6f 6d 6d 61 6e 64 73 0d 0a 62 61 73 65 09 65 71 75 09 37 38 68 09 3b 62   ┆ts and commands  base equ 78h ;b┆
0x0a0120…0a0140             61 73 65 20 6f 66 20 64 69 73 6b 20 63 6f 6d 6d 61 6e 64 20 69 6f 20 70 6f 72 74 73 0d 0a 64 73   ┆ase of disk command io ports  ds┆
0x0a0140…0a0160             74 61 74 09 65 71 75 09 62 61 73 65 09 3b 64 69 73 6b 20 73 74 61 74 75 73 20 28 69 6e 70 75 74   ┆tat equ base ;disk status (input┆
0x0a0160…0a0180             29 0d 0a 72 74 79 70 65 09 65 71 75 09 62 61 73 65 2b 31 09 3b 72 65 73 75 6c 74 20 74 79 70 65   ┆)  rtype equ base+1 ;result type┆
0x0a0180…0a01a0             20 28 69 6e 70 75 74 29 0d 0a 72 62 79 74 65 09 65 71 75 09 62 61 73 65 2b 33 09 3b 72 65 73 75   ┆ (input)  rbyte equ base+3 ;resu┆
0x0a01a0…0a01c0             6c 74 20 62 79 74 65 20 28 69 6e 70 75 74 29 0d 0a 3b 0d 0a 69 6c 6f 77 09 65 71 75 09 62 61 73   ┆lt byte (input)  ;  ilow equ bas┆
0x0a01c0…0a01e0             65 2b 31 09 3b 69 6f 70 62 20 6c 6f 77 20 61 64 64 72 65 73 73 20 28 6f 75 74 70 75 74 29 0d 0a   ┆e+1 ;iopb low address (output)  ┆
0x0a01e0…0a0200             69 68 69 67 68 09 65 71 75 09 62 61 73 65 2b 32 09 3b 69 6f 70 62 20 68 69 67 68 20 61 64 64 72   ┆ihigh equ base+2 ;iopb high addr┆
0x0a0200…0a0220 (42, 1, 7)  75 6d 62 65 72 20 6a 75 73 74 20 72 65 61 64 0d 0a 09 63 70 69 09 32 36 09 3b 72 65 61 64 20 6c   ┆umber just read   cpi 26 ;read l┆
0x0a0220…0a0240             61 73 74 20 73 65 63 74 6f 72 3f 0d 0a 09 6a 63 09 72 64 31 0d 0a 3b 09 6d 75 73 74 20 62 65 20   ┆ast sector?   jc rd1  ; must be ┆
0x0a0240…0a0260             73 65 63 74 6f 72 20 32 36 2c 20 7a 65 72 6f 20 61 6e 64 20 67 6f 20 74 6f 20 6e 65 78 74 20 74   ┆sector 26, zero and go to next t┆
0x0a0260…0a0280             72 61 63 6b 0d 0a 09 6c 64 61 09 69 6f 74 09 3b 67 65 74 20 74 72 61 63 6b 20 74 6f 20 72 65 67   ┆rack   lda iot ;get track to reg┆
0x0a0280…0a02a0             69 73 74 65 72 20 61 0d 0a 09 69 6e 72 09 61 0d 0a 09 6d 6f 76 09 63 2c 61 09 3b 72 65 61 64 79   ┆ister a   inr a   mov c,a ;ready┆
0x0a02a0…0a02c0             20 66 6f 72 20 63 61 6c 6c 0d 0a 09 63 61 6c 6c 09 73 65 74 74 72 6b 0d 0a 09 78 72 61 09 61 09   ┆ for call   call settrk   xra a ┆
0x0a02c0…0a02e0             3b 63 6c 65 61 72 20 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 0d 0a 72 64 31 3a 09 69 6e 72 09 61   ┆;clear sector number  rd1: inr a┆
0x0a02e0…0a0300             09 3b 74 6f 20 6e 65 78 74 20 73 65 63 74 6f 72 0d 0a 09 6d 6f 76 09 63 2c 61 09 3b 72 65 61 64   ┆ ;to next sector   mov c,a ;read┆
0x0a0300…0a0320             79 20 66 6f 72 20 63 61 6c 6c 0d 0a 09 63 61 6c 6c 09 73 65 74 73 65 63 0d 0a 09 70 6f 70 09 62   ┆y for call   call setsec   pop b┆
0x0a0320…0a0340             09 3b 72 65 63 61 6c 6c 20 73 65 63 74 6f 72 20 63 6f 75 6e 74 0d 0a 09 64 63 72 09 62 09 3b 64   ┆ ;recall sector count   dcr b ;d┆
0x0a0340…0a0360             6f 6e 65 3f 0d 0a 09 6a 6e 7a 09 72 64 73 65 63 0d 0a 3b 0d 0a 3b 09 64 6f 6e 65 20 77 69 74 68   ┆one?   jnz rdsec  ;  ; done with┆
0x0a0360…0a0380             20 74 68 65 20 6c 6f 61 64 2c 20 72 65 73 65 74 20 64 65 66 61 75 6c 74 20 62 75 66 66 65 72 20   ┆ the load, reset default buffer ┆
0x0a0380…0a03a0             61 64 64 72 65 73 73 0d 0a 67 6f 63 70 6d 3a 09 3b 28 65 6e 74 65 72 20 68 65 72 65 20 66 72 6f   ┆address  gocpm: ;(enter here fro┆
0x0a03a0…0a03c0             6d 20 63 6f 6c 64 20 73 74 61 72 74 20 62 6f 6f 74 29 0d 0a 3b 09 65 6e 61 62 6c 65 20 72 73 74   ┆m cold start boot)  ; enable rst┆
0x0a03c0…0a03e0             30 20 61 6e 64 20 72 73 74 37 0d 0a 09 64 69 0d 0a 09 6d 76 69 09 61 2c 31 32 68 09 3b 69 6e 69   ┆0 and rst7   di   mvi a,12h ;ini┆
0x0a03e0…0a0400             74 69 61 6c 69 7a 65 20 63 6f 6d 6d 61 6e 64 0d 0a 09 6f 75 74 09 72 65 76 72 74 0d 0a 09 78 72   ┆tialize command   out revrt   xr┆
0x0a0400…0a0420 (42, 1, 8)  6c 78 69 09 68 2c 30 30 30 30 68 09 3b 72 65 74 75 72 6e 20 30 30 30 30 20 69 66 20 65 72 72 6f   ┆lxi h,0000h ;return 0000 if erro┆
0x0a0420…0a0440             72 0d 0a 09 6d 6f 76 09 61 2c 63 0d 0a 09 63 70 69 09 6e 64 69 73 6b 73 09 3b 74 6f 6f 20 6c 61   ┆r   mov a,c   cpi ndisks ;too la┆
0x0a0440…0a0460             72 67 65 3f 0d 0a 09 72 6e 63 09 09 3b 6c 65 61 76 65 20 48 4c 20 3d 20 30 30 30 30 0d 0a 3b 0d   ┆rge?   rnc  ;leave HL = 0000  ; ┆
0x0a0460…0a0480             0a 09 61 6e 69 09 31 30 62 09 3b 30 30 20 30 30 20 66 6f 72 20 64 72 69 76 65 20 30 2c 31 20 61   ┆  ani 10b ;00 00 for drive 0,1 a┆
0x0a0480…0a04a0             6e 64 20 31 30 20 31 30 20 66 6f 72 20 64 72 69 76 65 20 32 2c 33 0d 0a 09 73 74 61 09 64 62 61   ┆nd 10 10 for drive 2,3   sta dba┆
0x0a04a0…0a04c0             6e 6b 09 3b 74 6f 20 73 65 6c 65 63 74 20 64 72 69 76 65 20 62 61 6e 6b 0d 0a 09 6d 6f 76 09 61   ┆nk ;to select drive bank   mov a┆
0x0a04c0…0a04e0             2c 63 09 3b 30 30 2c 20 30 31 2c 20 31 30 2c 20 31 31 0d 0a 09 61 6e 69 09 31 62 09 3b 6d 64 73   ┆,c ;00, 01, 10, 11   ani 1b ;mds┆
0x0a04e0…0a0500             20 68 61 73 20 30 2c 31 20 61 74 20 37 38 2c 20 32 2c 33 20 61 74 20 38 38 0d 0a 09 6f 72 61 09   ┆ has 0,1 at 78, 2,3 at 88   ora ┆
0x0a0500…0a0520             61 09 3b 72 65 73 75 6c 74 20 30 30 3f 0d 0a 09 6a 7a 09 73 65 74 64 72 69 76 65 0d 0a 09 6d 76   ┆a ;result 00?   jz setdrive   mv┆
0x0a0520…0a0540             69 09 61 2c 30 30 31 31 30 30 30 30 62 09 3b 73 65 6c 65 63 74 73 20 64 72 69 76 65 20 31 20 69   ┆i a,00110000b ;selects drive 1 i┆
0x0a0540…0a0560             6e 20 62 61 6e 6b 0d 0a 73 65 74 64 72 69 76 65 3a 0d 0a 09 6d 6f 76 09 62 2c 61 09 3b 73 61 76   ┆n bank  setdrive:   mov b,a ;sav┆
0x0a0560…0a0580             65 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 6c 78 69 09 68 2c 69 6f 66 09 3b 69 6f 20 66   ┆e the function   lxi h,iof ;io f┆
0x0a0580…0a05a0             75 6e 63 74 69 6f 6e 0d 0a 09 6d 6f 76 09 61 2c 6d 0d 0a 09 61 6e 69 09 31 31 30 30 31 31 31 31   ┆unction   mov a,m   ani 11001111┆
0x0a05a0…0a05c0             62 09 3b 6d 61 73 6b 20 6f 75 74 20 64 69 73 6b 20 6e 75 6d 62 65 72 0d 0a 09 6f 72 61 09 62 09   ┆b ;mask out disk number   ora b ┆
0x0a05c0…0a05e0             3b 6d 61 73 6b 20 69 6e 20 6e 65 77 20 64 69 73 6b 20 6e 75 6d 62 65 72 0d 0a 09 6d 6f 76 09 6d   ┆;mask in new disk number   mov m┆
0x0a05e0…0a0600             2c 61 09 3b 73 61 76 65 20 69 74 20 69 6e 20 69 6f 70 62 0d 0a 09 6d 6f 76 09 6c 2c 63 0d 0a 09   ┆,a ;save it in iopb   mov l,c   ┆
0x0a0600…0a0620 (42, 1, 9)  73 6b 20 67 69 76 65 6e 20 62 79 20 72 65 67 2d 63 20 28 30 2c 31 2c 32 2e 2e 2e 29 0d 0a 3b 09   ┆sk given by reg-c (0,1,2...)  ; ┆
0x0a0620…0a0640             73 65 74 74 72 6b 09 73 65 74 20 74 72 61 63 6b 20 61 64 64 72 65 73 73 20 28 30 2c 2e 2e 2e 37   ┆settrk set track address (0,...7┆
0x0a0640…0a0660             36 29 20 66 6f 72 20 73 75 62 73 65 71 75 65 6e 74 20 72 65 61 64 2f 77 72 69 74 65 0d 0a 3b 09   ┆6) for subsequent read/write  ; ┆
0x0a0660…0a0680             73 65 74 73 65 63 09 73 65 74 20 73 65 63 74 6f 72 20 61 64 64 72 65 73 73 20 28 31 2c 2e 2e 2e   ┆setsec set sector address (1,...┆
0x0a0680…0a06a0             2c 32 36 29 20 66 6f 72 20 73 75 62 73 65 71 75 65 6e 74 20 72 65 61 64 2f 77 72 69 74 65 0d 0a   ┆,26) for subsequent read/write  ┆
0x0a06a0…0a06c0             3b 09 73 65 74 64 6d 61 09 73 65 74 20 73 75 62 73 65 71 75 65 6e 74 20 64 6d 61 20 61 64 64 72   ┆; setdma set subsequent dma addr┆
0x0a06c0…0a06e0             65 73 73 20 28 69 6e 69 74 69 61 6c 6c 79 20 38 30 68 29 0d 0a 3b 0d 0a 3b 09 28 72 65 61 64 20   ┆ess (initially 80h)  ;  ; (read ┆
0x0a06e0…0a0700             61 6e 64 20 77 72 69 74 65 20 61 73 73 75 6d 65 20 70 72 65 76 69 6f 75 73 20 63 61 6c 6c 73 20   ┆and write assume previous calls ┆
0x0a0700…0a0720             74 6f 20 73 65 74 20 75 70 20 74 68 65 20 69 6f 20 70 61 72 61 6d 65 74 65 72 73 29 0d 0a 3b 09   ┆to set up the io parameters)  ; ┆
0x0a0720…0a0740             72 65 61 64 09 72 65 61 64 20 74 72 61 63 6b 2f 73 65 63 74 6f 72 20 74 6f 20 70 72 65 73 65 74   ┆read read track/sector to preset┆
0x0a0740…0a0760             20 64 6d 61 20 61 64 64 72 65 73 73 0d 0a 3b 09 77 72 69 74 65 09 77 72 69 74 65 20 74 72 61 63   ┆ dma address  ; write write trac┆
0x0a0760…0a0780             6b 2f 73 65 63 74 6f 72 20 66 72 6f 6d 20 70 72 65 73 65 74 20 64 6d 61 20 61 64 64 72 65 73 73   ┆k/sector from preset dma address┆
0x0a0780…0a07a0             0d 0a 3b 0d 0a 3b 09 6a 75 6d 70 20 76 65 63 74 6f 72 20 66 6f 72 20 69 6e 64 69 76 69 75 61 6c   ┆  ;  ; jump vector for indiviual┆
0x0a07a0…0a07c0             20 72 6f 75 74 69 6e 65 73 0d 0a 09 6a 6d 70 09 62 6f 6f 74 0d 0a 77 62 6f 6f 74 65 3a 09 6a 6d   ┆ routines   jmp boot  wboote: jm┆
0x0a07c0…0a07e0             70 09 77 62 6f 6f 74 0d 0a 09 6a 6d 70 09 63 6f 6e 73 74 0d 0a 09 6a 6d 70 09 63 6f 6e 69 6e 0d   ┆p wboot   jmp const   jmp conin ┆
0x0a07e0…0a0800             0a 09 6a 6d 70 09 63 6f 6e 6f 75 74 0d 0a 09 6a 6d 70 09 6c 69 73 74 0d 0a 09 6a 6d 70 09 70 75   ┆  jmp conout   jmp list   jmp pu┆
0x0a0800…0a0820 (42, 1, 10) 65 73 73 20 28 6f 75 74 70 75 74 29 0d 0a 3b 0d 0a 72 65 61 64 66 09 65 71 75 09 34 68 09 3b 72   ┆ess (output)  ;  readf equ 4h ;r┆
0x0a0820…0a0840             65 61 64 20 66 75 6e 63 74 69 6f 6e 0d 0a 77 72 69 74 66 09 65 71 75 09 36 68 09 3b 77 72 69 74   ┆ead function  writf equ 6h ;writ┆
0x0a0840…0a0860             65 20 66 75 6e 63 74 69 6f 6e 0d 0a 72 65 63 61 6c 09 65 71 75 09 33 68 09 3b 72 65 63 61 6c 69   ┆e function  recal equ 3h ;recali┆
0x0a0860…0a0880             62 72 61 74 65 20 64 72 69 76 65 0d 0a 69 6f 72 64 79 09 65 71 75 09 34 68 09 3b 69 2f 6f 20 66   ┆brate drive  iordy equ 4h ;i/o f┆
0x0a0880…0a08a0             69 6e 69 73 68 65 64 20 6d 61 73 6b 0d 0a 63 72 09 65 71 75 09 30 64 68 09 3b 63 61 72 72 69 61   ┆inished mask  cr equ 0dh ;carria┆
0x0a08a0…0a08c0             67 65 20 72 65 74 75 72 6e 0d 0a 6c 66 09 65 71 75 09 30 61 68 09 3b 6c 69 6e 65 20 66 65 65 64   ┆ge return  lf equ 0ah ;line feed┆
0x0a08c0…0a08e0             0d 0a 3b 0d 0a 73 69 67 6e 6f 6e 3a 09 3b 73 69 67 6e 6f 6e 20 6d 65 73 73 61 67 65 3a 20 78 78   ┆  ;  signon: ;signon message: xx┆
0x0a08e0…0a0900             6b 20 63 70 2f 6d 20 76 65 72 73 20 79 2e 79 0d 0a 09 64 62 09 63 72 2c 6c 66 2c 6c 66 0d 0a 09   ┆k cp/m vers y.y   db cr,lf,lf   ┆
0x0a0900…0a0920             69 66 09 74 65 73 74 0d 0a 09 64 62 09 27 33 32 27 09 3b 33 32 6b 20 65 78 61 6d 70 6c 65 20 62   ┆if test   db '32' ;32k example b┆
0x0a0920…0a0940             69 6f 73 0d 0a 09 65 6e 64 69 66 0d 0a 09 69 66 09 6e 6f 74 20 74 65 73 74 0d 0a 09 64 62 09 27   ┆ios   endif   if not test   db '┆
0x0a0940…0a0960             30 30 27 09 3b 6d 65 6d 6f 72 79 20 73 69 7a 65 20 66 69 6c 6c 65 64 20 62 79 20 72 65 6c 6f 63   ┆00' ;memory size filled by reloc┆
0x0a0960…0a0980             61 74 6f 72 0d 0a 09 65 6e 64 69 66 0d 0a 09 64 62 09 27 6b 20 43 50 2f 4d 20 76 65 72 73 20 27   ┆ator   endif   db 'k CP/M vers '┆
0x0a0980…0a09a0             0d 0a 09 64 62 09 76 65 72 73 2f 31 30 2b 27 30 27 2c 27 2e 27 2c 76 65 72 73 20 6d 6f 64 20 31   ┆   db vers/10+'0','.',vers mod 1┆
0x0a09a0…0a09c0             30 2b 27 30 27 0d 0a 09 64 62 09 63 72 2c 6c 66 2c 30 0d 0a 3b 0d 0a 62 6f 6f 74 3a 09 3b 70 72   ┆0+'0'   db cr,lf,0  ;  boot: ;pr┆
0x0a09c0…0a09e0             69 6e 74 20 73 69 67 6e 6f 6e 20 6d 65 73 73 61 67 65 20 61 6e 64 20 67 6f 20 74 6f 20 63 63 70   ┆int signon message and go to ccp┆
0x0a09e0…0a0a00             0d 0a 3b 09 28 6e 6f 74 65 3a 20 6d 64 73 20 62 6f 6f 74 20 69 6e 69 74 69 61 6c 69 7a 65 64 20   ┆  ; (note: mds boot initialized ┆
0x0a0a00…0a0a20 (42, 1, 11) 61 09 61 0d 0a 09 6f 75 74 09 69 6e 74 63 09 3b 63 6c 65 61 72 65 64 0d 0a 09 6d 76 69 09 61 2c   ┆a a   out intc ;cleared   mvi a,┆
0x0a0a20…0a0a40             69 6e 74 65 09 3b 72 73 74 30 20 61 6e 64 20 72 73 74 37 20 62 69 74 73 20 6f 6e 0d 0a 09 6f 75   ┆inte ;rst0 and rst7 bits on   ou┆
0x0a0a40…0a0a60             74 09 69 6e 74 63 0d 0a 09 78 72 61 09 61 0d 0a 09 6f 75 74 09 69 63 6f 6e 09 3b 69 6e 74 65 72   ┆t intc   xra a   out icon ;inter┆
0x0a0a60…0a0a80             72 75 70 74 20 63 6f 6e 74 72 6f 6c 0d 0a 3b 0d 0a 3b 09 73 65 74 20 64 65 66 61 75 6c 74 20 62   ┆rupt control  ;  ; set default b┆
0x0a0a80…0a0aa0             75 66 66 65 72 20 61 64 64 72 65 73 73 20 74 6f 20 38 30 68 0d 0a 09 6c 78 69 09 62 2c 62 75 66   ┆uffer address to 80h   lxi b,buf┆
0x0a0aa0…0a0ac0             66 0d 0a 09 63 61 6c 6c 09 73 65 74 64 6d 61 0d 0a 3b 0d 0a 3b 09 72 65 73 65 74 20 6d 6f 6e 69   ┆f   call setdma  ;  ; reset moni┆
0x0a0ac0…0a0ae0             74 6f 72 20 65 6e 74 72 79 20 70 6f 69 6e 74 73 0d 0a 09 6d 76 69 09 61 2c 6a 6d 70 0d 0a 09 73   ┆tor entry points   mvi a,jmp   s┆
0x0a0ae0…0a0b00             74 61 09 30 0d 0a 09 6c 78 69 09 68 2c 77 62 6f 6f 74 65 0d 0a 09 73 68 6c 64 09 31 09 3b 6a 6d   ┆ta 0   lxi h,wboote   shld 1 ;jm┆
0x0a0b00…0a0b20             70 20 77 62 6f 6f 74 20 61 74 20 6c 6f 63 61 74 69 6f 6e 20 30 30 0d 0a 09 73 74 61 09 35 0d 0a   ┆p wboot at location 00   sta 5  ┆
0x0a0b20…0a0b40             09 6c 78 69 09 68 2c 62 64 6f 73 0d 0a 09 73 68 6c 64 09 36 09 3b 6a 6d 70 20 62 64 6f 73 20 61   ┆ lxi h,bdos   shld 6 ;jmp bdos a┆
0x0a0b40…0a0b60             74 20 6c 6f 63 61 74 69 6f 6e 20 35 0d 0a 09 69 66 09 6e 6f 74 20 74 65 73 74 0d 0a 09 73 74 61   ┆t location 5   if not test   sta┆
0x0a0b60…0a0b80             09 37 2a 38 09 3b 6a 6d 70 20 74 6f 20 6d 6f 6e 38 30 20 28 6d 61 79 20 68 61 76 65 20 62 65 65   ┆ 7*8 ;jmp to mon80 (may have bee┆
0x0a0b80…0a0ba0             6e 20 63 68 61 6e 67 65 64 20 62 79 20 64 64 74 29 0d 0a 09 6c 78 69 09 68 2c 6d 6f 6e 38 30 0d   ┆n changed by ddt)   lxi h,mon80 ┆
0x0a0ba0…0a0bc0             0a 09 73 68 6c 64 09 37 2a 38 2b 31 0d 0a 09 65 6e 64 69 66 0d 0a 3b 09 6c 65 61 76 65 20 69 6f   ┆  shld 7*8+1   endif  ; leave io┆
0x0a0bc0…0a0be0             62 79 74 65 20 73 65 74 0d 0a 3b 09 70 72 65 76 69 6f 75 73 6c 79 20 73 65 6c 65 63 74 65 64 20   ┆byte set  ; previously selected ┆
0x0a0be0…0a0c00             64 69 73 6b 20 77 61 73 20 62 2c 20 73 65 6e 64 20 70 61 72 61 6d 65 74 65 72 20 74 6f 20 63 70   ┆disk was b, send parameter to cp┆
0x0a0c00…0a0c20 (42, 1, 12) 6d 76 69 09 68 2c 30 09 3b 48 4c 3d 64 69 73 6b 20 6e 75 6d 62 65 72 0d 0a 09 64 61 64 09 68 09   ┆mvi h,0 ;HL=disk number   dad h ┆
0x0a0c20…0a0c40             3b 2a 32 0d 0a 09 64 61 64 09 68 09 3b 2a 34 0d 0a 09 64 61 64 09 68 09 3b 2a 38 0d 0a 09 64 61   ┆;*2   dad h ;*4   dad h ;*8   da┆
0x0a0c40…0a0c60             64 09 68 09 3b 2a 31 36 0d 0a 09 6c 78 69 09 64 2c 64 70 62 61 73 65 0d 0a 09 64 61 64 09 64 09   ┆d h ;*16   lxi d,dpbase   dad d ┆
0x0a0c60…0a0c80             3b 48 4c 3d 64 69 73 6b 20 68 65 61 64 65 72 20 74 61 62 6c 65 20 61 64 64 72 65 73 73 0d 0a 09   ┆;HL=disk header table address   ┆
0x0a0c80…0a0ca0             72 65 74 0d 0a 3b 0d 0a 3b 0d 0a 73 65 74 74 72 6b 3a 09 3b 73 65 74 20 74 72 61 63 6b 20 61 64   ┆ret  ;  ;  settrk: ;set track ad┆
0x0a0ca0…0a0cc0             64 72 65 73 73 20 67 69 76 65 6e 20 62 79 20 63 0d 0a 09 6c 78 69 09 68 2c 69 6f 74 0d 0a 09 6d   ┆dress given by c   lxi h,iot   m┆
0x0a0cc0…0a0ce0             6f 76 09 6d 2c 63 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 73 65 74 73 65 63 3a 09 3b 73 65 74 20 73 65   ┆ov m,c   ret  ;  setsec: ;set se┆
0x0a0ce0…0a0d00             63 74 6f 72 20 6e 75 6d 62 65 72 20 67 69 76 65 6e 20 62 79 20 63 0d 0a 09 6c 78 69 09 68 2c 69   ┆ctor number given by c   lxi h,i┆
0x0a0d00…0a0d20             6f 73 0d 0a 09 6d 6f 76 09 6d 2c 63 0d 0a 09 72 65 74 0d 0a 73 65 63 74 72 61 6e 3a 0d 0a 09 09   ┆os   mov m,c   ret  sectran:    ┆
0x0a0d20…0a0d40             3b 74 72 61 6e 73 6c 61 74 65 20 73 65 63 74 6f 72 20 62 63 20 75 73 69 6e 67 20 74 61 62 6c 65   ┆;translate sector bc using table┆
0x0a0d40…0a0d60             20 61 74 20 64 65 0d 0a 09 6d 76 69 09 62 2c 30 09 3b 64 6f 75 62 6c 65 20 70 72 65 63 69 73 69   ┆ at de   mvi b,0 ;double precisi┆
0x0a0d60…0a0d80             6f 6e 20 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 20 69 6e 20 42 43 0d 0a 09 78 63 68 67 09 09 3b   ┆on sector number in BC   xchg  ;┆
0x0a0d80…0a0da0             74 72 61 6e 73 6c 61 74 65 20 74 61 62 6c 65 20 61 64 64 72 65 73 73 20 74 6f 20 48 4c 0d 0a 09   ┆translate table address to HL   ┆
0x0a0da0…0a0dc0             64 61 64 09 62 09 3b 74 72 61 6e 73 6c 61 74 65 28 73 65 63 74 6f 72 29 20 61 64 64 72 65 73 73   ┆dad b ;translate(sector) address┆
0x0a0dc0…0a0de0             0d 0a 09 6d 6f 76 09 61 2c 6d 09 3b 74 72 61 6e 73 6c 61 74 65 64 20 73 65 63 74 6f 72 20 6e 75   ┆   mov a,m ;translated sector nu┆
0x0a0de0…0a0e00             6d 62 65 72 20 74 6f 20 41 0d 0a 09 73 74 61 09 69 6f 73 0d 0a 09 6d 6f 76 09 6c 2c 61 09 3b 72   ┆mber to A   sta ios   mov l,a ;r┆
0x0a0e00…0a0e20 (42, 1, 13) 6e 63 68 0d 0a 09 6a 6d 70 09 72 65 61 64 65 72 0d 0a 09 6a 6d 70 09 68 6f 6d 65 0d 0a 09 6a 6d   ┆nch   jmp reader   jmp home   jm┆
0x0a0e20…0a0e40             70 09 73 65 6c 64 73 6b 0d 0a 09 6a 6d 70 09 73 65 74 74 72 6b 0d 0a 09 6a 6d 70 09 73 65 74 73   ┆p seldsk   jmp settrk   jmp sets┆
0x0a0e40…0a0e60             65 63 0d 0a 09 6a 6d 70 09 73 65 74 64 6d 61 0d 0a 09 6a 6d 70 09 72 65 61 64 0d 0a 09 6a 6d 70   ┆ec   jmp setdma   jmp read   jmp┆
0x0a0e60…0a0e80             09 77 72 69 74 65 0d 0a 09 6a 6d 70 09 6c 69 73 74 73 74 09 3b 6c 69 73 74 20 73 74 61 74 75 73   ┆ write   jmp listst ;list status┆
0x0a0e80…0a0ea0             0d 0a 09 6a 6d 70 09 73 65 63 74 72 61 6e 0d 0a 3b 0d 0a 09 6d 61 63 6c 69 62 09 64 69 73 6b 64   ┆   jmp sectran  ;   maclib diskd┆
0x0a0ea0…0a0ec0             65 66 09 3b 6c 6f 61 64 20 74 68 65 20 64 69 73 6b 20 64 65 66 69 6e 69 74 69 6f 6e 20 6c 69 62   ┆ef ;load the disk definition lib┆
0x0a0ec0…0a0ee0             72 61 72 79 0d 0a 09 64 69 73 6b 73 09 34 09 3b 66 6f 75 72 20 64 69 73 6b 73 0d 0a 09 64 69 73   ┆rary   disks 4 ;four disks   dis┆
0x0a0ee0…0a0f00             6b 64 65 66 09 30 2c 31 2c 32 36 2c 36 2c 31 30 32 34 2c 32 34 33 2c 36 34 2c 36 34 2c 6f 66 66   ┆kdef 0,1,26,6,1024,243,64,64,off┆
0x0a0f00…0a0f20             73 65 74 0d 0a 09 64 69 73 6b 64 65 66 09 31 2c 30 0d 0a 09 64 69 73 6b 64 65 66 09 32 2c 30 0d   ┆set   diskdef 1,0   diskdef 2,0 ┆
0x0a0f20…0a0f40             0a 09 64 69 73 6b 64 65 66 09 33 2c 30 0d 0a 3b 09 65 6e 64 65 66 20 6f 63 63 75 72 73 20 61 74   ┆  diskdef 3,0  ; endef occurs at┆
0x0a0f40…0a0f60             20 65 6e 64 20 6f 66 20 61 73 73 65 6d 62 6c 79 0d 0a 3b 0d 0a 3b 09 65 6e 64 20 6f 66 20 63 6f   ┆ end of assembly  ;  ; end of co┆
0x0a0f60…0a0f80             6e 74 72 6f 6c 6c 65 72 20 2d 20 69 6e 64 65 70 65 6e 64 65 6e 74 20 63 6f 64 65 2c 20 74 68 65   ┆ntroller - independent code, the┆
0x0a0f80…0a0fa0             20 72 65 6d 61 69 6e 69 6e 67 20 73 75 62 72 6f 75 74 69 6e 65 73 0d 0a 3b 09 61 72 65 20 74 61   ┆ remaining subroutines  ; are ta┆
0x0a0fa0…0a0fc0             69 6c 6f 72 65 64 20 74 6f 20 74 68 65 20 70 61 72 74 69 63 75 6c 61 72 20 6f 70 65 72 61 74 69   ┆ilored to the particular operati┆
0x0a0fc0…0a0fe0             6e 67 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 2c 20 61 6e 64 20 6d 75 73 74 0d 0a 3b 09 62 65 20 61   ┆ng environment, and must  ; be a┆
0x0a0fe0…0a1000             6c 74 65 72 65 64 20 66 6f 72 20 61 6e 79 20 73 79 73 74 65 6d 20 77 68 69 63 68 20 64 69 66 66   ┆ltered for any system which diff┆
0x0a1000…0a1020 (42, 1, 14) 69 6f 62 79 74 65 20 61 74 20 30 30 30 33 68 29 0d 0a 09 6c 78 69 09 73 70 2c 62 75 66 66 2b 38   ┆iobyte at 0003h)   lxi sp,buff+8┆
0x0a1020…0a1040             30 68 0d 0a 09 6c 78 69 09 68 2c 73 69 67 6e 6f 6e 0d 0a 09 63 61 6c 6c 09 70 72 6d 73 67 09 3b   ┆0h   lxi h,signon   call prmsg ;┆
0x0a1040…0a1060             70 72 69 6e 74 20 6d 65 73 73 61 67 65 0d 0a 09 78 72 61 09 61 09 3b 63 6c 65 61 72 20 61 63 63   ┆print message   xra a ;clear acc┆
0x0a1060…0a1080             75 6d 75 6c 61 74 6f 72 0d 0a 09 73 74 61 09 63 64 69 73 6b 09 3b 73 65 74 20 69 6e 69 74 69 61   ┆umulator   sta cdisk ;set initia┆
0x0a1080…0a10a0             6c 6c 79 20 74 6f 20 64 69 73 6b 20 61 0d 0a 09 6a 6d 70 09 67 6f 63 70 6d 09 3b 67 6f 20 74 6f   ┆lly to disk a   jmp gocpm ;go to┆
0x0a10a0…0a10c0             20 63 70 2f 6d 0d 0a 3b 0d 0a 3b 0d 0a 77 62 6f 6f 74 3a 3b 09 6c 6f 61 64 65 72 20 6f 6e 20 74   ┆ cp/m  ;  ;  wboot:; loader on t┆
0x0a10c0…0a10e0             72 61 63 6b 20 30 2c 20 73 65 63 74 6f 72 20 31 2c 20 77 68 69 63 68 20 77 69 6c 6c 20 62 65 20   ┆rack 0, sector 1, which will be ┆
0x0a10e0…0a1100             73 6b 69 70 70 65 64 20 66 6f 72 20 77 61 72 6d 20 0d 0a 3b 09 72 65 61 64 20 63 70 2f 6d 20 66   ┆skipped for warm   ; read cp/m f┆
0x0a1100…0a1120             72 6f 6d 20 64 69 73 6b 20 2d 20 61 73 73 75 6d 69 6e 67 20 74 68 65 72 65 20 69 73 20 61 20 31   ┆rom disk - assuming there is a 1┆
0x0a1120…0a1140             32 38 20 62 79 74 65 20 63 6f 6c 64 20 73 74 61 72 74 0d 0a 3b 09 73 74 61 72 74 2e 0d 0a 3b 0d   ┆28 byte cold start  ; start.  ; ┆
0x0a1140…0a1160             0a 09 6c 78 69 09 73 70 2c 62 75 66 66 09 3b 75 73 69 6e 67 20 64 6d 61 20 2d 20 74 68 75 73 20   ┆  lxi sp,buff ;using dma - thus ┆
0x0a1160…0a1180             38 30 20 74 68 72 75 20 66 66 20 61 76 61 69 6c 61 62 6c 65 20 66 6f 72 20 73 74 61 63 6b 0d 0a   ┆80 thru ff available for stack  ┆
0x0a1180…0a11a0             3b 0d 0a 09 6d 76 69 09 63 2c 72 65 74 72 79 09 3b 6d 61 78 20 72 65 74 72 69 65 73 0d 0a 09 70   ┆;   mvi c,retry ;max retries   p┆
0x0a11a0…0a11c0             75 73 68 09 62 0d 0a 77 62 6f 6f 74 30 3a 09 3b 65 6e 74 65 72 20 68 65 72 65 20 6f 6e 20 65 72   ┆ush b  wboot0: ;enter here on er┆
0x0a11c0…0a11e0             72 6f 72 20 72 65 74 72 69 65 73 0d 0a 09 6c 78 69 09 62 2c 63 70 6d 62 09 3b 73 65 74 20 64 6d   ┆ror retries   lxi b,cpmb ;set dm┆
0x0a11e0…0a1200             61 20 61 64 64 72 65 73 73 20 74 6f 20 73 74 61 72 74 20 6f 66 20 64 69 73 6b 20 73 79 73 74 65   ┆a address to start of disk syste┆
0x0a1200…0a1220 (42, 1, 15) 6d 0d 0a 09 6c 64 61 09 63 64 69 73 6b 09 3b 6c 61 73 74 20 6c 6f 67 67 65 64 20 64 69 73 6b 20   ┆m   lda cdisk ;last logged disk ┆
0x0a1220…0a1240             6e 75 6d 62 65 72 0d 0a 09 6d 6f 76 09 63 2c 61 09 3b 73 65 6e 64 20 74 6f 20 63 63 70 20 74 6f   ┆number   mov c,a ;send to ccp to┆
0x0a1240…0a1260             20 6c 6f 67 20 69 74 20 69 6e 0d 0a 09 65 69 0d 0a 09 6a 6d 70 09 63 70 6d 62 0d 0a 3b 0d 0a 3b   ┆ log it in   ei   jmp cpmb  ;  ;┆
0x0a1260…0a1280             09 65 72 72 6f 72 20 63 6f 6e 64 69 74 69 6f 6e 20 6f 63 63 75 72 72 65 64 2c 20 70 72 69 6e 74   ┆ error condition occurred, print┆
0x0a1280…0a12a0             20 6d 65 73 73 61 67 65 20 61 6e 64 20 72 65 74 72 79 0d 0a 62 6f 6f 74 65 72 72 3a 0d 0a 09 70   ┆ message and retry  booterr:   p┆
0x0a12a0…0a12c0             6f 70 09 62 09 3b 72 65 63 61 6c 6c 20 63 6f 75 6e 74 73 0d 0a 09 64 63 72 09 63 0d 0a 09 6a 7a   ┆op b ;recall counts   dcr c   jz┆
0x0a12c0…0a12e0             09 62 6f 6f 74 65 72 30 0d 0a 3b 09 74 72 79 20 61 67 61 69 6e 0d 0a 09 70 75 73 68 09 62 0d 0a   ┆ booter0  ; try again   push b  ┆
0x0a12e0…0a1300             09 6a 6d 70 09 77 62 6f 6f 74 30 0d 0a 3b 0d 0a 62 6f 6f 74 65 72 30 3a 0d 0a 3b 09 6f 74 68 65   ┆ jmp wboot0  ;  booter0:  ; othe┆
0x0a1300…0a1320             72 77 69 73 65 20 74 6f 6f 20 6d 61 6e 79 20 72 65 74 72 69 65 73 0d 0a 09 6c 78 69 09 68 2c 62   ┆rwise too many retries   lxi h,b┆
0x0a1320…0a1340             6f 6f 74 6d 73 67 0d 0a 09 63 61 6c 6c 09 70 72 6d 73 67 0d 0a 09 6a 6d 70 09 72 6d 6f 6e 38 30   ┆ootmsg   call prmsg   jmp rmon80┆
0x0a1340…0a1360             09 3b 6d 64 73 20 68 61 72 64 77 61 72 65 20 6d 6f 6e 69 74 6f 72 0d 0a 3b 0d 0a 62 6f 6f 74 6d   ┆ ;mds hardware monitor  ;  bootm┆
0x0a1360…0a1380             73 67 3a 0d 0a 09 64 62 09 27 3f 62 6f 6f 74 27 2c 30 0d 0a 3b 0d 0a 3b 0d 0a 63 6f 6e 73 74 3a   ┆sg:   db '?boot',0  ;  ;  const:┆
0x0a1380…0a13a0             09 3b 63 6f 6e 73 6f 6c 65 20 73 74 61 74 75 73 20 74 6f 20 72 65 67 2d 61 0d 0a 3b 09 28 65 78   ┆ ;console status to reg-a  ; (ex┆
0x0a13a0…0a13c0             61 63 74 6c 79 20 74 68 65 20 73 61 6d 65 20 61 73 20 6d 64 73 20 63 61 6c 6c 29 0d 0a 09 6a 6d   ┆actly the same as mds call)   jm┆
0x0a13c0…0a13e0             70 09 63 73 74 73 0d 0a 3b 0d 0a 63 6f 6e 69 6e 3a 09 3b 63 6f 6e 73 6f 6c 65 20 63 68 61 72 61   ┆p csts  ;  conin: ;console chara┆
0x0a13e0…0a1400             63 74 65 72 20 74 6f 20 72 65 67 2d 61 0d 0a 09 63 61 6c 6c 09 63 69 0d 0a 09 61 6e 69 09 37 66   ┆cter to reg-a   call ci   ani 7f┆
0x0a1400…0a1420 (43, 0, 1)  65 74 75 72 6e 20 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 20 69 6e 20 4c 0d 0a 09 72 65 74 0d 0a   ┆eturn sector number in L   ret  ┆
0x0a1420…0a1440             3b 0d 0a 73 65 74 64 6d 61 3a 09 3b 73 65 74 20 64 6d 61 20 61 64 64 72 65 73 73 20 67 69 76 65   ┆;  setdma: ;set dma address give┆
0x0a1440…0a1460             6e 20 62 79 20 72 65 67 73 20 62 2c 63 0d 0a 09 6d 6f 76 09 6c 2c 63 0d 0a 09 6d 6f 76 09 68 2c   ┆n by regs b,c   mov l,c   mov h,┆
0x0a1460…0a1480             62 0d 0a 09 73 68 6c 64 09 69 6f 64 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 72 65 61 64 3a 09 3b 72 65   ┆b   shld iod   ret  ;  read: ;re┆
0x0a1480…0a14a0             61 64 20 6e 65 78 74 20 64 69 73 6b 20 72 65 63 6f 72 64 20 28 61 73 73 75 6d 69 6e 67 20 64 69   ┆ad next disk record (assuming di┆
0x0a14a0…0a14c0             73 6b 2f 74 72 6b 2f 73 65 63 2f 64 6d 61 20 73 65 74 29 0d 0a 09 6d 76 69 09 63 2c 72 65 61 64   ┆sk/trk/sec/dma set)   mvi c,read┆
0x0a14c0…0a14e0             66 09 3b 73 65 74 20 74 6f 20 72 65 61 64 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 63 61 6c 6c 09 73   ┆f ;set to read function   call s┆
0x0a14e0…0a1500             65 74 66 75 6e 63 0d 0a 09 63 61 6c 6c 09 77 61 69 74 69 6f 09 3b 70 65 72 66 6f 72 6d 20 72 65   ┆etfunc   call waitio ;perform re┆
0x0a1500…0a1520             61 64 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 72 65 74 09 09 3b 6d 61 79 20 68 61 76 65 20 65 72 72   ┆ad function   ret  ;may have err┆
0x0a1520…0a1540             6f 72 20 73 65 74 20 69 6e 20 72 65 67 2d 61 0d 0a 3b 0d 0a 3b 0d 0a 77 72 69 74 65 3a 09 3b 64   ┆or set in reg-a  ;  ;  write: ;d┆
0x0a1540…0a1560             69 73 6b 20 77 72 69 74 65 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 6d 76 69 09 63 2c 77 72 69 74 66   ┆isk write function   mvi c,writf┆
0x0a1560…0a1580             0d 0a 09 63 61 6c 6c 09 73 65 74 66 75 6e 63 09 3b 73 65 74 20 74 6f 20 77 72 69 74 65 20 66 75   ┆   call setfunc ;set to write fu┆
0x0a1580…0a15a0             6e 63 74 69 6f 6e 0d 0a 09 63 61 6c 6c 09 77 61 69 74 69 6f 0d 0a 09 72 65 74 09 09 3b 6d 61 79   ┆nction   call waitio   ret  ;may┆
0x0a15a0…0a15c0             20 68 61 76 65 20 65 72 72 6f 72 20 73 65 74 0d 0a 3b 0d 0a 3b 0d 0a 3b 09 75 74 69 6c 69 74 79   ┆ have error set  ;  ;  ; utility┆
0x0a15c0…0a15e0             20 73 75 62 72 6f 75 74 69 6e 65 73 0d 0a 70 72 6d 73 67 3a 09 3b 70 72 69 6e 74 20 6d 65 73 73   ┆ subroutines  prmsg: ;print mess┆
0x0a15e0…0a1600             61 67 65 20 61 74 20 68 2c 6c 20 74 6f 20 30 0d 0a 09 6d 6f 76 09 61 2c 6d 0d 0a 09 6f 72 61 09   ┆age at h,l to 0   mov a,m   ora ┆
0x0a1600…0a1620 (43, 0, 2)  09 3b 73 6f 6d 65 20 6f 74 68 65 72 20 63 6f 6e 64 69 74 69 6f 6e 2c 20 72 65 74 72 79 0d 0a 3b   ┆ ;some other condition, retry  ;┆
0x0a1620…0a1640             0d 0a 3b 09 63 68 65 63 6b 20 69 2f 6f 20 65 72 72 6f 72 20 62 69 74 73 0d 0a 09 63 61 6c 6c 09   ┆  ; check i/o error bits   call ┆
0x0a1640…0a1660             69 6e 62 79 74 65 0d 0a 09 72 61 6c 0d 0a 09 6a 63 09 77 72 65 61 64 79 09 09 3b 75 6e 69 74 20   ┆inbyte   ral   jc wready  ;unit ┆
0x0a1660…0a1680             6e 6f 74 20 72 65 61 64 79 0d 0a 09 72 61 72 0d 0a 09 61 6e 69 09 31 31 31 31 31 31 31 30 62 09   ┆not ready   rar   ani 11111110b ┆
0x0a1680…0a16a0             3b 61 6e 79 20 6f 74 68 65 72 20 65 72 72 6f 72 73 3f 20 20 28 64 65 6c 65 74 65 64 20 64 61 74   ┆;any other errors?  (deleted dat┆
0x0a16a0…0a16c0             61 20 6f 6b 29 0d 0a 09 6a 6e 7a 09 77 65 72 72 6f 72 0d 0a 3b 0d 0a 3b 09 72 65 61 64 20 6f 72   ┆a ok)   jnz werror  ;  ; read or┆
0x0a16c0…0a16e0             20 77 72 69 74 65 20 69 73 20 6f 6b 2c 20 61 63 63 75 6d 75 6c 61 74 6f 72 20 63 6f 6e 74 61 69   ┆ write is ok, accumulator contai┆
0x0a16e0…0a1700             6e 73 20 7a 65 72 6f 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 77 72 65 61 64 79 3a 09 3b 6e 6f 74 20 72   ┆ns zero   ret  ;  wready: ;not r┆
0x0a1700…0a1720             65 61 64 79 2c 20 74 72 65 61 74 20 61 73 20 65 72 72 6f 72 20 66 6f 72 20 6e 6f 77 0d 0a 09 63   ┆eady, treat as error for now   c┆
0x0a1720…0a1740             61 6c 6c 09 69 6e 62 79 74 65 09 09 3b 63 6c 65 61 72 20 72 65 73 75 6c 74 20 62 79 74 65 0d 0a   ┆all inbyte  ;clear result byte  ┆
0x0a1740…0a1760             09 6a 6d 70 09 74 72 79 63 6f 75 6e 74 0d 0a 3b 0d 0a 77 65 72 72 6f 72 3a 09 3b 72 65 74 75 72   ┆ jmp trycount  ;  werror: ;retur┆
0x0a1760…0a1780             6e 20 68 61 72 64 77 61 72 65 20 6d 61 6c 66 75 6e 63 74 69 6f 6e 20 28 63 72 63 2c 20 74 72 61   ┆n hardware malfunction (crc, tra┆
0x0a1780…0a17a0             63 6b 2c 20 73 65 65 6b 2c 20 65 74 63 2e 29 0d 0a 3b 09 74 68 65 20 6d 64 73 20 63 6f 6e 74 72   ┆ck, seek, etc.)  ; the mds contr┆
0x0a17a0…0a17c0             6f 6c 6c 65 72 20 68 61 73 20 72 65 74 75 72 6e 65 64 20 61 20 62 69 74 20 69 6e 20 65 61 63 68   ┆oller has returned a bit in each┆
0x0a17c0…0a17e0             20 70 6f 73 69 74 69 6f 6e 0d 0a 3b 09 6f 66 20 74 68 65 20 61 63 63 75 6d 75 6c 61 74 6f 72 2c   ┆ position  ; of the accumulator,┆
0x0a17e0…0a1800             20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 74 6f 20 74 68 65 20 63 6f 6e 64 69 74 69 6f 6e 73   ┆ corresponding to the conditions┆
0x0a1800…0a1820 (43, 0, 3)  73 69 6f 6e 29 0d 0a 3b 0d 0a 3b 09 56 65 72 73 69 6f 6e 20 32 2e 32 20 46 65 62 72 75 61 72 79   ┆sion)  ;  ; Version 2.2 February┆
0x0a1820…0a1840             2c 20 31 39 38 30 0d 0a 3b 0d 0a 76 65 72 73 09 65 71 75 09 32 32 09 3b 76 65 72 73 69 6f 6e 20   ┆, 1980  ;  vers equ 22 ;version ┆
0x0a1840…0a1860             32 2e 32 0d 0a 3b 0d 0a 3b 09 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 31 39 38 30 0d 0a 3b 09   ┆2.2  ;  ; Copyright (c) 1980  ; ┆
0x0a1860…0a1880             44 69 67 69 74 61 6c 20 52 65 73 65 61 72 63 68 0d 0a 3b 09 42 6f 78 20 35 37 39 2c 20 50 61 63   ┆Digital Research  ; Box 579, Pac┆
0x0a1880…0a18a0             69 66 69 63 20 47 72 6f 76 65 0d 0a 3b 09 43 61 6c 69 66 6f 72 6e 69 61 2c 20 39 33 39 35 30 0d   ┆ific Grove  ; California, 93950 ┆
0x0a18a0…0a18c0             0a 3b 0d 0a 3b 0d 0a 74 72 75 65 09 65 71 75 09 30 66 66 66 66 68 09 3b 76 61 6c 75 65 20 6f 66   ┆ ;  ;  true equ 0ffffh ;value of┆
0x0a18c0…0a18e0             20 22 74 72 75 65 22 0d 0a 66 61 6c 73 65 09 65 71 75 09 6e 6f 74 20 74 72 75 65 09 3b 22 66 61   ┆ "true"  false equ not true ;"fa┆
0x0a18e0…0a1900             6c 73 65 22 0d 0a 74 65 73 74 09 65 71 75 09 66 61 6c 73 65 09 3b 74 72 75 65 20 69 66 20 74 65   ┆lse"  test equ false ;true if te┆
0x0a1900…0a1920             73 74 20 62 69 6f 73 0d 0a 3b 0d 0a 09 69 66 09 74 65 73 74 0d 0a 62 69 61 73 09 65 71 75 09 30   ┆st bios  ;   if test  bias equ 0┆
0x0a1920…0a1940             33 34 30 30 68 09 3b 62 61 73 65 20 6f 66 20 43 43 50 20 69 6e 20 74 65 73 74 20 73 79 73 74 65   ┆3400h ;base of CCP in test syste┆
0x0a1940…0a1960             6d 0d 0a 09 65 6e 64 69 66 0d 0a 09 69 66 09 6e 6f 74 20 74 65 73 74 0d 0a 62 69 61 73 09 65 71   ┆m   endif   if not test  bias eq┆
0x0a1960…0a1980             75 09 30 30 30 30 68 09 3b 67 65 6e 65 72 61 74 65 20 72 65 6c 6f 63 61 74 61 62 6c 65 20 63 70   ┆u 0000h ;generate relocatable cp┆
0x0a1980…0a19a0             2f 6d 20 73 79 73 74 65 6d 0d 0a 09 65 6e 64 69 66 0d 0a 3b 0d 0a 70 61 74 63 68 09 65 71 75 09   ┆/m system   endif  ;  patch equ ┆
0x0a19a0…0a19c0             31 36 30 30 68 0d 0a 3b 0d 0a 09 6f 72 67 09 70 61 74 63 68 0d 0a 63 70 6d 62 09 65 71 75 09 24   ┆1600h  ;   org patch  cpmb equ $┆
0x0a19c0…0a19e0             2d 70 61 74 63 68 09 3b 62 61 73 65 20 6f 66 20 63 70 6d 20 63 6f 6e 73 6f 6c 65 20 70 72 6f 63   ┆-patch ;base of cpm console proc┆
0x0a19e0…0a1a00             65 73 73 6f 72 0d 0a 62 64 6f 73 09 65 71 75 09 38 30 36 68 2b 63 70 6d 62 09 3b 62 61 73 69 63   ┆essor  bdos equ 806h+cpmb ;basic┆
0x0a1a00…0a1a20 (43, 0, 4)  0a 09 6a 6d 70 09 77 72 69 74 65 0d 0a 09 6a 6d 70 09 6c 69 73 74 73 74 09 3b 6c 69 73 74 20 73   ┆  jmp write   jmp listst ;list s┆
0x0a1a20…0a1a40             74 61 74 75 73 0d 0a 09 6a 6d 70 09 73 65 63 74 72 61 6e 0d 0a 3b 0d 0a 09 6d 61 63 6c 69 62 09   ┆tatus   jmp sectran  ;   maclib ┆
0x0a1a40…0a1a60             64 69 73 6b 64 65 66 09 3b 6c 6f 61 64 20 74 68 65 20 64 69 73 6b 20 64 65 66 69 6e 69 74 69 6f   ┆diskdef ;load the disk definitio┆
0x0a1a60…0a1a80             6e 20 6c 69 62 72 61 72 79 0d 0a 09 64 69 73 6b 73 09 34 09 3b 66 6f 75 72 20 64 69 73 6b 73 0d   ┆n library   disks 4 ;four disks ┆
0x0a1a80…0a1aa0             0a 09 64 69 73 6b 64 65 66 09 30 2c 31 2c 32 36 2c 36 2c 31 30 32 34 2c 32 34 33 2c 36 34 2c 36   ┆  diskdef 0,1,26,6,1024,243,64,6┆
0x0a1aa0…0a1ac0             34 2c 6f 66 66 73 65 74 0d 0a 09 64 69 73 6b 64 65 66 09 31 2c 30 0d 0a 09 64 69 73 6b 64 65 66   ┆4,offset   diskdef 1,0   diskdef┆
0x0a1ac0…0a1ae0             09 32 2c 30 0d 0a 09 64 69 73 6b 64 65 66 09 33 2c 30 0d 0a 3b 09 65 6e 64 65 66 20 6f 63 63 75   ┆ 2,0   diskdef 3,0  ; endef occu┆
0x0a1ae0…0a1b00             72 73 20 61 74 20 65 6e 64 20 6f 66 20 61 73 73 65 6d 62 6c 79 0d 0a 3b 0d 0a 3b 09 65 6e 64 20   ┆rs at end of assembly  ;  ; end ┆
0x0a1b00…0a1b20             6f 66 20 63 6f 6e 74 72 6f 6c 6c 65 72 20 2d 20 69 6e 64 65 70 65 6e 64 65 6e 74 20 63 6f 64 65   ┆of controller - independent code┆
0x0a1b20…0a1b40             2c 20 74 68 65 20 72 65 6d 61 69 6e 69 6e 67 20 73 75 62 72 6f 75 74 69 6e 65 73 0d 0a 3b 09 61   ┆, the remaining subroutines  ; a┆
0x0a1b40…0a1b60             72 65 20 74 61 69 6c 6f 72 65 64 20 74 6f 20 74 68 65 20 70 61 72 74 69 63 75 6c 61 72 20 6f 70   ┆re tailored to the particular op┆
0x0a1b60…0a1b80             65 72 61 74 69 6e 67 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 2c 20 61 6e 64 20 6d 75 73 74 0d 0a 3b   ┆erating environment, and must  ;┆
0x0a1b80…0a1ba0             09 62 65 20 61 6c 74 65 72 65 64 20 66 6f 72 20 61 6e 79 20 73 79 73 74 65 6d 20 77 68 69 63 68   ┆ be altered for any system which┆
0x0a1ba0…0a1bc0             20 64 69 66 66 65 72 73 20 66 72 6f 6d 20 74 68 65 20 69 6e 74 65 6c 20 6d 64 73 2e 0d 0a 3b 0d   ┆ differs from the intel mds.  ; ┆
0x0a1bc0…0a1be0             0a 3b 09 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 64 65 20 61 73 73 75 6d 65 73 20 74 68   ┆ ; the following code assumes th┆
0x0a1be0…0a1c00             65 20 6d 64 73 20 6d 6f 6e 69 74 6f 72 20 65 78 69 73 74 73 20 61 74 20 30 66 38 30 30 68 0d 0a   ┆e mds monitor exists at 0f800h  ┆
0x0a1c00…0a1c20 (43, 0, 5)  61 09 3b 7a 65 72 6f 3f 0d 0a 09 72 7a 0d 0a 3b 09 6d 6f 72 65 20 74 6f 20 70 72 69 6e 74 0d 0a   ┆a ;zero?   rz  ; more to print  ┆
0x0a1c20…0a1c40             09 70 75 73 68 09 68 0d 0a 09 6d 6f 76 09 63 2c 61 0d 0a 09 63 61 6c 6c 09 63 6f 6e 6f 75 74 0d   ┆ push h   mov c,a   call conout ┆
0x0a1c40…0a1c60             0a 09 70 6f 70 09 68 0d 0a 09 69 6e 78 09 68 0d 0a 09 6a 6d 70 09 70 72 6d 73 67 0d 0a 3b 0d 0a   ┆  pop h   inx h   jmp prmsg  ;  ┆
0x0a1c60…0a1c80             73 65 74 66 75 6e 63 3a 0d 0a 3b 09 73 65 74 20 66 75 6e 63 74 69 6f 6e 20 66 6f 72 20 6e 65 78   ┆setfunc:  ; set function for nex┆
0x0a1c80…0a1ca0             74 20 69 2f 6f 20 28 63 6f 6d 6d 61 6e 64 20 69 6e 20 72 65 67 2d 63 29 0d 0a 09 6c 78 69 09 68   ┆t i/o (command in reg-c)   lxi h┆
0x0a1ca0…0a1cc0             2c 69 6f 66 09 3b 69 6f 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 72 65 73 73 0d 0a 09 6d 6f 76 09   ┆,iof ;io function address   mov ┆
0x0a1cc0…0a1ce0             61 2c 6d 09 3b 67 65 74 20 69 74 20 74 6f 20 61 63 63 75 6d 75 6c 61 74 6f 72 20 66 6f 72 20 6d   ┆a,m ;get it to accumulator for m┆
0x0a1ce0…0a1d00             61 73 6b 69 6e 67 0d 0a 09 61 6e 69 09 31 31 31 31 31 30 30 30 62 09 3b 72 65 6d 6f 76 65 20 70   ┆asking   ani 11111000b ;remove p┆
0x0a1d00…0a1d20             72 65 76 69 6f 75 73 20 63 6f 6d 6d 61 6e 64 0d 0a 09 6f 72 61 09 63 09 3b 73 65 74 20 74 6f 20   ┆revious command   ora c ;set to ┆
0x0a1d20…0a1d40             6e 65 77 20 63 6f 6d 6d 61 6e 64 0d 0a 09 6d 6f 76 09 6d 2c 61 09 3b 72 65 70 6c 61 63 65 64 20   ┆new command   mov m,a ;replaced ┆
0x0a1d40…0a1d60             69 6e 20 69 6f 70 62 0d 0a 3b 09 74 68 65 20 6d 64 73 2d 38 30 30 20 63 6f 6e 74 72 6f 6c 6c 65   ┆in iopb  ; the mds-800 controlle┆
0x0a1d60…0a1d80             72 20 72 65 71 75 69 72 65 73 20 64 69 73 6b 20 62 61 6e 6b 20 62 69 74 20 69 6e 20 73 65 63 74   ┆r requires disk bank bit in sect┆
0x0a1d80…0a1da0             6f 72 20 62 79 74 65 0d 0a 3b 09 6d 61 73 6b 20 74 68 65 20 62 69 74 20 66 72 6f 6d 20 74 68 65   ┆or byte  ; mask the bit from the┆
0x0a1da0…0a1dc0             20 63 75 72 72 65 6e 74 20 69 2f 6f 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 61 6e 69 09 30 30 31 30   ┆ current i/o function   ani 0010┆
0x0a1dc0…0a1de0             30 30 30 30 62 09 3b 6d 61 73 6b 20 74 68 65 20 64 69 73 6b 20 73 65 6c 65 63 74 20 62 69 74 0d   ┆0000b ;mask the disk select bit ┆
0x0a1de0…0a1e00             0a 09 6c 78 69 09 68 2c 69 6f 73 09 09 3b 61 64 64 72 65 73 73 20 74 68 65 20 73 65 63 74 6f 72   ┆  lxi h,ios  ;address the sector┆
0x0a1e00…0a1e20 (43, 0, 6)  3a 0d 0a 3b 09 30 09 2d 20 64 65 6c 65 74 65 64 20 64 61 74 61 20 28 61 63 63 65 70 74 65 64 20   ┆:  ; 0 - deleted data (accepted ┆
0x0a1e20…0a1e40             61 73 20 6f 6b 20 61 62 6f 76 65 29 0d 0a 3b 09 31 09 2d 20 63 72 63 20 65 72 72 6f 72 0d 0a 3b   ┆as ok above)  ; 1 - crc error  ;┆
0x0a1e40…0a1e60             09 32 09 2d 20 73 65 65 6b 20 65 72 72 6f 72 0d 0a 3b 09 33 09 2d 20 61 64 64 72 65 73 73 20 65   ┆ 2 - seek error  ; 3 - address e┆
0x0a1e60…0a1e80             72 72 6f 72 20 28 68 61 72 64 77 61 72 65 20 6d 61 6c 66 75 6e 63 74 69 6f 6e 29 0d 0a 3b 09 34   ┆rror (hardware malfunction)  ; 4┆
0x0a1e80…0a1ea0             09 2d 20 64 61 74 61 20 6f 76 65 72 2f 75 6e 64 65 72 20 66 6c 6f 77 20 28 68 61 72 64 77 61 72   ┆ - data over/under flow (hardwar┆
0x0a1ea0…0a1ec0             65 20 6d 61 6c 66 75 6e 63 74 69 6f 6e 29 0d 0a 3b 09 35 09 2d 20 77 72 69 74 65 20 70 72 6f 74   ┆e malfunction)  ; 5 - write prot┆
0x0a1ec0…0a1ee0             65 63 74 20 28 74 72 65 61 74 65 64 20 61 73 20 6e 6f 74 20 72 65 61 64 79 29 0d 0a 3b 09 36 09   ┆ect (treated as not ready)  ; 6 ┆
0x0a1ee0…0a1f00             2d 20 77 72 69 74 65 20 65 72 72 6f 72 20 28 68 61 72 64 77 61 72 65 20 6d 61 6c 66 75 6e 63 74   ┆- write error (hardware malfunct┆
0x0a1f00…0a1f20             69 6f 6e 29 0d 0a 3b 09 37 09 2d 20 6e 6f 74 20 72 65 61 64 79 0d 0a 3b 09 28 61 63 63 75 6d 75   ┆ion)  ; 7 - not ready  ; (accumu┆
0x0a1f20…0a1f40             6c 61 74 6f 72 20 62 69 74 73 20 61 72 65 20 6e 75 6d 62 65 72 65 64 20 37 20 36 20 35 20 34 20   ┆lator bits are numbered 7 6 5 4 ┆
0x0a1f40…0a1f60             33 20 32 20 31 20 30 29 0d 0a 3b 0d 0a 3b 09 69 74 20 6d 61 79 20 62 65 20 75 73 65 66 75 6c 20   ┆3 2 1 0)  ;  ; it may be useful ┆
0x0a1f60…0a1f80             74 6f 20 66 69 6c 74 65 72 20 6f 75 74 20 74 68 65 20 76 61 72 69 6f 75 73 20 63 6f 6e 64 69 74   ┆to filter out the various condit┆
0x0a1f80…0a1fa0             69 6f 6e 73 2c 0d 0a 3b 09 62 75 74 20 77 65 20 77 69 6c 6c 20 67 65 74 20 61 20 70 65 72 6d 61   ┆ions,  ; but we will get a perma┆
0x0a1fa0…0a1fc0             6e 65 6e 74 20 65 72 72 6f 72 20 6d 65 73 73 61 67 65 20 69 66 20 69 74 20 69 73 20 6e 6f 74 0d   ┆nent error message if it is not ┆
0x0a1fc0…0a1fe0             0a 3b 09 72 65 63 6f 76 65 72 61 62 6c 65 2e 20 20 69 6e 20 61 6e 79 20 63 61 73 65 2c 20 74 68   ┆ ; recoverable.  in any case, th┆
0x0a1fe0…0a2000             65 20 6e 6f 74 20 72 65 61 64 79 20 63 6f 6e 64 69 74 69 6f 6e 20 69 73 0d 0a 3b 09 74 72 65 61   ┆e not ready condition is  ; trea┆
0x0a2000…0a2020 (43, 0, 7)  20 64 6f 73 20 28 72 65 73 69 64 65 6e 74 20 70 6f 72 74 69 6f 6e 29 0d 0a 63 70 6d 6c 09 65 71   ┆ dos (resident portion)  cpml eq┆
0x0a2020…0a2040             75 09 24 2d 63 70 6d 62 09 3b 6c 65 6e 67 74 68 20 28 69 6e 20 62 79 74 65 73 29 20 6f 66 20 63   ┆u $-cpmb ;length (in bytes) of c┆
0x0a2040…0a2060             70 6d 20 73 79 73 74 65 6d 0d 0a 6e 73 65 63 74 73 09 65 71 75 09 63 70 6d 6c 2f 31 32 38 09 3b   ┆pm system  nsects equ cpml/128 ;┆
0x0a2060…0a2080             6e 75 6d 62 65 72 20 6f 66 20 73 65 63 74 6f 72 73 20 74 6f 20 6c 6f 61 64 0d 0a 6f 66 66 73 65   ┆number of sectors to load  offse┆
0x0a2080…0a20a0             74 09 65 71 75 09 32 09 3b 6e 75 6d 62 65 72 20 6f 66 20 64 69 73 6b 20 74 72 61 63 6b 73 20 75   ┆t equ 2 ;number of disk tracks u┆
0x0a20a0…0a20c0             73 65 64 20 62 79 20 63 70 2f 6d 0d 0a 63 64 69 73 6b 09 65 71 75 09 30 30 30 34 68 09 3b 61 64   ┆sed by cp/m  cdisk equ 0004h ;ad┆
0x0a20c0…0a20e0             64 72 65 73 73 20 6f 66 20 6c 61 73 74 20 6c 6f 67 67 65 64 20 64 69 73 6b 20 6f 6e 20 77 61 72   ┆dress of last logged disk on war┆
0x0a20e0…0a2100             6d 20 73 74 61 72 74 0d 0a 62 75 66 66 09 65 71 75 09 30 30 38 30 68 09 3b 64 65 66 61 75 6c 74   ┆m start  buff equ 0080h ;default┆
0x0a2100…0a2120             20 62 75 66 66 65 72 20 61 64 64 72 65 73 73 0d 0a 72 65 74 72 79 09 65 71 75 09 31 30 09 3b 6d   ┆ buffer address  retry equ 10 ;m┆
0x0a2120…0a2140             61 78 20 72 65 74 72 69 65 73 20 6f 6e 20 64 69 73 6b 20 69 2f 6f 20 62 65 66 6f 72 65 20 65 72   ┆ax retries on disk i/o before er┆
0x0a2140…0a2160             72 6f 72 0d 0a 3b 0d 0a 3b 09 70 65 72 66 6f 72 6d 20 66 6f 6c 6c 6f 77 69 6e 67 20 66 75 6e 63   ┆ror  ;  ; perform following func┆
0x0a2160…0a2180             74 69 6f 6e 73 0d 0a 3b 09 62 6f 6f 74 09 63 6f 6c 64 20 73 74 61 72 74 0d 0a 3b 09 77 62 6f 6f   ┆tions  ; boot cold start  ; wboo┆
0x0a2180…0a21a0             74 09 77 61 72 6d 20 73 74 61 72 74 20 28 73 61 76 65 20 69 2f 6f 20 62 79 74 65 29 0d 0a 3b 09   ┆t warm start (save i/o byte)  ; ┆
0x0a21a0…0a21c0             28 62 6f 6f 74 20 61 6e 64 20 77 62 6f 6f 74 20 61 72 65 20 74 68 65 20 73 61 6d 65 20 66 6f 72   ┆(boot and wboot are the same for┆
0x0a21c0…0a21e0             20 6d 64 73 29 0d 0a 3b 09 63 6f 6e 73 74 09 63 6f 6e 73 6f 6c 65 20 73 74 61 74 75 73 0d 0a 3b   ┆ mds)  ; const console status  ;┆
0x0a21e0…0a2200             09 09 72 65 67 2d 61 20 3d 20 30 30 20 69 66 20 6e 6f 20 63 68 61 72 61 63 74 65 72 20 72 65 61   ┆  reg-a = 00 if no character rea┆
0x0a2200…0a2220 (43, 0, 8)  3b 09 61 6e 64 20 75 73 65 73 20 74 68 65 20 69 2f 6f 20 73 75 62 72 6f 75 74 69 6e 65 73 20 77   ┆; and uses the i/o subroutines w┆
0x0a2220…0a2240             69 74 68 69 6e 20 74 68 65 20 6d 6f 6e 69 74 6f 72 0d 0a 3b 0d 0a 3b 09 77 65 20 61 6c 73 6f 20   ┆ithin the monitor  ;  ; we also ┆
0x0a2240…0a2260             61 73 73 75 6d 65 20 74 68 65 20 6d 64 73 20 73 79 73 74 65 6d 20 68 61 73 20 66 6f 75 72 20 64   ┆assume the mds system has four d┆
0x0a2260…0a2280             69 73 6b 20 64 72 69 76 65 73 0d 0a 72 65 76 72 74 09 65 71 75 09 30 66 64 68 09 3b 69 6e 74 65   ┆isk drives  revrt equ 0fdh ;inte┆
0x0a2280…0a22a0             72 72 75 70 74 20 72 65 76 65 72 74 20 70 6f 72 74 0d 0a 69 6e 74 63 09 65 71 75 09 30 66 63 68   ┆rrupt revert port  intc equ 0fch┆
0x0a22a0…0a22c0             09 3b 69 6e 74 65 72 72 75 70 74 20 6d 61 73 6b 20 70 6f 72 74 0d 0a 69 63 6f 6e 09 65 71 75 09   ┆ ;interrupt mask port  icon equ ┆
0x0a22c0…0a22e0             30 66 33 68 09 3b 69 6e 74 65 72 72 75 70 74 20 63 6f 6e 74 72 6f 6c 20 70 6f 72 74 0d 0a 69 6e   ┆0f3h ;interrupt control port  in┆
0x0a22e0…0a2300             74 65 09 65 71 75 09 30 31 31 31 24 31 31 31 30 62 09 3b 65 6e 61 62 6c 65 20 72 73 74 20 30 28   ┆te equ 0111$1110b ;enable rst 0(┆
0x0a2300…0a2320             77 61 72 6d 20 62 6f 6f 74 29 2c 20 72 73 74 20 37 20 28 6d 6f 6e 69 74 6f 72 29 0d 0a 3b 0d 0a   ┆warm boot), rst 7 (monitor)  ;  ┆
0x0a2320…0a2340             3b 09 6d 64 73 20 6d 6f 6e 69 74 6f 72 20 65 71 75 61 74 65 73 0d 0a 6d 6f 6e 38 30 09 65 71 75   ┆; mds monitor equates  mon80 equ┆
0x0a2340…0a2360             09 30 66 38 30 30 68 09 3b 6d 64 73 20 6d 6f 6e 69 74 6f 72 0d 0a 72 6d 6f 6e 38 30 09 65 71 75   ┆ 0f800h ;mds monitor  rmon80 equ┆
0x0a2360…0a2380             09 30 66 66 30 66 68 09 3b 72 65 73 74 61 72 74 20 6d 6f 6e 38 30 20 28 62 6f 6f 74 20 65 72 72   ┆ 0ff0fh ;restart mon80 (boot err┆
0x0a2380…0a23a0             6f 72 29 0d 0a 63 69 09 65 71 75 09 30 66 38 30 33 68 09 3b 63 6f 6e 73 6f 6c 65 20 63 68 61 72   ┆or)  ci equ 0f803h ;console char┆
0x0a23a0…0a23c0             61 63 74 65 72 20 74 6f 20 72 65 67 2d 61 0d 0a 72 69 09 65 71 75 09 30 66 38 30 36 68 09 3b 72   ┆acter to reg-a  ri equ 0f806h ;r┆
0x0a23c0…0a23e0             65 61 64 65 72 20 69 6e 20 74 6f 20 72 65 67 2d 61 0d 0a 63 6f 09 65 71 75 09 30 66 38 30 39 68   ┆eader in to reg-a  co equ 0f809h┆
0x0a23e0…0a2400             09 3b 63 6f 6e 73 6f 6c 65 20 63 68 61 72 20 66 72 6f 6d 20 63 20 74 6f 20 63 6f 6e 73 6f 6c 65   ┆ ;console char from c to console┆
0x0a2400…0a2420 (43, 0, 9)  20 73 65 6c 65 63 74 20 62 79 74 65 0d 0a 09 6f 72 61 09 6d 09 09 3b 73 65 6c 65 63 74 20 70 72   ┆ select byte   ora m  ;select pr┆
0x0a2420…0a2440             6f 70 65 72 20 64 69 73 6b 20 62 61 6e 6b 0d 0a 09 6d 6f 76 09 6d 2c 61 09 09 3b 73 65 74 20 64   ┆oper disk bank   mov m,a  ;set d┆
0x0a2440…0a2460             69 73 6b 20 73 65 6c 65 63 74 20 62 69 74 20 6f 6e 2f 6f 66 66 0d 0a 09 72 65 74 0d 0a 3b 0d 0a   ┆isk select bit on/off   ret  ;  ┆
0x0a2460…0a2480             77 61 69 74 69 6f 3a 0d 0a 09 6d 76 69 09 63 2c 72 65 74 72 79 09 3b 6d 61 78 20 72 65 74 72 69   ┆waitio:   mvi c,retry ;max retri┆
0x0a2480…0a24a0             65 73 20 62 65 66 6f 72 65 20 70 65 72 6d 20 65 72 72 6f 72 0d 0a 72 65 77 61 69 74 3a 0d 0a 3b   ┆es before perm error  rewait:  ;┆
0x0a24a0…0a24c0             09 73 74 61 72 74 20 74 68 65 20 69 2f 6f 20 66 75 6e 63 74 69 6f 6e 20 61 6e 64 20 77 61 69 74   ┆ start the i/o function and wait┆
0x0a24c0…0a24e0             20 66 6f 72 20 63 6f 6d 70 6c 65 74 69 6f 6e 0d 0a 09 63 61 6c 6c 09 69 6e 74 79 70 65 09 3b 69   ┆ for completion   call intype ;i┆
0x0a24e0…0a2500             6e 20 72 74 79 70 65 0d 0a 09 63 61 6c 6c 09 69 6e 62 79 74 65 09 3b 63 6c 65 61 72 73 20 74 68   ┆n rtype   call inbyte ;clears th┆
0x0a2500…0a2520             65 20 63 6f 6e 74 72 6f 6c 6c 65 72 0d 0a 3b 0d 0a 09 6c 64 61 09 64 62 61 6e 6b 09 09 3b 73 65   ┆e controller  ;   lda dbank  ;se┆
0x0a2520…0a2540             74 20 62 61 6e 6b 20 66 6c 61 67 73 0d 0a 09 6f 72 61 09 61 09 09 3b 7a 65 72 6f 20 69 66 20 64   ┆t bank flags   ora a  ;zero if d┆
0x0a2540…0a2560             72 69 76 65 20 30 2c 31 20 61 6e 64 20 6e 7a 20 69 66 20 32 2c 33 0d 0a 09 6d 76 69 09 61 2c 69   ┆rive 0,1 and nz if 2,3   mvi a,i┆
0x0a2560…0a2580             6f 70 62 20 61 6e 64 20 30 66 66 68 09 3b 6c 6f 77 20 61 64 64 72 65 73 73 20 66 6f 72 20 69 6f   ┆opb and 0ffh ;low address for io┆
0x0a2580…0a25a0             70 62 0d 0a 09 6d 76 69 09 62 2c 69 6f 70 62 20 73 68 72 20 38 09 3b 68 69 67 68 20 61 64 64 72   ┆pb   mvi b,iopb shr 8 ;high addr┆
0x0a25a0…0a25c0             65 73 73 20 66 6f 72 20 69 6f 70 62 0d 0a 09 6a 6e 7a 09 69 6f 64 72 31 09 3b 64 72 69 76 65 20   ┆ess for iopb   jnz iodr1 ;drive ┆
0x0a25c0…0a25e0             62 61 6e 6b 20 31 3f 0d 0a 09 6f 75 74 09 69 6c 6f 77 09 09 3b 6c 6f 77 20 61 64 64 72 65 73 73   ┆bank 1?   out ilow  ;low address┆
0x0a25e0…0a2600             20 74 6f 20 63 6f 6e 74 72 6f 6c 6c 65 72 0d 0a 09 6d 6f 76 09 61 2c 62 0d 0a 09 6f 75 74 09 69   ┆ to controller   mov a,b   out i┆
0x0a2600…0a2620 (43, 0, 10) 74 65 64 20 61 73 20 61 20 73 65 70 61 72 61 74 65 20 63 6f 6e 64 69 74 69 6f 6e 20 66 6f 72 20   ┆ted as a separate condition for ┆
0x0a2620…0a2640             6c 61 74 65 72 20 69 6d 70 72 6f 76 65 6d 65 6e 74 0d 0a 74 72 79 63 6f 75 6e 74 3a 0d 0a 3b 09   ┆later improvement  trycount:  ; ┆
0x0a2640…0a2660             72 65 67 69 73 74 65 72 20 63 20 63 6f 6e 74 61 69 6e 73 20 72 65 74 72 79 20 63 6f 75 6e 74 2c   ┆register c contains retry count,┆
0x0a2660…0a2680             20 64 65 63 72 65 6d 65 6e 74 20 27 74 69 6c 20 7a 65 72 6f 0d 0a 09 64 63 72 09 63 0d 0a 09 6a   ┆ decrement 'til zero   dcr c   j┆
0x0a2680…0a26a0             6e 7a 09 72 65 77 61 69 74 09 3b 66 6f 72 20 61 6e 6f 74 68 65 72 20 74 72 79 0d 0a 3b 0d 0a 3b   ┆nz rewait ;for another try  ;  ;┆
0x0a26a0…0a26c0             09 63 61 6e 6e 6f 74 20 72 65 63 6f 76 65 72 20 66 72 6f 6d 20 65 72 72 6f 72 0d 0a 09 6d 76 69   ┆ cannot recover from error   mvi┆
0x0a26c0…0a26e0             09 61 2c 31 09 3b 65 72 72 6f 72 20 63 6f 64 65 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 3b 09 69 6e 74   ┆ a,1 ;error code   ret  ;  ; int┆
0x0a26e0…0a2700             79 70 65 2c 20 69 6e 62 79 74 65 2c 20 69 6e 73 74 61 74 20 72 65 61 64 20 64 72 69 76 65 20 62   ┆ype, inbyte, instat read drive b┆
0x0a2700…0a2720             61 6e 6b 20 30 30 20 6f 72 20 31 30 0d 0a 69 6e 74 79 70 65 3a 09 6c 64 61 09 64 62 61 6e 6b 0d   ┆ank 00 or 10  intype: lda dbank ┆
0x0a2720…0a2740             0a 09 6f 72 61 09 61 0d 0a 09 6a 6e 7a 09 69 6e 74 79 70 31 09 3b 73 6b 69 70 20 74 6f 20 62 61   ┆  ora a   jnz intyp1 ;skip to ba┆
0x0a2740…0a2760             6e 6b 20 31 30 0d 0a 09 69 6e 09 72 74 79 70 65 0d 0a 09 72 65 74 0d 0a 69 6e 74 79 70 31 3a 09   ┆nk 10   in rtype   ret  intyp1: ┆
0x0a2760…0a2780             69 6e 09 72 74 79 70 65 2b 31 30 68 09 3b 37 38 20 66 6f 72 20 30 2c 31 20 20 38 38 20 66 6f 72   ┆in rtype+10h ;78 for 0,1  88 for┆
0x0a2780…0a27a0             20 32 2c 33 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 69 6e 62 79 74 65 3a 09 6c 64 61 09 64 62 61 6e 6b   ┆ 2,3   ret  ;  inbyte: lda dbank┆
0x0a27a0…0a27c0             0d 0a 09 6f 72 61 09 61 0d 0a 09 6a 6e 7a 09 69 6e 62 79 74 31 0d 0a 09 69 6e 09 72 62 79 74 65   ┆   ora a   jnz inbyt1   in rbyte┆
0x0a27c0…0a27e0             0d 0a 09 72 65 74 0d 0a 69 6e 62 79 74 31 3a 09 69 6e 09 72 62 79 74 65 2b 31 30 68 0d 0a 09 72   ┆   ret  inbyt1: in rbyte+10h   r┆
0x0a27e0…0a2800             65 74 0d 0a 3b 0d 0a 69 6e 73 74 61 74 3a 09 6c 64 61 09 64 62 61 6e 6b 0d 0a 09 6f 72 61 09 61   ┆et  ;  instat: lda dbank   ora a┆
0x0a2800…0a2820 (43, 0, 11) 64 79 0d 0a 3b 09 09 72 65 67 2d 61 20 3d 20 66 66 20 69 66 20 63 68 61 72 61 63 74 65 72 20 72   ┆dy  ;  reg-a = ff if character r┆
0x0a2820…0a2840             65 61 64 79 0d 0a 3b 09 63 6f 6e 69 6e 09 63 6f 6e 73 6f 6c 65 20 63 68 61 72 61 63 74 65 72 20   ┆eady  ; conin console character ┆
0x0a2840…0a2860             69 6e 20 28 72 65 73 75 6c 74 20 69 6e 20 72 65 67 2d 61 29 0d 0a 3b 09 63 6f 6e 6f 75 74 09 63   ┆in (result in reg-a)  ; conout c┆
0x0a2860…0a2880             6f 6e 73 6f 6c 65 20 63 68 61 72 61 63 74 65 72 20 6f 75 74 20 28 63 68 61 72 20 69 6e 20 72 65   ┆onsole character out (char in re┆
0x0a2880…0a28a0             67 2d 63 29 0d 0a 3b 09 6c 69 73 74 09 6c 69 73 74 20 6f 75 74 20 28 63 68 61 72 20 69 6e 20 72   ┆g-c)  ; list list out (char in r┆
0x0a28a0…0a28c0             65 67 2d 63 29 0d 0a 3b 09 70 75 6e 63 68 09 70 75 6e 63 68 20 6f 75 74 20 28 63 68 61 72 20 69   ┆eg-c)  ; punch punch out (char i┆
0x0a28c0…0a28e0             6e 20 72 65 67 2d 63 29 0d 0a 3b 09 72 65 61 64 65 72 09 70 61 70 65 72 20 74 61 70 65 20 72 65   ┆n reg-c)  ; reader paper tape re┆
0x0a28e0…0a2900             61 64 65 72 20 69 6e 20 28 72 65 73 75 6c 74 20 74 6f 20 72 65 67 2d 61 29 0d 0a 3b 09 68 6f 6d   ┆ader in (result to reg-a)  ; hom┆
0x0a2900…0a2920             65 09 6d 6f 76 65 20 74 6f 20 74 72 61 63 6b 20 30 30 0d 0a 3b 0d 0a 3b 09 28 74 68 65 20 66 6f   ┆e move to track 00  ;  ; (the fo┆
0x0a2920…0a2940             6c 6c 6f 77 69 6e 67 20 63 61 6c 6c 73 20 73 65 74 2d 75 70 20 74 68 65 20 69 6f 20 70 61 72 61   ┆llowing calls set-up the io para┆
0x0a2940…0a2960             6d 65 74 65 72 20 62 6c 6f 63 6b 20 66 6f 72 20 74 68 65 0d 0a 3b 09 6d 64 73 2c 20 77 68 69 63   ┆meter block for the  ; mds, whic┆
0x0a2960…0a2980             68 20 69 73 20 75 73 65 64 20 74 6f 20 70 65 72 66 6f 72 6d 20 73 75 62 73 65 71 75 65 6e 74 20   ┆h is used to perform subsequent ┆
0x0a2980…0a29a0             72 65 61 64 73 20 61 6e 64 20 77 72 69 74 65 73 29 0d 0a 3b 09 73 65 6c 64 73 6b 09 73 65 6c 65   ┆reads and writes)  ; seldsk sele┆
0x0a29a0…0a29c0             63 74 20 64 69 73 6b 20 67 69 76 65 6e 20 62 79 20 72 65 67 2d 63 20 28 30 2c 31 2c 32 2e 2e 2e   ┆ct disk given by reg-c (0,1,2...┆
0x0a29c0…0a29e0             29 0d 0a 3b 09 73 65 74 74 72 6b 09 73 65 74 20 74 72 61 63 6b 20 61 64 64 72 65 73 73 20 28 30   ┆)  ; settrk set track address (0┆
0x0a29e0…0a2a00             2c 2e 2e 2e 37 36 29 20 66 6f 72 20 73 75 62 73 65 71 75 65 6e 74 20 72 65 61 64 2f 77 72 69 74   ┆,...76) for subsequent read/writ┆
0x0a2a00…0a2a20 (43, 0, 12) 20 6f 75 74 0d 0a 70 6f 09 65 71 75 09 30 66 38 30 63 68 09 3b 70 75 6e 63 68 20 63 68 61 72 20   ┆ out  po equ 0f80ch ;punch char ┆
0x0a2a20…0a2a40             66 72 6f 6d 20 63 20 74 6f 20 70 75 6e 63 68 20 64 65 76 69 63 65 0d 0a 6c 6f 09 65 71 75 09 30   ┆from c to punch device  lo equ 0┆
0x0a2a40…0a2a60             66 38 30 66 68 09 3b 6c 69 73 74 20 66 72 6f 6d 20 63 20 74 6f 20 6c 69 73 74 20 64 65 76 69 63   ┆f80fh ;list from c to list devic┆
0x0a2a60…0a2a80             65 0d 0a 63 73 74 73 09 65 71 75 09 30 66 38 31 32 68 09 3b 63 6f 6e 73 6f 6c 65 20 73 74 61 74   ┆e  csts equ 0f812h ;console stat┆
0x0a2a80…0a2aa0             75 73 20 30 30 2f 66 66 20 74 6f 20 72 65 67 69 73 74 65 72 20 61 0d 0a 3b 0d 0a 3b 09 64 69 73   ┆us 00/ff to register a  ;  ; dis┆
0x0a2aa0…0a2ac0             6b 20 70 6f 72 74 73 20 61 6e 64 20 63 6f 6d 6d 61 6e 64 73 0d 0a 62 61 73 65 09 65 71 75 09 37   ┆k ports and commands  base equ 7┆
0x0a2ac0…0a2ae0             38 68 09 3b 62 61 73 65 20 6f 66 20 64 69 73 6b 20 63 6f 6d 6d 61 6e 64 20 69 6f 20 70 6f 72 74   ┆8h ;base of disk command io port┆
0x0a2ae0…0a2b00             73 0d 0a 64 73 74 61 74 09 65 71 75 09 62 61 73 65 09 3b 64 69 73 6b 20 73 74 61 74 75 73 20 28   ┆s  dstat equ base ;disk status (┆
0x0a2b00…0a2b20             69 6e 70 75 74 29 0d 0a 72 74 79 70 65 09 65 71 75 09 62 61 73 65 2b 31 09 3b 72 65 73 75 6c 74   ┆input)  rtype equ base+1 ;result┆
0x0a2b20…0a2b40             20 74 79 70 65 20 28 69 6e 70 75 74 29 0d 0a 72 62 79 74 65 09 65 71 75 09 62 61 73 65 2b 33 09   ┆ type (input)  rbyte equ base+3 ┆
0x0a2b40…0a2b60             3b 72 65 73 75 6c 74 20 62 79 74 65 20 28 69 6e 70 75 74 29 0d 0a 3b 0d 0a 69 6c 6f 77 09 65 71   ┆;result byte (input)  ;  ilow eq┆
0x0a2b60…0a2b80             75 09 62 61 73 65 2b 31 09 3b 69 6f 70 62 20 6c 6f 77 20 61 64 64 72 65 73 73 20 28 6f 75 74 70   ┆u base+1 ;iopb low address (outp┆
0x0a2b80…0a2ba0             75 74 29 0d 0a 69 68 69 67 68 09 65 71 75 09 62 61 73 65 2b 32 09 3b 69 6f 70 62 20 68 69 67 68   ┆ut)  ihigh equ base+2 ;iopb high┆
0x0a2ba0…0a2bc0             20 61 64 64 72 65 73 73 20 28 6f 75 74 70 75 74 29 0d 0a 3b 0d 0a 72 65 61 64 66 09 65 71 75 09   ┆ address (output)  ;  readf equ ┆
0x0a2bc0…0a2be0             34 68 09 3b 72 65 61 64 20 66 75 6e 63 74 69 6f 6e 0d 0a 77 72 69 74 66 09 65 71 75 09 36 68 09   ┆4h ;read function  writf equ 6h ┆
0x0a2be0…0a2c00             3b 77 72 69 74 65 20 66 75 6e 63 74 69 6f 6e 0d 0a 72 65 63 61 6c 09 65 71 75 09 33 68 09 3b 72   ┆;write function  recal equ 3h ;r┆
0x0a2c00…0a2c20 (43, 0, 13) 68 69 67 68 09 3b 68 69 67 68 20 61 64 64 72 65 73 73 0d 0a 09 6a 6d 70 09 77 61 69 74 30 09 09   ┆high ;high address   jmp wait0  ┆
0x0a2c20…0a2c40             3b 74 6f 20 77 61 69 74 20 66 6f 72 20 63 6f 6d 70 6c 65 74 65 0d 0a 3b 0d 0a 69 6f 64 72 31 3a   ┆;to wait for complete  ;  iodr1:┆
0x0a2c40…0a2c60             09 3b 64 72 69 76 65 20 62 61 6e 6b 20 31 0d 0a 09 6f 75 74 09 69 6c 6f 77 2b 31 30 68 09 3b 38   ┆ ;drive bank 1   out ilow+10h ;8┆
0x0a2c60…0a2c80             38 20 66 6f 72 20 64 72 69 76 65 20 62 61 6e 6b 20 31 30 0d 0a 09 6d 6f 76 09 61 2c 62 0d 0a 09   ┆8 for drive bank 10   mov a,b   ┆
0x0a2c80…0a2ca0             6f 75 74 09 69 68 69 67 68 2b 31 30 68 0d 0a 3b 0d 0a 77 61 69 74 30 3a 09 63 61 6c 6c 09 69 6e   ┆out ihigh+10h  ;  wait0: call in┆
0x0a2ca0…0a2cc0             73 74 61 74 09 09 3b 77 61 69 74 20 66 6f 72 20 63 6f 6d 70 6c 65 74 69 6f 6e 0d 0a 09 61 6e 69   ┆stat  ;wait for completion   ani┆
0x0a2cc0…0a2ce0             09 69 6f 72 64 79 09 09 3b 72 65 61 64 79 3f 0d 0a 09 6a 7a 09 77 61 69 74 30 0d 0a 3b 0d 0a 3b   ┆ iordy  ;ready?   jz wait0  ;  ;┆
0x0a2ce0…0a2d00             09 63 68 65 63 6b 20 69 6f 20 63 6f 6d 70 6c 65 74 69 6f 6e 20 6f 6b 0d 0a 09 63 61 6c 6c 09 69   ┆ check io completion ok   call i┆
0x0a2d00…0a2d20             6e 74 79 70 65 09 09 3b 6d 75 73 74 20 62 65 20 69 6f 20 63 6f 6d 70 6c 65 74 65 20 28 30 30 29   ┆ntype  ;must be io complete (00)┆
0x0a2d20…0a2d40             20 75 6e 6c 69 6e 6b 65 64 0d 0a 3b 09 30 30 20 75 6e 6c 69 6e 6b 65 64 20 69 2f 6f 20 63 6f 6d   ┆ unlinked  ; 00 unlinked i/o com┆
0x0a2d40…0a2d60             70 6c 65 74 65 2c 20 20 20 20 30 31 20 6c 69 6e 6b 65 64 20 69 2f 6f 20 63 6f 6d 70 6c 65 74 65   ┆plete,    01 linked i/o complete┆
0x0a2d60…0a2d80             20 28 6e 6f 74 20 75 73 65 64 29 0d 0a 3b 09 31 30 20 64 69 73 6b 20 73 74 61 74 75 73 20 63 68   ┆ (not used)  ; 10 disk status ch┆
0x0a2d80…0a2da0             61 6e 67 65 64 20 20 20 20 20 20 20 31 31 20 28 6e 6f 74 20 75 73 65 64 29 0d 0a 09 63 70 69 09   ┆anged       11 (not used)   cpi ┆
0x0a2da0…0a2dc0             31 30 62 09 09 3b 72 65 61 64 79 20 73 74 61 74 75 73 20 63 68 61 6e 67 65 3f 0d 0a 09 6a 7a 09   ┆10b  ;ready status change?   jz ┆
0x0a2dc0…0a2de0             77 72 65 61 64 79 0d 0a 3b 0d 0a 3b 09 6d 75 73 74 20 62 65 20 30 30 20 69 6e 20 74 68 65 20 61   ┆wready  ;  ; must be 00 in the a┆
0x0a2de0…0a2e00             63 63 75 6d 75 6c 61 74 6f 72 0d 0a 09 6f 72 61 09 61 0d 0a 09 6a 6e 7a 09 77 65 72 72 6f 72 09   ┆ccumulator   ora a   jnz werror ┆
0x0a2e00…0a2e20 (43, 0, 14) 0d 0a 09 6a 6e 7a 09 69 6e 73 74 61 31 0d 0a 09 69 6e 09 64 73 74 61 74 0d 0a 09 72 65 74 0d 0a   ┆   jnz insta1   in dstat   ret  ┆
0x0a2e20…0a2e40             69 6e 73 74 61 31 3a 09 69 6e 09 64 73 74 61 74 2b 31 30 68 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 3b   ┆insta1: in dstat+10h   ret  ;  ;┆
0x0a2e40…0a2e60             0d 0a 3b 0d 0a 3b 09 64 61 74 61 20 61 72 65 61 73 20 28 6d 75 73 74 20 62 65 20 69 6e 20 72 61   ┆  ;  ; data areas (must be in ra┆
0x0a2e60…0a2e80             6d 29 0d 0a 64 62 61 6e 6b 3a 09 64 62 09 30 09 3b 64 69 73 6b 20 62 61 6e 6b 20 30 30 20 69 66   ┆m)  dbank: db 0 ;disk bank 00 if┆
0x0a2e80…0a2ea0             20 64 72 69 76 65 20 30 2c 31 0d 0a 09 09 09 3b 09 20 20 20 31 30 20 69 66 20 64 72 69 76 65 20   ┆ drive 0,1     ;    10 if drive ┆
0x0a2ea0…0a2ec0             32 2c 33 0d 0a 69 6f 70 62 3a 09 3b 69 6f 20 70 61 72 61 6d 65 74 65 72 20 62 6c 6f 63 6b 0d 0a   ┆2,3  iopb: ;io parameter block  ┆
0x0a2ec0…0a2ee0             09 64 62 09 38 30 68 09 3b 6e 6f 72 6d 61 6c 20 69 2f 6f 20 6f 70 65 72 61 74 69 6f 6e 0d 0a 69   ┆ db 80h ;normal i/o operation  i┆
0x0a2ee0…0a2f00             6f 66 3a 09 64 62 09 72 65 61 64 66 09 3b 69 6f 20 66 75 6e 63 74 69 6f 6e 2c 20 69 6e 69 74 69   ┆of: db readf ;io function, initi┆
0x0a2f00…0a2f20             61 6c 20 72 65 61 64 0d 0a 69 6f 6e 3a 09 64 62 09 31 09 3b 6e 75 6d 62 65 72 20 6f 66 20 73 65   ┆al read  ion: db 1 ;number of se┆
0x0a2f20…0a2f40             63 74 6f 72 73 20 74 6f 20 72 65 61 64 0d 0a 69 6f 74 3a 09 64 62 09 6f 66 66 73 65 74 09 3b 74   ┆ctors to read  iot: db offset ;t┆
0x0a2f40…0a2f60             72 61 63 6b 20 6e 75 6d 62 65 72 0d 0a 69 6f 73 3a 09 64 62 09 31 09 3b 73 65 63 74 6f 72 20 6e   ┆rack number  ios: db 1 ;sector n┆
0x0a2f60…0a2f80             75 6d 62 65 72 0d 0a 69 6f 64 3a 09 64 77 09 62 75 66 66 09 3b 69 6f 20 61 64 64 72 65 73 73 0d   ┆umber  iod: dw buff ;io address ┆
0x0a2f80…0a2fa0             0a 3b 0d 0a 3b 0d 0a 3b 09 64 65 66 69 6e 65 20 72 61 6d 20 61 72 65 61 73 20 66 6f 72 20 62 64   ┆ ;  ;  ; define ram areas for bd┆
0x0a2fa0…0a2fc0             6f 73 20 6f 70 65 72 61 74 69 6f 6e 0d 0a 09 65 6e 64 65 66 0d 0a 09 65 6e 64 0d 0a 3b 09 4d 44   ┆os operation   endef   end  ; MD┆
0x0a2fc0…0a2fe0             53 2d 38 30 30 20 49 2f 4f 20 44 72 69 76 65 72 73 20 66 6f 72 20 43 50 2f 4d 20 32 2e 32 0d 0a   ┆S-800 I/O Drivers for CP/M 2.2  ┆
0x0a2fe0…0a3000             3b 09 28 66 6f 75 72 20 64 72 69 76 65 20 73 69 6e 67 6c 65 20 64 65 6e 73 69 74 79 20 76 65 72   ┆; (four drive single density ver┆
0x0a3000…0a3020 (43, 0, 15) 65 0d 0a 3b 09 73 65 74 73 65 63 09 73 65 74 20 73 65 63 74 6f 72 20 61 64 64 72 65 73 73 20 28   ┆e  ; setsec set sector address (┆
0x0a3020…0a3040             31 2c 2e 2e 2e 2c 32 36 29 20 66 6f 72 20 73 75 62 73 65 71 75 65 6e 74 20 72 65 61 64 2f 77 72   ┆1,...,26) for subsequent read/wr┆
0x0a3040…0a3060             69 74 65 0d 0a 3b 09 73 65 74 64 6d 61 09 73 65 74 20 73 75 62 73 65 71 75 65 6e 74 20 64 6d 61   ┆ite  ; setdma set subsequent dma┆
0x0a3060…0a3080             20 61 64 64 72 65 73 73 20 28 69 6e 69 74 69 61 6c 6c 79 20 38 30 68 29 0d 0a 3b 0d 0a 3b 09 28   ┆ address (initially 80h)  ;  ; (┆
0x0a3080…0a30a0             72 65 61 64 20 61 6e 64 20 77 72 69 74 65 20 61 73 73 75 6d 65 20 70 72 65 76 69 6f 75 73 20 63   ┆read and write assume previous c┆
0x0a30a0…0a30c0             61 6c 6c 73 20 74 6f 20 73 65 74 20 75 70 20 74 68 65 20 69 6f 20 70 61 72 61 6d 65 74 65 72 73   ┆alls to set up the io parameters┆
0x0a30c0…0a30e0             29 0d 0a 3b 09 72 65 61 64 09 72 65 61 64 20 74 72 61 63 6b 2f 73 65 63 74 6f 72 20 74 6f 20 70   ┆)  ; read read track/sector to p┆
0x0a30e0…0a3100             72 65 73 65 74 20 64 6d 61 20 61 64 64 72 65 73 73 0d 0a 3b 09 77 72 69 74 65 09 77 72 69 74 65   ┆reset dma address  ; write write┆
0x0a3100…0a3120             20 74 72 61 63 6b 2f 73 65 63 74 6f 72 20 66 72 6f 6d 20 70 72 65 73 65 74 20 64 6d 61 20 61 64   ┆ track/sector from preset dma ad┆
0x0a3120…0a3140             64 72 65 73 73 0d 0a 3b 0d 0a 3b 09 6a 75 6d 70 20 76 65 63 74 6f 72 20 66 6f 72 20 69 6e 64 69   ┆dress  ;  ; jump vector for indi┆
0x0a3140…0a3160             76 69 75 61 6c 20 72 6f 75 74 69 6e 65 73 0d 0a 09 6a 6d 70 09 62 6f 6f 74 0d 0a 77 62 6f 6f 74   ┆viual routines   jmp boot  wboot┆
0x0a3160…0a3180             65 3a 09 6a 6d 70 09 77 62 6f 6f 74 0d 0a 09 6a 6d 70 09 63 6f 6e 73 74 0d 0a 09 6a 6d 70 09 63   ┆e: jmp wboot   jmp const   jmp c┆
0x0a3180…0a31a0             6f 6e 69 6e 0d 0a 09 6a 6d 70 09 63 6f 6e 6f 75 74 0d 0a 09 6a 6d 70 09 6c 69 73 74 0d 0a 09 6a   ┆onin   jmp conout   jmp list   j┆
0x0a31a0…0a31c0             6d 70 09 70 75 6e 63 68 0d 0a 09 6a 6d 70 09 72 65 61 64 65 72 0d 0a 09 6a 6d 70 09 68 6f 6d 65   ┆mp punch   jmp reader   jmp home┆
0x0a31c0…0a31e0             0d 0a 09 6a 6d 70 09 73 65 6c 64 73 6b 0d 0a 09 6a 6d 70 09 73 65 74 74 72 6b 0d 0a 09 6a 6d 70   ┆   jmp seldsk   jmp settrk   jmp┆
0x0a31e0…0a3200             09 73 65 74 73 65 63 0d 0a 09 6a 6d 70 09 73 65 74 64 6d 61 0d 0a 09 6a 6d 70 09 72 65 61 64 0d   ┆ setsec   jmp setdma   jmp read ┆
0x0a3200…0a3220 (43, 1, 1)  65 63 61 6c 69 62 72 61 74 65 20 64 72 69 76 65 0d 0a 69 6f 72 64 79 09 65 71 75 09 34 68 09 3b   ┆ecalibrate drive  iordy equ 4h ;┆
0x0a3220…0a3240             69 2f 6f 20 66 69 6e 69 73 68 65 64 20 6d 61 73 6b 0d 0a 63 72 09 65 71 75 09 30 64 68 09 3b 63   ┆i/o finished mask  cr equ 0dh ;c┆
0x0a3240…0a3260             61 72 72 69 61 67 65 20 72 65 74 75 72 6e 0d 0a 6c 66 09 65 71 75 09 30 61 68 09 3b 6c 69 6e 65   ┆arriage return  lf equ 0ah ;line┆
0x0a3260…0a3280             20 66 65 65 64 0d 0a 3b 0d 0a 73 69 67 6e 6f 6e 3a 09 3b 73 69 67 6e 6f 6e 20 6d 65 73 73 61 67   ┆ feed  ;  signon: ;signon messag┆
0x0a3280…0a32a0             65 3a 20 78 78 6b 20 63 70 2f 6d 20 76 65 72 73 20 79 2e 79 0d 0a 09 64 62 09 63 72 2c 6c 66 2c   ┆e: xxk cp/m vers y.y   db cr,lf,┆
0x0a32a0…0a32c0             6c 66 0d 0a 09 69 66 09 74 65 73 74 0d 0a 09 64 62 09 27 33 32 27 09 3b 33 32 6b 20 65 78 61 6d   ┆lf   if test   db '32' ;32k exam┆
0x0a32c0…0a32e0             70 6c 65 20 62 69 6f 73 0d 0a 09 65 6e 64 69 66 0d 0a 09 69 66 09 6e 6f 74 20 74 65 73 74 0d 0a   ┆ple bios   endif   if not test  ┆
0x0a32e0…0a3300             09 64 62 09 27 30 30 27 09 3b 6d 65 6d 6f 72 79 20 73 69 7a 65 20 66 69 6c 6c 65 64 20 62 79 20   ┆ db '00' ;memory size filled by ┆
0x0a3300…0a3320             72 65 6c 6f 63 61 74 6f 72 0d 0a 09 65 6e 64 69 66 0d 0a 09 64 62 09 27 6b 20 43 50 2f 4d 20 76   ┆relocator   endif   db 'k CP/M v┆
0x0a3320…0a3340             65 72 73 20 27 0d 0a 09 64 62 09 76 65 72 73 2f 31 30 2b 27 30 27 2c 27 2e 27 2c 76 65 72 73 20   ┆ers '   db vers/10+'0','.',vers ┆
0x0a3340…0a3360             6d 6f 64 20 31 30 2b 27 30 27 0d 0a 09 64 62 09 63 72 2c 6c 66 2c 30 0d 0a 3b 0d 0a 62 6f 6f 74   ┆mod 10+'0'   db cr,lf,0  ;  boot┆
0x0a3360…0a3380             3a 09 3b 70 72 69 6e 74 20 73 69 67 6e 6f 6e 20 6d 65 73 73 61 67 65 20 61 6e 64 20 67 6f 20 74   ┆: ;print signon message and go t┆
0x0a3380…0a33a0             6f 20 63 63 70 0d 0a 3b 09 28 6e 6f 74 65 3a 20 6d 64 73 20 62 6f 6f 74 20 69 6e 69 74 69 61 6c   ┆o ccp  ; (note: mds boot initial┆
0x0a33a0…0a33c0             69 7a 65 64 20 69 6f 62 79 74 65 20 61 74 20 30 30 30 33 68 29 0d 0a 09 6c 78 69 09 73 70 2c 62   ┆ized iobyte at 0003h)   lxi sp,b┆
0x0a33c0…0a33e0             75 66 66 2b 38 30 68 0d 0a 09 6c 78 69 09 68 2c 73 69 67 6e 6f 6e 0d 0a 09 63 61 6c 6c 09 70 72   ┆uff+80h   lxi h,signon   call pr┆
0x0a33e0…0a3400             6d 73 67 09 3b 70 72 69 6e 74 20 6d 65 73 73 61 67 65 0d 0a 09 78 72 61 09 61 09 3b 63 6c 65 61   ┆msg ;print message   xra a ;clea┆
0x0a3400…0a3420 (43, 1, 2)  69 6e 74 65 72 72 75 70 74 20 63 6f 6e 74 72 6f 6c 0d 0a 3b 0d 0a 3b 09 73 65 74 20 64 65 66 61   ┆interrupt control  ;  ; set defa┆
0x0a3420…0a3440             75 6c 74 20 62 75 66 66 65 72 20 61 64 64 72 65 73 73 20 74 6f 20 38 30 68 0d 0a 09 6c 78 69 09   ┆ult buffer address to 80h   lxi ┆
0x0a3440…0a3460             62 2c 62 75 66 66 0d 0a 09 63 61 6c 6c 09 73 65 74 64 6d 61 0d 0a 3b 0d 0a 3b 09 72 65 73 65 74   ┆b,buff   call setdma  ;  ; reset┆
0x0a3460…0a3480             20 6d 6f 6e 69 74 6f 72 20 65 6e 74 72 79 20 70 6f 69 6e 74 73 0d 0a 09 6d 76 69 09 61 2c 6a 6d   ┆ monitor entry points   mvi a,jm┆
0x0a3480…0a34a0             70 0d 0a 09 73 74 61 09 30 0d 0a 09 6c 78 69 09 68 2c 77 62 6f 6f 74 65 0d 0a 09 73 68 6c 64 09   ┆p   sta 0   lxi h,wboote   shld ┆
0x0a34a0…0a34c0             31 09 3b 6a 6d 70 20 77 62 6f 6f 74 20 61 74 20 6c 6f 63 61 74 69 6f 6e 20 30 30 0d 0a 09 73 74   ┆1 ;jmp wboot at location 00   st┆
0x0a34c0…0a34e0             61 09 35 0d 0a 09 6c 78 69 09 68 2c 62 64 6f 73 0d 0a 09 73 68 6c 64 09 36 09 3b 6a 6d 70 20 62   ┆a 5   lxi h,bdos   shld 6 ;jmp b┆
0x0a34e0…0a3500             64 6f 73 20 61 74 20 6c 6f 63 61 74 69 6f 6e 20 35 0d 0a 09 69 66 09 6e 6f 74 20 74 65 73 74 0d   ┆dos at location 5   if not test ┆
0x0a3500…0a3520             0a 09 73 74 61 09 37 2a 38 09 3b 6a 6d 70 20 74 6f 20 6d 6f 6e 38 30 20 28 6d 61 79 20 68 61 76   ┆  sta 7*8 ;jmp to mon80 (may hav┆
0x0a3520…0a3540             65 20 62 65 65 6e 20 63 68 61 6e 67 65 64 20 62 79 20 64 64 74 29 0d 0a 09 6c 78 69 09 68 2c 6d   ┆e been changed by ddt)   lxi h,m┆
0x0a3540…0a3560             6f 6e 38 30 0d 0a 09 73 68 6c 64 09 37 2a 38 2b 31 0d 0a 09 65 6e 64 69 66 0d 0a 3b 09 6c 65 61   ┆on80   shld 7*8+1   endif  ; lea┆
0x0a3560…0a3580             76 65 20 69 6f 62 79 74 65 20 73 65 74 0d 0a 3b 09 70 72 65 76 69 6f 75 73 6c 79 20 73 65 6c 65   ┆ve iobyte set  ; previously sele┆
0x0a3580…0a35a0             63 74 65 64 20 64 69 73 6b 20 77 61 73 20 62 2c 20 73 65 6e 64 20 70 61 72 61 6d 65 74 65 72 20   ┆cted disk was b, send parameter ┆
0x0a35a0…0a35c0             74 6f 20 63 70 6d 0d 0a 09 6c 64 61 09 63 64 69 73 6b 09 3b 6c 61 73 74 20 6c 6f 67 67 65 64 20   ┆to cpm   lda cdisk ;last logged ┆
0x0a35c0…0a35e0             64 69 73 6b 20 6e 75 6d 62 65 72 0d 0a 09 6d 6f 76 09 63 2c 61 09 3b 73 65 6e 64 20 74 6f 20 63   ┆disk number   mov c,a ;send to c┆
0x0a35e0…0a3600             63 70 20 74 6f 20 6c 6f 67 20 69 74 20 69 6e 0d 0a 09 65 69 0d 0a 09 6a 6d 70 09 63 70 6d 62 0d   ┆cp to log it in   ei   jmp cpmb ┆
0x0a3600…0a3620 (43, 1, 3)  61 64 09 64 09 3b 48 4c 3d 64 69 73 6b 20 68 65 61 64 65 72 20 74 61 62 6c 65 20 61 64 64 72 65   ┆ad d ;HL=disk header table addre┆
0x0a3620…0a3640             73 73 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 3b 0d 0a 73 65 74 74 72 6b 3a 09 3b 73 65 74 20 74 72 61   ┆ss   ret  ;  ;  settrk: ;set tra┆
0x0a3640…0a3660             63 6b 20 61 64 64 72 65 73 73 20 67 69 76 65 6e 20 62 79 20 63 0d 0a 09 6c 78 69 09 68 2c 69 6f   ┆ck address given by c   lxi h,io┆
0x0a3660…0a3680             74 0d 0a 09 6d 6f 76 09 6d 2c 63 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 73 65 74 73 65 63 3a 09 3b 73   ┆t   mov m,c   ret  ;  setsec: ;s┆
0x0a3680…0a36a0             65 74 20 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 20 67 69 76 65 6e 20 62 79 20 63 0d 0a 09 6c 78   ┆et sector number given by c   lx┆
0x0a36a0…0a36c0             69 09 68 2c 69 6f 73 0d 0a 09 6d 6f 76 09 6d 2c 63 0d 0a 09 72 65 74 0d 0a 73 65 63 74 72 61 6e   ┆i h,ios   mov m,c   ret  sectran┆
0x0a36c0…0a36e0             3a 0d 0a 09 09 3b 74 72 61 6e 73 6c 61 74 65 20 73 65 63 74 6f 72 20 62 63 20 75 73 69 6e 67 20   ┆:    ;translate sector bc using ┆
0x0a36e0…0a3700             74 61 62 6c 65 20 61 74 20 64 65 0d 0a 09 6d 76 69 09 62 2c 30 09 3b 64 6f 75 62 6c 65 20 70 72   ┆table at de   mvi b,0 ;double pr┆
0x0a3700…0a3720             65 63 69 73 69 6f 6e 20 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 20 69 6e 20 42 43 0d 0a 09 78 63   ┆ecision sector number in BC   xc┆
0x0a3720…0a3740             68 67 09 09 3b 74 72 61 6e 73 6c 61 74 65 20 74 61 62 6c 65 20 61 64 64 72 65 73 73 20 74 6f 20   ┆hg  ;translate table address to ┆
0x0a3740…0a3760             48 4c 0d 0a 09 64 61 64 09 62 09 3b 74 72 61 6e 73 6c 61 74 65 28 73 65 63 74 6f 72 29 20 61 64   ┆HL   dad b ;translate(sector) ad┆
0x0a3760…0a3780             64 72 65 73 73 0d 0a 09 6d 6f 76 09 61 2c 6d 09 3b 74 72 61 6e 73 6c 61 74 65 64 20 73 65 63 74   ┆dress   mov a,m ;translated sect┆
0x0a3780…0a37a0             6f 72 20 6e 75 6d 62 65 72 20 74 6f 20 41 0d 0a 09 73 74 61 09 69 6f 73 0d 0a 09 6d 6f 76 09 6c   ┆or number to A   sta ios   mov l┆
0x0a37a0…0a37c0             2c 61 09 3b 72 65 74 75 72 6e 20 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 20 69 6e 20 4c 0d 0a 09   ┆,a ;return sector number in L   ┆
0x0a37c0…0a37e0             72 65 74 0d 0a 3b 0d 0a 73 65 74 64 6d 61 3a 09 3b 73 65 74 20 64 6d 61 20 61 64 64 72 65 73 73   ┆ret  ;  setdma: ;set dma address┆
0x0a37e0…0a3800             20 67 69 76 65 6e 20 62 79 20 72 65 67 73 20 62 2c 63 0d 0a 09 6d 6f 76 09 6c 2c 63 0d 0a 09 6d   ┆ given by regs b,c   mov l,c   m┆
0x0a3800…0a3820 (43, 1, 4)  30 68 09 3b 38 38 20 66 6f 72 20 64 72 69 76 65 20 62 61 6e 6b 20 31 30 0d 0a 09 6d 6f 76 09 61   ┆0h ;88 for drive bank 10   mov a┆
0x0a3820…0a3840             2c 62 0d 0a 09 6f 75 74 09 69 68 69 67 68 2b 31 30 68 0d 0a 3b 0d 0a 77 61 69 74 30 3a 09 63 61   ┆,b   out ihigh+10h  ;  wait0: ca┆
0x0a3840…0a3860             6c 6c 09 69 6e 73 74 61 74 09 09 3b 77 61 69 74 20 66 6f 72 20 63 6f 6d 70 6c 65 74 69 6f 6e 0d   ┆ll instat  ;wait for completion ┆
0x0a3860…0a3880             0a 09 61 6e 69 09 69 6f 72 64 79 09 09 3b 72 65 61 64 79 3f 0d 0a 09 6a 7a 09 77 61 69 74 30 0d   ┆  ani iordy  ;ready?   jz wait0 ┆
0x0a3880…0a38a0             0a 3b 0d 0a 3b 09 63 68 65 63 6b 20 69 6f 20 63 6f 6d 70 6c 65 74 69 6f 6e 20 6f 6b 0d 0a 09 63   ┆ ;  ; check io completion ok   c┆
0x0a38a0…0a38c0             61 6c 6c 09 69 6e 74 79 70 65 09 09 3b 6d 75 73 74 20 62 65 20 69 6f 20 63 6f 6d 70 6c 65 74 65   ┆all intype  ;must be io complete┆
0x0a38c0…0a38e0             20 28 30 30 29 20 75 6e 6c 69 6e 6b 65 64 0d 0a 3b 09 30 30 20 75 6e 6c 69 6e 6b 65 64 20 69 2f   ┆ (00) unlinked  ; 00 unlinked i/┆
0x0a38e0…0a3900             6f 20 63 6f 6d 70 6c 65 74 65 2c 20 20 20 20 30 31 20 6c 69 6e 6b 65 64 20 69 2f 6f 20 63 6f 6d   ┆o complete,    01 linked i/o com┆
0x0a3900…0a3920             70 6c 65 74 65 20 28 6e 6f 74 20 75 73 65 64 29 0d 0a 3b 09 31 30 20 64 69 73 6b 20 73 74 61 74   ┆plete (not used)  ; 10 disk stat┆
0x0a3920…0a3940             75 73 20 63 68 61 6e 67 65 64 20 20 20 20 20 20 20 31 31 20 28 6e 6f 74 20 75 73 65 64 29 0d 0a   ┆us changed       11 (not used)  ┆
0x0a3940…0a3960             09 63 70 69 09 31 30 62 09 09 3b 72 65 61 64 79 20 73 74 61 74 75 73 20 63 68 61 6e 67 65 3f 0d   ┆ cpi 10b  ;ready status change? ┆
0x0a3960…0a3980             0a 09 6a 7a 09 77 72 65 61 64 79 0d 0a 3b 0d 0a 3b 09 6d 75 73 74 20 62 65 20 30 30 20 69 6e 20   ┆  jz wready  ;  ; must be 00 in ┆
0x0a3980…0a39a0             74 68 65 20 61 63 63 75 6d 75 6c 61 74 6f 72 0d 0a 09 6f 72 61 09 61 0d 0a 09 6a 6e 7a 09 77 65   ┆the accumulator   ora a   jnz we┆
0x0a39a0…0a39c0             72 72 6f 72 09 09 3b 73 6f 6d 65 20 6f 74 68 65 72 20 63 6f 6e 64 69 74 69 6f 6e 2c 20 72 65 74   ┆rror  ;some other condition, ret┆
0x0a39c0…0a39e0             72 79 0d 0a 3b 0d 0a 3b 09 63 68 65 63 6b 20 69 2f 6f 20 65 72 72 6f 72 20 62 69 74 73 0d 0a 09   ┆ry  ;  ; check i/o error bits   ┆
0x0a39e0…0a3a00             63 61 6c 6c 09 69 6e 62 79 74 65 0d 0a 09 72 61 6c 0d 0a 09 6a 63 09 77 72 65 61 64 79 09 09 3b   ┆call inbyte   ral   jc wready  ;┆
0x0a3a00…0a3a20 (43, 1, 5)  72 20 61 63 63 75 6d 75 6c 61 74 6f 72 0d 0a 09 73 74 61 09 63 64 69 73 6b 09 3b 73 65 74 20 69   ┆r accumulator   sta cdisk ;set i┆
0x0a3a20…0a3a40             6e 69 74 69 61 6c 6c 79 20 74 6f 20 64 69 73 6b 20 61 0d 0a 09 6a 6d 70 09 67 6f 63 70 6d 09 3b   ┆nitially to disk a   jmp gocpm ;┆
0x0a3a40…0a3a60             67 6f 20 74 6f 20 63 70 2f 6d 0d 0a 3b 0d 0a 3b 0d 0a 77 62 6f 6f 74 3a 3b 09 6c 6f 61 64 65 72   ┆go to cp/m  ;  ;  wboot:; loader┆
0x0a3a60…0a3a80             20 6f 6e 20 74 72 61 63 6b 20 30 2c 20 73 65 63 74 6f 72 20 31 2c 20 77 68 69 63 68 20 77 69 6c   ┆ on track 0, sector 1, which wil┆
0x0a3a80…0a3aa0             6c 20 62 65 20 73 6b 69 70 70 65 64 20 66 6f 72 20 77 61 72 6d 20 0d 0a 3b 09 72 65 61 64 20 63   ┆l be skipped for warm   ; read c┆
0x0a3aa0…0a3ac0             70 2f 6d 20 66 72 6f 6d 20 64 69 73 6b 20 2d 20 61 73 73 75 6d 69 6e 67 20 74 68 65 72 65 20 69   ┆p/m from disk - assuming there i┆
0x0a3ac0…0a3ae0             73 20 61 20 31 32 38 20 62 79 74 65 20 63 6f 6c 64 20 73 74 61 72 74 0d 0a 3b 09 73 74 61 72 74   ┆s a 128 byte cold start  ; start┆
0x0a3ae0…0a3b00             2e 0d 0a 3b 0d 0a 09 6c 78 69 09 73 70 2c 62 75 66 66 09 3b 75 73 69 6e 67 20 64 6d 61 20 2d 20   ┆.  ;   lxi sp,buff ;using dma - ┆
0x0a3b00…0a3b20             74 68 75 73 20 38 30 20 74 68 72 75 20 66 66 20 61 76 61 69 6c 61 62 6c 65 20 66 6f 72 20 73 74   ┆thus 80 thru ff available for st┆
0x0a3b20…0a3b40             61 63 6b 0d 0a 3b 0d 0a 09 6d 76 69 09 63 2c 72 65 74 72 79 09 3b 6d 61 78 20 72 65 74 72 69 65   ┆ack  ;   mvi c,retry ;max retrie┆
0x0a3b40…0a3b60             73 0d 0a 09 70 75 73 68 09 62 0d 0a 77 62 6f 6f 74 30 3a 09 3b 65 6e 74 65 72 20 68 65 72 65 20   ┆s   push b  wboot0: ;enter here ┆
0x0a3b60…0a3b80             6f 6e 20 65 72 72 6f 72 20 72 65 74 72 69 65 73 0d 0a 09 6c 78 69 09 62 2c 63 70 6d 62 09 3b 73   ┆on error retries   lxi b,cpmb ;s┆
0x0a3b80…0a3ba0             65 74 20 64 6d 61 20 61 64 64 72 65 73 73 20 74 6f 20 73 74 61 72 74 20 6f 66 20 64 69 73 6b 20   ┆et dma address to start of disk ┆
0x0a3ba0…0a3bc0             73 79 73 74 65 6d 0d 0a 09 63 61 6c 6c 09 73 65 74 64 6d 61 0d 0a 09 6d 76 69 09 63 2c 30 09 3b   ┆system   call setdma   mvi c,0 ;┆
0x0a3bc0…0a3be0             62 6f 6f 74 20 66 72 6f 6d 20 64 72 69 76 65 20 30 0d 0a 09 63 61 6c 6c 09 73 65 6c 64 73 6b 0d   ┆boot from drive 0   call seldsk ┆
0x0a3be0…0a3c00             0a 09 6d 76 69 09 63 2c 30 0d 0a 09 63 61 6c 6c 09 73 65 74 74 72 6b 09 3b 73 74 61 72 74 20 77   ┆  mvi c,0   call settrk ;start w┆
0x0a3c00…0a3c20 (43, 1, 6)  0a 3b 0d 0a 3b 09 65 72 72 6f 72 20 63 6f 6e 64 69 74 69 6f 6e 20 6f 63 63 75 72 72 65 64 2c 20   ┆ ;  ; error condition occurred, ┆
0x0a3c20…0a3c40             70 72 69 6e 74 20 6d 65 73 73 61 67 65 20 61 6e 64 20 72 65 74 72 79 0d 0a 62 6f 6f 74 65 72 72   ┆print message and retry  booterr┆
0x0a3c40…0a3c60             3a 0d 0a 09 70 6f 70 09 62 09 3b 72 65 63 61 6c 6c 20 63 6f 75 6e 74 73 0d 0a 09 64 63 72 09 63   ┆:   pop b ;recall counts   dcr c┆
0x0a3c60…0a3c80             0d 0a 09 6a 7a 09 62 6f 6f 74 65 72 30 0d 0a 3b 09 74 72 79 20 61 67 61 69 6e 0d 0a 09 70 75 73   ┆   jz booter0  ; try again   pus┆
0x0a3c80…0a3ca0             68 09 62 0d 0a 09 6a 6d 70 09 77 62 6f 6f 74 30 0d 0a 3b 0d 0a 62 6f 6f 74 65 72 30 3a 0d 0a 3b   ┆h b   jmp wboot0  ;  booter0:  ;┆
0x0a3ca0…0a3cc0             09 6f 74 68 65 72 77 69 73 65 20 74 6f 6f 20 6d 61 6e 79 20 72 65 74 72 69 65 73 0d 0a 09 6c 78   ┆ otherwise too many retries   lx┆
0x0a3cc0…0a3ce0             69 09 68 2c 62 6f 6f 74 6d 73 67 0d 0a 09 63 61 6c 6c 09 70 72 6d 73 67 0d 0a 09 6a 6d 70 09 72   ┆i h,bootmsg   call prmsg   jmp r┆
0x0a3ce0…0a3d00             6d 6f 6e 38 30 09 3b 6d 64 73 20 68 61 72 64 77 61 72 65 20 6d 6f 6e 69 74 6f 72 0d 0a 3b 0d 0a   ┆mon80 ;mds hardware monitor  ;  ┆
0x0a3d00…0a3d20             62 6f 6f 74 6d 73 67 3a 0d 0a 09 64 62 09 27 3f 62 6f 6f 74 27 2c 30 0d 0a 3b 0d 0a 3b 0d 0a 63   ┆bootmsg:   db '?boot',0  ;  ;  c┆
0x0a3d20…0a3d40             6f 6e 73 74 3a 09 3b 63 6f 6e 73 6f 6c 65 20 73 74 61 74 75 73 20 74 6f 20 72 65 67 2d 61 0d 0a   ┆onst: ;console status to reg-a  ┆
0x0a3d40…0a3d60             3b 09 28 65 78 61 63 74 6c 79 20 74 68 65 20 73 61 6d 65 20 61 73 20 6d 64 73 20 63 61 6c 6c 29   ┆; (exactly the same as mds call)┆
0x0a3d60…0a3d80             0d 0a 09 6a 6d 70 09 63 73 74 73 0d 0a 3b 0d 0a 63 6f 6e 69 6e 3a 09 3b 63 6f 6e 73 6f 6c 65 20   ┆   jmp csts  ;  conin: ;console ┆
0x0a3d80…0a3da0             63 68 61 72 61 63 74 65 72 20 74 6f 20 72 65 67 2d 61 0d 0a 09 63 61 6c 6c 09 63 69 0d 0a 09 61   ┆character to reg-a   call ci   a┆
0x0a3da0…0a3dc0             6e 69 09 37 66 68 09 3b 72 65 6d 6f 76 65 20 70 61 72 69 74 79 20 62 69 74 0d 0a 09 72 65 74 0d   ┆ni 7fh ;remove parity bit   ret ┆
0x0a3dc0…0a3de0             0a 3b 0d 0a 63 6f 6e 6f 75 74 3a 09 3b 63 6f 6e 73 6f 6c 65 20 63 68 61 72 61 63 74 65 72 20 66   ┆ ;  conout: ;console character f┆
0x0a3de0…0a3e00             72 6f 6d 20 63 20 74 6f 20 63 6f 6e 73 6f 6c 65 20 6f 75 74 0d 0a 09 6a 6d 70 09 63 6f 0d 0a 3b   ┆rom c to console out   jmp co  ;┆
0x0a3e00…0a3e20 (43, 1, 7)  6f 76 09 68 2c 62 0d 0a 09 73 68 6c 64 09 69 6f 64 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 72 65 61 64   ┆ov h,b   shld iod   ret  ;  read┆
0x0a3e20…0a3e40             3a 09 3b 72 65 61 64 20 6e 65 78 74 20 64 69 73 6b 20 72 65 63 6f 72 64 20 28 61 73 73 75 6d 69   ┆: ;read next disk record (assumi┆
0x0a3e40…0a3e60             6e 67 20 64 69 73 6b 2f 74 72 6b 2f 73 65 63 2f 64 6d 61 20 73 65 74 29 0d 0a 09 6d 76 69 09 63   ┆ng disk/trk/sec/dma set)   mvi c┆
0x0a3e60…0a3e80             2c 72 65 61 64 66 09 3b 73 65 74 20 74 6f 20 72 65 61 64 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 63   ┆,readf ;set to read function   c┆
0x0a3e80…0a3ea0             61 6c 6c 09 73 65 74 66 75 6e 63 0d 0a 09 63 61 6c 6c 09 77 61 69 74 69 6f 09 3b 70 65 72 66 6f   ┆all setfunc   call waitio ;perfo┆
0x0a3ea0…0a3ec0             72 6d 20 72 65 61 64 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 72 65 74 09 09 3b 6d 61 79 20 68 61 76   ┆rm read function   ret  ;may hav┆
0x0a3ec0…0a3ee0             65 20 65 72 72 6f 72 20 73 65 74 20 69 6e 20 72 65 67 2d 61 0d 0a 3b 0d 0a 3b 0d 0a 77 72 69 74   ┆e error set in reg-a  ;  ;  writ┆
0x0a3ee0…0a3f00             65 3a 09 3b 64 69 73 6b 20 77 72 69 74 65 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 6d 76 69 09 63 2c   ┆e: ;disk write function   mvi c,┆
0x0a3f00…0a3f20             77 72 69 74 66 0d 0a 09 63 61 6c 6c 09 73 65 74 66 75 6e 63 09 3b 73 65 74 20 74 6f 20 77 72 69   ┆writf   call setfunc ;set to wri┆
0x0a3f20…0a3f40             74 65 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 63 61 6c 6c 09 77 61 69 74 69 6f 0d 0a 09 72 65 74 09   ┆te function   call waitio   ret ┆
0x0a3f40…0a3f60             09 3b 6d 61 79 20 68 61 76 65 20 65 72 72 6f 72 20 73 65 74 0d 0a 3b 0d 0a 3b 0d 0a 3b 09 75 74   ┆ ;may have error set  ;  ;  ; ut┆
0x0a3f60…0a3f80             69 6c 69 74 79 20 73 75 62 72 6f 75 74 69 6e 65 73 0d 0a 70 72 6d 73 67 3a 09 3b 70 72 69 6e 74   ┆ility subroutines  prmsg: ;print┆
0x0a3f80…0a3fa0             20 6d 65 73 73 61 67 65 20 61 74 20 68 2c 6c 20 74 6f 20 30 0d 0a 09 6d 6f 76 09 61 2c 6d 0d 0a   ┆ message at h,l to 0   mov a,m  ┆
0x0a3fa0…0a3fc0             09 6f 72 61 09 61 09 3b 7a 65 72 6f 3f 0d 0a 09 72 7a 0d 0a 3b 09 6d 6f 72 65 20 74 6f 20 70 72   ┆ ora a ;zero?   rz  ; more to pr┆
0x0a3fc0…0a3fe0             69 6e 74 0d 0a 09 70 75 73 68 09 68 0d 0a 09 6d 6f 76 09 63 2c 61 0d 0a 09 63 61 6c 6c 09 63 6f   ┆int   push h   mov c,a   call co┆
0x0a3fe0…0a4000             6e 6f 75 74 0d 0a 09 70 6f 70 09 68 0d 0a 09 69 6e 78 09 68 0d 0a 09 6a 6d 70 09 70 72 6d 73 67   ┆nout   pop h   inx h   jmp prmsg┆
0x0a4000…0a4020 (43, 1, 8)  75 6e 69 74 20 6e 6f 74 20 72 65 61 64 79 0d 0a 09 72 61 72 0d 0a 09 61 6e 69 09 31 31 31 31 31   ┆unit not ready   rar   ani 11111┆
0x0a4020…0a4040             31 31 30 62 09 3b 61 6e 79 20 6f 74 68 65 72 20 65 72 72 6f 72 73 3f 20 20 28 64 65 6c 65 74 65   ┆110b ;any other errors?  (delete┆
0x0a4040…0a4060             64 20 64 61 74 61 20 6f 6b 29 0d 0a 09 6a 6e 7a 09 77 65 72 72 6f 72 0d 0a 3b 0d 0a 3b 09 72 65   ┆d data ok)   jnz werror  ;  ; re┆
0x0a4060…0a4080             61 64 20 6f 72 20 77 72 69 74 65 20 69 73 20 6f 6b 2c 20 61 63 63 75 6d 75 6c 61 74 6f 72 20 63   ┆ad or write is ok, accumulator c┆
0x0a4080…0a40a0             6f 6e 74 61 69 6e 73 20 7a 65 72 6f 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 77 72 65 61 64 79 3a 09 3b   ┆ontains zero   ret  ;  wready: ;┆
0x0a40a0…0a40c0             6e 6f 74 20 72 65 61 64 79 2c 20 74 72 65 61 74 20 61 73 20 65 72 72 6f 72 20 66 6f 72 20 6e 6f   ┆not ready, treat as error for no┆
0x0a40c0…0a40e0             77 0d 0a 09 63 61 6c 6c 09 69 6e 62 79 74 65 09 09 3b 63 6c 65 61 72 20 72 65 73 75 6c 74 20 62   ┆w   call inbyte  ;clear result b┆
0x0a40e0…0a4100             79 74 65 0d 0a 09 6a 6d 70 09 74 72 79 63 6f 75 6e 74 0d 0a 3b 0d 0a 77 65 72 72 6f 72 3a 09 3b   ┆yte   jmp trycount  ;  werror: ;┆
0x0a4100…0a4120             72 65 74 75 72 6e 20 68 61 72 64 77 61 72 65 20 6d 61 6c 66 75 6e 63 74 69 6f 6e 20 28 63 72 63   ┆return hardware malfunction (crc┆
0x0a4120…0a4140             2c 20 74 72 61 63 6b 2c 20 73 65 65 6b 2c 20 65 74 63 2e 29 0d 0a 3b 09 74 68 65 20 6d 64 73 20   ┆, track, seek, etc.)  ; the mds ┆
0x0a4140…0a4160             63 6f 6e 74 72 6f 6c 6c 65 72 20 68 61 73 20 72 65 74 75 72 6e 65 64 20 61 20 62 69 74 20 69 6e   ┆controller has returned a bit in┆
0x0a4160…0a4180             20 65 61 63 68 20 70 6f 73 69 74 69 6f 6e 0d 0a 3b 09 6f 66 20 74 68 65 20 61 63 63 75 6d 75 6c   ┆ each position  ; of the accumul┆
0x0a4180…0a41a0             61 74 6f 72 2c 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 74 6f 20 74 68 65 20 63 6f 6e 64 69   ┆ator, corresponding to the condi┆
0x0a41a0…0a41c0             74 69 6f 6e 73 3a 0d 0a 3b 09 30 09 2d 20 64 65 6c 65 74 65 64 20 64 61 74 61 20 28 61 63 63 65   ┆tions:  ; 0 - deleted data (acce┆
0x0a41c0…0a41e0             70 74 65 64 20 61 73 20 6f 6b 20 61 62 6f 76 65 29 0d 0a 3b 09 31 09 2d 20 63 72 63 20 65 72 72   ┆pted as ok above)  ; 1 - crc err┆
0x0a41e0…0a4200             6f 72 0d 0a 3b 09 32 09 2d 20 73 65 65 6b 20 65 72 72 6f 72 0d 0a 3b 09 33 09 2d 20 61 64 64 72   ┆or  ; 2 - seek error  ; 3 - addr┆
0x0a4200…0a4220 (43, 1, 9)  69 74 68 20 74 72 61 63 6b 20 30 0d 0a 09 6d 76 69 09 63 2c 32 09 3b 73 74 61 72 74 20 72 65 61   ┆ith track 0   mvi c,2 ;start rea┆
0x0a4220…0a4240             64 69 6e 67 20 73 65 63 74 6f 72 20 32 0d 0a 09 63 61 6c 6c 09 73 65 74 73 65 63 0d 0a 3b 0d 0a   ┆ding sector 2   call setsec  ;  ┆
0x0a4240…0a4260             3b 09 72 65 61 64 20 73 65 63 74 6f 72 73 2c 20 63 6f 75 6e 74 20 6e 73 65 63 74 73 20 74 6f 20   ┆; read sectors, count nsects to ┆
0x0a4260…0a4280             7a 65 72 6f 0d 0a 09 70 6f 70 09 62 09 3b 31 30 2d 65 72 72 6f 72 20 63 6f 75 6e 74 0d 0a 09 6d   ┆zero   pop b ;10-error count   m┆
0x0a4280…0a42a0             76 69 09 62 2c 6e 73 65 63 74 73 0d 0a 72 64 73 65 63 3a 09 3b 72 65 61 64 20 6e 65 78 74 20 73   ┆vi b,nsects  rdsec: ;read next s┆
0x0a42a0…0a42c0             65 63 74 6f 72 0d 0a 09 70 75 73 68 09 62 09 3b 73 61 76 65 20 73 65 63 74 6f 72 20 63 6f 75 6e   ┆ector   push b ;save sector coun┆
0x0a42c0…0a42e0             74 0d 0a 09 63 61 6c 6c 09 72 65 61 64 0d 0a 09 6a 6e 7a 09 62 6f 6f 74 65 72 72 09 3b 72 65 74   ┆t   call read   jnz booterr ;ret┆
0x0a42e0…0a4300             72 79 20 69 66 20 65 72 72 6f 72 73 20 6f 63 63 75 72 0d 0a 09 6c 68 6c 64 09 69 6f 64 09 3b 69   ┆ry if errors occur   lhld iod ;i┆
0x0a4300…0a4320             6e 63 72 65 6d 65 6e 74 20 64 6d 61 20 61 64 64 72 65 73 73 0d 0a 09 6c 78 69 09 64 2c 31 32 38   ┆ncrement dma address   lxi d,128┆
0x0a4320…0a4340             09 3b 73 65 63 74 6f 72 20 73 69 7a 65 0d 0a 09 64 61 64 09 64 09 3b 69 6e 63 72 65 6d 65 6e 74   ┆ ;sector size   dad d ;increment┆
0x0a4340…0a4360             65 64 20 64 6d 61 20 61 64 64 72 65 73 73 20 69 6e 20 68 6c 0d 0a 09 6d 6f 76 09 62 2c 68 0d 0a   ┆ed dma address in hl   mov b,h  ┆
0x0a4360…0a4380             09 6d 6f 76 09 63 2c 6c 09 3b 72 65 61 64 79 20 66 6f 72 20 63 61 6c 6c 20 74 6f 20 73 65 74 20   ┆ mov c,l ;ready for call to set ┆
0x0a4380…0a43a0             64 6d 61 0d 0a 09 63 61 6c 6c 09 73 65 74 64 6d 61 0d 0a 09 6c 64 61 09 69 6f 73 09 3b 73 65 63   ┆dma   call setdma   lda ios ;sec┆
0x0a43a0…0a43c0             74 6f 72 20 6e 75 6d 62 65 72 20 6a 75 73 74 20 72 65 61 64 0d 0a 09 63 70 69 09 32 36 09 3b 72   ┆tor number just read   cpi 26 ;r┆
0x0a43c0…0a43e0             65 61 64 20 6c 61 73 74 20 73 65 63 74 6f 72 3f 0d 0a 09 6a 63 09 72 64 31 0d 0a 3b 09 6d 75 73   ┆ead last sector?   jc rd1  ; mus┆
0x0a43e0…0a4400             74 20 62 65 20 73 65 63 74 6f 72 20 32 36 2c 20 7a 65 72 6f 20 61 6e 64 20 67 6f 20 74 6f 20 6e   ┆t be sector 26, zero and go to n┆
0x0a4400…0a4420 (43, 1, 10) 0d 0a 6c 69 73 74 3a 09 3b 6c 69 73 74 20 64 65 76 69 63 65 20 6f 75 74 0d 0a 3b 09 28 65 78 61   ┆  list: ;list device out  ; (exa┆
0x0a4420…0a4440             63 74 6c 79 20 74 68 65 20 73 61 6d 65 20 61 73 20 6d 64 73 20 63 61 6c 6c 29 0d 0a 09 6a 6d 70   ┆ctly the same as mds call)   jmp┆
0x0a4440…0a4460             09 6c 6f 0d 0a 3b 0d 0a 6c 69 73 74 73 74 3a 0d 0a 09 3b 72 65 74 75 72 6e 20 6c 69 73 74 20 73   ┆ lo  ;  listst:   ;return list s┆
0x0a4460…0a4480             74 61 74 75 73 0d 0a 09 78 72 61 09 61 0d 0a 09 72 65 74 09 09 3b 61 6c 77 61 79 73 20 6e 6f 74   ┆tatus   xra a   ret  ;always not┆
0x0a4480…0a44a0             20 72 65 61 64 79 0d 0a 3b 0d 0a 70 75 6e 63 68 3a 09 3b 70 75 6e 63 68 20 64 65 76 69 63 65 20   ┆ ready  ;  punch: ;punch device ┆
0x0a44a0…0a44c0             6f 75 74 0d 0a 3b 09 28 65 78 61 63 74 6c 79 20 74 68 65 20 73 61 6d 65 20 61 73 20 6d 64 73 20   ┆out  ; (exactly the same as mds ┆
0x0a44c0…0a44e0             63 61 6c 6c 29 0d 0a 09 6a 6d 70 09 70 6f 0d 0a 3b 0d 0a 72 65 61 64 65 72 3a 09 3b 72 65 61 64   ┆call)   jmp po  ;  reader: ;read┆
0x0a44e0…0a4500             65 72 20 63 68 61 72 61 63 74 65 72 20 69 6e 20 74 6f 20 72 65 67 2d 61 0d 0a 3b 09 28 65 78 61   ┆er character in to reg-a  ; (exa┆
0x0a4500…0a4520             63 74 6c 79 20 74 68 65 20 73 61 6d 65 20 61 73 20 6d 64 73 20 63 61 6c 6c 29 0d 0a 09 6a 6d 70   ┆ctly the same as mds call)   jmp┆
0x0a4520…0a4540             09 72 69 0d 0a 3b 0d 0a 68 6f 6d 65 3a 09 3b 6d 6f 76 65 20 74 6f 20 68 6f 6d 65 20 70 6f 73 69   ┆ ri  ;  home: ;move to home posi┆
0x0a4540…0a4560             74 69 6f 6e 0d 0a 3b 09 74 72 65 61 74 20 61 73 20 74 72 61 63 6b 20 30 30 20 73 65 65 6b 0d 0a   ┆tion  ; treat as track 00 seek  ┆
0x0a4560…0a4580             09 6d 76 69 09 63 2c 30 0d 0a 09 6a 6d 70 09 73 65 74 74 72 6b 0d 0a 3b 0d 0a 73 65 6c 64 73 6b   ┆ mvi c,0   jmp settrk  ;  seldsk┆
0x0a4580…0a45a0             3a 09 3b 73 65 6c 65 63 74 20 64 69 73 6b 20 67 69 76 65 6e 20 62 79 20 72 65 67 69 73 74 65 72   ┆: ;select disk given by register┆
0x0a45a0…0a45c0             20 63 0d 0a 09 6c 78 69 09 68 2c 30 30 30 30 68 09 3b 72 65 74 75 72 6e 20 30 30 30 30 20 69 66   ┆ c   lxi h,0000h ;return 0000 if┆
0x0a45c0…0a45e0             20 65 72 72 6f 72 0d 0a 09 6d 6f 76 09 61 2c 63 0d 0a 09 63 70 69 09 6e 64 69 73 6b 73 09 3b 74   ┆ error   mov a,c   cpi ndisks ;t┆
0x0a45e0…0a4600             6f 6f 20 6c 61 72 67 65 3f 0d 0a 09 72 6e 63 09 09 3b 6c 65 61 76 65 20 48 4c 20 3d 20 30 30 30   ┆oo large?   rnc  ;leave HL = 000┆
0x0a4600…0a4620 (43, 1, 11) 0d 0a 3b 0d 0a 73 65 74 66 75 6e 63 3a 0d 0a 3b 09 73 65 74 20 66 75 6e 63 74 69 6f 6e 20 66 6f   ┆  ;  setfunc:  ; set function fo┆
0x0a4620…0a4640             72 20 6e 65 78 74 20 69 2f 6f 20 28 63 6f 6d 6d 61 6e 64 20 69 6e 20 72 65 67 2d 63 29 0d 0a 09   ┆r next i/o (command in reg-c)   ┆
0x0a4640…0a4660             6c 78 69 09 68 2c 69 6f 66 09 3b 69 6f 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 72 65 73 73 0d 0a   ┆lxi h,iof ;io function address  ┆
0x0a4660…0a4680             09 6d 6f 76 09 61 2c 6d 09 3b 67 65 74 20 69 74 20 74 6f 20 61 63 63 75 6d 75 6c 61 74 6f 72 20   ┆ mov a,m ;get it to accumulator ┆
0x0a4680…0a46a0             66 6f 72 20 6d 61 73 6b 69 6e 67 0d 0a 09 61 6e 69 09 31 31 31 31 31 30 30 30 62 09 3b 72 65 6d   ┆for masking   ani 11111000b ;rem┆
0x0a46a0…0a46c0             6f 76 65 20 70 72 65 76 69 6f 75 73 20 63 6f 6d 6d 61 6e 64 0d 0a 09 6f 72 61 09 63 09 3b 73 65   ┆ove previous command   ora c ;se┆
0x0a46c0…0a46e0             74 20 74 6f 20 6e 65 77 20 63 6f 6d 6d 61 6e 64 0d 0a 09 6d 6f 76 09 6d 2c 61 09 3b 72 65 70 6c   ┆t to new command   mov m,a ;repl┆
0x0a46e0…0a4700             61 63 65 64 20 69 6e 20 69 6f 70 62 0d 0a 3b 09 74 68 65 20 6d 64 73 2d 38 30 30 20 63 6f 6e 74   ┆aced in iopb  ; the mds-800 cont┆
0x0a4700…0a4720             72 6f 6c 6c 65 72 20 72 65 71 75 69 72 65 73 20 64 69 73 6b 20 62 61 6e 6b 20 62 69 74 20 69 6e   ┆roller requires disk bank bit in┆
0x0a4720…0a4740             20 73 65 63 74 6f 72 20 62 79 74 65 0d 0a 3b 09 6d 61 73 6b 20 74 68 65 20 62 69 74 20 66 72 6f   ┆ sector byte  ; mask the bit fro┆
0x0a4740…0a4760             6d 20 74 68 65 20 63 75 72 72 65 6e 74 20 69 2f 6f 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 61 6e 69   ┆m the current i/o function   ani┆
0x0a4760…0a4780             09 30 30 31 30 30 30 30 30 62 09 3b 6d 61 73 6b 20 74 68 65 20 64 69 73 6b 20 73 65 6c 65 63 74   ┆ 00100000b ;mask the disk select┆
0x0a4780…0a47a0             20 62 69 74 0d 0a 09 6c 78 69 09 68 2c 69 6f 73 09 09 3b 61 64 64 72 65 73 73 20 74 68 65 20 73   ┆ bit   lxi h,ios  ;address the s┆
0x0a47a0…0a47c0             65 63 74 6f 72 20 73 65 6c 65 63 74 20 62 79 74 65 0d 0a 09 6f 72 61 09 6d 09 09 3b 73 65 6c 65   ┆ector select byte   ora m  ;sele┆
0x0a47c0…0a47e0             63 74 20 70 72 6f 70 65 72 20 64 69 73 6b 20 62 61 6e 6b 0d 0a 09 6d 6f 76 09 6d 2c 61 09 09 3b   ┆ct proper disk bank   mov m,a  ;┆
0x0a47e0…0a4800             73 65 74 20 64 69 73 6b 20 73 65 6c 65 63 74 20 62 69 74 20 6f 6e 2f 6f 66 66 0d 0a 09 72 65 74   ┆set disk select bit on/off   ret┆
0x0a4800…0a4820 (43, 1, 12) 65 73 73 20 65 72 72 6f 72 20 28 68 61 72 64 77 61 72 65 20 6d 61 6c 66 75 6e 63 74 69 6f 6e 29   ┆ess error (hardware malfunction)┆
0x0a4820…0a4840             0d 0a 3b 09 34 09 2d 20 64 61 74 61 20 6f 76 65 72 2f 75 6e 64 65 72 20 66 6c 6f 77 20 28 68 61   ┆  ; 4 - data over/under flow (ha┆
0x0a4840…0a4860             72 64 77 61 72 65 20 6d 61 6c 66 75 6e 63 74 69 6f 6e 29 0d 0a 3b 09 35 09 2d 20 77 72 69 74 65   ┆rdware malfunction)  ; 5 - write┆
0x0a4860…0a4880             20 70 72 6f 74 65 63 74 20 28 74 72 65 61 74 65 64 20 61 73 20 6e 6f 74 20 72 65 61 64 79 29 0d   ┆ protect (treated as not ready) ┆
0x0a4880…0a48a0             0a 3b 09 36 09 2d 20 77 72 69 74 65 20 65 72 72 6f 72 20 28 68 61 72 64 77 61 72 65 20 6d 61 6c   ┆ ; 6 - write error (hardware mal┆
0x0a48a0…0a48c0             66 75 6e 63 74 69 6f 6e 29 0d 0a 3b 09 37 09 2d 20 6e 6f 74 20 72 65 61 64 79 0d 0a 3b 09 28 61   ┆function)  ; 7 - not ready  ; (a┆
0x0a48c0…0a48e0             63 63 75 6d 75 6c 61 74 6f 72 20 62 69 74 73 20 61 72 65 20 6e 75 6d 62 65 72 65 64 20 37 20 36   ┆ccumulator bits are numbered 7 6┆
0x0a48e0…0a4900             20 35 20 34 20 33 20 32 20 31 20 30 29 0d 0a 3b 0d 0a 3b 09 69 74 20 6d 61 79 20 62 65 20 75 73   ┆ 5 4 3 2 1 0)  ;  ; it may be us┆
0x0a4900…0a4920             65 66 75 6c 20 74 6f 20 66 69 6c 74 65 72 20 6f 75 74 20 74 68 65 20 76 61 72 69 6f 75 73 20 63   ┆eful to filter out the various c┆
0x0a4920…0a4940             6f 6e 64 69 74 69 6f 6e 73 2c 0d 0a 3b 09 62 75 74 20 77 65 20 77 69 6c 6c 20 67 65 74 20 61 20   ┆onditions,  ; but we will get a ┆
0x0a4940…0a4960             70 65 72 6d 61 6e 65 6e 74 20 65 72 72 6f 72 20 6d 65 73 73 61 67 65 20 69 66 20 69 74 20 69 73   ┆permanent error message if it is┆
0x0a4960…0a4980             20 6e 6f 74 0d 0a 3b 09 72 65 63 6f 76 65 72 61 62 6c 65 2e 20 20 69 6e 20 61 6e 79 20 63 61 73   ┆ not  ; recoverable.  in any cas┆
0x0a4980…0a49a0             65 2c 20 74 68 65 20 6e 6f 74 20 72 65 61 64 79 20 63 6f 6e 64 69 74 69 6f 6e 20 69 73 0d 0a 3b   ┆e, the not ready condition is  ;┆
0x0a49a0…0a49c0             09 74 72 65 61 74 65 64 20 61 73 20 61 20 73 65 70 61 72 61 74 65 20 63 6f 6e 64 69 74 69 6f 6e   ┆ treated as a separate condition┆
0x0a49c0…0a49e0             20 66 6f 72 20 6c 61 74 65 72 20 69 6d 70 72 6f 76 65 6d 65 6e 74 0d 0a 74 72 79 63 6f 75 6e 74   ┆ for later improvement  trycount┆
0x0a49e0…0a4a00             3a 0d 0a 3b 09 72 65 67 69 73 74 65 72 20 63 20 63 6f 6e 74 61 69 6e 73 20 72 65 74 72 79 20 63   ┆:  ; register c contains retry c┆
0x0a4a00…0a4a20 (43, 1, 13) 65 78 74 20 74 72 61 63 6b 0d 0a 09 6c 64 61 09 69 6f 74 09 3b 67 65 74 20 74 72 61 63 6b 20 74   ┆ext track   lda iot ;get track t┆
0x0a4a20…0a4a40             6f 20 72 65 67 69 73 74 65 72 20 61 0d 0a 09 69 6e 72 09 61 0d 0a 09 6d 6f 76 09 63 2c 61 09 3b   ┆o register a   inr a   mov c,a ;┆
0x0a4a40…0a4a60             72 65 61 64 79 20 66 6f 72 20 63 61 6c 6c 0d 0a 09 63 61 6c 6c 09 73 65 74 74 72 6b 0d 0a 09 78   ┆ready for call   call settrk   x┆
0x0a4a60…0a4a80             72 61 09 61 09 3b 63 6c 65 61 72 20 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 0d 0a 72 64 31 3a 09   ┆ra a ;clear sector number  rd1: ┆
0x0a4a80…0a4aa0             69 6e 72 09 61 09 3b 74 6f 20 6e 65 78 74 20 73 65 63 74 6f 72 0d 0a 09 6d 6f 76 09 63 2c 61 09   ┆inr a ;to next sector   mov c,a ┆
0x0a4aa0…0a4ac0             3b 72 65 61 64 79 20 66 6f 72 20 63 61 6c 6c 0d 0a 09 63 61 6c 6c 09 73 65 74 73 65 63 0d 0a 09   ┆;ready for call   call setsec   ┆
0x0a4ac0…0a4ae0             70 6f 70 09 62 09 3b 72 65 63 61 6c 6c 20 73 65 63 74 6f 72 20 63 6f 75 6e 74 0d 0a 09 64 63 72   ┆pop b ;recall sector count   dcr┆
0x0a4ae0…0a4b00             09 62 09 3b 64 6f 6e 65 3f 0d 0a 09 6a 6e 7a 09 72 64 73 65 63 0d 0a 3b 0d 0a 3b 09 64 6f 6e 65   ┆ b ;done?   jnz rdsec  ;  ; done┆
0x0a4b00…0a4b20             20 77 69 74 68 20 74 68 65 20 6c 6f 61 64 2c 20 72 65 73 65 74 20 64 65 66 61 75 6c 74 20 62 75   ┆ with the load, reset default bu┆
0x0a4b20…0a4b40             66 66 65 72 20 61 64 64 72 65 73 73 0d 0a 67 6f 63 70 6d 3a 09 3b 28 65 6e 74 65 72 20 68 65 72   ┆ffer address  gocpm: ;(enter her┆
0x0a4b40…0a4b60             65 20 66 72 6f 6d 20 63 6f 6c 64 20 73 74 61 72 74 20 62 6f 6f 74 29 0d 0a 3b 09 65 6e 61 62 6c   ┆e from cold start boot)  ; enabl┆
0x0a4b60…0a4b80             65 20 72 73 74 30 20 61 6e 64 20 72 73 74 37 0d 0a 09 64 69 0d 0a 09 6d 76 69 09 61 2c 31 32 68   ┆e rst0 and rst7   di   mvi a,12h┆
0x0a4b80…0a4ba0             09 3b 69 6e 69 74 69 61 6c 69 7a 65 20 63 6f 6d 6d 61 6e 64 0d 0a 09 6f 75 74 09 72 65 76 72 74   ┆ ;initialize command   out revrt┆
0x0a4ba0…0a4bc0             0d 0a 09 78 72 61 09 61 0d 0a 09 6f 75 74 09 69 6e 74 63 09 3b 63 6c 65 61 72 65 64 0d 0a 09 6d   ┆   xra a   out intc ;cleared   m┆
0x0a4bc0…0a4be0             76 69 09 61 2c 69 6e 74 65 09 3b 72 73 74 30 20 61 6e 64 20 72 73 74 37 20 62 69 74 73 20 6f 6e   ┆vi a,inte ;rst0 and rst7 bits on┆
0x0a4be0…0a4c00             0d 0a 09 6f 75 74 09 69 6e 74 63 0d 0a 09 78 72 61 09 61 0d 0a 09 6f 75 74 09 69 63 6f 6e 09 3b   ┆   out intc   xra a   out icon ;┆
0x0a4c00…0a4c20 (43, 1, 14) 30 0d 0a 3b 0d 0a 09 61 6e 69 09 31 30 62 09 3b 30 30 20 30 30 20 66 6f 72 20 64 72 69 76 65 20   ┆0  ;   ani 10b ;00 00 for drive ┆
0x0a4c20…0a4c40             30 2c 31 20 61 6e 64 20 31 30 20 31 30 20 66 6f 72 20 64 72 69 76 65 20 32 2c 33 0d 0a 09 73 74   ┆0,1 and 10 10 for drive 2,3   st┆
0x0a4c40…0a4c60             61 09 64 62 61 6e 6b 09 3b 74 6f 20 73 65 6c 65 63 74 20 64 72 69 76 65 20 62 61 6e 6b 0d 0a 09   ┆a dbank ;to select drive bank   ┆
0x0a4c60…0a4c80             6d 6f 76 09 61 2c 63 09 3b 30 30 2c 20 30 31 2c 20 31 30 2c 20 31 31 0d 0a 09 61 6e 69 09 31 62   ┆mov a,c ;00, 01, 10, 11   ani 1b┆
0x0a4c80…0a4ca0             09 3b 6d 64 73 20 68 61 73 20 30 2c 31 20 61 74 20 37 38 2c 20 32 2c 33 20 61 74 20 38 38 0d 0a   ┆ ;mds has 0,1 at 78, 2,3 at 88  ┆
0x0a4ca0…0a4cc0             09 6f 72 61 09 61 09 3b 72 65 73 75 6c 74 20 30 30 3f 0d 0a 09 6a 7a 09 73 65 74 64 72 69 76 65   ┆ ora a ;result 00?   jz setdrive┆
0x0a4cc0…0a4ce0             0d 0a 09 6d 76 69 09 61 2c 30 30 31 31 30 30 30 30 62 09 3b 73 65 6c 65 63 74 73 20 64 72 69 76   ┆   mvi a,00110000b ;selects driv┆
0x0a4ce0…0a4d00             65 20 31 20 69 6e 20 62 61 6e 6b 0d 0a 73 65 74 64 72 69 76 65 3a 0d 0a 09 6d 6f 76 09 62 2c 61   ┆e 1 in bank  setdrive:   mov b,a┆
0x0a4d00…0a4d20             09 3b 73 61 76 65 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 6c 78 69 09 68 2c 69 6f 66 09   ┆ ;save the function   lxi h,iof ┆
0x0a4d20…0a4d40             3b 69 6f 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 6d 6f 76 09 61 2c 6d 0d 0a 09 61 6e 69 09 31 31 30   ┆;io function   mov a,m   ani 110┆
0x0a4d40…0a4d60             30 31 31 31 31 62 09 3b 6d 61 73 6b 20 6f 75 74 20 64 69 73 6b 20 6e 75 6d 62 65 72 0d 0a 09 6f   ┆01111b ;mask out disk number   o┆
0x0a4d60…0a4d80             72 61 09 62 09 3b 6d 61 73 6b 20 69 6e 20 6e 65 77 20 64 69 73 6b 20 6e 75 6d 62 65 72 0d 0a 09   ┆ra b ;mask in new disk number   ┆
0x0a4d80…0a4da0             6d 6f 76 09 6d 2c 61 09 3b 73 61 76 65 20 69 74 20 69 6e 20 69 6f 70 62 0d 0a 09 6d 6f 76 09 6c   ┆mov m,a ;save it in iopb   mov l┆
0x0a4da0…0a4dc0             2c 63 0d 0a 09 6d 76 69 09 68 2c 30 09 3b 48 4c 3d 64 69 73 6b 20 6e 75 6d 62 65 72 0d 0a 09 64   ┆,c   mvi h,0 ;HL=disk number   d┆
0x0a4dc0…0a4de0             61 64 09 68 09 3b 2a 32 0d 0a 09 64 61 64 09 68 09 3b 2a 34 0d 0a 09 64 61 64 09 68 09 3b 2a 38   ┆ad h ;*2   dad h ;*4   dad h ;*8┆
0x0a4de0…0a4e00             0d 0a 09 64 61 64 09 68 09 3b 2a 31 36 0d 0a 09 6c 78 69 09 64 2c 64 70 62 61 73 65 0d 0a 09 64   ┆   dad h ;*16   lxi d,dpbase   d┆
0x0a4e00…0a4e20 (43, 1, 15) 0d 0a 3b 0d 0a 77 61 69 74 69 6f 3a 0d 0a 09 6d 76 69 09 63 2c 72 65 74 72 79 09 3b 6d 61 78 20   ┆  ;  waitio:   mvi c,retry ;max ┆
0x0a4e20…0a4e40             72 65 74 72 69 65 73 20 62 65 66 6f 72 65 20 70 65 72 6d 20 65 72 72 6f 72 0d 0a 72 65 77 61 69   ┆retries before perm error  rewai┆
0x0a4e40…0a4e60             74 3a 0d 0a 3b 09 73 74 61 72 74 20 74 68 65 20 69 2f 6f 20 66 75 6e 63 74 69 6f 6e 20 61 6e 64   ┆t:  ; start the i/o function and┆
0x0a4e60…0a4e80             20 77 61 69 74 20 66 6f 72 20 63 6f 6d 70 6c 65 74 69 6f 6e 0d 0a 09 63 61 6c 6c 09 69 6e 74 79   ┆ wait for completion   call inty┆
0x0a4e80…0a4ea0             70 65 09 3b 69 6e 20 72 74 79 70 65 0d 0a 09 63 61 6c 6c 09 69 6e 62 79 74 65 09 3b 63 6c 65 61   ┆pe ;in rtype   call inbyte ;clea┆
0x0a4ea0…0a4ec0             72 73 20 74 68 65 20 63 6f 6e 74 72 6f 6c 6c 65 72 0d 0a 3b 0d 0a 09 6c 64 61 09 64 62 61 6e 6b   ┆rs the controller  ;   lda dbank┆
0x0a4ec0…0a4ee0             09 09 3b 73 65 74 20 62 61 6e 6b 20 66 6c 61 67 73 0d 0a 09 6f 72 61 09 61 09 09 3b 7a 65 72 6f   ┆  ;set bank flags   ora a  ;zero┆
0x0a4ee0…0a4f00             20 69 66 20 64 72 69 76 65 20 30 2c 31 20 61 6e 64 20 6e 7a 20 69 66 20 32 2c 33 0d 0a 09 6d 76   ┆ if drive 0,1 and nz if 2,3   mv┆
0x0a4f00…0a4f20             69 09 61 2c 69 6f 70 62 20 61 6e 64 20 30 66 66 68 09 3b 6c 6f 77 20 61 64 64 72 65 73 73 20 66   ┆i a,iopb and 0ffh ;low address f┆
0x0a4f20…0a4f40             6f 72 20 69 6f 70 62 0d 0a 09 6d 76 69 09 62 2c 69 6f 70 62 20 73 68 72 20 38 09 3b 68 69 67 68   ┆or iopb   mvi b,iopb shr 8 ;high┆
0x0a4f40…0a4f60             20 61 64 64 72 65 73 73 20 66 6f 72 20 69 6f 70 62 0d 0a 09 6a 6e 7a 09 69 6f 64 72 31 09 3b 64   ┆ address for iopb   jnz iodr1 ;d┆
0x0a4f60…0a4f80             72 69 76 65 20 62 61 6e 6b 20 31 3f 0d 0a 09 6f 75 74 09 69 6c 6f 77 09 09 3b 6c 6f 77 20 61 64   ┆rive bank 1?   out ilow  ;low ad┆
0x0a4f80…0a4fa0             64 72 65 73 73 20 74 6f 20 63 6f 6e 74 72 6f 6c 6c 65 72 0d 0a 09 6d 6f 76 09 61 2c 62 0d 0a 09   ┆dress to controller   mov a,b   ┆
0x0a4fa0…0a4fc0             6f 75 74 09 69 68 69 67 68 09 3b 68 69 67 68 20 61 64 64 72 65 73 73 0d 0a 09 6a 6d 70 09 77 61   ┆out ihigh ;high address   jmp wa┆
0x0a4fc0…0a4fe0             69 74 30 09 09 3b 74 6f 20 77 61 69 74 20 66 6f 72 20 63 6f 6d 70 6c 65 74 65 0d 0a 3b 0d 0a 69   ┆it0  ;to wait for complete  ;  i┆
0x0a4fe0…0a5000             6f 64 72 31 3a 09 3b 64 72 69 76 65 20 62 61 6e 6b 20 31 0d 0a 09 6f 75 74 09 69 6c 6f 77 2b 31   ┆odr1: ;drive bank 1   out ilow+1┆
0x0a5000…0a5020 (44, 0, 1)  6f 75 6e 74 2c 20 64 65 63 72 65 6d 65 6e 74 20 27 74 69 6c 20 7a 65 72 6f 0d 0a 09 64 63 72 09   ┆ount, decrement 'til zero   dcr ┆
0x0a5020…0a5040             63 0d 0a 09 6a 6e 7a 09 72 65 77 61 69 74 09 3b 66 6f 72 20 61 6e 6f 74 68 65 72 20 74 72 79 0d   ┆c   jnz rewait ;for another try ┆
0x0a5040…0a5060             0a 3b 0d 0a 3b 09 63 61 6e 6e 6f 74 20 72 65 63 6f 76 65 72 20 66 72 6f 6d 20 65 72 72 6f 72 0d   ┆ ;  ; cannot recover from error ┆
0x0a5060…0a5080             0a 09 6d 76 69 09 61 2c 31 09 3b 65 72 72 6f 72 20 63 6f 64 65 0d 0a 09 72 65 74 0d 0a 3b 0d 0a   ┆  mvi a,1 ;error code   ret  ;  ┆
0x0a5080…0a50a0             3b 09 69 6e 74 79 70 65 2c 20 69 6e 62 79 74 65 2c 20 69 6e 73 74 61 74 20 72 65 61 64 20 64 72   ┆; intype, inbyte, instat read dr┆
0x0a50a0…0a50c0             69 76 65 20 62 61 6e 6b 20 30 30 20 6f 72 20 31 30 0d 0a 69 6e 74 79 70 65 3a 09 6c 64 61 09 64   ┆ive bank 00 or 10  intype: lda d┆
0x0a50c0…0a50e0             62 61 6e 6b 0d 0a 09 6f 72 61 09 61 0d 0a 09 6a 6e 7a 09 69 6e 74 79 70 31 09 3b 73 6b 69 70 20   ┆bank   ora a   jnz intyp1 ;skip ┆
0x0a50e0…0a5100             74 6f 20 62 61 6e 6b 20 31 30 0d 0a 09 69 6e 09 72 74 79 70 65 0d 0a 09 72 65 74 0d 0a 69 6e 74   ┆to bank 10   in rtype   ret  int┆
0x0a5100…0a5120             79 70 31 3a 09 69 6e 09 72 74 79 70 65 2b 31 30 68 09 3b 37 38 20 66 6f 72 20 30 2c 31 20 20 38   ┆yp1: in rtype+10h ;78 for 0,1  8┆
0x0a5120…0a5140             38 20 66 6f 72 20 32 2c 33 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 69 6e 62 79 74 65 3a 09 6c 64 61 09   ┆8 for 2,3   ret  ;  inbyte: lda ┆
0x0a5140…0a5160             64 62 61 6e 6b 0d 0a 09 6f 72 61 09 61 0d 0a 09 6a 6e 7a 09 69 6e 62 79 74 31 0d 0a 09 69 6e 09   ┆dbank   ora a   jnz inbyt1   in ┆
0x0a5160…0a5180             72 62 79 74 65 0d 0a 09 72 65 74 0d 0a 69 6e 62 79 74 31 3a 09 69 6e 09 72 62 79 74 65 2b 31 30   ┆rbyte   ret  inbyt1: in rbyte+10┆
0x0a5180…0a51a0             68 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 69 6e 73 74 61 74 3a 09 6c 64 61 09 64 62 61 6e 6b 0d 0a 09   ┆h   ret  ;  instat: lda dbank   ┆
0x0a51a0…0a51c0             6f 72 61 09 61 0d 0a 09 6a 6e 7a 09 69 6e 73 74 61 31 0d 0a 09 69 6e 09 64 73 74 61 74 0d 0a 09   ┆ora a   jnz insta1   in dstat   ┆
0x0a51c0…0a51e0             72 65 74 0d 0a 69 6e 73 74 61 31 3a 09 69 6e 09 64 73 74 61 74 2b 31 30 68 0d 0a 09 72 65 74 0d   ┆ret  insta1: in dstat+10h   ret ┆
0x0a51e0…0a5200             0a 3b 0d 0a 3b 0d 0a 3b 0d 0a 3b 09 64 61 74 61 20 61 72 65 61 73 20 28 6d 75 73 74 20 62 65 20   ┆ ;  ;  ;  ; data areas (must be ┆
0x0a5200…0a5220 (44, 0, 2)  6f 75 74 09 63 6f 6e 73 6f 6c 65 20 63 68 61 72 61 63 74 65 72 20 6f 75 74 20 28 63 68 61 72 20   ┆out console character out (char ┆
0x0a5220…0a5240             69 6e 20 72 65 67 2d 63 29 0d 0a 3b 09 6c 69 73 74 09 6c 69 73 74 20 6f 75 74 20 28 63 68 61 72   ┆in reg-c)  ; list list out (char┆
0x0a5240…0a5260             20 69 6e 20 72 65 67 2d 63 29 0d 0a 3b 09 70 75 6e 63 68 09 70 75 6e 63 68 20 6f 75 74 20 28 63   ┆ in reg-c)  ; punch punch out (c┆
0x0a5260…0a5280             68 61 72 20 69 6e 20 72 65 67 2d 63 29 0d 0a 3b 09 72 65 61 64 65 72 09 70 61 70 65 72 20 74 61   ┆har in reg-c)  ; reader paper ta┆
0x0a5280…0a52a0             70 65 20 72 65 61 64 65 72 20 69 6e 20 28 72 65 73 75 6c 74 20 74 6f 20 72 65 67 2d 61 29 0d 0a   ┆pe reader in (result to reg-a)  ┆
0x0a52a0…0a52c0             3b 09 68 6f 6d 65 09 6d 6f 76 65 20 74 6f 20 74 72 61 63 6b 20 30 30 0d 0a 3b 0d 0a 3b 09 28 74   ┆; home move to track 00  ;  ; (t┆
0x0a52c0…0a52e0             68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 61 6c 6c 73 20 73 65 74 2d 75 70 20 74 68 65 20 69 6f   ┆he following calls set-up the io┆
0x0a52e0…0a5300             20 70 61 72 61 6d 65 74 65 72 20 62 6c 6f 63 6b 20 66 6f 72 20 74 68 65 0d 0a 3b 09 6d 64 73 2c   ┆ parameter block for the  ; mds,┆
0x0a5300…0a5320             20 77 68 69 63 68 20 69 73 20 75 73 65 64 20 74 6f 20 70 65 72 66 6f 72 6d 20 73 75 62 73 65 71   ┆ which is used to perform subseq┆
0x0a5320…0a5340             75 65 6e 74 20 72 65 61 64 73 20 61 6e 64 20 77 72 69 74 65 73 29 0d 0a 3b 09 73 65 6c 64 73 6b   ┆uent reads and writes)  ; seldsk┆
0x0a5340…0a5360             09 73 65 6c 65 63 74 20 64 69 73 6b 20 67 69 76 65 6e 20 62 79 20 72 65 67 2d 63 20 28 30 2c 31   ┆ select disk given by reg-c (0,1┆
0x0a5360…0a5380             2c 32 2e 2e 2e 29 0d 0a 3b 09 73 65 74 74 72 6b 09 73 65 74 20 74 72 61 63 6b 20 61 64 64 72 65   ┆,2...)  ; settrk set track addre┆
0x0a5380…0a53a0             73 73 20 28 30 2c 2e 2e 2e 37 36 29 20 66 6f 72 20 73 75 62 73 65 71 75 65 6e 74 20 72 65 61 64   ┆ss (0,...76) for subsequent read┆
0x0a53a0…0a53c0             2f 77 72 69 74 65 0d 0a 3b 09 73 65 74 73 65 63 09 73 65 74 20 73 65 63 74 6f 72 20 61 64 64 72   ┆/write  ; setsec set sector addr┆
0x0a53c0…0a53e0             65 73 73 20 28 31 2c 2e 2e 2e 2c 32 36 29 20 66 6f 72 20 73 75 62 73 65 71 75 65 6e 74 20 72 65   ┆ess (1,...,26) for subsequent re┆
0x0a53e0…0a5400             61 64 2f 77 72 69 74 65 0d 0a 3b 09 73 65 74 64 6d 61 09 73 65 74 20 73 75 62 73 65 71 75 65 6e   ┆ad/write  ; setdma set subsequen┆
0x0a5400…0a5420 (44, 0, 3)  64 65 76 69 63 65 0d 0a 63 73 74 73 09 65 71 75 09 30 66 38 31 32 68 09 3b 63 6f 6e 73 6f 6c 65   ┆device  csts equ 0f812h ;console┆
0x0a5420…0a5440             20 73 74 61 74 75 73 20 30 30 2f 66 66 20 74 6f 20 72 65 67 69 73 74 65 72 20 61 0d 0a 3b 0d 0a   ┆ status 00/ff to register a  ;  ┆
0x0a5440…0a5460             3b 09 64 69 73 6b 20 70 6f 72 74 73 20 61 6e 64 20 63 6f 6d 6d 61 6e 64 73 0d 0a 62 61 73 65 09   ┆; disk ports and commands  base ┆
0x0a5460…0a5480             65 71 75 09 37 38 68 09 3b 62 61 73 65 20 6f 66 20 64 69 73 6b 20 63 6f 6d 6d 61 6e 64 20 69 6f   ┆equ 78h ;base of disk command io┆
0x0a5480…0a54a0             20 70 6f 72 74 73 0d 0a 64 73 74 61 74 09 65 71 75 09 62 61 73 65 09 3b 64 69 73 6b 20 73 74 61   ┆ ports  dstat equ base ;disk sta┆
0x0a54a0…0a54c0             74 75 73 20 28 69 6e 70 75 74 29 0d 0a 72 74 79 70 65 09 65 71 75 09 62 61 73 65 2b 31 09 3b 72   ┆tus (input)  rtype equ base+1 ;r┆
0x0a54c0…0a54e0             65 73 75 6c 74 20 74 79 70 65 20 28 69 6e 70 75 74 29 0d 0a 72 62 79 74 65 09 65 71 75 09 62 61   ┆esult type (input)  rbyte equ ba┆
0x0a54e0…0a5500             73 65 2b 33 09 3b 72 65 73 75 6c 74 20 62 79 74 65 20 28 69 6e 70 75 74 29 0d 0a 3b 0d 0a 69 6c   ┆se+3 ;result byte (input)  ;  il┆
0x0a5500…0a5520             6f 77 09 65 71 75 09 62 61 73 65 2b 31 09 3b 69 6f 70 62 20 6c 6f 77 20 61 64 64 72 65 73 73 20   ┆ow equ base+1 ;iopb low address ┆
0x0a5520…0a5540             28 6f 75 74 70 75 74 29 0d 0a 69 68 69 67 68 09 65 71 75 09 62 61 73 65 2b 32 09 3b 69 6f 70 62   ┆(output)  ihigh equ base+2 ;iopb┆
0x0a5540…0a5560             20 68 69 67 68 20 61 64 64 72 65 73 73 20 28 6f 75 74 70 75 74 29 0d 0a 3b 0d 0a 72 65 61 64 66   ┆ high address (output)  ;  readf┆
0x0a5560…0a5580             09 65 71 75 09 34 68 09 3b 72 65 61 64 20 66 75 6e 63 74 69 6f 6e 0d 0a 77 72 69 74 66 09 65 71   ┆ equ 4h ;read function  writf eq┆
0x0a5580…0a55a0             75 09 36 68 09 3b 77 72 69 74 65 20 66 75 6e 63 74 69 6f 6e 0d 0a 72 65 63 61 6c 09 65 71 75 09   ┆u 6h ;write function  recal equ ┆
0x0a55a0…0a55c0             33 68 09 3b 72 65 63 61 6c 69 62 72 61 74 65 20 64 72 69 76 65 0d 0a 69 6f 72 64 79 09 65 71 75   ┆3h ;recalibrate drive  iordy equ┆
0x0a55c0…0a55e0             09 34 68 09 3b 69 2f 6f 20 66 69 6e 69 73 68 65 64 20 6d 61 73 6b 0d 0a 63 72 09 65 71 75 09 30   ┆ 4h ;i/o finished mask  cr equ 0┆
0x0a55e0…0a5600             64 68 09 3b 63 61 72 72 69 61 67 65 20 72 65 74 75 72 6e 0d 0a 6c 66 09 65 71 75 09 30 61 68 09   ┆dh ;carriage return  lf equ 0ah ┆
0x0a5600…0a5620 (44, 0, 4)  6b 0d 0a 09 78 72 61 09 61 09 3b 63 6c 65 61 72 20 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 0d 0a   ┆k   xra a ;clear sector number  ┆
0x0a5620…0a5640             72 64 31 3a 09 69 6e 72 09 61 09 3b 74 6f 20 6e 65 78 74 20 73 65 63 74 6f 72 0d 0a 09 6d 6f 76   ┆rd1: inr a ;to next sector   mov┆
0x0a5640…0a5660             09 63 2c 61 09 3b 72 65 61 64 79 20 66 6f 72 20 63 61 6c 6c 0d 0a 09 63 61 6c 6c 09 73 65 74 73   ┆ c,a ;ready for call   call sets┆
0x0a5660…0a5680             65 63 0d 0a 09 70 6f 70 09 62 09 3b 72 65 63 61 6c 6c 20 73 65 63 74 6f 72 20 63 6f 75 6e 74 0d   ┆ec   pop b ;recall sector count ┆
0x0a5680…0a56a0             0a 09 64 63 72 09 62 09 3b 64 6f 6e 65 3f 0d 0a 09 6a 6e 7a 09 72 64 73 65 63 0d 0a 3b 0d 0a 3b   ┆  dcr b ;done?   jnz rdsec  ;  ;┆
0x0a56a0…0a56c0             09 64 6f 6e 65 20 77 69 74 68 20 74 68 65 20 6c 6f 61 64 2c 20 72 65 73 65 74 20 64 65 66 61 75   ┆ done with the load, reset defau┆
0x0a56c0…0a56e0             6c 74 20 62 75 66 66 65 72 20 61 64 64 72 65 73 73 0d 0a 67 6f 63 70 6d 3a 09 3b 28 65 6e 74 65   ┆lt buffer address  gocpm: ;(ente┆
0x0a56e0…0a5700             72 20 68 65 72 65 20 66 72 6f 6d 20 63 6f 6c 64 20 73 74 61 72 74 20 62 6f 6f 74 29 0d 0a 3b 09   ┆r here from cold start boot)  ; ┆
0x0a5700…0a5720             65 6e 61 62 6c 65 20 72 73 74 30 20 61 6e 64 20 72 73 74 37 0d 0a 09 64 69 0d 0a 09 6d 76 69 09   ┆enable rst0 and rst7   di   mvi ┆
0x0a5720…0a5740             61 2c 31 32 68 09 3b 69 6e 69 74 69 61 6c 69 7a 65 20 63 6f 6d 6d 61 6e 64 0d 0a 09 6f 75 74 09   ┆a,12h ;initialize command   out ┆
0x0a5740…0a5760             72 65 76 72 74 0d 0a 09 78 72 61 09 61 0d 0a 09 6f 75 74 09 69 6e 74 63 09 3b 63 6c 65 61 72 65   ┆revrt   xra a   out intc ;cleare┆
0x0a5760…0a5780             64 0d 0a 09 6d 76 69 09 61 2c 69 6e 74 65 09 3b 72 73 74 30 20 61 6e 64 20 72 73 74 37 20 62 69   ┆d   mvi a,inte ;rst0 and rst7 bi┆
0x0a5780…0a57a0             74 73 20 6f 6e 0d 0a 09 6f 75 74 09 69 6e 74 63 0d 0a 09 78 72 61 09 61 0d 0a 09 6f 75 74 09 69   ┆ts on   out intc   xra a   out i┆
0x0a57a0…0a57c0             63 6f 6e 09 3b 69 6e 74 65 72 72 75 70 74 20 63 6f 6e 74 72 6f 6c 0d 0a 3b 0d 0a 3b 09 73 65 74   ┆con ;interrupt control  ;  ; set┆
0x0a57c0…0a57e0             20 64 65 66 61 75 6c 74 20 62 75 66 66 65 72 20 61 64 64 72 65 73 73 20 74 6f 20 38 30 68 0d 0a   ┆ default buffer address to 80h  ┆
0x0a57e0…0a5800             09 6c 78 69 09 62 2c 62 75 66 66 0d 0a 09 63 61 6c 6c 09 73 65 74 64 6d 61 0d 0a 3b 0d 0a 3b 09   ┆ lxi b,buff   call setdma  ;  ; ┆
0x0a5800…0a5820 (44, 0, 5)  69 6e 20 72 61 6d 29 0d 0a 64 62 61 6e 6b 3a 09 64 62 09 30 09 3b 64 69 73 6b 20 62 61 6e 6b 20   ┆in ram)  dbank: db 0 ;disk bank ┆
0x0a5820…0a5840             30 30 20 69 66 20 64 72 69 76 65 20 30 2c 31 0d 0a 09 09 09 3b 09 20 20 20 31 30 20 69 66 20 64   ┆00 if drive 0,1     ;    10 if d┆
0x0a5840…0a5860             72 69 76 65 20 32 2c 33 0d 0a 69 6f 70 62 3a 09 3b 69 6f 20 70 61 72 61 6d 65 74 65 72 20 62 6c   ┆rive 2,3  iopb: ;io parameter bl┆
0x0a5860…0a5880             6f 63 6b 0d 0a 09 64 62 09 38 30 68 09 3b 6e 6f 72 6d 61 6c 20 69 2f 6f 20 6f 70 65 72 61 74 69   ┆ock   db 80h ;normal i/o operati┆
0x0a5880…0a58a0             6f 6e 0d 0a 69 6f 66 3a 09 64 62 09 72 65 61 64 66 09 3b 69 6f 20 66 75 6e 63 74 69 6f 6e 2c 20   ┆on  iof: db readf ;io function, ┆
0x0a58a0…0a58c0             69 6e 69 74 69 61 6c 20 72 65 61 64 0d 0a 69 6f 6e 3a 09 64 62 09 31 09 3b 6e 75 6d 62 65 72 20   ┆initial read  ion: db 1 ;number ┆
0x0a58c0…0a58e0             6f 66 20 73 65 63 74 6f 72 73 20 74 6f 20 72 65 61 64 0d 0a 69 6f 74 3a 09 64 62 09 6f 66 66 73   ┆of sectors to read  iot: db offs┆
0x0a58e0…0a5900             65 74 09 3b 74 72 61 63 6b 20 6e 75 6d 62 65 72 0d 0a 69 6f 73 3a 09 64 62 09 31 09 3b 73 65 63   ┆et ;track number  ios: db 1 ;sec┆
0x0a5900…0a5920             74 6f 72 20 6e 75 6d 62 65 72 0d 0a 69 6f 64 3a 09 64 77 09 62 75 66 66 09 3b 69 6f 20 61 64 64   ┆tor number  iod: dw buff ;io add┆
0x0a5920…0a5940             72 65 73 73 0d 0a 3b 0d 0a 3b 0d 0a 3b 09 64 65 66 69 6e 65 20 72 61 6d 20 61 72 65 61 73 20 66   ┆ress  ;  ;  ; define ram areas f┆
0x0a5940…0a5960             6f 72 20 62 64 6f 73 20 6f 70 65 72 61 74 69 6f 6e 0d 0a 09 65 6e 64 65 66 0d 0a 09 65 6e 64 0d   ┆or bdos operation   endef   end ┆
0x0a5960…0a5980             0a 3b 09 4d 44 53 2d 38 30 30 20 49 2f 4f 20 44 72 69 76 65 72 73 20 66 6f 72 20 43 50 2f 4d 20   ┆ ; MDS-800 I/O Drivers for CP/M ┆
0x0a5980…0a59a0             32 2e 32 0d 0a 3b 09 28 66 6f 75 72 20 64 72 69 76 65 20 73 69 6e 67 6c 65 20 64 65 6e 73 69 74   ┆2.2  ; (four drive single densit┆
0x0a59a0…0a59c0             79 20 76 65 72 73 69 6f 6e 29 0d 0a 3b 0d 0a 3b 09 56 65 72 73 69 6f 6e 20 32 2e 32 20 46 65 62   ┆y version)  ;  ; Version 2.2 Feb┆
0x0a59c0…0a59e0             72 75 61 72 79 2c 20 31 39 38 30 0d 0a 3b 0d 0a 76 65 72 73 09 65 71 75 09 32 32 09 3b 76 65 72   ┆ruary, 1980  ;  vers equ 22 ;ver┆
0x0a59e0…0a5a00             73 69 6f 6e 20 32 2e 32 0d 0a 3b 0d 0a 3b 09 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 31 39 38   ┆sion 2.2  ;  ; Copyright (c) 198┆
0x0a5a00…0a5a20 (44, 0, 6)  74 20 64 6d 61 20 61 64 64 72 65 73 73 20 28 69 6e 69 74 69 61 6c 6c 79 20 38 30 68 29 0d 0a 3b   ┆t dma address (initially 80h)  ;┆
0x0a5a20…0a5a40             0d 0a 3b 09 28 72 65 61 64 20 61 6e 64 20 77 72 69 74 65 20 61 73 73 75 6d 65 20 70 72 65 76 69   ┆  ; (read and write assume previ┆
0x0a5a40…0a5a60             6f 75 73 20 63 61 6c 6c 73 20 74 6f 20 73 65 74 20 75 70 20 74 68 65 20 69 6f 20 70 61 72 61 6d   ┆ous calls to set up the io param┆
0x0a5a60…0a5a80             65 74 65 72 73 29 0d 0a 3b 09 72 65 61 64 09 72 65 61 64 20 74 72 61 63 6b 2f 73 65 63 74 6f 72   ┆eters)  ; read read track/sector┆
0x0a5a80…0a5aa0             20 74 6f 20 70 72 65 73 65 74 20 64 6d 61 20 61 64 64 72 65 73 73 0d 0a 3b 09 77 72 69 74 65 09   ┆ to preset dma address  ; write ┆
0x0a5aa0…0a5ac0             77 72 69 74 65 20 74 72 61 63 6b 2f 73 65 63 74 6f 72 20 66 72 6f 6d 20 70 72 65 73 65 74 20 64   ┆write track/sector from preset d┆
0x0a5ac0…0a5ae0             6d 61 20 61 64 64 72 65 73 73 0d 0a 3b 0d 0a 3b 09 6a 75 6d 70 20 76 65 63 74 6f 72 20 66 6f 72   ┆ma address  ;  ; jump vector for┆
0x0a5ae0…0a5b00             20 69 6e 64 69 76 69 75 61 6c 20 72 6f 75 74 69 6e 65 73 0d 0a 09 6a 6d 70 09 62 6f 6f 74 0d 0a   ┆ indiviual routines   jmp boot  ┆
0x0a5b00…0a5b20             77 62 6f 6f 74 65 3a 09 6a 6d 70 09 77 62 6f 6f 74 0d 0a 09 6a 6d 70 09 63 6f 6e 73 74 0d 0a 09   ┆wboote: jmp wboot   jmp const   ┆
0x0a5b20…0a5b40             6a 6d 70 09 63 6f 6e 69 6e 0d 0a 09 6a 6d 70 09 63 6f 6e 6f 75 74 0d 0a 09 6a 6d 70 09 6c 69 73   ┆jmp conin   jmp conout   jmp lis┆
0x0a5b40…0a5b60             74 0d 0a 09 6a 6d 70 09 70 75 6e 63 68 0d 0a 09 6a 6d 70 09 72 65 61 64 65 72 0d 0a 09 6a 6d 70   ┆t   jmp punch   jmp reader   jmp┆
0x0a5b60…0a5b80             09 68 6f 6d 65 0d 0a 09 6a 6d 70 09 73 65 6c 64 73 6b 0d 0a 09 6a 6d 70 09 73 65 74 74 72 6b 0d   ┆ home   jmp seldsk   jmp settrk ┆
0x0a5b80…0a5ba0             0a 09 6a 6d 70 09 73 65 74 73 65 63 0d 0a 09 6a 6d 70 09 73 65 74 64 6d 61 0d 0a 09 6a 6d 70 09   ┆  jmp setsec   jmp setdma   jmp ┆
0x0a5ba0…0a5bc0             72 65 61 64 0d 0a 09 6a 6d 70 09 77 72 69 74 65 0d 0a 09 6a 6d 70 09 6c 69 73 74 73 74 09 3b 6c   ┆read   jmp write   jmp listst ;l┆
0x0a5bc0…0a5be0             69 73 74 20 73 74 61 74 75 73 0d 0a 09 6a 6d 70 09 73 65 63 74 72 61 6e 0d 0a 3b 0d 0a 09 6d 61   ┆ist status   jmp sectran  ;   ma┆
0x0a5be0…0a5c00             63 6c 69 62 09 64 69 73 6b 64 65 66 09 3b 6c 6f 61 64 20 74 68 65 20 64 69 73 6b 20 64 65 66 69   ┆clib diskdef ;load the disk defi┆
0x0a5c00…0a5c20 (44, 0, 7)  3b 6c 69 6e 65 20 66 65 65 64 0d 0a 3b 0d 0a 73 69 67 6e 6f 6e 3a 09 3b 73 69 67 6e 6f 6e 20 6d   ┆;line feed  ;  signon: ;signon m┆
0x0a5c20…0a5c40             65 73 73 61 67 65 3a 20 78 78 6b 20 63 70 2f 6d 20 76 65 72 73 20 79 2e 79 0d 0a 09 64 62 09 63   ┆essage: xxk cp/m vers y.y   db c┆
0x0a5c40…0a5c60             72 2c 6c 66 2c 6c 66 0d 0a 09 69 66 09 74 65 73 74 0d 0a 09 64 62 09 27 33 32 27 09 3b 33 32 6b   ┆r,lf,lf   if test   db '32' ;32k┆
0x0a5c60…0a5c80             20 65 78 61 6d 70 6c 65 20 62 69 6f 73 0d 0a 09 65 6e 64 69 66 0d 0a 09 69 66 09 6e 6f 74 20 74   ┆ example bios   endif   if not t┆
0x0a5c80…0a5ca0             65 73 74 0d 0a 09 64 62 09 27 30 30 27 09 3b 6d 65 6d 6f 72 79 20 73 69 7a 65 20 66 69 6c 6c 65   ┆est   db '00' ;memory size fille┆
0x0a5ca0…0a5cc0             64 20 62 79 20 72 65 6c 6f 63 61 74 6f 72 0d 0a 09 65 6e 64 69 66 0d 0a 09 64 62 09 27 6b 20 43   ┆d by relocator   endif   db 'k C┆
0x0a5cc0…0a5ce0             50 2f 4d 20 76 65 72 73 20 27 0d 0a 09 64 62 09 76 65 72 73 2f 31 30 2b 27 30 27 2c 27 2e 27 2c   ┆P/M vers '   db vers/10+'0','.',┆
0x0a5ce0…0a5d00             76 65 72 73 20 6d 6f 64 20 31 30 2b 27 30 27 0d 0a 09 64 62 09 63 72 2c 6c 66 2c 30 0d 0a 3b 0d   ┆vers mod 10+'0'   db cr,lf,0  ; ┆
0x0a5d00…0a5d20             0a 62 6f 6f 74 3a 09 3b 70 72 69 6e 74 20 73 69 67 6e 6f 6e 20 6d 65 73 73 61 67 65 20 61 6e 64   ┆ boot: ;print signon message and┆
0x0a5d20…0a5d40             20 67 6f 20 74 6f 20 63 63 70 0d 0a 3b 09 28 6e 6f 74 65 3a 20 6d 64 73 20 62 6f 6f 74 20 69 6e   ┆ go to ccp  ; (note: mds boot in┆
0x0a5d40…0a5d60             69 74 69 61 6c 69 7a 65 64 20 69 6f 62 79 74 65 20 61 74 20 30 30 30 33 68 29 0d 0a 09 6c 78 69   ┆itialized iobyte at 0003h)   lxi┆
0x0a5d60…0a5d80             09 73 70 2c 62 75 66 66 2b 38 30 68 0d 0a 09 6c 78 69 09 68 2c 73 69 67 6e 6f 6e 0d 0a 09 63 61   ┆ sp,buff+80h   lxi h,signon   ca┆
0x0a5d80…0a5da0             6c 6c 09 70 72 6d 73 67 09 3b 70 72 69 6e 74 20 6d 65 73 73 61 67 65 0d 0a 09 78 72 61 09 61 09   ┆ll prmsg ;print message   xra a ┆
0x0a5da0…0a5dc0             3b 63 6c 65 61 72 20 61 63 63 75 6d 75 6c 61 74 6f 72 0d 0a 09 73 74 61 09 63 64 69 73 6b 09 3b   ┆;clear accumulator   sta cdisk ;┆
0x0a5dc0…0a5de0             73 65 74 20 69 6e 69 74 69 61 6c 6c 79 20 74 6f 20 64 69 73 6b 20 61 0d 0a 09 6a 6d 70 09 67 6f   ┆set initially to disk a   jmp go┆
0x0a5de0…0a5e00             63 70 6d 09 3b 67 6f 20 74 6f 20 63 70 2f 6d 0d 0a 3b 0d 0a 3b 0d 0a 77 62 6f 6f 74 3a 3b 09 6c   ┆cpm ;go to cp/m  ;  ;  wboot:; l┆
0x0a5e00…0a5e20 (44, 0, 8)  72 65 73 65 74 20 6d 6f 6e 69 74 6f 72 20 65 6e 74 72 79 20 70 6f 69 6e 74 73 0d 0a 09 6d 76 69   ┆reset monitor entry points   mvi┆
0x0a5e20…0a5e40             09 61 2c 6a 6d 70 0d 0a 09 73 74 61 09 30 0d 0a 09 6c 78 69 09 68 2c 77 62 6f 6f 74 65 0d 0a 09   ┆ a,jmp   sta 0   lxi h,wboote   ┆
0x0a5e40…0a5e60             73 68 6c 64 09 31 09 3b 6a 6d 70 20 77 62 6f 6f 74 20 61 74 20 6c 6f 63 61 74 69 6f 6e 20 30 30   ┆shld 1 ;jmp wboot at location 00┆
0x0a5e60…0a5e80             0d 0a 09 73 74 61 09 35 0d 0a 09 6c 78 69 09 68 2c 62 64 6f 73 0d 0a 09 73 68 6c 64 09 36 09 3b   ┆   sta 5   lxi h,bdos   shld 6 ;┆
0x0a5e80…0a5ea0             6a 6d 70 20 62 64 6f 73 20 61 74 20 6c 6f 63 61 74 69 6f 6e 20 35 0d 0a 09 69 66 09 6e 6f 74 20   ┆jmp bdos at location 5   if not ┆
0x0a5ea0…0a5ec0             74 65 73 74 0d 0a 09 73 74 61 09 37 2a 38 09 3b 6a 6d 70 20 74 6f 20 6d 6f 6e 38 30 20 28 6d 61   ┆test   sta 7*8 ;jmp to mon80 (ma┆
0x0a5ec0…0a5ee0             79 20 68 61 76 65 20 62 65 65 6e 20 63 68 61 6e 67 65 64 20 62 79 20 64 64 74 29 0d 0a 09 6c 78   ┆y have been changed by ddt)   lx┆
0x0a5ee0…0a5f00             69 09 68 2c 6d 6f 6e 38 30 0d 0a 09 73 68 6c 64 09 37 2a 38 2b 31 0d 0a 09 65 6e 64 69 66 0d 0a   ┆i h,mon80   shld 7*8+1   endif  ┆
0x0a5f00…0a5f20             3b 09 6c 65 61 76 65 20 69 6f 62 79 74 65 20 73 65 74 0d 0a 3b 09 70 72 65 76 69 6f 75 73 6c 79   ┆; leave iobyte set  ; previously┆
0x0a5f20…0a5f40             20 73 65 6c 65 63 74 65 64 20 64 69 73 6b 20 77 61 73 20 62 2c 20 73 65 6e 64 20 70 61 72 61 6d   ┆ selected disk was b, send param┆
0x0a5f40…0a5f60             65 74 65 72 20 74 6f 20 63 70 6d 0d 0a 09 6c 64 61 09 63 64 69 73 6b 09 3b 6c 61 73 74 20 6c 6f   ┆eter to cpm   lda cdisk ;last lo┆
0x0a5f60…0a5f80             67 67 65 64 20 64 69 73 6b 20 6e 75 6d 62 65 72 0d 0a 09 6d 6f 76 09 63 2c 61 09 3b 73 65 6e 64   ┆gged disk number   mov c,a ;send┆
0x0a5f80…0a5fa0             20 74 6f 20 63 63 70 20 74 6f 20 6c 6f 67 20 69 74 20 69 6e 0d 0a 09 65 69 0d 0a 09 6a 6d 70 09   ┆ to ccp to log it in   ei   jmp ┆
0x0a5fa0…0a5fc0             63 70 6d 62 0d 0a 3b 0d 0a 3b 09 65 72 72 6f 72 20 63 6f 6e 64 69 74 69 6f 6e 20 6f 63 63 75 72   ┆cpmb  ;  ; error condition occur┆
0x0a5fc0…0a5fe0             72 65 64 2c 20 70 72 69 6e 74 20 6d 65 73 73 61 67 65 20 61 6e 64 20 72 65 74 72 79 0d 0a 62 6f   ┆red, print message and retry  bo┆
0x0a5fe0…0a6000             6f 74 65 72 72 3a 0d 0a 09 70 6f 70 09 62 09 3b 72 65 63 61 6c 6c 20 63 6f 75 6e 74 73 0d 0a 09   ┆oterr:   pop b ;recall counts   ┆
0x0a6000…0a6020 (44, 0, 9)  30 0d 0a 3b 09 44 69 67 69 74 61 6c 20 52 65 73 65 61 72 63 68 0d 0a 3b 09 42 6f 78 20 35 37 39   ┆0  ; Digital Research  ; Box 579┆
0x0a6020…0a6040             2c 20 50 61 63 69 66 69 63 20 47 72 6f 76 65 0d 0a 3b 09 43 61 6c 69 66 6f 72 6e 69 61 2c 20 39   ┆, Pacific Grove  ; California, 9┆
0x0a6040…0a6060             33 39 35 30 0d 0a 3b 0d 0a 3b 0d 0a 74 72 75 65 09 65 71 75 09 30 66 66 66 66 68 09 3b 76 61 6c   ┆3950  ;  ;  true equ 0ffffh ;val┆
0x0a6060…0a6080             75 65 20 6f 66 20 22 74 72 75 65 22 0d 0a 66 61 6c 73 65 09 65 71 75 09 6e 6f 74 20 74 72 75 65   ┆ue of "true"  false equ not true┆
0x0a6080…0a60a0             09 3b 22 66 61 6c 73 65 22 0d 0a 74 65 73 74 09 65 71 75 09 66 61 6c 73 65 09 3b 74 72 75 65 20   ┆ ;"false"  test equ false ;true ┆
0x0a60a0…0a60c0             69 66 20 74 65 73 74 20 62 69 6f 73 0d 0a 3b 0d 0a 09 69 66 09 74 65 73 74 0d 0a 62 69 61 73 09   ┆if test bios  ;   if test  bias ┆
0x0a60c0…0a60e0             65 71 75 09 30 33 34 30 30 68 09 3b 62 61 73 65 20 6f 66 20 43 43 50 20 69 6e 20 74 65 73 74 20   ┆equ 03400h ;base of CCP in test ┆
0x0a60e0…0a6100             73 79 73 74 65 6d 0d 0a 09 65 6e 64 69 66 0d 0a 09 69 66 09 6e 6f 74 20 74 65 73 74 0d 0a 62 69   ┆system   endif   if not test  bi┆
0x0a6100…0a6120             61 73 09 65 71 75 09 30 30 30 30 68 09 3b 67 65 6e 65 72 61 74 65 20 72 65 6c 6f 63 61 74 61 62   ┆as equ 0000h ;generate relocatab┆
0x0a6120…0a6140             6c 65 20 63 70 2f 6d 20 73 79 73 74 65 6d 0d 0a 09 65 6e 64 69 66 0d 0a 3b 0d 0a 70 61 74 63 68   ┆le cp/m system   endif  ;  patch┆
0x0a6140…0a6160             09 65 71 75 09 31 36 30 30 68 0d 0a 3b 0d 0a 09 6f 72 67 09 70 61 74 63 68 0d 0a 63 70 6d 62 09   ┆ equ 1600h  ;   org patch  cpmb ┆
0x0a6160…0a6180             65 71 75 09 24 2d 70 61 74 63 68 09 3b 62 61 73 65 20 6f 66 20 63 70 6d 20 63 6f 6e 73 6f 6c 65   ┆equ $-patch ;base of cpm console┆
0x0a6180…0a61a0             20 70 72 6f 63 65 73 73 6f 72 0d 0a 62 64 6f 73 09 65 71 75 09 38 30 36 68 2b 63 70 6d 62 09 3b   ┆ processor  bdos equ 806h+cpmb ;┆
0x0a61a0…0a61c0             62 61 73 69 63 20 64 6f 73 20 28 72 65 73 69 64 65 6e 74 20 70 6f 72 74 69 6f 6e 29 0d 0a 63 70   ┆basic dos (resident portion)  cp┆
0x0a61c0…0a61e0             6d 6c 09 65 71 75 09 24 2d 63 70 6d 62 09 3b 6c 65 6e 67 74 68 20 28 69 6e 20 62 79 74 65 73 29   ┆ml equ $-cpmb ;length (in bytes)┆
0x0a61e0…0a6200             20 6f 66 20 63 70 6d 20 73 79 73 74 65 6d 0d 0a 6e 73 65 63 74 73 09 65 71 75 09 63 70 6d 6c 2f   ┆ of cpm system  nsects equ cpml/┆
0x0a6200…0a6220 (44, 0, 10) 6e 69 74 69 6f 6e 20 6c 69 62 72 61 72 79 0d 0a 09 64 69 73 6b 73 09 34 09 3b 66 6f 75 72 20 64   ┆nition library   disks 4 ;four d┆
0x0a6220…0a6240             69 73 6b 73 0d 0a 09 64 69 73 6b 64 65 66 09 30 2c 31 2c 32 36 2c 36 2c 31 30 32 34 2c 32 34 33   ┆isks   diskdef 0,1,26,6,1024,243┆
0x0a6240…0a6260             2c 36 34 2c 36 34 2c 6f 66 66 73 65 74 0d 0a 09 64 69 73 6b 64 65 66 09 31 2c 30 0d 0a 09 64 69   ┆,64,64,offset   diskdef 1,0   di┆
0x0a6260…0a6280             73 6b 64 65 66 09 32 2c 30 0d 0a 09 64 69 73 6b 64 65 66 09 33 2c 30 0d 0a 3b 09 65 6e 64 65 66   ┆skdef 2,0   diskdef 3,0  ; endef┆
0x0a6280…0a62a0             20 6f 63 63 75 72 73 20 61 74 20 65 6e 64 20 6f 66 20 61 73 73 65 6d 62 6c 79 0d 0a 3b 0d 0a 3b   ┆ occurs at end of assembly  ;  ;┆
0x0a62a0…0a62c0             09 65 6e 64 20 6f 66 20 63 6f 6e 74 72 6f 6c 6c 65 72 20 2d 20 69 6e 64 65 70 65 6e 64 65 6e 74   ┆ end of controller - independent┆
0x0a62c0…0a62e0             20 63 6f 64 65 2c 20 74 68 65 20 72 65 6d 61 69 6e 69 6e 67 20 73 75 62 72 6f 75 74 69 6e 65 73   ┆ code, the remaining subroutines┆
0x0a62e0…0a6300             0d 0a 3b 09 61 72 65 20 74 61 69 6c 6f 72 65 64 20 74 6f 20 74 68 65 20 70 61 72 74 69 63 75 6c   ┆  ; are tailored to the particul┆
0x0a6300…0a6320             61 72 20 6f 70 65 72 61 74 69 6e 67 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 2c 20 61 6e 64 20 6d 75   ┆ar operating environment, and mu┆
0x0a6320…0a6340             73 74 0d 0a 3b 09 62 65 20 61 6c 74 65 72 65 64 20 66 6f 72 20 61 6e 79 20 73 79 73 74 65 6d 20   ┆st  ; be altered for any system ┆
0x0a6340…0a6360             77 68 69 63 68 20 64 69 66 66 65 72 73 20 66 72 6f 6d 20 74 68 65 20 69 6e 74 65 6c 20 6d 64 73   ┆which differs from the intel mds┆
0x0a6360…0a6380             2e 0d 0a 3b 0d 0a 3b 09 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 64 65 20 61 73 73 75 6d   ┆.  ;  ; the following code assum┆
0x0a6380…0a63a0             65 73 20 74 68 65 20 6d 64 73 20 6d 6f 6e 69 74 6f 72 20 65 78 69 73 74 73 20 61 74 20 30 66 38   ┆es the mds monitor exists at 0f8┆
0x0a63a0…0a63c0             30 30 68 0d 0a 3b 09 61 6e 64 20 75 73 65 73 20 74 68 65 20 69 2f 6f 20 73 75 62 72 6f 75 74 69   ┆00h  ; and uses the i/o subrouti┆
0x0a63c0…0a63e0             6e 65 73 20 77 69 74 68 69 6e 20 74 68 65 20 6d 6f 6e 69 74 6f 72 0d 0a 3b 0d 0a 3b 09 77 65 20   ┆nes within the monitor  ;  ; we ┆
0x0a63e0…0a6400             61 6c 73 6f 20 61 73 73 75 6d 65 20 74 68 65 20 6d 64 73 20 73 79 73 74 65 6d 20 68 61 73 20 66   ┆also assume the mds system has f┆
0x0a6400…0a6420 (44, 0, 11) 6f 61 64 65 72 20 6f 6e 20 74 72 61 63 6b 20 30 2c 20 73 65 63 74 6f 72 20 31 2c 20 77 68 69 63   ┆oader on track 0, sector 1, whic┆
0x0a6420…0a6440             68 20 77 69 6c 6c 20 62 65 20 73 6b 69 70 70 65 64 20 66 6f 72 20 77 61 72 6d 20 0d 0a 3b 09 72   ┆h will be skipped for warm   ; r┆
0x0a6440…0a6460             65 61 64 20 63 70 2f 6d 20 66 72 6f 6d 20 64 69 73 6b 20 2d 20 61 73 73 75 6d 69 6e 67 20 74 68   ┆ead cp/m from disk - assuming th┆
0x0a6460…0a6480             65 72 65 20 69 73 20 61 20 31 32 38 20 62 79 74 65 20 63 6f 6c 64 20 73 74 61 72 74 0d 0a 3b 09   ┆ere is a 128 byte cold start  ; ┆
0x0a6480…0a64a0             73 74 61 72 74 2e 0d 0a 3b 0d 0a 09 6c 78 69 09 73 70 2c 62 75 66 66 09 3b 75 73 69 6e 67 20 64   ┆start.  ;   lxi sp,buff ;using d┆
0x0a64a0…0a64c0             6d 61 20 2d 20 74 68 75 73 20 38 30 20 74 68 72 75 20 66 66 20 61 76 61 69 6c 61 62 6c 65 20 66   ┆ma - thus 80 thru ff available f┆
0x0a64c0…0a64e0             6f 72 20 73 74 61 63 6b 0d 0a 3b 0d 0a 09 6d 76 69 09 63 2c 72 65 74 72 79 09 3b 6d 61 78 20 72   ┆or stack  ;   mvi c,retry ;max r┆
0x0a64e0…0a6500             65 74 72 69 65 73 0d 0a 09 70 75 73 68 09 62 0d 0a 77 62 6f 6f 74 30 3a 09 3b 65 6e 74 65 72 20   ┆etries   push b  wboot0: ;enter ┆
0x0a6500…0a6520             68 65 72 65 20 6f 6e 20 65 72 72 6f 72 20 72 65 74 72 69 65 73 0d 0a 09 6c 78 69 09 62 2c 63 70   ┆here on error retries   lxi b,cp┆
0x0a6520…0a6540             6d 62 09 3b 73 65 74 20 64 6d 61 20 61 64 64 72 65 73 73 20 74 6f 20 73 74 61 72 74 20 6f 66 20   ┆mb ;set dma address to start of ┆
0x0a6540…0a6560             64 69 73 6b 20 73 79 73 74 65 6d 0d 0a 09 63 61 6c 6c 09 73 65 74 64 6d 61 0d 0a 09 6d 76 69 09   ┆disk system   call setdma   mvi ┆
0x0a6560…0a6580             63 2c 30 09 3b 62 6f 6f 74 20 66 72 6f 6d 20 64 72 69 76 65 20 30 0d 0a 09 63 61 6c 6c 09 73 65   ┆c,0 ;boot from drive 0   call se┆
0x0a6580…0a65a0             6c 64 73 6b 0d 0a 09 6d 76 69 09 63 2c 30 0d 0a 09 63 61 6c 6c 09 73 65 74 74 72 6b 09 3b 73 74   ┆ldsk   mvi c,0   call settrk ;st┆
0x0a65a0…0a65c0             61 72 74 20 77 69 74 68 20 74 72 61 63 6b 20 30 0d 0a 09 6d 76 69 09 63 2c 32 09 3b 73 74 61 72   ┆art with track 0   mvi c,2 ;star┆
0x0a65c0…0a65e0             74 20 72 65 61 64 69 6e 67 20 73 65 63 74 6f 72 20 32 0d 0a 09 63 61 6c 6c 09 73 65 74 73 65 63   ┆t reading sector 2   call setsec┆
0x0a65e0…0a6600             0d 0a 3b 0d 0a 3b 09 72 65 61 64 20 73 65 63 74 6f 72 73 2c 20 63 6f 75 6e 74 20 6e 73 65 63 74   ┆  ;  ; read sectors, count nsect┆
0x0a6600…0a6620 (44, 0, 12) 64 63 72 09 63 0d 0a 09 6a 7a 09 62 6f 6f 74 65 72 30 0d 0a 3b 09 74 72 79 20 61 67 61 69 6e 0d   ┆dcr c   jz booter0  ; try again ┆
0x0a6620…0a6640             0a 09 70 75 73 68 09 62 0d 0a 09 6a 6d 70 09 77 62 6f 6f 74 30 0d 0a 3b 0d 0a 62 6f 6f 74 65 72   ┆  push b   jmp wboot0  ;  booter┆
0x0a6640…0a6660             30 3a 0d 0a 3b 09 6f 74 68 65 72 77 69 73 65 20 74 6f 6f 20 6d 61 6e 79 20 72 65 74 72 69 65 73   ┆0:  ; otherwise too many retries┆
0x0a6660…0a6680             0d 0a 09 6c 78 69 09 68 2c 62 6f 6f 74 6d 73 67 0d 0a 09 63 61 6c 6c 09 70 72 6d 73 67 0d 0a 09   ┆   lxi h,bootmsg   call prmsg   ┆
0x0a6680…0a66a0             6a 6d 70 09 72 6d 6f 6e 38 30 09 3b 6d 64 73 20 68 61 72 64 77 61 72 65 20 6d 6f 6e 69 74 6f 72   ┆jmp rmon80 ;mds hardware monitor┆
0x0a66a0…0a66c0             0d 0a 3b 0d 0a 62 6f 6f 74 6d 73 67 3a 0d 0a 09 64 62 09 27 3f 62 6f 6f 74 27 2c 30 0d 0a 3b 0d   ┆  ;  bootmsg:   db '?boot',0  ; ┆
0x0a66c0…0a66e0             0a 3b 0d 0a 63 6f 6e 73 74 3a 09 3b 63 6f 6e 73 6f 6c 65 20 73 74 61 74 75 73 20 74 6f 20 72 65   ┆ ;  const: ;console status to re┆
0x0a66e0…0a6700             67 2d 61 0d 0a 3b 09 28 65 78 61 63 74 6c 79 20 74 68 65 20 73 61 6d 65 20 61 73 20 6d 64 73 20   ┆g-a  ; (exactly the same as mds ┆
0x0a6700…0a6720             63 61 6c 6c 29 0d 0a 09 6a 6d 70 09 63 73 74 73 0d 0a 3b 0d 0a 63 6f 6e 69 6e 3a 09 3b 63 6f 6e   ┆call)   jmp csts  ;  conin: ;con┆
0x0a6720…0a6740             73 6f 6c 65 20 63 68 61 72 61 63 74 65 72 20 74 6f 20 72 65 67 2d 61 0d 0a 09 63 61 6c 6c 09 63   ┆sole character to reg-a   call c┆
0x0a6740…0a6760             69 0d 0a 09 61 6e 69 09 37 66 68 09 3b 72 65 6d 6f 76 65 20 70 61 72 69 74 79 20 62 69 74 0d 0a   ┆i   ani 7fh ;remove parity bit  ┆
0x0a6760…0a6780             09 72 65 74 0d 0a 3b 0d 0a 63 6f 6e 6f 75 74 3a 09 3b 63 6f 6e 73 6f 6c 65 20 63 68 61 72 61 63   ┆ ret  ;  conout: ;console charac┆
0x0a6780…0a67a0             74 65 72 20 66 72 6f 6d 20 63 20 74 6f 20 63 6f 6e 73 6f 6c 65 20 6f 75 74 0d 0a 09 6a 6d 70 09   ┆ter from c to console out   jmp ┆
0x0a67a0…0a67c0             63 6f 0d 0a 3b 0d 0a 6c 69 73 74 3a 09 3b 6c 69 73 74 20 64 65 76 69 63 65 20 6f 75 74 0d 0a 3b   ┆co  ;  list: ;list device out  ;┆
0x0a67c0…0a67e0             09 28 65 78 61 63 74 6c 79 20 74 68 65 20 73 61 6d 65 20 61 73 20 6d 64 73 20 63 61 6c 6c 29 0d   ┆ (exactly the same as mds call) ┆
0x0a67e0…0a6800             0a 09 6a 6d 70 09 6c 6f 0d 0a 3b 0d 0a 6c 69 73 74 73 74 3a 0d 0a 09 3b 72 65 74 75 72 6e 20 6c   ┆  jmp lo  ;  listst:   ;return l┆
0x0a6800…0a6820 (44, 0, 13) 31 32 38 09 3b 6e 75 6d 62 65 72 20 6f 66 20 73 65 63 74 6f 72 73 20 74 6f 20 6c 6f 61 64 0d 0a   ┆128 ;number of sectors to load  ┆
0x0a6820…0a6840             6f 66 66 73 65 74 09 65 71 75 09 32 09 3b 6e 75 6d 62 65 72 20 6f 66 20 64 69 73 6b 20 74 72 61   ┆offset equ 2 ;number of disk tra┆
0x0a6840…0a6860             63 6b 73 20 75 73 65 64 20 62 79 20 63 70 2f 6d 0d 0a 63 64 69 73 6b 09 65 71 75 09 30 30 30 34   ┆cks used by cp/m  cdisk equ 0004┆
0x0a6860…0a6880             68 09 3b 61 64 64 72 65 73 73 20 6f 66 20 6c 61 73 74 20 6c 6f 67 67 65 64 20 64 69 73 6b 20 6f   ┆h ;address of last logged disk o┆
0x0a6880…0a68a0             6e 20 77 61 72 6d 20 73 74 61 72 74 0d 0a 62 75 66 66 09 65 71 75 09 30 30 38 30 68 09 3b 64 65   ┆n warm start  buff equ 0080h ;de┆
0x0a68a0…0a68c0             66 61 75 6c 74 20 62 75 66 66 65 72 20 61 64 64 72 65 73 73 0d 0a 72 65 74 72 79 09 65 71 75 09   ┆fault buffer address  retry equ ┆
0x0a68c0…0a68e0             31 30 09 3b 6d 61 78 20 72 65 74 72 69 65 73 20 6f 6e 20 64 69 73 6b 20 69 2f 6f 20 62 65 66 6f   ┆10 ;max retries on disk i/o befo┆
0x0a68e0…0a6900             72 65 20 65 72 72 6f 72 0d 0a 3b 0d 0a 3b 09 70 65 72 66 6f 72 6d 20 66 6f 6c 6c 6f 77 69 6e 67   ┆re error  ;  ; perform following┆
0x0a6900…0a6920             20 66 75 6e 63 74 69 6f 6e 73 0d 0a 3b 09 62 6f 6f 74 09 63 6f 6c 64 20 73 74 61 72 74 0d 0a 3b   ┆ functions  ; boot cold start  ;┆
0x0a6920…0a6940             09 77 62 6f 6f 74 09 77 61 72 6d 20 73 74 61 72 74 20 28 73 61 76 65 20 69 2f 6f 20 62 79 74 65   ┆ wboot warm start (save i/o byte┆
0x0a6940…0a6960             29 0d 0a 3b 09 28 62 6f 6f 74 20 61 6e 64 20 77 62 6f 6f 74 20 61 72 65 20 74 68 65 20 73 61 6d   ┆)  ; (boot and wboot are the sam┆
0x0a6960…0a6980             65 20 66 6f 72 20 6d 64 73 29 0d 0a 3b 09 63 6f 6e 73 74 09 63 6f 6e 73 6f 6c 65 20 73 74 61 74   ┆e for mds)  ; const console stat┆
0x0a6980…0a69a0             75 73 0d 0a 3b 09 09 72 65 67 2d 61 20 3d 20 30 30 20 69 66 20 6e 6f 20 63 68 61 72 61 63 74 65   ┆us  ;  reg-a = 00 if no characte┆
0x0a69a0…0a69c0             72 20 72 65 61 64 79 0d 0a 3b 09 09 72 65 67 2d 61 20 3d 20 66 66 20 69 66 20 63 68 61 72 61 63   ┆r ready  ;  reg-a = ff if charac┆
0x0a69c0…0a69e0             74 65 72 20 72 65 61 64 79 0d 0a 3b 09 63 6f 6e 69 6e 09 63 6f 6e 73 6f 6c 65 20 63 68 61 72 61   ┆ter ready  ; conin console chara┆
0x0a69e0…0a6a00             63 74 65 72 20 69 6e 20 28 72 65 73 75 6c 74 20 69 6e 20 72 65 67 2d 61 29 0d 0a 3b 09 63 6f 6e   ┆cter in (result in reg-a)  ; con┆
0x0a6a00…0a6a20 (44, 0, 14) 6f 75 72 20 64 69 73 6b 20 64 72 69 76 65 73 0d 0a 72 65 76 72 74 09 65 71 75 09 30 66 64 68 09   ┆our disk drives  revrt equ 0fdh ┆
0x0a6a20…0a6a40             3b 69 6e 74 65 72 72 75 70 74 20 72 65 76 65 72 74 20 70 6f 72 74 0d 0a 69 6e 74 63 09 65 71 75   ┆;interrupt revert port  intc equ┆
0x0a6a40…0a6a60             09 30 66 63 68 09 3b 69 6e 74 65 72 72 75 70 74 20 6d 61 73 6b 20 70 6f 72 74 0d 0a 69 63 6f 6e   ┆ 0fch ;interrupt mask port  icon┆
0x0a6a60…0a6a80             09 65 71 75 09 30 66 33 68 09 3b 69 6e 74 65 72 72 75 70 74 20 63 6f 6e 74 72 6f 6c 20 70 6f 72   ┆ equ 0f3h ;interrupt control por┆
0x0a6a80…0a6aa0             74 0d 0a 69 6e 74 65 09 65 71 75 09 30 31 31 31 24 31 31 31 30 62 09 3b 65 6e 61 62 6c 65 20 72   ┆t  inte equ 0111$1110b ;enable r┆
0x0a6aa0…0a6ac0             73 74 20 30 28 77 61 72 6d 20 62 6f 6f 74 29 2c 20 72 73 74 20 37 20 28 6d 6f 6e 69 74 6f 72 29   ┆st 0(warm boot), rst 7 (monitor)┆
0x0a6ac0…0a6ae0             0d 0a 3b 0d 0a 3b 09 6d 64 73 20 6d 6f 6e 69 74 6f 72 20 65 71 75 61 74 65 73 0d 0a 6d 6f 6e 38   ┆  ;  ; mds monitor equates  mon8┆
0x0a6ae0…0a6b00             30 09 65 71 75 09 30 66 38 30 30 68 09 3b 6d 64 73 20 6d 6f 6e 69 74 6f 72 0d 0a 72 6d 6f 6e 38   ┆0 equ 0f800h ;mds monitor  rmon8┆
0x0a6b00…0a6b20             30 09 65 71 75 09 30 66 66 30 66 68 09 3b 72 65 73 74 61 72 74 20 6d 6f 6e 38 30 20 28 62 6f 6f   ┆0 equ 0ff0fh ;restart mon80 (boo┆
0x0a6b20…0a6b40             74 20 65 72 72 6f 72 29 0d 0a 63 69 09 65 71 75 09 30 66 38 30 33 68 09 3b 63 6f 6e 73 6f 6c 65   ┆t error)  ci equ 0f803h ;console┆
0x0a6b40…0a6b60             20 63 68 61 72 61 63 74 65 72 20 74 6f 20 72 65 67 2d 61 0d 0a 72 69 09 65 71 75 09 30 66 38 30   ┆ character to reg-a  ri equ 0f80┆
0x0a6b60…0a6b80             36 68 09 3b 72 65 61 64 65 72 20 69 6e 20 74 6f 20 72 65 67 2d 61 0d 0a 63 6f 09 65 71 75 09 30   ┆6h ;reader in to reg-a  co equ 0┆
0x0a6b80…0a6ba0             66 38 30 39 68 09 3b 63 6f 6e 73 6f 6c 65 20 63 68 61 72 20 66 72 6f 6d 20 63 20 74 6f 20 63 6f   ┆f809h ;console char from c to co┆
0x0a6ba0…0a6bc0             6e 73 6f 6c 65 20 6f 75 74 0d 0a 70 6f 09 65 71 75 09 30 66 38 30 63 68 09 3b 70 75 6e 63 68 20   ┆nsole out  po equ 0f80ch ;punch ┆
0x0a6bc0…0a6be0             63 68 61 72 20 66 72 6f 6d 20 63 20 74 6f 20 70 75 6e 63 68 20 64 65 76 69 63 65 0d 0a 6c 6f 09   ┆char from c to punch device  lo ┆
0x0a6be0…0a6c00             65 71 75 09 30 66 38 30 66 68 09 3b 6c 69 73 74 20 66 72 6f 6d 20 63 20 74 6f 20 6c 69 73 74 20   ┆equ 0f80fh ;list from c to list ┆
0x0a6c00…0a6c20 (44, 0, 15) 73 20 74 6f 20 7a 65 72 6f 0d 0a 09 70 6f 70 09 62 09 3b 31 30 2d 65 72 72 6f 72 20 63 6f 75 6e   ┆s to zero   pop b ;10-error coun┆
0x0a6c20…0a6c40             74 0d 0a 09 6d 76 69 09 62 2c 6e 73 65 63 74 73 0d 0a 72 64 73 65 63 3a 09 3b 72 65 61 64 20 6e   ┆t   mvi b,nsects  rdsec: ;read n┆
0x0a6c40…0a6c60             65 78 74 20 73 65 63 74 6f 72 0d 0a 09 70 75 73 68 09 62 09 3b 73 61 76 65 20 73 65 63 74 6f 72   ┆ext sector   push b ;save sector┆
0x0a6c60…0a6c80             20 63 6f 75 6e 74 0d 0a 09 63 61 6c 6c 09 72 65 61 64 0d 0a 09 6a 6e 7a 09 62 6f 6f 74 65 72 72   ┆ count   call read   jnz booterr┆
0x0a6c80…0a6ca0             09 3b 72 65 74 72 79 20 69 66 20 65 72 72 6f 72 73 20 6f 63 63 75 72 0d 0a 09 6c 68 6c 64 09 69   ┆ ;retry if errors occur   lhld i┆
0x0a6ca0…0a6cc0             6f 64 09 3b 69 6e 63 72 65 6d 65 6e 74 20 64 6d 61 20 61 64 64 72 65 73 73 0d 0a 09 6c 78 69 09   ┆od ;increment dma address   lxi ┆
0x0a6cc0…0a6ce0             64 2c 31 32 38 09 3b 73 65 63 74 6f 72 20 73 69 7a 65 0d 0a 09 64 61 64 09 64 09 3b 69 6e 63 72   ┆d,128 ;sector size   dad d ;incr┆
0x0a6ce0…0a6d00             65 6d 65 6e 74 65 64 20 64 6d 61 20 61 64 64 72 65 73 73 20 69 6e 20 68 6c 0d 0a 09 6d 6f 76 09   ┆emented dma address in hl   mov ┆
0x0a6d00…0a6d20             62 2c 68 0d 0a 09 6d 6f 76 09 63 2c 6c 09 3b 72 65 61 64 79 20 66 6f 72 20 63 61 6c 6c 20 74 6f   ┆b,h   mov c,l ;ready for call to┆
0x0a6d20…0a6d40             20 73 65 74 20 64 6d 61 0d 0a 09 63 61 6c 6c 09 73 65 74 64 6d 61 0d 0a 09 6c 64 61 09 69 6f 73   ┆ set dma   call setdma   lda ios┆
0x0a6d40…0a6d60             09 3b 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 20 6a 75 73 74 20 72 65 61 64 0d 0a 09 63 70 69 09   ┆ ;sector number just read   cpi ┆
0x0a6d60…0a6d80             32 36 09 3b 72 65 61 64 20 6c 61 73 74 20 73 65 63 74 6f 72 3f 0d 0a 09 6a 63 09 72 64 31 0d 0a   ┆26 ;read last sector?   jc rd1  ┆
0x0a6d80…0a6da0             3b 09 6d 75 73 74 20 62 65 20 73 65 63 74 6f 72 20 32 36 2c 20 7a 65 72 6f 20 61 6e 64 20 67 6f   ┆; must be sector 26, zero and go┆
0x0a6da0…0a6dc0             20 74 6f 20 6e 65 78 74 20 74 72 61 63 6b 0d 0a 09 6c 64 61 09 69 6f 74 09 3b 67 65 74 20 74 72   ┆ to next track   lda iot ;get tr┆
0x0a6dc0…0a6de0             61 63 6b 20 74 6f 20 72 65 67 69 73 74 65 72 20 61 0d 0a 09 69 6e 72 09 61 0d 0a 09 6d 6f 76 09   ┆ack to register a   inr a   mov ┆
0x0a6de0…0a6e00             63 2c 61 09 3b 72 65 61 64 79 20 66 6f 72 20 63 61 6c 6c 0d 0a 09 63 61 6c 6c 09 73 65 74 74 72   ┆c,a ;ready for call   call settr┆
0x0a6e00…0a6e20 (44, 1, 1)  69 73 74 20 73 74 61 74 75 73 0d 0a 09 78 72 61 09 61 0d 0a 09 72 65 74 09 09 3b 61 6c 77 61 79   ┆ist status   xra a   ret  ;alway┆
0x0a6e20…0a6e40             73 20 6e 6f 74 20 72 65 61 64 79 0d 0a 3b 0d 0a 70 75 6e 63 68 3a 09 3b 70 75 6e 63 68 20 64 65   ┆s not ready  ;  punch: ;punch de┆
0x0a6e40…0a6e60             76 69 63 65 20 6f 75 74 0d 0a 3b 09 28 65 78 61 63 74 6c 79 20 74 68 65 20 73 61 6d 65 20 61 73   ┆vice out  ; (exactly the same as┆
0x0a6e60…0a6e80             20 6d 64 73 20 63 61 6c 6c 29 0d 0a 09 6a 6d 70 09 70 6f 0d 0a 3b 0d 0a 72 65 61 64 65 72 3a 09   ┆ mds call)   jmp po  ;  reader: ┆
0x0a6e80…0a6ea0             3b 72 65 61 64 65 72 20 63 68 61 72 61 63 74 65 72 20 69 6e 20 74 6f 20 72 65 67 2d 61 0d 0a 3b   ┆;reader character in to reg-a  ;┆
0x0a6ea0…0a6ec0             09 28 65 78 61 63 74 6c 79 20 74 68 65 20 73 61 6d 65 20 61 73 20 6d 64 73 20 63 61 6c 6c 29 0d   ┆ (exactly the same as mds call) ┆
0x0a6ec0…0a6ee0             0a 09 6a 6d 70 09 72 69 0d 0a 3b 0d 0a 68 6f 6d 65 3a 09 3b 6d 6f 76 65 20 74 6f 20 68 6f 6d 65   ┆  jmp ri  ;  home: ;move to home┆
0x0a6ee0…0a6f00             20 70 6f 73 69 74 69 6f 6e 0d 0a 3b 09 74 72 65 61 74 20 61 73 20 74 72 61 63 6b 20 30 30 20 73   ┆ position  ; treat as track 00 s┆
0x0a6f00…0a6f20             65 65 6b 0d 0a 09 6d 76 69 09 63 2c 30 0d 0a 09 6a 6d 70 09 73 65 74 74 72 6b 0d 0a 3b 0d 0a 73   ┆eek   mvi c,0   jmp settrk  ;  s┆
0x0a6f20…0a6f40             65 6c 64 73 6b 3a 09 3b 73 65 6c 65 63 74 20 64 69 73 6b 20 67 69 76 65 6e 20 62 79 20 72 65 67   ┆eldsk: ;select disk given by reg┆
0x0a6f40…0a6f60             69 73 74 65 72 20 63 0d 0a 09 6c 78 69 09 68 2c 30 30 30 30 68 09 3b 72 65 74 75 72 6e 20 30 30   ┆ister c   lxi h,0000h ;return 00┆
0x0a6f60…0a6f80             30 30 20 69 66 20 65 72 72 6f 72 0d 0a 09 6d 6f 76 09 61 2c 63 0d 0a 09 63 70 69 09 6e 64 69 73   ┆00 if error   mov a,c   cpi ndis┆
0x0a6f80…0a6fa0             6b 73 09 3b 74 6f 6f 20 6c 61 72 67 65 3f 0d 0a 09 72 6e 63 09 09 3b 6c 65 61 76 65 20 48 4c 20   ┆ks ;too large?   rnc  ;leave HL ┆
0x0a6fa0…0a6fc0             3d 20 30 30 30 30 0d 0a 3b 0d 0a 09 61 6e 69 09 31 30 62 09 3b 30 30 20 30 30 20 66 6f 72 20 64   ┆= 0000  ;   ani 10b ;00 00 for d┆
0x0a6fc0…0a6fe0             72 69 76 65 20 30 2c 31 20 61 6e 64 20 31 30 20 31 30 20 66 6f 72 20 64 72 69 76 65 20 32 2c 33   ┆rive 0,1 and 10 10 for drive 2,3┆
0x0a6fe0…0a7000             0d 0a 09 73 74 61 09 64 62 61 6e 6b 09 3b 74 6f 20 73 65 6c 65 63 74 20 64 72 69 76 65 20 62 61   ┆   sta dbank ;to select drive ba┆
0x0a7000…0a7020 (44, 1, 2)  65 73 73 0d 0a 09 6d 6f 76 09 61 2c 6d 09 3b 67 65 74 20 69 74 20 74 6f 20 61 63 63 75 6d 75 6c   ┆ess   mov a,m ;get it to accumul┆
0x0a7020…0a7040             61 74 6f 72 20 66 6f 72 20 6d 61 73 6b 69 6e 67 0d 0a 09 61 6e 69 09 31 31 31 31 31 30 30 30 62   ┆ator for masking   ani 11111000b┆
0x0a7040…0a7060             09 3b 72 65 6d 6f 76 65 20 70 72 65 76 69 6f 75 73 20 63 6f 6d 6d 61 6e 64 0d 0a 09 6f 72 61 09   ┆ ;remove previous command   ora ┆
0x0a7060…0a7080             63 09 3b 73 65 74 20 74 6f 20 6e 65 77 20 63 6f 6d 6d 61 6e 64 0d 0a 09 6d 6f 76 09 6d 2c 61 09   ┆c ;set to new command   mov m,a ┆
0x0a7080…0a70a0             3b 72 65 70 6c 61 63 65 64 20 69 6e 20 69 6f 70 62 0d 0a 3b 09 74 68 65 20 6d 64 73 2d 38 30 30   ┆;replaced in iopb  ; the mds-800┆
0x0a70a0…0a70c0             20 63 6f 6e 74 72 6f 6c 6c 65 72 20 72 65 71 75 69 72 65 73 20 64 69 73 6b 20 62 61 6e 6b 20 62   ┆ controller requires disk bank b┆
0x0a70c0…0a70e0             69 74 20 69 6e 20 73 65 63 74 6f 72 20 62 79 74 65 0d 0a 3b 09 6d 61 73 6b 20 74 68 65 20 62 69   ┆it in sector byte  ; mask the bi┆
0x0a70e0…0a7100             74 20 66 72 6f 6d 20 74 68 65 20 63 75 72 72 65 6e 74 20 69 2f 6f 20 66 75 6e 63 74 69 6f 6e 0d   ┆t from the current i/o function ┆
0x0a7100…0a7120             0a 09 61 6e 69 09 30 30 31 30 30 30 30 30 62 09 3b 6d 61 73 6b 20 74 68 65 20 64 69 73 6b 20 73   ┆  ani 00100000b ;mask the disk s┆
0x0a7120…0a7140             65 6c 65 63 74 20 62 69 74 0d 0a 09 6c 78 69 09 68 2c 69 6f 73 09 09 3b 61 64 64 72 65 73 73 20   ┆elect bit   lxi h,ios  ;address ┆
0x0a7140…0a7160             74 68 65 20 73 65 63 74 6f 72 20 73 65 6c 65 63 74 20 62 79 74 65 0d 0a 09 6f 72 61 09 6d 09 09   ┆the sector select byte   ora m  ┆
0x0a7160…0a7180             3b 73 65 6c 65 63 74 20 70 72 6f 70 65 72 20 64 69 73 6b 20 62 61 6e 6b 0d 0a 09 6d 6f 76 09 6d   ┆;select proper disk bank   mov m┆
0x0a7180…0a71a0             2c 61 09 09 3b 73 65 74 20 64 69 73 6b 20 73 65 6c 65 63 74 20 62 69 74 20 6f 6e 2f 6f 66 66 0d   ┆,a  ;set disk select bit on/off ┆
0x0a71a0…0a71c0             0a 09 72 65 74 0d 0a 3b 0d 0a 77 61 69 74 69 6f 3a 0d 0a 09 6d 76 69 09 63 2c 72 65 74 72 79 09   ┆  ret  ;  waitio:   mvi c,retry ┆
0x0a71c0…0a71e0             3b 6d 61 78 20 72 65 74 72 69 65 73 20 62 65 66 6f 72 65 20 70 65 72 6d 20 65 72 72 6f 72 0d 0a   ┆;max retries before perm error  ┆
0x0a71e0…0a7200             72 65 77 61 69 74 3a 0d 0a 3b 09 73 74 61 72 74 20 74 68 65 20 69 2f 6f 20 66 75 6e 63 74 69 6f   ┆rewait:  ; start the i/o functio┆
0x0a7200…0a7220 (44, 1, 3)  77 72 69 74 65 20 70 72 6f 74 65 63 74 20 28 74 72 65 61 74 65 64 20 61 73 20 6e 6f 74 20 72 65   ┆write protect (treated as not re┆
0x0a7220…0a7240             61 64 79 29 0d 0a 3b 09 36 09 2d 20 77 72 69 74 65 20 65 72 72 6f 72 20 28 68 61 72 64 77 61 72   ┆ady)  ; 6 - write error (hardwar┆
0x0a7240…0a7260             65 20 6d 61 6c 66 75 6e 63 74 69 6f 6e 29 0d 0a 3b 09 37 09 2d 20 6e 6f 74 20 72 65 61 64 79 0d   ┆e malfunction)  ; 7 - not ready ┆
0x0a7260…0a7280             0a 3b 09 28 61 63 63 75 6d 75 6c 61 74 6f 72 20 62 69 74 73 20 61 72 65 20 6e 75 6d 62 65 72 65   ┆ ; (accumulator bits are numbere┆
0x0a7280…0a72a0             64 20 37 20 36 20 35 20 34 20 33 20 32 20 31 20 30 29 0d 0a 3b 0d 0a 3b 09 69 74 20 6d 61 79 20   ┆d 7 6 5 4 3 2 1 0)  ;  ; it may ┆
0x0a72a0…0a72c0             62 65 20 75 73 65 66 75 6c 20 74 6f 20 66 69 6c 74 65 72 20 6f 75 74 20 74 68 65 20 76 61 72 69   ┆be useful to filter out the vari┆
0x0a72c0…0a72e0             6f 75 73 20 63 6f 6e 64 69 74 69 6f 6e 73 2c 0d 0a 3b 09 62 75 74 20 77 65 20 77 69 6c 6c 20 67   ┆ous conditions,  ; but we will g┆
0x0a72e0…0a7300             65 74 20 61 20 70 65 72 6d 61 6e 65 6e 74 20 65 72 72 6f 72 20 6d 65 73 73 61 67 65 20 69 66 20   ┆et a permanent error message if ┆
0x0a7300…0a7320             69 74 20 69 73 20 6e 6f 74 0d 0a 3b 09 72 65 63 6f 76 65 72 61 62 6c 65 2e 20 20 69 6e 20 61 6e   ┆it is not  ; recoverable.  in an┆
0x0a7320…0a7340             79 20 63 61 73 65 2c 20 74 68 65 20 6e 6f 74 20 72 65 61 64 79 20 63 6f 6e 64 69 74 69 6f 6e 20   ┆y case, the not ready condition ┆
0x0a7340…0a7360             69 73 0d 0a 3b 09 74 72 65 61 74 65 64 20 61 73 20 61 20 73 65 70 61 72 61 74 65 20 63 6f 6e 64   ┆is  ; treated as a separate cond┆
0x0a7360…0a7380             69 74 69 6f 6e 20 66 6f 72 20 6c 61 74 65 72 20 69 6d 70 72 6f 76 65 6d 65 6e 74 0d 0a 74 72 79   ┆ition for later improvement  try┆
0x0a7380…0a73a0             63 6f 75 6e 74 3a 0d 0a 3b 09 72 65 67 69 73 74 65 72 20 63 20 63 6f 6e 74 61 69 6e 73 20 72 65   ┆count:  ; register c contains re┆
0x0a73a0…0a73c0             74 72 79 20 63 6f 75 6e 74 2c 20 64 65 63 72 65 6d 65 6e 74 20 27 74 69 6c 20 7a 65 72 6f 0d 0a   ┆try count, decrement 'til zero  ┆
0x0a73c0…0a73e0             09 64 63 72 09 63 0d 0a 09 6a 6e 7a 09 72 65 77 61 69 74 09 3b 66 6f 72 20 61 6e 6f 74 68 65 72   ┆ dcr c   jnz rewait ;for another┆
0x0a73e0…0a7400             20 74 72 79 0d 0a 3b 0d 0a 3b 09 63 61 6e 6e 6f 74 20 72 65 63 6f 76 65 72 20 66 72 6f 6d 20 65   ┆ try  ;  ; cannot recover from e┆
0x0a7400…0a7420 (44, 1, 4)  09 30 30 30 34 68 09 3b 61 64 64 72 65 73 73 20 6f 66 20 6c 61 73 74 20 6c 6f 67 67 65 64 20 64   ┆ 0004h ;address of last logged d┆
0x0a7420…0a7440             69 73 6b 20 6f 6e 20 77 61 72 6d 20 73 74 61 72 74 0d 0a 62 75 66 66 09 65 71 75 09 30 30 38 30   ┆isk on warm start  buff equ 0080┆
0x0a7440…0a7460             68 09 3b 64 65 66 61 75 6c 74 20 62 75 66 66 65 72 20 61 64 64 72 65 73 73 0d 0a 72 65 74 72 79   ┆h ;default buffer address  retry┆
0x0a7460…0a7480             09 65 71 75 09 31 30 09 3b 6d 61 78 20 72 65 74 72 69 65 73 20 6f 6e 20 64 69 73 6b 20 69 2f 6f   ┆ equ 10 ;max retries on disk i/o┆
0x0a7480…0a74a0             20 62 65 66 6f 72 65 20 65 72 72 6f 72 0d 0a 3b 0d 0a 3b 09 70 65 72 66 6f 72 6d 20 66 6f 6c 6c   ┆ before error  ;  ; perform foll┆
0x0a74a0…0a74c0             6f 77 69 6e 67 20 66 75 6e 63 74 69 6f 6e 73 0d 0a 3b 09 62 6f 6f 74 09 63 6f 6c 64 20 73 74 61   ┆owing functions  ; boot cold sta┆
0x0a74c0…0a74e0             72 74 0d 0a 3b 09 77 62 6f 6f 74 09 77 61 72 6d 20 73 74 61 72 74 20 28 73 61 76 65 20 69 2f 6f   ┆rt  ; wboot warm start (save i/o┆
0x0a74e0…0a7500             20 62 79 74 65 29 0d 0a 3b 09 28 62 6f 6f 74 20 61 6e 64 20 77 62 6f 6f 74 20 61 72 65 20 74 68   ┆ byte)  ; (boot and wboot are th┆
0x0a7500…0a7520             65 20 73 61 6d 65 20 66 6f 72 20 6d 64 73 29 0d 0a 3b 09 63 6f 6e 73 74 09 63 6f 6e 73 6f 6c 65   ┆e same for mds)  ; const console┆
0x0a7520…0a7540             20 73 74 61 74 75 73 0d 0a 3b 09 09 72 65 67 2d 61 20 3d 20 30 30 20 69 66 20 6e 6f 20 63 68 61   ┆ status  ;  reg-a = 00 if no cha┆
0x0a7540…0a7560             72 61 63 74 65 72 20 72 65 61 64 79 0d 0a 3b 09 09 72 65 67 2d 61 20 3d 20 66 66 20 69 66 20 63   ┆racter ready  ;  reg-a = ff if c┆
0x0a7560…0a7580             68 61 72 61 63 74 65 72 20 72 65 61 64 79 0d 0a 3b 09 63 6f 6e 69 6e 09 63 6f 6e 73 6f 6c 65 20   ┆haracter ready  ; conin console ┆
0x0a7580…0a75a0             63 68 61 72 61 63 74 65 72 20 69 6e 20 28 72 65 73 75 6c 74 20 69 6e 20 72 65 67 2d 61 29 0d 0a   ┆character in (result in reg-a)  ┆
0x0a75a0…0a75c0             3b 09 63 6f 6e 6f 75 74 09 63 6f 6e 73 6f 6c 65 20 63 68 61 72 61 63 74 65 72 20 6f 75 74 20 28   ┆; conout console character out (┆
0x0a75c0…0a75e0             63 68 61 72 20 69 6e 20 72 65 67 2d 63 29 0d 0a 3b 09 6c 69 73 74 09 6c 69 73 74 20 6f 75 74 20   ┆char in reg-c)  ; list list out ┆
0x0a75e0…0a7600             28 63 68 61 72 20 69 6e 20 72 65 67 2d 63 29 0d 0a 3b 09 70 75 6e 63 68 09 70 75 6e 63 68 20 6f   ┆(char in reg-c)  ; punch punch o┆
0x0a7600…0a7620 (44, 1, 5)  6e 6b 0d 0a 09 6d 6f 76 09 61 2c 63 09 3b 30 30 2c 20 30 31 2c 20 31 30 2c 20 31 31 0d 0a 09 61   ┆nk   mov a,c ;00, 01, 10, 11   a┆
0x0a7620…0a7640             6e 69 09 31 62 09 3b 6d 64 73 20 68 61 73 20 30 2c 31 20 61 74 20 37 38 2c 20 32 2c 33 20 61 74   ┆ni 1b ;mds has 0,1 at 78, 2,3 at┆
0x0a7640…0a7660             20 38 38 0d 0a 09 6f 72 61 09 61 09 3b 72 65 73 75 6c 74 20 30 30 3f 0d 0a 09 6a 7a 09 73 65 74   ┆ 88   ora a ;result 00?   jz set┆
0x0a7660…0a7680             64 72 69 76 65 0d 0a 09 6d 76 69 09 61 2c 30 30 31 31 30 30 30 30 62 09 3b 73 65 6c 65 63 74 73   ┆drive   mvi a,00110000b ;selects┆
0x0a7680…0a76a0             20 64 72 69 76 65 20 31 20 69 6e 20 62 61 6e 6b 0d 0a 73 65 74 64 72 69 76 65 3a 0d 0a 09 6d 6f   ┆ drive 1 in bank  setdrive:   mo┆
0x0a76a0…0a76c0             76 09 62 2c 61 09 3b 73 61 76 65 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 6c 78 69 09 68   ┆v b,a ;save the function   lxi h┆
0x0a76c0…0a76e0             2c 69 6f 66 09 3b 69 6f 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 6d 6f 76 09 61 2c 6d 0d 0a 09 61 6e   ┆,iof ;io function   mov a,m   an┆
0x0a76e0…0a7700             69 09 31 31 30 30 31 31 31 31 62 09 3b 6d 61 73 6b 20 6f 75 74 20 64 69 73 6b 20 6e 75 6d 62 65   ┆i 11001111b ;mask out disk numbe┆
0x0a7700…0a7720             72 0d 0a 09 6f 72 61 09 62 09 3b 6d 61 73 6b 20 69 6e 20 6e 65 77 20 64 69 73 6b 20 6e 75 6d 62   ┆r   ora b ;mask in new disk numb┆
0x0a7720…0a7740             65 72 0d 0a 09 6d 6f 76 09 6d 2c 61 09 3b 73 61 76 65 20 69 74 20 69 6e 20 69 6f 70 62 0d 0a 09   ┆er   mov m,a ;save it in iopb   ┆
0x0a7740…0a7760             6d 6f 76 09 6c 2c 63 0d 0a 09 6d 76 69 09 68 2c 30 09 3b 48 4c 3d 64 69 73 6b 20 6e 75 6d 62 65   ┆mov l,c   mvi h,0 ;HL=disk numbe┆
0x0a7760…0a7780             72 0d 0a 09 64 61 64 09 68 09 3b 2a 32 0d 0a 09 64 61 64 09 68 09 3b 2a 34 0d 0a 09 64 61 64 09   ┆r   dad h ;*2   dad h ;*4   dad ┆
0x0a7780…0a77a0             68 09 3b 2a 38 0d 0a 09 64 61 64 09 68 09 3b 2a 31 36 0d 0a 09 6c 78 69 09 64 2c 64 70 62 61 73   ┆h ;*8   dad h ;*16   lxi d,dpbas┆
0x0a77a0…0a77c0             65 0d 0a 09 64 61 64 09 64 09 3b 48 4c 3d 64 69 73 6b 20 68 65 61 64 65 72 20 74 61 62 6c 65 20   ┆e   dad d ;HL=disk header table ┆
0x0a77c0…0a77e0             61 64 64 72 65 73 73 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 3b 0d 0a 73 65 74 74 72 6b 3a 09 3b 73 65   ┆address   ret  ;  ;  settrk: ;se┆
0x0a77e0…0a7800             74 20 74 72 61 63 6b 20 61 64 64 72 65 73 73 20 67 69 76 65 6e 20 62 79 20 63 0d 0a 09 6c 78 69   ┆t track address given by c   lxi┆
0x0a7800…0a7820 (44, 1, 6)  6e 20 61 6e 64 20 77 61 69 74 20 66 6f 72 20 63 6f 6d 70 6c 65 74 69 6f 6e 0d 0a 09 63 61 6c 6c   ┆n and wait for completion   call┆
0x0a7820…0a7840             09 69 6e 74 79 70 65 09 3b 69 6e 20 72 74 79 70 65 0d 0a 09 63 61 6c 6c 09 69 6e 62 79 74 65 09   ┆ intype ;in rtype   call inbyte ┆
0x0a7840…0a7860             3b 63 6c 65 61 72 73 20 74 68 65 20 63 6f 6e 74 72 6f 6c 6c 65 72 0d 0a 3b 0d 0a 09 6c 64 61 09   ┆;clears the controller  ;   lda ┆
0x0a7860…0a7880             64 62 61 6e 6b 09 09 3b 73 65 74 20 62 61 6e 6b 20 66 6c 61 67 73 0d 0a 09 6f 72 61 09 61 09 09   ┆dbank  ;set bank flags   ora a  ┆
0x0a7880…0a78a0             3b 7a 65 72 6f 20 69 66 20 64 72 69 76 65 20 30 2c 31 20 61 6e 64 20 6e 7a 20 69 66 20 32 2c 33   ┆;zero if drive 0,1 and nz if 2,3┆
0x0a78a0…0a78c0             0d 0a 09 6d 76 69 09 61 2c 69 6f 70 62 20 61 6e 64 20 30 66 66 68 09 3b 6c 6f 77 20 61 64 64 72   ┆   mvi a,iopb and 0ffh ;low addr┆
0x0a78c0…0a78e0             65 73 73 20 66 6f 72 20 69 6f 70 62 0d 0a 09 6d 76 69 09 62 2c 69 6f 70 62 20 73 68 72 20 38 09   ┆ess for iopb   mvi b,iopb shr 8 ┆
0x0a78e0…0a7900             3b 68 69 67 68 20 61 64 64 72 65 73 73 20 66 6f 72 20 69 6f 70 62 0d 0a 09 6a 6e 7a 09 69 6f 64   ┆;high address for iopb   jnz iod┆
0x0a7900…0a7920             72 31 09 3b 64 72 69 76 65 20 62 61 6e 6b 20 31 3f 0d 0a 09 6f 75 74 09 69 6c 6f 77 09 09 3b 6c   ┆r1 ;drive bank 1?   out ilow  ;l┆
0x0a7920…0a7940             6f 77 20 61 64 64 72 65 73 73 20 74 6f 20 63 6f 6e 74 72 6f 6c 6c 65 72 0d 0a 09 6d 6f 76 09 61   ┆ow address to controller   mov a┆
0x0a7940…0a7960             2c 62 0d 0a 09 6f 75 74 09 69 68 69 67 68 09 3b 68 69 67 68 20 61 64 64 72 65 73 73 0d 0a 09 6a   ┆,b   out ihigh ;high address   j┆
0x0a7960…0a7980             6d 70 09 77 61 69 74 30 09 09 3b 74 6f 20 77 61 69 74 20 66 6f 72 20 63 6f 6d 70 6c 65 74 65 0d   ┆mp wait0  ;to wait for complete ┆
0x0a7980…0a79a0             0a 3b 0d 0a 69 6f 64 72 31 3a 09 3b 64 72 69 76 65 20 62 61 6e 6b 20 31 0d 0a 09 6f 75 74 09 69   ┆ ;  iodr1: ;drive bank 1   out i┆
0x0a79a0…0a79c0             6c 6f 77 2b 31 30 68 09 3b 38 38 20 66 6f 72 20 64 72 69 76 65 20 62 61 6e 6b 20 31 30 0d 0a 09   ┆low+10h ;88 for drive bank 10   ┆
0x0a79c0…0a79e0             6d 6f 76 09 61 2c 62 0d 0a 09 6f 75 74 09 69 68 69 67 68 2b 31 30 68 0d 0a 3b 0d 0a 77 61 69 74   ┆mov a,b   out ihigh+10h  ;  wait┆
0x0a79e0…0a7a00             30 3a 09 63 61 6c 6c 09 69 6e 73 74 61 74 09 09 3b 77 61 69 74 20 66 6f 72 20 63 6f 6d 70 6c 65   ┆0: call instat  ;wait for comple┆
0x0a7a00…0a7a20 (44, 1, 7)  72 72 6f 72 0d 0a 09 6d 76 69 09 61 2c 31 09 3b 65 72 72 6f 72 20 63 6f 64 65 0d 0a 09 72 65 74   ┆rror   mvi a,1 ;error code   ret┆
0x0a7a20…0a7a40             0d 0a 3b 0d 0a 3b 09 69 6e 74 79 70 65 2c 20 69 6e 62 79 74 65 2c 20 69 6e 73 74 61 74 20 72 65   ┆  ;  ; intype, inbyte, instat re┆
0x0a7a40…0a7a60             61 64 20 64 72 69 76 65 20 62 61 6e 6b 20 30 30 20 6f 72 20 31 30 0d 0a 69 6e 74 79 70 65 3a 09   ┆ad drive bank 00 or 10  intype: ┆
0x0a7a60…0a7a80             6c 64 61 09 64 62 61 6e 6b 0d 0a 09 6f 72 61 09 61 0d 0a 09 6a 6e 7a 09 69 6e 74 79 70 31 09 3b   ┆lda dbank   ora a   jnz intyp1 ;┆
0x0a7a80…0a7aa0             73 6b 69 70 20 74 6f 20 62 61 6e 6b 20 31 30 0d 0a 09 69 6e 09 72 74 79 70 65 0d 0a 09 72 65 74   ┆skip to bank 10   in rtype   ret┆
0x0a7aa0…0a7ac0             0d 0a 69 6e 74 79 70 31 3a 09 69 6e 09 72 74 79 70 65 2b 31 30 68 09 3b 37 38 20 66 6f 72 20 30   ┆  intyp1: in rtype+10h ;78 for 0┆
0x0a7ac0…0a7ae0             2c 31 20 20 38 38 20 66 6f 72 20 32 2c 33 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 69 6e 62 79 74 65 3a   ┆,1  88 for 2,3   ret  ;  inbyte:┆
0x0a7ae0…0a7b00             09 6c 64 61 09 64 62 61 6e 6b 0d 0a 09 6f 72 61 09 61 0d 0a 09 6a 6e 7a 09 69 6e 62 79 74 31 0d   ┆ lda dbank   ora a   jnz inbyt1 ┆
0x0a7b00…0a7b20             0a 09 69 6e 09 72 62 79 74 65 0d 0a 09 72 65 74 0d 0a 69 6e 62 79 74 31 3a 09 69 6e 09 72 62 79   ┆  in rbyte   ret  inbyt1: in rby┆
0x0a7b20…0a7b40             74 65 2b 31 30 68 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 69 6e 73 74 61 74 3a 09 6c 64 61 09 64 62 61   ┆te+10h   ret  ;  instat: lda dba┆
0x0a7b40…0a7b60             6e 6b 0d 0a 09 6f 72 61 09 61 0d 0a 09 6a 6e 7a 09 69 6e 73 74 61 31 0d 0a 09 69 6e 09 64 73 74   ┆nk   ora a   jnz insta1   in dst┆
0x0a7b60…0a7b80             61 74 0d 0a 09 72 65 74 0d 0a 69 6e 73 74 61 31 3a 09 69 6e 09 64 73 74 61 74 2b 31 30 68 0d 0a   ┆at   ret  insta1: in dstat+10h  ┆
0x0a7b80…0a7ba0             09 72 65 74 0d 0a 3b 0d 0a 3b 0d 0a 3b 0d 0a 3b 09 64 61 74 61 20 61 72 65 61 73 20 28 6d 75 73   ┆ ret  ;  ;  ;  ; data areas (mus┆
0x0a7ba0…0a7bc0             74 20 62 65 20 69 6e 20 72 61 6d 29 0d 0a 64 62 61 6e 6b 3a 09 64 62 09 30 09 3b 64 69 73 6b 20   ┆t be in ram)  dbank: db 0 ;disk ┆
0x0a7bc0…0a7be0             62 61 6e 6b 20 30 30 20 69 66 20 64 72 69 76 65 20 30 2c 31 0d 0a 09 09 09 3b 09 20 20 20 31 30   ┆bank 00 if drive 0,1     ;    10┆
0x0a7be0…0a7c00             20 69 66 20 64 72 69 76 65 20 32 2c 33 0d 0a 69 6f 70 62 3a 09 3b 69 6f 20 70 61 72 61 6d 65 74   ┆ if drive 2,3  iopb: ;io paramet┆
0x0a7c00…0a7c20 (44, 1, 8)  75 74 20 28 63 68 61 72 20 69 6e 20 72 65 67 2d 63 29 0d 0a 3b 09 72 65 61 64 65 72 09 70 61 70   ┆ut (char in reg-c)  ; reader pap┆
0x0a7c20…0a7c40             65 72 20 74 61 70 65 20 72 65 61 64 65 72 20 69 6e 20 28 72 65 73 75 6c 74 20 74 6f 20 72 65 67   ┆er tape reader in (result to reg┆
0x0a7c40…0a7c60             2d 61 29 0d 0a 3b 09 68 6f 6d 65 09 6d 6f 76 65 20 74 6f 20 74 72 61 63 6b 20 30 30 0d 0a 3b 0d   ┆-a)  ; home move to track 00  ; ┆
0x0a7c60…0a7c80             0a 3b 09 28 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 61 6c 6c 73 20 73 65 74 2d 75 70 20 74   ┆ ; (the following calls set-up t┆
0x0a7c80…0a7ca0             68 65 20 69 6f 20 70 61 72 61 6d 65 74 65 72 20 62 6c 6f 63 6b 20 66 6f 72 20 74 68 65 0d 0a 3b   ┆he io parameter block for the  ;┆
0x0a7ca0…0a7cc0             09 6d 64 73 2c 20 77 68 69 63 68 20 69 73 20 75 73 65 64 20 74 6f 20 70 65 72 66 6f 72 6d 20 73   ┆ mds, which is used to perform s┆
0x0a7cc0…0a7ce0             75 62 73 65 71 75 65 6e 74 20 72 65 61 64 73 20 61 6e 64 20 77 72 69 74 65 73 29 0d 0a 3b 09 73   ┆ubsequent reads and writes)  ; s┆
0x0a7ce0…0a7d00             65 6c 64 73 6b 09 73 65 6c 65 63 74 20 64 69 73 6b 20 67 69 76 65 6e 20 62 79 20 72 65 67 2d 63   ┆eldsk select disk given by reg-c┆
0x0a7d00…0a7d20             20 28 30 2c 31 2c 32 2e 2e 2e 29 0d 0a 3b 09 73 65 74 74 72 6b 09 73 65 74 20 74 72 61 63 6b 20   ┆ (0,1,2...)  ; settrk set track ┆
0x0a7d20…0a7d40             61 64 64 72 65 73 73 20 28 30 2c 2e 2e 2e 37 36 29 20 66 6f 72 20 73 75 62 73 65 71 75 65 6e 74   ┆address (0,...76) for subsequent┆
0x0a7d40…0a7d60             20 72 65 61 64 2f 77 72 69 74 65 0d 0a 3b 09 73 65 74 73 65 63 09 73 65 74 20 73 65 63 74 6f 72   ┆ read/write  ; setsec set sector┆
0x0a7d60…0a7d80             20 61 64 64 72 65 73 73 20 28 31 2c 2e 2e 2e 2c 32 36 29 20 66 6f 72 20 73 75 62 73 65 71 75 65   ┆ address (1,...,26) for subseque┆
0x0a7d80…0a7da0             6e 74 20 72 65 61 64 2f 77 72 69 74 65 0d 0a 3b 09 73 65 74 64 6d 61 09 73 65 74 20 73 75 62 73   ┆nt read/write  ; setdma set subs┆
0x0a7da0…0a7dc0             65 71 75 65 6e 74 20 64 6d 61 20 61 64 64 72 65 73 73 20 28 69 6e 69 74 69 61 6c 6c 79 20 38 30   ┆equent dma address (initially 80┆
0x0a7dc0…0a7de0             68 29 0d 0a 3b 0d 0a 3b 09 28 72 65 61 64 20 61 6e 64 20 77 72 69 74 65 20 61 73 73 75 6d 65 20   ┆h)  ;  ; (read and write assume ┆
0x0a7de0…0a7e00             70 72 65 76 69 6f 75 73 20 63 61 6c 6c 73 20 74 6f 20 73 65 74 20 75 70 20 74 68 65 20 69 6f 20   ┆previous calls to set up the io ┆
0x0a7e00…0a7e20 (44, 1, 9)  09 68 2c 69 6f 74 0d 0a 09 6d 6f 76 09 6d 2c 63 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 73 65 74 73 65   ┆ h,iot   mov m,c   ret  ;  setse┆
0x0a7e20…0a7e40             63 3a 09 3b 73 65 74 20 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 20 67 69 76 65 6e 20 62 79 20 63   ┆c: ;set sector number given by c┆
0x0a7e40…0a7e60             0d 0a 09 6c 78 69 09 68 2c 69 6f 73 0d 0a 09 6d 6f 76 09 6d 2c 63 0d 0a 09 72 65 74 0d 0a 73 65   ┆   lxi h,ios   mov m,c   ret  se┆
0x0a7e60…0a7e80             63 74 72 61 6e 3a 0d 0a 09 09 3b 74 72 61 6e 73 6c 61 74 65 20 73 65 63 74 6f 72 20 62 63 20 75   ┆ctran:    ;translate sector bc u┆
0x0a7e80…0a7ea0             73 69 6e 67 20 74 61 62 6c 65 20 61 74 20 64 65 0d 0a 09 6d 76 69 09 62 2c 30 09 3b 64 6f 75 62   ┆sing table at de   mvi b,0 ;doub┆
0x0a7ea0…0a7ec0             6c 65 20 70 72 65 63 69 73 69 6f 6e 20 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 20 69 6e 20 42 43   ┆le precision sector number in BC┆
0x0a7ec0…0a7ee0             0d 0a 09 78 63 68 67 09 09 3b 74 72 61 6e 73 6c 61 74 65 20 74 61 62 6c 65 20 61 64 64 72 65 73   ┆   xchg  ;translate table addres┆
0x0a7ee0…0a7f00             73 20 74 6f 20 48 4c 0d 0a 09 64 61 64 09 62 09 3b 74 72 61 6e 73 6c 61 74 65 28 73 65 63 74 6f   ┆s to HL   dad b ;translate(secto┆
0x0a7f00…0a7f20             72 29 20 61 64 64 72 65 73 73 0d 0a 09 6d 6f 76 09 61 2c 6d 09 3b 74 72 61 6e 73 6c 61 74 65 64   ┆r) address   mov a,m ;translated┆
0x0a7f20…0a7f40             20 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 20 74 6f 20 41 0d 0a 09 73 74 61 09 69 6f 73 0d 0a 09   ┆ sector number to A   sta ios   ┆
0x0a7f40…0a7f60             6d 6f 76 09 6c 2c 61 09 3b 72 65 74 75 72 6e 20 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 20 69 6e   ┆mov l,a ;return sector number in┆
0x0a7f60…0a7f80             20 4c 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 73 65 74 64 6d 61 3a 09 3b 73 65 74 20 64 6d 61 20 61 64   ┆ L   ret  ;  setdma: ;set dma ad┆
0x0a7f80…0a7fa0             64 72 65 73 73 20 67 69 76 65 6e 20 62 79 20 72 65 67 73 20 62 2c 63 0d 0a 09 6d 6f 76 09 6c 2c   ┆dress given by regs b,c   mov l,┆
0x0a7fa0…0a7fc0             63 0d 0a 09 6d 6f 76 09 68 2c 62 0d 0a 09 73 68 6c 64 09 69 6f 64 0d 0a 09 72 65 74 0d 0a 3b 0d   ┆c   mov h,b   shld iod   ret  ; ┆
0x0a7fc0…0a7fe0             0a 72 65 61 64 3a 09 3b 72 65 61 64 20 6e 65 78 74 20 64 69 73 6b 20 72 65 63 6f 72 64 20 28 61   ┆ read: ;read next disk record (a┆
0x0a7fe0…0a8000             73 73 75 6d 69 6e 67 20 64 69 73 6b 2f 74 72 6b 2f 73 65 63 2f 64 6d 61 20 73 65 74 29 0d 0a 09   ┆ssuming disk/trk/sec/dma set)   ┆
0x0a8000…0a8020 (44, 1, 10) 74 69 6f 6e 0d 0a 09 61 6e 69 09 69 6f 72 64 79 09 09 3b 72 65 61 64 79 3f 0d 0a 09 6a 7a 09 77   ┆tion   ani iordy  ;ready?   jz w┆
0x0a8020…0a8040             61 69 74 30 0d 0a 3b 0d 0a 3b 09 63 68 65 63 6b 20 69 6f 20 63 6f 6d 70 6c 65 74 69 6f 6e 20 6f   ┆ait0  ;  ; check io completion o┆
0x0a8040…0a8060             6b 0d 0a 09 63 61 6c 6c 09 69 6e 74 79 70 65 09 09 3b 6d 75 73 74 20 62 65 20 69 6f 20 63 6f 6d   ┆k   call intype  ;must be io com┆
0x0a8060…0a8080             70 6c 65 74 65 20 28 30 30 29 20 75 6e 6c 69 6e 6b 65 64 0d 0a 3b 09 30 30 20 75 6e 6c 69 6e 6b   ┆plete (00) unlinked  ; 00 unlink┆
0x0a8080…0a80a0             65 64 20 69 2f 6f 20 63 6f 6d 70 6c 65 74 65 2c 20 20 20 20 30 31 20 6c 69 6e 6b 65 64 20 69 2f   ┆ed i/o complete,    01 linked i/┆
0x0a80a0…0a80c0             6f 20 63 6f 6d 70 6c 65 74 65 20 28 6e 6f 74 20 75 73 65 64 29 0d 0a 3b 09 31 30 20 64 69 73 6b   ┆o complete (not used)  ; 10 disk┆
0x0a80c0…0a80e0             20 73 74 61 74 75 73 20 63 68 61 6e 67 65 64 20 20 20 20 20 20 20 31 31 20 28 6e 6f 74 20 75 73   ┆ status changed       11 (not us┆
0x0a80e0…0a8100             65 64 29 0d 0a 09 63 70 69 09 31 30 62 09 09 3b 72 65 61 64 79 20 73 74 61 74 75 73 20 63 68 61   ┆ed)   cpi 10b  ;ready status cha┆
0x0a8100…0a8120             6e 67 65 3f 0d 0a 09 6a 7a 09 77 72 65 61 64 79 0d 0a 3b 0d 0a 3b 09 6d 75 73 74 20 62 65 20 30   ┆nge?   jz wready  ;  ; must be 0┆
0x0a8120…0a8140             30 20 69 6e 20 74 68 65 20 61 63 63 75 6d 75 6c 61 74 6f 72 0d 0a 09 6f 72 61 09 61 0d 0a 09 6a   ┆0 in the accumulator   ora a   j┆
0x0a8140…0a8160             6e 7a 09 77 65 72 72 6f 72 09 09 3b 73 6f 6d 65 20 6f 74 68 65 72 20 63 6f 6e 64 69 74 69 6f 6e   ┆nz werror  ;some other condition┆
0x0a8160…0a8180             2c 20 72 65 74 72 79 0d 0a 3b 0d 0a 3b 09 63 68 65 63 6b 20 69 2f 6f 20 65 72 72 6f 72 20 62 69   ┆, retry  ;  ; check i/o error bi┆
0x0a8180…0a81a0             74 73 0d 0a 09 63 61 6c 6c 09 69 6e 62 79 74 65 0d 0a 09 72 61 6c 0d 0a 09 6a 63 09 77 72 65 61   ┆ts   call inbyte   ral   jc wrea┆
0x0a81a0…0a81c0             64 79 09 09 3b 75 6e 69 74 20 6e 6f 74 20 72 65 61 64 79 0d 0a 09 72 61 72 0d 0a 09 61 6e 69 09   ┆dy  ;unit not ready   rar   ani ┆
0x0a81c0…0a81e0             31 31 31 31 31 31 31 30 62 09 3b 61 6e 79 20 6f 74 68 65 72 20 65 72 72 6f 72 73 3f 20 20 28 64   ┆11111110b ;any other errors?  (d┆
0x0a81e0…0a8200             65 6c 65 74 65 64 20 64 61 74 61 20 6f 6b 29 0d 0a 09 6a 6e 7a 09 77 65 72 72 6f 72 0d 0a 3b 0d   ┆eleted data ok)   jnz werror  ; ┆
0x0a8200…0a8220 (44, 1, 11) 65 72 20 62 6c 6f 63 6b 0d 0a 09 64 62 09 38 30 68 09 3b 6e 6f 72 6d 61 6c 20 69 2f 6f 20 6f 70   ┆er block   db 80h ;normal i/o op┆
0x0a8220…0a8240             65 72 61 74 69 6f 6e 0d 0a 69 6f 66 3a 09 64 62 09 72 65 61 64 66 09 3b 69 6f 20 66 75 6e 63 74   ┆eration  iof: db readf ;io funct┆
0x0a8240…0a8260             69 6f 6e 2c 20 69 6e 69 74 69 61 6c 20 72 65 61 64 0d 0a 69 6f 6e 3a 09 64 62 09 31 09 3b 6e 75   ┆ion, initial read  ion: db 1 ;nu┆
0x0a8260…0a8280             6d 62 65 72 20 6f 66 20 73 65 63 74 6f 72 73 20 74 6f 20 72 65 61 64 0d 0a 69 6f 74 3a 09 64 62   ┆mber of sectors to read  iot: db┆
0x0a8280…0a82a0             09 6f 66 66 73 65 74 09 3b 74 72 61 63 6b 20 6e 75 6d 62 65 72 0d 0a 69 6f 73 3a 09 64 62 09 31   ┆ offset ;track number  ios: db 1┆
0x0a82a0…0a82c0             09 3b 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 0d 0a 69 6f 64 3a 09 64 77 09 62 75 66 66 09 3b 69   ┆ ;sector number  iod: dw buff ;i┆
0x0a82c0…0a82e0             6f 20 61 64 64 72 65 73 73 0d 0a 3b 0d 0a 3b 0d 0a 3b 09 64 65 66 69 6e 65 20 72 61 6d 20 61 72   ┆o address  ;  ;  ; define ram ar┆
0x0a82e0…0a8300             65 61 73 20 66 6f 72 20 62 64 6f 73 20 6f 70 65 72 61 74 69 6f 6e 0d 0a 09 65 6e 64 65 66 0d 0a   ┆eas for bdos operation   endef  ┆
0x0a8300…0a8320             09 65 6e 64 0d 0a 3b 09 4d 44 53 2d 38 30 30 20 49 2f 4f 20 44 72 69 76 65 72 73 20 66 6f 72 20   ┆ end  ; MDS-800 I/O Drivers for ┆
0x0a8320…0a8340             43 50 2f 4d 20 32 2e 32 0d 0a 3b 09 28 66 6f 75 72 20 64 72 69 76 65 20 73 69 6e 67 6c 65 20 64   ┆CP/M 2.2  ; (four drive single d┆
0x0a8340…0a8360             65 6e 73 69 74 79 20 76 65 72 73 69 6f 6e 29 0d 0a 3b 0d 0a 3b 09 56 65 72 73 69 6f 6e 20 32 2e   ┆ensity version)  ;  ; Version 2.┆
0x0a8360…0a8380             32 20 46 65 62 72 75 61 72 79 2c 20 31 39 38 30 0d 0a 3b 0d 0a 76 65 72 73 09 65 71 75 09 32 32   ┆2 February, 1980  ;  vers equ 22┆
0x0a8380…0a83a0             09 3b 76 65 72 73 69 6f 6e 20 32 2e 32 0d 0a 3b 0d 0a 3b 09 43 6f 70 79 72 69 67 68 74 20 28 63   ┆ ;version 2.2  ;  ; Copyright (c┆
0x0a83a0…0a83c0             29 20 31 39 38 30 0d 0a 3b 09 44 69 67 69 74 61 6c 20 52 65 73 65 61 72 63 68 0d 0a 3b 09 42 6f   ┆) 1980  ; Digital Research  ; Bo┆
0x0a83c0…0a83e0             78 20 35 37 39 2c 20 50 61 63 69 66 69 63 20 47 72 6f 76 65 0d 0a 3b 09 43 61 6c 69 66 6f 72 6e   ┆x 579, Pacific Grove  ; Californ┆
0x0a83e0…0a8400             69 61 2c 20 39 33 39 35 30 0d 0a 3b 0d 0a 3b 0d 0a 74 72 75 65 09 65 71 75 09 30 66 66 66 66 68   ┆ia, 93950  ;  ;  true equ 0ffffh┆
0x0a8400…0a8420 (44, 1, 12) 70 61 72 61 6d 65 74 65 72 73 29 0d 0a 3b 09 72 65 61 64 09 72 65 61 64 20 74 72 61 63 6b 2f 73   ┆parameters)  ; read read track/s┆
0x0a8420…0a8440             65 63 74 6f 72 20 74 6f 20 70 72 65 73 65 74 20 64 6d 61 20 61 64 64 72 65 73 73 0d 0a 3b 09 77   ┆ector to preset dma address  ; w┆
0x0a8440…0a8460             72 69 74 65 09 77 72 69 74 65 20 74 72 61 63 6b 2f 73 65 63 74 6f 72 20 66 72 6f 6d 20 70 72 65   ┆rite write track/sector from pre┆
0x0a8460…0a8480             73 65 74 20 64 6d 61 20 61 64 64 72 65 73 73 0d 0a 3b 0d 0a 3b 09 6a 75 6d 70 20 76 65 63 74 6f   ┆set dma address  ;  ; jump vecto┆
0x0a8480…0a84a0             72 20 66 6f 72 20 69 6e 64 69 76 69 75 61 6c 20 72 6f 75 74 69 6e 65 73 0d 0a 09 6a 6d 70 09 62   ┆r for indiviual routines   jmp b┆
0x0a84a0…0a84c0             6f 6f 74 0d 0a 77 62 6f 6f 74 65 3a 09 6a 6d 70 09 77 62 6f 6f 74 0d 0a 09 6a 6d 70 09 63 6f 6e   ┆oot  wboote: jmp wboot   jmp con┆
0x0a84c0…0a84e0             73 74 0d 0a 09 6a 6d 70 09 63 6f 6e 69 6e 0d 0a 09 6a 6d 70 09 63 6f 6e 6f 75 74 0d 0a 09 6a 6d   ┆st   jmp conin   jmp conout   jm┆
0x0a84e0…0a8500             70 09 6c 69 73 74 0d 0a 09 6a 6d 70 09 70 75 6e 63 68 0d 0a 09 6a 6d 70 09 72 65 61 64 65 72 0d   ┆p list   jmp punch   jmp reader ┆
0x0a8500…0a8520             0a 09 6a 6d 70 09 68 6f 6d 65 0d 0a 09 6a 6d 70 09 73 65 6c 64 73 6b 0d 0a 09 6a 6d 70 09 73 65   ┆  jmp home   jmp seldsk   jmp se┆
0x0a8520…0a8540             74 74 72 6b 0d 0a 09 6a 6d 70 09 73 65 74 73 65 63 0d 0a 09 6a 6d 70 09 73 65 74 64 6d 61 0d 0a   ┆ttrk   jmp setsec   jmp setdma  ┆
0x0a8540…0a8560             09 6a 6d 70 09 72 65 61 64 0d 0a 09 6a 6d 70 09 77 72 69 74 65 0d 0a 09 6a 6d 70 09 6c 69 73 74   ┆ jmp read   jmp write   jmp list┆
0x0a8560…0a8580             73 74 09 3b 6c 69 73 74 20 73 74 61 74 75 73 0d 0a 09 6a 6d 70 09 73 65 63 74 72 61 6e 0d 0a 3b   ┆st ;list status   jmp sectran  ;┆
0x0a8580…0a85a0             0d 0a 09 6d 61 63 6c 69 62 09 64 69 73 6b 64 65 66 09 3b 6c 6f 61 64 20 74 68 65 20 64 69 73 6b   ┆   maclib diskdef ;load the disk┆
0x0a85a0…0a85c0             20 64 65 66 69 6e 69 74 69 6f 6e 20 6c 69 62 72 61 72 79 0d 0a 09 64 69 73 6b 73 09 34 09 3b 66   ┆ definition library   disks 4 ;f┆
0x0a85c0…0a85e0             6f 75 72 20 64 69 73 6b 73 0d 0a 09 64 69 73 6b 64 65 66 09 30 2c 31 2c 32 36 2c 36 2c 31 30 32   ┆our disks   diskdef 0,1,26,6,102┆
0x0a85e0…0a8600             34 2c 32 34 33 2c 36 34 2c 36 34 2c 6f 66 66 73 65 74 0d 0a 09 64 69 73 6b 64 65 66 09 31 2c 30   ┆4,243,64,64,offset   diskdef 1,0┆
0x0a8600…0a8620 (44, 1, 13) 6d 76 69 09 63 2c 72 65 61 64 66 09 3b 73 65 74 20 74 6f 20 72 65 61 64 20 66 75 6e 63 74 69 6f   ┆mvi c,readf ;set to read functio┆
0x0a8620…0a8640             6e 0d 0a 09 63 61 6c 6c 09 73 65 74 66 75 6e 63 0d 0a 09 63 61 6c 6c 09 77 61 69 74 69 6f 09 3b   ┆n   call setfunc   call waitio ;┆
0x0a8640…0a8660             70 65 72 66 6f 72 6d 20 72 65 61 64 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 72 65 74 09 09 3b 6d 61   ┆perform read function   ret  ;ma┆
0x0a8660…0a8680             79 20 68 61 76 65 20 65 72 72 6f 72 20 73 65 74 20 69 6e 20 72 65 67 2d 61 0d 0a 3b 0d 0a 3b 0d   ┆y have error set in reg-a  ;  ; ┆
0x0a8680…0a86a0             0a 77 72 69 74 65 3a 09 3b 64 69 73 6b 20 77 72 69 74 65 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 6d   ┆ write: ;disk write function   m┆
0x0a86a0…0a86c0             76 69 09 63 2c 77 72 69 74 66 0d 0a 09 63 61 6c 6c 09 73 65 74 66 75 6e 63 09 3b 73 65 74 20 74   ┆vi c,writf   call setfunc ;set t┆
0x0a86c0…0a86e0             6f 20 77 72 69 74 65 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 63 61 6c 6c 09 77 61 69 74 69 6f 0d 0a   ┆o write function   call waitio  ┆
0x0a86e0…0a8700             09 72 65 74 09 09 3b 6d 61 79 20 68 61 76 65 20 65 72 72 6f 72 20 73 65 74 0d 0a 3b 0d 0a 3b 0d   ┆ ret  ;may have error set  ;  ; ┆
0x0a8700…0a8720             0a 3b 09 75 74 69 6c 69 74 79 20 73 75 62 72 6f 75 74 69 6e 65 73 0d 0a 70 72 6d 73 67 3a 09 3b   ┆ ; utility subroutines  prmsg: ;┆
0x0a8720…0a8740             70 72 69 6e 74 20 6d 65 73 73 61 67 65 20 61 74 20 68 2c 6c 20 74 6f 20 30 0d 0a 09 6d 6f 76 09   ┆print message at h,l to 0   mov ┆
0x0a8740…0a8760             61 2c 6d 0d 0a 09 6f 72 61 09 61 09 3b 7a 65 72 6f 3f 0d 0a 09 72 7a 0d 0a 3b 09 6d 6f 72 65 20   ┆a,m   ora a ;zero?   rz  ; more ┆
0x0a8760…0a8780             74 6f 20 70 72 69 6e 74 0d 0a 09 70 75 73 68 09 68 0d 0a 09 6d 6f 76 09 63 2c 61 0d 0a 09 63 61   ┆to print   push h   mov c,a   ca┆
0x0a8780…0a87a0             6c 6c 09 63 6f 6e 6f 75 74 0d 0a 09 70 6f 70 09 68 0d 0a 09 69 6e 78 09 68 0d 0a 09 6a 6d 70 09   ┆ll conout   pop h   inx h   jmp ┆
0x0a87a0…0a87c0             70 72 6d 73 67 0d 0a 3b 0d 0a 73 65 74 66 75 6e 63 3a 0d 0a 3b 09 73 65 74 20 66 75 6e 63 74 69   ┆prmsg  ;  setfunc:  ; set functi┆
0x0a87c0…0a87e0             6f 6e 20 66 6f 72 20 6e 65 78 74 20 69 2f 6f 20 28 63 6f 6d 6d 61 6e 64 20 69 6e 20 72 65 67 2d   ┆on for next i/o (command in reg-┆
0x0a87e0…0a8800             63 29 0d 0a 09 6c 78 69 09 68 2c 69 6f 66 09 3b 69 6f 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 72   ┆c)   lxi h,iof ;io function addr┆
0x0a8800…0a8820 (44, 1, 14) 0a 3b 09 72 65 61 64 20 6f 72 20 77 72 69 74 65 20 69 73 20 6f 6b 2c 20 61 63 63 75 6d 75 6c 61   ┆ ; read or write is ok, accumula┆
0x0a8820…0a8840             74 6f 72 20 63 6f 6e 74 61 69 6e 73 20 7a 65 72 6f 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 77 72 65 61   ┆tor contains zero   ret  ;  wrea┆
0x0a8840…0a8860             64 79 3a 09 3b 6e 6f 74 20 72 65 61 64 79 2c 20 74 72 65 61 74 20 61 73 20 65 72 72 6f 72 20 66   ┆dy: ;not ready, treat as error f┆
0x0a8860…0a8880             6f 72 20 6e 6f 77 0d 0a 09 63 61 6c 6c 09 69 6e 62 79 74 65 09 09 3b 63 6c 65 61 72 20 72 65 73   ┆or now   call inbyte  ;clear res┆
0x0a8880…0a88a0             75 6c 74 20 62 79 74 65 0d 0a 09 6a 6d 70 09 74 72 79 63 6f 75 6e 74 0d 0a 3b 0d 0a 77 65 72 72   ┆ult byte   jmp trycount  ;  werr┆
0x0a88a0…0a88c0             6f 72 3a 09 3b 72 65 74 75 72 6e 20 68 61 72 64 77 61 72 65 20 6d 61 6c 66 75 6e 63 74 69 6f 6e   ┆or: ;return hardware malfunction┆
0x0a88c0…0a88e0             20 28 63 72 63 2c 20 74 72 61 63 6b 2c 20 73 65 65 6b 2c 20 65 74 63 2e 29 0d 0a 3b 09 74 68 65   ┆ (crc, track, seek, etc.)  ; the┆
0x0a88e0…0a8900             20 6d 64 73 20 63 6f 6e 74 72 6f 6c 6c 65 72 20 68 61 73 20 72 65 74 75 72 6e 65 64 20 61 20 62   ┆ mds controller has returned a b┆
0x0a8900…0a8920             69 74 20 69 6e 20 65 61 63 68 20 70 6f 73 69 74 69 6f 6e 0d 0a 3b 09 6f 66 20 74 68 65 20 61 63   ┆it in each position  ; of the ac┆
0x0a8920…0a8940             63 75 6d 75 6c 61 74 6f 72 2c 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 74 6f 20 74 68 65 20   ┆cumulator, corresponding to the ┆
0x0a8940…0a8960             63 6f 6e 64 69 74 69 6f 6e 73 3a 0d 0a 3b 09 30 09 2d 20 64 65 6c 65 74 65 64 20 64 61 74 61 20   ┆conditions:  ; 0 - deleted data ┆
0x0a8960…0a8980             28 61 63 63 65 70 74 65 64 20 61 73 20 6f 6b 20 61 62 6f 76 65 29 0d 0a 3b 09 31 09 2d 20 63 72   ┆(accepted as ok above)  ; 1 - cr┆
0x0a8980…0a89a0             63 20 65 72 72 6f 72 0d 0a 3b 09 32 09 2d 20 73 65 65 6b 20 65 72 72 6f 72 0d 0a 3b 09 33 09 2d   ┆c error  ; 2 - seek error  ; 3 -┆
0x0a89a0…0a89c0             20 61 64 64 72 65 73 73 20 65 72 72 6f 72 20 28 68 61 72 64 77 61 72 65 20 6d 61 6c 66 75 6e 63   ┆ address error (hardware malfunc┆
0x0a89c0…0a89e0             74 69 6f 6e 29 0d 0a 3b 09 34 09 2d 20 64 61 74 61 20 6f 76 65 72 2f 75 6e 64 65 72 20 66 6c 6f   ┆tion)  ; 4 - data over/under flo┆
0x0a89e0…0a8a00             77 20 28 68 61 72 64 77 61 72 65 20 6d 61 6c 66 75 6e 63 74 69 6f 6e 29 0d 0a 3b 09 35 09 2d 20   ┆w (hardware malfunction)  ; 5 - ┆
0x0a8a00…0a8a20 (44, 1, 15) 09 3b 76 61 6c 75 65 20 6f 66 20 22 74 72 75 65 22 0d 0a 66 61 6c 73 65 09 65 71 75 09 6e 6f 74   ┆ ;value of "true"  false equ not┆
0x0a8a20…0a8a40             20 74 72 75 65 09 3b 22 66 61 6c 73 65 22 0d 0a 74 65 73 74 09 65 71 75 09 66 61 6c 73 65 09 3b   ┆ true ;"false"  test equ false ;┆
0x0a8a40…0a8a60             74 72 75 65 20 69 66 20 74 65 73 74 20 62 69 6f 73 0d 0a 3b 0d 0a 09 69 66 09 74 65 73 74 0d 0a   ┆true if test bios  ;   if test  ┆
0x0a8a60…0a8a80             62 69 61 73 09 65 71 75 09 30 33 34 30 30 68 09 3b 62 61 73 65 20 6f 66 20 43 43 50 20 69 6e 20   ┆bias equ 03400h ;base of CCP in ┆
0x0a8a80…0a8aa0             74 65 73 74 20 73 79 73 74 65 6d 0d 0a 09 65 6e 64 69 66 0d 0a 09 69 66 09 6e 6f 74 20 74 65 73   ┆test system   endif   if not tes┆
0x0a8aa0…0a8ac0             74 0d 0a 62 69 61 73 09 65 71 75 09 30 30 30 30 68 09 3b 67 65 6e 65 72 61 74 65 20 72 65 6c 6f   ┆t  bias equ 0000h ;generate relo┆
0x0a8ac0…0a8ae0             63 61 74 61 62 6c 65 20 63 70 2f 6d 20 73 79 73 74 65 6d 0d 0a 09 65 6e 64 69 66 0d 0a 3b 0d 0a   ┆catable cp/m system   endif  ;  ┆
0x0a8ae0…0a8b00             70 61 74 63 68 09 65 71 75 09 31 36 30 30 68 0d 0a 3b 0d 0a 09 6f 72 67 09 70 61 74 63 68 0d 0a   ┆patch equ 1600h  ;   org patch  ┆
0x0a8b00…0a8b20             63 70 6d 62 09 65 71 75 09 24 2d 70 61 74 63 68 09 3b 62 61 73 65 20 6f 66 20 63 70 6d 20 63 6f   ┆cpmb equ $-patch ;base of cpm co┆
0x0a8b20…0a8b40             6e 73 6f 6c 65 20 70 72 6f 63 65 73 73 6f 72 0d 0a 62 64 6f 73 09 65 71 75 09 38 30 36 68 2b 63   ┆nsole processor  bdos equ 806h+c┆
0x0a8b40…0a8b60             70 6d 62 09 3b 62 61 73 69 63 20 64 6f 73 20 28 72 65 73 69 64 65 6e 74 20 70 6f 72 74 69 6f 6e   ┆pmb ;basic dos (resident portion┆
0x0a8b60…0a8b80             29 0d 0a 63 70 6d 6c 09 65 71 75 09 24 2d 63 70 6d 62 09 3b 6c 65 6e 67 74 68 20 28 69 6e 20 62   ┆)  cpml equ $-cpmb ;length (in b┆
0x0a8b80…0a8ba0             79 74 65 73 29 20 6f 66 20 63 70 6d 20 73 79 73 74 65 6d 0d 0a 6e 73 65 63 74 73 09 65 71 75 09   ┆ytes) of cpm system  nsects equ ┆
0x0a8ba0…0a8bc0             63 70 6d 6c 2f 31 32 38 09 3b 6e 75 6d 62 65 72 20 6f 66 20 73 65 63 74 6f 72 73 20 74 6f 20 6c   ┆cpml/128 ;number of sectors to l┆
0x0a8bc0…0a8be0             6f 61 64 0d 0a 6f 66 66 73 65 74 09 65 71 75 09 32 09 3b 6e 75 6d 62 65 72 20 6f 66 20 64 69 73   ┆oad  offset equ 2 ;number of dis┆
0x0a8be0…0a8c00             6b 20 74 72 61 63 6b 73 20 75 73 65 64 20 62 79 20 63 70 2f 6d 0d 0a 63 64 69 73 6b 09 65 71 75   ┆k tracks used by cp/m  cdisk equ┆
0x0a8c00…0a8c20 (45, 0, 1)  0d 0a 09 64 69 73 6b 64 65 66 09 32 2c 30 0d 0a 09 64 69 73 6b 64 65 66 09 33 2c 30 0d 0a 3b 09   ┆   diskdef 2,0   diskdef 3,0  ; ┆
0x0a8c20…0a8c40             65 6e 64 65 66 20 6f 63 63 75 72 73 20 61 74 20 65 6e 64 20 6f 66 20 61 73 73 65 6d 62 6c 79 0d   ┆endef occurs at end of assembly ┆
0x0a8c40…0a8c60             0a 3b 0d 0a 3b 09 65 6e 64 20 6f 66 20 63 6f 6e 74 72 6f 6c 6c 65 72 20 2d 20 69 6e 64 65 70 65   ┆ ;  ; end of controller - indepe┆
0x0a8c60…0a8c80             6e 64 65 6e 74 20 63 6f 64 65 2c 20 74 68 65 20 72 65 6d 61 69 6e 69 6e 67 20 73 75 62 72 6f 75   ┆ndent code, the remaining subrou┆
0x0a8c80…0a8ca0             74 69 6e 65 73 0d 0a 3b 09 61 72 65 20 74 61 69 6c 6f 72 65 64 20 74 6f 20 74 68 65 20 70 61 72   ┆tines  ; are tailored to the par┆
0x0a8ca0…0a8cc0             74 69 63 75 6c 61 72 20 6f 70 65 72 61 74 69 6e 67 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 2c 20 61   ┆ticular operating environment, a┆
0x0a8cc0…0a8ce0             6e 64 20 6d 75 73 74 0d 0a 3b 09 62 65 20 61 6c 74 65 72 65 64 20 66 6f 72 20 61 6e 79 20 73 79   ┆nd must  ; be altered for any sy┆
0x0a8ce0…0a8d00             73 74 65 6d 20 77 68 69 63 68 20 64 69 66 66 65 72 73 20 66 72 6f 6d 20 74 68 65 20 69 6e 74 65   ┆stem which differs from the inte┆
0x0a8d00…0a8d20             6c 20 6d 64 73 2e 0d 0a 3b 0d 0a 3b 09 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 64 65 20   ┆l mds.  ;  ; the following code ┆
0x0a8d20…0a8d40             61 73 73 75 6d 65 73 20 74 68 65 20 6d 64 73 20 6d 6f 6e 69 74 6f 72 20 65 78 69 73 74 73 20 61   ┆assumes the mds monitor exists a┆
0x0a8d40…0a8d60             74 20 30 66 38 30 30 68 0d 0a 3b 09 61 6e 64 20 75 73 65 73 20 74 68 65 20 69 2f 6f 20 73 75 62   ┆t 0f800h  ; and uses the i/o sub┆
0x0a8d60…0a8d80             72 6f 75 74 69 6e 65 73 20 77 69 74 68 69 6e 20 74 68 65 20 6d 6f 6e 69 74 6f 72 0d 0a 3b 0d 0a   ┆routines within the monitor  ;  ┆
0x0a8d80…0a8da0             3b 09 77 65 20 61 6c 73 6f 20 61 73 73 75 6d 65 20 74 68 65 20 6d 64 73 20 73 79 73 74 65 6d 20   ┆; we also assume the mds system ┆
0x0a8da0…0a8dc0             68 61 73 20 66 6f 75 72 20 64 69 73 6b 20 64 72 69 76 65 73 0d 0a 72 65 76 72 74 09 65 71 75 09   ┆has four disk drives  revrt equ ┆
0x0a8dc0…0a8de0             30 66 64 68 09 3b 69 6e 74 65 72 72 75 70 74 20 72 65 76 65 72 74 20 70 6f 72 74 0d 0a 69 6e 74   ┆0fdh ;interrupt revert port  int┆
0x0a8de0…0a8e00             63 09 65 71 75 09 30 66 63 68 09 3b 69 6e 74 65 72 72 75 70 74 20 6d 61 73 6b 20 70 6f 72 74 0d   ┆c equ 0fch ;interrupt mask port ┆
0x0a8e00…0a8e20 (45, 0, 2)  6e 67 20 74 68 65 72 65 20 69 73 20 61 20 31 32 38 20 62 79 74 65 20 63 6f 6c 64 20 73 74 61 72   ┆ng there is a 128 byte cold star┆
0x0a8e20…0a8e40             74 0d 0a 3b 09 73 74 61 72 74 2e 0d 0a 3b 0d 0a 09 6c 78 69 09 73 70 2c 62 75 66 66 09 3b 75 73   ┆t  ; start.  ;   lxi sp,buff ;us┆
0x0a8e40…0a8e60             69 6e 67 20 64 6d 61 20 2d 20 74 68 75 73 20 38 30 20 74 68 72 75 20 66 66 20 61 76 61 69 6c 61   ┆ing dma - thus 80 thru ff availa┆
0x0a8e60…0a8e80             62 6c 65 20 66 6f 72 20 73 74 61 63 6b 0d 0a 3b 0d 0a 09 6d 76 69 09 63 2c 72 65 74 72 79 09 3b   ┆ble for stack  ;   mvi c,retry ;┆
0x0a8e80…0a8ea0             6d 61 78 20 72 65 74 72 69 65 73 0d 0a 09 70 75 73 68 09 62 0d 0a 77 62 6f 6f 74 30 3a 09 3b 65   ┆max retries   push b  wboot0: ;e┆
0x0a8ea0…0a8ec0             6e 74 65 72 20 68 65 72 65 20 6f 6e 20 65 72 72 6f 72 20 72 65 74 72 69 65 73 0d 0a 09 6c 78 69   ┆nter here on error retries   lxi┆
0x0a8ec0…0a8ee0             09 62 2c 63 70 6d 62 09 3b 73 65 74 20 64 6d 61 20 61 64 64 72 65 73 73 20 74 6f 20 73 74 61 72   ┆ b,cpmb ;set dma address to star┆
0x0a8ee0…0a8f00             74 20 6f 66 20 64 69 73 6b 20 73 79 73 74 65 6d 0d 0a 09 63 61 6c 6c 09 73 65 74 64 6d 61 0d 0a   ┆t of disk system   call setdma  ┆
0x0a8f00…0a8f20             09 6d 76 69 09 63 2c 30 09 3b 62 6f 6f 74 20 66 72 6f 6d 20 64 72 69 76 65 20 30 0d 0a 09 63 61   ┆ mvi c,0 ;boot from drive 0   ca┆
0x0a8f20…0a8f40             6c 6c 09 73 65 6c 64 73 6b 0d 0a 09 6d 76 69 09 63 2c 30 0d 0a 09 63 61 6c 6c 09 73 65 74 74 72   ┆ll seldsk   mvi c,0   call settr┆
0x0a8f40…0a8f60             6b 09 3b 73 74 61 72 74 20 77 69 74 68 20 74 72 61 63 6b 20 30 0d 0a 09 6d 76 69 09 63 2c 32 09   ┆k ;start with track 0   mvi c,2 ┆
0x0a8f60…0a8f80             3b 73 74 61 72 74 20 72 65 61 64 69 6e 67 20 73 65 63 74 6f 72 20 32 0d 0a 09 63 61 6c 6c 09 73   ┆;start reading sector 2   call s┆
0x0a8f80…0a8fa0             65 74 73 65 63 0d 0a 3b 0d 0a 3b 09 72 65 61 64 20 73 65 63 74 6f 72 73 2c 20 63 6f 75 6e 74 20   ┆etsec  ;  ; read sectors, count ┆
0x0a8fa0…0a8fc0             6e 73 65 63 74 73 20 74 6f 20 7a 65 72 6f 0d 0a 09 70 6f 70 09 62 09 3b 31 30 2d 65 72 72 6f 72   ┆nsects to zero   pop b ;10-error┆
0x0a8fc0…0a8fe0             20 63 6f 75 6e 74 0d 0a 09 6d 76 69 09 62 2c 6e 73 65 63 74 73 0d 0a 72 64 73 65 63 3a 09 3b 72   ┆ count   mvi b,nsects  rdsec: ;r┆
0x0a8fe0…0a9000             65 61 64 20 6e 65 78 74 20 73 65 63 74 6f 72 0d 0a 09 70 75 73 68 09 62 09 3b 73 61 76 65 20 73   ┆ead next sector   push b ;save s┆
0x0a9000…0a9020 (45, 0, 3)  74 72 69 65 73 0d 0a 09 6c 78 69 09 68 2c 62 6f 6f 74 6d 73 67 0d 0a 09 63 61 6c 6c 09 70 72 6d   ┆tries   lxi h,bootmsg   call prm┆
0x0a9020…0a9040             73 67 0d 0a 09 6a 6d 70 09 72 6d 6f 6e 38 30 09 3b 6d 64 73 20 68 61 72 64 77 61 72 65 20 6d 6f   ┆sg   jmp rmon80 ;mds hardware mo┆
0x0a9040…0a9060             6e 69 74 6f 72 0d 0a 3b 0d 0a 62 6f 6f 74 6d 73 67 3a 0d 0a 09 64 62 09 27 3f 62 6f 6f 74 27 2c   ┆nitor  ;  bootmsg:   db '?boot',┆
0x0a9060…0a9080             30 0d 0a 3b 0d 0a 3b 0d 0a 63 6f 6e 73 74 3a 09 3b 63 6f 6e 73 6f 6c 65 20 73 74 61 74 75 73 20   ┆0  ;  ;  const: ;console status ┆
0x0a9080…0a90a0             74 6f 20 72 65 67 2d 61 0d 0a 3b 09 28 65 78 61 63 74 6c 79 20 74 68 65 20 73 61 6d 65 20 61 73   ┆to reg-a  ; (exactly the same as┆
0x0a90a0…0a90c0             20 6d 64 73 20 63 61 6c 6c 29 0d 0a 09 6a 6d 70 09 63 73 74 73 0d 0a 3b 0d 0a 63 6f 6e 69 6e 3a   ┆ mds call)   jmp csts  ;  conin:┆
0x0a90c0…0a90e0             09 3b 63 6f 6e 73 6f 6c 65 20 63 68 61 72 61 63 74 65 72 20 74 6f 20 72 65 67 2d 61 0d 0a 09 63   ┆ ;console character to reg-a   c┆
0x0a90e0…0a9100             61 6c 6c 09 63 69 0d 0a 09 61 6e 69 09 37 66 68 09 3b 72 65 6d 6f 76 65 20 70 61 72 69 74 79 20   ┆all ci   ani 7fh ;remove parity ┆
0x0a9100…0a9120             62 69 74 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 63 6f 6e 6f 75 74 3a 09 3b 63 6f 6e 73 6f 6c 65 20 63   ┆bit   ret  ;  conout: ;console c┆
0x0a9120…0a9140             68 61 72 61 63 74 65 72 20 66 72 6f 6d 20 63 20 74 6f 20 63 6f 6e 73 6f 6c 65 20 6f 75 74 0d 0a   ┆haracter from c to console out  ┆
0x0a9140…0a9160             09 6a 6d 70 09 63 6f 0d 0a 3b 0d 0a 6c 69 73 74 3a 09 3b 6c 69 73 74 20 64 65 76 69 63 65 20 6f   ┆ jmp co  ;  list: ;list device o┆
0x0a9160…0a9180             75 74 0d 0a 3b 09 28 65 78 61 63 74 6c 79 20 74 68 65 20 73 61 6d 65 20 61 73 20 6d 64 73 20 63   ┆ut  ; (exactly the same as mds c┆
0x0a9180…0a91a0             61 6c 6c 29 0d 0a 09 6a 6d 70 09 6c 6f 0d 0a 3b 0d 0a 6c 69 73 74 73 74 3a 0d 0a 09 3b 72 65 74   ┆all)   jmp lo  ;  listst:   ;ret┆
0x0a91a0…0a91c0             75 72 6e 20 6c 69 73 74 20 73 74 61 74 75 73 0d 0a 09 78 72 61 09 61 0d 0a 09 72 65 74 09 09 3b   ┆urn list status   xra a   ret  ;┆
0x0a91c0…0a91e0             61 6c 77 61 79 73 20 6e 6f 74 20 72 65 61 64 79 0d 0a 3b 0d 0a 70 75 6e 63 68 3a 09 3b 70 75 6e   ┆always not ready  ;  punch: ;pun┆
0x0a91e0…0a9200             63 68 20 64 65 76 69 63 65 20 6f 75 74 0d 0a 3b 09 28 65 78 61 63 74 6c 79 20 74 68 65 20 73 61   ┆ch device out  ; (exactly the sa┆
0x0a9200…0a9220 (45, 0, 4)  09 09 3b 6d 61 79 20 68 61 76 65 20 65 72 72 6f 72 20 73 65 74 20 69 6e 20 72 65 67 2d 61 0d 0a   ┆  ;may have error set in reg-a  ┆
0x0a9220…0a9240             3b 0d 0a 3b 0d 0a 77 72 69 74 65 3a 09 3b 64 69 73 6b 20 77 72 69 74 65 20 66 75 6e 63 74 69 6f   ┆;  ;  write: ;disk write functio┆
0x0a9240…0a9260             6e 0d 0a 09 6d 76 69 09 63 2c 77 72 69 74 66 0d 0a 09 63 61 6c 6c 09 73 65 74 66 75 6e 63 09 3b   ┆n   mvi c,writf   call setfunc ;┆
0x0a9260…0a9280             73 65 74 20 74 6f 20 77 72 69 74 65 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 63 61 6c 6c 09 77 61 69   ┆set to write function   call wai┆
0x0a9280…0a92a0             74 69 6f 0d 0a 09 72 65 74 09 09 3b 6d 61 79 20 68 61 76 65 20 65 72 72 6f 72 20 73 65 74 0d 0a   ┆tio   ret  ;may have error set  ┆
0x0a92a0…0a92c0             3b 0d 0a 3b 0d 0a 3b 09 75 74 69 6c 69 74 79 20 73 75 62 72 6f 75 74 69 6e 65 73 0d 0a 70 72 6d   ┆;  ;  ; utility subroutines  prm┆
0x0a92c0…0a92e0             73 67 3a 09 3b 70 72 69 6e 74 20 6d 65 73 73 61 67 65 20 61 74 20 68 2c 6c 20 74 6f 20 30 0d 0a   ┆sg: ;print message at h,l to 0  ┆
0x0a92e0…0a9300             09 6d 6f 76 09 61 2c 6d 0d 0a 09 6f 72 61 09 61 09 3b 7a 65 72 6f 3f 0d 0a 09 72 7a 0d 0a 3b 09   ┆ mov a,m   ora a ;zero?   rz  ; ┆
0x0a9300…0a9320             6d 6f 72 65 20 74 6f 20 70 72 69 6e 74 0d 0a 09 70 75 73 68 09 68 0d 0a 09 6d 6f 76 09 63 2c 61   ┆more to print   push h   mov c,a┆
0x0a9320…0a9340             0d 0a 09 63 61 6c 6c 09 63 6f 6e 6f 75 74 0d 0a 09 70 6f 70 09 68 0d 0a 09 69 6e 78 09 68 0d 0a   ┆   call conout   pop h   inx h  ┆
0x0a9340…0a9360             09 6a 6d 70 09 70 72 6d 73 67 0d 0a 3b 0d 0a 73 65 74 66 75 6e 63 3a 0d 0a 3b 09 73 65 74 20 66   ┆ jmp prmsg  ;  setfunc:  ; set f┆
0x0a9360…0a9380             75 6e 63 74 69 6f 6e 20 66 6f 72 20 6e 65 78 74 20 69 2f 6f 20 28 63 6f 6d 6d 61 6e 64 20 69 6e   ┆unction for next i/o (command in┆
0x0a9380…0a93a0             20 72 65 67 2d 63 29 0d 0a 09 6c 78 69 09 68 2c 69 6f 66 09 3b 69 6f 20 66 75 6e 63 74 69 6f 6e   ┆ reg-c)   lxi h,iof ;io function┆
0x0a93a0…0a93c0             20 61 64 64 72 65 73 73 0d 0a 09 6d 6f 76 09 61 2c 6d 09 3b 67 65 74 20 69 74 20 74 6f 20 61 63   ┆ address   mov a,m ;get it to ac┆
0x0a93c0…0a93e0             63 75 6d 75 6c 61 74 6f 72 20 66 6f 72 20 6d 61 73 6b 69 6e 67 0d 0a 09 61 6e 69 09 31 31 31 31   ┆cumulator for masking   ani 1111┆
0x0a93e0…0a9400             31 30 30 30 62 09 3b 72 65 6d 6f 76 65 20 70 72 65 76 69 6f 75 73 20 63 6f 6d 6d 61 6e 64 0d 0a   ┆1000b ;remove previous command  ┆
0x0a9400…0a9420 (45, 0, 5)  0a 69 63 6f 6e 09 65 71 75 09 30 66 33 68 09 3b 69 6e 74 65 72 72 75 70 74 20 63 6f 6e 74 72 6f   ┆ icon equ 0f3h ;interrupt contro┆
0x0a9420…0a9440             6c 20 70 6f 72 74 0d 0a 69 6e 74 65 09 65 71 75 09 30 31 31 31 24 31 31 31 30 62 09 3b 65 6e 61   ┆l port  inte equ 0111$1110b ;ena┆
0x0a9440…0a9460             62 6c 65 20 72 73 74 20 30 28 77 61 72 6d 20 62 6f 6f 74 29 2c 20 72 73 74 20 37 20 28 6d 6f 6e   ┆ble rst 0(warm boot), rst 7 (mon┆
0x0a9460…0a9480             69 74 6f 72 29 0d 0a 3b 0d 0a 3b 09 6d 64 73 20 6d 6f 6e 69 74 6f 72 20 65 71 75 61 74 65 73 0d   ┆itor)  ;  ; mds monitor equates ┆
0x0a9480…0a94a0             0a 6d 6f 6e 38 30 09 65 71 75 09 30 66 38 30 30 68 09 3b 6d 64 73 20 6d 6f 6e 69 74 6f 72 0d 0a   ┆ mon80 equ 0f800h ;mds monitor  ┆
0x0a94a0…0a94c0             72 6d 6f 6e 38 30 09 65 71 75 09 30 66 66 30 66 68 09 3b 72 65 73 74 61 72 74 20 6d 6f 6e 38 30   ┆rmon80 equ 0ff0fh ;restart mon80┆
0x0a94c0…0a94e0             20 28 62 6f 6f 74 20 65 72 72 6f 72 29 0d 0a 63 69 09 65 71 75 09 30 66 38 30 33 68 09 3b 63 6f   ┆ (boot error)  ci equ 0f803h ;co┆
0x0a94e0…0a9500             6e 73 6f 6c 65 20 63 68 61 72 61 63 74 65 72 20 74 6f 20 72 65 67 2d 61 0d 0a 72 69 09 65 71 75   ┆nsole character to reg-a  ri equ┆
0x0a9500…0a9520             09 30 66 38 30 36 68 09 3b 72 65 61 64 65 72 20 69 6e 20 74 6f 20 72 65 67 2d 61 0d 0a 63 6f 09   ┆ 0f806h ;reader in to reg-a  co ┆
0x0a9520…0a9540             65 71 75 09 30 66 38 30 39 68 09 3b 63 6f 6e 73 6f 6c 65 20 63 68 61 72 20 66 72 6f 6d 20 63 20   ┆equ 0f809h ;console char from c ┆
0x0a9540…0a9560             74 6f 20 63 6f 6e 73 6f 6c 65 20 6f 75 74 0d 0a 70 6f 09 65 71 75 09 30 66 38 30 63 68 09 3b 70   ┆to console out  po equ 0f80ch ;p┆
0x0a9560…0a9580             75 6e 63 68 20 63 68 61 72 20 66 72 6f 6d 20 63 20 74 6f 20 70 75 6e 63 68 20 64 65 76 69 63 65   ┆unch char from c to punch device┆
0x0a9580…0a95a0             0d 0a 6c 6f 09 65 71 75 09 30 66 38 30 66 68 09 3b 6c 69 73 74 20 66 72 6f 6d 20 63 20 74 6f 20   ┆  lo equ 0f80fh ;list from c to ┆
0x0a95a0…0a95c0             6c 69 73 74 20 64 65 76 69 63 65 0d 0a 63 73 74 73 09 65 71 75 09 30 66 38 31 32 68 09 3b 63 6f   ┆list device  csts equ 0f812h ;co┆
0x0a95c0…0a95e0             6e 73 6f 6c 65 20 73 74 61 74 75 73 20 30 30 2f 66 66 20 74 6f 20 72 65 67 69 73 74 65 72 20 61   ┆nsole status 00/ff to register a┆
0x0a95e0…0a9600             0d 0a 3b 0d 0a 3b 09 64 69 73 6b 20 70 6f 72 74 73 20 61 6e 64 20 63 6f 6d 6d 61 6e 64 73 0d 0a   ┆  ;  ; disk ports and commands  ┆
0x0a9600…0a9620 (45, 0, 6)  65 63 74 6f 72 20 63 6f 75 6e 74 0d 0a 09 63 61 6c 6c 09 72 65 61 64 0d 0a 09 6a 6e 7a 09 62 6f   ┆ector count   call read   jnz bo┆
0x0a9620…0a9640             6f 74 65 72 72 09 3b 72 65 74 72 79 20 69 66 20 65 72 72 6f 72 73 20 6f 63 63 75 72 0d 0a 09 6c   ┆oterr ;retry if errors occur   l┆
0x0a9640…0a9660             68 6c 64 09 69 6f 64 09 3b 69 6e 63 72 65 6d 65 6e 74 20 64 6d 61 20 61 64 64 72 65 73 73 0d 0a   ┆hld iod ;increment dma address  ┆
0x0a9660…0a9680             09 6c 78 69 09 64 2c 31 32 38 09 3b 73 65 63 74 6f 72 20 73 69 7a 65 0d 0a 09 64 61 64 09 64 09   ┆ lxi d,128 ;sector size   dad d ┆
0x0a9680…0a96a0             3b 69 6e 63 72 65 6d 65 6e 74 65 64 20 64 6d 61 20 61 64 64 72 65 73 73 20 69 6e 20 68 6c 0d 0a   ┆;incremented dma address in hl  ┆
0x0a96a0…0a96c0             09 6d 6f 76 09 62 2c 68 0d 0a 09 6d 6f 76 09 63 2c 6c 09 3b 72 65 61 64 79 20 66 6f 72 20 63 61   ┆ mov b,h   mov c,l ;ready for ca┆
0x0a96c0…0a96e0             6c 6c 20 74 6f 20 73 65 74 20 64 6d 61 0d 0a 09 63 61 6c 6c 09 73 65 74 64 6d 61 0d 0a 09 6c 64   ┆ll to set dma   call setdma   ld┆
0x0a96e0…0a9700             61 09 69 6f 73 09 3b 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 20 6a 75 73 74 20 72 65 61 64 0d 0a   ┆a ios ;sector number just read  ┆
0x0a9700…0a9720             09 63 70 69 09 32 36 09 3b 72 65 61 64 20 6c 61 73 74 20 73 65 63 74 6f 72 3f 0d 0a 09 6a 63 09   ┆ cpi 26 ;read last sector?   jc ┆
0x0a9720…0a9740             72 64 31 0d 0a 3b 09 6d 75 73 74 20 62 65 20 73 65 63 74 6f 72 20 32 36 2c 20 7a 65 72 6f 20 61   ┆rd1  ; must be sector 26, zero a┆
0x0a9740…0a9760             6e 64 20 67 6f 20 74 6f 20 6e 65 78 74 20 74 72 61 63 6b 0d 0a 09 6c 64 61 09 69 6f 74 09 3b 67   ┆nd go to next track   lda iot ;g┆
0x0a9760…0a9780             65 74 20 74 72 61 63 6b 20 74 6f 20 72 65 67 69 73 74 65 72 20 61 0d 0a 09 69 6e 72 09 61 0d 0a   ┆et track to register a   inr a  ┆
0x0a9780…0a97a0             09 6d 6f 76 09 63 2c 61 09 3b 72 65 61 64 79 20 66 6f 72 20 63 61 6c 6c 0d 0a 09 63 61 6c 6c 09   ┆ mov c,a ;ready for call   call ┆
0x0a97a0…0a97c0             73 65 74 74 72 6b 0d 0a 09 78 72 61 09 61 09 3b 63 6c 65 61 72 20 73 65 63 74 6f 72 20 6e 75 6d   ┆settrk   xra a ;clear sector num┆
0x0a97c0…0a97e0             62 65 72 0d 0a 72 64 31 3a 09 69 6e 72 09 61 09 3b 74 6f 20 6e 65 78 74 20 73 65 63 74 6f 72 0d   ┆ber  rd1: inr a ;to next sector ┆
0x0a97e0…0a9800             0a 09 6d 6f 76 09 63 2c 61 09 3b 72 65 61 64 79 20 66 6f 72 20 63 61 6c 6c 0d 0a 09 63 61 6c 6c   ┆  mov c,a ;ready for call   call┆
0x0a9800…0a9820 (45, 0, 7)  6d 65 20 61 73 20 6d 64 73 20 63 61 6c 6c 29 0d 0a 09 6a 6d 70 09 70 6f 0d 0a 3b 0d 0a 72 65 61   ┆me as mds call)   jmp po  ;  rea┆
0x0a9820…0a9840             64 65 72 3a 09 3b 72 65 61 64 65 72 20 63 68 61 72 61 63 74 65 72 20 69 6e 20 74 6f 20 72 65 67   ┆der: ;reader character in to reg┆
0x0a9840…0a9860             2d 61 0d 0a 3b 09 28 65 78 61 63 74 6c 79 20 74 68 65 20 73 61 6d 65 20 61 73 20 6d 64 73 20 63   ┆-a  ; (exactly the same as mds c┆
0x0a9860…0a9880             61 6c 6c 29 0d 0a 09 6a 6d 70 09 72 69 0d 0a 3b 0d 0a 68 6f 6d 65 3a 09 3b 6d 6f 76 65 20 74 6f   ┆all)   jmp ri  ;  home: ;move to┆
0x0a9880…0a98a0             20 68 6f 6d 65 20 70 6f 73 69 74 69 6f 6e 0d 0a 3b 09 74 72 65 61 74 20 61 73 20 74 72 61 63 6b   ┆ home position  ; treat as track┆
0x0a98a0…0a98c0             20 30 30 20 73 65 65 6b 0d 0a 09 6d 76 69 09 63 2c 30 0d 0a 09 6a 6d 70 09 73 65 74 74 72 6b 0d   ┆ 00 seek   mvi c,0   jmp settrk ┆
0x0a98c0…0a98e0             0a 3b 0d 0a 73 65 6c 64 73 6b 3a 09 3b 73 65 6c 65 63 74 20 64 69 73 6b 20 67 69 76 65 6e 20 62   ┆ ;  seldsk: ;select disk given b┆
0x0a98e0…0a9900             79 20 72 65 67 69 73 74 65 72 20 63 0d 0a 09 6c 78 69 09 68 2c 30 30 30 30 68 09 3b 72 65 74 75   ┆y register c   lxi h,0000h ;retu┆
0x0a9900…0a9920             72 6e 20 30 30 30 30 20 69 66 20 65 72 72 6f 72 0d 0a 09 6d 6f 76 09 61 2c 63 0d 0a 09 63 70 69   ┆rn 0000 if error   mov a,c   cpi┆
0x0a9920…0a9940             09 6e 64 69 73 6b 73 09 3b 74 6f 6f 20 6c 61 72 67 65 3f 0d 0a 09 72 6e 63 09 09 3b 6c 65 61 76   ┆ ndisks ;too large?   rnc  ;leav┆
0x0a9940…0a9960             65 20 48 4c 20 3d 20 30 30 30 30 0d 0a 3b 0d 0a 09 61 6e 69 09 31 30 62 09 3b 30 30 20 30 30 20   ┆e HL = 0000  ;   ani 10b ;00 00 ┆
0x0a9960…0a9980             66 6f 72 20 64 72 69 76 65 20 30 2c 31 20 61 6e 64 20 31 30 20 31 30 20 66 6f 72 20 64 72 69 76   ┆for drive 0,1 and 10 10 for driv┆
0x0a9980…0a99a0             65 20 32 2c 33 0d 0a 09 73 74 61 09 64 62 61 6e 6b 09 3b 74 6f 20 73 65 6c 65 63 74 20 64 72 69   ┆e 2,3   sta dbank ;to select dri┆
0x0a99a0…0a99c0             76 65 20 62 61 6e 6b 0d 0a 09 6d 6f 76 09 61 2c 63 09 3b 30 30 2c 20 30 31 2c 20 31 30 2c 20 31   ┆ve bank   mov a,c ;00, 01, 10, 1┆
0x0a99c0…0a99e0             31 0d 0a 09 61 6e 69 09 31 62 09 3b 6d 64 73 20 68 61 73 20 30 2c 31 20 61 74 20 37 38 2c 20 32   ┆1   ani 1b ;mds has 0,1 at 78, 2┆
0x0a99e0…0a9a00             2c 33 20 61 74 20 38 38 0d 0a 09 6f 72 61 09 61 09 3b 72 65 73 75 6c 74 20 30 30 3f 0d 0a 09 6a   ┆,3 at 88   ora a ;result 00?   j┆
0x0a9a00…0a9a20 (45, 0, 8)  09 6f 72 61 09 63 09 3b 73 65 74 20 74 6f 20 6e 65 77 20 63 6f 6d 6d 61 6e 64 0d 0a 09 6d 6f 76   ┆ ora c ;set to new command   mov┆
0x0a9a20…0a9a40             09 6d 2c 61 09 3b 72 65 70 6c 61 63 65 64 20 69 6e 20 69 6f 70 62 0d 0a 3b 09 74 68 65 20 6d 64   ┆ m,a ;replaced in iopb  ; the md┆
0x0a9a40…0a9a60             73 2d 38 30 30 20 63 6f 6e 74 72 6f 6c 6c 65 72 20 72 65 71 75 69 72 65 73 20 64 69 73 6b 20 62   ┆s-800 controller requires disk b┆
0x0a9a60…0a9a80             61 6e 6b 20 62 69 74 20 69 6e 20 73 65 63 74 6f 72 20 62 79 74 65 0d 0a 3b 09 6d 61 73 6b 20 74   ┆ank bit in sector byte  ; mask t┆
0x0a9a80…0a9aa0             68 65 20 62 69 74 20 66 72 6f 6d 20 74 68 65 20 63 75 72 72 65 6e 74 20 69 2f 6f 20 66 75 6e 63   ┆he bit from the current i/o func┆
0x0a9aa0…0a9ac0             74 69 6f 6e 0d 0a 09 61 6e 69 09 30 30 31 30 30 30 30 30 62 09 3b 6d 61 73 6b 20 74 68 65 20 64   ┆tion   ani 00100000b ;mask the d┆
0x0a9ac0…0a9ae0             69 73 6b 20 73 65 6c 65 63 74 20 62 69 74 0d 0a 09 6c 78 69 09 68 2c 69 6f 73 09 09 3b 61 64 64   ┆isk select bit   lxi h,ios  ;add┆
0x0a9ae0…0a9b00             72 65 73 73 20 74 68 65 20 73 65 63 74 6f 72 20 73 65 6c 65 63 74 20 62 79 74 65 0d 0a 09 6f 72   ┆ress the sector select byte   or┆
0x0a9b00…0a9b20             61 09 6d 09 09 3b 73 65 6c 65 63 74 20 70 72 6f 70 65 72 20 64 69 73 6b 20 62 61 6e 6b 0d 0a 09   ┆a m  ;select proper disk bank   ┆
0x0a9b20…0a9b40             6d 6f 76 09 6d 2c 61 09 09 3b 73 65 74 20 64 69 73 6b 20 73 65 6c 65 63 74 20 62 69 74 20 6f 6e   ┆mov m,a  ;set disk select bit on┆
0x0a9b40…0a9b60             2f 6f 66 66 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 77 61 69 74 69 6f 3a 0d 0a 09 6d 76 69 09 63 2c 72   ┆/off   ret  ;  waitio:   mvi c,r┆
0x0a9b60…0a9b80             65 74 72 79 09 3b 6d 61 78 20 72 65 74 72 69 65 73 20 62 65 66 6f 72 65 20 70 65 72 6d 20 65 72   ┆etry ;max retries before perm er┆
0x0a9b80…0a9ba0             72 6f 72 0d 0a 72 65 77 61 69 74 3a 0d 0a 3b 09 73 74 61 72 74 20 74 68 65 20 69 2f 6f 20 66 75   ┆ror  rewait:  ; start the i/o fu┆
0x0a9ba0…0a9bc0             6e 63 74 69 6f 6e 20 61 6e 64 20 77 61 69 74 20 66 6f 72 20 63 6f 6d 70 6c 65 74 69 6f 6e 0d 0a   ┆nction and wait for completion  ┆
0x0a9bc0…0a9be0             09 63 61 6c 6c 09 69 6e 74 79 70 65 09 3b 69 6e 20 72 74 79 70 65 0d 0a 09 63 61 6c 6c 09 69 6e   ┆ call intype ;in rtype   call in┆
0x0a9be0…0a9c00             62 79 74 65 09 3b 63 6c 65 61 72 73 20 74 68 65 20 63 6f 6e 74 72 6f 6c 6c 65 72 0d 0a 3b 0d 0a   ┆byte ;clears the controller  ;  ┆
0x0a9c00…0a9c20 (45, 0, 9)  62 61 73 65 09 65 71 75 09 37 38 68 09 3b 62 61 73 65 20 6f 66 20 64 69 73 6b 20 63 6f 6d 6d 61   ┆base equ 78h ;base of disk comma┆
0x0a9c20…0a9c40             6e 64 20 69 6f 20 70 6f 72 74 73 0d 0a 64 73 74 61 74 09 65 71 75 09 62 61 73 65 09 3b 64 69 73   ┆nd io ports  dstat equ base ;dis┆
0x0a9c40…0a9c60             6b 20 73 74 61 74 75 73 20 28 69 6e 70 75 74 29 0d 0a 72 74 79 70 65 09 65 71 75 09 62 61 73 65   ┆k status (input)  rtype equ base┆
0x0a9c60…0a9c80             2b 31 09 3b 72 65 73 75 6c 74 20 74 79 70 65 20 28 69 6e 70 75 74 29 0d 0a 72 62 79 74 65 09 65   ┆+1 ;result type (input)  rbyte e┆
0x0a9c80…0a9ca0             71 75 09 62 61 73 65 2b 33 09 3b 72 65 73 75 6c 74 20 62 79 74 65 20 28 69 6e 70 75 74 29 0d 0a   ┆qu base+3 ;result byte (input)  ┆
0x0a9ca0…0a9cc0             3b 0d 0a 69 6c 6f 77 09 65 71 75 09 62 61 73 65 2b 31 09 3b 69 6f 70 62 20 6c 6f 77 20 61 64 64   ┆;  ilow equ base+1 ;iopb low add┆
0x0a9cc0…0a9ce0             72 65 73 73 20 28 6f 75 74 70 75 74 29 0d 0a 69 68 69 67 68 09 65 71 75 09 62 61 73 65 2b 32 09   ┆ress (output)  ihigh equ base+2 ┆
0x0a9ce0…0a9d00             3b 69 6f 70 62 20 68 69 67 68 20 61 64 64 72 65 73 73 20 28 6f 75 74 70 75 74 29 0d 0a 3b 0d 0a   ┆;iopb high address (output)  ;  ┆
0x0a9d00…0a9d20             72 65 61 64 66 09 65 71 75 09 34 68 09 3b 72 65 61 64 20 66 75 6e 63 74 69 6f 6e 0d 0a 77 72 69   ┆readf equ 4h ;read function  wri┆
0x0a9d20…0a9d40             74 66 09 65 71 75 09 36 68 09 3b 77 72 69 74 65 20 66 75 6e 63 74 69 6f 6e 0d 0a 72 65 63 61 6c   ┆tf equ 6h ;write function  recal┆
0x0a9d40…0a9d60             09 65 71 75 09 33 68 09 3b 72 65 63 61 6c 69 62 72 61 74 65 20 64 72 69 76 65 0d 0a 69 6f 72 64   ┆ equ 3h ;recalibrate drive  iord┆
0x0a9d60…0a9d80             79 09 65 71 75 09 34 68 09 3b 69 2f 6f 20 66 69 6e 69 73 68 65 64 20 6d 61 73 6b 0d 0a 63 72 09   ┆y equ 4h ;i/o finished mask  cr ┆
0x0a9d80…0a9da0             65 71 75 09 30 64 68 09 3b 63 61 72 72 69 61 67 65 20 72 65 74 75 72 6e 0d 0a 6c 66 09 65 71 75   ┆equ 0dh ;carriage return  lf equ┆
0x0a9da0…0a9dc0             09 30 61 68 09 3b 6c 69 6e 65 20 66 65 65 64 0d 0a 3b 0d 0a 73 69 67 6e 6f 6e 3a 09 3b 73 69 67   ┆ 0ah ;line feed  ;  signon: ;sig┆
0x0a9dc0…0a9de0             6e 6f 6e 20 6d 65 73 73 61 67 65 3a 20 78 78 6b 20 63 70 2f 6d 20 76 65 72 73 20 79 2e 79 0d 0a   ┆non message: xxk cp/m vers y.y  ┆
0x0a9de0…0a9e00             09 64 62 09 63 72 2c 6c 66 2c 6c 66 0d 0a 09 69 66 09 74 65 73 74 0d 0a 09 64 62 09 27 33 32 27   ┆ db cr,lf,lf   if test   db '32'┆
0x0a9e00…0a9e20 (45, 0, 10) 09 73 65 74 73 65 63 0d 0a 09 70 6f 70 09 62 09 3b 72 65 63 61 6c 6c 20 73 65 63 74 6f 72 20 63   ┆ setsec   pop b ;recall sector c┆
0x0a9e20…0a9e40             6f 75 6e 74 0d 0a 09 64 63 72 09 62 09 3b 64 6f 6e 65 3f 0d 0a 09 6a 6e 7a 09 72 64 73 65 63 0d   ┆ount   dcr b ;done?   jnz rdsec ┆
0x0a9e40…0a9e60             0a 3b 0d 0a 3b 09 64 6f 6e 65 20 77 69 74 68 20 74 68 65 20 6c 6f 61 64 2c 20 72 65 73 65 74 20   ┆ ;  ; done with the load, reset ┆
0x0a9e60…0a9e80             64 65 66 61 75 6c 74 20 62 75 66 66 65 72 20 61 64 64 72 65 73 73 0d 0a 67 6f 63 70 6d 3a 09 3b   ┆default buffer address  gocpm: ;┆
0x0a9e80…0a9ea0             28 65 6e 74 65 72 20 68 65 72 65 20 66 72 6f 6d 20 63 6f 6c 64 20 73 74 61 72 74 20 62 6f 6f 74   ┆(enter here from cold start boot┆
0x0a9ea0…0a9ec0             29 0d 0a 3b 09 65 6e 61 62 6c 65 20 72 73 74 30 20 61 6e 64 20 72 73 74 37 0d 0a 09 64 69 0d 0a   ┆)  ; enable rst0 and rst7   di  ┆
0x0a9ec0…0a9ee0             09 6d 76 69 09 61 2c 31 32 68 09 3b 69 6e 69 74 69 61 6c 69 7a 65 20 63 6f 6d 6d 61 6e 64 0d 0a   ┆ mvi a,12h ;initialize command  ┆
0x0a9ee0…0a9f00             09 6f 75 74 09 72 65 76 72 74 0d 0a 09 78 72 61 09 61 0d 0a 09 6f 75 74 09 69 6e 74 63 09 3b 63   ┆ out revrt   xra a   out intc ;c┆
0x0a9f00…0a9f20             6c 65 61 72 65 64 0d 0a 09 6d 76 69 09 61 2c 69 6e 74 65 09 3b 72 73 74 30 20 61 6e 64 20 72 73   ┆leared   mvi a,inte ;rst0 and rs┆
0x0a9f20…0a9f40             74 37 20 62 69 74 73 20 6f 6e 0d 0a 09 6f 75 74 09 69 6e 74 63 0d 0a 09 78 72 61 09 61 0d 0a 09   ┆t7 bits on   out intc   xra a   ┆
0x0a9f40…0a9f60             6f 75 74 09 69 63 6f 6e 09 3b 69 6e 74 65 72 72 75 70 74 20 63 6f 6e 74 72 6f 6c 0d 0a 3b 0d 0a   ┆out icon ;interrupt control  ;  ┆
0x0a9f60…0a9f80             3b 09 73 65 74 20 64 65 66 61 75 6c 74 20 62 75 66 66 65 72 20 61 64 64 72 65 73 73 20 74 6f 20   ┆; set default buffer address to ┆
0x0a9f80…0a9fa0             38 30 68 0d 0a 09 6c 78 69 09 62 2c 62 75 66 66 0d 0a 09 63 61 6c 6c 09 73 65 74 64 6d 61 0d 0a   ┆80h   lxi b,buff   call setdma  ┆
0x0a9fa0…0a9fc0             3b 0d 0a 3b 09 72 65 73 65 74 20 6d 6f 6e 69 74 6f 72 20 65 6e 74 72 79 20 70 6f 69 6e 74 73 0d   ┆;  ; reset monitor entry points ┆
0x0a9fc0…0a9fe0             0a 09 6d 76 69 09 61 2c 6a 6d 70 0d 0a 09 73 74 61 09 30 0d 0a 09 6c 78 69 09 68 2c 77 62 6f 6f   ┆  mvi a,jmp   sta 0   lxi h,wboo┆
0x0a9fe0…0aa000             74 65 0d 0a 09 73 68 6c 64 09 31 09 3b 6a 6d 70 20 77 62 6f 6f 74 20 61 74 20 6c 6f 63 61 74 69   ┆te   shld 1 ;jmp wboot at locati┆
0x0aa000…0aa020 (45, 0, 11) 7a 09 73 65 74 64 72 69 76 65 0d 0a 09 6d 76 69 09 61 2c 30 30 31 31 30 30 30 30 62 09 3b 73 65   ┆z setdrive   mvi a,00110000b ;se┆
0x0aa020…0aa040             6c 65 63 74 73 20 64 72 69 76 65 20 31 20 69 6e 20 62 61 6e 6b 0d 0a 73 65 74 64 72 69 76 65 3a   ┆lects drive 1 in bank  setdrive:┆
0x0aa040…0aa060             0d 0a 09 6d 6f 76 09 62 2c 61 09 3b 73 61 76 65 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 0d 0a 09   ┆   mov b,a ;save the function   ┆
0x0aa060…0aa080             6c 78 69 09 68 2c 69 6f 66 09 3b 69 6f 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 6d 6f 76 09 61 2c 6d   ┆lxi h,iof ;io function   mov a,m┆
0x0aa080…0aa0a0             0d 0a 09 61 6e 69 09 31 31 30 30 31 31 31 31 62 09 3b 6d 61 73 6b 20 6f 75 74 20 64 69 73 6b 20   ┆   ani 11001111b ;mask out disk ┆
0x0aa0a0…0aa0c0             6e 75 6d 62 65 72 0d 0a 09 6f 72 61 09 62 09 3b 6d 61 73 6b 20 69 6e 20 6e 65 77 20 64 69 73 6b   ┆number   ora b ;mask in new disk┆
0x0aa0c0…0aa0e0             20 6e 75 6d 62 65 72 0d 0a 09 6d 6f 76 09 6d 2c 61 09 3b 73 61 76 65 20 69 74 20 69 6e 20 69 6f   ┆ number   mov m,a ;save it in io┆
0x0aa0e0…0aa100             70 62 0d 0a 09 6d 6f 76 09 6c 2c 63 0d 0a 09 6d 76 69 09 68 2c 30 09 3b 48 4c 3d 64 69 73 6b 20   ┆pb   mov l,c   mvi h,0 ;HL=disk ┆
0x0aa100…0aa120             6e 75 6d 62 65 72 0d 0a 09 64 61 64 09 68 09 3b 2a 32 0d 0a 09 64 61 64 09 68 09 3b 2a 34 0d 0a   ┆number   dad h ;*2   dad h ;*4  ┆
0x0aa120…0aa140             09 64 61 64 09 68 09 3b 2a 38 0d 0a 09 64 61 64 09 68 09 3b 2a 31 36 0d 0a 09 6c 78 69 09 64 2c   ┆ dad h ;*8   dad h ;*16   lxi d,┆
0x0aa140…0aa160             64 70 62 61 73 65 0d 0a 09 64 61 64 09 64 09 3b 48 4c 3d 64 69 73 6b 20 68 65 61 64 65 72 20 74   ┆dpbase   dad d ;HL=disk header t┆
0x0aa160…0aa180             61 62 6c 65 20 61 64 64 72 65 73 73 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 3b 0d 0a 73 65 74 74 72 6b   ┆able address   ret  ;  ;  settrk┆
0x0aa180…0aa1a0             3a 09 3b 73 65 74 20 74 72 61 63 6b 20 61 64 64 72 65 73 73 20 67 69 76 65 6e 20 62 79 20 63 0d   ┆: ;set track address given by c ┆
0x0aa1a0…0aa1c0             0a 09 6c 78 69 09 68 2c 69 6f 74 0d 0a 09 6d 6f 76 09 6d 2c 63 0d 0a 09 72 65 74 0d 0a 3b 0d 0a   ┆  lxi h,iot   mov m,c   ret  ;  ┆
0x0aa1c0…0aa1e0             73 65 74 73 65 63 3a 09 3b 73 65 74 20 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 20 67 69 76 65 6e   ┆setsec: ;set sector number given┆
0x0aa1e0…0aa200             20 62 79 20 63 0d 0a 09 6c 78 69 09 68 2c 69 6f 73 0d 0a 09 6d 6f 76 09 6d 2c 63 0d 0a 09 72 65   ┆ by c   lxi h,ios   mov m,c   re┆
0x0aa200…0aa220 (45, 0, 12) 09 6c 64 61 09 64 62 61 6e 6b 09 09 3b 73 65 74 20 62 61 6e 6b 20 66 6c 61 67 73 0d 0a 09 6f 72   ┆ lda dbank  ;set bank flags   or┆
0x0aa220…0aa240             61 09 61 09 09 3b 7a 65 72 6f 20 69 66 20 64 72 69 76 65 20 30 2c 31 20 61 6e 64 20 6e 7a 20 69   ┆a a  ;zero if drive 0,1 and nz i┆
0x0aa240…0aa260             66 20 32 2c 33 0d 0a 09 6d 76 69 09 61 2c 69 6f 70 62 20 61 6e 64 20 30 66 66 68 09 3b 6c 6f 77   ┆f 2,3   mvi a,iopb and 0ffh ;low┆
0x0aa260…0aa280             20 61 64 64 72 65 73 73 20 66 6f 72 20 69 6f 70 62 0d 0a 09 6d 76 69 09 62 2c 69 6f 70 62 20 73   ┆ address for iopb   mvi b,iopb s┆
0x0aa280…0aa2a0             68 72 20 38 09 3b 68 69 67 68 20 61 64 64 72 65 73 73 20 66 6f 72 20 69 6f 70 62 0d 0a 09 6a 6e   ┆hr 8 ;high address for iopb   jn┆
0x0aa2a0…0aa2c0             7a 09 69 6f 64 72 31 09 3b 64 72 69 76 65 20 62 61 6e 6b 20 31 3f 0d 0a 09 6f 75 74 09 69 6c 6f   ┆z iodr1 ;drive bank 1?   out ilo┆
0x0aa2c0…0aa2e0             77 09 09 3b 6c 6f 77 20 61 64 64 72 65 73 73 20 74 6f 20 63 6f 6e 74 72 6f 6c 6c 65 72 0d 0a 09   ┆w  ;low address to controller   ┆
0x0aa2e0…0aa300             6d 6f 76 09 61 2c 62 0d 0a 09 6f 75 74 09 69 68 69 67 68 09 3b 68 69 67 68 20 61 64 64 72 65 73   ┆mov a,b   out ihigh ;high addres┆
0x0aa300…0aa320             73 0d 0a 09 6a 6d 70 09 77 61 69 74 30 09 09 3b 74 6f 20 77 61 69 74 20 66 6f 72 20 63 6f 6d 70   ┆s   jmp wait0  ;to wait for comp┆
0x0aa320…0aa340             6c 65 74 65 0d 0a 3b 0d 0a 69 6f 64 72 31 3a 09 3b 64 72 69 76 65 20 62 61 6e 6b 20 31 0d 0a 09   ┆lete  ;  iodr1: ;drive bank 1   ┆
0x0aa340…0aa360             6f 75 74 09 69 6c 6f 77 2b 31 30 68 09 3b 38 38 20 66 6f 72 20 64 72 69 76 65 20 62 61 6e 6b 20   ┆out ilow+10h ;88 for drive bank ┆
0x0aa360…0aa380             31 30 0d 0a 09 6d 6f 76 09 61 2c 62 0d 0a 09 6f 75 74 09 69 68 69 67 68 2b 31 30 68 0d 0a 3b 0d   ┆10   mov a,b   out ihigh+10h  ; ┆
0x0aa380…0aa3a0             0a 77 61 69 74 30 3a 09 63 61 6c 6c 09 69 6e 73 74 61 74 09 09 3b 77 61 69 74 20 66 6f 72 20 63   ┆ wait0: call instat  ;wait for c┆
0x0aa3a0…0aa3c0             6f 6d 70 6c 65 74 69 6f 6e 0d 0a 09 61 6e 69 09 69 6f 72 64 79 09 09 3b 72 65 61 64 79 3f 0d 0a   ┆ompletion   ani iordy  ;ready?  ┆
0x0aa3c0…0aa3e0             09 6a 7a 09 77 61 69 74 30 0d 0a 3b 0d 0a 3b 09 63 68 65 63 6b 20 69 6f 20 63 6f 6d 70 6c 65 74   ┆ jz wait0  ;  ; check io complet┆
0x0aa3e0…0aa400             69 6f 6e 20 6f 6b 0d 0a 09 63 61 6c 6c 09 69 6e 74 79 70 65 09 09 3b 6d 75 73 74 20 62 65 20 69   ┆ion ok   call intype  ;must be i┆
0x0aa400…0aa420 (45, 0, 13) 09 3b 33 32 6b 20 65 78 61 6d 70 6c 65 20 62 69 6f 73 0d 0a 09 65 6e 64 69 66 0d 0a 09 69 66 09   ┆ ;32k example bios   endif   if ┆
0x0aa420…0aa440             6e 6f 74 20 74 65 73 74 0d 0a 09 64 62 09 27 30 30 27 09 3b 6d 65 6d 6f 72 79 20 73 69 7a 65 20   ┆not test   db '00' ;memory size ┆
0x0aa440…0aa460             66 69 6c 6c 65 64 20 62 79 20 72 65 6c 6f 63 61 74 6f 72 0d 0a 09 65 6e 64 69 66 0d 0a 09 64 62   ┆filled by relocator   endif   db┆
0x0aa460…0aa480             09 27 6b 20 43 50 2f 4d 20 76 65 72 73 20 27 0d 0a 09 64 62 09 76 65 72 73 2f 31 30 2b 27 30 27   ┆ 'k CP/M vers '   db vers/10+'0'┆
0x0aa480…0aa4a0             2c 27 2e 27 2c 76 65 72 73 20 6d 6f 64 20 31 30 2b 27 30 27 0d 0a 09 64 62 09 63 72 2c 6c 66 2c   ┆,'.',vers mod 10+'0'   db cr,lf,┆
0x0aa4a0…0aa4c0             30 0d 0a 3b 0d 0a 62 6f 6f 74 3a 09 3b 70 72 69 6e 74 20 73 69 67 6e 6f 6e 20 6d 65 73 73 61 67   ┆0  ;  boot: ;print signon messag┆
0x0aa4c0…0aa4e0             65 20 61 6e 64 20 67 6f 20 74 6f 20 63 63 70 0d 0a 3b 09 28 6e 6f 74 65 3a 20 6d 64 73 20 62 6f   ┆e and go to ccp  ; (note: mds bo┆
0x0aa4e0…0aa500             6f 74 20 69 6e 69 74 69 61 6c 69 7a 65 64 20 69 6f 62 79 74 65 20 61 74 20 30 30 30 33 68 29 0d   ┆ot initialized iobyte at 0003h) ┆
0x0aa500…0aa520             0a 09 6c 78 69 09 73 70 2c 62 75 66 66 2b 38 30 68 0d 0a 09 6c 78 69 09 68 2c 73 69 67 6e 6f 6e   ┆  lxi sp,buff+80h   lxi h,signon┆
0x0aa520…0aa540             0d 0a 09 63 61 6c 6c 09 70 72 6d 73 67 09 3b 70 72 69 6e 74 20 6d 65 73 73 61 67 65 0d 0a 09 78   ┆   call prmsg ;print message   x┆
0x0aa540…0aa560             72 61 09 61 09 3b 63 6c 65 61 72 20 61 63 63 75 6d 75 6c 61 74 6f 72 0d 0a 09 73 74 61 09 63 64   ┆ra a ;clear accumulator   sta cd┆
0x0aa560…0aa580             69 73 6b 09 3b 73 65 74 20 69 6e 69 74 69 61 6c 6c 79 20 74 6f 20 64 69 73 6b 20 61 0d 0a 09 6a   ┆isk ;set initially to disk a   j┆
0x0aa580…0aa5a0             6d 70 09 67 6f 63 70 6d 09 3b 67 6f 20 74 6f 20 63 70 2f 6d 0d 0a 3b 0d 0a 3b 0d 0a 77 62 6f 6f   ┆mp gocpm ;go to cp/m  ;  ;  wboo┆
0x0aa5a0…0aa5c0             74 3a 3b 09 6c 6f 61 64 65 72 20 6f 6e 20 74 72 61 63 6b 20 30 2c 20 73 65 63 74 6f 72 20 31 2c   ┆t:; loader on track 0, sector 1,┆
0x0aa5c0…0aa5e0             20 77 68 69 63 68 20 77 69 6c 6c 20 62 65 20 73 6b 69 70 70 65 64 20 66 6f 72 20 77 61 72 6d 20   ┆ which will be skipped for warm ┆
0x0aa5e0…0aa600             0d 0a 3b 09 72 65 61 64 20 63 70 2f 6d 20 66 72 6f 6d 20 64 69 73 6b 20 2d 20 61 73 73 75 6d 69   ┆  ; read cp/m from disk - assumi┆
0x0aa600…0aa620 (45, 0, 14) 6f 6e 20 30 30 0d 0a 09 73 74 61 09 35 0d 0a 09 6c 78 69 09 68 2c 62 64 6f 73 0d 0a 09 73 68 6c   ┆on 00   sta 5   lxi h,bdos   shl┆
0x0aa620…0aa640             64 09 36 09 3b 6a 6d 70 20 62 64 6f 73 20 61 74 20 6c 6f 63 61 74 69 6f 6e 20 35 0d 0a 09 69 66   ┆d 6 ;jmp bdos at location 5   if┆
0x0aa640…0aa660             09 6e 6f 74 20 74 65 73 74 0d 0a 09 73 74 61 09 37 2a 38 09 3b 6a 6d 70 20 74 6f 20 6d 6f 6e 38   ┆ not test   sta 7*8 ;jmp to mon8┆
0x0aa660…0aa680             30 20 28 6d 61 79 20 68 61 76 65 20 62 65 65 6e 20 63 68 61 6e 67 65 64 20 62 79 20 64 64 74 29   ┆0 (may have been changed by ddt)┆
0x0aa680…0aa6a0             0d 0a 09 6c 78 69 09 68 2c 6d 6f 6e 38 30 0d 0a 09 73 68 6c 64 09 37 2a 38 2b 31 0d 0a 09 65 6e   ┆   lxi h,mon80   shld 7*8+1   en┆
0x0aa6a0…0aa6c0             64 69 66 0d 0a 3b 09 6c 65 61 76 65 20 69 6f 62 79 74 65 20 73 65 74 0d 0a 3b 09 70 72 65 76 69   ┆dif  ; leave iobyte set  ; previ┆
0x0aa6c0…0aa6e0             6f 75 73 6c 79 20 73 65 6c 65 63 74 65 64 20 64 69 73 6b 20 77 61 73 20 62 2c 20 73 65 6e 64 20   ┆ously selected disk was b, send ┆
0x0aa6e0…0aa700             70 61 72 61 6d 65 74 65 72 20 74 6f 20 63 70 6d 0d 0a 09 6c 64 61 09 63 64 69 73 6b 09 3b 6c 61   ┆parameter to cpm   lda cdisk ;la┆
0x0aa700…0aa720             73 74 20 6c 6f 67 67 65 64 20 64 69 73 6b 20 6e 75 6d 62 65 72 0d 0a 09 6d 6f 76 09 63 2c 61 09   ┆st logged disk number   mov c,a ┆
0x0aa720…0aa740             3b 73 65 6e 64 20 74 6f 20 63 63 70 20 74 6f 20 6c 6f 67 20 69 74 20 69 6e 0d 0a 09 65 69 0d 0a   ┆;send to ccp to log it in   ei  ┆
0x0aa740…0aa760             09 6a 6d 70 09 63 70 6d 62 0d 0a 3b 0d 0a 3b 09 65 72 72 6f 72 20 63 6f 6e 64 69 74 69 6f 6e 20   ┆ jmp cpmb  ;  ; error condition ┆
0x0aa760…0aa780             6f 63 63 75 72 72 65 64 2c 20 70 72 69 6e 74 20 6d 65 73 73 61 67 65 20 61 6e 64 20 72 65 74 72   ┆occurred, print message and retr┆
0x0aa780…0aa7a0             79 0d 0a 62 6f 6f 74 65 72 72 3a 0d 0a 09 70 6f 70 09 62 09 3b 72 65 63 61 6c 6c 20 63 6f 75 6e   ┆y  booterr:   pop b ;recall coun┆
0x0aa7a0…0aa7c0             74 73 0d 0a 09 64 63 72 09 63 0d 0a 09 6a 7a 09 62 6f 6f 74 65 72 30 0d 0a 3b 09 74 72 79 20 61   ┆ts   dcr c   jz booter0  ; try a┆
0x0aa7c0…0aa7e0             67 61 69 6e 0d 0a 09 70 75 73 68 09 62 0d 0a 09 6a 6d 70 09 77 62 6f 6f 74 30 0d 0a 3b 0d 0a 62   ┆gain   push b   jmp wboot0  ;  b┆
0x0aa7e0…0aa800             6f 6f 74 65 72 30 3a 0d 0a 3b 09 6f 74 68 65 72 77 69 73 65 20 74 6f 6f 20 6d 61 6e 79 20 72 65   ┆ooter0:  ; otherwise too many re┆
0x0aa800…0aa820 (45, 0, 15) 74 0d 0a 73 65 63 74 72 61 6e 3a 0d 0a 09 09 3b 74 72 61 6e 73 6c 61 74 65 20 73 65 63 74 6f 72   ┆t  sectran:    ;translate sector┆
0x0aa820…0aa840             20 62 63 20 75 73 69 6e 67 20 74 61 62 6c 65 20 61 74 20 64 65 0d 0a 09 6d 76 69 09 62 2c 30 09   ┆ bc using table at de   mvi b,0 ┆
0x0aa840…0aa860             3b 64 6f 75 62 6c 65 20 70 72 65 63 69 73 69 6f 6e 20 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 20   ┆;double precision sector number ┆
0x0aa860…0aa880             69 6e 20 42 43 0d 0a 09 78 63 68 67 09 09 3b 74 72 61 6e 73 6c 61 74 65 20 74 61 62 6c 65 20 61   ┆in BC   xchg  ;translate table a┆
0x0aa880…0aa8a0             64 64 72 65 73 73 20 74 6f 20 48 4c 0d 0a 09 64 61 64 09 62 09 3b 74 72 61 6e 73 6c 61 74 65 28   ┆ddress to HL   dad b ;translate(┆
0x0aa8a0…0aa8c0             73 65 63 74 6f 72 29 20 61 64 64 72 65 73 73 0d 0a 09 6d 6f 76 09 61 2c 6d 09 3b 74 72 61 6e 73   ┆sector) address   mov a,m ;trans┆
0x0aa8c0…0aa8e0             6c 61 74 65 64 20 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 20 74 6f 20 41 0d 0a 09 73 74 61 09 69   ┆lated sector number to A   sta i┆
0x0aa8e0…0aa900             6f 73 0d 0a 09 6d 6f 76 09 6c 2c 61 09 3b 72 65 74 75 72 6e 20 73 65 63 74 6f 72 20 6e 75 6d 62   ┆os   mov l,a ;return sector numb┆
0x0aa900…0aa920             65 72 20 69 6e 20 4c 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 73 65 74 64 6d 61 3a 09 3b 73 65 74 20 64   ┆er in L   ret  ;  setdma: ;set d┆
0x0aa920…0aa940             6d 61 20 61 64 64 72 65 73 73 20 67 69 76 65 6e 20 62 79 20 72 65 67 73 20 62 2c 63 0d 0a 09 6d   ┆ma address given by regs b,c   m┆
0x0aa940…0aa960             6f 76 09 6c 2c 63 0d 0a 09 6d 6f 76 09 68 2c 62 0d 0a 09 73 68 6c 64 09 69 6f 64 0d 0a 09 72 65   ┆ov l,c   mov h,b   shld iod   re┆
0x0aa960…0aa980             74 0d 0a 3b 0d 0a 72 65 61 64 3a 09 3b 72 65 61 64 20 6e 65 78 74 20 64 69 73 6b 20 72 65 63 6f   ┆t  ;  read: ;read next disk reco┆
0x0aa980…0aa9a0             72 64 20 28 61 73 73 75 6d 69 6e 67 20 64 69 73 6b 2f 74 72 6b 2f 73 65 63 2f 64 6d 61 20 73 65   ┆rd (assuming disk/trk/sec/dma se┆
0x0aa9a0…0aa9c0             74 29 0d 0a 09 6d 76 69 09 63 2c 72 65 61 64 66 09 3b 73 65 74 20 74 6f 20 72 65 61 64 20 66 75   ┆t)   mvi c,readf ;set to read fu┆
0x0aa9c0…0aa9e0             6e 63 74 69 6f 6e 0d 0a 09 63 61 6c 6c 09 73 65 74 66 75 6e 63 0d 0a 09 63 61 6c 6c 09 77 61 69   ┆nction   call setfunc   call wai┆
0x0aa9e0…0aaa00             74 69 6f 09 3b 70 65 72 66 6f 72 6d 20 72 65 61 64 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 72 65 74   ┆tio ;perform read function   ret┆
0x0aaa00…0aaa20 (45, 1, 1)  6f 20 63 6f 6d 70 6c 65 74 65 20 28 30 30 29 20 75 6e 6c 69 6e 6b 65 64 0d 0a 3b 09 30 30 20 75   ┆o complete (00) unlinked  ; 00 u┆
0x0aaa20…0aaa40             6e 6c 69 6e 6b 65 64 20 69 2f 6f 20 63 6f 6d 70 6c 65 74 65 2c 20 20 20 20 30 31 20 6c 69 6e 6b   ┆nlinked i/o complete,    01 link┆
0x0aaa40…0aaa60             65 64 20 69 2f 6f 20 63 6f 6d 70 6c 65 74 65 20 28 6e 6f 74 20 75 73 65 64 29 0d 0a 3b 09 31 30   ┆ed i/o complete (not used)  ; 10┆
0x0aaa60…0aaa80             20 64 69 73 6b 20 73 74 61 74 75 73 20 63 68 61 6e 67 65 64 20 20 20 20 20 20 20 31 31 20 28 6e   ┆ disk status changed       11 (n┆
0x0aaa80…0aaaa0             6f 74 20 75 73 65 64 29 0d 0a 09 63 70 69 09 31 30 62 09 09 3b 72 65 61 64 79 20 73 74 61 74 75   ┆ot used)   cpi 10b  ;ready statu┆
0x0aaaa0…0aaac0             73 20 63 68 61 6e 67 65 3f 0d 0a 09 6a 7a 09 77 72 65 61 64 79 0d 0a 3b 0d 0a 3b 09 6d 75 73 74   ┆s change?   jz wready  ;  ; must┆
0x0aaac0…0aaae0             20 62 65 20 30 30 20 69 6e 20 74 68 65 20 61 63 63 75 6d 75 6c 61 74 6f 72 0d 0a 09 6f 72 61 09   ┆ be 00 in the accumulator   ora ┆
0x0aaae0…0aab00             61 0d 0a 09 6a 6e 7a 09 77 65 72 72 6f 72 09 09 3b 73 6f 6d 65 20 6f 74 68 65 72 20 63 6f 6e 64   ┆a   jnz werror  ;some other cond┆
0x0aab00…0aab20             69 74 69 6f 6e 2c 20 72 65 74 72 79 0d 0a 3b 0d 0a 3b 09 63 68 65 63 6b 20 69 2f 6f 20 65 72 72   ┆ition, retry  ;  ; check i/o err┆
0x0aab20…0aab40             6f 72 20 62 69 74 73 0d 0a 09 63 61 6c 6c 09 69 6e 62 79 74 65 0d 0a 09 72 61 6c 0d 0a 09 6a 63   ┆or bits   call inbyte   ral   jc┆
0x0aab40…0aab60             09 77 72 65 61 64 79 09 09 3b 75 6e 69 74 20 6e 6f 74 20 72 65 61 64 79 0d 0a 09 72 61 72 0d 0a   ┆ wready  ;unit not ready   rar  ┆
0x0aab60…0aab80             09 61 6e 69 09 31 31 31 31 31 31 31 30 62 09 3b 61 6e 79 20 6f 74 68 65 72 20 65 72 72 6f 72 73   ┆ ani 11111110b ;any other errors┆
0x0aab80…0aaba0             3f 20 20 28 64 65 6c 65 74 65 64 20 64 61 74 61 20 6f 6b 29 0d 0a 09 6a 6e 7a 09 77 65 72 72 6f   ┆?  (deleted data ok)   jnz werro┆
0x0aaba0…0aabc0             72 0d 0a 3b 0d 0a 3b 09 72 65 61 64 20 6f 72 20 77 72 69 74 65 20 69 73 20 6f 6b 2c 20 61 63 63   ┆r  ;  ; read or write is ok, acc┆
0x0aabc0…0aabe0             75 6d 75 6c 61 74 6f 72 20 63 6f 6e 74 61 69 6e 73 20 7a 65 72 6f 0d 0a 09 72 65 74 0d 0a 3b 0d   ┆umulator contains zero   ret  ; ┆
0x0aabe0…0aac00             0a 77 72 65 61 64 79 3a 09 3b 6e 6f 74 20 72 65 61 64 79 2c 20 74 72 65 61 74 20 61 73 20 65 72   ┆ wready: ;not ready, treat as er┆
0x0aac00…0aac20 (45, 1, 2)  31 09 3b 6e 75 6d 62 65 72 20 6f 66 20 73 65 63 74 6f 72 73 20 74 6f 20 72 65 61 64 0d 0a 69 6f   ┆1 ;number of sectors to read  io┆
0x0aac20…0aac40             74 3a 09 64 62 09 6f 66 66 73 65 74 09 3b 74 72 61 63 6b 20 6e 75 6d 62 65 72 0d 0a 69 6f 73 3a   ┆t: db offset ;track number  ios:┆
0x0aac40…0aac60             09 64 62 09 31 09 3b 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 0d 0a 69 6f 64 3a 09 64 77 09 62 75   ┆ db 1 ;sector number  iod: dw bu┆
0x0aac60…0aac80             66 66 09 3b 69 6f 20 61 64 64 72 65 73 73 0d 0a 3b 0d 0a 3b 0d 0a 3b 09 64 65 66 69 6e 65 20 72   ┆ff ;io address  ;  ;  ; define r┆
0x0aac80…0aaca0             61 6d 20 61 72 65 61 73 20 66 6f 72 20 62 64 6f 73 20 6f 70 65 72 61 74 69 6f 6e 0d 0a 09 65 6e   ┆am areas for bdos operation   en┆
0x0aaca0…0aacc0             64 65 66 0d 0a 09 65 6e 64 0d 0a 3b 09 4d 44 53 2d 38 30 30 20 49 2f 4f 20 44 72 69 76 65 72 73   ┆def   end  ; MDS-800 I/O Drivers┆
0x0aacc0…0aace0             20 66 6f 72 20 43 50 2f 4d 20 32 2e 32 0d 0a 3b 09 28 66 6f 75 72 20 64 72 69 76 65 20 73 69 6e   ┆ for CP/M 2.2  ; (four drive sin┆
0x0aace0…0aad00             67 6c 65 20 64 65 6e 73 69 74 79 20 76 65 72 73 69 6f 6e 29 0d 0a 3b 0d 0a 3b 09 56 65 72 73 69   ┆gle density version)  ;  ; Versi┆
0x0aad00…0aad20             6f 6e 20 32 2e 32 20 46 65 62 72 75 61 72 79 2c 20 31 39 38 30 0d 0a 3b 0d 0a 76 65 72 73 09 65   ┆on 2.2 February, 1980  ;  vers e┆
0x0aad20…0aad40             71 75 09 32 32 09 3b 76 65 72 73 69 6f 6e 20 32 2e 32 0d 0a 3b 0d 0a 3b 09 43 6f 70 79 72 69 67   ┆qu 22 ;version 2.2  ;  ; Copyrig┆
0x0aad40…0aad60             68 74 20 28 63 29 20 31 39 38 30 0d 0a 3b 09 44 69 67 69 74 61 6c 20 52 65 73 65 61 72 63 68 0d   ┆ht (c) 1980  ; Digital Research ┆
0x0aad60…0aad80             0a 3b 09 42 6f 78 20 35 37 39 2c 20 50 61 63 69 66 69 63 20 47 72 6f 76 65 0d 0a 3b 09 43 61 6c   ┆ ; Box 579, Pacific Grove  ; Cal┆
0x0aad80…0aada0             69 66 6f 72 6e 69 61 2c 20 39 33 39 35 30 0d 0a 3b 0d 0a 3b 0d 0a 74 72 75 65 09 65 71 75 09 30   ┆ifornia, 93950  ;  ;  true equ 0┆
0x0aada0…0aadc0             66 66 66 66 68 09 3b 76 61 6c 75 65 20 6f 66 20 22 74 72 75 65 22 0d 0a 66 61 6c 73 65 09 65 71   ┆ffffh ;value of "true"  false eq┆
0x0aadc0…0aade0             75 09 6e 6f 74 20 74 72 75 65 09 3b 22 66 61 6c 73 65 22 0d 0a 74 65 73 74 09 65 71 75 09 66 61   ┆u not true ;"false"  test equ fa┆
0x0aade0…0aae00             6c 73 65 09 3b 74 72 75 65 20 69 66 20 74 65 73 74 20 62 69 6f 73 0d 0a 3b 0d 0a 09 69 66 09 74   ┆lse ;true if test bios  ;   if t┆
0x0aae00…0aae20 (45, 1, 3)  6d 20 70 72 65 73 65 74 20 64 6d 61 20 61 64 64 72 65 73 73 0d 0a 3b 0d 0a 3b 09 6a 75 6d 70 20   ┆m preset dma address  ;  ; jump ┆
0x0aae20…0aae40             76 65 63 74 6f 72 20 66 6f 72 20 69 6e 64 69 76 69 75 61 6c 20 72 6f 75 74 69 6e 65 73 0d 0a 09   ┆vector for indiviual routines   ┆
0x0aae40…0aae60             6a 6d 70 09 62 6f 6f 74 0d 0a 77 62 6f 6f 74 65 3a 09 6a 6d 70 09 77 62 6f 6f 74 0d 0a 09 6a 6d   ┆jmp boot  wboote: jmp wboot   jm┆
0x0aae60…0aae80             70 09 63 6f 6e 73 74 0d 0a 09 6a 6d 70 09 63 6f 6e 69 6e 0d 0a 09 6a 6d 70 09 63 6f 6e 6f 75 74   ┆p const   jmp conin   jmp conout┆
0x0aae80…0aaea0             0d 0a 09 6a 6d 70 09 6c 69 73 74 0d 0a 09 6a 6d 70 09 70 75 6e 63 68 0d 0a 09 6a 6d 70 09 72 65   ┆   jmp list   jmp punch   jmp re┆
0x0aaea0…0aaec0             61 64 65 72 0d 0a 09 6a 6d 70 09 68 6f 6d 65 0d 0a 09 6a 6d 70 09 73 65 6c 64 73 6b 0d 0a 09 6a   ┆ader   jmp home   jmp seldsk   j┆
0x0aaec0…0aaee0             6d 70 09 73 65 74 74 72 6b 0d 0a 09 6a 6d 70 09 73 65 74 73 65 63 0d 0a 09 6a 6d 70 09 73 65 74   ┆mp settrk   jmp setsec   jmp set┆
0x0aaee0…0aaf00             64 6d 61 0d 0a 09 6a 6d 70 09 72 65 61 64 0d 0a 09 6a 6d 70 09 77 72 69 74 65 0d 0a 09 6a 6d 70   ┆dma   jmp read   jmp write   jmp┆
0x0aaf00…0aaf20             09 6c 69 73 74 73 74 09 3b 6c 69 73 74 20 73 74 61 74 75 73 0d 0a 09 6a 6d 70 09 73 65 63 74 72   ┆ listst ;list status   jmp sectr┆
0x0aaf20…0aaf40             61 6e 0d 0a 3b 0d 0a 09 6d 61 63 6c 69 62 09 64 69 73 6b 64 65 66 09 3b 6c 6f 61 64 20 74 68 65   ┆an  ;   maclib diskdef ;load the┆
0x0aaf40…0aaf60             20 64 69 73 6b 20 64 65 66 69 6e 69 74 69 6f 6e 20 6c 69 62 72 61 72 79 0d 0a 09 64 69 73 6b 73   ┆ disk definition library   disks┆
0x0aaf60…0aaf80             09 34 09 3b 66 6f 75 72 20 64 69 73 6b 73 0d 0a 09 64 69 73 6b 64 65 66 09 30 2c 31 2c 32 36 2c   ┆ 4 ;four disks   diskdef 0,1,26,┆
0x0aaf80…0aafa0             36 2c 31 30 32 34 2c 32 34 33 2c 36 34 2c 36 34 2c 6f 66 66 73 65 74 0d 0a 09 64 69 73 6b 64 65   ┆6,1024,243,64,64,offset   diskde┆
0x0aafa0…0aafc0             66 09 31 2c 30 0d 0a 09 64 69 73 6b 64 65 66 09 32 2c 30 0d 0a 09 64 69 73 6b 64 65 66 09 33 2c   ┆f 1,0   diskdef 2,0   diskdef 3,┆
0x0aafc0…0aafe0             30 0d 0a 3b 09 65 6e 64 65 66 20 6f 63 63 75 72 73 20 61 74 20 65 6e 64 20 6f 66 20 61 73 73 65   ┆0  ; endef occurs at end of asse┆
0x0aafe0…0ab000             6d 62 6c 79 0d 0a 3b 0d 0a 3b 09 65 6e 64 20 6f 66 20 63 6f 6e 74 72 6f 6c 6c 65 72 20 2d 20 69   ┆mbly  ;  ; end of controller - i┆
0x0ab000…0ab020 (45, 1, 4)  0d 0a 09 64 62 09 27 6b 20 43 50 2f 4d 20 76 65 72 73 20 27 0d 0a 09 64 62 09 76 65 72 73 2f 31   ┆   db 'k CP/M vers '   db vers/1┆
0x0ab020…0ab040             30 2b 27 30 27 2c 27 2e 27 2c 76 65 72 73 20 6d 6f 64 20 31 30 2b 27 30 27 0d 0a 09 64 62 09 63   ┆0+'0','.',vers mod 10+'0'   db c┆
0x0ab040…0ab060             72 2c 6c 66 2c 30 0d 0a 3b 0d 0a 62 6f 6f 74 3a 09 3b 70 72 69 6e 74 20 73 69 67 6e 6f 6e 20 6d   ┆r,lf,0  ;  boot: ;print signon m┆
0x0ab060…0ab080             65 73 73 61 67 65 20 61 6e 64 20 67 6f 20 74 6f 20 63 63 70 0d 0a 3b 09 28 6e 6f 74 65 3a 20 6d   ┆essage and go to ccp  ; (note: m┆
0x0ab080…0ab0a0             64 73 20 62 6f 6f 74 20 69 6e 69 74 69 61 6c 69 7a 65 64 20 69 6f 62 79 74 65 20 61 74 20 30 30   ┆ds boot initialized iobyte at 00┆
0x0ab0a0…0ab0c0             30 33 68 29 0d 0a 09 6c 78 69 09 73 70 2c 62 75 66 66 2b 38 30 68 0d 0a 09 6c 78 69 09 68 2c 73   ┆03h)   lxi sp,buff+80h   lxi h,s┆
0x0ab0c0…0ab0e0             69 67 6e 6f 6e 0d 0a 09 63 61 6c 6c 09 70 72 6d 73 67 09 3b 70 72 69 6e 74 20 6d 65 73 73 61 67   ┆ignon   call prmsg ;print messag┆
0x0ab0e0…0ab100             65 0d 0a 09 78 72 61 09 61 09 3b 63 6c 65 61 72 20 61 63 63 75 6d 75 6c 61 74 6f 72 0d 0a 09 73   ┆e   xra a ;clear accumulator   s┆
0x0ab100…0ab120             74 61 09 63 64 69 73 6b 09 3b 73 65 74 20 69 6e 69 74 69 61 6c 6c 79 20 74 6f 20 64 69 73 6b 20   ┆ta cdisk ;set initially to disk ┆
0x0ab120…0ab140             61 0d 0a 09 6a 6d 70 09 67 6f 63 70 6d 09 3b 67 6f 20 74 6f 20 63 70 2f 6d 0d 0a 3b 0d 0a 3b 0d   ┆a   jmp gocpm ;go to cp/m  ;  ; ┆
0x0ab140…0ab160             0a 77 62 6f 6f 74 3a 3b 09 6c 6f 61 64 65 72 20 6f 6e 20 74 72 61 63 6b 20 30 2c 20 73 65 63 74   ┆ wboot:; loader on track 0, sect┆
0x0ab160…0ab180             6f 72 20 31 2c 20 77 68 69 63 68 20 77 69 6c 6c 20 62 65 20 73 6b 69 70 70 65 64 20 66 6f 72 20   ┆or 1, which will be skipped for ┆
0x0ab180…0ab1a0             77 61 72 6d 20 0d 0a 3b 09 72 65 61 64 20 63 70 2f 6d 20 66 72 6f 6d 20 64 69 73 6b 20 2d 20 61   ┆warm   ; read cp/m from disk - a┆
0x0ab1a0…0ab1c0             73 73 75 6d 69 6e 67 20 74 68 65 72 65 20 69 73 20 61 20 31 32 38 20 62 79 74 65 20 63 6f 6c 64   ┆ssuming there is a 128 byte cold┆
0x0ab1c0…0ab1e0             20 73 74 61 72 74 0d 0a 3b 09 73 74 61 72 74 2e 0d 0a 3b 0d 0a 09 6c 78 69 09 73 70 2c 62 75 66   ┆ start  ; start.  ;   lxi sp,buf┆
0x0ab1e0…0ab200             66 09 3b 75 73 69 6e 67 20 64 6d 61 20 2d 20 74 68 75 73 20 38 30 20 74 68 72 75 20 66 66 20 61   ┆f ;using dma - thus 80 thru ff a┆
0x0ab200…0ab220 (45, 1, 5)  72 6f 72 20 66 6f 72 20 6e 6f 77 0d 0a 09 63 61 6c 6c 09 69 6e 62 79 74 65 09 09 3b 63 6c 65 61   ┆ror for now   call inbyte  ;clea┆
0x0ab220…0ab240             72 20 72 65 73 75 6c 74 20 62 79 74 65 0d 0a 09 6a 6d 70 09 74 72 79 63 6f 75 6e 74 0d 0a 3b 0d   ┆r result byte   jmp trycount  ; ┆
0x0ab240…0ab260             0a 77 65 72 72 6f 72 3a 09 3b 72 65 74 75 72 6e 20 68 61 72 64 77 61 72 65 20 6d 61 6c 66 75 6e   ┆ werror: ;return hardware malfun┆
0x0ab260…0ab280             63 74 69 6f 6e 20 28 63 72 63 2c 20 74 72 61 63 6b 2c 20 73 65 65 6b 2c 20 65 74 63 2e 29 0d 0a   ┆ction (crc, track, seek, etc.)  ┆
0x0ab280…0ab2a0             3b 09 74 68 65 20 6d 64 73 20 63 6f 6e 74 72 6f 6c 6c 65 72 20 68 61 73 20 72 65 74 75 72 6e 65   ┆; the mds controller has returne┆
0x0ab2a0…0ab2c0             64 20 61 20 62 69 74 20 69 6e 20 65 61 63 68 20 70 6f 73 69 74 69 6f 6e 0d 0a 3b 09 6f 66 20 74   ┆d a bit in each position  ; of t┆
0x0ab2c0…0ab2e0             68 65 20 61 63 63 75 6d 75 6c 61 74 6f 72 2c 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 74 6f   ┆he accumulator, corresponding to┆
0x0ab2e0…0ab300             20 74 68 65 20 63 6f 6e 64 69 74 69 6f 6e 73 3a 0d 0a 3b 09 30 09 2d 20 64 65 6c 65 74 65 64 20   ┆ the conditions:  ; 0 - deleted ┆
0x0ab300…0ab320             64 61 74 61 20 28 61 63 63 65 70 74 65 64 20 61 73 20 6f 6b 20 61 62 6f 76 65 29 0d 0a 3b 09 31   ┆data (accepted as ok above)  ; 1┆
0x0ab320…0ab340             09 2d 20 63 72 63 20 65 72 72 6f 72 0d 0a 3b 09 32 09 2d 20 73 65 65 6b 20 65 72 72 6f 72 0d 0a   ┆ - crc error  ; 2 - seek error  ┆
0x0ab340…0ab360             3b 09 33 09 2d 20 61 64 64 72 65 73 73 20 65 72 72 6f 72 20 28 68 61 72 64 77 61 72 65 20 6d 61   ┆; 3 - address error (hardware ma┆
0x0ab360…0ab380             6c 66 75 6e 63 74 69 6f 6e 29 0d 0a 3b 09 34 09 2d 20 64 61 74 61 20 6f 76 65 72 2f 75 6e 64 65   ┆lfunction)  ; 4 - data over/unde┆
0x0ab380…0ab3a0             72 20 66 6c 6f 77 20 28 68 61 72 64 77 61 72 65 20 6d 61 6c 66 75 6e 63 74 69 6f 6e 29 0d 0a 3b   ┆r flow (hardware malfunction)  ;┆
0x0ab3a0…0ab3c0             09 35 09 2d 20 77 72 69 74 65 20 70 72 6f 74 65 63 74 20 28 74 72 65 61 74 65 64 20 61 73 20 6e   ┆ 5 - write protect (treated as n┆
0x0ab3c0…0ab3e0             6f 74 20 72 65 61 64 79 29 0d 0a 3b 09 36 09 2d 20 77 72 69 74 65 20 65 72 72 6f 72 20 28 68 61   ┆ot ready)  ; 6 - write error (ha┆
0x0ab3e0…0ab400             72 64 77 61 72 65 20 6d 61 6c 66 75 6e 63 74 69 6f 6e 29 0d 0a 3b 09 37 09 2d 20 6e 6f 74 20 72   ┆rdware malfunction)  ; 7 - not r┆
0x0ab400…0ab420 (45, 1, 6)  65 73 74 0d 0a 62 69 61 73 09 65 71 75 09 30 33 34 30 30 68 09 3b 62 61 73 65 20 6f 66 20 43 43   ┆est  bias equ 03400h ;base of CC┆
0x0ab420…0ab440             50 20 69 6e 20 74 65 73 74 20 73 79 73 74 65 6d 0d 0a 09 65 6e 64 69 66 0d 0a 09 69 66 09 6e 6f   ┆P in test system   endif   if no┆
0x0ab440…0ab460             74 20 74 65 73 74 0d 0a 62 69 61 73 09 65 71 75 09 30 30 30 30 68 09 3b 67 65 6e 65 72 61 74 65   ┆t test  bias equ 0000h ;generate┆
0x0ab460…0ab480             20 72 65 6c 6f 63 61 74 61 62 6c 65 20 63 70 2f 6d 20 73 79 73 74 65 6d 0d 0a 09 65 6e 64 69 66   ┆ relocatable cp/m system   endif┆
0x0ab480…0ab4a0             0d 0a 3b 0d 0a 70 61 74 63 68 09 65 71 75 09 31 36 30 30 68 0d 0a 3b 0d 0a 09 6f 72 67 09 70 61   ┆  ;  patch equ 1600h  ;   org pa┆
0x0ab4a0…0ab4c0             74 63 68 0d 0a 63 70 6d 62 09 65 71 75 09 24 2d 70 61 74 63 68 09 3b 62 61 73 65 20 6f 66 20 63   ┆tch  cpmb equ $-patch ;base of c┆
0x0ab4c0…0ab4e0             70 6d 20 63 6f 6e 73 6f 6c 65 20 70 72 6f 63 65 73 73 6f 72 0d 0a 62 64 6f 73 09 65 71 75 09 38   ┆pm console processor  bdos equ 8┆
0x0ab4e0…0ab500             30 36 68 2b 63 70 6d 62 09 3b 62 61 73 69 63 20 64 6f 73 20 28 72 65 73 69 64 65 6e 74 20 70 6f   ┆06h+cpmb ;basic dos (resident po┆
0x0ab500…0ab520             72 74 69 6f 6e 29 0d 0a 63 70 6d 6c 09 65 71 75 09 24 2d 63 70 6d 62 09 3b 6c 65 6e 67 74 68 20   ┆rtion)  cpml equ $-cpmb ;length ┆
0x0ab520…0ab540             28 69 6e 20 62 79 74 65 73 29 20 6f 66 20 63 70 6d 20 73 79 73 74 65 6d 0d 0a 6e 73 65 63 74 73   ┆(in bytes) of cpm system  nsects┆
0x0ab540…0ab560             09 65 71 75 09 63 70 6d 6c 2f 31 32 38 09 3b 6e 75 6d 62 65 72 20 6f 66 20 73 65 63 74 6f 72 73   ┆ equ cpml/128 ;number of sectors┆
0x0ab560…0ab580             20 74 6f 20 6c 6f 61 64 0d 0a 6f 66 66 73 65 74 09 65 71 75 09 32 09 3b 6e 75 6d 62 65 72 20 6f   ┆ to load  offset equ 2 ;number o┆
0x0ab580…0ab5a0             66 20 64 69 73 6b 20 74 72 61 63 6b 73 20 75 73 65 64 20 62 79 20 63 70 2f 6d 0d 0a 63 64 69 73   ┆f disk tracks used by cp/m  cdis┆
0x0ab5a0…0ab5c0             6b 09 65 71 75 09 30 30 30 34 68 09 3b 61 64 64 72 65 73 73 20 6f 66 20 6c 61 73 74 20 6c 6f 67   ┆k equ 0004h ;address of last log┆
0x0ab5c0…0ab5e0             67 65 64 20 64 69 73 6b 20 6f 6e 20 77 61 72 6d 20 73 74 61 72 74 0d 0a 62 75 66 66 09 65 71 75   ┆ged disk on warm start  buff equ┆
0x0ab5e0…0ab600             09 30 30 38 30 68 09 3b 64 65 66 61 75 6c 74 20 62 75 66 66 65 72 20 61 64 64 72 65 73 73 0d 0a   ┆ 0080h ;default buffer address  ┆
0x0ab600…0ab620 (45, 1, 7)  6e 64 65 70 65 6e 64 65 6e 74 20 63 6f 64 65 2c 20 74 68 65 20 72 65 6d 61 69 6e 69 6e 67 20 73   ┆ndependent code, the remaining s┆
0x0ab620…0ab640             75 62 72 6f 75 74 69 6e 65 73 0d 0a 3b 09 61 72 65 20 74 61 69 6c 6f 72 65 64 20 74 6f 20 74 68   ┆ubroutines  ; are tailored to th┆
0x0ab640…0ab660             65 20 70 61 72 74 69 63 75 6c 61 72 20 6f 70 65 72 61 74 69 6e 67 20 65 6e 76 69 72 6f 6e 6d 65   ┆e particular operating environme┆
0x0ab660…0ab680             6e 74 2c 20 61 6e 64 20 6d 75 73 74 0d 0a 3b 09 62 65 20 61 6c 74 65 72 65 64 20 66 6f 72 20 61   ┆nt, and must  ; be altered for a┆
0x0ab680…0ab6a0             6e 79 20 73 79 73 74 65 6d 20 77 68 69 63 68 20 64 69 66 66 65 72 73 20 66 72 6f 6d 20 74 68 65   ┆ny system which differs from the┆
0x0ab6a0…0ab6c0             20 69 6e 74 65 6c 20 6d 64 73 2e 0d 0a 3b 0d 0a 3b 09 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20   ┆ intel mds.  ;  ; the following ┆
0x0ab6c0…0ab6e0             63 6f 64 65 20 61 73 73 75 6d 65 73 20 74 68 65 20 6d 64 73 20 6d 6f 6e 69 74 6f 72 20 65 78 69   ┆code assumes the mds monitor exi┆
0x0ab6e0…0ab700             73 74 73 20 61 74 20 30 66 38 30 30 68 0d 0a 3b 09 61 6e 64 20 75 73 65 73 20 74 68 65 20 69 2f   ┆sts at 0f800h  ; and uses the i/┆
0x0ab700…0ab720             6f 20 73 75 62 72 6f 75 74 69 6e 65 73 20 77 69 74 68 69 6e 20 74 68 65 20 6d 6f 6e 69 74 6f 72   ┆o subroutines within the monitor┆
0x0ab720…0ab740             0d 0a 3b 0d 0a 3b 09 77 65 20 61 6c 73 6f 20 61 73 73 75 6d 65 20 74 68 65 20 6d 64 73 20 73 79   ┆  ;  ; we also assume the mds sy┆
0x0ab740…0ab760             73 74 65 6d 20 68 61 73 20 66 6f 75 72 20 64 69 73 6b 20 64 72 69 76 65 73 0d 0a 72 65 76 72 74   ┆stem has four disk drives  revrt┆
0x0ab760…0ab780             09 65 71 75 09 30 66 64 68 09 3b 69 6e 74 65 72 72 75 70 74 20 72 65 76 65 72 74 20 70 6f 72 74   ┆ equ 0fdh ;interrupt revert port┆
0x0ab780…0ab7a0             0d 0a 69 6e 74 63 09 65 71 75 09 30 66 63 68 09 3b 69 6e 74 65 72 72 75 70 74 20 6d 61 73 6b 20   ┆  intc equ 0fch ;interrupt mask ┆
0x0ab7a0…0ab7c0             70 6f 72 74 0d 0a 69 63 6f 6e 09 65 71 75 09 30 66 33 68 09 3b 69 6e 74 65 72 72 75 70 74 20 63   ┆port  icon equ 0f3h ;interrupt c┆
0x0ab7c0…0ab7e0             6f 6e 74 72 6f 6c 20 70 6f 72 74 0d 0a 69 6e 74 65 09 65 71 75 09 30 31 31 31 24 31 31 31 30 62   ┆ontrol port  inte equ 0111$1110b┆
0x0ab7e0…0ab800             09 3b 65 6e 61 62 6c 65 20 72 73 74 20 30 28 77 61 72 6d 20 62 6f 6f 74 29 2c 20 72 73 74 20 37   ┆ ;enable rst 0(warm boot), rst 7┆
0x0ab800…0ab820 (45, 1, 8)  76 61 69 6c 61 62 6c 65 20 66 6f 72 20 73 74 61 63 6b 0d 0a 3b 0d 0a 09 6d 76 69 09 63 2c 72 65   ┆vailable for stack  ;   mvi c,re┆
0x0ab820…0ab840             74 72 79 09 3b 6d 61 78 20 72 65 74 72 69 65 73 0d 0a 09 70 75 73 68 09 62 0d 0a 77 62 6f 6f 74   ┆try ;max retries   push b  wboot┆
0x0ab840…0ab860             30 3a 09 3b 65 6e 74 65 72 20 68 65 72 65 20 6f 6e 20 65 72 72 6f 72 20 72 65 74 72 69 65 73 0d   ┆0: ;enter here on error retries ┆
0x0ab860…0ab880             0a 09 6c 78 69 09 62 2c 63 70 6d 62 09 3b 73 65 74 20 64 6d 61 20 61 64 64 72 65 73 73 20 74 6f   ┆  lxi b,cpmb ;set dma address to┆
0x0ab880…0ab8a0             20 73 74 61 72 74 20 6f 66 20 64 69 73 6b 20 73 79 73 74 65 6d 0d 0a 09 63 61 6c 6c 09 73 65 74   ┆ start of disk system   call set┆
0x0ab8a0…0ab8c0             64 6d 61 0d 0a 09 6d 76 69 09 63 2c 30 09 3b 62 6f 6f 74 20 66 72 6f 6d 20 64 72 69 76 65 20 30   ┆dma   mvi c,0 ;boot from drive 0┆
0x0ab8c0…0ab8e0             0d 0a 09 63 61 6c 6c 09 73 65 6c 64 73 6b 0d 0a 09 6d 76 69 09 63 2c 30 0d 0a 09 63 61 6c 6c 09   ┆   call seldsk   mvi c,0   call ┆
0x0ab8e0…0ab900             73 65 74 74 72 6b 09 3b 73 74 61 72 74 20 77 69 74 68 20 74 72 61 63 6b 20 30 0d 0a 09 6d 76 69   ┆settrk ;start with track 0   mvi┆
0x0ab900…0ab920             09 63 2c 32 09 3b 73 74 61 72 74 20 72 65 61 64 69 6e 67 20 73 65 63 74 6f 72 20 32 0d 0a 09 63   ┆ c,2 ;start reading sector 2   c┆
0x0ab920…0ab940             61 6c 6c 09 73 65 74 73 65 63 0d 0a 3b 0d 0a 3b 09 72 65 61 64 20 73 65 63 74 6f 72 73 2c 20 63   ┆all setsec  ;  ; read sectors, c┆
0x0ab940…0ab960             6f 75 6e 74 20 6e 73 65 63 74 73 20 74 6f 20 7a 65 72 6f 0d 0a 09 70 6f 70 09 62 09 3b 31 30 2d   ┆ount nsects to zero   pop b ;10-┆
0x0ab960…0ab980             65 72 72 6f 72 20 63 6f 75 6e 74 0d 0a 09 6d 76 69 09 62 2c 6e 73 65 63 74 73 0d 0a 72 64 73 65   ┆error count   mvi b,nsects  rdse┆
0x0ab980…0ab9a0             63 3a 09 3b 72 65 61 64 20 6e 65 78 74 20 73 65 63 74 6f 72 0d 0a 09 70 75 73 68 09 62 09 3b 73   ┆c: ;read next sector   push b ;s┆
0x0ab9a0…0ab9c0             61 76 65 20 73 65 63 74 6f 72 20 63 6f 75 6e 74 0d 0a 09 63 61 6c 6c 09 72 65 61 64 0d 0a 09 6a   ┆ave sector count   call read   j┆
0x0ab9c0…0ab9e0             6e 7a 09 62 6f 6f 74 65 72 72 09 3b 72 65 74 72 79 20 69 66 20 65 72 72 6f 72 73 20 6f 63 63 75   ┆nz booterr ;retry if errors occu┆
0x0ab9e0…0aba00             72 0d 0a 09 6c 68 6c 64 09 69 6f 64 09 3b 69 6e 63 72 65 6d 65 6e 74 20 64 6d 61 20 61 64 64 72   ┆r   lhld iod ;increment dma addr┆
0x0aba00…0aba20 (45, 1, 9)  65 61 64 79 0d 0a 3b 09 28 61 63 63 75 6d 75 6c 61 74 6f 72 20 62 69 74 73 20 61 72 65 20 6e 75   ┆eady  ; (accumulator bits are nu┆
0x0aba20…0aba40             6d 62 65 72 65 64 20 37 20 36 20 35 20 34 20 33 20 32 20 31 20 30 29 0d 0a 3b 0d 0a 3b 09 69 74   ┆mbered 7 6 5 4 3 2 1 0)  ;  ; it┆
0x0aba40…0aba60             20 6d 61 79 20 62 65 20 75 73 65 66 75 6c 20 74 6f 20 66 69 6c 74 65 72 20 6f 75 74 20 74 68 65   ┆ may be useful to filter out the┆
0x0aba60…0aba80             20 76 61 72 69 6f 75 73 20 63 6f 6e 64 69 74 69 6f 6e 73 2c 0d 0a 3b 09 62 75 74 20 77 65 20 77   ┆ various conditions,  ; but we w┆
0x0aba80…0abaa0             69 6c 6c 20 67 65 74 20 61 20 70 65 72 6d 61 6e 65 6e 74 20 65 72 72 6f 72 20 6d 65 73 73 61 67   ┆ill get a permanent error messag┆
0x0abaa0…0abac0             65 20 69 66 20 69 74 20 69 73 20 6e 6f 74 0d 0a 3b 09 72 65 63 6f 76 65 72 61 62 6c 65 2e 20 20   ┆e if it is not  ; recoverable.  ┆
0x0abac0…0abae0             69 6e 20 61 6e 79 20 63 61 73 65 2c 20 74 68 65 20 6e 6f 74 20 72 65 61 64 79 20 63 6f 6e 64 69   ┆in any case, the not ready condi┆
0x0abae0…0abb00             74 69 6f 6e 20 69 73 0d 0a 3b 09 74 72 65 61 74 65 64 20 61 73 20 61 20 73 65 70 61 72 61 74 65   ┆tion is  ; treated as a separate┆
0x0abb00…0abb20             20 63 6f 6e 64 69 74 69 6f 6e 20 66 6f 72 20 6c 61 74 65 72 20 69 6d 70 72 6f 76 65 6d 65 6e 74   ┆ condition for later improvement┆
0x0abb20…0abb40             0d 0a 74 72 79 63 6f 75 6e 74 3a 0d 0a 3b 09 72 65 67 69 73 74 65 72 20 63 20 63 6f 6e 74 61 69   ┆  trycount:  ; register c contai┆
0x0abb40…0abb60             6e 73 20 72 65 74 72 79 20 63 6f 75 6e 74 2c 20 64 65 63 72 65 6d 65 6e 74 20 27 74 69 6c 20 7a   ┆ns retry count, decrement 'til z┆
0x0abb60…0abb80             65 72 6f 0d 0a 09 64 63 72 09 63 0d 0a 09 6a 6e 7a 09 72 65 77 61 69 74 09 3b 66 6f 72 20 61 6e   ┆ero   dcr c   jnz rewait ;for an┆
0x0abb80…0abba0             6f 74 68 65 72 20 74 72 79 0d 0a 3b 0d 0a 3b 09 63 61 6e 6e 6f 74 20 72 65 63 6f 76 65 72 20 66   ┆other try  ;  ; cannot recover f┆
0x0abba0…0abbc0             72 6f 6d 20 65 72 72 6f 72 0d 0a 09 6d 76 69 09 61 2c 31 09 3b 65 72 72 6f 72 20 63 6f 64 65 0d   ┆rom error   mvi a,1 ;error code ┆
0x0abbc0…0abbe0             0a 09 72 65 74 0d 0a 3b 0d 0a 3b 09 69 6e 74 79 70 65 2c 20 69 6e 62 79 74 65 2c 20 69 6e 73 74   ┆  ret  ;  ; intype, inbyte, inst┆
0x0abbe0…0abc00             61 74 20 72 65 61 64 20 64 72 69 76 65 20 62 61 6e 6b 20 30 30 20 6f 72 20 31 30 0d 0a 69 6e 74   ┆at read drive bank 00 or 10  int┆
0x0abc00…0abc20 (45, 1, 10) 72 65 74 72 79 09 65 71 75 09 31 30 09 3b 6d 61 78 20 72 65 74 72 69 65 73 20 6f 6e 20 64 69 73   ┆retry equ 10 ;max retries on dis┆
0x0abc20…0abc40             6b 20 69 2f 6f 20 62 65 66 6f 72 65 20 65 72 72 6f 72 0d 0a 3b 0d 0a 3b 09 70 65 72 66 6f 72 6d   ┆k i/o before error  ;  ; perform┆
0x0abc40…0abc60             20 66 6f 6c 6c 6f 77 69 6e 67 20 66 75 6e 63 74 69 6f 6e 73 0d 0a 3b 09 62 6f 6f 74 09 63 6f 6c   ┆ following functions  ; boot col┆
0x0abc60…0abc80             64 20 73 74 61 72 74 0d 0a 3b 09 77 62 6f 6f 74 09 77 61 72 6d 20 73 74 61 72 74 20 28 73 61 76   ┆d start  ; wboot warm start (sav┆
0x0abc80…0abca0             65 20 69 2f 6f 20 62 79 74 65 29 0d 0a 3b 09 28 62 6f 6f 74 20 61 6e 64 20 77 62 6f 6f 74 20 61   ┆e i/o byte)  ; (boot and wboot a┆
0x0abca0…0abcc0             72 65 20 74 68 65 20 73 61 6d 65 20 66 6f 72 20 6d 64 73 29 0d 0a 3b 09 63 6f 6e 73 74 09 63 6f   ┆re the same for mds)  ; const co┆
0x0abcc0…0abce0             6e 73 6f 6c 65 20 73 74 61 74 75 73 0d 0a 3b 09 09 72 65 67 2d 61 20 3d 20 30 30 20 69 66 20 6e   ┆nsole status  ;  reg-a = 00 if n┆
0x0abce0…0abd00             6f 20 63 68 61 72 61 63 74 65 72 20 72 65 61 64 79 0d 0a 3b 09 09 72 65 67 2d 61 20 3d 20 66 66   ┆o character ready  ;  reg-a = ff┆
0x0abd00…0abd20             20 69 66 20 63 68 61 72 61 63 74 65 72 20 72 65 61 64 79 0d 0a 3b 09 63 6f 6e 69 6e 09 63 6f 6e   ┆ if character ready  ; conin con┆
0x0abd20…0abd40             73 6f 6c 65 20 63 68 61 72 61 63 74 65 72 20 69 6e 20 28 72 65 73 75 6c 74 20 69 6e 20 72 65 67   ┆sole character in (result in reg┆
0x0abd40…0abd60             2d 61 29 0d 0a 3b 09 63 6f 6e 6f 75 74 09 63 6f 6e 73 6f 6c 65 20 63 68 61 72 61 63 74 65 72 20   ┆-a)  ; conout console character ┆
0x0abd60…0abd80             6f 75 74 20 28 63 68 61 72 20 69 6e 20 72 65 67 2d 63 29 0d 0a 3b 09 6c 69 73 74 09 6c 69 73 74   ┆out (char in reg-c)  ; list list┆
0x0abd80…0abda0             20 6f 75 74 20 28 63 68 61 72 20 69 6e 20 72 65 67 2d 63 29 0d 0a 3b 09 70 75 6e 63 68 09 70 75   ┆ out (char in reg-c)  ; punch pu┆
0x0abda0…0abdc0             6e 63 68 20 6f 75 74 20 28 63 68 61 72 20 69 6e 20 72 65 67 2d 63 29 0d 0a 3b 09 72 65 61 64 65   ┆nch out (char in reg-c)  ; reade┆
0x0abdc0…0abde0             72 09 70 61 70 65 72 20 74 61 70 65 20 72 65 61 64 65 72 20 69 6e 20 28 72 65 73 75 6c 74 20 74   ┆r paper tape reader in (result t┆
0x0abde0…0abe00             6f 20 72 65 67 2d 61 29 0d 0a 3b 09 68 6f 6d 65 09 6d 6f 76 65 20 74 6f 20 74 72 61 63 6b 20 30   ┆o reg-a)  ; home move to track 0┆
0x0abe00…0abe20 (45, 1, 11) 20 28 6d 6f 6e 69 74 6f 72 29 0d 0a 3b 0d 0a 3b 09 6d 64 73 20 6d 6f 6e 69 74 6f 72 20 65 71 75   ┆ (monitor)  ;  ; mds monitor equ┆
0x0abe20…0abe40             61 74 65 73 0d 0a 6d 6f 6e 38 30 09 65 71 75 09 30 66 38 30 30 68 09 3b 6d 64 73 20 6d 6f 6e 69   ┆ates  mon80 equ 0f800h ;mds moni┆
0x0abe40…0abe60             74 6f 72 0d 0a 72 6d 6f 6e 38 30 09 65 71 75 09 30 66 66 30 66 68 09 3b 72 65 73 74 61 72 74 20   ┆tor  rmon80 equ 0ff0fh ;restart ┆
0x0abe60…0abe80             6d 6f 6e 38 30 20 28 62 6f 6f 74 20 65 72 72 6f 72 29 0d 0a 63 69 09 65 71 75 09 30 66 38 30 33   ┆mon80 (boot error)  ci equ 0f803┆
0x0abe80…0abea0             68 09 3b 63 6f 6e 73 6f 6c 65 20 63 68 61 72 61 63 74 65 72 20 74 6f 20 72 65 67 2d 61 0d 0a 72   ┆h ;console character to reg-a  r┆
0x0abea0…0abec0             69 09 65 71 75 09 30 66 38 30 36 68 09 3b 72 65 61 64 65 72 20 69 6e 20 74 6f 20 72 65 67 2d 61   ┆i equ 0f806h ;reader in to reg-a┆
0x0abec0…0abee0             0d 0a 63 6f 09 65 71 75 09 30 66 38 30 39 68 09 3b 63 6f 6e 73 6f 6c 65 20 63 68 61 72 20 66 72   ┆  co equ 0f809h ;console char fr┆
0x0abee0…0abf00             6f 6d 20 63 20 74 6f 20 63 6f 6e 73 6f 6c 65 20 6f 75 74 0d 0a 70 6f 09 65 71 75 09 30 66 38 30   ┆om c to console out  po equ 0f80┆
0x0abf00…0abf20             63 68 09 3b 70 75 6e 63 68 20 63 68 61 72 20 66 72 6f 6d 20 63 20 74 6f 20 70 75 6e 63 68 20 64   ┆ch ;punch char from c to punch d┆
0x0abf20…0abf40             65 76 69 63 65 0d 0a 6c 6f 09 65 71 75 09 30 66 38 30 66 68 09 3b 6c 69 73 74 20 66 72 6f 6d 20   ┆evice  lo equ 0f80fh ;list from ┆
0x0abf40…0abf60             63 20 74 6f 20 6c 69 73 74 20 64 65 76 69 63 65 0d 0a 63 73 74 73 09 65 71 75 09 30 66 38 31 32   ┆c to list device  csts equ 0f812┆
0x0abf60…0abf80             68 09 3b 63 6f 6e 73 6f 6c 65 20 73 74 61 74 75 73 20 30 30 2f 66 66 20 74 6f 20 72 65 67 69 73   ┆h ;console status 00/ff to regis┆
0x0abf80…0abfa0             74 65 72 20 61 0d 0a 3b 0d 0a 3b 09 64 69 73 6b 20 70 6f 72 74 73 20 61 6e 64 20 63 6f 6d 6d 61   ┆ter a  ;  ; disk ports and comma┆
0x0abfa0…0abfc0             6e 64 73 0d 0a 62 61 73 65 09 65 71 75 09 37 38 68 09 3b 62 61 73 65 20 6f 66 20 64 69 73 6b 20   ┆nds  base equ 78h ;base of disk ┆
0x0abfc0…0abfe0             63 6f 6d 6d 61 6e 64 20 69 6f 20 70 6f 72 74 73 0d 0a 64 73 74 61 74 09 65 71 75 09 62 61 73 65   ┆command io ports  dstat equ base┆
0x0abfe0…0ac000             09 3b 64 69 73 6b 20 73 74 61 74 75 73 20 28 69 6e 70 75 74 29 0d 0a 72 74 79 70 65 09 65 71 75   ┆ ;disk status (input)  rtype equ┆
0x0ac000…0ac020 (45, 1, 12) 65 73 73 0d 0a 09 6c 78 69 09 64 2c 31 32 38 09 3b 73 65 63 74 6f 72 20 73 69 7a 65 0d 0a 09 64   ┆ess   lxi d,128 ;sector size   d┆
0x0ac020…0ac040             61 64 09 64 09 3b 69 6e 63 72 65 6d 65 6e 74 65 64 20 64 6d 61 20 61 64 64 72 65 73 73 20 69 6e   ┆ad d ;incremented dma address in┆
0x0ac040…0ac060             20 68 6c 0d 0a 09 6d 6f 76 09 62 2c 68 0d 0a 09 6d 6f 76 09 63 2c 6c 09 3b 72 65 61 64 79 20 66   ┆ hl   mov b,h   mov c,l ;ready f┆
0x0ac060…0ac080             6f 72 20 63 61 6c 6c 20 74 6f 20 73 65 74 20 64 6d 61 0d 0a 09 63 61 6c 6c 09 73 65 74 64 6d 61   ┆or call to set dma   call setdma┆
0x0ac080…0ac0a0             0d 0a 09 6c 64 61 09 69 6f 73 09 3b 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 20 6a 75 73 74 20 72   ┆   lda ios ;sector number just r┆
0x0ac0a0…0ac0c0             65 61 64 0d 0a 09 63 70 69 09 32 36 09 3b 72 65 61 64 20 6c 61 73 74 20 73 65 63 74 6f 72 3f 0d   ┆ead   cpi 26 ;read last sector? ┆
0x0ac0c0…0ac0e0             0a 09 6a 63 09 72 64 31 0d 0a 3b 09 6d 75 73 74 20 62 65 20 73 65 63 74 6f 72 20 32 36 2c 20 7a   ┆  jc rd1  ; must be sector 26, z┆
0x0ac0e0…0ac100             65 72 6f 20 61 6e 64 20 67 6f 20 74 6f 20 6e 65 78 74 20 74 72 61 63 6b 0d 0a 09 6c 64 61 09 69   ┆ero and go to next track   lda i┆
0x0ac100…0ac120             6f 74 09 3b 67 65 74 20 74 72 61 63 6b 20 74 6f 20 72 65 67 69 73 74 65 72 20 61 0d 0a 09 69 6e   ┆ot ;get track to register a   in┆
0x0ac120…0ac140             72 09 61 0d 0a 09 6d 6f 76 09 63 2c 61 09 3b 72 65 61 64 79 20 66 6f 72 20 63 61 6c 6c 0d 0a 09   ┆r a   mov c,a ;ready for call   ┆
0x0ac140…0ac160             63 61 6c 6c 09 73 65 74 74 72 6b 0d 0a 09 78 72 61 09 61 09 3b 63 6c 65 61 72 20 73 65 63 74 6f   ┆call settrk   xra a ;clear secto┆
0x0ac160…0ac180             72 20 6e 75 6d 62 65 72 0d 0a 72 64 31 3a 09 69 6e 72 09 61 09 3b 74 6f 20 6e 65 78 74 20 73 65   ┆r number  rd1: inr a ;to next se┆
0x0ac180…0ac1a0             63 74 6f 72 0d 0a 09 6d 6f 76 09 63 2c 61 09 3b 72 65 61 64 79 20 66 6f 72 20 63 61 6c 6c 0d 0a   ┆ctor   mov c,a ;ready for call  ┆
0x0ac1a0…0ac1c0             09 63 61 6c 6c 09 73 65 74 73 65 63 0d 0a 09 70 6f 70 09 62 09 3b 72 65 63 61 6c 6c 20 73 65 63   ┆ call setsec   pop b ;recall sec┆
0x0ac1c0…0ac1e0             74 6f 72 20 63 6f 75 6e 74 0d 0a 09 64 63 72 09 62 09 3b 64 6f 6e 65 3f 0d 0a 09 6a 6e 7a 09 72   ┆tor count   dcr b ;done?   jnz r┆
0x0ac1e0…0ac200             64 73 65 63 0d 0a 3b 0d 0a 3b 09 64 6f 6e 65 20 77 69 74 68 20 74 68 65 20 6c 6f 61 64 2c 20 72   ┆dsec  ;  ; done with the load, r┆
0x0ac200…0ac220 (45, 1, 13) 79 70 65 3a 09 6c 64 61 09 64 62 61 6e 6b 0d 0a 09 6f 72 61 09 61 0d 0a 09 6a 6e 7a 09 69 6e 74   ┆ype: lda dbank   ora a   jnz int┆
0x0ac220…0ac240             79 70 31 09 3b 73 6b 69 70 20 74 6f 20 62 61 6e 6b 20 31 30 0d 0a 09 69 6e 09 72 74 79 70 65 0d   ┆yp1 ;skip to bank 10   in rtype ┆
0x0ac240…0ac260             0a 09 72 65 74 0d 0a 69 6e 74 79 70 31 3a 09 69 6e 09 72 74 79 70 65 2b 31 30 68 09 3b 37 38 20   ┆  ret  intyp1: in rtype+10h ;78 ┆
0x0ac260…0ac280             66 6f 72 20 30 2c 31 20 20 38 38 20 66 6f 72 20 32 2c 33 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 69 6e   ┆for 0,1  88 for 2,3   ret  ;  in┆
0x0ac280…0ac2a0             62 79 74 65 3a 09 6c 64 61 09 64 62 61 6e 6b 0d 0a 09 6f 72 61 09 61 0d 0a 09 6a 6e 7a 09 69 6e   ┆byte: lda dbank   ora a   jnz in┆
0x0ac2a0…0ac2c0             62 79 74 31 0d 0a 09 69 6e 09 72 62 79 74 65 0d 0a 09 72 65 74 0d 0a 69 6e 62 79 74 31 3a 09 69   ┆byt1   in rbyte   ret  inbyt1: i┆
0x0ac2c0…0ac2e0             6e 09 72 62 79 74 65 2b 31 30 68 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 69 6e 73 74 61 74 3a 09 6c 64   ┆n rbyte+10h   ret  ;  instat: ld┆
0x0ac2e0…0ac300             61 09 64 62 61 6e 6b 0d 0a 09 6f 72 61 09 61 0d 0a 09 6a 6e 7a 09 69 6e 73 74 61 31 0d 0a 09 69   ┆a dbank   ora a   jnz insta1   i┆
0x0ac300…0ac320             6e 09 64 73 74 61 74 0d 0a 09 72 65 74 0d 0a 69 6e 73 74 61 31 3a 09 69 6e 09 64 73 74 61 74 2b   ┆n dstat   ret  insta1: in dstat+┆
0x0ac320…0ac340             31 30 68 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 3b 0d 0a 3b 0d 0a 3b 09 64 61 74 61 20 61 72 65 61 73   ┆10h   ret  ;  ;  ;  ; data areas┆
0x0ac340…0ac360             20 28 6d 75 73 74 20 62 65 20 69 6e 20 72 61 6d 29 0d 0a 64 62 61 6e 6b 3a 09 64 62 09 30 09 3b   ┆ (must be in ram)  dbank: db 0 ;┆
0x0ac360…0ac380             64 69 73 6b 20 62 61 6e 6b 20 30 30 20 69 66 20 64 72 69 76 65 20 30 2c 31 0d 0a 09 09 09 3b 09   ┆disk bank 00 if drive 0,1     ; ┆
0x0ac380…0ac3a0             20 20 20 31 30 20 69 66 20 64 72 69 76 65 20 32 2c 33 0d 0a 69 6f 70 62 3a 09 3b 69 6f 20 70 61   ┆   10 if drive 2,3  iopb: ;io pa┆
0x0ac3a0…0ac3c0             72 61 6d 65 74 65 72 20 62 6c 6f 63 6b 0d 0a 09 64 62 09 38 30 68 09 3b 6e 6f 72 6d 61 6c 20 69   ┆rameter block   db 80h ;normal i┆
0x0ac3c0…0ac3e0             2f 6f 20 6f 70 65 72 61 74 69 6f 6e 0d 0a 69 6f 66 3a 09 64 62 09 72 65 61 64 66 09 3b 69 6f 20   ┆/o operation  iof: db readf ;io ┆
0x0ac3e0…0ac400             66 75 6e 63 74 69 6f 6e 2c 20 69 6e 69 74 69 61 6c 20 72 65 61 64 0d 0a 69 6f 6e 3a 09 64 62 09   ┆function, initial read  ion: db ┆
0x0ac400…0ac420 (45, 1, 14) 30 0d 0a 3b 0d 0a 3b 09 28 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 61 6c 6c 73 20 73 65 74   ┆0  ;  ; (the following calls set┆
0x0ac420…0ac440             2d 75 70 20 74 68 65 20 69 6f 20 70 61 72 61 6d 65 74 65 72 20 62 6c 6f 63 6b 20 66 6f 72 20 74   ┆-up the io parameter block for t┆
0x0ac440…0ac460             68 65 0d 0a 3b 09 6d 64 73 2c 20 77 68 69 63 68 20 69 73 20 75 73 65 64 20 74 6f 20 70 65 72 66   ┆he  ; mds, which is used to perf┆
0x0ac460…0ac480             6f 72 6d 20 73 75 62 73 65 71 75 65 6e 74 20 72 65 61 64 73 20 61 6e 64 20 77 72 69 74 65 73 29   ┆orm subsequent reads and writes)┆
0x0ac480…0ac4a0             0d 0a 3b 09 73 65 6c 64 73 6b 09 73 65 6c 65 63 74 20 64 69 73 6b 20 67 69 76 65 6e 20 62 79 20   ┆  ; seldsk select disk given by ┆
0x0ac4a0…0ac4c0             72 65 67 2d 63 20 28 30 2c 31 2c 32 2e 2e 2e 29 0d 0a 3b 09 73 65 74 74 72 6b 09 73 65 74 20 74   ┆reg-c (0,1,2...)  ; settrk set t┆
0x0ac4c0…0ac4e0             72 61 63 6b 20 61 64 64 72 65 73 73 20 28 30 2c 2e 2e 2e 37 36 29 20 66 6f 72 20 73 75 62 73 65   ┆rack address (0,...76) for subse┆
0x0ac4e0…0ac500             71 75 65 6e 74 20 72 65 61 64 2f 77 72 69 74 65 0d 0a 3b 09 73 65 74 73 65 63 09 73 65 74 20 73   ┆quent read/write  ; setsec set s┆
0x0ac500…0ac520             65 63 74 6f 72 20 61 64 64 72 65 73 73 20 28 31 2c 2e 2e 2e 2c 32 36 29 20 66 6f 72 20 73 75 62   ┆ector address (1,...,26) for sub┆
0x0ac520…0ac540             73 65 71 75 65 6e 74 20 72 65 61 64 2f 77 72 69 74 65 0d 0a 3b 09 73 65 74 64 6d 61 09 73 65 74   ┆sequent read/write  ; setdma set┆
0x0ac540…0ac560             20 73 75 62 73 65 71 75 65 6e 74 20 64 6d 61 20 61 64 64 72 65 73 73 20 28 69 6e 69 74 69 61 6c   ┆ subsequent dma address (initial┆
0x0ac560…0ac580             6c 79 20 38 30 68 29 0d 0a 3b 0d 0a 3b 09 28 72 65 61 64 20 61 6e 64 20 77 72 69 74 65 20 61 73   ┆ly 80h)  ;  ; (read and write as┆
0x0ac580…0ac5a0             73 75 6d 65 20 70 72 65 76 69 6f 75 73 20 63 61 6c 6c 73 20 74 6f 20 73 65 74 20 75 70 20 74 68   ┆sume previous calls to set up th┆
0x0ac5a0…0ac5c0             65 20 69 6f 20 70 61 72 61 6d 65 74 65 72 73 29 0d 0a 3b 09 72 65 61 64 09 72 65 61 64 20 74 72   ┆e io parameters)  ; read read tr┆
0x0ac5c0…0ac5e0             61 63 6b 2f 73 65 63 74 6f 72 20 74 6f 20 70 72 65 73 65 74 20 64 6d 61 20 61 64 64 72 65 73 73   ┆ack/sector to preset dma address┆
0x0ac5e0…0ac600             0d 0a 3b 09 77 72 69 74 65 09 77 72 69 74 65 20 74 72 61 63 6b 2f 73 65 63 74 6f 72 20 66 72 6f   ┆  ; write write track/sector fro┆
0x0ac600…0ac620 (45, 1, 15) 09 62 61 73 65 2b 31 09 3b 72 65 73 75 6c 74 20 74 79 70 65 20 28 69 6e 70 75 74 29 0d 0a 72 62   ┆ base+1 ;result type (input)  rb┆
0x0ac620…0ac640             79 74 65 09 65 71 75 09 62 61 73 65 2b 33 09 3b 72 65 73 75 6c 74 20 62 79 74 65 20 28 69 6e 70   ┆yte equ base+3 ;result byte (inp┆
0x0ac640…0ac660             75 74 29 0d 0a 3b 0d 0a 69 6c 6f 77 09 65 71 75 09 62 61 73 65 2b 31 09 3b 69 6f 70 62 20 6c 6f   ┆ut)  ;  ilow equ base+1 ;iopb lo┆
0x0ac660…0ac680             77 20 61 64 64 72 65 73 73 20 28 6f 75 74 70 75 74 29 0d 0a 69 68 69 67 68 09 65 71 75 09 62 61   ┆w address (output)  ihigh equ ba┆
0x0ac680…0ac6a0             73 65 2b 32 09 3b 69 6f 70 62 20 68 69 67 68 20 61 64 64 72 65 73 73 20 28 6f 75 74 70 75 74 29   ┆se+2 ;iopb high address (output)┆
0x0ac6a0…0ac6c0             0d 0a 3b 0d 0a 72 65 61 64 66 09 65 71 75 09 34 68 09 3b 72 65 61 64 20 66 75 6e 63 74 69 6f 6e   ┆  ;  readf equ 4h ;read function┆
0x0ac6c0…0ac6e0             0d 0a 77 72 69 74 66 09 65 71 75 09 36 68 09 3b 77 72 69 74 65 20 66 75 6e 63 74 69 6f 6e 0d 0a   ┆  writf equ 6h ;write function  ┆
0x0ac6e0…0ac700             72 65 63 61 6c 09 65 71 75 09 33 68 09 3b 72 65 63 61 6c 69 62 72 61 74 65 20 64 72 69 76 65 0d   ┆recal equ 3h ;recalibrate drive ┆
0x0ac700…0ac720             0a 69 6f 72 64 79 09 65 71 75 09 34 68 09 3b 69 2f 6f 20 66 69 6e 69 73 68 65 64 20 6d 61 73 6b   ┆ iordy equ 4h ;i/o finished mask┆
0x0ac720…0ac740             0d 0a 63 72 09 65 71 75 09 30 64 68 09 3b 63 61 72 72 69 61 67 65 20 72 65 74 75 72 6e 0d 0a 6c   ┆  cr equ 0dh ;carriage return  l┆
0x0ac740…0ac760             66 09 65 71 75 09 30 61 68 09 3b 6c 69 6e 65 20 66 65 65 64 0d 0a 3b 0d 0a 73 69 67 6e 6f 6e 3a   ┆f equ 0ah ;line feed  ;  signon:┆
0x0ac760…0ac780             09 3b 73 69 67 6e 6f 6e 20 6d 65 73 73 61 67 65 3a 20 78 78 6b 20 63 70 2f 6d 20 76 65 72 73 20   ┆ ;signon message: xxk cp/m vers ┆
0x0ac780…0ac7a0             79 2e 79 0d 0a 09 64 62 09 63 72 2c 6c 66 2c 6c 66 0d 0a 09 69 66 09 74 65 73 74 0d 0a 09 64 62   ┆y.y   db cr,lf,lf   if test   db┆
0x0ac7a0…0ac7c0             09 27 33 32 27 09 3b 33 32 6b 20 65 78 61 6d 70 6c 65 20 62 69 6f 73 0d 0a 09 65 6e 64 69 66 0d   ┆ '32' ;32k example bios   endif ┆
0x0ac7c0…0ac7e0             0a 09 69 66 09 6e 6f 74 20 74 65 73 74 0d 0a 09 64 62 09 27 30 30 27 09 3b 6d 65 6d 6f 72 79 20   ┆  if not test   db '00' ;memory ┆
0x0ac7e0…0ac800             73 69 7a 65 20 66 69 6c 6c 65 64 20 62 79 20 72 65 6c 6f 63 61 74 6f 72 0d 0a 09 65 6e 64 69 66   ┆size filled by relocator   endif┆
0x0ac800…0ac820 (46, 0, 1)  65 73 65 74 20 64 65 66 61 75 6c 74 20 62 75 66 66 65 72 20 61 64 64 72 65 73 73 0d 0a 67 6f 63   ┆eset default buffer address  goc┆
0x0ac820…0ac840             70 6d 3a 09 3b 28 65 6e 74 65 72 20 68 65 72 65 20 66 72 6f 6d 20 63 6f 6c 64 20 73 74 61 72 74   ┆pm: ;(enter here from cold start┆
0x0ac840…0ac860             20 62 6f 6f 74 29 0d 0a 3b 09 65 6e 61 62 6c 65 20 72 73 74 30 20 61 6e 64 20 72 73 74 37 0d 0a   ┆ boot)  ; enable rst0 and rst7  ┆
0x0ac860…0ac880             09 64 69 0d 0a 09 6d 76 69 09 61 2c 31 32 68 09 3b 69 6e 69 74 69 61 6c 69 7a 65 20 63 6f 6d 6d   ┆ di   mvi a,12h ;initialize comm┆
0x0ac880…0ac8a0             61 6e 64 0d 0a 09 6f 75 74 09 72 65 76 72 74 0d 0a 09 78 72 61 09 61 0d 0a 09 6f 75 74 09 69 6e   ┆and   out revrt   xra a   out in┆
0x0ac8a0…0ac8c0             74 63 09 3b 63 6c 65 61 72 65 64 0d 0a 09 6d 76 69 09 61 2c 69 6e 74 65 09 3b 72 73 74 30 20 61   ┆tc ;cleared   mvi a,inte ;rst0 a┆
0x0ac8c0…0ac8e0             6e 64 20 72 73 74 37 20 62 69 74 73 20 6f 6e 0d 0a 09 6f 75 74 09 69 6e 74 63 0d 0a 09 78 72 61   ┆nd rst7 bits on   out intc   xra┆
0x0ac8e0…0ac900             09 61 0d 0a 09 6f 75 74 09 69 63 6f 6e 09 3b 69 6e 74 65 72 72 75 70 74 20 63 6f 6e 74 72 6f 6c   ┆ a   out icon ;interrupt control┆
0x0ac900…0ac920             0d 0a 3b 0d 0a 3b 09 73 65 74 20 64 65 66 61 75 6c 74 20 62 75 66 66 65 72 20 61 64 64 72 65 73   ┆  ;  ; set default buffer addres┆
0x0ac920…0ac940             73 20 74 6f 20 38 30 68 0d 0a 09 6c 78 69 09 62 2c 62 75 66 66 0d 0a 09 63 61 6c 6c 09 73 65 74   ┆s to 80h   lxi b,buff   call set┆
0x0ac940…0ac960             64 6d 61 0d 0a 3b 0d 0a 3b 09 72 65 73 65 74 20 6d 6f 6e 69 74 6f 72 20 65 6e 74 72 79 20 70 6f   ┆dma  ;  ; reset monitor entry po┆
0x0ac960…0ac980             69 6e 74 73 0d 0a 09 6d 76 69 09 61 2c 6a 6d 70 0d 0a 09 73 74 61 09 30 0d 0a 09 6c 78 69 09 68   ┆ints   mvi a,jmp   sta 0   lxi h┆
0x0ac980…0ac9a0             2c 77 62 6f 6f 74 65 0d 0a 09 73 68 6c 64 09 31 09 3b 6a 6d 70 20 77 62 6f 6f 74 20 61 74 20 6c   ┆,wboote   shld 1 ;jmp wboot at l┆
0x0ac9a0…0ac9c0             6f 63 61 74 69 6f 6e 20 30 30 0d 0a 09 73 74 61 09 35 0d 0a 09 6c 78 69 09 68 2c 62 64 6f 73 0d   ┆ocation 00   sta 5   lxi h,bdos ┆
0x0ac9c0…0ac9e0             0a 09 73 68 6c 64 09 36 09 3b 6a 6d 70 20 62 64 6f 73 20 61 74 20 6c 6f 63 61 74 69 6f 6e 20 35   ┆  shld 6 ;jmp bdos at location 5┆
0x0ac9e0…0aca00             0d 0a 09 69 66 09 6e 6f 74 20 74 65 73 74 0d 0a 09 73 74 61 09 37 2a 38 09 3b 6a 6d 70 20 74 6f   ┆   if not test   sta 7*8 ;jmp to┆
0x0aca00…0aca20 (46, 0, 2)  6f 6e 0d 0a 09 6c 78 69 09 68 2c 69 6f 66 09 3b 69 6f 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 6d 6f   ┆on   lxi h,iof ;io function   mo┆
0x0aca20…0aca40             76 09 61 2c 6d 0d 0a 09 61 6e 69 09 31 31 30 30 31 31 31 31 62 09 3b 6d 61 73 6b 20 6f 75 74 20   ┆v a,m   ani 11001111b ;mask out ┆
0x0aca40…0aca60             64 69 73 6b 20 6e 75 6d 62 65 72 0d 0a 09 6f 72 61 09 62 09 3b 6d 61 73 6b 20 69 6e 20 6e 65 77   ┆disk number   ora b ;mask in new┆
0x0aca60…0aca80             20 64 69 73 6b 20 6e 75 6d 62 65 72 0d 0a 09 6d 6f 76 09 6d 2c 61 09 3b 73 61 76 65 20 69 74 20   ┆ disk number   mov m,a ;save it ┆
0x0aca80…0acaa0             69 6e 20 69 6f 70 62 0d 0a 09 6d 6f 76 09 6c 2c 63 0d 0a 09 6d 76 69 09 68 2c 30 09 3b 48 4c 3d   ┆in iopb   mov l,c   mvi h,0 ;HL=┆
0x0acaa0…0acac0             64 69 73 6b 20 6e 75 6d 62 65 72 0d 0a 09 64 61 64 09 68 09 3b 2a 32 0d 0a 09 64 61 64 09 68 09   ┆disk number   dad h ;*2   dad h ┆
0x0acac0…0acae0             3b 2a 34 0d 0a 09 64 61 64 09 68 09 3b 2a 38 0d 0a 09 64 61 64 09 68 09 3b 2a 31 36 0d 0a 09 6c   ┆;*4   dad h ;*8   dad h ;*16   l┆
0x0acae0…0acb00             78 69 09 64 2c 64 70 62 61 73 65 0d 0a 09 64 61 64 09 64 09 3b 48 4c 3d 64 69 73 6b 20 68 65 61   ┆xi d,dpbase   dad d ;HL=disk hea┆
0x0acb00…0acb20             64 65 72 20 74 61 62 6c 65 20 61 64 64 72 65 73 73 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 3b 0d 0a 73   ┆der table address   ret  ;  ;  s┆
0x0acb20…0acb40             65 74 74 72 6b 3a 09 3b 73 65 74 20 74 72 61 63 6b 20 61 64 64 72 65 73 73 20 67 69 76 65 6e 20   ┆ettrk: ;set track address given ┆
0x0acb40…0acb60             62 79 20 63 0d 0a 09 6c 78 69 09 68 2c 69 6f 74 0d 0a 09 6d 6f 76 09 6d 2c 63 0d 0a 09 72 65 74   ┆by c   lxi h,iot   mov m,c   ret┆
0x0acb60…0acb80             0d 0a 3b 0d 0a 73 65 74 73 65 63 3a 09 3b 73 65 74 20 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 20   ┆  ;  setsec: ;set sector number ┆
0x0acb80…0acba0             67 69 76 65 6e 20 62 79 20 63 0d 0a 09 6c 78 69 09 68 2c 69 6f 73 0d 0a 09 6d 6f 76 09 6d 2c 63   ┆given by c   lxi h,ios   mov m,c┆
0x0acba0…0acbc0             0d 0a 09 72 65 74 0d 0a 73 65 63 74 72 61 6e 3a 0d 0a 09 09 3b 74 72 61 6e 73 6c 61 74 65 20 73   ┆   ret  sectran:    ;translate s┆
0x0acbc0…0acbe0             65 63 74 6f 72 20 62 63 20 75 73 69 6e 67 20 74 61 62 6c 65 20 61 74 20 64 65 0d 0a 09 6d 76 69   ┆ector bc using table at de   mvi┆
0x0acbe0…0acc00             09 62 2c 30 09 3b 64 6f 75 62 6c 65 20 70 72 65 63 69 73 69 6f 6e 20 73 65 63 74 6f 72 20 6e 75   ┆ b,0 ;double precision sector nu┆
0x0acc00…0acc20 (46, 0, 3)  09 3b 6c 6f 77 20 61 64 64 72 65 73 73 20 66 6f 72 20 69 6f 70 62 0d 0a 09 6d 76 69 09 62 2c 69   ┆ ;low address for iopb   mvi b,i┆
0x0acc20…0acc40             6f 70 62 20 73 68 72 20 38 09 3b 68 69 67 68 20 61 64 64 72 65 73 73 20 66 6f 72 20 69 6f 70 62   ┆opb shr 8 ;high address for iopb┆
0x0acc40…0acc60             0d 0a 09 6a 6e 7a 09 69 6f 64 72 31 09 3b 64 72 69 76 65 20 62 61 6e 6b 20 31 3f 0d 0a 09 6f 75   ┆   jnz iodr1 ;drive bank 1?   ou┆
0x0acc60…0acc80             74 09 69 6c 6f 77 09 09 3b 6c 6f 77 20 61 64 64 72 65 73 73 20 74 6f 20 63 6f 6e 74 72 6f 6c 6c   ┆t ilow  ;low address to controll┆
0x0acc80…0acca0             65 72 0d 0a 09 6d 6f 76 09 61 2c 62 0d 0a 09 6f 75 74 09 69 68 69 67 68 09 3b 68 69 67 68 20 61   ┆er   mov a,b   out ihigh ;high a┆
0x0acca0…0accc0             64 64 72 65 73 73 0d 0a 09 6a 6d 70 09 77 61 69 74 30 09 09 3b 74 6f 20 77 61 69 74 20 66 6f 72   ┆ddress   jmp wait0  ;to wait for┆
0x0accc0…0acce0             20 63 6f 6d 70 6c 65 74 65 0d 0a 3b 0d 0a 69 6f 64 72 31 3a 09 3b 64 72 69 76 65 20 62 61 6e 6b   ┆ complete  ;  iodr1: ;drive bank┆
0x0acce0…0acd00             20 31 0d 0a 09 6f 75 74 09 69 6c 6f 77 2b 31 30 68 09 3b 38 38 20 66 6f 72 20 64 72 69 76 65 20   ┆ 1   out ilow+10h ;88 for drive ┆
0x0acd00…0acd20             62 61 6e 6b 20 31 30 0d 0a 09 6d 6f 76 09 61 2c 62 0d 0a 09 6f 75 74 09 69 68 69 67 68 2b 31 30   ┆bank 10   mov a,b   out ihigh+10┆
0x0acd20…0acd40             68 0d 0a 3b 0d 0a 77 61 69 74 30 3a 09 63 61 6c 6c 09 69 6e 73 74 61 74 09 09 3b 77 61 69 74 20   ┆h  ;  wait0: call instat  ;wait ┆
0x0acd40…0acd60             66 6f 72 20 63 6f 6d 70 6c 65 74 69 6f 6e 0d 0a 09 61 6e 69 09 69 6f 72 64 79 09 09 3b 72 65 61   ┆for completion   ani iordy  ;rea┆
0x0acd60…0acd80             64 79 3f 0d 0a 09 6a 7a 09 77 61 69 74 30 0d 0a 3b 0d 0a 3b 09 63 68 65 63 6b 20 69 6f 20 63 6f   ┆dy?   jz wait0  ;  ; check io co┆
0x0acd80…0acda0             6d 70 6c 65 74 69 6f 6e 20 6f 6b 0d 0a 09 63 61 6c 6c 09 69 6e 74 79 70 65 09 09 3b 6d 75 73 74   ┆mpletion ok   call intype  ;must┆
0x0acda0…0acdc0             20 62 65 20 69 6f 20 63 6f 6d 70 6c 65 74 65 20 28 30 30 29 20 75 6e 6c 69 6e 6b 65 64 0d 0a 3b   ┆ be io complete (00) unlinked  ;┆
0x0acdc0…0acde0             09 30 30 20 75 6e 6c 69 6e 6b 65 64 20 69 2f 6f 20 63 6f 6d 70 6c 65 74 65 2c 20 20 20 20 30 31   ┆ 00 unlinked i/o complete,    01┆
0x0acde0…0ace00             20 6c 69 6e 6b 65 64 20 69 2f 6f 20 63 6f 6d 70 6c 65 74 65 20 28 6e 6f 74 20 75 73 65 64 29 0d   ┆ linked i/o complete (not used) ┆
0x0ace00…0ace20 (46, 0, 4)  09 3b 37 38 20 66 6f 72 20 30 2c 31 20 20 38 38 20 66 6f 72 20 32 2c 33 0d 0a 09 72 65 74 0d 0a   ┆ ;78 for 0,1  88 for 2,3   ret  ┆
0x0ace20…0ace40             3b 0d 0a 69 6e 62 79 74 65 3a 09 6c 64 61 09 64 62 61 6e 6b 0d 0a 09 6f 72 61 09 61 0d 0a 09 6a   ┆;  inbyte: lda dbank   ora a   j┆
0x0ace40…0ace60             6e 7a 09 69 6e 62 79 74 31 0d 0a 09 69 6e 09 72 62 79 74 65 0d 0a 09 72 65 74 0d 0a 69 6e 62 79   ┆nz inbyt1   in rbyte   ret  inby┆
0x0ace60…0ace80             74 31 3a 09 69 6e 09 72 62 79 74 65 2b 31 30 68 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 69 6e 73 74 61   ┆t1: in rbyte+10h   ret  ;  insta┆
0x0ace80…0acea0             74 3a 09 6c 64 61 09 64 62 61 6e 6b 0d 0a 09 6f 72 61 09 61 0d 0a 09 6a 6e 7a 09 69 6e 73 74 61   ┆t: lda dbank   ora a   jnz insta┆
0x0acea0…0acec0             31 0d 0a 09 69 6e 09 64 73 74 61 74 0d 0a 09 72 65 74 0d 0a 69 6e 73 74 61 31 3a 09 69 6e 09 64   ┆1   in dstat   ret  insta1: in d┆
0x0acec0…0acee0             73 74 61 74 2b 31 30 68 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 3b 0d 0a 3b 0d 0a 3b 09 64 61 74 61 20   ┆stat+10h   ret  ;  ;  ;  ; data ┆
0x0acee0…0acf00             61 72 65 61 73 20 28 6d 75 73 74 20 62 65 20 69 6e 20 72 61 6d 29 0d 0a 64 62 61 6e 6b 3a 09 64   ┆areas (must be in ram)  dbank: d┆
0x0acf00…0acf20             62 09 30 09 3b 64 69 73 6b 20 62 61 6e 6b 20 30 30 20 69 66 20 64 72 69 76 65 20 30 2c 31 0d 0a   ┆b 0 ;disk bank 00 if drive 0,1  ┆
0x0acf20…0acf40             09 09 09 3b 09 20 20 20 31 30 20 69 66 20 64 72 69 76 65 20 32 2c 33 0d 0a 69 6f 70 62 3a 09 3b   ┆   ;    10 if drive 2,3  iopb: ;┆
0x0acf40…0acf60             69 6f 20 70 61 72 61 6d 65 74 65 72 20 62 6c 6f 63 6b 0d 0a 09 64 62 09 38 30 68 09 3b 6e 6f 72   ┆io parameter block   db 80h ;nor┆
0x0acf60…0acf80             6d 61 6c 20 69 2f 6f 20 6f 70 65 72 61 74 69 6f 6e 0d 0a 69 6f 66 3a 09 64 62 09 72 65 61 64 66   ┆mal i/o operation  iof: db readf┆
0x0acf80…0acfa0             09 3b 69 6f 20 66 75 6e 63 74 69 6f 6e 2c 20 69 6e 69 74 69 61 6c 20 72 65 61 64 0d 0a 69 6f 6e   ┆ ;io function, initial read  ion┆
0x0acfa0…0acfc0             3a 09 64 62 09 31 09 3b 6e 75 6d 62 65 72 20 6f 66 20 73 65 63 74 6f 72 73 20 74 6f 20 72 65 61   ┆: db 1 ;number of sectors to rea┆
0x0acfc0…0acfe0             64 0d 0a 69 6f 74 3a 09 64 62 09 6f 66 66 73 65 74 09 3b 74 72 61 63 6b 20 6e 75 6d 62 65 72 0d   ┆d  iot: db offset ;track number ┆
0x0acfe0…0ad000             0a 69 6f 73 3a 09 64 62 09 31 09 3b 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 0d 0a 69 6f 64 3a 09   ┆ ios: db 1 ;sector number  iod: ┆
0x0ad000…0ad020 (46, 0, 5)  20 6d 6f 6e 38 30 20 28 6d 61 79 20 68 61 76 65 20 62 65 65 6e 20 63 68 61 6e 67 65 64 20 62 79   ┆ mon80 (may have been changed by┆
0x0ad020…0ad040             20 64 64 74 29 0d 0a 09 6c 78 69 09 68 2c 6d 6f 6e 38 30 0d 0a 09 73 68 6c 64 09 37 2a 38 2b 31   ┆ ddt)   lxi h,mon80   shld 7*8+1┆
0x0ad040…0ad060             0d 0a 09 65 6e 64 69 66 0d 0a 3b 09 6c 65 61 76 65 20 69 6f 62 79 74 65 20 73 65 74 0d 0a 3b 09   ┆   endif  ; leave iobyte set  ; ┆
0x0ad060…0ad080             70 72 65 76 69 6f 75 73 6c 79 20 73 65 6c 65 63 74 65 64 20 64 69 73 6b 20 77 61 73 20 62 2c 20   ┆previously selected disk was b, ┆
0x0ad080…0ad0a0             73 65 6e 64 20 70 61 72 61 6d 65 74 65 72 20 74 6f 20 63 70 6d 0d 0a 09 6c 64 61 09 63 64 69 73   ┆send parameter to cpm   lda cdis┆
0x0ad0a0…0ad0c0             6b 09 3b 6c 61 73 74 20 6c 6f 67 67 65 64 20 64 69 73 6b 20 6e 75 6d 62 65 72 0d 0a 09 6d 6f 76   ┆k ;last logged disk number   mov┆
0x0ad0c0…0ad0e0             09 63 2c 61 09 3b 73 65 6e 64 20 74 6f 20 63 63 70 20 74 6f 20 6c 6f 67 20 69 74 20 69 6e 0d 0a   ┆ c,a ;send to ccp to log it in  ┆
0x0ad0e0…0ad100             09 65 69 0d 0a 09 6a 6d 70 09 63 70 6d 62 0d 0a 3b 0d 0a 3b 09 65 72 72 6f 72 20 63 6f 6e 64 69   ┆ ei   jmp cpmb  ;  ; error condi┆
0x0ad100…0ad120             74 69 6f 6e 20 6f 63 63 75 72 72 65 64 2c 20 70 72 69 6e 74 20 6d 65 73 73 61 67 65 20 61 6e 64   ┆tion occurred, print message and┆
0x0ad120…0ad140             20 72 65 74 72 79 0d 0a 62 6f 6f 74 65 72 72 3a 0d 0a 09 70 6f 70 09 62 09 3b 72 65 63 61 6c 6c   ┆ retry  booterr:   pop b ;recall┆
0x0ad140…0ad160             20 63 6f 75 6e 74 73 0d 0a 09 64 63 72 09 63 0d 0a 09 6a 7a 09 62 6f 6f 74 65 72 30 0d 0a 3b 09   ┆ counts   dcr c   jz booter0  ; ┆
0x0ad160…0ad180             74 72 79 20 61 67 61 69 6e 0d 0a 09 70 75 73 68 09 62 0d 0a 09 6a 6d 70 09 77 62 6f 6f 74 30 0d   ┆try again   push b   jmp wboot0 ┆
0x0ad180…0ad1a0             0a 3b 0d 0a 62 6f 6f 74 65 72 30 3a 0d 0a 3b 09 6f 74 68 65 72 77 69 73 65 20 74 6f 6f 20 6d 61   ┆ ;  booter0:  ; otherwise too ma┆
0x0ad1a0…0ad1c0             6e 79 20 72 65 74 72 69 65 73 0d 0a 09 6c 78 69 09 68 2c 62 6f 6f 74 6d 73 67 0d 0a 09 63 61 6c   ┆ny retries   lxi h,bootmsg   cal┆
0x0ad1c0…0ad1e0             6c 09 70 72 6d 73 67 0d 0a 09 6a 6d 70 09 72 6d 6f 6e 38 30 09 3b 6d 64 73 20 68 61 72 64 77 61   ┆l prmsg   jmp rmon80 ;mds hardwa┆
0x0ad1e0…0ad200             72 65 20 6d 6f 6e 69 74 6f 72 0d 0a 3b 0d 0a 62 6f 6f 74 6d 73 67 3a 0d 0a 09 64 62 09 27 3f 62   ┆re monitor  ;  bootmsg:   db '?b┆
0x0ad200…0ad220 (46, 0, 6)  6d 62 65 72 20 69 6e 20 42 43 0d 0a 09 78 63 68 67 09 09 3b 74 72 61 6e 73 6c 61 74 65 20 74 61   ┆mber in BC   xchg  ;translate ta┆
0x0ad220…0ad240             62 6c 65 20 61 64 64 72 65 73 73 20 74 6f 20 48 4c 0d 0a 09 64 61 64 09 62 09 3b 74 72 61 6e 73   ┆ble address to HL   dad b ;trans┆
0x0ad240…0ad260             6c 61 74 65 28 73 65 63 74 6f 72 29 20 61 64 64 72 65 73 73 0d 0a 09 6d 6f 76 09 61 2c 6d 09 3b   ┆late(sector) address   mov a,m ;┆
0x0ad260…0ad280             74 72 61 6e 73 6c 61 74 65 64 20 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 20 74 6f 20 41 0d 0a 09   ┆translated sector number to A   ┆
0x0ad280…0ad2a0             73 74 61 09 69 6f 73 0d 0a 09 6d 6f 76 09 6c 2c 61 09 3b 72 65 74 75 72 6e 20 73 65 63 74 6f 72   ┆sta ios   mov l,a ;return sector┆
0x0ad2a0…0ad2c0             20 6e 75 6d 62 65 72 20 69 6e 20 4c 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 73 65 74 64 6d 61 3a 09 3b   ┆ number in L   ret  ;  setdma: ;┆
0x0ad2c0…0ad2e0             73 65 74 20 64 6d 61 20 61 64 64 72 65 73 73 20 67 69 76 65 6e 20 62 79 20 72 65 67 73 20 62 2c   ┆set dma address given by regs b,┆
0x0ad2e0…0ad300             63 0d 0a 09 6d 6f 76 09 6c 2c 63 0d 0a 09 6d 6f 76 09 68 2c 62 0d 0a 09 73 68 6c 64 09 69 6f 64   ┆c   mov l,c   mov h,b   shld iod┆
0x0ad300…0ad320             0d 0a 09 72 65 74 0d 0a 3b 0d 0a 72 65 61 64 3a 09 3b 72 65 61 64 20 6e 65 78 74 20 64 69 73 6b   ┆   ret  ;  read: ;read next disk┆
0x0ad320…0ad340             20 72 65 63 6f 72 64 20 28 61 73 73 75 6d 69 6e 67 20 64 69 73 6b 2f 74 72 6b 2f 73 65 63 2f 64   ┆ record (assuming disk/trk/sec/d┆
0x0ad340…0ad360             6d 61 20 73 65 74 29 0d 0a 09 6d 76 69 09 63 2c 72 65 61 64 66 09 3b 73 65 74 20 74 6f 20 72 65   ┆ma set)   mvi c,readf ;set to re┆
0x0ad360…0ad380             61 64 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 63 61 6c 6c 09 73 65 74 66 75 6e 63 0d 0a 09 63 61 6c   ┆ad function   call setfunc   cal┆
0x0ad380…0ad3a0             6c 09 77 61 69 74 69 6f 09 3b 70 65 72 66 6f 72 6d 20 72 65 61 64 20 66 75 6e 63 74 69 6f 6e 0d   ┆l waitio ;perform read function ┆
0x0ad3a0…0ad3c0             0a 09 72 65 74 09 09 3b 6d 61 79 20 68 61 76 65 20 65 72 72 6f 72 20 73 65 74 20 69 6e 20 72 65   ┆  ret  ;may have error set in re┆
0x0ad3c0…0ad3e0             67 2d 61 0d 0a 3b 0d 0a 3b 0d 0a 77 72 69 74 65 3a 09 3b 64 69 73 6b 20 77 72 69 74 65 20 66 75   ┆g-a  ;  ;  write: ;disk write fu┆
0x0ad3e0…0ad400             6e 63 74 69 6f 6e 0d 0a 09 6d 76 69 09 63 2c 77 72 69 74 66 0d 0a 09 63 61 6c 6c 09 73 65 74 66   ┆nction   mvi c,writf   call setf┆
0x0ad400…0ad420 (46, 0, 7)  0a 3b 09 31 30 20 64 69 73 6b 20 73 74 61 74 75 73 20 63 68 61 6e 67 65 64 20 20 20 20 20 20 20   ┆ ; 10 disk status changed       ┆
0x0ad420…0ad440             31 31 20 28 6e 6f 74 20 75 73 65 64 29 0d 0a 09 63 70 69 09 31 30 62 09 09 3b 72 65 61 64 79 20   ┆11 (not used)   cpi 10b  ;ready ┆
0x0ad440…0ad460             73 74 61 74 75 73 20 63 68 61 6e 67 65 3f 0d 0a 09 6a 7a 09 77 72 65 61 64 79 0d 0a 3b 0d 0a 3b   ┆status change?   jz wready  ;  ;┆
0x0ad460…0ad480             09 6d 75 73 74 20 62 65 20 30 30 20 69 6e 20 74 68 65 20 61 63 63 75 6d 75 6c 61 74 6f 72 0d 0a   ┆ must be 00 in the accumulator  ┆
0x0ad480…0ad4a0             09 6f 72 61 09 61 0d 0a 09 6a 6e 7a 09 77 65 72 72 6f 72 09 09 3b 73 6f 6d 65 20 6f 74 68 65 72   ┆ ora a   jnz werror  ;some other┆
0x0ad4a0…0ad4c0             20 63 6f 6e 64 69 74 69 6f 6e 2c 20 72 65 74 72 79 0d 0a 3b 0d 0a 3b 09 63 68 65 63 6b 20 69 2f   ┆ condition, retry  ;  ; check i/┆
0x0ad4c0…0ad4e0             6f 20 65 72 72 6f 72 20 62 69 74 73 0d 0a 09 63 61 6c 6c 09 69 6e 62 79 74 65 0d 0a 09 72 61 6c   ┆o error bits   call inbyte   ral┆
0x0ad4e0…0ad500             0d 0a 09 6a 63 09 77 72 65 61 64 79 09 09 3b 75 6e 69 74 20 6e 6f 74 20 72 65 61 64 79 0d 0a 09   ┆   jc wready  ;unit not ready   ┆
0x0ad500…0ad520             72 61 72 0d 0a 09 61 6e 69 09 31 31 31 31 31 31 31 30 62 09 3b 61 6e 79 20 6f 74 68 65 72 20 65   ┆rar   ani 11111110b ;any other e┆
0x0ad520…0ad540             72 72 6f 72 73 3f 20 20 28 64 65 6c 65 74 65 64 20 64 61 74 61 20 6f 6b 29 0d 0a 09 6a 6e 7a 09   ┆rrors?  (deleted data ok)   jnz ┆
0x0ad540…0ad560             77 65 72 72 6f 72 0d 0a 3b 0d 0a 3b 09 72 65 61 64 20 6f 72 20 77 72 69 74 65 20 69 73 20 6f 6b   ┆werror  ;  ; read or write is ok┆
0x0ad560…0ad580             2c 20 61 63 63 75 6d 75 6c 61 74 6f 72 20 63 6f 6e 74 61 69 6e 73 20 7a 65 72 6f 0d 0a 09 72 65   ┆, accumulator contains zero   re┆
0x0ad580…0ad5a0             74 0d 0a 3b 0d 0a 77 72 65 61 64 79 3a 09 3b 6e 6f 74 20 72 65 61 64 79 2c 20 74 72 65 61 74 20   ┆t  ;  wready: ;not ready, treat ┆
0x0ad5a0…0ad5c0             61 73 20 65 72 72 6f 72 20 66 6f 72 20 6e 6f 77 0d 0a 09 63 61 6c 6c 09 69 6e 62 79 74 65 09 09   ┆as error for now   call inbyte  ┆
0x0ad5c0…0ad5e0             3b 63 6c 65 61 72 20 72 65 73 75 6c 74 20 62 79 74 65 0d 0a 09 6a 6d 70 09 74 72 79 63 6f 75 6e   ┆;clear result byte   jmp trycoun┆
0x0ad5e0…0ad600             74 0d 0a 3b 0d 0a 77 65 72 72 6f 72 3a 09 3b 72 65 74 75 72 6e 20 68 61 72 64 77 61 72 65 20 6d   ┆t  ;  werror: ;return hardware m┆
0x0ad600…0ad620 (46, 0, 8)  64 77 09 62 75 66 66 09 3b 69 6f 20 61 64 64 72 65 73 73 0d 0a 3b 0d 0a 3b 0d 0a 3b 09 64 65 66   ┆dw buff ;io address  ;  ;  ; def┆
0x0ad620…0ad640             69 6e 65 20 72 61 6d 20 61 72 65 61 73 20 66 6f 72 20 62 64 6f 73 20 6f 70 65 72 61 74 69 6f 6e   ┆ine ram areas for bdos operation┆
0x0ad640…0ad660             0d 0a 09 65 6e 64 65 66 0d 0a 09 65 6e 64 0d 0a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a   ┆   endef   end                  ┆
0x0ad660…0ad680             1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a   ┆                                ┆
0x0ad680…0ad6a0             74 3a 09 6c 64 61 09 64 62 61 6e 6b 0d 0a 09 6f 72 61 09 61 0d 0a 09 6a 6e 7a 09 69 6e 73 74 61   ┆t: lda dbank   ora a   jnz insta┆
0x0ad6a0…0ad6c0             31 0d 0a 09 69 6e 09 64 73 74 61 74 0d 0a 09 72 65 74 0d 0a 69 6e 73 74 61 31 3a 09 69 6e 09 64   ┆1   in dstat   ret  insta1: in d┆
0x0ad6c0…0ad6e0             73 74 61 74 2b 31 30 68 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 3b 0d 0a 3b 0d 0a 3b 09 64 61 74 61 20   ┆stat+10h   ret  ;  ;  ;  ; data ┆
0x0ad6e0…0ad700             61 72 65 61 73 20 28 6d 75 73 74 20 62 65 20 69 6e 20 72 61 6d 29 0d 0a 64 62 61 6e 6b 3a 09 64   ┆areas (must be in ram)  dbank: d┆
0x0ad700…0ad720             62 09 30 09 3b 64 69 73 6b 20 62 61 6e 6b 20 30 30 20 69 66 20 64 72 69 76 65 20 30 2c 31 0d 0a   ┆b 0 ;disk bank 00 if drive 0,1  ┆
0x0ad720…0ad740             09 09 09 3b 09 20 20 20 31 30 20 69 66 20 64 72 69 76 65 20 32 2c 33 0d 0a 69 6f 70 62 3a 09 3b   ┆   ;    10 if drive 2,3  iopb: ;┆
0x0ad740…0ad760             69 6f 20 70 61 72 61 6d 65 74 65 72 20 62 6c 6f 63 6b 0d 0a 09 64 62 09 38 30 68 09 3b 6e 6f 72   ┆io parameter block   db 80h ;nor┆
0x0ad760…0ad780             6d 61 6c 20 69 2f 6f 20 6f 70 65 72 61 74 69 6f 6e 0d 0a 69 6f 66 3a 09 64 62 09 72 65 61 64 66   ┆mal i/o operation  iof: db readf┆
0x0ad780…0ad7a0             09 3b 69 6f 20 66 75 6e 63 74 69 6f 6e 2c 20 69 6e 69 74 69 61 6c 20 72 65 61 64 0d 0a 69 6f 6e   ┆ ;io function, initial read  ion┆
0x0ad7a0…0ad7c0             3a 09 64 62 09 31 09 3b 6e 75 6d 62 65 72 20 6f 66 20 73 65 63 74 6f 72 73 20 74 6f 20 72 65 61   ┆: db 1 ;number of sectors to rea┆
0x0ad7c0…0ad7e0             64 0d 0a 69 6f 74 3a 09 64 62 09 6f 66 66 73 65 74 09 3b 74 72 61 63 6b 20 6e 75 6d 62 65 72 0d   ┆d  iot: db offset ;track number ┆
0x0ad7e0…0ad800             0a 69 6f 73 3a 09 64 62 09 31 09 3b 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 0d 0a 69 6f 64 3a 09   ┆ ios: db 1 ;sector number  iod: ┆
0x0ad800…0ad820 (46, 0, 9)  6f 6f 74 27 2c 30 0d 0a 3b 0d 0a 3b 0d 0a 63 6f 6e 73 74 3a 09 3b 63 6f 6e 73 6f 6c 65 20 73 74   ┆oot',0  ;  ;  const: ;console st┆
0x0ad820…0ad840             61 74 75 73 20 74 6f 20 72 65 67 2d 61 0d 0a 3b 09 28 65 78 61 63 74 6c 79 20 74 68 65 20 73 61   ┆atus to reg-a  ; (exactly the sa┆
0x0ad840…0ad860             6d 65 20 61 73 20 6d 64 73 20 63 61 6c 6c 29 0d 0a 09 6a 6d 70 09 63 73 74 73 0d 0a 3b 0d 0a 63   ┆me as mds call)   jmp csts  ;  c┆
0x0ad860…0ad880             6f 6e 69 6e 3a 09 3b 63 6f 6e 73 6f 6c 65 20 63 68 61 72 61 63 74 65 72 20 74 6f 20 72 65 67 2d   ┆onin: ;console character to reg-┆
0x0ad880…0ad8a0             61 0d 0a 09 63 61 6c 6c 09 63 69 0d 0a 09 61 6e 69 09 37 66 68 09 3b 72 65 6d 6f 76 65 20 70 61   ┆a   call ci   ani 7fh ;remove pa┆
0x0ad8a0…0ad8c0             72 69 74 79 20 62 69 74 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 63 6f 6e 6f 75 74 3a 09 3b 63 6f 6e 73   ┆rity bit   ret  ;  conout: ;cons┆
0x0ad8c0…0ad8e0             6f 6c 65 20 63 68 61 72 61 63 74 65 72 20 66 72 6f 6d 20 63 20 74 6f 20 63 6f 6e 73 6f 6c 65 20   ┆ole character from c to console ┆
0x0ad8e0…0ad900             6f 75 74 0d 0a 09 6a 6d 70 09 63 6f 0d 0a 3b 0d 0a 6c 69 73 74 3a 09 3b 6c 69 73 74 20 64 65 76   ┆out   jmp co  ;  list: ;list dev┆
0x0ad900…0ad920             69 63 65 20 6f 75 74 0d 0a 3b 09 28 65 78 61 63 74 6c 79 20 74 68 65 20 73 61 6d 65 20 61 73 20   ┆ice out  ; (exactly the same as ┆
0x0ad920…0ad940             6d 64 73 20 63 61 6c 6c 29 0d 0a 09 6a 6d 70 09 6c 6f 0d 0a 3b 0d 0a 6c 69 73 74 73 74 3a 0d 0a   ┆mds call)   jmp lo  ;  listst:  ┆
0x0ad940…0ad960             09 3b 72 65 74 75 72 6e 20 6c 69 73 74 20 73 74 61 74 75 73 0d 0a 09 78 72 61 09 61 0d 0a 09 72   ┆ ;return list status   xra a   r┆
0x0ad960…0ad980             65 74 09 09 3b 61 6c 77 61 79 73 20 6e 6f 74 20 72 65 61 64 79 0d 0a 3b 0d 0a 70 75 6e 63 68 3a   ┆et  ;always not ready  ;  punch:┆
0x0ad980…0ad9a0             09 3b 70 75 6e 63 68 20 64 65 76 69 63 65 20 6f 75 74 0d 0a 3b 09 28 65 78 61 63 74 6c 79 20 74   ┆ ;punch device out  ; (exactly t┆
0x0ad9a0…0ad9c0             68 65 20 73 61 6d 65 20 61 73 20 6d 64 73 20 63 61 6c 6c 29 0d 0a 09 6a 6d 70 09 70 6f 0d 0a 3b   ┆he same as mds call)   jmp po  ;┆
0x0ad9c0…0ad9e0             0d 0a 72 65 61 64 65 72 3a 09 3b 72 65 61 64 65 72 20 63 68 61 72 61 63 74 65 72 20 69 6e 20 74   ┆  reader: ;reader character in t┆
0x0ad9e0…0ada00             6f 20 72 65 67 2d 61 0d 0a 3b 09 28 65 78 61 63 74 6c 79 20 74 68 65 20 73 61 6d 65 20 61 73 20   ┆o reg-a  ; (exactly the same as ┆
0x0ada00…0ada20 (46, 0, 10) 75 6e 63 09 3b 73 65 74 20 74 6f 20 77 72 69 74 65 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 63 61 6c   ┆unc ;set to write function   cal┆
0x0ada20…0ada40             6c 09 77 61 69 74 69 6f 0d 0a 09 72 65 74 09 09 3b 6d 61 79 20 68 61 76 65 20 65 72 72 6f 72 20   ┆l waitio   ret  ;may have error ┆
0x0ada40…0ada60             73 65 74 0d 0a 3b 0d 0a 3b 0d 0a 3b 09 75 74 69 6c 69 74 79 20 73 75 62 72 6f 75 74 69 6e 65 73   ┆set  ;  ;  ; utility subroutines┆
0x0ada60…0ada80             0d 0a 70 72 6d 73 67 3a 09 3b 70 72 69 6e 74 20 6d 65 73 73 61 67 65 20 61 74 20 68 2c 6c 20 74   ┆  prmsg: ;print message at h,l t┆
0x0ada80…0adaa0             6f 20 30 0d 0a 09 6d 6f 76 09 61 2c 6d 0d 0a 09 6f 72 61 09 61 09 3b 7a 65 72 6f 3f 0d 0a 09 72   ┆o 0   mov a,m   ora a ;zero?   r┆
0x0adaa0…0adac0             7a 0d 0a 3b 09 6d 6f 72 65 20 74 6f 20 70 72 69 6e 74 0d 0a 09 70 75 73 68 09 68 0d 0a 09 6d 6f   ┆z  ; more to print   push h   mo┆
0x0adac0…0adae0             76 09 63 2c 61 0d 0a 09 63 61 6c 6c 09 63 6f 6e 6f 75 74 0d 0a 09 70 6f 70 09 68 0d 0a 09 69 6e   ┆v c,a   call conout   pop h   in┆
0x0adae0…0adb00             78 09 68 0d 0a 09 6a 6d 70 09 70 72 6d 73 67 0d 0a 3b 0d 0a 73 65 74 66 75 6e 63 3a 0d 0a 3b 09   ┆x h   jmp prmsg  ;  setfunc:  ; ┆
0x0adb00…0adb20             73 65 74 20 66 75 6e 63 74 69 6f 6e 20 66 6f 72 20 6e 65 78 74 20 69 2f 6f 20 28 63 6f 6d 6d 61   ┆set function for next i/o (comma┆
0x0adb20…0adb40             6e 64 20 69 6e 20 72 65 67 2d 63 29 0d 0a 09 6c 78 69 09 68 2c 69 6f 66 09 3b 69 6f 20 66 75 6e   ┆nd in reg-c)   lxi h,iof ;io fun┆
0x0adb40…0adb60             63 74 69 6f 6e 20 61 64 64 72 65 73 73 0d 0a 09 6d 6f 76 09 61 2c 6d 09 3b 67 65 74 20 69 74 20   ┆ction address   mov a,m ;get it ┆
0x0adb60…0adb80             74 6f 20 61 63 63 75 6d 75 6c 61 74 6f 72 20 66 6f 72 20 6d 61 73 6b 69 6e 67 0d 0a 09 61 6e 69   ┆to accumulator for masking   ani┆
0x0adb80…0adba0             09 31 31 31 31 31 30 30 30 62 09 3b 72 65 6d 6f 76 65 20 70 72 65 76 69 6f 75 73 20 63 6f 6d 6d   ┆ 11111000b ;remove previous comm┆
0x0adba0…0adbc0             61 6e 64 0d 0a 09 6f 72 61 09 63 09 3b 73 65 74 20 74 6f 20 6e 65 77 20 63 6f 6d 6d 61 6e 64 0d   ┆and   ora c ;set to new command ┆
0x0adbc0…0adbe0             0a 09 6d 6f 76 09 6d 2c 61 09 3b 72 65 70 6c 61 63 65 64 20 69 6e 20 69 6f 70 62 0d 0a 3b 09 74   ┆  mov m,a ;replaced in iopb  ; t┆
0x0adbe0…0adc00             68 65 20 6d 64 73 2d 38 30 30 20 63 6f 6e 74 72 6f 6c 6c 65 72 20 72 65 71 75 69 72 65 73 20 64   ┆he mds-800 controller requires d┆
0x0adc00…0adc20 (46, 0, 11) 61 6c 66 75 6e 63 74 69 6f 6e 20 28 63 72 63 2c 20 74 72 61 63 6b 2c 20 73 65 65 6b 2c 20 65 74   ┆alfunction (crc, track, seek, et┆
0x0adc20…0adc40             63 2e 29 0d 0a 3b 09 74 68 65 20 6d 64 73 20 63 6f 6e 74 72 6f 6c 6c 65 72 20 68 61 73 20 72 65   ┆c.)  ; the mds controller has re┆
0x0adc40…0adc60             74 75 72 6e 65 64 20 61 20 62 69 74 20 69 6e 20 65 61 63 68 20 70 6f 73 69 74 69 6f 6e 0d 0a 3b   ┆turned a bit in each position  ;┆
0x0adc60…0adc80             09 6f 66 20 74 68 65 20 61 63 63 75 6d 75 6c 61 74 6f 72 2c 20 63 6f 72 72 65 73 70 6f 6e 64 69   ┆ of the accumulator, correspondi┆
0x0adc80…0adca0             6e 67 20 74 6f 20 74 68 65 20 63 6f 6e 64 69 74 69 6f 6e 73 3a 0d 0a 3b 09 30 09 2d 20 64 65 6c   ┆ng to the conditions:  ; 0 - del┆
0x0adca0…0adcc0             65 74 65 64 20 64 61 74 61 20 28 61 63 63 65 70 74 65 64 20 61 73 20 6f 6b 20 61 62 6f 76 65 29   ┆eted data (accepted as ok above)┆
0x0adcc0…0adce0             0d 0a 3b 09 31 09 2d 20 63 72 63 20 65 72 72 6f 72 0d 0a 3b 09 32 09 2d 20 73 65 65 6b 20 65 72   ┆  ; 1 - crc error  ; 2 - seek er┆
0x0adce0…0add00             72 6f 72 0d 0a 3b 09 33 09 2d 20 61 64 64 72 65 73 73 20 65 72 72 6f 72 20 28 68 61 72 64 77 61   ┆ror  ; 3 - address error (hardwa┆
0x0add00…0add20             72 65 20 6d 61 6c 66 75 6e 63 74 69 6f 6e 29 0d 0a 3b 09 34 09 2d 20 64 61 74 61 20 6f 76 65 72   ┆re malfunction)  ; 4 - data over┆
0x0add20…0add40             2f 75 6e 64 65 72 20 66 6c 6f 77 20 28 68 61 72 64 77 61 72 65 20 6d 61 6c 66 75 6e 63 74 69 6f   ┆/under flow (hardware malfunctio┆
0x0add40…0add60             6e 29 0d 0a 3b 09 35 09 2d 20 77 72 69 74 65 20 70 72 6f 74 65 63 74 20 28 74 72 65 61 74 65 64   ┆n)  ; 5 - write protect (treated┆
0x0add60…0add80             20 61 73 20 6e 6f 74 20 72 65 61 64 79 29 0d 0a 3b 09 36 09 2d 20 77 72 69 74 65 20 65 72 72 6f   ┆ as not ready)  ; 6 - write erro┆
0x0add80…0adda0             72 20 28 68 61 72 64 77 61 72 65 20 6d 61 6c 66 75 6e 63 74 69 6f 6e 29 0d 0a 3b 09 37 09 2d 20   ┆r (hardware malfunction)  ; 7 - ┆
0x0adda0…0addc0             6e 6f 74 20 72 65 61 64 79 0d 0a 3b 09 28 61 63 63 75 6d 75 6c 61 74 6f 72 20 62 69 74 73 20 61   ┆not ready  ; (accumulator bits a┆
0x0addc0…0adde0             72 65 20 6e 75 6d 62 65 72 65 64 20 37 20 36 20 35 20 34 20 33 20 32 20 31 20 30 29 0d 0a 3b 0d   ┆re numbered 7 6 5 4 3 2 1 0)  ; ┆
0x0adde0…0ade00             0a 3b 09 69 74 20 6d 61 79 20 62 65 20 75 73 65 66 75 6c 20 74 6f 20 66 69 6c 74 65 72 20 6f 75   ┆ ; it may be useful to filter ou┆
0x0ade00…0ade20 (46, 0, 12) 20 20 2e 42 59 54 45 20 20 20 30 48 0d 20 20 20 20 20 20 20 20 2e 42 59 54 45 20 20 20 30 48 0d   ┆  .BYTE   0H         .BYTE   0H ┆
0x0ade20…0ade40             3b 20 4d 4f 44 45 20 54 41 42 4c 45 2e 0d 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 20   ┆; MODE TABLE.                 ; ┆
0x0ade40…0ade60             54 49 4d 45 52 20 4d 4f 44 45 3a 0d 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 20 20   ┆TIMER MODE:                 ;   ┆
0x0ade60…0ade80             20 20 20 20 36 34 2a 42 41 55 44 52 41 54 45 20 28 20 42 49 54 36 20 3a 3d 30 20 3b 20 42 49 54   ┆    64*BAUDRATE ( BIT6 :=0 ; BIT┆
0x0ade80…0adea0             30 20 3a 3d 30 20 29 0d 43 52 54 41 42 3a 20 20 2e 42 59 54 45 20 20 20 30 36 48 20 20 20 20 3b   ┆0 :=0 ) CRTAB:  .BYTE   06H    ;┆
0x0adea0…0adec0             20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 42 49 54 37 2d 31 20 52 45 50 52 45 53 45 4e 54   ┆                BIT7-1 REPRESENT┆
0x0adec0…0adee0             49 4e 47 20 4f 50 45 52 41 54 49 4e 47 20 4d 4f 44 45 0d 20 20 20 20 20 20 20 20 2e 42 59 54 45   ┆ING OPERATING MODE         .BYTE┆
0x0adee0…0adf00             20 20 20 30 36 48 20 20 20 20 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 46 4f 52 20 54   ┆   06H    ;                FOR T┆
0x0adf00…0adf20             48 45 20 43 54 43 2e 0d 20 20 20 20 20 20 20 20 2e 42 59 54 45 20 20 20 30 36 48 20 20 20 20 3b   ┆HE CTC.         .BYTE   06H    ;┆
0x0adf20…0adf40             0d 20 20 20 20 20 20 20 20 2e 42 59 54 45 20 20 20 30 36 48 20 20 20 20 3b 0d 20 20 20 20 20 20   ┆         .BYTE   06H    ;       ┆
0x0adf40…0adf60             20 20 2e 42 59 54 45 20 20 20 30 36 48 0d 20 20 20 20 20 20 20 20 2e 42 59 54 45 20 20 20 30 36   ┆  .BYTE   06H         .BYTE   06┆
0x0adf60…0adf80             48 0d 20 20 20 20 20 20 20 20 2e 42 59 54 45 20 20 20 30 36 48 20 20 20 20 3b 0d 20 20 20 20 20   ┆H         .BYTE   06H    ;      ┆
0x0adf80…0adfa0             20 20 20 2e 42 59 54 45 20 20 20 30 36 48 20 20 20 20 3b 0d 0d 20 20 20 20 20 20 20 20 20 20 20   ┆   .BYTE   06H    ;             ┆
0x0adfa0…0adfc0             20 20 20 20 20 3b 20 43 4f 55 4e 54 45 52 20 4d 4f 44 45 3a 0d 20 20 20 20 20 20 20 20 20 20 20   ┆     ; COUNTER MODE:            ┆
0x0adfc0…0adfe0             20 20 20 20 20 3b 20 20 20 20 20 20 20 31 36 2a 42 41 55 44 20 52 41 54 45 0d 00 00 00 00 00 00   ┆     ;       16*BAUD RATE       ┆
0x0adfe0…0ae000             00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
0x0ae000…0ae020 (46, 0, 13) 6d 64 73 20 63 61 6c 6c 29 0d 0a 09 6a 6d 70 09 72 69 0d 0a 3b 0d 0a 68 6f 6d 65 3a 09 3b 6d 6f   ┆mds call)   jmp ri  ;  home: ;mo┆
0x0ae020…0ae040             76 65 20 74 6f 20 68 6f 6d 65 20 70 6f 73 69 74 69 6f 6e 0d 0a 3b 09 74 72 65 61 74 20 61 73 20   ┆ve to home position  ; treat as ┆
0x0ae040…0ae060             74 72 61 63 6b 20 30 30 20 73 65 65 6b 0d 0a 09 6d 76 69 09 63 2c 30 0d 0a 09 6a 6d 70 09 73 65   ┆track 00 seek   mvi c,0   jmp se┆
0x0ae060…0ae080             74 74 72 6b 0d 0a 3b 0d 0a 73 65 6c 64 73 6b 3a 09 3b 73 65 6c 65 63 74 20 64 69 73 6b 20 67 69   ┆ttrk  ;  seldsk: ;select disk gi┆
0x0ae080…0ae0a0             76 65 6e 20 62 79 20 72 65 67 69 73 74 65 72 20 63 0d 0a 09 6c 78 69 09 68 2c 30 30 30 30 68 09   ┆ven by register c   lxi h,0000h ┆
0x0ae0a0…0ae0c0             3b 72 65 74 75 72 6e 20 30 30 30 30 20 69 66 20 65 72 72 6f 72 0d 0a 09 6d 6f 76 09 61 2c 63 0d   ┆;return 0000 if error   mov a,c ┆
0x0ae0c0…0ae0e0             0a 09 63 70 69 09 6e 64 69 73 6b 73 09 3b 74 6f 6f 20 6c 61 72 67 65 3f 0d 0a 09 72 6e 63 09 09   ┆  cpi ndisks ;too large?   rnc  ┆
0x0ae0e0…0ae100             3b 6c 65 61 76 65 20 48 4c 20 3d 20 30 30 30 30 0d 0a 3b 0d 0a 09 61 6e 69 09 31 30 62 09 3b 30   ┆;leave HL = 0000  ;   ani 10b ;0┆
0x0ae100…0ae120             30 20 30 30 20 66 6f 72 20 64 72 69 76 65 20 30 2c 31 20 61 6e 64 20 31 30 20 31 30 20 66 6f 72   ┆0 00 for drive 0,1 and 10 10 for┆
0x0ae120…0ae140             20 64 72 69 76 65 20 32 2c 33 0d 0a 09 73 74 61 09 64 62 61 6e 6b 09 3b 74 6f 20 73 65 6c 65 63   ┆ drive 2,3   sta dbank ;to selec┆
0x0ae140…0ae160             74 20 64 72 69 76 65 20 62 61 6e 6b 0d 0a 09 6d 6f 76 09 61 2c 63 09 3b 30 30 2c 20 30 31 2c 20   ┆t drive bank   mov a,c ;00, 01, ┆
0x0ae160…0ae180             31 30 2c 20 31 31 0d 0a 09 61 6e 69 09 31 62 09 3b 6d 64 73 20 68 61 73 20 30 2c 31 20 61 74 20   ┆10, 11   ani 1b ;mds has 0,1 at ┆
0x0ae180…0ae1a0             37 38 2c 20 32 2c 33 20 61 74 20 38 38 0d 0a 09 6f 72 61 09 61 09 3b 72 65 73 75 6c 74 20 30 30   ┆78, 2,3 at 88   ora a ;result 00┆
0x0ae1a0…0ae1c0             3f 0d 0a 09 6a 7a 09 73 65 74 64 72 69 76 65 0d 0a 09 6d 76 69 09 61 2c 30 30 31 31 30 30 30 30   ┆?   jz setdrive   mvi a,00110000┆
0x0ae1c0…0ae1e0             62 09 3b 73 65 6c 65 63 74 73 20 64 72 69 76 65 20 31 20 69 6e 20 62 61 6e 6b 0d 0a 73 65 74 64   ┆b ;selects drive 1 in bank  setd┆
0x0ae1e0…0ae200             72 69 76 65 3a 0d 0a 09 6d 6f 76 09 62 2c 61 09 3b 73 61 76 65 20 74 68 65 20 66 75 6e 63 74 69   ┆rive:   mov b,a ;save the functi┆
0x0ae200…0ae220 (46, 0, 14) 69 73 6b 20 62 61 6e 6b 20 62 69 74 20 69 6e 20 73 65 63 74 6f 72 20 62 79 74 65 0d 0a 3b 09 6d   ┆isk bank bit in sector byte  ; m┆
0x0ae220…0ae240             61 73 6b 20 74 68 65 20 62 69 74 20 66 72 6f 6d 20 74 68 65 20 63 75 72 72 65 6e 74 20 69 2f 6f   ┆ask the bit from the current i/o┆
0x0ae240…0ae260             20 66 75 6e 63 74 69 6f 6e 0d 0a 09 61 6e 69 09 30 30 31 30 30 30 30 30 62 09 3b 6d 61 73 6b 20   ┆ function   ani 00100000b ;mask ┆
0x0ae260…0ae280             74 68 65 20 64 69 73 6b 20 73 65 6c 65 63 74 20 62 69 74 0d 0a 09 6c 78 69 09 68 2c 69 6f 73 09   ┆the disk select bit   lxi h,ios ┆
0x0ae280…0ae2a0             09 3b 61 64 64 72 65 73 73 20 74 68 65 20 73 65 63 74 6f 72 20 73 65 6c 65 63 74 20 62 79 74 65   ┆ ;address the sector select byte┆
0x0ae2a0…0ae2c0             0d 0a 09 6f 72 61 09 6d 09 09 3b 73 65 6c 65 63 74 20 70 72 6f 70 65 72 20 64 69 73 6b 20 62 61   ┆   ora m  ;select proper disk ba┆
0x0ae2c0…0ae2e0             6e 6b 0d 0a 09 6d 6f 76 09 6d 2c 61 09 09 3b 73 65 74 20 64 69 73 6b 20 73 65 6c 65 63 74 20 62   ┆nk   mov m,a  ;set disk select b┆
0x0ae2e0…0ae300             69 74 20 6f 6e 2f 6f 66 66 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 77 61 69 74 69 6f 3a 0d 0a 09 6d 76   ┆it on/off   ret  ;  waitio:   mv┆
0x0ae300…0ae320             69 09 63 2c 72 65 74 72 79 09 3b 6d 61 78 20 72 65 74 72 69 65 73 20 62 65 66 6f 72 65 20 70 65   ┆i c,retry ;max retries before pe┆
0x0ae320…0ae340             72 6d 20 65 72 72 6f 72 0d 0a 72 65 77 61 69 74 3a 0d 0a 3b 09 73 74 61 72 74 20 74 68 65 20 69   ┆rm error  rewait:  ; start the i┆
0x0ae340…0ae360             2f 6f 20 66 75 6e 63 74 69 6f 6e 20 61 6e 64 20 77 61 69 74 20 66 6f 72 20 63 6f 6d 70 6c 65 74   ┆/o function and wait for complet┆
0x0ae360…0ae380             69 6f 6e 0d 0a 09 63 61 6c 6c 09 69 6e 74 79 70 65 09 3b 69 6e 20 72 74 79 70 65 0d 0a 09 63 61   ┆ion   call intype ;in rtype   ca┆
0x0ae380…0ae3a0             6c 6c 09 69 6e 62 79 74 65 09 3b 63 6c 65 61 72 73 20 74 68 65 20 63 6f 6e 74 72 6f 6c 6c 65 72   ┆ll inbyte ;clears the controller┆
0x0ae3a0…0ae3c0             0d 0a 3b 0d 0a 09 6c 64 61 09 64 62 61 6e 6b 09 09 3b 73 65 74 20 62 61 6e 6b 20 66 6c 61 67 73   ┆  ;   lda dbank  ;set bank flags┆
0x0ae3c0…0ae3e0             0d 0a 09 6f 72 61 09 61 09 09 3b 7a 65 72 6f 20 69 66 20 64 72 69 76 65 20 30 2c 31 20 61 6e 64   ┆   ora a  ;zero if drive 0,1 and┆
0x0ae3e0…0ae400             20 6e 7a 20 69 66 20 32 2c 33 0d 0a 09 6d 76 69 09 61 2c 69 6f 70 62 20 61 6e 64 20 30 66 66 68   ┆ nz if 2,3   mvi a,iopb and 0ffh┆
0x0ae400…0ae420 (46, 0, 15) 74 20 74 68 65 20 76 61 72 69 6f 75 73 20 63 6f 6e 64 69 74 69 6f 6e 73 2c 0d 0a 3b 09 62 75 74   ┆t the various conditions,  ; but┆
0x0ae420…0ae440             20 77 65 20 77 69 6c 6c 20 67 65 74 20 61 20 70 65 72 6d 61 6e 65 6e 74 20 65 72 72 6f 72 20 6d   ┆ we will get a permanent error m┆
0x0ae440…0ae460             65 73 73 61 67 65 20 69 66 20 69 74 20 69 73 20 6e 6f 74 0d 0a 3b 09 72 65 63 6f 76 65 72 61 62   ┆essage if it is not  ; recoverab┆
0x0ae460…0ae480             6c 65 2e 20 20 69 6e 20 61 6e 79 20 63 61 73 65 2c 20 74 68 65 20 6e 6f 74 20 72 65 61 64 79 20   ┆le.  in any case, the not ready ┆
0x0ae480…0ae4a0             63 6f 6e 64 69 74 69 6f 6e 20 69 73 0d 0a 3b 09 74 72 65 61 74 65 64 20 61 73 20 61 20 73 65 70   ┆condition is  ; treated as a sep┆
0x0ae4a0…0ae4c0             61 72 61 74 65 20 63 6f 6e 64 69 74 69 6f 6e 20 66 6f 72 20 6c 61 74 65 72 20 69 6d 70 72 6f 76   ┆arate condition for later improv┆
0x0ae4c0…0ae4e0             65 6d 65 6e 74 0d 0a 74 72 79 63 6f 75 6e 74 3a 0d 0a 3b 09 72 65 67 69 73 74 65 72 20 63 20 63   ┆ement  trycount:  ; register c c┆
0x0ae4e0…0ae500             6f 6e 74 61 69 6e 73 20 72 65 74 72 79 20 63 6f 75 6e 74 2c 20 64 65 63 72 65 6d 65 6e 74 20 27   ┆ontains retry count, decrement '┆
0x0ae500…0ae520             74 69 6c 20 7a 65 72 6f 0d 0a 09 64 63 72 09 63 0d 0a 09 6a 6e 7a 09 72 65 77 61 69 74 09 3b 66   ┆til zero   dcr c   jnz rewait ;f┆
0x0ae520…0ae540             6f 72 20 61 6e 6f 74 68 65 72 20 74 72 79 0d 0a 3b 0d 0a 3b 09 63 61 6e 6e 6f 74 20 72 65 63 6f   ┆or another try  ;  ; cannot reco┆
0x0ae540…0ae560             76 65 72 20 66 72 6f 6d 20 65 72 72 6f 72 0d 0a 09 6d 76 69 09 61 2c 31 09 3b 65 72 72 6f 72 20   ┆ver from error   mvi a,1 ;error ┆
0x0ae560…0ae580             63 6f 64 65 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 3b 09 69 6e 74 79 70 65 2c 20 69 6e 62 79 74 65 2c   ┆code   ret  ;  ; intype, inbyte,┆
0x0ae580…0ae5a0             20 69 6e 73 74 61 74 20 72 65 61 64 20 64 72 69 76 65 20 62 61 6e 6b 20 30 30 20 6f 72 20 31 30   ┆ instat read drive bank 00 or 10┆
0x0ae5a0…0ae5c0             0d 0a 69 6e 74 79 70 65 3a 09 6c 64 61 09 64 62 61 6e 6b 0d 0a 09 6f 72 61 09 61 0d 0a 09 6a 6e   ┆  intype: lda dbank   ora a   jn┆
0x0ae5c0…0ae5e0             7a 09 69 6e 74 79 70 31 09 3b 73 6b 69 70 20 74 6f 20 62 61 6e 6b 20 31 30 0d 0a 09 69 6e 09 72   ┆z intyp1 ;skip to bank 10   in r┆
0x0ae5e0…0ae600             74 79 70 65 0d 0a 09 72 65 74 0d 0a 69 6e 74 79 70 31 3a 09 69 6e 09 72 74 79 70 65 2b 31 30 68   ┆type   ret  intyp1: in rtype+10h┆
0x0ae600…0ae620 (46, 1, 1)  20 50 52 49 4e 54 45 52 20 4f 55 54 2e 0d 53 49 54 41 3a 20 20 20 2e 42 59 54 45 20 20 20 31 38   ┆ PRINTER OUT. SITA:   .BYTE   18┆
0x0ae620…0ae640             48 20 20 20 20 3b 20 57 52 30 2e 43 48 41 4e 4e 45 4c 20 52 45 53 45 54 2e 0d 20 20 20 20 20 20   ┆H    ; WR0.CHANNEL RESET.       ┆
0x0ae640…0ae660             20 20 2e 42 59 54 45 20 20 20 31 34 48 20 20 20 20 3b 20 57 52 30 20 50 4f 49 4e 54 20 54 4f 20   ┆  .BYTE   14H    ; WR0 POINT TO ┆
0x0ae660…0ae680             57 52 34 2e 0d 20 20 20 20 20 20 20 20 2e 42 59 54 45 20 20 20 30 37 48 20 20 20 20 3b 20 57 52   ┆WR4.         .BYTE   07H    ; WR┆
0x0ae680…0ae6a0             34 2e 20 41 53 59 4e 43 2c 45 56 45 4e 20 50 2c 31 53 54 4f 50 2c 43 4c 4f 43 4b 20 52 41 54 45   ┆4. ASYNC,EVEN P,1STOP,CLOCK RATE┆
0x0ae6a0…0ae6c0             2e 0d 20 20 20 20 20 20 20 20 2e 42 59 54 45 20 20 20 30 33 48 20 20 20 20 3b 20 57 52 30 20 50   ┆.         .BYTE   03H    ; WR0 P┆
0x0ae6c0…0ae6e0             4f 49 4e 54 20 54 4f 20 57 52 33 2e 0d 20 20 20 20 20 20 20 20 2e 42 59 54 45 20 20 20 36 31 48   ┆OINT TO WR3.         .BYTE   61H┆
0x0ae6e0…0ae700             20 20 20 20 3b 20 57 52 33 2e 20 52 45 43 20 45 4e 41 42 2c 41 55 54 4f 20 45 4e 41 42 2c 20 37   ┆    ; WR3. REC ENAB,AUTO ENAB, 7┆
0x0ae700…0ae720             44 41 54 41 20 42 49 54 53 20 52 45 43 2e 0d 20 20 20 20 20 20 20 20 2e 42 59 54 45 20 20 20 30   ┆DATA BITS REC.         .BYTE   0┆
0x0ae720…0ae740             35 48 20 20 20 20 3b 20 57 52 30 20 50 4f 49 4e 54 20 54 4f 20 57 52 35 2e 0d 20 20 20 20 20 20   ┆5H    ; WR0 POINT TO WR5.       ┆
0x0ae740…0ae760             20 20 2e 42 59 54 45 20 20 20 30 41 41 48 20 20 20 3b 20 57 52 35 2e 20 52 54 53 2c 58 4d 54 20   ┆  .BYTE   0AAH   ; WR5. RTS,XMT ┆
0x0ae760…0ae780             45 4e 41 42 2c 37 44 41 54 41 20 42 49 54 53 20 58 4d 54 2c 44 54 52 2e 0d 20 20 20 20 20 20 20   ┆ENAB,7DATA BITS XMT,DTR.        ┆
0x0ae780…0ae7a0             20 2e 42 59 54 45 20 20 20 30 44 31 48 20 20 20 3b 20 57 52 30 2e 20 52 45 53 45 54 20 55 4e 44   ┆ .BYTE   0D1H   ; WR0. RESET UND┆
0x0ae7a0…0ae7c0             45 52 52 20 4c 2e 20 52 45 53 45 54 20 45 58 54 20 49 4e 54 52 20 2e 20 50 4f 49 4e 54 20 54 4f   ┆ERR L. RESET EXT INTR . POINT TO┆
0x0ae7c0…0ae7e0             20 57 52 31 2e 0d 20 20 20 20 20 20 20 20 2e 42 59 54 45 20 20 20 31 41 48 20 20 20 20 3b 20 57   ┆ WR1.         .BYTE   1AH    ; W┆
0x0ae7e0…0ae800             52 31 2e 0d 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆R1.                             ┆
0x0ae800…0ae820 (46, 1, 2)  09 09 09 43 41 4c 4c 20 44 4d 41 20 3b 44 4d 41 20 41 44 44 52 45 53 53 20 53 45 54 0d 0a 20 20   ┆   CALL DMA ;DMA ADDRESS SET    ┆
0x0ae820…0ae840             20 20 20 20 20 20 20 20 20 20 20 20 20 20 09 09 09 3b 50 45 52 46 4f 52 4d 20 49 4f 20 46 55 4e   ┆                 ;PERFORM IO FUN┆
0x0ae840…0ae860             43 54 49 4f 4e 0d 0a 20 30 31 36 42 20 33 41 33 34 30 31 42 37 20 20 09 09 09 4c 44 41 20 49 4f   ┆CTION   016B 3A3401B7     LDA IO┆
0x0ae860…0ae880             46 21 20 4f 52 41 20 41 20 3b 53 45 54 20 46 4c 41 47 53 2c 20 30 3d 52 45 41 44 2c 20 31 3d 57   ┆F! ORA A ;SET FLAGS, 0=READ, 1=W┆
0x0ae880…0ae8a0             52 49 54 45 0d 0a 20 30 31 36 46 20 43 32 37 38 30 31 20 20 20 20 09 09 09 4a 4e 5a 20 57 52 49   ┆RITE   016F C27801       JNZ WRI┆
0x0ae8a0…0ae8c0             54 45 46 55 4e 43 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 09 09 09 09 3b 52 45 41   ┆TEFUNC                      ;REA┆
0x0ae8c0…0ae8e0             44 20 44 49 53 4b 0d 0a 20 30 31 37 32 20 43 44 41 41 30 31 20 20 20 20 09 09 09 09 43 41 4c 4c   ┆D DISK   0172 CDAA01        CALL┆
0x0ae8e0…0ae900             20 44 52 45 41 44 0d 0a 20 30 31 37 35 20 43 33 37 42 30 31 20 20 20 20 09 09 09 09 4a 4d 50 20   ┆ DREAD   0175 C37B01        JMP ┆
0x0ae900…0ae920             52 57 43 4f 4d 50 4c 45 54 45 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 09 09 09 57   ┆RWCOMPLETE                     W┆
0x0ae920…0ae940             52 49 54 45 46 55 4e 43 3a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 09 09 09 09 3b   ┆RITEFUNC:                      ;┆
0x0ae940…0ae960             57 52 49 54 45 20 44 49 53 4b 0d 0a 20 30 31 37 38 20 43 44 42 32 30 31 20 20 20 20 09 09 09 09   ┆WRITE DISK   0178 CDB201        ┆
0x0ae960…0ae980             43 41 4c 4c 20 44 57 52 49 54 45 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 09 09 09   ┆CALL DWRITE                     ┆
0x0ae980…0ae9a0             52 57 43 4f 4d 50 4c 45 54 45 3a 20 3b 46 55 4e 43 54 49 4f 4e 20 43 4f 4d 50 4c 45 54 45 0d 0a   ┆RWCOMPLETE: ;FUNCTION COMPLETE  ┆
0x0ae9a0…0ae9c0             20 30 31 37 42 20 45 31 20 20 20 20 20 20 20 20 09 09 09 09 50 4f 50 20 48 20 3b 52 45 43 41 4c   ┆ 017B E1            POP H ;RECAL┆
0x0ae9c0…0ae9e0             4c 20 44 4d 41 20 41 44 44 52 45 53 53 0d 0a 20 30 31 37 43 20 31 31 38 30 30 30 31 39 20 20 09   ┆L DMA ADDRESS   017C 11800019   ┆
0x0ae9e0…0aea00             09 09 09 4c 58 49 20 44 2c 38 30 48 21 20 44 41 44 20 44 20 3b 54 4f 20 4e 45 58 54 20 44 4d 41   ┆   LXI D,80H! DAD D ;TO NEXT DMA┆
0x0aea00…0aea20 (46, 1, 3)  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 54 41 52 54 3a 0d 0a 20 30 31 42 41 20 33 31   ┆                START:   01BA 31┆
0x0aea20…0aea40             30 38 30 37 20 20 20 20 09 4c 58 49 09 53 50 2c 53 54 41 43 4b 0d 0a 20 30 31 42 44 20 30 45 37   ┆0807     LXI SP,STACK   01BD 0E7┆
0x0aea40…0aea60             38 20 20 20 20 20 20 09 4d 56 49 09 43 2c 31 32 30 0d 0a 20 30 31 42 46 20 44 42 31 34 20 20 20   ┆8       MVI C,120   01BF DB14   ┆
0x0aea60…0aea80             20 20 20 09 49 4e 09 53 57 31 0d 0a 20 30 31 43 31 20 45 36 38 30 20 20 20 20 20 20 09 41 4e 49   ┆    IN SW1   01C1 E680       ANI┆
0x0aea80…0aeaa0             09 30 38 30 48 0d 0a 20 30 31 43 33 20 43 41 43 38 30 31 20 20 20 20 09 4a 5a 09 53 45 54 53 50   ┆ 080H   01C3 CAC801     JZ SETSP┆
0x0aeaa0…0aeac0             54 0d 0a 20 30 31 43 36 20 30 45 34 38 20 20 20 20 20 20 09 4d 56 49 09 43 2c 37 32 0d 0a 20 30   ┆T   01C6 0E48       MVI C,72   0┆
0x0aeac0…0aeae0             31 43 38 20 37 39 20 20 20 20 20 20 20 20 53 45 54 53 50 54 3a 09 4d 4f 56 09 41 2c 43 0d 0a 20   ┆1C8 79        SETSPT: MOV A,C   ┆
0x0aeae0…0aeb00             30 31 43 39 20 33 32 30 38 30 37 20 20 20 20 09 53 54 41 09 53 50 54 0d 0a 20 30 31 43 43 20 43   ┆01C9 320807     STA SPT   01CC C┆
0x0aeb00…0aeb20             44 41 45 30 34 20 20 20 20 09 43 41 4c 4c 09 4f 52 47 4d 53 47 09 3b 4f 52 49 47 49 4e 20 50 52   ┆DAE04     CALL ORGMSG ;ORIGIN PR┆
0x0aeb20…0aeb40             4f 4d 50 54 0d 0a 20 30 31 43 46 20 43 44 43 41 30 33 20 20 20 20 09 43 41 4c 4c 09 52 45 41 44   ┆OMPT   01CF CDCA03     CALL READ┆
0x0aeb40…0aeb60             0d 0a 20 30 31 44 32 20 32 31 38 31 30 36 37 31 32 33 09 4c 58 49 20 48 2c 4f 52 49 47 49 4e 21   ┆   01D2 2181067123 LXI H,ORIGIN!┆
0x0aeb60…0aeb80             20 4d 4f 56 20 4d 2c 43 21 20 69 6e 78 20 68 21 20 6d 6f 76 20 6d 2c 62 20 3b 53 41 56 45 44 20   ┆ MOV M,C! inx h! mov m,b ;SAVED ┆
0x0aeb80…0aeba0             54 48 45 20 4f 52 49 47 49 4e 20 4e 55 4d 42 45 52 0d 0a 20 30 31 44 38 20 32 31 43 32 30 36 34   ┆THE ORIGIN NUMBER   01D8 21C2064┆
0x0aeba0…0aebc0             36 32 33 09 4c 58 49 20 48 2c 43 4f 4d 4c 45 4e 21 20 4d 4f 56 20 42 2c 4d 21 20 49 4e 58 20 48   ┆623 LXI H,COMLEN! MOV B,M! INX H┆
0x0aebc0…0aebe0             21 20 58 43 48 47 0d 0a 20 30 31 44 45 20 32 31 38 35 30 36 20 20 20 20 09 4c 58 49 20 48 2c 41   ┆! XCHG   01DE 218506     LXI H,A┆
0x0aebe0…0aec00             4f 52 49 47 49 4e 20 3b 41 53 43 49 49 20 56 45 52 53 49 4f 4e 20 4f 46 20 54 48 45 20 4f 52 49   ┆ORIGIN ;ASCII VERSION OF THE ORI┆
0x0aec00…0aec20 (46, 1, 4)  31 32 33 30 42 42 34 0d 0a 3a 31 30 30 33 32 35 30 30 37 38 42 31 43 32 43 45 30 32 43 44 37 36   ┆1230BB4  :1003250078B1C2CE02CD76┆
0x0aec20…0aec40             30 35 43 33 31 46 30 32 32 31 43 42 30 36 37 45 42 37 42 41 0d 0a 3a 31 30 30 33 33 35 30 30 43   ┆05C31F0221CB067EB7BA  :10033500C┆
0x0aec40…0aec60             41 34 32 30 33 33 35 43 32 34 32 30 33 32 41 43 43 30 36 43 44 35 41 30 34 32 31 30 39 30 37 31   ┆A420335C242032ACC06CD5A042109071┆
0x0aec60…0aec80             35 0d 0a 3a 31 30 30 33 34 35 30 30 30 31 30 30 33 43 33 45 45 35 42 45 43 32 36 45 30 33 32 33   ┆5  :1003450001003C3EE5BEC26E0323┆
0x0aec80…0aeca0             30 42 37 39 42 30 43 32 34 38 30 33 46 33 0d 0a 3a 31 30 30 33 35 35 30 30 33 41 43 42 30 36 42   ┆0B79B0C24803F3  :100355003ACB06B┆
0x0aeca0…0aecc0             37 43 41 36 32 30 33 43 44 37 36 30 35 43 33 31 46 30 32 31 31 38 43 30 36 44 38 0d 0a 3a 31 30   ┆7CA6203CD7605C31F02118C06D8  :10┆
0x0aecc0…0aece0             30 33 36 35 30 30 43 44 43 32 30 33 43 44 30 39 30 34 43 33 32 35 30 32 43 44 32 42 30 31 43 41   ┆036500CDC203CD0904C32502CD2B01CA┆
0x0aece0…0aed00             37 41 30 33 43 44 32 35 0d 0a 3a 31 30 30 33 37 35 30 30 33 31 30 36 43 33 32 35 30 32 32 31 30   ┆7A03CD25  :100375003106C32502210┆
0x0aed00…0aed20             39 34 33 32 32 33 32 30 31 43 44 32 45 30 31 43 41 38 43 34 33 0d 0a 3a 31 30 30 33 38 35 30 30   ┆943223201CD2E01CA8C43  :10038500┆
0x0aed20…0aed40             30 33 43 44 35 38 30 36 43 33 32 35 30 32 32 31 30 39 30 37 31 31 30 39 34 33 30 31 30 30 33 43   ┆03CD5806C3250221090711094301003C┆
0x0aed40…0aed60             38 35 0d 0a 3a 31 30 30 33 39 35 30 30 31 41 42 45 43 32 42 37 30 33 32 33 31 33 30 42 37 39 42   ┆85  :100395001ABEC2B70323130B79B┆
0x0aed60…0aed80             30 43 32 39 35 30 33 32 31 33 31 30 31 45 44 0d 0a 3a 31 30 30 33 41 35 30 30 33 34 32 31 38 46   ┆0C29503213101ED  :1003A50034218F┆
0x0aed80…0aeda0             30 36 33 34 37 45 46 45 33 41 44 41 34 33 30 32 33 36 33 30 32 42 33 34 43 33 43 44 0d 0a 3a 31   ┆06347EFE3ADA430236302B34C3CD  :1┆
0x0aeda0…0aedc0             30 30 33 42 35 30 30 34 33 30 32 43 44 43 37 30 35 43 33 32 35 30 32 30 45 30 31 43 33 30 35 30   ┆003B5004302CDC705C325020E01C3050┆
0x0aedc0…0aede0             30 30 45 30 39 43 33 42 46 0d 0a 3a 31 30 30 33 43 35 30 30 30 35 30 30 43 44 30 34 30 35 31 31   ┆00E09C3BF  :1003C5000500CD040511┆
0x0aede0…0aee00             43 31 30 36 30 45 30 41 43 44 30 35 30 30 32 31 43 32 30 36 41 32 0d 0a 3a 31 30 30 33 44 35 30   ┆C1060E0ACD050021C206A2  :1003D50┆
0x0aee00…0aee20 (46, 1, 5)  44 49 53 4b 0d 0a 20 30 31 32 42 20 43 33 33 43 30 31 20 20 20 20 09 4a 4d 50 09 57 52 49 54 45   ┆DISK   012B C33C01     JMP WRITE┆
0x0aee20…0aee40             24 44 49 53 4b 0d 0a 20 30 31 32 45 20 43 33 34 37 30 31 20 20 20 20 09 4a 4d 50 09 52 45 24 52   ┆$DISK   012E C34701     JMP RE$R┆
0x0aee40…0aee60             45 41 44 24 44 49 53 4b 0d 0a 20 30 31 33 31 20 20 20 20 20 20 20 20 20 20 20 54 52 41 43 4b 3a   ┆EAD$DISK   0131           TRACK:┆
0x0aee60…0aee80             09 44 53 09 31 09 3b 53 45 54 20 54 4f 20 54 52 41 43 4b 20 54 4f 20 52 45 41 44 2f 57 52 49 54   ┆ DS 1 ;SET TO TRACK TO READ/WRIT┆
0x0aee80…0aeea0             45 0d 0a 20 30 31 33 32 20 20 20 20 20 20 20 20 20 20 20 42 55 46 46 41 3a 09 44 53 09 32 09 3b   ┆E   0132           BUFFA: DS 2 ;┆
0x0aeea0…0aeec0             53 45 54 20 54 4f 20 42 55 46 46 45 52 20 41 44 44 52 45 53 53 20 54 4f 20 52 45 41 44 2f 57 52   ┆SET TO BUFFER ADDRESS TO READ/WR┆
0x0aeec0…0aeee0             49 54 45 0d 0a 20 30 31 33 34 20 20 20 20 20 20 20 20 20 20 20 49 4f 46 3a 09 44 53 09 31 09 3b   ┆ITE   0134           IOF: DS 1 ;┆
0x0aeee0…0aef00             49 4f 20 46 55 4e 43 54 49 4f 4e 20 30 20 3d 20 52 45 41 44 2c 20 31 20 3d 20 57 52 49 54 45 0d   ┆IO FUNCTION 0 = READ, 1 = WRITE ┆
0x0aef00…0aef20             0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20   ┆                 ;              ┆
0x0aef20…0aef40             20 20 20 20 52 45 41 44 24 44 49 53 4b 3a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆    READ$DISK:                  ┆
0x0aef40…0aef60             09 3b 52 45 41 44 20 44 49 53 4b 20 44 52 49 56 45 20 41 2c 20 46 52 4f 4d 20 54 52 41 43 4b 20   ┆ ;READ DISK DRIVE A, FROM TRACK ┆
0x0aef60…0aef80             27 54 52 41 43 4b 27 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 09 3b 49 4e 54 4f 20   ┆'TRACK'                   ;INTO ┆
0x0aef80…0aefa0             54 48 45 20 41 44 44 52 45 53 53 20 47 49 56 45 4e 20 42 59 20 27 42 55 46 46 41 27 0d 0a 20 30   ┆THE ADDRESS GIVEN BY 'BUFFA'   0┆
0x0aefa0…0aefc0             31 33 35 20 41 46 43 44 38 39 30 31 20 20 09 58 52 41 20 41 21 20 43 41 4c 4c 20 53 45 4c 20 3b   ┆135 AFCD8901   XRA A! CALL SEL ;┆
0x0aefc0…0aefe0             53 45 4c 45 43 54 20 44 52 49 56 45 20 41 0d 0a 20 30 31 33 39 20 43 33 34 43 30 31 20 20 20 20   ┆SELECT DRIVE A   0139 C34C01    ┆
0x0aefe0…0af000             09 4a 4d 50 20 52 45 41 44 24 44 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 0d 0a   ┆ JMP READ$D                  ;  ┆
0x0af000…0af020 (46, 1, 6)  0d 0a 20 30 31 38 30 20 44 31 20 20 20 20 20 20 20 20 09 09 09 09 50 4f 50 20 44 20 3b 52 45 43   ┆   0180 D1            POP D ;REC┆
0x0af020…0af040             41 4c 4c 20 53 45 43 54 4f 52 20 41 4e 44 20 43 4f 55 4e 54 0d 0a 20 30 31 38 31 20 31 34 20 20   ┆ALL SECTOR AND COUNT   0181 14  ┆
0x0af040…0af060             20 20 20 20 20 20 09 09 09 09 49 4e 52 20 44 20 3b 4e 45 58 54 20 53 45 43 54 4f 52 0d 0a 20 20   ┆          INR D ;NEXT SECTOR    ┆
0x0af060…0af080             20 20 20 20 20 20 20 20 20 20 20 20 20 20 09 09 09 3b 20 43 48 45 43 4b 20 45 52 52 4f 52 20 43   ┆                 ; CHECK ERROR C┆
0x0af080…0af0a0             4f 4e 44 49 54 49 4f 4e 53 0d 0a 20 30 31 38 32 20 42 37 43 30 20 20 20 20 20 20 09 09 09 4f 52   ┆ONDITIONS   0182 B7C0         OR┆
0x0af0a0…0af0c0             41 20 41 21 20 52 4e 5a 20 3b 52 45 54 55 52 4e 20 57 49 54 48 20 4e 4f 4e 20 5a 45 52 4f 20 46   ┆A A! RNZ ;RETURN WITH NON ZERO F┆
0x0af0c0…0af0e0             4c 41 47 20 53 45 54 0d 0a 20 30 31 38 34 20 31 44 20 20 20 20 20 20 20 20 09 09 09 44 43 52 20   ┆LAG SET   0184 1D           DCR ┆
0x0af0e0…0af100             45 20 3b 43 4f 55 4e 54 20 3d 20 43 4f 55 4e 54 20 2d 20 31 0d 0a 20 30 31 38 35 20 43 32 36 30   ┆E ;COUNT = COUNT - 1   0185 C260┆
0x0af100…0af120             30 31 20 20 20 20 09 09 09 4a 4e 5a 20 52 57 24 4c 4f 4f 50 20 3b 46 4f 52 20 41 4e 4f 54 48 45   ┆01       JNZ RW$LOOP ;FOR ANOTHE┆
0x0af120…0af140             52 20 53 45 43 54 4f 52 0d 0a 20 30 31 38 38 20 43 39 20 20 20 20 20 20 20 20 09 09 09 52 45 54   ┆R SECTOR   0188 C9           RET┆
0x0af140…0af160             20 3b 57 49 54 48 20 5a 45 52 4f 20 46 4c 41 47 20 53 45 54 20 46 4f 52 20 49 4f 20 43 4f 4d 50   ┆ ;WITH ZERO FLAG SET FOR IO COMP┆
0x0af160…0af180             4c 45 54 45 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 0d 0a 20 20 20 20 20 20 20   ┆LETE                  ;         ┆
0x0af180…0af1a0             20 20 20 20 20 20 20 20 20 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 09 55 54   ┆         ;                  ; UT┆
0x0af1a0…0af1c0             49 4c 49 54 59 20 53 55 42 52 4f 55 54 49 4e 45 53 20 46 4f 52 20 44 49 52 45 43 54 20 44 49 53   ┆ILITY SUBROUTINES FOR DIRECT DIS┆
0x0af1c0…0af1e0             4b 20 49 4f 0d 0a 20 30 30 30 31 20 3d 20 20 20 20 20 20 20 20 20 57 42 4f 4f 54 09 45 51 55 09   ┆K IO   0001 =         WBOOT EQU ┆
0x0af1e0…0af200             31 09 3b 57 41 52 4d 20 42 4f 4f 54 20 41 44 44 52 45 53 53 0d 0a 20 30 30 31 38 20 3d 20 20 20   ┆1 ;WARM BOOT ADDRESS   0018 =   ┆
0x0af200…0af220 (46, 1, 7)  3a 31 30 30 31 30 30 30 30 43 33 42 41 30 31 34 33 34 46 35 30 35 39 35 32 34 39 34 37 34 38 35   ┆:10010000C3BA01434F5059524947485┆
0x0af220…0af240             34 32 30 32 38 34 33 32 39 30 34 0d 0a 3a 31 30 30 31 31 30 30 30 32 30 33 31 33 39 33 38 33 30   ┆42028432904  :100110002031393830┆
0x0af240…0af260             32 43 32 30 34 34 34 39 34 37 34 39 35 34 34 31 34 43 32 30 35 32 33 31 0d 0a 3a 31 30 30 31 32   ┆2C204449474954414C205231  :10012┆
0x0af260…0af280             30 30 30 34 35 35 33 34 35 34 31 35 32 34 33 34 38 32 30 43 33 33 35 30 31 43 33 33 43 30 31 43   ┆0004553454152434820C33501C33C01C┆
0x0af280…0af2a0             33 34 37 42 31 0d 0a 3a 30 31 30 31 33 30 30 30 30 31 43 44 0d 0a 3a 31 30 30 31 33 35 30 30 41   ┆347B1  :0101300001CD  :10013500A┆
0x0af2a0…0af2c0             46 43 44 38 39 30 31 43 33 34 43 30 31 33 45 30 31 33 32 33 34 30 31 43 44 38 39 30 31 43 33 45   ┆FCD8901C34C013E01323401CD8901C3E┆
0x0af2c0…0af2e0             34 0d 0a 3a 31 30 30 31 34 35 30 30 35 30 30 31 33 45 30 31 43 44 38 39 30 31 41 46 33 32 33 34   ┆4  :1001450050013E01CD8901AF3234┆
0x0af2e0…0af300             30 31 32 31 33 31 30 31 34 45 43 44 33 46 0d 0a 3a 31 30 30 31 35 35 30 30 39 32 30 31 32 41 33   ┆012131014ECD3F  :1001550092012A3┆
0x0af300…0af320             32 30 31 31 36 30 30 33 41 30 38 30 37 35 46 44 35 45 35 34 41 43 44 39 41 38 31 0d 0a 3a 31 30   ┆20116003A08075FD5E54ACD9A81  :10┆
0x0af320…0af340             30 31 36 35 30 30 30 31 43 31 43 35 43 44 41 32 30 31 33 41 33 34 30 31 42 37 43 32 37 38 30 31   ┆01650001C1C5CDA2013A3401B7C27801┆
0x0af340…0af360             43 44 41 41 30 31 42 41 0d 0a 3a 31 30 30 31 37 35 30 30 43 33 37 42 30 31 43 44 42 32 30 31 45   ┆CDAA01BA  :10017500C37B01CDB201E┆
0x0af360…0af380             31 31 31 38 30 30 30 31 39 44 31 31 34 42 37 43 30 31 44 42 37 0d 0a 3a 31 30 30 31 38 35 30 30   ┆111800019D114B7C01DB7  :10018500┆
0x0af380…0af3a0             43 32 36 30 30 31 43 39 34 46 32 41 30 31 30 30 31 31 31 38 30 30 31 39 45 39 32 41 30 31 30 30   ┆C26001C94F2A010011180019E92A0100┆
0x0af3a0…0af3c0             41 45 0d 0a 3a 31 30 30 31 39 35 30 30 31 31 31 42 30 30 31 39 45 39 32 41 30 31 30 30 31 31 31   ┆AE  :10019500111B0019E92A0100111┆
0x0af3c0…0af3e0             45 30 30 31 39 45 39 32 41 30 31 30 30 41 35 0d 0a 3a 31 30 30 31 41 35 30 30 31 31 32 31 30 30   ┆E0019E92A0100A5  :1001A500112100┆
0x0af3e0…0af400             31 39 45 39 32 41 30 31 30 30 31 31 32 34 30 30 31 39 45 39 32 41 30 31 30 30 38 39 0d 0a 3a 31   ┆19E92A010011240019E92A010089  :1┆
0x0af400…0af420 (46, 1, 8)  47 49 4e 0d 0a 20 30 31 45 31 20 31 41 42 37 43 41 45 44 30 31 09 4f 52 47 32 3a 20 4c 44 41 58   ┆GIN   01E1 1AB7CAED01 ORG2: LDAX┆
0x0af420…0af440             20 44 21 20 4f 52 41 20 41 21 20 4a 5a 20 4f 52 47 33 0d 0a 20 30 31 45 36 20 31 33 37 37 32 33   ┆ D! ORA A! JZ ORG3   01E6 137723┆
0x0af440…0af460             30 35 43 32 09 09 49 4e 58 20 44 21 20 4d 4f 56 20 4d 2c 41 21 20 49 4e 58 20 48 21 20 44 43 52   ┆05C2  INX D! MOV M,A! INX H! DCR┆
0x0af460…0af480             20 42 21 20 4a 4e 5a 20 4f 52 47 32 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 09 09   ┆ B! JNZ ORG2                    ┆
0x0af480…0af4a0             3b 41 53 43 49 49 20 56 45 52 53 49 4f 4e 20 4d 4f 56 45 44 20 54 4f 20 42 55 46 46 45 52 2c 20   ┆;ASCII VERSION MOVED TO BUFFER, ┆
0x0af4a0…0af4c0             50 41 44 20 49 54 0d 0a 20 30 31 45 44 20 33 36 32 44 32 33 33 36 32 34 09 4f 52 47 33 3a 09 4d   ┆PAD IT   01ED 362D233624 ORG3: M┆
0x0af4c0…0af4e0             56 49 20 4d 2c 27 2d 27 21 20 49 4e 58 20 48 21 20 4d 56 49 20 4d 2c 27 24 27 20 3b 52 45 41 44   ┆VI M,'-'! INX H! MVI M,'$' ;READ┆
0x0af4e0…0af500             59 20 46 4f 52 20 50 52 49 4e 54 49 4e 47 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆Y FOR PRINTING                  ┆
0x0af500…0af520             3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 09 4e 4f 57 20 52 45 41 44 20 54 48   ┆;                  ; NOW READ TH┆
0x0af520…0af540             45 20 53 45 52 49 41 4c 20 4e 55 4d 42 45 52 0d 0a 20 30 31 46 32 20 43 44 45 33 30 34 43 44 43   ┆E SERIAL NUMBER   01F2 CDE304CDC┆
0x0af540…0af560             41 09 43 41 4c 4c 20 53 45 52 4d 53 47 21 20 43 41 4c 4c 20 52 45 41 44 0d 0a 20 30 31 46 38 20   ┆A CALL SERMSG! CALL READ   01F8 ┆
0x0af560…0af580             32 31 41 31 30 36 37 31 32 33 09 4c 58 49 20 48 2c 42 53 45 52 49 41 4c 21 20 4d 4f 56 20 4d 2c   ┆21A1067123 LXI H,BSERIAL! MOV M,┆
0x0af580…0af5a0             43 21 20 49 4e 58 20 48 21 20 4d 4f 56 20 4d 2c 42 20 3b 42 49 4e 41 52 59 20 43 4f 50 49 45 44   ┆C! INX H! MOV M,B ;BINARY COPIED┆
0x0af5a0…0af5c0             0d 0a 20 30 31 46 45 20 32 31 43 32 30 36 33 45 30 35 09 4c 58 49 20 48 2c 43 4f 4d 4c 45 4e 21   ┆   01FE 21C2063E05 LXI H,COMLEN!┆
0x0af5c0…0af5e0             20 4d 56 49 20 41 2c 35 21 20 53 55 42 20 4d 20 3b 44 49 46 46 45 52 45 4e 43 45 20 49 4e 20 52   ┆ MVI A,5! SUB M ;DIFFERENCE IN R┆
0x0af5e0…0af600             45 47 2d 41 0d 0a 20 30 32 30 34 20 32 31 41 33 30 36 43 41 31 31 09 4c 58 49 20 48 2c 41 53 45   ┆EG-A   0204 21A306CA11 LXI H,ASE┆
0x0af600…0af620 (46, 1, 9)  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆                ;               ┆
0x0af620…0af640             20 20 20 57 52 49 54 45 24 44 49 53 4b 3a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆   WRITE$DISK:                  ┆
0x0af640…0af660             09 3b 57 52 49 54 45 20 54 4f 20 44 49 53 4b 20 44 52 49 56 45 20 42 2c 20 54 4f 20 54 52 41 43   ┆ ;WRITE TO DISK DRIVE B, TO TRAC┆
0x0af660…0af680             4b 20 27 54 52 41 43 4b 27 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 09 3b 46 52 4f   ┆K 'TRACK'                   ;FRO┆
0x0af680…0af6a0             4d 20 54 48 45 20 41 44 44 52 45 53 53 20 47 49 56 45 4e 20 42 59 20 27 42 55 46 46 41 27 0d 0a   ┆M THE ADDRESS GIVEN BY 'BUFFA'  ┆
0x0af6a0…0af6c0             20 30 31 33 43 20 33 45 30 31 33 32 33 34 30 31 09 4d 56 49 20 41 2c 31 21 20 53 54 41 20 49 4f   ┆ 013C 3E01323401 MVI A,1! STA IO┆
0x0af6c0…0af6e0             46 20 3b 53 45 54 20 49 4f 46 55 4e 43 54 49 4f 4e 20 54 4f 20 57 52 49 54 45 0d 0a 20 30 31 34   ┆F ;SET IOFUNCTION TO WRITE   014┆
0x0af6e0…0af700             31 20 43 44 38 39 30 31 20 20 20 20 09 43 41 4c 4c 20 53 45 4c 20 3b 53 45 4c 45 43 54 20 44 52   ┆1 CD8901     CALL SEL ;SELECT DR┆
0x0af700…0af720             49 56 45 20 42 0d 0a 20 30 31 34 34 20 43 33 35 30 30 31 20 20 20 20 09 4a 4d 50 20 52 57 24 44   ┆IVE B   0144 C35001     JMP RW$D┆
0x0af720…0af740             49 53 4b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 0d 0a 20 20 20 20 20 20 20 20   ┆ISK                  ;          ┆
0x0af740…0af760             20 20 20 20 20 20 20 20 52 45 24 52 45 41 44 24 44 49 53 4b 3a 0d 0a 20 20 20 20 20 20 20 20 20   ┆        RE$READ$DISK:           ┆
0x0af760…0af780             20 20 20 20 20 20 20 09 3b 52 45 41 44 20 46 52 4f 4d 20 44 49 53 4b 20 44 52 49 56 45 20 42 2c   ┆        ;READ FROM DISK DRIVE B,┆
0x0af780…0af7a0             20 46 52 4f 4d 20 54 52 41 43 4b 20 27 54 52 41 43 4b 27 0d 0a 20 20 20 20 20 20 20 20 20 20 20   ┆ FROM TRACK 'TRACK'             ┆
0x0af7a0…0af7c0             20 20 20 20 20 09 3b 54 4f 20 54 48 45 20 41 44 44 52 45 53 53 20 47 49 56 45 4e 20 42 59 20 27   ┆      ;TO THE ADDRESS GIVEN BY '┆
0x0af7c0…0af7e0             42 55 46 46 41 27 0d 0a 20 30 31 34 37 20 33 45 30 31 43 44 38 39 30 31 09 4d 56 49 20 41 2c 31   ┆BUFFA'   0147 3E01CD8901 MVI A,1┆
0x0af7e0…0af800             21 20 43 41 4c 4c 20 53 45 4c 20 3b 44 52 49 56 45 20 42 20 53 45 4c 45 43 54 45 44 0d 0a 20 30   ┆! CALL SEL ;DRIVE B SELECTED   0┆
0x0af800…0af820 (46, 1, 10) 20 20 20 20 20 20 53 45 4c 44 53 4b 09 45 51 55 09 32 34 09 3b 53 45 4c 45 43 54 20 44 49 53 4b   ┆      SELDSK EQU 24 ;SELECT DISK┆
0x0af820…0af840             0d 0a 20 30 30 31 42 20 3d 20 20 20 20 20 20 20 20 20 53 45 54 54 52 4b 09 45 51 55 09 32 37 09   ┆   001B =         SETTRK EQU 27 ┆
0x0af840…0af860             3b 53 45 54 20 54 52 41 43 4b 0d 0a 20 30 30 31 45 20 3d 20 20 20 20 20 20 20 20 20 53 45 54 53   ┆;SET TRACK   001E =         SETS┆
0x0af860…0af880             45 43 09 45 51 55 09 33 30 09 3b 53 45 54 20 53 45 43 54 4f 52 0d 0a 20 30 30 32 31 20 3d 20 20   ┆EC EQU 30 ;SET SECTOR   0021 =  ┆
0x0af880…0af8a0             20 20 20 20 20 20 20 53 45 54 44 4d 41 09 45 51 55 09 33 33 09 3b 53 45 54 20 44 4d 41 20 41 44   ┆       SETDMA EQU 33 ;SET DMA AD┆
0x0af8a0…0af8c0             44 52 45 53 53 0d 0a 20 30 30 32 34 20 3d 20 20 20 20 20 20 20 20 20 52 45 41 44 46 09 45 51 55   ┆DRESS   0024 =         READF EQU┆
0x0af8c0…0af8e0             09 33 36 09 3b 52 45 41 44 20 44 49 53 4b 0d 0a 20 30 30 32 37 20 3d 20 20 20 20 20 20 20 20 20   ┆ 36 ;READ DISK   0027 =         ┆
0x0af8e0…0af900             57 52 49 54 46 09 45 51 55 09 33 39 09 3b 57 52 49 54 45 20 44 49 53 4b 0d 0a 20 20 20 20 20 20   ┆WRITF EQU 39 ;WRITE DISK        ┆
0x0af900…0af920             20 20 20 20 20 20 20 20 20 20 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 45 4c   ┆          ;                  SEL┆
0x0af920…0af940             3a 09 3b 53 45 4c 45 43 54 20 44 52 49 56 45 20 47 49 56 45 4e 20 42 59 20 52 45 47 49 53 54 45   ┆: ;SELECT DRIVE GIVEN BY REGISTE┆
0x0af940…0af960             52 20 41 0d 0a 20 30 31 38 39 20 34 46 32 41 30 31 30 30 31 31 09 4d 4f 56 20 43 2c 41 21 20 4c   ┆R A   0189 4F2A010011 MOV C,A! L┆
0x0af960…0af980             48 4c 44 20 57 42 4f 4f 54 21 20 4c 58 49 20 44 2c 53 45 4c 44 53 4b 21 20 44 41 44 20 44 21 20   ┆HLD WBOOT! LXI D,SELDSK! DAD D! ┆
0x0af980…0af9a0             50 43 48 4c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 0d 0a 20 20 20 20 20 20 20   ┆PCHL                  ;         ┆
0x0af9a0…0af9c0             20 20 20 20 20 20 20 20 20 54 52 4b 3a 09 3b 53 45 54 20 54 52 41 43 4b 20 47 49 56 45 4e 20 42   ┆         TRK: ;SET TRACK GIVEN B┆
0x0af9c0…0af9e0             59 20 43 0d 0a 20 30 31 39 32 20 32 41 30 31 30 30 31 31 31 42 09 4c 48 4c 44 20 57 42 4f 4f 54   ┆Y C   0192 2A0100111B LHLD WBOOT┆
0x0af9e0…0afa00             21 20 4c 58 49 20 44 2c 53 45 54 54 52 4b 21 20 44 41 44 20 44 21 20 50 43 48 4c 0d 0a 20 20 20   ┆! LXI D,SETTRK! DAD D! PCHL     ┆
0x0afa00…0afa20 (46, 1, 11) 30 30 31 42 35 30 30 31 31 32 37 30 30 31 39 45 39 33 31 30 38 30 37 30 45 37 38 44 42 31 34 45   ┆001B50011270019E93108070E78DB14E┆
0x0afa20…0afa40             36 38 30 43 41 43 38 35 33 0d 0a 3a 31 30 30 31 43 35 30 30 30 31 30 45 34 38 37 39 33 32 30 38   ┆680CAC853  :1001C500010E48793208┆
0x0afa40…0afa60             30 37 43 44 41 45 30 34 43 44 43 41 30 33 32 31 38 31 30 36 35 38 0d 0a 3a 31 30 30 31 44 35 30   ┆07CDAE04CDCA0321810658  :1001D50┆
0x0afa60…0afa80             30 37 31 32 33 37 30 32 31 43 32 30 36 34 36 32 33 45 42 32 31 38 35 30 36 31 41 42 37 43 41 45   ┆071237021C2064623EB2185061AB7CAE┆
0x0afa80…0afaa0             44 41 35 0d 0a 3a 31 30 30 31 45 35 30 30 30 31 31 33 37 37 32 33 30 35 43 32 45 31 30 31 33 36   ┆DA5  :1001E5000113772305C2E10136┆
0x0afaa0…0afac0             32 44 32 33 33 36 32 34 43 44 45 33 30 34 31 46 0d 0a 3a 31 30 30 31 46 35 30 30 43 44 43 41 30   ┆2D233624CDE3041F  :1001F500CDCA0┆
0x0afac0…0afae0             33 32 31 41 31 30 36 37 31 32 33 37 30 32 31 43 32 30 36 33 45 30 35 39 36 32 31 42 31 0d 0a 3a   ┆321A10671237021C2063E059621B1  :┆
0x0afae0…0afb00             31 30 30 32 30 35 30 30 41 33 30 36 43 41 31 31 30 32 33 36 33 30 32 33 33 44 43 32 30 41 30 32   ┆10020500A306CA11023630233DC20A02┆
0x0afb00…0afb20             31 31 43 33 30 36 31 41 44 42 0d 0a 3a 31 30 30 32 31 35 30 30 42 37 43 41 31 46 30 32 37 37 32   ┆11C3061ADB  :10021500B7CA1F02772┆
0x0afb20…0afb40             33 31 33 43 33 31 34 30 32 43 44 37 43 30 34 43 44 42 44 30 33 44 37 0d 0a 3a 31 30 30 32 32 35   ┆313C31402CD7C04CDBD03D7  :100225┆
0x0afb40…0afb60             30 30 33 45 30 30 33 32 43 42 30 36 43 44 32 37 30 35 43 44 34 31 30 35 43 44 34 44 30 35 43 44   ┆003E0032CB06CD2705CD4105CD4D05CD┆
0x0afb60…0afb80             42 44 44 33 0d 0a 3a 31 30 30 32 33 35 30 30 30 33 32 31 33 31 30 31 33 36 30 31 32 31 38 45 30   ┆BDD3  :10023500032131013601218E0┆
0x0afb80…0afba0             36 33 36 33 30 32 33 33 36 33 30 32 31 30 39 35 45 0d 0a 3a 31 30 30 32 34 35 30 30 30 37 32 32   ┆6363023363021095E  :100245000722┆
0x0afba0…0afbc0             33 32 30 31 43 44 32 38 30 31 43 41 35 35 30 32 43 44 30 42 30 36 43 33 31 46 30 32 37 34 0d 0a   ┆3201CD2801CA5502CD0B06C31F0274  ┆
0x0afbc0…0afbe0             3a 31 30 30 32 35 35 30 30 33 41 33 31 30 31 46 45 30 31 43 32 43 33 30 32 32 31 30 39 30 37 30   ┆:100255003A3101FE01C2C3022109070┆
0x0afbe0…0afc00             31 30 30 30 38 45 35 43 35 43 33 0d 0a 3a 31 30 30 32 36 35 30 30 31 31 41 39 30 36 30 45 30 43   ┆10008E5C5C3  :1002650011A9060E0C┆
0x0afc00…0afc20 (46, 1, 12) 52 49 41 4c 21 20 4a 5a 20 50 41 44 31 20 3b 50 41 44 20 48 49 47 48 20 4f 52 44 45 52 20 50 4f   ┆RIAL! JZ PAD1 ;PAD HIGH ORDER PO┆
0x0afc20…0afc40             53 49 54 49 4f 4e 53 20 57 49 54 48 20 30 0d 0a 20 30 32 30 41 20 33 36 33 30 32 33 33 44 43 32   ┆SITIONS WITH 0   020A 3630233DC2┆
0x0afc40…0afc60             09 50 41 44 30 3a 09 4d 56 49 20 4d 2c 27 30 27 21 20 49 4e 58 20 48 21 20 44 43 52 20 41 21 20   ┆ PAD0: MVI M,'0'! INX H! DCR A! ┆
0x0afc60…0afc80             4a 4e 5a 20 50 41 44 30 0d 0a 20 30 32 31 31 20 31 31 43 33 30 36 20 20 20 20 09 50 41 44 31 3a   ┆JNZ PAD0   0211 11C306     PAD1:┆
0x0afc80…0afca0             09 4c 58 49 20 44 2c 43 42 55 46 46 20 3b 41 44 44 52 45 53 53 49 4e 47 20 42 55 46 46 45 52 0d   ┆ LXI D,CBUFF ;ADDRESSING BUFFER ┆
0x0afca0…0afcc0             0a 20 30 32 31 34 20 31 41 42 37 43 41 31 46 30 32 09 50 41 44 32 3a 09 4c 44 41 58 20 44 21 20   ┆  0214 1AB7CA1F02 PAD2: LDAX D! ┆
0x0afcc0…0afce0             4f 52 41 20 41 21 20 4a 5a 20 50 41 44 33 20 3b 4c 4f 4f 4b 49 4e 47 20 46 4f 52 20 42 49 4e 41   ┆ORA A! JZ PAD3 ;LOOKING FOR BINA┆
0x0afce0…0afd00             52 59 20 30 0d 0a 20 30 32 31 39 20 37 37 32 33 31 33 43 33 31 34 09 09 4d 4f 56 20 4d 2c 41 21   ┆RY 0   0219 772313C314  MOV M,A!┆
0x0afd00…0afd20             20 49 4e 58 20 48 21 20 49 4e 58 20 44 21 20 4a 4d 50 20 50 41 44 32 20 3b 46 4f 52 20 41 4e 4f   ┆ INX H! INX D! JMP PAD2 ;FOR ANO┆
0x0afd20…0afd40             54 48 45 52 20 43 48 41 52 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 09 50 41 44 33   ┆THER CHAR                   PAD3┆
0x0afd40…0afd60             3a 09 3b 45 4e 44 20 4f 46 20 41 53 43 49 49 20 46 49 4c 4c 20 28 4e 4f 57 20 52 49 47 48 54 20   ┆: ;END OF ASCII FILL (NOW RIGHT ┆
0x0afd60…0afd80             41 44 4a 55 53 54 45 44 20 49 4e 20 41 53 45 52 49 41 4c 29 0d 0a 20 20 20 20 20 20 20 20 20 20   ┆ADJUSTED IN ASERIAL)            ┆
0x0afd80…0afda0             20 20 20 20 20 20 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 44 44 53 4b 3a 09   ┆      ;                  RDDSK: ┆
0x0afda0…0afdc0             3b 52 45 41 44 20 44 49 53 4b 20 41 4e 44 20 43 4f 50 59 0d 0a 20 30 32 31 46 20 43 44 37 43 30   ┆;READ DISK AND COPY   021F CD7C0┆
0x0afdc0…0afde0             34 43 44 42 44 09 43 41 4c 4c 20 49 4e 53 4d 53 47 21 20 43 41 4c 4c 20 43 49 20 3b 57 41 49 54   ┆4CDBD CALL INSMSG! CALL CI ;WAIT┆
0x0afde0…0afe00             20 46 4f 52 20 52 45 53 50 4f 4e 53 45 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b   ┆ FOR RESPONSE                  ;┆
0x0afe00…0afe20 (46, 1, 13) 31 34 43 20 41 46 33 32 33 34 30 31 20 20 09 52 45 41 44 24 44 3a 20 58 52 41 20 41 21 20 53 54   ┆14C AF323401   READ$D: XRA A! ST┆
0x0afe20…0afe40             41 20 49 4f 46 20 3b 53 45 54 20 54 4f 20 52 45 41 44 20 46 55 4e 43 54 49 4f 4e 0d 0a 20 20 20   ┆A IOF ;SET TO READ FUNCTION     ┆
0x0afe40…0afe60             20 20 20 20 20 20 20 20 20 20 20 20 20 09 52 57 24 44 49 53 4b 3a 20 3b 52 45 41 44 20 4f 52 20   ┆              RW$DISK: ;READ OR ┆
0x0afe60…0afe80             57 52 49 54 45 20 44 49 53 4b 0d 0a 20 30 31 35 30 20 32 31 33 31 30 31 34 45 20 20 09 09 4c 58   ┆WRITE DISK   0150 2131014E    LX┆
0x0afe80…0afea0             49 20 48 2c 54 52 41 43 4b 21 20 4d 4f 56 20 43 2c 4d 20 3b 47 45 54 20 54 52 41 43 4b 20 4e 55   ┆I H,TRACK! MOV C,M ;GET TRACK NU┆
0x0afea0…0afec0             4d 42 45 52 0d 0a 20 30 31 35 34 20 43 44 39 32 30 31 20 20 20 20 09 09 43 41 4c 4c 20 54 52 4b   ┆MBER   0154 CD9201      CALL TRK┆
0x0afec0…0afee0             20 3b 54 52 41 43 4b 20 53 45 4c 45 43 54 45 44 0d 0a 20 30 31 35 37 20 32 41 33 32 30 31 20 20   ┆ ;TRACK SELECTED   0157 2A3201  ┆
0x0afee0…0aff00             20 20 09 09 4c 48 4c 44 20 42 55 46 46 41 20 3b 47 45 54 20 44 4d 41 20 41 44 44 52 45 53 53 0d   ┆    LHLD BUFFA ;GET DMA ADDRESS ┆
0x0aff00…0aff20             0a 20 30 31 35 41 20 31 36 30 30 33 41 30 38 30 37 09 09 4d 56 49 20 44 2c 30 21 20 4c 44 41 20   ┆  015A 16003A0807  MVI D,0! LDA ┆
0x0aff20…0aff40             53 50 54 21 20 4d 4f 56 20 45 2c 41 20 3b 20 44 3d 30 2c 20 45 3d 53 50 54 0d 0a 20 20 20 20 20   ┆SPT! MOV E,A ; D=0, E=SPT       ┆
0x0aff40…0aff60             20 20 20 20 20 20 20 20 20 20 20 09 09 52 57 24 4c 4f 4f 50 3a 20 3b 52 45 41 44 2f 57 52 49 54   ┆             RW$LOOP: ;READ/WRIT┆
0x0aff60…0aff80             45 20 4c 4f 4f 50 0d 0a 20 30 31 36 30 20 44 35 45 35 20 20 20 20 20 20 09 09 09 50 55 53 48 20   ┆E LOOP   0160 D5E5         PUSH ┆
0x0aff80…0affa0             44 21 20 50 55 53 48 20 48 0d 0a 20 30 31 36 32 20 34 41 43 44 39 41 30 31 20 20 09 09 09 4d 4f   ┆D! PUSH H   0162 4ACD9A01     MO┆
0x0affa0…0affc0             56 20 43 2c 44 21 20 43 41 4c 4c 20 53 45 43 20 3b 53 45 43 54 4f 52 20 53 45 54 0d 0a 20 30 31   ┆V C,D! CALL SEC ;SECTOR SET   01┆
0x0affc0…0affe0             36 36 20 43 31 43 35 20 20 20 20 20 20 09 09 09 50 4f 50 20 42 21 20 50 55 53 48 20 42 20 3b 47   ┆66 C1C5         POP B! PUSH B ;G┆
0x0affe0…0b0000             45 54 20 44 4d 41 20 41 44 44 52 45 53 53 0d 0a 20 30 31 36 38 20 43 44 41 32 30 31 20 20 20 20   ┆ET DMA ADDRESS   0168 CDA201    ┆
0x0b0000…0b0020 (46, 1, 14) 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆             ;                  ┆
0x0b0020…0b0040             53 45 43 3a 09 3b 53 45 54 20 53 45 43 54 4f 52 20 47 49 56 45 4e 20 42 59 20 43 0d 0a 20 30 31   ┆SEC: ;SET SECTOR GIVEN BY C   01┆
0x0b0040…0b0060             39 41 20 32 41 30 31 30 30 31 31 31 45 09 4c 48 4c 44 20 57 42 4f 4f 54 21 20 4c 58 49 20 44 2c   ┆9A 2A0100111E LHLD WBOOT! LXI D,┆
0x0b0060…0b0080             53 45 54 53 45 43 21 20 44 41 44 20 44 21 20 50 43 48 4c 0d 0a 20 20 20 20 20 20 20 20 20 20 20   ┆SETSEC! DAD D! PCHL             ┆
0x0b0080…0b00a0             20 20 20 20 20 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 4d 41 3a 09 3b 53 45   ┆     ;                  DMA: ;SE┆
0x0b00a0…0b00c0             54 20 44 4d 41 20 41 44 44 52 45 53 53 20 54 4f 20 56 41 4c 55 45 20 4f 46 20 42 2c 43 0d 0a 20   ┆T DMA ADDRESS TO VALUE OF B,C   ┆
0x0b00c0…0b00e0             30 31 41 32 20 32 41 30 31 30 30 31 31 32 31 09 4c 48 4c 44 20 57 42 4f 4f 54 21 20 4c 58 49 20   ┆01A2 2A01001121 LHLD WBOOT! LXI ┆
0x0b00e0…0b0100             44 2c 53 45 54 44 4d 41 21 20 44 41 44 20 44 21 20 50 43 48 4c 0d 0a 20 20 20 20 20 20 20 20 20   ┆D,SETDMA! DAD D! PCHL           ┆
0x0b0100…0b0120             20 20 20 20 20 20 20 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 52 45 41 44 3a   ┆       ;                  DREAD:┆
0x0b0120…0b0140             09 3b 50 45 52 46 4f 52 4d 20 52 45 41 44 20 4f 50 45 52 41 54 49 4f 4e 0d 0a 20 30 31 41 41 20   ┆ ;PERFORM READ OPERATION   01AA ┆
0x0b0140…0b0160             32 41 30 31 30 30 31 31 32 34 09 4c 48 4c 44 20 57 42 4f 4f 54 21 20 4c 58 49 20 44 2c 52 45 41   ┆2A01001124 LHLD WBOOT! LXI D,REA┆
0x0b0160…0b0180             44 46 21 20 44 41 44 20 44 21 20 50 43 48 4c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆DF! DAD D! PCHL                 ┆
0x0b0180…0b01a0             20 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 57 52 49 54 45 3a 09 3b 50 45 52   ┆ ;                  DWRITE: ;PER┆
0x0b01a0…0b01c0             46 4f 52 4d 20 57 52 49 54 45 20 4f 50 45 52 41 54 49 4f 4e 0d 0a 20 30 31 42 32 20 32 41 30 31   ┆FORM WRITE OPERATION   01B2 2A01┆
0x0b01c0…0b01e0             30 30 31 31 32 37 09 4c 48 4c 44 20 57 42 4f 4f 54 21 20 4c 58 49 20 44 2c 57 52 49 54 46 21 20   ┆001127 LHLD WBOOT! LXI D,WRITF! ┆
0x0b01e0…0b0200             44 41 44 20 44 21 20 50 43 48 4c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 0d 0a   ┆DAD D! PCHL                  ;  ┆
0x0b0200…0b0220 (46, 1, 15) 31 41 32 46 42 45 43 32 42 34 30 32 32 33 31 33 31 41 32 46 42 45 46 33 0d 0a 3a 31 30 30 32 37   ┆1A2FBEC2B40223131A2FBEF3  :10027┆
0x0b0220…0b0240             35 30 30 43 32 42 34 30 32 32 33 31 33 30 44 43 32 36 41 30 32 43 31 44 31 45 35 45 42 32 41 38   ┆500C2B40223130DC26A02C1D1E5EB2A8┆
0x0b0240…0b0260             31 30 36 37 44 0d 0a 3a 31 30 30 32 38 35 30 30 45 42 37 33 32 33 33 36 31 36 32 33 37 32 32 33   ┆1067D  :10028500EB73233616237223┆
0x0b0260…0b0280             33 36 30 30 32 33 45 42 32 41 41 31 30 36 45 42 45 34 0d 0a 3a 31 30 30 32 39 35 30 30 37 32 32   ┆360023EB2AA106EBE4  :10029500722┆
0x0b0280…0b02a0             33 37 33 43 31 43 35 31 31 30 39 30 46 37 42 39 31 36 46 37 41 39 38 36 37 32 32 43 43 43 30 0d   ┆373C1C511090F7B916F7A986722CCC0 ┆
0x0b02a0…0b02c0             0a 3a 31 30 30 32 41 35 30 30 30 36 45 31 30 45 30 36 37 45 31 32 31 33 32 33 30 44 43 32 41 39   ┆ :1002A50006E10E067E1213230DC2A9┆
0x0b02c0…0b02e0             30 32 43 33 33 30 30 33 43 31 35 37 0d 0a 3a 31 30 30 32 42 35 30 30 45 31 32 33 30 42 37 39 42   ┆02C33003C157  :1002B500E1230B79B┆
0x0b02e0…0b0300             30 43 32 36 33 30 32 43 44 39 42 30 35 43 33 31 46 30 32 46 45 30 30 38 42 0d 0a 3a 31 30 30 32   ┆0C26302CD9B05C31F02FE008B  :1002┆
0x0b0300…0b0320             43 35 30 30 43 32 33 30 30 33 32 31 30 30 30 30 30 31 30 30 33 43 45 35 43 35 31 31 41 39 30 36   ┆C500C2300321000001003CE5C511A906┆
0x0b0320…0b0340             30 45 30 43 35 32 0d 0a 3a 31 30 30 32 44 35 30 30 45 35 43 44 32 43 30 34 31 41 32 46 42 45 45   ┆0E0C52  :1002D500E5CD2C041A2FBEE┆
0x0b0340…0b0360             31 43 32 32 31 30 33 32 33 31 33 45 35 43 44 32 43 35 35 0d 0a 3a 31 30 30 32 45 35 30 30 30 34   ┆1C221032313E5CD2C55  :1002E50004┆
0x0b0360…0b0380             31 41 32 46 42 45 45 31 43 32 32 31 30 33 32 33 31 33 30 44 43 32 44 35 30 32 43 31 44 31 43 39   ┆1A2FBEE1C2210323130DC2D502C1D1C9┆
0x0b0380…0b03a0             0d 0a 3a 31 30 30 32 46 35 30 30 45 35 43 44 35 41 30 34 45 31 45 42 32 41 43 43 30 36 31 39 37   ┆  :1002F500E5CD5A04E1EB2ACC06197┆
0x0b03a0…0b03c0             44 42 37 43 32 32 41 30 33 45 42 46 41 0d 0a 3a 31 30 30 33 30 35 30 30 32 31 43 42 30 36 33 36   ┆DB7C22A03EBFA  :1003050021CB0636┆
0x0b03c0…0b03e0             30 30 33 34 37 42 44 36 30 30 34 37 37 41 44 45 30 44 44 41 31 41 30 33 39 38 0d 0a 3a 31 30 30   ┆00347BD600477ADE0DDA1A0398  :100┆
0x0b03e0…0b0400             33 31 35 30 30 35 37 35 38 43 33 30 41 30 33 45 42 32 32 43 43 30 36 43 33 33 30 30 33 43 31 45   ┆315005758C30A03EB22CC06C33003C1E┆
0x0b0400…0b0420 (47, 0, 1)  0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4e 45 58 54 44 49 53 4b 3a 0d 0a 20 30 32   ┆                  NEXTDISK:   02┆
0x0b0420…0b0440             32 35 20 33 45 30 30 33 32 43 42 30 36 09 4d 56 49 20 41 2c 30 21 20 53 54 41 20 53 54 52 41 43   ┆25 3E0032CB06 MVI A,0! STA STRAC┆
0x0b0440…0b0460             4b 20 3b 4d 41 52 4b 20 41 53 20 4d 4f 56 43 50 4d 2e 43 4f 4d 20 20 53 45 52 49 41 4c 49 5a 45   ┆K ;MARK AS MOVCPM.COM  SERIALIZE┆
0x0b0460…0b0480             44 0d 0a 20 30 32 32 41 20 43 44 32 37 30 35 43 44 34 31 09 43 41 4c 4c 20 43 55 52 4d 53 47 21   ┆D   022A CD2705CD41 CALL CURMSG!┆
0x0b0480…0b04a0             20 43 41 4c 4c 20 41 53 45 52 4d 53 47 21 20 43 41 4c 4c 20 4e 45 57 4d 53 47 21 20 43 41 4c 4c   ┆ CALL ASERMSG! CALL NEWMSG! CALL┆
0x0b04a0…0b04c0             20 43 49 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 09 3b 4e 45 57 20 44 49 53 4b 20   ┆ CI                   ;NEW DISK ┆
0x0b04c0…0b04e0             49 53 20 52 45 41 44 59 2c 20 54 52 59 20 54 48 45 20 43 4f 50 59 20 4f 50 45 52 41 54 49 4f 4e   ┆IS READY, TRY THE COPY OPERATION┆
0x0b04e0…0b0500             0d 0a 20 30 32 33 36 20 32 31 33 31 30 31 33 36 30 31 09 4c 58 49 20 48 2c 54 52 41 43 4b 21 20   ┆   0236 2131013601 LXI H,TRACK! ┆
0x0b0500…0b0520             4d 56 49 20 4d 2c 31 20 3b 43 4c 45 41 52 20 54 48 45 20 54 52 41 43 4b 20 4e 55 4d 42 45 52 0d   ┆MVI M,1 ;CLEAR THE TRACK NUMBER ┆
0x0b0520…0b0540             0a 20 30 32 33 42 20 32 31 38 45 30 36 33 36 33 30 09 4c 58 49 20 48 2c 54 52 43 4f 55 4e 54 21   ┆  023B 218E063630 LXI H,TRCOUNT!┆
0x0b0540…0b0560             20 4d 56 49 20 4d 2c 27 30 27 21 20 49 4e 58 20 48 21 20 4d 56 49 20 4d 2c 27 30 27 0d 0a 20 20   ┆ MVI M,'0'! INX H! MVI M,'0'    ┆
0x0b0560…0b0580             20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆              ;                 ┆
0x0b0580…0b05a0             20 52 44 54 52 4b 3a 09 3b 52 45 41 44 20 54 48 45 20 4e 45 58 54 20 53 4f 55 52 43 45 20 54 52   ┆ RDTRK: ;READ THE NEXT SOURCE TR┆
0x0b05a0…0b05c0             41 43 4b 2c 20 43 4f 4d 50 41 52 45 20 57 49 54 48 20 30 45 35 48 20 46 4f 52 20 45 4e 44 0d 0a   ┆ACK, COMPARE WITH 0E5H FOR END  ┆
0x0b05c0…0b05e0             20 30 32 34 33 20 32 31 30 39 30 37 32 32 33 32 09 4c 58 49 20 48 2c 49 42 55 46 46 21 20 53 48   ┆ 0243 2109072232 LXI H,IBUFF! SH┆
0x0b05e0…0b0600             4c 44 20 42 55 46 46 41 21 20 43 41 4c 4c 20 52 45 41 44 54 52 4b 0d 0a 20 30 32 34 43 20 43 41   ┆LD BUFFA! CALL READTRK   024C CA┆
0x0b0600…0b0620 (47, 0, 2)  21 20 49 4e 58 20 44 21 20 49 4e 58 20 48 21 20 44 43 52 20 43 0d 0a 20 30 32 41 45 20 43 32 41   ┆! INX D! INX H! DCR C   02AE C2A┆
0x0b0620…0b0640             39 30 32 20 20 20 20 09 09 09 4a 4e 5a 20 43 4f 50 59 30 0d 0a 20 20 20 20 20 20 20 20 20 20 20   ┆902       JNZ COPY0             ┆
0x0b0640…0b0660             20 20 20 20 20 09 09 3b 42 44 4f 53 20 53 45 52 49 41 4c 20 4e 55 4d 42 45 52 20 49 53 20 43 4f   ┆       ;BDOS SERIAL NUMBER IS CO┆
0x0b0660…0b0680             50 49 45 44 0d 0a 20 30 32 42 31 20 43 33 33 30 30 33 20 20 20 20 09 09 4a 4d 50 20 52 44 54 52   ┆PIED   02B1 C33003      JMP RDTR┆
0x0b0680…0b06a0             4b 4e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 09 09 3b 0d 0a 20 20 20 20 20 20 20   ┆KN                    ;         ┆
0x0b06a0…0b06c0             20 20 20 20 20 20 20 20 20 09 4e 4f 4d 41 54 43 48 3a 20 3b 54 52 59 20 46 4f 52 20 4e 45 58 54   ┆          NOMATCH: ;TRY FOR NEXT┆
0x0b06c0…0b06e0             20 4d 41 54 43 48 0d 0a 20 30 32 42 34 20 43 31 45 31 32 33 30 42 37 39 09 09 50 4f 50 20 42 21   ┆ MATCH   02B4 C1E1230B79  POP B!┆
0x0b06e0…0b0700             20 50 4f 50 20 48 21 20 49 4e 58 20 48 21 20 44 43 58 20 42 21 20 4d 4f 56 20 41 2c 43 21 20 4f   ┆ POP H! INX H! DCX B! MOV A,C! O┆
0x0b0700…0b0720             52 41 20 42 0d 0a 20 30 32 42 41 20 43 32 36 33 30 32 20 20 20 20 09 09 4a 4e 5a 20 53 45 41 52   ┆RA B   02BA C26302      JNZ SEAR┆
0x0b0720…0b0740             43 48 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 09 09 3b 4e 4f 54 20 46 4f 55 4e 44   ┆CH                    ;NOT FOUND┆
0x0b0740…0b0760             0d 0a 20 30 32 42 44 20 43 44 39 42 30 35 43 33 31 46 09 09 43 41 4c 4c 20 42 41 44 44 53 4b 21   ┆   02BD CD9B05C31F  CALL BADDSK!┆
0x0b0760…0b0780             20 4a 4d 50 20 52 44 44 53 4b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 09 3b 0d 0a   ┆ JMP RDDSK                   ;  ┆
0x0b0780…0b07a0             20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 09 51 54 52 4b 33 3a 09 3b 49 53 20 54 48 49 53   ┆                 QTRK3: ;IS THIS┆
0x0b07a0…0b07c0             20 54 52 41 43 4b 20 4d 4f 56 54 52 4b 3f 20 49 46 20 53 4f 2c 20 4c 4f 4f 4b 20 46 4f 52 20 43   ┆ TRACK MOVTRK? IF SO, LOOK FOR C┆
0x0b07c0…0b07e0             50 4d 2e 43 4f 4d 0d 0a 20 30 32 43 33 20 46 45 30 30 43 32 33 30 30 33 09 09 43 50 49 20 4d 4f   ┆PM.COM   02C3 FE00C23003  CPI MO┆
0x0b07e0…0b0800             56 54 52 4b 21 20 4a 4e 5a 20 52 44 54 52 4b 4e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆VTRK! JNZ RDTRKN                ┆
0x0b0800…0b0820 (47, 0, 3)  54 20 54 4f 20 4c 4f 57 45 52 20 56 41 4c 55 45 0d 0a 20 30 33 31 37 20 43 33 30 41 30 33 20 20   ┆T TO LOWER VALUE   0317 C30A03  ┆
0x0b0820…0b0840             20 20 09 09 09 09 4a 4d 50 20 44 4c 4f 4f 50 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆      JMP DLOOP                 ┆
0x0b0840…0b0860             20 09 09 09 45 44 4c 4f 4f 50 3a 09 3b 44 2c 45 20 43 4f 4e 54 41 49 4e 20 4f 46 46 53 45 54 20   ┆    EDLOOP: ;D,E CONTAIN OFFSET ┆
0x0b0860…0b0880             49 4e 54 4f 20 54 52 41 43 4b 20 53 54 52 41 43 4b 0d 0a 20 30 33 31 41 20 45 42 32 32 43 43 30   ┆INTO TRACK STRACK   031A EB22CC0┆
0x0b0880…0b08a0             36 20 20 09 09 09 09 58 43 48 47 21 20 53 48 4c 44 20 53 44 49 46 46 0d 0a 20 30 33 31 45 20 43   ┆6      XCHG! SHLD SDIFF   031E C┆
0x0b08a0…0b08c0             33 33 30 30 33 20 20 20 20 09 09 09 4a 4d 50 20 52 44 54 52 4b 4e 0d 0a 20 20 20 20 20 20 20 20   ┆33003       JMP RDTRKN          ┆
0x0b08c0…0b08e0             20 20 20 20 20 20 20 20 09 09 09 4e 4f 4d 41 54 33 3a 09 3b 4e 4f 20 4d 41 54 43 48 20 4f 4e 20   ┆           NOMAT3: ;NO MATCH ON ┆
0x0b08e0…0b0900             43 55 52 52 45 4e 54 20 53 54 52 49 4e 47 0d 0a 20 30 33 32 31 20 43 31 45 31 32 33 30 42 20 20   ┆CURRENT STRING   0321 C1E1230B  ┆
0x0b0900…0b0920             09 09 09 50 4f 50 20 42 21 20 50 4f 50 20 48 21 20 49 4e 58 20 48 21 20 44 43 58 20 42 0d 0a 20   ┆   POP B! POP H! INX H! DCX B   ┆
0x0b0920…0b0940             30 33 32 35 20 37 38 42 31 43 32 43 45 30 32 09 09 09 4d 4f 56 20 41 2c 42 21 20 4f 52 41 20 43   ┆0325 78B1C2CE02   MOV A,B! ORA C┆
0x0b0940…0b0960             21 20 4a 4e 5a 20 51 54 52 30 20 3b 46 4f 52 20 41 4e 4f 54 48 45 52 20 53 43 41 4e 0d 0a 20 20   ┆! JNZ QTR0 ;FOR ANOTHER SCAN    ┆
0x0b0960…0b0980             20 20 20 20 20 20 20 20 20 20 20 20 20 20 09 09 09 3b 4e 4f 54 20 46 4f 55 4e 44 0d 0a 20 30 33   ┆                 ;NOT FOUND   03┆
0x0b0980…0b09a0             32 41 20 43 44 37 36 30 35 43 33 31 46 09 09 51 54 52 32 3a 09 43 41 4c 4c 20 42 41 44 43 4f 4d   ┆2A CD7605C31F  QTR2: CALL BADCOM┆
0x0b09a0…0b09c0             21 20 4a 4d 50 20 52 44 44 53 4b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 09 09 3b   ┆! JMP RDDSK                    ;┆
0x0b09c0…0b09e0             0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 09 52 44 54 52 4b 4e 3a 0d 0a 20 20 20 20   ┆                   RDTRKN:      ┆
0x0b09e0…0b0a00             20 20 20 20 20 20 20 20 20 20 20 20 09 09 3b 43 48 45 43 4b 20 46 4f 52 20 4d 4f 56 43 50 4d 2e   ┆              ;CHECK FOR MOVCPM.┆
0x0b0a00…0b0a20 (47, 0, 4)  54 20 41 4e 44 20 43 59 43 4c 45 0d 0a 20 30 33 41 32 20 32 31 33 31 30 31 33 34 20 20 09 09 4c   ┆T AND CYCLE   03A2 21310134    L┆
0x0b0a20…0b0a40             58 49 20 48 2c 54 52 41 43 4b 21 20 49 4e 52 20 4d 0d 0a 20 30 33 41 36 20 32 31 38 46 30 36 33   ┆XI H,TRACK! INR M   03A6 218F063┆
0x0b0a40…0b0a60             34 37 45 09 09 4c 58 49 20 48 2c 54 52 43 4f 55 4e 54 2b 31 21 20 49 4e 52 20 4d 21 20 4d 4f 56   ┆47E  LXI H,TRCOUNT+1! INR M! MOV┆
0x0b0a60…0b0a80             20 41 2c 4d 21 20 43 50 49 20 27 39 27 2b 31 0d 0a 20 30 33 41 44 20 44 41 34 33 30 32 20 20 20   ┆ A,M! CPI '9'+1   03AD DA4302   ┆
0x0b0a80…0b0aa0             20 09 09 4a 43 20 52 44 54 52 4b 20 3b 4f 56 45 52 46 4c 4f 57 20 54 4f 20 48 49 47 48 20 4f 52   ┆   JC RDTRK ;OVERFLOW TO HIGH OR┆
0x0b0aa0…0b0ac0             44 45 52 20 54 52 41 43 4b 20 4e 55 4d 42 45 52 0d 0a 20 30 33 42 30 20 33 36 33 30 32 42 33 34   ┆DER TRACK NUMBER   03B0 36302B34┆
0x0b0ac0…0b0ae0             43 33 09 09 4d 56 49 20 4d 2c 27 30 27 21 20 44 43 58 20 48 21 20 49 4e 52 20 4d 21 20 4a 4d 50   ┆C3  MVI M,'0'! DCX H! INR M! JMP┆
0x0b0ae0…0b0b00             20 52 44 54 52 4b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 09 09 3b 0d 0a 20 20 20   ┆ RDTRK                    ;     ┆
0x0b0b00…0b0b20             20 20 20 20 20 20 20 20 20 20 20 20 20 09 57 52 45 52 52 3a 09 3b 56 45 52 49 46 59 20 45 52 52   ┆              WRERR: ;VERIFY ERR┆
0x0b0b20…0b0b40             4f 52 0d 0a 20 30 33 42 37 20 43 44 43 37 30 35 43 33 32 35 09 09 43 41 4c 4c 20 56 45 52 45 52   ┆OR   03B7 CDC705C325  CALL VERER┆
0x0b0b40…0b0b60             52 21 20 4a 4d 50 20 4e 45 58 54 44 49 53 4b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆R! JMP NEXTDISK                 ┆
0x0b0b60…0b0b80             20 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 0d 0a 20 20 20 20 20 20 20 20 20   ┆ ;                  ;           ┆
0x0b0b80…0b0ba0             20 20 20 20 20 20 20 3b 09 55 54 49 4c 49 54 59 20 53 55 42 52 4f 55 54 49 4e 45 53 0d 0a 20 30   ┆       ; UTILITY SUBROUTINES   0┆
0x0b0ba0…0b0bc0             33 42 44 20 30 45 30 31 43 33 30 35 30 30 43 49 3a 09 4d 56 49 20 43 2c 43 4f 4e 49 4e 21 20 4a   ┆3BD 0E01C30500CI: MVI C,CONIN! J┆
0x0b0bc0…0b0be0             4d 50 20 42 44 4f 53 20 3b 52 45 41 44 20 41 20 43 48 41 52 41 43 54 45 52 0d 0a 20 20 20 20 20   ┆MP BDOS ;READ A CHARACTER       ┆
0x0b0be0…0b0c00             20 20 20 20 20 20 20 20 20 20 20 3b 0d 0a 20 30 33 43 32 20 30 45 30 39 43 33 30 35 30 30 50 52   ┆           ;   03C2 0E09C30500PR┆
0x0b0c00…0b0c20 (47, 0, 5)  35 35 30 32 43 44 30 42 09 09 4a 5a 20 52 45 41 44 4f 4b 21 20 43 41 4c 4c 20 52 45 41 44 30 4d   ┆5502CD0B  JZ READOK! CALL READ0M┆
0x0b0c20…0b0c40             53 47 21 20 4a 4d 50 20 52 44 44 53 4b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 09   ┆SG! JMP RDDSK                   ┆
0x0b0c40…0b0c60             52 45 41 44 4f 4b 3a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 09 3b 54 52 41 43 4b   ┆READOK:                   ;TRACK┆
0x0b0c60…0b0c80             20 49 53 20 49 4e 20 4d 45 4d 4f 52 59 2c 20 54 52 41 43 4b 20 31 3f 0d 0a 20 30 32 35 35 20 33   ┆ IS IN MEMORY, TRACK 1?   0255 3┆
0x0b0c80…0b0ca0             41 33 31 30 31 46 45 30 31 09 4c 44 41 20 54 52 41 43 4b 21 20 43 50 49 20 31 21 20 4a 4e 5a 20   ┆A3101FE01 LDA TRACK! CPI 1! JNZ ┆
0x0b0ca0…0b0cc0             51 54 52 4b 33 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 09 09 3b 54 52 41 43 4b 20   ┆QTRK3                    ;TRACK ┆
0x0b0cc0…0b0ce0             30 2c 20 4c 4f 4f 4b 20 46 4f 52 20 53 45 52 49 41 4c 20 4e 55 4d 42 45 52 0d 0a 20 30 32 35 44   ┆0, LOOK FOR SERIAL NUMBER   025D┆
0x0b0ce0…0b0d00             20 32 31 30 39 30 37 30 31 30 30 09 09 4c 58 49 20 48 2c 43 43 50 56 21 20 4c 58 49 20 42 2c 53   ┆ 2109070100  LXI H,CCPV! LXI B,S┆
0x0b0d00…0b0d20             4c 45 4e 0d 0a 20 30 32 36 33 20 45 35 43 35 31 31 41 39 30 36 09 09 53 45 41 52 43 48 3a 09 50   ┆LEN   0263 E5C511A906  SEARCH: P┆
0x0b0d20…0b0d40             55 53 48 20 48 21 20 50 55 53 48 20 42 21 20 4c 58 49 20 44 2c 43 4f 4d 50 41 52 45 21 20 4d 56   ┆USH H! PUSH B! LXI D,COMPARE! MV┆
0x0b0d40…0b0d60             49 20 43 2c 43 4f 4d 50 4c 45 4e 0d 0a 20 30 32 36 41 20 31 41 32 46 42 45 43 32 42 34 09 09 43   ┆I C,COMPLEN   026A 1A2FBEC2B4  C┆
0x0b0d60…0b0d80             4f 4d 50 30 3a 09 4c 44 41 58 20 44 21 20 43 4d 41 21 20 43 4d 50 20 4d 21 20 4a 4e 5a 20 4e 4f   ┆OMP0: LDAX D! CMA! CMP M! JNZ NO┆
0x0b0d80…0b0da0             4d 41 54 43 48 0d 0a 20 30 32 37 30 20 32 33 31 33 31 41 32 46 42 45 09 09 09 49 4e 58 20 48 21   ┆MATCH   0270 23131A2FBE   INX H!┆
0x0b0da0…0b0dc0             20 49 4e 58 20 44 21 20 4c 44 41 58 20 44 21 20 43 4d 41 21 20 43 4d 50 20 4d 21 20 4a 4e 5a 20   ┆ INX D! LDAX D! CMA! CMP M! JNZ ┆
0x0b0dc0…0b0de0             4e 4f 4d 41 54 43 48 0d 0a 20 30 32 37 38 20 32 33 31 33 30 44 43 32 36 41 09 09 09 49 4e 58 20   ┆NOMATCH   0278 23130DC26A   INX ┆
0x0b0de0…0b0e00             48 21 20 49 4e 58 20 44 21 20 44 43 52 20 43 21 20 4a 4e 5a 20 43 4f 4d 50 30 0d 0a 20 20 20 20   ┆H! INX D! DCR C! JNZ COMP0      ┆
0x0b0e00…0b0e20 (47, 0, 6)  20 20 09 09 3b 4c 4f 4f 4b 20 46 4f 52 20 53 45 52 49 41 4c 20 4e 55 4d 42 45 52 0d 0a 20 30 32   ┆    ;LOOK FOR SERIAL NUMBER   02┆
0x0b0e20…0b0e40             43 38 20 32 31 30 30 30 30 30 31 30 30 09 09 4c 58 49 20 48 2c 30 21 20 4c 58 49 20 42 2c 54 52   ┆C8 2100000100  LXI H,0! LXI B,TR┆
0x0b0e40…0b0e60             4c 45 4e 20 3b 54 52 41 43 4b 20 4c 45 4e 47 54 48 20 49 4e 20 42 2c 43 0d 0a 20 30 32 43 45 20   ┆LEN ;TRACK LENGTH IN B,C   02CE ┆
0x0b0e60…0b0e80             45 35 43 35 20 20 20 20 20 20 09 09 51 54 52 30 3a 20 50 55 53 48 20 48 21 20 50 55 53 48 20 42   ┆E5C5        QTR0: PUSH H! PUSH B┆
0x0b0e80…0b0ea0             20 3b 53 41 56 45 20 42 41 53 45 20 41 44 44 52 45 53 53 20 41 4e 44 20 4c 45 4e 47 54 48 0d 0a   ┆ ;SAVE BASE ADDRESS AND LENGTH  ┆
0x0b0ea0…0b0ec0             20 30 32 44 30 20 31 31 41 39 30 36 30 45 30 43 09 09 09 4c 58 49 20 44 2c 43 4f 4d 50 41 52 45   ┆ 02D0 11A9060E0C   LXI D,COMPARE┆
0x0b0ec0…0b0ee0             21 20 4d 56 49 20 43 2c 43 4f 4d 50 4c 45 4e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆! MVI C,COMPLEN                 ┆
0x0b0ee0…0b0f00             20 09 09 09 51 54 52 31 3a 20 3b 54 52 59 20 54 4f 20 4d 41 54 43 48 20 41 4e 4f 54 48 45 52 20   ┆    QTR1: ;TRY TO MATCH ANOTHER ┆
0x0b0f00…0b0f20             43 48 41 52 0d 0a 20 30 32 44 35 20 45 35 43 44 32 43 30 34 31 41 09 09 09 09 50 55 53 48 20 48   ┆CHAR   02D5 E5CD2C041A    PUSH H┆
0x0b0f20…0b0f40             21 20 43 41 4c 4c 20 54 52 41 4e 53 4c 41 54 45 21 20 4c 44 41 58 20 44 0d 0a 20 30 32 44 41 20   ┆! CALL TRANSLATE! LDAX D   02DA ┆
0x0b0f40…0b0f60             32 46 42 45 20 20 20 20 20 20 09 09 09 09 43 4d 41 21 20 43 4d 50 20 4d 21 20 3b 46 4c 41 47 53   ┆2FBE          CMA! CMP M! ;FLAGS┆
0x0b0f60…0b0f80             20 53 45 54 20 49 46 20 45 51 55 41 4c 0d 0a 20 30 32 44 43 20 45 31 43 32 32 31 30 33 20 20 09   ┆ SET IF EQUAL   02DC E1C22103   ┆
0x0b0f80…0b0fa0             09 09 09 50 4f 50 20 48 21 20 4a 4e 5a 20 4e 4f 4d 41 54 33 0d 0a 20 30 32 45 30 20 32 33 31 33   ┆   POP H! JNZ NOMAT3   02E0 2313┆
0x0b0fa0…0b0fc0             20 20 20 20 20 20 09 09 09 09 49 4e 58 20 48 21 20 49 4e 58 20 44 21 0d 0a 20 30 32 45 32 20 45   ┆          INX H! INX D!   02E2 E┆
0x0b0fc0…0b0fe0             35 43 44 32 43 30 34 31 41 09 09 09 09 50 55 53 48 20 48 21 20 43 41 4c 4c 20 54 52 41 4e 53 4c   ┆5CD2C041A    PUSH H! CALL TRANSL┆
0x0b0fe0…0b1000             41 54 45 21 20 4c 44 41 58 20 44 0d 0a 20 30 32 45 37 20 32 46 42 45 45 31 43 32 32 31 09 09 09   ┆ATE! LDAX D   02E7 2FBEE1C221   ┆
0x0b1000…0b1020 (47, 0, 7)  43 4f 4d 20 53 45 52 49 41 4c 49 5a 41 54 49 4f 4e 0d 0a 20 30 33 33 30 20 32 31 43 42 30 36 37   ┆COM SERIALIZATION   0330 21CB067┆
0x0b1020…0b1040             45 42 37 09 09 4c 58 49 20 48 2c 53 54 52 41 43 4b 21 20 4d 4f 56 20 41 2c 4d 21 20 4f 52 41 20   ┆EB7  LXI H,STRACK! MOV A,M! ORA ┆
0x0b1040…0b1060             41 21 20 4a 5a 20 4e 4f 53 45 52 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 09 09 3b   ┆A! JZ NOSER                    ;┆
0x0b1060…0b1080             41 4c 52 45 41 44 59 20 53 45 52 49 41 4c 49 5a 45 44 20 49 46 20 53 54 52 41 43 4b 3d 30 0d 0a   ┆ALREADY SERIALIZED IF STRACK=0  ┆
0x0b1080…0b10a0             20 30 33 33 38 20 33 35 43 32 34 32 30 33 20 20 09 09 44 43 52 20 4d 21 20 4a 4e 5a 20 4e 4f 53   ┆ 0338 35C24203    DCR M! JNZ NOS┆
0x0b10a0…0b10c0             45 52 20 3b 4e 4f 54 20 4f 4e 20 50 52 4f 50 45 52 20 54 52 41 43 4b 0d 0a 20 20 20 20 20 20 20   ┆ER ;NOT ON PROPER TRACK         ┆
0x0b10c0…0b10e0             20 20 20 20 20 20 20 20 20 09 09 3b 4f 4e 20 50 52 4f 50 45 52 20 54 52 41 43 4b 2c 20 53 44 49   ┆           ;ON PROPER TRACK, SDI┆
0x0b10e0…0b1100             46 46 20 43 4f 4e 54 41 49 4e 53 20 49 4e 44 45 58 20 54 4f 20 42 44 4f 53 20 53 45 52 49 41 4c   ┆FF CONTAINS INDEX TO BDOS SERIAL┆
0x0b1100…0b1120             23 0d 0a 20 30 33 33 43 20 32 41 43 43 30 36 43 44 35 41 09 09 09 4c 48 4c 44 20 53 44 49 46 46   ┆#   033C 2ACC06CD5A   LHLD SDIFF┆
0x0b1120…0b1140             21 20 43 41 4c 4c 20 53 54 53 45 52 49 41 4c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆! CALL STSERIAL                 ┆
0x0b1140…0b1160             20 09 4e 4f 53 45 52 3a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 09 09 3b 54 52 41   ┆  NOSER:                    ;TRA┆
0x0b1160…0b1180             43 4b 20 49 4e 20 4d 45 4d 4f 52 59 2c 20 43 48 45 43 4b 20 46 4f 52 20 4c 41 53 54 20 54 52 41   ┆CK IN MEMORY, CHECK FOR LAST TRA┆
0x0b1180…0b11a0             43 4b 0d 0a 20 30 33 34 32 20 32 31 30 39 30 37 30 31 30 30 09 09 4c 58 49 20 48 2c 49 42 55 46   ┆CK   0342 2109070100  LXI H,IBUF┆
0x0b11a0…0b11c0             46 21 20 4c 58 49 20 42 2c 54 52 4c 45 4e 0d 0a 20 30 33 34 38 20 33 45 45 35 42 45 43 32 36 45   ┆F! LXI B,TRLEN   0348 3EE5BEC26E┆
0x0b11c0…0b11e0             09 09 54 52 43 4f 4d 50 3a 09 4d 56 49 20 41 2c 30 45 35 48 21 20 43 4d 50 20 4d 21 20 4a 4e 5a   ┆  TRCOMP: MVI A,0E5H! CMP M! JNZ┆
0x0b11e0…0b1200             20 57 52 54 52 4b 0d 0a 20 30 33 34 45 20 32 33 30 42 37 39 42 30 43 32 09 09 09 49 4e 58 20 48   ┆ WRTRK   034E 230B79B0C2   INX H┆
0x0b1200…0b1220 (47, 0, 8)  4d 53 47 3a 09 4d 56 49 20 43 2c 50 42 55 46 46 21 20 4a 4d 50 20 42 44 4f 53 20 3b 50 52 49 4e   ┆MSG: MVI C,PBUFF! JMP BDOS ;PRIN┆
0x0b1220…0b1240             54 20 41 20 42 55 46 46 45 52 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 0d 0a 20   ┆T A BUFFER                  ;   ┆
0x0b1240…0b1260             30 33 43 37 20 43 44 30 34 30 35 20 20 20 20 52 44 45 52 52 3a 09 43 41 4c 4c 20 49 4e 56 41 4c   ┆03C7 CD0405    RDERR: CALL INVAL┆
0x0b1260…0b1280             49 44 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 0d 0a 20 20 20 20 20 20 20 20 20   ┆ID                  ;           ┆
0x0b1280…0b12a0             20 20 20 20 20 20 20 52 45 41 44 3a 09 3b 52 45 41 44 20 43 4f 4e 53 54 41 4e 54 20 56 41 4c 55   ┆       READ: ;READ CONSTANT VALU┆
0x0b12a0…0b12c0             45 20 54 4f 20 42 2c 43 0d 0a 20 30 33 43 41 20 31 31 43 31 30 36 30 45 30 41 09 4c 58 49 20 44   ┆E TO B,C   03CA 11C1060E0A LXI D┆
0x0b12c0…0b12e0             2c 4d 41 58 4c 45 4e 21 20 4d 56 49 20 43 2c 52 44 42 55 46 46 21 20 43 41 4c 4c 20 42 44 4f 53   ┆,MAXLEN! MVI C,RDBUFF! CALL BDOS┆
0x0b12e0…0b1300             20 3b 42 55 46 46 45 52 20 46 49 4c 4c 45 44 0d 0a 20 30 33 44 32 20 32 31 43 32 30 36 37 45 42   ┆ ;BUFFER FILLED   03D2 21C2067EB┆
0x0b1300…0b1320             37 09 4c 58 49 20 48 2c 43 4f 4d 4c 45 4e 21 20 4d 4f 56 20 41 2c 4d 21 20 4f 52 41 20 41 21 20   ┆7 LXI H,COMLEN! MOV A,M! ORA A! ┆
0x0b1320…0b1340             4a 5a 20 52 44 45 52 52 20 3b 4e 4f 4e 20 5a 45 52 4f 20 4c 45 4e 47 54 48 0d 0a 20 30 33 44 41   ┆JZ RDERR ;NON ZERO LENGTH   03DA┆
0x0b1340…0b1360             20 32 33 35 46 31 36 30 30 31 39 09 49 4e 58 20 48 21 20 4d 4f 56 20 45 2c 41 21 20 4d 56 49 20   ┆ 235F160019 INX H! MOV E,A! MVI ┆
0x0b1360…0b1380             44 2c 30 21 20 44 41 44 20 44 20 3b 48 2c 4c 20 41 44 44 52 45 53 53 20 4c 41 53 54 20 50 4f 53   ┆D,0! DAD D ;H,L ADDRESS LAST POS┆
0x0b1380…0b13a0             2b 31 0d 0a 20 30 33 44 46 20 33 36 30 30 20 20 20 20 20 20 09 4d 56 49 20 4d 2c 30 20 3b 43 4c   ┆+1   03DF 3600       MVI M,0 ;CL┆
0x0b13a0…0b13c0             45 41 52 45 44 20 46 4f 52 20 45 4e 44 20 4f 46 20 53 43 41 4e 0d 0a 20 30 33 45 31 20 32 31 43   ┆EARED FOR END OF SCAN   03E1 21C┆
0x0b13c0…0b13e0             33 30 36 30 31 30 30 09 4c 58 49 20 48 2c 43 42 55 46 46 21 20 4c 58 49 20 42 2c 30 0d 0a 20 30   ┆3060100 LXI H,CBUFF! LXI B,0   0┆
0x0b13e0…0b1400             33 45 37 20 37 45 42 37 43 38 20 20 20 20 09 43 4f 4e 56 3a 09 4d 4f 56 20 41 2c 4d 21 20 4f 52   ┆3E7 7EB7C8     CONV: MOV A,M! OR┆
0x0b1400…0b1420 (47, 0, 9)  20 20 20 20 20 20 20 20 20 20 20 20 09 09 3b 4d 41 54 43 48 20 43 4f 4d 50 4c 45 54 45 2c 20 57   ┆              ;MATCH COMPLETE, W┆
0x0b1420…0b1440             45 20 48 41 56 45 20 46 4f 55 4e 44 20 54 48 45 20 53 45 52 49 41 4c 20 4e 55 4d 42 45 52 0d 0a   ┆E HAVE FOUND THE SERIAL NUMBER  ┆
0x0b1440…0b1460             20 30 32 37 45 20 43 31 44 31 20 20 20 20 20 20 09 09 50 4f 50 20 42 21 20 50 4f 50 20 44 20 3b   ┆ 027E C1D1        POP B! POP D ;┆
0x0b1460…0b1480             43 4c 45 41 52 53 20 53 54 41 43 4b 0d 0a 20 30 32 38 30 20 45 35 20 20 20 20 20 20 20 20 09 09   ┆CLEARS STACK   0280 E5          ┆
0x0b1480…0b14a0             50 55 53 48 20 48 20 3b 53 41 56 45 20 41 20 43 4f 50 59 20 4f 46 20 54 48 45 20 53 54 41 52 54   ┆PUSH H ;SAVE A COPY OF THE START┆
0x0b14a0…0b14c0             20 41 44 44 52 45 53 53 20 4f 46 20 54 48 45 20 53 45 52 20 23 0d 0a 20 30 32 38 31 20 45 42 32   ┆ ADDRESS OF THE SER #   0281 EB2┆
0x0b14c0…0b14e0             41 38 31 30 36 45 42 09 09 78 63 68 67 20 21 20 6c 68 6c 64 20 4f 52 49 47 49 4e 21 20 78 63 68   ┆A8106EB  xchg ! lhld ORIGIN! xch┆
0x0b14e0…0b1500             67 21 20 4d 4f 56 20 4d 2c 65 20 3b 20 6c 6f 77 20 62 79 74 65 28 6f 72 69 67 69 6e 29 0d 0a 20   ┆g! MOV M,e ; low byte(origin)   ┆
0x0b1500…0b1520             30 32 38 37 20 32 33 33 36 31 36 20 20 20 20 09 09 49 4e 58 20 48 21 20 4d 56 49 20 4d 2c 56 45   ┆0287 233616      INX H! MVI M,VE┆
0x0b1520…0b1540             52 53 49 4f 4e 20 3b 56 45 52 53 49 4f 4e 20 4e 55 4d 42 45 52 20 49 4e 20 42 49 4e 41 52 59 0d   ┆RSION ;VERSION NUMBER IN BINARY ┆
0x0b1540…0b1560             0a 20 30 32 38 41 20 32 33 37 32 20 20 20 20 20 20 09 09 69 6e 78 20 68 21 20 6d 6f 76 20 6d 2c   ┆  028A 2372        inx h! mov m,┆
0x0b1560…0b1580             64 20 3b 20 68 69 67 68 20 62 79 74 65 28 6f 72 69 67 69 6e 29 0d 0a 20 30 32 38 43 20 32 33 33   ┆d ; high byte(origin)   028C 233┆
0x0b1580…0b15a0             36 30 30 20 20 20 20 09 09 09 49 4e 58 20 48 21 20 4d 76 69 20 4d 2c 30 20 3b 20 6e 65 78 74 20   ┆600       INX H! Mvi M,0 ; next ┆
0x0b15a0…0b15c0             62 79 74 65 20 7a 65 72 6f 65 64 20 28 6e 6f 74 20 75 73 65 64 20 79 65 74 29 0d 0a 20 30 32 38   ┆byte zeroed (not used yet)   028┆
0x0b15c0…0b15e0             46 20 32 33 20 20 20 20 20 20 20 20 09 09 09 49 4e 58 20 48 20 3b 52 45 41 44 59 20 54 4f 20 41   ┆F 23           INX H ;READY TO A┆
0x0b15e0…0b1600             43 43 45 50 54 20 54 48 45 20 53 45 52 49 41 4c 20 4e 55 4d 42 45 52 0d 0a 20 30 32 39 30 20 45   ┆CCEPT THE SERIAL NUMBER   0290 E┆
0x0b1600…0b1620 (47, 0, 10) 09 43 4d 41 21 20 43 4d 50 20 4d 21 20 50 4f 50 20 48 21 20 4a 4e 5a 20 4e 4f 4d 41 54 33 0d 0a   ┆ CMA! CMP M! POP H! JNZ NOMAT3  ┆
0x0b1620…0b1640             20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 09 09 09 09 3b 43 4f 4e 54 49 4e 55 45 20 54 4f   ┆                    ;CONTINUE TO┆
0x0b1640…0b1660             20 4d 41 54 43 48 0d 0a 20 30 32 45 44 20 32 33 31 33 30 44 43 32 44 35 09 09 09 09 49 4e 58 20   ┆ MATCH   02ED 23130DC2D5    INX ┆
0x0b1660…0b1680             48 21 20 49 4e 58 20 44 21 20 44 43 52 20 43 21 20 4a 4e 5a 20 51 54 52 31 0d 0a 20 20 20 20 20   ┆H! INX D! DCR C! JNZ QTR1       ┆
0x0b1680…0b16a0             20 20 20 20 20 20 20 20 20 20 20 09 09 09 3b 43 4f 4d 50 4c 45 54 45 20 4d 41 54 43 48 2c 20 46   ┆              ;COMPLETE MATCH, F┆
0x0b16a0…0b16c0             49 4c 4c 20 53 45 52 49 41 4c 20 4e 55 4d 42 45 52 53 0d 0a 20 30 32 46 33 20 43 31 44 31 20 20   ┆ILL SERIAL NUMBERS   02F3 C1D1  ┆
0x0b16c0…0b16e0             20 20 20 20 09 09 09 50 4f 50 20 42 21 20 50 4f 50 20 44 20 3b 54 4f 20 43 4c 45 41 52 20 54 48   ┆       POP B! POP D ;TO CLEAR TH┆
0x0b16e0…0b1700             45 20 53 54 41 43 4b 0d 0a 20 30 32 46 35 20 45 35 20 20 20 20 20 20 20 20 09 09 09 50 55 53 48   ┆E STACK   02F5 E5           PUSH┆
0x0b1700…0b1720             20 48 20 3b 53 41 56 45 20 53 4f 55 52 43 45 20 41 44 44 52 45 53 53 0d 0a 20 30 32 46 36 20 43   ┆ H ;SAVE SOURCE ADDRESS   02F6 C┆
0x0b1720…0b1740             44 35 41 30 34 20 20 20 20 09 09 09 43 41 4c 4c 20 53 54 53 45 52 49 41 4c 20 3b 53 45 52 49 41   ┆D5A04       CALL STSERIAL ;SERIA┆
0x0b1740…0b1760             4c 20 4e 55 4d 42 45 52 20 53 54 4f 52 45 44 0d 0a 20 30 32 46 39 20 45 31 20 20 20 20 20 20 20   ┆L NUMBER STORED   02F9 E1       ┆
0x0b1760…0b1780             20 09 09 09 50 4f 50 20 48 20 3b 52 45 43 41 4c 4c 20 53 4f 55 52 43 45 20 41 44 44 52 45 53 53   ┆    POP H ;RECALL SOURCE ADDRESS┆
0x0b1780…0b17a0             0d 0a 20 30 32 46 41 20 45 42 32 41 43 43 30 36 31 39 09 09 09 58 43 48 47 21 20 4c 48 4c 44 20   ┆   02FA EB2ACC0619   XCHG! LHLD ┆
0x0b17a0…0b17c0             53 44 49 46 46 21 20 44 41 44 20 44 20 3b 48 2c 4c 20 53 48 4f 55 4c 44 20 41 44 44 52 45 53 53   ┆SDIFF! DAD D ;H,L SHOULD ADDRESS┆
0x0b17c0…0b17e0             20 53 45 52 23 32 0d 0a 20 30 32 46 46 20 37 44 42 37 43 32 32 41 30 33 09 09 09 4d 4f 56 20 41   ┆ SER#2   02FF 7DB7C22A03   MOV A┆
0x0b17e0…0b1800             2c 4c 21 20 4f 52 41 20 41 21 20 4a 4e 5a 20 51 54 52 32 20 3b 4d 55 53 54 20 42 45 20 4c 4f 57   ┆,L! ORA A! JNZ QTR2 ;MUST BE LOW┆
0x0b1800…0b1820 (47, 0, 11) 21 20 44 43 58 20 42 21 20 4d 4f 56 20 41 2c 43 21 20 4f 52 41 20 42 21 20 4a 4e 5a 20 54 52 43   ┆! DCX B! MOV A,C! ORA B! JNZ TRC┆
0x0b1820…0b1840             4f 4d 50 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 09 09 3b 45 4e 44 20 4f 46 20 43   ┆OMP                    ;END OF C┆
0x0b1840…0b1860             4f 50 59 2c 20 41 4c 4c 20 30 45 35 48 27 53 0d 0a 20 30 33 35 35 20 33 41 43 42 30 36 42 37 43   ┆OPY, ALL 0E5H'S   0355 3ACB06B7C┆
0x0b1860…0b1880             41 09 09 4c 44 41 20 53 54 52 41 43 4b 21 20 4f 52 41 20 41 21 20 4a 5a 20 45 4e 44 43 4f 50 59   ┆A  LDA STRACK! ORA A! JZ ENDCOPY┆
0x0b1880…0b18a0             0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 09 09 09 3b 4e 4f 54 20 5a 45 52 4f 2c 20   ┆                     ;NOT ZERO, ┆
0x0b18a0…0b18c0             43 4f 55 4c 44 20 4e 4f 54 20 46 49 4e 44 20 53 45 43 4f 4e 44 20 53 45 52 20 4e 55 4d 42 45 52   ┆COULD NOT FIND SECOND SER NUMBER┆
0x0b18c0…0b18e0             0d 0a 20 30 33 35 43 20 43 44 37 36 30 35 43 33 31 46 09 09 09 43 41 4c 4c 20 42 41 44 43 4f 4d   ┆   035C CD7605C31F   CALL BADCOM┆
0x0b18e0…0b1900             21 20 4a 4d 50 20 52 44 44 53 4b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 09 09 45   ┆! JMP RDDSK                    E┆
0x0b1900…0b1920             4e 44 43 4f 50 59 3a 0d 0a 20 30 33 36 32 20 31 31 38 43 30 36 43 44 43 32 09 09 4c 58 49 20 44   ┆NDCOPY:   0362 118C06CDC2  LXI D┆
0x0b1920…0b1940             2c 54 52 4d 53 47 21 20 43 41 4c 4c 20 50 52 4d 53 47 0d 0a 20 30 33 36 38 20 43 44 30 39 30 34   ┆,TRMSG! CALL PRMSG   0368 CD0904┆
0x0b1940…0b1960             43 33 32 35 09 09 43 41 4c 4c 20 49 4e 43 53 45 52 49 41 4c 21 20 4a 4d 50 20 4e 45 58 54 44 49   ┆C325  CALL INCSERIAL! JMP NEXTDI┆
0x0b1960…0b1980             53 4b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 09 3b 0d 0a 20 20 20 20 20 20 20 20   ┆SK                   ;          ┆
0x0b1980…0b19a0             20 20 20 20 20 20 20 20 09 3b 4e 4f 54 20 45 4e 44 20 4f 46 20 43 4f 50 59 2c 20 57 52 49 54 45   ┆         ;NOT END OF COPY, WRITE┆
0x0b19a0…0b19c0             20 54 52 41 43 4b 20 54 4f 20 44 49 53 4b 20 46 52 4f 4d 20 49 42 55 46 46 0d 0a 20 30 33 36 45   ┆ TRACK TO DISK FROM IBUFF   036E┆
0x0b19c0…0b19e0             20 43 44 32 42 30 31 20 20 20 20 09 57 52 54 52 4b 3a 09 43 41 4c 4c 20 57 52 49 54 54 52 4b 0d   ┆ CD2B01     WRTRK: CALL WRITTRK ┆
0x0b19e0…0b1a00             0a 20 30 33 37 31 20 43 41 37 41 30 33 43 44 33 31 09 09 4a 5a 20 57 52 4f 4b 21 20 43 41 4c 4c   ┆  0371 CA7A03CD31  JZ WROK! CALL┆
0x0b1a00…0b1a20 (47, 0, 12) 41 20 41 21 20 52 5a 20 3b 52 45 54 55 52 4e 20 49 46 20 45 4e 44 20 4f 46 20 43 4f 4e 56 45 52   ┆A A! RZ ;RETURN IF END OF CONVER┆
0x0b1a20…0b1a40             54 0d 0a 20 30 33 45 41 20 44 36 33 30 46 45 30 41 44 32 09 09 53 55 49 20 27 30 27 21 20 43 50   ┆T   03EA D630FE0AD2  SUI '0'! CP┆
0x0b1a40…0b1a60             49 20 31 30 21 20 4a 4e 43 20 52 44 45 52 52 0d 0a 20 30 33 46 31 20 45 35 43 35 45 31 20 20 20   ┆I 10! JNC RDERR   03F1 E5C5E1   ┆
0x0b1a60…0b1a80             20 09 09 50 55 53 48 20 48 21 20 50 55 53 48 20 42 21 20 50 4f 50 20 48 20 3b 42 2c 43 20 43 4f   ┆   PUSH H! PUSH B! POP H ;B,C CO┆
0x0b1a80…0b1aa0             50 49 45 44 20 54 4f 20 48 2c 4c 0d 0a 20 30 33 46 34 20 32 39 32 39 32 39 30 39 30 39 09 09 44   ┆PIED TO H,L   03F4 2929290909  D┆
0x0b1aa0…0b1ac0             41 44 20 48 21 20 44 41 44 20 48 21 20 44 41 44 20 48 21 20 44 41 44 20 42 21 20 44 41 44 20 42   ┆AD H! DAD H! DAD H! DAD B! DAD B┆
0x0b1ac0…0b1ae0             0d 0a 20 30 33 46 39 20 45 35 43 31 45 31 20 20 20 20 09 09 50 55 53 48 20 48 21 20 50 4f 50 20   ┆   03F9 E5C1E1      PUSH H! POP ┆
0x0b1ae0…0b1b00             42 21 20 50 4f 50 20 48 20 3b 42 43 3d 42 43 2a 31 30 0d 0a 20 30 33 46 43 20 32 33 38 31 34 46   ┆B! POP H ;BC=BC*10   03FC 23814F┆
0x0b1b00…0b1b20             33 45 30 30 09 09 49 4e 58 20 48 21 20 41 44 44 20 43 21 20 4d 4f 56 20 43 2c 41 21 20 4d 56 49   ┆3E00  INX H! ADD C! MOV C,A! MVI┆
0x0b1b20…0b1b40             20 41 2c 30 21 20 41 44 43 20 42 21 20 4d 4f 56 20 42 2c 41 0d 0a 20 30 34 30 33 20 44 41 43 37   ┆ A,0! ADC B! MOV B,A   0403 DAC7┆
0x0b1b40…0b1b60             30 33 43 33 45 37 09 09 4a 43 20 52 44 45 52 52 21 20 4a 4d 50 20 43 4f 4e 56 20 3b 54 45 53 54   ┆03C3E7  JC RDERR! JMP CONV ;TEST┆
0x0b1b60…0b1b80             45 44 20 46 4f 52 20 4f 56 45 52 46 4c 4f 57 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆ED FOR OVERFLOW                 ┆
0x0b1b80…0b1ba0             20 09 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 49 4e 43 53 45 52 49 41 4c 3a 0d   ┆  ;                  INCSERIAL: ┆
0x0b1ba0…0b1bc0             0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 09 3b 49 4e 43 52 45 4d 45 4e 54 20 54 48 45   ┆                  ;INCREMENT THE┆
0x0b1bc0…0b1be0             20 53 45 52 49 41 4c 20 4e 55 4d 42 45 52 0d 0a 20 30 34 30 39 20 32 41 41 31 30 36 32 33 32 32   ┆ SERIAL NUMBER   0409 2AA1062322┆
0x0b1be0…0b1c00             09 4c 48 4c 44 20 42 53 45 52 49 41 4c 21 20 49 4e 58 20 48 21 20 53 48 4c 44 20 42 53 45 52 49   ┆ LHLD BSERIAL! INX H! SHLD BSERI┆
0x0b1c00…0b1c20 (47, 0, 13) 42 32 41 41 31 30 36 45 42 09 09 58 43 48 47 21 20 4c 48 4c 44 20 42 53 45 52 49 41 4c 21 20 58   ┆B2AA106EB  XCHG! LHLD BSERIAL! X┆
0x0b1c20…0b1c40             43 48 47 21 20 4d 4f 56 20 4d 2c 44 21 20 49 4e 58 20 48 21 20 4d 4f 56 20 4d 2c 45 0d 0a 20 20   ┆CHG! MOV M,D! INX H! MOV M,E    ┆
0x0b1c40…0b1c60             20 20 20 20 20 20 20 20 20 20 20 20 20 20 09 09 3b 46 49 52 53 54 20 53 45 52 49 41 4c 20 4e 55   ┆                ;FIRST SERIAL NU┆
0x0b1c60…0b1c80             4d 42 45 52 20 49 53 20 53 54 4f 52 45 44 2c 20 4e 4f 57 20 43 4f 50 59 20 54 4f 20 42 44 4f 53   ┆MBER IS STORED, NOW COPY TO BDOS┆
0x0b1c80…0b1ca0             0d 0a 20 30 32 39 38 20 43 31 43 35 31 31 30 39 30 46 09 09 50 4f 50 20 42 21 20 50 55 53 48 20   ┆   0298 C1C511090F  POP B! PUSH ┆
0x0b1ca0…0b1cc0             42 21 20 4c 58 49 20 44 2c 42 44 4f 53 56 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆B! LXI D,BDOSV                  ┆
0x0b1cc0…0b1ce0             3b 09 09 43 4f 4d 50 55 54 45 20 44 49 46 46 45 52 45 4e 43 45 20 49 4e 20 41 44 44 52 45 53 53   ┆;  COMPUTE DIFFERENCE IN ADDRESS┆
0x0b1ce0…0b1d00             45 53 20 46 4f 52 20 4c 41 54 45 52 0d 0a 20 30 32 39 44 20 37 42 39 31 36 46 20 20 20 20 09 09   ┆ES FOR LATER   029D 7B916F      ┆
0x0b1d00…0b1d20             4d 4f 56 20 41 2c 45 21 20 53 55 42 20 43 21 20 4d 4f 56 20 4c 2c 41 0d 0a 20 30 32 41 30 20 37   ┆MOV A,E! SUB C! MOV L,A   02A0 7┆
0x0b1d20…0b1d40             41 39 38 36 37 32 32 43 43 09 09 4d 4f 56 20 41 2c 44 21 20 53 42 42 20 42 21 20 4d 4f 56 20 48   ┆A986722CC  MOV A,D! SBB B! MOV H┆
0x0b1d40…0b1d60             2c 41 21 20 53 48 4c 44 20 53 44 49 46 46 0d 0a 20 30 32 41 36 20 45 31 30 45 30 36 20 20 20 20   ┆,A! SHLD SDIFF   02A6 E10E06    ┆
0x0b1d60…0b1d80             09 09 50 4f 50 20 48 21 20 4d 56 49 20 43 2c 36 20 3b 4c 45 4e 47 54 48 20 4f 46 20 53 45 52 49   ┆  POP H! MVI C,6 ;LENGTH OF SERI┆
0x0b1d80…0b1da0             41 4c 20 4e 55 4d 42 45 52 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 09 09 48 2c   ┆AL NUMBER                  ;  H,┆
0x0b1da0…0b1dc0             4c 20 41 44 44 52 45 53 53 20 53 54 41 52 54 20 4f 46 20 53 45 52 49 41 4c 20 4e 55 4d 42 45 52   ┆L ADDRESS START OF SERIAL NUMBER┆
0x0b1dc0…0b1de0             2c 20 44 2c 45 20 41 44 44 52 45 53 53 20 53 45 43 4f 4e 44 20 23 0d 0a 20 30 32 41 39 20 37 45   ┆, D,E ADDRESS SECOND #   02A9 7E┆
0x0b1de0…0b1e00             31 32 31 33 32 33 30 44 09 09 43 4f 50 59 30 3a 20 4d 4f 56 20 41 2c 4d 21 20 53 54 41 58 20 44   ┆1213230D  COPY0: MOV A,M! STAX D┆
0x0b1e00…0b1e20 (47, 0, 14) 20 5a 45 52 4f 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 09 09 09 3b 53 45 54 55 50   ┆ ZERO                     ;SETUP┆
0x0b1e20…0b1e40             20 53 54 52 41 43 4b 20 54 4f 20 53 45 52 49 41 4c 49 5a 45 20 57 48 45 4e 20 50 52 4f 50 45 52   ┆ STRACK TO SERIALIZE WHEN PROPER┆
0x0b1e40…0b1e60             20 54 52 4b 20 46 4f 55 4e 44 0d 0a 20 30 33 30 34 20 45 42 32 31 43 42 30 36 20 20 09 09 09 58   ┆ TRK FOUND   0304 EB21CB06     X┆
0x0b1e60…0b1e80             43 48 47 21 20 4c 58 49 20 48 2c 53 54 52 41 43 4b 20 3b 44 49 46 46 45 52 45 4e 43 45 20 49 4e   ┆CHG! LXI H,STRACK ;DIFFERENCE IN┆
0x0b1e80…0b1ea0             20 44 2c 45 0d 0a 20 30 33 30 38 20 33 36 30 30 20 20 20 20 20 20 09 09 09 4d 56 49 20 4d 2c 30   ┆ D,E   0308 3600         MVI M,0┆
0x0b1ea0…0b1ec0             20 3b 43 4f 55 4e 54 20 53 54 52 41 43 4b 20 55 50 20 46 4f 52 20 45 41 43 48 20 54 52 41 43 4b   ┆ ;COUNT STRACK UP FOR EACH TRACK┆
0x0b1ec0…0b1ee0             20 53 49 5a 45 0d 0a 20 30 33 30 41 20 33 34 20 20 20 20 20 20 20 20 09 09 09 44 4c 4f 4f 50 3a   ┆ SIZE   030A 34           DLOOP:┆
0x0b1ee0…0b1f00             20 49 4e 52 20 4d 20 3b 53 54 52 41 43 4b 20 3d 20 53 54 52 41 43 4b 20 2b 20 31 0d 0a 20 30 33   ┆ INR M ;STRACK = STRACK + 1   03┆
0x0b1f00…0b1f20             30 42 20 37 42 44 36 30 30 20 20 20 20 09 09 09 09 4d 4f 56 20 41 2c 45 21 20 53 55 49 20 28 32   ┆0B 7BD600        MOV A,E! SUI (2┆
0x0b1f20…0b1f40             36 2a 31 32 38 29 20 41 4e 44 20 30 46 46 48 0d 0a 20 30 33 30 45 20 34 37 20 20 20 20 20 20 20   ┆6*128) AND 0FFH   030E 47       ┆
0x0b1f40…0b1f60             20 09 09 09 09 4d 4f 56 20 42 2c 41 20 3b 53 41 56 45 20 4c 4f 57 20 4f 52 44 45 52 20 44 49 46   ┆     MOV B,A ;SAVE LOW ORDER DIF┆
0x0b1f60…0b1f80             46 45 52 45 4e 43 45 0d 0a 20 30 33 30 46 20 37 41 44 45 30 44 20 20 20 20 09 09 09 09 4d 4f 56   ┆FERENCE   030F 7ADE0D        MOV┆
0x0b1f80…0b1fa0             20 41 2c 44 21 20 53 42 49 20 28 32 36 2a 31 32 38 29 20 53 48 52 20 38 0d 0a 20 30 33 31 32 20   ┆ A,D! SBI (26*128) SHR 8   0312 ┆
0x0b1fa0…0b1fc0             44 41 31 41 30 33 20 20 20 20 09 09 09 09 4a 43 20 45 44 4c 4f 4f 50 20 3b 43 41 52 52 59 20 49   ┆DA1A03        JC EDLOOP ;CARRY I┆
0x0b1fc0…0b1fe0             46 20 54 4f 4f 20 4d 41 4e 59 20 53 55 42 54 52 41 43 54 53 0d 0a 20 30 33 31 35 20 35 37 35 38   ┆F TOO MANY SUBTRACTS   0315 5758┆
0x0b1fe0…0b2000             20 20 20 20 20 20 09 09 09 09 4d 4f 56 20 44 2c 41 21 20 4d 4f 56 20 45 2c 42 20 3b 52 45 53 45   ┆          MOV D,A! MOV E,B ;RESE┆
0x0b2000…0b2020 (47, 0, 15) 20 57 52 49 54 45 30 4d 53 47 21 20 4a 4d 50 20 4e 45 58 54 44 49 53 4b 0d 0a 20 20 20 20 20 20   ┆ WRITE0MSG! JMP NEXTDISK        ┆
0x0b2020…0b2040             20 20 20 20 20 20 20 20 20 20 09 57 52 4f 4b 3a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆           WROK:                ┆
0x0b2040…0b2060             20 20 09 09 3b 57 52 49 54 54 45 4e 20 54 4f 20 44 49 53 4b 2c 20 4e 4f 57 20 52 45 41 44 20 49   ┆    ;WRITTEN TO DISK, NOW READ I┆
0x0b2060…0b2080             54 20 42 41 43 4b 20 41 4e 44 20 43 4f 4d 50 41 52 45 0d 0a 20 30 33 37 41 20 32 31 30 39 34 33   ┆T BACK AND COMPARE   037A 210943┆
0x0b2080…0b20a0             32 32 33 32 09 09 4c 58 49 20 48 2c 4f 42 55 46 46 21 20 53 48 4c 44 20 42 55 46 46 41 21 20 43   ┆2232  LXI H,OBUFF! SHLD BUFFA! C┆
0x0b20a0…0b20c0             41 4c 4c 20 52 45 52 45 41 44 0d 0a 20 30 33 38 33 20 43 41 38 43 30 33 43 44 35 38 09 09 09 4a   ┆ALL REREAD   0383 CA8C03CD58   J┆
0x0b20c0…0b20e0             5a 20 52 45 41 44 31 4f 4b 21 20 43 41 4c 4c 20 52 45 41 44 31 4d 53 47 21 20 4a 4d 50 20 4e 45   ┆Z READ1OK! CALL READ1MSG! JMP NE┆
0x0b20e0…0b2100             58 54 44 49 53 4b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 09 09 52 45 41 44 31 4f   ┆XTDISK                    READ1O┆
0x0b2100…0b2120             4b 3a 0d 0a 20 30 33 38 43 20 32 31 30 39 30 37 31 31 30 39 09 09 4c 58 49 20 48 2c 49 42 55 46   ┆K:   038C 2109071109  LXI H,IBUF┆
0x0b2120…0b2140             46 21 20 4c 58 49 20 44 2c 4f 42 55 46 46 21 20 4c 58 49 20 42 2c 54 52 4c 45 4e 0d 0a 20 30 33   ┆F! LXI D,OBUFF! LXI B,TRLEN   03┆
0x0b2140…0b2160             39 35 20 31 41 42 45 43 32 42 37 30 33 09 09 57 52 43 4f 4d 50 3a 20 4c 44 41 58 20 44 21 20 43   ┆95 1ABEC2B703  WRCOMP: LDAX D! C┆
0x0b2160…0b2180             4d 50 20 4d 21 20 4a 4e 5a 20 57 52 45 52 52 0d 0a 20 30 33 39 41 20 32 33 31 33 30 42 37 39 42   ┆MP M! JNZ WRERR   039A 23130B79B┆
0x0b2180…0b21a0             30 09 09 09 49 4e 58 20 48 21 20 49 4e 58 20 44 21 20 44 43 58 20 42 21 20 4d 4f 56 20 41 2c 43   ┆0   INX H! INX D! DCX B! MOV A,C┆
0x0b21a0…0b21c0             21 20 4f 52 41 20 42 0d 0a 20 30 33 39 46 20 43 32 39 35 30 33 20 20 20 20 09 09 09 4a 4e 5a 20   ┆! ORA B   039F C29503       JNZ ┆
0x0b21c0…0b21e0             57 52 43 4f 4d 50 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 09 09 3b 43 4f 4d 50 41   ┆WRCOMP                    ;COMPA┆
0x0b21e0…0b2200             52 45 20 57 45 4e 54 20 4f 4b 2c 20 49 4e 43 52 45 4d 45 4e 54 20 54 52 41 43 4b 20 43 4f 55 4e   ┆RE WENT OK, INCREMENT TRACK COUN┆
0x0b2200…0b2220 (47, 1, 1)  41 4c 20 3b 54 45 53 54 20 46 4f 52 20 4f 56 45 52 46 4c 4f 57 0d 0a 20 30 34 31 30 20 37 44 42   ┆AL ;TEST FOR OVERFLOW   0410 7DB┆
0x0b2220…0b2240             34 43 41 32 36 30 34 09 4d 4f 56 20 41 2c 4c 21 20 4f 52 41 20 48 21 20 4a 5a 20 53 45 52 4f 56   ┆4CA2604 MOV A,L! ORA H! JZ SEROV┆
0x0b2240…0b2260             45 52 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 09 3b 0d 0a 20 30 34 31 35 20 32 31   ┆ER                   ;   0415 21┆
0x0b2260…0b2280             41 37 30 36 30 36 30 35 09 4c 58 49 20 48 2c 41 53 45 52 49 41 4c 2b 34 21 20 4d 56 49 20 42 2c   ┆A7060605 LXI H,ASERIAL+4! MVI B,┆
0x0b2280…0b22a0             35 20 3b 4c 45 4e 47 54 48 20 4f 46 20 53 45 52 49 41 4c 20 4e 55 4d 42 45 52 0d 0a 20 30 34 31   ┆5 ;LENGTH OF SERIAL NUMBER   041┆
0x0b22a0…0b22c0             41 20 33 34 37 45 46 45 33 41 44 38 09 49 4e 43 30 3a 09 49 4e 52 20 4d 21 20 4d 4f 56 20 41 2c   ┆A 347EFE3AD8 INC0: INR M! MOV A,┆
0x0b22c0…0b22e0             4d 21 20 43 50 49 20 27 39 27 2b 31 21 20 52 43 20 3b 52 45 54 55 52 4e 20 49 46 20 4e 4f 20 43   ┆M! CPI '9'+1! RC ;RETURN IF NO C┆
0x0b22e0…0b2300             41 52 52 59 0d 0a 20 30 34 31 46 20 33 36 33 30 20 20 20 20 20 20 09 09 4d 56 49 20 4d 2c 27 30   ┆ARRY   041F 3630        MVI M,'0┆
0x0b2300…0b2320             27 20 3b 43 4c 45 41 52 20 54 48 45 20 4e 55 4d 42 45 52 0d 0a 20 30 34 32 31 20 32 42 30 35 43   ┆' ;CLEAR THE NUMBER   0421 2B05C┆
0x0b2320…0b2340             32 31 41 30 34 09 09 44 43 58 20 48 21 20 44 43 52 20 42 21 20 4a 4e 5a 20 49 4e 43 30 0d 0a 20   ┆21A04  DCX H! DCR B! JNZ INC0   ┆
0x0b2340…0b2360             20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 09 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆                ;               ┆
0x0b2360…0b2380             20 20 20 09 53 45 52 4f 56 45 52 3a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 09 09   ┆    SEROVER:                    ┆
0x0b2380…0b23a0             3b 4f 56 45 52 46 4c 4f 57 20 49 4e 20 53 45 52 49 41 4c 20 4e 55 4d 42 45 52 0d 0a 20 30 34 32   ┆;OVERFLOW IN SERIAL NUMBER   042┆
0x0b23a0…0b23c0             36 20 43 44 45 43 30 35 20 20 20 20 09 09 43 41 4c 4c 20 4f 56 45 52 4d 53 47 0d 0a 20 30 34 32   ┆6 CDEC05      CALL OVERMSG   042┆
0x0b23c0…0b23e0             39 20 43 33 30 30 30 30 20 20 20 20 09 09 4a 4d 50 20 42 4f 4f 54 0d 0a 20 20 20 20 20 20 20 20   ┆9 C30000      JMP BOOT          ┆
0x0b23e0…0b2400             20 20 20 20 20 20 20 20 09 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 54 52 41 4e   ┆         ;                  TRAN┆
0x0b2400…0b2420 (47, 1, 2)  34 45 35 34 35 32 34 46 34 43 32 30 34 34 34 39 45 44 0d 0a 3a 31 30 30 34 39 35 30 30 35 33 34   ┆4E54524F4C204449ED  :10049500534┆
0x0b2420…0b2440             42 34 35 35 34 35 34 34 35 32 30 34 39 34 45 32 30 34 31 32 43 32 30 35 34 35 39 35 30 32 36 0d   ┆B4554544520494E20412C2054595026 ┆
0x0b2440…0b2460             0a 3a 31 30 30 34 41 35 30 30 34 35 32 30 35 32 34 35 35 34 35 35 35 32 34 45 32 34 31 31 42 34   ┆ :1004A500452052455455524E2411B4┆
0x0b2460…0b2480             30 34 43 33 43 32 30 33 30 44 38 30 0d 0a 3a 31 30 30 34 42 35 30 30 30 41 34 33 35 30 32 46 34   ┆04C3C2030D80  :1004B5000A43502F4┆
0x0b2480…0b24a0             44 32 30 35 36 34 35 35 32 32 30 33 32 32 45 33 32 32 30 35 33 34 35 41 37 0d 0a 3a 31 30 30 34   ┆D2056455220322E32205345A7  :1004┆
0x0b24a0…0b24c0             43 35 30 30 35 32 34 39 34 31 34 43 34 39 35 41 34 31 35 34 34 39 34 46 34 45 32 43 30 44 30 41   ┆C5005249414C495A4154494F4E2C0D0A┆
0x0b24c0…0b24e0             34 46 35 32 46 44 0d 0a 3a 31 30 30 34 44 35 30 30 34 39 34 37 34 39 34 45 32 30 34 45 35 35 34   ┆4F52FD  :1004D5004947494E204E554┆
0x0b24e0…0b2500             44 34 32 34 35 35 32 33 46 32 30 32 34 31 31 45 39 38 41 0d 0a 3a 31 30 30 34 45 35 30 30 30 34   ┆D4245523F202411E98A  :1004E50004┆
0x0b2500…0b2520             43 33 43 32 30 33 30 44 30 41 35 33 35 34 34 31 35 32 35 34 34 39 34 45 34 37 32 30 35 33 38 35   ┆C3C2030D0A5354415254494E47205385┆
0x0b2520…0b2540             0d 0a 3a 31 30 30 34 46 35 30 30 34 35 35 32 34 39 34 31 34 43 32 30 34 45 35 35 34 44 34 32 34   ┆  :1004F500455249414C204E554D424┆
0x0b2540…0b2560             35 35 32 33 46 32 30 32 34 31 31 30 44 0d 0a 3a 31 30 30 35 30 35 30 30 30 41 30 35 43 33 43 32   ┆5523F2024110D  :100505000A05C3C2┆
0x0b2560…0b2580             30 33 30 44 30 41 34 39 34 45 35 36 34 31 34 43 34 39 34 34 32 30 34 45 43 33 0d 0a 3a 31 30 30   ┆030D0A494E56414C4944204EC3  :100┆
0x0b2580…0b25a0             35 31 35 30 30 35 35 34 44 34 32 34 35 35 32 32 43 32 30 35 34 35 32 35 39 32 30 34 31 34 37 34   ┆51500554D4245522C205452592041474┆
0x0b25a0…0b25c0             31 34 39 34 45 39 30 0d 0a 3a 31 30 30 35 32 35 30 30 32 30 32 34 31 31 32 44 30 35 43 33 43 32   ┆1494E90  :100525002024112D05C3C2┆
0x0b25c0…0b25e0             30 33 30 44 30 41 35 33 34 35 35 32 34 39 34 31 34 43 45 30 0d 0a 3a 31 30 30 35 33 35 30 30 34   ┆030D0A53455249414CE0  :100535004┆
0x0b25e0…0b2600             39 35 41 34 39 34 45 34 37 32 30 34 34 34 39 35 33 34 42 32 30 32 34 31 31 38 35 30 36 43 44 33   ┆95A494E47204449534B2024118506CD3┆
0x0b2600…0b2620 (47, 1, 3)  20 20 20 20 20 20 20 09 3b 4e 4f 57 20 4d 4f 56 45 20 53 45 52 49 41 4c 20 4e 55 4d 42 45 52 20   ┆        ;NOW MOVE SERIAL NUMBER ┆
0x0b2620…0b2640             54 4f 20 4c 41 53 54 20 54 57 4f 20 42 59 54 45 53 0d 0a 20 30 34 36 46 20 31 31 41 32 30 36 20   ┆TO LAST TWO BYTES   046F 11A206 ┆
0x0b2640…0b2660             20 20 20 09 4c 58 49 20 44 2c 42 53 45 52 49 41 4c 2b 31 20 3b 41 44 44 52 45 53 53 20 48 49 47   ┆    LXI D,BSERIAL+1 ;ADDRESS HIG┆
0x0b2660…0b2680             48 20 4f 52 44 45 52 20 50 4f 53 49 54 49 4f 4e 20 4f 46 20 53 45 52 20 23 0d 0a 20 30 34 37 32   ┆H ORDER POSITION OF SER #   0472┆
0x0b2680…0b26a0             20 31 41 43 44 34 45 30 34 20 20 09 4c 44 41 58 20 44 21 20 43 41 4c 4c 20 53 54 42 59 54 45 0d   ┆ 1ACD4E04   LDAX D! CALL STBYTE ┆
0x0b26a0…0b26c0             0a 20 30 34 37 36 20 31 42 20 20 20 20 20 20 20 20 09 44 43 58 20 44 20 3b 41 44 44 52 45 53 53   ┆  0476 1B         DCX D ;ADDRESS┆
0x0b26c0…0b26e0             20 4c 4f 57 20 4f 52 44 45 52 20 42 59 54 45 0d 0a 20 30 34 37 37 20 31 41 43 44 34 45 30 34 20   ┆ LOW ORDER BYTE   0477 1ACD4E04 ┆
0x0b26e0…0b2700             20 09 4c 44 41 58 20 44 21 20 43 41 4c 4c 20 53 54 42 59 54 45 0d 0a 20 30 34 37 42 20 43 39 20   ┆  LDAX D! CALL STBYTE   047B C9 ┆
0x0b2700…0b2720             20 20 20 20 20 20 20 09 52 45 54 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 0d 0a   ┆        RET                  ;  ┆
0x0b2720…0b2740             20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆                ;               ┆
0x0b2740…0b2760             20 20 20 3b 09 50 52 49 4e 54 20 53 54 52 49 4e 47 53 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20   ┆   ; PRINT STRINGS              ┆
0x0b2760…0b2780             20 20 20 20 49 4e 53 4d 53 47 3a 0d 0a 20 30 34 37 43 20 31 31 38 32 30 34 43 33 43 32 09 4c 58   ┆    INSMSG:   047C 118204C3C2 LX┆
0x0b2780…0b27a0             49 20 44 2c 24 2b 36 21 20 4a 4d 50 20 50 52 4d 53 47 0d 0a 20 30 34 38 32 20 30 44 30 41 34 39   ┆I D,$+6! JMP PRMSG   0482 0D0A49┆
0x0b27a0…0b27c0             34 45 35 33 09 44 42 20 43 52 2c 4c 46 2c 27 49 4e 53 45 52 54 20 43 4f 4e 54 52 4f 4c 20 44 49   ┆4E53 DB CR,LF,'INSERT CONTROL DI┆
0x0b27c0…0b27e0             53 4b 45 54 54 45 20 49 4e 20 41 2c 20 54 59 50 45 20 52 45 54 55 52 4e 24 27 0d 0a 20 20 20 20   ┆SKETTE IN A, TYPE RETURN$'      ┆
0x0b27e0…0b2800             20 20 20 20 20 20 20 20 20 20 20 20 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4f   ┆            ;                  O┆
0x0b2800…0b2820 (47, 1, 4)  20 44 2c 24 2b 36 21 20 4a 4d 50 20 50 52 4d 53 47 0d 0a 20 30 36 31 31 20 30 44 30 41 34 35 35   ┆ D,$+6! JMP PRMSG   0611 0D0A455┆
0x0b2820…0b2840             32 35 32 09 44 42 20 43 52 2c 4c 46 2c 27 45 52 52 4f 52 20 4f 4e 20 53 4f 55 52 43 45 20 44 49   ┆252 DB CR,LF,'ERROR ON SOURCE DI┆
0x0b2840…0b2860             53 4b 2c 20 52 45 50 4c 41 43 45 24 27 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b   ┆SK, REPLACE$'                  ;┆
0x0b2860…0b2880             0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 57 52 49 54 45 30 4d 53 47 3a 0d 0a 20 30   ┆                  WRITE0MSG:   0┆
0x0b2880…0b28a0             36 33 31 20 31 31 33 37 30 36 43 33 43 32 09 4c 58 49 20 44 2c 24 2b 36 21 20 4a 4d 50 20 50 52   ┆631 113706C3C2 LXI D,$+6! JMP PR┆
0x0b28a0…0b28c0             4d 53 47 0d 0a 20 30 36 33 37 20 30 44 30 41 34 33 34 31 34 45 09 44 42 20 43 52 2c 4c 46 2c 27   ┆MSG   0637 0D0A43414E DB CR,LF,'┆
0x0b28c0…0b28e0             43 41 4e 4e 4f 54 20 57 52 49 54 45 20 4e 45 57 20 44 49 53 4b 2c 20 52 45 50 4c 41 43 45 24 27   ┆CANNOT WRITE NEW DISK, REPLACE$'┆
0x0b28e0…0b2900             0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20   ┆                  ;             ┆
0x0b2900…0b2920             20 20 20 20 20 52 45 41 44 31 4d 53 47 3a 0d 0a 20 30 36 35 38 20 31 31 35 45 30 36 43 33 43 32   ┆     READ1MSG:   0658 115E06C3C2┆
0x0b2920…0b2940             09 4c 58 49 20 44 2c 24 2b 36 21 20 4a 4d 50 20 50 52 4d 53 47 0d 0a 20 30 36 35 45 20 30 44 30   ┆ LXI D,$+6! JMP PRMSG   065E 0D0┆
0x0b2940…0b2960             41 34 33 34 31 34 45 09 44 42 20 43 52 2c 4c 46 2c 27 43 41 4e 4e 4f 54 20 52 45 2d 52 45 41 44   ┆A43414E DB CR,LF,'CANNOT RE-READ┆
0x0b2960…0b2980             20 4e 45 57 20 44 49 53 4b 2c 20 52 45 50 4c 41 43 45 24 27 0d 0a 20 20 20 20 20 20 20 20 20 20   ┆ NEW DISK, REPLACE$'            ┆
0x0b2980…0b29a0             20 20 20 20 20 20 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 0d 0a 20 20 20 20   ┆      ;                  ;      ┆
0x0b29a0…0b29c0             20 20 20 20 20 20 20 20 20 20 20 20 3b 09 4d 49 53 43 45 4c 4c 41 4e 45 4f 55 53 20 44 41 54 41   ┆            ; MISCELLANEOUS DATA┆
0x0b29c0…0b29e0             20 41 52 45 41 53 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 0d 0a 20 30 36 38 31   ┆ AREAS                  ;   0681┆
0x0b29e0…0b2a00             20 20 20 20 20 20 20 20 20 20 20 4f 52 49 47 49 4e 3a 09 44 53 09 32 09 3b 42 49 4e 41 52 59 20   ┆           ORIGIN: DS 2 ;BINARY ┆
0x0b2a00…0b2a20 (47, 1, 5)  53 4c 41 54 45 3a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 09 3b 54 52 41 4e 53 4c   ┆SLATE:                   ;TRANSL┆
0x0b2a20…0b2a40             41 54 45 20 54 48 45 20 52 45 4c 41 54 49 56 45 20 41 44 44 52 45 53 53 20 49 4e 20 48 2c 4c 20   ┆ATE THE RELATIVE ADDRESS IN H,L ┆
0x0b2a40…0b2a60             54 4f 20 41 42 53 4f 4c 55 54 45 20 41 44 44 52 45 53 53 0d 0a 20 20 20 20 20 20 20 20 20 20 20   ┆TO ABSOLUTE ADDRESS             ┆
0x0b2a60…0b2a80             20 20 20 20 20 09 3b 49 4e 20 49 42 55 46 46 2c 20 41 53 53 55 4d 49 4e 47 20 53 45 43 54 4f 52   ┆      ;IN IBUFF, ASSUMING SECTOR┆
0x0b2a80…0b2aa0             53 20 41 52 45 20 53 4b 45 57 45 44 0d 0a 20 30 34 32 43 20 44 35 37 44 45 36 37 46 35 46 09 50   ┆S ARE SKEWED   042C D57DE67F5F P┆
0x0b2aa0…0b2ac0             55 53 48 20 44 21 20 4d 4f 56 20 41 2c 4c 21 20 41 4e 49 20 37 46 48 21 20 4d 4f 56 20 45 2c 41   ┆USH D! MOV A,L! ANI 7FH! MOV E,A┆
0x0b2ac0…0b2ae0             20 3b 4c 53 20 37 20 42 49 54 53 20 4f 46 20 41 44 44 52 45 53 53 20 53 41 56 45 44 0d 0a 20 30   ┆ ;LS 7 BITS OF ADDRESS SAVED   0┆
0x0b2ae0…0b2b00             34 33 31 20 37 44 31 37 20 20 20 20 20 20 09 09 4d 4f 56 20 41 2c 4c 21 20 52 41 4c 20 3b 43 41   ┆431 7D17        MOV A,L! RAL ;CA┆
0x0b2b00…0b2b20             52 52 59 20 47 45 54 53 20 4d 53 42 0d 0a 20 30 34 33 33 20 37 43 31 37 20 20 20 20 20 20 09 09   ┆RRY GETS MSB   0433 7C17        ┆
0x0b2b20…0b2b40             4d 4f 56 20 41 2c 48 21 20 52 41 4c 20 3b 43 41 52 52 59 20 47 4f 45 53 20 54 4f 20 4c 53 42 0d   ┆MOV A,H! RAL ;CARRY GOES TO LSB ┆
0x0b2b40…0b2b60             0a 20 30 34 33 35 20 36 46 32 36 30 30 20 20 20 20 09 09 4d 4f 56 20 4c 2c 41 21 20 4d 56 49 20   ┆  0435 6F2600      MOV L,A! MVI ┆
0x0b2b60…0b2b80             48 2c 30 20 3b 48 2c 4c 20 43 4f 4e 54 41 49 4e 20 49 4e 44 45 58 20 49 4e 54 4f 20 54 52 41 4e   ┆H,0 ;H,L CONTAIN INDEX INTO TRAN┆
0x0b2b80…0b2ba0             53 4c 41 54 45 20 54 41 42 4c 45 0d 0a 20 30 34 33 38 20 44 35 31 31 43 45 30 36 31 39 09 09 50   ┆SLATE TABLE   0438 D511CE0619  P┆
0x0b2ba0…0b2bc0             55 53 48 20 44 21 20 4c 58 49 20 44 2c 54 52 41 4e 21 20 44 41 44 20 44 21 20 50 4f 50 20 44 0d   ┆USH D! LXI D,TRAN! DAD D! POP D ┆
0x0b2bc0…0b2be0             0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 09 09 3b 48 2c 4c 20 41 44 44 52 45 53 53 20   ┆                   ;H,L ADDRESS ┆
0x0b2be0…0b2c00             54 52 41 4e 53 4c 41 54 49 4f 4e 20 45 4c 45 4d 45 4e 54 2c 20 43 4f 4e 56 45 52 54 20 54 4f 20   ┆TRANSLATION ELEMENT, CONVERT TO ┆
0x0b2c00…0b2c20 (47, 1, 6)  44 0d 0a 3a 31 30 30 35 34 35 30 30 43 32 30 33 31 31 41 33 30 36 43 33 43 32 30 33 31 31 35 33   ┆D  :10054500C20311A306C3C2031153┆
0x0b2c20…0b2c40             30 35 43 33 43 32 30 33 30 44 30 41 39 37 0d 0a 3a 31 30 30 35 35 35 30 30 34 39 34 45 35 33 34   ┆05C3C2030D0A97  :10055500494E534┆
0x0b2c40…0b2c60             35 35 32 35 34 32 30 34 45 34 35 35 37 32 30 34 34 34 39 35 33 34 42 34 35 32 37 0d 0a 3a 31 30   ┆55254204E4557204449534B4527  :10┆
0x0b2c60…0b2c80             30 35 36 35 30 30 35 34 35 34 34 35 32 43 32 30 35 34 35 39 35 30 34 35 32 30 35 32 34 35 35 34   ┆0565005454452C205459504520524554┆
0x0b2c80…0b2ca0             35 35 35 32 34 45 30 42 0d 0a 3a 31 30 30 35 37 35 30 30 32 34 31 31 37 43 30 35 43 33 43 32 30   ┆55524E0B  :1005750024117C05C3C20┆
0x0b2ca0…0b2cc0             33 30 44 30 41 34 32 34 31 34 34 32 30 34 44 34 46 35 36 34 38 0d 0a 3a 31 30 30 35 38 35 30 30   ┆30D0A424144204D4F5648  :10058500┆
0x0b2cc0…0b2ce0             34 33 35 30 34 44 32 45 34 33 34 46 34 44 32 30 34 36 34 39 34 43 34 35 32 43 32 30 35 32 34 35   ┆43504D2E434F4D2046494C452C205245┆
0x0b2ce0…0b2d00             35 36 0d 0a 3a 31 30 30 35 39 35 30 30 35 30 34 43 34 31 34 33 34 35 32 34 31 31 41 31 30 35 43   ┆56  :10059500504C4143452411A105C┆
0x0b2d00…0b2d20             33 43 32 30 33 30 44 30 41 34 45 34 46 44 41 0d 0a 3a 31 30 30 35 41 35 30 30 34 45 32 30 34 33   ┆3C2030D0A4E4FDA  :1005A5004E2043┆
0x0b2d20…0b2d40             35 30 32 46 34 44 32 30 34 34 34 39 35 33 34 42 34 35 35 34 35 34 34 35 32 43 32 30 0d 0a 3a 31   ┆502F4D204449534B455454452C20  :1┆
0x0b2d40…0b2d60             30 30 35 42 35 30 30 32 30 34 33 34 31 34 45 34 45 34 46 35 34 32 30 35 33 34 35 35 32 34 39 34   ┆005B5002043414E4E4F5420534552494┆
0x0b2d60…0b2d80             31 34 43 34 39 35 41 44 30 0d 0a 3a 31 30 30 35 43 35 30 30 34 35 32 34 31 31 43 44 30 35 43 33   ┆14C495AD0  :1005C500452411CD05C3┆
0x0b2d80…0b2da0             43 32 30 33 30 44 30 41 35 36 34 35 35 32 34 39 34 36 34 39 37 36 0d 0a 3a 31 30 30 35 44 35 30   ┆C2030D0A56455249464976  :1005D50┆
0x0b2da0…0b2dc0             30 34 33 34 31 35 34 34 39 34 46 34 45 32 30 34 35 35 32 35 32 34 46 35 32 32 43 32 30 34 32 34   ┆0434154494F4E204552524F522C20424┆
0x0b2dc0…0b2de0             31 44 46 0d 0a 3a 31 30 30 35 45 35 30 30 34 34 32 30 34 34 34 39 35 33 34 42 32 34 31 31 46 32   ┆1DF  :1005E50044204449534B2411F2┆
0x0b2de0…0b2e00             30 35 43 33 43 32 30 33 30 44 30 41 35 33 35 39 0d 0a 3a 31 30 30 35 46 35 30 30 34 35 35 32 34   ┆05C3C2030D0A5359  :1005F50045524┆
0x0b2e00…0b2e20 (47, 1, 7)  52 47 4d 53 47 3a 0d 0a 20 30 34 41 45 20 31 31 42 34 30 34 43 33 43 32 09 4c 58 49 20 44 2c 24   ┆RGMSG:   04AE 11B404C3C2 LXI D,$┆
0x0b2e20…0b2e40             2b 36 21 20 4a 4d 50 20 50 52 4d 53 47 0d 0a 20 30 34 42 34 20 30 44 30 41 34 33 35 30 32 46 09   ┆+6! JMP PRMSG   04B4 0D0A43502F ┆
0x0b2e40…0b2e60             44 42 20 43 52 2c 4c 46 2c 27 43 50 2f 4d 20 56 45 52 20 27 0d 0a 20 30 34 42 46 20 33 32 32 45   ┆DB CR,LF,'CP/M VER '   04BF 322E┆
0x0b2e60…0b2e80             33 32 20 20 20 20 09 44 42 20 56 45 52 53 49 4f 4e 2f 31 30 2b 27 30 27 2c 27 2e 27 2c 56 45 52   ┆32     DB VERSION/10+'0','.',VER┆
0x0b2e80…0b2ea0             53 49 4f 4e 20 4d 4f 44 20 31 30 20 2b 27 30 27 0d 0a 20 30 34 43 32 20 32 30 35 33 34 35 35 32   ┆SION MOD 10 +'0'   04C2 20534552┆
0x0b2ea0…0b2ec0             34 39 09 44 42 20 27 20 53 45 52 49 41 4c 49 5a 41 54 49 4f 4e 2c 27 2c 43 52 2c 4c 46 0d 0a 20   ┆49 DB ' SERIALIZATION,',CR,LF   ┆
0x0b2ec0…0b2ee0             30 34 44 33 20 34 46 35 32 34 39 34 37 34 39 09 44 42 20 27 4f 52 49 47 49 4e 20 4e 55 4d 42 45   ┆04D3 4F52494749 DB 'ORIGIN NUMBE┆
0x0b2ee0…0b2f00             52 3f 20 24 27 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 0d 0a 20 20 20 20 20 20   ┆R? $'                  ;        ┆
0x0b2f00…0b2f20             20 20 20 20 20 20 20 20 20 20 53 45 52 4d 53 47 3a 0d 0a 20 30 34 45 33 20 31 31 45 39 30 34 43   ┆          SERMSG:   04E3 11E904C┆
0x0b2f20…0b2f40             33 43 32 09 4c 58 49 20 44 2c 24 2b 36 21 20 4a 4d 50 20 50 52 4d 53 47 0d 0a 20 30 34 45 39 20   ┆3C2 LXI D,$+6! JMP PRMSG   04E9 ┆
0x0b2f40…0b2f60             30 44 30 41 35 33 35 34 34 31 09 44 42 20 43 52 2c 4c 46 2c 27 53 54 41 52 54 49 4e 47 20 53 45   ┆0D0A535441 DB CR,LF,'STARTING SE┆
0x0b2f60…0b2f80             52 49 41 4c 20 4e 55 4d 42 45 52 3f 20 24 27 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆RIAL NUMBER? $'                 ┆
0x0b2f80…0b2fa0             20 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 49 4e 56 41 4c 49 44 3a 0d 0a 20 30   ┆ ;                  INVALID:   0┆
0x0b2fa0…0b2fc0             35 30 34 20 31 31 30 41 30 35 43 33 43 32 09 4c 58 49 20 44 2c 24 2b 36 21 20 4a 4d 50 20 50 52   ┆504 110A05C3C2 LXI D,$+6! JMP PR┆
0x0b2fc0…0b2fe0             4d 53 47 0d 0a 20 30 35 30 41 20 30 44 30 41 34 39 34 45 35 36 09 44 42 20 43 52 2c 4c 46 2c 27   ┆MSG   050A 0D0A494E56 DB CR,LF,'┆
0x0b2fe0…0b3000             49 4e 56 41 4c 49 44 20 4e 55 4d 42 45 52 2c 20 54 52 59 20 41 47 41 49 4e 20 24 27 0d 0a 20 20   ┆INVALID NUMBER, TRY AGAIN $'    ┆
0x0b3000…0b3020 (47, 1, 8)  4f 52 49 47 49 4e 0d 0a 20 30 36 38 33 20 30 44 30 41 20 20 20 20 20 20 41 4f 52 49 47 3a 09 44   ┆ORIGIN   0683 0D0A      AORIG: D┆
0x0b3020…0b3040             42 09 43 52 2c 4c 46 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41 4f 52 49 47 49 4e   ┆B CR,LF                  AORIGIN┆
0x0b3040…0b3060             3a 0d 0a 20 30 36 38 35 20 33 30 33 30 33 30 33 30 33 30 09 44 42 09 27 30 30 30 30 30 2d 24 27   ┆:   0685 3030303030 DB '00000-$'┆
0x0b3060…0b3080             0d 0a 20 30 36 38 43 20 30 44 30 41 20 20 20 20 20 20 54 52 4d 53 47 3a 09 44 42 09 43 52 2c 4c   ┆   068C 0D0A      TRMSG: DB CR,L┆
0x0b3080…0b30a0             46 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 54 52 43 4f 55 4e 54 3a 0d 0a 20 30 36   ┆F                  TRCOUNT:   06┆
0x0b30a0…0b30c0             38 45 20 33 30 33 30 32 30 35 34 35 32 09 44 42 09 27 30 30 20 54 52 41 43 4b 53 20 56 45 52 49   ┆8E 3030205452 DB '00 TRACKS VERI┆
0x0b30c0…0b30e0             46 49 45 44 24 27 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 42 53 45 52 49 41 4c 3a   ┆FIED$'                  BSERIAL:┆
0x0b30e0…0b3100             0d 0a 20 30 36 41 31 20 20 20 20 20 20 20 20 20 20 20 09 44 53 09 32 09 3b 42 49 4e 41 52 59 20   ┆   06A1            DS 2 ;BINARY ┆
0x0b3100…0b3120             53 45 52 49 41 4c 20 4e 55 4d 42 45 52 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41   ┆SERIAL NUMBER                  A┆
0x0b3120…0b3140             53 45 52 49 41 4c 3a 0d 0a 20 30 36 41 33 20 33 30 33 30 33 30 33 30 33 30 09 44 42 09 27 30 30   ┆SERIAL:   06A3 3030303030 DB '00┆
0x0b3140…0b3160             30 30 30 24 27 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 43 4f 4d 50 41 52 45 3a 0d   ┆000$'                  COMPARE: ┆
0x0b3160…0b3180             0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 09 3b 43 4f 4d 4d 41 4e 44 53 20 41 52 45 20   ┆                  ;COMMANDS ARE ┆
0x0b3180…0b31a0             45 4e 43 4f 44 45 44 20 54 4f 20 4d 41 4b 45 20 44 49 53 41 53 53 45 4d 42 4c 59 20 48 41 52 44   ┆ENCODED TO MAKE DISASSEMBLY HARD┆
0x0b31a0…0b31c0             45 52 0d 0a 20 30 36 41 39 20 42 42 42 36 41 44 44 46 20 20 09 44 57 09 4e 4f 54 20 27 44 49 27   ┆ER   06A9 BBB6ADDF   DW NOT 'DI'┆
0x0b31c0…0b31e0             2c 4e 4f 54 20 27 52 20 27 0d 0a 20 30 36 41 44 20 42 41 41 44 42 45 44 46 20 20 09 44 57 09 4e   ┆,NOT 'R '   06AD BAADBEDF   DW N┆
0x0b31e0…0b3200             4f 54 20 27 45 52 27 2c 4e 4f 54 20 27 41 20 27 0d 0a 20 30 36 42 31 20 41 42 41 36 41 46 42 41   ┆OT 'ER',NOT 'A '   06B1 ABA6AFBA┆
0x0b3200…0b3220 (47, 1, 9)  52 45 4c 20 41 44 44 52 45 53 53 0d 0a 20 30 34 33 45 20 41 46 37 45 33 44 31 46 20 20 09 09 58   ┆REL ADDRESS   043E AF7E3D1F    X┆
0x0b3220…0b3240             52 41 20 41 21 20 4d 4f 56 20 41 2c 4d 21 20 44 43 52 20 41 20 21 20 52 41 52 20 3b 43 41 52 52   ┆RA A! MOV A,M! DCR A ! RAR ;CARR┆
0x0b3240…0b3260             59 20 47 45 54 53 20 4c 53 42 2c 20 4d 53 42 3d 30 0d 0a 20 30 34 34 32 20 36 37 33 45 30 30 31   ┆Y GETS LSB, MSB=0   0442 673E001┆
0x0b3260…0b3280             46 20 20 09 09 4d 4f 56 20 48 2c 41 21 20 4d 56 49 20 41 2c 30 21 20 52 41 52 20 3b 43 41 52 52   ┆F    MOV H,A! MVI A,0! RAR ;CARR┆
0x0b3280…0b32a0             59 20 47 4f 45 53 20 54 4f 20 4d 53 42 0d 0a 20 30 34 34 36 20 42 33 20 20 20 20 20 20 20 20 09   ┆Y GOES TO MSB   0446 B3         ┆
0x0b32a0…0b32c0             09 4f 52 41 20 45 20 3b 52 45 43 4c 41 49 4d 20 54 48 45 20 4c 45 41 53 54 20 53 49 47 4e 49 46   ┆ ORA E ;RECLAIM THE LEAST SIGNIF┆
0x0b32c0…0b32e0             49 43 41 4e 54 20 37 20 42 49 54 53 0d 0a 20 30 34 34 37 20 36 46 31 31 30 39 30 37 31 39 09 09   ┆ICANT 7 BITS   0447 6F11090719  ┆
0x0b32e0…0b3300             4d 4f 56 20 4c 2c 41 21 20 4c 58 49 20 44 2c 49 42 55 46 46 21 20 44 41 44 20 44 20 3b 41 42 53   ┆MOV L,A! LXI D,IBUFF! DAD D ;ABS┆
0x0b3300…0b3320             4f 4c 55 54 45 20 41 44 44 52 45 53 53 20 49 4e 20 48 2c 4c 0d 0a 20 30 34 34 43 20 44 31 20 20   ┆OLUTE ADDRESS IN H,L   044C D1  ┆
0x0b3320…0b3340             20 20 20 20 20 20 09 09 50 4f 50 20 44 20 3b 52 45 43 41 4c 4c 20 53 54 41 43 4b 45 44 20 44 20   ┆        POP D ;RECALL STACKED D ┆
0x0b3340…0b3360             56 41 4c 55 45 0d 0a 20 30 34 34 44 20 43 39 20 20 20 20 20 20 20 20 09 09 52 45 54 0d 0a 20 20   ┆VALUE   044D C9          RET    ┆
0x0b3360…0b3380             20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆              ;                 ┆
0x0b3380…0b33a0             20 53 54 42 59 54 45 3a 09 3b 53 54 4f 52 45 20 42 59 54 45 20 56 41 4c 55 45 20 47 49 56 45 4e   ┆ STBYTE: ;STORE BYTE VALUE GIVEN┆
0x0b33a0…0b33c0             20 42 59 20 52 45 47 49 53 54 45 52 20 41 20 54 4f 20 54 52 41 4e 53 4c 41 54 45 44 0d 0a 20 20   ┆ BY REGISTER A TO TRANSLATED    ┆
0x0b33c0…0b33e0             20 20 20 20 20 20 20 20 20 20 20 20 20 20 09 3b 41 44 44 52 45 53 53 20 47 49 56 45 4e 20 42 59   ┆               ;ADDRESS GIVEN BY┆
0x0b33e0…0b3400             20 48 2c 4c 2e 20 20 49 4e 43 52 45 4d 45 4e 54 20 48 2c 4c 20 55 50 4f 4e 20 52 45 54 55 52 4e   ┆ H,L.  INCREMENT H,L UPON RETURN┆
0x0b3400…0b3420 (47, 1, 10) 39 34 31 34 43 32 30 34 45 35 35 34 44 34 32 34 35 35 32 32 30 34 46 35 36 34 35 39 36 0d 0a 3a   ┆9414C204E554D424552204F564596  :┆
0x0b3420…0b3440             31 30 30 36 30 35 30 30 35 32 34 36 34 43 34 46 35 37 32 34 31 31 31 31 30 36 43 33 43 32 30 33   ┆1006050052464C4F5724111106C3C203┆
0x0b3440…0b3460             30 44 30 41 34 35 35 32 44 39 0d 0a 3a 31 30 30 36 31 35 30 30 35 32 34 46 35 32 32 30 34 46 34   ┆0D0A4552D9  :10061500524F52204F4┆
0x0b3460…0b3480             45 32 30 35 33 34 46 35 35 35 32 34 33 34 35 32 30 34 34 34 39 38 37 0d 0a 3a 31 30 30 36 32 35   ┆E20534F5552434520444987  :100625┆
0x0b3480…0b34a0             30 30 35 33 34 42 32 43 32 30 35 32 34 35 35 30 34 43 34 31 34 33 34 35 32 34 31 31 33 37 30 36   ┆00534B2C205245504C41434524113706┆
0x0b34a0…0b34c0             43 33 41 41 0d 0a 3a 31 30 30 36 33 35 30 30 43 32 30 33 30 44 30 41 34 33 34 31 34 45 34 45 34   ┆C3AA  :10063500C2030D0A43414E4E4┆
0x0b34c0…0b34e0             46 35 34 32 30 35 37 35 32 34 39 35 34 34 35 36 42 0d 0a 3a 31 30 30 36 34 35 30 30 32 30 34 45   ┆F542057524954456B  :10064500204E┆
0x0b34e0…0b3500             34 35 35 37 32 30 34 34 34 39 35 33 34 42 32 43 32 30 35 32 34 35 35 30 34 43 34 31 39 30 0d 0a   ┆4557204449534B2C205245504C4190  ┆
0x0b3500…0b3520             3a 31 30 30 36 35 35 30 30 34 33 34 35 32 34 31 31 35 45 30 36 43 33 43 32 30 33 30 44 30 41 34   ┆:10065500434524115E06C3C2030D0A4┆
0x0b3520…0b3540             33 34 31 34 45 34 45 34 46 36 36 0d 0a 3a 31 30 30 36 36 35 30 30 35 34 32 30 35 32 34 35 32 44   ┆3414E4E4F66  :10066500542052452D┆
0x0b3540…0b3560             35 32 34 35 34 31 34 34 32 30 34 45 34 35 35 37 32 30 34 34 34 39 37 41 0d 0a 3a 30 43 30 36 37   ┆52454144204E45572044497A  :0C067┆
0x0b3560…0b3580             35 30 30 35 33 34 42 32 43 32 30 35 32 34 35 35 30 34 43 34 31 34 33 34 35 32 34 36 46 0d 0a 3a   ┆500534B2C205245504C414345246F  :┆
0x0b3580…0b35a0             31 30 30 36 38 33 30 30 30 44 30 41 33 30 33 30 33 30 33 30 33 30 32 44 32 34 30 44 30 41 33 30   ┆100683000D0A30303030302D240D0A30┆
0x0b35a0…0b35c0             33 30 32 30 35 34 35 32 44 32 0d 0a 3a 30 45 30 36 39 33 30 30 34 31 34 33 34 42 35 33 32 30 35   ┆30205452D2  :0E06930041434B53205┆
0x0b35c0…0b35e0             36 34 35 35 32 34 39 34 36 34 39 34 35 34 34 32 34 41 35 0d 0a 3a 31 30 30 36 41 33 30 30 33 30   ┆64552494649454424A5  :1006A30030┆
0x0b35e0…0b3600             33 30 33 30 33 30 33 30 32 34 42 42 42 36 41 44 44 46 42 41 41 44 42 45 44 46 41 42 41 36 45 31   ┆3030303024BBB6ADDFBAADBEDFABA6E1┆
0x0b3600…0b3620 (47, 1, 11) 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆              ;                 ┆
0x0b3620…0b3640             20 43 55 52 4d 53 47 3a 0d 0a 20 30 35 32 37 20 31 31 32 44 30 35 43 33 43 32 09 4c 58 49 20 44   ┆ CURMSG:   0527 112D05C3C2 LXI D┆
0x0b3640…0b3660             2c 24 2b 36 21 20 4a 4d 50 20 50 52 4d 53 47 0d 0a 20 30 35 32 44 20 30 44 30 41 35 33 34 35 35   ┆,$+6! JMP PRMSG   052D 0D0A53455┆
0x0b3660…0b3680             32 09 44 42 20 43 52 2c 4c 46 2c 27 53 45 52 49 41 4c 49 5a 49 4e 47 20 44 49 53 4b 20 24 27 0d   ┆2 DB CR,LF,'SERIALIZING DISK $' ┆
0x0b3680…0b36a0             0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20   ┆                 ;              ┆
0x0b36a0…0b36c0             20 20 20 20 41 53 45 52 4d 53 47 3a 0d 0a 20 30 35 34 31 20 31 31 38 35 30 36 43 44 43 32 09 4c   ┆    ASERMSG:   0541 118506CDC2 L┆
0x0b36c0…0b36e0             58 49 20 44 2c 41 4f 52 49 47 49 4e 21 20 43 41 4c 4c 20 50 52 4d 53 47 0d 0a 20 30 35 34 37 20   ┆XI D,AORIGIN! CALL PRMSG   0547 ┆
0x0b36e0…0b3700             31 31 41 33 30 36 43 33 43 32 09 4c 58 49 20 44 2c 41 53 45 52 49 41 4c 21 20 4a 4d 50 20 50 52   ┆11A306C3C2 LXI D,ASERIAL! JMP PR┆
0x0b3700…0b3720             4d 53 47 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 0d 0a 20 20 20 20 20 20 20 20   ┆MSG                  ;          ┆
0x0b3720…0b3740             20 20 20 20 20 20 20 20 4e 45 57 4d 53 47 3a 0d 0a 20 30 35 34 44 20 31 31 35 33 30 35 43 33 43   ┆        NEWMSG:   054D 115305C3C┆
0x0b3740…0b3760             32 09 4c 58 49 20 44 2c 24 2b 36 21 20 4a 4d 50 20 50 52 4d 53 47 0d 0a 20 30 35 35 33 20 30 44   ┆2 LXI D,$+6! JMP PRMSG   0553 0D┆
0x0b3760…0b3780             30 41 34 39 24 45 35 33 09 44 42 20 43 52 2c 4c 46 2c 27 49 4e 53 45 52 54 20 4e 45 57 20 44 49   ┆0A49$E53 DB CR,LF,'INSERT NEW DI┆
0x0b3780…0b37a0             53 4b 45 54 54 45 2c 20 54 59 50 45 20 52 45 54 55 52 4e 24 27 0d 0a 20 20 20 20 20 20 20 20 20   ┆SKETTE, TYPE RETURN$'           ┆
0x0b37a0…0b37c0             20 20 20 20 20 20 20 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 42 41 44 43 4f 4d   ┆       ;                  BADCOM┆
0x0b37c0…0b37e0             3a 0d 0a 20 30 35 37 36 20 31 31 37 43 30 35 43 33 43 32 09 4c 58 49 20 44 2c 24 2b 36 21 20 4a   ┆:   0576 117C05C3C2 LXI D,$+6! J┆
0x0b37e0…0b3800             4d 50 20 50 52 4d 53 47 0d 0a 20 30 35 37 43 20 30 44 30 41 34 32 34 31 34 34 09 44 42 20 43 52   ┆MP PRMSG   057C 0D0A424144 DB CR┆
0x0b3800…0b3820 (47, 1, 12) 20 20 09 44 57 09 4e 4f 54 20 27 54 59 27 2c 4e 4f 54 20 27 50 45 27 0d 0a 20 30 36 42 35 20 41   ┆   DW NOT 'TY',NOT 'PE'   06B5 A┆
0x0b3820…0b3840             43 42 45 41 39 42 41 20 20 09 44 57 09 4e 4f 54 20 27 53 41 27 2c 4e 4f 54 20 27 56 45 27 0d 0a   ┆CBEA9BA   DW NOT 'SA',NOT 'VE'  ┆
0x0b3840…0b3860             20 30 36 42 39 20 41 44 42 41 42 31 44 46 20 20 09 44 57 09 4e 4f 54 20 27 52 45 27 2c 4e 4f 54   ┆ 06B9 ADBAB1DF   DW NOT 'RE',NOT┆
0x0b3860…0b3880             20 27 4e 20 27 0d 0a 20 30 36 42 44 20 41 41 41 43 42 41 41 44 20 20 09 44 57 09 4e 4f 54 20 27   ┆ 'N '   06BD AAACBAAD   DW NOT '┆
0x0b3880…0b38a0             55 53 27 2c 4e 4f 54 20 27 45 52 27 0d 0a 20 30 30 30 43 20 3d 20 20 20 20 20 20 20 20 20 09 43   ┆US',NOT 'ER'   000C =          C┆
0x0b38a0…0b38c0             4f 4d 50 4c 45 4e 20 45 51 55 20 28 24 2d 43 4f 4d 50 41 52 45 29 2f 32 0d 0a 20 20 20 20 20 20   ┆OMPLEN EQU ($-COMPARE)/2        ┆
0x0b38c0…0b38e0             20 20 20 20 20 20 20 20 20 20 3b 09 49 4e 50 55 54 20 42 55 46 46 45 52 0d 0a 20 30 36 43 31 20   ┆          ; INPUT BUFFER   06C1 ┆
0x0b38e0…0b3900             30 37 20 20 20 20 20 20 20 20 4d 41 58 4c 45 4e 3a 09 44 42 09 37 0d 0a 20 30 36 43 32 20 20 20   ┆07        MAXLEN: DB 7   06C2   ┆
0x0b3900…0b3920             20 20 20 20 20 20 20 20 43 4f 4d 4c 45 4e 3a 09 44 53 09 31 0d 0a 20 30 36 43 33 20 20 20 20 20   ┆        COMLEN: DS 1   06C3     ┆
0x0b3920…0b3940             20 20 20 20 20 20 43 42 55 46 46 3a 09 44 53 09 38 0d 0a 20 30 36 43 42 20 20 20 20 20 20 20 20   ┆      CBUFF: DS 8   06CB        ┆
0x0b3940…0b3960             20 20 20 53 54 52 41 43 4b 3a 09 44 53 09 31 09 3b 53 45 52 49 41 4c 49 5a 45 20 54 52 41 43 4b   ┆   STRACK: DS 1 ;SERIALIZE TRACK┆
0x0b3960…0b3980             20 46 4f 52 20 43 50 4d 2e 43 4f 4d 20 46 49 4c 45 20 57 48 45 4e 20 45 4e 43 4f 55 4e 54 45 52   ┆ FOR CPM.COM FILE WHEN ENCOUNTER┆
0x0b3980…0b39a0             45 44 0d 0a 20 30 36 43 43 20 20 20 20 20 20 20 20 20 20 20 53 44 49 46 46 3a 09 44 53 09 32 09   ┆ED   06CC           SDIFF: DS 2 ┆
0x0b39a0…0b39c0             3b 44 49 46 46 45 52 45 4e 43 45 20 42 45 54 57 45 45 4e 20 54 57 4f 20 53 45 52 49 41 4c 20 4e   ┆;DIFFERENCE BETWEEN TWO SERIAL N┆
0x0b39c0…0b39e0             55 4d 42 45 52 20 41 44 44 52 45 53 53 45 53 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆UMBER ADDRESSES                 ┆
0x0b39e0…0b3a00             20 3b 09 53 45 43 54 4f 52 20 54 52 41 4e 53 4c 41 54 49 4f 4e 20 56 45 43 54 4f 52 0d 0a 20 30   ┆ ; SECTOR TRANSLATION VECTOR   0┆
0x0b3a00…0b3a20 (47, 1, 13) 30 37 45 42 37 43 41 43 37 30 33 32 33 35 46 31 36 30 30 31 39 33 36 30 30 32 31 43 33 30 36 30   ┆07EB7CAC703235F160019360021C3060┆
0x0b3a20…0b3a40             31 37 44 0d 0a 3a 31 30 30 33 45 35 30 30 30 30 30 30 37 45 42 37 43 38 44 36 33 30 46 45 30 41   ┆17D  :1003E50000007EB7C8D630FE0A┆
0x0b3a40…0b3a60             44 32 43 37 30 33 45 35 43 35 45 31 32 39 41 44 0d 0a 3a 31 30 30 33 46 35 30 30 32 39 32 39 30   ┆D2C703E5C5E129AD  :1003F50029290┆
0x0b3a60…0b3a80             39 30 39 45 35 43 31 45 31 32 33 38 31 34 46 33 45 30 30 38 38 34 37 44 41 43 37 36 43 0d 0a 3a   ┆909E5C1E123814F3E008847DAC76C  :┆
0x0b3a80…0b3aa0             31 30 30 34 30 35 30 30 30 33 43 33 45 37 30 33 32 41 41 31 30 36 32 33 32 32 41 31 30 36 37 44   ┆1004050003C3E7032AA1062322A1067D┆
0x0b3aa0…0b3ac0             42 34 43 41 32 36 30 34 35 35 0d 0a 3a 31 30 30 34 31 35 30 30 32 31 41 37 30 36 30 36 30 35 33   ┆B4CA260455  :1004150021A70606053┆
0x0b3ac0…0b3ae0             34 37 45 46 45 33 41 44 38 33 36 33 30 32 42 30 35 43 32 31 41 43 41 0d 0a 3a 31 30 30 34 32 35   ┆47EFE3AD836302B05C21ACA  :100425┆
0x0b3ae0…0b3b00             30 30 30 34 43 44 45 43 30 35 43 33 30 30 30 30 44 35 37 44 45 36 37 46 35 46 37 44 31 37 37 43   ┆0004CDEC05C30000D57DE67F5F7D177C┆
0x0b3b00…0b3b20             31 37 30 35 0d 0a 3a 31 30 30 34 33 35 30 30 36 46 32 36 30 30 44 35 31 31 43 45 30 36 31 39 44   ┆1705  :100435006F2600D511CE0619D┆
0x0b3b20…0b3b40             31 41 46 37 45 33 44 31 46 36 37 33 45 30 30 35 30 0d 0a 3a 31 30 30 34 34 35 30 30 31 46 42 33   ┆1AF7E3D1F673E0050  :100445001FB3┆
0x0b3b40…0b3b60             36 46 31 31 30 39 30 37 31 39 44 31 43 39 45 35 44 35 46 35 43 44 32 43 30 34 46 31 46 35 0d 0a   ┆6F11090719D1C9E5D5F5CD2C04F1F5  ┆
0x0b3b60…0b3b80             3a 31 30 30 34 35 35 30 30 37 37 44 31 45 31 32 33 43 39 33 41 38 31 30 36 43 44 34 45 30 34 33   ┆:1004550077D1E123C93A8106CD4E043┆
0x0b3b80…0b3ba0             45 31 36 43 44 34 45 30 34 32 46 0d 0a 3a 31 30 30 34 36 35 30 30 33 41 38 32 30 36 43 44 34 45   ┆E16CD4E042F  :100465003A8206CD4E┆
0x0b3ba0…0b3bc0             30 34 41 46 43 44 34 45 30 34 31 31 41 32 30 36 31 41 43 44 34 45 45 41 0d 0a 3a 31 30 30 34 37   ┆04AFCD4E0411A2061ACD4EEA  :10047┆
0x0b3bc0…0b3be0             35 30 30 30 34 31 42 31 41 43 44 34 45 30 34 43 39 31 31 38 32 30 34 43 33 43 32 30 33 30 44 30   ┆500041B1ACD4E04C9118204C3C2030D0┆
0x0b3be0…0b3c00             41 34 39 44 37 0d 0a 3a 31 30 30 34 38 35 30 30 34 45 35 33 34 35 35 32 35 34 32 30 34 33 34 46   ┆A49D7  :100485004E5345525420434F┆
0x0b3c00…0b3c20 (47, 1, 14) 0d 0a 20 30 34 34 45 20 45 35 44 35 46 35 20 20 20 20 09 50 55 53 48 20 48 21 20 50 55 53 48 20   ┆   044E E5D5F5     PUSH H! PUSH ┆
0x0b3c20…0b3c40             44 21 20 50 55 53 48 20 50 53 57 0d 0a 20 30 34 35 31 20 43 44 32 43 30 34 46 31 20 20 09 43 41   ┆D! PUSH PSW   0451 CD2C04F1   CA┆
0x0b3c40…0b3c60             4c 4c 20 54 52 41 4e 53 4c 41 54 45 21 20 50 4f 50 20 50 53 57 0d 0a 20 30 34 35 35 20 37 37 44   ┆LL TRANSLATE! POP PSW   0455 77D┆
0x0b3c60…0b3c80             31 45 31 32 33 43 39 09 4d 4f 56 20 4d 2c 41 21 20 50 4f 50 20 44 21 20 50 4f 50 20 48 21 20 49   ┆1E123C9 MOV M,A! POP D! POP H! I┆
0x0b3c80…0b3ca0             4e 58 20 48 21 20 52 45 54 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 0d 0a 20 20   ┆NX H! RET                  ;    ┆
0x0b3ca0…0b3cc0             20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 54 53 45 52 49 41 4c 3a 0d 0a 20 20 20 20 20 20 20   ┆              STSERIAL:         ┆
0x0b3cc0…0b3ce0             20 20 20 20 20 20 20 20 20 09 3b 53 54 4f 52 45 20 54 48 45 20 53 45 52 49 41 4c 20 4e 55 4d 42   ┆          ;STORE THE SERIAL NUMB┆
0x0b3ce0…0b3d00             45 52 20 49 4e 54 4f 20 41 44 44 52 45 53 53 20 47 49 56 45 4e 20 42 59 20 48 2c 4c 0d 0a 20 30   ┆ER INTO ADDRESS GIVEN BY H,L   0┆
0x0b3d00…0b3d20             34 35 41 20 33 41 38 31 30 36 43 44 34 45 09 4c 44 41 20 4f 52 49 47 49 4e 21 20 43 41 4c 4c 20   ┆45A 3A8106CD4E LDA ORIGIN! CALL ┆
0x0b3d20…0b3d40             53 54 42 59 54 45 20 3b 42 59 54 45 20 53 54 4f 52 45 44 2c 20 48 2c 4c 20 49 4e 43 52 45 4d 45   ┆STBYTE ;BYTE STORED, H,L INCREME┆
0x0b3d40…0b3d60             4e 54 45 44 0d 0a 20 30 34 36 30 20 33 45 31 36 43 44 34 45 30 34 09 4d 56 49 20 41 2c 56 45 52   ┆NTED   0460 3E16CD4E04 MVI A,VER┆
0x0b3d60…0b3d80             53 49 4f 4e 21 20 43 41 4c 4c 20 53 54 42 59 54 45 20 3b 56 45 52 53 49 4f 4e 20 4e 55 4d 42 45   ┆SION! CALL STBYTE ;VERSION NUMBE┆
0x0b3d80…0b3da0             52 0d 0a 20 30 34 36 35 20 33 41 38 32 30 36 43 44 34 45 09 09 6c 64 61 20 6f 72 69 67 69 6e 2b   ┆R   0465 3A8206CD4E  lda origin+┆
0x0b3da0…0b3dc0             31 20 21 20 63 61 6c 6c 20 73 74 62 79 74 65 09 3b 20 73 74 75 66 66 20 68 69 67 68 28 6f 72 69   ┆1 ! call stbyte ; stuff high(ori┆
0x0b3dc0…0b3de0             67 69 6e 29 0d 0a 20 30 34 36 42 20 41 46 43 44 34 45 30 34 20 20 09 09 58 52 41 20 41 21 20 43   ┆gin)   046B AFCD4E04    XRA A! C┆
0x0b3de0…0b3e00             41 4c 4c 20 53 54 42 59 54 45 20 3b 5a 45 52 4f 20 42 59 54 45 0d 0a 20 20 20 20 20 20 20 20 20   ┆ALL STBYTE ;ZERO BYTE           ┆
0x0b3e00…0b3e20 (47, 1, 15) 2c 4c 46 2c 27 42 41 44 20 4d 4f 56 43 50 4d 2e 43 4f 4d 20 46 49 4c 45 2c 20 52 45 50 4c 41 43   ┆,LF,'BAD MOVCPM.COM FILE, REPLAC┆
0x0b3e20…0b3e40             45 24 27 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 0d 0a 20 20 20 20 20 20 20 20   ┆E$'                  ;          ┆
0x0b3e40…0b3e60             20 20 20 20 20 20 20 20 42 41 44 44 53 4b 3a 0d 0a 20 30 35 39 42 20 31 31 41 31 30 35 43 33 43   ┆        BADDSK:   059B 11A105C3C┆
0x0b3e60…0b3e80             32 09 4c 58 49 20 44 2c 24 2b 36 21 20 4a 4d 50 20 50 52 4d 53 47 0d 0a 20 30 35 41 31 20 30 44   ┆2 LXI D,$+6! JMP PRMSG   05A1 0D┆
0x0b3e80…0b3ea0             30 41 34 45 34 46 34 45 09 44 42 20 43 52 2c 4c 46 2c 27 4e 4f 4e 20 43 50 2f 4d 20 44 49 53 4b   ┆0A4E4F4E DB CR,LF,'NON CP/M DISK┆
0x0b3ea0…0b3ec0             45 54 54 45 2c 20 43 41 4e 4e 4f 54 20 53 45 52 49 41 4c 49 5a 45 24 27 0d 0a 20 20 20 20 20 20   ┆ETTE, CANNOT SERIALIZE$'        ┆
0x0b3ec0…0b3ee0             20 20 20 20 20 20 20 20 20 20 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 56 45 52   ┆          ;                  VER┆
0x0b3ee0…0b3f00             45 52 52 3a 0d 0a 20 30 35 43 37 20 31 31 43 44 30 35 43 33 43 32 09 4c 58 49 20 44 2c 24 2b 36   ┆ERR:   05C7 11CD05C3C2 LXI D,$+6┆
0x0b3f00…0b3f20             21 20 4a 4d 50 20 50 52 4d 53 47 0d 0a 20 30 35 43 44 20 30 44 30 41 35 36 34 35 35 32 09 44 42   ┆! JMP PRMSG   05CD 0D0A564552 DB┆
0x0b3f20…0b3f40             20 43 52 2c 4c 46 2c 27 56 45 52 49 46 49 43 41 54 49 4f 4e 20 45 52 52 4f 52 2c 20 42 41 44 20   ┆ CR,LF,'VERIFICATION ERROR, BAD ┆
0x0b3f40…0b3f60             44 49 53 4b 24 27 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 0d 0a 20 20 20 20 20   ┆DISK$'                  ;       ┆
0x0b3f60…0b3f80             20 20 20 20 20 20 20 20 20 20 20 4f 56 45 52 4d 53 47 3a 0d 0a 20 30 35 45 43 20 31 31 46 32 30   ┆           OVERMSG:   05EC 11F20┆
0x0b3f80…0b3fa0             35 43 33 43 32 09 4c 58 49 20 44 2c 24 2b 36 21 20 4a 4d 50 20 50 52 4d 53 47 0d 0a 20 30 35 46   ┆5C3C2 LXI D,$+6! JMP PRMSG   05F┆
0x0b3fa0…0b3fc0             32 20 30 44 30 41 35 33 34 35 35 32 09 44 42 20 43 52 2c 4c 46 2c 27 53 45 52 49 41 4c 20 4e 55   ┆2 0D0A534552 DB CR,LF,'SERIAL NU┆
0x0b3fc0…0b3fe0             4d 42 45 52 20 4f 56 45 52 46 4c 4f 57 24 27 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆MBER OVERFLOW$'                 ┆
0x0b3fe0…0b4000             20 52 45 41 44 30 4d 53 47 3a 0d 0a 20 30 36 30 42 20 31 31 31 31 30 36 43 33 43 32 09 4c 58 49   ┆ READ0MSG:   060B 111106C3C2 LXI┆
0x0b4000…0b4020 (48, 0, 1)  36 43 45 20 30 31 30 37 30 44 31 33 31 39 54 52 41 4e 3a 09 44 42 09 31 2c 37 2c 31 33 2c 31 39   ┆6CE 01070D1319TRAN: DB 1,7,13,19┆
0x0b4020…0b4040             2c 20 32 35 2c 35 2c 31 31 2c 31 37 0d 0a 20 30 36 44 36 20 31 37 30 33 30 39 30 46 31 35 09 44   ┆, 25,5,11,17   06D6 1703090F15 D┆
0x0b4040…0b4060             42 09 32 33 2c 33 2c 39 2c 31 35 2c 20 32 31 2c 32 2c 38 2c 31 34 0d 0a 20 30 36 44 45 20 31 34   ┆B 23,3,9,15, 21,2,8,14   06DE 14┆
0x0b4060…0b4080             31 41 30 36 30 43 31 32 09 44 42 09 32 30 2c 32 36 2c 36 2c 31 32 2c 20 31 38 2c 32 34 2c 34 2c   ┆1A060C12 DB 20,26,6,12, 18,24,4,┆
0x0b4080…0b40a0             31 30 0d 0a 20 30 36 45 36 20 31 30 31 36 20 20 20 20 20 20 09 44 42 09 31 36 2c 32 32 0d 0a 20   ┆10   06E6 1016       DB 16,22   ┆
0x0b40a0…0b40c0             20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 0d 0a 20 30 36 45 38 20 20 20 20 20 20 20 20 20   ┆               ;   06E8         ┆
0x0b40c0…0b40e0             20 20 09 44 53 09 33 32 09 3b 53 54 41 43 4b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆   DS 32 ;STACK                 ┆
0x0b40e0…0b4100             20 53 54 41 43 4b 3a 0d 0a 20 30 37 30 38 20 20 20 20 20 20 20 20 20 20 20 53 50 54 3a 09 44 53   ┆ STACK:   0708           SPT: DS┆
0x0b4100…0b4120             09 31 0d 0a 20 33 43 30 30 20 3d 20 20 20 20 20 20 20 20 20 54 52 4c 45 4e 09 45 51 55 09 31 32   ┆ 1   3C00 =         TRLEN EQU 12┆
0x0b4120…0b4140             30 2a 31 32 38 09 3b 42 55 46 46 45 52 20 53 49 5a 45 0d 0a 20 30 37 30 39 20 20 20 20 20 20 20   ┆0*128 ;BUFFER SIZE   0709       ┆
0x0b4140…0b4160             20 20 20 20 49 42 55 46 46 3a 09 44 53 09 54 52 4c 45 4e 0d 0a 20 34 33 30 39 20 20 20 20 20 20   ┆    IBUFF: DS TRLEN   4309      ┆
0x0b4160…0b4180             20 20 20 20 20 4f 42 55 46 46 3a 09 44 53 09 54 52 4c 45 4e 0d 0a 20 30 37 30 39 20 3d 20 20 20   ┆     OBUFF: DS TRLEN   0709 =   ┆
0x0b4180…0b41a0             20 20 20 20 20 20 43 43 50 56 09 45 51 55 09 49 42 55 46 46 2b 4f 46 46 53 45 54 0d 0a 20 30 46   ┆      CCPV EQU IBUFF+OFFSET   0F┆
0x0b41a0…0b41c0             30 39 20 3d 20 20 20 20 20 20 20 20 20 42 44 4f 53 56 09 45 51 55 09 49 42 55 46 46 2b 28 42 44   ┆09 =         BDOSV EQU IBUFF+(BD┆
0x0b41c0…0b41e0             4f 53 42 2d 43 43 50 42 29 2b 4f 46 46 53 45 54 0d 0a 20 37 46 30 39 20 20 20 20 20 20 20 20 20   ┆OSB-CCPB)+OFFSET   7F09         ┆
0x0b41e0…0b4200             20 20 09 45 4e 44 09 54 50 41 0d 0a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a   ┆   END TPA                      ┆
0x0b4200…0b4220 (48, 0, 2)  0d 0a 3a 30 46 30 36 42 33 30 30 41 46 42 41 41 43 42 45 41 39 42 41 41 44 42 41 42 31 44 46 41   ┆  :0F06B300AFBAACBEA9BAADBAB1DFA┆
0x0b4220…0b4240             41 41 43 42 41 41 44 30 37 34 37 0d 0a 3a 31 30 30 36 43 45 30 30 30 31 30 37 30 44 31 33 31 39   ┆AACBAAD0747  :1006CE0001070D1319┆
0x0b4240…0b4260             30 35 30 42 31 31 31 37 30 33 30 39 30 46 31 35 30 32 30 38 30 45 35 42 0d 0a 3a 30 41 30 36 44   ┆050B111703090F1502080E5B  :0A06D┆
0x0b4260…0b4280             45 30 30 31 34 31 41 30 36 30 43 31 32 31 38 30 34 30 41 31 30 31 36 37 34 0d 0a 3a 30 30 30 31   ┆E00141A060C1218040A101674  :0001┆
0x0b4280…0b42a0             30 30 30 30 46 46 0d 0a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a   ┆0000FF                          ┆
0x0b42a0…0b42c0             1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a   ┆                                ┆
          […0x2…]
0x0b4300…0b4320             3a 31 30 30 36 35 35 30 30 34 33 34 35 32 34 31 31 35 45 30 36 43 33 43 32 30 33 30 44 30 41 34   ┆:10065500434524115E06C3C2030D0A4┆
0x0b4320…0b4340             33 34 31 34 45 34 45 34 46 36 36 0d 0a 3a 31 30 30 36 36 35 30 30 35 34 32 30 35 32 34 35 32 44   ┆3414E4E4F66  :10066500542052452D┆
0x0b4340…0b4360             35 32 34 35 34 31 34 34 32 30 34 45 34 35 35 37 32 30 34 34 34 39 37 41 0d 0a 3a 30 43 30 36 37   ┆52454144204E45572044497A  :0C067┆
0x0b4360…0b4380             35 30 30 35 33 34 42 32 43 32 30 35 32 34 35 35 30 34 43 34 31 34 33 34 35 32 34 36 46 0d 0a 3a   ┆500534B2C205245504C414345246F  :┆
0x0b4380…0b43a0             31 30 30 36 38 33 30 30 30 44 30 41 33 30 33 30 33 30 33 30 33 30 32 44 32 34 30 44 30 41 33 30   ┆100683000D0A30303030302D240D0A30┆
0x0b43a0…0b43c0             33 30 32 30 35 34 35 32 44 32 0d 0a 3a 30 45 30 36 39 33 30 30 34 31 34 33 34 42 35 33 32 30 35   ┆30205452D2  :0E06930041434B53205┆
0x0b43c0…0b43e0             36 34 35 35 32 34 39 34 36 34 39 34 35 34 34 32 34 41 35 0d 0a 3a 31 30 30 36 41 33 30 30 33 30   ┆64552494649454424A5  :1006A30030┆
0x0b43e0…0b4400             33 30 33 30 33 30 33 30 32 34 42 42 42 36 41 44 44 46 42 41 41 44 42 45 44 46 41 42 41 36 45 31   ┆3030303024BBB6ADDFBAADBEDFABA6E1┆
0x0b4400…0b4420 (48, 0, 3)  63 63 75 72 72 65 64 2c 20 70 72 69 6e 74 20 6d 65 73 73 61 67 65 20 61 6e 64 20 72 65 74 72 79   ┆ccurred, print message and retry┆
0x0b4420…0b4440             0d 0a 62 6f 6f 74 65 72 72 3a 0d 0a 09 70 6f 70 09 62 09 3b 72 65 63 61 6c 6c 20 63 6f 75 6e 74   ┆  booterr:   pop b ;recall count┆
0x0b4440…0b4460             73 0d 0a 09 64 63 72 09 63 0d 0a 09 6a 7a 09 62 6f 6f 74 65 72 30 0d 0a 3b 09 74 72 79 20 61 67   ┆s   dcr c   jz booter0  ; try ag┆
0x0b4460…0b4480             61 69 6e 0d 0a 09 70 75 73 68 09 62 0d 0a 09 6a 6d 70 09 77 62 6f 6f 74 30 0d 0a 3b 0d 0a 62 6f   ┆ain   push b   jmp wboot0  ;  bo┆
0x0b4480…0b44a0             6f 74 65 72 30 3a 0d 0a 3b 09 6f 74 68 65 72 77 69 73 65 20 74 6f 6f 20 6d 61 6e 79 20 72 65 74   ┆oter0:  ; otherwise too many ret┆
0x0b44a0…0b44c0             72 69 65 73 0d 0a 09 6c 78 69 09 68 2c 62 6f 6f 74 6d 73 67 0d 0a 09 63 61 6c 6c 09 70 72 6d 73   ┆ries   lxi h,bootmsg   call prms┆
0x0b44c0…0b44e0             67 0d 0a 09 6a 6d 70 09 72 6d 6f 6e 38 30 09 3b 6d 64 73 20 68 61 72 64 77 61 72 65 20 6d 6f 6e   ┆g   jmp rmon80 ;mds hardware mon┆
0x0b44e0…0b4500             69 74 6f 72 0d 0a 3b 0d 0a 62 6f 6f 74 6d 73 67 3a 0d 0a 09 64 62 09 27 3f 62 6f 6f 74 27 2c 30   ┆itor  ;  bootmsg:   db '?boot',0┆
0x0b4500…0b4520             0d 0a 3b 0d 0a 3b 0d 0a 63 6f 6e 73 74 3a 09 3b 63 6f 6e 73 6f 6c 65 20 73 74 61 74 75 73 20 74   ┆  ;  ;  const: ;console status t┆
0x0b4520…0b4540             6f 20 72 65 67 2d 61 0d 0a 3b 09 28 65 78 61 63 74 6c 79 20 74 68 65 20 73 61 6d 65 20 61 73 20   ┆o reg-a  ; (exactly the same as ┆
0x0b4540…0b4560             6d 64 73 20 63 61 6c 6c 29 0d 0a 09 6a 6d 70 09 63 73 74 73 0d 0a 3b 0d 0a 63 6f 6e 69 6e 3a 09   ┆mds call)   jmp csts  ;  conin: ┆
0x0b4560…0b4580             3b 63 6f 6e 73 6f 6c 65 20 63 68 61 72 61 63 74 65 72 20 74 6f 20 72 65 67 2d 61 0d 0a 09 63 61   ┆;console character to reg-a   ca┆
0x0b4580…0b45a0             6c 6c 09 63 69 0d 0a 09 61 6e 69 09 37 66 68 09 3b 72 65 6d 6f 76 65 20 70 61 72 69 74 79 20 62   ┆ll ci   ani 7fh ;remove parity b┆
0x0b45a0…0b45c0             69 74 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 63 6f 6e 6f 75 74 3a 09 3b 63 6f 6e 73 6f 6c 65 20 63 68   ┆it   ret  ;  conout: ;console ch┆
0x0b45c0…0b45e0             61 72 61 63 74 65 72 20 66 72 6f 6d 20 63 20 74 6f 20 63 6f 6e 73 6f 6c 65 20 6f 75 74 0d 0a 09   ┆aracter from c to console out   ┆
0x0b45e0…0b4600             6a 6d 70 09 63 6f 0d 0a 3b 0d 0a 6c 69 73 74 3a 09 3b 6c 69 73 74 20 64 65 76 69 63 65 20 6f 75   ┆jmp co  ;  list: ;list device ou┆
0x0b4600…0b4620 (48, 0, 4)  0d 0a 3b 0d 0a 72 65 61 64 3a 09 3b 72 65 61 64 20 6e 65 78 74 20 64 69 73 6b 20 72 65 63 6f 72   ┆  ;  read: ;read next disk recor┆
0x0b4620…0b4640             64 20 28 61 73 73 75 6d 69 6e 67 20 64 69 73 6b 2f 74 72 6b 2f 73 65 63 2f 64 6d 61 20 73 65 74   ┆d (assuming disk/trk/sec/dma set┆
0x0b4640…0b4660             29 0d 0a 09 6d 76 69 09 63 2c 72 65 61 64 66 09 3b 73 65 74 20 74 6f 20 72 65 61 64 20 66 75 6e   ┆)   mvi c,readf ;set to read fun┆
0x0b4660…0b4680             63 74 69 6f 6e 0d 0a 09 63 61 6c 6c 09 73 65 74 66 75 6e 63 0d 0a 09 63 61 6c 6c 09 77 61 69 74   ┆ction   call setfunc   call wait┆
0x0b4680…0b46a0             69 6f 09 3b 70 65 72 66 6f 72 6d 20 72 65 61 64 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 72 65 74 09   ┆io ;perform read function   ret ┆
0x0b46a0…0b46c0             09 3b 6d 61 79 20 68 61 76 65 20 65 72 72 6f 72 20 73 65 74 20 69 6e 20 72 65 67 2d 61 0d 0a 3b   ┆ ;may have error set in reg-a  ;┆
0x0b46c0…0b46e0             0d 0a 3b 0d 0a 77 72 69 74 65 3a 09 3b 64 69 73 6b 20 77 72 69 74 65 20 66 75 6e 63 74 69 6f 6e   ┆  ;  write: ;disk write function┆
0x0b46e0…0b4700             0d 0a 09 6d 76 69 09 63 2c 77 72 69 74 66 0d 0a 09 63 61 6c 6c 09 73 65 74 66 75 6e 63 09 3b 73   ┆   mvi c,writf   call setfunc ;s┆
0x0b4700…0b4720             65 74 20 74 6f 20 77 72 69 74 65 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 63 61 6c 6c 09 77 61 69 74   ┆et to write function   call wait┆
0x0b4720…0b4740             69 6f 0d 0a 09 72 65 74 09 09 3b 6d 61 79 20 68 61 76 65 20 65 72 72 6f 72 20 73 65 74 0d 0a 3b   ┆io   ret  ;may have error set  ;┆
0x0b4740…0b4760             0d 0a 3b 0d 0a 3b 09 75 74 69 6c 69 74 79 20 73 75 62 72 6f 75 74 69 6e 65 73 0d 0a 70 72 6d 73   ┆  ;  ; utility subroutines  prms┆
0x0b4760…0b4780             67 3a 09 3b 70 72 69 6e 74 20 6d 65 73 73 61 67 65 20 61 74 20 68 2c 6c 20 74 6f 20 30 0d 0a 09   ┆g: ;print message at h,l to 0   ┆
0x0b4780…0b47a0             6d 6f 76 09 61 2c 6d 0d 0a 09 6f 72 61 09 61 09 3b 7a 65 72 6f 3f 0d 0a 09 72 7a 0d 0a 3b 09 6d   ┆mov a,m   ora a ;zero?   rz  ; m┆
0x0b47a0…0b47c0             6f 72 65 20 74 6f 20 70 72 69 6e 74 0d 0a 09 70 75 73 68 09 68 0d 0a 09 6d 6f 76 09 63 2c 61 0d   ┆ore to print   push h   mov c,a ┆
0x0b47c0…0b47e0             0a 09 63 61 6c 6c 09 63 6f 6e 6f 75 74 0d 0a 09 70 6f 70 09 68 0d 0a 09 69 6e 78 09 68 0d 0a 09   ┆  call conout   pop h   inx h   ┆
0x0b47e0…0b4800             6a 6d 70 09 70 72 6d 73 67 0d 0a 3b 0d 0a 73 65 74 66 75 6e 63 3a 0d 0a 3b 09 73 65 74 20 66 75   ┆jmp prmsg  ;  setfunc:  ; set fu┆
0x0b4800…0b4820 (48, 0, 5)  6f 75 74 69 6e 65 73 20 77 69 74 68 69 6e 20 74 68 65 20 6d 6f 6e 69 74 6f 72 0d 0a 3b 0d 0a 3b   ┆outines within the monitor  ;  ;┆
0x0b4820…0b4840             09 77 65 20 61 6c 73 6f 20 61 73 73 75 6d 65 20 74 68 65 20 6d 64 73 20 73 79 73 74 65 6d 20 68   ┆ we also assume the mds system h┆
0x0b4840…0b4860             61 73 20 66 6f 75 72 20 64 69 73 6b 20 64 72 69 76 65 73 0d 0a 72 65 76 72 74 09 65 71 75 09 30   ┆as four disk drives  revrt equ 0┆
0x0b4860…0b4880             66 64 68 09 3b 69 6e 74 65 72 72 75 70 74 20 72 65 76 65 72 74 20 70 6f 72 74 0d 0a 69 6e 74 63   ┆fdh ;interrupt revert port  intc┆
0x0b4880…0b48a0             09 65 71 75 09 30 66 63 68 09 3b 69 6e 74 65 72 72 75 70 74 20 6d 61 73 6b 20 70 6f 72 74 0d 0a   ┆ equ 0fch ;interrupt mask port  ┆
0x0b48a0…0b48c0             69 63 6f 6e 09 65 71 75 09 30 66 33 68 09 3b 69 6e 74 65 72 72 75 70 74 20 63 6f 6e 74 72 6f 6c   ┆icon equ 0f3h ;interrupt control┆
0x0b48c0…0b48e0             20 70 6f 72 74 0d 0a 69 6e 74 65 09 65 71 75 09 30 31 31 31 24 31 31 31 30 62 09 3b 65 6e 61 62   ┆ port  inte equ 0111$1110b ;enab┆
0x0b48e0…0b4900             6c 65 20 72 73 74 20 30 28 77 61 72 6d 20 62 6f 6f 74 29 2c 20 72 73 74 20 37 20 28 6d 6f 6e 69   ┆le rst 0(warm boot), rst 7 (moni┆
0x0b4900…0b4920             74 6f 72 29 0d 0a 3b 0d 0a 3b 09 6d 64 73 20 6d 6f 6e 69 74 6f 72 20 65 71 75 61 74 65 73 0d 0a   ┆tor)  ;  ; mds monitor equates  ┆
0x0b4920…0b4940             6d 6f 6e 38 30 09 65 71 75 09 30 66 38 30 30 68 09 3b 6d 64 73 20 6d 6f 6e 69 74 6f 72 0d 0a 72   ┆mon80 equ 0f800h ;mds monitor  r┆
0x0b4940…0b4960             6d 6f 6e 38 30 09 65 71 75 09 30 66 66 30 66 68 09 3b 72 65 73 74 61 72 74 20 6d 6f 6e 38 30 20   ┆mon80 equ 0ff0fh ;restart mon80 ┆
0x0b4960…0b4980             28 62 6f 6f 74 20 65 72 72 6f 72 29 0d 0a 63 69 09 65 71 75 09 30 66 38 30 33 68 09 3b 63 6f 6e   ┆(boot error)  ci equ 0f803h ;con┆
0x0b4980…0b49a0             73 6f 6c 65 20 63 68 61 72 61 63 74 65 72 20 74 6f 20 72 65 67 2d 61 0d 0a 72 69 09 65 71 75 09   ┆sole character to reg-a  ri equ ┆
0x0b49a0…0b49c0             30 66 38 30 36 68 09 3b 72 65 61 64 65 72 20 69 6e 20 74 6f 20 72 65 67 2d 61 0d 0a 63 6f 09 65   ┆0f806h ;reader in to reg-a  co e┆
0x0b49c0…0b49e0             71 75 09 30 66 38 30 39 68 09 3b 63 6f 6e 73 6f 6c 65 20 63 68 61 72 20 66 72 6f 6d 20 63 20 74   ┆qu 0f809h ;console char from c t┆
0x0b49e0…0b4a00             6f 20 63 6f 6e 73 6f 6c 65 20 6f 75 74 0d 0a 70 6f 09 65 71 75 09 30 66 38 30 63 68 09 3b 70 75   ┆o console out  po equ 0f80ch ;pu┆
0x0b4a00…0b4a20 (48, 0, 6)  73 74 61 72 74 20 72 65 61 64 69 6e 67 20 73 65 63 74 6f 72 20 32 0d 0a 09 63 61 6c 6c 09 73 65   ┆start reading sector 2   call se┆
0x0b4a20…0b4a40             74 73 65 63 0d 0a 3b 0d 0a 3b 09 72 65 61 64 20 73 65 63 74 6f 72 73 2c 20 63 6f 75 6e 74 20 6e   ┆tsec  ;  ; read sectors, count n┆
0x0b4a40…0b4a60             73 65 63 74 73 20 74 6f 20 7a 65 72 6f 0d 0a 09 70 6f 70 09 62 09 3b 31 30 2d 65 72 72 6f 72 20   ┆sects to zero   pop b ;10-error ┆
0x0b4a60…0b4a80             63 6f 75 6e 74 0d 0a 09 6d 76 69 09 62 2c 6e 73 65 63 74 73 0d 0a 72 64 73 65 63 3a 09 3b 72 65   ┆count   mvi b,nsects  rdsec: ;re┆
0x0b4a80…0b4aa0             61 64 20 6e 65 78 74 20 73 65 63 74 6f 72 0d 0a 09 70 75 73 68 09 62 09 3b 73 61 76 65 20 73 65   ┆ad next sector   push b ;save se┆
0x0b4aa0…0b4ac0             63 74 6f 72 20 63 6f 75 6e 74 0d 0a 09 63 61 6c 6c 09 72 65 61 64 0d 0a 09 6a 6e 7a 09 62 6f 6f   ┆ctor count   call read   jnz boo┆
0x0b4ac0…0b4ae0             74 65 72 72 09 3b 72 65 74 72 79 20 69 66 20 65 72 72 6f 72 73 20 6f 63 63 75 72 0d 0a 09 6c 68   ┆terr ;retry if errors occur   lh┆
0x0b4ae0…0b4b00             6c 64 09 69 6f 64 09 3b 69 6e 63 72 65 6d 65 6e 74 20 64 6d 61 20 61 64 64 72 65 73 73 0d 0a 09   ┆ld iod ;increment dma address   ┆
0x0b4b00…0b4b20             6c 78 69 09 64 2c 31 32 38 09 3b 73 65 63 74 6f 72 20 73 69 7a 65 0d 0a 09 64 61 64 09 64 09 3b   ┆lxi d,128 ;sector size   dad d ;┆
0x0b4b20…0b4b40             69 6e 63 72 65 6d 65 6e 74 65 64 20 64 6d 61 20 61 64 64 72 65 73 73 20 69 6e 20 68 6c 0d 0a 09   ┆incremented dma address in hl   ┆
0x0b4b40…0b4b60             6d 6f 76 09 62 2c 68 0d 0a 09 6d 6f 76 09 63 2c 6c 09 3b 72 65 61 64 79 20 66 6f 72 20 63 61 6c   ┆mov b,h   mov c,l ;ready for cal┆
0x0b4b60…0b4b80             6c 20 74 6f 20 73 65 74 20 64 6d 61 0d 0a 09 63 61 6c 6c 09 73 65 74 64 6d 61 0d 0a 09 6c 64 61   ┆l to set dma   call setdma   lda┆
0x0b4b80…0b4ba0             09 69 6f 73 09 3b 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 20 6a 75 73 74 20 72 65 61 64 0d 0a 09   ┆ ios ;sector number just read   ┆
0x0b4ba0…0b4bc0             63 70 69 09 32 36 09 3b 72 65 61 64 20 6c 61 73 74 20 73 65 63 74 6f 72 3f 0d 0a 09 6a 63 09 72   ┆cpi 26 ;read last sector?   jc r┆
0x0b4bc0…0b4be0             64 31 0d 0a 3b 09 6d 75 73 74 20 62 65 20 73 65 63 74 6f 72 20 32 36 2c 20 7a 65 72 6f 20 61 6e   ┆d1  ; must be sector 26, zero an┆
0x0b4be0…0b4c00             64 20 67 6f 20 74 6f 20 6e 65 78 74 20 74 72 61 63 6b 0d 0a 09 6c 64 61 09 69 6f 74 09 3b 67 65   ┆d go to next track   lda iot ;ge┆
0x0b4c00…0b4c20 (48, 0, 7)  74 0d 0a 3b 09 28 65 78 61 63 74 6c 79 20 74 68 65 20 73 61 6d 65 20 61 73 20 6d 64 73 20 63 61   ┆t  ; (exactly the same as mds ca┆
0x0b4c20…0b4c40             6c 6c 29 0d 0a 09 6a 6d 70 09 6c 6f 0d 0a 3b 0d 0a 6c 69 73 74 73 74 3a 0d 0a 09 3b 72 65 74 75   ┆ll)   jmp lo  ;  listst:   ;retu┆
0x0b4c40…0b4c60             72 6e 20 6c 69 73 74 20 73 74 61 74 75 73 0d 0a 09 78 72 61 09 61 0d 0a 09 72 65 74 09 09 3b 61   ┆rn list status   xra a   ret  ;a┆
0x0b4c60…0b4c80             6c 77 61 79 73 20 6e 6f 74 20 72 65 61 64 79 0d 0a 3b 0d 0a 70 75 6e 63 68 3a 09 3b 70 75 6e 63   ┆lways not ready  ;  punch: ;punc┆
0x0b4c80…0b4ca0             68 20 64 65 76 69 63 65 20 6f 75 74 0d 0a 3b 09 28 65 78 61 63 74 6c 79 20 74 68 65 20 73 61 6d   ┆h device out  ; (exactly the sam┆
0x0b4ca0…0b4cc0             65 20 61 73 20 6d 64 73 20 63 61 6c 6c 29 0d 0a 09 6a 6d 70 09 70 6f 0d 0a 3b 0d 0a 72 65 61 64   ┆e as mds call)   jmp po  ;  read┆
0x0b4cc0…0b4ce0             65 72 3a 09 3b 72 65 61 64 65 72 20 63 68 61 72 61 63 74 65 72 20 69 6e 20 74 6f 20 72 65 67 2d   ┆er: ;reader character in to reg-┆
0x0b4ce0…0b4d00             61 0d 0a 3b 09 28 65 78 61 63 74 6c 79 20 74 68 65 20 73 61 6d 65 20 61 73 20 6d 64 73 20 63 61   ┆a  ; (exactly the same as mds ca┆
0x0b4d00…0b4d20             6c 6c 29 0d 0a 09 6a 6d 70 09 72 69 0d 0a 3b 0d 0a 68 6f 6d 65 3a 09 3b 6d 6f 76 65 20 74 6f 20   ┆ll)   jmp ri  ;  home: ;move to ┆
0x0b4d20…0b4d40             68 6f 6d 65 20 70 6f 73 69 74 69 6f 6e 0d 0a 3b 09 74 72 65 61 74 20 61 73 20 74 72 61 63 6b 20   ┆home position  ; treat as track ┆
0x0b4d40…0b4d60             30 30 20 73 65 65 6b 0d 0a 09 6d 76 69 09 63 2c 30 0d 0a 09 6a 6d 70 09 73 65 74 74 72 6b 0d 0a   ┆00 seek   mvi c,0   jmp settrk  ┆
0x0b4d60…0b4d80             3b 0d 0a 73 65 6c 64 73 6b 3a 09 3b 73 65 6c 65 63 74 20 64 69 73 6b 20 67 69 76 65 6e 20 62 79   ┆;  seldsk: ;select disk given by┆
0x0b4d80…0b4da0             20 72 65 67 69 73 74 65 72 20 63 0d 0a 09 6c 78 69 09 68 2c 30 30 30 30 68 09 3b 72 65 74 75 72   ┆ register c   lxi h,0000h ;retur┆
0x0b4da0…0b4dc0             6e 20 30 30 30 30 20 69 66 20 65 72 72 6f 72 0d 0a 09 6d 6f 76 09 61 2c 63 0d 0a 09 63 70 69 09   ┆n 0000 if error   mov a,c   cpi ┆
0x0b4dc0…0b4de0             6e 64 69 73 6b 73 09 3b 74 6f 6f 20 6c 61 72 67 65 3f 0d 0a 09 72 6e 63 09 09 3b 6c 65 61 76 65   ┆ndisks ;too large?   rnc  ;leave┆
0x0b4de0…0b4e00             20 48 4c 20 3d 20 30 30 30 30 0d 0a 3b 0d 0a 09 61 6e 69 09 31 30 62 09 3b 30 30 20 30 30 20 66   ┆ HL = 0000  ;   ani 10b ;00 00 f┆
0x0b4e00…0b4e20 (48, 0, 8)  6e 63 74 69 6f 6e 20 66 6f 72 20 6e 65 78 74 20 69 2f 6f 20 28 63 6f 6d 6d 61 6e 64 20 69 6e 20   ┆nction for next i/o (command in ┆
0x0b4e20…0b4e40             72 65 67 2d 63 29 0d 0a 09 6c 78 69 09 68 2c 69 6f 66 09 3b 69 6f 20 66 75 6e 63 74 69 6f 6e 20   ┆reg-c)   lxi h,iof ;io function ┆
0x0b4e40…0b4e60             61 64 64 72 65 73 73 0d 0a 09 6d 6f 76 09 61 2c 6d 09 3b 67 65 74 20 69 74 20 74 6f 20 61 63 63   ┆address   mov a,m ;get it to acc┆
0x0b4e60…0b4e80             75 6d 75 6c 61 74 6f 72 20 66 6f 72 20 6d 61 73 6b 69 6e 67 0d 0a 09 61 6e 69 09 31 31 31 31 31   ┆umulator for masking   ani 11111┆
0x0b4e80…0b4ea0             30 30 30 62 09 3b 72 65 6d 6f 76 65 20 70 72 65 76 69 6f 75 73 20 63 6f 6d 6d 61 6e 64 0d 0a 09   ┆000b ;remove previous command   ┆
0x0b4ea0…0b4ec0             6f 72 61 09 63 09 3b 73 65 74 20 74 6f 20 6e 65 77 20 63 6f 6d 6d 61 6e 64 0d 0a 09 6d 6f 76 09   ┆ora c ;set to new command   mov ┆
0x0b4ec0…0b4ee0             6d 2c 61 09 3b 72 65 70 6c 61 63 65 64 20 69 6e 20 69 6f 70 62 0d 0a 3b 09 74 68 65 20 6d 64 73   ┆m,a ;replaced in iopb  ; the mds┆
0x0b4ee0…0b4f00             2d 38 30 30 20 63 6f 6e 74 72 6f 6c 6c 65 72 20 72 65 71 75 69 72 65 73 20 64 69 73 6b 20 62 61   ┆-800 controller requires disk ba┆
0x0b4f00…0b4f20             6e 6b 20 62 69 74 20 69 6e 20 73 65 63 74 6f 72 20 62 79 74 65 0d 0a 3b 09 6d 61 73 6b 20 74 68   ┆nk bit in sector byte  ; mask th┆
0x0b4f20…0b4f40             65 20 62 69 74 20 66 72 6f 6d 20 74 68 65 20 63 75 72 72 65 6e 74 20 69 2f 6f 20 66 75 6e 63 74   ┆e bit from the current i/o funct┆
0x0b4f40…0b4f60             69 6f 6e 0d 0a 09 61 6e 69 09 30 30 31 30 30 30 30 30 62 09 3b 6d 61 73 6b 20 74 68 65 20 64 69   ┆ion   ani 00100000b ;mask the di┆
0x0b4f60…0b4f80             73 6b 20 73 65 6c 65 63 74 20 62 69 74 0d 0a 09 6c 78 69 09 68 2c 69 6f 73 09 09 3b 61 64 64 72   ┆sk select bit   lxi h,ios  ;addr┆
0x0b4f80…0b4fa0             65 73 73 20 74 68 65 20 73 65 63 74 6f 72 20 73 65 6c 65 63 74 20 62 79 74 65 0d 0a 09 6f 72 61   ┆ess the sector select byte   ora┆
0x0b4fa0…0b4fc0             09 6d 09 09 3b 73 65 6c 65 63 74 20 70 72 6f 70 65 72 20 64 69 73 6b 20 62 61 6e 6b 0d 0a 09 6d   ┆ m  ;select proper disk bank   m┆
0x0b4fc0…0b4fe0             6f 76 09 6d 2c 61 09 09 3b 73 65 74 20 64 69 73 6b 20 73 65 6c 65 63 74 20 62 69 74 20 6f 6e 2f   ┆ov m,a  ;set disk select bit on/┆
0x0b4fe0…0b5000             6f 66 66 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 77 61 69 74 69 6f 3a 0d 0a 09 6d 76 69 09 63 2c 72 65   ┆off   ret  ;  waitio:   mvi c,re┆
0x0b5000…0b5020 (48, 0, 9)  6e 63 68 20 63 68 61 72 20 66 72 6f 6d 20 63 20 74 6f 20 70 75 6e 63 68 20 64 65 76 69 63 65 0d   ┆nch char from c to punch device ┆
0x0b5020…0b5040             0a 6c 6f 09 65 71 75 09 30 66 38 30 66 68 09 3b 6c 69 73 74 20 66 72 6f 6d 20 63 20 74 6f 20 6c   ┆ lo equ 0f80fh ;list from c to l┆
0x0b5040…0b5060             69 73 74 20 64 65 76 69 63 65 0d 0a 63 73 74 73 09 65 71 75 09 30 66 38 31 32 68 09 3b 63 6f 6e   ┆ist device  csts equ 0f812h ;con┆
0x0b5060…0b5080             73 6f 6c 65 20 73 74 61 74 75 73 20 30 30 2f 66 66 20 74 6f 20 72 65 67 69 73 74 65 72 20 61 0d   ┆sole status 00/ff to register a ┆
0x0b5080…0b50a0             0a 3b 0d 0a 3b 09 64 69 73 6b 20 70 6f 72 74 73 20 61 6e 64 20 63 6f 6d 6d 61 6e 64 73 0d 0a 62   ┆ ;  ; disk ports and commands  b┆
0x0b50a0…0b50c0             61 73 65 09 65 71 75 09 37 38 68 09 3b 62 61 73 65 20 6f 66 20 64 69 73 6b 20 63 6f 6d 6d 61 6e   ┆ase equ 78h ;base of disk comman┆
0x0b50c0…0b50e0             64 20 69 6f 20 70 6f 72 74 73 0d 0a 64 73 74 61 74 09 65 71 75 09 62 61 73 65 09 3b 64 69 73 6b   ┆d io ports  dstat equ base ;disk┆
0x0b50e0…0b5100             20 73 74 61 74 75 73 20 28 69 6e 70 75 74 29 0d 0a 72 74 79 70 65 09 65 71 75 09 62 61 73 65 2b   ┆ status (input)  rtype equ base+┆
0x0b5100…0b5120             31 09 3b 72 65 73 75 6c 74 20 74 79 70 65 20 28 69 6e 70 75 74 29 0d 0a 72 62 79 74 65 09 65 71   ┆1 ;result type (input)  rbyte eq┆
0x0b5120…0b5140             75 09 62 61 73 65 2b 33 09 3b 72 65 73 75 6c 74 20 62 79 74 65 20 28 69 6e 70 75 74 29 0d 0a 3b   ┆u base+3 ;result byte (input)  ;┆
0x0b5140…0b5160             0d 0a 69 6c 6f 77 09 65 71 75 09 62 61 73 65 2b 31 09 3b 69 6f 70 62 20 6c 6f 77 20 61 64 64 72   ┆  ilow equ base+1 ;iopb low addr┆
0x0b5160…0b5180             65 73 73 20 28 6f 75 74 70 75 74 29 0d 0a 69 68 69 67 68 09 65 71 75 09 62 61 73 65 2b 32 09 3b   ┆ess (output)  ihigh equ base+2 ;┆
0x0b5180…0b51a0             69 6f 70 62 20 68 69 67 68 20 61 64 64 72 65 73 73 20 28 6f 75 74 70 75 74 29 0d 0a 3b 0d 0a 72   ┆iopb high address (output)  ;  r┆
0x0b51a0…0b51c0             65 61 64 66 09 65 71 75 09 34 68 09 3b 72 65 61 64 20 66 75 6e 63 74 69 6f 6e 0d 0a 77 72 69 74   ┆eadf equ 4h ;read function  writ┆
0x0b51c0…0b51e0             66 09 65 71 75 09 36 68 09 3b 77 72 69 74 65 20 66 75 6e 63 74 69 6f 6e 0d 0a 72 65 63 61 6c 09   ┆f equ 6h ;write function  recal ┆
0x0b51e0…0b5200             65 71 75 09 33 68 09 3b 72 65 63 61 6c 69 62 72 61 74 65 20 64 72 69 76 65 0d 0a 69 6f 72 64 79   ┆equ 3h ;recalibrate drive  iordy┆
0x0b5200…0b5220 (48, 0, 10) 74 20 74 72 61 63 6b 20 74 6f 20 72 65 67 69 73 74 65 72 20 61 0d 0a 09 69 6e 72 09 61 0d 0a 09   ┆t track to register a   inr a   ┆
0x0b5220…0b5240             6d 6f 76 09 63 2c 61 09 3b 72 65 61 64 79 20 66 6f 72 20 63 61 6c 6c 0d 0a 09 63 61 6c 6c 09 73   ┆mov c,a ;ready for call   call s┆
0x0b5240…0b5260             65 74 74 72 6b 0d 0a 09 78 72 61 09 61 09 3b 63 6c 65 61 72 20 73 65 63 74 6f 72 20 6e 75 6d 62   ┆ettrk   xra a ;clear sector numb┆
0x0b5260…0b5280             65 72 0d 0a 72 64 31 3a 09 69 6e 72 09 61 09 3b 74 6f 20 6e 65 78 74 20 73 65 63 74 6f 72 0d 0a   ┆er  rd1: inr a ;to next sector  ┆
0x0b5280…0b52a0             09 6d 6f 76 09 63 2c 61 09 3b 72 65 61 64 79 20 66 6f 72 20 63 61 6c 6c 0d 0a 09 63 61 6c 6c 09   ┆ mov c,a ;ready for call   call ┆
0x0b52a0…0b52c0             73 65 74 73 65 63 0d 0a 09 70 6f 70 09 62 09 3b 72 65 63 61 6c 6c 20 73 65 63 74 6f 72 20 63 6f   ┆setsec   pop b ;recall sector co┆
0x0b52c0…0b52e0             75 6e 74 0d 0a 09 64 63 72 09 62 09 3b 64 6f 6e 65 3f 0d 0a 09 6a 6e 7a 09 72 64 73 65 63 0d 0a   ┆unt   dcr b ;done?   jnz rdsec  ┆
0x0b52e0…0b5300             3b 0d 0a 3b 09 64 6f 6e 65 20 77 69 74 68 20 74 68 65 20 6c 6f 61 64 2c 20 72 65 73 65 74 20 64   ┆;  ; done with the load, reset d┆
0x0b5300…0b5320             65 66 61 75 6c 74 20 62 75 66 66 65 72 20 61 64 64 72 65 73 73 0d 0a 67 6f 63 70 6d 3a 09 3b 28   ┆efault buffer address  gocpm: ;(┆
0x0b5320…0b5340             65 6e 74 65 72 20 68 65 72 65 20 66 72 6f 6d 20 63 6f 6c 64 20 73 74 61 72 74 20 62 6f 6f 74 29   ┆enter here from cold start boot)┆
0x0b5340…0b5360             0d 0a 3b 09 65 6e 61 62 6c 65 20 72 73 74 30 20 61 6e 64 20 72 73 74 37 0d 0a 09 64 69 0d 0a 09   ┆  ; enable rst0 and rst7   di   ┆
0x0b5360…0b5380             6d 76 69 09 61 2c 31 32 68 09 3b 69 6e 69 74 69 61 6c 69 7a 65 20 63 6f 6d 6d 61 6e 64 0d 0a 09   ┆mvi a,12h ;initialize command   ┆
0x0b5380…0b53a0             6f 75 74 09 72 65 76 72 74 0d 0a 09 78 72 61 09 61 0d 0a 09 6f 75 74 09 69 6e 74 63 09 3b 63 6c   ┆out revrt   xra a   out intc ;cl┆
0x0b53a0…0b53c0             65 61 72 65 64 0d 0a 09 6d 76 69 09 61 2c 69 6e 74 65 09 3b 72 73 74 30 20 61 6e 64 20 72 73 74   ┆eared   mvi a,inte ;rst0 and rst┆
0x0b53c0…0b53e0             37 20 62 69 74 73 20 6f 6e 0d 0a 09 6f 75 74 09 69 6e 74 63 0d 0a 09 78 72 61 09 61 0d 0a 09 6f   ┆7 bits on   out intc   xra a   o┆
0x0b53e0…0b5400             75 74 09 69 63 6f 6e 09 3b 69 6e 74 65 72 72 75 70 74 20 63 6f 6e 74 72 6f 6c 0d 0a 3b 0d 0a 3b   ┆ut icon ;interrupt control  ;  ;┆
0x0b5400…0b5420 (48, 0, 11) 6f 72 20 64 72 69 76 65 20 30 2c 31 20 61 6e 64 20 31 30 20 31 30 20 66 6f 72 20 64 72 69 76 65   ┆or drive 0,1 and 10 10 for drive┆
0x0b5420…0b5440             20 32 2c 33 0d 0a 09 73 74 61 09 64 62 61 6e 6b 09 3b 74 6f 20 73 65 6c 65 63 74 20 64 72 69 76   ┆ 2,3   sta dbank ;to select driv┆
0x0b5440…0b5460             65 20 62 61 6e 6b 0d 0a 09 6d 6f 76 09 61 2c 63 09 3b 30 30 2c 20 30 31 2c 20 31 30 2c 20 31 31   ┆e bank   mov a,c ;00, 01, 10, 11┆
0x0b5460…0b5480             0d 0a 09 61 6e 69 09 31 62 09 3b 6d 64 73 20 68 61 73 20 30 2c 31 20 61 74 20 37 38 2c 20 32 2c   ┆   ani 1b ;mds has 0,1 at 78, 2,┆
0x0b5480…0b54a0             33 20 61 74 20 38 38 0d 0a 09 6f 72 61 09 61 09 3b 72 65 73 75 6c 74 20 30 30 3f 0d 0a 09 6a 7a   ┆3 at 88   ora a ;result 00?   jz┆
0x0b54a0…0b54c0             09 73 65 74 64 72 69 76 65 0d 0a 09 6d 76 69 09 61 2c 30 30 31 31 30 30 30 30 62 09 3b 73 65 6c   ┆ setdrive   mvi a,00110000b ;sel┆
0x0b54c0…0b54e0             65 63 74 73 20 64 72 69 76 65 20 31 20 69 6e 20 62 61 6e 6b 0d 0a 73 65 74 64 72 69 76 65 3a 0d   ┆ects drive 1 in bank  setdrive: ┆
0x0b54e0…0b5500             0a 09 6d 6f 76 09 62 2c 61 09 3b 73 61 76 65 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 6c   ┆  mov b,a ;save the function   l┆
0x0b5500…0b5520             78 69 09 68 2c 69 6f 66 09 3b 69 6f 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 6d 6f 76 09 61 2c 6d 0d   ┆xi h,iof ;io function   mov a,m ┆
0x0b5520…0b5540             0a 09 61 6e 69 09 31 31 30 30 31 31 31 31 62 09 3b 6d 61 73 6b 20 6f 75 74 20 64 69 73 6b 20 6e   ┆  ani 11001111b ;mask out disk n┆
0x0b5540…0b5560             75 6d 62 65 72 0d 0a 09 6f 72 61 09 62 09 3b 6d 61 73 6b 20 69 6e 20 6e 65 77 20 64 69 73 6b 20   ┆umber   ora b ;mask in new disk ┆
0x0b5560…0b5580             6e 75 6d 62 65 72 0d 0a 09 6d 6f 76 09 6d 2c 61 09 3b 73 61 76 65 20 69 74 20 69 6e 20 69 6f 70   ┆number   mov m,a ;save it in iop┆
0x0b5580…0b55a0             62 0d 0a 09 6d 6f 76 09 6c 2c 63 0d 0a 09 6d 76 69 09 68 2c 30 09 3b 48 4c 3d 64 69 73 6b 20 6e   ┆b   mov l,c   mvi h,0 ;HL=disk n┆
0x0b55a0…0b55c0             75 6d 62 65 72 0d 0a 09 64 61 64 09 68 09 3b 2a 32 0d 0a 09 64 61 64 09 68 09 3b 2a 34 0d 0a 09   ┆umber   dad h ;*2   dad h ;*4   ┆
0x0b55c0…0b55e0             64 61 64 09 68 09 3b 2a 38 0d 0a 09 64 61 64 09 68 09 3b 2a 31 36 0d 0a 09 6c 78 69 09 64 2c 64   ┆dad h ;*8   dad h ;*16   lxi d,d┆
0x0b55e0…0b5600             70 62 61 73 65 0d 0a 09 64 61 64 09 64 09 3b 48 4c 3d 64 69 73 6b 20 68 65 61 64 65 72 20 74 61   ┆pbase   dad d ;HL=disk header ta┆
0x0b5600…0b5620 (48, 0, 12) 74 72 79 09 3b 6d 61 78 20 72 65 74 72 69 65 73 20 62 65 66 6f 72 65 20 70 65 72 6d 20 65 72 72   ┆try ;max retries before perm err┆
0x0b5620…0b5640             6f 72 0d 0a 72 65 77 61 69 74 3a 0d 0a 3b 09 73 74 61 72 74 20 74 68 65 20 69 2f 6f 20 66 75 6e   ┆or  rewait:  ; start the i/o fun┆
0x0b5640…0b5660             63 74 69 6f 6e 20 61 6e 64 20 77 61 69 74 20 66 6f 72 20 63 6f 6d 70 6c 65 74 69 6f 6e 0d 0a 09   ┆ction and wait for completion   ┆
0x0b5660…0b5680             63 61 6c 6c 09 69 6e 74 79 70 65 09 3b 69 6e 20 72 74 79 70 65 0d 0a 09 63 61 6c 6c 09 69 6e 62   ┆call intype ;in rtype   call inb┆
0x0b5680…0b56a0             79 74 65 09 3b 63 6c 65 61 72 73 20 74 68 65 20 63 6f 6e 74 72 6f 6c 6c 65 72 0d 0a 3b 0d 0a 09   ┆yte ;clears the controller  ;   ┆
0x0b56a0…0b56c0             6c 64 61 09 64 62 61 6e 6b 09 09 3b 73 65 74 20 62 61 6e 6b 20 66 6c 61 67 73 0d 0a 09 6f 72 61   ┆lda dbank  ;set bank flags   ora┆
0x0b56c0…0b56e0             09 61 09 09 3b 7a 65 72 6f 20 69 66 20 64 72 69 76 65 20 30 2c 31 20 61 6e 64 20 6e 7a 20 69 66   ┆ a  ;zero if drive 0,1 and nz if┆
0x0b56e0…0b5700             20 32 2c 33 0d 0a 09 6d 76 69 09 61 2c 69 6f 70 62 20 61 6e 64 20 30 66 66 68 09 3b 6c 6f 77 20   ┆ 2,3   mvi a,iopb and 0ffh ;low ┆
0x0b5700…0b5720             61 64 64 72 65 73 73 20 66 6f 72 20 69 6f 70 62 0d 0a 09 6d 76 69 09 62 2c 69 6f 70 62 20 73 68   ┆address for iopb   mvi b,iopb sh┆
0x0b5720…0b5740             72 20 38 09 3b 68 69 67 68 20 61 64 64 72 65 73 73 20 66 6f 72 20 69 6f 70 62 0d 0a 09 6a 6e 7a   ┆r 8 ;high address for iopb   jnz┆
0x0b5740…0b5760             09 69 6f 64 72 31 09 3b 64 72 69 76 65 20 62 61 6e 6b 20 31 3f 0d 0a 09 6f 75 74 09 69 6c 6f 77   ┆ iodr1 ;drive bank 1?   out ilow┆
0x0b5760…0b5780             09 09 3b 6c 6f 77 20 61 64 64 72 65 73 73 20 74 6f 20 63 6f 6e 74 72 6f 6c 6c 65 72 0d 0a 09 6d   ┆  ;low address to controller   m┆
0x0b5780…0b57a0             6f 76 09 61 2c 62 0d 0a 09 6f 75 74 09 69 68 69 67 68 09 3b 68 69 67 68 20 61 64 64 72 65 73 73   ┆ov a,b   out ihigh ;high address┆
0x0b57a0…0b57c0             0d 0a 09 6a 6d 70 09 77 61 69 74 30 09 09 3b 74 6f 20 77 61 69 74 20 66 6f 72 20 63 6f 6d 70 6c   ┆   jmp wait0  ;to wait for compl┆
0x0b57c0…0b57e0             65 74 65 0d 0a 3b 0d 0a 69 6f 64 72 31 3a 09 3b 64 72 69 76 65 20 62 61 6e 6b 20 31 0d 0a 09 6f   ┆ete  ;  iodr1: ;drive bank 1   o┆
0x0b57e0…0b5800             75 74 09 69 6c 6f 77 2b 31 30 68 09 3b 38 38 20 66 6f 72 20 64 72 69 76 65 20 62 61 6e 6b 20 31   ┆ut ilow+10h ;88 for drive bank 1┆
0x0b5800…0b5820 (48, 0, 13) 09 65 71 75 09 34 68 09 3b 69 2f 6f 20 66 69 6e 69 73 68 65 64 20 6d 61 73 6b 0d 0a 63 72 09 65   ┆ equ 4h ;i/o finished mask  cr e┆
0x0b5820…0b5840             71 75 09 30 64 68 09 3b 63 61 72 72 69 61 67 65 20 72 65 74 75 72 6e 0d 0a 6c 66 09 65 71 75 09   ┆qu 0dh ;carriage return  lf equ ┆
0x0b5840…0b5860             30 61 68 09 3b 6c 69 6e 65 20 66 65 65 64 0d 0a 3b 0d 0a 73 69 67 6e 6f 6e 3a 09 3b 73 69 67 6e   ┆0ah ;line feed  ;  signon: ;sign┆
0x0b5860…0b5880             6f 6e 20 6d 65 73 73 61 67 65 3a 20 78 78 6b 20 63 70 2f 6d 20 76 65 72 73 20 79 2e 79 0d 0a 09   ┆on message: xxk cp/m vers y.y   ┆
0x0b5880…0b58a0             64 62 09 63 72 2c 6c 66 2c 6c 66 0d 0a 09 69 66 09 74 65 73 74 0d 0a 09 64 62 09 27 33 32 27 09   ┆db cr,lf,lf   if test   db '32' ┆
0x0b58a0…0b58c0             3b 33 32 6b 20 65 78 61 6d 70 6c 65 20 62 69 6f 73 0d 0a 09 65 6e 64 69 66 0d 0a 09 69 66 09 6e   ┆;32k example bios   endif   if n┆
0x0b58c0…0b58e0             6f 74 20 74 65 73 74 0d 0a 09 64 62 09 27 30 30 27 09 3b 6d 65 6d 6f 72 79 20 73 69 7a 65 20 66   ┆ot test   db '00' ;memory size f┆
0x0b58e0…0b5900             69 6c 6c 65 64 20 62 79 20 72 65 6c 6f 63 61 74 6f 72 0d 0a 09 65 6e 64 69 66 0d 0a 09 64 62 09   ┆illed by relocator   endif   db ┆
0x0b5900…0b5920             27 6b 20 43 50 2f 4d 20 76 65 72 73 20 27 0d 0a 09 64 62 09 76 65 72 73 2f 31 30 2b 27 30 27 2c   ┆'k CP/M vers '   db vers/10+'0',┆
0x0b5920…0b5940             27 2e 27 2c 76 65 72 73 20 6d 6f 64 20 31 30 2b 27 30 27 0d 0a 09 64 62 09 63 72 2c 6c 66 2c 30   ┆'.',vers mod 10+'0'   db cr,lf,0┆
0x0b5940…0b5960             0d 0a 3b 0d 0a 62 6f 6f 74 3a 09 3b 70 72 69 6e 74 20 73 69 67 6e 6f 6e 20 6d 65 73 73 61 67 65   ┆  ;  boot: ;print signon message┆
0x0b5960…0b5980             20 61 6e 64 20 67 6f 20 74 6f 20 63 63 70 0d 0a 3b 09 28 6e 6f 74 65 3a 20 6d 64 73 20 62 6f 6f   ┆ and go to ccp  ; (note: mds boo┆
0x0b5980…0b59a0             74 20 69 6e 69 74 69 61 6c 69 7a 65 64 20 69 6f 62 79 74 65 20 61 74 20 30 30 30 33 68 29 0d 0a   ┆t initialized iobyte at 0003h)  ┆
0x0b59a0…0b59c0             09 6c 78 69 09 73 70 2c 62 75 66 66 2b 38 30 68 0d 0a 09 6c 78 69 09 68 2c 73 69 67 6e 6f 6e 0d   ┆ lxi sp,buff+80h   lxi h,signon ┆
0x0b59c0…0b59e0             0a 09 63 61 6c 6c 09 70 72 6d 73 67 09 3b 70 72 69 6e 74 20 6d 65 73 73 61 67 65 0d 0a 09 78 72   ┆  call prmsg ;print message   xr┆
0x0b59e0…0b5a00             61 09 61 09 3b 63 6c 65 61 72 20 61 63 63 75 6d 75 6c 61 74 6f 72 0d 0a 09 73 74 61 09 63 64 69   ┆a a ;clear accumulator   sta cdi┆
0x0b5a00…0b5a20 (48, 0, 14) 09 73 65 74 20 64 65 66 61 75 6c 74 20 62 75 66 66 65 72 20 61 64 64 72 65 73 73 20 74 6f 20 38   ┆ set default buffer address to 8┆
0x0b5a20…0b5a40             30 68 0d 0a 09 6c 78 69 09 62 2c 62 75 66 66 0d 0a 09 63 61 6c 6c 09 73 65 74 64 6d 61 0d 0a 3b   ┆0h   lxi b,buff   call setdma  ;┆
0x0b5a40…0b5a60             0d 0a 3b 09 72 65 73 65 74 20 6d 6f 6e 69 74 6f 72 20 65 6e 74 72 79 20 70 6f 69 6e 74 73 0d 0a   ┆  ; reset monitor entry points  ┆
0x0b5a60…0b5a80             09 6d 76 69 09 61 2c 6a 6d 70 0d 0a 09 73 74 61 09 30 0d 0a 09 6c 78 69 09 68 2c 77 62 6f 6f 74   ┆ mvi a,jmp   sta 0   lxi h,wboot┆
0x0b5a80…0b5aa0             65 0d 0a 09 73 68 6c 64 09 31 09 3b 6a 6d 70 20 77 62 6f 6f 74 20 61 74 20 6c 6f 63 61 74 69 6f   ┆e   shld 1 ;jmp wboot at locatio┆
0x0b5aa0…0b5ac0             6e 20 30 30 0d 0a 09 73 74 61 09 35 0d 0a 09 6c 78 69 09 68 2c 62 64 6f 73 0d 0a 09 73 68 6c 64   ┆n 00   sta 5   lxi h,bdos   shld┆
0x0b5ac0…0b5ae0             09 36 09 3b 6a 6d 70 20 62 64 6f 73 20 61 74 20 6c 6f 63 61 74 69 6f 6e 20 35 0d 0a 09 69 66 09   ┆ 6 ;jmp bdos at location 5   if ┆
0x0b5ae0…0b5b00             6e 6f 74 20 74 65 73 74 0d 0a 09 73 74 61 09 37 2a 38 09 3b 6a 6d 70 20 74 6f 20 6d 6f 6e 38 30   ┆not test   sta 7*8 ;jmp to mon80┆
0x0b5b00…0b5b20             20 28 6d 61 79 20 68 61 76 65 20 62 65 65 6e 20 63 68 61 6e 67 65 64 20 62 79 20 64 64 74 29 0d   ┆ (may have been changed by ddt) ┆
0x0b5b20…0b5b40             0a 09 6c 78 69 09 68 2c 6d 6f 6e 38 30 0d 0a 09 73 68 6c 64 09 37 2a 38 2b 31 0d 0a 09 65 6e 64   ┆  lxi h,mon80   shld 7*8+1   end┆
0x0b5b40…0b5b60             69 66 0d 0a 3b 09 6c 65 61 76 65 20 69 6f 62 79 74 65 20 73 65 74 0d 0a 3b 09 70 72 65 76 69 6f   ┆if  ; leave iobyte set  ; previo┆
0x0b5b60…0b5b80             75 73 6c 79 20 73 65 6c 65 63 74 65 64 20 64 69 73 6b 20 77 61 73 20 62 2c 20 73 65 6e 64 20 70   ┆usly selected disk was b, send p┆
0x0b5b80…0b5ba0             61 72 61 6d 65 74 65 72 20 74 6f 20 63 70 6d 0d 0a 09 6c 64 61 09 63 64 69 73 6b 09 3b 6c 61 73   ┆arameter to cpm   lda cdisk ;las┆
0x0b5ba0…0b5bc0             74 20 6c 6f 67 67 65 64 20 64 69 73 6b 20 6e 75 6d 62 65 72 0d 0a 09 6d 6f 76 09 63 2c 61 09 3b   ┆t logged disk number   mov c,a ;┆
0x0b5bc0…0b5be0             73 65 6e 64 20 74 6f 20 63 63 70 20 74 6f 20 6c 6f 67 20 69 74 20 69 6e 0d 0a 09 65 69 0d 0a 09   ┆send to ccp to log it in   ei   ┆
0x0b5be0…0b5c00             6a 6d 70 09 63 70 6d 62 0d 0a 3b 0d 0a 3b 09 65 72 72 6f 72 20 63 6f 6e 64 69 74 69 6f 6e 20 6f   ┆jmp cpmb  ;  ; error condition o┆
0x0b5c00…0b5c20 (48, 0, 15) 62 6c 65 20 61 64 64 72 65 73 73 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 3b 0d 0a 73 65 74 74 72 6b 3a   ┆ble address   ret  ;  ;  settrk:┆
0x0b5c20…0b5c40             09 3b 73 65 74 20 74 72 61 63 6b 20 61 64 64 72 65 73 73 20 67 69 76 65 6e 20 62 79 20 63 0d 0a   ┆ ;set track address given by c  ┆
0x0b5c40…0b5c60             09 6c 78 69 09 68 2c 69 6f 74 0d 0a 09 6d 6f 76 09 6d 2c 63 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 73   ┆ lxi h,iot   mov m,c   ret  ;  s┆
0x0b5c60…0b5c80             65 74 73 65 63 3a 09 3b 73 65 74 20 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 20 67 69 76 65 6e 20   ┆etsec: ;set sector number given ┆
0x0b5c80…0b5ca0             62 79 20 63 0d 0a 09 6c 78 69 09 68 2c 69 6f 73 0d 0a 09 6d 6f 76 09 6d 2c 63 0d 0a 09 72 65 74   ┆by c   lxi h,ios   mov m,c   ret┆
0x0b5ca0…0b5cc0             0d 0a 73 65 63 74 72 61 6e 3a 0d 0a 09 09 3b 74 72 61 6e 73 6c 61 74 65 20 73 65 63 74 6f 72 20   ┆  sectran:    ;translate sector ┆
0x0b5cc0…0b5ce0             62 63 20 75 73 69 6e 67 20 74 61 62 6c 65 20 61 74 20 64 65 0d 0a 09 6d 76 69 09 62 2c 30 09 3b   ┆bc using table at de   mvi b,0 ;┆
0x0b5ce0…0b5d00             64 6f 75 62 6c 65 20 70 72 65 63 69 73 69 6f 6e 20 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 20 69   ┆double precision sector number i┆
0x0b5d00…0b5d20             6e 20 42 43 0d 0a 09 78 63 68 67 09 09 3b 74 72 61 6e 73 6c 61 74 65 20 74 61 62 6c 65 20 61 64   ┆n BC   xchg  ;translate table ad┆
0x0b5d20…0b5d40             64 72 65 73 73 20 74 6f 20 48 4c 0d 0a 09 64 61 64 09 62 09 3b 74 72 61 6e 73 6c 61 74 65 28 73   ┆dress to HL   dad b ;translate(s┆
0x0b5d40…0b5d60             65 63 74 6f 72 29 20 61 64 64 72 65 73 73 0d 0a 09 6d 6f 76 09 61 2c 6d 09 3b 74 72 61 6e 73 6c   ┆ector) address   mov a,m ;transl┆
0x0b5d60…0b5d80             61 74 65 64 20 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 20 74 6f 20 41 0d 0a 09 73 74 61 09 69 6f   ┆ated sector number to A   sta io┆
0x0b5d80…0b5da0             73 0d 0a 09 6d 6f 76 09 6c 2c 61 09 3b 72 65 74 75 72 6e 20 73 65 63 74 6f 72 20 6e 75 6d 62 65   ┆s   mov l,a ;return sector numbe┆
0x0b5da0…0b5dc0             72 20 69 6e 20 4c 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 73 65 74 64 6d 61 3a 09 3b 73 65 74 20 64 6d   ┆r in L   ret  ;  setdma: ;set dm┆
0x0b5dc0…0b5de0             61 20 61 64 64 72 65 73 73 20 67 69 76 65 6e 20 62 79 20 72 65 67 73 20 62 2c 63 0d 0a 09 6d 6f   ┆a address given by regs b,c   mo┆
0x0b5de0…0b5e00             76 09 6c 2c 63 0d 0a 09 6d 6f 76 09 68 2c 62 0d 0a 09 73 68 6c 64 09 69 6f 64 0d 0a 09 72 65 74   ┆v l,c   mov h,b   shld iod   ret┆
0x0b5e00…0b5e20 (48, 1, 1)  30 0d 0a 09 6d 6f 76 09 61 2c 62 0d 0a 09 6f 75 74 09 69 68 69 67 68 2b 31 30 68 0d 0a 3b 0d 0a   ┆0   mov a,b   out ihigh+10h  ;  ┆
0x0b5e20…0b5e40             77 61 69 74 30 3a 09 63 61 6c 6c 09 69 6e 73 74 61 74 09 09 3b 77 61 69 74 20 66 6f 72 20 63 6f   ┆wait0: call instat  ;wait for co┆
0x0b5e40…0b5e60             6d 70 6c 65 74 69 6f 6e 0d 0a 09 61 6e 69 09 69 6f 72 64 79 09 09 3b 72 65 61 64 79 3f 0d 0a 09   ┆mpletion   ani iordy  ;ready?   ┆
0x0b5e60…0b5e80             6a 7a 09 77 61 69 74 30 0d 0a 3b 0d 0a 3b 09 63 68 65 63 6b 20 69 6f 20 63 6f 6d 70 6c 65 74 69   ┆jz wait0  ;  ; check io completi┆
0x0b5e80…0b5ea0             6f 6e 20 6f 6b 0d 0a 09 63 61 6c 6c 09 69 6e 74 79 70 65 09 09 3b 6d 75 73 74 20 62 65 20 69 6f   ┆on ok   call intype  ;must be io┆
0x0b5ea0…0b5ec0             20 63 6f 6d 70 6c 65 74 65 20 28 30 30 29 20 75 6e 6c 69 6e 6b 65 64 0d 0a 3b 09 30 30 20 75 6e   ┆ complete (00) unlinked  ; 00 un┆
0x0b5ec0…0b5ee0             6c 69 6e 6b 65 64 20 69 2f 6f 20 63 6f 6d 70 6c 65 74 65 2c 20 20 20 20 30 31 20 6c 69 6e 6b 65   ┆linked i/o complete,    01 linke┆
0x0b5ee0…0b5f00             64 20 69 2f 6f 20 63 6f 6d 70 6c 65 74 65 20 28 6e 6f 74 20 75 73 65 64 29 0d 0a 3b 09 31 30 20   ┆d i/o complete (not used)  ; 10 ┆
0x0b5f00…0b5f20             64 69 73 6b 20 73 74 61 74 75 73 20 63 68 61 6e 67 65 64 20 20 20 20 20 20 20 31 31 20 28 6e 6f   ┆disk status changed       11 (no┆
0x0b5f20…0b5f40             74 20 75 73 65 64 29 0d 0a 09 63 70 69 09 31 30 62 09 09 3b 72 65 61 64 79 20 73 74 61 74 75 73   ┆t used)   cpi 10b  ;ready status┆
0x0b5f40…0b5f60             20 63 68 61 6e 67 65 3f 0d 0a 09 6a 7a 09 77 72 65 61 64 79 0d 0a 3b 0d 0a 3b 09 6d 75 73 74 20   ┆ change?   jz wready  ;  ; must ┆
0x0b5f60…0b5f80             62 65 20 30 30 20 69 6e 20 74 68 65 20 61 63 63 75 6d 75 6c 61 74 6f 72 0d 0a 09 6f 72 61 09 61   ┆be 00 in the accumulator   ora a┆
0x0b5f80…0b5fa0             0d 0a 09 6a 6e 7a 09 77 65 72 72 6f 72 09 09 3b 73 6f 6d 65 20 6f 74 68 65 72 20 63 6f 6e 64 69   ┆   jnz werror  ;some other condi┆
0x0b5fa0…0b5fc0             74 69 6f 6e 2c 20 72 65 74 72 79 0d 0a 3b 0d 0a 3b 09 63 68 65 63 6b 20 69 2f 6f 20 65 72 72 6f   ┆tion, retry  ;  ; check i/o erro┆
0x0b5fc0…0b5fe0             72 20 62 69 74 73 0d 0a 09 63 61 6c 6c 09 69 6e 62 79 74 65 0d 0a 09 72 61 6c 0d 0a 09 6a 63 09   ┆r bits   call inbyte   ral   jc ┆
0x0b5fe0…0b6000             77 72 65 61 64 79 09 09 3b 75 6e 69 74 20 6e 6f 74 20 72 65 61 64 79 0d 0a 09 72 61 72 0d 0a 09   ┆wready  ;unit not ready   rar   ┆
0x0b6000…0b6020 (48, 1, 2)  69 73 6b 20 62 61 6e 6b 20 30 30 20 69 66 20 64 72 69 76 65 20 30 2c 31 0d 0a 09 09 09 3b 09 20   ┆isk bank 00 if drive 0,1     ;  ┆
0x0b6020…0b6040             20 20 31 30 20 69 66 20 64 72 69 76 65 20 32 2c 33 0d 0a 69 6f 70 62 3a 09 3b 69 6f 20 70 61 72   ┆  10 if drive 2,3  iopb: ;io par┆
0x0b6040…0b6060             61 6d 65 74 65 72 20 62 6c 6f 63 6b 0d 0a 09 64 62 09 38 30 68 09 3b 6e 6f 72 6d 61 6c 20 69 2f   ┆ameter block   db 80h ;normal i/┆
0x0b6060…0b6080             6f 20 6f 70 65 72 61 74 69 6f 6e 0d 0a 69 6f 66 3a 09 64 62 09 72 65 61 64 66 09 3b 69 6f 20 66   ┆o operation  iof: db readf ;io f┆
0x0b6080…0b60a0             75 6e 63 74 69 6f 6e 2c 20 69 6e 69 74 69 61 6c 20 72 65 61 64 0d 0a 69 6f 6e 3a 09 64 62 09 31   ┆unction, initial read  ion: db 1┆
0x0b60a0…0b60c0             09 3b 6e 75 6d 62 65 72 20 6f 66 20 73 65 63 74 6f 72 73 20 74 6f 20 72 65 61 64 0d 0a 69 6f 74   ┆ ;number of sectors to read  iot┆
0x0b60c0…0b60e0             3a 09 64 62 09 6f 66 66 73 65 74 09 3b 74 72 61 63 6b 20 6e 75 6d 62 65 72 0d 0a 69 6f 73 3a 09   ┆: db offset ;track number  ios: ┆
0x0b60e0…0b6100             64 62 09 31 09 3b 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 0d 0a 69 6f 64 3a 09 64 77 09 62 75 66   ┆db 1 ;sector number  iod: dw buf┆
0x0b6100…0b6120             66 09 3b 69 6f 20 61 64 64 72 65 73 73 0d 0a 3b 0d 0a 3b 0d 0a 3b 09 64 65 66 69 6e 65 20 72 61   ┆f ;io address  ;  ;  ; define ra┆
0x0b6120…0b6140             6d 20 61 72 65 61 73 20 66 6f 72 20 62 64 6f 73 20 6f 70 65 72 61 74 69 6f 6e 0d 0a 09 65 6e 64   ┆m areas for bdos operation   end┆
0x0b6140…0b6160             65 66 0d 0a 09 65 6e 64 0d 0a 3b 09 4d 44 53 2d 38 30 30 20 49 2f 4f 20 44 72 69 76 65 72 73 20   ┆ef   end  ; MDS-800 I/O Drivers ┆
0x0b6160…0b6180             66 6f 72 20 43 50 2f 4d 20 32 2e 32 0d 0a 3b 09 28 66 6f 75 72 20 64 72 69 76 65 20 73 69 6e 67   ┆for CP/M 2.2  ; (four drive sing┆
0x0b6180…0b61a0             6c 65 20 64 65 6e 73 69 74 79 20 76 65 72 73 69 6f 6e 29 0d 0a 3b 0d 0a 3b 09 56 65 72 73 69 6f   ┆le density version)  ;  ; Versio┆
0x0b61a0…0b61c0             6e 20 32 2e 32 20 46 65 62 72 75 61 72 79 2c 20 31 39 38 30 0d 0a 3b 0d 0a 76 65 72 73 09 65 71   ┆n 2.2 February, 1980  ;  vers eq┆
0x0b61c0…0b61e0             75 09 32 32 09 3b 76 65 72 73 69 6f 6e 20 32 2e 32 0d 0a 3b 0d 0a 3b 09 43 6f 70 79 72 69 67 68   ┆u 22 ;version 2.2  ;  ; Copyrigh┆
0x0b61e0…0b6200             74 20 28 63 29 20 31 39 38 30 0d 0a 3b 09 44 69 67 69 74 61 6c 20 52 65 73 65 61 72 63 68 0d 0a   ┆t (c) 1980  ; Digital Research  ┆
0x0b6200…0b6220 (48, 1, 3)  79 20 38 30 68 29 0d 0a 3b 0d 0a 3b 09 28 72 65 61 64 20 61 6e 64 20 77 72 69 74 65 20 61 73 73   ┆y 80h)  ;  ; (read and write ass┆
0x0b6220…0b6240             75 6d 65 20 70 72 65 76 69 6f 75 73 20 63 61 6c 6c 73 20 74 6f 20 73 65 74 20 75 70 20 74 68 65   ┆ume previous calls to set up the┆
0x0b6240…0b6260             20 69 6f 20 70 61 72 61 6d 65 74 65 72 73 29 0d 0a 3b 09 72 65 61 64 09 72 65 61 64 20 74 72 61   ┆ io parameters)  ; read read tra┆
0x0b6260…0b6280             63 6b 2f 73 65 63 74 6f 72 20 74 6f 20 70 72 65 73 65 74 20 64 6d 61 20 61 64 64 72 65 73 73 0d   ┆ck/sector to preset dma address ┆
0x0b6280…0b62a0             0a 3b 09 77 72 69 74 65 09 77 72 69 74 65 20 74 72 61 63 6b 2f 73 65 63 74 6f 72 20 66 72 6f 6d   ┆ ; write write track/sector from┆
0x0b62a0…0b62c0             20 70 72 65 73 65 74 20 64 6d 61 20 61 64 64 72 65 73 73 0d 0a 3b 0d 0a 3b 09 6a 75 6d 70 20 76   ┆ preset dma address  ;  ; jump v┆
0x0b62c0…0b62e0             65 63 74 6f 72 20 66 6f 72 20 69 6e 64 69 76 69 75 61 6c 20 72 6f 75 74 69 6e 65 73 0d 0a 09 6a   ┆ector for indiviual routines   j┆
0x0b62e0…0b6300             6d 70 09 62 6f 6f 74 0d 0a 77 62 6f 6f 74 65 3a 09 6a 6d 70 09 77 62 6f 6f 74 0d 0a 09 6a 6d 70   ┆mp boot  wboote: jmp wboot   jmp┆
0x0b6300…0b6320             09 63 6f 6e 73 74 0d 0a 09 6a 6d 70 09 63 6f 6e 69 6e 0d 0a 09 6a 6d 70 09 63 6f 6e 6f 75 74 0d   ┆ const   jmp conin   jmp conout ┆
0x0b6320…0b6340             0a 09 6a 6d 70 09 6c 69 73 74 0d 0a 09 6a 6d 70 09 70 75 6e 63 68 0d 0a 09 6a 6d 70 09 72 65 61   ┆  jmp list   jmp punch   jmp rea┆
0x0b6340…0b6360             64 65 72 0d 0a 09 6a 6d 70 09 68 6f 6d 65 0d 0a 09 6a 6d 70 09 73 65 6c 64 73 6b 0d 0a 09 6a 6d   ┆der   jmp home   jmp seldsk   jm┆
0x0b6360…0b6380             70 09 73 65 74 74 72 6b 0d 0a 09 6a 6d 70 09 73 65 74 73 65 63 0d 0a 09 6a 6d 70 09 73 65 74 64   ┆p settrk   jmp setsec   jmp setd┆
0x0b6380…0b63a0             6d 61 0d 0a 09 6a 6d 70 09 72 65 61 64 0d 0a 09 6a 6d 70 09 77 72 69 74 65 0d 0a 09 6a 6d 70 09   ┆ma   jmp read   jmp write   jmp ┆
0x0b63a0…0b63c0             6c 69 73 74 73 74 09 3b 6c 69 73 74 20 73 74 61 74 75 73 0d 0a 09 6a 6d 70 09 73 65 63 74 72 61   ┆listst ;list status   jmp sectra┆
0x0b63c0…0b63e0             6e 0d 0a 3b 0d 0a 09 6d 61 63 6c 69 62 09 64 69 73 6b 64 65 66 09 3b 6c 6f 61 64 20 74 68 65 20   ┆n  ;   maclib diskdef ;load the ┆
0x0b63e0…0b6400             64 69 73 6b 20 64 65 66 69 6e 69 74 69 6f 6e 20 6c 69 62 72 61 72 79 0d 0a 09 64 69 73 6b 73 09   ┆disk definition library   disks ┆
0x0b6400…0b6420 (48, 1, 4)  3b 73 69 67 6e 6f 6e 20 6d 65 73 73 61 67 65 3a 20 78 78 6b 20 63 70 2f 6d 20 76 65 72 73 20 79   ┆;signon message: xxk cp/m vers y┆
0x0b6420…0b6440             2e 79 0d 0a 09 64 62 09 63 72 2c 6c 66 2c 6c 66 0d 0a 09 69 66 09 74 65 73 74 0d 0a 09 64 62 09   ┆.y   db cr,lf,lf   if test   db ┆
0x0b6440…0b6460             27 33 32 27 09 3b 33 32 6b 20 65 78 61 6d 70 6c 65 20 62 69 6f 73 0d 0a 09 65 6e 64 69 66 0d 0a   ┆'32' ;32k example bios   endif  ┆
0x0b6460…0b6480             09 69 66 09 6e 6f 74 20 74 65 73 74 0d 0a 09 64 62 09 27 30 30 27 09 3b 6d 65 6d 6f 72 79 20 73   ┆ if not test   db '00' ;memory s┆
0x0b6480…0b64a0             69 7a 65 20 66 69 6c 6c 65 64 20 62 79 20 72 65 6c 6f 63 61 74 6f 72 0d 0a 09 65 6e 64 69 66 0d   ┆ize filled by relocator   endif ┆
0x0b64a0…0b64c0             0a 09 64 62 09 27 6b 20 43 50 2f 4d 20 76 65 72 73 20 27 0d 0a 09 64 62 09 76 65 72 73 2f 31 30   ┆  db 'k CP/M vers '   db vers/10┆
0x0b64c0…0b64e0             2b 27 30 27 2c 27 2e 27 2c 76 65 72 73 20 6d 6f 64 20 31 30 2b 27 30 27 0d 0a 09 64 62 09 63 72   ┆+'0','.',vers mod 10+'0'   db cr┆
0x0b64e0…0b6500             2c 6c 66 2c 30 0d 0a 3b 0d 0a 62 6f 6f 74 3a 09 3b 70 72 69 6e 74 20 73 69 67 6e 6f 6e 20 6d 65   ┆,lf,0  ;  boot: ;print signon me┆
0x0b6500…0b6520             73 73 61 67 65 20 61 6e 64 20 67 6f 20 74 6f 20 63 63 70 0d 0a 3b 09 28 6e 6f 74 65 3a 20 6d 64   ┆ssage and go to ccp  ; (note: md┆
0x0b6520…0b6540             73 20 62 6f 6f 74 20 69 6e 69 74 69 61 6c 69 7a 65 64 20 69 6f 62 79 74 65 20 61 74 20 30 30 30   ┆s boot initialized iobyte at 000┆
0x0b6540…0b6560             33 68 29 0d 0a 09 6c 78 69 09 73 70 2c 62 75 66 66 2b 38 30 68 0d 0a 09 6c 78 69 09 68 2c 73 69   ┆3h)   lxi sp,buff+80h   lxi h,si┆
0x0b6560…0b6580             67 6e 6f 6e 0d 0a 09 63 61 6c 6c 09 70 72 6d 73 67 09 3b 70 72 69 6e 74 20 6d 65 73 73 61 67 65   ┆gnon   call prmsg ;print message┆
0x0b6580…0b65a0             0d 0a 09 78 72 61 09 61 09 3b 63 6c 65 61 72 20 61 63 63 75 6d 75 6c 61 74 6f 72 0d 0a 09 73 74   ┆   xra a ;clear accumulator   st┆
0x0b65a0…0b65c0             61 09 63 64 69 73 6b 09 3b 73 65 74 20 69 6e 69 74 69 61 6c 6c 79 20 74 6f 20 64 69 73 6b 20 61   ┆a cdisk ;set initially to disk a┆
0x0b65c0…0b65e0             0d 0a 09 6a 6d 70 09 67 6f 63 70 6d 09 3b 67 6f 20 74 6f 20 63 70 2f 6d 0d 0a 3b 0d 0a 3b 0d 0a   ┆   jmp gocpm ;go to cp/m  ;  ;  ┆
0x0b65e0…0b6600             77 62 6f 6f 74 3a 3b 09 6c 6f 61 64 65 72 20 6f 6e 20 74 72 61 63 6b 20 30 2c 20 73 65 63 74 6f   ┆wboot:; loader on track 0, secto┆
0x0b6600…0b6620 (48, 1, 5)  61 6e 69 09 31 31 31 31 31 31 31 30 62 09 3b 61 6e 79 20 6f 74 68 65 72 20 65 72 72 6f 72 73 3f   ┆ani 11111110b ;any other errors?┆
0x0b6620…0b6640             20 20 28 64 65 6c 65 74 65 64 20 64 61 74 61 20 6f 6b 29 0d 0a 09 6a 6e 7a 09 77 65 72 72 6f 72   ┆  (deleted data ok)   jnz werror┆
0x0b6640…0b6660             0d 0a 3b 0d 0a 3b 09 72 65 61 64 20 6f 72 20 77 72 69 74 65 20 69 73 20 6f 6b 2c 20 61 63 63 75   ┆  ;  ; read or write is ok, accu┆
0x0b6660…0b6680             6d 75 6c 61 74 6f 72 20 63 6f 6e 74 61 69 6e 73 20 7a 65 72 6f 0d 0a 09 72 65 74 0d 0a 3b 0d 0a   ┆mulator contains zero   ret  ;  ┆
0x0b6680…0b66a0             77 72 65 61 64 79 3a 09 3b 6e 6f 74 20 72 65 61 64 79 2c 20 74 72 65 61 74 20 61 73 20 65 72 72   ┆wready: ;not ready, treat as err┆
0x0b66a0…0b66c0             6f 72 20 66 6f 72 20 6e 6f 77 0d 0a 09 63 61 6c 6c 09 69 6e 62 79 74 65 09 09 3b 63 6c 65 61 72   ┆or for now   call inbyte  ;clear┆
0x0b66c0…0b66e0             20 72 65 73 75 6c 74 20 62 79 74 65 0d 0a 09 6a 6d 70 09 74 72 79 63 6f 75 6e 74 0d 0a 3b 0d 0a   ┆ result byte   jmp trycount  ;  ┆
0x0b66e0…0b6700             77 65 72 72 6f 72 3a 09 3b 72 65 74 75 72 6e 20 68 61 72 64 77 61 72 65 20 6d 61 6c 66 75 6e 63   ┆werror: ;return hardware malfunc┆
0x0b6700…0b6720             74 69 6f 6e 20 28 63 72 63 2c 20 74 72 61 63 6b 2c 20 73 65 65 6b 2c 20 65 74 63 2e 29 0d 0a 3b   ┆tion (crc, track, seek, etc.)  ;┆
0x0b6720…0b6740             09 74 68 65 20 6d 64 73 20 63 6f 6e 74 72 6f 6c 6c 65 72 20 68 61 73 20 72 65 74 75 72 6e 65 64   ┆ the mds controller has returned┆
0x0b6740…0b6760             20 61 20 62 69 74 20 69 6e 20 65 61 63 68 20 70 6f 73 69 74 69 6f 6e 0d 0a 3b 09 6f 66 20 74 68   ┆ a bit in each position  ; of th┆
0x0b6760…0b6780             65 20 61 63 63 75 6d 75 6c 61 74 6f 72 2c 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 74 6f 20   ┆e accumulator, corresponding to ┆
0x0b6780…0b67a0             74 68 65 20 63 6f 6e 64 69 74 69 6f 6e 73 3a 0d 0a 3b 09 30 09 2d 20 64 65 6c 65 74 65 64 20 64   ┆the conditions:  ; 0 - deleted d┆
0x0b67a0…0b67c0             61 74 61 20 28 61 63 63 65 70 74 65 64 20 61 73 20 6f 6b 20 61 62 6f 76 65 29 0d 0a 3b 09 31 09   ┆ata (accepted as ok above)  ; 1 ┆
0x0b67c0…0b67e0             2d 20 63 72 63 20 65 72 72 6f 72 0d 0a 3b 09 32 09 2d 20 73 65 65 6b 20 65 72 72 6f 72 0d 0a 3b   ┆- crc error  ; 2 - seek error  ;┆
0x0b67e0…0b6800             09 33 09 2d 20 61 64 64 72 65 73 73 20 65 72 72 6f 72 20 28 68 61 72 64 77 61 72 65 20 6d 61 6c   ┆ 3 - address error (hardware mal┆
0x0b6800…0b6820 (48, 1, 6)  3b 09 42 6f 78 20 35 37 39 2c 20 50 61 63 69 66 69 63 20 47 72 6f 76 65 0d 0a 3b 09 43 61 6c 69   ┆; Box 579, Pacific Grove  ; Cali┆
0x0b6820…0b6840             66 6f 72 6e 69 61 2c 20 39 33 39 35 30 0d 0a 3b 0d 0a 3b 0d 0a 74 72 75 65 09 65 71 75 09 30 66   ┆fornia, 93950  ;  ;  true equ 0f┆
0x0b6840…0b6860             66 66 66 68 09 3b 76 61 6c 75 65 20 6f 66 20 22 74 72 75 65 22 0d 0a 66 61 6c 73 65 09 65 71 75   ┆fffh ;value of "true"  false equ┆
0x0b6860…0b6880             09 6e 6f 74 20 74 72 75 65 09 3b 22 66 61 6c 73 65 22 0d 0a 74 65 73 74 09 65 71 75 09 66 61 6c   ┆ not true ;"false"  test equ fal┆
0x0b6880…0b68a0             73 65 09 3b 74 72 75 65 20 69 66 20 74 65 73 74 20 62 69 6f 73 0d 0a 3b 0d 0a 09 69 66 09 74 65   ┆se ;true if test bios  ;   if te┆
0x0b68a0…0b68c0             73 74 0d 0a 62 69 61 73 09 65 71 75 09 30 33 34 30 30 68 09 3b 62 61 73 65 20 6f 66 20 43 43 50   ┆st  bias equ 03400h ;base of CCP┆
0x0b68c0…0b68e0             20 69 6e 20 74 65 73 74 20 73 79 73 74 65 6d 0d 0a 09 65 6e 64 69 66 0d 0a 09 69 66 09 6e 6f 74   ┆ in test system   endif   if not┆
0x0b68e0…0b6900             20 74 65 73 74 0d 0a 62 69 61 73 09 65 71 75 09 30 30 30 30 68 09 3b 67 65 6e 65 72 61 74 65 20   ┆ test  bias equ 0000h ;generate ┆
0x0b6900…0b6920             72 65 6c 6f 63 61 74 61 62 6c 65 20 63 70 2f 6d 20 73 79 73 74 65 6d 0d 0a 09 65 6e 64 69 66 0d   ┆relocatable cp/m system   endif ┆
0x0b6920…0b6940             0a 3b 0d 0a 70 61 74 63 68 09 65 71 75 09 31 36 30 30 68 0d 0a 3b 0d 0a 09 6f 72 67 09 70 61 74   ┆ ;  patch equ 1600h  ;   org pat┆
0x0b6940…0b6960             63 68 0d 0a 63 70 6d 62 09 65 71 75 09 24 2d 70 61 74 63 68 09 3b 62 61 73 65 20 6f 66 20 63 70   ┆ch  cpmb equ $-patch ;base of cp┆
0x0b6960…0b6980             6d 20 63 6f 6e 73 6f 6c 65 20 70 72 6f 63 65 73 73 6f 72 0d 0a 62 64 6f 73 09 65 71 75 09 38 30   ┆m console processor  bdos equ 80┆
0x0b6980…0b69a0             36 68 2b 63 70 6d 62 09 3b 62 61 73 69 63 20 64 6f 73 20 28 72 65 73 69 64 65 6e 74 20 70 6f 72   ┆6h+cpmb ;basic dos (resident por┆
0x0b69a0…0b69c0             74 69 6f 6e 29 0d 0a 63 70 6d 6c 09 65 71 75 09 24 2d 63 70 6d 62 09 3b 6c 65 6e 67 74 68 20 28   ┆tion)  cpml equ $-cpmb ;length (┆
0x0b69c0…0b69e0             69 6e 20 62 79 74 65 73 29 20 6f 66 20 63 70 6d 20 73 79 73 74 65 6d 0d 0a 6e 73 65 63 74 73 09   ┆in bytes) of cpm system  nsects ┆
0x0b69e0…0b6a00             65 71 75 09 63 70 6d 6c 2f 31 32 38 09 3b 6e 75 6d 62 65 72 20 6f 66 20 73 65 63 74 6f 72 73 20   ┆equ cpml/128 ;number of sectors ┆
0x0b6a00…0b6a20 (48, 1, 7)  34 09 3b 66 6f 75 72 20 64 69 73 6b 73 0d 0a 09 64 69 73 6b 64 65 66 09 30 2c 31 2c 32 36 2c 36   ┆4 ;four disks   diskdef 0,1,26,6┆
0x0b6a20…0b6a40             2c 31 30 32 34 2c 32 34 33 2c 36 34 2c 36 34 2c 6f 66 66 73 65 74 0d 0a 09 64 69 73 6b 64 65 66   ┆,1024,243,64,64,offset   diskdef┆
0x0b6a40…0b6a60             09 31 2c 30 0d 0a 09 64 69 73 6b 64 65 66 09 32 2c 30 0d 0a 09 64 69 73 6b 64 65 66 09 33 2c 30   ┆ 1,0   diskdef 2,0   diskdef 3,0┆
0x0b6a60…0b6a80             0d 0a 3b 09 65 6e 64 65 66 20 6f 63 63 75 72 73 20 61 74 20 65 6e 64 20 6f 66 20 61 73 73 65 6d   ┆  ; endef occurs at end of assem┆
0x0b6a80…0b6aa0             62 6c 79 0d 0a 3b 0d 0a 3b 09 65 6e 64 20 6f 66 20 63 6f 6e 74 72 6f 6c 6c 65 72 20 2d 20 69 6e   ┆bly  ;  ; end of controller - in┆
0x0b6aa0…0b6ac0             64 65 70 65 6e 64 65 6e 74 20 63 6f 64 65 2c 20 74 68 65 20 72 65 6d 61 69 6e 69 6e 67 20 73 75   ┆dependent code, the remaining su┆
0x0b6ac0…0b6ae0             62 72 6f 75 74 69 6e 65 73 0d 0a 3b 09 61 72 65 20 74 61 69 6c 6f 72 65 64 20 74 6f 20 74 68 65   ┆broutines  ; are tailored to the┆
0x0b6ae0…0b6b00             20 70 61 72 74 69 63 75 6c 61 72 20 6f 70 65 72 61 74 69 6e 67 20 65 6e 76 69 72 6f 6e 6d 65 6e   ┆ particular operating environmen┆
0x0b6b00…0b6b20             74 2c 20 61 6e 64 20 6d 75 73 74 0d 0a 3b 09 62 65 20 61 6c 74 65 72 65 64 20 66 6f 72 20 61 6e   ┆t, and must  ; be altered for an┆
0x0b6b20…0b6b40             79 20 73 79 73 74 65 6d 20 77 68 69 63 68 20 64 69 66 66 65 72 73 20 66 72 6f 6d 20 74 68 65 20   ┆y system which differs from the ┆
0x0b6b40…0b6b60             69 6e 74 65 6c 20 6d 64 73 2e 0d 0a 3b 0d 0a 3b 09 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63   ┆intel mds.  ;  ; the following c┆
0x0b6b60…0b6b80             6f 64 65 20 61 73 73 75 6d 65 73 20 74 68 65 20 6d 64 73 20 6d 6f 6e 69 74 6f 72 20 65 78 69 73   ┆ode assumes the mds monitor exis┆
0x0b6b80…0b6ba0             74 73 20 61 74 20 30 66 38 30 30 68 0d 0a 3b 09 61 6e 64 20 75 73 65 73 20 74 68 65 20 69 2f 6f   ┆ts at 0f800h  ; and uses the i/o┆
0x0b6ba0…0b6bc0             20 73 75 62 72 6f 75 74 69 6e 65 73 20 77 69 74 68 69 6e 20 74 68 65 20 6d 6f 6e 69 74 6f 72 0d   ┆ subroutines within the monitor ┆
0x0b6bc0…0b6be0             0a 3b 0d 0a 3b 09 77 65 20 61 6c 73 6f 20 61 73 73 75 6d 65 20 74 68 65 20 6d 64 73 20 73 79 73   ┆ ;  ; we also assume the mds sys┆
0x0b6be0…0b6c00             74 65 6d 20 68 61 73 20 66 6f 75 72 20 64 69 73 6b 20 64 72 69 76 65 73 0d 0a 72 65 76 72 74 09   ┆tem has four disk drives  revrt ┆
0x0b6c00…0b6c20 (48, 1, 8)  72 20 31 2c 20 77 68 69 63 68 20 77 69 6c 6c 20 62 65 20 73 6b 69 70 70 65 64 20 66 6f 72 20 77   ┆r 1, which will be skipped for w┆
0x0b6c20…0b6c40             61 72 6d 20 0d 0a 3b 09 72 65 61 64 20 63 70 2f 6d 20 66 72 6f 6d 20 64 69 73 6b 20 2d 20 61 73   ┆arm   ; read cp/m from disk - as┆
0x0b6c40…0b6c60             73 75 6d 69 6e 67 20 74 68 65 72 65 20 69 73 20 61 20 31 32 38 20 62 79 74 65 20 63 6f 6c 64 20   ┆suming there is a 128 byte cold ┆
0x0b6c60…0b6c80             73 74 61 72 74 0d 0a 3b 09 73 74 61 72 74 2e 0d 0a 3b 0d 0a 09 6c 78 69 09 73 70 2c 62 75 66 66   ┆start  ; start.  ;   lxi sp,buff┆
0x0b6c80…0b6ca0             09 3b 75 73 69 6e 67 20 64 6d 61 20 2d 20 74 68 75 73 20 38 30 20 74 68 72 75 20 66 66 20 61 76   ┆ ;using dma - thus 80 thru ff av┆
0x0b6ca0…0b6cc0             61 69 6c 61 62 6c 65 20 66 6f 72 20 73 74 61 63 6b 0d 0a 3b 0d 0a 09 6d 76 69 09 63 2c 72 65 74   ┆ailable for stack  ;   mvi c,ret┆
0x0b6cc0…0b6ce0             72 79 09 3b 6d 61 78 20 72 65 74 72 69 65 73 0d 0a 09 70 75 73 68 09 62 0d 0a 77 62 6f 6f 74 30   ┆ry ;max retries   push b  wboot0┆
0x0b6ce0…0b6d00             3a 09 3b 65 6e 74 65 72 20 68 65 72 65 20 6f 6e 20 65 72 72 6f 72 20 72 65 74 72 69 65 73 0d 0a   ┆: ;enter here on error retries  ┆
0x0b6d00…0b6d20             09 6c 78 69 09 62 2c 63 70 6d 62 09 3b 73 65 74 20 64 6d 61 20 61 64 64 72 65 73 73 20 74 6f 20   ┆ lxi b,cpmb ;set dma address to ┆
0x0b6d20…0b6d40             73 74 61 72 74 20 6f 66 20 64 69 73 6b 20 73 79 73 74 65 6d 0d 0a 09 63 61 6c 6c 09 73 65 74 64   ┆start of disk system   call setd┆
0x0b6d40…0b6d60             6d 61 0d 0a 09 6d 76 69 09 63 2c 30 09 3b 62 6f 6f 74 20 66 72 6f 6d 20 64 72 69 76 65 20 30 0d   ┆ma   mvi c,0 ;boot from drive 0 ┆
0x0b6d60…0b6d80             0a 09 63 61 6c 6c 09 73 65 6c 64 73 6b 0d 0a 09 6d 76 69 09 63 2c 30 0d 0a 09 63 61 6c 6c 09 73   ┆  call seldsk   mvi c,0   call s┆
0x0b6d80…0b6da0             65 74 74 72 6b 09 3b 73 74 61 72 74 20 77 69 74 68 20 74 72 61 63 6b 20 30 0d 0a 09 6d 76 69 09   ┆ettrk ;start with track 0   mvi ┆
0x0b6da0…0b6dc0             63 2c 32 09 3b 73 74 61 72 74 20 72 65 61 64 69 6e 67 20 73 65 63 74 6f 72 20 32 0d 0a 09 63 61   ┆c,2 ;start reading sector 2   ca┆
0x0b6dc0…0b6de0             6c 6c 09 73 65 74 73 65 63 0d 0a 3b 0d 0a 3b 09 72 65 61 64 20 73 65 63 74 6f 72 73 2c 20 63 6f   ┆ll setsec  ;  ; read sectors, co┆
0x0b6de0…0b6e00             75 6e 74 20 6e 73 65 63 74 73 20 74 6f 20 7a 65 72 6f 0d 0a 09 70 6f 70 09 62 09 3b 31 30 2d 65   ┆unt nsects to zero   pop b ;10-e┆
0x0b6e00…0b6e20 (48, 1, 9)  66 75 6e 63 74 69 6f 6e 29 0d 0a 3b 09 34 09 2d 20 64 61 74 61 20 6f 76 65 72 2f 75 6e 64 65 72   ┆function)  ; 4 - data over/under┆
0x0b6e20…0b6e40             20 66 6c 6f 77 20 28 68 61 72 64 77 61 72 65 20 6d 61 6c 66 75 6e 63 74 69 6f 6e 29 0d 0a 3b 09   ┆ flow (hardware malfunction)  ; ┆
0x0b6e40…0b6e60             35 09 2d 20 77 72 69 74 65 20 70 72 6f 74 65 63 74 20 28 74 72 65 61 74 65 64 20 61 73 20 6e 6f   ┆5 - write protect (treated as no┆
0x0b6e60…0b6e80             74 20 72 65 61 64 79 29 0d 0a 3b 09 36 09 2d 20 77 72 69 74 65 20 65 72 72 6f 72 20 28 68 61 72   ┆t ready)  ; 6 - write error (har┆
0x0b6e80…0b6ea0             64 77 61 72 65 20 6d 61 6c 66 75 6e 63 74 69 6f 6e 29 0d 0a 3b 09 37 09 2d 20 6e 6f 74 20 72 65   ┆dware malfunction)  ; 7 - not re┆
0x0b6ea0…0b6ec0             61 64 79 0d 0a 3b 09 28 61 63 63 75 6d 75 6c 61 74 6f 72 20 62 69 74 73 20 61 72 65 20 6e 75 6d   ┆ady  ; (accumulator bits are num┆
0x0b6ec0…0b6ee0             62 65 72 65 64 20 37 20 36 20 35 20 34 20 33 20 32 20 31 20 30 29 0d 0a 3b 0d 0a 3b 09 69 74 20   ┆bered 7 6 5 4 3 2 1 0)  ;  ; it ┆
0x0b6ee0…0b6f00             6d 61 79 20 62 65 20 75 73 65 66 75 6c 20 74 6f 20 66 69 6c 74 65 72 20 6f 75 74 20 74 68 65 20   ┆may be useful to filter out the ┆
0x0b6f00…0b6f20             76 61 72 69 6f 75 73 20 63 6f 6e 64 69 74 69 6f 6e 73 2c 0d 0a 3b 09 62 75 74 20 77 65 20 77 69   ┆various conditions,  ; but we wi┆
0x0b6f20…0b6f40             6c 6c 20 67 65 74 20 61 20 70 65 72 6d 61 6e 65 6e 74 20 65 72 72 6f 72 20 6d 65 73 73 61 67 65   ┆ll get a permanent error message┆
0x0b6f40…0b6f60             20 69 66 20 69 74 20 69 73 20 6e 6f 74 0d 0a 3b 09 72 65 63 6f 76 65 72 61 62 6c 65 2e 20 20 69   ┆ if it is not  ; recoverable.  i┆
0x0b6f60…0b6f80             6e 20 61 6e 79 20 63 61 73 65 2c 20 74 68 65 20 6e 6f 74 20 72 65 61 64 79 20 63 6f 6e 64 69 74   ┆n any case, the not ready condit┆
0x0b6f80…0b6fa0             69 6f 6e 20 69 73 0d 0a 3b 09 74 72 65 61 74 65 64 20 61 73 20 61 20 73 65 70 61 72 61 74 65 20   ┆ion is  ; treated as a separate ┆
0x0b6fa0…0b6fc0             63 6f 6e 64 69 74 69 6f 6e 20 66 6f 72 20 6c 61 74 65 72 20 69 6d 70 72 6f 76 65 6d 65 6e 74 0d   ┆condition for later improvement ┆
0x0b6fc0…0b6fe0             0a 74 72 79 63 6f 75 6e 74 3a 0d 0a 3b 09 72 65 67 69 73 74 65 72 20 63 20 63 6f 6e 74 61 69 6e   ┆ trycount:  ; register c contain┆
0x0b6fe0…0b7000             73 20 72 65 74 72 79 20 63 6f 75 6e 74 2c 20 64 65 63 72 65 6d 65 6e 74 20 27 74 69 6c 20 7a 65   ┆s retry count, decrement 'til ze┆
0x0b7000…0b7020 (48, 1, 10) 74 6f 20 6c 6f 61 64 0d 0a 6f 66 66 73 65 74 09 65 71 75 09 32 09 3b 6e 75 6d 62 65 72 20 6f 66   ┆to load  offset equ 2 ;number of┆
0x0b7020…0b7040             20 64 69 73 6b 20 74 72 61 63 6b 73 20 75 73 65 64 20 62 79 20 63 70 2f 6d 0d 0a 63 64 69 73 6b   ┆ disk tracks used by cp/m  cdisk┆
0x0b7040…0b7060             09 65 71 75 09 30 30 30 34 68 09 3b 61 64 64 72 65 73 73 20 6f 66 20 6c 61 73 74 20 6c 6f 67 67   ┆ equ 0004h ;address of last logg┆
0x0b7060…0b7080             65 64 20 64 69 73 6b 20 6f 6e 20 77 61 72 6d 20 73 74 61 72 74 0d 0a 62 75 66 66 09 65 71 75 09   ┆ed disk on warm start  buff equ ┆
0x0b7080…0b70a0             30 30 38 30 68 09 3b 64 65 66 61 75 6c 74 20 62 75 66 66 65 72 20 61 64 64 72 65 73 73 0d 0a 72   ┆0080h ;default buffer address  r┆
0x0b70a0…0b70c0             65 74 72 79 09 65 71 75 09 31 30 09 3b 6d 61 78 20 72 65 74 72 69 65 73 20 6f 6e 20 64 69 73 6b   ┆etry equ 10 ;max retries on disk┆
0x0b70c0…0b70e0             20 69 2f 6f 20 62 65 66 6f 72 65 20 65 72 72 6f 72 0d 0a 3b 0d 0a 3b 09 70 65 72 66 6f 72 6d 20   ┆ i/o before error  ;  ; perform ┆
0x0b70e0…0b7100             66 6f 6c 6c 6f 77 69 6e 67 20 66 75 6e 63 74 69 6f 6e 73 0d 0a 3b 09 62 6f 6f 74 09 63 6f 6c 64   ┆following functions  ; boot cold┆
0x0b7100…0b7120             20 73 74 61 72 74 0d 0a 3b 09 77 62 6f 6f 74 09 77 61 72 6d 20 73 74 61 72 74 20 28 73 61 76 65   ┆ start  ; wboot warm start (save┆
0x0b7120…0b7140             20 69 2f 6f 20 62 79 74 65 29 0d 0a 3b 09 28 62 6f 6f 74 20 61 6e 64 20 77 62 6f 6f 74 20 61 72   ┆ i/o byte)  ; (boot and wboot ar┆
0x0b7140…0b7160             65 20 74 68 65 20 73 61 6d 65 20 66 6f 72 20 6d 64 73 29 0d 0a 3b 09 63 6f 6e 73 74 09 63 6f 6e   ┆e the same for mds)  ; const con┆
0x0b7160…0b7180             73 6f 6c 65 20 73 74 61 74 75 73 0d 0a 3b 09 09 72 65 67 2d 61 20 3d 20 30 30 20 69 66 20 6e 6f   ┆sole status  ;  reg-a = 00 if no┆
0x0b7180…0b71a0             20 63 68 61 72 61 63 74 65 72 20 72 65 61 64 79 0d 0a 3b 09 09 72 65 67 2d 61 20 3d 20 66 66 20   ┆ character ready  ;  reg-a = ff ┆
0x0b71a0…0b71c0             69 66 20 63 68 61 72 61 63 74 65 72 20 72 65 61 64 79 0d 0a 3b 09 63 6f 6e 69 6e 09 63 6f 6e 73   ┆if character ready  ; conin cons┆
0x0b71c0…0b71e0             6f 6c 65 20 63 68 61 72 61 63 74 65 72 20 69 6e 20 28 72 65 73 75 6c 74 20 69 6e 20 72 65 67 2d   ┆ole character in (result in reg-┆
0x0b71e0…0b7200             61 29 0d 0a 3b 09 63 6f 6e 6f 75 74 09 63 6f 6e 73 6f 6c 65 20 63 68 61 72 61 63 74 65 72 20 6f   ┆a)  ; conout console character o┆
0x0b7200…0b7220 (48, 1, 11) 65 71 75 09 30 66 64 68 09 3b 69 6e 74 65 72 72 75 70 74 20 72 65 76 65 72 74 20 70 6f 72 74 0d   ┆equ 0fdh ;interrupt revert port ┆
0x0b7220…0b7240             0a 69 6e 74 63 09 65 71 75 09 30 66 63 68 09 3b 69 6e 74 65 72 72 75 70 74 20 6d 61 73 6b 20 70   ┆ intc equ 0fch ;interrupt mask p┆
0x0b7240…0b7260             6f 72 74 0d 0a 69 63 6f 6e 09 65 71 75 09 30 66 33 68 09 3b 69 6e 74 65 72 72 75 70 74 20 63 6f   ┆ort  icon equ 0f3h ;interrupt co┆
0x0b7260…0b7280             6e 74 72 6f 6c 20 70 6f 72 74 0d 0a 69 6e 74 65 09 65 71 75 09 30 31 31 31 24 31 31 31 30 62 09   ┆ntrol port  inte equ 0111$1110b ┆
0x0b7280…0b72a0             3b 65 6e 61 62 6c 65 20 72 73 74 20 30 28 77 61 72 6d 20 62 6f 6f 74 29 2c 20 72 73 74 20 37 20   ┆;enable rst 0(warm boot), rst 7 ┆
0x0b72a0…0b72c0             28 6d 6f 6e 69 74 6f 72 29 0d 0a 3b 0d 0a 3b 09 6d 64 73 20 6d 6f 6e 69 74 6f 72 20 65 71 75 61   ┆(monitor)  ;  ; mds monitor equa┆
0x0b72c0…0b72e0             74 65 73 0d 0a 6d 6f 6e 38 30 09 65 71 75 09 30 66 38 30 30 68 09 3b 6d 64 73 20 6d 6f 6e 69 74   ┆tes  mon80 equ 0f800h ;mds monit┆
0x0b72e0…0b7300             6f 72 0d 0a 72 6d 6f 6e 38 30 09 65 71 75 09 30 66 66 30 66 68 09 3b 72 65 73 74 61 72 74 20 6d   ┆or  rmon80 equ 0ff0fh ;restart m┆
0x0b7300…0b7320             6f 6e 38 30 20 28 62 6f 6f 74 20 65 72 72 6f 72 29 0d 0a 63 69 09 65 71 75 09 30 66 38 30 33 68   ┆on80 (boot error)  ci equ 0f803h┆
0x0b7320…0b7340             09 3b 63 6f 6e 73 6f 6c 65 20 63 68 61 72 61 63 74 65 72 20 74 6f 20 72 65 67 2d 61 0d 0a 72 69   ┆ ;console character to reg-a  ri┆
0x0b7340…0b7360             09 65 71 75 09 30 66 38 30 36 68 09 3b 72 65 61 64 65 72 20 69 6e 20 74 6f 20 72 65 67 2d 61 0d   ┆ equ 0f806h ;reader in to reg-a ┆
0x0b7360…0b7380             0a 63 6f 09 65 71 75 09 30 66 38 30 39 68 09 3b 63 6f 6e 73 6f 6c 65 20 63 68 61 72 20 66 72 6f   ┆ co equ 0f809h ;console char fro┆
0x0b7380…0b73a0             6d 20 63 20 74 6f 20 63 6f 6e 73 6f 6c 65 20 6f 75 74 0d 0a 70 6f 09 65 71 75 09 30 66 38 30 63   ┆m c to console out  po equ 0f80c┆
0x0b73a0…0b73c0             68 09 3b 70 75 6e 63 68 20 63 68 61 72 20 66 72 6f 6d 20 63 20 74 6f 20 70 75 6e 63 68 20 64 65   ┆h ;punch char from c to punch de┆
0x0b73c0…0b73e0             76 69 63 65 0d 0a 6c 6f 09 65 71 75 09 30 66 38 30 66 68 09 3b 6c 69 73 74 20 66 72 6f 6d 20 63   ┆vice  lo equ 0f80fh ;list from c┆
0x0b73e0…0b7400             20 74 6f 20 6c 69 73 74 20 64 65 76 69 63 65 0d 0a 63 73 74 73 09 65 71 75 09 30 66 38 31 32 68   ┆ to list device  csts equ 0f812h┆
0x0b7400…0b7420 (48, 1, 12) 72 72 6f 72 20 63 6f 75 6e 74 0d 0a 09 6d 76 69 09 62 2c 6e 73 65 63 74 73 0d 0a 72 64 73 65 63   ┆rror count   mvi b,nsects  rdsec┆
0x0b7420…0b7440             3a 09 3b 72 65 61 64 20 6e 65 78 74 20 73 65 63 74 6f 72 0d 0a 09 70 75 73 68 09 62 09 3b 73 61   ┆: ;read next sector   push b ;sa┆
0x0b7440…0b7460             76 65 20 73 65 63 74 6f 72 20 63 6f 75 6e 74 0d 0a 09 63 61 6c 6c 09 72 65 61 64 0d 0a 09 6a 6e   ┆ve sector count   call read   jn┆
0x0b7460…0b7480             7a 09 62 6f 6f 74 65 72 72 09 3b 72 65 74 72 79 20 69 66 20 65 72 72 6f 72 73 20 6f 63 63 75 72   ┆z booterr ;retry if errors occur┆
0x0b7480…0b74a0             0d 0a 09 6c 68 6c 64 09 69 6f 64 09 3b 69 6e 63 72 65 6d 65 6e 74 20 64 6d 61 20 61 64 64 72 65   ┆   lhld iod ;increment dma addre┆
0x0b74a0…0b74c0             73 73 0d 0a 09 6c 78 69 09 64 2c 31 32 38 09 3b 73 65 63 74 6f 72 20 73 69 7a 65 0d 0a 09 64 61   ┆ss   lxi d,128 ;sector size   da┆
0x0b74c0…0b74e0             64 09 64 09 3b 69 6e 63 72 65 6d 65 6e 74 65 64 20 64 6d 61 20 61 64 64 72 65 73 73 20 69 6e 20   ┆d d ;incremented dma address in ┆
0x0b74e0…0b7500             68 6c 0d 0a 09 6d 6f 76 09 62 2c 68 0d 0a 09 6d 6f 76 09 63 2c 6c 09 3b 72 65 61 64 79 20 66 6f   ┆hl   mov b,h   mov c,l ;ready fo┆
0x0b7500…0b7520             72 20 63 61 6c 6c 20 74 6f 20 73 65 74 20 64 6d 61 0d 0a 09 63 61 6c 6c 09 73 65 74 64 6d 61 0d   ┆r call to set dma   call setdma ┆
0x0b7520…0b7540             0a 09 6c 64 61 09 69 6f 73 09 3b 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 20 6a 75 73 74 20 72 65   ┆  lda ios ;sector number just re┆
0x0b7540…0b7560             61 64 0d 0a 09 63 70 69 09 32 36 09 3b 72 65 61 64 20 6c 61 73 74 20 73 65 63 74 6f 72 3f 0d 0a   ┆ad   cpi 26 ;read last sector?  ┆
0x0b7560…0b7580             09 6a 63 09 72 64 31 0d 0a 3b 09 6d 75 73 74 20 62 65 20 73 65 63 74 6f 72 20 32 36 2c 20 7a 65   ┆ jc rd1  ; must be sector 26, ze┆
0x0b7580…0b75a0             72 6f 20 61 6e 64 20 67 6f 20 74 6f 20 6e 65 78 74 20 74 72 61 63 6b 0d 0a 09 6c 64 61 09 69 6f   ┆ro and go to next track   lda io┆
0x0b75a0…0b75c0             74 09 3b 67 65 74 20 74 72 61 63 6b 20 74 6f 20 72 65 67 69 73 74 65 72 20 61 0d 0a 09 69 6e 72   ┆t ;get track to register a   inr┆
0x0b75c0…0b75e0             09 61 0d 0a 09 6d 6f 76 09 63 2c 61 09 3b 72 65 61 64 79 20 66 6f 72 20 63 61 6c 6c 0d 0a 09 63   ┆ a   mov c,a ;ready for call   c┆
0x0b75e0…0b7600             61 6c 6c 09 73 65 74 74 72 6b 0d 0a 09 78 72 61 09 61 09 3b 63 6c 65 61 72 20 73 65 63 74 6f 72   ┆all settrk   xra a ;clear sector┆
0x0b7600…0b7620 (48, 1, 13) 72 6f 0d 0a 09 64 63 72 09 63 0d 0a 09 6a 6e 7a 09 72 65 77 61 69 74 09 3b 66 6f 72 20 61 6e 6f   ┆ro   dcr c   jnz rewait ;for ano┆
0x0b7620…0b7640             74 68 65 72 20 74 72 79 0d 0a 3b 0d 0a 3b 09 63 61 6e 6e 6f 74 20 72 65 63 6f 76 65 72 20 66 72   ┆ther try  ;  ; cannot recover fr┆
0x0b7640…0b7660             6f 6d 20 65 72 72 6f 72 0d 0a 09 6d 76 69 09 61 2c 31 09 3b 65 72 72 6f 72 20 63 6f 64 65 0d 0a   ┆om error   mvi a,1 ;error code  ┆
0x0b7660…0b7680             09 72 65 74 0d 0a 3b 0d 0a 3b 09 69 6e 74 79 70 65 2c 20 69 6e 62 79 74 65 2c 20 69 6e 73 74 61   ┆ ret  ;  ; intype, inbyte, insta┆
0x0b7680…0b76a0             74 20 72 65 61 64 20 64 72 69 76 65 20 62 61 6e 6b 20 30 30 20 6f 72 20 31 30 0d 0a 69 6e 74 79   ┆t read drive bank 00 or 10  inty┆
0x0b76a0…0b76c0             70 65 3a 09 6c 64 61 09 64 62 61 6e 6b 0d 0a 09 6f 72 61 09 61 0d 0a 09 6a 6e 7a 09 69 6e 74 79   ┆pe: lda dbank   ora a   jnz inty┆
0x0b76c0…0b76e0             70 31 09 3b 73 6b 69 70 20 74 6f 20 62 61 6e 6b 20 31 30 0d 0a 09 69 6e 09 72 74 79 70 65 0d 0a   ┆p1 ;skip to bank 10   in rtype  ┆
0x0b76e0…0b7700             09 72 65 74 0d 0a 69 6e 74 79 70 31 3a 09 69 6e 09 72 74 79 70 65 2b 31 30 68 09 3b 37 38 20 66   ┆ ret  intyp1: in rtype+10h ;78 f┆
0x0b7700…0b7720             6f 72 20 30 2c 31 20 20 38 38 20 66 6f 72 20 32 2c 33 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 69 6e 62   ┆or 0,1  88 for 2,3   ret  ;  inb┆
0x0b7720…0b7740             79 74 65 3a 09 6c 64 61 09 64 62 61 6e 6b 0d 0a 09 6f 72 61 09 61 0d 0a 09 6a 6e 7a 09 69 6e 62   ┆yte: lda dbank   ora a   jnz inb┆
0x0b7740…0b7760             79 74 31 0d 0a 09 69 6e 09 72 62 79 74 65 0d 0a 09 72 65 74 0d 0a 69 6e 62 79 74 31 3a 09 69 6e   ┆yt1   in rbyte   ret  inbyt1: in┆
0x0b7760…0b7780             09 72 62 79 74 65 2b 31 30 68 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 69 6e 73 74 61 74 3a 09 6c 64 61   ┆ rbyte+10h   ret  ;  instat: lda┆
0x0b7780…0b77a0             09 64 62 61 6e 6b 0d 0a 09 6f 72 61 09 61 0d 0a 09 6a 6e 7a 09 69 6e 73 74 61 31 0d 0a 09 69 6e   ┆ dbank   ora a   jnz insta1   in┆
0x0b77a0…0b77c0             09 64 73 74 61 74 0d 0a 09 72 65 74 0d 0a 69 6e 73 74 61 31 3a 09 69 6e 09 64 73 74 61 74 2b 31   ┆ dstat   ret  insta1: in dstat+1┆
0x0b77c0…0b77e0             30 68 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 3b 0d 0a 3b 0d 0a 3b 09 64 61 74 61 20 61 72 65 61 73 20   ┆0h   ret  ;  ;  ;  ; data areas ┆
0x0b77e0…0b7800             28 6d 75 73 74 20 62 65 20 69 6e 20 72 61 6d 29 0d 0a 64 62 61 6e 6b 3a 09 64 62 09 30 09 3b 64   ┆(must be in ram)  dbank: db 0 ;d┆
0x0b7800…0b7820 (48, 1, 14) 75 74 20 28 63 68 61 72 20 69 6e 20 72 65 67 2d 63 29 0d 0a 3b 09 6c 69 73 74 09 6c 69 73 74 20   ┆ut (char in reg-c)  ; list list ┆
0x0b7820…0b7840             6f 75 74 20 28 63 68 61 72 20 69 6e 20 72 65 67 2d 63 29 0d 0a 3b 09 70 75 6e 63 68 09 70 75 6e   ┆out (char in reg-c)  ; punch pun┆
0x0b7840…0b7860             63 68 20 6f 75 74 20 28 63 68 61 72 20 69 6e 20 72 65 67 2d 63 29 0d 0a 3b 09 72 65 61 64 65 72   ┆ch out (char in reg-c)  ; reader┆
0x0b7860…0b7880             09 70 61 70 65 72 20 74 61 70 65 20 72 65 61 64 65 72 20 69 6e 20 28 72 65 73 75 6c 74 20 74 6f   ┆ paper tape reader in (result to┆
0x0b7880…0b78a0             20 72 65 67 2d 61 29 0d 0a 3b 09 68 6f 6d 65 09 6d 6f 76 65 20 74 6f 20 74 72 61 63 6b 20 30 30   ┆ reg-a)  ; home move to track 00┆
0x0b78a0…0b78c0             0d 0a 3b 0d 0a 3b 09 28 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 61 6c 6c 73 20 73 65 74 2d   ┆  ;  ; (the following calls set-┆
0x0b78c0…0b78e0             75 70 20 74 68 65 20 69 6f 20 70 61 72 61 6d 65 74 65 72 20 62 6c 6f 63 6b 20 66 6f 72 20 74 68   ┆up the io parameter block for th┆
0x0b78e0…0b7900             65 0d 0a 3b 09 6d 64 73 2c 20 77 68 69 63 68 20 69 73 20 75 73 65 64 20 74 6f 20 70 65 72 66 6f   ┆e  ; mds, which is used to perfo┆
0x0b7900…0b7920             72 6d 20 73 75 62 73 65 71 75 65 6e 74 20 72 65 61 64 73 20 61 6e 64 20 77 72 69 74 65 73 29 0d   ┆rm subsequent reads and writes) ┆
0x0b7920…0b7940             0a 3b 09 73 65 6c 64 73 6b 09 73 65 6c 65 63 74 20 64 69 73 6b 20 67 69 76 65 6e 20 62 79 20 72   ┆ ; seldsk select disk given by r┆
0x0b7940…0b7960             65 67 2d 63 20 28 30 2c 31 2c 32 2e 2e 2e 29 0d 0a 3b 09 73 65 74 74 72 6b 09 73 65 74 20 74 72   ┆eg-c (0,1,2...)  ; settrk set tr┆
0x0b7960…0b7980             61 63 6b 20 61 64 64 72 65 73 73 20 28 30 2c 2e 2e 2e 37 36 29 20 66 6f 72 20 73 75 62 73 65 71   ┆ack address (0,...76) for subseq┆
0x0b7980…0b79a0             75 65 6e 74 20 72 65 61 64 2f 77 72 69 74 65 0d 0a 3b 09 73 65 74 73 65 63 09 73 65 74 20 73 65   ┆uent read/write  ; setsec set se┆
0x0b79a0…0b79c0             63 74 6f 72 20 61 64 64 72 65 73 73 20 28 31 2c 2e 2e 2e 2c 32 36 29 20 66 6f 72 20 73 75 62 73   ┆ctor address (1,...,26) for subs┆
0x0b79c0…0b79e0             65 71 75 65 6e 74 20 72 65 61 64 2f 77 72 69 74 65 0d 0a 3b 09 73 65 74 64 6d 61 09 73 65 74 20   ┆equent read/write  ; setdma set ┆
0x0b79e0…0b7a00             73 75 62 73 65 71 75 65 6e 74 20 64 6d 61 20 61 64 64 72 65 73 73 20 28 69 6e 69 74 69 61 6c 6c   ┆subsequent dma address (initiall┆
0x0b7a00…0b7a20 (48, 1, 15) 09 3b 63 6f 6e 73 6f 6c 65 20 73 74 61 74 75 73 20 30 30 2f 66 66 20 74 6f 20 72 65 67 69 73 74   ┆ ;console status 00/ff to regist┆
0x0b7a20…0b7a40             65 72 20 61 0d 0a 3b 0d 0a 3b 09 64 69 73 6b 20 70 6f 72 74 73 20 61 6e 64 20 63 6f 6d 6d 61 6e   ┆er a  ;  ; disk ports and comman┆
0x0b7a40…0b7a60             64 73 0d 0a 62 61 73 65 09 65 71 75 09 37 38 68 09 3b 62 61 73 65 20 6f 66 20 64 69 73 6b 20 63   ┆ds  base equ 78h ;base of disk c┆
0x0b7a60…0b7a80             6f 6d 6d 61 6e 64 20 69 6f 20 70 6f 72 74 73 0d 0a 64 73 74 61 74 09 65 71 75 09 62 61 73 65 09   ┆ommand io ports  dstat equ base ┆
0x0b7a80…0b7aa0             3b 64 69 73 6b 20 73 74 61 74 75 73 20 28 69 6e 70 75 74 29 0d 0a 72 74 79 70 65 09 65 71 75 09   ┆;disk status (input)  rtype equ ┆
0x0b7aa0…0b7ac0             62 61 73 65 2b 31 09 3b 72 65 73 75 6c 74 20 74 79 70 65 20 28 69 6e 70 75 74 29 0d 0a 72 62 79   ┆base+1 ;result type (input)  rby┆
0x0b7ac0…0b7ae0             74 65 09 65 71 75 09 62 61 73 65 2b 33 09 3b 72 65 73 75 6c 74 20 62 79 74 65 20 28 69 6e 70 75   ┆te equ base+3 ;result byte (inpu┆
0x0b7ae0…0b7b00             74 29 0d 0a 3b 0d 0a 69 6c 6f 77 09 65 71 75 09 62 61 73 65 2b 31 09 3b 69 6f 70 62 20 6c 6f 77   ┆t)  ;  ilow equ base+1 ;iopb low┆
0x0b7b00…0b7b20             20 61 64 64 72 65 73 73 20 28 6f 75 74 70 75 74 29 0d 0a 69 68 69 67 68 09 65 71 75 09 62 61 73   ┆ address (output)  ihigh equ bas┆
0x0b7b20…0b7b40             65 2b 32 09 3b 69 6f 70 62 20 68 69 67 68 20 61 64 64 72 65 73 73 20 28 6f 75 74 70 75 74 29 0d   ┆e+2 ;iopb high address (output) ┆
0x0b7b40…0b7b60             0a 3b 0d 0a 72 65 61 64 66 09 65 71 75 09 34 68 09 3b 72 65 61 64 20 66 75 6e 63 74 69 6f 6e 0d   ┆ ;  readf equ 4h ;read function ┆
0x0b7b60…0b7b80             0a 77 72 69 74 66 09 65 71 75 09 36 68 09 3b 77 72 69 74 65 20 66 75 6e 63 74 69 6f 6e 0d 0a 72   ┆ writf equ 6h ;write function  r┆
0x0b7b80…0b7ba0             65 63 61 6c 09 65 71 75 09 33 68 09 3b 72 65 63 61 6c 69 62 72 61 74 65 20 64 72 69 76 65 0d 0a   ┆ecal equ 3h ;recalibrate drive  ┆
0x0b7ba0…0b7bc0             69 6f 72 64 79 09 65 71 75 09 34 68 09 3b 69 2f 6f 20 66 69 6e 69 73 68 65 64 20 6d 61 73 6b 0d   ┆iordy equ 4h ;i/o finished mask ┆
0x0b7bc0…0b7be0             0a 63 72 09 65 71 75 09 30 64 68 09 3b 63 61 72 72 69 61 67 65 20 72 65 74 75 72 6e 0d 0a 6c 66   ┆ cr equ 0dh ;carriage return  lf┆
0x0b7be0…0b7c00             09 65 71 75 09 30 61 68 09 3b 6c 69 6e 65 20 66 65 65 64 0d 0a 3b 0d 0a 73 69 67 6e 6f 6e 3a 09   ┆ equ 0ah ;line feed  ;  signon: ┆
0x0b7c00…0b7c20 (49, 0, 1)  20 6e 75 6d 62 65 72 0d 0a 72 64 31 3a 09 69 6e 72 09 61 09 3b 74 6f 20 6e 65 78 74 20 73 65 63   ┆ number  rd1: inr a ;to next sec┆
0x0b7c20…0b7c40             74 6f 72 0d 0a 09 6d 6f 76 09 63 2c 61 09 3b 72 65 61 64 79 20 66 6f 72 20 63 61 6c 6c 0d 0a 09   ┆tor   mov c,a ;ready for call   ┆
0x0b7c40…0b7c60             63 61 6c 6c 09 73 65 74 73 65 63 0d 0a 09 70 6f 70 09 62 09 3b 72 65 63 61 6c 6c 20 73 65 63 74   ┆call setsec   pop b ;recall sect┆
0x0b7c60…0b7c80             6f 72 20 63 6f 75 6e 74 0d 0a 09 64 63 72 09 62 09 3b 64 6f 6e 65 3f 0d 0a 09 6a 6e 7a 09 72 64   ┆or count   dcr b ;done?   jnz rd┆
0x0b7c80…0b7ca0             73 65 63 0d 0a 3b 0d 0a 3b 09 64 6f 6e 65 20 77 69 74 68 20 74 68 65 20 6c 6f 61 64 2c 20 72 65   ┆sec  ;  ; done with the load, re┆
0x0b7ca0…0b7cc0             73 65 74 20 64 65 66 61 75 6c 74 20 62 75 66 66 65 72 20 61 64 64 72 65 73 73 0d 0a 67 6f 63 70   ┆set default buffer address  gocp┆
0x0b7cc0…0b7ce0             6d 3a 09 3b 28 65 6e 74 65 72 20 68 65 72 65 20 66 72 6f 6d 20 63 6f 6c 64 20 73 74 61 72 74 20   ┆m: ;(enter here from cold start ┆
0x0b7ce0…0b7d00             62 6f 6f 74 29 0d 0a 3b 09 65 6e 61 62 6c 65 20 72 73 74 30 20 61 6e 64 20 72 73 74 37 0d 0a 09   ┆boot)  ; enable rst0 and rst7   ┆
0x0b7d00…0b7d20             64 69 0d 0a 09 6d 76 69 09 61 2c 31 32 68 09 3b 69 6e 69 74 69 61 6c 69 7a 65 20 63 6f 6d 6d 61   ┆di   mvi a,12h ;initialize comma┆
0x0b7d20…0b7d40             6e 64 0d 0a 09 6f 75 74 09 72 65 76 72 74 0d 0a 09 78 72 61 09 61 0d 0a 09 6f 75 74 09 69 6e 74   ┆nd   out revrt   xra a   out int┆
0x0b7d40…0b7d60             63 09 3b 63 6c 65 61 72 65 64 0d 0a 09 6d 76 69 09 61 2c 69 6e 74 65 09 3b 72 73 74 30 20 61 6e   ┆c ;cleared   mvi a,inte ;rst0 an┆
0x0b7d60…0b7d80             64 20 72 73 74 37 20 62 69 74 73 20 6f 6e 0d 0a 09 6f 75 74 09 69 6e 74 63 0d 0a 09 78 72 61 09   ┆d rst7 bits on   out intc   xra ┆
0x0b7d80…0b7da0             61 0d 0a 09 6f 75 74 09 69 63 6f 6e 09 3b 69 6e 74 65 72 72 75 70 74 20 63 6f 6e 74 72 6f 6c 0d   ┆a   out icon ;interrupt control ┆
0x0b7da0…0b7dc0             0a 3b 0d 0a 3b 09 73 65 74 20 64 65 66 61 75 6c 74 20 62 75 66 66 65 72 20 61 64 64 72 65 73 73   ┆ ;  ; set default buffer address┆
0x0b7dc0…0b7de0             20 74 6f 20 38 30 68 0d 0a 09 6c 78 69 09 62 2c 62 75 66 66 0d 0a 09 63 61 6c 6c 09 73 65 74 64   ┆ to 80h   lxi b,buff   call setd┆
0x0b7de0…0b7e00             6d 61 0d 0a 3b 0d 0a 3b 09 72 65 73 65 74 20 6d 6f 6e 69 74 6f 72 20 65 6e 74 72 79 20 70 6f 69   ┆ma  ;  ; reset monitor entry poi┆
0x0b7e00…0b7e20 (49, 0, 2)  30 2c 20 31 31 0d 0a 09 61 6e 69 09 31 62 09 3b 6d 64 73 20 68 61 73 20 30 2c 31 20 61 74 20 37   ┆0, 11   ani 1b ;mds has 0,1 at 7┆
0x0b7e20…0b7e40             38 2c 20 32 2c 33 20 61 74 20 38 38 0d 0a 09 6f 72 61 09 61 09 3b 72 65 73 75 6c 74 20 30 30 3f   ┆8, 2,3 at 88   ora a ;result 00?┆
0x0b7e40…0b7e60             0d 0a 09 6a 7a 09 73 65 74 64 72 69 76 65 0d 0a 09 6d 76 69 09 61 2c 30 30 31 31 30 30 30 30 62   ┆   jz setdrive   mvi a,00110000b┆
0x0b7e60…0b7e80             09 3b 73 65 6c 65 63 74 73 20 64 72 69 76 65 20 31 20 69 6e 20 62 61 6e 6b 0d 0a 73 65 74 64 72   ┆ ;selects drive 1 in bank  setdr┆
0x0b7e80…0b7ea0             69 76 65 3a 0d 0a 09 6d 6f 76 09 62 2c 61 09 3b 73 61 76 65 20 74 68 65 20 66 75 6e 63 74 69 6f   ┆ive:   mov b,a ;save the functio┆
0x0b7ea0…0b7ec0             6e 0d 0a 09 6c 78 69 09 68 2c 69 6f 66 09 3b 69 6f 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 6d 6f 76   ┆n   lxi h,iof ;io function   mov┆
0x0b7ec0…0b7ee0             09 61 2c 6d 0d 0a 09 61 6e 69 09 31 31 30 30 31 31 31 31 62 09 3b 6d 61 73 6b 20 6f 75 74 20 64   ┆ a,m   ani 11001111b ;mask out d┆
0x0b7ee0…0b7f00             69 73 6b 20 6e 75 6d 62 65 72 0d 0a 09 6f 72 61 09 62 09 3b 6d 61 73 6b 20 69 6e 20 6e 65 77 20   ┆isk number   ora b ;mask in new ┆
0x0b7f00…0b7f20             64 69 73 6b 20 6e 75 6d 62 65 72 0d 0a 09 6d 6f 76 09 6d 2c 61 09 3b 73 61 76 65 20 69 74 20 69   ┆disk number   mov m,a ;save it i┆
0x0b7f20…0b7f40             6e 20 69 6f 70 62 0d 0a 09 6d 6f 76 09 6c 2c 63 0d 0a 09 6d 76 69 09 68 2c 30 09 3b 48 4c 3d 64   ┆n iopb   mov l,c   mvi h,0 ;HL=d┆
0x0b7f40…0b7f60             69 73 6b 20 6e 75 6d 62 65 72 0d 0a 09 64 61 64 09 68 09 3b 2a 32 0d 0a 09 64 61 64 09 68 09 3b   ┆isk number   dad h ;*2   dad h ;┆
0x0b7f60…0b7f80             2a 34 0d 0a 09 64 61 64 09 68 09 3b 2a 38 0d 0a 09 64 61 64 09 68 09 3b 2a 31 36 0d 0a 09 6c 78   ┆*4   dad h ;*8   dad h ;*16   lx┆
0x0b7f80…0b7fa0             69 09 64 2c 64 70 62 61 73 65 0d 0a 09 64 61 64 09 64 09 3b 48 4c 3d 64 69 73 6b 20 68 65 61 64   ┆i d,dpbase   dad d ;HL=disk head┆
0x0b7fa0…0b7fc0             65 72 20 74 61 62 6c 65 20 61 64 64 72 65 73 73 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 3b 0d 0a 73 65   ┆er table address   ret  ;  ;  se┆
0x0b7fc0…0b7fe0             74 74 72 6b 3a 09 3b 73 65 74 20 74 72 61 63 6b 20 61 64 64 72 65 73 73 20 67 69 76 65 6e 20 62   ┆ttrk: ;set track address given b┆
0x0b7fe0…0b8000             79 20 63 0d 0a 09 6c 78 69 09 68 2c 69 6f 74 0d 0a 09 6d 6f 76 09 6d 2c 63 0d 0a 09 72 65 74 0d   ┆y c   lxi h,iot   mov m,c   ret ┆
0x0b8000…0b8020 (49, 0, 3)  6f 6e 0d 0a 09 63 61 6c 6c 09 69 6e 74 79 70 65 09 3b 69 6e 20 72 74 79 70 65 0d 0a 09 63 61 6c   ┆on   call intype ;in rtype   cal┆
0x0b8020…0b8040             6c 09 69 6e 62 79 74 65 09 3b 63 6c 65 61 72 73 20 74 68 65 20 63 6f 6e 74 72 6f 6c 6c 65 72 0d   ┆l inbyte ;clears the controller ┆
0x0b8040…0b8060             0a 3b 0d 0a 09 6c 64 61 09 64 62 61 6e 6b 09 09 3b 73 65 74 20 62 61 6e 6b 20 66 6c 61 67 73 0d   ┆ ;   lda dbank  ;set bank flags ┆
0x0b8060…0b8080             0a 09 6f 72 61 09 61 09 09 3b 7a 65 72 6f 20 69 66 20 64 72 69 76 65 20 30 2c 31 20 61 6e 64 20   ┆  ora a  ;zero if drive 0,1 and ┆
0x0b8080…0b80a0             6e 7a 20 69 66 20 32 2c 33 0d 0a 09 6d 76 69 09 61 2c 69 6f 70 62 20 61 6e 64 20 30 66 66 68 09   ┆nz if 2,3   mvi a,iopb and 0ffh ┆
0x0b80a0…0b80c0             3b 6c 6f 77 20 61 64 64 72 65 73 73 20 66 6f 72 20 69 6f 70 62 0d 0a 09 6d 76 69 09 62 2c 69 6f   ┆;low address for iopb   mvi b,io┆
0x0b80c0…0b80e0             70 62 20 73 68 72 20 38 09 3b 68 69 67 68 20 61 64 64 72 65 73 73 20 66 6f 72 20 69 6f 70 62 0d   ┆pb shr 8 ;high address for iopb ┆
0x0b80e0…0b8100             0a 09 6a 6e 7a 09 69 6f 64 72 31 09 3b 64 72 69 76 65 20 62 61 6e 6b 20 31 3f 0d 0a 09 6f 75 74   ┆  jnz iodr1 ;drive bank 1?   out┆
0x0b8100…0b8120             09 69 6c 6f 77 09 09 3b 6c 6f 77 20 61 64 64 72 65 73 73 20 74 6f 20 63 6f 6e 74 72 6f 6c 6c 65   ┆ ilow  ;low address to controlle┆
0x0b8120…0b8140             72 0d 0a 09 6d 6f 76 09 61 2c 62 0d 0a 09 6f 75 74 09 69 68 69 67 68 09 3b 68 69 67 68 20 61 64   ┆r   mov a,b   out ihigh ;high ad┆
0x0b8140…0b8160             64 72 65 73 73 0d 0a 09 6a 6d 70 09 77 61 69 74 30 09 09 3b 74 6f 20 77 61 69 74 20 66 6f 72 20   ┆dress   jmp wait0  ;to wait for ┆
0x0b8160…0b8180             63 6f 6d 70 6c 65 74 65 0d 0a 3b 0d 0a 69 6f 64 72 31 3a 09 3b 64 72 69 76 65 20 62 61 6e 6b 20   ┆complete  ;  iodr1: ;drive bank ┆
0x0b8180…0b81a0             31 0d 0a 09 6f 75 74 09 69 6c 6f 77 2b 31 30 68 09 3b 38 38 20 66 6f 72 20 64 72 69 76 65 20 62   ┆1   out ilow+10h ;88 for drive b┆
0x0b81a0…0b81c0             61 6e 6b 20 31 30 0d 0a 09 6d 6f 76 09 61 2c 62 0d 0a 09 6f 75 74 09 69 68 69 67 68 2b 31 30 68   ┆ank 10   mov a,b   out ihigh+10h┆
0x0b81c0…0b81e0             0d 0a 3b 0d 0a 77 61 69 74 30 3a 09 63 61 6c 6c 09 69 6e 73 74 61 74 09 09 3b 77 61 69 74 20 66   ┆  ;  wait0: call instat  ;wait f┆
0x0b81e0…0b8200             6f 72 20 63 6f 6d 70 6c 65 74 69 6f 6e 0d 0a 09 61 6e 69 09 69 6f 72 64 79 09 09 3b 72 65 61 64   ┆or completion   ani iordy  ;read┆
0x0b8200…0b8220 (49, 0, 4)  6f 64 65 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 3b 09 69 6e 74 79 70 65 2c 20 69 6e 62 79 74 65 2c 20   ┆ode   ret  ;  ; intype, inbyte, ┆
0x0b8220…0b8240             69 6e 73 74 61 74 20 72 65 61 64 20 64 72 69 76 65 20 62 61 6e 6b 20 30 30 20 6f 72 20 31 30 0d   ┆instat read drive bank 00 or 10 ┆
0x0b8240…0b8260             0a 69 6e 74 79 70 65 3a 09 6c 64 61 09 64 62 61 6e 6b 0d 0a 09 6f 72 61 09 61 0d 0a 09 6a 6e 7a   ┆ intype: lda dbank   ora a   jnz┆
0x0b8260…0b8280             09 69 6e 74 79 70 31 09 3b 73 6b 69 70 20 74 6f 20 62 61 6e 6b 20 31 30 0d 0a 09 69 6e 09 72 74   ┆ intyp1 ;skip to bank 10   in rt┆
0x0b8280…0b82a0             79 70 65 0d 0a 09 72 65 74 0d 0a 69 6e 74 79 70 31 3a 09 69 6e 09 72 74 79 70 65 2b 31 30 68 09   ┆ype   ret  intyp1: in rtype+10h ┆
0x0b82a0…0b82c0             3b 37 38 20 66 6f 72 20 30 2c 31 20 20 38 38 20 66 6f 72 20 32 2c 33 0d 0a 09 72 65 74 0d 0a 3b   ┆;78 for 0,1  88 for 2,3   ret  ;┆
0x0b82c0…0b82e0             0d 0a 69 6e 62 79 74 65 3a 09 6c 64 61 09 64 62 61 6e 6b 0d 0a 09 6f 72 61 09 61 0d 0a 09 6a 6e   ┆  inbyte: lda dbank   ora a   jn┆
0x0b82e0…0b8300             7a 09 69 6e 62 79 74 31 0d 0a 09 69 6e 09 72 62 79 74 65 0d 0a 09 72 65 74 0d 0a 69 6e 62 79 74   ┆z inbyt1   in rbyte   ret  inbyt┆
0x0b8300…0b8320             31 3a 09 69 6e 09 72 62 79 74 65 2b 31 30 68 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 69 6e 73 74 61 74   ┆1: in rbyte+10h   ret  ;  instat┆
0x0b8320…0b8340             3a 09 6c 64 61 09 64 62 61 6e 6b 0d 0a 09 6f 72 61 09 61 0d 0a 09 6a 6e 7a 09 69 6e 73 74 61 31   ┆: lda dbank   ora a   jnz insta1┆
0x0b8340…0b8360             0d 0a 09 69 6e 09 64 73 74 61 74 0d 0a 09 72 65 74 0d 0a 69 6e 73 74 61 31 3a 09 69 6e 09 64 73   ┆   in dstat   ret  insta1: in ds┆
0x0b8360…0b8380             74 61 74 2b 31 30 68 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 3b 0d 0a 3b 0d 0a 3b 09 64 61 74 61 20 61   ┆tat+10h   ret  ;  ;  ;  ; data a┆
0x0b8380…0b83a0             72 65 61 73 20 28 6d 75 73 74 20 62 65 20 69 6e 20 72 61 6d 29 0d 0a 64 62 61 6e 6b 3a 09 64 62   ┆reas (must be in ram)  dbank: db┆
0x0b83a0…0b83c0             09 30 09 3b 64 69 73 6b 20 62 61 6e 6b 20 30 30 20 69 66 20 64 72 69 76 65 20 30 2c 31 0d 0a 09   ┆ 0 ;disk bank 00 if drive 0,1   ┆
0x0b83c0…0b83e0             09 09 3b 09 20 20 20 31 30 20 69 66 20 64 72 69 76 65 20 32 2c 33 0d 0a 69 6f 70 62 3a 09 3b 69   ┆  ;    10 if drive 2,3  iopb: ;i┆
0x0b83e0…0b8400             6f 20 70 61 72 61 6d 65 74 65 72 20 62 6c 6f 63 6b 0d 0a 09 64 62 09 38 30 68 09 3b 6e 6f 72 6d   ┆o parameter block   db 80h ;norm┆
0x0b8400…0b8420 (49, 0, 5)  6e 74 73 0d 0a 09 6d 76 69 09 61 2c 6a 6d 70 0d 0a 09 73 74 61 09 30 0d 0a 09 6c 78 69 09 68 2c   ┆nts   mvi a,jmp   sta 0   lxi h,┆
0x0b8420…0b8440             77 62 6f 6f 74 65 0d 0a 09 73 68 6c 64 09 31 09 3b 6a 6d 70 20 77 62 6f 6f 74 20 61 74 20 6c 6f   ┆wboote   shld 1 ;jmp wboot at lo┆
0x0b8440…0b8460             63 61 74 69 6f 6e 20 30 30 0d 0a 09 73 74 61 09 35 0d 0a 09 6c 78 69 09 68 2c 62 64 6f 73 0d 0a   ┆cation 00   sta 5   lxi h,bdos  ┆
0x0b8460…0b8480             09 73 68 6c 64 09 36 09 3b 6a 6d 70 20 62 64 6f 73 20 61 74 20 6c 6f 63 61 74 69 6f 6e 20 35 0d   ┆ shld 6 ;jmp bdos at location 5 ┆
0x0b8480…0b84a0             0a 09 69 66 09 6e 6f 74 20 74 65 73 74 0d 0a 09 73 74 61 09 37 2a 38 09 3b 6a 6d 70 20 74 6f 20   ┆  if not test   sta 7*8 ;jmp to ┆
0x0b84a0…0b84c0             6d 6f 6e 38 30 20 28 6d 61 79 20 68 61 76 65 20 62 65 65 6e 20 63 68 61 6e 67 65 64 20 62 79 20   ┆mon80 (may have been changed by ┆
0x0b84c0…0b84e0             64 64 74 29 0d 0a 09 6c 78 69 09 68 2c 6d 6f 6e 38 30 0d 0a 09 73 68 6c 64 09 37 2a 38 2b 31 0d   ┆ddt)   lxi h,mon80   shld 7*8+1 ┆
0x0b84e0…0b8500             0a 09 65 6e 64 69 66 0d 0a 3b 09 6c 65 61 76 65 20 69 6f 62 79 74 65 20 73 65 74 0d 0a 3b 09 70   ┆  endif  ; leave iobyte set  ; p┆
0x0b8500…0b8520             72 65 76 69 6f 75 73 6c 79 20 73 65 6c 65 63 74 65 64 20 64 69 73 6b 20 77 61 73 20 62 2c 20 73   ┆reviously selected disk was b, s┆
0x0b8520…0b8540             65 6e 64 20 70 61 72 61 6d 65 74 65 72 20 74 6f 20 63 70 6d 0d 0a 09 6c 64 61 09 63 64 69 73 6b   ┆end parameter to cpm   lda cdisk┆
0x0b8540…0b8560             09 3b 6c 61 73 74 20 6c 6f 67 67 65 64 20 64 69 73 6b 20 6e 75 6d 62 65 72 0d 0a 09 6d 6f 76 09   ┆ ;last logged disk number   mov ┆
0x0b8560…0b8580             63 2c 61 09 3b 73 65 6e 64 20 74 6f 20 63 63 70 20 74 6f 20 6c 6f 67 20 69 74 20 69 6e 0d 0a 09   ┆c,a ;send to ccp to log it in   ┆
0x0b8580…0b85a0             65 69 0d 0a 09 6a 6d 70 09 63 70 6d 62 0d 0a 3b 0d 0a 3b 09 65 72 72 6f 72 20 63 6f 6e 64 69 74   ┆ei   jmp cpmb  ;  ; error condit┆
0x0b85a0…0b85c0             69 6f 6e 20 6f 63 63 75 72 72 65 64 2c 20 70 72 69 6e 74 20 6d 65 73 73 61 67 65 20 61 6e 64 20   ┆ion occurred, print message and ┆
0x0b85c0…0b85e0             72 65 74 72 79 0d 0a 62 6f 6f 74 65 72 72 3a 0d 0a 09 70 6f 70 09 62 09 3b 72 65 63 61 6c 6c 20   ┆retry  booterr:   pop b ;recall ┆
0x0b85e0…0b8600             63 6f 75 6e 74 73 0d 0a 09 64 63 72 09 63 0d 0a 09 6a 7a 09 62 6f 6f 74 65 72 30 0d 0a 3b 09 74   ┆counts   dcr c   jz booter0  ; t┆
0x0b8600…0b8620 (49, 0, 6)  0a 3b 0d 0a 73 65 74 73 65 63 3a 09 3b 73 65 74 20 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 20 67   ┆ ;  setsec: ;set sector number g┆
0x0b8620…0b8640             69 76 65 6e 20 62 79 20 63 0d 0a 09 6c 78 69 09 68 2c 69 6f 73 0d 0a 09 6d 6f 76 09 6d 2c 63 0d   ┆iven by c   lxi h,ios   mov m,c ┆
0x0b8640…0b8660             0a 09 72 65 74 0d 0a 73 65 63 74 72 61 6e 3a 0d 0a 09 09 3b 74 72 61 6e 73 6c 61 74 65 20 73 65   ┆  ret  sectran:    ;translate se┆
0x0b8660…0b8680             63 74 6f 72 20 62 63 20 75 73 69 6e 67 20 74 61 62 6c 65 20 61 74 20 64 65 0d 0a 09 6d 76 69 09   ┆ctor bc using table at de   mvi ┆
0x0b8680…0b86a0             62 2c 30 09 3b 64 6f 75 62 6c 65 20 70 72 65 63 69 73 69 6f 6e 20 73 65 63 74 6f 72 20 6e 75 6d   ┆b,0 ;double precision sector num┆
0x0b86a0…0b86c0             62 65 72 20 69 6e 20 42 43 0d 0a 09 78 63 68 67 09 09 3b 74 72 61 6e 73 6c 61 74 65 20 74 61 62   ┆ber in BC   xchg  ;translate tab┆
0x0b86c0…0b86e0             6c 65 20 61 64 64 72 65 73 73 20 74 6f 20 48 4c 0d 0a 09 64 61 64 09 62 09 3b 74 72 61 6e 73 6c   ┆le address to HL   dad b ;transl┆
0x0b86e0…0b8700             61 74 65 28 73 65 63 74 6f 72 29 20 61 64 64 72 65 73 73 0d 0a 09 6d 6f 76 09 61 2c 6d 09 3b 74   ┆ate(sector) address   mov a,m ;t┆
0x0b8700…0b8720             72 61 6e 73 6c 61 74 65 64 20 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 20 74 6f 20 41 0d 0a 09 73   ┆ranslated sector number to A   s┆
0x0b8720…0b8740             74 61 09 69 6f 73 0d 0a 09 6d 6f 76 09 6c 2c 61 09 3b 72 65 74 75 72 6e 20 73 65 63 74 6f 72 20   ┆ta ios   mov l,a ;return sector ┆
0x0b8740…0b8760             6e 75 6d 62 65 72 20 69 6e 20 4c 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 73 65 74 64 6d 61 3a 09 3b 73   ┆number in L   ret  ;  setdma: ;s┆
0x0b8760…0b8780             65 74 20 64 6d 61 20 61 64 64 72 65 73 73 20 67 69 76 65 6e 20 62 79 20 72 65 67 73 20 62 2c 63   ┆et dma address given by regs b,c┆
0x0b8780…0b87a0             0d 0a 09 6d 6f 76 09 6c 2c 63 0d 0a 09 6d 6f 76 09 68 2c 62 0d 0a 09 73 68 6c 64 09 69 6f 64 0d   ┆   mov l,c   mov h,b   shld iod ┆
0x0b87a0…0b87c0             0a 09 72 65 74 0d 0a 3b 0d 0a 72 65 61 64 3a 09 3b 72 65 61 64 20 6e 65 78 74 20 64 69 73 6b 20   ┆  ret  ;  read: ;read next disk ┆
0x0b87c0…0b87e0             72 65 63 6f 72 64 20 28 61 73 73 75 6d 69 6e 67 20 64 69 73 6b 2f 74 72 6b 2f 73 65 63 2f 64 6d   ┆record (assuming disk/trk/sec/dm┆
0x0b87e0…0b8800             61 20 73 65 74 29 0d 0a 09 6d 76 69 09 63 2c 72 65 61 64 66 09 3b 73 65 74 20 74 6f 20 72 65 61   ┆a set)   mvi c,readf ;set to rea┆
0x0b8800…0b8820 (49, 0, 7)  79 3f 0d 0a 09 6a 7a 09 77 61 69 74 30 0d 0a 3b 0d 0a 3b 09 63 68 65 63 6b 20 69 6f 20 63 6f 6d   ┆y?   jz wait0  ;  ; check io com┆
0x0b8820…0b8840             70 6c 65 74 69 6f 6e 20 6f 6b 0d 0a 09 63 61 6c 6c 09 69 6e 74 79 70 65 09 09 3b 6d 75 73 74 20   ┆pletion ok   call intype  ;must ┆
0x0b8840…0b8860             62 65 20 69 6f 20 63 6f 6d 70 6c 65 74 65 20 28 30 30 29 20 75 6e 6c 69 6e 6b 65 64 0d 0a 3b 09   ┆be io complete (00) unlinked  ; ┆
0x0b8860…0b8880             30 30 20 75 6e 6c 69 6e 6b 65 64 20 69 2f 6f 20 63 6f 6d 70 6c 65 74 65 2c 20 20 20 20 30 31 20   ┆00 unlinked i/o complete,    01 ┆
0x0b8880…0b88a0             6c 69 6e 6b 65 64 20 69 2f 6f 20 63 6f 6d 70 6c 65 74 65 20 28 6e 6f 74 20 75 73 65 64 29 0d 0a   ┆linked i/o complete (not used)  ┆
0x0b88a0…0b88c0             3b 09 31 30 20 64 69 73 6b 20 73 74 61 74 75 73 20 63 68 61 6e 67 65 64 20 20 20 20 20 20 20 31   ┆; 10 disk status changed       1┆
0x0b88c0…0b88e0             31 20 28 6e 6f 74 20 75 73 65 64 29 0d 0a 09 63 70 69 09 31 30 62 09 09 3b 72 65 61 64 79 20 73   ┆1 (not used)   cpi 10b  ;ready s┆
0x0b88e0…0b8900             74 61 74 75 73 20 63 68 61 6e 67 65 3f 0d 0a 09 6a 7a 09 77 72 65 61 64 79 0d 0a 3b 0d 0a 3b 09   ┆tatus change?   jz wready  ;  ; ┆
0x0b8900…0b8920             6d 75 73 74 20 62 65 20 30 30 20 69 6e 20 74 68 65 20 61 63 63 75 6d 75 6c 61 74 6f 72 0d 0a 09   ┆must be 00 in the accumulator   ┆
0x0b8920…0b8940             6f 72 61 09 61 0d 0a 09 6a 6e 7a 09 77 65 72 72 6f 72 09 09 3b 73 6f 6d 65 20 6f 74 68 65 72 20   ┆ora a   jnz werror  ;some other ┆
0x0b8940…0b8960             63 6f 6e 64 69 74 69 6f 6e 2c 20 72 65 74 72 79 0d 0a 3b 0d 0a 3b 09 63 68 65 63 6b 20 69 2f 6f   ┆condition, retry  ;  ; check i/o┆
0x0b8960…0b8980             20 65 72 72 6f 72 20 62 69 74 73 0d 0a 09 63 61 6c 6c 09 69 6e 62 79 74 65 0d 0a 09 72 61 6c 0d   ┆ error bits   call inbyte   ral ┆
0x0b8980…0b89a0             0a 09 6a 63 09 77 72 65 61 64 79 09 09 3b 75 6e 69 74 20 6e 6f 74 20 72 65 61 64 79 0d 0a 09 72   ┆  jc wready  ;unit not ready   r┆
0x0b89a0…0b89c0             61 72 0d 0a 09 61 6e 69 09 31 31 31 31 31 31 31 30 62 09 3b 61 6e 79 20 6f 74 68 65 72 20 65 72   ┆ar   ani 11111110b ;any other er┆
0x0b89c0…0b89e0             72 6f 72 73 3f 20 20 28 64 65 6c 65 74 65 64 20 64 61 74 61 20 6f 6b 29 0d 0a 09 6a 6e 7a 09 77   ┆rors?  (deleted data ok)   jnz w┆
0x0b89e0…0b8a00             65 72 72 6f 72 0d 0a 3b 0d 0a 3b 09 72 65 61 64 20 6f 72 20 77 72 69 74 65 20 69 73 20 6f 6b 2c   ┆error  ;  ; read or write is ok,┆
0x0b8a00…0b8a20 (49, 0, 8)  61 6c 20 69 2f 6f 20 6f 70 65 72 61 74 69 6f 6e 0d 0a 69 6f 66 3a 09 64 62 09 72 65 61 64 66 09   ┆al i/o operation  iof: db readf ┆
0x0b8a20…0b8a40             3b 69 6f 20 66 75 6e 63 74 69 6f 6e 2c 20 69 6e 69 74 69 61 6c 20 72 65 61 64 0d 0a 69 6f 6e 3a   ┆;io function, initial read  ion:┆
0x0b8a40…0b8a60             09 64 62 09 31 09 3b 6e 75 6d 62 65 72 20 6f 66 20 73 65 63 74 6f 72 73 20 74 6f 20 72 65 61 64   ┆ db 1 ;number of sectors to read┆
0x0b8a60…0b8a80             0d 0a 69 6f 74 3a 09 64 62 09 6f 66 66 73 65 74 09 3b 74 72 61 63 6b 20 6e 75 6d 62 65 72 0d 0a   ┆  iot: db offset ;track number  ┆
0x0b8a80…0b8aa0             69 6f 73 3a 09 64 62 09 31 09 3b 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 0d 0a 69 6f 64 3a 09 64   ┆ios: db 1 ;sector number  iod: d┆
0x0b8aa0…0b8ac0             77 09 62 75 66 66 09 3b 69 6f 20 61 64 64 72 65 73 73 0d 0a 3b 0d 0a 3b 0d 0a 3b 09 64 65 66 69   ┆w buff ;io address  ;  ;  ; defi┆
0x0b8ac0…0b8ae0             6e 65 20 72 61 6d 20 61 72 65 61 73 20 66 6f 72 20 62 64 6f 73 20 6f 70 65 72 61 74 69 6f 6e 0d   ┆ne ram areas for bdos operation ┆
0x0b8ae0…0b8b00             0a 09 65 6e 64 65 66 0d 0a 09 65 6e 64 0d 0a 3b 09 4d 44 53 2d 38 30 30 20 49 2f 4f 20 44 72 69   ┆  endef   end  ; MDS-800 I/O Dri┆
0x0b8b00…0b8b20             76 65 72 73 20 66 6f 72 20 43 50 2f 4d 20 32 2e 32 0d 0a 3b 09 28 66 6f 75 72 20 64 72 69 76 65   ┆vers for CP/M 2.2  ; (four drive┆
0x0b8b20…0b8b40             20 73 69 6e 67 6c 65 20 64 65 6e 73 69 74 79 20 76 65 72 73 69 6f 6e 29 0d 0a 3b 0d 0a 3b 09 56   ┆ single density version)  ;  ; V┆
0x0b8b40…0b8b60             65 72 73 69 6f 6e 20 32 2e 32 20 46 65 62 72 75 61 72 79 2c 20 31 39 38 30 0d 0a 3b 0d 0a 76 65   ┆ersion 2.2 February, 1980  ;  ve┆
0x0b8b60…0b8b80             72 73 09 65 71 75 09 32 32 09 3b 76 65 72 73 69 6f 6e 20 32 2e 32 0d 0a 3b 0d 0a 3b 09 43 6f 70   ┆rs equ 22 ;version 2.2  ;  ; Cop┆
0x0b8b80…0b8ba0             79 72 69 67 68 74 20 28 63 29 20 31 39 38 30 0d 0a 3b 09 44 69 67 69 74 61 6c 20 52 65 73 65 61   ┆yright (c) 1980  ; Digital Resea┆
0x0b8ba0…0b8bc0             72 63 68 0d 0a 3b 09 42 6f 78 20 35 37 39 2c 20 50 61 63 69 66 69 63 20 47 72 6f 76 65 0d 0a 3b   ┆rch  ; Box 579, Pacific Grove  ;┆
0x0b8bc0…0b8be0             09 43 61 6c 69 66 6f 72 6e 69 61 2c 20 39 33 39 35 30 0d 0a 3b 0d 0a 3b 0d 0a 74 72 75 65 09 65   ┆ California, 93950  ;  ;  true e┆
0x0b8be0…0b8c00             71 75 09 30 66 66 66 66 68 09 3b 76 61 6c 75 65 20 6f 66 20 22 74 72 75 65 22 0d 0a 66 61 6c 73   ┆qu 0ffffh ;value of "true"  fals┆
0x0b8c00…0b8c20 (49, 0, 9)  72 79 20 61 67 61 69 6e 0d 0a 09 70 75 73 68 09 62 0d 0a 09 6a 6d 70 09 77 62 6f 6f 74 30 0d 0a   ┆ry again   push b   jmp wboot0  ┆
0x0b8c20…0b8c40             3b 0d 0a 62 6f 6f 74 65 72 30 3a 0d 0a 3b 09 6f 74 68 65 72 77 69 73 65 20 74 6f 6f 20 6d 61 6e   ┆;  booter0:  ; otherwise too man┆
0x0b8c40…0b8c60             79 20 72 65 74 72 69 65 73 0d 0a 09 6c 78 69 09 68 2c 62 6f 6f 74 6d 73 67 0d 0a 09 63 61 6c 6c   ┆y retries   lxi h,bootmsg   call┆
0x0b8c60…0b8c80             09 70 72 6d 73 67 0d 0a 09 6a 6d 70 09 72 6d 6f 6e 38 30 09 3b 6d 64 73 20 68 61 72 64 77 61 72   ┆ prmsg   jmp rmon80 ;mds hardwar┆
0x0b8c80…0b8ca0             65 20 6d 6f 6e 69 74 6f 72 0d 0a 3b 0d 0a 62 6f 6f 74 6d 73 67 3a 0d 0a 09 64 62 09 27 3f 62 6f   ┆e monitor  ;  bootmsg:   db '?bo┆
0x0b8ca0…0b8cc0             6f 74 27 2c 30 0d 0a 3b 0d 0a 3b 0d 0a 63 6f 6e 73 74 3a 09 3b 63 6f 6e 73 6f 6c 65 20 73 74 61   ┆ot',0  ;  ;  const: ;console sta┆
0x0b8cc0…0b8ce0             74 75 73 20 74 6f 20 72 65 67 2d 61 0d 0a 3b 09 28 65 78 61 63 74 6c 79 20 74 68 65 20 73 61 6d   ┆tus to reg-a  ; (exactly the sam┆
0x0b8ce0…0b8d00             65 20 61 73 20 6d 64 73 20 63 61 6c 6c 29 0d 0a 09 6a 6d 70 09 63 73 74 73 0d 0a 3b 0d 0a 63 6f   ┆e as mds call)   jmp csts  ;  co┆
0x0b8d00…0b8d20             6e 69 6e 3a 09 3b 63 6f 6e 73 6f 6c 65 20 63 68 61 72 61 63 74 65 72 20 74 6f 20 72 65 67 2d 61   ┆nin: ;console character to reg-a┆
0x0b8d20…0b8d40             0d 0a 09 63 61 6c 6c 09 63 69 0d 0a 09 61 6e 69 09 37 66 68 09 3b 72 65 6d 6f 76 65 20 70 61 72   ┆   call ci   ani 7fh ;remove par┆
0x0b8d40…0b8d60             69 74 79 20 62 69 74 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 63 6f 6e 6f 75 74 3a 09 3b 63 6f 6e 73 6f   ┆ity bit   ret  ;  conout: ;conso┆
0x0b8d60…0b8d80             6c 65 20 63 68 61 72 61 63 74 65 72 20 66 72 6f 6d 20 63 20 74 6f 20 63 6f 6e 73 6f 6c 65 20 6f   ┆le character from c to console o┆
0x0b8d80…0b8da0             75 74 0d 0a 09 6a 6d 70 09 63 6f 0d 0a 3b 0d 0a 6c 69 73 74 3a 09 3b 6c 69 73 74 20 64 65 76 69   ┆ut   jmp co  ;  list: ;list devi┆
0x0b8da0…0b8dc0             63 65 20 6f 75 74 0d 0a 3b 09 28 65 78 61 63 74 6c 79 20 74 68 65 20 73 61 6d 65 20 61 73 20 6d   ┆ce out  ; (exactly the same as m┆
0x0b8dc0…0b8de0             64 73 20 63 61 6c 6c 29 0d 0a 09 6a 6d 70 09 6c 6f 0d 0a 3b 0d 0a 6c 69 73 74 73 74 3a 0d 0a 09   ┆ds call)   jmp lo  ;  listst:   ┆
0x0b8de0…0b8e00             3b 72 65 74 75 72 6e 20 6c 69 73 74 20 73 74 61 74 75 73 0d 0a 09 78 72 61 09 61 0d 0a 09 72 65   ┆;return list status   xra a   re┆
0x0b8e00…0b8e20 (49, 0, 10) 64 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 63 61 6c 6c 09 73 65 74 66 75 6e 63 0d 0a 09 63 61 6c 6c   ┆d function   call setfunc   call┆
0x0b8e20…0b8e40             09 77 61 69 74 69 6f 09 3b 70 65 72 66 6f 72 6d 20 72 65 61 64 20 66 75 6e 63 74 69 6f 6e 0d 0a   ┆ waitio ;perform read function  ┆
0x0b8e40…0b8e60             09 72 65 74 09 09 3b 6d 61 79 20 68 61 76 65 20 65 72 72 6f 72 20 73 65 74 20 69 6e 20 72 65 67   ┆ ret  ;may have error set in reg┆
0x0b8e60…0b8e80             2d 61 0d 0a 3b 0d 0a 3b 0d 0a 77 72 69 74 65 3a 09 3b 64 69 73 6b 20 77 72 69 74 65 20 66 75 6e   ┆-a  ;  ;  write: ;disk write fun┆
0x0b8e80…0b8ea0             63 74 69 6f 6e 0d 0a 09 6d 76 69 09 63 2c 77 72 69 74 66 0d 0a 09 63 61 6c 6c 09 73 65 74 66 75   ┆ction   mvi c,writf   call setfu┆
0x0b8ea0…0b8ec0             6e 63 09 3b 73 65 74 20 74 6f 20 77 72 69 74 65 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 63 61 6c 6c   ┆nc ;set to write function   call┆
0x0b8ec0…0b8ee0             09 77 61 69 74 69 6f 0d 0a 09 72 65 74 09 09 3b 6d 61 79 20 68 61 76 65 20 65 72 72 6f 72 20 73   ┆ waitio   ret  ;may have error s┆
0x0b8ee0…0b8f00             65 74 0d 0a 3b 0d 0a 3b 0d 0a 3b 09 75 74 69 6c 69 74 79 20 73 75 62 72 6f 75 74 69 6e 65 73 0d   ┆et  ;  ;  ; utility subroutines ┆
0x0b8f00…0b8f20             0a 70 72 6d 73 67 3a 09 3b 70 72 69 6e 74 20 6d 65 73 73 61 67 65 20 61 74 20 68 2c 6c 20 74 6f   ┆ prmsg: ;print message at h,l to┆
0x0b8f20…0b8f40             20 30 0d 0a 09 6d 6f 76 09 61 2c 6d 0d 0a 09 6f 72 61 09 61 09 3b 7a 65 72 6f 3f 0d 0a 09 72 7a   ┆ 0   mov a,m   ora a ;zero?   rz┆
0x0b8f40…0b8f60             0d 0a 3b 09 6d 6f 72 65 20 74 6f 20 70 72 69 6e 74 0d 0a 09 70 75 73 68 09 68 0d 0a 09 6d 6f 76   ┆  ; more to print   push h   mov┆
0x0b8f60…0b8f80             09 63 2c 61 0d 0a 09 63 61 6c 6c 09 63 6f 6e 6f 75 74 0d 0a 09 70 6f 70 09 68 0d 0a 09 69 6e 78   ┆ c,a   call conout   pop h   inx┆
0x0b8f80…0b8fa0             09 68 0d 0a 09 6a 6d 70 09 70 72 6d 73 67 0d 0a 3b 0d 0a 73 65 74 66 75 6e 63 3a 0d 0a 3b 09 73   ┆ h   jmp prmsg  ;  setfunc:  ; s┆
0x0b8fa0…0b8fc0             65 74 20 66 75 6e 63 74 69 6f 6e 20 66 6f 72 20 6e 65 78 74 20 69 2f 6f 20 28 63 6f 6d 6d 61 6e   ┆et function for next i/o (comman┆
0x0b8fc0…0b8fe0             64 20 69 6e 20 72 65 67 2d 63 29 0d 0a 09 6c 78 69 09 68 2c 69 6f 66 09 3b 69 6f 20 66 75 6e 63   ┆d in reg-c)   lxi h,iof ;io func┆
0x0b8fe0…0b9000             74 69 6f 6e 20 61 64 64 72 65 73 73 0d 0a 09 6d 6f 76 09 61 2c 6d 09 3b 67 65 74 20 69 74 20 74   ┆tion address   mov a,m ;get it t┆
0x0b9000…0b9020 (49, 0, 11) 20 61 63 63 75 6d 75 6c 61 74 6f 72 20 63 6f 6e 74 61 69 6e 73 20 7a 65 72 6f 0d 0a 09 72 65 74   ┆ accumulator contains zero   ret┆
0x0b9020…0b9040             0d 0a 3b 0d 0a 77 72 65 61 64 79 3a 09 3b 6e 6f 74 20 72 65 61 64 79 2c 20 74 72 65 61 74 20 61   ┆  ;  wready: ;not ready, treat a┆
0x0b9040…0b9060             73 20 65 72 72 6f 72 20 66 6f 72 20 6e 6f 77 0d 0a 09 63 61 6c 6c 09 69 6e 62 79 74 65 09 09 3b   ┆s error for now   call inbyte  ;┆
0x0b9060…0b9080             63 6c 65 61 72 20 72 65 73 75 6c 74 20 62 79 74 65 0d 0a 09 6a 6d 70 09 74 72 79 63 6f 75 6e 74   ┆clear result byte   jmp trycount┆
0x0b9080…0b90a0             0d 0a 3b 0d 0a 77 65 72 72 6f 72 3a 09 3b 72 65 74 75 72 6e 20 68 61 72 64 77 61 72 65 20 6d 61   ┆  ;  werror: ;return hardware ma┆
0x0b90a0…0b90c0             6c 66 75 6e 63 74 69 6f 6e 20 28 63 72 63 2c 20 74 72 61 63 6b 2c 20 73 65 65 6b 2c 20 65 74 63   ┆lfunction (crc, track, seek, etc┆
0x0b90c0…0b90e0             2e 29 0d 0a 3b 09 74 68 65 20 6d 64 73 20 63 6f 6e 74 72 6f 6c 6c 65 72 20 68 61 73 20 72 65 74   ┆.)  ; the mds controller has ret┆
0x0b90e0…0b9100             75 72 6e 65 64 20 61 20 62 69 74 20 69 6e 20 65 61 63 68 20 70 6f 73 69 74 69 6f 6e 0d 0a 3b 09   ┆urned a bit in each position  ; ┆
0x0b9100…0b9120             6f 66 20 74 68 65 20 61 63 63 75 6d 75 6c 61 74 6f 72 2c 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e   ┆of the accumulator, correspondin┆
0x0b9120…0b9140             67 20 74 6f 20 74 68 65 20 63 6f 6e 64 69 74 69 6f 6e 73 3a 0d 0a 3b 09 30 09 2d 20 64 65 6c 65   ┆g to the conditions:  ; 0 - dele┆
0x0b9140…0b9160             74 65 64 20 64 61 74 61 20 28 61 63 63 65 70 74 65 64 20 61 73 20 6f 6b 20 61 62 6f 76 65 29 0d   ┆ted data (accepted as ok above) ┆
0x0b9160…0b9180             0a 3b 09 31 09 2d 20 63 72 63 20 65 72 72 6f 72 0d 0a 3b 09 32 09 2d 20 73 65 65 6b 20 65 72 72   ┆ ; 1 - crc error  ; 2 - seek err┆
0x0b9180…0b91a0             6f 72 0d 0a 3b 09 33 09 2d 20 61 64 64 72 65 73 73 20 65 72 72 6f 72 20 28 68 61 72 64 77 61 72   ┆or  ; 3 - address error (hardwar┆
0x0b91a0…0b91c0             65 20 6d 61 6c 66 75 6e 63 74 69 6f 6e 29 0d 0a 3b 09 34 09 2d 20 64 61 74 61 20 6f 76 65 72 2f   ┆e malfunction)  ; 4 - data over/┆
0x0b91c0…0b91e0             75 6e 64 65 72 20 66 6c 6f 77 20 28 68 61 72 64 77 61 72 65 20 6d 61 6c 66 75 6e 63 74 69 6f 6e   ┆under flow (hardware malfunction┆
0x0b91e0…0b9200             29 0d 0a 3b 09 35 09 2d 20 77 72 69 74 65 20 70 72 6f 74 65 63 74 20 28 74 72 65 61 74 65 64 20   ┆)  ; 5 - write protect (treated ┆
0x0b9200…0b9220 (49, 0, 12) 65 09 65 71 75 09 6e 6f 74 20 74 72 75 65 09 3b 22 66 61 6c 73 65 22 0d 0a 74 65 73 74 09 65 71   ┆e equ not true ;"false"  test eq┆
0x0b9220…0b9240             75 09 66 61 6c 73 65 09 3b 74 72 75 65 20 69 66 20 74 65 73 74 20 62 69 6f 73 0d 0a 3b 0d 0a 09   ┆u false ;true if test bios  ;   ┆
0x0b9240…0b9260             69 66 09 74 65 73 74 0d 0a 62 69 61 73 09 65 71 75 09 30 33 34 30 30 68 09 3b 62 61 73 65 20 6f   ┆if test  bias equ 03400h ;base o┆
0x0b9260…0b9280             66 20 43 43 50 20 69 6e 20 74 65 73 74 20 73 79 73 74 65 6d 0d 0a 09 65 6e 64 69 66 0d 0a 09 69   ┆f CCP in test system   endif   i┆
0x0b9280…0b92a0             66 09 6e 6f 74 20 74 65 73 74 0d 0a 62 69 61 73 09 65 71 75 09 30 30 30 30 68 09 3b 67 65 6e 65   ┆f not test  bias equ 0000h ;gene┆
0x0b92a0…0b92c0             72 61 74 65 20 72 65 6c 6f 63 61 74 61 62 6c 65 20 63 70 2f 6d 20 73 79 73 74 65 6d 0d 0a 09 65   ┆rate relocatable cp/m system   e┆
0x0b92c0…0b92e0             6e 64 69 66 0d 0a 3b 0d 0a 70 61 74 63 68 09 65 71 75 09 31 36 30 30 68 0d 0a 3b 0d 0a 09 6f 72   ┆ndif  ;  patch equ 1600h  ;   or┆
0x0b92e0…0b9300             67 09 70 61 74 63 68 0d 0a 63 70 6d 62 09 65 71 75 09 24 2d 70 61 74 63 68 09 3b 62 61 73 65 20   ┆g patch  cpmb equ $-patch ;base ┆
0x0b9300…0b9320             6f 66 20 63 70 6d 20 63 6f 6e 73 6f 6c 65 20 70 72 6f 63 65 73 73 6f 72 0d 0a 62 64 6f 73 09 65   ┆of cpm console processor  bdos e┆
0x0b9320…0b9340             71 75 09 38 30 36 68 2b 63 70 6d 62 09 3b 62 61 73 69 63 20 64 6f 73 20 28 72 65 73 69 64 65 6e   ┆qu 806h+cpmb ;basic dos (residen┆
0x0b9340…0b9360             74 20 70 6f 72 74 69 6f 6e 29 0d 0a 63 70 6d 6c 09 65 71 75 09 24 2d 63 70 6d 62 09 3b 6c 65 6e   ┆t portion)  cpml equ $-cpmb ;len┆
0x0b9360…0b9380             67 74 68 20 28 69 6e 20 62 79 74 65 73 29 20 6f 66 20 63 70 6d 20 73 79 73 74 65 6d 0d 0a 6e 73   ┆gth (in bytes) of cpm system  ns┆
0x0b9380…0b93a0             65 63 74 73 09 65 71 75 09 63 70 6d 6c 2f 31 32 38 09 3b 6e 75 6d 62 65 72 20 6f 66 20 73 65 63   ┆ects equ cpml/128 ;number of sec┆
0x0b93a0…0b93c0             74 6f 72 73 20 74 6f 20 6c 6f 61 64 0d 0a 6f 66 66 73 65 74 09 65 71 75 09 32 09 3b 6e 75 6d 62   ┆tors to load  offset equ 2 ;numb┆
0x0b93c0…0b93e0             65 72 20 6f 66 20 64 69 73 6b 20 74 72 61 63 6b 73 20 75 73 65 64 20 62 79 20 63 70 2f 6d 0d 0a   ┆er of disk tracks used by cp/m  ┆
0x0b93e0…0b9400             63 64 69 73 6b 09 65 71 75 09 30 30 30 34 68 09 3b 61 64 64 72 65 73 73 20 6f 66 20 6c 61 73 74   ┆cdisk equ 0004h ;address of last┆
0x0b9400…0b9420 (49, 0, 13) 74 09 09 3b 61 6c 77 61 79 73 20 6e 6f 74 20 72 65 61 64 79 0d 0a 3b 0d 0a 70 75 6e 63 68 3a 09   ┆t  ;always not ready  ;  punch: ┆
0x0b9420…0b9440             3b 70 75 6e 63 68 20 64 65 76 69 63 65 20 6f 75 74 0d 0a 3b 09 28 65 78 61 63 74 6c 79 20 74 68   ┆;punch device out  ; (exactly th┆
0x0b9440…0b9460             65 20 73 61 6d 65 20 61 73 20 6d 64 73 20 63 61 6c 6c 29 0d 0a 09 6a 6d 70 09 70 6f 0d 0a 3b 0d   ┆e same as mds call)   jmp po  ; ┆
0x0b9460…0b9480             0a 72 65 61 64 65 72 3a 09 3b 72 65 61 64 65 72 20 63 68 61 72 61 63 74 65 72 20 69 6e 20 74 6f   ┆ reader: ;reader character in to┆
0x0b9480…0b94a0             20 72 65 67 2d 61 0d 0a 3b 09 28 65 78 61 63 74 6c 79 20 74 68 65 20 73 61 6d 65 20 61 73 20 6d   ┆ reg-a  ; (exactly the same as m┆
0x0b94a0…0b94c0             64 73 20 63 61 6c 6c 29 0d 0a 09 6a 6d 70 09 72 69 0d 0a 3b 0d 0a 68 6f 6d 65 3a 09 3b 6d 6f 76   ┆ds call)   jmp ri  ;  home: ;mov┆
0x0b94c0…0b94e0             65 20 74 6f 20 68 6f 6d 65 20 70 6f 73 69 74 69 6f 6e 0d 0a 3b 09 74 72 65 61 74 20 61 73 20 74   ┆e to home position  ; treat as t┆
0x0b94e0…0b9500             72 61 63 6b 20 30 30 20 73 65 65 6b 0d 0a 09 6d 76 69 09 63 2c 30 0d 0a 09 6a 6d 70 09 73 65 74   ┆rack 00 seek   mvi c,0   jmp set┆
0x0b9500…0b9520             74 72 6b 0d 0a 3b 0d 0a 73 65 6c 64 73 6b 3a 09 3b 73 65 6c 65 63 74 20 64 69 73 6b 20 67 69 76   ┆trk  ;  seldsk: ;select disk giv┆
0x0b9520…0b9540             65 6e 20 62 79 20 72 65 67 69 73 74 65 72 20 63 0d 0a 09 6c 78 69 09 68 2c 30 30 30 30 68 09 3b   ┆en by register c   lxi h,0000h ;┆
0x0b9540…0b9560             72 65 74 75 72 6e 20 30 30 30 30 20 69 66 20 65 72 72 6f 72 0d 0a 09 6d 6f 76 09 61 2c 63 0d 0a   ┆return 0000 if error   mov a,c  ┆
0x0b9560…0b9580             09 63 70 69 09 6e 64 69 73 6b 73 09 3b 74 6f 6f 20 6c 61 72 67 65 3f 0d 0a 09 72 6e 63 09 09 3b   ┆ cpi ndisks ;too large?   rnc  ;┆
0x0b9580…0b95a0             6c 65 61 76 65 20 48 4c 20 3d 20 30 30 30 30 0d 0a 3b 0d 0a 09 61 6e 69 09 31 30 62 09 3b 30 30   ┆leave HL = 0000  ;   ani 10b ;00┆
0x0b95a0…0b95c0             20 30 30 20 66 6f 72 20 64 72 69 76 65 20 30 2c 31 20 61 6e 64 20 31 30 20 31 30 20 66 6f 72 20   ┆ 00 for drive 0,1 and 10 10 for ┆
0x0b95c0…0b95e0             64 72 69 76 65 20 32 2c 33 0d 0a 09 73 74 61 09 64 62 61 6e 6b 09 3b 74 6f 20 73 65 6c 65 63 74   ┆drive 2,3   sta dbank ;to select┆
0x0b95e0…0b9600             20 64 72 69 76 65 20 62 61 6e 6b 0d 0a 09 6d 6f 76 09 61 2c 63 09 3b 30 30 2c 20 30 31 2c 20 31   ┆ drive bank   mov a,c ;00, 01, 1┆
0x0b9600…0b9620 (49, 0, 14) 6f 20 61 63 63 75 6d 75 6c 61 74 6f 72 20 66 6f 72 20 6d 61 73 6b 69 6e 67 0d 0a 09 61 6e 69 09   ┆o accumulator for masking   ani ┆
0x0b9620…0b9640             31 31 31 31 31 30 30 30 62 09 3b 72 65 6d 6f 76 65 20 70 72 65 76 69 6f 75 73 20 63 6f 6d 6d 61   ┆11111000b ;remove previous comma┆
0x0b9640…0b9660             6e 64 0d 0a 09 6f 72 61 09 63 09 3b 73 65 74 20 74 6f 20 6e 65 77 20 63 6f 6d 6d 61 6e 64 0d 0a   ┆nd   ora c ;set to new command  ┆
0x0b9660…0b9680             09 6d 6f 76 09 6d 2c 61 09 3b 72 65 70 6c 61 63 65 64 20 69 6e 20 69 6f 70 62 0d 0a 3b 09 74 68   ┆ mov m,a ;replaced in iopb  ; th┆
0x0b9680…0b96a0             65 20 6d 64 73 2d 38 30 30 20 63 6f 6e 74 72 6f 6c 6c 65 72 20 72 65 71 75 69 72 65 73 20 64 69   ┆e mds-800 controller requires di┆
0x0b96a0…0b96c0             73 6b 20 62 61 6e 6b 20 62 69 74 20 69 6e 20 73 65 63 74 6f 72 20 62 79 74 65 0d 0a 3b 09 6d 61   ┆sk bank bit in sector byte  ; ma┆
0x0b96c0…0b96e0             73 6b 20 74 68 65 20 62 69 74 20 66 72 6f 6d 20 74 68 65 20 63 75 72 72 65 6e 74 20 69 2f 6f 20   ┆sk the bit from the current i/o ┆
0x0b96e0…0b9700             66 75 6e 63 74 69 6f 6e 0d 0a 09 61 6e 69 09 30 30 31 30 30 30 30 30 62 09 3b 6d 61 73 6b 20 74   ┆function   ani 00100000b ;mask t┆
0x0b9700…0b9720             68 65 20 64 69 73 6b 20 73 65 6c 65 63 74 20 62 69 74 0d 0a 09 6c 78 69 09 68 2c 69 6f 73 09 09   ┆he disk select bit   lxi h,ios  ┆
0x0b9720…0b9740             3b 61 64 64 72 65 73 73 20 74 68 65 20 73 65 63 74 6f 72 20 73 65 6c 65 63 74 20 62 79 74 65 0d   ┆;address the sector select byte ┆
0x0b9740…0b9760             0a 09 6f 72 61 09 6d 09 09 3b 73 65 6c 65 63 74 20 70 72 6f 70 65 72 20 64 69 73 6b 20 62 61 6e   ┆  ora m  ;select proper disk ban┆
0x0b9760…0b9780             6b 0d 0a 09 6d 6f 76 09 6d 2c 61 09 09 3b 73 65 74 20 64 69 73 6b 20 73 65 6c 65 63 74 20 62 69   ┆k   mov m,a  ;set disk select bi┆
0x0b9780…0b97a0             74 20 6f 6e 2f 6f 66 66 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 77 61 69 74 69 6f 3a 0d 0a 09 6d 76 69   ┆t on/off   ret  ;  waitio:   mvi┆
0x0b97a0…0b97c0             09 63 2c 72 65 74 72 79 09 3b 6d 61 78 20 72 65 74 72 69 65 73 20 62 65 66 6f 72 65 20 70 65 72   ┆ c,retry ;max retries before per┆
0x0b97c0…0b97e0             6d 20 65 72 72 6f 72 0d 0a 72 65 77 61 69 74 3a 0d 0a 3b 09 73 74 61 72 74 20 74 68 65 20 69 2f   ┆m error  rewait:  ; start the i/┆
0x0b97e0…0b9800             6f 20 66 75 6e 63 74 69 6f 6e 20 61 6e 64 20 77 61 69 74 20 66 6f 72 20 63 6f 6d 70 6c 65 74 69   ┆o function and wait for completi┆
0x0b9800…0b9820 (49, 0, 15) 61 73 20 6e 6f 74 20 72 65 61 64 79 29 0d 0a 3b 09 36 09 2d 20 77 72 69 74 65 20 65 72 72 6f 72   ┆as not ready)  ; 6 - write error┆
0x0b9820…0b9840             20 28 68 61 72 64 77 61 72 65 20 6d 61 6c 66 75 6e 63 74 69 6f 6e 29 0d 0a 3b 09 37 09 2d 20 6e   ┆ (hardware malfunction)  ; 7 - n┆
0x0b9840…0b9860             6f 74 20 72 65 61 64 79 0d 0a 3b 09 28 61 63 63 75 6d 75 6c 61 74 6f 72 20 62 69 74 73 20 61 72   ┆ot ready  ; (accumulator bits ar┆
0x0b9860…0b9880             65 20 6e 75 6d 62 65 72 65 64 20 37 20 36 20 35 20 34 20 33 20 32 20 31 20 30 29 0d 0a 3b 0d 0a   ┆e numbered 7 6 5 4 3 2 1 0)  ;  ┆
0x0b9880…0b98a0             3b 09 69 74 20 6d 61 79 20 62 65 20 75 73 65 66 75 6c 20 74 6f 20 66 69 6c 74 65 72 20 6f 75 74   ┆; it may be useful to filter out┆
0x0b98a0…0b98c0             20 74 68 65 20 76 61 72 69 6f 75 73 20 63 6f 6e 64 69 74 69 6f 6e 73 2c 0d 0a 3b 09 62 75 74 20   ┆ the various conditions,  ; but ┆
0x0b98c0…0b98e0             77 65 20 77 69 6c 6c 20 67 65 74 20 61 20 70 65 72 6d 61 6e 65 6e 74 20 65 72 72 6f 72 20 6d 65   ┆we will get a permanent error me┆
0x0b98e0…0b9900             73 73 61 67 65 20 69 66 20 69 74 20 69 73 20 6e 6f 74 0d 0a 3b 09 72 65 63 6f 76 65 72 61 62 6c   ┆ssage if it is not  ; recoverabl┆
0x0b9900…0b9920             65 2e 20 20 69 6e 20 61 6e 79 20 63 61 73 65 2c 20 74 68 65 20 6e 6f 74 20 72 65 61 64 79 20 63   ┆e.  in any case, the not ready c┆
0x0b9920…0b9940             6f 6e 64 69 74 69 6f 6e 20 69 73 0d 0a 3b 09 74 72 65 61 74 65 64 20 61 73 20 61 20 73 65 70 61   ┆ondition is  ; treated as a sepa┆
0x0b9940…0b9960             72 61 74 65 20 63 6f 6e 64 69 74 69 6f 6e 20 66 6f 72 20 6c 61 74 65 72 20 69 6d 70 72 6f 76 65   ┆rate condition for later improve┆
0x0b9960…0b9980             6d 65 6e 74 0d 0a 74 72 79 63 6f 75 6e 74 3a 0d 0a 3b 09 72 65 67 69 73 74 65 72 20 63 20 63 6f   ┆ment  trycount:  ; register c co┆
0x0b9980…0b99a0             6e 74 61 69 6e 73 20 72 65 74 72 79 20 63 6f 75 6e 74 2c 20 64 65 63 72 65 6d 65 6e 74 20 27 74   ┆ntains retry count, decrement 't┆
0x0b99a0…0b99c0             69 6c 20 7a 65 72 6f 0d 0a 09 64 63 72 09 63 0d 0a 09 6a 6e 7a 09 72 65 77 61 69 74 09 3b 66 6f   ┆il zero   dcr c   jnz rewait ;fo┆
0x0b99c0…0b99e0             72 20 61 6e 6f 74 68 65 72 20 74 72 79 0d 0a 3b 0d 0a 3b 09 63 61 6e 6e 6f 74 20 72 65 63 6f 76   ┆r another try  ;  ; cannot recov┆
0x0b99e0…0b9a00             65 72 20 66 72 6f 6d 20 65 72 72 6f 72 0d 0a 09 6d 76 69 09 61 2c 31 09 3b 65 72 72 6f 72 20 63   ┆er from error   mvi a,1 ;error c┆
0x0b9a00…0b9a20 (49, 1, 1)  20 6c 6f 67 67 65 64 20 64 69 73 6b 20 6f 6e 20 77 61 72 6d 20 73 74 61 72 74 0d 0a 62 75 66 66   ┆ logged disk on warm start  buff┆
0x0b9a20…0b9a40             09 65 71 75 09 30 30 38 30 68 09 3b 64 65 66 61 75 6c 74 20 62 75 66 66 65 72 20 61 64 64 72 65   ┆ equ 0080h ;default buffer addre┆
0x0b9a40…0b9a60             73 73 0d 0a 72 65 74 72 79 09 65 71 75 09 31 30 09 3b 6d 61 78 20 72 65 74 72 69 65 73 20 6f 6e   ┆ss  retry equ 10 ;max retries on┆
0x0b9a60…0b9a80             20 64 69 73 6b 20 69 2f 6f 20 62 65 66 6f 72 65 20 65 72 72 6f 72 0d 0a 3b 0d 0a 3b 09 70 65 72   ┆ disk i/o before error  ;  ; per┆
0x0b9a80…0b9aa0             66 6f 72 6d 20 66 6f 6c 6c 6f 77 69 6e 67 20 66 75 6e 63 74 69 6f 6e 73 0d 0a 3b 09 62 6f 6f 74   ┆form following functions  ; boot┆
0x0b9aa0…0b9ac0             09 63 6f 6c 64 20 73 74 61 72 74 0d 0a 3b 09 77 62 6f 6f 74 09 77 61 72 6d 20 73 74 61 72 74 20   ┆ cold start  ; wboot warm start ┆
0x0b9ac0…0b9ae0             28 73 61 76 65 20 69 2f 6f 20 62 79 74 65 29 0d 0a 3b 09 28 62 6f 6f 74 20 61 6e 64 20 77 62 6f   ┆(save i/o byte)  ; (boot and wbo┆
0x0b9ae0…0b9b00             6f 74 20 61 72 65 20 74 68 65 20 73 61 6d 65 20 66 6f 72 20 6d 64 73 29 0d 0a 3b 09 63 6f 6e 73   ┆ot are the same for mds)  ; cons┆
0x0b9b00…0b9b20             74 09 63 6f 6e 73 6f 6c 65 20 73 74 61 74 75 73 0d 0a 3b 09 09 72 65 67 2d 61 20 3d 20 30 30 20   ┆t console status  ;  reg-a = 00 ┆
0x0b9b20…0b9b40             69 66 20 6e 6f 20 63 68 61 72 61 63 74 65 72 20 72 65 61 64 79 0d 0a 3b 09 09 72 65 67 2d 61 20   ┆if no character ready  ;  reg-a ┆
0x0b9b40…0b9b60             3d 20 66 66 20 69 66 20 63 68 61 72 61 63 74 65 72 20 72 65 61 64 79 0d 0a 3b 09 63 6f 6e 69 6e   ┆= ff if character ready  ; conin┆
0x0b9b60…0b9b80             09 63 6f 6e 73 6f 6c 65 20 63 68 61 72 61 63 74 65 72 20 69 6e 20 28 72 65 73 75 6c 74 20 69 6e   ┆ console character in (result in┆
0x0b9b80…0b9ba0             20 72 65 67 2d 61 29 0d 0a 3b 09 63 6f 6e 6f 75 74 09 63 6f 6e 73 6f 6c 65 20 63 68 61 72 61 63   ┆ reg-a)  ; conout console charac┆
0x0b9ba0…0b9bc0             74 65 72 20 6f 75 74 20 28 63 68 61 72 20 69 6e 20 72 65 67 2d 63 29 0d 0a 3b 09 6c 69 73 74 09   ┆ter out (char in reg-c)  ; list ┆
0x0b9bc0…0b9be0             6c 69 73 74 20 6f 75 74 20 28 63 68 61 72 20 69 6e 20 72 65 67 2d 63 29 0d 0a 3b 09 70 75 6e 63   ┆list out (char in reg-c)  ; punc┆
0x0b9be0…0b9c00             68 09 70 75 6e 63 68 20 6f 75 74 20 28 63 68 61 72 20 69 6e 20 72 65 67 2d 63 29 0d 0a 3b 09 72   ┆h punch out (char in reg-c)  ; r┆
0x0b9c00…0b9c20 (49, 1, 2)  70 74 20 63 6f 6e 74 72 6f 6c 20 70 6f 72 74 0d 0a 69 6e 74 65 09 65 71 75 09 30 31 31 31 24 31   ┆pt control port  inte equ 0111$1┆
0x0b9c20…0b9c40             31 31 30 62 09 3b 65 6e 61 62 6c 65 20 72 73 74 20 30 28 77 61 72 6d 20 62 6f 6f 74 29 2c 20 72   ┆110b ;enable rst 0(warm boot), r┆
0x0b9c40…0b9c60             73 74 20 37 20 28 6d 6f 6e 69 74 6f 72 29 0d 0a 3b 0d 0a 3b 09 6d 64 73 20 6d 6f 6e 69 74 6f 72   ┆st 7 (monitor)  ;  ; mds monitor┆
0x0b9c60…0b9c80             20 65 71 75 61 74 65 73 0d 0a 6d 6f 6e 38 30 09 65 71 75 09 30 66 38 30 30 68 09 3b 6d 64 73 20   ┆ equates  mon80 equ 0f800h ;mds ┆
0x0b9c80…0b9ca0             6d 6f 6e 69 74 6f 72 0d 0a 72 6d 6f 6e 38 30 09 65 71 75 09 30 66 66 30 66 68 09 3b 72 65 73 74   ┆monitor  rmon80 equ 0ff0fh ;rest┆
0x0b9ca0…0b9cc0             61 72 74 20 6d 6f 6e 38 30 20 28 62 6f 6f 74 20 65 72 72 6f 72 29 0d 0a 63 69 09 65 71 75 09 30   ┆art mon80 (boot error)  ci equ 0┆
0x0b9cc0…0b9ce0             66 38 30 33 68 09 3b 63 6f 6e 73 6f 6c 65 20 63 68 61 72 61 63 74 65 72 20 74 6f 20 72 65 67 2d   ┆f803h ;console character to reg-┆
0x0b9ce0…0b9d00             61 0d 0a 72 69 09 65 71 75 09 30 66 38 30 36 68 09 3b 72 65 61 64 65 72 20 69 6e 20 74 6f 20 72   ┆a  ri equ 0f806h ;reader in to r┆
0x0b9d00…0b9d20             65 67 2d 61 0d 0a 63 6f 09 65 71 75 09 30 66 38 30 39 68 09 3b 63 6f 6e 73 6f 6c 65 20 63 68 61   ┆eg-a  co equ 0f809h ;console cha┆
0x0b9d20…0b9d40             72 20 66 72 6f 6d 20 63 20 74 6f 20 63 6f 6e 73 6f 6c 65 20 6f 75 74 0d 0a 70 6f 09 65 71 75 09   ┆r from c to console out  po equ ┆
0x0b9d40…0b9d60             30 66 38 30 63 68 09 3b 70 75 6e 63 68 20 63 68 61 72 20 66 72 6f 6d 20 63 20 74 6f 20 70 75 6e   ┆0f80ch ;punch char from c to pun┆
0x0b9d60…0b9d80             63 68 20 64 65 76 69 63 65 0d 0a 6c 6f 09 65 71 75 09 30 66 38 30 66 68 09 3b 6c 69 73 74 20 66   ┆ch device  lo equ 0f80fh ;list f┆
0x0b9d80…0b9da0             72 6f 6d 20 63 20 74 6f 20 6c 69 73 74 20 64 65 76 69 63 65 0d 0a 63 73 74 73 09 65 71 75 09 30   ┆rom c to list device  csts equ 0┆
0x0b9da0…0b9dc0             66 38 31 32 68 09 3b 63 6f 6e 73 6f 6c 65 20 73 74 61 74 75 73 20 30 30 2f 66 66 20 74 6f 20 72   ┆f812h ;console status 00/ff to r┆
0x0b9dc0…0b9de0             65 67 69 73 74 65 72 20 61 0d 0a 3b 0d 0a 3b 09 64 69 73 6b 20 70 6f 72 74 73 20 61 6e 64 20 63   ┆egister a  ;  ; disk ports and c┆
0x0b9de0…0b9e00             6f 6d 6d 61 6e 64 73 0d 0a 62 61 73 65 09 65 71 75 09 37 38 68 09 3b 62 61 73 65 20 6f 66 20 64   ┆ommands  base equ 78h ;base of d┆
0x0b9e00…0b9e20 (49, 1, 3)  0d 0a 09 6a 6e 7a 09 62 6f 6f 74 65 72 72 09 3b 72 65 74 72 79 20 69 66 20 65 72 72 6f 72 73 20   ┆   jnz booterr ;retry if errors ┆
0x0b9e20…0b9e40             6f 63 63 75 72 0d 0a 09 6c 68 6c 64 09 69 6f 64 09 3b 69 6e 63 72 65 6d 65 6e 74 20 64 6d 61 20   ┆occur   lhld iod ;increment dma ┆
0x0b9e40…0b9e60             61 64 64 72 65 73 73 0d 0a 09 6c 78 69 09 64 2c 31 32 38 09 3b 73 65 63 74 6f 72 20 73 69 7a 65   ┆address   lxi d,128 ;sector size┆
0x0b9e60…0b9e80             0d 0a 09 64 61 64 09 64 09 3b 69 6e 63 72 65 6d 65 6e 74 65 64 20 64 6d 61 20 61 64 64 72 65 73   ┆   dad d ;incremented dma addres┆
0x0b9e80…0b9ea0             73 20 69 6e 20 68 6c 0d 0a 09 6d 6f 76 09 62 2c 68 0d 0a 09 6d 6f 76 09 63 2c 6c 09 3b 72 65 61   ┆s in hl   mov b,h   mov c,l ;rea┆
0x0b9ea0…0b9ec0             64 79 20 66 6f 72 20 63 61 6c 6c 20 74 6f 20 73 65 74 20 64 6d 61 0d 0a 09 63 61 6c 6c 09 73 65   ┆dy for call to set dma   call se┆
0x0b9ec0…0b9ee0             74 64 6d 61 0d 0a 09 6c 64 61 09 69 6f 73 09 3b 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 20 6a 75   ┆tdma   lda ios ;sector number ju┆
0x0b9ee0…0b9f00             73 74 20 72 65 61 64 0d 0a 09 63 70 69 09 32 36 09 3b 72 65 61 64 20 6c 61 73 74 20 73 65 63 74   ┆st read   cpi 26 ;read last sect┆
0x0b9f00…0b9f20             6f 72 3f 0d 0a 09 6a 63 09 72 64 31 0d 0a 3b 09 6d 75 73 74 20 62 65 20 73 65 63 74 6f 72 20 32   ┆or?   jc rd1  ; must be sector 2┆
0x0b9f20…0b9f40             36 2c 20 7a 65 72 6f 20 61 6e 64 20 67 6f 20 74 6f 20 6e 65 78 74 20 74 72 61 63 6b 0d 0a 09 6c   ┆6, zero and go to next track   l┆
0x0b9f40…0b9f60             64 61 09 69 6f 74 09 3b 67 65 74 20 74 72 61 63 6b 20 74 6f 20 72 65 67 69 73 74 65 72 20 61 0d   ┆da iot ;get track to register a ┆
0x0b9f60…0b9f80             0a 09 69 6e 72 09 61 0d 0a 09 6d 6f 76 09 63 2c 61 09 3b 72 65 61 64 79 20 66 6f 72 20 63 61 6c   ┆  inr a   mov c,a ;ready for cal┆
0x0b9f80…0b9fa0             6c 0d 0a 09 63 61 6c 6c 09 73 65 74 74 72 6b 0d 0a 09 78 72 61 09 61 09 3b 63 6c 65 61 72 20 73   ┆l   call settrk   xra a ;clear s┆
0x0b9fa0…0b9fc0             65 63 74 6f 72 20 6e 75 6d 62 65 72 0d 0a 72 64 31 3a 09 69 6e 72 09 61 09 3b 74 6f 20 6e 65 78   ┆ector number  rd1: inr a ;to nex┆
0x0b9fc0…0b9fe0             74 20 73 65 63 74 6f 72 0d 0a 09 6d 6f 76 09 63 2c 61 09 3b 72 65 61 64 79 20 66 6f 72 20 63 61   ┆t sector   mov c,a ;ready for ca┆
0x0b9fe0…0ba000             6c 6c 0d 0a 09 63 61 6c 6c 09 73 65 74 73 65 63 0d 0a 09 70 6f 70 09 62 09 3b 72 65 63 61 6c 6c   ┆ll   call setsec   pop b ;recall┆
0x0ba000…0ba020 (49, 1, 4)  6f 0d 0a 3b 0d 0a 72 65 61 64 65 72 3a 09 3b 72 65 61 64 65 72 20 63 68 61 72 61 63 74 65 72 20   ┆o  ;  reader: ;reader character ┆
0x0ba020…0ba040             69 6e 20 74 6f 20 72 65 67 2d 61 0d 0a 3b 09 28 65 78 61 63 74 6c 79 20 74 68 65 20 73 61 6d 65   ┆in to reg-a  ; (exactly the same┆
0x0ba040…0ba060             20 61 73 20 6d 64 73 20 63 61 6c 6c 29 0d 0a 09 6a 6d 70 09 72 69 0d 0a 3b 0d 0a 68 6f 6d 65 3a   ┆ as mds call)   jmp ri  ;  home:┆
0x0ba060…0ba080             09 3b 6d 6f 76 65 20 74 6f 20 68 6f 6d 65 20 70 6f 73 69 74 69 6f 6e 0d 0a 3b 09 74 72 65 61 74   ┆ ;move to home position  ; treat┆
0x0ba080…0ba0a0             20 61 73 20 74 72 61 63 6b 20 30 30 20 73 65 65 6b 0d 0a 09 6d 76 69 09 63 2c 30 0d 0a 09 6a 6d   ┆ as track 00 seek   mvi c,0   jm┆
0x0ba0a0…0ba0c0             70 09 73 65 74 74 72 6b 0d 0a 3b 0d 0a 73 65 6c 64 73 6b 3a 09 3b 73 65 6c 65 63 74 20 64 69 73   ┆p settrk  ;  seldsk: ;select dis┆
0x0ba0c0…0ba0e0             6b 20 67 69 76 65 6e 20 62 79 20 72 65 67 69 73 74 65 72 20 63 0d 0a 09 6c 78 69 09 68 2c 30 30   ┆k given by register c   lxi h,00┆
0x0ba0e0…0ba100             30 30 68 09 3b 72 65 74 75 72 6e 20 30 30 30 30 20 69 66 20 65 72 72 6f 72 0d 0a 09 6d 6f 76 09   ┆00h ;return 0000 if error   mov ┆
0x0ba100…0ba120             61 2c 63 0d 0a 09 63 70 69 09 6e 64 69 73 6b 73 09 3b 74 6f 6f 20 6c 61 72 67 65 3f 0d 0a 09 72   ┆a,c   cpi ndisks ;too large?   r┆
0x0ba120…0ba140             6e 63 09 09 3b 6c 65 61 76 65 20 48 4c 20 3d 20 30 30 30 30 0d 0a 3b 0d 0a 09 61 6e 69 09 31 30   ┆nc  ;leave HL = 0000  ;   ani 10┆
0x0ba140…0ba160             62 09 3b 30 30 20 30 30 20 66 6f 72 20 64 72 69 76 65 20 30 2c 31 20 61 6e 64 20 31 30 20 31 30   ┆b ;00 00 for drive 0,1 and 10 10┆
0x0ba160…0ba180             20 66 6f 72 20 64 72 69 76 65 20 32 2c 33 0d 0a 09 73 74 61 09 64 62 61 6e 6b 09 3b 74 6f 20 73   ┆ for drive 2,3   sta dbank ;to s┆
0x0ba180…0ba1a0             65 6c 65 63 74 20 64 72 69 76 65 20 62 61 6e 6b 0d 0a 09 6d 6f 76 09 61 2c 63 09 3b 30 30 2c 20   ┆elect drive bank   mov a,c ;00, ┆
0x0ba1a0…0ba1c0             30 31 2c 20 31 30 2c 20 31 31 0d 0a 09 61 6e 69 09 31 62 09 3b 6d 64 73 20 68 61 73 20 30 2c 31   ┆01, 10, 11   ani 1b ;mds has 0,1┆
0x0ba1c0…0ba1e0             20 61 74 20 37 38 2c 20 32 2c 33 20 61 74 20 38 38 0d 0a 09 6f 72 61 09 61 09 3b 72 65 73 75 6c   ┆ at 78, 2,3 at 88   ora a ;resul┆
0x0ba1e0…0ba200             74 20 30 30 3f 0d 0a 09 6a 7a 09 73 65 74 64 72 69 76 65 0d 0a 09 6d 76 69 09 61 2c 30 30 31 31   ┆t 00?   jz setdrive   mvi a,0011┆
0x0ba200…0ba220 (49, 1, 5)  65 61 64 65 72 09 70 61 70 65 72 20 74 61 70 65 20 72 65 61 64 65 72 20 69 6e 20 28 72 65 73 75   ┆eader paper tape reader in (resu┆
0x0ba220…0ba240             6c 74 20 74 6f 20 72 65 67 2d 61 29 0d 0a 3b 09 68 6f 6d 65 09 6d 6f 76 65 20 74 6f 20 74 72 61   ┆lt to reg-a)  ; home move to tra┆
0x0ba240…0ba260             63 6b 20 30 30 0d 0a 3b 0d 0a 3b 09 28 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 61 6c 6c 73   ┆ck 00  ;  ; (the following calls┆
0x0ba260…0ba280             20 73 65 74 2d 75 70 20 74 68 65 20 69 6f 20 70 61 72 61 6d 65 74 65 72 20 62 6c 6f 63 6b 20 66   ┆ set-up the io parameter block f┆
0x0ba280…0ba2a0             6f 72 20 74 68 65 0d 0a 3b 09 6d 64 73 2c 20 77 68 69 63 68 20 69 73 20 75 73 65 64 20 74 6f 20   ┆or the  ; mds, which is used to ┆
0x0ba2a0…0ba2c0             70 65 72 66 6f 72 6d 20 73 75 62 73 65 71 75 65 6e 74 20 72 65 61 64 73 20 61 6e 64 20 77 72 69   ┆perform subsequent reads and wri┆
0x0ba2c0…0ba2e0             74 65 73 29 0d 0a 3b 09 73 65 6c 64 73 6b 09 73 65 6c 65 63 74 20 64 69 73 6b 20 67 69 76 65 6e   ┆tes)  ; seldsk select disk given┆
0x0ba2e0…0ba300             20 62 79 20 72 65 67 2d 63 20 28 30 2c 31 2c 32 2e 2e 2e 29 0d 0a 3b 09 73 65 74 74 72 6b 09 73   ┆ by reg-c (0,1,2...)  ; settrk s┆
0x0ba300…0ba320             65 74 20 74 72 61 63 6b 20 61 64 64 72 65 73 73 20 28 30 2c 2e 2e 2e 37 36 29 20 66 6f 72 20 73   ┆et track address (0,...76) for s┆
0x0ba320…0ba340             75 62 73 65 71 75 65 6e 74 20 72 65 61 64 2f 77 72 69 74 65 0d 0a 3b 09 73 65 74 73 65 63 09 73   ┆ubsequent read/write  ; setsec s┆
0x0ba340…0ba360             65 74 20 73 65 63 74 6f 72 20 61 64 64 72 65 73 73 20 28 31 2c 2e 2e 2e 2c 32 36 29 20 66 6f 72   ┆et sector address (1,...,26) for┆
0x0ba360…0ba380             20 73 75 62 73 65 71 75 65 6e 74 20 72 65 61 64 2f 77 72 69 74 65 0d 0a 3b 09 73 65 74 64 6d 61   ┆ subsequent read/write  ; setdma┆
0x0ba380…0ba3a0             09 73 65 74 20 73 75 62 73 65 71 75 65 6e 74 20 64 6d 61 20 61 64 64 72 65 73 73 20 28 69 6e 69   ┆ set subsequent dma address (ini┆
0x0ba3a0…0ba3c0             74 69 61 6c 6c 79 20 38 30 68 29 0d 0a 3b 0d 0a 3b 09 28 72 65 61 64 20 61 6e 64 20 77 72 69 74   ┆tially 80h)  ;  ; (read and writ┆
0x0ba3c0…0ba3e0             65 20 61 73 73 75 6d 65 20 70 72 65 76 69 6f 75 73 20 63 61 6c 6c 73 20 74 6f 20 73 65 74 20 75   ┆e assume previous calls to set u┆
0x0ba3e0…0ba400             70 20 74 68 65 20 69 6f 20 70 61 72 61 6d 65 74 65 72 73 29 0d 0a 3b 09 72 65 61 64 09 72 65 61   ┆p the io parameters)  ; read rea┆
0x0ba400…0ba420 (49, 1, 6)  69 73 6b 20 63 6f 6d 6d 61 6e 64 20 69 6f 20 70 6f 72 74 73 0d 0a 64 73 74 61 74 09 65 71 75 09   ┆isk command io ports  dstat equ ┆
0x0ba420…0ba440             62 61 73 65 09 3b 64 69 73 6b 20 73 74 61 74 75 73 20 28 69 6e 70 75 74 29 0d 0a 72 74 79 70 65   ┆base ;disk status (input)  rtype┆
0x0ba440…0ba460             09 65 71 75 09 62 61 73 65 2b 31 09 3b 72 65 73 75 6c 74 20 74 79 70 65 20 28 69 6e 70 75 74 29   ┆ equ base+1 ;result type (input)┆
0x0ba460…0ba480             0d 0a 72 62 79 74 65 09 65 71 75 09 62 61 73 65 2b 33 09 3b 72 65 73 75 6c 74 20 62 79 74 65 20   ┆  rbyte equ base+3 ;result byte ┆
0x0ba480…0ba4a0             28 69 6e 70 75 74 29 0d 0a 3b 0d 0a 69 6c 6f 77 09 65 71 75 09 62 61 73 65 2b 31 09 3b 69 6f 70   ┆(input)  ;  ilow equ base+1 ;iop┆
0x0ba4a0…0ba4c0             62 20 6c 6f 77 20 61 64 64 72 65 73 73 20 28 6f 75 74 70 75 74 29 0d 0a 69 68 69 67 68 09 65 71   ┆b low address (output)  ihigh eq┆
0x0ba4c0…0ba4e0             75 09 62 61 73 65 2b 32 09 3b 69 6f 70 62 20 68 69 67 68 20 61 64 64 72 65 73 73 20 28 6f 75 74   ┆u base+2 ;iopb high address (out┆
0x0ba4e0…0ba500             70 75 74 29 0d 0a 3b 0d 0a 72 65 61 64 66 09 65 71 75 09 34 68 09 3b 72 65 61 64 20 66 75 6e 63   ┆put)  ;  readf equ 4h ;read func┆
0x0ba500…0ba520             74 69 6f 6e 0d 0a 77 72 69 74 66 09 65 71 75 09 36 68 09 3b 77 72 69 74 65 20 66 75 6e 63 74 69   ┆tion  writf equ 6h ;write functi┆
0x0ba520…0ba540             6f 6e 0d 0a 72 65 63 61 6c 09 65 71 75 09 33 68 09 3b 72 65 63 61 6c 69 62 72 61 74 65 20 64 72   ┆on  recal equ 3h ;recalibrate dr┆
0x0ba540…0ba560             69 76 65 0d 0a 69 6f 72 64 79 09 65 71 75 09 34 68 09 3b 69 2f 6f 20 66 69 6e 69 73 68 65 64 20   ┆ive  iordy equ 4h ;i/o finished ┆
0x0ba560…0ba580             6d 61 73 6b 0d 0a 63 72 09 65 71 75 09 30 64 68 09 3b 63 61 72 72 69 61 67 65 20 72 65 74 75 72   ┆mask  cr equ 0dh ;carriage retur┆
0x0ba580…0ba5a0             6e 0d 0a 6c 66 09 65 71 75 09 30 61 68 09 3b 6c 69 6e 65 20 66 65 65 64 0d 0a 3b 0d 0a 73 69 67   ┆n  lf equ 0ah ;line feed  ;  sig┆
0x0ba5a0…0ba5c0             6e 6f 6e 3a 09 3b 73 69 67 6e 6f 6e 20 6d 65 73 73 61 67 65 3a 20 78 78 6b 20 63 70 2f 6d 20 76   ┆non: ;signon message: xxk cp/m v┆
0x0ba5c0…0ba5e0             65 72 73 20 79 2e 79 0d 0a 09 64 62 09 63 72 2c 6c 66 2c 6c 66 0d 0a 09 69 66 09 74 65 73 74 0d   ┆ers y.y   db cr,lf,lf   if test ┆
0x0ba5e0…0ba600             0a 09 64 62 09 27 33 32 27 09 3b 33 32 6b 20 65 78 61 6d 70 6c 65 20 62 69 6f 73 0d 0a 09 65 6e   ┆  db '32' ;32k example bios   en┆
0x0ba600…0ba620 (49, 1, 7)  20 73 65 63 74 6f 72 20 63 6f 75 6e 74 0d 0a 09 64 63 72 09 62 09 3b 64 6f 6e 65 3f 0d 0a 09 6a   ┆ sector count   dcr b ;done?   j┆
0x0ba620…0ba640             6e 7a 09 72 64 73 65 63 0d 0a 3b 0d 0a 3b 09 64 6f 6e 65 20 77 69 74 68 20 74 68 65 20 6c 6f 61   ┆nz rdsec  ;  ; done with the loa┆
0x0ba640…0ba660             64 2c 20 72 65 73 65 74 20 64 65 66 61 75 6c 74 20 62 75 66 66 65 72 20 61 64 64 72 65 73 73 0d   ┆d, reset default buffer address ┆
0x0ba660…0ba680             0a 67 6f 63 70 6d 3a 09 3b 28 65 6e 74 65 72 20 68 65 72 65 20 66 72 6f 6d 20 63 6f 6c 64 20 73   ┆ gocpm: ;(enter here from cold s┆
0x0ba680…0ba6a0             74 61 72 74 20 62 6f 6f 74 29 0d 0a 3b 09 65 6e 61 62 6c 65 20 72 73 74 30 20 61 6e 64 20 72 73   ┆tart boot)  ; enable rst0 and rs┆
0x0ba6a0…0ba6c0             74 37 0d 0a 09 64 69 0d 0a 09 6d 76 69 09 61 2c 31 32 68 09 3b 69 6e 69 74 69 61 6c 69 7a 65 20   ┆t7   di   mvi a,12h ;initialize ┆
0x0ba6c0…0ba6e0             63 6f 6d 6d 61 6e 64 0d 0a 09 6f 75 74 09 72 65 76 72 74 0d 0a 09 78 72 61 09 61 0d 0a 09 6f 75   ┆command   out revrt   xra a   ou┆
0x0ba6e0…0ba700             74 09 69 6e 74 63 09 3b 63 6c 65 61 72 65 64 0d 0a 09 6d 76 69 09 61 2c 69 6e 74 65 09 3b 72 73   ┆t intc ;cleared   mvi a,inte ;rs┆
0x0ba700…0ba720             74 30 20 61 6e 64 20 72 73 74 37 20 62 69 74 73 20 6f 6e 0d 0a 09 6f 75 74 09 69 6e 74 63 0d 0a   ┆t0 and rst7 bits on   out intc  ┆
0x0ba720…0ba740             09 78 72 61 09 61 0d 0a 09 6f 75 74 09 69 63 6f 6e 09 3b 69 6e 74 65 72 72 75 70 74 20 63 6f 6e   ┆ xra a   out icon ;interrupt con┆
0x0ba740…0ba760             74 72 6f 6c 0d 0a 3b 0d 0a 3b 09 73 65 74 20 64 65 66 61 75 6c 74 20 62 75 66 66 65 72 20 61 64   ┆trol  ;  ; set default buffer ad┆
0x0ba760…0ba780             64 72 65 73 73 20 74 6f 20 38 30 68 0d 0a 09 6c 78 69 09 62 2c 62 75 66 66 0d 0a 09 63 61 6c 6c   ┆dress to 80h   lxi b,buff   call┆
0x0ba780…0ba7a0             09 73 65 74 64 6d 61 0d 0a 3b 0d 0a 3b 09 72 65 73 65 74 20 6d 6f 6e 69 74 6f 72 20 65 6e 74 72   ┆ setdma  ;  ; reset monitor entr┆
0x0ba7a0…0ba7c0             79 20 70 6f 69 6e 74 73 0d 0a 09 6d 76 69 09 61 2c 6a 6d 70 0d 0a 09 73 74 61 09 30 0d 0a 09 6c   ┆y points   mvi a,jmp   sta 0   l┆
0x0ba7c0…0ba7e0             78 69 09 68 2c 77 62 6f 6f 74 65 0d 0a 09 73 68 6c 64 09 31 09 3b 6a 6d 70 20 77 62 6f 6f 74 20   ┆xi h,wboote   shld 1 ;jmp wboot ┆
0x0ba7e0…0ba800             61 74 20 6c 6f 63 61 74 69 6f 6e 20 30 30 0d 0a 09 73 74 61 09 35 0d 0a 09 6c 78 69 09 68 2c 62   ┆at location 00   sta 5   lxi h,b┆
0x0ba800…0ba820 (49, 1, 8)  30 30 30 30 62 09 3b 73 65 6c 65 63 74 73 20 64 72 69 76 65 20 31 20 69 6e 20 62 61 6e 6b 0d 0a   ┆0000b ;selects drive 1 in bank  ┆
0x0ba820…0ba840             73 65 74 64 72 69 76 65 3a 0d 0a 09 6d 6f 76 09 62 2c 61 09 3b 73 61 76 65 20 74 68 65 20 66 75   ┆setdrive:   mov b,a ;save the fu┆
0x0ba840…0ba860             6e 63 74 69 6f 6e 0d 0a 09 6c 78 69 09 68 2c 69 6f 66 09 3b 69 6f 20 66 75 6e 63 74 69 6f 6e 0d   ┆nction   lxi h,iof ;io function ┆
0x0ba860…0ba880             0a 09 6d 6f 76 09 61 2c 6d 0d 0a 09 61 6e 69 09 31 31 30 30 31 31 31 31 62 09 3b 6d 61 73 6b 20   ┆  mov a,m   ani 11001111b ;mask ┆
0x0ba880…0ba8a0             6f 75 74 20 64 69 73 6b 20 6e 75 6d 62 65 72 0d 0a 09 6f 72 61 09 62 09 3b 6d 61 73 6b 20 69 6e   ┆out disk number   ora b ;mask in┆
0x0ba8a0…0ba8c0             20 6e 65 77 20 64 69 73 6b 20 6e 75 6d 62 65 72 0d 0a 09 6d 6f 76 09 6d 2c 61 09 3b 73 61 76 65   ┆ new disk number   mov m,a ;save┆
0x0ba8c0…0ba8e0             20 69 74 20 69 6e 20 69 6f 70 62 0d 0a 09 6d 6f 76 09 6c 2c 63 0d 0a 09 6d 76 69 09 68 2c 30 09   ┆ it in iopb   mov l,c   mvi h,0 ┆
0x0ba8e0…0ba900             3b 48 4c 3d 64 69 73 6b 20 6e 75 6d 62 65 72 0d 0a 09 64 61 64 09 68 09 3b 2a 32 0d 0a 09 64 61   ┆;HL=disk number   dad h ;*2   da┆
0x0ba900…0ba920             64 09 68 09 3b 2a 34 0d 0a 09 64 61 64 09 68 09 3b 2a 38 0d 0a 09 64 61 64 09 68 09 3b 2a 31 36   ┆d h ;*4   dad h ;*8   dad h ;*16┆
0x0ba920…0ba940             0d 0a 09 6c 78 69 09 64 2c 64 70 62 61 73 65 0d 0a 09 64 61 64 09 64 09 3b 48 4c 3d 64 69 73 6b   ┆   lxi d,dpbase   dad d ;HL=disk┆
0x0ba940…0ba960             20 68 65 61 64 65 72 20 74 61 62 6c 65 20 61 64 64 72 65 73 73 0d 0a 09 72 65 74 0d 0a 3b 0d 0a   ┆ header table address   ret  ;  ┆
0x0ba960…0ba980             3b 0d 0a 73 65 74 74 72 6b 3a 09 3b 73 65 74 20 74 72 61 63 6b 20 61 64 64 72 65 73 73 20 67 69   ┆;  settrk: ;set track address gi┆
0x0ba980…0ba9a0             76 65 6e 20 62 79 20 63 0d 0a 09 6c 78 69 09 68 2c 69 6f 74 0d 0a 09 6d 6f 76 09 6d 2c 63 0d 0a   ┆ven by c   lxi h,iot   mov m,c  ┆
0x0ba9a0…0ba9c0             09 72 65 74 0d 0a 3b 0d 0a 73 65 74 73 65 63 3a 09 3b 73 65 74 20 73 65 63 74 6f 72 20 6e 75 6d   ┆ ret  ;  setsec: ;set sector num┆
0x0ba9c0…0ba9e0             62 65 72 20 67 69 76 65 6e 20 62 79 20 63 0d 0a 09 6c 78 69 09 68 2c 69 6f 73 0d 0a 09 6d 6f 76   ┆ber given by c   lxi h,ios   mov┆
0x0ba9e0…0baa00             09 6d 2c 63 0d 0a 09 72 65 74 0d 0a 73 65 63 74 72 61 6e 3a 0d 0a 09 09 3b 74 72 61 6e 73 6c 61   ┆ m,c   ret  sectran:    ;transla┆
0x0baa00…0baa20 (49, 1, 9)  64 20 74 72 61 63 6b 2f 73 65 63 74 6f 72 20 74 6f 20 70 72 65 73 65 74 20 64 6d 61 20 61 64 64   ┆d track/sector to preset dma add┆
0x0baa20…0baa40             72 65 73 73 0d 0a 3b 09 77 72 69 74 65 09 77 72 69 74 65 20 74 72 61 63 6b 2f 73 65 63 74 6f 72   ┆ress  ; write write track/sector┆
0x0baa40…0baa60             20 66 72 6f 6d 20 70 72 65 73 65 74 20 64 6d 61 20 61 64 64 72 65 73 73 0d 0a 3b 0d 0a 3b 09 6a   ┆ from preset dma address  ;  ; j┆
0x0baa60…0baa80             75 6d 70 20 76 65 63 74 6f 72 20 66 6f 72 20 69 6e 64 69 76 69 75 61 6c 20 72 6f 75 74 69 6e 65   ┆ump vector for indiviual routine┆
0x0baa80…0baaa0             73 0d 0a 09 6a 6d 70 09 62 6f 6f 74 0d 0a 77 62 6f 6f 74 65 3a 09 6a 6d 70 09 77 62 6f 6f 74 0d   ┆s   jmp boot  wboote: jmp wboot ┆
0x0baaa0…0baac0             0a 09 6a 6d 70 09 63 6f 6e 73 74 0d 0a 09 6a 6d 70 09 63 6f 6e 69 6e 0d 0a 09 6a 6d 70 09 63 6f   ┆  jmp const   jmp conin   jmp co┆
0x0baac0…0baae0             6e 6f 75 74 0d 0a 09 6a 6d 70 09 6c 69 73 74 0d 0a 09 6a 6d 70 09 70 75 6e 63 68 0d 0a 09 6a 6d   ┆nout   jmp list   jmp punch   jm┆
0x0baae0…0bab00             70 09 72 65 61 64 65 72 0d 0a 09 6a 6d 70 09 68 6f 6d 65 0d 0a 09 6a 6d 70 09 73 65 6c 64 73 6b   ┆p reader   jmp home   jmp seldsk┆
0x0bab00…0bab20             0d 0a 09 6a 6d 70 09 73 65 74 74 72 6b 0d 0a 09 6a 6d 70 09 73 65 74 73 65 63 0d 0a 09 6a 6d 70   ┆   jmp settrk   jmp setsec   jmp┆
0x0bab20…0bab40             09 73 65 74 64 6d 61 0d 0a 09 6a 6d 70 09 72 65 61 64 0d 0a 09 6a 6d 70 09 77 72 69 74 65 0d 0a   ┆ setdma   jmp read   jmp write  ┆
0x0bab40…0bab60             09 6a 6d 70 09 6c 69 73 74 73 74 09 3b 6c 69 73 74 20 73 74 61 74 75 73 0d 0a 09 6a 6d 70 09 73   ┆ jmp listst ;list status   jmp s┆
0x0bab60…0bab80             65 63 74 72 61 6e 0d 0a 3b 0d 0a 09 6d 61 63 6c 69 62 09 64 69 73 6b 64 65 66 09 3b 6c 6f 61 64   ┆ectran  ;   maclib diskdef ;load┆
0x0bab80…0baba0             20 74 68 65 20 64 69 73 6b 20 64 65 66 69 6e 69 74 69 6f 6e 20 6c 69 62 72 61 72 79 0d 0a 09 64   ┆ the disk definition library   d┆
0x0baba0…0babc0             69 73 6b 73 09 34 09 3b 66 6f 75 72 20 64 69 73 6b 73 0d 0a 09 64 69 73 6b 64 65 66 09 30 2c 31   ┆isks 4 ;four disks   diskdef 0,1┆
0x0babc0…0babe0             2c 32 36 2c 36 2c 31 30 32 34 2c 32 34 33 2c 36 34 2c 36 34 2c 6f 66 66 73 65 74 0d 0a 09 64 69   ┆,26,6,1024,243,64,64,offset   di┆
0x0babe0…0bac00             73 6b 64 65 66 09 31 2c 30 0d 0a 09 64 69 73 6b 64 65 66 09 32 2c 30 0d 0a 09 64 69 73 6b 64 65   ┆skdef 1,0   diskdef 2,0   diskde┆
0x0bac00…0bac20 (49, 1, 10) 64 69 66 0d 0a 09 69 66 09 6e 6f 74 20 74 65 73 74 0d 0a 09 64 62 09 27 30 30 27 09 3b 6d 65 6d   ┆dif   if not test   db '00' ;mem┆
0x0bac20…0bac40             6f 72 79 20 73 69 7a 65 20 66 69 6c 6c 65 64 20 62 79 20 72 65 6c 6f 63 61 74 6f 72 0d 0a 09 65   ┆ory size filled by relocator   e┆
0x0bac40…0bac60             6e 64 69 66 0d 0a 09 64 62 09 27 6b 20 43 50 2f 4d 20 76 65 72 73 20 27 0d 0a 09 64 62 09 76 65   ┆ndif   db 'k CP/M vers '   db ve┆
0x0bac60…0bac80             72 73 2f 31 30 2b 27 30 27 2c 27 2e 27 2c 76 65 72 73 20 6d 6f 64 20 31 30 2b 27 30 27 0d 0a 09   ┆rs/10+'0','.',vers mod 10+'0'   ┆
0x0bac80…0baca0             64 62 09 63 72 2c 6c 66 2c 30 0d 0a 3b 0d 0a 62 6f 6f 74 3a 09 3b 70 72 69 6e 74 20 73 69 67 6e   ┆db cr,lf,0  ;  boot: ;print sign┆
0x0baca0…0bacc0             6f 6e 20 6d 65 73 73 61 67 65 20 61 6e 64 20 67 6f 20 74 6f 20 63 63 70 0d 0a 3b 09 28 6e 6f 74   ┆on message and go to ccp  ; (not┆
0x0bacc0…0bace0             65 3a 20 6d 64 73 20 62 6f 6f 74 20 69 6e 69 74 69 61 6c 69 7a 65 64 20 69 6f 62 79 74 65 20 61   ┆e: mds boot initialized iobyte a┆
0x0bace0…0bad00             74 20 30 30 30 33 68 29 0d 0a 09 6c 78 69 09 73 70 2c 62 75 66 66 2b 38 30 68 0d 0a 09 6c 78 69   ┆t 0003h)   lxi sp,buff+80h   lxi┆
0x0bad00…0bad20             09 68 2c 73 69 67 6e 6f 6e 0d 0a 09 63 61 6c 6c 09 70 72 6d 73 67 09 3b 70 72 69 6e 74 20 6d 65   ┆ h,signon   call prmsg ;print me┆
0x0bad20…0bad40             73 73 61 67 65 0d 0a 09 78 72 61 09 61 09 3b 63 6c 65 61 72 20 61 63 63 75 6d 75 6c 61 74 6f 72   ┆ssage   xra a ;clear accumulator┆
0x0bad40…0bad60             0d 0a 09 73 74 61 09 63 64 69 73 6b 09 3b 73 65 74 20 69 6e 69 74 69 61 6c 6c 79 20 74 6f 20 64   ┆   sta cdisk ;set initially to d┆
0x0bad60…0bad80             69 73 6b 20 61 0d 0a 09 6a 6d 70 09 67 6f 63 70 6d 09 3b 67 6f 20 74 6f 20 63 70 2f 6d 0d 0a 3b   ┆isk a   jmp gocpm ;go to cp/m  ;┆
0x0bad80…0bada0             0d 0a 3b 0d 0a 77 62 6f 6f 74 3a 3b 09 6c 6f 61 64 65 72 20 6f 6e 20 74 72 61 63 6b 20 30 2c 20   ┆  ;  wboot:; loader on track 0, ┆
0x0bada0…0badc0             73 65 63 74 6f 72 20 31 2c 20 77 68 69 63 68 20 77 69 6c 6c 20 62 65 20 73 6b 69 70 70 65 64 20   ┆sector 1, which will be skipped ┆
0x0badc0…0bade0             66 6f 72 20 77 61 72 6d 20 0d 0a 3b 09 72 65 61 64 20 63 70 2f 6d 20 66 72 6f 6d 20 64 69 73 6b   ┆for warm   ; read cp/m from disk┆
0x0bade0…0bae00             20 2d 20 61 73 73 75 6d 69 6e 67 20 74 68 65 72 65 20 69 73 20 61 20 31 32 38 20 62 79 74 65 20   ┆ - assuming there is a 128 byte ┆
0x0bae00…0bae20 (49, 1, 11) 64 6f 73 0d 0a 09 73 68 6c 64 09 36 09 3b 6a 6d 70 20 62 64 6f 73 20 61 74 20 6c 6f 63 61 74 69   ┆dos   shld 6 ;jmp bdos at locati┆
0x0bae20…0bae40             6f 6e 20 35 0d 0a 09 69 66 09 6e 6f 74 20 74 65 73 74 0d 0a 09 73 74 61 09 37 2a 38 09 3b 6a 6d   ┆on 5   if not test   sta 7*8 ;jm┆
0x0bae40…0bae60             70 20 74 6f 20 6d 6f 6e 38 30 20 28 6d 61 79 20 68 61 76 65 20 62 65 65 6e 20 63 68 61 6e 67 65   ┆p to mon80 (may have been change┆
0x0bae60…0bae80             64 20 62 79 20 64 64 74 29 0d 0a 09 6c 78 69 09 68 2c 6d 6f 6e 38 30 0d 0a 09 73 68 6c 64 09 37   ┆d by ddt)   lxi h,mon80   shld 7┆
0x0bae80…0baea0             2a 38 2b 31 0d 0a 09 65 6e 64 69 66 0d 0a 3b 09 6c 65 61 76 65 20 69 6f 62 79 74 65 20 73 65 74   ┆*8+1   endif  ; leave iobyte set┆
0x0baea0…0baec0             0d 0a 3b 09 70 72 65 76 69 6f 75 73 6c 79 20 73 65 6c 65 63 74 65 64 20 64 69 73 6b 20 77 61 73   ┆  ; previously selected disk was┆
0x0baec0…0baee0             20 62 2c 20 73 65 6e 64 20 70 61 72 61 6d 65 74 65 72 20 74 6f 20 63 70 6d 0d 0a 09 6c 64 61 09   ┆ b, send parameter to cpm   lda ┆
0x0baee0…0baf00             63 64 69 73 6b 09 3b 6c 61 73 74 20 6c 6f 67 67 65 64 20 64 69 73 6b 20 6e 75 6d 62 65 72 0d 0a   ┆cdisk ;last logged disk number  ┆
0x0baf00…0baf20             09 6d 6f 76 09 63 2c 61 09 3b 73 65 6e 64 20 74 6f 20 63 63 70 20 74 6f 20 6c 6f 67 20 69 74 20   ┆ mov c,a ;send to ccp to log it ┆
0x0baf20…0baf40             69 6e 0d 0a 09 65 69 0d 0a 09 6a 6d 70 09 63 70 6d 62 0d 0a 3b 0d 0a 3b 09 65 72 72 6f 72 20 63   ┆in   ei   jmp cpmb  ;  ; error c┆
0x0baf40…0baf60             6f 6e 64 69 74 69 6f 6e 20 6f 63 63 75 72 72 65 64 2c 20 70 72 69 6e 74 20 6d 65 73 73 61 67 65   ┆ondition occurred, print message┆
0x0baf60…0baf80             20 61 6e 64 20 72 65 74 72 79 0d 0a 62 6f 6f 74 65 72 72 3a 0d 0a 09 70 6f 70 09 62 09 3b 72 65   ┆ and retry  booterr:   pop b ;re┆
0x0baf80…0bafa0             63 61 6c 6c 20 63 6f 75 6e 74 73 0d 0a 09 64 63 72 09 63 0d 0a 09 6a 7a 09 62 6f 6f 74 65 72 30   ┆call counts   dcr c   jz booter0┆
0x0bafa0…0bafc0             0d 0a 3b 09 74 72 79 20 61 67 61 69 6e 0d 0a 09 70 75 73 68 09 62 0d 0a 09 6a 6d 70 09 77 62 6f   ┆  ; try again   push b   jmp wbo┆
0x0bafc0…0bafe0             6f 74 30 0d 0a 3b 0d 0a 62 6f 6f 74 65 72 30 3a 0d 0a 3b 09 6f 74 68 65 72 77 69 73 65 20 74 6f   ┆ot0  ;  booter0:  ; otherwise to┆
0x0bafe0…0bb000             6f 20 6d 61 6e 79 20 72 65 74 72 69 65 73 0d 0a 09 6c 78 69 09 68 2c 62 6f 6f 74 6d 73 67 0d 0a   ┆o many retries   lxi h,bootmsg  ┆
0x0bb000…0bb020 (49, 1, 12) 74 65 20 73 65 63 74 6f 72 20 62 63 20 75 73 69 6e 67 20 74 61 62 6c 65 20 61 74 20 64 65 0d 0a   ┆te sector bc using table at de  ┆
0x0bb020…0bb040             09 6d 76 69 09 62 2c 30 09 3b 64 6f 75 62 6c 65 20 70 72 65 63 69 73 69 6f 6e 20 73 65 63 74 6f   ┆ mvi b,0 ;double precision secto┆
0x0bb040…0bb060             72 20 6e 75 6d 62 65 72 20 69 6e 20 42 43 0d 0a 09 78 63 68 67 09 09 3b 74 72 61 6e 73 6c 61 74   ┆r number in BC   xchg  ;translat┆
0x0bb060…0bb080             65 20 74 61 62 6c 65 20 61 64 64 72 65 73 73 20 74 6f 20 48 4c 0d 0a 09 64 61 64 09 62 09 3b 74   ┆e table address to HL   dad b ;t┆
0x0bb080…0bb0a0             72 61 6e 73 6c 61 74 65 28 73 65 63 74 6f 72 29 20 61 64 64 72 65 73 73 0d 0a 09 6d 6f 76 09 61   ┆ranslate(sector) address   mov a┆
0x0bb0a0…0bb0c0             2c 6d 09 3b 74 72 61 6e 73 6c 61 74 65 64 20 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 20 74 6f 20   ┆,m ;translated sector number to ┆
0x0bb0c0…0bb0e0             41 0d 0a 09 73 74 61 09 69 6f 73 0d 0a 09 6d 6f 76 09 6c 2c 61 09 3b 72 65 74 75 72 6e 20 73 65   ┆A   sta ios   mov l,a ;return se┆
0x0bb0e0…0bb100             63 74 6f 72 20 6e 75 6d 62 65 72 20 69 6e 20 4c 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 73 65 74 64 6d   ┆ctor number in L   ret  ;  setdm┆
0x0bb100…0bb120             61 3a 09 3b 73 65 74 20 64 6d 61 20 61 64 64 72 65 73 73 20 67 69 76 65 6e 20 62 79 20 72 65 67   ┆a: ;set dma address given by reg┆
0x0bb120…0bb140             73 20 62 2c 63 0d 0a 09 6d 6f 76 09 6c 2c 63 0d 0a 09 6d 6f 76 09 68 2c 62 0d 0a 09 73 68 6c 64   ┆s b,c   mov l,c   mov h,b   shld┆
0x0bb140…0bb160             09 69 6f 64 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 72 65 61 64 3a 09 3b 72 65 61 64 20 6e 65 78 74 20   ┆ iod   ret  ;  read: ;read next ┆
0x0bb160…0bb180             64 69 73 6b 20 72 65 63 6f 72 64 20 28 61 73 73 75 6d 69 6e 67 20 64 69 73 6b 2f 74 72 6b 2f 73   ┆disk record (assuming disk/trk/s┆
0x0bb180…0bb1a0             65 63 2f 64 6d 61 20 73 65 74 29 0d 0a 09 6d 76 69 09 63 2c 72 65 61 64 66 09 3b 73 65 74 20 74   ┆ec/dma set)   mvi c,readf ;set t┆
0x0bb1a0…0bb1c0             6f 20 72 65 61 64 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 63 61 6c 6c 09 73 65 74 66 75 6e 63 0d 0a   ┆o read function   call setfunc  ┆
0x0bb1c0…0bb1e0             09 63 61 6c 6c 09 77 61 69 74 69 6f 09 3b 70 65 72 66 6f 72 6d 20 72 65 61 64 20 66 75 6e 63 74   ┆ call waitio ;perform read funct┆
0x0bb1e0…0bb200             69 6f 6e 0d 0a 09 72 65 74 09 09 3b 6d 61 79 20 68 61 76 65 20 65 72 72 6f 72 20 73 65 74 20 69   ┆ion   ret  ;may have error set i┆
0x0bb200…0bb220 (49, 1, 13) 66 09 33 2c 30 0d 0a 3b 09 65 6e 64 65 66 20 6f 63 63 75 72 73 20 61 74 20 65 6e 64 20 6f 66 20   ┆f 3,0  ; endef occurs at end of ┆
0x0bb220…0bb240             61 73 73 65 6d 62 6c 79 0d 0a 3b 0d 0a 3b 09 65 6e 64 20 6f 66 20 63 6f 6e 74 72 6f 6c 6c 65 72   ┆assembly  ;  ; end of controller┆
0x0bb240…0bb260             20 2d 20 69 6e 64 65 70 65 6e 64 65 6e 74 20 63 6f 64 65 2c 20 74 68 65 20 72 65 6d 61 69 6e 69   ┆ - independent code, the remaini┆
0x0bb260…0bb280             6e 67 20 73 75 62 72 6f 75 74 69 6e 65 73 0d 0a 3b 09 61 72 65 20 74 61 69 6c 6f 72 65 64 20 74   ┆ng subroutines  ; are tailored t┆
0x0bb280…0bb2a0             6f 20 74 68 65 20 70 61 72 74 69 63 75 6c 61 72 20 6f 70 65 72 61 74 69 6e 67 20 65 6e 76 69 72   ┆o the particular operating envir┆
0x0bb2a0…0bb2c0             6f 6e 6d 65 6e 74 2c 20 61 6e 64 20 6d 75 73 74 0d 0a 3b 09 62 65 20 61 6c 74 65 72 65 64 20 66   ┆onment, and must  ; be altered f┆
0x0bb2c0…0bb2e0             6f 72 20 61 6e 79 20 73 79 73 74 65 6d 20 77 68 69 63 68 20 64 69 66 66 65 72 73 20 66 72 6f 6d   ┆or any system which differs from┆
0x0bb2e0…0bb300             20 74 68 65 20 69 6e 74 65 6c 20 6d 64 73 2e 0d 0a 3b 0d 0a 3b 09 74 68 65 20 66 6f 6c 6c 6f 77   ┆ the intel mds.  ;  ; the follow┆
0x0bb300…0bb320             69 6e 67 20 63 6f 64 65 20 61 73 73 75 6d 65 73 20 74 68 65 20 6d 64 73 20 6d 6f 6e 69 74 6f 72   ┆ing code assumes the mds monitor┆
0x0bb320…0bb340             20 65 78 69 73 74 73 20 61 74 20 30 66 38 30 30 68 0d 0a 3b 09 61 6e 64 20 75 73 65 73 20 74 68   ┆ exists at 0f800h  ; and uses th┆
0x0bb340…0bb360             65 20 69 2f 6f 20 73 75 62 72 6f 75 74 69 6e 65 73 20 77 69 74 68 69 6e 20 74 68 65 20 6d 6f 6e   ┆e i/o subroutines within the mon┆
0x0bb360…0bb380             69 74 6f 72 0d 0a 3b 0d 0a 3b 09 77 65 20 61 6c 73 6f 20 61 73 73 75 6d 65 20 74 68 65 20 6d 64   ┆itor  ;  ; we also assume the md┆
0x0bb380…0bb3a0             73 20 73 79 73 74 65 6d 20 68 61 73 20 66 6f 75 72 20 64 69 73 6b 20 64 72 69 76 65 73 0d 0a 72   ┆s system has four disk drives  r┆
0x0bb3a0…0bb3c0             65 76 72 74 09 65 71 75 09 30 66 64 68 09 3b 69 6e 74 65 72 72 75 70 74 20 72 65 76 65 72 74 20   ┆evrt equ 0fdh ;interrupt revert ┆
0x0bb3c0…0bb3e0             70 6f 72 74 0d 0a 69 6e 74 63 09 65 71 75 09 30 66 63 68 09 3b 69 6e 74 65 72 72 75 70 74 20 6d   ┆port  intc equ 0fch ;interrupt m┆
0x0bb3e0…0bb400             61 73 6b 20 70 6f 72 74 0d 0a 69 63 6f 6e 09 65 71 75 09 30 66 33 68 09 3b 69 6e 74 65 72 72 75   ┆ask port  icon equ 0f3h ;interru┆
0x0bb400…0bb420 (49, 1, 14) 63 6f 6c 64 20 73 74 61 72 74 0d 0a 3b 09 73 74 61 72 74 2e 0d 0a 3b 0d 0a 09 6c 78 69 09 73 70   ┆cold start  ; start.  ;   lxi sp┆
0x0bb420…0bb440             2c 62 75 66 66 09 3b 75 73 69 6e 67 20 64 6d 61 20 2d 20 74 68 75 73 20 38 30 20 74 68 72 75 20   ┆,buff ;using dma - thus 80 thru ┆
0x0bb440…0bb460             66 66 20 61 76 61 69 6c 61 62 6c 65 20 66 6f 72 20 73 74 61 63 6b 0d 0a 3b 0d 0a 09 6d 76 69 09   ┆ff available for stack  ;   mvi ┆
0x0bb460…0bb480             63 2c 72 65 74 72 79 09 3b 6d 61 78 20 72 65 74 72 69 65 73 0d 0a 09 70 75 73 68 09 62 0d 0a 77   ┆c,retry ;max retries   push b  w┆
0x0bb480…0bb4a0             62 6f 6f 74 30 3a 09 3b 65 6e 74 65 72 20 68 65 72 65 20 6f 6e 20 65 72 72 6f 72 20 72 65 74 72   ┆boot0: ;enter here on error retr┆
0x0bb4a0…0bb4c0             69 65 73 0d 0a 09 6c 78 69 09 62 2c 63 70 6d 62 09 3b 73 65 74 20 64 6d 61 20 61 64 64 72 65 73   ┆ies   lxi b,cpmb ;set dma addres┆
0x0bb4c0…0bb4e0             73 20 74 6f 20 73 74 61 72 74 20 6f 66 20 64 69 73 6b 20 73 79 73 74 65 6d 0d 0a 09 63 61 6c 6c   ┆s to start of disk system   call┆
0x0bb4e0…0bb500             09 73 65 74 64 6d 61 0d 0a 09 6d 76 69 09 63 2c 30 09 3b 62 6f 6f 74 20 66 72 6f 6d 20 64 72 69   ┆ setdma   mvi c,0 ;boot from dri┆
0x0bb500…0bb520             76 65 20 30 0d 0a 09 63 61 6c 6c 09 73 65 6c 64 73 6b 0d 0a 09 6d 76 69 09 63 2c 30 0d 0a 09 63   ┆ve 0   call seldsk   mvi c,0   c┆
0x0bb520…0bb540             61 6c 6c 09 73 65 74 74 72 6b 09 3b 73 74 61 72 74 20 77 69 74 68 20 74 72 61 63 6b 20 30 0d 0a   ┆all settrk ;start with track 0  ┆
0x0bb540…0bb560             09 6d 76 69 09 63 2c 32 09 3b 73 74 61 72 74 20 72 65 61 64 69 6e 67 20 73 65 63 74 6f 72 20 32   ┆ mvi c,2 ;start reading sector 2┆
0x0bb560…0bb580             0d 0a 09 63 61 6c 6c 09 73 65 74 73 65 63 0d 0a 3b 0d 0a 3b 09 72 65 61 64 20 73 65 63 74 6f 72   ┆   call setsec  ;  ; read sector┆
0x0bb580…0bb5a0             73 2c 20 63 6f 75 6e 74 20 6e 73 65 63 74 73 20 74 6f 20 7a 65 72 6f 0d 0a 09 70 6f 70 09 62 09   ┆s, count nsects to zero   pop b ┆
0x0bb5a0…0bb5c0             3b 31 30 2d 65 72 72 6f 72 20 63 6f 75 6e 74 0d 0a 09 6d 76 69 09 62 2c 6e 73 65 63 74 73 0d 0a   ┆;10-error count   mvi b,nsects  ┆
0x0bb5c0…0bb5e0             72 64 73 65 63 3a 09 3b 72 65 61 64 20 6e 65 78 74 20 73 65 63 74 6f 72 0d 0a 09 70 75 73 68 09   ┆rdsec: ;read next sector   push ┆
0x0bb5e0…0bb600             62 09 3b 73 61 76 65 20 73 65 63 74 6f 72 20 63 6f 75 6e 74 0d 0a 09 63 61 6c 6c 09 72 65 61 64   ┆b ;save sector count   call read┆
0x0bb600…0bb620 (49, 1, 15) 09 63 61 6c 6c 09 70 72 6d 73 67 0d 0a 09 6a 6d 70 09 72 6d 6f 6e 38 30 09 3b 6d 64 73 20 68 61   ┆ call prmsg   jmp rmon80 ;mds ha┆
0x0bb620…0bb640             72 64 77 61 72 65 20 6d 6f 6e 69 74 6f 72 0d 0a 3b 0d 0a 62 6f 6f 74 6d 73 67 3a 0d 0a 09 64 62   ┆rdware monitor  ;  bootmsg:   db┆
0x0bb640…0bb660             09 27 3f 62 6f 6f 74 27 2c 30 0d 0a 3b 0d 0a 3b 0d 0a 63 6f 6e 73 74 3a 09 3b 63 6f 6e 73 6f 6c   ┆ '?boot',0  ;  ;  const: ;consol┆
0x0bb660…0bb680             65 20 73 74 61 74 75 73 20 74 6f 20 72 65 67 2d 61 0d 0a 3b 09 28 65 78 61 63 74 6c 79 20 74 68   ┆e status to reg-a  ; (exactly th┆
0x0bb680…0bb6a0             65 20 73 61 6d 65 20 61 73 20 6d 64 73 20 63 61 6c 6c 29 0d 0a 09 6a 6d 70 09 63 73 74 73 0d 0a   ┆e same as mds call)   jmp csts  ┆
0x0bb6a0…0bb6c0             3b 0d 0a 63 6f 6e 69 6e 3a 09 3b 63 6f 6e 73 6f 6c 65 20 63 68 61 72 61 63 74 65 72 20 74 6f 20   ┆;  conin: ;console character to ┆
0x0bb6c0…0bb6e0             72 65 67 2d 61 0d 0a 09 63 61 6c 6c 09 63 69 0d 0a 09 61 6e 69 09 37 66 68 09 3b 72 65 6d 6f 76   ┆reg-a   call ci   ani 7fh ;remov┆
0x0bb6e0…0bb700             65 20 70 61 72 69 74 79 20 62 69 74 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 63 6f 6e 6f 75 74 3a 09 3b   ┆e parity bit   ret  ;  conout: ;┆
0x0bb700…0bb720             63 6f 6e 73 6f 6c 65 20 63 68 61 72 61 63 74 65 72 20 66 72 6f 6d 20 63 20 74 6f 20 63 6f 6e 73   ┆console character from c to cons┆
0x0bb720…0bb740             6f 6c 65 20 6f 75 74 0d 0a 09 6a 6d 70 09 63 6f 0d 0a 3b 0d 0a 6c 69 73 74 3a 09 3b 6c 69 73 74   ┆ole out   jmp co  ;  list: ;list┆
0x0bb740…0bb760             20 64 65 76 69 63 65 20 6f 75 74 0d 0a 3b 09 28 65 78 61 63 74 6c 79 20 74 68 65 20 73 61 6d 65   ┆ device out  ; (exactly the same┆
0x0bb760…0bb780             20 61 73 20 6d 64 73 20 63 61 6c 6c 29 0d 0a 09 6a 6d 70 09 6c 6f 0d 0a 3b 0d 0a 6c 69 73 74 73   ┆ as mds call)   jmp lo  ;  lists┆
0x0bb780…0bb7a0             74 3a 0d 0a 09 3b 72 65 74 75 72 6e 20 6c 69 73 74 20 73 74 61 74 75 73 0d 0a 09 78 72 61 09 61   ┆t:   ;return list status   xra a┆
0x0bb7a0…0bb7c0             0d 0a 09 72 65 74 09 09 3b 61 6c 77 61 79 73 20 6e 6f 74 20 72 65 61 64 79 0d 0a 3b 0d 0a 70 75   ┆   ret  ;always not ready  ;  pu┆
0x0bb7c0…0bb7e0             6e 63 68 3a 09 3b 70 75 6e 63 68 20 64 65 76 69 63 65 20 6f 75 74 0d 0a 3b 09 28 65 78 61 63 74   ┆nch: ;punch device out  ; (exact┆
0x0bb7e0…0bb800             6c 79 20 74 68 65 20 73 61 6d 65 20 61 73 20 6d 64 73 20 63 61 6c 6c 29 0d 0a 09 6a 6d 70 09 70   ┆ly the same as mds call)   jmp p┆
0x0bb800…0bb820 (50, 0, 1)  6e 20 72 65 67 2d 61 0d 0a 3b 0d 0a 3b 0d 0a 77 72 69 74 65 3a 09 3b 64 69 73 6b 20 77 72 69 74   ┆n reg-a  ;  ;  write: ;disk writ┆
0x0bb820…0bb840             65 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 6d 76 69 09 63 2c 77 72 69 74 66 0d 0a 09 63 61 6c 6c 09   ┆e function   mvi c,writf   call ┆
0x0bb840…0bb860             73 65 74 66 75 6e 63 09 3b 73 65 74 20 74 6f 20 77 72 69 74 65 20 66 75 6e 63 74 69 6f 6e 0d 0a   ┆setfunc ;set to write function  ┆
0x0bb860…0bb880             09 63 61 6c 6c 09 77 61 69 74 69 6f 0d 0a 09 72 65 74 09 09 3b 6d 61 79 20 68 61 76 65 20 65 72   ┆ call waitio   ret  ;may have er┆
0x0bb880…0bb8a0             72 6f 72 20 73 65 74 0d 0a 3b 0d 0a 3b 0d 0a 3b 09 75 74 69 6c 69 74 79 20 73 75 62 72 6f 75 74   ┆ror set  ;  ;  ; utility subrout┆
0x0bb8a0…0bb8c0             69 6e 65 73 0d 0a 70 72 6d 73 67 3a 09 3b 70 72 69 6e 74 20 6d 65 73 73 61 67 65 20 61 74 20 68   ┆ines  prmsg: ;print message at h┆
0x0bb8c0…0bb8e0             2c 6c 20 74 6f 20 30 0d 0a 09 6d 6f 76 09 61 2c 6d 0d 0a 09 6f 72 61 09 61 09 3b 7a 65 72 6f 3f   ┆,l to 0   mov a,m   ora a ;zero?┆
0x0bb8e0…0bb900             0d 0a 09 72 7a 0d 0a 3b 09 6d 6f 72 65 20 74 6f 20 70 72 69 6e 74 0d 0a 09 70 75 73 68 09 68 0d   ┆   rz  ; more to print   push h ┆
0x0bb900…0bb920             0a 09 6d 6f 76 09 63 2c 61 0d 0a 09 63 61 6c 6c 09 63 6f 6e 6f 75 74 0d 0a 09 70 6f 70 09 68 0d   ┆  mov c,a   call conout   pop h ┆
0x0bb920…0bb940             0a 09 69 6e 78 09 68 0d 0a 09 6a 6d 70 09 70 72 6d 73 67 0d 0a 3b 0d 0a 73 65 74 66 75 6e 63 3a   ┆  inx h   jmp prmsg  ;  setfunc:┆
0x0bb940…0bb960             0d 0a 3b 09 73 65 74 20 66 75 6e 63 74 69 6f 6e 20 66 6f 72 20 6e 65 78 74 20 69 2f 6f 20 28 63   ┆  ; set function for next i/o (c┆
0x0bb960…0bb980             6f 6d 6d 61 6e 64 20 69 6e 20 72 65 67 2d 63 29 0d 0a 09 6c 78 69 09 68 2c 69 6f 66 09 3b 69 6f   ┆ommand in reg-c)   lxi h,iof ;io┆
0x0bb980…0bb9a0             20 66 75 6e 63 74 69 6f 6e 20 61 64 64 72 65 73 73 0d 0a 09 6d 6f 76 09 61 2c 6d 09 3b 67 65 74   ┆ function address   mov a,m ;get┆
0x0bb9a0…0bb9c0             20 69 74 20 74 6f 20 61 63 63 75 6d 75 6c 61 74 6f 72 20 66 6f 72 20 6d 61 73 6b 69 6e 67 0d 0a   ┆ it to accumulator for masking  ┆
0x0bb9c0…0bb9e0             09 61 6e 69 09 31 31 31 31 31 30 30 30 62 09 3b 72 65 6d 6f 76 65 20 70 72 65 76 69 6f 75 73 20   ┆ ani 11111000b ;remove previous ┆
0x0bb9e0…0bba00             63 6f 6d 6d 61 6e 64 0d 0a 09 6f 72 61 09 63 09 3b 73 65 74 20 74 6f 20 6e 65 77 20 63 6f 6d 6d   ┆command   ora c ;set to new comm┆
0x0bba00…0bba20 (50, 0, 2)  74 65 09 09 3b 63 6c 65 61 72 20 72 65 73 75 6c 74 20 62 79 74 65 0d 0a 09 6a 6d 70 09 74 72 79   ┆te  ;clear result byte   jmp try┆
0x0bba20…0bba40             63 6f 75 6e 74 0d 0a 3b 0d 0a 77 65 72 72 6f 72 3a 09 3b 72 65 74 75 72 6e 20 68 61 72 64 77 61   ┆count  ;  werror: ;return hardwa┆
0x0bba40…0bba60             72 65 20 6d 61 6c 66 75 6e 63 74 69 6f 6e 20 28 63 72 63 2c 20 74 72 61 63 6b 2c 20 73 65 65 6b   ┆re malfunction (crc, track, seek┆
0x0bba60…0bba80             2c 20 65 74 63 2e 29 0d 0a 3b 09 74 68 65 20 6d 64 73 20 63 6f 6e 74 72 6f 6c 6c 65 72 20 68 61   ┆, etc.)  ; the mds controller ha┆
0x0bba80…0bbaa0             73 20 72 65 74 75 72 6e 65 64 20 61 20 62 69 74 20 69 6e 20 65 61 63 68 20 70 6f 73 69 74 69 6f   ┆s returned a bit in each positio┆
0x0bbaa0…0bbac0             6e 0d 0a 3b 09 6f 66 20 74 68 65 20 61 63 63 75 6d 75 6c 61 74 6f 72 2c 20 63 6f 72 72 65 73 70   ┆n  ; of the accumulator, corresp┆
0x0bbac0…0bbae0             6f 6e 64 69 6e 67 20 74 6f 20 74 68 65 20 63 6f 6e 64 69 74 69 6f 6e 73 3a 0d 0a 3b 09 30 09 2d   ┆onding to the conditions:  ; 0 -┆
0x0bbae0…0bbb00             20 64 65 6c 65 74 65 64 20 64 61 74 61 20 28 61 63 63 65 70 74 65 64 20 61 73 20 6f 6b 20 61 62   ┆ deleted data (accepted as ok ab┆
0x0bbb00…0bbb20             6f 76 65 29 0d 0a 3b 09 31 09 2d 20 63 72 63 20 65 72 72 6f 72 0d 0a 3b 09 32 09 2d 20 73 65 65   ┆ove)  ; 1 - crc error  ; 2 - see┆
0x0bbb20…0bbb40             6b 20 65 72 72 6f 72 0d 0a 3b 09 33 09 2d 20 61 64 64 72 65 73 73 20 65 72 72 6f 72 20 28 68 61   ┆k error  ; 3 - address error (ha┆
0x0bbb40…0bbb60             72 64 77 61 72 65 20 6d 61 6c 66 75 6e 63 74 69 6f 6e 29 0d 0a 3b 09 34 09 2d 20 64 61 74 61 20   ┆rdware malfunction)  ; 4 - data ┆
0x0bbb60…0bbb80             6f 76 65 72 2f 75 6e 64 65 72 20 66 6c 6f 77 20 28 68 61 72 64 77 61 72 65 20 6d 61 6c 66 75 6e   ┆over/under flow (hardware malfun┆
0x0bbb80…0bbba0             63 74 69 6f 6e 29 0d 0a 3b 09 35 09 2d 20 77 72 69 74 65 20 70 72 6f 74 65 63 74 20 28 74 72 65   ┆ction)  ; 5 - write protect (tre┆
0x0bbba0…0bbbc0             61 74 65 64 20 61 73 20 6e 6f 74 20 72 65 61 64 79 29 0d 0a 3b 09 36 09 2d 20 77 72 69 74 65 20   ┆ated as not ready)  ; 6 - write ┆
0x0bbbc0…0bbbe0             65 72 72 6f 72 20 28 68 61 72 64 77 61 72 65 20 6d 61 6c 66 75 6e 63 74 69 6f 6e 29 0d 0a 3b 09   ┆error (hardware malfunction)  ; ┆
0x0bbbe0…0bbc00             37 09 2d 20 6e 6f 74 20 72 65 61 64 79 0d 0a 3b 09 28 61 63 63 75 6d 75 6c 61 74 6f 72 20 62 69   ┆7 - not ready  ; (accumulator bi┆
0x0bbc00…0bbc20 (50, 0, 3)  61 73 65 20 6f 66 20 43 43 50 20 69 6e 20 74 65 73 74 20 73 79 73 74 65 6d 0d 0a 09 65 6e 64 69   ┆ase of CCP in test system   endi┆
0x0bbc20…0bbc40             66 0d 0a 09 69 66 09 6e 6f 74 20 74 65 73 74 0d 0a 62 69 61 73 09 65 71 75 09 30 30 30 30 68 09   ┆f   if not test  bias equ 0000h ┆
0x0bbc40…0bbc60             3b 67 65 6e 65 72 61 74 65 20 72 65 6c 6f 63 61 74 61 62 6c 65 20 63 70 2f 6d 20 73 79 73 74 65   ┆;generate relocatable cp/m syste┆
0x0bbc60…0bbc80             6d 0d 0a 09 65 6e 64 69 66 0d 0a 3b 0d 0a 70 61 74 63 68 09 65 71 75 09 31 36 30 30 68 0d 0a 3b   ┆m   endif  ;  patch equ 1600h  ;┆
0x0bbc80…0bbca0             0d 0a 09 6f 72 67 09 70 61 74 63 68 0d 0a 63 70 6d 62 09 65 71 75 09 24 2d 70 61 74 63 68 09 3b   ┆   org patch  cpmb equ $-patch ;┆
0x0bbca0…0bbcc0             62 61 73 65 20 6f 66 20 63 70 6d 20 63 6f 6e 73 6f 6c 65 20 70 72 6f 63 65 73 73 6f 72 0d 0a 62   ┆base of cpm console processor  b┆
0x0bbcc0…0bbce0             64 6f 73 09 65 71 75 09 38 30 36 68 2b 63 70 6d 62 09 3b 62 61 73 69 63 20 64 6f 73 20 28 72 65   ┆dos equ 806h+cpmb ;basic dos (re┆
0x0bbce0…0bbd00             73 69 64 65 6e 74 20 70 6f 72 74 69 6f 6e 29 0d 0a 63 70 6d 6c 09 65 71 75 09 24 2d 63 70 6d 62   ┆sident portion)  cpml equ $-cpmb┆
0x0bbd00…0bbd20             09 3b 6c 65 6e 67 74 68 20 28 69 6e 20 62 79 74 65 73 29 20 6f 66 20 63 70 6d 20 73 79 73 74 65   ┆ ;length (in bytes) of cpm syste┆
0x0bbd20…0bbd40             6d 0d 0a 6e 73 65 63 74 73 09 65 71 75 09 63 70 6d 6c 2f 31 32 38 09 3b 6e 75 6d 62 65 72 20 6f   ┆m  nsects equ cpml/128 ;number o┆
0x0bbd40…0bbd60             66 20 73 65 63 74 6f 72 73 20 74 6f 20 6c 6f 61 64 0d 0a 6f 66 66 73 65 74 09 65 71 75 09 32 09   ┆f sectors to load  offset equ 2 ┆
0x0bbd60…0bbd80             3b 6e 75 6d 62 65 72 20 6f 66 20 64 69 73 6b 20 74 72 61 63 6b 73 20 75 73 65 64 20 62 79 20 63   ┆;number of disk tracks used by c┆
0x0bbd80…0bbda0             70 2f 6d 0d 0a 63 64 69 73 6b 09 65 71 75 09 30 30 30 34 68 09 3b 61 64 64 72 65 73 73 20 6f 66   ┆p/m  cdisk equ 0004h ;address of┆
0x0bbda0…0bbdc0             20 6c 61 73 74 20 6c 6f 67 67 65 64 20 64 69 73 6b 20 6f 6e 20 77 61 72 6d 20 73 74 61 72 74 0d   ┆ last logged disk on warm start ┆
0x0bbdc0…0bbde0             0a 62 75 66 66 09 65 71 75 09 30 30 38 30 68 09 3b 64 65 66 61 75 6c 74 20 62 75 66 66 65 72 20   ┆ buff equ 0080h ;default buffer ┆
0x0bbde0…0bbe00             61 64 64 72 65 73 73 0d 0a 72 65 74 72 79 09 65 71 75 09 31 30 09 3b 6d 61 78 20 72 65 74 72 69   ┆address  retry equ 10 ;max retri┆
0x0bbe00…0bbe20 (50, 0, 4)  6d 61 69 6e 69 6e 67 20 73 75 62 72 6f 75 74 69 6e 65 73 0d 0a 3b 09 61 72 65 20 74 61 69 6c 6f   ┆maining subroutines  ; are tailo┆
0x0bbe20…0bbe40             72 65 64 20 74 6f 20 74 68 65 20 70 61 72 74 69 63 75 6c 61 72 20 6f 70 65 72 61 74 69 6e 67 20   ┆red to the particular operating ┆
0x0bbe40…0bbe60             65 6e 76 69 72 6f 6e 6d 65 6e 74 2c 20 61 6e 64 20 6d 75 73 74 0d 0a 3b 09 62 65 20 61 6c 74 65   ┆environment, and must  ; be alte┆
0x0bbe60…0bbe80             72 65 64 20 66 6f 72 20 61 6e 79 20 73 79 73 74 65 6d 20 77 68 69 63 68 20 64 69 66 66 65 72 73   ┆red for any system which differs┆
0x0bbe80…0bbea0             20 66 72 6f 6d 20 74 68 65 20 69 6e 74 65 6c 20 6d 64 73 2e 0d 0a 3b 0d 0a 3b 09 74 68 65 20 66   ┆ from the intel mds.  ;  ; the f┆
0x0bbea0…0bbec0             6f 6c 6c 6f 77 69 6e 67 20 63 6f 64 65 20 61 73 73 75 6d 65 73 20 74 68 65 20 6d 64 73 20 6d 6f   ┆ollowing code assumes the mds mo┆
0x0bbec0…0bbee0             6e 69 74 6f 72 20 65 78 69 73 74 73 20 61 74 20 30 66 38 30 30 68 0d 0a 3b 09 61 6e 64 20 75 73   ┆nitor exists at 0f800h  ; and us┆
0x0bbee0…0bbf00             65 73 20 74 68 65 20 69 2f 6f 20 73 75 62 72 6f 75 74 69 6e 65 73 20 77 69 74 68 69 6e 20 74 68   ┆es the i/o subroutines within th┆
0x0bbf00…0bbf20             65 20 6d 6f 6e 69 74 6f 72 0d 0a 3b 0d 0a 3b 09 77 65 20 61 6c 73 6f 20 61 73 73 75 6d 65 20 74   ┆e monitor  ;  ; we also assume t┆
0x0bbf20…0bbf40             68 65 20 6d 64 73 20 73 79 73 74 65 6d 20 68 61 73 20 66 6f 75 72 20 64 69 73 6b 20 64 72 69 76   ┆he mds system has four disk driv┆
0x0bbf40…0bbf60             65 73 0d 0a 72 65 76 72 74 09 65 71 75 09 30 66 64 68 09 3b 69 6e 74 65 72 72 75 70 74 20 72 65   ┆es  revrt equ 0fdh ;interrupt re┆
0x0bbf60…0bbf80             76 65 72 74 20 70 6f 72 74 0d 0a 69 6e 74 63 09 65 71 75 09 30 66 63 68 09 3b 69 6e 74 65 72 72   ┆vert port  intc equ 0fch ;interr┆
0x0bbf80…0bbfa0             75 70 74 20 6d 61 73 6b 20 70 6f 72 74 0d 0a 69 63 6f 6e 09 65 71 75 09 30 66 33 68 09 3b 69 6e   ┆upt mask port  icon equ 0f3h ;in┆
0x0bbfa0…0bbfc0             74 65 72 72 75 70 74 20 63 6f 6e 74 72 6f 6c 20 70 6f 72 74 0d 0a 69 6e 74 65 09 65 71 75 09 30   ┆terrupt control port  inte equ 0┆
0x0bbfc0…0bbfe0             31 31 31 24 31 31 31 30 62 09 3b 65 6e 61 62 6c 65 20 72 73 74 20 30 28 77 61 72 6d 20 62 6f 6f   ┆111$1110b ;enable rst 0(warm boo┆
0x0bbfe0…0bc000             74 29 2c 20 72 73 74 20 37 20 28 6d 6f 6e 69 74 6f 72 29 0d 0a 3b 0d 0a 3b 09 6d 64 73 20 6d 6f   ┆t), rst 7 (monitor)  ;  ; mds mo┆
0x0bc000…0bc020 (50, 0, 5)  61 6e 64 0d 0a 09 6d 6f 76 09 6d 2c 61 09 3b 72 65 70 6c 61 63 65 64 20 69 6e 20 69 6f 70 62 0d   ┆and   mov m,a ;replaced in iopb ┆
0x0bc020…0bc040             0a 3b 09 74 68 65 20 6d 64 73 2d 38 30 30 20 63 6f 6e 74 72 6f 6c 6c 65 72 20 72 65 71 75 69 72   ┆ ; the mds-800 controller requir┆
0x0bc040…0bc060             65 73 20 64 69 73 6b 20 62 61 6e 6b 20 62 69 74 20 69 6e 20 73 65 63 74 6f 72 20 62 79 74 65 0d   ┆es disk bank bit in sector byte ┆
0x0bc060…0bc080             0a 3b 09 6d 61 73 6b 20 74 68 65 20 62 69 74 20 66 72 6f 6d 20 74 68 65 20 63 75 72 72 65 6e 74   ┆ ; mask the bit from the current┆
0x0bc080…0bc0a0             20 69 2f 6f 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 61 6e 69 09 30 30 31 30 30 30 30 30 62 09 3b 6d   ┆ i/o function   ani 00100000b ;m┆
0x0bc0a0…0bc0c0             61 73 6b 20 74 68 65 20 64 69 73 6b 20 73 65 6c 65 63 74 20 62 69 74 0d 0a 09 6c 78 69 09 68 2c   ┆ask the disk select bit   lxi h,┆
0x0bc0c0…0bc0e0             69 6f 73 09 09 3b 61 64 64 72 65 73 73 20 74 68 65 20 73 65 63 74 6f 72 20 73 65 6c 65 63 74 20   ┆ios  ;address the sector select ┆
0x0bc0e0…0bc100             62 79 74 65 0d 0a 09 6f 72 61 09 6d 09 09 3b 73 65 6c 65 63 74 20 70 72 6f 70 65 72 20 64 69 73   ┆byte   ora m  ;select proper dis┆
0x0bc100…0bc120             6b 20 62 61 6e 6b 0d 0a 09 6d 6f 76 09 6d 2c 61 09 09 3b 73 65 74 20 64 69 73 6b 20 73 65 6c 65   ┆k bank   mov m,a  ;set disk sele┆
0x0bc120…0bc140             63 74 20 62 69 74 20 6f 6e 2f 6f 66 66 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 77 61 69 74 69 6f 3a 0d   ┆ct bit on/off   ret  ;  waitio: ┆
0x0bc140…0bc160             0a 09 6d 76 69 09 63 2c 72 65 74 72 79 09 3b 6d 61 78 20 72 65 74 72 69 65 73 20 62 65 66 6f 72   ┆  mvi c,retry ;max retries befor┆
0x0bc160…0bc180             65 20 70 65 72 6d 20 65 72 72 6f 72 0d 0a 72 65 77 61 69 74 3a 0d 0a 3b 09 73 74 61 72 74 20 74   ┆e perm error  rewait:  ; start t┆
0x0bc180…0bc1a0             68 65 20 69 2f 6f 20 66 75 6e 63 74 69 6f 6e 20 61 6e 64 20 77 61 69 74 20 66 6f 72 20 63 6f 6d   ┆he i/o function and wait for com┆
0x0bc1a0…0bc1c0             70 6c 65 74 69 6f 6e 0d 0a 09 63 61 6c 6c 09 69 6e 74 79 70 65 09 3b 69 6e 20 72 74 79 70 65 0d   ┆pletion   call intype ;in rtype ┆
0x0bc1c0…0bc1e0             0a 09 63 61 6c 6c 09 69 6e 62 79 74 65 09 3b 63 6c 65 61 72 73 20 74 68 65 20 63 6f 6e 74 72 6f   ┆  call inbyte ;clears the contro┆
0x0bc1e0…0bc200             6c 6c 65 72 0d 0a 3b 0d 0a 09 6c 64 61 09 64 62 61 6e 6b 09 09 3b 73 65 74 20 62 61 6e 6b 20 66   ┆ller  ;   lda dbank  ;set bank f┆
0x0bc200…0bc220 (50, 0, 6)  74 73 20 61 72 65 20 6e 75 6d 62 65 72 65 64 20 37 20 36 20 35 20 34 20 33 20 32 20 31 20 30 29   ┆ts are numbered 7 6 5 4 3 2 1 0)┆
0x0bc220…0bc240             0d 0a 3b 0d 0a 3b 09 69 74 20 6d 61 79 20 62 65 20 75 73 65 66 75 6c 20 74 6f 20 66 69 6c 74 65   ┆  ;  ; it may be useful to filte┆
0x0bc240…0bc260             72 20 6f 75 74 20 74 68 65 20 76 61 72 69 6f 75 73 20 63 6f 6e 64 69 74 69 6f 6e 73 2c 0d 0a 3b   ┆r out the various conditions,  ;┆
0x0bc260…0bc280             09 62 75 74 20 77 65 20 77 69 6c 6c 20 67 65 74 20 61 20 70 65 72 6d 61 6e 65 6e 74 20 65 72 72   ┆ but we will get a permanent err┆
0x0bc280…0bc2a0             6f 72 20 6d 65 73 73 61 67 65 20 69 66 20 69 74 20 69 73 20 6e 6f 74 0d 0a 3b 09 72 65 63 6f 76   ┆or message if it is not  ; recov┆
0x0bc2a0…0bc2c0             65 72 61 62 6c 65 2e 20 20 69 6e 20 61 6e 79 20 63 61 73 65 2c 20 74 68 65 20 6e 6f 74 20 72 65   ┆erable.  in any case, the not re┆
0x0bc2c0…0bc2e0             61 64 79 20 63 6f 6e 64 69 74 69 6f 6e 20 69 73 0d 0a 3b 09 74 72 65 61 74 65 64 20 61 73 20 61   ┆ady condition is  ; treated as a┆
0x0bc2e0…0bc300             20 73 65 70 61 72 61 74 65 20 63 6f 6e 64 69 74 69 6f 6e 20 66 6f 72 20 6c 61 74 65 72 20 69 6d   ┆ separate condition for later im┆
0x0bc300…0bc320             70 72 6f 76 65 6d 65 6e 74 0d 0a 74 72 79 63 6f 75 6e 74 3a 0d 0a 3b 09 72 65 67 69 73 74 65 72   ┆provement  trycount:  ; register┆
0x0bc320…0bc340             20 63 20 63 6f 6e 74 61 69 6e 73 20 72 65 74 72 79 20 63 6f 75 6e 74 2c 20 64 65 63 72 65 6d 65   ┆ c contains retry count, decreme┆
0x0bc340…0bc360             6e 74 20 27 74 69 6c 20 7a 65 72 6f 0d 0a 09 64 63 72 09 63 0d 0a 09 6a 6e 7a 09 72 65 77 61 69   ┆nt 'til zero   dcr c   jnz rewai┆
0x0bc360…0bc380             74 09 3b 66 6f 72 20 61 6e 6f 74 68 65 72 20 74 72 79 0d 0a 3b 0d 0a 3b 09 63 61 6e 6e 6f 74 20   ┆t ;for another try  ;  ; cannot ┆
0x0bc380…0bc3a0             72 65 63 6f 76 65 72 20 66 72 6f 6d 20 65 72 72 6f 72 0d 0a 09 6d 76 69 09 61 2c 31 09 3b 65 72   ┆recover from error   mvi a,1 ;er┆
0x0bc3a0…0bc3c0             72 6f 72 20 63 6f 64 65 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 3b 09 69 6e 74 79 70 65 2c 20 69 6e 62   ┆ror code   ret  ;  ; intype, inb┆
0x0bc3c0…0bc3e0             79 74 65 2c 20 69 6e 73 74 61 74 20 72 65 61 64 20 64 72 69 76 65 20 62 61 6e 6b 20 30 30 20 6f   ┆yte, instat read drive bank 00 o┆
0x0bc3e0…0bc400             72 20 31 30 0d 0a 69 6e 74 79 70 65 3a 09 6c 64 61 09 64 62 61 6e 6b 0d 0a 09 6f 72 61 09 61 0d   ┆r 10  intype: lda dbank   ora a ┆
0x0bc400…0bc420 (50, 0, 7)  65 73 20 6f 6e 20 64 69 73 6b 20 69 2f 6f 20 62 65 66 6f 72 65 20 65 72 72 6f 72 0d 0a 3b 0d 0a   ┆es on disk i/o before error  ;  ┆
0x0bc420…0bc440             3b 09 70 65 72 66 6f 72 6d 20 66 6f 6c 6c 6f 77 69 6e 67 20 66 75 6e 63 74 69 6f 6e 73 0d 0a 3b   ┆; perform following functions  ;┆
0x0bc440…0bc460             09 62 6f 6f 74 09 63 6f 6c 64 20 73 74 61 72 74 0d 0a 3b 09 77 62 6f 6f 74 09 77 61 72 6d 20 73   ┆ boot cold start  ; wboot warm s┆
0x0bc460…0bc480             74 61 72 74 20 28 73 61 76 65 20 69 2f 6f 20 62 79 74 65 29 0d 0a 3b 09 28 62 6f 6f 74 20 61 6e   ┆tart (save i/o byte)  ; (boot an┆
0x0bc480…0bc4a0             64 20 77 62 6f 6f 74 20 61 72 65 20 74 68 65 20 73 61 6d 65 20 66 6f 72 20 6d 64 73 29 0d 0a 3b   ┆d wboot are the same for mds)  ;┆
0x0bc4a0…0bc4c0             09 63 6f 6e 73 74 09 63 6f 6e 73 6f 6c 65 20 73 74 61 74 75 73 0d 0a 3b 09 09 72 65 67 2d 61 20   ┆ const console status  ;  reg-a ┆
0x0bc4c0…0bc4e0             3d 20 30 30 20 69 66 20 6e 6f 20 63 68 61 72 61 63 74 65 72 20 72 65 61 64 79 0d 0a 3b 09 09 72   ┆= 00 if no character ready  ;  r┆
0x0bc4e0…0bc500             65 67 2d 61 20 3d 20 66 66 20 69 66 20 63 68 61 72 61 63 74 65 72 20 72 65 61 64 79 0d 0a 3b 09   ┆eg-a = ff if character ready  ; ┆
0x0bc500…0bc520             63 6f 6e 69 6e 09 63 6f 6e 73 6f 6c 65 20 63 68 61 72 61 63 74 65 72 20 69 6e 20 28 72 65 73 75   ┆conin console character in (resu┆
0x0bc520…0bc540             6c 74 20 69 6e 20 72 65 67 2d 61 29 0d 0a 3b 09 63 6f 6e 6f 75 74 09 63 6f 6e 73 6f 6c 65 20 63   ┆lt in reg-a)  ; conout console c┆
0x0bc540…0bc560             68 61 72 61 63 74 65 72 20 6f 75 74 20 28 63 68 61 72 20 69 6e 20 72 65 67 2d 63 29 0d 0a 3b 09   ┆haracter out (char in reg-c)  ; ┆
0x0bc560…0bc580             6c 69 73 74 09 6c 69 73 74 20 6f 75 74 20 28 63 68 61 72 20 69 6e 20 72 65 67 2d 63 29 0d 0a 3b   ┆list list out (char in reg-c)  ;┆
0x0bc580…0bc5a0             09 70 75 6e 63 68 09 70 75 6e 63 68 20 6f 75 74 20 28 63 68 61 72 20 69 6e 20 72 65 67 2d 63 29   ┆ punch punch out (char in reg-c)┆
0x0bc5a0…0bc5c0             0d 0a 3b 09 72 65 61 64 65 72 09 70 61 70 65 72 20 74 61 70 65 20 72 65 61 64 65 72 20 69 6e 20   ┆  ; reader paper tape reader in ┆
0x0bc5c0…0bc5e0             28 72 65 73 75 6c 74 20 74 6f 20 72 65 67 2d 61 29 0d 0a 3b 09 68 6f 6d 65 09 6d 6f 76 65 20 74   ┆(result to reg-a)  ; home move t┆
0x0bc5e0…0bc600             6f 20 74 72 61 63 6b 20 30 30 0d 0a 3b 0d 0a 3b 09 28 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20   ┆o track 00  ;  ; (the following ┆
0x0bc600…0bc620 (50, 0, 8)  6e 69 74 6f 72 20 65 71 75 61 74 65 73 0d 0a 6d 6f 6e 38 30 09 65 71 75 09 30 66 38 30 30 68 09   ┆nitor equates  mon80 equ 0f800h ┆
0x0bc620…0bc640             3b 6d 64 73 20 6d 6f 6e 69 74 6f 72 0d 0a 72 6d 6f 6e 38 30 09 65 71 75 09 30 66 66 30 66 68 09   ┆;mds monitor  rmon80 equ 0ff0fh ┆
0x0bc640…0bc660             3b 72 65 73 74 61 72 74 20 6d 6f 6e 38 30 20 28 62 6f 6f 74 20 65 72 72 6f 72 29 0d 0a 63 69 09   ┆;restart mon80 (boot error)  ci ┆
0x0bc660…0bc680             65 71 75 09 30 66 38 30 33 68 09 3b 63 6f 6e 73 6f 6c 65 20 63 68 61 72 61 63 74 65 72 20 74 6f   ┆equ 0f803h ;console character to┆
0x0bc680…0bc6a0             20 72 65 67 2d 61 0d 0a 72 69 09 65 71 75 09 30 66 38 30 36 68 09 3b 72 65 61 64 65 72 20 69 6e   ┆ reg-a  ri equ 0f806h ;reader in┆
0x0bc6a0…0bc6c0             20 74 6f 20 72 65 67 2d 61 0d 0a 63 6f 09 65 71 75 09 30 66 38 30 39 68 09 3b 63 6f 6e 73 6f 6c   ┆ to reg-a  co equ 0f809h ;consol┆
0x0bc6c0…0bc6e0             65 20 63 68 61 72 20 66 72 6f 6d 20 63 20 74 6f 20 63 6f 6e 73 6f 6c 65 20 6f 75 74 0d 0a 70 6f   ┆e char from c to console out  po┆
0x0bc6e0…0bc700             09 65 71 75 09 30 66 38 30 63 68 09 3b 70 75 6e 63 68 20 63 68 61 72 20 66 72 6f 6d 20 63 20 74   ┆ equ 0f80ch ;punch char from c t┆
0x0bc700…0bc720             6f 20 70 75 6e 63 68 20 64 65 76 69 63 65 0d 0a 6c 6f 09 65 71 75 09 30 66 38 30 66 68 09 3b 6c   ┆o punch device  lo equ 0f80fh ;l┆
0x0bc720…0bc740             69 73 74 20 66 72 6f 6d 20 63 20 74 6f 20 6c 69 73 74 20 64 65 76 69 63 65 0d 0a 63 73 74 73 09   ┆ist from c to list device  csts ┆
0x0bc740…0bc760             65 71 75 09 30 66 38 31 32 68 09 3b 63 6f 6e 73 6f 6c 65 20 73 74 61 74 75 73 20 30 30 2f 66 66   ┆equ 0f812h ;console status 00/ff┆
0x0bc760…0bc780             20 74 6f 20 72 65 67 69 73 74 65 72 20 61 0d 0a 3b 0d 0a 3b 09 64 69 73 6b 20 70 6f 72 74 73 20   ┆ to register a  ;  ; disk ports ┆
0x0bc780…0bc7a0             61 6e 64 20 63 6f 6d 6d 61 6e 64 73 0d 0a 62 61 73 65 09 65 71 75 09 37 38 68 09 3b 62 61 73 65   ┆and commands  base equ 78h ;base┆
0x0bc7a0…0bc7c0             20 6f 66 20 64 69 73 6b 20 63 6f 6d 6d 61 6e 64 20 69 6f 20 70 6f 72 74 73 0d 0a 64 73 74 61 74   ┆ of disk command io ports  dstat┆
0x0bc7c0…0bc7e0             09 65 71 75 09 62 61 73 65 09 3b 64 69 73 6b 20 73 74 61 74 75 73 20 28 69 6e 70 75 74 29 0d 0a   ┆ equ base ;disk status (input)  ┆
0x0bc7e0…0bc800             72 74 79 70 65 09 65 71 75 09 62 61 73 65 2b 31 09 3b 72 65 73 75 6c 74 20 74 79 70 65 20 28 69   ┆rtype equ base+1 ;result type (i┆
0x0bc800…0bc820 (50, 0, 9)  6c 61 67 73 0d 0a 09 6f 72 61 09 61 09 09 3b 7a 65 72 6f 20 69 66 20 64 72 69 76 65 20 30 2c 31   ┆lags   ora a  ;zero if drive 0,1┆
0x0bc820…0bc840             20 61 6e 64 20 6e 7a 20 69 66 20 32 2c 33 0d 0a 09 6d 76 69 09 61 2c 69 6f 70 62 20 61 6e 64 20   ┆ and nz if 2,3   mvi a,iopb and ┆
0x0bc840…0bc860             30 66 66 68 09 3b 6c 6f 77 20 61 64 64 72 65 73 73 20 66 6f 72 20 69 6f 70 62 0d 0a 09 6d 76 69   ┆0ffh ;low address for iopb   mvi┆
0x0bc860…0bc880             09 62 2c 69 6f 70 62 20 73 68 72 20 38 09 3b 68 69 67 68 20 61 64 64 72 65 73 73 20 66 6f 72 20   ┆ b,iopb shr 8 ;high address for ┆
0x0bc880…0bc8a0             69 6f 70 62 0d 0a 09 6a 6e 7a 09 69 6f 64 72 31 09 3b 64 72 69 76 65 20 62 61 6e 6b 20 31 3f 0d   ┆iopb   jnz iodr1 ;drive bank 1? ┆
0x0bc8a0…0bc8c0             0a 09 6f 75 74 09 69 6c 6f 77 09 09 3b 6c 6f 77 20 61 64 64 72 65 73 73 20 74 6f 20 63 6f 6e 74   ┆  out ilow  ;low address to cont┆
0x0bc8c0…0bc8e0             72 6f 6c 6c 65 72 0d 0a 09 6d 6f 76 09 61 2c 62 0d 0a 09 6f 75 74 09 69 68 69 67 68 09 3b 68 69   ┆roller   mov a,b   out ihigh ;hi┆
0x0bc8e0…0bc900             67 68 20 61 64 64 72 65 73 73 0d 0a 09 6a 6d 70 09 77 61 69 74 30 09 09 3b 74 6f 20 77 61 69 74   ┆gh address   jmp wait0  ;to wait┆
0x0bc900…0bc920             20 66 6f 72 20 63 6f 6d 70 6c 65 74 65 0d 0a 3b 0d 0a 69 6f 64 72 31 3a 09 3b 64 72 69 76 65 20   ┆ for complete  ;  iodr1: ;drive ┆
0x0bc920…0bc940             62 61 6e 6b 20 31 0d 0a 09 6f 75 74 09 69 6c 6f 77 2b 31 30 68 09 3b 38 38 20 66 6f 72 20 64 72   ┆bank 1   out ilow+10h ;88 for dr┆
0x0bc940…0bc960             69 76 65 20 62 61 6e 6b 20 31 30 0d 0a 09 6d 6f 76 09 61 2c 62 0d 0a 09 6f 75 74 09 69 68 69 67   ┆ive bank 10   mov a,b   out ihig┆
0x0bc960…0bc980             68 2b 31 30 68 0d 0a 3b 0d 0a 77 61 69 74 30 3a 09 63 61 6c 6c 09 69 6e 73 74 61 74 09 09 3b 77   ┆h+10h  ;  wait0: call instat  ;w┆
0x0bc980…0bc9a0             61 69 74 20 66 6f 72 20 63 6f 6d 70 6c 65 74 69 6f 6e 0d 0a 09 61 6e 69 09 69 6f 72 64 79 09 09   ┆ait for completion   ani iordy  ┆
0x0bc9a0…0bc9c0             3b 72 65 61 64 79 3f 0d 0a 09 6a 7a 09 77 61 69 74 30 0d 0a 3b 0d 0a 3b 09 63 68 65 63 6b 20 69   ┆;ready?   jz wait0  ;  ; check i┆
0x0bc9c0…0bc9e0             6f 20 63 6f 6d 70 6c 65 74 69 6f 6e 20 6f 6b 0d 0a 09 63 61 6c 6c 09 69 6e 74 79 70 65 09 09 3b   ┆o completion ok   call intype  ;┆
0x0bc9e0…0bca00             6d 75 73 74 20 62 65 20 69 6f 20 63 6f 6d 70 6c 65 74 65 20 28 30 30 29 20 75 6e 6c 69 6e 6b 65   ┆must be io complete (00) unlinke┆
0x0bca00…0bca20 (50, 0, 10) 0a 09 6a 6e 7a 09 69 6e 74 79 70 31 09 3b 73 6b 69 70 20 74 6f 20 62 61 6e 6b 20 31 30 0d 0a 09   ┆  jnz intyp1 ;skip to bank 10   ┆
0x0bca20…0bca40             69 6e 09 72 74 79 70 65 0d 0a 09 72 65 74 0d 0a 69 6e 74 79 70 31 3a 09 69 6e 09 72 74 79 70 65   ┆in rtype   ret  intyp1: in rtype┆
0x0bca40…0bca60             2b 31 30 68 09 3b 37 38 20 66 6f 72 20 30 2c 31 20 20 38 38 20 66 6f 72 20 32 2c 33 0d 0a 09 72   ┆+10h ;78 for 0,1  88 for 2,3   r┆
0x0bca60…0bca80             65 74 0d 0a 3b 0d 0a 69 6e 62 79 74 65 3a 09 6c 64 61 09 64 62 61 6e 6b 0d 0a 09 6f 72 61 09 61   ┆et  ;  inbyte: lda dbank   ora a┆
0x0bca80…0bcaa0             0d 0a 09 6a 6e 7a 09 69 6e 62 79 74 31 0d 0a 09 69 6e 09 72 62 79 74 65 0d 0a 09 72 65 74 0d 0a   ┆   jnz inbyt1   in rbyte   ret  ┆
0x0bcaa0…0bcac0             69 6e 62 79 74 31 3a 09 69 6e 09 72 62 79 74 65 2b 31 30 68 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 69   ┆inbyt1: in rbyte+10h   ret  ;  i┆
0x0bcac0…0bcae0             6e 73 74 61 74 3a 09 6c 64 61 09 64 62 61 6e 6b 0d 0a 09 6f 72 61 09 61 0d 0a 09 6a 6e 7a 09 69   ┆nstat: lda dbank   ora a   jnz i┆
0x0bcae0…0bcb00             6e 73 74 61 31 0d 0a 09 69 6e 09 64 73 74 61 74 0d 0a 09 72 65 74 0d 0a 69 6e 73 74 61 31 3a 09   ┆nsta1   in dstat   ret  insta1: ┆
0x0bcb00…0bcb20             69 6e 09 64 73 74 61 74 2b 31 30 68 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 3b 0d 0a 3b 0d 0a 3b 09 64   ┆in dstat+10h   ret  ;  ;  ;  ; d┆
0x0bcb20…0bcb40             61 74 61 20 61 72 65 61 73 20 28 6d 75 73 74 20 62 65 20 69 6e 20 72 61 6d 29 0d 0a 64 62 61 6e   ┆ata areas (must be in ram)  dban┆
0x0bcb40…0bcb60             6b 3a 09 64 62 09 30 09 3b 64 69 73 6b 20 62 61 6e 6b 20 30 30 20 69 66 20 64 72 69 76 65 20 30   ┆k: db 0 ;disk bank 00 if drive 0┆
0x0bcb60…0bcb80             2c 31 0d 0a 09 09 09 3b 09 20 20 20 31 30 20 69 66 20 64 72 69 76 65 20 32 2c 33 0d 0a 69 6f 70   ┆,1     ;    10 if drive 2,3  iop┆
0x0bcb80…0bcba0             62 3a 09 3b 69 6f 20 70 61 72 61 6d 65 74 65 72 20 62 6c 6f 63 6b 0d 0a 09 64 62 09 38 30 68 09   ┆b: ;io parameter block   db 80h ┆
0x0bcba0…0bcbc0             3b 6e 6f 72 6d 61 6c 20 69 2f 6f 20 6f 70 65 72 61 74 69 6f 6e 0d 0a 69 6f 66 3a 09 64 62 09 72   ┆;normal i/o operation  iof: db r┆
0x0bcbc0…0bcbe0             65 61 64 66 09 3b 69 6f 20 66 75 6e 63 74 69 6f 6e 2c 20 69 6e 69 74 69 61 6c 20 72 65 61 64 0d   ┆eadf ;io function, initial read ┆
0x0bcbe0…0bcc00             0a 69 6f 6e 3a 09 64 62 09 31 09 3b 6e 75 6d 62 65 72 20 6f 66 20 73 65 63 74 6f 72 73 20 74 6f   ┆ ion: db 1 ;number of sectors to┆
0x0bcc00…0bcc20 (50, 0, 11) 63 61 6c 6c 73 20 73 65 74 2d 75 70 20 74 68 65 20 69 6f 20 70 61 72 61 6d 65 74 65 72 20 62 6c   ┆calls set-up the io parameter bl┆
0x0bcc20…0bcc40             6f 63 6b 20 66 6f 72 20 74 68 65 0d 0a 3b 09 6d 64 73 2c 20 77 68 69 63 68 20 69 73 20 75 73 65   ┆ock for the  ; mds, which is use┆
0x0bcc40…0bcc60             64 20 74 6f 20 70 65 72 66 6f 72 6d 20 73 75 62 73 65 71 75 65 6e 74 20 72 65 61 64 73 20 61 6e   ┆d to perform subsequent reads an┆
0x0bcc60…0bcc80             64 20 77 72 69 74 65 73 29 0d 0a 3b 09 73 65 6c 64 73 6b 09 73 65 6c 65 63 74 20 64 69 73 6b 20   ┆d writes)  ; seldsk select disk ┆
0x0bcc80…0bcca0             67 69 76 65 6e 20 62 79 20 72 65 67 2d 63 20 28 30 2c 31 2c 32 2e 2e 2e 29 0d 0a 3b 09 73 65 74   ┆given by reg-c (0,1,2...)  ; set┆
0x0bcca0…0bccc0             74 72 6b 09 73 65 74 20 74 72 61 63 6b 20 61 64 64 72 65 73 73 20 28 30 2c 2e 2e 2e 37 36 29 20   ┆trk set track address (0,...76) ┆
0x0bccc0…0bcce0             66 6f 72 20 73 75 62 73 65 71 75 65 6e 74 20 72 65 61 64 2f 77 72 69 74 65 0d 0a 3b 09 73 65 74   ┆for subsequent read/write  ; set┆
0x0bcce0…0bcd00             73 65 63 09 73 65 74 20 73 65 63 74 6f 72 20 61 64 64 72 65 73 73 20 28 31 2c 2e 2e 2e 2c 32 36   ┆sec set sector address (1,...,26┆
0x0bcd00…0bcd20             29 20 66 6f 72 20 73 75 62 73 65 71 75 65 6e 74 20 72 65 61 64 2f 77 72 69 74 65 0d 0a 3b 09 73   ┆) for subsequent read/write  ; s┆
0x0bcd20…0bcd40             65 74 64 6d 61 09 73 65 74 20 73 75 62 73 65 71 75 65 6e 74 20 64 6d 61 20 61 64 64 72 65 73 73   ┆etdma set subsequent dma address┆
0x0bcd40…0bcd60             20 28 69 6e 69 74 69 61 6c 6c 79 20 38 30 68 29 0d 0a 3b 0d 0a 3b 09 28 72 65 61 64 20 61 6e 64   ┆ (initially 80h)  ;  ; (read and┆
0x0bcd60…0bcd80             20 77 72 69 74 65 20 61 73 73 75 6d 65 20 70 72 65 76 69 6f 75 73 20 63 61 6c 6c 73 20 74 6f 20   ┆ write assume previous calls to ┆
0x0bcd80…0bcda0             73 65 74 20 75 70 20 74 68 65 20 69 6f 20 70 61 72 61 6d 65 74 65 72 73 29 0d 0a 3b 09 72 65 61   ┆set up the io parameters)  ; rea┆
0x0bcda0…0bcdc0             64 09 72 65 61 64 20 74 72 61 63 6b 2f 73 65 63 74 6f 72 20 74 6f 20 70 72 65 73 65 74 20 64 6d   ┆d read track/sector to preset dm┆
0x0bcdc0…0bcde0             61 20 61 64 64 72 65 73 73 0d 0a 3b 09 77 72 69 74 65 09 77 72 69 74 65 20 74 72 61 63 6b 2f 73   ┆a address  ; write write track/s┆
0x0bcde0…0bce00             65 63 74 6f 72 20 66 72 6f 6d 20 70 72 65 73 65 74 20 64 6d 61 20 61 64 64 72 65 73 73 0d 0a 3b   ┆ector from preset dma address  ;┆
0x0bce00…0bce20 (50, 0, 12) 6e 70 75 74 29 0d 0a 72 62 79 74 65 09 65 71 75 09 62 61 73 65 2b 33 09 3b 72 65 73 75 6c 74 20   ┆nput)  rbyte equ base+3 ;result ┆
0x0bce20…0bce40             62 79 74 65 20 28 69 6e 70 75 74 29 0d 0a 3b 0d 0a 69 6c 6f 77 09 65 71 75 09 62 61 73 65 2b 31   ┆byte (input)  ;  ilow equ base+1┆
0x0bce40…0bce60             09 3b 69 6f 70 62 20 6c 6f 77 20 61 64 64 72 65 73 73 20 28 6f 75 74 70 75 74 29 0d 0a 69 68 69   ┆ ;iopb low address (output)  ihi┆
0x0bce60…0bce80             67 68 09 65 71 75 09 62 61 73 65 2b 32 09 3b 69 6f 70 62 20 68 69 67 68 20 61 64 64 72 65 73 73   ┆gh equ base+2 ;iopb high address┆
0x0bce80…0bcea0             20 28 6f 75 74 70 75 74 29 0d 0a 3b 0d 0a 72 65 61 64 66 09 65 71 75 09 34 68 09 3b 72 65 61 64   ┆ (output)  ;  readf equ 4h ;read┆
0x0bcea0…0bcec0             20 66 75 6e 63 74 69 6f 6e 0d 0a 77 72 69 74 66 09 65 71 75 09 36 68 09 3b 77 72 69 74 65 20 66   ┆ function  writf equ 6h ;write f┆
0x0bcec0…0bcee0             75 6e 63 74 69 6f 6e 0d 0a 72 65 63 61 6c 09 65 71 75 09 33 68 09 3b 72 65 63 61 6c 69 62 72 61   ┆unction  recal equ 3h ;recalibra┆
0x0bcee0…0bcf00             74 65 20 64 72 69 76 65 0d 0a 69 6f 72 64 79 09 65 71 75 09 34 68 09 3b 69 2f 6f 20 66 69 6e 69   ┆te drive  iordy equ 4h ;i/o fini┆
0x0bcf00…0bcf20             73 68 65 64 20 6d 61 73 6b 0d 0a 63 72 09 65 71 75 09 30 64 68 09 3b 63 61 72 72 69 61 67 65 20   ┆shed mask  cr equ 0dh ;carriage ┆
0x0bcf20…0bcf40             72 65 74 75 72 6e 0d 0a 6c 66 09 65 71 75 09 30 61 68 09 3b 6c 69 6e 65 20 66 65 65 64 0d 0a 3b   ┆return  lf equ 0ah ;line feed  ;┆
0x0bcf40…0bcf60             0d 0a 73 69 67 6e 6f 6e 3a 09 3b 73 69 67 6e 6f 6e 20 6d 65 73 73 61 67 65 3a 20 78 78 6b 20 63   ┆  signon: ;signon message: xxk c┆
0x0bcf60…0bcf80             70 2f 6d 20 76 65 72 73 20 79 2e 79 0d 0a 09 64 62 09 63 72 2c 6c 66 2c 6c 66 0d 0a 09 69 66 09   ┆p/m vers y.y   db cr,lf,lf   if ┆
0x0bcf80…0bcfa0             74 65 73 74 0d 0a 09 64 62 09 27 33 32 27 09 3b 33 32 6b 20 65 78 61 6d 70 6c 65 20 62 69 6f 73   ┆test   db '32' ;32k example bios┆
0x0bcfa0…0bcfc0             0d 0a 09 65 6e 64 69 66 0d 0a 09 69 66 09 6e 6f 74 20 74 65 73 74 0d 0a 09 64 62 09 27 30 30 27   ┆   endif   if not test   db '00'┆
0x0bcfc0…0bcfe0             09 3b 6d 65 6d 6f 72 79 20 73 69 7a 65 20 66 69 6c 6c 65 64 20 62 79 20 72 65 6c 6f 63 61 74 6f   ┆ ;memory size filled by relocato┆
0x0bcfe0…0bd000             72 0d 0a 09 65 6e 64 69 66 0d 0a 09 64 62 09 27 6b 20 43 50 2f 4d 20 76 65 72 73 20 27 0d 0a 09   ┆r   endif   db 'k CP/M vers '   ┆
0x0bd000…0bd020 (50, 0, 13) 64 0d 0a 3b 09 30 30 20 75 6e 6c 69 6e 6b 65 64 20 69 2f 6f 20 63 6f 6d 70 6c 65 74 65 2c 20 20   ┆d  ; 00 unlinked i/o complete,  ┆
0x0bd020…0bd040             20 20 30 31 20 6c 69 6e 6b 65 64 20 69 2f 6f 20 63 6f 6d 70 6c 65 74 65 20 28 6e 6f 74 20 75 73   ┆  01 linked i/o complete (not us┆
0x0bd040…0bd060             65 64 29 0d 0a 3b 09 31 30 20 64 69 73 6b 20 73 74 61 74 75 73 20 63 68 61 6e 67 65 64 20 20 20   ┆ed)  ; 10 disk status changed   ┆
0x0bd060…0bd080             20 20 20 20 31 31 20 28 6e 6f 74 20 75 73 65 64 29 0d 0a 09 63 70 69 09 31 30 62 09 09 3b 72 65   ┆    11 (not used)   cpi 10b  ;re┆
0x0bd080…0bd0a0             61 64 79 20 73 74 61 74 75 73 20 63 68 61 6e 67 65 3f 0d 0a 09 6a 7a 09 77 72 65 61 64 79 0d 0a   ┆ady status change?   jz wready  ┆
0x0bd0a0…0bd0c0             3b 0d 0a 3b 09 6d 75 73 74 20 62 65 20 30 30 20 69 6e 20 74 68 65 20 61 63 63 75 6d 75 6c 61 74   ┆;  ; must be 00 in the accumulat┆
0x0bd0c0…0bd0e0             6f 72 0d 0a 09 6f 72 61 09 61 0d 0a 09 6a 6e 7a 09 77 65 72 72 6f 72 09 09 3b 73 6f 6d 65 20 6f   ┆or   ora a   jnz werror  ;some o┆
0x0bd0e0…0bd100             74 68 65 72 20 63 6f 6e 64 69 74 69 6f 6e 2c 20 72 65 74 72 79 0d 0a 3b 0d 0a 3b 09 63 68 65 63   ┆ther condition, retry  ;  ; chec┆
0x0bd100…0bd120             6b 20 69 2f 6f 20 65 72 72 6f 72 20 62 69 74 73 0d 0a 09 63 61 6c 6c 09 69 6e 62 79 74 65 0d 0a   ┆k i/o error bits   call inbyte  ┆
0x0bd120…0bd140             09 72 61 6c 0d 0a 09 6a 63 09 77 72 65 61 64 79 09 09 3b 75 6e 69 74 20 6e 6f 74 20 72 65 61 64   ┆ ral   jc wready  ;unit not read┆
0x0bd140…0bd160             79 0d 0a 09 72 61 72 0d 0a 09 61 6e 69 09 31 31 31 31 31 31 31 30 62 09 3b 61 6e 79 20 6f 74 68   ┆y   rar   ani 11111110b ;any oth┆
0x0bd160…0bd180             65 72 20 65 72 72 6f 72 73 3f 20 20 28 64 65 6c 65 74 65 64 20 64 61 74 61 20 6f 6b 29 0d 0a 09   ┆er errors?  (deleted data ok)   ┆
0x0bd180…0bd1a0             6a 6e 7a 09 77 65 72 72 6f 72 0d 0a 3b 0d 0a 3b 09 72 65 61 64 20 6f 72 20 77 72 69 74 65 20 69   ┆jnz werror  ;  ; read or write i┆
0x0bd1a0…0bd1c0             73 20 6f 6b 2c 20 61 63 63 75 6d 75 6c 61 74 6f 72 20 63 6f 6e 74 61 69 6e 73 20 7a 65 72 6f 0d   ┆s ok, accumulator contains zero ┆
0x0bd1c0…0bd1e0             0a 09 72 65 74 0d 0a 3b 0d 0a 77 72 65 61 64 79 3a 09 3b 6e 6f 74 20 72 65 61 64 79 2c 20 74 72   ┆  ret  ;  wready: ;not ready, tr┆
0x0bd1e0…0bd200             65 61 74 20 61 73 20 65 72 72 6f 72 20 66 6f 72 20 6e 6f 77 0d 0a 09 63 61 6c 6c 09 69 6e 62 79   ┆eat as error for now   call inby┆
0x0bd200…0bd220 (50, 0, 14) 20 72 65 61 64 0d 0a 69 6f 74 3a 09 64 62 09 6f 66 66 73 65 74 09 3b 74 72 61 63 6b 20 6e 75 6d   ┆ read  iot: db offset ;track num┆
0x0bd220…0bd240             62 65 72 0d 0a 69 6f 73 3a 09 64 62 09 31 09 3b 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 0d 0a 69   ┆ber  ios: db 1 ;sector number  i┆
0x0bd240…0bd260             6f 64 3a 09 64 77 09 62 75 66 66 09 3b 69 6f 20 61 64 64 72 65 73 73 0d 0a 3b 0d 0a 3b 0d 0a 3b   ┆od: dw buff ;io address  ;  ;  ;┆
0x0bd260…0bd280             09 64 65 66 69 6e 65 20 72 61 6d 20 61 72 65 61 73 20 66 6f 72 20 62 64 6f 73 20 6f 70 65 72 61   ┆ define ram areas for bdos opera┆
0x0bd280…0bd2a0             74 69 6f 6e 0d 0a 09 65 6e 64 65 66 0d 0a 09 65 6e 64 0d 0a 3b 09 4d 44 53 2d 38 30 30 20 49 2f   ┆tion   endef   end  ; MDS-800 I/┆
0x0bd2a0…0bd2c0             4f 20 44 72 69 76 65 72 73 20 66 6f 72 20 43 50 2f 4d 20 32 2e 32 0d 0a 3b 09 28 66 6f 75 72 20   ┆O Drivers for CP/M 2.2  ; (four ┆
0x0bd2c0…0bd2e0             64 72 69 76 65 20 73 69 6e 67 6c 65 20 64 65 6e 73 69 74 79 20 76 65 72 73 69 6f 6e 29 0d 0a 3b   ┆drive single density version)  ;┆
0x0bd2e0…0bd300             0d 0a 3b 09 56 65 72 73 69 6f 6e 20 32 2e 32 20 46 65 62 72 75 61 72 79 2c 20 31 39 38 30 0d 0a   ┆  ; Version 2.2 February, 1980  ┆
0x0bd300…0bd320             3b 0d 0a 76 65 72 73 09 65 71 75 09 32 32 09 3b 76 65 72 73 69 6f 6e 20 32 2e 32 0d 0a 3b 0d 0a   ┆;  vers equ 22 ;version 2.2  ;  ┆
0x0bd320…0bd340             3b 09 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 31 39 38 30 0d 0a 3b 09 44 69 67 69 74 61 6c 20   ┆; Copyright (c) 1980  ; Digital ┆
0x0bd340…0bd360             52 65 73 65 61 72 63 68 0d 0a 3b 09 42 6f 78 20 35 37 39 2c 20 50 61 63 69 66 69 63 20 47 72 6f   ┆Research  ; Box 579, Pacific Gro┆
0x0bd360…0bd380             76 65 0d 0a 3b 09 43 61 6c 69 66 6f 72 6e 69 61 2c 20 39 33 39 35 30 0d 0a 3b 0d 0a 3b 0d 0a 74   ┆ve  ; California, 93950  ;  ;  t┆
0x0bd380…0bd3a0             72 75 65 09 65 71 75 09 30 66 66 66 66 68 09 3b 76 61 6c 75 65 20 6f 66 20 22 74 72 75 65 22 0d   ┆rue equ 0ffffh ;value of "true" ┆
0x0bd3a0…0bd3c0             0a 66 61 6c 73 65 09 65 71 75 09 6e 6f 74 20 74 72 75 65 09 3b 22 66 61 6c 73 65 22 0d 0a 74 65   ┆ false equ not true ;"false"  te┆
0x0bd3c0…0bd3e0             73 74 09 65 71 75 09 66 61 6c 73 65 09 3b 74 72 75 65 20 69 66 20 74 65 73 74 20 62 69 6f 73 0d   ┆st equ false ;true if test bios ┆
0x0bd3e0…0bd400             0a 3b 0d 0a 09 69 66 09 74 65 73 74 0d 0a 62 69 61 73 09 65 71 75 09 30 33 34 30 30 68 09 3b 62   ┆ ;   if test  bias equ 03400h ;b┆
0x0bd400…0bd420 (50, 0, 15) 0d 0a 3b 09 6a 75 6d 70 20 76 65 63 74 6f 72 20 66 6f 72 20 69 6e 64 69 76 69 75 61 6c 20 72 6f   ┆  ; jump vector for indiviual ro┆
0x0bd420…0bd440             75 74 69 6e 65 73 0d 0a 09 6a 6d 70 09 62 6f 6f 74 0d 0a 77 62 6f 6f 74 65 3a 09 6a 6d 70 09 77   ┆utines   jmp boot  wboote: jmp w┆
0x0bd440…0bd460             62 6f 6f 74 0d 0a 09 6a 6d 70 09 63 6f 6e 73 74 0d 0a 09 6a 6d 70 09 63 6f 6e 69 6e 0d 0a 09 6a   ┆boot   jmp const   jmp conin   j┆
0x0bd460…0bd480             6d 70 09 63 6f 6e 6f 75 74 0d 0a 09 6a 6d 70 09 6c 69 73 74 0d 0a 09 6a 6d 70 09 70 75 6e 63 68   ┆mp conout   jmp list   jmp punch┆
0x0bd480…0bd4a0             0d 0a 09 6a 6d 70 09 72 65 61 64 65 72 0d 0a 09 6a 6d 70 09 68 6f 6d 65 0d 0a 09 6a 6d 70 09 73   ┆   jmp reader   jmp home   jmp s┆
0x0bd4a0…0bd4c0             65 6c 64 73 6b 0d 0a 09 6a 6d 70 09 73 65 74 74 72 6b 0d 0a 09 6a 6d 70 09 73 65 74 73 65 63 0d   ┆eldsk   jmp settrk   jmp setsec ┆
0x0bd4c0…0bd4e0             0a 09 6a 6d 70 09 73 65 74 64 6d 61 0d 0a 09 6a 6d 70 09 72 65 61 64 0d 0a 09 6a 6d 70 09 77 72   ┆  jmp setdma   jmp read   jmp wr┆
0x0bd4e0…0bd500             69 74 65 0d 0a 09 6a 6d 70 09 6c 69 73 74 73 74 09 3b 6c 69 73 74 20 73 74 61 74 75 73 0d 0a 09   ┆ite   jmp listst ;list status   ┆
0x0bd500…0bd520             6a 6d 70 09 73 65 63 74 72 61 6e 0d 0a 3b 0d 0a 09 6d 61 63 6c 69 62 09 64 69 73 6b 64 65 66 09   ┆jmp sectran  ;   maclib diskdef ┆
0x0bd520…0bd540             3b 6c 6f 61 64 20 74 68 65 20 64 69 73 6b 20 64 65 66 69 6e 69 74 69 6f 6e 20 6c 69 62 72 61 72   ┆;load the disk definition librar┆
0x0bd540…0bd560             79 0d 0a 09 64 69 73 6b 73 09 34 09 3b 66 6f 75 72 20 64 69 73 6b 73 0d 0a 09 64 69 73 6b 64 65   ┆y   disks 4 ;four disks   diskde┆
0x0bd560…0bd580             66 09 30 2c 31 2c 32 36 2c 36 2c 31 30 32 34 2c 32 34 33 2c 36 34 2c 36 34 2c 6f 66 66 73 65 74   ┆f 0,1,26,6,1024,243,64,64,offset┆
0x0bd580…0bd5a0             0d 0a 09 64 69 73 6b 64 65 66 09 31 2c 30 0d 0a 09 64 69 73 6b 64 65 66 09 32 2c 30 0d 0a 09 64   ┆   diskdef 1,0   diskdef 2,0   d┆
0x0bd5a0…0bd5c0             69 73 6b 64 65 66 09 33 2c 30 0d 0a 3b 09 65 6e 64 65 66 20 6f 63 63 75 72 73 20 61 74 20 65 6e   ┆iskdef 3,0  ; endef occurs at en┆
0x0bd5c0…0bd5e0             64 20 6f 66 20 61 73 73 65 6d 62 6c 79 0d 0a 3b 0d 0a 3b 09 65 6e 64 20 6f 66 20 63 6f 6e 74 72   ┆d of assembly  ;  ; end of contr┆
0x0bd5e0…0bd600             6f 6c 6c 65 72 20 2d 20 69 6e 64 65 70 65 6e 64 65 6e 74 20 63 6f 64 65 2c 20 74 68 65 20 72 65   ┆oller - independent code, the re┆
0x0bd600…0bd620 (50, 1, 1)  64 62 09 76 65 72 73 2f 31 30 2b 27 30 27 2c 27 2e 27 2c 76 65 72 73 20 6d 6f 64 20 31 30 2b 27   ┆db vers/10+'0','.',vers mod 10+'┆
0x0bd620…0bd640             30 27 0d 0a 09 64 62 09 63 72 2c 6c 66 2c 30 0d 0a 3b 0d 0a 62 6f 6f 74 3a 09 3b 70 72 69 6e 74   ┆0'   db cr,lf,0  ;  boot: ;print┆
0x0bd640…0bd660             20 73 69 67 6e 6f 6e 20 6d 65 73 73 61 67 65 20 61 6e 64 20 67 6f 20 74 6f 20 63 63 70 0d 0a 3b   ┆ signon message and go to ccp  ;┆
0x0bd660…0bd680             09 28 6e 6f 74 65 3a 20 6d 64 73 20 62 6f 6f 74 20 69 6e 69 74 69 61 6c 69 7a 65 64 20 69 6f 62   ┆ (note: mds boot initialized iob┆
0x0bd680…0bd6a0             79 74 65 20 61 74 20 30 30 30 33 68 29 0d 0a 09 6c 78 69 09 73 70 2c 62 75 66 66 2b 38 30 68 0d   ┆yte at 0003h)   lxi sp,buff+80h ┆
0x0bd6a0…0bd6c0             0a 09 6c 78 69 09 68 2c 73 69 67 6e 6f 6e 0d 0a 09 63 61 6c 6c 09 70 72 6d 73 67 09 3b 70 72 69   ┆  lxi h,signon   call prmsg ;pri┆
0x0bd6c0…0bd6e0             6e 74 20 6d 65 73 73 61 67 65 0d 0a 09 78 72 61 09 61 09 3b 63 6c 65 61 72 20 61 63 63 75 6d 75   ┆nt message   xra a ;clear accumu┆
0x0bd6e0…0bd700             6c 61 74 6f 72 0d 0a 09 73 74 61 09 63 64 69 73 6b 09 3b 73 65 74 20 69 6e 69 74 69 61 6c 6c 79   ┆lator   sta cdisk ;set initially┆
0x0bd700…0bd720             20 74 6f 20 64 69 73 6b 20 61 0d 0a 09 6a 6d 70 09 67 6f 63 70 6d 09 3b 67 6f 20 74 6f 20 63 70   ┆ to disk a   jmp gocpm ;go to cp┆
0x0bd720…0bd740             2f 6d 0d 0a 3b 0d 0a 3b 0d 0a 77 62 6f 6f 74 3a 3b 09 6c 6f 61 64 65 72 20 6f 6e 20 74 72 61 63   ┆/m  ;  ;  wboot:; loader on trac┆
0x0bd740…0bd760             6b 20 30 2c 20 73 65 63 74 6f 72 20 31 2c 20 77 68 69 63 68 20 77 69 6c 6c 20 62 65 20 73 6b 69   ┆k 0, sector 1, which will be ski┆
0x0bd760…0bd780             70 70 65 64 20 66 6f 72 20 77 61 72 6d 20 0d 0a 3b 09 72 65 61 64 20 63 70 2f 6d 20 66 72 6f 6d   ┆pped for warm   ; read cp/m from┆
0x0bd780…0bd7a0             20 64 69 73 6b 20 2d 20 61 73 73 75 6d 69 6e 67 20 74 68 65 72 65 20 69 73 20 61 20 31 32 38 20   ┆ disk - assuming there is a 128 ┆
0x0bd7a0…0bd7c0             62 79 74 65 20 63 6f 6c 64 20 73 74 61 72 74 0d 0a 3b 09 73 74 61 72 74 2e 0d 0a 3b 0d 0a 09 6c   ┆byte cold start  ; start.  ;   l┆
0x0bd7c0…0bd7e0             78 69 09 73 70 2c 62 75 66 66 09 3b 75 73 69 6e 67 20 64 6d 61 20 2d 20 74 68 75 73 20 38 30 20   ┆xi sp,buff ;using dma - thus 80 ┆
0x0bd7e0…0bd800             74 68 72 75 20 66 66 20 61 76 61 69 6c 61 62 6c 65 20 66 6f 72 20 73 74 61 63 6b 0d 0a 3b 0d 0a   ┆thru ff available for stack  ;  ┆
0x0bd800…0bd820 (50, 1, 2)  68 61 6e 67 65 64 20 62 79 20 64 64 74 29 0d 0a 09 6c 78 69 09 68 2c 6d 6f 6e 38 30 0d 0a 09 73   ┆hanged by ddt)   lxi h,mon80   s┆
0x0bd820…0bd840             68 6c 64 09 37 2a 38 2b 31 0d 0a 09 65 6e 64 69 66 0d 0a 3b 09 6c 65 61 76 65 20 69 6f 62 79 74   ┆hld 7*8+1   endif  ; leave iobyt┆
0x0bd840…0bd860             65 20 73 65 74 0d 0a 3b 09 70 72 65 76 69 6f 75 73 6c 79 20 73 65 6c 65 63 74 65 64 20 64 69 73   ┆e set  ; previously selected dis┆
0x0bd860…0bd880             6b 20 77 61 73 20 62 2c 20 73 65 6e 64 20 70 61 72 61 6d 65 74 65 72 20 74 6f 20 63 70 6d 0d 0a   ┆k was b, send parameter to cpm  ┆
0x0bd880…0bd8a0             09 6c 64 61 09 63 64 69 73 6b 09 3b 6c 61 73 74 20 6c 6f 67 67 65 64 20 64 69 73 6b 20 6e 75 6d   ┆ lda cdisk ;last logged disk num┆
0x0bd8a0…0bd8c0             62 65 72 0d 0a 09 6d 6f 76 09 63 2c 61 09 3b 73 65 6e 64 20 74 6f 20 63 63 70 20 74 6f 20 6c 6f   ┆ber   mov c,a ;send to ccp to lo┆
0x0bd8c0…0bd8e0             67 20 69 74 20 69 6e 0d 0a 09 65 69 0d 0a 09 6a 6d 70 09 63 70 6d 62 0d 0a 3b 0d 0a 3b 09 65 72   ┆g it in   ei   jmp cpmb  ;  ; er┆
0x0bd8e0…0bd900             72 6f 72 20 63 6f 6e 64 69 74 69 6f 6e 20 6f 63 63 75 72 72 65 64 2c 20 70 72 69 6e 74 20 6d 65   ┆ror condition occurred, print me┆
0x0bd900…0bd920             73 73 61 67 65 20 61 6e 64 20 72 65 74 72 79 0d 0a 62 6f 6f 74 65 72 72 3a 0d 0a 09 70 6f 70 09   ┆ssage and retry  booterr:   pop ┆
0x0bd920…0bd940             62 09 3b 72 65 63 61 6c 6c 20 63 6f 75 6e 74 73 0d 0a 09 64 63 72 09 63 0d 0a 09 6a 7a 09 62 6f   ┆b ;recall counts   dcr c   jz bo┆
0x0bd940…0bd960             6f 74 65 72 30 0d 0a 3b 09 74 72 79 20 61 67 61 69 6e 0d 0a 09 70 75 73 68 09 62 0d 0a 09 6a 6d   ┆oter0  ; try again   push b   jm┆
0x0bd960…0bd980             70 09 77 62 6f 6f 74 30 0d 0a 3b 0d 0a 62 6f 6f 74 65 72 30 3a 0d 0a 3b 09 6f 74 68 65 72 77 69   ┆p wboot0  ;  booter0:  ; otherwi┆
0x0bd980…0bd9a0             73 65 20 74 6f 6f 20 6d 61 6e 79 20 72 65 74 72 69 65 73 0d 0a 09 6c 78 69 09 68 2c 62 6f 6f 74   ┆se too many retries   lxi h,boot┆
0x0bd9a0…0bd9c0             6d 73 67 0d 0a 09 63 61 6c 6c 09 70 72 6d 73 67 0d 0a 09 6a 6d 70 09 72 6d 6f 6e 38 30 09 3b 6d   ┆msg   call prmsg   jmp rmon80 ;m┆
0x0bd9c0…0bd9e0             64 73 20 68 61 72 64 77 61 72 65 20 6d 6f 6e 69 74 6f 72 0d 0a 3b 0d 0a 62 6f 6f 74 6d 73 67 3a   ┆ds hardware monitor  ;  bootmsg:┆
0x0bd9e0…0bda00             0d 0a 09 64 62 09 27 3f 62 6f 6f 74 27 2c 30 0d 0a 3b 0d 0a 3b 0d 0a 63 6f 6e 73 74 3a 09 3b 63   ┆   db '?boot',0  ;  ;  const: ;c┆
0x0bda00…0bda20 (50, 1, 3)  6e 73 6c 61 74 65 20 74 61 62 6c 65 20 61 64 64 72 65 73 73 20 74 6f 20 48 4c 0d 0a 09 64 61 64   ┆nslate table address to HL   dad┆
0x0bda20…0bda40             09 62 09 3b 74 72 61 6e 73 6c 61 74 65 28 73 65 63 74 6f 72 29 20 61 64 64 72 65 73 73 0d 0a 09   ┆ b ;translate(sector) address   ┆
0x0bda40…0bda60             6d 6f 76 09 61 2c 6d 09 3b 74 72 61 6e 73 6c 61 74 65 64 20 73 65 63 74 6f 72 20 6e 75 6d 62 65   ┆mov a,m ;translated sector numbe┆
0x0bda60…0bda80             72 20 74 6f 20 41 0d 0a 09 73 74 61 09 69 6f 73 0d 0a 09 6d 6f 76 09 6c 2c 61 09 3b 72 65 74 75   ┆r to A   sta ios   mov l,a ;retu┆
0x0bda80…0bdaa0             72 6e 20 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 20 69 6e 20 4c 0d 0a 09 72 65 74 0d 0a 3b 0d 0a   ┆rn sector number in L   ret  ;  ┆
0x0bdaa0…0bdac0             73 65 74 64 6d 61 3a 09 3b 73 65 74 20 64 6d 61 20 61 64 64 72 65 73 73 20 67 69 76 65 6e 20 62   ┆setdma: ;set dma address given b┆
0x0bdac0…0bdae0             79 20 72 65 67 73 20 62 2c 63 0d 0a 09 6d 6f 76 09 6c 2c 63 0d 0a 09 6d 6f 76 09 68 2c 62 0d 0a   ┆y regs b,c   mov l,c   mov h,b  ┆
0x0bdae0…0bdb00             09 73 68 6c 64 09 69 6f 64 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 72 65 61 64 3a 09 3b 72 65 61 64 20   ┆ shld iod   ret  ;  read: ;read ┆
0x0bdb00…0bdb20             6e 65 78 74 20 64 69 73 6b 20 72 65 63 6f 72 64 20 28 61 73 73 75 6d 69 6e 67 20 64 69 73 6b 2f   ┆next disk record (assuming disk/┆
0x0bdb20…0bdb40             74 72 6b 2f 73 65 63 2f 64 6d 61 20 73 65 74 29 0d 0a 09 6d 76 69 09 63 2c 72 65 61 64 66 09 3b   ┆trk/sec/dma set)   mvi c,readf ;┆
0x0bdb40…0bdb60             73 65 74 20 74 6f 20 72 65 61 64 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 63 61 6c 6c 09 73 65 74 66   ┆set to read function   call setf┆
0x0bdb60…0bdb80             75 6e 63 0d 0a 09 63 61 6c 6c 09 77 61 69 74 69 6f 09 3b 70 65 72 66 6f 72 6d 20 72 65 61 64 20   ┆unc   call waitio ;perform read ┆
0x0bdb80…0bdba0             66 75 6e 63 74 69 6f 6e 0d 0a 09 72 65 74 09 09 3b 6d 61 79 20 68 61 76 65 20 65 72 72 6f 72 20   ┆function   ret  ;may have error ┆
0x0bdba0…0bdbc0             73 65 74 20 69 6e 20 72 65 67 2d 61 0d 0a 3b 0d 0a 3b 0d 0a 77 72 69 74 65 3a 09 3b 64 69 73 6b   ┆set in reg-a  ;  ;  write: ;disk┆
0x0bdbc0…0bdbe0             20 77 72 69 74 65 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 6d 76 69 09 63 2c 77 72 69 74 66 0d 0a 09   ┆ write function   mvi c,writf   ┆
0x0bdbe0…0bdc00             63 61 6c 6c 09 73 65 74 66 75 6e 63 09 3b 73 65 74 20 74 6f 20 77 72 69 74 65 20 66 75 6e 63 74   ┆call setfunc ;set to write funct┆
0x0bdc00…0bdc20 (50, 1, 4)  65 64 20 20 20 20 20 20 20 31 31 20 28 6e 6f 74 20 75 73 65 64 29 0d 0a 09 63 70 69 09 31 30 62   ┆ed       11 (not used)   cpi 10b┆
0x0bdc20…0bdc40             09 09 3b 72 65 61 64 79 20 73 74 61 74 75 73 20 63 68 61 6e 67 65 3f 0d 0a 09 6a 7a 09 77 72 65   ┆  ;ready status change?   jz wre┆
0x0bdc40…0bdc60             61 64 79 0d 0a 3b 0d 0a 3b 09 6d 75 73 74 20 62 65 20 30 30 20 69 6e 20 74 68 65 20 61 63 63 75   ┆ady  ;  ; must be 00 in the accu┆
0x0bdc60…0bdc80             6d 75 6c 61 74 6f 72 0d 0a 09 6f 72 61 09 61 0d 0a 09 6a 6e 7a 09 77 65 72 72 6f 72 09 09 3b 73   ┆mulator   ora a   jnz werror  ;s┆
0x0bdc80…0bdca0             6f 6d 65 20 6f 74 68 65 72 20 63 6f 6e 64 69 74 69 6f 6e 2c 20 72 65 74 72 79 0d 0a 3b 0d 0a 3b   ┆ome other condition, retry  ;  ;┆
0x0bdca0…0bdcc0             09 63 68 65 63 6b 20 69 2f 6f 20 65 72 72 6f 72 20 62 69 74 73 0d 0a 09 63 61 6c 6c 09 69 6e 62   ┆ check i/o error bits   call inb┆
0x0bdcc0…0bdce0             79 74 65 0d 0a 09 72 61 6c 0d 0a 09 6a 63 09 77 72 65 61 64 79 09 09 3b 75 6e 69 74 20 6e 6f 74   ┆yte   ral   jc wready  ;unit not┆
0x0bdce0…0bdd00             20 72 65 61 64 79 0d 0a 09 72 61 72 0d 0a 09 61 6e 69 09 31 31 31 31 31 31 31 30 62 09 3b 61 6e   ┆ ready   rar   ani 11111110b ;an┆
0x0bdd00…0bdd20             79 20 6f 74 68 65 72 20 65 72 72 6f 72 73 3f 20 20 28 64 65 6c 65 74 65 64 20 64 61 74 61 20 6f   ┆y other errors?  (deleted data o┆
0x0bdd20…0bdd40             6b 29 0d 0a 09 6a 6e 7a 09 77 65 72 72 6f 72 0d 0a 3b 0d 0a 3b 09 72 65 61 64 20 6f 72 20 77 72   ┆k)   jnz werror  ;  ; read or wr┆
0x0bdd40…0bdd60             69 74 65 20 69 73 20 6f 6b 2c 20 61 63 63 75 6d 75 6c 61 74 6f 72 20 63 6f 6e 74 61 69 6e 73 20   ┆ite is ok, accumulator contains ┆
0x0bdd60…0bdd80             7a 65 72 6f 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 77 72 65 61 64 79 3a 09 3b 6e 6f 74 20 72 65 61 64   ┆zero   ret  ;  wready: ;not read┆
0x0bdd80…0bdda0             79 2c 20 74 72 65 61 74 20 61 73 20 65 72 72 6f 72 20 66 6f 72 20 6e 6f 77 0d 0a 09 63 61 6c 6c   ┆y, treat as error for now   call┆
0x0bdda0…0bddc0             09 69 6e 62 79 74 65 09 09 3b 63 6c 65 61 72 20 72 65 73 75 6c 74 20 62 79 74 65 0d 0a 09 6a 6d   ┆ inbyte  ;clear result byte   jm┆
0x0bddc0…0bdde0             70 09 74 72 79 63 6f 75 6e 74 0d 0a 3b 0d 0a 77 65 72 72 6f 72 3a 09 3b 72 65 74 75 72 6e 20 68   ┆p trycount  ;  werror: ;return h┆
0x0bdde0…0bde00             61 72 64 77 61 72 65 20 6d 61 6c 66 75 6e 63 74 69 6f 6e 20 28 63 72 63 2c 20 74 72 61 63 6b 2c   ┆ardware malfunction (crc, track,┆
0x0bde00…0bde20 (50, 1, 5)  09 6d 76 69 09 63 2c 72 65 74 72 79 09 3b 6d 61 78 20 72 65 74 72 69 65 73 0d 0a 09 70 75 73 68   ┆ mvi c,retry ;max retries   push┆
0x0bde20…0bde40             09 62 0d 0a 77 62 6f 6f 74 30 3a 09 3b 65 6e 74 65 72 20 68 65 72 65 20 6f 6e 20 65 72 72 6f 72   ┆ b  wboot0: ;enter here on error┆
0x0bde40…0bde60             20 72 65 74 72 69 65 73 0d 0a 09 6c 78 69 09 62 2c 63 70 6d 62 09 3b 73 65 74 20 64 6d 61 20 61   ┆ retries   lxi b,cpmb ;set dma a┆
0x0bde60…0bde80             64 64 72 65 73 73 20 74 6f 20 73 74 61 72 74 20 6f 66 20 64 69 73 6b 20 73 79 73 74 65 6d 0d 0a   ┆ddress to start of disk system  ┆
0x0bde80…0bdea0             09 63 61 6c 6c 09 73 65 74 64 6d 61 0d 0a 09 6d 76 69 09 63 2c 30 09 3b 62 6f 6f 74 20 66 72 6f   ┆ call setdma   mvi c,0 ;boot fro┆
0x0bdea0…0bdec0             6d 20 64 72 69 76 65 20 30 0d 0a 09 63 61 6c 6c 09 73 65 6c 64 73 6b 0d 0a 09 6d 76 69 09 63 2c   ┆m drive 0   call seldsk   mvi c,┆
0x0bdec0…0bdee0             30 0d 0a 09 63 61 6c 6c 09 73 65 74 74 72 6b 09 3b 73 74 61 72 74 20 77 69 74 68 20 74 72 61 63   ┆0   call settrk ;start with trac┆
0x0bdee0…0bdf00             6b 20 30 0d 0a 09 6d 76 69 09 63 2c 32 09 3b 73 74 61 72 74 20 72 65 61 64 69 6e 67 20 73 65 63   ┆k 0   mvi c,2 ;start reading sec┆
0x0bdf00…0bdf20             74 6f 72 20 32 0d 0a 09 63 61 6c 6c 09 73 65 74 73 65 63 0d 0a 3b 0d 0a 3b 09 72 65 61 64 20 73   ┆tor 2   call setsec  ;  ; read s┆
0x0bdf20…0bdf40             65 63 74 6f 72 73 2c 20 63 6f 75 6e 74 20 6e 73 65 63 74 73 20 74 6f 20 7a 65 72 6f 0d 0a 09 70   ┆ectors, count nsects to zero   p┆
0x0bdf40…0bdf60             6f 70 09 62 09 3b 31 30 2d 65 72 72 6f 72 20 63 6f 75 6e 74 0d 0a 09 6d 76 69 09 62 2c 6e 73 65   ┆op b ;10-error count   mvi b,nse┆
0x0bdf60…0bdf80             63 74 73 0d 0a 72 64 73 65 63 3a 09 3b 72 65 61 64 20 6e 65 78 74 20 73 65 63 74 6f 72 0d 0a 09   ┆cts  rdsec: ;read next sector   ┆
0x0bdf80…0bdfa0             70 75 73 68 09 62 09 3b 73 61 76 65 20 73 65 63 74 6f 72 20 63 6f 75 6e 74 0d 0a 09 63 61 6c 6c   ┆push b ;save sector count   call┆
0x0bdfa0…0bdfc0             09 72 65 61 64 0d 0a 09 6a 6e 7a 09 62 6f 6f 74 65 72 72 09 3b 72 65 74 72 79 20 69 66 20 65 72   ┆ read   jnz booterr ;retry if er┆
0x0bdfc0…0bdfe0             72 6f 72 73 20 6f 63 63 75 72 0d 0a 09 6c 68 6c 64 09 69 6f 64 09 3b 69 6e 63 72 65 6d 65 6e 74   ┆rors occur   lhld iod ;increment┆
0x0bdfe0…0be000             20 64 6d 61 20 61 64 64 72 65 73 73 0d 0a 09 6c 78 69 09 64 2c 31 32 38 09 3b 73 65 63 74 6f 72   ┆ dma address   lxi d,128 ;sector┆
0x0be000…0be020 (50, 1, 6)  6f 6e 73 6f 6c 65 20 73 74 61 74 75 73 20 74 6f 20 72 65 67 2d 61 0d 0a 3b 09 28 65 78 61 63 74   ┆onsole status to reg-a  ; (exact┆
0x0be020…0be040             6c 79 20 74 68 65 20 73 61 6d 65 20 61 73 20 6d 64 73 20 63 61 6c 6c 29 0d 0a 09 6a 6d 70 09 63   ┆ly the same as mds call)   jmp c┆
0x0be040…0be060             73 74 73 0d 0a 3b 0d 0a 63 6f 6e 69 6e 3a 09 3b 63 6f 6e 73 6f 6c 65 20 63 68 61 72 61 63 74 65   ┆sts  ;  conin: ;console characte┆
0x0be060…0be080             72 20 74 6f 20 72 65 67 2d 61 0d 0a 09 63 61 6c 6c 09 63 69 0d 0a 09 61 6e 69 09 37 66 68 09 3b   ┆r to reg-a   call ci   ani 7fh ;┆
0x0be080…0be0a0             72 65 6d 6f 76 65 20 70 61 72 69 74 79 20 62 69 74 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 63 6f 6e 6f   ┆remove parity bit   ret  ;  cono┆
0x0be0a0…0be0c0             75 74 3a 09 3b 63 6f 6e 73 6f 6c 65 20 63 68 61 72 61 63 74 65 72 20 66 72 6f 6d 20 63 20 74 6f   ┆ut: ;console character from c to┆
0x0be0c0…0be0e0             20 63 6f 6e 73 6f 6c 65 20 6f 75 74 0d 0a 09 6a 6d 70 09 63 6f 0d 0a 3b 0d 0a 6c 69 73 74 3a 09   ┆ console out   jmp co  ;  list: ┆
0x0be0e0…0be100             3b 6c 69 73 74 20 64 65 76 69 63 65 20 6f 75 74 0d 0a 3b 09 28 65 78 61 63 74 6c 79 20 74 68 65   ┆;list device out  ; (exactly the┆
0x0be100…0be120             20 73 61 6d 65 20 61 73 20 6d 64 73 20 63 61 6c 6c 29 0d 0a 09 6a 6d 70 09 6c 6f 0d 0a 3b 0d 0a   ┆ same as mds call)   jmp lo  ;  ┆
0x0be120…0be140             6c 69 73 74 73 74 3a 0d 0a 09 3b 72 65 74 75 72 6e 20 6c 69 73 74 20 73 74 61 74 75 73 0d 0a 09   ┆listst:   ;return list status   ┆
0x0be140…0be160             78 72 61 09 61 0d 0a 09 72 65 74 09 09 3b 61 6c 77 61 79 73 20 6e 6f 74 20 72 65 61 64 79 0d 0a   ┆xra a   ret  ;always not ready  ┆
0x0be160…0be180             3b 0d 0a 70 75 6e 63 68 3a 09 3b 70 75 6e 63 68 20 64 65 76 69 63 65 20 6f 75 74 0d 0a 3b 09 28   ┆;  punch: ;punch device out  ; (┆
0x0be180…0be1a0             65 78 61 63 74 6c 79 20 74 68 65 20 73 61 6d 65 20 61 73 20 6d 64 73 20 63 61 6c 6c 29 0d 0a 09   ┆exactly the same as mds call)   ┆
0x0be1a0…0be1c0             6a 6d 70 09 70 6f 0d 0a 3b 0d 0a 72 65 61 64 65 72 3a 09 3b 72 65 61 64 65 72 20 63 68 61 72 61   ┆jmp po  ;  reader: ;reader chara┆
0x0be1c0…0be1e0             63 74 65 72 20 69 6e 20 74 6f 20 72 65 67 2d 61 0d 0a 3b 09 28 65 78 61 63 74 6c 79 20 74 68 65   ┆cter in to reg-a  ; (exactly the┆
0x0be1e0…0be200             20 73 61 6d 65 20 61 73 20 6d 64 73 20 63 61 6c 6c 29 0d 0a 09 6a 6d 70 09 72 69 0d 0a 3b 0d 0a   ┆ same as mds call)   jmp ri  ;  ┆
0x0be200…0be220 (50, 1, 7)  69 6f 6e 0d 0a 09 63 61 6c 6c 09 77 61 69 74 69 6f 0d 0a 09 72 65 74 09 09 3b 6d 61 79 20 68 61   ┆ion   call waitio   ret  ;may ha┆
0x0be220…0be240             76 65 20 65 72 72 6f 72 20 73 65 74 0d 0a 3b 0d 0a 3b 0d 0a 3b 09 75 74 69 6c 69 74 79 20 73 75   ┆ve error set  ;  ;  ; utility su┆
0x0be240…0be260             62 72 6f 75 74 69 6e 65 73 0d 0a 70 72 6d 73 67 3a 09 3b 70 72 69 6e 74 20 6d 65 73 73 61 67 65   ┆broutines  prmsg: ;print message┆
0x0be260…0be280             20 61 74 20 68 2c 6c 20 74 6f 20 30 0d 0a 09 6d 6f 76 09 61 2c 6d 0d 0a 09 6f 72 61 09 61 09 3b   ┆ at h,l to 0   mov a,m   ora a ;┆
0x0be280…0be2a0             7a 65 72 6f 3f 0d 0a 09 72 7a 0d 0a 3b 09 6d 6f 72 65 20 74 6f 20 70 72 69 6e 74 0d 0a 09 70 75   ┆zero?   rz  ; more to print   pu┆
0x0be2a0…0be2c0             73 68 09 68 0d 0a 09 6d 6f 76 09 63 2c 61 0d 0a 09 63 61 6c 6c 09 63 6f 6e 6f 75 74 0d 0a 09 70   ┆sh h   mov c,a   call conout   p┆
0x0be2c0…0be2e0             6f 70 09 68 0d 0a 09 69 6e 78 09 68 0d 0a 09 6a 6d 70 09 70 72 6d 73 67 0d 0a 3b 0d 0a 73 65 74   ┆op h   inx h   jmp prmsg  ;  set┆
0x0be2e0…0be300             66 75 6e 63 3a 0d 0a 3b 09 73 65 74 20 66 75 6e 63 74 69 6f 6e 20 66 6f 72 20 6e 65 78 74 20 69   ┆func:  ; set function for next i┆
0x0be300…0be320             2f 6f 20 28 63 6f 6d 6d 61 6e 64 20 69 6e 20 72 65 67 2d 63 29 0d 0a 09 6c 78 69 09 68 2c 69 6f   ┆/o (command in reg-c)   lxi h,io┆
0x0be320…0be340             66 09 3b 69 6f 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 72 65 73 73 0d 0a 09 6d 6f 76 09 61 2c 6d   ┆f ;io function address   mov a,m┆
0x0be340…0be360             09 3b 67 65 74 20 69 74 20 74 6f 20 61 63 63 75 6d 75 6c 61 74 6f 72 20 66 6f 72 20 6d 61 73 6b   ┆ ;get it to accumulator for mask┆
0x0be360…0be380             69 6e 67 0d 0a 09 61 6e 69 09 31 31 31 31 31 30 30 30 62 09 3b 72 65 6d 6f 76 65 20 70 72 65 76   ┆ing   ani 11111000b ;remove prev┆
0x0be380…0be3a0             69 6f 75 73 20 63 6f 6d 6d 61 6e 64 0d 0a 09 6f 72 61 09 63 09 3b 73 65 74 20 74 6f 20 6e 65 77   ┆ious command   ora c ;set to new┆
0x0be3a0…0be3c0             20 63 6f 6d 6d 61 6e 64 0d 0a 09 6d 6f 76 09 6d 2c 61 09 3b 72 65 70 6c 61 63 65 64 20 69 6e 20   ┆ command   mov m,a ;replaced in ┆
0x0be3c0…0be3e0             69 6f 70 62 0d 0a 3b 09 74 68 65 20 6d 64 73 2d 38 30 30 20 63 6f 6e 74 72 6f 6c 6c 65 72 20 72   ┆iopb  ; the mds-800 controller r┆
0x0be3e0…0be400             65 71 75 69 72 65 73 20 64 69 73 6b 20 62 61 6e 6b 20 62 69 74 20 69 6e 20 73 65 63 74 6f 72 20   ┆equires disk bank bit in sector ┆
0x0be400…0be420 (50, 1, 8)  20 73 65 65 6b 2c 20 65 74 63 2e 29 0d 0a 3b 09 74 68 65 20 6d 64 73 20 63 6f 6e 74 72 6f 6c 6c   ┆ seek, etc.)  ; the mds controll┆
0x0be420…0be440             65 72 20 68 61 73 20 72 65 74 75 72 6e 65 64 20 61 20 62 69 74 20 69 6e 20 65 61 63 68 20 70 6f   ┆er has returned a bit in each po┆
0x0be440…0be460             73 69 74 69 6f 6e 0d 0a 3b 09 6f 66 20 74 68 65 20 61 63 63 75 6d 75 6c 61 74 6f 72 2c 20 63 6f   ┆sition  ; of the accumulator, co┆
0x0be460…0be480             72 72 65 73 70 6f 6e 64 69 6e 67 20 74 6f 20 74 68 65 20 63 6f 6e 64 69 74 69 6f 6e 73 3a 0d 0a   ┆rresponding to the conditions:  ┆
0x0be480…0be4a0             3b 09 30 09 2d 20 64 65 6c 65 74 65 64 20 64 61 74 61 20 28 61 63 63 65 70 74 65 64 20 61 73 20   ┆; 0 - deleted data (accepted as ┆
0x0be4a0…0be4c0             6f 6b 20 61 62 6f 76 65 29 0d 0a 3b 09 31 09 2d 20 63 72 63 20 65 72 72 6f 72 0d 0a 3b 09 32 09   ┆ok above)  ; 1 - crc error  ; 2 ┆
0x0be4c0…0be4e0             2d 20 73 65 65 6b 20 65 72 72 6f 72 0d 0a 3b 09 33 09 2d 20 61 64 64 72 65 73 73 20 65 72 72 6f   ┆- seek error  ; 3 - address erro┆
0x0be4e0…0be500             72 20 28 68 61 72 64 77 61 72 65 20 6d 61 6c 66 75 6e 63 74 69 6f 6e 29 0d 0a 3b 09 34 09 2d 20   ┆r (hardware malfunction)  ; 4 - ┆
0x0be500…0be520             64 61 74 61 20 6f 76 65 72 2f 75 6e 64 65 72 20 66 6c 6f 77 20 28 68 61 72 64 77 61 72 65 20 6d   ┆data over/under flow (hardware m┆
0x0be520…0be540             61 6c 66 75 6e 63 74 69 6f 6e 29 0d 0a 3b 09 35 09 2d 20 77 72 69 74 65 20 70 72 6f 74 65 63 74   ┆alfunction)  ; 5 - write protect┆
0x0be540…0be560             20 28 74 72 65 61 74 65 64 20 61 73 20 6e 6f 74 20 72 65 61 64 79 29 0d 0a 3b 09 36 09 2d 20 77   ┆ (treated as not ready)  ; 6 - w┆
0x0be560…0be580             72 69 74 65 20 65 72 72 6f 72 20 28 68 61 72 64 77 61 72 65 20 6d 61 6c 66 75 6e 63 74 69 6f 6e   ┆rite error (hardware malfunction┆
0x0be580…0be5a0             29 0d 0a 3b 09 37 09 2d 20 6e 6f 74 20 72 65 61 64 79 0d 0a 3b 09 28 61 63 63 75 6d 75 6c 61 74   ┆)  ; 7 - not ready  ; (accumulat┆
0x0be5a0…0be5c0             6f 72 20 62 69 74 73 20 61 72 65 20 6e 75 6d 62 65 72 65 64 20 37 20 36 20 35 20 34 20 33 20 32   ┆or bits are numbered 7 6 5 4 3 2┆
0x0be5c0…0be5e0             20 31 20 30 29 0d 0a 3b 0d 0a 3b 09 69 74 20 6d 61 79 20 62 65 20 75 73 65 66 75 6c 20 74 6f 20   ┆ 1 0)  ;  ; it may be useful to ┆
0x0be5e0…0be600             66 69 6c 74 65 72 20 6f 75 74 20 74 68 65 20 76 61 72 69 6f 75 73 20 63 6f 6e 64 69 74 69 6f 6e   ┆filter out the various condition┆
0x0be600…0be620 (50, 1, 9)  20 73 69 7a 65 0d 0a 09 64 61 64 09 64 09 3b 69 6e 63 72 65 6d 65 6e 74 65 64 20 64 6d 61 20 61   ┆ size   dad d ;incremented dma a┆
0x0be620…0be640             64 64 72 65 73 73 20 69 6e 20 68 6c 0d 0a 09 6d 6f 76 09 62 2c 68 0d 0a 09 6d 6f 76 09 63 2c 6c   ┆ddress in hl   mov b,h   mov c,l┆
0x0be640…0be660             09 3b 72 65 61 64 79 20 66 6f 72 20 63 61 6c 6c 20 74 6f 20 73 65 74 20 64 6d 61 0d 0a 09 63 61   ┆ ;ready for call to set dma   ca┆
0x0be660…0be680             6c 6c 09 73 65 74 64 6d 61 0d 0a 09 6c 64 61 09 69 6f 73 09 3b 73 65 63 74 6f 72 20 6e 75 6d 62   ┆ll setdma   lda ios ;sector numb┆
0x0be680…0be6a0             65 72 20 6a 75 73 74 20 72 65 61 64 0d 0a 09 63 70 69 09 32 36 09 3b 72 65 61 64 20 6c 61 73 74   ┆er just read   cpi 26 ;read last┆
0x0be6a0…0be6c0             20 73 65 63 74 6f 72 3f 0d 0a 09 6a 63 09 72 64 31 0d 0a 3b 09 6d 75 73 74 20 62 65 20 73 65 63   ┆ sector?   jc rd1  ; must be sec┆
0x0be6c0…0be6e0             74 6f 72 20 32 36 2c 20 7a 65 72 6f 20 61 6e 64 20 67 6f 20 74 6f 20 6e 65 78 74 20 74 72 61 63   ┆tor 26, zero and go to next trac┆
0x0be6e0…0be700             6b 0d 0a 09 6c 64 61 09 69 6f 74 09 3b 67 65 74 20 74 72 61 63 6b 20 74 6f 20 72 65 67 69 73 74   ┆k   lda iot ;get track to regist┆
0x0be700…0be720             65 72 20 61 0d 0a 09 69 6e 72 09 61 0d 0a 09 6d 6f 76 09 63 2c 61 09 3b 72 65 61 64 79 20 66 6f   ┆er a   inr a   mov c,a ;ready fo┆
0x0be720…0be740             72 20 63 61 6c 6c 0d 0a 09 63 61 6c 6c 09 73 65 74 74 72 6b 0d 0a 09 78 72 61 09 61 09 3b 63 6c   ┆r call   call settrk   xra a ;cl┆
0x0be740…0be760             65 61 72 20 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 0d 0a 72 64 31 3a 09 69 6e 72 09 61 09 3b 74   ┆ear sector number  rd1: inr a ;t┆
0x0be760…0be780             6f 20 6e 65 78 74 20 73 65 63 74 6f 72 0d 0a 09 6d 6f 76 09 63 2c 61 09 3b 72 65 61 64 79 20 66   ┆o next sector   mov c,a ;ready f┆
0x0be780…0be7a0             6f 72 20 63 61 6c 6c 0d 0a 09 63 61 6c 6c 09 73 65 74 73 65 63 0d 0a 09 70 6f 70 09 62 09 3b 72   ┆or call   call setsec   pop b ;r┆
0x0be7a0…0be7c0             65 63 61 6c 6c 20 73 65 63 74 6f 72 20 63 6f 75 6e 74 0d 0a 09 64 63 72 09 62 09 3b 64 6f 6e 65   ┆ecall sector count   dcr b ;done┆
0x0be7c0…0be7e0             3f 0d 0a 09 6a 6e 7a 09 72 64 73 65 63 0d 0a 3b 0d 0a 3b 09 64 6f 6e 65 20 77 69 74 68 20 74 68   ┆?   jnz rdsec  ;  ; done with th┆
0x0be7e0…0be800             65 20 6c 6f 61 64 2c 20 72 65 73 65 74 20 64 65 66 61 75 6c 74 20 62 75 66 66 65 72 20 61 64 64   ┆e load, reset default buffer add┆
0x0be800…0be820 (50, 1, 10) 68 6f 6d 65 3a 09 3b 6d 6f 76 65 20 74 6f 20 68 6f 6d 65 20 70 6f 73 69 74 69 6f 6e 0d 0a 3b 09   ┆home: ;move to home position  ; ┆
0x0be820…0be840             74 72 65 61 74 20 61 73 20 74 72 61 63 6b 20 30 30 20 73 65 65 6b 0d 0a 09 6d 76 69 09 63 2c 30   ┆treat as track 00 seek   mvi c,0┆
0x0be840…0be860             0d 0a 09 6a 6d 70 09 73 65 74 74 72 6b 0d 0a 3b 0d 0a 73 65 6c 64 73 6b 3a 09 3b 73 65 6c 65 63   ┆   jmp settrk  ;  seldsk: ;selec┆
0x0be860…0be880             74 20 64 69 73 6b 20 67 69 76 65 6e 20 62 79 20 72 65 67 69 73 74 65 72 20 63 0d 0a 09 6c 78 69   ┆t disk given by register c   lxi┆
0x0be880…0be8a0             09 68 2c 30 30 30 30 68 09 3b 72 65 74 75 72 6e 20 30 30 30 30 20 69 66 20 65 72 72 6f 72 0d 0a   ┆ h,0000h ;return 0000 if error  ┆
0x0be8a0…0be8c0             09 6d 6f 76 09 61 2c 63 0d 0a 09 63 70 69 09 6e 64 69 73 6b 73 09 3b 74 6f 6f 20 6c 61 72 67 65   ┆ mov a,c   cpi ndisks ;too large┆
0x0be8c0…0be8e0             3f 0d 0a 09 72 6e 63 09 09 3b 6c 65 61 76 65 20 48 4c 20 3d 20 30 30 30 30 0d 0a 3b 0d 0a 09 61   ┆?   rnc  ;leave HL = 0000  ;   a┆
0x0be8e0…0be900             6e 69 09 31 30 62 09 3b 30 30 20 30 30 20 66 6f 72 20 64 72 69 76 65 20 30 2c 31 20 61 6e 64 20   ┆ni 10b ;00 00 for drive 0,1 and ┆
0x0be900…0be920             31 30 20 31 30 20 66 6f 72 20 64 72 69 76 65 20 32 2c 33 0d 0a 09 73 74 61 09 64 62 61 6e 6b 09   ┆10 10 for drive 2,3   sta dbank ┆
0x0be920…0be940             3b 74 6f 20 73 65 6c 65 63 74 20 64 72 69 76 65 20 62 61 6e 6b 0d 0a 09 6d 6f 76 09 61 2c 63 09   ┆;to select drive bank   mov a,c ┆
0x0be940…0be960             3b 30 30 2c 20 30 31 2c 20 31 30 2c 20 31 31 0d 0a 09 61 6e 69 09 31 62 09 3b 6d 64 73 20 68 61   ┆;00, 01, 10, 11   ani 1b ;mds ha┆
0x0be960…0be980             73 20 30 2c 31 20 61 74 20 37 38 2c 20 32 2c 33 20 61 74 20 38 38 0d 0a 09 6f 72 61 09 61 09 3b   ┆s 0,1 at 78, 2,3 at 88   ora a ;┆
0x0be980…0be9a0             72 65 73 75 6c 74 20 30 30 3f 0d 0a 09 6a 7a 09 73 65 74 64 72 69 76 65 0d 0a 09 6d 76 69 09 61   ┆result 00?   jz setdrive   mvi a┆
0x0be9a0…0be9c0             2c 30 30 31 31 30 30 30 30 62 09 3b 73 65 6c 65 63 74 73 20 64 72 69 76 65 20 31 20 69 6e 20 62   ┆,00110000b ;selects drive 1 in b┆
0x0be9c0…0be9e0             61 6e 6b 0d 0a 73 65 74 64 72 69 76 65 3a 0d 0a 09 6d 6f 76 09 62 2c 61 09 3b 73 61 76 65 20 74   ┆ank  setdrive:   mov b,a ;save t┆
0x0be9e0…0bea00             68 65 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 6c 78 69 09 68 2c 69 6f 66 09 3b 69 6f 20 66 75 6e 63   ┆he function   lxi h,iof ;io func┆
0x0bea00…0bea20 (50, 1, 11) 62 79 74 65 0d 0a 3b 09 6d 61 73 6b 20 74 68 65 20 62 69 74 20 66 72 6f 6d 20 74 68 65 20 63 75   ┆byte  ; mask the bit from the cu┆
0x0bea20…0bea40             72 72 65 6e 74 20 69 2f 6f 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 61 6e 69 09 30 30 31 30 30 30 30   ┆rrent i/o function   ani 0010000┆
0x0bea40…0bea60             30 62 09 3b 6d 61 73 6b 20 74 68 65 20 64 69 73 6b 20 73 65 6c 65 63 74 20 62 69 74 0d 0a 09 6c   ┆0b ;mask the disk select bit   l┆
0x0bea60…0bea80             78 69 09 68 2c 69 6f 73 09 09 3b 61 64 64 72 65 73 73 20 74 68 65 20 73 65 63 74 6f 72 20 73 65   ┆xi h,ios  ;address the sector se┆
0x0bea80…0beaa0             6c 65 63 74 20 62 79 74 65 0d 0a 09 6f 72 61 09 6d 09 09 3b 73 65 6c 65 63 74 20 70 72 6f 70 65   ┆lect byte   ora m  ;select prope┆
0x0beaa0…0beac0             72 20 64 69 73 6b 20 62 61 6e 6b 0d 0a 09 6d 6f 76 09 6d 2c 61 09 09 3b 73 65 74 20 64 69 73 6b   ┆r disk bank   mov m,a  ;set disk┆
0x0beac0…0beae0             20 73 65 6c 65 63 74 20 62 69 74 20 6f 6e 2f 6f 66 66 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 77 61 69   ┆ select bit on/off   ret  ;  wai┆
0x0beae0…0beb00             74 69 6f 3a 0d 0a 09 6d 76 69 09 63 2c 72 65 74 72 79 09 3b 6d 61 78 20 72 65 74 72 69 65 73 20   ┆tio:   mvi c,retry ;max retries ┆
0x0beb00…0beb20             62 65 66 6f 72 65 20 70 65 72 6d 20 65 72 72 6f 72 0d 0a 72 65 77 61 69 74 3a 0d 0a 3b 09 73 74   ┆before perm error  rewait:  ; st┆
0x0beb20…0beb40             61 72 74 20 74 68 65 20 69 2f 6f 20 66 75 6e 63 74 69 6f 6e 20 61 6e 64 20 77 61 69 74 20 66 6f   ┆art the i/o function and wait fo┆
0x0beb40…0beb60             72 20 63 6f 6d 70 6c 65 74 69 6f 6e 0d 0a 09 63 61 6c 6c 09 69 6e 74 79 70 65 09 3b 69 6e 20 72   ┆r completion   call intype ;in r┆
0x0beb60…0beb80             74 79 70 65 0d 0a 09 63 61 6c 6c 09 69 6e 62 79 74 65 09 3b 63 6c 65 61 72 73 20 74 68 65 20 63   ┆type   call inbyte ;clears the c┆
0x0beb80…0beba0             6f 6e 74 72 6f 6c 6c 65 72 0d 0a 3b 0d 0a 09 6c 64 61 09 64 62 61 6e 6b 09 09 3b 73 65 74 20 62   ┆ontroller  ;   lda dbank  ;set b┆
0x0beba0…0bebc0             61 6e 6b 20 66 6c 61 67 73 0d 0a 09 6f 72 61 09 61 09 09 3b 7a 65 72 6f 20 69 66 20 64 72 69 76   ┆ank flags   ora a  ;zero if driv┆
0x0bebc0…0bebe0             65 20 30 2c 31 20 61 6e 64 20 6e 7a 20 69 66 20 32 2c 33 0d 0a 09 6d 76 69 09 61 2c 69 6f 70 62   ┆e 0,1 and nz if 2,3   mvi a,iopb┆
0x0bebe0…0bec00             20 61 6e 64 20 30 66 66 68 09 3b 6c 6f 77 20 61 64 64 72 65 73 73 20 66 6f 72 20 69 6f 70 62 0d   ┆ and 0ffh ;low address for iopb ┆
0x0bec00…0bec20 (50, 1, 12) 73 2c 0d 0a 3b 09 62 75 74 20 77 65 20 77 69 6c 6c 20 67 65 74 20 61 20 70 65 72 6d 61 6e 65 6e   ┆s,  ; but we will get a permanen┆
0x0bec20…0bec40             74 20 65 72 72 6f 72 20 6d 65 73 73 61 67 65 20 69 66 20 69 74 20 69 73 20 6e 6f 74 0d 0a 3b 09   ┆t error message if it is not  ; ┆
0x0bec40…0bec60             72 65 63 6f 76 65 72 61 62 6c 65 2e 20 20 69 6e 20 61 6e 79 20 63 61 73 65 2c 20 74 68 65 20 6e   ┆recoverable.  in any case, the n┆
0x0bec60…0bec80             6f 74 20 72 65 61 64 79 20 63 6f 6e 64 69 74 69 6f 6e 20 69 73 0d 0a 3b 09 74 72 65 61 74 65 64   ┆ot ready condition is  ; treated┆
0x0bec80…0beca0             20 61 73 20 61 20 73 65 70 61 72 61 74 65 20 63 6f 6e 64 69 74 69 6f 6e 20 66 6f 72 20 6c 61 74   ┆ as a separate condition for lat┆
0x0beca0…0becc0             65 72 20 69 6d 70 72 6f 76 65 6d 65 6e 74 0d 0a 74 72 79 63 6f 75 6e 74 3a 0d 0a 3b 09 72 65 67   ┆er improvement  trycount:  ; reg┆
0x0becc0…0bece0             69 73 74 65 72 20 63 20 63 6f 6e 74 61 69 6e 73 20 72 65 74 72 79 20 63 6f 75 6e 74 2c 20 64 65   ┆ister c contains retry count, de┆
0x0bece0…0bed00             63 72 65 6d 65 6e 74 20 27 74 69 6c 20 7a 65 72 6f 0d 0a 09 64 63 72 09 63 0d 0a 09 6a 6e 7a 09   ┆crement 'til zero   dcr c   jnz ┆
0x0bed00…0bed20             72 65 77 61 69 74 09 3b 66 6f 72 20 61 6e 6f 74 68 65 72 20 74 72 79 0d 0a 3b 0d 0a 3b 09 63 61   ┆rewait ;for another try  ;  ; ca┆
0x0bed20…0bed40             6e 6e 6f 74 20 72 65 63 6f 76 65 72 20 66 72 6f 6d 20 65 72 72 6f 72 0d 0a 09 6d 76 69 09 61 2c   ┆nnot recover from error   mvi a,┆
0x0bed40…0bed60             31 09 3b 65 72 72 6f 72 20 63 6f 64 65 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 3b 09 69 6e 74 79 70 65   ┆1 ;error code   ret  ;  ; intype┆
0x0bed60…0bed80             2c 20 69 6e 62 79 74 65 2c 20 69 6e 73 74 61 74 20 72 65 61 64 20 64 72 69 76 65 20 62 61 6e 6b   ┆, inbyte, instat read drive bank┆
0x0bed80…0beda0             20 30 30 20 6f 72 20 31 30 0d 0a 69 6e 74 79 70 65 3a 09 6c 64 61 09 64 62 61 6e 6b 0d 0a 09 6f   ┆ 00 or 10  intype: lda dbank   o┆
0x0beda0…0bedc0             72 61 09 61 0d 0a 09 6a 6e 7a 09 69 6e 74 79 70 31 09 3b 73 6b 69 70 20 74 6f 20 62 61 6e 6b 20   ┆ra a   jnz intyp1 ;skip to bank ┆
0x0bedc0…0bede0             31 30 0d 0a 09 69 6e 09 72 74 79 70 65 0d 0a 09 72 65 74 0d 0a 69 6e 74 79 70 31 3a 09 69 6e 09   ┆10   in rtype   ret  intyp1: in ┆
0x0bede0…0bee00             72 74 79 70 65 2b 31 30 68 09 3b 37 38 20 66 6f 72 20 30 2c 31 20 20 38 38 20 66 6f 72 20 32 2c   ┆rtype+10h ;78 for 0,1  88 for 2,┆
0x0bee00…0bee20 (50, 1, 13) 72 65 73 73 0d 0a 67 6f 63 70 6d 3a 09 3b 28 65 6e 74 65 72 20 68 65 72 65 20 66 72 6f 6d 20 63   ┆ress  gocpm: ;(enter here from c┆
0x0bee20…0bee40             6f 6c 64 20 73 74 61 72 74 20 62 6f 6f 74 29 0d 0a 3b 09 65 6e 61 62 6c 65 20 72 73 74 30 20 61   ┆old start boot)  ; enable rst0 a┆
0x0bee40…0bee60             6e 64 20 72 73 74 37 0d 0a 09 64 69 0d 0a 09 6d 76 69 09 61 2c 31 32 68 09 3b 69 6e 69 74 69 61   ┆nd rst7   di   mvi a,12h ;initia┆
0x0bee60…0bee80             6c 69 7a 65 20 63 6f 6d 6d 61 6e 64 0d 0a 09 6f 75 74 09 72 65 76 72 74 0d 0a 09 78 72 61 09 61   ┆lize command   out revrt   xra a┆
0x0bee80…0beea0             0d 0a 09 6f 75 74 09 69 6e 74 63 09 3b 63 6c 65 61 72 65 64 0d 0a 09 6d 76 69 09 61 2c 69 6e 74   ┆   out intc ;cleared   mvi a,int┆
0x0beea0…0beec0             65 09 3b 72 73 74 30 20 61 6e 64 20 72 73 74 37 20 62 69 74 73 20 6f 6e 0d 0a 09 6f 75 74 09 69   ┆e ;rst0 and rst7 bits on   out i┆
0x0beec0…0beee0             6e 74 63 0d 0a 09 78 72 61 09 61 0d 0a 09 6f 75 74 09 69 63 6f 6e 09 3b 69 6e 74 65 72 72 75 70   ┆ntc   xra a   out icon ;interrup┆
0x0beee0…0bef00             74 20 63 6f 6e 74 72 6f 6c 0d 0a 3b 0d 0a 3b 09 73 65 74 20 64 65 66 61 75 6c 74 20 62 75 66 66   ┆t control  ;  ; set default buff┆
0x0bef00…0bef20             65 72 20 61 64 64 72 65 73 73 20 74 6f 20 38 30 68 0d 0a 09 6c 78 69 09 62 2c 62 75 66 66 0d 0a   ┆er address to 80h   lxi b,buff  ┆
0x0bef20…0bef40             09 63 61 6c 6c 09 73 65 74 64 6d 61 0d 0a 3b 0d 0a 3b 09 72 65 73 65 74 20 6d 6f 6e 69 74 6f 72   ┆ call setdma  ;  ; reset monitor┆
0x0bef40…0bef60             20 65 6e 74 72 79 20 70 6f 69 6e 74 73 0d 0a 09 6d 76 69 09 61 2c 6a 6d 70 0d 0a 09 73 74 61 09   ┆ entry points   mvi a,jmp   sta ┆
0x0bef60…0bef80             30 0d 0a 09 6c 78 69 09 68 2c 77 62 6f 6f 74 65 0d 0a 09 73 68 6c 64 09 31 09 3b 6a 6d 70 20 77   ┆0   lxi h,wboote   shld 1 ;jmp w┆
0x0bef80…0befa0             62 6f 6f 74 20 61 74 20 6c 6f 63 61 74 69 6f 6e 20 30 30 0d 0a 09 73 74 61 09 35 0d 0a 09 6c 78   ┆boot at location 00   sta 5   lx┆
0x0befa0…0befc0             69 09 68 2c 62 64 6f 73 0d 0a 09 73 68 6c 64 09 36 09 3b 6a 6d 70 20 62 64 6f 73 20 61 74 20 6c   ┆i h,bdos   shld 6 ;jmp bdos at l┆
0x0befc0…0befe0             6f 63 61 74 69 6f 6e 20 35 0d 0a 09 69 66 09 6e 6f 74 20 74 65 73 74 0d 0a 09 73 74 61 09 37 2a   ┆ocation 5   if not test   sta 7*┆
0x0befe0…0bf000             38 09 3b 6a 6d 70 20 74 6f 20 6d 6f 6e 38 30 20 28 6d 61 79 20 68 61 76 65 20 62 65 65 6e 20 63   ┆8 ;jmp to mon80 (may have been c┆
0x0bf000…0bf020 (50, 1, 14) 74 69 6f 6e 0d 0a 09 6d 6f 76 09 61 2c 6d 0d 0a 09 61 6e 69 09 31 31 30 30 31 31 31 31 62 09 3b   ┆tion   mov a,m   ani 11001111b ;┆
0x0bf020…0bf040             6d 61 73 6b 20 6f 75 74 20 64 69 73 6b 20 6e 75 6d 62 65 72 0d 0a 09 6f 72 61 09 62 09 3b 6d 61   ┆mask out disk number   ora b ;ma┆
0x0bf040…0bf060             73 6b 20 69 6e 20 6e 65 77 20 64 69 73 6b 20 6e 75 6d 62 65 72 0d 0a 09 6d 6f 76 09 6d 2c 61 09   ┆sk in new disk number   mov m,a ┆
0x0bf060…0bf080             3b 73 61 76 65 20 69 74 20 69 6e 20 69 6f 70 62 0d 0a 09 6d 6f 76 09 6c 2c 63 0d 0a 09 6d 76 69   ┆;save it in iopb   mov l,c   mvi┆
0x0bf080…0bf0a0             09 68 2c 30 09 3b 48 4c 3d 64 69 73 6b 20 6e 75 6d 62 65 72 0d 0a 09 64 61 64 09 68 09 3b 2a 32   ┆ h,0 ;HL=disk number   dad h ;*2┆
0x0bf0a0…0bf0c0             0d 0a 09 64 61 64 09 68 09 3b 2a 34 0d 0a 09 64 61 64 09 68 09 3b 2a 38 0d 0a 09 64 61 64 09 68   ┆   dad h ;*4   dad h ;*8   dad h┆
0x0bf0c0…0bf0e0             09 3b 2a 31 36 0d 0a 09 6c 78 69 09 64 2c 64 70 62 61 73 65 0d 0a 09 64 61 64 09 64 09 3b 48 4c   ┆ ;*16   lxi d,dpbase   dad d ;HL┆
0x0bf0e0…0bf100             3d 64 69 73 6b 20 68 65 61 64 65 72 20 74 61 62 6c 65 20 61 64 64 72 65 73 73 0d 0a 09 72 65 74   ┆=disk header table address   ret┆
0x0bf100…0bf120             0d 0a 3b 0d 0a 3b 0d 0a 73 65 74 74 72 6b 3a 09 3b 73 65 74 20 74 72 61 63 6b 20 61 64 64 72 65   ┆  ;  ;  settrk: ;set track addre┆
0x0bf120…0bf140             73 73 20 67 69 76 65 6e 20 62 79 20 63 0d 0a 09 6c 78 69 09 68 2c 69 6f 74 0d 0a 09 6d 6f 76 09   ┆ss given by c   lxi h,iot   mov ┆
0x0bf140…0bf160             6d 2c 63 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 73 65 74 73 65 63 3a 09 3b 73 65 74 20 73 65 63 74 6f   ┆m,c   ret  ;  setsec: ;set secto┆
0x0bf160…0bf180             72 20 6e 75 6d 62 65 72 20 67 69 76 65 6e 20 62 79 20 63 0d 0a 09 6c 78 69 09 68 2c 69 6f 73 0d   ┆r number given by c   lxi h,ios ┆
0x0bf180…0bf1a0             0a 09 6d 6f 76 09 6d 2c 63 0d 0a 09 72 65 74 0d 0a 73 65 63 74 72 61 6e 3a 0d 0a 09 09 3b 74 72   ┆  mov m,c   ret  sectran:    ;tr┆
0x0bf1a0…0bf1c0             61 6e 73 6c 61 74 65 20 73 65 63 74 6f 72 20 62 63 20 75 73 69 6e 67 20 74 61 62 6c 65 20 61 74   ┆anslate sector bc using table at┆
0x0bf1c0…0bf1e0             20 64 65 0d 0a 09 6d 76 69 09 62 2c 30 09 3b 64 6f 75 62 6c 65 20 70 72 65 63 69 73 69 6f 6e 20   ┆ de   mvi b,0 ;double precision ┆
0x0bf1e0…0bf200             73 65 63 74 6f 72 20 6e 75 6d 62 65 72 20 69 6e 20 42 43 0d 0a 09 78 63 68 67 09 09 3b 74 72 61   ┆sector number in BC   xchg  ;tra┆
0x0bf200…0bf220 (50, 1, 15) 0a 09 6d 76 69 09 62 2c 69 6f 70 62 20 73 68 72 20 38 09 3b 68 69 67 68 20 61 64 64 72 65 73 73   ┆  mvi b,iopb shr 8 ;high address┆
0x0bf220…0bf240             20 66 6f 72 20 69 6f 70 62 0d 0a 09 6a 6e 7a 09 69 6f 64 72 31 09 3b 64 72 69 76 65 20 62 61 6e   ┆ for iopb   jnz iodr1 ;drive ban┆
0x0bf240…0bf260             6b 20 31 3f 0d 0a 09 6f 75 74 09 69 6c 6f 77 09 09 3b 6c 6f 77 20 61 64 64 72 65 73 73 20 74 6f   ┆k 1?   out ilow  ;low address to┆
0x0bf260…0bf280             20 63 6f 6e 74 72 6f 6c 6c 65 72 0d 0a 09 6d 6f 76 09 61 2c 62 0d 0a 09 6f 75 74 09 69 68 69 67   ┆ controller   mov a,b   out ihig┆
0x0bf280…0bf2a0             68 09 3b 68 69 67 68 20 61 64 64 72 65 73 73 0d 0a 09 6a 6d 70 09 77 61 69 74 30 09 09 3b 74 6f   ┆h ;high address   jmp wait0  ;to┆
0x0bf2a0…0bf2c0             20 77 61 69 74 20 66 6f 72 20 63 6f 6d 70 6c 65 74 65 0d 0a 3b 0d 0a 69 6f 64 72 31 3a 09 3b 64   ┆ wait for complete  ;  iodr1: ;d┆
0x0bf2c0…0bf2e0             72 69 76 65 20 62 61 6e 6b 20 31 0d 0a 09 6f 75 74 09 69 6c 6f 77 2b 31 30 68 09 3b 38 38 20 66   ┆rive bank 1   out ilow+10h ;88 f┆
0x0bf2e0…0bf300             6f 72 20 64 72 69 76 65 20 62 61 6e 6b 20 31 30 0d 0a 09 6d 6f 76 09 61 2c 62 0d 0a 09 6f 75 74   ┆or drive bank 10   mov a,b   out┆
0x0bf300…0bf320             09 69 68 69 67 68 2b 31 30 68 0d 0a 3b 0d 0a 77 61 69 74 30 3a 09 63 61 6c 6c 09 69 6e 73 74 61   ┆ ihigh+10h  ;  wait0: call insta┆
0x0bf320…0bf340             74 09 09 3b 77 61 69 74 20 66 6f 72 20 63 6f 6d 70 6c 65 74 69 6f 6e 0d 0a 09 61 6e 69 09 69 6f   ┆t  ;wait for completion   ani io┆
0x0bf340…0bf360             72 64 79 09 09 3b 72 65 61 64 79 3f 0d 0a 09 6a 7a 09 77 61 69 74 30 0d 0a 3b 0d 0a 3b 09 63 68   ┆rdy  ;ready?   jz wait0  ;  ; ch┆
0x0bf360…0bf380             65 63 6b 20 69 6f 20 63 6f 6d 70 6c 65 74 69 6f 6e 20 6f 6b 0d 0a 09 63 61 6c 6c 09 69 6e 74 79   ┆eck io completion ok   call inty┆
0x0bf380…0bf3a0             70 65 09 09 3b 6d 75 73 74 20 62 65 20 69 6f 20 63 6f 6d 70 6c 65 74 65 20 28 30 30 29 20 75 6e   ┆pe  ;must be io complete (00) un┆
0x0bf3a0…0bf3c0             6c 69 6e 6b 65 64 0d 0a 3b 09 30 30 20 75 6e 6c 69 6e 6b 65 64 20 69 2f 6f 20 63 6f 6d 70 6c 65   ┆linked  ; 00 unlinked i/o comple┆
0x0bf3c0…0bf3e0             74 65 2c 20 20 20 20 30 31 20 6c 69 6e 6b 65 64 20 69 2f 6f 20 63 6f 6d 70 6c 65 74 65 20 28 6e   ┆te,    01 linked i/o complete (n┆
0x0bf3e0…0bf400             6f 74 20 75 73 65 64 29 0d 0a 3b 09 31 30 20 64 69 73 6b 20 73 74 61 74 75 73 20 63 68 61 6e 67   ┆ot used)  ; 10 disk status chang┆
0x0bf400…0bf420 (51, 0, 1)  33 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 69 6e 62 79 74 65 3a 09 6c 64 61 09 64 62 61 6e 6b 0d 0a 09   ┆3   ret  ;  inbyte: lda dbank   ┆
0x0bf420…0bf440             6f 72 61 09 61 0d 0a 09 6a 6e 7a 09 69 6e 62 79 74 31 0d 0a 09 69 6e 09 72 62 79 74 65 0d 0a 09   ┆ora a   jnz inbyt1   in rbyte   ┆
0x0bf440…0bf460             72 65 74 0d 0a 69 6e 62 79 74 31 3a 09 69 6e 09 72 62 79 74 65 2b 31 30 68 0d 0a 09 72 65 74 0d   ┆ret  inbyt1: in rbyte+10h   ret ┆
0x0bf460…0bf480             0a 3b 0d 0a 69 6e 73 74 61 74 3a 09 6c 64 61 09 64 62 61 6e 6b 0d 0a 09 6f 72 61 09 61 0d 0a 09   ┆ ;  instat: lda dbank   ora a   ┆
0x0bf480…0bf4a0             6a 6e 7a 09 69 6e 73 74 61 31 0d 0a 09 69 6e 09 64 73 74 61 74 0d 0a 09 72 65 74 0d 0a 69 6e 73   ┆jnz insta1   in dstat   ret  ins┆
0x0bf4a0…0bf4c0             74 61 31 3a 09 69 6e 09 64 73 74 61 74 2b 31 30 68 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 3b 0d 0a 3b   ┆ta1: in dstat+10h   ret  ;  ;  ;┆
0x0bf4c0…0bf4e0             0d 0a 3b 09 64 61 74 61 20 61 72 65 61 73 20 28 6d 75 73 74 20 62 65 20 69 6e 20 72 61 6d 29 0d   ┆  ; data areas (must be in ram) ┆
0x0bf4e0…0bf500             0a 64 62 61 6e 6b 3a 09 64 62 09 30 09 3b 64 69 73 6b 20 62 61 6e 6b 20 30 30 20 69 66 20 64 72   ┆ dbank: db 0 ;disk bank 00 if dr┆
0x0bf500…0bf520             69 76 65 20 30 2c 31 0d 0a 09 09 09 3b 09 20 20 20 31 30 20 69 66 20 64 72 69 76 65 20 32 2c 33   ┆ive 0,1     ;    10 if drive 2,3┆
0x0bf520…0bf540             0d 0a 69 6f 70 62 3a 09 3b 69 6f 20 70 61 72 61 6d 65 74 65 72 20 62 6c 6f 63 6b 0d 0a 09 64 62   ┆  iopb: ;io parameter block   db┆
0x0bf540…0bf560             09 38 30 68 09 3b 6e 6f 72 6d 61 6c 20 69 2f 6f 20 6f 70 65 72 61 74 69 6f 6e 0d 0a 69 6f 66 3a   ┆ 80h ;normal i/o operation  iof:┆
0x0bf560…0bf580             09 64 62 09 72 65 61 64 66 09 3b 69 6f 20 66 75 6e 63 74 69 6f 6e 2c 20 69 6e 69 74 69 61 6c 20   ┆ db readf ;io function, initial ┆
0x0bf580…0bf5a0             72 65 61 64 0d 0a 69 6f 6e 3a 09 64 62 09 31 09 3b 6e 75 6d 62 65 72 20 6f 66 20 73 65 63 74 6f   ┆read  ion: db 1 ;number of secto┆
0x0bf5a0…0bf5c0             72 73 20 74 6f 20 72 65 61 64 0d 0a 69 6f 74 3a 09 64 62 09 6f 66 66 73 65 74 09 3b 74 72 61 63   ┆rs to read  iot: db offset ;trac┆
0x0bf5c0…0bf5e0             6b 20 6e 75 6d 62 65 72 0d 0a 69 6f 73 3a 09 64 62 09 31 09 3b 73 65 63 74 6f 72 20 6e 75 6d 62   ┆k number  ios: db 1 ;sector numb┆
0x0bf5e0…0bf600             65 72 0d 0a 69 6f 64 3a 09 64 77 09 62 75 66 66 09 3b 69 6f 20 61 64 64 72 65 73 73 0d 0a 3b 0d   ┆er  iod: dw buff ;io address  ; ┆
0x0bf600…0bf620 (51, 0, 2)  64 73 20 61 6e 64 20 77 72 69 74 65 73 29 0d 0a 3b 09 73 65 6c 64 73 6b 09 73 65 6c 65 63 74 20   ┆ds and writes)  ; seldsk select ┆
0x0bf620…0bf640             64 69 73 6b 20 67 69 76 65 6e 20 62 79 20 72 65 67 2d 63 20 28 30 2c 31 2c 32 2e 2e 2e 29 0d 0a   ┆disk given by reg-c (0,1,2...)  ┆
0x0bf640…0bf660             3b 09 73 65 74 74 72 6b 09 73 65 74 20 74 72 61 63 6b 20 61 64 64 72 65 73 73 20 28 30 2c 2e 2e   ┆; settrk set track address (0,..┆
0x0bf660…0bf680             2e 37 36 29 20 66 6f 72 20 73 75 62 73 65 71 75 65 6e 74 20 72 65 61 64 2f 77 72 69 74 65 0d 0a   ┆.76) for subsequent read/write  ┆
0x0bf680…0bf6a0             3b 09 73 65 74 73 65 63 09 73 65 74 20 73 65 63 74 6f 72 20 61 64 64 72 65 73 73 20 28 31 2c 2e   ┆; setsec set sector address (1,.┆
0x0bf6a0…0bf6c0             2e 2e 2c 32 36 29 20 66 6f 72 20 73 75 62 73 65 71 75 65 6e 74 20 72 65 61 64 2f 77 72 69 74 65   ┆..,26) for subsequent read/write┆
0x0bf6c0…0bf6e0             0d 0a 3b 09 73 65 74 64 6d 61 09 73 65 74 20 73 75 62 73 65 71 75 65 6e 74 20 64 6d 61 20 61 64   ┆  ; setdma set subsequent dma ad┆
0x0bf6e0…0bf700             64 72 65 73 73 20 28 69 6e 69 74 69 61 6c 6c 79 20 38 30 68 29 0d 0a 3b 0d 0a 3b 09 28 72 65 61   ┆dress (initially 80h)  ;  ; (rea┆
0x0bf700…0bf720             64 20 61 6e 64 20 77 72 69 74 65 20 61 73 73 75 6d 65 20 70 72 65 76 69 6f 75 73 20 63 61 6c 6c   ┆d and write assume previous call┆
0x0bf720…0bf740             73 20 74 6f 20 73 65 74 20 75 70 20 74 68 65 20 69 6f 20 70 61 72 61 6d 65 74 65 72 73 29 0d 0a   ┆s to set up the io parameters)  ┆
0x0bf740…0bf760             3b 09 72 65 61 64 09 72 65 61 64 20 74 72 61 63 6b 2f 73 65 63 74 6f 72 20 74 6f 20 70 72 65 73   ┆; read read track/sector to pres┆
0x0bf760…0bf780             65 74 20 64 6d 61 20 61 64 64 72 65 73 73 0d 0a 3b 09 77 72 69 74 65 09 77 72 69 74 65 20 74 72   ┆et dma address  ; write write tr┆
0x0bf780…0bf7a0             61 63 6b 2f 73 65 63 74 6f 72 20 66 72 6f 6d 20 70 72 65 73 65 74 20 64 6d 61 20 61 64 64 72 65   ┆ack/sector from preset dma addre┆
0x0bf7a0…0bf7c0             73 73 0d 0a 3b 0d 0a 3b 09 6a 75 6d 70 20 76 65 63 74 6f 72 20 66 6f 72 20 69 6e 64 69 76 69 75   ┆ss  ;  ; jump vector for indiviu┆
0x0bf7c0…0bf7e0             61 6c 20 72 6f 75 74 69 6e 65 73 0d 0a 09 6a 6d 70 09 62 6f 6f 74 0d 0a 77 62 6f 6f 74 65 3a 09   ┆al routines   jmp boot  wboote: ┆
0x0bf7e0…0bf800             6a 6d 70 09 77 62 6f 6f 74 0d 0a 09 6a 6d 70 09 63 6f 6e 73 74 0d 0a 09 6a 6d 70 09 63 6f 6e 69   ┆jmp wboot   jmp const   jmp coni┆
0x0bf800…0bf820 (51, 0, 3)  0d 0a 69 68 69 67 68 09 65 71 75 09 62 61 73 65 2b 32 09 3b 69 6f 70 62 20 68 69 67 68 20 61 64   ┆  ihigh equ base+2 ;iopb high ad┆
0x0bf820…0bf840             64 72 65 73 73 20 28 6f 75 74 70 75 74 29 0d 0a 3b 0d 0a 72 65 61 64 66 09 65 71 75 09 34 68 09   ┆dress (output)  ;  readf equ 4h ┆
0x0bf840…0bf860             3b 72 65 61 64 20 66 75 6e 63 74 69 6f 6e 0d 0a 77 72 69 74 66 09 65 71 75 09 36 68 09 3b 77 72   ┆;read function  writf equ 6h ;wr┆
0x0bf860…0bf880             69 74 65 20 66 75 6e 63 74 69 6f 6e 0d 0a 72 65 63 61 6c 09 65 71 75 09 33 68 09 3b 72 65 63 61   ┆ite function  recal equ 3h ;reca┆
0x0bf880…0bf8a0             6c 69 62 72 61 74 65 20 64 72 69 76 65 0d 0a 69 6f 72 64 79 09 65 71 75 09 34 68 09 3b 69 2f 6f   ┆librate drive  iordy equ 4h ;i/o┆
0x0bf8a0…0bf8c0             20 66 69 6e 69 73 68 65 64 20 6d 61 73 6b 0d 0a 63 72 09 65 71 75 09 30 64 68 09 3b 63 61 72 72   ┆ finished mask  cr equ 0dh ;carr┆
0x0bf8c0…0bf8e0             69 61 67 65 20 72 65 74 75 72 6e 0d 0a 6c 66 09 65 71 75 09 30 61 68 09 3b 6c 69 6e 65 20 66 65   ┆iage return  lf equ 0ah ;line fe┆
0x0bf8e0…0bf900             65 64 0d 0a 3b 0d 0a 73 69 67 6e 6f 6e 3a 09 3b 73 69 67 6e 6f 6e 20 6d 65 73 73 61 67 65 3a 20   ┆ed  ;  signon: ;signon message: ┆
0x0bf900…0bf920             78 78 6b 20 63 70 2f 6d 20 76 65 72 73 20 79 2e 79 0d 0a 09 64 62 09 63 72 2c 6c 66 2c 6c 66 0d   ┆xxk cp/m vers y.y   db cr,lf,lf ┆
0x0bf920…0bf940             0a 09 69 66 09 74 65 73 74 0d 0a 09 64 62 09 27 33 32 27 09 3b 33 32 6b 20 65 78 61 6d 70 6c 65   ┆  if test   db '32' ;32k example┆
0x0bf940…0bf960             20 62 69 6f 73 0d 0a 09 65 6e 64 69 66 0d 0a 09 69 66 09 6e 6f 74 20 74 65 73 74 0d 0a 09 64 62   ┆ bios   endif   if not test   db┆
0x0bf960…0bf980             09 27 30 30 27 09 3b 6d 65 6d 6f 72 79 20 73 69 7a 65 20 66 69 6c 6c 65 64 20 62 79 20 72 65 6c   ┆ '00' ;memory size filled by rel┆
0x0bf980…0bf9a0             6f 63 61 74 6f 72 0d 0a 09 65 6e 64 69 66 0d 0a 09 64 62 09 27 6b 20 43 50 2f 4d 20 76 65 72 73   ┆ocator   endif   db 'k CP/M vers┆
0x0bf9a0…0bf9c0             20 27 0d 0a 09 64 62 09 76 65 72 73 2f 31 30 2b 27 30 27 2c 27 2e 27 2c 76 65 72 73 20 6d 6f 64   ┆ '   db vers/10+'0','.',vers mod┆
0x0bf9c0…0bf9e0             20 31 30 2b 27 30 27 0d 0a 09 64 62 09 63 72 2c 6c 66 2c 30 0d 0a 3b 0d 0a 62 6f 6f 74 3a 09 3b   ┆ 10+'0'   db cr,lf,0  ;  boot: ;┆
0x0bf9e0…0bfa00             70 72 69 6e 74 20 73 69 67 6e 6f 6e 20 6d 65 73 73 61 67 65 20 61 6e 64 20 67 6f 20 74 6f 20 63   ┆print signon message and go to c┆
0x0bfa00…0bfa20 (51, 0, 4)  6e 69 74 69 61 6c 69 7a 65 20 63 6f 6d 6d 61 6e 64 0d 0a 09 6f 75 74 09 72 65 76 72 74 0d 0a 09   ┆nitialize command   out revrt   ┆
0x0bfa20…0bfa40             78 72 61 09 61 0d 0a 09 6f 75 74 09 69 6e 74 63 09 3b 63 6c 65 61 72 65 64 0d 0a 09 6d 76 69 09   ┆xra a   out intc ;cleared   mvi ┆
0x0bfa40…0bfa60             61 2c 69 6e 74 65 09 3b 72 73 74 30 20 61 6e 64 20 72 73 74 37 20 62 69 74 73 20 6f 6e 0d 0a 09   ┆a,inte ;rst0 and rst7 bits on   ┆
0x0bfa60…0bfa80             6f 75 74 09 69 6e 74 63 0d 0a 09 78 72 61 09 61 0d 0a 09 6f 75 74 09 69 63 6f 6e 09 3b 69 6e 74   ┆out intc   xra a   out icon ;int┆
0x0bfa80…0bfaa0             65 72 72 75 70 74 20 63 6f 6e 74 72 6f 6c 0d 0a 3b 0d 0a 3b 09 73 65 74 20 64 65 66 61 75 6c 74   ┆errupt control  ;  ; set default┆
0x0bfaa0…0bfac0             20 62 75 66 66 65 72 20 61 64 64 72 65 73 73 20 74 6f 20 38 30 68 0d 0a 09 6c 78 69 09 62 2c 62   ┆ buffer address to 80h   lxi b,b┆
0x0bfac0…0bfae0             75 66 66 0d 0a 09 63 61 6c 6c 09 73 65 74 64 6d 61 0d 0a 3b 0d 0a 3b 09 72 65 73 65 74 20 6d 6f   ┆uff   call setdma  ;  ; reset mo┆
0x0bfae0…0bfb00             6e 69 74 6f 72 20 65 6e 74 72 79 20 70 6f 69 6e 74 73 0d 0a 09 6d 76 69 09 61 2c 6a 6d 70 0d 0a   ┆nitor entry points   mvi a,jmp  ┆
0x0bfb00…0bfb20             09 73 74 61 09 30 0d 0a 09 6c 78 69 09 68 2c 77 62 6f 6f 74 65 0d 0a 09 73 68 6c 64 09 31 09 3b   ┆ sta 0   lxi h,wboote   shld 1 ;┆
0x0bfb20…0bfb40             6a 6d 70 20 77 62 6f 6f 74 20 61 74 20 6c 6f 63 61 74 69 6f 6e 20 30 30 0d 0a 09 73 74 61 09 35   ┆jmp wboot at location 00   sta 5┆
0x0bfb40…0bfb60             0d 0a 09 6c 78 69 09 68 2c 62 64 6f 73 0d 0a 09 73 68 6c 64 09 36 09 3b 6a 6d 70 20 62 64 6f 73   ┆   lxi h,bdos   shld 6 ;jmp bdos┆
0x0bfb60…0bfb80             20 61 74 20 6c 6f 63 61 74 69 6f 6e 20 35 0d 0a 09 69 66 09 6e 6f 74 20 74 65 73 74 0d 0a 09 73   ┆ at location 5   if not test   s┆
0x0bfb80…0bfba0             74 61 09 37 2a 38 09 3b 6a 6d 70 20 74 6f 20 6d 6f 6e 38 30 20 28 6d 61 79 20 68 61 76 65 20 62   ┆ta 7*8 ;jmp to mon80 (may have b┆
0x0bfba0…0bfbc0             65 65 6e 20 63 68 61 6e 67 65 64 20 62 79 20 64 64 74 29 0d 0a 09 6c 78 69 09 68 2c 6d 6f 6e 38   ┆een changed by ddt)   lxi h,mon8┆
0x0bfbc0…0bfbe0             30 0d 0a 09 73 68 6c 64 09 37 2a 38 2b 31 0d 0a 09 65 6e 64 69 66 0d 0a 3b 09 6c 65 61 76 65 20   ┆0   shld 7*8+1   endif  ; leave ┆
0x0bfbe0…0bfc00             69 6f 62 79 74 65 20 73 65 74 0d 0a 3b 09 70 72 65 76 69 6f 75 73 6c 79 20 73 65 6c 65 63 74 65   ┆iobyte set  ; previously selecte┆
0x0bfc00…0bfc20 (51, 0, 5)  0a 3b 0d 0a 3b 09 64 65 66 69 6e 65 20 72 61 6d 20 61 72 65 61 73 20 66 6f 72 20 62 64 6f 73 20   ┆ ;  ; define ram areas for bdos ┆
0x0bfc20…0bfc40             6f 70 65 72 61 74 69 6f 6e 0d 0a 09 65 6e 64 65 66 0d 0a 09 65 6e 64 0d 0a 3b 09 4d 44 53 2d 38   ┆operation   endef   end  ; MDS-8┆
0x0bfc40…0bfc60             30 30 20 49 2f 4f 20 44 72 69 76 65 72 73 20 66 6f 72 20 43 50 2f 4d 20 32 2e 32 0d 0a 3b 09 28   ┆00 I/O Drivers for CP/M 2.2  ; (┆
0x0bfc60…0bfc80             66 6f 75 72 20 64 72 69 76 65 20 73 69 6e 67 6c 65 20 64 65 6e 73 69 74 79 20 76 65 72 73 69 6f   ┆four drive single density versio┆
0x0bfc80…0bfca0             6e 29 0d 0a 3b 0d 0a 3b 09 56 65 72 73 69 6f 6e 20 32 2e 32 20 46 65 62 72 75 61 72 79 2c 20 31   ┆n)  ;  ; Version 2.2 February, 1┆
0x0bfca0…0bfcc0             39 38 30 0d 0a 3b 0d 0a 76 65 72 73 09 65 71 75 09 32 32 09 3b 76 65 72 73 69 6f 6e 20 32 2e 32   ┆980  ;  vers equ 22 ;version 2.2┆
0x0bfcc0…0bfce0             0d 0a 3b 0d 0a 3b 09 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 31 39 38 30 0d 0a 3b 09 44 69 67   ┆  ;  ; Copyright (c) 1980  ; Dig┆
0x0bfce0…0bfd00             69 74 61 6c 20 52 65 73 65 61 72 63 68 0d 0a 3b 09 42 6f 78 20 35 37 39 2c 20 50 61 63 69 66 69   ┆ital Research  ; Box 579, Pacifi┆
0x0bfd00…0bfd20             63 20 47 72 6f 76 65 0d 0a 3b 09 43 61 6c 69 66 6f 72 6e 69 61 2c 20 39 33 39 35 30 0d 0a 3b 0d   ┆c Grove  ; California, 93950  ; ┆
0x0bfd20…0bfd40             0a 3b 0d 0a 74 72 75 65 09 65 71 75 09 30 66 66 66 66 68 09 3b 76 61 6c 75 65 20 6f 66 20 22 74   ┆ ;  true equ 0ffffh ;value of "t┆
0x0bfd40…0bfd60             72 75 65 22 0d 0a 66 61 6c 73 65 09 65 71 75 09 6e 6f 74 20 74 72 75 65 09 3b 22 66 61 6c 73 65   ┆rue"  false equ not true ;"false┆
0x0bfd60…0bfd80             22 0d 0a 74 65 73 74 09 65 71 75 09 66 61 6c 73 65 09 3b 74 72 75 65 20 69 66 20 74 65 73 74 20   ┆"  test equ false ;true if test ┆
0x0bfd80…0bfda0             62 69 6f 73 0d 0a 3b 0d 0a 09 69 66 09 74 65 73 74 0d 0a 62 69 61 73 09 65 71 75 09 30 33 34 30   ┆bios  ;   if test  bias equ 0340┆
0x0bfda0…0bfdc0             30 68 09 3b 62 61 73 65 20 6f 66 20 43 43 50 20 69 6e 20 74 65 73 74 20 73 79 73 74 65 6d 0d 0a   ┆0h ;base of CCP in test system  ┆
0x0bfdc0…0bfde0             09 65 6e 64 69 66 0d 0a 09 69 66 09 6e 6f 74 20 74 65 73 74 0d 0a 62 69 61 73 09 65 71 75 09 30   ┆ endif   if not test  bias equ 0┆
0x0bfde0…0bfe00             30 30 30 68 09 3b 67 65 6e 65 72 61 74 65 20 72 65 6c 6f 63 61 74 61 62 6c 65 20 63 70 2f 6d 20   ┆000h ;generate relocatable cp/m ┆
0x0bfe00…0bfe20 (51, 0, 6)  6e 0d 0a 09 6a 6d 70 09 63 6f 6e 6f 75 74 0d 0a 09 6a 6d 70 09 6c 69 73 74 0d 0a 09 6a 6d 70 09   ┆n   jmp conout   jmp list   jmp ┆
0x0bfe20…0bfe40             70 75 6e 63 68 0d 0a 09 6a 6d 70 09 72 65 61 64 65 72 0d 0a 09 6a 6d 70 09 68 6f 6d 65 0d 0a 09   ┆punch   jmp reader   jmp home   ┆
0x0bfe40…0bfe60             6a 6d 70 09 73 65 6c 64 73 6b 0d 0a 09 6a 6d 70 09 73 65 74 74 72 6b 0d 0a 09 6a 6d 70 09 73 65   ┆jmp seldsk   jmp settrk   jmp se┆
0x0bfe60…0bfe80             74 73 65 63 0d 0a 09 6a 6d 70 09 73 65 74 64 6d 61 0d 0a 09 6a 6d 70 09 72 65 61 64 0d 0a 09 6a   ┆tsec   jmp setdma   jmp read   j┆
0x0bfe80…0bfea0             6d 70 09 77 72 69 74 65 0d 0a 09 6a 6d 70 09 6c 69 73 74 73 74 09 3b 6c 69 73 74 20 73 74 61 74   ┆mp write   jmp listst ;list stat┆
0x0bfea0…0bfec0             75 73 0d 0a 09 6a 6d 70 09 73 65 63 74 72 61 6e 0d 0a 3b 0d 0a 09 6d 61 63 6c 69 62 09 64 69 73   ┆us   jmp sectran  ;   maclib dis┆
0x0bfec0…0bfee0             6b 64 65 66 09 3b 6c 6f 61 64 20 74 68 65 20 64 69 73 6b 20 64 65 66 69 6e 69 74 69 6f 6e 20 6c   ┆kdef ;load the disk definition l┆
0x0bfee0…0bff00             69 62 72 61 72 79 0d 0a 09 64 69 73 6b 73 09 34 09 3b 66 6f 75 72 20 64 69 73 6b 73 0d 0a 09 64   ┆ibrary   disks 4 ;four disks   d┆
0x0bff00…0bff20             69 73 6b 64 65 66 09 30 2c 31 2c 32 36 2c 36 2c 31 30 32 34 2c 32 34 33 2c 36 34 2c 36 34 2c 6f   ┆iskdef 0,1,26,6,1024,243,64,64,o┆
0x0bff20…0bff40             66 66 73 65 74 0d 0a 09 64 69 73 6b 64 65 66 09 31 2c 30 0d 0a 09 64 69 73 6b 64 65 66 09 32 2c   ┆ffset   diskdef 1,0   diskdef 2,┆
0x0bff40…0bff60             30 0d 0a 09 64 69 73 6b 64 65 66 09 33 2c 30 0d 0a 3b 09 65 6e 64 65 66 20 6f 63 63 75 72 73 20   ┆0   diskdef 3,0  ; endef occurs ┆
0x0bff60…0bff80             61 74 20 65 6e 64 20 6f 66 20 61 73 73 65 6d 62 6c 79 0d 0a 3b 0d 0a 3b 09 65 6e 64 20 6f 66 20   ┆at end of assembly  ;  ; end of ┆
0x0bff80…0bffa0             63 6f 6e 74 72 6f 6c 6c 65 72 20 2d 20 69 6e 64 65 70 65 6e 64 65 6e 74 20 63 6f 64 65 2c 20 74   ┆controller - independent code, t┆
0x0bffa0…0bffc0             68 65 20 72 65 6d 61 69 6e 69 6e 67 20 73 75 62 72 6f 75 74 69 6e 65 73 0d 0a 3b 09 61 72 65 20   ┆he remaining subroutines  ; are ┆
0x0bffc0…0bffe0             74 61 69 6c 6f 72 65 64 20 74 6f 20 74 68 65 20 70 61 72 74 69 63 75 6c 61 72 20 6f 70 65 72 61   ┆tailored to the particular opera┆
0x0bffe0…0c0000             74 69 6e 67 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 2c 20 61 6e 64 20 6d 75 73 74 0d 0a 3b 09 62 65   ┆ting environment, and must  ; be┆
0x0c0000…0c0020 (51, 0, 7)  63 70 0d 0a 3b 09 28 6e 6f 74 65 3a 20 6d 64 73 20 62 6f 6f 74 20 69 6e 69 74 69 61 6c 69 7a 65   ┆cp  ; (note: mds boot initialize┆
0x0c0020…0c0040             64 20 69 6f 62 79 74 65 20 61 74 20 30 30 30 33 68 29 0d 0a 09 6c 78 69 09 73 70 2c 62 75 66 66   ┆d iobyte at 0003h)   lxi sp,buff┆
0x0c0040…0c0060             2b 38 30 68 0d 0a 09 6c 78 69 09 68 2c 73 69 67 6e 6f 6e 0d 0a 09 63 61 6c 6c 09 70 72 6d 73 67   ┆+80h   lxi h,signon   call prmsg┆
0x0c0060…0c0080             09 3b 70 72 69 6e 74 20 6d 65 73 73 61 67 65 0d 0a 09 78 72 61 09 61 09 3b 63 6c 65 61 72 20 61   ┆ ;print message   xra a ;clear a┆
0x0c0080…0c00a0             63 63 75 6d 75 6c 61 74 6f 72 0d 0a 09 73 74 61 09 63 64 69 73 6b 09 3b 73 65 74 20 69 6e 69 74   ┆ccumulator   sta cdisk ;set init┆
0x0c00a0…0c00c0             69 61 6c 6c 79 20 74 6f 20 64 69 73 6b 20 61 0d 0a 09 6a 6d 70 09 67 6f 63 70 6d 09 3b 67 6f 20   ┆ially to disk a   jmp gocpm ;go ┆
0x0c00c0…0c00e0             74 6f 20 63 70 2f 6d 0d 0a 3b 0d 0a 3b 0d 0a 77 62 6f 6f 74 3a 3b 09 6c 6f 61 64 65 72 20 6f 6e   ┆to cp/m  ;  ;  wboot:; loader on┆
0x0c00e0…0c0100             20 74 72 61 63 6b 20 30 2c 20 73 65 63 74 6f 72 20 31 2c 20 77 68 69 63 68 20 77 69 6c 6c 20 62   ┆ track 0, sector 1, which will b┆
0x0c0100…0c0120             65 20 73 6b 69 70 70 65 64 20 66 6f 72 20 77 61 72 6d 20 0d 0a 3b 09 72 65 61 64 20 63 70 2f 6d   ┆e skipped for warm   ; read cp/m┆
0x0c0120…0c0140             20 66 72 6f 6d 20 64 69 73 6b 20 2d 20 61 73 73 75 6d 69 6e 67 20 74 68 65 72 65 20 69 73 20 61   ┆ from disk - assuming there is a┆
0x0c0140…0c0160             20 31 32 38 20 62 79 74 65 20 63 6f 6c 64 20 73 74 61 72 74 0d 0a 3b 09 73 74 61 72 74 2e 0d 0a   ┆ 128 byte cold start  ; start.  ┆
0x0c0160…0c0180             3b 0d 0a 09 6c 78 69 09 73 70 2c 62 75 66 66 09 3b 75 73 69 6e 67 20 64 6d 61 20 2d 20 74 68 75   ┆;   lxi sp,buff ;using dma - thu┆
0x0c0180…0c01a0             73 20 38 30 20 74 68 72 75 20 66 66 20 61 76 61 69 6c 61 62 6c 65 20 66 6f 72 20 73 74 61 63 6b   ┆s 80 thru ff available for stack┆
0x0c01a0…0c01c0             0d 0a 3b 0d 0a 09 6d 76 69 09 63 2c 72 65 74 72 79 09 3b 6d 61 78 20 72 65 74 72 69 65 73 0d 0a   ┆  ;   mvi c,retry ;max retries  ┆
0x0c01c0…0c01e0             09 70 75 73 68 09 62 0d 0a 77 62 6f 6f 74 30 3a 09 3b 65 6e 74 65 72 20 68 65 72 65 20 6f 6e 20   ┆ push b  wboot0: ;enter here on ┆
0x0c01e0…0c0200             65 72 72 6f 72 20 72 65 74 72 69 65 73 0d 0a 09 6c 78 69 09 62 2c 63 70 6d 62 09 3b 73 65 74 20   ┆error retries   lxi b,cpmb ;set ┆
0x0c0200…0c0220 (51, 0, 8)  64 20 64 69 73 6b 20 77 61 73 20 62 2c 20 73 65 6e 64 20 70 61 72 61 6d 65 74 65 72 20 74 6f 20   ┆d disk was b, send parameter to ┆
0x0c0220…0c0240             63 70 6d 0d 0a 09 6c 64 61 09 63 64 69 73 6b 09 3b 6c 61 73 74 20 6c 6f 67 67 65 64 20 64 69 73   ┆cpm   lda cdisk ;last logged dis┆
0x0c0240…0c0260             6b 20 6e 75 6d 62 65 72 0d 0a 09 6d 6f 76 09 63 2c 61 09 3b 73 65 6e 64 20 74 6f 20 63 63 70 20   ┆k number   mov c,a ;send to ccp ┆
0x0c0260…0c0280             74 6f 20 6c 6f 67 20 69 74 20 69 6e 0d 0a 09 65 69 0d 0a 09 6a 6d 70 09 63 70 6d 62 0d 0a 3b 0d   ┆to log it in   ei   jmp cpmb  ; ┆
0x0c0280…0c02a0             0a 3b 09 65 72 72 6f 72 20 63 6f 6e 64 69 74 69 6f 6e 20 6f 63 63 75 72 72 65 64 2c 20 70 72 69   ┆ ; error condition occurred, pri┆
0x0c02a0…0c02c0             6e 74 20 6d 65 73 73 61 67 65 20 61 6e 64 20 72 65 74 72 79 0d 0a 62 6f 6f 74 65 72 72 3a 0d 0a   ┆nt message and retry  booterr:  ┆
0x0c02c0…0c02e0             09 70 6f 70 09 62 09 3b 72 65 63 61 6c 6c 20 63 6f 75 6e 74 73 0d 0a 09 64 63 72 09 63 0d 0a 09   ┆ pop b ;recall counts   dcr c   ┆
0x0c02e0…0c0300             6a 7a 09 62 6f 6f 74 65 72 30 0d 0a 3b 09 74 72 79 20 61 67 61 69 6e 0d 0a 09 70 75 73 68 09 62   ┆jz booter0  ; try again   push b┆
0x0c0300…0c0320             0d 0a 09 6a 6d 70 09 77 62 6f 6f 74 30 0d 0a 3b 0d 0a 62 6f 6f 74 65 72 30 3a 0d 0a 3b 09 6f 74   ┆   jmp wboot0  ;  booter0:  ; ot┆
0x0c0320…0c0340             68 65 72 77 69 73 65 20 74 6f 6f 20 6d 61 6e 79 20 72 65 74 72 69 65 73 0d 0a 09 6c 78 69 09 68   ┆herwise too many retries   lxi h┆
0x0c0340…0c0360             2c 62 6f 6f 74 6d 73 67 0d 0a 09 63 61 6c 6c 09 70 72 6d 73 67 0d 0a 09 6a 6d 70 09 72 6d 6f 6e   ┆,bootmsg   call prmsg   jmp rmon┆
0x0c0360…0c0380             38 30 09 3b 6d 64 73 20 68 61 72 64 77 61 72 65 20 6d 6f 6e 69 74 6f 72 0d 0a 3b 0d 0a 62 6f 6f   ┆80 ;mds hardware monitor  ;  boo┆
0x0c0380…0c03a0             74 6d 73 67 3a 0d 0a 09 64 62 09 27 3f 62 6f 6f 74 27 2c 30 0d 0a 3b 0d 0a 3b 0d 0a 63 6f 6e 73   ┆tmsg:   db '?boot',0  ;  ;  cons┆
0x0c03a0…0c03c0             74 3a 09 3b 63 6f 6e 73 6f 6c 65 20 73 74 61 74 75 73 20 74 6f 20 72 65 67 2d 61 0d 0a 3b 09 28   ┆t: ;console status to reg-a  ; (┆
0x0c03c0…0c03e0             65 78 61 63 74 6c 79 20 74 68 65 20 73 61 6d 65 20 61 73 20 6d 64 73 20 63 61 6c 6c 29 0d 0a 09   ┆exactly the same as mds call)   ┆
0x0c03e0…0c0400             6a 6d 70 09 63 73 74 73 0d 0a 3b 0d 0a 63 6f 6e 69 6e 3a 09 3b 63 6f 6e 73 6f 6c 65 20 63 68 61   ┆jmp csts  ;  conin: ;console cha┆
0x0c0400…0c0420 (51, 0, 9)  73 79 73 74 65 6d 0d 0a 09 65 6e 64 69 66 0d 0a 3b 0d 0a 70 61 74 63 68 09 65 71 75 09 31 36 30   ┆system   endif  ;  patch equ 160┆
0x0c0420…0c0440             30 68 0d 0a 3b 0d 0a 09 6f 72 67 09 70 61 74 63 68 0d 0a 63 70 6d 62 09 65 71 75 09 24 2d 70 61   ┆0h  ;   org patch  cpmb equ $-pa┆
0x0c0440…0c0460             74 63 68 09 3b 62 61 73 65 20 6f 66 20 63 70 6d 20 63 6f 6e 73 6f 6c 65 20 70 72 6f 63 65 73 73   ┆tch ;base of cpm console process┆
0x0c0460…0c0480             6f 72 0d 0a 62 64 6f 73 09 65 71 75 09 38 30 36 68 2b 63 70 6d 62 09 3b 62 61 73 69 63 20 64 6f   ┆or  bdos equ 806h+cpmb ;basic do┆
0x0c0480…0c04a0             73 20 28 72 65 73 69 64 65 6e 74 20 70 6f 72 74 69 6f 6e 29 0d 0a 63 70 6d 6c 09 65 71 75 09 24   ┆s (resident portion)  cpml equ $┆
0x0c04a0…0c04c0             2d 63 70 6d 62 09 3b 6c 65 6e 67 74 68 20 28 69 6e 20 62 79 74 65 73 29 20 6f 66 20 63 70 6d 20   ┆-cpmb ;length (in bytes) of cpm ┆
0x0c04c0…0c04e0             73 79 73 74 65 6d 0d 0a 6e 73 65 63 74 73 09 65 71 75 09 63 70 6d 6c 2f 31 32 38 09 3b 6e 75 6d   ┆system  nsects equ cpml/128 ;num┆
0x0c04e0…0c0500             62 65 72 20 6f 66 20 73 65 63 74 6f 72 73 20 74 6f 20 6c 6f 61 64 0d 0a 6f 66 66 73 65 74 09 65   ┆ber of sectors to load  offset e┆
0x0c0500…0c0520             71 75 09 32 09 3b 6e 75 6d 62 65 72 20 6f 66 20 64 69 73 6b 20 74 72 61 63 6b 73 20 75 73 65 64   ┆qu 2 ;number of disk tracks used┆
0x0c0520…0c0540             20 62 79 20 63 70 2f 6d 0d 0a 63 64 69 73 6b 09 65 71 75 09 30 30 30 34 68 09 3b 61 64 64 72 65   ┆ by cp/m  cdisk equ 0004h ;addre┆
0x0c0540…0c0560             73 73 20 6f 66 20 6c 61 73 74 20 6c 6f 67 67 65 64 20 64 69 73 6b 20 6f 6e 20 77 61 72 6d 20 73   ┆ss of last logged disk on warm s┆
0x0c0560…0c0580             74 61 72 74 0d 0a 62 75 66 66 09 65 71 75 09 30 30 38 30 68 09 3b 64 65 66 61 75 6c 74 20 62 75   ┆tart  buff equ 0080h ;default bu┆
0x0c0580…0c05a0             66 66 65 72 20 61 64 64 72 65 73 73 0d 0a 72 65 74 72 79 09 65 71 75 09 31 30 09 3b 6d 61 78 20   ┆ffer address  retry equ 10 ;max ┆
0x0c05a0…0c05c0             72 65 74 72 69 65 73 20 6f 6e 20 64 69 73 6b 20 69 2f 6f 20 62 65 66 6f 72 65 20 65 72 72 6f 72   ┆retries on disk i/o before error┆
0x0c05c0…0c05e0             0d 0a 3b 0d 0a 3b 09 70 65 72 66 6f 72 6d 20 66 6f 6c 6c 6f 77 69 6e 67 20 66 75 6e 63 74 69 6f   ┆  ;  ; perform following functio┆
0x0c05e0…0c0600             6e 73 0d 0a 3b 09 62 6f 6f 74 09 63 6f 6c 64 20 73 74 61 72 74 0d 0a 3b 09 77 62 6f 6f 74 09 77   ┆ns  ; boot cold start  ; wboot w┆
0x0c0600…0c0620 (51, 0, 10) 20 61 6c 74 65 72 65 64 20 66 6f 72 20 61 6e 79 20 73 79 73 74 65 6d 20 77 68 69 63 68 20 64 69   ┆ altered for any system which di┆
0x0c0620…0c0640             66 66 65 72 73 20 66 72 6f 6d 20 74 68 65 20 69 6e 74 65 6c 20 6d 64 73 2e 0d 0a 3b 0d 0a 3b 09   ┆ffers from the intel mds.  ;  ; ┆
0x0c0640…0c0660             74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 64 65 20 61 73 73 75 6d 65 73 20 74 68 65 20 6d   ┆the following code assumes the m┆
0x0c0660…0c0680             64 73 20 6d 6f 6e 69 74 6f 72 20 65 78 69 73 74 73 20 61 74 20 30 66 38 30 30 68 0d 0a 3b 09 61   ┆ds monitor exists at 0f800h  ; a┆
0x0c0680…0c06a0             6e 64 20 75 73 65 73 20 74 68 65 20 69 2f 6f 20 73 75 62 72 6f 75 74 69 6e 65 73 20 77 69 74 68   ┆nd uses the i/o subroutines with┆
0x0c06a0…0c06c0             69 6e 20 74 68 65 20 6d 6f 6e 69 74 6f 72 0d 0a 3b 0d 0a 3b 09 77 65 20 61 6c 73 6f 20 61 73 73   ┆in the monitor  ;  ; we also ass┆
0x0c06c0…0c06e0             75 6d 65 20 74 68 65 20 6d 64 73 20 73 79 73 74 65 6d 20 68 61 73 20 66 6f 75 72 20 64 69 73 6b   ┆ume the mds system has four disk┆
0x0c06e0…0c0700             20 64 72 69 76 65 73 0d 0a 72 65 76 72 74 09 65 71 75 09 30 66 64 68 09 3b 69 6e 74 65 72 72 75   ┆ drives  revrt equ 0fdh ;interru┆
0x0c0700…0c0720             70 74 20 72 65 76 65 72 74 20 70 6f 72 74 0d 0a 69 6e 74 63 09 65 71 75 09 30 66 63 68 09 3b 69   ┆pt revert port  intc equ 0fch ;i┆
0x0c0720…0c0740             6e 74 65 72 72 75 70 74 20 6d 61 73 6b 20 70 6f 72 74 0d 0a 69 63 6f 6e 09 65 71 75 09 30 66 33   ┆nterrupt mask port  icon equ 0f3┆
0x0c0740…0c0760             68 09 3b 69 6e 74 65 72 72 75 70 74 20 63 6f 6e 74 72 6f 6c 20 70 6f 72 74 0d 0a 69 6e 74 65 09   ┆h ;interrupt control port  inte ┆
0x0c0760…0c0780             65 71 75 09 30 31 31 31 24 31 31 31 30 62 09 3b 65 6e 61 62 6c 65 20 72 73 74 20 30 28 77 61 72   ┆equ 0111$1110b ;enable rst 0(war┆
0x0c0780…0c07a0             6d 20 62 6f 6f 74 29 2c 20 72 73 74 20 37 20 28 6d 6f 6e 69 74 6f 72 29 0d 0a 3b 0d 0a 3b 09 6d   ┆m boot), rst 7 (monitor)  ;  ; m┆
0x0c07a0…0c07c0             64 73 20 6d 6f 6e 69 74 6f 72 20 65 71 75 61 74 65 73 0d 0a 6d 6f 6e 38 30 09 65 71 75 09 30 66   ┆ds monitor equates  mon80 equ 0f┆
0x0c07c0…0c07e0             38 30 30 68 09 3b 6d 64 73 20 6d 6f 6e 69 74 6f 72 0d 0a 72 6d 6f 6e 38 30 09 65 71 75 09 30 66   ┆800h ;mds monitor  rmon80 equ 0f┆
0x0c07e0…0c0800             66 30 66 68 09 3b 72 65 73 74 61 72 74 20 6d 6f 6e 38 30 20 28 62 6f 6f 74 20 65 72 72 6f 72 29   ┆f0fh ;restart mon80 (boot error)┆
0x0c0800…0c0820 (51, 0, 11) 64 6d 61 20 61 64 64 72 65 73 73 20 74 6f 20 73 74 61 72 74 20 6f 66 20 64 69 73 6b 20 73 79 73   ┆dma address to start of disk sys┆
0x0c0820…0c0840             74 65 6d 0d 0a 09 63 61 6c 6c 09 73 65 74 64 6d 61 0d 0a 09 6d 76 69 09 63 2c 30 09 3b 62 6f 6f   ┆tem   call setdma   mvi c,0 ;boo┆
0x0c0840…0c0860             74 20 66 72 6f 6d 20 64 72 69 76 65 20 30 0d 0a 09 63 61 6c 6c 09 73 65 6c 64 73 6b 0d 0a 09 6d   ┆t from drive 0   call seldsk   m┆
0x0c0860…0c0880             76 69 09 63 2c 30 0d 0a 09 63 61 6c 6c 09 73 65 74 74 72 6b 09 3b 73 74 61 72 74 20 77 69 74 68   ┆vi c,0   call settrk ;start with┆
0x0c0880…0c08a0             20 74 72 61 63 6b 20 30 0d 0a 09 6d 76 69 09 63 2c 32 09 3b 73 74 61 72 74 20 72 65 61 64 69 6e   ┆ track 0   mvi c,2 ;start readin┆
0x0c08a0…0c08c0             67 20 73 65 63 74 6f 72 20 32 0d 0a 09 63 61 6c 6c 09 73 65 74 73 65 63 0d 0a 3b 0d 0a 3b 09 72   ┆g sector 2   call setsec  ;  ; r┆
0x0c08c0…0c08e0             65 61 64 20 73 65 63 74 6f 72 73 2c 20 63 6f 75 6e 74 20 6e 73 65 63 74 73 20 74 6f 20 7a 65 72   ┆ead sectors, count nsects to zer┆
0x0c08e0…0c0900             6f 0d 0a 09 70 6f 70 09 62 09 3b 31 30 2d 65 72 72 6f 72 20 63 6f 75 6e 74 0d 0a 09 6d 76 69 09   ┆o   pop b ;10-error count   mvi ┆
0x0c0900…0c0920             62 2c 6e 73 65 63 74 73 0d 0a 72 64 73 65 63 3a 09 3b 72 65 61 64 20 6e 65 78 74 20 73 65 63 74   ┆b,nsects  rdsec: ;read next sect┆
0x0c0920…0c0940             6f 72 0d 0a 09 70 75 73 68 09 62 09 3b 73 61 76 65 20 73 65 63 74 6f 72 20 63 6f 75 6e 74 0d 0a   ┆or   push b ;save sector count  ┆
0x0c0940…0c0960             09 63 61 6c 6c 09 72 65 61 64 0d 0a 09 6a 6e 7a 09 62 6f 6f 74 65 72 72 09 3b 72 65 74 72 79 20   ┆ call read   jnz booterr ;retry ┆
0x0c0960…0c0980             69 66 20 65 72 72 6f 72 73 20 6f 63 63 75 72 0d 0a 09 6c 68 6c 64 09 69 6f 64 09 3b 69 6e 63 72   ┆if errors occur   lhld iod ;incr┆
0x0c0980…0c09a0             65 6d 65 6e 74 20 64 6d 61 20 61 64 64 72 65 73 73 0d 0a 09 6c 78 69 09 64 2c 31 32 38 09 3b 73   ┆ement dma address   lxi d,128 ;s┆
0x0c09a0…0c09c0             65 63 74 6f 72 20 73 69 7a 65 0d 0a 09 64 61 64 09 64 09 3b 69 6e 63 72 65 6d 65 6e 74 65 64 20   ┆ector size   dad d ;incremented ┆
0x0c09c0…0c09e0             64 6d 61 20 61 64 64 72 65 73 73 20 69 6e 20 68 6c 0d 0a 09 6d 6f 76 09 62 2c 68 0d 0a 09 6d 6f   ┆dma address in hl   mov b,h   mo┆
0x0c09e0…0c0a00             76 09 63 2c 6c 09 3b 72 65 61 64 79 20 66 6f 72 20 63 61 6c 6c 20 74 6f 20 73 65 74 20 64 6d 61   ┆v c,l ;ready for call to set dma┆
0x0c0a00…0c0a20 (51, 0, 12) 72 61 63 74 65 72 20 74 6f 20 72 65 67 2d 61 0d 0a 09 63 61 6c 6c 09 63 69 0d 0a 09 61 6e 69 09   ┆racter to reg-a   call ci   ani ┆
0x0c0a20…0c0a40             37 66 68 09 3b 72 65 6d 6f 76 65 20 70 61 72 69 74 79 20 62 69 74 0d 0a 09 72 65 74 0d 0a 3b 0d   ┆7fh ;remove parity bit   ret  ; ┆
0x0c0a40…0c0a60             0a 63 6f 6e 6f 75 74 3a 09 3b 63 6f 6e 73 6f 6c 65 20 63 68 61 72 61 63 74 65 72 20 66 72 6f 6d   ┆ conout: ;console character from┆
0x0c0a60…0c0a80             20 63 20 74 6f 20 63 6f 6e 73 6f 6c 65 20 6f 75 74 0d 0a 09 6a 6d 70 09 63 6f 0d 0a 3b 0d 0a 6c   ┆ c to console out   jmp co  ;  l┆
0x0c0a80…0c0aa0             69 73 74 3a 09 3b 6c 69 73 74 20 64 65 76 69 63 65 20 6f 75 74 0d 0a 3b 09 28 65 78 61 63 74 6c   ┆ist: ;list device out  ; (exactl┆
0x0c0aa0…0c0ac0             79 20 74 68 65 20 73 61 6d 65 20 61 73 20 6d 64 73 20 63 61 6c 6c 29 0d 0a 09 6a 6d 70 09 6c 6f   ┆y the same as mds call)   jmp lo┆
0x0c0ac0…0c0ae0             0d 0a 3b 0d 0a 6c 69 73 74 73 74 3a 0d 0a 09 3b 72 65 74 75 72 6e 20 6c 69 73 74 20 73 74 61 74   ┆  ;  listst:   ;return list stat┆
0x0c0ae0…0c0b00             75 73 0d 0a 09 78 72 61 09 61 0d 0a 09 72 65 74 09 09 3b 61 6c 77 61 79 73 20 6e 6f 74 20 72 65   ┆us   xra a   ret  ;always not re┆
0x0c0b00…0c0b20             61 64 79 0d 0a 3b 0d 0a 70 75 6e 63 68 3a 09 3b 70 75 6e 63 68 20 64 65 76 69 63 65 20 6f 75 74   ┆ady  ;  punch: ;punch device out┆
0x0c0b20…0c0b40             0d 0a 3b 09 28 65 78 61 63 74 6c 79 20 74 68 65 20 73 61 6d 65 20 61 73 20 6d 64 73 20 63 61 6c   ┆  ; (exactly the same as mds cal┆
0x0c0b40…0c0b60             6c 29 0d 0a 09 6a 6d 70 09 70 6f 0d 0a 3b 0d 0a 72 65 61 64 65 72 3a 09 3b 72 65 61 64 65 72 20   ┆l)   jmp po  ;  reader: ;reader ┆
0x0c0b60…0c0b80             63 68 61 72 61 63 74 65 72 20 69 6e 20 74 6f 20 72 65 67 2d 61 0d 0a 3b 09 28 65 78 61 63 74 6c   ┆character in to reg-a  ; (exactl┆
0x0c0b80…0c0ba0             79 20 74 68 65 20 73 61 6d 65 20 61 73 20 6d 64 73 20 63 61 6c 6c 29 0d 0a 09 6a 6d 70 09 72 69   ┆y the same as mds call)   jmp ri┆
0x0c0ba0…0c0bc0             0d 0a 3b 0d 0a 68 6f 6d 65 3a 09 3b 6d 6f 76 65 20 74 6f 20 68 6f 6d 65 20 70 6f 73 69 74 69 6f   ┆  ;  home: ;move to home positio┆
0x0c0bc0…0c0be0             6e 0d 0a 3b 09 74 72 65 61 74 20 61 73 20 74 72 61 63 6b 20 30 30 20 73 65 65 6b 0d 0a 09 6d 76   ┆n  ; treat as track 00 seek   mv┆
0x0c0be0…0c0c00             69 09 63 2c 30 0d 0a 09 6a 6d 70 09 73 65 74 74 72 6b 0d 0a 3b 0d 0a 73 65 6c 64 73 6b 3a 09 3b   ┆i c,0   jmp settrk  ;  seldsk: ;┆
0x0c0c00…0c0c20 (51, 0, 13) 61 72 6d 20 73 74 61 72 74 20 28 73 61 76 65 20 69 2f 6f 20 62 79 74 65 29 0d 0a 3b 09 28 62 6f   ┆arm start (save i/o byte)  ; (bo┆
0x0c0c20…0c0c40             6f 74 20 61 6e 64 20 77 62 6f 6f 74 20 61 72 65 20 74 68 65 20 73 61 6d 65 20 66 6f 72 20 6d 64   ┆ot and wboot are the same for md┆
0x0c0c40…0c0c60             73 29 0d 0a 3b 09 63 6f 6e 73 74 09 63 6f 6e 73 6f 6c 65 20 73 74 61 74 75 73 0d 0a 3b 09 09 72   ┆s)  ; const console status  ;  r┆
0x0c0c60…0c0c80             65 67 2d 61 20 3d 20 30 30 20 69 66 20 6e 6f 20 63 68 61 72 61 63 74 65 72 20 72 65 61 64 79 0d   ┆eg-a = 00 if no character ready ┆
0x0c0c80…0c0ca0             0a 3b 09 09 72 65 67 2d 61 20 3d 20 66 66 20 69 66 20 63 68 61 72 61 63 74 65 72 20 72 65 61 64   ┆ ;  reg-a = ff if character read┆
0x0c0ca0…0c0cc0             79 0d 0a 3b 09 63 6f 6e 69 6e 09 63 6f 6e 73 6f 6c 65 20 63 68 61 72 61 63 74 65 72 20 69 6e 20   ┆y  ; conin console character in ┆
0x0c0cc0…0c0ce0             28 72 65 73 75 6c 74 20 69 6e 20 72 65 67 2d 61 29 0d 0a 3b 09 63 6f 6e 6f 75 74 09 63 6f 6e 73   ┆(result in reg-a)  ; conout cons┆
0x0c0ce0…0c0d00             6f 6c 65 20 63 68 61 72 61 63 74 65 72 20 6f 75 74 20 28 63 68 61 72 20 69 6e 20 72 65 67 2d 63   ┆ole character out (char in reg-c┆
0x0c0d00…0c0d20             29 0d 0a 3b 09 6c 69 73 74 09 6c 69 73 74 20 6f 75 74 20 28 63 68 61 72 20 69 6e 20 72 65 67 2d   ┆)  ; list list out (char in reg-┆
0x0c0d20…0c0d40             63 29 0d 0a 3b 09 70 75 6e 63 68 09 70 75 6e 63 68 20 6f 75 74 20 28 63 68 61 72 20 69 6e 20 72   ┆c)  ; punch punch out (char in r┆
0x0c0d40…0c0d60             65 67 2d 63 29 0d 0a 3b 09 72 65 61 64 65 72 09 70 61 70 65 72 20 74 61 70 65 20 72 65 61 64 65   ┆eg-c)  ; reader paper tape reade┆
0x0c0d60…0c0d80             72 20 69 6e 20 28 72 65 73 75 6c 74 20 74 6f 20 72 65 67 2d 61 29 0d 0a 3b 09 68 6f 6d 65 09 6d   ┆r in (result to reg-a)  ; home m┆
0x0c0d80…0c0da0             6f 76 65 20 74 6f 20 74 72 61 63 6b 20 30 30 0d 0a 3b 0d 0a 3b 09 28 74 68 65 20 66 6f 6c 6c 6f   ┆ove to track 00  ;  ; (the follo┆
0x0c0da0…0c0dc0             77 69 6e 67 20 63 61 6c 6c 73 20 73 65 74 2d 75 70 20 74 68 65 20 69 6f 20 70 61 72 61 6d 65 74   ┆wing calls set-up the io paramet┆
0x0c0dc0…0c0de0             65 72 20 62 6c 6f 63 6b 20 66 6f 72 20 74 68 65 0d 0a 3b 09 6d 64 73 2c 20 77 68 69 63 68 20 69   ┆er block for the  ; mds, which i┆
0x0c0de0…0c0e00             73 20 75 73 65 64 20 74 6f 20 70 65 72 66 6f 72 6d 20 73 75 62 73 65 71 75 65 6e 74 20 72 65 61   ┆s used to perform subsequent rea┆
0x0c0e00…0c0e20 (51, 0, 14) 0d 0a 63 69 09 65 71 75 09 30 66 38 30 33 68 09 3b 63 6f 6e 73 6f 6c 65 20 63 68 61 72 61 63 74   ┆  ci equ 0f803h ;console charact┆
0x0c0e20…0c0e40             65 72 20 74 6f 20 72 65 67 2d 61 0d 0a 72 69 09 65 71 75 09 30 66 38 30 36 68 09 3b 72 65 61 64   ┆er to reg-a  ri equ 0f806h ;read┆
0x0c0e40…0c0e60             65 72 20 69 6e 20 74 6f 20 72 65 67 2d 61 0d 0a 63 6f 09 65 71 75 09 30 66 38 30 39 68 09 3b 63   ┆er in to reg-a  co equ 0f809h ;c┆
0x0c0e60…0c0e80             6f 6e 73 6f 6c 65 20 63 68 61 72 20 66 72 6f 6d 20 63 20 74 6f 20 63 6f 6e 73 6f 6c 65 20 6f 75   ┆onsole char from c to console ou┆
0x0c0e80…0c0ea0             74 0d 0a 70 6f 09 65 71 75 09 30 66 38 30 63 68 09 3b 70 75 6e 63 68 20 63 68 61 72 20 66 72 6f   ┆t  po equ 0f80ch ;punch char fro┆
0x0c0ea0…0c0ec0             6d 20 63 20 74 6f 20 70 75 6e 63 68 20 64 65 76 69 63 65 0d 0a 6c 6f 09 65 71 75 09 30 66 38 30   ┆m c to punch device  lo equ 0f80┆
0x0c0ec0…0c0ee0             66 68 09 3b 6c 69 73 74 20 66 72 6f 6d 20 63 20 74 6f 20 6c 69 73 74 20 64 65 76 69 63 65 0d 0a   ┆fh ;list from c to list device  ┆
0x0c0ee0…0c0f00             63 73 74 73 09 65 71 75 09 30 66 38 31 32 68 09 3b 63 6f 6e 73 6f 6c 65 20 73 74 61 74 75 73 20   ┆csts equ 0f812h ;console status ┆
0x0c0f00…0c0f20             30 30 2f 66 66 20 74 6f 20 72 65 67 69 73 74 65 72 20 61 0d 0a 3b 0d 0a 3b 09 64 69 73 6b 20 70   ┆00/ff to register a  ;  ; disk p┆
0x0c0f20…0c0f40             6f 72 74 73 20 61 6e 64 20 63 6f 6d 6d 61 6e 64 73 0d 0a 62 61 73 65 09 65 71 75 09 37 38 68 09   ┆orts and commands  base equ 78h ┆
0x0c0f40…0c0f60             3b 62 61 73 65 20 6f 66 20 64 69 73 6b 20 63 6f 6d 6d 61 6e 64 20 69 6f 20 70 6f 72 74 73 0d 0a   ┆;base of disk command io ports  ┆
0x0c0f60…0c0f80             64 73 74 61 74 09 65 71 75 09 62 61 73 65 09 3b 64 69 73 6b 20 73 74 61 74 75 73 20 28 69 6e 70   ┆dstat equ base ;disk status (inp┆
0x0c0f80…0c0fa0             75 74 29 0d 0a 72 74 79 70 65 09 65 71 75 09 62 61 73 65 2b 31 09 3b 72 65 73 75 6c 74 20 74 79   ┆ut)  rtype equ base+1 ;result ty┆
0x0c0fa0…0c0fc0             70 65 20 28 69 6e 70 75 74 29 0d 0a 72 62 79 74 65 09 65 71 75 09 62 61 73 65 2b 33 09 3b 72 65   ┆pe (input)  rbyte equ base+3 ;re┆
0x0c0fc0…0c0fe0             73 75 6c 74 20 62 79 74 65 20 28 69 6e 70 75 74 29 0d 0a 3b 0d 0a 69 6c 6f 77 09 65 71 75 09 62   ┆sult byte (input)  ;  ilow equ b┆
0x0c0fe0…0c1000             61 73 65 2b 31 09 3b 69 6f 70 62 20 6c 6f 77 20 61 64 64 72 65 73 73 20 28 6f 75 74 70 75 74 29   ┆ase+1 ;iopb low address (output)┆
0x0c1000…0c1020 (51, 0, 15) 0d 0a 09 63 61 6c 6c 09 73 65 74 64 6d 61 0d 0a 09 6c 64 61 09 69 6f 73 09 3b 73 65 63 74 6f 72   ┆   call setdma   lda ios ;sector┆
0x0c1020…0c1040             20 6e 75 6d 62 65 72 20 6a 75 73 74 20 72 65 61 64 0d 0a 09 63 70 69 09 32 36 09 3b 72 65 61 64   ┆ number just read   cpi 26 ;read┆
0x0c1040…0c1060             20 6c 61 73 74 20 73 65 63 74 6f 72 3f 0d 0a 09 6a 63 09 72 64 31 0d 0a 3b 09 6d 75 73 74 20 62   ┆ last sector?   jc rd1  ; must b┆
0x0c1060…0c1080             65 20 73 65 63 74 6f 72 20 32 36 2c 20 7a 65 72 6f 20 61 6e 64 20 67 6f 20 74 6f 20 6e 65 78 74   ┆e sector 26, zero and go to next┆
0x0c1080…0c10a0             20 74 72 61 63 6b 0d 0a 09 6c 64 61 09 69 6f 74 09 3b 67 65 74 20 74 72 61 63 6b 20 74 6f 20 72   ┆ track   lda iot ;get track to r┆
0x0c10a0…0c10c0             65 67 69 73 74 65 72 20 61 0d 0a 09 69 6e 72 09 61 0d 0a 09 6d 6f 76 09 63 2c 61 09 3b 72 65 61   ┆egister a   inr a   mov c,a ;rea┆
0x0c10c0…0c10e0             64 79 20 66 6f 72 20 63 61 6c 6c 0d 0a 09 63 61 6c 6c 09 73 65 74 74 72 6b 0d 0a 09 78 72 61 09   ┆dy for call   call settrk   xra ┆
0x0c10e0…0c1100             61 09 3b 63 6c 65 61 72 20 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 0d 0a 72 64 31 3a 09 69 6e 72   ┆a ;clear sector number  rd1: inr┆
0x0c1100…0c1120             09 61 09 3b 74 6f 20 6e 65 78 74 20 73 65 63 74 6f 72 0d 0a 09 6d 6f 76 09 63 2c 61 09 3b 72 65   ┆ a ;to next sector   mov c,a ;re┆
0x0c1120…0c1140             61 64 79 20 66 6f 72 20 63 61 6c 6c 0d 0a 09 63 61 6c 6c 09 73 65 74 73 65 63 0d 0a 09 70 6f 70   ┆ady for call   call setsec   pop┆
0x0c1140…0c1160             09 62 09 3b 72 65 63 61 6c 6c 20 73 65 63 74 6f 72 20 63 6f 75 6e 74 0d 0a 09 64 63 72 09 62 09   ┆ b ;recall sector count   dcr b ┆
0x0c1160…0c1180             3b 64 6f 6e 65 3f 0d 0a 09 6a 6e 7a 09 72 64 73 65 63 0d 0a 3b 0d 0a 3b 09 64 6f 6e 65 20 77 69   ┆;done?   jnz rdsec  ;  ; done wi┆
0x0c1180…0c11a0             74 68 20 74 68 65 20 6c 6f 61 64 2c 20 72 65 73 65 74 20 64 65 66 61 75 6c 74 20 62 75 66 66 65   ┆th the load, reset default buffe┆
0x0c11a0…0c11c0             72 20 61 64 64 72 65 73 73 0d 0a 67 6f 63 70 6d 3a 09 3b 28 65 6e 74 65 72 20 68 65 72 65 20 66   ┆r address  gocpm: ;(enter here f┆
0x0c11c0…0c11e0             72 6f 6d 20 63 6f 6c 64 20 73 74 61 72 74 20 62 6f 6f 74 29 0d 0a 3b 09 65 6e 61 62 6c 65 20 72   ┆rom cold start boot)  ; enable r┆
0x0c11e0…0c1200             73 74 30 20 61 6e 64 20 72 73 74 37 0d 0a 09 64 69 0d 0a 09 6d 76 69 09 61 2c 31 32 68 09 3b 69   ┆st0 and rst7   di   mvi a,12h ;i┆
0x0c1200…0c1220 (51, 1, 1)  73 65 6c 65 63 74 20 64 69 73 6b 20 67 69 76 65 6e 20 62 79 20 72 65 67 69 73 74 65 72 20 63 0d   ┆select disk given by register c ┆
0x0c1220…0c1240             0a 09 6c 78 69 09 68 2c 30 30 30 30 68 09 3b 72 65 74 75 72 6e 20 30 30 30 30 20 69 66 20 65 72   ┆  lxi h,0000h ;return 0000 if er┆
0x0c1240…0c1260             72 6f 72 0d 0a 09 6d 6f 76 09 61 2c 63 0d 0a 09 63 70 69 09 6e 64 69 73 6b 73 09 3b 74 6f 6f 20   ┆ror   mov a,c   cpi ndisks ;too ┆
0x0c1260…0c1280             6c 61 72 67 65 3f 0d 0a 09 72 6e 63 09 09 3b 6c 65 61 76 65 20 48 4c 20 3d 20 30 30 30 30 0d 0a   ┆large?   rnc  ;leave HL = 0000  ┆
0x0c1280…0c12a0             3b 0d 0a 09 61 6e 69 09 31 30 62 09 3b 30 30 20 30 30 20 66 6f 72 20 64 72 69 76 65 20 30 2c 31   ┆;   ani 10b ;00 00 for drive 0,1┆
0x0c12a0…0c12c0             20 61 6e 64 20 31 30 20 31 30 20 66 6f 72 20 64 72 69 76 65 20 32 2c 33 0d 0a 09 73 74 61 09 64   ┆ and 10 10 for drive 2,3   sta d┆
0x0c12c0…0c12e0             62 61 6e 6b 09 3b 74 6f 20 73 65 6c 65 63 74 20 64 72 69 76 65 20 62 61 6e 6b 0d 0a 09 6d 6f 76   ┆bank ;to select drive bank   mov┆
0x0c12e0…0c1300             09 61 2c 63 09 3b 30 30 2c 20 30 31 2c 20 31 30 2c 20 31 31 0d 0a 09 61 6e 69 09 31 62 09 3b 6d   ┆ a,c ;00, 01, 10, 11   ani 1b ;m┆
0x0c1300…0c1320             64 73 20 68 61 73 20 30 2c 31 20 61 74 20 37 38 2c 20 32 2c 33 20 61 74 20 38 38 0d 0a 09 6f 72   ┆ds has 0,1 at 78, 2,3 at 88   or┆
0x0c1320…0c1340             61 09 61 09 3b 72 65 73 75 6c 74 20 30 30 3f 0d 0a 09 6a 7a 09 73 65 74 64 72 69 76 65 0d 0a 09   ┆a a ;result 00?   jz setdrive   ┆
0x0c1340…0c1360             6d 76 69 09 61 2c 30 30 31 31 30 30 30 30 62 09 3b 73 65 6c 65 63 74 73 20 64 72 69 76 65 20 31   ┆mvi a,00110000b ;selects drive 1┆
0x0c1360…0c1380             20 69 6e 20 62 61 6e 6b 0d 0a 73 65 74 64 72 69 76 65 3a 0d 0a 09 6d 6f 76 09 62 2c 61 09 3b 73   ┆ in bank  setdrive:   mov b,a ;s┆
0x0c1380…0c13a0             61 76 65 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 6c 78 69 09 68 2c 69 6f 66 09 3b 69 6f   ┆ave the function   lxi h,iof ;io┆
0x0c13a0…0c13c0             20 66 75 6e 63 74 69 6f 6e 0d 0a 09 6d 6f 76 09 61 2c 6d 0d 0a 09 61 6e 69 09 31 31 30 30 31 31   ┆ function   mov a,m   ani 110011┆
0x0c13c0…0c13e0             31 31 62 09 3b 6d 61 73 6b 20 6f 75 74 20 64 69 73 6b 20 6e 75 6d 62 65 72 0d 0a 09 6f 72 61 09   ┆11b ;mask out disk number   ora ┆
0x0c13e0…0c1400             62 09 3b 6d 61 73 6b 20 69 6e 20 6e 65 77 20 64 69 73 6b 20 6e 75 6d 62 65 72 0d 0a 09 6d 6f 76   ┆b ;mask in new disk number   mov┆
0x0c1400…0c1420 (51, 1, 2)  74 0d 0a 09 6c 78 69 09 68 2c 69 6f 73 09 09 3b 61 64 64 72 65 73 73 20 74 68 65 20 73 65 63 74   ┆t   lxi h,ios  ;address the sect┆
0x0c1420…0c1440             6f 72 20 73 65 6c 65 63 74 20 62 79 74 65 0d 0a 09 6f 72 61 09 6d 09 09 3b 73 65 6c 65 63 74 20   ┆or select byte   ora m  ;select ┆
0x0c1440…0c1460             70 72 6f 70 65 72 20 64 69 73 6b 20 62 61 6e 6b 0d 0a 09 6d 6f 76 09 6d 2c 61 09 09 3b 73 65 74   ┆proper disk bank   mov m,a  ;set┆
0x0c1460…0c1480             20 64 69 73 6b 20 73 65 6c 65 63 74 20 62 69 74 20 6f 6e 2f 6f 66 66 0d 0a 09 72 65 74 0d 0a 3b   ┆ disk select bit on/off   ret  ;┆
0x0c1480…0c14a0             0d 0a 77 61 69 74 69 6f 3a 0d 0a 09 6d 76 69 09 63 2c 72 65 74 72 79 09 3b 6d 61 78 20 72 65 74   ┆  waitio:   mvi c,retry ;max ret┆
0x0c14a0…0c14c0             72 69 65 73 20 62 65 66 6f 72 65 20 70 65 72 6d 20 65 72 72 6f 72 0d 0a 72 65 77 61 69 74 3a 0d   ┆ries before perm error  rewait: ┆
0x0c14c0…0c14e0             0a 3b 09 73 74 61 72 74 20 74 68 65 20 69 2f 6f 20 66 75 6e 63 74 69 6f 6e 20 61 6e 64 20 77 61   ┆ ; start the i/o function and wa┆
0x0c14e0…0c1500             69 74 20 66 6f 72 20 63 6f 6d 70 6c 65 74 69 6f 6e 0d 0a 09 63 61 6c 6c 09 69 6e 74 79 70 65 09   ┆it for completion   call intype ┆
0x0c1500…0c1520             3b 69 6e 20 72 74 79 70 65 0d 0a 09 63 61 6c 6c 09 69 6e 62 79 74 65 09 3b 63 6c 65 61 72 73 20   ┆;in rtype   call inbyte ;clears ┆
0x0c1520…0c1540             74 68 65 20 63 6f 6e 74 72 6f 6c 6c 65 72 0d 0a 3b 0d 0a 09 6c 64 61 09 64 62 61 6e 6b 09 09 3b   ┆the controller  ;   lda dbank  ;┆
0x0c1540…0c1560             73 65 74 20 62 61 6e 6b 20 66 6c 61 67 73 0d 0a 09 6f 72 61 09 61 09 09 3b 7a 65 72 6f 20 69 66   ┆set bank flags   ora a  ;zero if┆
0x0c1560…0c1580             20 64 72 69 76 65 20 30 2c 31 20 61 6e 64 20 6e 7a 20 69 66 20 32 2c 33 0d 0a 09 6d 76 69 09 61   ┆ drive 0,1 and nz if 2,3   mvi a┆
0x0c1580…0c15a0             2c 69 6f 70 62 20 61 6e 64 20 30 66 66 68 09 3b 6c 6f 77 20 61 64 64 72 65 73 73 20 66 6f 72 20   ┆,iopb and 0ffh ;low address for ┆
0x0c15a0…0c15c0             69 6f 70 62 0d 0a 09 6d 76 69 09 62 2c 69 6f 70 62 20 73 68 72 20 38 09 3b 68 69 67 68 20 61 64   ┆iopb   mvi b,iopb shr 8 ;high ad┆
0x0c15c0…0c15e0             64 72 65 73 73 20 66 6f 72 20 69 6f 70 62 0d 0a 09 6a 6e 7a 09 69 6f 64 72 31 09 3b 64 72 69 76   ┆dress for iopb   jnz iodr1 ;driv┆
0x0c15e0…0c1600             65 20 62 61 6e 6b 20 31 3f 0d 0a 09 6f 75 74 09 69 6c 6f 77 09 09 3b 6c 6f 77 20 61 64 64 72 65   ┆e bank 1?   out ilow  ;low addre┆
0x0c1600…0c1620 (51, 1, 3)  74 68 65 20 6e 6f 74 20 72 65 61 64 79 20 63 6f 6e 64 69 74 69 6f 6e 20 69 73 0d 0a 3b 09 74 72   ┆the not ready condition is  ; tr┆
0x0c1620…0c1640             65 61 74 65 64 20 61 73 20 61 20 73 65 70 61 72 61 74 65 20 63 6f 6e 64 69 74 69 6f 6e 20 66 6f   ┆eated as a separate condition fo┆
0x0c1640…0c1660             72 20 6c 61 74 65 72 20 69 6d 70 72 6f 76 65 6d 65 6e 74 0d 0a 74 72 79 63 6f 75 6e 74 3a 0d 0a   ┆r later improvement  trycount:  ┆
0x0c1660…0c1680             3b 09 72 65 67 69 73 74 65 72 20 63 20 63 6f 6e 74 61 69 6e 73 20 72 65 74 72 79 20 63 6f 75 6e   ┆; register c contains retry coun┆
0x0c1680…0c16a0             74 2c 20 64 65 63 72 65 6d 65 6e 74 20 27 74 69 6c 20 7a 65 72 6f 0d 0a 09 64 63 72 09 63 0d 0a   ┆t, decrement 'til zero   dcr c  ┆
0x0c16a0…0c16c0             09 6a 6e 7a 09 72 65 77 61 69 74 09 3b 66 6f 72 20 61 6e 6f 74 68 65 72 20 74 72 79 0d 0a 3b 0d   ┆ jnz rewait ;for another try  ; ┆
0x0c16c0…0c16e0             0a 3b 09 63 61 6e 6e 6f 74 20 72 65 63 6f 76 65 72 20 66 72 6f 6d 20 65 72 72 6f 72 0d 0a 09 6d   ┆ ; cannot recover from error   m┆
0x0c16e0…0c1700             76 69 09 61 2c 31 09 3b 65 72 72 6f 72 20 63 6f 64 65 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 3b 09 69   ┆vi a,1 ;error code   ret  ;  ; i┆
0x0c1700…0c1720             6e 74 79 70 65 2c 20 69 6e 62 79 74 65 2c 20 69 6e 73 74 61 74 20 72 65 61 64 20 64 72 69 76 65   ┆ntype, inbyte, instat read drive┆
0x0c1720…0c1740             20 62 61 6e 6b 20 30 30 20 6f 72 20 31 30 0d 0a 69 6e 74 79 70 65 3a 09 6c 64 61 09 64 62 61 6e   ┆ bank 00 or 10  intype: lda dban┆
0x0c1740…0c1760             6b 0d 0a 09 6f 72 61 09 61 0d 0a 09 6a 6e 7a 09 69 6e 74 79 70 31 09 3b 73 6b 69 70 20 74 6f 20   ┆k   ora a   jnz intyp1 ;skip to ┆
0x0c1760…0c1780             62 61 6e 6b 20 31 30 0d 0a 09 69 6e 09 72 74 79 70 65 0d 0a 09 72 65 74 0d 0a 69 6e 74 79 70 31   ┆bank 10   in rtype   ret  intyp1┆
0x0c1780…0c17a0             3a 09 69 6e 09 72 74 79 70 65 2b 31 30 68 09 3b 37 38 20 66 6f 72 20 30 2c 31 20 20 38 38 20 66   ┆: in rtype+10h ;78 for 0,1  88 f┆
0x0c17a0…0c17c0             6f 72 20 32 2c 33 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 69 6e 62 79 74 65 3a 09 6c 64 61 09 64 62 61   ┆or 2,3   ret  ;  inbyte: lda dba┆
0x0c17c0…0c17e0             6e 6b 0d 0a 09 6f 72 61 09 61 0d 0a 09 6a 6e 7a 09 69 6e 62 79 74 31 0d 0a 09 69 6e 09 72 62 79   ┆nk   ora a   jnz inbyt1   in rby┆
0x0c17e0…0c1800             74 65 0d 0a 09 72 65 74 0d 0a 69 6e 62 79 74 31 3a 09 69 6e 09 72 62 79 74 65 2b 31 30 68 0d 0a   ┆te   ret  inbyt1: in rbyte+10h  ┆
0x0c1800…0c1820 (51, 1, 4)  0a 3b 09 09 72 65 67 2d 61 20 3d 20 30 30 20 69 66 20 6e 6f 20 63 68 61 72 61 63 74 65 72 20 72   ┆ ;  reg-a = 00 if no character r┆
0x0c1820…0c1840             65 61 64 79 0d 0a 3b 09 09 72 65 67 2d 61 20 3d 20 66 66 20 69 66 20 63 68 61 72 61 63 74 65 72   ┆eady  ;  reg-a = ff if character┆
0x0c1840…0c1860             20 72 65 61 64 79 0d 0a 3b 09 63 6f 6e 69 6e 09 63 6f 6e 73 6f 6c 65 20 63 68 61 72 61 63 74 65   ┆ ready  ; conin console characte┆
0x0c1860…0c1880             72 20 69 6e 20 28 72 65 73 75 6c 74 20 69 6e 20 72 65 67 2d 61 29 0d 0a 3b 09 63 6f 6e 6f 75 74   ┆r in (result in reg-a)  ; conout┆
0x0c1880…0c18a0             09 63 6f 6e 73 6f 6c 65 20 63 68 61 72 61 63 74 65 72 20 6f 75 74 20 28 63 68 61 72 20 69 6e 20   ┆ console character out (char in ┆
0x0c18a0…0c18c0             72 65 67 2d 63 29 0d 0a 3b 09 6c 69 73 74 09 6c 69 73 74 20 6f 75 74 20 28 63 68 61 72 20 69 6e   ┆reg-c)  ; list list out (char in┆
0x0c18c0…0c18e0             20 72 65 67 2d 63 29 0d 0a 3b 09 70 75 6e 63 68 09 70 75 6e 63 68 20 6f 75 74 20 28 63 68 61 72   ┆ reg-c)  ; punch punch out (char┆
0x0c18e0…0c1900             20 69 6e 20 72 65 67 2d 63 29 0d 0a 3b 09 72 65 61 64 65 72 09 70 61 70 65 72 20 74 61 70 65 20   ┆ in reg-c)  ; reader paper tape ┆
0x0c1900…0c1920             72 65 61 64 65 72 20 69 6e 20 28 72 65 73 75 6c 74 20 74 6f 20 72 65 67 2d 61 29 0d 0a 3b 09 68   ┆reader in (result to reg-a)  ; h┆
0x0c1920…0c1940             6f 6d 65 09 6d 6f 76 65 20 74 6f 20 74 72 61 63 6b 20 30 30 0d 0a 3b 0d 0a 3b 09 28 74 68 65 20   ┆ome move to track 00  ;  ; (the ┆
0x0c1940…0c1960             66 6f 6c 6c 6f 77 69 6e 67 20 63 61 6c 6c 73 20 73 65 74 2d 75 70 20 74 68 65 20 69 6f 20 70 61   ┆following calls set-up the io pa┆
0x0c1960…0c1980             72 61 6d 65 74 65 72 20 62 6c 6f 63 6b 20 66 6f 72 20 74 68 65 0d 0a 3b 09 6d 64 73 2c 20 77 68   ┆rameter block for the  ; mds, wh┆
0x0c1980…0c19a0             69 63 68 20 69 73 20 75 73 65 64 20 74 6f 20 70 65 72 66 6f 72 6d 20 73 75 62 73 65 71 75 65 6e   ┆ich is used to perform subsequen┆
0x0c19a0…0c19c0             74 20 72 65 61 64 73 20 61 6e 64 20 77 72 69 74 65 73 29 0d 0a 3b 09 73 65 6c 64 73 6b 09 73 65   ┆t reads and writes)  ; seldsk se┆
0x0c19c0…0c19e0             6c 65 63 74 20 64 69 73 6b 20 67 69 76 65 6e 20 62 79 20 72 65 67 2d 63 20 28 30 2c 31 2c 32 2e   ┆lect disk given by reg-c (0,1,2.┆
0x0c19e0…0c1a00             2e 2e 29 0d 0a 3b 09 73 65 74 74 72 6b 09 73 65 74 20 74 72 61 63 6b 20 61 64 64 72 65 73 73 20   ┆..)  ; settrk set track address ┆
0x0c1a00…0c1a20 (51, 1, 5)  09 6d 2c 61 09 3b 73 61 76 65 20 69 74 20 69 6e 20 69 6f 70 62 0d 0a 09 6d 6f 76 09 6c 2c 63 0d   ┆ m,a ;save it in iopb   mov l,c ┆
0x0c1a20…0c1a40             0a 09 6d 76 69 09 68 2c 30 09 3b 48 4c 3d 64 69 73 6b 20 6e 75 6d 62 65 72 0d 0a 09 64 61 64 09   ┆  mvi h,0 ;HL=disk number   dad ┆
0x0c1a40…0c1a60             68 09 3b 2a 32 0d 0a 09 64 61 64 09 68 09 3b 2a 34 0d 0a 09 64 61 64 09 68 09 3b 2a 38 0d 0a 09   ┆h ;*2   dad h ;*4   dad h ;*8   ┆
0x0c1a60…0c1a80             64 61 64 09 68 09 3b 2a 31 36 0d 0a 09 6c 78 69 09 64 2c 64 70 62 61 73 65 0d 0a 09 64 61 64 09   ┆dad h ;*16   lxi d,dpbase   dad ┆
0x0c1a80…0c1aa0             64 09 3b 48 4c 3d 64 69 73 6b 20 68 65 61 64 65 72 20 74 61 62 6c 65 20 61 64 64 72 65 73 73 0d   ┆d ;HL=disk header table address ┆
0x0c1aa0…0c1ac0             0a 09 72 65 74 0d 0a 3b 0d 0a 3b 0d 0a 73 65 74 74 72 6b 3a 09 3b 73 65 74 20 74 72 61 63 6b 20   ┆  ret  ;  ;  settrk: ;set track ┆
0x0c1ac0…0c1ae0             61 64 64 72 65 73 73 20 67 69 76 65 6e 20 62 79 20 63 0d 0a 09 6c 78 69 09 68 2c 69 6f 74 0d 0a   ┆address given by c   lxi h,iot  ┆
0x0c1ae0…0c1b00             09 6d 6f 76 09 6d 2c 63 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 73 65 74 73 65 63 3a 09 3b 73 65 74 20   ┆ mov m,c   ret  ;  setsec: ;set ┆
0x0c1b00…0c1b20             73 65 63 74 6f 72 20 6e 75 6d 62 65 72 20 67 69 76 65 6e 20 62 79 20 63 0d 0a 09 6c 78 69 09 68   ┆sector number given by c   lxi h┆
0x0c1b20…0c1b40             2c 69 6f 73 0d 0a 09 6d 6f 76 09 6d 2c 63 0d 0a 09 72 65 74 0d 0a 73 65 63 74 72 61 6e 3a 0d 0a   ┆,ios   mov m,c   ret  sectran:  ┆
0x0c1b40…0c1b60             09 09 3b 74 72 61 6e 73 6c 61 74 65 20 73 65 63 74 6f 72 20 62 63 20 75 73 69 6e 67 20 74 61 62   ┆  ;translate sector bc using tab┆
0x0c1b60…0c1b80             6c 65 20 61 74 20 64 65 0d 0a 09 6d 76 69 09 62 2c 30 09 3b 64 6f 75 62 6c 65 20 70 72 65 63 69   ┆le at de   mvi b,0 ;double preci┆
0x0c1b80…0c1ba0             73 69 6f 6e 20 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 20 69 6e 20 42 43 0d 0a 09 78 63 68 67 09   ┆sion sector number in BC   xchg ┆
0x0c1ba0…0c1bc0             09 3b 74 72 61 6e 73 6c 61 74 65 20 74 61 62 6c 65 20 61 64 64 72 65 73 73 20 74 6f 20 48 4c 0d   ┆ ;translate table address to HL ┆
0x0c1bc0…0c1be0             0a 09 64 61 64 09 62 09 3b 74 72 61 6e 73 6c 61 74 65 28 73 65 63 74 6f 72 29 20 61 64 64 72 65   ┆  dad b ;translate(sector) addre┆
0x0c1be0…0c1c00             73 73 0d 0a 09 6d 6f 76 09 61 2c 6d 09 3b 74 72 61 6e 73 6c 61 74 65 64 20 73 65 63 74 6f 72 20   ┆ss   mov a,m ;translated sector ┆
0x0c1c00…0c1c20 (51, 1, 6)  73 73 20 74 6f 20 63 6f 6e 74 72 6f 6c 6c 65 72 0d 0a 09 6d 6f 76 09 61 2c 62 0d 0a 09 6f 75 74   ┆ss to controller   mov a,b   out┆
0x0c1c20…0c1c40             09 69 68 69 67 68 09 3b 68 69 67 68 20 61 64 64 72 65 73 73 0d 0a 09 6a 6d 70 09 77 61 69 74 30   ┆ ihigh ;high address   jmp wait0┆
0x0c1c40…0c1c60             09 09 3b 74 6f 20 77 61 69 74 20 66 6f 72 20 63 6f 6d 70 6c 65 74 65 0d 0a 3b 0d 0a 69 6f 64 72   ┆  ;to wait for complete  ;  iodr┆
0x0c1c60…0c1c80             31 3a 09 3b 64 72 69 76 65 20 62 61 6e 6b 20 31 0d 0a 09 6f 75 74 09 69 6c 6f 77 2b 31 30 68 09   ┆1: ;drive bank 1   out ilow+10h ┆
0x0c1c80…0c1ca0             3b 38 38 20 66 6f 72 20 64 72 69 76 65 20 62 61 6e 6b 20 31 30 0d 0a 09 6d 6f 76 09 61 2c 62 0d   ┆;88 for drive bank 10   mov a,b ┆
0x0c1ca0…0c1cc0             0a 09 6f 75 74 09 69 68 69 67 68 2b 31 30 68 0d 0a 3b 0d 0a 77 61 69 74 30 3a 09 63 61 6c 6c 09   ┆  out ihigh+10h  ;  wait0: call ┆
0x0c1cc0…0c1ce0             69 6e 73 74 61 74 09 09 3b 77 61 69 74 20 66 6f 72 20 63 6f 6d 70 6c 65 74 69 6f 6e 0d 0a 09 61   ┆instat  ;wait for completion   a┆
0x0c1ce0…0c1d00             6e 69 09 69 6f 72 64 79 09 09 3b 72 65 61 64 79 3f 0d 0a 09 6a 7a 09 77 61 69 74 30 0d 0a 3b 0d   ┆ni iordy  ;ready?   jz wait0  ; ┆
0x0c1d00…0c1d20             0a 3b 09 63 68 65 63 6b 20 69 6f 20 63 6f 6d 70 6c 65 74 69 6f 6e 20 6f 6b 0d 0a 09 63 61 6c 6c   ┆ ; check io completion ok   call┆
0x0c1d20…0c1d40             09 69 6e 74 79 70 65 09 09 3b 6d 75 73 74 20 62 65 20 69 6f 20 63 6f 6d 70 6c 65 74 65 20 28 30   ┆ intype  ;must be io complete (0┆
0x0c1d40…0c1d60             30 29 20 75 6e 6c 69 6e 6b 65 64 0d 0a 3b 09 30 30 20 75 6e 6c 69 6e 6b 65 64 20 69 2f 6f 20 63   ┆0) unlinked  ; 00 unlinked i/o c┆
0x0c1d60…0c1d80             6f 6d 70 6c 65 74 65 2c 20 20 20 20 30 31 20 6c 69 6e 6b 65 64 20 69 2f 6f 20 63 6f 6d 70 6c 65   ┆omplete,    01 linked i/o comple┆
0x0c1d80…0c1da0             74 65 20 28 6e 6f 74 20 75 73 65 64 29 0d 0a 3b 09 31 30 20 64 69 73 6b 20 73 74 61 74 75 73 20   ┆te (not used)  ; 10 disk status ┆
0x0c1da0…0c1dc0             63 68 61 6e 67 65 64 20 20 20 20 20 20 20 31 31 20 28 6e 6f 74 20 75 73 65 64 29 0d 0a 09 63 70   ┆changed       11 (not used)   cp┆
0x0c1dc0…0c1de0             69 09 31 30 62 09 09 3b 72 65 61 64 79 20 73 74 61 74 75 73 20 63 68 61 6e 67 65 3f 0d 0a 09 6a   ┆i 10b  ;ready status change?   j┆
0x0c1de0…0c1e00             7a 09 77 72 65 61 64 79 0d 0a 3b 0d 0a 3b 09 6d 75 73 74 20 62 65 20 30 30 20 69 6e 20 74 68 65   ┆z wready  ;  ; must be 00 in the┆
0x0c1e00…0c1e20 (51, 1, 7)  09 72 65 74 0d 0a 3b 0d 0a 69 6e 73 74 61 74 3a 09 6c 64 61 09 64 62 61 6e 6b 0d 0a 09 6f 72 61   ┆ ret  ;  instat: lda dbank   ora┆
0x0c1e20…0c1e40             09 61 0d 0a 09 6a 6e 7a 09 69 6e 73 74 61 31 0d 0a 09 69 6e 09 64 73 74 61 74 0d 0a 09 72 65 74   ┆ a   jnz insta1   in dstat   ret┆
0x0c1e40…0c1e60             0d 0a 69 6e 73 74 61 31 3a 09 69 6e 09 64 73 74 61 74 2b 31 30 68 0d 0a 09 72 65 74 0d 0a 3b 0d   ┆  insta1: in dstat+10h   ret  ; ┆
0x0c1e60…0c1e80             0a 3b 0d 0a 3b 0d 0a 3b 09 64 61 74 61 20 61 72 65 61 73 20 28 6d 75 73 74 20 62 65 20 69 6e 20   ┆ ;  ;  ; data areas (must be in ┆
0x0c1e80…0c1ea0             72 61 6d 29 0d 0a 64 62 61 6e 6b 3a 09 64 62 09 30 09 3b 64 69 73 6b 20 62 61 6e 6b 20 30 30 20   ┆ram)  dbank: db 0 ;disk bank 00 ┆
0x0c1ea0…0c1ec0             69 66 20 64 72 69 76 65 20 30 2c 31 0d 0a 09 09 09 3b 09 20 20 20 31 30 20 69 66 20 64 72 69 76   ┆if drive 0,1     ;    10 if driv┆
0x0c1ec0…0c1ee0             65 20 32 2c 33 0d 0a 69 6f 70 62 3a 09 3b 69 6f 20 70 61 72 61 6d 65 74 65 72 20 62 6c 6f 63 6b   ┆e 2,3  iopb: ;io parameter block┆
0x0c1ee0…0c1f00             0d 0a 09 64 62 09 38 30 68 09 3b 6e 6f 72 6d 61 6c 20 69 2f 6f 20 6f 70 65 72 61 74 69 6f 6e 0d   ┆   db 80h ;normal i/o operation ┆
0x0c1f00…0c1f20             0a 69 6f 66 3a 09 64 62 09 72 65 61 64 66 09 3b 69 6f 20 66 75 6e 63 74 69 6f 6e 2c 20 69 6e 69   ┆ iof: db readf ;io function, ini┆
0x0c1f20…0c1f40             74 69 61 6c 20 72 65 61 64 0d 0a 69 6f 6e 3a 09 64 62 09 31 09 3b 6e 75 6d 62 65 72 20 6f 66 20   ┆tial read  ion: db 1 ;number of ┆
0x0c1f40…0c1f60             73 65 63 74 6f 72 73 20 74 6f 20 72 65 61 64 0d 0a 69 6f 74 3a 09 64 62 09 6f 66 66 73 65 74 09   ┆sectors to read  iot: db offset ┆
0x0c1f60…0c1f80             3b 74 72 61 63 6b 20 6e 75 6d 62 65 72 0d 0a 69 6f 73 3a 09 64 62 09 31 09 3b 73 65 63 74 6f 72   ┆;track number  ios: db 1 ;sector┆
0x0c1f80…0c1fa0             20 6e 75 6d 62 65 72 0d 0a 69 6f 64 3a 09 64 77 09 62 75 66 66 09 3b 69 6f 20 61 64 64 72 65 73   ┆ number  iod: dw buff ;io addres┆
0x0c1fa0…0c1fc0             73 0d 0a 3b 0d 0a 3b 0d 0a 3b 09 64 65 66 69 6e 65 20 72 61 6d 20 61 72 65 61 73 20 66 6f 72 20   ┆s  ;  ;  ; define ram areas for ┆
0x0c1fc0…0c1fe0             62 64 6f 73 20 6f 70 65 72 61 74 69 6f 6e 0d 0a 09 65 6e 64 65 66 0d 0a 09 65 6e 64 0d 0a 3b 09   ┆bdos operation   endef   end  ; ┆
0x0c1fe0…0c2000             4d 44 53 2d 38 30 30 20 49 2f 4f 20 44 72 69 76 65 72 73 20 66 6f 72 20 43 50 2f 4d 20 32 2e 32   ┆MDS-800 I/O Drivers for CP/M 2.2┆
0x0c2000…0c2020 (51, 1, 8)  28 30 2c 2e 2e 2e 37 36 29 20 66 6f 72 20 73 75 62 73 65 71 75 65 6e 74 20 72 65 61 64 2f 77 72   ┆(0,...76) for subsequent read/wr┆
0x0c2020…0c2040             69 74 65 0d 0a 3b 09 73 65 74 73 65 63 09 73 65 74 20 73 65 63 74 6f 72 20 61 64 64 72 65 73 73   ┆ite  ; setsec set sector address┆
0x0c2040…0c2060             20 28 31 2c 2e 2e 2e 2c 32 36 29 20 66 6f 72 20 73 75 62 73 65 71 75 65 6e 74 20 72 65 61 64 2f   ┆ (1,...,26) for subsequent read/┆
0x0c2060…0c2080             77 72 69 74 65 0d 0a 3b 09 73 65 74 64 6d 61 09 73 65 74 20 73 75 62 73 65 71 75 65 6e 74 20 64   ┆write  ; setdma set subsequent d┆
0x0c2080…0c20a0             6d 61 20 61 64 64 72 65 73 73 20 28 69 6e 69 74 69 61 6c 6c 79 20 38 30 68 29 0d 0a 3b 0d 0a 3b   ┆ma address (initially 80h)  ;  ;┆
0x0c20a0…0c20c0             09 28 72 65 61 64 20 61 6e 64 20 77 72 69 74 65 20 61 73 73 75 6d 65 20 70 72 65 76 69 6f 75 73   ┆ (read and write assume previous┆
0x0c20c0…0c20e0             20 63 61 6c 6c 73 20 74 6f 20 73 65 74 20 75 70 20 74 68 65 20 69 6f 20 70 61 72 61 6d 65 74 65   ┆ calls to set up the io paramete┆
0x0c20e0…0c2100             72 73 29 0d 0a 3b 09 72 65 61 64 09 72 65 61 64 20 74 72 61 63 6b 2f 73 65 63 74 6f 72 20 74 6f   ┆rs)  ; read read track/sector to┆
0x0c2100…0c2120             20 70 72 65 73 65 74 20 64 6d 61 20 61 64 64 72 65 73 73 0d 0a 3b 09 77 72 69 74 65 09 77 72 69   ┆ preset dma address  ; write wri┆
0x0c2120…0c2140             74 65 20 74 72 61 63 6b 2f 73 65 63 74 6f 72 20 66 72 6f 6d 20 70 72 65 73 65 74 20 64 6d 61 20   ┆te track/sector from preset dma ┆
0x0c2140…0c2160             61 64 64 72 65 73 73 0d 0a 3b 0d 0a 3b 09 6a 75 6d 70 20 76 65 63 74 6f 72 20 66 6f 72 20 69 6e   ┆address  ;  ; jump vector for in┆
0x0c2160…0c2180             64 69 76 69 75 61 6c 20 72 6f 75 74 69 6e 65 73 0d 0a 09 6a 6d 70 09 62 6f 6f 74 0d 0a 77 62 6f   ┆diviual routines   jmp boot  wbo┆
0x0c2180…0c21a0             6f 74 65 3a 09 6a 6d 70 09 77 62 6f 6f 74 0d 0a 09 6a 6d 70 09 63 6f 6e 73 74 0d 0a 09 6a 6d 70   ┆ote: jmp wboot   jmp const   jmp┆
0x0c21a0…0c21c0             09 63 6f 6e 69 6e 0d 0a 09 6a 6d 70 09 63 6f 6e 6f 75 74 0d 0a 09 6a 6d 70 09 6c 69 73 74 0d 0a   ┆ conin   jmp conout   jmp list  ┆
0x0c21c0…0c21e0             09 6a 6d 70 09 70 75 6e 63 68 0d 0a 09 6a 6d 70 09 72 65 61 64 65 72 0d 0a 09 6a 6d 70 09 68 6f   ┆ jmp punch   jmp reader   jmp ho┆
0x0c21e0…0c2200             6d 65 0d 0a 09 6a 6d 70 09 73 65 6c 64 73 6b 0d 0a 09 6a 6d 70 09 73 65 74 74 72 6b 0d 0a 09 6a   ┆me   jmp seldsk   jmp settrk   j┆
0x0c2200…0c2220 (51, 1, 9)  6e 75 6d 62 65 72 20 74 6f 20 41 0d 0a 09 73 74 61 09 69 6f 73 0d 0a 09 6d 6f 76 09 6c 2c 61 09   ┆number to A   sta ios   mov l,a ┆
0x0c2220…0c2240             3b 72 65 74 75 72 6e 20 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 20 69 6e 20 4c 0d 0a 09 72 65 74   ┆;return sector number in L   ret┆
0x0c2240…0c2260             0d 0a 3b 0d 0a 73 65 74 64 6d 61 3a 09 3b 73 65 74 20 64 6d 61 20 61 64 64 72 65 73 73 20 67 69   ┆  ;  setdma: ;set dma address gi┆
0x0c2260…0c2280             76 65 6e 20 62 79 20 72 65 67 73 20 62 2c 63 0d 0a 09 6d 6f 76 09 6c 2c 63 0d 0a 09 6d 6f 76 09   ┆ven by regs b,c   mov l,c   mov ┆
0x0c2280…0c22a0             68 2c 62 0d 0a 09 73 68 6c 64 09 69 6f 64 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 72 65 61 64 3a 09 3b   ┆h,b   shld iod   ret  ;  read: ;┆
0x0c22a0…0c22c0             72 65 61 64 20 6e 65 78 74 20 64 69 73 6b 20 72 65 63 6f 72 64 20 28 61 73 73 75 6d 69 6e 67 20   ┆read next disk record (assuming ┆
0x0c22c0…0c22e0             64 69 73 6b 2f 74 72 6b 2f 73 65 63 2f 64 6d 61 20 73 65 74 29 0d 0a 09 6d 76 69 09 63 2c 72 65   ┆disk/trk/sec/dma set)   mvi c,re┆
0x0c22e0…0c2300             61 64 66 09 3b 73 65 74 20 74 6f 20 72 65 61 64 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 63 61 6c 6c   ┆adf ;set to read function   call┆
0x0c2300…0c2320             09 73 65 74 66 75 6e 63 0d 0a 09 63 61 6c 6c 09 77 61 69 74 69 6f 09 3b 70 65 72 66 6f 72 6d 20   ┆ setfunc   call waitio ;perform ┆
0x0c2320…0c2340             72 65 61 64 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 72 65 74 09 09 3b 6d 61 79 20 68 61 76 65 20 65   ┆read function   ret  ;may have e┆
0x0c2340…0c2360             72 72 6f 72 20 73 65 74 20 69 6e 20 72 65 67 2d 61 0d 0a 3b 0d 0a 3b 0d 0a 77 72 69 74 65 3a 09   ┆rror set in reg-a  ;  ;  write: ┆
0x0c2360…0c2380             3b 64 69 73 6b 20 77 72 69 74 65 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 6d 76 69 09 63 2c 77 72 69   ┆;disk write function   mvi c,wri┆
0x0c2380…0c23a0             74 66 0d 0a 09 63 61 6c 6c 09 73 65 74 66 75 6e 63 09 3b 73 65 74 20 74 6f 20 77 72 69 74 65 20   ┆tf   call setfunc ;set to write ┆
0x0c23a0…0c23c0             66 75 6e 63 74 69 6f 6e 0d 0a 09 63 61 6c 6c 09 77 61 69 74 69 6f 0d 0a 09 72 65 74 09 09 3b 6d   ┆function   call waitio   ret  ;m┆
0x0c23c0…0c23e0             61 79 20 68 61 76 65 20 65 72 72 6f 72 20 73 65 74 0d 0a 3b 0d 0a 3b 0d 0a 3b 09 75 74 69 6c 69   ┆ay have error set  ;  ;  ; utili┆
0x0c23e0…0c2400             74 79 20 73 75 62 72 6f 75 74 69 6e 65 73 0d 0a 70 72 6d 73 67 3a 09 3b 70 72 69 6e 74 20 6d 65   ┆ty subroutines  prmsg: ;print me┆
0x0c2400…0c2420 (51, 1, 10) 20 61 63 63 75 6d 75 6c 61 74 6f 72 0d 0a 09 6f 72 61 09 61 0d 0a 09 6a 6e 7a 09 77 65 72 72 6f   ┆ accumulator   ora a   jnz werro┆
0x0c2420…0c2440             72 09 09 3b 73 6f 6d 65 20 6f 74 68 65 72 20 63 6f 6e 64 69 74 69 6f 6e 2c 20 72 65 74 72 79 0d   ┆r  ;some other condition, retry ┆
0x0c2440…0c2460             0a 3b 0d 0a 3b 09 63 68 65 63 6b 20 69 2f 6f 20 65 72 72 6f 72 20 62 69 74 73 0d 0a 09 63 61 6c   ┆ ;  ; check i/o error bits   cal┆
0x0c2460…0c2480             6c 09 69 6e 62 79 74 65 0d 0a 09 72 61 6c 0d 0a 09 6a 63 09 77 72 65 61 64 79 09 09 3b 75 6e 69   ┆l inbyte   ral   jc wready  ;uni┆
0x0c2480…0c24a0             74 20 6e 6f 74 20 72 65 61 64 79 0d 0a 09 72 61 72 0d 0a 09 61 6e 69 09 31 31 31 31 31 31 31 30   ┆t not ready   rar   ani 11111110┆
0x0c24a0…0c24c0             62 09 3b 61 6e 79 20 6f 74 68 65 72 20 65 72 72 6f 72 73 3f 20 20 28 64 65 6c 65 74 65 64 20 64   ┆b ;any other errors?  (deleted d┆
0x0c24c0…0c24e0             61 74 61 20 6f 6b 29 0d 0a 09 6a 6e 7a 09 77 65 72 72 6f 72 0d 0a 3b 0d 0a 3b 09 72 65 61 64 20   ┆ata ok)   jnz werror  ;  ; read ┆
0x0c24e0…0c2500             6f 72 20 77 72 69 74 65 20 69 73 20 6f 6b 2c 20 61 63 63 75 6d 75 6c 61 74 6f 72 20 63 6f 6e 74   ┆or write is ok, accumulator cont┆
0x0c2500…0c2520             61 69 6e 73 20 7a 65 72 6f 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 77 72 65 61 64 79 3a 09 3b 6e 6f 74   ┆ains zero   ret  ;  wready: ;not┆
0x0c2520…0c2540             20 72 65 61 64 79 2c 20 74 72 65 61 74 20 61 73 20 65 72 72 6f 72 20 66 6f 72 20 6e 6f 77 0d 0a   ┆ ready, treat as error for now  ┆
0x0c2540…0c2560             09 63 61 6c 6c 09 69 6e 62 79 74 65 09 09 3b 63 6c 65 61 72 20 72 65 73 75 6c 74 20 62 79 74 65   ┆ call inbyte  ;clear result byte┆
0x0c2560…0c2580             0d 0a 09 6a 6d 70 09 74 72 79 63 6f 75 6e 74 0d 0a 3b 0d 0a 77 65 72 72 6f 72 3a 09 3b 72 65 74   ┆   jmp trycount  ;  werror: ;ret┆
0x0c2580…0c25a0             75 72 6e 20 68 61 72 64 77 61 72 65 20 6d 61 6c 66 75 6e 63 74 69 6f 6e 20 28 63 72 63 2c 20 74   ┆urn hardware malfunction (crc, t┆
0x0c25a0…0c25c0             72 61 63 6b 2c 20 73 65 65 6b 2c 20 65 74 63 2e 29 0d 0a 3b 09 74 68 65 20 6d 64 73 20 63 6f 6e   ┆rack, seek, etc.)  ; the mds con┆
0x0c25c0…0c25e0             74 72 6f 6c 6c 65 72 20 68 61 73 20 72 65 74 75 72 6e 65 64 20 61 20 62 69 74 20 69 6e 20 65 61   ┆troller has returned a bit in ea┆
0x0c25e0…0c2600             63 68 20 70 6f 73 69 74 69 6f 6e 0d 0a 3b 09 6f 66 20 74 68 65 20 61 63 63 75 6d 75 6c 61 74 6f   ┆ch position  ; of the accumulato┆
0x0c2600…0c2620 (51, 1, 11) 0d 0a 3b 09 28 66 6f 75 72 20 64 72 69 76 65 20 73 69 6e 67 6c 65 20 64 65 6e 73 69 74 79 20 76   ┆  ; (four drive single density v┆
0x0c2620…0c2640             65 72 73 69 6f 6e 29 0d 0a 3b 0d 0a 3b 09 56 65 72 73 69 6f 6e 20 32 2e 32 20 46 65 62 72 75 61   ┆ersion)  ;  ; Version 2.2 Februa┆
0x0c2640…0c2660             72 79 2c 20 31 39 38 30 0d 0a 3b 0d 0a 76 65 72 73 09 65 71 75 09 32 32 09 3b 76 65 72 73 69 6f   ┆ry, 1980  ;  vers equ 22 ;versio┆
0x0c2660…0c2680             6e 20 32 2e 32 0d 0a 3b 0d 0a 3b 09 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 31 39 38 30 0d 0a   ┆n 2.2  ;  ; Copyright (c) 1980  ┆
0x0c2680…0c26a0             3b 09 44 69 67 69 74 61 6c 20 52 65 73 65 61 72 63 68 0d 0a 3b 09 42 6f 78 20 35 37 39 2c 20 50   ┆; Digital Research  ; Box 579, P┆
0x0c26a0…0c26c0             61 63 69 66 69 63 20 47 72 6f 76 65 0d 0a 3b 09 43 61 6c 69 66 6f 72 6e 69 61 2c 20 39 33 39 35   ┆acific Grove  ; California, 9395┆
0x0c26c0…0c26e0             30 0d 0a 3b 0d 0a 3b 0d 0a 74 72 75 65 09 65 71 75 09 30 66 66 66 66 68 09 3b 76 61 6c 75 65 20   ┆0  ;  ;  true equ 0ffffh ;value ┆
0x0c26e0…0c2700             6f 66 20 22 74 72 75 65 22 0d 0a 66 61 6c 73 65 09 65 71 75 09 6e 6f 74 20 74 72 75 65 09 3b 22   ┆of "true"  false equ not true ;"┆
0x0c2700…0c2720             66 61 6c 73 65 22 0d 0a 74 65 73 74 09 65 71 75 09 66 61 6c 73 65 09 3b 74 72 75 65 20 69 66 20   ┆false"  test equ false ;true if ┆
0x0c2720…0c2740             74 65 73 74 20 62 69 6f 73 0d 0a 3b 0d 0a 09 69 66 09 74 65 73 74 0d 0a 62 69 61 73 09 65 71 75   ┆test bios  ;   if test  bias equ┆
0x0c2740…0c2760             09 30 33 34 30 30 68 09 3b 62 61 73 65 20 6f 66 20 43 43 50 20 69 6e 20 74 65 73 74 20 73 79 73   ┆ 03400h ;base of CCP in test sys┆
0x0c2760…0c2780             74 65 6d 0d 0a 09 65 6e 64 69 66 0d 0a 09 69 66 09 6e 6f 74 20 74 65 73 74 0d 0a 62 69 61 73 09   ┆tem   endif   if not test  bias ┆
0x0c2780…0c27a0             65 71 75 09 30 30 30 30 68 09 3b 67 65 6e 65 72 61 74 65 20 72 65 6c 6f 63 61 74 61 62 6c 65 20   ┆equ 0000h ;generate relocatable ┆
0x0c27a0…0c27c0             63 70 2f 6d 20 73 79 73 74 65 6d 0d 0a 09 65 6e 64 69 66 0d 0a 3b 0d 0a 70 61 74 63 68 09 65 71   ┆cp/m system   endif  ;  patch eq┆
0x0c27c0…0c27e0             75 09 31 36 30 30 68 0d 0a 3b 0d 0a 09 6f 72 67 09 70 61 74 63 68 0d 0a 63 70 6d 62 09 65 71 75   ┆u 1600h  ;   org patch  cpmb equ┆
0x0c27e0…0c2800             09 24 2d 70 61 74 63 68 09 3b 62 61 73 65 20 6f 66 20 63 70 6d 20 63 6f 6e 73 6f 6c 65 20 70 72   ┆ $-patch ;base of cpm console pr┆
0x0c2800…0c2820 (51, 1, 12) 6d 70 09 73 65 74 73 65 63 0d 0a 09 6a 6d 70 09 73 65 74 64 6d 61 0d 0a 09 6a 6d 70 09 72 65 61   ┆mp setsec   jmp setdma   jmp rea┆
0x0c2820…0c2840             64 0d 0a 09 6a 6d 70 09 77 72 69 74 65 0d 0a 09 6a 6d 70 09 6c 69 73 74 73 74 09 3b 6c 69 73 74   ┆d   jmp write   jmp listst ;list┆
0x0c2840…0c2860             20 73 74 61 74 75 73 0d 0a 09 6a 6d 70 09 73 65 63 74 72 61 6e 0d 0a 3b 0d 0a 09 6d 61 63 6c 69   ┆ status   jmp sectran  ;   macli┆
0x0c2860…0c2880             62 09 64 69 73 6b 64 65 66 09 3b 6c 6f 61 64 20 74 68 65 20 64 69 73 6b 20 64 65 66 69 6e 69 74   ┆b diskdef ;load the disk definit┆
0x0c2880…0c28a0             69 6f 6e 20 6c 69 62 72 61 72 79 0d 0a 09 64 69 73 6b 73 09 34 09 3b 66 6f 75 72 20 64 69 73 6b   ┆ion library   disks 4 ;four disk┆
0x0c28a0…0c28c0             73 0d 0a 09 64 69 73 6b 64 65 66 09 30 2c 31 2c 32 36 2c 36 2c 31 30 32 34 2c 32 34 33 2c 36 34   ┆s   diskdef 0,1,26,6,1024,243,64┆
0x0c28c0…0c28e0             2c 36 34 2c 6f 66 66 73 65 74 0d 0a 09 64 69 73 6b 64 65 66 09 31 2c 30 0d 0a 09 64 69 73 6b 64   ┆,64,offset   diskdef 1,0   diskd┆
0x0c28e0…0c2900             65 66 09 32 2c 30 0d 0a 09 64 69 73 6b 64 65 66 09 33 2c 30 0d 0a 3b 09 65 6e 64 65 66 20 6f 63   ┆ef 2,0   diskdef 3,0  ; endef oc┆
0x0c2900…0c2920             63 75 72 73 20 61 74 20 65 6e 64 20 6f 66 20 61 73 73 65 6d 62 6c 79 0d 0a 3b 0d 0a 3b 09 65 6e   ┆curs at end of assembly  ;  ; en┆
0x0c2920…0c2940             64 20 6f 66 20 63 6f 6e 74 72 6f 6c 6c 65 72 20 2d 20 69 6e 64 65 70 65 6e 64 65 6e 74 20 63 6f   ┆d of controller - independent co┆
0x0c2940…0c2960             64 65 2c 20 74 68 65 20 72 65 6d 61 69 6e 69 6e 67 20 73 75 62 72 6f 75 74 69 6e 65 73 0d 0a 3b   ┆de, the remaining subroutines  ;┆
0x0c2960…0c2980             09 61 72 65 20 74 61 69 6c 6f 72 65 64 20 74 6f 20 74 68 65 20 70 61 72 74 69 63 75 6c 61 72 20   ┆ are tailored to the particular ┆
0x0c2980…0c29a0             6f 70 65 72 61 74 69 6e 67 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 2c 20 61 6e 64 20 6d 75 73 74 0d   ┆operating environment, and must ┆
0x0c29a0…0c29c0             0a 3b 09 62 65 20 61 6c 74 65 72 65 64 20 66 6f 72 20 61 6e 79 20 73 79 73 74 65 6d 20 77 68 69   ┆ ; be altered for any system whi┆
0x0c29c0…0c29e0             63 68 20 64 69 66 66 65 72 73 20 66 72 6f 6d 20 74 68 65 20 69 6e 74 65 6c 20 6d 64 73 2e 0d 0a   ┆ch differs from the intel mds.  ┆
0x0c29e0…0c2a00             3b 0d 0a 3b 09 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 64 65 20 61 73 73 75 6d 65 73 20   ┆;  ; the following code assumes ┆
0x0c2a00…0c2a20 (51, 1, 13) 73 73 61 67 65 20 61 74 20 68 2c 6c 20 74 6f 20 30 0d 0a 09 6d 6f 76 09 61 2c 6d 0d 0a 09 6f 72   ┆ssage at h,l to 0   mov a,m   or┆
0x0c2a20…0c2a40             61 09 61 09 3b 7a 65 72 6f 3f 0d 0a 09 72 7a 0d 0a 3b 09 6d 6f 72 65 20 74 6f 20 70 72 69 6e 74   ┆a a ;zero?   rz  ; more to print┆
0x0c2a40…0c2a60             0d 0a 09 70 75 73 68 09 68 0d 0a 09 6d 6f 76 09 63 2c 61 0d 0a 09 63 61 6c 6c 09 63 6f 6e 6f 75   ┆   push h   mov c,a   call conou┆
0x0c2a60…0c2a80             74 0d 0a 09 70 6f 70 09 68 0d 0a 09 69 6e 78 09 68 0d 0a 09 6a 6d 70 09 70 72 6d 73 67 0d 0a 3b   ┆t   pop h   inx h   jmp prmsg  ;┆
0x0c2a80…0c2aa0             0d 0a 73 65 74 66 75 6e 63 3a 0d 0a 3b 09 73 65 74 20 66 75 6e 63 74 69 6f 6e 20 66 6f 72 20 6e   ┆  setfunc:  ; set function for n┆
0x0c2aa0…0c2ac0             65 78 74 20 69 2f 6f 20 28 63 6f 6d 6d 61 6e 64 20 69 6e 20 72 65 67 2d 63 29 0d 0a 09 6c 78 69   ┆ext i/o (command in reg-c)   lxi┆
0x0c2ac0…0c2ae0             09 68 2c 69 6f 66 09 3b 69 6f 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 72 65 73 73 0d 0a 09 6d 6f   ┆ h,iof ;io function address   mo┆
0x0c2ae0…0c2b00             76 09 61 2c 6d 09 3b 67 65 74 20 69 74 20 74 6f 20 61 63 63 75 6d 75 6c 61 74 6f 72 20 66 6f 72   ┆v a,m ;get it to accumulator for┆
0x0c2b00…0c2b20             20 6d 61 73 6b 69 6e 67 0d 0a 09 61 6e 69 09 31 31 31 31 31 30 30 30 62 09 3b 72 65 6d 6f 76 65   ┆ masking   ani 11111000b ;remove┆
0x0c2b20…0c2b40             20 70 72 65 76 69 6f 75 73 20 63 6f 6d 6d 61 6e 64 0d 0a 09 6f 72 61 09 63 09 3b 73 65 74 20 74   ┆ previous command   ora c ;set t┆
0x0c2b40…0c2b60             6f 20 6e 65 77 20 63 6f 6d 6d 61 6e 64 0d 0a 09 6d 6f 76 09 6d 2c 61 09 3b 72 65 70 6c 61 63 65   ┆o new command   mov m,a ;replace┆
0x0c2b60…0c2b80             64 20 69 6e 20 69 6f 70 62 0d 0a 3b 09 74 68 65 20 6d 64 73 2d 38 30 30 20 63 6f 6e 74 72 6f 6c   ┆d in iopb  ; the mds-800 control┆
0x0c2b80…0c2ba0             6c 65 72 20 72 65 71 75 69 72 65 73 20 64 69 73 6b 20 62 61 6e 6b 20 62 69 74 20 69 6e 20 73 65   ┆ler requires disk bank bit in se┆
0x0c2ba0…0c2bc0             63 74 6f 72 20 62 79 74 65 0d 0a 3b 09 6d 61 73 6b 20 74 68 65 20 62 69 74 20 66 72 6f 6d 20 74   ┆ctor byte  ; mask the bit from t┆
0x0c2bc0…0c2be0             68 65 20 63 75 72 72 65 6e 74 20 69 2f 6f 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 61 6e 69 09 30 30   ┆he current i/o function   ani 00┆
0x0c2be0…0c2c00             31 30 30 30 30 30 62 09 3b 6d 61 73 6b 20 74 68 65 20 64 69 73 6b 20 73 65 6c 65 63 74 20 62 69   ┆100000b ;mask the disk select bi┆
0x0c2c00…0c2c20 (51, 1, 14) 72 2c 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 74 6f 20 74 68 65 20 63 6f 6e 64 69 74 69 6f   ┆r, corresponding to the conditio┆
0x0c2c20…0c2c40             6e 73 3a 0d 0a 3b 09 30 09 2d 20 64 65 6c 65 74 65 64 20 64 61 74 61 20 28 61 63 63 65 70 74 65   ┆ns:  ; 0 - deleted data (accepte┆
0x0c2c40…0c2c60             64 20 61 73 20 6f 6b 20 61 62 6f 76 65 29 0d 0a 3b 09 31 09 2d 20 63 72 63 20 65 72 72 6f 72 0d   ┆d as ok above)  ; 1 - crc error ┆
0x0c2c60…0c2c80             0a 3b 09 32 09 2d 20 73 65 65 6b 20 65 72 72 6f 72 0d 0a 3b 09 33 09 2d 20 61 64 64 72 65 73 73   ┆ ; 2 - seek error  ; 3 - address┆
0x0c2c80…0c2ca0             20 65 72 72 6f 72 20 28 68 61 72 64 77 61 72 65 20 6d 61 6c 66 75 6e 63 74 69 6f 6e 29 0d 0a 3b   ┆ error (hardware malfunction)  ;┆
0x0c2ca0…0c2cc0             09 34 09 2d 20 64 61 74 61 20 6f 76 65 72 2f 75 6e 64 65 72 20 66 6c 6f 77 20 28 68 61 72 64 77   ┆ 4 - data over/under flow (hardw┆
0x0c2cc0…0c2ce0             61 72 65 20 6d 61 6c 66 75 6e 63 74 69 6f 6e 29 0d 0a 3b 09 35 09 2d 20 77 72 69 74 65 20 70 72   ┆are malfunction)  ; 5 - write pr┆
0x0c2ce0…0c2d00             6f 74 65 63 74 20 28 74 72 65 61 74 65 64 20 61 73 20 6e 6f 74 20 72 65 61 64 79 29 0d 0a 3b 09   ┆otect (treated as not ready)  ; ┆
0x0c2d00…0c2d20             36 09 2d 20 77 72 69 74 65 20 65 72 72 6f 72 20 28 68 61 72 64 77 61 72 65 20 6d 61 6c 66 75 6e   ┆6 - write error (hardware malfun┆
0x0c2d20…0c2d40             63 74 69 6f 6e 29 0d 0a 3b 09 37 09 2d 20 6e 6f 74 20 72 65 61 64 79 0d 0a 3b 09 28 61 63 63 75   ┆ction)  ; 7 - not ready  ; (accu┆
0x0c2d40…0c2d60             6d 75 6c 61 74 6f 72 20 62 69 74 73 20 61 72 65 20 6e 75 6d 62 65 72 65 64 20 37 20 36 20 35 20   ┆mulator bits are numbered 7 6 5 ┆
0x0c2d60…0c2d80             34 20 33 20 32 20 31 20 30 29 0d 0a 3b 0d 0a 3b 09 69 74 20 6d 61 79 20 62 65 20 75 73 65 66 75   ┆4 3 2 1 0)  ;  ; it may be usefu┆
0x0c2d80…0c2da0             6c 20 74 6f 20 66 69 6c 74 65 72 20 6f 75 74 20 74 68 65 20 76 61 72 69 6f 75 73 20 63 6f 6e 64   ┆l to filter out the various cond┆
0x0c2da0…0c2dc0             69 74 69 6f 6e 73 2c 0d 0a 3b 09 62 75 74 20 77 65 20 77 69 6c 6c 20 67 65 74 20 61 20 70 65 72   ┆itions,  ; but we will get a per┆
0x0c2dc0…0c2de0             6d 61 6e 65 6e 74 20 65 72 72 6f 72 20 6d 65 73 73 61 67 65 20 69 66 20 69 74 20 69 73 20 6e 6f   ┆manent error message if it is no┆
0x0c2de0…0c2e00             74 0d 0a 3b 09 72 65 63 6f 76 65 72 61 62 6c 65 2e 20 20 69 6e 20 61 6e 79 20 63 61 73 65 2c 20   ┆t  ; recoverable.  in any case, ┆
0x0c2e00…0c2e20 (51, 1, 15) 6f 63 65 73 73 6f 72 0d 0a 62 64 6f 73 09 65 71 75 09 38 30 36 68 2b 63 70 6d 62 09 3b 62 61 73   ┆ocessor  bdos equ 806h+cpmb ;bas┆
0x0c2e20…0c2e40             69 63 20 64 6f 73 20 28 72 65 73 69 64 65 6e 74 20 70 6f 72 74 69 6f 6e 29 0d 0a 63 70 6d 6c 09   ┆ic dos (resident portion)  cpml ┆
0x0c2e40…0c2e60             65 71 75 09 24 2d 63 70 6d 62 09 3b 6c 65 6e 67 74 68 20 28 69 6e 20 62 79 74 65 73 29 20 6f 66   ┆equ $-cpmb ;length (in bytes) of┆
0x0c2e60…0c2e80             20 63 70 6d 20 73 79 73 74 65 6d 0d 0a 6e 73 65 63 74 73 09 65 71 75 09 63 70 6d 6c 2f 31 32 38   ┆ cpm system  nsects equ cpml/128┆
0x0c2e80…0c2ea0             09 3b 6e 75 6d 62 65 72 20 6f 66 20 73 65 63 74 6f 72 73 20 74 6f 20 6c 6f 61 64 0d 0a 6f 66 66   ┆ ;number of sectors to load  off┆
0x0c2ea0…0c2ec0             73 65 74 09 65 71 75 09 32 09 3b 6e 75 6d 62 65 72 20 6f 66 20 64 69 73 6b 20 74 72 61 63 6b 73   ┆set equ 2 ;number of disk tracks┆
0x0c2ec0…0c2ee0             20 75 73 65 64 20 62 79 20 63 70 2f 6d 0d 0a 63 64 69 73 6b 09 65 71 75 09 30 30 30 34 68 09 3b   ┆ used by cp/m  cdisk equ 0004h ;┆
0x0c2ee0…0c2f00             61 64 64 72 65 73 73 20 6f 66 20 6c 61 73 74 20 6c 6f 67 67 65 64 20 64 69 73 6b 20 6f 6e 20 77   ┆address of last logged disk on w┆
0x0c2f00…0c2f20             61 72 6d 20 73 74 61 72 74 0d 0a 62 75 66 66 09 65 71 75 09 30 30 38 30 68 09 3b 64 65 66 61 75   ┆arm start  buff equ 0080h ;defau┆
0x0c2f20…0c2f40             6c 74 20 62 75 66 66 65 72 20 61 64 64 72 65 73 73 0d 0a 72 65 74 72 79 09 65 71 75 09 31 30 09   ┆lt buffer address  retry equ 10 ┆
0x0c2f40…0c2f60             3b 6d 61 78 20 72 65 74 72 69 65 73 20 6f 6e 20 64 69 73 6b 20 69 2f 6f 20 62 65 66 6f 72 65 20   ┆;max retries on disk i/o before ┆
0x0c2f60…0c2f80             65 72 72 6f 72 0d 0a 3b 0d 0a 3b 09 70 65 72 66 6f 72 6d 20 66 6f 6c 6c 6f 77 69 6e 67 20 66 75   ┆error  ;  ; perform following fu┆
0x0c2f80…0c2fa0             6e 63 74 69 6f 6e 73 0d 0a 3b 09 62 6f 6f 74 09 63 6f 6c 64 20 73 74 61 72 74 0d 0a 3b 09 77 62   ┆nctions  ; boot cold start  ; wb┆
0x0c2fa0…0c2fc0             6f 6f 74 09 77 61 72 6d 20 73 74 61 72 74 20 28 73 61 76 65 20 69 2f 6f 20 62 79 74 65 29 0d 0a   ┆oot warm start (save i/o byte)  ┆
0x0c2fc0…0c2fe0             3b 09 28 62 6f 6f 74 20 61 6e 64 20 77 62 6f 6f 74 20 61 72 65 20 74 68 65 20 73 61 6d 65 20 66   ┆; (boot and wboot are the same f┆
0x0c2fe0…0c3000             6f 72 20 6d 64 73 29 0d 0a 3b 09 63 6f 6e 73 74 09 63 6f 6e 73 6f 6c 65 20 73 74 61 74 75 73 0d   ┆or mds)  ; const console status ┆
0x0c3000…0c3020 (52, 0, 1)  74 68 65 20 6d 64 73 20 6d 6f 6e 69 74 6f 72 20 65 78 69 73 74 73 20 61 74 20 30 66 38 30 30 68   ┆the mds monitor exists at 0f800h┆
0x0c3020…0c3040             0d 0a 3b 09 61 6e 64 20 75 73 65 73 20 74 68 65 20 69 2f 6f 20 73 75 62 72 6f 75 74 69 6e 65 73   ┆  ; and uses the i/o subroutines┆
0x0c3040…0c3060             20 77 69 74 68 69 6e 20 74 68 65 20 6d 6f 6e 69 74 6f 72 0d 0a 3b 0d 0a 3b 09 77 65 20 61 6c 73   ┆ within the monitor  ;  ; we als┆
0x0c3060…0c3080             6f 20 61 73 73 75 6d 65 20 74 68 65 20 6d 64 73 20 73 79 73 74 65 6d 20 68 61 73 20 66 6f 75 72   ┆o assume the mds system has four┆
0x0c3080…0c30a0             20 64 69 73 6b 20 64 72 69 76 65 73 0d 0a 72 65 76 72 74 09 65 71 75 09 30 66 64 68 09 3b 69 6e   ┆ disk drives  revrt equ 0fdh ;in┆
0x0c30a0…0c30c0             74 65 72 72 75 70 74 20 72 65 76 65 72 74 20 70 6f 72 74 0d 0a 69 6e 74 63 09 65 71 75 09 30 66   ┆terrupt revert port  intc equ 0f┆
0x0c30c0…0c30e0             63 68 09 3b 69 6e 74 65 72 72 75 70 74 20 6d 61 73 6b 20 70 6f 72 74 0d 0a 69 63 6f 6e 09 65 71   ┆ch ;interrupt mask port  icon eq┆
0x0c30e0…0c3100             75 09 30 66 33 68 09 3b 69 6e 74 65 72 72 75 70 74 20 63 6f 6e 74 72 6f 6c 20 70 6f 72 74 0d 0a   ┆u 0f3h ;interrupt control port  ┆
0x0c3100…0c3120             69 6e 74 65 09 65 71 75 09 30 31 31 31 24 31 31 31 30 62 09 3b 65 6e 61 62 6c 65 20 72 73 74 20   ┆inte equ 0111$1110b ;enable rst ┆
0x0c3120…0c3140             30 28 77 61 72 6d 20 62 6f 6f 74 29 2c 20 72 73 74 20 37 20 28 6d 6f 6e 69 74 6f 72 29 0d 0a 3b   ┆0(warm boot), rst 7 (monitor)  ;┆
0x0c3140…0c3160             0d 0a 3b 09 6d 64 73 20 6d 6f 6e 69 74 6f 72 20 65 71 75 61 74 65 73 0d 0a 6d 6f 6e 38 30 09 65   ┆  ; mds monitor equates  mon80 e┆
0x0c3160…0c3180             71 75 09 30 66 38 30 30 68 09 3b 6d 64 73 20 6d 6f 6e 69 74 6f 72 0d 0a 72 6d 6f 6e 38 30 09 65   ┆qu 0f800h ;mds monitor  rmon80 e┆
0x0c3180…0c31a0             71 75 09 30 66 66 30 66 68 09 3b 72 65 73 74 61 72 74 20 6d 6f 6e 38 30 20 28 62 6f 6f 74 20 65   ┆qu 0ff0fh ;restart mon80 (boot e┆
0x0c31a0…0c31c0             72 72 6f 72 29 0d 0a 63 69 09 65 71 75 09 30 66 38 30 33 68 09 3b 63 6f 6e 73 6f 6c 65 20 63 68   ┆rror)  ci equ 0f803h ;console ch┆
0x0c31c0…0c31e0             61 72 61 63 74 65 72 20 74 6f 20 72 65 67 2d 61 0d 0a 72 69 09 65 71 75 09 30 66 38 30 36 68 09   ┆aracter to reg-a  ri equ 0f806h ┆
0x0c31e0…0c3200             3b 72 65 61 64 65 72 20 69 6e 20 74 6f 20 72 65 67 2d 61 0d 0a 63 6f 09 65 71 75 09 30 66 38 30   ┆;reader in to reg-a  co equ 0f80┆
0x0c3200…0c3220 (52, 0, 2)  6b 0d 0a 09 6d 76 69 09 63 2c 30 0d 0a 09 63 61 6c 6c 09 73 65 74 74 72 6b 09 3b 73 74 61 72 74   ┆k   mvi c,0   call settrk ;start┆
0x0c3220…0c3240             20 77 69 74 68 20 74 72 61 63 6b 20 30 0d 0a 09 6d 76 69 09 63 2c 32 09 3b 73 74 61 72 74 20 72   ┆ with track 0   mvi c,2 ;start r┆
0x0c3240…0c3260             65 61 64 69 6e 67 20 73 65 63 74 6f 72 20 32 0d 0a 09 63 61 6c 6c 09 73 65 74 73 65 63 0d 0a 3b   ┆eading sector 2   call setsec  ;┆
0x0c3260…0c3280             0d 0a 3b 09 72 65 61 64 20 73 65 63 74 6f 72 73 2c 20 63 6f 75 6e 74 20 6e 73 65 63 74 73 20 74   ┆  ; read sectors, count nsects t┆
0x0c3280…0c32a0             6f 20 7a 65 72 6f 0d 0a 09 70 6f 70 09 62 09 3b 31 30 2d 65 72 72 6f 72 20 63 6f 75 6e 74 0d 0a   ┆o zero   pop b ;10-error count  ┆
0x0c32a0…0c32c0             09 6d 76 69 09 62 2c 6e 73 65 63 74 73 0d 0a 72 64 73 65 63 3a 09 3b 72 65 61 64 20 6e 65 78 74   ┆ mvi b,nsects  rdsec: ;read next┆
0x0c32c0…0c32e0             20 73 65 63 74 6f 72 0d 0a 09 70 75 73 68 09 62 09 3b 73 61 76 65 20 73 65 63 74 6f 72 20 63 6f   ┆ sector   push b ;save sector co┆
0x0c32e0…0c3300             75 6e 74 0d 0a 09 63 61 6c 6c 09 72 65 61 64 0d 0a 09 6a 6e 7a 09 62 6f 6f 74 65 72 72 09 3b 72   ┆unt   call read   jnz booterr ;r┆
0x0c3300…0c3320             65 74 72 79 20 69 66 20 65 72 72 6f 72 73 20 6f 63 63 75 72 0d 0a 09 6c 68 6c 64 09 69 6f 64 09   ┆etry if errors occur   lhld iod ┆
0x0c3320…0c3340             3b 69 6e 63 72 65 6d 65 6e 74 20 64 6d 61 20 61 64 64 72 65 73 73 0d 0a 09 6c 78 69 09 64 2c 31   ┆;increment dma address   lxi d,1┆
0x0c3340…0c3360             32 38 09 3b 73 65 63 74 6f 72 20 73 69 7a 65 0d 0a 09 64 61 64 09 64 09 3b 69 6e 63 72 65 6d 65   ┆28 ;sector size   dad d ;increme┆
0x0c3360…0c3380             6e 74 65 64 20 64 6d 61 20 61 64 64 72 65 73 73 20 69 6e 20 68 6c 0d 0a 09 6d 6f 76 09 62 2c 68   ┆nted dma address in hl   mov b,h┆
0x0c3380…0c33a0             0d 0a 09 6d 6f 76 09 63 2c 6c 09 3b 72 65 61 64 79 20 66 6f 72 20 63 61 6c 6c 20 74 6f 20 73 65   ┆   mov c,l ;ready for call to se┆
0x0c33a0…0c33c0             74 20 64 6d 61 0d 0a 09 63 61 6c 6c 09 73 65 74 64 6d 61 0d 0a 09 6c 64 61 09 69 6f 73 09 3b 73   ┆t dma   call setdma   lda ios ;s┆
0x0c33c0…0c33e0             65 63 74 6f 72 20 6e 75 6d 62 65 72 20 6a 75 73 74 20 72 65 61 64 0d 0a 09 63 70 69 09 32 36 09   ┆ector number just read   cpi 26 ┆
0x0c33e0…0c3400             3b 72 65 61 64 20 6c 61 73 74 20 73 65 63 74 6f 72 3f 0d 0a 09 6a 63 09 72 64 31 0d 0a 3b 09 6d   ┆;read last sector?   jc rd1  ; m┆
0x0c3400…0c3420 (52, 0, 3)  20 66 72 6f 6d 20 63 20 74 6f 20 63 6f 6e 73 6f 6c 65 20 6f 75 74 0d 0a 09 6a 6d 70 09 63 6f 0d   ┆ from c to console out   jmp co ┆
0x0c3420…0c3440             0a 3b 0d 0a 6c 69 73 74 3a 09 3b 6c 69 73 74 20 64 65 76 69 63 65 20 6f 75 74 0d 0a 3b 09 28 65   ┆ ;  list: ;list device out  ; (e┆
0x0c3440…0c3460             78 61 63 74 6c 79 20 74 68 65 20 73 61 6d 65 20 61 73 20 6d 64 73 20 63 61 6c 6c 29 0d 0a 09 6a   ┆xactly the same as mds call)   j┆
0x0c3460…0c3480             6d 70 09 6c 6f 0d 0a 3b 0d 0a 6c 69 73 74 73 74 3a 0d 0a 09 3b 72 65 74 75 72 6e 20 6c 69 73 74   ┆mp lo  ;  listst:   ;return list┆
0x0c3480…0c34a0             20 73 74 61 74 75 73 0d 0a 09 78 72 61 09 61 0d 0a 09 72 65 74 09 09 3b 61 6c 77 61 79 73 20 6e   ┆ status   xra a   ret  ;always n┆
0x0c34a0…0c34c0             6f 74 20 72 65 61 64 79 0d 0a 3b 0d 0a 70 75 6e 63 68 3a 09 3b 70 75 6e 63 68 20 64 65 76 69 63   ┆ot ready  ;  punch: ;punch devic┆
0x0c34c0…0c34e0             65 20 6f 75 74 0d 0a 3b 09 28 65 78 61 63 74 6c 79 20 74 68 65 20 73 61 6d 65 20 61 73 20 6d 64   ┆e out  ; (exactly the same as md┆
0x0c34e0…0c3500             73 20 63 61 6c 6c 29 0d 0a 09 6a 6d 70 09 70 6f 0d 0a 3b 0d 0a 72 65 61 64 65 72 3a 09 3b 72 65   ┆s call)   jmp po  ;  reader: ;re┆
0x0c3500…0c3520             61 64 65 72 20 63 68 61 72 61 63 74 65 72 20 69 6e 20 74 6f 20 72 65 67 2d 61 0d 0a 3b 09 28 65   ┆ader character in to reg-a  ; (e┆
0x0c3520…0c3540             78 61 63 74 6c 79 20 74 68 65 20 73 61 6d 65 20 61 73 20 6d 64 73 20 63 61 6c 6c 29 0d 0a 09 6a   ┆xactly the same as mds call)   j┆
0x0c3540…0c3560             6d 70 09 72 69 0d 0a 3b 0d 0a 68 6f 6d 65 3a 09 3b 6d 6f 76 65 20 74 6f 20 68 6f 6d 65 20 70 6f   ┆mp ri  ;  home: ;move to home po┆
0x0c3560…0c3580             73 69 74 69 6f 6e 0d 0a 3b 09 74 72 65 61 74 20 61 73 20 74 72 61 63 6b 20 30 30 20 73 65 65 6b   ┆sition  ; treat as track 00 seek┆
0x0c3580…0c35a0             0d 0a 09 6d 76 69 09 63 2c 30 0d 0a 09 6a 6d 70 09 73 65 74 74 72 6b 0d 0a 3b 0d 0a 73 65 6c 64   ┆   mvi c,0   jmp settrk  ;  seld┆
0x0c35a0…0c35c0             73 6b 3a 09 3b 73 65 6c 65 63 74 20 64 69 73 6b 20 67 69 76 65 6e 20 62 79 20 72 65 67 69 73 74   ┆sk: ;select disk given by regist┆
0x0c35c0…0c35e0             65 72 20 63 0d 0a 09 6c 78 69 09 68 2c 30 30 30 30 68 09 3b 72 65 74 75 72 6e 20 30 30 30 30 20   ┆er c   lxi h,0000h ;return 0000 ┆
0x0c35e0…0c3600             69 66 20 65 72 72 6f 72 0d 0a 09 6d 6f 76 09 61 2c 63 0d 0a 09 63 70 69 09 6e 64 69 73 6b 73 09   ┆if error   mov a,c   cpi ndisks ┆
0x0c3600…0c3620 (52, 0, 4)  63 6f 6e 6f 75 74 0d 0a 09 70 6f 70 09 68 0d 0a 09 69 6e 78 09 68 0d 0a 09 6a 6d 70 09 70 72 6d   ┆conout   pop h   inx h   jmp prm┆
0x0c3620…0c3640             73 67 0d 0a 3b 0d 0a 73 65 74 66 75 6e 63 3a 0d 0a 3b 09 73 65 74 20 66 75 6e 63 74 69 6f 6e 20   ┆sg  ;  setfunc:  ; set function ┆
0x0c3640…0c3660             66 6f 72 20 6e 65 78 74 20 69 2f 6f 20 28 63 6f 6d 6d 61 6e 64 20 69 6e 20 72 65 67 2d 63 29 0d   ┆for next i/o (command in reg-c) ┆
0x0c3660…0c3680             0a 09 6c 78 69 09 68 2c 69 6f 66 09 3b 69 6f 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 72 65 73 73   ┆  lxi h,iof ;io function address┆
0x0c3680…0c36a0             0d 0a 09 6d 6f 76 09 61 2c 6d 09 3b 67 65 74 20 69 74 20 74 6f 20 61 63 63 75 6d 75 6c 61 74 6f   ┆   mov a,m ;get it to accumulato┆
0x0c36a0…0c36c0             72 20 66 6f 72 20 6d 61 73 6b 69 6e 67 0d 0a 09 61 6e 69 09 31 31 31 31 31 30 30 30 62 09 3b 72   ┆r for masking   ani 11111000b ;r┆
0x0c36c0…0c36e0             65 6d 6f 76 65 20 70 72 65 76 69 6f 75 73 20 63 6f 6d 6d 61 6e 64 0d 0a 09 6f 72 61 09 63 09 3b   ┆emove previous command   ora c ;┆
0x0c36e0…0c3700             73 65 74 20 74 6f 20 6e 65 77 20 63 6f 6d 6d 61 6e 64 0d 0a 09 6d 6f 76 09 6d 2c 61 09 3b 72 65   ┆set to new command   mov m,a ;re┆
0x0c3700…0c3720             70 6c 61 63 65 64 20 69 6e 20 69 6f 70 62 0d 0a 3b 09 74 68 65 20 6d 64 73 2d 38 30 30 20 63 6f   ┆placed in iopb  ; the mds-800 co┆
0x0c3720…0c3740             6e 74 72 6f 6c 6c 65 72 20 72 65 71 75 69 72 65 73 20 64 69 73 6b 20 62 61 6e 6b 20 62 69 74 20   ┆ntroller requires disk bank bit ┆
0x0c3740…0c3760             69 6e 20 73 65 63 74 6f 72 20 62 79 74 65 0d 0a 3b 09 6d 61 73 6b 20 74 68 65 20 62 69 74 20 66   ┆in sector byte  ; mask the bit f┆
0x0c3760…0c3780             72 6f 6d 20 74 68 65 20 63 75 72 72 65 6e 74 20 69 2f 6f 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 61   ┆rom the current i/o function   a┆
0x0c3780…0c37a0             6e 69 09 30 30 31 30 30 30 30 30 62 09 3b 6d 61 73 6b 20 74 68 65 20 64 69 73 6b 20 73 65 6c 65   ┆ni 00100000b ;mask the disk sele┆
0x0c37a0…0c37c0             63 74 20 62 69 74 0d 0a 09 6c 78 69 09 68 2c 69 6f 73 09 09 3b 61 64 64 72 65 73 73 20 74 68 65   ┆ct bit   lxi h,ios  ;address the┆
0x0c37c0…0c37e0             20 73 65 63 74 6f 72 20 73 65 6c 65 63 74 20 62 79 74 65 0d 0a 09 6f 72 61 09 6d 09 09 3b 73 65   ┆ sector select byte   ora m  ;se┆
0x0c37e0…0c3800             6c 65 63 74 20 70 72 6f 70 65 72 20 64 69 73 6b 20 62 61 6e 6b 0d 0a 09 6d 6f 76 09 6d 2c 61 09   ┆lect proper disk bank   mov m,a ┆
0x0c3800…0c3820 (52, 0, 5)  39 68 09 3b 63 6f 6e 73 6f 6c 65 20 63 68 61 72 20 66 72 6f 6d 20 63 20 74 6f 20 63 6f 6e 73 6f   ┆9h ;console char from c to conso┆
0x0c3820…0c3840             6c 65 20 6f 75 74 0d 0a 70 6f 09 65 71 75 09 30 66 38 30 63 68 09 3b 70 75 6e 63 68 20 63 68 61   ┆le out  po equ 0f80ch ;punch cha┆
0x0c3840…0c3860             72 20 66 72 6f 6d 20 63 20 74 6f 20 70 75 6e 63 68 20 64 65 76 69 63 65 0d 0a 6c 6f 09 65 71 75   ┆r from c to punch device  lo equ┆
0x0c3860…0c3880             09 30 66 38 30 66 68 09 3b 6c 69 73 74 20 66 72 6f 6d 20 63 20 74 6f 20 6c 69 73 74 20 64 65 76   ┆ 0f80fh ;list from c to list dev┆
0x0c3880…0c38a0             69 63 65 0d 0a 63 73 74 73 09 65 71 75 09 30 66 38 31 32 68 09 3b 63 6f 6e 73 6f 6c 65 20 73 74   ┆ice  csts equ 0f812h ;console st┆
0x0c38a0…0c38c0             61 74 75 73 20 30 30 2f 66 66 20 74 6f 20 72 65 67 69 73 74 65 72 20 61 0d 0a 3b 0d 0a 3b 09 64   ┆atus 00/ff to register a  ;  ; d┆
0x0c38c0…0c38e0             69 73 6b 20 70 6f 72 74 73 20 61 6e 64 20 63 6f 6d 6d 61 6e 64 73 0d 0a 62 61 73 65 09 65 71 75   ┆isk ports and commands  base equ┆
0x0c38e0…0c3900             09 37 38 68 09 3b 62 61 73 65 20 6f 66 20 64 69 73 6b 20 63 6f 6d 6d 61 6e 64 20 69 6f 20 70 6f   ┆ 78h ;base of disk command io po┆
0x0c3900…0c3920             72 74 73 0d 0a 64 73 74 61 74 09 65 71 75 09 62 61 73 65 09 3b 64 69 73 6b 20 73 74 61 74 75 73   ┆rts  dstat equ base ;disk status┆
0x0c3920…0c3940             20 28 69 6e 70 75 74 29 0d 0a 72 74 79 70 65 09 65 71 75 09 62 61 73 65 2b 31 09 3b 72 65 73 75   ┆ (input)  rtype equ base+1 ;resu┆
0x0c3940…0c3960             6c 74 20 74 79 70 65 20 28 69 6e 70 75 74 29 0d 0a 72 62 79 74 65 09 65 71 75 09 62 61 73 65 2b   ┆lt type (input)  rbyte equ base+┆
0x0c3960…0c3980             33 09 3b 72 65 73 75 6c 74 20 62 79 74 65 20 28 69 6e 70 75 74 29 0d 0a 3b 0d 0a 69 6c 6f 77 09   ┆3 ;result byte (input)  ;  ilow ┆
0x0c3980…0c39a0             65 71 75 09 62 61 73 65 2b 31 09 3b 69 6f 70 62 20 6c 6f 77 20 61 64 64 72 65 73 73 20 28 6f 75   ┆equ base+1 ;iopb low address (ou┆
0x0c39a0…0c39c0             74 70 75 74 29 0d 0a 69 68 69 67 68 09 65 71 75 09 62 61 73 65 2b 32 09 3b 69 6f 70 62 20 68 69   ┆tput)  ihigh equ base+2 ;iopb hi┆
0x0c39c0…0c39e0             67 68 20 61 64 64 72 65 73 73 20 28 6f 75 74 70 75 74 29 0d 0a 3b 0d 0a 72 65 61 64 66 09 65 71   ┆gh address (output)  ;  readf eq┆
0x0c39e0…0c3a00             75 09 34 68 09 3b 72 65 61 64 20 66 75 6e 63 74 69 6f 6e 0d 0a 77 72 69 74 66 09 65 71 75 09 36   ┆u 4h ;read function  writf equ 6┆
0x0c3a00…0c3a20 (52, 0, 6)  75 73 74 20 62 65 20 73 65 63 74 6f 72 20 32 36 2c 20 7a 65 72 6f 20 61 6e 64 20 67 6f 20 74 6f   ┆ust be sector 26, zero and go to┆
0x0c3a20…0c3a40             20 6e 65 78 74 20 74 72 61 63 6b 0d 0a 09 6c 64 61 09 69 6f 74 09 3b 67 65 74 20 74 72 61 63 6b   ┆ next track   lda iot ;get track┆
0x0c3a40…0c3a60             20 74 6f 20 72 65 67 69 73 74 65 72 20 61 0d 0a 09 69 6e 72 09 61 0d 0a 09 6d 6f 76 09 63 2c 61   ┆ to register a   inr a   mov c,a┆
0x0c3a60…0c3a80             09 3b 72 65 61 64 79 20 66 6f 72 20 63 61 6c 6c 0d 0a 09 63 61 6c 6c 09 73 65 74 74 72 6b 0d 0a   ┆ ;ready for call   call settrk  ┆
0x0c3a80…0c3aa0             09 78 72 61 09 61 09 3b 63 6c 65 61 72 20 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 0d 0a 72 64 31   ┆ xra a ;clear sector number  rd1┆
0x0c3aa0…0c3ac0             3a 09 69 6e 72 09 61 09 3b 74 6f 20 6e 65 78 74 20 73 65 63 74 6f 72 0d 0a 09 6d 6f 76 09 63 2c   ┆: inr a ;to next sector   mov c,┆
0x0c3ac0…0c3ae0             61 09 3b 72 65 61 64 79 20 66 6f 72 20 63 61 6c 6c 0d 0a 09 63 61 6c 6c 09 73 65 74 73 65 63 0d   ┆a ;ready for call   call setsec ┆
0x0c3ae0…0c3b00             0a 09 70 6f 70 09 62 09 3b 72 65 63 61 6c 6c 20 73 65 63 74 6f 72 20 63 6f 75 6e 74 0d 0a 09 64   ┆  pop b ;recall sector count   d┆
0x0c3b00…0c3b20             63 72 09 62 09 3b 64 6f 6e 65 3f 0d 0a 09 6a 6e 7a 09 72 64 73 65 63 0d 0a 3b 0d 0a 3b 09 64 6f   ┆cr b ;done?   jnz rdsec  ;  ; do┆
0x0c3b20…0c3b40             6e 65 20 77 69 74 68 20 74 68 65 20 6c 6f 61 64 2c 20 72 65 73 65 74 20 64 65 66 61 75 6c 74 20   ┆ne with the load, reset default ┆
0x0c3b40…0c3b60             62 75 66 66 65 72 20 61 64 64 72 65 73 73 0d 0a 67 6f 63 70 6d 3a 09 3b 28 65 6e 74 65 72 20 68   ┆buffer address  gocpm: ;(enter h┆
0x0c3b60…0c3b80             65 72 65 20 66 72 6f 6d 20 63 6f 6c 64 20 73 74 61 72 74 20 62 6f 6f 74 29 0d 0a 3b 09 65 6e 61   ┆ere from cold start boot)  ; ena┆
0x0c3b80…0c3ba0             62 6c 65 20 72 73 74 30 20 61 6e 64 20 72 73 74 37 0d 0a 09 64 69 0d 0a 09 6d 76 69 09 61 2c 31   ┆ble rst0 and rst7   di   mvi a,1┆
0x0c3ba0…0c3bc0             32 68 09 3b 69 6e 69 74 69 61 6c 69 7a 65 20 63 6f 6d 6d 61 6e 64 0d 0a 09 6f 75 74 09 72 65 76   ┆2h ;initialize command   out rev┆
0x0c3bc0…0c3be0             72 74 0d 0a 09 78 72 61 09 61 0d 0a 09 6f 75 74 09 69 6e 74 63 09 3b 63 6c 65 61 72 65 64 0d 0a   ┆rt   xra a   out intc ;cleared  ┆
0x0c3be0…0c3c00             09 6d 76 69 09 61 2c 69 6e 74 65 09 3b 72 73 74 30 20 61 6e 64 20 72 73 74 37 20 62 69 74 73 20   ┆ mvi a,inte ;rst0 and rst7 bits ┆
0x0c3c00…0c3c20 (52, 0, 7)  3b 74 6f 6f 20 6c 61 72 67 65 3f 0d 0a 09 72 6e 63 09 09 3b 6c 65 61 76 65 20 48 4c 20 3d 20 30   ┆;too large?   rnc  ;leave HL = 0┆
0x0c3c20…0c3c40             30 30 30 0d 0a 3b 0d 0a 09 61 6e 69 09 31 30 62 09 3b 30 30 20 30 30 20 66 6f 72 20 64 72 69 76   ┆000  ;   ani 10b ;00 00 for driv┆
0x0c3c40…0c3c60             65 20 30 2c 31 20 61 6e 64 20 31 30 20 31 30 20 66 6f 72 20 64 72 69 76 65 20 32 2c 33 0d 0a 09   ┆e 0,1 and 10 10 for drive 2,3   ┆
0x0c3c60…0c3c80             73 74 61 09 64 62 61 6e 6b 09 3b 74 6f 20 73 65 6c 65 63 74 20 64 72 69 76 65 20 62 61 6e 6b 0d   ┆sta dbank ;to select drive bank ┆
0x0c3c80…0c3ca0             0a 09 6d 6f 76 09 61 2c 63 09 3b 30 30 2c 20 30 31 2c 20 31 30 2c 20 31 31 0d 0a 09 61 6e 69 09   ┆  mov a,c ;00, 01, 10, 11   ani ┆
0x0c3ca0…0c3cc0             31 62 09 3b 6d 64 73 20 68 61 73 20 30 2c 31 20 61 74 20 37 38 2c 20 32 2c 33 20 61 74 20 38 38   ┆1b ;mds has 0,1 at 78, 2,3 at 88┆
0x0c3cc0…0c3ce0             0d 0a 09 6f 72 61 09 61 09 3b 72 65 73 75 6c 74 20 30 30 3f 0d 0a 09 6a 7a 09 73 65 74 64 72 69   ┆   ora a ;result 00?   jz setdri┆
0x0c3ce0…0c3d00             76 65 0d 0a 09 6d 76 69 09 61 2c 30 30 31 31 30 30 30 30 62 09 3b 73 65 6c 65 63 74 73 20 64 72   ┆ve   mvi a,00110000b ;selects dr┆
0x0c3d00…0c3d20             69 76 65 20 31 20 69 6e 20 62 61 6e 6b 0d 0a 73 65 74 64 72 69 76 65 3a 0d 0a 09 6d 6f 76 09 62   ┆ive 1 in bank  setdrive:   mov b┆
0x0c3d20…0c3d40             2c 61 09 3b 73 61 76 65 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 6c 78 69 09 68 2c 69 6f   ┆,a ;save the function   lxi h,io┆
0x0c3d40…0c3d60             66 09 3b 69 6f 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 6d 6f 76 09 61 2c 6d 0d 0a 09 61 6e 69 09 31   ┆f ;io function   mov a,m   ani 1┆
0x0c3d60…0c3d80             31 30 30 31 31 31 31 62 09 3b 6d 61 73 6b 20 6f 75 74 20 64 69 73 6b 20 6e 75 6d 62 65 72 0d 0a   ┆1001111b ;mask out disk number  ┆
0x0c3d80…0c3da0             09 6f 72 61 09 62 09 3b 6d 61 73 6b 20 69 6e 20 6e 65 77 20 64 69 73 6b 20 6e 75 6d 62 65 72 0d   ┆ ora b ;mask in new disk number ┆
0x0c3da0…0c3dc0             0a 09 6d 6f 76 09 6d 2c 61 09 3b 73 61 76 65 20 69 74 20 69 6e 20 69 6f 70 62 0d 0a 09 6d 6f 76   ┆  mov m,a ;save it in iopb   mov┆
0x0c3dc0…0c3de0             09 6c 2c 63 0d 0a 09 6d 76 69 09 68 2c 30 09 3b 48 4c 3d 64 69 73 6b 20 6e 75 6d 62 65 72 0d 0a   ┆ l,c   mvi h,0 ;HL=disk number  ┆
0x0c3de0…0c3e00             09 64 61 64 09 68 09 3b 2a 32 0d 0a 09 64 61 64 09 68 09 3b 2a 34 0d 0a 09 64 61 64 09 68 09 3b   ┆ dad h ;*2   dad h ;*4   dad h ;┆
0x0c3e00…0c3e20 (52, 0, 8)  09 3b 73 65 74 20 64 69 73 6b 20 73 65 6c 65 63 74 20 62 69 74 20 6f 6e 2f 6f 66 66 0d 0a 09 72   ┆ ;set disk select bit on/off   r┆
0x0c3e20…0c3e40             65 74 0d 0a 3b 0d 0a 77 61 69 74 69 6f 3a 0d 0a 09 6d 76 69 09 63 2c 72 65 74 72 79 09 3b 6d 61   ┆et  ;  waitio:   mvi c,retry ;ma┆
0x0c3e40…0c3e60             78 20 72 65 74 72 69 65 73 20 62 65 66 6f 72 65 20 70 65 72 6d 20 65 72 72 6f 72 0d 0a 72 65 77   ┆x retries before perm error  rew┆
0x0c3e60…0c3e80             61 69 74 3a 0d 0a 3b 09 73 74 61 72 74 20 74 68 65 20 69 2f 6f 20 66 75 6e 63 74 69 6f 6e 20 61   ┆ait:  ; start the i/o function a┆
0x0c3e80…0c3ea0             6e 64 20 77 61 69 74 20 66 6f 72 20 63 6f 6d 70 6c 65 74 69 6f 6e 0d 0a 09 63 61 6c 6c 09 69 6e   ┆nd wait for completion   call in┆
0x0c3ea0…0c3ec0             74 79 70 65 09 3b 69 6e 20 72 74 79 70 65 0d 0a 09 63 61 6c 6c 09 69 6e 62 79 74 65 09 3b 63 6c   ┆type ;in rtype   call inbyte ;cl┆
0x0c3ec0…0c3ee0             65 61 72 73 20 74 68 65 20 63 6f 6e 74 72 6f 6c 6c 65 72 0d 0a 3b 0d 0a 09 6c 64 61 09 64 62 61   ┆ears the controller  ;   lda dba┆
0x0c3ee0…0c3f00             6e 6b 09 09 3b 73 65 74 20 62 61 6e 6b 20 66 6c 61 67 73 0d 0a 09 6f 72 61 09 61 09 09 3b 7a 65   ┆nk  ;set bank flags   ora a  ;ze┆
0x0c3f00…0c3f20             72 6f 20 69 66 20 64 72 69 76 65 20 30 2c 31 20 61 6e 64 20 6e 7a 20 69 66 20 32 2c 33 0d 0a 09   ┆ro if drive 0,1 and nz if 2,3   ┆
0x0c3f20…0c3f40             6d 76 69 09 61 2c 69 6f 70 62 20 61 6e 64 20 30 66 66 68 09 3b 6c 6f 77 20 61 64 64 72 65 73 73   ┆mvi a,iopb and 0ffh ;low address┆
0x0c3f40…0c3f60             20 66 6f 72 20 69 6f 70 62 0d 0a 09 6d 76 69 09 62 2c 69 6f 70 62 20 73 68 72 20 38 09 3b 68 69   ┆ for iopb   mvi b,iopb shr 8 ;hi┆
0x0c3f60…0c3f80             67 68 20 61 64 64 72 65 73 73 20 66 6f 72 20 69 6f 70 62 0d 0a 09 6a 6e 7a 09 69 6f 64 72 31 09   ┆gh address for iopb   jnz iodr1 ┆
0x0c3f80…0c3fa0             3b 64 72 69 76 65 20 62 61 6e 6b 20 31 3f 0d 0a 09 6f 75 74 09 69 6c 6f 77 09 09 3b 6c 6f 77 20   ┆;drive bank 1?   out ilow  ;low ┆
0x0c3fa0…0c3fc0             61 64 64 72 65 73 73 20 74 6f 20 63 6f 6e 74 72 6f 6c 6c 65 72 0d 0a 09 6d 6f 76 09 61 2c 62 0d   ┆address to controller   mov a,b ┆
0x0c3fc0…0c3fe0             0a 09 6f 75 74 09 69 68 69 67 68 09 3b 68 69 67 68 20 61 64 64 72 65 73 73 0d 0a 09 6a 6d 70 09   ┆  out ihigh ;high address   jmp ┆
0x0c3fe0…0c4000             77 61 69 74 30 09 09 3b 74 6f 20 77 61 69 74 20 66 6f 72 20 63 6f 6d 70 6c 65 74 65 0d 0a 3b 0d   ┆wait0  ;to wait for complete  ; ┆
0x0c4000…0c4020 (52, 0, 9)  68 09 3b 77 72 69 74 65 20 66 75 6e 63 74 69 6f 6e 0d 0a 72 65 63 61 6c 09 65 71 75 09 33 68 09   ┆h ;write function  recal equ 3h ┆
0x0c4020…0c4040             3b 72 65 63 61 6c 69 62 72 61 74 65 20 64 72 69 76 65 0d 0a 69 6f 72 64 79 09 65 71 75 09 34 68   ┆;recalibrate drive  iordy equ 4h┆
0x0c4040…0c4060             09 3b 69 2f 6f 20 66 69 6e 69 73 68 65 64 20 6d 61 73 6b 0d 0a 63 72 09 65 71 75 09 30 64 68 09   ┆ ;i/o finished mask  cr equ 0dh ┆
0x0c4060…0c4080             3b 63 61 72 72 69 61 67 65 20 72 65 74 75 72 6e 0d 0a 6c 66 09 65 71 75 09 30 61 68 09 3b 6c 69   ┆;carriage return  lf equ 0ah ;li┆
0x0c4080…0c40a0             6e 65 20 66 65 65 64 0d 0a 3b 0d 0a 73 69 67 6e 6f 6e 3a 09 3b 73 69 67 6e 6f 6e 20 6d 65 73 73   ┆ne feed  ;  signon: ;signon mess┆
0x0c40a0…0c40c0             61 67 65 3a 20 78 78 6b 20 63 70 2f 6d 20 76 65 72 73 20 79 2e 79 0d 0a 09 64 62 09 63 72 2c 6c   ┆age: xxk cp/m vers y.y   db cr,l┆
0x0c40c0…0c40e0             66 2c 6c 66 0d 0a 09 69 66 09 74 65 73 74 0d 0a 09 64 62 09 27 33 32 27 09 3b 33 32 6b 20 65 78   ┆f,lf   if test   db '32' ;32k ex┆
0x0c40e0…0c4100             61 6d 70 6c 65 20 62 69 6f 73 0d 0a 09 65 6e 64 69 66 0d 0a 09 69 66 09 6e 6f 74 20 74 65 73 74   ┆ample bios   endif   if not test┆
0x0c4100…0c4120             0d 0a 09 64 62 09 27 30 30 27 09 3b 6d 65 6d 6f 72 79 20 73 69 7a 65 20 66 69 6c 6c 65 64 20 62   ┆   db '00' ;memory size filled b┆
0x0c4120…0c4140             79 20 72 65 6c 6f 63 61 74 6f 72 0d 0a 09 65 6e 64 69 66 0d 0a 09 64 62 09 27 6b 20 43 50 2f 4d   ┆y relocator   endif   db 'k CP/M┆
0x0c4140…0c4160             20 76 65 72 73 20 27 0d 0a 09 64 62 09 76 65 72 73 2f 31 30 2b 27 30 27 2c 27 2e 27 2c 76 65 72   ┆ vers '   db vers/10+'0','.',ver┆
0x0c4160…0c4180             73 20 6d 6f 64 20 31 30 2b 27 30 27 0d 0a 09 64 62 09 63 72 2c 6c 66 2c 30 0d 0a 3b 0d 0a 62 6f   ┆s mod 10+'0'   db cr,lf,0  ;  bo┆
0x0c4180…0c41a0             6f 74 3a 09 3b 70 72 69 6e 74 20 73 69 67 6e 6f 6e 20 6d 65 73 73 61 67 65 20 61 6e 64 20 67 6f   ┆ot: ;print signon message and go┆
0x0c41a0…0c41c0             20 74 6f 20 63 63 70 0d 0a 3b 09 28 6e 6f 74 65 3a 20 6d 64 73 20 62 6f 6f 74 20 69 6e 69 74 69   ┆ to ccp  ; (note: mds boot initi┆
0x0c41c0…0c41e0             61 6c 69 7a 65 64 20 69 6f 62 79 74 65 20 61 74 20 30 30 30 33 68 29 0d 0a 09 6c 78 69 09 73 70   ┆alized iobyte at 0003h)   lxi sp┆
0x0c41e0…0c4200             2c 62 75 66 66 2b 38 30 68 0d 0a 09 6c 78 69 09 68 2c 73 69 67 6e 6f 6e 0d 0a 09 63 61 6c 6c 09   ┆,buff+80h   lxi h,signon   call ┆
0x0c4200…0c4220 (52, 0, 10) 6f 6e 0d 0a 09 6f 75 74 09 69 6e 74 63 0d 0a 09 78 72 61 09 61 0d 0a 09 6f 75 74 09 69 63 6f 6e   ┆on   out intc   xra a   out icon┆
0x0c4220…0c4240             09 3b 69 6e 74 65 72 72 75 70 74 20 63 6f 6e 74 72 6f 6c 0d 0a 3b 0d 0a 3b 09 73 65 74 20 64 65   ┆ ;interrupt control  ;  ; set de┆
0x0c4240…0c4260             66 61 75 6c 74 20 62 75 66 66 65 72 20 61 64 64 72 65 73 73 20 74 6f 20 38 30 68 0d 0a 09 6c 78   ┆fault buffer address to 80h   lx┆
0x0c4260…0c4280             69 09 62 2c 62 75 66 66 0d 0a 09 63 61 6c 6c 09 73 65 74 64 6d 61 0d 0a 3b 0d 0a 3b 09 72 65 73   ┆i b,buff   call setdma  ;  ; res┆
0x0c4280…0c42a0             65 74 20 6d 6f 6e 69 74 6f 72 20 65 6e 74 72 79 20 70 6f 69 6e 74 73 0d 0a 09 6d 76 69 09 61 2c   ┆et monitor entry points   mvi a,┆
0x0c42a0…0c42c0             6a 6d 70 0d 0a 09 73 74 61 09 30 0d 0a 09 6c 78 69 09 68 2c 77 62 6f 6f 74 65 0d 0a 09 73 68 6c   ┆jmp   sta 0   lxi h,wboote   shl┆
0x0c42c0…0c42e0             64 09 31 09 3b 6a 6d 70 20 77 62 6f 6f 74 20 61 74 20 6c 6f 63 61 74 69 6f 6e 20 30 30 0d 0a 09   ┆d 1 ;jmp wboot at location 00   ┆
0x0c42e0…0c4300             73 74 61 09 35 0d 0a 09 6c 78 69 09 68 2c 62 64 6f 73 0d 0a 09 73 68 6c 64 09 36 09 3b 6a 6d 70   ┆sta 5   lxi h,bdos   shld 6 ;jmp┆
0x0c4300…0c4320             20 62 64 6f 73 20 61 74 20 6c 6f 63 61 74 69 6f 6e 20 35 0d 0a 09 69 66 09 6e 6f 74 20 74 65 73   ┆ bdos at location 5   if not tes┆
0x0c4320…0c4340             74 0d 0a 09 73 74 61 09 37 2a 38 09 3b 6a 6d 70 20 74 6f 20 6d 6f 6e 38 30 20 28 6d 61 79 20 68   ┆t   sta 7*8 ;jmp to mon80 (may h┆
0x0c4340…0c4360             61 76 65 20 62 65 65 6e 20 63 68 61 6e 67 65 64 20 62 79 20 64 64 74 29 0d 0a 09 6c 78 69 09 68   ┆ave been changed by ddt)   lxi h┆
0x0c4360…0c4380             2c 6d 6f 6e 38 30 0d 0a 09 73 68 6c 64 09 37 2a 38 2b 31 0d 0a 09 65 6e 64 69 66 0d 0a 3b 09 6c   ┆,mon80   shld 7*8+1   endif  ; l┆
0x0c4380…0c43a0             65 61 76 65 20 69 6f 62 79 74 65 20 73 65 74 0d 0a 3b 09 70 72 65 76 69 6f 75 73 6c 79 20 73 65   ┆eave iobyte set  ; previously se┆
0x0c43a0…0c43c0             6c 65 63 74 65 64 20 64 69 73 6b 20 77 61 73 20 62 2c 20 73 65 6e 64 20 70 61 72 61 6d 65 74 65   ┆lected disk was b, send paramete┆
0x0c43c0…0c43e0             72 20 74 6f 20 63 70 6d 0d 0a 09 6c 64 61 09 63 64 69 73 6b 09 3b 6c 61 73 74 20 6c 6f 67 67 65   ┆r to cpm   lda cdisk ;last logge┆
0x0c43e0…0c4400             64 20 64 69 73 6b 20 6e 75 6d 62 65 72 0d 0a 09 6d 6f 76 09 63 2c 61 09 3b 73 65 6e 64 20 74 6f   ┆d disk number   mov c,a ;send to┆
0x0c4400…0c4420 (52, 0, 11) 2a 38 0d 0a 09 64 61 64 09 68 09 3b 2a 31 36 0d 0a 09 6c 78 69 09 64 2c 64 70 62 61 73 65 0d 0a   ┆*8   dad h ;*16   lxi d,dpbase  ┆
0x0c4420…0c4440             09 64 61 64 09 64 09 3b 48 4c 3d 64 69 73 6b 20 68 65 61 64 65 72 20 74 61 62 6c 65 20 61 64 64   ┆ dad d ;HL=disk header table add┆
0x0c4440…0c4460             72 65 73 73 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 3b 0d 0a 73 65 74 74 72 6b 3a 09 3b 73 65 74 20 74   ┆ress   ret  ;  ;  settrk: ;set t┆
0x0c4460…0c4480             72 61 63 6b 20 61 64 64 72 65 73 73 20 67 69 76 65 6e 20 62 79 20 63 0d 0a 09 6c 78 69 09 68 2c   ┆rack address given by c   lxi h,┆
0x0c4480…0c44a0             69 6f 74 0d 0a 09 6d 6f 76 09 6d 2c 63 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 73 65 74 73 65 63 3a 09   ┆iot   mov m,c   ret  ;  setsec: ┆
0x0c44a0…0c44c0             3b 73 65 74 20 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 20 67 69 76 65 6e 20 62 79 20 63 0d 0a 09   ┆;set sector number given by c   ┆
0x0c44c0…0c44e0             6c 78 69 09 68 2c 69 6f 73 0d 0a 09 6d 6f 76 09 6d 2c 63 0d 0a 09 72 65 74 0d 0a 73 65 63 74 72   ┆lxi h,ios   mov m,c   ret  sectr┆
0x0c44e0…0c4500             61 6e 3a 0d 0a 09 09 3b 74 72 61 6e 73 6c 61 74 65 20 73 65 63 74 6f 72 20 62 63 20 75 73 69 6e   ┆an:    ;translate sector bc usin┆
0x0c4500…0c4520             67 20 74 61 62 6c 65 20 61 74 20 64 65 0d 0a 09 6d 76 69 09 62 2c 30 09 3b 64 6f 75 62 6c 65 20   ┆g table at de   mvi b,0 ;double ┆
0x0c4520…0c4540             70 72 65 63 69 73 69 6f 6e 20 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 20 69 6e 20 42 43 0d 0a 09   ┆precision sector number in BC   ┆
0x0c4540…0c4560             78 63 68 67 09 09 3b 74 72 61 6e 73 6c 61 74 65 20 74 61 62 6c 65 20 61 64 64 72 65 73 73 20 74   ┆xchg  ;translate table address t┆
0x0c4560…0c4580             6f 20 48 4c 0d 0a 09 64 61 64 09 62 09 3b 74 72 61 6e 73 6c 61 74 65 28 73 65 63 74 6f 72 29 20   ┆o HL   dad b ;translate(sector) ┆
0x0c4580…0c45a0             61 64 64 72 65 73 73 0d 0a 09 6d 6f 76 09 61 2c 6d 09 3b 74 72 61 6e 73 6c 61 74 65 64 20 73 65   ┆address   mov a,m ;translated se┆
0x0c45a0…0c45c0             63 74 6f 72 20 6e 75 6d 62 65 72 20 74 6f 20 41 0d 0a 09 73 74 61 09 69 6f 73 0d 0a 09 6d 6f 76   ┆ctor number to A   sta ios   mov┆
0x0c45c0…0c45e0             09 6c 2c 61 09 3b 72 65 74 75 72 6e 20 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 20 69 6e 20 4c 0d   ┆ l,a ;return sector number in L ┆
0x0c45e0…0c4600             0a 09 72 65 74 0d 0a 3b 0d 0a 73 65 74 64 6d 61 3a 09 3b 73 65 74 20 64 6d 61 20 61 64 64 72 65   ┆  ret  ;  setdma: ;set dma addre┆
0x0c4600…0c4620 (52, 0, 12) 0a 69 6f 64 72 31 3a 09 3b 64 72 69 76 65 20 62 61 6e 6b 20 31 0d 0a 09 6f 75 74 09 69 6c 6f 77   ┆ iodr1: ;drive bank 1   out ilow┆
0x0c4620…0c4640             2b 31 30 68 09 3b 38 38 20 66 6f 72 20 64 72 69 76 65 20 62 61 6e 6b 20 31 30 0d 0a 09 6d 6f 76   ┆+10h ;88 for drive bank 10   mov┆
0x0c4640…0c4660             09 61 2c 62 0d 0a 09 6f 75 74 09 69 68 69 67 68 2b 31 30 68 0d 0a 3b 0d 0a 77 61 69 74 30 3a 09   ┆ a,b   out ihigh+10h  ;  wait0: ┆
0x0c4660…0c4680             63 61 6c 6c 09 69 6e 73 74 61 74 09 09 3b 77 61 69 74 20 66 6f 72 20 63 6f 6d 70 6c 65 74 69 6f   ┆call instat  ;wait for completio┆
0x0c4680…0c46a0             6e 0d 0a 09 61 6e 69 09 69 6f 72 64 79 09 09 3b 72 65 61 64 79 3f 0d 0a 09 6a 7a 09 77 61 69 74   ┆n   ani iordy  ;ready?   jz wait┆
0x0c46a0…0c46c0             30 0d 0a 3b 0d 0a 3b 09 63 68 65 63 6b 20 69 6f 20 63 6f 6d 70 6c 65 74 69 6f 6e 20 6f 6b 0d 0a   ┆0  ;  ; check io completion ok  ┆
0x0c46c0…0c46e0             09 63 61 6c 6c 09 69 6e 74 79 70 65 09 09 3b 6d 75 73 74 20 62 65 20 69 6f 20 63 6f 6d 70 6c 65   ┆ call intype  ;must be io comple┆
0x0c46e0…0c4700             74 65 20 28 30 30 29 20 75 6e 6c 69 6e 6b 65 64 0d 0a 3b 09 30 30 20 75 6e 6c 69 6e 6b 65 64 20   ┆te (00) unlinked  ; 00 unlinked ┆
0x0c4700…0c4720             69 2f 6f 20 63 6f 6d 70 6c 65 74 65 2c 20 20 20 20 30 31 20 6c 69 6e 6b 65 64 20 69 2f 6f 20 63   ┆i/o complete,    01 linked i/o c┆
0x0c4720…0c4740             6f 6d 70 6c 65 74 65 20 28 6e 6f 74 20 75 73 65 64 29 0d 0a 3b 09 31 30 20 64 69 73 6b 20 73 74   ┆omplete (not used)  ; 10 disk st┆
0x0c4740…0c4760             61 74 75 73 20 63 68 61 6e 67 65 64 20 20 20 20 20 20 20 31 31 20 28 6e 6f 74 20 75 73 65 64 29   ┆atus changed       11 (not used)┆
0x0c4760…0c4780             0d 0a 09 63 70 69 09 31 30 62 09 09 3b 72 65 61 64 79 20 73 74 61 74 75 73 20 63 68 61 6e 67 65   ┆   cpi 10b  ;ready status change┆
0x0c4780…0c47a0             3f 0d 0a 09 6a 7a 09 77 72 65 61 64 79 0d 0a 3b 0d 0a 3b 09 6d 75 73 74 20 62 65 20 30 30 20 69   ┆?   jz wready  ;  ; must be 00 i┆
0x0c47a0…0c47c0             6e 20 74 68 65 20 61 63 63 75 6d 75 6c 61 74 6f 72 0d 0a 09 6f 72 61 09 61 0d 0a 09 6a 6e 7a 09   ┆n the accumulator   ora a   jnz ┆
0x0c47c0…0c47e0             77 65 72 72 6f 72 09 09 3b 73 6f 6d 65 20 6f 74 68 65 72 20 63 6f 6e 64 69 74 69 6f 6e 2c 20 72   ┆werror  ;some other condition, r┆
0x0c47e0…0c4800             65 74 72 79 0d 0a 3b 0d 0a 3b 09 63 68 65 63 6b 20 69 2f 6f 20 65 72 72 6f 72 20 62 69 74 73 0d   ┆etry  ;  ; check i/o error bits ┆
0x0c4800…0c4820 (52, 0, 13) 70 72 6d 73 67 09 3b 70 72 69 6e 74 20 6d 65 73 73 61 67 65 0d 0a 09 78 72 61 09 61 09 3b 63 6c   ┆prmsg ;print message   xra a ;cl┆
0x0c4820…0c4840             65 61 72 20 61 63 63 75 6d 75 6c 61 74 6f 72 0d 0a 09 73 74 61 09 63 64 69 73 6b 09 3b 73 65 74   ┆ear accumulator   sta cdisk ;set┆
0x0c4840…0c4860             20 69 6e 69 74 69 61 6c 6c 79 20 74 6f 20 64 69 73 6b 20 61 0d 0a 09 6a 6d 70 09 67 6f 63 70 6d   ┆ initially to disk a   jmp gocpm┆
0x0c4860…0c4880             09 3b 67 6f 20 74 6f 20 63 70 2f 6d 0d 0a 3b 0d 0a 3b 0d 0a 77 62 6f 6f 74 3a 3b 09 6c 6f 61 64   ┆ ;go to cp/m  ;  ;  wboot:; load┆
0x0c4880…0c48a0             65 72 20 6f 6e 20 74 72 61 63 6b 20 30 2c 20 73 65 63 74 6f 72 20 31 2c 20 77 68 69 63 68 20 77   ┆er on track 0, sector 1, which w┆
0x0c48a0…0c48c0             69 6c 6c 20 62 65 20 73 6b 69 70 70 65 64 20 66 6f 72 20 77 61 72 6d 20 0d 0a 3b 09 72 65 61 64   ┆ill be skipped for warm   ; read┆
0x0c48c0…0c48e0             20 63 70 2f 6d 20 66 72 6f 6d 20 64 69 73 6b 20 2d 20 61 73 73 75 6d 69 6e 67 20 74 68 65 72 65   ┆ cp/m from disk - assuming there┆
0x0c48e0…0c4900             20 69 73 20 61 20 31 32 38 20 62 79 74 65 20 63 6f 6c 64 20 73 74 61 72 74 0d 0a 3b 09 73 74 61   ┆ is a 128 byte cold start  ; sta┆
0x0c4900…0c4920             72 74 2e 0d 0a 3b 0d 0a 09 6c 78 69 09 73 70 2c 62 75 66 66 09 3b 75 73 69 6e 67 20 64 6d 61 20   ┆rt.  ;   lxi sp,buff ;using dma ┆
0x0c4920…0c4940             2d 20 74 68 75 73 20 38 30 20 74 68 72 75 20 66 66 20 61 76 61 69 6c 61 62 6c 65 20 66 6f 72 20   ┆- thus 80 thru ff available for ┆
0x0c4940…0c4960             73 74 61 63 6b 0d 0a 3b 0d 0a 09 6d 76 69 09 63 2c 72 65 74 72 79 09 3b 6d 61 78 20 72 65 74 72   ┆stack  ;   mvi c,retry ;max retr┆
0x0c4960…0c4980             69 65 73 0d 0a 09 70 75 73 68 09 62 0d 0a 77 62 6f 6f 74 30 3a 09 3b 65 6e 74 65 72 20 68 65 72   ┆ies   push b  wboot0: ;enter her┆
0x0c4980…0c49a0             65 20 6f 6e 20 65 72 72 6f 72 20 72 65 74 72 69 65 73 0d 0a 09 6c 78 69 09 62 2c 63 70 6d 62 09   ┆e on error retries   lxi b,cpmb ┆
0x0c49a0…0c49c0             3b 73 65 74 20 64 6d 61 20 61 64 64 72 65 73 73 20 74 6f 20 73 74 61 72 74 20 6f 66 20 64 69 73   ┆;set dma address to start of dis┆
0x0c49c0…0c49e0             6b 20 73 79 73 74 65 6d 0d 0a 09 63 61 6c 6c 09 73 65 74 64 6d 61 0d 0a 09 6d 76 69 09 63 2c 30   ┆k system   call setdma   mvi c,0┆
0x0c49e0…0c4a00             09 3b 62 6f 6f 74 20 66 72 6f 6d 20 64 72 69 76 65 20 30 0d 0a 09 63 61 6c 6c 09 73 65 6c 64 73   ┆ ;boot from drive 0   call selds┆
0x0c4a00…0c4a20 (52, 0, 14) 20 63 63 70 20 74 6f 20 6c 6f 67 20 69 74 20 69 6e 0d 0a 09 65 69 0d 0a 09 6a 6d 70 09 63 70 6d   ┆ ccp to log it in   ei   jmp cpm┆
0x0c4a20…0c4a40             62 0d 0a 3b 0d 0a 3b 09 65 72 72 6f 72 20 63 6f 6e 64 69 74 69 6f 6e 20 6f 63 63 75 72 72 65 64   ┆b  ;  ; error condition occurred┆
0x0c4a40…0c4a60             2c 20 70 72 69 6e 74 20 6d 65 73 73 61 67 65 20 61 6e 64 20 72 65 74 72 79 0d 0a 62 6f 6f 74 65   ┆, print message and retry  boote┆
0x0c4a60…0c4a80             72 72 3a 0d 0a 09 70 6f 70 09 62 09 3b 72 65 63 61 6c 6c 20 63 6f 75 6e 74 73 0d 0a 09 64 63 72   ┆rr:   pop b ;recall counts   dcr┆
0x0c4a80…0c4aa0             09 63 0d 0a 09 6a 7a 09 62 6f 6f 74 65 72 30 0d 0a 3b 09 74 72 79 20 61 67 61 69 6e 0d 0a 09 70   ┆ c   jz booter0  ; try again   p┆
0x0c4aa0…0c4ac0             75 73 68 09 62 0d 0a 09 6a 6d 70 09 77 62 6f 6f 74 30 0d 0a 3b 0d 0a 62 6f 6f 74 65 72 30 3a 0d   ┆ush b   jmp wboot0  ;  booter0: ┆
0x0c4ac0…0c4ae0             0a 3b 09 6f 74 68 65 72 77 69 73 65 20 74 6f 6f 20 6d 61 6e 79 20 72 65 74 72 69 65 73 0d 0a 09   ┆ ; otherwise too many retries   ┆
0x0c4ae0…0c4b00             6c 78 69 09 68 2c 62 6f 6f 74 6d 73 67 0d 0a 09 63 61 6c 6c 09 70 72 6d 73 67 0d 0a 09 6a 6d 70   ┆lxi h,bootmsg   call prmsg   jmp┆
0x0c4b00…0c4b20             09 72 6d 6f 6e 38 30 09 3b 6d 64 73 20 68 61 72 64 77 61 72 65 20 6d 6f 6e 69 74 6f 72 0d 0a 3b   ┆ rmon80 ;mds hardware monitor  ;┆
0x0c4b20…0c4b40             0d 0a 62 6f 6f 74 6d 73 67 3a 0d 0a 09 64 62 09 27 3f 62 6f 6f 74 27 2c 30 0d 0a 3b 0d 0a 3b 0d   ┆  bootmsg:   db '?boot',0  ;  ; ┆
0x0c4b40…0c4b60             0a 63 6f 6e 73 74 3a 09 3b 63 6f 6e 73 6f 6c 65 20 73 74 61 74 75 73 20 74 6f 20 72 65 67 2d 61   ┆ const: ;console status to reg-a┆
0x0c4b60…0c4b80             0d 0a 3b 09 28 65 78 61 63 74 6c 79 20 74 68 65 20 73 61 6d 65 20 61 73 20 6d 64 73 20 63 61 6c   ┆  ; (exactly the same as mds cal┆
0x0c4b80…0c4ba0             6c 29 0d 0a 09 6a 6d 70 09 63 73 74 73 0d 0a 3b 0d 0a 63 6f 6e 69 6e 3a 09 3b 63 6f 6e 73 6f 6c   ┆l)   jmp csts  ;  conin: ;consol┆
0x0c4ba0…0c4bc0             65 20 63 68 61 72 61 63 74 65 72 20 74 6f 20 72 65 67 2d 61 0d 0a 09 63 61 6c 6c 09 63 69 0d 0a   ┆e character to reg-a   call ci  ┆
0x0c4bc0…0c4be0             09 61 6e 69 09 37 66 68 09 3b 72 65 6d 6f 76 65 20 70 61 72 69 74 79 20 62 69 74 0d 0a 09 72 65   ┆ ani 7fh ;remove parity bit   re┆
0x0c4be0…0c4c00             74 0d 0a 3b 0d 0a 63 6f 6e 6f 75 74 3a 09 3b 63 6f 6e 73 6f 6c 65 20 63 68 61 72 61 63 74 65 72   ┆t  ;  conout: ;console character┆
0x0c4c00…0c4c20 (52, 0, 15) 73 73 20 67 69 76 65 6e 20 62 79 20 72 65 67 73 20 62 2c 63 0d 0a 09 6d 6f 76 09 6c 2c 63 0d 0a   ┆ss given by regs b,c   mov l,c  ┆
0x0c4c20…0c4c40             09 6d 6f 76 09 68 2c 62 0d 0a 09 73 68 6c 64 09 69 6f 64 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 72 65   ┆ mov h,b   shld iod   ret  ;  re┆
0x0c4c40…0c4c60             61 64 3a 09 3b 72 65 61 64 20 6e 65 78 74 20 64 69 73 6b 20 72 65 63 6f 72 64 20 28 61 73 73 75   ┆ad: ;read next disk record (assu┆
0x0c4c60…0c4c80             6d 69 6e 67 20 64 69 73 6b 2f 74 72 6b 2f 73 65 63 2f 64 6d 61 20 73 65 74 29 0d 0a 09 6d 76 69   ┆ming disk/trk/sec/dma set)   mvi┆
0x0c4c80…0c4ca0             09 63 2c 72 65 61 64 66 09 3b 73 65 74 20 74 6f 20 72 65 61 64 20 66 75 6e 63 74 69 6f 6e 0d 0a   ┆ c,readf ;set to read function  ┆
0x0c4ca0…0c4cc0             09 63 61 6c 6c 09 73 65 74 66 75 6e 63 0d 0a 09 63 61 6c 6c 09 77 61 69 74 69 6f 09 3b 70 65 72   ┆ call setfunc   call waitio ;per┆
0x0c4cc0…0c4ce0             66 6f 72 6d 20 72 65 61 64 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 72 65 74 09 09 3b 6d 61 79 20 68   ┆form read function   ret  ;may h┆
0x0c4ce0…0c4d00             61 76 65 20 65 72 72 6f 72 20 73 65 74 20 69 6e 20 72 65 67 2d 61 0d 0a 3b 0d 0a 3b 0d 0a 77 72   ┆ave error set in reg-a  ;  ;  wr┆
0x0c4d00…0c4d20             69 74 65 3a 09 3b 64 69 73 6b 20 77 72 69 74 65 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 6d 76 69 09   ┆ite: ;disk write function   mvi ┆
0x0c4d20…0c4d40             63 2c 77 72 69 74 66 0d 0a 09 63 61 6c 6c 09 73 65 74 66 75 6e 63 09 3b 73 65 74 20 74 6f 20 77   ┆c,writf   call setfunc ;set to w┆
0x0c4d40…0c4d60             72 69 74 65 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 63 61 6c 6c 09 77 61 69 74 69 6f 0d 0a 09 72 65   ┆rite function   call waitio   re┆
0x0c4d60…0c4d80             74 09 09 3b 6d 61 79 20 68 61 76 65 20 65 72 72 6f 72 20 73 65 74 0d 0a 3b 0d 0a 3b 0d 0a 3b 09   ┆t  ;may have error set  ;  ;  ; ┆
0x0c4d80…0c4da0             75 74 69 6c 69 74 79 20 73 75 62 72 6f 75 74 69 6e 65 73 0d 0a 70 72 6d 73 67 3a 09 3b 70 72 69   ┆utility subroutines  prmsg: ;pri┆
0x0c4da0…0c4dc0             6e 74 20 6d 65 73 73 61 67 65 20 61 74 20 68 2c 6c 20 74 6f 20 30 0d 0a 09 6d 6f 76 09 61 2c 6d   ┆nt message at h,l to 0   mov a,m┆
0x0c4dc0…0c4de0             0d 0a 09 6f 72 61 09 61 09 3b 7a 65 72 6f 3f 0d 0a 09 72 7a 0d 0a 3b 09 6d 6f 72 65 20 74 6f 20   ┆   ora a ;zero?   rz  ; more to ┆
0x0c4de0…0c4e00             70 72 69 6e 74 0d 0a 09 70 75 73 68 09 68 0d 0a 09 6d 6f 76 09 63 2c 61 0d 0a 09 63 61 6c 6c 09   ┆print   push h   mov c,a   call ┆
0x0c4e00…0c4e20 (52, 1, 1)  0a 09 63 61 6c 6c 09 69 6e 62 79 74 65 0d 0a 09 72 61 6c 0d 0a 09 6a 63 09 77 72 65 61 64 79 09   ┆  call inbyte   ral   jc wready ┆
0x0c4e20…0c4e40             09 3b 75 6e 69 74 20 6e 6f 74 20 72 65 61 64 79 0d 0a 09 72 61 72 0d 0a 09 61 6e 69 09 31 31 31   ┆ ;unit not ready   rar   ani 111┆
0x0c4e40…0c4e60             31 31 31 31 30 62 09 3b 61 6e 79 20 6f 74 68 65 72 20 65 72 72 6f 72 73 3f 20 20 28 64 65 6c 65   ┆11110b ;any other errors?  (dele┆
0x0c4e60…0c4e80             74 65 64 20 64 61 74 61 20 6f 6b 29 0d 0a 09 6a 6e 7a 09 77 65 72 72 6f 72 0d 0a 3b 0d 0a 3b 09   ┆ted data ok)   jnz werror  ;  ; ┆
0x0c4e80…0c4ea0             72 65 61 64 20 6f 72 20 77 72 69 74 65 20 69 73 20 6f 6b 2c 20 61 63 63 75 6d 75 6c 61 74 6f 72   ┆read or write is ok, accumulator┆
0x0c4ea0…0c4ec0             20 63 6f 6e 74 61 69 6e 73 20 7a 65 72 6f 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 77 72 65 61 64 79 3a   ┆ contains zero   ret  ;  wready:┆
0x0c4ec0…0c4ee0             09 3b 6e 6f 74 20 72 65 61 64 79 2c 20 74 72 65 61 74 20 61 73 20 65 72 72 6f 72 20 66 6f 72 20   ┆ ;not ready, treat as error for ┆
0x0c4ee0…0c4f00             6e 6f 77 0d 0a 09 63 61 6c 6c 09 69 6e 62 79 74 65 09 09 3b 63 6c 65 61 72 20 72 65 73 75 6c 74   ┆now   call inbyte  ;clear result┆
0x0c4f00…0c4f20             20 62 79 74 65 0d 0a 09 6a 6d 70 09 74 72 79 63 6f 75 6e 74 0d 0a 3b 0d 0a 77 65 72 72 6f 72 3a   ┆ byte   jmp trycount  ;  werror:┆
0x0c4f20…0c4f40             09 3b 72 65 74 75 72 6e 20 68 61 72 64 77 61 72 65 20 6d 61 6c 66 75 6e 63 74 69 6f 6e 20 28 63   ┆ ;return hardware malfunction (c┆
0x0c4f40…0c4f60             72 63 2c 20 74 72 61 63 6b 2c 20 73 65 65 6b 2c 20 65 74 63 2e 29 0d 0a 3b 09 74 68 65 20 6d 64   ┆rc, track, seek, etc.)  ; the md┆
0x0c4f60…0c4f80             73 20 63 6f 6e 74 72 6f 6c 6c 65 72 20 68 61 73 20 72 65 74 75 72 6e 65 64 20 61 20 62 69 74 20   ┆s controller has returned a bit ┆
0x0c4f80…0c4fa0             69 6e 20 65 61 63 68 20 70 6f 73 69 74 69 6f 6e 0d 0a 3b 09 6f 66 20 74 68 65 20 61 63 63 75 6d   ┆in each position  ; of the accum┆
0x0c4fa0…0c4fc0             75 6c 61 74 6f 72 2c 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 74 6f 20 74 68 65 20 63 6f 6e   ┆ulator, corresponding to the con┆
0x0c4fc0…0c4fe0             64 69 74 69 6f 6e 73 3a 0d 0a 3b 09 30 09 2d 20 64 65 6c 65 74 65 64 20 64 61 74 61 20 28 61 63   ┆ditions:  ; 0 - deleted data (ac┆
0x0c4fe0…0c5000             63 65 70 74 65 64 20 61 73 20 6f 6b 20 61 62 6f 76 65 29 0d 0a 3b 09 31 09 2d 20 63 72 63 20 65   ┆cepted as ok above)  ; 1 - crc e┆
0x0c5000…0c5020 (52, 1, 2)  65 72 73 69 6f 6e 20 32 2e 32 0d 0a 3b 0d 0a 3b 09 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 31   ┆ersion 2.2  ;  ; Copyright (c) 1┆
0x0c5020…0c5040             39 38 30 0d 0a 3b 09 44 69 67 69 74 61 6c 20 52 65 73 65 61 72 63 68 0d 0a 3b 09 42 6f 78 20 35   ┆980  ; Digital Research  ; Box 5┆
0x0c5040…0c5060             37 39 2c 20 50 61 63 69 66 69 63 20 47 72 6f 76 65 0d 0a 3b 09 43 61 6c 69 66 6f 72 6e 69 61 2c   ┆79, Pacific Grove  ; California,┆
0x0c5060…0c5080             20 39 33 39 35 30 0d 0a 3b 0d 0a 3b 0d 0a 74 72 75 65 09 65 71 75 09 30 66 66 66 66 68 09 3b 76   ┆ 93950  ;  ;  true equ 0ffffh ;v┆
0x0c5080…0c50a0             61 6c 75 65 20 6f 66 20 22 74 72 75 65 22 0d 0a 66 61 6c 73 65 09 65 71 75 09 6e 6f 74 20 74 72   ┆alue of "true"  false equ not tr┆
0x0c50a0…0c50c0             75 65 09 3b 22 66 61 6c 73 65 22 0d 0a 74 65 73 74 09 65 71 75 09 66 61 6c 73 65 09 3b 74 72 75   ┆ue ;"false"  test equ false ;tru┆
0x0c50c0…0c50e0             65 20 69 66 20 74 65 73 74 20 62 69 6f 73 0d 0a 3b 0d 0a 09 69 66 09 74 65 73 74 0d 0a 62 69 61   ┆e if test bios  ;   if test  bia┆
0x0c50e0…0c5100             73 09 65 71 75 09 30 33 34 30 30 68 09 3b 62 61 73 65 20 6f 66 20 43 43 50 20 69 6e 20 74 65 73   ┆s equ 03400h ;base of CCP in tes┆
0x0c5100…0c5120             74 20 73 79 73 74 65 6d 0d 0a 09 65 6e 64 69 66 0d 0a 09 69 66 09 6e 6f 74 20 74 65 73 74 0d 0a   ┆t system   endif   if not test  ┆
0x0c5120…0c5140             62 69 61 73 09 65 71 75 09 30 30 30 30 68 09 3b 67 65 6e 65 72 61 74 65 20 72 65 6c 6f 63 61 74   ┆bias equ 0000h ;generate relocat┆
0x0c5140…0c5160             61 62 6c 65 20 63 70 2f 6d 20 73 79 73 74 65 6d 0d 0a 09 65 6e 64 69 66 0d 0a 3b 0d 0a 70 61 74   ┆able cp/m system   endif  ;  pat┆
0x0c5160…0c5180             63 68 09 65 71 75 09 31 36 30 30 68 0d 0a 3b 0d 0a 09 6f 72 67 09 70 61 74 63 68 0d 0a 63 70 6d   ┆ch equ 1600h  ;   org patch  cpm┆
0x0c5180…0c51a0             62 09 65 71 75 09 24 2d 70 61 74 63 68 09 3b 62 61 73 65 20 6f 66 20 63 70 6d 20 63 6f 6e 73 6f   ┆b equ $-patch ;base of cpm conso┆
0x0c51a0…0c51c0             6c 65 20 70 72 6f 63 65 73 73 6f 72 0d 0a 62 64 6f 73 09 65 71 75 09 38 30 36 68 2b 63 70 6d 62   ┆le processor  bdos equ 806h+cpmb┆
0x0c51c0…0c51e0             09 3b 62 61 73 69 63 20 64 6f 73 20 28 72 65 73 69 64 65 6e 74 20 70 6f 72 74 69 6f 6e 29 0d 0a   ┆ ;basic dos (resident portion)  ┆
0x0c51e0…0c5200             63 70 6d 6c 09 65 71 75 09 24 2d 63 70 6d 62 09 3b 6c 65 6e 67 74 68 20 28 69 6e 20 62 79 74 65   ┆cpml equ $-cpmb ;length (in byte┆
0x0c5200…0c5220 (52, 1, 3)  6d 61 63 6c 69 62 09 64 69 73 6b 64 65 66 09 3b 6c 6f 61 64 20 74 68 65 20 64 69 73 6b 20 64 65   ┆maclib diskdef ;load the disk de┆
0x0c5220…0c5240             66 69 6e 69 74 69 6f 6e 20 6c 69 62 72 61 72 79 0d 0a 09 64 69 73 6b 73 09 34 09 3b 66 6f 75 72   ┆finition library   disks 4 ;four┆
0x0c5240…0c5260             20 64 69 73 6b 73 0d 0a 09 64 69 73 6b 64 65 66 09 30 2c 31 2c 32 36 2c 36 2c 31 30 32 34 2c 32   ┆ disks   diskdef 0,1,26,6,1024,2┆
0x0c5260…0c5280             34 33 2c 36 34 2c 36 34 2c 6f 66 66 73 65 74 0d 0a 09 64 69 73 6b 64 65 66 09 31 2c 30 0d 0a 09   ┆43,64,64,offset   diskdef 1,0   ┆
0x0c5280…0c52a0             64 69 73 6b 64 65 66 09 32 2c 30 0d 0a 09 64 69 73 6b 64 65 66 09 33 2c 30 0d 0a 3b 09 65 6e 64   ┆diskdef 2,0   diskdef 3,0  ; end┆
0x0c52a0…0c52c0             65 66 20 6f 63 63 75 72 73 20 61 74 20 65 6e 64 20 6f 66 20 61 73 73 65 6d 62 6c 79 0d 0a 3b 0d   ┆ef occurs at end of assembly  ; ┆
0x0c52c0…0c52e0             0a 3b 09 65 6e 64 20 6f 66 20 63 6f 6e 74 72 6f 6c 6c 65 72 20 2d 20 69 6e 64 65 70 65 6e 64 65   ┆ ; end of controller - independe┆
0x0c52e0…0c5300             6e 74 20 63 6f 64 65 2c 20 74 68 65 20 72 65 6d 61 69 6e 69 6e 67 20 73 75 62 72 6f 75 74 69 6e   ┆nt code, the remaining subroutin┆
0x0c5300…0c5320             65 73 0d 0a 3b 09 61 72 65 20 74 61 69 6c 6f 72 65 64 20 74 6f 20 74 68 65 20 70 61 72 74 69 63   ┆es  ; are tailored to the partic┆
0x0c5320…0c5340             75 6c 61 72 20 6f 70 65 72 61 74 69 6e 67 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 2c 20 61 6e 64 20   ┆ular operating environment, and ┆
0x0c5340…0c5360             6d 75 73 74 0d 0a 3b 09 62 65 20 61 6c 74 65 72 65 64 20 66 6f 72 20 61 6e 79 20 73 79 73 74 65   ┆must  ; be altered for any syste┆
0x0c5360…0c5380             6d 20 77 68 69 63 68 20 64 69 66 66 65 72 73 20 66 72 6f 6d 20 74 68 65 20 69 6e 74 65 6c 20 6d   ┆m which differs from the intel m┆
0x0c5380…0c53a0             64 73 2e 0d 0a 3b 0d 0a 3b 09 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 64 65 20 61 73 73   ┆ds.  ;  ; the following code ass┆
0x0c53a0…0c53c0             75 6d 65 73 20 74 68 65 20 6d 64 73 20 6d 6f 6e 69 74 6f 72 20 65 78 69 73 74 73 20 61 74 20 30   ┆umes the mds monitor exists at 0┆
0x0c53c0…0c53e0             66 38 30 30 68 0d 0a 3b 09 61 6e 64 20 75 73 65 73 20 74 68 65 20 69 2f 6f 20 73 75 62 72 6f 75   ┆f800h  ; and uses the i/o subrou┆
0x0c53e0…0c5400             74 69 6e 65 73 20 77 69 74 68 69 6e 20 74 68 65 20 6d 6f 6e 69 74 6f 72 0d 0a 3b 0d 0a 3b 09 77   ┆tines within the monitor  ;  ; w┆
0x0c5400…0c5420 (52, 1, 4)  67 6f 63 70 6d 09 3b 67 6f 20 74 6f 20 63 70 2f 6d 0d 0a 3b 0d 0a 3b 0d 0a 77 62 6f 6f 74 3a 3b   ┆gocpm ;go to cp/m  ;  ;  wboot:;┆
0x0c5420…0c5440             09 6c 6f 61 64 65 72 20 6f 6e 20 74 72 61 63 6b 20 30 2c 20 73 65 63 74 6f 72 20 31 2c 20 77 68   ┆ loader on track 0, sector 1, wh┆
0x0c5440…0c5460             69 63 68 20 77 69 6c 6c 20 62 65 20 73 6b 69 70 70 65 64 20 66 6f 72 20 77 61 72 6d 20 0d 0a 3b   ┆ich will be skipped for warm   ;┆
0x0c5460…0c5480             09 72 65 61 64 20 63 70 2f 6d 20 66 72 6f 6d 20 64 69 73 6b 20 2d 20 61 73 73 75 6d 69 6e 67 20   ┆ read cp/m from disk - assuming ┆
0x0c5480…0c54a0             74 68 65 72 65 20 69 73 20 61 20 31 32 38 20 62 79 74 65 20 63 6f 6c 64 20 73 74 61 72 74 0d 0a   ┆there is a 128 byte cold start  ┆
0x0c54a0…0c54c0             3b 09 73 74 61 72 74 2e 0d 0a 3b 0d 0a 09 6c 78 69 09 73 70 2c 62 75 66 66 09 3b 75 73 69 6e 67   ┆; start.  ;   lxi sp,buff ;using┆
0x0c54c0…0c54e0             20 64 6d 61 20 2d 20 74 68 75 73 20 38 30 20 74 68 72 75 20 66 66 20 61 76 61 69 6c 61 62 6c 65   ┆ dma - thus 80 thru ff available┆
0x0c54e0…0c5500             20 66 6f 72 20 73 74 61 63 6b 0d 0a 3b 0d 0a 09 6d 76 69 09 63 2c 72 65 74 72 79 09 3b 6d 61 78   ┆ for stack  ;   mvi c,retry ;max┆
0x0c5500…0c5520             20 72 65 74 72 69 65 73 0d 0a 09 70 75 73 68 09 62 0d 0a 77 62 6f 6f 74 30 3a 09 3b 65 6e 74 65   ┆ retries   push b  wboot0: ;ente┆
0x0c5520…0c5540             72 20 68 65 72 65 20 6f 6e 20 65 72 72 6f 72 20 72 65 74 72 69 65 73 0d 0a 09 6c 78 69 09 62 2c   ┆r here on error retries   lxi b,┆
0x0c5540…0c5560             63 70 6d 62 09 3b 73 65 74 20 64 6d 61 20 61 64 64 72 65 73 73 20 74 6f 20 73 74 61 72 74 20 6f   ┆cpmb ;set dma address to start o┆
0x0c5560…0c5580             66 20 64 69 73 6b 20 73 79 73 74 65 6d 0d 0a 09 63 61 6c 6c 09 73 65 74 64 6d 61 0d 0a 09 6d 76   ┆f disk system   call setdma   mv┆
0x0c5580…0c55a0             69 09 63 2c 30 09 3b 62 6f 6f 74 20 66 72 6f 6d 20 64 72 69 76 65 20 30 0d 0a 09 63 61 6c 6c 09   ┆i c,0 ;boot from drive 0   call ┆
0x0c55a0…0c55c0             73 65 6c 64 73 6b 0d 0a 09 6d 76 69 09 63 2c 30 0d 0a 09 63 61 6c 6c 09 73 65 74 74 72 6b 09 3b   ┆seldsk   mvi c,0   call settrk ;┆
0x0c55c0…0c55e0             73 74 61 72 74 20 77 69 74 68 20 74 72 61 63 6b 20 30 0d 0a 09 6d 76 69 09 63 2c 32 09 3b 73 74   ┆start with track 0   mvi c,2 ;st┆
0x0c55e0…0c5600             61 72 74 20 72 65 61 64 69 6e 67 20 73 65 63 74 6f 72 20 32 0d 0a 09 63 61 6c 6c 09 73 65 74 73   ┆art reading sector 2   call sets┆
0x0c5600…0c5620 (52, 1, 5)  72 72 6f 72 0d 0a 3b 09 32 09 2d 20 73 65 65 6b 20 65 72 72 6f 72 0d 0a 3b 09 33 09 2d 20 61 64   ┆rror  ; 2 - seek error  ; 3 - ad┆
0x0c5620…0c5640             64 72 65 73 73 20 65 72 72 6f 72 20 28 68 61 72 64 77 61 72 65 20 6d 61 6c 66 75 6e 63 74 69 6f   ┆dress error (hardware malfunctio┆
0x0c5640…0c5660             6e 29 0d 0a 3b 09 34 09 2d 20 64 61 74 61 20 6f 76 65 72 2f 75 6e 64 65 72 20 66 6c 6f 77 20 28   ┆n)  ; 4 - data over/under flow (┆
0x0c5660…0c5680             68 61 72 64 77 61 72 65 20 6d 61 6c 66 75 6e 63 74 69 6f 6e 29 0d 0a 3b 09 35 09 2d 20 77 72 69   ┆hardware malfunction)  ; 5 - wri┆
0x0c5680…0c56a0             74 65 20 70 72 6f 74 65 63 74 20 28 74 72 65 61 74 65 64 20 61 73 20 6e 6f 74 20 72 65 61 64 79   ┆te protect (treated as not ready┆
0x0c56a0…0c56c0             29 0d 0a 3b 09 36 09 2d 20 77 72 69 74 65 20 65 72 72 6f 72 20 28 68 61 72 64 77 61 72 65 20 6d   ┆)  ; 6 - write error (hardware m┆
0x0c56c0…0c56e0             61 6c 66 75 6e 63 74 69 6f 6e 29 0d 0a 3b 09 37 09 2d 20 6e 6f 74 20 72 65 61 64 79 0d 0a 3b 09   ┆alfunction)  ; 7 - not ready  ; ┆
0x0c56e0…0c5700             28 61 63 63 75 6d 75 6c 61 74 6f 72 20 62 69 74 73 20 61 72 65 20 6e 75 6d 62 65 72 65 64 20 37   ┆(accumulator bits are numbered 7┆
0x0c5700…0c5720             20 36 20 35 20 34 20 33 20 32 20 31 20 30 29 0d 0a 3b 0d 0a 3b 09 69 74 20 6d 61 79 20 62 65 20   ┆ 6 5 4 3 2 1 0)  ;  ; it may be ┆
0x0c5720…0c5740             75 73 65 66 75 6c 20 74 6f 20 66 69 6c 74 65 72 20 6f 75 74 20 74 68 65 20 76 61 72 69 6f 75 73   ┆useful to filter out the various┆
0x0c5740…0c5760             20 63 6f 6e 64 69 74 69 6f 6e 73 2c 0d 0a 3b 09 62 75 74 20 77 65 20 77 69 6c 6c 20 67 65 74 20   ┆ conditions,  ; but we will get ┆
0x0c5760…0c5780             61 20 70 65 72 6d 61 6e 65 6e 74 20 65 72 72 6f 72 20 6d 65 73 73 61 67 65 20 69 66 20 69 74 20   ┆a permanent error message if it ┆
0x0c5780…0c57a0             69 73 20 6e 6f 74 0d 0a 3b 09 72 65 63 6f 76 65 72 61 62 6c 65 2e 20 20 69 6e 20 61 6e 79 20 63   ┆is not  ; recoverable.  in any c┆
0x0c57a0…0c57c0             61 73 65 2c 20 74 68 65 20 6e 6f 74 20 72 65 61 64 79 20 63 6f 6e 64 69 74 69 6f 6e 20 69 73 0d   ┆ase, the not ready condition is ┆
0x0c57c0…0c57e0             0a 3b 09 74 72 65 61 74 65 64 20 61 73 20 61 20 73 65 70 61 72 61 74 65 20 63 6f 6e 64 69 74 69   ┆ ; treated as a separate conditi┆
0x0c57e0…0c5800             6f 6e 20 66 6f 72 20 6c 61 74 65 72 20 69 6d 70 72 6f 76 65 6d 65 6e 74 0d 0a 74 72 79 63 6f 75   ┆on for later improvement  trycou┆
0x0c5800…0c5820 (52, 1, 6)  73 29 20 6f 66 20 63 70 6d 20 73 79 73 74 65 6d 0d 0a 6e 73 65 63 74 73 09 65 71 75 09 63 70 6d   ┆s) of cpm system  nsects equ cpm┆
0x0c5820…0c5840             6c 2f 31 32 38 09 3b 6e 75 6d 62 65 72 20 6f 66 20 73 65 63 74 6f 72 73 20 74 6f 20 6c 6f 61 64   ┆l/128 ;number of sectors to load┆
0x0c5840…0c5860             0d 0a 6f 66 66 73 65 74 09 65 71 75 09 32 09 3b 6e 75 6d 62 65 72 20 6f 66 20 64 69 73 6b 20 74   ┆  offset equ 2 ;number of disk t┆
0x0c5860…0c5880             72 61 63 6b 73 20 75 73 65 64 20 62 79 20 63 70 2f 6d 0d 0a 63 64 69 73 6b 09 65 71 75 09 30 30   ┆racks used by cp/m  cdisk equ 00┆
0x0c5880…0c58a0             30 34 68 09 3b 61 64 64 72 65 73 73 20 6f 66 20 6c 61 73 74 20 6c 6f 67 67 65 64 20 64 69 73 6b   ┆04h ;address of last logged disk┆
0x0c58a0…0c58c0             20 6f 6e 20 77 61 72 6d 20 73 74 61 72 74 0d 0a 62 75 66 66 09 65 71 75 09 30 30 38 30 68 09 3b   ┆ on warm start  buff equ 0080h ;┆
0x0c58c0…0c58e0             64 65 66 61 75 6c 74 20 62 75 66 66 65 72 20 61 64 64 72 65 73 73 0d 0a 72 65 74 72 79 09 65 71   ┆default buffer address  retry eq┆
0x0c58e0…0c5900             75 09 31 30 09 3b 6d 61 78 20 72 65 74 72 69 65 73 20 6f 6e 20 64 69 73 6b 20 69 2f 6f 20 62 65   ┆u 10 ;max retries on disk i/o be┆
0x0c5900…0c5920             66 6f 72 65 20 65 72 72 6f 72 0d 0a 3b 0d 0a 3b 09 70 65 72 66 6f 72 6d 20 66 6f 6c 6c 6f 77 69   ┆fore error  ;  ; perform followi┆
0x0c5920…0c5940             6e 67 20 66 75 6e 63 74 69 6f 6e 73 0d 0a 3b 09 62 6f 6f 74 09 63 6f 6c 64 20 73 74 61 72 74 0d   ┆ng functions  ; boot cold start ┆
0x0c5940…0c5960             0a 3b 09 77 62 6f 6f 74 09 77 61 72 6d 20 73 74 61 72 74 20 28 73 61 76 65 20 69 2f 6f 20 62 79   ┆ ; wboot warm start (save i/o by┆
0x0c5960…0c5980             74 65 29 0d 0a 3b 09 28 62 6f 6f 74 20 61 6e 64 20 77 62 6f 6f 74 20 61 72 65 20 74 68 65 20 73   ┆te)  ; (boot and wboot are the s┆
0x0c5980…0c59a0             61 6d 65 20 66 6f 72 20 6d 64 73 29 0d 0a 3b 09 63 6f 6e 73 74 09 63 6f 6e 73 6f 6c 65 20 73 74   ┆ame for mds)  ; const console st┆
0x0c59a0…0c59c0             61 74 75 73 0d 0a 3b 09 09 72 65 67 2d 61 20 3d 20 30 30 20 69 66 20 6e 6f 20 63 68 61 72 61 63   ┆atus  ;  reg-a = 00 if no charac┆
0x0c59c0…0c59e0             74 65 72 20 72 65 61 64 79 0d 0a 3b 09 09 72 65 67 2d 61 20 3d 20 66 66 20 69 66 20 63 68 61 72   ┆ter ready  ;  reg-a = ff if char┆
0x0c59e0…0c5a00             61 63 74 65 72 20 72 65 61 64 79 0d 0a 3b 09 63 6f 6e 69 6e 09 63 6f 6e 73 6f 6c 65 20 63 68 61   ┆acter ready  ; conin console cha┆
0x0c5a00…0c5a20 (52, 1, 7)  65 20 61 6c 73 6f 20 61 73 73 75 6d 65 20 74 68 65 20 6d 64 73 20 73 79 73 74 65 6d 20 68 61 73   ┆e also assume the mds system has┆
0x0c5a20…0c5a40             20 66 6f 75 72 20 64 69 73 6b 20 64 72 69 76 65 73 0d 0a 72 65 76 72 74 09 65 71 75 09 30 66 64   ┆ four disk drives  revrt equ 0fd┆
0x0c5a40…0c5a60             68 09 3b 69 6e 74 65 72 72 75 70 74 20 72 65 76 65 72 74 20 70 6f 72 74 0d 0a 69 6e 74 63 09 65   ┆h ;interrupt revert port  intc e┆
0x0c5a60…0c5a80             71 75 09 30 66 63 68 09 3b 69 6e 74 65 72 72 75 70 74 20 6d 61 73 6b 20 70 6f 72 74 0d 0a 69 63   ┆qu 0fch ;interrupt mask port  ic┆
0x0c5a80…0c5aa0             6f 6e 09 65 71 75 09 30 66 33 68 09 3b 69 6e 74 65 72 72 75 70 74 20 63 6f 6e 74 72 6f 6c 20 70   ┆on equ 0f3h ;interrupt control p┆
0x0c5aa0…0c5ac0             6f 72 74 0d 0a 69 6e 74 65 09 65 71 75 09 30 31 31 31 24 31 31 31 30 62 09 3b 65 6e 61 62 6c 65   ┆ort  inte equ 0111$1110b ;enable┆
0x0c5ac0…0c5ae0             20 72 73 74 20 30 28 77 61 72 6d 20 62 6f 6f 74 29 2c 20 72 73 74 20 37 20 28 6d 6f 6e 69 74 6f   ┆ rst 0(warm boot), rst 7 (monito┆
0x0c5ae0…0c5b00             72 29 0d 0a 3b 0d 0a 3b 09 6d 64 73 20 6d 6f 6e 69 74 6f 72 20 65 71 75 61 74 65 73 0d 0a 6d 6f   ┆r)  ;  ; mds monitor equates  mo┆
0x0c5b00…0c5b20             6e 38 30 09 65 71 75 09 30 66 38 30 30 68 09 3b 6d 64 73 20 6d 6f 6e 69 74 6f 72 0d 0a 72 6d 6f   ┆n80 equ 0f800h ;mds monitor  rmo┆
0x0c5b20…0c5b40             6e 38 30 09 65 71 75 09 30 66 66 30 66 68 09 3b 72 65 73 74 61 72 74 20 6d 6f 6e 38 30 20 28 62   ┆n80 equ 0ff0fh ;restart mon80 (b┆
0x0c5b40…0c5b60             6f 6f 74 20 65 72 72 6f 72 29 0d 0a 63 69 09 65 71 75 09 30 66 38 30 33 68 09 3b 63 6f 6e 73 6f   ┆oot error)  ci equ 0f803h ;conso┆
0x0c5b60…0c5b80             6c 65 20 63 68 61 72 61 63 74 65 72 20 74 6f 20 72 65 67 2d 61 0d 0a 72 69 09 65 71 75 09 30 66   ┆le character to reg-a  ri equ 0f┆
0x0c5b80…0c5ba0             38 30 36 68 09 3b 72 65 61 64 65 72 20 69 6e 20 74 6f 20 72 65 67 2d 61 0d 0a 63 6f 09 65 71 75   ┆806h ;reader in to reg-a  co equ┆
0x0c5ba0…0c5bc0             09 30 66 38 30 39 68 09 3b 63 6f 6e 73 6f 6c 65 20 63 68 61 72 20 66 72 6f 6d 20 63 20 74 6f 20   ┆ 0f809h ;console char from c to ┆
0x0c5bc0…0c5be0             63 6f 6e 73 6f 6c 65 20 6f 75 74 0d 0a 70 6f 09 65 71 75 09 30 66 38 30 63 68 09 3b 70 75 6e 63   ┆console out  po equ 0f80ch ;punc┆
0x0c5be0…0c5c00             68 20 63 68 61 72 20 66 72 6f 6d 20 63 20 74 6f 20 70 75 6e 63 68 20 64 65 76 69 63 65 0d 0a 6c   ┆h char from c to punch device  l┆
0x0c5c00…0c5c20 (52, 1, 8)  65 63 0d 0a 3b 0d 0a 3b 09 72 65 61 64 20 73 65 63 74 6f 72 73 2c 20 63 6f 75 6e 74 20 6e 73 65   ┆ec  ;  ; read sectors, count nse┆
0x0c5c20…0c5c40             63 74 73 20 74 6f 20 7a 65 72 6f 0d 0a 09 70 6f 70 09 62 09 3b 31 30 2d 65 72 72 6f 72 20 63 6f   ┆cts to zero   pop b ;10-error co┆
0x0c5c40…0c5c60             75 6e 74 0d 0a 09 6d 76 69 09 62 2c 6e 73 65 63 74 73 0d 0a 72 64 73 65 63 3a 09 3b 72 65 61 64   ┆unt   mvi b,nsects  rdsec: ;read┆
0x0c5c60…0c5c80             20 6e 65 78 74 20 73 65 63 74 6f 72 0d 0a 09 70 75 73 68 09 62 09 3b 73 61 76 65 20 73 65 63 74   ┆ next sector   push b ;save sect┆
0x0c5c80…0c5ca0             6f 72 20 63 6f 75 6e 74 0d 0a 09 63 61 6c 6c 09 72 65 61 64 0d 0a 09 6a 6e 7a 09 62 6f 6f 74 65   ┆or count   call read   jnz boote┆
0x0c5ca0…0c5cc0             72 72 09 3b 72 65 74 72 79 20 69 66 20 65 72 72 6f 72 73 20 6f 63 63 75 72 0d 0a 09 6c 68 6c 64   ┆rr ;retry if errors occur   lhld┆
0x0c5cc0…0c5ce0             09 69 6f 64 09 3b 69 6e 63 72 65 6d 65 6e 74 20 64 6d 61 20 61 64 64 72 65 73 73 0d 0a 09 6c 78   ┆ iod ;increment dma address   lx┆
0x0c5ce0…0c5d00             69 09 64 2c 31 32 38 09 3b 73 65 63 74 6f 72 20 73 69 7a 65 0d 0a 09 64 61 64 09 64 09 3b 69 6e   ┆i d,128 ;sector size   dad d ;in┆
0x0c5d00…0c5d20             63 72 65 6d 65 6e 74 65 64 20 64 6d 61 20 61 64 64 72 65 73 73 20 69 6e 20 68 6c 0d 0a 09 6d 6f   ┆cremented dma address in hl   mo┆
0x0c5d20…0c5d40             76 09 62 2c 68 0d 0a 09 6d 6f 76 09 63 2c 6c 09 3b 72 65 61 64 79 20 66 6f 72 20 63 61 6c 6c 20   ┆v b,h   mov c,l ;ready for call ┆
0x0c5d40…0c5d60             74 6f 20 73 65 74 20 64 6d 61 0d 0a 09 63 61 6c 6c 09 73 65 74 64 6d 61 0d 0a 09 6c 64 61 09 69   ┆to set dma   call setdma   lda i┆
0x0c5d60…0c5d80             6f 73 09 3b 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 20 6a 75 73 74 20 72 65 61 64 0d 0a 09 63 70   ┆os ;sector number just read   cp┆
0x0c5d80…0c5da0             69 09 32 36 09 3b 72 65 61 64 20 6c 61 73 74 20 73 65 63 74 6f 72 3f 0d 0a 09 6a 63 09 72 64 31   ┆i 26 ;read last sector?   jc rd1┆
0x0c5da0…0c5dc0             0d 0a 3b 09 6d 75 73 74 20 62 65 20 73 65 63 74 6f 72 20 32 36 2c 20 7a 65 72 6f 20 61 6e 64 20   ┆  ; must be sector 26, zero and ┆
0x0c5dc0…0c5de0             67 6f 20 74 6f 20 6e 65 78 74 20 74 72 61 63 6b 0d 0a 09 6c 64 61 09 69 6f 74 09 3b 67 65 74 20   ┆go to next track   lda iot ;get ┆
0x0c5de0…0c5e00             74 72 61 63 6b 20 74 6f 20 72 65 67 69 73 74 65 72 20 61 0d 0a 09 69 6e 72 09 61 0d 0a 09 6d 6f   ┆track to register a   inr a   mo┆
0x0c5e00…0c5e20 (52, 1, 9)  6e 74 3a 0d 0a 3b 09 72 65 67 69 73 74 65 72 20 63 20 63 6f 6e 74 61 69 6e 73 20 72 65 74 72 79   ┆nt:  ; register c contains retry┆
0x0c5e20…0c5e40             20 63 6f 75 6e 74 2c 20 64 65 63 72 65 6d 65 6e 74 20 27 74 69 6c 20 7a 65 72 6f 0d 0a 09 64 63   ┆ count, decrement 'til zero   dc┆
0x0c5e40…0c5e60             72 09 63 0d 0a 09 6a 6e 7a 09 72 65 77 61 69 74 09 3b 66 6f 72 20 61 6e 6f 74 68 65 72 20 74 72   ┆r c   jnz rewait ;for another tr┆
0x0c5e60…0c5e80             79 0d 0a 3b 0d 0a 3b 09 63 61 6e 6e 6f 74 20 72 65 63 6f 76 65 72 20 66 72 6f 6d 20 65 72 72 6f   ┆y  ;  ; cannot recover from erro┆
0x0c5e80…0c5ea0             72 0d 0a 09 6d 76 69 09 61 2c 31 09 3b 65 72 72 6f 72 20 63 6f 64 65 0d 0a 09 72 65 74 0d 0a 3b   ┆r   mvi a,1 ;error code   ret  ;┆
0x0c5ea0…0c5ec0             0d 0a 3b 09 69 6e 74 79 70 65 2c 20 69 6e 62 79 74 65 2c 20 69 6e 73 74 61 74 20 72 65 61 64 20   ┆  ; intype, inbyte, instat read ┆
0x0c5ec0…0c5ee0             64 72 69 76 65 20 62 61 6e 6b 20 30 30 20 6f 72 20 31 30 0d 0a 69 6e 74 79 70 65 3a 09 6c 64 61   ┆drive bank 00 or 10  intype: lda┆
0x0c5ee0…0c5f00             09 64 62 61 6e 6b 0d 0a 09 6f 72 61 09 61 0d 0a 09 6a 6e 7a 09 69 6e 74 79 70 31 09 3b 73 6b 69   ┆ dbank   ora a   jnz intyp1 ;ski┆
0x0c5f00…0c5f20             70 20 74 6f 20 62 61 6e 6b 20 31 30 0d 0a 09 69 6e 09 72 74 79 70 65 0d 0a 09 72 65 74 0d 0a 69   ┆p to bank 10   in rtype   ret  i┆
0x0c5f20…0c5f40             6e 74 79 70 31 3a 09 69 6e 09 72 74 79 70 65 2b 31 30 68 09 3b 37 38 20 66 6f 72 20 30 2c 31 20   ┆ntyp1: in rtype+10h ;78 for 0,1 ┆
0x0c5f40…0c5f60             20 38 38 20 66 6f 72 20 32 2c 33 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 69 6e 62 79 74 65 3a 09 6c 64   ┆ 88 for 2,3   ret  ;  inbyte: ld┆
0x0c5f60…0c5f80             61 09 64 62 61 6e 6b 0d 0a 09 6f 72 61 09 61 0d 0a 09 6a 6e 7a 09 69 6e 62 79 74 31 0d 0a 09 69   ┆a dbank   ora a   jnz inbyt1   i┆
0x0c5f80…0c5fa0             6e 09 72 62 79 74 65 0d 0a 09 72 65 74 0d 0a 69 6e 62 79 74 31 3a 09 69 6e 09 72 62 79 74 65 2b   ┆n rbyte   ret  inbyt1: in rbyte+┆
0x0c5fa0…0c5fc0             31 30 68 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 69 6e 73 74 61 74 3a 09 6c 64 61 09 64 62 61 6e 6b 0d   ┆10h   ret  ;  instat: lda dbank ┆
0x0c5fc0…0c5fe0             0a 09 6f 72 61 09 61 0d 0a 09 6a 6e 7a 09 69 6e 73 74 61 31 0d 0a 09 69 6e 09 64 73 74 61 74 0d   ┆  ora a   jnz insta1   in dstat ┆
0x0c5fe0…0c6000             0a 09 72 65 74 0d 0a 69 6e 73 74 61 31 3a 09 69 6e 09 64 73 74 61 74 2b 31 30 68 0d 0a 09 72 65   ┆  ret  insta1: in dstat+10h   re┆
0x0c6000…0c6020 (52, 1, 10) 72 61 63 74 65 72 20 69 6e 20 28 72 65 73 75 6c 74 20 69 6e 20 72 65 67 2d 61 29 0d 0a 3b 09 63   ┆racter in (result in reg-a)  ; c┆
0x0c6020…0c6040             6f 6e 6f 75 74 09 63 6f 6e 73 6f 6c 65 20 63 68 61 72 61 63 74 65 72 20 6f 75 74 20 28 63 68 61   ┆onout console character out (cha┆
0x0c6040…0c6060             72 20 69 6e 20 72 65 67 2d 63 29 0d 0a 3b 09 6c 69 73 74 09 6c 69 73 74 20 6f 75 74 20 28 63 68   ┆r in reg-c)  ; list list out (ch┆
0x0c6060…0c6080             61 72 20 69 6e 20 72 65 67 2d 63 29 0d 0a 3b 09 70 75 6e 63 68 09 70 75 6e 63 68 20 6f 75 74 20   ┆ar in reg-c)  ; punch punch out ┆
0x0c6080…0c60a0             28 63 68 61 72 20 69 6e 20 72 65 67 2d 63 29 0d 0a 3b 09 72 65 61 64 65 72 09 70 61 70 65 72 20   ┆(char in reg-c)  ; reader paper ┆
0x0c60a0…0c60c0             74 61 70 65 20 72 65 61 64 65 72 20 69 6e 20 28 72 65 73 75 6c 74 20 74 6f 20 72 65 67 2d 61 29   ┆tape reader in (result to reg-a)┆
0x0c60c0…0c60e0             0d 0a 3b 09 68 6f 6d 65 09 6d 6f 76 65 20 74 6f 20 74 72 61 63 6b 20 30 30 0d 0a 3b 0d 0a 3b 09   ┆  ; home move to track 00  ;  ; ┆
0x0c60e0…0c6100             28 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 61 6c 6c 73 20 73 65 74 2d 75 70 20 74 68 65 20   ┆(the following calls set-up the ┆
0x0c6100…0c6120             69 6f 20 70 61 72 61 6d 65 74 65 72 20 62 6c 6f 63 6b 20 66 6f 72 20 74 68 65 0d 0a 3b 09 6d 64   ┆io parameter block for the  ; md┆
0x0c6120…0c6140             73 2c 20 77 68 69 63 68 20 69 73 20 75 73 65 64 20 74 6f 20 70 65 72 66 6f 72 6d 20 73 75 62 73   ┆s, which is used to perform subs┆
0x0c6140…0c6160             65 71 75 65 6e 74 20 72 65 61 64 73 20 61 6e 64 20 77 72 69 74 65 73 29 0d 0a 3b 09 73 65 6c 64   ┆equent reads and writes)  ; seld┆
0x0c6160…0c6180             73 6b 09 73 65 6c 65 63 74 20 64 69 73 6b 20 67 69 76 65 6e 20 62 79 20 72 65 67 2d 63 20 28 30   ┆sk select disk given by reg-c (0┆
0x0c6180…0c61a0             2c 31 2c 32 2e 2e 2e 29 0d 0a 3b 09 73 65 74 74 72 6b 09 73 65 74 20 74 72 61 63 6b 20 61 64 64   ┆,1,2...)  ; settrk set track add┆
0x0c61a0…0c61c0             72 65 73 73 20 28 30 2c 2e 2e 2e 37 36 29 20 66 6f 72 20 73 75 62 73 65 71 75 65 6e 74 20 72 65   ┆ress (0,...76) for subsequent re┆
0x0c61c0…0c61e0             61 64 2f 77 72 69 74 65 0d 0a 3b 09 73 65 74 73 65 63 09 73 65 74 20 73 65 63 74 6f 72 20 61 64   ┆ad/write  ; setsec set sector ad┆
0x0c61e0…0c6200             64 72 65 73 73 20 28 31 2c 2e 2e 2e 2c 32 36 29 20 66 6f 72 20 73 75 62 73 65 71 75 65 6e 74 20   ┆dress (1,...,26) for subsequent ┆
0x0c6200…0c6220 (52, 1, 11) 6f 09 65 71 75 09 30 66 38 30 66 68 09 3b 6c 69 73 74 20 66 72 6f 6d 20 63 20 74 6f 20 6c 69 73   ┆o equ 0f80fh ;list from c to lis┆
0x0c6220…0c6240             74 20 64 65 76 69 63 65 0d 0a 63 73 74 73 09 65 71 75 09 30 66 38 31 32 68 09 3b 63 6f 6e 73 6f   ┆t device  csts equ 0f812h ;conso┆
0x0c6240…0c6260             6c 65 20 73 74 61 74 75 73 20 30 30 2f 66 66 20 74 6f 20 72 65 67 69 73 74 65 72 20 61 0d 0a 3b   ┆le status 00/ff to register a  ;┆
0x0c6260…0c6280             0d 0a 3b 09 64 69 73 6b 20 70 6f 72 74 73 20 61 6e 64 20 63 6f 6d 6d 61 6e 64 73 0d 0a 62 61 73   ┆  ; disk ports and commands  bas┆
0x0c6280…0c62a0             65 09 65 71 75 09 37 38 68 09 3b 62 61 73 65 20 6f 66 20 64 69 73 6b 20 63 6f 6d 6d 61 6e 64 20   ┆e equ 78h ;base of disk command ┆
0x0c62a0…0c62c0             69 6f 20 70 6f 72 74 73 0d 0a 64 73 74 61 74 09 65 71 75 09 62 61 73 65 09 3b 64 69 73 6b 20 73   ┆io ports  dstat equ base ;disk s┆
0x0c62c0…0c62e0             74 61 74 75 73 20 28 69 6e 70 75 74 29 0d 0a 72 74 79 70 65 09 65 71 75 09 62 61 73 65 2b 31 09   ┆tatus (input)  rtype equ base+1 ┆
0x0c62e0…0c6300             3b 72 65 73 75 6c 74 20 74 79 70 65 20 28 69 6e 70 75 74 29 0d 0a 72 62 79 74 65 09 65 71 75 09   ┆;result type (input)  rbyte equ ┆
0x0c6300…0c6320             62 61 73 65 2b 33 09 3b 72 65 73 75 6c 74 20 62 79 74 65 20 28 69 6e 70 75 74 29 0d 0a 3b 0d 0a   ┆base+3 ;result byte (input)  ;  ┆
0x0c6320…0c6340             69 6c 6f 77 09 65 71 75 09 62 61 73 65 2b 31 09 3b 69 6f 70 62 20 6c 6f 77 20 61 64 64 72 65 73   ┆ilow equ base+1 ;iopb low addres┆
0x0c6340…0c6360             73 20 28 6f 75 74 70 75 74 29 0d 0a 69 68 69 67 68 09 65 71 75 09 62 61 73 65 2b 32 09 3b 69 6f   ┆s (output)  ihigh equ base+2 ;io┆
0x0c6360…0c6380             70 62 20 68 69 67 68 20 61 64 64 72 65 73 73 20 28 6f 75 74 70 75 74 29 0d 0a 3b 0d 0a 72 65 61   ┆pb high address (output)  ;  rea┆
0x0c6380…0c63a0             64 66 09 65 71 75 09 34 68 09 3b 72 65 61 64 20 66 75 6e 63 74 69 6f 6e 0d 0a 77 72 69 74 66 09   ┆df equ 4h ;read function  writf ┆
0x0c63a0…0c63c0             65 71 75 09 36 68 09 3b 77 72 69 74 65 20 66 75 6e 63 74 69 6f 6e 0d 0a 72 65 63 61 6c 09 65 71   ┆equ 6h ;write function  recal eq┆
0x0c63c0…0c63e0             75 09 33 68 09 3b 72 65 63 61 6c 69 62 72 61 74 65 20 64 72 69 76 65 0d 0a 69 6f 72 64 79 09 65   ┆u 3h ;recalibrate drive  iordy e┆
0x0c63e0…0c6400             71 75 09 34 68 09 3b 69 2f 6f 20 66 69 6e 69 73 68 65 64 20 6d 61 73 6b 0d 0a 63 72 09 65 71 75   ┆qu 4h ;i/o finished mask  cr equ┆
0x0c6400…0c6420 (52, 1, 12) 76 09 63 2c 61 09 3b 72 65 61 64 79 20 66 6f 72 20 63 61 6c 6c 0d 0a 09 63 61 6c 6c 09 73 65 74   ┆v c,a ;ready for call   call set┆
0x0c6420…0c6440             74 72 6b 0d 0a 09 78 72 61 09 61 09 3b 63 6c 65 61 72 20 73 65 63 74 6f 72 20 6e 75 6d 62 65 72   ┆trk   xra a ;clear sector number┆
0x0c6440…0c6460             0d 0a 72 64 31 3a 09 69 6e 72 09 61 09 3b 74 6f 20 6e 65 78 74 20 73 65 63 74 6f 72 0d 0a 09 6d   ┆  rd1: inr a ;to next sector   m┆
0x0c6460…0c6480             6f 76 09 63 2c 61 09 3b 72 65 61 64 79 20 66 6f 72 20 63 61 6c 6c 0d 0a 09 63 61 6c 6c 09 73 65   ┆ov c,a ;ready for call   call se┆
0x0c6480…0c64a0             74 73 65 63 0d 0a 09 70 6f 70 09 62 09 3b 72 65 63 61 6c 6c 20 73 65 63 74 6f 72 20 63 6f 75 6e   ┆tsec   pop b ;recall sector coun┆
0x0c64a0…0c64c0             74 0d 0a 09 64 63 72 09 62 09 3b 64 6f 6e 65 3f 0d 0a 09 6a 6e 7a 09 72 64 73 65 63 0d 0a 3b 0d   ┆t   dcr b ;done?   jnz rdsec  ; ┆
0x0c64c0…0c64e0             0a 3b 09 64 6f 6e 65 20 77 69 74 68 20 74 68 65 20 6c 6f 61 64 2c 20 72 65 73 65 74 20 64 65 66   ┆ ; done with the load, reset def┆
0x0c64e0…0c6500             61 75 6c 74 20 62 75 66 66 65 72 20 61 64 64 72 65 73 73 0d 0a 67 6f 63 70 6d 3a 09 3b 28 65 6e   ┆ault buffer address  gocpm: ;(en┆
0x0c6500…0c6520             74 65 72 20 68 65 72 65 20 66 72 6f 6d 20 63 6f 6c 64 20 73 74 61 72 74 20 62 6f 6f 74 29 0d 0a   ┆ter here from cold start boot)  ┆
0x0c6520…0c6540             3b 09 65 6e 61 62 6c 65 20 72 73 74 30 20 61 6e 64 20 72 73 74 37 0d 0a 09 64 69 0d 0a 09 6d 76   ┆; enable rst0 and rst7   di   mv┆
0x0c6540…0c6560             69 09 61 2c 31 32 68 09 3b 69 6e 69 74 69 61 6c 69 7a 65 20 63 6f 6d 6d 61 6e 64 0d 0a 09 6f 75   ┆i a,12h ;initialize command   ou┆
0x0c6560…0c6580             74 09 72 65 76 72 74 0d 0a 09 78 72 61 09 61 0d 0a 09 6f 75 74 09 69 6e 74 63 09 3b 63 6c 65 61   ┆t revrt   xra a   out intc ;clea┆
0x0c6580…0c65a0             72 65 64 0d 0a 09 6d 76 69 09 61 2c 69 6e 74 65 09 3b 72 73 74 30 20 61 6e 64 20 72 73 74 37 20   ┆red   mvi a,inte ;rst0 and rst7 ┆
0x0c65a0…0c65c0             62 69 74 73 20 6f 6e 0d 0a 09 6f 75 74 09 69 6e 74 63 0d 0a 09 78 72 61 09 61 0d 0a 09 6f 75 74   ┆bits on   out intc   xra a   out┆
0x0c65c0…0c65e0             09 69 63 6f 6e 09 3b 69 6e 74 65 72 72 75 70 74 20 63 6f 6e 74 72 6f 6c 0d 0a 3b 0d 0a 3b 09 73   ┆ icon ;interrupt control  ;  ; s┆
0x0c65e0…0c6600             65 74 20 64 65 66 61 75 6c 74 20 62 75 66 66 65 72 20 61 64 64 72 65 73 73 20 74 6f 20 38 30 68   ┆et default buffer address to 80h┆
0x0c6600…0c6620 (52, 1, 13) 74 0d 0a 3b 0d 0a 3b 0d 0a 3b 0d 0a 3b 09 64 61 74 61 20 61 72 65 61 73 20 28 6d 75 73 74 20 62   ┆t  ;  ;  ;  ; data areas (must b┆
0x0c6620…0c6640             65 20 69 6e 20 72 61 6d 29 0d 0a 64 62 61 6e 6b 3a 09 64 62 09 30 09 3b 64 69 73 6b 20 62 61 6e   ┆e in ram)  dbank: db 0 ;disk ban┆
0x0c6640…0c6660             6b 20 30 30 20 69 66 20 64 72 69 76 65 20 30 2c 31 0d 0a 09 09 09 3b 09 20 20 20 31 30 20 69 66   ┆k 00 if drive 0,1     ;    10 if┆
0x0c6660…0c6680             20 64 72 69 76 65 20 32 2c 33 0d 0a 69 6f 70 62 3a 09 3b 69 6f 20 70 61 72 61 6d 65 74 65 72 20   ┆ drive 2,3  iopb: ;io parameter ┆
0x0c6680…0c66a0             62 6c 6f 63 6b 0d 0a 09 64 62 09 38 30 68 09 3b 6e 6f 72 6d 61 6c 20 69 2f 6f 20 6f 70 65 72 61   ┆block   db 80h ;normal i/o opera┆
0x0c66a0…0c66c0             74 69 6f 6e 0d 0a 69 6f 66 3a 09 64 62 09 72 65 61 64 66 09 3b 69 6f 20 66 75 6e 63 74 69 6f 6e   ┆tion  iof: db readf ;io function┆
0x0c66c0…0c66e0             2c 20 69 6e 69 74 69 61 6c 20 72 65 61 64 0d 0a 69 6f 6e 3a 09 64 62 09 31 09 3b 6e 75 6d 62 65   ┆, initial read  ion: db 1 ;numbe┆
0x0c66e0…0c6700             72 20 6f 66 20 73 65 63 74 6f 72 73 20 74 6f 20 72 65 61 64 0d 0a 69 6f 74 3a 09 64 62 09 6f 66   ┆r of sectors to read  iot: db of┆
0x0c6700…0c6720             66 73 65 74 09 3b 74 72 61 63 6b 20 6e 75 6d 62 65 72 0d 0a 69 6f 73 3a 09 64 62 09 31 09 3b 73   ┆fset ;track number  ios: db 1 ;s┆
0x0c6720…0c6740             65 63 74 6f 72 20 6e 75 6d 62 65 72 0d 0a 69 6f 64 3a 09 64 77 09 62 75 66 66 09 3b 69 6f 20 61   ┆ector number  iod: dw buff ;io a┆
0x0c6740…0c6760             64 64 72 65 73 73 0d 0a 3b 0d 0a 3b 0d 0a 3b 09 64 65 66 69 6e 65 20 72 61 6d 20 61 72 65 61 73   ┆ddress  ;  ;  ; define ram areas┆
0x0c6760…0c6780             20 66 6f 72 20 62 64 6f 73 20 6f 70 65 72 61 74 69 6f 6e 0d 0a 09 65 6e 64 65 66 0d 0a 09 65 6e   ┆ for bdos operation   endef   en┆
0x0c6780…0c67a0             64 0d 0a 3b 09 4d 44 53 2d 38 30 30 20 49 2f 4f 20 44 72 69 76 65 72 73 20 66 6f 72 20 43 50 2f   ┆d  ; MDS-800 I/O Drivers for CP/┆
0x0c67a0…0c67c0             4d 20 32 2e 32 0d 0a 3b 09 28 66 6f 75 72 20 64 72 69 76 65 20 73 69 6e 67 6c 65 20 64 65 6e 73   ┆M 2.2  ; (four drive single dens┆
0x0c67c0…0c67e0             69 74 79 20 76 65 72 73 69 6f 6e 29 0d 0a 3b 0d 0a 3b 09 56 65 72 73 69 6f 6e 20 32 2e 32 20 46   ┆ity version)  ;  ; Version 2.2 F┆
0x0c67e0…0c6800             65 62 72 75 61 72 79 2c 20 31 39 38 30 0d 0a 3b 0d 0a 76 65 72 73 09 65 71 75 09 32 32 09 3b 76   ┆ebruary, 1980  ;  vers equ 22 ;v┆
0x0c6800…0c6820 (52, 1, 14) 72 65 61 64 2f 77 72 69 74 65 0d 0a 3b 09 73 65 74 64 6d 61 09 73 65 74 20 73 75 62 73 65 71 75   ┆read/write  ; setdma set subsequ┆
0x0c6820…0c6840             65 6e 74 20 64 6d 61 20 61 64 64 72 65 73 73 20 28 69 6e 69 74 69 61 6c 6c 79 20 38 30 68 29 0d   ┆ent dma address (initially 80h) ┆
0x0c6840…0c6860             0a 3b 0d 0a 3b 09 28 72 65 61 64 20 61 6e 64 20 77 72 69 74 65 20 61 73 73 75 6d 65 20 70 72 65   ┆ ;  ; (read and write assume pre┆
0x0c6860…0c6880             76 69 6f 75 73 20 63 61 6c 6c 73 20 74 6f 20 73 65 74 20 75 70 20 74 68 65 20 69 6f 20 70 61 72   ┆vious calls to set up the io par┆
0x0c6880…0c68a0             61 6d 65 74 65 72 73 29 0d 0a 3b 09 72 65 61 64 09 72 65 61 64 20 74 72 61 63 6b 2f 73 65 63 74   ┆ameters)  ; read read track/sect┆
0x0c68a0…0c68c0             6f 72 20 74 6f 20 70 72 65 73 65 74 20 64 6d 61 20 61 64 64 72 65 73 73 0d 0a 3b 09 77 72 69 74   ┆or to preset dma address  ; writ┆
0x0c68c0…0c68e0             65 09 77 72 69 74 65 20 74 72 61 63 6b 2f 73 65 63 74 6f 72 20 66 72 6f 6d 20 70 72 65 73 65 74   ┆e write track/sector from preset┆
0x0c68e0…0c6900             20 64 6d 61 20 61 64 64 72 65 73 73 0d 0a 3b 0d 0a 3b 09 6a 75 6d 70 20 76 65 63 74 6f 72 20 66   ┆ dma address  ;  ; jump vector f┆
0x0c6900…0c6920             6f 72 20 69 6e 64 69 76 69 75 61 6c 20 72 6f 75 74 69 6e 65 73 0d 0a 09 6a 6d 70 09 62 6f 6f 74   ┆or indiviual routines   jmp boot┆
0x0c6920…0c6940             0d 0a 77 62 6f 6f 74 65 3a 09 6a 6d 70 09 77 62 6f 6f 74 0d 0a 09 6a 6d 70 09 63 6f 6e 73 74 0d   ┆  wboote: jmp wboot   jmp const ┆
0x0c6940…0c6960             0a 09 6a 6d 70 09 63 6f 6e 69 6e 0d 0a 09 6a 6d 70 09 63 6f 6e 6f 75 74 0d 0a 09 6a 6d 70 09 6c   ┆  jmp conin   jmp conout   jmp l┆
0x0c6960…0c6980             69 73 74 0d 0a 09 6a 6d 70 09 70 75 6e 63 68 0d 0a 09 6a 6d 70 09 72 65 61 64 65 72 0d 0a 09 6a   ┆ist   jmp punch   jmp reader   j┆
0x0c6980…0c69a0             6d 70 09 68 6f 6d 65 0d 0a 09 6a 6d 70 09 73 65 6c 64 73 6b 0d 0a 09 6a 6d 70 09 73 65 74 74 72   ┆mp home   jmp seldsk   jmp settr┆
0x0c69a0…0c69c0             6b 0d 0a 09 6a 6d 70 09 73 65 74 73 65 63 0d 0a 09 6a 6d 70 09 73 65 74 64 6d 61 0d 0a 09 6a 6d   ┆k   jmp setsec   jmp setdma   jm┆
0x0c69c0…0c69e0             70 09 72 65 61 64 0d 0a 09 6a 6d 70 09 77 72 69 74 65 0d 0a 09 6a 6d 70 09 6c 69 73 74 73 74 09   ┆p read   jmp write   jmp listst ┆
0x0c69e0…0c6a00             3b 6c 69 73 74 20 73 74 61 74 75 73 0d 0a 09 6a 6d 70 09 73 65 63 74 72 61 6e 0d 0a 3b 0d 0a 09   ┆;list status   jmp sectran  ;   ┆
0x0c6a00…0c6a20 (52, 1, 15) 09 30 64 68 09 3b 63 61 72 72 69 61 67 65 20 72 65 74 75 72 6e 0d 0a 6c 66 09 65 71 75 09 30 61   ┆ 0dh ;carriage return  lf equ 0a┆
0x0c6a20…0c6a40             68 09 3b 6c 69 6e 65 20 66 65 65 64 0d 0a 3b 0d 0a 73 69 67 6e 6f 6e 3a 09 3b 73 69 67 6e 6f 6e   ┆h ;line feed  ;  signon: ;signon┆
0x0c6a40…0c6a60             20 6d 65 73 73 61 67 65 3a 20 78 78 6b 20 63 70 2f 6d 20 76 65 72 73 20 79 2e 79 0d 0a 09 64 62   ┆ message: xxk cp/m vers y.y   db┆
0x0c6a60…0c6a80             09 63 72 2c 6c 66 2c 6c 66 0d 0a 09 69 66 09 74 65 73 74 0d 0a 09 64 62 09 27 33 32 27 09 3b 33   ┆ cr,lf,lf   if test   db '32' ;3┆
0x0c6a80…0c6aa0             32 6b 20 65 78 61 6d 70 6c 65 20 62 69 6f 73 0d 0a 09 65 6e 64 69 66 0d 0a 09 69 66 09 6e 6f 74   ┆2k example bios   endif   if not┆
0x0c6aa0…0c6ac0             20 74 65 73 74 0d 0a 09 64 62 09 27 30 30 27 09 3b 6d 65 6d 6f 72 79 20 73 69 7a 65 20 66 69 6c   ┆ test   db '00' ;memory size fil┆
0x0c6ac0…0c6ae0             6c 65 64 20 62 79 20 72 65 6c 6f 63 61 74 6f 72 0d 0a 09 65 6e 64 69 66 0d 0a 09 64 62 09 27 6b   ┆led by relocator   endif   db 'k┆
0x0c6ae0…0c6b00             20 43 50 2f 4d 20 76 65 72 73 20 27 0d 0a 09 64 62 09 76 65 72 73 2f 31 30 2b 27 30 27 2c 27 2e   ┆ CP/M vers '   db vers/10+'0','.┆
0x0c6b00…0c6b20             27 2c 76 65 72 73 20 6d 6f 64 20 31 30 2b 27 30 27 0d 0a 09 64 62 09 63 72 2c 6c 66 2c 30 0d 0a   ┆',vers mod 10+'0'   db cr,lf,0  ┆
0x0c6b20…0c6b40             3b 0d 0a 62 6f 6f 74 3a 09 3b 70 72 69 6e 74 20 73 69 67 6e 6f 6e 20 6d 65 73 73 61 67 65 20 61   ┆;  boot: ;print signon message a┆
0x0c6b40…0c6b60             6e 64 20 67 6f 20 74 6f 20 63 63 70 0d 0a 3b 09 28 6e 6f 74 65 3a 20 6d 64 73 20 62 6f 6f 74 20   ┆nd go to ccp  ; (note: mds boot ┆
0x0c6b60…0c6b80             69 6e 69 74 69 61 6c 69 7a 65 64 20 69 6f 62 79 74 65 20 61 74 20 30 30 30 33 68 29 0d 0a 09 6c   ┆initialized iobyte at 0003h)   l┆
0x0c6b80…0c6ba0             78 69 09 73 70 2c 62 75 66 66 2b 38 30 68 0d 0a 09 6c 78 69 09 68 2c 73 69 67 6e 6f 6e 0d 0a 09   ┆xi sp,buff+80h   lxi h,signon   ┆
0x0c6ba0…0c6bc0             63 61 6c 6c 09 70 72 6d 73 67 09 3b 70 72 69 6e 74 20 6d 65 73 73 61 67 65 0d 0a 09 78 72 61 09   ┆call prmsg ;print message   xra ┆
0x0c6bc0…0c6be0             61 09 3b 63 6c 65 61 72 20 61 63 63 75 6d 75 6c 61 74 6f 72 0d 0a 09 73 74 61 09 63 64 69 73 6b   ┆a ;clear accumulator   sta cdisk┆
0x0c6be0…0c6c00             09 3b 73 65 74 20 69 6e 69 74 69 61 6c 6c 79 20 74 6f 20 64 69 73 6b 20 61 0d 0a 09 6a 6d 70 09   ┆ ;set initially to disk a   jmp ┆
0x0c6c00…0c6c20 (53, 0, 1)  0d 0a 09 6c 78 69 09 62 2c 62 75 66 66 0d 0a 09 63 61 6c 6c 09 73 65 74 64 6d 61 0d 0a 3b 0d 0a   ┆   lxi b,buff   call setdma  ;  ┆
0x0c6c20…0c6c40             3b 09 72 65 73 65 74 20 6d 6f 6e 69 74 6f 72 20 65 6e 74 72 79 20 70 6f 69 6e 74 73 0d 0a 09 6d   ┆; reset monitor entry points   m┆
0x0c6c40…0c6c60             76 69 09 61 2c 6a 6d 70 0d 0a 09 73 74 61 09 30 0d 0a 09 6c 78 69 09 68 2c 77 62 6f 6f 74 65 0d   ┆vi a,jmp   sta 0   lxi h,wboote ┆
0x0c6c60…0c6c80             0a 09 73 68 6c 64 09 31 09 3b 6a 6d 70 20 77 62 6f 6f 74 20 61 74 20 6c 6f 63 61 74 69 6f 6e 20   ┆  shld 1 ;jmp wboot at location ┆
0x0c6c80…0c6ca0             30 30 0d 0a 09 73 74 61 09 35 0d 0a 09 6c 78 69 09 68 2c 62 64 6f 73 0d 0a 09 73 68 6c 64 09 36   ┆00   sta 5   lxi h,bdos   shld 6┆
0x0c6ca0…0c6cc0             09 3b 6a 6d 70 20 62 64 6f 73 20 61 74 20 6c 6f 63 61 74 69 6f 6e 20 35 0d 0a 09 69 66 09 6e 6f   ┆ ;jmp bdos at location 5   if no┆
0x0c6cc0…0c6ce0             74 20 74 65 73 74 0d 0a 09 73 74 61 09 37 2a 38 09 3b 6a 6d 70 20 74 6f 20 6d 6f 6e 38 30 20 28   ┆t test   sta 7*8 ;jmp to mon80 (┆
0x0c6ce0…0c6d00             6d 61 79 20 68 61 76 65 20 62 65 65 6e 20 63 68 61 6e 67 65 64 20 62 79 20 64 64 74 29 0d 0a 09   ┆may have been changed by ddt)   ┆
0x0c6d00…0c6d20             6c 78 69 09 68 2c 6d 6f 6e 38 30 0d 0a 09 73 68 6c 64 09 37 2a 38 2b 31 0d 0a 09 65 6e 64 69 66   ┆lxi h,mon80   shld 7*8+1   endif┆
0x0c6d20…0c6d40             0d 0a 3b 09 6c 65 61 76 65 20 69 6f 62 79 74 65 20 73 65 74 0d 0a 3b 09 70 72 65 76 69 6f 75 73   ┆  ; leave iobyte set  ; previous┆
0x0c6d40…0c6d60             6c 79 20 73 65 6c 65 63 74 65 64 20 64 69 73 6b 20 77 61 73 20 62 2c 20 73 65 6e 64 20 70 61 72   ┆ly selected disk was b, send par┆
0x0c6d60…0c6d80             61 6d 65 74 65 72 20 74 6f 20 63 70 6d 0d 0a 09 6c 64 61 09 63 64 69 73 6b 09 3b 6c 61 73 74 20   ┆ameter to cpm   lda cdisk ;last ┆
0x0c6d80…0c6da0             6c 6f 67 67 65 64 20 64 69 73 6b 20 6e 75 6d 62 65 72 0d 0a 09 6d 6f 76 09 63 2c 61 09 3b 73 65   ┆logged disk number   mov c,a ;se┆
0x0c6da0…0c6dc0             6e 64 20 74 6f 20 63 63 70 20 74 6f 20 6c 6f 67 20 69 74 20 69 6e 0d 0a 09 65 69 0d 0a 09 6a 6d   ┆nd to ccp to log it in   ei   jm┆
0x0c6dc0…0c6de0             70 09 63 70 6d 62 0d 0a 3b 0d 0a 3b 09 65 72 72 6f 72 20 63 6f 6e 64 69 74 69 6f 6e 20 6f 63 63   ┆p cpmb  ;  ; error condition occ┆
0x0c6de0…0c6e00             75 72 72 65 64 2c 20 70 72 69 6e 74 20 6d 65 73 73 61 67 65 20 61 6e 64 20 72 65 74 72 79 0d 0a   ┆urred, print message and retry  ┆
0x0c6e00…0c6e20 (53, 0, 2)  73 65 74 20 74 72 61 63 6b 20 61 64 64 72 65 73 73 20 67 69 76 65 6e 20 62 79 20 63 0d 0a 09 6c   ┆set track address given by c   l┆
0x0c6e20…0c6e40             78 69 09 68 2c 69 6f 74 0d 0a 09 6d 6f 76 09 6d 2c 63 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 73 65 74   ┆xi h,iot   mov m,c   ret  ;  set┆
0x0c6e40…0c6e60             73 65 63 3a 09 3b 73 65 74 20 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 20 67 69 76 65 6e 20 62 79   ┆sec: ;set sector number given by┆
0x0c6e60…0c6e80             20 63 0d 0a 09 6c 78 69 09 68 2c 69 6f 73 0d 0a 09 6d 6f 76 09 6d 2c 63 0d 0a 09 72 65 74 0d 0a   ┆ c   lxi h,ios   mov m,c   ret  ┆
0x0c6e80…0c6ea0             73 65 63 74 72 61 6e 3a 0d 0a 09 09 3b 74 72 61 6e 73 6c 61 74 65 20 73 65 63 74 6f 72 20 62 63   ┆sectran:    ;translate sector bc┆
0x0c6ea0…0c6ec0             20 75 73 69 6e 67 20 74 61 62 6c 65 20 61 74 20 64 65 0d 0a 09 6d 76 69 09 62 2c 30 09 3b 64 6f   ┆ using table at de   mvi b,0 ;do┆
0x0c6ec0…0c6ee0             75 62 6c 65 20 70 72 65 63 69 73 69 6f 6e 20 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 20 69 6e 20   ┆uble precision sector number in ┆
0x0c6ee0…0c6f00             42 43 0d 0a 09 78 63 68 67 09 09 3b 74 72 61 6e 73 6c 61 74 65 20 74 61 62 6c 65 20 61 64 64 72   ┆BC   xchg  ;translate table addr┆
0x0c6f00…0c6f20             65 73 73 20 74 6f 20 48 4c 0d 0a 09 64 61 64 09 62 09 3b 74 72 61 6e 73 6c 61 74 65 28 73 65 63   ┆ess to HL   dad b ;translate(sec┆
0x0c6f20…0c6f40             74 6f 72 29 20 61 64 64 72 65 73 73 0d 0a 09 6d 6f 76 09 61 2c 6d 09 3b 74 72 61 6e 73 6c 61 74   ┆tor) address   mov a,m ;translat┆
0x0c6f40…0c6f60             65 64 20 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 20 74 6f 20 41 0d 0a 09 73 74 61 09 69 6f 73 0d   ┆ed sector number to A   sta ios ┆
0x0c6f60…0c6f80             0a 09 6d 6f 76 09 6c 2c 61 09 3b 72 65 74 75 72 6e 20 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 20   ┆  mov l,a ;return sector number ┆
0x0c6f80…0c6fa0             69 6e 20 4c 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 73 65 74 64 6d 61 3a 09 3b 73 65 74 20 64 6d 61 20   ┆in L   ret  ;  setdma: ;set dma ┆
0x0c6fa0…0c6fc0             61 64 64 72 65 73 73 20 67 69 76 65 6e 20 62 79 20 72 65 67 73 20 62 2c 63 0d 0a 09 6d 6f 76 09   ┆address given by regs b,c   mov ┆
0x0c6fc0…0c6fe0             6c 2c 63 0d 0a 09 6d 6f 76 09 68 2c 62 0d 0a 09 73 68 6c 64 09 69 6f 64 0d 0a 09 72 65 74 0d 0a   ┆l,c   mov h,b   shld iod   ret  ┆
0x0c6fe0…0c7000             3b 0d 0a 72 65 61 64 3a 09 3b 72 65 61 64 20 6e 65 78 74 20 64 69 73 6b 20 72 65 63 6f 72 64 20   ┆;  read: ;read next disk record ┆
0x0c7000…0c7020 (53, 0, 3)  69 74 30 3a 09 63 61 6c 6c 09 69 6e 73 74 61 74 09 09 3b 77 61 69 74 20 66 6f 72 20 63 6f 6d 70   ┆it0: call instat  ;wait for comp┆
0x0c7020…0c7040             6c 65 74 69 6f 6e 0d 0a 09 61 6e 69 09 69 6f 72 64 79 09 09 3b 72 65 61 64 79 3f 0d 0a 09 6a 7a   ┆letion   ani iordy  ;ready?   jz┆
0x0c7040…0c7060             09 77 61 69 74 30 0d 0a 3b 0d 0a 3b 09 63 68 65 63 6b 20 69 6f 20 63 6f 6d 70 6c 65 74 69 6f 6e   ┆ wait0  ;  ; check io completion┆
0x0c7060…0c7080             20 6f 6b 0d 0a 09 63 61 6c 6c 09 69 6e 74 79 70 65 09 09 3b 6d 75 73 74 20 62 65 20 69 6f 20 63   ┆ ok   call intype  ;must be io c┆
0x0c7080…0c70a0             6f 6d 70 6c 65 74 65 20 28 30 30 29 20 75 6e 6c 69 6e 6b 65 64 0d 0a 3b 09 30 30 20 75 6e 6c 69   ┆omplete (00) unlinked  ; 00 unli┆
0x0c70a0…0c70c0             6e 6b 65 64 20 69 2f 6f 20 63 6f 6d 70 6c 65 74 65 2c 20 20 20 20 30 31 20 6c 69 6e 6b 65 64 20   ┆nked i/o complete,    01 linked ┆
0x0c70c0…0c70e0             69 2f 6f 20 63 6f 6d 70 6c 65 74 65 20 28 6e 6f 74 20 75 73 65 64 29 0d 0a 3b 09 31 30 20 64 69   ┆i/o complete (not used)  ; 10 di┆
0x0c70e0…0c7100             73 6b 20 73 74 61 74 75 73 20 63 68 61 6e 67 65 64 20 20 20 20 20 20 20 31 31 20 28 6e 6f 74 20   ┆sk status changed       11 (not ┆
0x0c7100…0c7120             75 73 65 64 29 0d 0a 09 63 70 69 09 31 30 62 09 09 3b 72 65 61 64 79 20 73 74 61 74 75 73 20 63   ┆used)   cpi 10b  ;ready status c┆
0x0c7120…0c7140             68 61 6e 67 65 3f 0d 0a 09 6a 7a 09 77 72 65 61 64 79 0d 0a 3b 0d 0a 3b 09 6d 75 73 74 20 62 65   ┆hange?   jz wready  ;  ; must be┆
0x0c7140…0c7160             20 30 30 20 69 6e 20 74 68 65 20 61 63 63 75 6d 75 6c 61 74 6f 72 0d 0a 09 6f 72 61 09 61 0d 0a   ┆ 00 in the accumulator   ora a  ┆
0x0c7160…0c7180             09 6a 6e 7a 09 77 65 72 72 6f 72 09 09 3b 73 6f 6d 65 20 6f 74 68 65 72 20 63 6f 6e 64 69 74 69   ┆ jnz werror  ;some other conditi┆
0x0c7180…0c71a0             6f 6e 2c 20 72 65 74 72 79 0d 0a 3b 0d 0a 3b 09 63 68 65 63 6b 20 69 2f 6f 20 65 72 72 6f 72 20   ┆on, retry  ;  ; check i/o error ┆
0x0c71a0…0c71c0             62 69 74 73 0d 0a 09 63 61 6c 6c 09 69 6e 62 79 74 65 0d 0a 09 72 61 6c 0d 0a 09 6a 63 09 77 72   ┆bits   call inbyte   ral   jc wr┆
0x0c71c0…0c71e0             65 61 64 79 09 09 3b 75 6e 69 74 20 6e 6f 74 20 72 65 61 64 79 0d 0a 09 72 61 72 0d 0a 09 61 6e   ┆eady  ;unit not ready   rar   an┆
0x0c71e0…0c7200             69 09 31 31 31 31 31 31 31 30 62 09 3b 61 6e 79 20 6f 74 68 65 72 20 65 72 72 6f 72 73 3f 20 20   ┆i 11111110b ;any other errors?  ┆
0x0c7200…0c7220 (53, 0, 4)  31 30 20 69 66 20 64 72 69 76 65 20 32 2c 33 0d 0a 69 6f 70 62 3a 09 3b 69 6f 20 70 61 72 61 6d   ┆10 if drive 2,3  iopb: ;io param┆
0x0c7220…0c7240             65 74 65 72 20 62 6c 6f 63 6b 0d 0a 09 64 62 09 38 30 68 09 3b 6e 6f 72 6d 61 6c 20 69 2f 6f 20   ┆eter block   db 80h ;normal i/o ┆
0x0c7240…0c7260             6f 70 65 72 61 74 69 6f 6e 0d 0a 69 6f 66 3a 09 64 62 09 72 65 61 64 66 09 3b 69 6f 20 66 75 6e   ┆operation  iof: db readf ;io fun┆
0x0c7260…0c7280             63 74 69 6f 6e 2c 20 69 6e 69 74 69 61 6c 20 72 65 61 64 0d 0a 69 6f 6e 3a 09 64 62 09 31 09 3b   ┆ction, initial read  ion: db 1 ;┆
0x0c7280…0c72a0             6e 75 6d 62 65 72 20 6f 66 20 73 65 63 74 6f 72 73 20 74 6f 20 72 65 61 64 0d 0a 69 6f 74 3a 09   ┆number of sectors to read  iot: ┆
0x0c72a0…0c72c0             64 62 09 6f 66 66 73 65 74 09 3b 74 72 61 63 6b 20 6e 75 6d 62 65 72 0d 0a 69 6f 73 3a 09 64 62   ┆db offset ;track number  ios: db┆
0x0c72c0…0c72e0             09 31 09 3b 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 0d 0a 69 6f 64 3a 09 64 77 09 62 75 66 66 09   ┆ 1 ;sector number  iod: dw buff ┆
0x0c72e0…0c7300             3b 69 6f 20 61 64 64 72 65 73 73 0d 0a 3b 0d 0a 3b 0d 0a 3b 09 64 65 66 69 6e 65 20 72 61 6d 20   ┆;io address  ;  ;  ; define ram ┆
0x0c7300…0c7320             61 72 65 61 73 20 66 6f 72 20 62 64 6f 73 20 6f 70 65 72 61 74 69 6f 6e 0d 0a 09 65 6e 64 65 66   ┆areas for bdos operation   endef┆
0x0c7320…0c7340             0d 0a 09 65 6e 64 0d 0a 3b 09 4d 44 53 2d 38 30 30 20 49 2f 4f 20 44 72 69 76 65 72 73 20 66 6f   ┆   end  ; MDS-800 I/O Drivers fo┆
0x0c7340…0c7360             72 20 43 50 2f 4d 20 32 2e 32 0d 0a 3b 09 28 66 6f 75 72 20 64 72 69 76 65 20 73 69 6e 67 6c 65   ┆r CP/M 2.2  ; (four drive single┆
0x0c7360…0c7380             20 64 65 6e 73 69 74 79 20 76 65 72 73 69 6f 6e 29 0d 0a 3b 0d 0a 3b 09 56 65 72 73 69 6f 6e 20   ┆ density version)  ;  ; Version ┆
0x0c7380…0c73a0             32 2e 32 20 46 65 62 72 75 61 72 79 2c 20 31 39 38 30 0d 0a 3b 0d 0a 76 65 72 73 09 65 71 75 09   ┆2.2 February, 1980  ;  vers equ ┆
0x0c73a0…0c73c0             32 32 09 3b 76 65 72 73 69 6f 6e 20 32 2e 32 0d 0a 3b 0d 0a 3b 09 43 6f 70 79 72 69 67 68 74 20   ┆22 ;version 2.2  ;  ; Copyright ┆
0x0c73c0…0c73e0             28 63 29 20 31 39 38 30 0d 0a 3b 09 44 69 67 69 74 61 6c 20 52 65 73 65 61 72 63 68 0d 0a 3b 09   ┆(c) 1980  ; Digital Research  ; ┆
0x0c73e0…0c7400             42 6f 78 20 35 37 39 2c 20 50 61 63 69 66 69 63 20 47 72 6f 76 65 0d 0a 3b 09 43 61 6c 69 66 6f   ┆Box 579, Pacific Grove  ; Califo┆
0x0c7400…0c7420 (53, 0, 5)  62 6f 6f 74 65 72 72 3a 0d 0a 09 70 6f 70 09 62 09 3b 72 65 63 61 6c 6c 20 63 6f 75 6e 74 73 0d   ┆booterr:   pop b ;recall counts ┆
0x0c7420…0c7440             0a 09 64 63 72 09 63 0d 0a 09 6a 7a 09 62 6f 6f 74 65 72 30 0d 0a 3b 09 74 72 79 20 61 67 61 69   ┆  dcr c   jz booter0  ; try agai┆
0x0c7440…0c7460             6e 0d 0a 09 70 75 73 68 09 62 0d 0a 09 6a 6d 70 09 77 62 6f 6f 74 30 0d 0a 3b 0d 0a 62 6f 6f 74   ┆n   push b   jmp wboot0  ;  boot┆
0x0c7460…0c7480             65 72 30 3a 0d 0a 3b 09 6f 74 68 65 72 77 69 73 65 20 74 6f 6f 20 6d 61 6e 79 20 72 65 74 72 69   ┆er0:  ; otherwise too many retri┆
0x0c7480…0c74a0             65 73 0d 0a 09 6c 78 69 09 68 2c 62 6f 6f 74 6d 73 67 0d 0a 09 63 61 6c 6c 09 70 72 6d 73 67 0d   ┆es   lxi h,bootmsg   call prmsg ┆
0x0c74a0…0c74c0             0a 09 6a 6d 70 09 72 6d 6f 6e 38 30 09 3b 6d 64 73 20 68 61 72 64 77 61 72 65 20 6d 6f 6e 69 74   ┆  jmp rmon80 ;mds hardware monit┆
0x0c74c0…0c74e0             6f 72 0d 0a 3b 0d 0a 62 6f 6f 74 6d 73 67 3a 0d 0a 09 64 62 09 27 3f 62 6f 6f 74 27 2c 30 0d 0a   ┆or  ;  bootmsg:   db '?boot',0  ┆
0x0c74e0…0c7500             3b 0d 0a 3b 0d 0a 63 6f 6e 73 74 3a 09 3b 63 6f 6e 73 6f 6c 65 20 73 74 61 74 75 73 20 74 6f 20   ┆;  ;  const: ;console status to ┆
0x0c7500…0c7520             72 65 67 2d 61 0d 0a 3b 09 28 65 78 61 63 74 6c 79 20 74 68 65 20 73 61 6d 65 20 61 73 20 6d 64   ┆reg-a  ; (exactly the same as md┆
0x0c7520…0c7540             73 20 63 61 6c 6c 29 0d 0a 09 6a 6d 70 09 63 73 74 73 0d 0a 3b 0d 0a 63 6f 6e 69 6e 3a 09 3b 63   ┆s call)   jmp csts  ;  conin: ;c┆
0x0c7540…0c7560             6f 6e 73 6f 6c 65 20 63 68 61 72 61 63 74 65 72 20 74 6f 20 72 65 67 2d 61 0d 0a 09 63 61 6c 6c   ┆onsole character to reg-a   call┆
0x0c7560…0c7580             09 63 69 0d 0a 09 61 6e 69 09 37 66 68 09 3b 72 65 6d 6f 76 65 20 70 61 72 69 74 79 20 62 69 74   ┆ ci   ani 7fh ;remove parity bit┆
0x0c7580…0c75a0             0d 0a 09 72 65 74 0d 0a 3b 0d 0a 63 6f 6e 6f 75 74 3a 09 3b 63 6f 6e 73 6f 6c 65 20 63 68 61 72   ┆   ret  ;  conout: ;console char┆
0x0c75a0…0c75c0             61 63 74 65 72 20 66 72 6f 6d 20 63 20 74 6f 20 63 6f 6e 73 6f 6c 65 20 6f 75 74 0d 0a 09 6a 6d   ┆acter from c to console out   jm┆
0x0c75c0…0c75e0             70 09 63 6f 0d 0a 3b 0d 0a 6c 69 73 74 3a 09 3b 6c 69 73 74 20 64 65 76 69 63 65 20 6f 75 74 0d   ┆p co  ;  list: ;list device out ┆
0x0c75e0…0c7600             0a 3b 09 28 65 78 61 63 74 6c 79 20 74 68 65 20 73 61 6d 65 20 61 73 20 6d 64 73 20 63 61 6c 6c   ┆ ; (exactly the same as mds call┆
0x0c7600…0c7620 (53, 0, 6)  28 61 73 73 75 6d 69 6e 67 20 64 69 73 6b 2f 74 72 6b 2f 73 65 63 2f 64 6d 61 20 73 65 74 29 0d   ┆(assuming disk/trk/sec/dma set) ┆
0x0c7620…0c7640             0a 09 6d 76 69 09 63 2c 72 65 61 64 66 09 3b 73 65 74 20 74 6f 20 72 65 61 64 20 66 75 6e 63 74   ┆  mvi c,readf ;set to read funct┆
0x0c7640…0c7660             69 6f 6e 0d 0a 09 63 61 6c 6c 09 73 65 74 66 75 6e 63 0d 0a 09 63 61 6c 6c 09 77 61 69 74 69 6f   ┆ion   call setfunc   call waitio┆
0x0c7660…0c7680             09 3b 70 65 72 66 6f 72 6d 20 72 65 61 64 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 72 65 74 09 09 3b   ┆ ;perform read function   ret  ;┆
0x0c7680…0c76a0             6d 61 79 20 68 61 76 65 20 65 72 72 6f 72 20 73 65 74 20 69 6e 20 72 65 67 2d 61 0d 0a 3b 0d 0a   ┆may have error set in reg-a  ;  ┆
0x0c76a0…0c76c0             3b 0d 0a 77 72 69 74 65 3a 09 3b 64 69 73 6b 20 77 72 69 74 65 20 66 75 6e 63 74 69 6f 6e 0d 0a   ┆;  write: ;disk write function  ┆
0x0c76c0…0c76e0             09 6d 76 69 09 63 2c 77 72 69 74 66 0d 0a 09 63 61 6c 6c 09 73 65 74 66 75 6e 63 09 3b 73 65 74   ┆ mvi c,writf   call setfunc ;set┆
0x0c76e0…0c7700             20 74 6f 20 77 72 69 74 65 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 63 61 6c 6c 09 77 61 69 74 69 6f   ┆ to write function   call waitio┆
0x0c7700…0c7720             0d 0a 09 72 65 74 09 09 3b 6d 61 79 20 68 61 76 65 20 65 72 72 6f 72 20 73 65 74 0d 0a 3b 0d 0a   ┆   ret  ;may have error set  ;  ┆
0x0c7720…0c7740             3b 0d 0a 3b 09 75 74 69 6c 69 74 79 20 73 75 62 72 6f 75 74 69 6e 65 73 0d 0a 70 72 6d 73 67 3a   ┆;  ; utility subroutines  prmsg:┆
0x0c7740…0c7760             09 3b 70 72 69 6e 74 20 6d 65 73 73 61 67 65 20 61 74 20 68 2c 6c 20 74 6f 20 30 0d 0a 09 6d 6f   ┆ ;print message at h,l to 0   mo┆
0x0c7760…0c7780             76 09 61 2c 6d 0d 0a 09 6f 72 61 09 61 09 3b 7a 65 72 6f 3f 0d 0a 09 72 7a 0d 0a 3b 09 6d 6f 72   ┆v a,m   ora a ;zero?   rz  ; mor┆
0x0c7780…0c77a0             65 20 74 6f 20 70 72 69 6e 74 0d 0a 09 70 75 73 68 09 68 0d 0a 09 6d 6f 76 09 63 2c 61 0d 0a 09   ┆e to print   push h   mov c,a   ┆
0x0c77a0…0c77c0             63 61 6c 6c 09 63 6f 6e 6f 75 74 0d 0a 09 70 6f 70 09 68 0d 0a 09 69 6e 78 09 68 0d 0a 09 6a 6d   ┆call conout   pop h   inx h   jm┆
0x0c77c0…0c77e0             70 09 70 72 6d 73 67 0d 0a 3b 0d 0a 73 65 74 66 75 6e 63 3a 0d 0a 3b 09 73 65 74 20 66 75 6e 63   ┆p prmsg  ;  setfunc:  ; set func┆
0x0c77e0…0c7800             74 69 6f 6e 20 66 6f 72 20 6e 65 78 74 20 69 2f 6f 20 28 63 6f 6d 6d 61 6e 64 20 69 6e 20 72 65   ┆tion for next i/o (command in re┆
0x0c7800…0c7820 (53, 0, 7)  28 64 65 6c 65 74 65 64 20 64 61 74 61 20 6f 6b 29 0d 0a 09 6a 6e 7a 09 77 65 72 72 6f 72 0d 0a   ┆(deleted data ok)   jnz werror  ┆
0x0c7820…0c7840             3b 0d 0a 3b 09 72 65 61 64 20 6f 72 20 77 72 69 74 65 20 69 73 20 6f 6b 2c 20 61 63 63 75 6d 75   ┆;  ; read or write is ok, accumu┆
0x0c7840…0c7860             6c 61 74 6f 72 20 63 6f 6e 74 61 69 6e 73 20 7a 65 72 6f 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 77 72   ┆lator contains zero   ret  ;  wr┆
0x0c7860…0c7880             65 61 64 79 3a 09 3b 6e 6f 74 20 72 65 61 64 79 2c 20 74 72 65 61 74 20 61 73 20 65 72 72 6f 72   ┆eady: ;not ready, treat as error┆
0x0c7880…0c78a0             20 66 6f 72 20 6e 6f 77 0d 0a 09 63 61 6c 6c 09 69 6e 62 79 74 65 09 09 3b 63 6c 65 61 72 20 72   ┆ for now   call inbyte  ;clear r┆
0x0c78a0…0c78c0             65 73 75 6c 74 20 62 79 74 65 0d 0a 09 6a 6d 70 09 74 72 79 63 6f 75 6e 74 0d 0a 3b 0d 0a 77 65   ┆esult byte   jmp trycount  ;  we┆
0x0c78c0…0c78e0             72 72 6f 72 3a 09 3b 72 65 74 75 72 6e 20 68 61 72 64 77 61 72 65 20 6d 61 6c 66 75 6e 63 74 69   ┆rror: ;return hardware malfuncti┆
0x0c78e0…0c7900             6f 6e 20 28 63 72 63 2c 20 74 72 61 63 6b 2c 20 73 65 65 6b 2c 20 65 74 63 2e 29 0d 0a 3b 09 74   ┆on (crc, track, seek, etc.)  ; t┆
0x0c7900…0c7920             68 65 20 6d 64 73 20 63 6f 6e 74 72 6f 6c 6c 65 72 20 68 61 73 20 72 65 74 75 72 6e 65 64 20 61   ┆he mds controller has returned a┆
0x0c7920…0c7940             20 62 69 74 20 69 6e 20 65 61 63 68 20 70 6f 73 69 74 69 6f 6e 0d 0a 3b 09 6f 66 20 74 68 65 20   ┆ bit in each position  ; of the ┆
0x0c7940…0c7960             61 63 63 75 6d 75 6c 61 74 6f 72 2c 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 74 6f 20 74 68   ┆accumulator, corresponding to th┆
0x0c7960…0c7980             65 20 63 6f 6e 64 69 74 69 6f 6e 73 3a 0d 0a 3b 09 30 09 2d 20 64 65 6c 65 74 65 64 20 64 61 74   ┆e conditions:  ; 0 - deleted dat┆
0x0c7980…0c79a0             61 20 28 61 63 63 65 70 74 65 64 20 61 73 20 6f 6b 20 61 62 6f 76 65 29 0d 0a 3b 09 31 09 2d 20   ┆a (accepted as ok above)  ; 1 - ┆
0x0c79a0…0c79c0             63 72 63 20 65 72 72 6f 72 0d 0a 3b 09 32 09 2d 20 73 65 65 6b 20 65 72 72 6f 72 0d 0a 3b 09 33   ┆crc error  ; 2 - seek error  ; 3┆
0x0c79c0…0c79e0             09 2d 20 61 64 64 72 65 73 73 20 65 72 72 6f 72 20 28 68 61 72 64 77 61 72 65 20 6d 61 6c 66 75   ┆ - address error (hardware malfu┆
0x0c79e0…0c7a00             6e 63 74 69 6f 6e 29 0d 0a 3b 09 34 09 2d 20 64 61 74 61 20 6f 76 65 72 2f 75 6e 64 65 72 20 66   ┆nction)  ; 4 - data over/under f┆
0x0c7a00…0c7a20 (53, 0, 8)  72 6e 69 61 2c 20 39 33 39 35 30 0d 0a 3b 0d 0a 3b 0d 0a 74 72 75 65 09 65 71 75 09 30 66 66 66   ┆rnia, 93950  ;  ;  true equ 0fff┆
0x0c7a20…0c7a40             66 68 09 3b 76 61 6c 75 65 20 6f 66 20 22 74 72 75 65 22 0d 0a 66 61 6c 73 65 09 65 71 75 09 6e   ┆fh ;value of "true"  false equ n┆
0x0c7a40…0c7a60             6f 74 20 74 72 75 65 09 3b 22 66 61 6c 73 65 22 0d 0a 74 65 73 74 09 65 71 75 09 66 61 6c 73 65   ┆ot true ;"false"  test equ false┆
0x0c7a60…0c7a80             09 3b 74 72 75 65 20 69 66 20 74 65 73 74 20 62 69 6f 73 0d 0a 3b 0d 0a 09 69 66 09 74 65 73 74   ┆ ;true if test bios  ;   if test┆
0x0c7a80…0c7aa0             0d 0a 62 69 61 73 09 65 71 75 09 30 33 34 30 30 68 09 3b 62 61 73 65 20 6f 66 20 43 43 50 20 69   ┆  bias equ 03400h ;base of CCP i┆
0x0c7aa0…0c7ac0             6e 20 74 65 73 74 20 73 79 73 74 65 6d 0d 0a 09 65 6e 64 69 66 0d 0a 09 69 66 09 6e 6f 74 20 74   ┆n test system   endif   if not t┆
0x0c7ac0…0c7ae0             65 73 74 0d 0a 62 69 61 73 09 65 71 75 09 30 30 30 30 68 09 3b 67 65 6e 65 72 61 74 65 20 72 65   ┆est  bias equ 0000h ;generate re┆
0x0c7ae0…0c7b00             6c 6f 63 61 74 61 62 6c 65 20 63 70 2f 6d 20 73 79 73 74 65 6d 0d 0a 09 65 6e 64 69 66 0d 0a 3b   ┆locatable cp/m system   endif  ;┆
0x0c7b00…0c7b20             0d 0a 70 61 74 63 68 09 65 71 75 09 31 36 30 30 68 0d 0a 3b 0d 0a 09 6f 72 67 09 70 61 74 63 68   ┆  patch equ 1600h  ;   org patch┆
0x0c7b20…0c7b40             0d 0a 63 70 6d 62 09 65 71 75 09 24 2d 70 61 74 63 68 09 3b 62 61 73 65 20 6f 66 20 63 70 6d 20   ┆  cpmb equ $-patch ;base of cpm ┆
0x0c7b40…0c7b60             63 6f 6e 73 6f 6c 65 20 70 72 6f 63 65 73 73 6f 72 0d 0a 62 64 6f 73 09 65 71 75 09 38 30 36 68   ┆console processor  bdos equ 806h┆
0x0c7b60…0c7b80             2b 63 70 6d 62 09 3b 62 61 73 69 63 20 64 6f 73 20 28 72 65 73 69 64 65 6e 74 20 70 6f 72 74 69   ┆+cpmb ;basic dos (resident porti┆
0x0c7b80…0c7ba0             6f 6e 29 0d 0a 63 70 6d 6c 09 65 71 75 09 24 2d 63 70 6d 62 09 3b 6c 65 6e 67 74 68 20 28 69 6e   ┆on)  cpml equ $-cpmb ;length (in┆
0x0c7ba0…0c7bc0             20 62 79 74 65 73 29 20 6f 66 20 63 70 6d 20 73 79 73 74 65 6d 0d 0a 6e 73 65 63 74 73 09 65 71   ┆ bytes) of cpm system  nsects eq┆
0x0c7bc0…0c7be0             75 09 63 70 6d 6c 2f 31 32 38 09 3b 6e 75 6d 62 65 72 20 6f 66 20 73 65 63 74 6f 72 73 20 74 6f   ┆u cpml/128 ;number of sectors to┆
0x0c7be0…0c7c00             20 6c 6f 61 64 0d 0a 6f 66 66 73 65 74 09 65 71 75 09 32 09 3b 6e 75 6d 62 65 72 20 6f 66 20 64   ┆ load  offset equ 2 ;number of d┆
0x0c7c00…0c7c20 (53, 0, 9)  29 0d 0a 09 6a 6d 70 09 6c 6f 0d 0a 3b 0d 0a 6c 69 73 74 73 74 3a 0d 0a 09 3b 72 65 74 75 72 6e   ┆)   jmp lo  ;  listst:   ;return┆
0x0c7c20…0c7c40             20 6c 69 73 74 20 73 74 61 74 75 73 0d 0a 09 78 72 61 09 61 0d 0a 09 72 65 74 09 09 3b 61 6c 77   ┆ list status   xra a   ret  ;alw┆
0x0c7c40…0c7c60             61 79 73 20 6e 6f 74 20 72 65 61 64 79 0d 0a 3b 0d 0a 70 75 6e 63 68 3a 09 3b 70 75 6e 63 68 20   ┆ays not ready  ;  punch: ;punch ┆
0x0c7c60…0c7c80             64 65 76 69 63 65 20 6f 75 74 0d 0a 3b 09 28 65 78 61 63 74 6c 79 20 74 68 65 20 73 61 6d 65 20   ┆device out  ; (exactly the same ┆
0x0c7c80…0c7ca0             61 73 20 6d 64 73 20 63 61 6c 6c 29 0d 0a 09 6a 6d 70 09 70 6f 0d 0a 3b 0d 0a 72 65 61 64 65 72   ┆as mds call)   jmp po  ;  reader┆
0x0c7ca0…0c7cc0             3a 09 3b 72 65 61 64 65 72 20 63 68 61 72 61 63 74 65 72 20 69 6e 20 74 6f 20 72 65 67 2d 61 0d   ┆: ;reader character in to reg-a ┆
0x0c7cc0…0c7ce0             0a 3b 09 28 65 78 61 63 74 6c 79 20 74 68 65 20 73 61 6d 65 20 61 73 20 6d 64 73 20 63 61 6c 6c   ┆ ; (exactly the same as mds call┆
0x0c7ce0…0c7d00             29 0d 0a 09 6a 6d 70 09 72 69 0d 0a 3b 0d 0a 68 6f 6d 65 3a 09 3b 6d 6f 76 65 20 74 6f 20 68 6f   ┆)   jmp ri  ;  home: ;move to ho┆
0x0c7d00…0c7d20             6d 65 20 70 6f 73 69 74 69 6f 6e 0d 0a 3b 09 74 72 65 61 74 20 61 73 20 74 72 61 63 6b 20 30 30   ┆me position  ; treat as track 00┆
0x0c7d20…0c7d40             20 73 65 65 6b 0d 0a 09 6d 76 69 09 63 2c 30 0d 0a 09 6a 6d 70 09 73 65 74 74 72 6b 0d 0a 3b 0d   ┆ seek   mvi c,0   jmp settrk  ; ┆
0x0c7d40…0c7d60             0a 73 65 6c 64 73 6b 3a 09 3b 73 65 6c 65 63 74 20 64 69 73 6b 20 67 69 76 65 6e 20 62 79 20 72   ┆ seldsk: ;select disk given by r┆
0x0c7d60…0c7d80             65 67 69 73 74 65 72 20 63 0d 0a 09 6c 78 69 09 68 2c 30 30 30 30 68 09 3b 72 65 74 75 72 6e 20   ┆egister c   lxi h,0000h ;return ┆
0x0c7d80…0c7da0             30 30 30 30 20 69 66 20 65 72 72 6f 72 0d 0a 09 6d 6f 76 09 61 2c 63 0d 0a 09 63 70 69 09 6e 64   ┆0000 if error   mov a,c   cpi nd┆
0x0c7da0…0c7dc0             69 73 6b 73 09 3b 74 6f 6f 20 6c 61 72 67 65 3f 0d 0a 09 72 6e 63 09 09 3b 6c 65 61 76 65 20 48   ┆isks ;too large?   rnc  ;leave H┆
0x0c7dc0…0c7de0             4c 20 3d 20 30 30 30 30 0d 0a 3b 0d 0a 09 61 6e 69 09 31 30 62 09 3b 30 30 20 30 30 20 66 6f 72   ┆L = 0000  ;   ani 10b ;00 00 for┆
0x0c7de0…0c7e00             20 64 72 69 76 65 20 30 2c 31 20 61 6e 64 20 31 30 20 31 30 20 66 6f 72 20 64 72 69 76 65 20 32   ┆ drive 0,1 and 10 10 for drive 2┆
0x0c7e00…0c7e20 (53, 0, 10) 67 2d 63 29 0d 0a 09 6c 78 69 09 68 2c 69 6f 66 09 3b 69 6f 20 66 75 6e 63 74 69 6f 6e 20 61 64   ┆g-c)   lxi h,iof ;io function ad┆
0x0c7e20…0c7e40             64 72 65 73 73 0d 0a 09 6d 6f 76 09 61 2c 6d 09 3b 67 65 74 20 69 74 20 74 6f 20 61 63 63 75 6d   ┆dress   mov a,m ;get it to accum┆
0x0c7e40…0c7e60             75 6c 61 74 6f 72 20 66 6f 72 20 6d 61 73 6b 69 6e 67 0d 0a 09 61 6e 69 09 31 31 31 31 31 30 30   ┆ulator for masking   ani 1111100┆
0x0c7e60…0c7e80             30 62 09 3b 72 65 6d 6f 76 65 20 70 72 65 76 69 6f 75 73 20 63 6f 6d 6d 61 6e 64 0d 0a 09 6f 72   ┆0b ;remove previous command   or┆
0x0c7e80…0c7ea0             61 09 63 09 3b 73 65 74 20 74 6f 20 6e 65 77 20 63 6f 6d 6d 61 6e 64 0d 0a 09 6d 6f 76 09 6d 2c   ┆a c ;set to new command   mov m,┆
0x0c7ea0…0c7ec0             61 09 3b 72 65 70 6c 61 63 65 64 20 69 6e 20 69 6f 70 62 0d 0a 3b 09 74 68 65 20 6d 64 73 2d 38   ┆a ;replaced in iopb  ; the mds-8┆
0x0c7ec0…0c7ee0             30 30 20 63 6f 6e 74 72 6f 6c 6c 65 72 20 72 65 71 75 69 72 65 73 20 64 69 73 6b 20 62 61 6e 6b   ┆00 controller requires disk bank┆
0x0c7ee0…0c7f00             20 62 69 74 20 69 6e 20 73 65 63 74 6f 72 20 62 79 74 65 0d 0a 3b 09 6d 61 73 6b 20 74 68 65 20   ┆ bit in sector byte  ; mask the ┆
0x0c7f00…0c7f20             62 69 74 20 66 72 6f 6d 20 74 68 65 20 63 75 72 72 65 6e 74 20 69 2f 6f 20 66 75 6e 63 74 69 6f   ┆bit from the current i/o functio┆
0x0c7f20…0c7f40             6e 0d 0a 09 61 6e 69 09 30 30 31 30 30 30 30 30 62 09 3b 6d 61 73 6b 20 74 68 65 20 64 69 73 6b   ┆n   ani 00100000b ;mask the disk┆
0x0c7f40…0c7f60             20 73 65 6c 65 63 74 20 62 69 74 0d 0a 09 6c 78 69 09 68 2c 69 6f 73 09 09 3b 61 64 64 72 65 73   ┆ select bit   lxi h,ios  ;addres┆
0x0c7f60…0c7f80             73 20 74 68 65 20 73 65 63 74 6f 72 20 73 65 6c 65 63 74 20 62 79 74 65 0d 0a 09 6f 72 61 09 6d   ┆s the sector select byte   ora m┆
0x0c7f80…0c7fa0             09 09 3b 73 65 6c 65 63 74 20 70 72 6f 70 65 72 20 64 69 73 6b 20 62 61 6e 6b 0d 0a 09 6d 6f 76   ┆  ;select proper disk bank   mov┆
0x0c7fa0…0c7fc0             09 6d 2c 61 09 09 3b 73 65 74 20 64 69 73 6b 20 73 65 6c 65 63 74 20 62 69 74 20 6f 6e 2f 6f 66   ┆ m,a  ;set disk select bit on/of┆
0x0c7fc0…0c7fe0             66 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 77 61 69 74 69 6f 3a 0d 0a 09 6d 76 69 09 63 2c 72 65 74 72   ┆f   ret  ;  waitio:   mvi c,retr┆
0x0c7fe0…0c8000             79 09 3b 6d 61 78 20 72 65 74 72 69 65 73 20 62 65 66 6f 72 65 20 70 65 72 6d 20 65 72 72 6f 72   ┆y ;max retries before perm error┆
0x0c8000…0c8020 (53, 0, 11) 6c 6f 77 20 28 68 61 72 64 77 61 72 65 20 6d 61 6c 66 75 6e 63 74 69 6f 6e 29 0d 0a 3b 09 35 09   ┆low (hardware malfunction)  ; 5 ┆
0x0c8020…0c8040             2d 20 77 72 69 74 65 20 70 72 6f 74 65 63 74 20 28 74 72 65 61 74 65 64 20 61 73 20 6e 6f 74 20   ┆- write protect (treated as not ┆
0x0c8040…0c8060             72 65 61 64 79 29 0d 0a 3b 09 36 09 2d 20 77 72 69 74 65 20 65 72 72 6f 72 20 28 68 61 72 64 77   ┆ready)  ; 6 - write error (hardw┆
0x0c8060…0c8080             61 72 65 20 6d 61 6c 66 75 6e 63 74 69 6f 6e 29 0d 0a 3b 09 37 09 2d 20 6e 6f 74 20 72 65 61 64   ┆are malfunction)  ; 7 - not read┆
0x0c8080…0c80a0             79 0d 0a 3b 09 28 61 63 63 75 6d 75 6c 61 74 6f 72 20 62 69 74 73 20 61 72 65 20 6e 75 6d 62 65   ┆y  ; (accumulator bits are numbe┆
0x0c80a0…0c80c0             72 65 64 20 37 20 36 20 35 20 34 20 33 20 32 20 31 20 30 29 0d 0a 3b 0d 0a 3b 09 69 74 20 6d 61   ┆red 7 6 5 4 3 2 1 0)  ;  ; it ma┆
0x0c80c0…0c80e0             79 20 62 65 20 75 73 65 66 75 6c 20 74 6f 20 66 69 6c 74 65 72 20 6f 75 74 20 74 68 65 20 76 61   ┆y be useful to filter out the va┆
0x0c80e0…0c8100             72 69 6f 75 73 20 63 6f 6e 64 69 74 69 6f 6e 73 2c 0d 0a 3b 09 62 75 74 20 77 65 20 77 69 6c 6c   ┆rious conditions,  ; but we will┆
0x0c8100…0c8120             20 67 65 74 20 61 20 70 65 72 6d 61 6e 65 6e 74 20 65 72 72 6f 72 20 6d 65 73 73 61 67 65 20 69   ┆ get a permanent error message i┆
0x0c8120…0c8140             66 20 69 74 20 69 73 20 6e 6f 74 0d 0a 3b 09 72 65 63 6f 76 65 72 61 62 6c 65 2e 20 20 69 6e 20   ┆f it is not  ; recoverable.  in ┆
0x0c8140…0c8160             61 6e 79 20 63 61 73 65 2c 20 74 68 65 20 6e 6f 74 20 72 65 61 64 79 20 63 6f 6e 64 69 74 69 6f   ┆any case, the not ready conditio┆
0x0c8160…0c8180             6e 20 69 73 0d 0a 3b 09 74 72 65 61 74 65 64 20 61 73 20 61 20 73 65 70 61 72 61 74 65 20 63 6f   ┆n is  ; treated as a separate co┆
0x0c8180…0c81a0             6e 64 69 74 69 6f 6e 20 66 6f 72 20 6c 61 74 65 72 20 69 6d 70 72 6f 76 65 6d 65 6e 74 0d 0a 74   ┆ndition for later improvement  t┆
0x0c81a0…0c81c0             72 79 63 6f 75 6e 74 3a 0d 0a 3b 09 72 65 67 69 73 74 65 72 20 63 20 63 6f 6e 74 61 69 6e 73 20   ┆rycount:  ; register c contains ┆
0x0c81c0…0c81e0             72 65 74 72 79 20 63 6f 75 6e 74 2c 20 64 65 63 72 65 6d 65 6e 74 20 27 74 69 6c 20 7a 65 72 6f   ┆retry count, decrement 'til zero┆
0x0c81e0…0c8200             0d 0a 09 64 63 72 09 63 0d 0a 09 6a 6e 7a 09 72 65 77 61 69 74 09 3b 66 6f 72 20 61 6e 6f 74 68   ┆   dcr c   jnz rewait ;for anoth┆
0x0c8200…0c8220 (53, 0, 12) 69 73 6b 20 74 72 61 63 6b 73 20 75 73 65 64 20 62 79 20 63 70 2f 6d 0d 0a 63 64 69 73 6b 09 65   ┆isk tracks used by cp/m  cdisk e┆
0x0c8220…0c8240             71 75 09 30 30 30 34 68 09 3b 61 64 64 72 65 73 73 20 6f 66 20 6c 61 73 74 20 6c 6f 67 67 65 64   ┆qu 0004h ;address of last logged┆
0x0c8240…0c8260             20 64 69 73 6b 20 6f 6e 20 77 61 72 6d 20 73 74 61 72 74 0d 0a 62 75 66 66 09 65 71 75 09 30 30   ┆ disk on warm start  buff equ 00┆
0x0c8260…0c8280             38 30 68 09 3b 64 65 66 61 75 6c 74 20 62 75 66 66 65 72 20 61 64 64 72 65 73 73 0d 0a 72 65 74   ┆80h ;default buffer address  ret┆
0x0c8280…0c82a0             72 79 09 65 71 75 09 31 30 09 3b 6d 61 78 20 72 65 74 72 69 65 73 20 6f 6e 20 64 69 73 6b 20 69   ┆ry equ 10 ;max retries on disk i┆
0x0c82a0…0c82c0             2f 6f 20 62 65 66 6f 72 65 20 65 72 72 6f 72 0d 0a 3b 0d 0a 3b 09 70 65 72 66 6f 72 6d 20 66 6f   ┆/o before error  ;  ; perform fo┆
0x0c82c0…0c82e0             6c 6c 6f 77 69 6e 67 20 66 75 6e 63 74 69 6f 6e 73 0d 0a 3b 09 62 6f 6f 74 09 63 6f 6c 64 20 73   ┆llowing functions  ; boot cold s┆
0x0c82e0…0c8300             74 61 72 74 0d 0a 3b 09 77 62 6f 6f 74 09 77 61 72 6d 20 73 74 61 72 74 20 28 73 61 76 65 20 69   ┆tart  ; wboot warm start (save i┆
0x0c8300…0c8320             2f 6f 20 62 79 74 65 29 0d 0a 3b 09 28 62 6f 6f 74 20 61 6e 64 20 77 62 6f 6f 74 20 61 72 65 20   ┆/o byte)  ; (boot and wboot are ┆
0x0c8320…0c8340             74 68 65 20 73 61 6d 65 20 66 6f 72 20 6d 64 73 29 0d 0a 3b 09 63 6f 6e 73 74 09 63 6f 6e 73 6f   ┆the same for mds)  ; const conso┆
0x0c8340…0c8360             6c 65 20 73 74 61 74 75 73 0d 0a 3b 09 09 72 65 67 2d 61 20 3d 20 30 30 20 69 66 20 6e 6f 20 63   ┆le status  ;  reg-a = 00 if no c┆
0x0c8360…0c8380             68 61 72 61 63 74 65 72 20 72 65 61 64 79 0d 0a 3b 09 09 72 65 67 2d 61 20 3d 20 66 66 20 69 66   ┆haracter ready  ;  reg-a = ff if┆
0x0c8380…0c83a0             20 63 68 61 72 61 63 74 65 72 20 72 65 61 64 79 0d 0a 3b 09 63 6f 6e 69 6e 09 63 6f 6e 73 6f 6c   ┆ character ready  ; conin consol┆
0x0c83a0…0c83c0             65 20 63 68 61 72 61 63 74 65 72 20 69 6e 20 28 72 65 73 75 6c 74 20 69 6e 20 72 65 67 2d 61 29   ┆e character in (result in reg-a)┆
0x0c83c0…0c83e0             0d 0a 3b 09 63 6f 6e 6f 75 74 09 63 6f 6e 73 6f 6c 65 20 63 68 61 72 61 63 74 65 72 20 6f 75 74   ┆  ; conout console character out┆
0x0c83e0…0c8400             20 28 63 68 61 72 20 69 6e 20 72 65 67 2d 63 29 0d 0a 3b 09 6c 69 73 74 09 6c 69 73 74 20 6f 75   ┆ (char in reg-c)  ; list list ou┆
0x0c8400…0c8420 (53, 0, 13) 2c 33 0d 0a 09 73 74 61 09 64 62 61 6e 6b 09 3b 74 6f 20 73 65 6c 65 63 74 20 64 72 69 76 65 20   ┆,3   sta dbank ;to select drive ┆
0x0c8420…0c8440             62 61 6e 6b 0d 0a 09 6d 6f 76 09 61 2c 63 09 3b 30 30 2c 20 30 31 2c 20 31 30 2c 20 31 31 0d 0a   ┆bank   mov a,c ;00, 01, 10, 11  ┆
0x0c8440…0c8460             09 61 6e 69 09 31 62 09 3b 6d 64 73 20 68 61 73 20 30 2c 31 20 61 74 20 37 38 2c 20 32 2c 33 20   ┆ ani 1b ;mds has 0,1 at 78, 2,3 ┆
0x0c8460…0c8480             61 74 20 38 38 0d 0a 09 6f 72 61 09 61 09 3b 72 65 73 75 6c 74 20 30 30 3f 0d 0a 09 6a 7a 09 73   ┆at 88   ora a ;result 00?   jz s┆
0x0c8480…0c84a0             65 74 64 72 69 76 65 0d 0a 09 6d 76 69 09 61 2c 30 30 31 31 30 30 30 30 62 09 3b 73 65 6c 65 63   ┆etdrive   mvi a,00110000b ;selec┆
0x0c84a0…0c84c0             74 73 20 64 72 69 76 65 20 31 20 69 6e 20 62 61 6e 6b 0d 0a 73 65 74 64 72 69 76 65 3a 0d 0a 09   ┆ts drive 1 in bank  setdrive:   ┆
0x0c84c0…0c84e0             6d 6f 76 09 62 2c 61 09 3b 73 61 76 65 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 6c 78 69   ┆mov b,a ;save the function   lxi┆
0x0c84e0…0c8500             09 68 2c 69 6f 66 09 3b 69 6f 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 6d 6f 76 09 61 2c 6d 0d 0a 09   ┆ h,iof ;io function   mov a,m   ┆
0x0c8500…0c8520             61 6e 69 09 31 31 30 30 31 31 31 31 62 09 3b 6d 61 73 6b 20 6f 75 74 20 64 69 73 6b 20 6e 75 6d   ┆ani 11001111b ;mask out disk num┆
0x0c8520…0c8540             62 65 72 0d 0a 09 6f 72 61 09 62 09 3b 6d 61 73 6b 20 69 6e 20 6e 65 77 20 64 69 73 6b 20 6e 75   ┆ber   ora b ;mask in new disk nu┆
0x0c8540…0c8560             6d 62 65 72 0d 0a 09 6d 6f 76 09 6d 2c 61 09 3b 73 61 76 65 20 69 74 20 69 6e 20 69 6f 70 62 0d   ┆mber   mov m,a ;save it in iopb ┆
0x0c8560…0c8580             0a 09 6d 6f 76 09 6c 2c 63 0d 0a 09 6d 76 69 09 68 2c 30 09 3b 48 4c 3d 64 69 73 6b 20 6e 75 6d   ┆  mov l,c   mvi h,0 ;HL=disk num┆
0x0c8580…0c85a0             62 65 72 0d 0a 09 64 61 64 09 68 09 3b 2a 32 0d 0a 09 64 61 64 09 68 09 3b 2a 34 0d 0a 09 64 61   ┆ber   dad h ;*2   dad h ;*4   da┆
0x0c85a0…0c85c0             64 09 68 09 3b 2a 38 0d 0a 09 64 61 64 09 68 09 3b 2a 31 36 0d 0a 09 6c 78 69 09 64 2c 64 70 62   ┆d h ;*8   dad h ;*16   lxi d,dpb┆
0x0c85c0…0c85e0             61 73 65 0d 0a 09 64 61 64 09 64 09 3b 48 4c 3d 64 69 73 6b 20 68 65 61 64 65 72 20 74 61 62 6c   ┆ase   dad d ;HL=disk header tabl┆
0x0c85e0…0c8600             65 20 61 64 64 72 65 73 73 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 3b 0d 0a 73 65 74 74 72 6b 3a 09 3b   ┆e address   ret  ;  ;  settrk: ;┆
0x0c8600…0c8620 (53, 0, 14) 0d 0a 72 65 77 61 69 74 3a 0d 0a 3b 09 73 74 61 72 74 20 74 68 65 20 69 2f 6f 20 66 75 6e 63 74   ┆  rewait:  ; start the i/o funct┆
0x0c8620…0c8640             69 6f 6e 20 61 6e 64 20 77 61 69 74 20 66 6f 72 20 63 6f 6d 70 6c 65 74 69 6f 6e 0d 0a 09 63 61   ┆ion and wait for completion   ca┆
0x0c8640…0c8660             6c 6c 09 69 6e 74 79 70 65 09 3b 69 6e 20 72 74 79 70 65 0d 0a 09 63 61 6c 6c 09 69 6e 62 79 74   ┆ll intype ;in rtype   call inbyt┆
0x0c8660…0c8680             65 09 3b 63 6c 65 61 72 73 20 74 68 65 20 63 6f 6e 74 72 6f 6c 6c 65 72 0d 0a 3b 0d 0a 09 6c 64   ┆e ;clears the controller  ;   ld┆
0x0c8680…0c86a0             61 09 64 62 61 6e 6b 09 09 3b 73 65 74 20 62 61 6e 6b 20 66 6c 61 67 73 0d 0a 09 6f 72 61 09 61   ┆a dbank  ;set bank flags   ora a┆
0x0c86a0…0c86c0             09 09 3b 7a 65 72 6f 20 69 66 20 64 72 69 76 65 20 30 2c 31 20 61 6e 64 20 6e 7a 20 69 66 20 32   ┆  ;zero if drive 0,1 and nz if 2┆
0x0c86c0…0c86e0             2c 33 0d 0a 09 6d 76 69 09 61 2c 69 6f 70 62 20 61 6e 64 20 30 66 66 68 09 3b 6c 6f 77 20 61 64   ┆,3   mvi a,iopb and 0ffh ;low ad┆
0x0c86e0…0c8700             64 72 65 73 73 20 66 6f 72 20 69 6f 70 62 0d 0a 09 6d 76 69 09 62 2c 69 6f 70 62 20 73 68 72 20   ┆dress for iopb   mvi b,iopb shr ┆
0x0c8700…0c8720             38 09 3b 68 69 67 68 20 61 64 64 72 65 73 73 20 66 6f 72 20 69 6f 70 62 0d 0a 09 6a 6e 7a 09 69   ┆8 ;high address for iopb   jnz i┆
0x0c8720…0c8740             6f 64 72 31 09 3b 64 72 69 76 65 20 62 61 6e 6b 20 31 3f 0d 0a 09 6f 75 74 09 69 6c 6f 77 09 09   ┆odr1 ;drive bank 1?   out ilow  ┆
0x0c8740…0c8760             3b 6c 6f 77 20 61 64 64 72 65 73 73 20 74 6f 20 63 6f 6e 74 72 6f 6c 6c 65 72 0d 0a 09 6d 6f 76   ┆;low address to controller   mov┆
0x0c8760…0c8780             09 61 2c 62 0d 0a 09 6f 75 74 09 69 68 69 67 68 09 3b 68 69 67 68 20 61 64 64 72 65 73 73 0d 0a   ┆ a,b   out ihigh ;high address  ┆
0x0c8780…0c87a0             09 6a 6d 70 09 77 61 69 74 30 09 09 3b 74 6f 20 77 61 69 74 20 66 6f 72 20 63 6f 6d 70 6c 65 74   ┆ jmp wait0  ;to wait for complet┆
0x0c87a0…0c87c0             65 0d 0a 3b 0d 0a 69 6f 64 72 31 3a 09 3b 64 72 69 76 65 20 62 61 6e 6b 20 31 0d 0a 09 6f 75 74   ┆e  ;  iodr1: ;drive bank 1   out┆
0x0c87c0…0c87e0             09 69 6c 6f 77 2b 31 30 68 09 3b 38 38 20 66 6f 72 20 64 72 69 76 65 20 62 61 6e 6b 20 31 30 0d   ┆ ilow+10h ;88 for drive bank 10 ┆
0x0c87e0…0c8800             0a 09 6d 6f 76 09 61 2c 62 0d 0a 09 6f 75 74 09 69 68 69 67 68 2b 31 30 68 0d 0a 3b 0d 0a 77 61   ┆  mov a,b   out ihigh+10h  ;  wa┆
0x0c8800…0c8820 (53, 0, 15) 65 72 20 74 72 79 0d 0a 3b 0d 0a 3b 09 63 61 6e 6e 6f 74 20 72 65 63 6f 76 65 72 20 66 72 6f 6d   ┆er try  ;  ; cannot recover from┆
0x0c8820…0c8840             20 65 72 72 6f 72 0d 0a 09 6d 76 69 09 61 2c 31 09 3b 65 72 72 6f 72 20 63 6f 64 65 0d 0a 09 72   ┆ error   mvi a,1 ;error code   r┆
0x0c8840…0c8860             65 74 0d 0a 3b 0d 0a 3b 09 69 6e 74 79 70 65 2c 20 69 6e 62 79 74 65 2c 20 69 6e 73 74 61 74 20   ┆et  ;  ; intype, inbyte, instat ┆
0x0c8860…0c8880             72 65 61 64 20 64 72 69 76 65 20 62 61 6e 6b 20 30 30 20 6f 72 20 31 30 0d 0a 69 6e 74 79 70 65   ┆read drive bank 00 or 10  intype┆
0x0c8880…0c88a0             3a 09 6c 64 61 09 64 62 61 6e 6b 0d 0a 09 6f 72 61 09 61 0d 0a 09 6a 6e 7a 09 69 6e 74 79 70 31   ┆: lda dbank   ora a   jnz intyp1┆
0x0c88a0…0c88c0             09 3b 73 6b 69 70 20 74 6f 20 62 61 6e 6b 20 31 30 0d 0a 09 69 6e 09 72 74 79 70 65 0d 0a 09 72   ┆ ;skip to bank 10   in rtype   r┆
0x0c88c0…0c88e0             65 74 0d 0a 69 6e 74 79 70 31 3a 09 69 6e 09 72 74 79 70 65 2b 31 30 68 09 3b 37 38 20 66 6f 72   ┆et  intyp1: in rtype+10h ;78 for┆
0x0c88e0…0c8900             20 30 2c 31 20 20 38 38 20 66 6f 72 20 32 2c 33 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 69 6e 62 79 74   ┆ 0,1  88 for 2,3   ret  ;  inbyt┆
0x0c8900…0c8920             65 3a 09 6c 64 61 09 64 62 61 6e 6b 0d 0a 09 6f 72 61 09 61 0d 0a 09 6a 6e 7a 09 69 6e 62 79 74   ┆e: lda dbank   ora a   jnz inbyt┆
0x0c8920…0c8940             31 0d 0a 09 69 6e 09 72 62 79 74 65 0d 0a 09 72 65 74 0d 0a 69 6e 62 79 74 31 3a 09 69 6e 09 72   ┆1   in rbyte   ret  inbyt1: in r┆
0x0c8940…0c8960             62 79 74 65 2b 31 30 68 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 69 6e 73 74 61 74 3a 09 6c 64 61 09 64   ┆byte+10h   ret  ;  instat: lda d┆
0x0c8960…0c8980             62 61 6e 6b 0d 0a 09 6f 72 61 09 61 0d 0a 09 6a 6e 7a 09 69 6e 73 74 61 31 0d 0a 09 69 6e 09 64   ┆bank   ora a   jnz insta1   in d┆
0x0c8980…0c89a0             73 74 61 74 0d 0a 09 72 65 74 0d 0a 69 6e 73 74 61 31 3a 09 69 6e 09 64 73 74 61 74 2b 31 30 68   ┆stat   ret  insta1: in dstat+10h┆
0x0c89a0…0c89c0             0d 0a 09 72 65 74 0d 0a 3b 0d 0a 3b 0d 0a 3b 0d 0a 3b 09 64 61 74 61 20 61 72 65 61 73 20 28 6d   ┆   ret  ;  ;  ;  ; data areas (m┆
0x0c89c0…0c89e0             75 73 74 20 62 65 20 69 6e 20 72 61 6d 29 0d 0a 64 62 61 6e 6b 3a 09 64 62 09 30 09 3b 64 69 73   ┆ust be in ram)  dbank: db 0 ;dis┆
0x0c89e0…0c8a00             6b 20 62 61 6e 6b 20 30 30 20 69 66 20 64 72 69 76 65 20 30 2c 31 0d 0a 09 09 09 3b 09 20 20 20   ┆k bank 00 if drive 0,1     ;    ┆
0x0c8a00…0c8a20 (53, 1, 1)  74 20 28 63 68 61 72 20 69 6e 20 72 65 67 2d 63 29 0d 0a 3b 09 70 75 6e 63 68 09 70 75 6e 63 68   ┆t (char in reg-c)  ; punch punch┆
0x0c8a20…0c8a40             20 6f 75 74 20 28 63 68 61 72 20 69 6e 20 72 65 67 2d 63 29 0d 0a 3b 09 72 65 61 64 65 72 09 70   ┆ out (char in reg-c)  ; reader p┆
0x0c8a40…0c8a60             61 70 65 72 20 74 61 70 65 20 72 65 61 64 65 72 20 69 6e 20 28 72 65 73 75 6c 74 20 74 6f 20 72   ┆aper tape reader in (result to r┆
0x0c8a60…0c8a80             65 67 2d 61 29 0d 0a 3b 09 68 6f 6d 65 09 6d 6f 76 65 20 74 6f 20 74 72 61 63 6b 20 30 30 0d 0a   ┆eg-a)  ; home move to track 00  ┆
0x0c8a80…0c8aa0             3b 0d 0a 3b 09 28 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 61 6c 6c 73 20 73 65 74 2d 75 70   ┆;  ; (the following calls set-up┆
0x0c8aa0…0c8ac0             20 74 68 65 20 69 6f 20 70 61 72 61 6d 65 74 65 72 20 62 6c 6f 63 6b 20 66 6f 72 20 74 68 65 0d   ┆ the io parameter block for the ┆
0x0c8ac0…0c8ae0             0a 3b 09 6d 64 73 2c 20 77 68 69 63 68 20 69 73 20 75 73 65 64 20 74 6f 20 70 65 72 66 6f 72 6d   ┆ ; mds, which is used to perform┆
0x0c8ae0…0c8b00             20 73 75 62 73 65 71 75 65 6e 74 20 72 65 61 64 73 20 61 6e 64 20 77 72 69 74 65 73 29 0d 0a 3b   ┆ subsequent reads and writes)  ;┆
0x0c8b00…0c8b20             09 73 65 6c 64 73 6b 09 73 65 6c 65 63 74 20 64 69 73 6b 20 67 69 76 65 6e 20 62 79 20 72 65 67   ┆ seldsk select disk given by reg┆
0x0c8b20…0c8b40             2d 63 20 28 30 2c 31 2c 32 2e 2e 2e 29 0d 0a 3b 09 73 65 74 74 72 6b 09 73 65 74 20 74 72 61 63   ┆-c (0,1,2...)  ; settrk set trac┆
0x0c8b40…0c8b60             6b 20 61 64 64 72 65 73 73 20 28 30 2c 2e 2e 2e 37 36 29 20 66 6f 72 20 73 75 62 73 65 71 75 65   ┆k address (0,...76) for subseque┆
0x0c8b60…0c8b80             6e 74 20 72 65 61 64 2f 77 72 69 74 65 0d 0a 3b 09 73 65 74 73 65 63 09 73 65 74 20 73 65 63 74   ┆nt read/write  ; setsec set sect┆
0x0c8b80…0c8ba0             6f 72 20 61 64 64 72 65 73 73 20 28 31 2c 2e 2e 2e 2c 32 36 29 20 66 6f 72 20 73 75 62 73 65 71   ┆or address (1,...,26) for subseq┆
0x0c8ba0…0c8bc0             75 65 6e 74 20 72 65 61 64 2f 77 72 69 74 65 0d 0a 3b 09 73 65 74 64 6d 61 09 73 65 74 20 73 75   ┆uent read/write  ; setdma set su┆
0x0c8bc0…0c8be0             62 73 65 71 75 65 6e 74 20 64 6d 61 20 61 64 64 72 65 73 73 20 28 69 6e 69 74 69 61 6c 6c 79 20   ┆bsequent dma address (initially ┆
0x0c8be0…0c8c00             38 30 68 29 0d 0a 3b 0d 0a 3b 09 28 72 65 61 64 20 61 6e 64 20 77 72 69 74 65 20 61 73 73 75 6d   ┆80h)  ;  ; (read and write assum┆
0x0c8c00…0c8c20 (53, 1, 2)  20 61 0d 0a 3b 0d 0a 3b 09 64 69 73 6b 20 70 6f 72 74 73 20 61 6e 64 20 63 6f 6d 6d 61 6e 64 73   ┆ a  ;  ; disk ports and commands┆
0x0c8c20…0c8c40             0d 0a 62 61 73 65 09 65 71 75 09 37 38 68 09 3b 62 61 73 65 20 6f 66 20 64 69 73 6b 20 63 6f 6d   ┆  base equ 78h ;base of disk com┆
0x0c8c40…0c8c60             6d 61 6e 64 20 69 6f 20 70 6f 72 74 73 0d 0a 64 73 74 61 74 09 65 71 75 09 62 61 73 65 09 3b 64   ┆mand io ports  dstat equ base ;d┆
0x0c8c60…0c8c80             69 73 6b 20 73 74 61 74 75 73 20 28 69 6e 70 75 74 29 0d 0a 72 74 79 70 65 09 65 71 75 09 62 61   ┆isk status (input)  rtype equ ba┆
0x0c8c80…0c8ca0             73 65 2b 31 09 3b 72 65 73 75 6c 74 20 74 79 70 65 20 28 69 6e 70 75 74 29 0d 0a 72 62 79 74 65   ┆se+1 ;result type (input)  rbyte┆
0x0c8ca0…0c8cc0             09 65 71 75 09 62 61 73 65 2b 33 09 3b 72 65 73 75 6c 74 20 62 79 74 65 20 28 69 6e 70 75 74 29   ┆ equ base+3 ;result byte (input)┆
0x0c8cc0…0c8ce0             0d 0a 3b 0d 0a 69 6c 6f 77 09 65 71 75 09 62 61 73 65 2b 31 09 3b 69 6f 70 62 20 6c 6f 77 20 61   ┆  ;  ilow equ base+1 ;iopb low a┆
0x0c8ce0…0c8d00             64 64 72 65 73 73 20 28 6f 75 74 70 75 74 29 0d 0a 69 68 69 67 68 09 65 71 75 09 62 61 73 65 2b   ┆ddress (output)  ihigh equ base+┆
0x0c8d00…0c8d20             32 09 3b 69 6f 70 62 20 68 69 67 68 20 61 64 64 72 65 73 73 20 28 6f 75 74 70 75 74 29 0d 0a 3b   ┆2 ;iopb high address (output)  ;┆
0x0c8d20…0c8d40             0d 0a 72 65 61 64 66 09 65 71 75 09 34 68 09 3b 72 65 61 64 20 66 75 6e 63 74 69 6f 6e 0d 0a 77   ┆  readf equ 4h ;read function  w┆
0x0c8d40…0c8d60             72 69 74 66 09 65 71 75 09 36 68 09 3b 77 72 69 74 65 20 66 75 6e 63 74 69 6f 6e 0d 0a 72 65 63   ┆ritf equ 6h ;write function  rec┆
0x0c8d60…0c8d80             61 6c 09 65 71 75 09 33 68 09 3b 72 65 63 61 6c 69 62 72 61 74 65 20 64 72 69 76 65 0d 0a 69 6f   ┆al equ 3h ;recalibrate drive  io┆
0x0c8d80…0c8da0             72 64 79 09 65 71 75 09 34 68 09 3b 69 2f 6f 20 66 69 6e 69 73 68 65 64 20 6d 61 73 6b 0d 0a 63   ┆rdy equ 4h ;i/o finished mask  c┆
0x0c8da0…0c8dc0             72 09 65 71 75 09 30 64 68 09 3b 63 61 72 72 69 61 67 65 20 72 65 74 75 72 6e 0d 0a 6c 66 09 65   ┆r equ 0dh ;carriage return  lf e┆
0x0c8dc0…0c8de0             71 75 09 30 61 68 09 3b 6c 69 6e 65 20 66 65 65 64 0d 0a 3b 0d 0a 73 69 67 6e 6f 6e 3a 09 3b 73   ┆qu 0ah ;line feed  ;  signon: ;s┆
0x0c8de0…0c8e00             69 67 6e 6f 6e 20 6d 65 73 73 61 67 65 3a 20 78 78 6b 20 63 70 2f 6d 20 76 65 72 73 20 79 2e 79   ┆ignon message: xxk cp/m vers y.y┆
0x0c8e00…0c8e20 (53, 1, 3)  72 0d 0a 09 6d 6f 76 09 63 2c 61 09 3b 72 65 61 64 79 20 66 6f 72 20 63 61 6c 6c 0d 0a 09 63 61   ┆r   mov c,a ;ready for call   ca┆
0x0c8e20…0c8e40             6c 6c 09 73 65 74 73 65 63 0d 0a 09 70 6f 70 09 62 09 3b 72 65 63 61 6c 6c 20 73 65 63 74 6f 72   ┆ll setsec   pop b ;recall sector┆
0x0c8e40…0c8e60             20 63 6f 75 6e 74 0d 0a 09 64 63 72 09 62 09 3b 64 6f 6e 65 3f 0d 0a 09 6a 6e 7a 09 72 64 73 65   ┆ count   dcr b ;done?   jnz rdse┆
0x0c8e60…0c8e80             63 0d 0a 3b 0d 0a 3b 09 64 6f 6e 65 20 77 69 74 68 20 74 68 65 20 6c 6f 61 64 2c 20 72 65 73 65   ┆c  ;  ; done with the load, rese┆
0x0c8e80…0c8ea0             74 20 64 65 66 61 75 6c 74 20 62 75 66 66 65 72 20 61 64 64 72 65 73 73 0d 0a 67 6f 63 70 6d 3a   ┆t default buffer address  gocpm:┆
0x0c8ea0…0c8ec0             09 3b 28 65 6e 74 65 72 20 68 65 72 65 20 66 72 6f 6d 20 63 6f 6c 64 20 73 74 61 72 74 20 62 6f   ┆ ;(enter here from cold start bo┆
0x0c8ec0…0c8ee0             6f 74 29 0d 0a 3b 09 65 6e 61 62 6c 65 20 72 73 74 30 20 61 6e 64 20 72 73 74 37 0d 0a 09 64 69   ┆ot)  ; enable rst0 and rst7   di┆
0x0c8ee0…0c8f00             0d 0a 09 6d 76 69 09 61 2c 31 32 68 09 3b 69 6e 69 74 69 61 6c 69 7a 65 20 63 6f 6d 6d 61 6e 64   ┆   mvi a,12h ;initialize command┆
0x0c8f00…0c8f20             0d 0a 09 6f 75 74 09 72 65 76 72 74 0d 0a 09 78 72 61 09 61 0d 0a 09 6f 75 74 09 69 6e 74 63 09   ┆   out revrt   xra a   out intc ┆
0x0c8f20…0c8f40             3b 63 6c 65 61 72 65 64 0d 0a 09 6d 76 69 09 61 2c 69 6e 74 65 09 3b 72 73 74 30 20 61 6e 64 20   ┆;cleared   mvi a,inte ;rst0 and ┆
0x0c8f40…0c8f60             72 73 74 37 20 62 69 74 73 20 6f 6e 0d 0a 09 6f 75 74 09 69 6e 74 63 0d 0a 09 78 72 61 09 61 0d   ┆rst7 bits on   out intc   xra a ┆
0x0c8f60…0c8f80             0a 09 6f 75 74 09 69 63 6f 6e 09 3b 69 6e 74 65 72 72 75 70 74 20 63 6f 6e 74 72 6f 6c 0d 0a 3b   ┆  out icon ;interrupt control  ;┆
0x0c8f80…0c8fa0             0d 0a 3b 09 73 65 74 20 64 65 66 61 75 6c 74 20 62 75 66 66 65 72 20 61 64 64 72 65 73 73 20 74   ┆  ; set default buffer address t┆
0x0c8fa0…0c8fc0             6f 20 38 30 68 0d 0a 09 6c 78 69 09 62 2c 62 75 66 66 0d 0a 09 63 61 6c 6c 09 73 65 74 64 6d 61   ┆o 80h   lxi b,buff   call setdma┆
0x0c8fc0…0c8fe0             0d 0a 3b 0d 0a 3b 09 72 65 73 65 74 20 6d 6f 6e 69 74 6f 72 20 65 6e 74 72 79 20 70 6f 69 6e 74   ┆  ;  ; reset monitor entry point┆
0x0c8fe0…0c9000             73 0d 0a 09 6d 76 69 09 61 2c 6a 6d 70 0d 0a 09 73 74 61 09 30 0d 0a 09 6c 78 69 09 68 2c 77 62   ┆s   mvi a,jmp   sta 0   lxi h,wb┆
0x0c9000…0c9020 (53, 1, 4)  20 32 2c 33 20 61 74 20 38 38 0d 0a 09 6f 72 61 09 61 09 3b 72 65 73 75 6c 74 20 30 30 3f 0d 0a   ┆ 2,3 at 88   ora a ;result 00?  ┆
0x0c9020…0c9040             09 6a 7a 09 73 65 74 64 72 69 76 65 0d 0a 09 6d 76 69 09 61 2c 30 30 31 31 30 30 30 30 62 09 3b   ┆ jz setdrive   mvi a,00110000b ;┆
0x0c9040…0c9060             73 65 6c 65 63 74 73 20 64 72 69 76 65 20 31 20 69 6e 20 62 61 6e 6b 0d 0a 73 65 74 64 72 69 76   ┆selects drive 1 in bank  setdriv┆
0x0c9060…0c9080             65 3a 0d 0a 09 6d 6f 76 09 62 2c 61 09 3b 73 61 76 65 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 0d   ┆e:   mov b,a ;save the function ┆
0x0c9080…0c90a0             0a 09 6c 78 69 09 68 2c 69 6f 66 09 3b 69 6f 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 6d 6f 76 09 61   ┆  lxi h,iof ;io function   mov a┆
0x0c90a0…0c90c0             2c 6d 0d 0a 09 61 6e 69 09 31 31 30 30 31 31 31 31 62 09 3b 6d 61 73 6b 20 6f 75 74 20 64 69 73   ┆,m   ani 11001111b ;mask out dis┆
0x0c90c0…0c90e0             6b 20 6e 75 6d 62 65 72 0d 0a 09 6f 72 61 09 62 09 3b 6d 61 73 6b 20 69 6e 20 6e 65 77 20 64 69   ┆k number   ora b ;mask in new di┆
0x0c90e0…0c9100             73 6b 20 6e 75 6d 62 65 72 0d 0a 09 6d 6f 76 09 6d 2c 61 09 3b 73 61 76 65 20 69 74 20 69 6e 20   ┆sk number   mov m,a ;save it in ┆
0x0c9100…0c9120             69 6f 70 62 0d 0a 09 6d 6f 76 09 6c 2c 63 0d 0a 09 6d 76 69 09 68 2c 30 09 3b 48 4c 3d 64 69 73   ┆iopb   mov l,c   mvi h,0 ;HL=dis┆
0x0c9120…0c9140             6b 20 6e 75 6d 62 65 72 0d 0a 09 64 61 64 09 68 09 3b 2a 32 0d 0a 09 64 61 64 09 68 09 3b 2a 34   ┆k number   dad h ;*2   dad h ;*4┆
0x0c9140…0c9160             0d 0a 09 64 61 64 09 68 09 3b 2a 38 0d 0a 09 64 61 64 09 68 09 3b 2a 31 36 0d 0a 09 6c 78 69 09   ┆   dad h ;*8   dad h ;*16   lxi ┆
0x0c9160…0c9180             64 2c 64 70 62 61 73 65 0d 0a 09 64 61 64 09 64 09 3b 48 4c 3d 64 69 73 6b 20 68 65 61 64 65 72   ┆d,dpbase   dad d ;HL=disk header┆
0x0c9180…0c91a0             20 74 61 62 6c 65 20 61 64 64 72 65 73 73 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 3b 0d 0a 73 65 74 74   ┆ table address   ret  ;  ;  sett┆
0x0c91a0…0c91c0             72 6b 3a 09 3b 73 65 74 20 74 72 61 63 6b 20 61 64 64 72 65 73 73 20 67 69 76 65 6e 20 62 79 20   ┆rk: ;set track address given by ┆
0x0c91c0…0c91e0             63 0d 0a 09 6c 78 69 09 68 2c 69 6f 74 0d 0a 09 6d 6f 76 09 6d 2c 63 0d 0a 09 72 65 74 0d 0a 3b   ┆c   lxi h,iot   mov m,c   ret  ;┆
0x0c91e0…0c9200             0d 0a 73 65 74 73 65 63 3a 09 3b 73 65 74 20 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 20 67 69 76   ┆  setsec: ;set sector number giv┆
0x0c9200…0c9220 (53, 1, 5)  65 20 70 72 65 76 69 6f 75 73 20 63 61 6c 6c 73 20 74 6f 20 73 65 74 20 75 70 20 74 68 65 20 69   ┆e previous calls to set up the i┆
0x0c9220…0c9240             6f 20 70 61 72 61 6d 65 74 65 72 73 29 0d 0a 3b 09 72 65 61 64 09 72 65 61 64 20 74 72 61 63 6b   ┆o parameters)  ; read read track┆
0x0c9240…0c9260             2f 73 65 63 74 6f 72 20 74 6f 20 70 72 65 73 65 74 20 64 6d 61 20 61 64 64 72 65 73 73 0d 0a 3b   ┆/sector to preset dma address  ;┆
0x0c9260…0c9280             09 77 72 69 74 65 09 77 72 69 74 65 20 74 72 61 63 6b 2f 73 65 63 74 6f 72 20 66 72 6f 6d 20 70   ┆ write write track/sector from p┆
0x0c9280…0c92a0             72 65 73 65 74 20 64 6d 61 20 61 64 64 72 65 73 73 0d 0a 3b 0d 0a 3b 09 6a 75 6d 70 20 76 65 63   ┆reset dma address  ;  ; jump vec┆
0x0c92a0…0c92c0             74 6f 72 20 66 6f 72 20 69 6e 64 69 76 69 75 61 6c 20 72 6f 75 74 69 6e 65 73 0d 0a 09 6a 6d 70   ┆tor for indiviual routines   jmp┆
0x0c92c0…0c92e0             09 62 6f 6f 74 0d 0a 77 62 6f 6f 74 65 3a 09 6a 6d 70 09 77 62 6f 6f 74 0d 0a 09 6a 6d 70 09 63   ┆ boot  wboote: jmp wboot   jmp c┆
0x0c92e0…0c9300             6f 6e 73 74 0d 0a 09 6a 6d 70 09 63 6f 6e 69 6e 0d 0a 09 6a 6d 70 09 63 6f 6e 6f 75 74 0d 0a 09   ┆onst   jmp conin   jmp conout   ┆
0x0c9300…0c9320             6a 6d 70 09 6c 69 73 74 0d 0a 09 6a 6d 70 09 70 75 6e 63 68 0d 0a 09 6a 6d 70 09 72 65 61 64 65   ┆jmp list   jmp punch   jmp reade┆
0x0c9320…0c9340             72 0d 0a 09 6a 6d 70 09 68 6f 6d 65 0d 0a 09 6a 6d 70 09 73 65 6c 64 73 6b 0d 0a 09 6a 6d 70 09   ┆r   jmp home   jmp seldsk   jmp ┆
0x0c9340…0c9360             73 65 74 74 72 6b 0d 0a 09 6a 6d 70 09 73 65 74 73 65 63 0d 0a 09 6a 6d 70 09 73 65 74 64 6d 61   ┆settrk   jmp setsec   jmp setdma┆
0x0c9360…0c9380             0d 0a 09 6a 6d 70 09 72 65 61 64 0d 0a 09 6a 6d 70 09 77 72 69 74 65 0d 0a 09 6a 6d 70 09 6c 69   ┆   jmp read   jmp write   jmp li┆
0x0c9380…0c93a0             73 74 73 74 09 3b 6c 69 73 74 20 73 74 61 74 75 73 0d 0a 09 6a 6d 70 09 73 65 63 74 72 61 6e 0d   ┆stst ;list status   jmp sectran ┆
0x0c93a0…0c93c0             0a 3b 0d 0a 09 6d 61 63 6c 69 62 09 64 69 73 6b 64 65 66 09 3b 6c 6f 61 64 20 74 68 65 20 64 69   ┆ ;   maclib diskdef ;load the di┆
0x0c93c0…0c93e0             73 6b 20 64 65 66 69 6e 69 74 69 6f 6e 20 6c 69 62 72 61 72 79 0d 0a 09 64 69 73 6b 73 09 34 09   ┆sk definition library   disks 4 ┆
0x0c93e0…0c9400             3b 66 6f 75 72 20 64 69 73 6b 73 0d 0a 09 64 69 73 6b 64 65 66 09 30 2c 31 2c 32 36 2c 36 2c 31   ┆;four disks   diskdef 0,1,26,6,1┆
0x0c9400…0c9420 (53, 1, 6)  0d 0a 09 64 62 09 63 72 2c 6c 66 2c 6c 66 0d 0a 09 69 66 09 74 65 73 74 0d 0a 09 64 62 09 27 33   ┆   db cr,lf,lf   if test   db '3┆
0x0c9420…0c9440             32 27 09 3b 33 32 6b 20 65 78 61 6d 70 6c 65 20 62 69 6f 73 0d 0a 09 65 6e 64 69 66 0d 0a 09 69   ┆2' ;32k example bios   endif   i┆
0x0c9440…0c9460             66 09 6e 6f 74 20 74 65 73 74 0d 0a 09 64 62 09 27 30 30 27 09 3b 6d 65 6d 6f 72 79 20 73 69 7a   ┆f not test   db '00' ;memory siz┆
0x0c9460…0c9480             65 20 66 69 6c 6c 65 64 20 62 79 20 72 65 6c 6f 63 61 74 6f 72 0d 0a 09 65 6e 64 69 66 0d 0a 09   ┆e filled by relocator   endif   ┆
0x0c9480…0c94a0             64 62 09 27 6b 20 43 50 2f 4d 20 76 65 72 73 20 27 0d 0a 09 64 62 09 76 65 72 73 2f 31 30 2b 27   ┆db 'k CP/M vers '   db vers/10+'┆
0x0c94a0…0c94c0             30 27 2c 27 2e 27 2c 76 65 72 73 20 6d 6f 64 20 31 30 2b 27 30 27 0d 0a 09 64 62 09 63 72 2c 6c   ┆0','.',vers mod 10+'0'   db cr,l┆
0x0c94c0…0c94e0             66 2c 30 0d 0a 3b 0d 0a 62 6f 6f 74 3a 09 3b 70 72 69 6e 74 20 73 69 67 6e 6f 6e 20 6d 65 73 73   ┆f,0  ;  boot: ;print signon mess┆
0x0c94e0…0c9500             61 67 65 20 61 6e 64 20 67 6f 20 74 6f 20 63 63 70 0d 0a 3b 09 28 6e 6f 74 65 3a 20 6d 64 73 20   ┆age and go to ccp  ; (note: mds ┆
0x0c9500…0c9520             62 6f 6f 74 20 69 6e 69 74 69 61 6c 69 7a 65 64 20 69 6f 62 79 74 65 20 61 74 20 30 30 30 33 68   ┆boot initialized iobyte at 0003h┆
0x0c9520…0c9540             29 0d 0a 09 6c 78 69 09 73 70 2c 62 75 66 66 2b 38 30 68 0d 0a 09 6c 78 69 09 68 2c 73 69 67 6e   ┆)   lxi sp,buff+80h   lxi h,sign┆
0x0c9540…0c9560             6f 6e 0d 0a 09 63 61 6c 6c 09 70 72 6d 73 67 09 3b 70 72 69 6e 74 20 6d 65 73 73 61 67 65 0d 0a   ┆on   call prmsg ;print message  ┆
0x0c9560…0c9580             09 78 72 61 09 61 09 3b 63 6c 65 61 72 20 61 63 63 75 6d 75 6c 61 74 6f 72 0d 0a 09 73 74 61 09   ┆ xra a ;clear accumulator   sta ┆
0x0c9580…0c95a0             63 64 69 73 6b 09 3b 73 65 74 20 69 6e 69 74 69 61 6c 6c 79 20 74 6f 20 64 69 73 6b 20 61 0d 0a   ┆cdisk ;set initially to disk a  ┆
0x0c95a0…0c95c0             09 6a 6d 70 09 67 6f 63 70 6d 09 3b 67 6f 20 74 6f 20 63 70 2f 6d 0d 0a 3b 0d 0a 3b 0d 0a 77 62   ┆ jmp gocpm ;go to cp/m  ;  ;  wb┆
0x0c95c0…0c95e0             6f 6f 74 3a 3b 09 6c 6f 61 64 65 72 20 6f 6e 20 74 72 61 63 6b 20 30 2c 20 73 65 63 74 6f 72 20   ┆oot:; loader on track 0, sector ┆
0x0c95e0…0c9600             31 2c 20 77 68 69 63 68 20 77 69 6c 6c 20 62 65 20 73 6b 69 70 70 65 64 20 66 6f 72 20 77 61 72   ┆1, which will be skipped for war┆
0x0c9600…0c9620 (53, 1, 7)  6f 6f 74 65 0d 0a 09 73 68 6c 64 09 31 09 3b 6a 6d 70 20 77 62 6f 6f 74 20 61 74 20 6c 6f 63 61   ┆oote   shld 1 ;jmp wboot at loca┆
0x0c9620…0c9640             74 69 6f 6e 20 30 30 0d 0a 09 73 74 61 09 35 0d 0a 09 6c 78 69 09 68 2c 62 64 6f 73 0d 0a 09 73   ┆tion 00   sta 5   lxi h,bdos   s┆
0x0c9640…0c9660             68 6c 64 09 36 09 3b 6a 6d 70 20 62 64 6f 73 20 61 74 20 6c 6f 63 61 74 69 6f 6e 20 35 0d 0a 09   ┆hld 6 ;jmp bdos at location 5   ┆
0x0c9660…0c9680             69 66 09 6e 6f 74 20 74 65 73 74 0d 0a 09 73 74 61 09 37 2a 38 09 3b 6a 6d 70 20 74 6f 20 6d 6f   ┆if not test   sta 7*8 ;jmp to mo┆
0x0c9680…0c96a0             6e 38 30 20 28 6d 61 79 20 68 61 76 65 20 62 65 65 6e 20 63 68 61 6e 67 65 64 20 62 79 20 64 64   ┆n80 (may have been changed by dd┆
0x0c96a0…0c96c0             74 29 0d 0a 09 6c 78 69 09 68 2c 6d 6f 6e 38 30 0d 0a 09 73 68 6c 64 09 37 2a 38 2b 31 0d 0a 09   ┆t)   lxi h,mon80   shld 7*8+1   ┆
0x0c96c0…0c96e0             65 6e 64 69 66 0d 0a 3b 09 6c 65 61 76 65 20 69 6f 62 79 74 65 20 73 65 74 0d 0a 3b 09 70 72 65   ┆endif  ; leave iobyte set  ; pre┆
0x0c96e0…0c9700             76 69 6f 75 73 6c 79 20 73 65 6c 65 63 74 65 64 20 64 69 73 6b 20 77 61 73 20 62 2c 20 73 65 6e   ┆viously selected disk was b, sen┆
0x0c9700…0c9720             64 20 70 61 72 61 6d 65 74 65 72 20 74 6f 20 63 70 6d 0d 0a 09 6c 64 61 09 63 64 69 73 6b 09 3b   ┆d parameter to cpm   lda cdisk ;┆
0x0c9720…0c9740             6c 61 73 74 20 6c 6f 67 67 65 64 20 64 69 73 6b 20 6e 75 6d 62 65 72 0d 0a 09 6d 6f 76 09 63 2c   ┆last logged disk number   mov c,┆
0x0c9740…0c9760             61 09 3b 73 65 6e 64 20 74 6f 20 63 63 70 20 74 6f 20 6c 6f 67 20 69 74 20 69 6e 0d 0a 09 65 69   ┆a ;send to ccp to log it in   ei┆
0x0c9760…0c9780             0d 0a 09 6a 6d 70 09 63 70 6d 62 0d 0a 3b 0d 0a 3b 09 65 72 72 6f 72 20 63 6f 6e 64 69 74 69 6f   ┆   jmp cpmb  ;  ; error conditio┆
0x0c9780…0c97a0             6e 20 6f 63 63 75 72 72 65 64 2c 20 70 72 69 6e 74 20 6d 65 73 73 61 67 65 20 61 6e 64 20 72 65   ┆n occurred, print message and re┆
0x0c97a0…0c97c0             74 72 79 0d 0a 62 6f 6f 74 65 72 72 3a 0d 0a 09 70 6f 70 09 62 09 3b 72 65 63 61 6c 6c 20 63 6f   ┆try  booterr:   pop b ;recall co┆
0x0c97c0…0c97e0             75 6e 74 73 0d 0a 09 64 63 72 09 63 0d 0a 09 6a 7a 09 62 6f 6f 74 65 72 30 0d 0a 3b 09 74 72 79   ┆unts   dcr c   jz booter0  ; try┆
0x0c97e0…0c9800             20 61 67 61 69 6e 0d 0a 09 70 75 73 68 09 62 0d 0a 09 6a 6d 70 09 77 62 6f 6f 74 30 0d 0a 3b 0d   ┆ again   push b   jmp wboot0  ; ┆
0x0c9800…0c9820 (53, 1, 8)  65 6e 20 62 79 20 63 0d 0a 09 6c 78 69 09 68 2c 69 6f 73 0d 0a 09 6d 6f 76 09 6d 2c 63 0d 0a 09   ┆en by c   lxi h,ios   mov m,c   ┆
0x0c9820…0c9840             72 65 74 0d 0a 73 65 63 74 72 61 6e 3a 0d 0a 09 09 3b 74 72 61 6e 73 6c 61 74 65 20 73 65 63 74   ┆ret  sectran:    ;translate sect┆
0x0c9840…0c9860             6f 72 20 62 63 20 75 73 69 6e 67 20 74 61 62 6c 65 20 61 74 20 64 65 0d 0a 09 6d 76 69 09 62 2c   ┆or bc using table at de   mvi b,┆
0x0c9860…0c9880             30 09 3b 64 6f 75 62 6c 65 20 70 72 65 63 69 73 69 6f 6e 20 73 65 63 74 6f 72 20 6e 75 6d 62 65   ┆0 ;double precision sector numbe┆
0x0c9880…0c98a0             72 20 69 6e 20 42 43 0d 0a 09 78 63 68 67 09 09 3b 74 72 61 6e 73 6c 61 74 65 20 74 61 62 6c 65   ┆r in BC   xchg  ;translate table┆
0x0c98a0…0c98c0             20 61 64 64 72 65 73 73 20 74 6f 20 48 4c 0d 0a 09 64 61 64 09 62 09 3b 74 72 61 6e 73 6c 61 74   ┆ address to HL   dad b ;translat┆
0x0c98c0…0c98e0             65 28 73 65 63 74 6f 72 29 20 61 64 64 72 65 73 73 0d 0a 09 6d 6f 76 09 61 2c 6d 09 3b 74 72 61   ┆e(sector) address   mov a,m ;tra┆
0x0c98e0…0c9900             6e 73 6c 61 74 65 64 20 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 20 74 6f 20 41 0d 0a 09 73 74 61   ┆nslated sector number to A   sta┆
0x0c9900…0c9920             09 69 6f 73 0d 0a 09 6d 6f 76 09 6c 2c 61 09 3b 72 65 74 75 72 6e 20 73 65 63 74 6f 72 20 6e 75   ┆ ios   mov l,a ;return sector nu┆
0x0c9920…0c9940             6d 62 65 72 20 69 6e 20 4c 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 73 65 74 64 6d 61 3a 09 3b 73 65 74   ┆mber in L   ret  ;  setdma: ;set┆
0x0c9940…0c9960             20 64 6d 61 20 61 64 64 72 65 73 73 20 67 69 76 65 6e 20 62 79 20 72 65 67 73 20 62 2c 63 0d 0a   ┆ dma address given by regs b,c  ┆
0x0c9960…0c9980             09 6d 6f 76 09 6c 2c 63 0d 0a 09 6d 6f 76 09 68 2c 62 0d 0a 09 73 68 6c 64 09 69 6f 64 0d 0a 09   ┆ mov l,c   mov h,b   shld iod   ┆
0x0c9980…0c99a0             72 65 74 0d 0a 3b 0d 0a 72 65 61 64 3a 09 3b 72 65 61 64 20 6e 65 78 74 20 64 69 73 6b 20 72 65   ┆ret  ;  read: ;read next disk re┆
0x0c99a0…0c99c0             63 6f 72 64 20 28 61 73 73 75 6d 69 6e 67 20 64 69 73 6b 2f 74 72 6b 2f 73 65 63 2f 64 6d 61 20   ┆cord (assuming disk/trk/sec/dma ┆
0x0c99c0…0c99e0             73 65 74 29 0d 0a 09 6d 76 69 09 63 2c 72 65 61 64 66 09 3b 73 65 74 20 74 6f 20 72 65 61 64 20   ┆set)   mvi c,readf ;set to read ┆
0x0c99e0…0c9a00             66 75 6e 63 74 69 6f 6e 0d 0a 09 63 61 6c 6c 09 73 65 74 66 75 6e 63 0d 0a 09 63 61 6c 6c 09 77   ┆function   call setfunc   call w┆
0x0c9a00…0c9a20 (53, 1, 9)  30 32 34 2c 32 34 33 2c 36 34 2c 36 34 2c 6f 66 66 73 65 74 0d 0a 09 64 69 73 6b 64 65 66 09 31   ┆024,243,64,64,offset   diskdef 1┆
0x0c9a20…0c9a40             2c 30 0d 0a 09 64 69 73 6b 64 65 66 09 32 2c 30 0d 0a 09 64 69 73 6b 64 65 66 09 33 2c 30 0d 0a   ┆,0   diskdef 2,0   diskdef 3,0  ┆
0x0c9a40…0c9a60             3b 09 65 6e 64 65 66 20 6f 63 63 75 72 73 20 61 74 20 65 6e 64 20 6f 66 20 61 73 73 65 6d 62 6c   ┆; endef occurs at end of assembl┆
0x0c9a60…0c9a80             79 0d 0a 3b 0d 0a 3b 09 65 6e 64 20 6f 66 20 63 6f 6e 74 72 6f 6c 6c 65 72 20 2d 20 69 6e 64 65   ┆y  ;  ; end of controller - inde┆
0x0c9a80…0c9aa0             70 65 6e 64 65 6e 74 20 63 6f 64 65 2c 20 74 68 65 20 72 65 6d 61 69 6e 69 6e 67 20 73 75 62 72   ┆pendent code, the remaining subr┆
0x0c9aa0…0c9ac0             6f 75 74 69 6e 65 73 0d 0a 3b 09 61 72 65 20 74 61 69 6c 6f 72 65 64 20 74 6f 20 74 68 65 20 70   ┆outines  ; are tailored to the p┆
0x0c9ac0…0c9ae0             61 72 74 69 63 75 6c 61 72 20 6f 70 65 72 61 74 69 6e 67 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 2c   ┆articular operating environment,┆
0x0c9ae0…0c9b00             20 61 6e 64 20 6d 75 73 74 0d 0a 3b 09 62 65 20 61 6c 74 65 72 65 64 20 66 6f 72 20 61 6e 79 20   ┆ and must  ; be altered for any ┆
0x0c9b00…0c9b20             73 79 73 74 65 6d 20 77 68 69 63 68 20 64 69 66 66 65 72 73 20 66 72 6f 6d 20 74 68 65 20 69 6e   ┆system which differs from the in┆
0x0c9b20…0c9b40             74 65 6c 20 6d 64 73 2e 0d 0a 3b 0d 0a 3b 09 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 64   ┆tel mds.  ;  ; the following cod┆
0x0c9b40…0c9b60             65 20 61 73 73 75 6d 65 73 20 74 68 65 20 6d 64 73 20 6d 6f 6e 69 74 6f 72 20 65 78 69 73 74 73   ┆e assumes the mds monitor exists┆
0x0c9b60…0c9b80             20 61 74 20 30 66 38 30 30 68 0d 0a 3b 09 61 6e 64 20 75 73 65 73 20 74 68 65 20 69 2f 6f 20 73   ┆ at 0f800h  ; and uses the i/o s┆
0x0c9b80…0c9ba0             75 62 72 6f 75 74 69 6e 65 73 20 77 69 74 68 69 6e 20 74 68 65 20 6d 6f 6e 69 74 6f 72 0d 0a 3b   ┆ubroutines within the monitor  ;┆
0x0c9ba0…0c9bc0             0d 0a 3b 09 77 65 20 61 6c 73 6f 20 61 73 73 75 6d 65 20 74 68 65 20 6d 64 73 20 73 79 73 74 65   ┆  ; we also assume the mds syste┆
0x0c9bc0…0c9be0             6d 20 68 61 73 20 66 6f 75 72 20 64 69 73 6b 20 64 72 69 76 65 73 0d 0a 72 65 76 72 74 09 65 71   ┆m has four disk drives  revrt eq┆
0x0c9be0…0c9c00             75 09 30 66 64 68 09 3b 69 6e 74 65 72 72 75 70 74 20 72 65 76 65 72 74 20 70 6f 72 74 0d 0a 69   ┆u 0fdh ;interrupt revert port  i┆
0x0c9c00…0c9c20 (53, 1, 10) 6d 20 0d 0a 3b 09 72 65 61 64 20 63 70 2f 6d 20 66 72 6f 6d 20 64 69 73 6b 20 2d 20 61 73 73 75   ┆m   ; read cp/m from disk - assu┆
0x0c9c20…0c9c40             6d 69 6e 67 20 74 68 65 72 65 20 69 73 20 61 20 31 32 38 20 62 79 74 65 20 63 6f 6c 64 20 73 74   ┆ming there is a 128 byte cold st┆
0x0c9c40…0c9c60             61 72 74 0d 0a 3b 09 73 74 61 72 74 2e 0d 0a 3b 0d 0a 09 6c 78 69 09 73 70 2c 62 75 66 66 09 3b   ┆art  ; start.  ;   lxi sp,buff ;┆
0x0c9c60…0c9c80             75 73 69 6e 67 20 64 6d 61 20 2d 20 74 68 75 73 20 38 30 20 74 68 72 75 20 66 66 20 61 76 61 69   ┆using dma - thus 80 thru ff avai┆
0x0c9c80…0c9ca0             6c 61 62 6c 65 20 66 6f 72 20 73 74 61 63 6b 0d 0a 3b 0d 0a 09 6d 76 69 09 63 2c 72 65 74 72 79   ┆lable for stack  ;   mvi c,retry┆
0x0c9ca0…0c9cc0             09 3b 6d 61 78 20 72 65 74 72 69 65 73 0d 0a 09 70 75 73 68 09 62 0d 0a 77 62 6f 6f 74 30 3a 09   ┆ ;max retries   push b  wboot0: ┆
0x0c9cc0…0c9ce0             3b 65 6e 74 65 72 20 68 65 72 65 20 6f 6e 20 65 72 72 6f 72 20 72 65 74 72 69 65 73 0d 0a 09 6c   ┆;enter here on error retries   l┆
0x0c9ce0…0c9d00             78 69 09 62 2c 63 70 6d 62 09 3b 73 65 74 20 64 6d 61 20 61 64 64 72 65 73 73 20 74 6f 20 73 74   ┆xi b,cpmb ;set dma address to st┆
0x0c9d00…0c9d20             61 72 74 20 6f 66 20 64 69 73 6b 20 73 79 73 74 65 6d 0d 0a 09 63 61 6c 6c 09 73 65 74 64 6d 61   ┆art of disk system   call setdma┆
0x0c9d20…0c9d40             0d 0a 09 6d 76 69 09 63 2c 30 09 3b 62 6f 6f 74 20 66 72 6f 6d 20 64 72 69 76 65 20 30 0d 0a 09   ┆   mvi c,0 ;boot from drive 0   ┆
0x0c9d40…0c9d60             63 61 6c 6c 09 73 65 6c 64 73 6b 0d 0a 09 6d 76 69 09 63 2c 30 0d 0a 09 63 61 6c 6c 09 73 65 74   ┆call seldsk   mvi c,0   call set┆
0x0c9d60…0c9d80             74 72 6b 09 3b 73 74 61 72 74 20 77 69 74 68 20 74 72 61 63 6b 20 30 0d 0a 09 6d 76 69 09 63 2c   ┆trk ;start with track 0   mvi c,┆
0x0c9d80…0c9da0             32 09 3b 73 74 61 72 74 20 72 65 61 64 69 6e 67 20 73 65 63 74 6f 72 20 32 0d 0a 09 63 61 6c 6c   ┆2 ;start reading sector 2   call┆
0x0c9da0…0c9dc0             09 73 65 74 73 65 63 0d 0a 3b 0d 0a 3b 09 72 65 61 64 20 73 65 63 74 6f 72 73 2c 20 63 6f 75 6e   ┆ setsec  ;  ; read sectors, coun┆
0x0c9dc0…0c9de0             74 20 6e 73 65 63 74 73 20 74 6f 20 7a 65 72 6f 0d 0a 09 70 6f 70 09 62 09 3b 31 30 2d 65 72 72   ┆t nsects to zero   pop b ;10-err┆
0x0c9de0…0c9e00             6f 72 20 63 6f 75 6e 74 0d 0a 09 6d 76 69 09 62 2c 6e 73 65 63 74 73 0d 0a 72 64 73 65 63 3a 09   ┆or count   mvi b,nsects  rdsec: ┆
0x0c9e00…0c9e20 (53, 1, 11) 0a 62 6f 6f 74 65 72 30 3a 0d 0a 3b 09 6f 74 68 65 72 77 69 73 65 20 74 6f 6f 20 6d 61 6e 79 20   ┆ booter0:  ; otherwise too many ┆
0x0c9e20…0c9e40             72 65 74 72 69 65 73 0d 0a 09 6c 78 69 09 68 2c 62 6f 6f 74 6d 73 67 0d 0a 09 63 61 6c 6c 09 70   ┆retries   lxi h,bootmsg   call p┆
0x0c9e40…0c9e60             72 6d 73 67 0d 0a 09 6a 6d 70 09 72 6d 6f 6e 38 30 09 3b 6d 64 73 20 68 61 72 64 77 61 72 65 20   ┆rmsg   jmp rmon80 ;mds hardware ┆
0x0c9e60…0c9e80             6d 6f 6e 69 74 6f 72 0d 0a 3b 0d 0a 62 6f 6f 74 6d 73 67 3a 0d 0a 09 64 62 09 27 3f 62 6f 6f 74   ┆monitor  ;  bootmsg:   db '?boot┆
0x0c9e80…0c9ea0             27 2c 30 0d 0a 3b 0d 0a 3b 0d 0a 63 6f 6e 73 74 3a 09 3b 63 6f 6e 73 6f 6c 65 20 73 74 61 74 75   ┆',0  ;  ;  const: ;console statu┆
0x0c9ea0…0c9ec0             73 20 74 6f 20 72 65 67 2d 61 0d 0a 3b 09 28 65 78 61 63 74 6c 79 20 74 68 65 20 73 61 6d 65 20   ┆s to reg-a  ; (exactly the same ┆
0x0c9ec0…0c9ee0             61 73 20 6d 64 73 20 63 61 6c 6c 29 0d 0a 09 6a 6d 70 09 63 73 74 73 0d 0a 3b 0d 0a 63 6f 6e 69   ┆as mds call)   jmp csts  ;  coni┆
0x0c9ee0…0c9f00             6e 3a 09 3b 63 6f 6e 73 6f 6c 65 20 63 68 61 72 61 63 74 65 72 20 74 6f 20 72 65 67 2d 61 0d 0a   ┆n: ;console character to reg-a  ┆
0x0c9f00…0c9f20             09 63 61 6c 6c 09 63 69 0d 0a 09 61 6e 69 09 37 66 68 09 3b 72 65 6d 6f 76 65 20 70 61 72 69 74   ┆ call ci   ani 7fh ;remove parit┆
0x0c9f20…0c9f40             79 20 62 69 74 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 63 6f 6e 6f 75 74 3a 09 3b 63 6f 6e 73 6f 6c 65   ┆y bit   ret  ;  conout: ;console┆
0x0c9f40…0c9f60             20 63 68 61 72 61 63 74 65 72 20 66 72 6f 6d 20 63 20 74 6f 20 63 6f 6e 73 6f 6c 65 20 6f 75 74   ┆ character from c to console out┆
0x0c9f60…0c9f80             0d 0a 09 6a 6d 70 09 63 6f 0d 0a 3b 0d 0a 6c 69 73 74 3a 09 3b 6c 69 73 74 20 64 65 76 69 63 65   ┆   jmp co  ;  list: ;list device┆
0x0c9f80…0c9fa0             20 6f 75 74 0d 0a 3b 09 28 65 78 61 63 74 6c 79 20 74 68 65 20 73 61 6d 65 20 61 73 20 6d 64 73   ┆ out  ; (exactly the same as mds┆
0x0c9fa0…0c9fc0             20 63 61 6c 6c 29 0d 0a 09 6a 6d 70 09 6c 6f 0d 0a 3b 0d 0a 6c 69 73 74 73 74 3a 0d 0a 09 3b 72   ┆ call)   jmp lo  ;  listst:   ;r┆
0x0c9fc0…0c9fe0             65 74 75 72 6e 20 6c 69 73 74 20 73 74 61 74 75 73 0d 0a 09 78 72 61 09 61 0d 0a 09 72 65 74 09   ┆eturn list status   xra a   ret ┆
0x0c9fe0…0ca000             09 3b 61 6c 77 61 79 73 20 6e 6f 74 20 72 65 61 64 79 0d 0a 3b 0d 0a 70 75 6e 63 68 3a 09 3b 70   ┆ ;always not ready  ;  punch: ;p┆
0x0ca000…0ca020 (53, 1, 12) 61 69 74 69 6f 09 3b 70 65 72 66 6f 72 6d 20 72 65 61 64 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 72   ┆aitio ;perform read function   r┆
0x0ca020…0ca040             65 74 09 09 3b 6d 61 79 20 68 61 76 65 20 65 72 72 6f 72 20 73 65 74 20 69 6e 20 72 65 67 2d 61   ┆et  ;may have error set in reg-a┆
0x0ca040…0ca060             0d 0a 3b 0d 0a 3b 0d 0a 77 72 69 74 65 3a 09 3b 64 69 73 6b 20 77 72 69 74 65 20 66 75 6e 63 74   ┆  ;  ;  write: ;disk write funct┆
0x0ca060…0ca080             69 6f 6e 0d 0a 09 6d 76 69 09 63 2c 77 72 69 74 66 0d 0a 09 63 61 6c 6c 09 73 65 74 66 75 6e 63   ┆ion   mvi c,writf   call setfunc┆
0x0ca080…0ca0a0             09 3b 73 65 74 20 74 6f 20 77 72 69 74 65 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 63 61 6c 6c 09 77   ┆ ;set to write function   call w┆
0x0ca0a0…0ca0c0             61 69 74 69 6f 0d 0a 09 72 65 74 09 09 3b 6d 61 79 20 68 61 76 65 20 65 72 72 6f 72 20 73 65 74   ┆aitio   ret  ;may have error set┆
0x0ca0c0…0ca0e0             0d 0a 3b 0d 0a 3b 0d 0a 3b 09 75 74 69 6c 69 74 79 20 73 75 62 72 6f 75 74 69 6e 65 73 0d 0a 70   ┆  ;  ;  ; utility subroutines  p┆
0x0ca0e0…0ca100             72 6d 73 67 3a 09 3b 70 72 69 6e 74 20 6d 65 73 73 61 67 65 20 61 74 20 68 2c 6c 20 74 6f 20 30   ┆rmsg: ;print message at h,l to 0┆
0x0ca100…0ca120             0d 0a 09 6d 6f 76 09 61 2c 6d 0d 0a 09 6f 72 61 09 61 09 3b 7a 65 72 6f 3f 0d 0a 09 72 7a 0d 0a   ┆   mov a,m   ora a ;zero?   rz  ┆
0x0ca120…0ca140             3b 09 6d 6f 72 65 20 74 6f 20 70 72 69 6e 74 0d 0a 09 70 75 73 68 09 68 0d 0a 09 6d 6f 76 09 63   ┆; more to print   push h   mov c┆
0x0ca140…0ca160             2c 61 0d 0a 09 63 61 6c 6c 09 63 6f 6e 6f 75 74 0d 0a 09 70 6f 70 09 68 0d 0a 09 69 6e 78 09 68   ┆,a   call conout   pop h   inx h┆
0x0ca160…0ca180             0d 0a 09 6a 6d 70 09 70 72 6d 73 67 0d 0a 3b 0d 0a 73 65 74 66 75 6e 63 3a 0d 0a 3b 09 73 65 74   ┆   jmp prmsg  ;  setfunc:  ; set┆
0x0ca180…0ca1a0             20 66 75 6e 63 74 69 6f 6e 20 66 6f 72 20 6e 65 78 74 20 69 2f 6f 20 28 63 6f 6d 6d 61 6e 64 20   ┆ function for next i/o (command ┆
0x0ca1a0…0ca1c0             69 6e 20 72 65 67 2d 63 29 0d 0a 09 6c 78 69 09 68 2c 69 6f 66 09 3b 69 6f 20 66 75 6e 63 74 69   ┆in reg-c)   lxi h,iof ;io functi┆
0x0ca1c0…0ca1e0             6f 6e 20 61 64 64 72 65 73 73 0d 0a 09 6d 6f 76 09 61 2c 6d 09 3b 67 65 74 20 69 74 20 74 6f 20   ┆on address   mov a,m ;get it to ┆
0x0ca1e0…0ca200             61 63 63 75 6d 75 6c 61 74 6f 72 20 66 6f 72 20 6d 61 73 6b 69 6e 67 0d 0a 09 61 6e 69 09 31 31   ┆accumulator for masking   ani 11┆
0x0ca200…0ca220 (53, 1, 13) 6e 74 63 09 65 71 75 09 30 66 63 68 09 3b 69 6e 74 65 72 72 75 70 74 20 6d 61 73 6b 20 70 6f 72   ┆ntc equ 0fch ;interrupt mask por┆
0x0ca220…0ca240             74 0d 0a 69 63 6f 6e 09 65 71 75 09 30 66 33 68 09 3b 69 6e 74 65 72 72 75 70 74 20 63 6f 6e 74   ┆t  icon equ 0f3h ;interrupt cont┆
0x0ca240…0ca260             72 6f 6c 20 70 6f 72 74 0d 0a 69 6e 74 65 09 65 71 75 09 30 31 31 31 24 31 31 31 30 62 09 3b 65   ┆rol port  inte equ 0111$1110b ;e┆
0x0ca260…0ca280             6e 61 62 6c 65 20 72 73 74 20 30 28 77 61 72 6d 20 62 6f 6f 74 29 2c 20 72 73 74 20 37 20 28 6d   ┆nable rst 0(warm boot), rst 7 (m┆
0x0ca280…0ca2a0             6f 6e 69 74 6f 72 29 0d 0a 3b 0d 0a 3b 09 6d 64 73 20 6d 6f 6e 69 74 6f 72 20 65 71 75 61 74 65   ┆onitor)  ;  ; mds monitor equate┆
0x0ca2a0…0ca2c0             73 0d 0a 6d 6f 6e 38 30 09 65 71 75 09 30 66 38 30 30 68 09 3b 6d 64 73 20 6d 6f 6e 69 74 6f 72   ┆s  mon80 equ 0f800h ;mds monitor┆
0x0ca2c0…0ca2e0             0d 0a 72 6d 6f 6e 38 30 09 65 71 75 09 30 66 66 30 66 68 09 3b 72 65 73 74 61 72 74 20 6d 6f 6e   ┆  rmon80 equ 0ff0fh ;restart mon┆
0x0ca2e0…0ca300             38 30 20 28 62 6f 6f 74 20 65 72 72 6f 72 29 0d 0a 63 69 09 65 71 75 09 30 66 38 30 33 68 09 3b   ┆80 (boot error)  ci equ 0f803h ;┆
0x0ca300…0ca320             63 6f 6e 73 6f 6c 65 20 63 68 61 72 61 63 74 65 72 20 74 6f 20 72 65 67 2d 61 0d 0a 72 69 09 65   ┆console character to reg-a  ri e┆
0x0ca320…0ca340             71 75 09 30 66 38 30 36 68 09 3b 72 65 61 64 65 72 20 69 6e 20 74 6f 20 72 65 67 2d 61 0d 0a 63   ┆qu 0f806h ;reader in to reg-a  c┆
0x0ca340…0ca360             6f 09 65 71 75 09 30 66 38 30 39 68 09 3b 63 6f 6e 73 6f 6c 65 20 63 68 61 72 20 66 72 6f 6d 20   ┆o equ 0f809h ;console char from ┆
0x0ca360…0ca380             63 20 74 6f 20 63 6f 6e 73 6f 6c 65 20 6f 75 74 0d 0a 70 6f 09 65 71 75 09 30 66 38 30 63 68 09   ┆c to console out  po equ 0f80ch ┆
0x0ca380…0ca3a0             3b 70 75 6e 63 68 20 63 68 61 72 20 66 72 6f 6d 20 63 20 74 6f 20 70 75 6e 63 68 20 64 65 76 69   ┆;punch char from c to punch devi┆
0x0ca3a0…0ca3c0             63 65 0d 0a 6c 6f 09 65 71 75 09 30 66 38 30 66 68 09 3b 6c 69 73 74 20 66 72 6f 6d 20 63 20 74   ┆ce  lo equ 0f80fh ;list from c t┆
0x0ca3c0…0ca3e0             6f 20 6c 69 73 74 20 64 65 76 69 63 65 0d 0a 63 73 74 73 09 65 71 75 09 30 66 38 31 32 68 09 3b   ┆o list device  csts equ 0f812h ;┆
0x0ca3e0…0ca400             63 6f 6e 73 6f 6c 65 20 73 74 61 74 75 73 20 30 30 2f 66 66 20 74 6f 20 72 65 67 69 73 74 65 72   ┆console status 00/ff to register┆
0x0ca400…0ca420 (53, 1, 14) 3b 72 65 61 64 20 6e 65 78 74 20 73 65 63 74 6f 72 0d 0a 09 70 75 73 68 09 62 09 3b 73 61 76 65   ┆;read next sector   push b ;save┆
0x0ca420…0ca440             20 73 65 63 74 6f 72 20 63 6f 75 6e 74 0d 0a 09 63 61 6c 6c 09 72 65 61 64 0d 0a 09 6a 6e 7a 09   ┆ sector count   call read   jnz ┆
0x0ca440…0ca460             62 6f 6f 74 65 72 72 09 3b 72 65 74 72 79 20 69 66 20 65 72 72 6f 72 73 20 6f 63 63 75 72 0d 0a   ┆booterr ;retry if errors occur  ┆
0x0ca460…0ca480             09 6c 68 6c 64 09 69 6f 64 09 3b 69 6e 63 72 65 6d 65 6e 74 20 64 6d 61 20 61 64 64 72 65 73 73   ┆ lhld iod ;increment dma address┆
0x0ca480…0ca4a0             0d 0a 09 6c 78 69 09 64 2c 31 32 38 09 3b 73 65 63 74 6f 72 20 73 69 7a 65 0d 0a 09 64 61 64 09   ┆   lxi d,128 ;sector size   dad ┆
0x0ca4a0…0ca4c0             64 09 3b 69 6e 63 72 65 6d 65 6e 74 65 64 20 64 6d 61 20 61 64 64 72 65 73 73 20 69 6e 20 68 6c   ┆d ;incremented dma address in hl┆
0x0ca4c0…0ca4e0             0d 0a 09 6d 6f 76 09 62 2c 68 0d 0a 09 6d 6f 76 09 63 2c 6c 09 3b 72 65 61 64 79 20 66 6f 72 20   ┆   mov b,h   mov c,l ;ready for ┆
0x0ca4e0…0ca500             63 61 6c 6c 20 74 6f 20 73 65 74 20 64 6d 61 0d 0a 09 63 61 6c 6c 09 73 65 74 64 6d 61 0d 0a 09   ┆call to set dma   call setdma   ┆
0x0ca500…0ca520             6c 64 61 09 69 6f 73 09 3b 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 20 6a 75 73 74 20 72 65 61 64   ┆lda ios ;sector number just read┆
0x0ca520…0ca540             0d 0a 09 63 70 69 09 32 36 09 3b 72 65 61 64 20 6c 61 73 74 20 73 65 63 74 6f 72 3f 0d 0a 09 6a   ┆   cpi 26 ;read last sector?   j┆
0x0ca540…0ca560             63 09 72 64 31 0d 0a 3b 09 6d 75 73 74 20 62 65 20 73 65 63 74 6f 72 20 32 36 2c 20 7a 65 72 6f   ┆c rd1  ; must be sector 26, zero┆
0x0ca560…0ca580             20 61 6e 64 20 67 6f 20 74 6f 20 6e 65 78 74 20 74 72 61 63 6b 0d 0a 09 6c 64 61 09 69 6f 74 09   ┆ and go to next track   lda iot ┆
0x0ca580…0ca5a0             3b 67 65 74 20 74 72 61 63 6b 20 74 6f 20 72 65 67 69 73 74 65 72 20 61 0d 0a 09 69 6e 72 09 61   ┆;get track to register a   inr a┆
0x0ca5a0…0ca5c0             0d 0a 09 6d 6f 76 09 63 2c 61 09 3b 72 65 61 64 79 20 66 6f 72 20 63 61 6c 6c 0d 0a 09 63 61 6c   ┆   mov c,a ;ready for call   cal┆
0x0ca5c0…0ca5e0             6c 09 73 65 74 74 72 6b 0d 0a 09 78 72 61 09 61 09 3b 63 6c 65 61 72 20 73 65 63 74 6f 72 20 6e   ┆l settrk   xra a ;clear sector n┆
0x0ca5e0…0ca600             75 6d 62 65 72 0d 0a 72 64 31 3a 09 69 6e 72 09 61 09 3b 74 6f 20 6e 65 78 74 20 73 65 63 74 6f   ┆umber  rd1: inr a ;to next secto┆
0x0ca600…0ca620 (53, 1, 15) 75 6e 63 68 20 64 65 76 69 63 65 20 6f 75 74 0d 0a 3b 09 28 65 78 61 63 74 6c 79 20 74 68 65 20   ┆unch device out  ; (exactly the ┆
0x0ca620…0ca640             73 61 6d 65 20 61 73 20 6d 64 73 20 63 61 6c 6c 29 0d 0a 09 6a 6d 70 09 70 6f 0d 0a 3b 0d 0a 72   ┆same as mds call)   jmp po  ;  r┆
0x0ca640…0ca660             65 61 64 65 72 3a 09 3b 72 65 61 64 65 72 20 63 68 61 72 61 63 74 65 72 20 69 6e 20 74 6f 20 72   ┆eader: ;reader character in to r┆
0x0ca660…0ca680             65 67 2d 61 0d 0a 3b 09 28 65 78 61 63 74 6c 79 20 74 68 65 20 73 61 6d 65 20 61 73 20 6d 64 73   ┆eg-a  ; (exactly the same as mds┆
0x0ca680…0ca6a0             20 63 61 6c 6c 29 0d 0a 09 6a 6d 70 09 72 69 0d 0a 3b 0d 0a 68 6f 6d 65 3a 09 3b 6d 6f 76 65 20   ┆ call)   jmp ri  ;  home: ;move ┆
0x0ca6a0…0ca6c0             74 6f 20 68 6f 6d 65 20 70 6f 73 69 74 69 6f 6e 0d 0a 3b 09 74 72 65 61 74 20 61 73 20 74 72 61   ┆to home position  ; treat as tra┆
0x0ca6c0…0ca6e0             63 6b 20 30 30 20 73 65 65 6b 0d 0a 09 6d 76 69 09 63 2c 30 0d 0a 09 6a 6d 70 09 73 65 74 74 72   ┆ck 00 seek   mvi c,0   jmp settr┆
0x0ca6e0…0ca700             6b 0d 0a 3b 0d 0a 73 65 6c 64 73 6b 3a 09 3b 73 65 6c 65 63 74 20 64 69 73 6b 20 67 69 76 65 6e   ┆k  ;  seldsk: ;select disk given┆
0x0ca700…0ca720             20 62 79 20 72 65 67 69 73 74 65 72 20 63 0d 0a 09 6c 78 69 09 68 2c 30 30 30 30 68 09 3b 72 65   ┆ by register c   lxi h,0000h ;re┆
0x0ca720…0ca740             74 75 72 6e 20 30 30 30 30 20 69 66 20 65 72 72 6f 72 0d 0a 09 6d 6f 76 09 61 2c 63 0d 0a 09 63   ┆turn 0000 if error   mov a,c   c┆
0x0ca740…0ca760             70 69 09 6e 64 69 73 6b 73 09 3b 74 6f 6f 20 6c 61 72 67 65 3f 0d 0a 09 72 6e 63 09 09 3b 6c 65   ┆pi ndisks ;too large?   rnc  ;le┆
0x0ca760…0ca780             61 76 65 20 48 4c 20 3d 20 30 30 30 30 0d 0a 3b 0d 0a 09 61 6e 69 09 31 30 62 09 3b 30 30 20 30   ┆ave HL = 0000  ;   ani 10b ;00 0┆
0x0ca780…0ca7a0             30 20 66 6f 72 20 64 72 69 76 65 20 30 2c 31 20 61 6e 64 20 31 30 20 31 30 20 66 6f 72 20 64 72   ┆0 for drive 0,1 and 10 10 for dr┆
0x0ca7a0…0ca7c0             69 76 65 20 32 2c 33 0d 0a 09 73 74 61 09 64 62 61 6e 6b 09 3b 74 6f 20 73 65 6c 65 63 74 20 64   ┆ive 2,3   sta dbank ;to select d┆
0x0ca7c0…0ca7e0             72 69 76 65 20 62 61 6e 6b 0d 0a 09 6d 6f 76 09 61 2c 63 09 3b 30 30 2c 20 30 31 2c 20 31 30 2c   ┆rive bank   mov a,c ;00, 01, 10,┆
0x0ca7e0…0ca800             20 31 31 0d 0a 09 61 6e 69 09 31 62 09 3b 6d 64 73 20 68 61 73 20 30 2c 31 20 61 74 20 37 38 2c   ┆ 11   ani 1b ;mds has 0,1 at 78,┆
0x0ca800…0ca820 (54, 0, 1)  31 31 31 30 30 30 62 09 3b 72 65 6d 6f 76 65 20 70 72 65 76 69 6f 75 73 20 63 6f 6d 6d 61 6e 64   ┆111000b ;remove previous command┆
0x0ca820…0ca840             0d 0a 09 6f 72 61 09 63 09 3b 73 65 74 20 74 6f 20 6e 65 77 20 63 6f 6d 6d 61 6e 64 0d 0a 09 6d   ┆   ora c ;set to new command   m┆
0x0ca840…0ca860             6f 76 09 6d 2c 61 09 3b 72 65 70 6c 61 63 65 64 20 69 6e 20 69 6f 70 62 0d 0a 3b 09 74 68 65 20   ┆ov m,a ;replaced in iopb  ; the ┆
0x0ca860…0ca880             6d 64 73 2d 38 30 30 20 63 6f 6e 74 72 6f 6c 6c 65 72 20 72 65 71 75 69 72 65 73 20 64 69 73 6b   ┆mds-800 controller requires disk┆
0x0ca880…0ca8a0             20 62 61 6e 6b 20 62 69 74 20 69 6e 20 73 65 63 74 6f 72 20 62 79 74 65 0d 0a 3b 09 6d 61 73 6b   ┆ bank bit in sector byte  ; mask┆
0x0ca8a0…0ca8c0             20 74 68 65 20 62 69 74 20 66 72 6f 6d 20 74 68 65 20 63 75 72 72 65 6e 74 20 69 2f 6f 20 66 75   ┆ the bit from the current i/o fu┆
0x0ca8c0…0ca8e0             6e 63 74 69 6f 6e 0d 0a 09 61 6e 69 09 30 30 31 30 30 30 30 30 62 09 3b 6d 61 73 6b 20 74 68 65   ┆nction   ani 00100000b ;mask the┆
0x0ca8e0…0ca900             20 64 69 73 6b 20 73 65 6c 65 63 74 20 62 69 74 0d 0a 09 6c 78 69 09 68 2c 69 6f 73 09 09 3b 61   ┆ disk select bit   lxi h,ios  ;a┆
0x0ca900…0ca920             64 64 72 65 73 73 20 74 68 65 20 73 65 63 74 6f 72 20 73 65 6c 65 63 74 20 62 79 74 65 0d 0a 09   ┆ddress the sector select byte   ┆
0x0ca920…0ca940             6f 72 61 09 6d 09 09 3b 73 65 6c 65 63 74 20 70 72 6f 70 65 72 20 64 69 73 6b 20 62 61 6e 6b 0d   ┆ora m  ;select proper disk bank ┆
0x0ca940…0ca960             0a 09 6d 6f 76 09 6d 2c 61 09 09 3b 73 65 74 20 64 69 73 6b 20 73 65 6c 65 63 74 20 62 69 74 20   ┆  mov m,a  ;set disk select bit ┆
0x0ca960…0ca980             6f 6e 2f 6f 66 66 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 77 61 69 74 69 6f 3a 0d 0a 09 6d 76 69 09 63   ┆on/off   ret  ;  waitio:   mvi c┆
0x0ca980…0ca9a0             2c 72 65 74 72 79 09 3b 6d 61 78 20 72 65 74 72 69 65 73 20 62 65 66 6f 72 65 20 70 65 72 6d 20   ┆,retry ;max retries before perm ┆
0x0ca9a0…0ca9c0             65 72 72 6f 72 0d 0a 72 65 77 61 69 74 3a 0d 0a 3b 09 73 74 61 72 74 20 74 68 65 20 69 2f 6f 20   ┆error  rewait:  ; start the i/o ┆
0x0ca9c0…0ca9e0             66 75 6e 63 74 69 6f 6e 20 61 6e 64 20 77 61 69 74 20 66 6f 72 20 63 6f 6d 70 6c 65 74 69 6f 6e   ┆function and wait for completion┆
0x0ca9e0…0caa00             0d 0a 09 63 61 6c 6c 09 69 6e 74 79 70 65 09 3b 69 6e 20 72 74 79 70 65 0d 0a 09 63 61 6c 6c 09   ┆   call intype ;in rtype   call ┆
0x0caa00…0caa20 (54, 0, 2)  68 61 72 64 77 61 72 65 20 6d 61 6c 66 75 6e 63 74 69 6f 6e 29 0d 0a 3b 09 37 09 2d 20 6e 6f 74   ┆hardware malfunction)  ; 7 - not┆
0x0caa20…0caa40             20 72 65 61 64 79 0d 0a 3b 09 28 61 63 63 75 6d 75 6c 61 74 6f 72 20 62 69 74 73 20 61 72 65 20   ┆ ready  ; (accumulator bits are ┆
0x0caa40…0caa60             6e 75 6d 62 65 72 65 64 20 37 20 36 20 35 20 34 20 33 20 32 20 31 20 30 29 0d 0a 3b 0d 0a 3b 09   ┆numbered 7 6 5 4 3 2 1 0)  ;  ; ┆
0x0caa60…0caa80             69 74 20 6d 61 79 20 62 65 20 75 73 65 66 75 6c 20 74 6f 20 66 69 6c 74 65 72 20 6f 75 74 20 74   ┆it may be useful to filter out t┆
0x0caa80…0caaa0             68 65 20 76 61 72 69 6f 75 73 20 63 6f 6e 64 69 74 69 6f 6e 73 2c 0d 0a 3b 09 62 75 74 20 77 65   ┆he various conditions,  ; but we┆
0x0caaa0…0caac0             20 77 69 6c 6c 20 67 65 74 20 61 20 70 65 72 6d 61 6e 65 6e 74 20 65 72 72 6f 72 20 6d 65 73 73   ┆ will get a permanent error mess┆
0x0caac0…0caae0             61 67 65 20 69 66 20 69 74 20 69 73 20 6e 6f 74 0d 0a 3b 09 72 65 63 6f 76 65 72 61 62 6c 65 2e   ┆age if it is not  ; recoverable.┆
0x0caae0…0cab00             20 20 69 6e 20 61 6e 79 20 63 61 73 65 2c 20 74 68 65 20 6e 6f 74 20 72 65 61 64 79 20 63 6f 6e   ┆  in any case, the not ready con┆
0x0cab00…0cab20             64 69 74 69 6f 6e 20 69 73 0d 0a 3b 09 74 72 65 61 74 65 64 20 61 73 20 61 20 73 65 70 61 72 61   ┆dition is  ; treated as a separa┆
0x0cab20…0cab40             74 65 20 63 6f 6e 64 69 74 69 6f 6e 20 66 6f 72 20 6c 61 74 65 72 20 69 6d 70 72 6f 76 65 6d 65   ┆te condition for later improveme┆
0x0cab40…0cab60             6e 74 0d 0a 74 72 79 63 6f 75 6e 74 3a 0d 0a 3b 09 72 65 67 69 73 74 65 72 20 63 20 63 6f 6e 74   ┆nt  trycount:  ; register c cont┆
0x0cab60…0cab80             61 69 6e 73 20 72 65 74 72 79 20 63 6f 75 6e 74 2c 20 64 65 63 72 65 6d 65 6e 74 20 27 74 69 6c   ┆ains retry count, decrement 'til┆
0x0cab80…0caba0             20 7a 65 72 6f 0d 0a 09 64 63 72 09 63 0d 0a 09 6a 6e 7a 09 72 65 77 61 69 74 09 3b 66 6f 72 20   ┆ zero   dcr c   jnz rewait ;for ┆
0x0caba0…0cabc0             61 6e 6f 74 68 65 72 20 74 72 79 0d 0a 3b 0d 0a 3b 09 63 61 6e 6e 6f 74 20 72 65 63 6f 76 65 72   ┆another try  ;  ; cannot recover┆
0x0cabc0…0cabe0             20 66 72 6f 6d 20 65 72 72 6f 72 0d 0a 09 6d 76 69 09 61 2c 31 09 3b 65 72 72 6f 72 20 63 6f 64   ┆ from error   mvi a,1 ;error cod┆
0x0cabe0…0cac00             65 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 3b 09 69 6e 74 79 70 65 2c 20 69 6e 62 79 74 65 2c 20 69 6e   ┆e   ret  ;  ; intype, inbyte, in┆
0x0cac00…0cac20 (54, 0, 3)  71 75 09 30 30 38 30 68 09 3b 64 65 66 61 75 6c 74 20 62 75 66 66 65 72 20 61 64 64 72 65 73 73   ┆qu 0080h ;default buffer address┆
0x0cac20…0cac40             0d 0a 72 65 74 72 79 09 65 71 75 09 31 30 09 3b 6d 61 78 20 72 65 74 72 69 65 73 20 6f 6e 20 64   ┆  retry equ 10 ;max retries on d┆
0x0cac40…0cac60             69 73 6b 20 69 2f 6f 20 62 65 66 6f 72 65 20 65 72 72 6f 72 0d 0a 3b 0d 0a 3b 09 70 65 72 66 6f   ┆isk i/o before error  ;  ; perfo┆
0x0cac60…0cac80             72 6d 20 66 6f 6c 6c 6f 77 69 6e 67 20 66 75 6e 63 74 69 6f 6e 73 0d 0a 3b 09 62 6f 6f 74 09 63   ┆rm following functions  ; boot c┆
0x0cac80…0caca0             6f 6c 64 20 73 74 61 72 74 0d 0a 3b 09 77 62 6f 6f 74 09 77 61 72 6d 20 73 74 61 72 74 20 28 73   ┆old start  ; wboot warm start (s┆
0x0caca0…0cacc0             61 76 65 20 69 2f 6f 20 62 79 74 65 29 0d 0a 3b 09 28 62 6f 6f 74 20 61 6e 64 20 77 62 6f 6f 74   ┆ave i/o byte)  ; (boot and wboot┆
0x0cacc0…0cace0             20 61 72 65 20 74 68 65 20 73 61 6d 65 20 66 6f 72 20 6d 64 73 29 0d 0a 3b 09 63 6f 6e 73 74 09   ┆ are the same for mds)  ; const ┆
0x0cace0…0cad00             63 6f 6e 73 6f 6c 65 20 73 74 61 74 75 73 0d 0a 3b 09 09 72 65 67 2d 61 20 3d 20 30 30 20 69 66   ┆console status  ;  reg-a = 00 if┆
0x0cad00…0cad20             20 6e 6f 20 63 68 61 72 61 63 74 65 72 20 72 65 61 64 79 0d 0a 3b 09 09 72 65 67 2d 61 20 3d 20   ┆ no character ready  ;  reg-a = ┆
0x0cad20…0cad40             66 66 20 69 66 20 63 68 61 72 61 63 74 65 72 20 72 65 61 64 79 0d 0a 3b 09 63 6f 6e 69 6e 09 63   ┆ff if character ready  ; conin c┆
0x0cad40…0cad60             6f 6e 73 6f 6c 65 20 63 68 61 72 61 63 74 65 72 20 69 6e 20 28 72 65 73 75 6c 74 20 69 6e 20 72   ┆onsole character in (result in r┆
0x0cad60…0cad80             65 67 2d 61 29 0d 0a 3b 09 63 6f 6e 6f 75 74 09 63 6f 6e 73 6f 6c 65 20 63 68 61 72 61 63 74 65   ┆eg-a)  ; conout console characte┆
0x0cad80…0cada0             72 20 6f 75 74 20 28 63 68 61 72 20 69 6e 20 72 65 67 2d 63 29 0d 0a 3b 09 6c 69 73 74 09 6c 69   ┆r out (char in reg-c)  ; list li┆
0x0cada0…0cadc0             73 74 20 6f 75 74 20 28 63 68 61 72 20 69 6e 20 72 65 67 2d 63 29 0d 0a 3b 09 70 75 6e 63 68 09   ┆st out (char in reg-c)  ; punch ┆
0x0cadc0…0cade0             70 75 6e 63 68 20 6f 75 74 20 28 63 68 61 72 20 69 6e 20 72 65 67 2d 63 29 0d 0a 3b 09 72 65 61   ┆punch out (char in reg-c)  ; rea┆
0x0cade0…0cae00             64 65 72 09 70 61 70 65 72 20 74 61 70 65 20 72 65 61 64 65 72 20 69 6e 20 28 72 65 73 75 6c 74   ┆der paper tape reader in (result┆
0x0cae00…0cae20 (54, 0, 4)  30 62 09 3b 65 6e 61 62 6c 65 20 72 73 74 20 30 28 77 61 72 6d 20 62 6f 6f 74 29 2c 20 72 73 74   ┆0b ;enable rst 0(warm boot), rst┆
0x0cae20…0cae40             20 37 20 28 6d 6f 6e 69 74 6f 72 29 0d 0a 3b 0d 0a 3b 09 6d 64 73 20 6d 6f 6e 69 74 6f 72 20 65   ┆ 7 (monitor)  ;  ; mds monitor e┆
0x0cae40…0cae60             71 75 61 74 65 73 0d 0a 6d 6f 6e 38 30 09 65 71 75 09 30 66 38 30 30 68 09 3b 6d 64 73 20 6d 6f   ┆quates  mon80 equ 0f800h ;mds mo┆
0x0cae60…0cae80             6e 69 74 6f 72 0d 0a 72 6d 6f 6e 38 30 09 65 71 75 09 30 66 66 30 66 68 09 3b 72 65 73 74 61 72   ┆nitor  rmon80 equ 0ff0fh ;restar┆
0x0cae80…0caea0             74 20 6d 6f 6e 38 30 20 28 62 6f 6f 74 20 65 72 72 6f 72 29 0d 0a 63 69 09 65 71 75 09 30 66 38   ┆t mon80 (boot error)  ci equ 0f8┆
0x0caea0…0caec0             30 33 68 09 3b 63 6f 6e 73 6f 6c 65 20 63 68 61 72 61 63 74 65 72 20 74 6f 20 72 65 67 2d 61 0d   ┆03h ;console character to reg-a ┆
0x0caec0…0caee0             0a 72 69 09 65 71 75 09 30 66 38 30 36 68 09 3b 72 65 61 64 65 72 20 69 6e 20 74 6f 20 72 65 67   ┆ ri equ 0f806h ;reader in to reg┆
0x0caee0…0caf00             2d 61 0d 0a 63 6f 09 65 71 75 09 30 66 38 30 39 68 09 3b 63 6f 6e 73 6f 6c 65 20 63 68 61 72 20   ┆-a  co equ 0f809h ;console char ┆
0x0caf00…0caf20             66 72 6f 6d 20 63 20 74 6f 20 63 6f 6e 73 6f 6c 65 20 6f 75 74 0d 0a 70 6f 09 65 71 75 09 30 66   ┆from c to console out  po equ 0f┆
0x0caf20…0caf40             38 30 63 68 09 3b 70 75 6e 63 68 20 63 68 61 72 20 66 72 6f 6d 20 63 20 74 6f 20 70 75 6e 63 68   ┆80ch ;punch char from c to punch┆
0x0caf40…0caf60             20 64 65 76 69 63 65 0d 0a 6c 6f 09 65 71 75 09 30 66 38 30 66 68 09 3b 6c 69 73 74 20 66 72 6f   ┆ device  lo equ 0f80fh ;list fro┆
0x0caf60…0caf80             6d 20 63 20 74 6f 20 6c 69 73 74 20 64 65 76 69 63 65 0d 0a 63 73 74 73 09 65 71 75 09 30 66 38   ┆m c to list device  csts equ 0f8┆
0x0caf80…0cafa0             31 32 68 09 3b 63 6f 6e 73 6f 6c 65 20 73 74 61 74 75 73 20 30 30 2f 66 66 20 74 6f 20 72 65 67   ┆12h ;console status 00/ff to reg┆
0x0cafa0…0cafc0             69 73 74 65 72 20 61 0d 0a 3b 0d 0a 3b 09 64 69 73 6b 20 70 6f 72 74 73 20 61 6e 64 20 63 6f 6d   ┆ister a  ;  ; disk ports and com┆
0x0cafc0…0cafe0             6d 61 6e 64 73 0d 0a 62 61 73 65 09 65 71 75 09 37 38 68 09 3b 62 61 73 65 20 6f 66 20 64 69 73   ┆mands  base equ 78h ;base of dis┆
0x0cafe0…0cb000             6b 20 63 6f 6d 6d 61 6e 64 20 69 6f 20 70 6f 72 74 73 0d 0a 64 73 74 61 74 09 65 71 75 09 62 61   ┆k command io ports  dstat equ ba┆
0x0cb000…0cb020 (54, 0, 5)  69 6e 62 79 74 65 09 3b 63 6c 65 61 72 73 20 74 68 65 20 63 6f 6e 74 72 6f 6c 6c 65 72 0d 0a 3b   ┆inbyte ;clears the controller  ;┆
0x0cb020…0cb040             0d 0a 09 6c 64 61 09 64 62 61 6e 6b 09 09 3b 73 65 74 20 62 61 6e 6b 20 66 6c 61 67 73 0d 0a 09   ┆   lda dbank  ;set bank flags   ┆
0x0cb040…0cb060             6f 72 61 09 61 09 09 3b 7a 65 72 6f 20 69 66 20 64 72 69 76 65 20 30 2c 31 20 61 6e 64 20 6e 7a   ┆ora a  ;zero if drive 0,1 and nz┆
0x0cb060…0cb080             20 69 66 20 32 2c 33 0d 0a 09 6d 76 69 09 61 2c 69 6f 70 62 20 61 6e 64 20 30 66 66 68 09 3b 6c   ┆ if 2,3   mvi a,iopb and 0ffh ;l┆
0x0cb080…0cb0a0             6f 77 20 61 64 64 72 65 73 73 20 66 6f 72 20 69 6f 70 62 0d 0a 09 6d 76 69 09 62 2c 69 6f 70 62   ┆ow address for iopb   mvi b,iopb┆
0x0cb0a0…0cb0c0             20 73 68 72 20 38 09 3b 68 69 67 68 20 61 64 64 72 65 73 73 20 66 6f 72 20 69 6f 70 62 0d 0a 09   ┆ shr 8 ;high address for iopb   ┆
0x0cb0c0…0cb0e0             6a 6e 7a 09 69 6f 64 72 31 09 3b 64 72 69 76 65 20 62 61 6e 6b 20 31 3f 0d 0a 09 6f 75 74 09 69   ┆jnz iodr1 ;drive bank 1?   out i┆
0x0cb0e0…0cb100             6c 6f 77 09 09 3b 6c 6f 77 20 61 64 64 72 65 73 73 20 74 6f 20 63 6f 6e 74 72 6f 6c 6c 65 72 0d   ┆low  ;low address to controller ┆
0x0cb100…0cb120             0a 09 6d 6f 76 09 61 2c 62 0d 0a 09 6f 75 74 09 69 68 69 67 68 09 3b 68 69 67 68 20 61 64 64 72   ┆  mov a,b   out ihigh ;high addr┆
0x0cb120…0cb140             65 73 73 0d 0a 09 6a 6d 70 09 77 61 69 74 30 09 09 3b 74 6f 20 77 61 69 74 20 66 6f 72 20 63 6f   ┆ess   jmp wait0  ;to wait for co┆
0x0cb140…0cb160             6d 70 6c 65 74 65 0d 0a 3b 0d 0a 69 6f 64 72 31 3a 09 3b 64 72 69 76 65 20 62 61 6e 6b 20 31 0d   ┆mplete  ;  iodr1: ;drive bank 1 ┆
0x0cb160…0cb180             0a 09 6f 75 74 09 69 6c 6f 77 2b 31 30 68 09 3b 38 38 20 66 6f 72 20 64 72 69 76 65 20 62 61 6e   ┆  out ilow+10h ;88 for drive ban┆
0x0cb180…0cb1a0             6b 20 31 30 0d 0a 09 6d 6f 76 09 61 2c 62 0d 0a 09 6f 75 74 09 69 68 69 67 68 2b 31 30 68 0d 0a   ┆k 10   mov a,b   out ihigh+10h  ┆
0x0cb1a0…0cb1c0             3b 0d 0a 77 61 69 74 30 3a 09 63 61 6c 6c 09 69 6e 73 74 61 74 09 09 3b 77 61 69 74 20 66 6f 72   ┆;  wait0: call instat  ;wait for┆
0x0cb1c0…0cb1e0             20 63 6f 6d 70 6c 65 74 69 6f 6e 0d 0a 09 61 6e 69 09 69 6f 72 64 79 09 09 3b 72 65 61 64 79 3f   ┆ completion   ani iordy  ;ready?┆
0x0cb1e0…0cb200             0d 0a 09 6a 7a 09 77 61 69 74 30 0d 0a 3b 0d 0a 3b 09 63 68 65 63 6b 20 69 6f 20 63 6f 6d 70 6c   ┆   jz wait0  ;  ; check io compl┆
0x0cb200…0cb220 (54, 0, 6)  73 74 61 74 20 72 65 61 64 20 64 72 69 76 65 20 62 61 6e 6b 20 30 30 20 6f 72 20 31 30 0d 0a 69   ┆stat read drive bank 00 or 10  i┆
0x0cb220…0cb240             6e 74 79 70 65 3a 09 6c 64 61 09 64 62 61 6e 6b 0d 0a 09 6f 72 61 09 61 0d 0a 09 6a 6e 7a 09 69   ┆ntype: lda dbank   ora a   jnz i┆
0x0cb240…0cb260             6e 74 79 70 31 09 3b 73 6b 69 70 20 74 6f 20 62 61 6e 6b 20 31 30 0d 0a 09 69 6e 09 72 74 79 70   ┆ntyp1 ;skip to bank 10   in rtyp┆
0x0cb260…0cb280             65 0d 0a 09 72 65 74 0d 0a 69 6e 74 79 70 31 3a 09 69 6e 09 72 74 79 70 65 2b 31 30 68 09 3b 37   ┆e   ret  intyp1: in rtype+10h ;7┆
0x0cb280…0cb2a0             38 20 66 6f 72 20 30 2c 31 20 20 38 38 20 66 6f 72 20 32 2c 33 0d 0a 09 72 65 74 0d 0a 3b 0d 0a   ┆8 for 0,1  88 for 2,3   ret  ;  ┆
0x0cb2a0…0cb2c0             69 6e 62 79 74 65 3a 09 6c 64 61 09 64 62 61 6e 6b 0d 0a 09 6f 72 61 09 61 0d 0a 09 6a 6e 7a 09   ┆inbyte: lda dbank   ora a   jnz ┆
0x0cb2c0…0cb2e0             69 6e 62 79 74 31 0d 0a 09 69 6e 09 72 62 79 74 65 0d 0a 09 72 65 74 0d 0a 69 6e 62 79 74 31 3a   ┆inbyt1   in rbyte   ret  inbyt1:┆
0x0cb2e0…0cb300             09 69 6e 09 72 62 79 74 65 2b 31 30 68 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 69 6e 73 74 61 74 3a 09   ┆ in rbyte+10h   ret  ;  instat: ┆
0x0cb300…0cb320             6c 64 61 09 64 62 61 6e 6b 0d 0a 09 6f 72 61 09 61 0d 0a 09 6a 6e 7a 09 69 6e 73 74 61 31 0d 0a   ┆lda dbank   ora a   jnz insta1  ┆
0x0cb320…0cb340             09 69 6e 09 64 73 74 61 74 0d 0a 09 72 65 74 0d 0a 69 6e 73 74 61 31 3a 09 69 6e 09 64 73 74 61   ┆ in dstat   ret  insta1: in dsta┆
0x0cb340…0cb360             74 2b 31 30 68 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 3b 0d 0a 3b 0d 0a 3b 09 64 61 74 61 20 61 72 65   ┆t+10h   ret  ;  ;  ;  ; data are┆
0x0cb360…0cb380             61 73 20 28 6d 75 73 74 20 62 65 20 69 6e 20 72 61 6d 29 0d 0a 64 62 61 6e 6b 3a 09 64 62 09 30   ┆as (must be in ram)  dbank: db 0┆
0x0cb380…0cb3a0             09 3b 64 69 73 6b 20 62 61 6e 6b 20 30 30 20 69 66 20 64 72 69 76 65 20 30 2c 31 0d 0a 09 09 09   ┆ ;disk bank 00 if drive 0,1     ┆
0x0cb3a0…0cb3c0             3b 09 20 20 20 31 30 20 69 66 20 64 72 69 76 65 20 32 2c 33 0d 0a 69 6f 70 62 3a 09 3b 69 6f 20   ┆;    10 if drive 2,3  iopb: ;io ┆
0x0cb3c0…0cb3e0             70 61 72 61 6d 65 74 65 72 20 62 6c 6f 63 6b 0d 0a 09 64 62 09 38 30 68 09 3b 6e 6f 72 6d 61 6c   ┆parameter block   db 80h ;normal┆
0x0cb3e0…0cb400             20 69 2f 6f 20 6f 70 65 72 61 74 69 6f 6e 0d 0a 69 6f 66 3a 09 64 62 09 72 65 61 64 66 09 3b 69   ┆ i/o operation  iof: db readf ;i┆
0x0cb400…0cb420 (54, 0, 7)  20 74 6f 20 72 65 67 2d 61 29 0d 0a 3b 09 68 6f 6d 65 09 6d 6f 76 65 20 74 6f 20 74 72 61 63 6b   ┆ to reg-a)  ; home move to track┆
0x0cb420…0cb440             20 30 30 0d 0a 3b 0d 0a 3b 09 28 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 61 6c 6c 73 20 73   ┆ 00  ;  ; (the following calls s┆
0x0cb440…0cb460             65 74 2d 75 70 20 74 68 65 20 69 6f 20 70 61 72 61 6d 65 74 65 72 20 62 6c 6f 63 6b 20 66 6f 72   ┆et-up the io parameter block for┆
0x0cb460…0cb480             20 74 68 65 0d 0a 3b 09 6d 64 73 2c 20 77 68 69 63 68 20 69 73 20 75 73 65 64 20 74 6f 20 70 65   ┆ the  ; mds, which is used to pe┆
0x0cb480…0cb4a0             72 66 6f 72 6d 20 73 75 62 73 65 71 75 65 6e 74 20 72 65 61 64 73 20 61 6e 64 20 77 72 69 74 65   ┆rform subsequent reads and write┆
0x0cb4a0…0cb4c0             73 29 0d 0a 3b 09 73 65 6c 64 73 6b 09 73 65 6c 65 63 74 20 64 69 73 6b 20 67 69 76 65 6e 20 62   ┆s)  ; seldsk select disk given b┆
0x0cb4c0…0cb4e0             79 20 72 65 67 2d 63 20 28 30 2c 31 2c 32 2e 2e 2e 29 0d 0a 3b 09 73 65 74 74 72 6b 09 73 65 74   ┆y reg-c (0,1,2...)  ; settrk set┆
0x0cb4e0…0cb500             20 74 72 61 63 6b 20 61 64 64 72 65 73 73 20 28 30 2c 2e 2e 2e 37 36 29 20 66 6f 72 20 73 75 62   ┆ track address (0,...76) for sub┆
0x0cb500…0cb520             73 65 71 75 65 6e 74 20 72 65 61 64 2f 77 72 69 74 65 0d 0a 3b 09 73 65 74 73 65 63 09 73 65 74   ┆sequent read/write  ; setsec set┆
0x0cb520…0cb540             20 73 65 63 74 6f 72 20 61 64 64 72 65 73 73 20 28 31 2c 2e 2e 2e 2c 32 36 29 20 66 6f 72 20 73   ┆ sector address (1,...,26) for s┆
0x0cb540…0cb560             75 62 73 65 71 75 65 6e 74 20 72 65 61 64 2f 77 72 69 74 65 0d 0a 3b 09 73 65 74 64 6d 61 09 73   ┆ubsequent read/write  ; setdma s┆
0x0cb560…0cb580             65 74 20 73 75 62 73 65 71 75 65 6e 74 20 64 6d 61 20 61 64 64 72 65 73 73 20 28 69 6e 69 74 69   ┆et subsequent dma address (initi┆
0x0cb580…0cb5a0             61 6c 6c 79 20 38 30 68 29 0d 0a 3b 0d 0a 3b 09 28 72 65 61 64 20 61 6e 64 20 77 72 69 74 65 20   ┆ally 80h)  ;  ; (read and write ┆
0x0cb5a0…0cb5c0             61 73 73 75 6d 65 20 70 72 65 76 69 6f 75 73 20 63 61 6c 6c 73 20 74 6f 20 73 65 74 20 75 70 20   ┆assume previous calls to set up ┆
0x0cb5c0…0cb5e0             74 68 65 20 69 6f 20 70 61 72 61 6d 65 74 65 72 73 29 0d 0a 3b 09 72 65 61 64 09 72 65 61 64 20   ┆the io parameters)  ; read read ┆
0x0cb5e0…0cb600             74 72 61 63 6b 2f 73 65 63 74 6f 72 20 74 6f 20 70 72 65 73 65 74 20 64 6d 61 20 61 64 64 72 65   ┆track/sector to preset dma addre┆
0x0cb600…0cb620 (54, 0, 8)  73 65 09 3b 64 69 73 6b 20 73 74 61 74 75 73 20 28 69 6e 70 75 74 29 0d 0a 72 74 79 70 65 09 65   ┆se ;disk status (input)  rtype e┆
0x0cb620…0cb640             71 75 09 62 61 73 65 2b 31 09 3b 72 65 73 75 6c 74 20 74 79 70 65 20 28 69 6e 70 75 74 29 0d 0a   ┆qu base+1 ;result type (input)  ┆
0x0cb640…0cb660             72 62 79 74 65 09 65 71 75 09 62 61 73 65 2b 33 09 3b 72 65 73 75 6c 74 20 62 79 74 65 20 28 69   ┆rbyte equ base+3 ;result byte (i┆
0x0cb660…0cb680             6e 70 75 74 29 0d 0a 3b 0d 0a 69 6c 6f 77 09 65 71 75 09 62 61 73 65 2b 31 09 3b 69 6f 70 62 20   ┆nput)  ;  ilow equ base+1 ;iopb ┆
0x0cb680…0cb6a0             6c 6f 77 20 61 64 64 72 65 73 73 20 28 6f 75 74 70 75 74 29 0d 0a 69 68 69 67 68 09 65 71 75 09   ┆low address (output)  ihigh equ ┆
0x0cb6a0…0cb6c0             62 61 73 65 2b 32 09 3b 69 6f 70 62 20 68 69 67 68 20 61 64 64 72 65 73 73 20 28 6f 75 74 70 75   ┆base+2 ;iopb high address (outpu┆
0x0cb6c0…0cb6e0             74 29 0d 0a 3b 0d 0a 72 65 61 64 66 09 65 71 75 09 34 68 09 3b 72 65 61 64 20 66 75 6e 63 74 69   ┆t)  ;  readf equ 4h ;read functi┆
0x0cb6e0…0cb700             6f 6e 0d 0a 77 72 69 74 66 09 65 71 75 09 36 68 09 3b 77 72 69 74 65 20 66 75 6e 63 74 69 6f 6e   ┆on  writf equ 6h ;write function┆
0x0cb700…0cb720             0d 0a 72 65 63 61 6c 09 65 71 75 09 33 68 09 3b 72 65 63 61 6c 69 62 72 61 74 65 20 64 72 69 76   ┆  recal equ 3h ;recalibrate driv┆
0x0cb720…0cb740             65 0d 0a 69 6f 72 64 79 09 65 71 75 09 34 68 09 3b 69 2f 6f 20 66 69 6e 69 73 68 65 64 20 6d 61   ┆e  iordy equ 4h ;i/o finished ma┆
0x0cb740…0cb760             73 6b 0d 0a 63 72 09 65 71 75 09 30 64 68 09 3b 63 61 72 72 69 61 67 65 20 72 65 74 75 72 6e 0d   ┆sk  cr equ 0dh ;carriage return ┆
0x0cb760…0cb780             0a 6c 66 09 65 71 75 09 30 61 68 09 3b 6c 69 6e 65 20 66 65 65 64 0d 0a 3b 0d 0a 73 69 67 6e 6f   ┆ lf equ 0ah ;line feed  ;  signo┆
0x0cb780…0cb7a0             6e 3a 09 3b 73 69 67 6e 6f 6e 20 6d 65 73 73 61 67 65 3a 20 78 78 6b 20 63 70 2f 6d 20 76 65 72   ┆n: ;signon message: xxk cp/m ver┆
0x0cb7a0…0cb7c0             73 20 79 2e 79 0d 0a 09 64 62 09 63 72 2c 6c 66 2c 6c 66 0d 0a 09 69 66 09 74 65 73 74 0d 0a 09   ┆s y.y   db cr,lf,lf   if test   ┆
0x0cb7c0…0cb7e0             64 62 09 27 33 32 27 09 3b 33 32 6b 20 65 78 61 6d 70 6c 65 20 62 69 6f 73 0d 0a 09 65 6e 64 69   ┆db '32' ;32k example bios   endi┆
0x0cb7e0…0cb800             66 0d 0a 09 69 66 09 6e 6f 74 20 74 65 73 74 0d 0a 09 64 62 09 27 30 30 27 09 3b 6d 65 6d 6f 72   ┆f   if not test   db '00' ;memor┆
0x0cb800…0cb820 (54, 0, 9)  65 74 69 6f 6e 20 6f 6b 0d 0a 09 63 61 6c 6c 09 69 6e 74 79 70 65 09 09 3b 6d 75 73 74 20 62 65   ┆etion ok   call intype  ;must be┆
0x0cb820…0cb840             20 69 6f 20 63 6f 6d 70 6c 65 74 65 20 28 30 30 29 20 75 6e 6c 69 6e 6b 65 64 0d 0a 3b 09 30 30   ┆ io complete (00) unlinked  ; 00┆
0x0cb840…0cb860             20 75 6e 6c 69 6e 6b 65 64 20 69 2f 6f 20 63 6f 6d 70 6c 65 74 65 2c 20 20 20 20 30 31 20 6c 69   ┆ unlinked i/o complete,    01 li┆
0x0cb860…0cb880             6e 6b 65 64 20 69 2f 6f 20 63 6f 6d 70 6c 65 74 65 20 28 6e 6f 74 20 75 73 65 64 29 0d 0a 3b 09   ┆nked i/o complete (not used)  ; ┆
0x0cb880…0cb8a0             31 30 20 64 69 73 6b 20 73 74 61 74 75 73 20 63 68 61 6e 67 65 64 20 20 20 20 20 20 20 31 31 20   ┆10 disk status changed       11 ┆
0x0cb8a0…0cb8c0             28 6e 6f 74 20 75 73 65 64 29 0d 0a 09 63 70 69 09 31 30 62 09 09 3b 72 65 61 64 79 20 73 74 61   ┆(not used)   cpi 10b  ;ready sta┆
0x0cb8c0…0cb8e0             74 75 73 20 63 68 61 6e 67 65 3f 0d 0a 09 6a 7a 09 77 72 65 61 64 79 0d 0a 3b 0d 0a 3b 09 6d 75   ┆tus change?   jz wready  ;  ; mu┆
0x0cb8e0…0cb900             73 74 20 62 65 20 30 30 20 69 6e 20 74 68 65 20 61 63 63 75 6d 75 6c 61 74 6f 72 0d 0a 09 6f 72   ┆st be 00 in the accumulator   or┆
0x0cb900…0cb920             61 09 61 0d 0a 09 6a 6e 7a 09 77 65 72 72 6f 72 09 09 3b 73 6f 6d 65 20 6f 74 68 65 72 20 63 6f   ┆a a   jnz werror  ;some other co┆
0x0cb920…0cb940             6e 64 69 74 69 6f 6e 2c 20 72 65 74 72 79 0d 0a 3b 0d 0a 3b 09 63 68 65 63 6b 20 69 2f 6f 20 65   ┆ndition, retry  ;  ; check i/o e┆
0x0cb940…0cb960             72 72 6f 72 20 62 69 74 73 0d 0a 09 63 61 6c 6c 09 69 6e 62 79 74 65 0d 0a 09 72 61 6c 0d 0a 09   ┆rror bits   call inbyte   ral   ┆
0x0cb960…0cb980             6a 63 09 77 72 65 61 64 79 09 09 3b 75 6e 69 74 20 6e 6f 74 20 72 65 61 64 79 0d 0a 09 72 61 72   ┆jc wready  ;unit not ready   rar┆
0x0cb980…0cb9a0             0d 0a 09 61 6e 69 09 31 31 31 31 31 31 31 30 62 09 3b 61 6e 79 20 6f 74 68 65 72 20 65 72 72 6f   ┆   ani 11111110b ;any other erro┆
0x0cb9a0…0cb9c0             72 73 3f 20 20 28 64 65 6c 65 74 65 64 20 64 61 74 61 20 6f 6b 29 0d 0a 09 6a 6e 7a 09 77 65 72   ┆rs?  (deleted data ok)   jnz wer┆
0x0cb9c0…0cb9e0             72 6f 72 0d 0a 3b 0d 0a 3b 09 72 65 61 64 20 6f 72 20 77 72 69 74 65 20 69 73 20 6f 6b 2c 20 61   ┆ror  ;  ; read or write is ok, a┆
0x0cb9e0…0cba00             63 63 75 6d 75 6c 61 74 6f 72 20 63 6f 6e 74 61 69 6e 73 20 7a 65 72 6f 0d 0a 09 72 65 74 0d 0a   ┆ccumulator contains zero   ret  ┆
0x0cba00…0cba20 (54, 0, 10) 6f 20 66 75 6e 63 74 69 6f 6e 2c 20 69 6e 69 74 69 61 6c 20 72 65 61 64 0d 0a 69 6f 6e 3a 09 64   ┆o function, initial read  ion: d┆
0x0cba20…0cba40             62 09 31 09 3b 6e 75 6d 62 65 72 20 6f 66 20 73 65 63 74 6f 72 73 20 74 6f 20 72 65 61 64 0d 0a   ┆b 1 ;number of sectors to read  ┆
0x0cba40…0cba60             69 6f 74 3a 09 64 62 09 6f 66 66 73 65 74 09 3b 74 72 61 63 6b 20 6e 75 6d 62 65 72 0d 0a 69 6f   ┆iot: db offset ;track number  io┆
0x0cba60…0cba80             73 3a 09 64 62 09 31 09 3b 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 0d 0a 69 6f 64 3a 09 64 77 09   ┆s: db 1 ;sector number  iod: dw ┆
0x0cba80…0cbaa0             62 75 66 66 09 3b 69 6f 20 61 64 64 72 65 73 73 0d 0a 3b 0d 0a 3b 0d 0a 3b 09 64 65 66 69 6e 65   ┆buff ;io address  ;  ;  ; define┆
0x0cbaa0…0cbac0             20 72 61 6d 20 61 72 65 61 73 20 66 6f 72 20 62 64 6f 73 20 6f 70 65 72 61 74 69 6f 6e 0d 0a 09   ┆ ram areas for bdos operation   ┆
0x0cbac0…0cbae0             65 6e 64 65 66 0d 0a 09 65 6e 64 0d 0a 3b 09 4d 44 53 2d 38 30 30 20 49 2f 4f 20 44 72 69 76 65   ┆endef   end  ; MDS-800 I/O Drive┆
0x0cbae0…0cbb00             72 73 20 66 6f 72 20 43 50 2f 4d 20 32 2e 32 0d 0a 3b 09 28 66 6f 75 72 20 64 72 69 76 65 20 73   ┆rs for CP/M 2.2  ; (four drive s┆
0x0cbb00…0cbb20             69 6e 67 6c 65 20 64 65 6e 73 69 74 79 20 76 65 72 73 69 6f 6e 29 0d 0a 3b 0d 0a 3b 09 56 65 72   ┆ingle density version)  ;  ; Ver┆
0x0cbb20…0cbb40             73 69 6f 6e 20 32 2e 32 20 46 65 62 72 75 61 72 79 2c 20 31 39 38 30 0d 0a 3b 0d 0a 76 65 72 73   ┆sion 2.2 February, 1980  ;  vers┆
0x0cbb40…0cbb60             09 65 71 75 09 32 32 09 3b 76 65 72 73 69 6f 6e 20 32 2e 32 0d 0a 3b 0d 0a 3b 09 43 6f 70 79 72   ┆ equ 22 ;version 2.2  ;  ; Copyr┆
0x0cbb60…0cbb80             69 67 68 74 20 28 63 29 20 31 39 38 30 0d 0a 3b 09 44 69 67 69 74 61 6c 20 52 65 73 65 61 72 63   ┆ight (c) 1980  ; Digital Researc┆
0x0cbb80…0cbba0             68 0d 0a 3b 09 42 6f 78 20 35 37 39 2c 20 50 61 63 69 66 69 63 20 47 72 6f 76 65 0d 0a 3b 09 43   ┆h  ; Box 579, Pacific Grove  ; C┆
0x0cbba0…0cbbc0             61 6c 69 66 6f 72 6e 69 61 2c 20 39 33 39 35 30 0d 0a 3b 0d 0a 3b 0d 0a 74 72 75 65 09 65 71 75   ┆alifornia, 93950  ;  ;  true equ┆
0x0cbbc0…0cbbe0             09 30 66 66 66 66 68 09 3b 76 61 6c 75 65 20 6f 66 20 22 74 72 75 65 22 0d 0a 66 61 6c 73 65 09   ┆ 0ffffh ;value of "true"  false ┆
0x0cbbe0…0cbc00             65 71 75 09 6e 6f 74 20 74 72 75 65 09 3b 22 66 61 6c 73 65 22 0d 0a 74 65 73 74 09 65 71 75 09   ┆equ not true ;"false"  test equ ┆
0x0cbc00…0cbc20 (54, 0, 11) 73 73 0d 0a 3b 09 77 72 69 74 65 09 77 72 69 74 65 20 74 72 61 63 6b 2f 73 65 63 74 6f 72 20 66   ┆ss  ; write write track/sector f┆
0x0cbc20…0cbc40             72 6f 6d 20 70 72 65 73 65 74 20 64 6d 61 20 61 64 64 72 65 73 73 0d 0a 3b 0d 0a 3b 09 6a 75 6d   ┆rom preset dma address  ;  ; jum┆
0x0cbc40…0cbc60             70 20 76 65 63 74 6f 72 20 66 6f 72 20 69 6e 64 69 76 69 75 61 6c 20 72 6f 75 74 69 6e 65 73 0d   ┆p vector for indiviual routines ┆
0x0cbc60…0cbc80             0a 09 6a 6d 70 09 62 6f 6f 74 0d 0a 77 62 6f 6f 74 65 3a 09 6a 6d 70 09 77 62 6f 6f 74 0d 0a 09   ┆  jmp boot  wboote: jmp wboot   ┆
0x0cbc80…0cbca0             6a 6d 70 09 63 6f 6e 73 74 0d 0a 09 6a 6d 70 09 63 6f 6e 69 6e 0d 0a 09 6a 6d 70 09 63 6f 6e 6f   ┆jmp const   jmp conin   jmp cono┆
0x0cbca0…0cbcc0             75 74 0d 0a 09 6a 6d 70 09 6c 69 73 74 0d 0a 09 6a 6d 70 09 70 75 6e 63 68 0d 0a 09 6a 6d 70 09   ┆ut   jmp list   jmp punch   jmp ┆
0x0cbcc0…0cbce0             72 65 61 64 65 72 0d 0a 09 6a 6d 70 09 68 6f 6d 65 0d 0a 09 6a 6d 70 09 73 65 6c 64 73 6b 0d 0a   ┆reader   jmp home   jmp seldsk  ┆
0x0cbce0…0cbd00             09 6a 6d 70 09 73 65 74 74 72 6b 0d 0a 09 6a 6d 70 09 73 65 74 73 65 63 0d 0a 09 6a 6d 70 09 73   ┆ jmp settrk   jmp setsec   jmp s┆
0x0cbd00…0cbd20             65 74 64 6d 61 0d 0a 09 6a 6d 70 09 72 65 61 64 0d 0a 09 6a 6d 70 09 77 72 69 74 65 0d 0a 09 6a   ┆etdma   jmp read   jmp write   j┆
0x0cbd20…0cbd40             6d 70 09 6c 69 73 74 73 74 09 3b 6c 69 73 74 20 73 74 61 74 75 73 0d 0a 09 6a 6d 70 09 73 65 63   ┆mp listst ;list status   jmp sec┆
0x0cbd40…0cbd60             74 72 61 6e 0d 0a 3b 0d 0a 09 6d 61 63 6c 69 62 09 64 69 73 6b 64 65 66 09 3b 6c 6f 61 64 20 74   ┆tran  ;   maclib diskdef ;load t┆
0x0cbd60…0cbd80             68 65 20 64 69 73 6b 20 64 65 66 69 6e 69 74 69 6f 6e 20 6c 69 62 72 61 72 79 0d 0a 09 64 69 73   ┆he disk definition library   dis┆
0x0cbd80…0cbda0             6b 73 09 34 09 3b 66 6f 75 72 20 64 69 73 6b 73 0d 0a 09 64 69 73 6b 64 65 66 09 30 2c 31 2c 32   ┆ks 4 ;four disks   diskdef 0,1,2┆
0x0cbda0…0cbdc0             36 2c 36 2c 31 30 32 34 2c 32 34 33 2c 36 34 2c 36 34 2c 6f 66 66 73 65 74 0d 0a 09 64 69 73 6b   ┆6,6,1024,243,64,64,offset   disk┆
0x0cbdc0…0cbde0             64 65 66 09 31 2c 30 0d 0a 09 64 69 73 6b 64 65 66 09 32 2c 30 0d 0a 09 64 69 73 6b 64 65 66 09   ┆def 1,0   diskdef 2,0   diskdef ┆
0x0cbde0…0cbe00             33 2c 30 0d 0a 3b 09 65 6e 64 65 66 20 6f 63 63 75 72 73 20 61 74 20 65 6e 64 20 6f 66 20 61 73   ┆3,0  ; endef occurs at end of as┆
0x0cbe00…0cbe20 (54, 0, 12) 79 20 73 69 7a 65 20 66 69 6c 6c 65 64 20 62 79 20 72 65 6c 6f 63 61 74 6f 72 0d 0a 09 65 6e 64   ┆y size filled by relocator   end┆
0x0cbe20…0cbe40             69 66 0d 0a 09 64 62 09 27 6b 20 43 50 2f 4d 20 76 65 72 73 20 27 0d 0a 09 64 62 09 76 65 72 73   ┆if   db 'k CP/M vers '   db vers┆
0x0cbe40…0cbe60             2f 31 30 2b 27 30 27 2c 27 2e 27 2c 76 65 72 73 20 6d 6f 64 20 31 30 2b 27 30 27 0d 0a 09 64 62   ┆/10+'0','.',vers mod 10+'0'   db┆
0x0cbe60…0cbe80             09 63 72 2c 6c 66 2c 30 0d 0a 3b 0d 0a 62 6f 6f 74 3a 09 3b 70 72 69 6e 74 20 73 69 67 6e 6f 6e   ┆ cr,lf,0  ;  boot: ;print signon┆
0x0cbe80…0cbea0             20 6d 65 73 73 61 67 65 20 61 6e 64 20 67 6f 20 74 6f 20 63 63 70 0d 0a 3b 09 28 6e 6f 74 65 3a   ┆ message and go to ccp  ; (note:┆
0x0cbea0…0cbec0             20 6d 64 73 20 62 6f 6f 74 20 69 6e 69 74 69 61 6c 69 7a 65 64 20 69 6f 62 79 74 65 20 61 74 20   ┆ mds boot initialized iobyte at ┆
0x0cbec0…0cbee0             30 30 30 33 68 29 0d 0a 09 6c 78 69 09 73 70 2c 62 75 66 66 2b 38 30 68 0d 0a 09 6c 78 69 09 68   ┆0003h)   lxi sp,buff+80h   lxi h┆
0x0cbee0…0cbf00             2c 73 69 67 6e 6f 6e 0d 0a 09 63 61 6c 6c 09 70 72 6d 73 67 09 3b 70 72 69 6e 74 20 6d 65 73 73   ┆,signon   call prmsg ;print mess┆
0x0cbf00…0cbf20             61 67 65 0d 0a 09 78 72 61 09 61 09 3b 63 6c 65 61 72 20 61 63 63 75 6d 75 6c 61 74 6f 72 0d 0a   ┆age   xra a ;clear accumulator  ┆
0x0cbf20…0cbf40             09 73 74 61 09 63 64 69 73 6b 09 3b 73 65 74 20 69 6e 69 74 69 61 6c 6c 79 20 74 6f 20 64 69 73   ┆ sta cdisk ;set initially to dis┆
0x0cbf40…0cbf60             6b 20 61 0d 0a 09 6a 6d 70 09 67 6f 63 70 6d 09 3b 67 6f 20 74 6f 20 63 70 2f 6d 0d 0a 3b 0d 0a   ┆k a   jmp gocpm ;go to cp/m  ;  ┆
0x0cbf60…0cbf80             3b 0d 0a 77 62 6f 6f 74 3a 3b 09 6c 6f 61 64 65 72 20 6f 6e 20 74 72 61 63 6b 20 30 2c 20 73 65   ┆;  wboot:; loader on track 0, se┆
0x0cbf80…0cbfa0             63 74 6f 72 20 31 2c 20 77 68 69 63 68 20 77 69 6c 6c 20 62 65 20 73 6b 69 70 70 65 64 20 66 6f   ┆ctor 1, which will be skipped fo┆
0x0cbfa0…0cbfc0             72 20 77 61 72 6d 20 0d 0a 3b 09 72 65 61 64 20 63 70 2f 6d 20 66 72 6f 6d 20 64 69 73 6b 20 2d   ┆r warm   ; read cp/m from disk -┆
0x0cbfc0…0cbfe0             20 61 73 73 75 6d 69 6e 67 20 74 68 65 72 65 20 69 73 20 61 20 31 32 38 20 62 79 74 65 20 63 6f   ┆ assuming there is a 128 byte co┆
0x0cbfe0…0cc000             6c 64 20 73 74 61 72 74 0d 0a 3b 09 73 74 61 72 74 2e 0d 0a 3b 0d 0a 09 6c 78 69 09 73 70 2c 62   ┆ld start  ; start.  ;   lxi sp,b┆
0x0cc000…0cc020 (54, 0, 13) 3b 0d 0a 77 72 65 61 64 79 3a 09 3b 6e 6f 74 20 72 65 61 64 79 2c 20 74 72 65 61 74 20 61 73 20   ┆;  wready: ;not ready, treat as ┆
0x0cc020…0cc040             65 72 72 6f 72 20 66 6f 72 20 6e 6f 77 0d 0a 09 63 61 6c 6c 09 69 6e 62 79 74 65 09 09 3b 63 6c   ┆error for now   call inbyte  ;cl┆
0x0cc040…0cc060             65 61 72 20 72 65 73 75 6c 74 20 62 79 74 65 0d 0a 09 6a 6d 70 09 74 72 79 63 6f 75 6e 74 0d 0a   ┆ear result byte   jmp trycount  ┆
0x0cc060…0cc080             3b 0d 0a 77 65 72 72 6f 72 3a 09 3b 72 65 74 75 72 6e 20 68 61 72 64 77 61 72 65 20 6d 61 6c 66   ┆;  werror: ;return hardware malf┆
0x0cc080…0cc0a0             75 6e 63 74 69 6f 6e 20 28 63 72 63 2c 20 74 72 61 63 6b 2c 20 73 65 65 6b 2c 20 65 74 63 2e 29   ┆unction (crc, track, seek, etc.)┆
0x0cc0a0…0cc0c0             0d 0a 3b 09 74 68 65 20 6d 64 73 20 63 6f 6e 74 72 6f 6c 6c 65 72 20 68 61 73 20 72 65 74 75 72   ┆  ; the mds controller has retur┆
0x0cc0c0…0cc0e0             6e 65 64 20 61 20 62 69 74 20 69 6e 20 65 61 63 68 20 70 6f 73 69 74 69 6f 6e 0d 0a 3b 09 6f 66   ┆ned a bit in each position  ; of┆
0x0cc0e0…0cc100             20 74 68 65 20 61 63 63 75 6d 75 6c 61 74 6f 72 2c 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20   ┆ the accumulator, corresponding ┆
0x0cc100…0cc120             74 6f 20 74 68 65 20 63 6f 6e 64 69 74 69 6f 6e 73 3a 0d 0a 3b 09 30 09 2d 20 64 65 6c 65 74 65   ┆to the conditions:  ; 0 - delete┆
0x0cc120…0cc140             64 20 64 61 74 61 20 28 61 63 63 65 70 74 65 64 20 61 73 20 6f 6b 20 61 62 6f 76 65 29 0d 0a 3b   ┆d data (accepted as ok above)  ;┆
0x0cc140…0cc160             09 31 09 2d 20 63 72 63 20 65 72 72 6f 72 0d 0a 3b 09 32 09 2d 20 73 65 65 6b 20 65 72 72 6f 72   ┆ 1 - crc error  ; 2 - seek error┆
0x0cc160…0cc180             0d 0a 3b 09 33 09 2d 20 61 64 64 72 65 73 73 20 65 72 72 6f 72 20 28 68 61 72 64 77 61 72 65 20   ┆  ; 3 - address error (hardware ┆
0x0cc180…0cc1a0             6d 61 6c 66 75 6e 63 74 69 6f 6e 29 0d 0a 3b 09 34 09 2d 20 64 61 74 61 20 6f 76 65 72 2f 75 6e   ┆malfunction)  ; 4 - data over/un┆
0x0cc1a0…0cc1c0             64 65 72 20 66 6c 6f 77 20 28 68 61 72 64 77 61 72 65 20 6d 61 6c 66 75 6e 63 74 69 6f 6e 29 0d   ┆der flow (hardware malfunction) ┆
0x0cc1c0…0cc1e0             0a 3b 09 35 09 2d 20 77 72 69 74 65 20 70 72 6f 74 65 63 74 20 28 74 72 65 61 74 65 64 20 61 73   ┆ ; 5 - write protect (treated as┆
0x0cc1e0…0cc200             20 6e 6f 74 20 72 65 61 64 79 29 0d 0a 3b 09 36 09 2d 20 77 72 69 74 65 20 65 72 72 6f 72 20 28   ┆ not ready)  ; 6 - write error (┆
0x0cc200…0cc220 (54, 0, 14) 66 61 6c 73 65 09 3b 74 72 75 65 20 69 66 20 74 65 73 74 20 62 69 6f 73 0d 0a 3b 0d 0a 09 69 66   ┆false ;true if test bios  ;   if┆
0x0cc220…0cc240             09 74 65 73 74 0d 0a 62 69 61 73 09 65 71 75 09 30 33 34 30 30 68 09 3b 62 61 73 65 20 6f 66 20   ┆ test  bias equ 03400h ;base of ┆
0x0cc240…0cc260             43 43 50 20 69 6e 20 74 65 73 74 20 73 79 73 74 65 6d 0d 0a 09 65 6e 64 69 66 0d 0a 09 69 66 09   ┆CCP in test system   endif   if ┆
0x0cc260…0cc280             6e 6f 74 20 74 65 73 74 0d 0a 62 69 61 73 09 65 71 75 09 30 30 30 30 68 09 3b 67 65 6e 65 72 61   ┆not test  bias equ 0000h ;genera┆
0x0cc280…0cc2a0             74 65 20 72 65 6c 6f 63 61 74 61 62 6c 65 20 63 70 2f 6d 20 73 79 73 74 65 6d 0d 0a 09 65 6e 64   ┆te relocatable cp/m system   end┆
0x0cc2a0…0cc2c0             69 66 0d 0a 3b 0d 0a 70 61 74 63 68 09 65 71 75 09 31 36 30 30 68 0d 0a 3b 0d 0a 09 6f 72 67 09   ┆if  ;  patch equ 1600h  ;   org ┆
0x0cc2c0…0cc2e0             70 61 74 63 68 0d 0a 63 70 6d 62 09 65 71 75 09 24 2d 70 61 74 63 68 09 3b 62 61 73 65 20 6f 66   ┆patch  cpmb equ $-patch ;base of┆
0x0cc2e0…0cc300             20 63 70 6d 20 63 6f 6e 73 6f 6c 65 20 70 72 6f 63 65 73 73 6f 72 0d 0a 62 64 6f 73 09 65 71 75   ┆ cpm console processor  bdos equ┆
0x0cc300…0cc320             09 38 30 36 68 2b 63 70 6d 62 09 3b 62 61 73 69 63 20 64 6f 73 20 28 72 65 73 69 64 65 6e 74 20   ┆ 806h+cpmb ;basic dos (resident ┆
0x0cc320…0cc340             70 6f 72 74 69 6f 6e 29 0d 0a 63 70 6d 6c 09 65 71 75 09 24 2d 63 70 6d 62 09 3b 6c 65 6e 67 74   ┆portion)  cpml equ $-cpmb ;lengt┆
0x0cc340…0cc360             68 20 28 69 6e 20 62 79 74 65 73 29 20 6f 66 20 63 70 6d 20 73 79 73 74 65 6d 0d 0a 6e 73 65 63   ┆h (in bytes) of cpm system  nsec┆
0x0cc360…0cc380             74 73 09 65 71 75 09 63 70 6d 6c 2f 31 32 38 09 3b 6e 75 6d 62 65 72 20 6f 66 20 73 65 63 74 6f   ┆ts equ cpml/128 ;number of secto┆
0x0cc380…0cc3a0             72 73 20 74 6f 20 6c 6f 61 64 0d 0a 6f 66 66 73 65 74 09 65 71 75 09 32 09 3b 6e 75 6d 62 65 72   ┆rs to load  offset equ 2 ;number┆
0x0cc3a0…0cc3c0             20 6f 66 20 64 69 73 6b 20 74 72 61 63 6b 73 20 75 73 65 64 20 62 79 20 63 70 2f 6d 0d 0a 63 64   ┆ of disk tracks used by cp/m  cd┆
0x0cc3c0…0cc3e0             69 73 6b 09 65 71 75 09 30 30 30 34 68 09 3b 61 64 64 72 65 73 73 20 6f 66 20 6c 61 73 74 20 6c   ┆isk equ 0004h ;address of last l┆
0x0cc3e0…0cc400             6f 67 67 65 64 20 64 69 73 6b 20 6f 6e 20 77 61 72 6d 20 73 74 61 72 74 0d 0a 62 75 66 66 09 65   ┆ogged disk on warm start  buff e┆
0x0cc400…0cc420 (54, 0, 15) 73 65 6d 62 6c 79 0d 0a 3b 0d 0a 3b 09 65 6e 64 20 6f 66 20 63 6f 6e 74 72 6f 6c 6c 65 72 20 2d   ┆sembly  ;  ; end of controller -┆
0x0cc420…0cc440             20 69 6e 64 65 70 65 6e 64 65 6e 74 20 63 6f 64 65 2c 20 74 68 65 20 72 65 6d 61 69 6e 69 6e 67   ┆ independent code, the remaining┆
0x0cc440…0cc460             20 73 75 62 72 6f 75 74 69 6e 65 73 0d 0a 3b 09 61 72 65 20 74 61 69 6c 6f 72 65 64 20 74 6f 20   ┆ subroutines  ; are tailored to ┆
0x0cc460…0cc480             74 68 65 20 70 61 72 74 69 63 75 6c 61 72 20 6f 70 65 72 61 74 69 6e 67 20 65 6e 76 69 72 6f 6e   ┆the particular operating environ┆
0x0cc480…0cc4a0             6d 65 6e 74 2c 20 61 6e 64 20 6d 75 73 74 0d 0a 3b 09 62 65 20 61 6c 74 65 72 65 64 20 66 6f 72   ┆ment, and must  ; be altered for┆
0x0cc4a0…0cc4c0             20 61 6e 79 20 73 79 73 74 65 6d 20 77 68 69 63 68 20 64 69 66 66 65 72 73 20 66 72 6f 6d 20 74   ┆ any system which differs from t┆
0x0cc4c0…0cc4e0             68 65 20 69 6e 74 65 6c 20 6d 64 73 2e 0d 0a 3b 0d 0a 3b 09 74 68 65 20 66 6f 6c 6c 6f 77 69 6e   ┆he intel mds.  ;  ; the followin┆
0x0cc4e0…0cc500             67 20 63 6f 64 65 20 61 73 73 75 6d 65 73 20 74 68 65 20 6d 64 73 20 6d 6f 6e 69 74 6f 72 20 65   ┆g code assumes the mds monitor e┆
0x0cc500…0cc520             78 69 73 74 73 20 61 74 20 30 66 38 30 30 68 0d 0a 3b 09 61 6e 64 20 75 73 65 73 20 74 68 65 20   ┆xists at 0f800h  ; and uses the ┆
0x0cc520…0cc540             69 2f 6f 20 73 75 62 72 6f 75 74 69 6e 65 73 20 77 69 74 68 69 6e 20 74 68 65 20 6d 6f 6e 69 74   ┆i/o subroutines within the monit┆
0x0cc540…0cc560             6f 72 0d 0a 3b 0d 0a 3b 09 77 65 20 61 6c 73 6f 20 61 73 73 75 6d 65 20 74 68 65 20 6d 64 73 20   ┆or  ;  ; we also assume the mds ┆
0x0cc560…0cc580             73 79 73 74 65 6d 20 68 61 73 20 66 6f 75 72 20 64 69 73 6b 20 64 72 69 76 65 73 0d 0a 72 65 76   ┆system has four disk drives  rev┆
0x0cc580…0cc5a0             72 74 09 65 71 75 09 30 66 64 68 09 3b 69 6e 74 65 72 72 75 70 74 20 72 65 76 65 72 74 20 70 6f   ┆rt equ 0fdh ;interrupt revert po┆
0x0cc5a0…0cc5c0             72 74 0d 0a 69 6e 74 63 09 65 71 75 09 30 66 63 68 09 3b 69 6e 74 65 72 72 75 70 74 20 6d 61 73   ┆rt  intc equ 0fch ;interrupt mas┆
0x0cc5c0…0cc5e0             6b 20 70 6f 72 74 0d 0a 69 63 6f 6e 09 65 71 75 09 30 66 33 68 09 3b 69 6e 74 65 72 72 75 70 74   ┆k port  icon equ 0f3h ;interrupt┆
0x0cc5e0…0cc600             20 63 6f 6e 74 72 6f 6c 20 70 6f 72 74 0d 0a 69 6e 74 65 09 65 71 75 09 30 31 31 31 24 31 31 31   ┆ control port  inte equ 0111$111┆
0x0cc600…0cc620 (54, 1, 1)  75 66 66 09 3b 75 73 69 6e 67 20 64 6d 61 20 2d 20 74 68 75 73 20 38 30 20 74 68 72 75 20 66 66   ┆uff ;using dma - thus 80 thru ff┆
0x0cc620…0cc640             20 61 76 61 69 6c 61 62 6c 65 20 66 6f 72 20 73 74 61 63 6b 0d 0a 3b 0d 0a 09 6d 76 69 09 63 2c   ┆ available for stack  ;   mvi c,┆
0x0cc640…0cc660             72 65 74 72 79 09 3b 6d 61 78 20 72 65 74 72 69 65 73 0d 0a 09 70 75 73 68 09 62 0d 0a 77 62 6f   ┆retry ;max retries   push b  wbo┆
0x0cc660…0cc680             6f 74 30 3a 09 3b 65 6e 74 65 72 20 68 65 72 65 20 6f 6e 20 65 72 72 6f 72 20 72 65 74 72 69 65   ┆ot0: ;enter here on error retrie┆
0x0cc680…0cc6a0             73 0d 0a 09 6c 78 69 09 62 2c 63 70 6d 62 09 3b 73 65 74 20 64 6d 61 20 61 64 64 72 65 73 73 20   ┆s   lxi b,cpmb ;set dma address ┆
0x0cc6a0…0cc6c0             74 6f 20 73 74 61 72 74 20 6f 66 20 64 69 73 6b 20 73 79 73 74 65 6d 0d 0a 09 63 61 6c 6c 09 73   ┆to start of disk system   call s┆
0x0cc6c0…0cc6e0             65 74 64 6d 61 0d 0a 09 6d 76 69 09 63 2c 30 09 3b 62 6f 6f 74 20 66 72 6f 6d 20 64 72 69 76 65   ┆etdma   mvi c,0 ;boot from drive┆
0x0cc6e0…0cc700             20 30 0d 0a 09 63 61 6c 6c 09 73 65 6c 64 73 6b 0d 0a 09 6d 76 69 09 63 2c 30 0d 0a 09 63 61 6c   ┆ 0   call seldsk   mvi c,0   cal┆
0x0cc700…0cc720             6c 09 73 65 74 74 72 6b 09 3b 73 74 61 72 74 20 77 69 74 68 20 74 72 61 63 6b 20 30 0d 0a 09 6d   ┆l settrk ;start with track 0   m┆
0x0cc720…0cc740             76 69 09 63 2c 32 09 3b 73 74 61 72 74 20 72 65 61 64 69 6e 67 20 73 65 63 74 6f 72 20 32 0d 0a   ┆vi c,2 ;start reading sector 2  ┆
0x0cc740…0cc760             09 63 61 6c 6c 09 73 65 74 73 65 63 0d 0a 3b 0d 0a 3b 09 72 65 61 64 20 73 65 63 74 6f 72 73 2c   ┆ call setsec  ;  ; read sectors,┆
0x0cc760…0cc780             20 63 6f 75 6e 74 20 6e 73 65 63 74 73 20 74 6f 20 7a 65 72 6f 0d 0a 09 70 6f 70 09 62 09 3b 31   ┆ count nsects to zero   pop b ;1┆
0x0cc780…0cc7a0             30 2d 65 72 72 6f 72 20 63 6f 75 6e 74 0d 0a 09 6d 76 69 09 62 2c 6e 73 65 63 74 73 0d 0a 72 64   ┆0-error count   mvi b,nsects  rd┆
0x0cc7a0…0cc7c0             73 65 63 3a 09 3b 72 65 61 64 20 6e 65 78 74 20 73 65 63 74 6f 72 0d 0a 09 70 75 73 68 09 62 09   ┆sec: ;read next sector   push b ┆
0x0cc7c0…0cc7e0             3b 73 61 76 65 20 73 65 63 74 6f 72 20 63 6f 75 6e 74 0d 0a 09 63 61 6c 6c 09 72 65 61 64 0d 0a   ┆;save sector count   call read  ┆
0x0cc7e0…0cc800             09 6a 6e 7a 09 62 6f 6f 74 65 72 72 09 3b 72 65 74 72 79 20 69 66 20 65 72 72 6f 72 73 20 6f 63   ┆ jnz booterr ;retry if errors oc┆
0x0cc800…0cc820 (54, 1, 2)  77 61 72 65 20 6d 6f 6e 69 74 6f 72 0d 0a 3b 0d 0a 62 6f 6f 74 6d 73 67 3a 0d 0a 09 64 62 09 27   ┆ware monitor  ;  bootmsg:   db '┆
0x0cc820…0cc840             3f 62 6f 6f 74 27 2c 30 0d 0a 3b 0d 0a 3b 0d 0a 63 6f 6e 73 74 3a 09 3b 63 6f 6e 73 6f 6c 65 20   ┆?boot',0  ;  ;  const: ;console ┆
0x0cc840…0cc860             73 74 61 74 75 73 20 74 6f 20 72 65 67 2d 61 0d 0a 3b 09 28 65 78 61 63 74 6c 79 20 74 68 65 20   ┆status to reg-a  ; (exactly the ┆
0x0cc860…0cc880             73 61 6d 65 20 61 73 20 6d 64 73 20 63 61 6c 6c 29 0d 0a 09 6a 6d 70 09 63 73 74 73 0d 0a 3b 0d   ┆same as mds call)   jmp csts  ; ┆
0x0cc880…0cc8a0             0a 63 6f 6e 69 6e 3a 09 3b 63 6f 6e 73 6f 6c 65 20 63 68 61 72 61 63 74 65 72 20 74 6f 20 72 65   ┆ conin: ;console character to re┆
0x0cc8a0…0cc8c0             67 2d 61 0d 0a 09 63 61 6c 6c 09 63 69 0d 0a 09 61 6e 69 09 37 66 68 09 3b 72 65 6d 6f 76 65 20   ┆g-a   call ci   ani 7fh ;remove ┆
0x0cc8c0…0cc8e0             70 61 72 69 74 79 20 62 69 74 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 63 6f 6e 6f 75 74 3a 09 3b 63 6f   ┆parity bit   ret  ;  conout: ;co┆
0x0cc8e0…0cc900             6e 73 6f 6c 65 20 63 68 61 72 61 63 74 65 72 20 66 72 6f 6d 20 63 20 74 6f 20 63 6f 6e 73 6f 6c   ┆nsole character from c to consol┆
0x0cc900…0cc920             65 20 6f 75 74 0d 0a 09 6a 6d 70 09 63 6f 0d 0a 3b 0d 0a 6c 69 73 74 3a 09 3b 6c 69 73 74 20 64   ┆e out   jmp co  ;  list: ;list d┆
0x0cc920…0cc940             65 76 69 63 65 20 6f 75 74 0d 0a 3b 09 28 65 78 61 63 74 6c 79 20 74 68 65 20 73 61 6d 65 20 61   ┆evice out  ; (exactly the same a┆
0x0cc940…0cc960             73 20 6d 64 73 20 63 61 6c 6c 29 0d 0a 09 6a 6d 70 09 6c 6f 0d 0a 3b 0d 0a 6c 69 73 74 73 74 3a   ┆s mds call)   jmp lo  ;  listst:┆
0x0cc960…0cc980             0d 0a 09 3b 72 65 74 75 72 6e 20 6c 69 73 74 20 73 74 61 74 75 73 0d 0a 09 78 72 61 09 61 0d 0a   ┆   ;return list status   xra a  ┆
0x0cc980…0cc9a0             09 72 65 74 09 09 3b 61 6c 77 61 79 73 20 6e 6f 74 20 72 65 61 64 79 0d 0a 3b 0d 0a 70 75 6e 63   ┆ ret  ;always not ready  ;  punc┆
0x0cc9a0…0cc9c0             68 3a 09 3b 70 75 6e 63 68 20 64 65 76 69 63 65 20 6f 75 74 0d 0a 3b 09 28 65 78 61 63 74 6c 79   ┆h: ;punch device out  ; (exactly┆
0x0cc9c0…0cc9e0             20 74 68 65 20 73 61 6d 65 20 61 73 20 6d 64 73 20 63 61 6c 6c 29 0d 0a 09 6a 6d 70 09 70 6f 0d   ┆ the same as mds call)   jmp po ┆
0x0cc9e0…0cca00             0a 3b 0d 0a 72 65 61 64 65 72 3a 09 3b 72 65 61 64 65 72 20 63 68 61 72 61 63 74 65 72 20 69 6e   ┆ ;  reader: ;reader character in┆
0x0cca00…0cca20 (54, 1, 3)  66 75 6e 63 74 69 6f 6e 0d 0a 09 6d 76 69 09 63 2c 77 72 69 74 66 0d 0a 09 63 61 6c 6c 09 73 65   ┆function   mvi c,writf   call se┆
0x0cca20…0cca40             74 66 75 6e 63 09 3b 73 65 74 20 74 6f 20 77 72 69 74 65 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 63   ┆tfunc ;set to write function   c┆
0x0cca40…0cca60             61 6c 6c 09 77 61 69 74 69 6f 0d 0a 09 72 65 74 09 09 3b 6d 61 79 20 68 61 76 65 20 65 72 72 6f   ┆all waitio   ret  ;may have erro┆
0x0cca60…0cca80             72 20 73 65 74 0d 0a 3b 0d 0a 3b 0d 0a 3b 09 75 74 69 6c 69 74 79 20 73 75 62 72 6f 75 74 69 6e   ┆r set  ;  ;  ; utility subroutin┆
0x0cca80…0ccaa0             65 73 0d 0a 70 72 6d 73 67 3a 09 3b 70 72 69 6e 74 20 6d 65 73 73 61 67 65 20 61 74 20 68 2c 6c   ┆es  prmsg: ;print message at h,l┆
0x0ccaa0…0ccac0             20 74 6f 20 30 0d 0a 09 6d 6f 76 09 61 2c 6d 0d 0a 09 6f 72 61 09 61 09 3b 7a 65 72 6f 3f 0d 0a   ┆ to 0   mov a,m   ora a ;zero?  ┆
0x0ccac0…0ccae0             09 72 7a 0d 0a 3b 09 6d 6f 72 65 20 74 6f 20 70 72 69 6e 74 0d 0a 09 70 75 73 68 09 68 0d 0a 09   ┆ rz  ; more to print   push h   ┆
0x0ccae0…0ccb00             6d 6f 76 09 63 2c 61 0d 0a 09 63 61 6c 6c 09 63 6f 6e 6f 75 74 0d 0a 09 70 6f 70 09 68 0d 0a 09   ┆mov c,a   call conout   pop h   ┆
0x0ccb00…0ccb20             69 6e 78 09 68 0d 0a 09 6a 6d 70 09 70 72 6d 73 67 0d 0a 3b 0d 0a 73 65 74 66 75 6e 63 3a 0d 0a   ┆inx h   jmp prmsg  ;  setfunc:  ┆
0x0ccb20…0ccb40             3b 09 73 65 74 20 66 75 6e 63 74 69 6f 6e 20 66 6f 72 20 6e 65 78 74 20 69 2f 6f 20 28 63 6f 6d   ┆; set function for next i/o (com┆
0x0ccb40…0ccb60             6d 61 6e 64 20 69 6e 20 72 65 67 2d 63 29 0d 0a 09 6c 78 69 09 68 2c 69 6f 66 09 3b 69 6f 20 66   ┆mand in reg-c)   lxi h,iof ;io f┆
0x0ccb60…0ccb80             75 6e 63 74 69 6f 6e 20 61 64 64 72 65 73 73 0d 0a 09 6d 6f 76 09 61 2c 6d 09 3b 67 65 74 20 69   ┆unction address   mov a,m ;get i┆
0x0ccb80…0ccba0             74 20 74 6f 20 61 63 63 75 6d 75 6c 61 74 6f 72 20 66 6f 72 20 6d 61 73 6b 69 6e 67 0d 0a 09 61   ┆t to accumulator for masking   a┆
0x0ccba0…0ccbc0             6e 69 09 31 31 31 31 31 30 30 30 62 09 3b 72 65 6d 6f 76 65 20 70 72 65 76 69 6f 75 73 20 63 6f   ┆ni 11111000b ;remove previous co┆
0x0ccbc0…0ccbe0             6d 6d 61 6e 64 0d 0a 09 6f 72 61 09 63 09 3b 73 65 74 20 74 6f 20 6e 65 77 20 63 6f 6d 6d 61 6e   ┆mmand   ora c ;set to new comman┆
0x0ccbe0…0ccc00             64 0d 0a 09 6d 6f 76 09 6d 2c 61 09 3b 72 65 70 6c 61 63 65 64 20 69 6e 20 69 6f 70 62 0d 0a 3b   ┆d   mov m,a ;replaced in iopb  ;┆
0x0ccc00…0ccc20 (54, 1, 4)  75 6e 74 0d 0a 3b 0d 0a 77 65 72 72 6f 72 3a 09 3b 72 65 74 75 72 6e 20 68 61 72 64 77 61 72 65   ┆unt  ;  werror: ;return hardware┆
0x0ccc20…0ccc40             20 6d 61 6c 66 75 6e 63 74 69 6f 6e 20 28 63 72 63 2c 20 74 72 61 63 6b 2c 20 73 65 65 6b 2c 20   ┆ malfunction (crc, track, seek, ┆
0x0ccc40…0ccc60             65 74 63 2e 29 0d 0a 3b 09 74 68 65 20 6d 64 73 20 63 6f 6e 74 72 6f 6c 6c 65 72 20 68 61 73 20   ┆etc.)  ; the mds controller has ┆
0x0ccc60…0ccc80             72 65 74 75 72 6e 65 64 20 61 20 62 69 74 20 69 6e 20 65 61 63 68 20 70 6f 73 69 74 69 6f 6e 0d   ┆returned a bit in each position ┆
0x0ccc80…0ccca0             0a 3b 09 6f 66 20 74 68 65 20 61 63 63 75 6d 75 6c 61 74 6f 72 2c 20 63 6f 72 72 65 73 70 6f 6e   ┆ ; of the accumulator, correspon┆
0x0ccca0…0cccc0             64 69 6e 67 20 74 6f 20 74 68 65 20 63 6f 6e 64 69 74 69 6f 6e 73 3a 0d 0a 3b 09 30 09 2d 20 64   ┆ding to the conditions:  ; 0 - d┆
0x0cccc0…0ccce0             65 6c 65 74 65 64 20 64 61 74 61 20 28 61 63 63 65 70 74 65 64 20 61 73 20 6f 6b 20 61 62 6f 76   ┆eleted data (accepted as ok abov┆
0x0ccce0…0ccd00             65 29 0d 0a 3b 09 31 09 2d 20 63 72 63 20 65 72 72 6f 72 0d 0a 3b 09 32 09 2d 20 73 65 65 6b 20   ┆e)  ; 1 - crc error  ; 2 - seek ┆
0x0ccd00…0ccd20             65 72 72 6f 72 0d 0a 3b 09 33 09 2d 20 61 64 64 72 65 73 73 20 65 72 72 6f 72 20 28 68 61 72 64   ┆error  ; 3 - address error (hard┆
0x0ccd20…0ccd40             77 61 72 65 20 6d 61 6c 66 75 6e 63 74 69 6f 6e 29 0d 0a 3b 09 34 09 2d 20 64 61 74 61 20 6f 76   ┆ware malfunction)  ; 4 - data ov┆
0x0ccd40…0ccd60             65 72 2f 75 6e 64 65 72 20 66 6c 6f 77 20 28 68 61 72 64 77 61 72 65 20 6d 61 6c 66 75 6e 63 74   ┆er/under flow (hardware malfunct┆
0x0ccd60…0ccd80             69 6f 6e 29 0d 0a 3b 09 35 09 2d 20 77 72 69 74 65 20 70 72 6f 74 65 63 74 20 28 74 72 65 61 74   ┆ion)  ; 5 - write protect (treat┆
0x0ccd80…0ccda0             65 64 20 61 73 20 6e 6f 74 20 72 65 61 64 79 29 0d 0a 3b 09 36 09 2d 20 77 72 69 74 65 20 65 72   ┆ed as not ready)  ; 6 - write er┆
0x0ccda0…0ccdc0             72 6f 72 20 28 68 61 72 64 77 61 72 65 20 6d 61 6c 66 75 6e 63 74 69 6f 6e 29 0d 0a 3b 09 37 09   ┆ror (hardware malfunction)  ; 7 ┆
0x0ccdc0…0ccde0             2d 20 6e 6f 74 20 72 65 61 64 79 0d 0a 3b 09 28 61 63 63 75 6d 75 6c 61 74 6f 72 20 62 69 74 73   ┆- not ready  ; (accumulator bits┆
0x0ccde0…0cce00             20 61 72 65 20 6e 75 6d 62 65 72 65 64 20 37 20 36 20 35 20 34 20 33 20 32 20 31 20 30 29 0d 0a   ┆ are numbered 7 6 5 4 3 2 1 0)  ┆
0x0cce00…0cce20 (54, 1, 5)  63 75 72 0d 0a 09 6c 68 6c 64 09 69 6f 64 09 3b 69 6e 63 72 65 6d 65 6e 74 20 64 6d 61 20 61 64   ┆cur   lhld iod ;increment dma ad┆
0x0cce20…0cce40             64 72 65 73 73 0d 0a 09 6c 78 69 09 64 2c 31 32 38 09 3b 73 65 63 74 6f 72 20 73 69 7a 65 0d 0a   ┆dress   lxi d,128 ;sector size  ┆
0x0cce40…0cce60             09 64 61 64 09 64 09 3b 69 6e 63 72 65 6d 65 6e 74 65 64 20 64 6d 61 20 61 64 64 72 65 73 73 20   ┆ dad d ;incremented dma address ┆
0x0cce60…0cce80             69 6e 20 68 6c 0d 0a 09 6d 6f 76 09 62 2c 68 0d 0a 09 6d 6f 76 09 63 2c 6c 09 3b 72 65 61 64 79   ┆in hl   mov b,h   mov c,l ;ready┆
0x0cce80…0ccea0             20 66 6f 72 20 63 61 6c 6c 20 74 6f 20 73 65 74 20 64 6d 61 0d 0a 09 63 61 6c 6c 09 73 65 74 64   ┆ for call to set dma   call setd┆
0x0ccea0…0ccec0             6d 61 0d 0a 09 6c 64 61 09 69 6f 73 09 3b 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 20 6a 75 73 74   ┆ma   lda ios ;sector number just┆
0x0ccec0…0ccee0             20 72 65 61 64 0d 0a 09 63 70 69 09 32 36 09 3b 72 65 61 64 20 6c 61 73 74 20 73 65 63 74 6f 72   ┆ read   cpi 26 ;read last sector┆
0x0ccee0…0ccf00             3f 0d 0a 09 6a 63 09 72 64 31 0d 0a 3b 09 6d 75 73 74 20 62 65 20 73 65 63 74 6f 72 20 32 36 2c   ┆?   jc rd1  ; must be sector 26,┆
0x0ccf00…0ccf20             20 7a 65 72 6f 20 61 6e 64 20 67 6f 20 74 6f 20 6e 65 78 74 20 74 72 61 63 6b 0d 0a 09 6c 64 61   ┆ zero and go to next track   lda┆
0x0ccf20…0ccf40             09 69 6f 74 09 3b 67 65 74 20 74 72 61 63 6b 20 74 6f 20 72 65 67 69 73 74 65 72 20 61 0d 0a 09   ┆ iot ;get track to register a   ┆
0x0ccf40…0ccf60             69 6e 72 09 61 0d 0a 09 6d 6f 76 09 63 2c 61 09 3b 72 65 61 64 79 20 66 6f 72 20 63 61 6c 6c 0d   ┆inr a   mov c,a ;ready for call ┆
0x0ccf60…0ccf80             0a 09 63 61 6c 6c 09 73 65 74 74 72 6b 0d 0a 09 78 72 61 09 61 09 3b 63 6c 65 61 72 20 73 65 63   ┆  call settrk   xra a ;clear sec┆
0x0ccf80…0ccfa0             74 6f 72 20 6e 75 6d 62 65 72 0d 0a 72 64 31 3a 09 69 6e 72 09 61 09 3b 74 6f 20 6e 65 78 74 20   ┆tor number  rd1: inr a ;to next ┆
0x0ccfa0…0ccfc0             73 65 63 74 6f 72 0d 0a 09 6d 6f 76 09 63 2c 61 09 3b 72 65 61 64 79 20 66 6f 72 20 63 61 6c 6c   ┆sector   mov c,a ;ready for call┆
0x0ccfc0…0ccfe0             0d 0a 09 63 61 6c 6c 09 73 65 74 73 65 63 0d 0a 09 70 6f 70 09 62 09 3b 72 65 63 61 6c 6c 20 73   ┆   call setsec   pop b ;recall s┆
0x0ccfe0…0cd000             65 63 74 6f 72 20 63 6f 75 6e 74 0d 0a 09 64 63 72 09 62 09 3b 64 6f 6e 65 3f 0d 0a 09 6a 6e 7a   ┆ector count   dcr b ;done?   jnz┆
0x0cd000…0cd020 (54, 1, 6)  20 74 6f 20 72 65 67 2d 61 0d 0a 3b 09 28 65 78 61 63 74 6c 79 20 74 68 65 20 73 61 6d 65 20 61   ┆ to reg-a  ; (exactly the same a┆
0x0cd020…0cd040             73 20 6d 64 73 20 63 61 6c 6c 29 0d 0a 09 6a 6d 70 09 72 69 0d 0a 3b 0d 0a 68 6f 6d 65 3a 09 3b   ┆s mds call)   jmp ri  ;  home: ;┆
0x0cd040…0cd060             6d 6f 76 65 20 74 6f 20 68 6f 6d 65 20 70 6f 73 69 74 69 6f 6e 0d 0a 3b 09 74 72 65 61 74 20 61   ┆move to home position  ; treat a┆
0x0cd060…0cd080             73 20 74 72 61 63 6b 20 30 30 20 73 65 65 6b 0d 0a 09 6d 76 69 09 63 2c 30 0d 0a 09 6a 6d 70 09   ┆s track 00 seek   mvi c,0   jmp ┆
0x0cd080…0cd0a0             73 65 74 74 72 6b 0d 0a 3b 0d 0a 73 65 6c 64 73 6b 3a 09 3b 73 65 6c 65 63 74 20 64 69 73 6b 20   ┆settrk  ;  seldsk: ;select disk ┆
0x0cd0a0…0cd0c0             67 69 76 65 6e 20 62 79 20 72 65 67 69 73 74 65 72 20 63 0d 0a 09 6c 78 69 09 68 2c 30 30 30 30   ┆given by register c   lxi h,0000┆
0x0cd0c0…0cd0e0             68 09 3b 72 65 74 75 72 6e 20 30 30 30 30 20 69 66 20 65 72 72 6f 72 0d 0a 09 6d 6f 76 09 61 2c   ┆h ;return 0000 if error   mov a,┆
0x0cd0e0…0cd100             63 0d 0a 09 63 70 69 09 6e 64 69 73 6b 73 09 3b 74 6f 6f 20 6c 61 72 67 65 3f 0d 0a 09 72 6e 63   ┆c   cpi ndisks ;too large?   rnc┆
0x0cd100…0cd120             09 09 3b 6c 65 61 76 65 20 48 4c 20 3d 20 30 30 30 30 0d 0a 3b 0d 0a 09 61 6e 69 09 31 30 62 09   ┆  ;leave HL = 0000  ;   ani 10b ┆
0x0cd120…0cd140             3b 30 30 20 30 30 20 66 6f 72 20 64 72 69 76 65 20 30 2c 31 20 61 6e 64 20 31 30 20 31 30 20 66   ┆;00 00 for drive 0,1 and 10 10 f┆
0x0cd140…0cd160             6f 72 20 64 72 69 76 65 20 32 2c 33 0d 0a 09 73 74 61 09 64 62 61 6e 6b 09 3b 74 6f 20 73 65 6c   ┆or drive 2,3   sta dbank ;to sel┆
0x0cd160…0cd180             65 63 74 20 64 72 69 76 65 20 62 61 6e 6b 0d 0a 09 6d 6f 76 09 61 2c 63 09 3b 30 30 2c 20 30 31   ┆ect drive bank   mov a,c ;00, 01┆
0x0cd180…0cd1a0             2c 20 31 30 2c 20 31 31 0d 0a 09 61 6e 69 09 31 62 09 3b 6d 64 73 20 68 61 73 20 30 2c 31 20 61   ┆, 10, 11   ani 1b ;mds has 0,1 a┆
0x0cd1a0…0cd1c0             74 20 37 38 2c 20 32 2c 33 20 61 74 20 38 38 0d 0a 09 6f 72 61 09 61 09 3b 72 65 73 75 6c 74 20   ┆t 78, 2,3 at 88   ora a ;result ┆
0x0cd1c0…0cd1e0             30 30 3f 0d 0a 09 6a 7a 09 73 65 74 64 72 69 76 65 0d 0a 09 6d 76 69 09 61 2c 30 30 31 31 30 30   ┆00?   jz setdrive   mvi a,001100┆
0x0cd1e0…0cd200             30 30 62 09 3b 73 65 6c 65 63 74 73 20 64 72 69 76 65 20 31 20 69 6e 20 62 61 6e 6b 0d 0a 73 65   ┆00b ;selects drive 1 in bank  se┆
0x0cd200…0cd220 (54, 1, 7)  09 74 68 65 20 6d 64 73 2d 38 30 30 20 63 6f 6e 74 72 6f 6c 6c 65 72 20 72 65 71 75 69 72 65 73   ┆ the mds-800 controller requires┆
0x0cd220…0cd240             20 64 69 73 6b 20 62 61 6e 6b 20 62 69 74 20 69 6e 20 73 65 63 74 6f 72 20 62 79 74 65 0d 0a 3b   ┆ disk bank bit in sector byte  ;┆
0x0cd240…0cd260             09 6d 61 73 6b 20 74 68 65 20 62 69 74 20 66 72 6f 6d 20 74 68 65 20 63 75 72 72 65 6e 74 20 69   ┆ mask the bit from the current i┆
0x0cd260…0cd280             2f 6f 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 61 6e 69 09 30 30 31 30 30 30 30 30 62 09 3b 6d 61 73   ┆/o function   ani 00100000b ;mas┆
0x0cd280…0cd2a0             6b 20 74 68 65 20 64 69 73 6b 20 73 65 6c 65 63 74 20 62 69 74 0d 0a 09 6c 78 69 09 68 2c 69 6f   ┆k the disk select bit   lxi h,io┆
0x0cd2a0…0cd2c0             73 09 09 3b 61 64 64 72 65 73 73 20 74 68 65 20 73 65 63 74 6f 72 20 73 65 6c 65 63 74 20 62 79   ┆s  ;address the sector select by┆
0x0cd2c0…0cd2e0             74 65 0d 0a 09 6f 72 61 09 6d 09 09 3b 73 65 6c 65 63 74 20 70 72 6f 70 65 72 20 64 69 73 6b 20   ┆te   ora m  ;select proper disk ┆
0x0cd2e0…0cd300             62 61 6e 6b 0d 0a 09 6d 6f 76 09 6d 2c 61 09 09 3b 73 65 74 20 64 69 73 6b 20 73 65 6c 65 63 74   ┆bank   mov m,a  ;set disk select┆
0x0cd300…0cd320             20 62 69 74 20 6f 6e 2f 6f 66 66 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 77 61 69 74 69 6f 3a 0d 0a 09   ┆ bit on/off   ret  ;  waitio:   ┆
0x0cd320…0cd340             6d 76 69 09 63 2c 72 65 74 72 79 09 3b 6d 61 78 20 72 65 74 72 69 65 73 20 62 65 66 6f 72 65 20   ┆mvi c,retry ;max retries before ┆
0x0cd340…0cd360             70 65 72 6d 20 65 72 72 6f 72 0d 0a 72 65 77 61 69 74 3a 0d 0a 3b 09 73 74 61 72 74 20 74 68 65   ┆perm error  rewait:  ; start the┆
0x0cd360…0cd380             20 69 2f 6f 20 66 75 6e 63 74 69 6f 6e 20 61 6e 64 20 77 61 69 74 20 66 6f 72 20 63 6f 6d 70 6c   ┆ i/o function and wait for compl┆
0x0cd380…0cd3a0             65 74 69 6f 6e 0d 0a 09 63 61 6c 6c 09 69 6e 74 79 70 65 09 3b 69 6e 20 72 74 79 70 65 0d 0a 09   ┆etion   call intype ;in rtype   ┆
0x0cd3a0…0cd3c0             63 61 6c 6c 09 69 6e 62 79 74 65 09 3b 63 6c 65 61 72 73 20 74 68 65 20 63 6f 6e 74 72 6f 6c 6c   ┆call inbyte ;clears the controll┆
0x0cd3c0…0cd3e0             65 72 0d 0a 3b 0d 0a 09 6c 64 61 09 64 62 61 6e 6b 09 09 3b 73 65 74 20 62 61 6e 6b 20 66 6c 61   ┆er  ;   lda dbank  ;set bank fla┆
0x0cd3e0…0cd400             67 73 0d 0a 09 6f 72 61 09 61 09 09 3b 7a 65 72 6f 20 69 66 20 64 72 69 76 65 20 30 2c 31 20 61   ┆gs   ora a  ;zero if drive 0,1 a┆
0x0cd400…0cd420 (54, 1, 8)  3b 0d 0a 3b 09 69 74 20 6d 61 79 20 62 65 20 75 73 65 66 75 6c 20 74 6f 20 66 69 6c 74 65 72 20   ┆;  ; it may be useful to filter ┆
0x0cd420…0cd440             6f 75 74 20 74 68 65 20 76 61 72 69 6f 75 73 20 63 6f 6e 64 69 74 69 6f 6e 73 2c 0d 0a 3b 09 62   ┆out the various conditions,  ; b┆
0x0cd440…0cd460             75 74 20 77 65 20 77 69 6c 6c 20 67 65 74 20 61 20 70 65 72 6d 61 6e 65 6e 74 20 65 72 72 6f 72   ┆ut we will get a permanent error┆
0x0cd460…0cd480             20 6d 65 73 73 61 67 65 20 69 66 20 69 74 20 69 73 20 6e 6f 74 0d 0a 3b 09 72 65 63 6f 76 65 72   ┆ message if it is not  ; recover┆
0x0cd480…0cd4a0             61 62 6c 65 2e 20 20 69 6e 20 61 6e 79 20 63 61 73 65 2c 20 74 68 65 20 6e 6f 74 20 72 65 61 64   ┆able.  in any case, the not read┆
0x0cd4a0…0cd4c0             79 20 63 6f 6e 64 69 74 69 6f 6e 20 69 73 0d 0a 3b 09 74 72 65 61 74 65 64 20 61 73 20 61 20 73   ┆y condition is  ; treated as a s┆
0x0cd4c0…0cd4e0             65 70 61 72 61 74 65 20 63 6f 6e 64 69 74 69 6f 6e 20 66 6f 72 20 6c 61 74 65 72 20 69 6d 70 72   ┆eparate condition for later impr┆
0x0cd4e0…0cd500             6f 76 65 6d 65 6e 74 0d 0a 74 72 79 63 6f 75 6e 74 3a 0d 0a 3b 09 72 65 67 69 73 74 65 72 20 63   ┆ovement  trycount:  ; register c┆
0x0cd500…0cd520             20 63 6f 6e 74 61 69 6e 73 20 72 65 74 72 79 20 63 6f 75 6e 74 2c 20 64 65 63 72 65 6d 65 6e 74   ┆ contains retry count, decrement┆
0x0cd520…0cd540             20 27 74 69 6c 20 7a 65 72 6f 0d 0a 09 64 63 72 09 63 0d 0a 09 6a 6e 7a 09 72 65 77 61 69 74 09   ┆ 'til zero   dcr c   jnz rewait ┆
0x0cd540…0cd560             3b 66 6f 72 20 61 6e 6f 74 68 65 72 20 74 72 79 0d 0a 3b 0d 0a 3b 09 63 61 6e 6e 6f 74 20 72 65   ┆;for another try  ;  ; cannot re┆
0x0cd560…0cd580             63 6f 76 65 72 20 66 72 6f 6d 20 65 72 72 6f 72 0d 0a 09 6d 76 69 09 61 2c 31 09 3b 65 72 72 6f   ┆cover from error   mvi a,1 ;erro┆
0x0cd580…0cd5a0             72 20 63 6f 64 65 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 3b 09 69 6e 74 79 70 65 2c 20 69 6e 62 79 74   ┆r code   ret  ;  ; intype, inbyt┆
0x0cd5a0…0cd5c0             65 2c 20 69 6e 73 74 61 74 20 72 65 61 64 20 64 72 69 76 65 20 62 61 6e 6b 20 30 30 20 6f 72 20   ┆e, instat read drive bank 00 or ┆
0x0cd5c0…0cd5e0             31 30 0d 0a 69 6e 74 79 70 65 3a 09 6c 64 61 09 64 62 61 6e 6b 0d 0a 09 6f 72 61 09 61 0d 0a 09   ┆10  intype: lda dbank   ora a   ┆
0x0cd5e0…0cd600             6a 6e 7a 09 69 6e 74 79 70 31 09 3b 73 6b 69 70 20 74 6f 20 62 61 6e 6b 20 31 30 0d 0a 09 69 6e   ┆jnz intyp1 ;skip to bank 10   in┆
0x0cd600…0cd620 (54, 1, 9)  09 72 64 73 65 63 0d 0a 3b 0d 0a 3b 09 64 6f 6e 65 20 77 69 74 68 20 74 68 65 20 6c 6f 61 64 2c   ┆ rdsec  ;  ; done with the load,┆
0x0cd620…0cd640             20 72 65 73 65 74 20 64 65 66 61 75 6c 74 20 62 75 66 66 65 72 20 61 64 64 72 65 73 73 0d 0a 67   ┆ reset default buffer address  g┆
0x0cd640…0cd660             6f 63 70 6d 3a 09 3b 28 65 6e 74 65 72 20 68 65 72 65 20 66 72 6f 6d 20 63 6f 6c 64 20 73 74 61   ┆ocpm: ;(enter here from cold sta┆
0x0cd660…0cd680             72 74 20 62 6f 6f 74 29 0d 0a 3b 09 65 6e 61 62 6c 65 20 72 73 74 30 20 61 6e 64 20 72 73 74 37   ┆rt boot)  ; enable rst0 and rst7┆
0x0cd680…0cd6a0             0d 0a 09 64 69 0d 0a 09 6d 76 69 09 61 2c 31 32 68 09 3b 69 6e 69 74 69 61 6c 69 7a 65 20 63 6f   ┆   di   mvi a,12h ;initialize co┆
0x0cd6a0…0cd6c0             6d 6d 61 6e 64 0d 0a 09 6f 75 74 09 72 65 76 72 74 0d 0a 09 78 72 61 09 61 0d 0a 09 6f 75 74 09   ┆mmand   out revrt   xra a   out ┆
0x0cd6c0…0cd6e0             69 6e 74 63 09 3b 63 6c 65 61 72 65 64 0d 0a 09 6d 76 69 09 61 2c 69 6e 74 65 09 3b 72 73 74 30   ┆intc ;cleared   mvi a,inte ;rst0┆
0x0cd6e0…0cd700             20 61 6e 64 20 72 73 74 37 20 62 69 74 73 20 6f 6e 0d 0a 09 6f 75 74 09 69 6e 74 63 0d 0a 09 78   ┆ and rst7 bits on   out intc   x┆
0x0cd700…0cd720             72 61 09 61 0d 0a 09 6f 75 74 09 69 63 6f 6e 09 3b 69 6e 74 65 72 72 75 70 74 20 63 6f 6e 74 72   ┆ra a   out icon ;interrupt contr┆
0x0cd720…0cd740             6f 6c 0d 0a 3b 0d 0a 3b 09 73 65 74 20 64 65 66 61 75 6c 74 20 62 75 66 66 65 72 20 61 64 64 72   ┆ol  ;  ; set default buffer addr┆
0x0cd740…0cd760             65 73 73 20 74 6f 20 38 30 68 0d 0a 09 6c 78 69 09 62 2c 62 75 66 66 0d 0a 09 63 61 6c 6c 09 73   ┆ess to 80h   lxi b,buff   call s┆
0x0cd760…0cd780             65 74 64 6d 61 0d 0a 3b 0d 0a 3b 09 72 65 73 65 74 20 6d 6f 6e 69 74 6f 72 20 65 6e 74 72 79 20   ┆etdma  ;  ; reset monitor entry ┆
0x0cd780…0cd7a0             70 6f 69 6e 74 73 0d 0a 09 6d 76 69 09 61 2c 6a 6d 70 0d 0a 09 73 74 61 09 30 0d 0a 09 6c 78 69   ┆points   mvi a,jmp   sta 0   lxi┆
0x0cd7a0…0cd7c0             09 68 2c 77 62 6f 6f 74 65 0d 0a 09 73 68 6c 64 09 31 09 3b 6a 6d 70 20 77 62 6f 6f 74 20 61 74   ┆ h,wboote   shld 1 ;jmp wboot at┆
0x0cd7c0…0cd7e0             20 6c 6f 63 61 74 69 6f 6e 20 30 30 0d 0a 09 73 74 61 09 35 0d 0a 09 6c 78 69 09 68 2c 62 64 6f   ┆ location 00   sta 5   lxi h,bdo┆
0x0cd7e0…0cd800             73 0d 0a 09 73 68 6c 64 09 36 09 3b 6a 6d 70 20 62 64 6f 73 20 61 74 20 6c 6f 63 61 74 69 6f 6e   ┆s   shld 6 ;jmp bdos at location┆
0x0cd800…0cd820 (54, 1, 10) 74 64 72 69 76 65 3a 0d 0a 09 6d 6f 76 09 62 2c 61 09 3b 73 61 76 65 20 74 68 65 20 66 75 6e 63   ┆tdrive:   mov b,a ;save the func┆
0x0cd820…0cd840             74 69 6f 6e 0d 0a 09 6c 78 69 09 68 2c 69 6f 66 09 3b 69 6f 20 66 75 6e 63 74 69 6f 6e 0d 0a 09   ┆tion   lxi h,iof ;io function   ┆
0x0cd840…0cd860             6d 6f 76 09 61 2c 6d 0d 0a 09 61 6e 69 09 31 31 30 30 31 31 31 31 62 09 3b 6d 61 73 6b 20 6f 75   ┆mov a,m   ani 11001111b ;mask ou┆
0x0cd860…0cd880             74 20 64 69 73 6b 20 6e 75 6d 62 65 72 0d 0a 09 6f 72 61 09 62 09 3b 6d 61 73 6b 20 69 6e 20 6e   ┆t disk number   ora b ;mask in n┆
0x0cd880…0cd8a0             65 77 20 64 69 73 6b 20 6e 75 6d 62 65 72 0d 0a 09 6d 6f 76 09 6d 2c 61 09 3b 73 61 76 65 20 69   ┆ew disk number   mov m,a ;save i┆
0x0cd8a0…0cd8c0             74 20 69 6e 20 69 6f 70 62 0d 0a 09 6d 6f 76 09 6c 2c 63 0d 0a 09 6d 76 69 09 68 2c 30 09 3b 48   ┆t in iopb   mov l,c   mvi h,0 ;H┆
0x0cd8c0…0cd8e0             4c 3d 64 69 73 6b 20 6e 75 6d 62 65 72 0d 0a 09 64 61 64 09 68 09 3b 2a 32 0d 0a 09 64 61 64 09   ┆L=disk number   dad h ;*2   dad ┆
0x0cd8e0…0cd900             68 09 3b 2a 34 0d 0a 09 64 61 64 09 68 09 3b 2a 38 0d 0a 09 64 61 64 09 68 09 3b 2a 31 36 0d 0a   ┆h ;*4   dad h ;*8   dad h ;*16  ┆
0x0cd900…0cd920             09 6c 78 69 09 64 2c 64 70 62 61 73 65 0d 0a 09 64 61 64 09 64 09 3b 48 4c 3d 64 69 73 6b 20 68   ┆ lxi d,dpbase   dad d ;HL=disk h┆
0x0cd920…0cd940             65 61 64 65 72 20 74 61 62 6c 65 20 61 64 64 72 65 73 73 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 3b 0d   ┆eader table address   ret  ;  ; ┆
0x0cd940…0cd960             0a 73 65 74 74 72 6b 3a 09 3b 73 65 74 20 74 72 61 63 6b 20 61 64 64 72 65 73 73 20 67 69 76 65   ┆ settrk: ;set track address give┆
0x0cd960…0cd980             6e 20 62 79 20 63 0d 0a 09 6c 78 69 09 68 2c 69 6f 74 0d 0a 09 6d 6f 76 09 6d 2c 63 0d 0a 09 72   ┆n by c   lxi h,iot   mov m,c   r┆
0x0cd980…0cd9a0             65 74 0d 0a 3b 0d 0a 73 65 74 73 65 63 3a 09 3b 73 65 74 20 73 65 63 74 6f 72 20 6e 75 6d 62 65   ┆et  ;  setsec: ;set sector numbe┆
0x0cd9a0…0cd9c0             72 20 67 69 76 65 6e 20 62 79 20 63 0d 0a 09 6c 78 69 09 68 2c 69 6f 73 0d 0a 09 6d 6f 76 09 6d   ┆r given by c   lxi h,ios   mov m┆
0x0cd9c0…0cd9e0             2c 63 0d 0a 09 72 65 74 0d 0a 73 65 63 74 72 61 6e 3a 0d 0a 09 09 3b 74 72 61 6e 73 6c 61 74 65   ┆,c   ret  sectran:    ;translate┆
0x0cd9e0…0cda00             20 73 65 63 74 6f 72 20 62 63 20 75 73 69 6e 67 20 74 61 62 6c 65 20 61 74 20 64 65 0d 0a 09 6d   ┆ sector bc using table at de   m┆
0x0cda00…0cda20 (54, 1, 11) 6e 64 20 6e 7a 20 69 66 20 32 2c 33 0d 0a 09 6d 76 69 09 61 2c 69 6f 70 62 20 61 6e 64 20 30 66   ┆nd nz if 2,3   mvi a,iopb and 0f┆
0x0cda20…0cda40             66 68 09 3b 6c 6f 77 20 61 64 64 72 65 73 73 20 66 6f 72 20 69 6f 70 62 0d 0a 09 6d 76 69 09 62   ┆fh ;low address for iopb   mvi b┆
0x0cda40…0cda60             2c 69 6f 70 62 20 73 68 72 20 38 09 3b 68 69 67 68 20 61 64 64 72 65 73 73 20 66 6f 72 20 69 6f   ┆,iopb shr 8 ;high address for io┆
0x0cda60…0cda80             70 62 0d 0a 09 6a 6e 7a 09 69 6f 64 72 31 09 3b 64 72 69 76 65 20 62 61 6e 6b 20 31 3f 0d 0a 09   ┆pb   jnz iodr1 ;drive bank 1?   ┆
0x0cda80…0cdaa0             6f 75 74 09 69 6c 6f 77 09 09 3b 6c 6f 77 20 61 64 64 72 65 73 73 20 74 6f 20 63 6f 6e 74 72 6f   ┆out ilow  ;low address to contro┆
0x0cdaa0…0cdac0             6c 6c 65 72 0d 0a 09 6d 6f 76 09 61 2c 62 0d 0a 09 6f 75 74 09 69 68 69 67 68 09 3b 68 69 67 68   ┆ller   mov a,b   out ihigh ;high┆
0x0cdac0…0cdae0             20 61 64 64 72 65 73 73 0d 0a 09 6a 6d 70 09 77 61 69 74 30 09 09 3b 74 6f 20 77 61 69 74 20 66   ┆ address   jmp wait0  ;to wait f┆
0x0cdae0…0cdb00             6f 72 20 63 6f 6d 70 6c 65 74 65 0d 0a 3b 0d 0a 69 6f 64 72 31 3a 09 3b 64 72 69 76 65 20 62 61   ┆or complete  ;  iodr1: ;drive ba┆
0x0cdb00…0cdb20             6e 6b 20 31 0d 0a 09 6f 75 74 09 69 6c 6f 77 2b 31 30 68 09 3b 38 38 20 66 6f 72 20 64 72 69 76   ┆nk 1   out ilow+10h ;88 for driv┆
0x0cdb20…0cdb40             65 20 62 61 6e 6b 20 31 30 0d 0a 09 6d 6f 76 09 61 2c 62 0d 0a 09 6f 75 74 09 69 68 69 67 68 2b   ┆e bank 10   mov a,b   out ihigh+┆
0x0cdb40…0cdb60             31 30 68 0d 0a 3b 0d 0a 77 61 69 74 30 3a 09 63 61 6c 6c 09 69 6e 73 74 61 74 09 09 3b 77 61 69   ┆10h  ;  wait0: call instat  ;wai┆
0x0cdb60…0cdb80             74 20 66 6f 72 20 63 6f 6d 70 6c 65 74 69 6f 6e 0d 0a 09 61 6e 69 09 69 6f 72 64 79 09 09 3b 72   ┆t for completion   ani iordy  ;r┆
0x0cdb80…0cdba0             65 61 64 79 3f 0d 0a 09 6a 7a 09 77 61 69 74 30 0d 0a 3b 0d 0a 3b 09 63 68 65 63 6b 20 69 6f 20   ┆eady?   jz wait0  ;  ; check io ┆
0x0cdba0…0cdbc0             63 6f 6d 70 6c 65 74 69 6f 6e 20 6f 6b 0d 0a 09 63 61 6c 6c 09 69 6e 74 79 70 65 09 09 3b 6d 75   ┆completion ok   call intype  ;mu┆
0x0cdbc0…0cdbe0             73 74 20 62 65 20 69 6f 20 63 6f 6d 70 6c 65 74 65 20 28 30 30 29 20 75 6e 6c 69 6e 6b 65 64 0d   ┆st be io complete (00) unlinked ┆
0x0cdbe0…0cdc00             0a 3b 09 30 30 20 75 6e 6c 69 6e 6b 65 64 20 69 2f 6f 20 63 6f 6d 70 6c 65 74 65 2c 20 20 20 20   ┆ ; 00 unlinked i/o complete,    ┆
0x0cdc00…0cdc20 (54, 1, 12) 09 72 74 79 70 65 0d 0a 09 72 65 74 0d 0a 69 6e 74 79 70 31 3a 09 69 6e 09 72 74 79 70 65 2b 31   ┆ rtype   ret  intyp1: in rtype+1┆
0x0cdc20…0cdc40             30 68 09 3b 37 38 20 66 6f 72 20 30 2c 31 20 20 38 38 20 66 6f 72 20 32 2c 33 0d 0a 09 72 65 74   ┆0h ;78 for 0,1  88 for 2,3   ret┆
0x0cdc40…0cdc60             0d 0a 3b 0d 0a 69 6e 62 79 74 65 3a 09 6c 64 61 09 64 62 61 6e 6b 0d 0a 09 6f 72 61 09 61 0d 0a   ┆  ;  inbyte: lda dbank   ora a  ┆
0x0cdc60…0cdc80             09 6a 6e 7a 09 69 6e 62 79 74 31 0d 0a 09 69 6e 09 72 62 79 74 65 0d 0a 09 72 65 74 0d 0a 69 6e   ┆ jnz inbyt1   in rbyte   ret  in┆
0x0cdc80…0cdca0             62 79 74 31 3a 09 69 6e 09 72 62 79 74 65 2b 31 30 68 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 69 6e 73   ┆byt1: in rbyte+10h   ret  ;  ins┆
0x0cdca0…0cdcc0             74 61 74 3a 09 6c 64 61 09 64 62 61 6e 6b 0d 0a 09 6f 72 61 09 61 0d 0a 09 6a 6e 7a 09 69 6e 73   ┆tat: lda dbank   ora a   jnz ins┆
0x0cdcc0…0cdce0             74 61 31 0d 0a 09 69 6e 09 64 73 74 61 74 0d 0a 09 72 65 74 0d 0a 69 6e 73 74 61 31 3a 09 69 6e   ┆ta1   in dstat   ret  insta1: in┆
0x0cdce0…0cdd00             09 64 73 74 61 74 2b 31 30 68 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 3b 0d 0a 3b 0d 0a 3b 09 64 61 74   ┆ dstat+10h   ret  ;  ;  ;  ; dat┆
0x0cdd00…0cdd20             61 20 61 72 65 61 73 20 28 6d 75 73 74 20 62 65 20 69 6e 20 72 61 6d 29 0d 0a 64 62 61 6e 6b 3a   ┆a areas (must be in ram)  dbank:┆
0x0cdd20…0cdd40             09 64 62 09 30 09 3b 64 69 73 6b 20 62 61 6e 6b 20 30 30 20 69 66 20 64 72 69 76 65 20 30 2c 31   ┆ db 0 ;disk bank 00 if drive 0,1┆
0x0cdd40…0cdd60             0d 0a 09 09 09 3b 09 20 20 20 31 30 20 69 66 20 64 72 69 76 65 20 32 2c 33 0d 0a 69 6f 70 62 3a   ┆     ;    10 if drive 2,3  iopb:┆
0x0cdd60…0cdd80             09 3b 69 6f 20 70 61 72 61 6d 65 74 65 72 20 62 6c 6f 63 6b 0d 0a 09 64 62 09 38 30 68 09 3b 6e   ┆ ;io parameter block   db 80h ;n┆
0x0cdd80…0cdda0             6f 72 6d 61 6c 20 69 2f 6f 20 6f 70 65 72 61 74 69 6f 6e 0d 0a 69 6f 66 3a 09 64 62 09 72 65 61   ┆ormal i/o operation  iof: db rea┆
0x0cdda0…0cddc0             64 66 09 3b 69 6f 20 66 75 6e 63 74 69 6f 6e 2c 20 69 6e 69 74 69 61 6c 20 72 65 61 64 0d 0a 69   ┆df ;io function, initial read  i┆
0x0cddc0…0cdde0             6f 6e 3a 09 64 62 09 31 09 3b 6e 75 6d 62 65 72 20 6f 66 20 73 65 63 74 6f 72 73 20 74 6f 20 72   ┆on: db 1 ;number of sectors to r┆
0x0cdde0…0cde00             65 61 64 0d 0a 69 6f 74 3a 09 64 62 09 6f 66 66 73 65 74 09 3b 74 72 61 63 6b 20 6e 75 6d 62 65   ┆ead  iot: db offset ;track numbe┆
0x0cde00…0cde20 (54, 1, 13) 20 35 0d 0a 09 69 66 09 6e 6f 74 20 74 65 73 74 0d 0a 09 73 74 61 09 37 2a 38 09 3b 6a 6d 70 20   ┆ 5   if not test   sta 7*8 ;jmp ┆
0x0cde20…0cde40             74 6f 20 6d 6f 6e 38 30 20 28 6d 61 79 20 68 61 76 65 20 62 65 65 6e 20 63 68 61 6e 67 65 64 20   ┆to mon80 (may have been changed ┆
0x0cde40…0cde60             62 79 20 64 64 74 29 0d 0a 09 6c 78 69 09 68 2c 6d 6f 6e 38 30 0d 0a 09 73 68 6c 64 09 37 2a 38   ┆by ddt)   lxi h,mon80   shld 7*8┆
0x0cde60…0cde80             2b 31 0d 0a 09 65 6e 64 69 66 0d 0a 3b 09 6c 65 61 76 65 20 69 6f 62 79 74 65 20 73 65 74 0d 0a   ┆+1   endif  ; leave iobyte set  ┆
0x0cde80…0cdea0             3b 09 70 72 65 76 69 6f 75 73 6c 79 20 73 65 6c 65 63 74 65 64 20 64 69 73 6b 20 77 61 73 20 62   ┆; previously selected disk was b┆
0x0cdea0…0cdec0             2c 20 73 65 6e 64 20 70 61 72 61 6d 65 74 65 72 20 74 6f 20 63 70 6d 0d 0a 09 6c 64 61 09 63 64   ┆, send parameter to cpm   lda cd┆
0x0cdec0…0cdee0             69 73 6b 09 3b 6c 61 73 74 20 6c 6f 67 67 65 64 20 64 69 73 6b 20 6e 75 6d 62 65 72 0d 0a 09 6d   ┆isk ;last logged disk number   m┆
0x0cdee0…0cdf00             6f 76 09 63 2c 61 09 3b 73 65 6e 64 20 74 6f 20 63 63 70 20 74 6f 20 6c 6f 67 20 69 74 20 69 6e   ┆ov c,a ;send to ccp to log it in┆
0x0cdf00…0cdf20             0d 0a 09 65 69 0d 0a 09 6a 6d 70 09 63 70 6d 62 0d 0a 3b 0d 0a 3b 09 65 72 72 6f 72 20 63 6f 6e   ┆   ei   jmp cpmb  ;  ; error con┆
0x0cdf20…0cdf40             64 69 74 69 6f 6e 20 6f 63 63 75 72 72 65 64 2c 20 70 72 69 6e 74 20 6d 65 73 73 61 67 65 20 61   ┆dition occurred, print message a┆
0x0cdf40…0cdf60             6e 64 20 72 65 74 72 79 0d 0a 62 6f 6f 74 65 72 72 3a 0d 0a 09 70 6f 70 09 62 09 3b 72 65 63 61   ┆nd retry  booterr:   pop b ;reca┆
0x0cdf60…0cdf80             6c 6c 20 63 6f 75 6e 74 73 0d 0a 09 64 63 72 09 63 0d 0a 09 6a 7a 09 62 6f 6f 74 65 72 30 0d 0a   ┆ll counts   dcr c   jz booter0  ┆
0x0cdf80…0cdfa0             3b 09 74 72 79 20 61 67 61 69 6e 0d 0a 09 70 75 73 68 09 62 0d 0a 09 6a 6d 70 09 77 62 6f 6f 74   ┆; try again   push b   jmp wboot┆
0x0cdfa0…0cdfc0             30 0d 0a 3b 0d 0a 62 6f 6f 74 65 72 30 3a 0d 0a 3b 09 6f 74 68 65 72 77 69 73 65 20 74 6f 6f 20   ┆0  ;  booter0:  ; otherwise too ┆
0x0cdfc0…0cdfe0             6d 61 6e 79 20 72 65 74 72 69 65 73 0d 0a 09 6c 78 69 09 68 2c 62 6f 6f 74 6d 73 67 0d 0a 09 63   ┆many retries   lxi h,bootmsg   c┆
0x0cdfe0…0ce000             61 6c 6c 09 70 72 6d 73 67 0d 0a 09 6a 6d 70 09 72 6d 6f 6e 38 30 09 3b 6d 64 73 20 68 61 72 64   ┆all prmsg   jmp rmon80 ;mds hard┆
0x0ce000…0ce020 (54, 1, 14) 76 69 09 62 2c 30 09 3b 64 6f 75 62 6c 65 20 70 72 65 63 69 73 69 6f 6e 20 73 65 63 74 6f 72 20   ┆vi b,0 ;double precision sector ┆
0x0ce020…0ce040             6e 75 6d 62 65 72 20 69 6e 20 42 43 0d 0a 09 78 63 68 67 09 09 3b 74 72 61 6e 73 6c 61 74 65 20   ┆number in BC   xchg  ;translate ┆
0x0ce040…0ce060             74 61 62 6c 65 20 61 64 64 72 65 73 73 20 74 6f 20 48 4c 0d 0a 09 64 61 64 09 62 09 3b 74 72 61   ┆table address to HL   dad b ;tra┆
0x0ce060…0ce080             6e 73 6c 61 74 65 28 73 65 63 74 6f 72 29 20 61 64 64 72 65 73 73 0d 0a 09 6d 6f 76 09 61 2c 6d   ┆nslate(sector) address   mov a,m┆
0x0ce080…0ce0a0             09 3b 74 72 61 6e 73 6c 61 74 65 64 20 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 20 74 6f 20 41 0d   ┆ ;translated sector number to A ┆
0x0ce0a0…0ce0c0             0a 09 73 74 61 09 69 6f 73 0d 0a 09 6d 6f 76 09 6c 2c 61 09 3b 72 65 74 75 72 6e 20 73 65 63 74   ┆  sta ios   mov l,a ;return sect┆
0x0ce0c0…0ce0e0             6f 72 20 6e 75 6d 62 65 72 20 69 6e 20 4c 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 73 65 74 64 6d 61 3a   ┆or number in L   ret  ;  setdma:┆
0x0ce0e0…0ce100             09 3b 73 65 74 20 64 6d 61 20 61 64 64 72 65 73 73 20 67 69 76 65 6e 20 62 79 20 72 65 67 73 20   ┆ ;set dma address given by regs ┆
0x0ce100…0ce120             62 2c 63 0d 0a 09 6d 6f 76 09 6c 2c 63 0d 0a 09 6d 6f 76 09 68 2c 62 0d 0a 09 73 68 6c 64 09 69   ┆b,c   mov l,c   mov h,b   shld i┆
0x0ce120…0ce140             6f 64 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 72 65 61 64 3a 09 3b 72 65 61 64 20 6e 65 78 74 20 64 69   ┆od   ret  ;  read: ;read next di┆
0x0ce140…0ce160             73 6b 20 72 65 63 6f 72 64 20 28 61 73 73 75 6d 69 6e 67 20 64 69 73 6b 2f 74 72 6b 2f 73 65 63   ┆sk record (assuming disk/trk/sec┆
0x0ce160…0ce180             2f 64 6d 61 20 73 65 74 29 0d 0a 09 6d 76 69 09 63 2c 72 65 61 64 66 09 3b 73 65 74 20 74 6f 20   ┆/dma set)   mvi c,readf ;set to ┆
0x0ce180…0ce1a0             72 65 61 64 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 63 61 6c 6c 09 73 65 74 66 75 6e 63 0d 0a 09 63   ┆read function   call setfunc   c┆
0x0ce1a0…0ce1c0             61 6c 6c 09 77 61 69 74 69 6f 09 3b 70 65 72 66 6f 72 6d 20 72 65 61 64 20 66 75 6e 63 74 69 6f   ┆all waitio ;perform read functio┆
0x0ce1c0…0ce1e0             6e 0d 0a 09 72 65 74 09 09 3b 6d 61 79 20 68 61 76 65 20 65 72 72 6f 72 20 73 65 74 20 69 6e 20   ┆n   ret  ;may have error set in ┆
0x0ce1e0…0ce200             72 65 67 2d 61 0d 0a 3b 0d 0a 3b 0d 0a 77 72 69 74 65 3a 09 3b 64 69 73 6b 20 77 72 69 74 65 20   ┆reg-a  ;  ;  write: ;disk write ┆
0x0ce200…0ce220 (54, 1, 15) 30 31 20 6c 69 6e 6b 65 64 20 69 2f 6f 20 63 6f 6d 70 6c 65 74 65 20 28 6e 6f 74 20 75 73 65 64   ┆01 linked i/o complete (not used┆
0x0ce220…0ce240             29 0d 0a 3b 09 31 30 20 64 69 73 6b 20 73 74 61 74 75 73 20 63 68 61 6e 67 65 64 20 20 20 20 20   ┆)  ; 10 disk status changed     ┆
0x0ce240…0ce260             20 20 31 31 20 28 6e 6f 74 20 75 73 65 64 29 0d 0a 09 63 70 69 09 31 30 62 09 09 3b 72 65 61 64   ┆  11 (not used)   cpi 10b  ;read┆
0x0ce260…0ce280             79 20 73 74 61 74 75 73 20 63 68 61 6e 67 65 3f 0d 0a 09 6a 7a 09 77 72 65 61 64 79 0d 0a 3b 0d   ┆y status change?   jz wready  ; ┆
0x0ce280…0ce2a0             0a 3b 09 6d 75 73 74 20 62 65 20 30 30 20 69 6e 20 74 68 65 20 61 63 63 75 6d 75 6c 61 74 6f 72   ┆ ; must be 00 in the accumulator┆
0x0ce2a0…0ce2c0             0d 0a 09 6f 72 61 09 61 0d 0a 09 6a 6e 7a 09 77 65 72 72 6f 72 09 09 3b 73 6f 6d 65 20 6f 74 68   ┆   ora a   jnz werror  ;some oth┆
0x0ce2c0…0ce2e0             65 72 20 63 6f 6e 64 69 74 69 6f 6e 2c 20 72 65 74 72 79 0d 0a 3b 0d 0a 3b 09 63 68 65 63 6b 20   ┆er condition, retry  ;  ; check ┆
0x0ce2e0…0ce300             69 2f 6f 20 65 72 72 6f 72 20 62 69 74 73 0d 0a 09 63 61 6c 6c 09 69 6e 62 79 74 65 0d 0a 09 72   ┆i/o error bits   call inbyte   r┆
0x0ce300…0ce320             61 6c 0d 0a 09 6a 63 09 77 72 65 61 64 79 09 09 3b 75 6e 69 74 20 6e 6f 74 20 72 65 61 64 79 0d   ┆al   jc wready  ;unit not ready ┆
0x0ce320…0ce340             0a 09 72 61 72 0d 0a 09 61 6e 69 09 31 31 31 31 31 31 31 30 62 09 3b 61 6e 79 20 6f 74 68 65 72   ┆  rar   ani 11111110b ;any other┆
0x0ce340…0ce360             20 65 72 72 6f 72 73 3f 20 20 28 64 65 6c 65 74 65 64 20 64 61 74 61 20 6f 6b 29 0d 0a 09 6a 6e   ┆ errors?  (deleted data ok)   jn┆
0x0ce360…0ce380             7a 09 77 65 72 72 6f 72 0d 0a 3b 0d 0a 3b 09 72 65 61 64 20 6f 72 20 77 72 69 74 65 20 69 73 20   ┆z werror  ;  ; read or write is ┆
0x0ce380…0ce3a0             6f 6b 2c 20 61 63 63 75 6d 75 6c 61 74 6f 72 20 63 6f 6e 74 61 69 6e 73 20 7a 65 72 6f 0d 0a 09   ┆ok, accumulator contains zero   ┆
0x0ce3a0…0ce3c0             72 65 74 0d 0a 3b 0d 0a 77 72 65 61 64 79 3a 09 3b 6e 6f 74 20 72 65 61 64 79 2c 20 74 72 65 61   ┆ret  ;  wready: ;not ready, trea┆
0x0ce3c0…0ce3e0             74 20 61 73 20 65 72 72 6f 72 20 66 6f 72 20 6e 6f 77 0d 0a 09 63 61 6c 6c 09 69 6e 62 79 74 65   ┆t as error for now   call inbyte┆
0x0ce3e0…0ce400             09 09 3b 63 6c 65 61 72 20 72 65 73 75 6c 74 20 62 79 74 65 0d 0a 09 6a 6d 70 09 74 72 79 63 6f   ┆  ;clear result byte   jmp tryco┆
0x0ce400…0ce420 (55, 0, 1)  72 0d 0a 69 6f 73 3a 09 64 62 09 31 09 3b 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 0d 0a 69 6f 64   ┆r  ios: db 1 ;sector number  iod┆
0x0ce420…0ce440             3a 09 64 77 09 62 75 66 66 09 3b 69 6f 20 61 64 64 72 65 73 73 0d 0a 3b 0d 0a 3b 0d 0a 3b 09 64   ┆: dw buff ;io address  ;  ;  ; d┆
0x0ce440…0ce460             65 66 69 6e 65 20 72 61 6d 20 61 72 65 61 73 20 66 6f 72 20 62 64 6f 73 20 6f 70 65 72 61 74 69   ┆efine ram areas for bdos operati┆
0x0ce460…0ce480             6f 6e 0d 0a 09 65 6e 64 65 66 0d 0a 09 65 6e 64 0d 0a 3b 09 4d 44 53 2d 38 30 30 20 49 2f 4f 20   ┆on   endef   end  ; MDS-800 I/O ┆
0x0ce480…0ce4a0             44 72 69 76 65 72 73 20 66 6f 72 20 43 50 2f 4d 20 32 2e 32 0d 0a 3b 09 28 66 6f 75 72 20 64 72   ┆Drivers for CP/M 2.2  ; (four dr┆
0x0ce4a0…0ce4c0             69 76 65 20 73 69 6e 67 6c 65 20 64 65 6e 73 69 74 79 20 76 65 72 73 69 6f 6e 29 0d 0a 3b 0d 0a   ┆ive single density version)  ;  ┆
0x0ce4c0…0ce4e0             3b 09 56 65 72 73 69 6f 6e 20 32 2e 32 20 46 65 62 72 75 61 72 79 2c 20 31 39 38 30 0d 0a 3b 0d   ┆; Version 2.2 February, 1980  ; ┆
0x0ce4e0…0ce500             0a 76 65 72 73 09 65 71 75 09 32 32 09 3b 76 65 72 73 69 6f 6e 20 32 2e 32 0d 0a 3b 0d 0a 3b 09   ┆ vers equ 22 ;version 2.2  ;  ; ┆
0x0ce500…0ce520             43 6f 70 79 72 69 67 68 74 20 28 63 29 20 31 39 38 30 0d 0a 3b 09 44 69 67 69 74 61 6c 20 52 65   ┆Copyright (c) 1980  ; Digital Re┆
0x0ce520…0ce540             73 65 61 72 63 68 0d 0a 3b 09 42 6f 78 20 35 37 39 2c 20 50 61 63 69 66 69 63 20 47 72 6f 76 65   ┆search  ; Box 579, Pacific Grove┆
0x0ce540…0ce560             0d 0a 3b 09 43 61 6c 69 66 6f 72 6e 69 61 2c 20 39 33 39 35 30 0d 0a 3b 0d 0a 3b 0d 0a 74 72 75   ┆  ; California, 93950  ;  ;  tru┆
0x0ce560…0ce580             65 09 65 71 75 09 30 66 66 66 66 68 09 3b 76 61 6c 75 65 20 6f 66 20 22 74 72 75 65 22 0d 0a 66   ┆e equ 0ffffh ;value of "true"  f┆
0x0ce580…0ce5a0             61 6c 73 65 09 65 71 75 09 6e 6f 74 20 74 72 75 65 09 3b 22 66 61 6c 73 65 22 0d 0a 74 65 73 74   ┆alse equ not true ;"false"  test┆
0x0ce5a0…0ce5c0             09 65 71 75 09 66 61 6c 73 65 09 3b 74 72 75 65 20 69 66 20 74 65 73 74 20 62 69 6f 73 0d 0a 3b   ┆ equ false ;true if test bios  ;┆
0x0ce5c0…0ce5e0             0d 0a 09 69 66 09 74 65 73 74 0d 0a 62 69 61 73 09 65 71 75 09 30 33 34 30 30 68 09 3b 62 61 73   ┆   if test  bias equ 03400h ;bas┆
0x0ce5e0…0ce600             65 20 6f 66 20 43 43 50 20 69 6e 20 74 65 73 74 20 73 79 73 74 65 6d 0d 0a 09 65 6e 64 69 66 0d   ┆e of CCP in test system   endif ┆
0x0ce600…0ce620 (55, 0, 2)  69 6e 65 73 0d 0a 09 6a 6d 70 09 62 6f 6f 74 0d 0a 77 62 6f 6f 74 65 3a 09 6a 6d 70 09 77 62 6f   ┆ines   jmp boot  wboote: jmp wbo┆
0x0ce620…0ce640             6f 74 0d 0a 09 6a 6d 70 09 63 6f 6e 73 74 0d 0a 09 6a 6d 70 09 63 6f 6e 69 6e 0d 0a 09 6a 6d 70   ┆ot   jmp const   jmp conin   jmp┆
0x0ce640…0ce660             09 63 6f 6e 6f 75 74 0d 0a 09 6a 6d 70 09 6c 69 73 74 0d 0a 09 6a 6d 70 09 70 75 6e 63 68 0d 0a   ┆ conout   jmp list   jmp punch  ┆
0x0ce660…0ce680             09 6a 6d 70 09 72 65 61 64 65 72 0d 0a 09 6a 6d 70 09 68 6f 6d 65 0d 0a 09 6a 6d 70 09 73 65 6c   ┆ jmp reader   jmp home   jmp sel┆
0x0ce680…0ce6a0             64 73 6b 0d 0a 09 6a 6d 70 09 73 65 74 74 72 6b 0d 0a 09 6a 6d 70 09 73 65 74 73 65 63 0d 0a 09   ┆dsk   jmp settrk   jmp setsec   ┆
0x0ce6a0…0ce6c0             6a 6d 70 09 73 65 74 64 6d 61 0d 0a 09 6a 6d 70 09 72 65 61 64 0d 0a 09 6a 6d 70 09 77 72 69 74   ┆jmp setdma   jmp read   jmp writ┆
0x0ce6c0…0ce6e0             65 0d 0a 09 6a 6d 70 09 6c 69 73 74 73 74 09 3b 6c 69 73 74 20 73 74 61 74 75 73 0d 0a 09 6a 6d   ┆e   jmp listst ;list status   jm┆
0x0ce6e0…0ce700             70 09 73 65 63 74 72 61 6e 0d 0a 3b 0d 0a 09 6d 61 63 6c 69 62 09 64 69 73 6b 64 65 66 09 3b 6c   ┆p sectran  ;   maclib diskdef ;l┆
0x0ce700…0ce720             6f 61 64 20 74 68 65 20 64 69 73 6b 20 64 65 66 69 6e 69 74 69 6f 6e 20 6c 69 62 72 61 72 79 0d   ┆oad the disk definition library ┆
0x0ce720…0ce740             0a 09 64 69 73 6b 73 09 34 09 3b 66 6f 75 72 20 64 69 73 6b 73 0d 0a 09 64 69 73 6b 64 65 66 09   ┆  disks 4 ;four disks   diskdef ┆
0x0ce740…0ce760             30 2c 31 2c 32 36 2c 36 2c 31 30 32 34 2c 32 34 33 2c 36 34 2c 36 34 2c 6f 66 66 73 65 74 0d 0a   ┆0,1,26,6,1024,243,64,64,offset  ┆
0x0ce760…0ce780             09 64 69 73 6b 64 65 66 09 31 2c 30 0d 0a 09 64 69 73 6b 64 65 66 09 32 2c 30 0d 0a 09 64 69 73   ┆ diskdef 1,0   diskdef 2,0   dis┆
0x0ce780…0ce7a0             6b 64 65 66 09 33 2c 30 0d 0a 3b 09 65 6e 64 65 66 20 6f 63 63 75 72 73 20 61 74 20 65 6e 64 20   ┆kdef 3,0  ; endef occurs at end ┆
0x0ce7a0…0ce7c0             6f 66 20 61 73 73 65 6d 62 6c 79 0d 0a 3b 0d 0a 3b 09 65 6e 64 20 6f 66 20 63 6f 6e 74 72 6f 6c   ┆of assembly  ;  ; end of control┆
0x0ce7c0…0ce7e0             6c 65 72 20 2d 20 69 6e 64 65 70 65 6e 64 65 6e 74 20 63 6f 64 65 2c 20 74 68 65 20 72 65 6d 61   ┆ler - independent code, the rema┆
0x0ce7e0…0ce800             69 6e 69 6e 67 20 73 75 62 72 6f 75 74 69 6e 65 73 0d 0a 3b 09 61 72 65 20 74 61 69 6c 6f 72 65   ┆ining subroutines  ; are tailore┆
0x0ce800…0ce820 (55, 0, 3)  0d 0a 09 64 62 09 63 72 2c 6c 66 2c 30 0d 0a 3b 0d 0a 62 6f 6f 74 3a 09 3b 70 72 69 6e 74 20 73   ┆   db cr,lf,0  ;  boot: ;print s┆
0x0ce820…0ce840             69 67 6e 6f 6e 20 6d 65 73 73 61 67 65 20 61 6e 64 20 67 6f 20 74 6f 20 63 63 70 0d 0a 3b 09 28   ┆ignon message and go to ccp  ; (┆
0x0ce840…0ce860             6e 6f 74 65 3a 20 6d 64 73 20 62 6f 6f 74 20 69 6e 69 74 69 61 6c 69 7a 65 64 20 69 6f 62 79 74   ┆note: mds boot initialized iobyt┆
0x0ce860…0ce880             65 20 61 74 20 30 30 30 33 68 29 0d 0a 09 6c 78 69 09 73 70 2c 62 75 66 66 2b 38 30 68 0d 0a 09   ┆e at 0003h)   lxi sp,buff+80h   ┆
0x0ce880…0ce8a0             6c 78 69 09 68 2c 73 69 67 6e 6f 6e 0d 0a 09 63 61 6c 6c 09 70 72 6d 73 67 09 3b 70 72 69 6e 74   ┆lxi h,signon   call prmsg ;print┆
0x0ce8a0…0ce8c0             20 6d 65 73 73 61 67 65 0d 0a 09 78 72 61 09 61 09 3b 63 6c 65 61 72 20 61 63 63 75 6d 75 6c 61   ┆ message   xra a ;clear accumula┆
0x0ce8c0…0ce8e0             74 6f 72 0d 0a 09 73 74 61 09 63 64 69 73 6b 09 3b 73 65 74 20 69 6e 69 74 69 61 6c 6c 79 20 74   ┆tor   sta cdisk ;set initially t┆
0x0ce8e0…0ce900             6f 20 64 69 73 6b 20 61 0d 0a 09 6a 6d 70 09 67 6f 63 70 6d 09 3b 67 6f 20 74 6f 20 63 70 2f 6d   ┆o disk a   jmp gocpm ;go to cp/m┆
0x0ce900…0ce920             0d 0a 3b 0d 0a 3b 0d 0a 77 62 6f 6f 74 3a 3b 09 6c 6f 61 64 65 72 20 6f 6e 20 74 72 61 63 6b 20   ┆  ;  ;  wboot:; loader on track ┆
0x0ce920…0ce940             30 2c 20 73 65 63 74 6f 72 20 31 2c 20 77 68 69 63 68 20 77 69 6c 6c 20 62 65 20 73 6b 69 70 70   ┆0, sector 1, which will be skipp┆
0x0ce940…0ce960             65 64 20 66 6f 72 20 77 61 72 6d 20 0d 0a 3b 09 72 65 61 64 20 63 70 2f 6d 20 66 72 6f 6d 20 64   ┆ed for warm   ; read cp/m from d┆
0x0ce960…0ce980             69 73 6b 20 2d 20 61 73 73 75 6d 69 6e 67 20 74 68 65 72 65 20 69 73 20 61 20 31 32 38 20 62 79   ┆isk - assuming there is a 128 by┆
0x0ce980…0ce9a0             74 65 20 63 6f 6c 64 20 73 74 61 72 74 0d 0a 3b 09 73 74 61 72 74 2e 0d 0a 3b 0d 0a 09 6c 78 69   ┆te cold start  ; start.  ;   lxi┆
0x0ce9a0…0ce9c0             09 73 70 2c 62 75 66 66 09 3b 75 73 69 6e 67 20 64 6d 61 20 2d 20 74 68 75 73 20 38 30 20 74 68   ┆ sp,buff ;using dma - thus 80 th┆
0x0ce9c0…0ce9e0             72 75 20 66 66 20 61 76 61 69 6c 61 62 6c 65 20 66 6f 72 20 73 74 61 63 6b 0d 0a 3b 0d 0a 09 6d   ┆ru ff available for stack  ;   m┆
0x0ce9e0…0cea00             76 69 09 63 2c 72 65 74 72 79 09 3b 6d 61 78 20 72 65 74 72 69 65 73 0d 0a 09 70 75 73 68 09 62   ┆vi c,retry ;max retries   push b┆
0x0cea00…0cea20 (55, 0, 4)  64 09 37 2a 38 2b 31 0d 0a 09 65 6e 64 69 66 0d 0a 3b 09 6c 65 61 76 65 20 69 6f 62 79 74 65 20   ┆d 7*8+1   endif  ; leave iobyte ┆
0x0cea20…0cea40             73 65 74 0d 0a 3b 09 70 72 65 76 69 6f 75 73 6c 79 20 73 65 6c 65 63 74 65 64 20 64 69 73 6b 20   ┆set  ; previously selected disk ┆
0x0cea40…0cea60             77 61 73 20 62 2c 20 73 65 6e 64 20 70 61 72 61 6d 65 74 65 72 20 74 6f 20 63 70 6d 0d 0a 09 6c   ┆was b, send parameter to cpm   l┆
0x0cea60…0cea80             64 61 09 63 64 69 73 6b 09 3b 6c 61 73 74 20 6c 6f 67 67 65 64 20 64 69 73 6b 20 6e 75 6d 62 65   ┆da cdisk ;last logged disk numbe┆
0x0cea80…0ceaa0             72 0d 0a 09 6d 6f 76 09 63 2c 61 09 3b 73 65 6e 64 20 74 6f 20 63 63 70 20 74 6f 20 6c 6f 67 20   ┆r   mov c,a ;send to ccp to log ┆
0x0ceaa0…0ceac0             69 74 20 69 6e 0d 0a 09 65 69 0d 0a 09 6a 6d 70 09 63 70 6d 62 0d 0a 3b 0d 0a 3b 09 65 72 72 6f   ┆it in   ei   jmp cpmb  ;  ; erro┆
0x0ceac0…0ceae0             72 20 63 6f 6e 64 69 74 69 6f 6e 20 6f 63 63 75 72 72 65 64 2c 20 70 72 69 6e 74 20 6d 65 73 73   ┆r condition occurred, print mess┆
0x0ceae0…0ceb00             61 67 65 20 61 6e 64 20 72 65 74 72 79 0d 0a 62 6f 6f 74 65 72 72 3a 0d 0a 09 70 6f 70 09 62 09   ┆age and retry  booterr:   pop b ┆
0x0ceb00…0ceb20             3b 72 65 63 61 6c 6c 20 63 6f 75 6e 74 73 0d 0a 09 64 63 72 09 63 0d 0a 09 6a 7a 09 62 6f 6f 74   ┆;recall counts   dcr c   jz boot┆
0x0ceb20…0ceb40             65 72 30 0d 0a 3b 09 74 72 79 20 61 67 61 69 6e 0d 0a 09 70 75 73 68 09 62 0d 0a 09 6a 6d 70 09   ┆er0  ; try again   push b   jmp ┆
0x0ceb40…0ceb60             77 62 6f 6f 74 30 0d 0a 3b 0d 0a 62 6f 6f 74 65 72 30 3a 0d 0a 3b 09 6f 74 68 65 72 77 69 73 65   ┆wboot0  ;  booter0:  ; otherwise┆
0x0ceb60…0ceb80             20 74 6f 6f 20 6d 61 6e 79 20 72 65 74 72 69 65 73 0d 0a 09 6c 78 69 09 68 2c 62 6f 6f 74 6d 73   ┆ too many retries   lxi h,bootms┆
0x0ceb80…0ceba0             67 0d 0a 09 63 61 6c 6c 09 70 72 6d 73 67 0d 0a 09 6a 6d 70 09 72 6d 6f 6e 38 30 09 3b 6d 64 73   ┆g   call prmsg   jmp rmon80 ;mds┆
0x0ceba0…0cebc0             20 68 61 72 64 77 61 72 65 20 6d 6f 6e 69 74 6f 72 0d 0a 3b 0d 0a 62 6f 6f 74 6d 73 67 3a 0d 0a   ┆ hardware monitor  ;  bootmsg:  ┆
0x0cebc0…0cebe0             09 64 62 09 27 3f 62 6f 6f 74 27 2c 30 0d 0a 3b 0d 0a 3b 0d 0a 63 6f 6e 73 74 3a 09 3b 63 6f 6e   ┆ db '?boot',0  ;  ;  const: ;con┆
0x0cebe0…0cec00             73 6f 6c 65 20 73 74 61 74 75 73 20 74 6f 20 72 65 67 2d 61 0d 0a 3b 09 28 65 78 61 63 74 6c 79   ┆sole status to reg-a  ; (exactly┆
0x0cec00…0cec20 (55, 0, 5)  0a 09 69 66 09 6e 6f 74 20 74 65 73 74 0d 0a 62 69 61 73 09 65 71 75 09 30 30 30 30 68 09 3b 67   ┆  if not test  bias equ 0000h ;g┆
0x0cec20…0cec40             65 6e 65 72 61 74 65 20 72 65 6c 6f 63 61 74 61 62 6c 65 20 63 70 2f 6d 20 73 79 73 74 65 6d 0d   ┆enerate relocatable cp/m system ┆
0x0cec40…0cec60             0a 09 65 6e 64 69 66 0d 0a 3b 0d 0a 70 61 74 63 68 09 65 71 75 09 31 36 30 30 68 0d 0a 3b 0d 0a   ┆  endif  ;  patch equ 1600h  ;  ┆
0x0cec60…0cec80             09 6f 72 67 09 70 61 74 63 68 0d 0a 63 70 6d 62 09 65 71 75 09 24 2d 70 61 74 63 68 09 3b 62 61   ┆ org patch  cpmb equ $-patch ;ba┆
0x0cec80…0ceca0             73 65 20 6f 66 20 63 70 6d 20 63 6f 6e 73 6f 6c 65 20 70 72 6f 63 65 73 73 6f 72 0d 0a 62 64 6f   ┆se of cpm console processor  bdo┆
0x0ceca0…0cecc0             73 09 65 71 75 09 38 30 36 68 2b 63 70 6d 62 09 3b 62 61 73 69 63 20 64 6f 73 20 28 72 65 73 69   ┆s equ 806h+cpmb ;basic dos (resi┆
0x0cecc0…0cece0             64 65 6e 74 20 70 6f 72 74 69 6f 6e 29 0d 0a 63 70 6d 6c 09 65 71 75 09 24 2d 63 70 6d 62 09 3b   ┆dent portion)  cpml equ $-cpmb ;┆
0x0cece0…0ced00             6c 65 6e 67 74 68 20 28 69 6e 20 62 79 74 65 73 29 20 6f 66 20 63 70 6d 20 73 79 73 74 65 6d 0d   ┆length (in bytes) of cpm system ┆
0x0ced00…0ced20             0a 6e 73 65 63 74 73 09 65 71 75 09 63 70 6d 6c 2f 31 32 38 09 3b 6e 75 6d 62 65 72 20 6f 66 20   ┆ nsects equ cpml/128 ;number of ┆
0x0ced20…0ced40             73 65 63 74 6f 72 73 20 74 6f 20 6c 6f 61 64 0d 0a 6f 66 66 73 65 74 09 65 71 75 09 32 09 3b 6e   ┆sectors to load  offset equ 2 ;n┆
0x0ced40…0ced60             75 6d 62 65 72 20 6f 66 20 64 69 73 6b 20 74 72 61 63 6b 73 20 75 73 65 64 20 62 79 20 63 70 2f   ┆umber of disk tracks used by cp/┆
0x0ced60…0ced80             6d 0d 0a 63 64 69 73 6b 09 65 71 75 09 30 30 30 34 68 09 3b 61 64 64 72 65 73 73 20 6f 66 20 6c   ┆m  cdisk equ 0004h ;address of l┆
0x0ced80…0ceda0             61 73 74 20 6c 6f 67 67 65 64 20 64 69 73 6b 20 6f 6e 20 77 61 72 6d 20 73 74 61 72 74 0d 0a 62   ┆ast logged disk on warm start  b┆
0x0ceda0…0cedc0             75 66 66 09 65 71 75 09 30 30 38 30 68 09 3b 64 65 66 61 75 6c 74 20 62 75 66 66 65 72 20 61 64   ┆uff equ 0080h ;default buffer ad┆
0x0cedc0…0cede0             64 72 65 73 73 0d 0a 72 65 74 72 79 09 65 71 75 09 31 30 09 3b 6d 61 78 20 72 65 74 72 69 65 73   ┆dress  retry equ 10 ;max retries┆
0x0cede0…0cee00             20 6f 6e 20 64 69 73 6b 20 69 2f 6f 20 62 65 66 6f 72 65 20 65 72 72 6f 72 0d 0a 3b 0d 0a 3b 09   ┆ on disk i/o before error  ;  ; ┆
0x0cee00…0cee20 (55, 0, 6)  64 20 74 6f 20 74 68 65 20 70 61 72 74 69 63 75 6c 61 72 20 6f 70 65 72 61 74 69 6e 67 20 65 6e   ┆d to the particular operating en┆
0x0cee20…0cee40             76 69 72 6f 6e 6d 65 6e 74 2c 20 61 6e 64 20 6d 75 73 74 0d 0a 3b 09 62 65 20 61 6c 74 65 72 65   ┆vironment, and must  ; be altere┆
0x0cee40…0cee60             64 20 66 6f 72 20 61 6e 79 20 73 79 73 74 65 6d 20 77 68 69 63 68 20 64 69 66 66 65 72 73 20 66   ┆d for any system which differs f┆
0x0cee60…0cee80             72 6f 6d 20 74 68 65 20 69 6e 74 65 6c 20 6d 64 73 2e 0d 0a 3b 0d 0a 3b 09 74 68 65 20 66 6f 6c   ┆rom the intel mds.  ;  ; the fol┆
0x0cee80…0ceea0             6c 6f 77 69 6e 67 20 63 6f 64 65 20 61 73 73 75 6d 65 73 20 74 68 65 20 6d 64 73 20 6d 6f 6e 69   ┆lowing code assumes the mds moni┆
0x0ceea0…0ceec0             74 6f 72 20 65 78 69 73 74 73 20 61 74 20 30 66 38 30 30 68 0d 0a 3b 09 61 6e 64 20 75 73 65 73   ┆tor exists at 0f800h  ; and uses┆
0x0ceec0…0ceee0             20 74 68 65 20 69 2f 6f 20 73 75 62 72 6f 75 74 69 6e 65 73 20 77 69 74 68 69 6e 20 74 68 65 20   ┆ the i/o subroutines within the ┆
0x0ceee0…0cef00             6d 6f 6e 69 74 6f 72 0d 0a 3b 0d 0a 3b 09 77 65 20 61 6c 73 6f 20 61 73 73 75 6d 65 20 74 68 65   ┆monitor  ;  ; we also assume the┆
0x0cef00…0cef20             20 6d 64 73 20 73 79 73 74 65 6d 20 68 61 73 20 66 6f 75 72 20 64 69 73 6b 20 64 72 69 76 65 73   ┆ mds system has four disk drives┆
0x0cef20…0cef40             0d 0a 72 65 76 72 74 09 65 71 75 09 30 66 64 68 09 3b 69 6e 74 65 72 72 75 70 74 20 72 65 76 65   ┆  revrt equ 0fdh ;interrupt reve┆
0x0cef40…0cef60             72 74 20 70 6f 72 74 0d 0a 69 6e 74 63 09 65 71 75 09 30 66 63 68 09 3b 69 6e 74 65 72 72 75 70   ┆rt port  intc equ 0fch ;interrup┆
0x0cef60…0cef80             74 20 6d 61 73 6b 20 70 6f 72 74 0d 0a 69 63 6f 6e 09 65 71 75 09 30 66 33 68 09 3b 69 6e 74 65   ┆t mask port  icon equ 0f3h ;inte┆
0x0cef80…0cefa0             72 72 75 70 74 20 63 6f 6e 74 72 6f 6c 20 70 6f 72 74 0d 0a 69 6e 74 65 09 65 71 75 09 30 31 31   ┆rrupt control port  inte equ 011┆
0x0cefa0…0cefc0             31 24 31 31 31 30 62 09 3b 65 6e 61 62 6c 65 20 72 73 74 20 30 28 77 61 72 6d 20 62 6f 6f 74 29   ┆1$1110b ;enable rst 0(warm boot)┆
0x0cefc0…0cefe0             2c 20 72 73 74 20 37 20 28 6d 6f 6e 69 74 6f 72 29 0d 0a 3b 0d 0a 3b 09 6d 64 73 20 6d 6f 6e 69   ┆, rst 7 (monitor)  ;  ; mds moni┆
0x0cefe0…0cf000             74 6f 72 20 65 71 75 61 74 65 73 0d 0a 6d 6f 6e 38 30 09 65 71 75 09 30 66 38 30 30 68 09 3b 6d   ┆tor equates  mon80 equ 0f800h ;m┆
0x0cf000…0cf020 (55, 0, 7)  0d 0a 77 62 6f 6f 74 30 3a 09 3b 65 6e 74 65 72 20 68 65 72 65 20 6f 6e 20 65 72 72 6f 72 20 72   ┆  wboot0: ;enter here on error r┆
0x0cf020…0cf040             65 74 72 69 65 73 0d 0a 09 6c 78 69 09 62 2c 63 70 6d 62 09 3b 73 65 74 20 64 6d 61 20 61 64 64   ┆etries   lxi b,cpmb ;set dma add┆
0x0cf040…0cf060             72 65 73 73 20 74 6f 20 73 74 61 72 74 20 6f 66 20 64 69 73 6b 20 73 79 73 74 65 6d 0d 0a 09 63   ┆ress to start of disk system   c┆
0x0cf060…0cf080             61 6c 6c 09 73 65 74 64 6d 61 0d 0a 09 6d 76 69 09 63 2c 30 09 3b 62 6f 6f 74 20 66 72 6f 6d 20   ┆all setdma   mvi c,0 ;boot from ┆
0x0cf080…0cf0a0             64 72 69 76 65 20 30 0d 0a 09 63 61 6c 6c 09 73 65 6c 64 73 6b 0d 0a 09 6d 76 69 09 63 2c 30 0d   ┆drive 0   call seldsk   mvi c,0 ┆
0x0cf0a0…0cf0c0             0a 09 63 61 6c 6c 09 73 65 74 74 72 6b 09 3b 73 74 61 72 74 20 77 69 74 68 20 74 72 61 63 6b 20   ┆  call settrk ;start with track ┆
0x0cf0c0…0cf0e0             30 0d 0a 09 6d 76 69 09 63 2c 32 09 3b 73 74 61 72 74 20 72 65 61 64 69 6e 67 20 73 65 63 74 6f   ┆0   mvi c,2 ;start reading secto┆
0x0cf0e0…0cf100             72 20 32 0d 0a 09 63 61 6c 6c 09 73 65 74 73 65 63 0d 0a 3b 0d 0a 3b 09 72 65 61 64 20 73 65 63   ┆r 2   call setsec  ;  ; read sec┆
0x0cf100…0cf120             74 6f 72 73 2c 20 63 6f 75 6e 74 20 6e 73 65 63 74 73 20 74 6f 20 7a 65 72 6f 0d 0a 09 70 6f 70   ┆tors, count nsects to zero   pop┆
0x0cf120…0cf140             09 62 09 3b 31 30 2d 65 72 72 6f 72 20 63 6f 75 6e 74 0d 0a 09 6d 76 69 09 62 2c 6e 73 65 63 74   ┆ b ;10-error count   mvi b,nsect┆
0x0cf140…0cf160             73 0d 0a 72 64 73 65 63 3a 09 3b 72 65 61 64 20 6e 65 78 74 20 73 65 63 74 6f 72 0d 0a 09 70 75   ┆s  rdsec: ;read next sector   pu┆
0x0cf160…0cf180             73 68 09 62 09 3b 73 61 76 65 20 73 65 63 74 6f 72 20 63 6f 75 6e 74 0d 0a 09 63 61 6c 6c 09 72   ┆sh b ;save sector count   call r┆
0x0cf180…0cf1a0             65 61 64 0d 0a 09 6a 6e 7a 09 62 6f 6f 74 65 72 72 09 3b 72 65 74 72 79 20 69 66 20 65 72 72 6f   ┆ead   jnz booterr ;retry if erro┆
0x0cf1a0…0cf1c0             72 73 20 6f 63 63 75 72 0d 0a 09 6c 68 6c 64 09 69 6f 64 09 3b 69 6e 63 72 65 6d 65 6e 74 20 64   ┆rs occur   lhld iod ;increment d┆
0x0cf1c0…0cf1e0             6d 61 20 61 64 64 72 65 73 73 0d 0a 09 6c 78 69 09 64 2c 31 32 38 09 3b 73 65 63 74 6f 72 20 73   ┆ma address   lxi d,128 ;sector s┆
0x0cf1e0…0cf200             69 7a 65 0d 0a 09 64 61 64 09 64 09 3b 69 6e 63 72 65 6d 65 6e 74 65 64 20 64 6d 61 20 61 64 64   ┆ize   dad d ;incremented dma add┆
0x0cf200…0cf220 (55, 0, 8)  20 74 68 65 20 73 61 6d 65 20 61 73 20 6d 64 73 20 63 61 6c 6c 29 0d 0a 09 6a 6d 70 09 63 73 74   ┆ the same as mds call)   jmp cst┆
0x0cf220…0cf240             73 0d 0a 3b 0d 0a 63 6f 6e 69 6e 3a 09 3b 63 6f 6e 73 6f 6c 65 20 63 68 61 72 61 63 74 65 72 20   ┆s  ;  conin: ;console character ┆
0x0cf240…0cf260             74 6f 20 72 65 67 2d 61 0d 0a 09 63 61 6c 6c 09 63 69 0d 0a 09 61 6e 69 09 37 66 68 09 3b 72 65   ┆to reg-a   call ci   ani 7fh ;re┆
0x0cf260…0cf280             6d 6f 76 65 20 70 61 72 69 74 79 20 62 69 74 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 63 6f 6e 6f 75 74   ┆move parity bit   ret  ;  conout┆
0x0cf280…0cf2a0             3a 09 3b 63 6f 6e 73 6f 6c 65 20 63 68 61 72 61 63 74 65 72 20 66 72 6f 6d 20 63 20 74 6f 20 63   ┆: ;console character from c to c┆
0x0cf2a0…0cf2c0             6f 6e 73 6f 6c 65 20 6f 75 74 0d 0a 09 6a 6d 70 09 63 6f 0d 0a 3b 0d 0a 6c 69 73 74 3a 09 3b 6c   ┆onsole out   jmp co  ;  list: ;l┆
0x0cf2c0…0cf2e0             69 73 74 20 64 65 76 69 63 65 20 6f 75 74 0d 0a 3b 09 28 65 78 61 63 74 6c 79 20 74 68 65 20 73   ┆ist device out  ; (exactly the s┆
0x0cf2e0…0cf300             61 6d 65 20 61 73 20 6d 64 73 20 63 61 6c 6c 29 0d 0a 09 6a 6d 70 09 6c 6f 0d 0a 3b 0d 0a 6c 69   ┆ame as mds call)   jmp lo  ;  li┆
0x0cf300…0cf320             73 74 73 74 3a 0d 0a 09 3b 72 65 74 75 72 6e 20 6c 69 73 74 20 73 74 61 74 75 73 0d 0a 09 78 72   ┆stst:   ;return list status   xr┆
0x0cf320…0cf340             61 09 61 0d 0a 09 72 65 74 09 09 3b 61 6c 77 61 79 73 20 6e 6f 74 20 72 65 61 64 79 0d 0a 3b 0d   ┆a a   ret  ;always not ready  ; ┆
0x0cf340…0cf360             0a 70 75 6e 63 68 3a 09 3b 70 75 6e 63 68 20 64 65 76 69 63 65 20 6f 75 74 0d 0a 3b 09 28 65 78   ┆ punch: ;punch device out  ; (ex┆
0x0cf360…0cf380             61 63 74 6c 79 20 74 68 65 20 73 61 6d 65 20 61 73 20 6d 64 73 20 63 61 6c 6c 29 0d 0a 09 6a 6d   ┆actly the same as mds call)   jm┆
0x0cf380…0cf3a0             70 09 70 6f 0d 0a 3b 0d 0a 72 65 61 64 65 72 3a 09 3b 72 65 61 64 65 72 20 63 68 61 72 61 63 74   ┆p po  ;  reader: ;reader charact┆
0x0cf3a0…0cf3c0             65 72 20 69 6e 20 74 6f 20 72 65 67 2d 61 0d 0a 3b 09 28 65 78 61 63 74 6c 79 20 74 68 65 20 73   ┆er in to reg-a  ; (exactly the s┆
0x0cf3c0…0cf3e0             61 6d 65 20 61 73 20 6d 64 73 20 63 61 6c 6c 29 0d 0a 09 6a 6d 70 09 72 69 0d 0a 3b 0d 0a 68 6f   ┆ame as mds call)   jmp ri  ;  ho┆
0x0cf3e0…0cf400             6d 65 3a 09 3b 6d 6f 76 65 20 74 6f 20 68 6f 6d 65 20 70 6f 73 69 74 69 6f 6e 0d 0a 3b 09 74 72   ┆me: ;move to home position  ; tr┆
0x0cf400…0cf420 (55, 0, 9)  70 65 72 66 6f 72 6d 20 66 6f 6c 6c 6f 77 69 6e 67 20 66 75 6e 63 74 69 6f 6e 73 0d 0a 3b 09 62   ┆perform following functions  ; b┆
0x0cf420…0cf440             6f 6f 74 09 63 6f 6c 64 20 73 74 61 72 74 0d 0a 3b 09 77 62 6f 6f 74 09 77 61 72 6d 20 73 74 61   ┆oot cold start  ; wboot warm sta┆
0x0cf440…0cf460             72 74 20 28 73 61 76 65 20 69 2f 6f 20 62 79 74 65 29 0d 0a 3b 09 28 62 6f 6f 74 20 61 6e 64 20   ┆rt (save i/o byte)  ; (boot and ┆
0x0cf460…0cf480             77 62 6f 6f 74 20 61 72 65 20 74 68 65 20 73 61 6d 65 20 66 6f 72 20 6d 64 73 29 0d 0a 3b 09 63   ┆wboot are the same for mds)  ; c┆
0x0cf480…0cf4a0             6f 6e 73 74 09 63 6f 6e 73 6f 6c 65 20 73 74 61 74 75 73 0d 0a 3b 09 09 72 65 67 2d 61 20 3d 20   ┆onst console status  ;  reg-a = ┆
0x0cf4a0…0cf4c0             30 30 20 69 66 20 6e 6f 20 63 68 61 72 61 63 74 65 72 20 72 65 61 64 79 0d 0a 3b 09 09 72 65 67   ┆00 if no character ready  ;  reg┆
0x0cf4c0…0cf4e0             2d 61 20 3d 20 66 66 20 69 66 20 63 68 61 72 61 63 74 65 72 20 72 65 61 64 79 0d 0a 3b 09 63 6f   ┆-a = ff if character ready  ; co┆
0x0cf4e0…0cf500             6e 69 6e 09 63 6f 6e 73 6f 6c 65 20 63 68 61 72 61 63 74 65 72 20 69 6e 20 28 72 65 73 75 6c 74   ┆nin console character in (result┆
0x0cf500…0cf520             20 69 6e 20 72 65 67 2d 61 29 0d 0a 3b 09 63 6f 6e 6f 75 74 09 63 6f 6e 73 6f 6c 65 20 63 68 61   ┆ in reg-a)  ; conout console cha┆
0x0cf520…0cf540             72 61 63 74 65 72 20 6f 75 74 20 28 63 68 61 72 20 69 6e 20 72 65 67 2d 63 29 0d 0a 3b 09 6c 69   ┆racter out (char in reg-c)  ; li┆
0x0cf540…0cf560             73 74 09 6c 69 73 74 20 6f 75 74 20 28 63 68 61 72 20 69 6e 20 72 65 67 2d 63 29 0d 0a 3b 09 70   ┆st list out (char in reg-c)  ; p┆
0x0cf560…0cf580             75 6e 63 68 09 70 75 6e 63 68 20 6f 75 74 20 28 63 68 61 72 20 69 6e 20 72 65 67 2d 63 29 0d 0a   ┆unch punch out (char in reg-c)  ┆
0x0cf580…0cf5a0             3b 09 72 65 61 64 65 72 09 70 61 70 65 72 20 74 61 70 65 20 72 65 61 64 65 72 20 69 6e 20 28 72   ┆; reader paper tape reader in (r┆
0x0cf5a0…0cf5c0             65 73 75 6c 74 20 74 6f 20 72 65 67 2d 61 29 0d 0a 3b 09 68 6f 6d 65 09 6d 6f 76 65 20 74 6f 20   ┆esult to reg-a)  ; home move to ┆
0x0cf5c0…0cf5e0             74 72 61 63 6b 20 30 30 0d 0a 3b 0d 0a 3b 09 28 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 61   ┆track 00  ;  ; (the following ca┆
0x0cf5e0…0cf600             6c 6c 73 20 73 65 74 2d 75 70 20 74 68 65 20 69 6f 20 70 61 72 61 6d 65 74 65 72 20 62 6c 6f 63   ┆lls set-up the io parameter bloc┆
0x0cf600…0cf620 (55, 0, 10) 64 73 20 6d 6f 6e 69 74 6f 72 0d 0a 72 6d 6f 6e 38 30 09 65 71 75 09 30 66 66 30 66 68 09 3b 72   ┆ds monitor  rmon80 equ 0ff0fh ;r┆
0x0cf620…0cf640             65 73 74 61 72 74 20 6d 6f 6e 38 30 20 28 62 6f 6f 74 20 65 72 72 6f 72 29 0d 0a 63 69 09 65 71   ┆estart mon80 (boot error)  ci eq┆
0x0cf640…0cf660             75 09 30 66 38 30 33 68 09 3b 63 6f 6e 73 6f 6c 65 20 63 68 61 72 61 63 74 65 72 20 74 6f 20 72   ┆u 0f803h ;console character to r┆
0x0cf660…0cf680             65 67 2d 61 0d 0a 72 69 09 65 71 75 09 30 66 38 30 36 68 09 3b 72 65 61 64 65 72 20 69 6e 20 74   ┆eg-a  ri equ 0f806h ;reader in t┆
0x0cf680…0cf6a0             6f 20 72 65 67 2d 61 0d 0a 63 6f 09 65 71 75 09 30 66 38 30 39 68 09 3b 63 6f 6e 73 6f 6c 65 20   ┆o reg-a  co equ 0f809h ;console ┆
0x0cf6a0…0cf6c0             63 68 61 72 20 66 72 6f 6d 20 63 20 74 6f 20 63 6f 6e 73 6f 6c 65 20 6f 75 74 0d 0a 70 6f 09 65   ┆char from c to console out  po e┆
0x0cf6c0…0cf6e0             71 75 09 30 66 38 30 63 68 09 3b 70 75 6e 63 68 20 63 68 61 72 20 66 72 6f 6d 20 63 20 74 6f 20   ┆qu 0f80ch ;punch char from c to ┆
0x0cf6e0…0cf700             70 75 6e 63 68 20 64 65 76 69 63 65 0d 0a 6c 6f 09 65 71 75 09 30 66 38 30 66 68 09 3b 6c 69 73   ┆punch device  lo equ 0f80fh ;lis┆
0x0cf700…0cf720             74 20 66 72 6f 6d 20 63 20 74 6f 20 6c 69 73 74 20 64 65 76 69 63 65 0d 0a 63 73 74 73 09 65 71   ┆t from c to list device  csts eq┆
0x0cf720…0cf740             75 09 30 66 38 31 32 68 09 3b 63 6f 6e 73 6f 6c 65 20 73 74 61 74 75 73 20 30 30 2f 66 66 20 74   ┆u 0f812h ;console status 00/ff t┆
0x0cf740…0cf760             6f 20 72 65 67 69 73 74 65 72 20 61 0d 0a 3b 0d 0a 3b 09 64 69 73 6b 20 70 6f 72 74 73 20 61 6e   ┆o register a  ;  ; disk ports an┆
0x0cf760…0cf780             64 20 63 6f 6d 6d 61 6e 64 73 0d 0a 62 61 73 65 09 65 71 75 09 37 38 68 09 3b 62 61 73 65 20 6f   ┆d commands  base equ 78h ;base o┆
0x0cf780…0cf7a0             66 20 64 69 73 6b 20 63 6f 6d 6d 61 6e 64 20 69 6f 20 70 6f 72 74 73 0d 0a 64 73 74 61 74 09 65   ┆f disk command io ports  dstat e┆
0x0cf7a0…0cf7c0             71 75 09 62 61 73 65 09 3b 64 69 73 6b 20 73 74 61 74 75 73 20 28 69 6e 70 75 74 29 0d 0a 72 74   ┆qu base ;disk status (input)  rt┆
0x0cf7c0…0cf7e0             79 70 65 09 65 71 75 09 62 61 73 65 2b 31 09 3b 72 65 73 75 6c 74 20 74 79 70 65 20 28 69 6e 70   ┆ype equ base+1 ;result type (inp┆
0x0cf7e0…0cf800             75 74 29 0d 0a 72 62 79 74 65 09 65 71 75 09 62 61 73 65 2b 33 09 3b 72 65 73 75 6c 74 20 62 79   ┆ut)  rbyte equ base+3 ;result by┆
0x0cf800…0cf820 (55, 0, 11) 72 65 73 73 20 69 6e 20 68 6c 0d 0a 09 6d 6f 76 09 62 2c 68 0d 0a 09 6d 6f 76 09 63 2c 6c 09 3b   ┆ress in hl   mov b,h   mov c,l ;┆
0x0cf820…0cf840             72 65 61 64 79 20 66 6f 72 20 63 61 6c 6c 20 74 6f 20 73 65 74 20 64 6d 61 0d 0a 09 63 61 6c 6c   ┆ready for call to set dma   call┆
0x0cf840…0cf860             09 73 65 74 64 6d 61 0d 0a 09 6c 64 61 09 69 6f 73 09 3b 73 65 63 74 6f 72 20 6e 75 6d 62 65 72   ┆ setdma   lda ios ;sector number┆
0x0cf860…0cf880             20 6a 75 73 74 20 72 65 61 64 0d 0a 09 63 70 69 09 32 36 09 3b 72 65 61 64 20 6c 61 73 74 20 73   ┆ just read   cpi 26 ;read last s┆
0x0cf880…0cf8a0             65 63 74 6f 72 3f 0d 0a 09 6a 63 09 72 64 31 0d 0a 3b 09 6d 75 73 74 20 62 65 20 73 65 63 74 6f   ┆ector?   jc rd1  ; must be secto┆
0x0cf8a0…0cf8c0             72 20 32 36 2c 20 7a 65 72 6f 20 61 6e 64 20 67 6f 20 74 6f 20 6e 65 78 74 20 74 72 61 63 6b 0d   ┆r 26, zero and go to next track ┆
0x0cf8c0…0cf8e0             0a 09 6c 64 61 09 69 6f 74 09 3b 67 65 74 20 74 72 61 63 6b 20 74 6f 20 72 65 67 69 73 74 65 72   ┆  lda iot ;get track to register┆
0x0cf8e0…0cf900             20 61 0d 0a 09 69 6e 72 09 61 0d 0a 09 6d 6f 76 09 63 2c 61 09 3b 72 65 61 64 79 20 66 6f 72 20   ┆ a   inr a   mov c,a ;ready for ┆
0x0cf900…0cf920             63 61 6c 6c 0d 0a 09 63 61 6c 6c 09 73 65 74 74 72 6b 0d 0a 09 78 72 61 09 61 09 3b 63 6c 65 61   ┆call   call settrk   xra a ;clea┆
0x0cf920…0cf940             72 20 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 0d 0a 72 64 31 3a 09 69 6e 72 09 61 09 3b 74 6f 20   ┆r sector number  rd1: inr a ;to ┆
0x0cf940…0cf960             6e 65 78 74 20 73 65 63 74 6f 72 0d 0a 09 6d 6f 76 09 63 2c 61 09 3b 72 65 61 64 79 20 66 6f 72   ┆next sector   mov c,a ;ready for┆
0x0cf960…0cf980             20 63 61 6c 6c 0d 0a 09 63 61 6c 6c 09 73 65 74 73 65 63 0d 0a 09 70 6f 70 09 62 09 3b 72 65 63   ┆ call   call setsec   pop b ;rec┆
0x0cf980…0cf9a0             61 6c 6c 20 73 65 63 74 6f 72 20 63 6f 75 6e 74 0d 0a 09 64 63 72 09 62 09 3b 64 6f 6e 65 3f 0d   ┆all sector count   dcr b ;done? ┆
0x0cf9a0…0cf9c0             0a 09 6a 6e 7a 09 72 64 73 65 63 0d 0a 3b 0d 0a 3b 09 64 6f 6e 65 20 77 69 74 68 20 74 68 65 20   ┆  jnz rdsec  ;  ; done with the ┆
0x0cf9c0…0cf9e0             6c 6f 61 64 2c 20 72 65 73 65 74 20 64 65 66 61 75 6c 74 20 62 75 66 66 65 72 20 61 64 64 72 65   ┆load, reset default buffer addre┆
0x0cf9e0…0cfa00             73 73 0d 0a 67 6f 63 70 6d 3a 09 3b 28 65 6e 74 65 72 20 68 65 72 65 20 66 72 6f 6d 20 63 6f 6c   ┆ss  gocpm: ;(enter here from col┆
0x0cfa00…0cfa20 (55, 0, 12) 65 61 74 20 61 73 20 74 72 61 63 6b 20 30 30 20 73 65 65 6b 0d 0a 09 6d 76 69 09 63 2c 30 0d 0a   ┆eat as track 00 seek   mvi c,0  ┆
0x0cfa20…0cfa40             09 6a 6d 70 09 73 65 74 74 72 6b 0d 0a 3b 0d 0a 73 65 6c 64 73 6b 3a 09 3b 73 65 6c 65 63 74 20   ┆ jmp settrk  ;  seldsk: ;select ┆
0x0cfa40…0cfa60             64 69 73 6b 20 67 69 76 65 6e 20 62 79 20 72 65 67 69 73 74 65 72 20 63 0d 0a 09 6c 78 69 09 68   ┆disk given by register c   lxi h┆
0x0cfa60…0cfa80             2c 30 30 30 30 68 09 3b 72 65 74 75 72 6e 20 30 30 30 30 20 69 66 20 65 72 72 6f 72 0d 0a 09 6d   ┆,0000h ;return 0000 if error   m┆
0x0cfa80…0cfaa0             6f 76 09 61 2c 63 0d 0a 09 63 70 69 09 6e 64 69 73 6b 73 09 3b 74 6f 6f 20 6c 61 72 67 65 3f 0d   ┆ov a,c   cpi ndisks ;too large? ┆
0x0cfaa0…0cfac0             0a 09 72 6e 63 09 09 3b 6c 65 61 76 65 20 48 4c 20 3d 20 30 30 30 30 0d 0a 3b 0d 0a 09 61 6e 69   ┆  rnc  ;leave HL = 0000  ;   ani┆
0x0cfac0…0cfae0             09 31 30 62 09 3b 30 30 20 30 30 20 66 6f 72 20 64 72 69 76 65 20 30 2c 31 20 61 6e 64 20 31 30   ┆ 10b ;00 00 for drive 0,1 and 10┆
0x0cfae0…0cfb00             20 31 30 20 66 6f 72 20 64 72 69 76 65 20 32 2c 33 0d 0a 09 73 74 61 09 64 62 61 6e 6b 09 3b 74   ┆ 10 for drive 2,3   sta dbank ;t┆
0x0cfb00…0cfb20             6f 20 73 65 6c 65 63 74 20 64 72 69 76 65 20 62 61 6e 6b 0d 0a 09 6d 6f 76 09 61 2c 63 09 3b 30   ┆o select drive bank   mov a,c ;0┆
0x0cfb20…0cfb40             30 2c 20 30 31 2c 20 31 30 2c 20 31 31 0d 0a 09 61 6e 69 09 31 62 09 3b 6d 64 73 20 68 61 73 20   ┆0, 01, 10, 11   ani 1b ;mds has ┆
0x0cfb40…0cfb60             30 2c 31 20 61 74 20 37 38 2c 20 32 2c 33 20 61 74 20 38 38 0d 0a 09 6f 72 61 09 61 09 3b 72 65   ┆0,1 at 78, 2,3 at 88   ora a ;re┆
0x0cfb60…0cfb80             73 75 6c 74 20 30 30 3f 0d 0a 09 6a 7a 09 73 65 74 64 72 69 76 65 0d 0a 09 6d 76 69 09 61 2c 30   ┆sult 00?   jz setdrive   mvi a,0┆
0x0cfb80…0cfba0             30 31 31 30 30 30 30 62 09 3b 73 65 6c 65 63 74 73 20 64 72 69 76 65 20 31 20 69 6e 20 62 61 6e   ┆0110000b ;selects drive 1 in ban┆
0x0cfba0…0cfbc0             6b 0d 0a 73 65 74 64 72 69 76 65 3a 0d 0a 09 6d 6f 76 09 62 2c 61 09 3b 73 61 76 65 20 74 68 65   ┆k  setdrive:   mov b,a ;save the┆
0x0cfbc0…0cfbe0             20 66 75 6e 63 74 69 6f 6e 0d 0a 09 6c 78 69 09 68 2c 69 6f 66 09 3b 69 6f 20 66 75 6e 63 74 69   ┆ function   lxi h,iof ;io functi┆
0x0cfbe0…0cfc00             6f 6e 0d 0a 09 6d 6f 76 09 61 2c 6d 0d 0a 09 61 6e 69 09 31 31 30 30 31 31 31 31 62 09 3b 6d 61   ┆on   mov a,m   ani 11001111b ;ma┆
0x0cfc00…0cfc20 (55, 0, 13) 6b 20 66 6f 72 20 74 68 65 0d 0a 3b 09 6d 64 73 2c 20 77 68 69 63 68 20 69 73 20 75 73 65 64 20   ┆k for the  ; mds, which is used ┆
0x0cfc20…0cfc40             74 6f 20 70 65 72 66 6f 72 6d 20 73 75 62 73 65 71 75 65 6e 74 20 72 65 61 64 73 20 61 6e 64 20   ┆to perform subsequent reads and ┆
0x0cfc40…0cfc60             77 72 69 74 65 73 29 0d 0a 3b 09 73 65 6c 64 73 6b 09 73 65 6c 65 63 74 20 64 69 73 6b 20 67 69   ┆writes)  ; seldsk select disk gi┆
0x0cfc60…0cfc80             76 65 6e 20 62 79 20 72 65 67 2d 63 20 28 30 2c 31 2c 32 2e 2e 2e 29 0d 0a 3b 09 73 65 74 74 72   ┆ven by reg-c (0,1,2...)  ; settr┆
0x0cfc80…0cfca0             6b 09 73 65 74 20 74 72 61 63 6b 20 61 64 64 72 65 73 73 20 28 30 2c 2e 2e 2e 37 36 29 20 66 6f   ┆k set track address (0,...76) fo┆
0x0cfca0…0cfcc0             72 20 73 75 62 73 65 71 75 65 6e 74 20 72 65 61 64 2f 77 72 69 74 65 0d 0a 3b 09 73 65 74 73 65   ┆r subsequent read/write  ; setse┆
0x0cfcc0…0cfce0             63 09 73 65 74 20 73 65 63 74 6f 72 20 61 64 64 72 65 73 73 20 28 31 2c 2e 2e 2e 2c 32 36 29 20   ┆c set sector address (1,...,26) ┆
0x0cfce0…0cfd00             66 6f 72 20 73 75 62 73 65 71 75 65 6e 74 20 72 65 61 64 2f 77 72 69 74 65 0d 0a 3b 09 73 65 74   ┆for subsequent read/write  ; set┆
0x0cfd00…0cfd20             64 6d 61 09 73 65 74 20 73 75 62 73 65 71 75 65 6e 74 20 64 6d 61 20 61 64 64 72 65 73 73 20 28   ┆dma set subsequent dma address (┆
0x0cfd20…0cfd40             69 6e 69 74 69 61 6c 6c 79 20 38 30 68 29 0d 0a 3b 0d 0a 3b 09 28 72 65 61 64 20 61 6e 64 20 77   ┆initially 80h)  ;  ; (read and w┆
0x0cfd40…0cfd60             72 69 74 65 20 61 73 73 75 6d 65 20 70 72 65 76 69 6f 75 73 20 63 61 6c 6c 73 20 74 6f 20 73 65   ┆rite assume previous calls to se┆
0x0cfd60…0cfd80             74 20 75 70 20 74 68 65 20 69 6f 20 70 61 72 61 6d 65 74 65 72 73 29 0d 0a 3b 09 72 65 61 64 09   ┆t up the io parameters)  ; read ┆
0x0cfd80…0cfda0             72 65 61 64 20 74 72 61 63 6b 2f 73 65 63 74 6f 72 20 74 6f 20 70 72 65 73 65 74 20 64 6d 61 20   ┆read track/sector to preset dma ┆
0x0cfda0…0cfdc0             61 64 64 72 65 73 73 0d 0a 3b 09 77 72 69 74 65 09 77 72 69 74 65 20 74 72 61 63 6b 2f 73 65 63   ┆address  ; write write track/sec┆
0x0cfdc0…0cfde0             74 6f 72 20 66 72 6f 6d 20 70 72 65 73 65 74 20 64 6d 61 20 61 64 64 72 65 73 73 0d 0a 3b 0d 0a   ┆tor from preset dma address  ;  ┆
0x0cfde0…0cfe00             3b 09 6a 75 6d 70 20 76 65 63 74 6f 72 20 66 6f 72 20 69 6e 64 69 76 69 75 61 6c 20 72 6f 75 74   ┆; jump vector for indiviual rout┆
0x0cfe00…0cfe20 (55, 0, 14) 74 65 20 28 69 6e 70 75 74 29 0d 0a 3b 0d 0a 69 6c 6f 77 09 65 71 75 09 62 61 73 65 2b 31 09 3b   ┆te (input)  ;  ilow equ base+1 ;┆
0x0cfe20…0cfe40             69 6f 70 62 20 6c 6f 77 20 61 64 64 72 65 73 73 20 28 6f 75 74 70 75 74 29 0d 0a 69 68 69 67 68   ┆iopb low address (output)  ihigh┆
0x0cfe40…0cfe60             09 65 71 75 09 62 61 73 65 2b 32 09 3b 69 6f 70 62 20 68 69 67 68 20 61 64 64 72 65 73 73 20 28   ┆ equ base+2 ;iopb high address (┆
0x0cfe60…0cfe80             6f 75 74 70 75 74 29 0d 0a 3b 0d 0a 72 65 61 64 66 09 65 71 75 09 34 68 09 3b 72 65 61 64 20 66   ┆output)  ;  readf equ 4h ;read f┆
0x0cfe80…0cfea0             75 6e 63 74 69 6f 6e 0d 0a 77 72 69 74 66 09 65 71 75 09 36 68 09 3b 77 72 69 74 65 20 66 75 6e   ┆unction  writf equ 6h ;write fun┆
0x0cfea0…0cfec0             63 74 69 6f 6e 0d 0a 72 65 63 61 6c 09 65 71 75 09 33 68 09 3b 72 65 63 61 6c 69 62 72 61 74 65   ┆ction  recal equ 3h ;recalibrate┆
0x0cfec0…0cfee0             20 64 72 69 76 65 0d 0a 69 6f 72 64 79 09 65 71 75 09 34 68 09 3b 69 2f 6f 20 66 69 6e 69 73 68   ┆ drive  iordy equ 4h ;i/o finish┆
0x0cfee0…0cff00             65 64 20 6d 61 73 6b 0d 0a 63 72 09 65 71 75 09 30 64 68 09 3b 63 61 72 72 69 61 67 65 20 72 65   ┆ed mask  cr equ 0dh ;carriage re┆
0x0cff00…0cff20             74 75 72 6e 0d 0a 6c 66 09 65 71 75 09 30 61 68 09 3b 6c 69 6e 65 20 66 65 65 64 0d 0a 3b 0d 0a   ┆turn  lf equ 0ah ;line feed  ;  ┆
0x0cff20…0cff40             73 69 67 6e 6f 6e 3a 09 3b 73 69 67 6e 6f 6e 20 6d 65 73 73 61 67 65 3a 20 78 78 6b 20 63 70 2f   ┆signon: ;signon message: xxk cp/┆
0x0cff40…0cff60             6d 20 76 65 72 73 20 79 2e 79 0d 0a 09 64 62 09 63 72 2c 6c 66 2c 6c 66 0d 0a 09 69 66 09 74 65   ┆m vers y.y   db cr,lf,lf   if te┆
0x0cff60…0cff80             73 74 0d 0a 09 64 62 09 27 33 32 27 09 3b 33 32 6b 20 65 78 61 6d 70 6c 65 20 62 69 6f 73 0d 0a   ┆st   db '32' ;32k example bios  ┆
0x0cff80…0cffa0             09 65 6e 64 69 66 0d 0a 09 69 66 09 6e 6f 74 20 74 65 73 74 0d 0a 09 64 62 09 27 30 30 27 09 3b   ┆ endif   if not test   db '00' ;┆
0x0cffa0…0cffc0             6d 65 6d 6f 72 79 20 73 69 7a 65 20 66 69 6c 6c 65 64 20 62 79 20 72 65 6c 6f 63 61 74 6f 72 0d   ┆memory size filled by relocator ┆
0x0cffc0…0cffe0             0a 09 65 6e 64 69 66 0d 0a 09 64 62 09 27 6b 20 43 50 2f 4d 20 76 65 72 73 20 27 0d 0a 09 64 62   ┆  endif   db 'k CP/M vers '   db┆
0x0cffe0…0d0000             09 76 65 72 73 2f 31 30 2b 27 30 27 2c 27 2e 27 2c 76 65 72 73 20 6d 6f 64 20 31 30 2b 27 30 27   ┆ vers/10+'0','.',vers mod 10+'0'┆
0x0d0000…0d0020 (55, 0, 15) 64 20 73 74 61 72 74 20 62 6f 6f 74 29 0d 0a 3b 09 65 6e 61 62 6c 65 20 72 73 74 30 20 61 6e 64   ┆d start boot)  ; enable rst0 and┆
0x0d0020…0d0040             20 72 73 74 37 0d 0a 09 64 69 0d 0a 09 6d 76 69 09 61 2c 31 32 68 09 3b 69 6e 69 74 69 61 6c 69   ┆ rst7   di   mvi a,12h ;initiali┆
0x0d0040…0d0060             7a 65 20 63 6f 6d 6d 61 6e 64 0d 0a 09 6f 75 74 09 72 65 76 72 74 0d 0a 09 78 72 61 09 61 0d 0a   ┆ze command   out revrt   xra a  ┆
0x0d0060…0d0080             09 6f 75 74 09 69 6e 74 63 09 3b 63 6c 65 61 72 65 64 0d 0a 09 6d 76 69 09 61 2c 69 6e 74 65 09   ┆ out intc ;cleared   mvi a,inte ┆
0x0d0080…0d00a0             3b 72 73 74 30 20 61 6e 64 20 72 73 74 37 20 62 69 74 73 20 6f 6e 0d 0a 09 6f 75 74 09 69 6e 74   ┆;rst0 and rst7 bits on   out int┆
0x0d00a0…0d00c0             63 0d 0a 09 78 72 61 09 61 0d 0a 09 6f 75 74 09 69 63 6f 6e 09 3b 69 6e 74 65 72 72 75 70 74 20   ┆c   xra a   out icon ;interrupt ┆
0x0d00c0…0d00e0             63 6f 6e 74 72 6f 6c 0d 0a 3b 0d 0a 3b 09 73 65 74 20 64 65 66 61 75 6c 74 20 62 75 66 66 65 72   ┆control  ;  ; set default buffer┆
0x0d00e0…0d0100             20 61 64 64 72 65 73 73 20 74 6f 20 38 30 68 0d 0a 09 6c 78 69 09 62 2c 62 75 66 66 0d 0a 09 63   ┆ address to 80h   lxi b,buff   c┆
0x0d0100…0d0120             61 6c 6c 09 73 65 74 64 6d 61 0d 0a 3b 0d 0a 3b 09 72 65 73 65 74 20 6d 6f 6e 69 74 6f 72 20 65   ┆all setdma  ;  ; reset monitor e┆
0x0d0120…0d0140             6e 74 72 79 20 70 6f 69 6e 74 73 0d 0a 09 6d 76 69 09 61 2c 6a 6d 70 0d 0a 09 73 74 61 09 30 0d   ┆ntry points   mvi a,jmp   sta 0 ┆
0x0d0140…0d0160             0a 09 6c 78 69 09 68 2c 77 62 6f 6f 74 65 0d 0a 09 73 68 6c 64 09 31 09 3b 6a 6d 70 20 77 62 6f   ┆  lxi h,wboote   shld 1 ;jmp wbo┆
0x0d0160…0d0180             6f 74 20 61 74 20 6c 6f 63 61 74 69 6f 6e 20 30 30 0d 0a 09 73 74 61 09 35 0d 0a 09 6c 78 69 09   ┆ot at location 00   sta 5   lxi ┆
0x0d0180…0d01a0             68 2c 62 64 6f 73 0d 0a 09 73 68 6c 64 09 36 09 3b 6a 6d 70 20 62 64 6f 73 20 61 74 20 6c 6f 63   ┆h,bdos   shld 6 ;jmp bdos at loc┆
0x0d01a0…0d01c0             61 74 69 6f 6e 20 35 0d 0a 09 69 66 09 6e 6f 74 20 74 65 73 74 0d 0a 09 73 74 61 09 37 2a 38 09   ┆ation 5   if not test   sta 7*8 ┆
0x0d01c0…0d01e0             3b 6a 6d 70 20 74 6f 20 6d 6f 6e 38 30 20 28 6d 61 79 20 68 61 76 65 20 62 65 65 6e 20 63 68 61   ┆;jmp to mon80 (may have been cha┆
0x0d01e0…0d0200             6e 67 65 64 20 62 79 20 64 64 74 29 0d 0a 09 6c 78 69 09 68 2c 6d 6f 6e 38 30 0d 0a 09 73 68 6c   ┆nged by ddt)   lxi h,mon80   shl┆
0x0d0200…0d0220 (55, 1, 1)  73 6b 20 6f 75 74 20 64 69 73 6b 20 6e 75 6d 62 65 72 0d 0a 09 6f 72 61 09 62 09 3b 6d 61 73 6b   ┆sk out disk number   ora b ;mask┆
0x0d0220…0d0240             20 69 6e 20 6e 65 77 20 64 69 73 6b 20 6e 75 6d 62 65 72 0d 0a 09 6d 6f 76 09 6d 2c 61 09 3b 73   ┆ in new disk number   mov m,a ;s┆
0x0d0240…0d0260             61 76 65 20 69 74 20 69 6e 20 69 6f 70 62 0d 0a 09 6d 6f 76 09 6c 2c 63 0d 0a 09 6d 76 69 09 68   ┆ave it in iopb   mov l,c   mvi h┆
0x0d0260…0d0280             2c 30 09 3b 48 4c 3d 64 69 73 6b 20 6e 75 6d 62 65 72 0d 0a 09 64 61 64 09 68 09 3b 2a 32 0d 0a   ┆,0 ;HL=disk number   dad h ;*2  ┆
0x0d0280…0d02a0             09 64 61 64 09 68 09 3b 2a 34 0d 0a 09 64 61 64 09 68 09 3b 2a 38 0d 0a 09 64 61 64 09 68 09 3b   ┆ dad h ;*4   dad h ;*8   dad h ;┆
0x0d02a0…0d02c0             2a 31 36 0d 0a 09 6c 78 69 09 64 2c 64 70 62 61 73 65 0d 0a 09 64 61 64 09 64 09 3b 48 4c 3d 64   ┆*16   lxi d,dpbase   dad d ;HL=d┆
0x0d02c0…0d02e0             69 73 6b 20 68 65 61 64 65 72 20 74 61 62 6c 65 20 61 64 64 72 65 73 73 0d 0a 09 72 65 74 0d 0a   ┆isk header table address   ret  ┆
0x0d02e0…0d0300             3b 0d 0a 3b 0d 0a 73 65 74 74 72 6b 3a 09 3b 73 65 74 20 74 72 61 63 6b 20 61 64 64 72 65 73 73   ┆;  ;  settrk: ;set track address┆
0x0d0300…0d0320             20 67 69 76 65 6e 20 62 79 20 63 0d 0a 09 6c 78 69 09 68 2c 69 6f 74 0d 0a 09 6d 6f 76 09 6d 2c   ┆ given by c   lxi h,iot   mov m,┆
0x0d0320…0d0340             63 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 73 65 74 73 65 63 3a 09 3b 73 65 74 20 73 65 63 74 6f 72 20   ┆c   ret  ;  setsec: ;set sector ┆
0x0d0340…0d0360             6e 75 6d 62 65 72 20 67 69 76 65 6e 20 62 79 20 63 0d 0a 09 6c 78 69 09 68 2c 69 6f 73 0d 0a 09   ┆number given by c   lxi h,ios   ┆
0x0d0360…0d0380             6d 6f 76 09 6d 2c 63 0d 0a 09 72 65 74 0d 0a 73 65 63 74 72 61 6e 3a 0d 0a 09 09 3b 74 72 61 6e   ┆mov m,c   ret  sectran:    ;tran┆
0x0d0380…0d03a0             73 6c 61 74 65 20 73 65 63 74 6f 72 20 62 63 20 75 73 69 6e 67 20 74 61 62 6c 65 20 61 74 20 64   ┆slate sector bc using table at d┆
0x0d03a0…0d03c0             65 0d 0a 09 6d 76 69 09 62 2c 30 09 3b 64 6f 75 62 6c 65 20 70 72 65 63 69 73 69 6f 6e 20 73 65   ┆e   mvi b,0 ;double precision se┆
0x0d03c0…0d03e0             63 74 6f 72 20 6e 75 6d 62 65 72 20 69 6e 20 42 43 0d 0a 09 78 63 68 67 09 09 3b 74 72 61 6e 73   ┆ctor number in BC   xchg  ;trans┆
0x0d03e0…0d0400             6c 61 74 65 20 74 61 62 6c 65 20 61 64 64 72 65 73 73 20 74 6f 20 48 4c 0d 0a 09 64 61 64 09 62   ┆late table address to HL   dad b┆
0x0d0400…0d0420 (55, 1, 2)  6f 72 20 69 6f 70 62 0d 0a 09 6a 6e 7a 09 69 6f 64 72 31 09 3b 64 72 69 76 65 20 62 61 6e 6b 20   ┆or iopb   jnz iodr1 ;drive bank ┆
0x0d0420…0d0440             31 3f 0d 0a 09 6f 75 74 09 69 6c 6f 77 09 09 3b 6c 6f 77 20 61 64 64 72 65 73 73 20 74 6f 20 63   ┆1?   out ilow  ;low address to c┆
0x0d0440…0d0460             6f 6e 74 72 6f 6c 6c 65 72 0d 0a 09 6d 6f 76 09 61 2c 62 0d 0a 09 6f 75 74 09 69 68 69 67 68 09   ┆ontroller   mov a,b   out ihigh ┆
0x0d0460…0d0480             3b 68 69 67 68 20 61 64 64 72 65 73 73 0d 0a 09 6a 6d 70 09 77 61 69 74 30 09 09 3b 74 6f 20 77   ┆;high address   jmp wait0  ;to w┆
0x0d0480…0d04a0             61 69 74 20 66 6f 72 20 63 6f 6d 70 6c 65 74 65 0d 0a 3b 0d 0a 69 6f 64 72 31 3a 09 3b 64 72 69   ┆ait for complete  ;  iodr1: ;dri┆
0x0d04a0…0d04c0             76 65 20 62 61 6e 6b 20 31 0d 0a 09 6f 75 74 09 69 6c 6f 77 2b 31 30 68 09 3b 38 38 20 66 6f 72   ┆ve bank 1   out ilow+10h ;88 for┆
0x0d04c0…0d04e0             20 64 72 69 76 65 20 62 61 6e 6b 20 31 30 0d 0a 09 6d 6f 76 09 61 2c 62 0d 0a 09 6f 75 74 09 69   ┆ drive bank 10   mov a,b   out i┆
0x0d04e0…0d0500             68 69 67 68 2b 31 30 68 0d 0a 3b 0d 0a 77 61 69 74 30 3a 09 63 61 6c 6c 09 69 6e 73 74 61 74 09   ┆high+10h  ;  wait0: call instat ┆
0x0d0500…0d0520             09 3b 77 61 69 74 20 66 6f 72 20 63 6f 6d 70 6c 65 74 69 6f 6e 0d 0a 09 61 6e 69 09 69 6f 72 64   ┆ ;wait for completion   ani iord┆
0x0d0520…0d0540             79 09 09 3b 72 65 61 64 79 3f 0d 0a 09 6a 7a 09 77 61 69 74 30 0d 0a 3b 0d 0a 3b 09 63 68 65 63   ┆y  ;ready?   jz wait0  ;  ; chec┆
0x0d0540…0d0560             6b 20 69 6f 20 63 6f 6d 70 6c 65 74 69 6f 6e 20 6f 6b 0d 0a 09 63 61 6c 6c 09 69 6e 74 79 70 65   ┆k io completion ok   call intype┆
0x0d0560…0d0580             09 09 3b 6d 75 73 74 20 62 65 20 69 6f 20 63 6f 6d 70 6c 65 74 65 20 28 30 30 29 20 75 6e 6c 69   ┆  ;must be io complete (00) unli┆
0x0d0580…0d05a0             6e 6b 65 64 0d 0a 3b 09 30 30 20 75 6e 6c 69 6e 6b 65 64 20 69 2f 6f 20 63 6f 6d 70 6c 65 74 65   ┆nked  ; 00 unlinked i/o complete┆
0x0d05a0…0d05c0             2c 20 20 20 20 30 31 20 6c 69 6e 6b 65 64 20 69 2f 6f 20 63 6f 6d 70 6c 65 74 65 20 28 6e 6f 74   ┆,    01 linked i/o complete (not┆
0x0d05c0…0d05e0             20 75 73 65 64 29 0d 0a 3b 09 31 30 20 64 69 73 6b 20 73 74 61 74 75 73 20 63 68 61 6e 67 65 64   ┆ used)  ; 10 disk status changed┆
0x0d05e0…0d0600             20 20 20 20 20 20 20 31 31 20 28 6e 6f 74 20 75 73 65 64 29 0d 0a 09 63 70 69 09 31 30 62 09 09   ┆       11 (not used)   cpi 10b  ┆
0x0d0600…0d0620 (55, 1, 3)  61 09 61 0d 0a 09 6a 6e 7a 09 69 6e 62 79 74 31 0d 0a 09 69 6e 09 72 62 79 74 65 0d 0a 09 72 65   ┆a a   jnz inbyt1   in rbyte   re┆
0x0d0620…0d0640             74 0d 0a 69 6e 62 79 74 31 3a 09 69 6e 09 72 62 79 74 65 2b 31 30 68 0d 0a 09 72 65 74 0d 0a 3b   ┆t  inbyt1: in rbyte+10h   ret  ;┆
0x0d0640…0d0660             0d 0a 69 6e 73 74 61 74 3a 09 6c 64 61 09 64 62 61 6e 6b 0d 0a 09 6f 72 61 09 61 0d 0a 09 6a 6e   ┆  instat: lda dbank   ora a   jn┆
0x0d0660…0d0680             7a 09 69 6e 73 74 61 31 0d 0a 09 69 6e 09 64 73 74 61 74 0d 0a 09 72 65 74 0d 0a 69 6e 73 74 61   ┆z insta1   in dstat   ret  insta┆
0x0d0680…0d06a0             31 3a 09 69 6e 09 64 73 74 61 74 2b 31 30 68 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 3b 0d 0a 3b 0d 0a   ┆1: in dstat+10h   ret  ;  ;  ;  ┆
0x0d06a0…0d06c0             3b 09 64 61 74 61 20 61 72 65 61 73 20 28 6d 75 73 74 20 62 65 20 69 6e 20 72 61 6d 29 0d 0a 64   ┆; data areas (must be in ram)  d┆
0x0d06c0…0d06e0             62 61 6e 6b 3a 09 64 62 09 30 09 3b 64 69 73 6b 20 62 61 6e 6b 20 30 30 20 69 66 20 64 72 69 76   ┆bank: db 0 ;disk bank 00 if driv┆
0x0d06e0…0d0700             65 20 30 2c 31 0d 0a 09 09 09 3b 09 20 20 20 31 30 20 69 66 20 64 72 69 76 65 20 32 2c 33 0d 0a   ┆e 0,1     ;    10 if drive 2,3  ┆
0x0d0700…0d0720             69 6f 70 62 3a 09 3b 69 6f 20 70 61 72 61 6d 65 74 65 72 20 62 6c 6f 63 6b 0d 0a 09 64 62 09 38   ┆iopb: ;io parameter block   db 8┆
0x0d0720…0d0740             30 68 09 3b 6e 6f 72 6d 61 6c 20 69 2f 6f 20 6f 70 65 72 61 74 69 6f 6e 0d 0a 69 6f 66 3a 09 64   ┆0h ;normal i/o operation  iof: d┆
0x0d0740…0d0760             62 09 72 65 61 64 66 09 3b 69 6f 20 66 75 6e 63 74 69 6f 6e 2c 20 69 6e 69 74 69 61 6c 20 72 65   ┆b readf ;io function, initial re┆
0x0d0760…0d0780             61 64 0d 0a 69 6f 6e 3a 09 64 62 09 31 09 3b 6e 75 6d 62 65 72 20 6f 66 20 73 65 63 74 6f 72 73   ┆ad  ion: db 1 ;number of sectors┆
0x0d0780…0d07a0             20 74 6f 20 72 65 61 64 0d 0a 69 6f 74 3a 09 64 62 09 6f 66 66 73 65 74 09 3b 74 72 61 63 6b 20   ┆ to read  iot: db offset ;track ┆
0x0d07a0…0d07c0             6e 75 6d 62 65 72 0d 0a 69 6f 73 3a 09 64 62 09 31 09 3b 73 65 63 74 6f 72 20 6e 75 6d 62 65 72   ┆number  ios: db 1 ;sector number┆
0x0d07c0…0d07e0             0d 0a 69 6f 64 3a 09 64 77 09 62 75 66 66 09 3b 69 6f 20 61 64 64 72 65 73 73 0d 0a 3b 0d 0a 3b   ┆  iod: dw buff ;io address  ;  ;┆
0x0d07e0…0d0800             0d 0a 3b 09 64 65 66 69 6e 65 20 72 61 6d 20 61 72 65 61 73 20 66 6f 72 20 62 64 6f 73 20 6f 70   ┆  ; define ram areas for bdos op┆
0x0d0800…0d0820 (55, 1, 4)  73 6b 20 67 69 76 65 6e 20 62 79 20 72 65 67 2d 63 20 28 30 2c 31 2c 32 2e 2e 2e 29 0d 0a 3b 09   ┆sk given by reg-c (0,1,2...)  ; ┆
0x0d0820…0d0840             73 65 74 74 72 6b 09 73 65 74 20 74 72 61 63 6b 20 61 64 64 72 65 73 73 20 28 30 2c 2e 2e 2e 37   ┆settrk set track address (0,...7┆
0x0d0840…0d0860             36 29 20 66 6f 72 20 73 75 62 73 65 71 75 65 6e 74 20 72 65 61 64 2f 77 72 69 74 65 0d 0a 3b 09   ┆6) for subsequent read/write  ; ┆
0x0d0860…0d0880             73 65 74 73 65 63 09 73 65 74 20 73 65 63 74 6f 72 20 61 64 64 72 65 73 73 20 28 31 2c 2e 2e 2e   ┆setsec set sector address (1,...┆
0x0d0880…0d08a0             2c 32 36 29 20 66 6f 72 20 73 75 62 73 65 71 75 65 6e 74 20 72 65 61 64 2f 77 72 69 74 65 0d 0a   ┆,26) for subsequent read/write  ┆
0x0d08a0…0d08c0             3b 09 73 65 74 64 6d 61 09 73 65 74 20 73 75 62 73 65 71 75 65 6e 74 20 64 6d 61 20 61 64 64 72   ┆; setdma set subsequent dma addr┆
0x0d08c0…0d08e0             65 73 73 20 28 69 6e 69 74 69 61 6c 6c 79 20 38 30 68 29 0d 0a 3b 0d 0a 3b 09 28 72 65 61 64 20   ┆ess (initially 80h)  ;  ; (read ┆
0x0d08e0…0d0900             61 6e 64 20 77 72 69 74 65 20 61 73 73 75 6d 65 20 70 72 65 76 69 6f 75 73 20 63 61 6c 6c 73 20   ┆and write assume previous calls ┆
0x0d0900…0d0920             74 6f 20 73 65 74 20 75 70 20 74 68 65 20 69 6f 20 70 61 72 61 6d 65 74 65 72 73 29 0d 0a 3b 09   ┆to set up the io parameters)  ; ┆
0x0d0920…0d0940             72 65 61 64 09 72 65 61 64 20 74 72 61 63 6b 2f 73 65 63 74 6f 72 20 74 6f 20 70 72 65 73 65 74   ┆read read track/sector to preset┆
0x0d0940…0d0960             20 64 6d 61 20 61 64 64 72 65 73 73 0d 0a 3b 09 77 72 69 74 65 09 77 72 69 74 65 20 74 72 61 63   ┆ dma address  ; write write trac┆
0x0d0960…0d0980             6b 2f 73 65 63 74 6f 72 20 66 72 6f 6d 20 70 72 65 73 65 74 20 64 6d 61 20 61 64 64 72 65 73 73   ┆k/sector from preset dma address┆
0x0d0980…0d09a0             0d 0a 3b 0d 0a 3b 09 6a 75 6d 70 20 76 65 63 74 6f 72 20 66 6f 72 20 69 6e 64 69 76 69 75 61 6c   ┆  ;  ; jump vector for indiviual┆
0x0d09a0…0d09c0             20 72 6f 75 74 69 6e 65 73 0d 0a 09 6a 6d 70 09 62 6f 6f 74 0d 0a 77 62 6f 6f 74 65 3a 09 6a 6d   ┆ routines   jmp boot  wboote: jm┆
0x0d09c0…0d09e0             70 09 77 62 6f 6f 74 0d 0a 09 6a 6d 70 09 63 6f 6e 73 74 0d 0a 09 6a 6d 70 09 63 6f 6e 69 6e 0d   ┆p wboot   jmp const   jmp conin ┆
0x0d09e0…0d0a00             0a 09 6a 6d 70 09 63 6f 6e 6f 75 74 0d 0a 09 6a 6d 70 09 6c 69 73 74 0d 0a 09 6a 6d 70 09 70 75   ┆  jmp conout   jmp list   jmp pu┆
0x0d0a00…0d0a20 (55, 1, 5)  09 3b 74 72 61 6e 73 6c 61 74 65 28 73 65 63 74 6f 72 29 20 61 64 64 72 65 73 73 0d 0a 09 6d 6f   ┆ ;translate(sector) address   mo┆
0x0d0a20…0d0a40             76 09 61 2c 6d 09 3b 74 72 61 6e 73 6c 61 74 65 64 20 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 20   ┆v a,m ;translated sector number ┆
0x0d0a40…0d0a60             74 6f 20 41 0d 0a 09 73 74 61 09 69 6f 73 0d 0a 09 6d 6f 76 09 6c 2c 61 09 3b 72 65 74 75 72 6e   ┆to A   sta ios   mov l,a ;return┆
0x0d0a60…0d0a80             20 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 20 69 6e 20 4c 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 73 65   ┆ sector number in L   ret  ;  se┆
0x0d0a80…0d0aa0             74 64 6d 61 3a 09 3b 73 65 74 20 64 6d 61 20 61 64 64 72 65 73 73 20 67 69 76 65 6e 20 62 79 20   ┆tdma: ;set dma address given by ┆
0x0d0aa0…0d0ac0             72 65 67 73 20 62 2c 63 0d 0a 09 6d 6f 76 09 6c 2c 63 0d 0a 09 6d 6f 76 09 68 2c 62 0d 0a 09 73   ┆regs b,c   mov l,c   mov h,b   s┆
0x0d0ac0…0d0ae0             68 6c 64 09 69 6f 64 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 72 65 61 64 3a 09 3b 72 65 61 64 20 6e 65   ┆hld iod   ret  ;  read: ;read ne┆
0x0d0ae0…0d0b00             78 74 20 64 69 73 6b 20 72 65 63 6f 72 64 20 28 61 73 73 75 6d 69 6e 67 20 64 69 73 6b 2f 74 72   ┆xt disk record (assuming disk/tr┆
0x0d0b00…0d0b20             6b 2f 73 65 63 2f 64 6d 61 20 73 65 74 29 0d 0a 09 6d 76 69 09 63 2c 72 65 61 64 66 09 3b 73 65   ┆k/sec/dma set)   mvi c,readf ;se┆
0x0d0b20…0d0b40             74 20 74 6f 20 72 65 61 64 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 63 61 6c 6c 09 73 65 74 66 75 6e   ┆t to read function   call setfun┆
0x0d0b40…0d0b60             63 0d 0a 09 63 61 6c 6c 09 77 61 69 74 69 6f 09 3b 70 65 72 66 6f 72 6d 20 72 65 61 64 20 66 75   ┆c   call waitio ;perform read fu┆
0x0d0b60…0d0b80             6e 63 74 69 6f 6e 0d 0a 09 72 65 74 09 09 3b 6d 61 79 20 68 61 76 65 20 65 72 72 6f 72 20 73 65   ┆nction   ret  ;may have error se┆
0x0d0b80…0d0ba0             74 20 69 6e 20 72 65 67 2d 61 0d 0a 3b 0d 0a 3b 0d 0a 77 72 69 74 65 3a 09 3b 64 69 73 6b 20 77   ┆t in reg-a  ;  ;  write: ;disk w┆
0x0d0ba0…0d0bc0             72 69 74 65 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 6d 76 69 09 63 2c 77 72 69 74 66 0d 0a 09 63 61   ┆rite function   mvi c,writf   ca┆
0x0d0bc0…0d0be0             6c 6c 09 73 65 74 66 75 6e 63 09 3b 73 65 74 20 74 6f 20 77 72 69 74 65 20 66 75 6e 63 74 69 6f   ┆ll setfunc ;set to write functio┆
0x0d0be0…0d0c00             6e 0d 0a 09 63 61 6c 6c 09 77 61 69 74 69 6f 0d 0a 09 72 65 74 09 09 3b 6d 61 79 20 68 61 76 65   ┆n   call waitio   ret  ;may have┆
0x0d0c00…0d0c20 (55, 1, 6)  3b 72 65 61 64 79 20 73 74 61 74 75 73 20 63 68 61 6e 67 65 3f 0d 0a 09 6a 7a 09 77 72 65 61 64   ┆;ready status change?   jz wread┆
0x0d0c20…0d0c40             79 0d 0a 3b 0d 0a 3b 09 6d 75 73 74 20 62 65 20 30 30 20 69 6e 20 74 68 65 20 61 63 63 75 6d 75   ┆y  ;  ; must be 00 in the accumu┆
0x0d0c40…0d0c60             6c 61 74 6f 72 0d 0a 09 6f 72 61 09 61 0d 0a 09 6a 6e 7a 09 77 65 72 72 6f 72 09 09 3b 73 6f 6d   ┆lator   ora a   jnz werror  ;som┆
0x0d0c60…0d0c80             65 20 6f 74 68 65 72 20 63 6f 6e 64 69 74 69 6f 6e 2c 20 72 65 74 72 79 0d 0a 3b 0d 0a 3b 09 63   ┆e other condition, retry  ;  ; c┆
0x0d0c80…0d0ca0             68 65 63 6b 20 69 2f 6f 20 65 72 72 6f 72 20 62 69 74 73 0d 0a 09 63 61 6c 6c 09 69 6e 62 79 74   ┆heck i/o error bits   call inbyt┆
0x0d0ca0…0d0cc0             65 0d 0a 09 72 61 6c 0d 0a 09 6a 63 09 77 72 65 61 64 79 09 09 3b 75 6e 69 74 20 6e 6f 74 20 72   ┆e   ral   jc wready  ;unit not r┆
0x0d0cc0…0d0ce0             65 61 64 79 0d 0a 09 72 61 72 0d 0a 09 61 6e 69 09 31 31 31 31 31 31 31 30 62 09 3b 61 6e 79 20   ┆eady   rar   ani 11111110b ;any ┆
0x0d0ce0…0d0d00             6f 74 68 65 72 20 65 72 72 6f 72 73 3f 20 20 28 64 65 6c 65 74 65 64 20 64 61 74 61 20 6f 6b 29   ┆other errors?  (deleted data ok)┆
0x0d0d00…0d0d20             0d 0a 09 6a 6e 7a 09 77 65 72 72 6f 72 0d 0a 3b 0d 0a 3b 09 72 65 61 64 20 6f 72 20 77 72 69 74   ┆   jnz werror  ;  ; read or writ┆
0x0d0d20…0d0d40             65 20 69 73 20 6f 6b 2c 20 61 63 63 75 6d 75 6c 61 74 6f 72 20 63 6f 6e 74 61 69 6e 73 20 7a 65   ┆e is ok, accumulator contains ze┆
0x0d0d40…0d0d60             72 6f 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 77 72 65 61 64 79 3a 09 3b 6e 6f 74 20 72 65 61 64 79 2c   ┆ro   ret  ;  wready: ;not ready,┆
0x0d0d60…0d0d80             20 74 72 65 61 74 20 61 73 20 65 72 72 6f 72 20 66 6f 72 20 6e 6f 77 0d 0a 09 63 61 6c 6c 09 69   ┆ treat as error for now   call i┆
0x0d0d80…0d0da0             6e 62 79 74 65 09 09 3b 63 6c 65 61 72 20 72 65 73 75 6c 74 20 62 79 74 65 0d 0a 09 6a 6d 70 09   ┆nbyte  ;clear result byte   jmp ┆
0x0d0da0…0d0dc0             74 72 79 63 6f 75 6e 74 0d 0a 3b 0d 0a 77 65 72 72 6f 72 3a 09 3b 72 65 74 75 72 6e 20 68 61 72   ┆trycount  ;  werror: ;return har┆
0x0d0dc0…0d0de0             64 77 61 72 65 20 6d 61 6c 66 75 6e 63 74 69 6f 6e 20 28 63 72 63 2c 20 74 72 61 63 6b 2c 20 73   ┆dware malfunction (crc, track, s┆
0x0d0de0…0d0e00             65 65 6b 2c 20 65 74 63 2e 29 0d 0a 3b 09 74 68 65 20 6d 64 73 20 63 6f 6e 74 72 6f 6c 6c 65 72   ┆eek, etc.)  ; the mds controller┆
0x0d0e00…0d0e20 (55, 1, 7)  65 72 61 74 69 6f 6e 0d 0a 09 65 6e 64 65 66 0d 0a 09 65 6e 64 0d 0a 3b 09 4d 44 53 2d 38 30 30   ┆eration   endef   end  ; MDS-800┆
0x0d0e20…0d0e40             20 49 2f 4f 20 44 72 69 76 65 72 73 20 66 6f 72 20 43 50 2f 4d 20 32 2e 32 0d 0a 3b 09 28 66 6f   ┆ I/O Drivers for CP/M 2.2  ; (fo┆
0x0d0e40…0d0e60             75 72 20 64 72 69 76 65 20 73 69 6e 67 6c 65 20 64 65 6e 73 69 74 79 20 76 65 72 73 69 6f 6e 29   ┆ur drive single density version)┆
0x0d0e60…0d0e80             0d 0a 3b 0d 0a 3b 09 56 65 72 73 69 6f 6e 20 32 2e 32 20 46 65 62 72 75 61 72 79 2c 20 31 39 38   ┆  ;  ; Version 2.2 February, 198┆
0x0d0e80…0d0ea0             30 0d 0a 3b 0d 0a 76 65 72 73 09 65 71 75 09 32 32 09 3b 76 65 72 73 69 6f 6e 20 32 2e 32 0d 0a   ┆0  ;  vers equ 22 ;version 2.2  ┆
0x0d0ea0…0d0ec0             3b 0d 0a 3b 09 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 31 39 38 30 0d 0a 3b 09 44 69 67 69 74   ┆;  ; Copyright (c) 1980  ; Digit┆
0x0d0ec0…0d0ee0             61 6c 20 52 65 73 65 61 72 63 68 0d 0a 3b 09 42 6f 78 20 35 37 39 2c 20 50 61 63 69 66 69 63 20   ┆al Research  ; Box 579, Pacific ┆
0x0d0ee0…0d0f00             47 72 6f 76 65 0d 0a 3b 09 43 61 6c 69 66 6f 72 6e 69 61 2c 20 39 33 39 35 30 0d 0a 3b 0d 0a 3b   ┆Grove  ; California, 93950  ;  ;┆
0x0d0f00…0d0f20             0d 0a 74 72 75 65 09 65 71 75 09 30 66 66 66 66 68 09 3b 76 61 6c 75 65 20 6f 66 20 22 74 72 75   ┆  true equ 0ffffh ;value of "tru┆
0x0d0f20…0d0f40             65 22 0d 0a 66 61 6c 73 65 09 65 71 75 09 6e 6f 74 20 74 72 75 65 09 3b 22 66 61 6c 73 65 22 0d   ┆e"  false equ not true ;"false" ┆
0x0d0f40…0d0f60             0a 74 65 73 74 09 65 71 75 09 66 61 6c 73 65 09 3b 74 72 75 65 20 69 66 20 74 65 73 74 20 62 69   ┆ test equ false ;true if test bi┆
0x0d0f60…0d0f80             6f 73 0d 0a 3b 0d 0a 09 69 66 09 74 65 73 74 0d 0a 62 69 61 73 09 65 71 75 09 30 33 34 30 30 68   ┆os  ;   if test  bias equ 03400h┆
0x0d0f80…0d0fa0             09 3b 62 61 73 65 20 6f 66 20 43 43 50 20 69 6e 20 74 65 73 74 20 73 79 73 74 65 6d 0d 0a 09 65   ┆ ;base of CCP in test system   e┆
0x0d0fa0…0d0fc0             6e 64 69 66 0d 0a 09 69 66 09 6e 6f 74 20 74 65 73 74 0d 0a 62 69 61 73 09 65 71 75 09 30 30 30   ┆ndif   if not test  bias equ 000┆
0x0d0fc0…0d0fe0             30 68 09 3b 67 65 6e 65 72 61 74 65 20 72 65 6c 6f 63 61 74 61 62 6c 65 20 63 70 2f 6d 20 73 79   ┆0h ;generate relocatable cp/m sy┆
0x0d0fe0…0d1000             73 74 65 6d 0d 0a 09 65 6e 64 69 66 0d 0a 3b 0d 0a 70 61 74 63 68 09 65 71 75 09 31 36 30 30 68   ┆stem   endif  ;  patch equ 1600h┆
0x0d1000…0d1020 (55, 1, 8)  6e 63 68 0d 0a 09 6a 6d 70 09 72 65 61 64 65 72 0d 0a 09 6a 6d 70 09 68 6f 6d 65 0d 0a 09 6a 6d   ┆nch   jmp reader   jmp home   jm┆
0x0d1020…0d1040             70 09 73 65 6c 64 73 6b 0d 0a 09 6a 6d 70 09 73 65 74 74 72 6b 0d 0a 09 6a 6d 70 09 73 65 74 73   ┆p seldsk   jmp settrk   jmp sets┆
0x0d1040…0d1060             65 63 0d 0a 09 6a 6d 70 09 73 65 74 64 6d 61 0d 0a 09 6a 6d 70 09 72 65 61 64 0d 0a 09 6a 6d 70   ┆ec   jmp setdma   jmp read   jmp┆
0x0d1060…0d1080             09 77 72 69 74 65 0d 0a 09 6a 6d 70 09 6c 69 73 74 73 74 09 3b 6c 69 73 74 20 73 74 61 74 75 73   ┆ write   jmp listst ;list status┆
0x0d1080…0d10a0             0d 0a 09 6a 6d 70 09 73 65 63 74 72 61 6e 0d 0a 3b 0d 0a 09 6d 61 63 6c 69 62 09 64 69 73 6b 64   ┆   jmp sectran  ;   maclib diskd┆
0x0d10a0…0d10c0             65 66 09 3b 6c 6f 61 64 20 74 68 65 20 64 69 73 6b 20 64 65 66 69 6e 69 74 69 6f 6e 20 6c 69 62   ┆ef ;load the disk definition lib┆
0x0d10c0…0d10e0             72 61 72 79 0d 0a 09 64 69 73 6b 73 09 34 09 3b 66 6f 75 72 20 64 69 73 6b 73 0d 0a 09 64 69 73   ┆rary   disks 4 ;four disks   dis┆
0x0d10e0…0d1100             6b 64 65 66 09 30 2c 31 2c 32 36 2c 36 2c 31 30 32 34 2c 32 34 33 2c 36 34 2c 36 34 2c 6f 66 66   ┆kdef 0,1,26,6,1024,243,64,64,off┆
0x0d1100…0d1120             73 65 74 0d 0a 09 64 69 73 6b 64 65 66 09 31 2c 30 0d 0a 09 64 69 73 6b 64 65 66 09 32 2c 30 0d   ┆set   diskdef 1,0   diskdef 2,0 ┆
0x0d1120…0d1140             0a 09 64 69 73 6b 64 65 66 09 33 2c 30 0d 0a 3b 09 65 6e 64 65 66 20 6f 63 63 75 72 73 20 61 74   ┆  diskdef 3,0  ; endef occurs at┆
0x0d1140…0d1160             20 65 6e 64 20 6f 66 20 61 73 73 65 6d 62 6c 79 0d 0a 3b 0d 0a 3b 09 65 6e 64 20 6f 66 20 63 6f   ┆ end of assembly  ;  ; end of co┆
0x0d1160…0d1180             6e 74 72 6f 6c 6c 65 72 20 2d 20 69 6e 64 65 70 65 6e 64 65 6e 74 20 63 6f 64 65 2c 20 74 68 65   ┆ntroller - independent code, the┆
0x0d1180…0d11a0             20 72 65 6d 61 69 6e 69 6e 67 20 73 75 62 72 6f 75 74 69 6e 65 73 0d 0a 3b 09 61 72 65 20 74 61   ┆ remaining subroutines  ; are ta┆
0x0d11a0…0d11c0             69 6c 6f 72 65 64 20 74 6f 20 74 68 65 20 70 61 72 74 69 63 75 6c 61 72 20 6f 70 65 72 61 74 69   ┆ilored to the particular operati┆
0x0d11c0…0d11e0             6e 67 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 2c 20 61 6e 64 20 6d 75 73 74 0d 0a 3b 09 62 65 20 61   ┆ng environment, and must  ; be a┆
0x0d11e0…0d1200             6c 74 65 72 65 64 20 66 6f 72 20 61 6e 79 20 73 79 73 74 65 6d 20 77 68 69 63 68 20 64 69 66 66   ┆ltered for any system which diff┆
0x0d1200…0d1220 (55, 1, 9)  20 65 72 72 6f 72 20 73 65 74 0d 0a 3b 0d 0a 3b 0d 0a 3b 09 75 74 69 6c 69 74 79 20 73 75 62 72   ┆ error set  ;  ;  ; utility subr┆
0x0d1220…0d1240             6f 75 74 69 6e 65 73 0d 0a 70 72 6d 73 67 3a 09 3b 70 72 69 6e 74 20 6d 65 73 73 61 67 65 20 61   ┆outines  prmsg: ;print message a┆
0x0d1240…0d1260             74 20 68 2c 6c 20 74 6f 20 30 0d 0a 09 6d 6f 76 09 61 2c 6d 0d 0a 09 6f 72 61 09 61 09 3b 7a 65   ┆t h,l to 0   mov a,m   ora a ;ze┆
0x0d1260…0d1280             72 6f 3f 0d 0a 09 72 7a 0d 0a 3b 09 6d 6f 72 65 20 74 6f 20 70 72 69 6e 74 0d 0a 09 70 75 73 68   ┆ro?   rz  ; more to print   push┆
0x0d1280…0d12a0             09 68 0d 0a 09 6d 6f 76 09 63 2c 61 0d 0a 09 63 61 6c 6c 09 63 6f 6e 6f 75 74 0d 0a 09 70 6f 70   ┆ h   mov c,a   call conout   pop┆
0x0d12a0…0d12c0             09 68 0d 0a 09 69 6e 78 09 68 0d 0a 09 6a 6d 70 09 70 72 6d 73 67 0d 0a 3b 0d 0a 73 65 74 66 75   ┆ h   inx h   jmp prmsg  ;  setfu┆
0x0d12c0…0d12e0             6e 63 3a 0d 0a 3b 09 73 65 74 20 66 75 6e 63 74 69 6f 6e 20 66 6f 72 20 6e 65 78 74 20 69 2f 6f   ┆nc:  ; set function for next i/o┆
0x0d12e0…0d1300             20 28 63 6f 6d 6d 61 6e 64 20 69 6e 20 72 65 67 2d 63 29 0d 0a 09 6c 78 69 09 68 2c 69 6f 66 09   ┆ (command in reg-c)   lxi h,iof ┆
0x0d1300…0d1320             3b 69 6f 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 72 65 73 73 0d 0a 09 6d 6f 76 09 61 2c 6d 09 3b   ┆;io function address   mov a,m ;┆
0x0d1320…0d1340             67 65 74 20 69 74 20 74 6f 20 61 63 63 75 6d 75 6c 61 74 6f 72 20 66 6f 72 20 6d 61 73 6b 69 6e   ┆get it to accumulator for maskin┆
0x0d1340…0d1360             67 0d 0a 09 61 6e 69 09 31 31 31 31 31 30 30 30 62 09 3b 72 65 6d 6f 76 65 20 70 72 65 76 69 6f   ┆g   ani 11111000b ;remove previo┆
0x0d1360…0d1380             75 73 20 63 6f 6d 6d 61 6e 64 0d 0a 09 6f 72 61 09 63 09 3b 73 65 74 20 74 6f 20 6e 65 77 20 63   ┆us command   ora c ;set to new c┆
0x0d1380…0d13a0             6f 6d 6d 61 6e 64 0d 0a 09 6d 6f 76 09 6d 2c 61 09 3b 72 65 70 6c 61 63 65 64 20 69 6e 20 69 6f   ┆ommand   mov m,a ;replaced in io┆
0x0d13a0…0d13c0             70 62 0d 0a 3b 09 74 68 65 20 6d 64 73 2d 38 30 30 20 63 6f 6e 74 72 6f 6c 6c 65 72 20 72 65 71   ┆pb  ; the mds-800 controller req┆
0x0d13c0…0d13e0             75 69 72 65 73 20 64 69 73 6b 20 62 61 6e 6b 20 62 69 74 20 69 6e 20 73 65 63 74 6f 72 20 62 79   ┆uires disk bank bit in sector by┆
0x0d13e0…0d1400             74 65 0d 0a 3b 09 6d 61 73 6b 20 74 68 65 20 62 69 74 20 66 72 6f 6d 20 74 68 65 20 63 75 72 72   ┆te  ; mask the bit from the curr┆
0x0d1400…0d1420 (55, 1, 10) 20 68 61 73 20 72 65 74 75 72 6e 65 64 20 61 20 62 69 74 20 69 6e 20 65 61 63 68 20 70 6f 73 69   ┆ has returned a bit in each posi┆
0x0d1420…0d1440             74 69 6f 6e 0d 0a 3b 09 6f 66 20 74 68 65 20 61 63 63 75 6d 75 6c 61 74 6f 72 2c 20 63 6f 72 72   ┆tion  ; of the accumulator, corr┆
0x0d1440…0d1460             65 73 70 6f 6e 64 69 6e 67 20 74 6f 20 74 68 65 20 63 6f 6e 64 69 74 69 6f 6e 73 3a 0d 0a 3b 09   ┆esponding to the conditions:  ; ┆
0x0d1460…0d1480             30 09 2d 20 64 65 6c 65 74 65 64 20 64 61 74 61 20 28 61 63 63 65 70 74 65 64 20 61 73 20 6f 6b   ┆0 - deleted data (accepted as ok┆
0x0d1480…0d14a0             20 61 62 6f 76 65 29 0d 0a 3b 09 31 09 2d 20 63 72 63 20 65 72 72 6f 72 0d 0a 3b 09 32 09 2d 20   ┆ above)  ; 1 - crc error  ; 2 - ┆
0x0d14a0…0d14c0             73 65 65 6b 20 65 72 72 6f 72 0d 0a 3b 09 33 09 2d 20 61 64 64 72 65 73 73 20 65 72 72 6f 72 20   ┆seek error  ; 3 - address error ┆
0x0d14c0…0d14e0             28 68 61 72 64 77 61 72 65 20 6d 61 6c 66 75 6e 63 74 69 6f 6e 29 0d 0a 3b 09 34 09 2d 20 64 61   ┆(hardware malfunction)  ; 4 - da┆
0x0d14e0…0d1500             74 61 20 6f 76 65 72 2f 75 6e 64 65 72 20 66 6c 6f 77 20 28 68 61 72 64 77 61 72 65 20 6d 61 6c   ┆ta over/under flow (hardware mal┆
0x0d1500…0d1520             66 75 6e 63 74 69 6f 6e 29 0d 0a 3b 09 35 09 2d 20 77 72 69 74 65 20 70 72 6f 74 65 63 74 20 28   ┆function)  ; 5 - write protect (┆
0x0d1520…0d1540             74 72 65 61 74 65 64 20 61 73 20 6e 6f 74 20 72 65 61 64 79 29 0d 0a 3b 09 36 09 2d 20 77 72 69   ┆treated as not ready)  ; 6 - wri┆
0x0d1540…0d1560             74 65 20 65 72 72 6f 72 20 28 68 61 72 64 77 61 72 65 20 6d 61 6c 66 75 6e 63 74 69 6f 6e 29 0d   ┆te error (hardware malfunction) ┆
0x0d1560…0d1580             0a 3b 09 37 09 2d 20 6e 6f 74 20 72 65 61 64 79 0d 0a 3b 09 28 61 63 63 75 6d 75 6c 61 74 6f 72   ┆ ; 7 - not ready  ; (accumulator┆
0x0d1580…0d15a0             20 62 69 74 73 20 61 72 65 20 6e 75 6d 62 65 72 65 64 20 37 20 36 20 35 20 34 20 33 20 32 20 31   ┆ bits are numbered 7 6 5 4 3 2 1┆
0x0d15a0…0d15c0             20 30 29 0d 0a 3b 0d 0a 3b 09 69 74 20 6d 61 79 20 62 65 20 75 73 65 66 75 6c 20 74 6f 20 66 69   ┆ 0)  ;  ; it may be useful to fi┆
0x0d15c0…0d15e0             6c 74 65 72 20 6f 75 74 20 74 68 65 20 76 61 72 69 6f 75 73 20 63 6f 6e 64 69 74 69 6f 6e 73 2c   ┆lter out the various conditions,┆
0x0d15e0…0d1600             0d 0a 3b 09 62 75 74 20 77 65 20 77 69 6c 6c 20 67 65 74 20 61 20 70 65 72 6d 61 6e 65 6e 74 20   ┆  ; but we will get a permanent ┆
0x0d1600…0d1620 (55, 1, 11) 0d 0a 3b 0d 0a 09 6f 72 67 09 70 61 74 63 68 0d 0a 63 70 6d 62 09 65 71 75 09 24 2d 70 61 74 63   ┆  ;   org patch  cpmb equ $-patc┆
0x0d1620…0d1640             68 09 3b 62 61 73 65 20 6f 66 20 63 70 6d 20 63 6f 6e 73 6f 6c 65 20 70 72 6f 63 65 73 73 6f 72   ┆h ;base of cpm console processor┆
0x0d1640…0d1660             0d 0a 62 64 6f 73 09 65 71 75 09 38 30 36 68 2b 63 70 6d 62 09 3b 62 61 73 69 63 20 64 6f 73 20   ┆  bdos equ 806h+cpmb ;basic dos ┆
0x0d1660…0d1680             28 72 65 73 69 64 65 6e 74 20 70 6f 72 74 69 6f 6e 29 0d 0a 63 70 6d 6c 09 65 71 75 09 24 2d 63   ┆(resident portion)  cpml equ $-c┆
0x0d1680…0d16a0             70 6d 62 09 3b 6c 65 6e 67 74 68 20 28 69 6e 20 62 79 74 65 73 29 20 6f 66 20 63 70 6d 20 73 79   ┆pmb ;length (in bytes) of cpm sy┆
0x0d16a0…0d16c0             73 74 65 6d 0d 0a 6e 73 65 63 74 73 09 65 71 75 09 63 70 6d 6c 2f 31 32 38 09 3b 6e 75 6d 62 65   ┆stem  nsects equ cpml/128 ;numbe┆
0x0d16c0…0d16e0             72 20 6f 66 20 73 65 63 74 6f 72 73 20 74 6f 20 6c 6f 61 64 0d 0a 6f 66 66 73 65 74 09 65 71 75   ┆r of sectors to load  offset equ┆
0x0d16e0…0d1700             09 32 09 3b 6e 75 6d 62 65 72 20 6f 66 20 64 69 73 6b 20 74 72 61 63 6b 73 20 75 73 65 64 20 62   ┆ 2 ;number of disk tracks used b┆
0x0d1700…0d1720             79 20 63 70 2f 6d 0d 0a 63 64 69 73 6b 09 65 71 75 09 30 30 30 34 68 09 3b 61 64 64 72 65 73 73   ┆y cp/m  cdisk equ 0004h ;address┆
0x0d1720…0d1740             20 6f 66 20 6c 61 73 74 20 6c 6f 67 67 65 64 20 64 69 73 6b 20 6f 6e 20 77 61 72 6d 20 73 74 61   ┆ of last logged disk on warm sta┆
0x0d1740…0d1760             72 74 0d 0a 62 75 66 66 09 65 71 75 09 30 30 38 30 68 09 3b 64 65 66 61 75 6c 74 20 62 75 66 66   ┆rt  buff equ 0080h ;default buff┆
0x0d1760…0d1780             65 72 20 61 64 64 72 65 73 73 0d 0a 72 65 74 72 79 09 65 71 75 09 31 30 09 3b 6d 61 78 20 72 65   ┆er address  retry equ 10 ;max re┆
0x0d1780…0d17a0             74 72 69 65 73 20 6f 6e 20 64 69 73 6b 20 69 2f 6f 20 62 65 66 6f 72 65 20 65 72 72 6f 72 0d 0a   ┆tries on disk i/o before error  ┆
0x0d17a0…0d17c0             3b 0d 0a 3b 09 70 65 72 66 6f 72 6d 20 66 6f 6c 6c 6f 77 69 6e 67 20 66 75 6e 63 74 69 6f 6e 73   ┆;  ; perform following functions┆
0x0d17c0…0d17e0             0d 0a 3b 09 62 6f 6f 74 09 63 6f 6c 64 20 73 74 61 72 74 0d 0a 3b 09 77 62 6f 6f 74 09 77 61 72   ┆  ; boot cold start  ; wboot war┆
0x0d17e0…0d1800             6d 20 73 74 61 72 74 20 28 73 61 76 65 20 69 2f 6f 20 62 79 74 65 29 0d 0a 3b 09 28 62 6f 6f 74   ┆m start (save i/o byte)  ; (boot┆
0x0d1800…0d1820 (55, 1, 12) 65 72 73 20 66 72 6f 6d 20 74 68 65 20 69 6e 74 65 6c 20 6d 64 73 2e 0d 0a 3b 0d 0a 3b 09 74 68   ┆ers from the intel mds.  ;  ; th┆
0x0d1820…0d1840             65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 64 65 20 61 73 73 75 6d 65 73 20 74 68 65 20 6d 64 73   ┆e following code assumes the mds┆
0x0d1840…0d1860             20 6d 6f 6e 69 74 6f 72 20 65 78 69 73 74 73 20 61 74 20 30 66 38 30 30 68 0d 0a 3b 09 61 6e 64   ┆ monitor exists at 0f800h  ; and┆
0x0d1860…0d1880             20 75 73 65 73 20 74 68 65 20 69 2f 6f 20 73 75 62 72 6f 75 74 69 6e 65 73 20 77 69 74 68 69 6e   ┆ uses the i/o subroutines within┆
0x0d1880…0d18a0             20 74 68 65 20 6d 6f 6e 69 74 6f 72 0d 0a 3b 0d 0a 3b 09 77 65 20 61 6c 73 6f 20 61 73 73 75 6d   ┆ the monitor  ;  ; we also assum┆
0x0d18a0…0d18c0             65 20 74 68 65 20 6d 64 73 20 73 79 73 74 65 6d 20 68 61 73 20 66 6f 75 72 20 64 69 73 6b 20 64   ┆e the mds system has four disk d┆
0x0d18c0…0d18e0             72 69 76 65 73 0d 0a 72 65 76 72 74 09 65 71 75 09 30 66 64 68 09 3b 69 6e 74 65 72 72 75 70 74   ┆rives  revrt equ 0fdh ;interrupt┆
0x0d18e0…0d1900             20 72 65 76 65 72 74 20 70 6f 72 74 0d 0a 69 6e 74 63 09 65 71 75 09 30 66 63 68 09 3b 69 6e 74   ┆ revert port  intc equ 0fch ;int┆
0x0d1900…0d1920             65 72 72 75 70 74 20 6d 61 73 6b 20 70 6f 72 74 0d 0a 69 63 6f 6e 09 65 71 75 09 30 66 33 68 09   ┆errupt mask port  icon equ 0f3h ┆
0x0d1920…0d1940             3b 69 6e 74 65 72 72 75 70 74 20 63 6f 6e 74 72 6f 6c 20 70 6f 72 74 0d 0a 69 6e 74 65 09 65 71   ┆;interrupt control port  inte eq┆
0x0d1940…0d1960             75 09 30 31 31 31 24 31 31 31 30 62 09 3b 65 6e 61 62 6c 65 20 72 73 74 20 30 28 77 61 72 6d 20   ┆u 0111$1110b ;enable rst 0(warm ┆
0x0d1960…0d1980             62 6f 6f 74 29 2c 20 72 73 74 20 37 20 28 6d 6f 6e 69 74 6f 72 29 0d 0a 3b 0d 0a 3b 09 6d 64 73   ┆boot), rst 7 (monitor)  ;  ; mds┆
0x0d1980…0d19a0             20 6d 6f 6e 69 74 6f 72 20 65 71 75 61 74 65 73 0d 0a 6d 6f 6e 38 30 09 65 71 75 09 30 66 38 30   ┆ monitor equates  mon80 equ 0f80┆
0x0d19a0…0d19c0             30 68 09 3b 6d 64 73 20 6d 6f 6e 69 74 6f 72 0d 0a 72 6d 6f 6e 38 30 09 65 71 75 09 30 66 66 30   ┆0h ;mds monitor  rmon80 equ 0ff0┆
0x0d19c0…0d19e0             66 68 09 3b 72 65 73 74 61 72 74 20 6d 6f 6e 38 30 20 28 62 6f 6f 74 20 65 72 72 6f 72 29 0d 0a   ┆fh ;restart mon80 (boot error)  ┆
0x0d19e0…0d1a00             63 69 09 65 71 75 09 30 66 38 30 33 68 09 3b 63 6f 6e 73 6f 6c 65 20 63 68 61 72 61 63 74 65 72   ┆ci equ 0f803h ;console character┆
0x0d1a00…0d1a20 (55, 1, 13) 65 6e 74 20 69 2f 6f 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 61 6e 69 09 30 30 31 30 30 30 30 30 62   ┆ent i/o function   ani 00100000b┆
0x0d1a20…0d1a40             09 3b 6d 61 73 6b 20 74 68 65 20 64 69 73 6b 20 73 65 6c 65 63 74 20 62 69 74 0d 0a 09 6c 78 69   ┆ ;mask the disk select bit   lxi┆
0x0d1a40…0d1a60             09 68 2c 69 6f 73 09 09 3b 61 64 64 72 65 73 73 20 74 68 65 20 73 65 63 74 6f 72 20 73 65 6c 65   ┆ h,ios  ;address the sector sele┆
0x0d1a60…0d1a80             63 74 20 62 79 74 65 0d 0a 09 6f 72 61 09 6d 09 09 3b 73 65 6c 65 63 74 20 70 72 6f 70 65 72 20   ┆ct byte   ora m  ;select proper ┆
0x0d1a80…0d1aa0             64 69 73 6b 20 62 61 6e 6b 0d 0a 09 6d 6f 76 09 6d 2c 61 09 09 3b 73 65 74 20 64 69 73 6b 20 73   ┆disk bank   mov m,a  ;set disk s┆
0x0d1aa0…0d1ac0             65 6c 65 63 74 20 62 69 74 20 6f 6e 2f 6f 66 66 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 77 61 69 74 69   ┆elect bit on/off   ret  ;  waiti┆
0x0d1ac0…0d1ae0             6f 3a 0d 0a 09 6d 76 69 09 63 2c 72 65 74 72 79 09 3b 6d 61 78 20 72 65 74 72 69 65 73 20 62 65   ┆o:   mvi c,retry ;max retries be┆
0x0d1ae0…0d1b00             66 6f 72 65 20 70 65 72 6d 20 65 72 72 6f 72 0d 0a 72 65 77 61 69 74 3a 0d 0a 3b 09 73 74 61 72   ┆fore perm error  rewait:  ; star┆
0x0d1b00…0d1b20             74 20 74 68 65 20 69 2f 6f 20 66 75 6e 63 74 69 6f 6e 20 61 6e 64 20 77 61 69 74 20 66 6f 72 20   ┆t the i/o function and wait for ┆
0x0d1b20…0d1b40             63 6f 6d 70 6c 65 74 69 6f 6e 0d 0a 09 63 61 6c 6c 09 69 6e 74 79 70 65 09 3b 69 6e 20 72 74 79   ┆completion   call intype ;in rty┆
0x0d1b40…0d1b60             70 65 0d 0a 09 63 61 6c 6c 09 69 6e 62 79 74 65 09 3b 63 6c 65 61 72 73 20 74 68 65 20 63 6f 6e   ┆pe   call inbyte ;clears the con┆
0x0d1b60…0d1b80             74 72 6f 6c 6c 65 72 0d 0a 3b 0d 0a 09 6c 64 61 09 64 62 61 6e 6b 09 09 3b 73 65 74 20 62 61 6e   ┆troller  ;   lda dbank  ;set ban┆
0x0d1b80…0d1ba0             6b 20 66 6c 61 67 73 0d 0a 09 6f 72 61 09 61 09 09 3b 7a 65 72 6f 20 69 66 20 64 72 69 76 65 20   ┆k flags   ora a  ;zero if drive ┆
0x0d1ba0…0d1bc0             30 2c 31 20 61 6e 64 20 6e 7a 20 69 66 20 32 2c 33 0d 0a 09 6d 76 69 09 61 2c 69 6f 70 62 20 61   ┆0,1 and nz if 2,3   mvi a,iopb a┆
0x0d1bc0…0d1be0             6e 64 20 30 66 66 68 09 3b 6c 6f 77 20 61 64 64 72 65 73 73 20 66 6f 72 20 69 6f 70 62 0d 0a 09   ┆nd 0ffh ;low address for iopb   ┆
0x0d1be0…0d1c00             6d 76 69 09 62 2c 69 6f 70 62 20 73 68 72 20 38 09 3b 68 69 67 68 20 61 64 64 72 65 73 73 20 66   ┆mvi b,iopb shr 8 ;high address f┆
0x0d1c00…0d1c20 (55, 1, 14) 65 72 72 6f 72 20 6d 65 73 73 61 67 65 20 69 66 20 69 74 20 69 73 20 6e 6f 74 0d 0a 3b 09 72 65   ┆error message if it is not  ; re┆
0x0d1c20…0d1c40             63 6f 76 65 72 61 62 6c 65 2e 20 20 69 6e 20 61 6e 79 20 63 61 73 65 2c 20 74 68 65 20 6e 6f 74   ┆coverable.  in any case, the not┆
0x0d1c40…0d1c60             20 72 65 61 64 79 20 63 6f 6e 64 69 74 69 6f 6e 20 69 73 0d 0a 3b 09 74 72 65 61 74 65 64 20 61   ┆ ready condition is  ; treated a┆
0x0d1c60…0d1c80             73 20 61 20 73 65 70 61 72 61 74 65 20 63 6f 6e 64 69 74 69 6f 6e 20 66 6f 72 20 6c 61 74 65 72   ┆s a separate condition for later┆
0x0d1c80…0d1ca0             20 69 6d 70 72 6f 76 65 6d 65 6e 74 0d 0a 74 72 79 63 6f 75 6e 74 3a 0d 0a 3b 09 72 65 67 69 73   ┆ improvement  trycount:  ; regis┆
0x0d1ca0…0d1cc0             74 65 72 20 63 20 63 6f 6e 74 61 69 6e 73 20 72 65 74 72 79 20 63 6f 75 6e 74 2c 20 64 65 63 72   ┆ter c contains retry count, decr┆
0x0d1cc0…0d1ce0             65 6d 65 6e 74 20 27 74 69 6c 20 7a 65 72 6f 0d 0a 09 64 63 72 09 63 0d 0a 09 6a 6e 7a 09 72 65   ┆ement 'til zero   dcr c   jnz re┆
0x0d1ce0…0d1d00             77 61 69 74 09 3b 66 6f 72 20 61 6e 6f 74 68 65 72 20 74 72 79 0d 0a 3b 0d 0a 3b 09 63 61 6e 6e   ┆wait ;for another try  ;  ; cann┆
0x0d1d00…0d1d20             6f 74 20 72 65 63 6f 76 65 72 20 66 72 6f 6d 20 65 72 72 6f 72 0d 0a 09 6d 76 69 09 61 2c 31 09   ┆ot recover from error   mvi a,1 ┆
0x0d1d20…0d1d40             3b 65 72 72 6f 72 20 63 6f 64 65 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 3b 09 69 6e 74 79 70 65 2c 20   ┆;error code   ret  ;  ; intype, ┆
0x0d1d40…0d1d60             69 6e 62 79 74 65 2c 20 69 6e 73 74 61 74 20 72 65 61 64 20 64 72 69 76 65 20 62 61 6e 6b 20 30   ┆inbyte, instat read drive bank 0┆
0x0d1d60…0d1d80             30 20 6f 72 20 31 30 0d 0a 69 6e 74 79 70 65 3a 09 6c 64 61 09 64 62 61 6e 6b 0d 0a 09 6f 72 61   ┆0 or 10  intype: lda dbank   ora┆
0x0d1d80…0d1da0             09 61 0d 0a 09 6a 6e 7a 09 69 6e 74 79 70 31 09 3b 73 6b 69 70 20 74 6f 20 62 61 6e 6b 20 31 30   ┆ a   jnz intyp1 ;skip to bank 10┆
0x0d1da0…0d1dc0             0d 0a 09 69 6e 09 72 74 79 70 65 0d 0a 09 72 65 74 0d 0a 69 6e 74 79 70 31 3a 09 69 6e 09 72 74   ┆   in rtype   ret  intyp1: in rt┆
0x0d1dc0…0d1de0             79 70 65 2b 31 30 68 09 3b 37 38 20 66 6f 72 20 30 2c 31 20 20 38 38 20 66 6f 72 20 32 2c 33 0d   ┆ype+10h ;78 for 0,1  88 for 2,3 ┆
0x0d1de0…0d1e00             0a 09 72 65 74 0d 0a 3b 0d 0a 69 6e 62 79 74 65 3a 09 6c 64 61 09 64 62 61 6e 6b 0d 0a 09 6f 72   ┆  ret  ;  inbyte: lda dbank   or┆
0x0d1e00…0d1e20 (55, 1, 15) 20 61 6e 64 20 77 62 6f 6f 74 20 61 72 65 20 74 68 65 20 73 61 6d 65 20 66 6f 72 20 6d 64 73 29   ┆ and wboot are the same for mds)┆
0x0d1e20…0d1e40             0d 0a 3b 09 63 6f 6e 73 74 09 63 6f 6e 73 6f 6c 65 20 73 74 61 74 75 73 0d 0a 3b 09 09 72 65 67   ┆  ; const console status  ;  reg┆
0x0d1e40…0d1e60             2d 61 20 3d 20 30 30 20 69 66 20 6e 6f 20 63 68 61 72 61 63 74 65 72 20 72 65 61 64 79 0d 0a 3b   ┆-a = 00 if no character ready  ;┆
0x0d1e60…0d1e80             09 09 72 65 67 2d 61 20 3d 20 66 66 20 69 66 20 63 68 61 72 61 63 74 65 72 20 72 65 61 64 79 0d   ┆  reg-a = ff if character ready ┆
0x0d1e80…0d1ea0             0a 3b 09 63 6f 6e 69 6e 09 63 6f 6e 73 6f 6c 65 20 63 68 61 72 61 63 74 65 72 20 69 6e 20 28 72   ┆ ; conin console character in (r┆
0x0d1ea0…0d1ec0             65 73 75 6c 74 20 69 6e 20 72 65 67 2d 61 29 0d 0a 3b 09 63 6f 6e 6f 75 74 09 63 6f 6e 73 6f 6c   ┆esult in reg-a)  ; conout consol┆
0x0d1ec0…0d1ee0             65 20 63 68 61 72 61 63 74 65 72 20 6f 75 74 20 28 63 68 61 72 20 69 6e 20 72 65 67 2d 63 29 0d   ┆e character out (char in reg-c) ┆
0x0d1ee0…0d1f00             0a 3b 09 6c 69 73 74 09 6c 69 73 74 20 6f 75 74 20 28 63 68 61 72 20 69 6e 20 72 65 67 2d 63 29   ┆ ; list list out (char in reg-c)┆
0x0d1f00…0d1f20             0d 0a 3b 09 70 75 6e 63 68 09 70 75 6e 63 68 20 6f 75 74 20 28 63 68 61 72 20 69 6e 20 72 65 67   ┆  ; punch punch out (char in reg┆
0x0d1f20…0d1f40             2d 63 29 0d 0a 3b 09 72 65 61 64 65 72 09 70 61 70 65 72 20 74 61 70 65 20 72 65 61 64 65 72 20   ┆-c)  ; reader paper tape reader ┆
0x0d1f40…0d1f60             69 6e 20 28 72 65 73 75 6c 74 20 74 6f 20 72 65 67 2d 61 29 0d 0a 3b 09 68 6f 6d 65 09 6d 6f 76   ┆in (result to reg-a)  ; home mov┆
0x0d1f60…0d1f80             65 20 74 6f 20 74 72 61 63 6b 20 30 30 0d 0a 3b 0d 0a 3b 09 28 74 68 65 20 66 6f 6c 6c 6f 77 69   ┆e to track 00  ;  ; (the followi┆
0x0d1f80…0d1fa0             6e 67 20 63 61 6c 6c 73 20 73 65 74 2d 75 70 20 74 68 65 20 69 6f 20 70 61 72 61 6d 65 74 65 72   ┆ng calls set-up the io parameter┆
0x0d1fa0…0d1fc0             20 62 6c 6f 63 6b 20 66 6f 72 20 74 68 65 0d 0a 3b 09 6d 64 73 2c 20 77 68 69 63 68 20 69 73 20   ┆ block for the  ; mds, which is ┆
0x0d1fc0…0d1fe0             75 73 65 64 20 74 6f 20 70 65 72 66 6f 72 6d 20 73 75 62 73 65 71 75 65 6e 74 20 72 65 61 64 73   ┆used to perform subsequent reads┆
0x0d1fe0…0d2000             20 61 6e 64 20 77 72 69 74 65 73 29 0d 0a 3b 09 73 65 6c 64 73 6b 09 73 65 6c 65 63 74 20 64 69   ┆ and writes)  ; seldsk select di┆
0x0d2000…0d2020 (56, 0, 1)  20 74 6f 20 72 65 67 2d 61 0d 0a 72 69 09 65 71 75 09 30 66 38 30 36 68 09 3b 72 65 61 64 65 72   ┆ to reg-a  ri equ 0f806h ;reader┆
0x0d2020…0d2040             20 69 6e 20 74 6f 20 72 65 67 2d 61 0d 0a 63 6f 09 65 71 75 09 30 66 38 30 39 68 09 3b 63 6f 6e   ┆ in to reg-a  co equ 0f809h ;con┆
0x0d2040…0d2060             73 6f 6c 65 20 63 68 61 72 20 66 72 6f 6d 20 63 20 74 6f 20 63 6f 6e 73 6f 6c 65 20 6f 75 74 0d   ┆sole char from c to console out ┆
0x0d2060…0d2080             0a 70 6f 09 65 71 75 09 30 66 38 30 63 68 09 3b 70 75 6e 63 68 20 63 68 61 72 20 66 72 6f 6d 20   ┆ po equ 0f80ch ;punch char from ┆
0x0d2080…0d20a0             63 20 74 6f 20 70 75 6e 63 68 20 64 65 76 69 63 65 0d 0a 6c 6f 09 65 71 75 09 30 66 38 30 66 68   ┆c to punch device  lo equ 0f80fh┆
0x0d20a0…0d20c0             09 3b 6c 69 73 74 20 66 72 6f 6d 20 63 20 74 6f 20 6c 69 73 74 20 64 65 76 69 63 65 0d 0a 63 73   ┆ ;list from c to list device  cs┆
0x0d20c0…0d20e0             74 73 09 65 71 75 09 30 66 38 31 32 68 09 3b 63 6f 6e 73 6f 6c 65 20 73 74 61 74 75 73 20 30 30   ┆ts equ 0f812h ;console status 00┆
0x0d20e0…0d2100             2f 66 66 20 74 6f 20 72 65 67 69 73 74 65 72 20 61 0d 0a 3b 0d 0a 3b 09 64 69 73 6b 20 70 6f 72   ┆/ff to register a  ;  ; disk por┆
0x0d2100…0d2120             74 73 20 61 6e 64 20 63 6f 6d 6d 61 6e 64 73 0d 0a 62 61 73 65 09 65 71 75 09 37 38 68 09 3b 62   ┆ts and commands  base equ 78h ;b┆
0x0d2120…0d2140             61 73 65 20 6f 66 20 64 69 73 6b 20 63 6f 6d 6d 61 6e 64 20 69 6f 20 70 6f 72 74 73 0d 0a 64 73   ┆ase of disk command io ports  ds┆
0x0d2140…0d2160             74 61 74 09 65 71 75 09 62 61 73 65 09 3b 64 69 73 6b 20 73 74 61 74 75 73 20 28 69 6e 70 75 74   ┆tat equ base ;disk status (input┆
0x0d2160…0d2180             29 0d 0a 72 74 79 70 65 09 65 71 75 09 62 61 73 65 2b 31 09 3b 72 65 73 75 6c 74 20 74 79 70 65   ┆)  rtype equ base+1 ;result type┆
0x0d2180…0d21a0             20 28 69 6e 70 75 74 29 0d 0a 72 62 79 74 65 09 65 71 75 09 62 61 73 65 2b 33 09 3b 72 65 73 75   ┆ (input)  rbyte equ base+3 ;resu┆
0x0d21a0…0d21c0             6c 74 20 62 79 74 65 20 28 69 6e 70 75 74 29 0d 0a 3b 0d 0a 69 6c 6f 77 09 65 71 75 09 62 61 73   ┆lt byte (input)  ;  ilow equ bas┆
0x0d21c0…0d21e0             65 2b 31 09 3b 69 6f 70 62 20 6c 6f 77 20 61 64 64 72 65 73 73 20 28 6f 75 74 70 75 74 29 0d 0a   ┆e+1 ;iopb low address (output)  ┆
0x0d21e0…0d2200             69 68 69 67 68 09 65 71 75 09 62 61 73 65 2b 32 09 3b 69 6f 70 62 20 68 69 67 68 20 61 64 64 72   ┆ihigh equ base+2 ;iopb high addr┆
0x0d2200…0d2220 (56, 0, 2)  75 6d 62 65 72 20 6a 75 73 74 20 72 65 61 64 0d 0a 09 63 70 69 09 32 36 09 3b 72 65 61 64 20 6c   ┆umber just read   cpi 26 ;read l┆
0x0d2220…0d2240             61 73 74 20 73 65 63 74 6f 72 3f 0d 0a 09 6a 63 09 72 64 31 0d 0a 3b 09 6d 75 73 74 20 62 65 20   ┆ast sector?   jc rd1  ; must be ┆
0x0d2240…0d2260             73 65 63 74 6f 72 20 32 36 2c 20 7a 65 72 6f 20 61 6e 64 20 67 6f 20 74 6f 20 6e 65 78 74 20 74   ┆sector 26, zero and go to next t┆
0x0d2260…0d2280             72 61 63 6b 0d 0a 09 6c 64 61 09 69 6f 74 09 3b 67 65 74 20 74 72 61 63 6b 20 74 6f 20 72 65 67   ┆rack   lda iot ;get track to reg┆
0x0d2280…0d22a0             69 73 74 65 72 20 61 0d 0a 09 69 6e 72 09 61 0d 0a 09 6d 6f 76 09 63 2c 61 09 3b 72 65 61 64 79   ┆ister a   inr a   mov c,a ;ready┆
0x0d22a0…0d22c0             20 66 6f 72 20 63 61 6c 6c 0d 0a 09 63 61 6c 6c 09 73 65 74 74 72 6b 0d 0a 09 78 72 61 09 61 09   ┆ for call   call settrk   xra a ┆
0x0d22c0…0d22e0             3b 63 6c 65 61 72 20 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 0d 0a 72 64 31 3a 09 69 6e 72 09 61   ┆;clear sector number  rd1: inr a┆
0x0d22e0…0d2300             09 3b 74 6f 20 6e 65 78 74 20 73 65 63 74 6f 72 0d 0a 09 6d 6f 76 09 63 2c 61 09 3b 72 65 61 64   ┆ ;to next sector   mov c,a ;read┆
0x0d2300…0d2320             79 20 66 6f 72 20 63 61 6c 6c 0d 0a 09 63 61 6c 6c 09 73 65 74 73 65 63 0d 0a 09 70 6f 70 09 62   ┆y for call   call setsec   pop b┆
0x0d2320…0d2340             09 3b 72 65 63 61 6c 6c 20 73 65 63 74 6f 72 20 63 6f 75 6e 74 0d 0a 09 64 63 72 09 62 09 3b 64   ┆ ;recall sector count   dcr b ;d┆
0x0d2340…0d2360             6f 6e 65 3f 0d 0a 09 6a 6e 7a 09 72 64 73 65 63 0d 0a 3b 0d 0a 3b 09 64 6f 6e 65 20 77 69 74 68   ┆one?   jnz rdsec  ;  ; done with┆
0x0d2360…0d2380             20 74 68 65 20 6c 6f 61 64 2c 20 72 65 73 65 74 20 64 65 66 61 75 6c 74 20 62 75 66 66 65 72 20   ┆ the load, reset default buffer ┆
0x0d2380…0d23a0             61 64 64 72 65 73 73 0d 0a 67 6f 63 70 6d 3a 09 3b 28 65 6e 74 65 72 20 68 65 72 65 20 66 72 6f   ┆address  gocpm: ;(enter here fro┆
0x0d23a0…0d23c0             6d 20 63 6f 6c 64 20 73 74 61 72 74 20 62 6f 6f 74 29 0d 0a 3b 09 65 6e 61 62 6c 65 20 72 73 74   ┆m cold start boot)  ; enable rst┆
0x0d23c0…0d23e0             30 20 61 6e 64 20 72 73 74 37 0d 0a 09 64 69 0d 0a 09 6d 76 69 09 61 2c 31 32 68 09 3b 69 6e 69   ┆0 and rst7   di   mvi a,12h ;ini┆
0x0d23e0…0d2400             74 69 61 6c 69 7a 65 20 63 6f 6d 6d 61 6e 64 0d 0a 09 6f 75 74 09 72 65 76 72 74 0d 0a 09 78 72   ┆tialize command   out revrt   xr┆
0x0d2400…0d2420 (56, 0, 3)  6c 78 69 09 68 2c 30 30 30 30 68 09 3b 72 65 74 75 72 6e 20 30 30 30 30 20 69 66 20 65 72 72 6f   ┆lxi h,0000h ;return 0000 if erro┆
0x0d2420…0d2440             72 0d 0a 09 6d 6f 76 09 61 2c 63 0d 0a 09 63 70 69 09 6e 64 69 73 6b 73 09 3b 74 6f 6f 20 6c 61   ┆r   mov a,c   cpi ndisks ;too la┆
0x0d2440…0d2460             72 67 65 3f 0d 0a 09 72 6e 63 09 09 3b 6c 65 61 76 65 20 48 4c 20 3d 20 30 30 30 30 0d 0a 3b 0d   ┆rge?   rnc  ;leave HL = 0000  ; ┆
0x0d2460…0d2480             0a 09 61 6e 69 09 31 30 62 09 3b 30 30 20 30 30 20 66 6f 72 20 64 72 69 76 65 20 30 2c 31 20 61   ┆  ani 10b ;00 00 for drive 0,1 a┆
0x0d2480…0d24a0             6e 64 20 31 30 20 31 30 20 66 6f 72 20 64 72 69 76 65 20 32 2c 33 0d 0a 09 73 74 61 09 64 62 61   ┆nd 10 10 for drive 2,3   sta dba┆
0x0d24a0…0d24c0             6e 6b 09 3b 74 6f 20 73 65 6c 65 63 74 20 64 72 69 76 65 20 62 61 6e 6b 0d 0a 09 6d 6f 76 09 61   ┆nk ;to select drive bank   mov a┆
0x0d24c0…0d24e0             2c 63 09 3b 30 30 2c 20 30 31 2c 20 31 30 2c 20 31 31 0d 0a 09 61 6e 69 09 31 62 09 3b 6d 64 73   ┆,c ;00, 01, 10, 11   ani 1b ;mds┆
0x0d24e0…0d2500             20 68 61 73 20 30 2c 31 20 61 74 20 37 38 2c 20 32 2c 33 20 61 74 20 38 38 0d 0a 09 6f 72 61 09   ┆ has 0,1 at 78, 2,3 at 88   ora ┆
0x0d2500…0d2520             61 09 3b 72 65 73 75 6c 74 20 30 30 3f 0d 0a 09 6a 7a 09 73 65 74 64 72 69 76 65 0d 0a 09 6d 76   ┆a ;result 00?   jz setdrive   mv┆
0x0d2520…0d2540             69 09 61 2c 30 30 31 31 30 30 30 30 62 09 3b 73 65 6c 65 63 74 73 20 64 72 69 76 65 20 31 20 69   ┆i a,00110000b ;selects drive 1 i┆
0x0d2540…0d2560             6e 20 62 61 6e 6b 0d 0a 73 65 74 64 72 69 76 65 3a 0d 0a 09 6d 6f 76 09 62 2c 61 09 3b 73 61 76   ┆n bank  setdrive:   mov b,a ;sav┆
0x0d2560…0d2580             65 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 6c 78 69 09 68 2c 69 6f 66 09 3b 69 6f 20 66   ┆e the function   lxi h,iof ;io f┆
0x0d2580…0d25a0             75 6e 63 74 69 6f 6e 0d 0a 09 6d 6f 76 09 61 2c 6d 0d 0a 09 61 6e 69 09 31 31 30 30 31 31 31 31   ┆unction   mov a,m   ani 11001111┆
0x0d25a0…0d25c0             62 09 3b 6d 61 73 6b 20 6f 75 74 20 64 69 73 6b 20 6e 75 6d 62 65 72 0d 0a 09 6f 72 61 09 62 09   ┆b ;mask out disk number   ora b ┆
0x0d25c0…0d25e0             3b 6d 61 73 6b 20 69 6e 20 6e 65 77 20 64 69 73 6b 20 6e 75 6d 62 65 72 0d 0a 09 6d 6f 76 09 6d   ┆;mask in new disk number   mov m┆
0x0d25e0…0d2600             2c 61 09 3b 73 61 76 65 20 69 74 20 69 6e 20 69 6f 70 62 0d 0a 09 6d 6f 76 09 6c 2c 63 0d 0a 09   ┆,a ;save it in iopb   mov l,c   ┆
0x0d2600…0d2620 (56, 0, 4)  20 73 65 6c 65 63 74 20 62 79 74 65 0d 0a 09 6f 72 61 09 6d 09 09 3b 73 65 6c 65 63 74 20 70 72   ┆ select byte   ora m  ;select pr┆
0x0d2620…0d2640             6f 70 65 72 20 64 69 73 6b 20 62 61 6e 6b 0d 0a 09 6d 6f 76 09 6d 2c 61 09 09 3b 73 65 74 20 64   ┆oper disk bank   mov m,a  ;set d┆
0x0d2640…0d2660             69 73 6b 20 73 65 6c 65 63 74 20 62 69 74 20 6f 6e 2f 6f 66 66 0d 0a 09 72 65 74 0d 0a 3b 0d 0a   ┆isk select bit on/off   ret  ;  ┆
0x0d2660…0d2680             77 61 69 74 69 6f 3a 0d 0a 09 6d 76 69 09 63 2c 72 65 74 72 79 09 3b 6d 61 78 20 72 65 74 72 69   ┆waitio:   mvi c,retry ;max retri┆
0x0d2680…0d26a0             65 73 20 62 65 66 6f 72 65 20 70 65 72 6d 20 65 72 72 6f 72 0d 0a 72 65 77 61 69 74 3a 0d 0a 3b   ┆es before perm error  rewait:  ;┆
0x0d26a0…0d26c0             09 73 74 61 72 74 20 74 68 65 20 69 2f 6f 20 66 75 6e 63 74 69 6f 6e 20 61 6e 64 20 77 61 69 74   ┆ start the i/o function and wait┆
0x0d26c0…0d26e0             20 66 6f 72 20 63 6f 6d 70 6c 65 74 69 6f 6e 0d 0a 09 63 61 6c 6c 09 69 6e 74 79 70 65 09 3b 69   ┆ for completion   call intype ;i┆
0x0d26e0…0d2700             6e 20 72 74 79 70 65 0d 0a 09 63 61 6c 6c 09 69 6e 62 79 74 65 09 3b 63 6c 65 61 72 73 20 74 68   ┆n rtype   call inbyte ;clears th┆
0x0d2700…0d2720             65 20 63 6f 6e 74 72 6f 6c 6c 65 72 0d 0a 3b 0d 0a 09 6c 64 61 09 64 62 61 6e 6b 09 09 3b 73 65   ┆e controller  ;   lda dbank  ;se┆
0x0d2720…0d2740             74 20 62 61 6e 6b 20 66 6c 61 67 73 0d 0a 09 6f 72 61 09 61 09 09 3b 7a 65 72 6f 20 69 66 20 64   ┆t bank flags   ora a  ;zero if d┆
0x0d2740…0d2760             72 69 76 65 20 30 2c 31 20 61 6e 64 20 6e 7a 20 69 66 20 32 2c 33 0d 0a 09 6d 76 69 09 61 2c 69   ┆rive 0,1 and nz if 2,3   mvi a,i┆
0x0d2760…0d2780             6f 70 62 20 61 6e 64 20 30 66 66 68 09 3b 6c 6f 77 20 61 64 64 72 65 73 73 20 66 6f 72 20 69 6f   ┆opb and 0ffh ;low address for io┆
0x0d2780…0d27a0             70 62 0d 0a 09 6d 76 69 09 62 2c 69 6f 70 62 20 73 68 72 20 38 09 3b 68 69 67 68 20 61 64 64 72   ┆pb   mvi b,iopb shr 8 ;high addr┆
0x0d27a0…0d27c0             65 73 73 20 66 6f 72 20 69 6f 70 62 0d 0a 09 6a 6e 7a 09 69 6f 64 72 31 09 3b 64 72 69 76 65 20   ┆ess for iopb   jnz iodr1 ;drive ┆
0x0d27c0…0d27e0             62 61 6e 6b 20 31 3f 0d 0a 09 6f 75 74 09 69 6c 6f 77 09 09 3b 6c 6f 77 20 61 64 64 72 65 73 73   ┆bank 1?   out ilow  ;low address┆
0x0d27e0…0d2800             20 74 6f 20 63 6f 6e 74 72 6f 6c 6c 65 72 0d 0a 09 6d 6f 76 09 61 2c 62 0d 0a 09 6f 75 74 09 69   ┆ to controller   mov a,b   out i┆
0x0d2800…0d2820 (56, 0, 5)  65 73 73 20 28 6f 75 74 70 75 74 29 0d 0a 3b 0d 0a 72 65 61 64 66 09 65 71 75 09 34 68 09 3b 72   ┆ess (output)  ;  readf equ 4h ;r┆
0x0d2820…0d2840             65 61 64 20 66 75 6e 63 74 69 6f 6e 0d 0a 77 72 69 74 66 09 65 71 75 09 36 68 09 3b 77 72 69 74   ┆ead function  writf equ 6h ;writ┆
0x0d2840…0d2860             65 20 66 75 6e 63 74 69 6f 6e 0d 0a 72 65 63 61 6c 09 65 71 75 09 33 68 09 3b 72 65 63 61 6c 69   ┆e function  recal equ 3h ;recali┆
0x0d2860…0d2880             62 72 61 74 65 20 64 72 69 76 65 0d 0a 69 6f 72 64 79 09 65 71 75 09 34 68 09 3b 69 2f 6f 20 66   ┆brate drive  iordy equ 4h ;i/o f┆
0x0d2880…0d28a0             69 6e 69 73 68 65 64 20 6d 61 73 6b 0d 0a 63 72 09 65 71 75 09 30 64 68 09 3b 63 61 72 72 69 61   ┆inished mask  cr equ 0dh ;carria┆
0x0d28a0…0d28c0             67 65 20 72 65 74 75 72 6e 0d 0a 6c 66 09 65 71 75 09 30 61 68 09 3b 6c 69 6e 65 20 66 65 65 64   ┆ge return  lf equ 0ah ;line feed┆
0x0d28c0…0d28e0             0d 0a 3b 0d 0a 73 69 67 6e 6f 6e 3a 09 3b 73 69 67 6e 6f 6e 20 6d 65 73 73 61 67 65 3a 20 78 78   ┆  ;  signon: ;signon message: xx┆
0x0d28e0…0d2900             6b 20 63 70 2f 6d 20 76 65 72 73 20 79 2e 79 0d 0a 09 64 62 09 63 72 2c 6c 66 2c 6c 66 0d 0a 09   ┆k cp/m vers y.y   db cr,lf,lf   ┆
0x0d2900…0d2920             69 66 09 74 65 73 74 0d 0a 09 64 62 09 27 33 32 27 09 3b 33 32 6b 20 65 78 61 6d 70 6c 65 20 62   ┆if test   db '32' ;32k example b┆
0x0d2920…0d2940             69 6f 73 0d 0a 09 65 6e 64 69 66 0d 0a 09 69 66 09 6e 6f 74 20 74 65 73 74 0d 0a 09 64 62 09 27   ┆ios   endif   if not test   db '┆
0x0d2940…0d2960             30 30 27 09 3b 6d 65 6d 6f 72 79 20 73 69 7a 65 20 66 69 6c 6c 65 64 20 62 79 20 72 65 6c 6f 63   ┆00' ;memory size filled by reloc┆
0x0d2960…0d2980             61 74 6f 72 0d 0a 09 65 6e 64 69 66 0d 0a 09 64 62 09 27 6b 20 43 50 2f 4d 20 76 65 72 73 20 27   ┆ator   endif   db 'k CP/M vers '┆
0x0d2980…0d29a0             0d 0a 09 64 62 09 76 65 72 73 2f 31 30 2b 27 30 27 2c 27 2e 27 2c 76 65 72 73 20 6d 6f 64 20 31   ┆   db vers/10+'0','.',vers mod 1┆
0x0d29a0…0d29c0             30 2b 27 30 27 0d 0a 09 64 62 09 63 72 2c 6c 66 2c 30 0d 0a 3b 0d 0a 62 6f 6f 74 3a 09 3b 70 72   ┆0+'0'   db cr,lf,0  ;  boot: ;pr┆
0x0d29c0…0d29e0             69 6e 74 20 73 69 67 6e 6f 6e 20 6d 65 73 73 61 67 65 20 61 6e 64 20 67 6f 20 74 6f 20 63 63 70   ┆int signon message and go to ccp┆
0x0d29e0…0d2a00             0d 0a 3b 09 28 6e 6f 74 65 3a 20 6d 64 73 20 62 6f 6f 74 20 69 6e 69 74 69 61 6c 69 7a 65 64 20   ┆  ; (note: mds boot initialized ┆
0x0d2a00…0d2a20 (56, 0, 6)  61 09 61 0d 0a 09 6f 75 74 09 69 6e 74 63 09 3b 63 6c 65 61 72 65 64 0d 0a 09 6d 76 69 09 61 2c   ┆a a   out intc ;cleared   mvi a,┆
0x0d2a20…0d2a40             69 6e 74 65 09 3b 72 73 74 30 20 61 6e 64 20 72 73 74 37 20 62 69 74 73 20 6f 6e 0d 0a 09 6f 75   ┆inte ;rst0 and rst7 bits on   ou┆
0x0d2a40…0d2a60             74 09 69 6e 74 63 0d 0a 09 78 72 61 09 61 0d 0a 09 6f 75 74 09 69 63 6f 6e 09 3b 69 6e 74 65 72   ┆t intc   xra a   out icon ;inter┆
0x0d2a60…0d2a80             72 75 70 74 20 63 6f 6e 74 72 6f 6c 0d 0a 3b 0d 0a 3b 09 73 65 74 20 64 65 66 61 75 6c 74 20 62   ┆rupt control  ;  ; set default b┆
0x0d2a80…0d2aa0             75 66 66 65 72 20 61 64 64 72 65 73 73 20 74 6f 20 38 30 68 0d 0a 09 6c 78 69 09 62 2c 62 75 66   ┆uffer address to 80h   lxi b,buf┆
0x0d2aa0…0d2ac0             66 0d 0a 09 63 61 6c 6c 09 73 65 74 64 6d 61 0d 0a 3b 0d 0a 3b 09 72 65 73 65 74 20 6d 6f 6e 69   ┆f   call setdma  ;  ; reset moni┆
0x0d2ac0…0d2ae0             74 6f 72 20 65 6e 74 72 79 20 70 6f 69 6e 74 73 0d 0a 09 6d 76 69 09 61 2c 6a 6d 70 0d 0a 09 73   ┆tor entry points   mvi a,jmp   s┆
0x0d2ae0…0d2b00             74 61 09 30 0d 0a 09 6c 78 69 09 68 2c 77 62 6f 6f 74 65 0d 0a 09 73 68 6c 64 09 31 09 3b 6a 6d   ┆ta 0   lxi h,wboote   shld 1 ;jm┆
0x0d2b00…0d2b20             70 20 77 62 6f 6f 74 20 61 74 20 6c 6f 63 61 74 69 6f 6e 20 30 30 0d 0a 09 73 74 61 09 35 0d 0a   ┆p wboot at location 00   sta 5  ┆
0x0d2b20…0d2b40             09 6c 78 69 09 68 2c 62 64 6f 73 0d 0a 09 73 68 6c 64 09 36 09 3b 6a 6d 70 20 62 64 6f 73 20 61   ┆ lxi h,bdos   shld 6 ;jmp bdos a┆
0x0d2b40…0d2b60             74 20 6c 6f 63 61 74 69 6f 6e 20 35 0d 0a 09 69 66 09 6e 6f 74 20 74 65 73 74 0d 0a 09 73 74 61   ┆t location 5   if not test   sta┆
0x0d2b60…0d2b80             09 37 2a 38 09 3b 6a 6d 70 20 74 6f 20 6d 6f 6e 38 30 20 28 6d 61 79 20 68 61 76 65 20 62 65 65   ┆ 7*8 ;jmp to mon80 (may have bee┆
0x0d2b80…0d2ba0             6e 20 63 68 61 6e 67 65 64 20 62 79 20 64 64 74 29 0d 0a 09 6c 78 69 09 68 2c 6d 6f 6e 38 30 0d   ┆n changed by ddt)   lxi h,mon80 ┆
0x0d2ba0…0d2bc0             0a 09 73 68 6c 64 09 37 2a 38 2b 31 0d 0a 09 65 6e 64 69 66 0d 0a 3b 09 6c 65 61 76 65 20 69 6f   ┆  shld 7*8+1   endif  ; leave io┆
0x0d2bc0…0d2be0             62 79 74 65 20 73 65 74 0d 0a 3b 09 70 72 65 76 69 6f 75 73 6c 79 20 73 65 6c 65 63 74 65 64 20   ┆byte set  ; previously selected ┆
0x0d2be0…0d2c00             64 69 73 6b 20 77 61 73 20 62 2c 20 73 65 6e 64 20 70 61 72 61 6d 65 74 65 72 20 74 6f 20 63 70   ┆disk was b, send parameter to cp┆
0x0d2c00…0d2c20 (56, 0, 7)  6d 76 69 09 68 2c 30 09 3b 48 4c 3d 64 69 73 6b 20 6e 75 6d 62 65 72 0d 0a 09 64 61 64 09 68 09   ┆mvi h,0 ;HL=disk number   dad h ┆
0x0d2c20…0d2c40             3b 2a 32 0d 0a 09 64 61 64 09 68 09 3b 2a 34 0d 0a 09 64 61 64 09 68 09 3b 2a 38 0d 0a 09 64 61   ┆;*2   dad h ;*4   dad h ;*8   da┆
0x0d2c40…0d2c60             64 09 68 09 3b 2a 31 36 0d 0a 09 6c 78 69 09 64 2c 64 70 62 61 73 65 0d 0a 09 64 61 64 09 64 09   ┆d h ;*16   lxi d,dpbase   dad d ┆
0x0d2c60…0d2c80             3b 48 4c 3d 64 69 73 6b 20 68 65 61 64 65 72 20 74 61 62 6c 65 20 61 64 64 72 65 73 73 0d 0a 09   ┆;HL=disk header table address   ┆
0x0d2c80…0d2ca0             72 65 74 0d 0a 3b 0d 0a 3b 0d 0a 73 65 74 74 72 6b 3a 09 3b 73 65 74 20 74 72 61 63 6b 20 61 64   ┆ret  ;  ;  settrk: ;set track ad┆
0x0d2ca0…0d2cc0             64 72 65 73 73 20 67 69 76 65 6e 20 62 79 20 63 0d 0a 09 6c 78 69 09 68 2c 69 6f 74 0d 0a 09 6d   ┆dress given by c   lxi h,iot   m┆
0x0d2cc0…0d2ce0             6f 76 09 6d 2c 63 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 73 65 74 73 65 63 3a 09 3b 73 65 74 20 73 65   ┆ov m,c   ret  ;  setsec: ;set se┆
0x0d2ce0…0d2d00             63 74 6f 72 20 6e 75 6d 62 65 72 20 67 69 76 65 6e 20 62 79 20 63 0d 0a 09 6c 78 69 09 68 2c 69   ┆ctor number given by c   lxi h,i┆
0x0d2d00…0d2d20             6f 73 0d 0a 09 6d 6f 76 09 6d 2c 63 0d 0a 09 72 65 74 0d 0a 73 65 63 74 72 61 6e 3a 0d 0a 09 09   ┆os   mov m,c   ret  sectran:    ┆
0x0d2d20…0d2d40             3b 74 72 61 6e 73 6c 61 74 65 20 73 65 63 74 6f 72 20 62 63 20 75 73 69 6e 67 20 74 61 62 6c 65   ┆;translate sector bc using table┆
0x0d2d40…0d2d60             20 61 74 20 64 65 0d 0a 09 6d 76 69 09 62 2c 30 09 3b 64 6f 75 62 6c 65 20 70 72 65 63 69 73 69   ┆ at de   mvi b,0 ;double precisi┆
0x0d2d60…0d2d80             6f 6e 20 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 20 69 6e 20 42 43 0d 0a 09 78 63 68 67 09 09 3b   ┆on sector number in BC   xchg  ;┆
0x0d2d80…0d2da0             74 72 61 6e 73 6c 61 74 65 20 74 61 62 6c 65 20 61 64 64 72 65 73 73 20 74 6f 20 48 4c 0d 0a 09   ┆translate table address to HL   ┆
0x0d2da0…0d2dc0             64 61 64 09 62 09 3b 74 72 61 6e 73 6c 61 74 65 28 73 65 63 74 6f 72 29 20 61 64 64 72 65 73 73   ┆dad b ;translate(sector) address┆
0x0d2dc0…0d2de0             0d 0a 09 6d 6f 76 09 61 2c 6d 09 3b 74 72 61 6e 73 6c 61 74 65 64 20 73 65 63 74 6f 72 20 6e 75   ┆   mov a,m ;translated sector nu┆
0x0d2de0…0d2e00             6d 62 65 72 20 74 6f 20 41 0d 0a 09 73 74 61 09 69 6f 73 0d 0a 09 6d 6f 76 09 6c 2c 61 09 3b 72   ┆mber to A   sta ios   mov l,a ;r┆
0x0d2e00…0d2e20 (56, 0, 8)  68 69 67 68 09 3b 68 69 67 68 20 61 64 64 72 65 73 73 0d 0a 09 6a 6d 70 09 77 61 69 74 30 09 09   ┆high ;high address   jmp wait0  ┆
0x0d2e20…0d2e40             3b 74 6f 20 77 61 69 74 20 66 6f 72 20 63 6f 6d 70 6c 65 74 65 0d 0a 3b 0d 0a 69 6f 64 72 31 3a   ┆;to wait for complete  ;  iodr1:┆
0x0d2e40…0d2e60             09 3b 64 72 69 76 65 20 62 61 6e 6b 20 31 0d 0a 09 6f 75 74 09 69 6c 6f 77 2b 31 30 68 09 3b 38   ┆ ;drive bank 1   out ilow+10h ;8┆
0x0d2e60…0d2e80             38 20 66 6f 72 20 64 72 69 76 65 20 62 61 6e 6b 20 31 30 0d 0a 09 6d 6f 76 09 61 2c 62 0d 0a 09   ┆8 for drive bank 10   mov a,b   ┆
0x0d2e80…0d2ea0             6f 75 74 09 69 68 69 67 68 2b 31 30 68 0d 0a 3b 0d 0a 77 61 69 74 30 3a 09 63 61 6c 6c 09 69 6e   ┆out ihigh+10h  ;  wait0: call in┆
0x0d2ea0…0d2ec0             73 74 61 74 09 09 3b 77 61 69 74 20 66 6f 72 20 63 6f 6d 70 6c 65 74 69 6f 6e 0d 0a 09 61 6e 69   ┆stat  ;wait for completion   ani┆
0x0d2ec0…0d2ee0             09 69 6f 72 64 79 09 09 3b 72 65 61 64 79 3f 0d 0a 09 6a 7a 09 77 61 69 74 30 0d 0a 3b 0d 0a 3b   ┆ iordy  ;ready?   jz wait0  ;  ;┆
0x0d2ee0…0d2f00             09 63 68 65 63 6b 20 69 6f 20 63 6f 6d 70 6c 65 74 69 6f 6e 20 6f 6b 0d 0a 09 63 61 6c 6c 09 69   ┆ check io completion ok   call i┆
0x0d2f00…0d2f20             6e 74 79 70 65 09 09 3b 6d 75 73 74 20 62 65 20 69 6f 20 63 6f 6d 70 6c 65 74 65 20 28 30 30 29   ┆ntype  ;must be io complete (00)┆
0x0d2f20…0d2f40             20 75 6e 6c 69 6e 6b 65 64 0d 0a 3b 09 30 30 20 75 6e 6c 69 6e 6b 65 64 20 69 2f 6f 20 63 6f 6d   ┆ unlinked  ; 00 unlinked i/o com┆
0x0d2f40…0d2f60             70 6c 65 74 65 2c 20 20 20 20 30 31 20 6c 69 6e 6b 65 64 20 69 2f 6f 20 63 6f 6d 70 6c 65 74 65   ┆plete,    01 linked i/o complete┆
0x0d2f60…0d2f80             20 28 6e 6f 74 20 75 73 65 64 29 0d 0a 3b 09 31 30 20 64 69 73 6b 20 73 74 61 74 75 73 20 63 68   ┆ (not used)  ; 10 disk status ch┆
0x0d2f80…0d2fa0             61 6e 67 65 64 20 20 20 20 20 20 20 31 31 20 28 6e 6f 74 20 75 73 65 64 29 0d 0a 09 63 70 69 09   ┆anged       11 (not used)   cpi ┆
0x0d2fa0…0d2fc0             31 30 62 09 09 3b 72 65 61 64 79 20 73 74 61 74 75 73 20 63 68 61 6e 67 65 3f 0d 0a 09 6a 7a 09   ┆10b  ;ready status change?   jz ┆
0x0d2fc0…0d2fe0             77 72 65 61 64 79 0d 0a 3b 0d 0a 3b 09 6d 75 73 74 20 62 65 20 30 30 20 69 6e 20 74 68 65 20 61   ┆wready  ;  ; must be 00 in the a┆
0x0d2fe0…0d3000             63 63 75 6d 75 6c 61 74 6f 72 0d 0a 09 6f 72 61 09 61 0d 0a 09 6a 6e 7a 09 77 65 72 72 6f 72 09   ┆ccumulator   ora a   jnz werror ┆
0x0d3000…0d3020 (56, 0, 9)  69 6f 62 79 74 65 20 61 74 20 30 30 30 33 68 29 0d 0a 09 6c 78 69 09 73 70 2c 62 75 66 66 2b 38   ┆iobyte at 0003h)   lxi sp,buff+8┆
0x0d3020…0d3040             30 68 0d 0a 09 6c 78 69 09 68 2c 73 69 67 6e 6f 6e 0d 0a 09 63 61 6c 6c 09 70 72 6d 73 67 09 3b   ┆0h   lxi h,signon   call prmsg ;┆
0x0d3040…0d3060             70 72 69 6e 74 20 6d 65 73 73 61 67 65 0d 0a 09 78 72 61 09 61 09 3b 63 6c 65 61 72 20 61 63 63   ┆print message   xra a ;clear acc┆
0x0d3060…0d3080             75 6d 75 6c 61 74 6f 72 0d 0a 09 73 74 61 09 63 64 69 73 6b 09 3b 73 65 74 20 69 6e 69 74 69 61   ┆umulator   sta cdisk ;set initia┆
0x0d3080…0d30a0             6c 6c 79 20 74 6f 20 64 69 73 6b 20 61 0d 0a 09 6a 6d 70 09 67 6f 63 70 6d 09 3b 67 6f 20 74 6f   ┆lly to disk a   jmp gocpm ;go to┆
0x0d30a0…0d30c0             20 63 70 2f 6d 0d 0a 3b 0d 0a 3b 0d 0a 77 62 6f 6f 74 3a 3b 09 6c 6f 61 64 65 72 20 6f 6e 20 74   ┆ cp/m  ;  ;  wboot:; loader on t┆
0x0d30c0…0d30e0             72 61 63 6b 20 30 2c 20 73 65 63 74 6f 72 20 31 2c 20 77 68 69 63 68 20 77 69 6c 6c 20 62 65 20   ┆rack 0, sector 1, which will be ┆
0x0d30e0…0d3100             73 6b 69 70 70 65 64 20 66 6f 72 20 77 61 72 6d 20 0d 0a 3b 09 72 65 61 64 20 63 70 2f 6d 20 66   ┆skipped for warm   ; read cp/m f┆
0x0d3100…0d3120             72 6f 6d 20 64 69 73 6b 20 2d 20 61 73 73 75 6d 69 6e 67 20 74 68 65 72 65 20 69 73 20 61 20 31   ┆rom disk - assuming there is a 1┆
0x0d3120…0d3140             32 38 20 62 79 74 65 20 63 6f 6c 64 20 73 74 61 72 74 0d 0a 3b 09 73 74 61 72 74 2e 0d 0a 3b 0d   ┆28 byte cold start  ; start.  ; ┆
0x0d3140…0d3160             0a 09 6c 78 69 09 73 70 2c 62 75 66 66 09 3b 75 73 69 6e 67 20 64 6d 61 20 2d 20 74 68 75 73 20   ┆  lxi sp,buff ;using dma - thus ┆
0x0d3160…0d3180             38 30 20 74 68 72 75 20 66 66 20 61 76 61 69 6c 61 62 6c 65 20 66 6f 72 20 73 74 61 63 6b 0d 0a   ┆80 thru ff available for stack  ┆
0x0d3180…0d31a0             3b 0d 0a 09 6d 76 69 09 63 2c 72 65 74 72 79 09 3b 6d 61 78 20 72 65 74 72 69 65 73 0d 0a 09 70   ┆;   mvi c,retry ;max retries   p┆
0x0d31a0…0d31c0             75 73 68 09 62 0d 0a 77 62 6f 6f 74 30 3a 09 3b 65 6e 74 65 72 20 68 65 72 65 20 6f 6e 20 65 72   ┆ush b  wboot0: ;enter here on er┆
0x0d31c0…0d31e0             72 6f 72 20 72 65 74 72 69 65 73 0d 0a 09 6c 78 69 09 62 2c 63 70 6d 62 09 3b 73 65 74 20 64 6d   ┆ror retries   lxi b,cpmb ;set dm┆
0x0d31e0…0d3200             61 20 61 64 64 72 65 73 73 20 74 6f 20 73 74 61 72 74 20 6f 66 20 64 69 73 6b 20 73 79 73 74 65   ┆a address to start of disk syste┆
0x0d3200…0d3220 (56, 0, 10) 6d 0d 0a 09 6c 64 61 09 63 64 69 73 6b 09 3b 6c 61 73 74 20 6c 6f 67 67 65 64 20 64 69 73 6b 20   ┆m   lda cdisk ;last logged disk ┆
0x0d3220…0d3240             6e 75 6d 62 65 72 0d 0a 09 6d 6f 76 09 63 2c 61 09 3b 73 65 6e 64 20 74 6f 20 63 63 70 20 74 6f   ┆number   mov c,a ;send to ccp to┆
0x0d3240…0d3260             20 6c 6f 67 20 69 74 20 69 6e 0d 0a 09 65 69 0d 0a 09 6a 6d 70 09 63 70 6d 62 0d 0a 3b 0d 0a 3b   ┆ log it in   ei   jmp cpmb  ;  ;┆
0x0d3260…0d3280             09 65 72 72 6f 72 20 63 6f 6e 64 69 74 69 6f 6e 20 6f 63 63 75 72 72 65 64 2c 20 70 72 69 6e 74   ┆ error condition occurred, print┆
0x0d3280…0d32a0             20 6d 65 73 73 61 67 65 20 61 6e 64 20 72 65 74 72 79 0d 0a 62 6f 6f 74 65 72 72 3a 0d 0a 09 70   ┆ message and retry  booterr:   p┆
0x0d32a0…0d32c0             6f 70 09 62 09 3b 72 65 63 61 6c 6c 20 63 6f 75 6e 74 73 0d 0a 09 64 63 72 09 63 0d 0a 09 6a 7a   ┆op b ;recall counts   dcr c   jz┆
0x0d32c0…0d32e0             09 62 6f 6f 74 65 72 30 0d 0a 3b 09 74 72 79 20 61 67 61 69 6e 0d 0a 09 70 75 73 68 09 62 0d 0a   ┆ booter0  ; try again   push b  ┆
0x0d32e0…0d3300             09 6a 6d 70 09 77 62 6f 6f 74 30 0d 0a 3b 0d 0a 62 6f 6f 74 65 72 30 3a 0d 0a 3b 09 6f 74 68 65   ┆ jmp wboot0  ;  booter0:  ; othe┆
0x0d3300…0d3320             72 77 69 73 65 20 74 6f 6f 20 6d 61 6e 79 20 72 65 74 72 69 65 73 0d 0a 09 6c 78 69 09 68 2c 62   ┆rwise too many retries   lxi h,b┆
0x0d3320…0d3340             6f 6f 74 6d 73 67 0d 0a 09 63 61 6c 6c 09 70 72 6d 73 67 0d 0a 09 6a 6d 70 09 72 6d 6f 6e 38 30   ┆ootmsg   call prmsg   jmp rmon80┆
0x0d3340…0d3360             09 3b 6d 64 73 20 68 61 72 64 77 61 72 65 20 6d 6f 6e 69 74 6f 72 0d 0a 3b 0d 0a 62 6f 6f 74 6d   ┆ ;mds hardware monitor  ;  bootm┆
0x0d3360…0d3380             73 67 3a 0d 0a 09 64 62 09 27 3f 62 6f 6f 74 27 2c 30 0d 0a 3b 0d 0a 3b 0d 0a 63 6f 6e 73 74 3a   ┆sg:   db '?boot',0  ;  ;  const:┆
0x0d3380…0d33a0             09 3b 63 6f 6e 73 6f 6c 65 20 73 74 61 74 75 73 20 74 6f 20 72 65 67 2d 61 0d 0a 3b 09 28 65 78   ┆ ;console status to reg-a  ; (ex┆
0x0d33a0…0d33c0             61 63 74 6c 79 20 74 68 65 20 73 61 6d 65 20 61 73 20 6d 64 73 20 63 61 6c 6c 29 0d 0a 09 6a 6d   ┆actly the same as mds call)   jm┆
0x0d33c0…0d33e0             70 09 63 73 74 73 0d 0a 3b 0d 0a 63 6f 6e 69 6e 3a 09 3b 63 6f 6e 73 6f 6c 65 20 63 68 61 72 61   ┆p csts  ;  conin: ;console chara┆
0x0d33e0…0d3400             63 74 65 72 20 74 6f 20 72 65 67 2d 61 0d 0a 09 63 61 6c 6c 09 63 69 0d 0a 09 61 6e 69 09 37 66   ┆cter to reg-a   call ci   ani 7f┆
0x0d3400…0d3420 (56, 0, 11) 65 74 75 72 6e 20 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 20 69 6e 20 4c 0d 0a 09 72 65 74 0d 0a   ┆eturn sector number in L   ret  ┆
0x0d3420…0d3440             3b 0d 0a 73 65 74 64 6d 61 3a 09 3b 73 65 74 20 64 6d 61 20 61 64 64 72 65 73 73 20 67 69 76 65   ┆;  setdma: ;set dma address give┆
0x0d3440…0d3460             6e 20 62 79 20 72 65 67 73 20 62 2c 63 0d 0a 09 6d 6f 76 09 6c 2c 63 0d 0a 09 6d 6f 76 09 68 2c   ┆n by regs b,c   mov l,c   mov h,┆
0x0d3460…0d3480             62 0d 0a 09 73 68 6c 64 09 69 6f 64 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 72 65 61 64 3a 09 3b 72 65   ┆b   shld iod   ret  ;  read: ;re┆
0x0d3480…0d34a0             61 64 20 6e 65 78 74 20 64 69 73 6b 20 72 65 63 6f 72 64 20 28 61 73 73 75 6d 69 6e 67 20 64 69   ┆ad next disk record (assuming di┆
0x0d34a0…0d34c0             73 6b 2f 74 72 6b 2f 73 65 63 2f 64 6d 61 20 73 65 74 29 0d 0a 09 6d 76 69 09 63 2c 72 65 61 64   ┆sk/trk/sec/dma set)   mvi c,read┆
0x0d34c0…0d34e0             66 09 3b 73 65 74 20 74 6f 20 72 65 61 64 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 63 61 6c 6c 09 73   ┆f ;set to read function   call s┆
0x0d34e0…0d3500             65 74 66 75 6e 63 0d 0a 09 63 61 6c 6c 09 77 61 69 74 69 6f 09 3b 70 65 72 66 6f 72 6d 20 72 65   ┆etfunc   call waitio ;perform re┆
0x0d3500…0d3520             61 64 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 72 65 74 09 09 3b 6d 61 79 20 68 61 76 65 20 65 72 72   ┆ad function   ret  ;may have err┆
0x0d3520…0d3540             6f 72 20 73 65 74 20 69 6e 20 72 65 67 2d 61 0d 0a 3b 0d 0a 3b 0d 0a 77 72 69 74 65 3a 09 3b 64   ┆or set in reg-a  ;  ;  write: ;d┆
0x0d3540…0d3560             69 73 6b 20 77 72 69 74 65 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 6d 76 69 09 63 2c 77 72 69 74 66   ┆isk write function   mvi c,writf┆
0x0d3560…0d3580             0d 0a 09 63 61 6c 6c 09 73 65 74 66 75 6e 63 09 3b 73 65 74 20 74 6f 20 77 72 69 74 65 20 66 75   ┆   call setfunc ;set to write fu┆
0x0d3580…0d35a0             6e 63 74 69 6f 6e 0d 0a 09 63 61 6c 6c 09 77 61 69 74 69 6f 0d 0a 09 72 65 74 09 09 3b 6d 61 79   ┆nction   call waitio   ret  ;may┆
0x0d35a0…0d35c0             20 68 61 76 65 20 65 72 72 6f 72 20 73 65 74 0d 0a 3b 0d 0a 3b 0d 0a 3b 09 75 74 69 6c 69 74 79   ┆ have error set  ;  ;  ; utility┆
0x0d35c0…0d35e0             20 73 75 62 72 6f 75 74 69 6e 65 73 0d 0a 70 72 6d 73 67 3a 09 3b 70 72 69 6e 74 20 6d 65 73 73   ┆ subroutines  prmsg: ;print mess┆
0x0d35e0…0d3600             61 67 65 20 61 74 20 68 2c 6c 20 74 6f 20 30 0d 0a 09 6d 6f 76 09 61 2c 6d 0d 0a 09 6f 72 61 09   ┆age at h,l to 0   mov a,m   ora ┆
0x0d3600…0d3620 (56, 0, 12) 09 3b 73 6f 6d 65 20 6f 74 68 65 72 20 63 6f 6e 64 69 74 69 6f 6e 2c 20 72 65 74 72 79 0d 0a 3b   ┆ ;some other condition, retry  ;┆
0x0d3620…0d3640             0d 0a 3b 09 63 68 65 63 6b 20 69 2f 6f 20 65 72 72 6f 72 20 62 69 74 73 0d 0a 09 63 61 6c 6c 09   ┆  ; check i/o error bits   call ┆
0x0d3640…0d3660             69 6e 62 79 74 65 0d 0a 09 72 61 6c 0d 0a 09 6a 63 09 77 72 65 61 64 79 09 09 3b 75 6e 69 74 20   ┆inbyte   ral   jc wready  ;unit ┆
0x0d3660…0d3680             6e 6f 74 20 72 65 61 64 79 0d 0a 09 72 61 72 0d 0a 09 61 6e 69 09 31 31 31 31 31 31 31 30 62 09   ┆not ready   rar   ani 11111110b ┆
0x0d3680…0d36a0             3b 61 6e 79 20 6f 74 68 65 72 20 65 72 72 6f 72 73 3f 20 20 28 64 65 6c 65 74 65 64 20 64 61 74   ┆;any other errors?  (deleted dat┆
0x0d36a0…0d36c0             61 20 6f 6b 29 0d 0a 09 6a 6e 7a 09 77 65 72 72 6f 72 0d 0a 3b 0d 0a 3b 09 72 65 61 64 20 6f 72   ┆a ok)   jnz werror  ;  ; read or┆
0x0d36c0…0d36e0             20 77 72 69 74 65 20 69 73 20 6f 6b 2c 20 61 63 63 75 6d 75 6c 61 74 6f 72 20 63 6f 6e 74 61 69   ┆ write is ok, accumulator contai┆
0x0d36e0…0d3700             6e 73 20 7a 65 72 6f 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 77 72 65 61 64 79 3a 09 3b 6e 6f 74 20 72   ┆ns zero   ret  ;  wready: ;not r┆
0x0d3700…0d3720             65 61 64 79 2c 20 74 72 65 61 74 20 61 73 20 65 72 72 6f 72 20 66 6f 72 20 6e 6f 77 0d 0a 09 63   ┆eady, treat as error for now   c┆
0x0d3720…0d3740             61 6c 6c 09 69 6e 62 79 74 65 09 09 3b 63 6c 65 61 72 20 72 65 73 75 6c 74 20 62 79 74 65 0d 0a   ┆all inbyte  ;clear result byte  ┆
0x0d3740…0d3760             09 6a 6d 70 09 74 72 79 63 6f 75 6e 74 0d 0a 3b 0d 0a 77 65 72 72 6f 72 3a 09 3b 72 65 74 75 72   ┆ jmp trycount  ;  werror: ;retur┆
0x0d3760…0d3780             6e 20 68 61 72 64 77 61 72 65 20 6d 61 6c 66 75 6e 63 74 69 6f 6e 20 28 63 72 63 2c 20 74 72 61   ┆n hardware malfunction (crc, tra┆
0x0d3780…0d37a0             63 6b 2c 20 73 65 65 6b 2c 20 65 74 63 2e 29 0d 0a 3b 09 74 68 65 20 6d 64 73 20 63 6f 6e 74 72   ┆ck, seek, etc.)  ; the mds contr┆
0x0d37a0…0d37c0             6f 6c 6c 65 72 20 68 61 73 20 72 65 74 75 72 6e 65 64 20 61 20 62 69 74 20 69 6e 20 65 61 63 68   ┆oller has returned a bit in each┆
0x0d37c0…0d37e0             20 70 6f 73 69 74 69 6f 6e 0d 0a 3b 09 6f 66 20 74 68 65 20 61 63 63 75 6d 75 6c 61 74 6f 72 2c   ┆ position  ; of the accumulator,┆
0x0d37e0…0d3800             20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 74 6f 20 74 68 65 20 63 6f 6e 64 69 74 69 6f 6e 73   ┆ corresponding to the conditions┆
0x0d3800…0d3820 (56, 0, 13) 6d 0d 0a 09 63 61 6c 6c 09 73 65 74 64 6d 61 0d 0a 09 6d 76 69 09 63 2c 30 09 3b 62 6f 6f 74 20   ┆m   call setdma   mvi c,0 ;boot ┆
0x0d3820…0d3840             66 72 6f 6d 20 64 72 69 76 65 20 30 0d 0a 09 63 61 6c 6c 09 73 65 6c 64 73 6b 0d 0a 09 6d 76 69   ┆from drive 0   call seldsk   mvi┆
0x0d3840…0d3860             09 63 2c 30 0d 0a 09 63 61 6c 6c 09 73 65 74 74 72 6b 09 3b 73 74 61 72 74 20 77 69 74 68 20 74   ┆ c,0   call settrk ;start with t┆
0x0d3860…0d3880             72 61 63 6b 20 30 0d 0a 09 6d 76 69 09 63 2c 32 09 3b 73 74 61 72 74 20 72 65 61 64 69 6e 67 20   ┆rack 0   mvi c,2 ;start reading ┆
0x0d3880…0d38a0             73 65 63 74 6f 72 20 32 0d 0a 09 63 61 6c 6c 09 73 65 74 73 65 63 0d 0a 3b 0d 0a 3b 09 72 65 61   ┆sector 2   call setsec  ;  ; rea┆
0x0d38a0…0d38c0             64 20 73 65 63 74 6f 72 73 2c 20 63 6f 75 6e 74 20 6e 73 65 63 74 73 20 74 6f 20 7a 65 72 6f 0d   ┆d sectors, count nsects to zero ┆
0x0d38c0…0d38e0             0a 09 70 6f 70 09 62 09 3b 31 30 2d 65 72 72 6f 72 20 63 6f 75 6e 74 0d 0a 09 6d 76 69 09 62 2c   ┆  pop b ;10-error count   mvi b,┆
0x0d38e0…0d3900             6e 73 65 63 74 73 0d 0a 72 64 73 65 63 3a 09 3b 72 65 61 64 20 6e 65 78 74 20 73 65 63 74 6f 72   ┆nsects  rdsec: ;read next sector┆
0x0d3900…0d3920             0d 0a 09 70 75 73 68 09 62 09 3b 73 61 76 65 20 73 65 63 74 6f 72 20 63 6f 75 6e 74 0d 0a 09 63   ┆   push b ;save sector count   c┆
0x0d3920…0d3940             61 6c 6c 09 72 65 61 64 0d 0a 09 6a 6e 7a 09 62 6f 6f 74 65 72 72 09 3b 72 65 74 72 79 20 69 66   ┆all read   jnz booterr ;retry if┆
0x0d3940…0d3960             20 65 72 72 6f 72 73 20 6f 63 63 75 72 0d 0a 09 6c 68 6c 64 09 69 6f 64 09 3b 69 6e 63 72 65 6d   ┆ errors occur   lhld iod ;increm┆
0x0d3960…0d3980             65 6e 74 20 64 6d 61 20 61 64 64 72 65 73 73 0d 0a 09 6c 78 69 09 64 2c 31 32 38 09 3b 73 65 63   ┆ent dma address   lxi d,128 ;sec┆
0x0d3980…0d39a0             74 6f 72 20 73 69 7a 65 0d 0a 09 64 61 64 09 64 09 3b 69 6e 63 72 65 6d 65 6e 74 65 64 20 64 6d   ┆tor size   dad d ;incremented dm┆
0x0d39a0…0d39c0             61 20 61 64 64 72 65 73 73 20 69 6e 20 68 6c 0d 0a 09 6d 6f 76 09 62 2c 68 0d 0a 09 6d 6f 76 09   ┆a address in hl   mov b,h   mov ┆
0x0d39c0…0d39e0             63 2c 6c 09 3b 72 65 61 64 79 20 66 6f 72 20 63 61 6c 6c 20 74 6f 20 73 65 74 20 64 6d 61 0d 0a   ┆c,l ;ready for call to set dma  ┆
0x0d39e0…0d3a00             09 63 61 6c 6c 09 73 65 74 64 6d 61 0d 0a 09 6c 64 61 09 69 6f 73 09 3b 73 65 63 74 6f 72 20 6e   ┆ call setdma   lda ios ;sector n┆
0x0d3a00…0d3a20 (56, 0, 14) 68 09 3b 72 65 6d 6f 76 65 20 70 61 72 69 74 79 20 62 69 74 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 63   ┆h ;remove parity bit   ret  ;  c┆
0x0d3a20…0d3a40             6f 6e 6f 75 74 3a 09 3b 63 6f 6e 73 6f 6c 65 20 63 68 61 72 61 63 74 65 72 20 66 72 6f 6d 20 63   ┆onout: ;console character from c┆
0x0d3a40…0d3a60             20 74 6f 20 63 6f 6e 73 6f 6c 65 20 6f 75 74 0d 0a 09 6a 6d 70 09 63 6f 0d 0a 3b 0d 0a 6c 69 73   ┆ to console out   jmp co  ;  lis┆
0x0d3a60…0d3a80             74 3a 09 3b 6c 69 73 74 20 64 65 76 69 63 65 20 6f 75 74 0d 0a 3b 09 28 65 78 61 63 74 6c 79 20   ┆t: ;list device out  ; (exactly ┆
0x0d3a80…0d3aa0             74 68 65 20 73 61 6d 65 20 61 73 20 6d 64 73 20 63 61 6c 6c 29 0d 0a 09 6a 6d 70 09 6c 6f 0d 0a   ┆the same as mds call)   jmp lo  ┆
0x0d3aa0…0d3ac0             3b 0d 0a 6c 69 73 74 73 74 3a 0d 0a 09 3b 72 65 74 75 72 6e 20 6c 69 73 74 20 73 74 61 74 75 73   ┆;  listst:   ;return list status┆
0x0d3ac0…0d3ae0             0d 0a 09 78 72 61 09 61 0d 0a 09 72 65 74 09 09 3b 61 6c 77 61 79 73 20 6e 6f 74 20 72 65 61 64   ┆   xra a   ret  ;always not read┆
0x0d3ae0…0d3b00             79 0d 0a 3b 0d 0a 70 75 6e 63 68 3a 09 3b 70 75 6e 63 68 20 64 65 76 69 63 65 20 6f 75 74 0d 0a   ┆y  ;  punch: ;punch device out  ┆
0x0d3b00…0d3b20             3b 09 28 65 78 61 63 74 6c 79 20 74 68 65 20 73 61 6d 65 20 61 73 20 6d 64 73 20 63 61 6c 6c 29   ┆; (exactly the same as mds call)┆
0x0d3b20…0d3b40             0d 0a 09 6a 6d 70 09 70 6f 0d 0a 3b 0d 0a 72 65 61 64 65 72 3a 09 3b 72 65 61 64 65 72 20 63 68   ┆   jmp po  ;  reader: ;reader ch┆
0x0d3b40…0d3b60             61 72 61 63 74 65 72 20 69 6e 20 74 6f 20 72 65 67 2d 61 0d 0a 3b 09 28 65 78 61 63 74 6c 79 20   ┆aracter in to reg-a  ; (exactly ┆
0x0d3b60…0d3b80             74 68 65 20 73 61 6d 65 20 61 73 20 6d 64 73 20 63 61 6c 6c 29 0d 0a 09 6a 6d 70 09 72 69 0d 0a   ┆the same as mds call)   jmp ri  ┆
0x0d3b80…0d3ba0             3b 0d 0a 68 6f 6d 65 3a 09 3b 6d 6f 76 65 20 74 6f 20 68 6f 6d 65 20 70 6f 73 69 74 69 6f 6e 0d   ┆;  home: ;move to home position ┆
0x0d3ba0…0d3bc0             0a 3b 09 74 72 65 61 74 20 61 73 20 74 72 61 63 6b 20 30 30 20 73 65 65 6b 0d 0a 09 6d 76 69 09   ┆ ; treat as track 00 seek   mvi ┆
0x0d3bc0…0d3be0             63 2c 30 0d 0a 09 6a 6d 70 09 73 65 74 74 72 6b 0d 0a 3b 0d 0a 73 65 6c 64 73 6b 3a 09 3b 73 65   ┆c,0   jmp settrk  ;  seldsk: ;se┆
0x0d3be0…0d3c00             6c 65 63 74 20 64 69 73 6b 20 67 69 76 65 6e 20 62 79 20 72 65 67 69 73 74 65 72 20 63 0d 0a 09   ┆lect disk given by register c   ┆
0x0d3c00…0d3c20 (56, 0, 15) 61 09 3b 7a 65 72 6f 3f 0d 0a 09 72 7a 0d 0a 3b 09 6d 6f 72 65 20 74 6f 20 70 72 69 6e 74 0d 0a   ┆a ;zero?   rz  ; more to print  ┆
0x0d3c20…0d3c40             09 70 75 73 68 09 68 0d 0a 09 6d 6f 76 09 63 2c 61 0d 0a 09 63 61 6c 6c 09 63 6f 6e 6f 75 74 0d   ┆ push h   mov c,a   call conout ┆
0x0d3c40…0d3c60             0a 09 70 6f 70 09 68 0d 0a 09 69 6e 78 09 68 0d 0a 09 6a 6d 70 09 70 72 6d 73 67 0d 0a 3b 0d 0a   ┆  pop h   inx h   jmp prmsg  ;  ┆
0x0d3c60…0d3c80             73 65 74 66 75 6e 63 3a 0d 0a 3b 09 73 65 74 20 66 75 6e 63 74 69 6f 6e 20 66 6f 72 20 6e 65 78   ┆setfunc:  ; set function for nex┆
0x0d3c80…0d3ca0             74 20 69 2f 6f 20 28 63 6f 6d 6d 61 6e 64 20 69 6e 20 72 65 67 2d 63 29 0d 0a 09 6c 78 69 09 68   ┆t i/o (command in reg-c)   lxi h┆
0x0d3ca0…0d3cc0             2c 69 6f 66 09 3b 69 6f 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 72 65 73 73 0d 0a 09 6d 6f 76 09   ┆,iof ;io function address   mov ┆
0x0d3cc0…0d3ce0             61 2c 6d 09 3b 67 65 74 20 69 74 20 74 6f 20 61 63 63 75 6d 75 6c 61 74 6f 72 20 66 6f 72 20 6d   ┆a,m ;get it to accumulator for m┆
0x0d3ce0…0d3d00             61 73 6b 69 6e 67 0d 0a 09 61 6e 69 09 31 31 31 31 31 30 30 30 62 09 3b 72 65 6d 6f 76 65 20 70   ┆asking   ani 11111000b ;remove p┆
0x0d3d00…0d3d20             72 65 76 69 6f 75 73 20 63 6f 6d 6d 61 6e 64 0d 0a 09 6f 72 61 09 63 09 3b 73 65 74 20 74 6f 20   ┆revious command   ora c ;set to ┆
0x0d3d20…0d3d40             6e 65 77 20 63 6f 6d 6d 61 6e 64 0d 0a 09 6d 6f 76 09 6d 2c 61 09 3b 72 65 70 6c 61 63 65 64 20   ┆new command   mov m,a ;replaced ┆
0x0d3d40…0d3d60             69 6e 20 69 6f 70 62 0d 0a 3b 09 74 68 65 20 6d 64 73 2d 38 30 30 20 63 6f 6e 74 72 6f 6c 6c 65   ┆in iopb  ; the mds-800 controlle┆
0x0d3d60…0d3d80             72 20 72 65 71 75 69 72 65 73 20 64 69 73 6b 20 62 61 6e 6b 20 62 69 74 20 69 6e 20 73 65 63 74   ┆r requires disk bank bit in sect┆
0x0d3d80…0d3da0             6f 72 20 62 79 74 65 0d 0a 3b 09 6d 61 73 6b 20 74 68 65 20 62 69 74 20 66 72 6f 6d 20 74 68 65   ┆or byte  ; mask the bit from the┆
0x0d3da0…0d3dc0             20 63 75 72 72 65 6e 74 20 69 2f 6f 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 61 6e 69 09 30 30 31 30   ┆ current i/o function   ani 0010┆
0x0d3dc0…0d3de0             30 30 30 30 62 09 3b 6d 61 73 6b 20 74 68 65 20 64 69 73 6b 20 73 65 6c 65 63 74 20 62 69 74 0d   ┆0000b ;mask the disk select bit ┆
0x0d3de0…0d3e00             0a 09 6c 78 69 09 68 2c 69 6f 73 09 09 3b 61 64 64 72 65 73 73 20 74 68 65 20 73 65 63 74 6f 72   ┆  lxi h,ios  ;address the sector┆
0x0d3e00…0d3e20 (56, 1, 1)  3a 0d 0a 3b 09 30 09 2d 20 64 65 6c 65 74 65 64 20 64 61 74 61 20 28 61 63 63 65 70 74 65 64 20   ┆:  ; 0 - deleted data (accepted ┆
0x0d3e20…0d3e40             61 73 20 6f 6b 20 61 62 6f 76 65 29 0d 0a 3b 09 31 09 2d 20 63 72 63 20 65 72 72 6f 72 0d 0a 3b   ┆as ok above)  ; 1 - crc error  ;┆
0x0d3e40…0d3e60             09 32 09 2d 20 73 65 65 6b 20 65 72 72 6f 72 0d 0a 3b 09 33 09 2d 20 61 64 64 72 65 73 73 20 65   ┆ 2 - seek error  ; 3 - address e┆
0x0d3e60…0d3e80             72 72 6f 72 20 28 68 61 72 64 77 61 72 65 20 6d 61 6c 66 75 6e 63 74 69 6f 6e 29 0d 0a 3b 09 34   ┆rror (hardware malfunction)  ; 4┆
0x0d3e80…0d3ea0             09 2d 20 64 61 74 61 20 6f 76 65 72 2f 75 6e 64 65 72 20 66 6c 6f 77 20 28 68 61 72 64 77 61 72   ┆ - data over/under flow (hardwar┆
0x0d3ea0…0d3ec0             65 20 6d 61 6c 66 75 6e 63 74 69 6f 6e 29 0d 0a 3b 09 35 09 2d 20 77 72 69 74 65 20 70 72 6f 74   ┆e malfunction)  ; 5 - write prot┆
0x0d3ec0…0d3ee0             65 63 74 20 28 74 72 65 61 74 65 64 20 61 73 20 6e 6f 74 20 72 65 61 64 79 29 0d 0a 3b 09 36 09   ┆ect (treated as not ready)  ; 6 ┆
0x0d3ee0…0d3f00             2d 20 77 72 69 74 65 20 65 72 72 6f 72 20 28 68 61 72 64 77 61 72 65 20 6d 61 6c 66 75 6e 63 74   ┆- write error (hardware malfunct┆
0x0d3f00…0d3f20             69 6f 6e 29 0d 0a 3b 09 37 09 2d 20 6e 6f 74 20 72 65 61 64 79 0d 0a 3b 09 28 61 63 63 75 6d 75   ┆ion)  ; 7 - not ready  ; (accumu┆
0x0d3f20…0d3f40             6c 61 74 6f 72 20 62 69 74 73 20 61 72 65 20 6e 75 6d 62 65 72 65 64 20 37 20 36 20 35 20 34 20   ┆lator bits are numbered 7 6 5 4 ┆
0x0d3f40…0d3f60             33 20 32 20 31 20 30 29 0d 0a 3b 0d 0a 3b 09 69 74 20 6d 61 79 20 62 65 20 75 73 65 66 75 6c 20   ┆3 2 1 0)  ;  ; it may be useful ┆
0x0d3f60…0d3f80             74 6f 20 66 69 6c 74 65 72 20 6f 75 74 20 74 68 65 20 76 61 72 69 6f 75 73 20 63 6f 6e 64 69 74   ┆to filter out the various condit┆
0x0d3f80…0d3fa0             69 6f 6e 73 2c 0d 0a 3b 09 62 75 74 20 77 65 20 77 69 6c 6c 20 67 65 74 20 61 20 70 65 72 6d 61   ┆ions,  ; but we will get a perma┆
0x0d3fa0…0d3fc0             6e 65 6e 74 20 65 72 72 6f 72 20 6d 65 73 73 61 67 65 20 69 66 20 69 74 20 69 73 20 6e 6f 74 0d   ┆nent error message if it is not ┆
0x0d3fc0…0d3fe0             0a 3b 09 72 65 63 6f 76 65 72 61 62 6c 65 2e 20 20 69 6e 20 61 6e 79 20 63 61 73 65 2c 20 74 68   ┆ ; recoverable.  in any case, th┆
0x0d3fe0…0d4000             65 20 6e 6f 74 20 72 65 61 64 79 20 63 6f 6e 64 69 74 69 6f 6e 20 69 73 0d 0a 3b 09 74 72 65 61   ┆e not ready condition is  ; trea┆
0x0d4000…0d4020 (56, 1, 2)  20 64 6f 73 20 28 72 65 73 69 64 65 6e 74 20 70 6f 72 74 69 6f 6e 29 0d 0a 63 70 6d 6c 09 65 71   ┆ dos (resident portion)  cpml eq┆
0x0d4020…0d4040             75 09 24 2d 63 70 6d 62 09 3b 6c 65 6e 67 74 68 20 28 69 6e 20 62 79 74 65 73 29 20 6f 66 20 63   ┆u $-cpmb ;length (in bytes) of c┆
0x0d4040…0d4060             70 6d 20 73 79 73 74 65 6d 0d 0a 6e 73 65 63 74 73 09 65 71 75 09 63 70 6d 6c 2f 31 32 38 09 3b   ┆pm system  nsects equ cpml/128 ;┆
0x0d4060…0d4080             6e 75 6d 62 65 72 20 6f 66 20 73 65 63 74 6f 72 73 20 74 6f 20 6c 6f 61 64 0d 0a 6f 66 66 73 65   ┆number of sectors to load  offse┆
0x0d4080…0d40a0             74 09 65 71 75 09 32 09 3b 6e 75 6d 62 65 72 20 6f 66 20 64 69 73 6b 20 74 72 61 63 6b 73 20 75   ┆t equ 2 ;number of disk tracks u┆
0x0d40a0…0d40c0             73 65 64 20 62 79 20 63 70 2f 6d 0d 0a 63 64 69 73 6b 09 65 71 75 09 30 30 30 34 68 09 3b 61 64   ┆sed by cp/m  cdisk equ 0004h ;ad┆
0x0d40c0…0d40e0             64 72 65 73 73 20 6f 66 20 6c 61 73 74 20 6c 6f 67 67 65 64 20 64 69 73 6b 20 6f 6e 20 77 61 72   ┆dress of last logged disk on war┆
0x0d40e0…0d4100             6d 20 73 74 61 72 74 0d 0a 62 75 66 66 09 65 71 75 09 30 30 38 30 68 09 3b 64 65 66 61 75 6c 74   ┆m start  buff equ 0080h ;default┆
0x0d4100…0d4120             20 62 75 66 66 65 72 20 61 64 64 72 65 73 73 0d 0a 72 65 74 72 79 09 65 71 75 09 31 30 09 3b 6d   ┆ buffer address  retry equ 10 ;m┆
0x0d4120…0d4140             61 78 20 72 65 74 72 69 65 73 20 6f 6e 20 64 69 73 6b 20 69 2f 6f 20 62 65 66 6f 72 65 20 65 72   ┆ax retries on disk i/o before er┆
0x0d4140…0d4160             72 6f 72 0d 0a 3b 0d 0a 3b 09 70 65 72 66 6f 72 6d 20 66 6f 6c 6c 6f 77 69 6e 67 20 66 75 6e 63   ┆ror  ;  ; perform following func┆
0x0d4160…0d4180             74 69 6f 6e 73 0d 0a 3b 09 62 6f 6f 74 09 63 6f 6c 64 20 73 74 61 72 74 0d 0a 3b 09 77 62 6f 6f   ┆tions  ; boot cold start  ; wboo┆
0x0d4180…0d41a0             74 09 77 61 72 6d 20 73 74 61 72 74 20 28 73 61 76 65 20 69 2f 6f 20 62 79 74 65 29 0d 0a 3b 09   ┆t warm start (save i/o byte)  ; ┆
0x0d41a0…0d41c0             28 62 6f 6f 74 20 61 6e 64 20 77 62 6f 6f 74 20 61 72 65 20 74 68 65 20 73 61 6d 65 20 66 6f 72   ┆(boot and wboot are the same for┆
0x0d41c0…0d41e0             20 6d 64 73 29 0d 0a 3b 09 63 6f 6e 73 74 09 63 6f 6e 73 6f 6c 65 20 73 74 61 74 75 73 0d 0a 3b   ┆ mds)  ; const console status  ;┆
0x0d41e0…0d4200             09 09 72 65 67 2d 61 20 3d 20 30 30 20 69 66 20 6e 6f 20 63 68 61 72 61 63 74 65 72 20 72 65 61   ┆  reg-a = 00 if no character rea┆
0x0d4200…0d4220 (56, 1, 3)  3b 09 61 6e 64 20 75 73 65 73 20 74 68 65 20 69 2f 6f 20 73 75 62 72 6f 75 74 69 6e 65 73 20 77   ┆; and uses the i/o subroutines w┆
0x0d4220…0d4240             69 74 68 69 6e 20 74 68 65 20 6d 6f 6e 69 74 6f 72 0d 0a 3b 0d 0a 3b 09 77 65 20 61 6c 73 6f 20   ┆ithin the monitor  ;  ; we also ┆
0x0d4240…0d4260             61 73 73 75 6d 65 20 74 68 65 20 6d 64 73 20 73 79 73 74 65 6d 20 68 61 73 20 66 6f 75 72 20 64   ┆assume the mds system has four d┆
0x0d4260…0d4280             69 73 6b 20 64 72 69 76 65 73 0d 0a 72 65 76 72 74 09 65 71 75 09 30 66 64 68 09 3b 69 6e 74 65   ┆isk drives  revrt equ 0fdh ;inte┆
0x0d4280…0d42a0             72 72 75 70 74 20 72 65 76 65 72 74 20 70 6f 72 74 0d 0a 69 6e 74 63 09 65 71 75 09 30 66 63 68   ┆rrupt revert port  intc equ 0fch┆
0x0d42a0…0d42c0             09 3b 69 6e 74 65 72 72 75 70 74 20 6d 61 73 6b 20 70 6f 72 74 0d 0a 69 63 6f 6e 09 65 71 75 09   ┆ ;interrupt mask port  icon equ ┆
0x0d42c0…0d42e0             30 66 33 68 09 3b 69 6e 74 65 72 72 75 70 74 20 63 6f 6e 74 72 6f 6c 20 70 6f 72 74 0d 0a 69 6e   ┆0f3h ;interrupt control port  in┆
0x0d42e0…0d4300             74 65 09 65 71 75 09 30 31 31 31 24 31 31 31 30 62 09 3b 65 6e 61 62 6c 65 20 72 73 74 20 30 28   ┆te equ 0111$1110b ;enable rst 0(┆
0x0d4300…0d4320             77 61 72 6d 20 62 6f 6f 74 29 2c 20 72 73 74 20 37 20 28 6d 6f 6e 69 74 6f 72 29 0d 0a 3b 0d 0a   ┆warm boot), rst 7 (monitor)  ;  ┆
0x0d4320…0d4340             3b 09 6d 64 73 20 6d 6f 6e 69 74 6f 72 20 65 71 75 61 74 65 73 0d 0a 6d 6f 6e 38 30 09 65 71 75   ┆; mds monitor equates  mon80 equ┆
0x0d4340…0d4360             09 30 66 38 30 30 68 09 3b 6d 64 73 20 6d 6f 6e 69 74 6f 72 0d 0a 72 6d 6f 6e 38 30 09 65 71 75   ┆ 0f800h ;mds monitor  rmon80 equ┆
0x0d4360…0d4380             09 30 66 66 30 66 68 09 3b 72 65 73 74 61 72 74 20 6d 6f 6e 38 30 20 28 62 6f 6f 74 20 65 72 72   ┆ 0ff0fh ;restart mon80 (boot err┆
0x0d4380…0d43a0             6f 72 29 0d 0a 63 69 09 65 71 75 09 30 66 38 30 33 68 09 3b 63 6f 6e 73 6f 6c 65 20 63 68 61 72   ┆or)  ci equ 0f803h ;console char┆
0x0d43a0…0d43c0             61 63 74 65 72 20 74 6f 20 72 65 67 2d 61 0d 0a 72 69 09 65 71 75 09 30 66 38 30 36 68 09 3b 72   ┆acter to reg-a  ri equ 0f806h ;r┆
0x0d43c0…0d43e0             65 61 64 65 72 20 69 6e 20 74 6f 20 72 65 67 2d 61 0d 0a 63 6f 09 65 71 75 09 30 66 38 30 39 68   ┆eader in to reg-a  co equ 0f809h┆
0x0d43e0…0d4400             09 3b 63 6f 6e 73 6f 6c 65 20 63 68 61 72 20 66 72 6f 6d 20 63 20 74 6f 20 63 6f 6e 73 6f 6c 65   ┆ ;console char from c to console┆
0x0d4400…0d4420 (56, 1, 4)  69 74 68 20 74 72 61 63 6b 20 30 0d 0a 09 6d 76 69 09 63 2c 32 09 3b 73 74 61 72 74 20 72 65 61   ┆ith track 0   mvi c,2 ;start rea┆
0x0d4420…0d4440             64 69 6e 67 20 73 65 63 74 6f 72 20 32 0d 0a 09 63 61 6c 6c 09 73 65 74 73 65 63 0d 0a 3b 0d 0a   ┆ding sector 2   call setsec  ;  ┆
0x0d4440…0d4460             3b 09 72 65 61 64 20 73 65 63 74 6f 72 73 2c 20 63 6f 75 6e 74 20 6e 73 65 63 74 73 20 74 6f 20   ┆; read sectors, count nsects to ┆
0x0d4460…0d4480             7a 65 72 6f 0d 0a 09 70 6f 70 09 62 09 3b 31 30 2d 65 72 72 6f 72 20 63 6f 75 6e 74 0d 0a 09 6d   ┆zero   pop b ;10-error count   m┆
0x0d4480…0d44a0             76 69 09 62 2c 6e 73 65 63 74 73 0d 0a 72 64 73 65 63 3a 09 3b 72 65 61 64 20 6e 65 78 74 20 73   ┆vi b,nsects  rdsec: ;read next s┆
0x0d44a0…0d44c0             65 63 74 6f 72 0d 0a 09 70 75 73 68 09 62 09 3b 73 61 76 65 20 73 65 63 74 6f 72 20 63 6f 75 6e   ┆ector   push b ;save sector coun┆
0x0d44c0…0d44e0             74 0d 0a 09 63 61 6c 6c 09 72 65 61 64 0d 0a 09 6a 6e 7a 09 62 6f 6f 74 65 72 72 09 3b 72 65 74   ┆t   call read   jnz booterr ;ret┆
0x0d44e0…0d4500             72 79 20 69 66 20 65 72 72 6f 72 73 20 6f 63 63 75 72 0d 0a 09 6c 68 6c 64 09 69 6f 64 09 3b 69   ┆ry if errors occur   lhld iod ;i┆
0x0d4500…0d4520             6e 63 72 65 6d 65 6e 74 20 64 6d 61 20 61 64 64 72 65 73 73 0d 0a 09 6c 78 69 09 64 2c 31 32 38   ┆ncrement dma address   lxi d,128┆
0x0d4520…0d4540             09 3b 73 65 63 74 6f 72 20 73 69 7a 65 0d 0a 09 64 61 64 09 64 09 3b 69 6e 63 72 65 6d 65 6e 74   ┆ ;sector size   dad d ;increment┆
0x0d4540…0d4560             65 64 20 64 6d 61 20 61 64 64 72 65 73 73 20 69 6e 20 68 6c 0d 0a 09 6d 6f 76 09 62 2c 68 0d 0a   ┆ed dma address in hl   mov b,h  ┆
0x0d4560…0d4580             09 6d 6f 76 09 63 2c 6c 09 3b 72 65 61 64 79 20 66 6f 72 20 63 61 6c 6c 20 74 6f 20 73 65 74 20   ┆ mov c,l ;ready for call to set ┆
0x0d4580…0d45a0             64 6d 61 0d 0a 09 63 61 6c 6c 09 73 65 74 64 6d 61 0d 0a 09 6c 64 61 09 69 6f 73 09 3b 73 65 63   ┆dma   call setdma   lda ios ;sec┆
0x0d45a0…0d45c0             74 6f 72 20 6e 75 6d 62 65 72 20 6a 75 73 74 20 72 65 61 64 0d 0a 09 63 70 69 09 32 36 09 3b 72   ┆tor number just read   cpi 26 ;r┆
0x0d45c0…0d45e0             65 61 64 20 6c 61 73 74 20 73 65 63 74 6f 72 3f 0d 0a 09 6a 63 09 72 64 31 0d 0a 3b 09 6d 75 73   ┆ead last sector?   jc rd1  ; mus┆
0x0d45e0…0d4600             74 20 62 65 20 73 65 63 74 6f 72 20 32 36 2c 20 7a 65 72 6f 20 61 6e 64 20 67 6f 20 74 6f 20 6e   ┆t be sector 26, zero and go to n┆
0x0d4600…0d4620 (56, 1, 5)  74 65 64 20 61 73 20 61 20 73 65 70 61 72 61 74 65 20 63 6f 6e 64 69 74 69 6f 6e 20 66 6f 72 20   ┆ted as a separate condition for ┆
0x0d4620…0d4640             6c 61 74 65 72 20 69 6d 70 72 6f 76 65 6d 65 6e 74 0d 0a 74 72 79 63 6f 75 6e 74 3a 0d 0a 3b 09   ┆later improvement  trycount:  ; ┆
0x0d4640…0d4660             72 65 67 69 73 74 65 72 20 63 20 63 6f 6e 74 61 69 6e 73 20 72 65 74 72 79 20 63 6f 75 6e 74 2c   ┆register c contains retry count,┆
0x0d4660…0d4680             20 64 65 63 72 65 6d 65 6e 74 20 27 74 69 6c 20 7a 65 72 6f 0d 0a 09 64 63 72 09 63 0d 0a 09 6a   ┆ decrement 'til zero   dcr c   j┆
0x0d4680…0d46a0             6e 7a 09 72 65 77 61 69 74 09 3b 66 6f 72 20 61 6e 6f 74 68 65 72 20 74 72 79 0d 0a 3b 0d 0a 3b   ┆nz rewait ;for another try  ;  ;┆
0x0d46a0…0d46c0             09 63 61 6e 6e 6f 74 20 72 65 63 6f 76 65 72 20 66 72 6f 6d 20 65 72 72 6f 72 0d 0a 09 6d 76 69   ┆ cannot recover from error   mvi┆
0x0d46c0…0d46e0             09 61 2c 31 09 3b 65 72 72 6f 72 20 63 6f 64 65 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 3b 09 69 6e 74   ┆ a,1 ;error code   ret  ;  ; int┆
0x0d46e0…0d4700             79 70 65 2c 20 69 6e 62 79 74 65 2c 20 69 6e 73 74 61 74 20 72 65 61 64 20 64 72 69 76 65 20 62   ┆ype, inbyte, instat read drive b┆
0x0d4700…0d4720             61 6e 6b 20 30 30 20 6f 72 20 31 30 0d 0a 69 6e 74 79 70 65 3a 09 6c 64 61 09 64 62 61 6e 6b 0d   ┆ank 00 or 10  intype: lda dbank ┆
0x0d4720…0d4740             0a 09 6f 72 61 09 61 0d 0a 09 6a 6e 7a 09 69 6e 74 79 70 31 09 3b 73 6b 69 70 20 74 6f 20 62 61   ┆  ora a   jnz intyp1 ;skip to ba┆
0x0d4740…0d4760             6e 6b 20 31 30 0d 0a 09 69 6e 09 72 74 79 70 65 0d 0a 09 72 65 74 0d 0a 69 6e 74 79 70 31 3a 09   ┆nk 10   in rtype   ret  intyp1: ┆
0x0d4760…0d4780             69 6e 09 72 74 79 70 65 2b 31 30 68 09 3b 37 38 20 66 6f 72 20 30 2c 31 20 20 38 38 20 66 6f 72   ┆in rtype+10h ;78 for 0,1  88 for┆
0x0d4780…0d47a0             20 32 2c 33 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 69 6e 62 79 74 65 3a 09 6c 64 61 09 64 62 61 6e 6b   ┆ 2,3   ret  ;  inbyte: lda dbank┆
0x0d47a0…0d47c0             0d 0a 09 6f 72 61 09 61 0d 0a 09 6a 6e 7a 09 69 6e 62 79 74 31 0d 0a 09 69 6e 09 72 62 79 74 65   ┆   ora a   jnz inbyt1   in rbyte┆
0x0d47c0…0d47e0             0d 0a 09 72 65 74 0d 0a 69 6e 62 79 74 31 3a 09 69 6e 09 72 62 79 74 65 2b 31 30 68 0d 0a 09 72   ┆   ret  inbyt1: in rbyte+10h   r┆
0x0d47e0…0d4800             65 74 0d 0a 3b 0d 0a 69 6e 73 74 61 74 3a 09 6c 64 61 09 64 62 61 6e 6b 0d 0a 09 6f 72 61 09 61   ┆et  ;  instat: lda dbank   ora a┆
0x0d4800…0d4820 (56, 1, 6)  64 79 0d 0a 3b 09 09 72 65 67 2d 61 20 3d 20 66 66 20 69 66 20 63 68 61 72 61 63 74 65 72 20 72   ┆dy  ;  reg-a = ff if character r┆
0x0d4820…0d4840             65 61 64 79 0d 0a 3b 09 63 6f 6e 69 6e 09 63 6f 6e 73 6f 6c 65 20 63 68 61 72 61 63 74 65 72 20   ┆eady  ; conin console character ┆
0x0d4840…0d4860             69 6e 20 28 72 65 73 75 6c 74 20 69 6e 20 72 65 67 2d 61 29 0d 0a 3b 09 63 6f 6e 6f 75 74 09 63   ┆in (result in reg-a)  ; conout c┆
0x0d4860…0d4880             6f 6e 73 6f 6c 65 20 63 68 61 72 61 63 74 65 72 20 6f 75 74 20 28 63 68 61 72 20 69 6e 20 72 65   ┆onsole character out (char in re┆
0x0d4880…0d48a0             67 2d 63 29 0d 0a 3b 09 6c 69 73 74 09 6c 69 73 74 20 6f 75 74 20 28 63 68 61 72 20 69 6e 20 72   ┆g-c)  ; list list out (char in r┆
0x0d48a0…0d48c0             65 67 2d 63 29 0d 0a 3b 09 70 75 6e 63 68 09 70 75 6e 63 68 20 6f 75 74 20 28 63 68 61 72 20 69   ┆eg-c)  ; punch punch out (char i┆
0x0d48c0…0d48e0             6e 20 72 65 67 2d 63 29 0d 0a 3b 09 72 65 61 64 65 72 09 70 61 70 65 72 20 74 61 70 65 20 72 65   ┆n reg-c)  ; reader paper tape re┆
0x0d48e0…0d4900             61 64 65 72 20 69 6e 20 28 72 65 73 75 6c 74 20 74 6f 20 72 65 67 2d 61 29 0d 0a 3b 09 68 6f 6d   ┆ader in (result to reg-a)  ; hom┆
0x0d4900…0d4920             65 09 6d 6f 76 65 20 74 6f 20 74 72 61 63 6b 20 30 30 0d 0a 3b 0d 0a 3b 09 28 74 68 65 20 66 6f   ┆e move to track 00  ;  ; (the fo┆
0x0d4920…0d4940             6c 6c 6f 77 69 6e 67 20 63 61 6c 6c 73 20 73 65 74 2d 75 70 20 74 68 65 20 69 6f 20 70 61 72 61   ┆llowing calls set-up the io para┆
0x0d4940…0d4960             6d 65 74 65 72 20 62 6c 6f 63 6b 20 66 6f 72 20 74 68 65 0d 0a 3b 09 6d 64 73 2c 20 77 68 69 63   ┆meter block for the  ; mds, whic┆
0x0d4960…0d4980             68 20 69 73 20 75 73 65 64 20 74 6f 20 70 65 72 66 6f 72 6d 20 73 75 62 73 65 71 75 65 6e 74 20   ┆h is used to perform subsequent ┆
0x0d4980…0d49a0             72 65 61 64 73 20 61 6e 64 20 77 72 69 74 65 73 29 0d 0a 3b 09 73 65 6c 64 73 6b 09 73 65 6c 65   ┆reads and writes)  ; seldsk sele┆
0x0d49a0…0d49c0             63 74 20 64 69 73 6b 20 67 69 76 65 6e 20 62 79 20 72 65 67 2d 63 20 28 30 2c 31 2c 32 2e 2e 2e   ┆ct disk given by reg-c (0,1,2...┆
0x0d49c0…0d49e0             29 0d 0a 3b 09 73 65 74 74 72 6b 09 73 65 74 20 74 72 61 63 6b 20 61 64 64 72 65 73 73 20 28 30   ┆)  ; settrk set track address (0┆
0x0d49e0…0d4a00             2c 2e 2e 2e 37 36 29 20 66 6f 72 20 73 75 62 73 65 71 75 65 6e 74 20 72 65 61 64 2f 77 72 69 74   ┆,...76) for subsequent read/writ┆
0x0d4a00…0d4a20 (56, 1, 7)  20 6f 75 74 0d 0a 70 6f 09 65 71 75 09 30 66 38 30 63 68 09 3b 70 75 6e 63 68 20 63 68 61 72 20   ┆ out  po equ 0f80ch ;punch char ┆
0x0d4a20…0d4a40             66 72 6f 6d 20 63 20 74 6f 20 70 75 6e 63 68 20 64 65 76 69 63 65 0d 0a 6c 6f 09 65 71 75 09 30   ┆from c to punch device  lo equ 0┆
0x0d4a40…0d4a60             66 38 30 66 68 09 3b 6c 69 73 74 20 66 72 6f 6d 20 63 20 74 6f 20 6c 69 73 74 20 64 65 76 69 63   ┆f80fh ;list from c to list devic┆
0x0d4a60…0d4a80             65 0d 0a 63 73 74 73 09 65 71 75 09 30 66 38 31 32 68 09 3b 63 6f 6e 73 6f 6c 65 20 73 74 61 74   ┆e  csts equ 0f812h ;console stat┆
0x0d4a80…0d4aa0             75 73 20 30 30 2f 66 66 20 74 6f 20 72 65 67 69 73 74 65 72 20 61 0d 0a 3b 0d 0a 3b 09 64 69 73   ┆us 00/ff to register a  ;  ; dis┆
0x0d4aa0…0d4ac0             6b 20 70 6f 72 74 73 20 61 6e 64 20 63 6f 6d 6d 61 6e 64 73 0d 0a 62 61 73 65 09 65 71 75 09 37   ┆k ports and commands  base equ 7┆
0x0d4ac0…0d4ae0             38 68 09 3b 62 61 73 65 20 6f 66 20 64 69 73 6b 20 63 6f 6d 6d 61 6e 64 20 69 6f 20 70 6f 72 74   ┆8h ;base of disk command io port┆
0x0d4ae0…0d4b00             73 0d 0a 64 73 74 61 74 09 65 71 75 09 62 61 73 65 09 3b 64 69 73 6b 20 73 74 61 74 75 73 20 28   ┆s  dstat equ base ;disk status (┆
0x0d4b00…0d4b20             69 6e 70 75 74 29 0d 0a 72 74 79 70 65 09 65 71 75 09 62 61 73 65 2b 31 09 3b 72 65 73 75 6c 74   ┆input)  rtype equ base+1 ;result┆
0x0d4b20…0d4b40             20 74 79 70 65 20 28 69 6e 70 75 74 29 0d 0a 72 62 79 74 65 09 65 71 75 09 62 61 73 65 2b 33 09   ┆ type (input)  rbyte equ base+3 ┆
0x0d4b40…0d4b60             3b 72 65 73 75 6c 74 20 62 79 74 65 20 28 69 6e 70 75 74 29 0d 0a 3b 0d 0a 69 6c 6f 77 09 65 71   ┆;result byte (input)  ;  ilow eq┆
0x0d4b60…0d4b80             75 09 62 61 73 65 2b 31 09 3b 69 6f 70 62 20 6c 6f 77 20 61 64 64 72 65 73 73 20 28 6f 75 74 70   ┆u base+1 ;iopb low address (outp┆
0x0d4b80…0d4ba0             75 74 29 0d 0a 69 68 69 67 68 09 65 71 75 09 62 61 73 65 2b 32 09 3b 69 6f 70 62 20 68 69 67 68   ┆ut)  ihigh equ base+2 ;iopb high┆
0x0d4ba0…0d4bc0             20 61 64 64 72 65 73 73 20 28 6f 75 74 70 75 74 29 0d 0a 3b 0d 0a 72 65 61 64 66 09 65 71 75 09   ┆ address (output)  ;  readf equ ┆
0x0d4bc0…0d4be0             34 68 09 3b 72 65 61 64 20 66 75 6e 63 74 69 6f 6e 0d 0a 77 72 69 74 66 09 65 71 75 09 36 68 09   ┆4h ;read function  writf equ 6h ┆
0x0d4be0…0d4c00             3b 77 72 69 74 65 20 66 75 6e 63 74 69 6f 6e 0d 0a 72 65 63 61 6c 09 65 71 75 09 33 68 09 3b 72   ┆;write function  recal equ 3h ;r┆
0x0d4c00…0d4c20 (56, 1, 8)  65 78 74 20 74 72 61 63 6b 0d 0a 09 6c 64 61 09 69 6f 74 09 3b 67 65 74 20 74 72 61 63 6b 20 74   ┆ext track   lda iot ;get track t┆
0x0d4c20…0d4c40             6f 20 72 65 67 69 73 74 65 72 20 61 0d 0a 09 69 6e 72 09 61 0d 0a 09 6d 6f 76 09 63 2c 61 09 3b   ┆o register a   inr a   mov c,a ;┆
0x0d4c40…0d4c60             72 65 61 64 79 20 66 6f 72 20 63 61 6c 6c 0d 0a 09 63 61 6c 6c 09 73 65 74 74 72 6b 0d 0a 09 78   ┆ready for call   call settrk   x┆
0x0d4c60…0d4c80             72 61 09 61 09 3b 63 6c 65 61 72 20 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 0d 0a 72 64 31 3a 09   ┆ra a ;clear sector number  rd1: ┆
0x0d4c80…0d4ca0             69 6e 72 09 61 09 3b 74 6f 20 6e 65 78 74 20 73 65 63 74 6f 72 0d 0a 09 6d 6f 76 09 63 2c 61 09   ┆inr a ;to next sector   mov c,a ┆
0x0d4ca0…0d4cc0             3b 72 65 61 64 79 20 66 6f 72 20 63 61 6c 6c 0d 0a 09 63 61 6c 6c 09 73 65 74 73 65 63 0d 0a 09   ┆;ready for call   call setsec   ┆
0x0d4cc0…0d4ce0             70 6f 70 09 62 09 3b 72 65 63 61 6c 6c 20 73 65 63 74 6f 72 20 63 6f 75 6e 74 0d 0a 09 64 63 72   ┆pop b ;recall sector count   dcr┆
0x0d4ce0…0d4d00             09 62 09 3b 64 6f 6e 65 3f 0d 0a 09 6a 6e 7a 09 72 64 73 65 63 0d 0a 3b 0d 0a 3b 09 64 6f 6e 65   ┆ b ;done?   jnz rdsec  ;  ; done┆
0x0d4d00…0d4d20             20 77 69 74 68 20 74 68 65 20 6c 6f 61 64 2c 20 72 65 73 65 74 20 64 65 66 61 75 6c 74 20 62 75   ┆ with the load, reset default bu┆
0x0d4d20…0d4d40             66 66 65 72 20 61 64 64 72 65 73 73 0d 0a 67 6f 63 70 6d 3a 09 3b 28 65 6e 74 65 72 20 68 65 72   ┆ffer address  gocpm: ;(enter her┆
0x0d4d40…0d4d60             65 20 66 72 6f 6d 20 63 6f 6c 64 20 73 74 61 72 74 20 62 6f 6f 74 29 0d 0a 3b 09 65 6e 61 62 6c   ┆e from cold start boot)  ; enabl┆
0x0d4d60…0d4d80             65 20 72 73 74 30 20 61 6e 64 20 72 73 74 37 0d 0a 09 64 69 0d 0a 09 6d 76 69 09 61 2c 31 32 68   ┆e rst0 and rst7   di   mvi a,12h┆
0x0d4d80…0d4da0             09 3b 69 6e 69 74 69 61 6c 69 7a 65 20 63 6f 6d 6d 61 6e 64 0d 0a 09 6f 75 74 09 72 65 76 72 74   ┆ ;initialize command   out revrt┆
0x0d4da0…0d4dc0             0d 0a 09 78 72 61 09 61 0d 0a 09 6f 75 74 09 69 6e 74 63 09 3b 63 6c 65 61 72 65 64 0d 0a 09 6d   ┆   xra a   out intc ;cleared   m┆
0x0d4dc0…0d4de0             76 69 09 61 2c 69 6e 74 65 09 3b 72 73 74 30 20 61 6e 64 20 72 73 74 37 20 62 69 74 73 20 6f 6e   ┆vi a,inte ;rst0 and rst7 bits on┆
0x0d4de0…0d4e00             0d 0a 09 6f 75 74 09 69 6e 74 63 0d 0a 09 78 72 61 09 61 0d 0a 09 6f 75 74 09 69 63 6f 6e 09 3b   ┆   out intc   xra a   out icon ;┆
0x0d4e00…0d4e20 (56, 1, 9)  0d 0a 09 6a 6e 7a 09 69 6e 73 74 61 31 0d 0a 09 69 6e 09 64 73 74 61 74 0d 0a 09 72 65 74 0d 0a   ┆   jnz insta1   in dstat   ret  ┆
0x0d4e20…0d4e40             69 6e 73 74 61 31 3a 09 69 6e 09 64 73 74 61 74 2b 31 30 68 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 3b   ┆insta1: in dstat+10h   ret  ;  ;┆
0x0d4e40…0d4e60             0d 0a 3b 0d 0a 3b 09 64 61 74 61 20 61 72 65 61 73 20 28 6d 75 73 74 20 62 65 20 69 6e 20 72 61   ┆  ;  ; data areas (must be in ra┆
0x0d4e60…0d4e80             6d 29 0d 0a 64 62 61 6e 6b 3a 09 64 62 09 30 09 3b 64 69 73 6b 20 62 61 6e 6b 20 30 30 20 69 66   ┆m)  dbank: db 0 ;disk bank 00 if┆
0x0d4e80…0d4ea0             20 64 72 69 76 65 20 30 2c 31 0d 0a 09 09 09 3b 09 20 20 20 31 30 20 69 66 20 64 72 69 76 65 20   ┆ drive 0,1     ;    10 if drive ┆
0x0d4ea0…0d4ec0             32 2c 33 0d 0a 69 6f 70 62 3a 09 3b 69 6f 20 70 61 72 61 6d 65 74 65 72 20 62 6c 6f 63 6b 0d 0a   ┆2,3  iopb: ;io parameter block  ┆
0x0d4ec0…0d4ee0             09 64 62 09 38 30 68 09 3b 6e 6f 72 6d 61 6c 20 69 2f 6f 20 6f 70 65 72 61 74 69 6f 6e 0d 0a 69   ┆ db 80h ;normal i/o operation  i┆
0x0d4ee0…0d4f00             6f 66 3a 09 64 62 09 72 65 61 64 66 09 3b 69 6f 20 66 75 6e 63 74 69 6f 6e 2c 20 69 6e 69 74 69   ┆of: db readf ;io function, initi┆
0x0d4f00…0d4f20             61 6c 20 72 65 61 64 0d 0a 69 6f 6e 3a 09 64 62 09 31 09 3b 6e 75 6d 62 65 72 20 6f 66 20 73 65   ┆al read  ion: db 1 ;number of se┆
0x0d4f20…0d4f40             63 74 6f 72 73 20 74 6f 20 72 65 61 64 0d 0a 69 6f 74 3a 09 64 62 09 6f 66 66 73 65 74 09 3b 74   ┆ctors to read  iot: db offset ;t┆
0x0d4f40…0d4f60             72 61 63 6b 20 6e 75 6d 62 65 72 0d 0a 69 6f 73 3a 09 64 62 09 31 09 3b 73 65 63 74 6f 72 20 6e   ┆rack number  ios: db 1 ;sector n┆
0x0d4f60…0d4f80             75 6d 62 65 72 0d 0a 69 6f 64 3a 09 64 77 09 62 75 66 66 09 3b 69 6f 20 61 64 64 72 65 73 73 0d   ┆umber  iod: dw buff ;io address ┆
0x0d4f80…0d4fa0             0a 3b 0d 0a 3b 0d 0a 3b 09 64 65 66 69 6e 65 20 72 61 6d 20 61 72 65 61 73 20 66 6f 72 20 62 64   ┆ ;  ;  ; define ram areas for bd┆
0x0d4fa0…0d4fc0             6f 73 20 6f 70 65 72 61 74 69 6f 6e 0d 0a 09 65 6e 64 65 66 0d 0a 09 65 6e 64 0d 0a 3b 09 4d 44   ┆os operation   endef   end  ; MD┆
0x0d4fc0…0d4fe0             53 2d 38 30 30 20 49 2f 4f 20 44 72 69 76 65 72 73 20 66 6f 72 20 43 50 2f 4d 20 32 2e 32 0d 0a   ┆S-800 I/O Drivers for CP/M 2.2  ┆
0x0d4fe0…0d5000             3b 09 28 66 6f 75 72 20 64 72 69 76 65 20 73 69 6e 67 6c 65 20 64 65 6e 73 69 74 79 20 76 65 72   ┆; (four drive single density ver┆
0x0d5000…0d5020 (56, 1, 10) 65 0d 0a 3b 09 73 65 74 73 65 63 09 73 65 74 20 73 65 63 74 6f 72 20 61 64 64 72 65 73 73 20 28   ┆e  ; setsec set sector address (┆
0x0d5020…0d5040             31 2c 2e 2e 2e 2c 32 36 29 20 66 6f 72 20 73 75 62 73 65 71 75 65 6e 74 20 72 65 61 64 2f 77 72   ┆1,...,26) for subsequent read/wr┆
0x0d5040…0d5060             69 74 65 0d 0a 3b 09 73 65 74 64 6d 61 09 73 65 74 20 73 75 62 73 65 71 75 65 6e 74 20 64 6d 61   ┆ite  ; setdma set subsequent dma┆
0x0d5060…0d5080             20 61 64 64 72 65 73 73 20 28 69 6e 69 74 69 61 6c 6c 79 20 38 30 68 29 0d 0a 3b 0d 0a 3b 09 28   ┆ address (initially 80h)  ;  ; (┆
0x0d5080…0d50a0             72 65 61 64 20 61 6e 64 20 77 72 69 74 65 20 61 73 73 75 6d 65 20 70 72 65 76 69 6f 75 73 20 63   ┆read and write assume previous c┆
0x0d50a0…0d50c0             61 6c 6c 73 20 74 6f 20 73 65 74 20 75 70 20 74 68 65 20 69 6f 20 70 61 72 61 6d 65 74 65 72 73   ┆alls to set up the io parameters┆
0x0d50c0…0d50e0             29 0d 0a 3b 09 72 65 61 64 09 72 65 61 64 20 74 72 61 63 6b 2f 73 65 63 74 6f 72 20 74 6f 20 70   ┆)  ; read read track/sector to p┆
0x0d50e0…0d5100             72 65 73 65 74 20 64 6d 61 20 61 64 64 72 65 73 73 0d 0a 3b 09 77 72 69 74 65 09 77 72 69 74 65   ┆reset dma address  ; write write┆
0x0d5100…0d5120             20 74 72 61 63 6b 2f 73 65 63 74 6f 72 20 66 72 6f 6d 20 70 72 65 73 65 74 20 64 6d 61 20 61 64   ┆ track/sector from preset dma ad┆
0x0d5120…0d5140             64 72 65 73 73 0d 0a 3b 0d 0a 3b 09 6a 75 6d 70 20 76 65 63 74 6f 72 20 66 6f 72 20 69 6e 64 69   ┆dress  ;  ; jump vector for indi┆
0x0d5140…0d5160             76 69 75 61 6c 20 72 6f 75 74 69 6e 65 73 0d 0a 09 6a 6d 70 09 62 6f 6f 74 0d 0a 77 62 6f 6f 74   ┆viual routines   jmp boot  wboot┆
0x0d5160…0d5180             65 3a 09 6a 6d 70 09 77 62 6f 6f 74 0d 0a 09 6a 6d 70 09 63 6f 6e 73 74 0d 0a 09 6a 6d 70 09 63   ┆e: jmp wboot   jmp const   jmp c┆
0x0d5180…0d51a0             6f 6e 69 6e 0d 0a 09 6a 6d 70 09 63 6f 6e 6f 75 74 0d 0a 09 6a 6d 70 09 6c 69 73 74 0d 0a 09 6a   ┆onin   jmp conout   jmp list   j┆
0x0d51a0…0d51c0             6d 70 09 70 75 6e 63 68 0d 0a 09 6a 6d 70 09 72 65 61 64 65 72 0d 0a 09 6a 6d 70 09 68 6f 6d 65   ┆mp punch   jmp reader   jmp home┆
0x0d51c0…0d51e0             0d 0a 09 6a 6d 70 09 73 65 6c 64 73 6b 0d 0a 09 6a 6d 70 09 73 65 74 74 72 6b 0d 0a 09 6a 6d 70   ┆   jmp seldsk   jmp settrk   jmp┆
0x0d51e0…0d5200             09 73 65 74 73 65 63 0d 0a 09 6a 6d 70 09 73 65 74 64 6d 61 0d 0a 09 6a 6d 70 09 72 65 61 64 0d   ┆ setsec   jmp setdma   jmp read ┆
0x0d5200…0d5220 (56, 1, 11) 65 63 61 6c 69 62 72 61 74 65 20 64 72 69 76 65 0d 0a 69 6f 72 64 79 09 65 71 75 09 34 68 09 3b   ┆ecalibrate drive  iordy equ 4h ;┆
0x0d5220…0d5240             69 2f 6f 20 66 69 6e 69 73 68 65 64 20 6d 61 73 6b 0d 0a 63 72 09 65 71 75 09 30 64 68 09 3b 63   ┆i/o finished mask  cr equ 0dh ;c┆
0x0d5240…0d5260             61 72 72 69 61 67 65 20 72 65 74 75 72 6e 0d 0a 6c 66 09 65 71 75 09 30 61 68 09 3b 6c 69 6e 65   ┆arriage return  lf equ 0ah ;line┆
0x0d5260…0d5280             20 66 65 65 64 0d 0a 3b 0d 0a 73 69 67 6e 6f 6e 3a 09 3b 73 69 67 6e 6f 6e 20 6d 65 73 73 61 67   ┆ feed  ;  signon: ;signon messag┆
0x0d5280…0d52a0             65 3a 20 78 78 6b 20 63 70 2f 6d 20 76 65 72 73 20 79 2e 79 0d 0a 09 64 62 09 63 72 2c 6c 66 2c   ┆e: xxk cp/m vers y.y   db cr,lf,┆
0x0d52a0…0d52c0             6c 66 0d 0a 09 69 66 09 74 65 73 74 0d 0a 09 64 62 09 27 33 32 27 09 3b 33 32 6b 20 65 78 61 6d   ┆lf   if test   db '32' ;32k exam┆
0x0d52c0…0d52e0             70 6c 65 20 62 69 6f 73 0d 0a 09 65 6e 64 69 66 0d 0a 09 69 66 09 6e 6f 74 20 74 65 73 74 0d 0a   ┆ple bios   endif   if not test  ┆
0x0d52e0…0d5300             09 64 62 09 27 30 30 27 09 3b 6d 65 6d 6f 72 79 20 73 69 7a 65 20 66 69 6c 6c 65 64 20 62 79 20   ┆ db '00' ;memory size filled by ┆
0x0d5300…0d5320             72 65 6c 6f 63 61 74 6f 72 0d 0a 09 65 6e 64 69 66 0d 0a 09 64 62 09 27 6b 20 43 50 2f 4d 20 76   ┆relocator   endif   db 'k CP/M v┆
0x0d5320…0d5340             65 72 73 20 27 0d 0a 09 64 62 09 76 65 72 73 2f 31 30 2b 27 30 27 2c 27 2e 27 2c 76 65 72 73 20   ┆ers '   db vers/10+'0','.',vers ┆
0x0d5340…0d5360             6d 6f 64 20 31 30 2b 27 30 27 0d 0a 09 64 62 09 63 72 2c 6c 66 2c 30 0d 0a 3b 0d 0a 62 6f 6f 74   ┆mod 10+'0'   db cr,lf,0  ;  boot┆
0x0d5360…0d5380             3a 09 3b 70 72 69 6e 74 20 73 69 67 6e 6f 6e 20 6d 65 73 73 61 67 65 20 61 6e 64 20 67 6f 20 74   ┆: ;print signon message and go t┆
0x0d5380…0d53a0             6f 20 63 63 70 0d 0a 3b 09 28 6e 6f 74 65 3a 20 6d 64 73 20 62 6f 6f 74 20 69 6e 69 74 69 61 6c   ┆o ccp  ; (note: mds boot initial┆
0x0d53a0…0d53c0             69 7a 65 64 20 69 6f 62 79 74 65 20 61 74 20 30 30 30 33 68 29 0d 0a 09 6c 78 69 09 73 70 2c 62   ┆ized iobyte at 0003h)   lxi sp,b┆
0x0d53c0…0d53e0             75 66 66 2b 38 30 68 0d 0a 09 6c 78 69 09 68 2c 73 69 67 6e 6f 6e 0d 0a 09 63 61 6c 6c 09 70 72   ┆uff+80h   lxi h,signon   call pr┆
0x0d53e0…0d5400             6d 73 67 09 3b 70 72 69 6e 74 20 6d 65 73 73 61 67 65 0d 0a 09 78 72 61 09 61 09 3b 63 6c 65 61   ┆msg ;print message   xra a ;clea┆
0x0d5400…0d5420 (56, 1, 12) 69 6e 74 65 72 72 75 70 74 20 63 6f 6e 74 72 6f 6c 0d 0a 3b 0d 0a 3b 09 73 65 74 20 64 65 66 61   ┆interrupt control  ;  ; set defa┆
0x0d5420…0d5440             75 6c 74 20 62 75 66 66 65 72 20 61 64 64 72 65 73 73 20 74 6f 20 38 30 68 0d 0a 09 6c 78 69 09   ┆ult buffer address to 80h   lxi ┆
0x0d5440…0d5460             62 2c 62 75 66 66 0d 0a 09 63 61 6c 6c 09 73 65 74 64 6d 61 0d 0a 3b 0d 0a 3b 09 72 65 73 65 74   ┆b,buff   call setdma  ;  ; reset┆
0x0d5460…0d5480             20 6d 6f 6e 69 74 6f 72 20 65 6e 74 72 79 20 70 6f 69 6e 74 73 0d 0a 09 6d 76 69 09 61 2c 6a 6d   ┆ monitor entry points   mvi a,jm┆
0x0d5480…0d54a0             70 0d 0a 09 73 74 61 09 30 0d 0a 09 6c 78 69 09 68 2c 77 62 6f 6f 74 65 0d 0a 09 73 68 6c 64 09   ┆p   sta 0   lxi h,wboote   shld ┆
0x0d54a0…0d54c0             31 09 3b 6a 6d 70 20 77 62 6f 6f 74 20 61 74 20 6c 6f 63 61 74 69 6f 6e 20 30 30 0d 0a 09 73 74   ┆1 ;jmp wboot at location 00   st┆
0x0d54c0…0d54e0             61 09 35 0d 0a 09 6c 78 69 09 68 2c 62 64 6f 73 0d 0a 09 73 68 6c 64 09 36 09 3b 6a 6d 70 20 62   ┆a 5   lxi h,bdos   shld 6 ;jmp b┆
0x0d54e0…0d5500             64 6f 73 20 61 74 20 6c 6f 63 61 74 69 6f 6e 20 35 0d 0a 09 69 66 09 6e 6f 74 20 74 65 73 74 0d   ┆dos at location 5   if not test ┆
0x0d5500…0d5520             0a 09 73 74 61 09 37 2a 38 09 3b 6a 6d 70 20 74 6f 20 6d 6f 6e 38 30 20 28 6d 61 79 20 68 61 76   ┆  sta 7*8 ;jmp to mon80 (may hav┆
0x0d5520…0d5540             65 20 62 65 65 6e 20 63 68 61 6e 67 65 64 20 62 79 20 64 64 74 29 0d 0a 09 6c 78 69 09 68 2c 6d   ┆e been changed by ddt)   lxi h,m┆
0x0d5540…0d5560             6f 6e 38 30 0d 0a 09 73 68 6c 64 09 37 2a 38 2b 31 0d 0a 09 65 6e 64 69 66 0d 0a 3b 09 6c 65 61   ┆on80   shld 7*8+1   endif  ; lea┆
0x0d5560…0d5580             76 65 20 69 6f 62 79 74 65 20 73 65 74 0d 0a 3b 09 70 72 65 76 69 6f 75 73 6c 79 20 73 65 6c 65   ┆ve iobyte set  ; previously sele┆
0x0d5580…0d55a0             63 74 65 64 20 64 69 73 6b 20 77 61 73 20 62 2c 20 73 65 6e 64 20 70 61 72 61 6d 65 74 65 72 20   ┆cted disk was b, send parameter ┆
0x0d55a0…0d55c0             74 6f 20 63 70 6d 0d 0a 09 6c 64 61 09 63 64 69 73 6b 09 3b 6c 61 73 74 20 6c 6f 67 67 65 64 20   ┆to cpm   lda cdisk ;last logged ┆
0x0d55c0…0d55e0             64 69 73 6b 20 6e 75 6d 62 65 72 0d 0a 09 6d 6f 76 09 63 2c 61 09 3b 73 65 6e 64 20 74 6f 20 63   ┆disk number   mov c,a ;send to c┆
0x0d55e0…0d5600             63 70 20 74 6f 20 6c 6f 67 20 69 74 20 69 6e 0d 0a 09 65 69 0d 0a 09 6a 6d 70 09 63 70 6d 62 0d   ┆cp to log it in   ei   jmp cpmb ┆
0x0d5600…0d5620 (56, 1, 13) 73 69 6f 6e 29 0d 0a 3b 0d 0a 3b 09 56 65 72 73 69 6f 6e 20 32 2e 32 20 46 65 62 72 75 61 72 79   ┆sion)  ;  ; Version 2.2 February┆
0x0d5620…0d5640             2c 20 31 39 38 30 0d 0a 3b 0d 0a 76 65 72 73 09 65 71 75 09 32 32 09 3b 76 65 72 73 69 6f 6e 20   ┆, 1980  ;  vers equ 22 ;version ┆
0x0d5640…0d5660             32 2e 32 0d 0a 3b 0d 0a 3b 09 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 31 39 38 30 0d 0a 3b 09   ┆2.2  ;  ; Copyright (c) 1980  ; ┆
0x0d5660…0d5680             44 69 67 69 74 61 6c 20 52 65 73 65 61 72 63 68 0d 0a 3b 09 42 6f 78 20 35 37 39 2c 20 50 61 63   ┆Digital Research  ; Box 579, Pac┆
0x0d5680…0d56a0             69 66 69 63 20 47 72 6f 76 65 0d 0a 3b 09 43 61 6c 69 66 6f 72 6e 69 61 2c 20 39 33 39 35 30 0d   ┆ific Grove  ; California, 93950 ┆
0x0d56a0…0d56c0             0a 3b 0d 0a 3b 0d 0a 74 72 75 65 09 65 71 75 09 30 66 66 66 66 68 09 3b 76 61 6c 75 65 20 6f 66   ┆ ;  ;  true equ 0ffffh ;value of┆
0x0d56c0…0d56e0             20 22 74 72 75 65 22 0d 0a 66 61 6c 73 65 09 65 71 75 09 6e 6f 74 20 74 72 75 65 09 3b 22 66 61   ┆ "true"  false equ not true ;"fa┆
0x0d56e0…0d5700             6c 73 65 22 0d 0a 74 65 73 74 09 65 71 75 09 66 61 6c 73 65 09 3b 74 72 75 65 20 69 66 20 74 65   ┆lse"  test equ false ;true if te┆
0x0d5700…0d5720             73 74 20 62 69 6f 73 0d 0a 3b 0d 0a 09 69 66 09 74 65 73 74 0d 0a 62 69 61 73 09 65 71 75 09 30   ┆st bios  ;   if test  bias equ 0┆
0x0d5720…0d5740             33 34 30 30 68 09 3b 62 61 73 65 20 6f 66 20 43 43 50 20 69 6e 20 74 65 73 74 20 73 79 73 74 65   ┆3400h ;base of CCP in test syste┆
0x0d5740…0d5760             6d 0d 0a 09 65 6e 64 69 66 0d 0a 09 69 66 09 6e 6f 74 20 74 65 73 74 0d 0a 62 69 61 73 09 65 71   ┆m   endif   if not test  bias eq┆
0x0d5760…0d5780             75 09 30 30 30 30 68 09 3b 67 65 6e 65 72 61 74 65 20 72 65 6c 6f 63 61 74 61 62 6c 65 20 63 70   ┆u 0000h ;generate relocatable cp┆
0x0d5780…0d57a0             2f 6d 20 73 79 73 74 65 6d 0d 0a 09 65 6e 64 69 66 0d 0a 3b 0d 0a 70 61 74 63 68 09 65 71 75 09   ┆/m system   endif  ;  patch equ ┆
0x0d57a0…0d57c0             31 36 30 30 68 0d 0a 3b 0d 0a 09 6f 72 67 09 70 61 74 63 68 0d 0a 63 70 6d 62 09 65 71 75 09 24   ┆1600h  ;   org patch  cpmb equ $┆
0x0d57c0…0d57e0             2d 70 61 74 63 68 09 3b 62 61 73 65 20 6f 66 20 63 70 6d 20 63 6f 6e 73 6f 6c 65 20 70 72 6f 63   ┆-patch ;base of cpm console proc┆
0x0d57e0…0d5800             65 73 73 6f 72 0d 0a 62 64 6f 73 09 65 71 75 09 38 30 36 68 2b 63 70 6d 62 09 3b 62 61 73 69 63   ┆essor  bdos equ 806h+cpmb ;basic┆
0x0d5800…0d5820 (56, 1, 14) 0a 09 6a 6d 70 09 77 72 69 74 65 0d 0a 09 6a 6d 70 09 6c 69 73 74 73 74 09 3b 6c 69 73 74 20 73   ┆  jmp write   jmp listst ;list s┆
0x0d5820…0d5840             74 61 74 75 73 0d 0a 09 6a 6d 70 09 73 65 63 74 72 61 6e 0d 0a 3b 0d 0a 09 6d 61 63 6c 69 62 09   ┆tatus   jmp sectran  ;   maclib ┆
0x0d5840…0d5860             64 69 73 6b 64 65 66 09 3b 6c 6f 61 64 20 74 68 65 20 64 69 73 6b 20 64 65 66 69 6e 69 74 69 6f   ┆diskdef ;load the disk definitio┆
0x0d5860…0d5880             6e 20 6c 69 62 72 61 72 79 0d 0a 09 64 69 73 6b 73 09 34 09 3b 66 6f 75 72 20 64 69 73 6b 73 0d   ┆n library   disks 4 ;four disks ┆
0x0d5880…0d58a0             0a 09 64 69 73 6b 64 65 66 09 30 2c 31 2c 32 36 2c 36 2c 31 30 32 34 2c 32 34 33 2c 36 34 2c 36   ┆  diskdef 0,1,26,6,1024,243,64,6┆
0x0d58a0…0d58c0             34 2c 6f 66 66 73 65 74 0d 0a 09 64 69 73 6b 64 65 66 09 31 2c 30 0d 0a 09 64 69 73 6b 64 65 66   ┆4,offset   diskdef 1,0   diskdef┆
0x0d58c0…0d58e0             09 32 2c 30 0d 0a 09 64 69 73 6b 64 65 66 09 33 2c 30 0d 0a 3b 09 65 6e 64 65 66 20 6f 63 63 75   ┆ 2,0   diskdef 3,0  ; endef occu┆
0x0d58e0…0d5900             72 73 20 61 74 20 65 6e 64 20 6f 66 20 61 73 73 65 6d 62 6c 79 0d 0a 3b 0d 0a 3b 09 65 6e 64 20   ┆rs at end of assembly  ;  ; end ┆
0x0d5900…0d5920             6f 66 20 63 6f 6e 74 72 6f 6c 6c 65 72 20 2d 20 69 6e 64 65 70 65 6e 64 65 6e 74 20 63 6f 64 65   ┆of controller - independent code┆
0x0d5920…0d5940             2c 20 74 68 65 20 72 65 6d 61 69 6e 69 6e 67 20 73 75 62 72 6f 75 74 69 6e 65 73 0d 0a 3b 09 61   ┆, the remaining subroutines  ; a┆
0x0d5940…0d5960             72 65 20 74 61 69 6c 6f 72 65 64 20 74 6f 20 74 68 65 20 70 61 72 74 69 63 75 6c 61 72 20 6f 70   ┆re tailored to the particular op┆
0x0d5960…0d5980             65 72 61 74 69 6e 67 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 2c 20 61 6e 64 20 6d 75 73 74 0d 0a 3b   ┆erating environment, and must  ;┆
0x0d5980…0d59a0             09 62 65 20 61 6c 74 65 72 65 64 20 66 6f 72 20 61 6e 79 20 73 79 73 74 65 6d 20 77 68 69 63 68   ┆ be altered for any system which┆
0x0d59a0…0d59c0             20 64 69 66 66 65 72 73 20 66 72 6f 6d 20 74 68 65 20 69 6e 74 65 6c 20 6d 64 73 2e 0d 0a 3b 0d   ┆ differs from the intel mds.  ; ┆
0x0d59c0…0d59e0             0a 3b 09 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 64 65 20 61 73 73 75 6d 65 73 20 74 68   ┆ ; the following code assumes th┆
0x0d59e0…0d5a00             65 20 6d 64 73 20 6d 6f 6e 69 74 6f 72 20 65 78 69 73 74 73 20 61 74 20 30 66 38 30 30 68 0d 0a   ┆e mds monitor exists at 0f800h  ┆
0x0d5a00…0d5a20 (56, 1, 15) 72 20 61 63 63 75 6d 75 6c 61 74 6f 72 0d 0a 09 73 74 61 09 63 64 69 73 6b 09 3b 73 65 74 20 69   ┆r accumulator   sta cdisk ;set i┆
0x0d5a20…0d5a40             6e 69 74 69 61 6c 6c 79 20 74 6f 20 64 69 73 6b 20 61 0d 0a 09 6a 6d 70 09 67 6f 63 70 6d 09 3b   ┆nitially to disk a   jmp gocpm ;┆
0x0d5a40…0d5a60             67 6f 20 74 6f 20 63 70 2f 6d 0d 0a 3b 0d 0a 3b 0d 0a 77 62 6f 6f 74 3a 3b 09 6c 6f 61 64 65 72   ┆go to cp/m  ;  ;  wboot:; loader┆
0x0d5a60…0d5a80             20 6f 6e 20 74 72 61 63 6b 20 30 2c 20 73 65 63 74 6f 72 20 31 2c 20 77 68 69 63 68 20 77 69 6c   ┆ on track 0, sector 1, which wil┆
0x0d5a80…0d5aa0             6c 20 62 65 20 73 6b 69 70 70 65 64 20 66 6f 72 20 77 61 72 6d 20 0d 0a 3b 09 72 65 61 64 20 63   ┆l be skipped for warm   ; read c┆
0x0d5aa0…0d5ac0             70 2f 6d 20 66 72 6f 6d 20 64 69 73 6b 20 2d 20 61 73 73 75 6d 69 6e 67 20 74 68 65 72 65 20 69   ┆p/m from disk - assuming there i┆
0x0d5ac0…0d5ae0             73 20 61 20 31 32 38 20 62 79 74 65 20 63 6f 6c 64 20 73 74 61 72 74 0d 0a 3b 09 73 74 61 72 74   ┆s a 128 byte cold start  ; start┆
0x0d5ae0…0d5b00             2e 0d 0a 3b 0d 0a 09 6c 78 69 09 73 70 2c 62 75 66 66 09 3b 75 73 69 6e 67 20 64 6d 61 20 2d 20   ┆.  ;   lxi sp,buff ;using dma - ┆
0x0d5b00…0d5b20             74 68 75 73 20 38 30 20 74 68 72 75 20 66 66 20 61 76 61 69 6c 61 62 6c 65 20 66 6f 72 20 73 74   ┆thus 80 thru ff available for st┆
0x0d5b20…0d5b40             61 63 6b 0d 0a 3b 0d 0a 09 6d 76 69 09 63 2c 72 65 74 72 79 09 3b 6d 61 78 20 72 65 74 72 69 65   ┆ack  ;   mvi c,retry ;max retrie┆
0x0d5b40…0d5b60             73 0d 0a 09 70 75 73 68 09 62 0d 0a 77 62 6f 6f 74 30 3a 09 3b 65 6e 74 65 72 20 68 65 72 65 20   ┆s   push b  wboot0: ;enter here ┆
0x0d5b60…0d5b80             6f 6e 20 65 72 72 6f 72 20 72 65 74 72 69 65 73 0d 0a 09 6c 78 69 09 62 2c 63 70 6d 62 09 3b 73   ┆on error retries   lxi b,cpmb ;s┆
0x0d5b80…0d5ba0             65 74 20 64 6d 61 20 61 64 64 72 65 73 73 20 74 6f 20 73 74 61 72 74 20 6f 66 20 64 69 73 6b 20   ┆et dma address to start of disk ┆
0x0d5ba0…0d5bc0             73 79 73 74 65 6d 0d 0a 09 63 61 6c 6c 09 73 65 74 64 6d 61 0d 0a 09 6d 76 69 09 63 2c 30 09 3b   ┆system   call setdma   mvi c,0 ;┆
0x0d5bc0…0d5be0             62 6f 6f 74 20 66 72 6f 6d 20 64 72 69 76 65 20 30 0d 0a 09 63 61 6c 6c 09 73 65 6c 64 73 6b 0d   ┆boot from drive 0   call seldsk ┆
0x0d5be0…0d5c00             0a 09 6d 76 69 09 63 2c 30 0d 0a 09 63 61 6c 6c 09 73 65 74 74 72 6b 09 3b 73 74 61 72 74 20 77   ┆  mvi c,0   call settrk ;start w┆
0x0d5c00…0d5c20 (57, 0, 1)  0a 3b 0d 0a 3b 09 65 72 72 6f 72 20 63 6f 6e 64 69 74 69 6f 6e 20 6f 63 63 75 72 72 65 64 2c 20   ┆ ;  ; error condition occurred, ┆
0x0d5c20…0d5c40             70 72 69 6e 74 20 6d 65 73 73 61 67 65 20 61 6e 64 20 72 65 74 72 79 0d 0a 62 6f 6f 74 65 72 72   ┆print message and retry  booterr┆
0x0d5c40…0d5c60             3a 0d 0a 09 70 6f 70 09 62 09 3b 72 65 63 61 6c 6c 20 63 6f 75 6e 74 73 0d 0a 09 64 63 72 09 63   ┆:   pop b ;recall counts   dcr c┆
0x0d5c60…0d5c80             0d 0a 09 6a 7a 09 62 6f 6f 74 65 72 30 0d 0a 3b 09 74 72 79 20 61 67 61 69 6e 0d 0a 09 70 75 73   ┆   jz booter0  ; try again   pus┆
0x0d5c80…0d5ca0             68 09 62 0d 0a 09 6a 6d 70 09 77 62 6f 6f 74 30 0d 0a 3b 0d 0a 62 6f 6f 74 65 72 30 3a 0d 0a 3b   ┆h b   jmp wboot0  ;  booter0:  ;┆
0x0d5ca0…0d5cc0             09 6f 74 68 65 72 77 69 73 65 20 74 6f 6f 20 6d 61 6e 79 20 72 65 74 72 69 65 73 0d 0a 09 6c 78   ┆ otherwise too many retries   lx┆
0x0d5cc0…0d5ce0             69 09 68 2c 62 6f 6f 74 6d 73 67 0d 0a 09 63 61 6c 6c 09 70 72 6d 73 67 0d 0a 09 6a 6d 70 09 72   ┆i h,bootmsg   call prmsg   jmp r┆
0x0d5ce0…0d5d00             6d 6f 6e 38 30 09 3b 6d 64 73 20 68 61 72 64 77 61 72 65 20 6d 6f 6e 69 74 6f 72 0d 0a 3b 0d 0a   ┆mon80 ;mds hardware monitor  ;  ┆
0x0d5d00…0d5d20             62 6f 6f 74 6d 73 67 3a 0d 0a 09 64 62 09 27 3f 62 6f 6f 74 27 2c 30 0d 0a 3b 0d 0a 3b 0d 0a 63   ┆bootmsg:   db '?boot',0  ;  ;  c┆
0x0d5d20…0d5d40             6f 6e 73 74 3a 09 3b 63 6f 6e 73 6f 6c 65 20 73 74 61 74 75 73 20 74 6f 20 72 65 67 2d 61 0d 0a   ┆onst: ;console status to reg-a  ┆
0x0d5d40…0d5d60             3b 09 28 65 78 61 63 74 6c 79 20 74 68 65 20 73 61 6d 65 20 61 73 20 6d 64 73 20 63 61 6c 6c 29   ┆; (exactly the same as mds call)┆
0x0d5d60…0d5d80             0d 0a 09 6a 6d 70 09 63 73 74 73 0d 0a 3b 0d 0a 63 6f 6e 69 6e 3a 09 3b 63 6f 6e 73 6f 6c 65 20   ┆   jmp csts  ;  conin: ;console ┆
0x0d5d80…0d5da0             63 68 61 72 61 63 74 65 72 20 74 6f 20 72 65 67 2d 61 0d 0a 09 63 61 6c 6c 09 63 69 0d 0a 09 61   ┆character to reg-a   call ci   a┆
0x0d5da0…0d5dc0             6e 69 09 37 66 68 09 3b 72 65 6d 6f 76 65 20 70 61 72 69 74 79 20 62 69 74 0d 0a 09 72 65 74 0d   ┆ni 7fh ;remove parity bit   ret ┆
0x0d5dc0…0d5de0             0a 3b 0d 0a 63 6f 6e 6f 75 74 3a 09 3b 63 6f 6e 73 6f 6c 65 20 63 68 61 72 61 63 74 65 72 20 66   ┆ ;  conout: ;console character f┆
0x0d5de0…0d5e00             72 6f 6d 20 63 20 74 6f 20 63 6f 6e 73 6f 6c 65 20 6f 75 74 0d 0a 09 6a 6d 70 09 63 6f 0d 0a 3b   ┆rom c to console out   jmp co  ;┆
0x0d5e00…0d5e20 (57, 0, 2)  6f 76 09 68 2c 62 0d 0a 09 73 68 6c 64 09 69 6f 64 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 72 65 61 64   ┆ov h,b   shld iod   ret  ;  read┆
0x0d5e20…0d5e40             3a 09 3b 72 65 61 64 20 6e 65 78 74 20 64 69 73 6b 20 72 65 63 6f 72 64 20 28 61 73 73 75 6d 69   ┆: ;read next disk record (assumi┆
0x0d5e40…0d5e60             6e 67 20 64 69 73 6b 2f 74 72 6b 2f 73 65 63 2f 64 6d 61 20 73 65 74 29 0d 0a 09 6d 76 69 09 63   ┆ng disk/trk/sec/dma set)   mvi c┆
0x0d5e60…0d5e80             2c 72 65 61 64 66 09 3b 73 65 74 20 74 6f 20 72 65 61 64 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 63   ┆,readf ;set to read function   c┆
0x0d5e80…0d5ea0             61 6c 6c 09 73 65 74 66 75 6e 63 0d 0a 09 63 61 6c 6c 09 77 61 69 74 69 6f 09 3b 70 65 72 66 6f   ┆all setfunc   call waitio ;perfo┆
0x0d5ea0…0d5ec0             72 6d 20 72 65 61 64 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 72 65 74 09 09 3b 6d 61 79 20 68 61 76   ┆rm read function   ret  ;may hav┆
0x0d5ec0…0d5ee0             65 20 65 72 72 6f 72 20 73 65 74 20 69 6e 20 72 65 67 2d 61 0d 0a 3b 0d 0a 3b 0d 0a 77 72 69 74   ┆e error set in reg-a  ;  ;  writ┆
0x0d5ee0…0d5f00             65 3a 09 3b 64 69 73 6b 20 77 72 69 74 65 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 6d 76 69 09 63 2c   ┆e: ;disk write function   mvi c,┆
0x0d5f00…0d5f20             77 72 69 74 66 0d 0a 09 63 61 6c 6c 09 73 65 74 66 75 6e 63 09 3b 73 65 74 20 74 6f 20 77 72 69   ┆writf   call setfunc ;set to wri┆
0x0d5f20…0d5f40             74 65 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 63 61 6c 6c 09 77 61 69 74 69 6f 0d 0a 09 72 65 74 09   ┆te function   call waitio   ret ┆
0x0d5f40…0d5f60             09 3b 6d 61 79 20 68 61 76 65 20 65 72 72 6f 72 20 73 65 74 0d 0a 3b 0d 0a 3b 0d 0a 3b 09 75 74   ┆ ;may have error set  ;  ;  ; ut┆
0x0d5f60…0d5f80             69 6c 69 74 79 20 73 75 62 72 6f 75 74 69 6e 65 73 0d 0a 70 72 6d 73 67 3a 09 3b 70 72 69 6e 74   ┆ility subroutines  prmsg: ;print┆
0x0d5f80…0d5fa0             20 6d 65 73 73 61 67 65 20 61 74 20 68 2c 6c 20 74 6f 20 30 0d 0a 09 6d 6f 76 09 61 2c 6d 0d 0a   ┆ message at h,l to 0   mov a,m  ┆
0x0d5fa0…0d5fc0             09 6f 72 61 09 61 09 3b 7a 65 72 6f 3f 0d 0a 09 72 7a 0d 0a 3b 09 6d 6f 72 65 20 74 6f 20 70 72   ┆ ora a ;zero?   rz  ; more to pr┆
0x0d5fc0…0d5fe0             69 6e 74 0d 0a 09 70 75 73 68 09 68 0d 0a 09 6d 6f 76 09 63 2c 61 0d 0a 09 63 61 6c 6c 09 63 6f   ┆int   push h   mov c,a   call co┆
0x0d5fe0…0d6000             6e 6f 75 74 0d 0a 09 70 6f 70 09 68 0d 0a 09 69 6e 78 09 68 0d 0a 09 6a 6d 70 09 70 72 6d 73 67   ┆nout   pop h   inx h   jmp prmsg┆
0x0d6000…0d6020 (57, 0, 3)  75 6e 69 74 20 6e 6f 74 20 72 65 61 64 79 0d 0a 09 72 61 72 0d 0a 09 61 6e 69 09 31 31 31 31 31   ┆unit not ready   rar   ani 11111┆
0x0d6020…0d6040             31 31 30 62 09 3b 61 6e 79 20 6f 74 68 65 72 20 65 72 72 6f 72 73 3f 20 20 28 64 65 6c 65 74 65   ┆110b ;any other errors?  (delete┆
0x0d6040…0d6060             64 20 64 61 74 61 20 6f 6b 29 0d 0a 09 6a 6e 7a 09 77 65 72 72 6f 72 0d 0a 3b 0d 0a 3b 09 72 65   ┆d data ok)   jnz werror  ;  ; re┆
0x0d6060…0d6080             61 64 20 6f 72 20 77 72 69 74 65 20 69 73 20 6f 6b 2c 20 61 63 63 75 6d 75 6c 61 74 6f 72 20 63   ┆ad or write is ok, accumulator c┆
0x0d6080…0d60a0             6f 6e 74 61 69 6e 73 20 7a 65 72 6f 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 77 72 65 61 64 79 3a 09 3b   ┆ontains zero   ret  ;  wready: ;┆
0x0d60a0…0d60c0             6e 6f 74 20 72 65 61 64 79 2c 20 74 72 65 61 74 20 61 73 20 65 72 72 6f 72 20 66 6f 72 20 6e 6f   ┆not ready, treat as error for no┆
0x0d60c0…0d60e0             77 0d 0a 09 63 61 6c 6c 09 69 6e 62 79 74 65 09 09 3b 63 6c 65 61 72 20 72 65 73 75 6c 74 20 62   ┆w   call inbyte  ;clear result b┆
0x0d60e0…0d6100             79 74 65 0d 0a 09 6a 6d 70 09 74 72 79 63 6f 75 6e 74 0d 0a 3b 0d 0a 77 65 72 72 6f 72 3a 09 3b   ┆yte   jmp trycount  ;  werror: ;┆
0x0d6100…0d6120             72 65 74 75 72 6e 20 68 61 72 64 77 61 72 65 20 6d 61 6c 66 75 6e 63 74 69 6f 6e 20 28 63 72 63   ┆return hardware malfunction (crc┆
0x0d6120…0d6140             2c 20 74 72 61 63 6b 2c 20 73 65 65 6b 2c 20 65 74 63 2e 29 0d 0a 3b 09 74 68 65 20 6d 64 73 20   ┆, track, seek, etc.)  ; the mds ┆
0x0d6140…0d6160             63 6f 6e 74 72 6f 6c 6c 65 72 20 68 61 73 20 72 65 74 75 72 6e 65 64 20 61 20 62 69 74 20 69 6e   ┆controller has returned a bit in┆
0x0d6160…0d6180             20 65 61 63 68 20 70 6f 73 69 74 69 6f 6e 0d 0a 3b 09 6f 66 20 74 68 65 20 61 63 63 75 6d 75 6c   ┆ each position  ; of the accumul┆
0x0d6180…0d61a0             61 74 6f 72 2c 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 74 6f 20 74 68 65 20 63 6f 6e 64 69   ┆ator, corresponding to the condi┆
0x0d61a0…0d61c0             74 69 6f 6e 73 3a 0d 0a 3b 09 30 09 2d 20 64 65 6c 65 74 65 64 20 64 61 74 61 20 28 61 63 63 65   ┆tions:  ; 0 - deleted data (acce┆
0x0d61c0…0d61e0             70 74 65 64 20 61 73 20 6f 6b 20 61 62 6f 76 65 29 0d 0a 3b 09 31 09 2d 20 63 72 63 20 65 72 72   ┆pted as ok above)  ; 1 - crc err┆
0x0d61e0…0d6200             6f 72 0d 0a 3b 09 32 09 2d 20 73 65 65 6b 20 65 72 72 6f 72 0d 0a 3b 09 33 09 2d 20 61 64 64 72   ┆or  ; 2 - seek error  ; 3 - addr┆
0x0d6200…0d6220 (57, 0, 4)  30 0d 0a 3b 09 44 69 67 69 74 61 6c 20 52 65 73 65 61 72 63 68 0d 0a 3b 09 42 6f 78 20 35 37 39   ┆0  ; Digital Research  ; Box 579┆
0x0d6220…0d6240             2c 20 50 61 63 69 66 69 63 20 47 72 6f 76 65 0d 0a 3b 09 43 61 6c 69 66 6f 72 6e 69 61 2c 20 39   ┆, Pacific Grove  ; California, 9┆
0x0d6240…0d6260             33 39 35 30 0d 0a 3b 0d 0a 3b 0d 0a 74 72 75 65 09 65 71 75 09 30 66 66 66 66 68 09 3b 76 61 6c   ┆3950  ;  ;  true equ 0ffffh ;val┆
0x0d6260…0d6280             75 65 20 6f 66 20 22 74 72 75 65 22 0d 0a 66 61 6c 73 65 09 65 71 75 09 6e 6f 74 20 74 72 75 65   ┆ue of "true"  false equ not true┆
0x0d6280…0d62a0             09 3b 22 66 61 6c 73 65 22 0d 0a 74 65 73 74 09 65 71 75 09 66 61 6c 73 65 09 3b 74 72 75 65 20   ┆ ;"false"  test equ false ;true ┆
0x0d62a0…0d62c0             69 66 20 74 65 73 74 20 62 69 6f 73 0d 0a 3b 0d 0a 09 69 66 09 74 65 73 74 0d 0a 62 69 61 73 09   ┆if test bios  ;   if test  bias ┆
0x0d62c0…0d62e0             65 71 75 09 30 33 34 30 30 68 09 3b 62 61 73 65 20 6f 66 20 43 43 50 20 69 6e 20 74 65 73 74 20   ┆equ 03400h ;base of CCP in test ┆
0x0d62e0…0d6300             73 79 73 74 65 6d 0d 0a 09 65 6e 64 69 66 0d 0a 09 69 66 09 6e 6f 74 20 74 65 73 74 0d 0a 62 69   ┆system   endif   if not test  bi┆
0x0d6300…0d6320             61 73 09 65 71 75 09 30 30 30 30 68 09 3b 67 65 6e 65 72 61 74 65 20 72 65 6c 6f 63 61 74 61 62   ┆as equ 0000h ;generate relocatab┆
0x0d6320…0d6340             6c 65 20 63 70 2f 6d 20 73 79 73 74 65 6d 0d 0a 09 65 6e 64 69 66 0d 0a 3b 0d 0a 70 61 74 63 68   ┆le cp/m system   endif  ;  patch┆
0x0d6340…0d6360             09 65 71 75 09 31 36 30 30 68 0d 0a 3b 0d 0a 09 6f 72 67 09 70 61 74 63 68 0d 0a 63 70 6d 62 09   ┆ equ 1600h  ;   org patch  cpmb ┆
0x0d6360…0d6380             65 71 75 09 24 2d 70 61 74 63 68 09 3b 62 61 73 65 20 6f 66 20 63 70 6d 20 63 6f 6e 73 6f 6c 65   ┆equ $-patch ;base of cpm console┆
0x0d6380…0d63a0             20 70 72 6f 63 65 73 73 6f 72 0d 0a 62 64 6f 73 09 65 71 75 09 38 30 36 68 2b 63 70 6d 62 09 3b   ┆ processor  bdos equ 806h+cpmb ;┆
0x0d63a0…0d63c0             62 61 73 69 63 20 64 6f 73 20 28 72 65 73 69 64 65 6e 74 20 70 6f 72 74 69 6f 6e 29 0d 0a 63 70   ┆basic dos (resident portion)  cp┆
0x0d63c0…0d63e0             6d 6c 09 65 71 75 09 24 2d 63 70 6d 62 09 3b 6c 65 6e 67 74 68 20 28 69 6e 20 62 79 74 65 73 29   ┆ml equ $-cpmb ;length (in bytes)┆
0x0d63e0…0d6400             20 6f 66 20 63 70 6d 20 73 79 73 74 65 6d 0d 0a 6e 73 65 63 74 73 09 65 71 75 09 63 70 6d 6c 2f   ┆ of cpm system  nsects equ cpml/┆
0x0d6400…0d6420 (57, 0, 5)  0d 0a 6c 69 73 74 3a 09 3b 6c 69 73 74 20 64 65 76 69 63 65 20 6f 75 74 0d 0a 3b 09 28 65 78 61   ┆  list: ;list device out  ; (exa┆
0x0d6420…0d6440             63 74 6c 79 20 74 68 65 20 73 61 6d 65 20 61 73 20 6d 64 73 20 63 61 6c 6c 29 0d 0a 09 6a 6d 70   ┆ctly the same as mds call)   jmp┆
0x0d6440…0d6460             09 6c 6f 0d 0a 3b 0d 0a 6c 69 73 74 73 74 3a 0d 0a 09 3b 72 65 74 75 72 6e 20 6c 69 73 74 20 73   ┆ lo  ;  listst:   ;return list s┆
0x0d6460…0d6480             74 61 74 75 73 0d 0a 09 78 72 61 09 61 0d 0a 09 72 65 74 09 09 3b 61 6c 77 61 79 73 20 6e 6f 74   ┆tatus   xra a   ret  ;always not┆
0x0d6480…0d64a0             20 72 65 61 64 79 0d 0a 3b 0d 0a 70 75 6e 63 68 3a 09 3b 70 75 6e 63 68 20 64 65 76 69 63 65 20   ┆ ready  ;  punch: ;punch device ┆
0x0d64a0…0d64c0             6f 75 74 0d 0a 3b 09 28 65 78 61 63 74 6c 79 20 74 68 65 20 73 61 6d 65 20 61 73 20 6d 64 73 20   ┆out  ; (exactly the same as mds ┆
0x0d64c0…0d64e0             63 61 6c 6c 29 0d 0a 09 6a 6d 70 09 70 6f 0d 0a 3b 0d 0a 72 65 61 64 65 72 3a 09 3b 72 65 61 64   ┆call)   jmp po  ;  reader: ;read┆
0x0d64e0…0d6500             65 72 20 63 68 61 72 61 63 74 65 72 20 69 6e 20 74 6f 20 72 65 67 2d 61 0d 0a 3b 09 28 65 78 61   ┆er character in to reg-a  ; (exa┆
0x0d6500…0d6520             63 74 6c 79 20 74 68 65 20 73 61 6d 65 20 61 73 20 6d 64 73 20 63 61 6c 6c 29 0d 0a 09 6a 6d 70   ┆ctly the same as mds call)   jmp┆
0x0d6520…0d6540             09 72 69 0d 0a 3b 0d 0a 68 6f 6d 65 3a 09 3b 6d 6f 76 65 20 74 6f 20 68 6f 6d 65 20 70 6f 73 69   ┆ ri  ;  home: ;move to home posi┆
0x0d6540…0d6560             74 69 6f 6e 0d 0a 3b 09 74 72 65 61 74 20 61 73 20 74 72 61 63 6b 20 30 30 20 73 65 65 6b 0d 0a   ┆tion  ; treat as track 00 seek  ┆
0x0d6560…0d6580             09 6d 76 69 09 63 2c 30 0d 0a 09 6a 6d 70 09 73 65 74 74 72 6b 0d 0a 3b 0d 0a 73 65 6c 64 73 6b   ┆ mvi c,0   jmp settrk  ;  seldsk┆
0x0d6580…0d65a0             3a 09 3b 73 65 6c 65 63 74 20 64 69 73 6b 20 67 69 76 65 6e 20 62 79 20 72 65 67 69 73 74 65 72   ┆: ;select disk given by register┆
0x0d65a0…0d65c0             20 63 0d 0a 09 6c 78 69 09 68 2c 30 30 30 30 68 09 3b 72 65 74 75 72 6e 20 30 30 30 30 20 69 66   ┆ c   lxi h,0000h ;return 0000 if┆
0x0d65c0…0d65e0             20 65 72 72 6f 72 0d 0a 09 6d 6f 76 09 61 2c 63 0d 0a 09 63 70 69 09 6e 64 69 73 6b 73 09 3b 74   ┆ error   mov a,c   cpi ndisks ;t┆
0x0d65e0…0d6600             6f 6f 20 6c 61 72 67 65 3f 0d 0a 09 72 6e 63 09 09 3b 6c 65 61 76 65 20 48 4c 20 3d 20 30 30 30   ┆oo large?   rnc  ;leave HL = 000┆
0x0d6600…0d6620 (57, 0, 6)  0d 0a 3b 0d 0a 73 65 74 66 75 6e 63 3a 0d 0a 3b 09 73 65 74 20 66 75 6e 63 74 69 6f 6e 20 66 6f   ┆  ;  setfunc:  ; set function fo┆
0x0d6620…0d6640             72 20 6e 65 78 74 20 69 2f 6f 20 28 63 6f 6d 6d 61 6e 64 20 69 6e 20 72 65 67 2d 63 29 0d 0a 09   ┆r next i/o (command in reg-c)   ┆
0x0d6640…0d6660             6c 78 69 09 68 2c 69 6f 66 09 3b 69 6f 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 72 65 73 73 0d 0a   ┆lxi h,iof ;io function address  ┆
0x0d6660…0d6680             09 6d 6f 76 09 61 2c 6d 09 3b 67 65 74 20 69 74 20 74 6f 20 61 63 63 75 6d 75 6c 61 74 6f 72 20   ┆ mov a,m ;get it to accumulator ┆
0x0d6680…0d66a0             66 6f 72 20 6d 61 73 6b 69 6e 67 0d 0a 09 61 6e 69 09 31 31 31 31 31 30 30 30 62 09 3b 72 65 6d   ┆for masking   ani 11111000b ;rem┆
0x0d66a0…0d66c0             6f 76 65 20 70 72 65 76 69 6f 75 73 20 63 6f 6d 6d 61 6e 64 0d 0a 09 6f 72 61 09 63 09 3b 73 65   ┆ove previous command   ora c ;se┆
0x0d66c0…0d66e0             74 20 74 6f 20 6e 65 77 20 63 6f 6d 6d 61 6e 64 0d 0a 09 6d 6f 76 09 6d 2c 61 09 3b 72 65 70 6c   ┆t to new command   mov m,a ;repl┆
0x0d66e0…0d6700             61 63 65 64 20 69 6e 20 69 6f 70 62 0d 0a 3b 09 74 68 65 20 6d 64 73 2d 38 30 30 20 63 6f 6e 74   ┆aced in iopb  ; the mds-800 cont┆
0x0d6700…0d6720             72 6f 6c 6c 65 72 20 72 65 71 75 69 72 65 73 20 64 69 73 6b 20 62 61 6e 6b 20 62 69 74 20 69 6e   ┆roller requires disk bank bit in┆
0x0d6720…0d6740             20 73 65 63 74 6f 72 20 62 79 74 65 0d 0a 3b 09 6d 61 73 6b 20 74 68 65 20 62 69 74 20 66 72 6f   ┆ sector byte  ; mask the bit fro┆
0x0d6740…0d6760             6d 20 74 68 65 20 63 75 72 72 65 6e 74 20 69 2f 6f 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 61 6e 69   ┆m the current i/o function   ani┆
0x0d6760…0d6780             09 30 30 31 30 30 30 30 30 62 09 3b 6d 61 73 6b 20 74 68 65 20 64 69 73 6b 20 73 65 6c 65 63 74   ┆ 00100000b ;mask the disk select┆
0x0d6780…0d67a0             20 62 69 74 0d 0a 09 6c 78 69 09 68 2c 69 6f 73 09 09 3b 61 64 64 72 65 73 73 20 74 68 65 20 73   ┆ bit   lxi h,ios  ;address the s┆
0x0d67a0…0d67c0             65 63 74 6f 72 20 73 65 6c 65 63 74 20 62 79 74 65 0d 0a 09 6f 72 61 09 6d 09 09 3b 73 65 6c 65   ┆ector select byte   ora m  ;sele┆
0x0d67c0…0d67e0             63 74 20 70 72 6f 70 65 72 20 64 69 73 6b 20 62 61 6e 6b 0d 0a 09 6d 6f 76 09 6d 2c 61 09 09 3b   ┆ct proper disk bank   mov m,a  ;┆
0x0d67e0…0d6800             73 65 74 20 64 69 73 6b 20 73 65 6c 65 63 74 20 62 69 74 20 6f 6e 2f 6f 66 66 0d 0a 09 72 65 74   ┆set disk select bit on/off   ret┆
0x0d6800…0d6820 (57, 0, 7)  65 73 73 20 65 72 72 6f 72 20 28 68 61 72 64 77 61 72 65 20 6d 61 6c 66 75 6e 63 74 69 6f 6e 29   ┆ess error (hardware malfunction)┆
0x0d6820…0d6840             0d 0a 3b 09 34 09 2d 20 64 61 74 61 20 6f 76 65 72 2f 75 6e 64 65 72 20 66 6c 6f 77 20 28 68 61   ┆  ; 4 - data over/under flow (ha┆
0x0d6840…0d6860             72 64 77 61 72 65 20 6d 61 6c 66 75 6e 63 74 69 6f 6e 29 0d 0a 3b 09 35 09 2d 20 77 72 69 74 65   ┆rdware malfunction)  ; 5 - write┆
0x0d6860…0d6880             20 70 72 6f 74 65 63 74 20 28 74 72 65 61 74 65 64 20 61 73 20 6e 6f 74 20 72 65 61 64 79 29 0d   ┆ protect (treated as not ready) ┆
0x0d6880…0d68a0             0a 3b 09 36 09 2d 20 77 72 69 74 65 20 65 72 72 6f 72 20 28 68 61 72 64 77 61 72 65 20 6d 61 6c   ┆ ; 6 - write error (hardware mal┆
0x0d68a0…0d68c0             66 75 6e 63 74 69 6f 6e 29 0d 0a 3b 09 37 09 2d 20 6e 6f 74 20 72 65 61 64 79 0d 0a 3b 09 28 61   ┆function)  ; 7 - not ready  ; (a┆
0x0d68c0…0d68e0             63 63 75 6d 75 6c 61 74 6f 72 20 62 69 74 73 20 61 72 65 20 6e 75 6d 62 65 72 65 64 20 37 20 36   ┆ccumulator bits are numbered 7 6┆
0x0d68e0…0d6900             20 35 20 34 20 33 20 32 20 31 20 30 29 0d 0a 3b 0d 0a 3b 09 69 74 20 6d 61 79 20 62 65 20 75 73   ┆ 5 4 3 2 1 0)  ;  ; it may be us┆
0x0d6900…0d6920             65 66 75 6c 20 74 6f 20 66 69 6c 74 65 72 20 6f 75 74 20 74 68 65 20 76 61 72 69 6f 75 73 20 63   ┆eful to filter out the various c┆
0x0d6920…0d6940             6f 6e 64 69 74 69 6f 6e 73 2c 0d 0a 3b 09 62 75 74 20 77 65 20 77 69 6c 6c 20 67 65 74 20 61 20   ┆onditions,  ; but we will get a ┆
0x0d6940…0d6960             70 65 72 6d 61 6e 65 6e 74 20 65 72 72 6f 72 20 6d 65 73 73 61 67 65 20 69 66 20 69 74 20 69 73   ┆permanent error message if it is┆
0x0d6960…0d6980             20 6e 6f 74 0d 0a 3b 09 72 65 63 6f 76 65 72 61 62 6c 65 2e 20 20 69 6e 20 61 6e 79 20 63 61 73   ┆ not  ; recoverable.  in any cas┆
0x0d6980…0d69a0             65 2c 20 74 68 65 20 6e 6f 74 20 72 65 61 64 79 20 63 6f 6e 64 69 74 69 6f 6e 20 69 73 0d 0a 3b   ┆e, the not ready condition is  ;┆
0x0d69a0…0d69c0             09 74 72 65 61 74 65 64 20 61 73 20 61 20 73 65 70 61 72 61 74 65 20 63 6f 6e 64 69 74 69 6f 6e   ┆ treated as a separate condition┆
0x0d69c0…0d69e0             20 66 6f 72 20 6c 61 74 65 72 20 69 6d 70 72 6f 76 65 6d 65 6e 74 0d 0a 74 72 79 63 6f 75 6e 74   ┆ for later improvement  trycount┆
0x0d69e0…0d6a00             3a 0d 0a 3b 09 72 65 67 69 73 74 65 72 20 63 20 63 6f 6e 74 61 69 6e 73 20 72 65 74 72 79 20 63   ┆:  ; register c contains retry c┆
0x0d6a00…0d6a20 (57, 0, 8)  31 32 38 09 3b 6e 75 6d 62 65 72 20 6f 66 20 73 65 63 74 6f 72 73 20 74 6f 20 6c 6f 61 64 0d 0a   ┆128 ;number of sectors to load  ┆
0x0d6a20…0d6a40             6f 66 66 73 65 74 09 65 71 75 09 32 09 3b 6e 75 6d 62 65 72 20 6f 66 20 64 69 73 6b 20 74 72 61   ┆offset equ 2 ;number of disk tra┆
0x0d6a40…0d6a60             63 6b 73 20 75 73 65 64 20 62 79 20 63 70 2f 6d 0d 0a 63 64 69 73 6b 09 65 71 75 09 30 30 30 34   ┆cks used by cp/m  cdisk equ 0004┆
0x0d6a60…0d6a80             68 09 3b 61 64 64 72 65 73 73 20 6f 66 20 6c 61 73 74 20 6c 6f 67 67 65 64 20 64 69 73 6b 20 6f   ┆h ;address of last logged disk o┆
0x0d6a80…0d6aa0             6e 20 77 61 72 6d 20 73 74 61 72 74 0d 0a 62 75 66 66 09 65 71 75 09 30 30 38 30 68 09 3b 64 65   ┆n warm start  buff equ 0080h ;de┆
0x0d6aa0…0d6ac0             66 61 75 6c 74 20 62 75 66 66 65 72 20 61 64 64 72 65 73 73 0d 0a 72 65 74 72 79 09 65 71 75 09   ┆fault buffer address  retry equ ┆
0x0d6ac0…0d6ae0             31 30 09 3b 6d 61 78 20 72 65 74 72 69 65 73 20 6f 6e 20 64 69 73 6b 20 69 2f 6f 20 62 65 66 6f   ┆10 ;max retries on disk i/o befo┆
0x0d6ae0…0d6b00             72 65 20 65 72 72 6f 72 0d 0a 3b 0d 0a 3b 09 70 65 72 66 6f 72 6d 20 66 6f 6c 6c 6f 77 69 6e 67   ┆re error  ;  ; perform following┆
0x0d6b00…0d6b20             20 66 75 6e 63 74 69 6f 6e 73 0d 0a 3b 09 62 6f 6f 74 09 63 6f 6c 64 20 73 74 61 72 74 0d 0a 3b   ┆ functions  ; boot cold start  ;┆
0x0d6b20…0d6b40             09 77 62 6f 6f 74 09 77 61 72 6d 20 73 74 61 72 74 20 28 73 61 76 65 20 69 2f 6f 20 62 79 74 65   ┆ wboot warm start (save i/o byte┆
0x0d6b40…0d6b60             29 0d 0a 3b 09 28 62 6f 6f 74 20 61 6e 64 20 77 62 6f 6f 74 20 61 72 65 20 74 68 65 20 73 61 6d   ┆)  ; (boot and wboot are the sam┆
0x0d6b60…0d6b80             65 20 66 6f 72 20 6d 64 73 29 0d 0a 3b 09 63 6f 6e 73 74 09 63 6f 6e 73 6f 6c 65 20 73 74 61 74   ┆e for mds)  ; const console stat┆
0x0d6b80…0d6ba0             75 73 0d 0a 3b 09 09 72 65 67 2d 61 20 3d 20 30 30 20 69 66 20 6e 6f 20 63 68 61 72 61 63 74 65   ┆us  ;  reg-a = 00 if no characte┆
0x0d6ba0…0d6bc0             72 20 72 65 61 64 79 0d 0a 3b 09 09 72 65 67 2d 61 20 3d 20 66 66 20 69 66 20 63 68 61 72 61 63   ┆r ready  ;  reg-a = ff if charac┆
0x0d6bc0…0d6be0             74 65 72 20 72 65 61 64 79 0d 0a 3b 09 63 6f 6e 69 6e 09 63 6f 6e 73 6f 6c 65 20 63 68 61 72 61   ┆ter ready  ; conin console chara┆
0x0d6be0…0d6c00             63 74 65 72 20 69 6e 20 28 72 65 73 75 6c 74 20 69 6e 20 72 65 67 2d 61 29 0d 0a 3b 09 63 6f 6e   ┆cter in (result in reg-a)  ; con┆
0x0d6c00…0d6c20 (57, 0, 9)  30 0d 0a 3b 0d 0a 09 61 6e 69 09 31 30 62 09 3b 30 30 20 30 30 20 66 6f 72 20 64 72 69 76 65 20   ┆0  ;   ani 10b ;00 00 for drive ┆
0x0d6c20…0d6c40             30 2c 31 20 61 6e 64 20 31 30 20 31 30 20 66 6f 72 20 64 72 69 76 65 20 32 2c 33 0d 0a 09 73 74   ┆0,1 and 10 10 for drive 2,3   st┆
0x0d6c40…0d6c60             61 09 64 62 61 6e 6b 09 3b 74 6f 20 73 65 6c 65 63 74 20 64 72 69 76 65 20 62 61 6e 6b 0d 0a 09   ┆a dbank ;to select drive bank   ┆
0x0d6c60…0d6c80             6d 6f 76 09 61 2c 63 09 3b 30 30 2c 20 30 31 2c 20 31 30 2c 20 31 31 0d 0a 09 61 6e 69 09 31 62   ┆mov a,c ;00, 01, 10, 11   ani 1b┆
0x0d6c80…0d6ca0             09 3b 6d 64 73 20 68 61 73 20 30 2c 31 20 61 74 20 37 38 2c 20 32 2c 33 20 61 74 20 38 38 0d 0a   ┆ ;mds has 0,1 at 78, 2,3 at 88  ┆
0x0d6ca0…0d6cc0             09 6f 72 61 09 61 09 3b 72 65 73 75 6c 74 20 30 30 3f 0d 0a 09 6a 7a 09 73 65 74 64 72 69 76 65   ┆ ora a ;result 00?   jz setdrive┆
0x0d6cc0…0d6ce0             0d 0a 09 6d 76 69 09 61 2c 30 30 31 31 30 30 30 30 62 09 3b 73 65 6c 65 63 74 73 20 64 72 69 76   ┆   mvi a,00110000b ;selects driv┆
0x0d6ce0…0d6d00             65 20 31 20 69 6e 20 62 61 6e 6b 0d 0a 73 65 74 64 72 69 76 65 3a 0d 0a 09 6d 6f 76 09 62 2c 61   ┆e 1 in bank  setdrive:   mov b,a┆
0x0d6d00…0d6d20             09 3b 73 61 76 65 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 6c 78 69 09 68 2c 69 6f 66 09   ┆ ;save the function   lxi h,iof ┆
0x0d6d20…0d6d40             3b 69 6f 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 6d 6f 76 09 61 2c 6d 0d 0a 09 61 6e 69 09 31 31 30   ┆;io function   mov a,m   ani 110┆
0x0d6d40…0d6d60             30 31 31 31 31 62 09 3b 6d 61 73 6b 20 6f 75 74 20 64 69 73 6b 20 6e 75 6d 62 65 72 0d 0a 09 6f   ┆01111b ;mask out disk number   o┆
0x0d6d60…0d6d80             72 61 09 62 09 3b 6d 61 73 6b 20 69 6e 20 6e 65 77 20 64 69 73 6b 20 6e 75 6d 62 65 72 0d 0a 09   ┆ra b ;mask in new disk number   ┆
0x0d6d80…0d6da0             6d 6f 76 09 6d 2c 61 09 3b 73 61 76 65 20 69 74 20 69 6e 20 69 6f 70 62 0d 0a 09 6d 6f 76 09 6c   ┆mov m,a ;save it in iopb   mov l┆
0x0d6da0…0d6dc0             2c 63 0d 0a 09 6d 76 69 09 68 2c 30 09 3b 48 4c 3d 64 69 73 6b 20 6e 75 6d 62 65 72 0d 0a 09 64   ┆,c   mvi h,0 ;HL=disk number   d┆
0x0d6dc0…0d6de0             61 64 09 68 09 3b 2a 32 0d 0a 09 64 61 64 09 68 09 3b 2a 34 0d 0a 09 64 61 64 09 68 09 3b 2a 38   ┆ad h ;*2   dad h ;*4   dad h ;*8┆
0x0d6de0…0d6e00             0d 0a 09 64 61 64 09 68 09 3b 2a 31 36 0d 0a 09 6c 78 69 09 64 2c 64 70 62 61 73 65 0d 0a 09 64   ┆   dad h ;*16   lxi d,dpbase   d┆
0x0d6e00…0d6e20 (57, 0, 10) 0d 0a 3b 0d 0a 77 61 69 74 69 6f 3a 0d 0a 09 6d 76 69 09 63 2c 72 65 74 72 79 09 3b 6d 61 78 20   ┆  ;  waitio:   mvi c,retry ;max ┆
0x0d6e20…0d6e40             72 65 74 72 69 65 73 20 62 65 66 6f 72 65 20 70 65 72 6d 20 65 72 72 6f 72 0d 0a 72 65 77 61 69   ┆retries before perm error  rewai┆
0x0d6e40…0d6e60             74 3a 0d 0a 3b 09 73 74 61 72 74 20 74 68 65 20 69 2f 6f 20 66 75 6e 63 74 69 6f 6e 20 61 6e 64   ┆t:  ; start the i/o function and┆
0x0d6e60…0d6e80             20 77 61 69 74 20 66 6f 72 20 63 6f 6d 70 6c 65 74 69 6f 6e 0d 0a 09 63 61 6c 6c 09 69 6e 74 79   ┆ wait for completion   call inty┆
0x0d6e80…0d6ea0             70 65 09 3b 69 6e 20 72 74 79 70 65 0d 0a 09 63 61 6c 6c 09 69 6e 62 79 74 65 09 3b 63 6c 65 61   ┆pe ;in rtype   call inbyte ;clea┆
0x0d6ea0…0d6ec0             72 73 20 74 68 65 20 63 6f 6e 74 72 6f 6c 6c 65 72 0d 0a 3b 0d 0a 09 6c 64 61 09 64 62 61 6e 6b   ┆rs the controller  ;   lda dbank┆
0x0d6ec0…0d6ee0             09 09 3b 73 65 74 20 62 61 6e 6b 20 66 6c 61 67 73 0d 0a 09 6f 72 61 09 61 09 09 3b 7a 65 72 6f   ┆  ;set bank flags   ora a  ;zero┆
0x0d6ee0…0d6f00             20 69 66 20 64 72 69 76 65 20 30 2c 31 20 61 6e 64 20 6e 7a 20 69 66 20 32 2c 33 0d 0a 09 6d 76   ┆ if drive 0,1 and nz if 2,3   mv┆
0x0d6f00…0d6f20             69 09 61 2c 69 6f 70 62 20 61 6e 64 20 30 66 66 68 09 3b 6c 6f 77 20 61 64 64 72 65 73 73 20 66   ┆i a,iopb and 0ffh ;low address f┆
0x0d6f20…0d6f40             6f 72 20 69 6f 70 62 0d 0a 09 6d 76 69 09 62 2c 69 6f 70 62 20 73 68 72 20 38 09 3b 68 69 67 68   ┆or iopb   mvi b,iopb shr 8 ;high┆
0x0d6f40…0d6f60             20 61 64 64 72 65 73 73 20 66 6f 72 20 69 6f 70 62 0d 0a 09 6a 6e 7a 09 69 6f 64 72 31 09 3b 64   ┆ address for iopb   jnz iodr1 ;d┆
0x0d6f60…0d6f80             72 69 76 65 20 62 61 6e 6b 20 31 3f 0d 0a 09 6f 75 74 09 69 6c 6f 77 09 09 3b 6c 6f 77 20 61 64   ┆rive bank 1?   out ilow  ;low ad┆
0x0d6f80…0d6fa0             64 72 65 73 73 20 74 6f 20 63 6f 6e 74 72 6f 6c 6c 65 72 0d 0a 09 6d 6f 76 09 61 2c 62 0d 0a 09   ┆dress to controller   mov a,b   ┆
0x0d6fa0…0d6fc0             6f 75 74 09 69 68 69 67 68 09 3b 68 69 67 68 20 61 64 64 72 65 73 73 0d 0a 09 6a 6d 70 09 77 61   ┆out ihigh ;high address   jmp wa┆
0x0d6fc0…0d6fe0             69 74 30 09 09 3b 74 6f 20 77 61 69 74 20 66 6f 72 20 63 6f 6d 70 6c 65 74 65 0d 0a 3b 0d 0a 69   ┆it0  ;to wait for complete  ;  i┆
0x0d6fe0…0d7000             6f 64 72 31 3a 09 3b 64 72 69 76 65 20 62 61 6e 6b 20 31 0d 0a 09 6f 75 74 09 69 6c 6f 77 2b 31   ┆odr1: ;drive bank 1   out ilow+1┆
0x0d7000…0d7020 (57, 0, 11) 6f 75 6e 74 2c 20 64 65 63 72 65 6d 65 6e 74 20 27 74 69 6c 20 7a 65 72 6f 0d 0a 09 64 63 72 09   ┆ount, decrement 'til zero   dcr ┆
0x0d7020…0d7040             63 0d 0a 09 6a 6e 7a 09 72 65 77 61 69 74 09 3b 66 6f 72 20 61 6e 6f 74 68 65 72 20 74 72 79 0d   ┆c   jnz rewait ;for another try ┆
0x0d7040…0d7060             0a 3b 0d 0a 3b 09 63 61 6e 6e 6f 74 20 72 65 63 6f 76 65 72 20 66 72 6f 6d 20 65 72 72 6f 72 0d   ┆ ;  ; cannot recover from error ┆
0x0d7060…0d7080             0a 09 6d 76 69 09 61 2c 31 09 3b 65 72 72 6f 72 20 63 6f 64 65 0d 0a 09 72 65 74 0d 0a 3b 0d 0a   ┆  mvi a,1 ;error code   ret  ;  ┆
0x0d7080…0d70a0             3b 09 69 6e 74 79 70 65 2c 20 69 6e 62 79 74 65 2c 20 69 6e 73 74 61 74 20 72 65 61 64 20 64 72   ┆; intype, inbyte, instat read dr┆
0x0d70a0…0d70c0             69 76 65 20 62 61 6e 6b 20 30 30 20 6f 72 20 31 30 0d 0a 69 6e 74 79 70 65 3a 09 6c 64 61 09 64   ┆ive bank 00 or 10  intype: lda d┆
0x0d70c0…0d70e0             62 61 6e 6b 0d 0a 09 6f 72 61 09 61 0d 0a 09 6a 6e 7a 09 69 6e 74 79 70 31 09 3b 73 6b 69 70 20   ┆bank   ora a   jnz intyp1 ;skip ┆
0x0d70e0…0d7100             74 6f 20 62 61 6e 6b 20 31 30 0d 0a 09 69 6e 09 72 74 79 70 65 0d 0a 09 72 65 74 0d 0a 69 6e 74   ┆to bank 10   in rtype   ret  int┆
0x0d7100…0d7120             79 70 31 3a 09 69 6e 09 72 74 79 70 65 2b 31 30 68 09 3b 37 38 20 66 6f 72 20 30 2c 31 20 20 38   ┆yp1: in rtype+10h ;78 for 0,1  8┆
0x0d7120…0d7140             38 20 66 6f 72 20 32 2c 33 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 69 6e 62 79 74 65 3a 09 6c 64 61 09   ┆8 for 2,3   ret  ;  inbyte: lda ┆
0x0d7140…0d7160             64 62 61 6e 6b 0d 0a 09 6f 72 61 09 61 0d 0a 09 6a 6e 7a 09 69 6e 62 79 74 31 0d 0a 09 69 6e 09   ┆dbank   ora a   jnz inbyt1   in ┆
0x0d7160…0d7180             72 62 79 74 65 0d 0a 09 72 65 74 0d 0a 69 6e 62 79 74 31 3a 09 69 6e 09 72 62 79 74 65 2b 31 30   ┆rbyte   ret  inbyt1: in rbyte+10┆
0x0d7180…0d71a0             68 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 69 6e 73 74 61 74 3a 09 6c 64 61 09 64 62 61 6e 6b 0d 0a 09   ┆h   ret  ;  instat: lda dbank   ┆
0x0d71a0…0d71c0             6f 72 61 09 61 0d 0a 09 6a 6e 7a 09 69 6e 73 74 61 31 0d 0a 09 69 6e 09 64 73 74 61 74 0d 0a 09   ┆ora a   jnz insta1   in dstat   ┆
0x0d71c0…0d71e0             72 65 74 0d 0a 69 6e 73 74 61 31 3a 09 69 6e 09 64 73 74 61 74 2b 31 30 68 0d 0a 09 72 65 74 0d   ┆ret  insta1: in dstat+10h   ret ┆
0x0d71e0…0d7200             0a 3b 0d 0a 3b 0d 0a 3b 0d 0a 3b 09 64 61 74 61 20 61 72 65 61 73 20 28 6d 75 73 74 20 62 65 20   ┆ ;  ;  ;  ; data areas (must be ┆
0x0d7200…0d7220 (57, 0, 12) 6f 75 74 09 63 6f 6e 73 6f 6c 65 20 63 68 61 72 61 63 74 65 72 20 6f 75 74 20 28 63 68 61 72 20   ┆out console character out (char ┆
0x0d7220…0d7240             69 6e 20 72 65 67 2d 63 29 0d 0a 3b 09 6c 69 73 74 09 6c 69 73 74 20 6f 75 74 20 28 63 68 61 72   ┆in reg-c)  ; list list out (char┆
0x0d7240…0d7260             20 69 6e 20 72 65 67 2d 63 29 0d 0a 3b 09 70 75 6e 63 68 09 70 75 6e 63 68 20 6f 75 74 20 28 63   ┆ in reg-c)  ; punch punch out (c┆
0x0d7260…0d7280             68 61 72 20 69 6e 20 72 65 67 2d 63 29 0d 0a 3b 09 72 65 61 64 65 72 09 70 61 70 65 72 20 74 61   ┆har in reg-c)  ; reader paper ta┆
0x0d7280…0d72a0             70 65 20 72 65 61 64 65 72 20 69 6e 20 28 72 65 73 75 6c 74 20 74 6f 20 72 65 67 2d 61 29 0d 0a   ┆pe reader in (result to reg-a)  ┆
0x0d72a0…0d72c0             3b 09 68 6f 6d 65 09 6d 6f 76 65 20 74 6f 20 74 72 61 63 6b 20 30 30 0d 0a 3b 0d 0a 3b 09 28 74   ┆; home move to track 00  ;  ; (t┆
0x0d72c0…0d72e0             68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 61 6c 6c 73 20 73 65 74 2d 75 70 20 74 68 65 20 69 6f   ┆he following calls set-up the io┆
0x0d72e0…0d7300             20 70 61 72 61 6d 65 74 65 72 20 62 6c 6f 63 6b 20 66 6f 72 20 74 68 65 0d 0a 3b 09 6d 64 73 2c   ┆ parameter block for the  ; mds,┆
0x0d7300…0d7320             20 77 68 69 63 68 20 69 73 20 75 73 65 64 20 74 6f 20 70 65 72 66 6f 72 6d 20 73 75 62 73 65 71   ┆ which is used to perform subseq┆
0x0d7320…0d7340             75 65 6e 74 20 72 65 61 64 73 20 61 6e 64 20 77 72 69 74 65 73 29 0d 0a 3b 09 73 65 6c 64 73 6b   ┆uent reads and writes)  ; seldsk┆
0x0d7340…0d7360             09 73 65 6c 65 63 74 20 64 69 73 6b 20 67 69 76 65 6e 20 62 79 20 72 65 67 2d 63 20 28 30 2c 31   ┆ select disk given by reg-c (0,1┆
0x0d7360…0d7380             2c 32 2e 2e 2e 29 0d 0a 3b 09 73 65 74 74 72 6b 09 73 65 74 20 74 72 61 63 6b 20 61 64 64 72 65   ┆,2...)  ; settrk set track addre┆
0x0d7380…0d73a0             73 73 20 28 30 2c 2e 2e 2e 37 36 29 20 66 6f 72 20 73 75 62 73 65 71 75 65 6e 74 20 72 65 61 64   ┆ss (0,...76) for subsequent read┆
0x0d73a0…0d73c0             2f 77 72 69 74 65 0d 0a 3b 09 73 65 74 73 65 63 09 73 65 74 20 73 65 63 74 6f 72 20 61 64 64 72   ┆/write  ; setsec set sector addr┆
0x0d73c0…0d73e0             65 73 73 20 28 31 2c 2e 2e 2e 2c 32 36 29 20 66 6f 72 20 73 75 62 73 65 71 75 65 6e 74 20 72 65   ┆ess (1,...,26) for subsequent re┆
0x0d73e0…0d7400             61 64 2f 77 72 69 74 65 0d 0a 3b 09 73 65 74 64 6d 61 09 73 65 74 20 73 75 62 73 65 71 75 65 6e   ┆ad/write  ; setdma set subsequen┆
0x0d7400…0d7420 (57, 0, 13) 61 64 09 64 09 3b 48 4c 3d 64 69 73 6b 20 68 65 61 64 65 72 20 74 61 62 6c 65 20 61 64 64 72 65   ┆ad d ;HL=disk header table addre┆
0x0d7420…0d7440             73 73 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 3b 0d 0a 73 65 74 74 72 6b 3a 09 3b 73 65 74 20 74 72 61   ┆ss   ret  ;  ;  settrk: ;set tra┆
0x0d7440…0d7460             63 6b 20 61 64 64 72 65 73 73 20 67 69 76 65 6e 20 62 79 20 63 0d 0a 09 6c 78 69 09 68 2c 69 6f   ┆ck address given by c   lxi h,io┆
0x0d7460…0d7480             74 0d 0a 09 6d 6f 76 09 6d 2c 63 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 73 65 74 73 65 63 3a 09 3b 73   ┆t   mov m,c   ret  ;  setsec: ;s┆
0x0d7480…0d74a0             65 74 20 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 20 67 69 76 65 6e 20 62 79 20 63 0d 0a 09 6c 78   ┆et sector number given by c   lx┆
0x0d74a0…0d74c0             69 09 68 2c 69 6f 73 0d 0a 09 6d 6f 76 09 6d 2c 63 0d 0a 09 72 65 74 0d 0a 73 65 63 74 72 61 6e   ┆i h,ios   mov m,c   ret  sectran┆
0x0d74c0…0d74e0             3a 0d 0a 09 09 3b 74 72 61 6e 73 6c 61 74 65 20 73 65 63 74 6f 72 20 62 63 20 75 73 69 6e 67 20   ┆:    ;translate sector bc using ┆
0x0d74e0…0d7500             74 61 62 6c 65 20 61 74 20 64 65 0d 0a 09 6d 76 69 09 62 2c 30 09 3b 64 6f 75 62 6c 65 20 70 72   ┆table at de   mvi b,0 ;double pr┆
0x0d7500…0d7520             65 63 69 73 69 6f 6e 20 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 20 69 6e 20 42 43 0d 0a 09 78 63   ┆ecision sector number in BC   xc┆
0x0d7520…0d7540             68 67 09 09 3b 74 72 61 6e 73 6c 61 74 65 20 74 61 62 6c 65 20 61 64 64 72 65 73 73 20 74 6f 20   ┆hg  ;translate table address to ┆
0x0d7540…0d7560             48 4c 0d 0a 09 64 61 64 09 62 09 3b 74 72 61 6e 73 6c 61 74 65 28 73 65 63 74 6f 72 29 20 61 64   ┆HL   dad b ;translate(sector) ad┆
0x0d7560…0d7580             64 72 65 73 73 0d 0a 09 6d 6f 76 09 61 2c 6d 09 3b 74 72 61 6e 73 6c 61 74 65 64 20 73 65 63 74   ┆dress   mov a,m ;translated sect┆
0x0d7580…0d75a0             6f 72 20 6e 75 6d 62 65 72 20 74 6f 20 41 0d 0a 09 73 74 61 09 69 6f 73 0d 0a 09 6d 6f 76 09 6c   ┆or number to A   sta ios   mov l┆
0x0d75a0…0d75c0             2c 61 09 3b 72 65 74 75 72 6e 20 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 20 69 6e 20 4c 0d 0a 09   ┆,a ;return sector number in L   ┆
0x0d75c0…0d75e0             72 65 74 0d 0a 3b 0d 0a 73 65 74 64 6d 61 3a 09 3b 73 65 74 20 64 6d 61 20 61 64 64 72 65 73 73   ┆ret  ;  setdma: ;set dma address┆
0x0d75e0…0d7600             20 67 69 76 65 6e 20 62 79 20 72 65 67 73 20 62 2c 63 0d 0a 09 6d 6f 76 09 6c 2c 63 0d 0a 09 6d   ┆ given by regs b,c   mov l,c   m┆
0x0d7600…0d7620 (57, 0, 14) 30 68 09 3b 38 38 20 66 6f 72 20 64 72 69 76 65 20 62 61 6e 6b 20 31 30 0d 0a 09 6d 6f 76 09 61   ┆0h ;88 for drive bank 10   mov a┆
0x0d7620…0d7640             2c 62 0d 0a 09 6f 75 74 09 69 68 69 67 68 2b 31 30 68 0d 0a 3b 0d 0a 77 61 69 74 30 3a 09 63 61   ┆,b   out ihigh+10h  ;  wait0: ca┆
0x0d7640…0d7660             6c 6c 09 69 6e 73 74 61 74 09 09 3b 77 61 69 74 20 66 6f 72 20 63 6f 6d 70 6c 65 74 69 6f 6e 0d   ┆ll instat  ;wait for completion ┆
0x0d7660…0d7680             0a 09 61 6e 69 09 69 6f 72 64 79 09 09 3b 72 65 61 64 79 3f 0d 0a 09 6a 7a 09 77 61 69 74 30 0d   ┆  ani iordy  ;ready?   jz wait0 ┆
0x0d7680…0d76a0             0a 3b 0d 0a 3b 09 63 68 65 63 6b 20 69 6f 20 63 6f 6d 70 6c 65 74 69 6f 6e 20 6f 6b 0d 0a 09 63   ┆ ;  ; check io completion ok   c┆
0x0d76a0…0d76c0             61 6c 6c 09 69 6e 74 79 70 65 09 09 3b 6d 75 73 74 20 62 65 20 69 6f 20 63 6f 6d 70 6c 65 74 65   ┆all intype  ;must be io complete┆
0x0d76c0…0d76e0             20 28 30 30 29 20 75 6e 6c 69 6e 6b 65 64 0d 0a 3b 09 30 30 20 75 6e 6c 69 6e 6b 65 64 20 69 2f   ┆ (00) unlinked  ; 00 unlinked i/┆
0x0d76e0…0d7700             6f 20 63 6f 6d 70 6c 65 74 65 2c 20 20 20 20 30 31 20 6c 69 6e 6b 65 64 20 69 2f 6f 20 63 6f 6d   ┆o complete,    01 linked i/o com┆
0x0d7700…0d7720             70 6c 65 74 65 20 28 6e 6f 74 20 75 73 65 64 29 0d 0a 3b 09 31 30 20 64 69 73 6b 20 73 74 61 74   ┆plete (not used)  ; 10 disk stat┆
0x0d7720…0d7740             75 73 20 63 68 61 6e 67 65 64 20 20 20 20 20 20 20 31 31 20 28 6e 6f 74 20 75 73 65 64 29 0d 0a   ┆us changed       11 (not used)  ┆
0x0d7740…0d7760             09 63 70 69 09 31 30 62 09 09 3b 72 65 61 64 79 20 73 74 61 74 75 73 20 63 68 61 6e 67 65 3f 0d   ┆ cpi 10b  ;ready status change? ┆
0x0d7760…0d7780             0a 09 6a 7a 09 77 72 65 61 64 79 0d 0a 3b 0d 0a 3b 09 6d 75 73 74 20 62 65 20 30 30 20 69 6e 20   ┆  jz wready  ;  ; must be 00 in ┆
0x0d7780…0d77a0             74 68 65 20 61 63 63 75 6d 75 6c 61 74 6f 72 0d 0a 09 6f 72 61 09 61 0d 0a 09 6a 6e 7a 09 77 65   ┆the accumulator   ora a   jnz we┆
0x0d77a0…0d77c0             72 72 6f 72 09 09 3b 73 6f 6d 65 20 6f 74 68 65 72 20 63 6f 6e 64 69 74 69 6f 6e 2c 20 72 65 74   ┆rror  ;some other condition, ret┆
0x0d77c0…0d77e0             72 79 0d 0a 3b 0d 0a 3b 09 63 68 65 63 6b 20 69 2f 6f 20 65 72 72 6f 72 20 62 69 74 73 0d 0a 09   ┆ry  ;  ; check i/o error bits   ┆
0x0d77e0…0d7800             63 61 6c 6c 09 69 6e 62 79 74 65 0d 0a 09 72 61 6c 0d 0a 09 6a 63 09 77 72 65 61 64 79 09 09 3b   ┆call inbyte   ral   jc wready  ;┆
0x0d7800…0d7820 (57, 0, 15) 69 6e 20 72 61 6d 29 0d 0a 64 62 61 6e 6b 3a 09 64 62 09 30 09 3b 64 69 73 6b 20 62 61 6e 6b 20   ┆in ram)  dbank: db 0 ;disk bank ┆
0x0d7820…0d7840             30 30 20 69 66 20 64 72 69 76 65 20 30 2c 31 0d 0a 09 09 09 3b 09 20 20 20 31 30 20 69 66 20 64   ┆00 if drive 0,1     ;    10 if d┆
0x0d7840…0d7860             72 69 76 65 20 32 2c 33 0d 0a 69 6f 70 62 3a 09 3b 69 6f 20 70 61 72 61 6d 65 74 65 72 20 62 6c   ┆rive 2,3  iopb: ;io parameter bl┆
0x0d7860…0d7880             6f 63 6b 0d 0a 09 64 62 09 38 30 68 09 3b 6e 6f 72 6d 61 6c 20 69 2f 6f 20 6f 70 65 72 61 74 69   ┆ock   db 80h ;normal i/o operati┆
0x0d7880…0d78a0             6f 6e 0d 0a 69 6f 66 3a 09 64 62 09 72 65 61 64 66 09 3b 69 6f 20 66 75 6e 63 74 69 6f 6e 2c 20   ┆on  iof: db readf ;io function, ┆
0x0d78a0…0d78c0             69 6e 69 74 69 61 6c 20 72 65 61 64 0d 0a 69 6f 6e 3a 09 64 62 09 31 09 3b 6e 75 6d 62 65 72 20   ┆initial read  ion: db 1 ;number ┆
0x0d78c0…0d78e0             6f 66 20 73 65 63 74 6f 72 73 20 74 6f 20 72 65 61 64 0d 0a 69 6f 74 3a 09 64 62 09 6f 66 66 73   ┆of sectors to read  iot: db offs┆
0x0d78e0…0d7900             65 74 09 3b 74 72 61 63 6b 20 6e 75 6d 62 65 72 0d 0a 69 6f 73 3a 09 64 62 09 31 09 3b 73 65 63   ┆et ;track number  ios: db 1 ;sec┆
0x0d7900…0d7920             74 6f 72 20 6e 75 6d 62 65 72 0d 0a 69 6f 64 3a 09 64 77 09 62 75 66 66 09 3b 69 6f 20 61 64 64   ┆tor number  iod: dw buff ;io add┆
0x0d7920…0d7940             72 65 73 73 0d 0a 3b 0d 0a 3b 0d 0a 3b 09 64 65 66 69 6e 65 20 72 61 6d 20 61 72 65 61 73 20 66   ┆ress  ;  ;  ; define ram areas f┆
0x0d7940…0d7960             6f 72 20 62 64 6f 73 20 6f 70 65 72 61 74 69 6f 6e 0d 0a 09 65 6e 64 65 66 0d 0a 09 65 6e 64 0d   ┆or bdos operation   endef   end ┆
0x0d7960…0d7980             0a 3b 09 4d 44 53 2d 38 30 30 20 49 2f 4f 20 44 72 69 76 65 72 73 20 66 6f 72 20 43 50 2f 4d 20   ┆ ; MDS-800 I/O Drivers for CP/M ┆
0x0d7980…0d79a0             32 2e 32 0d 0a 3b 09 28 66 6f 75 72 20 64 72 69 76 65 20 73 69 6e 67 6c 65 20 64 65 6e 73 69 74   ┆2.2  ; (four drive single densit┆
0x0d79a0…0d79c0             79 20 76 65 72 73 69 6f 6e 29 0d 0a 3b 0d 0a 3b 09 56 65 72 73 69 6f 6e 20 32 2e 32 20 46 65 62   ┆y version)  ;  ; Version 2.2 Feb┆
0x0d79c0…0d79e0             72 75 61 72 79 2c 20 31 39 38 30 0d 0a 3b 0d 0a 76 65 72 73 09 65 71 75 09 32 32 09 3b 76 65 72   ┆ruary, 1980  ;  vers equ 22 ;ver┆
0x0d79e0…0d7a00             73 69 6f 6e 20 32 2e 32 0d 0a 3b 0d 0a 3b 09 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 31 39 38   ┆sion 2.2  ;  ; Copyright (c) 198┆
0x0d7a00…0d7a20 (57, 1, 1)  74 20 64 6d 61 20 61 64 64 72 65 73 73 20 28 69 6e 69 74 69 61 6c 6c 79 20 38 30 68 29 0d 0a 3b   ┆t dma address (initially 80h)  ;┆
0x0d7a20…0d7a40             0d 0a 3b 09 28 72 65 61 64 20 61 6e 64 20 77 72 69 74 65 20 61 73 73 75 6d 65 20 70 72 65 76 69   ┆  ; (read and write assume previ┆
0x0d7a40…0d7a60             6f 75 73 20 63 61 6c 6c 73 20 74 6f 20 73 65 74 20 75 70 20 74 68 65 20 69 6f 20 70 61 72 61 6d   ┆ous calls to set up the io param┆
0x0d7a60…0d7a80             65 74 65 72 73 29 0d 0a 3b 09 72 65 61 64 09 72 65 61 64 20 74 72 61 63 6b 2f 73 65 63 74 6f 72   ┆eters)  ; read read track/sector┆
0x0d7a80…0d7aa0             20 74 6f 20 70 72 65 73 65 74 20 64 6d 61 20 61 64 64 72 65 73 73 0d 0a 3b 09 77 72 69 74 65 09   ┆ to preset dma address  ; write ┆
0x0d7aa0…0d7ac0             77 72 69 74 65 20 74 72 61 63 6b 2f 73 65 63 74 6f 72 20 66 72 6f 6d 20 70 72 65 73 65 74 20 64   ┆write track/sector from preset d┆
0x0d7ac0…0d7ae0             6d 61 20 61 64 64 72 65 73 73 0d 0a 3b 0d 0a 3b 09 6a 75 6d 70 20 76 65 63 74 6f 72 20 66 6f 72   ┆ma address  ;  ; jump vector for┆
0x0d7ae0…0d7b00             20 69 6e 64 69 76 69 75 61 6c 20 72 6f 75 74 69 6e 65 73 0d 0a 09 6a 6d 70 09 62 6f 6f 74 0d 0a   ┆ indiviual routines   jmp boot  ┆
0x0d7b00…0d7b20             77 62 6f 6f 74 65 3a 09 6a 6d 70 09 77 62 6f 6f 74 0d 0a 09 6a 6d 70 09 63 6f 6e 73 74 0d 0a 09   ┆wboote: jmp wboot   jmp const   ┆
0x0d7b20…0d7b40             6a 6d 70 09 63 6f 6e 69 6e 0d 0a 09 6a 6d 70 09 63 6f 6e 6f 75 74 0d 0a 09 6a 6d 70 09 6c 69 73   ┆jmp conin   jmp conout   jmp lis┆
0x0d7b40…0d7b60             74 0d 0a 09 6a 6d 70 09 70 75 6e 63 68 0d 0a 09 6a 6d 70 09 72 65 61 64 65 72 0d 0a 09 6a 6d 70   ┆t   jmp punch   jmp reader   jmp┆
0x0d7b60…0d7b80             09 68 6f 6d 65 0d 0a 09 6a 6d 70 09 73 65 6c 64 73 6b 0d 0a 09 6a 6d 70 09 73 65 74 74 72 6b 0d   ┆ home   jmp seldsk   jmp settrk ┆
0x0d7b80…0d7ba0             0a 09 6a 6d 70 09 73 65 74 73 65 63 0d 0a 09 6a 6d 70 09 73 65 74 64 6d 61 0d 0a 09 6a 6d 70 09   ┆  jmp setsec   jmp setdma   jmp ┆
0x0d7ba0…0d7bc0             72 65 61 64 0d 0a 09 6a 6d 70 09 77 72 69 74 65 0d 0a 09 6a 6d 70 09 6c 69 73 74 73 74 09 3b 6c   ┆read   jmp write   jmp listst ;l┆
0x0d7bc0…0d7be0             69 73 74 20 73 74 61 74 75 73 0d 0a 09 6a 6d 70 09 73 65 63 74 72 61 6e 0d 0a 3b 0d 0a 09 6d 61   ┆ist status   jmp sectran  ;   ma┆
0x0d7be0…0d7c00             63 6c 69 62 09 64 69 73 6b 64 65 66 09 3b 6c 6f 61 64 20 74 68 65 20 64 69 73 6b 20 64 65 66 69   ┆clib diskdef ;load the disk defi┆
0x0d7c00…0d7c20 (57, 1, 2)  3b 6c 69 6e 65 20 66 65 65 64 0d 0a 3b 0d 0a 73 69 67 6e 6f 6e 3a 09 3b 73 69 67 6e 6f 6e 20 6d   ┆;line feed  ;  signon: ;signon m┆
0x0d7c20…0d7c40             65 73 73 61 67 65 3a 20 78 78 6b 20 63 70 2f 6d 20 76 65 72 73 20 79 2e 79 0d 0a 09 64 62 09 63   ┆essage: xxk cp/m vers y.y   db c┆
0x0d7c40…0d7c60             72 2c 6c 66 2c 6c 66 0d 0a 09 69 66 09 74 65 73 74 0d 0a 09 64 62 09 27 33 32 27 09 3b 33 32 6b   ┆r,lf,lf   if test   db '32' ;32k┆
0x0d7c60…0d7c80             20 65 78 61 6d 70 6c 65 20 62 69 6f 73 0d 0a 09 65 6e 64 69 66 0d 0a 09 69 66 09 6e 6f 74 20 74   ┆ example bios   endif   if not t┆
0x0d7c80…0d7ca0             65 73 74 0d 0a 09 64 62 09 27 30 30 27 09 3b 6d 65 6d 6f 72 79 20 73 69 7a 65 20 66 69 6c 6c 65   ┆est   db '00' ;memory size fille┆
0x0d7ca0…0d7cc0             64 20 62 79 20 72 65 6c 6f 63 61 74 6f 72 0d 0a 09 65 6e 64 69 66 0d 0a 09 64 62 09 27 6b 20 43   ┆d by relocator   endif   db 'k C┆
0x0d7cc0…0d7ce0             50 2f 4d 20 76 65 72 73 20 27 0d 0a 09 64 62 09 76 65 72 73 2f 31 30 2b 27 30 27 2c 27 2e 27 2c   ┆P/M vers '   db vers/10+'0','.',┆
0x0d7ce0…0d7d00             76 65 72 73 20 6d 6f 64 20 31 30 2b 27 30 27 0d 0a 09 64 62 09 63 72 2c 6c 66 2c 30 0d 0a 3b 0d   ┆vers mod 10+'0'   db cr,lf,0  ; ┆
0x0d7d00…0d7d20             0a 62 6f 6f 74 3a 09 3b 70 72 69 6e 74 20 73 69 67 6e 6f 6e 20 6d 65 73 73 61 67 65 20 61 6e 64   ┆ boot: ;print signon message and┆
0x0d7d20…0d7d40             20 67 6f 20 74 6f 20 63 63 70 0d 0a 3b 09 28 6e 6f 74 65 3a 20 6d 64 73 20 62 6f 6f 74 20 69 6e   ┆ go to ccp  ; (note: mds boot in┆
0x0d7d40…0d7d60             69 74 69 61 6c 69 7a 65 64 20 69 6f 62 79 74 65 20 61 74 20 30 30 30 33 68 29 0d 0a 09 6c 78 69   ┆itialized iobyte at 0003h)   lxi┆
0x0d7d60…0d7d80             09 73 70 2c 62 75 66 66 2b 38 30 68 0d 0a 09 6c 78 69 09 68 2c 73 69 67 6e 6f 6e 0d 0a 09 63 61   ┆ sp,buff+80h   lxi h,signon   ca┆
0x0d7d80…0d7da0             6c 6c 09 70 72 6d 73 67 09 3b 70 72 69 6e 74 20 6d 65 73 73 61 67 65 0d 0a 09 78 72 61 09 61 09   ┆ll prmsg ;print message   xra a ┆
0x0d7da0…0d7dc0             3b 63 6c 65 61 72 20 61 63 63 75 6d 75 6c 61 74 6f 72 0d 0a 09 73 74 61 09 63 64 69 73 6b 09 3b   ┆;clear accumulator   sta cdisk ;┆
0x0d7dc0…0d7de0             73 65 74 20 69 6e 69 74 69 61 6c 6c 79 20 74 6f 20 64 69 73 6b 20 61 0d 0a 09 6a 6d 70 09 67 6f   ┆set initially to disk a   jmp go┆
0x0d7de0…0d7e00             63 70 6d 09 3b 67 6f 20 74 6f 20 63 70 2f 6d 0d 0a 3b 0d 0a 3b 0d 0a 77 62 6f 6f 74 3a 3b 09 6c   ┆cpm ;go to cp/m  ;  ;  wboot:; l┆
0x0d7e00…0d7e20 (57, 1, 3)  72 65 73 65 74 20 6d 6f 6e 69 74 6f 72 20 65 6e 74 72 79 20 70 6f 69 6e 74 73 0d 0a 09 6d 76 69   ┆reset monitor entry points   mvi┆
0x0d7e20…0d7e40             09 61 2c 6a 6d 70 0d 0a 09 73 74 61 09 30 0d 0a 09 6c 78 69 09 68 2c 77 62 6f 6f 74 65 0d 0a 09   ┆ a,jmp   sta 0   lxi h,wboote   ┆
0x0d7e40…0d7e60             73 68 6c 64 09 31 09 3b 6a 6d 70 20 77 62 6f 6f 74 20 61 74 20 6c 6f 63 61 74 69 6f 6e 20 30 30   ┆shld 1 ;jmp wboot at location 00┆
0x0d7e60…0d7e80             0d 0a 09 73 74 61 09 35 0d 0a 09 6c 78 69 09 68 2c 62 64 6f 73 0d 0a 09 73 68 6c 64 09 36 09 3b   ┆   sta 5   lxi h,bdos   shld 6 ;┆
0x0d7e80…0d7ea0             6a 6d 70 20 62 64 6f 73 20 61 74 20 6c 6f 63 61 74 69 6f 6e 20 35 0d 0a 09 69 66 09 6e 6f 74 20   ┆jmp bdos at location 5   if not ┆
0x0d7ea0…0d7ec0             74 65 73 74 0d 0a 09 73 74 61 09 37 2a 38 09 3b 6a 6d 70 20 74 6f 20 6d 6f 6e 38 30 20 28 6d 61   ┆test   sta 7*8 ;jmp to mon80 (ma┆
0x0d7ec0…0d7ee0             79 20 68 61 76 65 20 62 65 65 6e 20 63 68 61 6e 67 65 64 20 62 79 20 64 64 74 29 0d 0a 09 6c 78   ┆y have been changed by ddt)   lx┆
0x0d7ee0…0d7f00             69 09 68 2c 6d 6f 6e 38 30 0d 0a 09 73 68 6c 64 09 37 2a 38 2b 31 0d 0a 09 65 6e 64 69 66 0d 0a   ┆i h,mon80   shld 7*8+1   endif  ┆
0x0d7f00…0d7f20             3b 09 6c 65 61 76 65 20 69 6f 62 79 74 65 20 73 65 74 0d 0a 3b 09 70 72 65 76 69 6f 75 73 6c 79   ┆; leave iobyte set  ; previously┆
0x0d7f20…0d7f40             20 73 65 6c 65 63 74 65 64 20 64 69 73 6b 20 77 61 73 20 62 2c 20 73 65 6e 64 20 70 61 72 61 6d   ┆ selected disk was b, send param┆
0x0d7f40…0d7f60             65 74 65 72 20 74 6f 20 63 70 6d 0d 0a 09 6c 64 61 09 63 64 69 73 6b 09 3b 6c 61 73 74 20 6c 6f   ┆eter to cpm   lda cdisk ;last lo┆
0x0d7f60…0d7f80             67 67 65 64 20 64 69 73 6b 20 6e 75 6d 62 65 72 0d 0a 09 6d 6f 76 09 63 2c 61 09 3b 73 65 6e 64   ┆gged disk number   mov c,a ;send┆
0x0d7f80…0d7fa0             20 74 6f 20 63 63 70 20 74 6f 20 6c 6f 67 20 69 74 20 69 6e 0d 0a 09 65 69 0d 0a 09 6a 6d 70 09   ┆ to ccp to log it in   ei   jmp ┆
0x0d7fa0…0d7fc0             63 70 6d 62 0d 0a 3b 0d 0a 3b 09 65 72 72 6f 72 20 63 6f 6e 64 69 74 69 6f 6e 20 6f 63 63 75 72   ┆cpmb  ;  ; error condition occur┆
0x0d7fc0…0d7fe0             72 65 64 2c 20 70 72 69 6e 74 20 6d 65 73 73 61 67 65 20 61 6e 64 20 72 65 74 72 79 0d 0a 62 6f   ┆red, print message and retry  bo┆
0x0d7fe0…0d8000             6f 74 65 72 72 3a 0d 0a 09 70 6f 70 09 62 09 3b 72 65 63 61 6c 6c 20 63 6f 75 6e 74 73 0d 0a 09   ┆oterr:   pop b ;recall counts   ┆
0x0d8000…0d8020 (57, 1, 4)  09 68 2c 69 6f 74 0d 0a 09 6d 6f 76 09 6d 2c 63 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 73 65 74 73 65   ┆ h,iot   mov m,c   ret  ;  setse┆
0x0d8020…0d8040             63 3a 09 3b 73 65 74 20 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 20 67 69 76 65 6e 20 62 79 20 63   ┆c: ;set sector number given by c┆
0x0d8040…0d8060             0d 0a 09 6c 78 69 09 68 2c 69 6f 73 0d 0a 09 6d 6f 76 09 6d 2c 63 0d 0a 09 72 65 74 0d 0a 73 65   ┆   lxi h,ios   mov m,c   ret  se┆
0x0d8060…0d8080             63 74 72 61 6e 3a 0d 0a 09 09 3b 74 72 61 6e 73 6c 61 74 65 20 73 65 63 74 6f 72 20 62 63 20 75   ┆ctran:    ;translate sector bc u┆
0x0d8080…0d80a0             73 69 6e 67 20 74 61 62 6c 65 20 61 74 20 64 65 0d 0a 09 6d 76 69 09 62 2c 30 09 3b 64 6f 75 62   ┆sing table at de   mvi b,0 ;doub┆
0x0d80a0…0d80c0             6c 65 20 70 72 65 63 69 73 69 6f 6e 20 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 20 69 6e 20 42 43   ┆le precision sector number in BC┆
0x0d80c0…0d80e0             0d 0a 09 78 63 68 67 09 09 3b 74 72 61 6e 73 6c 61 74 65 20 74 61 62 6c 65 20 61 64 64 72 65 73   ┆   xchg  ;translate table addres┆
0x0d80e0…0d8100             73 20 74 6f 20 48 4c 0d 0a 09 64 61 64 09 62 09 3b 74 72 61 6e 73 6c 61 74 65 28 73 65 63 74 6f   ┆s to HL   dad b ;translate(secto┆
0x0d8100…0d8120             72 29 20 61 64 64 72 65 73 73 0d 0a 09 6d 6f 76 09 61 2c 6d 09 3b 74 72 61 6e 73 6c 61 74 65 64   ┆r) address   mov a,m ;translated┆
0x0d8120…0d8140             20 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 20 74 6f 20 41 0d 0a 09 73 74 61 09 69 6f 73 0d 0a 09   ┆ sector number to A   sta ios   ┆
0x0d8140…0d8160             6d 6f 76 09 6c 2c 61 09 3b 72 65 74 75 72 6e 20 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 20 69 6e   ┆mov l,a ;return sector number in┆
0x0d8160…0d8180             20 4c 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 73 65 74 64 6d 61 3a 09 3b 73 65 74 20 64 6d 61 20 61 64   ┆ L   ret  ;  setdma: ;set dma ad┆
0x0d8180…0d81a0             64 72 65 73 73 20 67 69 76 65 6e 20 62 79 20 72 65 67 73 20 62 2c 63 0d 0a 09 6d 6f 76 09 6c 2c   ┆dress given by regs b,c   mov l,┆
0x0d81a0…0d81c0             63 0d 0a 09 6d 6f 76 09 68 2c 62 0d 0a 09 73 68 6c 64 09 69 6f 64 0d 0a 09 72 65 74 0d 0a 3b 0d   ┆c   mov h,b   shld iod   ret  ; ┆
0x0d81c0…0d81e0             0a 72 65 61 64 3a 09 3b 72 65 61 64 20 6e 65 78 74 20 64 69 73 6b 20 72 65 63 6f 72 64 20 28 61   ┆ read: ;read next disk record (a┆
0x0d81e0…0d8200             73 73 75 6d 69 6e 67 20 64 69 73 6b 2f 74 72 6b 2f 73 65 63 2f 64 6d 61 20 73 65 74 29 0d 0a 09   ┆ssuming disk/trk/sec/dma set)   ┆
0x0d8200…0d8220 (57, 1, 5)  6e 69 74 69 6f 6e 20 6c 69 62 72 61 72 79 0d 0a 09 64 69 73 6b 73 09 34 09 3b 66 6f 75 72 20 64   ┆nition library   disks 4 ;four d┆
0x0d8220…0d8240             69 73 6b 73 0d 0a 09 64 69 73 6b 64 65 66 09 30 2c 31 2c 32 36 2c 36 2c 31 30 32 34 2c 32 34 33   ┆isks   diskdef 0,1,26,6,1024,243┆
0x0d8240…0d8260             2c 36 34 2c 36 34 2c 6f 66 66 73 65 74 0d 0a 09 64 69 73 6b 64 65 66 09 31 2c 30 0d 0a 09 64 69   ┆,64,64,offset   diskdef 1,0   di┆
0x0d8260…0d8280             73 6b 64 65 66 09 32 2c 30 0d 0a 09 64 69 73 6b 64 65 66 09 33 2c 30 0d 0a 3b 09 65 6e 64 65 66   ┆skdef 2,0   diskdef 3,0  ; endef┆
0x0d8280…0d82a0             20 6f 63 63 75 72 73 20 61 74 20 65 6e 64 20 6f 66 20 61 73 73 65 6d 62 6c 79 0d 0a 3b 0d 0a 3b   ┆ occurs at end of assembly  ;  ;┆
0x0d82a0…0d82c0             09 65 6e 64 20 6f 66 20 63 6f 6e 74 72 6f 6c 6c 65 72 20 2d 20 69 6e 64 65 70 65 6e 64 65 6e 74   ┆ end of controller - independent┆
0x0d82c0…0d82e0             20 63 6f 64 65 2c 20 74 68 65 20 72 65 6d 61 69 6e 69 6e 67 20 73 75 62 72 6f 75 74 69 6e 65 73   ┆ code, the remaining subroutines┆
0x0d82e0…0d8300             0d 0a 3b 09 61 72 65 20 74 61 69 6c 6f 72 65 64 20 74 6f 20 74 68 65 20 70 61 72 74 69 63 75 6c   ┆  ; are tailored to the particul┆
0x0d8300…0d8320             61 72 20 6f 70 65 72 61 74 69 6e 67 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 2c 20 61 6e 64 20 6d 75   ┆ar operating environment, and mu┆
0x0d8320…0d8340             73 74 0d 0a 3b 09 62 65 20 61 6c 74 65 72 65 64 20 66 6f 72 20 61 6e 79 20 73 79 73 74 65 6d 20   ┆st  ; be altered for any system ┆
0x0d8340…0d8360             77 68 69 63 68 20 64 69 66 66 65 72 73 20 66 72 6f 6d 20 74 68 65 20 69 6e 74 65 6c 20 6d 64 73   ┆which differs from the intel mds┆
0x0d8360…0d8380             2e 0d 0a 3b 0d 0a 3b 09 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 64 65 20 61 73 73 75 6d   ┆.  ;  ; the following code assum┆
0x0d8380…0d83a0             65 73 20 74 68 65 20 6d 64 73 20 6d 6f 6e 69 74 6f 72 20 65 78 69 73 74 73 20 61 74 20 30 66 38   ┆es the mds monitor exists at 0f8┆
0x0d83a0…0d83c0             30 30 68 0d 0a 3b 09 61 6e 64 20 75 73 65 73 20 74 68 65 20 69 2f 6f 20 73 75 62 72 6f 75 74 69   ┆00h  ; and uses the i/o subrouti┆
0x0d83c0…0d83e0             6e 65 73 20 77 69 74 68 69 6e 20 74 68 65 20 6d 6f 6e 69 74 6f 72 0d 0a 3b 0d 0a 3b 09 77 65 20   ┆nes within the monitor  ;  ; we ┆
0x0d83e0…0d8400             61 6c 73 6f 20 61 73 73 75 6d 65 20 74 68 65 20 6d 64 73 20 73 79 73 74 65 6d 20 68 61 73 20 66   ┆also assume the mds system has f┆
0x0d8400…0d8420 (57, 1, 6)  6f 61 64 65 72 20 6f 6e 20 74 72 61 63 6b 20 30 2c 20 73 65 63 74 6f 72 20 31 2c 20 77 68 69 63   ┆oader on track 0, sector 1, whic┆
0x0d8420…0d8440             68 20 77 69 6c 6c 20 62 65 20 73 6b 69 70 70 65 64 20 66 6f 72 20 77 61 72 6d 20 0d 0a 3b 09 72   ┆h will be skipped for warm   ; r┆
0x0d8440…0d8460             65 61 64 20 63 70 2f 6d 20 66 72 6f 6d 20 64 69 73 6b 20 2d 20 61 73 73 75 6d 69 6e 67 20 74 68   ┆ead cp/m from disk - assuming th┆
0x0d8460…0d8480             65 72 65 20 69 73 20 61 20 31 32 38 20 62 79 74 65 20 63 6f 6c 64 20 73 74 61 72 74 0d 0a 3b 09   ┆ere is a 128 byte cold start  ; ┆
0x0d8480…0d84a0             73 74 61 72 74 2e 0d 0a 3b 0d 0a 09 6c 78 69 09 73 70 2c 62 75 66 66 09 3b 75 73 69 6e 67 20 64   ┆start.  ;   lxi sp,buff ;using d┆
0x0d84a0…0d84c0             6d 61 20 2d 20 74 68 75 73 20 38 30 20 74 68 72 75 20 66 66 20 61 76 61 69 6c 61 62 6c 65 20 66   ┆ma - thus 80 thru ff available f┆
0x0d84c0…0d84e0             6f 72 20 73 74 61 63 6b 0d 0a 3b 0d 0a 09 6d 76 69 09 63 2c 72 65 74 72 79 09 3b 6d 61 78 20 72   ┆or stack  ;   mvi c,retry ;max r┆
0x0d84e0…0d8500             65 74 72 69 65 73 0d 0a 09 70 75 73 68 09 62 0d 0a 77 62 6f 6f 74 30 3a 09 3b 65 6e 74 65 72 20   ┆etries   push b  wboot0: ;enter ┆
0x0d8500…0d8520             68 65 72 65 20 6f 6e 20 65 72 72 6f 72 20 72 65 74 72 69 65 73 0d 0a 09 6c 78 69 09 62 2c 63 70   ┆here on error retries   lxi b,cp┆
0x0d8520…0d8540             6d 62 09 3b 73 65 74 20 64 6d 61 20 61 64 64 72 65 73 73 20 74 6f 20 73 74 61 72 74 20 6f 66 20   ┆mb ;set dma address to start of ┆
0x0d8540…0d8560             64 69 73 6b 20 73 79 73 74 65 6d 0d 0a 09 63 61 6c 6c 09 73 65 74 64 6d 61 0d 0a 09 6d 76 69 09   ┆disk system   call setdma   mvi ┆
0x0d8560…0d8580             63 2c 30 09 3b 62 6f 6f 74 20 66 72 6f 6d 20 64 72 69 76 65 20 30 0d 0a 09 63 61 6c 6c 09 73 65   ┆c,0 ;boot from drive 0   call se┆
0x0d8580…0d85a0             6c 64 73 6b 0d 0a 09 6d 76 69 09 63 2c 30 0d 0a 09 63 61 6c 6c 09 73 65 74 74 72 6b 09 3b 73 74   ┆ldsk   mvi c,0   call settrk ;st┆
0x0d85a0…0d85c0             61 72 74 20 77 69 74 68 20 74 72 61 63 6b 20 30 0d 0a 09 6d 76 69 09 63 2c 32 09 3b 73 74 61 72   ┆art with track 0   mvi c,2 ;star┆
0x0d85c0…0d85e0             74 20 72 65 61 64 69 6e 67 20 73 65 63 74 6f 72 20 32 0d 0a 09 63 61 6c 6c 09 73 65 74 73 65 63   ┆t reading sector 2   call setsec┆
0x0d85e0…0d8600             0d 0a 3b 0d 0a 3b 09 72 65 61 64 20 73 65 63 74 6f 72 73 2c 20 63 6f 75 6e 74 20 6e 73 65 63 74   ┆  ;  ; read sectors, count nsect┆
0x0d8600…0d8620 (57, 1, 7)  64 63 72 09 63 0d 0a 09 6a 7a 09 62 6f 6f 74 65 72 30 0d 0a 3b 09 74 72 79 20 61 67 61 69 6e 0d   ┆dcr c   jz booter0  ; try again ┆
0x0d8620…0d8640             0a 09 70 75 73 68 09 62 0d 0a 09 6a 6d 70 09 77 62 6f 6f 74 30 0d 0a 3b 0d 0a 62 6f 6f 74 65 72   ┆  push b   jmp wboot0  ;  booter┆
0x0d8640…0d8660             30 3a 0d 0a 3b 09 6f 74 68 65 72 77 69 73 65 20 74 6f 6f 20 6d 61 6e 79 20 72 65 74 72 69 65 73   ┆0:  ; otherwise too many retries┆
0x0d8660…0d8680             0d 0a 09 6c 78 69 09 68 2c 62 6f 6f 74 6d 73 67 0d 0a 09 63 61 6c 6c 09 70 72 6d 73 67 0d 0a 09   ┆   lxi h,bootmsg   call prmsg   ┆
0x0d8680…0d86a0             6a 6d 70 09 72 6d 6f 6e 38 30 09 3b 6d 64 73 20 68 61 72 64 77 61 72 65 20 6d 6f 6e 69 74 6f 72   ┆jmp rmon80 ;mds hardware monitor┆
0x0d86a0…0d86c0             0d 0a 3b 0d 0a 62 6f 6f 74 6d 73 67 3a 0d 0a 09 64 62 09 27 3f 62 6f 6f 74 27 2c 30 0d 0a 3b 0d   ┆  ;  bootmsg:   db '?boot',0  ; ┆
0x0d86c0…0d86e0             0a 3b 0d 0a 63 6f 6e 73 74 3a 09 3b 63 6f 6e 73 6f 6c 65 20 73 74 61 74 75 73 20 74 6f 20 72 65   ┆ ;  const: ;console status to re┆
0x0d86e0…0d8700             67 2d 61 0d 0a 3b 09 28 65 78 61 63 74 6c 79 20 74 68 65 20 73 61 6d 65 20 61 73 20 6d 64 73 20   ┆g-a  ; (exactly the same as mds ┆
0x0d8700…0d8720             63 61 6c 6c 29 0d 0a 09 6a 6d 70 09 63 73 74 73 0d 0a 3b 0d 0a 63 6f 6e 69 6e 3a 09 3b 63 6f 6e   ┆call)   jmp csts  ;  conin: ;con┆
0x0d8720…0d8740             73 6f 6c 65 20 63 68 61 72 61 63 74 65 72 20 74 6f 20 72 65 67 2d 61 0d 0a 09 63 61 6c 6c 09 63   ┆sole character to reg-a   call c┆
0x0d8740…0d8760             69 0d 0a 09 61 6e 69 09 37 66 68 09 3b 72 65 6d 6f 76 65 20 70 61 72 69 74 79 20 62 69 74 0d 0a   ┆i   ani 7fh ;remove parity bit  ┆
0x0d8760…0d8780             09 72 65 74 0d 0a 3b 0d 0a 63 6f 6e 6f 75 74 3a 09 3b 63 6f 6e 73 6f 6c 65 20 63 68 61 72 61 63   ┆ ret  ;  conout: ;console charac┆
0x0d8780…0d87a0             74 65 72 20 66 72 6f 6d 20 63 20 74 6f 20 63 6f 6e 73 6f 6c 65 20 6f 75 74 0d 0a 09 6a 6d 70 09   ┆ter from c to console out   jmp ┆
0x0d87a0…0d87c0             63 6f 0d 0a 3b 0d 0a 6c 69 73 74 3a 09 3b 6c 69 73 74 20 64 65 76 69 63 65 20 6f 75 74 0d 0a 3b   ┆co  ;  list: ;list device out  ;┆
0x0d87c0…0d87e0             09 28 65 78 61 63 74 6c 79 20 74 68 65 20 73 61 6d 65 20 61 73 20 6d 64 73 20 63 61 6c 6c 29 0d   ┆ (exactly the same as mds call) ┆
0x0d87e0…0d8800             0a 09 6a 6d 70 09 6c 6f 0d 0a 3b 0d 0a 6c 69 73 74 73 74 3a 0d 0a 09 3b 72 65 74 75 72 6e 20 6c   ┆  jmp lo  ;  listst:   ;return l┆
0x0d8800…0d8820 (57, 1, 8)  6d 76 69 09 63 2c 72 65 61 64 66 09 3b 73 65 74 20 74 6f 20 72 65 61 64 20 66 75 6e 63 74 69 6f   ┆mvi c,readf ;set to read functio┆
0x0d8820…0d8840             6e 0d 0a 09 63 61 6c 6c 09 73 65 74 66 75 6e 63 0d 0a 09 63 61 6c 6c 09 77 61 69 74 69 6f 09 3b   ┆n   call setfunc   call waitio ;┆
0x0d8840…0d8860             70 65 72 66 6f 72 6d 20 72 65 61 64 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 72 65 74 09 09 3b 6d 61   ┆perform read function   ret  ;ma┆
0x0d8860…0d8880             79 20 68 61 76 65 20 65 72 72 6f 72 20 73 65 74 20 69 6e 20 72 65 67 2d 61 0d 0a 3b 0d 0a 3b 0d   ┆y have error set in reg-a  ;  ; ┆
0x0d8880…0d88a0             0a 77 72 69 74 65 3a 09 3b 64 69 73 6b 20 77 72 69 74 65 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 6d   ┆ write: ;disk write function   m┆
0x0d88a0…0d88c0             76 69 09 63 2c 77 72 69 74 66 0d 0a 09 63 61 6c 6c 09 73 65 74 66 75 6e 63 09 3b 73 65 74 20 74   ┆vi c,writf   call setfunc ;set t┆
0x0d88c0…0d88e0             6f 20 77 72 69 74 65 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 63 61 6c 6c 09 77 61 69 74 69 6f 0d 0a   ┆o write function   call waitio  ┆
0x0d88e0…0d8900             09 72 65 74 09 09 3b 6d 61 79 20 68 61 76 65 20 65 72 72 6f 72 20 73 65 74 0d 0a 3b 0d 0a 3b 0d   ┆ ret  ;may have error set  ;  ; ┆
0x0d8900…0d8920             0a 3b 09 75 74 69 6c 69 74 79 20 73 75 62 72 6f 75 74 69 6e 65 73 0d 0a 70 72 6d 73 67 3a 09 3b   ┆ ; utility subroutines  prmsg: ;┆
0x0d8920…0d8940             70 72 69 6e 74 20 6d 65 73 73 61 67 65 20 61 74 20 68 2c 6c 20 74 6f 20 30 0d 0a 09 6d 6f 76 09   ┆print message at h,l to 0   mov ┆
0x0d8940…0d8960             61 2c 6d 0d 0a 09 6f 72 61 09 61 09 3b 7a 65 72 6f 3f 0d 0a 09 72 7a 0d 0a 3b 09 6d 6f 72 65 20   ┆a,m   ora a ;zero?   rz  ; more ┆
0x0d8960…0d8980             74 6f 20 70 72 69 6e 74 0d 0a 09 70 75 73 68 09 68 0d 0a 09 6d 6f 76 09 63 2c 61 0d 0a 09 63 61   ┆to print   push h   mov c,a   ca┆
0x0d8980…0d89a0             6c 6c 09 63 6f 6e 6f 75 74 0d 0a 09 70 6f 70 09 68 0d 0a 09 69 6e 78 09 68 0d 0a 09 6a 6d 70 09   ┆ll conout   pop h   inx h   jmp ┆
0x0d89a0…0d89c0             70 72 6d 73 67 0d 0a 3b 0d 0a 73 65 74 66 75 6e 63 3a 0d 0a 3b 09 73 65 74 20 66 75 6e 63 74 69   ┆prmsg  ;  setfunc:  ; set functi┆
0x0d89c0…0d89e0             6f 6e 20 66 6f 72 20 6e 65 78 74 20 69 2f 6f 20 28 63 6f 6d 6d 61 6e 64 20 69 6e 20 72 65 67 2d   ┆on for next i/o (command in reg-┆
0x0d89e0…0d8a00             63 29 0d 0a 09 6c 78 69 09 68 2c 69 6f 66 09 3b 69 6f 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 72   ┆c)   lxi h,iof ;io function addr┆
0x0d8a00…0d8a20 (57, 1, 9)  6f 75 72 20 64 69 73 6b 20 64 72 69 76 65 73 0d 0a 72 65 76 72 74 09 65 71 75 09 30 66 64 68 09   ┆our disk drives  revrt equ 0fdh ┆
0x0d8a20…0d8a40             3b 69 6e 74 65 72 72 75 70 74 20 72 65 76 65 72 74 20 70 6f 72 74 0d 0a 69 6e 74 63 09 65 71 75   ┆;interrupt revert port  intc equ┆
0x0d8a40…0d8a60             09 30 66 63 68 09 3b 69 6e 74 65 72 72 75 70 74 20 6d 61 73 6b 20 70 6f 72 74 0d 0a 69 63 6f 6e   ┆ 0fch ;interrupt mask port  icon┆
0x0d8a60…0d8a80             09 65 71 75 09 30 66 33 68 09 3b 69 6e 74 65 72 72 75 70 74 20 63 6f 6e 74 72 6f 6c 20 70 6f 72   ┆ equ 0f3h ;interrupt control por┆
0x0d8a80…0d8aa0             74 0d 0a 69 6e 74 65 09 65 71 75 09 30 31 31 31 24 31 31 31 30 62 09 3b 65 6e 61 62 6c 65 20 72   ┆t  inte equ 0111$1110b ;enable r┆
0x0d8aa0…0d8ac0             73 74 20 30 28 77 61 72 6d 20 62 6f 6f 74 29 2c 20 72 73 74 20 37 20 28 6d 6f 6e 69 74 6f 72 29   ┆st 0(warm boot), rst 7 (monitor)┆
0x0d8ac0…0d8ae0             0d 0a 3b 0d 0a 3b 09 6d 64 73 20 6d 6f 6e 69 74 6f 72 20 65 71 75 61 74 65 73 0d 0a 6d 6f 6e 38   ┆  ;  ; mds monitor equates  mon8┆
0x0d8ae0…0d8b00             30 09 65 71 75 09 30 66 38 30 30 68 09 3b 6d 64 73 20 6d 6f 6e 69 74 6f 72 0d 0a 72 6d 6f 6e 38   ┆0 equ 0f800h ;mds monitor  rmon8┆
0x0d8b00…0d8b20             30 09 65 71 75 09 30 66 66 30 66 68 09 3b 72 65 73 74 61 72 74 20 6d 6f 6e 38 30 20 28 62 6f 6f   ┆0 equ 0ff0fh ;restart mon80 (boo┆
0x0d8b20…0d8b40             74 20 65 72 72 6f 72 29 0d 0a 63 69 09 65 71 75 09 30 66 38 30 33 68 09 3b 63 6f 6e 73 6f 6c 65   ┆t error)  ci equ 0f803h ;console┆
0x0d8b40…0d8b60             20 63 68 61 72 61 63 74 65 72 20 74 6f 20 72 65 67 2d 61 0d 0a 72 69 09 65 71 75 09 30 66 38 30   ┆ character to reg-a  ri equ 0f80┆
0x0d8b60…0d8b80             36 68 09 3b 72 65 61 64 65 72 20 69 6e 20 74 6f 20 72 65 67 2d 61 0d 0a 63 6f 09 65 71 75 09 30   ┆6h ;reader in to reg-a  co equ 0┆
0x0d8b80…0d8ba0             66 38 30 39 68 09 3b 63 6f 6e 73 6f 6c 65 20 63 68 61 72 20 66 72 6f 6d 20 63 20 74 6f 20 63 6f   ┆f809h ;console char from c to co┆
0x0d8ba0…0d8bc0             6e 73 6f 6c 65 20 6f 75 74 0d 0a 70 6f 09 65 71 75 09 30 66 38 30 63 68 09 3b 70 75 6e 63 68 20   ┆nsole out  po equ 0f80ch ;punch ┆
0x0d8bc0…0d8be0             63 68 61 72 20 66 72 6f 6d 20 63 20 74 6f 20 70 75 6e 63 68 20 64 65 76 69 63 65 0d 0a 6c 6f 09   ┆char from c to punch device  lo ┆
0x0d8be0…0d8c00             65 71 75 09 30 66 38 30 66 68 09 3b 6c 69 73 74 20 66 72 6f 6d 20 63 20 74 6f 20 6c 69 73 74 20   ┆equ 0f80fh ;list from c to list ┆
0x0d8c00…0d8c20 (57, 1, 10) 73 20 74 6f 20 7a 65 72 6f 0d 0a 09 70 6f 70 09 62 09 3b 31 30 2d 65 72 72 6f 72 20 63 6f 75 6e   ┆s to zero   pop b ;10-error coun┆
0x0d8c20…0d8c40             74 0d 0a 09 6d 76 69 09 62 2c 6e 73 65 63 74 73 0d 0a 72 64 73 65 63 3a 09 3b 72 65 61 64 20 6e   ┆t   mvi b,nsects  rdsec: ;read n┆
0x0d8c40…0d8c60             65 78 74 20 73 65 63 74 6f 72 0d 0a 09 70 75 73 68 09 62 09 3b 73 61 76 65 20 73 65 63 74 6f 72   ┆ext sector   push b ;save sector┆
0x0d8c60…0d8c80             20 63 6f 75 6e 74 0d 0a 09 63 61 6c 6c 09 72 65 61 64 0d 0a 09 6a 6e 7a 09 62 6f 6f 74 65 72 72   ┆ count   call read   jnz booterr┆
0x0d8c80…0d8ca0             09 3b 72 65 74 72 79 20 69 66 20 65 72 72 6f 72 73 20 6f 63 63 75 72 0d 0a 09 6c 68 6c 64 09 69   ┆ ;retry if errors occur   lhld i┆
0x0d8ca0…0d8cc0             6f 64 09 3b 69 6e 63 72 65 6d 65 6e 74 20 64 6d 61 20 61 64 64 72 65 73 73 0d 0a 09 6c 78 69 09   ┆od ;increment dma address   lxi ┆
0x0d8cc0…0d8ce0             64 2c 31 32 38 09 3b 73 65 63 74 6f 72 20 73 69 7a 65 0d 0a 09 64 61 64 09 64 09 3b 69 6e 63 72   ┆d,128 ;sector size   dad d ;incr┆
0x0d8ce0…0d8d00             65 6d 65 6e 74 65 64 20 64 6d 61 20 61 64 64 72 65 73 73 20 69 6e 20 68 6c 0d 0a 09 6d 6f 76 09   ┆emented dma address in hl   mov ┆
0x0d8d00…0d8d20             62 2c 68 0d 0a 09 6d 6f 76 09 63 2c 6c 09 3b 72 65 61 64 79 20 66 6f 72 20 63 61 6c 6c 20 74 6f   ┆b,h   mov c,l ;ready for call to┆
0x0d8d20…0d8d40             20 73 65 74 20 64 6d 61 0d 0a 09 63 61 6c 6c 09 73 65 74 64 6d 61 0d 0a 09 6c 64 61 09 69 6f 73   ┆ set dma   call setdma   lda ios┆
0x0d8d40…0d8d60             09 3b 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 20 6a 75 73 74 20 72 65 61 64 0d 0a 09 63 70 69 09   ┆ ;sector number just read   cpi ┆
0x0d8d60…0d8d80             32 36 09 3b 72 65 61 64 20 6c 61 73 74 20 73 65 63 74 6f 72 3f 0d 0a 09 6a 63 09 72 64 31 0d 0a   ┆26 ;read last sector?   jc rd1  ┆
0x0d8d80…0d8da0             3b 09 6d 75 73 74 20 62 65 20 73 65 63 74 6f 72 20 32 36 2c 20 7a 65 72 6f 20 61 6e 64 20 67 6f   ┆; must be sector 26, zero and go┆
0x0d8da0…0d8dc0             20 74 6f 20 6e 65 78 74 20 74 72 61 63 6b 0d 0a 09 6c 64 61 09 69 6f 74 09 3b 67 65 74 20 74 72   ┆ to next track   lda iot ;get tr┆
0x0d8dc0…0d8de0             61 63 6b 20 74 6f 20 72 65 67 69 73 74 65 72 20 61 0d 0a 09 69 6e 72 09 61 0d 0a 09 6d 6f 76 09   ┆ack to register a   inr a   mov ┆
0x0d8de0…0d8e00             63 2c 61 09 3b 72 65 61 64 79 20 66 6f 72 20 63 61 6c 6c 0d 0a 09 63 61 6c 6c 09 73 65 74 74 72   ┆c,a ;ready for call   call settr┆
0x0d8e00…0d8e20 (57, 1, 11) 69 73 74 20 73 74 61 74 75 73 0d 0a 09 78 72 61 09 61 0d 0a 09 72 65 74 09 09 3b 61 6c 77 61 79   ┆ist status   xra a   ret  ;alway┆
0x0d8e20…0d8e40             73 20 6e 6f 74 20 72 65 61 64 79 0d 0a 3b 0d 0a 70 75 6e 63 68 3a 09 3b 70 75 6e 63 68 20 64 65   ┆s not ready  ;  punch: ;punch de┆
0x0d8e40…0d8e60             76 69 63 65 20 6f 75 74 0d 0a 3b 09 28 65 78 61 63 74 6c 79 20 74 68 65 20 73 61 6d 65 20 61 73   ┆vice out  ; (exactly the same as┆
0x0d8e60…0d8e80             20 6d 64 73 20 63 61 6c 6c 29 0d 0a 09 6a 6d 70 09 70 6f 0d 0a 3b 0d 0a 72 65 61 64 65 72 3a 09   ┆ mds call)   jmp po  ;  reader: ┆
0x0d8e80…0d8ea0             3b 72 65 61 64 65 72 20 63 68 61 72 61 63 74 65 72 20 69 6e 20 74 6f 20 72 65 67 2d 61 0d 0a 3b   ┆;reader character in to reg-a  ;┆
0x0d8ea0…0d8ec0             09 28 65 78 61 63 74 6c 79 20 74 68 65 20 73 61 6d 65 20 61 73 20 6d 64 73 20 63 61 6c 6c 29 0d   ┆ (exactly the same as mds call) ┆
0x0d8ec0…0d8ee0             0a 09 6a 6d 70 09 72 69 0d 0a 3b 0d 0a 68 6f 6d 65 3a 09 3b 6d 6f 76 65 20 74 6f 20 68 6f 6d 65   ┆  jmp ri  ;  home: ;move to home┆
0x0d8ee0…0d8f00             20 70 6f 73 69 74 69 6f 6e 0d 0a 3b 09 74 72 65 61 74 20 61 73 20 74 72 61 63 6b 20 30 30 20 73   ┆ position  ; treat as track 00 s┆
0x0d8f00…0d8f20             65 65 6b 0d 0a 09 6d 76 69 09 63 2c 30 0d 0a 09 6a 6d 70 09 73 65 74 74 72 6b 0d 0a 3b 0d 0a 73   ┆eek   mvi c,0   jmp settrk  ;  s┆
0x0d8f20…0d8f40             65 6c 64 73 6b 3a 09 3b 73 65 6c 65 63 74 20 64 69 73 6b 20 67 69 76 65 6e 20 62 79 20 72 65 67   ┆eldsk: ;select disk given by reg┆
0x0d8f40…0d8f60             69 73 74 65 72 20 63 0d 0a 09 6c 78 69 09 68 2c 30 30 30 30 68 09 3b 72 65 74 75 72 6e 20 30 30   ┆ister c   lxi h,0000h ;return 00┆
0x0d8f60…0d8f80             30 30 20 69 66 20 65 72 72 6f 72 0d 0a 09 6d 6f 76 09 61 2c 63 0d 0a 09 63 70 69 09 6e 64 69 73   ┆00 if error   mov a,c   cpi ndis┆
0x0d8f80…0d8fa0             6b 73 09 3b 74 6f 6f 20 6c 61 72 67 65 3f 0d 0a 09 72 6e 63 09 09 3b 6c 65 61 76 65 20 48 4c 20   ┆ks ;too large?   rnc  ;leave HL ┆
0x0d8fa0…0d8fc0             3d 20 30 30 30 30 0d 0a 3b 0d 0a 09 61 6e 69 09 31 30 62 09 3b 30 30 20 30 30 20 66 6f 72 20 64   ┆= 0000  ;   ani 10b ;00 00 for d┆
0x0d8fc0…0d8fe0             72 69 76 65 20 30 2c 31 20 61 6e 64 20 31 30 20 31 30 20 66 6f 72 20 64 72 69 76 65 20 32 2c 33   ┆rive 0,1 and 10 10 for drive 2,3┆
0x0d8fe0…0d9000             0d 0a 09 73 74 61 09 64 62 61 6e 6b 09 3b 74 6f 20 73 65 6c 65 63 74 20 64 72 69 76 65 20 62 61   ┆   sta dbank ;to select drive ba┆
0x0d9000…0d9020 (57, 1, 12) 65 73 73 0d 0a 09 6d 6f 76 09 61 2c 6d 09 3b 67 65 74 20 69 74 20 74 6f 20 61 63 63 75 6d 75 6c   ┆ess   mov a,m ;get it to accumul┆
0x0d9020…0d9040             61 74 6f 72 20 66 6f 72 20 6d 61 73 6b 69 6e 67 0d 0a 09 61 6e 69 09 31 31 31 31 31 30 30 30 62   ┆ator for masking   ani 11111000b┆
0x0d9040…0d9060             09 3b 72 65 6d 6f 76 65 20 70 72 65 76 69 6f 75 73 20 63 6f 6d 6d 61 6e 64 0d 0a 09 6f 72 61 09   ┆ ;remove previous command   ora ┆
0x0d9060…0d9080             63 09 3b 73 65 74 20 74 6f 20 6e 65 77 20 63 6f 6d 6d 61 6e 64 0d 0a 09 6d 6f 76 09 6d 2c 61 09   ┆c ;set to new command   mov m,a ┆
0x0d9080…0d90a0             3b 72 65 70 6c 61 63 65 64 20 69 6e 20 69 6f 70 62 0d 0a 3b 09 74 68 65 20 6d 64 73 2d 38 30 30   ┆;replaced in iopb  ; the mds-800┆
0x0d90a0…0d90c0             20 63 6f 6e 74 72 6f 6c 6c 65 72 20 72 65 71 75 69 72 65 73 20 64 69 73 6b 20 62 61 6e 6b 20 62   ┆ controller requires disk bank b┆
0x0d90c0…0d90e0             69 74 20 69 6e 20 73 65 63 74 6f 72 20 62 79 74 65 0d 0a 3b 09 6d 61 73 6b 20 74 68 65 20 62 69   ┆it in sector byte  ; mask the bi┆
0x0d90e0…0d9100             74 20 66 72 6f 6d 20 74 68 65 20 63 75 72 72 65 6e 74 20 69 2f 6f 20 66 75 6e 63 74 69 6f 6e 0d   ┆t from the current i/o function ┆
0x0d9100…0d9120             0a 09 61 6e 69 09 30 30 31 30 30 30 30 30 62 09 3b 6d 61 73 6b 20 74 68 65 20 64 69 73 6b 20 73   ┆  ani 00100000b ;mask the disk s┆
0x0d9120…0d9140             65 6c 65 63 74 20 62 69 74 0d 0a 09 6c 78 69 09 68 2c 69 6f 73 09 09 3b 61 64 64 72 65 73 73 20   ┆elect bit   lxi h,ios  ;address ┆
0x0d9140…0d9160             74 68 65 20 73 65 63 74 6f 72 20 73 65 6c 65 63 74 20 62 79 74 65 0d 0a 09 6f 72 61 09 6d 09 09   ┆the sector select byte   ora m  ┆
0x0d9160…0d9180             3b 73 65 6c 65 63 74 20 70 72 6f 70 65 72 20 64 69 73 6b 20 62 61 6e 6b 0d 0a 09 6d 6f 76 09 6d   ┆;select proper disk bank   mov m┆
0x0d9180…0d91a0             2c 61 09 09 3b 73 65 74 20 64 69 73 6b 20 73 65 6c 65 63 74 20 62 69 74 20 6f 6e 2f 6f 66 66 0d   ┆,a  ;set disk select bit on/off ┆
0x0d91a0…0d91c0             0a 09 72 65 74 0d 0a 3b 0d 0a 77 61 69 74 69 6f 3a 0d 0a 09 6d 76 69 09 63 2c 72 65 74 72 79 09   ┆  ret  ;  waitio:   mvi c,retry ┆
0x0d91c0…0d91e0             3b 6d 61 78 20 72 65 74 72 69 65 73 20 62 65 66 6f 72 65 20 70 65 72 6d 20 65 72 72 6f 72 0d 0a   ┆;max retries before perm error  ┆
0x0d91e0…0d9200             72 65 77 61 69 74 3a 0d 0a 3b 09 73 74 61 72 74 20 74 68 65 20 69 2f 6f 20 66 75 6e 63 74 69 6f   ┆rewait:  ; start the i/o functio┆
0x0d9200…0d9220 (57, 1, 13) 64 65 76 69 63 65 0d 0a 63 73 74 73 09 65 71 75 09 30 66 38 31 32 68 09 3b 63 6f 6e 73 6f 6c 65   ┆device  csts equ 0f812h ;console┆
0x0d9220…0d9240             20 73 74 61 74 75 73 20 30 30 2f 66 66 20 74 6f 20 72 65 67 69 73 74 65 72 20 61 0d 0a 3b 0d 0a   ┆ status 00/ff to register a  ;  ┆
0x0d9240…0d9260             3b 09 64 69 73 6b 20 70 6f 72 74 73 20 61 6e 64 20 63 6f 6d 6d 61 6e 64 73 0d 0a 62 61 73 65 09   ┆; disk ports and commands  base ┆
0x0d9260…0d9280             65 71 75 09 37 38 68 09 3b 62 61 73 65 20 6f 66 20 64 69 73 6b 20 63 6f 6d 6d 61 6e 64 20 69 6f   ┆equ 78h ;base of disk command io┆
0x0d9280…0d92a0             20 70 6f 72 74 73 0d 0a 64 73 74 61 74 09 65 71 75 09 62 61 73 65 09 3b 64 69 73 6b 20 73 74 61   ┆ ports  dstat equ base ;disk sta┆
0x0d92a0…0d92c0             74 75 73 20 28 69 6e 70 75 74 29 0d 0a 72 74 79 70 65 09 65 71 75 09 62 61 73 65 2b 31 09 3b 72   ┆tus (input)  rtype equ base+1 ;r┆
0x0d92c0…0d92e0             65 73 75 6c 74 20 74 79 70 65 20 28 69 6e 70 75 74 29 0d 0a 72 62 79 74 65 09 65 71 75 09 62 61   ┆esult type (input)  rbyte equ ba┆
0x0d92e0…0d9300             73 65 2b 33 09 3b 72 65 73 75 6c 74 20 62 79 74 65 20 28 69 6e 70 75 74 29 0d 0a 3b 0d 0a 69 6c   ┆se+3 ;result byte (input)  ;  il┆
0x0d9300…0d9320             6f 77 09 65 71 75 09 62 61 73 65 2b 31 09 3b 69 6f 70 62 20 6c 6f 77 20 61 64 64 72 65 73 73 20   ┆ow equ base+1 ;iopb low address ┆
0x0d9320…0d9340             28 6f 75 74 70 75 74 29 0d 0a 69 68 69 67 68 09 65 71 75 09 62 61 73 65 2b 32 09 3b 69 6f 70 62   ┆(output)  ihigh equ base+2 ;iopb┆
0x0d9340…0d9360             20 68 69 67 68 20 61 64 64 72 65 73 73 20 28 6f 75 74 70 75 74 29 0d 0a 3b 0d 0a 72 65 61 64 66   ┆ high address (output)  ;  readf┆
0x0d9360…0d9380             09 65 71 75 09 34 68 09 3b 72 65 61 64 20 66 75 6e 63 74 69 6f 6e 0d 0a 77 72 69 74 66 09 65 71   ┆ equ 4h ;read function  writf eq┆
0x0d9380…0d93a0             75 09 36 68 09 3b 77 72 69 74 65 20 66 75 6e 63 74 69 6f 6e 0d 0a 72 65 63 61 6c 09 65 71 75 09   ┆u 6h ;write function  recal equ ┆
0x0d93a0…0d93c0             33 68 09 3b 72 65 63 61 6c 69 62 72 61 74 65 20 64 72 69 76 65 0d 0a 69 6f 72 64 79 09 65 71 75   ┆3h ;recalibrate drive  iordy equ┆
0x0d93c0…0d93e0             09 34 68 09 3b 69 2f 6f 20 66 69 6e 69 73 68 65 64 20 6d 61 73 6b 0d 0a 63 72 09 65 71 75 09 30   ┆ 4h ;i/o finished mask  cr equ 0┆
0x0d93e0…0d9400             64 68 09 3b 63 61 72 72 69 61 67 65 20 72 65 74 75 72 6e 0d 0a 6c 66 09 65 71 75 09 30 61 68 09   ┆dh ;carriage return  lf equ 0ah ┆
0x0d9400…0d9420 (57, 1, 14) 6b 0d 0a 09 78 72 61 09 61 09 3b 63 6c 65 61 72 20 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 0d 0a   ┆k   xra a ;clear sector number  ┆
0x0d9420…0d9440             72 64 31 3a 09 69 6e 72 09 61 09 3b 74 6f 20 6e 65 78 74 20 73 65 63 74 6f 72 0d 0a 09 6d 6f 76   ┆rd1: inr a ;to next sector   mov┆
0x0d9440…0d9460             09 63 2c 61 09 3b 72 65 61 64 79 20 66 6f 72 20 63 61 6c 6c 0d 0a 09 63 61 6c 6c 09 73 65 74 73   ┆ c,a ;ready for call   call sets┆
0x0d9460…0d9480             65 63 0d 0a 09 70 6f 70 09 62 09 3b 72 65 63 61 6c 6c 20 73 65 63 74 6f 72 20 63 6f 75 6e 74 0d   ┆ec   pop b ;recall sector count ┆
0x0d9480…0d94a0             0a 09 64 63 72 09 62 09 3b 64 6f 6e 65 3f 0d 0a 09 6a 6e 7a 09 72 64 73 65 63 0d 0a 3b 0d 0a 3b   ┆  dcr b ;done?   jnz rdsec  ;  ;┆
0x0d94a0…0d94c0             09 64 6f 6e 65 20 77 69 74 68 20 74 68 65 20 6c 6f 61 64 2c 20 72 65 73 65 74 20 64 65 66 61 75   ┆ done with the load, reset defau┆
0x0d94c0…0d94e0             6c 74 20 62 75 66 66 65 72 20 61 64 64 72 65 73 73 0d 0a 67 6f 63 70 6d 3a 09 3b 28 65 6e 74 65   ┆lt buffer address  gocpm: ;(ente┆
0x0d94e0…0d9500             72 20 68 65 72 65 20 66 72 6f 6d 20 63 6f 6c 64 20 73 74 61 72 74 20 62 6f 6f 74 29 0d 0a 3b 09   ┆r here from cold start boot)  ; ┆
0x0d9500…0d9520             65 6e 61 62 6c 65 20 72 73 74 30 20 61 6e 64 20 72 73 74 37 0d 0a 09 64 69 0d 0a 09 6d 76 69 09   ┆enable rst0 and rst7   di   mvi ┆
0x0d9520…0d9540             61 2c 31 32 68 09 3b 69 6e 69 74 69 61 6c 69 7a 65 20 63 6f 6d 6d 61 6e 64 0d 0a 09 6f 75 74 09   ┆a,12h ;initialize command   out ┆
0x0d9540…0d9560             72 65 76 72 74 0d 0a 09 78 72 61 09 61 0d 0a 09 6f 75 74 09 69 6e 74 63 09 3b 63 6c 65 61 72 65   ┆revrt   xra a   out intc ;cleare┆
0x0d9560…0d9580             64 0d 0a 09 6d 76 69 09 61 2c 69 6e 74 65 09 3b 72 73 74 30 20 61 6e 64 20 72 73 74 37 20 62 69   ┆d   mvi a,inte ;rst0 and rst7 bi┆
0x0d9580…0d95a0             74 73 20 6f 6e 0d 0a 09 6f 75 74 09 69 6e 74 63 0d 0a 09 78 72 61 09 61 0d 0a 09 6f 75 74 09 69   ┆ts on   out intc   xra a   out i┆
0x0d95a0…0d95c0             63 6f 6e 09 3b 69 6e 74 65 72 72 75 70 74 20 63 6f 6e 74 72 6f 6c 0d 0a 3b 0d 0a 3b 09 73 65 74   ┆con ;interrupt control  ;  ; set┆
0x0d95c0…0d95e0             20 64 65 66 61 75 6c 74 20 62 75 66 66 65 72 20 61 64 64 72 65 73 73 20 74 6f 20 38 30 68 0d 0a   ┆ default buffer address to 80h  ┆
0x0d95e0…0d9600             09 6c 78 69 09 62 2c 62 75 66 66 0d 0a 09 63 61 6c 6c 09 73 65 74 64 6d 61 0d 0a 3b 0d 0a 3b 09   ┆ lxi b,buff   call setdma  ;  ; ┆
0x0d9600…0d9620 (57, 1, 15) 6e 6b 0d 0a 09 6d 6f 76 09 61 2c 63 09 3b 30 30 2c 20 30 31 2c 20 31 30 2c 20 31 31 0d 0a 09 61   ┆nk   mov a,c ;00, 01, 10, 11   a┆
0x0d9620…0d9640             6e 69 09 31 62 09 3b 6d 64 73 20 68 61 73 20 30 2c 31 20 61 74 20 37 38 2c 20 32 2c 33 20 61 74   ┆ni 1b ;mds has 0,1 at 78, 2,3 at┆
0x0d9640…0d9660             20 38 38 0d 0a 09 6f 72 61 09 61 09 3b 72 65 73 75 6c 74 20 30 30 3f 0d 0a 09 6a 7a 09 73 65 74   ┆ 88   ora a ;result 00?   jz set┆
0x0d9660…0d9680             64 72 69 76 65 0d 0a 09 6d 76 69 09 61 2c 30 30 31 31 30 30 30 30 62 09 3b 73 65 6c 65 63 74 73   ┆drive   mvi a,00110000b ;selects┆
0x0d9680…0d96a0             20 64 72 69 76 65 20 31 20 69 6e 20 62 61 6e 6b 0d 0a 73 65 74 64 72 69 76 65 3a 0d 0a 09 6d 6f   ┆ drive 1 in bank  setdrive:   mo┆
0x0d96a0…0d96c0             76 09 62 2c 61 09 3b 73 61 76 65 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 6c 78 69 09 68   ┆v b,a ;save the function   lxi h┆
0x0d96c0…0d96e0             2c 69 6f 66 09 3b 69 6f 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 6d 6f 76 09 61 2c 6d 0d 0a 09 61 6e   ┆,iof ;io function   mov a,m   an┆
0x0d96e0…0d9700             69 09 31 31 30 30 31 31 31 31 62 09 3b 6d 61 73 6b 20 6f 75 74 20 64 69 73 6b 20 6e 75 6d 62 65   ┆i 11001111b ;mask out disk numbe┆
0x0d9700…0d9720             72 0d 0a 09 6f 72 61 09 62 09 3b 6d 61 73 6b 20 69 6e 20 6e 65 77 20 64 69 73 6b 20 6e 75 6d 62   ┆r   ora b ;mask in new disk numb┆
0x0d9720…0d9740             65 72 0d 0a 09 6d 6f 76 09 6d 2c 61 09 3b 73 61 76 65 20 69 74 20 69 6e 20 69 6f 70 62 0d 0a 09   ┆er   mov m,a ;save it in iopb   ┆
0x0d9740…0d9760             6d 6f 76 09 6c 2c 63 0d 0a 09 6d 76 69 09 68 2c 30 09 3b 48 4c 3d 64 69 73 6b 20 6e 75 6d 62 65   ┆mov l,c   mvi h,0 ;HL=disk numbe┆
0x0d9760…0d9780             72 0d 0a 09 64 61 64 09 68 09 3b 2a 32 0d 0a 09 64 61 64 09 68 09 3b 2a 34 0d 0a 09 64 61 64 09   ┆r   dad h ;*2   dad h ;*4   dad ┆
0x0d9780…0d97a0             68 09 3b 2a 38 0d 0a 09 64 61 64 09 68 09 3b 2a 31 36 0d 0a 09 6c 78 69 09 64 2c 64 70 62 61 73   ┆h ;*8   dad h ;*16   lxi d,dpbas┆
0x0d97a0…0d97c0             65 0d 0a 09 64 61 64 09 64 09 3b 48 4c 3d 64 69 73 6b 20 68 65 61 64 65 72 20 74 61 62 6c 65 20   ┆e   dad d ;HL=disk header table ┆
0x0d97c0…0d97e0             61 64 64 72 65 73 73 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 3b 0d 0a 73 65 74 74 72 6b 3a 09 3b 73 65   ┆address   ret  ;  ;  settrk: ;se┆
0x0d97e0…0d9800             74 20 74 72 61 63 6b 20 61 64 64 72 65 73 73 20 67 69 76 65 6e 20 62 79 20 63 0d 0a 09 6c 78 69   ┆t track address given by c   lxi┆
0x0d9800…0d9820 (58, 0, 1)  6e 20 61 6e 64 20 77 61 69 74 20 66 6f 72 20 63 6f 6d 70 6c 65 74 69 6f 6e 0d 0a 09 63 61 6c 6c   ┆n and wait for completion   call┆
0x0d9820…0d9840             09 69 6e 74 79 70 65 09 3b 69 6e 20 72 74 79 70 65 0d 0a 09 63 61 6c 6c 09 69 6e 62 79 74 65 09   ┆ intype ;in rtype   call inbyte ┆
0x0d9840…0d9860             3b 63 6c 65 61 72 73 20 74 68 65 20 63 6f 6e 74 72 6f 6c 6c 65 72 0d 0a 3b 0d 0a 09 6c 64 61 09   ┆;clears the controller  ;   lda ┆
0x0d9860…0d9880             64 62 61 6e 6b 09 09 3b 73 65 74 20 62 61 6e 6b 20 66 6c 61 67 73 0d 0a 09 6f 72 61 09 61 09 09   ┆dbank  ;set bank flags   ora a  ┆
0x0d9880…0d98a0             3b 7a 65 72 6f 20 69 66 20 64 72 69 76 65 20 30 2c 31 20 61 6e 64 20 6e 7a 20 69 66 20 32 2c 33   ┆;zero if drive 0,1 and nz if 2,3┆
0x0d98a0…0d98c0             0d 0a 09 6d 76 69 09 61 2c 69 6f 70 62 20 61 6e 64 20 30 66 66 68 09 3b 6c 6f 77 20 61 64 64 72   ┆   mvi a,iopb and 0ffh ;low addr┆
0x0d98c0…0d98e0             65 73 73 20 66 6f 72 20 69 6f 70 62 0d 0a 09 6d 76 69 09 62 2c 69 6f 70 62 20 73 68 72 20 38 09   ┆ess for iopb   mvi b,iopb shr 8 ┆
0x0d98e0…0d9900             3b 68 69 67 68 20 61 64 64 72 65 73 73 20 66 6f 72 20 69 6f 70 62 0d 0a 09 6a 6e 7a 09 69 6f 64   ┆;high address for iopb   jnz iod┆
0x0d9900…0d9920             72 31 09 3b 64 72 69 76 65 20 62 61 6e 6b 20 31 3f 0d 0a 09 6f 75 74 09 69 6c 6f 77 09 09 3b 6c   ┆r1 ;drive bank 1?   out ilow  ;l┆
0x0d9920…0d9940             6f 77 20 61 64 64 72 65 73 73 20 74 6f 20 63 6f 6e 74 72 6f 6c 6c 65 72 0d 0a 09 6d 6f 76 09 61   ┆ow address to controller   mov a┆
0x0d9940…0d9960             2c 62 0d 0a 09 6f 75 74 09 69 68 69 67 68 09 3b 68 69 67 68 20 61 64 64 72 65 73 73 0d 0a 09 6a   ┆,b   out ihigh ;high address   j┆
0x0d9960…0d9980             6d 70 09 77 61 69 74 30 09 09 3b 74 6f 20 77 61 69 74 20 66 6f 72 20 63 6f 6d 70 6c 65 74 65 0d   ┆mp wait0  ;to wait for complete ┆
0x0d9980…0d99a0             0a 3b 0d 0a 69 6f 64 72 31 3a 09 3b 64 72 69 76 65 20 62 61 6e 6b 20 31 0d 0a 09 6f 75 74 09 69   ┆ ;  iodr1: ;drive bank 1   out i┆
0x0d99a0…0d99c0             6c 6f 77 2b 31 30 68 09 3b 38 38 20 66 6f 72 20 64 72 69 76 65 20 62 61 6e 6b 20 31 30 0d 0a 09   ┆low+10h ;88 for drive bank 10   ┆
0x0d99c0…0d99e0             6d 6f 76 09 61 2c 62 0d 0a 09 6f 75 74 09 69 68 69 67 68 2b 31 30 68 0d 0a 3b 0d 0a 77 61 69 74   ┆mov a,b   out ihigh+10h  ;  wait┆
0x0d99e0…0d9a00             30 3a 09 63 61 6c 6c 09 69 6e 73 74 61 74 09 09 3b 77 61 69 74 20 66 6f 72 20 63 6f 6d 70 6c 65   ┆0: call instat  ;wait for comple┆
0x0d9a00…0d9a20 (58, 0, 2)  72 72 6f 72 0d 0a 09 6d 76 69 09 61 2c 31 09 3b 65 72 72 6f 72 20 63 6f 64 65 0d 0a 09 72 65 74   ┆rror   mvi a,1 ;error code   ret┆
0x0d9a20…0d9a40             0d 0a 3b 0d 0a 3b 09 69 6e 74 79 70 65 2c 20 69 6e 62 79 74 65 2c 20 69 6e 73 74 61 74 20 72 65   ┆  ;  ; intype, inbyte, instat re┆
0x0d9a40…0d9a60             61 64 20 64 72 69 76 65 20 62 61 6e 6b 20 30 30 20 6f 72 20 31 30 0d 0a 69 6e 74 79 70 65 3a 09   ┆ad drive bank 00 or 10  intype: ┆
0x0d9a60…0d9a80             6c 64 61 09 64 62 61 6e 6b 0d 0a 09 6f 72 61 09 61 0d 0a 09 6a 6e 7a 09 69 6e 74 79 70 31 09 3b   ┆lda dbank   ora a   jnz intyp1 ;┆
0x0d9a80…0d9aa0             73 6b 69 70 20 74 6f 20 62 61 6e 6b 20 31 30 0d 0a 09 69 6e 09 72 74 79 70 65 0d 0a 09 72 65 74   ┆skip to bank 10   in rtype   ret┆
0x0d9aa0…0d9ac0             0d 0a 69 6e 74 79 70 31 3a 09 69 6e 09 72 74 79 70 65 2b 31 30 68 09 3b 37 38 20 66 6f 72 20 30   ┆  intyp1: in rtype+10h ;78 for 0┆
0x0d9ac0…0d9ae0             2c 31 20 20 38 38 20 66 6f 72 20 32 2c 33 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 69 6e 62 79 74 65 3a   ┆,1  88 for 2,3   ret  ;  inbyte:┆
0x0d9ae0…0d9b00             09 6c 64 61 09 64 62 61 6e 6b 0d 0a 09 6f 72 61 09 61 0d 0a 09 6a 6e 7a 09 69 6e 62 79 74 31 0d   ┆ lda dbank   ora a   jnz inbyt1 ┆
0x0d9b00…0d9b20             0a 09 69 6e 09 72 62 79 74 65 0d 0a 09 72 65 74 0d 0a 69 6e 62 79 74 31 3a 09 69 6e 09 72 62 79   ┆  in rbyte   ret  inbyt1: in rby┆
0x0d9b20…0d9b40             74 65 2b 31 30 68 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 69 6e 73 74 61 74 3a 09 6c 64 61 09 64 62 61   ┆te+10h   ret  ;  instat: lda dba┆
0x0d9b40…0d9b60             6e 6b 0d 0a 09 6f 72 61 09 61 0d 0a 09 6a 6e 7a 09 69 6e 73 74 61 31 0d 0a 09 69 6e 09 64 73 74   ┆nk   ora a   jnz insta1   in dst┆
0x0d9b60…0d9b80             61 74 0d 0a 09 72 65 74 0d 0a 69 6e 73 74 61 31 3a 09 69 6e 09 64 73 74 61 74 2b 31 30 68 0d 0a   ┆at   ret  insta1: in dstat+10h  ┆
0x0d9b80…0d9ba0             09 72 65 74 0d 0a 3b 0d 0a 3b 0d 0a 3b 0d 0a 3b 09 64 61 74 61 20 61 72 65 61 73 20 28 6d 75 73   ┆ ret  ;  ;  ;  ; data areas (mus┆
0x0d9ba0…0d9bc0             74 20 62 65 20 69 6e 20 72 61 6d 29 0d 0a 64 62 61 6e 6b 3a 09 64 62 09 30 09 3b 64 69 73 6b 20   ┆t be in ram)  dbank: db 0 ;disk ┆
0x0d9bc0…0d9be0             62 61 6e 6b 20 30 30 20 69 66 20 64 72 69 76 65 20 30 2c 31 0d 0a 09 09 09 3b 09 20 20 20 31 30   ┆bank 00 if drive 0,1     ;    10┆
0x0d9be0…0d9c00             20 69 66 20 64 72 69 76 65 20 32 2c 33 0d 0a 69 6f 70 62 3a 09 3b 69 6f 20 70 61 72 61 6d 65 74   ┆ if drive 2,3  iopb: ;io paramet┆
0x0d9c00…0d9c20 (58, 0, 3)  75 74 20 28 63 68 61 72 20 69 6e 20 72 65 67 2d 63 29 0d 0a 3b 09 72 65 61 64 65 72 09 70 61 70   ┆ut (char in reg-c)  ; reader pap┆
0x0d9c20…0d9c40             65 72 20 74 61 70 65 20 72 65 61 64 65 72 20 69 6e 20 28 72 65 73 75 6c 74 20 74 6f 20 72 65 67   ┆er tape reader in (result to reg┆
0x0d9c40…0d9c60             2d 61 29 0d 0a 3b 09 68 6f 6d 65 09 6d 6f 76 65 20 74 6f 20 74 72 61 63 6b 20 30 30 0d 0a 3b 0d   ┆-a)  ; home move to track 00  ; ┆
0x0d9c60…0d9c80             0a 3b 09 28 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 61 6c 6c 73 20 73 65 74 2d 75 70 20 74   ┆ ; (the following calls set-up t┆
0x0d9c80…0d9ca0             68 65 20 69 6f 20 70 61 72 61 6d 65 74 65 72 20 62 6c 6f 63 6b 20 66 6f 72 20 74 68 65 0d 0a 3b   ┆he io parameter block for the  ;┆
0x0d9ca0…0d9cc0             09 6d 64 73 2c 20 77 68 69 63 68 20 69 73 20 75 73 65 64 20 74 6f 20 70 65 72 66 6f 72 6d 20 73   ┆ mds, which is used to perform s┆
0x0d9cc0…0d9ce0             75 62 73 65 71 75 65 6e 74 20 72 65 61 64 73 20 61 6e 64 20 77 72 69 74 65 73 29 0d 0a 3b 09 73   ┆ubsequent reads and writes)  ; s┆
0x0d9ce0…0d9d00             65 6c 64 73 6b 09 73 65 6c 65 63 74 20 64 69 73 6b 20 67 69 76 65 6e 20 62 79 20 72 65 67 2d 63   ┆eldsk select disk given by reg-c┆
0x0d9d00…0d9d20             20 28 30 2c 31 2c 32 2e 2e 2e 29 0d 0a 3b 09 73 65 74 74 72 6b 09 73 65 74 20 74 72 61 63 6b 20   ┆ (0,1,2...)  ; settrk set track ┆
0x0d9d20…0d9d40             61 64 64 72 65 73 73 20 28 30 2c 2e 2e 2e 37 36 29 20 66 6f 72 20 73 75 62 73 65 71 75 65 6e 74   ┆address (0,...76) for subsequent┆
0x0d9d40…0d9d60             20 72 65 61 64 2f 77 72 69 74 65 0d 0a 3b 09 73 65 74 73 65 63 09 73 65 74 20 73 65 63 74 6f 72   ┆ read/write  ; setsec set sector┆
0x0d9d60…0d9d80             20 61 64 64 72 65 73 73 20 28 31 2c 2e 2e 2e 2c 32 36 29 20 66 6f 72 20 73 75 62 73 65 71 75 65   ┆ address (1,...,26) for subseque┆
0x0d9d80…0d9da0             6e 74 20 72 65 61 64 2f 77 72 69 74 65 0d 0a 3b 09 73 65 74 64 6d 61 09 73 65 74 20 73 75 62 73   ┆nt read/write  ; setdma set subs┆
0x0d9da0…0d9dc0             65 71 75 65 6e 74 20 64 6d 61 20 61 64 64 72 65 73 73 20 28 69 6e 69 74 69 61 6c 6c 79 20 38 30   ┆equent dma address (initially 80┆
0x0d9dc0…0d9de0             68 29 0d 0a 3b 0d 0a 3b 09 28 72 65 61 64 20 61 6e 64 20 77 72 69 74 65 20 61 73 73 75 6d 65 20   ┆h)  ;  ; (read and write assume ┆
0x0d9de0…0d9e00             70 72 65 76 69 6f 75 73 20 63 61 6c 6c 73 20 74 6f 20 73 65 74 20 75 70 20 74 68 65 20 69 6f 20   ┆previous calls to set up the io ┆
0x0d9e00…0d9e20 (58, 0, 4)  62 61 73 65 09 65 71 75 09 37 38 68 09 3b 62 61 73 65 20 6f 66 20 64 69 73 6b 20 63 6f 6d 6d 61   ┆base equ 78h ;base of disk comma┆
0x0d9e20…0d9e40             6e 64 20 69 6f 20 70 6f 72 74 73 0d 0a 64 73 74 61 74 09 65 71 75 09 62 61 73 65 09 3b 64 69 73   ┆nd io ports  dstat equ base ;dis┆
0x0d9e40…0d9e60             6b 20 73 74 61 74 75 73 20 28 69 6e 70 75 74 29 0d 0a 72 74 79 70 65 09 65 71 75 09 62 61 73 65   ┆k status (input)  rtype equ base┆
0x0d9e60…0d9e80             2b 31 09 3b 72 65 73 75 6c 74 20 74 79 70 65 20 28 69 6e 70 75 74 29 0d 0a 72 62 79 74 65 09 65   ┆+1 ;result type (input)  rbyte e┆
0x0d9e80…0d9ea0             71 75 09 62 61 73 65 2b 33 09 3b 72 65 73 75 6c 74 20 62 79 74 65 20 28 69 6e 70 75 74 29 0d 0a   ┆qu base+3 ;result byte (input)  ┆
0x0d9ea0…0d9ec0             3b 0d 0a 69 6c 6f 77 09 65 71 75 09 62 61 73 65 2b 31 09 3b 69 6f 70 62 20 6c 6f 77 20 61 64 64   ┆;  ilow equ base+1 ;iopb low add┆
0x0d9ec0…0d9ee0             72 65 73 73 20 28 6f 75 74 70 75 74 29 0d 0a 69 68 69 67 68 09 65 71 75 09 62 61 73 65 2b 32 09   ┆ress (output)  ihigh equ base+2 ┆
0x0d9ee0…0d9f00             3b 69 6f 70 62 20 68 69 67 68 20 61 64 64 72 65 73 73 20 28 6f 75 74 70 75 74 29 0d 0a 3b 0d 0a   ┆;iopb high address (output)  ;  ┆
0x0d9f00…0d9f20             72 65 61 64 66 09 65 71 75 09 34 68 09 3b 72 65 61 64 20 66 75 6e 63 74 69 6f 6e 0d 0a 77 72 69   ┆readf equ 4h ;read function  wri┆
0x0d9f20…0d9f40             74 66 09 65 71 75 09 36 68 09 3b 77 72 69 74 65 20 66 75 6e 63 74 69 6f 6e 0d 0a 72 65 63 61 6c   ┆tf equ 6h ;write function  recal┆
0x0d9f40…0d9f60             09 65 71 75 09 33 68 09 3b 72 65 63 61 6c 69 62 72 61 74 65 20 64 72 69 76 65 0d 0a 69 6f 72 64   ┆ equ 3h ;recalibrate drive  iord┆
0x0d9f60…0d9f80             79 09 65 71 75 09 34 68 09 3b 69 2f 6f 20 66 69 6e 69 73 68 65 64 20 6d 61 73 6b 0d 0a 63 72 09   ┆y equ 4h ;i/o finished mask  cr ┆
0x0d9f80…0d9fa0             65 71 75 09 30 64 68 09 3b 63 61 72 72 69 61 67 65 20 72 65 74 75 72 6e 0d 0a 6c 66 09 65 71 75   ┆equ 0dh ;carriage return  lf equ┆
0x0d9fa0…0d9fc0             09 30 61 68 09 3b 6c 69 6e 65 20 66 65 65 64 0d 0a 3b 0d 0a 73 69 67 6e 6f 6e 3a 09 3b 73 69 67   ┆ 0ah ;line feed  ;  signon: ;sig┆
0x0d9fc0…0d9fe0             6e 6f 6e 20 6d 65 73 73 61 67 65 3a 20 78 78 6b 20 63 70 2f 6d 20 76 65 72 73 20 79 2e 79 0d 0a   ┆non message: xxk cp/m vers y.y  ┆
0x0d9fe0…0da000             09 64 62 09 63 72 2c 6c 66 2c 6c 66 0d 0a 09 69 66 09 74 65 73 74 0d 0a 09 64 62 09 27 33 32 27   ┆ db cr,lf,lf   if test   db '32'┆
0x0da000…0da020 (58, 0, 5)  74 69 6f 6e 0d 0a 09 61 6e 69 09 69 6f 72 64 79 09 09 3b 72 65 61 64 79 3f 0d 0a 09 6a 7a 09 77   ┆tion   ani iordy  ;ready?   jz w┆
0x0da020…0da040             61 69 74 30 0d 0a 3b 0d 0a 3b 09 63 68 65 63 6b 20 69 6f 20 63 6f 6d 70 6c 65 74 69 6f 6e 20 6f   ┆ait0  ;  ; check io completion o┆
0x0da040…0da060             6b 0d 0a 09 63 61 6c 6c 09 69 6e 74 79 70 65 09 09 3b 6d 75 73 74 20 62 65 20 69 6f 20 63 6f 6d   ┆k   call intype  ;must be io com┆
0x0da060…0da080             70 6c 65 74 65 20 28 30 30 29 20 75 6e 6c 69 6e 6b 65 64 0d 0a 3b 09 30 30 20 75 6e 6c 69 6e 6b   ┆plete (00) unlinked  ; 00 unlink┆
0x0da080…0da0a0             65 64 20 69 2f 6f 20 63 6f 6d 70 6c 65 74 65 2c 20 20 20 20 30 31 20 6c 69 6e 6b 65 64 20 69 2f   ┆ed i/o complete,    01 linked i/┆
0x0da0a0…0da0c0             6f 20 63 6f 6d 70 6c 65 74 65 20 28 6e 6f 74 20 75 73 65 64 29 0d 0a 3b 09 31 30 20 64 69 73 6b   ┆o complete (not used)  ; 10 disk┆
0x0da0c0…0da0e0             20 73 74 61 74 75 73 20 63 68 61 6e 67 65 64 20 20 20 20 20 20 20 31 31 20 28 6e 6f 74 20 75 73   ┆ status changed       11 (not us┆
0x0da0e0…0da100             65 64 29 0d 0a 09 63 70 69 09 31 30 62 09 09 3b 72 65 61 64 79 20 73 74 61 74 75 73 20 63 68 61   ┆ed)   cpi 10b  ;ready status cha┆
0x0da100…0da120             6e 67 65 3f 0d 0a 09 6a 7a 09 77 72 65 61 64 79 0d 0a 3b 0d 0a 3b 09 6d 75 73 74 20 62 65 20 30   ┆nge?   jz wready  ;  ; must be 0┆
0x0da120…0da140             30 20 69 6e 20 74 68 65 20 61 63 63 75 6d 75 6c 61 74 6f 72 0d 0a 09 6f 72 61 09 61 0d 0a 09 6a   ┆0 in the accumulator   ora a   j┆
0x0da140…0da160             6e 7a 09 77 65 72 72 6f 72 09 09 3b 73 6f 6d 65 20 6f 74 68 65 72 20 63 6f 6e 64 69 74 69 6f 6e   ┆nz werror  ;some other condition┆
0x0da160…0da180             2c 20 72 65 74 72 79 0d 0a 3b 0d 0a 3b 09 63 68 65 63 6b 20 69 2f 6f 20 65 72 72 6f 72 20 62 69   ┆, retry  ;  ; check i/o error bi┆
0x0da180…0da1a0             74 73 0d 0a 09 63 61 6c 6c 09 69 6e 62 79 74 65 0d 0a 09 72 61 6c 0d 0a 09 6a 63 09 77 72 65 61   ┆ts   call inbyte   ral   jc wrea┆
0x0da1a0…0da1c0             64 79 09 09 3b 75 6e 69 74 20 6e 6f 74 20 72 65 61 64 79 0d 0a 09 72 61 72 0d 0a 09 61 6e 69 09   ┆dy  ;unit not ready   rar   ani ┆
0x0da1c0…0da1e0             31 31 31 31 31 31 31 30 62 09 3b 61 6e 79 20 6f 74 68 65 72 20 65 72 72 6f 72 73 3f 20 20 28 64   ┆11111110b ;any other errors?  (d┆
0x0da1e0…0da200             65 6c 65 74 65 64 20 64 61 74 61 20 6f 6b 29 0d 0a 09 6a 6e 7a 09 77 65 72 72 6f 72 0d 0a 3b 0d   ┆eleted data ok)   jnz werror  ; ┆
0x0da200…0da220 (58, 0, 6)  65 72 20 62 6c 6f 63 6b 0d 0a 09 64 62 09 38 30 68 09 3b 6e 6f 72 6d 61 6c 20 69 2f 6f 20 6f 70   ┆er block   db 80h ;normal i/o op┆
0x0da220…0da240             65 72 61 74 69 6f 6e 0d 0a 69 6f 66 3a 09 64 62 09 72 65 61 64 66 09 3b 69 6f 20 66 75 6e 63 74   ┆eration  iof: db readf ;io funct┆
0x0da240…0da260             69 6f 6e 2c 20 69 6e 69 74 69 61 6c 20 72 65 61 64 0d 0a 69 6f 6e 3a 09 64 62 09 31 09 3b 6e 75   ┆ion, initial read  ion: db 1 ;nu┆
0x0da260…0da280             6d 62 65 72 20 6f 66 20 73 65 63 74 6f 72 73 20 74 6f 20 72 65 61 64 0d 0a 69 6f 74 3a 09 64 62   ┆mber of sectors to read  iot: db┆
0x0da280…0da2a0             09 6f 66 66 73 65 74 09 3b 74 72 61 63 6b 20 6e 75 6d 62 65 72 0d 0a 69 6f 73 3a 09 64 62 09 31   ┆ offset ;track number  ios: db 1┆
0x0da2a0…0da2c0             09 3b 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 0d 0a 69 6f 64 3a 09 64 77 09 62 75 66 66 09 3b 69   ┆ ;sector number  iod: dw buff ;i┆
0x0da2c0…0da2e0             6f 20 61 64 64 72 65 73 73 0d 0a 3b 0d 0a 3b 0d 0a 3b 09 64 65 66 69 6e 65 20 72 61 6d 20 61 72   ┆o address  ;  ;  ; define ram ar┆
0x0da2e0…0da300             65 61 73 20 66 6f 72 20 62 64 6f 73 20 6f 70 65 72 61 74 69 6f 6e 0d 0a 09 65 6e 64 65 66 0d 0a   ┆eas for bdos operation   endef  ┆
0x0da300…0da320             09 65 6e 64 0d 0a 3b 09 4d 44 53 2d 38 30 30 20 49 2f 4f 20 44 72 69 76 65 72 73 20 66 6f 72 20   ┆ end  ; MDS-800 I/O Drivers for ┆
0x0da320…0da340             43 50 2f 4d 20 32 2e 32 0d 0a 3b 09 28 66 6f 75 72 20 64 72 69 76 65 20 73 69 6e 67 6c 65 20 64   ┆CP/M 2.2  ; (four drive single d┆
0x0da340…0da360             65 6e 73 69 74 79 20 76 65 72 73 69 6f 6e 29 0d 0a 3b 0d 0a 3b 09 56 65 72 73 69 6f 6e 20 32 2e   ┆ensity version)  ;  ; Version 2.┆
0x0da360…0da380             32 20 46 65 62 72 75 61 72 79 2c 20 31 39 38 30 0d 0a 3b 0d 0a 76 65 72 73 09 65 71 75 09 32 32   ┆2 February, 1980  ;  vers equ 22┆
0x0da380…0da3a0             09 3b 76 65 72 73 69 6f 6e 20 32 2e 32 0d 0a 3b 0d 0a 3b 09 43 6f 70 79 72 69 67 68 74 20 28 63   ┆ ;version 2.2  ;  ; Copyright (c┆
0x0da3a0…0da3c0             29 20 31 39 38 30 0d 0a 3b 09 44 69 67 69 74 61 6c 20 52 65 73 65 61 72 63 68 0d 0a 3b 09 42 6f   ┆) 1980  ; Digital Research  ; Bo┆
0x0da3c0…0da3e0             78 20 35 37 39 2c 20 50 61 63 69 66 69 63 20 47 72 6f 76 65 0d 0a 3b 09 43 61 6c 69 66 6f 72 6e   ┆x 579, Pacific Grove  ; Californ┆
0x0da3e0…0da400             69 61 2c 20 39 33 39 35 30 0d 0a 3b 0d 0a 3b 0d 0a 74 72 75 65 09 65 71 75 09 30 66 66 66 66 68   ┆ia, 93950  ;  ;  true equ 0ffffh┆
0x0da400…0da420 (58, 0, 7)  70 61 72 61 6d 65 74 65 72 73 29 0d 0a 3b 09 72 65 61 64 09 72 65 61 64 20 74 72 61 63 6b 2f 73   ┆parameters)  ; read read track/s┆
0x0da420…0da440             65 63 74 6f 72 20 74 6f 20 70 72 65 73 65 74 20 64 6d 61 20 61 64 64 72 65 73 73 0d 0a 3b 09 77   ┆ector to preset dma address  ; w┆
0x0da440…0da460             72 69 74 65 09 77 72 69 74 65 20 74 72 61 63 6b 2f 73 65 63 74 6f 72 20 66 72 6f 6d 20 70 72 65   ┆rite write track/sector from pre┆
0x0da460…0da480             73 65 74 20 64 6d 61 20 61 64 64 72 65 73 73 0d 0a 3b 0d 0a 3b 09 6a 75 6d 70 20 76 65 63 74 6f   ┆set dma address  ;  ; jump vecto┆
0x0da480…0da4a0             72 20 66 6f 72 20 69 6e 64 69 76 69 75 61 6c 20 72 6f 75 74 69 6e 65 73 0d 0a 09 6a 6d 70 09 62   ┆r for indiviual routines   jmp b┆
0x0da4a0…0da4c0             6f 6f 74 0d 0a 77 62 6f 6f 74 65 3a 09 6a 6d 70 09 77 62 6f 6f 74 0d 0a 09 6a 6d 70 09 63 6f 6e   ┆oot  wboote: jmp wboot   jmp con┆
0x0da4c0…0da4e0             73 74 0d 0a 09 6a 6d 70 09 63 6f 6e 69 6e 0d 0a 09 6a 6d 70 09 63 6f 6e 6f 75 74 0d 0a 09 6a 6d   ┆st   jmp conin   jmp conout   jm┆
0x0da4e0…0da500             70 09 6c 69 73 74 0d 0a 09 6a 6d 70 09 70 75 6e 63 68 0d 0a 09 6a 6d 70 09 72 65 61 64 65 72 0d   ┆p list   jmp punch   jmp reader ┆
0x0da500…0da520             0a 09 6a 6d 70 09 68 6f 6d 65 0d 0a 09 6a 6d 70 09 73 65 6c 64 73 6b 0d 0a 09 6a 6d 70 09 73 65   ┆  jmp home   jmp seldsk   jmp se┆
0x0da520…0da540             74 74 72 6b 0d 0a 09 6a 6d 70 09 73 65 74 73 65 63 0d 0a 09 6a 6d 70 09 73 65 74 64 6d 61 0d 0a   ┆ttrk   jmp setsec   jmp setdma  ┆
0x0da540…0da560             09 6a 6d 70 09 72 65 61 64 0d 0a 09 6a 6d 70 09 77 72 69 74 65 0d 0a 09 6a 6d 70 09 6c 69 73 74   ┆ jmp read   jmp write   jmp list┆
0x0da560…0da580             73 74 09 3b 6c 69 73 74 20 73 74 61 74 75 73 0d 0a 09 6a 6d 70 09 73 65 63 74 72 61 6e 0d 0a 3b   ┆st ;list status   jmp sectran  ;┆
0x0da580…0da5a0             0d 0a 09 6d 61 63 6c 69 62 09 64 69 73 6b 64 65 66 09 3b 6c 6f 61 64 20 74 68 65 20 64 69 73 6b   ┆   maclib diskdef ;load the disk┆
0x0da5a0…0da5c0             20 64 65 66 69 6e 69 74 69 6f 6e 20 6c 69 62 72 61 72 79 0d 0a 09 64 69 73 6b 73 09 34 09 3b 66   ┆ definition library   disks 4 ;f┆
0x0da5c0…0da5e0             6f 75 72 20 64 69 73 6b 73 0d 0a 09 64 69 73 6b 64 65 66 09 30 2c 31 2c 32 36 2c 36 2c 31 30 32   ┆our disks   diskdef 0,1,26,6,102┆
0x0da5e0…0da600             34 2c 32 34 33 2c 36 34 2c 36 34 2c 6f 66 66 73 65 74 0d 0a 09 64 69 73 6b 64 65 66 09 31 2c 30   ┆4,243,64,64,offset   diskdef 1,0┆
0x0da600…0da620 (58, 0, 8)  09 3b 33 32 6b 20 65 78 61 6d 70 6c 65 20 62 69 6f 73 0d 0a 09 65 6e 64 69 66 0d 0a 09 69 66 09   ┆ ;32k example bios   endif   if ┆
0x0da620…0da640             6e 6f 74 20 74 65 73 74 0d 0a 09 64 62 09 27 30 30 27 09 3b 6d 65 6d 6f 72 79 20 73 69 7a 65 20   ┆not test   db '00' ;memory size ┆
0x0da640…0da660             66 69 6c 6c 65 64 20 62 79 20 72 65 6c 6f 63 61 74 6f 72 0d 0a 09 65 6e 64 69 66 0d 0a 09 64 62   ┆filled by relocator   endif   db┆
0x0da660…0da680             09 27 6b 20 43 50 2f 4d 20 76 65 72 73 20 27 0d 0a 09 64 62 09 76 65 72 73 2f 31 30 2b 27 30 27   ┆ 'k CP/M vers '   db vers/10+'0'┆
0x0da680…0da6a0             2c 27 2e 27 2c 76 65 72 73 20 6d 6f 64 20 31 30 2b 27 30 27 0d 0a 09 64 62 09 63 72 2c 6c 66 2c   ┆,'.',vers mod 10+'0'   db cr,lf,┆
0x0da6a0…0da6c0             30 0d 0a 3b 0d 0a 62 6f 6f 74 3a 09 3b 70 72 69 6e 74 20 73 69 67 6e 6f 6e 20 6d 65 73 73 61 67   ┆0  ;  boot: ;print signon messag┆
0x0da6c0…0da6e0             65 20 61 6e 64 20 67 6f 20 74 6f 20 63 63 70 0d 0a 3b 09 28 6e 6f 74 65 3a 20 6d 64 73 20 62 6f   ┆e and go to ccp  ; (note: mds bo┆
0x0da6e0…0da700             6f 74 20 69 6e 69 74 69 61 6c 69 7a 65 64 20 69 6f 62 79 74 65 20 61 74 20 30 30 30 33 68 29 0d   ┆ot initialized iobyte at 0003h) ┆
0x0da700…0da720             0a 09 6c 78 69 09 73 70 2c 62 75 66 66 2b 38 30 68 0d 0a 09 6c 78 69 09 68 2c 73 69 67 6e 6f 6e   ┆  lxi sp,buff+80h   lxi h,signon┆
0x0da720…0da740             0d 0a 09 63 61 6c 6c 09 70 72 6d 73 67 09 3b 70 72 69 6e 74 20 6d 65 73 73 61 67 65 0d 0a 09 78   ┆   call prmsg ;print message   x┆
0x0da740…0da760             72 61 09 61 09 3b 63 6c 65 61 72 20 61 63 63 75 6d 75 6c 61 74 6f 72 0d 0a 09 73 74 61 09 63 64   ┆ra a ;clear accumulator   sta cd┆
0x0da760…0da780             69 73 6b 09 3b 73 65 74 20 69 6e 69 74 69 61 6c 6c 79 20 74 6f 20 64 69 73 6b 20 61 0d 0a 09 6a   ┆isk ;set initially to disk a   j┆
0x0da780…0da7a0             6d 70 09 67 6f 63 70 6d 09 3b 67 6f 20 74 6f 20 63 70 2f 6d 0d 0a 3b 0d 0a 3b 0d 0a 77 62 6f 6f   ┆mp gocpm ;go to cp/m  ;  ;  wboo┆
0x0da7a0…0da7c0             74 3a 3b 09 6c 6f 61 64 65 72 20 6f 6e 20 74 72 61 63 6b 20 30 2c 20 73 65 63 74 6f 72 20 31 2c   ┆t:; loader on track 0, sector 1,┆
0x0da7c0…0da7e0             20 77 68 69 63 68 20 77 69 6c 6c 20 62 65 20 73 6b 69 70 70 65 64 20 66 6f 72 20 77 61 72 6d 20   ┆ which will be skipped for warm ┆
0x0da7e0…0da800             0d 0a 3b 09 72 65 61 64 20 63 70 2f 6d 20 66 72 6f 6d 20 64 69 73 6b 20 2d 20 61 73 73 75 6d 69   ┆  ; read cp/m from disk - assumi┆
0x0da800…0da820 (58, 0, 9)  0a 3b 09 72 65 61 64 20 6f 72 20 77 72 69 74 65 20 69 73 20 6f 6b 2c 20 61 63 63 75 6d 75 6c 61   ┆ ; read or write is ok, accumula┆
0x0da820…0da840             74 6f 72 20 63 6f 6e 74 61 69 6e 73 20 7a 65 72 6f 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 77 72 65 61   ┆tor contains zero   ret  ;  wrea┆
0x0da840…0da860             64 79 3a 09 3b 6e 6f 74 20 72 65 61 64 79 2c 20 74 72 65 61 74 20 61 73 20 65 72 72 6f 72 20 66   ┆dy: ;not ready, treat as error f┆
0x0da860…0da880             6f 72 20 6e 6f 77 0d 0a 09 63 61 6c 6c 09 69 6e 62 79 74 65 09 09 3b 63 6c 65 61 72 20 72 65 73   ┆or now   call inbyte  ;clear res┆
0x0da880…0da8a0             75 6c 74 20 62 79 74 65 0d 0a 09 6a 6d 70 09 74 72 79 63 6f 75 6e 74 0d 0a 3b 0d 0a 77 65 72 72   ┆ult byte   jmp trycount  ;  werr┆
0x0da8a0…0da8c0             6f 72 3a 09 3b 72 65 74 75 72 6e 20 68 61 72 64 77 61 72 65 20 6d 61 6c 66 75 6e 63 74 69 6f 6e   ┆or: ;return hardware malfunction┆
0x0da8c0…0da8e0             20 28 63 72 63 2c 20 74 72 61 63 6b 2c 20 73 65 65 6b 2c 20 65 74 63 2e 29 0d 0a 3b 09 74 68 65   ┆ (crc, track, seek, etc.)  ; the┆
0x0da8e0…0da900             20 6d 64 73 20 63 6f 6e 74 72 6f 6c 6c 65 72 20 68 61 73 20 72 65 74 75 72 6e 65 64 20 61 20 62   ┆ mds controller has returned a b┆
0x0da900…0da920             69 74 20 69 6e 20 65 61 63 68 20 70 6f 73 69 74 69 6f 6e 0d 0a 3b 09 6f 66 20 74 68 65 20 61 63   ┆it in each position  ; of the ac┆
0x0da920…0da940             63 75 6d 75 6c 61 74 6f 72 2c 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 74 6f 20 74 68 65 20   ┆cumulator, corresponding to the ┆
0x0da940…0da960             63 6f 6e 64 69 74 69 6f 6e 73 3a 0d 0a 3b 09 30 09 2d 20 64 65 6c 65 74 65 64 20 64 61 74 61 20   ┆conditions:  ; 0 - deleted data ┆
0x0da960…0da980             28 61 63 63 65 70 74 65 64 20 61 73 20 6f 6b 20 61 62 6f 76 65 29 0d 0a 3b 09 31 09 2d 20 63 72   ┆(accepted as ok above)  ; 1 - cr┆
0x0da980…0da9a0             63 20 65 72 72 6f 72 0d 0a 3b 09 32 09 2d 20 73 65 65 6b 20 65 72 72 6f 72 0d 0a 3b 09 33 09 2d   ┆c error  ; 2 - seek error  ; 3 -┆
0x0da9a0…0da9c0             20 61 64 64 72 65 73 73 20 65 72 72 6f 72 20 28 68 61 72 64 77 61 72 65 20 6d 61 6c 66 75 6e 63   ┆ address error (hardware malfunc┆
0x0da9c0…0da9e0             74 69 6f 6e 29 0d 0a 3b 09 34 09 2d 20 64 61 74 61 20 6f 76 65 72 2f 75 6e 64 65 72 20 66 6c 6f   ┆tion)  ; 4 - data over/under flo┆
0x0da9e0…0daa00             77 20 28 68 61 72 64 77 61 72 65 20 6d 61 6c 66 75 6e 63 74 69 6f 6e 29 0d 0a 3b 09 35 09 2d 20   ┆w (hardware malfunction)  ; 5 - ┆
0x0daa00…0daa20 (58, 0, 10) 09 3b 76 61 6c 75 65 20 6f 66 20 22 74 72 75 65 22 0d 0a 66 61 6c 73 65 09 65 71 75 09 6e 6f 74   ┆ ;value of "true"  false equ not┆
0x0daa20…0daa40             20 74 72 75 65 09 3b 22 66 61 6c 73 65 22 0d 0a 74 65 73 74 09 65 71 75 09 66 61 6c 73 65 09 3b   ┆ true ;"false"  test equ false ;┆
0x0daa40…0daa60             74 72 75 65 20 69 66 20 74 65 73 74 20 62 69 6f 73 0d 0a 3b 0d 0a 09 69 66 09 74 65 73 74 0d 0a   ┆true if test bios  ;   if test  ┆
0x0daa60…0daa80             62 69 61 73 09 65 71 75 09 30 33 34 30 30 68 09 3b 62 61 73 65 20 6f 66 20 43 43 50 20 69 6e 20   ┆bias equ 03400h ;base of CCP in ┆
0x0daa80…0daaa0             74 65 73 74 20 73 79 73 74 65 6d 0d 0a 09 65 6e 64 69 66 0d 0a 09 69 66 09 6e 6f 74 20 74 65 73   ┆test system   endif   if not tes┆
0x0daaa0…0daac0             74 0d 0a 62 69 61 73 09 65 71 75 09 30 30 30 30 68 09 3b 67 65 6e 65 72 61 74 65 20 72 65 6c 6f   ┆t  bias equ 0000h ;generate relo┆
0x0daac0…0daae0             63 61 74 61 62 6c 65 20 63 70 2f 6d 20 73 79 73 74 65 6d 0d 0a 09 65 6e 64 69 66 0d 0a 3b 0d 0a   ┆catable cp/m system   endif  ;  ┆
0x0daae0…0dab00             70 61 74 63 68 09 65 71 75 09 31 36 30 30 68 0d 0a 3b 0d 0a 09 6f 72 67 09 70 61 74 63 68 0d 0a   ┆patch equ 1600h  ;   org patch  ┆
0x0dab00…0dab20             63 70 6d 62 09 65 71 75 09 24 2d 70 61 74 63 68 09 3b 62 61 73 65 20 6f 66 20 63 70 6d 20 63 6f   ┆cpmb equ $-patch ;base of cpm co┆
0x0dab20…0dab40             6e 73 6f 6c 65 20 70 72 6f 63 65 73 73 6f 72 0d 0a 62 64 6f 73 09 65 71 75 09 38 30 36 68 2b 63   ┆nsole processor  bdos equ 806h+c┆
0x0dab40…0dab60             70 6d 62 09 3b 62 61 73 69 63 20 64 6f 73 20 28 72 65 73 69 64 65 6e 74 20 70 6f 72 74 69 6f 6e   ┆pmb ;basic dos (resident portion┆
0x0dab60…0dab80             29 0d 0a 63 70 6d 6c 09 65 71 75 09 24 2d 63 70 6d 62 09 3b 6c 65 6e 67 74 68 20 28 69 6e 20 62   ┆)  cpml equ $-cpmb ;length (in b┆
0x0dab80…0daba0             79 74 65 73 29 20 6f 66 20 63 70 6d 20 73 79 73 74 65 6d 0d 0a 6e 73 65 63 74 73 09 65 71 75 09   ┆ytes) of cpm system  nsects equ ┆
0x0daba0…0dabc0             63 70 6d 6c 2f 31 32 38 09 3b 6e 75 6d 62 65 72 20 6f 66 20 73 65 63 74 6f 72 73 20 74 6f 20 6c   ┆cpml/128 ;number of sectors to l┆
0x0dabc0…0dabe0             6f 61 64 0d 0a 6f 66 66 73 65 74 09 65 71 75 09 32 09 3b 6e 75 6d 62 65 72 20 6f 66 20 64 69 73   ┆oad  offset equ 2 ;number of dis┆
0x0dabe0…0dac00             6b 20 74 72 61 63 6b 73 20 75 73 65 64 20 62 79 20 63 70 2f 6d 0d 0a 63 64 69 73 6b 09 65 71 75   ┆k tracks used by cp/m  cdisk equ┆
0x0dac00…0dac20 (58, 0, 11) 0d 0a 09 64 69 73 6b 64 65 66 09 32 2c 30 0d 0a 09 64 69 73 6b 64 65 66 09 33 2c 30 0d 0a 3b 09   ┆   diskdef 2,0   diskdef 3,0  ; ┆
0x0dac20…0dac40             65 6e 64 65 66 20 6f 63 63 75 72 73 20 61 74 20 65 6e 64 20 6f 66 20 61 73 73 65 6d 62 6c 79 0d   ┆endef occurs at end of assembly ┆
0x0dac40…0dac60             0a 3b 0d 0a 3b 09 65 6e 64 20 6f 66 20 63 6f 6e 74 72 6f 6c 6c 65 72 20 2d 20 69 6e 64 65 70 65   ┆ ;  ; end of controller - indepe┆
0x0dac60…0dac80             6e 64 65 6e 74 20 63 6f 64 65 2c 20 74 68 65 20 72 65 6d 61 69 6e 69 6e 67 20 73 75 62 72 6f 75   ┆ndent code, the remaining subrou┆
0x0dac80…0daca0             74 69 6e 65 73 0d 0a 3b 09 61 72 65 20 74 61 69 6c 6f 72 65 64 20 74 6f 20 74 68 65 20 70 61 72   ┆tines  ; are tailored to the par┆
0x0daca0…0dacc0             74 69 63 75 6c 61 72 20 6f 70 65 72 61 74 69 6e 67 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 2c 20 61   ┆ticular operating environment, a┆
0x0dacc0…0dace0             6e 64 20 6d 75 73 74 0d 0a 3b 09 62 65 20 61 6c 74 65 72 65 64 20 66 6f 72 20 61 6e 79 20 73 79   ┆nd must  ; be altered for any sy┆
0x0dace0…0dad00             73 74 65 6d 20 77 68 69 63 68 20 64 69 66 66 65 72 73 20 66 72 6f 6d 20 74 68 65 20 69 6e 74 65   ┆stem which differs from the inte┆
0x0dad00…0dad20             6c 20 6d 64 73 2e 0d 0a 3b 0d 0a 3b 09 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 64 65 20   ┆l mds.  ;  ; the following code ┆
0x0dad20…0dad40             61 73 73 75 6d 65 73 20 74 68 65 20 6d 64 73 20 6d 6f 6e 69 74 6f 72 20 65 78 69 73 74 73 20 61   ┆assumes the mds monitor exists a┆
0x0dad40…0dad60             74 20 30 66 38 30 30 68 0d 0a 3b 09 61 6e 64 20 75 73 65 73 20 74 68 65 20 69 2f 6f 20 73 75 62   ┆t 0f800h  ; and uses the i/o sub┆
0x0dad60…0dad80             72 6f 75 74 69 6e 65 73 20 77 69 74 68 69 6e 20 74 68 65 20 6d 6f 6e 69 74 6f 72 0d 0a 3b 0d 0a   ┆routines within the monitor  ;  ┆
0x0dad80…0dada0             3b 09 77 65 20 61 6c 73 6f 20 61 73 73 75 6d 65 20 74 68 65 20 6d 64 73 20 73 79 73 74 65 6d 20   ┆; we also assume the mds system ┆
0x0dada0…0dadc0             68 61 73 20 66 6f 75 72 20 64 69 73 6b 20 64 72 69 76 65 73 0d 0a 72 65 76 72 74 09 65 71 75 09   ┆has four disk drives  revrt equ ┆
0x0dadc0…0dade0             30 66 64 68 09 3b 69 6e 74 65 72 72 75 70 74 20 72 65 76 65 72 74 20 70 6f 72 74 0d 0a 69 6e 74   ┆0fdh ;interrupt revert port  int┆
0x0dade0…0dae00             63 09 65 71 75 09 30 66 63 68 09 3b 69 6e 74 65 72 72 75 70 74 20 6d 61 73 6b 20 70 6f 72 74 0d   ┆c equ 0fch ;interrupt mask port ┆
0x0dae00…0dae20 (58, 0, 12) 6e 67 20 74 68 65 72 65 20 69 73 20 61 20 31 32 38 20 62 79 74 65 20 63 6f 6c 64 20 73 74 61 72   ┆ng there is a 128 byte cold star┆
0x0dae20…0dae40             74 0d 0a 3b 09 73 74 61 72 74 2e 0d 0a 3b 0d 0a 09 6c 78 69 09 73 70 2c 62 75 66 66 09 3b 75 73   ┆t  ; start.  ;   lxi sp,buff ;us┆
0x0dae40…0dae60             69 6e 67 20 64 6d 61 20 2d 20 74 68 75 73 20 38 30 20 74 68 72 75 20 66 66 20 61 76 61 69 6c 61   ┆ing dma - thus 80 thru ff availa┆
0x0dae60…0dae80             62 6c 65 20 66 6f 72 20 73 74 61 63 6b 0d 0a 3b 0d 0a 09 6d 76 69 09 63 2c 72 65 74 72 79 09 3b   ┆ble for stack  ;   mvi c,retry ;┆
0x0dae80…0daea0             6d 61 78 20 72 65 74 72 69 65 73 0d 0a 09 70 75 73 68 09 62 0d 0a 77 62 6f 6f 74 30 3a 09 3b 65   ┆max retries   push b  wboot0: ;e┆
0x0daea0…0daec0             6e 74 65 72 20 68 65 72 65 20 6f 6e 20 65 72 72 6f 72 20 72 65 74 72 69 65 73 0d 0a 09 6c 78 69   ┆nter here on error retries   lxi┆
0x0daec0…0daee0             09 62 2c 63 70 6d 62 09 3b 73 65 74 20 64 6d 61 20 61 64 64 72 65 73 73 20 74 6f 20 73 74 61 72   ┆ b,cpmb ;set dma address to star┆
0x0daee0…0daf00             74 20 6f 66 20 64 69 73 6b 20 73 79 73 74 65 6d 0d 0a 09 63 61 6c 6c 09 73 65 74 64 6d 61 0d 0a   ┆t of disk system   call setdma  ┆
0x0daf00…0daf20             09 6d 76 69 09 63 2c 30 09 3b 62 6f 6f 74 20 66 72 6f 6d 20 64 72 69 76 65 20 30 0d 0a 09 63 61   ┆ mvi c,0 ;boot from drive 0   ca┆
0x0daf20…0daf40             6c 6c 09 73 65 6c 64 73 6b 0d 0a 09 6d 76 69 09 63 2c 30 0d 0a 09 63 61 6c 6c 09 73 65 74 74 72   ┆ll seldsk   mvi c,0   call settr┆
0x0daf40…0daf60             6b 09 3b 73 74 61 72 74 20 77 69 74 68 20 74 72 61 63 6b 20 30 0d 0a 09 6d 76 69 09 63 2c 32 09   ┆k ;start with track 0   mvi c,2 ┆
0x0daf60…0daf80             3b 73 74 61 72 74 20 72 65 61 64 69 6e 67 20 73 65 63 74 6f 72 20 32 0d 0a 09 63 61 6c 6c 09 73   ┆;start reading sector 2   call s┆
0x0daf80…0dafa0             65 74 73 65 63 0d 0a 3b 0d 0a 3b 09 72 65 61 64 20 73 65 63 74 6f 72 73 2c 20 63 6f 75 6e 74 20   ┆etsec  ;  ; read sectors, count ┆
0x0dafa0…0dafc0             6e 73 65 63 74 73 20 74 6f 20 7a 65 72 6f 0d 0a 09 70 6f 70 09 62 09 3b 31 30 2d 65 72 72 6f 72   ┆nsects to zero   pop b ;10-error┆
0x0dafc0…0dafe0             20 63 6f 75 6e 74 0d 0a 09 6d 76 69 09 62 2c 6e 73 65 63 74 73 0d 0a 72 64 73 65 63 3a 09 3b 72   ┆ count   mvi b,nsects  rdsec: ;r┆
0x0dafe0…0db000             65 61 64 20 6e 65 78 74 20 73 65 63 74 6f 72 0d 0a 09 70 75 73 68 09 62 09 3b 73 61 76 65 20 73   ┆ead next sector   push b ;save s┆
0x0db000…0db020 (58, 0, 13) 77 72 69 74 65 20 70 72 6f 74 65 63 74 20 28 74 72 65 61 74 65 64 20 61 73 20 6e 6f 74 20 72 65   ┆write protect (treated as not re┆
0x0db020…0db040             61 64 79 29 0d 0a 3b 09 36 09 2d 20 77 72 69 74 65 20 65 72 72 6f 72 20 28 68 61 72 64 77 61 72   ┆ady)  ; 6 - write error (hardwar┆
0x0db040…0db060             65 20 6d 61 6c 66 75 6e 63 74 69 6f 6e 29 0d 0a 3b 09 37 09 2d 20 6e 6f 74 20 72 65 61 64 79 0d   ┆e malfunction)  ; 7 - not ready ┆
0x0db060…0db080             0a 3b 09 28 61 63 63 75 6d 75 6c 61 74 6f 72 20 62 69 74 73 20 61 72 65 20 6e 75 6d 62 65 72 65   ┆ ; (accumulator bits are numbere┆
0x0db080…0db0a0             64 20 37 20 36 20 35 20 34 20 33 20 32 20 31 20 30 29 0d 0a 3b 0d 0a 3b 09 69 74 20 6d 61 79 20   ┆d 7 6 5 4 3 2 1 0)  ;  ; it may ┆
0x0db0a0…0db0c0             62 65 20 75 73 65 66 75 6c 20 74 6f 20 66 69 6c 74 65 72 20 6f 75 74 20 74 68 65 20 76 61 72 69   ┆be useful to filter out the vari┆
0x0db0c0…0db0e0             6f 75 73 20 63 6f 6e 64 69 74 69 6f 6e 73 2c 0d 0a 3b 09 62 75 74 20 77 65 20 77 69 6c 6c 20 67   ┆ous conditions,  ; but we will g┆
0x0db0e0…0db100             65 74 20 61 20 70 65 72 6d 61 6e 65 6e 74 20 65 72 72 6f 72 20 6d 65 73 73 61 67 65 20 69 66 20   ┆et a permanent error message if ┆
0x0db100…0db120             69 74 20 69 73 20 6e 6f 74 0d 0a 3b 09 72 65 63 6f 76 65 72 61 62 6c 65 2e 20 20 69 6e 20 61 6e   ┆it is not  ; recoverable.  in an┆
0x0db120…0db140             79 20 63 61 73 65 2c 20 74 68 65 20 6e 6f 74 20 72 65 61 64 79 20 63 6f 6e 64 69 74 69 6f 6e 20   ┆y case, the not ready condition ┆
0x0db140…0db160             69 73 0d 0a 3b 09 74 72 65 61 74 65 64 20 61 73 20 61 20 73 65 70 61 72 61 74 65 20 63 6f 6e 64   ┆is  ; treated as a separate cond┆
0x0db160…0db180             69 74 69 6f 6e 20 66 6f 72 20 6c 61 74 65 72 20 69 6d 70 72 6f 76 65 6d 65 6e 74 0d 0a 74 72 79   ┆ition for later improvement  try┆
0x0db180…0db1a0             63 6f 75 6e 74 3a 0d 0a 3b 09 72 65 67 69 73 74 65 72 20 63 20 63 6f 6e 74 61 69 6e 73 20 72 65   ┆count:  ; register c contains re┆
0x0db1a0…0db1c0             74 72 79 20 63 6f 75 6e 74 2c 20 64 65 63 72 65 6d 65 6e 74 20 27 74 69 6c 20 7a 65 72 6f 0d 0a   ┆try count, decrement 'til zero  ┆
0x0db1c0…0db1e0             09 64 63 72 09 63 0d 0a 09 6a 6e 7a 09 72 65 77 61 69 74 09 3b 66 6f 72 20 61 6e 6f 74 68 65 72   ┆ dcr c   jnz rewait ;for another┆
0x0db1e0…0db200             20 74 72 79 0d 0a 3b 0d 0a 3b 09 63 61 6e 6e 6f 74 20 72 65 63 6f 76 65 72 20 66 72 6f 6d 20 65   ┆ try  ;  ; cannot recover from e┆
0x0db200…0db220 (58, 0, 14) 09 30 30 30 34 68 09 3b 61 64 64 72 65 73 73 20 6f 66 20 6c 61 73 74 20 6c 6f 67 67 65 64 20 64   ┆ 0004h ;address of last logged d┆
0x0db220…0db240             69 73 6b 20 6f 6e 20 77 61 72 6d 20 73 74 61 72 74 0d 0a 62 75 66 66 09 65 71 75 09 30 30 38 30   ┆isk on warm start  buff equ 0080┆
0x0db240…0db260             68 09 3b 64 65 66 61 75 6c 74 20 62 75 66 66 65 72 20 61 64 64 72 65 73 73 0d 0a 72 65 74 72 79   ┆h ;default buffer address  retry┆
0x0db260…0db280             09 65 71 75 09 31 30 09 3b 6d 61 78 20 72 65 74 72 69 65 73 20 6f 6e 20 64 69 73 6b 20 69 2f 6f   ┆ equ 10 ;max retries on disk i/o┆
0x0db280…0db2a0             20 62 65 66 6f 72 65 20 65 72 72 6f 72 0d 0a 3b 0d 0a 3b 09 70 65 72 66 6f 72 6d 20 66 6f 6c 6c   ┆ before error  ;  ; perform foll┆
0x0db2a0…0db2c0             6f 77 69 6e 67 20 66 75 6e 63 74 69 6f 6e 73 0d 0a 3b 09 62 6f 6f 74 09 63 6f 6c 64 20 73 74 61   ┆owing functions  ; boot cold sta┆
0x0db2c0…0db2e0             72 74 0d 0a 3b 09 77 62 6f 6f 74 09 77 61 72 6d 20 73 74 61 72 74 20 28 73 61 76 65 20 69 2f 6f   ┆rt  ; wboot warm start (save i/o┆
0x0db2e0…0db300             20 62 79 74 65 29 0d 0a 3b 09 28 62 6f 6f 74 20 61 6e 64 20 77 62 6f 6f 74 20 61 72 65 20 74 68   ┆ byte)  ; (boot and wboot are th┆
0x0db300…0db320             65 20 73 61 6d 65 20 66 6f 72 20 6d 64 73 29 0d 0a 3b 09 63 6f 6e 73 74 09 63 6f 6e 73 6f 6c 65   ┆e same for mds)  ; const console┆
0x0db320…0db340             20 73 74 61 74 75 73 0d 0a 3b 09 09 72 65 67 2d 61 20 3d 20 30 30 20 69 66 20 6e 6f 20 63 68 61   ┆ status  ;  reg-a = 00 if no cha┆
0x0db340…0db360             72 61 63 74 65 72 20 72 65 61 64 79 0d 0a 3b 09 09 72 65 67 2d 61 20 3d 20 66 66 20 69 66 20 63   ┆racter ready  ;  reg-a = ff if c┆
0x0db360…0db380             68 61 72 61 63 74 65 72 20 72 65 61 64 79 0d 0a 3b 09 63 6f 6e 69 6e 09 63 6f 6e 73 6f 6c 65 20   ┆haracter ready  ; conin console ┆
0x0db380…0db3a0             63 68 61 72 61 63 74 65 72 20 69 6e 20 28 72 65 73 75 6c 74 20 69 6e 20 72 65 67 2d 61 29 0d 0a   ┆character in (result in reg-a)  ┆
0x0db3a0…0db3c0             3b 09 63 6f 6e 6f 75 74 09 63 6f 6e 73 6f 6c 65 20 63 68 61 72 61 63 74 65 72 20 6f 75 74 20 28   ┆; conout console character out (┆
0x0db3c0…0db3e0             63 68 61 72 20 69 6e 20 72 65 67 2d 63 29 0d 0a 3b 09 6c 69 73 74 09 6c 69 73 74 20 6f 75 74 20   ┆char in reg-c)  ; list list out ┆
0x0db3e0…0db400             28 63 68 61 72 20 69 6e 20 72 65 67 2d 63 29 0d 0a 3b 09 70 75 6e 63 68 09 70 75 6e 63 68 20 6f   ┆(char in reg-c)  ; punch punch o┆
0x0db400…0db420 (58, 0, 15) 0a 69 63 6f 6e 09 65 71 75 09 30 66 33 68 09 3b 69 6e 74 65 72 72 75 70 74 20 63 6f 6e 74 72 6f   ┆ icon equ 0f3h ;interrupt contro┆
0x0db420…0db440             6c 20 70 6f 72 74 0d 0a 69 6e 74 65 09 65 71 75 09 30 31 31 31 24 31 31 31 30 62 09 3b 65 6e 61   ┆l port  inte equ 0111$1110b ;ena┆
0x0db440…0db460             62 6c 65 20 72 73 74 20 30 28 77 61 72 6d 20 62 6f 6f 74 29 2c 20 72 73 74 20 37 20 28 6d 6f 6e   ┆ble rst 0(warm boot), rst 7 (mon┆
0x0db460…0db480             69 74 6f 72 29 0d 0a 3b 0d 0a 3b 09 6d 64 73 20 6d 6f 6e 69 74 6f 72 20 65 71 75 61 74 65 73 0d   ┆itor)  ;  ; mds monitor equates ┆
0x0db480…0db4a0             0a 6d 6f 6e 38 30 09 65 71 75 09 30 66 38 30 30 68 09 3b 6d 64 73 20 6d 6f 6e 69 74 6f 72 0d 0a   ┆ mon80 equ 0f800h ;mds monitor  ┆
0x0db4a0…0db4c0             72 6d 6f 6e 38 30 09 65 71 75 09 30 66 66 30 66 68 09 3b 72 65 73 74 61 72 74 20 6d 6f 6e 38 30   ┆rmon80 equ 0ff0fh ;restart mon80┆
0x0db4c0…0db4e0             20 28 62 6f 6f 74 20 65 72 72 6f 72 29 0d 0a 63 69 09 65 71 75 09 30 66 38 30 33 68 09 3b 63 6f   ┆ (boot error)  ci equ 0f803h ;co┆
0x0db4e0…0db500             6e 73 6f 6c 65 20 63 68 61 72 61 63 74 65 72 20 74 6f 20 72 65 67 2d 61 0d 0a 72 69 09 65 71 75   ┆nsole character to reg-a  ri equ┆
0x0db500…0db520             09 30 66 38 30 36 68 09 3b 72 65 61 64 65 72 20 69 6e 20 74 6f 20 72 65 67 2d 61 0d 0a 63 6f 09   ┆ 0f806h ;reader in to reg-a  co ┆
0x0db520…0db540             65 71 75 09 30 66 38 30 39 68 09 3b 63 6f 6e 73 6f 6c 65 20 63 68 61 72 20 66 72 6f 6d 20 63 20   ┆equ 0f809h ;console char from c ┆
0x0db540…0db560             74 6f 20 63 6f 6e 73 6f 6c 65 20 6f 75 74 0d 0a 70 6f 09 65 71 75 09 30 66 38 30 63 68 09 3b 70   ┆to console out  po equ 0f80ch ;p┆
0x0db560…0db580             75 6e 63 68 20 63 68 61 72 20 66 72 6f 6d 20 63 20 74 6f 20 70 75 6e 63 68 20 64 65 76 69 63 65   ┆unch char from c to punch device┆
0x0db580…0db5a0             0d 0a 6c 6f 09 65 71 75 09 30 66 38 30 66 68 09 3b 6c 69 73 74 20 66 72 6f 6d 20 63 20 74 6f 20   ┆  lo equ 0f80fh ;list from c to ┆
0x0db5a0…0db5c0             6c 69 73 74 20 64 65 76 69 63 65 0d 0a 63 73 74 73 09 65 71 75 09 30 66 38 31 32 68 09 3b 63 6f   ┆list device  csts equ 0f812h ;co┆
0x0db5c0…0db5e0             6e 73 6f 6c 65 20 73 74 61 74 75 73 20 30 30 2f 66 66 20 74 6f 20 72 65 67 69 73 74 65 72 20 61   ┆nsole status 00/ff to register a┆
0x0db5e0…0db600             0d 0a 3b 0d 0a 3b 09 64 69 73 6b 20 70 6f 72 74 73 20 61 6e 64 20 63 6f 6d 6d 61 6e 64 73 0d 0a   ┆  ;  ; disk ports and commands  ┆
0x0db600…0db620 (58, 1, 1)  65 63 74 6f 72 20 63 6f 75 6e 74 0d 0a 09 63 61 6c 6c 09 72 65 61 64 0d 0a 09 6a 6e 7a 09 62 6f   ┆ector count   call read   jnz bo┆
0x0db620…0db640             6f 74 65 72 72 09 3b 72 65 74 72 79 20 69 66 20 65 72 72 6f 72 73 20 6f 63 63 75 72 0d 0a 09 6c   ┆oterr ;retry if errors occur   l┆
0x0db640…0db660             68 6c 64 09 69 6f 64 09 3b 69 6e 63 72 65 6d 65 6e 74 20 64 6d 61 20 61 64 64 72 65 73 73 0d 0a   ┆hld iod ;increment dma address  ┆
0x0db660…0db680             09 6c 78 69 09 64 2c 31 32 38 09 3b 73 65 63 74 6f 72 20 73 69 7a 65 0d 0a 09 64 61 64 09 64 09   ┆ lxi d,128 ;sector size   dad d ┆
0x0db680…0db6a0             3b 69 6e 63 72 65 6d 65 6e 74 65 64 20 64 6d 61 20 61 64 64 72 65 73 73 20 69 6e 20 68 6c 0d 0a   ┆;incremented dma address in hl  ┆
0x0db6a0…0db6c0             09 6d 6f 76 09 62 2c 68 0d 0a 09 6d 6f 76 09 63 2c 6c 09 3b 72 65 61 64 79 20 66 6f 72 20 63 61   ┆ mov b,h   mov c,l ;ready for ca┆
0x0db6c0…0db6e0             6c 6c 20 74 6f 20 73 65 74 20 64 6d 61 0d 0a 09 63 61 6c 6c 09 73 65 74 64 6d 61 0d 0a 09 6c 64   ┆ll to set dma   call setdma   ld┆
0x0db6e0…0db700             61 09 69 6f 73 09 3b 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 20 6a 75 73 74 20 72 65 61 64 0d 0a   ┆a ios ;sector number just read  ┆
0x0db700…0db720             09 63 70 69 09 32 36 09 3b 72 65 61 64 20 6c 61 73 74 20 73 65 63 74 6f 72 3f 0d 0a 09 6a 63 09   ┆ cpi 26 ;read last sector?   jc ┆
0x0db720…0db740             72 64 31 0d 0a 3b 09 6d 75 73 74 20 62 65 20 73 65 63 74 6f 72 20 32 36 2c 20 7a 65 72 6f 20 61   ┆rd1  ; must be sector 26, zero a┆
0x0db740…0db760             6e 64 20 67 6f 20 74 6f 20 6e 65 78 74 20 74 72 61 63 6b 0d 0a 09 6c 64 61 09 69 6f 74 09 3b 67   ┆nd go to next track   lda iot ;g┆
0x0db760…0db780             65 74 20 74 72 61 63 6b 20 74 6f 20 72 65 67 69 73 74 65 72 20 61 0d 0a 09 69 6e 72 09 61 0d 0a   ┆et track to register a   inr a  ┆
0x0db780…0db7a0             09 6d 6f 76 09 63 2c 61 09 3b 72 65 61 64 79 20 66 6f 72 20 63 61 6c 6c 0d 0a 09 63 61 6c 6c 09   ┆ mov c,a ;ready for call   call ┆
0x0db7a0…0db7c0             73 65 74 74 72 6b 0d 0a 09 78 72 61 09 61 09 3b 63 6c 65 61 72 20 73 65 63 74 6f 72 20 6e 75 6d   ┆settrk   xra a ;clear sector num┆
0x0db7c0…0db7e0             62 65 72 0d 0a 72 64 31 3a 09 69 6e 72 09 61 09 3b 74 6f 20 6e 65 78 74 20 73 65 63 74 6f 72 0d   ┆ber  rd1: inr a ;to next sector ┆
0x0db7e0…0db800             0a 09 6d 6f 76 09 63 2c 61 09 3b 72 65 61 64 79 20 66 6f 72 20 63 61 6c 6c 0d 0a 09 63 61 6c 6c   ┆  mov c,a ;ready for call   call┆
0x0db800…0db820 (58, 1, 2)  6d 65 20 61 73 20 6d 64 73 20 63 61 6c 6c 29 0d 0a 09 6a 6d 70 09 70 6f 0d 0a 3b 0d 0a 72 65 61   ┆me as mds call)   jmp po  ;  rea┆
0x0db820…0db840             64 65 72 3a 09 3b 72 65 61 64 65 72 20 63 68 61 72 61 63 74 65 72 20 69 6e 20 74 6f 20 72 65 67   ┆der: ;reader character in to reg┆
0x0db840…0db860             2d 61 0d 0a 3b 09 28 65 78 61 63 74 6c 79 20 74 68 65 20 73 61 6d 65 20 61 73 20 6d 64 73 20 63   ┆-a  ; (exactly the same as mds c┆
0x0db860…0db880             61 6c 6c 29 0d 0a 09 6a 6d 70 09 72 69 0d 0a 3b 0d 0a 68 6f 6d 65 3a 09 3b 6d 6f 76 65 20 74 6f   ┆all)   jmp ri  ;  home: ;move to┆
0x0db880…0db8a0             20 68 6f 6d 65 20 70 6f 73 69 74 69 6f 6e 0d 0a 3b 09 74 72 65 61 74 20 61 73 20 74 72 61 63 6b   ┆ home position  ; treat as track┆
0x0db8a0…0db8c0             20 30 30 20 73 65 65 6b 0d 0a 09 6d 76 69 09 63 2c 30 0d 0a 09 6a 6d 70 09 73 65 74 74 72 6b 0d   ┆ 00 seek   mvi c,0   jmp settrk ┆
0x0db8c0…0db8e0             0a 3b 0d 0a 73 65 6c 64 73 6b 3a 09 3b 73 65 6c 65 63 74 20 64 69 73 6b 20 67 69 76 65 6e 20 62   ┆ ;  seldsk: ;select disk given b┆
0x0db8e0…0db900             79 20 72 65 67 69 73 74 65 72 20 63 0d 0a 09 6c 78 69 09 68 2c 30 30 30 30 68 09 3b 72 65 74 75   ┆y register c   lxi h,0000h ;retu┆
0x0db900…0db920             72 6e 20 30 30 30 30 20 69 66 20 65 72 72 6f 72 0d 0a 09 6d 6f 76 09 61 2c 63 0d 0a 09 63 70 69   ┆rn 0000 if error   mov a,c   cpi┆
0x0db920…0db940             09 6e 64 69 73 6b 73 09 3b 74 6f 6f 20 6c 61 72 67 65 3f 0d 0a 09 72 6e 63 09 09 3b 6c 65 61 76   ┆ ndisks ;too large?   rnc  ;leav┆
0x0db940…0db960             65 20 48 4c 20 3d 20 30 30 30 30 0d 0a 3b 0d 0a 09 61 6e 69 09 31 30 62 09 3b 30 30 20 30 30 20   ┆e HL = 0000  ;   ani 10b ;00 00 ┆
0x0db960…0db980             66 6f 72 20 64 72 69 76 65 20 30 2c 31 20 61 6e 64 20 31 30 20 31 30 20 66 6f 72 20 64 72 69 76   ┆for drive 0,1 and 10 10 for driv┆
0x0db980…0db9a0             65 20 32 2c 33 0d 0a 09 73 74 61 09 64 62 61 6e 6b 09 3b 74 6f 20 73 65 6c 65 63 74 20 64 72 69   ┆e 2,3   sta dbank ;to select dri┆
0x0db9a0…0db9c0             76 65 20 62 61 6e 6b 0d 0a 09 6d 6f 76 09 61 2c 63 09 3b 30 30 2c 20 30 31 2c 20 31 30 2c 20 31   ┆ve bank   mov a,c ;00, 01, 10, 1┆
0x0db9c0…0db9e0             31 0d 0a 09 61 6e 69 09 31 62 09 3b 6d 64 73 20 68 61 73 20 30 2c 31 20 61 74 20 37 38 2c 20 32   ┆1   ani 1b ;mds has 0,1 at 78, 2┆
0x0db9e0…0dba00             2c 33 20 61 74 20 38 38 0d 0a 09 6f 72 61 09 61 09 3b 72 65 73 75 6c 74 20 30 30 3f 0d 0a 09 6a   ┆,3 at 88   ora a ;result 00?   j┆
0x0dba00…0dba20 (58, 1, 3)  09 6f 72 61 09 63 09 3b 73 65 74 20 74 6f 20 6e 65 77 20 63 6f 6d 6d 61 6e 64 0d 0a 09 6d 6f 76   ┆ ora c ;set to new command   mov┆
0x0dba20…0dba40             09 6d 2c 61 09 3b 72 65 70 6c 61 63 65 64 20 69 6e 20 69 6f 70 62 0d 0a 3b 09 74 68 65 20 6d 64   ┆ m,a ;replaced in iopb  ; the md┆
0x0dba40…0dba60             73 2d 38 30 30 20 63 6f 6e 74 72 6f 6c 6c 65 72 20 72 65 71 75 69 72 65 73 20 64 69 73 6b 20 62   ┆s-800 controller requires disk b┆
0x0dba60…0dba80             61 6e 6b 20 62 69 74 20 69 6e 20 73 65 63 74 6f 72 20 62 79 74 65 0d 0a 3b 09 6d 61 73 6b 20 74   ┆ank bit in sector byte  ; mask t┆
0x0dba80…0dbaa0             68 65 20 62 69 74 20 66 72 6f 6d 20 74 68 65 20 63 75 72 72 65 6e 74 20 69 2f 6f 20 66 75 6e 63   ┆he bit from the current i/o func┆
0x0dbaa0…0dbac0             74 69 6f 6e 0d 0a 09 61 6e 69 09 30 30 31 30 30 30 30 30 62 09 3b 6d 61 73 6b 20 74 68 65 20 64   ┆tion   ani 00100000b ;mask the d┆
0x0dbac0…0dbae0             69 73 6b 20 73 65 6c 65 63 74 20 62 69 74 0d 0a 09 6c 78 69 09 68 2c 69 6f 73 09 09 3b 61 64 64   ┆isk select bit   lxi h,ios  ;add┆
0x0dbae0…0dbb00             72 65 73 73 20 74 68 65 20 73 65 63 74 6f 72 20 73 65 6c 65 63 74 20 62 79 74 65 0d 0a 09 6f 72   ┆ress the sector select byte   or┆
0x0dbb00…0dbb20             61 09 6d 09 09 3b 73 65 6c 65 63 74 20 70 72 6f 70 65 72 20 64 69 73 6b 20 62 61 6e 6b 0d 0a 09   ┆a m  ;select proper disk bank   ┆
0x0dbb20…0dbb40             6d 6f 76 09 6d 2c 61 09 09 3b 73 65 74 20 64 69 73 6b 20 73 65 6c 65 63 74 20 62 69 74 20 6f 6e   ┆mov m,a  ;set disk select bit on┆
0x0dbb40…0dbb60             2f 6f 66 66 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 77 61 69 74 69 6f 3a 0d 0a 09 6d 76 69 09 63 2c 72   ┆/off   ret  ;  waitio:   mvi c,r┆
0x0dbb60…0dbb80             65 74 72 79 09 3b 6d 61 78 20 72 65 74 72 69 65 73 20 62 65 66 6f 72 65 20 70 65 72 6d 20 65 72   ┆etry ;max retries before perm er┆
0x0dbb80…0dbba0             72 6f 72 0d 0a 72 65 77 61 69 74 3a 0d 0a 3b 09 73 74 61 72 74 20 74 68 65 20 69 2f 6f 20 66 75   ┆ror  rewait:  ; start the i/o fu┆
0x0dbba0…0dbbc0             6e 63 74 69 6f 6e 20 61 6e 64 20 77 61 69 74 20 66 6f 72 20 63 6f 6d 70 6c 65 74 69 6f 6e 0d 0a   ┆nction and wait for completion  ┆
0x0dbbc0…0dbbe0             09 63 61 6c 6c 09 69 6e 74 79 70 65 09 3b 69 6e 20 72 74 79 70 65 0d 0a 09 63 61 6c 6c 09 69 6e   ┆ call intype ;in rtype   call in┆
0x0dbbe0…0dbc00             62 79 74 65 09 3b 63 6c 65 61 72 73 20 74 68 65 20 63 6f 6e 74 72 6f 6c 6c 65 72 0d 0a 3b 0d 0a   ┆byte ;clears the controller  ;  ┆
0x0dbc00…0dbc20 (58, 1, 4)  65 61 64 79 0d 0a 3b 09 28 61 63 63 75 6d 75 6c 61 74 6f 72 20 62 69 74 73 20 61 72 65 20 6e 75   ┆eady  ; (accumulator bits are nu┆
0x0dbc20…0dbc40             6d 62 65 72 65 64 20 37 20 36 20 35 20 34 20 33 20 32 20 31 20 30 29 0d 0a 3b 0d 0a 3b 09 69 74   ┆mbered 7 6 5 4 3 2 1 0)  ;  ; it┆
0x0dbc40…0dbc60             20 6d 61 79 20 62 65 20 75 73 65 66 75 6c 20 74 6f 20 66 69 6c 74 65 72 20 6f 75 74 20 74 68 65   ┆ may be useful to filter out the┆
0x0dbc60…0dbc80             20 76 61 72 69 6f 75 73 20 63 6f 6e 64 69 74 69 6f 6e 73 2c 0d 0a 3b 09 62 75 74 20 77 65 20 77   ┆ various conditions,  ; but we w┆
0x0dbc80…0dbca0             69 6c 6c 20 67 65 74 20 61 20 70 65 72 6d 61 6e 65 6e 74 20 65 72 72 6f 72 20 6d 65 73 73 61 67   ┆ill get a permanent error messag┆
0x0dbca0…0dbcc0             65 20 69 66 20 69 74 20 69 73 20 6e 6f 74 0d 0a 3b 09 72 65 63 6f 76 65 72 61 62 6c 65 2e 20 20   ┆e if it is not  ; recoverable.  ┆
0x0dbcc0…0dbce0             69 6e 20 61 6e 79 20 63 61 73 65 2c 20 74 68 65 20 6e 6f 74 20 72 65 61 64 79 20 63 6f 6e 64 69   ┆in any case, the not ready condi┆
0x0dbce0…0dbd00             74 69 6f 6e 20 69 73 0d 0a 3b 09 74 72 65 61 74 65 64 20 61 73 20 61 20 73 65 70 61 72 61 74 65   ┆tion is  ; treated as a separate┆
0x0dbd00…0dbd20             20 63 6f 6e 64 69 74 69 6f 6e 20 66 6f 72 20 6c 61 74 65 72 20 69 6d 70 72 6f 76 65 6d 65 6e 74   ┆ condition for later improvement┆
0x0dbd20…0dbd40             0d 0a 74 72 79 63 6f 75 6e 74 3a 0d 0a 3b 09 72 65 67 69 73 74 65 72 20 63 20 63 6f 6e 74 61 69   ┆  trycount:  ; register c contai┆
0x0dbd40…0dbd60             6e 73 20 72 65 74 72 79 20 63 6f 75 6e 74 2c 20 64 65 63 72 65 6d 65 6e 74 20 27 74 69 6c 20 7a   ┆ns retry count, decrement 'til z┆
0x0dbd60…0dbd80             65 72 6f 0d 0a 09 64 63 72 09 63 0d 0a 09 6a 6e 7a 09 72 65 77 61 69 74 09 3b 66 6f 72 20 61 6e   ┆ero   dcr c   jnz rewait ;for an┆
0x0dbd80…0dbda0             6f 74 68 65 72 20 74 72 79 0d 0a 3b 0d 0a 3b 09 63 61 6e 6e 6f 74 20 72 65 63 6f 76 65 72 20 66   ┆other try  ;  ; cannot recover f┆
0x0dbda0…0dbdc0             72 6f 6d 20 65 72 72 6f 72 0d 0a 09 6d 76 69 09 61 2c 31 09 3b 65 72 72 6f 72 20 63 6f 64 65 0d   ┆rom error   mvi a,1 ;error code ┆
0x0dbdc0…0dbde0             0a 09 72 65 74 0d 0a 3b 0d 0a 3b 09 69 6e 74 79 70 65 2c 20 69 6e 62 79 74 65 2c 20 69 6e 73 74   ┆  ret  ;  ; intype, inbyte, inst┆
0x0dbde0…0dbe00             61 74 20 72 65 61 64 20 64 72 69 76 65 20 62 61 6e 6b 20 30 30 20 6f 72 20 31 30 0d 0a 69 6e 74   ┆at read drive bank 00 or 10  int┆
0x0dbe00…0dbe20 (58, 1, 5)  09 73 65 74 73 65 63 0d 0a 09 70 6f 70 09 62 09 3b 72 65 63 61 6c 6c 20 73 65 63 74 6f 72 20 63   ┆ setsec   pop b ;recall sector c┆
0x0dbe20…0dbe40             6f 75 6e 74 0d 0a 09 64 63 72 09 62 09 3b 64 6f 6e 65 3f 0d 0a 09 6a 6e 7a 09 72 64 73 65 63 0d   ┆ount   dcr b ;done?   jnz rdsec ┆
0x0dbe40…0dbe60             0a 3b 0d 0a 3b 09 64 6f 6e 65 20 77 69 74 68 20 74 68 65 20 6c 6f 61 64 2c 20 72 65 73 65 74 20   ┆ ;  ; done with the load, reset ┆
0x0dbe60…0dbe80             64 65 66 61 75 6c 74 20 62 75 66 66 65 72 20 61 64 64 72 65 73 73 0d 0a 67 6f 63 70 6d 3a 09 3b   ┆default buffer address  gocpm: ;┆
0x0dbe80…0dbea0             28 65 6e 74 65 72 20 68 65 72 65 20 66 72 6f 6d 20 63 6f 6c 64 20 73 74 61 72 74 20 62 6f 6f 74   ┆(enter here from cold start boot┆
0x0dbea0…0dbec0             29 0d 0a 3b 09 65 6e 61 62 6c 65 20 72 73 74 30 20 61 6e 64 20 72 73 74 37 0d 0a 09 64 69 0d 0a   ┆)  ; enable rst0 and rst7   di  ┆
0x0dbec0…0dbee0             09 6d 76 69 09 61 2c 31 32 68 09 3b 69 6e 69 74 69 61 6c 69 7a 65 20 63 6f 6d 6d 61 6e 64 0d 0a   ┆ mvi a,12h ;initialize command  ┆
0x0dbee0…0dbf00             09 6f 75 74 09 72 65 76 72 74 0d 0a 09 78 72 61 09 61 0d 0a 09 6f 75 74 09 69 6e 74 63 09 3b 63   ┆ out revrt   xra a   out intc ;c┆
0x0dbf00…0dbf20             6c 65 61 72 65 64 0d 0a 09 6d 76 69 09 61 2c 69 6e 74 65 09 3b 72 73 74 30 20 61 6e 64 20 72 73   ┆leared   mvi a,inte ;rst0 and rs┆
0x0dbf20…0dbf40             74 37 20 62 69 74 73 20 6f 6e 0d 0a 09 6f 75 74 09 69 6e 74 63 0d 0a 09 78 72 61 09 61 0d 0a 09   ┆t7 bits on   out intc   xra a   ┆
0x0dbf40…0dbf60             6f 75 74 09 69 63 6f 6e 09 3b 69 6e 74 65 72 72 75 70 74 20 63 6f 6e 74 72 6f 6c 0d 0a 3b 0d 0a   ┆out icon ;interrupt control  ;  ┆
0x0dbf60…0dbf80             3b 09 73 65 74 20 64 65 66 61 75 6c 74 20 62 75 66 66 65 72 20 61 64 64 72 65 73 73 20 74 6f 20   ┆; set default buffer address to ┆
0x0dbf80…0dbfa0             38 30 68 0d 0a 09 6c 78 69 09 62 2c 62 75 66 66 0d 0a 09 63 61 6c 6c 09 73 65 74 64 6d 61 0d 0a   ┆80h   lxi b,buff   call setdma  ┆
0x0dbfa0…0dbfc0             3b 0d 0a 3b 09 72 65 73 65 74 20 6d 6f 6e 69 74 6f 72 20 65 6e 74 72 79 20 70 6f 69 6e 74 73 0d   ┆;  ; reset monitor entry points ┆
0x0dbfc0…0dbfe0             0a 09 6d 76 69 09 61 2c 6a 6d 70 0d 0a 09 73 74 61 09 30 0d 0a 09 6c 78 69 09 68 2c 77 62 6f 6f   ┆  mvi a,jmp   sta 0   lxi h,wboo┆
0x0dbfe0…0dc000             74 65 0d 0a 09 73 68 6c 64 09 31 09 3b 6a 6d 70 20 77 62 6f 6f 74 20 61 74 20 6c 6f 63 61 74 69   ┆te   shld 1 ;jmp wboot at locati┆
0x0dc000…0dc020 (58, 1, 6)  7a 09 73 65 74 64 72 69 76 65 0d 0a 09 6d 76 69 09 61 2c 30 30 31 31 30 30 30 30 62 09 3b 73 65   ┆z setdrive   mvi a,00110000b ;se┆
0x0dc020…0dc040             6c 65 63 74 73 20 64 72 69 76 65 20 31 20 69 6e 20 62 61 6e 6b 0d 0a 73 65 74 64 72 69 76 65 3a   ┆lects drive 1 in bank  setdrive:┆
0x0dc040…0dc060             0d 0a 09 6d 6f 76 09 62 2c 61 09 3b 73 61 76 65 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 0d 0a 09   ┆   mov b,a ;save the function   ┆
0x0dc060…0dc080             6c 78 69 09 68 2c 69 6f 66 09 3b 69 6f 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 6d 6f 76 09 61 2c 6d   ┆lxi h,iof ;io function   mov a,m┆
0x0dc080…0dc0a0             0d 0a 09 61 6e 69 09 31 31 30 30 31 31 31 31 62 09 3b 6d 61 73 6b 20 6f 75 74 20 64 69 73 6b 20   ┆   ani 11001111b ;mask out disk ┆
0x0dc0a0…0dc0c0             6e 75 6d 62 65 72 0d 0a 09 6f 72 61 09 62 09 3b 6d 61 73 6b 20 69 6e 20 6e 65 77 20 64 69 73 6b   ┆number   ora b ;mask in new disk┆
0x0dc0c0…0dc0e0             20 6e 75 6d 62 65 72 0d 0a 09 6d 6f 76 09 6d 2c 61 09 3b 73 61 76 65 20 69 74 20 69 6e 20 69 6f   ┆ number   mov m,a ;save it in io┆
0x0dc0e0…0dc100             70 62 0d 0a 09 6d 6f 76 09 6c 2c 63 0d 0a 09 6d 76 69 09 68 2c 30 09 3b 48 4c 3d 64 69 73 6b 20   ┆pb   mov l,c   mvi h,0 ;HL=disk ┆
0x0dc100…0dc120             6e 75 6d 62 65 72 0d 0a 09 64 61 64 09 68 09 3b 2a 32 0d 0a 09 64 61 64 09 68 09 3b 2a 34 0d 0a   ┆number   dad h ;*2   dad h ;*4  ┆
0x0dc120…0dc140             09 64 61 64 09 68 09 3b 2a 38 0d 0a 09 64 61 64 09 68 09 3b 2a 31 36 0d 0a 09 6c 78 69 09 64 2c   ┆ dad h ;*8   dad h ;*16   lxi d,┆
0x0dc140…0dc160             64 70 62 61 73 65 0d 0a 09 64 61 64 09 64 09 3b 48 4c 3d 64 69 73 6b 20 68 65 61 64 65 72 20 74   ┆dpbase   dad d ;HL=disk header t┆
0x0dc160…0dc180             61 62 6c 65 20 61 64 64 72 65 73 73 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 3b 0d 0a 73 65 74 74 72 6b   ┆able address   ret  ;  ;  settrk┆
0x0dc180…0dc1a0             3a 09 3b 73 65 74 20 74 72 61 63 6b 20 61 64 64 72 65 73 73 20 67 69 76 65 6e 20 62 79 20 63 0d   ┆: ;set track address given by c ┆
0x0dc1a0…0dc1c0             0a 09 6c 78 69 09 68 2c 69 6f 74 0d 0a 09 6d 6f 76 09 6d 2c 63 0d 0a 09 72 65 74 0d 0a 3b 0d 0a   ┆  lxi h,iot   mov m,c   ret  ;  ┆
0x0dc1c0…0dc1e0             73 65 74 73 65 63 3a 09 3b 73 65 74 20 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 20 67 69 76 65 6e   ┆setsec: ;set sector number given┆
0x0dc1e0…0dc200             20 62 79 20 63 0d 0a 09 6c 78 69 09 68 2c 69 6f 73 0d 0a 09 6d 6f 76 09 6d 2c 63 0d 0a 09 72 65   ┆ by c   lxi h,ios   mov m,c   re┆
0x0dc200…0dc220 (58, 1, 7)  09 6c 64 61 09 64 62 61 6e 6b 09 09 3b 73 65 74 20 62 61 6e 6b 20 66 6c 61 67 73 0d 0a 09 6f 72   ┆ lda dbank  ;set bank flags   or┆
0x0dc220…0dc240             61 09 61 09 09 3b 7a 65 72 6f 20 69 66 20 64 72 69 76 65 20 30 2c 31 20 61 6e 64 20 6e 7a 20 69   ┆a a  ;zero if drive 0,1 and nz i┆
0x0dc240…0dc260             66 20 32 2c 33 0d 0a 09 6d 76 69 09 61 2c 69 6f 70 62 20 61 6e 64 20 30 66 66 68 09 3b 6c 6f 77   ┆f 2,3   mvi a,iopb and 0ffh ;low┆
0x0dc260…0dc280             20 61 64 64 72 65 73 73 20 66 6f 72 20 69 6f 70 62 0d 0a 09 6d 76 69 09 62 2c 69 6f 70 62 20 73   ┆ address for iopb   mvi b,iopb s┆
0x0dc280…0dc2a0             68 72 20 38 09 3b 68 69 67 68 20 61 64 64 72 65 73 73 20 66 6f 72 20 69 6f 70 62 0d 0a 09 6a 6e   ┆hr 8 ;high address for iopb   jn┆
0x0dc2a0…0dc2c0             7a 09 69 6f 64 72 31 09 3b 64 72 69 76 65 20 62 61 6e 6b 20 31 3f 0d 0a 09 6f 75 74 09 69 6c 6f   ┆z iodr1 ;drive bank 1?   out ilo┆
0x0dc2c0…0dc2e0             77 09 09 3b 6c 6f 77 20 61 64 64 72 65 73 73 20 74 6f 20 63 6f 6e 74 72 6f 6c 6c 65 72 0d 0a 09   ┆w  ;low address to controller   ┆
0x0dc2e0…0dc300             6d 6f 76 09 61 2c 62 0d 0a 09 6f 75 74 09 69 68 69 67 68 09 3b 68 69 67 68 20 61 64 64 72 65 73   ┆mov a,b   out ihigh ;high addres┆
0x0dc300…0dc320             73 0d 0a 09 6a 6d 70 09 77 61 69 74 30 09 09 3b 74 6f 20 77 61 69 74 20 66 6f 72 20 63 6f 6d 70   ┆s   jmp wait0  ;to wait for comp┆
0x0dc320…0dc340             6c 65 74 65 0d 0a 3b 0d 0a 69 6f 64 72 31 3a 09 3b 64 72 69 76 65 20 62 61 6e 6b 20 31 0d 0a 09   ┆lete  ;  iodr1: ;drive bank 1   ┆
0x0dc340…0dc360             6f 75 74 09 69 6c 6f 77 2b 31 30 68 09 3b 38 38 20 66 6f 72 20 64 72 69 76 65 20 62 61 6e 6b 20   ┆out ilow+10h ;88 for drive bank ┆
0x0dc360…0dc380             31 30 0d 0a 09 6d 6f 76 09 61 2c 62 0d 0a 09 6f 75 74 09 69 68 69 67 68 2b 31 30 68 0d 0a 3b 0d   ┆10   mov a,b   out ihigh+10h  ; ┆
0x0dc380…0dc3a0             0a 77 61 69 74 30 3a 09 63 61 6c 6c 09 69 6e 73 74 61 74 09 09 3b 77 61 69 74 20 66 6f 72 20 63   ┆ wait0: call instat  ;wait for c┆
0x0dc3a0…0dc3c0             6f 6d 70 6c 65 74 69 6f 6e 0d 0a 09 61 6e 69 09 69 6f 72 64 79 09 09 3b 72 65 61 64 79 3f 0d 0a   ┆ompletion   ani iordy  ;ready?  ┆
0x0dc3c0…0dc3e0             09 6a 7a 09 77 61 69 74 30 0d 0a 3b 0d 0a 3b 09 63 68 65 63 6b 20 69 6f 20 63 6f 6d 70 6c 65 74   ┆ jz wait0  ;  ; check io complet┆
0x0dc3e0…0dc400             69 6f 6e 20 6f 6b 0d 0a 09 63 61 6c 6c 09 69 6e 74 79 70 65 09 09 3b 6d 75 73 74 20 62 65 20 69   ┆ion ok   call intype  ;must be i┆
0x0dc400…0dc420 (58, 1, 8)  79 70 65 3a 09 6c 64 61 09 64 62 61 6e 6b 0d 0a 09 6f 72 61 09 61 0d 0a 09 6a 6e 7a 09 69 6e 74   ┆ype: lda dbank   ora a   jnz int┆
0x0dc420…0dc440             79 70 31 09 3b 73 6b 69 70 20 74 6f 20 62 61 6e 6b 20 31 30 0d 0a 09 69 6e 09 72 74 79 70 65 0d   ┆yp1 ;skip to bank 10   in rtype ┆
0x0dc440…0dc460             0a 09 72 65 74 0d 0a 69 6e 74 79 70 31 3a 09 69 6e 09 72 74 79 70 65 2b 31 30 68 09 3b 37 38 20   ┆  ret  intyp1: in rtype+10h ;78 ┆
0x0dc460…0dc480             66 6f 72 20 30 2c 31 20 20 38 38 20 66 6f 72 20 32 2c 33 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 69 6e   ┆for 0,1  88 for 2,3   ret  ;  in┆
0x0dc480…0dc4a0             62 79 74 65 3a 09 6c 64 61 09 64 62 61 6e 6b 0d 0a 09 6f 72 61 09 61 0d 0a 09 6a 6e 7a 09 69 6e   ┆byte: lda dbank   ora a   jnz in┆
0x0dc4a0…0dc4c0             62 79 74 31 0d 0a 09 69 6e 09 72 62 79 74 65 0d 0a 09 72 65 74 0d 0a 69 6e 62 79 74 31 3a 09 69   ┆byt1   in rbyte   ret  inbyt1: i┆
0x0dc4c0…0dc4e0             6e 09 72 62 79 74 65 2b 31 30 68 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 69 6e 73 74 61 74 3a 09 6c 64   ┆n rbyte+10h   ret  ;  instat: ld┆
0x0dc4e0…0dc500             61 09 64 62 61 6e 6b 0d 0a 09 6f 72 61 09 61 0d 0a 09 6a 6e 7a 09 69 6e 73 74 61 31 0d 0a 09 69   ┆a dbank   ora a   jnz insta1   i┆
0x0dc500…0dc520             6e 09 64 73 74 61 74 0d 0a 09 72 65 74 0d 0a 69 6e 73 74 61 31 3a 09 69 6e 09 64 73 74 61 74 2b   ┆n dstat   ret  insta1: in dstat+┆
0x0dc520…0dc540             31 30 68 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 3b 0d 0a 3b 0d 0a 3b 09 64 61 74 61 20 61 72 65 61 73   ┆10h   ret  ;  ;  ;  ; data areas┆
0x0dc540…0dc560             20 28 6d 75 73 74 20 62 65 20 69 6e 20 72 61 6d 29 0d 0a 64 62 61 6e 6b 3a 09 64 62 09 30 09 3b   ┆ (must be in ram)  dbank: db 0 ;┆
0x0dc560…0dc580             64 69 73 6b 20 62 61 6e 6b 20 30 30 20 69 66 20 64 72 69 76 65 20 30 2c 31 0d 0a 09 09 09 3b 09   ┆disk bank 00 if drive 0,1     ; ┆
0x0dc580…0dc5a0             20 20 20 31 30 20 69 66 20 64 72 69 76 65 20 32 2c 33 0d 0a 69 6f 70 62 3a 09 3b 69 6f 20 70 61   ┆   10 if drive 2,3  iopb: ;io pa┆
0x0dc5a0…0dc5c0             72 61 6d 65 74 65 72 20 62 6c 6f 63 6b 0d 0a 09 64 62 09 38 30 68 09 3b 6e 6f 72 6d 61 6c 20 69   ┆rameter block   db 80h ;normal i┆
0x0dc5c0…0dc5e0             2f 6f 20 6f 70 65 72 61 74 69 6f 6e 0d 0a 69 6f 66 3a 09 64 62 09 72 65 61 64 66 09 3b 69 6f 20   ┆/o operation  iof: db readf ;io ┆
0x0dc5e0…0dc600             66 75 6e 63 74 69 6f 6e 2c 20 69 6e 69 74 69 61 6c 20 72 65 61 64 0d 0a 69 6f 6e 3a 09 64 62 09   ┆function, initial read  ion: db ┆
0x0dc600…0dc620 (58, 1, 9)  6f 6e 20 30 30 0d 0a 09 73 74 61 09 35 0d 0a 09 6c 78 69 09 68 2c 62 64 6f 73 0d 0a 09 73 68 6c   ┆on 00   sta 5   lxi h,bdos   shl┆
0x0dc620…0dc640             64 09 36 09 3b 6a 6d 70 20 62 64 6f 73 20 61 74 20 6c 6f 63 61 74 69 6f 6e 20 35 0d 0a 09 69 66   ┆d 6 ;jmp bdos at location 5   if┆
0x0dc640…0dc660             09 6e 6f 74 20 74 65 73 74 0d 0a 09 73 74 61 09 37 2a 38 09 3b 6a 6d 70 20 74 6f 20 6d 6f 6e 38   ┆ not test   sta 7*8 ;jmp to mon8┆
0x0dc660…0dc680             30 20 28 6d 61 79 20 68 61 76 65 20 62 65 65 6e 20 63 68 61 6e 67 65 64 20 62 79 20 64 64 74 29   ┆0 (may have been changed by ddt)┆
0x0dc680…0dc6a0             0d 0a 09 6c 78 69 09 68 2c 6d 6f 6e 38 30 0d 0a 09 73 68 6c 64 09 37 2a 38 2b 31 0d 0a 09 65 6e   ┆   lxi h,mon80   shld 7*8+1   en┆
0x0dc6a0…0dc6c0             64 69 66 0d 0a 3b 09 6c 65 61 76 65 20 69 6f 62 79 74 65 20 73 65 74 0d 0a 3b 09 70 72 65 76 69   ┆dif  ; leave iobyte set  ; previ┆
0x0dc6c0…0dc6e0             6f 75 73 6c 79 20 73 65 6c 65 63 74 65 64 20 64 69 73 6b 20 77 61 73 20 62 2c 20 73 65 6e 64 20   ┆ously selected disk was b, send ┆
0x0dc6e0…0dc700             70 61 72 61 6d 65 74 65 72 20 74 6f 20 63 70 6d 0d 0a 09 6c 64 61 09 63 64 69 73 6b 09 3b 6c 61   ┆parameter to cpm   lda cdisk ;la┆
0x0dc700…0dc720             73 74 20 6c 6f 67 67 65 64 20 64 69 73 6b 20 6e 75 6d 62 65 72 0d 0a 09 6d 6f 76 09 63 2c 61 09   ┆st logged disk number   mov c,a ┆
0x0dc720…0dc740             3b 73 65 6e 64 20 74 6f 20 63 63 70 20 74 6f 20 6c 6f 67 20 69 74 20 69 6e 0d 0a 09 65 69 0d 0a   ┆;send to ccp to log it in   ei  ┆
0x0dc740…0dc760             09 6a 6d 70 09 63 70 6d 62 0d 0a 3b 0d 0a 3b 09 65 72 72 6f 72 20 63 6f 6e 64 69 74 69 6f 6e 20   ┆ jmp cpmb  ;  ; error condition ┆
0x0dc760…0dc780             6f 63 63 75 72 72 65 64 2c 20 70 72 69 6e 74 20 6d 65 73 73 61 67 65 20 61 6e 64 20 72 65 74 72   ┆occurred, print message and retr┆
0x0dc780…0dc7a0             79 0d 0a 62 6f 6f 74 65 72 72 3a 0d 0a 09 70 6f 70 09 62 09 3b 72 65 63 61 6c 6c 20 63 6f 75 6e   ┆y  booterr:   pop b ;recall coun┆
0x0dc7a0…0dc7c0             74 73 0d 0a 09 64 63 72 09 63 0d 0a 09 6a 7a 09 62 6f 6f 74 65 72 30 0d 0a 3b 09 74 72 79 20 61   ┆ts   dcr c   jz booter0  ; try a┆
0x0dc7c0…0dc7e0             67 61 69 6e 0d 0a 09 70 75 73 68 09 62 0d 0a 09 6a 6d 70 09 77 62 6f 6f 74 30 0d 0a 3b 0d 0a 62   ┆gain   push b   jmp wboot0  ;  b┆
0x0dc7e0…0dc800             6f 6f 74 65 72 30 3a 0d 0a 3b 09 6f 74 68 65 72 77 69 73 65 20 74 6f 6f 20 6d 61 6e 79 20 72 65   ┆ooter0:  ; otherwise too many re┆
0x0dc800…0dc820 (58, 1, 10) 74 0d 0a 73 65 63 74 72 61 6e 3a 0d 0a 09 09 3b 74 72 61 6e 73 6c 61 74 65 20 73 65 63 74 6f 72   ┆t  sectran:    ;translate sector┆
0x0dc820…0dc840             20 62 63 20 75 73 69 6e 67 20 74 61 62 6c 65 20 61 74 20 64 65 0d 0a 09 6d 76 69 09 62 2c 30 09   ┆ bc using table at de   mvi b,0 ┆
0x0dc840…0dc860             3b 64 6f 75 62 6c 65 20 70 72 65 63 69 73 69 6f 6e 20 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 20   ┆;double precision sector number ┆
0x0dc860…0dc880             69 6e 20 42 43 0d 0a 09 78 63 68 67 09 09 3b 74 72 61 6e 73 6c 61 74 65 20 74 61 62 6c 65 20 61   ┆in BC   xchg  ;translate table a┆
0x0dc880…0dc8a0             64 64 72 65 73 73 20 74 6f 20 48 4c 0d 0a 09 64 61 64 09 62 09 3b 74 72 61 6e 73 6c 61 74 65 28   ┆ddress to HL   dad b ;translate(┆
0x0dc8a0…0dc8c0             73 65 63 74 6f 72 29 20 61 64 64 72 65 73 73 0d 0a 09 6d 6f 76 09 61 2c 6d 09 3b 74 72 61 6e 73   ┆sector) address   mov a,m ;trans┆
0x0dc8c0…0dc8e0             6c 61 74 65 64 20 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 20 74 6f 20 41 0d 0a 09 73 74 61 09 69   ┆lated sector number to A   sta i┆
0x0dc8e0…0dc900             6f 73 0d 0a 09 6d 6f 76 09 6c 2c 61 09 3b 72 65 74 75 72 6e 20 73 65 63 74 6f 72 20 6e 75 6d 62   ┆os   mov l,a ;return sector numb┆
0x0dc900…0dc920             65 72 20 69 6e 20 4c 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 73 65 74 64 6d 61 3a 09 3b 73 65 74 20 64   ┆er in L   ret  ;  setdma: ;set d┆
0x0dc920…0dc940             6d 61 20 61 64 64 72 65 73 73 20 67 69 76 65 6e 20 62 79 20 72 65 67 73 20 62 2c 63 0d 0a 09 6d   ┆ma address given by regs b,c   m┆
0x0dc940…0dc960             6f 76 09 6c 2c 63 0d 0a 09 6d 6f 76 09 68 2c 62 0d 0a 09 73 68 6c 64 09 69 6f 64 0d 0a 09 72 65   ┆ov l,c   mov h,b   shld iod   re┆
0x0dc960…0dc980             74 0d 0a 3b 0d 0a 72 65 61 64 3a 09 3b 72 65 61 64 20 6e 65 78 74 20 64 69 73 6b 20 72 65 63 6f   ┆t  ;  read: ;read next disk reco┆
0x0dc980…0dc9a0             72 64 20 28 61 73 73 75 6d 69 6e 67 20 64 69 73 6b 2f 74 72 6b 2f 73 65 63 2f 64 6d 61 20 73 65   ┆rd (assuming disk/trk/sec/dma se┆
0x0dc9a0…0dc9c0             74 29 0d 0a 09 6d 76 69 09 63 2c 72 65 61 64 66 09 3b 73 65 74 20 74 6f 20 72 65 61 64 20 66 75   ┆t)   mvi c,readf ;set to read fu┆
0x0dc9c0…0dc9e0             6e 63 74 69 6f 6e 0d 0a 09 63 61 6c 6c 09 73 65 74 66 75 6e 63 0d 0a 09 63 61 6c 6c 09 77 61 69   ┆nction   call setfunc   call wai┆
0x0dc9e0…0dca00             74 69 6f 09 3b 70 65 72 66 6f 72 6d 20 72 65 61 64 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 72 65 74   ┆tio ;perform read function   ret┆
0x0dca00…0dca20 (58, 1, 11) 6f 20 63 6f 6d 70 6c 65 74 65 20 28 30 30 29 20 75 6e 6c 69 6e 6b 65 64 0d 0a 3b 09 30 30 20 75   ┆o complete (00) unlinked  ; 00 u┆
0x0dca20…0dca40             6e 6c 69 6e 6b 65 64 20 69 2f 6f 20 63 6f 6d 70 6c 65 74 65 2c 20 20 20 20 30 31 20 6c 69 6e 6b   ┆nlinked i/o complete,    01 link┆
0x0dca40…0dca60             65 64 20 69 2f 6f 20 63 6f 6d 70 6c 65 74 65 20 28 6e 6f 74 20 75 73 65 64 29 0d 0a 3b 09 31 30   ┆ed i/o complete (not used)  ; 10┆
0x0dca60…0dca80             20 64 69 73 6b 20 73 74 61 74 75 73 20 63 68 61 6e 67 65 64 20 20 20 20 20 20 20 31 31 20 28 6e   ┆ disk status changed       11 (n┆
0x0dca80…0dcaa0             6f 74 20 75 73 65 64 29 0d 0a 09 63 70 69 09 31 30 62 09 09 3b 72 65 61 64 79 20 73 74 61 74 75   ┆ot used)   cpi 10b  ;ready statu┆
0x0dcaa0…0dcac0             73 20 63 68 61 6e 67 65 3f 0d 0a 09 6a 7a 09 77 72 65 61 64 79 0d 0a 3b 0d 0a 3b 09 6d 75 73 74   ┆s change?   jz wready  ;  ; must┆
0x0dcac0…0dcae0             20 62 65 20 30 30 20 69 6e 20 74 68 65 20 61 63 63 75 6d 75 6c 61 74 6f 72 0d 0a 09 6f 72 61 09   ┆ be 00 in the accumulator   ora ┆
0x0dcae0…0dcb00             61 0d 0a 09 6a 6e 7a 09 77 65 72 72 6f 72 09 09 3b 73 6f 6d 65 20 6f 74 68 65 72 20 63 6f 6e 64   ┆a   jnz werror  ;some other cond┆
0x0dcb00…0dcb20             69 74 69 6f 6e 2c 20 72 65 74 72 79 0d 0a 3b 0d 0a 3b 09 63 68 65 63 6b 20 69 2f 6f 20 65 72 72   ┆ition, retry  ;  ; check i/o err┆
0x0dcb20…0dcb40             6f 72 20 62 69 74 73 0d 0a 09 63 61 6c 6c 09 69 6e 62 79 74 65 0d 0a 09 72 61 6c 0d 0a 09 6a 63   ┆or bits   call inbyte   ral   jc┆
0x0dcb40…0dcb60             09 77 72 65 61 64 79 09 09 3b 75 6e 69 74 20 6e 6f 74 20 72 65 61 64 79 0d 0a 09 72 61 72 0d 0a   ┆ wready  ;unit not ready   rar  ┆
0x0dcb60…0dcb80             09 61 6e 69 09 31 31 31 31 31 31 31 30 62 09 3b 61 6e 79 20 6f 74 68 65 72 20 65 72 72 6f 72 73   ┆ ani 11111110b ;any other errors┆
0x0dcb80…0dcba0             3f 20 20 28 64 65 6c 65 74 65 64 20 64 61 74 61 20 6f 6b 29 0d 0a 09 6a 6e 7a 09 77 65 72 72 6f   ┆?  (deleted data ok)   jnz werro┆
0x0dcba0…0dcbc0             72 0d 0a 3b 0d 0a 3b 09 72 65 61 64 20 6f 72 20 77 72 69 74 65 20 69 73 20 6f 6b 2c 20 61 63 63   ┆r  ;  ; read or write is ok, acc┆
0x0dcbc0…0dcbe0             75 6d 75 6c 61 74 6f 72 20 63 6f 6e 74 61 69 6e 73 20 7a 65 72 6f 0d 0a 09 72 65 74 0d 0a 3b 0d   ┆umulator contains zero   ret  ; ┆
0x0dcbe0…0dcc00             0a 77 72 65 61 64 79 3a 09 3b 6e 6f 74 20 72 65 61 64 79 2c 20 74 72 65 61 74 20 61 73 20 65 72   ┆ wready: ;not ready, treat as er┆
0x0dcc00…0dcc20 (58, 1, 12) 31 09 3b 6e 75 6d 62 65 72 20 6f 66 20 73 65 63 74 6f 72 73 20 74 6f 20 72 65 61 64 0d 0a 69 6f   ┆1 ;number of sectors to read  io┆
0x0dcc20…0dcc40             74 3a 09 64 62 09 6f 66 66 73 65 74 09 3b 74 72 61 63 6b 20 6e 75 6d 62 65 72 0d 0a 69 6f 73 3a   ┆t: db offset ;track number  ios:┆
0x0dcc40…0dcc60             09 64 62 09 31 09 3b 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 0d 0a 69 6f 64 3a 09 64 77 09 62 75   ┆ db 1 ;sector number  iod: dw bu┆
0x0dcc60…0dcc80             66 66 09 3b 69 6f 20 61 64 64 72 65 73 73 0d 0a 3b 0d 0a 3b 0d 0a 3b 09 64 65 66 69 6e 65 20 72   ┆ff ;io address  ;  ;  ; define r┆
0x0dcc80…0dcca0             61 6d 20 61 72 65 61 73 20 66 6f 72 20 62 64 6f 73 20 6f 70 65 72 61 74 69 6f 6e 0d 0a 09 65 6e   ┆am areas for bdos operation   en┆
0x0dcca0…0dccc0             64 65 66 0d 0a 09 65 6e 64 0d 0a 3b 09 4d 44 53 2d 38 30 30 20 49 2f 4f 20 44 72 69 76 65 72 73   ┆def   end  ; MDS-800 I/O Drivers┆
0x0dccc0…0dcce0             20 66 6f 72 20 43 50 2f 4d 20 32 2e 32 0d 0a 3b 09 28 66 6f 75 72 20 64 72 69 76 65 20 73 69 6e   ┆ for CP/M 2.2  ; (four drive sin┆
0x0dcce0…0dcd00             67 6c 65 20 64 65 6e 73 69 74 79 20 76 65 72 73 69 6f 6e 29 0d 0a 3b 0d 0a 3b 09 56 65 72 73 69   ┆gle density version)  ;  ; Versi┆
0x0dcd00…0dcd20             6f 6e 20 32 2e 32 20 46 65 62 72 75 61 72 79 2c 20 31 39 38 30 0d 0a 3b 0d 0a 76 65 72 73 09 65   ┆on 2.2 February, 1980  ;  vers e┆
0x0dcd20…0dcd40             71 75 09 32 32 09 3b 76 65 72 73 69 6f 6e 20 32 2e 32 0d 0a 3b 0d 0a 3b 09 43 6f 70 79 72 69 67   ┆qu 22 ;version 2.2  ;  ; Copyrig┆
0x0dcd40…0dcd60             68 74 20 28 63 29 20 31 39 38 30 0d 0a 3b 09 44 69 67 69 74 61 6c 20 52 65 73 65 61 72 63 68 0d   ┆ht (c) 1980  ; Digital Research ┆
0x0dcd60…0dcd80             0a 3b 09 42 6f 78 20 35 37 39 2c 20 50 61 63 69 66 69 63 20 47 72 6f 76 65 0d 0a 3b 09 43 61 6c   ┆ ; Box 579, Pacific Grove  ; Cal┆
0x0dcd80…0dcda0             69 66 6f 72 6e 69 61 2c 20 39 33 39 35 30 0d 0a 3b 0d 0a 3b 0d 0a 74 72 75 65 09 65 71 75 09 30   ┆ifornia, 93950  ;  ;  true equ 0┆
0x0dcda0…0dcdc0             66 66 66 66 68 09 3b 76 61 6c 75 65 20 6f 66 20 22 74 72 75 65 22 0d 0a 66 61 6c 73 65 09 65 71   ┆ffffh ;value of "true"  false eq┆
0x0dcdc0…0dcde0             75 09 6e 6f 74 20 74 72 75 65 09 3b 22 66 61 6c 73 65 22 0d 0a 74 65 73 74 09 65 71 75 09 66 61   ┆u not true ;"false"  test equ fa┆
0x0dcde0…0dce00             6c 73 65 09 3b 74 72 75 65 20 69 66 20 74 65 73 74 20 62 69 6f 73 0d 0a 3b 0d 0a 09 69 66 09 74   ┆lse ;true if test bios  ;   if t┆
0x0dce00…0dce20 (58, 1, 13) 74 72 69 65 73 0d 0a 09 6c 78 69 09 68 2c 62 6f 6f 74 6d 73 67 0d 0a 09 63 61 6c 6c 09 70 72 6d   ┆tries   lxi h,bootmsg   call prm┆
0x0dce20…0dce40             73 67 0d 0a 09 6a 6d 70 09 72 6d 6f 6e 38 30 09 3b 6d 64 73 20 68 61 72 64 77 61 72 65 20 6d 6f   ┆sg   jmp rmon80 ;mds hardware mo┆
0x0dce40…0dce60             6e 69 74 6f 72 0d 0a 3b 0d 0a 62 6f 6f 74 6d 73 67 3a 0d 0a 09 64 62 09 27 3f 62 6f 6f 74 27 2c   ┆nitor  ;  bootmsg:   db '?boot',┆
0x0dce60…0dce80             30 0d 0a 3b 0d 0a 3b 0d 0a 63 6f 6e 73 74 3a 09 3b 63 6f 6e 73 6f 6c 65 20 73 74 61 74 75 73 20   ┆0  ;  ;  const: ;console status ┆
0x0dce80…0dcea0             74 6f 20 72 65 67 2d 61 0d 0a 3b 09 28 65 78 61 63 74 6c 79 20 74 68 65 20 73 61 6d 65 20 61 73   ┆to reg-a  ; (exactly the same as┆
0x0dcea0…0dcec0             20 6d 64 73 20 63 61 6c 6c 29 0d 0a 09 6a 6d 70 09 63 73 74 73 0d 0a 3b 0d 0a 63 6f 6e 69 6e 3a   ┆ mds call)   jmp csts  ;  conin:┆
0x0dcec0…0dcee0             09 3b 63 6f 6e 73 6f 6c 65 20 63 68 61 72 61 63 74 65 72 20 74 6f 20 72 65 67 2d 61 0d 0a 09 63   ┆ ;console character to reg-a   c┆
0x0dcee0…0dcf00             61 6c 6c 09 63 69 0d 0a 09 61 6e 69 09 37 66 68 09 3b 72 65 6d 6f 76 65 20 70 61 72 69 74 79 20   ┆all ci   ani 7fh ;remove parity ┆
0x0dcf00…0dcf20             62 69 74 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 63 6f 6e 6f 75 74 3a 09 3b 63 6f 6e 73 6f 6c 65 20 63   ┆bit   ret  ;  conout: ;console c┆
0x0dcf20…0dcf40             68 61 72 61 63 74 65 72 20 66 72 6f 6d 20 63 20 74 6f 20 63 6f 6e 73 6f 6c 65 20 6f 75 74 0d 0a   ┆haracter from c to console out  ┆
0x0dcf40…0dcf60             09 6a 6d 70 09 63 6f 0d 0a 3b 0d 0a 6c 69 73 74 3a 09 3b 6c 69 73 74 20 64 65 76 69 63 65 20 6f   ┆ jmp co  ;  list: ;list device o┆
0x0dcf60…0dcf80             75 74 0d 0a 3b 09 28 65 78 61 63 74 6c 79 20 74 68 65 20 73 61 6d 65 20 61 73 20 6d 64 73 20 63   ┆ut  ; (exactly the same as mds c┆
0x0dcf80…0dcfa0             61 6c 6c 29 0d 0a 09 6a 6d 70 09 6c 6f 0d 0a 3b 0d 0a 6c 69 73 74 73 74 3a 0d 0a 09 3b 72 65 74   ┆all)   jmp lo  ;  listst:   ;ret┆
0x0dcfa0…0dcfc0             75 72 6e 20 6c 69 73 74 20 73 74 61 74 75 73 0d 0a 09 78 72 61 09 61 0d 0a 09 72 65 74 09 09 3b   ┆urn list status   xra a   ret  ;┆
0x0dcfc0…0dcfe0             61 6c 77 61 79 73 20 6e 6f 74 20 72 65 61 64 79 0d 0a 3b 0d 0a 70 75 6e 63 68 3a 09 3b 70 75 6e   ┆always not ready  ;  punch: ;pun┆
0x0dcfe0…0dd000             63 68 20 64 65 76 69 63 65 20 6f 75 74 0d 0a 3b 09 28 65 78 61 63 74 6c 79 20 74 68 65 20 73 61   ┆ch device out  ; (exactly the sa┆
0x0dd000…0dd020 (58, 1, 14) 09 09 3b 6d 61 79 20 68 61 76 65 20 65 72 72 6f 72 20 73 65 74 20 69 6e 20 72 65 67 2d 61 0d 0a   ┆  ;may have error set in reg-a  ┆
0x0dd020…0dd040             3b 0d 0a 3b 0d 0a 77 72 69 74 65 3a 09 3b 64 69 73 6b 20 77 72 69 74 65 20 66 75 6e 63 74 69 6f   ┆;  ;  write: ;disk write functio┆
0x0dd040…0dd060             6e 0d 0a 09 6d 76 69 09 63 2c 77 72 69 74 66 0d 0a 09 63 61 6c 6c 09 73 65 74 66 75 6e 63 09 3b   ┆n   mvi c,writf   call setfunc ;┆
0x0dd060…0dd080             73 65 74 20 74 6f 20 77 72 69 74 65 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 63 61 6c 6c 09 77 61 69   ┆set to write function   call wai┆
0x0dd080…0dd0a0             74 69 6f 0d 0a 09 72 65 74 09 09 3b 6d 61 79 20 68 61 76 65 20 65 72 72 6f 72 20 73 65 74 0d 0a   ┆tio   ret  ;may have error set  ┆
0x0dd0a0…0dd0c0             3b 0d 0a 3b 0d 0a 3b 09 75 74 69 6c 69 74 79 20 73 75 62 72 6f 75 74 69 6e 65 73 0d 0a 70 72 6d   ┆;  ;  ; utility subroutines  prm┆
0x0dd0c0…0dd0e0             73 67 3a 09 3b 70 72 69 6e 74 20 6d 65 73 73 61 67 65 20 61 74 20 68 2c 6c 20 74 6f 20 30 0d 0a   ┆sg: ;print message at h,l to 0  ┆
0x0dd0e0…0dd100             09 6d 6f 76 09 61 2c 6d 0d 0a 09 6f 72 61 09 61 09 3b 7a 65 72 6f 3f 0d 0a 09 72 7a 0d 0a 3b 09   ┆ mov a,m   ora a ;zero?   rz  ; ┆
0x0dd100…0dd120             6d 6f 72 65 20 74 6f 20 70 72 69 6e 74 0d 0a 09 70 75 73 68 09 68 0d 0a 09 6d 6f 76 09 63 2c 61   ┆more to print   push h   mov c,a┆
0x0dd120…0dd140             0d 0a 09 63 61 6c 6c 09 63 6f 6e 6f 75 74 0d 0a 09 70 6f 70 09 68 0d 0a 09 69 6e 78 09 68 0d 0a   ┆   call conout   pop h   inx h  ┆
0x0dd140…0dd160             09 6a 6d 70 09 70 72 6d 73 67 0d 0a 3b 0d 0a 73 65 74 66 75 6e 63 3a 0d 0a 3b 09 73 65 74 20 66   ┆ jmp prmsg  ;  setfunc:  ; set f┆
0x0dd160…0dd180             75 6e 63 74 69 6f 6e 20 66 6f 72 20 6e 65 78 74 20 69 2f 6f 20 28 63 6f 6d 6d 61 6e 64 20 69 6e   ┆unction for next i/o (command in┆
0x0dd180…0dd1a0             20 72 65 67 2d 63 29 0d 0a 09 6c 78 69 09 68 2c 69 6f 66 09 3b 69 6f 20 66 75 6e 63 74 69 6f 6e   ┆ reg-c)   lxi h,iof ;io function┆
0x0dd1a0…0dd1c0             20 61 64 64 72 65 73 73 0d 0a 09 6d 6f 76 09 61 2c 6d 09 3b 67 65 74 20 69 74 20 74 6f 20 61 63   ┆ address   mov a,m ;get it to ac┆
0x0dd1c0…0dd1e0             63 75 6d 75 6c 61 74 6f 72 20 66 6f 72 20 6d 61 73 6b 69 6e 67 0d 0a 09 61 6e 69 09 31 31 31 31   ┆cumulator for masking   ani 1111┆
0x0dd1e0…0dd200             31 30 30 30 62 09 3b 72 65 6d 6f 76 65 20 70 72 65 76 69 6f 75 73 20 63 6f 6d 6d 61 6e 64 0d 0a   ┆1000b ;remove previous command  ┆
0x0dd200…0dd220 (58, 1, 15) 72 6f 72 20 66 6f 72 20 6e 6f 77 0d 0a 09 63 61 6c 6c 09 69 6e 62 79 74 65 09 09 3b 63 6c 65 61   ┆ror for now   call inbyte  ;clea┆
0x0dd220…0dd240             72 20 72 65 73 75 6c 74 20 62 79 74 65 0d 0a 09 6a 6d 70 09 74 72 79 63 6f 75 6e 74 0d 0a 3b 0d   ┆r result byte   jmp trycount  ; ┆
0x0dd240…0dd260             0a 77 65 72 72 6f 72 3a 09 3b 72 65 74 75 72 6e 20 68 61 72 64 77 61 72 65 20 6d 61 6c 66 75 6e   ┆ werror: ;return hardware malfun┆
0x0dd260…0dd280             63 74 69 6f 6e 20 28 63 72 63 2c 20 74 72 61 63 6b 2c 20 73 65 65 6b 2c 20 65 74 63 2e 29 0d 0a   ┆ction (crc, track, seek, etc.)  ┆
0x0dd280…0dd2a0             3b 09 74 68 65 20 6d 64 73 20 63 6f 6e 74 72 6f 6c 6c 65 72 20 68 61 73 20 72 65 74 75 72 6e 65   ┆; the mds controller has returne┆
0x0dd2a0…0dd2c0             64 20 61 20 62 69 74 20 69 6e 20 65 61 63 68 20 70 6f 73 69 74 69 6f 6e 0d 0a 3b 09 6f 66 20 74   ┆d a bit in each position  ; of t┆
0x0dd2c0…0dd2e0             68 65 20 61 63 63 75 6d 75 6c 61 74 6f 72 2c 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 74 6f   ┆he accumulator, corresponding to┆
0x0dd2e0…0dd300             20 74 68 65 20 63 6f 6e 64 69 74 69 6f 6e 73 3a 0d 0a 3b 09 30 09 2d 20 64 65 6c 65 74 65 64 20   ┆ the conditions:  ; 0 - deleted ┆
0x0dd300…0dd320             64 61 74 61 20 28 61 63 63 65 70 74 65 64 20 61 73 20 6f 6b 20 61 62 6f 76 65 29 0d 0a 3b 09 31   ┆data (accepted as ok above)  ; 1┆
0x0dd320…0dd340             09 2d 20 63 72 63 20 65 72 72 6f 72 0d 0a 3b 09 32 09 2d 20 73 65 65 6b 20 65 72 72 6f 72 0d 0a   ┆ - crc error  ; 2 - seek error  ┆
0x0dd340…0dd360             3b 09 33 09 2d 20 61 64 64 72 65 73 73 20 65 72 72 6f 72 20 28 68 61 72 64 77 61 72 65 20 6d 61   ┆; 3 - address error (hardware ma┆
0x0dd360…0dd380             6c 66 75 6e 63 74 69 6f 6e 29 0d 0a 3b 09 34 09 2d 20 64 61 74 61 20 6f 76 65 72 2f 75 6e 64 65   ┆lfunction)  ; 4 - data over/unde┆
0x0dd380…0dd3a0             72 20 66 6c 6f 77 20 28 68 61 72 64 77 61 72 65 20 6d 61 6c 66 75 6e 63 74 69 6f 6e 29 0d 0a 3b   ┆r flow (hardware malfunction)  ;┆
0x0dd3a0…0dd3c0             09 35 09 2d 20 77 72 69 74 65 20 70 72 6f 74 65 63 74 20 28 74 72 65 61 74 65 64 20 61 73 20 6e   ┆ 5 - write protect (treated as n┆
0x0dd3c0…0dd3e0             6f 74 20 72 65 61 64 79 29 0d 0a 3b 09 36 09 2d 20 77 72 69 74 65 20 65 72 72 6f 72 20 28 68 61   ┆ot ready)  ; 6 - write error (ha┆
0x0dd3e0…0dd400             72 64 77 61 72 65 20 6d 61 6c 66 75 6e 63 74 69 6f 6e 29 0d 0a 3b 09 37 09 2d 20 6e 6f 74 20 72   ┆rdware malfunction)  ; 7 - not r┆
0x0dd400…0dd420 (59, 0, 1)  65 73 74 0d 0a 62 69 61 73 09 65 71 75 09 30 33 34 30 30 68 09 3b 62 61 73 65 20 6f 66 20 43 43   ┆est  bias equ 03400h ;base of CC┆
0x0dd420…0dd440             50 20 69 6e 20 74 65 73 74 20 73 79 73 74 65 6d 0d 0a 09 65 6e 64 69 66 0d 0a 09 69 66 09 6e 6f   ┆P in test system   endif   if no┆
0x0dd440…0dd460             74 20 74 65 73 74 0d 0a 62 69 61 73 09 65 71 75 09 30 30 30 30 68 09 3b 67 65 6e 65 72 61 74 65   ┆t test  bias equ 0000h ;generate┆
0x0dd460…0dd480             20 72 65 6c 6f 63 61 74 61 62 6c 65 20 63 70 2f 6d 20 73 79 73 74 65 6d 0d 0a 09 65 6e 64 69 66   ┆ relocatable cp/m system   endif┆
0x0dd480…0dd4a0             0d 0a 3b 0d 0a 70 61 74 63 68 09 65 71 75 09 31 36 30 30 68 0d 0a 3b 0d 0a 09 6f 72 67 09 70 61   ┆  ;  patch equ 1600h  ;   org pa┆
0x0dd4a0…0dd4c0             74 63 68 0d 0a 63 70 6d 62 09 65 71 75 09 24 2d 70 61 74 63 68 09 3b 62 61 73 65 20 6f 66 20 63   ┆tch  cpmb equ $-patch ;base of c┆
0x0dd4c0…0dd4e0             70 6d 20 63 6f 6e 73 6f 6c 65 20 70 72 6f 63 65 73 73 6f 72 0d 0a 62 64 6f 73 09 65 71 75 09 38   ┆pm console processor  bdos equ 8┆
0x0dd4e0…0dd500             30 36 68 2b 63 70 6d 62 09 3b 62 61 73 69 63 20 64 6f 73 20 28 72 65 73 69 64 65 6e 74 20 70 6f   ┆06h+cpmb ;basic dos (resident po┆
0x0dd500…0dd520             72 74 69 6f 6e 29 0d 0a 63 70 6d 6c 09 65 71 75 09 24 2d 63 70 6d 62 09 3b 6c 65 6e 67 74 68 20   ┆rtion)  cpml equ $-cpmb ;length ┆
0x0dd520…0dd540             28 69 6e 20 62 79 74 65 73 29 20 6f 66 20 63 70 6d 20 73 79 73 74 65 6d 0d 0a 6e 73 65 63 74 73   ┆(in bytes) of cpm system  nsects┆
0x0dd540…0dd560             09 65 71 75 09 63 70 6d 6c 2f 31 32 38 09 3b 6e 75 6d 62 65 72 20 6f 66 20 73 65 63 74 6f 72 73   ┆ equ cpml/128 ;number of sectors┆
0x0dd560…0dd580             20 74 6f 20 6c 6f 61 64 0d 0a 6f 66 66 73 65 74 09 65 71 75 09 32 09 3b 6e 75 6d 62 65 72 20 6f   ┆ to load  offset equ 2 ;number o┆
0x0dd580…0dd5a0             66 20 64 69 73 6b 20 74 72 61 63 6b 73 20 75 73 65 64 20 62 79 20 63 70 2f 6d 0d 0a 63 64 69 73   ┆f disk tracks used by cp/m  cdis┆
0x0dd5a0…0dd5c0             6b 09 65 71 75 09 30 30 30 34 68 09 3b 61 64 64 72 65 73 73 20 6f 66 20 6c 61 73 74 20 6c 6f 67   ┆k equ 0004h ;address of last log┆
0x0dd5c0…0dd5e0             67 65 64 20 64 69 73 6b 20 6f 6e 20 77 61 72 6d 20 73 74 61 72 74 0d 0a 62 75 66 66 09 65 71 75   ┆ged disk on warm start  buff equ┆
0x0dd5e0…0dd600             09 30 30 38 30 68 09 3b 64 65 66 61 75 6c 74 20 62 75 66 66 65 72 20 61 64 64 72 65 73 73 0d 0a   ┆ 0080h ;default buffer address  ┆
0x0dd600…0dd620 (59, 0, 2)  6e 64 65 70 65 6e 64 65 6e 74 20 63 6f 64 65 2c 20 74 68 65 20 72 65 6d 61 69 6e 69 6e 67 20 73   ┆ndependent code, the remaining s┆
0x0dd620…0dd640             75 62 72 6f 75 74 69 6e 65 73 0d 0a 3b 09 61 72 65 20 74 61 69 6c 6f 72 65 64 20 74 6f 20 74 68   ┆ubroutines  ; are tailored to th┆
0x0dd640…0dd660             65 20 70 61 72 74 69 63 75 6c 61 72 20 6f 70 65 72 61 74 69 6e 67 20 65 6e 76 69 72 6f 6e 6d 65   ┆e particular operating environme┆
0x0dd660…0dd680             6e 74 2c 20 61 6e 64 20 6d 75 73 74 0d 0a 3b 09 62 65 20 61 6c 74 65 72 65 64 20 66 6f 72 20 61   ┆nt, and must  ; be altered for a┆
0x0dd680…0dd6a0             6e 79 20 73 79 73 74 65 6d 20 77 68 69 63 68 20 64 69 66 66 65 72 73 20 66 72 6f 6d 20 74 68 65   ┆ny system which differs from the┆
0x0dd6a0…0dd6c0             20 69 6e 74 65 6c 20 6d 64 73 2e 0d 0a 3b 0d 0a 3b 09 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20   ┆ intel mds.  ;  ; the following ┆
0x0dd6c0…0dd6e0             63 6f 64 65 20 61 73 73 75 6d 65 73 20 74 68 65 20 6d 64 73 20 6d 6f 6e 69 74 6f 72 20 65 78 69   ┆code assumes the mds monitor exi┆
0x0dd6e0…0dd700             73 74 73 20 61 74 20 30 66 38 30 30 68 0d 0a 3b 09 61 6e 64 20 75 73 65 73 20 74 68 65 20 69 2f   ┆sts at 0f800h  ; and uses the i/┆
0x0dd700…0dd720             6f 20 73 75 62 72 6f 75 74 69 6e 65 73 20 77 69 74 68 69 6e 20 74 68 65 20 6d 6f 6e 69 74 6f 72   ┆o subroutines within the monitor┆
0x0dd720…0dd740             0d 0a 3b 0d 0a 3b 09 77 65 20 61 6c 73 6f 20 61 73 73 75 6d 65 20 74 68 65 20 6d 64 73 20 73 79   ┆  ;  ; we also assume the mds sy┆
0x0dd740…0dd760             73 74 65 6d 20 68 61 73 20 66 6f 75 72 20 64 69 73 6b 20 64 72 69 76 65 73 0d 0a 72 65 76 72 74   ┆stem has four disk drives  revrt┆
0x0dd760…0dd780             09 65 71 75 09 30 66 64 68 09 3b 69 6e 74 65 72 72 75 70 74 20 72 65 76 65 72 74 20 70 6f 72 74   ┆ equ 0fdh ;interrupt revert port┆
0x0dd780…0dd7a0             0d 0a 69 6e 74 63 09 65 71 75 09 30 66 63 68 09 3b 69 6e 74 65 72 72 75 70 74 20 6d 61 73 6b 20   ┆  intc equ 0fch ;interrupt mask ┆
0x0dd7a0…0dd7c0             70 6f 72 74 0d 0a 69 63 6f 6e 09 65 71 75 09 30 66 33 68 09 3b 69 6e 74 65 72 72 75 70 74 20 63   ┆port  icon equ 0f3h ;interrupt c┆
0x0dd7c0…0dd7e0             6f 6e 74 72 6f 6c 20 70 6f 72 74 0d 0a 69 6e 74 65 09 65 71 75 09 30 31 31 31 24 31 31 31 30 62   ┆ontrol port  inte equ 0111$1110b┆
0x0dd7e0…0dd800             09 3b 65 6e 61 62 6c 65 20 72 73 74 20 30 28 77 61 72 6d 20 62 6f 6f 74 29 2c 20 72 73 74 20 37   ┆ ;enable rst 0(warm boot), rst 7┆
0x0dd800…0dd820 (59, 0, 3)  76 61 69 6c 61 62 6c 65 20 66 6f 72 20 73 74 61 63 6b 0d 0a 3b 0d 0a 09 6d 76 69 09 63 2c 72 65   ┆vailable for stack  ;   mvi c,re┆
0x0dd820…0dd840             74 72 79 09 3b 6d 61 78 20 72 65 74 72 69 65 73 0d 0a 09 70 75 73 68 09 62 0d 0a 77 62 6f 6f 74   ┆try ;max retries   push b  wboot┆
0x0dd840…0dd860             30 3a 09 3b 65 6e 74 65 72 20 68 65 72 65 20 6f 6e 20 65 72 72 6f 72 20 72 65 74 72 69 65 73 0d   ┆0: ;enter here on error retries ┆
0x0dd860…0dd880             0a 09 6c 78 69 09 62 2c 63 70 6d 62 09 3b 73 65 74 20 64 6d 61 20 61 64 64 72 65 73 73 20 74 6f   ┆  lxi b,cpmb ;set dma address to┆
0x0dd880…0dd8a0             20 73 74 61 72 74 20 6f 66 20 64 69 73 6b 20 73 79 73 74 65 6d 0d 0a 09 63 61 6c 6c 09 73 65 74   ┆ start of disk system   call set┆
0x0dd8a0…0dd8c0             64 6d 61 0d 0a 09 6d 76 69 09 63 2c 30 09 3b 62 6f 6f 74 20 66 72 6f 6d 20 64 72 69 76 65 20 30   ┆dma   mvi c,0 ;boot from drive 0┆
0x0dd8c0…0dd8e0             0d 0a 09 63 61 6c 6c 09 73 65 6c 64 73 6b 0d 0a 09 6d 76 69 09 63 2c 30 0d 0a 09 63 61 6c 6c 09   ┆   call seldsk   mvi c,0   call ┆
0x0dd8e0…0dd900             73 65 74 74 72 6b 09 3b 73 74 61 72 74 20 77 69 74 68 20 74 72 61 63 6b 20 30 0d 0a 09 6d 76 69   ┆settrk ;start with track 0   mvi┆
0x0dd900…0dd920             09 63 2c 32 09 3b 73 74 61 72 74 20 72 65 61 64 69 6e 67 20 73 65 63 74 6f 72 20 32 0d 0a 09 63   ┆ c,2 ;start reading sector 2   c┆
0x0dd920…0dd940             61 6c 6c 09 73 65 74 73 65 63 0d 0a 3b 0d 0a 3b 09 72 65 61 64 20 73 65 63 74 6f 72 73 2c 20 63   ┆all setsec  ;  ; read sectors, c┆
0x0dd940…0dd960             6f 75 6e 74 20 6e 73 65 63 74 73 20 74 6f 20 7a 65 72 6f 0d 0a 09 70 6f 70 09 62 09 3b 31 30 2d   ┆ount nsects to zero   pop b ;10-┆
0x0dd960…0dd980             65 72 72 6f 72 20 63 6f 75 6e 74 0d 0a 09 6d 76 69 09 62 2c 6e 73 65 63 74 73 0d 0a 72 64 73 65   ┆error count   mvi b,nsects  rdse┆
0x0dd980…0dd9a0             63 3a 09 3b 72 65 61 64 20 6e 65 78 74 20 73 65 63 74 6f 72 0d 0a 09 70 75 73 68 09 62 09 3b 73   ┆c: ;read next sector   push b ;s┆
0x0dd9a0…0dd9c0             61 76 65 20 73 65 63 74 6f 72 20 63 6f 75 6e 74 0d 0a 09 63 61 6c 6c 09 72 65 61 64 0d 0a 09 6a   ┆ave sector count   call read   j┆
0x0dd9c0…0dd9e0             6e 7a 09 62 6f 6f 74 65 72 72 09 3b 72 65 74 72 79 20 69 66 20 65 72 72 6f 72 73 20 6f 63 63 75   ┆nz booterr ;retry if errors occu┆
0x0dd9e0…0dda00             72 0d 0a 09 6c 68 6c 64 09 69 6f 64 09 3b 69 6e 63 72 65 6d 65 6e 74 20 64 6d 61 20 61 64 64 72   ┆r   lhld iod ;increment dma addr┆
0x0dda00…0dda20 (59, 0, 4)  6f 6f 74 27 2c 30 0d 0a 3b 0d 0a 3b 0d 0a 63 6f 6e 73 74 3a 09 3b 63 6f 6e 73 6f 6c 65 20 73 74   ┆oot',0  ;  ;  const: ;console st┆
0x0dda20…0dda40             61 74 75 73 20 74 6f 20 72 65 67 2d 61 0d 0a 3b 09 28 65 78 61 63 74 6c 79 20 74 68 65 20 73 61   ┆atus to reg-a  ; (exactly the sa┆
0x0dda40…0dda60             6d 65 20 61 73 20 6d 64 73 20 63 61 6c 6c 29 0d 0a 09 6a 6d 70 09 63 73 74 73 0d 0a 3b 0d 0a 63   ┆me as mds call)   jmp csts  ;  c┆
0x0dda60…0dda80             6f 6e 69 6e 3a 09 3b 63 6f 6e 73 6f 6c 65 20 63 68 61 72 61 63 74 65 72 20 74 6f 20 72 65 67 2d   ┆onin: ;console character to reg-┆
0x0dda80…0ddaa0             61 0d 0a 09 63 61 6c 6c 09 63 69 0d 0a 09 61 6e 69 09 37 66 68 09 3b 72 65 6d 6f 76 65 20 70 61   ┆a   call ci   ani 7fh ;remove pa┆
0x0ddaa0…0ddac0             72 69 74 79 20 62 69 74 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 63 6f 6e 6f 75 74 3a 09 3b 63 6f 6e 73   ┆rity bit   ret  ;  conout: ;cons┆
0x0ddac0…0ddae0             6f 6c 65 20 63 68 61 72 61 63 74 65 72 20 66 72 6f 6d 20 63 20 74 6f 20 63 6f 6e 73 6f 6c 65 20   ┆ole character from c to console ┆
0x0ddae0…0ddb00             6f 75 74 0d 0a 09 6a 6d 70 09 63 6f 0d 0a 3b 0d 0a 6c 69 73 74 3a 09 3b 6c 69 73 74 20 64 65 76   ┆out   jmp co  ;  list: ;list dev┆
0x0ddb00…0ddb20             69 63 65 20 6f 75 74 0d 0a 3b 09 28 65 78 61 63 74 6c 79 20 74 68 65 20 73 61 6d 65 20 61 73 20   ┆ice out  ; (exactly the same as ┆
0x0ddb20…0ddb40             6d 64 73 20 63 61 6c 6c 29 0d 0a 09 6a 6d 70 09 6c 6f 0d 0a 3b 0d 0a 6c 69 73 74 73 74 3a 0d 0a   ┆mds call)   jmp lo  ;  listst:  ┆
0x0ddb40…0ddb60             09 3b 72 65 74 75 72 6e 20 6c 69 73 74 20 73 74 61 74 75 73 0d 0a 09 78 72 61 09 61 0d 0a 09 72   ┆ ;return list status   xra a   r┆
0x0ddb60…0ddb80             65 74 09 09 3b 61 6c 77 61 79 73 20 6e 6f 74 20 72 65 61 64 79 0d 0a 3b 0d 0a 70 75 6e 63 68 3a   ┆et  ;always not ready  ;  punch:┆
0x0ddb80…0ddba0             09 3b 70 75 6e 63 68 20 64 65 76 69 63 65 20 6f 75 74 0d 0a 3b 09 28 65 78 61 63 74 6c 79 20 74   ┆ ;punch device out  ; (exactly t┆
0x0ddba0…0ddbc0             68 65 20 73 61 6d 65 20 61 73 20 6d 64 73 20 63 61 6c 6c 29 0d 0a 09 6a 6d 70 09 70 6f 0d 0a 3b   ┆he same as mds call)   jmp po  ;┆
0x0ddbc0…0ddbe0             0d 0a 72 65 61 64 65 72 3a 09 3b 72 65 61 64 65 72 20 63 68 61 72 61 63 74 65 72 20 69 6e 20 74   ┆  reader: ;reader character in t┆
0x0ddbe0…0ddc00             6f 20 72 65 67 2d 61 0d 0a 3b 09 28 65 78 61 63 74 6c 79 20 74 68 65 20 73 61 6d 65 20 61 73 20   ┆o reg-a  ; (exactly the same as ┆
0x0ddc00…0ddc20 (59, 0, 5)  72 65 74 72 79 09 65 71 75 09 31 30 09 3b 6d 61 78 20 72 65 74 72 69 65 73 20 6f 6e 20 64 69 73   ┆retry equ 10 ;max retries on dis┆
0x0ddc20…0ddc40             6b 20 69 2f 6f 20 62 65 66 6f 72 65 20 65 72 72 6f 72 0d 0a 3b 0d 0a 3b 09 70 65 72 66 6f 72 6d   ┆k i/o before error  ;  ; perform┆
0x0ddc40…0ddc60             20 66 6f 6c 6c 6f 77 69 6e 67 20 66 75 6e 63 74 69 6f 6e 73 0d 0a 3b 09 62 6f 6f 74 09 63 6f 6c   ┆ following functions  ; boot col┆
0x0ddc60…0ddc80             64 20 73 74 61 72 74 0d 0a 3b 09 77 62 6f 6f 74 09 77 61 72 6d 20 73 74 61 72 74 20 28 73 61 76   ┆d start  ; wboot warm start (sav┆
0x0ddc80…0ddca0             65 20 69 2f 6f 20 62 79 74 65 29 0d 0a 3b 09 28 62 6f 6f 74 20 61 6e 64 20 77 62 6f 6f 74 20 61   ┆e i/o byte)  ; (boot and wboot a┆
0x0ddca0…0ddcc0             72 65 20 74 68 65 20 73 61 6d 65 20 66 6f 72 20 6d 64 73 29 0d 0a 3b 09 63 6f 6e 73 74 09 63 6f   ┆re the same for mds)  ; const co┆
0x0ddcc0…0ddce0             6e 73 6f 6c 65 20 73 74 61 74 75 73 0d 0a 3b 09 09 72 65 67 2d 61 20 3d 20 30 30 20 69 66 20 6e   ┆nsole status  ;  reg-a = 00 if n┆
0x0ddce0…0ddd00             6f 20 63 68 61 72 61 63 74 65 72 20 72 65 61 64 79 0d 0a 3b 09 09 72 65 67 2d 61 20 3d 20 66 66   ┆o character ready  ;  reg-a = ff┆
0x0ddd00…0ddd20             20 69 66 20 63 68 61 72 61 63 74 65 72 20 72 65 61 64 79 0d 0a 3b 09 63 6f 6e 69 6e 09 63 6f 6e   ┆ if character ready  ; conin con┆
0x0ddd20…0ddd40             73 6f 6c 65 20 63 68 61 72 61 63 74 65 72 20 69 6e 20 28 72 65 73 75 6c 74 20 69 6e 20 72 65 67   ┆sole character in (result in reg┆
0x0ddd40…0ddd60             2d 61 29 0d 0a 3b 09 63 6f 6e 6f 75 74 09 63 6f 6e 73 6f 6c 65 20 63 68 61 72 61 63 74 65 72 20   ┆-a)  ; conout console character ┆
0x0ddd60…0ddd80             6f 75 74 20 28 63 68 61 72 20 69 6e 20 72 65 67 2d 63 29 0d 0a 3b 09 6c 69 73 74 09 6c 69 73 74   ┆out (char in reg-c)  ; list list┆
0x0ddd80…0ddda0             20 6f 75 74 20 28 63 68 61 72 20 69 6e 20 72 65 67 2d 63 29 0d 0a 3b 09 70 75 6e 63 68 09 70 75   ┆ out (char in reg-c)  ; punch pu┆
0x0ddda0…0dddc0             6e 63 68 20 6f 75 74 20 28 63 68 61 72 20 69 6e 20 72 65 67 2d 63 29 0d 0a 3b 09 72 65 61 64 65   ┆nch out (char in reg-c)  ; reade┆
0x0dddc0…0ddde0             72 09 70 61 70 65 72 20 74 61 70 65 20 72 65 61 64 65 72 20 69 6e 20 28 72 65 73 75 6c 74 20 74   ┆r paper tape reader in (result t┆
0x0ddde0…0dde00             6f 20 72 65 67 2d 61 29 0d 0a 3b 09 68 6f 6d 65 09 6d 6f 76 65 20 74 6f 20 74 72 61 63 6b 20 30   ┆o reg-a)  ; home move to track 0┆
0x0dde00…0dde20 (59, 0, 6)  20 28 6d 6f 6e 69 74 6f 72 29 0d 0a 3b 0d 0a 3b 09 6d 64 73 20 6d 6f 6e 69 74 6f 72 20 65 71 75   ┆ (monitor)  ;  ; mds monitor equ┆
0x0dde20…0dde40             61 74 65 73 0d 0a 6d 6f 6e 38 30 09 65 71 75 09 30 66 38 30 30 68 09 3b 6d 64 73 20 6d 6f 6e 69   ┆ates  mon80 equ 0f800h ;mds moni┆
0x0dde40…0dde60             74 6f 72 0d 0a 72 6d 6f 6e 38 30 09 65 71 75 09 30 66 66 30 66 68 09 3b 72 65 73 74 61 72 74 20   ┆tor  rmon80 equ 0ff0fh ;restart ┆
0x0dde60…0dde80             6d 6f 6e 38 30 20 28 62 6f 6f 74 20 65 72 72 6f 72 29 0d 0a 63 69 09 65 71 75 09 30 66 38 30 33   ┆mon80 (boot error)  ci equ 0f803┆
0x0dde80…0ddea0             68 09 3b 63 6f 6e 73 6f 6c 65 20 63 68 61 72 61 63 74 65 72 20 74 6f 20 72 65 67 2d 61 0d 0a 72   ┆h ;console character to reg-a  r┆
0x0ddea0…0ddec0             69 09 65 71 75 09 30 66 38 30 36 68 09 3b 72 65 61 64 65 72 20 69 6e 20 74 6f 20 72 65 67 2d 61   ┆i equ 0f806h ;reader in to reg-a┆
0x0ddec0…0ddee0             0d 0a 63 6f 09 65 71 75 09 30 66 38 30 39 68 09 3b 63 6f 6e 73 6f 6c 65 20 63 68 61 72 20 66 72   ┆  co equ 0f809h ;console char fr┆
0x0ddee0…0ddf00             6f 6d 20 63 20 74 6f 20 63 6f 6e 73 6f 6c 65 20 6f 75 74 0d 0a 70 6f 09 65 71 75 09 30 66 38 30   ┆om c to console out  po equ 0f80┆
0x0ddf00…0ddf20             63 68 09 3b 70 75 6e 63 68 20 63 68 61 72 20 66 72 6f 6d 20 63 20 74 6f 20 70 75 6e 63 68 20 64   ┆ch ;punch char from c to punch d┆
0x0ddf20…0ddf40             65 76 69 63 65 0d 0a 6c 6f 09 65 71 75 09 30 66 38 30 66 68 09 3b 6c 69 73 74 20 66 72 6f 6d 20   ┆evice  lo equ 0f80fh ;list from ┆
0x0ddf40…0ddf60             63 20 74 6f 20 6c 69 73 74 20 64 65 76 69 63 65 0d 0a 63 73 74 73 09 65 71 75 09 30 66 38 31 32   ┆c to list device  csts equ 0f812┆
0x0ddf60…0ddf80             68 09 3b 63 6f 6e 73 6f 6c 65 20 73 74 61 74 75 73 20 30 30 2f 66 66 20 74 6f 20 72 65 67 69 73   ┆h ;console status 00/ff to regis┆
0x0ddf80…0ddfa0             74 65 72 20 61 0d 0a 3b 0d 0a 3b 09 64 69 73 6b 20 70 6f 72 74 73 20 61 6e 64 20 63 6f 6d 6d 61   ┆ter a  ;  ; disk ports and comma┆
0x0ddfa0…0ddfc0             6e 64 73 0d 0a 62 61 73 65 09 65 71 75 09 37 38 68 09 3b 62 61 73 65 20 6f 66 20 64 69 73 6b 20   ┆nds  base equ 78h ;base of disk ┆
0x0ddfc0…0ddfe0             63 6f 6d 6d 61 6e 64 20 69 6f 20 70 6f 72 74 73 0d 0a 64 73 74 61 74 09 65 71 75 09 62 61 73 65   ┆command io ports  dstat equ base┆
0x0ddfe0…0de000             09 3b 64 69 73 6b 20 73 74 61 74 75 73 20 28 69 6e 70 75 74 29 0d 0a 72 74 79 70 65 09 65 71 75   ┆ ;disk status (input)  rtype equ┆
0x0de000…0de020 (59, 0, 7)  65 73 73 0d 0a 09 6c 78 69 09 64 2c 31 32 38 09 3b 73 65 63 74 6f 72 20 73 69 7a 65 0d 0a 09 64   ┆ess   lxi d,128 ;sector size   d┆
0x0de020…0de040             61 64 09 64 09 3b 69 6e 63 72 65 6d 65 6e 74 65 64 20 64 6d 61 20 61 64 64 72 65 73 73 20 69 6e   ┆ad d ;incremented dma address in┆
0x0de040…0de060             20 68 6c 0d 0a 09 6d 6f 76 09 62 2c 68 0d 0a 09 6d 6f 76 09 63 2c 6c 09 3b 72 65 61 64 79 20 66   ┆ hl   mov b,h   mov c,l ;ready f┆
0x0de060…0de080             6f 72 20 63 61 6c 6c 20 74 6f 20 73 65 74 20 64 6d 61 0d 0a 09 63 61 6c 6c 09 73 65 74 64 6d 61   ┆or call to set dma   call setdma┆
0x0de080…0de0a0             0d 0a 09 6c 64 61 09 69 6f 73 09 3b 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 20 6a 75 73 74 20 72   ┆   lda ios ;sector number just r┆
0x0de0a0…0de0c0             65 61 64 0d 0a 09 63 70 69 09 32 36 09 3b 72 65 61 64 20 6c 61 73 74 20 73 65 63 74 6f 72 3f 0d   ┆ead   cpi 26 ;read last sector? ┆
0x0de0c0…0de0e0             0a 09 6a 63 09 72 64 31 0d 0a 3b 09 6d 75 73 74 20 62 65 20 73 65 63 74 6f 72 20 32 36 2c 20 7a   ┆  jc rd1  ; must be sector 26, z┆
0x0de0e0…0de100             65 72 6f 20 61 6e 64 20 67 6f 20 74 6f 20 6e 65 78 74 20 74 72 61 63 6b 0d 0a 09 6c 64 61 09 69   ┆ero and go to next track   lda i┆
0x0de100…0de120             6f 74 09 3b 67 65 74 20 74 72 61 63 6b 20 74 6f 20 72 65 67 69 73 74 65 72 20 61 0d 0a 09 69 6e   ┆ot ;get track to register a   in┆
0x0de120…0de140             72 09 61 0d 0a 09 6d 6f 76 09 63 2c 61 09 3b 72 65 61 64 79 20 66 6f 72 20 63 61 6c 6c 0d 0a 09   ┆r a   mov c,a ;ready for call   ┆
0x0de140…0de160             63 61 6c 6c 09 73 65 74 74 72 6b 0d 0a 09 78 72 61 09 61 09 3b 63 6c 65 61 72 20 73 65 63 74 6f   ┆call settrk   xra a ;clear secto┆
0x0de160…0de180             72 20 6e 75 6d 62 65 72 0d 0a 72 64 31 3a 09 69 6e 72 09 61 09 3b 74 6f 20 6e 65 78 74 20 73 65   ┆r number  rd1: inr a ;to next se┆
0x0de180…0de1a0             63 74 6f 72 0d 0a 09 6d 6f 76 09 63 2c 61 09 3b 72 65 61 64 79 20 66 6f 72 20 63 61 6c 6c 0d 0a   ┆ctor   mov c,a ;ready for call  ┆
0x0de1a0…0de1c0             09 63 61 6c 6c 09 73 65 74 73 65 63 0d 0a 09 70 6f 70 09 62 09 3b 72 65 63 61 6c 6c 20 73 65 63   ┆ call setsec   pop b ;recall sec┆
0x0de1c0…0de1e0             74 6f 72 20 63 6f 75 6e 74 0d 0a 09 64 63 72 09 62 09 3b 64 6f 6e 65 3f 0d 0a 09 6a 6e 7a 09 72   ┆tor count   dcr b ;done?   jnz r┆
0x0de1e0…0de200             64 73 65 63 0d 0a 3b 0d 0a 3b 09 64 6f 6e 65 20 77 69 74 68 20 74 68 65 20 6c 6f 61 64 2c 20 72   ┆dsec  ;  ; done with the load, r┆
0x0de200…0de220 (59, 0, 8)  6d 64 73 20 63 61 6c 6c 29 0d 0a 09 6a 6d 70 09 72 69 0d 0a 3b 0d 0a 68 6f 6d 65 3a 09 3b 6d 6f   ┆mds call)   jmp ri  ;  home: ;mo┆
0x0de220…0de240             76 65 20 74 6f 20 68 6f 6d 65 20 70 6f 73 69 74 69 6f 6e 0d 0a 3b 09 74 72 65 61 74 20 61 73 20   ┆ve to home position  ; treat as ┆
0x0de240…0de260             74 72 61 63 6b 20 30 30 20 73 65 65 6b 0d 0a 09 6d 76 69 09 63 2c 30 0d 0a 09 6a 6d 70 09 73 65   ┆track 00 seek   mvi c,0   jmp se┆
0x0de260…0de280             74 74 72 6b 0d 0a 3b 0d 0a 73 65 6c 64 73 6b 3a 09 3b 73 65 6c 65 63 74 20 64 69 73 6b 20 67 69   ┆ttrk  ;  seldsk: ;select disk gi┆
0x0de280…0de2a0             76 65 6e 20 62 79 20 72 65 67 69 73 74 65 72 20 63 0d 0a 09 6c 78 69 09 68 2c 30 30 30 30 68 09   ┆ven by register c   lxi h,0000h ┆
0x0de2a0…0de2c0             3b 72 65 74 75 72 6e 20 30 30 30 30 20 69 66 20 65 72 72 6f 72 0d 0a 09 6d 6f 76 09 61 2c 63 0d   ┆;return 0000 if error   mov a,c ┆
0x0de2c0…0de2e0             0a 09 63 70 69 09 6e 64 69 73 6b 73 09 3b 74 6f 6f 20 6c 61 72 67 65 3f 0d 0a 09 72 6e 63 09 09   ┆  cpi ndisks ;too large?   rnc  ┆
0x0de2e0…0de300             3b 6c 65 61 76 65 20 48 4c 20 3d 20 30 30 30 30 0d 0a 3b 0d 0a 09 61 6e 69 09 31 30 62 09 3b 30   ┆;leave HL = 0000  ;   ani 10b ;0┆
0x0de300…0de320             30 20 30 30 20 66 6f 72 20 64 72 69 76 65 20 30 2c 31 20 61 6e 64 20 31 30 20 31 30 20 66 6f 72   ┆0 00 for drive 0,1 and 10 10 for┆
0x0de320…0de340             20 64 72 69 76 65 20 32 2c 33 0d 0a 09 73 74 61 09 64 62 61 6e 6b 09 3b 74 6f 20 73 65 6c 65 63   ┆ drive 2,3   sta dbank ;to selec┆
0x0de340…0de360             74 20 64 72 69 76 65 20 62 61 6e 6b 0d 0a 09 6d 6f 76 09 61 2c 63 09 3b 30 30 2c 20 30 31 2c 20   ┆t drive bank   mov a,c ;00, 01, ┆
0x0de360…0de380             31 30 2c 20 31 31 0d 0a 09 61 6e 69 09 31 62 09 3b 6d 64 73 20 68 61 73 20 30 2c 31 20 61 74 20   ┆10, 11   ani 1b ;mds has 0,1 at ┆
0x0de380…0de3a0             37 38 2c 20 32 2c 33 20 61 74 20 38 38 0d 0a 09 6f 72 61 09 61 09 3b 72 65 73 75 6c 74 20 30 30   ┆78, 2,3 at 88   ora a ;result 00┆
0x0de3a0…0de3c0             3f 0d 0a 09 6a 7a 09 73 65 74 64 72 69 76 65 0d 0a 09 6d 76 69 09 61 2c 30 30 31 31 30 30 30 30   ┆?   jz setdrive   mvi a,00110000┆
0x0de3c0…0de3e0             62 09 3b 73 65 6c 65 63 74 73 20 64 72 69 76 65 20 31 20 69 6e 20 62 61 6e 6b 0d 0a 73 65 74 64   ┆b ;selects drive 1 in bank  setd┆
0x0de3e0…0de400             72 69 76 65 3a 0d 0a 09 6d 6f 76 09 62 2c 61 09 3b 73 61 76 65 20 74 68 65 20 66 75 6e 63 74 69   ┆rive:   mov b,a ;save the functi┆
0x0de400…0de420 (59, 0, 9)  30 0d 0a 3b 0d 0a 3b 09 28 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 61 6c 6c 73 20 73 65 74   ┆0  ;  ; (the following calls set┆
0x0de420…0de440             2d 75 70 20 74 68 65 20 69 6f 20 70 61 72 61 6d 65 74 65 72 20 62 6c 6f 63 6b 20 66 6f 72 20 74   ┆-up the io parameter block for t┆
0x0de440…0de460             68 65 0d 0a 3b 09 6d 64 73 2c 20 77 68 69 63 68 20 69 73 20 75 73 65 64 20 74 6f 20 70 65 72 66   ┆he  ; mds, which is used to perf┆
0x0de460…0de480             6f 72 6d 20 73 75 62 73 65 71 75 65 6e 74 20 72 65 61 64 73 20 61 6e 64 20 77 72 69 74 65 73 29   ┆orm subsequent reads and writes)┆
0x0de480…0de4a0             0d 0a 3b 09 73 65 6c 64 73 6b 09 73 65 6c 65 63 74 20 64 69 73 6b 20 67 69 76 65 6e 20 62 79 20   ┆  ; seldsk select disk given by ┆
0x0de4a0…0de4c0             72 65 67 2d 63 20 28 30 2c 31 2c 32 2e 2e 2e 29 0d 0a 3b 09 73 65 74 74 72 6b 09 73 65 74 20 74   ┆reg-c (0,1,2...)  ; settrk set t┆
0x0de4c0…0de4e0             72 61 63 6b 20 61 64 64 72 65 73 73 20 28 30 2c 2e 2e 2e 37 36 29 20 66 6f 72 20 73 75 62 73 65   ┆rack address (0,...76) for subse┆
0x0de4e0…0de500             71 75 65 6e 74 20 72 65 61 64 2f 77 72 69 74 65 0d 0a 3b 09 73 65 74 73 65 63 09 73 65 74 20 73   ┆quent read/write  ; setsec set s┆
0x0de500…0de520             65 63 74 6f 72 20 61 64 64 72 65 73 73 20 28 31 2c 2e 2e 2e 2c 32 36 29 20 66 6f 72 20 73 75 62   ┆ector address (1,...,26) for sub┆
0x0de520…0de540             73 65 71 75 65 6e 74 20 72 65 61 64 2f 77 72 69 74 65 0d 0a 3b 09 73 65 74 64 6d 61 09 73 65 74   ┆sequent read/write  ; setdma set┆
0x0de540…0de560             20 73 75 62 73 65 71 75 65 6e 74 20 64 6d 61 20 61 64 64 72 65 73 73 20 28 69 6e 69 74 69 61 6c   ┆ subsequent dma address (initial┆
0x0de560…0de580             6c 79 20 38 30 68 29 0d 0a 3b 0d 0a 3b 09 28 72 65 61 64 20 61 6e 64 20 77 72 69 74 65 20 61 73   ┆ly 80h)  ;  ; (read and write as┆
0x0de580…0de5a0             73 75 6d 65 20 70 72 65 76 69 6f 75 73 20 63 61 6c 6c 73 20 74 6f 20 73 65 74 20 75 70 20 74 68   ┆sume previous calls to set up th┆
0x0de5a0…0de5c0             65 20 69 6f 20 70 61 72 61 6d 65 74 65 72 73 29 0d 0a 3b 09 72 65 61 64 09 72 65 61 64 20 74 72   ┆e io parameters)  ; read read tr┆
0x0de5c0…0de5e0             61 63 6b 2f 73 65 63 74 6f 72 20 74 6f 20 70 72 65 73 65 74 20 64 6d 61 20 61 64 64 72 65 73 73   ┆ack/sector to preset dma address┆
0x0de5e0…0de600             0d 0a 3b 09 77 72 69 74 65 09 77 72 69 74 65 20 74 72 61 63 6b 2f 73 65 63 74 6f 72 20 66 72 6f   ┆  ; write write track/sector fro┆
0x0de600…0de620 (59, 0, 10) 09 62 61 73 65 2b 31 09 3b 72 65 73 75 6c 74 20 74 79 70 65 20 28 69 6e 70 75 74 29 0d 0a 72 62   ┆ base+1 ;result type (input)  rb┆
0x0de620…0de640             79 74 65 09 65 71 75 09 62 61 73 65 2b 33 09 3b 72 65 73 75 6c 74 20 62 79 74 65 20 28 69 6e 70   ┆yte equ base+3 ;result byte (inp┆
0x0de640…0de660             75 74 29 0d 0a 3b 0d 0a 69 6c 6f 77 09 65 71 75 09 62 61 73 65 2b 31 09 3b 69 6f 70 62 20 6c 6f   ┆ut)  ;  ilow equ base+1 ;iopb lo┆
0x0de660…0de680             77 20 61 64 64 72 65 73 73 20 28 6f 75 74 70 75 74 29 0d 0a 69 68 69 67 68 09 65 71 75 09 62 61   ┆w address (output)  ihigh equ ba┆
0x0de680…0de6a0             73 65 2b 32 09 3b 69 6f 70 62 20 68 69 67 68 20 61 64 64 72 65 73 73 20 28 6f 75 74 70 75 74 29   ┆se+2 ;iopb high address (output)┆
0x0de6a0…0de6c0             0d 0a 3b 0d 0a 72 65 61 64 66 09 65 71 75 09 34 68 09 3b 72 65 61 64 20 66 75 6e 63 74 69 6f 6e   ┆  ;  readf equ 4h ;read function┆
0x0de6c0…0de6e0             0d 0a 77 72 69 74 66 09 65 71 75 09 36 68 09 3b 77 72 69 74 65 20 66 75 6e 63 74 69 6f 6e 0d 0a   ┆  writf equ 6h ;write function  ┆
0x0de6e0…0de700             72 65 63 61 6c 09 65 71 75 09 33 68 09 3b 72 65 63 61 6c 69 62 72 61 74 65 20 64 72 69 76 65 0d   ┆recal equ 3h ;recalibrate drive ┆
0x0de700…0de720             0a 69 6f 72 64 79 09 65 71 75 09 34 68 09 3b 69 2f 6f 20 66 69 6e 69 73 68 65 64 20 6d 61 73 6b   ┆ iordy equ 4h ;i/o finished mask┆
0x0de720…0de740             0d 0a 63 72 09 65 71 75 09 30 64 68 09 3b 63 61 72 72 69 61 67 65 20 72 65 74 75 72 6e 0d 0a 6c   ┆  cr equ 0dh ;carriage return  l┆
0x0de740…0de760             66 09 65 71 75 09 30 61 68 09 3b 6c 69 6e 65 20 66 65 65 64 0d 0a 3b 0d 0a 73 69 67 6e 6f 6e 3a   ┆f equ 0ah ;line feed  ;  signon:┆
0x0de760…0de780             09 3b 73 69 67 6e 6f 6e 20 6d 65 73 73 61 67 65 3a 20 78 78 6b 20 63 70 2f 6d 20 76 65 72 73 20   ┆ ;signon message: xxk cp/m vers ┆
0x0de780…0de7a0             79 2e 79 0d 0a 09 64 62 09 63 72 2c 6c 66 2c 6c 66 0d 0a 09 69 66 09 74 65 73 74 0d 0a 09 64 62   ┆y.y   db cr,lf,lf   if test   db┆
0x0de7a0…0de7c0             09 27 33 32 27 09 3b 33 32 6b 20 65 78 61 6d 70 6c 65 20 62 69 6f 73 0d 0a 09 65 6e 64 69 66 0d   ┆ '32' ;32k example bios   endif ┆
0x0de7c0…0de7e0             0a 09 69 66 09 6e 6f 74 20 74 65 73 74 0d 0a 09 64 62 09 27 30 30 27 09 3b 6d 65 6d 6f 72 79 20   ┆  if not test   db '00' ;memory ┆
0x0de7e0…0de800             73 69 7a 65 20 66 69 6c 6c 65 64 20 62 79 20 72 65 6c 6f 63 61 74 6f 72 0d 0a 09 65 6e 64 69 66   ┆size filled by relocator   endif┆
0x0de800…0de820 (59, 0, 11) 65 73 65 74 20 64 65 66 61 75 6c 74 20 62 75 66 66 65 72 20 61 64 64 72 65 73 73 0d 0a 67 6f 63   ┆eset default buffer address  goc┆
0x0de820…0de840             70 6d 3a 09 3b 28 65 6e 74 65 72 20 68 65 72 65 20 66 72 6f 6d 20 63 6f 6c 64 20 73 74 61 72 74   ┆pm: ;(enter here from cold start┆
0x0de840…0de860             20 62 6f 6f 74 29 0d 0a 3b 09 65 6e 61 62 6c 65 20 72 73 74 30 20 61 6e 64 20 72 73 74 37 0d 0a   ┆ boot)  ; enable rst0 and rst7  ┆
0x0de860…0de880             09 64 69 0d 0a 09 6d 76 69 09 61 2c 31 32 68 09 3b 69 6e 69 74 69 61 6c 69 7a 65 20 63 6f 6d 6d   ┆ di   mvi a,12h ;initialize comm┆
0x0de880…0de8a0             61 6e 64 0d 0a 09 6f 75 74 09 72 65 76 72 74 0d 0a 09 78 72 61 09 61 0d 0a 09 6f 75 74 09 69 6e   ┆and   out revrt   xra a   out in┆
0x0de8a0…0de8c0             74 63 09 3b 63 6c 65 61 72 65 64 0d 0a 09 6d 76 69 09 61 2c 69 6e 74 65 09 3b 72 73 74 30 20 61   ┆tc ;cleared   mvi a,inte ;rst0 a┆
0x0de8c0…0de8e0             6e 64 20 72 73 74 37 20 62 69 74 73 20 6f 6e 0d 0a 09 6f 75 74 09 69 6e 74 63 0d 0a 09 78 72 61   ┆nd rst7 bits on   out intc   xra┆
0x0de8e0…0de900             09 61 0d 0a 09 6f 75 74 09 69 63 6f 6e 09 3b 69 6e 74 65 72 72 75 70 74 20 63 6f 6e 74 72 6f 6c   ┆ a   out icon ;interrupt control┆
0x0de900…0de920             0d 0a 3b 0d 0a 3b 09 73 65 74 20 64 65 66 61 75 6c 74 20 62 75 66 66 65 72 20 61 64 64 72 65 73   ┆  ;  ; set default buffer addres┆
0x0de920…0de940             73 20 74 6f 20 38 30 68 0d 0a 09 6c 78 69 09 62 2c 62 75 66 66 0d 0a 09 63 61 6c 6c 09 73 65 74   ┆s to 80h   lxi b,buff   call set┆
0x0de940…0de960             64 6d 61 0d 0a 3b 0d 0a 3b 09 72 65 73 65 74 20 6d 6f 6e 69 74 6f 72 20 65 6e 74 72 79 20 70 6f   ┆dma  ;  ; reset monitor entry po┆
0x0de960…0de980             69 6e 74 73 0d 0a 09 6d 76 69 09 61 2c 6a 6d 70 0d 0a 09 73 74 61 09 30 0d 0a 09 6c 78 69 09 68   ┆ints   mvi a,jmp   sta 0   lxi h┆
0x0de980…0de9a0             2c 77 62 6f 6f 74 65 0d 0a 09 73 68 6c 64 09 31 09 3b 6a 6d 70 20 77 62 6f 6f 74 20 61 74 20 6c   ┆,wboote   shld 1 ;jmp wboot at l┆
0x0de9a0…0de9c0             6f 63 61 74 69 6f 6e 20 30 30 0d 0a 09 73 74 61 09 35 0d 0a 09 6c 78 69 09 68 2c 62 64 6f 73 0d   ┆ocation 00   sta 5   lxi h,bdos ┆
0x0de9c0…0de9e0             0a 09 73 68 6c 64 09 36 09 3b 6a 6d 70 20 62 64 6f 73 20 61 74 20 6c 6f 63 61 74 69 6f 6e 20 35   ┆  shld 6 ;jmp bdos at location 5┆
0x0de9e0…0dea00             0d 0a 09 69 66 09 6e 6f 74 20 74 65 73 74 0d 0a 09 73 74 61 09 37 2a 38 09 3b 6a 6d 70 20 74 6f   ┆   if not test   sta 7*8 ;jmp to┆
0x0dea00…0dea20 (59, 0, 12) 6f 6e 0d 0a 09 6c 78 69 09 68 2c 69 6f 66 09 3b 69 6f 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 6d 6f   ┆on   lxi h,iof ;io function   mo┆
0x0dea20…0dea40             76 09 61 2c 6d 0d 0a 09 61 6e 69 09 31 31 30 30 31 31 31 31 62 09 3b 6d 61 73 6b 20 6f 75 74 20   ┆v a,m   ani 11001111b ;mask out ┆
0x0dea40…0dea60             64 69 73 6b 20 6e 75 6d 62 65 72 0d 0a 09 6f 72 61 09 62 09 3b 6d 61 73 6b 20 69 6e 20 6e 65 77   ┆disk number   ora b ;mask in new┆
0x0dea60…0dea80             20 64 69 73 6b 20 6e 75 6d 62 65 72 0d 0a 09 6d 6f 76 09 6d 2c 61 09 3b 73 61 76 65 20 69 74 20   ┆ disk number   mov m,a ;save it ┆
0x0dea80…0deaa0             69 6e 20 69 6f 70 62 0d 0a 09 6d 6f 76 09 6c 2c 63 0d 0a 09 6d 76 69 09 68 2c 30 09 3b 48 4c 3d   ┆in iopb   mov l,c   mvi h,0 ;HL=┆
0x0deaa0…0deac0             64 69 73 6b 20 6e 75 6d 62 65 72 0d 0a 09 64 61 64 09 68 09 3b 2a 32 0d 0a 09 64 61 64 09 68 09   ┆disk number   dad h ;*2   dad h ┆
0x0deac0…0deae0             3b 2a 34 0d 0a 09 64 61 64 09 68 09 3b 2a 38 0d 0a 09 64 61 64 09 68 09 3b 2a 31 36 0d 0a 09 6c   ┆;*4   dad h ;*8   dad h ;*16   l┆
0x0deae0…0deb00             78 69 09 64 2c 64 70 62 61 73 65 0d 0a 09 64 61 64 09 64 09 3b 48 4c 3d 64 69 73 6b 20 68 65 61   ┆xi d,dpbase   dad d ;HL=disk hea┆
0x0deb00…0deb20             64 65 72 20 74 61 62 6c 65 20 61 64 64 72 65 73 73 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 3b 0d 0a 73   ┆der table address   ret  ;  ;  s┆
0x0deb20…0deb40             65 74 74 72 6b 3a 09 3b 73 65 74 20 74 72 61 63 6b 20 61 64 64 72 65 73 73 20 67 69 76 65 6e 20   ┆ettrk: ;set track address given ┆
0x0deb40…0deb60             62 79 20 63 0d 0a 09 6c 78 69 09 68 2c 69 6f 74 0d 0a 09 6d 6f 76 09 6d 2c 63 0d 0a 09 72 65 74   ┆by c   lxi h,iot   mov m,c   ret┆
0x0deb60…0deb80             0d 0a 3b 0d 0a 73 65 74 73 65 63 3a 09 3b 73 65 74 20 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 20   ┆  ;  setsec: ;set sector number ┆
0x0deb80…0deba0             67 69 76 65 6e 20 62 79 20 63 0d 0a 09 6c 78 69 09 68 2c 69 6f 73 0d 0a 09 6d 6f 76 09 6d 2c 63   ┆given by c   lxi h,ios   mov m,c┆
0x0deba0…0debc0             0d 0a 09 72 65 74 0d 0a 73 65 63 74 72 61 6e 3a 0d 0a 09 09 3b 74 72 61 6e 73 6c 61 74 65 20 73   ┆   ret  sectran:    ;translate s┆
0x0debc0…0debe0             65 63 74 6f 72 20 62 63 20 75 73 69 6e 67 20 74 61 62 6c 65 20 61 74 20 64 65 0d 0a 09 6d 76 69   ┆ector bc using table at de   mvi┆
0x0debe0…0dec00             09 62 2c 30 09 3b 64 6f 75 62 6c 65 20 70 72 65 63 69 73 69 6f 6e 20 73 65 63 74 6f 72 20 6e 75   ┆ b,0 ;double precision sector nu┆
0x0dec00…0dec20 (59, 0, 13) 6d 20 70 72 65 73 65 74 20 64 6d 61 20 61 64 64 72 65 73 73 0d 0a 3b 0d 0a 3b 09 6a 75 6d 70 20   ┆m preset dma address  ;  ; jump ┆
0x0dec20…0dec40             76 65 63 74 6f 72 20 66 6f 72 20 69 6e 64 69 76 69 75 61 6c 20 72 6f 75 74 69 6e 65 73 0d 0a 09   ┆vector for indiviual routines   ┆
0x0dec40…0dec60             6a 6d 70 09 62 6f 6f 74 0d 0a 77 62 6f 6f 74 65 3a 09 6a 6d 70 09 77 62 6f 6f 74 0d 0a 09 6a 6d   ┆jmp boot  wboote: jmp wboot   jm┆
0x0dec60…0dec80             70 09 63 6f 6e 73 74 0d 0a 09 6a 6d 70 09 63 6f 6e 69 6e 0d 0a 09 6a 6d 70 09 63 6f 6e 6f 75 74   ┆p const   jmp conin   jmp conout┆
0x0dec80…0deca0             0d 0a 09 6a 6d 70 09 6c 69 73 74 0d 0a 09 6a 6d 70 09 70 75 6e 63 68 0d 0a 09 6a 6d 70 09 72 65   ┆   jmp list   jmp punch   jmp re┆
0x0deca0…0decc0             61 64 65 72 0d 0a 09 6a 6d 70 09 68 6f 6d 65 0d 0a 09 6a 6d 70 09 73 65 6c 64 73 6b 0d 0a 09 6a   ┆ader   jmp home   jmp seldsk   j┆
0x0decc0…0dece0             6d 70 09 73 65 74 74 72 6b 0d 0a 09 6a 6d 70 09 73 65 74 73 65 63 0d 0a 09 6a 6d 70 09 73 65 74   ┆mp settrk   jmp setsec   jmp set┆
0x0dece0…0ded00             64 6d 61 0d 0a 09 6a 6d 70 09 72 65 61 64 0d 0a 09 6a 6d 70 09 77 72 69 74 65 0d 0a 09 6a 6d 70   ┆dma   jmp read   jmp write   jmp┆
0x0ded00…0ded20             09 6c 69 73 74 73 74 09 3b 6c 69 73 74 20 73 74 61 74 75 73 0d 0a 09 6a 6d 70 09 73 65 63 74 72   ┆ listst ;list status   jmp sectr┆
0x0ded20…0ded40             61 6e 0d 0a 3b 0d 0a 09 6d 61 63 6c 69 62 09 64 69 73 6b 64 65 66 09 3b 6c 6f 61 64 20 74 68 65   ┆an  ;   maclib diskdef ;load the┆
0x0ded40…0ded60             20 64 69 73 6b 20 64 65 66 69 6e 69 74 69 6f 6e 20 6c 69 62 72 61 72 79 0d 0a 09 64 69 73 6b 73   ┆ disk definition library   disks┆
0x0ded60…0ded80             09 34 09 3b 66 6f 75 72 20 64 69 73 6b 73 0d 0a 09 64 69 73 6b 64 65 66 09 30 2c 31 2c 32 36 2c   ┆ 4 ;four disks   diskdef 0,1,26,┆
0x0ded80…0deda0             36 2c 31 30 32 34 2c 32 34 33 2c 36 34 2c 36 34 2c 6f 66 66 73 65 74 0d 0a 09 64 69 73 6b 64 65   ┆6,1024,243,64,64,offset   diskde┆
0x0deda0…0dedc0             66 09 31 2c 30 0d 0a 09 64 69 73 6b 64 65 66 09 32 2c 30 0d 0a 09 64 69 73 6b 64 65 66 09 33 2c   ┆f 1,0   diskdef 2,0   diskdef 3,┆
0x0dedc0…0dede0             30 0d 0a 3b 09 65 6e 64 65 66 20 6f 63 63 75 72 73 20 61 74 20 65 6e 64 20 6f 66 20 61 73 73 65   ┆0  ; endef occurs at end of asse┆
0x0dede0…0dee00             6d 62 6c 79 0d 0a 3b 0d 0a 3b 09 65 6e 64 20 6f 66 20 63 6f 6e 74 72 6f 6c 6c 65 72 20 2d 20 69   ┆mbly  ;  ; end of controller - i┆
0x0dee00…0dee20 (59, 0, 14) 0d 0a 09 64 62 09 27 6b 20 43 50 2f 4d 20 76 65 72 73 20 27 0d 0a 09 64 62 09 76 65 72 73 2f 31   ┆   db 'k CP/M vers '   db vers/1┆
0x0dee20…0dee40             30 2b 27 30 27 2c 27 2e 27 2c 76 65 72 73 20 6d 6f 64 20 31 30 2b 27 30 27 0d 0a 09 64 62 09 63   ┆0+'0','.',vers mod 10+'0'   db c┆
0x0dee40…0dee60             72 2c 6c 66 2c 30 0d 0a 3b 0d 0a 62 6f 6f 74 3a 09 3b 70 72 69 6e 74 20 73 69 67 6e 6f 6e 20 6d   ┆r,lf,0  ;  boot: ;print signon m┆
0x0dee60…0dee80             65 73 73 61 67 65 20 61 6e 64 20 67 6f 20 74 6f 20 63 63 70 0d 0a 3b 09 28 6e 6f 74 65 3a 20 6d   ┆essage and go to ccp  ; (note: m┆
0x0dee80…0deea0             64 73 20 62 6f 6f 74 20 69 6e 69 74 69 61 6c 69 7a 65 64 20 69 6f 62 79 74 65 20 61 74 20 30 30   ┆ds boot initialized iobyte at 00┆
0x0deea0…0deec0             30 33 68 29 0d 0a 09 6c 78 69 09 73 70 2c 62 75 66 66 2b 38 30 68 0d 0a 09 6c 78 69 09 68 2c 73   ┆03h)   lxi sp,buff+80h   lxi h,s┆
0x0deec0…0deee0             69 67 6e 6f 6e 0d 0a 09 63 61 6c 6c 09 70 72 6d 73 67 09 3b 70 72 69 6e 74 20 6d 65 73 73 61 67   ┆ignon   call prmsg ;print messag┆
0x0deee0…0def00             65 0d 0a 09 78 72 61 09 61 09 3b 63 6c 65 61 72 20 61 63 63 75 6d 75 6c 61 74 6f 72 0d 0a 09 73   ┆e   xra a ;clear accumulator   s┆
0x0def00…0def20             74 61 09 63 64 69 73 6b 09 3b 73 65 74 20 69 6e 69 74 69 61 6c 6c 79 20 74 6f 20 64 69 73 6b 20   ┆ta cdisk ;set initially to disk ┆
0x0def20…0def40             61 0d 0a 09 6a 6d 70 09 67 6f 63 70 6d 09 3b 67 6f 20 74 6f 20 63 70 2f 6d 0d 0a 3b 0d 0a 3b 0d   ┆a   jmp gocpm ;go to cp/m  ;  ; ┆
0x0def40…0def60             0a 77 62 6f 6f 74 3a 3b 09 6c 6f 61 64 65 72 20 6f 6e 20 74 72 61 63 6b 20 30 2c 20 73 65 63 74   ┆ wboot:; loader on track 0, sect┆
0x0def60…0def80             6f 72 20 31 2c 20 77 68 69 63 68 20 77 69 6c 6c 20 62 65 20 73 6b 69 70 70 65 64 20 66 6f 72 20   ┆or 1, which will be skipped for ┆
0x0def80…0defa0             77 61 72 6d 20 0d 0a 3b 09 72 65 61 64 20 63 70 2f 6d 20 66 72 6f 6d 20 64 69 73 6b 20 2d 20 61   ┆warm   ; read cp/m from disk - a┆
0x0defa0…0defc0             73 73 75 6d 69 6e 67 20 74 68 65 72 65 20 69 73 20 61 20 31 32 38 20 62 79 74 65 20 63 6f 6c 64   ┆ssuming there is a 128 byte cold┆
0x0defc0…0defe0             20 73 74 61 72 74 0d 0a 3b 09 73 74 61 72 74 2e 0d 0a 3b 0d 0a 09 6c 78 69 09 73 70 2c 62 75 66   ┆ start  ; start.  ;   lxi sp,buf┆
0x0defe0…0df000             66 09 3b 75 73 69 6e 67 20 64 6d 61 20 2d 20 74 68 75 73 20 38 30 20 74 68 72 75 20 66 66 20 61   ┆f ;using dma - thus 80 thru ff a┆
0x0df000…0df020 (59, 0, 15) 20 6d 6f 6e 38 30 20 28 6d 61 79 20 68 61 76 65 20 62 65 65 6e 20 63 68 61 6e 67 65 64 20 62 79   ┆ mon80 (may have been changed by┆
0x0df020…0df040             20 64 64 74 29 0d 0a 09 6c 78 69 09 68 2c 6d 6f 6e 38 30 0d 0a 09 73 68 6c 64 09 37 2a 38 2b 31   ┆ ddt)   lxi h,mon80   shld 7*8+1┆
0x0df040…0df060             0d 0a 09 65 6e 64 69 66 0d 0a 3b 09 6c 65 61 76 65 20 69 6f 62 79 74 65 20 73 65 74 0d 0a 3b 09   ┆   endif  ; leave iobyte set  ; ┆
0x0df060…0df080             70 72 65 76 69 6f 75 73 6c 79 20 73 65 6c 65 63 74 65 64 20 64 69 73 6b 20 77 61 73 20 62 2c 20   ┆previously selected disk was b, ┆
0x0df080…0df0a0             73 65 6e 64 20 70 61 72 61 6d 65 74 65 72 20 74 6f 20 63 70 6d 0d 0a 09 6c 64 61 09 63 64 69 73   ┆send parameter to cpm   lda cdis┆
0x0df0a0…0df0c0             6b 09 3b 6c 61 73 74 20 6c 6f 67 67 65 64 20 64 69 73 6b 20 6e 75 6d 62 65 72 0d 0a 09 6d 6f 76   ┆k ;last logged disk number   mov┆
0x0df0c0…0df0e0             09 63 2c 61 09 3b 73 65 6e 64 20 74 6f 20 63 63 70 20 74 6f 20 6c 6f 67 20 69 74 20 69 6e 0d 0a   ┆ c,a ;send to ccp to log it in  ┆
0x0df0e0…0df100             09 65 69 0d 0a 09 6a 6d 70 09 63 70 6d 62 0d 0a 3b 0d 0a 3b 09 65 72 72 6f 72 20 63 6f 6e 64 69   ┆ ei   jmp cpmb  ;  ; error condi┆
0x0df100…0df120             74 69 6f 6e 20 6f 63 63 75 72 72 65 64 2c 20 70 72 69 6e 74 20 6d 65 73 73 61 67 65 20 61 6e 64   ┆tion occurred, print message and┆
0x0df120…0df140             20 72 65 74 72 79 0d 0a 62 6f 6f 74 65 72 72 3a 0d 0a 09 70 6f 70 09 62 09 3b 72 65 63 61 6c 6c   ┆ retry  booterr:   pop b ;recall┆
0x0df140…0df160             20 63 6f 75 6e 74 73 0d 0a 09 64 63 72 09 63 0d 0a 09 6a 7a 09 62 6f 6f 74 65 72 30 0d 0a 3b 09   ┆ counts   dcr c   jz booter0  ; ┆
0x0df160…0df180             74 72 79 20 61 67 61 69 6e 0d 0a 09 70 75 73 68 09 62 0d 0a 09 6a 6d 70 09 77 62 6f 6f 74 30 0d   ┆try again   push b   jmp wboot0 ┆
0x0df180…0df1a0             0a 3b 0d 0a 62 6f 6f 74 65 72 30 3a 0d 0a 3b 09 6f 74 68 65 72 77 69 73 65 20 74 6f 6f 20 6d 61   ┆ ;  booter0:  ; otherwise too ma┆
0x0df1a0…0df1c0             6e 79 20 72 65 74 72 69 65 73 0d 0a 09 6c 78 69 09 68 2c 62 6f 6f 74 6d 73 67 0d 0a 09 63 61 6c   ┆ny retries   lxi h,bootmsg   cal┆
0x0df1c0…0df1e0             6c 09 70 72 6d 73 67 0d 0a 09 6a 6d 70 09 72 6d 6f 6e 38 30 09 3b 6d 64 73 20 68 61 72 64 77 61   ┆l prmsg   jmp rmon80 ;mds hardwa┆
0x0df1e0…0df200             72 65 20 6d 6f 6e 69 74 6f 72 0d 0a 3b 0d 0a 62 6f 6f 74 6d 73 67 3a 0d 0a 09 64 62 09 27 3f 62   ┆re monitor  ;  bootmsg:   db '?b┆
0x0df200…0df220 (59, 1, 1)  6d 62 65 72 20 69 6e 20 42 43 0d 0a 09 78 63 68 67 09 09 3b 74 72 61 6e 73 6c 61 74 65 20 74 61   ┆mber in BC   xchg  ;translate ta┆
0x0df220…0df240             62 6c 65 20 61 64 64 72 65 73 73 20 74 6f 20 48 4c 0d 0a 09 64 61 64 09 62 09 3b 74 72 61 6e 73   ┆ble address to HL   dad b ;trans┆
0x0df240…0df260             6c 61 74 65 28 73 65 63 74 6f 72 29 20 61 64 64 72 65 73 73 0d 0a 09 6d 6f 76 09 61 2c 6d 09 3b   ┆late(sector) address   mov a,m ;┆
0x0df260…0df280             74 72 61 6e 73 6c 61 74 65 64 20 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 20 74 6f 20 41 0d 0a 09   ┆translated sector number to A   ┆
0x0df280…0df2a0             73 74 61 09 69 6f 73 0d 0a 09 6d 6f 76 09 6c 2c 61 09 3b 72 65 74 75 72 6e 20 73 65 63 74 6f 72   ┆sta ios   mov l,a ;return sector┆
0x0df2a0…0df2c0             20 6e 75 6d 62 65 72 20 69 6e 20 4c 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 73 65 74 64 6d 61 3a 09 3b   ┆ number in L   ret  ;  setdma: ;┆
0x0df2c0…0df2e0             73 65 74 20 64 6d 61 20 61 64 64 72 65 73 73 20 67 69 76 65 6e 20 62 79 20 72 65 67 73 20 62 2c   ┆set dma address given by regs b,┆
0x0df2e0…0df300             63 0d 0a 09 6d 6f 76 09 6c 2c 63 0d 0a 09 6d 6f 76 09 68 2c 62 0d 0a 09 73 68 6c 64 09 69 6f 64   ┆c   mov l,c   mov h,b   shld iod┆
0x0df300…0df320             0d 0a 09 72 65 74 0d 0a 3b 0d 0a 72 65 61 64 3a 09 3b 72 65 61 64 20 6e 65 78 74 20 64 69 73 6b   ┆   ret  ;  read: ;read next disk┆
0x0df320…0df340             20 72 65 63 6f 72 64 20 28 61 73 73 75 6d 69 6e 67 20 64 69 73 6b 2f 74 72 6b 2f 73 65 63 2f 64   ┆ record (assuming disk/trk/sec/d┆
0x0df340…0df360             6d 61 20 73 65 74 29 0d 0a 09 6d 76 69 09 63 2c 72 65 61 64 66 09 3b 73 65 74 20 74 6f 20 72 65   ┆ma set)   mvi c,readf ;set to re┆
0x0df360…0df380             61 64 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 63 61 6c 6c 09 73 65 74 66 75 6e 63 0d 0a 09 63 61 6c   ┆ad function   call setfunc   cal┆
0x0df380…0df3a0             6c 09 77 61 69 74 69 6f 09 3b 70 65 72 66 6f 72 6d 20 72 65 61 64 20 66 75 6e 63 74 69 6f 6e 0d   ┆l waitio ;perform read function ┆
0x0df3a0…0df3c0             0a 09 72 65 74 09 09 3b 6d 61 79 20 68 61 76 65 20 65 72 72 6f 72 20 73 65 74 20 69 6e 20 72 65   ┆  ret  ;may have error set in re┆
0x0df3c0…0df3e0             67 2d 61 0d 0a 3b 0d 0a 3b 0d 0a 77 72 69 74 65 3a 09 3b 64 69 73 6b 20 77 72 69 74 65 20 66 75   ┆g-a  ;  ;  write: ;disk write fu┆
0x0df3e0…0df400             6e 63 74 69 6f 6e 0d 0a 09 6d 76 69 09 63 2c 77 72 69 74 66 0d 0a 09 63 61 6c 6c 09 73 65 74 66   ┆nction   mvi c,writf   call setf┆
0x0df400…0df420 (59, 1, 2)  0a 3b 09 31 30 20 64 69 73 6b 20 73 74 61 74 75 73 20 63 68 61 6e 67 65 64 20 20 20 20 20 20 20   ┆ ; 10 disk status changed       ┆
0x0df420…0df440             31 31 20 28 6e 6f 74 20 75 73 65 64 29 0d 0a 09 63 70 69 09 31 30 62 09 09 3b 72 65 61 64 79 20   ┆11 (not used)   cpi 10b  ;ready ┆
0x0df440…0df460             73 74 61 74 75 73 20 63 68 61 6e 67 65 3f 0d 0a 09 6a 7a 09 77 72 65 61 64 79 0d 0a 3b 0d 0a 3b   ┆status change?   jz wready  ;  ;┆
0x0df460…0df480             09 6d 75 73 74 20 62 65 20 30 30 20 69 6e 20 74 68 65 20 61 63 63 75 6d 75 6c 61 74 6f 72 0d 0a   ┆ must be 00 in the accumulator  ┆
0x0df480…0df4a0             09 6f 72 61 09 61 0d 0a 09 6a 6e 7a 09 77 65 72 72 6f 72 09 09 3b 73 6f 6d 65 20 6f 74 68 65 72   ┆ ora a   jnz werror  ;some other┆
0x0df4a0…0df4c0             20 63 6f 6e 64 69 74 69 6f 6e 2c 20 72 65 74 72 79 0d 0a 3b 0d 0a 3b 09 63 68 65 63 6b 20 69 2f   ┆ condition, retry  ;  ; check i/┆
0x0df4c0…0df4e0             6f 20 65 72 72 6f 72 20 62 69 74 73 0d 0a 09 63 61 6c 6c 09 69 6e 62 79 74 65 0d 0a 09 72 61 6c   ┆o error bits   call inbyte   ral┆
0x0df4e0…0df500             0d 0a 09 6a 63 09 77 72 65 61 64 79 09 09 3b 75 6e 69 74 20 6e 6f 74 20 72 65 61 64 79 0d 0a 09   ┆   jc wready  ;unit not ready   ┆
0x0df500…0df520             72 61 72 0d 0a 09 61 6e 69 09 31 31 31 31 31 31 31 30 62 09 3b 61 6e 79 20 6f 74 68 65 72 20 65   ┆rar   ani 11111110b ;any other e┆
0x0df520…0df540             72 72 6f 72 73 3f 20 20 28 64 65 6c 65 74 65 64 20 64 61 74 61 20 6f 6b 29 0d 0a 09 6a 6e 7a 09   ┆rrors?  (deleted data ok)   jnz ┆
0x0df540…0df560             77 65 72 72 6f 72 0d 0a 3b 0d 0a 3b 09 72 65 61 64 20 6f 72 20 77 72 69 74 65 20 69 73 20 6f 6b   ┆werror  ;  ; read or write is ok┆
0x0df560…0df580             2c 20 61 63 63 75 6d 75 6c 61 74 6f 72 20 63 6f 6e 74 61 69 6e 73 20 7a 65 72 6f 0d 0a 09 72 65   ┆, accumulator contains zero   re┆
0x0df580…0df5a0             74 0d 0a 3b 0d 0a 77 72 65 61 64 79 3a 09 3b 6e 6f 74 20 72 65 61 64 79 2c 20 74 72 65 61 74 20   ┆t  ;  wready: ;not ready, treat ┆
0x0df5a0…0df5c0             61 73 20 65 72 72 6f 72 20 66 6f 72 20 6e 6f 77 0d 0a 09 63 61 6c 6c 09 69 6e 62 79 74 65 09 09   ┆as error for now   call inbyte  ┆
0x0df5c0…0df5e0             3b 63 6c 65 61 72 20 72 65 73 75 6c 74 20 62 79 74 65 0d 0a 09 6a 6d 70 09 74 72 79 63 6f 75 6e   ┆;clear result byte   jmp trycoun┆
0x0df5e0…0df600             74 0d 0a 3b 0d 0a 77 65 72 72 6f 72 3a 09 3b 72 65 74 75 72 6e 20 68 61 72 64 77 61 72 65 20 6d   ┆t  ;  werror: ;return hardware m┆
0x0df600…0df620 (59, 1, 3)  64 77 09 62 75 66 66 09 3b 69 6f 20 61 64 64 72 65 73 73 0d 0a 3b 0d 0a 3b 0d 0a 3b 09 64 65 66   ┆dw buff ;io address  ;  ;  ; def┆
0x0df620…0df640             69 6e 65 20 72 61 6d 20 61 72 65 61 73 20 66 6f 72 20 62 64 6f 73 20 6f 70 65 72 61 74 69 6f 6e   ┆ine ram areas for bdos operation┆
0x0df640…0df660             0d 0a 09 65 6e 64 65 66 0d 0a 09 65 6e 64 0d 0a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a   ┆   endef   end                  ┆
0x0df660…0df680             1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a   ┆                                ┆
0x0df680…0df6a0             74 3a 09 6c 64 61 09 64 62 61 6e 6b 0d 0a 09 6f 72 61 09 61 0d 0a 09 6a 6e 7a 09 69 6e 73 74 61   ┆t: lda dbank   ora a   jnz insta┆
0x0df6a0…0df6c0             31 0d 0a 09 69 6e 09 64 73 74 61 74 0d 0a 09 72 65 74 0d 0a 69 6e 73 74 61 31 3a 09 69 6e 09 64   ┆1   in dstat   ret  insta1: in d┆
0x0df6c0…0df6e0             73 74 61 74 2b 31 30 68 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 3b 0d 0a 3b 0d 0a 3b 09 64 61 74 61 20   ┆stat+10h   ret  ;  ;  ;  ; data ┆
0x0df6e0…0df700             61 72 65 61 73 20 28 6d 75 73 74 20 62 65 20 69 6e 20 72 61 6d 29 0d 0a 64 62 61 6e 6b 3a 09 64   ┆areas (must be in ram)  dbank: d┆
0x0df700…0df720             62 09 30 09 3b 64 69 73 6b 20 62 61 6e 6b 20 30 30 20 69 66 20 64 72 69 76 65 20 30 2c 31 0d 0a   ┆b 0 ;disk bank 00 if drive 0,1  ┆
0x0df720…0df740             09 09 09 3b 09 20 20 20 31 30 20 69 66 20 64 72 69 76 65 20 32 2c 33 0d 0a 69 6f 70 62 3a 09 3b   ┆   ;    10 if drive 2,3  iopb: ;┆
0x0df740…0df760             69 6f 20 70 61 72 61 6d 65 74 65 72 20 62 6c 6f 63 6b 0d 0a 09 64 62 09 38 30 68 09 3b 6e 6f 72   ┆io parameter block   db 80h ;nor┆
0x0df760…0df780             6d 61 6c 20 69 2f 6f 20 6f 70 65 72 61 74 69 6f 6e 0d 0a 69 6f 66 3a 09 64 62 09 72 65 61 64 66   ┆mal i/o operation  iof: db readf┆
0x0df780…0df7a0             09 3b 69 6f 20 66 75 6e 63 74 69 6f 6e 2c 20 69 6e 69 74 69 61 6c 20 72 65 61 64 0d 0a 69 6f 6e   ┆ ;io function, initial read  ion┆
0x0df7a0…0df7c0             3a 09 64 62 09 31 09 3b 6e 75 6d 62 65 72 20 6f 66 20 73 65 63 74 6f 72 73 20 74 6f 20 72 65 61   ┆: db 1 ;number of sectors to rea┆
0x0df7c0…0df7e0             64 0d 0a 69 6f 74 3a 09 64 62 09 6f 66 66 73 65 74 09 3b 74 72 61 63 6b 20 6e 75 6d 62 65 72 0d   ┆d  iot: db offset ;track number ┆
0x0df7e0…0df800             0a 69 6f 73 3a 09 64 62 09 31 09 3b 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 0d 0a 69 6f 64 3a 09   ┆ ios: db 1 ;sector number  iod: ┆
0x0df800…0df820 (59, 1, 4)  64 77 09 62 75 66 66 09 3b 69 6f 20 61 64 64 72 65 73 73 0d 0a 3b 0d 0a 3b 0d 0a 3b 09 64 65 66   ┆dw buff ;io address  ;  ;  ; def┆
0x0df820…0df840             69 6e 65 20 72 61 6d 20 61 72 65 61 73 20 66 6f 72 20 62 64 6f 73 20 6f 70 65 72 61 74 69 6f 6e   ┆ine ram areas for bdos operation┆
0x0df840…0df860             0d 0a 09 65 6e 64 65 66 0d 0a 09 65 6e 64 0d 0a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a   ┆   endef   end                  ┆
0x0df860…0df880             1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a   ┆                                ┆
0x0df880…0df8a0             74 3a 09 6c 64 61 09 64 62 61 6e 6b 0d 0a 09 6f 72 61 09 61 0d 0a 09 6a 6e 7a 09 69 6e 73 74 61   ┆t: lda dbank   ora a   jnz insta┆
0x0df8a0…0df8c0             31 0d 0a 09 69 6e 09 64 73 74 61 74 0d 0a 09 72 65 74 0d 0a 69 6e 73 74 61 31 3a 09 69 6e 09 64   ┆1   in dstat   ret  insta1: in d┆
0x0df8c0…0df8e0             73 74 61 74 2b 31 30 68 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 3b 0d 0a 3b 0d 0a 3b 09 64 61 74 61 20   ┆stat+10h   ret  ;  ;  ;  ; data ┆
0x0df8e0…0df900             61 72 65 61 73 20 28 6d 75 73 74 20 62 65 20 69 6e 20 72 61 6d 29 0d 0a 64 62 61 6e 6b 3a 09 64   ┆areas (must be in ram)  dbank: d┆
0x0df900…0df920             62 09 30 09 3b 64 69 73 6b 20 62 61 6e 6b 20 30 30 20 69 66 20 64 72 69 76 65 20 30 2c 31 0d 0a   ┆b 0 ;disk bank 00 if drive 0,1  ┆
0x0df920…0df940             09 09 09 3b 09 20 20 20 31 30 20 69 66 20 64 72 69 76 65 20 32 2c 33 0d 0a 69 6f 70 62 3a 09 3b   ┆   ;    10 if drive 2,3  iopb: ;┆
0x0df940…0df960             69 6f 20 70 61 72 61 6d 65 74 65 72 20 62 6c 6f 63 6b 0d 0a 09 64 62 09 38 30 68 09 3b 6e 6f 72   ┆io parameter block   db 80h ;nor┆
0x0df960…0df980             6d 61 6c 20 69 2f 6f 20 6f 70 65 72 61 74 69 6f 6e 0d 0a 69 6f 66 3a 09 64 62 09 72 65 61 64 66   ┆mal i/o operation  iof: db readf┆
0x0df980…0df9a0             09 3b 69 6f 20 66 75 6e 63 74 69 6f 6e 2c 20 69 6e 69 74 69 61 6c 20 72 65 61 64 0d 0a 69 6f 6e   ┆ ;io function, initial read  ion┆
0x0df9a0…0df9c0             3a 09 64 62 09 31 09 3b 6e 75 6d 62 65 72 20 6f 66 20 73 65 63 74 6f 72 73 20 74 6f 20 72 65 61   ┆: db 1 ;number of sectors to rea┆
0x0df9c0…0df9e0             64 0d 0a 69 6f 74 3a 09 64 62 09 6f 66 66 73 65 74 09 3b 74 72 61 63 6b 20 6e 75 6d 62 65 72 0d   ┆d  iot: db offset ;track number ┆
0x0df9e0…0dfa00             0a 69 6f 73 3a 09 64 62 09 31 09 3b 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 0d 0a 69 6f 64 3a 09   ┆ ios: db 1 ;sector number  iod: ┆
0x0dfa00…0dfa20 (59, 1, 5)  75 6e 63 09 3b 73 65 74 20 74 6f 20 77 72 69 74 65 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 63 61 6c   ┆unc ;set to write function   cal┆
0x0dfa20…0dfa40             6c 09 77 61 69 74 69 6f 0d 0a 09 72 65 74 09 09 3b 6d 61 79 20 68 61 76 65 20 65 72 72 6f 72 20   ┆l waitio   ret  ;may have error ┆
0x0dfa40…0dfa60             73 65 74 0d 0a 3b 0d 0a 3b 0d 0a 3b 09 75 74 69 6c 69 74 79 20 73 75 62 72 6f 75 74 69 6e 65 73   ┆set  ;  ;  ; utility subroutines┆
0x0dfa60…0dfa80             0d 0a 70 72 6d 73 67 3a 09 3b 70 72 69 6e 74 20 6d 65 73 73 61 67 65 20 61 74 20 68 2c 6c 20 74   ┆  prmsg: ;print message at h,l t┆
0x0dfa80…0dfaa0             6f 20 30 0d 0a 09 6d 6f 76 09 61 2c 6d 0d 0a 09 6f 72 61 09 61 09 3b 7a 65 72 6f 3f 0d 0a 09 72   ┆o 0   mov a,m   ora a ;zero?   r┆
0x0dfaa0…0dfac0             7a 0d 0a 3b 09 6d 6f 72 65 20 74 6f 20 70 72 69 6e 74 0d 0a 09 70 75 73 68 09 68 0d 0a 09 6d 6f   ┆z  ; more to print   push h   mo┆
0x0dfac0…0dfae0             76 09 63 2c 61 0d 0a 09 63 61 6c 6c 09 63 6f 6e 6f 75 74 0d 0a 09 70 6f 70 09 68 0d 0a 09 69 6e   ┆v c,a   call conout   pop h   in┆
0x0dfae0…0dfb00             78 09 68 0d 0a 09 6a 6d 70 09 70 72 6d 73 67 0d 0a 3b 0d 0a 73 65 74 66 75 6e 63 3a 0d 0a 3b 09   ┆x h   jmp prmsg  ;  setfunc:  ; ┆
0x0dfb00…0dfb20             73 65 74 20 66 75 6e 63 74 69 6f 6e 20 66 6f 72 20 6e 65 78 74 20 69 2f 6f 20 28 63 6f 6d 6d 61   ┆set function for next i/o (comma┆
0x0dfb20…0dfb40             6e 64 20 69 6e 20 72 65 67 2d 63 29 0d 0a 09 6c 78 69 09 68 2c 69 6f 66 09 3b 69 6f 20 66 75 6e   ┆nd in reg-c)   lxi h,iof ;io fun┆
0x0dfb40…0dfb60             63 74 69 6f 6e 20 61 64 64 72 65 73 73 0d 0a 09 6d 6f 76 09 61 2c 6d 09 3b 67 65 74 20 69 74 20   ┆ction address   mov a,m ;get it ┆
0x0dfb60…0dfb80             74 6f 20 61 63 63 75 6d 75 6c 61 74 6f 72 20 66 6f 72 20 6d 61 73 6b 69 6e 67 0d 0a 09 61 6e 69   ┆to accumulator for masking   ani┆
0x0dfb80…0dfba0             09 31 31 31 31 31 30 30 30 62 09 3b 72 65 6d 6f 76 65 20 70 72 65 76 69 6f 75 73 20 63 6f 6d 6d   ┆ 11111000b ;remove previous comm┆
0x0dfba0…0dfbc0             61 6e 64 0d 0a 09 6f 72 61 09 63 09 3b 73 65 74 20 74 6f 20 6e 65 77 20 63 6f 6d 6d 61 6e 64 0d   ┆and   ora c ;set to new command ┆
0x0dfbc0…0dfbe0             0a 09 6d 6f 76 09 6d 2c 61 09 3b 72 65 70 6c 61 63 65 64 20 69 6e 20 69 6f 70 62 0d 0a 3b 09 74   ┆  mov m,a ;replaced in iopb  ; t┆
0x0dfbe0…0dfc00             68 65 20 6d 64 73 2d 38 30 30 20 63 6f 6e 74 72 6f 6c 6c 65 72 20 72 65 71 75 69 72 65 73 20 64   ┆he mds-800 controller requires d┆
0x0dfc00…0dfc20 (59, 1, 6)  61 6c 66 75 6e 63 74 69 6f 6e 20 28 63 72 63 2c 20 74 72 61 63 6b 2c 20 73 65 65 6b 2c 20 65 74   ┆alfunction (crc, track, seek, et┆
0x0dfc20…0dfc40             63 2e 29 0d 0a 3b 09 74 68 65 20 6d 64 73 20 63 6f 6e 74 72 6f 6c 6c 65 72 20 68 61 73 20 72 65   ┆c.)  ; the mds controller has re┆
0x0dfc40…0dfc60             74 75 72 6e 65 64 20 61 20 62 69 74 20 69 6e 20 65 61 63 68 20 70 6f 73 69 74 69 6f 6e 0d 0a 3b   ┆turned a bit in each position  ;┆
0x0dfc60…0dfc80             09 6f 66 20 74 68 65 20 61 63 63 75 6d 75 6c 61 74 6f 72 2c 20 63 6f 72 72 65 73 70 6f 6e 64 69   ┆ of the accumulator, correspondi┆
0x0dfc80…0dfca0             6e 67 20 74 6f 20 74 68 65 20 63 6f 6e 64 69 74 69 6f 6e 73 3a 0d 0a 3b 09 30 09 2d 20 64 65 6c   ┆ng to the conditions:  ; 0 - del┆
0x0dfca0…0dfcc0             65 74 65 64 20 64 61 74 61 20 28 61 63 63 65 70 74 65 64 20 61 73 20 6f 6b 20 61 62 6f 76 65 29   ┆eted data (accepted as ok above)┆
0x0dfcc0…0dfce0             0d 0a 3b 09 31 09 2d 20 63 72 63 20 65 72 72 6f 72 0d 0a 3b 09 32 09 2d 20 73 65 65 6b 20 65 72   ┆  ; 1 - crc error  ; 2 - seek er┆
0x0dfce0…0dfd00             72 6f 72 0d 0a 3b 09 33 09 2d 20 61 64 64 72 65 73 73 20 65 72 72 6f 72 20 28 68 61 72 64 77 61   ┆ror  ; 3 - address error (hardwa┆
0x0dfd00…0dfd20             72 65 20 6d 61 6c 66 75 6e 63 74 69 6f 6e 29 0d 0a 3b 09 34 09 2d 20 64 61 74 61 20 6f 76 65 72   ┆re malfunction)  ; 4 - data over┆
0x0dfd20…0dfd40             2f 75 6e 64 65 72 20 66 6c 6f 77 20 28 68 61 72 64 77 61 72 65 20 6d 61 6c 66 75 6e 63 74 69 6f   ┆/under flow (hardware malfunctio┆
0x0dfd40…0dfd60             6e 29 0d 0a 3b 09 35 09 2d 20 77 72 69 74 65 20 70 72 6f 74 65 63 74 20 28 74 72 65 61 74 65 64   ┆n)  ; 5 - write protect (treated┆
0x0dfd60…0dfd80             20 61 73 20 6e 6f 74 20 72 65 61 64 79 29 0d 0a 3b 09 36 09 2d 20 77 72 69 74 65 20 65 72 72 6f   ┆ as not ready)  ; 6 - write erro┆
0x0dfd80…0dfda0             72 20 28 68 61 72 64 77 61 72 65 20 6d 61 6c 66 75 6e 63 74 69 6f 6e 29 0d 0a 3b 09 37 09 2d 20   ┆r (hardware malfunction)  ; 7 - ┆
0x0dfda0…0dfdc0             6e 6f 74 20 72 65 61 64 79 0d 0a 3b 09 28 61 63 63 75 6d 75 6c 61 74 6f 72 20 62 69 74 73 20 61   ┆not ready  ; (accumulator bits a┆
0x0dfdc0…0dfde0             72 65 20 6e 75 6d 62 65 72 65 64 20 37 20 36 20 35 20 34 20 33 20 32 20 31 20 30 29 0d 0a 3b 0d   ┆re numbered 7 6 5 4 3 2 1 0)  ; ┆
0x0dfde0…0dfe00             0a 3b 09 69 74 20 6d 61 79 20 62 65 20 75 73 65 66 75 6c 20 74 6f 20 66 69 6c 74 65 72 20 6f 75   ┆ ; it may be useful to filter ou┆
0x0dfe00…0dfe20 (59, 1, 7)  61 6c 66 75 6e 63 74 69 6f 6e 20 28 63 72 63 2c 20 74 72 61 63 6b 2c 20 73 65 65 6b 2c 20 65 74   ┆alfunction (crc, track, seek, et┆
0x0dfe20…0dfe40             63 2e 29 0d 0a 3b 09 74 68 65 20 6d 64 73 20 63 6f 6e 74 72 6f 6c 6c 65 72 20 68 61 73 20 72 65   ┆c.)  ; the mds controller has re┆
0x0dfe40…0dfe60             74 75 72 6e 65 64 20 61 20 62 69 74 20 69 6e 20 65 61 63 68 20 70 6f 73 69 74 69 6f 6e 0d 0a 3b   ┆turned a bit in each position  ;┆
0x0dfe60…0dfe80             09 6f 66 20 74 68 65 20 61 63 63 75 6d 75 6c 61 74 6f 72 2c 20 63 6f 72 72 65 73 70 6f 6e 64 69   ┆ of the accumulator, correspondi┆
0x0dfe80…0dfea0             6e 67 20 74 6f 20 74 68 65 20 63 6f 6e 64 69 74 69 6f 6e 73 3a 0d 0a 3b 09 30 09 2d 20 64 65 6c   ┆ng to the conditions:  ; 0 - del┆
0x0dfea0…0dfec0             65 74 65 64 20 64 61 74 61 20 28 61 63 63 65 70 74 65 64 20 61 73 20 6f 6b 20 61 62 6f 76 65 29   ┆eted data (accepted as ok above)┆
0x0dfec0…0dfee0             0d 0a 3b 09 31 09 2d 20 63 72 63 20 65 72 72 6f 72 0d 0a 3b 09 32 09 2d 20 73 65 65 6b 20 65 72   ┆  ; 1 - crc error  ; 2 - seek er┆
0x0dfee0…0dff00             72 6f 72 0d 0a 3b 09 33 09 2d 20 61 64 64 72 65 73 73 20 65 72 72 6f 72 20 28 68 61 72 64 77 61   ┆ror  ; 3 - address error (hardwa┆
0x0dff00…0dff20             72 65 20 6d 61 6c 66 75 6e 63 74 69 6f 6e 29 0d 0a 3b 09 34 09 2d 20 64 61 74 61 20 6f 76 65 72   ┆re malfunction)  ; 4 - data over┆
0x0dff20…0dff40             2f 75 6e 64 65 72 20 66 6c 6f 77 20 28 68 61 72 64 77 61 72 65 20 6d 61 6c 66 75 6e 63 74 69 6f   ┆/under flow (hardware malfunctio┆
0x0dff40…0dff60             6e 29 0d 0a 3b 09 35 09 2d 20 77 72 69 74 65 20 70 72 6f 74 65 63 74 20 28 74 72 65 61 74 65 64   ┆n)  ; 5 - write protect (treated┆
0x0dff60…0dff80             20 61 73 20 6e 6f 74 20 72 65 61 64 79 29 0d 0a 3b 09 36 09 2d 20 77 72 69 74 65 20 65 72 72 6f   ┆ as not ready)  ; 6 - write erro┆
0x0dff80…0dffa0             72 20 28 68 61 72 64 77 61 72 65 20 6d 61 6c 66 75 6e 63 74 69 6f 6e 29 0d 0a 3b 09 37 09 2d 20   ┆r (hardware malfunction)  ; 7 - ┆
0x0dffa0…0dffc0             6e 6f 74 20 72 65 61 64 79 0d 0a 3b 09 28 61 63 63 75 6d 75 6c 61 74 6f 72 20 62 69 74 73 20 61   ┆not ready  ; (accumulator bits a┆
0x0dffc0…0dffe0             72 65 20 6e 75 6d 62 65 72 65 64 20 37 20 36 20 35 20 34 20 33 20 32 20 31 20 30 29 0d 0a 3b 0d   ┆re numbered 7 6 5 4 3 2 1 0)  ; ┆
0x0dffe0…0e0000             0a 3b 09 69 74 20 6d 61 79 20 62 65 20 75 73 65 66 75 6c 20 74 6f 20 66 69 6c 74 65 72 20 6f 75   ┆ ; it may be useful to filter ou┆
0x0e0000…0e0020 (59, 1, 8)  20 20 20 20 20 20 20 20 4f 55 54 20 20 20 20 20 43 52 43 4f 4d 0d 0d 3b 24 46 44 32 37 00 37 00   ┆        OUT     CRCOM  ;$FD27 7 ┆
0x0e0020…0e0040             00 59 80 00 00 06 f7 ff 44 aa 00 00 46 44 30 00 00 00 00 0e 00 03 01 1b 23 05 00 00 46 18 00 10   ┆ Y      D   FD0         #   F   ┆
0x0e0040…0e0060             00 00 00 00 07 d9 22 fe 00 00 48 18 32 30 30 38 20 2a 2a 2a 20 42 4c 4f 43 4b 20 4c 45 4e 47 54   ┆      "   H 2008 *** BLOCK LENGT┆
0x0e0060…0e0080             48 20 45 52 52 4f 52 2c 20 46 49 4c 45 20 00 55 46 3d 20 4c 4f 43 58 58 2b 32 0d 42 4f 54 41 44   ┆H ERROR, FILE  UF= LOCXX+2 BOTAD┆
0x0e0080…0e00a0             3d 20 4c 4f 43 42 55 46 2b 32 0d 58 46 4c 47 3d 20 20 42 4f 54 41 44 2b 32 0d 4c 4f 43 50 52 3d   ┆= LOCBUF+2 XFLG=  BOTAD+2 LOCPR=┆
0x0e00a0…0e00c0             20 58 46 4c 47 2b 31 0d 4c 4f 43 38 30 3d 20 4c 4f 43 50 52 2b 32 0d 4c 4f 43 30 31 3d 20 4c 4f   ┆ XFLG+1 LOC80= LOCPR+2 LOC01= LO┆
0x0e00c0…0e00e0             43 38 30 2b 32 0d 4c 4f 43 41 44 3d 20 4c 4f 43 30 31 2b 32 0d 55 53 48 45 52 3d 20 4c 4f 43 41   ┆C80+2 LOCAD= LOC01+2 USHER= LOCA┆
0x0e00e0…0e0100             44 2b 32 0d 54 49 4d 58 3d 20 20 55 53 48 45 52 2b 31 0d 53 41 56 58 3d 20 20 54 49 4d 58 2b 31   ┆D+2 TIMX=  USHER+1 SAVX=  TIMX+1┆
0x0e0100…0e0120             0d 44 53 4b 4e 4f 3d 20 20 53 41 56 58 2b 34 0d 44 53 4b 41 44 3d 20 20 0d 00 00 00 00 00 00 00   ┆ DSKNO=  SAVX+4 DSKAD=          ┆
0x0e0120…0e0140             00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
          […0x6…]
0x0e0200…0e0220 (59, 1, 9)  69 73 6b 20 62 61 6e 6b 20 62 69 74 20 69 6e 20 73 65 63 74 6f 72 20 62 79 74 65 0d 0a 3b 09 6d   ┆isk bank bit in sector byte  ; m┆
0x0e0220…0e0240             61 73 6b 20 74 68 65 20 62 69 74 20 66 72 6f 6d 20 74 68 65 20 63 75 72 72 65 6e 74 20 69 2f 6f   ┆ask the bit from the current i/o┆
0x0e0240…0e0260             20 66 75 6e 63 74 69 6f 6e 0d 0a 09 61 6e 69 09 30 30 31 30 30 30 30 30 62 09 3b 6d 61 73 6b 20   ┆ function   ani 00100000b ;mask ┆
0x0e0260…0e0280             74 68 65 20 64 69 73 6b 20 73 65 6c 65 63 74 20 62 69 74 0d 0a 09 6c 78 69 09 68 2c 69 6f 73 09   ┆the disk select bit   lxi h,ios ┆
0x0e0280…0e02a0             09 3b 61 64 64 72 65 73 73 20 74 68 65 20 73 65 63 74 6f 72 20 73 65 6c 65 63 74 20 62 79 74 65   ┆ ;address the sector select byte┆
0x0e02a0…0e02c0             0d 0a 09 6f 72 61 09 6d 09 09 3b 73 65 6c 65 63 74 20 70 72 6f 70 65 72 20 64 69 73 6b 20 62 61   ┆   ora m  ;select proper disk ba┆
0x0e02c0…0e02e0             6e 6b 0d 0a 09 6d 6f 76 09 6d 2c 61 09 09 3b 73 65 74 20 64 69 73 6b 20 73 65 6c 65 63 74 20 62   ┆nk   mov m,a  ;set disk select b┆
0x0e02e0…0e0300             69 74 20 6f 6e 2f 6f 66 66 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 77 61 69 74 69 6f 3a 0d 0a 09 6d 76   ┆it on/off   ret  ;  waitio:   mv┆
0x0e0300…0e0320             69 09 63 2c 72 65 74 72 79 09 3b 6d 61 78 20 72 65 74 72 69 65 73 20 62 65 66 6f 72 65 20 70 65   ┆i c,retry ;max retries before pe┆
0x0e0320…0e0340             72 6d 20 65 72 72 6f 72 0d 0a 72 65 77 61 69 74 3a 0d 0a 3b 09 73 74 61 72 74 20 74 68 65 20 69   ┆rm error  rewait:  ; start the i┆
0x0e0340…0e0360             2f 6f 20 66 75 6e 63 74 69 6f 6e 20 61 6e 64 20 77 61 69 74 20 66 6f 72 20 63 6f 6d 70 6c 65 74   ┆/o function and wait for complet┆
0x0e0360…0e0380             69 6f 6e 0d 0a 09 63 61 6c 6c 09 69 6e 74 79 70 65 09 3b 69 6e 20 72 74 79 70 65 0d 0a 09 63 61   ┆ion   call intype ;in rtype   ca┆
0x0e0380…0e03a0             6c 6c 09 69 6e 62 79 74 65 09 3b 63 6c 65 61 72 73 20 74 68 65 20 63 6f 6e 74 72 6f 6c 6c 65 72   ┆ll inbyte ;clears the controller┆
0x0e03a0…0e03c0             0d 0a 3b 0d 0a 09 6c 64 61 09 64 62 61 6e 6b 09 09 3b 73 65 74 20 62 61 6e 6b 20 66 6c 61 67 73   ┆  ;   lda dbank  ;set bank flags┆
0x0e03c0…0e03e0             0d 0a 09 6f 72 61 09 61 09 09 3b 7a 65 72 6f 20 69 66 20 64 72 69 76 65 20 30 2c 31 20 61 6e 64   ┆   ora a  ;zero if drive 0,1 and┆
0x0e03e0…0e0400             20 6e 7a 20 69 66 20 32 2c 33 0d 0a 09 6d 76 69 09 61 2c 69 6f 70 62 20 61 6e 64 20 30 66 66 68   ┆ nz if 2,3   mvi a,iopb and 0ffh┆
0x0e0400…0e0420 (59, 1, 10) 74 20 74 68 65 20 76 61 72 69 6f 75 73 20 63 6f 6e 64 69 74 69 6f 6e 73 2c 0d 0a 3b 09 62 75 74   ┆t the various conditions,  ; but┆
0x0e0420…0e0440             20 77 65 20 77 69 6c 6c 20 67 65 74 20 61 20 70 65 72 6d 61 6e 65 6e 74 20 65 72 72 6f 72 20 6d   ┆ we will get a permanent error m┆
0x0e0440…0e0460             65 73 73 61 67 65 20 69 66 20 69 74 20 69 73 20 6e 6f 74 0d 0a 3b 09 72 65 63 6f 76 65 72 61 62   ┆essage if it is not  ; recoverab┆
0x0e0460…0e0480             6c 65 2e 20 20 69 6e 20 61 6e 79 20 63 61 73 65 2c 20 74 68 65 20 6e 6f 74 20 72 65 61 64 79 20   ┆le.  in any case, the not ready ┆
0x0e0480…0e04a0             63 6f 6e 64 69 74 69 6f 6e 20 69 73 0d 0a 3b 09 74 72 65 61 74 65 64 20 61 73 20 61 20 73 65 70   ┆condition is  ; treated as a sep┆
0x0e04a0…0e04c0             61 72 61 74 65 20 63 6f 6e 64 69 74 69 6f 6e 20 66 6f 72 20 6c 61 74 65 72 20 69 6d 70 72 6f 76   ┆arate condition for later improv┆
0x0e04c0…0e04e0             65 6d 65 6e 74 0d 0a 74 72 79 63 6f 75 6e 74 3a 0d 0a 3b 09 72 65 67 69 73 74 65 72 20 63 20 63   ┆ement  trycount:  ; register c c┆
0x0e04e0…0e0500             6f 6e 74 61 69 6e 73 20 72 65 74 72 79 20 63 6f 75 6e 74 2c 20 64 65 63 72 65 6d 65 6e 74 20 27   ┆ontains retry count, decrement '┆
0x0e0500…0e0520             74 69 6c 20 7a 65 72 6f 0d 0a 09 64 63 72 09 63 0d 0a 09 6a 6e 7a 09 72 65 77 61 69 74 09 3b 66   ┆til zero   dcr c   jnz rewait ;f┆
0x0e0520…0e0540             6f 72 20 61 6e 6f 74 68 65 72 20 74 72 79 0d 0a 3b 0d 0a 3b 09 63 61 6e 6e 6f 74 20 72 65 63 6f   ┆or another try  ;  ; cannot reco┆
0x0e0540…0e0560             76 65 72 20 66 72 6f 6d 20 65 72 72 6f 72 0d 0a 09 6d 76 69 09 61 2c 31 09 3b 65 72 72 6f 72 20   ┆ver from error   mvi a,1 ;error ┆
0x0e0560…0e0580             63 6f 64 65 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 3b 09 69 6e 74 79 70 65 2c 20 69 6e 62 79 74 65 2c   ┆code   ret  ;  ; intype, inbyte,┆
0x0e0580…0e05a0             20 69 6e 73 74 61 74 20 72 65 61 64 20 64 72 69 76 65 20 62 61 6e 6b 20 30 30 20 6f 72 20 31 30   ┆ instat read drive bank 00 or 10┆
0x0e05a0…0e05c0             0d 0a 69 6e 74 79 70 65 3a 09 6c 64 61 09 64 62 61 6e 6b 0d 0a 09 6f 72 61 09 61 0d 0a 09 6a 6e   ┆  intype: lda dbank   ora a   jn┆
0x0e05c0…0e05e0             7a 09 69 6e 74 79 70 31 09 3b 73 6b 69 70 20 74 6f 20 62 61 6e 6b 20 31 30 0d 0a 09 69 6e 09 72   ┆z intyp1 ;skip to bank 10   in r┆
0x0e05e0…0e0600             74 79 70 65 0d 0a 09 72 65 74 0d 0a 69 6e 74 79 70 31 3a 09 69 6e 09 72 74 79 70 65 2b 31 30 68   ┆type   ret  intyp1: in rtype+10h┆
0x0e0600…0e0620 (59, 1, 11) 74 20 74 68 65 20 76 61 72 69 6f 75 73 20 63 6f 6e 64 69 74 69 6f 6e 73 2c 0d 0a 3b 09 62 75 74   ┆t the various conditions,  ; but┆
0x0e0620…0e0640             20 77 65 20 77 69 6c 6c 20 67 65 74 20 61 20 70 65 72 6d 61 6e 65 6e 74 20 65 72 72 6f 72 20 6d   ┆ we will get a permanent error m┆
0x0e0640…0e0660             65 73 73 61 67 65 20 69 66 20 69 74 20 69 73 20 6e 6f 74 0d 0a 3b 09 72 65 63 6f 76 65 72 61 62   ┆essage if it is not  ; recoverab┆
0x0e0660…0e0680             6c 65 2e 20 20 69 6e 20 61 6e 79 20 63 61 73 65 2c 20 74 68 65 20 6e 6f 74 20 72 65 61 64 79 20   ┆le.  in any case, the not ready ┆
0x0e0680…0e06a0             63 6f 6e 64 69 74 69 6f 6e 20 69 73 0d 0a 3b 09 74 72 65 61 74 65 64 20 61 73 20 61 20 73 65 70   ┆condition is  ; treated as a sep┆
0x0e06a0…0e06c0             61 72 61 74 65 20 63 6f 6e 64 69 74 69 6f 6e 20 66 6f 72 20 6c 61 74 65 72 20 69 6d 70 72 6f 76   ┆arate condition for later improv┆
0x0e06c0…0e06e0             65 6d 65 6e 74 0d 0a 74 72 79 63 6f 75 6e 74 3a 0d 0a 3b 09 72 65 67 69 73 74 65 72 20 63 20 63   ┆ement  trycount:  ; register c c┆
0x0e06e0…0e0700             6f 6e 74 61 69 6e 73 20 72 65 74 72 79 20 63 6f 75 6e 74 2c 20 64 65 63 72 65 6d 65 6e 74 20 27   ┆ontains retry count, decrement '┆
0x0e0700…0e0720             74 69 6c 20 7a 65 72 6f 0d 0a 09 64 63 72 09 63 0d 0a 09 6a 6e 7a 09 72 65 77 61 69 74 09 3b 66   ┆til zero   dcr c   jnz rewait ;f┆
0x0e0720…0e0740             6f 72 20 61 6e 6f 74 68 65 72 20 74 72 79 0d 0a 3b 0d 0a 3b 09 63 61 6e 6e 6f 74 20 72 65 63 6f   ┆or another try  ;  ; cannot reco┆
0x0e0740…0e0760             76 65 72 20 66 72 6f 6d 20 65 72 72 6f 72 0d 0a 09 6d 76 69 09 61 2c 31 09 3b 65 72 72 6f 72 20   ┆ver from error   mvi a,1 ;error ┆
0x0e0760…0e0780             63 6f 64 65 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 3b 09 69 6e 74 79 70 65 2c 20 69 6e 62 79 74 65 2c   ┆code   ret  ;  ; intype, inbyte,┆
0x0e0780…0e07a0             20 69 6e 73 74 61 74 20 72 65 61 64 20 64 72 69 76 65 20 62 61 6e 6b 20 30 30 20 6f 72 20 31 30   ┆ instat read drive bank 00 or 10┆
0x0e07a0…0e07c0             0d 0a 69 6e 74 79 70 65 3a 09 6c 64 61 09 64 62 61 6e 6b 0d 0a 09 6f 72 61 09 61 0d 0a 09 6a 6e   ┆  intype: lda dbank   ora a   jn┆
0x0e07c0…0e07e0             7a 09 69 6e 74 79 70 31 09 3b 73 6b 69 70 20 74 6f 20 62 61 6e 6b 20 31 30 0d 0a 09 69 6e 09 72   ┆z intyp1 ;skip to bank 10   in r┆
0x0e07e0…0e0800             74 79 70 65 0d 0a 09 72 65 74 0d 0a 69 6e 74 79 70 31 3a 09 69 6e 09 72 74 79 70 65 2b 31 30 68   ┆type   ret  intyp1: in rtype+10h┆
0x0e0800…0e0a00 (59, 1, 12) 0x40[0x200]
0x0e0a00…0e0a20 (59, 1, 13) 09 3b 6c 6f 77 20 61 64 64 72 65 73 73 20 66 6f 72 20 69 6f 70 62 0d 0a 09 6d 76 69 09 62 2c 69   ┆ ;low address for iopb   mvi b,i┆
0x0e0a20…0e0a40             6f 70 62 20 73 68 72 20 38 09 3b 68 69 67 68 20 61 64 64 72 65 73 73 20 66 6f 72 20 69 6f 70 62   ┆opb shr 8 ;high address for iopb┆
0x0e0a40…0e0a60             0d 0a 09 6a 6e 7a 09 69 6f 64 72 31 09 3b 64 72 69 76 65 20 62 61 6e 6b 20 31 3f 0d 0a 09 6f 75   ┆   jnz iodr1 ;drive bank 1?   ou┆
0x0e0a60…0e0a80             74 09 69 6c 6f 77 09 09 3b 6c 6f 77 20 61 64 64 72 65 73 73 20 74 6f 20 63 6f 6e 74 72 6f 6c 6c   ┆t ilow  ;low address to controll┆
0x0e0a80…0e0aa0             65 72 0d 0a 09 6d 6f 76 09 61 2c 62 0d 0a 09 6f 75 74 09 69 68 69 67 68 09 3b 68 69 67 68 20 61   ┆er   mov a,b   out ihigh ;high a┆
0x0e0aa0…0e0ac0             64 64 72 65 73 73 0d 0a 09 6a 6d 70 09 77 61 69 74 30 09 09 3b 74 6f 20 77 61 69 74 20 66 6f 72   ┆ddress   jmp wait0  ;to wait for┆
0x0e0ac0…0e0ae0             20 63 6f 6d 70 6c 65 74 65 0d 0a 3b 0d 0a 69 6f 64 72 31 3a 09 3b 64 72 69 76 65 20 62 61 6e 6b   ┆ complete  ;  iodr1: ;drive bank┆
0x0e0ae0…0e0b00             20 31 0d 0a 09 6f 75 74 09 69 6c 6f 77 2b 31 30 68 09 3b 38 38 20 66 6f 72 20 64 72 69 76 65 20   ┆ 1   out ilow+10h ;88 for drive ┆
0x0e0b00…0e0b20             62 61 6e 6b 20 31 30 0d 0a 09 6d 6f 76 09 61 2c 62 0d 0a 09 6f 75 74 09 69 68 69 67 68 2b 31 30   ┆bank 10   mov a,b   out ihigh+10┆
0x0e0b20…0e0b40             68 0d 0a 3b 0d 0a 77 61 69 74 30 3a 09 63 61 6c 6c 09 69 6e 73 74 61 74 09 09 3b 77 61 69 74 20   ┆h  ;  wait0: call instat  ;wait ┆
0x0e0b40…0e0b60             66 6f 72 20 63 6f 6d 70 6c 65 74 69 6f 6e 0d 0a 09 61 6e 69 09 69 6f 72 64 79 09 09 3b 72 65 61   ┆for completion   ani iordy  ;rea┆
0x0e0b60…0e0b80             64 79 3f 0d 0a 09 6a 7a 09 77 61 69 74 30 0d 0a 3b 0d 0a 3b 09 63 68 65 63 6b 20 69 6f 20 63 6f   ┆dy?   jz wait0  ;  ; check io co┆
0x0e0b80…0e0ba0             6d 70 6c 65 74 69 6f 6e 20 6f 6b 0d 0a 09 63 61 6c 6c 09 69 6e 74 79 70 65 09 09 3b 6d 75 73 74   ┆mpletion ok   call intype  ;must┆
0x0e0ba0…0e0bc0             20 62 65 20 69 6f 20 63 6f 6d 70 6c 65 74 65 20 28 30 30 29 20 75 6e 6c 69 6e 6b 65 64 0d 0a 3b   ┆ be io complete (00) unlinked  ;┆
0x0e0bc0…0e0be0             09 30 30 20 75 6e 6c 69 6e 6b 65 64 20 69 2f 6f 20 63 6f 6d 70 6c 65 74 65 2c 20 20 20 20 30 31   ┆ 00 unlinked i/o complete,    01┆
0x0e0be0…0e0c00             20 6c 69 6e 6b 65 64 20 69 2f 6f 20 63 6f 6d 70 6c 65 74 65 20 28 6e 6f 74 20 75 73 65 64 29 0d   ┆ linked i/o complete (not used) ┆
0x0e0c00…0e0c20 (59, 1, 14) 09 3b 37 38 20 66 6f 72 20 30 2c 31 20 20 38 38 20 66 6f 72 20 32 2c 33 0d 0a 09 72 65 74 0d 0a   ┆ ;78 for 0,1  88 for 2,3   ret  ┆
0x0e0c20…0e0c40             3b 0d 0a 69 6e 62 79 74 65 3a 09 6c 64 61 09 64 62 61 6e 6b 0d 0a 09 6f 72 61 09 61 0d 0a 09 6a   ┆;  inbyte: lda dbank   ora a   j┆
0x0e0c40…0e0c60             6e 7a 09 69 6e 62 79 74 31 0d 0a 09 69 6e 09 72 62 79 74 65 0d 0a 09 72 65 74 0d 0a 69 6e 62 79   ┆nz inbyt1   in rbyte   ret  inby┆
0x0e0c60…0e0c80             74 31 3a 09 69 6e 09 72 62 79 74 65 2b 31 30 68 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 69 6e 73 74 61   ┆t1: in rbyte+10h   ret  ;  insta┆
0x0e0c80…0e0ca0             74 3a 09 6c 64 61 09 64 62 61 6e 6b 0d 0a 09 6f 72 61 09 61 0d 0a 09 6a 6e 7a 09 69 6e 73 74 61   ┆t: lda dbank   ora a   jnz insta┆
0x0e0ca0…0e0cc0             31 0d 0a 09 69 6e 09 64 73 74 61 74 0d 0a 09 72 65 74 0d 0a 69 6e 73 74 61 31 3a 09 69 6e 09 64   ┆1   in dstat   ret  insta1: in d┆
0x0e0cc0…0e0ce0             73 74 61 74 2b 31 30 68 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 3b 0d 0a 3b 0d 0a 3b 09 64 61 74 61 20   ┆stat+10h   ret  ;  ;  ;  ; data ┆
0x0e0ce0…0e0d00             61 72 65 61 73 20 28 6d 75 73 74 20 62 65 20 69 6e 20 72 61 6d 29 0d 0a 64 62 61 6e 6b 3a 09 64   ┆areas (must be in ram)  dbank: d┆
0x0e0d00…0e0d20             62 09 30 09 3b 64 69 73 6b 20 62 61 6e 6b 20 30 30 20 69 66 20 64 72 69 76 65 20 30 2c 31 0d 0a   ┆b 0 ;disk bank 00 if drive 0,1  ┆
0x0e0d20…0e0d40             09 09 09 3b 09 20 20 20 31 30 20 69 66 20 64 72 69 76 65 20 32 2c 33 0d 0a 69 6f 70 62 3a 09 3b   ┆   ;    10 if drive 2,3  iopb: ;┆
0x0e0d40…0e0d60             69 6f 20 70 61 72 61 6d 65 74 65 72 20 62 6c 6f 63 6b 0d 0a 09 64 62 09 38 30 68 09 3b 6e 6f 72   ┆io parameter block   db 80h ;nor┆
0x0e0d60…0e0d80             6d 61 6c 20 69 2f 6f 20 6f 70 65 72 61 74 69 6f 6e 0d 0a 69 6f 66 3a 09 64 62 09 72 65 61 64 66   ┆mal i/o operation  iof: db readf┆
0x0e0d80…0e0da0             09 3b 69 6f 20 66 75 6e 63 74 69 6f 6e 2c 20 69 6e 69 74 69 61 6c 20 72 65 61 64 0d 0a 69 6f 6e   ┆ ;io function, initial read  ion┆
0x0e0da0…0e0dc0             3a 09 64 62 09 31 09 3b 6e 75 6d 62 65 72 20 6f 66 20 73 65 63 74 6f 72 73 20 74 6f 20 72 65 61   ┆: db 1 ;number of sectors to rea┆
0x0e0dc0…0e0de0             64 0d 0a 69 6f 74 3a 09 64 62 09 6f 66 66 73 65 74 09 3b 74 72 61 63 6b 20 6e 75 6d 62 65 72 0d   ┆d  iot: db offset ;track number ┆
0x0e0de0…0e0e00             0a 69 6f 73 3a 09 64 62 09 31 09 3b 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 0d 0a 69 6f 64 3a 09   ┆ ios: db 1 ;sector number  iod: ┆
0x0e0e00…0e0e20 (59, 1, 15) 09 3b 37 38 20 66 6f 72 20 30 2c 31 20 20 38 38 20 66 6f 72 20 32 2c 33 0d 0a 09 72 65 74 0d 0a   ┆ ;78 for 0,1  88 for 2,3   ret  ┆
0x0e0e20…0e0e40             3b 0d 0a 69 6e 62 79 74 65 3a 09 6c 64 61 09 64 62 61 6e 6b 0d 0a 09 6f 72 61 09 61 0d 0a 09 6a   ┆;  inbyte: lda dbank   ora a   j┆
0x0e0e40…0e0e60             6e 7a 09 69 6e 62 79 74 31 0d 0a 09 69 6e 09 72 62 79 74 65 0d 0a 09 72 65 74 0d 0a 69 6e 62 79   ┆nz inbyt1   in rbyte   ret  inby┆
0x0e0e60…0e0e80             74 31 3a 09 69 6e 09 72 62 79 74 65 2b 31 30 68 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 69 6e 73 74 61   ┆t1: in rbyte+10h   ret  ;  insta┆
0x0e0e80…0e0ea0             74 3a 09 6c 64 61 09 64 62 61 6e 6b 0d 0a 09 6f 72 61 09 61 0d 0a 09 6a 6e 7a 09 69 6e 73 74 61   ┆t: lda dbank   ora a   jnz insta┆
0x0e0ea0…0e0ec0             31 0d 0a 09 69 6e 09 64 73 74 61 74 0d 0a 09 72 65 74 0d 0a 69 6e 73 74 61 31 3a 09 69 6e 09 64   ┆1   in dstat   ret  insta1: in d┆
0x0e0ec0…0e0ee0             73 74 61 74 2b 31 30 68 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 3b 0d 0a 3b 0d 0a 3b 09 64 61 74 61 20   ┆stat+10h   ret  ;  ;  ;  ; data ┆
0x0e0ee0…0e0f00             61 72 65 61 73 20 28 6d 75 73 74 20 62 65 20 69 6e 20 72 61 6d 29 0d 0a 64 62 61 6e 6b 3a 09 64   ┆areas (must be in ram)  dbank: d┆
0x0e0f00…0e0f20             62 09 30 09 3b 64 69 73 6b 20 62 61 6e 6b 20 30 30 20 69 66 20 64 72 69 76 65 20 30 2c 31 0d 0a   ┆b 0 ;disk bank 00 if drive 0,1  ┆
0x0e0f20…0e0f40             09 09 09 3b 09 20 20 20 31 30 20 69 66 20 64 72 69 76 65 20 32 2c 33 0d 0a 69 6f 70 62 3a 09 3b   ┆   ;    10 if drive 2,3  iopb: ;┆
0x0e0f40…0e0f60             69 6f 20 70 61 72 61 6d 65 74 65 72 20 62 6c 6f 63 6b 0d 0a 09 64 62 09 38 30 68 09 3b 6e 6f 72   ┆io parameter block   db 80h ;nor┆
0x0e0f60…0e0f80             6d 61 6c 20 69 2f 6f 20 6f 70 65 72 61 74 69 6f 6e 0d 0a 69 6f 66 3a 09 64 62 09 72 65 61 64 66   ┆mal i/o operation  iof: db readf┆
0x0e0f80…0e0fa0             09 3b 69 6f 20 66 75 6e 63 74 69 6f 6e 2c 20 69 6e 69 74 69 61 6c 20 72 65 61 64 0d 0a 69 6f 6e   ┆ ;io function, initial read  ion┆
0x0e0fa0…0e0fc0             3a 09 64 62 09 31 09 3b 6e 75 6d 62 65 72 20 6f 66 20 73 65 63 74 6f 72 73 20 74 6f 20 72 65 61   ┆: db 1 ;number of sectors to rea┆
0x0e0fc0…0e0fe0             64 0d 0a 69 6f 74 3a 09 64 62 09 6f 66 66 73 65 74 09 3b 74 72 61 63 6b 20 6e 75 6d 62 65 72 0d   ┆d  iot: db offset ;track number ┆
0x0e0fe0…0e1000             0a 69 6f 73 3a 09 64 62 09 31 09 3b 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 0d 0a 69 6f 64 3a 09   ┆ ios: db 1 ;sector number  iod: ┆
0x0e1000…0e1020 (60, 0, 1)  2c c3 8f 03 21 c5 34 c3 f1 08 21 c9 34 c3 f1 08 21 b7 34 cd d4 2b b7 c9 e5 21 41 0a 35 21 c7 34   ┆,   ! 4   ! 4   ! 4  +   !A 5! 4┆
0x0e1020…0e1040             cc d4 2b e1 c9 2a 76 0e 2b 22 76 0e cd 53 09 21 20 01 06 00 36 20 23 04 78 ca 46 09 e6 07 c2 34   ┆  +  *v +"v  S !    6 # x F    4┆
0x0e1040…0e1060             09 36 2e c3 36 09 21 00 00 22 2e 0a 2a 91 0e 22 2a 0a c9 11 20 01 2a 73 2d 26 00 19 22 7f 34 22   ┆ 6. 6 !  ". *  "*     *s-&  " 4"┆
0x0e1060…0e1080             92 34 3a 41 02 c6 7f 32 7e 34 32 91 34 cd 81 2b c9 7a bc c0 7b bd c9 06 00 09 09 5e 23 56 d5 c9   ┆ 4:A   2ü42 4  + z  æ      ^#V  ┆
0x0e1080…0e10a0             0e 0a 21 cb 34 cd d6 2b 21 40 0a 35 c2 9c 09 34 3a 2e 03 21 40 0a 46 77 05 cc f1 2b 3a 40 0a c6   ┆  ! 4  +!@ 5   4:. !@ Fw   +:@  ┆
0x0e10a0…0e10c0             30 2a a7 34 cd 0f 32 77 fe 52 11 94 34 ca c3 09 fe 33 11 6e 34 ca c3 09 d2 80 09 fe 31 ca f1 2b   ┆0* 4  2w R  4    3 n4       1  +┆
0x0e10c0…0e10e0             11 81 34 eb cd 16 2c c9 7e 12 23 13 05 c2 c8 09 c9 0e 0f c3 d8 09 0e 16 cd eb 09 fe f5 d2 e9 09   ┆  4   , ü #                     ┆
0x0e10e0…0e1100             e5 21 20 00 19 af 77 e1 c9 b7 c9 e5 c5 d5 79 d6 0f fe 09 d2 1a 0a 1a 47 d5 c5 3d f2 01 0a 3a 80   ┆ !    w       y        G  =   : ┆
0x0e1100…0e1120             0e 32 46 0a 5f 0e 0e cd 05 00 c1 d1 af 12 c5 cd 05 00 c1 e1 70 eb b7 c1 e1 c9 cd 05 00 b7 d1 c1   ┆ 2F _               p           ┆
0x0e1120…0e1140             e1 c9 05 27 c3 f8 25 0a 00 50 27 3e 12 01 d0 03 00 00 00 00 00 00 00 00 00 00 00 00 00 12 77 2b   ┆   '  %  P'>                  w+┆
0x0e1140…0e1160             04 10 3e 06 2b 36 00 06 01 21 53 01 cd 16 31 04 21 17 01 cd 16 31 01 0b 04 21 8f 01 cd 1b 31 cd   ┆  > +6   !S   1 !    1   !    1 ┆
0x0e1160…0e1180             66 0a cd 66 0a c9 f5 e5 21 d5 34 cd 23 31 e1 f1 c9 cd 66 0a eb cd 23 31 eb c9 f5 11 5c 00 06 10   ┆f  f    ! 4 #1    f   #1    Ø   ┆
0x0e1180…0e11a0             cd c8 09 11 5c 00 cd d1 09 c2 00 00 cd 2a 33 fe 03 ca 00 00 21 00 01 c1 f9 c5 21 67 0e 11 80 00   ┆    Ø        *3     !     !g    ┆
0x0e11a0…0e11c0             06 0c cd c8 09 21 ba 0a 11 8c 00 06 6c cd c8 09 21 00 01 eb 2a 06 00 c3 8c 00 d5 0e 0b cd 05 00   ┆     !      l   !   *           ┆
0x0e11c0…0e11e0             b7 0e 01 c4 05 00 fe 03 ca 00 00 d1 d5 0e 1a cd 05 00 11 5c 00 0e 14 cd 05 00 d1 21 80 00 19 eb   ┆                   Ø       !    ┆
0x0e11e0…0e1200             b7 ca 8c 00 fe 01 c2 00 00 11 80 00 0e 1a cd 05 00 f1 c3 09 01 2a 6a 34 11 6a 34 19 eb 2a 2c 03   ┆                     *j4 j4  *, ┆
0x0e1200…0e1220 (60, 0, 2)  11 c4 05 11 c9 05 23 7e c9 04 2b cd 05 11 c8 fe f7 d8 fe fe da 0b 11 cd 05 11 c8 fe f7 da 17 11   ┆      #ü  +                     ┆
0x0e1220…0e1240             c3 0b 11 e5 d5 c5 eb 0e 00 2a 93 0e 23 23 cd 56 12 ca 41 11 0c cd 2c 0b c2 2e 11 cd 56 12 c2 04   ┆         *  ## V  A   ,  .  V   ┆
0x0e1240…0e1260             09 79 c1 d1 e1 c9 e5 d5 c5 2a 2e 0a 67 cd 34 13 cd 19 10 cd 85 11 32 f9 15 21 fa 15 34 c1 d1 e1   ┆ y       *. g 4       2  !  4   ┆
0x0e1260…0e1280             c9 3a f9 15 4f 3a fa 15 57 b7 c8 79 cd 68 0b cd 42 14 2a 43 0a 6f cd 34 13 1e 00 37 cd a3 10 0d   ┆ :  O:  W  y h  B *C o 4   7    ┆
0x0e1280…0e12a0             15 c2 6b 11 c9 e5 d5 c5 2a 93 0e 46 05 cd a4 11 78 da a0 11 cd 34 13 f5 eb cd 1f 13 cd d2 11 f1   ┆  k     *  F    x    4          ┆
0x0e12a0…0e12c0             c1 d1 e1 c9 2a 2a 0a eb 2a 2e 0a cd bd 11 d8 ca ab 11 e5 f1 e5 cd bd 11 c2 b3 11 e1 c9 2c 3a 8f   ┆    **  *.                   ,: ┆
0x0e12c0…0e12e0             0e 95 c2 cd 11 6f 24 3a 90 0e bc 37 c8 1a 13 e6 7c c9 c5 d5 e5 cd 53 0b cd de 08 c5 cd 4f 12 cd   ┆     o$:   7    ø     S      O  ┆
0x0e12e0…0e1300             28 12 da e8 11 c1 09 c5 e3 eb cd 03 15 eb e1 cd 53 0b c5 cd 5c 12 d1 7b 2f 5f 7a 2f 57 13 cd 03   ┆(               S   Ø  æ/_z/W   ┆
0x0e1300…0e1320             15 e1 d1 c1 c9 e5 cd 4d 14 0b 01 04 00 09 4f 56 ba d2 16 12 4a 57 cd 72 12 51 cd 72 12 e1 e5 cd   ┆       M      OV    JW r Q r    ┆
0x0e1320…0e1340             63 15 57 c4 83 12 e1 c9 e5 d5 c5 f5 f5 cd 23 11 6f f1 da 36 12 2c eb cd 23 11 eb 67 1e 01 4c 0c   ┆c W           # o  6 ,  #  g  L ┆
0x0e1340…0e1360             cd a2 10 7d 1e ff 0d cd a2 10 f1 c1 d1 e1 c9 7d 93 4f 7c 9a 47 c0 7c ba c0 7d bb c9 7e 12 13 23   ┆   å           å Oø G ø  å  ü  #┆
0x0e1360…0e1380             0b 78 b1 c2 5c 12 c9 7e 12 1b 2b 0b 78 b1 c2 67 12 c9 14 15 c8 3e 0b cd 97 12 e5 21 8e 0e 3e 0f   ┆ x  Ø  ü  + x  g     >     !  > ┆
0x0e1380…0e13a0             c3 8e 12 e5 21 99 0e 1c cc bd 12 1d 3e 08 f5 7e 83 77 cc b9 12 f1 e1 14 15 c8 e5 c5 32 a8 12 2a   ┆    !       >  ü w          2  *┆
0x0e13a0…0e13c0             93 0e 23 23 e5 cd 4d 14 00 ba da af 12 83 77 e1 cd 2c 0b c2 a4 12 c1 e1 c9 83 f8 35 c9 7e ba c0   ┆  ##  M       w  ,         5 ü  ┆
0x0e13c0…0e13e0             e5 21 8d 0e 7e e6 fb 77 e1 c9 e5 c5 2a 93 0e 23 23 e5 cd 3d 14 ba da ef 12 c2 ed 12 1c 1d f2 ed   ┆ !  ü  w    *  ##  =            ┆
0x0e13e0…0e1400             12 e1 d5 cd 63 10 d1 cd f9 12 c3 f3 12 83 77 e1 cd 2c 0b c2 d1 12 c1 e1 c9 7e b7 c9 e5 c5 44 4d   ┆    c         w  ,       ü    DM┆
0x0e1400…0e1420 (60, 0, 3)  0d c9 12 13 0d 23 fe 22 cc 21 19 05 c8 7e fe f7 da 02 19 c9 e5 21 24 19 c6 02 23 3c c2 1a 19 7e   ┆     # " !   ü       !$   #<   ü┆
0x0e1420…0e1440             e1 12 13 0d c9 2b 2d 2a 2f 5e 28 29 3f ff 7e fe fe c8 23 d5 c5 5e 23 56 23 cd 47 19 c1 d1 d2 2e   ┆     +-*/^()? ü   #  ^#V# G    .┆
0x0e1440…0e1460             19 2b 11 28 22 12 c9 cd 35 17 6b 19 78 19 88 19 af 19 88 19 b6 19 c4 19 da 19 e1 19 eb 19 01 1a   ┆ + ("   5 k x                   ┆
0x0e1460…0e1480             e5 2a 23 22 7b cd 51 14 a2 e1 c9 cd 60 19 c0 7e 23 fe fe c2 6f 19 37 c9 cd 60 19 c0 e5 2a 25 22   ┆ *#"æ Q     `  ü#   o 7  `   *%"┆
0x0e1480…0e14a0             78 2f a6 77 e1 c3 6f 19 cd 60 19 c0 e5 21 8e 0e cd 97 19 e1 c3 6f 19 e5 2a 25 22 56 af 77 b2 e1   ┆x/ w  o  `   !       o  *%"V w  ┆
0x0e14a0…0e14c0             c8 1e ff 3e 0b cd 97 12 3e 0f cd 97 12 35 c9 cd 60 19 c8 c3 6f 19 cd 60 19 c0 e5 06 00 cd be 20   ┆   >    >    5  `   o  `        ┆
0x0e14c0…0e14e0             e1 c3 6f 19 cd 60 19 c0 e5 2a 23 22 cd 17 14 57 1e f4 3e 14 c4 d0 20 c3 7d 19 3a 99 0e 3d c3 6e   ┆  o  `   *#"   W  >     å :  = n┆
0x0e14e0…0e1500             19 cd 60 19 c0 11 06 02 c3 78 19 cd 60 19 e5 21 99 0e 96 32 3e 22 7e e1 c2 6f 19 fe 02 d0 c3 6f   ┆  `      x  `  !   2>"ü  o     o┆
0x0e1500…0e1520             19 cd 60 19 c8 3a 3e 22 b7 c0 cd 6f 19 cd 72 1d b7 37 c9 e5 d5 c5 2a 2b 22 65 eb 22 3a 22 3a 3d   ┆  `  :>"   o  r  7    *+"e ":":=┆
0x0e1520…0e1540             22 b7 ca 33 1a 7a 93 32 28 0a cd e3 2c c4 b6 33 cd 6d 04 e5 2a 1b 34 cd 99 2e e1 cd 7a 32 4f fe   ┆"  3 z 2(   ,  3 m  * 4  .  z2O ┆
0x0e1540…0e1560             0d ca 63 1a fe 20 da 3b 1c fe 7f 3f d4 95 1d da 1e 1a 71 cd 9b 2f e5 2a 23 22 c3 5d 1a e1 23 1d   ┆  c    ;   ?      q  / *#" Å  # ┆
0x0e1560…0e1580             c2 1e 1a c1 d1 e1 3a 22 22 fe 0f c0 e5 d5 c5 21 00 00 cd 8f 1a da 1e 1a 45 cd be 20 2a 40 22 45   ┆      :""      !        E   *@"E┆
0x0e1580…0e15a0             2a 23 22 cd 4d 14 05 e6 7f b0 77 c1 d1 e1 c9 af 32 40 22 3a 3c 22 b7 c2 47 1b 06 00 cd b7 1a cd   ┆*#" M     w     2@":<"  G       ┆
0x0e15a0…0e15c0             c7 1a da e6 1b cd 24 1b cd 36 1b da f9 1b f2 9c 1a 04 05 c2 ff 1b c9 cd ca 1b fe 28 c0 3e f8 cd   ┆      $  6                 ( >  ┆
0x0e15c0…0e15e0             d2 1b 13 04 c3 b7 1a cd ca 1b fe 23 ca fd 1a 3e fe cd d2 1b 1a c5 01 01 00 fe 2d c2 e5 1a cd d2   ┆           #   >          -     ┆
0x0e15e0…0e1600             1b 13 cd ca 1b 0d c2 ee 1a fe 2e ca de 1a 0c 04 d6 30 fe 0a 1a da de 1a 05 c1 c0 37 c9 13 cd ca   ┆          .      0         7    ┆
0x0e1600…0e1620 (60, 0, 4)  22 be c0 cd a4 17 cd 6f 21 36 f6 c9 d5 2a 2b 22 1a fe 3f ca 1b 21 13 2d c2 10 21 2c 2d d1 c9 eb   ┆"      o!6   *+"  ?  ! -  !,-   ┆
0x0e1620…0e1640             3a 2b 22 5f 7e b7 c2 31 21 3e 20 cd 65 1d c3 24 21 23 1d c2 24 21 c9 c5 3a 2b 22 4f af 47 1a d6   ┆:+"_ü  1!>  e  $!#  $!  :+"O G  ┆
0x0e1640…0e1660             30 fe 0a 78 d2 5b 21 fe 1a 3f da 5b 21 87 87 80 87 47 1a 13 d6 30 80 0d c2 3d 21 32 2d 22 c1 d0   ┆0  x Æ!  ? Æ!    G   0   =!2-"  ┆
0x0e1660…0e1680             af 32 2d 22 3d c9 21 2d 22 be c8 77 cd ca 17 e5 2a 33 22 cd 35 2f e1 0e 2f cd 80 2f cd 81 21 7e   ┆ 2-"= !-"  w    *3" 5/  /  /  !ü┆
0x0e1680…0e16a0             c9 e5 d5 c5 3a 3d 22 b7 c4 23 30 eb 3a 2b 22 5f cd 97 21 c1 d1 e1 c9 3a 3d 22 b7 c2 be 21 e5 d5   ┆    :="  #0 :+"_  !    :="   !  ┆
0x0e16a0…0e16c0             e5 2a 1b 34 e3 4e cd 9b 2f 23 1d c2 a5 21 2a 1b 34 22 33 22 cd 23 30 e1 cd 35 2f d1 e1 c9 cd 58   ┆ * 4 N  /#   !* 4"3" #0  5/    X┆
0x0e16c0…0e16e0             2b cd 66 2b cd b6 33 c9 af e5 c5 47 2a 1d 22 cd 24 32 cd 00 22 7e 23 cd ea 21 7e 23 fe 00 c2 d7   ┆+ f+  3    G* " $2  "ü#  !ü#    ┆
0x0e16e0…0e1700             21 2a 1b 34 22 35 22 c1 e1 c9 fe fd ca fb 21 04 05 c0 fe fc ca 0c 22 4f c3 9b 2f 04 05 cc 23 30   ┆!* 4"5"       !       "O  /   #0┆
0x0e1700…0e1720             e5 2a 1b 34 24 2e 00 cd 35 2f e1 c9 e5 0e 20 21 1b 34 cd 9b 2f 7e fe 1f da 12 22 e1 c9 01 32 05   ┆ * 4$.  5/     ! 4  /ü    "   2 ┆
0x0e1720…0e1740             43 46 04 05 c8 23 4e 79 e6 7e fe 02 cc 00 3e cd 3b 3e c3 ee 3d e5 d5 eb 2a 03 18 79 e6 00 b6 00   ┆CF   #Ny ü    > ;>  =   *  y    ┆
0x0e1740…0e1760             1b 23 1a e6 7e fe 02 ca 06 3e d1 e1 c9 cd a8 3c af 32 05 43 c9 79 fe 20 d2 2f 3e fe 0d c0 e5 cd   ┆ #  ü    >     < 2 C y   />     ┆
0x0e1760…0e1780             06 40 e1 c9 cd 3b 3e e5 2a bb 42 cd 39 3d e1 c9 e5 d5 c5 3a 05 43 b7 c2 a4 3e 79 cd b2 3e 4f cd   ┆ @   ;> * B 9=     : C   >y  >O ┆
0x0e1780…0e17a0             51 3e c1 d1 e1 c9 cd 96 3c c2 78 3e 79 2a b1 42 be ca 89 3e 2a bb 42 cd 45 3d cd a1 3e cd 89 3e   ┆Q>      < x>y* B   >* B E=  >  >┆
0x0e17a0…0e17c0             2a bb 42 22 bf 42 2a b1 42 22 b3 42 c9 2a b3 42 eb 2a b1 42 cd b6 39 c2 89 3e 79 32 b5 42 21 bb   ┆* B" B* B" B * B * B  9  >y2 B! ┆
0x0e17c0…0e17e0             42 34 2a b1 42 71 23 22 b1 42 c5 3a bc 42 4f 06 00 cd fb 40 c1 c9 e5 d5 c5 cd 27 3f 79 cd 00 00   ┆B4* Bq#" B : BO    @      '?y   ┆
0x0e17e0…0e1800             cd f6 41 c1 d1 e1 c9 07 fe 02 d2 ba 3e c6 be fe 04 d2 c1 3e c6 52 0f c9 e5 d5 c5 0e 20 cd b1 3c   ┆  A         >      > R         <┆
0x0e1800…0e1820 (60, 0, 5)  cd 71 09 da 07 0b eb 11 64 00 19 22 2c 03 d1 f9 d5 0e 19 cd eb 09 32 80 0e c9 0e 0e 3a 80 0e 5f   ┆ q      d  ",         2     :  _┆
0x0e1820…0e1840             cd eb 09 11 80 00 0e 1a cd eb 09 c9 c5 cd 53 0b 09 c1 7e b7 c9 d5 2b 5e 16 00 7b b7 23 ca 51 0b   ┆              S   ü   +^  æ # Q ┆
0x0e1840…0e1860             fe 0d d2 4b 0b 57 2b 2b 5e 23 23 cd 09 0d 19 f6 ff d1 c9 4e 06 00 79 fe 0d d0 b7 c8 47 23 4e 2b   ┆   K W++^##        N  y     G#N+┆
0x0e1860…0e1880             c9 79 ae e6 7f ae 77 c9 2a 93 0e be d2 21 0d 23 23 b7 c8 f5 cd 2c 0b f1 3d c2 73 0b c9 eb 01 00   ┆ y    w *    ! ##    ,  = s     ┆
0x0e1880…0e18a0             01 cd c7 30 fe 03 ca 00 00 21 80 00 7e b7 c2 11 0c 21 cd 34 06 06 cd 16 31 21 66 0e cd b7 31 21   ┆   0     !  ü    ! 4    1!f   1!┆
0x0e18a0…0e18c0             67 0e 7e b7 11 cf 34 ca 7d 0b 47 4f 23 7e fe 60 da b6 0b e6 5f 77 23 05 c2 ad 0b 36 00 21 69 0e   ┆g ü   4 å GO#ü `    _w#    6 !i ┆
0x0e18c0…0e18e0             7e 2b fe 3a 3e 00 c2 db 0b 7e d6 40 23 23 0d 0d 11 d1 34 ca 7d 0b fe 11 d2 7d 0b 11 5c 00 12 13   ┆ü+ :>    ü @##    4 å    å  Ø   ┆
0x0e18e0…0e1900             06 08 cd ee 0b 06 03 7e b7 0e 01 c2 cf 0b 7e b7 3e 20 ca 08 0c 7e fe 03 ca 00 00 fe 30 d8 fe 5b   ┆       ü      ü >    ü      0  Æ┆
0x0e1900…0e1920             d0 d6 3a fe 07 d8 7e 23 12 13 05 c2 ee 0b af 12 c9 47 05 fa 91 0b 23 7e fe 20 ca 12 0c 04 78 fe   ┆  :   ü#         G    #ü      x ┆
0x0e1920…0e1940             0c d2 91 0b 11 67 0e 12 13 cd c8 09 af 12 c3 9f 0b 22 91 0e 01 04 00 21 8d 0e cd d2 0c 3a 90 0e   ┆     g           "     !     :  ┆
0x0e1940…0e1960             47 3a 8f 0e cd ce 33 42 4b 2a 91 0e cd d2 0c 22 93 0e 11 01 00 0e 02 e5 cd d2 0c e3 4e eb 09 eb   ┆G:    3BK*     "            N   ┆
0x0e1960…0e1980             e1 0e 01 cd d2 0c 2b 4e 23 79 b7 ca 83 0c fe 0d d2 7f 0c c5 0e 01 cd d2 0c c1 41 2b 4e 23 0b 0b   ┆      +N#y                A+N#  ┆
0x0e1980…0e19a0             c3 57 0c eb af c9 11 5c 00 cd d1 09 21 80 00 36 00 c0 fe 05 c4 66 0a 21 00 01 22 74 0e 01 08 00   ┆ W     Ø    !  6     f !  "t    ┆
0x0e19a0…0e19c0             21 82 0e cd d2 0c 21 5d 00 11 82 0e 06 08 cd c8 09 03 2a 2c 03 22 26 0a cd d2 0c 2b 7e 87 4f 23   ┆!     !Å          *, "&    +ü O#┆
0x0e19c0…0e19e0             c4 d2 0c 22 7a 0e eb 2a 26 0a 7e 32 99 0e cd 31 0c c9 d5 e5 cd f0 0c d1 2a 74 0e 7c 3d cc 11 0d   ┆   "z  *& ü2   1        *t ø=   ┆
0x0e19e0…0e1a00             7e 12 23 13 0b 78 b1 c2 db 0c 22 74 0e eb d1 c9 09 22 76 0e eb cd 09 0d 2a 06 00 19 d2 03 0d 22   ┆ü #  x    "t     "v     *      "┆
0x0e1a00…0e1a20 (60, 0, 6)  2a 93 0e 23 23 e5 cd 3d 14 b8 c2 15 13 2b 7e b9 da 15 13 83 77 e1 cd 2c 0b c2 05 13 c1 e1 c9 2a   ┆*  ##  =     +ü     w  ,       *┆
0x0e1a20…0e1a40             2a 0a 3a 2e 0a d5 c5 47 cd 70 15 cc b2 06 2a 2e 0a 68 c1 d1 c5 d5 1e 00 44 4d 2a 93 0e 23 23 e5   ┆* :.   G p    *. h      DM*  ## ┆
0x0e1a40…0e1a60             cd 55 13 e1 ca 51 13 1c cd 2c 0b c2 3f 13 c3 04 09 7b d1 c1 c9 cd 3d 14 b8 c0 2b 7e b9 c9 c5 e5   ┆ U   Q   ,  ?    æ    =   +ü    ┆
0x0e1a60…0e1a80             cd 42 14 4f 3a 2e 0a 91 4f 2b be da 6f 13 4e e1 3e 04 cd ee 13 ca 82 13 3e 13 cd 8b 14 3e 12 cd   ┆ B O:.  O+  o N >       >    >  ┆
0x0e1a80…0e1aa0             8b 14 3e 02 cd ee 13 ca 94 13 3e 11 cd 8b 14 3e 10 cd 8b 14 c1 e5 cd 47 14 83 77 e1 c9 22 52 2b   ┆  >       >    >       G  w  "R+┆
0x0e1aa0…0e1ac0             e5 e5 cd 4d 14 04 e6 df 77 e3 cd be 13 f5 cd 4d 14 07 f1 77 e1 ca bc 13 7e f6 20 77 e1 c9 cd 20   ┆   M    w      M   w    ü  w    ┆
0x0e1ac0…0e1ae0             14 c8 e5 d5 c5 4f 06 00 cd 4d 14 10 5d 54 09 3a d3 35 be ca e2 13 23 13 04 78 b9 c2 cf 13 c1 d1   ┆     O   M  ÅT : 5    #  x      ┆
0x0e1ae0…0e1b00             e1 c9 1a cd 4c 1e 78 c1 d1 e1 37 c8 3f c9 e5 f5 cd 4d 14 06 f1 a6 e1 c9 7a fe 12 da 20 14 fe 14   ┆    L x   7 ?    M      z       ┆
0x0e1b00…0e1b20             da 29 14 cd 17 14 c8 e5 d5 5a 16 00 21 00 14 19 7e d1 e1 c9 01 08 03 3e 40 cd ee 13 c8 3e 0c c9   ┆ )       Z  !   ü      >@    >  ┆
0x0e1b20…0e1b40             3e 02 cd ee 13 c8 c3 2f 14 3e 04 cd ee 13 c8 e5 cd 47 14 e1 c9 e5 cd 42 14 83 77 e1 c9 cd 4d 14   ┆>      / >       G     B  w   M ┆
0x0e1b40…0e1b60             03 c9 cd 4d 14 02 c9 cd 4d 14 01 00 c9 e3 7e 23 e3 fe ff c2 5c 14 21 8d 0e c3 62 14 c5 cd 65 14   ┆   M    M     ü#    Ø !   b   e ┆
0x0e1b60…0e1b80             09 c1 7e b7 c9 06 00 4f d6 10 d4 73 14 7e fe 12 d0 03 c9 c8 d5 5f 16 10 4a cd f8 13 cd 86 14 14   ┆  ü    O   s ü       _  J       ┆
0x0e1b80…0e1ba0             1d c2 79 14 d1 c9 81 4f d0 04 c9 d5 c5 51 cd 65 14 7a cd 86 14 cd 2f 14 cd aa 14 3a 40 02 e5 21   ┆  y    O     Q e z    /    :@  !┆
0x0e1ba0…0e1bc0             0f 34 be e1 cc 18 09 c1 d1 c9 e5 d5 c5 e5 83 16 00 d2 bb 14 d5 af 93 5f 19 d1 15 09 cd 03 15 14   ┆ 4                     _        ┆
0x0e1bc0…0e1be0             15 c2 cb 14 7b 72 23 3d c2 c5 14 e1 cd 53 0b eb 09 eb 78 82 3d c2 ed 14 7a 90 42 4b 15 5f e5 09   ┆    ær#=     S    x =   z BK _  ┆
0x0e1be0…0e1c00             cd 03 15 e1 23 cd 03 15 2b eb 29 09 eb 73 14 15 ca f7 14 72 23 73 2b 19 2b ca fe 14 72 2b 73 c1   ┆    #   + )  s     r#s+ +   r+s ┆
0x0e1c00…0e1c20 (60, 0, 7)  1b d5 cd 37 21 3d cd d2 1b e5 2a 2c 22 bd c2 16 1b 21 40 22 36 80 2a 93 0e be e1 3f d2 21 1b d1   ┆   7!=    *,"    !@"6 *    ? !  ┆
0x0e1c20…0e1c40             c9 f1 af c9 04 05 c8 cd ca 1b fe 29 c0 3e f7 cd d2 1b 13 c3 25 1b cd ca 1b b7 f8 cd df 20 79 cd   ┆           ) >      %         y ┆
0x0e1c40…0e1c60             d2 1b fe f9 d8 13 c9 cd 57 1b da da 1b cd b9 1b da e0 1b f2 47 1b c9 cd ca 1b fe 22 ca a1 1b fe   ┆        W           G      "    ┆
0x0e1c60…0e1c80             23 37 c0 cd fd 1a d8 cd ca 1b fe 28 37 3f c0 3e f8 cd d2 1b 13 cd ca 1b cd 37 21 b7 c2 80 1b 3c   ┆#7         (7? >         7!    <┆
0x0e1c80…0e1ca0             cd d2 1b cd ca 1b fe 2c 3e 00 c2 94 1b 13 cd ca 1b cd 37 21 cd d2 1b cd ca 1b fe 29 37 c0 13 b7   ┆       ,>         7!       )7   ┆
0x0e1ca0…0e1cc0             c9 3e ff cd d2 1b 13 1a fe ff c8 fe 22 c2 a3 1b 13 1a fe 22 ca a3 1b af c9 cd ca 1b b7 f8 fe 26   ┆ >          "      "           &┆
0x0e1cc0…0e1ce0             37 c0 3e fd cd d2 1b 13 af c9 1a fe 20 c0 13 c3 ca 1b 2c 24 25 c8 2d 77 23 c9 21 dd 34 c3 e9 1b   ┆7 >               ,$% -w# ! 4   ┆
0x0e1ce0…0e1d00             21 df 34 c3 0a 1c 21 e1 34 e5 21 ac 35 cd 2a 1c e1 1a 3c ca 02 1c c3 0a 1c 21 e3 34 c3 0a 1c 21   ┆! 4   ! 4 ! 5 *   <      ! 4   !┆
0x0e1d00…0e1d20             e5 34 1b 1a fe 20 ca 02 1c 13 cd d4 2b 3a 3a 22 93 2a 2b 22 65 85 6f eb c2 1d 1c 2b 1c e5 2a 33   ┆ 4          +::" *+"e o    +  *3┆
0x0e1d20…0e1d40             22 7d 93 6f cd 35 2f e1 37 c9 d5 eb 2a 93 0e 7e 2a 2b 22 cd c3 17 22 2b 22 d1 c9 01 1a 16 fe 12   ┆"å o 5/ 7   *  ü*+"   "+"       ┆
0x0e1d40…0e1d60             ca 83 1c 01 50 16 fe 03 ca 83 1c fe 13 ca 8d 1c fe 08 ca 8d 1c fe 04 ca 9c 1c fe 01 ca ad 1c fe   ┆    P                           ┆
0x0e1d60…0e1d80             06 ca bc 1c fe 11 ca c5 1c fe 05 ca ed 1c fe 0a ca d8 1c fe 07 ca 59 1d fe 16 ca 81 1d cd 83 1e   ┆                      Y         ┆
0x0e1d80…0e1da0             c3 1e 1a cd f6 1f 2a 31 22 f9 eb c5 c9 7b ba ca 1e 1a 1c 2b e5 2a 1b 34 2b c3 a6 1c 1d ca 63 1a   ┆      *1"    æ     + * 4+     c ┆
0x0e1da0…0e1dc0             23 e5 2a 1b 34 23 cd 35 2f e1 c3 1e 1a cd f6 1f cd e4 05 cd 6d 04 01 0e 16 c3 86 1c cd f6 1f cd   ┆# * 4# 5/           m           ┆
0x0e1dc0…0e1de0             7f 05 c3 b3 1c e5 2a 1b 34 e5 cd 58 2b cd 7a 32 e1 cd 35 2f e1 c3 1e 1a 2a 1b 34 e5 2a 37 22 01   ┆      * 4  X+ z2  5/    * 4 *7" ┆
0x0e1de0…0e1e00             00 00 cd d8 2b e1 cd 35 2f 21 2f 22 34 cd f6 1f 3a 2f 22 3d ca 1e 1a 47 3a 2e 22 4f 3a 30 22 b8   ┆    +  5/!/"4   :/"=   G:."O:0" ┆
0x0e1e00…0e1e20 (60, 0, 8)  2a bb 42 95 47 ca e3 3e eb 21 70 02 7e b7 c2 e7 3e cd 3b 3e 05 c2 dc 3e c1 d1 e1 c9 e5 2a b1 42   ┆* B G  > !p ü   > ;>   >     * B┆
0x0e1e20…0e1e40             0e 00 7e 36 20 96 b1 4f 23 05 c2 ed 3e e1 b7 ca 0b 3f eb cd 42 3d eb cd e7 3d 3a b1 02 cd 18 3e   ┆  ü6   O#   >    ?  B=   =:    >┆
0x0e1e40…0e1e60             c1 d1 02 01 00 ff fe 01 02 08 ff 00 08 ff 07 00 ff fe 01 00 ff 04 09 08 ff fe 01 00 ff 02 0a ff   ┆                                ┆
0x0e1e60…0e1e80             04 00 08 ff fe 02 14 00 ff fe 06 00 05 02 0a ff 04 fe 01 00 05 20 01 05 02 fe 01 0b 05 0c 01 05   ┆                                ┆
0x0e1e80…0e1ea0             02 fe 01 0d 0e ff 00 05 04 fe 01 0c 0c ff 01 05 04 fe 01 0e 0f ff 04 05 08 fe 01 13 05 10 01 05   ┆                                ┆
0x0e1ea0…0e1ec0             08 fe 02 0f 17 ff 05 05 08 00 05 10 fe 02 0f 17 ff 00 05 08 03 05 10 fe 01 00 04 01 0a ff 04 03   ┆                                ┆
0x0e1ec0…0e1ee0             05 02 fe 01 00 04 10 fe 02 00 04 04 fe 01 05 09 ff 00 04 04 fe 02 00 04 08 0a ff 04 fe 01 05 0a   ┆                                ┆
0x0e1ee0…0e1f00             ff 00 04 08 fe 09 00 06 10 0a ff 04 fe 01 07 06 60 06 06 10 fe 01 00 06 80 01 06 40 fe 01 11 15   ┆                `          @    ┆
0x0e1f00…0e1f20             ff 00 06 40 fe 01 10 14 ff 00 06 40 fe 01 0c 0d ff 01 06 40 fe 01 00 ff 01 00 06 10 03 06 40 fe   ┆   @       @       @          @ ┆
0x0e1f20…0e1f40             01 06 0b ff 02 06 10 fe 02 00 06 08 0a ff 04 fe 04 03 06 04 0a ff 04 fe 01 0a 12 ff 00 06 04 fe   ┆                                ┆
0x0e1f40…0e1f60             01 0a 13 ff 00 06 04 fe 02 04 06 02 0a ff 04 fe 0c 08 10 ff 00 06 02 fe 0e 09 11 ff 00 06 02 fe   ┆                                ┆
0x0e1f60…0e1f80             02 00 05 40 08 04 0c fe ff 3e ff cd 08 2e af 32 55 2b af 32 51 2b 3a 99 0e b7 21 eb 34 cc 42 26   ┆   @     >   . 2U+ 2Q+:   ! 4 B&┆
0x0e1f80…0e1fa0             3a fb 15 fe 79 21 03 35 d4 42 26 2a 93 0e 7e b7 ca d7 24 23 23 06 00 04 78 32 54 2b e5 cd 9d 13   ┆:   y! 5 B&*  ü   $##   x2T+    ┆
0x0e1fa0…0e1fc0             cd 4d 14 05 e6 08 c4 33 25 7e e6 04 c4 6e 25 7e e6 02 c4 2c 25 23 7e e6 10 c4 d6 25 7e e6 60 fe   ┆ M     3%ü   n%ü   ,%#ü    %ü ` ┆
0x0e1fc0…0e1fe0             40 cc b3 25 7e e6 02 c4 e6 25 7e e6 04 c4 20 26 e1 cd 2c 0b c2 97 24 21 82 0e 7e e6 7f 77 3a 51   ┆@  %ü    %ü    &  ,   $!  ü  w:Q┆
0x0e1fe0…0e2000             2b b7 ca 04 25 7e f6 80 77 21 fb 34 cd 42 26 cd 7a 32 0e 0c cd 15 25 c2 69 24 b9 ca 6f 24 f5 cd   ┆+   %ü  w! 4 B& z2    % i$  o$  ┆
0x0e2000…0e2020 (60, 0, 9)  78 0e c9 11 d7 34 c3 24 0d 7b 2f 5f 7a 2f 57 13 c9 d5 c5 0e 14 11 5c 00 cd eb 09 c1 d1 21 80 00   ┆x    4 $ æ/_z/W       Ø      !  ┆
0x0e2020…0e2040             c8 11 d3 34 eb 3a 46 0a c6 41 32 aa 35 01 0d 01 cd c7 30 cd 9a 2b cd 1a 0b c3 00 00 3e 01 32 98   ┆   4 :F  A2 5     0  +      > 2 ┆
0x0e2040…0e2060             0e 11 5c 00 cd d6 09 11 d9 34 c2 24 0d cd 66 0a 21 5d 00 11 82 0e 06 08 cd c8 09 2a 41 02 2d 3a   ┆  Ø      4 $  f !Å         *A -:┆
0x0e2060…0e2080             40 02 d6 07 67 22 8f 0e 45 0e 00 cd ce 33 2a 2c 03 22 26 0a 36 00 23 22 91 0e e5 42 4b cd f0 0c   ┆@   g"  E    3*, "& 6 #"   BK   ┆
0x0e2080…0e20a0             e1 36 20 23 0b 78 b1 c2 81 0d 22 93 0e af 77 23 77 23 77 23 22 76 0e c9 11 5c 00 cd 28 0e 42 41   ┆ 6 # x    "   w#w#w#"v   Ø  ( BA┆
0x0e20a0…0e20c0             4b 0e 13 cd eb 09 eb 11 6c 00 06 10 cd c8 09 11 5c 00 cd 28 0e 20 20 20 0e 17 cd eb 09 af 32 68   ┆K       l       Ø  (          2h┆
0x0e20c0…0e20e0             00 cd d6 09 11 d9 34 c2 24 0d 21 80 00 22 74 0e 21 82 0e 01 08 00 cd 3a 0e 2a 26 0a 7e 87 4f 03   ┆      4 $ !  "t !      : *& ü O ┆
0x0e20e0…0e2100             cd 3a 0e 21 8d 0e 0e 04 cd 3a 0e 2a 8f 0e 7d 44 cd ce 33 42 4b 2a 91 0e cd 3a 0e 2a 93 0e 0e 02   ┆ : !     : *  åD  3BK*   : *    ┆
0x0e2100…0e2120             cd 3a 0e cd 53 0b 78 b1 c2 00 0e 03 cd 3a 0e 2a 74 0e 36 1a 2c c2 12 0e cd 50 0e 11 5c 00 0e 10   ┆ :  S x      : *t 6 ,    P  Ø   ┆
0x0e2120…0e2140             cd eb 09 af 32 68 00 c9 e3 d5 c5 eb 01 09 00 09 eb 06 03 cd c8 09 c1 d1 e3 c9 eb 2a 74 0e 1a 77   ┆    2h                     *t  w┆
0x0e2140…0e2160             13 2c cc 50 0e 0b 78 b1 c2 3e 0e 22 74 0e eb c9 d5 c5 11 5c 00 0e 15 cd eb 09 c1 d1 21 80 00 c8   ┆ , P  x  > "t      Ø        !   ┆
0x0e2160…0e2180             11 db 34 c3 24 0d 0b 86 2b cd dc 27 01 b1 2a cd 7f 26 c1 00 31 26 21 21 2c 22 9e 2a cd 4f 23 7c   ┆  4 $   +  '  *  &  1&!!," * O#ø┆
0x0e2180…0e21a0             00 00 69 25 7c 07 d2 60 2a 7d 2f 6f 7c 00 00 23 3e 80 32 11 2c 11 94 2a 00 00 2a 2a 0a 7e e6 7c   ┆  i%ø  `*å/oø  #> 2 ,  *  ** ü ø┆
0x0e21a0…0e21c0             c2 af 0e cd 1f 13 1e ff cd 5e 13 cc 63 10 af c4 75 0f 2a 2e 0a 2c 1e ff cd fc 12 c9 2a 2a 0a e5   ┆         ^  c   u *. ,      **  ┆
0x0e21c0…0e21e0             2a 2e 0a e5 3a 8f 0e 6f 2d 22 2e 0a cd 5d 2d 22 2a 0a cd 9a 0e e1 22 2e 0a e1 22 2a 0a 7e e6 7c   ┆*.  :  o-".  Å-"*     ".  "* ü ø┆
0x0e21e0…0e2200             cc dd 0f 2a 2e 0a 1e 01 cd fc 12 c9 e5 c5 cd dd 0f 1e ff cd 21 0f c1 e1 c9 01 04 00 cd de 08 1e   ┆   *.               !           ┆
0x0e2200…0e2220 (60, 0, 10) d1 e1 c9 e5 c5 d5 7a b7 42 4b f4 de 08 cd 3f 15 7a f5 eb 2a 76 0e 23 cd 4f 12 f1 b7 fa 2f 15 d1   ┆      z BK    ? z  *v # O    /  ┆
0x0e2220…0e2240             d5 2b eb 19 22 76 0e eb cd 67 12 d1 c1 e1 c9 e1 e5 19 eb cd 5c 12 1b eb 22 76 0e d1 c1 e1 c9 d5   ┆ +  "v   g          Ø   "v      ┆
0x0e2240…0e2260             c5 eb 2a 93 0e cd 4f 12 eb c1 da 55 15 e3 eb 19 22 93 0e e1 c9 d1 c9 2a 2a 0a 7e e6 7c c2 68 15   ┆  *   O    U    "      ** ü ø h ┆
0x0e2260…0e2280             cd 1f 13 cd 4d 14 08 c9 af c9 3a 2e 0a 2a 2a 0a b7 ca 7a 15 2b 7e 23 e6 7c c9 f6 ff c9 3a 2e 0a   ┆    M     :. **   z +ü# ø    :. ┆
0x0e2280…0e22a0             3c e5 2a 8f 0e bd 2a 2a 0a 23 7e e1 ca 7a 15 e6 7c c9 3a 99 0e 2a 76 0e 23 23 22 26 0a 77 2b eb   ┆< *   ** #ü  z  ø :  *v ##"& w+ ┆
0x0e22a0…0e22c0             c6 03 87 4f 06 00 cd de 08 af 12 4f 47 2a 93 0e 23 23 e5 c5 cd 2f 14 47 cd ea 15 23 23 7e b7 ca   ┆   O       OG*  ##   / G   ##ü  ┆
0x0e22c0…0e22e0             cb 15 6f 26 00 29 19 71 23 70 78 c1 e1 80 d2 d3 15 3e ff 47 0c cd 2c 0b c2 b2 15 78 32 fb 15 1a   ┆  o& ) q#px      > G  ,    x2   ┆
0x0e22e0…0e2300             b7 c0 21 8d 0e 7e e6 fe 77 c9 cd 4d 14 06 e6 10 c8 7e e6 40 c0 7e 12 c9 8d 35 c8 d8 21 00 00 39   ┆  !  ü  w  M     ü @ ü   5  !  9┆
0x0e2300…0e2320             22 31 22 3a 40 0a 32 39 22 3e 22 cd 93 09 cd 7c 16 cd 1f 13 22 23 22 32 2c 22 cd 5d 16 cd a2 16   ┆"1":@ 29">"    ø    "#"2," Å    ┆
0x0e2320…0e2340             cd d1 16 cd e4 16 cd 2e 19 da 3f 16 cd 94 16 cd 05 17 cd 52 1d cd c8 21 cd 81 21 cd 13 1a b4 e5   ┆       .  ?        R   !  !     ┆
0x0e2340…0e2360             c4 bc 1e e1 cd f6 1f cd 6f 19 7e fe ff c2 20 16 3a 40 02 32 0f 34 3a 39 22 cd 93 09 c9 cd 4d 14   ┆        o ü     :@ 2 4:9"     M ┆
0x0e2360…0e2380             05 e6 04 c2 6c 16 01 09 00 09 36 f6 21 ff 00 22 2e 22 21 19 35 22 1f 22 21 42 23 c9 3a 2f 0a 47   ┆    l     6 !  "."! 5" "!B# :/ G┆
0x0e2380…0e23a0             d6 02 d2 86 16 af 32 74 2d 2f 80 c6 08 32 0f 34 cd f3 2c c9 e5 3a 21 22 2a 1b 34 84 21 40 02 be   ┆      2t-/   2 4  ,  :!"* 4 !@  ┆
0x0e23a0…0e23c0             e1 d8 c5 e5 21 2e 22 34 3a 2f 22 32 30 22 3a 0f 34 67 3c 47 3a 40 02 94 cd 42 32 2e 00 cd 35 2f   ┆    !."4:/"20": 4g<G:@   B2.  5/┆
0x0e23c0…0e23e0             3a 41 02 47 0e 5f 05 cd 9b 2f 05 c2 c7 16 e1 c1 c9 e5 2a 1f 22 22 1d 22 23 23 22 37 22 23 23 22   ┆:A G _   /        * "" "##"7"##"┆
0x0e23e0…0e2400             1f 22 e1 c9 7e 32 21 22 23 7e 32 22 22 23 7e eb cd f8 16 eb 23 46 23 c9 32 3f 22 2a 23 22 cd 51   ┆ "  ü2!"#ü2""#ü     #F# 2?"*#" Q┆
0x0e2400…0e2420 (60, 0, 11) c2 04 1d 0d c5 cd 6c 16 cd a2 16 cd d1 16 cd e4 16 cd 2e 19 da 3b 1d cd 94 16 cd 05 17 cd 52 1d   ┆      l           .  ;        R ┆
0x0e2420…0e2440             e3 25 ca 44 1d 3a 2e 22 bd e3 c2 36 1d cd c8 21 cd 81 21 c3 3b 1d f6 ff cd c9 21 cd f6 1f cd 6f   ┆ % D :."   6   !  ! ;     !    o┆
0x0e2440…0e2460             19 c3 0b 1d e1 22 4d 1d 2a 31 22 f9 21 00 00 c3 35 16 e5 21 2f 22 34 e1 c9 cd 72 1d cd 65 1d cd   ┆     "M *1" !   5  !/"4   r  e  ┆
0x0e2460…0e2480             97 21 c3 1e 1a e5 d5 16 00 1d 19 47 cd 32 05 d1 e1 c9 e5 d5 11 03 36 2a 22 22 26 00 19 7e d1 e1   ┆ !         G 2        6*""&  ü  ┆
0x0e2480…0e24a0             c9 cd 72 1d e5 d5 16 00 1d 47 cd 5f 05 d1 e1 cd 97 21 c3 1e 1a 3a 22 22 cd 35 17 c5 1d 08 1e 08   ┆  r      G _     !   :"" 5      ┆
0x0e24a0…0e24c0             1e c5 1d c5 1d 10 1e 08 1e eb 1d 19 1e 61 1e 10 1e ae 1e 08 1e 08 1e 08 1e 10 1e 12 1e f2 1d f2   ┆             a                  ┆
0x0e24c0…0e24e0             1d b5 1e 08 1e e5 21 de 35 cd e0 1d cd d7 1d 3a 41 22 c4 83 1e e1 c9 7e b7 f8 23 b9 c2 d7 1d c9   ┆      ! 5      :A"     ü  #     ┆
0x0e24e0…0e2500             79 32 41 22 fe 61 d8 e6 5f 4f c9 e5 21 e1 35 c3 c9 1d 79 d6 30 fe 0a 3f d0 cd e0 1d d6 41 fe 1a   ┆y2A" a  _O  ! 5   y 0  ?     A  ┆
0x0e2500…0e2520             3f d0 3a 41 22 c3 83 1e 79 d6 30 fe 0a d2 82 1e b7 c9 e5 21 ed 35 c3 c9 1d cd 3d 1e e5 21 d5 35   ┆? :A"   y 0        ! 5    =  ! 5┆
0x0e2520…0e2540             cd d7 1d e1 c2 82 1e 79 cd 4c 1e c8 cd 43 1e c0 d5 eb 2a 2d 0a 26 00 19 36 00 eb d1 c9 79 d6 5f   ┆       y L   C    *- &  6    y _┆
0x0e2540…0e2560             c0 4f c9 e5 2a b3 34 cd 0f 32 7e e1 e5 21 d9 35 c5 4f cd d7 1d c1 e1 c9 e5 21 c0 35 cd d7 1d e1   ┆ O  * 4  2ü  ! 5 O       ! 5    ┆
0x0e2560…0e2580             c9 cd 3d 1e cd 43 1e c4 58 1e c2 82 1e 3a d3 35 91 b7 c0 79 be c8 e5 2a 23 22 cd be 13 e1 da 82   ┆  =  C  X    : 5   y   *#"      ┆
0x0e2580…0e25a0             1e c8 79 e5 d5 c5 2a 1b 34 cd 9c 1e e5 21 e7 34 cd d4 2b e1 cd 99 2e c1 d1 e1 37 c9 e5 21 a9 35   ┆  y   * 4    ! 4  +   .   7  ! 5┆
0x0e25a0…0e25c0             36 20 be d2 aa 1e 36 5e c6 40 23 77 e1 c9 e5 21 e5 35 c3 c9 1d e5 21 ff 35 c3 c9 1d 3a 22 22 cd   ┆6     6^ @#w   ! 5    ! 5   :"" ┆
0x0e25c0…0e25e0             35 17 ec 1e 41 1f d3 1f 45 20 4a 20 63 20 95 20 26 20 f5 1f f5 1f f5 1f f2 1e ad 20 f2 20 a1 20   ┆5   A   E J c   &               ┆
0x0e25e0…0e2600             b6 20 f8 1e 1f 21 1f 21 1b 1f 67 1f 21 de 35 c3 fb 1e 21 e9 35 c3 fb 1e 21 ed 35 d5 c5 cd 37 1f   ┆     ! !  g ! 5   ! 5   ! 5   7 ┆
0x0e2600…0e2620 (60, 0, 12) 00 2d f1 c9 21 fd 34 0e 00 cd d6 2b 0e 04 cd 15 25 c2 04 25 c9 fe 60 da 1c 25 d6 20 e6 3f b9 c8   ┆ -  ! 4    +    %  %  `  %   ?  ┆
0x0e2620…0e2640             fe 20 c8 fe 03 c8 fe 02 c8 fe 01 c9 2b 7e e6 fe 77 23 c9 e5 d5 c5 2a 52 2b cd 4d 14 0f 21 01 35   ┆            +ü  w#    *R+ M  ! 5┆
0x0e2640…0e2660             cc 42 26 2a 52 2b cd 4d 14 17 47 23 c2 59 25 21 f9 34 cd 42 26 c1 d1 e1 c9 cd 09 11 ca 6a 25 fe   ┆ B&*R+ M  G# Y%! 4 B&        j% ┆
0x0e2660…0e2680             f6 ca 4f 25 cd f7 10 c2 59 25 c1 d1 e1 c9 e5 d5 c5 2a 52 2b cd 4d 14 0e fe f6 c2 86 25 21 f7 34   ┆  O%    Y%       *R+ M      %! 4┆
0x0e2680…0e26a0             cd 42 26 c3 ab 25 3c 47 2a f5 34 cd 0f 32 eb 3a 54 2b cd c3 17 78 32 54 2b 3d cd 68 0b cd 4d 14   ┆ B&  %<G* 4  2 :T+   x2T+= h  M ┆
0x0e26a0…0e26c0             06 e6 60 fe 40 21 f3 34 c4 42 26 c1 78 32 54 2b d1 e1 c9 e5 d5 c5 2a 52 2b cd 4d 14 15 e5 1e 08   ┆  ` @! 4 B& x2T+      *R+ M     ┆
0x0e26c0…0e26e0             cd 24 21 1e 03 cd 24 21 e1 7e fe 20 21 f1 34 cc 42 26 c1 d1 e1 c9 e5 2a 52 2b cd 4d 14 0b 21 01   ┆ $!   $! ü  ! 4 B&     *R+ M  ! ┆
0x0e26e0…0e2700             35 cc 42 26 e1 c9 e5 d5 c5 3e 10 cd 09 26 1a cd 4c 1e 4e c4 58 1e c2 ff 25 23 13 05 c2 ee 25 21   ┆5 B&     >   &  L N X   %#    %!┆
0x0e2700…0e2720             ef 34 c4 42 26 c1 d1 e1 c9 32 13 26 2a 52 2b e5 cd 4d 14 00 eb e1 cd 4d 14 01 47 6f 26 00 19 c9   ┆ 4 B&    2 &*R+  M     M  Go&   ┆
0x0e2720…0e2740             e5 d5 c5 3e 12 cd 09 26 eb 1a b7 ca 38 26 be c2 38 26 23 13 05 c2 29 26 21 ed 34 dc 42 26 c1 d1   ┆   >   &    8&  8&#   )&! 4 B&  ┆
0x0e2740…0e2760             e1 c9 cd 3d 33 c0 e5 d5 c5 cd 24 32 e5 21 51 2b 7e 36 80 b7 c2 6e 26 0e 0c cd e7 26 21 82 0e 01   ┆   =3     $2 !Q+ü6   n&    &!   ┆
0x0e2760…0e2780             20 08 cd a1 26 2a e9 34 cd 0f 32 cd 9e 26 cd 85 26 e1 7e fe 20 54 5d 13 3a 54 2b cc c3 17 cd 9e   ┆    &* 4  2  &  & ü  TÅ :T+     ┆
0x0e2780…0e27a0             26 c1 d1 e1 c9 3a 55 2b b7 c0 2a 1b 34 3a 40 02 d6 06 bc d0 cd 7a 32 cd 30 2e c9 cd 24 32 01 00   ┆&    :U+  * 4:@      z2 0.  $2  ┆
0x0e27a0…0e27c0             00 cd 3d 33 c0 7e fe 80 ca d6 26 fe 01 ca db 26 fe 02 c2 c0 26 23 c5 46 05 0e 20 cd 28 27 79 c1   ┆  =3 ü    &    &    &# F    ('y ┆
0x0e27c0…0e27e0             b9 c8 c5 4f cd 40 33 cc e7 26 c1 23 78 b7 ca a5 26 05 c2 a5 26 c9 e1 23 c3 a1 26 23 7e 23 e5 66   ┆   O @3  & #x   &   &  #  &#ü# f┆
0x0e27e0…0e2800             6f cd 0f 32 c3 a1 26 79 fe 0c c2 fe 26 3a 55 2b b7 c2 1c 27 cd 30 2e 21 0f 00 cd 99 2e c9 cd 07   ┆o  2  &y    &:U+   ' 0.!    .   ┆
0x0e2800…0e2820 (60, 0, 13) 01 cd 6a 15 ca 34 0f cd 7d 15 c2 17 0f cd ce 03 cd 21 0f cd 3c 04 c9 21 2c 0a cd 19 10 cd 85 11   ┆  j  4  å        !  <  !,       ┆
0x0e2820…0e2840             c9 2a 2e 0a cd 34 13 cd 5e 13 ca 63 10 af 93 5f cd 35 14 c9 cd 79 0f cd 1f 13 cd 5e 13 c9 cd 1f   ┆ *.  4  ^  c   _ 5   y     ^    ┆
0x0e2840…0e2860             13 cd 63 15 c2 52 0f eb 21 99 0e 34 7e 12 cd c0 12 c9 36 00 57 1e ff cd 83 12 c9 f5 cd 1f 13 cd   ┆  c  R  !  4ü     6 W           ┆
0x0e2860…0e2880             63 15 c4 52 0f f1 57 1e 01 c4 83 12 72 c9 cd 1f 13 cd 63 10 c9 cd 6a 15 c0 cd 7d 15 c0 e5 d5 c5   ┆c  R  W     r     c   j   å     ┆
0x0e2880…0e28a0             cd a2 0f 79 cd 65 10 cd 1f 13 cd 5e 13 14 15 ca 9e 0f cd 63 15 c2 9e 0f 1e 01 cd 83 12 72 c1 d1   ┆   y e     ^       c         r  ┆
0x0e28a0…0e28c0             e1 c9 cd 1f 13 4f 06 00 cd 20 14 ca af 0f 04 cd 29 14 ca b6 0f 04 2a 2e 0a 2c cd 34 13 78 b7 c8   ┆     O          )     *. , 4 x  ┆
0x0e28c0…0e28e0             c5 cd 2f 14 5f 16 00 13 eb 29 05 c2 c9 0f eb cd 53 0b 7b 91 4f 7a 98 47 d4 de 08 c1 c9 cd ab 06   ┆  / _    )      S æ Oz G        ┆
0x0e28e0…0e2900             3a 2e 0a 90 c8 4f 2a 76 0e eb 2a 2e 0a 68 cd 34 13 cd 19 10 e5 cd 2c 0b eb cd d2 11 e1 e5 cd 47   ┆:.   O*v  *. h 4      ,        G┆
0x0e2900…0e2920             14 79 96 5f e1 cd 5e 13 cd 2c 0b 59 cd 35 14 af 93 5f cd 5e 13 ca 04 09 c9 e5 d5 c5 e5 2a 93 0e   ┆ y _  ^  , Y 5   _ ^         *  ┆
0x0e2920…0e2940             7e e1 fe f5 ca 0a 09 cd 53 0b c5 c5 e3 29 e3 c1 cd de 08 eb 2a 76 0e eb 13 d5 e5 cd 5c 12 e1 1e   ┆ü       S    )      *v      Ø   ┆
0x0e2940…0e2960             01 cd 05 12 e1 e5 cd 3d 14 3a 2f 0a 77 e1 c1 54 5d 1b cd 5c 12 eb 22 76 0e 36 00 2a 93 0e 34 c1   ┆       = :/ w  TÅ  Ø  "v 6 *  4 ┆
0x0e2960…0e2980             d1 e1 c9 3e f6 e5 c5 e5 4f 1e ff cd 23 11 cd a2 10 cd 05 12 2a 93 0e 35 e1 cd 2f 14 5f d5 5d 54   ┆   >    O   #       *  5  / _ ÅT┆
0x0e2980…0e29a0             cd 2c 0b 44 4d 2a 76 0e 7d 91 6f 7c 98 67 23 0a 12 03 13 2b 7c b5 c2 8f 10 1b eb 22 76 0e d1 c1   ┆ , DM*v å oø g#    +ø      "v   ┆
0x0e29a0…0e29c0             e1 c9 b7 e5 d5 57 2a 93 0e 23 23 3c f5 f1 f5 dc bf 10 c4 c9 10 cd 2c 0b c2 ad 10 f1 d1 e1 c9 e5   ┆     W*  ##<          ,         ┆
0x0e29c0…0e29e0             cd 3d 14 3a 44 0a be e1 c9 e5 cd 4d 14 0e cd ea 10 e1 e5 cd 4d 14 17 47 23 cd 09 11 ca e8 10 cd   ┆ = :D      M        M  G#       ┆
0x0e29e0…0e2a00             ea 10 cd f7 10 c2 d9 10 e1 c9 fe f6 c8 ba d8 ca f5 10 83 77 c9 71 c9 cd 05 11 c8 fe f8 c0 cd 05   ┆                   w q          ┆
0x0e2a00…0e2a20 (60, 0, 14) 14 22 25 22 c9 3a 22 22 cd 35 17 43 17 b8 17 96 17 43 17 43 17 78 17 85 17 48 17 e9 17 e9 17 e9   ┆ "%" :"" 5 C     C C x   H      ┆
0x0e2a20…0e2a40             17 4d 17 9a 17 9e 17 7e 17 34 18 52 17 18 18 1d 18 57 17 b8 17 e3 d5 5f 16 00 19 19 5e 23 56 eb   ┆ M     ü 4 R     W     _    ^#V ┆
0x0e2a40…0e2a60             d1 e3 c9 cd 5c 17 de 35 cd 5c 17 e1 35 cd 5c 17 e5 35 cd 5c 17 ed 35 cd 5c 17 ff 35 e3 7e 23 66   ┆    Ø  5 Ø  5 Ø  5 Ø  5 Ø  5 ü#f┆
0x0e2a60…0e2a80             6f c5 cd 37 1f 1a a0 47 af 91 2b 81 23 b8 c2 6b 17 7e c1 e1 11 28 22 12 3e 01 32 2b 22 c9 e5 21   ┆o  7   G  + #  k ü   (" > 2+"  !┆
0x0e2a80…0e2aa0             8e 0e c3 89 17 e5 21 8e 0e 1a b7 c2 95 17 34 7e 12 c2 95 17 35 e1 1a c3 bc 17 1a c3 bb 17 1a fe   ┆      !       4ü    5           ┆
0x0e2aa0…0e2ac0             f6 c2 9a 17 3e 03 32 2b 22 11 28 22 e5 62 6b 36 3f 23 3d c2 af 17 e1 c9 3a 2c 22 3c 11 28 22 cd   ┆    > 2+" (" bk6?#=     :,"< (" ┆
0x0e2ac0…0e2ae0             c3 17 c9 f5 3e 03 32 2b 22 f1 e5 d5 c5 2a 2b 22 26 00 eb 19 0e ff 0c d6 0a d2 d6 17 c6 3a 2b 77   ┆    > 2+"    *+"&            :+w┆
0x0e2ae0…0e2b00             79 1d c2 d4 17 c1 d1 e1 c9 e5 d5 2a 23 22 cd 47 14 32 2b 22 32 2d 0a f5 23 7e 23 66 6f 22 2e 0a   ┆y          *#" G 2+"2-  #ü#fo". ┆
0x0e2b00…0e2b20             cd 5d 2d 22 2a 0a f1 47 7e f6 02 77 23 05 c2 08 18 21 3d 22 34 d1 e1 c9 3e 08 c3 1f 18 3e 03 32   ┆ Å-"*  Gü  w#    !="4   >    > 2┆
0x0e2b20…0e2b40             2b 22 d5 c5 4f 1a d6 20 c2 2c 18 12 13 0d c2 25 18 c1 d1 c9 e5 eb c5 3a 41 02 d6 06 4f 46 23 11   ┆+"  O    ,     %       :A   OF# ┆
0x0e2b40…0e2b60             b1 5d 3a 3c 22 b7 ca 4c 18 11 6b 5b eb cd 24 32 eb 3a 2c 22 3c cd c3 17 11 42 22 d5 79 32 2b 22   ┆ Å:<"  L  kÆ  $2 :,"<    B" y2+"┆
0x0e2b60…0e2b80             04 05 c4 79 18 04 05 c2 62 18 3e 20 12 13 0d c2 6c 18 3e ff 12 d1 c1 e1 c9 3a 3c 22 b7 c2 b2 18   ┆   y    b >     l >      :<"    ┆
0x0e2b80…0e2ba0             7e 23 05 fe fe ca 0d 19 fe f6 d2 14 19 e5 6f 2c 3e 23 12 13 0d cd 9a 18 e1 c9 e5 f5 7d 2e ff 2c   ┆ü#            o,>#          å. ,┆
0x0e2ba0…0e2bc0             d6 0a d2 9f 18 c6 3a 2c 2d c4 9a 18 12 13 0d f1 e1 c9 7e 23 05 fe ff ca f4 18 fe f6 ca 14 19 fe   ┆      :,-         ü#            ┆
0x0e2bc0…0e2be0             fd c2 c9 18 3e 26 c3 21 19 cd 8d 18 7e fe f8 c0 23 05 cd 14 19 cd ea 18 7e b7 ca e5 18 3e 2c cd   ┆    >& !    ü   #       ü    >, ┆
0x0e2be0…0e2c00             21 19 cd ea 18 3e 29 c3 21 19 7e 23 05 e5 6f cd 9a 18 e1 c9 cd fc 18 78 b7 c4 0d 19 3e 22 12 13   ┆!    >) ! ü#  o        x    >"  ┆
0x0e2c00…0e2c20 (60, 0, 15) 1a 1e 00 eb 09 eb be 23 c2 03 1f 2a 25 22 7e 32 27 22 78 2f a6 83 91 77 c1 d1 c9 2a 25 22 4e 21   ┆       #   *%"ü2'"x/   w   *%"N!┆
0x0e2c20…0e2c40             ff 35 1a 96 32 3c 22 cd fb 1e b9 c8 3e 17 cd f8 16 06 00 cd be 20 c9 0e 80 79 07 4f a0 ca 39 1f   ┆ 5  2<"     >            y O  9 ┆
0x0e2c40…0e2c60             c9 cd bc 1f 3d 21 2c 22 be c8 77 f5 cd 68 0b f1 d4 2c 0b eb 2a 23 22 cd d2 11 3a 2c 22 cd 68 0b   ┆    =!,"  w  h   ,  *#"   :," h ┆
0x0e2c60…0e2c80             22 23 22 cd 6d 04 c9 cd bc 1f 3d 21 2c 22 be c8 cd 68 0b 01 1e 04 cd de 08 cd 19 10 2a 23 22 cd   ┆"#" m     =!,"   h          *#" ┆
0x0e2c80…0e2ca0             63 15 f5 2a 93 0e 7e 3d f5 cd 68 0b e5 cd 47 14 4e 23 eb 2a 23 22 cd 47 14 91 4f 23 06 02 cd c8   ┆c  *  ü=  h   G N# *#" G  O#    ┆
0x0e2ca0…0e2cc0             09 e1 59 79 b7 c4 5e 13 cd 6e 0f 2a 23 22 eb f1 3d cd 68 0b cd d2 11 f1 cd 5b 0f c9 2a 93 0e 4e   ┆  Yy  ^  n *#"  = h      Æ  *  N┆
0x0e2cc0…0e2ce0             d5 cd 37 21 d1 b7 c2 ca 1f 3c b9 da cf 1f 79 cd 66 21 c9 21 99 0e cd bf 1f 2a 25 22 be 57 c8 3a   ┆  7!     <    y f! !     *%" W :┆
0x0e2ce0…0e2d00             3f 22 4e d5 51 1e ff 47 cd 97 12 d1 1e 01 78 cd 97 12 72 f6 ff c9 3a 3d 22 b7 c8 e5 c5 2a 2a 0a   ┆?"N Q  G      x   r   :="    ** ┆
0x0e2d00…0e2d20             3a 2b 22 47 7e e6 fd 77 23 05 c2 04 20 2a 35 22 cd 35 2f 3e 00 32 28 0a 3c 32 2d 0a 21 3d 22 35   ┆:+"Gü  w#    *5" 5/> 2( <2- !="5┆
0x0e2d20…0e2d40             c2 04 09 c1 e1 c9 2a 23 22 cd 17 14 4f e5 21 e1 35 cd fb 1e e1 cd 17 14 91 5f c8 d4 7b 20 3e 14   ┆      *#"   O ! 5        _  æ > ┆
0x0e2d40…0e2d60             51 cd d0 20 c9 3e 12 c3 4c 20 3e 10 21 de 35 cd 64 20 c8 d4 7a 20 42 51 78 cd d0 20 78 cd d0 20   ┆Q    >  L > ! 5 d   z BQx   x   ┆
0x0e2d60…0e2d80             c9 aa 14 c9 f5 e5 2a 23 22 cd f9 13 4f e3 cd fb 1e e1 f1 57 cd f9 13 91 5f c9 87 e5 d5 c5 4f 06   ┆      *#"   O      W    _     O ┆
0x0e2d80…0e2da0             00 d2 85 20 04 2a 25 22 56 3a 27 22 77 cd de 08 72 c1 d1 e1 c9 21 8e 0e cd d6 1f 3e 0f c4 e3 1f   ┆     *%"V:'"w   r    !     >    ┆
0x0e2da0…0e2dc0             c9 21 8e 0e cd d6 1f 3e 0b c4 e3 1f c9 cd 37 21 3d 2a 25 22 77 c9 2a 25 22 23 cd 8f 1a c9 2a 25   ┆ !     >      7!=*%"w *%"#    *%┆
0x0e2dc0…0e2de0             22 78 96 c8 d5 56 5f cd cd 20 d1 70 c9 3a 3f 22 e5 c5 2a 23 22 cd 65 14 7a cd aa 14 c1 e1 c9 0e   ┆"x   V_    p :?"  *#" e z       ┆
0x0e2de0…0e2e00             fe e5 21 25 19 34 35 fa f0 20 0d be 23 c2 e5 20 e1 c9 cd 0c 21 c0 cd bc 1f 3d 2a 25 22 77 3a 2c   ┆  !% 45     #       !    =*%"w:,┆
0x0e2e00…0e2e20 (60, 1, 1)  27 79 fe 0d c0 0e 0a 3a 55 2b b7 ca 80 2f d5 c5 79 e6 7f 5f 0e 05 cd eb 09 c1 d1 c9 cd 0e 27 c5   ┆'y     :U+   /  y  _          ' ┆
0x0e2e20…0e2e40             01 20 0f cd 28 27 c1 c9 cd 0e 27 05 c2 28 27 c9 3e ff 32 55 2b cd 6f 27 cd 76 27 cd 8d 27 cd ef   ┆    ('    '  (' > 2U+ o' v'  '  ┆
0x0e2e40…0e2e60             28 cd ba 2a c9 3e ff cd 08 2e cd 3d 33 c4 7a 32 b7 c9 e5 0e 0c cd 0e 27 21 82 0e 01 20 08 cd a1   ┆(  * >   . =3 z2       '!       ┆
0x0e2e60…0e2e80             26 21 05 35 cd 9b 26 21 13 35 cd 9b 26 e1 c9 21 07 35 af c3 d0 27 0e 04 cd a4 27 c8 21 09 35 3e   ┆&! 5  &! 5  &  ! 5   '    ' ! 5>┆
0x0e2e80…0e2ea0             12 cd d0 27 c0 21 0b 35 3e 13 c3 c4 27 0e 02 cd a4 27 c8 21 0d 35 3e 10 cd d0 27 c0 21 0f 35 3e   ┆   ' ! 5>   '    ' ! 5>   ' ! 5>┆
0x0e2ea0…0e2ec0             11 c3 c4 27 2a 93 0e 7e b7 c8 23 23 79 32 c1 27 cd bb 27 c0 cd 2c 0b c2 b0 27 c9 e5 cd 4d 14 06   ┆   '*  ü  ##y2 '  '  ,   '   M  ┆
0x0e2ec0…0e2ee0             e6 00 e1 c9 32 57 2b cd 24 32 cd 40 2b c3 dd 27 32 57 2b cd 45 27 c0 cd 52 27 cd 24 32 cd 9e 26   ┆    2W+ $2 @+  '2W+ E'  R' $2  &┆
0x0e2ee0…0e2f00             2a 8f 0e 54 45 1e 00 2a 91 0e cd 4a 27 c0 cd a0 28 cd ba 28 cd 08 28 cd ba 28 cd ad 28 0e 0a cd   ┆*  TE  *   J'   (  (  (  (  (   ┆
0x0e2f00…0e2f20             0e 27 1c 15 c2 ea 27 c9 e5 d5 c5 7e e6 7e cc 1a 28 23 05 c2 0b 28 c1 d1 e1 c9 d5 e5 c5 cd 42 28   ┆ '    '    ü ü  (#   (        B(┆
0x0e2f20…0e2f40             3a 57 2b b7 ca 55 28 32 33 28 cd bb 27 ca 92 28 cd 4d 14 00 d1 7a 90 d1 f5 cd c8 09 eb c1 04 2b   ┆:W+  U(23(  '  ( M   z         +┆
0x0e2f40…0e2f60             d1 c9 3a 8f 0e 90 6f 63 cd 34 13 3c 4f e5 cd 4d 14 01 47 e1 c9 11 8f 28 79 cd c3 17 0e 03 1a fe   ┆  :   oc 4 <O  M  G    (y       ┆
0x0e2f60…0e2f80             30 c2 69 28 13 0d c2 5e 28 eb d1 78 b9 ca 35 28 da 7b 28 e3 23 e3 15 05 c3 6b 28 3d 3e 2a ca 8b   ┆0 i(   ^(  x  5( æ( #    k(=>*  ┆
0x0e2f80…0e2fa0             28 7e d6 31 0f 0f 0f c6 11 23 86 77 c3 35 28 70 72 65 d1 e1 36 20 23 15 05 c2 94 28 42 c3 3e 28   ┆(ü 1     # w 5(pre  6 #    (B >(┆
0x0e2fa0…0e2fc0             e5 d5 c5 11 42 22 cd c8 09 c1 d1 e1 c9 d5 c5 eb 21 42 22 cd c8 09 eb c1 d1 c9 e5 d5 c5 1e 00 7e   ┆    B"          !B"            ü┆
0x0e2fc0…0e2fe0             0e 20 e6 7e 1c b9 ca e1 28 1d ca d3 28 cd 0e 27 c3 c9 28 7e 4e e6 7e c2 de 28 3a 02 36 4f cd 0e   ┆   ü    (   (  '  (üN ü  (: 6O  ┆
0x0e2fe0…0e3000             27 23 05 c2 bf 28 0e 0d cd 0e 27 c1 d1 e1 c9 2a 93 0e 7e b7 c8 23 23 06 00 cd 4a 27 c0 78 d6 30   ┆'#   (    '    *  ü  ##   J' x 0┆
0x0e3000…0e3020 (60, 1, 2)  21 5b 02 cd 47 2f 3a b0 02 cd 78 2f e1 cd 35 2f cd cb 2f f1 c1 d1 e1 c9 eb cd 67 02 c3 06 2f cd   ┆!Æ  G/:   x/  5/  /       g   / ┆
0x0e3020…0e3040             1f 2e cd 35 2f 2a 11 34 22 13 34 7e 32 15 34 f6 80 77 c3 13 2f e5 d5 c5 22 1b 34 44 4d cd bd 33   ┆ . 5/* 4" 4ü2 4  w  /   " 4DM  3┆
0x0e3040…0e3060             22 11 34 c1 d1 e1 c9 3e 01 32 65 34 46 04 05 c8 23 4e 79 e6 7e fe 02 cc 60 2f cd 9b 2f c3 4e 2f   ┆" 4    > 2e4F   #Ny ü   `/  / N/┆
0x0e3060…0e3080             e5 d5 eb 2a 25 22 79 e6 80 b6 4f 1b 23 1a e6 7e fe 02 ca 66 2f d1 e1 c9 cd 08 2e af 32 65 34 c9   ┆   *%"y   O #  ü   f/     . 2e4 ┆
0x0e3080…0e30a0             79 fe 20 d2 8f 2f fe 0d c0 e5 cd 66 31 e1 c9 cd 9b 2f e5 2a 1b 34 cd 99 2e e1 c9 e5 d5 c5 3a 65   ┆y    /     f1    / * 4  .     :e┆
0x0e30a0…0e30c0             34 b7 c2 04 30 79 cd 12 30 4f cd b1 2f c1 d1 e1 c9 cd f6 2d c2 d8 2f 79 2a 11 34 be ca e9 2f 2a   ┆4   0y  0O  /      -  /y* 4   /*┆
0x0e30c0…0e30e0             1b 34 cd a5 2e cd 01 30 cd e9 2f 2a 1b 34 22 1f 34 2a 11 34 22 13 34 c9 2a 13 34 eb 2a 11 34 cd   ┆ 4  .  0  /* 4" 4* 4" 4 * 4 * 4 ┆
0x0e30e0…0e3100             71 09 c2 e9 2f 79 32 15 34 21 1b 34 34 2a 11 34 71 23 22 11 34 c5 3a 1c 34 4f 06 00 cd 5b 32 c1   ┆q   /y2 4! 44* 4q#" 4 : 4O   Æ2 ┆
0x0e3100…0e3120             c9 e5 d5 c5 cd 87 30 79 cd 00 00 cd 56 33 c1 d1 e1 c9 07 fe 02 d2 1a 30 c6 be fe 04 d2 21 30 c6   ┆      0y    V3         0     !0 ┆
0x0e3120…0e3140             52 0f c9 e5 d5 c5 0e 20 cd 11 2e 2a 1b 34 95 47 ca 43 30 eb 21 70 02 7e b7 c2 47 30 cd 9b 2f 05   ┆R         .* 4 G C0 !p ü  G0  / ┆
0x0e3140…0e3160             c2 3c 30 c1 d1 e1 c9 e5 2a 11 34 0e 00 7e 36 20 96 b1 4f 23 05 c2 4d 30 e1 b7 ca 6b 30 eb cd a2   ┆ <0     * 4  ü6   O#  M0   k0   ┆
0x0e3160…0e3180             2e eb cd 47 2f 3a b1 02 cd 78 2f c1 d1 e1 c9 3a b5 02 b7 c2 7d 30 3a 10 34 b7 c3 8d 30 e5 2a 13   ┆.  G/:   x/    :    å0: 4   0 * ┆
0x0e3180…0e31a0             34 7e ee 80 77 e1 c9 3a 10 34 a9 f0 a9 ca a5 30 af 32 10 34 e5 21 8e 02 7e b7 c2 a0 30 21 87 02   ┆4ü  w  : 4     0 2 4 !  ü   0!  ┆
0x0e31a0…0e31c0             cd b3 30 e1 c9 e5 21 87 02 cd b3 30 e1 3e ff 32 10 34 c9 3a 65 34 f5 c5 cd 47 2f 3a b1 02 cd 78   ┆  0   !    0 > 2 4 :e4   G/:   x┆
0x0e31c0…0e31e0             2f c1 f1 32 65 34 c9 cd e0 30 cd 2a 33 ca ca 30 cd db 30 c2 c7 30 4f cd 05 33 c9 0c 0d c8 b9 c9   ┆/  2e4   0 *3  0  0  0O  3      ┆
0x0e31e0…0e3200             e5 d5 c5 e5 60 2e 00 cd b6 33 cd 3d 33 cc a2 2e e1 cd 2b 31 cd 3d 33 c2 12 31 2a 1b 34 e5 cd 23   ┆    `.   3 =3  .  +1 =3  1* 4  #┆
0x0e3200…0e3220 (60, 1, 3)  63 68 61 72 20 72 69 67 68 74 20 20 20 5e 54 3d 65 6e 74 69 72 65 20 63 6f 6c 75 6d 6e 20 5e 59   ┆char right   ^T=entire column ^Y┆
0x0e3220…0e3240             3d 65 6e 74 69 72 65 20 6c 69 6e 65 20 20 49 4e 53 45 52 54 3a 20 20 20 20 20 5e 50 3d 6c 69 6e   ┆=entire line  INSERT:     ^P=lin┆
0x0e3240…0e3260             65 20 62 75 66 66 65 72 20 20 20 20 5e 56 3d 63 68 61 72 20 72 69 67 68 74 20 20 20 5e 42 3d 65   ┆e buffer    ^V=char right   ^B=e┆
0x0e3260…0e3280             6e 74 69 72 65 20 63 6f 6c 75 6d 6e 20 5e 4e 3d 65 6e 74 69 72 65 20 6c 69 6e 65 20 20 4f 54 48   ┆ntire column ^N=entire line  OTH┆
0x0e3280…0e32a0             45 52 3a 20 20 20 20 20 20 5e 4a 3d 72 6f 74 61 74 65 20 68 65 6c 70 20 20 20 20 5e 57 3d 6c 69   ┆ER:      ^J=rotate help    ^W=li┆
0x0e32a0…0e32c0             73 74 20 66 6f 72 6d 20 20 20 20 5e 43 3d 66 6f 72 6d 20 64 6f 6e 65 20 20 20 20 20 5e 4b 3d 74   ┆st form    ^C=form done     ^K=t┆
0x0e32c0…0e32e0             6f 67 67 6c 65 20 6b 65 79 20 20 20 46 49 45 4c 44 3a 20 20 20 20 20 20 5e 51 2c 5f 3d 61 64 64   ┆oggle key   FIELD:      ^Q,_=add┆
0x0e32e0…0e3300             2f 65 78 74 65 6e 64 20 66 69 65 6c 64 20 20 20 20 20 20 20 20 20 20 20 20 20 5e 5a 3d 64 65 6c   ┆/extend field             ^Z=del┆
0x0e3300…0e3320             65 74 65 20 66 69 65 6c 64 20 20 5e 52 3d 64 65 66 69 6e 65 20 66 69 65 6c 64 20 48 49 47 48 4c   ┆ete field  ^R=define field HIGHL┆
0x0e3320…0e3340             49 47 48 54 3a 20 20 5e 4f 3d 73 65 74 2f 63 6c 65 61 72 20 20 20 20 20 20 5e 4c 3d 64 65 6c 65   ┆IGHT:  ^O=set/clear      ^L=dele┆
0x0e3340…0e3360             74 65 20 62 6c 6f 63 6b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆te block                        ┆
0x0e3360…0e3380             20 20 20 20 20 20 20 20 20 20 43 55 52 53 4f 52 3a 20 20 20 20 20 52 45 54 55 52 4e 3d 6e 65 78   ┆          CURSOR:     RETURN=nex┆
0x0e3380…0e33a0             74 20 69 74 65 6d 20 20 5e 53 3d 6c 65 66 74 20 63 68 61 72 20 20 20 20 5e 44 3d 72 69 67 68 74   ┆t item  ^S=left char    ^D=right┆
0x0e33a0…0e33c0             20 63 68 61 72 20 20 20 20 5e 45 3d 70 72 65 76 20 69 74 65 6d 20 20 20 20 4f 54 48 45 52 3a 20   ┆ char    ^E=prev item    OTHER: ┆
0x0e33c0…0e33e0             20 20 20 20 20 5e 41 3d 70 72 65 76 69 6f 75 73 20 66 69 65 6c 64 20 5e 46 3d 6e 65 78 74 20 66   ┆     ^A=previous field ^F=next f┆
0x0e33e0…0e3400             69 65 6c 64 20 20 20 5e 47 3d 64 65 6c 65 74 65 20 63 68 61 72 20 20 20 5e 56 3d 69 6e 73 65 72   ┆ield   ^G=delete char   ^V=inser┆
0x0e3400…0e3420 (60, 1, 4)  6c 65 20 74 6f 20 63 72 65 61 74 65 20 61 20 66 6f 72 6d 20 66 6f 72 0d 64 61 74 61 20 65 6e 74   ┆le to create a form for data ent┆
0x0e3420…0e3440             72 79 2e 20 20 59 6f 75 20 6d 61 79 20 6d 6f 76 65 20 66 72 65 65 6c 79 20 61 72 6f 75 6e 64 20   ┆ry.  You may move freely around ┆
0x0e3440…0e3460             74 68 65 20 73 63 72 65 65 6e 20 75 73 69 6e 67 20 74 68 65 20 43 55 52 53 4f 52 0d 63 6f 6d 6d   ┆the screen using the CURSOR comm┆
0x0e3460…0e3480             61 6e 64 73 20 61 74 20 74 68 65 20 73 63 72 65 65 6e 20 74 6f 70 2c 20 69 6e 73 65 72 74 69 6e   ┆ands at the screen top, insertin┆
0x0e3480…0e34a0             67 20 62 61 63 6b 67 72 6f 75 6e 64 20 74 65 78 74 20 61 74 20 77 69 6c 6c 2e 20 20 54 68 65 0d   ┆g background text at will.  The ┆
0x0e34a0…0e34c0             62 6f 78 65 73 2f 64 61 74 61 66 69 65 6c 64 73 20 61 72 65 20 63 72 65 61 74 65 64 20 75 73 69   ┆boxes/datafields are created usi┆
0x0e34c0…0e34e0             6e 67 20 74 68 65 20 75 6e 64 65 72 6c 69 6e 65 20 6f 72 20 5e 51 20 6b 65 79 2e 20 20 4e 6f 74   ┆ng the underline or ^Q key.  Not┆
0x0e34e0…0e3500             65 20 74 68 61 74 0d 20 31 2e 20 79 6f 75 20 77 69 6c 6c 20 6e 6f 74 20 67 65 74 20 61 20 63 68   ┆e that  1. you will not get a ch┆
0x0e3500…0e3520             61 6e 63 65 20 74 6f 20 61 63 74 75 61 6c 6c 79 20 65 6e 74 65 72 20 64 61 74 61 20 69 6e 20 74   ┆ance to actually enter data in t┆
0x0e3520…0e3540             68 69 73 20 73 74 65 70 20 61 6e 64 0d 20 32 2e 20 77 68 65 6e 20 74 68 65 20 64 61 74 61 20 64   ┆his step and  2. when the data d┆
0x0e3540…0e3560             6f 65 73 20 67 65 74 20 65 6e 74 65 72 65 64 2c 20 6f 6e 6c 79 20 74 68 65 20 64 61 74 61 20 69   ┆oes get entered, only the data i┆
0x0e3560…0e3580             6e 20 74 68 65 20 64 61 74 61 66 69 65 6c 64 73 20 77 69 6c 6c 0d 20 20 20 20 61 63 74 75 61 6c   ┆n the datafields will     actual┆
0x0e3580…0e35a0             6c 79 20 67 65 74 20 72 65 63 6f 72 64 65 64 2e 20 20 54 68 65 20 72 65 73 74 20 69 73 20 73 69   ┆ly get recorded.  The rest is si┆
0x0e35a0…0e35c0             6d 70 6c 79 20 62 61 63 6b 67 72 6f 75 6e 64 20 74 65 78 74 2e 0d 0d 54 68 65 20 68 65 6c 70 20   ┆mply background text.  The help ┆
0x0e35c0…0e35e0             6d 65 73 73 61 67 65 73 20 61 74 20 74 68 65 20 73 63 72 65 65 6e 20 74 6f 70 20 6c 69 73 74 2f   ┆messages at the screen top list/┆
0x0e35e0…0e3600             65 78 70 6c 61 69 6e 20 6d 6f 73 74 20 6f 66 20 74 68 65 20 6f 70 74 69 6f 6e 73 0d 61 76 61 69   ┆explain most of the options avai┆
0x0e3600…0e3620 (60, 1, 5)  d2 fe 28 c6 30 cc 3b 2a 04 c5 e5 22 52 2b 0e 0d cd 0e 27 0e 0a cd 0e 27 78 cd 9e 2a 3e 01 cd 9b   ┆  ( 0 ;*   "R+    '    'x  *>   ┆
0x0e3620…0e3640             2a 3e 03 cd 9b 2a 3e 02 cd 9b 2a e1 e5 cd 4d 14 08 c2 3d 29 01 20 04 cd 28 27 c3 40 29 cd 9e 2a   ┆*>   *>   *   M   =)    (' @)  *┆
0x0e3640…0e3660             cd 96 2a cd 90 2a 21 18 36 cd 72 2a 7e b7 c2 49 29 cd 90 2a cd 96 2a cd 90 2a 23 cd 72 2a 06 09   ┆  *  *! 6 r*ü  I)  *  *  *# r*  ┆
0x0e3660…0e3680             cd 5e 2a cd 72 2a 06 0a cd 5e 2a cd 96 2a cd 90 2a cd 90 2a e1 e5 cd 4d 14 05 e6 04 c2 88 29 01   ┆ ^* r*   ^*  *  *  *   M      ) ┆
0x0e3680…0e36a0             20 0a cd 28 27 c3 a0 29 3e 0e cd 80 2a 3c cd 9e 2a 01 20 02 cd 28 27 3e 0c cd 80 2a 3c cd 9e 2a   ┆   ('  )>   *<  *    ('>   *<  *┆
0x0e36a0…0e36c0             e1 e5 cd 4d 14 05 e6 08 c2 b4 29 01 20 05 cd 28 27 c3 c3 29 3e 0f cd 9b 2a e1 e5 01 05 10 cd 49   ┆   M      )    ('  )>   *      I┆
0x0e36c0…0e36e0             2a 57 17 cd 90 2a cd 96 2a cd 90 2a e1 e5 cd 4d 14 06 e6 10 ca 32 2a e1 e5 01 06 60 cd 49 2a 48   ┆*W   *  *  *   M     2*    ` I*H┆
0x0e36e0…0e3700             17 21 e1 35 23 23 79 be ca ee 29 21 3d 36 cd 72 2a cd 90 2a 3e 0b cd 9b 2a e1 e5 cd 4d 14 06 e6   ┆ ! 5##y   )!=6 r*  *>   *   M   ┆
0x0e3700…0e3720             40 ca 32 2a cd 90 2a cd 90 2a e1 e5 cd 4d 14 14 e5 c2 1d 2a cd 90 2a cd 90 2a c3 2a 2a 01 14 ff   ┆@ 2*  *  *   M     *  *  * **   ┆
0x0e3720…0e3740             cd 49 2a 52 17 0e 3a cd 0e 27 e1 23 01 20 08 cd a1 26 e1 c1 cd 2c 0b c2 f9 28 c9 e5 c5 cd 52 27   ┆ I*R  :  ' #     &   ,   (    R'┆
0x0e3740…0e3760             21 15 35 cd 9b 26 c1 e1 c9 79 cd 80 2a e3 5e 23 56 23 e3 eb cd 5d 2a 1a 4f cd 0e 27 c9 e9 e5 79   ┆! 5  &   y  * ^#V#   Å* O  '   y┆
0x0e3760…0e3780             fe 20 ca 6a 2a 78 cd 80 2a 4f cd 0e 27 cd 90 2a e1 c9 46 23 5e 23 56 23 4e 23 e5 cd 87 2a e1 c9   ┆   j*x  *O  '  *  F#^#V#N#   *  ┆
0x0e3780…0e37a0             2a 52 2b cd 51 14 c9 78 cd 80 2a a3 ba ca 92 2a 0e 20 cd 0e 27 c9 0e 2e c3 0e 27 cd 80 2a cd a7   ┆*R+ Q  x  *    *    '  .  '  *  ┆
0x0e37a0…0e37c0             2a c5 cd 90 2a c1 c9 d5 e5 11 8f 28 cd c3 17 01 ff 03 eb cd a1 26 eb c1 d1 c9 2a 93 0e 7e b7 c8   ┆*   *      (         &    *  ü  ┆
0x0e37c0…0e37e0             0e 00 51 2a 93 0e 23 23 0c 06 00 cd 4a 27 c0 04 c5 e5 cd 4d 14 0f 91 c2 1a 2b b2 cc 2b 2b 0e 0d   ┆  Q*  ##    J'     M     +  ++  ┆
0x0e37e0…0e3800             cd 0e 27 0e 0a cd 0e 27 0e 23 cd 0e 27 78 32 2c 22 cd a7 2a 0e 3d cd 0e 27 11 f6 ff 19 7e e6 10   ┆  '    ' #  'x2,"  * =  '    ü  ┆
0x0e3800…0e3820 (60, 1, 6)  30 44 04 78 d6 06 2f 3c dc 42 32 cd b6 33 e1 cd a5 2e c1 d1 e1 c9 3e 00 c3 1c 31 79 e5 6f 60 cd   ┆0D x  /< B2  3   .    >   1y o` ┆
0x0e3820…0e3840             72 31 e1 cd 2b 31 af 32 21 34 c9 e5 d5 c5 cd 24 32 06 00 16 01 e5 2a 1b 34 cd 11 2e 95 5f e1 7e   ┆r1  +1 2!4     $2     * 4  . _ ü┆
0x0e3840…0e3860             4f 23 fe 20 da 8b 31 fe 80 ca a3 31 cd 3d 33 cc 9b 2f 04 05 ca 5b 31 05 ca a3 31 1d c2 3f 31 e5   ┆O#    1    1 =3  /   Æ1   1  ?1 ┆
0x0e3860…0e3880             cd 66 31 c3 39 31 cd 3d 33 cc 23 30 2a 1b 34 24 2e 00 cd 3d 33 cc a2 2e c9 46 23 14 d5 5e 23 56   ┆ f1 91 =3 #0* 4$.  =3  . F#  ^#V┆
0x0e3880…0e38a0             23 e3 eb 7c b7 c4 0f 32 c3 3f 31 fe 0d ca 5f 31 04 05 c2 52 31 fe 01 ca 7b 31 fe 02 ca 79 31 b7   ┆#  ø   2 ?1   _1   R1   æ1   y1 ┆
0x0e38a0…0e38c0             c2 52 31 15 c2 3e 31 2a 1b 34 cd 3d 33 cc 23 30 cd a2 2e c1 d1 e1 c9 e5 d5 c5 46 23 e5 23 1e 00   ┆ R1  >1* 4 =3 #0  .       F# #  ┆
0x0e38c0…0e38e0             cd 7a 32 e6 7f fe 7f c2 cc 31 3e 08 fe 20 da e2 31 4f cd 80 2f 71 23 1c 05 c2 c0 31 e1 73 c1 d1   ┆ z2      1>     1O  /q#    1 s  ┆
0x0e38e0…0e3900             e1 c9 fe 03 ca 00 00 fe 0d 36 00 ca dc 31 cd f4 31 c3 c0 31 fe 08 c0 7b b7 c8 e5 2a 1b 34 2d cd   ┆         6   1  1  1   æ   * 4- ┆
0x0e3900…0e3920             99 2e 0e 20 cd 80 2f cd 99 2e e1 2b 04 1d c9 d5 f5 eb 2a 6c 34 eb 7a 3c bc da 21 32 11 6a 34 15   ┆ .    /  . +      *l4 z<  !2 j4 ┆
0x0e3920…0e3940             19 f1 d1 c9 d5 f5 11 9f 34 cd 71 09 d2 3f 32 11 a9 35 cd 71 09 da 3f 32 5e 23 56 eb cd 0f 32 f1   ┆        4 q  ?2  5 q  ?2^#V   2 ┆
0x0e3940…0e3960             d1 c9 e5 c5 48 f5 cd 11 2e 47 f1 2a a9 34 f5 cd 5b 32 f1 0c 3d c2 4e 32 c1 e1 c9 f5 3a 40 02 3d   ┆    H   .G * 4  Æ2  = N2    :@ =┆
0x0e3960…0e3980             b9 da 78 32 e5 d5 c5 eb 2a 22 34 06 00 09 09 09 c1 70 23 73 23 72 d1 e1 f1 c9 e5 d5 c5 cd 2a 33   ┆  x2    *"4      p#s#r        *3┆
0x0e3980…0e39a0             c2 9e 32 cd 75 33 ca 7d 32 cd 05 33 cd a5 32 47 f4 50 33 04 05 fc d9 32 cd 2a 33 ca 93 32 cd 05   ┆  2 u3 å2  3  2G P3    2 *3  2  ┆
0x0e39a0…0e39c0             33 c1 d1 e1 c9 3a b7 02 b7 c8 e5 c5 cd d0 32 0c 46 cd f6 2d ca bb 32 3a 15 34 47 cd 11 2e b9 78   ┆3    :        2 F  -  2: 4G  . x┆
0x0e39c0…0e39e0             ca c6 32 23 b6 2b 0d ca cc 32 2b b6 b7 c1 e1 c9 2a 1b 34 44 4d cd bd 33 c9 cd dc 32 cd 6f 30 c5   ┆  2# +   2+     * 4DM  3   2 o0 ┆
0x0e39e0…0e3a00             06 02 3e ff cd ed 32 05 c2 e2 32 c1 c9 cd f6 32 c0 3d c2 ed 32 c9 e5 c5 4f af 3d c2 fa 32 cd 3d   ┆  >   2   2    2 =  2   O =  2 =┆
0x0e3a00…0e3a20 (60, 1, 7)  74 20 63 68 61 72 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5e 43 3d 65 6e 64 20 64 65 66 69 6e   ┆t char              ^C=end defin┆
0x0e3a20…0e3a40             69 74 69 6f 6e 20 5e 52 3d 73 74 61 72 74 20 6f 76 65 72 20 20 20 5e 51 3d 6c 6f 63 61 74 65 20   ┆ition ^R=start over   ^Q=locate ┆
0x0e3a40…0e3a60             66 69 65 6c 64 20 20 5e 4a 3d 6d 6f 72 65 20 68 65 6c 70 20 20 20 20 5f 5f 5f 5f 5f 5f 5f 5f 5f   ┆field  ^J=more help    _________┆
0x0e3a60…0e3a80             5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f   ┆________________________________┆
          […0x1…]
0x0e3aa0…0e3ac0             5f 5f 5f 5f 5f 5f 20 20 20 20 20 20 20 20 20 20 20 20 4c 49 4e 3d 30 30 30 20 43 4f 4c 3d 30 30   ┆______            LIN=000 COL=00┆
0x0e3ac0…0e3ae0             30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆0                               ┆
0x0e3ae0…0e3b00             20 20 20 20 20 20 20 48 45 4c 50 20 53 43 52 45 45 4e 20 32 20 20 20 20 20 20 20 20 20 20 20 20   ┆       HELP SCREEN 2            ┆
0x0e3b00…0e3b20             20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆                                ┆
          […0x1…]
0x0e3b40…0e3b60             20 20 20 20 4e 55 4d 3d 30 30 30 20 4c 45 4e 3d 30 30 30 20 50 4f 53 3d 30 30 30 20 45 44 43 3d   ┆    NUM=000 LEN=000 POS=000 EDC=┆
0x0e3b60…0e3b80             78 78 0d 5e 01 40 02 20 55 6e 69 6d 70 6c 65 6d 65 6e 74 65 64 20 63 6f 6e 74 72 6f 6c 20 63 68   ┆xx ^ @  Unimplemented control ch┆
0x0e3b80…0e3ba0             61 72 61 63 74 65 72 2e 20 48 69 74 20 45 53 43 20 6b 65 79 3a 20 00 0d 43 75 72 73 6f 72 20 69   ┆aracter. Hit ESC key:   Cursor i┆
0x0e3ba0…0e3bc0             73 20 6e 6f 74 20 69 6e 20 61 20 66 69 65 6c 64 2c 20 01 3f 02 20 69 67 6e 6f 72 65 64 01 1d 07   ┆s not in a field,  ?  ignored   ┆
0x0e3bc0…0e3be0             00 41 74 20 6c 69 6e 65 20 6c 69 6d 69 74 01 46 07 00 43 61 6e 6e 6f 74 20 64 65 6c 65 74 65 20   ┆ At line limit F  Cannot delete ┆
0x0e3be0…0e3c00             6c 61 73 74 20 00 01 68 07 6c 69 6e 65 01 1d 07 00 41 74 20 63 6f 6c 75 6d 6e 01 5e 07 00 01 68   ┆last   h line    At column ^   h┆
0x0e3c00…0e3c20 (60, 1, 8)  6c 61 62 6c 65 2e 20 55 73 65 20 5e 4a 20 74 6f 20 72 6f 74 61 74 65 20 74 68 65 20 68 65 6c 70   ┆lable. Use ^J to rotate the help┆
0x0e3c20…0e3c40             20 64 69 73 70 6c 61 79 2e 0d 0d 44 61 74 61 66 69 65 6c 64 73 20 6d 61 79 20 62 65 20 61 73 73   ┆ display.  Datafields may be ass┆
0x0e3c40…0e3c60             69 67 6e 65 64 20 76 61 72 69 6f 75 73 20 61 74 74 72 69 62 75 74 65 73 20 76 69 61 20 61 20 73   ┆igned various attributes via a s┆
0x0e3c60…0e3c80             70 65 63 69 61 6c 20 71 75 65 73 74 69 6f 6e 61 69 72 65 2e 0d 54 6f 20 65 6e 74 65 72 20 74 68   ┆pecial questionaire. To enter th┆
0x0e3c80…0e3ca0             69 73 20 70 68 61 73 65 2c 20 70 6f 73 69 74 69 6f 6e 20 74 68 65 20 63 75 72 73 6f 72 20 61 74   ┆is phase, position the cursor at┆
0x0e3ca0…0e3cc0             20 61 20 64 61 74 61 66 69 65 6c 64 20 61 6e 64 20 74 79 70 65 20 5e 52 2e 0d 54 79 70 65 20 5e   ┆ a datafield and type ^R. Type ^┆
0x0e3cc0…0e3ce0             4a 20 61 74 20 61 6e 79 20 71 75 65 73 74 69 6f 6e 20 66 6f 72 20 66 75 72 74 68 65 72 20 69 6e   ┆J at any question for further in┆
0x0e3ce0…0e3d00             66 6f 72 6d 61 74 69 6f 6e 20 69 6e 20 74 68 69 73 20 70 68 61 73 65 2e 0d 20 20 20 20 54 79 70   ┆formation in this phase.     Typ┆
0x0e3d00…0e3d20             65 20 5e 4a 20 6e 6f 77 20 74 6f 20 72 6f 74 61 74 65 20 74 6f 20 74 68 65 20 6e 65 78 74 20 68   ┆e ^J now to rotate to the next h┆
0x0e3d20…0e3d40             65 6c 70 20 73 63 72 65 65 6e 3a 20 00 45 6e 74 65 72 20 6e 61 6d 65 20 6f 66 20 66 6f 72 6d 20   ┆elp screen:  Enter name of form ┆
0x0e3d40…0e3d60             64 65 66 69 6e 69 74 69 6f 6e 20 66 69 6c 65 20 28 6f 72 20 70 72 65 73 73 20 52 45 54 55 52 4e   ┆definition file (or press RETURN┆
0x0e3d60…0e3d80             29 3a 20 00 0d 20 54 68 65 20 66 6f 72 6d 20 64 65 66 69 6e 69 74 69 6f 6e 20 66 69 6c 65 20 69   ┆):    The form definition file i┆
0x0e3d80…0e3da0             73 20 77 68 65 72 65 20 74 68 65 20 73 70 65 63 69 66 69 63 61 74 69 6f 6e 73 20 66 6f 72 20 79   ┆s where the specifications for y┆
0x0e3da0…0e3dc0             6f 75 72 20 66 6f 72 6d 20 61 72 65 0d 20 73 74 6f 72 65 64 2e 20 20 49 66 20 79 6f 75 20 68 61   ┆our form are  stored.  If you ha┆
0x0e3dc0…0e3de0             76 65 20 6e 6f 74 20 79 65 74 20 64 65 73 69 67 6e 65 64 20 61 20 66 6f 72 6d 2c 20 63 68 6f 6f   ┆ve not yet designed a form, choo┆
0x0e3de0…0e3e00             73 65 20 61 20 6e 61 6d 65 20 66 6f 72 20 74 68 65 20 66 6f 72 6d 0d 20 64 65 66 69 6e 69 74 69   ┆se a name for the form  definiti┆
0x0e3e00…0e3e20 (60, 1, 9)  32 3c 22 e1 e5 cd 4d 14 17 eb cd 34 18 eb 3a 41 02 d6 06 47 0e 20 cd a1 26 51 e1 c1 cd 2c 0b c2   ┆2<"   M    4  :A   G    &Q   ,  ┆
0x0e3e20…0e3e40             cb 2a 2a 93 0e 7e b9 c2 c3 2a c9 e5 c5 2a 93 0e 7e 21 17 35 cd 24 32 cd 43 2b cd 9e 26 c1 e1 c9   ┆ **  ü   *   *  ü! 5 $2 C+  &   ┆
0x0e3e40…0e3e60             3a 90 0e fe 18 d2 52 27 e5 21 11 35 cd 9b 26 e1 c9 20 20 20 20 20 20 20 e5 cd ad 2b 67 cd bb 2b   ┆:     R' ! 5  &            +g  +┆
0x0e3e60…0e3e80             6f cd 99 2e e1 c9 e5 d5 c5 2a 73 2d 3a 2f 0a 67 cd 5d 2d cd c9 2b cd ad 2b 4f d4 5b 32 c1 d1 e1   ┆o  .     *s-:/ g Å-  +  +O Æ2   ┆
0x0e3e80…0e3ea0             c9 e5 d5 c5 3a 79 2d 3d 4f cd c9 2b 2a 7f 34 78 f6 80 47 cd 5b 32 c1 d1 e1 c9 3a 40 02 3d 67 cd   ┆    :y-=O  +* 4x  G Æ2    :@ =g ┆
0x0e3ea0…0e3ec0             11 2e 6f cd 99 2e cd 1b 2e cd fb 2d c9 e5 3a 2f 0a 2a 74 2d 95 2a 79 2d 85 e1 c9 e5 3a 2e 0a 2a   ┆ .o  .  .  -  :/ *t- *y-    :. *┆
0x0e3ec0…0e3ee0             73 2d 95 2a 28 0a 85 e1 c9 cd 11 2e 47 3a 8f 0e b8 d0 47 c9 0e 1b 06 01 cd c7 30 cd 00 2d 79 c9   ┆s- *(      .G:    G       0  -y ┆
0x0e3ee0…0e3f00             3a 78 2d c3 e8 2b 3e 06 06 01 cd 42 32 cd b6 33 c9 e5 d5 c5 21 77 2d 7e 2f 77 cd 0a 2c cd e0 2b   ┆:x-  +>    B2  3    !w-ü/w  ,  +┆
0x0e3f00…0e3f20             cd 52 2c cd 00 2d c1 d1 e1 c9 3a 77 2d 21 78 2d a6 3c 32 79 2d c9 e5 d5 c5 11 78 2d 1a 4f 7e 12   ┆ R,  -    :w-!x- <2y-     x- Oü ┆
0x0e3f20…0e3f40             b9 f5 23 47 87 80 47 11 7d 2d cd c8 09 f1 ca 48 2d cd 0a 2c cd e0 2b cd 52 2c cd 00 2d c1 d1 e1   ┆  #G  G å-     H-  ,  + R,  -   ┆
0x0e3f40…0e3f60             c9 e5 d5 c5 af 32 74 2d 32 73 2d cd f3 2c c1 d1 e1 c9 e5 d5 c5 cd 66 2c f5 cd 8c 2c 47 f1 b0 c4   ┆     2t-2s-  ,        f,   ,G   ┆
0x0e3f60…0e3f80             f3 2c c1 d1 e1 c9 21 73 2d cd 11 2e 5f 3a 2e 0a 57 3a 2d 0a 47 0e 0f bb 3a 8f 0e da a1 2c 78 82   ┆ ,    !s-  ._:. W:- G   :    ,x ┆
0x0e3f80…0e3fa0             f5 3a 28 0a 82 57 f1 06 00 c3 a1 2c 3a 40 02 2a 79 2d 95 5f 3a 2f 0a 57 21 74 2d 01 03 00 3a 90   ┆ :(  W     ,:@ *y- _:/ W!t-   : ┆
0x0e3fa0…0e3fc0             0e 93 d2 a6 2c af ca df 2c 32 72 2d 7e b7 ca b6 2c 81 ba d2 ca 2c 7e 83 91 4f 7a 80 b9 d2 ca 2c   ┆    ,   ,2r-ü   ,    ,ü  Oz    ,┆
0x0e3fc0…0e3fe0             3a 72 2d be da df 2c 3e 00 c9 3a 72 2d 4f 7b 1f 5f 78 b7 1f 82 93 d2 da 2c af b9 da df 2c 79 4e   ┆:r-   ,>  :r-Oæ _x      ,    ,yN┆
0x0e3fe0…0e4000             77 91 c9 e5 d5 c5 cd 66 2c b7 f5 c4 f3 2c f1 c1 d1 e1 c9 2a 73 2d cd 5d 2d 22 75 2d cd 00 2d c9   ┆w      f,    ,     *s- Å-"u-  - ┆
0x0e4000…0e4020 (60, 1, 10) 33 79 c1 e1 c9 e5 21 21 34 34 35 36 00 e1 c8 e5 2a 1d 34 cd a5 2e e1 c9 3a 21 34 b7 c0 3c 32 21   ┆3y    !!4456    * 4  .  :!4  <2!┆
0x0e4020…0e4040             34 e5 2a 1b 34 22 1d 34 e1 c9 cd 3d 33 c8 e5 2a 17 34 36 00 cd 48 33 22 17 34 e1 b7 c9 cd 56 33   ┆4 * 4" 4   =3  * 46  H3" 4    V3┆
0x0e4040…0e4060             e5 2a 17 34 7e e1 b7 c9 23 34 35 f0 21 24 34 c9 e5 d5 c5 c3 60 33 e5 d5 c5 cd 00 00 b7 ca 71 33   ┆ * 4ü   #45 !$4     `3        q3┆
0x0e4060…0e4080             cd 00 00 b7 ca 71 33 2a 19 34 77 cd 48 33 22 19 34 c1 d1 e1 c9 e5 d5 c5 2a 22 34 06 00 7e 36 00   ┆     q3* 4w H3" 4       *"4  ü6 ┆
0x0e4080…0e40a0             23 5e 23 56 23 b7 c2 9a 33 04 3a 40 02 b8 c2 7d 33 cd 05 33 af 3c c1 d1 e1 c9 0e 00 cd bd 33 cd   ┆#^#V#   3 :@   å3  3 <        3 ┆
0x0e40a0…0e40c0             e1 33 ca b2 33 cd a2 2e eb 04 05 c4 51 2f cd 23 30 af c1 d1 e1 c9 cd 75 33 ca b6 33 c9 d5 c5 f5   ┆ 3  3  .    Q/ #0      u3  3    ┆
0x0e40c0…0e40e0             3a 41 02 cd ce 33 2a 68 34 19 f1 c1 d1 c9 6f af 67 57 59 78 1f d2 db 33 eb 19 eb 29 b7 c2 d4 33   ┆:A   3*h4     o gWYx   3   )   3┆
0x0e40e0…0e4100             c9 c5 f5 e6 7f 47 f1 b7 eb f4 0f 32 eb 1a cd 12 30 be c2 0c 34 0c 13 23 05 c2 ed 33 0d 0c cd 11   ┆     G     2    0   4  #   3    ┆
0x0e4100…0e4120             2e b9 ca 0c 34 7e fe 20 23 ca fd 33 e1 69 c9 e0 00 01 f7 0e 00 ff 00 24 34 24 34 00 00 00 00 ff   ┆.   4ü  #  3 i         $4$4     ┆
0x0e4120…0e4140             ff 00 65 72 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆  er                            ┆
0x0e4140…0e4160             00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
0x0e4160…0e4180             00 00 00 00 ff 00 00 62 79 20 a0 4a a0 4a 06 4f d7 02 4f 26 03 4f 75 03 4f c4 03 4f 13 04 4f ed   ┆       by  J J O  O& Ou O  O  O ┆
0x0e4180…0e41a0             05 06 4f d7 02 4f 26 03 4f 62 04 4f b1 04 4f 13 04 4f ed 05 04 4f 00 05 4f 4f 05 4f 9e 05 4f ed   ┆  O  O& Ob O  O  O   O  OO O  O ┆
0x0e41a0…0e41c0             05 4c 06 54 06 5a 06 89 06 8a 06 da 06 de 06 e6 06 ee 06 f6 06 1e 00 f8 06 2d 07 57 07 7c 07 87   ┆ L T Z                   - W ø  ┆
0x0e41c0…0e41e0             07 94 07 a1 07 b6 07 ef 07 2c 08 0b 0a c3 0e fa 0e b4 0f 53 08 76 08 78 08 8f 08 a1 08 d3 08 f6   ┆         ,         S v x        ┆
0x0e41e0…0e4200             08 fe 08 a7 09 d4 09 f1 09 7a 10 e8 10 db 13 62 11 c3 11 25 12 60 12 9e 12 31 13 5c 15 84 15 8f   ┆         z     b   % `   1 Ø    ┆
0x0e4200…0e4220 (60, 1, 11) 07 63 6f 6c 75 6d 6e 01 1d 07 00 4e 6f 74 20 65 6e 6f 75 67 68 20 6d 65 6d 6f 72 79 01 46 07 00   ┆ column    Not enough memory F  ┆
0x0e4220…0e4240             50 6f 73 73 69 62 6c 65 20 66 61 74 61 6c 20 70 72 6f 67 72 61 6d 20 65 72 72 6f 72 2e 0d 50 6c   ┆Possible fatal program error. Pl┆
0x0e4240…0e4260             65 61 73 65 20 72 65 70 6f 72 74 20 6f 63 63 75 72 61 6e 63 65 01 46 07 00 2a 2a 2a 20 57 41 52   ┆ease report occurance F  *** WAR┆
0x0e4260…0e4280             4e 49 4e 47 3a 20 20 45 64 69 74 20 6d 61 73 6b 20 6f 72 20 72 61 6e 67 65 20 6c 69 6d 69 74 73   ┆NING:  Edit mask or range limits┆
0x0e4280…0e42a0             20 6d 61 79 20 6e 65 65 64 20 72 65 76 69 73 69 6f 6e 01 1d 07 00 54 68 65 20 6d 61 78 69 6d 75   ┆ may need revision    The maximu┆
0x0e42a0…0e42c0             6d 20 6e 75 6d 62 65 72 20 6f 66 20 66 69 65 6c 64 73 20 69 73 20 32 34 35 01 46 07 00 43 61 6e   ┆m number of fields is 245 F  Can┆
0x0e42c0…0e42e0             27 74 20 72 65 61 64 20 66 6f 72 6d 20 64 65 66 69 6e 69 74 69 6f 6e 20 66 69 6c 65 01 af 08 00   ┆'t read form definition file    ┆
0x0e42e0…0e4300             0d 00 49 6e 73 75 66 66 69 63 69 65 6e 74 20 6d 65 6d 6f 72 79 01 af 08 00 44 69 72 65 63 74 6f   ┆  Insufficient memory    Directo┆
0x0e4300…0e4320             72 79 20 6f 6e 20 64 01 a2 08 00 44 69 73 6b 20 01 40 02 3a 20 66 75 6c 6c 2e 0d 52 65 70 6c 61   ┆ry on d    Disk  @ : full. Repla┆
0x0e4320…0e4340             63 65 20 73 79 73 74 65 6d 20 64 69 73 6b 2c 20 74 79 70 65 20 72 65 74 75 72 6e 2e 00 01 65 09   ┆ce system disk, type return.  e ┆
0x0e4340…0e4360             61 20 6c 69 74 65 72 61 6c 20 65 6e 63 6c 6f 73 65 64 20 69 6e 20 71 75 6f 74 65 73 01 1d 07 00   ┆a literal enclosed in quotes    ┆
0x0e4360…0e4380             01 b3 09 26 01 1d 07 00 01 65 09 61 20 63 6f 6e 73 74 61 6e 74 20 75 73 69 6e 67 20 6f 6e 6c 79   ┆   &     e a constant using only┆
0x0e4380…0e43a0             20 74 68 65 20 64 69 67 69 74 73 20 30 20 74 68 72 6f 75 67 68 20 39 2c 20 61 6e 64 20 6f 70 74   ┆ the digits 0 through 9, and opt┆
0x0e43a0…0e43c0             69 6f 6e 61 6c 20 64 65 63 69 6d 61 6c 0d 20 70 6f 69 6e 74 20 61 6e 64 20 6c 65 61 64 69 6e 67   ┆ional decimal  point and leading┆
0x0e43c0…0e43e0             20 6d 69 6e 75 73 20 73 69 67 6e 01 1d 07 00 49 6c 6c 65 67 61 6c 20 6f 70 65 72 61 6e 64 2e 20   ┆ minus sign    Illegal operand. ┆
0x0e43e0…0e4400             20 49 74 65 6d 20 6d 75 73 74 20 62 65 0d 61 20 66 69 65 6c 64 20 62 65 74 77 65 65 6e 20 23 30   ┆ Item must be a field between #0┆
0x0e4400…0e4420 (60, 1, 12) 6f 6e 20 66 69 6c 65 20 61 6e 64 20 65 6e 74 65 72 20 69 74 20 68 65 72 65 2e 01 3e 10 00 0d 20   ┆on file and enter it here. >    ┆
0x0e4420…0e4440             41 20 66 6f 72 6d 20 64 65 66 69 6e 69 74 69 6f 6e 20 6e 61 6d 65 20 69 73 20 65 69 67 68 74 20   ┆A form definition name is eight ┆
0x0e4440…0e4460             28 6f 72 20 6c 65 73 73 29 20 6c 65 74 74 65 72 73 20 61 6e 64 2f 6f 72 20 6e 75 6d 62 65 72 73   ┆(or less) letters and/or numbers┆
0x0e4460…0e4480             2c 0d 20 6f 70 74 69 6f 6e 61 6c 6c 79 20 70 72 65 63 65 65 64 65 64 20 62 79 20 61 20 64 69 73   ┆,  optionally preceeded by a dis┆
0x0e4480…0e44a0             6b 20 64 72 69 76 65 20 28 6c 65 74 74 65 72 20 41 2d 50 20 66 6f 6c 6c 6f 77 65 64 20 62 79 20   ┆k drive (letter A-P followed by ┆
0x0e44a0…0e44c0             63 6f 6c 6f 6e 29 2e 0d 0d 0d 50 72 65 73 73 20 52 45 54 55 52 4e 20 6b 65 79 20 74 6f 20 65 6e   ┆colon).   Press RETURN key to en┆
0x0e44c0…0e44e0             74 65 72 20 66 6f 72 6d 20 6e 61 6d 65 20 6f 72 20 65 6e 74 65 72 20 5e 43 20 74 6f 20 65 78 69   ┆ter form name or enter ^C to exi┆
0x0e44e0…0e4500             74 3a 20 00 20 65 72 72 6f 72 73 20 61 6e 64 20 69 6e 63 6f 6d 70 6c 65 74 65 20 66 69 65 6c 64   ┆t:   errors and incomplete field┆
0x0e4500…0e4520             73 3a 0d 0d 46 69 65 6c 64 20 20 20 45 72 72 6f 72 20 64 65 73 63 72 69 70 74 69 6f 6e 20 28 70   ┆s:  Field   Error description (p┆
0x0e4520…0e4540             6f 73 69 74 69 6f 6e 20 63 75 72 73 6f 72 20 61 74 20 66 69 65 6c 64 20 74 6f 20 70 65 72 66 6f   ┆osition cursor at field to perfo┆
0x0e4540…0e4560             72 6d 20 63 6f 72 72 65 63 74 69 6f 6e 73 29 0d 0d 00 07 20 3f 3f 3f 20 20 20 4e 6f 20 6b 65 79   ┆rm corrections)     ???   No key┆
0x0e4560…0e4580             20 66 69 65 6c 64 20 68 61 73 20 62 65 65 6e 20 65 73 74 61 62 6c 69 73 68 65 64 2e 0d 20 20 20   ┆ field has been established.    ┆
0x0e4580…0e45a0             20 20 20 20 20 28 43 68 6f 6f 73 65 20 61 74 20 6c 65 61 73 74 20 31 20 66 69 65 6c 64 20 61 73   ┆     (Choose at least 1 field as┆
0x0e45a0…0e45c0             20 73 6f 72 74 20 66 69 65 6c 64 2c 20 75 73 65 20 5e 4b 20 74 6f 20 61 73 73 69 67 6e 20 6b 65   ┆ sort field, use ^K to assign ke┆
0x0e45c0…0e45e0             79 20 73 74 61 74 75 73 2e 29 0d 00 20 30 30 30 20 20 20 49 6c 6c 65 67 61 6c 20 63 68 61 72 61   ┆y status.)   000   Illegal chara┆
0x0e45e0…0e4600             63 74 65 72 28 73 29 20 69 6e 20 74 68 65 20 63 6f 6e 74 65 6e 74 20 63 6f 6e 74 72 6f 6c 20 77   ┆cter(s) in the content control w┆
0x0e4600…0e4620 (60, 1, 13) 3a 0f 34 e5 d5 c5 6f cd 58 2b cd 45 2d 3a 79 2d bd d2 41 2d 4f 7d f5 cd c9 2b 5f 16 00 e5 2a 74   ┆: 4   o X+ E-:y-  A-Oå   +_   *t┆
0x0e4620…0e4640             2d 3a 90 0e 95 2a 79 2d 85 e1 bd da 2f 2d 7d 2a 75 2d cd 5b 32 19 0c b9 c2 32 2d f1 91 41 c4 42   ┆-:   *y-    /-å*u- Æ2    2-  A B┆
0x0e4640…0e4660             32 c1 d1 e1 c9 e5 d5 c5 2a 22 34 eb 21 7a 2d 3a 79 2d 4f 87 81 47 cd c8 09 c1 d1 e1 c9 44 4d 3a   ┆2       *"4 !z-:y-O  G       DM:┆
0x0e4660…0e4680             8f 0e cd ce 33 2a 91 0e 19 c9 7c 2f 67 7d 2f 6f 23 c9 00 00 00 91 0e ff 06 07 cf a6 39 00 00 00   ┆    3*    ø/gå/o#           9   ┆
0x0e4680…0e46a0             00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 e5 d5 c5 3a 40 02 32 0f 34 47 2a b3 02 22 68 34 cd   ┆                  :@ 2 4G*  "h4 ┆
0x0e46a0…0e46c0             f6 2d 2a 2c 03 c2 b0 2d 22 68 34 0e 00 cd bd 33 22 22 34 3a 40 02 5f 16 00 19 19 19 22 2c 03 3a   ┆ -*,   -"h4    3""4:@ _     ", :┆
0x0e46c0…0e46e0             4d 02 21 56 02 86 21 5b 02 86 c6 02 32 67 34 1e 03 2a 01 00 19 22 5a 33 19 22 61 33 19 22 09 30   ┆M !V  !Æ    2g4  *   "Z3 "a3 " 0┆
0x0e46e0…0e4700             cd a7 02 21 95 02 cd 47 2f 3a b1 02 cd 78 2f cd 30 2e c1 d1 e1 c9 3a b2 02 b7 c9 cd aa 02 21 9e   ┆   !   G/:   x/ 0.    :       ! ┆
0x0e4700…0e4720             02 cd 47 2f cd 7b 2f c9 3c 3d c8 cd f6 32 c3 09 2e 3a ad 02 b7 3a 41 02 c0 3d c9 af 32 16 34 3a   ┆  G/ æ/ <=   2  .:   :A  =  2 4:┆
0x0e4720…0e4740             15 34 fe ff c8 e5 2a 13 34 ae e6 80 ae 77 e1 c9 3a b6 02 32 16 34 e5 d5 c5 2a 40 02 eb 2a 68 34   ┆ 4    * 4    w  :  2 4   *@  *h4┆
0x0e4740…0e4760             22 11 34 22 13 34 3e 20 32 15 34 cd f6 2d c2 64 2e 21 ff ff 22 1b 34 cd cb 2f 63 25 2e 00 cd 99   ┆" 4" 4> 2 4  - d.!  " 4  /c%.   ┆
0x0e4760…0e4780             2e 2a 68 34 42 36 20 05 23 c2 65 2e cd f6 2d c2 7c 2e 0e 0d cd 01 30 0e 0a cd 01 30 1d c2 64 2e   ┆.*h4B6  # e.  - ø.    0    0  d.┆
0x0e4780…0e47a0             2a 22 34 3a 40 02 47 80 80 73 23 3d c2 89 2e 21 00 00 cd 99 2e c1 d1 e1 c9 f5 af 32 21 34 f1 c3   ┆*"4:@ G  s#=  .!    .      2!4  ┆
0x0e47a0…0e47c0             a5 2e cd 18 33 e5 d5 c5 f5 3a 16 34 b7 c2 1f 2f e5 5c 55 2a 1f 34 7b bc c2 d7 2e 7a 95 ca 0c 2f   ┆ .  3    : 4   / ØU* 4æ   .z   /┆
0x0e47c0…0e47e0             47 3a 67 34 b8 da d7 2e 2a 13 34 4e cd 01 30 23 05 c2 cb 2e c3 0c 2f 3a 67 02 b7 c2 18 2f 21 4d   ┆G:g4   .* 4N  0#   .  /:g    /!M┆
0x0e47e0…0e4800             02 cd 47 2f 2a 61 02 19 4d 54 3a 60 02 b7 ca f3 2e 4c 55 cd 01 30 21 56 02 cd 47 2f 4a cd 01 30   ┆  G/*a  MT:`    .LU  0!V  G/J  0┆
0x0e4800…0e4820 (60, 1, 14) 16 75 14 c7 14 a9 16 d7 16 e7 16 fa 16 0e 17 23 17 3a 17 40 17 53 17 8d 18 9d 18 ad 18 7d 1a 8b   ┆ u             # : @ S       å  ┆
0x0e4820…0e4840             1a 64 1b 80 1b 83 1c a3 1c 7f 1d 9b 1d 5b 1e 73 1e aa 1f ca 1f c5 20 e0 20 38 22 50 22 8f 23 a8   ┆ d           Æ s         8"P" # ┆
0x0e4840…0e4860             23 b6 24 d2 24 46 26 60 26 dd 27 06 28 11 2a 4c 2a 5b 2c 6e 2c f6 2c 0e 2d 1e 2e 32 2e df 2e f8   ┆# $ $F&`& ' ( *L*Æ,n, , - .2. . ┆
0x0e4860…0e4880             2e 69 2f 86 2f d2 30 f0 30 56 31 6d 31 5d 32 7c 32 5a 34 8c 34 0f 36 2a 36 9d 36 ce 36 a6 37 c1   ┆.i/ / 0 0V1m1Å2ø2Z4 4 6*6 6 6 7 ┆
0x0e4880…0e48a0             37 ab 39 c3 39 f4 3a 10 3b 3b 3c 52 3c cb 3d e2 3d 17 3f 40 3f 46 40 6f 40 74 41 89 41 19 43 80   ┆7 9 9 : ;;<R< = = ?@?F@o@tA A C ┆
0x0e48a0…0e48c0             44 bd 46 07 49 9b 4a bd 4a 00 00 00 00 00 00 00 00 44 41 54 41 53 54 41 52 43 4f 4d 00 00 00 00   ┆D F I J J        DATASTARCOM    ┆
0x0e48c0…0e48e0             00 41 42 43 44 45 46 47 48 61 62 63 64 65 66 67 68 39 38 2e ff 00 21 59 58 27 2f 7e 22 ff 4e 59   ┆ ABCDEFGHabcdefgh98.  !YX'/ü" NY┆
0x0e48e0…0e4900             ff 53 52 4c ff 4c 4c 43 ff 00 4c 43 ff 2d 41 42 43 44 45 46 47 48 49 4a 4b 4c 4d 4e 4f 50 ff 4e   ┆ SRL LLC  LC -ABCDEFGHIJKLMNOP N┆
0x0e4900…0e4920             53 ff 5f 4e 30 30 4e 4e 00 30 53 00 00 00 4c 30 30 30 20 2d 00 00 4e 30 04 01 01 51 06 08 08 43   ┆S _N00NN 0S   L000 -  N0   Q   C┆
0x0e4920…0e4940             04 10 10 4a 05 40 40 57 05 20 20 4f 06 04 04 52 06 02 02 45 00 04 04 04 50 04 08 08 46 ff 01 01   ┆   J @@W   O   R   E    P   F   ┆
0x0e4940…0e4960             42 43 55 52 53 4f 52 3a 20 20 20 20 20 5e 41 3d 6c 65 66 74 20 69 74 65 6d 20 20 20 20 20 20 5e   ┆BCURSOR:     ^A=left item      ^┆
0x0e4960…0e4980             53 3d 6c 65 66 74 20 63 68 61 72 20 20 20 20 5e 44 3d 72 69 67 68 74 20 63 68 61 72 20 20 20 20   ┆S=left char    ^D=right char    ┆
0x0e4980…0e49a0             5e 46 3d 72 69 67 68 74 20 69 74 65 6d 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5e 45 3d 75   ┆^F=right item               ^E=u┆
0x0e49a0…0e49c0             70 20 6c 69 6e 65 20 20 20 20 20 20 20 20 5e 58 3d 64 6f 77 6e 20 6c 69 6e 65 20 20 20 20 5e 55   ┆p line        ^X=down line    ^U┆
0x0e49c0…0e49e0             3d 73 65 74 2f 63 6c 65 61 72 20 74 61 62 20 5e 49 3d 74 61 62 20 20 20 20 20 20 20 20 20 20 44   ┆=set/clear tab ^I=tab          D┆
0x0e49e0…0e4a00             45 4c 45 54 45 3a 20 20 20 20 20 44 45 4c 3d 63 68 61 72 20 6c 65 66 74 20 20 20 20 20 5e 47 3d   ┆ELETE:     DEL=char left     ^G=┆
0x0e4a00…0e4a20 (60, 1, 15) 30 31 20 61 6e 64 20 23 01 42 02 2c 20 6f 72 0d 00 01 b3 09 2b 2d 2a 2f 5e 01 1d 07 00 49 6c 6c   ┆01 and # B , or     +-*/^    Ill┆
0x0e4a20…0e4a40             65 67 61 6c 20 6f 70 65 72 61 74 6f 72 2e 20 20 49 74 65 6d 20 6d 75 73 74 20 62 65 20 00 55 6e   ┆egal operator.  Item must be  Un┆
0x0e4a40…0e4a60             63 6c 6f 73 65 64 20 6c 65 66 74 20 70 61 72 65 6e 74 68 65 73 69 73 01 1d 07 00 0d 01 3f 02 20   ┆closed left parenthesis      ?  ┆
0x0e4a60…0e4a80             49 6c 6c 65 67 61 6c 20 63 68 61 72 61 63 74 65 72 01 1d 07 00 54 68 69 73 20 70 72 6f 67 72 61   ┆Illegal character    This progra┆
0x0e4a80…0e4aa0             6d 20 69 73 20 75 73 65 64 20 74 6f 20 64 65 66 69 6e 65 20 61 20 22 66 6f 72 6d 22 20 66 6f 72   ┆m is used to define a "form" for┆
0x0e4aa0…0e4ac0             20 64 61 74 61 20 65 6e 74 72 79 2e 20 20 54 68 65 20 66 6f 72 6d 2c 20 6d 75 63 68 0d 6c 69 6b   ┆ data entry.  The form, much lik┆
0x0e4ac0…0e4ae0             65 20 61 20 74 61 78 20 6f 72 20 6c 69 63 65 6e 73 65 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 66   ┆e a tax or license application f┆
0x0e4ae0…0e4b00             6f 72 6d 2c 20 77 69 6c 6c 20 63 6f 6e 73 69 73 74 20 6f 66 20 61 20 6e 75 6d 62 65 72 20 6f 66   ┆orm, will consist of a number of┆
0x0e4b00…0e4b20             0d 22 62 6f 78 65 73 22 20 74 6f 20 62 65 20 66 69 6c 6c 65 64 20 69 6e 20 61 6e 64 20 62 61 63   ┆ "boxes" to be filled in and bac┆
0x0e4b20…0e4b40             6b 67 72 6f 75 6e 64 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 74 6f 20 65 78 70 6c 61 69 6e 20 77   ┆kground information to explain w┆
0x0e4b40…0e4b60             68 61 74 20 67 6f 65 73 20 69 6e 0d 74 68 65 20 62 6f 78 65 73 2e 20 20 41 6e 20 65 78 61 6d 70   ┆hat goes in the boxes.  An examp┆
0x0e4b60…0e4b80             6c 65 20 6f 66 20 64 61 74 61 66 69 65 6c 64 73 20 77 69 74 68 20 62 61 63 6b 67 72 6f 75 6e 64   ┆le of datafields with background┆
0x0e4b80…0e4ba0             20 65 78 70 6c 61 6e 61 74 69 6f 6e 20 69 73 3a 0d 0d 20 20 20 20 20 46 69 72 73 74 20 4e 61 6d   ┆ explanation is:       First Nam┆
0x0e4ba0…0e4bc0             65 3a 20 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 20 20 20 20 20 4c 61 73 74 20 4e 61 6d   ┆e: ________________     Last Nam┆
0x0e4bc0…0e4be0             65 3a 20 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 0d 0d 49 6e 20 74 68 65 20 66 6f 6c   ┆e: _________________  In the fol┆
0x0e4be0…0e4c00             6c 6f 77 69 6e 67 20 70 72 6f 63 65 64 75 72 65 2c 20 79 6f 75 20 77 69 6c 6c 20 62 65 20 61 62   ┆lowing procedure, you will be ab┆
0x0e4c00…0e4c20 (61, 0, 1)  6f 72 64 01 3b 15 74 68 65 20 43 43 57 20 69 73 20 72 65 61 63 68 65 64 2c 20 63 6f 72 72 65 63   ┆ord ; the CCW is reached, correc┆
0x0e4c20…0e4c40             74 20 74 68 65 20 43 43 57 2e 29 0d 00 20 30 30 30 20 20 20 4e 6f 20 66 69 6c 65 20 6e 61 6d 65   ┆t the CCW.)   000   No file name┆
0x0e4c40…0e4c60             20 73 70 65 63 69 66 69 65 64 20 66 6f 72 20 76 65 72 69 66 79 20 6c 69 73 74 01 3b 15 22 45 6e   ┆ specified for verify list ; "En┆
0x0e4c60…0e4c80             74 65 72 20 6c 69 73 74 20 66 69 6c 65 20 6e 61 6d 65 3a 22 20 69 73 20 72 65 61 63 68 65 64 2c   ┆ter list file name:" is reached,┆
0x0e4c80…0e4ca0             20 65 6e 74 65 72 20 6e 61 6d 65 2e 29 0d 00 20 30 30 30 20 20 20 46 69 65 6c 64 20 6d 75 73 74   ┆ enter name.)   000   Field must┆
0x0e4ca0…0e4cc0             20 62 65 20 64 65 66 69 6e 65 64 20 61 73 20 22 6c 69 73 74 20 76 65 72 69 66 79 22 2c 20 73 69   ┆ be defined as "list verify", si┆
0x0e4cc0…0e4ce0             6e 63 65 20 66 69 65 6c 64 20 30 30 30 20 72 65 66 65 72 65 6e 63 65 73 20 69 74 01 3b 15 22 56   ┆nce field 000 references it ; "V┆
0x0e4ce0…0e4d00             65 72 69 66 79 20 66 69 65 6c 64 3f 22 20 69 73 20 72 65 61 63 68 65 64 2c 20 65 6e 74 65 72 20   ┆erify field?" is reached, enter ┆
0x0e4d00…0e4d20             59 2c 20 4c 2e 29 0d 00 20 30 30 30 20 20 20 55 6e 73 70 65 63 69 66 69 65 64 20 69 6e 64 65 78   ┆Y, L.)   000   Unspecified index┆
0x0e4d20…0e4d40             20 66 6f 72 20 61 20 6c 69 73 74 20 64 65 72 69 76 65 64 20 66 69 65 6c 64 01 3b 15 22 49 6e 64   ┆ for a list derived field ; "Ind┆
0x0e4d40…0e4d60             65 78 20 66 69 65 6c 64 20 6e 75 6d 62 65 72 3a 22 20 69 73 20 72 65 61 63 68 65 64 2c 20 65 6e   ┆ex field number:" is reached, en┆
0x0e4d60…0e4d80             74 65 72 0d 20 20 20 20 20 20 20 20 20 69 6e 64 65 78 20 66 69 65 6c 64 20 6f 72 20 74 79 70 65   ┆ter          index field or type┆
0x0e4d80…0e4da0             20 5e 4a 20 66 6f 72 20 61 64 64 69 74 69 6f 6e 61 6c 20 68 65 6c 70 2e 29 0d 00 20 30 30 30 20   ┆ ^J for additional help.)   000 ┆
0x0e4da0…0e4dc0             20 20 49 6e 63 6f 6d 70 6c 65 74 65 20 65 78 70 72 65 73 73 69 6f 6e 20 66 6f 72 20 63 61 6c 63   ┆  Incomplete expression for calc┆
0x0e4dc0…0e4de0             75 6c 61 74 65 64 20 66 69 65 6c 64 01 3b 15 65 78 70 72 65 73 73 69 6f 6e 20 65 6e 74 72 79 20   ┆ulated field ; expression entry ┆
0x0e4de0…0e4e00             69 73 20 72 65 61 63 68 65 64 2c 20 74 68 65 6e 20 63 6f 6d 70 6c 65 74 65 0d 20 20 20 20 20 20   ┆is reached, then complete       ┆
0x0e4e00…0e4e20 (61, 0, 2)  74 69 6f 6e 73 20 74 68 61 74 20 66 6f 6c 6c 6f 77 2c 20 74 68 65 20 61 6e 73 77 65 72 73 20 79   ┆tions that follow, the answers y┆
0x0e4e20…0e4e40             6f 75 20 67 69 76 65 20 77 69 6c 6c 20 61 70 70 6c 79 0d 74 6f 20 74 68 65 20 63 75 72 72 65 6e   ┆ou give will apply to the curren┆
0x0e4e40…0e4e60             74 20 66 69 65 6c 64 20 6f 6e 6c 79 2e 20 20 54 6f 20 72 65 74 75 72 6e 20 74 6f 20 62 61 63 6b   ┆t field only.  To return to back┆
0x0e4e60…0e4e80             67 72 6f 75 6e 64 20 64 65 66 69 6e 69 74 69 6f 6e 2c 20 74 79 70 65 20 5e 43 2e 0d 0d 54 68 69   ┆ground definition, type ^C.  Thi┆
0x0e4e80…0e4ea0             73 20 69 74 65 6d 20 61 6c 6c 6f 77 73 20 79 6f 75 20 74 6f 20 73 70 65 63 69 66 79 20 74 68 65   ┆s item allows you to specify the┆
0x0e4ea0…0e4ec0             20 6f 72 64 65 72 20 69 6e 20 77 68 69 63 68 20 66 69 65 6c 64 73 20 77 69 6c 6c 20 62 65 0d 70   ┆ order in which fields will be p┆
0x0e4ec0…0e4ee0             72 6f 63 65 73 73 65 64 20 64 75 72 69 6e 67 20 74 68 65 20 64 61 74 61 20 65 6e 74 72 79 20 70   ┆rocessed during the data entry p┆
0x0e4ee0…0e4f00             68 61 73 65 2e 0d 00 20 20 4b 65 79 20 6f 72 64 65 72 3a fc 00 54 68 65 20 6b 65 79 20 66 69 65   ┆hase.    Key order:  The key fie┆
0x0e4f00…0e4f20             6c 64 28 73 29 20 69 73 2f 61 72 65 20 74 68 65 20 66 69 65 6c 64 28 73 29 20 6f 6e 20 77 68 69   ┆ld(s) is/are the field(s) on whi┆
0x0e4f20…0e4f40             63 68 20 74 68 65 20 66 69 6c 65 20 69 73 20 73 6f 72 74 65 64 2e 20 20 49 66 0d 74 68 65 72 65   ┆ch the file is sorted.  If there┆
0x0e4f40…0e4f60             20 69 73 20 6d 6f 72 65 20 74 68 61 6e 20 6f 6e 65 20 6b 65 79 20 66 69 65 6c 64 2c 20 74 68 65   ┆ is more than one key field, the┆
0x0e4f60…0e4f80             79 20 61 72 65 20 63 6f 6d 62 69 6e 65 64 20 66 6f 72 20 73 6f 72 74 69 6e 67 2e 20 20 54 68 65   ┆y are combined for sorting.  The┆
0x0e4f80…0e4fa0             0d 66 69 65 6c 64 20 77 69 74 68 20 6b 65 79 20 6f 72 64 65 72 20 6f 66 20 30 30 31 20 77 69 6c   ┆ field with key order of 001 wil┆
0x0e4fa0…0e4fc0             6c 20 62 65 20 74 68 65 20 6d 6f 73 74 20 73 69 67 6e 69 66 69 63 61 6e 74 20 66 69 65 6c 64 20   ┆l be the most significant field ┆
0x0e4fc0…0e4fe0             69 6e 20 74 68 65 20 73 6f 72 74 2e 0d 00 20 20 54 69 65 20 62 72 65 61 6b 65 72 20 66 69 65 6c   ┆in the sort.    Tie breaker fiel┆
0x0e4fe0…0e5000             64 3f 20 28 59 2f 4e 29 fc 00 41 20 74 69 65 20 62 72 65 61 6b 65 72 20 66 69 65 6c 64 20 69 73   ┆d? (Y/N)  A tie breaker field is┆
0x0e5000…0e5020 (61, 0, 3)  6c 6c 20 76 65 6e 64 6f 72 20 61 64 64 72 65 73 73 20 69 6e 74 6f 20 74 68 69 73 0d 66 69 65 6c   ┆ll vendor address into this fiel┆
0x0e5020…0e5040             64 20 66 72 6f 6d 20 61 20 66 69 6c 65 20 6f 66 20 76 65 6e 64 6f 72 20 6e 61 6d 65 20 61 6e 64   ┆d from a file of vendor name and┆
0x0e5040…0e5060             20 61 64 64 72 65 73 73 65 73 2e 0d 41 20 63 61 6c 63 75 6c 61 74 65 64 20 66 69 65 6c 64 20 75   ┆ addresses. A calculated field u┆
0x0e5060…0e5080             73 65 73 20 6f 74 68 65 72 20 66 69 65 6c 64 73 20 61 6e 64 20 63 6f 6e 73 74 61 6e 74 73 20 74   ┆ses other fields and constants t┆
0x0e5080…0e50a0             6f 20 63 72 65 61 74 65 20 61 20 76 61 6c 75 65 0d 66 6f 72 20 74 68 69 73 20 66 69 65 6c 64 2e   ┆o create a value for this field.┆
0x0e50a0…0e50c0             0d 00 20 20 20 49 6e 64 65 78 20 66 69 65 6c 64 20 6e 75 6d 62 65 72 3a fc 00 45 6e 74 65 72 20   ┆     Index field number:  Enter ┆
0x0e50c0…0e50e0             74 68 65 20 66 69 65 6c 64 20 6e 75 6d 62 65 72 20 74 68 61 74 20 79 6f 75 20 77 61 6e 74 20 74   ┆the field number that you want t┆
0x0e50e0…0e5100             6f 20 62 65 20 75 73 65 64 20 61 73 20 61 6e 20 69 6e 64 65 78 20 69 6e 74 6f 20 74 68 65 0d 6c   ┆o be used as an index into the l┆
0x0e5100…0e5120             69 73 74 20 6f 72 20 66 69 6c 65 2e 20 46 6f 72 20 74 68 65 20 65 78 61 6d 70 6c 65 20 6f 66 20   ┆ist or file. For the example of ┆
0x0e5120…0e5140             74 68 65 20 70 72 65 76 69 6f 75 73 20 71 75 65 73 74 69 6f 6e 2c 20 79 6f 75 20 77 6f 75 6c 64   ┆the previous question, you would┆
0x0e5140…0e5160             20 65 6e 74 65 72 0d 74 68 65 20 66 69 65 6c 64 20 6e 75 6d 62 65 72 20 66 6f 72 20 76 65 6e 64   ┆ enter the field number for vend┆
0x0e5160…0e5180             6f 72 20 6e 61 6d 65 2e 20 20 49 66 20 79 6f 75 20 64 6f 6e 27 74 20 72 65 6d 65 6d 62 65 72 20   ┆or name.  If you don't remember ┆
0x0e5180…0e51a0             74 68 65 20 6e 75 6d 62 65 72 20 6f 66 0d 74 68 65 20 69 6e 64 65 78 20 66 69 65 6c 64 2c 20 79   ┆the number of the index field, y┆
0x0e51a0…0e51c0             6f 75 20 63 61 6e 20 75 73 65 20 5e 41 20 6f 72 20 5e 46 20 74 6f 20 6d 6f 76 65 20 74 6f 20 74   ┆ou can use ^A or ^F to move to t┆
0x0e51c0…0e51e0             68 65 20 69 6e 64 65 78 20 66 69 65 6c 64 20 61 6e 64 0d 67 65 74 20 69 74 73 20 6e 75 6d 62 65   ┆he index field and get its numbe┆
0x0e51e0…0e5200             72 20 66 72 6f 6d 20 74 68 65 20 73 74 61 74 75 73 20 6c 69 6e 65 2e 0d 00 20 20 20 49 74 65 6d   ┆r from the status line.     Item┆
0x0e5200…0e5220 (61, 0, 4)  31 2c 32 29 26 23 37 28 33 29 2c 20 63 6f 6d 62 69 6e 65 73 20 74 68 65 20 66 69 72 73 74 20 74   ┆1,2)&#7(3), combines the first t┆
0x0e5220…0e5240             77 6f 20 63 68 61 72 61 63 74 65 72 73 20 6f 66 20 23 36 0d 77 69 74 68 20 74 68 65 20 72 65 73   ┆wo characters of #6 with the res┆
0x0e5240…0e5260             74 20 6f 66 20 23 37 2e 20 20 4e 6f 74 65 20 74 68 61 74 20 74 68 65 20 6e 75 6d 62 65 72 20 6f   ┆t of #7.  Note that the number o┆
0x0e5260…0e5280             66 20 63 68 61 72 61 63 74 65 72 73 20 69 73 20 6f 70 74 69 6f 6e 61 6c 2e 0d 00 20 20 20 45 6e   ┆f characters is optional.     En┆
0x0e5280…0e52a0             74 65 72 20 61 6c 67 65 62 72 61 69 63 20 65 78 70 72 65 73 73 69 6f 6e 20 66 6f 72 20 66 69 65   ┆ter algebraic expression for fie┆
0x0e52a0…0e52c0             6c 64 20 63 61 6c 63 75 6c 61 74 69 6f 6e 3a fd 23 30 30 30 3d 00 41 6e 20 61 6c 67 65 62 72 61   ┆ld calculation: #000= An algebra┆
0x0e52c0…0e52e0             69 63 20 65 78 70 72 65 73 73 69 6f 6e 20 6d 61 79 20 63 6f 6e 74 61 69 6e 20 66 69 65 6c 64 73   ┆ic expression may contain fields┆
0x0e52e0…0e5300             20 61 6e 64 20 6e 75 6d 65 72 69 63 20 63 6f 6e 73 74 61 6e 74 73 20 63 6f 6d 62 69 6e 65 64 0d   ┆ and numeric constants combined ┆
0x0e5300…0e5320             77 69 74 68 20 74 68 65 20 61 72 69 74 68 6d 65 74 69 63 20 6f 70 65 72 61 74 69 6f 6e 73 3a 20   ┆with the arithmetic operations: ┆
0x0e5320…0e5340             61 64 64 28 2b 29 2c 20 73 75 62 74 72 61 63 74 28 2d 29 2c 20 6d 75 6c 74 69 70 6c 79 28 2a 29   ┆add(+), subtract(-), multiply(*)┆
0x0e5340…0e5360             2c 0d 64 69 76 69 64 65 28 2f 29 20 61 6e 64 20 65 78 70 6f 6e 65 6e 74 69 61 74 69 6f 6e 28 5e   ┆, divide(/) and exponentiation(^┆
0x0e5360…0e5380             29 2e 20 20 4f 70 65 72 61 74 69 6f 6e 73 20 61 72 65 20 70 65 72 66 6f 72 6d 65 64 20 66 72 6f   ┆).  Operations are performed fro┆
0x0e5380…0e53a0             6d 20 6c 65 66 74 20 74 6f 0d 72 69 67 68 74 20 69 6e 20 74 68 65 20 75 73 75 61 6c 20 6d 61 6e   ┆m left to right in the usual man┆
0x0e53a0…0e53c0             6e 65 72 20 77 69 74 68 20 70 61 72 65 6e 74 68 65 73 65 73 20 72 65 63 6f 67 6e 69 7a 65 64 2e   ┆ner with parentheses recognized.┆
0x0e53c0…0e53e0             0d 46 69 65 6c 64 73 20 61 72 65 20 72 65 70 72 65 73 65 6e 74 65 64 20 62 79 20 66 69 65 6c 64   ┆ Fields are represented by field┆
0x0e53e0…0e5400             20 6e 75 6d 62 65 72 20 70 72 65 63 65 64 65 64 20 62 79 20 23 20 73 69 67 6e 3a 20 23 30 30 37   ┆ number preceded by # sign: #007┆
0x0e5400…0e5420 (61, 0, 5)  20 20 20 65 78 70 72 65 73 73 69 6f 6e 20 65 6e 74 72 79 2c 20 73 75 62 73 74 69 74 75 74 69 6e   ┆   expression entry, substitutin┆
0x0e5420…0e5440             67 20 76 61 6c 69 64 20 66 69 65 6c 64 20 6e 75 6d 62 65 72 73 20 66 6f 72 20 61 6c 6c 20 22 3f   ┆g valid field numbers for all "?┆
0x0e5440…0e5460             22 2e 29 0d 00 20 30 30 30 20 20 20 49 6e 76 61 6c 69 64 20 72 61 6e 67 65 20 63 68 65 63 6b 20   ┆".)   000   Invalid range check ┆
0x0e5460…0e5480             6c 69 6d 69 74 73 01 3b 15 72 61 6e 67 65 20 63 68 65 63 6b 20 6c 69 6d 69 74 73 20 61 72 65 20   ┆limits ; range check limits are ┆
0x0e5480…0e54a0             72 65 61 63 68 65 64 2c 20 74 68 65 6e 20 65 64 69 74 0d 20 20 20 20 20 20 20 20 20 72 61 6e 67   ┆reached, then edit          rang┆
0x0e54a0…0e54c0             65 20 6c 69 6d 69 74 73 20 73 6f 20 74 68 61 74 20 74 68 65 20 6d 69 6e 69 6d 75 6d 20 76 61 6c   ┆e limits so that the minimum val┆
0x0e54c0…0e54e0             75 65 20 69 73 20 6c 65 73 73 20 74 68 61 6e 20 74 68 65 20 6d 61 78 69 6d 75 6d 2e 29 0d 00 20   ┆ue is less than the maximum.)   ┆
0x0e54e0…0e5500             30 30 30 20 20 20 55 6e 73 70 65 63 69 66 69 65 64 20 76 65 72 69 66 79 2f 63 61 6c 63 75 6c 61   ┆000   Unspecified verify/calcula┆
0x0e5500…0e5520             74 65 20 6f 72 64 65 72 01 3b 15 6f 72 64 65 72 20 69 73 20 72 65 61 63 68 65 64 2c 20 74 68 65   ┆te order ; order is reached, the┆
0x0e5520…0e5540             6e 20 65 6e 74 65 72 20 6f 72 64 65 72 2e 29 0d 00 07 20 3f 3f 3f 20 20 20 4b 65 79 20 6c 65 6e   ┆n enter order.)    ???   Key len┆
0x0e5540…0e5560             67 74 68 20 69 73 20 67 72 65 61 74 65 72 20 74 68 61 6e 20 31 32 30 20 63 68 61 72 61 63 74 65   ┆gth is greater than 120 characte┆
0x0e5560…0e5580             72 73 2e 0d 20 20 20 20 20 20 20 28 50 6f 73 69 74 69 6f 6e 20 63 75 72 73 6f 72 20 61 74 20 6b   ┆rs.        (Position cursor at k┆
0x0e5580…0e55a0             65 79 20 66 69 65 6c 64 28 73 29 2c 20 75 73 65 20 5e 4b 20 74 6f 20 72 65 6d 6f 76 65 20 22 2a   ┆ey field(s), use ^K to remove "*┆
0x0e55a0…0e55c0             22 2e 29 0d 00 2e 0d 20 20 20 20 20 20 20 20 28 5e 52 2c 20 52 45 54 55 52 4e 20 6b 65 79 20 75   ┆".)  .         (^R, RETURN key u┆
0x0e55c0…0e55e0             6e 74 69 6c 20 80 0d 01 b3 15 4c 3d 4c 69 73 74 20 65 72 72 6f 72 73 20 6f 6e 20 4c 53 54 3a 20   ┆ntil      L=List errors on LST: ┆
0x0e55e0…0e5600             64 65 76 69 63 65 01 3a 16 4c 01 a9 15 00 01 b3 15 44 3d 73 61 76 65 20 66 6f 72 6d 20 61 6e 64   ┆device : L       D=save form and┆
0x0e5600…0e5620 (61, 0, 6)  20 61 20 6b 65 79 20 66 69 65 6c 64 20 65 6e 74 65 72 65 64 20 62 79 20 44 61 74 61 53 74 61 72   ┆ a key field entered by DataStar┆
0x0e5620…0e5640             20 69 6e 73 74 65 61 64 20 6f 66 20 74 68 65 0d 64 61 74 61 20 65 6e 74 72 79 20 6f 70 65 72 61   ┆ instead of the data entry opera┆
0x0e5640…0e5660             74 65 72 2c 20 74 6f 20 63 72 65 61 74 65 20 61 20 75 6e 69 71 75 65 20 6b 65 79 2e 0d 0d 45 6e   ┆ter, to create a unique key.  En┆
0x0e5660…0e5680             74 65 72 20 61 20 59 20 68 65 72 65 20 74 6f 20 68 61 76 65 20 44 61 74 61 53 74 61 72 20 6d 61   ┆ter a Y here to have DataStar ma┆
0x0e5680…0e56a0             69 6e 74 61 69 6e 20 74 68 65 20 66 69 6c 65 20 62 79 20 65 6e 74 65 72 69 6e 67 20 74 68 65 20   ┆intain the file by entering the ┆
0x0e56a0…0e56c0             6c 6f 77 65 73 74 0d 6e 75 6d 65 72 69 63 20 76 61 6c 75 65 20 68 65 72 65 20 74 68 61 74 20 77   ┆lowest numeric value here that w┆
0x0e56c0…0e56e0             69 6c 6c 20 63 72 65 61 74 65 20 61 20 75 6e 69 71 75 65 20 6b 65 79 20 77 68 65 6e 65 76 65 72   ┆ill create a unique key whenever┆
0x0e56e0…0e5700             20 6e 65 63 65 73 73 61 72 79 2e 0d 00 20 20 52 65 66 75 73 65 20 64 75 70 6c 69 63 61 74 65 20   ┆ necessary.    Refuse duplicate ┆
0x0e5700…0e5720             6b 65 79 73 3f 20 28 59 2f 4e 29 fc 00 54 68 69 73 20 69 74 65 6d 20 69 73 20 75 73 65 64 20 74   ┆keys? (Y/N)  This item is used t┆
0x0e5720…0e5740             6f 20 74 6f 20 63 72 65 61 74 65 20 66 69 6c 65 73 20 77 69 74 68 20 75 6e 69 71 75 65 20 6b 65   ┆o to create files with unique ke┆
0x0e5740…0e5760             79 73 2e 20 20 49 66 20 74 68 65 20 64 61 74 61 20 65 6e 74 72 79 0d 6f 70 65 72 61 74 6f 72 20   ┆ys.  If the data entry operator ┆
0x0e5760…0e5780             61 74 74 65 6d 70 74 73 20 74 6f 20 65 6e 74 65 72 20 61 20 72 65 63 6f 72 64 20 77 69 74 68 20   ┆attempts to enter a record with ┆
0x0e5780…0e57a0             74 68 65 20 73 61 6d 65 20 6b 65 79 20 61 73 20 61 20 72 65 63 6f 72 64 20 61 6c 72 65 61 64 79   ┆the same key as a record already┆
0x0e57a0…0e57c0             0d 69 6e 20 74 68 65 20 66 69 6c 65 2c 20 61 6e 20 65 72 72 6f 72 20 6d 65 73 73 61 67 65 20 77   ┆ in the file, an error message w┆
0x0e57c0…0e57e0             69 6c 6c 20 62 65 20 67 65 6e 65 72 61 74 65 64 20 61 6e 64 20 74 68 65 20 65 6e 74 72 79 20 72   ┆ill be generated and the entry r┆
0x0e57e0…0e5800             65 66 75 73 65 64 2e 0d 00 20 20 43 6f 70 79 20 61 74 74 72 69 62 75 74 65 73 20 6f 66 20 66 69   ┆efused.    Copy attributes of fi┆
0x0e5800…0e5820 (61, 0, 7)  20 6e 75 6d 62 65 72 20 69 6e 20 6c 69 73 74 3a fc 00 45 6e 74 65 72 20 74 68 65 20 6e 75 6d 62   ┆ number in list:  Enter the numb┆
0x0e5820…0e5840             65 72 20 6f 66 20 74 68 65 20 69 74 65 6d 20 74 68 61 74 20 79 6f 75 20 77 69 73 68 20 74 6f 20   ┆er of the item that you wish to ┆
0x0e5840…0e5860             65 78 74 72 61 63 74 20 66 72 6f 6d 20 74 68 65 20 6c 69 73 74 20 6f 72 0d 66 69 6c 65 2e 20 46   ┆extract from the list or file. F┆
0x0e5860…0e5880             6f 72 20 74 68 65 20 65 78 61 6d 70 6c 65 20 6f 66 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 74   ┆or the example of the previous t┆
0x0e5880…0e58a0             77 6f 20 71 75 65 73 74 69 6f 6e 73 2c 20 69 66 20 74 68 65 20 76 65 6e 64 6f 72 20 66 69 6c 65   ┆wo questions, if the vendor file┆
0x0e58a0…0e58c0             0d 68 61 64 20 66 6f 72 20 65 61 63 68 20 76 65 6e 64 6f 72 3a 0d 20 20 20 20 20 6e 61 6d 65 2c   ┆ had for each vendor:      name,┆
0x0e58c0…0e58e0             20 61 64 64 72 65 73 73 2c 20 63 69 74 79 20 61 6e 64 20 73 74 61 74 65 0d 79 6f 75 20 77 6f 75   ┆ address, city and state you wou┆
0x0e58e0…0e5900             6c 64 20 65 6e 74 65 72 20 22 30 30 32 22 20 74 6f 20 65 78 74 72 61 63 74 20 61 64 64 72 65 73   ┆ld enter "002" to extract addres┆
0x0e5900…0e5920             73 73 20 6f 72 20 22 30 30 33 22 20 74 6f 20 67 65 74 20 63 69 74 79 2f 73 74 61 74 65 2e 0d 00   ┆ss or "003" to get city/state.  ┆
0x0e5920…0e5940             20 20 20 56 65 72 69 66 79 2f 63 61 6c 63 75 6c 61 74 65 20 6f 72 64 65 72 3a fc 00 46 69 65 6c   ┆   Verify/calculate order:  Fiel┆
0x0e5940…0e5960             64 20 70 72 6f 63 65 73 73 69 6e 67 20 69 6e 20 76 65 72 69 66 79 20 6d 6f 64 65 20 69 6e 63 6c   ┆d processing in verify mode incl┆
0x0e5960…0e5980             75 64 65 73 20 76 65 72 69 66 69 63 61 74 69 6f 6e 73 20 61 6e 64 20 63 61 6c 63 75 6c 61 74 69   ┆udes verifications and calculati┆
0x0e5980…0e59a0             6f 6e 73 2e 0d 49 6e 20 67 65 6e 65 72 61 6c 2c 20 63 61 6c 63 75 6c 61 74 69 6f 6e 73 20 73 68   ┆ons. In general, calculations sh┆
0x0e59a0…0e59c0             6f 75 6c 64 20 66 6f 6c 6c 6f 77 20 76 65 72 69 66 69 63 61 74 69 6f 6e 73 20 75 6e 6c 65 73 73   ┆ould follow verifications unless┆
0x0e59c0…0e59e0             20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 0d 61 20 63 61 6c 63 75 6c 61 74 69 6f 6e 20 69 73 20   ┆ the result of a calculation is ┆
0x0e59e0…0e5a00             62 65 69 6e 67 20 75 73 65 64 20 61 73 20 61 20 66 69 6c 65 20 69 6e 64 65 78 20 66 69 65 6c 64   ┆being used as a file index field┆
0x0e5a00…0e5a20 (61, 0, 8)  0d 43 6f 6e 73 74 61 6e 74 73 20 61 73 20 77 65 6c 6c 20 61 73 20 66 69 65 6c 64 20 63 6f 6e 74   ┆ Constants as well as field cont┆
0x0e5a20…0e5a40             65 6e 74 73 20 73 68 6f 75 6c 64 20 63 6f 6e 74 61 69 6e 20 6f 6e 6c 79 20 64 69 67 69 74 73 20   ┆ents should contain only digits ┆
0x0e5a40…0e5a60             61 6e 64 20 6f 70 74 69 6f 6e 61 6c 0d 20 6d 69 6e 75 73 20 73 69 67 6e 20 61 6e 64 20 64 65 63   ┆and optional  minus sign and dec┆
0x0e5a60…0e5a80             69 6d 61 6c 20 70 6f 69 6e 74 3a 20 20 31 32 33 2c 20 2d 31 2e 30 30 35 0d 42 65 66 6f 72 65 20   ┆imal point:  123, -1.005 Before ┆
0x0e5a80…0e5aa0             61 72 69 74 68 6d 65 74 69 63 20 69 73 20 70 65 72 66 6f 72 6d 65 64 2c 20 65 64 69 74 20 63 68   ┆arithmetic is performed, edit ch┆
0x0e5aa0…0e5ac0             61 72 61 63 74 65 72 73 20 61 72 65 20 72 65 6d 6f 76 65 64 20 66 72 6f 6d 20 6f 70 65 72 61 6e   ┆aracters are removed from operan┆
0x0e5ac0…0e5ae0             64 73 2e 0d 00 20 20 52 65 71 75 69 72 65 64 3f 20 28 59 2f 4e 29 fc 00 41 20 59 20 61 6e 73 77   ┆ds.    Required? (Y/N)  A Y answ┆
0x0e5ae0…0e5b00             65 72 20 68 65 72 65 20 77 69 6c 6c 20 66 6f 72 63 65 20 74 68 65 20 64 61 74 61 20 65 6e 74 72   ┆er here will force the data entr┆
0x0e5b00…0e5b20             79 20 6f 70 65 72 61 74 6f 72 20 74 6f 20 65 6e 74 65 72 20 73 6f 6d 65 74 68 69 6e 67 0d 69 6e   ┆y operator to enter something in┆
0x0e5b20…0e5b40             74 6f 20 74 68 69 73 20 66 69 65 6c 64 2e 20 20 41 20 4e 20 61 6e 73 77 65 72 20 77 69 6c 6c 20   ┆to this field.  A N answer will ┆
0x0e5b40…0e5b60             61 6c 6c 6f 77 20 74 68 65 20 66 69 65 6c 64 20 74 6f 20 62 65 20 73 6b 69 70 70 65 64 2e 0d 00   ┆allow the field to be skipped.  ┆
0x0e5b60…0e5b80             20 20 52 69 67 68 74 20 6a 75 73 74 69 66 79 3f 20 28 59 2f 4e 29 fc 00 52 69 67 68 74 2f 6c 65   ┆  Right justify? (Y/N)  Right/le┆
0x0e5b80…0e5ba0             66 74 20 6a 75 73 74 69 66 79 20 64 65 74 65 72 6d 69 6e 65 73 20 6f 6e 20 77 68 69 63 68 20 73   ┆ft justify determines on which s┆
0x0e5ba0…0e5bc0             69 64 65 20 6f 66 20 74 68 65 20 66 69 65 6c 64 20 74 68 65 20 64 61 74 61 20 77 69 6c 6c 0d 62   ┆ide of the field the data will b┆
0x0e5bc0…0e5be0             65 20 70 6c 61 63 65 64 20 77 68 65 6e 20 69 74 20 64 6f 65 73 20 6e 6f 74 20 66 69 6c 6c 20 74   ┆e placed when it does not fill t┆
0x0e5be0…0e5c00             68 65 20 66 69 65 6c 64 2e 20 20 41 6c 73 6f 20 69 66 20 74 68 65 20 66 69 65 6c 64 20 69 73 0d   ┆he field.  Also if the field is ┆
0x0e5c00…0e5c20 (61, 0, 9)  20 63 68 61 69 6e 20 44 61 74 61 73 74 61 72 01 3a 16 44 2f 53 50 41 43 45 29 3a 20 80 45 6e 74   ┆ chain Datastar : D/SPACE):  Ent┆
0x0e5c20…0e5c40             65 72 20 65 78 69 74 20 63 6f 6d 6d 61 6e 64 3a 0d 20 20 41 3d 41 62 6f 72 74 20 77 69 74 68 6f   ┆er exit command:   A=Abort witho┆
0x0e5c40…0e5c60             75 74 20 73 61 76 69 6e 67 20 66 6f 72 6d 20 20 20 20 20 20 20 20 20 20 42 3d 73 61 76 65 20 66   ┆ut saving form          B=save f┆
0x0e5c60…0e5c80             6f 72 6d 20 26 20 42 6f 6f 74 20 6f 70 65 72 61 74 69 6e 67 20 73 79 73 74 65 6d 0d 20 20 43 3d   ┆orm & Boot operating system   C=┆
0x0e5c80…0e5ca0             73 61 76 65 20 66 6f 72 6d 20 61 6e 64 20 43 6f 6e 74 69 6e 75 65 20 20 20 20 20 20 20 20 20 20   ┆save form and Continue          ┆
0x0e5ca0…0e5cc0             20 20 20 80 0d 20 20 53 50 41 43 45 3d 63 6f 6e 74 69 6e 75 65 20 77 69 74 68 6f 75 74 20 73 61   ┆       SPACE=continue without sa┆
0x0e5cc0…0e5ce0             76 69 6e 67 20 66 6f 72 6d 0d 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆ving form                       ┆
0x0e5ce0…0e5d00             20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 41 2f 42 2f 43 2f 80 41 62 61 6e 64 6f 6e   ┆                 (A/B/C/ Abandon┆
0x0e5d00…0e5d20             20 66 6f 72 6d 20 65 64 69 74 3f 20 28 59 2f 4e 29 20 00 20 46 4f 52 4d 20 4c 49 53 54 49 4e 47   ┆ form edit? (Y/N)   FORM LISTING┆
0x0e5d20…0e5d40             20 41 4e 44 20 46 49 45 4c 44 20 41 54 54 52 49 42 55 54 45 20 44 45 46 49 4e 49 54 49 4f 4e 53   ┆ AND FIELD ATTRIBUTE DEFINITIONS┆
0x0e5d40…0e5d60             00 46 49 45 4c 44 20 4e 55 4d 42 45 52 53 0d 0d 00 52 41 4e 47 45 20 43 48 45 43 4b 2c 20 4c 4f   ┆ FIELD NUMBERS   RANGE CHECK, LO┆
0x0e5d60…0e5d80             57 0d 0d 00 52 41 4e 47 45 20 43 48 45 43 4b 2c 20 48 49 47 48 0d 0d 00 45 4e 54 52 59 20 43 4f   ┆W   RANGE CHECK, HIGH   ENTRY CO┆
0x0e5d80…0e5da0             4e 54 52 4f 4c 20 4d 41 53 4b 0d 0d 00 43 4f 4e 54 45 4e 54 20 43 4f 4e 54 52 4f 4c 20 4d 41 53   ┆NTROL MASK   CONTENT CONTROL MAS┆
0x0e5da0…0e5dc0             4b 0d 0d 00 0d 0d 0d 0d 0d 0d 0d 0d 0d 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 00 02 08 46   ┆K                              F┆
0x0e5dc0…0e5de0             49 45 4c 44 20 41 54 54 52 49 42 55 54 45 20 44 45 46 49 4e 49 54 49 4f 4e 53 0d 0d 02 14 51 3d   ┆IELD ATTRIBUTE DEFINITIONS    Q=┆
0x0e5de0…0e5e00             72 65 71 75 69 72 65 64 0d 02 14 43 3d 63 68 65 63 6b 20 64 67 74 0d 02 14 4a 3d 72 69 67 68 74   ┆required   C=check dgt   J=right┆
0x0e5e00…0e5e20 (61, 0, 10) 65 6c 64 fc 00 54 68 69 73 20 69 74 65 6d 20 69 73 20 75 73 65 64 20 74 6f 20 73 61 76 65 20 74   ┆eld  This item is used to save t┆
0x0e5e20…0e5e40             69 6d 65 20 77 68 65 6e 20 65 6e 74 65 72 69 6e 67 20 66 69 65 6c 64 20 61 74 74 72 69 62 75 74   ┆ime when entering field attribut┆
0x0e5e40…0e5e60             65 73 2e 20 20 49 66 20 61 6e 6f 74 68 65 72 0d 66 69 65 6c 64 20 69 73 20 64 65 66 69 6e 65 64   ┆es.  If another field is defined┆
0x0e5e60…0e5e80             20 73 69 6d 69 6c 61 72 6c 79 2c 20 65 6e 74 65 72 69 6e 67 20 69 74 73 20 66 69 65 6c 64 20 6e   ┆ similarly, entering its field n┆
0x0e5e80…0e5ea0             75 6d 62 65 72 20 68 65 72 65 20 77 69 6c 6c 20 63 61 75 73 65 20 69 74 73 0d 61 74 74 72 69 62   ┆umber here will cause its attrib┆
0x0e5ea0…0e5ec0             75 74 65 73 20 74 6f 20 62 65 20 75 73 65 64 20 62 79 20 74 68 69 73 20 66 69 65 6c 64 20 61 6c   ┆utes to be used by this field al┆
0x0e5ec0…0e5ee0             73 6f 2e 0d 00 20 20 46 69 65 6c 64 20 64 65 72 69 76 65 64 3f 20 28 59 2f 4e 29 fc 00 41 20 66   ┆so.    Field derived? (Y/N)  A f┆
0x0e5ee0…0e5f00             69 65 6c 64 20 6d 61 79 20 62 65 20 64 65 72 69 76 65 64 20 66 72 6f 6d 20 6f 74 68 65 72 73 20   ┆ield may be derived from others ┆
0x0e5f00…0e5f20             6f 72 20 66 72 6f 6d 20 61 20 6c 69 73 74 20 6f 72 20 66 69 6c 65 20 69 6e 73 74 65 61 64 20 6f   ┆or from a list or file instead o┆
0x0e5f20…0e5f40             66 20 62 65 69 6e 67 0d 65 6e 74 65 72 65 64 2e 20 20 4e 6f 72 6d 61 6c 6c 79 20 61 20 66 69 65   ┆f being entered.  Normally a fie┆
0x0e5f40…0e5f60             6c 64 20 77 69 6c 6c 20 73 69 6d 70 6c 79 20 62 65 20 65 6e 74 65 72 65 64 20 62 79 20 74 68 65   ┆ld will simply be entered by the┆
0x0e5f60…0e5f80             20 6f 70 65 72 61 74 6f 72 2e 0d 0d 41 20 59 20 61 6e 73 77 65 72 20 68 65 72 65 20 77 69 6c 6c   ┆ operator.  A Y answer here will┆
0x0e5f80…0e5fa0             20 6d 61 6b 65 20 74 68 69 73 20 61 20 64 65 72 69 76 65 64 20 66 69 65 6c 64 2e 20 20 54 68 65   ┆ make this a derived field.  The┆
0x0e5fa0…0e5fc0             20 63 75 72 73 6f 72 20 77 69 6c 6c 20 6e 6f 74 0d 73 74 6f 70 20 68 65 72 65 20 64 75 72 69 6e   ┆ cursor will not stop here durin┆
0x0e5fc0…0e5fe0             67 20 64 61 74 61 20 65 6e 74 72 79 2e 20 20 49 6e 73 74 65 61 64 2c 20 74 68 65 20 66 69 65 6c   ┆g data entry.  Instead, the fiel┆
0x0e5fe0…0e6000             64 20 76 61 6c 75 65 20 77 69 6c 6c 20 62 65 20 64 65 66 69 6e 65 64 0d 69 6e 20 74 68 65 20 6e   ┆d value will be defined in the n┆
0x0e6000…0e6020 (61, 0, 11) 2e 20 20 54 68 65 20 66 69 65 6c 64 73 20 63 61 6e 20 62 65 0d 63 61 6c 63 75 6c 61 74 65 64 20   ┆.  The fields can be calculated ┆
0x0e6020…0e6040             69 6e 20 61 6e 79 20 6f 72 64 65 72 2e 20 20 54 68 65 20 6f 72 64 65 72 20 74 68 65 20 63 61 6c   ┆in any order.  The order the cal┆
0x0e6040…0e6060             63 75 6c 61 74 69 6f 6e 73 20 61 72 65 20 70 65 72 66 6f 72 6d 65 64 20 69 6e 0d 77 69 6c 6c 20   ┆culations are performed in will ┆
0x0e6060…0e6080             6d 61 6b 65 20 61 20 64 69 66 66 65 72 65 6e 63 65 20 6f 6e 6c 79 20 77 68 65 6e 20 6f 6e 65 20   ┆make a difference only when one ┆
0x0e6080…0e60a0             63 61 6c 63 75 6c 61 74 69 6f 6e 20 64 65 70 65 6e 64 73 20 6f 6e 20 74 68 65 20 72 65 73 75 6c   ┆calculation depends on the resul┆
0x0e60a0…0e60c0             74 73 0d 6f 66 20 61 6e 6f 74 68 65 72 2e 0d 00 20 20 20 4e 75 6d 65 72 69 63 2f 53 74 72 69 6e   ┆ts of another.     Numeric/Strin┆
0x0e60c0…0e60e0             67 3f 20 28 4e 2f 53 29 fc 00 41 20 6e 75 6d 65 72 69 63 20 63 61 6c 63 75 6c 61 74 65 64 20 66   ┆g? (N/S)  A numeric calculated f┆
0x0e60e0…0e6100             69 65 6c 64 20 75 73 65 73 20 61 6e 20 61 6c 67 65 62 72 61 69 63 20 65 78 70 72 65 73 73 69 6f   ┆ield uses an algebraic expressio┆
0x0e6100…0e6120             6e 20 74 6f 20 64 65 72 69 76 65 20 61 0d 76 61 6c 75 65 20 66 6f 72 20 74 68 65 20 66 69 65 6c   ┆n to derive a value for the fiel┆
0x0e6120…0e6140             64 2e 20 20 54 68 65 20 61 6c 67 65 62 72 61 69 63 20 65 78 70 72 65 73 73 69 6f 6e 20 63 6f 6e   ┆d.  The algebraic expression con┆
0x0e6140…0e6160             73 69 73 74 73 20 6f 66 20 66 69 65 6c 64 73 20 61 6e 64 0d 6e 75 6d 65 72 69 63 20 63 6f 6e 73   ┆sists of fields and numeric cons┆
0x0e6160…0e6180             74 61 6e 74 73 20 63 6f 6d 62 69 6e 65 64 20 61 72 69 74 68 6d 65 74 69 63 61 6c 6c 79 2c 20 75   ┆tants combined arithmetically, u┆
0x0e6180…0e61a0             73 69 6e 67 20 74 68 65 20 6f 70 65 72 61 74 69 6f 6e 73 3a 0d 20 20 20 61 64 64 28 2b 29 2c 20   ┆sing the operations:    add(+), ┆
0x0e61a0…0e61c0             73 75 62 74 72 61 63 74 28 2d 29 2c 20 6d 75 6c 74 69 70 6c 79 28 2a 29 2c 20 64 69 76 69 64 65   ┆subtract(-), multiply(*), divide┆
0x0e61c0…0e61e0             28 2f 29 2c 20 65 78 70 6f 6e 65 6e 74 69 61 74 69 6f 6e 28 5e 29 0d 0d 41 20 73 74 72 69 6e 67   ┆(/), exponentiation(^)  A string┆
0x0e61e0…0e6200             20 65 78 70 72 65 73 73 69 6f 6e 20 63 6f 6e 73 69 73 74 73 20 6f 66 20 66 69 65 6c 64 73 2c 20   ┆ expression consists of fields, ┆
0x0e6200…0e6220 (61, 0, 12) 70 61 64 64 65 64 2c 20 69 74 20 77 69 6c 6c 20 64 65 74 65 72 6d 69 6e 65 20 77 68 69 63 68 20   ┆padded, it will determine which ┆
0x0e6220…0e6240             73 69 64 65 20 69 74 20 77 69 6c 6c 20 62 65 20 70 61 64 64 65 64 20 66 72 6f 6d 2e 0d 0d 41 20   ┆side it will be padded from.  A ┆
0x0e6240…0e6260             59 20 61 6e 73 77 65 72 20 77 69 6c 6c 20 61 6c 69 67 6e 20 74 68 65 20 64 61 74 61 20 65 6e 74   ┆Y answer will align the data ent┆
0x0e6260…0e6280             65 72 65 64 20 77 69 74 68 20 74 68 65 20 72 69 67 68 74 20 73 69 64 65 20 6f 66 20 74 68 65 20   ┆ered with the right side of the ┆
0x0e6280…0e62a0             66 69 65 6c 64 2e 0d 00 20 20 50 61 64 20 66 69 65 6c 64 3f 20 28 59 2f 4e 29 fc 00 41 20 66 69   ┆field.    Pad field? (Y/N)  A fi┆
0x0e62a0…0e62c0             65 6c 64 20 63 61 6e 20 62 65 20 65 78 74 65 6e 64 65 64 20 74 6f 20 69 74 27 73 20 66 75 6c 6c   ┆eld can be extended to it's full┆
0x0e62c0…0e62e0             20 6c 65 6e 67 74 68 20 62 79 20 70 61 64 64 69 6e 67 20 6f 6e 20 74 68 65 20 72 69 67 68 74 20   ┆ length by padding on the right ┆
0x0e62e0…0e6300             6f 72 0d 6c 65 66 74 20 77 69 74 68 20 73 6f 6d 65 20 63 68 61 72 61 63 74 65 72 2e 0d 0d 41 20   ┆or left with some character.  A ┆
0x0e6300…0e6320             59 20 61 6e 73 77 65 72 20 68 65 72 65 20 77 69 6c 6c 20 70 61 64 20 74 68 65 20 66 69 65 6c 64   ┆Y answer here will pad the field┆
0x0e6320…0e6340             20 77 69 74 68 20 73 6f 6d 65 20 63 68 61 72 61 63 74 65 72 20 69 66 20 69 74 20 69 73 20 6e 6f   ┆ with some character if it is no┆
0x0e6340…0e6360             74 20 66 75 6c 6c 2e 0d 00 20 20 20 45 6e 74 65 72 20 70 61 64 20 63 68 61 72 61 63 74 65 72 3a   ┆t full.     Enter pad character:┆
0x0e6360…0e6380             fc 00 41 6e 79 20 63 68 61 72 61 63 74 65 72 20 6d 61 79 20 62 65 20 75 73 65 64 20 74 6f 20 65   ┆  Any character may be used to e┆
0x0e6380…0e63a0             78 74 65 6e 64 20 74 68 65 20 66 69 65 6c 64 20 74 6f 20 69 74 73 20 6d 61 78 69 6d 75 6d 20 73   ┆xtend the field to its maximum s┆
0x0e63a0…0e63c0             69 7a 65 2e 0d 43 6f 6d 6d 6f 6e 6c 79 20 75 73 65 64 20 63 68 61 72 61 63 74 65 72 73 20 61 72   ┆ize. Commonly used characters ar┆
0x0e63c0…0e63e0             65 20 73 70 61 63 65 20 61 6e 64 20 7a 65 72 6f 2e 0d 00 20 20 46 6c 6f 61 74 69 6e 67 20 63 68   ┆e space and zero.    Floating ch┆
0x0e63e0…0e6400             61 72 61 63 74 65 72 3f 20 28 59 2f 4e 29 fc 00 41 20 27 66 6c 6f 61 74 69 6e 67 20 63 68 61 72   ┆aracter? (Y/N)  A 'floating char┆
0x0e6400…0e6420 (61, 0, 13) 20 6a 75 73 74 02 06 2a 20 2a 20 44 20 45 20 52 20 49 20 56 20 45 20 44 20 2a 0d 02 14 57 3d 77   ┆ just  * * D E R I V E D *   W=w┆
0x0e6420…0e6440             72 69 74 65 20 65 64 20 63 02 06 2e 20 20 20 20 20 4c 49 53 54 20 20 20 20 43 41 4c 43 20 2a 2a   ┆rite ed c  .     LIST    CALC **┆
0x0e6440…0e6460             2a 2a 2a 2a 56 45 52 49 46 49 43 41 54 49 4f 4e 2a 2a 2a 2a 0d 02 14 4f 3d 6f 70 65 72 20 65 6e   ┆****VERIFICATION****   O=oper en┆
0x0e6460…0e6480             74 72 79 02 06 2e 02 12 2e 0d 02 14 52 3d 72 61 6e 67 65 20 63 68 6b 20 20 50 41 44 2f 20 2e 20   ┆try  .  .   R=range chk  PAD/ . ┆
0x0e6480…0e64a0             49 4e 44 45 58 20 49 54 45 4d 02 07 2e 02 0a 4c 49 53 54 20 56 45 52 49 46 59 0d 46 4c 44 20 4c   ┆INDEX ITEM  .  LIST VERIFY FLD L┆
0x0e64a0…0e64c0             45 4e 20 4c 49 4e 20 43 4f 4c 20 4b 45 59 20 45 3d 65 64 69 74 20 6d 61 73 6b 20 46 4c 4f 41 54   ┆EN LIN COL KEY E=edit mask FLOAT┆
0x0e64c0…0e64e0             20 2e 20 46 49 45 4c 44 20 20 4e 55 4d 20 4f 52 44 45 52 20 2e 20 20 20 4f 52 44 45 52 20 20 20   ┆ . FIELD  NUM ORDER .   ORDER   ┆
0x0e64e0…0e6500             46 49 4c 45 20 4e 41 4d 45 0d 02 14 2e 02 09 2e 02 07 2e 02 12 2e 00 02 08 43 41 4c 43 55 4c 41   ┆FILE NAME   .  .  .  .   CALCULA┆
0x0e6500…0e6520             54 49 4f 4e 53 0d 00 20 20 46 69 65 6c 64 20 6f 72 64 65 72 3a fc 00 59 6f 75 20 68 61 76 65 20   ┆TIONS    Field order:  You have ┆
0x0e6520…0e6540             65 6e 74 65 72 65 64 20 74 68 65 20 66 69 65 6c 64 20 64 65 66 69 6e 69 74 69 6f 6e 20 70 68 61   ┆entered the field definition pha┆
0x0e6540…0e6560             73 65 20 62 79 20 74 79 70 69 6e 67 20 61 20 5e 52 2e 20 20 54 68 65 20 66 69 65 6c 64 0d 64 65   ┆se by typing a ^R.  The field de┆
0x0e6560…0e6580             66 69 6e 69 74 69 6f 6e 20 70 68 61 73 65 20 69 73 20 61 20 71 75 65 73 74 69 6f 6e 61 69 72 65   ┆finition phase is a questionaire┆
0x0e6580…0e65a0             20 77 68 69 63 68 20 61 6c 6c 6f 77 73 20 79 6f 75 20 74 6f 20 73 65 74 20 75 70 20 63 6f 6e 74   ┆ which allows you to set up cont┆
0x0e65a0…0e65c0             72 6f 6c 73 0d 6f 76 65 72 20 77 68 61 74 20 64 61 74 61 20 77 69 6c 6c 20 62 65 20 61 63 63 65   ┆rols over what data will be acce┆
0x0e65c0…0e65e0             70 74 65 64 20 64 75 72 69 6e 67 20 74 68 65 20 64 61 74 61 20 65 6e 74 72 79 20 70 6f 72 74 69   ┆pted during the data entry porti┆
0x0e65e0…0e6600             6f 6e 20 6f 66 20 74 68 69 73 0d 70 72 6f 67 72 61 6d 2e 20 20 49 6e 20 74 68 65 20 71 75 65 73   ┆on of this program.  In the ques┆
0x0e6600…0e6620 (61, 0, 14) 65 78 74 20 66 65 77 20 71 75 65 73 74 69 6f 6e 73 2e 0d 00 20 20 20 41 6c 6c 6f 77 20 6f 70 65   ┆ext few questions.     Allow ope┆
0x0e6620…0e6640             72 61 74 6f 72 20 65 6e 74 72 79 3f 20 28 59 2f 4e 29 fc 00 4e 6f 72 6d 61 6c 6c 79 2c 20 61 20   ┆rator entry? (Y/N)  Normally, a ┆
0x0e6640…0e6660             64 65 72 69 76 65 64 20 66 69 65 6c 64 20 77 69 6c 6c 20 6e 65 65 64 20 6e 6f 20 6f 70 65 72 61   ┆derived field will need no opera┆
0x0e6660…0e6680             74 6f 72 20 65 6e 74 72 79 2e 20 20 55 73 65 20 6f 66 20 74 68 69 73 20 6f 70 74 69 6f 6e 0d 77   ┆tor entry.  Use of this option w┆
0x0e6680…0e66a0             69 6c 6c 20 61 6c 6c 6f 77 20 74 68 65 20 6f 70 65 72 61 74 6f 72 20 74 6f 20 70 6f 73 69 74 69   ┆ill allow the operator to positi┆
0x0e66a0…0e66c0             6f 6e 20 74 68 65 20 63 75 72 73 6f 72 20 69 6e 20 74 68 65 20 66 69 65 6c 64 20 61 66 74 65 72   ┆on the cursor in the field after┆
0x0e66c0…0e66e0             20 69 74 20 68 61 73 0d 62 65 65 6e 20 64 65 72 69 76 65 64 20 69 6e 20 6f 72 64 65 72 20 74 6f   ┆ it has been derived in order to┆
0x0e66e0…0e6700             20 6d 61 6b 65 20 61 64 6a 75 73 74 6d 65 6e 74 73 2e 0d 0d 45 6e 74 65 72 20 61 20 59 20 74 6f   ┆ make adjustments.  Enter a Y to┆
0x0e6700…0e6720             20 70 65 72 6d 69 74 20 6f 70 65 72 61 74 6f 72 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 73 20 74   ┆ permit operator modifications t┆
0x0e6720…0e6740             6f 20 74 68 69 73 20 66 69 65 6c 64 2e 0d 00 20 20 20 4c 69 73 74 2f 43 61 6c 63 75 6c 61 74 65   ┆o this field.     List/Calculate┆
0x0e6740…0e6760             64 3f 20 28 4c 2f 43 29 fc 00 41 20 6c 69 73 74 20 64 65 72 69 76 65 64 20 66 69 65 6c 64 20 75   ┆d? (L/C)  A list derived field u┆
0x0e6760…0e6780             73 65 73 20 61 6e 6f 74 68 65 72 20 66 69 65 6c 64 20 74 6f 20 69 6e 64 65 78 20 69 6e 74 6f 20   ┆ses another field to index into ┆
0x0e6780…0e67a0             61 20 6c 69 73 74 20 6f 72 20 66 69 6c 65 0d 61 6e 64 20 65 78 74 72 61 63 74 20 61 20 76 61 6c   ┆a list or file and extract a val┆
0x0e67a0…0e67c0             75 65 20 66 6f 72 20 74 68 69 73 20 66 69 65 6c 64 2e 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c   ┆ue for this field.  For example,┆
0x0e67c0…0e67e0             20 79 6f 75 20 63 6f 75 6c 64 20 75 73 65 20 76 65 6e 64 6f 72 0d 6e 61 6d 65 20 28 65 6e 74 65   ┆ you could use vendor name (ente┆
0x0e67e0…0e6800             72 65 64 20 65 6c 73 65 77 68 65 72 65 20 6f 6e 20 74 68 65 20 66 6f 72 6d 29 20 74 6f 20 70 75   ┆red elsewhere on the form) to pu┆
0x0e6800…0e6820 (61, 0, 15) 73 75 62 2d 66 69 65 6c 64 73 20 61 6e 64 20 73 74 72 69 6e 67 20 63 6f 6e 73 74 61 6e 74 73 0d   ┆sub-fields and string constants ┆
0x0e6820…0e6840             63 6f 6d 62 69 6e 65 64 20 75 73 69 6e 67 20 74 68 65 20 6a 6f 69 6e 28 26 29 20 6f 70 65 72 61   ┆combined using the join(&) opera┆
0x0e6840…0e6860             74 69 6f 6e 2e 0d 00 45 6e 74 65 72 20 73 74 72 69 6e 67 20 65 78 70 72 65 73 73 69 6f 6e 20 66   ┆tion.  Enter string expression f┆
0x0e6860…0e6880             6f 72 20 66 69 65 6c 64 3a fd 23 30 30 30 3d 00 41 20 73 74 72 69 6e 67 20 65 78 70 72 65 73 73   ┆or field: #000= A string express┆
0x0e6880…0e68a0             69 6f 6e 20 6d 61 79 20 63 6f 6e 74 61 69 6e 20 66 69 65 6c 64 73 2c 20 73 75 62 66 69 65 6c 64   ┆ion may contain fields, subfield┆
0x0e68a0…0e68c0             73 20 6f 72 20 73 74 72 69 6e 67 20 63 6f 6e 73 74 61 6e 74 73 0d 28 6c 69 74 65 72 61 6c 73 29   ┆s or string constants (literals)┆
0x0e68c0…0e68e0             20 63 6f 6d 62 69 6e 65 64 20 75 73 69 6e 67 20 74 68 65 20 6a 6f 69 6e 28 26 29 20 6f 70 65 72   ┆ combined using the join(&) oper┆
0x0e68e0…0e6900             61 74 69 6f 6e 2e 0d 46 69 65 6c 64 73 20 61 72 65 20 72 65 70 72 65 73 65 6e 74 65 64 20 62 79   ┆ation. Fields are represented by┆
0x0e6900…0e6920             20 66 69 65 6c 64 20 6e 75 6d 62 65 72 20 70 72 65 63 65 64 65 64 20 62 79 20 23 20 73 69 67 6e   ┆ field number preceded by # sign┆
0x0e6920…0e6940             3a 20 20 23 37 0d 53 75 62 66 69 65 6c 64 73 20 61 72 65 20 75 73 65 64 20 74 6f 20 65 78 74 72   ┆:  #7 Subfields are used to extr┆
0x0e6940…0e6960             61 63 74 20 61 20 70 6f 72 74 69 6f 6e 20 6f 66 20 61 20 66 69 65 6c 64 2e 20 20 54 68 65 20 66   ┆act a portion of a field.  The f┆
0x0e6960…0e6980             6f 72 6d 20 69 73 3a 0d 20 66 69 65 6c 64 20 6e 75 6d 62 65 72 20 28 66 69 72 73 74 20 63 68 61   ┆orm is:  field number (first cha┆
0x0e6980…0e69a0             72 61 63 74 65 72 20 6e 75 6d 62 65 72 2c 20 6e 75 6d 62 65 72 20 6f 66 20 63 68 61 72 61 63 74   ┆racter number, number of charact┆
0x0e69a0…0e69c0             65 72 73 29 3a 20 20 23 37 28 31 2c 32 29 0d 4c 69 74 65 72 61 6c 73 20 61 72 65 20 72 65 70 72   ┆ers):  #7(1,2) Literals are repr┆
0x0e69c0…0e69e0             65 73 65 6e 74 65 64 20 62 79 20 63 68 61 72 61 63 74 65 72 73 20 65 6e 63 6c 6f 73 65 64 20 69   ┆esented by characters enclosed i┆
0x0e69e0…0e6a00             6e 20 22 73 3a 20 20 22 41 30 31 22 0d 54 68 65 20 65 78 70 72 65 73 73 69 6f 6e 2c 20 23 36 28   ┆n "s:  "A01" The expression, #6(┆
0x0e6a00…0e6a20 (61, 1, 1)  61 63 74 65 72 27 20 63 61 6e 20 62 65 20 69 6e 73 65 72 74 65 64 20 69 6e 74 6f 20 74 68 65 20   ┆acter' can be inserted into the ┆
0x0e6a20…0e6a40             66 69 65 6c 64 2c 20 65 69 74 68 65 72 20 6f 6e 20 74 68 65 0d 6c 65 66 74 20 6f 66 20 74 68 65   ┆field, either on the left of the┆
0x0e6a40…0e6a60             20 64 61 74 61 20 66 6f 72 20 72 69 67 68 74 20 6a 75 73 74 69 66 69 65 64 20 66 69 65 6c 64 73   ┆ data for right justified fields┆
0x0e6a60…0e6a80             20 6f 72 20 76 69 63 65 20 76 65 72 73 61 2e 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 0d 69 66 20   ┆ or vice versa.  For example if ┆
0x0e6a80…0e6aa0             27 24 27 20 69 73 20 75 73 65 64 20 61 73 20 61 20 66 6c 6f 61 74 69 6e 67 20 63 68 61 72 61 63   ┆'$' is used as a floating charac┆
0x0e6aa0…0e6ac0             74 65 72 20 66 6f 72 20 61 20 72 69 67 68 74 20 6a 75 73 74 69 66 69 65 64 20 66 69 65 6c 64 2c   ┆ter for a right justified field,┆
0x0e6ac0…0e6ae0             0d 61 20 64 6f 6c 6c 61 72 20 73 69 67 6e 20 77 69 6c 6c 20 62 65 20 61 64 64 65 64 20 74 6f 20   ┆ a dollar sign will be added to ┆
0x0e6ae0…0e6b00             74 68 65 20 6c 65 66 74 20 6f 66 20 74 68 65 20 64 61 74 61 20 65 6e 74 65 72 65 64 2e 0d 0d 41   ┆the left of the data entered.  A┆
0x0e6b00…0e6b20             20 59 20 61 6e 73 77 65 72 20 77 69 6c 6c 20 70 72 6f 76 69 64 65 20 61 20 66 6c 6f 61 74 69 6e   ┆ Y answer will provide a floatin┆
0x0e6b20…0e6b40             67 20 63 68 61 72 61 63 74 65 72 20 66 6f 72 20 74 68 65 20 66 69 65 6c 64 2e 0d 00 20 20 20 45   ┆g character for the field.     E┆
0x0e6b40…0e6b60             6e 74 65 72 20 66 6c 6f 61 74 69 6e 67 20 63 68 61 72 61 63 74 65 72 3a fc 00 41 6e 79 20 63 68   ┆nter floating character:  Any ch┆
0x0e6b60…0e6b80             61 72 61 63 74 65 72 20 6d 61 79 20 62 65 20 75 73 65 64 20 61 73 20 61 20 66 6c 6f 61 74 69 6e   ┆aracter may be used as a floatin┆
0x0e6b80…0e6ba0             67 20 63 68 61 72 61 63 74 65 72 2e 20 20 43 6f 6d 6d 6f 6e 6c 79 20 75 73 65 64 63 68 61 72 61   ┆g character.  Commonly usedchara┆
0x0e6ba0…0e6bc0             63 74 65 72 73 20 61 72 65 20 27 24 27 2c 20 61 6e 64 20 27 2b 27 20 6f 72 20 27 2d 27 2e 0d 00   ┆cters are '$', and '+' or '-'.  ┆
0x0e6bc0…0e6be0             20 20 56 65 72 69 66 79 20 66 69 65 6c 64 3f 20 28 59 2f 4e 29 fc 00 41 66 74 65 72 20 74 68 65   ┆  Verify field? (Y/N)  After the┆
0x0e6be0…0e6c00             20 64 61 74 61 20 65 6e 74 72 79 20 66 6f 72 20 61 20 66 6f 72 6d 20 69 73 20 63 6f 6d 70 6c 65   ┆ data entry for a form is comple┆
0x0e6c00…0e6c20 (61, 1, 2)  6f 6e 20 74 68 61 74 20 64 72 69 76 65 2e 0d 00 20 20 20 20 49 74 65 6d 20 6e 75 6d 62 65 72 20   ┆on that drive.      Item number ┆
0x0e6c20…0e6c40             6f 66 20 66 69 65 6c 64 3a fc 00 54 68 65 20 66 69 6c 65 20 72 65 63 6f 72 64 20 6d 61 79 20 63   ┆of field:  The file record may c┆
0x0e6c40…0e6c60             6f 6e 74 61 69 6e 20 6d 6f 72 65 20 74 68 61 6e 20 6a 75 73 74 20 74 68 65 20 69 74 65 6d 20 79   ┆ontain more than just the item y┆
0x0e6c60…0e6c80             6f 75 20 77 69 73 68 20 74 6f 20 76 65 72 69 66 79 2e 0d 54 68 69 73 20 61 76 6f 69 64 73 20 75   ┆ou wish to verify. This avoids u┆
0x0e6c80…0e6ca0             6e 6e 65 63 65 73 73 61 72 79 20 64 61 74 61 20 64 75 70 6c 69 63 61 74 69 6f 6e 20 69 6e 20 64   ┆nnecessary data duplication in d┆
0x0e6ca0…0e6cc0             61 74 61 20 62 61 73 65 20 73 79 73 74 65 6d 73 20 61 73 20 77 65 6c 6c 0d 61 73 20 70 72 6f 76   ┆ata base systems as well as prov┆
0x0e6cc0…0e6ce0             69 64 69 6e 67 20 61 20 6d 65 61 6e 73 20 6f 66 20 64 65 72 69 76 69 6e 67 20 61 20 66 69 65 6c   ┆iding a means of deriving a fiel┆
0x0e6ce0…0e6d00             64 20 62 79 20 72 65 74 72 69 65 76 69 6e 67 20 69 74 20 66 72 6f 6d 20 61 6e 6f 74 68 65 72 0d   ┆d by retrieving it from another ┆
0x0e6d00…0e6d20             66 69 6c 65 2e 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 61 20 73 65 70 61 72 61 74 65 20 66   ┆file.  For example, a separate f┆
0x0e6d20…0e6d40             69 6c 65 20 68 61 76 69 6e 67 20 66 6f 72 20 65 61 63 68 20 76 65 6e 64 6f 72 3a 0d 20 20 20 20   ┆ile having for each vendor:     ┆
0x0e6d40…0e6d60             20 20 20 20 20 6e 61 6d 65 2c 20 61 64 64 72 65 73 73 2c 20 63 69 74 79 20 26 20 73 74 61 74 65   ┆     name, address, city & state┆
0x0e6d60…0e6d80             20 20 52 45 54 55 52 4e 0d 6d 69 67 68 74 20 62 65 20 75 73 65 64 20 74 6f 20 76 65 72 69 66 79   ┆  RETURN might be used to verify┆
0x0e6d80…0e6da0             20 76 65 6e 64 6f 72 20 6e 61 6d 65 2e 0d 0d 45 6e 74 65 72 20 74 68 65 20 69 74 65 6d 20 6e 75   ┆ vendor name.  Enter the item nu┆
0x0e6da0…0e6dc0             6d 62 65 72 20 77 69 74 68 69 6e 20 72 65 63 6f 72 64 20 74 68 61 74 20 79 6f 75 20 77 69 73 68   ┆mber within record that you wish┆
0x0e6dc0…0e6de0             20 74 6f 20 6d 61 74 63 68 20 61 67 61 69 6e 73 74 2e 0d 54 68 65 20 66 69 6c 65 20 77 69 6c 6c   ┆ to match against. The file will┆
0x0e6de0…0e6e00             20 68 61 76 65 20 74 6f 20 62 65 20 73 6f 72 74 65 64 20 75 73 69 6e 67 20 74 68 69 73 20 69 74   ┆ have to be sorted using this it┆
0x0e6e00…0e6e20 (61, 1, 3)  63 74 65 72 73 20 61 72 65 20 63 6f 6d 70 61 72 65 64 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20   ┆cters are compared according to ┆
0x0e6e20…0e6e40             74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 73 65 71 75 65 6e 63 65 3a 0d 20 20 20 20 73 70 61 63   ┆the following sequence:     spac┆
0x0e6e40…0e6e60             65 20 21 22 23 24 25 26 27 28 29 29 2a 2b 2c 2d 2e 2f 30 2d 39 3a 3b 3c 3d 3e 3f 40 41 2d 5a 5b   ┆e !"#$%&'())*+,-./0-9:;<=>?@A-ZÆ┆
0x0e6e60…0e6e80             5c 5d 5e 5f 60 61 2d 7a 7b 7c 7d 7e 20 20 20 20 28 68 69 67 68 65 73 74 29 0d 0d 45 6e 74 65 72   ┆ØÅ^_`a-zæøåü    (highest)  Enter┆
0x0e6e80…0e6ea0             20 74 68 65 20 73 6d 61 6c 6c 65 73 74 20 61 63 63 65 70 74 61 62 6c 65 20 76 61 6c 75 65 20 66   ┆ the smallest acceptable value f┆
0x0e6ea0…0e6ec0             6f 72 20 74 68 69 73 20 66 69 65 6c 64 2e 0d 00 20 20 20 45 6e 74 65 72 2f 63 68 61 6e 67 65 20   ┆or this field.     Enter/change ┆
0x0e6ec0…0e6ee0             74 68 65 20 6d 61 78 69 6d 75 6d 20 66 69 65 6c 64 20 76 61 6c 75 65 3a 00 41 20 66 69 65 6c 64   ┆the maximum field value: A field┆
0x0e6ee0…0e6f00             20 69 73 20 63 6f 6d 70 61 72 65 64 20 6f 6e 20 61 20 63 68 61 72 61 63 74 65 72 20 62 79 20 63   ┆ is compared on a character by c┆
0x0e6f00…0e6f20             68 61 72 61 63 74 65 72 20 62 61 73 69 73 20 74 6f 20 64 65 74 65 72 6d 69 6e 65 0d 61 63 63 65   ┆haracter basis to determine acce┆
0x0e6f20…0e6f40             70 74 61 62 6c 69 74 79 2e 20 43 68 61 72 61 63 74 65 72 73 20 61 72 65 20 63 6f 6d 70 61 72 65   ┆ptablity. Characters are compare┆
0x0e6f40…0e6f60             64 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 73 65 71   ┆d according to the following seq┆
0x0e6f60…0e6f80             75 65 6e 63 65 3a 0d 20 20 20 20 73 70 61 63 65 20 21 22 23 24 25 26 27 28 29 29 2a 2b 2c 2d 2e   ┆uence:     space !"#$%&'())*+,-.┆
0x0e6f80…0e6fa0             2f 30 2d 39 3a 3b 3c 3d 3e 3f 40 41 2d 5a 5b 5c 5d 5e 5f 60 61 2d 7a 7b 7c 7d 7e 20 20 20 20 28   ┆/0-9:;<=>?@A-ZÆØÅ^_`a-zæøåü    (┆
0x0e6fa0…0e6fc0             68 69 67 68 65 73 74 29 0d 0d 45 6e 74 65 72 20 74 68 65 20 6c 61 72 67 65 73 74 20 61 63 63 65   ┆highest)  Enter the largest acce┆
0x0e6fc0…0e6fe0             70 74 61 62 6c 65 20 76 61 6c 75 65 20 66 6f 72 20 74 68 69 73 20 66 69 65 6c 64 2e 0d 00 fd 20   ┆ptable value for this field.    ┆
0x0e6fe0…0e7000             20 45 64 69 74 20 6d 61 73 6b 3f 20 28 59 2f 4e 29 fc 00 41 6e 20 65 64 69 74 20 6d 61 73 6b 20   ┆ Edit mask? (Y/N)  An edit mask ┆
0x0e7000…0e7020 (61, 1, 4)  2d 7a 2c 20 73 70 61 63 65 fd 20 20 45 20 3d 20 41 2d 5a 2c 20 30 2d 39 20 20 20 20 20 20 20 20   ┆-z, space   E = A-Z, 0-9        ┆
0x0e7020…0e7040             20 20 20 20 20 20 20 20 20 20 20 65 20 3d 20 61 2d 7a 2c 20 30 2d 39 fd 20 20 46 20 3d 20 41 2d   ┆           e = a-z, 0-9   F = A-┆
0x0e7040…0e7060             5a 2c 20 30 2d 39 2c 20 73 70 61 63 65 20 20 20 20 20 20 20 20 20 20 20 20 66 20 3d 20 61 2d 7a   ┆Z, 0-9, space            f = a-z┆
0x0e7060…0e7080             2c 20 30 2d 39 2c 20 73 70 61 63 65 fd 20 20 47 20 3d 20 41 2d 5a 2c 20 30 2d 39 2c 20 61 2d 7a   ┆, 0-9, space   G = A-Z, 0-9, a-z┆
0x0e7080…0e70a0             20 2d 3e 20 41 2d 5a 20 20 20 20 20 20 20 67 20 3d 20 41 2d 5a 2c 20 30 2d 39 2c 20 61 2d 7a fd   ┆ -> A-Z       g = A-Z, 0-9, a-z ┆
0x0e70a0…0e70c0             20 20 48 20 3d 20 73 61 6d 65 20 61 73 20 47 20 77 69 74 68 20 73 70 61 63 65 20 20 20 20 20 20   ┆  H = same as G with space      ┆
0x0e70c0…0e70e0             20 68 20 3d 20 41 2d 5a 2c 20 30 2d 39 2c 20 61 2d 7a 2c 20 73 70 61 63 65 fd 20 20 39 20 3d 20   ┆ h = A-Z, 0-9, a-z, space   9 = ┆
0x0e70e0…0e7100             30 2d 39 20 6f 6e 6c 79 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 38 20 3d 20 30   ┆0-9 only                   8 = 0┆
0x0e7100…0e7120             2d 39 2c 20 23 24 25 28 29 2a 2b 2d 2e fd 20 20 2e 20 3d 20 61 6c 69 67 6e 20 64 65 63 69 6d 61   ┆-9, #$%()*+-.   . = align decima┆
0x0e7120…0e7140             6c 20 70 6f 69 6e 74 20 20 20 20 20 20 20 20 5f 20 3d 20 61 6e 79 20 63 68 61 72 61 63 74 65 72   ┆l point        _ = any character┆
0x0e7140…0e7160             20 61 6c 6c 6f 77 65 64 fd fd 45 6e 74 65 72 2f 63 68 61 6e 67 65 20 74 68 65 20 63 6f 6e 74 65   ┆ allowed  Enter/change the conte┆
0x0e7160…0e7180             6e 74 20 63 6f 6e 74 72 6f 6c 20 6d 61 73 6b 3a 00 45 61 63 68 20 63 68 61 72 61 63 74 65 72 20   ┆nt control mask: Each character ┆
0x0e7180…0e71a0             69 6e 20 74 68 65 20 63 6f 6e 74 65 6e 74 20 6d 61 73 6b 20 63 6f 6e 74 72 6f 6c 73 20 74 68 65   ┆in the content mask controls the┆
0x0e71a0…0e71c0             20 64 61 74 61 20 63 68 61 72 61 63 74 65 72 73 20 74 68 61 74 20 77 69 6c 6c 0d 62 65 20 61 6c   ┆ data characters that will be al┆
0x0e71c0…0e71e0             6c 6f 77 65 64 20 69 6e 20 74 68 61 74 20 70 6f 73 69 74 69 6f 6e 20 69 6e 20 74 68 65 20 64 61   ┆lowed in that position in the da┆
0x0e71e0…0e7200             74 61 20 74 6f 20 62 65 20 65 6e 74 65 72 65 64 2e 20 20 46 6f 72 20 69 6e 73 74 61 6e 63 65 2c   ┆ta to be entered.  For instance,┆
0x0e7200…0e7220 (61, 1, 5)  74 65 2c 20 74 68 65 20 70 72 6f 67 72 61 6d 20 77 69 6c 6c 20 65 6e 74 65 72 20 61 0d 76 65 72   ┆te, the program will enter a ver┆
0x0e7220…0e7240             69 66 79 20 70 68 61 73 65 2e 20 20 49 6e 20 74 68 69 73 20 70 68 61 73 65 20 73 6f 6d 65 20 6f   ┆ify phase.  In this phase some o┆
0x0e7240…0e7260             72 20 61 6c 6c 20 6f 66 20 74 68 65 20 66 69 65 6c 64 73 20 77 69 6c 6c 20 62 65 20 63 68 65 63   ┆r all of the fields will be chec┆
0x0e7260…0e7280             6b 65 64 0d 66 6f 72 20 61 63 63 75 72 61 63 79 2e 0d 0d 41 20 59 20 61 6e 73 77 65 72 20 68 65   ┆ked for accuracy.  A Y answer he┆
0x0e7280…0e72a0             72 65 20 77 69 6c 6c 20 63 61 75 73 65 20 74 68 69 73 20 66 69 65 6c 64 20 74 6f 20 62 65 20 63   ┆re will cause this field to be c┆
0x0e72a0…0e72c0             68 65 63 6b 65 64 20 64 75 72 69 6e 67 20 74 68 65 0d 76 65 72 69 66 69 63 61 74 69 6f 6e 20 70   ┆hecked during the verification p┆
0x0e72c0…0e72e0             68 61 73 65 2e 0d 00 20 20 20 53 69 67 68 74 2f 52 65 74 79 70 65 2f 4c 69 73 74 3f 20 28 53 2f   ┆hase.     Sight/Retype/List? (S/┆
0x0e72e0…0e7300             52 2f 4c 29 fc 00 54 68 65 72 65 20 61 72 65 20 33 20 74 79 70 65 73 20 6f 66 20 76 65 72 69 66   ┆R/L)  There are 3 types of verif┆
0x0e7300…0e7320             69 63 61 74 69 6f 6e 20 61 76 61 69 6c 61 62 6c 65 3a 20 73 69 67 68 74 2c 20 72 65 74 79 70 65   ┆ication available: sight, retype┆
0x0e7320…0e7340             20 61 6e 64 20 6c 69 73 74 2e 0d 53 69 67 68 74 20 76 65 72 69 66 79 20 6a 75 73 74 20 6d 6f 76   ┆ and list. Sight verify just mov┆
0x0e7340…0e7360             65 73 20 74 68 65 20 63 75 72 73 6f 72 20 74 6f 20 65 61 63 68 20 66 69 65 6c 64 20 61 6c 6c 6f   ┆es the cursor to each field allo┆
0x0e7360…0e7380             77 69 6e 67 20 74 68 65 20 6f 70 65 72 61 74 6f 72 0d 74 6f 20 74 61 6b 65 20 61 6e 6f 74 68 65   ┆wing the operator to take anothe┆
0x0e7380…0e73a0             72 20 6c 6f 6f 6b 20 61 74 20 77 68 61 74 20 68 61 73 20 62 65 65 6e 20 65 6e 74 65 72 65 64 2e   ┆r look at what has been entered.┆
0x0e73a0…0e73c0             20 20 52 65 74 79 70 65 20 76 65 72 69 66 79 20 77 69 6c 6c 0d 63 6c 65 61 72 20 74 68 65 20 66   ┆  Retype verify will clear the f┆
0x0e73c0…0e73e0             69 65 6c 64 20 62 65 66 6f 72 65 20 6d 6f 76 69 6e 67 20 74 68 65 20 63 75 72 73 6f 72 20 74 68   ┆ield before moving the cursor th┆
0x0e73e0…0e7400             65 72 65 20 61 6e 64 20 66 6f 72 63 65 20 74 68 65 20 6f 70 65 72 61 74 6f 72 0d 74 6f 20 74 79   ┆ere and force the operator to ty┆
0x0e7400…0e7420 (61, 1, 6)  65 6d 20 61 73 20 74 68 65 20 73 6f 72 74 20 6b 65 79 2e 0d 00 20 20 20 42 61 74 63 68 20 76 65   ┆em as the sort key.     Batch ve┆
0x0e7420…0e7440             72 69 66 79 3f 20 28 59 2f 4e 29 fc 00 42 61 74 63 68 20 76 65 72 69 66 79 20 66 69 65 6c 64 73   ┆rify? (Y/N)  Batch verify fields┆
0x0e7440…0e7460             20 64 6f 20 6e 6f 74 20 67 65 74 20 76 65 72 69 66 69 65 64 20 69 6d 6d 65 64 69 61 74 65 6c 79   ┆ do not get verified immediately┆
0x0e7460…0e7480             20 61 66 74 65 72 20 64 61 74 61 20 65 6e 74 72 79 2e 0d 49 6e 73 74 65 61 64 2c 20 74 68 65 79   ┆ after data entry. Instead, they┆
0x0e7480…0e74a0             20 61 72 65 20 6d 61 72 6b 65 64 20 61 73 20 75 6e 2d 76 65 72 69 66 69 65 64 20 61 6e 64 20 66   ┆ are marked as un-verified and f┆
0x0e74a0…0e74c0             69 6c 65 64 2e 20 20 54 68 69 73 20 61 6c 6c 6f 77 73 20 74 68 65 6d 20 74 6f 0d 62 65 20 76 65   ┆iled.  This allows them to be ve┆
0x0e74c0…0e74e0             72 69 66 69 65 64 20 61 73 20 61 20 62 61 74 63 68 20 6f 6e 20 61 20 64 69 66 66 65 72 65 6e 74   ┆rified as a batch on a different┆
0x0e74e0…0e7500             20 64 61 79 20 6f 72 20 62 79 20 61 20 64 69 66 66 65 72 65 6e 74 20 6f 70 65 72 61 74 6f 72 20   ┆ day or by a different operator ┆
0x0e7500…0e7520             69 6e 0d 6f 72 64 65 72 20 74 6f 20 6c 65 73 73 65 6e 20 74 68 65 20 63 68 61 6e 63 65 73 20 6f   ┆in order to lessen the chances o┆
0x0e7520…0e7540             66 20 61 20 6d 69 73 74 61 6b 65 20 69 6e 20 74 68 65 20 65 6e 74 72 79 20 62 65 69 6e 67 20 72   ┆f a mistake in the entry being r┆
0x0e7540…0e7560             65 70 65 61 74 65 64 20 69 6e 0d 74 68 65 20 76 65 72 69 66 69 63 61 74 69 6f 6e 2e 0d 00 20 20   ┆epeated in the verification.    ┆
0x0e7560…0e7580             20 56 65 72 69 66 79 2f 63 61 6c 63 75 6c 61 74 65 20 6f 72 64 65 72 3a fc 00 46 69 65 6c 64 20   ┆ Verify/calculate order:  Field ┆
0x0e7580…0e75a0             70 72 6f 63 65 73 73 69 6e 67 20 69 6e 20 76 65 72 69 66 79 20 6d 6f 64 65 20 69 6e 63 6c 75 64   ┆processing in verify mode includ┆
0x0e75a0…0e75c0             65 73 20 76 65 72 69 66 69 63 61 74 69 6f 6e 73 20 61 6e 64 20 63 61 6c 63 75 6c 61 74 69 6f 6e   ┆es verifications and calculation┆
0x0e75c0…0e75e0             73 2e 0d 49 6e 20 67 65 6e 65 72 61 6c 2c 20 76 65 72 69 66 69 63 61 74 69 6f 6e 73 20 73 68 6f   ┆s. In general, verifications sho┆
0x0e75e0…0e7600             75 6c 64 20 70 72 65 63 65 64 65 20 63 61 6c 63 75 6c 61 74 69 6f 6e 73 20 75 6e 6c 65 73 73 20   ┆uld precede calculations unless ┆
0x0e7600…0e7620 (61, 1, 7)  61 6c 6c 6f 77 73 20 79 6f 75 20 74 6f 20 63 6f 6e 74 72 6f 6c 20 74 68 65 20 65 6e 74 72 79 20   ┆allows you to control the entry ┆
0x0e7620…0e7640             61 6e 64 20 63 6f 6e 74 65 6e 74 20 6f 66 20 61 20 66 69 65 6c 64 20 6f 6e 0d 61 20 63 68 61 72   ┆and content of a field on a char┆
0x0e7640…0e7660             61 63 74 65 72 20 62 79 20 63 68 61 72 61 63 74 65 72 20 62 61 73 69 73 2e 20 20 54 68 69 73 20   ┆acter by character basis.  This ┆
0x0e7660…0e7680             69 6e 63 6c 75 64 65 73 20 69 6e 73 65 72 74 69 6e 67 20 63 6f 6e 73 74 61 6e 74 73 2c 0d 63 6f   ┆includes inserting constants, co┆
0x0e7680…0e76a0             70 79 69 6e 67 20 64 61 74 61 20 66 72 6f 6d 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 66 6f 72   ┆pying data from the previous for┆
0x0e76a0…0e76c0             6d 2c 20 72 65 71 75 69 72 69 6e 67 20 65 6e 74 72 79 20 61 74 20 63 65 72 74 61 69 6e 20 70 6f   ┆m, requiring entry at certain po┆
0x0e76c0…0e76e0             73 69 74 69 6f 6e 73 2c 0d 61 73 20 77 65 6c 6c 20 61 73 20 70 72 6f 76 69 64 69 6e 67 20 63 6f   ┆sitions, as well as providing co┆
0x0e76e0…0e7700             6e 74 72 6f 6c 20 6f 76 65 72 20 74 68 65 20 61 63 74 75 61 6c 20 63 68 61 72 61 63 74 65 72 73   ┆ntrol over the actual characters┆
0x0e7700…0e7720             20 74 68 61 74 20 6d 61 79 20 62 65 0d 65 6e 74 65 72 65 64 20 61 74 20 65 61 63 68 20 70 6f 73   ┆ that may be entered at each pos┆
0x0e7720…0e7740             69 74 69 6f 6e 2e 0d 0d 41 20 59 20 61 6e 73 77 65 72 20 77 69 6c 6c 20 61 6c 6c 6f 77 20 79 6f   ┆ition.  A Y answer will allow yo┆
0x0e7740…0e7760             75 20 74 6f 20 65 6e 74 65 72 20 61 6e 20 65 64 69 74 20 6d 61 73 6b 20 69 6e 20 74 77 6f 20 73   ┆u to enter an edit mask in two s┆
0x0e7760…0e7780             74 65 70 73 3a 20 20 65 6e 74 72 79 0d 61 6e 64 20 63 6f 6e 74 65 6e 74 20 63 6f 6e 74 72 6f 6c   ┆teps:  entry and content control┆
0x0e7780…0e77a0             2e 0d 00 fd 45 6e 74 72 79 20 43 6f 6e 74 72 6f 6c 20 43 68 61 72 61 63 74 65 72 20 43 6f 64 65   ┆.   Entry Control Character Code┆
0x0e77a0…0e77c0             73 3a fd fd 20 20 21 20 3d 20 6d 75 73 74 20 65 6e 74 65 72 20 61 20 63 68 61 72 61 63 74 65 72   ┆s:    ! = must enter a character┆
0x0e77c0…0e77e0             20 20 20 20 20 20 5f 20 3d 20 6d 61 79 20 65 6e 74 65 72 20 6f 72 20 6c 65 61 76 65 20 62 6c 61   ┆      _ = may enter or leave bla┆
0x0e77e0…0e7800             6e 6b fd 20 20 58 20 3d 20 61 75 74 6f 6d 61 74 69 63 20 63 6f 70 79 20 20 20 20 20 20 20 20 20   ┆nk   X = automatic copy         ┆
0x0e7800…0e7820 (61, 1, 8)  0d 61 20 63 6f 6e 74 65 6e 74 20 61 6e 64 20 65 6e 74 72 79 20 63 6f 6e 74 72 6f 6c 20 6d 61 73   ┆ a content and entry control mas┆
0x0e7820…0e7840             6b 20 66 6f 72 20 61 20 70 68 6f 6e 65 20 6e 75 6d 62 65 72 20 69 73 3a 0d 20 20 20 20 20 20 20   ┆k for a phone number is:        ┆
0x0e7840…0e7860             20 20 20 20 20 20 20 20 20 39 39 39 2d 39 39 39 39 20 20 20 20 20 20 20 20 28 63 6f 6e 74 65 6e   ┆         999-9999        (conten┆
0x0e7860…0e7880             74 20 6d 61 73 6b 29 0d 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 21 21 21 22 21 21 21 21   ┆t mask)                 !!!"!!!!┆
0x0e7880…0e78a0             20 20 20 20 20 20 20 20 28 65 6e 74 72 79 20 6d 61 73 6b 29 0d 54 68 65 20 22 39 22 73 20 77 69   ┆        (entry mask) The "9"s wi┆
0x0e78a0…0e78c0             6c 6c 20 70 65 72 6d 69 74 20 6f 6e 6c 79 20 64 69 67 69 74 73 20 69 6e 20 74 68 6f 73 65 20 70   ┆ll permit only digits in those p┆
0x0e78c0…0e78e0             6f 73 69 74 69 6f 6e 73 20 61 6e 64 20 61 20 22 2d 22 20 77 69 6c 6c 0d 61 75 74 6f 6d 61 74 69   ┆ositions and a "-" will automati┆
0x0e78e0…0e7900             63 61 6c 6c 79 20 62 65 20 69 6e 73 65 72 74 65 64 20 77 68 65 72 65 20 69 74 20 62 65 6c 6f 6e   ┆cally be inserted where it belon┆
0x0e7900…0e7920             67 73 2e 0d 00 fd 20 20 52 65 63 6f 72 64 20 65 64 69 74 20 63 68 61 72 61 63 74 65 72 73 3f 20   ┆gs.     Record edit characters? ┆
0x0e7920…0e7940             28 59 2f 4e 29 fc 00 45 64 69 74 20 63 68 61 72 61 63 74 65 72 73 20 61 72 65 20 70 61 64 2f 66   ┆(Y/N)  Edit characters are pad/f┆
0x0e7940…0e7960             6c 6f 61 74 20 63 68 61 72 61 63 74 65 72 73 20 61 6e 64 20 63 6f 6e 73 74 61 6e 74 73 20 66 72   ┆loat characters and constants fr┆
0x0e7960…0e7980             6f 6d 20 74 68 65 20 65 64 69 74 20 6d 61 73 6b 2e 0d 55 73 75 61 6c 6c 79 20 74 68 65 79 20 61   ┆om the edit mask. Usually they a┆
0x0e7980…0e79a0             72 65 20 72 65 6d 6f 76 65 64 20 66 72 6f 6d 20 74 68 65 20 66 69 65 6c 64 20 62 65 66 6f 72 65   ┆re removed from the field before┆
0x0e79a0…0e79c0             20 74 68 65 20 64 61 74 61 20 69 73 20 72 65 63 6f 72 64 65 64 2e 0d 0d 41 20 59 20 61 6e 73 77   ┆ the data is recorded.  A Y answ┆
0x0e79c0…0e79e0             65 72 20 68 65 72 65 20 77 69 6c 6c 20 69 6e 63 6c 75 64 65 20 65 64 69 74 20 63 68 61 72 61 63   ┆er here will include edit charac┆
0x0e79e0…0e7a00             74 65 72 73 20 61 73 20 77 65 6c 6c 20 61 73 20 64 61 74 61 20 69 6e 20 74 68 65 20 64 69 73 6b   ┆ters as well as data in the disk┆
0x0e7a00…0e7a20 (61, 1, 9)  70 65 20 74 68 65 20 73 61 6d 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 67 61 69 6e 2e 20 20   ┆pe the same information again.  ┆
0x0e7a20…0e7a40             4c 69 73 74 20 76 65 72 69 66 79 20 77 69 6c 6c 20 63 68 65 63 6b 20 74 68 65 20 66 69 65 6c 64   ┆List verify will check the field┆
0x0e7a40…0e7a60             0d 61 67 61 69 6e 73 74 20 61 20 6c 69 73 74 20 6f 66 20 63 6f 72 72 65 63 74 20 66 69 65 6c 64   ┆ against a list of correct field┆
0x0e7a60…0e7a80             20 65 6e 74 72 69 65 73 2e 20 20 49 6e 20 6c 69 73 74 20 76 65 72 69 66 79 2c 20 74 68 65 20 6c   ┆ entries.  In list verify, the l┆
0x0e7a80…0e7aa0             69 73 74 20 69 73 0d 6b 65 70 74 20 69 6e 20 61 20 73 65 70 61 72 61 74 65 20 66 69 6c 65 20 77   ┆ist is kept in a separate file w┆
0x0e7aa0…0e7ac0             68 69 63 68 20 6d 61 79 20 62 65 20 70 72 65 70 61 72 65 64 20 62 79 20 61 6e 79 20 6d 65 61 6e   ┆hich may be prepared by any mean┆
0x0e7ac0…0e7ae0             73 2e 0d 00 20 20 20 20 4b 65 65 70 20 66 69 6c 65 20 69 6e 20 6d 65 6d 6f 72 79 20 64 75 72 69   ┆s.      Keep file in memory duri┆
0x0e7ae0…0e7b00             6e 67 20 64 61 74 61 20 65 6e 74 72 79 3f 20 28 59 2f 4e 29 20 00 49 66 20 74 68 65 20 66 69 6c   ┆ng data entry? (Y/N)  If the fil┆
0x0e7b00…0e7b20             65 20 69 73 20 73 6d 61 6c 6c 20 65 6e 6f 75 67 68 20 28 6c 65 73 73 20 74 68 61 6e 20 35 30 30   ┆e is small enough (less than 500┆
0x0e7b20…0e7b40             20 63 68 61 72 61 63 74 65 72 73 29 20 69 74 20 77 69 6c 6c 20 61 63 74 75 61 6c 6c 79 0d 73 61   ┆ characters) it will actually sa┆
0x0e7b40…0e7b60             76 65 20 73 70 61 63 65 20 74 6f 20 6b 65 65 70 20 69 74 20 61 6c 6c 20 69 6e 20 6d 65 6d 65 6f   ┆ve space to keep it all in memeo┆
0x0e7b60…0e7b80             72 79 20 64 75 72 69 6e 67 20 64 61 74 61 20 65 6e 74 72 79 2e 20 20 49 74 20 77 69 6c 6c 20 61   ┆ry during data entry.  It will a┆
0x0e7b80…0e7ba0             6c 77 61 79 73 0d 73 70 65 65 64 20 75 70 20 70 72 6f 63 65 73 73 69 6e 67 20 74 6f 20 6b 65 65   ┆lways speed up processing to kee┆
0x0e7ba0…0e7bc0             70 20 69 74 20 69 6e 20 6d 65 6d 6f 72 79 2e 0d 0d 41 20 59 20 61 6e 73 77 65 72 20 68 65 72 65   ┆p it in memory.  A Y answer here┆
0x0e7bc0…0e7be0             20 77 69 6c 6c 20 63 61 75 73 65 20 74 68 65 20 65 6e 74 69 72 65 20 6c 69 73 74 20 66 69 6c 65   ┆ will cause the entire list file┆
0x0e7be0…0e7c00             20 74 6f 20 62 65 20 62 72 6f 75 67 68 74 20 69 6e 74 6f 0d 6d 65 6d 6f 72 79 20 62 65 66 6f 72   ┆ to be brought into memory befor┆
0x0e7c00…0e7c20 (61, 1, 10) 74 68 65 20 72 65 73 75 6c 74 20 6f 66 0d 61 20 63 61 6c 63 75 6c 61 74 69 69 6f 6e 20 69 73 20   ┆the result of a calculatiion is ┆
0x0e7c20…0e7c40             62 65 69 6e 67 20 75 73 65 64 20 61 73 20 61 20 66 69 6c 65 20 69 6e 64 65 78 20 66 69 65 6c 64   ┆being used as a file index field┆
0x0e7c40…0e7c60             2e 20 20 54 68 65 20 66 69 65 6c 64 73 20 63 61 6e 20 62 65 76 65 72 69 66 69 65 64 20 69 6e 20   ┆.  The fields can beverified in ┆
0x0e7c60…0e7c80             61 6e 79 20 6f 72 64 65 72 2e 20 20 54 68 65 20 66 69 65 6c 64 20 77 69 74 68 20 76 65 72 69 66   ┆any order.  The field with verif┆
0x0e7c80…0e7ca0             79 20 6f 72 64 65 72 20 30 30 31 20 77 69 6c 6c 20 62 65 20 76 65 72 69 66 69 65 64 0d 66 69 72   ┆y order 001 will be verified fir┆
0x0e7ca0…0e7cc0             73 74 2e 0d 00 fd 20 20 43 68 65 63 6b 20 64 69 67 69 74 3f 20 28 59 2f 4e 29 fc 00 41 20 63 68   ┆st.     Check digit? (Y/N)  A ch┆
0x0e7cc0…0e7ce0             65 63 6b 20 64 69 67 69 74 20 69 73 20 61 20 64 69 67 69 74 20 61 64 64 65 64 20 6f 6e 20 74 6f   ┆eck digit is a digit added on to┆
0x0e7ce0…0e7d00             20 74 68 65 20 65 6e 64 20 6f 66 20 61 20 6e 75 6d 65 72 69 63 20 66 69 65 6c 64 20 69 6e 20 73   ┆ the end of a numeric field in s┆
0x0e7d00…0e7d20             75 63 68 0d 61 20 77 61 79 20 73 6f 20 61 73 20 74 6f 20 6d 61 6b 65 20 74 68 65 20 64 69 67 69   ┆uch a way so as to make the digi┆
0x0e7d20…0e7d40             74 73 20 6f 66 20 74 68 65 20 66 69 65 6c 64 20 6f 62 65 79 20 73 6f 6d 65 20 72 75 6c 65 2e 20   ┆ts of the field obey some rule. ┆
0x0e7d40…0e7d60             20 49 74 20 69 73 20 75 73 65 64 0d 74 6f 20 69 6d 70 72 6f 76 65 20 74 68 65 20 61 63 63 75 72   ┆ It is used to improve the accur┆
0x0e7d60…0e7d80             61 63 79 20 6f 66 20 65 6e 74 65 72 65 64 20 64 61 74 61 2c 20 73 69 6e 63 65 20 69 6e 63 6f 72   ┆acy of entered data, since incor┆
0x0e7d80…0e7da0             72 65 63 74 20 64 61 74 61 20 69 73 20 6e 6f 74 0d 6c 69 6b 65 6c 79 20 74 6f 20 6f 62 65 79 20   ┆rect data is not likely to obey ┆
0x0e7da0…0e7dc0             74 68 65 20 72 75 6c 65 2e 20 20 54 68 65 20 72 75 6c 65 20 69 6e 20 44 61 74 61 53 74 61 72 20   ┆the rule.  The rule in DataStar ┆
0x0e7dc0…0e7de0             69 73 20 74 68 61 74 20 74 68 65 20 66 69 65 6c 64 20 6d 75 73 74 0d 62 65 20 64 69 76 69 73 61   ┆is that the field must be divisa┆
0x0e7de0…0e7e00             62 6c 65 20 62 79 20 31 31 2e 0d 0d 45 6e 74 65 72 20 59 20 68 65 72 65 20 74 6f 20 72 65 71 75   ┆ble by 11.  Enter Y here to requ┆
0x0e7e00…0e7e20 (61, 1, 11) 20 20 20 20 20 59 20 3d 20 61 75 74 6f 2d 63 6f 70 79 2f 6d 61 79 20 65 6e 74 65 72 fd 20 20 22   ┆     Y = auto-copy/may enter   "┆
0x0e7e20…0e7e40             20 3d 20 63 6f 6e 73 74 61 6e 74 20 69 6e 20 74 68 69 73 20 70 6f 73 69 74 69 6f 6e 20 20 20 7e   ┆ = constant in this position   ü┆
0x0e7e40…0e7e60             20 3d 20 63 6f 6e 73 74 61 6e 74 2f 6d 61 79 20 65 6e 74 65 72 fd 20 20 27 20 3d 20 63 6f 6e 73   ┆ = constant/may enter   ' = cons┆
0x0e7e60…0e7e80             74 61 6e 74 20 69 66 20 64 61 74 61 20 6f 6e 20 20 20 20 20 20 20 20 20 2f 20 3d 20 63 6f 6e 73   ┆tant if data on         / = cons┆
0x0e7e80…0e7ea0             74 61 6e 74 20 69 66 20 64 61 74 61 20 6f 6e 20 6f 6e 65 fd 20 20 20 20 20 20 62 6f 74 68 20 73   ┆tant if data on one       both s┆
0x0e7ea0…0e7ec0             69 64 65 73 20 6f 66 20 63 6f 6e 73 74 61 6e 74 20 20 20 20 20 20 20 20 20 20 73 69 64 65 20 6f   ┆ides of constant          side o┆
0x0e7ec0…0e7ee0             6e 6c 79 fd fd 45 6e 74 65 72 2f 63 68 61 6e 67 65 20 74 68 65 20 65 6e 74 72 79 20 63 6f 6e 74   ┆nly  Enter/change the entry cont┆
0x0e7ee0…0e7f00             72 6f 6c 20 6d 61 73 6b 3a 00 54 68 65 20 65 6e 74 72 79 20 63 6f 6e 74 72 6f 6c 20 6d 61 73 6b   ┆rol mask: The entry control mask┆
0x0e7f00…0e7f20             20 75 73 65 73 20 6f 6e 65 20 6f 66 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 68 61 72 61   ┆ uses one of the following chara┆
0x0e7f20…0e7f40             63 74 65 72 73 3a 20 21 5f 58 59 22 27 7e 2f 0d 69 6e 20 65 61 63 68 20 70 6f 73 69 74 69 6f 6e   ┆cters: !_XY"'ü/ in each position┆
0x0e7f40…0e7f60             20 6f 66 20 74 68 65 20 66 69 65 6c 64 2e 20 20 54 68 69 73 20 61 6c 6c 6f 77 73 20 79 6f 75 20   ┆ of the field.  This allows you ┆
0x0e7f60…0e7f80             74 6f 20 63 6f 6e 74 72 6f 6c 20 77 68 65 74 68 65 72 20 6f 72 0d 6e 6f 74 20 74 68 65 72 65 20   ┆to control whether or not there ┆
0x0e7f80…0e7fa0             6d 75 73 74 20 62 65 20 64 61 74 61 20 74 68 65 72 65 2c 20 61 73 20 77 65 6c 6c 20 61 73 20 77   ┆must be data there, as well as w┆
0x0e7fa0…0e7fc0             68 65 72 65 20 69 74 20 63 6f 6d 65 73 20 66 72 6f 6d 2e 20 20 54 68 65 0d 63 6f 6e 73 74 61 6e   ┆here it comes from.  The constan┆
0x0e7fc0…0e7fe0             74 73 20 61 72 65 20 73 69 6d 70 6c 79 20 63 68 61 72 61 63 74 65 72 73 20 74 68 61 74 20 79 6f   ┆ts are simply characters that yo┆
0x0e7fe0…0e8000             75 20 77 69 6c 6c 20 73 75 70 70 6c 79 20 69 6e 20 74 68 65 20 6e 65 78 74 20 71 75 65 73 74 69   ┆u will supply in the next questi┆
0x0e8000…0e8020 (61, 1, 12) 0d 72 65 63 6f 72 64 2e 0d 00 20 66 72 6f 6d 20 74 68 65 20 66 69 65 6c 64 20 62 65 66 6f 72 65   ┆ record.   from the field before┆
0x0e8020…0e8040             20 74 68 65 20 64 61 74 61 20 69 73 20 72 65 63 6f 72 64 65 64 2e 0d 0d 41 20 59 20 61 6e 73 77   ┆ the data is recorded.  A Y answ┆
0x0e8040…0e8060             65 72 20 68 65 72 65 20 77 69 6c 6c 20 69 6e 63 6c 75 64 65 20 65 64 69 74 20 63 68 61 72 61 63   ┆er here will include edit charac┆
0x0e8060…0e8080             74 65 72 73 20 61 73 20 77 65 6c 6c 20 61 73 20 64 61 74 61 20 69 6e 20 74 68 65 20 64 69 73 6b   ┆ters as well as data in the disk┆
0x0e8080…0e80a0             66 69 65 64 20 66 69 65 6c 64 2c 0d 61 20 64 6f 6c 6c 61 72 20 73 69 67 6e 20 77 69 6c 6c 20 62   ┆fied field, a dollar sign will b┆
0x0e80a0…0e80c0             65 20 61 64 64 65 64 20 74 6f 20 74 68 65 20 6c 65 66 74 20 6f 66 20 74 68 65 20 64 61 74 61 20   ┆e added to the left of the data ┆
0x0e80c0…0e80e0             65 6e 74 65 72 65 64 2e 0d 0d 41 20 59 20 61 6e 73 77 65 72 20 77 69 6c 6c 20 70 72 6f 76 69 64   ┆entered.  A Y answer will provid┆
0x0e80e0…0e8100             65 20 61 20 66 6c 6f 61 74 69 6e 67 20 63 68 61 72 61 63 74 65 72 20 66 6f 72 20 74 68 65 20 66   ┆e a floating character for the f┆
0x0e8100…0e8120             67 73 2e 0d 00 fd 20 20 52 65 63 6f 72 64 20 65 64 69 74 20 63 68 61 72 61 63 74 65 72 73 3f 20   ┆gs.     Record edit characters? ┆
0x0e8120…0e8140             28 59 2f 4e 29 fc 00 45 64 69 74 20 63 68 61 72 61 63 74 65 72 73 20 61 72 65 20 70 61 64 2f 66   ┆(Y/N)  Edit characters are pad/f┆
0x0e8140…0e8160             6c 6f 61 74 20 63 68 61 72 61 63 74 65 72 73 20 61 6e 64 20 63 6f 6e 73 74 61 6e 74 73 20 66 72   ┆loat characters and constants fr┆
0x0e8160…0e8180             6f 6d 20 74 68 65 20 65 64 69 74 20 6d 61 73 6b 2e 0d 55 73 75 61 6c 6c 79 20 74 68 65 79 20 61   ┆om the edit mask. Usually they a┆
0x0e8180…0e81a0             72 65 20 72 65 6d 6f 76 65 64 20 66 72 6f 6d 20 74 68 65 20 66 69 65 6c 64 20 62 65 66 6f 72 65   ┆re removed from the field before┆
0x0e81a0…0e81c0             20 74 68 65 20 64 61 74 61 20 69 73 20 72 65 63 6f 72 64 65 64 2e 0d 0d 41 20 59 20 61 6e 73 77   ┆ the data is recorded.  A Y answ┆
0x0e81c0…0e81e0             65 72 20 68 65 72 65 20 77 69 6c 6c 20 69 6e 63 6c 75 64 65 20 65 64 69 74 20 63 68 61 72 61 63   ┆er here will include edit charac┆
0x0e81e0…0e8200             74 65 72 73 20 61 73 20 77 65 6c 6c 20 61 73 20 64 61 74 61 20 69 6e 20 74 68 65 20 64 69 73 6b   ┆ters as well as data in the disk┆
0x0e8200…0e8220 (61, 1, 13) 65 20 64 61 74 61 20 65 6e 74 72 79 2c 20 69 66 20 69 74 20 66 69 74 73 2e 20 20 41 20 4e 20 61   ┆e data entry, if it fits.  A N a┆
0x0e8220…0e8240             6e 73 77 65 72 2c 20 68 6f 77 65 76 65 72 2c 20 6d 61 79 20 62 65 0d 72 65 71 75 69 72 65 64 20   ┆nswer, however, may be required ┆
0x0e8240…0e8260             68 65 72 65 20 74 6f 20 6c 65 61 76 65 20 65 6e 6f 75 67 68 20 72 6f 6f 6d 20 66 6f 72 20 6f 74   ┆here to leave enough room for ot┆
0x0e8260…0e8280             68 65 72 20 66 69 6c 65 73 20 74 6f 20 62 65 20 6c 6f 61 64 65 64 2e 0d 00 20 20 20 20 45 6e 74   ┆her files to be loaded.      Ent┆
0x0e8280…0e82a0             65 72 20 6c 69 73 74 20 66 69 6c 65 20 6e 61 6d 65 3a fc 00 41 20 66 69 6c 65 20 6e 61 6d 65 20   ┆er list file name:  A file name ┆
0x0e82a0…0e82c0             69 73 20 31 2d 38 20 6c 65 74 74 65 72 73 2f 64 69 67 69 74 73 2e 0d 0d 45 6e 74 65 72 20 74 68   ┆is 1-8 letters/digits.  Enter th┆
0x0e82c0…0e82e0             65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 66 69 6c 65 20 74 68 61 74 20 68 61 73 20 61 20 6c 69   ┆e name of the file that has a li┆
0x0e82e0…0e8300             73 74 20 6f 66 20 63 6f 72 72 65 63 74 20 65 6e 74 72 69 65 73 20 66 6f 72 20 74 68 69 73 0d 66   ┆st of correct entries for this f┆
0x0e8300…0e8320             69 65 6c 64 2e 0d 00 20 20 20 20 45 6e 74 65 72 20 6c 69 73 74 20 66 69 6c 65 20 64 69 73 6b 20   ┆ield.      Enter list file disk ┆
0x0e8320…0e8340             64 72 69 76 65 20 28 2d 2f 41 2f 42 2e 2e 2e 29 3a 20 20 20 20 20 20 00 45 6e 74 65 72 20 22 41   ┆drive (-/A/B...):       Enter "A┆
0x0e8340…0e8360             2d 50 22 20 74 6f 20 73 70 65 63 69 66 69 79 20 61 20 64 69 73 6b 20 64 72 69 76 65 20 74 6f 20   ┆-P" to specifiy a disk drive to ┆
0x0e8360…0e8380             75 73 65 20 66 6f 72 20 74 68 65 20 76 65 72 69 66 69 63 61 74 69 6f 6e 20 66 69 6c 65 2e 0d 45   ┆use for the verification file. E┆
0x0e8380…0e83a0             6e 74 65 72 20 22 2d 22 20 74 6f 20 75 73 65 20 74 68 65 20 63 75 72 72 65 6e 74 20 64 72 69 76   ┆nter "-" to use the current driv┆
0x0e83a0…0e83c0             65 2e 20 20 49 6e 20 62 6f 74 68 20 63 61 73 65 73 2c 20 74 68 65 20 6f 70 65 72 61 74 6f 72 20   ┆e.  In both cases, the operator ┆
0x0e83c0…0e83e0             77 69 6c 6c 20 62 65 0d 61 73 6b 65 64 20 74 6f 20 73 75 70 70 6c 79 20 74 68 65 20 64 69 73 6b   ┆will be asked to supply the disk┆
0x0e83e0…0e8400             20 64 72 69 76 65 20 69 66 20 74 68 65 20 66 69 6c 65 20 69 73 20 6e 6f 74 20 66 6f 75 6e 64 20   ┆ drive if the file is not found ┆
0x0e8400…0e8420 (61, 1, 14) 69 72 65 20 74 68 61 74 20 74 68 65 20 64 61 74 61 20 69 6e 20 74 68 69 73 20 66 69 65 6c 64 20   ┆ire that the data in this field ┆
0x0e8420…0e8440             62 65 20 64 69 76 69 73 61 62 6c 65 20 62 79 20 31 31 2e 0d 00 fd 20 20 52 61 6e 67 65 20 63 68   ┆be divisable by 11.     Range ch┆
0x0e8440…0e8460             65 63 6b 3f 20 28 59 2f 4e 29 fc 00 41 20 72 61 6e 67 65 20 63 68 65 63 6b 20 69 73 20 75 73 65   ┆eck? (Y/N)  A range check is use┆
0x0e8460…0e8480             66 75 6c 20 66 6f 72 20 64 61 74 61 20 74 68 61 74 20 69 73 20 6f 6e 6c 79 20 76 61 6c 69 64 20   ┆ful for data that is only valid ┆
0x0e8480…0e84a0             77 69 74 68 69 6e 20 61 20 63 65 72 74 61 69 6e 0d 72 61 6e 67 65 2e 20 20 41 6e 20 65 78 61 6d   ┆within a certain range.  An exam┆
0x0e84a0…0e84c0             70 6c 65 20 6f 66 20 74 68 69 73 20 69 73 20 61 20 74 77 6f 20 63 68 61 72 61 63 74 65 72 20 66   ┆ple of this is a two character f┆
0x0e84c0…0e84e0             69 65 6c 64 20 63 61 6c 6c 65 64 20 6d 6f 6e 74 68 2e 0d 49 74 20 63 61 6e 20 6f 6e 6c 79 20 68   ┆ield called month. It can only h┆
0x0e84e0…0e8500             61 76 65 20 76 61 6c 75 65 73 20 62 65 74 77 65 65 6e 20 30 31 20 61 6e 64 20 31 32 2e 0d 0d 41   ┆ave values between 01 and 12.  A┆
0x0e8500…0e8520             20 59 20 61 6e 73 77 65 72 20 68 65 72 65 20 77 69 6c 6c 20 61 6c 6c 6f 77 20 79 6f 75 20 74 6f   ┆ Y answer here will allow you to┆
0x0e8520…0e8540             20 73 70 65 63 69 66 79 20 74 68 65 20 6d 69 6e 69 6d 75 6d 20 61 6e 64 20 6d 61 78 69 6d 75 6d   ┆ specify the minimum and maximum┆
0x0e8540…0e8560             20 76 61 6c 75 65 73 0d 74 68 61 74 20 74 68 65 20 64 61 74 61 20 69 6e 20 74 68 69 73 20 66 69   ┆ values that the data in this fi┆
0x0e8560…0e8580             65 6c 64 20 77 69 6c 6c 20 62 65 20 61 6c 6c 6f 77 65 64 20 74 6f 20 74 61 6b 65 20 6f 6e 2e 0d   ┆eld will be allowed to take on. ┆
0x0e8580…0e85a0             00 20 20 20 45 6e 74 65 72 2f 63 68 61 6e 67 65 20 74 68 65 20 6d 69 6e 69 6d 75 6d 20 66 69 65   ┆    Enter/change the minimum fie┆
0x0e85a0…0e85c0             6c 64 20 76 61 6c 75 65 3a 00 41 20 66 69 65 6c 64 20 69 73 20 63 6f 6d 70 61 72 65 64 20 6f 6e   ┆ld value: A field is compared on┆
0x0e85c0…0e85e0             20 61 20 63 68 61 72 61 63 74 65 72 20 62 79 20 63 68 61 72 61 63 74 65 72 20 62 61 73 69 73 20   ┆ a character by character basis ┆
0x0e85e0…0e8600             74 6f 20 64 65 74 65 72 6d 69 6e 65 0d 61 63 63 65 70 74 61 62 6c 69 74 79 2e 20 43 68 61 72 61   ┆to determine acceptablity. Chara┆
0x0e8600…0e8620 (61, 1, 15) 6f 6e 2e 0d 54 68 65 73 65 20 63 68 61 72 61 63 74 65 72 73 20 77 69 6c 6c 20 62 65 20 65 6d 62   ┆on. These characters will be emb┆
0x0e8620…0e8640             65 64 64 65 64 20 69 6e 20 74 68 65 20 64 61 74 61 20 65 61 63 68 20 74 69 6d 65 20 74 68 65 20   ┆edded in the data each time the ┆
0x0e8640…0e8660             66 69 65 6c 64 20 69 73 0d 65 6e 74 65 72 65 64 2c 20 75 6e 6c 65 73 73 20 74 68 65 20 22 27 2f   ┆field is entered, unless the "'/┆
0x0e8660…0e8680             22 20 63 6f 6e 74 72 6f 6c 20 63 6f 64 65 73 20 61 72 65 20 75 73 65 64 2e 20 20 22 27 2f 22 20   ┆" control codes are used.  "'/" ┆
0x0e8680…0e86a0             61 72 65 20 63 6f 6e 64 69 74 69 6f 6e 61 6c 0d 63 6f 6e 73 74 61 6e 74 73 20 74 68 61 74 20 61   ┆are conditional constants that a┆
0x0e86a0…0e86c0             72 65 20 6f 6e 6c 79 20 69 6e 73 65 72 74 65 64 20 69 66 20 65 6e 6f 75 67 68 20 63 68 61 72 61   ┆re only inserted if enough chara┆
0x0e86c0…0e86e0             63 74 65 72 73 20 61 72 65 20 65 6e 74 65 72 65 64 2e 20 20 46 6f 72 0d 65 78 61 6d 70 6c 65 2c   ┆cters are entered.  For example,┆
0x0e86e0…0e8700             20 5f 27 5f 5f 5f 27 5f 5f 5f 20 77 6f 75 6c 64 20 61 6c 6c 6f 77 20 69 6e 73 65 72 74 69 6f 6e   ┆ _'___'___ would allow insertion┆
0x0e8700…0e8720             20 6f 66 20 63 6f 6d 6d 61 73 20 69 6e 74 6f 20 61 20 73 65 76 65 6e 20 64 69 67 69 74 20 6e 75   ┆ of commas into a seven digit nu┆
0x0e8720…0e8740             6d 62 65 72 2e 0d 00 43 6f 6e 74 65 6e 74 20 43 6f 6e 74 72 6f 6c 20 43 68 61 72 61 63 74 65 72   ┆mber.  Content Control Character┆
0x0e8740…0e8760             20 43 6f 64 65 73 3a fd fd 20 20 41 20 3d 20 41 2d 5a 20 6f 6e 6c 79 20 20 20 20 20 20 20 20 20   ┆ Codes:    A = A-Z only         ┆
0x0e8760…0e8780             20 20 20 20 20 20 20 20 20 20 61 20 3d 20 61 2d 7a 20 6f 6e 6c 79 fd 20 20 42 20 3d 20 41 2d 5a   ┆          a = a-z only   B = A-Z┆
0x0e8780…0e87a0             2c 20 73 70 61 63 65 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 20 3d 20 61 2d 7a 2c   ┆, space                 b = a-z,┆
0x0e87a0…0e87c0             20 73 70 61 63 65 fd 20 20 43 20 3d 20 41 2d 5a 2c 20 61 2d 7a 20 2d 3e 20 41 2d 5a 20 20 20 20   ┆ space   C = A-Z, a-z -> A-Z    ┆
0x0e87c0…0e87e0             20 20 20 20 20 20 20 20 63 20 3d 20 41 2d 5a 2c 20 61 2d 7a fd 20 20 44 20 3d 20 41 2d 5a 2c 20   ┆        c = A-Z, a-z   D = A-Z, ┆
0x0e87e0…0e8800             61 2d 7a 20 2d 3e 20 41 2d 5a 2c 20 73 70 61 63 65 20 20 20 20 20 64 20 3d 20 41 2d 5a 2c 20 61   ┆a-z -> A-Z, space     d = A-Z, a┆
0x0e8800…0e8a00 (62, 0, 1)  0xe5[0x200]
          […0x1c1…]

Reduced view