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

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


msx:data_recorder

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

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

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

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

  • 1200 бод(бит/с) — используется по умолчанию
  • 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

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

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

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

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

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

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

Назначение Длина/
длительность
Заголовок
файла
Длинный заголовок6.7 с
D3h × 1010 байт
Имя файла6 байт
Тело
файла
Короткий заголовок1.7 с
Программа на MSX-BASIC
00h×77 байт

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

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

Формат:

Назначение Длина/
длительность
Заголовок
файла
Длинный заголовок6.7 с
D0h × 1010 байт
Имя файла6 байт
Тело
файла
Короткий заголовок1.7 с
Начальный адрес2 байта
Конечный адрес2 байта
Стартовый адрес2 байта
Программа на MSX-BASIC

Разъём DIN

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

Сигнал Описание
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 через PPI

Ссылки

msx/data_recorder.txt · Последние изменения: 2023-03-13 20:02 — GreyWolf