Apple ii Battery Charger User Manual


 
1977 8DDE 65 F8 ADC BDRY
1978 8DE0 60 RTS
1979 8DE1
1980 8DE1 24 FD RDCHTX BIT MODE ;READ HS OR KIM CHARACTER
1981 8DE3 10 7A BPL RDCHT ;KIM
1982 8DE5
1983 8DE5 ; RDBYTH - READ HS BYTE
1984 8DE5 ; Y DESTROYED, BYTE RETURNED IN CHAR AND A
1985 8DE5 ; TIME FROM ONE CALL TO NEXT MUST BE LESS THAN
1986 8DE5 ; START BIT TIME (TIMER STILL RUNNING)
1987 8DE5
1988 8DE5 8E 38 A6 RDBYTH STX SCR8 ;SAVE X
1989 8DE8 A2 08 LDX #8
1990 8DEA 20 CA 8D JSR GETTR ;GET START BIT TIME
1991 8DED B0 14 BCS RDBH90 ;IF NOT 0, FRAMING ERR
1992 8DEF 20 CA 8D RDBH10 JSR GETTR ;GET BIT IN CARRY
1993 8DF2 90 04 BCC RDASSY
1994 8DF4 20 CA 8D JSR GETTR ;BIT IS ONE, WAIT HALF CYC
1995 8DF7 38 SEC ;MAKE SURE "1"
1996 8DF8 66 FC RDASSY ROR CHAR
1997 8DFA CA DEX
1998 8DFB D0 F2 BNE RDBH10
1999 8DFD A5 FC LDA CHAR ;GET IN ACC
2000 8DFF AE 38 A6 H8DFF LDX SCR8 ;RESTORE X
2001 8E02 60 RTS
2002 8E03 24 FD RDBH90 BIT MODE ;NO ERR IF NOT IN SYNC
2003 8E05 70 F8 BVS RDBH90-4 ;OR READING WRONG REC
2004 8E07 68 PLA ;FIX STACK
2005 8E08 68 PLA
2006 8E09 4C 38 8D JMP FRERR
2007 8E0C
2008 8E0C ; RDBITK - READ KIM BIT - X,Y,A DESTROYED, BIT RETURNED IN C
2009 8E0C
2010 8E0C 20 BF 8D RDBITK JSR KGETTR ;WAIT FOR LF
2011 8E0F B0 FB BCS RDBITK
2012 8E11 20 BF 8D JSR KGETTR ;GET SECOND
2013 8E14 B0 F6 BCS RDBITK
2014 8E16 A2 00 LDX #0
2015 8E18 E8 RDB100 INX ;COUNT LF FULL CYCLES
2016 8E19 20 BF 8D JSR KGETTR
2017 8E1C 90 FA BCC RDB100
2018 8E1E 20 BF 8D JSR KGETTR ;GET SECOND
2019 8E21 90 F5 BCC RDB100
2020 8E23 E0 08 CPX #$08 ;GET BIT TO CARRY
2021 8E25 60 RTS
2022 8E26
2023 8E26 24 FD RDBYTX BIT MODE ;READ HS OR KIM BYTE
2024 8E28 30 BB BMI RDBYTH ;HS
2025 8E2A
2026 8E2A 20 5F 8E RDBYT JSR RDCHT ;READ KIM BYTE INTO CHAR AND A
2027 8E2D C9 2F CMP #'/' ;READ ONE CHAR IF LAST
2028 8E2F F0 2C BEQ PACKT3 ;SET CARRY AND RETURN
2029 8E31 20 3C 8E JSR PACKT
2030 8E34 B0 26 BCS RDRTN ;NON HEX CHAR?
2031 8E36 AA TAX ;SAVE MSD
2032 8E37 20 5F 8E JSR RDCHT
2033 8E3A 86 FC STX CHAR ;MOVE MSD TO CHAR
2034 8E3C ; AND FALL INTO PACKT AGAIN
2035 8E3C
2036 8E3C ;PACKT - ASCII HEX TO 4 BITS
2037 8E3C ;INPUT IN A, OUTPUT IN CHAR AND A, CARRY SET = NON HEX
2038 8E3C