User Tag List

Страница 4 из 5 ПерваяПервая 12345 ПоследняяПоследняя
Показано с 31 по 40 из 48

Тема: Корректность поддержки Kempston Mouse в разных эмуляторах

  1. #31

    Регистрация
    26.09.2009
    Адрес
    г. Красноярск
    Сообщений
    3,198
    Спасибо Благодарностей отдано 
    40
    Спасибо Благодарностей получено 
    128
    Поблагодарили
    103 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Кроме, того, что на фирменных машинах (и играх) и отечественных клонах, несколько отличается дешифрация порта... Ну, вроде как из него еще может считываться разное значение (как минимум, должны быть нули в пять младших разрядах). По факту, где как реализовано в железе.

    http://sblive.narod.ru/ZX-Spectrum/Z...XPORTsLIST.htm
    Последний раз редактировалось null_device; 14.03.2021 в 13:05.
    Когда есть, но не знаешь где - это все равно, что нету.

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

  3. #32

    Регистрация
    10.01.2010
    Адрес
    Смоленская обл.
    Сообщений
    556
    Спасибо Благодарностей отдано 
    187
    Спасибо Благодарностей получено 
    197
    Поблагодарили
    100 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Oleg N. Cher Посмотреть сообщение
    Понятно. Наличие Кемпстон-джойстика, насколько я понимаю, тоже не определяется на 100%?
    При грамотной постановке вопроса практически на 99.9 % можно избежать влияния на программу ложного определения. А само определение будет срабатывать только при отпущенных кнопках.

    Цитата Сообщение от null_device Посмотреть сообщение
    Кроме, того, что на фирменных машинах (и играх) и отечественных клонах, несколько отличается дешифрация порта... Ну, вроде как из него еще может считываться разное значение (как минимум, должны быть нули в пять младших разрядах). По факту, где как реализовано в железе.
    Это можно последовательно контролировать - вначале 5 основных нулей (если есть, то базовая версия работает), потом дополнительные. Гдето на форуме этот вопрос уже обсуждался и ктото из завсегдатаев даже давал неплохой вариант определялки.

  4. #33

    Регистрация
    01.03.2005
    Адрес
    Samara
    Сообщений
    4,866
    Спасибо Благодарностей отдано 
    328
    Спасибо Благодарностей получено 
    310
    Поблагодарили
    234 сообщений
    Mentioned
    12 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Oleg N. Cher Посмотреть сообщение
    Понятно. Наличие Кемпстон-джойстика, насколько я понимаю, тоже не определяется на 100%?
    Определяется.
    В _core в файле с управлением есть детект кемпстона
    С уважением,
    Jerri / Red Triangle.

  5. #34

    Регистрация
    24.08.2007
    Адрес
    Днепропетровская обл.
    Сообщений
    1,681
    Спасибо Благодарностей отдано 
    2,713
    Спасибо Благодарностей получено 
    170
    Поблагодарили
    130 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Давайте освежим эту тему. Сейчас я определяю наличие Кемпстон-мышки таким кодом:
    Код:
    unsigned char KMouse_Detect (void) __naked {
    __asm
             LD   DE, #0x301
             LD   L, E
             LD   BC, #0xFADF
    MT_D0:   IN   A, (C)
             CPL
             AND  #7
             JR   Z, MT_D1
             DEC  L
             RET              ; FALSE
    MT_D1:   DEC  DE
             LD   A, E
             OR   D
             JR   NZ, MT_D0
             RET              ; TRUE
    __endasm;
    } //KMouse_Detect
    А наличие Кемпстон-джойстика таким кодом:
    Код:
    unsigned char DetectKempstonJoystick (void) {
    __asm
    ; AUTOconfig
          LD     L,#0       ; FALSE
          LD     B,#250
    A_config01$:
          IN     A,(#0x1F)
          AND    #0x1F
          RET    NZ
          DJNZ   A_config01$
          INC    L          ; TRUE
    __endasm;
    }
    Прокомментируйте. Совсем плохо или приемлемо?

  6. #35

    Регистрация
    01.03.2005
    Адрес
    Samara
    Сообщений
    4,866
    Спасибо Благодарностей отдано 
    328
    Спасибо Благодарностей получено 
    310
    Поблагодарили
    234 сообщений
    Mentioned
    12 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Oleg N. Cher Посмотреть сообщение

    А наличие Кемпстон-джойстика таким кодом:
    Код:
    unsigned char DetectKempstonJoystick (void) {
    __asm
    ; AUTOconfig
          LD     L,#0       ; FALSE
          LD     B,#250
    A_config01$:
          IN     A,(#0x1F)
          AND    #0x1F
          RET    NZ
          DJNZ   A_config01$
          INC    L          ; TRUE
    __endasm;
    }
    Прокомментируйте. Совсем плохо или приемлемо?
    вполне нормально.
    у тебя джойстик же с 1 кнопкой?
    сейчас уже есть с 3
    С уважением,
    Jerri / Red Triangle.

  7. #36

    Регистрация
    24.08.2007
    Адрес
    Днепропетровская обл.
    Сообщений
    1,681
    Спасибо Благодарностей отдано 
    2,713
    Спасибо Благодарностей получено 
    170
    Поблагодарили
    130 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    А я не знаю, у меня и джойстика-то нет. И реала нет.
    Как ведёт себя старый код, работающий с джойстиком, у которого три кнопки?

  8. #37

    Регистрация
    01.03.2005
    Адрес
    Samara
    Сообщений
    4,866
    Спасибо Благодарностей отдано 
    328
    Спасибо Благодарностей получено 
    310
    Поблагодарили
    234 сообщений
    Mentioned
    12 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Oleg N. Cher Посмотреть сообщение
    А я не знаю, у меня и джойстика-то нет. И реала нет.
    Как ведёт себя старый код, работающий с джойстиком, у которого три кнопки?
    да также. просто еще 2 допбита задействованы.
    С уважением,
    Jerri / Red Triangle.

  9. #38

    Регистрация
    24.08.2007
    Адрес
    Днепропетровская обл.
    Сообщений
    1,681
    Спасибо Благодарностей отдано 
    2,713
    Спасибо Благодарностей получено 
    170
    Поблагодарили
    130 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Ого, круто. Не знал. За доп. кнопки отвечают пятый и шестой биты?

    Наверно есть смысл поддержать их для дублирования одной кнопки. Ну, чтобы можно было нажимать любую из кнопок.

    В случае трёхкнопочного джойстика процедура опроса его наличия использует маску #7F вместо #1F? Или логика автодетекта остаётся прежней?

  10. #39

    Регистрация
    01.03.2005
    Адрес
    Samara
    Сообщений
    4,866
    Спасибо Благодарностей отдано 
    328
    Спасибо Благодарностей получено 
    310
    Поблагодарили
    234 сообщений
    Mentioned
    12 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Oleg N. Cher Посмотреть сообщение
    Ого, круто. Не знал. За доп. кнопки отвечают пятый и шестой биты?

    Наверно есть смысл поддержать их для дублирования одной кнопки. Ну, чтобы можно было нажимать любую из кнопок.

    В случае трёхкнопочного джойстика процедура опроса его наличия использует маску #7F вместо #1F? Или логика автодетекта остаётся прежней?
    возможно.
    пока набросал вот такой тест
    но на реальном джойстике с кнопками еще не тестил.


    Код:
    test_kemp
    	ld	bc,#001f
    	ld	l,b
    	ld	e,b
    i_00
    	in	a,(c)
    	or	e
    	ld	e,a
    	dec	l
    	jr	nz,i_00
    
    	ld	a,e
    	and	c
    	jr	nz,kemp_absent
    	ld	c,#ff	
    kemp_mask_loop
    	ld	a,e
    	and	c
    	jr	z,kemp_mask_set
    	srl	c
    	jr	kemp_mask_loop
    kemp_mask_set
    	ld	a,c
    	ld	(kemp_mask),a
    	xor	a
    	jr	kemp_enable
    kemp_absent
    	ld	a,#c9
    kemp_enable
    	ld	(kemp_act),a
    	ret
    С уважением,
    Jerri / Red Triangle.

    Этот пользователь поблагодарил jerri за это полезное сообщение:

    Oleg N. Cher(15.03.2021)

  11. #40

    Регистрация
    06.05.2010
    Адрес
    Бердск, НСО
    Сообщений
    4,975
    Спасибо Благодарностей отдано 
    1,083
    Спасибо Благодарностей получено 
    1,178
    Поблагодарили
    916 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    У меня ваще все 8 бит на сегападе, у Некста тоже 8 бит. Никаких полумер!
    Личка заполнена! И чистить я ее не буду! Пользуйтесь адекватными средствами связи! Спасибо.

    Seamos realistas y hagamos lo imposible!

    Ernesto Che Guevara
    Переехал сюда: SteinBlume (ex ATM CP/M Explorer)
    http://era-cg.su

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

    Speccy2010 r2 (Спасибо m.d. & xlat),
    Sinclair ZX Spectrum + (Спасибо stepmotor),
    ZX Evolution rev.C + 5'25 FDD Epson SD-700AA + NedoPC PAL-Coder (Спасибо m.d. & xlat)
    [свернуть]

Страница 4 из 5 ПерваяПервая 12345 ПоследняяПоследняя

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

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

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

Похожие темы

  1. Kempston Mouse
    от mungo в разделе Программирование
    Ответов: 2
    Последнее: 14.01.2015, 17:36
  2. Контроллер Kempston mouse
    от caro в разделе Устройства ввода
    Ответов: 3
    Последнее: 13.04.2009, 20:55
  3. NEW SOFTWARE FOR KEMPSTON MOUSE
    от VELESOFT в разделе Игры
    Ответов: 0
    Последнее: 12.10.2008, 01:17
  4. NEW KEMPSTON MOUSE 2008
    от VELESOFT в разделе Устройства ввода
    Ответов: 5
    Последнее: 07.08.2008, 13:14
  5. Проблема с Kempston Mouse
    от BYTEMAN в разделе Устройства ввода
    Ответов: 4
    Последнее: 24.06.2008, 15:28

Ваши права

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