
; PicBasic Pro Compiler 2.33, (c) 1998, 2001 microEngineering Labs, Inc. All Rights Reserved. 
PM_USED			EQU	1

	INCLUDE	"16F628.INC"

RAM_START       		EQU	00020h
RAM_END         		EQU	0014Fh
RAM_BANKS       		EQU	00003h
BANK0_START     		EQU	00020h
BANK0_END       		EQU	0007Fh
BANK1_START     		EQU	000A0h
BANK1_END       		EQU	000EFh
BANK2_START     		EQU	00120h
BANK2_END       		EQU	0014Fh
EEPROM_START    		EQU	02100h
EEPROM_END      		EQU	0217Fh

R0              		EQU	RAM_START + 000h
R1              		EQU	RAM_START + 002h
R2              		EQU	RAM_START + 004h
R3              		EQU	RAM_START + 006h
R4              		EQU	RAM_START + 008h
R5              		EQU	RAM_START + 00Ah
R6              		EQU	RAM_START + 00Ch
R7              		EQU	RAM_START + 00Eh
R8              		EQU	RAM_START + 010h
T1              		EQU	RAM_START + 012h
T2              		EQU	RAM_START + 014h
FLAGS           		EQU	RAM_START + 016h
GOP             		EQU	RAM_START + 017h
RM1             		EQU	RAM_START + 018h
RM2             		EQU	RAM_START + 019h
RR1             		EQU	RAM_START + 01Ah
RR2             		EQU	RAM_START + 01Bh
_element         		EQU	RAM_START + 01Ch
_command         		EQU	RAM_START + 01Eh
_dahtime         		EQU	RAM_START + 01Fh
_dittime         		EQU	RAM_START + 020h
_Keyflag         		EQU	RAM_START + 021h
_newchar         		EQU	RAM_START + 022h
_Nullflag        		EQU	RAM_START + 023h
_onemin          		EQU	RAM_START + 024h
_pointer         		EQU	RAM_START + 025h
_QRSS            		EQU	RAM_START + 026h
_QRSSflag        		EQU	RAM_START + 027h
_verify          		EQU	RAM_START + 028h
_verylong        		EQU	RAM_START + 029h
_X               		EQU	RAM_START + 02Ah
_PORTL           		EQU	PORTB
_PORTH           		EQU	PORTA
_TRISL           		EQU	TRISB
_TRISH           		EQU	TRISA
#define _trigger         	_PORTA_2
#define _program         	_PORTA_3
#define _Serial_in       	_PORTA_4
#define _PTT             	_PORTB_0
#define _Key             	_PORTB_1
#define _Serial_out      	_PORTB_2
#define _Sidetone        	_PORTB_3
#define _EL_pwr          	_PORTB_4
#define _Low_pwr         	_PORTB_5
#define _Med_pwr         	_PORTB_6
#define _High_pwr        	_PORTB_7
#define _PORTA_2         	PORTA, 002h
#define _PORTA_3         	PORTA, 003h
#define _PORTA_4         	PORTA, 004h
#define _PORTB_0         	PORTB, 000h
#define _PORTB_1         	PORTB, 001h
#define _PORTB_2         	PORTB, 002h
#define _PORTB_3         	PORTB, 003h
#define _PORTB_4         	PORTB, 004h
#define _PORTB_5         	PORTB, 005h
#define _PORTB_6         	PORTB, 006h
#define _PORTB_7         	PORTB, 007h

; EEPROM data.
	ORG EEPROM_START

	DE	050h
	DE	053h
	DE	044h
	DE	076h
	DE	076h
	DE	076h
	DE	053h
	DE	051h
	DE	053h
	DE	05Ah

	INCLUDE	"BEACON6.MAC"
	INCLUDE	"PBPPIC14.LIB"

	MOVE?CB	007h, CMCON
	MOVE?CB	01Ch, TRISA
	MOVE?CB	000h, TRISB
	MOVE?CW	03Ch, _element
	MOVE?CB	005h, _dittime
	MOVE?CB	00Fh, _dahtime
	MOVE?CB	003h, _QRSS
	MOVE?CB	000h, _Nullflag
	MOVE?CB	000h, _QRSSflag

	LABEL?L	_Start	
	CMPNE?TCL	_program, 001h, L00001
	GOTO?L	_main
	LABEL?L	L00001	
	SERPIN?T	_Serial_out
	SERMODE?C	006h
	SEROUT?C	00Dh
	SEROUT?C	00Ah
	MOVE?CB	000h, _pointer

	LABEL?L	_loopecho	
	READ?BB	_pointer, _command
	SERPIN?T	_Serial_out
	SERMODE?C	006h
	SEROUT?B	_command
	ADD?BCB	_pointer, 001h, _pointer
	CMPNE?BCL	_pointer, 07Fh, L00003
	GOTO?L	_doneecho
	LABEL?L	L00003	
	CMPNE?BCL	_command, 05Ah, L00005
	GOTO?L	_doneecho
	LABEL?L	L00005	
	GOTO?L	_loopecho

	LABEL?L	_doneecho	
	SERPIN?T	_Serial_out
	SERMODE?C	006h
	SEROUT?C	00Dh
	SEROUT?C	00Ah
	SERPIN?T	_Serial_out
	SERMODE?C	006h
	SEROUT?C	00Dh
	SEROUT?C	00Ah
	SEROUT?C	043h
	SEROUT?C	068h
	SEROUT?C	061h
	SEROUT?C	06Eh
	SEROUT?C	067h
	SEROUT?C	065h
	SEROUT?C	020h
	SEROUT?C	070h
	SEROUT?C	072h
	SEROUT?C	06Fh
	SEROUT?C	067h
	SEROUT?C	072h
	SEROUT?C	061h
	SEROUT?C	06Dh
	SEROUT?C	03Fh
	SEROUT?C	020h
	SEROUT?C	079h
	SEROUT?C	02Fh
	SEROUT?C	06Eh
	SEROUT?C	00Dh
	SEROUT?C	00Ah
	GOSUB?L	_send_y
	GOSUB?L	_question
	SERPIN?T	_Serial_in
	SERMODE?C	006h
	SERTIME?C	02710h
	SERIN?BL	_verify, _main
	CMPEQ?BCL	_verify, 079h, L00007
	GOTO?L	_main
	LABEL?L	L00007	
	SERPIN?T	_Serial_out
	SERMODE?C	006h
	SEROUT?C	00Dh
	SEROUT?C	00Ah
	SEROUT?C	045h
	SEROUT?C	06Eh
	SEROUT?C	074h
	SEROUT?C	065h
	SEROUT?C	072h
	SEROUT?C	020h
	SEROUT?C	06Eh
	SEROUT?C	065h
	SEROUT?C	077h
	SEROUT?C	020h
	SEROUT?C	070h
	SEROUT?C	072h
	SEROUT?C	06Fh
	SEROUT?C	067h
	SEROUT?C	072h
	SEROUT?C	061h
	SEROUT?C	06Dh
	SEROUT?C	020h
	SEROUT?C	066h
	SEROUT?C	06Fh
	SEROUT?C	06Ch
	SEROUT?C	06Ch
	SEROUT?C	06Fh
	SEROUT?C	077h
	SEROUT?C	065h
	SEROUT?C	064h
	SEROUT?C	020h
	SEROUT?C	062h
	SEROUT?C	079h
	SEROUT?C	020h
	SEROUT?C	05Ah
	SEROUT?C	02Eh
	SEROUT?C	00Dh
	SEROUT?C	00Ah
	GOSUB?L	_send_o
	GOSUB?L	_send_k
	MOVE?CB	000h, _pointer

	LABEL?L	_prog	
	SERPIN?T	_Serial_in
	SERMODE?C	006h
	SERIN?B	_newchar
	WRITE?BB	_pointer, _newchar
	SERPIN?T	_Serial_out
	SERMODE?C	006h
	SEROUT?B	_newchar
	CMPNE?BCL	_newchar, 05Ah, L00009
	GOTO?L	_main
	LABEL?L	L00009	
	ADD?BCB	_pointer, 001h, _pointer
	CMPNE?BCL	_pointer, 07Fh, L00011
	GOTO?L	_main
	LABEL?L	L00011	
	GOTO?L	_prog

	LABEL?L	_main	
	GOSUB?L	_HighP
	GOSUB?L	_Keyup
	MOVE?CB	000h, _pointer

	LABEL?L	_Loop	
	READ?BB	_pointer, _command
	CMPNE?BCL	_command, 061h, L00013
	GOSUB?L	_send_a
	LABEL?L	L00013	
	CMPNE?BCL	_command, 062h, L00015
	GOSUB?L	_send_b
	LABEL?L	L00015	
	CMPNE?BCL	_command, 063h, L00017
	GOSUB?L	_send_c
	LABEL?L	L00017	
	CMPNE?BCL	_command, 064h, L00019
	GOSUB?L	_send_d
	LABEL?L	L00019	
	CMPNE?BCL	_command, 065h, L00021
	GOSUB?L	_send_e
	LABEL?L	L00021	
	CMPNE?BCL	_command, 066h, L00023
	GOSUB?L	_send_f
	LABEL?L	L00023	
	CMPNE?BCL	_command, 067h, L00025
	GOSUB?L	_send_g
	LABEL?L	L00025	
	CMPNE?BCL	_command, 068h, L00027
	GOSUB?L	_send_h
	LABEL?L	L00027	
	CMPNE?BCL	_command, 069h, L00029
	GOSUB?L	_send_i
	LABEL?L	L00029	
	CMPNE?BCL	_command, 06Ah, L00031
	GOSUB?L	_send_j
	LABEL?L	L00031	
	CMPNE?BCL	_command, 06Bh, L00033
	GOSUB?L	_send_k
	LABEL?L	L00033	
	CMPNE?BCL	_command, 06Ch, L00035
	GOSUB?L	_send_l
	LABEL?L	L00035	
	CMPNE?BCL	_command, 06Dh, L00037
	GOSUB?L	_send_m
	LABEL?L	L00037	
	CMPNE?BCL	_command, 06Eh, L00039
	GOSUB?L	_send_n
	LABEL?L	L00039	
	CMPNE?BCL	_command, 06Fh, L00041
	GOSUB?L	_send_o
	LABEL?L	L00041	
	CMPNE?BCL	_command, 070h, L00043
	GOSUB?L	_send_p
	LABEL?L	L00043	
	CMPNE?BCL	_command, 071h, L00045
	GOSUB?L	_send_q
	LABEL?L	L00045	
	CMPNE?BCL	_command, 072h, L00047
	GOSUB?L	_send_r
	LABEL?L	L00047	
	CMPNE?BCL	_command, 073h, L00049
	GOSUB?L	_send_s
	LABEL?L	L00049	
	CMPNE?BCL	_command, 074h, L00051
	GOSUB?L	_send_t
	LABEL?L	L00051	
	CMPNE?BCL	_command, 075h, L00053
	GOSUB?L	_send_u
	LABEL?L	L00053	
	CMPNE?BCL	_command, 076h, L00055
	GOSUB?L	_send_v
	LABEL?L	L00055	
	CMPNE?BCL	_command, 077h, L00057
	GOSUB?L	_send_w
	LABEL?L	L00057	
	CMPNE?BCL	_command, 078h, L00059
	GOSUB?L	_send_x
	LABEL?L	L00059	
	CMPNE?BCL	_command, 079h, L00061
	GOSUB?L	_send_y
	LABEL?L	L00061	
	CMPNE?BCL	_command, 07Ah, L00063
	GOSUB?L	_send_z
	LABEL?L	L00063	
	CMPNE?BCL	_command, 031h, L00065
	GOSUB?L	_send_1
	LABEL?L	L00065	
	CMPNE?BCL	_command, 032h, L00067
	GOSUB?L	_send_2
	LABEL?L	L00067	
	CMPNE?BCL	_command, 033h, L00069
	GOSUB?L	_send_3
	LABEL?L	L00069	
	CMPNE?BCL	_command, 034h, L00071
	GOSUB?L	_send_4
	LABEL?L	L00071	
	CMPNE?BCL	_command, 035h, L00073
	GOSUB?L	_send_5
	LABEL?L	L00073	
	CMPNE?BCL	_command, 036h, L00075
	GOSUB?L	_send_6
	LABEL?L	L00075	
	CMPNE?BCL	_command, 037h, L00077
	GOSUB?L	_send_7
	LABEL?L	L00077	
	CMPNE?BCL	_command, 038h, L00079
	GOSUB?L	_send_8
	LABEL?L	L00079	
	CMPNE?BCL	_command, 039h, L00081
	GOSUB?L	_send_9
	LABEL?L	L00081	
	CMPNE?BCL	_command, 030h, L00083
	GOSUB?L	_send_0
	LABEL?L	L00083	
	CMPNE?BCL	_command, 020h, L00085
	GOSUB?L	_space
	LABEL?L	L00085	
	CMPNE?BCL	_command, 02Fh, L00087
	GOSUB?L	_slash
	LABEL?L	L00087	
	CMPNE?BCL	_command, 02Eh, L00089
	GOSUB?L	_period
	LABEL?L	L00089	
	CMPNE?BCL	_command, 02Ch, L00091
	GOSUB?L	_comma
	LABEL?L	L00091	
	CMPNE?BCL	_command, 03Fh, L00093
	GOSUB?L	_question
	LABEL?L	L00093	
	CMPNE?BCL	_command, 03Dh, L00095
	GOSUB?L	_BT
	LABEL?L	L00095	
	CMPNE?BCL	_command, 02Bh, L00097
	GOSUB?L	_AR
	LABEL?L	L00097	
	CMPNE?BCL	_command, 026h, L00099
	GOSUB?L	_AS
	LABEL?L	L00099	
	CMPNE?BCL	_command, 028h, L00101
	GOSUB?L	_KN
	LABEL?L	L00101	
	CMPNE?BCL	_command, 02Ah, L00103
	GOSUB?L	_SK
	LABEL?L	L00103	
	CMPNE?BCL	_command, 040h, L00105
	GOSUB?L	_AT
	LABEL?L	L00105	
	CMPNE?BCL	_command, 041h, L00107
	GOSUB?L	_WPM5
	LABEL?L	L00107	
	CMPNE?BCL	_command, 042h, L00109
	GOSUB?L	_WPM10
	LABEL?L	L00109	
	CMPNE?BCL	_command, 043h, L00111
	GOSUB?L	_WPM15
	LABEL?L	L00111	
	CMPNE?BCL	_command, 044h, L00113
	GOSUB?L	_WPM21
	LABEL?L	L00113	
	CMPNE?BCL	_command, 045h, L00115
	GOSUB?L	_WPM52
	LABEL?L	L00115	
	CMPNE?BCL	_command, 046h, L00117
	GOSUB?L	_Five
	LABEL?L	L00117	
	CMPNE?BCL	_command, 048h, L00119
	GOSUB?L	_HighP
	LABEL?L	L00119	
	CMPNE?BCL	_command, 049h, L00121
	GOSUB?L	_QRSSoff
	LABEL?L	L00121	
	CMPNE?BCL	_command, 04Bh, L00123
	GOSUB?L	_Keydown
	LABEL?L	L00123	
	CMPNE?BCL	_command, 04Ch, L00125
	GOSUB?L	_LowP
	LABEL?L	L00125	
	CMPNE?BCL	_command, 04Dh, L00127
	GOSUB?L	_MediumP
	LABEL?L	L00127	
	CMPNE?BCL	_command, 04Eh, L00129
	GOSUB?L	_Null
	LABEL?L	L00129	
	CMPNE?BCL	_command, 04Fh, L00131
	GOSUB?L	_One
	LABEL?L	L00131	
	CMPNE?BCL	_command, 050h, L00133
	GOSUB?L	_PTTon
	LABEL?L	L00133	
	CMPNE?BCL	_command, 051h, L00135
	GOSUB?L	_PTToff
	LABEL?L	L00135	
	CMPNE?BCL	_command, 052h, L00137
	GOSUB?L	_QRSSon
	LABEL?L	L00137	
	CMPNE?BCL	_command, 053h, L00139
	GOSUB?L	_Second
	LABEL?L	L00139	
	CMPNE?BCL	_command, 054h, L00141
	GOSUB?L	_Tenth
	LABEL?L	L00141	
	CMPNE?BCL	_command, 055h, L00143
	GOSUB?L	_Keyup
	LABEL?L	L00143	
	CMPNE?BCL	_command, 056h, L00145
	GOSUB?L	_Very
	LABEL?L	L00145	
	CMPNE?BCL	_command, 057h, L00147
	GOSUB?L	_WaitTrig
	LABEL?L	L00147	
	CMPNE?BCL	_command, 058h, L00149
	GOSUB?L	_ExtraP
	LABEL?L	L00149	
	CMPNE?BCL	_command, 05Ah, L00151
	GOTO?L	_main
	LABEL?L	L00151	
	ADD?BCB	_pointer, 001h, _pointer
	CMPNE?BCL	_pointer, 07Fh, L00153
	GOTO?L	_main
	LABEL?L	L00153	
	GOTO?L	_Loop

	LABEL?L	_send_a	
	GOSUB?L	_dit
	GOSUB?L	_dah
	PAUSE?W	_element
	PAUSE?W	_element
	RETURN?	

	LABEL?L	_send_b	
	GOSUB?L	_dah
	GOSUB?L	_dit
	GOSUB?L	_dit
	GOSUB?L	_dit
	PAUSE?W	_element
	PAUSE?W	_element
	RETURN?	

	LABEL?L	_send_c	
	GOSUB?L	_dah
	GOSUB?L	_dit
	GOSUB?L	_dah
	GOSUB?L	_dit
	PAUSE?W	_element
	PAUSE?W	_element
	RETURN?	

	LABEL?L	_send_d	
	GOSUB?L	_dah
	GOSUB?L	_dit
	GOSUB?L	_dit
	PAUSE?W	_element
	PAUSE?W	_element
	RETURN?	

	LABEL?L	_send_e	
	GOSUB?L	_dit
	PAUSE?W	_element
	PAUSE?W	_element
	RETURN?	

	LABEL?L	_send_f	
	GOSUB?L	_dit
	GOSUB?L	_dit
	GOSUB?L	_dah
	GOSUB?L	_dit
	PAUSE?W	_element
	PAUSE?W	_element
	RETURN?	

	LABEL?L	_send_g	
	GOSUB?L	_dah
	GOSUB?L	_dah
	GOSUB?L	_dit
	PAUSE?W	_element
	PAUSE?W	_element
	RETURN?	

	LABEL?L	_send_h	
	GOSUB?L	_dit
	GOSUB?L	_dit
	GOSUB?L	_dit
	GOSUB?L	_dit
	PAUSE?W	_element
	PAUSE?W	_element
	RETURN?	

	LABEL?L	_send_i	
	GOSUB?L	_dit
	GOSUB?L	_dit
	PAUSE?W	_element
	PAUSE?W	_element
	RETURN?	

	LABEL?L	_send_j	
	GOSUB?L	_dit
	GOSUB?L	_dah
	GOSUB?L	_dah
	GOSUB?L	_dah
	PAUSE?W	_element
	PAUSE?W	_element
	RETURN?	

	LABEL?L	_send_k	
	GOSUB?L	_dah
	GOSUB?L	_dit
	GOSUB?L	_dah
	PAUSE?W	_element
	PAUSE?W	_element
	RETURN?	

	LABEL?L	_send_l	
	GOSUB?L	_dit
	GOSUB?L	_dah
	GOSUB?L	_dit
	GOSUB?L	_dit
	PAUSE?W	_element
	PAUSE?W	_element
	RETURN?	

	LABEL?L	_send_m	
	GOSUB?L	_dah
	GOSUB?L	_dah
	PAUSE?W	_element
	PAUSE?W	_element
	RETURN?	

	LABEL?L	_send_n	
	GOSUB?L	_dah
	GOSUB?L	_dit
	PAUSE?W	_element
	PAUSE?W	_element
	RETURN?	

	LABEL?L	_send_o	
	GOSUB?L	_dah
	GOSUB?L	_dah
	GOSUB?L	_dah
	PAUSE?W	_element
	PAUSE?W	_element
	RETURN?	

	LABEL?L	_send_p	
	GOSUB?L	_dit
	GOSUB?L	_dah
	GOSUB?L	_dah
	GOSUB?L	_dit
	PAUSE?W	_element
	PAUSE?W	_element
	RETURN?	

	LABEL?L	_send_q	
	GOSUB?L	_dah
	GOSUB?L	_dah
	GOSUB?L	_dit
	GOSUB?L	_dah
	PAUSE?W	_element
	PAUSE?W	_element
	RETURN?	

	LABEL?L	_send_r	
	GOSUB?L	_dit
	GOSUB?L	_dah
	GOSUB?L	_dit
	PAUSE?W	_element
	PAUSE?W	_element
	RETURN?	

	LABEL?L	_send_s	
	GOSUB?L	_dit
	GOSUB?L	_dit
	GOSUB?L	_dit
	PAUSE?W	_element
	PAUSE?W	_element
	RETURN?	

	LABEL?L	_send_t	
	GOSUB?L	_dah
	PAUSE?W	_element
	PAUSE?W	_element
	RETURN?	

	LABEL?L	_send_u	
	GOSUB?L	_dit
	GOSUB?L	_dit
	GOSUB?L	_dah
	PAUSE?W	_element
	PAUSE?W	_element
	RETURN?	

	LABEL?L	_send_v	
	GOSUB?L	_dit
	GOSUB?L	_dit
	GOSUB?L	_dit
	GOSUB?L	_dah
	PAUSE?W	_element
	PAUSE?W	_element
	RETURN?	

	LABEL?L	_send_w	
	GOSUB?L	_dit
	GOSUB?L	_dah
	GOSUB?L	_dah
	PAUSE?W	_element
	PAUSE?W	_element
	RETURN?	

	LABEL?L	_send_x	
	GOSUB?L	_dah
	GOSUB?L	_dit
	GOSUB?L	_dit
	GOSUB?L	_dah
	PAUSE?W	_element
	PAUSE?W	_element
	RETURN?	

	LABEL?L	_send_y	
	GOSUB?L	_dah
	GOSUB?L	_dit
	GOSUB?L	_dah
	GOSUB?L	_dah
	PAUSE?W	_element
	PAUSE?W	_element
	RETURN?	

	LABEL?L	_send_z	
	GOSUB?L	_dah
	GOSUB?L	_dah
	GOSUB?L	_dit
	GOSUB?L	_dit
	PAUSE?W	_element
	PAUSE?W	_element
	RETURN?	

	LABEL?L	_send_1	
	GOSUB?L	_dit
	GOSUB?L	_dah
	GOSUB?L	_dah
	GOSUB?L	_dah
	GOSUB?L	_dah
	PAUSE?W	_element
	PAUSE?W	_element
	RETURN?	

	LABEL?L	_send_2	
	GOSUB?L	_dit
	GOSUB?L	_dit
	GOSUB?L	_dah
	GOSUB?L	_dah
	GOSUB?L	_dah
	PAUSE?W	_element
	PAUSE?W	_element
	RETURN?	

	LABEL?L	_send_3	
	GOSUB?L	_dit
	GOSUB?L	_dit
	GOSUB?L	_dit
	GOSUB?L	_dah
	GOSUB?L	_dah
	PAUSE?W	_element
	PAUSE?W	_element
	RETURN?	

	LABEL?L	_send_4	
	GOSUB?L	_dit
	GOSUB?L	_dit
	GOSUB?L	_dit
	GOSUB?L	_dit
	GOSUB?L	_dah
	PAUSE?W	_element
	PAUSE?W	_element
	RETURN?	

	LABEL?L	_send_5	
	GOSUB?L	_dit
	GOSUB?L	_dit
	GOSUB?L	_dit
	GOSUB?L	_dit
	GOSUB?L	_dit
	PAUSE?W	_element
	PAUSE?W	_element
	RETURN?	

	LABEL?L	_send_6	
	GOSUB?L	_dah
	GOSUB?L	_dit
	GOSUB?L	_dit
	GOSUB?L	_dit
	GOSUB?L	_dit
	PAUSE?W	_element
	PAUSE?W	_element
	RETURN?	

	LABEL?L	_send_7	
	GOSUB?L	_dah
	GOSUB?L	_dah
	GOSUB?L	_dit
	GOSUB?L	_dit
	GOSUB?L	_dit
	PAUSE?W	_element
	PAUSE?W	_element
	RETURN?	

	LABEL?L	_send_8	
	GOSUB?L	_dah
	GOSUB?L	_dah
	GOSUB?L	_dah
	GOSUB?L	_dit
	GOSUB?L	_dit
	PAUSE?W	_element
	PAUSE?W	_element
	RETURN?	

	LABEL?L	_send_9	
	GOSUB?L	_dah
	GOSUB?L	_dah
	GOSUB?L	_dah
	GOSUB?L	_dah
	GOSUB?L	_dit
	PAUSE?W	_element
	PAUSE?W	_element
	RETURN?	

	LABEL?L	_send_0	
	GOSUB?L	_dah
	GOSUB?L	_dah
	GOSUB?L	_dah
	GOSUB?L	_dah
	GOSUB?L	_dah
	PAUSE?W	_element
	PAUSE?W	_element
	RETURN?	

	LABEL?L	_slash	
	GOSUB?L	_dah
	GOSUB?L	_dit
	GOSUB?L	_dit
	GOSUB?L	_dah
	GOSUB?L	_dit
	PAUSE?W	_element
	PAUSE?W	_element
	RETURN?	

	LABEL?L	_period	
	GOSUB?L	_dit
	GOSUB?L	_dah
	GOSUB?L	_dit
	GOSUB?L	_dah
	GOSUB?L	_dit
	GOSUB?L	_dah
	PAUSE?W	_element
	PAUSE?W	_element
	RETURN?	

	LABEL?L	_comma	
	GOSUB?L	_dah
	GOSUB?L	_dah
	GOSUB?L	_dit
	GOSUB?L	_dit
	GOSUB?L	_dah
	GOSUB?L	_dah
	PAUSE?W	_element
	PAUSE?W	_element
	RETURN?	

	LABEL?L	_question	
	GOSUB?L	_dit
	GOSUB?L	_dit
	GOSUB?L	_dah
	GOSUB?L	_dah
	GOSUB?L	_dit
	GOSUB?L	_dit
	PAUSE?W	_element
	PAUSE?W	_element
	RETURN?	

	LABEL?L	_BT	
	GOSUB?L	_dah
	GOSUB?L	_dit
	GOSUB?L	_dit
	GOSUB?L	_dit
	GOSUB?L	_dah
	PAUSE?W	_element
	PAUSE?W	_element
	RETURN?	

	LABEL?L	_AR	
	GOSUB?L	_dit
	GOSUB?L	_dah
	GOSUB?L	_dit
	GOSUB?L	_dah
	GOSUB?L	_dit
	PAUSE?W	_element
	PAUSE?W	_element
	RETURN?	

	LABEL?L	_AS	
	GOSUB?L	_dit
	GOSUB?L	_dah
	GOSUB?L	_dit
	GOSUB?L	_dit
	GOSUB?L	_dit
	PAUSE?W	_element
	PAUSE?W	_element
	RETURN?	

	LABEL?L	_KN	
	GOSUB?L	_dah
	GOSUB?L	_dit
	GOSUB?L	_dah
	GOSUB?L	_dah
	GOSUB?L	_dit
	PAUSE?W	_element
	PAUSE?W	_element
	RETURN?	

	LABEL?L	_SK	
	GOSUB?L	_dit
	GOSUB?L	_dit
	GOSUB?L	_dit
	GOSUB?L	_dah
	GOSUB?L	_dit
	GOSUB?L	_dah
	PAUSE?W	_element
	PAUSE?W	_element
	RETURN?	

	LABEL?L	_AT	
	GOSUB?L	_dit
	GOSUB?L	_dah
	GOSUB?L	_dah
	GOSUB?L	_dit
	GOSUB?L	_dah
	PAUSE?W	_element
	PAUSE?W	_element
	RETURN?	

	LABEL?L	_dit	
	CMPNE?BCL	_QRSSflag, 001h, L00155
	GOTO?L	_QRSSdit
	LABEL?L	L00155	
	MOVE?CT	001h, _Key
	SOUNDPIN?T	_Sidetone
	SOUND?CB	06Eh, _dittime
	MOVE?CT	000h, _Key
	PAUSE?W	_element
	RETURN?	

	LABEL?L	_QRSSdit	
	MOVE?CT	001h, _Key
	MOVE?CB	001h, _X
	LABEL?L	L00157	
	CMPGT?BBL	_X, _QRSS, L00158
	SOUNDPIN?T	_Sidetone
	SOUND?CC	06Eh, 053h
	NEXT?BCL	_X, 001h, L00157
	LABEL?L	L00158	
	MOVE?CT	000h, _Key
	PAUSE?W	_element
	RETURN?	

	LABEL?L	_dah	
	CMPNE?BCL	_QRSSflag, 001h, L00159
	GOTO?L	_QRSSdah
	LABEL?L	L00159	
	MOVE?CT	001h, _Key
	SOUNDPIN?T	_Sidetone
	SOUND?CB	06Eh, _dahtime
	MOVE?CT	000h, _Key
	PAUSE?W	_element
	RETURN?	

	LABEL?L	_QRSSdah	
	MOVE?CT	001h, _Key
	MOVE?CB	001h, _X
	LABEL?L	L00161	
	CMPGT?BBL	_X, _QRSS, L00162
	SOUNDPIN?T	_Sidetone
	SOUND?CC	06Eh, 0FAh
	NEXT?BCL	_X, 001h, L00161
	LABEL?L	L00162	
	MOVE?CT	000h, _Key
	PAUSE?W	_element
	RETURN?	

	LABEL?L	_space	
	PAUSE?W	_element
	PAUSE?W	_element
	PAUSE?W	_element
	RETURN?	

	LABEL?L	_WPM5	
	MOVE?CW	0FAh, _element
	MOVE?CB	015h, _dittime
	MOVE?CB	03Fh, _dahtime
	MOVE?CB	03Ch, _QRSS
	CMPNE?BCL	_QRSSflag, 001h, L00163
	MOVE?CW	0EA60h, _element
	LABEL?L	L00163	
	RETURN?	

	LABEL?L	_WPM10	
	MOVE?CW	078h, _element
	MOVE?CB	00Ah, _dittime
	MOVE?CB	01Eh, _dahtime
	MOVE?CB	01Eh, _QRSS
	CMPNE?BCL	_QRSSflag, 001h, L00165
	MOVE?CW	07530h, _element
	LABEL?L	L00165	
	RETURN?	

	LABEL?L	_WPM15	
	MOVE?CW	054h, _element
	MOVE?CB	007h, _dittime
	MOVE?CB	015h, _dahtime
	MOVE?CB	00Ah, _QRSS
	CMPNE?BCL	_QRSSflag, 001h, L00167
	MOVE?CW	02710h, _element
	LABEL?L	L00167	
	RETURN?	

	LABEL?L	_WPM21	
	MOVE?CW	03Ch, _element
	MOVE?CB	005h, _dittime
	MOVE?CB	00Fh, _dahtime
	MOVE?CB	003h, _QRSS
	CMPNE?BCL	_QRSSflag, 001h, L00169
	MOVE?CW	00BB8h, _element
	LABEL?L	L00169	
	RETURN?	

	LABEL?L	_WPM52	
	MOVE?CW	018h, _element
	MOVE?CB	002h, _dittime
	MOVE?CB	006h, _dahtime
	MOVE?CB	001h, _QRSS
	CMPNE?BCL	_QRSSflag, 001h, L00171
	MOVE?CW	003E8h, _element
	LABEL?L	L00171	
	RETURN?	

	LABEL?L	_HighP	
	MOVE?CT	001h, _High_pwr
	MOVE?CT	000h, _Med_pwr
	MOVE?CT	000h, _Low_pwr
	MOVE?CT	000h, _EL_pwr
	RETURN?	

	LABEL?L	_MediumP	
	MOVE?CT	000h, _High_pwr
	MOVE?CT	001h, _Med_pwr
	MOVE?CT	000h, _Low_pwr
	MOVE?CT	000h, _EL_pwr
	RETURN?	

	LABEL?L	_LowP	
	MOVE?CT	000h, _High_pwr
	MOVE?CT	000h, _Med_pwr
	MOVE?CT	001h, _Low_pwr
	MOVE?CT	000h, _EL_pwr
	RETURN?	

	LABEL?L	_ExtraP	
	MOVE?CT	000h, _High_pwr
	MOVE?CT	000h, _Med_pwr
	MOVE?CT	000h, _Low_pwr
	MOVE?CT	001h, _EL_pwr
	RETURN?	

	LABEL?L	_WaitTrig	
	CMPNE?TCL	_trigger, 001h, L00173
	GOTO?L	_WaitTrig
	LABEL?L	L00173	
	RETURN?	

	LABEL?L	_Keydown	
	MOVE?CT	001h, _Key
	MOVE?CB	001h, _Keyflag
	RETURN?	

	LABEL?L	_Keyup	
	MOVE?CT	000h, _Key
	MOVE?CB	000h, _Keyflag
	RETURN?	

	LABEL?L	_Very	
	CMPNE?BCL	_Nullflag, 000h, L00175
	MOVE?CB	001h, _verylong
	LABEL?L	L00177	
	CMPGT?BCL	_verylong, 00Ah, L00178
	GOSUB?L	_One
	NEXT?BCL	_verylong, 001h, L00177
	LABEL?L	L00178	
	LABEL?L	L00175	
	RETURN?	

	LABEL?L	_Null	
	MOVE?CB	001h, _Nullflag
	RETURN?	

	LABEL?L	_One	
	MOVE?CB	001h, _onemin
	LABEL?L	L00179	
	CMPGT?BCL	_onemin, 00Ch, L00180
	GOSUB?L	_Five
	NEXT?BCL	_onemin, 001h, L00179
	LABEL?L	L00180	
	RETURN?	

	LABEL?L	_Five	
	CMPNE?BCL	_Keyflag, 001h, L00181
	SOUNDPIN?T	_Sidetone
	SOUND?CC	06Eh, 0D0h
	SOUNDPIN?T	_Sidetone
	SOUND?CC	06Eh, 0D1h
	GOTO?L	L00182
	LABEL?L	L00181	
	PAUSE?C	01388h
	LABEL?L	L00182	
	RETURN?	

	LABEL?L	_Second	
	CMPNE?BCL	_Keyflag, 001h, L00183
	SOUNDPIN?T	_Sidetone
	SOUND?CC	06Eh, 053h
	GOTO?L	L00184
	LABEL?L	L00183	
	PAUSE?C	003E8h
	LABEL?L	L00184	
	RETURN?	

	LABEL?L	_Tenth	
	CMPNE?BCL	_Keyflag, 001h, L00185
	SOUNDPIN?T	_Sidetone
	SOUND?CC	06Eh, 008h
	GOTO?L	L00186
	LABEL?L	L00185	
	PAUSE?C	064h
	LABEL?L	L00186	
	RETURN?	

	LABEL?L	_PTTon	
	MOVE?CT	001h, _PTT
	RETURN?	

	LABEL?L	_PTToff	
	MOVE?CT	000h, _PTT
	RETURN?	

	LABEL?L	_QRSSon	
	MOVE?CB	001h, _QRSSflag
	CMPNE?WCL	_element, 0FAh, L00187
	MOVE?CW	0EA60h, _element
	LABEL?L	L00187	
	CMPNE?WCL	_element, 078h, L00189
	MOVE?CW	07530h, _element
	LABEL?L	L00189	
	CMPNE?WCL	_element, 054h, L00191
	MOVE?CW	02710h, _element
	LABEL?L	L00191	
	CMPNE?WCL	_element, 03Ch, L00193
	MOVE?CW	00BB8h, _element
	LABEL?L	L00193	
	CMPNE?WCL	_element, 018h, L00195
	MOVE?CW	003E8h, _element
	LABEL?L	L00195	
	RETURN?	

	LABEL?L	_QRSSoff	
	MOVE?CB	000h, _QRSSflag
	CMPNE?WCL	_element, 0EA60h, L00197
	MOVE?CW	0FAh, _element
	LABEL?L	L00197	
	CMPNE?WCL	_element, 07530h, L00199
	MOVE?CW	078h, _element
	LABEL?L	L00199	
	CMPNE?WCL	_element, 02710h, L00201
	MOVE?CW	054h, _element
	LABEL?L	L00201	
	CMPNE?WCL	_element, 00BB8h, L00203
	MOVE?CW	03Ch, _element
	LABEL?L	L00203	
	CMPNE?WCL	_element, 003E8h, L00205
	MOVE?CW	018h, _element
	LABEL?L	L00205	
	RETURN?	
	END?	

	END
