Делали для анализатора спектра радара (про радар -- это уточнение из статьи).
Не думаю что для той работы им нужна была широкая совместимость. Скорее, это появилось уже при переходе к массовому производству.
Вид для печати
Да нет, вроде и статье и на словах пишут что наоборот делали типа для себя,для разных приборных применений, а потом их насильно принудили школьный вариант делать
Разыскиваю SYSMAC.SML к Немиге.
nzeemin,
https://img-fotki.yandex.ru/get/5867...d10f3_orig.png https://img-fotki.yandex.ru/get/6174...0fb52_orig.png
https://img-fotki.yandex.ru/get/5997...63baf_orig.png https://img-fotki.yandex.ru/get/5321...76c40_orig.png
https://img-fotki.yandex.ru/get/2720...ce9dd_orig.png https://img-fotki.yandex.ru/get/2940...b3bc9_orig.png
https://img-fotki.yandex.ru/get/5182...5ddd6_orig.png
- - - Updated - - -
BASIC2.SAV -- какая-то модификация Вильнюс-Бейсик:
https://img-fotki.yandex.ru/get/4436...28000_orig.png
Неполный листинг дизасма прошивки 3.03:
https://github.com/nzeemin/nemigabtl...nemiga-303.lst
Описание Пакет "Система"(версия "Немига-0/1") -- файл PRINT.LST с диска 12B.DSK от BYTEMAN, сконвертированный в КОИ-8.
Описание Пакет "Система V5.2#" -- файл SYS52.LST с диска 01B.DSK от BYTEMAN, сконвертированный в КОИ-8.
Диски для 3.03 можно отличить тем что система имеет название NEMIGA.SYS, а для новых версий это RT11SJ.SYS.
Интересно, что в BASIC для Немига был реализован оператор PLAY -- его не было в оригинальном Бейсик-Вильнюс.
Разбираюсь со звуком.
Есть два таймера.
Таймер 1 — на 8 МГц, задержка задаётся в регистре 170022. Плюс для этого таймера есть делитель на степени двойки, задаваемый битами 0..2 регистра 170030 — это «октава». Так, например, для получения ноты A4 («ля» первой октавы, 440 Гц) мы задаём октаву 4 и задержку 1136, получаем: 8000000 / 2/2/2/2/ 1136 ~= 440.14 Гц.
Таймер 2 — на 50 Гц, задержка задаётся в регистре 170024. Используется для контроля длительности ноты.
Громкость 0..3 задаётся битами 4..3 регистра 170030.
Вот так заданы интервалы для нот (3.03):
Обращение к 170026 — включает звук.Код:; Значения задержки первого таймера для нот
162624: DW 000000, 003570, 003414, 003246, 003110, 002754, 002630, 002510
162644: DW 002374, 002264, 002160, 002061, 001764, 000000, 000000, 000000
Обращение к 170032 — переключает состояние звука вкл/выкл.
При этом таймер работает независимо от того, включен ли звук.
Схемы Немига из ТО в виде сшитых картинок (для удобства разглядывания):
https://img-fotki.yandex.ru/get/5590..._c7c99f10_orig -- модуль процессора
https://img-fotki.yandex.ru/get/4408..._662bbf61_orig -- модуль ОЗУ
https://img-fotki.yandex.ru/get/3876..._7c63cc6f_orig -- таймер