esl, ага, спасибо. в большинство игр такими не поиграешь, конечно.
зато можно легко смастерить дигитайзер!
В свое время Kwasti прислал диск
там были как помнится его? разработки
там есть поддержка джойстика
но не всё так просто
в AC3 - что-то не так, направление инвертированно и что-то странное с кнопками
а в H (HAND?) есть
Joystick 1
Joystick 1
Joystick #1
Joystick #2
при выборе Joystick #1
Move to position and Press the Button #1
в общем похоже еще странные джойстики, надо будет покопать ...
там на диске есть AC3
я так понимаю набросок Cadet Academy ?
там автодетект джойстиов?,
так сейчас в моем этуляторе там он срабатывает, и всё портит
без эммуляции джойстика там можно с клавиатуры управлять, а в эмуляторе с джойстиком всё время нажата кнопка, и управление в другие стороны
я чегойто сразу не въехал, голова не варит
детект наличия джойстика
Код:RAM:048A 16 0C ld d, 12 RAM:048C 3E 00 ld a, 0 RAM:048E 32 62 0E ld (_JOY_FLAG), a ; 0x01 - joy1 RAM:048E ; 0x02 - joy2? RAM:0491 ; RAM:0491 21 0B FB ld hl, _1C_PPI3RUS RAM:0494 36 82 ld (hl), PORT_C30_OUT|PORT_B_IN|MODE_B_0|PORT_C74_OUT|PORT_A_OUT|MODE_A_0|_SET_MODE RAM:0496 ; RAM:0496 36 0E ld (hl), ppi_0_|ppi_b7 RAM:0498 RAM:0498 loc_498: ; CODE XREF: sub_449+71j RAM:0498 01 D0 07 ld bc, unk_7D0 RAM:049B 1E 00 ld e, 0 RAM:049D 72 ld (hl), d RAM:049E RAM:049E loc_49E: ; CODE XREF: sub_449+60j RAM:049E 3A 09 FB ld a, (_1C_PPI3B) RAM:04A1 E6 3F and 3Fh ; '?' RAM:04A3 CA AE 04 jp z, loc_4AE RAM:04A6 0B dec bc RAM:04A7 78 ld a, b RAM:04A8 B1 or c RAM:04A9 C2 9E 04 jp nz, loc_49E RAM:04AC 1E 01 ld e, 1 RAM:04AE RAM:04AE loc_4AE: ; CODE XREF: sub_449+5Aj RAM:04AE 3A 62 0E ld a, (_JOY_FLAG) ; 0x01 - joy1 RAM:04AE ; 0x02 - joy2? RAM:04B1 07 rlca RAM:04B2 B3 or e RAM:04B3 32 62 0E ld (_JOY_FLAG), a ; 0x01 - joy1 RAM:04B3 ; 0x02 - joy2? RAM:04B6 ; RAM:04B6 14 inc d RAM:04B7 7A ld a, d RAM:04B8 FE 0E cp 14 RAM:04BA C2 98 04 jp nz, loc_498 RAM:04BD ; RAM:04BD 3E 0D ld a, ppi_1_|ppi_b6 RAM:04BF 32 33 FB ld (_1C_PPI2_RUS), a RAM:04C2 ; RAM:04C2 3A 31 FB ld a, (_1C_PPI2B_) RAM:04C5 2F cpl RAM:04C6 5F ld e, a RAM:04C7 E6 01 and 1 RAM:04C9 07 rlca RAM:04CA 07 rlca RAM:04CB 57 ld d, a RAM:04CC 7B ld a, e RAM:04CD 00 nop RAM:04CE 00 nop RAM:04CF 00 nop RAM:04D0 3E 00 ld a, 0 RAM:04D2 3A 62 0E ld a, (_JOY_FLAG) ; 0x01 - joy1 RAM:04D2 ; 0x02 - joy2? RAM:04D5 00 nop RAM:04D6 32 62 0E ld (_JOY_FLAG), a ; 0x01 - joy1 RAM:04D6 ; 0x02 - joy2? RAM:04D9 F3 di[свернуть]
а вот
ожидание нажатие кнопок
Код:RAM:062D ckhBUTTON?: ; CODE XREF: sub_449+14Fp RAM:062D ; WaitButton??p ... RAM:062D 3E 1C ld a, 1Ch RAM:062F F3 di RAM:0630 32 7F BF ld (_6C_SysReg1C), a RAM:0633 1E 00 ld e, 0 RAM:0635 3A 62 0E ld a, (_JOY_FLAG) ; 0x01 - joy1 RAM:0635 ; 0x02 - joy2? RAM:0638 0F rrca RAM:0639 D2 4B 06 jp nc, noJ1 RAM:063C F5 push af RAM:063D 3E 0C ld a, ppi_0_|ppi_b6 RAM:063F 32 0B FB ld (_1C_PPI3RUS), a RAM:0642 ; RAM:0642 3A 09 FB ld a, (_1C_PPI3B) RAM:0645 0F rrca RAM:0646 0F rrca RAM:0647 E6 04 and 4 ; 6.0 0000 1000 - 0x04 : 0x01 RAM:0649 5F ld e, a RAM:064A F1 pop af RAM:064B RAM:064B noJ1: ; CODE XREF: ckhBUTTON?+Cj RAM:064B 0F rrca RAM:064C D2 5E 06 jp nc, noJ2 RAM:064F F5 push af RAM:0650 3E 0D ld a, ppi_1_|ppi_b6 RAM:0652 32 0B FB ld (_1C_PPI3RUS), a RAM:0655 3A 09 FB ld a, (_1C_PPI3B) RAM:0658 0F rrca RAM:0659 E6 08 and 8 ; 6.1 0001 0000 - 0x08 : 0x02 RAM:065B B3 or e RAM:065C 5F ld e, a RAM:065D F1 pop af RAM:065E RAM:065E noJ2: ; CODE XREF: ckhBUTTON?+1Fj RAM:065E 0F rrca RAM:065F D2 71 06 jp nc, noJ3 RAM:0662 F5 push af RAM:0663 3E 0D ld a, ppi_1_|ppi_b6 RAM:0665 32 33 FB ld (_1C_PPI2_RUS), a RAM:0668 3A 31 FB ld a, (_1C_PPI2B_) RAM:066B 2F cpl RAM:066C E6 10 and 10h ; 1110 1111 - 6.1 0x10 : 0x04 RAM:066E B3 or e RAM:066F 5F ld e, a RAM:0670 F1 pop af RAM:0671 RAM:0671 noJ3: ; CODE XREF: ckhBUTTON?+32j RAM:0671 0F rrca RAM:0672 D2 83 06 jp nc, noJ4_KBD RAM:0675 3E 0C ld a, ppi_0_|ppi_b6 RAM:0677 32 33 FB ld (_1C_PPI2_RUS), a RAM:067A 3A 31 FB ld a, (_1C_PPI2B_) RAM:067D 2F cpl RAM:067E 0F rrca RAM:067F E6 20 and 20h ; ' ' ; 6.0 1011 1111 - 0x20 : 0x08 RAM:0681 B3 or e RAM:0682 5F ld e, a RAM:0683 RAM:0683 noJ4_KBD: ; CODE XREF: ckhBUTTON?+45j RAM:0683 7B ld a, e RAM:0684 0F rrca RAM:0685 0F rrca RAM:0686 5F ld e, a ; >>2 RAM:0687 ; RAM:0687 3A 40 F8 ld a, (_1C_KBD_40) ; SPC TAB BS INS DEL STOP CLS ENTER RAM:068A E6 80 and 80h ; 'А' ; SPACE - 0x80 RAM:068C B3 or e RAM:068D 5F ld e, a RAM:068E ; RAM:068E 3A 02 F8 ld a, (_1C_KBD_02) ; O N M K L J I H RAM:0691 E6 40 and 40h ; '@' ; N - 0x40 RAM:0693 B3 or e RAM:0694 07 rlca RAM:0695 07 rlca RAM:0696 5F ld e, a ; l - 0x80? RAM:0697 ; RAM:0697 3E 6C ld a, 6Ch ; 'l' RAM:0699 32 7F FA ld (_1C_SysReg1C), a RAM:069C FB ei RAM:069D 7B ld a, e RAM:069E E6 3F and 3Fh ; '?' ; maks joystick? RAM:06A0 C9 ret RAM:06A0 ; End of function ckhBUTTON?[свернуть]
а в самой игре фигурирую Joy1 и Joy2
Последний раз редактировалось esl; 29.06.2014 в 00:47.
на диске есть UFO и WAR (в UFO опять наброски интерфейса, в WAR - что-то непонятное)
там поддержка MouseSystem мышки а не джойстика
(в последней версии эмулятора можно -m 2 при старте)
---------- Post added at 17:46 ---------- Previous post was at 17:42 ----------
а в AC3 джойстик нормально работает с такой распиновккой (уникальной)
Код:0x01; // Down 0x02; // Up 0x04; // Right 0x08; // Left 0x10; // FIRE ИНВЕРСНЫЙ если 0 то нажато.
немного новостей по теме
благодаря Александру Голубеву (появилось немного новых дисков) http://my.mail.ru/community/ust-ishy...7AD5DA025.html
нашлась 1-я и пока единственная программа которая использует джойстик через элемент управления ЭУ8040
драйвер с говорящим названием GRDJ
ОПИСАНИЕ ПРОГРАММЫ-ДРАЙВЕРА ДЖОЙСТИКА
Код:П/О "ОКТЯБРЬ" Филиппский Ю.А. ОПИСАНИЕ ПРОГРАММЫ-ДРАЙВЕРА ДЖОЙСТИКА 1. НАЗНАЧЕНИЕ Программа предназначена для подключения джойстика ПТ3.049.077 через элемент управления ЭУ8040 к ПЭВМ "КОРВЕТ". Программа встраивает в среду операционной системы (ОС) драйвер джойстика. Драйвер джойстика (далее по тексту драйвер) может работать как в среде ОС МикроДос версии 2.0., так и в ОС СР/М и СОС "КОРНЕТ". Драйвер позволяет заменить нажатие любой клавиши на клавиатуре перемещением ручки джойстика в одном из направлений или нажатие копки. Программа может переопределить значения клавиш для каждого положения джойстика. По окончании работы программы можно запускать любые файлы и работать с джойстиком. 2. РАБОТА ПРОГРАММЫ Перед запуском программы необходимо подкючить элемент управления к ПЭВМ "КОРВЕТ". Джойстик подключается к разъему ХР1 элемента управления (верхний разъем). После запуска программы в левой части экрана схематично отображаются все направления джойстика и соответствующие им значения клавиш. По умолчанию (без переопределения) берутся значения дополнителного поля клавиатуры (клавиши со стелками). В нижней части экрана выдаются запросы на которые нужно ответить нажатием клавиш Y или N. Если вас устраивает заданные значения (режим по умолчанию), то вы можете отказаться от режима переопределения, нажав клавишу N и, таким образом, закончить работу программы. Если же эти значения неустраивают, то вам надо перейти в режим переопределения значений направлений джойстика (нажав клавишу Y). В режиме переопределения в левой части экрана схематично изображено направление джойстика, в нижних строках выводится поясняющее сообщение. Для указанного направления необходимо нажать одну нужную вам клавишу на клавиатуре. Эта клавиша можит быть любой. Когда все направления и значение кнопки будут определены, в нижней части экрана появится запрос. Если вы уверены, что все верно, вам нужно нажать клавишу Y, закончив таким образом работу программы. Если вы ошиблись, то можно вернуться в режим переопределения, нажав клавишу N. 3.РЕКОМЕНДАЦИИ ПО ИСПОЛЗОВАНИЮ ПРОГРАММЫ. Драйвер работает в среде операционной системы. Он определяет текущее состояние джойстика и передает соответствующее ему значение операционной системе для дальнейшей обработки так, как будто бы это значение пришло от клавиатуры. Благодоря этому все программы, в которых нажатие клавиш определяется через функции опереационной системы, могут работать с джойстиком. Если какая-либо программа (игра) не работает с джойстиком, то однозначно, что она напрямую обращается к клавиатуре. В таких случаях никакой драйвер не поможет, кроме как встроенный в саму программу, но эта задача для авторов программ. Таким образом, если вы хотите использовать джойстик в своих программах (играх) вам для опроса клавиатуры надо применять соответствующие функции ОС.[свернуть]
из интересного на первый взгляд - не особо много, но есть
пара новых версий софта
вот этот GRDJ
новых дисковых биосов не обнаружилось (мой диск патчер в EXTROM всё обрабатывает)
Последний раз редактировалось esl; 16.03.2015 в 18:29.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)