Важная информация

User Tag List

Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 16

Тема: Утилита конвертирования BAS/BIN для записи на ленту - MSXCAS

  1. #1
    Veteran
    Регистрация
    06.02.2009
    Адрес
    Кемерово
    Сообщений
    1,327
    Спасибо Благодарностей отдано 
    57
    Спасибо Благодарностей получено 
    162
    Поблагодарили
    129 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию MSXCAS - программа преобразования BAS/BIN для записи на ленту и обратно.

    Актуальные исходники MSXCAS: https://gitflic.ru/project/marinovsoft/msxcas
    Как работать с MSXCAS: https://zx-pk.ru/threads/29539-utili...l=1#post981495
    Как потом загрузиться с магнитофона: Описание команд 1, Описание команд 2, Описание команд 3, Описание команд 4
    Архив со всеми найденными в образах BIN-файлами (программы в машинных кодах): https://yadi.sk/d/yqcaTOkt3XnTRP
    Документация по формату кассетных файлов: http://marinovsoft.narod.ru/pk8020.htm
    ---Serebriakov

    MSXCAS - программа преобразования BAS/BIN-программ в звуковые файлы формата WAV (и обратно) для дальнейшей загрузки BAS/BIN программы на Корвете через магнитофонный вход. Полученный WAV можно записать на магнитную ленту и проиграть через магнитофон или просто проиграть через плеер/линейный выход компьютера.

    Программа работает со "звуковыми" файлами формата RAW, которые затем легко конвертируются в WAV и обратно, с помощью любого аудио-редактора (Sound Forge, Audacity и т.п.). В версии 2.3 можно напрямую сохранять в WAV.
    В архиве с программой MSXCAS есть подробный readme.txt, где расписаны параметры конвертирования в WAV, а так же подробнейшая инструкция по работе с программой.
    Настоятельно рекомендую прочитать readme.txt, чтобы не задавать лишних вопросов.

    Скачать MSXCAS:

    Новая версия MSXCAS v2.3.1 + SOURCES
    + Программа пытается повысить совместимость некоторых токенизированных бейсик-файлов с ПЗУ-Бейсиком Корвет для их успешной загрузки.
    + Добавлена настройка адреса загрузки и выполнения. (См. меню File).
    + Добавлена возможность формирования WAV файла вместо RAW, чтобы не мучиться каждый раз с звуковым редактором.
    * Исправлены некоторые мелкие ошибки.
    * Увеличена скорость работы.
    Исходники компилировать FPC 2.6.4 (Win32 версия, выбор именно этого релиза компилятора выбран как последний работающий с Win98) или FPC 3.0.4 (DOS32 версия, не тестировалась).

    Стабильная версия MSXCAS v2.0 (год выпуска 2009)
    Если что-то не работает в более новых версиях, проверьте эту. Исходники компилировать Virtual Pascal 2.1 build 279 либо BP/TP для DOS-версии.

    Устаревшие, экспериментальные и нерекомендованные к использованию версии.

    Скрытый текст


    Раз уж есть, то пусть останутся для истории.
    MSXCAS 2.3.0 + Source
    MSXCAS v2.02 + SOURCES
    MSXCAS v2.1 TEST
    MSXCAS v2.1 + SOURCES
    [свернуть]
    Последний раз редактировалось marinovsoft; 14.04.2023 в 18:21. Причина: Отрезал обсуждение MSXCAS в отдельную тему и оформил шапку
    ПК8010 "Корвет"+ExtRom+AY, Atari 65XE+SDrive, Дельта-С(52ИС)+AY, Scorpion ZS 1024+SMUC

  2. Этот пользователь поблагодарил marinovsoft за это полезное сообщение:

    Serebriakov (05.01.2020)

  3. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  4. #2
    Moderator Аватар для Serebriakov
    Регистрация
    06.04.2013
    Адрес
    г. Могилев, Беларусь
    Сообщений
    253
    Записей в дневнике
    3
    Спасибо Благодарностей отдано 
    109
    Спасибо Благодарностей получено 
    55
    Поблагодарили
    26 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Президента (PREZ2.BAS) после MSXCAS2.1 мне не удалось заставить грузиться ни на эмуляторе, ни на реальной машине. Т.е. загрузка начинается, файл на ленте находит, но загрузка не заканчивается, когда лента закончилась. Вот архив для сравнения: https://yadi.sk/d/gmYjFPQ8Ah6QtQ
    Иногда MSXCAS отрабатывает как положено, иногда нет. В чем проблема непонятно. Про глюки с русскими или длинными путями знаю - запускаю MSXCAS почти из корня диска.

    - - - Добавлено - - -

    Кстати, MSXCAS 2.0 на конвертировании Президента вообще вылетает. Мб какой-нибудь неопознанный токен?
    Последний раз редактировалось Serebriakov; 21.09.2018 в 10:54.

  5. #3
    Veteran
    Регистрация
    06.02.2009
    Адрес
    Кемерово
    Сообщений
    1,327
    Спасибо Благодарностей отдано 
    57
    Спасибо Благодарностей получено 
    162
    Поблагодарили
    129 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Serebriakov, в каком эмуле есть загрузка с ленты?

    - - - Добавлено - - -

    Цитата Сообщение от Serebriakov Посмотреть сообщение
    Кстати, MSXCAS 2.0 на конвертировании Президента вообще вылетает. Мб какой-нибудь неопознанный токен?
    R/O с файлов снимите.
    Последний раз редактировалось Serebriakov; 21.09.2018 в 11:08.
    ПК8010 "Корвет"+ExtRom+AY, Atari 65XE+SDrive, Дельта-С(52ИС)+AY, Scorpion ZS 1024+SMUC

  6. #4
    Moderator Аватар для Serebriakov
    Регистрация
    06.04.2013
    Адрес
    г. Могилев, Беларусь
    Сообщений
    253
    Записей в дневнике
    3
    Спасибо Благодарностей отдано 
    109
    Спасибо Благодарностей получено 
    55
    Поблагодарили
    26 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от marinovsoft Посмотреть сообщение
    Serebriakov, в каком эмуле есть загрузка с ленты?
    Упоминание MSXCAS вы увидели, а про ленту чуть ниже пропустили? Понятное дело не с реальной ленты, а с WAV файла в обе стороны:

    Цитата Сообщение от Serebriakov Посмотреть сообщение
    Протестировать загрузку с магнитафона можно в эмуляторе B2M:
    https://yadi.sk/d/KwY0WiZO3XoGN7 - по ссылке сборка, где выброшено все кроме конфига Корвета с эмуляцией магнитафона. В эмуляторе пишете команду загрузки LOAD "CAS:NAME",B,R для бинарников (например, TETRIS.wav) или LOAD "CAS:NAME",A,R для ASCII-файлов (например, mozhno.wav), потом ENTER и жмете на значок Play "->", чтобы выбрать WAVE для загрузки. Я приложил пару тестовых файлов в папке TEST_WAV. Чтобы ввести двоеточие в b2m нужно нажать клавишу "+" слева от backspace (неочевидно, пришлось поискать )

  7. #5
    Veteran
    Регистрация
    06.02.2009
    Адрес
    Кемерово
    Сообщений
    1,327
    Спасибо Благодарностей отдано 
    57
    Спасибо Благодарностей получено 
    162
    Поблагодарили
    129 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    В emu B2M стандартно нет загрузки с ленты. Дайте соответствующий cfg.
    Последний раз редактировалось marinovsoft; 20.09.2018 в 18:25.
    ПК8010 "Корвет"+ExtRom+AY, Atari 65XE+SDrive, Дельта-С(52ИС)+AY, Scorpion ZS 1024+SMUC

  8. #6
    Moderator Аватар для Serebriakov
    Регистрация
    06.04.2013
    Адрес
    г. Могилев, Беларусь
    Сообщений
    253
    Записей в дневнике
    3
    Спасибо Благодарностей отдано 
    109
    Спасибо Благодарностей получено 
    55
    Поблагодарили
    26 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от marinovsoft Посмотреть сообщение
    Еще раз: в каком эмуле?
    Еще раз: в универсальном эмуляторе B2M: http://bashkiria-2m.narod.ru/index/files/0-11

    Только, чтобы Корвет в нем поддерживал магнитофон, нужно дописать строки в конфиг:
    Цитата Сообщение от DDp Посмотреть сообщение
    EMU (b2m). Добавить в конфиг Корвета:
    Код:
    cas : tape-recorder {
      record=ppa2.portC[1]
      playback=ppa1.portA[0]
    }
    Выше я давал ссылку на сборку эмулятора с исправленным конфигом под эмуляцию магнитафона у Корвета: https://yadi.sk/d/KwY0WiZO3XoGN7
    Последний раз редактировалось Serebriakov; 20.09.2018 в 18:29.

  9. #7
    Veteran
    Регистрация
    06.02.2009
    Адрес
    Кемерово
    Сообщений
    1,327
    Спасибо Благодарностей отдано 
    57
    Спасибо Благодарностей получено 
    162
    Поблагодарили
    129 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Serebriakov Посмотреть сообщение
    Иногда MSXCAS некорректно создает свои RAW-ы из BAS-файлов, тогда получить нужный WAVE можно так же из эмулятора B2M. Жмете в эмуляторе значок записи Record "O" , выбираете файл куда записывать. Далее загружаете нужный BAS в интерпретатор BASICа и делаете SAVE "CAS:NAME".
    Ну программа-то как раз корректно работает, а вот о том, что (токенизированные) файлы от дискового бейсика можно загружать в кассетный бейсик нигде не сказано. Во-первых, в файле дискового бейсика может первый байт может быть 0xFF и он его пропускает при загрузке, а вот кассетный грузит его криво. А во-вторых, кассетный бейсик игнорирует тот факт, что встретив номер строки равным нулю, он должен прекратить загрузку (конец файла). Методом научного тыка анализа и перебора выяснено, что достаточно десяти нулевых байт.
    Вроде работает, тестируйте, может что и поломал в процессе.
    http://marinovsoft.narod.ru/korvet/msxcas_202.7z
    А вообще, х.з. вроде должна быть терминация
    Код:
           2  bytes     0000h zero origin, no further lines following
        7-8  bytes     terminator, seven or eight 00h bytes
    Последний раз редактировалось marinovsoft; 20.09.2018 в 23:54.
    ПК8010 "Корвет"+ExtRom+AY, Atari 65XE+SDrive, Дельта-С(52ИС)+AY, Scorpion ZS 1024+SMUC

  10. #8
    Moderator Аватар для Serebriakov
    Регистрация
    06.04.2013
    Адрес
    г. Могилев, Беларусь
    Сообщений
    253
    Записей в дневнике
    3
    Спасибо Благодарностей отдано 
    109
    Спасибо Благодарностей получено 
    55
    Поблагодарили
    26 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от marinovsoft Посмотреть сообщение
    Методом научного тыка анализа и перебора выяснено, что достаточно десяти нулевых байт.
    А не может быть такого, что там требуется не десять нулевых байт, а какое-то определенное количество, скажем, чтобы завершить блок данных какой-то установленной в кассетном бейсике длины? Например, если блок в конце получается меньше чем надо, он завершается нулями до этой самой установленной длины блока.

  11. #9
    Veteran
    Регистрация
    06.02.2009
    Адрес
    Кемерово
    Сообщений
    1,327
    Спасибо Благодарностей отдано 
    57
    Спасибо Благодарностей получено 
    162
    Поблагодарили
    129 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Не, я вон выше из доки по MSX скопировал, должно быть два нулевых байта - номер строки и еще 7-8 нулевых байтов как конец файла, но Корвету 7 мало, нужно 8. Итого 10.
    Последний раз редактировалось Serebriakov; 21.09.2018 в 11:35.
    ПК8010 "Корвет"+ExtRom+AY, Atari 65XE+SDrive, Дельта-С(52ИС)+AY, Scorpion ZS 1024+SMUC

  12. #10
    Moderator Аватар для Serebriakov
    Регистрация
    06.04.2013
    Адрес
    г. Могилев, Беларусь
    Сообщений
    253
    Записей в дневнике
    3
    Спасибо Благодарностей отдано 
    109
    Спасибо Благодарностей получено 
    55
    Поблагодарили
    26 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Стоит написать о некоторых особенностях, при работе с MSXCAS (на самом деле граблях, на которые я наступил ):

    1. MSXCAS вылетает на длинных путях - кладем ее поближе к корню диска. Так же программа вылетает, если в пути есть русские символы.

    2. MSXCAS не может прочитать файл, если у него стоит атрибут "Только для чтения". При преобразовании в RAW/WAV через Меню "New" MSXCAS просто останавливается на открытии такого файла и ничего не делает - пишет: Reading file и все. Так же станет невозможным преобразование из токенизированного BAS-файла в нетокенизированный ASCII-файл - будет выдана ошибка: Error reading file.

    3. MSXCAS определяет, что ей подсунули токенизированный бинарный BASIC-файл или нетокенизированный текстовый ASCII-файл по расширению файла. Расширения *.TXT и *.BAS считаются нетокенизированными текстовыми ASCII-файлами, а *.CAS токенизированными бинарными BASIC-файлами. Так же программа умеет преобразовывать в RAW/WAV еще и *.BIN - программы в машинных кодах, но к BASIC'у это уже не относится.

    а) Если мы хотим преобразовать токенизированный бинарный BAS-файл NAME.BAS в RAW/WAV, нам нужно:
    1. Переименовать файл (изменить его расширение) с NAME.BAS на NAME.CAS, иначе программа будет считать файл текстовым ASCII-файлом.
    2. Если хотим получать сразу WAV, без необходимости преобразовывать потом RAW в WAV отдельно в аудиоредакторе, жмем F10 - File - Options - [X] Write Wave - Ok .
    3. Жмем F10 - File - New .
    4. Выбираем наш NAME.CAS .
    5. Получаем WAV файл для записи на ленту. Если мы получили RAW, его можно открыть и пересохранить в WAV, с помощью любого аудио-редактора (Sound Forge, Audacity и т.п.). Параметры аудиофайла MSXCAS выдаст при конвертировании.
    6. Грузимся с магнитофона (плеера) или в эмуляторе командой: LOAD "CAS:NAME",R (имя файла NAME можно не вводить).

    б) Для преобразования нетокенизированного текстового ASCII-файла в RAW/WAV все то же самое, но расширение файла должно быть NAME.BAS или NAME.TXT. Кодировка текстового файла KOI8-R. Для загрузки потом вводить: LOAD "CAS:NAME",A,R .

    в) Для преобразования токенизированного BAS-файла NAME.BAS в нетокенизированный ASCII-файл NAME.TXT, нам нужно:
    1. Переименовать файл (изменить его расширение) с NAME.BAS на NAME.CAS, иначе программа будет считать файл текстовым ASCII-файлом.
    2. Жмем F10 - File - Open - вводим *.* , чтобы показывало все файлы, а не только *.RAW.
    3. Выбираем наш NAME.CAS .
    4. Жмем F10 - Decode - Bas Decode.
    5. Получаем детокенизированный ASCII-файл с расширением BAS, который потом можно переименовать в TXT и посмотреть Блокнотом (например, AkelPad или Notepad++) в кодировке KOI8-R (иногда в ISO 8859-5).
    Последний раз редактировалось Serebriakov; 08.10.2018 в 04:45.

Страница 1 из 2 12 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Ответов: 62
    Последнее: 14.04.2023, 06:55
  2. Создать +3DOS заголовки к bas-файлу для запуска на esxDOS
    от nihirash в разделе Внешние накопители
    Ответов: 8
    Последнее: 03.04.2018, 14:51
  3. Ответов: 20
    Последнее: 06.05.2015, 18:48
  4. Ответов: 10
    Последнее: 30.05.2014, 11:58
  5. плеер для sega и конвертер wav to bin
    от Renegade в разделе SEGA
    Ответов: 0
    Последнее: 26.09.2012, 14:36

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •