Apple II User Manual

Page of 257
1779   EB85 8D 29 A4           STA STIY+2
1780   EB88 8D 2C A4           STA CPIY+2
1781   EB8B A9 99              LDA #$99        ;STA INSTR
1782   EB8D 8D 27 A4           STA STIY
1783   EB90 A9 D9              LDA #$D9        ;CMP INSTR
1784   EB92 8D 2A A4           STA CPIY
1785   EB95 A9 60              LDA #$60        ;RTS
1786   EB97 8D 2D A4           STA LDIY+3
1787   EB9A 68                 PLA
1788   EB9B 4C 27 A4           JMP STIY        ;START EXECUTING STA (),Y
1789   EB9E
1790   EB9E             ;PUSH X & Y WITHOUT CHANGING THE REGS
1791   EB9E 8D 2D A4    PHXY   STA CPIY+3      ;SAVE ACC
1792   EBA1 98                 TYA
1793   EBA2 48                 PHA             ;PUSH Y
1794   EBA3 8A                 TXA
1795   EBA4 48                 PHA             ;PUSH X
1796   EBA5 20 BA EB           JSR SWSTAK      ;SWAP X , Y WITH RTRN ADDR FROM S`
1797   EBA8 AD 2D A4           LDA CPIY+3
1798   EBAB 60                 RTS
1799   EBAC
1800   EBAC             ;PULL X & Y WITHOUT CHANGING ACC
1801   EBAC             ;IT HAS TO BE CALLED BY JSR & NOT BY JMP INSTR
1802   EBAC             ;SINCE IT SWAPS THE STACK
1803   EBAC 8D 2D A4    PLXY   STA CPIY+3
1804   EBAF 20 BA EB           JSR SWSTAK      ;SWAP X , Y WITH RTRN ADDR FROM`
1805   EBB2 68                 PLA
1806   EBB3 AA                 TAX             ;PULL X
1807   EBB4 68                 PLA
1808   EBB5 A8                 TAY             ;PULL Y
1809   EBB6 AD 2D A4           LDA CPIY+3
1810   EBB9 60                 RTS
1811   EBBA
1812   EBBA             ;SWAP STACK
1813   EBBA BA          SWSTAK TSX
1814   EBBB A9 02              LDA #2
1815   EBBD 48          SWST1  PHA
1816   EBBE BD 06 01           LDA $0106,X     ;GET PCH OR PCL
1817   EBC1 BC 04 01           LDY $0104,X     ;GET Y OR X REGS
1818   EBC4 9D 04 01           STA $0104,X
1819   EBC7 98                 TYA
1820   EBC8 9D 06 01           STA $0106,X
1821   EBCB CA                 DEX
1822   EBCC 68                 PLA
1823   EBCD 38                 SEC
1824   EBCE E9 01              SBC #1
1825   EBD0 D0 EB              BNE SWST1
1826   EBD2 BD 08 01           LDA $0108,X     ;RESTORE Y & X FROM STACK
1827   EBD5 A8                 TAY
1828   EBD6 BD 07 01           LDA $0107,X
1829   EBD9 AA                 TAX
1830   EBDA 60                 RTS
1831   EBDB
1832   EBDB             ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1833   EBDB             ;GET A CHAR FROM TTY SUBR INTO ACC ,SAVES X
1834   EBDB 8A          GETTTY TXA             ;SAVE X
1835   EBDC 48                 PHA
1836   EBDD A2 07              LDX #$07        ;SET UP FOR 8 BIT CNT
1837   EBDF 8E 2A A4           STX CPIY        ;CLR MSB
1838   EBE2 2C 00 A8    GET1   BIT DRB         ;A^M ,  PB6->V
1839   EBE5 70 FB              BVS GET1        ;WAIT FOR START BIT
1840   EBE7 20 0F EC           JSR DELAY       ;DELAY 1 BIT