Apple II User Manual

Page of 257
1717   EB15 C8                 INY
1718   EB16 B9 1C A4           LDA ADDR,Y
1719   EB19 C8                 INY
1720   EB1A 20 84 EA           JSR PACK        ;PACK TWO CHRS INTO 1 BYTE
1721   EB1D B0 0C              BCS ADDN8       ;BRCNH IF ERROR
1722   EB1F 9D 1C A4           STA ADDR,X
1723   EB22 CA                 DEX
1724   EB23 10 E8              BPL ADDN7
1725   EB25 E8                 INX             ;X=0
1726   EB26 8E 1E A4           STX CKSUM       ;TO INDICATE WE GOT AN ADDR
1727   EB29 18                 CLC             ;NO INVALID CHARS
1728   EB2A 60                 RTS
1729   EB2B 20 94 E3    ADDN8  JSR CKER00      ;OUTPUT ERROR MSG
1730   EB2E 20 24 EA           JSR CRCK        ;<CR>
1731   EB31 38                 SEC             ;SET CARRY FOR INVALID CHR
1732   EB32 60                 RTS
1733   EB33
1734   EB33             ;MEMORY FAIL TO WRITE MSG & SPECIFIC ADDRESS
1735   EB33 20 24 EA    MEMERR JSR CRCK
1736   EB36 20 CD E2           JSR NXTADD      ;ADD Y TO ADDR+1,ADDR
1737   EB39 A0 31              LDY #M11-M1     ;PRINT "MEM FAIL"
1738   EB3B 20 AF E7           JSR KEP         ;FAIL MSG
1739   EB3E 20 DB E2           JSR WRITAZ      ;PRINT ADDR+1 , ADDR
1740   EB41 4C A1 E1           JMP COMIN
1741   EB44
1742   EB44             ;CLEAR DISPLAY & PRINTER POINTERS
1743   EB44 A9 00       CLR    LDA #0
1744   EB46 8D 15 A4           STA CURPO2      ;DISP PNTR
1745   EB49 8D 16 A4           STA CURPOS      ;PRINTR PNTR
1746   EB4C 60                 RTS
1747   EB4D
1748   EB4D             ;CLEAR CKSUM
1749   EB4D A9 00       CLRCK  LDA #0
1750   EB4F 8D 1F A4           STA CKSUM+1
1751   EB52 8D 1E A4           STA CKSUM
1752   EB55 60                 RTS
1753   EB56
1754   EB56             ;CODE FOR PAGE ZERO SIMULATION
1755   EB56             ;SUBR LDAY-SIMULATES LDA (N),Y INSTR WITHOUT PAG 0
1756   EB56             ;BY PUTTING INDIR ADDR INTO RAM & THEN EXEC LDA NM,Y
1757   EB56 A9 25       PCLLD  LDA #SAVPC      ;FOR DISASSEMBLER
1758   EB58 8C 2D A4    LDAY   STY CPIY+3      ;SAVE Y
1759   EB5B A8                 TAY
1760   EB5C B9 00 A4           LDA MONRAM,Y    ;MONRAM=MONITOR RAM
1761   EB5F 8D 2B A4           STA LDIY+1
1762   EB62 B9 01 A4           LDA MONRAM+1,Y
1763   EB65 8D 2C A4           STA LDIY+2
1764   EB68 AC 2D A4           LDY CPIY+3      ;REST Y
1765   EB6B A9 B9              LDA #$B9        ;INST FOR LDA NM,Y
1766   EB6D 8D 2A A4           STA LDIY
1767   EB70 A9 60              LDA #$60        ;RTS
1768   EB72 8D 2D A4           STA LDIY+3
1769   EB75 4C 2A A4           JMP LDIY        ;START EXECUTING LDA (),Y
1770   EB78
1771   EB78             ;SUBR STORE AT ADDR & CMP WITHOUT PAG 0
1772   EB78             ;REPLACES STA (ADDR),Y  &  CMP (ADDR),Y
1773   EB78             ;LOOK THAT ADDR & ADDR+1 ARE NOT ON PAG 0
1774   EB78 48          SADDR  PHA
1775   EB79 AD 1C A4           LDA ADDR
1776   EB7C 8D 28 A4           STA STIY+1
1777   EB7F 8D 2B A4           STA CPIY+1
1778   EB82 AD 1D A4           LDA ADDR+1