Просмотр полной версии : Одинаковая ошибка в трех разных эмулях. Spectaculator/Fuse/SpecEmu same keyboard bug.
Mr.Spleen
20.10.2021, 22:08
Привет уважаемой публике!
Обнаружил похожую ошибку в 3 эмуляторах. Spectaculator 8.0/ Fuse 1.6/ SpecEmu 3.1 (win 10, Pentagon 128 mode).
Клавиатура Speccy зависает или залипает в целом ряде игрушек. Это либо управление не работает в меню игры или в самой игре, возможно, проскакивает несколько выборок как при зажатой клавише или какие-либо другие варианты, связанные с клавиатурой. Нашлось 17 игрушек, причём совершенно случайно нашлись, скорее всего, их намного больше.
Hearts
Home Iceland Dizzy
King Valley
Labyrinth 2.2
Шахта
Minesweeper
Nemesis Part 1 Demo
Nemesis Part 2 Demo
Numerical Demo
Operation 'Oil' Demo
Rise out from Dungeons
Skeletons
Sokoban Pro
Space Duel
НЛО: Флаг неизвестен
Virus 2
Word Life
Просьба проверить, быть может, это мой локальный баг?
Некорректная работа с клавиатурой авторов игр?
Заимствование кода авторов эмуляторов друг у друга?
Посмотреть правильную работу можно в UnrealSpeccy как в offline версии эмулятора, так и в онлайн на сайте Virtual TR-DOS.
Игрушки прилагаю.
Spectramine
20.10.2021, 22:31
А разгадка одна - безблагодатность. Игры читают кемпстон-джойстик, но совсем не в курсе, что на оригинальных Спектрумах с незадействованных портов читаются данные экрана, т.е. при неподключенном (не включенном в эмуляторе) кемпстон-джойстике с его порта будут идти рандомные данные. Включите эмуляцию кемпстон-джойстика в этих эмуляторах, и игры заработают нормально.
- - - Добавлено - - -
Видимо, эти эмуляторы считают, что у Пентагона та же фича (хотя, насколько я знаю, на наших клонах, включая Пентагон, эту фичу нужно было мастерить самостоятельно. Но без неё зависали некоторые игры, например, Renegade).
на наших клонах, включая Пентагон, эту фичу нужно было мастерить самостоятельно
По схеме "Ленинграда" лишние биты кемпстона (ноги микросхем) вообще висят в воздухе, а на Скорпионе зачем-то идут сигналы с ВГ93 в 6-й и 7-й бит.
Spectramine
20.10.2021, 23:32
По схеме "Ленинграда" лишние биты кемпстона (ноги микросхем) вообще висят в воздухе, а на Скорпионе зачем-то идут сигналы с ВГ93 в 6-й и 7-й бит.
Описанная фича не относится напрямую к порту кемпстон-джойстика, в фирменных машинах она касалась всех незадействованных портов (включая порт кемпстона, если интерфейс кемпстон-джойстика не подключен), а на наших клонах обычно, насколько я знаю, цеплялась на порт #FF (порт кемпстон-джойстика #1F, хотя на Ленинграде-1 вроде все нечетные порты считались портом кемпстона, а на фирме сначала кемпстон дешифровался по A5=0, потом по A7=A6=A5=0).
- - - Добавлено - - -
Незадействованные биты кемпстон-порта в играх обычно маскируются, либо игнорируются.
глянул на эмуле zx-poly в режиме спектрума, всё работает
на Ленинграде-1 вроде все нечетные порты считались портом кемпстона
Да, там настолько ущербная дешифрация, что диву давался. Проверялся единственный бит А0, все нечетные порты - кемпстон, все четные - клавиатура (#FE)
Незадействованные биты кемпстон-порта в играх обычно маскируются, либо игнорируются
Поэтому проблемы в играх - это проблемы игр, а не конкретного эмулятора или компьютера. Кривой софт везде будет работать криво.
проблемы в играх - это проблемы игр, а не конкретного эмулятора или компьютера. Кривой софт везде будет работать криво.
ошибаешься.
софт рассчитанный на пентагон работает корректно,
а вот зачем авторы эмулей добавили к нему эффект порта #FF (которого там нет изначально) это вопросы к ним
софт рассчитанный на пентагон работает корректно
Так это и говорилось. Софт должен быть в курсе, что существуют компы, помимо Пентагона, и корректно определять наличие (или отсутствие) кемпстона.
Наиболее простой и эффективный способ был дан еще в 90-е (если не 80-е): проверяем одновременное нажатие противоположных направлений.
Джойстик невозможно сразу повернуть и влево, и вправо (ну или вверх+вниз), на основе этого делается вполне уверенное определение.
Только нужно не разово прочитать данные порта, а примерно как и с тестом мыши - опрашивать некоторое время и сверять значения.
Mr.Spleen
21.10.2021, 12:00
Спасибо за ответы и обсуждение!
А я думал, что это клавиатура залипает, а оказалось кемпстон джойстик. Значит, на оригиналах эти игрушки тоже будут глючить. Поэтому среди программ не нашлось заграничных, т.к. на клонах управление работало корректно (авторы не могли знать таких особенностей работы кемпстона на оригиналах в те далёкие годы, наверное).
На Spectaculator и Fuse kempston включил. А как включить на SpecEmu?
А как включить на SpecEmu?
https://pic.maxiol.com/thumbs2/1634807235.1410806265.clipboard03.png (https://pic.maxiol.com/?v=1634807235.1410806265.clipboard03.png&dp=2)s
Mr.Spleen
21.10.2021, 17:53
2 goodboy
Так для этого надо гэймпад подключать? А без приблуд невозможно, выходит?
используй самую последнюю версию SpecEmu https://zx-pk.ru/attachment.php?attachmentid=76166&d=1633092427
в 3.2 от 01.10.2021 эффекта порта #FF в режиме Пентагона - нету
Mr.Spleen
21.10.2021, 21:40
используй самую последнюю версию SpecEmu https://zx-pk.ru/attachment.php?attachmentid=76166&d=1633092427
в 3.2 от 01.10.2021 эффекта порта #FF в режиме Пентагона - нету
Слушай! Починилось в этой секретной версии. Мерси! :v2_dizzy_roll:
Powered by vBulletin® Version 4.2.5 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot