mirror of
https://github.com/Tolik-Trek/Estex-DSS.git
synced 2026-06-15 17:31:47 +03:00
bug fixes
This commit is contained in:
parent
35fbce1274
commit
7c9c4311a4
@ -115,36 +115,7 @@ RST_30: JP MOUSE_DRV.API
|
|||||||
////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////
|
||||||
; <[MAIN INT]> ;
|
; <[MAIN INT]> ;
|
||||||
BLOCK #38-$,#C7 ;
|
BLOCK #38-$,#C7 ;
|
||||||
A0038: ;
|
/*
|
||||||
; JP RST_38 ;
|
|
||||||
; RST_38: ;
|
|
||||||
; INT_: PUSH AF ;
|
|
||||||
; EX AF,AF' ;
|
|
||||||
; PUSH AF ;
|
|
||||||
; PUSH BC ;
|
|
||||||
; PUSH DE ;
|
|
||||||
; PUSH HL ;
|
|
||||||
; EXX ;
|
|
||||||
; PUSH BC ;
|
|
||||||
; PUSH DE ;
|
|
||||||
; PUSH HL ;
|
|
||||||
; PUSH IX ;
|
|
||||||
; PUSH IY ;
|
|
||||||
; CALL KEYSCAN ;
|
|
||||||
; LD C,#80 ;
|
|
||||||
; RST ToDSS.Mouse ;
|
|
||||||
; POP IY ;
|
|
||||||
; POP IX ;
|
|
||||||
; POP HL ;
|
|
||||||
; POP DE ;
|
|
||||||
; POP BC ;
|
|
||||||
; EXX ;
|
|
||||||
; POP HL ;
|
|
||||||
; POP DE ;
|
|
||||||
; POP BC ;
|
|
||||||
; POP AF ;
|
|
||||||
; EX AF,AF' ;
|
|
||||||
; POP AF ;
|
|
||||||
;!TEST SIO INT
|
;!TEST SIO INT
|
||||||
; reg 0 - error reset
|
; reg 0 - error reset
|
||||||
IF KEYBOARD_INT_ENABLED && MOUSE_INT_ENABLED == 0
|
IF KEYBOARD_INT_ENABLED && MOUSE_INT_ENABLED == 0
|
||||||
@ -179,6 +150,15 @@ A0038: ;
|
|||||||
ENDIF
|
ENDIF
|
||||||
EI ;
|
EI ;
|
||||||
RETI ;
|
RETI ;
|
||||||
|
*/
|
||||||
|
RST_38_DRV: JP .Portal
|
||||||
|
BLOCK RST_38_IM1.Portal - $,0
|
||||||
|
.Portal: PUSH AF
|
||||||
|
LD A,(DRV_PAGE.MAIN_PAGE_NUMBER)
|
||||||
|
OUT (SLOT0),A
|
||||||
|
POP AF
|
||||||
|
EI
|
||||||
|
RETI
|
||||||
////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -139,53 +139,31 @@ RST_0x30: PUSH AF
|
|||||||
////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////
|
||||||
; <[MAIN INT]>
|
; <[MAIN INT]>
|
||||||
_mInfoBLOCK #38-$,#FF
|
_mInfoBLOCK #38-$,#FF
|
||||||
RST_38: ;¤«ï ⮣®, ç⮡ á®äâë ¬®£«¨ ¬¥ïâì ®¡à ¡®â稪 ᢮©.
|
;¤«ï ⮣®, ç⮡ á®äâë ¬®£«¨ ¬¥ïâì ®¡à ¡®â稪 ᢮©.
|
||||||
JP RST_0x38
|
RST_38_IM1: JP .Handler
|
||||||
RST_0x38:
|
.Handler: CALL INTx38_Handler
|
||||||
INT_: PUSH AF
|
EI
|
||||||
EX AF,AF'
|
RETI
|
||||||
PUSH AF
|
;
|
||||||
PUSH BC
|
.Portal: PUSH AF
|
||||||
PUSH DE
|
LD A,(RST_0x30.drv_page)
|
||||||
PUSH HL
|
OUT (SLOT0),A
|
||||||
EXX
|
POP AF
|
||||||
PUSH BC
|
CALL INTx38_Handler
|
||||||
PUSH DE
|
JR .Portal
|
||||||
PUSH HL
|
;
|
||||||
PUSH IX
|
|
||||||
PUSH IY
|
|
||||||
CALL KEYSCAN
|
|
||||||
LD C,Dss.Mouse.GetPackets
|
|
||||||
RST ToDSS.Mouse
|
|
||||||
;CALL M_INT
|
|
||||||
IFN CLASSIC_CURSOR
|
|
||||||
CALL cursor_interrupt; ¢¥ªâ®à ®¡á«ã¦. ªãàá®à ;!!!!! VASIL
|
|
||||||
ENDIF
|
|
||||||
POP IY
|
|
||||||
POP IX
|
|
||||||
POP HL
|
|
||||||
POP DE
|
|
||||||
POP BC
|
|
||||||
EXX
|
|
||||||
POP HL
|
|
||||||
POP DE
|
|
||||||
POP BC
|
|
||||||
POP AF
|
|
||||||
EX AF,AF'
|
|
||||||
POP AF
|
|
||||||
EI
|
|
||||||
RETI
|
|
||||||
////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
;
|
;
|
||||||
NMI: RETN
|
;NMI: RETN
|
||||||
;
|
;
|
||||||
|
|
||||||
;
|
;
|
||||||
;' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ';
|
;' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ';
|
||||||
; <[ NMI ]> ;
|
; <[ NMI ]> ;
|
||||||
_mInfoBLOCK #66-$,#FF ;
|
_mInfoBLOCK #66-$,#FF ;
|
||||||
NMI_0x66: JP NMI ;
|
NMI_0x66: RETN ;JP NMI ;
|
||||||
;' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ';
|
;' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ';
|
||||||
;
|
;
|
||||||
|
|
||||||
@ -278,6 +256,39 @@ CLEAR_BUFFER_AND_INIT_PROC:
|
|||||||
JP VERSION
|
JP VERSION
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
INTx38_Handler: PUSH AF
|
||||||
|
EX AF,AF'
|
||||||
|
PUSH AF
|
||||||
|
PUSH BC
|
||||||
|
PUSH DE
|
||||||
|
PUSH HL
|
||||||
|
EXX
|
||||||
|
PUSH BC
|
||||||
|
PUSH DE
|
||||||
|
PUSH HL
|
||||||
|
PUSH IX
|
||||||
|
PUSH IY
|
||||||
|
CALL KEYSCAN
|
||||||
|
LD C,Dss.Mouse.GetPackets
|
||||||
|
RST ToDSS.Mouse
|
||||||
|
;CALL M_INT
|
||||||
|
IFN CLASSIC_CURSOR
|
||||||
|
CALL cursor_interrupt; ¢¥ªâ®à ®¡á«ã¦. ªãàá®à ;!!!!! VASIL
|
||||||
|
ENDIF
|
||||||
|
POP IY
|
||||||
|
POP IX
|
||||||
|
POP HL
|
||||||
|
POP DE
|
||||||
|
POP BC
|
||||||
|
EXX
|
||||||
|
POP HL
|
||||||
|
POP DE
|
||||||
|
POP BC
|
||||||
|
POP AF
|
||||||
|
EX AF,AF'
|
||||||
|
POP AF
|
||||||
|
RET
|
||||||
;R03
|
;R03
|
||||||
;R07Allocate memory
|
;R07Allocate memory
|
||||||
; LD BC,#03C2
|
; LD BC,#03C2
|
||||||
|
|||||||
@ -7,24 +7,24 @@
|
|||||||
;
|
;
|
||||||
|
|
||||||
;
|
;
|
||||||
DEFINE SHORT_RSTx10_TABLE 0 ; 㪮à®ç¥ ï â ¡«¨æ äãªæ¨© rst #10. 96 äãªæ¨©.
|
DEFINE SHORT_RSTx10_TABLE 0 ; 㪮à®ç¥ ï â ¡«¨æ äãªæ¨© rst #10. 96 äãªæ¨©.
|
||||||
DEFINE COMPILE_UNUSED_CODE 0
|
DEFINE COMPILE_UNUSED_CODE 0
|
||||||
;
|
;
|
||||||
|
|
||||||
; MOUSE
|
; MOUSE
|
||||||
DEFINE MOUSE_COM_BAUD 0 ; 1 - 2485, 2 - 4807, else - 1215 (default)
|
DEFINE MOUSE_COM_BAUD 0 ; 1 - 2485, 2 - 4807, else - 1215 (default)
|
||||||
DEFINE MOUSE_INT_ENABLED 0 ; INT from SIO ch. B
|
DEFINE MOUSE_INT_ENABLED 0 ; INT from SIO ch. B
|
||||||
DEFINE MOUSE_READ_PORT_TIMEOUT 16*1024 ; Š®áâë«ìë© â ©¬- ãâ ®¦¨¤ ¨¥ ¡ ©â ®â ¬ë誨.
|
DEFINE MOUSE_READ_PORT_TIMEOUT 5*512 ; Š®áâë«ìë© â ©¬- ãâ ®¦¨¤ ¨¥ ¡ ©â ®â ¬ë誨. …᫨ = 0, â® «¨è¨© ª®¤ ¥ ª®¬¯¨«¨âáï
|
||||||
|
|
||||||
; KEYBOARD
|
; KEYBOARD
|
||||||
DEFINE KEYBOARD_INT_ENABLED 0 ; INT from SIO ch. A
|
DEFINE KEYBOARD_INT_ENABLED 0 ; INT from SIO ch. A
|
||||||
DEFINE CHANGE_LANG_CTRL_SHIFT 1 ; [x] 0: Ctrl + Space, 1: Ctrl + Shift.
|
DEFINE CHANGE_LANG_CTRL_SHIFT 1 ; [x] 0: Ctrl + Space, 1: Ctrl + Shift.
|
||||||
DEFINE BREAK_PROCESS_CODE #AC00 ; CTRL+C
|
DEFINE BREAK_PROCESS_CODE #AC00 ; CTRL+C
|
||||||
DEFINE USE_E1_SCANCODE 0
|
DEFINE USE_E1_SCANCODE 0
|
||||||
DEFINE CLASSIC_CURSOR 0
|
DEFINE CLASSIC_CURSOR 0
|
||||||
;
|
;
|
||||||
|
|
||||||
;LD_DSK EQU 16 ; ¬ ªá¨¬ «ì®¥ ª®«¨ç¥á⢮ «®£¨ç¥áª¨å HDD ¤¨áª®¢ ¢ á¨á⥬¥
|
;LD_DSK EQU 16 ; ¬ ªá¨¬ «ì®¥ ª®«¨ç¥á⢮ «®£¨ç¥áª¨å HDD ¤¨áª®¢ ¢ á¨á⥬¥
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
DEFINE CHANGE_FREE_CLU_AFTER_DEL 1
|
DEFINE CHANGE_FREE_CLU_AFTER_DEL 1
|
||||||
|
|||||||
@ -14,20 +14,25 @@ PORT_MOUSE.Data EQU Z84.SIO.Ch_B.Data
|
|||||||
RRCA
|
RRCA
|
||||||
RET NC
|
RET NC
|
||||||
ELSE
|
ELSE
|
||||||
;[x] mouse freeeeezzzz
|
IF MOUSE_READ_PORT_TIMEOUT != 0
|
||||||
;LD BC,MOUSE_READ_PORT_TIMEOUT
|
;[x] mouse bug
|
||||||
|
LD BC,MOUSE_READ_PORT_TIMEOUT
|
||||||
;
|
;
|
||||||
|
ENDIF
|
||||||
.READ_BYTE: IN A,(PORT_MOUSE.Ctrl)
|
.READ_BYTE: IN A,(PORT_MOUSE.Ctrl)
|
||||||
RRCA
|
RRCA
|
||||||
;[x] mouse freeeeezzzz
|
IF MOUSE_READ_PORT_TIMEOUT != 0
|
||||||
;JR C,.NEXT
|
;[x] mouse bug
|
||||||
;DEC BC
|
JR C,.NEXT
|
||||||
;LD A,B
|
DEC BC
|
||||||
;OR C
|
LD A,B
|
||||||
;JR NZ,.READ_BYTE
|
OR C
|
||||||
;RET
|
JR NZ,.READ_BYTE
|
||||||
JR NC,.READ_BYTE
|
RET
|
||||||
.NEXT: ;
|
.NEXT: ;
|
||||||
|
ELSE
|
||||||
|
JR NC,.READ_BYTE
|
||||||
|
ENDIF
|
||||||
ENDIF
|
ENDIF
|
||||||
ENDM
|
ENDM
|
||||||
////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////
|
||||||
@ -678,7 +683,7 @@ CLEAR_MOUSE_BUFFER:
|
|||||||
|
|
||||||
;----------------------------------------------------------------------;
|
;----------------------------------------------------------------------;
|
||||||
|
|
||||||
READ_M: /*;[ ] 18/02/2024 能恥丞<E681A5> <20> 砲鄍祚垠平言 ~銗<EFBD9E>
|
READ_M: ;[ ] 18/02/2024 能恥丞<E681A5> <20> 砲鄍祚垠平言 ~銗<EFBD9E>
|
||||||
; reg 1
|
; reg 1
|
||||||
LD A,1
|
LD A,1
|
||||||
OUT (PORT_MOUSE.Ctrl),A
|
OUT (PORT_MOUSE.Ctrl),A
|
||||||
@ -698,7 +703,6 @@ READ_M: /*;[ ] 18/02/2024
|
|||||||
;
|
;
|
||||||
JR CLEAR_MOUSE_BUFFER
|
JR CLEAR_MOUSE_BUFFER
|
||||||
;
|
;
|
||||||
*/
|
|
||||||
IF MOUSE_INT_ENABLED
|
IF MOUSE_INT_ENABLED
|
||||||
.Prepare: LD HL,.Step
|
.Prepare: LD HL,.Step
|
||||||
LD A,(HL)
|
LD A,(HL)
|
||||||
@ -722,8 +726,8 @@ READ_M: /*;[ ] 18/02/2024
|
|||||||
LD L,A
|
LD L,A
|
||||||
ENDIF
|
ENDIF
|
||||||
AND %0100'0000
|
AND %0100'0000
|
||||||
RET Z
|
;RET Z
|
||||||
;JP Z,CLEAR_MOUSE_BUFFER
|
JP Z,CLEAR_MOUSE_BUFFER
|
||||||
;
|
;
|
||||||
IF MOUSE_INT_ENABLED
|
IF MOUSE_INT_ENABLED
|
||||||
INC (HL)
|
INC (HL)
|
||||||
@ -745,10 +749,10 @@ READ_M: /*;[ ] 18/02/2024
|
|||||||
LD E,A
|
LD E,A
|
||||||
AND %0100'0000
|
AND %0100'0000
|
||||||
;!TEST
|
;!TEST
|
||||||
RET NZ
|
;RET NZ
|
||||||
;JR Z,.READ_THIRD_BYTE
|
JR Z,.READ_THIRD_BYTE
|
||||||
;LD L,E
|
LD L,E
|
||||||
;JR .READ_SECOND_BYTE
|
JR .READ_SECOND_BYTE
|
||||||
ENDIF
|
ENDIF
|
||||||
;
|
;
|
||||||
.READ_THIRD_BYTE:
|
.READ_THIRD_BYTE:
|
||||||
@ -769,10 +773,10 @@ READ_M: /*;[ ] 18/02/2024
|
|||||||
LD D,A
|
LD D,A
|
||||||
AND %0100'0000
|
AND %0100'0000
|
||||||
;!TEST
|
;!TEST
|
||||||
RET NZ
|
;RET NZ
|
||||||
;JR Z,.packet_end
|
JR Z,.packet_end
|
||||||
;LD L,D
|
LD L,D
|
||||||
;JR .READ_SECOND_BYTE
|
JR .READ_SECOND_BYTE
|
||||||
.packet_end: ;
|
.packet_end: ;
|
||||||
ENDIF
|
ENDIF
|
||||||
;
|
;
|
||||||
@ -901,9 +905,9 @@ SENSE: LD HL,(SENSEXY)
|
|||||||
RET Z
|
RET Z
|
||||||
DEC A
|
DEC A
|
||||||
RET Z
|
RET Z
|
||||||
; CP 2
|
; CP 2
|
||||||
; CCF
|
; CCF
|
||||||
; JR NC,.check_Y
|
; JR NC,.check_Y
|
||||||
;
|
;
|
||||||
LD A,E
|
LD A,E
|
||||||
BIT 7,A
|
BIT 7,A
|
||||||
@ -924,10 +928,10 @@ SENSE: LD HL,(SENSEXY)
|
|||||||
.next: LD E,B
|
.next: LD E,B
|
||||||
; [x] 15/03/2024 ⥯¥àì ¯®¯à ¢ª¨ çã¢á⢨⥫ì®á⨠¯® ª®®à¤¨ â ¬ à ¡®â îâ ª®à४â®
|
; [x] 15/03/2024 ⥯¥àì ¯®¯à ¢ª¨ çã¢á⢨⥫ì®á⨠¯® ª®®à¤¨ â ¬ à ¡®â îâ ª®à४â®
|
||||||
.check_Y:
|
.check_Y:
|
||||||
LD A,H
|
; LD A,H
|
||||||
CP 2
|
; CP 2
|
||||||
CCF
|
; CCF
|
||||||
RET NC
|
; RET NC
|
||||||
;
|
;
|
||||||
LD A,D
|
LD A,D
|
||||||
BIT 7,A
|
BIT 7,A
|
||||||
@ -1055,7 +1059,7 @@ MIN_Y: DW 0
|
|||||||
MAX_Y: DW 255
|
MAX_Y: DW 255
|
||||||
SENSEXY: ; ‘í ‘íªá¨
|
SENSEXY: ; ‘í ‘íªá¨
|
||||||
.X: DB 0
|
.X: DB 0
|
||||||
.Y: DB 2
|
.Y: DB 0
|
||||||
|
|
||||||
XHOT_SP: DW 0
|
XHOT_SP: DW 0
|
||||||
YHOT_SP: DW 0
|
YHOT_SP: DW 0
|
||||||
|
|||||||
@ -1 +1 @@
|
|||||||
Subproject commit 399bf41c5cbd12d2866204ee3ff1cc357a3d3a99
|
Subproject commit 1cb8eb13fb8e8b20bba324a5ab9f4e18d6bf8b3c
|
||||||
Loading…
Reference in New Issue
Block a user