C P / M   6 8 0 0 0   A s s e m b l e r		Revision 02.03		Page   1
Source File: ccpif.s

   1                               *************************************************************************
   2                               *                                                                       *
   3                               *                    CPM68K INTERFACE MODULE FOR                        *
   4                               *                    THE CONSOLE COMMAND PROCESSOR                      *
   5                               *                                                                       *
   6                               *           THIS IS THE DUAL-PROCESSOR,ROMABLE CP/M-68K SYSTEM          *
   7                               *           ==================================================          *
   8                               *                                                                       *
   9                               *       (C) Copyright Digital Research 1983 all rights reserved         *
  10                               *                                                                       *
  11                               *************************************************************************
  12                               
  13                               
  14                                       .globl  _bios1
  15                                       .globl  _bdos
  16                                       .globl  _load68k
  17                                       .globl  _load_tbl
  18                                       .globl  init_tbl
  19                                       .globl  _load_try
  20                                       .globl  _autorom
  21                                       .globl  flags
  22                                       .globl  TPAB
  23                                       .globl  stack
  24                                       .globl  _bdosini
  25                                       .globl  _main
  26                                       .globl  _submit
  27                                       .globl  _morecmds
  28                                       .globl  _autost
  29                                       .globl  _usercmd
  30                                       .globl  _init
  31                                       .globl  _ccp
  32                                       .globl  _patch
  33                                       .globl  cpm
  34                               
  35 00000000                              .text
  36                               cpm:    
  37 00000000 4EF900000038                 jmp.l   ccpstart        * start ccp with possible initial command
  38 00000006 4EF900000032                 jmp.l   ccpclear        * clear auto start flag
  39                               
  40                               
  41                               
  42 00000000                              .bss
  43 00000000                      _autost:  .ds.b  1              * autostart command flag
  44 00000001                      _usercmd: .ds.b  130            * user command buffer
  45                               
  46 00000084                              .text
  46 0000000C                      
  47 0000000C 434F505952494748     copy:    .dc.b  'COPYRIGHT (C) 1982, Digital Research '
  47 00000014 5420284329203139     
  47 0000001C 38322C2044696769     
  47 00000024 74616C2052657365     
  47 0000002C 6172636820             
  48                               
  49                               
  50 00000032                              .text
C P / M   6 8 0 0 0   A s s e m b l e r		Revision 02.03		Page   2
Source File: ccpif.s

  50 00000032                      
  51                               ccpclear:
  52 00000032 423900000000                 clr.b   _autost         * clear the autostart flag
  53                               
  54                               ccpstart:
  55 00000038 4FF900000000                 lea     stack,sp        * set up the stack pointer
  56 0000003E 423900000000                 clr.b   _autost         * clear the auto start flag
  57 00000044 4EB900000000                 jsr     _init           * call bios init
  58 0000004A 33C000000084                 move.w  d0,dskuser      * save user # & disk
  59                               *
  60                               *
  61                               *       ROM SYSTEM INITIALIZATION
  62                               *       OF BSS VARIABLES
  63                               *
  64                               *
  65                               
  66 00000050 423900000000                 clr.b   _load_try       
  67 00000056 423900000086                 clr.b   _submit
  68 0000005C 423900000088                 clr.b   _morecmds
  69 00000062 13FC000100000000             move.b  #$1,_autorom
  70 0000006A 427900000000                 clr.w   flags
  71 00000070 427900000000                 clr.w   TPAB
  72 00000076 4EB900000000                 jsr     init_tbl
  73                               
  74                               
  75                               
  76 0000007C 4EB900000000                 jsr     _bdosini        * do bdos init
  77 00000082 303C0020                     move.w  #32,d0          * get user bdos func #
  78 00000086 4281                         clr.l   d1              * clear out d1
  79 00000088 123900000084                 move.b  dskuser,d1      * get the user #
  80 0000008E 4E42                         trap    #2              * set the user number
  81 00000090 4280                         clr.l   d0              * clear d0
  82 00000092 303C000E                     move.w  #14,d0          * select function
  83 00000096 4281                         clr.l   d1              * clear d1
  84 00000098 323900000084                 move.w  dskuser,d1      * get disk to be selected
  85 0000009E 024100FF                     andi    #$0ff,d1        * mask off the user #
  86 000000A2 4E42                         trap    #2              * select the disk
  87                               
  88                               _ccp:
  89 000000A4 4FF900000000                 lea     stack,sp        * set up the stack pointer
  90 000000AA 4EB900000000                 jsr     _main           * call the CCP
  91 000000B0 60F2                         bra     _ccp
  92                               
  93 00000084                              .bss
  94                                       .even
  95                               
  96 00000084                      dskuser: .ds.w  1
  97                                       .even
  98 00000086                      _submit: .ds.b  1
  99 00000088                              .even
  99 00000088                      
 100 00000088                      _morecmds: .ds.b 1
 101 0000008A                              .even
 101 0000008A                      
 102 0000008A                      _patch  .ds.l   25
C P / M   6 8 0 0 0   A s s e m b l e r		Revision 02.03		Page   3
Source File: ccpif.s

 103 000000EE                              .end
C P / M   6 8 0 0 0   A s s e m b l e r		Revision 02.03		Page   4
Source File: ccpif.s

S y m b o l   T a b l e

TPAB      ******** EXT   _autorom  ******** EXT   _autost   00000000 BSS   _bdos     ******** EXT   
_bdosini  ******** EXT   _bios1    ******** EXT   _ccp      000000A4 TEXT  _init     ******** EXT   
_load68k  ******** EXT   _load_tb  ******** EXT   _load_tr  ******** EXT   _main     ******** EXT   
_morecmd  00000088 BSS   _patch    0000008A BSS   _submit   00000086 BSS   _usercmd  00000001 BSS   
ccpclear  00000032 TEXT  ccpstart  00000038 TEXT  copy      0000000C TEXT  cpm       00000000 TEXT  
dskuser   00000084 BSS   flags     ******** EXT   init_tbl  ******** EXT   stack     ******** EXT   
