С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet
Максагор, NedoPC group
ПК ATM-turbo 2+ 1024Kb RAM, 1,7Gb HDD, CD-ROM, Turbo FM, GS-512
[ZX rulezzz 4reva!!!]
http://atmturbo.nedopc.com
http://vk.com/atmturbo
http://maksagor.livejournal.com
http://moskprf.ru
[СССР][Коммунизм][КПРФ] ну [ZX], естественно...
Нет, похоже эта дема определяет атм1 как атм2, но почему пока сложно сказать, загрузчик в ней тяжелый. Усугубляет ситуацию то, что точной информации по атм1 практически нет. Все что есть - это твоя страничка с кратким описанием. Но в ней не все сходится. Например нет информации как именно происходит выборка портов, например #FE и #7FFD, зависит ли это от режимов и в каких режимах они доступны. Разбирал декодировку портов в unreal, но там такая каша, что я удивлен что это вообще работает
По коду демы, там все грузится до 40-го вызовова в трдос, после возврата из которого в памяти нули вместо данных, отсюда и зависание
Отловить проблемное место можно так:
Ставим брейкпоинт на #80EF, запускаем дему, ждем точки останова.
Тут будет проблемный CALL #8144, заходим в него и шагаем до #816D, там будет CALL #3D13 в трдос.
Этот вызов назад уже не возвращается, т.к. в процессе его работы на одном из вызовов в озу, по адресу #5CC2 будут нули вместо кода.
Это както связано с перепутыванием памяти, т.к. если его выключить, то дема работает. Почему палитра не работает не разбирался, вероятно причина одна и таже - машина определяется как атм2, а не атм1, а там палитра уже по другому работает
Последний раз редактировалось ZXMAK; 06.01.2015 в 04:58.
ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet
Максагор, NedoPC group
ПК ATM-turbo 2+ 1024Kb RAM, 1,7Gb HDD, CD-ROM, Turbo FM, GS-512
[ZX rulezzz 4reva!!!]
http://atmturbo.nedopc.com
http://vk.com/atmturbo
http://maksagor.livejournal.com
http://moskprf.ru
[СССР][Коммунизм][КПРФ] ну [ZX], естественно...
подебажил немного дему, оказалось запутывание памяти неправильно работало - не всю память запутывало
Зарелизил версию 2.8.2.37652: https://zxmak2.codeplex.com/releases/view/574368
Что нового:
- исправлено запутывание памяти для ATM 4.50 и переработан код маппинга памяти
- исправлено обновление в окне Memory Map (теперь обновляются и хардварные значения)
- исправлена ошибка при редактировании хардварных значений в Memory Map
![]()
ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet
Еще очень интересует что происходит в момент сброса? Какой видеорежим включается? что происходит с портами AFE и AFB?
И пожалуй самое интересное - видеорежимы выбираются двумя битами, но почему тогда видеорежимов 3, а не 4, Что происходит если включить недостающий (недокументированый) видеорежим?
ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet
В последний релиз 2.8.2.37652 попала отладочная версия файла конфигурации логгера, в котором отключено логирование в файл и уровень сообщений для всплывания консоли с логами установлен на Debug.
В результате часто всплывала консоль с логами.
Чтобы консоль не мешала можно ее выключить или установить уровень сообщений для появления консоли на Warn или Error. Делается это в файле log4net.config:
чтобы отключить консоль вообще, можно просто удалить или закоментировать строчку <appender-ref ref="console" />, например:Код:<appender name="asyncAppender" type="ZXMAK2.Logging.Appenders.AsyncAppender, ZXMAK2.Logging" > <appender-ref ref="rollingFile" /> <appender-ref ref="console" /> </appender> <appender name="console" type="ZXMAK2.Logging.Appenders.ConsoleAppender, ZXMAK2.Logging"> <AllocMode value="Auto" /> <AutoLevel value="Warn" /> <!-- тут задается уровень для появления консоли -->
Перезалил архив с исправленным конфигурационным файлом.Код:<appender name="asyncAppender" type="ZXMAK2.Logging.Appenders.AsyncAppender, ZXMAK2.Logging" > <appender-ref ref="rollingFile" /> <!--<appender-ref ref="console" />--> </appender>
ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet
Пофиксил обработку ошибок, оказалось что эмулятор прекрасно работает под Linux без Wine
Естественно без изображения и звука, т.к. DirectX недоступен, но можно отлаживать код в отладчике
![]()
ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)