PDA

Просмотр полной версии : Ошибка в биосе MSX2+ для Ямахи



Wierzbowsky
08.03.2016, 18:27
С тех пор, как проапгрейдил свои две YIS503III Ямахи в MSX2+ покоя не давал один глюк, когда клавиши "v" и "h" не становились заглавными при нажатии шифта. Поковырялся в бинарнике и обнаружил что в таблице перекодировки сканкодов в символы закралась ошибка - эти 2 символа для перекодировки с шифтом и без шифта были одинаковые (см. скрин, место где должны быть заглавные буквы подсвечено). Поправил глюк в прошивке, но пока не тестировал. Вопрос - есть ли у биоса контрольная сумма где-нибудь и как её пересчитывать с учётом поправок?

goodboy
08.03.2016, 18:30
Поправил глюк в прошивке, но пока не тестировал. Вопрос - есть ли у биоса контрольная сумма где-нибудь и как её пересчитывать с учётом поправок?
а если просто подставить в эмуль ?

caro
08.03.2016, 18:40
С тех пор, как проапгрейдил свои две YIS503III Ямахи в MSX2+ покоя не давал один глюк, когда клавиши "v" и "h" не становились заглавными при нажатии шифта. Поковырялся в бинарнике и обнаружил что в таблице перекодировки сканкодов в символы закралась ошибка - эти 2 символа для перекодировки с шифтом и без шифта были одинаковые (см. скрин, место где должны быть заглавные буквы подсвечено). Поправил глюк в прошивке, но пока не тестировал.Это моя ошибка, тоже уже исправил, но не выкладывал.

Вопрос - есть ли у биоса контрольная сумма где-нибудь и как её пересчитывать с учётом поправок?Не предусмотрена контрольная сумма. Но даже если бы и была предусмотрена, то каждый кто бы правил ПЗУ (даже ошибочно), корректировал бы и КС.

Wierzbowsky
08.03.2016, 18:51
Проверил на своей Ямахе - вроде все в норме, глюка больше нет. :)

Kinder5912
12.03.2016, 23:49
Wierzbowsky, приветствую!
Не могли бы вы выложить здесь (для истории, и для облегчения поиска последователям) содержимое второй ПЗУ ваших машин, которые, как я понимаю, успешно работают ?

DJs3000
13.03.2016, 02:35
https://yadi.sk/d/2Uhdn4pGgJoTs

Wierzbowsky
13.03.2016, 06:36
Wierzbowsky, приветствую!
Не могли бы вы выложить здесь (для истории, и для облегчения поиска последователям) содержимое второй ПЗУ ваших машин, которые, как я понимаю, успешно работают ?

Дмитрий уже выложил в предыдущем посте. :) Машинки работают нормально. Для полноценного апгрейда в 2+ в стандартную 503III надо добавить 9958 VDP, платку памяти на 1 мегабайт от Caro и нашу платку FMPAC + F4 порта.

TomaTLAB
21.04.2017, 00:30
...Поковырялся в бинарнике и обнаружил что в таблице перекодировки сканкодов в символы ...
А не подскажете ли с какого адреса эта таблица живет? И как устроена?
А то для MSX2 есть исправленный биос со сдвигом цифровых кноп влево, где им и положено находиться, а для MSX2+ чегой-то только по шифту цифры пропатчили.
Да и хочу попробовать еще пару кнопок подвигать, так чисто ради любопытства. :)

Wierzbowsky
21.04.2017, 10:49
Цифровые кнопки в этом биосе работают как надо - циферки печатаются соответственно кнопке. Но некоторые программы их почему-то определяют со сдвигом. Я такое замечал очень давно, еще в играх где требовалось выбрать кол-во игроков и клаву/джой в качестве контроллера. Видимо какое-то несоответствие между высокоуровневым и низкоуровневым значением кнопок. И я думаю, что сдвигом в таблице вы не отделаетесь - придётся ещё и биос патчить. Может уважаемый Caro нам поможет? А то это несоответствие меня тоже уже достало при работе с Некстором...

TomaTLAB
21.04.2017, 11:19
Ну нужно ж с чего-то начинать :)
А то я кнопки переставил под правленную прошивку MSX2, а теперь заменил VDP'шник и не хотелось бы их обратно на "советский" вариант переставлять, который не "каноничен" и проги (в т.ч. Некстор по всему) опрашивающие клаву напрямую о нем знать не знают и считают что "Единичка" сразу за "ESC'йпом" идет. Но это да, вопрос скорее к многоуважаемому Камилю :)

OrionExt
21.04.2017, 11:28
Почему кнопка "1" оказалась между кнопками "Й" и "Ц", и остальные "прелести" - понятно. Это стандарт механической печатающей машинки. :v2_dizzy_wall:


А не подскажете ли с какого адреса эта таблица живет? И как устроена?

Вот ссылка (https://sourceforge.net/projects/msxsyssrc/files/?source=navbar) на дизассемблированные ромы с MSX. Может поможет.


Цифровые кнопки в этом биосе работают как надо - циферки печатаются соответственно кнопке. Но некоторые программы их почему-то определяют со сдвигом.
Потому что эти программы сканируют матрицу клавиатуры напрямую, в обход биоса.


А какой биос был взят за основу для модернизированной Ямахи?

Wierzbowsky
21.04.2017, 12:39
А какой биос был взят за основу для модернизированной Ямахи?

Вроде от какой-то Соньки 2+. Но точнее может сказать только автор переделки.

caro
21.04.2017, 13:58
А какой биос был взят за основу для модернизированной Ямахи?Panasonic FS-1WSX.

TomaTLAB
21.04.2017, 23:14
Забодал. Теперь у меня такой барашек какого мне хочется :) Спасибо OrionExt за ссылку на листинги ромов.
В общем, чтобы желающим подправить клавиатуру, не копать, небольшая шпаргалка.

Таблица лежит с адреса 0x0DA5 и содержит шесть блоков по 48 байт (по количеству символьных кноп):
1. латиница; 2. лат. + шифт; 3. графика; 4. граф. + шифт; 5. кириллица; 6. кир. + шифт.
Где - то дальше должна быть еще для цифровой группы 805-й клавы.

Оригинальная разблюдовка кноп клавы КУВТ:


)+!"#¤%&'($=-h*v\>b@<?fiswuapr[oldxt]zjkyegmc|nq
9;123456780_^H:V\.B@,/FISWUAPR{OLDXT}ZJKYEGMC~NQ