mirror of
https://github.com/Tolik-Trek/Estex-DSS.git
synced 2026-06-15 09:21:47 +03:00
...
This commit is contained in:
parent
336436ee76
commit
a18f382470
@ -49,4 +49,4 @@ SCANDRV:
|
||||
RET
|
||||
; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -;
|
||||
;///////////////////////////////////////////////////////////////////////
|
||||
;
|
||||
;
|
||||
@ -287,7 +287,7 @@ F_START: DI
|
||||
|
||||
.good: CALL DEPLOY ;R07 ;íâ ¯à®æ¥¤ãà § âàñâáï ¯®á«¥ ¨á¯®«¥¨ï
|
||||
RET C ;R10
|
||||
CALL KINIT
|
||||
CALL KEYBOARD_INIT
|
||||
CALL PRINT_INIT
|
||||
LD C,Dss.Mouse.Init
|
||||
RST ToDSS.Mouse
|
||||
|
||||
@ -156,44 +156,42 @@ M_RESR LD A,DSS_Error.mouse.INVALID_COMMAND
|
||||
RET
|
||||
|
||||
;!TODO ¡¨®á.
|
||||
MS_INIT DI
|
||||
;!TEST mouse
|
||||
;LD A,#55
|
||||
;OUT (#10),A
|
||||
;LD A,#2D
|
||||
;OUT (#10),A
|
||||
;
|
||||
XOR A ;LD A,0
|
||||
MS_INIT:
|
||||
DI
|
||||
; reg 0
|
||||
XOR A ;LD A,0
|
||||
OUT (PORT_MOUSE.Ctrl),A
|
||||
INC A ;LD A,1
|
||||
; reg 4
|
||||
LD A,4
|
||||
OUT (PORT_MOUSE.Ctrl),A
|
||||
DEC A ;LD A,0
|
||||
LD A,+(7 | MOUSE_BAUD.multiplier_1) ; ¯¥à¢ë© ¬®¦¨â¥«ì
|
||||
OUT (PORT_MOUSE.Ctrl),A
|
||||
; reg 3
|
||||
LD A,3
|
||||
OUT (PORT_MOUSE.Ctrl),A
|
||||
LD A,#41
|
||||
OUT (PORT_MOUSE.Ctrl),A
|
||||
LD A,4
|
||||
OUT (PORT_MOUSE.Ctrl),A
|
||||
;!TEST mouse
|
||||
LD A,MOUSE_BAUD.multiplier_1 ; ¯¥à¢ë© ¬®¦¨â¥«ì
|
||||
OUT (PORT_MOUSE.Ctrl),A
|
||||
;
|
||||
; reg 5
|
||||
LD A,5
|
||||
OUT (PORT_MOUSE.Ctrl),A
|
||||
; [ ] ¤«ï ª®à४⮣® ¨¨â Sega ¤¦®©á⨪ ¢ ¯®àâã ª¥¬¯áâ® ¤¦®©á⨪
|
||||
LD A,%1110'0000
|
||||
;LD A,%0110'0000
|
||||
;
|
||||
LD A,%1110'0000 ; bit7 ¤«ï ª®à४⮣® ¨¨â Sega ¤¦®©á⨪ ¢ ¯®àâã ª¥¬¯áâ® ¤¦®©á⨪
|
||||
OUT (PORT_MOUSE.Ctrl),A
|
||||
;
|
||||
; reg 1
|
||||
LD A,1
|
||||
OUT (PORT_MOUSE.Ctrl),A
|
||||
IF MOUSE_INT_ENABLED
|
||||
LD A,%0001'1001
|
||||
ELSE
|
||||
XOR A
|
||||
ENDIF
|
||||
OUT (PORT_MOUSE.Ctrl),A
|
||||
|
||||
;!TEST mouse
|
||||
LD A,#55
|
||||
OUT (Z84.CTC.Ch_0),A
|
||||
LD A,MOUSE_BAUD.multiplier_2 ; ¢â®à®© ¬®¦¨â¥«ì
|
||||
OUT (Z84.CTC.Ch_0),A
|
||||
;
|
||||
|
||||
EI
|
||||
XOR A
|
||||
RET
|
||||
@ -516,7 +514,7 @@ MOUSE: LD A,(MODE_M)
|
||||
JR SET_RESTORE_EXIT
|
||||
;
|
||||
;set gfx-mode
|
||||
.GFX: CP #82 ;640x256x16
|
||||
.GFX: CP Dss.SetVMod.grf640x256
|
||||
JR NZ,.NOFIX_640
|
||||
SRL H
|
||||
RR L
|
||||
|
||||
@ -435,8 +435,16 @@ KEYSCAN:
|
||||
LD IX,KEYFLAG
|
||||
.RESCAN:
|
||||
IN A,(Z84.SIO.Ch_A.Ctrl)
|
||||
BIT 0,A
|
||||
AND 1
|
||||
RET Z
|
||||
;[ ] 18/02/2024 能恥丞<E681A5> <20> 砲鄍祚垠平言 ~銗<EFBD9E>
|
||||
; 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,FULL_BF.F0_KEY
|
||||
@ -451,10 +459,10 @@ KEYSCAN:
|
||||
CALL SHIFTS
|
||||
RES FLAG_E0,(IX+KEYFLG)
|
||||
RES FLAG_E1,(IX+KEYFLG)
|
||||
RET Z ;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
|
||||
@ -479,16 +487,24 @@ PUTCODE:
|
||||
AND A
|
||||
SBC HL,DE
|
||||
CALL Z,SCL_X
|
||||
|
||||
;small optimization
|
||||
; LD HL,#CF00 ;Ctrl + Alt + Del
|
||||
; AND A
|
||||
; SBC HL,DE
|
||||
; CALL Z,RST_X
|
||||
;;;
|
||||
;[x] small optimization)))
|
||||
; LD HL,#CF00 ;Ctrl + Alt + Del
|
||||
; AND A
|
||||
; SBC HL,DE
|
||||
; CALL Z,RST_X
|
||||
;
|
||||
LD BC,(KEYFLAG)
|
||||
CALL PUTSYM
|
||||
RET
|
||||
;[ ] 18/02/2024 能恥丞<E681A5> <20> 砲鄍祚垠平言 ~銗<EFBD9E>
|
||||
; .Receiver_Overrun:
|
||||
; LD (IX+K_SHIFT),0
|
||||
; LD (IX+KEYFLG),0
|
||||
; ; reg 0 - reset errors
|
||||
; LD A,%0011'0000
|
||||
; OUT (Z84.SIO.Ch_A.Ctrl),A
|
||||
; RET
|
||||
|
||||
|
||||
UN_KEY RES FLAG_F0,(IX+KEYFLG)
|
||||
LD L,A
|
||||
@ -922,29 +938,30 @@ SHF2RUS DB #F1,Esc,"!",#22,"#","$",":",#2C,".",";","?","%","_","+",Bcs
|
||||
|
||||
;================================
|
||||
|
||||
BEEP LD A,#10
|
||||
OUT (#FE),A
|
||||
BEEP: LD A,#10
|
||||
OUT (ZX_Beeper),A
|
||||
LD B,D
|
||||
LD C,E
|
||||
BPP DEC BC
|
||||
.loop1: DEC BC
|
||||
LD A,B
|
||||
OR C
|
||||
JR NZ,BPP
|
||||
LD A,#00
|
||||
OUT (#FE),A
|
||||
JR NZ,.loop1
|
||||
XOR A ;LD A,#00
|
||||
OUT (ZX_Beeper),A
|
||||
LD B,D
|
||||
LD C,E
|
||||
BPP2 DEC BC
|
||||
.loop2: DEC BC
|
||||
LD A,B
|
||||
OR C
|
||||
JR NZ,BPP2
|
||||
JR NZ,.loop2
|
||||
DEC HL
|
||||
LD A,H
|
||||
OR L
|
||||
JR NZ,BEEP
|
||||
RET
|
||||
|
||||
KINIT XOR A ;LD A,0
|
||||
|
||||
KEYBOARD_INIT:
|
||||
XOR A ;LD A,0
|
||||
OUT (Z84.SIO.Ch_A.Ctrl),A
|
||||
INC A ;LD A,1
|
||||
OUT (Z84.SIO.Ch_A.Ctrl),A
|
||||
@ -964,5 +981,24 @@ KINIT XOR A ;LD A,0
|
||||
OUT (Z84.SIO.Ch_A.Ctrl),A
|
||||
RET
|
||||
|
||||
;[ ] 18/02/2024 能恥丞<E681A5> <20> 砲鄍祚垠平言 ~銗<EFBD9E>
|
||||
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
|
||||
;
|
||||
LD (IX+K_SHIFT),0
|
||||
LD (IX+KEYFLG),0
|
||||
;
|
||||
; LD A,(HOST)
|
||||
; LD (HEAD),A
|
||||
;
|
||||
AND A
|
||||
RET
|
||||
;//MODULE: KEYINTER
|
||||
;[END]
|
||||
@ -1 +1 @@
|
||||
912
|
||||
926
|
||||
@ -3,17 +3,18 @@
|
||||
;
|
||||
|
||||
;
|
||||
DEFINE SHORT_RSTx10_TABLE 0 ; 㪮à®ç¥ ï â ¡«¨æ äãªæ¨© rst #10. 96 äãªæ¨©.
|
||||
DEFINE SHORT_RSTx10_TABLE 0 ; 㪮à®ç¥ ï â ¡«¨æ äãªæ¨© rst #10. 96 äãªæ¨©.
|
||||
DEFINE COMPILE_UNUSED_CODE 0
|
||||
;
|
||||
|
||||
;
|
||||
DEFINE MOUSE_COM_BAUD 0 ; 1 - 2404, 2 - 4807, else - 1215 (default)
|
||||
DEFINE MOUSE_COM_BAUD 0 ; 1 - 2485, 2 - 4807, else - 1215 (default)
|
||||
DEFINE MOUSE_INT_ENABLED 0
|
||||
DEFINE MOUSE_READ_PORT_TIMEOUT 1280
|
||||
;
|
||||
|
||||
;
|
||||
;LD_DSK EQU 16 ; ¬ ªá¨¬ «ì®¥ ª®«¨ç¥á⢮ «®£¨ç¥áª¨å HDD ¤¨áª®¢ ¢ á¨á⥬¥
|
||||
;LD_DSK EQU 16 ; ¬ ªá¨¬ «ì®¥ ª®«¨ç¥á⢮ «®£¨ç¥áª¨å HDD ¤¨áª®¢ ¢ á¨á⥬¥
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
define _bit (1<?((FAT_CACHE.Sectors-1)
|
||||
@ -94,18 +95,18 @@ HANDBUF.SIZE EQU 32
|
||||
;
|
||||
;----------------------------------------------------;
|
||||
|
||||
IF MOUSE_COM_BAUD = 1
|
||||
IF MOUSE_COM_BAUD = 1
|
||||
MOUSE_BAUD:
|
||||
.multiplier_1 EQU #02 ; ¯¥à¢ë© ¬®¦¨â¥«ì = 2. 875000/Œ1*Œ2=2404
|
||||
.multiplier_2 EQU #B6 ; ¢â®à®© ¬®¦¨â¥«ì = 182. 875000/Œ1*Œ2=2404
|
||||
.multiplier_1 EQU %0100'0000 ; ¯¥à¢ë© ¬®¦¨â¥«ì = 16.
|
||||
.multiplier_2 EQU 22 ; ¢â®à®© ¬®¦¨â¥«ì = 22. 875000/Œ1*Œ2=2485
|
||||
ELSEIF MOUSE_COM_BAUD = 2
|
||||
MOUSE_BAUD:
|
||||
.multiplier_1 EQU #04 ; ¯¥à¢ë© ¬®¦¨â¥«ì = 1. 875000/Œ1*Œ2=4807
|
||||
.multiplier_2 EQU #B6 ; ¢â®à®© ¬®¦¨â¥«ì = 182. 875000/Œ1*Œ2=4807
|
||||
.multiplier_1 EQU %0000'0000 ; ¯¥à¢ë© ¬®¦¨â¥«ì = 1.
|
||||
.multiplier_2 EQU 182 ; ¢â®à®© ¬®¦¨â¥«ì = 182. 875000/Œ1*Œ2=4807
|
||||
ELSE
|
||||
MOUSE_BAUD:
|
||||
.multiplier_1 EQU #47 ; ¯¥à¢ë© ¬®¦¨â¥«ì = 16. 875000/Œ1*Œ2=1215
|
||||
.multiplier_2 EQU #2D ; ¢â®à®© ¬®¦¨â¥«ì = 45. 875000/Œ1*Œ2=1215
|
||||
.multiplier_1 EQU %0100'0000 ; ¯¥à¢ë© ¬®¦¨â¥«ì = 16.
|
||||
.multiplier_2 EQU 45 ; ¢â®à®© ¬®¦¨â¥«ì = 45. 875000/Œ1*Œ2=1215
|
||||
ENDIF
|
||||
;----------------------------------------------------;
|
||||
;
|
||||
@ -1 +1 @@
|
||||
Subproject commit 9a8cc2fa8438c6e27c72b60a7cfd3a2e3470b314
|
||||
Subproject commit dbf3e86b6290d71e5789cabf7af6981a5a42db0e
|
||||
Loading…
Reference in New Issue
Block a user