1 '***** Read data from 16key-matrix ***** 2 '********** (for MIC301/E) ********** 10 'EQU list 11 PPI0=$220007 12 PPI1=$240007 13 APORT0=$220001 14 APORA1=$240001 15 BPORT0=$220003 16 BPORT1=$240003 17 CPORT0=$220005 18 CPORT1=$240005 20 'Port Initialize 21 POKE PPI0,_10010001,B :'portC(hight group) set output,(low group) set input mode. 100 'Main start 105 PRINT"123A456B789C*0#D" 110 FOR I=0 TO 3 120 POKE CPORT0,I<<4,B :'select column on 16key 121 INLINE NOP :'get delay time for row scanning 122 INLINE NOP 123 INLINE NOP 124 INLINE NOP 125 INLINE NOP 130 DAT=PEEK(CPORT0,B) :'read row data on 16key 140 FOR J=1 TO 4 150 IF SHIFTR(DAT,1,B) THEN PRINT "x"; ELSE PRINT " "; 160 NEXT J 170 NEXT I 180 PUTCH CHR$(13) 190 GOTO 110