1841 EBEA 20 23 EC JSR DEHALF ;DELAY 1/2 BIT TIME
1842 EBED AD 00 A8 GET3 LDA DRB ;GET 8 BITS
1843 EBF0 29 40 AND #$40 ;MASK OFF OTHER BITS,ONLY PB6
1844 EBF2 4E 2A A4 LSR CPIY ;SHIFT RIGHT CHARACTER
1845 EBF5 0D 2A A4 ORA CPIY
1846 EBF8 8D 2A A4 STA CPIY
1847 EBFB 20 0F EC JSR DELAY ;DELAY 1 BIT TIME
1848 EBFE CA DEX
1849 EBFF D0 EC BNE GET3 ;GET NEXT BIT
1850 EC01 20 0F EC JSR DELAY ;DO NOT CARE FOR PARITY BIT
1851 EC04 20 23 EC JSR DEHALF ;UNTIL WE GET BACK TO ONE AGAIN
1852 EC07 68 PLA ;RESTORE X
1853 EC08 AA TAX
1854 EC09 AD 2A A4 LDA CPIY
1855 EC0C 29 7F AND #$7F ;CLEAR PARITY BIT
1856 EC0E 60 RTS
1857 EC0F
1858 EC0F ;DELAY 1 BIT TIME AS GIVEN BY BAUD RATE
1859 EC0F AD 18 A4 DELAY LDA CNTL30 ;START TIMER T2
1860 EC12 8D 08 A8 STA T2L
1861 EC15 AD 17 A4 LDA CNTH30
1862 EC18 8D 09 A8 DE1 STA T2H
1863 EC1B AD 0D A8 DE2 LDA IFR ;GET INT FLG FOR T2
1864 EC1E 29 20 AND #MT2
1865 EC20 F0 F9 BEQ DE2 ;TIME OUT ?
1866 EC22 60 RTS
1867 EC23
1868 EC23 ;DELAY HALF BIT TIME
1869 EC23 ;TOTAL TIME DIVIDED BY 2
1870 EC23 AD 17 A4 DEHALF LDA CNTH30
1871 EC26 4A LSR A ;LSB TO CARRY
1872 EC27 AD 18 A4 LDA CNTL30
1873 EC2A 6A ROR A ;SHIFT WITH CARRY
1874 EC2B 8D 08 A8 STA T2L
1875 EC2E AD 17 A4 LDA CNTH30
1876 EC31 4A LSR A
1877 EC32 8D 09 A8 STA T2H
1878 EC35 4C 1B EC JMP DE2
1879 EC38
1880 EC38 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1881 EC38 A9 00 GETKD0 LDA #0
1882 EC3A 8D 77 A4 STA IDOT ;GO ANOTHER 90 DOTS
1883 EC3D 20 50 F0 JSR IPO0 ;OUTPUT 90 DOTS TO PRI (ZEROS)
1884 EC40
1885 EC40 ;GET A CHAR FROM KB SUBROUTINE
1886 EC40 ;FROM KB Y=ROW ,STBKEY=COLUMNS (STROBE)
1887 EC40 ;X=CTRL OR SHIFT ,OTHERWISE X=0
1888 EC40 20 EF EC GETKEY JSR ROONEK ;WAIT IF LAST KEY STILL DOWN
1889 EC43 20 2A ED GETKY JSR DEBKEY ;DEBOUNCE KEY (5 MSEC)
1890 EC46 ;CTRL OR SHIFT ?
1891 EC46 A9 8F LDA #$8F ;CHCK CLMN 5,6,7
1892 EC48 8D 80 A4 STA DRA2
1893 EC4B AD 82 A4 LDA DRB2 ;CHCK ROW 1
1894 EC4E 4A LSR A
1895 EC4F B0 20 BCS GETK1 ;IF=1 ,NO CTRL OR SHIFT
1896 EC51 A2 03 LDX #3 ;CLMN 5,6,7 (CNTRL,SHIFTL,SHIFTR)
1897 EC53 A9 7F LDA #$7F ;CTRL OR SHIFT ,SO WHICH ONE?
1898 EC55 38 GETK0 SEC
1899 EC56 6A ROR A
1900 EC57 48 PHA
1901 EC58 20 0B ED JSR ONEK2 ;LETS GET CTRL OR SHIFT INTO X
1902 EC5B AD 82 A4 LDA DRB2