3973 FE33 A2 05 LDX #05 ;SET UP INNER LOOP
3974 FE35 4A INLUP LSR A ;SHIFT 5 BITS ACC TO MOVAD,MOVAD+1
3975 FE36 6E 26 01 ROR MOVAD
3976 FE39 6E 27 01 ROR MOVAD+1
3977 FE3C CA DEX
3978 FE3D D0 F6 BNE INLUP
3979 FE3F 88 DEY
3980 FE40 D0 EE BNE OUTLUP
3981 FE42
3982 FE42 ;SEARCH FOR MATCHING COMPRESSED CODE
3983 FE42 A2 40 LDX #$40
3984 FE44 AD 26 01 SRCHLP LDA MOVAD
3985 FE47 DD B8 F5 SRCHM CMP MNEML-1,X ;MATCH LEFT HALF
3986 FE4A F0 05 BEQ MATCH
3987 FE4C CA DEX
3988 FE4D D0 F8 BNE SRCHM ;IF NO - TRY AGAIN
3989 FE4F F0 0B BEQ MATCH1
3990 FE51 AD 27 01 MATCH LDA MOVAD+1 ;ALSO MATCH RIGHT HALF
3991 FE54 DD F8 F5 CMP MNEMR-1,X
3992 FE57 F0 06 BEQ GOTIT
3993 FE59 CA DEX
3994 FE5A D0 E8 BNE SRCHLP
3995 FE5C 4C C5 FC MATCH1 JMP ERRORM
3996 FE5F
3997 FE5F ;GET INSTRUCTION TYPE FROM TYPE TABLE
3998 FE5F BD 5D FB GOTIT LDA TYPTB-1,X
3999 FE62 8D 2E 01 STA TYPE
4000 FE65
4001 FE65 ;GET OPCODE FROM OP CODE UE
4002 FE65 BD 1D FB LDA STCODE-1,X
4003 FE68 8D 34 A4 STA OPCODE
4004 FE6B 4C C1 FB JMP MODEM
4005 FE6E
4006 FE6E ;THIS SECTION SETS THE CURRENT ADDRESS POINTER
4007 FE6E A9 2A STLO LDA #'*'
4008 FE70 20 7A E9 JSR OUTPUT
4009 FE73 20 AE EA STLOAD JSR ADDIN ;GET ADDR
4010 FE76 B0 F6 BCS STLO ;IN CASE OF ERROR
4011 FE78 4C 24 FF JMP PATC16 ;ADDR TO PC THEN TO STARTM
4012 FE7B
4013 FE7B ;PATCHES TO CORRECT PROBLEMS WITHOUT
4014 FE7B ;CHANGING ENTRY POINTS TO THE ROUTINES
4015 FE7B 41 .DB "A"
4016 FE7C 38 PATCH1 SEC ;ADJUST BAUD
4017 FE7D E9 2C SBC #44
4018 FE7F 8D 18 A4 STA CNTL30
4019 FE82 60 RTS
4020 FE83
4021 FE83 8A CUREAD TXA ;SAVE X , OUTPUT CUR
4022 FE84 48 PHA
4023 FE85 AE 15 A4 LDX CURPO2
4024 FE88 E0 14 CPX #20 ;ONLY IF < 20
4025 FE8A B0 05 BCS PAT2A
4026 FE8C A9 DE LDA #$DE
4027 FE8E 20 7B EF JSR OUTDD1
4028 FE91 68 PAT2A PLA
4029 FE92 AA TAX
4030 FE93 4C 3C E9 JMP READ ;CONTINUE
4031 FE96
4032 FE96 20 3C E9 RED1 JSR READ ;READ & ECHO WITHOUT CURSOR
4033 FE99 4C 76 E9 JMP RED2
4034 FE9C