Apple ii Battery Charger User Manual


 
F58F: 20 ED FD 119 JSR COUT ;POSITION.
F592: 20 3A FF 120 RESETZ JSR BELL
F595: A9 A1 121 NXTLINE LDA #$A1 ;'!'
F597: 85 33 122 STA PROMPT ;INITIALIZE PROMPT
F599: 20 67 FD 123 JSR GETLNZ ;GET LINE.
F59C: 20 C7 FF 124 JSR ZMODE ;INIT SCREEN STUFF
F59F: AD 00 02 125 LDA IN ;GET CHAR
F5A2: C9 A0 126 CMP #$A0 ;ASCII BLANK?
F5A4: F0 13 127 BEQ SPACE ;YES
F5A6: C8 128 INY
F5A7: C9 A4 129 CMP #$A4 ;ASCII '$' IN COL 1?
F5A9: F0 92 130 BEQ FAKEMON ;YES, SIMULATE MONITOR
F5AB: 88 131 DEY ;NO, BACKUP A CHAR
F5AC: 20 A7 FF 132 JSR GETNUM ;GET A NUMBER
F5AF: C9 93 133 CMP #$93 ;':' TERMINATOR?
F5B1: D0 D5 134 ERR4 BNE ERR2 ;NO, ERR.
F5B3: 8A 135 TXA
F5B4: F0 D2 136 BEQ ERR2 ;NO ADR PRECEDING COLON.
F5B6: 20 78 FE 137 JSR A1PCLP ;MOVE ADR TO PCL, PCH.
F5B9: A9 03 138 SPACE LDA #$3 ;COUNT OF CHARS IN MNEMONIC
F5BB: 85 3D 139 STA A1H
F5BD: 20 34 F6 140 NXTMN JSR GETNSP ;GET FIRST MNEM CHAR.
F5C0: 0A 141 NXTM ASL
F5C1: E9 BE 142 SBC #$BE ;SUBTRACT OFFSET
F5C3: C9 C2 143 CMP #$C2 ;LEGAL CHAR?
F5C5: 90 C1 144 BCC ERR2 ;NO.
F5C7: 0A 145 ASL ;COMPRESS-LEFT JUSTIFY
F5C8: 0A 146 ASL
F5C9: A2 04 147 LDX #$4
F5CB: 0A 148 NXTM2 ASL ;DO 5 TRIPLE WORD SHIFTS
F5CC: 26 42 149 ROL A4L
F5CE: 26 43 150 ROL A4H
F5D0: CA 151 DEX
F5D1: 10 F8 152 BPL NXTM2
F5D3: C6 3D 153 DEC A1H ;DONE WITH 3 CHARS?
F5D5: F0 F4 154 BEQ NXTM2 ;YES, BUT DO 1 MORE SHIFT
F5D7: 10 E4 155 BPL NXTMN ;NO
F5D9: A2 05 156 FORM1 LDX #$5 ;5 CHARS IN ADDR MODE
F5DB: 20 34 F6 157 FORM2 JSR GETNSP ;GET FIRST CHAR OF ADDR
F5DE: 84 34 158 STY YSAV
F5E0: DD B4 F9 159 CMP CHAR1,X ;FIRST CHAR MATCH PATTERN?
F5E3: D0 13 160 BNE FORM3 ;NO
F5E5: 20 34 F6 161 JSR GETNSP ;YES, GET SECOND CHAR
F5E8: DD BA F9 162 CMP CHAR2,X ;MATCHES SECOND HALF?
F5EB: F0 0D 163 BEQ FORM5 ;YES.
F5ED: BD BA F9 164 LDA CHAR2,X ;NO, IS SECOND HALF ZERO?
F5F0: F0 07 165 BEQ FORM4 ;YES.
F5F2: C9 A4 166 CMP #$A4 ;NO,SECOND HALF OPTIONAL?
F5F4: F0 03 167 BEQ FORM4 ;YES.
F5F6: A4 34 168 LDY YSAV
F5F8: 18 169 FORM3 CLC ;CLEAR BIT-NO MATCH
F5F9: 88 170 FORM4 DEY ;BACK UP 1 CHAR
F5FA: 26 44 171 FORM5 ROL FMT ;FORM FORMAT BYTE
F5FC: E0 03 172 CPX #$3 ;TIME TO CHECK FOR ADDR.
F5FE: D0 0D 173 BNE FORM7 ;NO
F600: 20 A7 FF 174 JSR GETNUM ;YES
F603: A5 3F 175 LDA A2H
F605: F0 01 176 BEQ FORM6 ;HIGH-ORDER BYTE ZERO
F607: E8 177 INX ;NO, INCR FOR 2-BYTE
F608: 86 35 178 FORM6 STX L ;STORE LENGTH
F60A: A2 03 179 LDX #$3 ;RELOAD FORMAT INDEX
F60C: 88 180 DEY ;BACKUP A CHAR