Важная информация

User Tag List

Страница 4 из 4 ПерваяПервая 1234
Показано с 31 по 39 из 39

Тема: Как быстро добраться до мыши?

  1. #31
    Veteran Аватар для Destr
    Регистрация
    26.03.2008
    Адрес
    Питкяранта
    Сообщений
    1,802
    Спасибо Благодарностей отдано 
    249
    Спасибо Благодарностей получено 
    113
    Поблагодарили
    87 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от psb Посмотреть сообщение
    ты не понял ТЕ, старые мышки НЕ глючили!!! глючить могут конвертеры ps/2 в кемпстон маус, а они уже сделаны в наши дни! так что не надо гнать на саму мышку.
    Тогда сорри!
    Готов извинится перед теми старыми мышками!
    А счас-то что делать?
    Как юзать софт, да ещё на эмуле (реального-то железа уже фиг найдёш) писаный под-знает-что?
    Я собственно ратую за то, чтоб ЛЮБОЙ ТИП МАНИПУЛЯТОРА однозначно распознавался программой.
    То-же самое относится и к памяти, и к накопителю, и даже к тактам(раз уж нашлись такие сволочи которые pentagon придумали)

  2. #31
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #32
    Banned
    Регистрация
    25.01.2005
    Адрес
    Miass, Chelyabinsk region
    Сообщений
    4,094
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Destr Посмотреть сообщение
    Я собственно ратую за то, чтоб ЛЮБОЙ ТИП МАНИПУЛЯТОРА однозначно распознавался программой.
    программа не должна знать, какая у тебя мышка. и не должна знать, какая клавиатура (пц или оригинальная матричная). это эмуляторы должны правильно эмулить, только и всего. сделают, если просить будете, это дело времени. а если никому не надо - точно никто не сделает.

  4. #33
    Master Аватар для VELESOFT
    Регистрация
    04.04.2007
    Адрес
    Praha
    Сообщений
    752
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    33
    Поблагодарили
    14 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

  5. #34
    Veteran Аватар для TomCaT
    Регистрация
    25.06.2005
    Адрес
    Одесса
    Сообщений
    1,795
    Спасибо Благодарностей отдано 
    54
    Спасибо Благодарностей получено 
    46
    Поблагодарили
    22 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Ну, ребята, почти оффтопный почти флейм в теме раздела "для начинающих"...
    Я просто удивляюсь, но пишите все равно - почти в тему и интересно, а, может, и польза выйдет.

    Я-то заглянул про Sinclair Mouse почитать...
    Помни. Только на компьютере можно семь раз Cut, а один - Format. В реале все иначе. (c)
    Власть людей сильнее, чем люди у власти.
    Чем меньше мы смотрим на мир, тем больше задумываемся о нем. (c)

    Скрытый текст

    Can you help Robin in his quest for the silver arrow? (c) Odin "Robin of the Wood"
    Мы все немного режем по дереву, а потом собираем корабли в бутылках.
    Is it the same old story you are going to tell me
    or is it the old story telling me and you we are the same?
    http://www.sky.od.ua/~ptsk
    [свернуть]


  6. #35
    Veteran Аватар для Destr
    Регистрация
    26.03.2008
    Адрес
    Питкяранта
    Сообщений
    1,802
    Спасибо Благодарностей отдано 
    249
    Спасибо Благодарностей получено 
    113
    Поблагодарили
    87 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    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,MINI2JNZ 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 ----------

    Не правда-ли похоже на репортаж из дурдома?
    А ведь тем не менее это рабочий мышкин код!

  7. #36
    Guru Аватар для null_device
    Регистрация
    26.09.2009
    Адрес
    г. Красноярск
    Сообщений
    3,100
    Спасибо Благодарностей отдано 
    22
    Спасибо Благодарностей получено 
    84
    Поблагодарили
    68 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    На чем написаны листинги? В, смысле, какого ассемблера мнемоники?

  8. #37
    Vitamin C++ Аватар для Vitamin
    Регистрация
    14.01.2005
    Адрес
    Таганрог, Россия
    Сообщений
    4,258
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    84
    Поблагодарили
    36 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Destr Посмотреть сообщение
    Не правда-ли похоже на репортаж из дурдома?
    А ведь тем не менее это рабочий мышкин код!
    Дык любой код, если так криво сформатирован, похож на бред умалишенного... Это же не obfuscated programming contest в конце концов...

    Вот мой древний вариант:
    Код:
            LD HL,(X_C)
            LD DE,(X_M)
            LD BC,#FBDF
    
            IN A,(C)
            LD B,A
            SUB E
            CP 128
            JR NC,TOLEFT
            ADD A,L
            JR C,ERX
    OI1     LD L,A
            LD E,B
            JR PO_Y
    ERX     LD A,255
            JR OI1
    TOLEFT  NEG 
            LD C,A
            LD A,L
            LD L,C
            LD C,#DF
            SUB L
            JR NC,OI1
            XOR A
            JR OI1
    
    PO_Y    LD B,#FF
            IN A,(C)
            CPL 
            LD B,A
            SUB D
            CP 128
            JR NC,TOUP
            ADD A,H
            CP 192
            JR NC,ERY
    OI2     LD H,A
            LD D,B
            JR FIRM
    ERY     LD A,191
            JR OI2
    TOUP    NEG 
            LD C,A
            LD A,H
            LD H,C
            LD C,#DF
            SUB H
            JR NC,OI2
            XOR A
            JR OI2
    
    FIRM    LD B,#FA
            IN A,(C)
            CPL 
            LD B,A
            AND A
            JR Z,NO_KLICK
            LD A,(KEYMSK)
            AND A
            JR NZ,NOT_FIRST
            LD A,B
            LD (KEYMSK),A
    NOT_FIRST
            AND B
            JR Z,NO_KLICK
            LD A,128
    NO_KLICK
            LD (FIRE),A
    
    COORDS  LD (X_C),HL
            LD (X_M),DE
            RET

  9. #38
    Veteran Аватар для TomCaT
    Регистрация
    25.06.2005
    Адрес
    Одесса
    Сообщений
    1,795
    Спасибо Благодарностей отдано 
    54
    Спасибо Благодарностей получено 
    46
    Поблагодарили
    22 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Я нашел у Znahar в макросах вариант, который немного оптимизировал:

    Код:
    MOUSEB DB 0 ; состояние кнопок
    MOUSOB DB 0 ; прежнее состояние кнопок
    MOUSEX DW 0 ; положение курсора
    MOUSOX DW 0 ; прежнее положение курсора
    MOUSEP DW 0 ; прежнее положение мыши
    
    MOUUPD
    ; кнопки
           LD HL,MOUSEB
           LD D,(HL)           ; временно текущее состояние кнопок
           LD BC,#FADF
           IN A,(C)            ; считывается новое состояние кнопок
           CPL
           AND 7
           LD (HL),A           ; новое состояние - в текущее
           INC HL
           LD (HL),D           ; а бывшее текущее - в старое, лежат подряд
    ; координаты
           LD HL,(MOUSEX)      ; текущее положение курсора
           LD (MOUSOX),HL      ; - в старое положение курсора
           LD DE ,(MOUSEP)     ; положение мыши - для вычисления движения курсора 
    ; горизонтальная координата X
           LD B,#FB
           LD A,E              ; забирается старая X-коорд. для вычислений
           IN E,(C)            ; считывается новая X-коорд. мыши
    ;      SLA E               ; у Znahar - для удвоения скорости, но при этом точность установки курсора по X - пиксел через пиксел
           SUB E               ; вычисляется смещение координаты
           NEG
           JR Z,MOUPD4         ; если мышь ушла на 0 по X - не двигать курсор 
           JP P,MOUPD1         ; обход, если мышь сдвинулась вправо
           ADD A,L             ; вычисление X курсора, если влево
           JR C,MOUPD3
           XOR A               ; если вышел за экран влево - координата X остается у левой кромки 
           JR MOUPD3
    MOUPD1 ADD A,L             ;  вычисление X курсора, если вправо
           JR C,MOUPD2
           CP 253
           JR C,MOUPD3
    MOUPD2 LD A,253            ;  если почти вышел за экран вправо - не выпускать дальше
    MOUPD3 LD L,A              ; новая координата X
    ; вертикальная координата Y - аналогично X, но другие регистры и расстояние 189 до нижней кромки экрана 
    MOUPD4 LD B,#FF
           LD A,D
           IN D,(C)
    ;      SLA D
           SUB D
           JR Z,MOUPD8
           JP P,MOUPD5
           ADD A,H
           JR C,MOUPD7
           XOR A
           JR MOUPD7
    MOUPD5 ADD A,H
           JR C,MOUPD6
           CP 189
           JR C,MOUPD7
    MOUPD6 LD A,189
    MOUPD7 LD H,A
    MOUPD8 LD (MOUSEP),DE      ; новое положение мыши
           LD (MOUSEX),HL      ; новое положение курсора
           RET
    Помни. Только на компьютере можно семь раз Cut, а один - Format. В реале все иначе. (c)
    Власть людей сильнее, чем люди у власти.
    Чем меньше мы смотрим на мир, тем больше задумываемся о нем. (c)

    Скрытый текст

    Can you help Robin in his quest for the silver arrow? (c) Odin "Robin of the Wood"
    Мы все немного режем по дереву, а потом собираем корабли в бутылках.
    Is it the same old story you are going to tell me
    or is it the old story telling me and you we are the same?
    http://www.sky.od.ua/~ptsk
    [свернуть]


  10. #39
    Veteran Аватар для Destr
    Регистрация
    26.03.2008
    Адрес
    Питкяранта
    Сообщений
    1,802
    Спасибо Благодарностей отдано 
    249
    Спасибо Благодарностей получено 
    113
    Поблагодарили
    87 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    В программе 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-ограничитель

    Можно регулировать чувствительность крыса...

Страница 4 из 4 ПерваяПервая 1234

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Поиск идей: как быстро залить TAP/TZX в Speccy ???
    от ILoveSpeccy в разделе Несортированное железо
    Ответов: 23
    Последнее: 24.12.2007, 06:32
  2. кнопки мыши в BGE 3.05
    от SaaB в разделе Графика
    Ответов: 8
    Последнее: 04.03.2006, 16:53
  3. Быстро вывести число 0-255 на экран
    от Aprisobal в разделе Программирование
    Ответов: 7
    Последнее: 26.01.2005, 08:05
  4. Быстро переместить 384b
    от Aprisobal в разделе Программирование
    Ответов: 6
    Последнее: 23.01.2005, 15:23

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •