Code: Select all
?SN ERROR
GO
Выложил исходники http://code.google.com/p/timgoo/source/ ... k/lvivgoo/ и последнюю сборку с играми http://code.google.com/p/timgoo/downloads/list
Code: Select all
?SN ERROR
GO
Кому лениво заморачиваться с SVN, для тех в файловом архиве подготовлен специальный архивчик.Tim0xA wrote:Выложил исходники http://code.google.com/p/timgoo/source/ ... k/lvivgoo/
имхо, отэмулировать надо какое-то количество команд, а уже потом переход туда делать, т.к. по BasicHotEntry 0x02FD код отрабатывает загруженную программу, инициализируя состояние интерпретатора и уже потом переходит на ожидание символа в биос. попробуй после загрузки запустить машину на выполнение до перехода PC в область C000..FFFF, а уже потом "бросать" в RUN.Tim0xA wrote:Подсмотрел в отладчике b2m состояния регистров, но не помогло, чего-то еще не хватает. Может потом разберусь.
вот вариант с буфером клавиатуры - просто и сердитоTim0xA wrote:Подсмотрел в отладчике b2m состояния регистров, но не помогло, чего-то еще не хватает. Может потом разберусь. Эмулировать набор RUN не буду, в SDK есть виртуальная клава - лучше ее прикрутить.
Code: Select all
emControl(emcSetMem,0xBE10,13);
emControl(emcSetMem,0xBE11,'N');
emControl(emcSetMem,0xBE12,'U');
emControl(emcSetMem,0xBE13,'R');
emControl(emcSetMem,0xBE14,4);
Code: Select all
E8A9 sub_E8A9: ; input_key
E8A9 push h
E8AA push d
E8AB push b
E8AC mvi a, 8Ah ; 'К'
E8AE out 0D3h
E8B0 lxi h, keyBufSz ; num of chars
E8B3 mov a, m
E8B4 ora a
E8B5 jnz loc_E908
E908 loc_E908:
E908 dcr m
E909 mvi a, 10h
E90B add m
E90C mov l, a
E90D mov a, m
E90E pop b
E90F pop d
E910 pop h
E911 ret
BE10 keyBuf: .db 0, 0, 0, 0
BE14 keyBufSz: .db 0
Code: Select all
for (y = 0; y < 256; y++)
{
for (x = 0; x < 256; x++)
{
... = screen[y][x] ; // <- вот такое обращение к массиву работает НАМНОГО быстрее
... = screen[x][y] ; // чем вот такое
}
}
Сколько у Вас отличных новостей!Tim0xA wrote:Ведь я где-то читал, что работа с ОЗУ происходит медленнее, чем с ПЗУ. Как и насколько это тормозится?
Туго с музоном на ПК-01 было, туго. Из более-менее приличного можно припомнить только "Star Raider" (музыка после загрузки) и "King Valley" (музыка во время игрового процесса).Tim0xA wrote:И еще: в каких играх на Львове самый лучший музон? Хочу постестировать.
думаешь, что он не смог векторизовать индекс на sizeof(a[]) ?Tim0xA wrote:Так что компилятору доверяй, но сам не плошай!
с этим сложно, мультиколор-демок практически не было (я слышал от Alexander ровно об одной).Tim0xA wrote:У меня нет технических подробностей о тактах, частотах и времянках экрана Львова, поэтому некоторые моменты были реализованы приближенно. Посему есть уточняющие вопросы
Внутреннему циклу с индексом "x" проще получать данные из массива screen[y][x], т.к. элементы [x] располагаются в памяти последовательно. При этом указатель в каждой итерации инкрементируется на +1. Для массива screen[x][y] указатель должен изменяться с шагом sizeof[y], а это более тормозной вариант. Поменял - и эмулятор начал просто летать.sadfsdfsdaf wrote:думаешь, что он не смог векторизовать индекс
ivagor писал отличные тесты с помощью которых удалось определить все временные диаграммы работы видеоОЗУ и процессора Вектора. Для Львова у него тоже был тест (его запускали в теме на zp.pk.ru, когда разбирались с частотами и экраном), но он утерян и связь с ivagor-ом тоже утеряна - его почтовый ящик закрыт.sadfsdfsdaf wrote:Второй вариант - экспериментировать на живом железе, вот только, наверное, чисто программных методов не хватит
А ФИО ivagor'а известны? Я могу провести глубинное бурение Интернета, вдруг повезет.Tim0xA wrote:ivagor писал отличные тесты с помощью которых удалось определить все временные диаграммы работы видеоОЗУ и процессора Вектора. Для Львова у него тоже был тест (его запускали в теме на zp.pk.ru, когда разбирались с частотами и экраном), но он утерян и связь с ivagor-ом тоже утеряна - его почтовый ящик закрыт.
Очень даже известны - это Городецкий Иван, который адаптировал мои рекомпиляции с MSX на Львов и другие компы. Просто связь утеряна.liberation wrote: А ФИО ivagor'а известны? Я могу провести глубинное бурение Интернета, вдруг повезет.
Ой! Действительно очень жаль, что Иван пропал с контакта. Очень интересный человек и собеседник, много сделавший для "Львова"! Посмотрел, последнее полученное от него письмо датируется маем 2011-го.Tim0xA wrote: Очень даже известны - это Городецкий Иван, который адаптировал мои рекомпиляции с MSX на Львов и другие компы. Просто связь утеряна.
По результатам бурения отписался в личку.Tim0xA wrote:Очень даже известны - это Городецкий Иван, который адаптировал мои рекомпиляции с MSX на Львов и другие компы. Просто связь утеряна.
Дело правильное и очень полезное! Может рискнете продублировать тему в интернациональном разделе?Пропиарил Львов у буржуев на динго-форуме. Знай наших ))
Отличная новость! А что-нибудь известно о работоспособности эмулятора на других подобных устройствах (Ritmix RZX-50, к примеру)?Tim0xA wrote:Выпущен релиз эмулятора со звуком и качественным ресайзом экрана.
Users browsing this forum: No registered users and 1 guest