Speccy - наш выбор!

Speccy - наш выбор! (http://zx-pk.ru/index.php)
-   Вектор (http://zx-pk.ru/forumdisplay.php?f=55)
-   -   Вектор-06Ц: Эмуляция (http://zx-pk.ru/showthread.php?t=8634)

ivagor 16th October 2009 09:10

Получилось плавно в текущей версии VV 5.91.
PowerStripом сделал кадровую 50 Гц, к счастью мой монитор ее поддерживает. Если в VV сделать разрешение 288x288 или 576x288 (в окне!) то все идеально и плавно, но мелко и соотношение сторон при 576x288 неприятное.
Если сделать 576x576, то по векторовскому окошку перемещается полоса-"разрыв". Когда она выходит за пределы видимой области - все ОК, но она делает круг и возвращается. При полноэкранном с 50 Гц - тоже самое. Если бы получилось это исправаить - было бы идеально.

b2m, настройка разрешения для полного экрана нужна, а то для 640x350 не получится сделать 50 Гц.

b2m 16th October 2009 11:17

Only for ivagor
Сделал настройку частоты кадров Вектора, магические строчки такие:
Code:

vid : V06c-Video {
  vrtcfreq=60

Чтобы Вектор "ничего не заметил", можно установить тактовую частоту 3600KHz

ivagor 16th October 2009 11:31

b2m, стало плавно, спасибо. Для полного счастья не хватает возможности задания разрешения для полного экрана, а то, как я писал выше, в 640x350 у меня монитор на 50 Гц не удается настроить. Желательно также сделать настройки масштабирования по x и по y для полноэкранного режима (на случай, если большое увеличение при большом разрешении будет тормозить).

---------- Post added at 12:31 ---------- Previous post was at 12:30 ----------

И все же интересно, как Ramiros сделал синхронизацию в оконном режиме.

b2m 16th October 2009 11:51

Секрета нет, я использую разные методы вывода: в полноэкранном делается Flip, он синхронизирован с кадровой развёрткой, а в окне я делаю просто Blt, при этом появляется возможность растягивать изображение.

ivagor 16th October 2009 12:00

Ramiros, извини, я тут выше тебя слегка критиковал, оказалось не по делу. Надо было всего лишь включить Wait VSync. Теперь и в окне при любом увеличении, и в полноэкранном все плавно.

b2m 20th October 2009 11:56

Quote:

Originally Posted by ivagor (Post 225752)
настройка разрешения для полного экрана нужна, а то для 640x350 не получится сделать 50 Гц.

Сделал я настройку, как обычно через конфиг (думы о портировании на другие платформы приводят к тому, что пользовательский интерфейс нужно делать как-то иначе, а пока всё через конфиг).

Имей ввиду, что масштабирование только целочисленное, по ширине максимум в два раза, по высоте - в 4.

Только я так и не могу понять, почему в полноэкранном режиме такая загрузка процессора...

svofski 22nd October 2009 00:25

Сейчас заметил в последнем VV: если файл .rom на диске изменился, VV как будто бы этого не замечает. Я выбираю File->Open, то же имя, но другое содержание, VV показывает старую картинку.

Кстати, MRU файлы в b2m -- чрезвычайно удобная для хаканья вещь.

Между тем проапдейтил улитку и таблицу цветов.

ivagor 22nd October 2009 10:46

Quote:

Originally Posted by svofski (Post 227075)
Кстати, MRU файлы в b2m -- чрезвычайно удобная для хаканья вещь.

Что за файлы?

svofski 22nd October 2009 12:43

Quote:

Originally Posted by ivagor (Post 227108)
Что за файлы?

Most recently used: те, что появляются в меню File->1/2/3..

Ramiros 22nd October 2009 13:02

Немного оптимизировал код видеодвижка, удвлось снизить загрузку CPU на 3..4%.
Tim0xA, обнови эмуль.

Tim0xA 22nd October 2009 15:23

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

b2m 22nd October 2009 22:15

Quote:

Originally Posted by svofski (Post 227075)
Кстати, MRU файлы в b2m -- чрезвычайно удобная для хаканья вещь.

А Drag&Drop ещё круче, особенно когда хочется много музыкальных файлов послушать. :)

svofski 22nd October 2009 22:57

Quote:

А Drag&Drop ещё круче, особенно когда хочется много музыкальных файлов послушать.
Тоже не отказался бы =) Но обычный цикл отладки у меня: транслировать прелесть, yes, yes, alt+f - 1. Удобно, все действия легко усваиваются спинным мозгом и не требуют потом никаких дополнительных ресурсов организма.

sergey2b 23rd October 2009 16:05

Tim0xA,

exolon c http://www.sensi.org/~svo/scalar/ не запускаеться на последнем VV

ivagor 23rd October 2009 16:14

Странно, у меня работает.

b2m 23rd October 2009 16:28

exolon.rom - упакованная версия, работает всегда
exolond.com - дисковый вариант, работает только из микродоса
exolonl.rom - неупакованный вариант плюс какая-то добавка, из-за которой затирается AA55 по адресу 7FFE, поэтому не считается правильным ROM-файлом. В моём эмуляторе работает только через File/Open

Tim0xA 23rd October 2009 16:31

sergey2b, нужно подержать РУС/LAT, чтобы "звездочки по экрану забегали".

ivagor 23rd October 2009 16:34

Сорри за оффтоп, потом сотру
Приведенные выше посты можно рассматривать как результат психологического теста :)

Tim0xA 23rd October 2009 16:40

Quote:

Originally Posted by ivagor (Post 227334)
Сорри за оффтоп, потом сотру
Приведенные выше посты можно рассматривать как результат психологического теста :)

Сейчас еще svofski отпишется и ты нам выдай результаты психоанализа ;)

---------- Post added at 14:40 ---------- Previous post was at 14:38 ----------

А вообще-то мы все тут немножко больны...

sergey2b 23rd October 2009 17:06

Tim0xA,
нужно подержать РУС/LAT, чтобы "звездочки по экрану забегали".

большое спасибо, все работает

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

я узнал о вектер несколько недель назад когда купил de1
жаль что не знал в 91 году отличная машинка для программирования была (помоему лучше синклера если не для игр)

ZEman 10th November 2009 09:17

Ramiros, твой эмулятор вектора пожалуй самый лучший, хочу попросить о небольшом исправлении, может это ктото посчитает придиркой, но...
у эмулятора есть неприятное свойство заедать и издавать треск когда его хватаешь за верхнюю панель (самая верхняя часть экрана эмулятора, где написано название) а также при входе - выходе в режим Full screen.
нельзя ли это както исправить ?

Tim0xA 16th November 2009 15:31

VV 6.01 на сайте

ZEman 16th November 2009 20:46

спасибо за доработку, так намного лучше. :)

незнаю всё ли в эмуляции вектора реализовано, но вот какая у меня идея появилась.
эмуляторы вектора понимают только один вид касет - wav файлы, но держать колекцию wav неудобно, много места занимают, да и вообще это както сыровато.
возможно ли создание какогонибудь нового типа кассетных образов (типа tap или tzx как на спектруме) ?

b2m 16th November 2009 22:14

А чем .rom не устраивает?

ZEman 17th November 2009 07:59

rom - это образы пзу или картриджей.
а я говорил про касеты.

Vadik 17th November 2009 09:18

Quote:

Originally Posted by ZEman (Post 232855)
rom - это образы пзу или картриджей.
а я говорил про касеты.

ROM-это самый обычный кассетный формат для Вектора

ZEman 17th November 2009 10:00

нет.
они грузятся как снапшоты (снимки памяти).
попробуйка загрузи rom как касету, чтоб с реальной скоростью и звуком загрузки с ленты.

---------- Post added at 12:00 ---------- Previous post was at 11:38 ----------

Ramiros, я обнаружил ещё одну интересную ошибку в твоём эмуляторе.
эмулятор зависает если окно некоторое время неактивно.

например:
запускаю игру DEAR-BST.ROM, жму мышкой на центре экрана эмулятора, эмулятор входит в паузу (чёрный экран), ждём секунд 20 - 30, снимаем паузу...
ничего не происходит, эмулятор висит.

Ramiros 17th November 2009 12:34

Quote:

Originally Posted by ZEman (Post 232865)

Ramiros, я обнаружил ещё одну интересную ошибку в твоём эмуляторе.
эмулятор зависает если окно некоторое время неактивно.

например:
запускаю игру DEAR-BST.ROM, жму мышкой на центре экрана эмулятора, эмулятор входит в паузу (чёрный экран), ждём секунд 20 - 30, снимаем паузу...
ничего не происходит, эмулятор висит.

Странно, попробовал, у меня ничего независает.
У кого еще зависает?

Tim0xA 17th November 2009 13:00

1 Attachment(s)
Кассетные образы в формате бейсика поддерживаются эмулятором b2m, для остальных форматов, видимо, нужно делать какие-то настройки в конфигурационном файле. На данный момент образы загружаются практически мгновенно (что меня лично устраивает), т.к. не несут в себе указания скорости загрузки. Но хотелось бы также иметь возможность загружать файлы в кассетных форматах ROM,PAS,ASM,MON.

Если b2m раскроет секрет, как можно самостоятельно настроить конфиг (если этого достаточно), чтобы поддержать другие форматы, это было бы здорово.

Кстати, а ведь Zeman прав. Если реализовать эмуляцию ленты, то можно было бы сделать tap-образ с cas-образами программ, например, стандартной кассеты из базовой поставки, просто склеив несколько cas-файлов в форматах ROM, BAS, MON, ASM (с паузами). "Скорость движения ленты", "счетчик ленты" - это всё было бы очень прикольно, но для этого нужно дорабатывать эмулятор. Мечтать не вредно, правда, b2m ;)

Zeman, вот игра "Бизнес" в формате cas (basic), конвертер bas2cas http://zx.pk.ru/showthread.php?t=9997

В приложении также пример файла Тест ТП в формате cas (rom), только грузить его некуда.

b2m 17th November 2009 13:11

Какой уж там секрет. Просто бейсиковские процедуры перехватываются, а очередной байт из файла подставляется в регистр. Наверное можно и процедуры загрузчика перехватить, только у вас же мульён загрузчиков и процедуры чтения байта в разных местах сидят...

ZEman 17th November 2009 13:12

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

Ramiros 17th November 2009 13:13

Эмуляция ленты и так уже сделана. Я непредставляю как вы хотите загружать мгновенно касетные файлы, для загрузки таких файлов придется ждать, так же как и при загрузке wav. То что сделано в b2m называется перехват функций написанных в машинном коде и это нужно делать идивидуально для каждой программы (бейсика, монитора, ассемблера и т.д.) как мне кажется это несовсем здоровый подход.

b2m 17th November 2009 13:15

Quote:

Originally Posted by Ramiros (Post 232904)
перехват функций написанных в машинном коде и это нужно делать идивидуально для каждой программы (бейсика, монитора, ассемблера и т.д.) как мне кажется это несовсем здоровый подход.

Согласен, это как искусственное сердце - не совсем как природа задумала, но работает :)

Ramiros 17th November 2009 13:19

Давайте переименуем wav в tap и сделаем вид что это новый формат, а в эмулях добавим маску для таких файлов :)

ZEman 17th November 2009 13:19

а кто сказал что касетные файлы должны загружаться мгновенно.
кто захочет их загрузить быстро, просто ускорит эмулятор и всё.
возьмите к примеру тотже спектрум, например игрушка Cybernoid в виде tap файла весит всего 36 кб, тогда как wav 10 mb.
разница очень заметна, особенно если колекция большая.
загружается и wav и tap файл одинаково, со звуком загрузки и полосками.
я хочу чегото подобного.

Tim0xA 17th November 2009 13:24

Quote:

Originally Posted by ZEman (Post 232908)
а кто сказал что касетные файлы должны загружаться мгновенно.
кто захочет их загрузить быстро, просто ускорит эмулятор и всё.

Верно, а кому нужно - воспользуется перехватом функций.

Вот у меня допустим есть n-ное количество программ в форматах ASM,MON,PAS. Выкладывать из в WAV-формате мне как-то не очень хочется. А в CAS я бы выложил.

ZEman 17th November 2009 13:28

хоть один понимающий человек нашёлся :)

Tim0xA 17th November 2009 13:28

Кстати, помнится в эмуляции ПК-8000 было такое - одни CAS-ы грузились долго (а-ля WAV), другие грузились с перехватом функций. Вот для Вектора тоже нужно что-то в этом духе.

Ramiros 17th November 2009 13:31

В спектруме там скорее всего процедуры загрузки зашиты в PZU и там сделал 1 раз и навсегда, а писать эти перехватчики для каждой проги я небуду, т.к. это вопервых куча лишних проверок, что сказывается отрицательно на быстродействии эмулятора, а во вторых это просто муторно. Я чесно говоря нелюблю разбираться в коде програм для ВМ80.

Tim0xA 17th November 2009 13:38

Ramiros, по поводу перехвата функций я не настаиваю. Достаточно того, что есть у b2m. Речь идет больше о том, чтобы иметь возможность загружаться не из WAV, а из CAS-файла. С той же скоростью. Т.е. на вход компаратора подавать битики 0,1 из CAS, а не уровень сигнала из WAV.


All times are GMT +4. The time now is 23:41.

Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.