mirror of
https://github.com/Tolik-Trek/Estex-DSS.git
synced 2026-06-15 17:31:47 +03:00
...
This commit is contained in:
parent
1d38b8ae10
commit
336436ee76
@ -132,47 +132,46 @@ RST_0x30: JP INTMOUS ;
|
|||||||
;' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ';
|
;' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ';
|
||||||
;
|
;
|
||||||
|
|
||||||
;
|
////////////////////////////////////////////////////////////////////////
|
||||||
;' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ';
|
; <[MAIN INT]>
|
||||||
; <[MAIN INT]> ;
|
_mInfoBLOCK #38-$,#FF
|
||||||
_mInfoBLOCK #38-$,#FF ;
|
RST_38: ;¤«ï ⮣®, ç⮡ á®äâë ¬®£«¨ ¬¥ïâì ®¡à ¡®â稪 ᢮©.
|
||||||
RST_38: ;
|
JP RST_0x38
|
||||||
JP RST_0x38 ; <20>â®â ¤¦ ¬¯ 㦥, ç⮡ á®äâë ¬®£«¨ «¥£ª® ¬¥ïâì ®¡à ¡®â稪 ᢮©. Š®áâë«ì®.
|
RST_0x38:
|
||||||
RST_0x38: ;
|
INT_: PUSH AF
|
||||||
INT_: PUSH AF ;
|
EX AF,AF'
|
||||||
EX AF,AF' ;
|
PUSH AF
|
||||||
PUSH AF ;
|
PUSH BC
|
||||||
PUSH BC ;
|
PUSH DE
|
||||||
PUSH DE ;
|
PUSH HL
|
||||||
PUSH HL ;
|
EXX
|
||||||
EXX ;
|
PUSH BC
|
||||||
PUSH BC ;
|
PUSH DE
|
||||||
PUSH DE ;
|
PUSH HL
|
||||||
PUSH HL ;
|
PUSH IX
|
||||||
PUSH IX ;
|
PUSH IY
|
||||||
PUSH IY ;
|
CALL KEYSCAN
|
||||||
CALL KEYSCAN ;
|
; LD C,Dss.Mouse.GetPackets
|
||||||
LD C,#80 ;
|
; RST ToDSS.Mouse
|
||||||
RST ToDSS.Mouse ;
|
CALL M_INT
|
||||||
IFN CLASSIC_CURSOR ;
|
IFN CLASSIC_CURSOR
|
||||||
CALL cursor_interrupt; ¢¥ªâ®à ®¡á«ã¦. ªãàá®à ;!!!!! VASIL
|
CALL cursor_interrupt; ¢¥ªâ®à ®¡á«ã¦. ªãàá®à ;!!!!! VASIL
|
||||||
ENDIF ;
|
ENDIF
|
||||||
POP IY ;
|
POP IY
|
||||||
POP IX ;
|
POP IX
|
||||||
POP HL ;
|
POP HL
|
||||||
POP DE ;
|
POP DE
|
||||||
POP BC ;
|
POP BC
|
||||||
EXX ;
|
EXX
|
||||||
POP HL ;
|
POP HL
|
||||||
POP DE ;
|
POP DE
|
||||||
POP BC ;
|
POP BC
|
||||||
POP AF ;
|
POP AF
|
||||||
EX AF,AF' ;
|
EX AF,AF'
|
||||||
POP AF ;
|
POP AF
|
||||||
EI ;
|
EI
|
||||||
RETI ;
|
RETI
|
||||||
;' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ';
|
////////////////////////////////////////////////////////////////////////
|
||||||
;
|
|
||||||
|
|
||||||
;
|
;
|
||||||
NMI: RETN
|
NMI: RETN
|
||||||
|
|||||||
@ -628,16 +628,17 @@ READ_M: IN A,(PORT_MOUSE.Ctrl)
|
|||||||
RET Z
|
RET Z
|
||||||
|
|
||||||
;[x] mouse freeeeezzzz
|
;[x] mouse freeeeezzzz
|
||||||
LD BC,#2000
|
LD BC,MOUSE_READ_PORT_TIMEOUT
|
||||||
;
|
;
|
||||||
TST_01: IN A,(PORT_MOUSE.Ctrl)
|
.TST_01:
|
||||||
|
IN A,(PORT_MOUSE.Ctrl)
|
||||||
RRCA
|
RRCA
|
||||||
;[x] mouse freeeeezzzz
|
;[x] mouse freeeeezzzz
|
||||||
JR C,.NXT
|
JR C,.NXT
|
||||||
DEC BC
|
DEC BC
|
||||||
LD A,B
|
LD A,B
|
||||||
OR C
|
OR C
|
||||||
JR NZ,TST_01
|
JR NZ,.TST_01
|
||||||
RET
|
RET
|
||||||
;JR NC,TST_01
|
;JR NC,TST_01
|
||||||
;
|
;
|
||||||
@ -649,7 +650,7 @@ TST_01: IN A,(PORT_MOUSE.Ctrl)
|
|||||||
RET NZ
|
RET NZ
|
||||||
|
|
||||||
;[x] mouse freeeeezzzz
|
;[x] mouse freeeeezzzz
|
||||||
LD BC,#2000
|
LD BC,MOUSE_READ_PORT_TIMEOUT
|
||||||
;
|
;
|
||||||
TST_02: IN A,(PORT_MOUSE.Ctrl)
|
TST_02: IN A,(PORT_MOUSE.Ctrl)
|
||||||
RRCA
|
RRCA
|
||||||
@ -692,9 +693,9 @@ TST_02: IN A,(PORT_MOUSE.Ctrl)
|
|||||||
RLCA
|
RLCA
|
||||||
RLCA
|
RLCA
|
||||||
RES 6,A
|
RES 6,A
|
||||||
JR NC,STBU
|
JR NC,.STBU
|
||||||
SET 6,A
|
SET 6,A
|
||||||
STBU RLCA
|
.STBU: RLCA
|
||||||
RLCA
|
RLCA
|
||||||
AND #03
|
AND #03
|
||||||
LD (MB),A
|
LD (MB),A
|
||||||
@ -821,11 +822,12 @@ M_MODE LD (MODE_M),A
|
|||||||
JR Z,S320256
|
JR Z,S320256
|
||||||
CP 2
|
CP 2
|
||||||
JR Z,S640256
|
JR Z,S640256
|
||||||
UNKMODE XOR A ; ????? ¬®¦¥â âãâ ¤® .INVALID_COMMAND ?
|
UNKMODE:
|
||||||
|
XOR A ; ????? ¬®¦¥â âãâ ¤® .INVALID_COMMAND ?
|
||||||
SCF
|
SCF
|
||||||
RET
|
RET
|
||||||
|
|
||||||
S320256
|
S320256:
|
||||||
LD HL,0 ;MIN X
|
LD HL,0 ;MIN X
|
||||||
LD DE,319 ;MAX X
|
LD DE,319 ;MAX X
|
||||||
CALL MS_HORZ
|
CALL MS_HORZ
|
||||||
@ -835,7 +837,7 @@ S320256
|
|||||||
XOR A
|
XOR A
|
||||||
RET
|
RET
|
||||||
|
|
||||||
S640256
|
S640256:
|
||||||
LD HL,0 ;MIN X
|
LD HL,0 ;MIN X
|
||||||
LD DE,639 ;MAX X
|
LD DE,639 ;MAX X
|
||||||
CALL MS_HORZ
|
CALL MS_HORZ
|
||||||
@ -846,7 +848,7 @@ S640256
|
|||||||
RET
|
RET
|
||||||
|
|
||||||
;Mouse Interrupt
|
;Mouse Interrupt
|
||||||
M_INT IN A,(SLOT3)
|
M_INT: IN A,(SLOT3)
|
||||||
LD B,A
|
LD B,A
|
||||||
IN A,(PORT_Y)
|
IN A,(PORT_Y)
|
||||||
LD C,A
|
LD C,A
|
||||||
@ -867,25 +869,26 @@ M_REFR CALL CONTROL
|
|||||||
CONTROL CALL READ_M
|
CONTROL CALL READ_M
|
||||||
RET NC
|
RET NC
|
||||||
CALL MCORECT
|
CALL MCORECT
|
||||||
LD A,#00
|
;LD A,#00
|
||||||
LD (REDY),A
|
; XOR A
|
||||||
|
; LD (REDY),A
|
||||||
RET
|
RET
|
||||||
|
|
||||||
REFRESH:
|
REFRESH:
|
||||||
.hide+1: LD A,#01
|
.hide+1: LD A,#01
|
||||||
OR A
|
OR A
|
||||||
RET NZ
|
RET NZ
|
||||||
REDY+1: LD A,#00
|
;
|
||||||
;????? ¯®ç¥¬ã § ª®¬¬¥â¨à®¢ ® ¢ ®à¨£¨ «¥?
|
; REDY+1: LD A,#01
|
||||||
;OR A
|
; OR A
|
||||||
;RET NZ
|
; RET NZ
|
||||||
;
|
;
|
||||||
CALL RESTORE
|
CALL RESTORE
|
||||||
LD HL,(PIX_X)
|
LD HL,(PIX_X)
|
||||||
LD DE,(PIX_Y)
|
LD DE,(PIX_Y)
|
||||||
CALL MOUSE
|
CALL MOUSE
|
||||||
LD A,#FF
|
; LD A,#FF
|
||||||
LD (REDY),A
|
; LD (REDY),A
|
||||||
RET
|
RET
|
||||||
|
|
||||||
MODE_M: DB #03
|
MODE_M: DB #03
|
||||||
|
|||||||
@ -352,10 +352,10 @@ TESTKEY:
|
|||||||
K_CLEAR:
|
K_CLEAR:
|
||||||
LD A,(HOST)
|
LD A,(HOST)
|
||||||
LD (HEAD),A
|
LD (HEAD),A
|
||||||
LD A,#2F
|
LD A,Dss.WaitKey - 1
|
||||||
CP B
|
CP B
|
||||||
JR NC,.error
|
JR NC,.error
|
||||||
LD A,#34 ;R02
|
LD A,Dss.EDIT ;R02
|
||||||
CP B
|
CP B
|
||||||
JR C,.error
|
JR C,.error
|
||||||
LD C,B
|
LD C,B
|
||||||
@ -434,10 +434,10 @@ FULL_BF:
|
|||||||
KEYSCAN:
|
KEYSCAN:
|
||||||
LD IX,KEYFLAG
|
LD IX,KEYFLAG
|
||||||
.RESCAN:
|
.RESCAN:
|
||||||
IN A,(COM_A)
|
IN A,(Z84.SIO.Ch_A.Ctrl)
|
||||||
BIT 0,A
|
BIT 0,A
|
||||||
RET Z
|
RET Z
|
||||||
IN A,(DAT_A)
|
IN A,(Z84.SIO.Ch_A.Data)
|
||||||
CP #F0
|
CP #F0
|
||||||
JR Z,FULL_BF.F0_KEY
|
JR Z,FULL_BF.F0_KEY
|
||||||
CP #E0
|
CP #E0
|
||||||
@ -944,27 +944,24 @@ BPP2 DEC BC
|
|||||||
JR NZ,BEEP
|
JR NZ,BEEP
|
||||||
RET
|
RET
|
||||||
|
|
||||||
COM_A EQU #19 ;!FIXIT sp2000.inc
|
|
||||||
DAT_A EQU #18 ;!FIXIT sp2000.inc
|
|
||||||
|
|
||||||
KINIT XOR A ;LD A,0
|
KINIT XOR A ;LD A,0
|
||||||
OUT (COM_A),A
|
OUT (Z84.SIO.Ch_A.Ctrl),A
|
||||||
INC A ;LD A,1
|
INC A ;LD A,1
|
||||||
OUT (COM_A),A
|
OUT (Z84.SIO.Ch_A.Ctrl),A
|
||||||
XOR A ;LD A,0 ;#18
|
XOR A ;LD A,0 ;#18
|
||||||
OUT (COM_A),A
|
OUT (Z84.SIO.Ch_A.Ctrl),A
|
||||||
LD A,3
|
LD A,3
|
||||||
OUT (COM_A),A
|
OUT (Z84.SIO.Ch_A.Ctrl),A
|
||||||
LD A,#C1
|
LD A,#C1
|
||||||
OUT (COM_A),A
|
OUT (Z84.SIO.Ch_A.Ctrl),A
|
||||||
LD A,4
|
LD A,4
|
||||||
OUT (COM_A),A
|
OUT (Z84.SIO.Ch_A.Ctrl),A
|
||||||
LD A,#07 ;#05
|
LD A,#07 ;#05
|
||||||
OUT (COM_A),A
|
OUT (Z84.SIO.Ch_A.Ctrl),A
|
||||||
LD A,5
|
LD A,5
|
||||||
OUT (COM_A),A
|
OUT (Z84.SIO.Ch_A.Ctrl),A
|
||||||
LD A,#62
|
LD A,#62
|
||||||
OUT (COM_A),A
|
OUT (Z84.SIO.Ch_A.Ctrl),A
|
||||||
RET
|
RET
|
||||||
|
|
||||||
;//MODULE: KEYINTER
|
;//MODULE: KEYINTER
|
||||||
|
|||||||
@ -764,18 +764,18 @@ PRINT_INIT:
|
|||||||
|
|
||||||
; ª« ¢
|
; ª« ¢
|
||||||
XOR A ;LD A,0
|
XOR A ;LD A,0
|
||||||
OUT (COM_A),A
|
OUT (Z84.SIO.Ch_A.Ctrl),A
|
||||||
;[x] 29/9/23
|
;[x] 29/9/23
|
||||||
INC A
|
INC A
|
||||||
OUT (COM_A),A
|
OUT (Z84.SIO.Ch_A.Ctrl),A
|
||||||
DEC A
|
DEC A
|
||||||
;
|
;
|
||||||
OUT (COM_A),A
|
OUT (Z84.SIO.Ch_A.Ctrl),A
|
||||||
|
|
||||||
LD A,5
|
LD A,5
|
||||||
OUT (COM_A),A
|
OUT (Z84.SIO.Ch_A.Ctrl),A
|
||||||
LD A,#62 ; bit 7 - Direction for Bufer (0), Bit 1 - Bufer Enable (1)
|
LD A,#62 ; bit 7 - Direction for Bufer (0), Bit 1 - Bufer Enable (1)
|
||||||
OUT (COM_A),A
|
OUT (Z84.SIO.Ch_A.Ctrl),A
|
||||||
RET
|
RET
|
||||||
;//MODULE: VIDEO
|
;//MODULE: VIDEO
|
||||||
;[END]
|
;[END]
|
||||||
@ -1 +1 @@
|
|||||||
905
|
912
|
||||||
@ -8,7 +8,8 @@
|
|||||||
;
|
;
|
||||||
|
|
||||||
;
|
;
|
||||||
DEFINE MOUSE_COM_BAUD_4800 0
|
DEFINE MOUSE_COM_BAUD 0 ; 1 - 2404, 2 - 4807, else - 1215 (default)
|
||||||
|
DEFINE MOUSE_READ_PORT_TIMEOUT 1280
|
||||||
;
|
;
|
||||||
|
|
||||||
;
|
;
|
||||||
@ -92,7 +93,12 @@ HANDBUF.SIZE EQU 32
|
|||||||
|
|
||||||
;
|
;
|
||||||
;----------------------------------------------------;
|
;----------------------------------------------------;
|
||||||
IF MOUSE_COM_BAUD_4800
|
|
||||||
|
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
|
||||||
|
ELSEIF MOUSE_COM_BAUD = 2
|
||||||
MOUSE_BAUD:
|
MOUSE_BAUD:
|
||||||
.multiplier_1 EQU #04 ; ¯¥à¢ë© ¬®¦¨â¥«ì = 1. 875000/Œ1*Œ2=4807
|
.multiplier_1 EQU #04 ; ¯¥à¢ë© ¬®¦¨â¥«ì = 1. 875000/Œ1*Œ2=4807
|
||||||
.multiplier_2 EQU #B6 ; ¢â®à®© ¬®¦¨â¥«ì = 182. 875000/Œ1*Œ2=4807
|
.multiplier_2 EQU #B6 ; ¢â®à®© ¬®¦¨â¥«ì = 182. 875000/Œ1*Œ2=4807
|
||||||
|
|||||||
@ -5,7 +5,7 @@
|
|||||||
; Œ®¦® § ¤ âì ®¤¨ à£ã¬¥â - 梥â íªà .
|
; Œ®¦® § ¤ âì ®¤¨ à£ã¬¥â - 梥â íªà .
|
||||||
; …᫨ à£ã¬¥â ¥ § ¤ , ¨á¯. ¯®-㬮«ç ¨î #07.
|
; …᫨ à£ã¬¥â ¥ § ¤ , ¨á¯. ¯®-㬮«ç ¨î #07.
|
||||||
;///////////////////////////////////////////////////
|
;///////////////////////////////////////////////////
|
||||||
cmd_cls:ex de,hl ; hl=ª®¬-áâப
|
cmd_cls: ex de,hl ; hl=ª®¬-áâப
|
||||||
;ld de,T9186 ; ¡ãä¥à ¯®¤ ¯ à ¬¥âà
|
;ld de,T9186 ; ¡ãä¥à ¯®¤ ¯ à ¬¥âà
|
||||||
ld de,work_buffer1;
|
ld de,work_buffer1;
|
||||||
push de
|
push de
|
||||||
@ -36,8 +36,7 @@ cmd_cls:ex de,hl ; hl=
|
|||||||
jp c,invalid_param ; "Invalid parametr"
|
jp c,invalid_param ; "Invalid parametr"
|
||||||
or b
|
or b
|
||||||
ld b,a
|
ld b,a
|
||||||
cls_clear:
|
cls_clear: ld a,b
|
||||||
ld a,b
|
|
||||||
ld (color_screen),a ; âਡãâ
|
ld (color_screen),a ; âਡãâ
|
||||||
ld de,0 ; Y/X ¯®«®¦.
|
ld de,0 ; Y/X ¯®«®¦.
|
||||||
ld hl,#2050 ; Y/X à §¬¥à
|
ld hl,#2050 ; Y/X à §¬¥à
|
||||||
|
|||||||
@ -471,10 +471,10 @@ EvComComb:
|
|||||||
cp #50 ; Ins, ᬥ ०¨¬ ¢¢®¤
|
cp #50 ; Ins, ᬥ ०¨¬ ¢¢®¤
|
||||||
jr z,change_insert_mode
|
jr z,change_insert_mode
|
||||||
bit 5,b ; Ctrl ¡¨â
|
bit 5,b ; Ctrl ¡¨â
|
||||||
jr z,$+7
|
jr z,.exit
|
||||||
cp #4F+#80 ; Ctrl+Del, ®ç¨áâ¨âì ¨áâ®à¨î ª®¬ ¤
|
cp #4F+#80 ; Ctrl+Del, ®ç¨áâ¨âì ¨áâ®à¨î ª®¬ ¤
|
||||||
jp z,clear_history
|
jp z,clear_history
|
||||||
pop de
|
.exit: pop de
|
||||||
ret
|
ret
|
||||||
|
|
||||||
; ‘¬¥ ०¨¬ ¢¢®¤
|
; ‘¬¥ ०¨¬ ¢¢®¤
|
||||||
|
|||||||
@ -495,8 +495,8 @@ Restore_Screen:
|
|||||||
PUSH AF
|
PUSH AF
|
||||||
LD C,Dss.GetVMod
|
LD C,Dss.GetVMod
|
||||||
RST ToDSS
|
RST ToDSS
|
||||||
AND #80
|
CP #80
|
||||||
JR Z,.exit
|
JR C,.exit
|
||||||
LD BC,1 * 256 + Dss.SetVMod
|
LD BC,1 * 256 + Dss.SetVMod
|
||||||
LD A,Dss.SetVMod.txt80x32
|
LD A,Dss.SetVMod.txt80x32
|
||||||
RST ToDSS
|
RST ToDSS
|
||||||
|
|||||||
@ -1 +1 @@
|
|||||||
Subproject commit 9b22b7b05ab2b344b1778419d28da83ee74fb297
|
Subproject commit 9a8cc2fa8438c6e27c72b60a7cfd3a2e3470b314
|
||||||
Loading…
Reference in New Issue
Block a user