что за NVRAM? тот что в RTC или та память что что на I2C шине висит?
Эмуляцию памяти на I2C я не делал, выходит без нее не будет опознаваться?
Вид для печати
Да, NVRAM это i2c память. Вроде без нее не будет определяться, точнее об этом писали в теме про "ПрофПЗУ и СМУК на дискретах".
да, ты был прав, прикрутил эмуляцию nvram и профром задетектил смук :)
Правда какая-то музыка (точнее визг) при детекте в бипере - это нормально? :rolleyes_std:
Вот такая вот картина :biggrin:
http://s017.radikal.ru/i409/1206/f9/5f85366da40a.png
---------- Post added at 22:09 ---------- Previous post was at 21:48 ----------
кажется понял почему визжит - видимо в каких-то режимах нужно блокировать вывод в порт #FE.. :v2_conf2:
На бордюре в теневом мониторе полоски прыгают и в динамиках треск - раз в секунду:
[IMG]http://i054.radikal.ru/1206/9b/7df237fb4d72.png[/IMG]
Ура, вроде работает :)
http://s019.radikal.ru/i615/1206/45/7cdba0b2600b.png
Alexander Makeev, полосок не должно быть, бордюр белый должен быть. На счет звука - не скажу, у меня бипер еще с тех времен не подключен, бо напрягает :)
С полосками разобрался - забыл добавить проверку сигнала DOSEN для ULA и бипера в скорпионе.
Винт на смуке заработал! :biggrin:
http://s019.radikal.ru/i609/1206/71/a227c32f7485.png
Файлы пишутся, читаются, трдос эмулирует работу дискеты на винте :)
После перезапуска эмулятора все сохраняется и работает :v2_dizzy_roll:
Осталось прикрутить настройку с выбором образа винта, пока он у меня жестко на один файл захардкожен.
Отлично, доделывай и я попробую к спринтеру винт прикрутить. Было бы хорошо, если б еще и CD/DVD образы хавало для эмуляции оптических дисков.
Alexander Makeev, http://zx.pk.ru/showthread.php?t=7238&highlight=fatal
Вторую надо поискать, там их 2 версии - одна через 3d2f работает, она на ПрофПЗУ не будет работать, и вторая через 3d13, она как раз для рам-дисков и винтов.
Свободного времени немного, поэтому приделывать GUI для настройки параметров HDD некогда. Сделал настройку параметров HDD через текстовый файл-дескриптор.
Чтобы подключить образ HDD, нужно добавить SMUC устройство на шину и применить изменения. Рядом с эмулятором появится файл ZXMAK2.vmide. Это XML файл который содержит путь к образу HDD и его параметры C/H/S/LBA.
Чтобы на винчестер была возможна запись нужно также поменять параметр readOnly="False".
Если путь к образу не указан, то считается что HDD нету.
Если указан несуществующий файл, то будет создан новый образ HDD с указанными параметрами. :)
Итак ZXMAK2 версия 2630 (download link):
http://s019.radikal.ru/i616/1206/ec/250b70b897dc.png
- добавлен SMUC с эмуляцией HDD;
- исправлен порт #FE для Scorpion ULA/Beeper;
- добавлена поддержка файлов-спутников виртуальной машины (для хранения cmos, nvram, и др.);
- исправлена загрузка нестандартных хобета файлов;
- исправлена поддержка файл-ориентированных образов диска (хобета, SCL)
когда твой эмулятор заткнет за пояс unreal?:)
Так ведь уже.. :D разве unreal умеет contended memory эмулить? Да и в эмуляции проца у unreal много ошибок. Есть конечно GS и видеофильтры, на реализацию всего просто времени не хватвет :)
У меня вобщем-то задача сделать эмулятор максимально легко расширяемым и на мой взгляд получилось неплохо, т.к. написание девайсов для эмуля превратилось в простую задачу. Теперь не нужно ковырять дебри if-ов эмулятора пытаясь понять как добавить эмуляцию нового девайса. Можно сосредоточиться на коде самого девайса.
Сейчас в планах прикрутить эмуляцию других IDE контроллеров, думаю это теперь не сложно, главное выбрать какой первый добавить и чем тестить :) Потом сделать интерфейс для унифицированных индикаторов. Чтобы каждый девайс мог свой индикатор показывать как сейчас у FDD. Потом прикрутить MaxSpeed для ускоренной загрузки с магнитофона.
Неа до этого еще далеко.Цитата:
Так ведь уже..
у меня вопрос - кнопочку турбы или ручного ввода "частоты" зетника можно предусматреть? иногда очень не хватает!
ну, процесс пошел:) главное AAA пересадить, остальные подтянутся моментально.
psb, ну я думаю этого ждать долго не придётся, учитывая то какой дурацкий интерфейс и настройка у анрила.
Alexander Makeev, спасибо за великолепный эмулятор !
Ладно вспомню всё чего мне не хватает и перечислю.Цитата:
так озвучьте, для тогдо чтобы стал не хватает ...
1) ...
2) ...
3) ...
Только попробуйте потом не сделать!
1) Эмуляцию ATM Turbo2+
2) PentEVO с хорошей эмуляцией HDD
3) Поддержку звуковых девайсов GS и прочих
4) Не обязательно, но желательно - плеер *.rzx, можно и запись
I. ДебагерЦитата:
так озвучьте, для тогдо чтобы стал не хватает ...
Самая главная часть эмуля.
Чего не хватает?
1. нормального GUI первое что нужно продублировать кнопками функции F1-F12 клавиш.
К сбросу(в дебагере) нужно подтверждение (будто во время дебаганья настолько часто нужен сброс. А вот нажать случайно и всё похереть это раз плюнуть.)
Load/Save Block... продублировать в главном окне эмуля File/...
2. Редактор регистров сейчас просто чамарашный.
Пример для подражания
http://zx.pk.ru/attachment.php?attac...7&d=1339435670
z80stealth
Почти идеален. Правка осуществляется быстро (не то что в ZXMAK).
Отличное решение вывести содержимое регистров и в двоичном виде.
Еще бы рядом возле десятичного значения вывести десятичное со знаком. А редактирование бинарных значения сделать по образу и подобию редактора флагов (чтоб просто кликать).
3. Редактор памяти
С редактором памяти аналогичная ситуация.
Что нужно правка как в любом HEX редакторе (включая правую колонку с текстом). А не только одного байта в открывшемся окошке.
И еще одно.
Я поражаюсь как можно не ставить скроллбар в редакторе памяти. (10-ки и 10-ки эмулей разных платформ).
А и ногда даже нет Goto Address... как сдесь
Также нужна возможность просматривать и редактировать страницы в памяти которые вне адресного пространства процессора.
4. Виевер памяти
Кроме редактора нужен виевер памяти. (отдельным окном)
На подобии редактора памяти. (будет просто замечательно если и им можно будет редактировать)
Главная особеность виевера это динамическое обновление и паральная работа вместе с запущенным эмулем.
Для чего?
Им можно легко находить некоторые переменные.
5. Виевер теневого экрана
Также нужна возможность вывести в отдельное окно содержимое теневого экрана.
6. Правка кода
В Унриале и UKV есть замечательная возможность править код прям в окне дебагера. так же необходима эта функция.
7. Трасировка
Часто сталкиваюсь с проблемой когда нужно промотать какойто время до начала процедуры. Шагом в одну команду долго а шагом с пропуском циклов легко проскочить процедуру.
Очень бы хотелось шаг 50, 100, 500 тактов
Брекпоинты
В ZXMAK нашел только Брекпоинты по PC
А вот Breakpoints manager в унриале
http://zx.pk.ru/attachment.php?attac...8&d=1339436662
(подобное есть и в EmuZwin и еще где то видел)
также как и в унриале нужно 3 типа брекпоинтов.
1. по выполняемому адресу
2. по обращению к памяти (чтение или запись)
3. по условию
Для первых двух также нужна возможность выставлять диапазон адресов.
брекпоинты по условию
В унриале для установки брекпоинта по условию используется си подобный синтаксис. Возможностей конечно много. Но хотелось бы что нибудь более человеческое. (выбор вариантов брекпоинта и подставка значений)
8. Выдиралка процедур.
В унриале присутствует выдиралка процедур
Крайне полезен будет её аналог.
Перед запуском ставим галочки возле пунктов:
выполнение
чтение
запись
Запускаем
байты памяти с которыми совершились эти действия помечаются.
При остановке
Или (по выбору или оба сразу) сохраняем дамп памяти в котором все не помеченные байты заменяются на выбранное пользователем значение
или просто заменяем все не помеченные байты и продолжаем выполнение.(как в унриале)
9. счетчики выполнения процедур
Нужна возможность подсчета количества выполнений процедуры за определенное время. Например инкремент счетчика если PC указывает на заданный адрес. Таких счетчиков штук 8-м.
10. MCdebuger
Дебагер для мультиклора.
Такое уже было в ZXMAK
http://zx.pk.ru/attachment.php?attac...1&d=1339438694
Но хотелось бы большего.
Второй экран в котором отображается содержимое видео памяти без оверскана
сетку знакомест и отделить яркостью бордер.
http://zx.pk.ru/attachment.php?attac...0&d=1339438656
11... ...всё надоело печатать... хотя мыслей еще полно...
я вобщемто считал что дебагер то вспомогательная часть :smile:
Дебагер практически не обновлялся и присутствует в том виде в котором появился в ZXMAK.NET (где-то 2005 год)
Все это конечно можно сделать, но на это нужно время, я сейчас стараюсь в первую очередь функционалом наполнять :)
Замечания понятны, как появится время, постараюсь заняться и дебагером
а кроме дебагера пожелания есть?
P.S.: может ктото подскажет софт для отладки NEMO-IDE?
Конечно есть.Цитата:
а кроме дебагера пожелания есть?
11. Нужна возможность замедленной и ускоренной работы эмулятора.
Желательно чтоб скорость задавалась пользователем.
Для чего?
Например для того чтоб быстро пролистать 15 минутный, скучный, не пропускаемый, скролл в демке.
12. Disk Browser
Есть такая замечательная фича в emuZwin.
http://zx.pk.ru/attachment.php?attac...3&d=1339698177
По возможности хотелось бы подобное.
В нем можно создавать образы дисков.
Импортировать и Экспортировать в Нobeta файлы.
И есть замечательная возможность запускать исполняемые файлы двойным кликом.
Или хотя бы автоматическое добавление boot.b (как в унриале) желательно опциональное.
13. Нужен редактируемый ULA девайс с максимальным количеством изменяемых настроек.
Так же хотелось бы иметь возможность менять назначения битов в системных портах.
Было бы не плохо иметь возможность загружать/сохранять настройки в ini файл.
14. ASM
http://zx.pk.ru/attachment.php?attac...4&d=1339699504
Очень бы хотелось ZXASM из emuZwin
15 TIME BACKЦитата:
Начиная с версии 2.7, компилятор ZXAsm++ вынесен в отдельную DLL, и его исходный код (на языке Pascal, Delphi) опубликован полностью (т.е. он теперь может быть использован в других эмуляторах Spectrum или может быть построен самостоятельный кросс-компилятор на его основе).
Еще одна замечательная функция в emuZwin
Позволяющая отматывать время назад.
Состояние памяти, регистров.. спектрума вроде сохраняется каждые 2 секунды.
Шикарная тулза для прохождения очень сложных игр.
16-17 ULAPLUS и FLASHCOLOR
Я буйный фанатик этих режимов :v2_dizzy_roll: :v2_clapp::v2_dizzy_turn: :v2_lol:
ХАЧУ ЭТИ ДЕВАЙСЫ ПРЯМ СЧАС!:)
Но могу потерпеть.
Нужно чтоб они были отдельными устройствами а не входили в состав девайса ULА.
Для ULAPLUS потребуется редактор палитры.
http://zx.pk.ru/attachment.php?attac...0&d=1339702264
18... ...есть еще пожелания по дебаганью но пока озвучивать их не буду...
...а то уже сильно много хотелок но еще много чего не зделано.
А увеличение количества хотелок прямо пропорционально замедлению развития проекта.
А можно добавить поддержку командной строки и при запуске эмулятора через опции ZXMAK2.exe [option...] [filename]
выбирать с каким менеджером памяти запустится ZXMAK2...
Неплохая утилита дискдоктор для винчестера by Alone Coder HDDoctor
Давненько нету новостей... Оно живое еще?
Такое уже было.Цитата:
Давненько нету новостей...
А потом снова наступило активное развитие.
Запилил проигрывание RZX.
Сыровато, но практически все RZX, что я пробовал, проигрались без проблем. В оставшихся используются выкрутасы с регистром R (Green Beret, например), а у меня синхронизация только по нему. Видимо, надо лезть глубже, в эмуляцию процессора.
В аттаче патч и последняя svn-версия эмулятора, собранная с его использованием.
здорово! :v2_thumb:
посмотрел код, смысла дельту по регистру R вычислять нету- его могут в любой момент перегрузить. Если я правильно понял описание RZX, то вместо PostCycle нужно было просто добавить счетчик с проверкой в обработчик события RDMEM_M1 (чтение операции, похоже RZX оперирует именно с этим значением).
Можешь выложить RZX который не работает? Хочу поковыряться как время будет :)
Не выйдет, RDMEM_M1 для префиксированных инструкций вызывается только один раз, а регистр R для них увеличивается на двойку.
Я счас пока привязался к REFRESH (патч в аттаче), Green Beret заработал, но там счас с длительностью INT косяк, похоже - сирена в заставке звучит чуть быстрей, чем надо, и спрайты в игре мерцают.
И другой неработающий RZX - gunstar.rzx. Точнее, он работает в 48к режиме (даже с привязкой по R), а в 128 синхронизация сбивается.
Если будешь смотреть, обрати внимание на два закоментированных throw exception в RzxHandler.cs, некоторые игры на них валятся - тоже признак того, что длина INT неверная.
Попробую, но мой TFS-опыт ограничивается двумя часами тотальной ненависти, когда я этот TFS пытался поставить на сервер :)
"-Так, а теперь поставь мне все обновления дотнета и еще миллион нужных пакетов"
"-Так, а теперь я хочу базу. И не подсовывай мне свой SQL 2000!"
"-Так, а теперь мне надо Sharepoint, иначе я не играю. Нет шарепоинта? Ну тогда нет и TFS'а" :)
Но попробую, может клиентская часть более дружелюбна :)
ошибка эта в драйвере видеокарты. Т.к. под w2k3 официально твоя видеокарта не поддерживается, производитель чинить эту ошибку в неофициальном хаке врядли будет. В официальных дровах этой ошибки нет.
Попытки компилить или еще чтото делать бесполезны. Эффект этот проявляется только за счет того что память может не так распределяться при каких либо действиях (компиляция и т.п.) и ошибка драйвера проявляется уже по другому.
---------- Post added at 18:33 ---------- Previous post was at 18:27 ----------
а чем ты эти патчи генеришь и накатываешь?
Генерил через TortoiseSVN (я проект через svn вытянул)
Накатывать можно им, а можно руками через старый добрый GNU patch
patch -p1 <filename.patch
-p1 игнорирует сегменты пути, прописанные в patch-файле, зависит от того, где находимся, когда запускаем эту команду
если в /SRC - то -p0
если в /SRC/ZXMAK2 - то -p1
А TFS у меня крутая ошибка при коннекте - "The supplied email address is invalid. Parameter name: emailAddress". При том, что мыло у меня корректное, и с codeplex'а письма на него доходят. Написал в техподдержку, авось разберутся.
Установил себе наконец этот дотнет, запускаю эмулятор и бац!
http://s018.radikal.ru/i511/1210/35/37d54efa8167.png
эта ошибка говорит о том что у тебя не установлен DirectX 9. прогони установку DirectX и все заработает :v2_wink2:
---------- Post added at 20:08 ---------- Previous post was at 20:05 ----------
нет, в отличие от C++, никаких redistributable пакетов не нужно, достаточно установить DirectX 9.
Никаких сторонних либ, кроме DirectX эмулятор не использует :smile:
Только главное устанавливать именно DirectX 9, т.к. инсталляция DirectX 10/11 не устанавливает DirectX 9.
Чтобы весь DirectX не качать, можешь веб-инсталлер запустить, он сам закачает только то что нужно: http://www.microsoft.com/en-us/downl...ils.aspx?id=35