;******************************************************************************
;*              Programm fr einen Infrarotsender, der den Scancode           *
;*              einer IBM-kompatiblen Tastatur sendet                         *
;*              F.Wohlrabe 17.02.98 Ver 1                                     *
;*              Taktfrequenz 10MHz = 1 Tc                                     *
;*              Version fr COP8782C                                          *
;******************************************************************************

.incld cop880.inc
.sect main,rom,abs=0

CODE		= 1
ASICHER         = 2
BSICHER         = 3
PSWSICHER	= 4
ZUSTAND		= 5
COPY            = 6
TASTE		= 7
TASTSTATUS	= 8
BACKUP		= 9
COUNT           = 0F0H
DIMMZAEHLER     = 0F1H
STATUS          = 0F2H          ;0 = Repeatcode 1 = gltige Taste, 4 = Shifttaste
BITCOUNT	= 0F3H
BITZAEHLER      = 0F4H
PARYZAEHLER     = 0F6H
OUTZAEHLER	= 0F7H
WARTEN1		= 0F8H
WARTEN2		= 0F9H
WARTEN3		= 0FAH

;G0	= Tastatur clock
;G1	= LED
;G2	=
;G3	= Modulation des Infrarotsignals
;G4	= Tastatur data

;************************************************
;*              Initialisierung                 *
;************************************************

KEYSENDER:
	LD      B,#0FDH         ;Clear Ram
RAM:    LD      [B],#0          ;
	DRSZ    B               ;
	JP      RAM             ;
	LD      0,#0            ;
LAU1:	DRSZ	BITZAEHLER	;Verz”gerung fr die Tastatur
	JP	LAU1		;
	DRSZ	PARYZAEHLER	;
	JP	LAU1		;
	LD      PORTLC,#0FFH    ;Alle L-Pins als Ausgang High
	LD      PORTLD,#0FFH    ;
	LD      PORTCC,#0FFH    ;Alle C-Pins als Ausgang low
	LD      PORTCD,#0       ;
	LD      PORTDD,#0       ;Alle D-Pins als Ausgang LOw
	LD      PORTGC,#B'00001010 ;G1, G3 Ausgang low
	LD      PORTGD,#B'01110100 ;
	LD      SP,#06FH        ;Stackpointer auf oberste Ramadresse
	LD      B,#TMRLO        ;Timer 1ms Interrupt mit Autoreload
	LD      [B+],#0E8H      ;
	LD      [B+],#3         ;
	LD      [B+],#0E8H      ;
	LD      [B+],#3         ;
	LD      [B+],#080H      ;CNTRL = 080H
	LD      [B],#011H       ;Enable Timer-Interrupt
				;Enable General-Interrupt
				;PSW = 011H
	LD	WARTEN3,#1	;
	JSR	KEYBOARDINIT	;CALL 'Keyboardinit'

;************************************************
;*              Hauptprogramm                   *
;************************************************

LOOP:                           ;DO FOREVER
	JSR	WARTEN		;   CALL 'Warten'
	JSR	LEDKETTE	;   CALL 'Ledkette'
	IFBIT	7,TASTSTATUS	;   IF Bit Info(7),Taststatus
	JSR     AUSGABE         ;   THEN CALL 'Ausgabe'
	JP      LOOP            ;   ENDIF
				;END DO FOREVER

;************************************************
;*		Tastatur einstellen		*
;************************************************

KEYBOARDINIT:			;
	SBIT	IEDG,CNTRL	;     Interrupt bei fallender Flanke
	RBIT	GIE,PSW		;     Alle Interrupts sperren
	LD	CODE,#0F0H	;     Scan-Code-Set Nr.3 ausw„hlen (1.Byte)
	JSR	SENDEN		;
	LD	CODE,#03	;     2.Byte von Scan-Code-Set Nr.3 senden
	JSR	SENDEN		;
	LD	CODE,#0F3H	;     Tastenwiederholung verlangsamen
	JSR	SENDEN		;
	LD	CODE,#B'01111111;
	JSR	SENDEN		;
	LD	CODE,#0EDH	;     Scroll Lock LED einschalten
	JSR	SENDEN		;
	LD	CODE,#01	;
	JSR	SENDEN		;
	LD	CODE,#0F9H	;     Keinen Break-Code fr Shift-Tasten
	JSR	SENDEN		;
	SBIT	ENI,PSW		;     Externen Interrupt erm”glichen
	RBIT	IPND,PSW	;     Pending Flag l”schen
	SBIT	GIE,PSW		;     Interrupts zulassen
	RET			;

.=0FFH
;************************************************
;*              Interrupt                       *
;************************************************

	X       A,ASICHER       ;
	LD      A,B             ;
	X       A,BSICHER       ;
	LD	A,PSW		;
	X	A,PSWSICHER	;
	IFBIT	IPND,PSW	;
	JP	EMPFANGEN	;
TIMEINT:RBIT    TPND,PSW        ;Pending Flag l”schen
;	SBIT	GIE,PSW		;Hierdurch wird ein externer Interrupt erm”glicht
	DRSZ    COUNT           ;Count = Count - 1
	JP      INT1            ;
				;IF Count = 0
	RBIT    4,CNTRL         ;THEN Timer ausschalten
				;ENDIF
INT1:	LD	A,PSWSICHER	;
	AND	A,#B'11010111	;
;	RBIT	7,PSW		;
;	RBIT	6,PSW		;
;	OR	A,PSW		;
	X	A,PSW		;
	LD      A,BSICHER       ;
	X       A,B             ;
	LD      A,ASICHER       ;
	RETI

;************************************************
;*		Von Tastatur empfangen		*
;************************************************

EMPFANGEN:
SBIT	5,PORTGD
E2:	IFBIT	0,PORTGP	;Startbit abwarten
	JP	E1		;
	JP	E2		;
E1:	RBIT	IPND,PSW	;Pending Flag l”schen
	RBIT	ENI,PSW		;Externen Interrupt sperren
	LD	BITCOUNT,#8	;
	CLRA			;
EM4:	JP	TIMEOUT		;
OK:	IFBIT	0,PORTGP	;Warten, bis Clock auf Low
	JP	EM4		;
;SBIT	5,PORTGD
	IFBIT	4,PORTGP	;Datenpegelabfrage
	JP	EM1		;
	JP	EM2		;
EM1:	SC			;
	JP	EM3		;
EM2:	RC			;
EM3:	RRCA			;
EM5:	IFBIT	0,PORTGP	;Warten, bis Clock auf High
	JP	EM6		;
	JP	EM5		;
EM6:
RBIT	5,PORTGD
	DRSZ	BITCOUNT	;
	JP	EM4		;
	IFBIT	7,TASTSTATUS	;IF NOT Bit Info(7),Taststatus
	JP	EME		;
	SBIT	7,TASTSTATUS	;THEN SBIT Info(7),Taststatus
	X	A,TASTE		;     Speicher Code in "Taste"
				;ENDIF
EME:	LD	BITCOUNT,#50	;
EMEE:	DRSZ	BITCOUNT	;Nachfolgende Bits abwarten
	JP	EMEE
	SBIT	ENI,PSW		;Externen Interrupt wieder zulassen
	RBIT	IPND,PSW	;
NOTOK:	LD	OUTZAEHLER,#0	;
	JP	INT1		;ENDIF

TIMEOUT:
	DRSZ	OUTZAEHLER
	JP	OK
	JP	NOTOK

;************************************************
;*		An Tastatur senden		*
;************************************************
;Der zu sendende Befehl wird im Register 'Code' bergeben

SENDEN:	LD	A,CODE		;'Code' in 'Backup' sichern
	X	A,BACKUP	;
	JSR	PARITYSENDER	;CALL 'Paritysender'
	LD	BITZAEHLER,#10	;Bitzaehler = 9
	SBIT	4,PORTGC	;G4 als Ausgang und Low
	RBIT	4,PORTGD	;
	IFBIT	4,TASTSTATUS	;IF Bit Parity(4),Taststatus
	JP	SE1		;
	JP	SE2		;
SE1:	SC			;THEN CARRY = 1
	JP	SE3A		;
SE2:	RC			;ELSE CARRY = 0
SE3A:				;ENDIF
	LD	A,CODE		;
SE3:	IFBIT	0,PORTGP	;Warten, bis Clockleitung auf Low
	JP	SE3		;
				;n„chstes Bit an G4 ausgeben, damit mit der
	RRC	A		;n„chsten steigenden Flanke der Wert ber-
	IFC			;nommen werden kann
	JP	SE4		;
	JP	SE5		;
SE4:	SBIT	4,PORTGD	;
	JP	SE6		;
SE5:	RBIT	4,PORTGD	;
SE6:	DRSZ	BITZAEHLER	;
	JP	SE7		;
	JP	SE8		;
SE7:	IFBIT	0,PORTGP	;Warten, bis G0 wieder auf High
	JP	SE3		;
	JP	SE7		;
SE8:	SBIT	4,PORTGD	;G4 als Eingang mit Pull-up
	RBIT	4,PORTGC	;
HIER:	IFBIT	0,PORTGP	;Line Control Bit abwarten
	JP	HIER		;
DA:	IFBIT	0,PORTGP	;
	JP	SENE		;
	JP	DA		;
SENE:	LD	BITZAEHLER,#20	;
SENEE:	DRSZ	BITZAEHLER	;
	JP	SENEE		;
	RET			;

;************************************************
;*	Parityberechnung fr Sendevorgang	*
;************************************************

PARITYSENDER:
	LD      PARYZAEHLER,#0	;Paryzaehler = 0
	LD      BITZAEHLER,#9   ;Bitzaehler = 9
	LD      A,BACKUP        ;
SA2:    DRSZ    BITZAEHLER     	;
	JP      SA3            	;
	JP      SA4            	;
SA3:	LD	A,BACKUP	;
        RC                     	;
	RRC     A               ;
	X	A,BACKUP	;
	IFNC                    ;
	JP      SA2            	;       
SA1:    LD	A,PARYZAEHLER  	;
	ADD	A,#1            ;
	X	A,PARYZAEHLER   ;
	JP	SA2		;
SA4:    IFBIT   0,PARYZAEHLER   ;IF Paryzaehler = ungerade
	JP	SA5		;
	JP	SA6		;
SA5:	RBIT	4,TASTSTATUS	;THEN Paritybit = 0
	JP	PARE		;
SA6:	SBIT	4,TASTSTATUS	;ELSE Paritybit = 1
PARE:	RET			;ENDIF

;************************************************
;*      Timer anschalten fr die Lowphase       *
;************************************************

TIMERONLOW:
	LD      B,#CNTRL
	SBIT    4,[B]           ;Timer anschalten
TION:   IFBIT   4,[B]           ;WAIT UNTIL Timer off
	JP      TION
	RET

;************************************************
;*      Berechnung des Paritybits               *
;************************************************
;Das Paritybit erg„nzt die Anzahl der Bits in 'Key' zu einer geraden Summe

PARITY: LD      PARYZAEHLER,#8  ;Paryzaehler = 8
	LD      BITZAEHLER,#8   ;Bitzaehler = 8
	LD      A,TASTE         ;
PA2:    DRSZ    BITZAEHLER      ;
	JP      PA3             ;
	JP      PA4             ;
PA3:    RC                      ;
	RRC     A               ;
	IFNC                    ;
	JP      PA2             ;       
PA1:    DRSZ      PARYZAEHLER   ;
	NOP                     ;
	JP      PA2             ;
PA4:    IFBIT   0,PARYZAEHLER   ;IF Paryzaehler = ungerade
	SBIT    7,TASTE         ;THEN SBIT 7,Taste
	RET                     ;ENDIF

;************************************************
;*              Ausgabe der Bits                *
;************************************************

AUSGABE:RBIT	ENI,PSW		;Externen Interrupt sperren
	RBIT	GIE,PSW		;
	SBIT	1,PORTGD	;LED aus
	SBIT	0,PORTGC	;G0 als Ausgang Low, um Tastatur zu sperren
	RBIT	0,PORTGD	;
	RBIT	7,TASTSTATUS	;RBIT Info(7),Taststatus
	LD	A,TASTE		;IF Taste = 084 (Minus-Taste auf Nummernblock)
	IFEQ	A,#084H		;
	LD	TASTE,#2	;THEN Taste = 2
				;ENDIF
	LD	A,TASTE		;
	IFGT	A,#07FH		;IF Taste > 7FH
	JP	STOPTRANS	;THEN RET
				;ENDIF
	JSR	PARITY		;CALL 'Parity'
	LD      BITZAEHLER,#9   ;Bitzaehler = 9
	JSR     BURST6          ;Ausgabe des Startbits von 6ms
	LD      COUNT,#6        ;Ausgabe der Lowphase 6ms 
	RBIT	IPND,PSW	;
	SBIT	GIE,PSW		;
AUS3:   JSR     TIMERONLOW      ;CALL 'Timeronlow'
	RC                      ;
AUS5:   DRSZ    BITZAEHLER      ;
	JP      AUS6            ;
	JSR     BURST2          ;CALL 'Burst2' -->2ms High (Stopbit)
AUS7:   LD      COUNT,#160      ;Warte 160 ms
	JSR     TIMERONLOW      ;
STOPTRANS:
	RBIT	1,PORTGD	;LED an
	RBIT	0,PORTGC	;G0 als Eingang ohne Pull up
	RBIT	0,PORTGD	;
	RBIT	IPND,PSW	;Pending Flag l”schen
	SBIT	ENI,PSW		;Externen Interrupt erm”glichen
	SBIT	GIE,PSW		;
	RET                     ;
AUS6:	LD	A,TASTE		;
	RRC     A               ;Rotate 'Taste' rechts ins Carry
	X	A,TASTE		;
	IFNC                    ;
	JP      NULLBIT         ;
EINSBIT:LD      COUNT,#4        ;Logisch 1:
	JP      AUS8            ;2ms High 4ms low
				;Logisch 0:
NULLBIT:LD      COUNT,#1        ;2ms High, 1ms low
AUS8:   JSR     BURST2          ;
	JSR     TIMERONLOW      ;
	JP      AUS5            ;

;************************************************
;*		Verz”gerungsschleife		*
;************************************************

WARTEN:	IFBIT	7,TASTSTATUS	;IF Bit Info(7),Taststatus
	JSR	AUSGABE		;THEN CALL 'Ausgabe'
	DRSZ	WARTEN1
	JP	WARTEN
	DRSZ	WARTEN2
	JP	WARTEN
	LD	WARTEN2,#80
WAEE:	RET	

;************************************************
;*	Ansteuern der LED's			*
;************************************************

LEDKETTE:
	LD	A,ZUSTAND
	IFEQ	A,#0
	LD	PORTLD,#07FH
	IFEQ	A,#1
	LD	PORTLD,#B'11111110
	IFEQ	A,#2
	LD	PORTLD,#B'11111100
	IFEQ	A,#3
	LD	PORTLD,#B'11111000
	IFEQ	A,#4
	LD	PORTLD,#B'11110000
	IFEQ	A,#5
	LD	PORTLD,#B'11100000
	IFEQ	A,#6
	LD	PORTLD,#B'11000000
	IFEQ	A,#7
	LD	PORTLD,#B'10000000
	ADD	A,#1
	X	A,ZUSTAND
	IFEQ	A,#7
	LD	ZUSTAND,#0
	RET

;************************************************
;*	SHIFT-Taste wurde gedrckt		*
;************************************************

SHIFTTASTE:
	IFBIT	4,STATUS	;
	JP	TAS5		;
	JP	TAS6		;
TAS5:	RBIT	4,STATUS	;     THEN Toggle Bit Shifttaste(4),Status
	RBIT	GIE,PSW		;          Interrupts sperren
	LD	CODE,#0EDH	;          Shift-LED ausschalten
	JSR	SENDEN		;
	LD	CODE,#03H	;
	JSR	SENDEN		;
	RBIT	IPND,PSW	;          Pending Flag l”schen
	SBIT	GIE,PSW		;
	JP	TASE		;          RET
TAS6:	SBIT	4,STATUS	;
	RBIT	GIE,PSW		;          Interrupts sperren
	LD	CODE,#0EDH	;          Shift-LED einschalten
	JSR	SENDEN		;
	LD	CODE,#07H	;
	JSR	SENDEN		;
	RBIT	IPND,PSW	;          Pending Flag l”schen
	SBIT	GIE,PSW		;
TASE:	RET     

;************************************************
;*              Burst-Ausgabe                   *
;************************************************
;6ms = 215 Bursts
;3ms = 107 Bursts
;2ms = 72 Bursts
;1ms = 36 Bursts

BURST6:
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
BURST2:	SBIT    3,PORTGD        ;72
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;71
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;70
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;69
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;68
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;67
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;66
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;65
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;64
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;63
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;62
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;61
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;60
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;59
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;58
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;57
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;56
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;55
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;54
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;53
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;52
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;51
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;50
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;49
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;48
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;47
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;46
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;45
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;44
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;43
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;42
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;41
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;40
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;39
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;38
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;37
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;36
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;35
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;34
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;33
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;32
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;31
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;30
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;29
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;28
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;27
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;26
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;25
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;24
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;23
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;22
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;21
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;20
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;19
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;18
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;17
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;16
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;15
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;14
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;13
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;12
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;11
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;10
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;9
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;8
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;7
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;6
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;5
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;4
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;3
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;2
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	SBIT    3,PORTGD        ;1
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;
	RBIT    3,PORTGD        ;
	LD	A,[X]		;
	LD	A,[X]		;
	LD	A,[X]		;
	NOP			;

	RET

       .END KEYSENDER
