#PIC V1.0 (c)1997 J.Petroglou	LIST FILE
#file: APPE_V3DM.ASM
#date: Mon Jun 12 21:16:58 2000
#pic : PIC16C84
ADDR CODE	 SRCLINE SOURCECODE

0000             000001 ;
0000             000002 ;  CREATED BY ACKMAN	APPE V3c.0
0000             000003 ;
0000             000004 ;  ADAPTADOR DE MANDO DE PSX PARA AMIGA CON EMULACION DE PAD CD32
0000             000005 ;  PROCESADOR PIC16F84/10 MHZ
0000             000006 ;
0000             000007 ;bug en la rutina de comunicacion con el pad solucionado...
0000             000008 ;
0000             000009 		DEVICE 16C84, XT_OSC, PROTECT_OFF, WDT_OFF
0000             000010 
0000             000011 ;  LITERALS
0000             000012 
0000             000013 ;  REGISTROS
0000             000014 TX_D		EQU	0X10	;CONTIENE EL BYTE A TRANSMITIR AL PAD PSX
0000             000015 OUT		EQU	0X11	;CONTIENE EL BYTE A PONER EN EL JOYSTIC DE AMIGA EN MODO NORMAL
0000             000016 FLAG		EQU	0X12	;REGISTRO DE FLAG INTERNOS DEL PROGRAMA
0000             000017 CONT3		EQU	0X13	;CONTADOR GENERICO 3
0000             000018 CONT2		EQU	0X14	;CONTADOR GENERICO 2
0000             000019 CONT1		EQU	0X15	;CONTADOR GENERICO 1
0000             000020 CD32TX		EQU	0X16	;CONTIENE EL DATO A TRANSMITIR AL AMIGA EN MODO CD32
0000             000021 BYTE2		EQU	0X17	;CONTIENE EL SEGUNDO BYTE UTIL RECIBIDO DEL PAD PSX
0000             000022 BYTE1		EQU	0X18	;CONTIENE EL PRIMER BYTE UTIL RECIBIDO DEL PAD PSX
0000             000023 BYTE		EQU	0X19	;CONTIENE EL BYTE QUE SE ESTA RECIBIENDO DEL PAD PSX
0000             000024 ALMACENS	EQU	0X1A	;CONTIENE EL VALOR DEL STATUS DURANTE LAS IRQ
0000             000025 ALMACENW	EQU	0X1B	;CONTIEN EL VALOR DE W DURANTE LAS IRQ
0000             000026 FIREVEL		EQU	0X1C	;CONTIEN LA VELOCIDAD DEL AUTOFIRE A MAS VALOR= MENOS VELOCIDAD
0000             000027 CD32TXB		EQU	0X1D 	;REGISTRO DE RESGUARDO DE VALOR A TRANSMITIR EN MODO CD32
0000             000028 
0000             000029 ; PORTA
0000             000030 DATA		EQU	0X00	;PIN 17		ENTRADA DE DATOS DEL PAD PSX
0000             000031 COMM		EQU	0X01	;PIN 18		SALIDA DE DATOS AL PAD PSX
0000             000032 CLK		EQU	0X02	;PIN 1		SALIDA DE SINCRONISMO AL PAD
0000             000033 ATT		EQU	0X03	;PIN 2		SALIDA DE ENABLE AL PAD, PARA LLAMAR SU ATENCION
0000             000034 ACK		EQU	0X04	;PIN 3		ENTRADA DE RECONOCIMIENTO DEL PAD
0000             000035 
0000             000036 ; PORTB				        MODO	NORMAL		CD32
0000             000037 FIRE2		EQU	0X00	;PIN 6		NO USE		ENABLE CD32
0000             000038 UP		EQU	0X01	;PIN 7		UP		--
0000             000039 LEFT		EQU	0X02	;PIN 8		LEFT		--	
0000             000040 DOWN		EQU	0X03	;PIN 9		DOWN		--
0000             000041 RIGHT		EQU	0X04	;PIN 10		RIGHT		--
0000             000042 FIRE1		EQU	0X05	;PIN 11		FIRE 1		DATA OUT
0000             000043 FIRE0		EQU	0X06	;PIN 12		FIRE 1		CLOCK IN
0000             000044 NCONN		EQU	0X07	;PIN 13		--		--	
0000             000045 							
0000             000046 
0000             000047 
0000             000048 ;
0000             000049 STATUS		EQU     3	; REGISTRO DE ESTADO
0000             000050 PORTA   	EQU     5	; REGISTRO DEL PUERTO A
0000             000051 PORTB   	EQU     6	; REGISTRO DEL PUERTO B
0000             000052 TRISA   	EQU     H'85'	; REGISTRO DE FUNCION PUERTO A 1=IN, 0=OUT
0000             000053 TRISB   	EQU     H'86'	; REGISTRO DE FUNCION PUERTO B 1=IN, 0=OUT
0000             000054 RP1     	EQU     6	; REGISTRO DE SELECCION DE BANCO, JUNTO CON RP0
0000             000055 RP0     	EQU     5	; IDEM RP1 00=B0, 01=B1, 10=B2, 11=B3
0000             000056 OPTION  	EQU     H'81'	; REGISTRO DE OPCIONES
0000             000057 INTCON		EQU	H'0B'	; REGISTRO DE ESTADO DE INTERRUPCIONES
0000             000058 Z		EQU	H'02'	; INDICADOR DE ZERO DE REGISTRO STATUS
0000             000059 C		EQU	H'00'	; INDICADOR DE ACARREO DE 8 BIT
0000             000060 DC		EQU	H'01'	; INDICADOR DE ACARREO DE LOS 4 BIT DE MENOS PESO
0000             000061 TMR0		EQU	H'01'	; REGISTRO DEL TEMPORIZADOR PRINCIPAL
0000             000062 ;**** BITS DEL REGISTRO DE OPCIONES OPTION
0000             000063 RBPU		EQU 	7	;BIT DE CONEXION DE CARGAS PULL-UP PORTB (1=QUITADAS)
0000             000064 INTEDG		EQU	6 	;TIPO DE FLANCO DE INTERRUPCION EXTERNA (1= ASCENDENTE)
0000             000065 T0CS 		EQU	5	;FUENTE DE RELOG PARA TMR0 (1=EXTERNO)
0000             000066 T0SE		EQU	4	;TIPO DE FLANCO PARA TMR0 (1=DESCENDENTE)
0000             000067 PSA		EQU	3	;ASIGNACION DEL DIVISOR (1=WDT; 0=TMR0)
0000             000068 PS2		EQU 	2	;VALOR DEL PREDIVISOR
0000             000069 PS1		EQU	1	;
0000             000070 PS0		EQU	0	;
0000             000071 ;**** BITS DEL REGISTRO DE INTERRUPCIONES INTCON
0000             000072 GIE		EQU	7	;BIT DE HABILITACION DE INTERRUPCIONES
0000             000073 PEIE		EQU	6	;BIT DE ACTIVACION DEL COMPARADOR
0000             000074 T0IE		EQU	5	;BIT ACTIVACION DE INTERRUPCION DE TMR0
0000             000075 INTE		EQU	4	;BIT ACTIVACION DE INTERRUPCION EXTERNA
0000             000076 RBIE		EQU	3	;BIT DE ACTIVACION DE PORTB
0000             000077 T0IF		EQU	2	;FLAG REBOSAMIENTO DE TMR0
0000             000078 INTF		EQU	1	;FLAG DE ESTADO INTERRUPCION EXTERNA
0000             000079 RBIF		EQU	0	;FLAG DE ESTADO INTERRUPCION PORTB
0000             000080 
0000 0000        000081 	NOP	
0001 2092        000082 	CALL	PUERTOS
0002 20A3        000083 	CALL	DEFECTO
0003 281F        000084 	GOTO	MAIN
0004             000085 
0004             000086 CD32OUT:			;RUTINA DE ATENCION A IRQ
0004 009B        000087 	MOVWF	ALMACENW	;GUARDA CONTENIDO DE W
0005 1683        000088 	BSF	STATUS,RP0	;PONE FIRE0 COMO ENTRADA
0006 1706        000089 	BSF	PORTB,FIRE0	;PONER FIRE0 COMO ENTRADA DE RELOG
0007 1283        000090 	BCF	STATUS,RP0
0008             000091 
0008 1806        000092 WCLKE: 	BTFSC	PORTB,FIRE2	;ESPERA A QUE LA LINEA DE RELOG ESTE A 1
0009 2816        000093 	GOTO	SALIR32		;Y COMPRUEBA QUE NO SE HAYA TERMINADO LA TRANSMISION
000A 1F06        000094 	BTFSS	PORTB,FIRE0
000B 2808        000095 	GOTO	WCLKE	
000C             000096 	
000C 1C16        000097 TX32A:	BTFSS	CD32TX,0
000D 1286        000098 	BCF	PORTB,FIRE1	;MANDA 0
000E 1816        000099 	BTFSC	CD32TX,0
000F 1686        000100 	BSF	PORTB,FIRE1	;MANDA 1
0010 0C96        000101 	RRF	CD32TX,F	;ROTA EL BYTE A MANDAR 
0011             000102 
0011 1806        000103 WCLKU:  BTFSC	PORTB,FIRE2	;ESPERA QUE LA LINEA DE RELOG ESTE A 0
0012 2816        000104 	GOTO	SALIR32
0013 1B06        000105 	BTFSC	PORTB,FIRE0
0014 2811        000106 	GOTO	WCLKU
0015 2808        000107         GOTO	WCLKE		;REPITE LA RUTINA
0016             000108 
0016             000109 SALIR32:
0016 1683        000110 	BSF	STATUS,RP0	;RESTABLECE F0 COMO SALIDA
0017 1306        000111 	BCF	PORTB,FIRE0
0018 1283        000112 	BCF	STATUS,RP0
0019             000113 ;	MOVF	OUT,W		;COLOCA LOS DATOS EN LA SALIDA COMO ANTES DE LA IRQ
0019             000114 ;	MOVWF	PORTB
0019 081D        000115 	MOVF	CD32TXB,W	;RESTABLECE EL REGISTRO CD32TX, POR SI SE PRODUCE OTRA IRQ TEMPRANA
001A 0096        000116 	MOVWF	CD32TX
001B 0E9B        000117 	SWAPF	ALMACENW,F	;RESTAURA EL VALOR DE W COMO ANTES DE LA IRQ
001C 0E1B        000118 	SWAPF	ALMACENW,W	;
001D 108B        000119 	BCF	INTCON,INTF	;BORRA EL FLAG DE INTERRUPCION EXTERNA
001E 0009        000120 	RETFIE
001F             000121 
001F             000122 MAIN:
001F 2027        000123 	CALL	PAD
0020 20B0        000124 	CALL	BIGDELAY
0021 20B0        000125 	CALL	BIGDELAY
0022 205C        000126 	CALL	JOYOUT
0023 20B0        000127 	CALL	BIGDELAY
0024 2075        000128 	CALL	PREP32
0025 20B0        000129 	CALL	BIGDELAY
0026 281F        000130 	GOTO	MAIN
0027             000131 
0027             000132 PAD:				;RUTINA DE LECTURA DE DATOS DEL PAD
0027 1185        000133 	BCF	PORTA,ATT	;LLAMA LA ATENCION DEL PAD
0028 20B0        000134 	CALL	BIGDELAY	;ESPERA UN POCO
0029 3001        000135 	MOVLW	0X01		;MANDA UN 01 AL PAD PARA RESETEARLO
002A 0090        000136 	MOVWF	TX_D
002B 203D        000137 	CALL	TX_RX
002C 20B0        000138 	CALL	BIGDELAY	;ESPERA OTRO POCO
002D 3042        000139 	MOVLW	0X42		;MANDA UN 42 PARA PEDIR LOS DATOS DEL PAD
002E 0090        000140 	MOVWF	TX_D
002F 203D        000141 	CALL	TX_RX		; SIMULTANEAMENTE SE RECIBE EL TIPO DE PAD CONECTADO
0030             000142 				; 0X41=PAD DIGITAL/ 0X23=NEGCOM/ 0X73=ANALOGICO ROJO
0030             000143 				; 0X53=ANALOGICO VERDE/ 0X23=RATON PSX
0030             000144 				;**** PROXIMAMENTE SE DEBERIA HACER  COMPATIBILIDAD*****
0030 20B0        000145 	CALL	BIGDELAY	;ESPERA UN POCO
0031 203D        000146 	CALL	TX_RX		; SE ENVIA UN DATO VACIO FF
0032             000147 				;SIMULTANEAMENTE SE RECIBE UN 0X5A INDICANDO QUE SE VA A TRANSMITIR
0032 20B0        000148 	CALL	BIGDELAY	;SE ESPERA OTRO POCO MAS
0033 203D        000149 	CALL	TX_RX		;SE RECIBE EL PRIMER BYTE UTIL
0034 0819        000150 	MOVF	BYTE,W
0035 0098        000151 	MOVWF	BYTE1		;Y SE GUARDA EN EL REGISTRO BYTE1
0036 20B0        000152 	CALL	BIGDELAY	;OTRA PAUSA
0037 203D        000153 	CALL	TX_RX		;SE RECIBE EL SEGUNDO BYTE UTIL
0038 0819        000154 	MOVF	BYTE,W
0039 0097        000155 	MOVWF	BYTE2		;Y SE GUARDA EN EL REGISTRO BYTE2
003A 20B0        000156 	CALL	BIGDELAY	;OTRA PEQUEÑA PAUSA
003B 1585        000157 	BSF	PORTA,ATT	;SE DEJA LIBRE EL PAD, SE LE LIBERA DE ATENCION
003C 0008        000158 	RETURN	
003D             000159 
003D             000160 
003D             000161 
003D             000162 
003D             000163 ; CRONOCGRAMA DEL PROTOCOLO PARA MANDAR Y RECIBIR UN BYTE 
003D             000164 ;        BIT0  BIT1  BIT2  BIT3  BIT4  BIT5  BIT6  BIT7
003D             000165 ;clock---___---___---___---___---___---___---___---___------------
003D             000166 ;data ---000000111111222222333333444444555555666666777777---------
003D             000167 ;           *     *     *     *     *     *     *     *
003D             000168 ;comm ---000000111111222222333333444444555555666666777777---------
003D             000169 ;ack  ------------------------------------------------------___---
003D             000170 ;        |-4µS-|
003D             000171 
003D             000172 TX_RX:				;RUTINA QUE TRANSMITE Y RECIBE SIMULTANEAMENTE UN BYTE AL PAD
003D 3008        000173 	MOVLW	0X08		;PONE EL NUMERO DE BIT A TRANSMITIR EN EL CONTADOR 3
003E 0093        000174 	MOVWF	CONT3
003F             000175 LOOP_1:
003F 1105        000176 	BCF	PORTA,CLK	;PONE A NIVEL BAJO LA LINEA DE RELOG
0040 1810        000177 	BTFSC	TX_D,0		;PONE EL VALOR ADECUADO EN LA LINEA COMM
0041 1485        000178 	BSF	PORTA,COMM
0042 1C10        000179 	BTFSS	TX_D,0
0043 1085        000180 	BCF	PORTA,COMM
0044 0C90        000181 	RRF	TX_D,F		;ROTA EL BYTE A MANDAR
0045 0C99        000182 	RRF	BYTE,F		;ROTA EL BYTE A RECIBIR
0046 0000        000183 	NOP			;ESPERA SIN HACER NADA AL MENOS 1.5 uS
0047 0000        000184 	NOP
0048 0000        000185 	NOP
0049 0000        000186 	NOP
004A 0000        000187 	NOP
004B 0000        000188 	NOP	
004C 1399        000189 	BCF	BYTE,7		
004D 1505        000190 	BSF	PORTA,CLK	;PONE A UNO LA LINEA DE RELOG
004E 1805        000191 	BTFSC	PORTA,DATA	;LEE EL DATO PRESENTE EN LA LINEA DATA
004F 1799        000192 	BSF	BYTE,7
0050             000193 ;	BSF	PORTA,CLK	;PONE A UNO LA LINEA DE RELOG
0050 0000        000194 	NOP			;ESPERA SI HACER NADA AL MENOS 1.5uD
0051 0000        000195 	NOP
0052 0000        000196 	NOP
0053 0000        000197 	NOP
0054 0000        000198 	NOP
0055 0000        000199 	NOP
0056             000200 
0056 0B93        000201 	DECFSZ	CONT3,F		;COMPRUEBA SI ERA EL ULTIMO BIT
0057 283F        000202 	GOTO	LOOP_1		;SI NO ES EL ULTIMO LEE EL SIGUIENTE
0058 30FF        000203 	MOVLW	0XFF		;SI ES EL ULTIMO CARGA FF EN EL REGISTRO A TRANSMITIR
0059 0090        000204 	MOVWF	TX_D
005A 1485        000205 	BSF	PORTA,COMM	;Y DEJA LA LINEA COMM A NIVEL ALTO
005B 0008        000206 	RETURN	
005C             000207 
005C             000208 
005C             000209 ;	CONTENIDO DE LOS BYTES TRANSMITIDOS POR EL PAD DIGITAL Y ANALOGICO ROJO
005C             000210 ;	BIT7	BIT6	BIT5	BIT4	BIT3	BIT2	BIT1	BIT0
005C             000211 ;BYTE1	IZQDA	ABAJO	DRCHA	ARRBA	STAR	-	-	SELECT
005C             000212 ;BITE2	(|_|)	(X)	(O)	(/\)	R1	L1	R2	L2
005C             000213 
005C             000214 
005C             000215 ;	CONTENIDO DEL BYTE DE TRANSMISION AL AMIGA EN MODO CD32
005C             000216 ;	BIT7	BIT6	BIT5	BIT4	BIT3	BIT2	BIT1	BIT0
005C             000217 ;CD32TX			PLAY	<<	>>	VERDE	AMRLL	ROJO
005C             000218 ;EQU			START	L1	R1	(|_|)	(/\)	(X)
005C             000219 
005C             000220 
005C             000221 
005C             000222 ;EL BOTON AZUL NO ES NECESARIO TRANSMITIRLO QUE EQUIVALE A (O)
005C             000223 
005C             000224 JOYOUT:
005C 30FF        000225 	MOVLW	0XFF
005D 0091        000226 	MOVWF	OUT
005E 1E18        000227 	BTFSS	BYTE1,4		;SI SE PULSA ARRIBA
005F 1091        000228 	BCF	OUT,UP
0060 1E98        000229 	BTFSS	BYTE1,5		;SI SE PULSA DERECHA
0061 1211        000230 	BCF	OUT,RIGHT
0062 1F18        000231 	BTFSS	BYTE1,6		;SI SE PULSA ABAJO
0063 1191        000232 	BCF	OUT,DOWN
0064 1F98        000233 	BTFSS	BYTE1,7		;SI SE PULSA IZQUIERDA
0065 1111        000234 	BCF	OUT,LEFT	
0066 1C97        000235 	BTFSS	BYTE2,1		;SI SE PULSA R2
0067 206F        000236 	CALL	AUTOFIRE
0068 1E97        000237 	BTFSS	BYTE2,5		;SI SE PULSA (O)
0069 1291        000238 	BCF	OUT,FIRE1
006A 1F17        000239 	BTFSS	BYTE2,6		;SI SE PULSA (X)
006B 1311        000240 	BCF	OUT,FIRE0
006C 0811        000241 	MOVF	OUT,W
006D 0086        000242 	MOVWF	PORTB
006E 0008        000243 	RETURN	
006F             000244 AUTOFIRE:
006F 0B9C        000245 	DECFSZ	FIREVEL,F
0070 0008        000246 	RETURN	
0071 1317        000247 	BCF	BYTE2,6
0072 3004        000248 	MOVLW	0X04		;ESTE VALOR AJUSTA LA VELOCIDAD DE AUTOFIRE -=+VEL
0073 009C        000249 	MOVWF	FIREVEL
0074 0008        000250 	RETURN	
0075             000251 
0075             000252 ;
0075             000253 PREP32:
0075             000254 	;RUTINA TRADUCTORA DE PSX A PROTOCOLO CD32
0075 1716        000255 	BSF	CD32TX,6
0076 1796        000256 	BSF	CD32TX,7
0077 1D98        000257 	BTFSS	BYTE1,3		;SI SE PULSA STAR
0078 1296        000258 	BCF	CD32TX,5	;EQUIVALE A PLAY/PAUSA
0079 1D17        000259 	BTFSS	BYTE2,2		;SI SE PULSA L1
007A 1216        000260 	BCF	CD32TX,4	;EQUVALE A <<
007B 1D97        000261 	BTFSS	BYTE2,3		;SI SE PULSA R1
007C 1196        000262 	BCF	CD32TX,3	;EQUVALE A >>
007D 1E17        000263 	BTFSS	BYTE2,4		;SI SE PULSA TRIANGULO
007E 1096        000264 	BCF	CD32TX,1	;EQUVALE A AMARILLO	
007F 1F97        000265 	BTFSS	BYTE2,7		;SI SE PULSA CUADRADO 
0080 1116        000266 	BCF     CD32TX,2        ;EQUIVALE A VERDE
0081 1F17        000267 	BTFSS	BYTE2,6		;SI SE PULSA (X)
0082 1016        000268 	BCF	CD32TX,0	;EQUIVALE A ROJO
0083 1998        000269 	BTFSC	BYTE1,3		;SI NO SE PULSA STAR
0084 1696        000270 	BSF	CD32TX,5	;EQUIVALE A PLAY/PAUSA
0085 1917        000271 	BTFSC	BYTE2,2		;SI NO SE PULSA L1
0086 1616        000272 	BSF	CD32TX,4	;EQUVALE A <<
0087 1997        000273 	BTFSC	BYTE2,3		;SI NO SE PULSA R1
0088 1596        000274 	BSF	CD32TX,3	;EQUVALE A >>
0089 1A17        000275 	BTFSC	BYTE2,4		;SI NO SE PULSA TRIANGULO
008A 1496        000276 	BSF	CD32TX,1	;EQUVALE A AMARILLO	
008B 1B97        000277 	BTFSC	BYTE2,7		;SI NO SE PULSA CUADRADO 
008C 1516        000278 	BSF     CD32TX,2        ;EQUIVALE A VERDE
008D 1B17        000279 	BTFSC	BYTE2,6		;SI NO SE PULSA (X)
008E 1416        000280 	BSF	CD32TX,0	;EQUIVALE A ROJO
008F 0816        000281 	MOVF	CD32TX,W
0090 009D        000282 	MOVWF	CD32TXB
0091 0008        000283 	RETURN
0092             000284 
0092             000285 PUERTOS:
0092             000286 	;ASIGNACION DE LAS PATILLAS DE I/O
0092             000287 
0092 1683        000288 	BSF	STATUS,RP0
0093 1405        000289 	BSF	PORTA,DATA
0094 1085        000290 	BCF	PORTA,COMM
0095 1105        000291 	BCF	PORTA,CLK
0096 1185        000292 	BCF	PORTA,ATT
0097 1306        000293 	BCF	PORTB,FIRE0
0098 1286        000294 	BCF	PORTB,FIRE1
0099 1406        000295 	BSF	PORTB,FIRE2
009A 1086        000296 	BCF	PORTB,UP
009B 1186        000297 	BCF	PORTB,DOWN
009C 1106        000298 	BCF	PORTB,LEFT
009D 1206        000299 	BCF	PORTB,RIGHT
009E 1301        000300 	BCF	OPTION,INTEDG
009F 1781        000301 	BSF	OPTION,RBPU
00A0 1606        000302 	BSF	PORTB,4		;PUESTA COMO SALIDA PERO NO USADA
00A1 1283        000303 	BCF	STATUS,RP0
00A2             000304 
00A2 0008        000305 	RETURN	
00A3             000306 
00A3             000307 DEFECTO:
00A3             000308 	;ASIGNACION DE VALORES POR DEFECTO A REGISTROS Y PATILLAS
00A3             000309 	;INICIALIZACION DE INTERRUPCIONES
00A3 1585        000310 	BSF	PORTA,ATT
00A4 1505        000311 	BSF	PORTA,CLK
00A5 1485        000312 	BSF	PORTA,COMM
00A6 3002        000313 	MOVLW	0X02
00A7 009C        000314 	MOVWF	FIREVEL
00A8 108B        000315 	BCF	INTCON,INTF
00A9 178B        000316 	BSF	INTCON,GIE
00AA 160B        000317 	BSF	INTCON,INTE
00AB             000318 
00AB 0008        000319 	RETURN	
00AC             000320 	
00AC             000321 DELAY:
00AC 0095        000322 	MOVWF	CONT1
00AD             000323 LOOP1:
00AD 0B95        000324 	DECFSZ	CONT1,F
00AE 28AD        000325 	GOTO	LOOP1
00AF 0008        000326 	RETURN	
00B0             000327 BIGDELAY:
00B0 300A        000328 	MOVLW	0X0A
00B1 0094        000329 	MOVWF	CONT2
00B2 300A        000330 	MOVLW	0X0A
00B3             000331 LOOP2:
00B3 20AC        000332 	CALL	DELAY
00B4 0B94        000333 	DECFSZ	CONT2,F
00B5 28B3        000334 	GOTO	LOOP2
00B6 0008        000335 	RETURN	
00B7             000336 	END


Used Symbols
-----------------------------------------
TX_D                             00000010
OUT                              00000011
FLAG                             00000012
CONT3                            00000013
CONT2                            00000014
CONT1                            00000015
CD32TX                           00000016
BYTE2                            00000017
BYTE1                            00000018
BYTE                             00000019
ALMACENS                         0000001A
ALMACENW                         0000001B
FIREVEL                          0000001C
CD32TXB                          0000001D
DATA                             00000000
COMM                             00000001
CLK                              00000002
ATT                              00000003
ACK                              00000004
FIRE2                            00000000
UP                               00000001
LEFT                             00000002
DOWN                             00000003
RIGHT                            00000004
FIRE1                            00000005
FIRE0                            00000006
NCONN                            00000007
STATUS                           00000003
PORTA                            00000005
PORTB                            00000006
TRISA                            00000085
TRISB                            00000086
RP1                              00000006
RP0                              00000005
OPTION                           00000081
INTCON                           0000000B
Z                                00000002
C                                00000000
DC                               00000001
TMR0                             00000001
RBPU                             00000007
INTEDG                           00000006
T0CS                             00000005
T0SE                             00000004
PSA                              00000003
PS2                              00000002
PS1                              00000001
PS0                              00000000
GIE                              00000007
PEIE                             00000006
T0IE                             00000005
INTE                             00000004
RBIE                             00000003
T0IF                             00000002
INTF                             00000001
RBIF                             00000000
CD32OUT                          00000004
WCLKE                            00000008
TX32A                            0000000C
WCLKU                            00000011
SALIR32                          00000016
MAIN                             0000001F
PAD                              00000027
TX_RX                            0000003D
LOOP_1                           0000003F
JOYOUT                           0000005C
AUTOFIRE                         0000006F
PREP32                           00000075
PUERTOS                          00000092
DEFECTO                          000000A3
DELAY                            000000AC
LOOP1                            000000AD
BIGDELAY                         000000B0
LOOP2                            000000B3


Used Defines
-----------------------------------------


PROGRAM MEMORY USAGE TABLE:	'-' = not used  'X' = used

0000 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX
0040 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX
0080 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXX---------
00C0 : ---------------- ---------------- ---------------- ----------------
0100 : ---------------- ---------------- ---------------- ----------------
0140 : ---------------- ---------------- ---------------- ----------------
0180 : ---------------- ---------------- ---------------- ----------------
01C0 : ---------------- ---------------- ---------------- ----------------
0200 : ---------------- ---------------- ---------------- ----------------
0240 : ---------------- ---------------- ---------------- ----------------
0280 : ---------------- ---------------- ---------------- ----------------
02C0 : ---------------- ---------------- ---------------- ----------------
0300 : ---------------- ---------------- ---------------- ----------------
0340 : ---------------- ---------------- ---------------- ----------------
0380 : ---------------- ---------------- ---------------- ----------------
03C0 : ---------------- ---------------- ---------------- ----------------

Program Memory Words Used:  0183
Program Memory Words Free:  0841

Errors: 0
