доработки KEYSCAN

This commit is contained in:
Anatoliy Belyanskiy 2024-03-01 03:14:33 +10:00
parent 6f71631141
commit 9f472521fd
2 changed files with 38 additions and 5 deletions

View File

@ -170,8 +170,16 @@ KEYSCAN:
LD IX,KEYFLAG
RESCANN:
IN A,(Z84.SIO.Ch_A.Ctrl)
BIT 0,A
RET Z
AND 1
RET Z
;[ ] 18/02/2024 ¯à®¢¥àª  ­  ¯¥à¥¯®«­¥­¨¥ ¡ãä¥à 
; A = 1
; reg 1
OUT (Z84.SIO.Ch_A.Ctrl),A
IN A,(Z84.SIO.Ch_A.Ctrl)
AND %0010'0000 ; check receiver overrun error
JP NZ,Receiver_Overrun
;
IN A,(Z84.SIO.Ch_A.Data)
CP #F0
JR Z,F0_KEY
@ -186,9 +194,12 @@ RESCANN:
CALL SHIFTS
RES FLAG_E0,(IX+KEYFLG)
RES FLAG_E1,(IX+KEYFLG)
RET Z ;IT'S SHIFT KEY
;[ ] 29/02/2024 ¢ë£à¥¡á⨠¢¥áì ¡ãä¥à
JR Z,RESCANN ;IT'S SHIFT KEY
; RET Z ;IT'S SHIFT KEY
;
CALL INPCODE ;L - AT POS. CODE
.PUTCODE:
;PUTCODE
LD HL,#1C00 ;Caps Lock
AND A
SBC HL,DE
@ -733,4 +744,26 @@ BPP2:
; LD A,#62
; OUT (Z84.SIO.Ch_A.Ctrl),A
; RET
;------------------------------;????? à §®¡à âìáï
;------------------------------;????? à §®¡à âìáï
;[ ] 18/02/2024 ¯à®¢¥àª  ­  ¯¥à¥¯®«­¥­¨¥ ¡ãä¥à 
Receiver_Overrun:
; empty the buffer
IN A,(Z84.SIO.Ch_A.Data)
IN A,(Z84.SIO.Ch_A.Ctrl)
RRCA
JR C,Receiver_Overrun
; reg 0 - reset errors
LD A,%0011'0000
OUT (Z84.SIO.Ch_A.Ctrl),A
;!TODO ¯à¨ ¤¥â¥ªâ¥ ¯¥à¥¯®«­¥­¨ï ¡ãä¥à  ¯à®æ  á­ïâì ª« ¢¨è¨ ¨§ ¯®àâ  #FE ᯥªâà㬠
;
LD (IX+K_SHIFT),0
LD (IX+KEYFLG),0
;
; LD A,(HOST)
; LD (HEAD),A
;
AND A
RET
;

Binary file not shown.