Полупериод тонового генератора считается по формуле:
(511 - Number) << (8 - Octave)
Тактовая частота 8МГц, но качественны рендеринг на этой частоте довольно тяжел. Поэтому можно немного смухлевать и делать выборку звука с генераторов на частоте 1Мгц, ибо минимальный период генераторов все равно будет 512.
в ToDo загадКо по Spectrum +3:
пару Бетменов, один сразу сбрасывается, но это даже хорошо,
а вот второй даже пытается работать, но все равно сброс.Но самое интересное, что после него перестают монтироваться диски.Напрочь. Помогает только перезапуск эмууля.
Проверял их же в спекуляторе и SpecEmu. обе рабочие версии, с WOS-а
Profi v3.2 -=- Speccy2010,r2
Вот сейчас etunes заработали практически нормально.
В процессе переписывания и налаживания FDC (да, блин, сейчас 4 утра, я FDC эмулирую) обнаружил следующее:
во 2 образе батмана (для +3, dsk выше) после команды 08 считывается только 1 байт ответа из 2, после чего начинается упорное ожидание, когда uPD765 будет готов к команде, однако несчитанный байт так и висит в ожидании, не давая ему это сделать...
WTF, собственно?
А 1й диск батмана зачем-то лезет на дискокрут C. Обрезал выборку по 1 биту (только A, B) - влетел в то, что написано выше.
PS:ВГ93 уже переписан, всё работает. uPD765 на большинстве игр нормально работает на чтение.Сообщение от uPD765 datasheet
Последний раз редактировалось SAM style; 12.01.2015 в 14:53.
Все любят гипножабу
build 20150113
- Полностью переписана эмуляция ВГ93 и uPD765.
- Починена частота SAA1099 [Молодцов молодцом]
- В отладчике Ctrl+T включает трассировку, любая несимвольная кнопка её останавливает.
- В отладчик вернулся F8. Ставит временный брыкпоинт после команд call/rst/djnz и блочных типа ldir, остальные команды обрабатывает как при обычной трассировке по F7.
- В отладчике появилась панель с состоянием FDC и выбранного FDD.
- Вернулся звук магнитофона
- Отладчик запоминает положение своего окна [хотелка rasmer'а]
Насчет ВГ93 на 95% уверен, в uPD765 остаются белые пятна.
В uPD765 команды записи заткнуты, они всегда выдают ошибку "защита от записи". Команды Read Track и все Scan сделаны по описанию, но не проверялись, т.к. не знаю, на чём... Насчет батмана я проблему описал, почему он действует в разрез мануала - понятия не имею. Ещё сейчас uPD765 кладёт на мотор дисковода - крутится, не крутится, а чтение всё равно идёт
[ deb 32 ][ deb 64 ][ rpm 32 ][ rpm 64 ][ win32 ]
Последний раз редактировалось SAM style; 13.01.2015 в 18:20.
Все любят гипножабу
есть идея наворотить команд лайн(смотрел слегка код - того что надо не нашел), плана: добавить запуск сразу с дебаггера, загрузка меток, подгрузка файлов (снапшотов, бинарников по адресам, в страницы), установка pc/sp - для разработки может быть удобно. Подключить getopt, например. Может у автора есть какие-то планы относительно этого? Или можно самому на свое усмотрение вкрутить и сюда выложить патч?
Последний раз редактировалось Antipod; 13.01.2015 в 17:31.
Аргументы ком.строки? Сейчас есть один - для указания запускаемого профиля, остальное - имена файлов для загрузки. Собери пожелания в кучу, выдай сюда - сделаю. Например так:
-b file.bin bank adr : загрузить бинарник file.bin в банк bank по адресу adr
С pc/sp придётся помучаться, т.к при создании компа он сбрасывается, а это не везде к одинаковым результатам приводит (напр, в ATM2/Baseconf)
Все любят гипножабу
пожелания (основываются на моем понимании getopt):
-pc ADDR (например, 4000, hex, без 0х, опасаюсь говорить за всех, но десятичные ни кому не нужны, наверное), может быть несколько раз в коммандной строки, ожидается, что актуально будет только последнее значение
-sp ADDR (то же самое)
-d - после запуска сразу открыто окно дебаггера и дизассемблер показывает на pc
-b ADDR - установить текущий base pointer, может встречаться несколько раз
-a PAGE - включить (сделать текущей) страницу (вероятно несовместимо с 48К)
-f FILE_PATH - вгрузить файл по base pointer как бинарник, с учетом текущей страницы, может быть несколько раз
низкий приоритет
-l FILE_PATH - взгрузить файл с метками (если дебуггер поддерживает метки)
-bp ADDR - установить брякпоинт - может быть несколько
итого, использование видится где-то так:
xpeccy -p my_128K_profile -d -a 0 -b 4000 -f ./my_gfx -b 6000 -f ./my_code -sp 6000 -pc 6000
заранее спасибо)
Последний раз редактировалось Antipod; 13.01.2015 в 18:57.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)