Apple II User Manual

Page of 257
1791   8C8E 85 FD              STA MODE
1792   8C90 20 26 8E           JSR RDBYTX      ;READ ID BYTE ON TAPE
1793   8C93 8D 00 A4           STA DIG         ;DISPLAY ON LED (NOT DECODED)
1794   8C96 CD 4E A6           CMP ID          ;COMPARE WITH REQUESTED ID
1795   8C99 F0 29              BEQ LOADT5      ;LOAD IF EQUAL
1796   8C9B AD 4E A6           LDA ID          ;COMPARE WITH 0
1797   8C9E C9 00              CMP #0
1798   8CA0 F0 22              BEQ LOADT5      ;IF 0, LOAD ANYWAY
1799   8CA2 C9 FF              CMP #$FF        ;COMPARE WITH FF
1800   8CA4 F0 07              BEQ LOADT6      ;IF FF, USE REQUEST SA TO LOAD
1801   8CA6
1802   8CA6 24 FD              BIT MODE        ;UNWANTED RECORD, KIM OR HS?
1803   8CA8 30 16              BMI HWRONG
1804   8CAA 4C 7B 8C           JMP LOADT2      ;IF KIM, RESTART SEARCH
1805   8CAD
1806   8CAD             ; SA (&EA IF USED) COME FROM REQUEST. DISCARD TAPE VALUES
1807   8CAD             ;   (BUFAD ALREADY SET TO SA BY 'START')
1808   8CAD             ;
1809   8CAD 20 74 8E    LOADT6 JSR RDCHK       ;GET SAL FROM TAPE
1810   8CB0 20 74 8E           JSR RDCHK       ;GET SAH FROM TAPE
1811   8CB3 24 FD              BIT MODE        ;HS OR KIM?
1812   8CB5 10 52              BPL LOADT7      ;IF KIM, START READING DATA
1813   8CB7 20 74 8E           JSR RDCHK       ;HS, GET EAH, EAL FROM TAPE
1814   8CBA 20 74 8E           JSR RDCHK       ; ... BUT IGNORE
1815   8CBD 4C DE 8C           JMP LT7H        ;START READING HS DATA
1816   8CC0
1817   8CC0             ; SA ( & EA IF USED) COME FROM TAPE. SA REPLACES BUFAD
1818   8CC0
1819   8CC0 A9 C0       HWRONG LDA #$C0        ;READ THRU TO GE TO NEXT REC
1820   8CC2 85 FD              STA MODE        ;BUT DON'T CHECK CKSUM, NO FRAME ERR
1821   8CC4
1822   8CC4 20 74 8E    LOADT5 JSR RDCHK       ;GET SAL FROM TAPE
1823   8CC7 85 FE              STA BUFADL      ;PUT IN BUF START L
1824   8CC9 20 74 8E           JSR RDCHK       ;SAME FOR SAH
1825   8CCC 85 FF              STA BUFADH
1826   8CCE             ;(SAL - H STILL HAVE REQUEST VALUE)
1827   8CCE 24 FD              BIT MODE        ;HS OR KIM?
1828   8CD0 10 37              BPL LOADT7      ;IF KIM, START READING RECORD
1829   8CD2 20 74 8E           JSR RDCHK       ;HS. GET & SAVE EAL,EAH
1830   8CD5 8D 4A A6           STA EAL
1831   8CD8 20 74 8E           JSR RDCHK
1832   8CDB 8D 4B A6           STA EAH
1833   8CDE
1834   8CDE             ; READ HS DATA
1835   8CDE
1836   8CDE 20 E5 8D    LT7H   JSR RDBYTH      ;GET NEXT BYTE
1837   8CE1 A6 FE              LDX BUFADL      ;CHECK FOR END OF DATA + 1
1838   8CE3 EC 4A A6           CPX EAL
1839   8CE6 D0 07              BNE LT7HA
1840   8CE8 A6 FF              LDX BUFADH
1841   8CEA EC 4B A6           CPX EAH
1842   8CED F0 14              BEQ LT7HB
1843   8CEF 20 77 8E    LT7HA  JSR CHKT        ;NOT END, UPDATE CHECKSUM
1844   8CF2 24 FD              BIT MODE        ;WRONG RECORD?
1845   8CF4 70 04              BVS LT7HC       ;IF SO, DONT STORE BYTE
1846   8CF6 A0 00              LDY #0          ;STORE BYTE
1847   8CF8 91 FE              STA (BUFADL),Y
1848   8CFA E6 FE       LT7HC  INC BUFADL      ;BUMP BUFFER ADDR
1849   8CFC D0 E0              BNE LT7H
1850   8CFE E6 FF              INC BUFADH      ;CARRY
1851   8D00 4C DE 8C           JMP LT7H
1852   8D03