PDA

Просмотр полной версии : Вектор-06Ц: Эмуляция



Страницы : 1 [2] 3 4 5 6

svofski
23.10.2008, 19:51
Ramiros, я не уверен именно за этот кусок кода, но в Black Ice используется один неочевидный момент: адресная шина ОЗУ палитры и код цвета отображаемого в настоящий момент пикселя -- это одно и то же.Если лучик сканирует цвет #15, а мы делаем в этот момент out 0c, мы программируем 15-й цвет. В Black Ice, если все правильно, во время развертки программируется 0-й цвет.

Я про то, или это вообще мимо кассы?

b2m
23.10.2008, 22:18
Я про то, или это вообще мимо кассы?
Я так думаю - про то :)

Ramiros
23.10.2008, 23:24
ище раз посмотрел схему, и пришел к выводу, что цвет можно програмировать через OUT 02 когда лучь находится на бордюре или идет обратный кадровый импульс, а в другие моменты (когда рисуется картинка) OUT 02 по барабану, а изменяется тот цвет, код которого в настоящий момент отрисовывается?
вы это имели ввиду?

b2m
23.10.2008, 23:31
вы это имели ввиду?
А разве svofski что-то другое написал?
Но вообще-то, на некоторых Векторах во время строчного СИ программировать палитру было нельзя, и даже во время КСИ, когда счётчики были в том же положении, как и в момент строчного СИ. Простая доработка Вектора устраняла этот недостаток.

svofski
23.10.2008, 23:48
Ramiros, именно это.

А вообще я так и не видел еще ни Black Ice, ни M/COLOR на реале. Tim0xA, заводи уж своего натурала ;)

Tim0xA
23.10.2008, 23:54
А вообще я так и не видел еще ни Black Ice, ни M/COLOR на реале. Tim0xA, заводи уж своего натурала ;)
А Mick свой завел или нет? Думаю, он быстрее сможет проверить.

Tim0xA
30.10.2008, 19:31
В раздел "Эмуляторы" выложена новая версия WIN-эмулятора "Вектор-06Ц v5.18" (автор Ramiros). Улучшен мультиколор, заново переписан ВИ53 с поддержкой всех его режимов, доделан дисковод.

ivagor
30.10.2008, 20:01
Ramiros
Здорово, прогресс виден невооруженным глазом. Exolon теперь работает без полосок на бордюре, хотя на верхнем бордюре полоска иногда появляется. Но звук в exolonе слышен явно не "аутентичный", он "облагороженный".

Вопрос не по эмулятору - в старых версиях прилагался некий basic 2.6, я не догадался его сохранить, а в новых его нет. Что это за бейсик?

Ramiros
30.10.2008, 20:53
Ramiros
Здорово, прогресс виден невооруженным глазом. Exolon теперь работает без полосок на бордюре, хотя на верхнем бордюре полоска иногда появляется. Но звук в exolonе слышен явно не "аутентичный", он "облагороженный".

Вопрос не по эмулятору - в старых версиях прилагался некий basic 2.6, я не догадался его сохранить, а в новых его нет. Что это за бейсик?

я если чесно basic 2.6 никогда не видел, а тот что у меня, так это 2.5, только я изменил в нем палитру при запуске на ту которая мне больше нравилась и назвал его версией 2.6 :)

про exelon могу сказать, что у меня нет слов!, неужели автор ненашел более разумного способа засинхронезироваться с экраном? если долго в него играть, то всеравно синхронизация сбивается (вернее уплывает), видимо всетаки есть какие то неточности в информации о времени выполнения команд.

b2m
30.10.2008, 23:38
видимо всетаки есть какие то неточности в информации о времени выполнения команд
При чём тут время выполнения команд, когда синхронизованы должны быть количество тактов между кадровыми СИ и количество тактов, которые происходят за определённое количество тиков таймера.

ZEman
31.10.2008, 07:40
Ramiros, здорово, эта версия мне нравится :).
хочу добавить что всётаки нехватает ещё эмуляции процесора z80 и звук.
можно ли звук сделать так как в эмуляторе b2m ?
просматривал дему скайнет, всё замечательно но звук, это вообще нивкакие ворота...

Ramiros
31.10.2008, 10:53
Разобрался почему в Exelone синхронизация уплывала, исправил...

эмуляцию z80 особого желания делать нету, да и программ под него заточеных очень мало, поэтому пока несобираюсь

что касается AY, да и вообще звука, то структура звукового движка к сожалению непозволяет реализовать такие эффекты как голос, и огибающая для AY

Tim0xA
31.10.2008, 11:37
В раздел "Эмуляторы" выложена новая версия WIN-эмулятора "Вектор-06Ц v5.19" (автор Ramiros). Исправлена синхронизация таймера.

Tim0xA
02.11.2008, 22:30
В раздел "Эмуляторы" выложена новая версия WIN-эмулятора "Вектор-06Ц v5.20" (автор Ramiros). Изменения коснулись AY.

Tim0xA
05.11.2008, 23:11
На сайт выложен эмулятор версии 5.22 (от Ramiros).
1. Теперь раскладка клавиатуры полностью настраиваемая
2. Убраны глюки в отображении видео, которые проявлялись при выборе скорости CPU, отличной от Normal

Пожелания:
1. Помимо выключении отображения FPS и Time также сделать отключение вывода текстовых сообщений и значков загрузки с Tape и FDD (хочу сделать захват видео, нужно чистое окно карты загрузки).
2. После перезапуска не опрашиваются клавиши F1-F5 нет возможности запустить, например, встроенный Бейсик или монитор.
3. При запуске эмулятор пытается загрузиться с FDD, хотя диск не вставлен. Загрузчик определяет наличие дисковода, хотя этого не должно происходить без диска. В последней версии я не могу загрузиться с ленты. Также, если загрузиться с EDD, то потом невозможно загрузиться с диска нажав F1+F2 и ввод+блк.
4. Нет возможности сохраниться в STA из загрузчика (по крайней мере в версии 5.20) во время загрузки с ленты.
5. Хотелось бы видеть загрузку файлов r00, r20, r40, r55, rA5 - где цифры - номер блока загрузки в шестнадцатеричном виде. Есть такие файлы. В частности - тесты ОЗУ.
6. Дема Skynet распознает эмулятор. Значит таймер реализован не до конца точно. Прилагаю образ диска с тестами (тест TIMER.COM)

Ramiros
06.11.2008, 10:17
Пожелания:
1. Помимо выключении отображения FPS и Time также сделать отключение вывода текстовых сообщений и значков загрузки с Tape и FDD (хочу сделать захват видео, нужно чистое окно карты загрузки).
2. После перезапуска не опрашиваются клавиши F1-F5 нет возможности запустить, например, встроенный Бейсик или монитор.
3. При запуске эмулятор пытается загрузиться с FDD, хотя диск не вставлен. Загрузчик определяет наличие дисковода, хотя этого не должно происходить без диска. В последней версии я не могу загрузиться с ленты. Также, если загрузиться с EDD, то потом невозможно загрузиться с диска нажав F1+F2 и ввод+блк.
4. Нет возможности сохраниться в STA из загрузчика (по крайней мере в версии 5.20) во время загрузки с ленты.
5. Хотелось бы видеть загрузку файлов r00, r20, r40, r55, rA5 - где цифры - номер блока загрузки в шестнадцатеричном виде. Есть такие файлы. В частности - тесты ОЗУ.
6. Дема Skynet распознает эмулятор. Значит таймер реализован не до конца точно. Прилагаю образ диска с тестами (тест TIMER.COM)

1. Зделаем.
2. Все опрашивается, только есть одна особенность - нажимать F1-F5 нужно чуть позже чем F9, но это конешно ненормально, исправим.
3. Незнаю, почему загрузчик его определяет, но бит "Не готов" взводится при отсутствии образа.
4. И никогда небыло, это было сделано специально, т.к. включен особый режим разделения памяти ОЗУ и ПЗУ. Для реализации этой возможности (при возможности выбора разных загрузчиков) необходимо тогда учитывать, что бы был выбран именно тот загрузчик, который был в момент сохранения состояния, либо тоже сохранять его в STA, еще нужно чтобы был открыт тот же WAV. а размер STA и так уже около полмегабайта.
5. Хм.. чено говоря даже невидел этих rXX файлов :)
6. Возможно, но проверить правильность всех режимов непредставляется возможным :)

ZEman
07.11.2008, 19:11
мне эмулятор от b2m, больше нравица. :)

Tim0xA
07.11.2008, 19:39
мне эмулятор от b2m, больше нравица. :)
Ты же мультиплатформенный фанат-эмуляторщик и АГАТ недавно получил, как же иначе? :v2_wink2::v2_laugh::v2_wink2:
А ведь когда-то... http://zx.pk.ru/showpost.php?p=106501&postcount=5

ZEman
07.11.2008, 20:12
для некоторых эмуляторов я делаю исключение, всётаки все машинки в эмуляторе b2m реализованы очень качественно.
агат я ещё к сожалению не получил :(

Tim0xA
07.11.2008, 23:45
На сайт выложена новая версия эмулятора Ramiros.
Изменена раскладка горячих клавиш. Внимание! Теперь комбинацям ВВОД+БЛК и БЛК+СБР соответствуют F11 и F12. Также доработан ленточный загрузчик (в плане качества загрузки).

ZEman
08.11.2008, 07:29
Ramiros, а можешь сделать в своём эмуляторе так чтобы во время загрузки был звук ?
тоесть как на настоящем векторе, реальный режим.

Ramiros
08.11.2008, 10:55
Ramiros, а можешь сделать в своём эмуляторе так чтобы во время загрузки был звук ?
тоесть как на настоящем векторе, реальный режим.

Можно зделать некое подобие, но качественно вряд ли.
как я уже говорил, мой звуковой движек построен несколько нестандартно, я неприменяю никакого буфера (эту заботу я переложил на DirectX) я просто запускаю предварительно подготовленные образцы звуковой волны для каждого канала, а чистоту и громкость меняю просто путем воздействия на эти каналы. Миксование каналов тоже происходит на уровне DirectX. Такой подход требует весьма малых ресурсов от компа.
Что бы реализовать в полном объеме такие эффекты как воспроизведение речи, или огибающей для AY, а так же проигрывание того же WAV, необходимо перейти на другой движек с применением буфера.

ZEman
08.11.2008, 11:04
Ramiros, я незнаю, это твой эмулятор, но помоему от смены звукового движка все были бы только в выигрыше.
у тебя отличный эмулятор, смена раскладок клавишь это вообще здорово, простое открытие файлов тоже большой плюс.
да ещё и внешний вид эмулятора красивый, эфекты есть и фильтры. :)
но звук всё портит, незнаю как другие но я немогу высидеть за твоим эмулятором и пяти минут, звук потомучто просто ужасен.

Ramiros
08.11.2008, 12:07
ZEman, поподробней можно, чем он так ужасен? я как то особой разницы ненаблюдаю, помоему вполне на нормальном уровне

ivagor
08.11.2008, 12:29
Ramiros
Присоединяюсь к ZEmanу, эмулятор хороший, но звук портит все впечатление. Сформулировать что именно не нравится в звуке я затрудняюсь, но если ты послушаешь практически любой современный эмуль с поддержкой AY, то наверно сам почувствуешь разницу. Ну и бипер тоже эмулируется слишком своеобразно на слух.

ZEman
08.11.2008, 12:34
эх...да какбы объяснить.
звук какойто глухой, придавленный получется, некоторые звуки вообще не слышны.
включи такие игры как DEAR-BST, t-rex-05, да даже в sky net.
и сравни звучание на своём эмуляторе и на эмуляторе b2m

Tim0xA
12.11.2008, 23:01
На сайт выложена новая версия эмулятора Ramiros.
Канал PCM переведен на новый движок.
Адресное пространство для ПЗУ выделяется в зависимости от размера загрузчика.

Ramiros
13.11.2008, 15:54
Как правильно обновлять содержимое звукового буффера? по ММ таймеру, или есть другой способ?
Дело в том что у ММ таймера интервал недостаточно точный.

b2m
13.11.2008, 17:06
Ramiros, почитай про IDirectSoundNotify

Tim0xA
14.11.2008, 11:58
Раскопал в архиве некоторые интересные вещи: начальный загрузчик, работающий из монитора-отладчика, Омский загрузчик на 8К (не запускается ни в одном эмуляторе), различные прошивки для Омского картриджа. В связи с этим возникли пожелания по эмуляторам:

b2m
1) все еще актуально автоматическое резервирование адресного пространства для ПЗУ в зависимости от размера файла загрузчика
2) сохранение памяти 64К в файл
3) загрузка памяти 64К из файла (и БЛК+СБР)
4) поддержка картриджа, описанного в ВЮ 24,25

Ramiros
1) поддержка МППЗУ (до стандартных 32К)
2) поддержка картриджа, описанного в ВЮ 24,25
3) в настройках клавиатуры разделить "Ctrl" на "Left Ctrl" и "Right Ctrl"
4) отключение экранных плоскостей по клавишам Alt+ не работает, более того, Alt+F4 закрывает эмулятор

Оказывается в версии 5.28 загрузка с ленты уже сопровождается звуком :)

Ramiros
14.11.2008, 12:38
4) отключение экранных плоскостей по клавишам Alt+ не работает, более того, Alt+F4 закрывает эмулятор


Прошу обратить внимание на то, что не Alt+F1..F4, а Alt+1..4

Tim0xA
14.11.2008, 13:03
Прошу обратить внимание на то, что не Alt+F1..F4, а Alt+1..4
Блин, точно :) Стереотипы...
И еще:
1) Может паузу повесить не на Alt+P, а на кнопку Pause?
2) Для переключения частоты экрана используется комбинация Сtrl+F9,F10. Но Ctrl используется в раскладке Вектора, может переназначить? Хотя конечно вряд ли это создаст проблемы.

ZEman
14.11.2008, 13:37
Оказывается в версии 5.28 загрузка с ленты уже сопровождается звуком :)

а как именно загружать wav файлы в эмуляторе рамироса ?

Ramiros
14.11.2008, 21:28
а как именно загружать wav файлы в эмуляторе рамироса ?

File -> Open...

Включить/Выключить проигрыватель Alt+F6

Ramiros
15.11.2008, 16:57
Вопрос по DXSoundNotify:
как я понял, это фича генерирует события, которые нужно как то периодически сканировать загадочной функцией WaitForMultipleObjects(2, m_pHEvent, FALSE, 0); которая есть в С++, в Delphi я такую функцию ненаблюдаю вообще, че посоветуете заюзать?
У меня уже башню сносит, как эти эвенты получить?

b2m
15.11.2008, 20:52
Эта функция не может быть в одном языке и не быть в другом. Это же API, оно существует независимо от языков программирования. :)
Получаются эвенты при помощи CreateEvent, их нужно передать DXSoundNotify, а DX будет переодически их устанавливать (signaled state). А ждать возникновения нужно, как ты правильно подметил, при помощи WaitForMultipleObjects.

Ramiros
16.11.2008, 18:32
Ура! :v2_yahoo: с саунд буфером все получилось более менее как надо,
Удивляет только одно, как мало информации на эту тему, а примеров на дельфи ваще нет, пришлось в Сишных кодах разбираться, про книги я ваще молчу :mad:

Ramiros
17.11.2008, 20:49
b2m, Если не секрет, как ты решал проблему синхронизации звукового буффера и самого эмулятора?
у меня прерывание Вектора повешано на MMTimer, а DXBuffer с этим таймером конечно ничего общего неимеет, и хотя их скорости теоретически равны, на практике они немного отличаются, что приводит к тому, что звук постепенно пытается либо убежать вперед, либо отстать, но буффер то небесконечный

b2m
17.11.2008, 21:06
хотя их скорости теоретически равны, на практике они немного отличаются
Да нет, у меня и на практике скорости равны :) Нет, бывает, что из-за временной нехватки ресурсов процессора эмуляция отстаёт, появляется повторение звукового буфера, но если эмулируется нужное количество тактов - то всё нормально. Или в момент переключения режима экрана, я не стал прерывать звук, тоже заметно.

Tim0xA
19.11.2008, 16:30
В раздел "Эмуляторы" выложена новая версия эмулятора Ramiros. Таймер и бипер переведены на новый движок, пауза теперь дублируется на PauseBreak, в настройках клавиатуры разделены.

Ramiros
20.11.2008, 21:38
Балдейте люди! весь звук полностью на новом движке, и AY тоже!
как Tim0xA выложит качайте :)

Tim0xA
21.11.2008, 17:38
Новая версия от Ramiros-a на сайте. Исправления в эмуляции AY (огибающая, шум).


Верю. Исправлю.
Не поверил. Не исправил :(

ZEman
21.11.2008, 18:01
Ramiros, здорово, звук классный, мне понравилось, большое тебе спасибо :)
если можно, добавь ещё в эмулятор пожалуйста скайнлайн.
также хотел бы видеть возможность записи видео из эмулятора.
и ещё жду утилиту для rom2wav.
больше и пожелать то нечего, чудесный эмулятор :)

b2m
21.11.2008, 19:16
Не поверил. Не исправил
Ей богу исправил. После окончания wav через некоторое время должно быть 1.

Добавлено через 3 минуты
Хотя, если бит постоянно считывается, то wav как-бы и не кончается...
Иначе будет снова запрос на открытие файла.
А если бит больше не дёргается, то через 0.2 сек должно быть 1.

Ramiros
21.11.2008, 19:34
Ramiros,
если можно, добавь ещё в эмулятор пожалуйста скайнлайн.


я чесно говоря непонял, что это такое? :v2_conf2:

b2m
21.11.2008, 22:18
Это он так называет, когда сканлинии через строку рисуются: 1-я, чёрная, 2-я, чёрная, и т.п.

Error404
21.11.2008, 23:38
Это он так называет, когда сканлинии через строку рисуются: 1-я, чёрная, 2-я, чёрная, и т.п.

А зачем такое может быть нужно? Получится зебра?

ZEman
22.11.2008, 07:27
это фильтр.
очень популярный в среде эмуляторщиков, создаёт эфект сидения за телевизором.
глаза не так устают.
вот http://en.wikipedia.org/wiki/Scanlines
простейший пример:

ivagor
22.11.2008, 12:22
1-я, чёрная, 2-я, чёрная, и т.п.
В общем случае желательно, чтобы яркость "черных" строк можно было настраивать - от копии соответствующей строки (при полной яркости) до черной (при минимальной яркости).


глаза не так устают.
Это из личного опыта?

ZEman
22.11.2008, 13:03
и не только моего :)

Ramiros
22.11.2008, 16:43
тогда по идее нужно в одном кадре рисовать четные строки, в следующем нечетные и так далее, чтоб как на телеке, типа черезстрочная развертка

svofski
22.11.2008, 21:25
Тогда никакого эффекта не будет. Обычно это просто фильтр: пропустить каждую вторую строку, размыть. Ничего общего с телевизором и уж тем более с удобством для глаз это не имеет -- это одна из таких клевых чудо-вещей, в которые все верят, потому что видели их в кино (или в других эмуляторах).

ZEman
23.11.2008, 04:59
не ну почемуже, я знаю много людей которые не могут играть на эмуляторах без включенного скайнлайна, жалуются на размытое, мыльное изображение.
просто так ведь такие фильтры не стали бы придумывать :)

jt137
23.11.2008, 15:08
я знаю много людей которые не могут играть на эмуляторах без включенного скайнлайна, жалуются на размытое, мыльное изображение.

Если скайнлайн - это когда каждая вторая строчка по вертикали черная,
тогда я без него тоже эмулить не могу:)

Добавлено через 2 минуты
То есть по горизонтали.
Ну вы поняли:)

Ewgeny7
23.11.2008, 15:48
То есть по горизонтали.
Ну вы поняли
А лучше вертикально+горизонтально, аля тиливизер Гаризонт :)

jt137
23.11.2008, 16:06
А лучше вертикально+горизонтально, аля тиливизер Гаризонт
А я сидел на живом спекки на ч/б мониторе.
И теперь продаю моники на матрице s-ips и думаю про себя:
Вы Жизни Не Видели, Буржуи!!!

ZEman
23.11.2008, 16:15
дождёмся релиза с таким фильтром, а там видно будет, подскажем как лучше сделать :)

ZEman
26.11.2008, 10:39
Ramiros, спасибо за новую версию, wav файлы стало удобней открывать, фильтр скайн-лайн в окне смотрится очень хорошо.
но вот в полноэкранном режиме превращается в чёрт знает что, также происходит если менять размер окна растягивая его.
нельзя ли это както исправить ?

Ramiros
26.11.2008, 13:24
Ramiros, фильтр скайн-лайн в окне смотрится очень хорошо.
но вот в полноэкранном режиме превращается в чёрт знает что, также происходит если менять размер окна растягивая его.
нельзя ли это както исправить ?

Ну а что тут сделаешь? особенность этого фильтра это привязка к разрешению кратному 2. Получается 288 строк изображения и 288 пустых строк требуют разрешения кратного 576 строк по вертикали, иначе какие то сторки невлезут либо повторятся, сглаживание частично решает данную проблему, но тут помоему хрен че сделаешь.
Если есть предложения как решить данную проблему, я готов выслушать.

ZEman
26.11.2008, 13:38
а если сделать так чтобы при изменении разрешения (размера) экрана увеличивалось (уменьшалось) количество строк на экране и менялся их размер?
формулу такую можно сделать ?

svofski
26.11.2008, 14:23
Ramiros, а Direct-кто-там, или OpenGL сами не могут масштабировать surface своими мега-алгоритмами?

Еще, наверное, можно просто оставлять бордюры в фуллскрине. А саму картинку рисовать так, чтобы ее разрешение было кратным. То есть фуллскрин у нас 1680x1050, а картинку мы все равно показываем 720x576 по центру экрана, или 1440x1152 с обрезанием снизу-сверху. В этих строках и у Вектора все равно бордюр.

Ramiros
26.11.2008, 14:34
не, маштабирование они делают, но это все нето, я щас попробовал другой вариант, гасить каждую реальную вторую строку, независимо от разрешения, помоему это лучший вариант

Вот что у меня получилось в произвольном режиме:
см. архив

ZEman
26.11.2008, 14:56
смотрится хорошо, а полоски не нарушаются при изменении размера экрана ?
интересно а что получится если сделать вертикальные полосы, я такого ещё ни в одном эмуляторе не видел.

Ramiros
26.11.2008, 15:04
в том то и дело, что теперь полоски всегда ровные и одинаковые, а вот их количество меняется в зависимости от размера окна

ZEman
26.11.2008, 15:10
это хорошо, жаль результат увижу только завтра, мне на работу идти надо.

svofski
26.11.2008, 18:55
Раз все равно этот эффект не имеет ничего общего с реальным миром, почему бы не сделать его настраиваемым, или не сохранить несколько вариантов?

Ramiros
26.11.2008, 19:23
Раз все равно этот эффект не имеет ничего общего с реальным миром, почему бы не сделать его настраиваемым, или не сохранить несколько вариантов?

А смысл? если размер окна кратен разрешению вектора, то в обоих вариантах результат одинаковый, а в произвольном размере окна выигрыш нового метода налицо.

Tim0xA
26.11.2008, 23:38
Ramiros, а почему TV Effect не распространяется на бордюр?

ZEman
27.11.2008, 05:14
Ramiros, всё бы хорошо, но помоему полоски получились слишком тонкие, их почти незаметно :(
в оконном режиме ещё более менее различить можно, но в полноэкранном их вообще почти не видно, может их сделать потолще ?

и ещё одна задумка, утилиту Rom2Wav все приняли на ура, а как ты смотришь на создание дисковой утилиты ?
с помощью которой можно было бы создать новый чистый диск или редактировать уже имеющиеся.
там закинуть файлы на диск, удалить с диска. ;)

Ramiros
27.11.2008, 08:26
Ramiros, а почему TV Effect не распространяется на бордюр?


просто для OpenGL это две разные текстуры, одна с разрешением 512х256, другая 8х288, через фильтр прогоняю только первую, вторую прогонять есть ли смысл при ее разрешении 8 по горизонтали?

Добавлено через 6 минут

Ramiros, как ты смотришь на создание дисковой утилиты ?
с помощью которой можно было бы создать новый чистый диск или редактировать уже имеющиеся.
там закинуть файлы на диск, удалить с диска. ;)

дык это уже есть, плагин к FARу, очень удобная штука, лежит в досовском эмуле VE27a называется MI_V004

ZEman
27.11.2008, 09:07
у меня просьба всётаки немного подправить фильтр.
для примера выкладываю здесь эмулятор одной консоли с игрушкой, там применён хороший скайнлайн с настройкой.
http://rapidshare.com/files/167803708/TurboGrafx16.rar.html

Ramiros
27.11.2008, 17:53
ZEman, какое у тебя разрешение экрана по вертикали?

ZEman
27.11.2008, 18:04
у меня разрешение экрана стоит 1680х1050.

Tim0xA
29.11.2008, 18:50
Выложил на сайт эмулятор (версия 5.35).

Tim0xA
01.12.2008, 17:00
В раздел "Эмуляторы" выложена новая версия http://vector06c.narod.ru/emul/vector06c_537.rar. Изменения коснулись графического вывода: изображение на экране теперь регенерируется с учетом динамики луча Вектора, появился режим "черно-белое изображение".

Ramiros
01.12.2008, 17:17
Хотелось бы узнать у вас, какую загрузку процессора дает мой эмулятор, и если процессор 2-х ядерный то по каждому ядру в отдельности (при настройках эмулятора по дефолту)?
Жлательно указать какой процессор.
заранее спасибо

Tim0xA
01.12.2008, 17:30
На рабочем Celeron 2.53 - 88-97% при активном окне вектора. Видео интегрированное.

ZEman
01.12.2008, 19:20
у меня дома Intel Core 2 Duo E8400 3.6 ггц, загрузка процессора колеблется от 15 до 26%
видеокарта Nvidia GTX 260.

b2m
01.12.2008, 21:14
ZEman, а если шесть штук запустить? :)

ivagor
01.12.2008, 21:24
Ramiros
AthlonX2 3800 + GeForce8600GT - загрузка каждого ядра в районе 20-40%, причем меняется таким образом, что сумма остается const=60%.

Tim0xA
02.12.2008, 10:49
Ramiros, b2m, насколько реально сделать загрузку сразу со входа звуковой карты?

Tim0xA
02.12.2008, 13:16
Новая версия эмулятора от Ramiros. Эмулятор обрел название "Virtual Vector". Появились режимы зеленого и желтого мониторов.

svofski
02.12.2008, 20:55
Подправил карточку в Базисе. Запись по-прежнему страдает от недостатка лирических излияний. Хотя бы список фич гляньте, может быть стоит упомянуть еще что-то важное, что я запамятовал.

ivagor
02.12.2008, 21:21
Возможность отключения плоскостей, что позволяет по быстрому, без изучения программы, понять какие плоскости она использует.
Возможность отключения отдельных каналов ВИ53.
Это несколько специфические вещи, но для меня полезные.

svofski
03.12.2008, 04:19
Добавил.

Ramiros
03.12.2008, 14:29
Ramiros, b2m, насколько реально сделать загрузку сразу со входа звуковой карты?

Теоретически это вроде как возможно, но вот практически задача весьма сложная, связанная с рядом на первый взгляд невидимых проблем :) просто мне кажется, что это нестоит тех усилий, которые придется сделать :)

Tim0xA
03.12.2008, 15:13
Новая версия эмулятора. Исправлена ошибка открытия файлов 0го размера. Добавлено описание.

Tim0xA
03.12.2008, 17:16
svofski, раз уж ты взялся курировать VV, то можно еще указать, что эмулятор написан на Delphi, эмулирует стерео-AY и позволяет загружать ROM-файлы не только с 0го и 1го блоков.

Ramiros, хотелось бы иметь возможность установки произвольного разрешения экрана в пикселах, например 384x288, режим пропорции экрана 4:3 и скриншот с бордюром.

ZEman
03.12.2008, 17:45
Tim0xA, Я уже просил Ramiros, добавить изменение разрешения экрана в эмулятор, сам очень жду такую фишку.
но автор сказал что сделать это будет трудно.

svofski, а почему у тебя в базисе лежит версия утилиты rom2wav 1.4 ?
последняя версия это 1.5 :)

Tim0xA
03.12.2008, 18:40
svofski, а почему у тебя в базисе лежит версия утилиты rom2wav 1.4 ?
последняя версия это 1.5
Это я выкладывал, не обновил еще.

svofski
03.12.2008, 19:00
Tim0xA, написал. Кроме Delphi --- кого это, собственно говоря, беспокоит? Сорцов нет и Ramiros их вроде бы пока отдавать не собирался. Значит, это внутреннее дело Ramiros'a, а не свойство эмулятора.

Я смотрю, что стоит чего-нибудь написать, как тут же молчуны начинают говорить и сознаваться в скрываемом. А вот как сейчас начну сочинять про наших действующих авторов..

ivagor
04.12.2008, 07:24
b2m,Ramiros
Подумайте, может выложите исходники какого-нибудь старого (очень старого) и неполнофункционального (например без звука, без ВГ93, без загрузки с ленты, без z80, без видеоэффектов, без отладчика, без еще чего-нибудь, с ошибками :)), но компилируемого и рабочего варианта своих эмуляторов? В случае b2m достаточно эмуляции видео только для вектора, не нужен ВН59, можно без таймера :).

b2m
04.12.2008, 10:56
ivagor, странная просьба, и не совсем понятен смысл. Что интересует-то? Принцип построения эмулятора? Или детали реализации видео для Вектора?

ivagor
04.12.2008, 11:07
Интересует шаблон эмулятора. Есть, конечно, эмуляторы спека с исходниками, но так и не собрался за них взяться.
Еще поясню. Нужна стартовая площадка, на которую с минимальными усилиями можно навернуть то, что мне интересно. Думаю, что старую и урезанную версию не так жалко будет отдавать. Мне лично проще было бы работать в Delphi, так что для меня интереснее VV.
Еще как вариант - может авторы эмуляторов предложат некую систему плагинов?

ZEman
04.12.2008, 11:23
ivagor, ты хочешь написать какойто свой эмулятор ?
у b2m, сделаны все советские компы (за исключением агата и бк :() а вот для эмуляции вектора эмулятор рамироса лучше будет.

Error404
04.12.2008, 11:40
Интересует шаблон эмулятора. Есть, конечно, эмуляторы спека с исходниками, но так и не собрался за них взяться.
Еще поясню. Нужна стартовая площадка, на которую с минимальными усилиями можно навернуть то, что мне интересно. Думаю, что старую и урезанную версию не так жалко будет отдавать. Мне лично проще было бы работать в Delphi, так что для меня интереснее VV.
Еще как вариант - может авторы эмуляторов предложат некую систему плагинов?

Неплохой эмулятор в исходниках на Delphi - DelphiSpec. Я его использовал как базу для своего эмулятора Ориона. Правда первое что я сделал - выкинул оттуда весь DirectX (т.к. для всего прекрасно хватает WinAPI, и работает быстрее). И модель Z80 там неидеальна - что-то недоэмулирует по мелочи, я не разбирался (возможно, недокументированные команды). В плюсе - очень понятно написан.

А когда напишешь базу, добавить прочие устройства - просто, фактически 1:1 переводишь с datasheet на pascal. :)

ivagor
04.12.2008, 11:43
ZEman
Мне хотелось бы не написать самый лучший в мире эмулятор всего (хотя, вобще то, не плохо бы :)), а прикрутить некоторые вещи, которыми ни Ramiros, ни b2m заниматься не будут, но которые меня интересуют.
Error404
Давно скачал DelphiSpec, видел что твой эмулятор основан на нем. Именно до него никак не доходят руки. В unreal я не полезу, это точно.

b2m
04.12.2008, 12:09
предложат некую систему плагинов
Система-то есть, только она позволяет лишь добавить новое устройство, а не изменить существующие. Понятно, что можно заменить какое-то устройство своим, но без исходников этого устройства сделать это проблематично. И потом, мои исходники написаны на С++, а если хочется иметь плагин, написанный именно на Delphi, то мои исходники не подойдут. Вопрос, какие фичи например хотелось бы добавить?

ivagor
04.12.2008, 12:42
Практически все пожелания уже были озвучены, но можно и еще раз. Tim0Xa, я думаю, поддержит. Вот основное:
1. Навороченный отладчик. Тут очень много чего хотелось бы, часть пожеланий есть в этом форуме.
2. 580ВМ1
3. 1821ВМ85 - корректная растактовка (для 6128)

На С++ я маленько могу, но опыта работы на нем почти нет, а то что было - давно и не правда. Т.е. пусть плагины на C, тут главный вопрос - что они позволят делать? Т.е. навороченный отладчик можно подключить в виде плагина?

b2m
04.12.2008, 12:55
И отладчик, и процессор и всё остальное у меня реализовано в виде "устройств" и может быть подключено из плагина, который представляет собой набор "устройств", т.е. вполне реально написать и свой отладчик, и свой процессор. Однако надо понимать принцип эмуляции, который у меня используется, а также знать интерфейс отладчика, который используется для связи процессора и отладчика. Я, однако, пока не хотел бы распространять эту информацию публично, и если хочешь, можно решить это по мылу.

Error404
04.12.2008, 13:14
И отладчик, и процессор и всё остальное у меня реализовано в виде "устройств" и может быть подключено из плагина, который представляет собой набор "устройств", т.е. вполне реально написать и свой отладчик, и свой процессор. Однако надо понимать принцип эмуляции, который у меня используется, а также знать интерфейс отладчика, который используется для связи процессора и отладчика. Я, однако, пока не хотел бы распространять эту информацию публично, и если хочешь, можно решить это по мылу.

А плагин что из себя представляет? Если используется dll, то ничто не помешает желающим использовать любую среду разработки. Надо только будет описать точки входа и протокол обмена данными.

Tim0xA
04.12.2008, 13:19
Полностью поддерживаю ivagor-а. Основные требования перечислены верно.
IMHO, в виде плагинов должны быть внешние устройства, виртуальные в том числе: различные КД, дисководы, модули МППЗУ, AY, процессор, осциллограф, частотомер, отладчик. "Интерфейсом" плагина с эмулятором должна быть шина, разъемы ВУ, ПУ. Где-то так...

b2m
04.12.2008, 13:25
А плагин что из себя представляет?
Это dll, точка входа одна - CreateDevice (не считая выдачи версии). Имя устройства берётся их конфига. Но возвращает эта фукнция объект, и я не уверен, что если описать этот объект на дельфи, то всё будет гладко. Я не рассчитывал на подключение dll, написанных на других языках, в частности удаление объекта будет делаться непосредственно из эмулятора, хотя предусмотреть для этого виртуальную функцию проблем не составляет (разные языки - разные менеджеры памяти).

Ramiros
04.12.2008, 13:45
ivagor, В моем эмуляторе плагинная модель непредусмотрена, все устройства (неважно какие) нужно реализовывать в рамках проекта

b2m
04.12.2008, 13:48
Посмотрел ещё раз на возможность подключения других dll - кажется пока не получится, плагин пока обязан быть MFC extension DLL. То, что кое-какие моменты хотелось бы переделать (лучше, удобнее, логичнее), вызывает пока резкое нежелание делать проект open source.

ZEman
04.12.2008, 14:09
ivagor, ну ладно я понимаю для чего процессоры, а вот зачем отладчик то ?

ivagor
04.12.2008, 14:18
Ramiros
ладно, нет плагинов, а как насчет

b2m,Ramiros
Подумайте, может выложите исходники какого-нибудь старого (очень старого) и неполнофункционального (например без звука, без ВГ93, без загрузки с ленты, без z80, без видеоэффектов, без отладчика, без еще чего-нибудь, с ошибками ), но компилируемого и рабочего варианта своих эмуляторов?

Ramiros
04.12.2008, 14:40
ivagor, я могу тебе дать исходники, но при условии что они у тебя и остануться

ivagor
04.12.2008, 15:47
Ramiros,b2m
Спасибо за готовность к сотрудничеству!
Ramiros, если не передумаешь, то ближе к новогодним каникулам вернемся к этому вопросу.


ivagor, ну ладно я понимаю для чего процессоры, а вот зачем отладчик то
Отладчик - чтобы фигней страдать :), впрочем, процессоры для того же. Да и сами эмуляторы старых компов, если на секунду остановиться и подумать - малополезная штука для их пользователей, чистый эскапизм :).

Tim0xA
04.12.2008, 23:10
Выложена новая версия эмулятора VV от Ramiros. Скриншот теперь с бордюром, добавлен индикатор прогресса при загрузке с "ленты", дополнен мануал.

Tim0xA
06.12.2008, 23:45
Эмулятор VV 5.42 на сайте. Появилась поддержка МППЗУ.

Tim0xA
08.12.2008, 23:42
Новая версия эмулятора от Ramiros VV 5.43
Добавлен захват звука в файл, исправлен буффер звука и показания FPS.

Tim0xA
10.12.2008, 23:28
Новая версия эмулятора VV 5.45
Расширены возможности аудиозахвата, теперь есть специальный режим для сохранения программ в "кассеты". Кое-какие доделки по мелочам.

Tim0xA
11.12.2008, 13:40
Ramiros, еще бы видеозахват сделать и цены бы эмулятору не было :)

Ramiros
11.12.2008, 17:23
Ramiros, еще бы видеозахват сделать и цены бы эмулятору не было :)

Мысля такая уже была, вот только без сжатия 256х256х3х50=10 Мб в сек. многовато будет :) тут пресовать как то надо

Error404
11.12.2008, 19:06
Мысля такая уже была, вот только без сжатия 256х256х3х50=10 Мб в сек. многовато будет :) тут пресовать как то надо

Наверное, 50 fps не обязательно, хватило бы и 25? Или таких не бывает? Также, можно использовать, к примеру, 8-битное кодирование цвета, а не 24 или 32.
Есть готовые решения, в т.ч. и с компрессией (на тори порядка 20 библиотек формирования AVI). Из простых фриварных оперсорсных мне глянулось это:
http://www.torry.ru/vcl/mmedia/video/AviWriter2.1.zip

Tim0xA
16.12.2008, 12:03
Свершилось! Эмулятор VV теперь позволяет записывать видео!
http://vector06c.narod.ru/emul/VirtualVector_547.rar

ivagor
16.12.2008, 12:51
Ramiros
Здорово :v2_thumb:

Пожелание - сделать возможность записи с 50 кадров/с, а не только 25.
По доке - может добавишь какой КД поддерживается (кишиневский/кировский/или еще какой).

Tim0xA
16.12.2008, 13:05
Пожелания по эмулятору:
- возможность установить разрешение экрана вручную в пикселах
- опция пропорции экрана 4:3
- горячие клавиши на старт/стоп записи видео
- запись видео с текущим разрешением экрана

По конвертору:
- чтобы при запуске из командной строки "rom2wav.exe file.rom" создавался файл с максимальной скоростью и одиночными блоками

Ramiros
16.12.2008, 13:35
Ramiros
По доке - может добавишь какой КД поддерживается (кишиневский/кировский/или еще какой).

делал по описанию "Омск" модель 2, чем он отличается от кишиневского с точки зрения програмиста - думаю ничем.

Tim0xA
18.12.2008, 17:11
Выложена новая версия эмулятора VV (http://vector06c.narod.ru/emul/VirtualVector_548.rar) (автор Ramiros). Появился режим 4:3, задание размера окна попиксельно, запись видео в режиме 4:3 (при активной галке Proportion 4:3), защита на запуск второй копии эмулятора.

Tim0xA
20.12.2008, 18:29
Выложена новая версия эмулятора VV (http://vector06c.narod.ru/emul/VirtualVector_550.rar) (автор Ramiros). Для full screen теперь можно выбирать разрешения, решены некоторые проблемы с записью видео, которые приводили к черному экрану.

ZEman
21.12.2008, 09:35
здорово, отличный эмуль получается :)
теперь, раз есть настройки разрешения видео, не мешает добавить и настройки звука 32000, 44100, 48000....;)

а куда b2m пропал почти месяц никаких вестей.

b2m
21.12.2008, 14:14
а куда b2m пропал почти месяц никаких вестей.
Отдыхаю, к праздникам готовлюсь :)

Tim0xA
22.12.2008, 14:56
Вышла новая версия эмулятора VV (http://vector06c.narod.ru/emul/VirtualVector_551.rar). Теперь скриншот представляет собой точную копию экрана.

Tim0xA
22.12.2008, 16:39
теоретически должно грузиться, видимо есть какие то искажения сигнала.
Чем загружал? эквалайзеры и т.п. примочки отключал?
Я грузил с выхода для наушников простеньких китайских колонок. Файл проигрывал плеером AIMP, настройки по-умолчанию. На скорости +1 грузилось без единого сбоя с однократными блоками. На большей скорости загрузчик даже не захватывал пилот-сигнал. Времени не было особо экспериментировать, на днях попробую еще загрузиться с линейного выхода звуковухи. Возможно, искажения виноваты.


Часть "проблемы", вполне возможно, относится к установленному варианту загрузчика. В свое время у меня диапазон приемлемых скоростей ощутимо расширился после замены исходного варианта (512кб) на волгоградский (2кб).
Очень может быть. Так как даже в эмуляторе загрузчик 512б грузит файлы хуже, чем загрузчик 2кб. ivagor, как бы копию твоего загрузчика получить?

Добавлено через 51 минуту
Ramiros, если установить размер экрана 384x288, то экран получается размером 432x324. Ты устанавливаешь размер без учета бордюра? Сделай лучше с бордюром, как у b2m

ivagor
22.12.2008, 18:21
ivagor, как бы копию твоего загрузчика получить
Он у меня не в панельке, а запаян. Учитывая, что есть небольшой шанс, что я еще буду пробовать запустить вектор - выкусывать и выпаивать не буду. Неужели у тебя в коллекции нет волгоградского загрузчика (правда не знаю, как отличить его от других - опознавательных надписей там не было)? В общем, загрузчик объемом 2кб без опознавательных знаков, хорошо грузящий быстрые ROMы - это "волгоградский" :).

Tim0xA
23.12.2008, 15:50
Он у меня не в панельке, а запаян. Учитывая, что есть небольшой шанс, что я еще буду пробовать запустить вектор - выкусывать и выпаивать не буду. Неужели у тебя в коллекции нет волгоградского загрузчика (правда не знаю, как отличить его от других - опознавательных надписей там не было)? В общем, загрузчик объемом 2кб без опознавательных знаков, хорошо грузящий быстрые ROMы - это "волгоградский" :).
Выпаивать и выкусывать конечно же не стоит :) У меня в коллекции есть много разных загрузчиков без опознавательных знаков, может среди них есть волгоградский, но разобраться "кто есть кто" не так просто.

Вышла новая версия эмулятора VV. Исправлена установка размера окна, оптимизированы процедуры видеозахвата.

Ramiros
25.12.2008, 22:35
Обновил конвертер до v 1.6
сделал сглаживание перепадов, чтобы усилители сильно небисились и не генерировали всякие там гармоники

Tim0xA
26.12.2008, 12:48
Ramiros, в эмуляторе при нажатых клавишах Ctrl, Alt, Shift не срабатывают нажатия клавиш F11, F12. Может и еще есть какие-нибудь нерабочие комбинации - я не проверял.
Также хотелось бы иметь опцию отключения/подключения контроллера дисковода (не путать с образом диска).

Ramiros
26.12.2008, 14:33
Ramiros, в эмуляторе при нажатых клавишах Ctrl, Alt, Shift не срабатывают нажатия клавиш F11, F12. Может и еще есть какие-нибудь нерабочие комбинации - я не проверял.
Также хотелось бы иметь опцию отключения/подключения контроллера дисковода (не путать с образом диска).

несрабатывает не по моей вине, недостаток VCL библиотеки, эти комбинации перехватываются и недоходят до окна эмулятора. Можно обойти это ограничение следующим образом: войти в меню и шелкнуть мышью по пункту соотв. F11 или F12 удерживая Shift или Ctrl

Tim0xA
26.12.2008, 16:16
несрабатывает не по моей вине, недостаток VCL библиотеки, эти комбинации перехватываются и недоходят до окна эмулятора. Можно обойти это ограничение следующим образом: войти в меню и шелкнуть мышью по пункту соотв. F11 или F12 удерживая Shift или Ctrl
В некоторых загрузчиках клавиши РУС/LAT, CC и УС используются для входа в разные режимы. Я вообще делал так - сначала нажимал F11, а потом сразу клавиши ctrl или shift. Времени как раз хватает, чтобы загрузчик среагировал на нажатие. Но все равно этот способ (и через меню тоже) как-то кривовато выглядит. Может библиотеку поправить можно?

Ramiros
26.12.2008, 17:37
Tim0xA, есть способ обойти данное ограничение, в следующей версии сделаю

Tim0xA
26.12.2008, 23:23
Tim0xA, есть способ обойти данное ограничение, в следующей версии сделаю

Выложил новую версию VV на сайт.

x-code
08.01.2009, 00:53
Попробовал "реанимировать" писанные мной лет 15 назад программки под "Вектор" на Бейсике и Ассемблере. Пришлось немножечко "поколдовать", а некоторые оцифрованные файлы "вытянуть" эквалайзером - но в результате .wav файлы с помощью поддержки магнитофона в эмуляторе Игоря Титаренко грузятся куда надо. Забавно было посмотреть на редакторы шрифтов и спрайтов, которые я писал, будучи еще старшеклассником :)

Ramiros
08.01.2009, 20:53
Люди, у меня есть желание добавить эмуляцию Z80. такой вопрос - есть у кого готовый код по эмуляции данного девайса на делфи? а то с нуля писанины больно много получается.

ivagor
08.01.2009, 21:06
Ramiros, очень рад, что есть такие планы!
ftp://ftp.worldofspectrum.org/pub/sinclair/emulators/pc/windows/DelphiSpecSource03.zip
ftp://ftp.worldofspectrum.org/pub/sinclair/emulators/pc/windows/YaSE2-042-source.zip
общая ссылка
http://www.worldofspectrum.org/emulators.html

Добавлено через 6 минут
Еще эмулятор Error404, но он вроде использует то же ядро эмуляции z80
http://orion-z.hoter.ru/file/335_%D0%AD%D0%BC%D1%83%D0%BB%D1%8F%D1%82%D0%BE%D1% 80_Orion%2FZ

ZEman
09.01.2009, 08:42
Ramiros, а что ты не обратишься за помощью к b2m ?
он ведь уже делал z80

Error404
09.01.2009, 09:11
Ramiros, очень рад, что есть такие планы!
ftp://ftp.worldofspectrum.org/pub/sinclair/emulators/pc/windows/DelphiSpecSource03.zip
ftp://ftp.worldofspectrum.org/pub/sinclair/emulators/pc/windows/YaSE2-042-source.zip
общая ссылка
http://www.worldofspectrum.org/emulators.html

Добавлено через 6 минут
Еще эмулятор Error404, но он вроде использует то же ядро эмуляции z80
http://orion-z.hoter.ru/file/335_%D0%AD%D0%BC%D1%83%D0%BB%D1%8F%D1%82%D0%BE%D1% 80_Orion%2FZ

Z80 в проекте DelphiSpec (и соответственно в моем эмуляторе тоже, т.к. я заимствовал CPU оттуда) в каких-то мелких ньюансах код Z80 отрабатывает некорректно. Что заметно по ZEXALL и игре COMMANDO. Что там конкретно не так, я не разбирался, т.к. нигде более артефактов не замечал.

На С есть можество опенсорсных библиотек ядра Z80, куда как более корректных. Можно компильнуть одну из них и прицепить к проекту на Дельфи как DLL.

Ramiros
09.01.2009, 19:24
Ramiros, а что ты не обратишься за помощью к b2m ?
он ведь уже делал z80

потому что у него на С++

Tim0xA
11.01.2009, 01:38
Ramiros, очень хотелось бы увидеть в твоем эмуляторе возможность "отматывать" ленту вперед-назад, чтобы некоторые сложные участки можно было оцифровать с разными параметрами настройки, не прогоняя весь WAV с начала.

Ramiros
12.01.2009, 20:02
ivagor, есть некоторые сомнения в правильности реализации улучшенной модели кваза, т.к. то что написано в Вектор-Юзер2627-7 несоответствует реализации в эмуляторе b2m (я имею ввиду режимы адресации 6 и 7 битов порта 10h). я сделал в новой версии VV как в b2m но этот вопрос нужно как то прояснить, иначе если ошибка имеет место, то твои игры непойдут на реале.

Готова новая версия VV_5.55 с поддержкой Z80, ядро взято из DelphiSpec несколько переработано. Как только Tim0xA выложит, качайте.

ivagor
12.01.2009, 21:15
По КД - я сначала тоже не врубался, а потом оказалось, что существовал еще кишиневский модифицированный КД, описанный в радиолюбителе 95/11 (могу выслать на почту). У него биты 6 и 7 наоборот по сравнению с кировским :v2_crazy:. Судя по "экспериментам" именно он и поддерживается в b2m. Второй jetset (который полноцветный и на 6МГц) теоретически должен работать в обоих улучшеных КД, первый jetset должен работать только на "кишиневском модифицированном" (хотя поправить под кировский можно очень быстро).
Версию твоего эмулятора под z80 пока не смотрел (скорее всего завтра), очень интересно.

b2m
12.01.2009, 21:39
кишиневский модифицированный КД, описанный в радиолюбителе 95/11
Да, именно по этой публикации я и делал управление квазидиском. Там, однако, не сказано - кишинёвский он, или кировский. Я вообще не знал, что есть вариации.

Tim0xA
12.01.2009, 23:03
Выложил новую версию VV с поддержкой Z80.

ivagor
13.01.2009, 08:09
Ramiros, все работает :v2_thumb: (попробовал, все что выложено у Tim0xи в gamez, basic25z и несколько недоделаных игрушек). В т.ч. обнаружился один приятный момент, связанный с эмуляцией AY - в заново конверснутой версии warp&warp в b2m один раз выстрелишь - звук выстрела длится "вечно". В твоем эмуляторе звук выстрела заканчивается (хотя и несколько отличается от того, что воспроизводит BlueMSX)! Но у b2m есть и преимущества, навскидку - отладчик в реж. z80, с помощью конфига можно сделать z80 на 6 МГц с нормальной высотой звука AY (у тебя она похоже становится в 2 раза выше, возможно и прерывания в 2 раза чаще).
Вопрос - ты изменил время выполнения команд в тактах для эмуляции "векторовского торможения" или оставил как в DelphiSpec?

Error404
13.01.2009, 12:13
Готова новая версия VV_5.55 с поддержкой Z80, ядро взято из DelphiSpec несколько переработано. Как только Tim0xA выложит, качайте.

А в какой части переработано? Не разбирались с эмуляцией команд - что там где не совсем точно соотвествует? У меня есть ZEXALL с исходниками для Z80, можно оттолкнуться от него - он при прогоне теста напишет какая группа команд при выполнении отличается от оригинального Z80 (ZEXALL выполняет порядка 60 тестов для однотипных групп команд CPU). Хотел в свое время сам этим заняться, но я все же не программист. :)

Ramiros
13.01.2009, 19:30
Ramiros, высотой звука AY (у тебя она похоже становится в 2 раза выше, возможно и прерывания в 2 раза чаще).
Вопрос - ты изменил время выполнения команд в тактах для эмуляции "векторовского торможения" или оставил как в DelphiSpec?

Верно, высота звука становится в 2 раза выше, а вот интервал прерываний неменяется.
время выполнения команд подкоректировал, должно быть как на реале.

Добавлено через 3 минуты

А в какой части переработано? Не разбирались с эмуляцией команд - что там где не совсем точно соотвествует? У меня есть ZEXALL с исходниками для Z80, можно оттолкнуться от него - он при прогоне теста напишет какая группа команд при выполнении отличается от оригинального Z80 (ZEXALL выполняет порядка 60 тестов для однотипных групп команд CPU). Хотел в свое время сам этим заняться, но я все же не программист. :)

переработал я только метод подключения ядра, а с командами неразбирался, хотя LDIR LDDR оптимизировал, убрал то безобразие что было.
на ZEXALL хотелось бы взглянуть.

ivagor
13.01.2009, 19:38
Ramiros
только что обнаружилась, что в твоем эмуляторе (пробовал версии 5.54 и 5.55) не работает демка digital, в b2m работает. Прилагаемый fdd вроде взят с сайта svofski.

24.01.2009 Вложение удалил, т.к. проблема решена

Tim0xA
13.01.2009, 19:45
Ramiros
только что обнаружилась, что в твоем эмуляторе (пробовал версии 5.54 и 5.55) не работает демка digital, в b2m работает. Прилагаемый fdd вроде взят с сайта svofski.
ivagor, я только что добавил образ digital в карточку http://sensi.org/%7Esvo/scalar/ware/13/, проверил в эмуляторе VV - у меня работает.

ivagor
13.01.2009, 19:54
Да, этот работает, может трабл в DOS, который на диске demos? Я загружался с него, набирал digital и в b2m запускалась дема, а в VV опять появлялось приглашение DOS.

Tim0xA
13.01.2009, 19:59
Проверил образ demos - с него действительно не запускается. Похоже, что проблема не в дисковом DOS, т.к. я грузился с квазидиска. Образ диска имеет нестандартный размер 860160, может VV из-за этого глючит?

Ramiros
13.01.2009, 20:04
Tim0xA, я обновил VV исправил пару глюков с запуском образов дисков под Z80 и еще некоторые мелочи, выкладывай :)

Error404
13.01.2009, 22:17
с командами неразбирался, хотя LDIR LDDR оптимизировал, убрал то безобразие что было.
на ZEXALL хотелось бы взглянуть.

Во вложении версия ZEXALL для CP/M c исходниками.

Tim0xA
14.01.2009, 00:04
Выложил новую версию эмулятора VV.

Добавлено через 9 часов 52 минуты
Проблема с образом demos (дема "digital") осталась.

Ramiros
15.01.2009, 18:46
Проблема с образом demos (дема "digital") осталась.

причина в нестандартном размере, у меня максимум было 840 кб, в следующей версии расширю границу до мегобайта, хотя это уже будут нереально большие дискеты :)

ZEman
15.01.2009, 19:16
Ramiros, можешь ещё добавить Flash загрузку для кассетных образов.
это как на спектруме моментальная загрузка tap файлов.

Tim0xA
16.01.2009, 01:32
Ramiros, если окно эмулятора теряет фокус - снимается пауза.

Ramiros
17.01.2009, 20:18
В новой версии VV 5.57 несчитая мелочей пофиксино следующее:
- Исправлен глюк с паузой при потере окном фокуса
- расширен максимальный размер образа FDD до 1 мб. (100 дорожек)
- исправлены инструкции Z80 дающие ошибки в тесте ZEXALL.COM
- исправлены огрехи в эмуляции ВВ55А недающие кривым загрузчикам стартовать.

Ждем когда Tim0xA выложит

ivagor
17.01.2009, 20:43
Ramiros
Можно ли ожидать, что ты добавишь со временем:
1. Кишиневский адаптер z80
2. КР580ВМ1
необходимая инфа есть в базисе

Добавлено через 50 минут
Дополнение - эмулятор zx для кишиневского адаптера z80
http://sensi.org/%7Esvo/scalar/ware/605/

Tim0xA
17.01.2009, 23:57
Эмулятор на сайте

Добавлено через 15 минут
Ramiros, хотелось бы еще такие вещи:
- чтобы образ квазидиска выбирался так же, как образ диска (через меню), чтобы можно было запретить запись (имеется в виду запись в файл образа), а также убрать квазидиск
- сделай диалог для сохранения файла сохранения STA (с запоминанием последнего пути)

Было бы также неплохо сделать единый с b2m формат файла сохранения (а может добавить поддержку формата ve27), чтобы можно было портировать сохранения из эмуля в эмуль, т.к. оба эмулятора очень круты, но в каждом есть уникальные возможности, которые иногда хотелось бы задействовать для одной и той же задачи. Но это скорее информация к размышлению, чем руководство к действию. Есть задачи для эмуляции поинтересней, которые перечислил ivagor - кишиневский адаптер и ВМ1.

Ramiros
18.01.2009, 19:03
Ramiros
Можно ли ожидать, что ты добавишь со временем:
1. Кишиневский адаптер z80
2. КР580ВМ1


Кишиневский адаптер я чесно говоря непланирую.
ВМ1 нужно сначало посмотреть, чем он отличается от ВМ80, да и потом чем его тестировать?

Если b2m даст полную инфу по его файлу сохранения, то если получится я добавлю поддержку его формата.

Что касается моего формата STA то он в последних версиях несколько раз изменялся, поэтому немогу гарантировать что он окончательный

Добавлено через 19 минут


Ramiros, хотелось бы еще такие вещи:
- чтобы образ квазидиска выбирался так же, как образ диска (через меню), чтобы можно было запретить запись (имеется в виду запись в файл образа), а также убрать квазидиск
- сделай диалог для сохранения файла сохранения STA (с запоминанием последнего пути)


Вижу что невсем понятен механизм взаимодействия с файлом образом квазидиска, поясню подробнее:

при открытии *.edd файла, он загружается в память кваза, и дальнейшие изменения происходят в памяти. В файл они (изменения) автоматически несохраняются т.к. это приведет к неизбежной порче этих образов (потому что многие проги эту память затирают без всякого на то спроса).
Да, еще забыл сказать что если образ подключен, то он автоматом загружается при запуске эмулятора (при сбросе он не перезагружаться!).
Если пользователь хочет чтобы изменения в в памяти кваза сохранились в файл, это нужно сделать в ручную.

Опция отключения образа кваза уже есть.

Error404
18.01.2009, 19:32
В новой версии VV 5.57 несчитая мелочей пофиксино следующее:
- Исправлен глюк с паузой при потере окном фокуса
- расширен максимальный размер образа FDD до 1 мб. (100 дорожек)
- исправлены инструкции Z80 дающие ошибки в тесте ZEXALL.COM
- исправлены огрехи в эмуляции ВВ55А недающие кривым загрузчикам стартовать.

Ждем когда Tim0xA выложит

Очень интересно взглянуть на модуль эмуляции Z80 на предмет скопипастить себе поправленные команды Z80. Покажешь правленый исходник?

Ramiros
18.01.2009, 19:42
Очень интересно взглянуть на модуль эмуляции Z80 на предмет скопипастить себе поправленные команды Z80. Покажешь правленый исходник?

Конешно... правда он несколько переработан под мою модель, но выдернуть исправленные куски думаю проблем несоставит

Tim0xA
18.01.2009, 23:34
Кишиневский адаптер я чесно говоря непланирую.

Вот это очень жаль.


ВМ1 нужно сначало посмотреть, чем он отличается от ВМ80, да и потом чем его тестировать?
"Колобиха" и "тест CPU".



Вижу что невсем понятен механизм взаимодействия с файлом образом квазидиска, поясню подробнее:

Ramiros, спасибо за разъяснения, но все это я знаю уже очень давно. Очевидно, я не совсем ясно написал, что имею в виду. Попытаюсь донести мысль другими словами:

1. Выбирать образ квазидиска через меню File-Open не совсем удобно. Было бы хорошо иметь индивидуальный пункт в меню File для выбора образа квазидиска, так как это сделано для FDD, для МППЗУ. Например:



Open
-----------------------
Drive A
Drive B
Without FDD Controller
-----------------------
External Rom
-----------------------
RAM disk <--- добавить вот это
-----------------------
Tape
-----------------------
и т.д.


IMHO это было бы логично. Единый механизм работы с образами.

2. Пункт отключения образа EDD в закладке CPU - не на своем месте IMHO. Поэтому я предлагаю сделать для пункта RAM disk свое SubMenu по аналогии с FDD:



RAM disk > Open EDD Image
Clear EDD
+Read Only

Таким образом для всех образов мы получим единый принцип работы.

3. По поводу записи в образ EDD. Как сделать это вручную? Плагин FAR запись в EDD не поддерживает. В эмуляторе b2m это не получилось. Поэтому я и прошу сделать возможность отключить Read Only, чтобы в некоторых случаях можно было изменить содержимое образа.

4. Режим Read Only. Совершенно правильно, что сейчас запись в образ EDD запрещена. Это обеспечивает безопасность для образов. Поэтому, по-умолчанию пункт Read Only должен быть установлен. Но нужно дать возможность снимать его по необходимости, т.е. разрешать сохранение изменений в файл образа.

Фух. Теперь, надеюсь, все будет ясно :)

b2m
19.01.2009, 12:29
В эмуляторе b2m это не получилось
А почему?
Можно же сделать так:

ramdisk="Vector06c\vector.edd"
ramsave="Vector06c\vector.sav"

.edd будет всегда сохраняться при выходе из эмулятора в .sav, а там уж сам решай, копировать его в .edd, или не надо.

Tim0xA
19.01.2009, 13:21
А почему?
Можно же сделать так:

ramdisk="Vector06c\vector.edd"
ramsave="Vector06c\vector.sav"

.edd будет всегда сохраняться при выходе из эмулятора в .sav, а там уж сам решай, копировать его в .edd, или не надо.
Мы это уже обсуждали:
http://zx.pk.ru/showpost.php?p=154818&postcount=121
http://zx.pk.ru/showpost.php?p=155995&postcount=157
http://zx.pk.ru/showpost.php?p=156029&postcount=160 (абсолютный путь тоже пробовал)
Попробуй сам это сделать, получится ли?

Вот фрагмент моего конфига.


mm : V06c-MemMap {
cpustate=cpu.state
rom=bios[0000]
stdmem=mem1[0000]
ramdisk="Vector06c\vector.edd"
ramsave="Vector06c\vector.sav"
}

vector.sav не создается

b2m
19.01.2009, 13:48
У меня сохраняется, но я при этом не открываю других файлов.
Я догадываюсь, почему не создаётся с таким конфигом: текущий каталог меняется на тот, откуда ты открываешь .edd, а там нету подкаталога "Vector06c".
Но тогда с абсолютным путём должно было работать.
Тогда попробуй так:

mm : V06c-MemMap {
cpustate=cpu.state
rom=bios[0000]
stdmem=mem1[0000]
ramdisk="Vector06c\vector.edd"
ramsave="vector.sav"
}

Tim0xA
19.01.2009, 14:45
У меня сохраняется, но я при этом не открываю других файлов.
Я догадываюсь, почему не создаётся с таким конфигом: текущий каталог меняется на тот, откуда ты открываешь .edd, а там нету подкаталога "Vector06c".
Но тогда с абсолютным путём должно было работать.
Тогда попробуй так:

mm : V06c-MemMap {
cpustate=cpu.state
rom=bios[0000]
stdmem=mem1[0000]
ramdisk="Vector06c\vector.edd"
ramsave="vector.sav"
}
Так сохраняет, но на один уровень выше папки с эмулятором.

В итоге я написал так (работает как надо):
ramsave="emu\Vector06c\vector.sav"

b2m
19.01.2009, 15:43
Так сохраняет, но на один уровень выше папки с эмулятором.
Такое возможно только если последний открываемый (в диалоге) файл лежал "на один уровень выше папки с эмулятором". Блин, надо бы добавить везде OFN_NOCHANGEDIR ...

Tim0xA
19.01.2009, 15:53
Такое возможно только если последний открываемый (в диалоге) файл лежал "на один уровень выше папки с эмулятором". Блин, надо бы добавить везде OFN_NOCHANGEDIR ...
Теперь ясно. Вообщем, лучше что-то с этим сделать в конце концов, поскольку последний открываемый файл может быть где угодно и vector.sav тогда хрен найдешь, если найдешь вообще.

Error404
19.01.2009, 16:04
Конешно... правда он несколько переработан под мою модель, но выдернуть исправленные куски думаю проблем несоставит

Скопипастил. Zexall проходит все тесты, игруха Comando (с ZX) так и глючит (но уже по-другому). Ну да и хрен с ней, надоела. :D

b2m
19.01.2009, 18:05
Tim0xA, я выложил исправленный вариант.

ivagor
19.01.2009, 21:51
b2m
Очень хотелось бы продолжения доброй традиции ведения history в посте

Пожелания и планы по эмулятору Башкирия-2М

Ramiros
19.01.2009, 22:55
Tim0xA, я учту тво пожелания насчет EDD, а сохранить образ EDD у меня очень просто - через опцию Save as... там нужно выбрать тип файлов *.edd и все, сохраняй пожалуйста

Tim0xA
19.01.2009, 23:45
Tim0xA, я учту тво пожелания насчет EDD, а сохранить образ EDD у меня очень просто - через опцию Save as... там нужно выбрать тип файлов *.edd и все, сохраняй пожалуйста
Ага, вот как :) Ну чтож, это тоже вариант.

Tim0xA
22.01.2009, 01:48
В эмуляторе b2m при запуске прилагаемого файла постоянно слышен какой-то свист, в эмуляторе VV - кратковременный звуковой эффект.

ivagor
22.01.2009, 11:13
Вопрос/предложение авторам эмуляторов - можно записывать вывод на принтер в файл (желательно с возможностью отключения)? Возможно получится сделать вариант BASIC2.5 для z80 с сохранением вывода на принтер, хотелось бы иметь возможность проверки. Может еще для чего пригодится.

Добавлено через 21 минуту
По PIC-018 - внутрь не смотрел, но поведение очень похоже на версию warp&warp с AY (в VV выстрелы немного похожи на звучание в BlueMSX, а в b2m выстрел приводит к бесконечному "гудению").

Добавлено через 10 часов 17 минут
Пожелание по отладчикам эмуляторов - очень бы хотелось иметь возможность смотреть содержимое квазидиска.

BYTEMAN
25.01.2009, 20:55
Вопрос по эмулятору VirtualVector: почему на моей конфигурации Celeron2400 512Mb Radeon9600Pro эмуль даже 35 fps не показывает? Emulators3000 работает куда шустрее.

Ramiros
25.01.2009, 21:02
Вопрос по эмулятору VirtualVector: почему на моей конфигурации Celeron2400 512Mb Radeon9600Pro эмуль даже 35 fps не показывает? Emulators3000 работает куда шустрее.

Странно, у меня ноутбук Celeron1400 512Mb Radeon9000 эмуль 80 fps вытягивает.

попробуй отключить smooth, high quality, Wait VSync если включено, еще попробуй включи pixeling вместо texturing. Хотя скорее причина в чем то другом, например дрова какие нибуть неустановлены.

Tim0xA
26.01.2009, 01:12
VV 5.59 на сайте

Добавлено через 56 минут
Ramiros, в VV (режим ВМ80А) не работает Madcow (http://sensi.org/~svo/scalar/ware/625)

Добавлено через 1 час 5 минут
Не сохраняется опция "Screen - Display Effects - Show Messages"

Ramiros
26.01.2009, 21:00
VV 5.59 на сайте

Добавлено через 56 минут
Ramiros, в VV (режим ВМ80А) не работает Madcow (http://sensi.org/~svo/scalar/ware/625)

Добавлено через 1 час 5 минут
Не сохраняется опция "Screen - Display Effects - Show Messages"

Только нарды победил:) любители нетрадиционного секса с ВВ55 оказывается незакончились :)

ZEman
26.01.2009, 21:21
вот так всегда, одно лечится другое калечится :)

BYTEMAN
27.01.2009, 15:15
Странно, у меня ноутбук Celeron1400 512Mb Radeon9000 эмуль 80 fps вытягивает.

попробуй отключить smooth, high quality, Wait VSync если включено, еще попробуй включи pixeling вместо texturing. Хотя скорее причина в чем то другом, например дрова какие нибуть неустановлены.

Вчера попробовал поставить старую версию эмуля (качал в начале декабря). Там всё просто летает. 80fps выдаёт спокойно

Ramiros
27.01.2009, 21:09
Вчера попробовал поставить старую версию эмуля (качал в начале декабря). Там всё просто летает. 80fps выдаёт спокойно

Много воды с той поры утекло, лучше скажи какая версия эмуля летает.
Тем не менее у других же не тормозит, это о чем то говорит?

BYTEMAN
28.01.2009, 00:26
Много воды с той поры утекло, лучше скажи какая версия эмуля летает.
Тем не менее у других же не тормозит, это о чем то говорит?

Vector-06c 526

Ramiros
28.01.2009, 22:04
Vector-06c 526

Да, после был немного переделан графический движек (введен учет динамики луча), что привело к увеличению загрузки проца на 5..10%

тут походу проблема в том что у твоего целерона очень маленький КЭШ (надо сказать спасибо "интел" за такую щедрость), либо он в биосе отключен, а это весьма нежелательно, т.к. эмулятор перелопачивает приличные масивы данных в памяти.

BYTEMAN
29.01.2009, 16:07
тут походу проблема в том что у твоего целерона очень маленький КЭШ (надо сказать спасибо "интел" за такую щедрость), либо он в биосе отключен, а это весьма нежелательно, т.к. эмулятор перелопачивает приличные масивы данных в памяти.

Вполне возможно. Я ж недавно материнку менял, на старой БИОС уже в четвёртый раз вылетела. Как поставил новую (FOXCONN 661FXME), так комп стал медленнее работать. Что меня насторожило, так это FSB (100MHz). Маловато получается. Пробовал поднять до 115-120, но проц перегревается. Множитель вообще недоступен из БИОСа

svofski
31.01.2009, 18:17
Я пытаюсь гонять VV в виртуальной XP под VirtualBox-ом. Он даже практически работает. Но почему-то любые дисковые операции тормозят все происходящее ну просто невозможным образом. От выбора образа дискеты до шашечек может пройти минут 5, или 10.. Я отвлекся, пока ждал. При этом загрузка процессора умеренная, что-то около 10%.

К слову сказать, b2m с ВиртуалБоксом живет принципиально лучше, хотя тоже не то что бы b2m мухи не обидит.

ZEman
31.01.2009, 19:23
у b2m эмулятор явно попроще, не кушает столько ресурсов, потому и тормозит меньше.
у меня появилась одна интересная идея для Virtual Vector эмулятора.
сколько на векторе игр для двоих ?

Ramiros, ты смог бы сделать поддержку игры по сети (через интернет) в игры на векторе для двоих ? :)

Ramiros
31.01.2009, 20:48
у b2m эмулятор явно попроще, не кушает столько ресурсов, потому и тормозит меньше.
у меня появилась одна интересная идея для Virtual Vector эмулятора.
сколько на векторе игр для двоих ?

Ramiros, ты смог бы сделать поддержку игры по сети (через интернет) в игры на векторе для двоих ? :)

Скажу чесно, интернет протоколы всякие для меня темный лес

ivagor
31.01.2009, 21:11
Игры для двух игроков есть (напр. pairs, rotors), но как "расщепить" игроков на 2 компьютера?

Как вариант - прописать в конфиге, что состояние определенных клавиш или джойстиков нужно запрашивать извне.

ivagor
01.02.2009, 21:04
Ramiros
Было бы очень здорово, если бы то добавил в эмулятор 2 очень полезные и не сложные в реализации вещи:
1. Загрузка блока данных
2. Выгрузка блока данных
Очень желательно, чтобы это работало для всех процессоров, особенно для z80.

Ramiros
01.02.2009, 21:38
Ramiros
Было бы очень здорово, если бы то добавил в эмулятор 2 очень полезные и не сложные в реализации вещи:
1. Загрузка блока данных
2. Выгрузка блока данных
Очень желательно, чтобы это работало для всех процессоров, особенно для z80.

Хотелось бы по подробней, что, куда и откуда выгружать/загружать?

ivagor
01.02.2009, 22:01
Хотим выгрузить блок данных из ОЗУ "наружу" (результат - PCшный файл), надо при этом указать - начальный адрес, конечный адрес (или длину).
Хотим загрузить блок данных (PCшный файл) в ОЗУ, при этом надо указать начальный адрес. Можно еще добавить возможность загружать файл не полностью, а с ограничением длины заданным значением.

Ramiros
01.02.2009, 22:14
Только ОЗУ или RAM диск тоже?

ivagor
01.02.2009, 22:24
:) если еще и RAM диск, то будет совсем хорошо.

Ramiros
01.02.2009, 22:46
Хорошо, добавлю такую фичу :)

Tim0xA
02.02.2009, 00:02
Очень хорошо, эта фича также позволит загружать в монитор-отладчик библиотеки драйверов устройств, лс-паскаля и т.п. без ручных правок файла RAM в HEX-редакторе.

Tim0xA
03.02.2009, 17:50
К вопросу о таймере...
В эмуляторе b2m Exolon запускается после 50 секундной паузы с эффектами, которые видны на скриншоте. В VV Exolon работает без нареканий.

Tim0xA
03.02.2009, 17:55
Вопрос снят. Оказывается вчера вышла новая версия, где уже все исправлено :)

svofski
03.02.2009, 18:06
А что было исправлено-то, а?

b2m
03.02.2009, 18:26
Да так, откатил кое-какие изменения, внесённые, когда твой "пробулятор" гонял...

Добавлено через 2 минуты
Хотя эффект, описанный выше, не исчез. Где-то рассинхронизация всё-таки есть.

Добавлено через 27 минут
Пришлось откатить ещё кое-какие изменения...

svofski
03.02.2009, 19:21
Надо, чтобы кто-нибудь из обладателей настоящего Вектора устроил бы сервис такой. Мы тут с b2m-ом и Ramiros-ом наперебой составляем задания на перфокартах, а обладатель, он же Оператор, его вбивает, прогоняет на настоящем ЭВМ, фотографирует результат и отправляет обратно. Так наши эмуляторы хотя бы имели шанс приближаться к оригиналу, а не друг к другу.

Ведь до сих пор никто из присуствующих так и не видел MultiColor и Black Ice на реале. А если и видел, то сам насладился и никому не показал.

ivagor
03.02.2009, 19:35
Насколько я помню, для запуска указанных демок нужен не только вектор, но и КД (как минимум).

svofski
03.02.2009, 21:02
MultiColor работает и так, а для Black Ice действительно нужен квас. Хотя, она состоит из независящих друг от друга частей и если, допустим волнующую меня часть с телевизором высвопить из эмулятора, а потом как-то впрыснуть с нулевого адреса в живой Вектор, он должен ее подхватить по БЛК+СБР-у. Но это фантазии всё, конечно, пустое.

ZEman
04.02.2009, 15:25
b2m, ты ведь уже 2 раза обновил свой эмулятор, скажи хоть что там за изменения, а то качаем неизвестно что :)

кстати, интересная новость.
уже 2 месяца как появился новый эмулятор агата, под виндовс.
эмулирует агат 9, агат 7 и апль 2.
автор некий Олег одинцов.
эмулятор можно скачать здесь http://sourceforge.net/project/showfiles.php?group_id=249007
а здесь его сырцы https://agatemulator.svn.sourceforge.net/svnroot/agatemulator/
может посмотришь и обновишь свой эмулятор насчёт этого.
этот эмулятор очень хороший, пускает практически все игры и диски.
про его настройку и некоторые обсуждения можно глянуть тут http://www.phantom.sannata.ru/forum/index.php?t=4088&amp;a=stdforum_view&amp;o=&st=0

b2m
04.02.2009, 15:29
скажи хоть что там за изменения, а то качаем неизвестно что :)

тут (http://zx.pk.ru/showthread.php?t=8373) читай

ivagor
04.02.2009, 18:34
Минибаг
в конфигурации вектора с КР580 отработка hlt при запрещенных прерываниях приводит к невозможности войти в отладчик (ни через меню ни через клавишу)
в конфиге z80 все нормально

svofski
04.02.2009, 19:12
А мне бы батон на тулбар для входа в дебуггер..

Ramiros
04.02.2009, 20:02
Обновленный VV_5.63 добавлена фича для сохранения/загрузки кусков памяти.

Tim0xA
05.02.2009, 11:55
Обновленный VV_5.63 добавлена фича для сохранения/загрузки кусков памяти.
На сайте!

Добавлено через 8 минут
Ramiros, мне кажется режим экрана 512x256 не имеет особого смысла, работать в нем неудобно. Может стоит заменить его на режим с разрешением экрана 576x432 (идеальный режим для работы в МикроДОС - экран смотрится очень четко) или хотя бы сделать для 576x432 горячую клавишу?

Добавлено через 14 минут
Ramiros, для чтения/сохранения блоков памяти расширения файлов "mem" будет маловато, добавь еще маску *.*

Добавлено через 33 минуты
IMHO, для сохранения блоков памяти было бы удобнее оперировать не размером блока, а конечным адресом блока. Например, нужно сохранить кусок памяти с адреса 4010h по 573Bh - какой тут размер, да еще в HEX без калькулятора не посчитаешь. А такие потребности иногда возникают. Или сделать возможность выбора, как сохранять - по размеру или по конечному адресу. Модификация, думаю не сложная - на 5 минут, но удобство работы с менеджером памяти от этого значительно повысится.

ivagor
05.02.2009, 13:20
Tim0xa
Не знаю, чем тебе понравился вариант 576x432 - меня напрягает разная толщина горизонтальных линий в таком режиме. Сам я отключаю proportion 4:3 и использую double size. Если нужны одновременно нормальные пропорции и нормальная (одинаковая) толщина вертикальных и горизонтальных линий по всему экрану - рекомендую установить 1152x864 (при отключенном proportion), размер точки будет 2x3 (если в 512x256) или 4x3 (в 256x256).

Ramiros
По сохранению блоков - довольно удобно сделано в EmuZWin. Там 3 строки в диалоге: From Adress, To Adress, Length и сделано так, что при изменении To Adress автоматически меняется Length или наоборот. Довольно удобная штука.
Еще 2 пожелания к отладчику:
1. Сделать переход к определенному адресу в отладчике. Т.е. чтобы не промоткой, а задал адрес и отображаемая в окошке область сместилась.
2. Добавить "выполнить до курсора". Это можно "эмулировать" точкой останова, но отдельная клавиша была бы удобнее.

Tim0xA
05.02.2009, 14:18
Не знаю, чем тебе понравился вариант 576x432
Это минимальный размер экрана, на котором все достаточно четко видно, даже в режиме 512x256, без пикселизации изображения и с соблюдением тв-пропорций. Вот чем он мне нравится. В b2m этот режим включен по-умолчанию, никто не был против.

Ramiros
05.02.2009, 19:53
Ramiros, мне кажется режим экрана 512x256 не имеет особого смысла, работать в нем неудобно. Может стоит заменить его на режим с разрешением экрана 576x432 (идеальный режим для работы в МикроДОС - экран смотрится очень четко) или хотя бы сделать для 576x432 горячую клавишу?

Ramiros, для чтения/сохранения блоков памяти расширения файлов "mem" будет маловато, добавь еще маску *.*



ОК, Сделаю.

Добавлено через 2 минуты
Насчет менеджера памяти - согласен, переделаю

BYTEMAN
06.02.2009, 14:52
Проблема с тормознутостью решена - надо было сделать охлаждение получше да термопасту поменять :)

Ramiros
07.02.2009, 19:35
VV_5.64 доработаны Memory Manager и Debugger

ivagor
07.02.2009, 20:43
Ramiros
Очень простое пожелание - фиксировать частоту таймера и AY, чтобы при изменении скорости векторовского процессора высота звука оставалось постоянной. На сегодняшний день это нужно для jetset16.
Также желательно добавить возможность задания произвольной частоты процессора. Зачем это нужно - например, чтобы приблизиться к быстродействию компьютера Vadika, у него вроде Fтакт=5 МГц. Еще может захочется 24 МГц установить, почему бы и нет :)?

Ramiros
09.02.2009, 22:06
VV 5.65 - зафиксированы частоты таймера и AY, пофиксены некоторые баги в дебагере и улучшен алгоритм дизасемблера, теперь если при дизасемблировании кода возникают ошибки, дизасемблер переходит на альтернативный алгоритм, который работает заметно медленнее но меньше ошибается :)

Tim0xA
10.02.2009, 19:31
Ramiros, если образ квазидиска не подключен, квазидиск есть или нет? Доступно ли его адресное пространство? Если да, то очень нужна опция "Without RAM Drive".

Ramiros
10.02.2009, 19:40
Ramiros, если образ квазидиска не подключен, квазидиск есть или нет? Доступно ли его адресное пространство? Если да, то очень нужна опция "Without RAM Drive".

Конечно есть и доступен, просто первоначально там вся память заполнена константой $E5

Tim0xA
10.02.2009, 19:49
Конечно есть и доступен, просто первоначально там вся память заполнена константой $E5
Сделаешь опцию "Without RAM Drive"?

ivagor
11.02.2009, 07:56
Ramiros, может сделать более общий вариант?
RAM Drive Size->0
->64
->256
КД на 64 Кб были, хотя это большая экзотика, чем 256. Вроде в них был только банк 0, который прописывался в порт 10h не как 00, а как 11 в соответсвующем положении (и для адресности и для стека). Например "переключение на ОС" и для КД на 256 и для КД на 64 будет
mvi a,23h
out 10h

ОСи под это были, а вот дожили ли они до наших дней - это как раз можно будет легко проверить при наличии поддержки КД на 64.

Tim0xA
11.02.2009, 11:06
Может раскрыть тему еще глубже и сделать еще варианты на 512кб и 768кб (как минимум), т.к. для них есть свои ОС CPM (в наличии):


Управление платой. Стандарт ERAM.
---------------------------------
Для управления платой используются порты в/в 10h и 20h. Функционально схема
разбита на сегменты по 256kB, каждый из которых на 64kB страницы. Назначение
битов порта 10h полностью совпадает со стандартом квазидиска МикроДОС. 20h ис-
пользуется для выбора сегментов и режимов подмены ОЗУ в режиме адресности.
Назначение битов следующее:
0 - выбор вида окна (режима помены ОЗУ),
1 зависит от значения 5го бита порта 10h;
2 - для 0: режим подмены зависит от 0го и 1го битов,
для 1: полная подмена ОЗУ (0000h-FFFFh);
3 / выбор номера 256kB сегмента
4 -< (то есть максимально
5 \ до восьми сегментов);
6 - резерв;
7 - резерв;
Страница в которой происходит подмена ОЗУ выбирается соответствующими бита-
ми порта 10h (по стандарту МикроДОС). Битами 0 и 1 порта 20h задаются четыре
варианта подмены ОЗУ:
0 A000 DFFF
1 8000 DFFF
2 8000 FFFF
3 0100 7FFF,
а также полная подмена ОЗУ (0000-FFFF) установкой бита 2 порта 20h в единицу.
При установке этого бита в ноль режим подмены задается битами 0 и 1 этого пор-
та, в соответствии с выше приведенными вариантами.
ERAM полностью совместим с квазидиском МикроДОС и всем программным обеспе-
чением под квазидиск. Дополнительные режимы работы ERAM открывают новые воз-
можности для написания программного обеспечения, использующего большие об'емы
оперативной памяти. Для пользователей Микродос ERAM предоставляет эти возмож-
ности при изменении внутренних драйверов работы с квазидиском. На стандартной
операционной системе больше 256-ти кб использовать невозможно.


О квазидиске в 2МБ (схема есть) я пока молчу, т.к. под него нет ОС.

Добавлено через 3 минуты
Вот только порт 20h конфиликтует с омскими часами, которых в VV пока нет. В дальнейшем придется выбирать: ERAM или RTC.

Ramiros
11.02.2009, 22:34
Сделаешь опцию "Without RAM Drive"?

уже сделал... VV_5.66

про ERAM и RTC пока обещать ничего небуду. в b2m вроде РТС есть но где и как его увидеть, каким софтом? у меня пока увидеть неполучилось :( еще есть прога clock.com, она виснет и как ее запускать тоже непонятно...

Tim0xA
12.02.2009, 00:27
уже сделал... VV_5.66

про ERAM и RTC пока обещать ничего небуду. в b2m вроде РТС есть но где и как его увидеть, каким софтом? у меня пока увидеть неполучилось :( еще есть прога clock.com, она виснет и как ее запускать тоже непонятно...
Вот тут я писал про DOS201, который работает с часами
http://zx.pk.ru/showpost.php?p=182997&postcount=18
clock.com запускал в T-34 и в dos201

Добавлено через 4 минуты
Эмулятор на сайте!

ivagor
12.02.2009, 13:06
Ramiros, а КД на 64 Кб, как я предлагал здесь

Ramiros, может сделать более общий вариант?
вроде довольно просто можно сделать, имея работающий КД на 256 Кб, просто оставляем один банк из 4х.

Ramiros
12.02.2009, 20:26
Ramiros, а КД на 64 Кб, как я предлагал здесь

вроде довольно просто можно сделать, имея работающий КД на 256 Кб, просто оставляем один банк из 4х.

Такое кастрирование сделать конечно можно, только мне непонятно зачем?

ivagor
12.02.2009, 20:36
мне непонятно зачем?
из исторических соображений. Также интересно посмотреть, может не утерян ДОС для такого КД, а наличие поддержки КД на 64 Кб позволяет легко проверить.

Добавлено через 5 минут

Может раскрыть тему еще глубже и сделать еще варианты на 512кб и 768кб (как минимум), т.к. для них есть свои ОС CPM (в наличии)
Чтобы эти ДОС заработали, нужна еще поддержка Comanовского КНГМД.
Но ERAM сам по себе интересная штука, стандартные ДОС с ним заработают, только про память больше 256 Кб они не знают, так что эту дополнительную память можно использовать для чего угодно, не портя содержимое диска C.

Ramiros
12.02.2009, 20:51
из исторических соображений. Также интересно посмотреть, может не утерян ДОС для такого КД, а наличие поддержки КД на 64 Кб позволяет легко проверить.

Добавлено через 5 минут

Чтобы эти ДОС заработали, нужна еще поддержка Comanовского КНГМД.
Но ERAM сам по себе интересная штука, стандартные ДОС с ним заработают, только про память больше 256 Кб они не знают, так что эту дополнительную память можно использовать для чего угодно, не портя содержимое диска C.

всетаки нужна точная информация насчет битов отвечающих за номер страницы (поведение КД при нестандартных комбинациях), и как быть с расширением (7,8 биты)?

Vadik
13.02.2009, 10:12
Эмулятор VV-последний запускается со второго раза.Первый запуск черное окно при попытке закрыть не отвечает, совторого раза работает нормально и даже нетормозит. С чем связано такое явление? У меня Виндовс98.

Tim0xA
13.02.2009, 11:45
Первый запуск черное окно
Я вчера тоже такое заметил на домашнем компе. Перед этим запускалась виндовая игра в полноэкранном режиме. Система Windows XP SP2. Только второй запуск эмулятора ничего не дал. По-прежнему черный экран. Более того, отказалась работать более ранняя версия 5.65. Других не пробовал.

ZEman
13.02.2009, 16:41
а у меня на Windows server 2008 прекрасно работает, что 5.65 что 5.66 вылетов небыло :)

ivagor
13.02.2009, 17:01
Мне пока везет, такого, чтобы некая версия VV или b2m зависали при старте или показывали только черный экран не припомню.
Сейчас (а также в обозримом прошлом и будущем) у меня
AthlonX2 3800+ / GeForce8600GT (драйвер 175.16)
все это под управлением хрюши с третьим паком

Ramiros
13.02.2009, 20:30
даже незнаю что и предположить, в вин98 я уже давно непроверял, поэтому гарантий нет никаких.
Есть одна особенность моего эмулятора в том что обновление экрана и вызов прерывания (вектора) сейчас запускает DXSound т.к. от ММТаймера пришлось отказаться из за его несинхронности с DXSound-ом, поэтому если с DXSound-ом какие то проблемы в системе, то и эмуль будет тоже работать нестабильно, либо вообще незапустится. Перешел я на такой метод, когда сделал новый звуковой движек.

Tim0xA
16.02.2009, 01:26
Ramiros, VV глючит с выпуском Invector (http://www.sensi.org/~svo/scalar/ware/40) №17, если запускать его не с диска (у b2m работает).

ivagor
16.02.2009, 07:29
Странно, у меня и в b2m не работает. Там календарь печатается через вызов ДОСовской процедуры (call 5), так что если invector17 запущен не из под ДОС, то не понимаю, как он может работать в любом эмуляторе (если только хак сделать и записывать при старте по адресу 5 заглушку, но это по-моему лишнее).
Под ДОС в обоих эмуляторах работает. Просто программа некорректно сделана или можно считать, что неправильное расширение - не .rom а .com.

Tim0xA
16.02.2009, 14:54
Странно, у меня и в b2m не работает.
b2m устанавливает при запуске ROM-файлов через File-Open


0x0000 jmp 0100

0x0038 ei
ret
поэтому работает. Вообщем, претензий к VV нет, все правильно.

Ramiros
16.02.2009, 19:20
Прикручиваю ПЗУ8 и немогу понять, после загруски данных (неважно с чего) делается рестарт jmp 0000h видимо пытаясь зделать автозапуск но при этом даже непытаясь записать что либо в какой нибуть порт, я даже сделал поддержку автозапуска описанного в VectorUser№7, во всех загрузчиках работает, кроме ПЗУ8, поэтому у меня вопрос: может существует еще вариант автозапуска?
и второе - при автозапуске делается полный рестарт, или только отключается ПЗУ? (я склоняюсь к варианту только отключения ПЗУ, потому как перезапуск загрузчики делают програмно т.е. jmp 0000h).

Tim0xA
16.02.2009, 20:40
Прикручиваю ПЗУ8 и немогу понять, после загруски данных (неважно с чего) делается рестарт jmp 0000h видимо пытаясь зделать автозапуск но при этом даже непытаясь записать что либо в какой нибуть порт, я даже сделал поддержку автозапуска описанного в VectorUser№7, во всех загрузчиках работает, кроме ПЗУ8, поэтому у меня вопрос: может существует еще вариант автозапуска?
Еще один - отключаемый вариант в "Вектор-USER №8".
Только ты в эмуляторе тоже сделай возможность выключить автозапуск (глобально через опцию меню CPU).



и второе - при автозапуске делается полный рестарт, или только отключается ПЗУ? (я склоняюсь к варианту только отключения ПЗУ, потому как перезапуск загрузчики делают програмно т.е. jmp 0000h).
Судя по схеме процессор все-таки сбрасывается по БЛК+СБР (выход 6 триггера D17.1 идет на CPU RESET).

Ramiros
16.02.2009, 21:18
Еще один - отключаемый вариант в "Вектор-USER №8".
Только ты в эмуляторе тоже сделай возможность выключить автозапуск (глобально через опцию меню CPU).


Судя по схеме процессор все-таки сбрасывается по БЛК+СБР (выход 6 триггера D17.1 идет на CPU RESET).

Оригинально, в схеме VectorUser №8 сигналом для автозапуска используется индикатор "РУС"!

Tim0xA
17.02.2009, 02:53
Ramiros, есть предложение. Я столкнулся с тем, что некоторые программы, запускаемые из МикроДОС некорректно устанавливают режим экрана при выходе. И возникла идея - что если в эмулятор добавить опцию принудительной установки режима 512x256 или 256x256? И вдобавок к этой опции (на всякий случай) добавить опцию Disable Change Screen Mode в секцию, где сейчас находится запрет скроллинга и смены палитры.

ivagor
17.02.2009, 06:33
Может сделать отдельное окошко или вкладку с регистрами устройств (с возможностью отображения текущего состояния и его изменения)?

Tim0xA
17.02.2009, 22:35
Ramiros, есть предложение. Я столкнулся с тем, что некоторые программы, запускаемые из МикроДОС некорректно устанавливают режим экрана при выходе. И возникла идея - что если в эмулятор добавить опцию принудительной установки режима 512x256 или 256x256? И вдобавок к этой опции (на всякий случай) добавить опцию Disable Change Screen Mode в секцию, где сейчас находится запрет скроллинга и смены палитры.
Немного уточню мысль, вдруг непонятно. Например:


Set Screen Mode 512x256 <- эти две опции устанавливают режим, но
Set Screen Mode 256x256 не блокируют его, т.е. программа может
поменять режим опять, если захочет
--------------------------
Disable Change Screen Mode <- эта опция блокирует программную смену
режима, но не блокирует первые две
опции, т.е. пользователь может сам
переключить режим, когда захочет

Ramiros
18.02.2009, 20:35
Немного уточню мысль, вдруг непонятно. Например:


Set Screen Mode 512x256 <- эти две опции устанавливают режим, но
Set Screen Mode 256x256 не блокируют его, т.е. программа может
поменять режим опять, если захочет
--------------------------
Disable Change Screen Mode <- эта опция блокирует программную смену
режима, но не блокирует первые две
опции, т.е. пользователь может сам
переключить режим, когда захочет


Готово, вот толко без активной опции Disable Change Screen Mode опции Set Screen Mode в 99% как мертвому припадки, потому что проги в конце обработки каждого прерывания перезаписывают режим экрана.

Добавлено через 10 минут
Добавлена поддержка ПЗУ8, для правильной загрузки необходимо чтобы имя файла было именно PZU8.BIN(EPR). но для корректной работы ПЗУ8 нужно еще решить загадку с автозапуском.
добавлена поддержка автозапусков описанных в ВЮ №7 и ВЮ №8.

Jons
20.02.2009, 22:52
Можно я тут вклюнюсь со своими вопросами? У меня всего 2, собирается ли Игорь Титарь в своём эмуле прикрутить поддержку винта? (и второй) поюзав эмуль я обнаружил что скорость проца можно выставить на 12 МГц, существует ли реальный Вектор с таким процом и как с этим процом живут м/сх и периферия?

ivagor
21.02.2009, 09:25
Был такой вектор-турбо+, про него можно почитать здесь (№ 2)
http://sensi.org/%7Esvo/scalar/ware/554/
и здесь (№№ 15 и 18)
http://sensi.org/%7Esvo/scalar/ware/572/

Также в форуме присутствует очевидец

году этак в 95-м, когда посещал Диму Камшилина (автор журнала) на предмет поинтересоваться чего "этакого" можно передрать с Вектора на Орион. Передрал плейер для AY8910. И вектор с z80 на 12 МГц видел лично (авторский коллектив сидел у нас в ВлГУ на пятом этаже корпуса Р).
дальше там еще есть пост.

Переферия там практически вся интегрированная. Современными эмуляторами ничего, кроме частоты, от вектора-турбо+ не поддерживается, прошивки загрузчика от него тоже нет.

В эмуляторе VV режим 12 МГц имеет и "нецелевое" применение - позволяет быстрее загружать wavы.

Jons
21.02.2009, 19:41
Спасибо ivagor :smile:

Ramiros
21.02.2009, 21:14
Можно я тут вклюнюсь со своими вопросами? У меня всего 2, собирается ли Игорь Титарь в своём эмуле прикрутить поддержку винта? (и второй) поюзав эмуль я обнаружил что скорость проца можно выставить на 12 МГц, существует ли реальный Вектор с таким процом и как с этим процом живут м/сх и периферия?

прикручивать винт я как бы несобирался, помоему это самая невостребованная железяка для вектора и делать ее для галочки смысла невижу, есть более интересные вещи, например RTC до которого руки как-то недоходят :)
по поводу эмулятора могу сказать, что там есть много разных опций, чего нет на векторе, т.к. эмулятор сделан с прицелом на творческих людей, которым нужны различного рода инструменты

Ramiros
22.02.2009, 20:32
Обновил VV 5.68 исправил ошибку в эмуляции таймера которая вешала дисковую игру КАРТЫ, может и еще где проявлялась, были еще какие то мелкие поправки уже сам забыл какие :)