Это описание интерфейса магнитофона (НМЛ) на MSX.
Команды для работы с НМЛ из MSX BASIC описаны здесь.
Скорость передачи данных
Скорость работы по умолчанию может быть переопределена в операторе 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 с) |
В этом формате программы на языке MSX BASIC записываются командой SAVE
. Кроме этого, в коде ASCII записываются файлы, созданные при помощи команды OPEN
.
Формат текстового файла в коде ASCII:
Назначение | Длина/ длительность |
|
---|---|---|
Заголовок файла | Длинный заголовок | 6.7 с |
EAh × 10 | 10 байт | |
Имя файла | 6 байт | |
Тело файла | Короткий заголовок | 1.7 с |
Блок 1 | 256 байт | |
… | ||
Блок n | 256 байт |
Тело файла в этом формате состоит из произвольного количества блоков по 256 байт, перед каждым из которых имеется короткий заголовок. В последний блок должен быть включен код CTRL+Z — EOF (конец файла).
Программы на языке MSX BASIC записываются в этом двоичном формате командой CSAVE
, а считываются командой CLOAD
Назначение | Длина/ длительность |
|
---|---|---|
Заголовок файла | Длинный заголовок | 6.7 с |
D3h × 10 | 10 байт | |
Имя файла | 6 байт | |
Тело файла | Короткий заголовок | 1.7 с |
Программа на MSX-BASIC | ||
00h×7 | 7 байт |
Машинные коды записываются на ленту командой BSAVE
. В теле файла записываются начальный, конечный и стартовый адреса программы в кодах. Поэтому длина файла может быть вычислена автоматически и специальная отметка конца файла на ленте не хранится. Такие файлы можно считать командой BLOAD
Формат:
Назначение | Длина/ длительность |
|
---|---|---|
Заголовок файла | Длинный заголовок | 6.7 с |
D0h × 10 | 10 байт | |
Имя файла | 6 байт | |
Тело файла | Короткий заголовок | 1.7 с |
Начальный адрес | 2 байта | |
Конечный адрес | 2 байта | |
Стартовый адрес | 2 байта | |
Программа на MSX-BASIC |
На компьютере установлено гнездо DIN 45326 тип A:
№ | Сигнал | Описание |
---|---|---|
1 | GND | Сигнальная земля |
2 | GND | |
3 | GND | |
4 | CMT OUT | Выход |
5 | CMT IN | Вход |
6 | REM+ | Управление мотором |
7 | REM- | |
8 | GND | Сигнальная земля |
Нумерация контактов разъёма 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