Нашел GARDEN для КГД, который сильно тупит при работе. На консоли эмулятора при этом поток ошибок (восьмеричные адреса добавил я):
"... write word to unrealized gpu register 0xfd70 (176560) ... from PC = 0x60b0 (060260)"
Нашел GARDEN для КГД, который сильно тупит при работе. На консоли эмулятора при этом поток ошибок (восьмеричные адреса добавил я):
"... write word to unrealized gpu register 0xfd70 (176560) ... from PC = 0x60b0 (060260)"
После длительного перерыва обновил EmuStudio.
1. Теперь в режиме КЦГД работает не УКНЦ'шная клавиатура, а ДВК'шная МС-7004, которая по сравнению с УКНЦ'шной оказалась достаточно сложноватой. Благодаря чему все нестандартные обработчики должны работать корректно. Теперь можно поиграться во все игры из ЭТОЙ темы. Наконец-то работают Baby, Fighter, Lode Runner и PifPaf. Не смотря на то, что клавиатура пока в beta-режиме, и некоторые 'эксклюзивные' комбинации клавиш, такие, как SS+", SS+7, SS+9, SS+0 не работают, однако это практически не мешает работе.
2. Замедлил в два раза процессор ВМ2 в КЦГД, т.к. он работал, как сумасшедший. Теперь игры под КЦГД работают с более вменяемой скоростью (хотя их всегда можно еще больше затормозить по PageUP/PageDown), а так же сам эмулятор стал отбирать меньше процессорного времени.
3. Увеличил буфер терминала для фоновой печати в КЦГД, когда активен УКНЦ. Из-за понижения скорости процессора КЦГД, он перестал справляться, и стал терять буковки.
4. Отменено системное действие (выход в меню) таких клавиш, как Alt и F10 (Спасибо Patron'у!).
Пока так.
Последний раз редактировалось Titus; 17.07.2012 в 04:49.
Ну чего, отзывов, замечаний вообще никаких?
Просто много угля в забое, отдохнуть некогда.
Нашел глюк в новой версии. Проявляется при запуске драйвера терминала SKEY, который используется в таких программах, как CLCDEM и FGRDEM. В них всех нет реакции на нажатие клавиш. Стал разбираться, и выяснил, что коды клавиш этот драйвер получает, но чтобы передать их дальше в источник-2 КЦГД, он устанавливает бит 6 регистра состояния источника-2, который был не релиазован. Логически подумав, я решил, что установка этого бита, вместе с установленным битом 7, должны приводить к запросу прерывания источником-2. Сделал, вроде SKEY сам по себе заработал, все печатается. Но в программе FGRDEM, например, идет какая-то задержка после нажатия клавиш, и они куда-то буферизируются, и выводятся совсем не те, которые нажаты сейчас, а те, что нажимались до этого. В общем, пока путаница.
Выяснил наконец-то почему не работает теперь FGRDEM. Вернее работает, но перемещение по меню работает не правильно.
Управляющая программа в ОЗУ ЦП при приходе кода нажатой клавиши от терминала (КЦГД) вместо того, чтобы один раз опросить регистр данных приемника-0, и сохранить байт в ячейки памяти, она несколько раз при сравнении байта обращается регистру данных, многократно отправляя сигнал готовности передающей программе в ОЗУ КЦГД. При одиночных нажатых клавишах это еще прокатывает. А вот при нажатии клавиш вверх/вниз/вправо/влево, которые состоят из двух кодов, начинается путаница. Терминал КЦГД очень быстро отправляет эти два кода друг за другом, т.к. у меня нет эмуляции тормозов канала, и все транзакции происходят мгновенно. Таким образом, из-за кривости управляющей программы FGRDEM, она не успевает считать оба кода, и они воспринимаются неправильно. Т.е. это глюк не SKEY, а именно FGRDEM, работающей из под него.
Попробовал ради интереса затормозить процессор КЦГД еще в два раза, и все стало работать правильно. Но это чисто для эксперимента. Версия 0.07a еще без поддержки прерываний от источника-2 КЦГД, и SKEY в ней не работает.
Обновил версию.
1. Сделал прерывания от источника-2 КЦГД (клавиатура). Теперь нормально работает SKEY.
2. Сделал задержку канала источника-2. Ориентировочно задержку подобрал в несколько раз больше, чем та, при которой уже начинает работать FGRDEM.
Теперь, по идее, все должно работать с клавиатурой.
p.s.: Несколько странновато, что дополнительная клавиатура под КЦГД дает не цифры а буквы латинского алфавита, не смотря на то, что реализована правильно. Что бы это значило?
Обнаружил странные глюки опять во все той же FGRDEM.
Причем на моем компьютере глюки одни, а на компьютере знакомых ДРУГИЕ. При том, что сам эмулятор - система однопоточная, не должно быть никакой реакции на внешние факторы, кроме клавиатуры.
Потестируйте, плиз:
1. Загружаем систему
2. Нажимаем F6 для перехода в режим КЦГД
3. Нажимаем @FGRDEM и Enter
4. Нажимаем Ctrl+F
5. Выбираем 'Считать с диска'
6. Вводим имя файла 'GRAFIK' и нажимаем Enter
Должно получиться так:
Скрытый текст
[свернуть]
У кого не так, постим скриншоты.
У меня все так. А как выглядят глюки?
Titus, это клавиатура работает в ДКЛ-режиме. Клавиши передают три символа - <Esc>, знак вопроса и букву латинского алфавита. Наберите в командной строке SET SL OFF и сами все увидите. Переключаются они в этот режим Esc-последовательностью <Esc>=. А так как КЦГД режет все подаваемые на него символы до 7-ми бит, то возможно когда УКНЦ подает последовательность для установки системного режима клавиатуры <033><275>, то в КЦГД она преобразуется в <033><075> и устанавливается режим ДКЛ-клавиатуры.
А у меня тоже так, все аналогично, пиксель в пиксель.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)