![]() |
Quote:
Готов извинится перед теми старыми мышками! А счас-то что делать? Как юзать софт, да ещё на эмуле (реального-то железа уже фиг найдёш) писаный под-знает-что? Я собственно ратую за то, чтоб ЛЮБОЙ ТИП МАНИПУЛЯТОРА однозначно распознавался программой. То-же самое относится и к памяти, и к накопителю, и даже к тактам(раз уж нашлись такие сволочи которые pentagon придумали) |
Quote:
|
INFO ABOUT MOUSE FOR ZX
|
Ну, ребята, почти оффтопный почти флейм в теме раздела "для начинающих"...
Я просто удивляюсь, но пишите все равно - почти в тему и интересно, а, может, и польза выйдет. Я-то заглянул про Sinclair Mouse почитать... |
MS_DET LD HL,#27FF
LD E,L LD BC,#FADF MT_D0 IN A,(C) CPL AND 7 JR Z,MT_D1 LD E,0 MT_D1 DEC HL LD A,L OR H JR NZ,MT_D0 RET MOUSE LD BC,#FADF:IN A,(C):AND 7:XOR 7 LD (MBUTT),A LD HL,(MCOOR),B,#FF:IN A,(C) MOS11 LD D,0,(MOS11+1),A:SUB D CALL NZ,MOS30:LD B,#FB:IN A,(C) MOS12 LD D,0,(MOS12+1),A:SUB D CALL NZ,MOS40:LD (MCOOR),HL:RET MOS30 JP P,MOS35:XOR #FF:INC A:ADD A,H LD H,A:CP VMAX+1:RET C LD H,VMAX:RET MOS35 LD D,A:LD A,H:SUB D:JP C,MOS37 LD H,A:CP VMIN:RET NC MOS37 LD H,VMIN:RET MOS40 JP P,MOS45:XOR #FF:INC A:LD E,A LD A,L:SUB E:JP C,MOS43 LD L,A:CP HMIN:RET NC MOS43 LD L,HMIN:RET MOS45 ADD A,L:JP C,MOS46 LD L,A:CP HMAX:RET C MOS46 LD L,HMAX:RET MINIT LD B,250 MINI1 LD A,#FB:IN A,(#DF):XOR #FF JR NZ,MINI2:DJNZ MINI1 SCF:RET MINI2 CALL MOUSE XOR A:LD (MBUTT),A LD HL,#6080,(MCOOR),HL RET ---------- Post added at 21:34 ---------- Previous post was at 21:33 ---------- Не правда-ли похоже на репортаж из дурдома? А ведь тем не менее это рабочий мышкин код! |
На чем написаны листинги? В, смысле, какого ассемблера мнемоники?
|
Quote:
Вот мой древний вариант: Code:
LD HL,(X_C) |
Я нашел у Znahar в макросах вариант, который немного оптимизировал:
Code:
MOUSEB DB 0 ; состояние кнопок |
В программе Camerton юзается вот такой драйвер:
MOUSE LD BC,#FADF IN A,(c) CPL AND 7 LD B,A LD A,(MBUTT) CP B LD A,1 JR NZ,MSTRT XOR A MSTRT LD (MSTATUS),A LD A,B LD (MBUTT),A LD HL,(MCOOR) LD BC,#FBDF IN A,(C) MOUS0 LD D,0 LD (MOUS0+1),A SUB D LD D,A LD A,(MSENS) LD B,A OR A JR Z,$+6 SRA D DJNZ $-2 LD BC,(XMNMX) LD A,D RLA JR NC,MOUS1 LD A,L ADD A,D JR NC,$+5 CP B JR NC,MOUS2 LD A,B JR MOUS2 MOUS1 LD A,L ADD A,D JR C,$+5 CP C JR C,MOUS2 LD A,C MOUS2 LD L,A,BC,#FFDF IN A,(C) MOUS3 LD D,0,(MOUS3+1),A SUB D NEG LD D,A LD A,(MSENS) LD B,A OR A JR Z,$+6 SRA D DJNZ $-2 LD A,D LD BC,(YMNMX) RLA JR NC,MOUS4 LD A,H ADD A,D JR NC,$+5 CP B JR NC,MOUS5 LD A,B JR MOUS5 MOUS4 LD A,H ADD A,D JR C,$+5 CP C JR C,MOUS5 LD A,C MOUS5 LD H,A LD BC,(MCOOR) LD (MCOOR),HL OR A SBC HL,BC RET Z LD A,(MSTATUS) OR 2 LD (MSTATUS),A RET MINIT LD BC,#FADF LD DE,#F000 MINI1 IN A,(C) CPL AND 7 OR E LD E,A DEC D JR NZ,MINI1 LD A,E OR A JR Z,MINI2 LD A,201 LD (MOUSE),A RET MINI2 CALL MOUSE XOR A LD (MBUTT),A LD HL,#6080 LD (MCOOR),HL LD A,1 LD (MOUSE),A MSTATUS DB 0; %01-изм.бат. %10-изм коор. (признак изменения состояния) MCOOR DW #6080; Координаты мыши MBUTT DB 0; Кнопочки 00000MRL MSENS DB 1; Чувствительность 0-max XMNMX DW #00FE; X-ограничитель YMNMX DW #00BD; Y-ограничитель Можно регулировать чувствительность крыса... |
| All times are GMT +4. The time now is 23:57. |
Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.