ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
build 20150122
- Дебагер научился показывать метки. Заменяется адрес инструкции или 2-байтовый аргумент, включая jr/djnz, потому как в результате там всё равно формируется адрес. Включается-отключается по Ctrl+L
- Добавлены новые входные аргументы. Список ниже.
-d | --debug : после запуска сразу включить отладчик.
-p | --profile <name> : включить профиль <name>. Может встречаться несколько раз. По умолчанию - либо последний используемый, либо default (зависит от галки в настройках). Надо заметить, что при первом включении профиля привязанный к нему ZX сбрасывается.
-b | --bank <nr> : включить в окно #C000 страницу ОЗУ с указанным номером.
-a | --adr <adr> : задать адрес для загрузки (см. --file)
-f | --file <path> : загрузить бинарный файл по адресу, указаному в --adr. Если достигнут #FFFF, загрузка прерывается.
--bp <adr> : установить ловушку fetch на указаный адрес. Точки останова привязываются не к адресам, а к конкретным ячейкам памяти.
--pc <adr> : установить PC
--sp <adr> : установить SP
-l | --labels <path> : загрузить список меток. формат файла - результат команды LABELSLIST в SJASM+. Однако вот, поэтому пока экспериментальный характер.
Всё остальное нераспознанное воспринимается как путь файла для загрузки.
Все номера и адреса обрабатываются strtol, который может есть 8-,10- и 16-ричные числа. Для 16-ричных нужен префикс 0x.
Почти все операции имеют сомнительную ценность на ATM2/BaseConf, потому как после сброса они аппаратно переходят в CPM-режим и во всех 4 окнах памяти ставится последняя доступная страница ПЗУ.
Так же при изменении PC не выполняются процедуры сброса - переменные BASIC/TRDOS/итд не будут проинициализированы.
[ deb 32 ][ deb 64 ][ rpm 32 ][ rpm 64 ][ win32 ]
Последний раз редактировалось SAM style; 23.01.2015 в 03:21.
Все любят гипножабу
Muscate Nut - http://zxaaa.untergrund.net/view_demo.php?id=3380 - зависает на картинке с названием.
...а инопланетян мы отпустим домой! Пешком...
Нашёл в чём дело:Косяк в том, что в эмуле INT схватывается только по переднему фронту (возникновение во время выполнения команды), а EI отключает обработку прерываний до следующей команды. Так что если INT пришёл во время EI - он не обработается...Код:6338 EI 6339 JR 6338
Интересная дема - переход к следующей части делается из обработчика прерываний.
Дело ясно, как пень - надо делать реакцию на INT по всей его длине.
Последний раз редактировалось SAM style; 24.01.2015 в 01:16.
Все любят гипножабу
ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet
build 20150128
- Исправлена обработка сигнала INT
- F8 в отладчике работает и на HALT
- Найдена неточность в загрузке FDI. Теперь ZX-Format должен грузиться
- Найдена ошибка в загрузке Z80.
- Переписана загрузка RZX - теперь он подгружается блоками во время проигрывания, это дало возможность грузить файлы с несколькими снапшотами. Сбои присутствуют, но уже реже.
[ deb32 ][ deb64 ][ rpm32 ][ rpm64 ][ win32 ]
PS:кто-нибудь знает, как средствами zlib определить размер распакованного блока до распаковки? Пока что под выходной буфер выделяю 16Мб, по идее хватает на 40-50 минут проигрывания rzx, но всякое может случится...
Последний раз редактировалось SAM style; 29.01.2015 в 15:53.
Все любят гипножабу
ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet
Пропустил установку IX и IY.
Не спаншота, а блока #80 - это уже данные с портов, там сами размеры кадров упакованы в общей куче.
Глубоко в zlib не лазил. Похоже, надо пользовать inflate() как поток и выколупывать оттуда по кадру за раз, а не пытаться сразу всё вытащить...
Все любят гипножабу
Эту тему просматривают: 2 (пользователей: 0 , гостей: 2)