Вход

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



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

Ramiros
24.02.2009, 20:24
VV_5.69 учтены особенности очистки (форматирования) RAM диска

Tim0xA
24.02.2009, 21:32
Эмуль на сайте

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

прикручивать винт я как бы несобирался, помоему это самая невостребованная железяка для вектора и делать ее для галочки смысла невижу, есть более интересные вещи, например RTC до которого руки как-то недоходят
Все-таки надеюсь, что винт тоже со временем появится. Я специально приобрел переходник IDE<->CF для того, чтобы прикрутить когда-нибудь CF к своему Вектору. Некоторые вещи было бы удобно предварительно протестировать в эмуляторе, например, загрузчик, различные версии ОС.


особенности очистки (форматирования) RAM диска
Эти изменения также нужно учесть и в эмуляторе b2m.

Ramiros
02.03.2009, 18:54
в версии VV 5.70 добавлена поддержка жейстиков П (или ПУ), USPID (Байт), а также пофиксил один неприятный момент - когда окно эмулятора неактивно и на него щелкнуть мышью, сразу выскакивало меню, что как мне кажется было неудобно.

MAF
18.03.2009, 05:23
Тееек-с... а у меня под w2k prof эмулятор жить ни разу не хочет...

b2m
18.03.2009, 12:16
MAF, мой или VV?

MAF
18.03.2009, 18:08
MAF, мой или VV?
Virtual Vector причем пробовал несколько версии.

Ramiros
18.03.2009, 19:57
MAF, попробуй приоритет для CPU->CPU Thread Priority выбрать Idle или Lowest, неплохо бы описать проблему, я же не телепат
еще необходимо чтоб в системе был установлен OpenGL, DirectX 7.0 или выше, обязательно наличие звуковой карты

MAF
19.03.2009, 04:30
MAF, попробуй приоритет для CPU->CPU Thread Priority выбрать Idle или Lowest, неплохо бы описать проблему, я же не телепат
еще необходимо чтоб в системе был установлен OpenGL, DirectX 7.0 или выше, обязательно наличие звуковой карты
Не доходит до этого - при старте:
Access violation at address 00404ca2 in module 'VVector.exe'. Read of address 000000F8
Кликаешь ок, следующий:
Access violation at address 77e26679 in module 'user32.dll'. Read of address 5f34564e

Ну и так далее и тому подобное. Дальше только срубать из таскменеджера, бо так закрываться не хочет...

Ramiros
22.03.2009, 20:31
Обновил VV_5.71 исправил ВМ80, ВМ1, добавлен осциллограф звукового буффера.

Добавлено через 8 минут
Странно, программа clock.com работает в VV где нет эмуляции RTC.
а как в dos201 увидеть текущее время с RTC ?

b2m
22.03.2009, 20:52
программа clock.com работает в VV где нет эмуляции RTC
Я когда тестировал RTC, тоже удивился, что она не обращается к нужным портам. :) Это просто "говорилка".

Ramiros
22.03.2009, 21:02
Я когда тестировал RTC, тоже удивился, что она не обращается к нужным портам. :) Это просто "говорилка".

чем тогда тестировать? а то я тоже подумываю добавить РТС.

Tim0xA
22.03.2009, 21:52
чем тогда тестировать? а то я тоже подумываю добавить РТС.
К DOS201 есть описание, там сказано, как включать часы и устанавливать время.


Показания часов индицируются в правом верхнем углу
экрана. Они могут быть там постоянно, во время работы практичес-
ки любой дисковой программы. Иногда они мешают (при работе в
редакторе сидят на верхней строке), тогда их можно отключить
нажатим УС+СС. Следующее нажатие УС+СС включает их и т.д. Одно
маленькое неудобство: первой нужно нажимать УС, а потом СС.
Отпускать как угодно.
В DOS201 команды <2> и <3> работают вовсе не с магнито-
фоном (хотел бы я знать - кто-нибудь когда-нибудь использовал
эти команды?). Команда 3 теперь работает с часами. Ввод ее без
параметров выводит показания часов в две строки таким макаром:

A>3
21:34:15 т.е. 21 час, 34 минуты, 15 сек.
12/08/94 Вт т.е. 12 августа 1994 года, вторник

С помощью команды <3> можно переустановить показания
часов.
A>3 21:13:35 установит 21ч 13м 35с
A>3 20:32 установит 20ч 32м, секунды не изменяются
A>3 20/09/94/2 установит 20 сентября 1994 г., вторник
A>3 20.09.94.2 сделает то же самое
A>3 23.10 установит 23 октября, год и день недели прежние
A>3 23/10 то же
A>3 5/2.93 установит 5 февраля 93 года, день недели прежний
и т.д. и т.п.

Tim0xA
08.04.2009, 00:30
Новая версия эулятора VV 5.74 на сайте. Добавлена эмуляция RTC.

ZEman
08.04.2009, 15:47
а что такое это RTC ?

b2m
08.04.2009, 16:03
Real Time Clock

Tim0xA
15.04.2009, 13:49
Ramiros, если делать захват аудио в режиме "For Tape" при максимальной скорости эмуляции (Alt+F10), то записанный файл потом невозможно загрузить. Еще опция "For Tape" не запоминается при выходе из эмулятора. Также в добавок к опции "For Tape" была бы удобна опция автоматического начала захвата, как только на магнитофонный выход пошел первый бит. И через некоторый период можно останавливать запись, если на выходе больше нет изменений.

Ramiros
15.04.2009, 19:10
Ramiros, если делать захват аудио в режиме "For Tape" при максимальной скорости эмуляции (Alt+F10), то записанный файл потом невозможно загрузить. Еще опция "For Tape" не запоминается при выходе из эмулятора.
Ясное дело, CPU считай работает на 12 MHz! Используй для ускорения (Ctrl+F10).

Tim0xA
15.04.2009, 19:20
Ясное дело, CPU считай работает на 12 MHz!
Но это же не мешает грузиться из WAV-файла в режиме "CPU Speed - Fast". Ты же как-то синхронизируешь подачу данных из WAV-файла на виртуальный магнитофонный вход в зависимости от скорости CPU. Почему бы не сделать так и для захвата?

Ramiros
15.04.2009, 19:36
Но это же не мешает грузиться из WAV-файла в режиме "CPU Speed - Fast". Ты же как-то синхронизируешь подачу данных из WAV-файла на виртуальный магнитофонный вход в зависимости от скорости CPU. Почему бы не сделать так и для захвата?

Да, магнитофон действительно привязан к тактам процессора, а вот с захватом сложнее, он привязан к нотификаторам DirectSound и его цель писать звук как есть, (For Tape это всего лишь отключение ненужных каналов и смена формата выходного файла), а в файл информация пишется паралельно DirectSound буфферу, поэтому для коректной записи необходимо чтобы CPUSpeed = Normal.

Tim0xA
15.04.2009, 19:46
Меня интересует именно "For Tape". Можно для этого режима привязаться к тактам процессора?

ivagor
15.04.2009, 19:53
А если что-то вроде такого - при повышенной частоте проца писать в файл с большей частотой дискретизации? Т.е. при 6 МГц писать 44100, потом можно в SF поменять частоту, хотя это может и эмулятор сам сразу делать.

Ramiros
15.04.2009, 20:06
Меня интересует именно "For Tape". Можно для этого режима привязаться к тактам процессора?

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

А чем неустраивает пропорциональное увеличение быстродействия повышением частоты кадров? допустим при 100Гц скорость CPU получается равной 6МГц и при этом DXSound перестраивается на другой режим, и запись получается нормальной, а нехватка ресурсов, связанная с увеличением частоты кадров высвободится за счет Auto Frame Skip (если он включен).

Tim0xA
15.04.2009, 21:31
при 100Гц скорость CPU получается равной 6МГц и при этом DXSound перестраивается на другой режим
Вот теперь понятно, что ты имел в виду, когда упомянул про Ctrl+F10, а то я очень далек от всех этих нюансов работы DirectX. Это выход конечно, хоть и не самый лучший, т.к. все время надо что-то переключать и помнить об этом.

Ramiros
16.04.2009, 08:43
Меня интересует именно "For Tape". Можно для этого режима привязаться к тактам процессора?

Почасав немного репу, всетаки придумал как это сделать :) , в новой версии сделаю

Добавлено через 11 часов 42 минуты
Tim0xA, Готово, VV_5.75. Есть правда некоторые ограничения, от которых избавится неудалось: 1. Во время захвата блокируется возможность переключения скорости процессора т.к. это переключение приведет к помехе в wav файле, поэтому переключать CPU Speed нужно перед захватом; 2. Нежелательно лазить в меню во время захвата по тем же причинам.

Добавлены акселераторы для аудиозахвата, опция For Tape теперь сохраняется.

b2m
18.04.2009, 10:18
а эмулятор у меня все так же не живет... Обломъ-с
Что, и мой тоже?

Ramiros
22.04.2009, 18:13
В VV_5.77 появился режим эмуляции видеоадаптера "Криста-2"

ivagor
25.04.2009, 07:29
Ramiros, в следующей версии может сделаешь переключение частоты ВИ53 1,25/1,5 МГц?

Ramiros
25.04.2009, 10:16
Ramiros, в следующей версии может сделаешь переключение частоты ВИ53 1,25/1,5 МГц?

Зачем? ВИ53 и так привязан к частоте CPU, другое дело когда частота CPU изменяется более чем в 2 раза по отношению к стандартной, тогда включается дополнительный делитель кратный 2, чтобы звук был в приемлемом диаппазоне, (помоему ты сам просил сделать такую поправку).

ivagor
25.04.2009, 13:16
ВИ53 и так привязан к частоте CPU

когда частота CPU изменяется более чем в 2 раза по отношению к стандартной, тогда включается дополнительный делитель кратный 2

помоему ты сам просил сделать такую поправку
Думал, ты зафиксировал частоты ВИ53 и AY на 1,5 и 1,75 (не проверял), т.к., насколько помню, я просил именно этого. Если частота ВИ53 привязана к частоте процессора, это даже лучше.

Ramiros
25.04.2009, 18:36
Думал, ты зафиксировал частоты ВИ53 и AY на 1,5 и 1,75 (не проверял), т.к., насколько помню, я просил именно этого. Если частота ВИ53 привязана к частоте процессора, это даже лучше.

с AY все гораздо проще, частота 1.75 внутренне делится еще на 16 что дает 110 КГц, или если взять за опорное 3 МГц, то делить надо на 27, при таком коэффициенте деления практически для любой частоты CPU можно легко расчитать делитель, чтобы в рзультате всегда получилось примерно 110 КГц.

Ramiros
28.04.2009, 18:27
Обновил VV_5.78 Исправленны некоторые ошибки в генерации звука, проявлялись в некоторых диаппазонах частот CPU

Ramiros
08.05.2009, 22:55
Подключил к компу джойстик и обнаружились пороблемы с его поддержкой в эмуляторе.
Обновил VV_5.79, изменения коснулись только поддержки реального джойстика. Еще появилась возможность связать реальный джойстик с виртуальными.

Tim0xA
22.06.2009, 17:42
Новая версия эмулятора на сайте. Исправлен баг с AY, звук стал чище без щелчков.

ZEman
23.06.2009, 05:20
вроде бы и на более ранних версиях звук был чистым.
но в любом случае спасибо что эмуль не забрасываете :)

Tim0xA
30.06.2009, 10:39
VV 5.84 на сайте: добавлена инверсия и режим моно для AY.

ivagor
30.06.2009, 16:25
Смотрел игрушки на бейсике, хочу привести один мелкий факт по точности эмуляции. Игра ARKANOID в VV работает нормально ( еще бы :) ), а в b2m ракетка вправо-влево не двигается. Вроде Tim0xA уже как-то писал на примере своей программы, что в b2m состояние каких-то битиков порта 1 по умолчанию неверное, вот еще одно подтверждение.

b2m
30.06.2009, 17:10
Где игрушки на бейсике брал? Может, посмотрю, в чём дело.

ivagor
30.06.2009, 17:33
Где игрушки на бейсике брал?
vector06c.narod.ru, раздел ИГРЫ, СОФТ

---------- Post added at 19:33 ---------- Previous post was at 19:27 ----------

ARKANOID - на 1м диске

b2m
30.06.2009, 17:45
Спасибо, понял уже. Эти файлы я, оказывается, ещё не скачивал.

Tim0xA
08.07.2009, 09:54
Эмулятор VV 5.85 на сайте. Добавлен захват регистров AY (см. описание в мануале).

b2m
08.07.2009, 16:27
Я тоже выложил новую версию, ошибку с битом порта 1 исправил.

ivagor
13.07.2009, 20:10
Ramiros, какая частота используется в VV для AY? В b2m это видно из конфига (примерно 1.7778 МГц).

Ramiros
15.07.2009, 09:46
Ramiros, какая частота используется в VV для AY? В b2m это видно из конфига (примерно 1.7778 МГц).

1777777,7777777777777777777777778

вообще принцип простой - как известно в AY есть внутрений делитель равный 16, поэтому основная внутренняя частота AY F=1773400/16=110837,5 Гц.

В эмуляторе эта частота получается с помощью деления частоты CPU на коэффициент равный 27 т.е. F=3000000/27=111111,11 Гц. что соответствует частоте Fclock=1777777,8.

Разумеется для другой частоты CPU коэффициент расчитывается по формуле и будет другой. и результат будет наиболее близкий к значению 1773400.

svofski
26.09.2009, 21:16
Хмм.. ну так что, кто первый напишет эмулятор Вектора на JS, чтобы заменить им скриншоты в Базисе? =)

Tim0xA
01.10.2009, 13:21
Эмулятор VV 5.86 на сайте!

Tim0xA
05.10.2009, 12:36
b2m, расскажи откуда в эмуляторе взялись модули *.obj для проигрывания музыки на Векторе?

В приложении еще один модуль для формата RMP. Треки можно взять на диске http://www.sensi.org/~svo/scalar/ware/609/



rmp : loader {
config="Vector06c"
loadaddr=1800
cmd[0].init="mm:000000000000000000000000"
cmd[1].load="Vector06c\rmp.obj"
cmd[1].loadaddr=100
}

b2m
05.10.2009, 12:52
stmview.obj - просто переименовал stmview.com с диска stmpro.fdd, его же я использовал в clrs, обрезав начало, чтобы было место непосредственно для clrs.
Остальные - исходники плееров для ZX взяты с сайта Бульбы и адаптированы под порты Вектора. Именно поэтому используется конфигурация с процессором Z80.

А начало положил ivagor, который выкладывал pt3 плеер для Вектора. Как я понял, исходники он брал на том-же сайте Бульбы.

ivagor
05.10.2009, 13:40
Справедливости ради, пионер реализации концепции плееров к эмулятору на векторе - Роман Пантелеев.

ZEman
13.10.2009, 04:33
а насколько полна к данному моменту эмуляция вектора ?
это всё, так сказать последний штрих или чтото ещё осталось нереализованным ?

Tim0xA
13.10.2009, 17:41
VV 5.90 на сайте! Новый видеодвижок.

ivagor
15.10.2009, 09:42
Запустил на реале полет (http://sensi.org/~svo/scalar/ware/7/), там скроллинг плавный, без рывков. А в b2m и VV (и в ve27) у меня заметна небольшая "неплавность". Может это проблемы моего PC, но пока верю в это с трудом (AthlonX2 3800, GeForce8600GT). Tim0xA, если не сложно, тоже сравни.

Tim0xA
15.10.2009, 10:31
Запустил на реале полет, там скроллинг плавный, без рывков. А в b2m и VV (и в ve27) у меня заметна небольшая "неплавность". Может это проблемы моего PC, но пока верю в это с трудом (AthlonX2 3800, GeForce8600GT). Tim0xA, если не сложно, тоже сравни.
Я тоже это заметил, есть такая проблема.

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

ivagor
15.10.2009, 20:40
Я так понимаю, это из-за разницы кадровых частот. Теоретически, если выставить графической карте 100Гц, то "дёргания" быть не должно, но появится другой эффект, и плавно это тоже не будет казаться. Отсутствие "дёргания" для нашего глаза достигается только в том случае, если в каждом кадре картинка сдвигается на одинаковые расстояния.
Это, конечно, наиболее вероятная причина, но думаю, что она не единственная. В эмуляторе VV устанавливал display frequency 60 Hz, частота обновления монитора (ЖК) 60 Hz, пробовал на двух компах - еще хуже, чем при display frequency 50 Hz. Правда, может я неправильно понимаю, что в VV меняет эта настройка, но предполагаю, что при display frequency 60 Hz прерывания случаются не через 20 мс, а через 16.7 мс. Частоту вектора при этом пробовал 3 МГц, 3.6, 6 - все одинаково (игрушка Полет).
b2m, можешь в экспериментальных целях попробовать сделать частоту прерываний вектора равной частоте обновления монитора, с пропорциональным увеличением тактовой частоты вектора, чтобы число тактов между прерываниями не изменилось? Я говорю не про публичный релиз, просто сам попробуй, если не трудно.
Как вариант, можно добавить фильтрацию, чтобы уменьшить эффект от несовпадения частоты кадров вектора и монитора, хотя это будет тормоз.

b2m
15.10.2009, 21:01
Вобщем так: действительно, при 60 Гц не дёргается, НО, только в полноэкранном режиме. В оконном режиме дёргается, но связано это с отсутствием синхронизации с кадровым СИ монитора.

---------- Post added at 22:01 ---------- Previous post was at 21:57 ----------

Кстати, я даже не изменял тактовую частоту. Могу для Вектора вынести частоту кадров (и соответственно частоту прерываний) в конфиг, если надо :)

ivagor
15.10.2009, 21:02
Может тогда добавишь в конфиг настройку частоты прерываний (для хардкорных бездергальщиков)? Слово какое-то почти нецензурное получилось.
А как насчет фильтра в перспективе?

---------- Post added at 23:02 ---------- Previous post was at 23:02 ----------

Пока я писал, ты уже дописал :)

b2m
15.10.2009, 21:17
Ладно, будет тебе частота прерываний :)
Бездергальщик (ударение на букву "а") ;)

---------- Post added at 22:17 ---------- Previous post was at 22:12 ----------

Глядя на полноэкранный режим, так и хочется добавить ещё и "предпочтительный" режим для каждой конфигурации. Интересно, какой из стандартных режимов подошёл бы для полноэкранного Вектора? Требуется наиболее близкое к 576x288 ... Плюс возможность отключать этот дурацкий индикатор РУС/ЛАТ ...

ivagor
15.10.2009, 21:27
Бездергальщик (ударение на букву "а")
Чё :v2_finge: ?


Глядя на полноэкранный режим, так и хочется добавить ещё и "предпочтительный" режим для каждой конфигурации. Интересно, какой из стандартных режимов подошёл бы для полноэкранного Вектора? Требуется наиболее близкое к 576x288 ... Плюс возможность отключать этот дурацкий индикатор РУС/ЛАТ ...
1152x864 или 1280x1024 (во втором случае останется место для индикаторов и совершенно случайно, у меня как раз такое разрешение монитора)
Хотелось бы кроме РУС/ЛАТ, который тебе не нравится, еще и индикатор FDD.

b2m
15.10.2009, 21:55
Хотелось бы без StretchBlt, производительность падает...

Tim0xA
15.10.2009, 23:06
Хотелось бы кроме РУС/ЛАТ, который тебе не нравится, еще и индикатор FDD
и EDD

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

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

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


vid : V06c-Video {
vrtcfreq=60

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

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

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

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

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

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

b2m
20.10.2009, 10:56
настройка разрешения для полного экрана нужна, а то для 640x350 не получится сделать 50 Гц.
Сделал я настройку, как обычно через конфиг (думы о портировании на другие платформы приводят к тому, что пользовательский интерфейс нужно делать как-то иначе, а пока всё через конфиг).

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

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

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

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

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

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

svofski
22.10.2009, 11:43
Что за файлы?

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

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

Tim0xA
22.10.2009, 14:23
Выложил новую версию на сайт

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

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

sergey2b
23.10.2009, 15:05
Tim0xA,

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

ivagor
23.10.2009, 15:14
Странно, у меня работает.

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

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

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

Tim0xA
23.10.2009, 15:40
Сорри за оффтоп, потом сотру
Приведенные выше посты можно рассматривать как результат психологического теста :)
Сейчас еще svofski отпишется и ты нам выдай результаты психоанализа ;)

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

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

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

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

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

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

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

Tim0xA
16.11.2009, 14:31
VV 6.01 на сайте

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

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

b2m
16.11.2009, 21:14
А чем .rom не устраивает?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

b2m
17.11.2009, 12:15
перехват функций написанных в машинном коде и это нужно делать идивидуально для каждой программы (бейсика, монитора, ассемблера и т.д.) как мне кажется это несовсем здоровый подход.
Согласен, это как искусственное сердце - не совсем как природа задумала, но работает :)

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

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

Tim0xA
17.11.2009, 12:24
а кто сказал что касетные файлы должны загружаться мгновенно.
кто захочет их загрузить быстро, просто ускорит эмулятор и всё.
Верно, а кому нужно - воспользуется перехватом функций.

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

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

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

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

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

ivagor
17.11.2009, 12:44
Уже поднимался вопрос с CSW, но ничем не закончился, может все же его реализовать?

---------- Post added at 14:43 ---------- Previous post was at 14:42 ----------

Проблему размера WAVов это в значительной степени решит.

---------- Post added at 14:44 ---------- Previous post was at 14:43 ----------

Или, как вариант, добавить прозрачную для пользователя распаковку wavов из zip или rar.

b2m
17.11.2009, 12:49
Я делал, как-то, эмуляцию битиков, но для РК86, Юниора и Спекки. Именно поэтому кроме .wav в диалоге открытия файла для эмуляции кассеты есть *.rk, *.bt и *.tzx Однако нужно учитывать скорость записи битов, формат кодирования байта и формат синхро-последовательности с синхробайтом. В принципе, нет ничего невозможного.

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

Вообщето в cas файле хранятся уже готовые байты программы а не биты для компаратора, или я неправ?

Tim0xA
17.11.2009, 12:53
Вообщето в cas файле хранятся уже готовые байты программы а не биты для компаратора, или я неправ?
Да, там хранятся байты, которые состоят из битов. Т.е. берешь байт, пропихиваешь 8 бит в компаратор, берешь следующий байт и т.д.

К слову, ранее выложенный файл testtp.cas я сделал в твоем же конвертере, записывая байт передаваемый процедуре OutByte в отдельный файл.

b2m
17.11.2009, 12:53
Неупакованный CSW (первой версии) можно добавить, а распаковщик (для второй версии) мне показался уж очень объёмным, не хочется добавлять к эмулятору лишние пару десятков килобайт... Хотя упакованный CSW, как правило, раз в 7-8 компактнее.

Ramiros
17.11.2009, 12:55
Можно сконвертировать wav в формат где каждое состояние компаратора будет описыватся одним битом, тогда удастся уменьшить размер образов касет как минимум в 8 раз, это я могу в будущем реализовать, но это ничего общего с существующим cas форматом иметь не будет.

ZEman
17.11.2009, 12:58
В принципе, нет ничего невозможного.

надеюсь.
http://pic.ipicture.ru/uploads/091117/OhK9MP23a2.gif

b2m
17.11.2009, 13:01
Можно сконвертировать wav в формат где каждое состояние компаратора будет описыватся одним битом.
Это и есть формат CSW!!!

ZEman
17.11.2009, 13:02
Ramiros, ну а почему бы и нет, необязательно ведь следовать строго старому формату cas, главное чтоб это работало, грузилось как положенно и весило мало.

Tim0xA
17.11.2009, 13:09
Можно сконвертировать wav в формат где каждое состояние компаратора будет описыватся одним битом, тогда удастся уменьшить размер образов касет как минимум в 8 раз, это я могу в будущем реализовать, но это ничего общего с существующим cas форматом иметь не будет.
Под cas-форматом я не подразумеваю какой-то стандарт от спектрума или еще какой-нибудь там общепризнанный вариант CAS. Это чисто бинарный файл. Я употребляю расширение CAS только чтобы обозначить его отношение к способу записи на кассету. Для "Радио-86РК" подобный файл имеет расширение *.rk

Например для Вектора описан таким образом

-- ФОРМАТ MON ---------------------------------------------------------------
Формат записи на магнитную ленту директивой Монитора W следующий:
1. Вначале записывается заголовок MON и имя файла:
- header 256*0h байт;
- синхробайт 0E6h;
- 4*0D2h байт;
- имя (до 11 байт);
- 3*0h байт.
2. Далее пишется сам файл:
- header 256*0h байт;
- синхробайт 0E6h;
- ст., мл. байт адреса начала;
- ст., мл. байт адреса конца;
- байты файла;
- 1 байт контр. суммы всех байтов без переноса.


Вроде бы всё просто. В чём проблема реализовать это?

По-моему формат где каждое состояние компаратора будет описыватся одним битом не сильно отличается от того, что я предлагаю сделать, а практически то же самое.

Ramiros
17.11.2009, 13:38
а чем этот CSW можно получить?

ZEman
17.11.2009, 13:40
наверно пока ничем.
конвертер нужен

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

ZEman
17.11.2009, 13:48
вот утилита wav2rom у меня сохранилась.

ivagor
17.11.2009, 14:02
CSW 1.30 (http://members.fortunecity.com/shirka/LIBROS_EBOOKS/MANUAL_ESPECTRUM/csw130.zip), там формат описан (все просто). Это первая версия csw (я и не знал, что вторая есть). Хотелось бы вторую, со сжатием, надеюсь b2m подскажет, где найти описание, утилиты и исходники.
Пробовал прогу на бейсике в csw, потом обратно в wav (csw преобразует .csw в .voc, но это не проблема) - читается.

b2m
17.11.2009, 14:24
http://k1.dyndns.org/Develop/projects/zxsp-osx-qt/TapeRecorder/csw.html

b2m
17.11.2009, 14:36
Блин, чёто не гуглится, выложу тут.

Tim0xA
18.11.2009, 12:59
b2m, дай рекомендации по настройке секции "cas : tape-recorder" в конфигурационном файле.

Например, для монитора-отладчика (который зашит в загрузчик, вызов F4+ВВОД+БЛК) я сделал следующее:

biproc[F840-F889]=rk
biproc[F840-F889].check="C5D50E0057DB01E610"

boproc[F89B-F8C4]=sp
boproc[F89B-F8C4].check="C5D5F5573E0232FCFF"

Если использовать в конфиге перехват только для записи или только для чтения, то все ОК. Но если одновременно оба, то запись командой W работает, но вот при чтении файлов командой R монитор вызывает также процедуру по адресу F89B, что вызывает сначала диалог "Сохранить как...", а уже после него появляется диалог "Открыть", но в итоге файл грузится с ошибкой. Как настроить конфиг в этом случае?

Также есть ряд вопросов для уточнения:
1. Что означает rk (формат рк86?), ag (Агат?), sp ? Какие еще есть?
2. Почему для Вектор-бейсика при чтении "rk", а при записи "sp"? А в Радио-86РК "rk" в обоих случаях - и на чтение и на запись.
3. biproc, boproc - input/output бинарных файлов?
4. tiproc, toproc - input/output токенизированных файлов?
5. iproc,oproc -?
6. tproc - ?

b2m
18.11.2009, 14:35
Есть ещё одна фича: просто перепрыгнуть код - это tproc, при помощи её можно обойти этот ненужный CALL.

По поводу вопросов:
Я сам путаюсь, и постоянно лезу в код, чтобы найти подходящий вариант :) Для biproc и boproc это способ передачи параметров, т.е. в каком регистре будет байт, нужен ли поиск синхробайта. Обычно это весьма специфично для каждого компьютера и формата файла, поэтому есть уже такие варианты: rk, sp, mx, zx, bk, bkm, ag. Догадаться, какой для какого компьютера - не сложно :)

tproc - пропуск кода (обычно запись/чтение синхро-тона, которого в файле обычно нет)
iproc,oproc - чтение/запись блока (HL-начало, DE-конец, BC-контрольная сумма)
biproc, boproc - чтение/запись байта (параметры определяются типом, указанным после "=" )
tiproc, toproc - поиск-пропуск/запись синхробайтов, т.е. если формат файла предусматривает "магические" байты для обозначения синхро-тона.

ivagor
18.11.2009, 14:39
есть уже такие варианты: rk, sp, mx, zx, bk, bkm, ag. Догадаться, какой для какого компьютера - не сложно
интересно, все догадываются, что форматы Старта-1200 rk и rkb?

b2m
18.11.2009, 15:00
biproc[]=rk
на входе: А - максимальное количество считываемых бит, либо 8 для нормального чтения, либо 255 для поиска 0xE6
на выходе: А - считанный байт
boproc[]=rk
на входе: C - записываемый байт
запись в файл производится только после получения 0xE6

biproc[]=sp
на выходе: А - считанный байт
boproc[]=sp
на входе: A - записываемый байт
запись в файл производится только после получения 0xE6

biproc[]=mx
на выходе: А - считанный байт
boproc[]=mx
на входе: C - записываемый байт
запись в файл производится сразу

---------- Post added at 17:00 ---------- Previous post was at 16:57 ----------


интересно, все догадываются, что форматы Старта-1200 rk и rkb?
rkb не бывает :)

ivagor
18.11.2009, 15:08
rkb не бывает
на 17:15 18.11.2009 бывает

---------- Post added at 17:08 ---------- Previous post was at 17:07 ----------

время уфимское :)

Tim0xA
18.11.2009, 15:21
Для монитора-отладчика получилось сделать таким образом:



cas : tape-recorder {

; бейсик 2.5

biproc[2B05-2B55]=rk
biproc[2B05-2B55].check="C5D50E0057DB01E610"
boproc[2B60-2B84]=sp
boproc[2B60-2B84].check="C5D5F5570E087A0757"

; монитор-отладчик 3.5

tproc[EDDC-EDE2]=rk
tproc[EDDC-EDE2].check="CD1097FB76F3C9"
biproc[F840-F889]=rk
biproc[F840-F889].check="C5D50E0057DB01E610"
boproc[F89B-F8C4]=sp
boproc[F89B-F8C4].check="C5D5F5573E0232FCFF"

filter="Vector CAS files (*.cas)|*.cas"
ext="cas"
noisefilterfreq=3000
}


Работает и чтение и запись :)

b2m
18.11.2009, 15:21
ivagor, да где?!!
На сайте архив от 04.11.2009, ни в одном из конфигов строчка "rkb" не встречается!

З.Ы. Мы тут не про расширение файлов, а про настройки конфигов беседуем :)

Ramiros
18.11.2009, 15:26
Сделал поддержку формата CSW версии 1.х
У меня такой вопрос - сделать чтобы при открытии файла ленточного образа плейер стартовал автоматически, или оставить как есть - в ручном режиме по Alt+F6 ?

ivagor
18.11.2009, 15:30
Версия 04.11.2009 (как и более ранние) поддерживает rk?, а здесь (http://bashkiria-2m.narod.ru/files/prog/start1200.rar) есть rkb. Ты же не будешь отрицать, что:
1. Файлы rkb существуют (причем на твоем сайте)
2. Их можно загрузить и запустить в твоем эмуляторе, т.е. он их поддерживает
:)

b2m
18.11.2009, 15:32
Для монитора-отладчика получилось сделать ...
Работает и чтение и запись :)
Предлагаешь поместить в официальную версию? :)
Кстати, использовать точку с запятой в качестве обозначения комментария - это не моя идея, но придётся наверное добавить :)

---------- Post added at 17:32 ---------- Previous post was at 17:31 ----------


ivagor, да где?!!
На сайте архив от 04.11.2009, ни в одном из конфигов строчка "rkb" не встречается!

З.Ы. Мы тут не про расширение файлов, а про настройки конфигов беседуем :)
Я пост подправлял...

ivagor
18.11.2009, 15:39
У меня такой вопрос - сделать чтобы при открытии файла ленточного образа плейер стартовал автоматически, или оставить как есть - в ручном режиме по Alt+F6 ?
Может сделать эту опцию настраиваемой?
Здорово бы еще добавить опцию для автоматического ускорения на время воспроизведения csw.

---------- Post added at 17:39 ---------- Previous post was at 17:34 ----------

b2m, тогда такой вопрос (я его и хотел сразу спросить, но не туда уехал :) ) - может для Старта-1200 отдельное расширение ввести?

b2m
18.11.2009, 15:44
Эмуляторов Старта-1200 не много, предлагай :)

ivagor
18.11.2009, 15:54
предлагай
s12
str
ves
vst :)
v12
и т.п.

---------- Post added at 17:54 ---------- Previous post was at 17:50 ----------

или .vs, тогда еще место для b остается.

b2m
18.11.2009, 16:30
А много ли файлов для Старт-1200 существует?

Tim0xA
18.11.2009, 17:16
Предлагаешь поместить в официальную версию?

Вот теперь можно добавлять :)



cas : tape-recorder {

; бейсик 2.5

biproc[2B05-2B55]=rk
biproc[2B05-2B55].check="C5D50E0057DB01E610"
boproc[2B60-2B84]=sp
boproc[2B60-2B84].check="C5D5F5570E087A0757"

; монитор-отладчик 3.5

tproc[EDDC-EDE2]=rk
tproc[EDDC-EDE2].check="CD1097FB76F3C9"
biproc[F840-F889]=rk
biproc[F840-F889].check="C5D50E0057DB01E610"
boproc[F89B-F8C4]=sp
boproc[F89B-F8C4].check="C5D5F5573E0232FCFF"

; лс-паскаль 2.1 (интерпретатор)

tproc[2728-272C]=rk
tproc[2728-272C].check="CD2C0176F3"
tproc[2805-280B]=rk
tproc[2805-280B].check="CD2C01FB76F3C9"
biproc[0AEC-0B35]=rk
biproc[0AEC-0B35].check="C5D50E0057DB01E610"
tproc[2646-2648]=rk
tproc[2646-2648].check="CDA726"
tproc[219D-219F]=rk
tproc[219D-219F].check="CD8C26"
boproc[0B41-0B65]=sp
boproc[0B41-0B65].check="C5D5F5570E087A0757"

filter="Vector CAS files (*.cas)|*.cas"
ext="cas"
noisefilterfreq=3000
}


b2m, твой конфиг невероятно крут!

b2m
18.11.2009, 17:51
Вот теперь можно добавлять :)
Сказано - сделано.


b2m, твой конфиг невероятно крут!
Сам удивляюсь! :)

Кстати, любая строчка, в которой нет символов {}= считается комментарием, так что точку-с-запятой даже не обязательно ставить :rolleyes:

Tim0xA
18.11.2009, 18:45
Кстати, любая строчка, в которой нет символов {}= считается комментарием, так что точку-с-запятой даже не обязательно ставить
Но ты всё-таки сделай поддержку точки-с-запятой, чтобы можно было комментировать строки, в которых есть символы {}=. Так будет легче отлаживать конфиг.

---------- Post added at 17:45 ---------- Previous post was at 17:05 ----------

b2m, а как насчет варианта

boproc[]=???
на входе: A - записываемый байт
запись в файл производится сразу

есть такой?

ZEman
18.11.2009, 19:01
ivagor, полностью с тобой согласен, лучше добавить в эмулятор опцию загружать файлы автоматически или же стартовать потом, ускоренная загрузка тоже не помешает.

Tim0xA, так какой формат будет поддерживаться, cas или csw ?
или другой сделаете, например какойнибудь vcs

Tim0xA
18.11.2009, 20:00
Tim0xA, так какой формат будет поддерживаться, cas или csw ?
Одно другому не мешает.

b2m
18.11.2009, 20:24
b2m, а как насчет варианта

boproc[]=???
на входе: A - записываемый байт
запись в файл производится сразу

есть такой?
Нет. Обычно синхробайт 0хЕ6 пишется той-же самой процедурой, я уж не помню, почему в Специалисте-МХ какая-то другая синхронизация.

Tim0xA
18.11.2009, 22:18
Обычно синхробайт 0хЕ6 пишется той-же самой процедурой
Да, но если бы был режим, в котором в файл записывались все байты, а не только байты после E6, то можно было бы записывать CAS-файлы с преамбулой.

b2m
18.11.2009, 23:05
Сделай себе "преамбулу" и копируй её и записанный файл в третий файл "с преамбулой" командой copy /b :)

Ramiros
19.11.2009, 09:49
Готова новая версия. Сделана поддержка формата CSW версии 1.х, введена опция автопроигрывания при открытии, а также форсирования CPU Speed на время загрузки.
Если включить Auto Run, и отключить эмуляцию FDD (поставить галку Without FDD Controller) то образы ленты достаточно только открыть, а все остальное эмулятор сделает автоматически.
Много полезного написал в мануале, советую почитать.

Кстати в конверторе CSW13.EXE обнаружился один глюк (в данном случае безобидный) - если длинна одной полярности более 255 точек, то в образе она представлена последовательностью $00+4 байта(само значение), так вот эта последовательность зачем то дублируется 3 раза, что увеличивает паузы соответственно тоже в 3 раза.

---------- Post added at 11:49 ---------- Previous post was at 11:47 ----------

Tim0xA, Обнови эмуль

ZEman
19.11.2009, 10:52
а где взять конвертер, чтоб получить CSW файлы ?

Ramiros
19.11.2009, 11:06
а где взять конвертер, чтоб получить CSW файлы ?

Тут выше ivagor выкладывал, но на всякий случай в новой версии я вложил конвертер в папку TAPE

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

ZEman
19.11.2009, 11:25
я ещё могу добавить, то что выложил ivagor, у меня к сожалению не запускается.
пишет что приложение несовместимо с данной версией ос.
видимо это изза 64 битности.
:(

Tim0xA
19.11.2009, 11:41
Tim0xA, Обнови эмуль
Обновил

Ramiros
19.11.2009, 12:12
Вот несколько готовых образов

Tim0xA
19.11.2009, 12:49
Если добавить в секцию "cas : tape-recorder" строки



; эмулятор РК-86/Микроша

biproc[FC32-FC7C]=rk
biproc[FC32-FC7C].check="C5D50E0057DB01E610"
boproc[FC7E-FCFC]=rk
boproc[FC7E-FCFC].check="C5D5F5160879074FE6"

то в эмулятор http://www.sensi.org/~svo/scalar/ware/548 (или http://www.sensi.org/~svo/scalar/ware/547) можно будет загружать программы для РК-86 и Микроши. Правда только те, которые стартуют не с 0000h адреса. К сожалению, таких мало и многие из них подглючивают. Но вот например PACMAN.GAM, PITON.GAM (из архива Пыхонина) работают :)

ivagor
19.11.2009, 14:42
ZEman у тебя какая-нибудь виртуальная машина установлена? Если да, то попробуй в ней. Проще всего, пожалуй в DOSboxе.


Правда только те, которые стартуют не с 0000h адреса. К сожалению, таких мало и многие из них подключивают. Но вот например PACMAN.GAM, PITON.GAM (из архива Пыхонина) работают
У меня кассета есть с игрушками и программками с РК86, которые или сразу шли в эмуляторе или я их слегка подправил. Даже не знаю, что проще, оцифровать (надо снова доставать магнитофон и т.д.) или заново "адаптировать".

ZEman
19.11.2009, 16:50
нету у меня виртуальной машины.
может лучше конвертер встроите в эмулятор ?

ну или на крайний случай подожду когда будут переведены игры и софт в кассетный формат и потом скачаю всё это.

b2m
19.11.2009, 17:57
ZEman, как же так? Главный коллекционер эмуляторов не имеет эмулятора DOSbox!!! :)

ZEman
19.11.2009, 19:05
.....
чтоб...
у меня есть досбокс, но играми от пк я практически не занимаюсь, меня они не интересуют.
моя стихия это 8 и 16 бит.
и ктомуже консольные приложения я терпеть немогу :)

ivagor
20.11.2009, 09:15
Ramiros, попробовал новую версию - уже очень близко, к тому что хотелось бы. Очень желательно все же добавить поддержку прозрачного для пользователя открытия архивов с cas файлами. Т.е. в zip (тогда степень сжатия будет аналогична csw 2 версии) или в rar (лет 10 назад делал такую штуку в одной своей программе на Delphi с использованием какого-то компонента-обертки для unrar.dll, насколько помню, там все просто) или в 7z хранится один csw файл, при его открытии пользователем csw автоматически распковывается и используется как обычно. Или, как вариант, подумай о поддержке csw 2й версии.

Теперь обращение не только к Ramirosу, а ко всем программистам доброй воли. Для полного счастья не хватает утилиток cas2csw и csw2cas (или это может быть одна программа). Например, чтобы загрузить bas в BASIC 2.5 в VV, можно было бы воспользоваться bas2cas и cas2csw.

К слову, для лентяев вроде меня, кому хочется указывать минимум параметров для консольных приложений, версия bas2cas, написанная после Tim0xиной

Ramiros
20.11.2009, 09:59
на бейсике cas файл получается в принципе чистым кодом программы, если несчитать самого начала файла где название и последовательность из одинаковых байт, там нет никаких синхробайтов и контрольных сумм, это такой формат бейсика примитивный, или там просто уже все отфильтровано?

b2m
20.11.2009, 10:26
Перед самой программой идёт синхробайт E6, три байта D3 и байт 00, обозначающих тип данных (бейсик-программа, если 4 байта D3, то это имя бейсик-программы). Повторяющиеся байты 55 плюс синхробайт E6 - это и есть преамбула, она есть и до первого байта cas файла, но её обычно не сохраняют в файле.

Tim0xA
20.11.2009, 10:52
на бейсике cas файл получается в принципе чистым кодом программы, если несчитать самого начала файла где название и последовательность из одинаковых байт, там нет никаких синхробайтов и контрольных сумм, это такой формат бейсика примитивный, или там просто уже все отфильтровано?
Есть двухбайтовая контрольная сумма в конце файла.



-- ФОРМАТ BAS ---------------------------------------------------------------
Формат записи на магнитную ленту директивой CSAVE следующий:

- header 256 байт 0h (?);
- синхробайт 0E6h
- 4 байта 0D3h
- имя (до 127 байт ?);
- 3 байта 0h
- header 256*3 байт 55h
- синхробайт 0E6h
- 3 байта 0D3h
- байт 0h
- байты файла (в конце 3 байта 0h);
- младший байт контр. суммы всех байтов файла без переноса
- старший байт контр. суммы всех байтов файла без переноса



К слову, для лентяев вроде меня, кому хочется указывать минимум параметров для консольных приложений, версия bas2cas, написанная после Tim0xиной
Для еще бОльших лентяев предлагаю "bas2cas2", который объединяет достоинства двух предыдущих ковертеров "bas2cas" и помимо этого позволяет преобразовать все файлы *.bas в текущей директории, если в качестве параметра указать *

bas2cas2 *

Ramiros
26.11.2009, 18:20
Кто нибуть пробовал в бейсике 2.5 писать строки типа:
color 15,color
screen 2,screen
и т.п. ?
Результат забавный получается :)

Jons
26.11.2009, 19:04
в VV прога clrs_.rom с процом Z80 изображение в право смещается, это так и должно быть?


Результат забавный получается
результат действительно забавный:)

Ramiros
27.11.2009, 12:25
в VV прога clrs_.rom с процом Z80 изображение в право смещается, это так и должно быть?



да :) там все привязано к количеству тактов на команду, а так как Z80 некоторые команды выполняет быстрей, то и картинка начинает раньше времени рисоваться. удивительно что она вообще как нибуть по диоганали нерисуется.

ZEman
27.11.2009, 12:58
Ramiros, а ты можешь сделать утилиту rom2csw ?
очень нужно, та что у тебя с эмулятором идёт в комплекте у меня не запускается.
:)

Ramiros
27.11.2009, 14:22
Ramiros, а ты можешь сделать утилиту rom2csw ?
очень нужно, та что у тебя с эмулятором идёт в комплекте у меня не запускается.
:)

Сделаю наверное, но попозже, и не rom2csw, а логичнее сделать wav2csw.

ZEman
27.11.2009, 17:26
можно конеш и так, но это придётся сначала из rom переделывать в wav, а потом wavы конвертить в csw.

Ramiros
28.11.2009, 12:09
можно конеш и так, но это придётся сначала из rom переделывать в wav, а потом wavы конвертить в csw.

Можно сделать и rom2csw но тогда небудет возможности преобразовать bas, mon и т.п. поэтому нужен более универсальный конвертор.

ZEman
28.11.2009, 16:23
лучше наверно тебе надо будет сделать одну прогу обединяющую в себе утилиты rom2wav, rom2csw и wav2csw, чтото типа того.

Tim0xA
30.11.2009, 13:07
Выложил VV 6.05 и утилиту WAV2CSW

ZEman
30.11.2009, 17:50
отлично.
утилита работает.
спасибо Ramiros,

Dmitry Dubrovenko
04.12.2009, 10:38
Сорри, но что-то никак не могу найти перечень соответствия клавишь.

Ramiros
04.12.2009, 12:42
Сорри, но что-то никак не могу найти перечень соответствия клавишь.

Где, в VV ? CPU->Options...

Dmitry Dubrovenko
05.12.2009, 23:05
Ramiros, тенкс.

Tim0xA
06.01.2010, 19:44
В эмуляторе b2m не работает игра "Step And Jump" (http://www.sensi.org/~svo/scalar/ware/398/)

Viknik
06.01.2010, 20:08
В эмуляторе b2m не работает игра "Step And Jump"

И Chaser зависает

b2m
06.01.2010, 21:46
В эмуляторе b2m не работает игра "Step And Jump" (http://www.sensi.org/~svo/scalar/ware/398/)
Исправлено.

Viknik
07.01.2010, 20:55
b2m а как насчёт chaser 1 уровень открывается и хана , клавиши не работают только перезапуск эмуля.

b2m
07.01.2010, 23:08
Всё вроде работает, я с недавних пор стрелки с дополнительной клавиатуры на обычные стрелки перебросил.

Viknik
08.01.2010, 01:44
Всё вроде работает, я с недавних пор стрелки с дополнительной клавиатуры на обычные стрелки перебросил.
Увы!!! 0 эмоций. Никакой реакции. То же со step&. Зависает на заставке, но здесь хоть игру перезапускает и стоп. В VV всё OK!

b2m
08.01.2010, 10:37
Незнаю, в той версии, что на сайте (от 06.01.2010) у меня всё работает.

helloworld
28.01.2010, 11:49
Добрый день, господа!

В общем у меня был вектор 06ц-02 и осталось много впечатлений - собственно на нем я и начал программировать. И вот как то решил написать эмулятор... казалось бы зачем это нужно, если есть качественные эмуляторы от Ramiros и b2m. Однако на то было несколько причин:
1. Общество вектористов постепенно отмирает, это факт. Чтобы передать наследие будущему поколению, нужно сделать эмулятор максимально живучим, портабельным и достаточно простым в управлении. Я прекрасно понимаю авторов башкирии и VV в том плане что они не хотят открывать своих исходников. Но я думаю если не сделать opensource эмулятор, то в конце концов вектор умрет окончательно - когда авторы по каким-либо причинам перестанут поддерживать свои проекты.
2. Да просто сильно хочется :)

В основном я пишу на C++, но эмулятор решил писать на C# с дотнетом 3.5. Казалось бы дотнет тормозной, однако, по моему мнению, это добавит живучести эмулятору:
1. Эмулятор без проблем работает на 32 и 64 битных платформах, не привязан к ос и процу.
2. Можно портировать по WinCE

К сожалению, у меня не очень много времени заниматься этой задачей (а так не хочется забрасывать ее в ящик!), поэтому предлагаю активистов присоединиться к проекту. В ближайшее время я постараюсь перенести репозиторий на sourceforge или googlecode. Эмулятор 100% открытый, не будет использовать платных библиотек или компонентов, не привязывается к ОС и доступен всем на чтение и комьюнити на модификацию.

Что уже сделано:
- эмуляция процессора Z80, озу, видеокарты (частично), клавиатуры (частично)
- звук через DirectSound - лагает по страшному, надо переписывать (возможно придется модуль на C++ делать)
- юниттесты

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

Я надеюсь что заинтересовал активистов. Напишите что вы думаете об этой идее и если вы посчитаете ее достаточно интересной, обсудим технические вопросы более подробно

b2m
28.01.2010, 12:00
Одобрям.

Error404
28.01.2010, 12:35
Одобрям.

+1. Дело хорошее.

Однако, будучи стихийным программистом-любителем (каких я полагаю немало и среди любителей Вектора), я не понял много различных современных слов типа "паттернов", "юниттестирования".

helloworld
28.01.2010, 12:38
Отлично! тогда формализую сумбурные тех. требования:
Система разрабатывается как многомодульное приложение. Отдельные модули - это .net сборки, экспортирующие оговоренный интерфейс. Сборки разрабатываются на C# (предпочтительно) или на Managed C++. Использование библиотек unmanaged C++ возможно (особенно там, где требуется повышенное быстродействие), однако это привязывает эмулятор к платформе, поэтому злоупотреблять этим не стоит.
Все GUI обязательно отвязаны от бизнес логики. Предлагаю использовать паттерн MVP для графического интерфейса.

Состав системы (предположительный):
Модули устройств:
- модуль процессора и ОЗУ (готов);
- модуль видеоадаптера (частично готов);
- модуль клавиатуры;
- модуль имитации таймера ВИ53 (звук и таймер);
- модуль квазидиска;
- ....

Интерфейсные (GUI) модули:
- модуль интерфейса клавиатуры
- модуль интерфейса отладчика
- модуль дисплея
- модуль магнитофона
- ...

По функциональности: ко всему прочему хотелось бы также реализовать поддержку возможности "полной имитации процесса" - т.е. например загрузки с магнитофона (через аудиовход) или звукового файла с тем же временем как и на реальном векторе и т.п.

По организационной части. Постараюсь на выходных создать репозиторий и выложить проект. Ориентируюсь на использование репозитория subversion.

Качество кода и объектный дизайн предлагаю тщательно прорабатывать и контролировать. Для заинтересованных лиц литература в этом направлении:
Правила оформления кода: http://rsdn.ru/?article/mag/200401/codestyle.XML
Паттерны проектирования: http://www.citforum.ru/SE/project/pattern/
Как не надо писать программы: http://habrahabr.ru/blogs/refactoring/59005/
По юниттестированию:
http://habrahabr.ru/blogs/testing/48727/
http://ayende.com/wiki/Rhino+Mocks+3.5.ashx

Комментарии и предложения приветствуются

b2m
28.01.2010, 12:48
Добавь ссылочки на средства разработки.

helloworld
28.01.2010, 12:54
по технологиям:
Фреймвёрк - .NET 3.5
Рисование графики сейчас происходит с помощью System.Drawing. В принципе скорость приемлемая, однако возможно впоследствии применим DirectDraw
Звук - прямое взаимодействие с DirectSound (тоже подумаем над этим)
GUI - Windows Forms (более современная альтернатива - WPF но оно будет совсем уж жутко тормозить)
Юнит тестирование - библиотека Microsoft (а может NUnit, функциональности больше) + RhinoMocks

средства разработки:
Visual Studio 2008

Ramiros
28.01.2010, 13:47
Одобряем конечно! правда я в С++ и С# можно сказать почти ноль, практически никогда не програмировал, поэтому врятли чем смогу помочь, если только советом, как надо правильней сэмулировать то или инное железо, а вообще сам являюсь пользователем альтернативной оси под linux (ubuntu) и хотелось бы конечно под ней тоже эмуль вектора иметь :)

Tim0xA
28.01.2010, 18:42
Я надеюсь что заинтересовал активистов. Напишите что вы думаете об этой идее и если вы посчитаете ее достаточно интересной, обсудим технические вопросы более подробно
Opensource эмулятор - это здорово. Со своей стороны могу помочь пока только тестированием. Вот если бы эмуль был на Delphi или на C, то принял бы участие в разработке. Хотя, может это повод освоить C#?

Новая версия эмулятора VV на сайте!

Ramiros
28.01.2010, 21:44
Новая версия эмулятора VV на сайте!

В новой версии переписаны процедуры работы с файлами, т.е. вместо read/write теперь используются высокоскоростные BlockRead/BlockWrite. что значительно ускоряет загрузку/выгрузку/сохранение файлов на винт, теперь на виртуальных машинах и медленных компах тормозить недолжно (сильно заметно было во время SaveState/RestoreState). давно уже хотел переделать, вот только щас руки дошли :)

ZEman
29.01.2010, 18:38
Ramiros, helloworld, я вам очень рекомендую, чтобы об векторе не забыли заявите о своих эмуляторах на таких сайтах как:

http://www.emulation9.com/
http://www.emu-france.com/
http://www.aep-emu.de/

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

Ramiros
30.01.2010, 14:23
Ramiros, helloworld, я вам очень рекомендую, чтобы об векторе не забыли заявите о своих эмуляторах на таких сайтах как:

http://www.emulation9.com/
http://www.emu-france.com/
http://www.aep-emu.de/

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

Заявить конечно можно, но почему никто незнает? сайт Тимохи легко гуглится, а за рубежом никто даже незнает, что такое Вектор, поэтому им до фонаря т.к. нет у них нашей национальной настальгии :)

ZEman
30.01.2010, 16:13
Ramiros, не совсем так, у них никогда не было например техже Орион или БК но тем не менее вот они:

http://www.emu-france.com/?page=fichiers&idMachine=155
http://www.emu-france.com/?page=fichiers&idMachine=110

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

есть, у меня ещё одно подозрение.
эмулятор от b2m использует АНГЛИЙСКИЙ, а у тебя всё по Русски может ещё и поэтому не ложат.

Ramiros, ты можешь сделать кнопочку Language и перевести менюшки на англицкий ?

sergey2b
30.01.2010, 16:25
Ramiros, ты можешь сделать кнопочку Language и перевести менюшки на англицкий ?

или вообще перевести все меню на английский так как слова все понятные

Ramiros
30.01.2010, 17:42
Ramiros, ты можешь сделать кнопочку Language и перевести менюшки на англицкий ?

или вообще перевести все меню на английский так как слова все понятные

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

b2m
30.01.2010, 21:07
Блин, стою на асфальте я в лыжи обутый... дальше сами знаете, менюшки и так все на инглиш, или вы про что?
У тебя просто нестандартное решение: показывать меню только по нажатию мышки в окне. Наверное не догадываются... :)

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

Ramiros
30.01.2010, 22:12
У тебя просто нестандартное решение: показывать меню только по нажатию мышки в окне. Наверное не догадываются... :)


ну в ZSNES такой же метод, в принципе от туда идея и была слизана :)

Stas Bergich
01.02.2010, 00:04
про сайт тимохи они точно незнают.
А давайте сделаем английскую версию

helloworld
03.02.2010, 10:35
в общем проект создан на sourceforge.net. Название "OpenVector". Homepage: http://openvector.sourceforge.net/
Репозиторий SVN: https://openvector.svn.sourceforge.net/svnroot/openvector
Пока пуст, на днях залью исходники. Репозиторий на чтение доступен для всех. Желающие поучаствовать в разработке - напишите свои sourceforge-аккаунты, я добавлю вам права на модификацию исходников. Все технические вопросы уже будем решать на форуме разработчиков

Tim0xA
26.02.2010, 00:20
Новая версия VV на сайте! Продолжается борьба за быстродействие. Оптимизирован код.

helloworld
26.02.2010, 18:00
Опубликованы исходники OpenVector. Пока имеет:
- эмулятор z80
- видеоадаптер
- клавиатура (от реальной клавы еще не работает)
- звуковой адаптер (нифига не работает как надо)

За быстродействие ни библиотека .NET ни язык C# должным образом бороться не позволяет, поэтому делаем ставку на хороший объектный дизайн, читабельный код и кросплатформенность.

Сейчас по умолчанию загружается "Болдер-М".

Исходники лежат в репозитории SVN по адресу: https://openvector.svn.sourceforge.net/svnroot/openvector/trunk

Вопросы к разработчикам эмуляторов: как вы победили звук? Какой размер буфера устанавливали? Какой Sampling Rate? если возможно, выложите алгоритм или кусочек исходника для работы со звуком. У меня есть подозрение что быстродействия библиотеки .net не хватит и придется реализовывать звук через unmanaged код

b2m
26.02.2010, 18:37
Вопросы к разработчикам эмуляторов: как вы победили звук?
Необходимо точно соблюдать количество проэмулированных тактов в еденицу времени. Позицию в накопительном буфере можно время от времени корректировать, чтобы к моменту записи в буфер воспроизведения гарантированно заполнялась половина накопительного буфера (которая копируется в буфер воспроизведения).


Какой размер буфера устанавливали?
У меня 1/10 сек.


Какой Sampling Rate?
У меня моно, 8 бит, 44100Гц
Соответственно размер буфера 4410 байт.


У меня есть подозрение что быстродействия библиотеки .net не хватит
Не верю.

helloworld
26.02.2010, 18:50
спасибо!
по поводу быстродействия - при размере буфера в 1/10 получается что переключать надо 20 раз в секунду. У NAudio уже щелчки появляются и много. У DirectSound вроде тоже (поменьше). Но это победимо, я думал размер буфера должен быть значительно меньше, значит вероятно косяки с синхронизацией тактов эмуляции и реального времени.

Ramiros
27.02.2010, 11:41
Вопросы к разработчикам эмуляторов: как вы победили звук? Какой размер буфера устанавливали? Какой Sampling Rate? если возможно, выложите алгоритм или кусочек исходника для работы со звуком. У меня есть подозрение что быстродействия библиотеки .net не хватит и придется реализовывать звук через unmanaged код

в VV буфер полностью обновляется за 4 прерывания и при 8 bit 44100Hz Stereo =(44100х2/50)х4=7056 byte. реализовано через DirectSound. т.к. буфер организован по кольцу и пока одна половина играет, вторая обновляется, получается задержка в два прерывания (или кадра).
Другая проблема с которой пришлось столкнуться, это синхронизация буфера с эмуляцией процессора (вернее прерываний которые возникают каждые 1/50 сек).
если прерывания эмулируются через например ММ таймер, то рассинхронизация ММ таймера и DirectSound-а приводит к трескам в звуке, поэтому я сделал эмуляцию прерываний от того же DirectSound, а ММ таймер использую только для подсчета FPS.

Tim0xA
07.03.2010, 20:45
VV 6.09 на сайте!

TAL
08.03.2010, 00:55
Подскажите с помощью какой проги можно собрать отдельные файлы в образ флопа? Желательно чтоб она запускалась под ХР

ZEman
08.03.2010, 03:12
с помощью total comander и плагина к нему можно собирать дискеты для вектора.
хотя было бы намного лучше еслиб авторы подсуетились и написали win прогу для таких дел ;)

b2m
08.03.2010, 12:43
В архиве эмулятора Пантелеева (ve27a.zip) в каталоге util есть плагин к FAR-у mi_v004.zip

Tim0xA
08.03.2010, 12:45
Подскажите с помощью какой проги можно собрать отдельные файлы в образ флопа? Желательно чтоб она запускалась под ХР
В архиве http://tmksoft.chat.ru/Files/ve27a.zip имеется специальный плагин для FAR-а, с помощью которого можно создавать образы дисков, добавлять и удалять файлы.

Tim0xA
09.03.2010, 10:39
VV 6.10 на сайте!

Tim0xA
10.03.2010, 19:19
VV 6.11 на сайте!

лю
15.03.2010, 12:52
VV 6.11 на сайте!

Скачал эмуль, почему-то жутко тормозит. Проц С2D 1,8, оперативки 2Гб, настройки поперебирал-нефига. Система WXPSP2. Количество кадров показывает 1 иногда 2 из 50. В чём может быть проблема?

Ramiros
15.03.2010, 13:45
Скачал эмуль, почему-то жутко тормозит. Проц С2D 1,8, оперативки 2Гб, настройки поперебирал-нефига. Система WXPSP2. Количество кадров показывает 1 иногда 2 из 50. В чём может быть проблема?

А какая у тебя видеокарта? обычно проблемы возникают с картами в которых поддержка OpenGL реализовано чисто для галочки, т.е. через жоп.. это как правило интегрированное видео.
На картах NVidia и ATI проблем невозникает, даже на самых древних, а вот с видео от Intel часто тормозит.

ZEman
15.03.2010, 13:48
у меня проц core2duo 3.6 Ггц, 4 гб оперативки, видео Nvidia GTX260, Windows 7 x64 ultimate.
никаких тормозов - 50 из 50 кадров выдаёт, звук великолепный, эмуляция идеально !

Ramiros, спасибо за лучший эмулятор вектора :)

Ramiros
15.03.2010, 14:04
у меня проц core2duo 3.6 Ггц, 4 гб оперативки, видео Nvidia GTX260, Windows 7 x64 ultimate.
никаких тормозов - 50 из 50 кадров выдаёт, звук великолепный, эмуляция идеально !

Ramiros, спасибо за лучший эмулятор вектора :)

Спасибо за отзыв :)

Было бы странным если бы на твоем спорт каре и тормозило :)
Для сравнения, у меня на древнем ноутбуке celeron 1,4Гц 512 Мб оперы, видео ATI Radeon 9000 (интегрированный) эмуль выдает максимум 60 ФПС.

ZEman
15.03.2010, 14:11
Ramiros, ты меня удивляешь, на сегодняшний день это норма, 21 век на дворе всётаки ;)
ладно еслиб тока для старых игрушек и эмулей спека и вектора, а то ведь ещё игры новые сколько требуют.
я уж промолчу про эмуляцию NDS, wii, PCSX2, SEGA Dreamcast, Sega Saturn и прочее...
вот там даже у меня коегде притормаживает, хотя в основном нормально тянет :)

лю
16.03.2010, 20:18
А какая у тебя видеокарта? обычно проблемы возникают с картами в которых поддержка OpenGL реализовано чисто для галочки, т.е. через жоп.. это как правило интегрированное видео.
На картах NVidia и ATI проблем невозникает, даже на самых древних, а вот с видео от Intel часто тормозит.

Да интегрированная, VIA chrome9. На ноуте с интергрированным видео всё идёт почти без проблем.

Ramiros
18.03.2010, 10:15
VV 6.12 на сайте, немного оптимизации кода :) и от Skip Frames теперь больше толку.

ZEman
18.03.2010, 13:39
Ramiros, нет предела совершенству:v2_laugh:
сколько ещё версий планируется выпустить ?
помоему эмуляция вектора в твоём эмуляторе достигла уже такого качества что выше никак.

может попробуешь начать писать эмулятор другого пк ?

Jons
18.03.2010, 13:50
было бы неплохо поддержку мыша встроить, ну и, я высказывал пожелания, винт и встроенный асм, тогдаб точно не было бы предела;)

зы: версия 6.12 с сайта не качается

Ramiros
18.03.2010, 14:25
версия 6.12 с сайта не качается

качается, только что проверил

---------- Post added at 16:25 ---------- Previous post was at 16:19 ----------


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

Разве на векторе была мышь? помоему дальше хотелок и разговоров дело непродвинулось, или я неправ, тогда где схемы подключения?

Jons
18.03.2010, 17:36
вроде в какомто журнале Радио была, может я чтото путаю, но схему самой мыши я точно видел

ZEman
18.03.2010, 17:40
я скачал с http://vector06c.narod.ru/ новый билд VV, просто там ссылка не показана, приходится вручную её набирать.
Tim0xA исправь ;)

Jons
18.03.2010, 18:11
ссылка на скачивание в разделе "эмуляторы", я тож скачал =)

эмулятор запускается, только с черным окном и строкой в нём "starting boot manager. (CPU: КР580ВМ80А)" которая со временем пропадает, и больше ничего не происходит, это только у меня так, и изза чего такое может быть?
зы: помогла перезагрузка =)

Stas Bergich
26.03.2010, 17:35
Ramiros,
Esti pojelanie k tvoemu emuliatou, bylo by zdorovo podderjati z80 mode v debuggere dlia otladki z80 koda da i voobshe z80 mnemonika gorazdo legche chitaetsia(s vozmojnostiu vybora i8080 - z80).

camister
01.05.2010, 00:09
Обновился эмулятор VV
А как его скачать?

Tim0xA
01.05.2010, 01:37
http://vector06c.narod.ru/emul/VV_616.zip

Tim0xA
05.05.2010, 17:37
Кто-нибудь в курсе, в эмуляторе MAME поддерживается "Вектор-06Ц"? Если нет, то насколько это сложно сделать?
Я с этим эмулятором не работал никогда, но вот буквально недавно его на Dingoo A320 портировали. Забавно было бы иметь "карманный вектор" :)

Jons
05.05.2010, 19:19
это скорее всего чисто игровая платформа, т.е. эмулятор сеги, денди и т.д., врядли там вектор будет

[bETA]mEN
05.05.2010, 20:43
Кто-нибудь в курсе, в эмуляторе MAME
не M.A.M.E., а M.E.S.S. (http://www.mess.org/)

поддерживается "Вектор-06Ц"? :)
драйвер Вектора есть, но у него статус Not working.

svofski
06.05.2010, 03:56
А сколько существует действующих опенсорсных эмуляторов Вектора?

ZEman
06.05.2010, 09:55
да нету никаких других эмуляторов вектора, их всего-то:
Virtual Vector - от рамироса.
Emu - от B2m.
Emulator3000 от Евгения Троицкого.
и досовый древнючий эмулятор.

кстати интересно почему VV игнорируют на большинстве сайтов, выкладывают досовый эмулятор или emu а про VV ни слова.

Error404
06.05.2010, 12:22
кстати интересно почему VV игнорируют на большинстве сайтов, выкладывают досовый эмулятор или emu а про VV ни слова.

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

Ramiros
06.05.2010, 13:22
Как версия: для гуя нужна англоязычная шкурка.

а в VV гуй на каком, на русском чтоли?

svofski
06.05.2010, 15:02
VV практически нереально найти не тусуясь здесь и не будучи в теме. Даже для тех, кто пользуется "рунетом" и говорит по-русски. На Тимохином сайте трудно понять, чем какой-нибудь древний незапускаемый Великий Эмулятор отличается от неприметного VV.

В наше время нетрудно, по-моему, завести красивые отдельностоящие интернеты для хорошего эмулятора. Со скриншотами, описанием, историей обновлений и прочими атрибутами вызывающей интерес программы. Есть же всевозможные Google Sites, Blogspot-ы и еще тыща всяких возможностей.

Tim0xA
31.05.2010, 16:35
Обновился эмулятор VV 6.17
См. на сайте http://vector06c.narod.ru в разделе "Эмуляторы"

ivagor
01.06.2010, 10:51
Ramiros, может добавишь средства профайлинга (их можно и для хака применять)?
Например (очень-очень простой для реализации вариант, если чтение/запись реализованы через "общую" процедуру, а не индивидуально для каждой команды):
Делаешь массивы в 65536 ячеек для основного ОЗУ и еще 4 для КД (еще можно и для ПЗУ загрузчика).
Массивов может быть например по 2 - в одном считается число операций чтения из ячеек, в другом - число операций записи. Желательно бы все же 3 массива, чтобы учитывать отдельно операции чтения данных и чтения команд.
Чтобы сохранить текущие значения - пункт меню (+комбинация клавиш).
Сохранение - например в csv, чтобы можно было в excel или в другой программе построить график и проанализировать результаты.
Обнуление значений счетчиков - при загрузке по file/open и вручную через меню (+комбинация клавиш).
Чтобы было проще работать с данными желательно сделать настройку варианта сохранения данных - полный/"укрупненный" (например, можно суммировать данные для каждых 256 ячеек и сохранять 256 значений вместо 65536).

---------- Post added at 12:51 ---------- Previous post was at 12:47 ----------

В отладчике желательно добавить колонки со значениями счетчиков для оперативного контроля их показаний.

Ramiros
01.06.2010, 19:38
Обращение к памяти (неважно какой) сделано через функции MemoryR и MemoryW, распознования данные/опкод нет, но это сделать нетрудно.
Учитывая что в счетчиках могут быть накоплены весьма огромные значения нужно делать массивы с ячейками как минимум 4-байтными (DWord) т.е. 65536 * 4 байта * 5 банков * 3 категории = 3932160 байт (4 Mbyte) это еще без учета ПЗУ. Довольно много памяти будет требоваться, да и ресурсов в плане производительности будет теряться хоть и немного но всеже...

ZEman
02.06.2010, 05:05
нам это не страшно:v2_laugh:

Doronetty
02.06.2010, 11:26
Точно - главное, чтобы памяти не больше 4 Гигов использовалось... И ядер тоже! :v2_tong2:

Ramiros
16.06.2010, 15:43
Ramiros, может добавишь средства профайлинга (их можно и для хака применять)?
Например (очень-очень простой для реализации вариант, если чтение/запись реализованы через "общую" процедуру, а не индивидуально для каждой команды):
Делаешь массивы в 65536 ячеек для основного ОЗУ и еще 4 для КД (еще можно и для ПЗУ загрузчика).
Массивов может быть например по 2 - в одном считается число операций чтения из ячеек, в другом - число операций записи. Желательно бы все же 3 массива, чтобы учитывать отдельно операции чтения данных и чтения команд.
Чтобы сохранить текущие значения - пункт меню (+комбинация клавиш).
Сохранение - например в csv, чтобы можно было в excel или в другой программе построить график и проанализировать результаты.
Обнуление значений счетчиков - при загрузке по file/open и вручную через меню (+комбинация клавиш).
Чтобы было проще работать с данными желательно сделать настройку варианта сохранения данных - полный/"укрупненный" (например, можно суммировать данные для каждых 256 ячеек и сохранять 256 значений вместо 65536).

---------- Post added at 12:51 ---------- Previous post was at 12:47 ----------

В отладчике желательно добавить колонки со значениями счетчиков для оперативного контроля их показаний.

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

ivagor
16.06.2010, 18:32
Кстати, построение/отображение графиков можно реализовать в самом эмуляторе, можно прям в опциях на следующей вкладке за палитрой, или сделать отдельную форму для этих целей, как лучше?
Графики по результатам профайлинга - это было бы здорово (но только не вместо сохранения csv а вместе с ним). svofski как то приводил ссылку на эмулятор c64, в котором результаты доступа к памяти отображались в виде ячеек квадрата. Мне лично не очень понравилось как там было сделано. С помощью квадрата более-менее можно оценить, к каким ячейкам был доступ (полезная штука), а вот оценивать количество операций доступа не очень удобно (цветом или яркостью можно обозначить, но это не совсем то что мне нужно - мне нужны цифры).
Резюмируя - отображение результатов доступа к ячейкам в самом эмуляторе - это хорошо, но надо подумать, как лучше это сделать.


и тогда наверное необязательно в файл сохранять
С этим я не согласен. Пусть не будет визуализации, а сохранение в файл мне кажется необходимым.


к тому же csv не очень удачный формат, проблемы с локализацией могут быть.
Не совсем понял, в чем проблема с csv (каким боком там локализация, какие символы проблемные - цифры, пробелы ?). К слову, в программах, сохраняющих в csv бывает возможность выбора символа-разделителя.
Как альтернатива csv - сохранять в бинарник четырехбайтными значениями. Тогда перед тем как открыть в excel нужно будет еще "перекодировать" бинарный->текст.

svofski
16.06.2010, 18:56
Сохраняйте табличку в html (xhtml) -- его всегда можно посмотреть в любом браузере и он сам себе визуализация. А сырые данные через запятую, или через что угодно, можно включить в комментарий во второй строчке файла.

Ramiros
23.06.2010, 20:25
Сохраняйте табличку в html (xhtml) -- его всегда можно посмотреть в любом браузере и он сам себе визуализация. А сырые данные через запятую, или через что угодно, можно включить в комментарий во второй строчке файла.

Легко сказать, я незнаю этого языка. С CSV тоже затык с этим разделителем блин, да и долго будет преобразоваться такая куча значений в текстовый формат. Сделаю наверное сохранение в простой бинарник по 4 байта.

Остальное уже сделал (визуализация, и отображение в дебагере).

Tim0xA
25.06.2010, 17:11
Ramiros выпустил новую версию эмулятора VV. Добавлены средства профайлинга!
См. на сайте http://vector06c.narod.ru в разделе "Эмуляторы", версия 6.19

ivagor
25.06.2010, 18:34
Ramiros - мегареспект!
Теперь конструктивная критика (предложения)
1. График в profile зумится, только если "нарисовать" мышкой прямоугольник начиная с левого верхнего угла. 3 остальных варианта рисования прямоугольника аналогичны "ресету зума" (даблклику) - мне кажется, что лучше это бы это тоже был зум.
Вобще не ожидал, что ты сделаешь такой гибкий просмотрщик.
2. Кроме Clear All желательно было бы еще иметь просто Clear, относящийся только к выбранному счетчику (наверно лучше текущую кнопку Clear All заменить на Clear, а Clear All перенести куда-нибудь).

---------- Post added at 20:34 ---------- Previous post was at 20:22 ----------

Может в многобайтных командах чтение остальных байтов, кроме первого все же учитывать в счетчике команд?

Ramiros
25.06.2010, 20:10
[
1. График в profile зумится, только если "нарисовать" мышкой прямоугольник начиная с левого верхнего угла. 3 остальных варианта рисования прямоугольника аналогичны "ресету зума" (даблклику) - мне кажется, что лучше это бы это тоже был зум.
Вобще не ожидал, что ты сделаешь такой гибкий просмотрщик.
2. Кроме Clear All желательно было бы еще иметь просто Clear, относящийся только к выбранному счетчику (наверно лучше текущую кнопку Clear All заменить на Clear, а Clear All перенести куда-нибудь).

Может в многобайтных командах чтение остальных байтов, кроме первого все же учитывать в счетчике команд?

1. Графики сделаны через стандартный компонент Chart, там режим зумирования изменить нельзя к сожалению, разве что по даблклику может че придумать получится.
2. Clear переделаю.
3. Я думал об этом, но малой кровью этого недобиться, надо вносить изменения во многие команды всех процессоров, и непонятно тогда что считать за чтение данных, а что за чтение команд.

ivagor
25.06.2010, 20:33
1. Графики сделаны через стандартный компонент Chart, там режим зумирования изменить нельзя к сожалению, разве что по даблклику может че придумать получится.
Какой версией Delphi компилируешь? Попробовал в 7 - работает как у тебя. Может в последних версиях доработали (хотя это и мелочь, но создает ощущение "неидеальности").

ZEman
25.06.2010, 20:54
ё маё, вы уже походу не знаете что и придумать:v2_laugh:
я так понимаю профайлинги эта тулза чисто для разработчиков тока ?

а вообще эмуляция вектора просто потрясающая и идеальная.
Ramiros, большое спасибо тебе :)

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

Misha-Ra
25.06.2010, 21:00
А еще вопрос. Можно эмулятор под MacOS собрать? Спасибо (:

Ramiros
26.06.2010, 17:06
Какой версией Delphi компилируешь? Попробовал в 7 - работает как у тебя. Может в последних версиях доработали (хотя это и мелочь, но создает ощущение "неидеальности").

Delphi 7.

---------- Post added at 18:55 ---------- Previous post was at 18:52 ----------



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

Даже непредставляю как такое реализовать :)

---------- Post added at 19:01 ---------- Previous post was at 18:55 ----------


А еще вопрос. Можно эмулятор под MacOS собрать? Спасибо (:

Врятли получится, ведь под MacOS дельфи нет, или я ошибаюсь?

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

---------- Post added at 19:06 ---------- Previous post was at 19:01 ----------

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

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

Tim0xA
26.06.2010, 17:46
Ramiros выпустил новую версию эмулятора VV.
См. на сайте http://vector06c.narod.ru в разделе "Эмуляторы", версия 6.20

ivagor
26.06.2010, 17:53
Ramiros, спасибо за исправления/доработки. Побочный эффект - мне пришлось третий раз править описание на сайте :)

Tim0xA
20.07.2010, 12:46
Обновил эмулятор VV на сайте http://vector06c.narod.ru/

Tim0xA
11.08.2010, 13:11
Обновился эмулятор VV на сайте http://vector06c.narod.ru/
Версия 6.24. Добавлена поддержка музыкальных файлов.

ZEman
11.08.2010, 16:18
а где собственно можно взять эти музыкальные файлы ?