Apple II User Manual

Page of 257
1729   8C78             BUFADH =$FF
1730   8C78             ;TAPDEL =$A630         ;HI SPEED TAPE DELAY
1731   8C78             ;KMBDRY =$A631         ;KIM READ BDRY
1732   8C78             ;HSBDRY =$A632         ;HS READ BDRY
1733   8C78             ;TAPET1 =$A635         ;HS FIRST 1/2 BIT
1734   8C78             ;TAPET2 =$A63C         ;HS SECOND 1/2 BIT
1735   8C78             ;SCR6   =$A636         ;SCR6
1736   8C78             ;SCR7   =$8637         ;SCR7
1737   8C78             ;SCR8   =$A638         ;SCR8
1738   8C78             ;SCR9   =$A639         ;SCR9
1739   8C78
1740   A64A                    *=$A64A
1741   A64A             EAL    .BLOCK 1        ;P3L - END ADDR +1 (LO)
1742   A64B             EAH    .BLOCK 1        ;P3H -  (HI)
1743   A64C             SAL    .BLOCK 1        ;P2L - START ADDR  (LO)
1744   A64D             SAH    .BLOCK 1        ;P2H -  (HI)
1745   A64E             ID     .BLOCK 1        ;P1L -  ID
1746   A64F
1747   A64F             EOT    = $04
1748   A64F             SYN    = $16
1749   A64F             TPBIT  =%1000          ;BIT 3 IS ENABLE/DISABLE TO DECODER
1750   A64F             FRAME  =$FF            ;ERROR MSG # FOR FRAME ERROR
1751   A64F             CHECK  =$CC            ;ERROR # FOR CHECKSUM ERROR
1752   A64F             LSTCHR =$2F            ;LAST CHAR NOT '/'
1753   A64F             NONHEX =$FF            ;NON HEX CHAR IN KIM REC
1754   A64F
1755   A64F             ;ACCESS =$8BB6         ;UNRITE PROTECT SYSTEM RAM
1756   A64F             ;P2SCR  =$829C         ;MOVE P2 TO $FF,$FE IN PAGE ZERO
1757   A64F             ;ZERCK  =$832E         ;MOVE ZERO TO CHECK SUM
1758   A64F             ;CONFIG =$89A5         ;CONFIGURE I/O
1759   A64F
1760   A64F             ; I/O - TAPE ON/OFF IS CB2 ON VIA 1 (A000)
1761   A64F             ;       TAPE IN IS PB6 ON VIA 1 (A000)
1762   A64F             ;       TAPE OUT IS CODE 7 TO DISPLAY DECODER, THRU 6532,
1763   A64F             ;             PB0-PB3 (A400)
1764   A64F
1765   A64F             VIAACR =$A00B
1766   A64F             VIAPCR =$A00C          ;CONTROL CB2 TAPE ON/OFF, POR
1767   A64F             TPOUT  =$A402
1768   A64F             TAPOUT =TPOUT
1769   A64F             DDROUT =$A403
1770   A64F             TAPIN  =$A000
1771   A64F             DDRIN  =$A002
1772   A64F             TIMER  =$A406          ;6532 TIMER READ
1773   A64F             TIM8   =$A415          ;6532 TIMER SET (8US)
1774   A64F             DDRDIG =$A401
1775   A64F             DIG    =$A400
1776   A64F
1777   A64F             ; LOADT ENTER W/ID IN PARM 2, MODE IN [Y]
1778   A64F
1779   8C78                    *=$8C78
1780   8C78 20 A9 8D    LOADT  JSR START       ;INITIALIZE
1781   8C7B 20 52 8D    LOADT2 JSR SYNC        ;GET IN SYNC
1782   8C7E 20 E1 8D    LOADT4 JSR RDCHTX
1783   8C81 C9 2A              CMP #'*'        ;START OF DATA?
1784   8C83 F0 06              BEQ LOAD11
1785   8C85 C9 16              CMP #SYN        ;NO - SYN?
1786   8C87 D0 F2              BNE LOADT2      ;IF NOT, RESTART SYNC SEARCH
1787   8C89 F0 F3              BEQ LOADT4      ;IF YES, KEEP LOOKING FOR *
1788   8C8B
1789   8C8B 06 FD       LOAD11 ASL MODE        ;GET MODE IN A, CLEAR BIT6
1790   8C8D 6A                 ROR A