Просмотр полной версии : Вектор-06Ц: Эмуляция
Страницы :
1
2
[
3]
4
5
6
7
VV_5.69 учтены особенности очистки (форматирования) RAM диска
Эмуль на сайте
Добавлено через 4 часа 19 минут
прикручивать винт я как бы несобирался, помоему это самая невостребованная железяка для вектора и делать ее для галочки смысла невижу, есть более интересные вещи, например RTC до которого руки как-то недоходят
Все-таки надеюсь, что винт тоже со временем появится. Я специально приобрел переходник IDE<->CF для того, чтобы прикрутить когда-нибудь CF к своему Вектору. Некоторые вещи было бы удобно предварительно протестировать в эмуляторе, например, загрузчик, различные версии ОС.
особенности очистки (форматирования) RAM диска
Эти изменения также нужно учесть и в эмуляторе b2m.
в версии VV 5.70 добавлена поддержка жейстиков П (или ПУ), USPID (Байт), а также пофиксил один неприятный момент - когда окно эмулятора неактивно и на него щелкнуть мышью, сразу выскакивало меню, что как мне кажется было неудобно.
Тееек-с... а у меня под w2k prof эмулятор жить ни разу не хочет...
MAF, мой или VV?
Virtual Vector причем пробовал несколько версии.
MAF, попробуй приоритет для CPU->CPU Thread Priority выбрать Idle или Lowest, неплохо бы описать проблему, я же не телепат
еще необходимо чтоб в системе был установлен OpenGL, DirectX 7.0 или выше, обязательно наличие звуковой карты
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
Ну и так далее и тому подобное. Дальше только срубать из таскменеджера, бо так закрываться не хочет...
Обновил VV_5.71 исправил ВМ80, ВМ1, добавлен осциллограф звукового буффера.
Добавлено через 8 минут
Странно, программа clock.com работает в VV где нет эмуляции RTC.
а как в dos201 увидеть текущее время с RTC ?
программа clock.com работает в VV где нет эмуляции RTC
Я когда тестировал RTC, тоже удивился, что она не обращается к нужным портам. :) Это просто "говорилка".
Я когда тестировал RTC, тоже удивился, что она не обращается к нужным портам. :) Это просто "говорилка".
чем тогда тестировать? а то я тоже подумываю добавить РТС.
чем тогда тестировать? а то я тоже подумываю добавить РТС.
К 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 года, день недели прежний
и т.д. и т.п.
Новая версия эулятора VV 5.74 на сайте. Добавлена эмуляция RTC.
Ramiros, если делать захват аудио в режиме "For Tape" при максимальной скорости эмуляции (Alt+F10), то записанный файл потом невозможно загрузить. Еще опция "For Tape" не запоминается при выходе из эмулятора. Также в добавок к опции "For Tape" была бы удобна опция автоматического начала захвата, как только на магнитофонный выход пошел первый бит. И через некоторый период можно останавливать запись, если на выходе больше нет изменений.
Ramiros, если делать захват аудио в режиме "For Tape" при максимальной скорости эмуляции (Alt+F10), то записанный файл потом невозможно загрузить. Еще опция "For Tape" не запоминается при выходе из эмулятора.
Ясное дело, CPU считай работает на 12 MHz! Используй для ускорения (Ctrl+F10).
Ясное дело, CPU считай работает на 12 MHz!
Но это же не мешает грузиться из WAV-файла в режиме "CPU Speed - Fast". Ты же как-то синхронизируешь подачу данных из WAV-файла на виртуальный магнитофонный вход в зависимости от скорости CPU. Почему бы не сделать так и для захвата?
Но это же не мешает грузиться из WAV-файла в режиме "CPU Speed - Fast". Ты же как-то синхронизируешь подачу данных из WAV-файла на виртуальный магнитофонный вход в зависимости от скорости CPU. Почему бы не сделать так и для захвата?
Да, магнитофон действительно привязан к тактам процессора, а вот с захватом сложнее, он привязан к нотификаторам DirectSound и его цель писать звук как есть, (For Tape это всего лишь отключение ненужных каналов и смена формата выходного файла), а в файл информация пишется паралельно DirectSound буфферу, поэтому для коректной записи необходимо чтобы CPUSpeed = Normal.
Меня интересует именно "For Tape". Можно для этого режима привязаться к тактам процессора?
А если что-то вроде такого - при повышенной частоте проца писать в файл с большей частотой дискретизации? Т.е. при 6 МГц писать 44100, потом можно в SF поменять частоту, хотя это может и эмулятор сам сразу делать.
Меня интересует именно "For Tape". Можно для этого режима привязаться к тактам процессора?
В рамках движка аудио захвата - к сожалению нет, это нужно специально писать дополнение для виртуального магнитофона.
А чем неустраивает пропорциональное увеличение быстродействия повышением частоты кадров? допустим при 100Гц скорость CPU получается равной 6МГц и при этом DXSound перестраивается на другой режим, и запись получается нормальной, а нехватка ресурсов, связанная с увеличением частоты кадров высвободится за счет Auto Frame Skip (если он включен).
при 100Гц скорость CPU получается равной 6МГц и при этом DXSound перестраивается на другой режим
Вот теперь понятно, что ты имел в виду, когда упомянул про Ctrl+F10, а то я очень далек от всех этих нюансов работы DirectX. Это выход конечно, хоть и не самый лучший, т.к. все время надо что-то переключать и помнить об этом.
Меня интересует именно "For Tape". Можно для этого режима привязаться к тактам процессора?
Почасав немного репу, всетаки придумал как это сделать :) , в новой версии сделаю
Добавлено через 11 часов 42 минуты
Tim0xA, Готово, VV_5.75. Есть правда некоторые ограничения, от которых избавится неудалось: 1. Во время захвата блокируется возможность переключения скорости процессора т.к. это переключение приведет к помехе в wav файле, поэтому переключать CPU Speed нужно перед захватом; 2. Нежелательно лазить в меню во время захвата по тем же причинам.
Добавлены акселераторы для аудиозахвата, опция For Tape теперь сохраняется.
а эмулятор у меня все так же не живет... Обломъ-с
Что, и мой тоже?
В VV_5.77 появился режим эмуляции видеоадаптера "Криста-2"
Ramiros, в следующей версии может сделаешь переключение частоты ВИ53 1,25/1,5 МГц?
Ramiros, в следующей версии может сделаешь переключение частоты ВИ53 1,25/1,5 МГц?
Зачем? ВИ53 и так привязан к частоте CPU, другое дело когда частота CPU изменяется более чем в 2 раза по отношению к стандартной, тогда включается дополнительный делитель кратный 2, чтобы звук был в приемлемом диаппазоне, (помоему ты сам просил сделать такую поправку).
ВИ53 и так привязан к частоте CPU
когда частота CPU изменяется более чем в 2 раза по отношению к стандартной, тогда включается дополнительный делитель кратный 2
помоему ты сам просил сделать такую поправку
Думал, ты зафиксировал частоты ВИ53 и AY на 1,5 и 1,75 (не проверял), т.к., насколько помню, я просил именно этого. Если частота ВИ53 привязана к частоте процессора, это даже лучше.
Думал, ты зафиксировал частоты ВИ53 и AY на 1,5 и 1,75 (не проверял), т.к., насколько помню, я просил именно этого. Если частота ВИ53 привязана к частоте процессора, это даже лучше.
с AY все гораздо проще, частота 1.75 внутренне делится еще на 16 что дает 110 КГц, или если взять за опорное 3 МГц, то делить надо на 27, при таком коэффициенте деления практически для любой частоты CPU можно легко расчитать делитель, чтобы в рзультате всегда получилось примерно 110 КГц.
Обновил VV_5.78 Исправленны некоторые ошибки в генерации звука, проявлялись в некоторых диаппазонах частот CPU
Подключил к компу джойстик и обнаружились пороблемы с его поддержкой в эмуляторе.
Обновил VV_5.79, изменения коснулись только поддержки реального джойстика. Еще появилась возможность связать реальный джойстик с виртуальными.
Новая версия эмулятора на сайте. Исправлен баг с AY, звук стал чище без щелчков.
вроде бы и на более ранних версиях звук был чистым.
но в любом случае спасибо что эмуль не забрасываете :)
VV 5.84 на сайте: добавлена инверсия и режим моно для AY.
Смотрел игрушки на бейсике, хочу привести один мелкий факт по точности эмуляции. Игра ARKANOID в VV работает нормально ( еще бы :) ), а в b2m ракетка вправо-влево не двигается. Вроде Tim0xA уже как-то писал на примере своей программы, что в b2m состояние каких-то битиков порта 1 по умолчанию неверное, вот еще одно подтверждение.
Где игрушки на бейсике брал? Может, посмотрю, в чём дело.
Где игрушки на бейсике брал?
vector06c.narod.ru, раздел ИГРЫ, СОФТ
---------- Post added at 19:33 ---------- Previous post was at 19:27 ----------
ARKANOID - на 1м диске
Спасибо, понял уже. Эти файлы я, оказывается, ещё не скачивал.
Эмулятор VV 5.85 на сайте. Добавлен захват регистров AY (см. описание в мануале).
Я тоже выложил новую версию, ошибку с битом порта 1 исправил.
Ramiros, какая частота используется в VV для AY? В b2m это видно из конфига (примерно 1.7778 МГц).
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.
Хмм.. ну так что, кто первый напишет эмулятор Вектора на JS, чтобы заменить им скриншоты в Базисе? =)
Эмулятор VV 5.86 на сайте!
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
}
stmview.obj - просто переименовал stmview.com с диска stmpro.fdd, его же я использовал в clrs, обрезав начало, чтобы было место непосредственно для clrs.
Остальные - исходники плееров для ZX взяты с сайта Бульбы и адаптированы под порты Вектора. Именно поэтому используется конфигурация с процессором Z80.
А начало положил ivagor, который выкладывал pt3 плеер для Вектора. Как я понял, исходники он брал на том-же сайте Бульбы.
Справедливости ради, пионер реализации концепции плееров к эмулятору на векторе - Роман Пантелеев.
а насколько полна к данному моменту эмуляция вектора ?
это всё, так сказать последний штрих или чтото ещё осталось нереализованным ?
VV 5.90 на сайте! Новый видеодвижок.
Запустил на реале полет (http://sensi.org/~svo/scalar/ware/7/), там скроллинг плавный, без рывков. А в b2m и VV (и в ve27) у меня заметна небольшая "неплавность". Может это проблемы моего PC, но пока верю в это с трудом (AthlonX2 3800, GeForce8600GT). Tim0xA, если не сложно, тоже сравни.
Запустил на реале полет, там скроллинг плавный, без рывков. А в b2m и VV (и в ve27) у меня заметна небольшая "неплавность". Может это проблемы моего PC, но пока верю в это с трудом (AthlonX2 3800, GeForce8600GT). Tim0xA, если не сложно, тоже сравни.
Я тоже это заметил, есть такая проблема.
Я так понимаю, это из-за разницы кадровых частот. Теоретически, если выставить графической карте 100Гц, то "дёргания" быть не должно, но появится другой эффект, и плавно это тоже не будет казаться. Отсутствие "дёргания" для нашего глаза достигается только в том случае, если в каждом кадре картинка сдвигается на одинаковые расстояния.
Я так понимаю, это из-за разницы кадровых частот. Теоретически, если выставить графической карте 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, можешь в экспериментальных целях попробовать сделать частоту прерываний вектора равной частоте обновления монитора, с пропорциональным увеличением тактовой частоты вектора, чтобы число тактов между прерываниями не изменилось? Я говорю не про публичный релиз, просто сам попробуй, если не трудно.
Как вариант, можно добавить фильтрацию, чтобы уменьшить эффект от несовпадения частоты кадров вектора и монитора, хотя это будет тормоз.
Вобщем так: действительно, при 60 Гц не дёргается, НО, только в полноэкранном режиме. В оконном режиме дёргается, но связано это с отсутствием синхронизации с кадровым СИ монитора.
---------- Post added at 22:01 ---------- Previous post was at 21:57 ----------
Кстати, я даже не изменял тактовую частоту. Могу для Вектора вынести частоту кадров (и соответственно частоту прерываний) в конфиг, если надо :)
Может тогда добавишь в конфиг настройку частоты прерываний (для хардкорных бездергальщиков)? Слово какое-то почти нецензурное получилось.
А как насчет фильтра в перспективе?
---------- Post added at 23:02 ---------- Previous post was at 23:02 ----------
Пока я писал, ты уже дописал :)
Ладно, будет тебе частота прерываний :)
Бездергальщик (ударение на букву "а") ;)
---------- Post added at 22:17 ---------- Previous post was at 22:12 ----------
Глядя на полноэкранный режим, так и хочется добавить ещё и "предпочтительный" режим для каждой конфигурации. Интересно, какой из стандартных режимов подошёл бы для полноэкранного Вектора? Требуется наиболее близкое к 576x288 ... Плюс возможность отключать этот дурацкий индикатор РУС/ЛАТ ...
Бездергальщик (ударение на букву "а")
Чё :v2_finge: ?
Глядя на полноэкранный режим, так и хочется добавить ещё и "предпочтительный" режим для каждой конфигурации. Интересно, какой из стандартных режимов подошёл бы для полноэкранного Вектора? Требуется наиболее близкое к 576x288 ... Плюс возможность отключать этот дурацкий индикатор РУС/ЛАТ ...
1152x864 или 1280x1024 (во втором случае останется место для индикаторов и совершенно случайно, у меня как раз такое разрешение монитора)
Хотелось бы кроме РУС/ЛАТ, который тебе не нравится, еще и индикатор FDD.
Хотелось бы без StretchBlt, производительность падает...
Хотелось бы кроме РУС/ЛАТ, который тебе не нравится, еще и индикатор FDD
и EDD
Получилось плавно в текущей версии VV 5.91.
PowerStripом сделал кадровую 50 Гц, к счастью мой монитор ее поддерживает. Если в VV сделать разрешение 288x288 или 576x288 (в окне!) то все идеально и плавно, но мелко и соотношение сторон при 576x288 неприятное.
Если сделать 576x576, то по векторовскому окошку перемещается полоса-"разрыв". Когда она выходит за пределы видимой области - все ОК, но она делает круг и возвращается. При полноэкранном с 50 Гц - тоже самое. Если бы получилось это исправаить - было бы идеально.
b2m, настройка разрешения для полного экрана нужна, а то для 640x350 не получится сделать 50 Гц.
Only for ivagor
Сделал настройку частоты кадров Вектора, магические строчки такие:
vid : V06c-Video {
vrtcfreq=60
Чтобы Вектор "ничего не заметил", можно установить тактовую частоту 3600KHz
b2m, стало плавно, спасибо. Для полного счастья не хватает возможности задания разрешения для полного экрана, а то, как я писал выше, в 640x350 у меня монитор на 50 Гц не удается настроить. Желательно также сделать настройки масштабирования по x и по y для полноэкранного режима (на случай, если большое увеличение при большом разрешении будет тормозить).
---------- Post added at 12:31 ---------- Previous post was at 12:30 ----------
И все же интересно, как Ramiros сделал синхронизацию в оконном режиме.
Секрета нет, я использую разные методы вывода: в полноэкранном делается Flip, он синхронизирован с кадровой развёрткой, а в окне я делаю просто Blt, при этом появляется возможность растягивать изображение.
Ramiros, извини, я тут выше тебя слегка критиковал, оказалось не по делу. Надо было всего лишь включить Wait VSync. Теперь и в окне при любом увеличении, и в полноэкранном все плавно.
настройка разрешения для полного экрана нужна, а то для 640x350 не получится сделать 50 Гц.
Сделал я настройку, как обычно через конфиг (думы о портировании на другие платформы приводят к тому, что пользовательский интерфейс нужно делать как-то иначе, а пока всё через конфиг).
Имей ввиду, что масштабирование только целочисленное, по ширине максимум в два раза, по высоте - в 4.
Только я так и не могу понять, почему в полноэкранном режиме такая загрузка процессора...
Сейчас заметил в последнем VV: если файл .rom на диске изменился, VV как будто бы этого не замечает. Я выбираю File->Open, то же имя, но другое содержание, VV показывает старую картинку.
Кстати, MRU файлы в b2m -- чрезвычайно удобная для хаканья вещь.
Между тем проапдейтил улитку и таблицу цветов.
Кстати, MRU файлы в b2m -- чрезвычайно удобная для хаканья вещь.
Что за файлы?
Что за файлы?
Most recently used: те, что появляются в меню File->1/2/3..
Немного оптимизировал код видеодвижка, удвлось снизить загрузку CPU на 3..4%.
Tim0xA, обнови эмуль.
Выложил новую версию на сайт
Кстати, MRU файлы в b2m -- чрезвычайно удобная для хаканья вещь.
А Drag&Drop ещё круче, особенно когда хочется много музыкальных файлов послушать. :)
А Drag&Drop ещё круче, особенно когда хочется много музыкальных файлов послушать.
Тоже не отказался бы =) Но обычный цикл отладки у меня: транслировать прелесть, yes, yes, alt+f - 1. Удобно, все действия легко усваиваются спинным мозгом и не требуют потом никаких дополнительных ресурсов организма.
sergey2b
23.10.2009, 15:05
Tim0xA,
exolon c http://www.sensi.org/~svo/scalar/ не запускаеться на последнем VV
Странно, у меня работает.
exolon.rom - упакованная версия, работает всегда
exolond.com - дисковый вариант, работает только из микродоса
exolonl.rom - неупакованный вариант плюс какая-то добавка, из-за которой затирается AA55 по адресу 7FFE, поэтому не считается правильным ROM-файлом. В моём эмуляторе работает только через File/Open
sergey2b, нужно подержать РУС/LAT, чтобы "звездочки по экрану забегали".
Сорри за оффтоп, потом сотру
Приведенные выше посты можно рассматривать как результат психологического теста :)
Сорри за оффтоп, потом сотру
Приведенные выше посты можно рассматривать как результат психологического теста :)
Сейчас еще svofski отпишется и ты нам выдай результаты психоанализа ;)
---------- Post added at 14:40 ---------- Previous post was at 14:38 ----------
А вообще-то мы все тут немножко больны...
sergey2b
23.10.2009, 16:06
Tim0xA,
нужно подержать РУС/LAT, чтобы "звездочки по экрану забегали".
большое спасибо, все работает
>А вообще-то мы все тут немножко больны...
я на основной работе напрограммируюсь до чертиков после чего хочеться чего то простого и понятного
я узнал о вектер несколько недель назад когда купил de1
жаль что не знал в 91 году отличная машинка для программирования была (помоему лучше синклера если не для игр)
Ramiros, твой эмулятор вектора пожалуй самый лучший, хочу попросить о небольшом исправлении, может это ктото посчитает придиркой, но...
у эмулятора есть неприятное свойство заедать и издавать треск когда его хватаешь за верхнюю панель (самая верхняя часть экрана эмулятора, где написано название) а также при входе - выходе в режим Full screen.
нельзя ли это както исправить ?
спасибо за доработку, так намного лучше. :)
незнаю всё ли в эмуляции вектора реализовано, но вот какая у меня идея появилась.
эмуляторы вектора понимают только один вид касет - wav файлы, но держать колекцию wav неудобно, много места занимают, да и вообще это както сыровато.
возможно ли создание какогонибудь нового типа кассетных образов (типа tap или tzx как на спектруме) ?
А чем .rom не устраивает?
rom - это образы пзу или картриджей.
а я говорил про касеты.
rom - это образы пзу или картриджей.
а я говорил про касеты.
ROM-это самый обычный кассетный формат для Вектора
нет.
они грузятся как снапшоты (снимки памяти).
попробуйка загрузи rom как касету, чтоб с реальной скоростью и звуком загрузки с ленты.
---------- Post added at 12:00 ---------- Previous post was at 11:38 ----------
Ramiros, я обнаружил ещё одну интересную ошибку в твоём эмуляторе.
эмулятор зависает если окно некоторое время неактивно.
например:
запускаю игру DEAR-BST.ROM, жму мышкой на центре экрана эмулятора, эмулятор входит в паузу (чёрный экран), ждём секунд 20 - 30, снимаем паузу...
ничего не происходит, эмулятор висит.
Ramiros, я обнаружил ещё одну интересную ошибку в твоём эмуляторе.
эмулятор зависает если окно некоторое время неактивно.
например:
запускаю игру DEAR-BST.ROM, жму мышкой на центре экрана эмулятора, эмулятор входит в паузу (чёрный экран), ждём секунд 20 - 30, снимаем паузу...
ничего не происходит, эмулятор висит.
Странно, попробовал, у меня ничего независает.
У кого еще зависает?
Кассетные образы в формате бейсика поддерживаются эмулятором 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), только грузить его некуда.
Какой уж там секрет. Просто бейсиковские процедуры перехватываются, а очередной байт из файла подставляется в регистр. Наверное можно и процедуры загрузчика перехватить, только у вас же мульён загрузчиков и процедуры чтения байта в разных местах сидят...
так я и хочу чтоб всё было сделано правильно.
везде существует эдакий стандарт, эмуляторы спектрума, атари, амстарда и прочих давным-давно поддерживают загрузку как с wav файлов так и с снапшотов и касетных образов.
Эмуляция ленты и так уже сделана. Я непредставляю как вы хотите загружать мгновенно касетные файлы, для загрузки таких файлов придется ждать, так же как и при загрузке wav. То что сделано в b2m называется перехват функций написанных в машинном коде и это нужно делать идивидуально для каждой программы (бейсика, монитора, ассемблера и т.д.) как мне кажется это несовсем здоровый подход.
перехват функций написанных в машинном коде и это нужно делать идивидуально для каждой программы (бейсика, монитора, ассемблера и т.д.) как мне кажется это несовсем здоровый подход.
Согласен, это как искусственное сердце - не совсем как природа задумала, но работает :)
Давайте переименуем wav в tap и сделаем вид что это новый формат, а в эмулях добавим маску для таких файлов :)
а кто сказал что касетные файлы должны загружаться мгновенно.
кто захочет их загрузить быстро, просто ускорит эмулятор и всё.
возьмите к примеру тотже спектрум, например игрушка Cybernoid в виде tap файла весит всего 36 кб, тогда как wav 10 mb.
разница очень заметна, особенно если колекция большая.
загружается и wav и tap файл одинаково, со звуком загрузки и полосками.
я хочу чегото подобного.
а кто сказал что касетные файлы должны загружаться мгновенно.
кто захочет их загрузить быстро, просто ускорит эмулятор и всё.
Верно, а кому нужно - воспользуется перехватом функций.
Вот у меня допустим есть n-ное количество программ в форматах ASM,MON,PAS. Выкладывать из в WAV-формате мне как-то не очень хочется. А в CAS я бы выложил.
хоть один понимающий человек нашёлся :)
Кстати, помнится в эмуляции ПК-8000 было такое - одни CAS-ы грузились долго (а-ля WAV), другие грузились с перехватом функций. Вот для Вектора тоже нужно что-то в этом духе.
В спектруме там скорее всего процедуры загрузки зашиты в PZU и там сделал 1 раз и навсегда, а писать эти перехватчики для каждой проги я небуду, т.к. это вопервых куча лишних проверок, что сказывается отрицательно на быстродействии эмулятора, а во вторых это просто муторно. Я чесно говоря нелюблю разбираться в коде програм для ВМ80.
Ramiros, по поводу перехвата функций я не настаиваю. Достаточно того, что есть у b2m. Речь идет больше о том, чтобы иметь возможность загружаться не из WAV, а из CAS-файла. С той же скоростью. Т.е. на вход компаратора подавать битики 0,1 из CAS, а не уровень сигнала из WAV.
Уже поднимался вопрос с 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.
Я делал, как-то, эмуляцию битиков, но для РК86, Юниора и Спекки. Именно поэтому кроме .wav в диалоге открытия файла для эмуляции кассеты есть *.rk, *.bt и *.tzx Однако нужно учитывать скорость записи битов, формат кодирования байта и формат синхро-последовательности с синхробайтом. В принципе, нет ничего невозможного.
Ramiros, по поводу перехвата функций я не настаиваю. Достаточно того, что есть у b2m. Речь идет больше о том, чтобы иметь возможность загружаться не из WAV, а из CAS-файла. С той же скоростью. Т.е. на вход компаратора подавать битики 0,1 из CAS, а не уровень сигнала из WAV.
Вообщето в cas файле хранятся уже готовые байты программы а не биты для компаратора, или я неправ?
Вообщето в cas файле хранятся уже готовые байты программы а не биты для компаратора, или я неправ?
Да, там хранятся байты, которые состоят из битов. Т.е. берешь байт, пропихиваешь 8 бит в компаратор, берешь следующий байт и т.д.
К слову, ранее выложенный файл testtp.cas я сделал в твоем же конвертере, записывая байт передаваемый процедуре OutByte в отдельный файл.
Неупакованный CSW (первой версии) можно добавить, а распаковщик (для второй версии) мне показался уж очень объёмным, не хочется добавлять к эмулятору лишние пару десятков килобайт... Хотя упакованный CSW, как правило, раз в 7-8 компактнее.
Можно сконвертировать wav в формат где каждое состояние компаратора будет описыватся одним битом, тогда удастся уменьшить размер образов касет как минимум в 8 раз, это я могу в будущем реализовать, но это ничего общего с существующим cas форматом иметь не будет.
В принципе, нет ничего невозможного.
надеюсь.
http://pic.ipicture.ru/uploads/091117/OhK9MP23a2.gif
Можно сконвертировать wav в формат где каждое состояние компаратора будет описыватся одним битом.
Это и есть формат CSW!!!
Ramiros, ну а почему бы и нет, необязательно ведь следовать строго старому формату cas, главное чтоб это работало, грузилось как положенно и весило мало.
Можно сконвертировать 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 байт контр. суммы всех байтов без переноса.
Вроде бы всё просто. В чём проблема реализовать это?
По-моему формат где каждое состояние компаратора будет описыватся одним битом не сильно отличается от того, что я предлагаю сделать, а практически то же самое.
а чем этот CSW можно получить?
наверно пока ничем.
конвертер нужен
Да был вроде конвертор гдето, Wav2rom там помоему такое было, но где его взять? у себя я его чето ненахожу, походу затер :(
вот утилита wav2rom у меня сохранилась.
CSW 1.30 (http://members.fortunecity.com/shirka/LIBROS_EBOOKS/MANUAL_ESPECTRUM/csw130.zip), там формат описан (все просто). Это первая версия csw (я и не знал, что вторая есть). Хотелось бы вторую, со сжатием, надеюсь b2m подскажет, где найти описание, утилиты и исходники.
Пробовал прогу на бейсике в csw, потом обратно в wav (csw преобразует .csw в .voc, но это не проблема) - читается.
http://k1.dyndns.org/Develop/projects/zxsp-osx-qt/TapeRecorder/csw.html
Блин, чёто не гуглится, выложу тут.
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 - ?
Есть ещё одна фича: просто перепрыгнуть код - это tproc, при помощи её можно обойти этот ненужный CALL.
По поводу вопросов:
Я сам путаюсь, и постоянно лезу в код, чтобы найти подходящий вариант :) Для biproc и boproc это способ передачи параметров, т.е. в каком регистре будет байт, нужен ли поиск синхробайта. Обычно это весьма специфично для каждого компьютера и формата файла, поэтому есть уже такие варианты: rk, sp, mx, zx, bk, bkm, ag. Догадаться, какой для какого компьютера - не сложно :)
tproc - пропуск кода (обычно запись/чтение синхро-тона, которого в файле обычно нет)
iproc,oproc - чтение/запись блока (HL-начало, DE-конец, BC-контрольная сумма)
biproc, boproc - чтение/запись байта (параметры определяются типом, указанным после "=" )
tiproc, toproc - поиск-пропуск/запись синхробайтов, т.е. если формат файла предусматривает "магические" байты для обозначения синхро-тона.
есть уже такие варианты: rk, sp, mx, zx, bk, bkm, ag. Догадаться, какой для какого компьютера - не сложно
интересно, все догадываются, что форматы Старта-1200 rk и rkb?
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 не бывает :)
rkb не бывает
на 17:15 18.11.2009 бывает
---------- Post added at 17:08 ---------- Previous post was at 17:07 ----------
время уфимское :)
Для монитора-отладчика получилось сделать таким образом:
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
}
Работает и чтение и запись :)
ivagor, да где?!!
На сайте архив от 04.11.2009, ни в одном из конфигов строчка "rkb" не встречается!
З.Ы. Мы тут не про расширение файлов, а про настройки конфигов беседуем :)
Сделал поддержку формата CSW версии 1.х
У меня такой вопрос - сделать чтобы при открытии файла ленточного образа плейер стартовал автоматически, или оставить как есть - в ручном режиме по Alt+F6 ?
Версия 04.11.2009 (как и более ранние) поддерживает rk?, а здесь (http://bashkiria-2m.narod.ru/files/prog/start1200.rar) есть rkb. Ты же не будешь отрицать, что:
1. Файлы rkb существуют (причем на твоем сайте)
2. Их можно загрузить и запустить в твоем эмуляторе, т.е. он их поддерживает
:)
Для монитора-отладчика получилось сделать ...
Работает и чтение и запись :)
Предлагаешь поместить в официальную версию? :)
Кстати, использовать точку с запятой в качестве обозначения комментария - это не моя идея, но придётся наверное добавить :)
---------- Post added at 17:32 ---------- Previous post was at 17:31 ----------
ivagor, да где?!!
На сайте архив от 04.11.2009, ни в одном из конфигов строчка "rkb" не встречается!
З.Ы. Мы тут не про расширение файлов, а про настройки конфигов беседуем :)
Я пост подправлял...
У меня такой вопрос - сделать чтобы при открытии файла ленточного образа плейер стартовал автоматически, или оставить как есть - в ручном режиме по Alt+F6 ?
Может сделать эту опцию настраиваемой?
Здорово бы еще добавить опцию для автоматического ускорения на время воспроизведения csw.
---------- Post added at 17:39 ---------- Previous post was at 17:34 ----------
b2m, тогда такой вопрос (я его и хотел сразу спросить, но не туда уехал :) ) - может для Старта-1200 отдельное расширение ввести?
Эмуляторов Старта-1200 не много, предлагай :)
предлагай
s12
str
ves
vst :)
v12
и т.п.
---------- Post added at 17:54 ---------- Previous post was at 17:50 ----------
или .vs, тогда еще место для b остается.
А много ли файлов для Старт-1200 существует?
Предлагаешь поместить в официальную версию?
Вот теперь можно добавлять :)
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, твой конфиг невероятно крут!
Сам удивляюсь! :)
Кстати, любая строчка, в которой нет символов {}= считается комментарием, так что точку-с-запятой даже не обязательно ставить :rolleyes:
Кстати, любая строчка, в которой нет символов {}= считается комментарием, так что точку-с-запятой даже не обязательно ставить
Но ты всё-таки сделай поддержку точки-с-запятой, чтобы можно было комментировать строки, в которых есть символы {}=. Так будет легче отлаживать конфиг.
---------- Post added at 17:45 ---------- Previous post was at 17:05 ----------
b2m, а как насчет варианта
boproc[]=???
на входе: A - записываемый байт
запись в файл производится сразу
есть такой?
ivagor, полностью с тобой согласен, лучше добавить в эмулятор опцию загружать файлы автоматически или же стартовать потом, ускоренная загрузка тоже не помешает.
Tim0xA, так какой формат будет поддерживаться, cas или csw ?
или другой сделаете, например какойнибудь vcs
Tim0xA, так какой формат будет поддерживаться, cas или csw ?
Одно другому не мешает.
b2m, а как насчет варианта
boproc[]=???
на входе: A - записываемый байт
запись в файл производится сразу
есть такой?
Нет. Обычно синхробайт 0хЕ6 пишется той-же самой процедурой, я уж не помню, почему в Специалисте-МХ какая-то другая синхронизация.
Обычно синхробайт 0хЕ6 пишется той-же самой процедурой
Да, но если бы был режим, в котором в файл записывались все байты, а не только байты после E6, то можно было бы записывать CAS-файлы с преамбулой.
Сделай себе "преамбулу" и копируй её и записанный файл в третий файл "с преамбулой" командой copy /b :)
Готова новая версия. Сделана поддержка формата 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, Обнови эмуль
а где взять конвертер, чтоб получить CSW файлы ?
а где взять конвертер, чтоб получить CSW файлы ?
Тут выше ivagor выкладывал, но на всякий случай в новой версии я вложил конвертер в папку TAPE
Насчет конвертера, незнаю как кому, а я нелюблю консольные приложения. Чтобы преобразовать кучу файлов, нужно долго парится
я ещё могу добавить, то что выложил ivagor, у меня к сожалению не запускается.
пишет что приложение несовместимо с данной версией ос.
видимо это изза 64 битности.
:(
Tim0xA, Обнови эмуль
Обновил
Вот несколько готовых образов
Если добавить в секцию "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 (из архива Пыхонина) работают :)
ZEman у тебя какая-нибудь виртуальная машина установлена? Если да, то попробуй в ней. Проще всего, пожалуй в DOSboxе.
Правда только те, которые стартуют не с 0000h адреса. К сожалению, таких мало и многие из них подключивают. Но вот например PACMAN.GAM, PITON.GAM (из архива Пыхонина) работают
У меня кассета есть с игрушками и программками с РК86, которые или сразу шли в эмуляторе или я их слегка подправил. Даже не знаю, что проще, оцифровать (надо снова доставать магнитофон и т.д.) или заново "адаптировать".
нету у меня виртуальной машины.
может лучше конвертер встроите в эмулятор ?
ну или на крайний случай подожду когда будут переведены игры и софт в кассетный формат и потом скачаю всё это.
ZEman, как же так? Главный коллекционер эмуляторов не имеет эмулятора DOSbox!!! :)
.....
чтоб...
у меня есть досбокс, но играми от пк я практически не занимаюсь, меня они не интересуют.
моя стихия это 8 и 16 бит.
и ктомуже консольные приложения я терпеть немогу :)
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иной
на бейсике cas файл получается в принципе чистым кодом программы, если несчитать самого начала файла где название и последовательность из одинаковых байт, там нет никаких синхробайтов и контрольных сумм, это такой формат бейсика примитивный, или там просто уже все отфильтровано?
Перед самой программой идёт синхробайт E6, три байта D3 и байт 00, обозначающих тип данных (бейсик-программа, если 4 байта D3, то это имя бейсик-программы). Повторяющиеся байты 55 плюс синхробайт E6 - это и есть преамбула, она есть и до первого байта cas файла, но её обычно не сохраняют в файле.
на бейсике 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 *
Кто нибуть пробовал в бейсике 2.5 писать строки типа:
color 15,color
screen 2,screen
и т.п. ?
Результат забавный получается :)
в VV прога clrs_.rom с процом Z80 изображение в право смещается, это так и должно быть?
Результат забавный получается
результат действительно забавный:)
в VV прога clrs_.rom с процом Z80 изображение в право смещается, это так и должно быть?
да :) там все привязано к количеству тактов на команду, а так как Z80 некоторые команды выполняет быстрей, то и картинка начинает раньше времени рисоваться. удивительно что она вообще как нибуть по диоганали нерисуется.
Ramiros, а ты можешь сделать утилиту rom2csw ?
очень нужно, та что у тебя с эмулятором идёт в комплекте у меня не запускается.
:)
Ramiros, а ты можешь сделать утилиту rom2csw ?
очень нужно, та что у тебя с эмулятором идёт в комплекте у меня не запускается.
:)
Сделаю наверное, но попозже, и не rom2csw, а логичнее сделать wav2csw.
можно конеш и так, но это придётся сначала из rom переделывать в wav, а потом wavы конвертить в csw.
можно конеш и так, но это придётся сначала из rom переделывать в wav, а потом wavы конвертить в csw.
Можно сделать и rom2csw но тогда небудет возможности преобразовать bas, mon и т.п. поэтому нужен более универсальный конвертор.
лучше наверно тебе надо будет сделать одну прогу обединяющую в себе утилиты rom2wav, rom2csw и wav2csw, чтото типа того.
Выложил VV 6.05 и утилиту WAV2CSW
отлично.
утилита работает.
спасибо Ramiros,
Dmitry Dubrovenko
04.12.2009, 10:38
Сорри, но что-то никак не могу найти перечень соответствия клавишь.
Сорри, но что-то никак не могу найти перечень соответствия клавишь.
Где, в VV ? CPU->Options...
Dmitry Dubrovenko
05.12.2009, 23:05
Ramiros, тенкс.
В эмуляторе b2m не работает игра "Step And Jump" (http://www.sensi.org/~svo/scalar/ware/398/)
В эмуляторе b2m не работает игра "Step And Jump"
И Chaser зависает
В эмуляторе b2m не работает игра "Step And Jump" (http://www.sensi.org/~svo/scalar/ware/398/)
Исправлено.
b2m а как насчёт chaser 1 уровень открывается и хана , клавиши не работают только перезапуск эмуля.
Всё вроде работает, я с недавних пор стрелки с дополнительной клавиатуры на обычные стрелки перебросил.
Всё вроде работает, я с недавних пор стрелки с дополнительной клавиатуры на обычные стрелки перебросил.
Увы!!! 0 эмоций. Никакой реакции. То же со step&. Зависает на заставке, но здесь хоть игру перезапускает и стоп. В VV всё OK!
Незнаю, в той версии, что на сайте (от 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
- соблюдение конвенций именования и правил оформления исходного кода.
Я надеюсь что заинтересовал активистов. Напишите что вы думаете об этой идее и если вы посчитаете ее достаточно интересной, обсудим технические вопросы более подробно
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
Комментарии и предложения приветствуются
Добавь ссылочки на средства разработки.
helloworld
28.01.2010, 12:54
по технологиям:
Фреймвёрк - .NET 3.5
Рисование графики сейчас происходит с помощью System.Drawing. В принципе скорость приемлемая, однако возможно впоследствии применим DirectDraw
Звук - прямое взаимодействие с DirectSound (тоже подумаем над этим)
GUI - Windows Forms (более современная альтернатива - WPF но оно будет совсем уж жутко тормозить)
Юнит тестирование - библиотека Microsoft (а может NUnit, функциональности больше) + RhinoMocks
средства разработки:
Visual Studio 2008
Одобряем конечно! правда я в С++ и С# можно сказать почти ноль, практически никогда не програмировал, поэтому врятли чем смогу помочь, если только советом, как надо правильней сэмулировать то или инное железо, а вообще сам являюсь пользователем альтернативной оси под linux (ubuntu) и хотелось бы конечно под ней тоже эмуль вектора иметь :)
Я надеюсь что заинтересовал активистов. Напишите что вы думаете об этой идее и если вы посчитаете ее достаточно интересной, обсудим технические вопросы более подробно
Opensource эмулятор - это здорово. Со своей стороны могу помочь пока только тестированием. Вот если бы эмуль был на Delphi или на C, то принял бы участие в разработке. Хотя, может это повод освоить C#?
Новая версия эмулятора VV на сайте!
Новая версия эмулятора VV на сайте!
В новой версии переписаны процедуры работы с файлами, т.е. вместо read/write теперь используются высокоскоростные BlockRead/BlockWrite. что значительно ускоряет загрузку/выгрузку/сохранение файлов на винт, теперь на виртуальных машинах и медленных компах тормозить недолжно (сильно заметно было во время SaveState/RestoreState). давно уже хотел переделать, вот только щас руки дошли :)
Ramiros, helloworld, я вам очень рекомендую, чтобы об векторе не забыли заявите о своих эмуляторах на таких сайтах как:
http://www.emulation9.com/
http://www.emu-france.com/
http://www.aep-emu.de/
это сайты на которые стекаются практически все существующие эмуляторы после чего их любой может спокойно качать.
к сожалению про VV досих-пор практически никто не знает (за исключением тех кто ходит в эту тему) а вот эмулятор от b2m, знают на всех буржуйских сайтах и переодически, по мере обновления заливают.
Ramiros, helloworld, я вам очень рекомендую, чтобы об векторе не забыли заявите о своих эмуляторах на таких сайтах как:
http://www.emulation9.com/
http://www.emu-france.com/
http://www.aep-emu.de/
это сайты на которые стекаются практически все существующие эмуляторы после чего их любой может спокойно качать.
к сожалению про VV досих-пор практически никто не знает (за исключением тех кто ходит в эту тему) а вот эмулятор от b2m, знают на всех буржуйских сайтах и переодически, по мере обновления заливают.
Заявить конечно можно, но почему никто незнает? сайт Тимохи легко гуглится, а за рубежом никто даже незнает, что такое Вектор, поэтому им до фонаря т.к. нет у них нашей национальной настальгии :)
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, ты можешь сделать кнопочку Language и перевести менюшки на англицкий ?
или вообще перевести все меню на английский так как слова все понятные
Блин, стою на асфальте я в лыжи обутый... дальше сами знаете, менюшки и так все на инглиш, или вы про что?
Блин, стою на асфальте я в лыжи обутый... дальше сами знаете, менюшки и так все на инглиш, или вы про что?
У тебя просто нестандартное решение: показывать меню только по нажатию мышки в окне. Наверное не догадываются... :)
А насчёт подозрений, по-моему мой эмуль кто-то пропиарил на всех известных эмуляторных сайтах. На сайт заходили аж с Гваделупы, правда один хрен - обычно ничего не читают. Но некоторые пользуются гуглопереводчиком.
У тебя просто нестандартное решение: показывать меню только по нажатию мышки в окне. Наверное не догадываются... :)
ну в 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-аккаунты, я добавлю вам права на модификацию исходников. Все технические вопросы уже будем решать на форуме разработчиков
Новая версия VV на сайте! Продолжается борьба за быстродействие. Оптимизирован код.
helloworld
26.02.2010, 18:00
Опубликованы исходники OpenVector. Пока имеет:
- эмулятор z80
- видеоадаптер
- клавиатура (от реальной клавы еще не работает)
- звуковой адаптер (нифига не работает как надо)
За быстродействие ни библиотека .NET ни язык C# должным образом бороться не позволяет, поэтому делаем ставку на хороший объектный дизайн, читабельный код и кросплатформенность.
Сейчас по умолчанию загружается "Болдер-М".
Исходники лежат в репозитории SVN по адресу: https://openvector.svn.sourceforge.net/svnroot/openvector/trunk
Вопросы к разработчикам эмуляторов: как вы победили звук? Какой размер буфера устанавливали? Какой Sampling Rate? если возможно, выложите алгоритм или кусочек исходника для работы со звуком. У меня есть подозрение что быстродействия библиотеки .net не хватит и придется реализовывать звук через unmanaged код
Вопросы к разработчикам эмуляторов: как вы победили звук?
Необходимо точно соблюдать количество проэмулированных тактов в еденицу времени. Позицию в накопительном буфере можно время от времени корректировать, чтобы к моменту записи в буфер воспроизведения гарантированно заполнялась половина накопительного буфера (которая копируется в буфер воспроизведения).
Какой размер буфера устанавливали?
У меня 1/10 сек.
Какой Sampling Rate?
У меня моно, 8 бит, 44100Гц
Соответственно размер буфера 4410 байт.
У меня есть подозрение что быстродействия библиотеки .net не хватит
Не верю.
helloworld
26.02.2010, 18:50
спасибо!
по поводу быстродействия - при размере буфера в 1/10 получается что переключать надо 20 раз в секунду. У NAudio уже щелчки появляются и много. У DirectSound вроде тоже (поменьше). Но это победимо, я думал размер буфера должен быть значительно меньше, значит вероятно косяки с синхронизацией тактов эмуляции и реального времени.
Вопросы к разработчикам эмуляторов: как вы победили звук? Какой размер буфера устанавливали? Какой Sampling Rate? если возможно, выложите алгоритм или кусочек исходника для работы со звуком. У меня есть подозрение что быстродействия библиотеки .net не хватит и придется реализовывать звук через unmanaged код
в VV буфер полностью обновляется за 4 прерывания и при 8 bit 44100Hz Stereo =(44100х2/50)х4=7056 byte. реализовано через DirectSound. т.к. буфер организован по кольцу и пока одна половина играет, вторая обновляется, получается задержка в два прерывания (или кадра).
Другая проблема с которой пришлось столкнуться, это синхронизация буфера с эмуляцией процессора (вернее прерываний которые возникают каждые 1/50 сек).
если прерывания эмулируются через например ММ таймер, то рассинхронизация ММ таймера и DirectSound-а приводит к трескам в звуке, поэтому я сделал эмуляцию прерываний от того же DirectSound, а ММ таймер использую только для подсчета FPS.
Подскажите с помощью какой проги можно собрать отдельные файлы в образ флопа? Желательно чтоб она запускалась под ХР
с помощью total comander и плагина к нему можно собирать дискеты для вектора.
хотя было бы намного лучше еслиб авторы подсуетились и написали win прогу для таких дел ;)
В архиве эмулятора Пантелеева (ve27a.zip) в каталоге util есть плагин к FAR-у mi_v004.zip
Подскажите с помощью какой проги можно собрать отдельные файлы в образ флопа? Желательно чтоб она запускалась под ХР
В архиве http://tmksoft.chat.ru/Files/ve27a.zip имеется специальный плагин для FAR-а, с помощью которого можно создавать образы дисков, добавлять и удалять файлы.
VV 6.11 на сайте!
Скачал эмуль, почему-то жутко тормозит. Проц С2D 1,8, оперативки 2Гб, настройки поперебирал-нефига. Система WXPSP2. Количество кадров показывает 1 иногда 2 из 50. В чём может быть проблема?
Скачал эмуль, почему-то жутко тормозит. Проц С2D 1,8, оперативки 2Гб, настройки поперебирал-нефига. Система WXPSP2. Количество кадров показывает 1 иногда 2 из 50. В чём может быть проблема?
А какая у тебя видеокарта? обычно проблемы возникают с картами в которых поддержка OpenGL реализовано чисто для галочки, т.е. через жоп.. это как правило интегрированное видео.
На картах NVidia и ATI проблем невозникает, даже на самых древних, а вот с видео от Intel часто тормозит.
у меня проц core2duo 3.6 Ггц, 4 гб оперативки, видео Nvidia GTX260, Windows 7 x64 ultimate.
никаких тормозов - 50 из 50 кадров выдаёт, звук великолепный, эмуляция идеально !
Ramiros, спасибо за лучший эмулятор вектора :)
у меня проц core2duo 3.6 Ггц, 4 гб оперативки, видео Nvidia GTX260, Windows 7 x64 ultimate.
никаких тормозов - 50 из 50 кадров выдаёт, звук великолепный, эмуляция идеально !
Ramiros, спасибо за лучший эмулятор вектора :)
Спасибо за отзыв :)
Было бы странным если бы на твоем спорт каре и тормозило :)
Для сравнения, у меня на древнем ноутбуке celeron 1,4Гц 512 Мб оперы, видео ATI Radeon 9000 (интегрированный) эмуль выдает максимум 60 ФПС.
Ramiros, ты меня удивляешь, на сегодняшний день это норма, 21 век на дворе всётаки ;)
ладно еслиб тока для старых игрушек и эмулей спека и вектора, а то ведь ещё игры новые сколько требуют.
я уж промолчу про эмуляцию NDS, wii, PCSX2, SEGA Dreamcast, Sega Saturn и прочее...
вот там даже у меня коегде притормаживает, хотя в основном нормально тянет :)
А какая у тебя видеокарта? обычно проблемы возникают с картами в которых поддержка OpenGL реализовано чисто для галочки, т.е. через жоп.. это как правило интегрированное видео.
На картах NVidia и ATI проблем невозникает, даже на самых древних, а вот с видео от Intel часто тормозит.
Да интегрированная, VIA chrome9. На ноуте с интергрированным видео всё идёт почти без проблем.
VV 6.12 на сайте, немного оптимизации кода :) и от Skip Frames теперь больше толку.
Ramiros, нет предела совершенству:v2_laugh:
сколько ещё версий планируется выпустить ?
помоему эмуляция вектора в твоём эмуляторе достигла уже такого качества что выше никак.
может попробуешь начать писать эмулятор другого пк ?
было бы неплохо поддержку мыша встроить, ну и, я высказывал пожелания, винт и встроенный асм, тогдаб точно не было бы предела;)
зы: версия 6.12 с сайта не качается
версия 6.12 с сайта не качается
качается, только что проверил
---------- Post added at 16:25 ---------- Previous post was at 16:19 ----------
было бы неплохо поддержку мыша встроить, ну и, я высказывал пожелания, винт и встроенный асм, тогдаб точно не было бы предела;)
Разве на векторе была мышь? помоему дальше хотелок и разговоров дело непродвинулось, или я неправ, тогда где схемы подключения?
вроде в какомто журнале Радио была, может я чтото путаю, но схему самой мыши я точно видел
я скачал с http://vector06c.narod.ru/ новый билд VV, просто там ссылка не показана, приходится вручную её набирать.
Tim0xA исправь ;)
ссылка на скачивание в разделе "эмуляторы", я тож скачал =)
эмулятор запускается, только с черным окном и строкой в нём "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
А как его скачать?
http://vector06c.narod.ru/emul/VV_616.zip
Кто-нибудь в курсе, в эмуляторе MAME поддерживается "Вектор-06Ц"? Если нет, то насколько это сложно сделать?
Я с этим эмулятором не работал никогда, но вот буквально недавно его на Dingoo A320 портировали. Забавно было бы иметь "карманный вектор" :)
это скорее всего чисто игровая платформа, т.е. эмулятор сеги, денди и т.д., врядли там вектор будет
[bETA]mEN
05.05.2010, 20:43
Кто-нибудь в курсе, в эмуляторе MAME
не M.A.M.E., а M.E.S.S. (http://www.mess.org/)
поддерживается "Вектор-06Ц"? :)
драйвер Вектора есть, но у него статус Not working.
А сколько существует действующих опенсорсных эмуляторов Вектора?
да нету никаких других эмуляторов вектора, их всего-то:
Virtual Vector - от рамироса.
Emu - от B2m.
Emulator3000 от Евгения Троицкого.
и досовый древнючий эмулятор.
кстати интересно почему VV игнорируют на большинстве сайтов, выкладывают досовый эмулятор или emu а про VV ни слова.
Error404
06.05.2010, 12:22
кстати интересно почему VV игнорируют на большинстве сайтов, выкладывают досовый эмулятор или emu а про VV ни слова.
Как версия: для гуя нужна англоязычная шкурка. Сопроводительное описание можно по-русски. На иностранных эму-сайтах (как ни страно, но они мониторят все эмуляторы, в т.ч. и из рунета) описание сами переводят (наблюдал про свой эмулятор - так забавно :) ), а вот англифицировать ресурсы экзешника они не станут.
Как версия: для гуя нужна англоязычная шкурка.
а в VV гуй на каком, на русском чтоли?
VV практически нереально найти не тусуясь здесь и не будучи в теме. Даже для тех, кто пользуется "рунетом" и говорит по-русски. На Тимохином сайте трудно понять, чем какой-нибудь древний незапускаемый Великий Эмулятор отличается от неприметного VV.
В наше время нетрудно, по-моему, завести красивые отдельностоящие интернеты для хорошего эмулятора. Со скриншотами, описанием, историей обновлений и прочими атрибутами вызывающей интерес программы. Есть же всевозможные Google Sites, Blogspot-ы и еще тыща всяких возможностей.
Обновился эмулятор VV 6.17
См. на сайте http://vector06c.narod.ru в разделе "Эмуляторы"
Ramiros, может добавишь средства профайлинга (их можно и для хака применять)?
Например (очень-очень простой для реализации вариант, если чтение/запись реализованы через "общую" процедуру, а не индивидуально для каждой команды):
Делаешь массивы в 65536 ячеек для основного ОЗУ и еще 4 для КД (еще можно и для ПЗУ загрузчика).
Массивов может быть например по 2 - в одном считается число операций чтения из ячеек, в другом - число операций записи. Желательно бы все же 3 массива, чтобы учитывать отдельно операции чтения данных и чтения команд.
Чтобы сохранить текущие значения - пункт меню (+комбинация клавиш).
Сохранение - например в csv, чтобы можно было в excel или в другой программе построить график и проанализировать результаты.
Обнуление значений счетчиков - при загрузке по file/open и вручную через меню (+комбинация клавиш).
Чтобы было проще работать с данными желательно сделать настройку варианта сохранения данных - полный/"укрупненный" (например, можно суммировать данные для каждых 256 ячеек и сохранять 256 значений вместо 65536).
---------- Post added at 12:51 ---------- Previous post was at 12:47 ----------
В отладчике желательно добавить колонки со значениями счетчиков для оперативного контроля их показаний.
Обращение к памяти (неважно какой) сделано через функции MemoryR и MemoryW, распознования данные/опкод нет, но это сделать нетрудно.
Учитывая что в счетчиках могут быть накоплены весьма огромные значения нужно делать массивы с ячейками как минимум 4-байтными (DWord) т.е. 65536 * 4 байта * 5 банков * 3 категории = 3932160 байт (4 Mbyte) это еще без учета ПЗУ. Довольно много памяти будет требоваться, да и ресурсов в плане производительности будет теряться хоть и немного но всеже...
нам это не страшно:v2_laugh:
Doronetty
02.06.2010, 11:26
Точно - главное, чтобы памяти не больше 4 Гигов использовалось... И ядер тоже! :v2_tong2:
Ramiros, может добавишь средства профайлинга (их можно и для хака применять)?
Например (очень-очень простой для реализации вариант, если чтение/запись реализованы через "общую" процедуру, а не индивидуально для каждой команды):
Делаешь массивы в 65536 ячеек для основного ОЗУ и еще 4 для КД (еще можно и для ПЗУ загрузчика).
Массивов может быть например по 2 - в одном считается число операций чтения из ячеек, в другом - число операций записи. Желательно бы все же 3 массива, чтобы учитывать отдельно операции чтения данных и чтения команд.
Чтобы сохранить текущие значения - пункт меню (+комбинация клавиш).
Сохранение - например в csv, чтобы можно было в excel или в другой программе построить график и проанализировать результаты.
Обнуление значений счетчиков - при загрузке по file/open и вручную через меню (+комбинация клавиш).
Чтобы было проще работать с данными желательно сделать настройку варианта сохранения данных - полный/"укрупненный" (например, можно суммировать данные для каждых 256 ячеек и сохранять 256 значений вместо 65536).
---------- Post added at 12:51 ---------- Previous post was at 12:47 ----------
В отладчике желательно добавить колонки со значениями счетчиков для оперативного контроля их показаний.
Кстати, построение/отображение графиков можно реализовать в самом эмуляторе, можно прям в опциях на следующей вкладке за палитрой, или сделать отдельную форму для этих целей, как лучше? и тогда наверное необязательно в файл сохранять, к тому же csv не очень удачный формат, проблемы с локализацией могут быть.
Кстати, построение/отображение графиков можно реализовать в самом эмуляторе, можно прям в опциях на следующей вкладке за палитрой, или сделать отдельную форму для этих целей, как лучше?
Графики по результатам профайлинга - это было бы здорово (но только не вместо сохранения csv а вместе с ним). svofski как то приводил ссылку на эмулятор c64, в котором результаты доступа к памяти отображались в виде ячеек квадрата. Мне лично не очень понравилось как там было сделано. С помощью квадрата более-менее можно оценить, к каким ячейкам был доступ (полезная штука), а вот оценивать количество операций доступа не очень удобно (цветом или яркостью можно обозначить, но это не совсем то что мне нужно - мне нужны цифры).
Резюмируя - отображение результатов доступа к ячейкам в самом эмуляторе - это хорошо, но надо подумать, как лучше это сделать.
и тогда наверное необязательно в файл сохранять
С этим я не согласен. Пусть не будет визуализации, а сохранение в файл мне кажется необходимым.
к тому же csv не очень удачный формат, проблемы с локализацией могут быть.
Не совсем понял, в чем проблема с csv (каким боком там локализация, какие символы проблемные - цифры, пробелы ?). К слову, в программах, сохраняющих в csv бывает возможность выбора символа-разделителя.
Как альтернатива csv - сохранять в бинарник четырехбайтными значениями. Тогда перед тем как открыть в excel нужно будет еще "перекодировать" бинарный->текст.
Сохраняйте табличку в html (xhtml) -- его всегда можно посмотреть в любом браузере и он сам себе визуализация. А сырые данные через запятую, или через что угодно, можно включить в комментарий во второй строчке файла.
Сохраняйте табличку в html (xhtml) -- его всегда можно посмотреть в любом браузере и он сам себе визуализация. А сырые данные через запятую, или через что угодно, можно включить в комментарий во второй строчке файла.
Легко сказать, я незнаю этого языка. С CSV тоже затык с этим разделителем блин, да и долго будет преобразоваться такая куча значений в текстовый формат. Сделаю наверное сохранение в простой бинарник по 4 байта.
Остальное уже сделал (визуализация, и отображение в дебагере).
Ramiros выпустил новую версию эмулятора VV. Добавлены средства профайлинга!
См. на сайте http://vector06c.narod.ru в разделе "Эмуляторы", версия 6.19
Ramiros - мегареспект!
Теперь конструктивная критика (предложения)
1. График в profile зумится, только если "нарисовать" мышкой прямоугольник начиная с левого верхнего угла. 3 остальных варианта рисования прямоугольника аналогичны "ресету зума" (даблклику) - мне кажется, что лучше это бы это тоже был зум.
Вобще не ожидал, что ты сделаешь такой гибкий просмотрщик.
2. Кроме Clear All желательно было бы еще иметь просто Clear, относящийся только к выбранному счетчику (наверно лучше текущую кнопку Clear All заменить на Clear, а Clear All перенести куда-нибудь).
---------- Post added at 20:34 ---------- Previous post was at 20:22 ----------
Может в многобайтных командах чтение остальных байтов, кроме первого все же учитывать в счетчике команд?
[
1. График в profile зумится, только если "нарисовать" мышкой прямоугольник начиная с левого верхнего угла. 3 остальных варианта рисования прямоугольника аналогичны "ресету зума" (даблклику) - мне кажется, что лучше это бы это тоже был зум.
Вобще не ожидал, что ты сделаешь такой гибкий просмотрщик.
2. Кроме Clear All желательно было бы еще иметь просто Clear, относящийся только к выбранному счетчику (наверно лучше текущую кнопку Clear All заменить на Clear, а Clear All перенести куда-нибудь).
Может в многобайтных командах чтение остальных байтов, кроме первого все же учитывать в счетчике команд?
1. Графики сделаны через стандартный компонент Chart, там режим зумирования изменить нельзя к сожалению, разве что по даблклику может че придумать получится.
2. Clear переделаю.
3. Я думал об этом, но малой кровью этого недобиться, надо вносить изменения во многие команды всех процессоров, и непонятно тогда что считать за чтение данных, а что за чтение команд.
1. Графики сделаны через стандартный компонент Chart, там режим зумирования изменить нельзя к сожалению, разве что по даблклику может че придумать получится.
Какой версией Delphi компилируешь? Попробовал в 7 - работает как у тебя. Может в последних версиях доработали (хотя это и мелочь, но создает ощущение "неидеальности").
ё маё, вы уже походу не знаете что и придумать:v2_laugh:
я так понимаю профайлинги эта тулза чисто для разработчиков тока ?
а вообще эмуляция вектора просто потрясающая и идеальная.
Ramiros, большое спасибо тебе :)
я вот думаю, а ты не можешь попробовать реализовать в эмуляторе игру по сети ?
ведь есть же игры на векторе для двоих, почему бы и нет.
сможешь ?
Misha-Ra
25.06.2010, 21:00
А еще вопрос. Можно эмулятор под MacOS собрать? Спасибо (:
Какой версией 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, кстати, ты наверное незаметил, но эмулятор позволяет сохранять данные профайлинга и в CSV, просто в диалоге сохранения нужно выбрать этот тип данных
Да, не заметил. Если ты про утилитку :) , то польза в ней все же есть - позволяет регулировать конфигурацию таблицы.
Ramiros выпустил новую версию эмулятора VV.
См. на сайте http://vector06c.narod.ru в разделе "Эмуляторы", версия 6.20
Ramiros, спасибо за исправления/доработки. Побочный эффект - мне пришлось третий раз править описание на сайте :)
Обновил эмулятор VV на сайте http://vector06c.narod.ru/
Обновился эмулятор VV на сайте http://vector06c.narod.ru/
Версия 6.24. Добавлена поддержка музыкальных файлов.
а где собственно можно взять эти музыкальные файлы ?
Powered by vBulletin® Version 4.2.5 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot