


OUT2HS EQU $E0CA ADDRESS OF MIKBUG ROUTINE
PDATA1 EQU $E07E
CRLF   EQU $0D0A
EL     EQU $15 ERASE TO END OF LINE
SBYTE  EQU $04
AHOLD  FCB 0
BHOLD  RMB 1
TESTOB EQU *
       LDAA AHOLD GET INITIAL ASCII CODE
ALOOP1 EQU * ASCII TO BAUDOT LOOP
       STAA AHOLD SAVE ASCII CHARACTER
       LDX #AID POINT TO ASCII ID
       JSR PDATA1 PRINT
       LDX #AHOLD POINT TO ASCII CODE
       JSR OUT2HS OUTPUT TO TVT IN HEX
       LDAA AHOLD
       JSR ABAUD BR TO CONVERSION ROUTINE
       STAA BHOLD STORE BAUDOT CODE
       ORAB #$30 CHANGE SHIFT CODE TO CHARACTER
       STAB SHCODE STORE IN FIELD
       LDX #BID POINT TO BAUDOT ID
       JSR PDATA1 PRINT
       LDX #BHOLD POINT TO BAUDOT CHAR
       JSR OUT2HS PRINT
       LDX #SHIFT POINT TO SHIFT FIELD
       JSR PDATA1 PRINT
       LDAA AHOLD RELOAD ASCII CHARACTER
       INC A GET NEXT ASCII CODE
       BNE ALOOP1 LOOP UNTIL CYCLE COMPLETE
       SWI RETURN TO MIKBUG
AID     FDB CRLF
       FCB EL
       FCC 2,AS
       FCC 2,CI
       FCC 2,I
       FCC 2,--
       FCC 2,--
       FCB SBYTE
BID    FCC 2,BA
       FCC 2,UD
       FCC 2,OT
       FCC 2,--
       FCC 2,--
       FCB SBYTE
SHIFT  FCC 2,SH
       FCC 2,IF
       FCC 2,T-
       FCC 2,--
SHCODE RMB 1
CRLFEL EQU *
       PAGE
       FDB CRLF
       FCB EL
       FCB SBYTE
ABAUD  EQU *
       ANDA #$7F STRIP OFF PARITY BIT
       LDX #CODTBL POINT TO TABLE
       CLR B ZERO OUT B
       SUBA #7 SUBTRACT NULLS
       BMI STILBD INVALID CODE
       BEQ NEEDLP BYPASS LOOP
       CMPA #LAST1 IS THIS CODE IN FIRST TABLE ?
       BLT GINDEX BR IF YES
       LDX #CTABLE POINT TO 2ND TABLE
       SUBA #25 SUBTRACT NULLS
       BMI STILBD INVALID CODE
       BEQ NEEDLP BYPASS LOOP
       CMPA #LAST2 IS THIS CODE IN 2ND TABLE ?
       BGE NOTFND BR IF NO
GINDEX EQU *
       DEX POINT
       INCA TO
ALOOP  EQU * THE
       INX PROPER
       DECA BYTE
       BNE ALOOP IN TABLE
NEEDLP EQU *
       LDAA 0,X LOAD INTO A
       ASL A TRANSFER
       ROL B SHIFT
       ROL A CODE
       ROL B FROM
       LSR A A TO
       LSR A B
       RTS RETURN
NOTFND EQU *
       SUBA #32 SUBTRACT HEX '20'
       CMPA #LAST2 CHECK FOR LOWER CASE CHARS
       BGE STILBD BR IF NOT FOUND
       CMPA #$20 CHECK FOR LOWER CASE ALPHA CHAR
       BGT GINDEX BR IF FOUND
STILBD EQU *
       LDAB #2 SET SHIFT CODE TO 2 (DONT-CARE)
       CLR A ZERO OUT A
       RTS RETURN
       PAGE
CODTBL EQU *
       FCB $45 BEL (ASCII H'07)
       FCB $80 NULL (ASCII H'08)
       FCB $80 NULL (ASCII H'09)
       FCB $82 LF (ASCII H'0A)
       FCB $80 NULL (ASCII H'0B)
       FCB $80 NULL (ASCII H'0C)
       FCB $88 CR (ASCII H'0D)
LAST1  EQU *-CODTBL
CTABLE EQU *
       FCB $84 SPACE (ASCII H'20)
       FCB $4D ! (ASCII H'21)
       FCB $51 " (ASCII H'22)
       FCB $54 # (ASCII H'23)
       FCB $49 $ (ASCII H'24)
       FCB $80 NULL (ASCII H'25)
       FCB $5A & (ASCII H'26)
       FCB $4B ' (ASCII H'27)
       FCB $4F ( (ASCII H'28)
       FCB $52 ) (ASCII H'29)
       FCB $80 NULL (ASCII H'2A)
       FCB $80 NULL (ASCII H'2B)
       FCB $4C ' (ASCII H'2C)
       FCB $43 - (ASCII H'2D)
       FCB $5C . (ASCII H'3E)
       FCB $5D / (ASCII H'2F)
       FCB $56 0 (ASCII H'30)
       FCB $57 1 (ASCII H'31)
       FCB $53 2 (ASCII H'32)
       FCB $41 3 (ASCII H'33)
       FCB $4A 4 (ASCII H'34)
       FCB $50 5 (ASCII H'35)
       FCB $55 6 (ASCII H'36)
       FCB $47 7 (ASCII H'37)
       FCB $46 8 (ASCII H'38)
       FCB $58 9 (ASCII H'39)
       FCB $4E : (ASCII H'3A)
       FCB $5E ; (ASCII H'3B)
       FCB $80 NUL (ASCII H'3C)
       FCB $80 NUL (ASCII H'3D)
       FCB $80 NUL (ASCII H'3E)
       FCB $59 ? (ASCII H'3F)
       FCB $80 NUL (ASCII H'40)
       FCB $03 A (ASCII H'41)
       FCB $19 B (ASCII H'42)
       FCB $0E C (ASCII H'43)
       FCB $09 D (ASCII H'44)
       FCB $01 E (ASCII H'45)
       FCB $0D F (ASCII H'46)
       FCB $1A G (ASCII H'47)
       PAGE
       FCB $14 H (ASCII H'48)
       FCB $06 I (ASCII H'49)
       FCB $0B J (ASCII H'4A)
       FCB $0F K (ASCII H'4B)
       FCB $12 L (ASCII H'4C)
       FCB $1C M (ASCII H'4D)
       FCB $0C N (ASCII H'4E)
       FCB $18 O (ASCII H'4F)
       FCB $16 P (ASCII H'50)
       FCB $17 Q (ASCII H'51)
       FCB $0A R (ASCII H'52)
       FCB $05 S (ASCII H'53)
       FCB $10 T (ASCII H'54)
       FCB $07 U (ASCII H'55)
       FCB $1E V (ASCII H'56)
       FCB $13 W (ASCII H'57)
       FCB $1D X (ASCII H'58)
       FCB $15 Y (ASCII H'59)
       FCB $11 Z (ASCII H'5A)
LAST2  EQU *-CTABLE
       END
