Speccy - наш выбор!

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

ZEman 19th November 2009 11:52

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

Ramiros 19th November 2009 12:06

Quote:

Originally Posted by ZEman (Post 233534)
а где взять конвертер, чтоб получить CSW файлы ?

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

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

ZEman 19th November 2009 12:25

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

Tim0xA 19th November 2009 12:41

Quote:

Originally Posted by Ramiros (Post 233521)
Tim0xA, Обнови эмуль

Обновил

Ramiros 19th November 2009 13:12

1 Attachment(s)
Вот несколько готовых образов

Tim0xA 19th November 2009 13:49

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

Code:

  ; эмулятор РК-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 19th November 2009 15:42

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

Quote:

Originally Posted by Tim0xA (Post 233569)
Правда только те, которые стартуют не с 0000h адреса. К сожалению, таких мало и многие из них подключивают. Но вот например PACMAN.GAM, PITON.GAM (из архива Пыхонина) работают

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

ZEman 19th November 2009 17:50

нету у меня виртуальной машины.
может лучше конвертер встроите в эмулятор ?

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

b2m 19th November 2009 18:57

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

ZEman 19th November 2009 20:05

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

ivagor 20th November 2009 10: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 20th November 2009 10:59

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

b2m 20th November 2009 11:26

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

Tim0xA 20th November 2009 11:52

1 Attachment(s)
Quote:

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

Есть двухбайтовая контрольная сумма в конце файла.

Code:

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

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

Quote:

Originally Posted by ivagor (Post 233823)
К слову, для лентяев вроде меня, кому хочется указывать минимум параметров для консольных приложений, версия bas2cas, написанная после Tim0xиной

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

bas2cas2 *

Ramiros 26th November 2009 19:20

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

Jons 26th November 2009 20:04

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

Quote:

Originally Posted by Ramiros (Post 236005)
Результат забавный получается

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

Ramiros 27th November 2009 13:25

Quote:

Originally Posted by Jons (Post 236015)
в VV прога clrs_.rom с процом Z80 изображение в право смещается, это так и должно быть?

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

ZEman 27th November 2009 13:58

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

Ramiros 27th November 2009 15:22

Quote:

Originally Posted by ZEman (Post 236182)
Ramiros, а ты можешь сделать утилиту rom2csw ?
очень нужно, та что у тебя с эмулятором идёт в комплекте у меня не запускается.
:)

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

ZEman 27th November 2009 18:26

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

Ramiros 28th November 2009 13:09

Quote:

Originally Posted by ZEman (Post 236241)
можно конеш и так, но это придётся сначала из rom переделывать в wav, а потом wavы конвертить в csw.

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

ZEman 28th November 2009 17:23

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

Tim0xA 30th November 2009 14:07

Выложил VV 6.05 и утилиту WAV2CSW

ZEman 30th November 2009 18:50

отлично.
утилита работает.
спасибо Ramiros,

Dmitry Dubrovenko 4th December 2009 11:38

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

Ramiros 4th December 2009 13:42

Quote:

Originally Posted by Dmitry Dubrovenko (Post 237796)
Сорри, но что-то никак не могу найти перечень соответствия клавишь.

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

Dmitry Dubrovenko 6th December 2009 00:05

Ramiros, тенкс.

Tim0xA 6th January 2010 20:44

В эмуляторе b2m не работает игра "Step And Jump"

Viknik 6th January 2010 21:08

Quote:

Originally Posted by Tim0xA (Post 246601)
В эмуляторе b2m не работает игра "Step And Jump"

И Chaser зависает

b2m 6th January 2010 22:46

Quote:

Originally Posted by Tim0xA (Post 246601)
В эмуляторе b2m не работает игра "Step And Jump"

Исправлено.

Viknik 7th January 2010 21:55

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

b2m 8th January 2010 00:08

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

Viknik 8th January 2010 02:44

Quote:

Originally Posted by b2m (Post 246910)
Всё вроде работает, я с недавних пор стрелки с дополнительной клавиатуры на обычные стрелки перебросил.

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

b2m 8th January 2010 11:37

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

helloworld 28th January 2010 12: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 28th January 2010 13:00

Одобрям.

Error404 28th January 2010 13:35

Quote:

Originally Posted by b2m (Post 252632)
Одобрям.

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

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

helloworld 28th January 2010 13: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 28th January 2010 13:48

Добавь ссылочки на средства разработки.

helloworld 28th January 2010 13:54

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

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


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

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