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