                         .module smokden2.c
 0000                   .dbfile smokden2.c
                         .area text
                       ;  IX -> 0,x
 0000                 _SCI_isr::
 0000                   .dbfile C:\ICCTK\include/isrtk.h
 0000                   .dbfunc SCI_isr
 0000                   .dbline 40
                       ; /************************************************************************
                       ;  * Title        smokeden.c                                                  
                       ;  * Programmer   Sean Justice                            
                       ;  * Date         July 17,1999                                        
                       ;  * Version  1                                   
                       ;  *                                      
                       ;  * Description
                       ;  * Start by hit the rear bumper and then Denise will not do 
                       ;  * anything until she has detected smoke.
                       ;  *  
                       ;  *  Functions:
                       ;  *      detectsmoke() used to detect if the smoke detector 
                       ;  *      has detected any smoke
                       ;  *                              
                       ;  * Use Hyperterm with the following settings:                           
                       ;  *                                      
                       ;  *      COM1, 9600 Baud, 8 bits, No Parity, 1 Stop bit, No Flow         
                       ;  *      of Control, VT100 Terminal, WrapLines.              
                       ;  *                                  
                       ;  *Usage: Verify functionality of TALRIK's sensors.
                       ;  ************************************************************************/
                       ;  
                       ; /**************************** Includes **********************************/
                       ; 
                       ; #include <tkbase.h>
                       ; #include <stdio.h>
                       ; 
                       ; /************************ End of includes *******************************/
                       ; 
                       ; 
                       ; /*************************** Constants **********************************/
                       ; 
                       ; /*IR emitter output port driver, the output latch at address 0xffb9 */
                       ; #define IRE_OUT   *(unsigned char *)(0xffb9) 
                       ; 
                       ; /*Constant for driving all the 40KHz modulated IR emitters on when loaded into IRE_OUT */
                       ; #define IRE_ALL_ON 0xff 
                       ; 
                       ; /*Constant for turning all the 40KHz modulated IR emitters off when loaded into IRE_OUT */
                       ; #define IRE_ALL_OFF 0x00
 0000                 L2:
 0000 3B                rti
                       ;  IX -> 0,x
 0001                 _SPI_isr::
 0001                   .dbfunc SPI_isr
 0001                   .dbline 46
                       ; 
                       ; #define BUMPER_FUZZY 10
                       ; #define NOSMOKE 40
                       ; #define IRTHRESHOLD 110
                       ; #define FIRE 50
                       ;  
 0001                 L3:
 0001 3B                rti
                       ;  IX -> 0,x
 0002                 _PAIE_isr::
 0002                   .dbfunc PAIE_isr
 0002                   .dbline 52
                       ; /************************ End of Constants ******************************/
                       ; int rspeed = 0;
                       ; int lspeed = 0;
                       ; 
                       ; void detectsmoke(void);
                       ; void avoidobject(void);
 0002                 L4:
 0002 3B                rti
                       ;  IX -> 0,x
 0003                 _PAV_isr::
 0003                   .dbfunc PAV_isr
 0003                   .dbline 58
                       ; void righturn(void);
                       ; void lefturn(void);
                       ; void checkbump(void);
                       ; void firecheck(void);
                       ; 
                       ; void main(void)
 0003                 L5:
 0003 3B                rti
                       ;  IX -> 0,x
 0004                 _TOF_isr::
 0004                   .dbfunc TOF_isr
 0004                   .dbline 64
                       ; /****************************** Main ***********************************/
                       ; {
                       ;   unsigned int bl, cv, fb, rb;
                       ;   char clear[]= "\x1b\x5B\x32\x4A\x04";  /* clear screen */ 
                       ;   char place[]= "\x1b[1;1H";        /* Home cursor */
                       ; 
 0004                 L6:
 0004 3B                rti
                       ;  IX -> 0,x
 0005                 _TOC4_isr::
 0005                   .dbfunc TOC4_isr
 0005                   .dbline 76
                       ; 
                       ;   init_analog();
                       ;   init_motortk();
                       ;   init_clocktk();
                       ;   init_serial();
                       ; 
                       ;   IRE_OUT = IRE_ALL_ON;    /* Turns on all the 40KHz modulated IR emitters */
                       ; 
                       ;   printf("%s", clear);  /*clear screen*/
                       ;   printf("%s", place);  /*home cursor*/
                       ;   printf("Hit my ass to start me\n\n");
                       ;   
 0005                 L7:
 0005 3B                rti
                       ;  IX -> 0,x
 0006                 _TOC1_isr::
 0006                   .dbfunc TOC1_isr
 0006                   .dbline 94
                       ;   while (rear_bumper() < BUMPER_FUZZY);
                       ;   
                       ;   read_IR();
                       ;   
                       ;     
                       ;   printf("starting to look for smoke\n\n");
                       ;     
                       ;   
                       ;   
                       ;   detectsmoke();
                       ;   
                       ;   rspeed = lspeed = 100;
                       ;   motortk(RIGHT_MOTOR, rspeed);
                       ;   motortk(LEFT_MOTOR, lspeed);
                       ;   
                       ;   printf("Will start to look for the fire\n\n");
                       ;     
                       ;     wait(500);
 0006                 L8:
 0006 3B                rti
                       ;  IX -> 0,x
 0007                 _TIC3_isr::
 0007                   .dbfunc TIC3_isr
 0007                   .dbline 100
                       ; 
                       ;   printf("Starting to avoid objects\n");
                       ;   
                       ;   while (1)
                       ;   {
                       ;     avoidobject();
 0007                 L9:
 0007 3B                rti
                       ;  IX -> 0,x
 0008                 _TIC2_isr::
 0008                   .dbfunc TIC2_isr
 0008                   .dbline 106
                       ;     checkbump();
                       ;     firecheck();
                       ;   }
                       ;   
                       ; 
                       ; }
 0008                 L10:
 0008 3B                rti
                       ;  IX -> 0,x
 0009                 _TIC1_isr::
 0009                   .dbfunc TIC1_isr
 0009                   .dbline 112
                       ; 
                       ; /**************************** End of Main ******************************/
                       ; 
                       ; void detectsmoke(void)
                       ; {
                       ;     read_IR();
 0009                 L11:
 0009 3B                rti
                       ;  IX -> 0,x
 000A                 _RTI_isr::
 000A                   .dbfunc RTI_isr
 000A                   .dbline 118
                       ;     
                       ;     while (IRDT[IR5clk] < NOSMOKE)
                       ;         {
                       ;             read_IR();
                       ;             wait(10);
                       ;         }
 000A                 L12:
 000A 3B                rti
                       ;  IX -> 0,x
 000B                 _IRQ_isr::
 000B                   .dbfunc IRQ_isr
 000B                   .dbline 124
                       ;     printf("I have found smoke\n");
                       ; }
                       ; 
                       ; void avoidobject(void)
                       ; {
                       ;          
 000B                 L13:
 000B 3B                rti
                       ;  IX -> 0,x
 000C                 _XIRQ_isr::
 000C                   .dbfunc XIRQ_isr
 000C                   .dbline 130
                       ;     
                       ;         read_IR();
                       ;         rspeed = lspeed = 100;
                       ;         motortk(RIGHT_MOTOR, rspeed);
                       ;         motortk(LEFT_MOTOR, lspeed);
                       ;         
 000C                 L14:
 000C 3B                rti
                       ;  IX -> 0,x
 000D                 _SWI_isr::
 000D                   .dbfunc SWI_isr
 000D                   .dbline 136
                       ;         if ((IRDT[IR1clk] > IRTHRESHOLD) || (IRDT[IR2clk] > IRTHRESHOLD))
                       ;             {
                       ;                 printf("Object to my right, so\n");
                       ;                 printf("I will avoid it\n\n");
                       ;                 righturn();             
                       ;             }
 000D                 L15:
 000D 3B                rti
                       ;  IX -> 0,x
 000E                 _ILLOP_isr::
 000E                   .dbfunc ILLOP_isr
 000E                   .dbline 142
                       ;         
                       ;          else if ((IRDT[IR4clk] > IRTHRESHOLD) || (IRDT[IR3clk] > IRTHRESHOLD))
                       ;      
                       ;             {
                       ;                 printf("Object to my left, so\n");
                       ;                 printf("I will avoid it\n\n");
 000E                 L16:
 000E 3B                rti
                       ;  IX -> 0,x
 000F                 _COP_isr::
 000F                   .dbfunc COP_isr
 000F                   .dbline 148
                       ;                 lefturn();  
                       ;             }
                       ;      
                       ; }
                       ; 
                       ; void righturn(void)
 000F                 L17:
 000F 3B                rti
                       ;  IX -> 0,x
 0010                 _CLMON_isr::
 0010                   .dbfunc CLMON_isr
 0010                   .dbline 154
                       ; {
                       ;     printf("Turning right.\n");
                       ;     rspeed = -100;
                       ;     lspeed = 100;
                       ;     motortk(RIGHT_MOTOR, rspeed);
                       ;     motortk(LEFT_MOTOR, lspeed);
 0010                 L18:
 0010 3B                rti
                         .area data
 0000                 _drew::
 0000                   .blkw 1
                         .area idata
 0000 0000              .word _interrupt_vectors
                         .area data
 0002                 _rspeed::
 0002                   .blkb 2
                         .area idata
 0002 0000              .word 0
                         .area data
 0004                 _lspeed::
 0004                   .blkb 2
                         .area idata
 0004 0000              .word 0
                         .area text
 0011                 L20:
 0011 1B5B324A0400      .byte 27,91,50,'J,4,0
 0017                 L21:
 0017 1B5B313B314800    .byte 27,91,49,59,49,'H,0
                       ;  IX -> 0,x
                       ;             rb -> 3,x
                       ;             fb -> 5,x
                       ;             cv -> 7,x
                       ;             bl -> 9,x
                       ;          place -> 11,x
                       ;          clear -> 18,x
 001E                 _main::
 001E BD0000            jsr __enterb
 0021 18                .byte 0x18
 0022                   .dbfile smokden2.c
 0022                   .dbfunc main
 0022                   .dbline 62
 0022 EC00              ldd 0,x
 0024 C30012            addd #18
 0027 18CE0011          ldy #L20
 002B 3C                pshx
 002C 8F                xgdx
 002D CC0006            ldd #6
 0030 BD0000            jsr __asgnblk
 0033 38                pulx
 0034                   .dbline 63
 0034 EC00              ldd 0,x
 0036 C3000B            addd #11
 0039 18CE0017          ldy #L21
 003D 3C                pshx
 003E 8F                xgdx
 003F CC0007            ldd #7
 0042 BD0000            jsr __asgnblk
 0045 38                pulx
 0046                   .dbline 66
 0046 BD0000            jsr _init_analog
 0049                   .dbline 67
 0049 BD0000            jsr _init_motortk
 004C                   .dbline 68
 004C BD0000            jsr _init_clocktk
 004F                   .dbline 69
 004F BD0000            jsr _init_serial
 0052                   .dbline 71
 0052 C6FF              ldab #255
 0054 F7FFB9            stab 0xffb9
 0057                   .dbline 73
 0057 EC00              ldd 0,x
 0059 C30012            addd #18
 005C 37                pshb
 005D 36                psha
 005E CC03DF            ldd #L22
 0061 BD0000            jsr _printf
 0064 1838              puly
 0066                   .dbline 74
 0066 EC00              ldd 0,x
 0068 C3000B            addd #11
 006B 37                pshb
 006C 36                psha
 006D CC03DF            ldd #L22
 0070 BD0000            jsr _printf
 0073 1838              puly
 0075                   .dbline 75
 0075 CC03C6            ldd #L23
 0078 BD0000            jsr _printf
 007B                 L24:
 007B                   .dbline 77
 007B                 L25:
 007B BD0000            jsr _rear_bumper
 007E 1A83000A          cpd #10
 0082 25F7              blo L24
 0084                   .dbline 79
 0084 BD0000            jsr _read_IR
 0087                   .dbline 82
 0087 CC03A9            ldd #L27
 008A BD0000            jsr _printf
 008D                   .dbline 86
 008D BD00DD            jsr _detectsmoke
 0090                   .dbline 88
 0090 CC0064            ldd #100
 0093 FD0004            std _lspeed
 0096 CC0064            ldd #100
 0099 FD0002            std _rspeed
 009C                   .dbline 89
 009C FC0002            ldd _rspeed
 009F 37                pshb
 00A0 36                psha
 00A1 CC0001            ldd #1
 00A4 BD0000            jsr _motortk
 00A7 1838              puly
 00A9                   .dbline 90
 00A9 FC0004            ldd _lspeed
 00AC 37                pshb
 00AD 36                psha
 00AE CC0000            ldd #0
 00B1 BD0000            jsr _motortk
 00B4 1838              puly
 00B6                   .dbline 92
 00B6 CC0387            ldd #L28
 00B9 BD0000            jsr _printf
 00BC                   .dbline 94
 00BC CC01F4            ldd #500
 00BF BD0000            jsr _wait
 00C2                   .dbline 96
 00C2 CC036C            ldd #L29
 00C5 BD0000            jsr _printf
 00C8 2009              bra L31
 00CA                 L30:
 00CA                   .dbline 100
 00CA BD00FB            jsr _avoidobject
 00CD                   .dbline 101
 00CD BD0203            jsr _checkbump
 00D0                   .dbline 102
 00D0 BD0282            jsr _firecheck
 00D3                   .dbline 103
 00D3                 L31:
 00D3                   .dbline 98
 00D3 20F5              bra L30
 00D5                 L19:
 00D5 8F                xgdx
 00D6 C30018            addd #24
 00D9 8F                xgdx
 00DA 35                txs
 00DB 38                pulx
 00DC 39                rts
                       ;  IX -> 0,x
 00DD                 _detectsmoke::
 00DD                   .dbfunc detectsmoke
 00DD                   .dbline 112
 00DD BD0000            jsr _read_IR
 00E0 2009              bra L35
 00E2                 L34:
 00E2                   .dbline 116
 00E2 BD0000            jsr _read_IR
 00E5                   .dbline 117
 00E5 CC000A            ldd #10
 00E8 BD0000            jsr _wait
 00EB                   .dbline 118
 00EB                 L35:
 00EB                   .dbline 114
 00EB FC0010            ldd _IRDT+16
 00EE 1A830028          cpd #40
 00F2 25EE              blo L34
 00F4                   .dbline 119
 00F4 CC0358            ldd #L38
 00F7 BD0000            jsr _printf
 00FA                   .dbline 120
 00FA                 L33:
 00FA 39                rts
                       ;  IX -> 0,x
 00FB                 _avoidobject::
 00FB                   .dbfunc avoidobject
 00FB                   .dbline 126
 00FB BD0000            jsr _read_IR
 00FE                   .dbline 127
 00FE CC0064            ldd #100
 0101 FD0004            std _lspeed
 0104 CC0064            ldd #100
 0107 FD0002            std _rspeed
 010A                   .dbline 128
 010A FC0002            ldd _rspeed
 010D 37                pshb
 010E 36                psha
 010F CC0001            ldd #1
 0112 BD0000            jsr _motortk
 0115 1838              puly
 0117                   .dbline 129
 0117 FC0004            ldd _lspeed
 011A 37                pshb
 011B 36                psha
 011C CC0000            ldd #0
 011F BD0000            jsr _motortk
 0122 1838              puly
 0124                   .dbline 131
 0124 FC0008            ldd _IRDT+8
 0127 1A83006E          cpd #110
 012B 2209              bhi L43
 012D FC0000            ldd _IRDT
 0130 1A83006E          cpd #110
 0134 2311              bls L40
 0136                 L43:
 0136                   .dbline 133
 0136 CC0340            ldd #L44
 0139 BD0000            jsr _printf
 013C                   .dbline 134
 013C CC032E            ldd #L45
 013F BD0000            jsr _printf
 0142                   .dbline 135
 0142 BD0169            jsr _righturn
 0145                   .dbline 136
 0145 2021              bra L41
 0147                 L40:
 0147                   .dbline 138
 0147 FC000E            ldd _IRDT+14
 014A 1A83006E          cpd #110
 014E 2209              bhi L50
 0150 FC000C            ldd _IRDT+12
 0153 1A83006E          cpd #110
 0157 230F              bls L46
 0159                 L50:
 0159                   .dbline 141
 0159 CC0317            ldd #L51
 015C BD0000            jsr _printf
 015F                   .dbline 142
 015F CC032E            ldd #L45
 0162 BD0000            jsr _printf
 0165                   .dbline 143
 0165 BD01B6            jsr _lefturn
 0168                   .dbline 144
 0168                 L46:
 0168                 L41:
 0168                   .dbline 146
 0168                 L39:
 0168 39                rts
                       ;  IX -> 0,x
 0169                 _righturn::
 0169                   .dbfunc righturn
 0169                   .dbline 150
 0169 CC0307            ldd #L53
 016C BD0000            jsr _printf
 016F                   .dbline 151
 016F CCFF9C            ldd #-100
 0172 FD0002            std _rspeed
 0175                   .dbline 152
 0175 CC0064            ldd #100
 0178 FD0004            std _lspeed
 017B                   .dbline 153
 017B FC0002            ldd _rspeed
 017E 37                pshb
 017F 36                psha
 0180 CC0001            ldd #1
 0183 BD0000            jsr _motortk
 0186 1838              puly
 0188                   .dbline 154
 0188 FC0004            ldd _lspeed
 018B 37                pshb
 018C 36                psha
 018D CC0000            ldd #0
 0190 BD0000            jsr _motortk
 0193 1838              puly
 0195 2006              bra L55
 0197                 L54:
 0197                   .dbline 157
 0197 BD0000            jsr _read_IR
 019A                   .dbline 158
 019A BD0282            jsr _firecheck
 019D                   .dbline 159
 019D                 L55:
 019D                   .dbline 155
                       ;     while ((IRDT[IR1clk] > IRTHRESHOLD) || (IRDT[IR2clk] > IRTHRESHOLD))
 019D FC0008            ldd _IRDT+8
 01A0 1A83006E          cpd #110
 01A4 22F1              bhi L54
 01A6 FC0000            ldd _IRDT
 01A9 1A83006E          cpd #110
 01AD 22E8              bhi L54
 01AF                   .dbline 160
                       ;     {
                       ;         read_IR();
                       ;         firecheck();
                       ;     }
                       ;     wait(300);
 01AF CC012C            ldd #300
 01B2 BD0000            jsr _wait
 01B5                   .dbline 161
                       ; }
 01B5                 L52:
 01B5 39                rts
                       ;  IX -> 0,x
 01B6                 _lefturn::
 01B6                   .dbfunc lefturn
 01B6                   .dbline 165
                       ; 
                       ; void lefturn(void)
                       ; {
                       ;     printf("Turning left.\n");
 01B6 CC02F8            ldd #L59
 01B9 BD0000            jsr _printf
 01BC                   .dbline 166
                       ;     rspeed = 100;
 01BC CC0064            ldd #100
 01BF FD0002            std _rspeed
 01C2                   .dbline 167
                       ;     lspeed = -100;
 01C2 CCFF9C            ldd #-100
 01C5 FD0004            std _lspeed
 01C8                   .dbline 168
                       ;     motortk(RIGHT_MOTOR, rspeed);
 01C8 FC0002            ldd _rspeed
 01CB 37                pshb
 01CC 36                psha
 01CD CC0001            ldd #1
 01D0 BD0000            jsr _motortk
 01D3 1838              puly
 01D5                   .dbline 169
                       ;     motortk(LEFT_MOTOR, lspeed);
 01D5 FC0004            ldd _lspeed
 01D8 37                pshb
 01D9 36                psha
 01DA CC0000            ldd #0
 01DD BD0000            jsr _motortk
 01E0 1838              puly
 01E2 2006              bra L61
 01E4                 L60:
 01E4                   .dbline 172
 01E4 BD0000            jsr _read_IR
 01E7                   .dbline 173
 01E7 BD0282            jsr _firecheck
 01EA                   .dbline 174
 01EA                 L61:
 01EA                   .dbline 170
                       ;     while ((IRDT[IR3clk] > IRTHRESHOLD) || (IRDT[IR4clk] > IRTHRESHOLD))
 01EA FC000C            ldd _IRDT+12
 01ED 1A83006E          cpd #110
 01F1 22F1              bhi L60
 01F3 FC000E            ldd _IRDT+14
 01F6 1A83006E          cpd #110
 01FA 22E8              bhi L60
 01FC                   .dbline 175
                       ;     {
                       ;         read_IR();
                       ;         firecheck();
                       ;     }
                       ;     wait(300);
 01FC CC012C            ldd #300
 01FF BD0000            jsr _wait
 0202                   .dbline 177
                       ;     
                       ; }
 0202                 L58:
 0202 39                rts
                       ;  IX -> 0,x
 0203                 _checkbump::
 0203                   .dbfunc checkbump
 0203                   .dbline 181
                       ; 
                       ; void checkbump(void)
                       ; {
                       ;     if (rear_bumper() > BUMPER_FUZZY)
 0203 BD0000            jsr _rear_bumper
 0206 1A83000A          cpd #10
 020A 2337              bls L66
 020C                   .dbline 183
                       ;         {
                       ;             printf("You hit my ass\n\n");
 020C CC02E7            ldd #L68
 020F BD0000            jsr _printf
 0212                   .dbline 184
                       ;             rspeed = lspeed = 50;
 0212 CC0032            ldd #50
 0215 FD0004            std _lspeed
 0218 CC0032            ldd #50
 021B FD0002            std _rspeed
 021E                   .dbline 185
                       ;             motortk(RIGHT_MOTOR, rspeed);
 021E FC0002            ldd _rspeed
 0221 37                pshb
 0222 36                psha
 0223 CC0001            ldd #1
 0226 BD0000            jsr _motortk
 0229 1838              puly
 022B                   .dbline 186
                       ;             motortk(LEFT_MOTOR, lspeed);
 022B FC0004            ldd _lspeed
 022E 37                pshb
 022F 36                psha
 0230 CC0000            ldd #0
 0233 BD0000            jsr _motortk
 0236 1838              puly
 0238                   .dbline 187
                       ;             wait(500);
 0238 CC01F4            ldd #500
 023B BD0000            jsr _wait
 023E                   .dbline 188
                       ;             righturn();
 023E BD0169            jsr _righturn
 0241                   .dbline 189
                       ;         }
 0241 203E              bra L67
 0243                 L66:
 0243                   .dbline 190
                       ;     else if (front_bumper() > BUMPER_FUZZY)
 0243 BD0000            jsr _front_bumper
 0246 1A83000A          cpd #10
 024A 2335              bls L69
 024C                   .dbline 192
                       ;         {
                       ;             printf("You hit my head\n\n");
 024C CC02D5            ldd #L71
 024F BD0000            jsr _printf
 0252                   .dbline 193
                       ;             rspeed = lspeed = -50;
 0252 CCFFCE            ldd #-50
 0255 FD0004            std _lspeed
 0258 CCFFCE            ldd #-50
 025B FD0002            std _rspeed
 025E                   .dbline 194
                       ;             motortk(RIGHT_MOTOR, rspeed);
 025E FC0002            ldd _rspeed
 0261 37                pshb
 0262 36                psha
 0263 CC0001            ldd #1
 0266 BD0000            jsr _motortk
 0269 1838              puly
 026B                   .dbline 195
                       ;             motortk(LEFT_MOTOR, lspeed);
 026B FC0004            ldd _lspeed
 026E 37                pshb
 026F 36                psha
 0270 CC0000            ldd #0
 0273 BD0000            jsr _motortk
 0276 1838              puly
 0278                   .dbline 196
                       ;             wait(500);
 0278 CC01F4            ldd #500
 027B BD0000            jsr _wait
 027E                   .dbline 197
                       ;             righturn();
 027E BD0169            jsr _righturn
 0281                   .dbline 198
                       ;         }
 0281                 L69:
 0281                 L67:
 0281                   .dbline 199
                       ; }
 0281                 L65:
 0281 39                rts
                       ;  IX -> 0,x
 0282                 _firecheck::
 0282                   .dbfunc firecheck
 0282                   .dbline 202
                       ; void firecheck(void)
                       ; {
                       ;     read_IR();
 0282 BD0000            jsr _read_IR
 0285                   .dbline 204
                       ;     
                       ;     if (IRDT[IR6clk] > FIRE)
 0285 FC000A            ldd _IRDT+10
 0288 1A830032          cpd #50
 028C 2332              bls L73
 028E                   .dbline 207
                       ;     {
                       ;         
                       ;         rspeed = lspeed = 0;
 028E CC0000            ldd #0
 0291 FD0004            std _lspeed
 0294 CC0000            ldd #0
 0297 FD0002            std _rspeed
 029A                   .dbline 208
                       ;         motortk(RIGHT_MOTOR, rspeed);
 029A FC0002            ldd _rspeed
 029D 37                pshb
 029E 36                psha
 029F CC0001            ldd #1
 02A2 BD0000            jsr _motortk
 02A5 1838              puly
 02A7                   .dbline 209
                       ;         motortk(LEFT_MOTOR, lspeed);
 02A7 FC0004            ldd _lspeed
 02AA 37                pshb
 02AB 36                psha
 02AC CC0000            ldd #0
 02AF BD0000            jsr _motortk
 02B2 1838              puly
 02B4                   .dbline 211
                       ;          
                       ;          printf("I have found fire\n\n");
 02B4 CC02C1            ldd #L76
 02B7 BD0000            jsr _printf
 02BA                   .dbline 213
                       ;          
                       ;          wait(1000);
 02BA CC03E8            ldd #1000
 02BD BD0000            jsr _wait
 02C0                   .dbline 214
                       ;     }
 02C0                 L73:
 02C0                   .dbline 215
                       ; }
 02C0                 L72:
 02C0 39                rts
 02C1                 L76:
 02C1 49206861766520666F756E6420666972  .byte 'I,32,'h,'a,'v,'e,32,'f,'o,'u,'n,'d,32,'f,'i,'r
 02D1 650A0A00          .byte 'e,10,10,0
 02D5                 L71:
 02D5 596F7520686974206D7920686561640A  .byte 'Y,'o,'u,32,'h,'i,'t,32,'m,'y,32,'h,'e,'a,'d,10
 02E5 0A00              .byte 10,0
 02E7                 L68:
 02E7 596F7520686974206D79206173730A0A  .byte 'Y,'o,'u,32,'h,'i,'t,32,'m,'y,32,'a,'s,'s,10,10
 02F7 00                .byte 0
 02F8                 L59:
 02F8 5475726E696E67206C6566742E0A00    .byte 'T,'u,'r,'n,'i,'n,'g,32,'l,'e,'f,'t,46,10,0
 0307                 L53:
 0307 5475726E696E672072696768742E0A00  .byte 'T,'u,'r,'n,'i,'n,'g,32,'r,'i,'g,'h,'t,46,10,0
 0317                 L51:
 0317 4F626A65637420746F206D79206C6566  .byte 'O,'b,'j,'e,'c,'t,32,'t,'o,32,'m,'y,32,'l,'e,'f
 0327 742C20736F0A00    .byte 't,44,32,'s,'o,10,0
 032E                 L45:
 032E 492077696C6C2061766F69642069740A  .byte 'I,32,'w,'i,'l,'l,32,'a,'v,'o,'i,'d,32,'i,'t,10
 033E 0A00              .byte 10,0
 0340                 L44:
 0340 4F626A65637420746F206D7920726967  .byte 'O,'b,'j,'e,'c,'t,32,'t,'o,32,'m,'y,32,'r,'i,'g
 0350 68742C20736F0A00  .byte 'h,'t,44,32,'s,'o,10,0
 0358                 L38:
 0358 49206861766520666F756E6420736D6F  .byte 'I,32,'h,'a,'v,'e,32,'f,'o,'u,'n,'d,32,'s,'m,'o
 0368 6B650A00          .byte 'k,'e,10,0
 036C                 L29:
 036C 5374617274696E6720746F2061766F69  .byte 'S,'t,'a,'r,'t,'i,'n,'g,32,'t,'o,32,'a,'v,'o,'i
 037C 64206F626A656374730A00    .byte 'd,32,'o,'b,'j,'e,'c,'t,'s,10,0
 0387                 L28:
 0387 57696C6C20737461727420746F206C6F  .byte 'W,'i,'l,'l,32,'s,'t,'a,'r,'t,32,'t,'o,32,'l,'o
 0397 6F6B20666F722074686520666972650A  .byte 'o,'k,32,'f,'o,'r,32,'t,'h,'e,32,'f,'i,'r,'e,10
 03A7 0A00              .byte 10,0
 03A9                 L27:
 03A9 7374617274696E6720746F206C6F6F6B  .byte 's,'t,'a,'r,'t,'i,'n,'g,32,'t,'o,32,'l,'o,'o,'k
 03B9 20666F7220736D6F6B650A0A00    .byte 32,'f,'o,'r,32,'s,'m,'o,'k,'e,10,10,0
 03C6                 L23:
 03C6 486974206D792061737320746F207374  .byte 'H,'i,'t,32,'m,'y,32,'a,'s,'s,32,'t,'o,32,'s,'t
 03D6 617274206D650A0A00    .byte 'a,'r,'t,32,'m,'e,10,10,0
 03DF                 L22:
 03DF 257300            .byte 37,'s,0
