Для работы конвертера нужна программа Matlab, которая, какбэ, платная.А что это значит ? Загрузчик платный ?
Для работы конвертера нужна программа Matlab, которая, какбэ, платная.А что это значит ? Загрузчик платный ?
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Если что, есть программа Octave, которая может исполнять код Matlab и которая бесплатная.
Кроме того, ничто не мешает перевести конвертор на другой язык программирования. Я просто делал его на Матлабе для тестирования загрузчика, т.к. это было для меня наиболее быстрым и простым решением. Алгоритм там простой, конвертор кодированием 8b/10b не занимается, а просто переводит 16-битный сигнал из формата wav в однобитный сигнал формата tzx. Впоследствии я планировал сделать другой, более эффективный конвертор, который бы использовал формат tzx более рационально, так что размер tzx-файлов был бы существенно меньше.
Может лучше перевести с матлаба на язык R, среда для которого бесплатна?
---------- Post added at 10:16 ---------- Previous post was at 09:37 ----------
есть еще такой довольно важный вопрос - каким образом для этого формата записи можно реализовать автостарт магнитофона? Т.е. как определить в эмуляторе, что программа начала чтение с магнитофона?
С существующими алгоритмами новый формат не дружит, отчего и происходит ошибка чтения - эмулятор детектит окончание чтения и делает стоп магнитофона. Возможно можно доработать процедуру загрузки для совместимости с существующими алгоритмами автостарта?
---------- Post added at 10:23 ---------- Previous post was at 10:16 ----------
Чтобы загрузчик нового формата дружил с автостартом, нужно чтобы он учитывал, что магнитофон остается в режиме play в течении 0.5-1 сек, если соблюдаются следующие условия:
1) порт опрашивается чаще чем 96 тактов
2) значение PC соответствует предыдущему опкоду IN
3) изменился только один регистр из следующих: A,B,C,D,E,H,L
4) изменение регистра было на ±1
5) условия 1-4 выполнились 8 раз подряд
6) над прочитанным значением производится операция AND 32 или AND 64
Без поддержки автостарта новый формат записи врядли получит распространение, т.к. делает загрузку в эмуляторах неудобной.
Последний раз редактировалось ZXMAK; 23.05.2013 в 11:19.
ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet
А чем бесплатный GNU Octave не устраивает?
Вообще это временный конвертор, который я использовал для целей отладки. На Матлабе писал, чтобы быстро получить результат, остальное не заботило. Выложил потому, что на данный момент другого нет. Когда полностью будет налажен формат, учитывая сообщенные в этой теме отрицательные результаты испытаний - появится смысл сделать другой, лучший конвертор, скорее всего, на C++. И не из формата wav, а из того же tap, чтобы сразу обрабатывать много блоков данных, как будто копировщиком скопировал.
Что-то уж больно жесткие условия. С ними я совместимости не могу сделать аж никак. Разве только во время ожидания пилоттона и первой стадии его загрузки, что делается в моем загрузчике таким же кодом, как в оригинале.
И да, присоединяюсь к вопросу psb: кто принял такой стандарт и в каких эмуляторах он используется?
---------- Post added 24.05.2013 at 00:05 ---------- Previous post was 23.05.2013 at 23:59 ----------
Формат разрабатывался, главным образом, не для использования на эмуляторе, а для использования на реале, с реальными магнитофонами. Если в большинстве эмуляторов применяется ускорение процесса загрузки, так что в реальном времени проходят секунды - какой смысл увеличивать плотность записи, заботиться об устойчивости к помехам?
Из тех что знаю - ZXMAK2, ZERO, SpecEmu - точно, еще несколько эмуляторов но каких именно не помню - давно уже этот вопрос обсуждали на WOS. Вроде этот-же алгоритм в Spectaculator используется. Ну в и других эмуляторах с поддержкой автостарта.
---------- Post added at 01:40 ---------- Previous post was at 01:35 ----------
ты немного не понял, суть автостарта не в ускорении загрузки, а в том что магнитофон автоматически включается/выключается в режим проигрывания как только программа начинает читать магнитофон. Т.е. не нужно дергаться, нажимая Play/Stop - все происходит автоматически. Набираешь LOAD "" <ENTER> и магнитфон сам включился в режим проигрывания, закончилась загрузка и магнитофон сам остановил режим проигрывания. Это мега-удобно! Привыкаешь настолько что потом испытываешь дискомфорт от необходимости вручную включать выключать магнитофон.
---------- Post added at 01:43 ---------- Previous post was at 01:40 ----------
если не будет поддержки автостарта, то большинство юзеров не сможет открыть tzx файлы в твоем формате, т.к. магнитофон будет автоматически стопаться. Не каждый додумается лезть в настройки отключать автостарт, чтобы потом дергаться включая/выключая проигрывание. В начале этой ветки - наглядный пример с Tape loading error, который именно из за отсутствия поддержки автостарта возникает.
Почему это проблематчино не представляю - ты сам говорил что в загрузчике есть свободные такты, если существующий IN не подходит, то можно добавить холостой.
Последний раз редактировалось ZXMAK; 25.05.2013 в 02:56.
ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet
Аааа ... Так это мелочи ... Значит просто надо написать свою програмку. Главное что есть инструмент и способ его применения.
Если Barmaley_m будет не против, обязательно использую этот формат. Надо будет теперь составить битовую структуру разных образов и изучить надёжность поиска данных внутри потока.
AAA когда меня режут, я терплю, но когда дополняют, становится нестерпимо.
Robus, там программа на реалах не совсем работает.
С уважением,
Jerri / Red Triangle.
AAA когда меня режут, я терплю, но когда дополняют, становится нестерпимо.
Попробовал на эмуряторе zx-spin, z80stealth, zxmak.net — картинка со сбоями аналогично spectaculator'у.
Последний раз редактировалось drbars; 20.05.2013 в 12:26.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)