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]> ;
|
||||
_mInfoBLOCK #38-$,#FF ;
|
||||
RST_38: ;
|
||||
JP RST_0x38 ; <20>â®â ¤¦ ¬¯ 㦥, ç⮡ á®äâë ¬®£«¨ «¥£ª® ¬¥ïâì ®¡à ¡®â稪 ᢮©. Š®áâë«ì®.
|
||||
RST_0x38: ;
|
||||
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 ;
|
||||
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 ;
|
||||
;' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ';
|
||||
;
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
; <[MAIN INT]>
|
||||
_mInfoBLOCK #38-$,#FF
|
||||
RST_38: ;¤«ï ⮣®, ç⮡ á®äâë ¬®£«¨ ¬¥ïâì ®¡à ¡®â稪 ᢮©.
|
||||
JP RST_0x38
|
||||
RST_0x38:
|
||||
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,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
|
||||
|
||||
@ -628,16 +628,17 @@ READ_M: IN A,(PORT_MOUSE.Ctrl)
|
||||
RET Z
|
||||
|
||||
;[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
|
||||
;[x] mouse freeeeezzzz
|
||||
JR C,.NXT
|
||||
DEC BC
|
||||
LD A,B
|
||||
OR C
|
||||
JR NZ,TST_01
|
||||
JR NZ,.TST_01
|
||||
RET
|
||||
;JR NC,TST_01
|
||||
;
|
||||
@ -649,17 +650,17 @@ TST_01: IN A,(PORT_MOUSE.Ctrl)
|
||||
RET NZ
|
||||
|
||||
;[x] mouse freeeeezzzz
|
||||
LD BC,#2000
|
||||
LD BC,MOUSE_READ_PORT_TIMEOUT
|
||||
;
|
||||
TST_02: IN A,(PORT_MOUSE.Ctrl)
|
||||
RRCA
|
||||
;[x] mouse freeeeezzzz
|
||||
JR C,.NXT
|
||||
DEC BC
|
||||
LD A,B
|
||||
OR C
|
||||
JR NZ,TST_02
|
||||
RET
|
||||
JR C,.NXT
|
||||
DEC BC
|
||||
LD A,B
|
||||
OR C
|
||||
JR NZ,TST_02
|
||||
RET
|
||||
;JR NC,TST_02
|
||||
;
|
||||
.NXT: IN A,(PORT_MOUSE.Data)
|
||||
@ -692,9 +693,9 @@ TST_02: IN A,(PORT_MOUSE.Ctrl)
|
||||
RLCA
|
||||
RLCA
|
||||
RES 6,A
|
||||
JR NC,STBU
|
||||
JR NC,.STBU
|
||||
SET 6,A
|
||||
STBU RLCA
|
||||
.STBU: RLCA
|
||||
RLCA
|
||||
AND #03
|
||||
LD (MB),A
|
||||
@ -821,11 +822,12 @@ M_MODE LD (MODE_M),A
|
||||
JR Z,S320256
|
||||
CP 2
|
||||
JR Z,S640256
|
||||
UNKMODE XOR A ; ????? ¬®¦¥â âãâ ¤® .INVALID_COMMAND ?
|
||||
UNKMODE:
|
||||
XOR A ; ????? ¬®¦¥â âãâ ¤® .INVALID_COMMAND ?
|
||||
SCF
|
||||
RET
|
||||
|
||||
S320256
|
||||
S320256:
|
||||
LD HL,0 ;MIN X
|
||||
LD DE,319 ;MAX X
|
||||
CALL MS_HORZ
|
||||
@ -835,7 +837,7 @@ S320256
|
||||
XOR A
|
||||
RET
|
||||
|
||||
S640256
|
||||
S640256:
|
||||
LD HL,0 ;MIN X
|
||||
LD DE,639 ;MAX X
|
||||
CALL MS_HORZ
|
||||
@ -846,7 +848,7 @@ S640256
|
||||
RET
|
||||
|
||||
;Mouse Interrupt
|
||||
M_INT IN A,(SLOT3)
|
||||
M_INT: IN A,(SLOT3)
|
||||
LD B,A
|
||||
IN A,(PORT_Y)
|
||||
LD C,A
|
||||
@ -867,25 +869,26 @@ M_REFR CALL CONTROL
|
||||
CONTROL CALL READ_M
|
||||
RET NC
|
||||
CALL MCORECT
|
||||
LD A,#00
|
||||
LD (REDY),A
|
||||
;LD A,#00
|
||||
; XOR A
|
||||
; LD (REDY),A
|
||||
RET
|
||||
|
||||
REFRESH:
|
||||
.hide+1: LD A,#01
|
||||
OR A
|
||||
RET NZ
|
||||
REDY+1: LD A,#00
|
||||
;????? ¯®ç¥¬ã § ª®¬¬¥â¨à®¢ ® ¢ ®à¨£¨ «¥?
|
||||
;OR A
|
||||
;RET NZ
|
||||
;
|
||||
; REDY+1: LD A,#01
|
||||
; OR A
|
||||
; RET NZ
|
||||
;
|
||||
CALL RESTORE
|
||||
LD HL,(PIX_X)
|
||||
LD DE,(PIX_Y)
|
||||
CALL MOUSE
|
||||
LD A,#FF
|
||||
LD (REDY),A
|
||||
; LD A,#FF
|
||||
; LD (REDY),A
|
||||
RET
|
||||
|
||||
MODE_M: DB #03
|
||||
|
||||
@ -352,10 +352,10 @@ TESTKEY:
|
||||
K_CLEAR:
|
||||
LD A,(HOST)
|
||||
LD (HEAD),A
|
||||
LD A,#2F
|
||||
LD A,Dss.WaitKey - 1
|
||||
CP B
|
||||
JR NC,.error
|
||||
LD A,#34 ;R02
|
||||
LD A,Dss.EDIT ;R02
|
||||
CP B
|
||||
JR C,.error
|
||||
LD C,B
|
||||
@ -434,10 +434,10 @@ FULL_BF:
|
||||
KEYSCAN:
|
||||
LD IX,KEYFLAG
|
||||
.RESCAN:
|
||||
IN A,(COM_A)
|
||||
IN A,(Z84.SIO.Ch_A.Ctrl)
|
||||
BIT 0,A
|
||||
RET Z
|
||||
IN A,(DAT_A)
|
||||
IN A,(Z84.SIO.Ch_A.Data)
|
||||
CP #F0
|
||||
JR Z,FULL_BF.F0_KEY
|
||||
CP #E0
|
||||
@ -944,27 +944,24 @@ BPP2 DEC BC
|
||||
JR NZ,BEEP
|
||||
RET
|
||||
|
||||
COM_A EQU #19 ;!FIXIT sp2000.inc
|
||||
DAT_A EQU #18 ;!FIXIT sp2000.inc
|
||||
|
||||
KINIT XOR A ;LD A,0
|
||||
OUT (COM_A),A
|
||||
OUT (Z84.SIO.Ch_A.Ctrl),A
|
||||
INC A ;LD A,1
|
||||
OUT (COM_A),A
|
||||
OUT (Z84.SIO.Ch_A.Ctrl),A
|
||||
XOR A ;LD A,0 ;#18
|
||||
OUT (COM_A),A
|
||||
OUT (Z84.SIO.Ch_A.Ctrl),A
|
||||
LD A,3
|
||||
OUT (COM_A),A
|
||||
OUT (Z84.SIO.Ch_A.Ctrl),A
|
||||
LD A,#C1
|
||||
OUT (COM_A),A
|
||||
OUT (Z84.SIO.Ch_A.Ctrl),A
|
||||
LD A,4
|
||||
OUT (COM_A),A
|
||||
OUT (Z84.SIO.Ch_A.Ctrl),A
|
||||
LD A,#07 ;#05
|
||||
OUT (COM_A),A
|
||||
OUT (Z84.SIO.Ch_A.Ctrl),A
|
||||
LD A,5
|
||||
OUT (COM_A),A
|
||||
OUT (Z84.SIO.Ch_A.Ctrl),A
|
||||
LD A,#62
|
||||
OUT (COM_A),A
|
||||
OUT (Z84.SIO.Ch_A.Ctrl),A
|
||||
RET
|
||||
|
||||
;//MODULE: KEYINTER
|
||||
|
||||
@ -764,18 +764,18 @@ PRINT_INIT:
|
||||
|
||||
; ª« ¢
|
||||
XOR A ;LD A,0
|
||||
OUT (COM_A),A
|
||||
OUT (Z84.SIO.Ch_A.Ctrl),A
|
||||
;[x] 29/9/23
|
||||
INC A
|
||||
OUT (COM_A),A
|
||||
OUT (Z84.SIO.Ch_A.Ctrl),A
|
||||
DEC A
|
||||
;
|
||||
OUT (COM_A),A
|
||||
OUT (Z84.SIO.Ch_A.Ctrl),A
|
||||
|
||||
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)
|
||||
OUT (COM_A),A
|
||||
OUT (Z84.SIO.Ch_A.Ctrl),A
|
||||
RET
|
||||
;//MODULE: VIDEO
|
||||
;[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:
|
||||
.multiplier_1 EQU #04 ; ¯¥à¢ë© ¬®¦¨â¥«ì = 1. 875000/Œ1*Œ2=4807
|
||||
.multiplier_2 EQU #B6 ; ¢â®à®© ¬®¦¨â¥«ì = 182. 875000/Œ1*Œ2=4807
|
||||
|
||||
@ -5,49 +5,48 @@
|
||||
; Œ®¦® § ¤ âì ®¤¨ à£ã¬¥â - 梥â íªà .
|
||||
; …᫨ à£ã¬¥â ¥ § ¤ , ¨á¯. ¯®-㬮«ç ¨î #07.
|
||||
;///////////////////////////////////////////////////
|
||||
cmd_cls:ex de,hl ; hl=ª®¬-áâப
|
||||
;ld de,T9186 ; ¡ãä¥à ¯®¤ ¯ à ¬¥âà
|
||||
ld de,work_buffer1;
|
||||
push de
|
||||
ld c,Dss.GSwitch ; ¢ë¤¥«¨âì ¯ à ¬¥âà ª®¬-áâப¨
|
||||
RST ToDSS
|
||||
pop hl
|
||||
jp nc,invalid_param ; "Invalid parametr" (>1 ¯ à ¬.)
|
||||
ld b,7 ; âਡãâ ®ç¨á⪨ ¯®-㬮«ç ¨î
|
||||
ld a,(hl)
|
||||
or a
|
||||
jr z,cls_clear
|
||||
call ascii2byte
|
||||
jp c,invalid_param ; "Invalid parametr"
|
||||
and 7
|
||||
ld b,a
|
||||
inc hl
|
||||
ld a,(hl)
|
||||
or a
|
||||
jr z,cls_clear
|
||||
ld a,b
|
||||
rlca
|
||||
rlca
|
||||
rlca
|
||||
rlca
|
||||
ld b,a
|
||||
ld a,(hl)
|
||||
call ascii2byte
|
||||
jp c,invalid_param ; "Invalid parametr"
|
||||
or b
|
||||
ld b,a
|
||||
cls_clear:
|
||||
ld a,b
|
||||
ld (color_screen),a ; âਡãâ
|
||||
ld de,0 ; Y/X ¯®«®¦.
|
||||
ld hl,#2050 ; Y/X à §¬¥à
|
||||
ld c,BIOS.LP_CLS_WIN ; ®ç¨áâ¨âì ®ª® (¢ë¢®¤®¬ ¯à®¡¥«®¢)
|
||||
RST ToBIOS
|
||||
; ãáâ. ªãàá®à ¢ Home
|
||||
ld de,0 ; Y/X ¯®«®¦.
|
||||
ld c,Dss.Locate
|
||||
RST ToDSS
|
||||
ret
|
||||
cmd_cls: ex de,hl ; hl=ª®¬-áâப
|
||||
;ld de,T9186 ; ¡ãä¥à ¯®¤ ¯ à ¬¥âà
|
||||
ld de,work_buffer1;
|
||||
push de
|
||||
ld c,Dss.GSwitch ; ¢ë¤¥«¨âì ¯ à ¬¥âà ª®¬-áâப¨
|
||||
RST ToDSS
|
||||
pop hl
|
||||
jp nc,invalid_param ; "Invalid parametr" (>1 ¯ à ¬.)
|
||||
ld b,7 ; âਡãâ ®ç¨á⪨ ¯®-㬮«ç ¨î
|
||||
ld a,(hl)
|
||||
or a
|
||||
jr z,cls_clear
|
||||
call ascii2byte
|
||||
jp c,invalid_param ; "Invalid parametr"
|
||||
and 7
|
||||
ld b,a
|
||||
inc hl
|
||||
ld a,(hl)
|
||||
or a
|
||||
jr z,cls_clear
|
||||
ld a,b
|
||||
rlca
|
||||
rlca
|
||||
rlca
|
||||
rlca
|
||||
ld b,a
|
||||
ld a,(hl)
|
||||
call ascii2byte
|
||||
jp c,invalid_param ; "Invalid parametr"
|
||||
or b
|
||||
ld b,a
|
||||
cls_clear: ld a,b
|
||||
ld (color_screen),a ; âਡãâ
|
||||
ld de,0 ; Y/X ¯®«®¦.
|
||||
ld hl,#2050 ; Y/X à §¬¥à
|
||||
ld c,BIOS.LP_CLS_WIN ; ®ç¨áâ¨âì ®ª® (¢ë¢®¤®¬ ¯à®¡¥«®¢)
|
||||
RST ToBIOS
|
||||
; ãáâ. ªãàá®à ¢ Home
|
||||
ld de,0 ; Y/X ¯®«®¦.
|
||||
ld c,Dss.Locate
|
||||
RST ToDSS
|
||||
ret
|
||||
|
||||
|
||||
; ascii -> int
|
||||
|
||||
@ -471,10 +471,10 @@ EvComComb:
|
||||
cp #50 ; Ins, ᬥ ०¨¬ ¢¢®¤
|
||||
jr z,change_insert_mode
|
||||
bit 5,b ; Ctrl ¡¨â
|
||||
jr z,$+7
|
||||
jr z,.exit
|
||||
cp #4F+#80 ; Ctrl+Del, ®ç¨áâ¨âì ¨áâ®à¨î ª®¬ ¤
|
||||
jp z,clear_history
|
||||
pop de
|
||||
.exit: pop de
|
||||
ret
|
||||
|
||||
; ‘¬¥ ०¨¬ ¢¢®¤
|
||||
|
||||
@ -492,14 +492,14 @@ PDIGIT: ld de,10000
|
||||
|
||||
|
||||
Restore_Screen:
|
||||
PUSH AF
|
||||
LD C,Dss.GetVMod
|
||||
RST ToDSS
|
||||
AND #80
|
||||
JR Z,.exit
|
||||
LD BC,1 * 256 + Dss.SetVMod
|
||||
LD A,Dss.SetVMod.txt80x32
|
||||
RST ToDSS
|
||||
PUSH AF
|
||||
LD C,Dss.GetVMod
|
||||
RST ToDSS
|
||||
CP #80
|
||||
JR C,.exit
|
||||
LD BC,1 * 256 + Dss.SetVMod
|
||||
LD A,Dss.SetVMod.txt80x32
|
||||
RST ToDSS
|
||||
.exit: POP AF
|
||||
RET
|
||||
|
||||
|
||||
@ -1 +1 @@
|
||||
Subproject commit 9b22b7b05ab2b344b1778419d28da83ee74fb297
|
||||
Subproject commit 9a8cc2fa8438c6e27c72b60a7cfd3a2e3470b314
|
||||
Loading…
Reference in New Issue
Block a user