                         .module findemo2.c
 0000                   .dbfile findemo2.c
                         .area data
 0000                 _servo_limits::
 0000                   .blkb 2
                         .area idata
 0000 0258              .word 600
                         .area data
 0002                   .blkb 2
                         .area idata
 0002 12C0              .word 4800
                         .area data
 0004                   .blkb 2
                         .area idata
 0004 0258              .word 600
                         .area data
 0006                   .blkb 2
                         .area idata
 0006 12C0              .word 4800
                         .area data
 0008                   .blkb 2
                         .area idata
 0008 0258              .word 600
                         .area data
 000A                   .blkb 2
                         .area idata
 000A 12C0              .word 4800
                         .area data
 000C                   .blkb 2
                         .area idata
 000C 0258              .word 600
                         .area data
 000E                   .blkb 2
                         .area idata
 000E 12C0              .word 4800
                         .area data
 0010                   .blkb 2
                         .area idata
 0010 0258              .word 600
                         .area data
 0012                   .blkb 2
                         .area idata
 0012 12C0              .word 4800
                         .area data
 0014                 _srv_lim_default::
 0014                   .blkb 1
                         .area idata
 0014 01                .byte 1
                         .area text
                       ;  IX -> 0,x
 0000                 _SCI_isr::
 0000                   .dbfile C:\ICCME\include/isrdecl.h
 0000                   .dbfunc SCI_isr
 0000                   .dbline 41
                       ; /********************************************************
                       ; *                                                       *
                       ; * Title:       demotwo.c                                *
                       ; * Programmer:  Andrew Sinclair (from code by A. Arroyo) *
                       ; * Date:        27 July 2000                             *
                       ; * Version:     1.0                                      *
                       ; *                                                       *
                       ; * Description:                                          *
                       ; * A program for the MMPP robot to fire rocket engines.  *
                       ; *                                                       *
                       ; ********************************************************/
                       ; 
                       ; 
                       ; /******************** Includes *************************/
                       ; #include <analog.h>
                       ; #include <motorme.h>
                       ; #include <servome.h>
                       ; #include <clocktjp.h>
                       ; #include <isrdecl.h>
                       ; #include <vectors.h>
                       ; #include <stdio.h>
                       ; /***************** End of Includes *********************/
                       ; 
                       ; 
                       ; /******************** Constants ************************/
                       ; #define BUMPER analog(3)
                       ; /**************** End of Constants *********************/
                       ; 
                       ; void main(void)
                       ; /********************** Main ***************************/
                       ; {
                       ;  char mirror, mask;
                       ;     
                       ;  init_analog();
                       ;  init_clocktjp();
                       ;     
                       ;  *(unsigned char *) 0x7000=0x00; /*Turn off outputs*/
                       ;  mirror=0x00; /*Initialize mirror to same as outputs*/
                       ;     
                       ;  /*Load rockets*/
                       ;  /*Accelerate and then brake*/  
 0000                 L2:
 0000 3B                rti
                       ;  IX -> 0,x
 0001                 _SPI_isr::
 0001                   .dbfunc SPI_isr
 0001                   .dbline 47
                       ;  /*******************************************/
                       ;  while(BUMPER<120); /*Press the bumper to continue the program*/
                       ;  wait(10000); /*Wait time in ms*/
                       ;  
                       ;  /*Acceleration*/
                       ;  /*First Firing - bit 6*/
 0001                 L3:
 0001 3B                rti
                       ;  IX -> 0,x
 0002                 _PAIE_isr::
 0002                   .dbfunc PAIE_isr
 0002                   .dbline 53
                       ;  mask=0x40;
                       ;  mirror=mirror|mask;
                       ;  *(unsigned char *) 0x7000=mirror;
                       ; 
                       ;  wait(1000);
                       ; 
 0002                 L4:
 0002 3B                rti
                       ;  IX -> 0,x
 0003                 _PAV_isr::
 0003                   .dbfunc PAV_isr
 0003                   .dbline 59
                       ;  /*Second Firing - bit 3*/
                       ;  mask=0x08;
                       ;  mirror=mirror|mask;
                       ;  *(unsigned char *) 0x7000=mirror;
                       ; 
                       ;  wait(1000);
 0003                 L5:
 0003 3B                rti
                       ;  IX -> 0,x
 0004                 _TOF_isr::
 0004                   .dbfunc TOF_isr
 0004                   .dbline 65
                       ;  
                       ;  /*Braking - bit 4*/
                       ;  mask=0x10;
                       ;  mirror=mirror|mask;
                       ;  *(unsigned char *) 0x7000=mirror;
                       ; 
 0004                 L6:
 0004 3B                rti
                       ;  IX -> 0,x
 0005                 _TOC2_isr::
 0005                   .dbfunc TOC2_isr
 0005                   .dbline 83
                       ;  wait(3000);
                       ;  
                       ;  /*Turn off all bits*/
                       ;  mask=0x00;
                       ;  mirror=mirror&mask;
                       ;  *(unsigned char *) 0x7000=mirror;
                       ;  /*************End of Accel&Brake********************/
                       ; 
                       ;  /*Reload rockets*/
                       ;  /*Accelerate and turn*/
                       ;  /*******************************************/
                       ;  while(BUMPER<120);
                       ;  wait(10000);
                       ;  
                       ;  /*Acceleration*/
                       ;  mask=0x20;
                       ;  mirror=mirror|mask;
                       ;  *(unsigned char *) 0x7000=mirror;
 0005                 L7:
 0005 3B                rti
                       ;  IX -> 0,x
 0006                 _TOC3_isr::
 0006                   .dbfunc TOC3_isr
 0006                   .dbline 89
                       ;  
                       ;  wait(1000);
                       ;  
                       ;  /*Turn*/
                       ;  mask=0x80;
                       ;  mirror=mirror|mask;
 0006                 L8:
 0006 3B                rti
                       ;  IX -> 0,x
 0007                 _TIC3_isr::
 0007                   .dbfunc TIC3_isr
 0007                   .dbline 101
                       ;  *(unsigned char *) 0x7000=mirror;
                       ;  
                       ;  wait(3000);
                       ;  
                       ;  /*Turn off all bits*/
                       ;  mask=0x00;
                       ;  mirror=mirror&mask;
                       ;  *(unsigned char *) 0x7000=mirror;
                       ;  /*************End of Accel&Turn********************/
                       ;    
                       ; }
                       ; /******************* End of Main ***********************/
 0007                 L9:
 0007 3B                rti
                       ;  IX -> 0,x
 0008                 _TIC2_isr::
 0008                   .dbfunc TIC2_isr
 0008                   .dbline 107
                       ; /******************* End of Main ***********************/
                       ; /******************* End of Main ***********************/
                       ; /******************* End of Main ***********************/
                       ; /******************* End of Main ***********************/
                       ; /******************* End of Main ***********************/
                       ; /******************* End of Main ***********************/
 0008                 L10:
 0008 3B                rti
                       ;  IX -> 0,x
 0009                 _TIC1_isr::
 0009                   .dbfunc TIC1_isr
 0009                   .dbline 113
                       ; /******************* End of Main ***********************/
                       ; /******************* End of Main ***********************/
                       ; /******************* End of Main ***********************/
                       ; /******************* End of Main ***********************/
                       ; /******************* End of Main ***********************/
                       ; /******************* End of Main ***********************/
 0009                 L11:
 0009 3B                rti
                       ;  IX -> 0,x
 000A                 _RTI_isr::
 000A                   .dbfunc RTI_isr
 000A                   .dbline 119
                       ; /******************* End of Main ***********************/
                       ; /******************* End of Main ***********************/
                       ; /******************* End of Main ***********************/
                       ; /******************* End of Main ***********************/
                       ; /******************* End of Main ***********************/
                       ; /******************* End of Main ***********************/
 000A                 L12:
 000A 3B                rti
                       ;  IX -> 0,x
 000B                 _IRQ_isr::
 000B                   .dbfunc IRQ_isr
 000B                   .dbline 125
                       ; /******************* End of Main ***********************/
                       ; /******************* End of Main ***********************/
                       ; /******************* End of Main ***********************/
                       ; /******************* End of Main ***********************/
                       ; /******************* End of Main ***********************/
                       ; /******************* End of Main ***********************/
 000B                 L13:
 000B 3B                rti
                       ;  IX -> 0,x
 000C                 _XIRQ_isr::
 000C                   .dbfunc XIRQ_isr
 000C                   .dbline 131
                       ; /******************* End of Main ***********************/
                       ; /******************* End of Main ***********************/
                       ; /******************* End of Main ***********************/
                       ; /******************* End of Main ***********************/
                       ; /******************* End of Main ***********************/
                       ; /******************* End of Main ***********************/
 000C                 L14:
 000C 3B                rti
                       ;  IX -> 0,x
 000D                 _SWI_isr::
 000D                   .dbfunc SWI_isr
 000D                   .dbline 137
                       ; /******************* End of Main ***********************/
                       ; /******************* End of Main ***********************/
                       ; /******************* End of Main ***********************/
                       ; /******************* End of Main ***********************/
                       ; /******************* End of Main ***********************/
                       ; /******************* End of Main ***********************/
 000D                 L15:
 000D 3B                rti
                       ;  IX -> 0,x
 000E                 _ILLOP_isr::
 000E                   .dbfunc ILLOP_isr
 000E                   .dbline 143
                       ; /******************* End of Main ***********************/
                       ; /******************* End of Main ***********************/
                       ; /******************* End of Main ***********************/
                       ; /******************* End of Main ***********************/
                       ; /******************* End of Main ***********************/
                       ; /******************* End of Main ***********************/
 000E                 L16:
 000E 3B                rti
                       ;  IX -> 0,x
 000F                 _COP_isr::
 000F                   .dbfunc COP_isr
 000F                   .dbline 149
                       ; /******************* End of Main ***********************/
                       ; /******************* End of Main ***********************/
                       ; /******************* End of Main ***********************/
                       ; /******************* End of Main ***********************/
                       ; /******************* End of Main ***********************/
                       ; /******************* End of Main ***********************/
 000F                 L17:
 000F 3B                rti
                       ;  IX -> 0,x
 0010                 _CLMON_isr::
 0010                   .dbfunc CLMON_isr
 0010                   .dbline 155
                       ; /******************* End of Main ***********************/
                       ; /******************* End of Main ***********************/
                       ; /******************* End of Main ***********************/
                       ; /******************* End of Main ***********************/
                       ; /******************* End of Main ***********************/
                       ; /******************* End of Main ***********************/
 0010                 L18:
 0010 3B                rti
                         .area data
 0015                 _drew::
 0015                   .blkw 1
                         .area idata
 0015 0000              .word _interrupt_vectors
                         .area text
                       ;  IX -> 0,x
                       ;           mask -> 2,x
                       ;         mirror -> 3,x
 0011                 _main::
 0011 BD0000            jsr __enterb
 0014 04                .byte 0x4
 0015                   .dbfile findemo2.c
 0015                   .dbfunc main
 0015                   .dbline 34
 0015 BD0000            jsr _init_analog
 0018                   .dbline 35
 0018 BD0000            jsr _init_clocktjp
 001B                   .dbline 37
 001B 7F7000            clr 0x7000
 001E                   .dbline 38
 001E 6F03              clr 3,x
 0020                 L20:
 0020                   .dbline 43
 0020                 L21:
 0020 CC0003            ldd #3
 0023 BD0000            jsr _analog
 0026 1A830078          cpd #120
 002A 2DF4              blt L20
 002C                   .dbline 44
 002C CC2710            ldd #10000
 002F BD0000            jsr _wait
 0032                   .dbline 48
 0032 C640              ldab #64
 0034 E702              stab 2,x
 0036                   .dbline 49
 0036 E603              ldab 3,x
 0038 EA02              orab 2,x
 003A E703              stab 3,x
 003C                   .dbline 50
 003C E603              ldab 3,x
 003E F77000            stab 0x7000
 0041                   .dbline 52
 0041 CC03E8            ldd #1000
 0044 BD0000            jsr _wait
 0047                   .dbline 55
 0047 C608              ldab #8
 0049 E702              stab 2,x
 004B                   .dbline 56
 004B E603              ldab 3,x
 004D EA02              orab 2,x
 004F E703              stab 3,x
 0051                   .dbline 57
 0051 E603              ldab 3,x
 0053 F77000            stab 0x7000
 0056                   .dbline 59
 0056 CC03E8            ldd #1000
 0059 BD0000            jsr _wait
 005C                   .dbline 62
 005C C610              ldab #16
 005E E702              stab 2,x
 0060                   .dbline 63
 0060 E603              ldab 3,x
 0062 EA02              orab 2,x
 0064 E703              stab 3,x
 0066                   .dbline 64
 0066 E603              ldab 3,x
 0068 F77000            stab 0x7000
 006B                   .dbline 66
 006B CC0BB8            ldd #3000
 006E BD0000            jsr _wait
 0071                   .dbline 69
 0071 6F02              clr 2,x
 0073                   .dbline 70
 0073 E603              ldab 3,x
 0075 E402              andb 2,x
 0077 E703              stab 3,x
 0079                   .dbline 71
 0079 E603              ldab 3,x
 007B F77000            stab 0x7000
 007E                 L23:
 007E                   .dbline 77
 007E                 L24:
 007E CC0003            ldd #3
 0081 BD0000            jsr _analog
 0084 1A830078          cpd #120
 0088 2DF4              blt L23
 008A                   .dbline 78
 008A CC2710            ldd #10000
 008D BD0000            jsr _wait
 0090                   .dbline 81
 0090 C620              ldab #32
 0092 E702              stab 2,x
 0094                   .dbline 82
 0094 E603              ldab 3,x
 0096 EA02              orab 2,x
 0098 E703              stab 3,x
 009A                   .dbline 83
 009A E603              ldab 3,x
 009C F77000            stab 0x7000
 009F                   .dbline 85
 009F CC03E8            ldd #1000
 00A2 BD0000            jsr _wait
 00A5                   .dbline 88
 00A5 C680              ldab #128
 00A7 E702              stab 2,x
 00A9                   .dbline 89
 00A9 E603              ldab 3,x
 00AB EA02              orab 2,x
 00AD E703              stab 3,x
 00AF                   .dbline 90
 00AF E603              ldab 3,x
 00B1 F77000            stab 0x7000
 00B4                   .dbline 92
 00B4 CC0BB8            ldd #3000
 00B7 BD0000            jsr _wait
 00BA                   .dbline 95
 00BA 6F02              clr 2,x
 00BC                   .dbline 96
 00BC E603              ldab 3,x
 00BE E402              andb 2,x
 00C0 E703              stab 3,x
 00C2                   .dbline 97
 00C2 E603              ldab 3,x
 00C4 F77000            stab 0x7000
 00C7                   .dbline 100
 00C7                 L19:
 00C7 08                inx
 00C8 08                inx
 00C9 08                inx
 00CA 08                inx
 00CB 35                txs
 00CC 38                pulx
 00CD 39                rts
                         .area bss
 0000                 _timertjp::
 0000                   .blkb 2
 0002                 _days::
 0002                   .blkb 2
 0004                 _hours::
 0004                   .blkb 2
 0006                 _minutes::
 0006                   .blkb 2
 0008                 _seconds::
 0008                   .blkb 2
 000A                 _msec::
 000A                   .blkb 2
 000C                 _servo_width::
 000C                   .blkb 10
