Есть несколько игр, которые таким образом запускаются (Antix, Zoom). Но в большинстве случаев эмулятор: а) зависает б) ничего не происходит.
Вид для печати
эээ
не так
MO - выходишь в монитор
грузишь бин
s1000 - ну или там какой адрес запуска ;)
запустился :)
но с клавиатурой чтото не так
должно быть - нажал - персонаж двигается или прыгает
отпустил - не прыгает - а здесь нажал и все :) он бежит пока не упрется
Клавиатуру буду ещё проверять -- отпускание клавиш делал но не проверял по цепочке.
Скажите, а на каких играх можно проверить палитры цветного режима?
глюк с клавой - только при обработке нажатия ПЦ клавы
с экранной клавой - все ок
бк0010 не имеет палитр :( а по 0011 не подскажу
---------- Post added at 13:34 ---------- Previous post was at 13:30 ----------
только если демки
Ошибку с PC-клавиатурой исправил -- отжатия работают.
Поставил задержки до скорости примерно в 50 фреймов в секунду -- по идее, это примерно в 2 раза выше чем реальный БК, но уже можно хоть как-то играть.
Дефолтовой конфигурацией установлена конфигурация без Бейсика и Фокала -- только Монитор. Нажимаем СТОП, выбираем Load BIN, затем обычно S 1000<ввод>.
интересно.
запустилось ещё коечто:
ABORIG.bin - играется, но потом игрушку начинает жестоко глючить, человечек сам носится по лабиринту.
AIRWOLF.bin - бесконечно повторяющаюся заставка.
BOLDER.bin - бесконечно повторяющаюся заставка.
DIGGER.bin - полностью работоспособная игрушка :)
большинство остальных игр просто зависают.
Да, примерно 1/4 из всех игр работают, если не меньше.
В некоторых играх очень плохо воспринимает клавиатуру.
Будем работать над ошибками.
Вроде как сделал звук. Отключаемый.
http://bkbtl.googlecode.com/files/BKBTL-beta6.zip
Выписал порты БК, буду уточнять по мере написания эмулятора.
http://code.google.com/p/bkbtl/wiki/Ports
Сделал в эмуляторе УКНЦ и сразу перенёс в эмулятор БК -- "субтитры".
Суть в том, что готовится текстовый файл, похожий на ассемблерный. Этот файл можно подгрузить в окне дизассемблера, чтобы показывать комментарии и помогать с разбором в случае когда встречаются данные а не код. В результате бродить с отладчиком -- проще в разы.
Остается взять исходники ПЗУ БК (они тут есть на форуме) и проставить реальные адреса. Фрагмент скриншота в аттаче -- прописал адреса в начальной области ПЗУ Монитора.
Добавил в аттач пример файла субтитров.
А не проще отрыть прогу MSTD11 - это та же программа, что и зашита в блок МСТД БК0011М.
Там есть тест и палитр и вроде таймера, не говоря уже о клавиатуре.
Кошерным эмуль будет считаться тогда, когда там пойдет моя CAT MEGADEMO, ибо даже на глючных аппаратных БК-шках она не везде идет.
Ибо там использвано быстрая смена экрана, таймер, Ковокс, смена экрана+прокрутка, палитры.
SKcorp., а ты писал для 0010?
ты наверное как и ЧРВ с SWsoft спутал...
nzeemin, Джойстик сделаешь на цифровых клавишах?
Джойстик на нумпаде сделал. Covox на порту 177714 сделал.
Улучшил реализацию таймера -- программа из книжки Донского уже работает правильно, но есть ещё незаконченные мелочи.
Код флопповода от UKNCBTL подключил, но нужно ещё отлаживать -- есть различия в работе портов 177130, 177132 в БК и УКНЦ.
Сейчас работаю над ИРПС на портах 177560..0177566 -- на форуме БК появились какие-то тесты ВМ1, выдающие туда диагностику -- пытаюсь их запустить.
http://code.google.com/p/bkbtl/updates/list -- тут можно отслеживать коммиты
А различие будет только в порте 177130 по записи в разрядах 00, 01, 02, 03 и 10.
В УКНЦ номер привода выбирается разрядами 00 и 01 при установленном 10, а разрядами 02 и 03 выбирается схема прекоррекции (для эмулятора это не важно). В БК в классическом контроллере для БК-0011М номер привода выбирается разрядами 00 и 01 (поддерживаются только два привода), а схема прекоррекции включается 10-м разрядом, разряды 02 и 03 не используются.
В итоге для УКНЦ:
10 01 00
1 1 1 Выбран привод 0
1 1 0 Выбран привод 1
1 0 1 Выбран привод 2
1 0 0 Выбран привод 3
0 х х Не выбран ни один привод
Для БК-0011М (классический контроллер):
01 00
0 0 Не выбран ни один привод
0 1 Выбран привод 0
1 0 Выбран привод 1
1 1 Не выбран ни один привод
Были переделанные схемы, где комбинацией 1 1 выбирался привод 2, а разрядами 02 и 03 подключались или переключались банки дополнительной памяти.
А джойстик на джойстике (имеется в виду БК на PC-джойстике/геймпаде) будет? ;)
Break House запускал?
там почему то не задается нормально управление
можешь посмотреть почему?
Тут две проблемы:
1. У меня нет PC-джойстика. Есть DualShock от PS2, собираюсь прикупить к нему USB-переходник.
2. Пока не знаю через какой API использовать джойстик. На DirectX завязываться не хочется. В планах изучение Qt и перевод интерфейса под него -- там есть API. Но это пока дальняя перспектива.
http://bkbtl.googlecode.com/files/BKBTL-beta7.zip
- ПЗУшки переименованы в .rom чтобы не путать с .bin
- Субтитры в окне Disassemble
- Джойстик на NumPad
- Covox
- Программируемый таймер (пока неполная эмуляция)
- Debug > Memory Map -- карта теперь живая
- Ряд исправлений в деталях эмуляции процессора и других устройств (тест 791401 пройден)
- Команда отладчика Step Over
- Запись на ленту (в WAV-файл)
C праздниками!
когда будет обновление? :)
Или хотя бы новости по изменениям и дополнениям на сайте, а то судя по последним датам работа была приостановлена :|
реал да требует иногда внимания
Маленький вредный вопрос: как в BKBTL ввести символ равенства? У меня не получилось ни с клавиатуры, ни с помощью экранной клавиатуры. И, кстати, есть ли способ вводить с экранной клавиатуры комбинации клавиш?
http://img-fotki.yandex.ru/get/4210/...869161b3_L.jpg
Не удержался -- начал переносить отладочные окна в Qt:
http://img-fotki.yandex.ru/get/4310/...d9f7013b_L.jpg
Спасибо!
Еще неочевидная фича — когда размер буфера командного окна отладчика доходит до какого-то порогового значения, это окно просто перестает обновляться. Это, наверное, довольно много строк, но все же.
И, может быть как раз в процессе кьютизации, как-то попонятней бы сделать с переносом фокуса между подокнами отладчика. Сейчас положение фокуса ввода никак не обозначено и приходится совершать много лишних кликов.
Думаю примерно так сделать: фокус может быть только у экрана (клавиши PC-клавы как клавиши БК) либо в окне отладочной консоли. Переключение между ними двумя -- по клавише Escape. Кроме того, как-то обозначить наличие фокуса у экрана. Для всех остальных окон команды вызывать из контекстного меню по правой кнопке мыши.
Сейчас в Qt-версии заработали основные отладочные окна, причём они все dockable, команды Step Into / Step Over, несколько команд консоли. Но есть некоторый регресс -- не загружается Фокал, пока не нашёл почему.
Я бы подумал о какой-нибудь другой клавише. На esc слишком много софта последнее время стало реагировать психовано и я ее теперь вообще боюсь нажимать ;)
Первая бета под Qt.
http://code.google.com/p/bkbtl/downl...a8-windows.zip
Версии для других систем будут чуть позже.
UPD:
http://bkbtl.googlecode.com/files/Qt...8-linux.tar.gz
Собрано на ядре 2.6.15.
Проверял под Ubuntu 10.04 Desktop и Ubuntu 10.04 Netbook Edition -- работает.
отлично смотрится, красиво, удобно.
жаль что без звука.
http://bkbtl.googlecode.com/files/Qt...ta8-macosx.zip
Скачать, разархивировать, запустить.
Обратите внимание -- файлы ромов должны лежать рядом с .app, если перемещаете куда-то -- несите их вместе. В будущих версиях постараюсь внедрить образы пзу внутрь бандла.
http://img-fotki.yandex.ru/get/4300/...9d8d300_XL.jpg
---------- Post added at 22:50 ---------- Previous post was at 22:40 ----------
Буду изучать Phonon, однако...
мелочь конечно, но может нужно сделать меню About более осмысленной :)