Apple II User Manual

Page of 257
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