User Tag List

Показано с 1 по 10 из 113

Тема: [Поиск 1] Кассетный интерфейс

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    Регистрация
    16.09.2010
    Адрес
    г. Москва
    Сообщений
    1,951
    Спасибо Благодарностей отдано 
    81
    Спасибо Благодарностей получено 
    261
    Поблагодарили
    125 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Ну, и как логичное продолжение, программа WAV2CAS. С ее помощью я оцифровал из доступных мне магнитофонных записей ISPP, BASIC и ISKATEL без ошибок. Конечно, я так же проверял декодирование файлов созданных утилитой CAS2WAV. В этом случае все тоже проходит без ошибок.

    Еще утилита имеет режим совместимости с компьютером MC-1502 (ключ /mc), поэтому может обрабатывать магнитофонные записи и от него. По сути разница не большая - Поиск придерживается оригинального формата заголовка от PCjr:
    PHP код:
    1 байт magic 0xA5
    8 байт 
    имя файла
    1 байт 
    тип
    2 байта 
    размер
    2 байта 
    сегмент
    2 байта 
    смещение 
    и хранит размер файла в байтах и для бинарных программ и для бейсиковых файлов, в то время как MC1502 для бинарных файлов (типы 02h и 08h) размер файла хранит в блоках по 256 байт.

    Так как все записи разные по уровню звука, качеству и даже длительности единиц и нулей (у MC-1502 она несколько выше за счет разогнанного таймера) программа пытается перебором подобрать оптимальные значения порога перепада импульса и полярности.
    Исхода может быть три:
    1) декодирование происходит без ошибок CRC.
    2) декодирование происходит с ошибками CRC, в этом случае выбираются такие значения, при которых количество ошибок CRC минимально.
    3) программа не обнаруживает пилот-тона или заголовка или в заголовке есть ошибка CRC. В этом случае декодирования не производится.

    Еще в программе есть "интеллектуальный" (c) алгоритм, который может помочь считать записи сделанные на "плавающем" магнитофоне. Суть вот в чем: если у 256 байтного блока оказывается неверная CRC, то программа начинает как-бы двигать его назад-вперед по аудио-потоку до разумных границ. То есть если мы сейчас читаем данные с позиции 1000 и у них неверная CRC, то давайте попробуем прочитать с позиции 999. А с позиции 1001? А с позиции 998? А с позиции 1002? И тд. Включается данный режим ключем /fixcrc . По умолчанию отключен, стоит попробовать включить когда данные декодируются с ошибками CRC.

    Я думаю (на реале пока нет возможности протестить), что с помощью двух этих утилит возможно совершенно безболезненно запустить кассетные программы и игры от MC-1502 на Поиске. Сначала декодируя файлы из WAV в CAS, а затем с помощью CAS2WAV преобразую в Поисковый формат.
    Вложения Вложения
    Последний раз редактировалось Tronix; 08.03.2017 в 09:22.

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

  3. #2

    Регистрация
    29.05.2010
    Адрес
    Москва
    Сообщений
    218
    Спасибо Благодарностей отдано 
    77
    Спасибо Благодарностей получено 
    13
    Поблагодарили
    12 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Tronix Посмотреть сообщение
    В то время, как MC-1502 размер сдвинул сразу за именем, а один байт типа - я не знаю юзает или нет. Но по сути он и не важен. Вот его заголовок:
    PHP код:
    1 байт magic 0xA5
    8 байт 
    имя файла
    2 байта 
    размер
    1 байт 
    тип (???)
    2 байта сегмент
    2 байта 
    смещение 
    Может банальная ошибка, когда биос писали. Потому как бейсиковские файлы от MC-1502 придерживаются все-таки стандартного заголовка PCjr (и поэтому для декодирования бейсиковых файлов от MC-1502 не нужно указывать ключ /mc)
    Tronix, у Вас некорректно описан формат заголовка МС1502.
    Кассетный заголовок в МС1502 имеет длину 17 байт, как и в Поиске. Назначения полей те же, что и в Поиске с небольшими отличиями:
    Байт 09 Тип файла: все типы Поиска + 02 - .C (COM с нулевого смещения) - файл, 08 - .E (EXE) - файл;
    Байт 0A-0B Длина: ВНИМАНИЕ!!! ДЛЯ ТИПОВ .C (02) И .E (08) ЭТО ЗНАЧЕНИЕ НУЖНО УМНОЖИТЬ НА 100h = 256!!! ТО ЕСТЬ ДЛИНА УКАЗАНА В БЛОКАХ!!! ДЛЯ ВСЕХ ОСТАЛЬНЫХ ТИПОВ УМНОЖАТЬ НА 100h НЕ НАДО!!!

  4. #3

    Регистрация
    16.09.2010
    Адрес
    г. Москва
    Сообщений
    1,951
    Спасибо Благодарностей отдано 
    81
    Спасибо Благодарностей получено 
    261
    Поблагодарили
    125 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от SoftCat Посмотреть сообщение
    Tronix, у Вас некорректно описан формат заголовка МС1502.
    Кассетный заголовок в МС1502 имеет длину 17 байт, как и в Поиске. Назначения полей те же, что и в Поиске с небольшими отличиями:
    Байт 09 Тип файла: все типы Поиска + 02 - .C (COM с нулевого смещения) - файл, 08 - .E (EXE) - файл;
    Байт 0A-0B Длина: ВНИМАНИЕ!!! ДЛЯ ТИПОВ .C (02) И .E (08) ЭТО ЗНАЧЕНИЕ НУЖНО УМНОЖИТЬ НА 100h = 256!!! ТО ЕСТЬ ДЛИНА УКАЗАНА В БЛОКАХ!!! ДЛЯ ВСЕХ ОСТАЛЬНЫХ ТИПОВ УМНОЖАТЬ НА 100h НЕ НАДО!!!
    Ну может быть. Я ж этой машиной тоже не знаком, в основном для Поиска писал тулзы. В любом случае сорцы я выложил - пару строк исправить не трудно.

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

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

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

Похожие темы

  1. Новый, более эффективный кассетный формат
    от Barmaley_m в разделе Программирование
    Ответов: 312
    Последнее: 11.08.2018, 18:21
  2. [Поиск 1] Кассетный софт
    от BYTEMAN в разделе Поиск
    Ответов: 12
    Последнее: 21.05.2017, 18:17
  3. Кассетный магнитофон.
    от Николай в разделе Барахолка (архив)
    Ответов: 1
    Последнее: 03.04.2010, 15:49
  4. Куплю Магнитофон кассетный Электроника-302-1
    от hardrice в разделе Барахолка (архив)
    Ответов: 16
    Последнее: 18.02.2010, 12:13
  5. Ответов: 13
    Последнее: 05.11.2007, 22:48

Ваши права

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