Орион-128 сыграл важнейшую роль в моей жизни и вероятно в жизни всей семьи. В память о прекрасных годах юности, проведенных за Орионом, посвящается этот дневник - лабораторный журнал - воспоминания программиста. Дневник составлен на основе оригинального дневника тех лет, позднее дополненного воспоминаниями, подкрепленными анализом содержимого архивных кассет для Ориона-128, в том числе анализом исходников и программ.
Покупка Орион-128
|
Первое включение Орион-128
С подключением Ориона к телевизору (маленькому не цветному Сапфиру-404-01) проблем не возникло
(аутентичное фото 2004 года).
Некоторым сюрпризом было то, что Орион сразу после включения ничего не желал делать. Компы "Партнёр 01.01", единственные, которые я видел мельком в школе, при включении вываливались в интерпретатор бейсика и хоть как-то реагировали на клавиатурный ввод. Орион же игнорировал нажатия кнопок. Ну что же, мы додумались до того, что надо загрузить Орион с магнитофона. С магнитофоном не возникло проблем, имеющийся кассетный "Электроника-324" вполне подходил. Мы легко загрузили с кассеты OrDos 2.4L и получили приглашение командной строки. Однако что делать дальше, было решительно не понято. Следующие программы на кассете не желали грузиться подобно ДОСу из монитора: хотя фраза "ввод с магнитофона" висела в течение всей фонограммы, по окончанию мы опять оказывались в мониторе. Наши попытки загрузить с кассеты что-нибудь другое продолжались довольно долго, но безуспешно. Наконец с работы пришла мама. Она на работе сталкивалась с Ms Dos и Norton Commander и имела какие то представления о командной строке. Но главное, мама смело открыла руководство оператора, где всё необходимое было описано. Оказалось, сперва из OrDos надо запустить загрузчик командой "L Ch$". Через загрузчик можно грузить с касcеты остальные программы, в том числе графическую оболочку NC$. Теперь можно было пользоваться компьютером, изучать программы и игры, записанные на кассете. |
Резервная копия кассеты
На следующий день, пока брат был в школе, я попробовал сам загрузить Орион и всё такое. Но Диме, когда он вернулся, это не очень понравилось, потому что магнитофон мог зажевать пленку, а без единственной кассеты с софтом Орион-128 остался бы бесполезной железкой. Первым делом Дима решил задублировать все программы на дополнительную кассету. Обычные файлы можно было легко загрузить на квазидиск и затем записать на нужную кассету. Но с OrDos такой способ не прокатывал! Её просто не удавалось загрузить на квазидиск в виде файла. В итоге Диме пришлось копировать OrDos с одного магнитофона на другой чисто как звуковой фрагмент. Но это было не просто: не смотря на то, что копия OrDos звучала очень похоже, Орион с неё не загружался! Много пришлось повозиться Димке с настройкой головок у магнитофона и прочим, прежде чем удалось переписать работоспособную копию OrDos. |
Азы и игры
|
Программирование на бейсикеРуководство оператора Орион-128 содержало довольно приличное (27 страниц) описание языка бейсик с примерами. Так бейсик стал моим первым языком программирования. Бейсик Ориона был довольно мощным, в том плане что давал возможность работы с вещественными числам (не хуже микрокалькулятора!), строками, а также с приличными графическими возможностями Ориона. А что ещё нужно, если ты в душе программист?
|
Начало программирования на ассемблере
Но конечно, на таком компе с одним бейсиком далеко не уедешь.
В руководстве оператора было
краткое описание
структуры памяти компа, адресов портов,
На моё счастье в руководстве оператора в конце описания графического редактора Penx$ был приведен текст проги на ассемблере (да ещё с комментариями!) по распаковке сжатых файлов изображений Penx$ для их вывода на экран. Там же содержалась декларация нескольких функций OrDos. Я упорно пытался набрать и запустить этот пример, естественно не понимая синтаксис и алгоритм работы. Нескольку раз ничего не получалось: в полном виде код не собирался (опять опечатки!), а по частям - вообще убивал данные на квазидиске. Но в один прекрасный момент код почему то сработал и отобразил на экране картинку - только не из файла, а из игры тетрис, в которую я играл до того. Видимо по счастливой случайности картика тетриса оказалась по нужному адресу в памяти...
Вообще мы тогда не имели понятия, что Орион-128 это радиолюбительский компьютер,
что в журналах Радио есть принципиальные схемы, внятные описания функций монитора и OrDos,
что где-то существуют дополнительные программы для него.
Из журналов Радио у нас появились, и то не сразу, номера за 86-87 год. На моё счастье там как раз описывалась схемотехника
другого радиолюбительского компа "Радио-86РК", а в №5 за 1987 год на целом развороте был
опубликован
Также к Ориону прилагался дизассемблер Dis$. Он давал возможность получить листинги готовых программ. Самое главное, Assm$ успешно компилял результаты Dis$, что уже было успехом. При этом дизассемблер умел заменять адреса стандартных функций монитора на их мнемонические имена. Это не только упрощало восприятие: постепенно приходило понимание, что есть особые адреса вызова функций. Вообщем, далее я изучал ассемблер, функции Монитора и OrDos на примерах работы чужих программ. Например, влазя в Chr$ (не нужный на фиг загрузчик программ "Радио-86РК") удалось понять, как вообще происходит отрисовка изображений на экране. Тут уже и инструментальный монитор М128$ пошел в дело. Помню, с каким страхом я впервые осуществлял запись по адресу ПЗУ 0xf800. C одной стороны было уже понятно, что это ПЗУ, с другой - именно ПЗУ критично было не потерять. Но я смело решился на этот опыт. |
Скопирована OrDos
Удалось переписать (скопировать) OrDos через компьютер на магнитофон. Постепенно стало понятно, как работают функции монитора по приёму данных с магнитофона и их выгрузке. Это позволило данные OrDos загрузить с магнитофона в память "как есть", а потом выгрузить на магнитофон. Понимания внутренней структуры Dos пока не было, но важнейшая практическая проблема создания резервной копии OrDos была решена. |
Сетка для настройки телевизоров
|
Взлом игры Kort$
|
Nc встроена в OrDos
Создана версия магнитофонной ДОС со встроенной и самозапускающейся графической оболочкой NC$ (переименованной в EXT$). До этого всегда приходилось грузить OrDos, руками из командной строки запускать загрузчик прог с магнитофона (L Ch$), грузить с магнитофона NC$, а потом запускать из командной строки её. Ну тут я уже разобрался (дизассемблером!) с форматом и механизмом автозапуска кода, загружаемого с магнитофона монитором, и сделал всё на автомате. |
12.10.1996 (14.5 года, 9 класс школы)Для брата Димы, который как раз поступил в институт, программа решения СЛАУ методом Гаусса (на бейсике). |
Собственная быстрая ОС+NC
|
Текстовый редактор Lexicon
|
ПЗУ для Ориона
О том, что для Орион-128 существует ROM-диск и даже его стандартная поддержка в OrDos и NC, мы не знали. Руководство оператора содержало лишь загадочные намеки на ROM-диск A: на порту 0xf500.
Изучение дизассемблером кода монитора показало, что он при запуске пытается загрузить данные с порта f5.
Это также давало пример работы с портом, ведь описания микросхемы к580ВВ55, отвечающей за порты, у нас тоже не было.
Но мы как то поняли и подтвердили экспериментами,
что запись байт по адресам f501 и f502 отображается в соответствующие сигналы на выходе разъёма, а f500 работает на ввод.
К счастью к Ориону прилагалась разъём-заглушка для "проверки портов" через Ts2$,
а в руководстве по эксплуатации была
схема
распайки заглушки, где обозначались линии A,B,C.
Это означало, что к Ориону можно подключать всякие внешние самодельные схемки, что не могло не порадовать нас, радиолюбителей! В итоге стало понятно, что если подключить микросхему ПЗУ к порту f500, то Орион загрузится с неё. Сразу же была куплена микросхема РПЗУ К573РФ2 (2 кб, 4800 руб) и припаяна на панельке к разъёму, который шел в комплекте с Орионом. Что касается программатора ПЗУ, то описание процесса программирования РПЗУ и схема программатора для Радио РК-86 были представлены в журнале Радио за 1987 год, №8 . Схема, конечно, нам не пригодилась - какой это бред, подключать что-то к системной шине микропроцессора, да ещё и удлинять системный цикл записи! Насколько всё же Орион-128 лучше этого Радио-РК 86! Вообщем, написать свой программатор РПЗУ было достаточно тривиально: сигнал на запись просто выдавался со второго свободного порта f600. И вот наконец в этот день в порядке эксперимента был запрограммирован один байт в РПЗУ К573РФ2. Впрочем, вторая часть эксперимента была менее удачной: стереть РПЗУ фильмоскопом, эл. дугой, 200Вт лампой не удалось. А ДРЛ как источника УФ мы не знали: за все годы радиолюбительства целые ДРЛ-ки нам не попадались. Далее была сделана сборка собственного "ROM-диска" на 4 кб (2 микросхемы РФ2), который должен был содержать Dos и NC, но в первую микросхему что-то записалось с ошибками, да и сам код загрузчика, сделанный на скорую руку, был неработоспособен из-за ошибок. А стереть ПЗУ не получалось долго (см. далее 03.02.1997 и 28.06.2000). |
NNC2 и 3
|
Как солнце стирало ПЗУ
|
04.02.1997 (14.9 года, 9 класс школы)Думаю над введением в NNC расширений файлов. На улице пасмурно (ПЗУ не постираешь). |
Двойная скорость магнитофона
В то время я грузил Орион с магнитофона Электроника М327, которые содержал различные Димкины доработки, вроде стереоголовки для удвоения емкости кассеты. Там же был регулятор скорости движения ленты и выключатель для перехода на удвоенную скорость, что позволяло повысить качество аудиозаписей. Как то обнаружилось, что Орион-128 может читать записи на нестандартной, в том числе удвоенной скорости движения ленты, если использовать автоопределение константы считывания в NC$. Это значило, что скорость загрузки Ориона можно легко увеличить вдвое! Дальнейшие исследования показали, что нет нужды менять скорость движения пленки, достаточно перенастроить константы скорости для записи и чтения. В итоге была создана дополненная версия ДОС, которая при старте меняла константы считывания на нужные. И далее все записи Ориона на магнитофон делались на удвоенной скорости 2400 бод. Дима содержал магнитофоны в образцовом состоянии и это было абсолютно надежно. Впрочем, сам факт возможности таких выкрутасов с магнитофоном имел дальнейшие последствия, см. далее 1 кбайт/с, частотомер, запись музыки. |
На магнотофоне 1кбайт/с
На обычный магнитофон были успешно записаны и прочитаны данные на скорости 1 кбайт/сек. Для этого уже невозможно было использовать стандартные подпрограммы по работе с магнитофоном, были созданы собственные (рассчитанные до такта проца) реализации. Естественно алгоритм кодирования данных в звук пришлось получить и понять дизассемблированием стандартных подпрограмм. См. далее про высокоскоростную загрузку системы 13.08.1997 и 19.03.1998, а также встраивание высокой скорости в NC 31.05.1998. |
NNC4
|
Новый Lexicon$
|
Первая наша музыка на Орионе
Что касается генерации звуков на Орионе, то описание соответствующих функций нам не было доступно. Хотя в некоторых играх звук был не плохой, а в Manic$ была даже полифоническая музыка. И вот наконец дизассемблированием программы Dis$, которая, как не странно, содержит собственную подпрограмму генерации звуков нажатых клавиш, удалось вырвать соответствующую подпрограмму "пищания". На её основе сразу был создан примитивный музыкальный редактор - синтезатор. Как перевести код в частоту и ноту, не было понятно, поэтому синтезатор требовалось настраивать вручную. Но тем не менее Дима с ним игрался до 20.06.1997, подбирая разные песенки. См. далее строгий математический расчет звука 17.03.1998 |
MuzTime$
|
Число ПИ
|
Орион - частотомер!
|
NNC51
|
Упаковка экрана
|
Быстрая загрузка
Первые программы для высокоскоростной загрузки OrDoc с магнитофона (S1024.AS). Сперва на стандартных 1200 бодах грузился специально сделанный загрузчик, а далее ДОС (с кучей доп. файлов) грузилась со скоростью 1 кб/с. 08.09.1997 были ещё опыты с улучшенной загрузкой (1055.AS, S1055.AS, там уже вместо синхронизации "CMP M, JNZ" идет "CMP M, RNZ"). Cм. далее 19.03.1998. |
NNC52
|
Начала разработки RAM-диска
Конечно, мы не оставляли надежды заменить чем-то магнитофон. Именно в этом направлении проводились опыты с внешним ОЗУ. В это день был проведен ключевой опыт: микросхема памяти К556РТ5 (на 8 кбайт) была включена навесом (два бита адреса задавались выключателем) и она заработала! На следующий день правда оказалось, что микросхема требует регенерации, что усложняет схему. Но создание RAM-диска представлялось вполне реальным с учетом имеющихся знаний (см. далее 23.08.1998 и 11.05.1999). Помню одна микра К556РТ5 стоила 1000р (до деноминации 1998), и я безнадёжно мечтал, что когда-нибудь куплю 8 или 16 штук, но денег не было. |
22.10.1997 (15.6 года, 10 класс школы)Навесом включен процессор КР580ВМ80А. Без ОЗУ и ПЗУ, изучалось правильное тактирование и питание, которые для этого проца довольно мерзкие. Весь вопрос был в том, удастся ли обойтись без стандартной микры тактового генератора к580гф24, которой у нас не было. А глобально была задумка - сделать не просто RAM-диск, а с дополнительным процессором, ускоряющим перетаскивание файлов в памяти... |
09.11.1997 (15.6 года, 10 класс школы)Набирал и отлаживал дурацкие FOX1.BS, TS86.BS, ИСЗ1.BS из старых журналов Радио, видимо совершенно нечем заняться. |
15.12.1997 (15.7 года, 10 класс школы)Программа автоматического определения управляющих слов для порта кр580вв55 (раз уж документация недоступна). |
Живая музыка на Орионе
Дима собрал цифровой ревербератор (Радио 1986, №1, с.47) и он заработал с относительно нормальным качеством. Эта конструкция интересна во-первых, тем, что в ней нами использовались микросхемы ОЗУ К556РТ5, главные кандидаты на роль RAM-диска, это был ещё один повод их пощупать. Также ревербератор показывал пример практической оцифровки и вывода звука с градациями громкости. Примерно тогда мы додумались Орионом записать с магнитофона музыку в однобитном качестве. Музыка при этом быстро занимала всё ОЗУ, даже иногда видеопамять. Однако при хорошей пост - обработке тембра рок-музыка (любимая группа Маркиза) ревела здорово! Впрочем, однобитный сигма-дельта АЦП-ЦАП ревербератора тоже обеспечивал далеко не сидюшное качество, даже при дико увеличенном (до 1000 кбит/с) потоке. С тех пор я сильно предубежден против современных "высококачественных" сигма-дельта АЦП и ЦАП (будь они хоть на 24 и 32 бита - это ложь). Также данные от однобитного сигма-дельта АЦП сложно обрабатывать и анализировать в цифровой форме, хотя этого очень хотелось, см. далее 21.06.1998 и 05.03.1999. Далее мы много раз пытались сделать нормальный параллельный АЦП, например на К155ИР17. Однако с ним никогда ничего путного не получалось в плане звука, видно из-за отсутствия входного УВХ (хотя сделать УВХ на кондёре и ключе была бы не проблема, я не считал это необходимым). В конечном итоге мы всё же подключали к Ориону и однобитный сигма-дельта АПЦ-ЦАП от ревербератора (см. 12.10.1998 проект Кромсатель), и 8-битный АЦП собственного изготовления (см. 08.03.1999). Но это было бесперспективно, Орион всё же слабоват для живой музыки, голоса и цифровой обработки сигналов. |
08.02.1998 (15.9 года, 10 класс школы)Программа на бейсике для решения уравнений в целых числам по методичке учительницы по математике Матросовой Татьяны. Эх, лучше бы теорию чисел изучал, а не программировал хрень. |
26.02.1998 (15.9 года, 10 класс школы)Рисовал в Penx$ эмблемы АРИЯ1.PC и АРИЯ2.PC. Не иначе у программиста творческий кризис. |
Рекурсия на бейсике
|
Просмотрщик картинок
|
Одноголосая музыка с расчетом
Наконец додумался, как можно играть (одноголосую) музыку с точным математическим расчетом частоты нот и задержек. Программа на бейсике берет частоты нот (видимо таблица частот из книги «Шаг за шагом», как самому посчитать частоты строго я ещё не знал) и рассчитывает задержки, а asm-вставка играет, причем код задержек самомодифицируется с точностью до такта. Лунная соната (первая страница нот) прописана в asm-коде. См. далее 25.03.1998 |
19.03.1998 (16 лет, 10 класс школы)
Новые проги для высокоскоростной (1 кб/с) загрузки компа с магнитофона, теперь даже с рисованием прогресса загрузки. Также созданы средства для исполнения bat - файлов (прежде всего в стиле редактирование – компиляция - запуск). Теперь за раз быстро грузятся разные нужные файлы общей длиной в целых 18672 байта! См. далее 31.05.1998. |
Одноголосая музыка по нотам
ROYAL.AS, продолжение программы игры одноголосой музыки от 17.03.1998. теперь игра звука из текстовых файлов спец. формата (с адреса 0x1000), хари нот в отдельном файле (с адреса 0x4000). По реальным нотам сделано несколько текстовых файлов нот: край, лебеди, вечера, Паганини, герцог, тореодор. См. далее начала полифонии 31.07.1998 |
6.04.1998 (16 лет, 10 класс школы)Продолжение первой версии просмотрщика картинок от 8.03.1998, добавлена проверка типа файлов. Опять скука, попытки понабирать программу 1МИКРОН1 из Радио. |
11.04.1998 (16.1 года, 10 класс школы)LZ.AS, линза для отображения знакогенератора. |
24.04.1998 (16.1 года, 10 класс школы)Датирован последний файл крестиков-ноликов для qbasic, интересный прежде всего тем, что там в заставке использовалась технология Ориона, вывод крупных текстовых символов в графическом режиме. Только символы брались не из знакогенератора (как в Recl.bs), а из мелкой надписи на экране. |
Морзе-тренажер
|
5.05.1998 (16.1 года, 10 класс школы)Программа на бейсике по рисованию графика функции АЧХ.BS. Имеет ассемблерную вставку АЧХ.AS для быстрого отображения поверх графика вертикального маркера. Маркер перемещается вдоль x кнопками курсора, а бейсик показывает значение функции и аргумента. Видимо сделана для Димы. |
Кратчайший путь в графе
|
31.05.1998 (16.2 года, 10 класс школы)
Встраивание в NC$ поддержки скорости магнитофона 1027 кбайт/с, стандартные директивы O и I научил работать с высокой скоростью (но конечно при необходимости можно переключать на стандартную удвоенную). |
2.06.1998 (16.2 года, 10 класс школы)Вывод на бейсике увеличенного (растянутого по вертикали) символа знакогенератора, видно опять нечем заняться, ведь тривиально уже. Наверное были идеи сделать новые шрифты путем наклона существующих. |
Частотомер для радиопередатчика
|
Азы ЦОС
|
16.07.1998 (16.3 года, 10 класс школы)Программа на бейсике из журнала Радио для расчета антенны "Укороченный диполь" (Радио, 1987, №5, стр. 17-18). |
Идеи для многоголосой музыки
|
3.08.1998 (16.4 года, 10 класс школы)MKDOS$, делает на автомате копию ДОС в память как есть, включая заданные файлы с квазидиска и модуль для автозапуска (с цветным стартовым меню). Поддерживает "восстановление" системы - просто пропуская удаление файлов с квазидиска. |
Новый текстовый редактор
|
Число ПИ посчитано
|
23.08.1998 (16.4 года, 10 класс школы)
Дима разработал плату для установки 16 микросхем ОЗУ, значит мы серьёзно вели разработку собственного RAM-диска.
|
Пробы ПЗУ как ПЛИС
|
Приём сигналов Морзе
|
27.09.1998 (16.5 года, 11 класс школы)Продолжение экспериментов с многоголосым выводом звука, появляется четырехбитная резисторная звуковуха на порту f600. Данные готовятся в памяти, а затем выдаются (1 байт на 2 выборки). Ну конечно такая технология не могла быть использована практически, см. далее про синтез звука налету 01.07.1999 |
01.10.1998 (16.5 года, 11 класс школы)Окончательная версия программы расчета числа ПИ с оценками точности. |
09.10.1998 (16.6 года, 11 класс школы)Опять рисовал в Penx$ заставку ARIA3.PC, совершенно заняться нечем. |
Синтезатор речи
Проект "Кромсатель" - синтезатор речи. Идея сделать читалку текстов: преобразовывать буквы в звуки и выдавать на ЦАП. Создан внешний адаптивный сигма-дельта АЦП-ЦАП, подключаемый к порту f600 (RC интегратора 2.2КОм * 0.032 мкФ, это 14.2 кГц). Поток информации 39.0625 кбод позволял сносно передавать голос. В итоге говорил слово «Водка» из звуков. К сожалению, принципиальная схема не сохранилась (не рисовалась, всё в голове), но с портом Ориона взаимодействие шло через замечательный регистр к561ИР6. |
15.11.1998 (16.7 года, 11 класс школы)ГЗЧ.BS, выдача на магнитофон звука заданной частоты ассемблерной вставкой. |
29.12.1998 (16.8 года, 11 класс школы)Ещё частотомер FMER2.BS с asm-вставкой, предусмотрено наличие делителя частоты. См. далее 20.08.1999 |
31.12.1998 (16.8 года, 11 класс школы)Опять рисовал в Penx$ заставки ARIA4.PC, ARIA5.PC, опять заняться нечем. |
Число Эйлера
|
29.01.1999 (16.9 года, 11 класс школы)Опять пробы ПЗУ как "ПЛИС", язык LO2 и LO3 и имитатор ВМ-12. Но в итоге потом (10.03.1999) для ВМ-12 была всё же внедрена схема на обычной логике с К561ТР2, может оно и к лучшему. |
05.03.1999 (17 лет, 11 класс школы)Эксперименты с цифровым анализом сигнала для ЦМУ (файлы БПФ3.BS, ЦМУ.BS, ЦМУ.AS). Очень хотелось заменить классические аналоговые фильтры чем-то лучшим... |
Орион как осциллограф
Опыты с внешним АЦП и быстрым (на ассемблере) построением графика сигнала, и даже БПФ на ассемблере. Видимо продолжение предыдущих опытов по цифровому анализу сигналов. Тут использовался АЦП собственного изготовления, который последовательно перебирал коды 0..255, а компаратор фиксировал код переключения в регистре-защёлке. На 1 МГц тактовой имеем 3.9 КГц частоты дискретизации при 8 битах разрешения. Только конечно вместо ЦАП на 8 бит там использовался просто интегратор. |
23.03.1999 (17 лет, 11 класс школы)Построение 3d графика функции Z(x,y), код отрисовки заимствован без понимания принципа работы. |
Собственный RAM-диск работает
Сохранившийся набор программ для работы с внешним ОЗУ, даже с поддержкой загрузки Ориона с него. Дима разработал плату для установки 16 микросхем ОЗУ ещё 23.08.1998. Однако я тогда по ошибке ввалил на микросхемы памяти +12в вместо +5в и часть микросхем сдохла, часть "подгуляла" (некоторые стали жрать больше току, некоторые - меньше). Микросхемы памяти пришлось отпаивать, тестировать, это здорово подпортило саму идею создания RAM-диска.
Дима разработал плату схемы управления 12.02.1999.
Но конечно до этого схема управления была собрана навесом и отлажена.
Может тогда даже микросхемы памяти были ещё не на плате, а навесом
(8 штук одна над другой, что-то такое вроде помню, но может это было для ревербератора).
Вообщем это наша полностью
самостоятельная разработка RAM - диска для Ориона
(схема).
|
03.06.1999 (17.2 лет, 11 класс школы)СФ1.AS, GRAF2.AS – какие то эксперименты с согласованной фильтрацией. |
05.06.1999 (17.2 лет, 11 класс школы)ПАРАМ.BS, ПОЛЯР.BS – вычисление длины параметрической функции для какой то математической задачки. Самое интересное и поучительное, что результат сильно зависел от шага моделирования. |
Игра Lines
|
Полифония по нотам
МЭМИ, программа многоголосой игры музыки из текстового файла.
Наконец полноценная полифония с генерацией звука налету,
с таблицей синусов и выводом на 6-битную
резисторную звуковуху на f601.
Тогда же создана прога CPLAY.AS для игры музыки в реальном времени на клавиатуре (без задержек, хитрый опрос кнопок, не мешающий синтезу). Вывод осуществляется на обычный динамик, для звуков настраиваются разные эффекты модуляции (но аккорды на клаве не поддерживаются). |
07.1999 (17.3 лет, 11 класс школы)БУМ!$ - попытка синтеза звука барабана на основе затухающей синусоиды. Не звучало нормально. Возможно ошибка в программе, а может и нет: опыты в 2013 году покажут, что звук барабана это скорее обертона. |
ПЗУ для ЦМУ
|
Орион-128 починен
|
17.08.1999 (17.4 лет, 11 класс школы)ДИЗЪЮ.AS, перевод полной таблицы прошивки ПЗУ, используемой как "ПЛИС", в нормальную дизъюнктивную форму. Видно не давали мне покоя эти ПЛИС, вырос я уже из дискретной логики. |
Световое перо для Ориона
|
20.08.1999 (17.4 лет, 11 класс школы)Ещё частотомер на бейсике с asm вставкой (3FMER.BS). Декларировано и работало измерение частоты от 2 Гц до 19КГц. |
20.08.1999 (17.4 лет, 11 класс школы)CAP1.BS, строит пилу ЦАП с резисторами R = 1,2,4,8 и ещё min/max. Видно какие то расчеты нелинейности самодельного ЦАП на резисторах. |
01.10.1999 (17.5 лет, 1 курс)Сразу после поступления в ВУЗ - программа перемножения матриц (MUL.BS), не руками же их умножать программисту. |
Интегрированная среда композитора
ЭМИ2.AS, продолжение МЭМИ.AS от 01.07.1999. Очень сложная игра музыки по нотам из текстовых файлов с полифонией (формат файлов нот изменился). Частота дискретизации адаптивно выбирается в зав. от требуемой полифонии. Можно выбирать форму генерируемого сигнала: синусоида, треугольные импульсы, меандр. Вывод либо на внешнюю "звуковуху", либо на динамик Ориона. Сделаны также тексты нот: песенка герцога (2 канала, аккорды), полонез и лаванда. В итоге сделана интегрированая среда композитора, включающая клёвый текстовый редактор (для игры звука нажать ПС). |
7.11.1999 (17.6 лет, 1 курс)ЭТР2.AS, продолжение экранного текстового редактора, начало ЭТР.AS от 7.08.1998. |
Новый дисплей
|
12.11.1999 (17.7 лет, 1 курс)SORT.AS, сортировка экранного буфера пузырьком и двоичная (побитная). Экспериментально убедился, что "пузырек" на практике мало пригоден, а также самостоятельно открыл принципиально более быструю сортировку. |
23.11.1999 (17.7 лет, 1 курс)ТЕПЛО.BS, расчет радиаторов для Димы, заимствована. |
Принтер для Ориона
|
03.02.2000 (17.9 лет, 1 курс)В Орион-128 установлены два доп. светодиода (порт f402). |
18.02.2000 (17.9 лет, 1 курс)
УЛЬТР.AS, программатор ПЗУ. Мы тогда разжились несколькими РПЗУ на 8 кб. Вообще принтер глючил (этот СМ-6337 построен на том же кр580вм80 и вроде даже с контролером прерываний). Мы грешили на ПЗУ и хотели сделать правильные версии его ПЗУ: мужик в институте дал Диме образцовые, но одну из них мы воткнули не той полярностью и сожгли... |
Крутые текстовые редакторы
|
Программы для СМ-6337
|
Конкурент Ориона
|
Связь с IBM PC
|
Наш ROM-диск на 8 кб
Подготовка данных для ПЗУ 8Кб. Поскольку OrDos 2.4L не поддерживала ROM-диск, а других мы не знали, сделано было хитро. В ПЗУ поместились DOS, M128$ и NC$, а также стартовое меню. При выборе "восстановления системы" на квазидиск вместо оригинальных M128$ и NC$ записывались их считыватели из ПЗУ длиной по 32 байта. Поддерживался "ремонт" квазидиска, который в области цвета часто портили игры.
06.07.2000 в Орион-128 была успешно установлена эта ПЗУ на 8 кб.
У нас было три таких ПЗУ-ки и
при необходимости Дима стирал их светом самодельной электросварки (имеются рабочие ПЗУ-шки с вкраплениями брызг металла!).
|
Начало эмулятора
|
Измерительный прибор
Софт для "микропроцессорного измерительного прибора" - продвинутого самодельного частотомера, который за счет подключения преобразователя напряжение - частота должен был превращаться в мультиметр. Для измерения частоты использовался таймер К580ВИ53.
Прибор должен был функционировать отдельно от компьютера, предусматривался вакуумный люминесцентный индикатор
на 13 цифр,
Разработанные программы могли уже мерить частоту с индикацией на экране Ориона. |
05.10.2000 (18.5 лет, 2 курс)Процессор КР580ВМ80 на фанерке исполняет команды из ОЗУ, занесенные в него Орионом! Это микропроцессорный измерительный пробор начал переводиться на автономное функционирование. Но до конца так и не был доведен, хотя "HELLO" на семисегментном индикаторе отображалось точно. Позже мы даже опубликовали по результатам первую "научную" работы - тезисы на конференцию. Я даже попёрся делать доклад - не имея плакатов. Потрепали меня здорово - что мол есть и другие методы измерения частоты... |
Проги для диплома
|
Полноценный эмулятор
|
Курсач для кр580
|
Эмулятор под Windows
|
13.08.2008 (26 лет)Модуль AVICapDll для видеозахвата из эмуляции Orion128. Также попытки декодирование исторической записи Кромсателя (Orion128ADPCM). Но к сожалению схема адаптации сигма-дельта АЦП и ЦАП утрачена, а без адекватной адаптации качество совсем не то. Другие звуки Ориона тоже сохранены в wav для истории. |
Ещё воспоминания чувака, как он сам собирал Орион-128
Школьная пора, юношеские Стихи о компьютере