mirror of
https://github.com/Tolik-Trek/DOOM2.git
synced 2026-06-15 09:01:34 +03:00
179 lines
1.9 KiB
NASM
179 lines
1.9 KiB
NASM
|
|
|
|
CMOUSE EQU 1BH
|
|
DMOUSE EQU 1AH
|
|
VSIZEX EQU 256 ;X SIZE SCREEN
|
|
VSIZEY EQU 256 ;Y SIZE SCREEN
|
|
|
|
INTERUPT:
|
|
CALL READ_M
|
|
CALL C,MCORECT
|
|
RET
|
|
|
|
;READING MOUSE
|
|
; HL - X COORD
|
|
; DE - Y COORD
|
|
; A - BUTTONS
|
|
; D0 - LEFT
|
|
; D1 - RIGHT
|
|
|
|
MS_READ:
|
|
LD HL,(PIX_X)
|
|
LD DE,(PIX_Y)
|
|
LD A,(MB)
|
|
RET
|
|
|
|
;INITIALIZING COM PORT
|
|
MS_INIT:
|
|
DI
|
|
LD A,85
|
|
OUT (10H),A
|
|
LD A,45
|
|
OUT (10H),A
|
|
LD A,0
|
|
OUT (CMOUSE),A
|
|
LD A,1
|
|
OUT (CMOUSE),A
|
|
LD A,0
|
|
OUT (CMOUSE),A
|
|
LD A,3
|
|
OUT (CMOUSE),A
|
|
LD A,41H
|
|
OUT (CMOUSE),A
|
|
LD A,4
|
|
OUT (CMOUSE),A
|
|
LD A,47H
|
|
OUT (CMOUSE),A
|
|
LD A,5
|
|
OUT (CMOUSE),A
|
|
LD A,0E0H
|
|
OUT (CMOUSE),A
|
|
EI
|
|
RET
|
|
|
|
READ_M:
|
|
IN A,(CMOUSE)
|
|
RRCA
|
|
RET NC
|
|
IN A,(DMOUSE)
|
|
LD L,A
|
|
BIT 6,A
|
|
CCF
|
|
RET Z
|
|
TST_01:
|
|
IN A,(CMOUSE)
|
|
RRCA
|
|
JP NC,TST_01
|
|
IN A,(DMOUSE)
|
|
LD E,A
|
|
BIT 6,A
|
|
CCF
|
|
RET NZ
|
|
TST_02: IN A,(CMOUSE)
|
|
RRCA
|
|
JP NC,TST_02
|
|
IN A,(DMOUSE)
|
|
LD D,A
|
|
BIT 6,A
|
|
CCF
|
|
RET NZ
|
|
LD A,E
|
|
AND 03FH
|
|
LD E,A
|
|
LD A,L
|
|
AND 003H
|
|
RRCA
|
|
RRCA
|
|
OR E
|
|
LD E,A
|
|
LD A,D
|
|
AND 03FH
|
|
LD D,A
|
|
LD A,L
|
|
AND 00CH
|
|
RRCA
|
|
RRCA
|
|
RRCA
|
|
RRCA
|
|
OR D
|
|
LD D,A
|
|
LD A,L
|
|
RLCA
|
|
RLCA
|
|
RLCA
|
|
RES 6,A
|
|
JR NC,STBU
|
|
SET 6,A
|
|
STBU: RLCA
|
|
RLCA
|
|
AND 03H
|
|
LD (MB),A
|
|
LD A,E
|
|
LD (MX),A
|
|
LD A,D
|
|
LD (MY),A
|
|
SCF
|
|
RET
|
|
|
|
MCORECT:
|
|
LD HL,(PIX_X)
|
|
LD DE,(MX)
|
|
LD D,0
|
|
BIT 7,E
|
|
JP NZ,DECX
|
|
ADD HL,DE
|
|
LD (PIX_X),HL
|
|
EX DE,HL
|
|
LD HL,VSIZEX-1
|
|
AND A
|
|
SBC HL,DE
|
|
JP NC,YCOO
|
|
LD HL,VSIZEX-1
|
|
LD (PIX_X),HL
|
|
JP YCOO
|
|
DECX: LD A,E
|
|
NEG
|
|
LD E,A
|
|
AND A
|
|
SBC HL,DE
|
|
LD (PIX_X),HL
|
|
JP NC,YCOO
|
|
LD HL,0
|
|
LD (PIX_X),HL
|
|
YCOO: LD HL,(PIX_Y)
|
|
LD DE,(MY)
|
|
LD D,0
|
|
BIT 7,E
|
|
JP NZ,DECY
|
|
ADD HL,DE
|
|
LD (PIX_Y),HL
|
|
EX DE,HL
|
|
LD HL,VSIZEY-1
|
|
AND A
|
|
SBC HL,DE
|
|
RET NC
|
|
LD HL,VSIZEY-1
|
|
LD (PIX_Y),HL
|
|
RET
|
|
|
|
DECY: LD A,E
|
|
NEG
|
|
LD E,A
|
|
AND A
|
|
SBC HL,DE
|
|
LD (PIX_Y),HL
|
|
RET NC
|
|
LD HL,0
|
|
LD (PIX_Y),HL
|
|
RET
|
|
|
|
PIX_X: DEFW 128
|
|
PIX_Y: DEFW 128
|
|
|
|
MX: DEFB 00
|
|
MY: DEFB 00
|
|
MB: DEFB 00
|
|
|
|
|
|
|