Инструменты пользователя

Инструменты сайта


msx:data_recorder

Это старая версия документа!


MSX — НМЛ (Накопитель на магнитной ленте)

Это описание интерфейса магнитофона (НМЛ) на MSX.

Команды для работы с НМЛ описаны здесь.

Скорость передачи данных

  • 1200 бод (1200 бит/с) — используется по умолчанию
  • 2400 бод (2400 бит/с)

Скорость работы по умолчанию может быть переопределена в операторе SCREEN, подробнее здесь.

Для кодирования сигнала используется частотная модуляция.

Описание алгоритма:

Скорость Значение Частота (Гц) Число периодов Форма сигнала
1200 0 1200 1
|           |           |
|           ┌───────────┐
|           │           │  
|───────────┘           └
1 2400 2
|     |     |           |
|     ┌─────┐     ┌─────┐
|     │     │     │     │
|─────┘     └─────┘     └
2400 0 2400 1
|     |     |           |
|     ┌─────┐           |
|     │     │           |
|─────┘     └           |
1 4800 2
|  |  |     |           |
|  ┌──┐  ┌──┐           |
|  │  │  │  │           |
|──┘  └──┘  └           |
|  |  |     |           |
◄───────────────────────►──────────
|  |  |     |               2983 T
|  |  |     |              (833 мс)
◄───────────►──────────
|  |  |        1491 T (417 мс)
◄─────►───────────
|  |    746 T (208 мс)
◄──►────────
|  | 373 T (104 мс)

Кодирование одного байта

Один байт данных кодируется последовательностью битов, то есть одиннадцатью битами:

      LSB                         MSB
       0   1   2   3   4   5   6   7
─┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─
 │ 0 │ X │ X │ X │ X │ X │ X │ X │ X │ 1 │ 1 │ 
─┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴─
 └─┬─┘└───────────────┬─────────────┘└───┬───┘
Стартовый          Данные             Конечные
   бит                                  биты

Кодирование заголовка

Заголовок (header) — это группа сигналов специальной частоты, записанных на ленте, которая используется для стабилизации ленты и определения скорости передачи информации после начала движения ленты или для разделения двух файлов. В первом случае используется «длинный» заголовок, во втором - «короткий».

Скорость передачи Заголовок Представление заголовка
1200 бод Длинный 2400 Гц × 16000 (≈6.7 с)
Короткий 2400 Гц × 4000 (≈1.7 с)
2400 бод Длинный 4800 Гц × 32000 (≈6.7 с)
Короткий 4800 Гц × 8000 (≈1.7 с)

Форматы файлов

Файлы текстов в коде ASCII

В этом формате программы на языке basic записываются командой SAVE. Кроме этого, в коде ASCII записываются файлы, созданные при помощи команды OPEN.

Формат текстового файла в коде ASCII:

Назначение Длина/
длительность
Заголовок
файла
Длинный заголовок6.7 с
EAh × 1010 байт
Имя файла6 байт
Тело
файла
Короткий заголовок1.7 с
Блок 1256 байт
Блок n256 байт

Тело файла в этом формате состоит из произвольного количества блоков по 256 байт, перед каждым из которых имеется короткий заголовок. В последний блок должен быть включен код CTRL+ZEOF (конец файла).

Двоичный BASIC–формат

Программы на языке basic записываются в этом двоичном формате командой CSAVE, а считываются командой CLOAD

        Заголовок файла                   Тело файла
               │                               │
┌──────────────┴───────────────┐┌──────────────┴───────────────┐
┌──────────┬────────┬───────────┬──────────┬───────────┬───────┐
│ Длинный  │ D3h×10 │ Имя файла │ Короткий │ MSX-BASIC │ 00h×7 │
│ заголовок│        │           │ заголовок│ программа │       │
└──────────┴────────┴───────────┴──────────┴───────────┴───────┘
   6.7 с     10 байт   6 байт       1.7 с   Любая длина  7 байт

Двоичный BASIC–формат

Машинные коды записываются на ленту командой BSAVE. В теле файла записываются начальный, конечный и стартовый адреса программы в кодах. Поэтому длина файла может быть вычислена автоматически и специальная отметка конца файла на ленте не хранится. Такие файлы можно считать командой BLOAD

Формат:

       Заголовок файла                Тело файла
            │                             │
┌───────────┴──────────┐┌─────────────────┴─────────────────────┐
┌─────────┬──────┬──────┬─────────┬────────┬──────┬──────┬──────┐
│Длинный  │D0h×10│ Имя  │Короткий │Начальн.│Конечн│Старт.│Тело  │
│заголовок│      │ файла│заголовок│адрес   │адрес │адрес │прогр.│
└─────────┴──────┴──────┴─────────┴────────┴──────┴──────┴──────┘
    6.7 с  10 байт 6 байт   1.7 с   2 байта 2 байта 2 байта  …

Разъём DIN

На компьютере установлено гнездо DIN 45326 тип A:

Нумерация контактов:

 7   6
3  8  1
 5   4
   2
Сигнал Описание
1 GNDСигнальная земля
2 GND
3 GND
4 CMT OUTВыход
5 CMT INВход
6 REM+Управление мотором
7 REM-
8 GNDСигнальная земля

Разъёмы Jack

Нумерация контактов разъёма Jack начинается со стороны соединения с кабелем, используются вилки на 2 контакта:

╭────────────╮
│  	     ├─────┬┬─╮
│   	     ├─────┴┴─╯
╰────────────╯  1    2

Выход

Разъём Jack, диаметр 3,5 мм:

DIN Сигнал Jack
1 GND 1
4 CMT OUT 2

Подключается к разъёму для микрофона.

Уровень выходного сигнала: -45дБм±5дБм (0дБм = 0.755В).

Вход

Разъём Jack, диаметр 3,5 мм:

DIN Сигнал Jack
1 GND 1
5 CMT IN 2

Подключается к разъёму для наушников.

Уровень входного сигнала при частоте 1200Гц в пике 7мВ~22мВ.

Управление мотором

Разъём Jack, диаметр 2,5 мм:

DIN Сигнал Jack
7 REM- 1
6 REM+ 2

Управление осуществляется через реле по команде MOTOR

Ссылки

msx/data_recorder.1601905629.txt.gz · Последние изменения: 2020-10-05 16:47 — GreyWolf