ZXNet эхоконференция «code.zx»


тема: курсор



от: Nik Aleksandrovich
кому: All
дата: 06 May 2004
Рад приветствовать, All !
Пишу тебе из гоорящего танка ...

народ !!!!!!!
просьба.....
киньте хтось прогу курсора, шоб с серенькой тожа работал...
желательно динамический.... плиззззз
прогу пишу, поможите, ведь есть у когото исходники то ....
заранее благодарен....

С уважением, Niko Sun ATM-turbo rulezzz !!!
mail: niko-sun@rin.ru Си ё летер, All ...

от: Ivan Kuvshinov
кому: Nik Aleksandrovich
дата: 09 May 2004

NA> @RealName:
NA> ик Александрович
О чём это говорит?
А по поводу курсора - помниться Слава (?) рассусоливал о
динамической отрисовке, в период до-о-олгого построения
кадра, на предмет улучшения управляемости, при тормозах.

КИА

от: Kirill Frolov
кому: Nik Aleksandrovich
дата: 09 May 2004
Hемедленно нажми на RESET, Nik Aleksandrovich!

On Thu, 06 May 04 19:43:01 +0400, Nik Aleksandrovich wrote:

NA> народ !!!!!!!
NA> просьба.....
NA> киньте хтось прогу курсора, шоб с серенькой тожа работал...
NA> желательно динамический.... плиззззз
NA> прогу пишу, поможите, ведь есть у когото исходники то ....
NA> заранее благодарен....

Для ZXASM3.00.


TEST EQU 1 ; уст. в 0 для конечной компиляции


KEYBCOORD EQU #0200
PHONCOORD EQU #0215
SETSCOORD EQU #1300

DI
IF TEST
ELSE
LD HL,(23873)
LD (L_MULX),HL
ENDIF

; ГЕHЕРАЦИЯ ТОЛСТОГО ШРИФТА
LD HL,#3D00
LD DE,FONT-256
LD (23606),DE
INC D
MK_FNT0 LD BC,4
LDIR
LD B,4
MK_FNT1 LD A,(HL)
SRL A
OR (HL)
INC HL
LD (DE),A
INC DE
DJNZ MK_FNT1
LD A,H
CP #40
JR C,MK_FNT0



LD (IY-48),1
LD (IY-49),11

; ОПРЕДЕЛЕHИЕ HАЛИЧИЯ МЫШИ:
LD DE,10000
MDD1_ LD BC,#FADF
IN A,(C)
CP #FF
JR NZ,MDD_
DEC DE
LD A,D
OR E
JR NZ,MDD1_
LD A,#C9 ; ОТКЛЮЧЕHИЕ
LD (MOUSDRV),A ; МЫШИ


;---------------------------------------
; ОТРИСОВКА ЭКРАHА

MDD_ LD A,#0F
LD (#5C8D),A
LD (#5C48),A
CALL #0D6B
LD HL,EXITTXT
LD BC,#0100
CALL PRINT
LD A,2
CALL #1601
LD HL,KEYBTXT
LD BC,KEYBCOORD
CALL PRINT
LD HL,PHONTXT0
LD BC,PHONCOORD
CALL PRINT
LD HL,COPYTXT
LD BC,#0000
CALL PRINT
LD HL,SETSTXT
LD BC,SETSCOORD
CALL PRINT
CALL INDVOL
CALL RECALC
LD (IY+48),#08
XOR A
LD (LH),A
CALL SETLINE

MDD0 CALL CLICK
LD A,(MOUSDRV)
DEC A
JR Z,MDD2
LD A,#78
LD (KMOUSTX),A
LD A,#01
LD (MOUSDRV),A
LD A,#FF
LD (CONTRB),A
JR MDD3
MDD2 LD A,#20
LD (KMOUSTX),A
LD A,#FF
LD (CONTRB),A
LD A,#C9
LD (MOUSDRV),A
MDD3 LD HL,HELPTXT
LD BC,#0D15
CALL PRINT




;-------------------------------------
; ГЛАВHЫЙ ЦИКЛ -- ОЖИДАHИЕ СОБЫТИЯ


WKEY CALL HEAR
XOR A
IN A,(#FE)
OR #E0
INC A
JR NZ,WKEY ; КЛАВИША HАЖАТА
CALL MOUSDRV
LD A,(CONTRB)
OR #F8
INC A
JR NZ,WKEY

WKEY00 LD HL,#FFFF
LD (CHKCOOR),HL

WKEY0 LD A,1
LD (A_STAT),A
RES 5,(IY+1)
CALL HEAR
CALL #02BF
CALL MOUSDRV
BIT 5,(IY+1)
JR NZ,WKEY1
LD A,(CONTRB)
OR #F8
INC A
JR NZ,MBUTT
INC A
LD (MULSCL),A

LD HL,(COORD)
CHKCOOR EQU $+1
LD DE,0
OR A
SBC HL,DE
JR Z,WKEY0
CALL A_PLACE
LD HL,(COORD)
LD (CHKCOOR),HL
JR WKEY0




;---------------------------------------
; ОБРАБОТКА КЛИКА МЫШЬЮ

MBUTT XOR A
LD (A_STAT),A
CALL A_PLACE
CALL CLICK
MBUTT0 LD HL,OBJTBL
LD BC,6
MBUTT1 LD A,(HL)
INC A
JR Z,WKEY
PUSH HL
LD A,(COORD+1)
RRA : RRA
RRA : AND #1F
CP (HL)
JR C,MBUTX
INC HL
CP (HL)
JR NC,MBUTX
LD A,(COORD)
RRA : RRA
RRA : AND #1F
INC HL
CP (HL)
JR C,MBUTX
INC HL
CP (HL)
JR NC,MBUTX
INC HL
LD E,(HL)
INC HL
LD D,(HL)
EX DE,HL
POP DE
JP (HL)

MBUTX POP HL
ADD HL,BC
JR MBUTT1

WKEY1 XOR A
LD (A_STAT),A
CALL A_PLACE
CALL #1F54
JR NC,QUIT
LD A,(#5C08)
CP #20
JR NZ,SKEY
CALL CLICK
LHCON
LH EQU $+1
LD A,0
OR A
LD HL,PHONTXT0
JR NZ,$+5
LD HL,PHONTXT1
CPL
LD (LH),A
CALL SETLINE
LD BC,PHONCOORD
CALL PRINT
LD B,10
PUSH BC
CALL HEAR
POP BC
DJNZ $-5
JP WKEY



;--------------------------------------
; ВЫХОД ИЗ ПРОГРАММЫ

QUIT IF TEST
RET
ENDIF
XOR A
LD (LH),A
CALL SETLINE
DI
XOR A
LD BC,#7FFD
OUT (C),A
RST #00



;--------------------------------------
; ОБРАБОТКА HАЖАТИЯ HА КЛАВИШУ

SKEY LD HL,KEYTBL
LD DE,5
LD B,16
SKEY1 CP (HL)
JR Z,SKEY2
ADD HL,DE
DJNZ SKEY1
CP #07
JP Z,SAVE
CP #4B
JP Z,MDD0
CP #2B
JR Z,INCVOL
CP #2D
JR Z,DECVOL
CP #4E
JR Z,NRMMUL
CP #3E
JR Z,INCMUL
CP #3C
JP NZ,WKEY


; УПРАВЛЕHИЕ МHОЖИТЕЛЕМ ДЛЯ DTMF
; ГЕHЕРАТОРА +/-/set

DECMUL LD HL,(L_MULX)
MULSCL EQU $+1
LD DE,1
OR A
SBC HL,DE
JR KMUL
INCMUL LD HL,(L_MULX)
LD DE,(MULSCL)
ADD HL,DE
KMUL LD (L_MULX),HL
INC E
LD A,E
CP 50
JR C,$+3
DEC A
LD (MULSCL),A
CALL CLICK
CALL RECALC
JP WKEY00
NRMMUL LD HL,NORM_MUL
LD (L_MULX),HL
CALL CLICK
CALL RECALC
JP WKEY


; УПРАВЛЕHИЕ ГРОМКОСТЬЮ +/-/set

DECVOL LD A,(VOLUME)
OR A
JR Z,$+3
DEC A
JR KVOL
INCVOL LD A,(VOLUME)
CP #0F
JR NC,$+3
INC A
KVOL LD (VOLUME),A
CALL CLICK
CALL INDVOL
CALL HEAR
CALL HEAR
JP WKEY00


;--------------------------------------

SKEY2 PUSH HL
CALL CLICK
LD A,#E0
LD (TWX2),A
LD (TWX3),A
LD (TWX4),A
LD (TWX1),A
LD HL,#00FE
LD (TWX),HL
POP HL

SKEY3 INC HL
LD E,(HL) : INC HL
LD D,(HL) : INC HL
PUSH DE
LD E,(HL) : INC HL
LD D,(HL)
PUSH DE

LD BC,-KEYTBL-4
ADD HL,BC
LD A,L
DEC H
INC H : SUB 5 : JR NC,$-3
LD A,H : LD H,#FF
INC H : SUB 4 : JR NC,$-3
ADD A,4 : LD L,A
ADD A,A : ADD A,A
ADD A,L : LD L,A
LD A,H : ADD A,A
ADD A,A : LD H,A
LD BC,KEYBCOORD+257
ADD HL,BC
LD A,H
RRCA
RRCA
RRCA
LD H,A
AND #E0
OR L
LD L,A
LD A,H
AND #03
OR #58
LD H,A
LD (LKADDR),HL
LD A,%01110010
CALL LGKEY

POP DE
EXX
POP DE
CALL TWT
LD A,(LH)
CALL SETLINE

LKADDR EQU $+1
LD HL,0
LD A,%00001111
CALL LGKEY
LD HL,#2758
EXX
JP WKEY

LGKEY LD B,3
LD DE,32-3
LGKEY1 LD (HL),A : INC L
LD (HL),A : INC L
LD (HL),A : INC L
LD (HL),A
ADD HL,DE
DJNZ LGKEY1
RET


; ОЗВУЧИВАHИЕ КЛИКА МЫШЬЮ

CLICK LD HL,CLICK_T
LD C,#FD
CLICK1 LD B,#FF : OUTI
LD B,#BF : OUTI
LD A,(HL) : INC A
JP NZ,CLICK1
RET

CLICK_T DB 7,%11111101
DB 2,15,3,0
DB 9,16
DB 12,0,11,100
DB 13,0
DB #FF


; ОБРАБОТКА HАЖАТИЯ МЫШЬЮ HА ЦИФРУ

MKEY LD A,#F8
LD (TWX2),A
LD (TWX3),A
LD (TWX4),A
LD (TWX1),A
LD HL,#FADF
LD (TWX),HL
LD A,(COORD+1)
RRA : RRA
RRA : AND #1F
SUB KEYBCOORD/256
AND #0C : LD B,A
ADD A,A : ADD A,A
ADD A,B : LD B,A
LD A,(COORD)
RRA : RRA
RRA : AND #1F
SUB KEYBCOORD256
LD C,#FF
INC C : SUB 5 : JR NC,$-3
LD A,C : ADD A,A : ADD A,A
ADD A,C : ADD A,B
LD C,A : LD B,0
LD HL,KEYTBL
ADD HL,BC
JP SKEY3


; УПРАВЛЕHИЕ ГРОМКОСТЬЮ ОТ МЫШИ

MVOL LD A,(COORD)
RRA : RRA
RRA : AND #1F
SUB VOLDISP
JR NC,$+3
XOR A
CP 16
JR C,$+4
LD A,15
LD (VOLUME),A
CALL INDVOL
LD A,1
LD (A_STAT),A
CALL A_PLACE
CALL HEAR
CALL HEAR
LD A,(COORD+1)
PUSH AF
CALL MOUSDRV
POP AF
LD (COORD+1),A
LD A,(COORD)
CP L_MVOL*8+4
JR NC,$+4
LD A,L_MVOL*8+4
CP R_MVOL*8-8
JR C,$+4
LD A,R_MVOL*8-8
LD (COORD),A
XOR A
LD (A_STAT),A
CALL A_PLACE
LD A,(CONTRB)
OR #F8
INC A
JP Z,WKEY
JP MBUTT0


; ОТРИСОВКА ИHДИКАТОРА ГРОМКОСТИ

INDVOL LD A,(VOLUME)
LD C,A
INC C
LD HL,VOLTXT
LD B,15
INDVOL1 DEC C
LD A,#8F
JR NZ,$+5
INC C
LD A,#7C
LD (HL),A
INC HL
DJNZ INDVOL1
LD HL,SETSTXT
LD BC,SETSCOORD
JP PRINT



;----------------------------------------
;TWO_TONE_GENERATOR
;
; DE AND DE' = FREQUENCY (HЕ В ГЕРЦАХ!)
;
;

TWT DI
LD A,(LH)
OR A
LD A,(BRDCOL)
JR Z,$+4
OR #20
LD (TWH1),A
LD (TWH2),A
OR #08
LD (TWH3),A
LD (TWH4),A

TWX EQU $+1
LD BC,0
PUSH BC
EXX
POP BC

TW1 ADD HL,DE
BIT 7,H
JP Z,TW3
TWH1 EQU $+1 : LD A,#00
OUT (#FE),A
EXX
IN A,(C)
TWX1 EQU $+1 : OR #E0
INC A
JP NZ,TW2
RET

TW2 ADD HL,DE
BIT 7,H
JP Z,TW4
TWH2 EQU $+1 : LD A,#00
OUT (#FE),A
EXX
IN A,(C)
TWX2 EQU $+1 : OR #E0
INC A
JP NZ,TW1
RET

TW3 EXX
TWH3 EQU $+1 : LD A,#00
OUT (#FE),A
IN A,(C)
TWX3 EQU $+1 : OR #E0
INC A
JP NZ,TW2
RET

TW4 EXX
TWH4 EQU $+1 : LD A,#00
OUT (#FE),A
IN A,(C)
TWX4 EQU $+1 : OR #E0
INC A
JP NZ,TW1
RET

;
; Each key on a DTMF keypad produces
; 2 frequencies simultaneously (one
; from the high group and another from
; the low group).
;
; -------------------------
;Low Group ! Q ! ABC ! DEF ! !
; 697 Hz-! 1 ! 2 ! 3 ! A !
; ! ! ! ! !
; !-----!-----!-----!-----!
; ! GHI ! JKL ! MNO ! !
; 770 Hz-! 4 ! 5 ! 6 ! B !
; ! ! ! ! !
; !-----!-----!-----!-----!
; ! PRS ! TUV ! WXY ! !
; 852 Hz-! 7 ! 8 ! 9 ! C !
; ! ! ! ! !
; !-----!-----!-----!-----!
; ! ! OPER! ! !
; 941 Hz-! * ! 0 ! # ! D !
; ! ! Z ! ! !
; !-----!-----!-----!-----!
; 1209 1336 1477 1633
; (High Group--in Hz)
;


FRQTB0 DW 6970,7700,8520,9410
FRQTB1 DW 12090,13360,14770,16330

;
;
;
;N=F*(32768/Fw) Fw=3500000/(176*2)
;
;N=F*3.295524571
;

;
; F(Hz) N(DE) F(Hz) N(DE)
;
; 697 2297 1209 3984
; 770 2538 1336 4403
; 852 2808 1477 4867
; 941 3101 1633 5382
;


; ТАБЛИЦА СООТВЕТСТВИЯ КОДОВ ЦИФР
; И ЧАСТОТ DTMF

KEYTBL DB "1" : DW 2297,3984
DB "2" : DW 2297,4403
DB "3" : DW 2297,4867
DB "A" : DW 2297,5382
DB "4" : DW 2538,3984
DB "5" : DW 2538,4403
DB "6" : DW 2538,4867
DB "B" : DW 2538,5382
DB "7" : DW 2808,3984
DB "8" : DW 2808,4403
DB "9" : DW 2808,4867
DB "C" : DW 2808,5382
DB "*" : DW 3101,3984
DB "0" : DW 3101,4403
DB "#" : DW 3101,4867
DB "D" : DW 3101,5382



PRINT LD A,C
LD (PR1),A
LD A,B
DEC A
LD (PR0),A
PRINT1 PUSH HL
LD A,#16
RST #10
PR0 EQU $+1
LD A,0
INC A
LD (PR0),A
RST #10
PR1 EQU $+1
LD A,0
RST #10
POP HL
PRINT0 LD A,(HL)
INC A
RET Z
DEC A
CP #0A
INC HL
JR Z,PRINT1
PUSH HL
RST #10
POP HL
JR PRINT0




;------------------------------------
; КАРТИHКИ ДЛЯ ЭКРАHА


KEYBTXT

DB "ЛГГГГЛГГГГЛГГГГЛГГГГК",#0A
DB "К К К К К",#0A
DB "К 1 К 2 К 3 К A К",#0A
DB "К q Кabc Кdef К К",#0A
DB "ЛГГГГЛГГГГЛГГГГЛГГГГК",#0A
DB "К К К К К",#0A
DB "К 4 К 5 К 6 К B К",#0A
DB "Кghi Кjkl Кmno К К",#0A
DB "ЛГГГГЛГГГГЛГГГГЛГГГГК",#0A
DB "К К К К К",#0A
DB "К 7 К 8 К 9 К C К",#0A
DB "Кprs Кtuv Кwxy К К",#0A
DB "ЛГГГГЛГГГГЛГГГГЛГГГГК",#0A
DB "К К z К К К",#0A
DB "К * К 0 К # К D К",#0A
DB "К КoperК К К",#0A
DB "ГГГГГГГГГГГГГГГГГГГГВ",#0A
DB #FF


PHONTXT0
DB " ",#0A
DB " ЙГГГГГГЖ ",#0A
DB "Й ММММ Ж",#0A
DB "ОМHДММИОМH",#0A
DB " ММH ОММ",#0A
DB "Й Ж",#0A
DB "К Е",#0A
DB "ОММММММММH",#0A
DB " ",#0A
DB " ",#0A
DB #FF

PHONTXT1

DB " ЙГК/ ",#0A
DB " Й К- ",#0A
DB " К МК ",#0A
DB " КЕ ",#0A
DB " КЕ ",#0A
DB " КЕ ",#0A
DB " КЕ ",#0A
DB " К ГК ",#0A
DB " Ж К ",#0A
DB " ЖМК "
DB #FF

HELPTXT DB " ",#13,1,"SPACE",#13,0
DB " key",#0A
DB "on/off line",#0A,#0A
DB " ",#13,1,"K",#13,0
DB "empston",#0A
DB " mouse ["
KMOUSTX DB "x]"
DB #FF

COPYTXT DB " Vicomm-Beeper ver 1.2 by FK0'98"
DB #FF

EXITTXT DB #13,1,"BREAK",#13,0
DB " for exit "
DB #13,1,"EDIT",#13,0
DB " for saving"
DB #FF

CALCTXT DB "Multiplyer ("
DB #13,1,"<",#13,0,"/"
DB #13,1,">",#13,0,") : "
DB " "
DB #13,1,"N",#13,0
DB "=21598"
DB #FF

CALCDISP EQU 19
NORM_MUL EQU 21598 ; 20862 ?

SETSTXT DB "Volume "
DB "(",#13,1,"-",#13,0,"/"
DB #13,1,"+",#13,0,") П"
VOLTXT DB "||||||||||||||||"
DB #FF

VOLDISP EQU 13
L_MVOL EQU #0D
R_MVOL EQU #1E


; ТАБЛИЦА КООРДИHАТ В ЭКРАHЕ И АДРЕСОВ
; ПОДПРОГРАММ ДЛЯ МЫШИ

OBJTBL DB #17,#18,#00,#0E : DW QUIT
DB #02,#0F,#15,#20 : DW LHCON
DB #02,#12,#00,#14 : DW MKEY
DB #10,#12,#13,#20 : DW MDD0
DB #13,#14,L_MVOL,R_MVOL : DW MVOL
DB #13,#14,#08,#09 : DW DECVOL
DB #13,#14,#0A,#0B : DW INCVOL
DB #15,#16,#0C,#0D : DW DECMUL
DB #15,#16,#0E,#0F : DW INCMUL
DB #15,#16,#19,#20 : DW NRMMUL
DB #17,#18,#11,#20 : DW MSAVE
DB #FF


BRK PUSH HL
LD HL,#0066
EX (SP),HL
JP #3D2F


;-------------------------------------
; ОЗВУЧИВАHИЕ ЛИHИИ В ТЕЧЕHИИ
; HЕКОТОРОГО ВРЕМЕHИ

HEAR LD A,(LH)
OR A
JR Z,WRING
LD BC,#FFFD
LD A,8
OUT (C),A
LD B,#BF
LD DE,1024
HEAR1 IN A,(#FE)
RLA
RLA
VOLUME EQU $+1
LD A,5
JR C,$+3
XOR A
OUT (C),A
DEC DE
LD A,D
OR E
JP NZ,HEAR1
RET


;-----------------------------------
; ОЖИДАHИЕ ЗВОHКА

WRING EI : HALT : DI : RET


;-------------------------------------
; ON/OFF HOOK

SETLINE LD A,(LH)
OR A
BRDCOL EQU $+1
LD A,#01
JR Z,$+4
OR #28
OUT (#FE),A
RET



;--------------------------------------
; ПЕРЕРАСЧЕТ ЧАСТОТ БИПЕРА


RECALC LD HL,KEYTBL
XOR A
RECALC1 INC HL
PUSH AF
LD C,A
AND #FC
LD B,A
LD A,C
SUB B
PUSH AF
LD A,C
SRL A
SRL A
LD DE,FRQTB0
CALL RECALC2
POP AF
LD DE,FRQTB1
CALL RECALC2
POP AF
INC A
CP 16
JR C,RECALC1
LD HL,#2758
EXX

LD HL,CALCTXT
LD BC,#1500
CALL PRINT
LD A,#16
RST #10
LD A,#15
RST #10
LD A,CALCDISP
RST #10
LD BC,(L_MULX)
CALL #2D2B
JP #2DE3


RECALC2 PUSH HL
PUSH DE
LD BC,0
H_MULX EQU $+1
LD DE,0
EXX
POP HL
ADD A,A
ADD A,L
LD L,A
JR NC,$+3
INC H
LD C,(HL)
INC HL
LD B,(HL)
L_MULX EQU $+1
LD DE,NORM_MUL

;-----------------------------------
; HL'HL=DE'DE*BC'BC

MULT LD A,#20
LD HL,0
EXX
LD HL,0
EXX
MUL0 EX DE,HL
ADD HL,HL
EX DE,HL
EX AF,AF'
ADD HL,HL
EXX
ADC HL,HL
EX DE,HL
EX AF,AF'
ADC HL,HL
EX DE,HL
JR NC,MUL1
EXX
ADD HL,BC
EXX
ADC HL,BC
MUL1 EXX
DEC A
JP NZ,MUL0

EXX
EX DE,HL
POP HL
LD (HL),E
INC HL
LD (HL),D
INC HL
RET



;-------------------------------------
; СОХРАHЕHИЕ КОHФИГУРАЦИИ В ФАЙЛ

SAVE CALL CLICK
MSAVE IF TEST
LD A,7
OUT (#FE),A
EI : HALT : DI
LD A,1
OUT (#FE),A
JP WKEY
ENDIF
LD HL,(L_MULX)
LD (23873),HL
LD HL,(23641)
LD (HL),#AA
INC HL
LD (HL),#01
INC HL
LD (HL),#00
LD HL,QUIT
PUSH HL
LD (23613),SP
LD (IY),#FF
LD HL,0
LD (#5D0F),HL
LD DE,(23787)
LD HL,#5D3B
LD BC,#0106
CALL #3D13
POP HL
JP WKEY



;--------------------------------------

ДРАЙВЕР МЫШИ С АКСЕЛЕРАЦИЕЙ


OLDCO DEFW 0 ;
COORD DEFW 0 ;координаты (х-младший, y-старший)
CONTRB DEFB #FF ;три младших бита - кнопки

MOUSDRV LD BC,#FBDF
LD DE,(OLDCO)
LD HL,(COORD)
IN A,(C) ;вычисление X
LD (OLDCO),A
SUB E
JR Z,MSEx0
JP P,MSEx1
NEG
CALL MSElog
NEG
ADD A,L
JR C,MSExe
XOR A
JR MSExe
MSEx1 CALL MSElog
ADD A,L
JR C,MSEx11
CP 254 ;max X
JR C,MSExe
MSEx11 LD A,254 ;max X
MSExe LD L,A
MSEx0 LD B,#FF ;вычисление Y
IN A,(C)
LD (OLDCO+1),A
SUB D
JR Z,MSEy0
JP M,MSEy1
CALL MSElog
NEG
ADD A,H
JR C,MSEye
XOR A
JR MSEye
MSEy1 NEG
CALL MSElog
ADD A,H
JR C,MSEy11
CP 190 ;max Y
JR C,MSEye
MSEy11 LD A,190 ;max Y
MSEye LD H,A
MSEy0 LD (COORD),HL
LD B,#FA ;кнопки
IN A,(C)
LD (CONTRB),A
RET
;
MSElog CP 4 ;мышка с ускорением
RET C
ADD A,A
JR C,MSElgC
CP 8*2
RET C
ADD A,8
JR C,MSElgC
CP 120
RET C
MSElgC LD A,120
RET



;--------------------------------------
ПРОЦЕДУРА ВЫВОДА СТРЕЛКИ МЫШИ

A_PLACE CALL A_OFF
LD A,(A_STAT)
OR A
RET Z
CALL A_ON
RET
A_ON DI
LD BC,(COORD)
LD A,16
LD (A_LNS),A
LD A,B
CP 176
JR C,A_ON1
SUB 192
NEG
LD (A_LNS),A
A_ON1 LD A,B
CALL #22B1
LD (A_L0+1),A
LD IY,A_BUFF
LD IX,ARROW
LD A,(A_LNS)
LD B,A
PUSH HL
LD (A_SCRA),HL
EXX
POP HL
EXX
A_L5 EXX
LD E,(IX)
INC IX
LD D,(IX)
INC IX
LD B,0
LD C,B
A_L0 LD A,0 ;!
OR A
JR Z,A_L2
A_L1 SRL D
RR B
SRL E
RR C
DEC A
JR NZ,A_L1
A_L2 LD A,(HL)
LD (IY),A
INC IY
LD A,D
CPL
AND (HL)
XOR E
LD (HL),A
LD A,L
INC A
AND %00011111
JR Z,A_L3
INC L
LD A,(HL)
LD (IY),A
INC IY
LD A,B
CPL
AND (HL)
XOR C
LD (HL),A
DEC L
A_L3 INC H
LD A,H
AND 7
JR NZ,A_L4
LD A,L
ADD A,32
LD L,A
JR C,A_L4
LD A,H
SUB 8
LD H,A
A_L4 EXX
DJNZ A_L5
LD A,#FF
LD (A_STT1),A
LD IY,#5C3A
LD HL,#2758
EXX
RET

A_OFF LD A,(A_STT1)
OR A
RET Z
LD HL,A_BUFF
LD DE,(A_SCRA)
LD A,(A_LNS)
LD B,A
A_REST1 LD A,(HL)
LD (DE),A
INC HL
LD A,E
INC A
AND #1F
JR Z,A_REST2
INC E
LD A,(HL)
INC HL
LD (DE),A
DEC E
A_REST2 INC D
LD A,D
AND 7
JR NZ,A_REST3
LD A,E
ADD A,32
LD E,A
JR C,A_REST3
LD A,D
SUB 8
LD D,A
A_REST3 DJNZ A_REST1
XOR A
LD (A_STT1),A
RET

A_STAT DEFB 0
A_STT1 DEFB 0
A_LNS DEFB 0
A_SCRA DEFW 0

ARROW DB %00000000,%11000000
DB %01000000,%11100000
DB %01100000,%11110000
DB %01110000,%11111000
DB %01111000,%11111100
DB %01111100,%11111110
DB %01111110,%11111111
DB %01111000,%11111110

DB %01001000,%11111100
DB %00001000,%00011100
DB %00000100,%00001110
DB %00000100,%00001110
DB %00000010,%00000111
DB %00000010,%00000111
DB %00000000,%00000011
DB 0,#00

A_BUFF DEFS 48


FONT

от: Vlad Sotnikov
кому: Ivan Kuvshinov
дата: 10 May 2004
Привет, Ivan!

09 мая 2004 года (а было тогда 02:55)
Ivan Kuvshinov в своем письме к Nik Aleksandrovich писал:

NA>> @RealName:
NA>> ик Александрович
IK> О чём это говорит?

"IK>" - о чем это говорит? :)

IK> А по поводу курсора - помниться Слава (?) рассусоливал о
IK> динамической отрисовке, в период до-о-олгого построения
IK> кадра, на предмет улучшения управляемости, при тормозах.

Смотрите на нашу стрелочку в Net Walk'е. Рулит :)



Vega/ex-Style Group.

<филфак-СПбГУ>
FIDO: 2:5030/1512 ZXNET: 500:812/19 E-mail: vega56@mail.ru ICQ: 144932679

от: Ivan Kuvshinov
кому: Vlad Sotnikov
дата: 11 May 2004

NA>>> @RealName:
NA>>> ик Александрович
IK>> О чём это говорит?
VS> "IK>" - о чем это говорит? :)
Я о том, что русская "H" превратилась, в перевод строки.

КИА

от: Nik Aleksandrovich
кому: Vlad Sotnikov
дата: 12 May 2004
И как поживает твоё ничево, Vlad !
Пишу тебе из горящего танка ...

Пн 10 Май 2004 22:50:08, Vlad Sotnikov -> Ivan Kuvshinov:

IK>> А по поводу курсора - помниться Слава (?) рассусоливал о
IK>> динамической отрисовке, в период до-о-олгого построения
IK>> кадра, на предмет улучшения управляемости, при тормозах.

VS> Смотрите на нашу стрелочку в Net Walk'е. Рулит :)

а поделиться исходниками ????
авторские права соблюдаются ....


С уважением, Niko Sun ATM-turbo rulezzz !!!
mail: niko-sun@rin.ru Си ё летер, Vlad ...
icq 250109788

от: Nik Aleksandrovich
кому: Kirill Frolov
дата: 12 May 2004
И как поживает твоё ничево, Kirill !
Пишу тебе из горящего танка ...

Вс 9 Май 2004 12:04:08, Kirill Frolov -> Nik Aleksandrovich:

большое , посто огромное спасибо буду опробывать , хоть я и сижу в сторме и
ксасе, но и на ентом спасибо засм тоже есть !!!
выручил !!!!
а то у меня авще 0 полный а писать када еже есть - бред!!!
вот тута и нада библиотеки !!!

а кто фвтор ???


С уважением, Niko Sun ATM-turbo rulezzz !!!
mail: niko-sun@rin.ru Си ё летер, Kirill ...
icq 250109788

от: Nik Aleksandrovich
кому: Ivan Kuvshinov
дата: 12 May 2004
И как поживает твоё ничево, Ivan !
Пишу тебе из горящего танка ...

Вт 11 Май 2004 12:35:10, Ivan Kuvshinov -> Vlad Sotnikov:


NA>>>> @RealName:
NA>>>> ик Александрович
IK>>> О чём это говорит?
VS>> "IK>" - о чем это говорит? :)
IK> Я о том, что русская "H" превратилась, в перевод строки.

зы.... ;)))
бывает ;))

С уважением, Niko Sun ATM-turbo rulezzz !!!
mail: niko-sun@rin.ru Си ё летер, Ivan ...
icq 250109788

от: Ivan Kuvshinov
кому: Nik Aleksandrovich
дата: 13 May 2004

IK>> Я о том, что русская "H" превратилась, в перевод строки.
NA> зы.... ;)))
NA> бывает ;))
Так, на англицкую менять - не будешь? А то я только
ик Александровича вижу.
не хватает ещё пук Петровича :)))

КИА

от: Kirill Frolov
кому: Nik Aleksandrovich
дата: 14 May 2004
Hемедленно нажми на RESET, Nik Aleksandrovich!

On Wed, 12 May 04 13:11:33 +0400, Nik Aleksandrovich wrote:


NA> спасибо буду опробывать , хоть я и сижу в сторме и
NA> ксасе, но и на ентом спасибо засм тоже есть !!!

Я в факе пишу: осталось только два ассемблера, Alasm (4.x) и ZXASM (3.10)...

NA> а то у меня авще 0 полный а писать када еже есть - бред!!!

Speak russian, please.

NA> вот тута и нада библиотеки !!!

Какие библиотеки конкретно?

NA> а кто фвтор ???

Стрелочка -- вроде Д. Быстров, не помню уже. Кто-то давно очень, году
эдак в 1998-м в эху кидал. Драйвер мыши с ускорением -- Медноногов, в то
же самое время... Остальное -- FK0.




Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
Гнилой базар - Об изменениях в оболочке.
MY CITY - Сулажгора: Вoбщeм этo пoслeдний рaён нaшeгo гoрoдa...
Дела сисопские - Наступило время реальных, революционных действий в сети Netus.
Help - описание новой оболочки газеты.
Техпомощь - Dos Review: материал по формату дисковой операционной системы IS-DOS.

В этот день...   26 апреля