Орион-128 сыграл важнейшую роль в моей жизни и вероятно в жизни всей семьи. В память о прекрасных годах юности, проведенных за Орионом, посвящается этот дневник - лабораторный журнал программиста. Дневник составлен на основе оригинального дневника тех лет, позднее дополненного воспоминаниями, подкрепленными анализом содержимого архивных кассет для Ориона-128, в том числе анализом исходников и программ.
Покупка Орион-128
|
Резервная копия кассеты
На следующий день, пока брат был в школе, я попробовал сам загрузить Орион и всё такое. Но Диме, когда он вернулся, это не очень понравилось, потому что магнитофон мог зажевать пленку, а без единственной кассеты с софтом Орион-128 остался бы бесполезной железкой. Первым делом Дима решил задублировать все программы на дополнительную кассету. Обычные файлы можно было легко загрузить на квазидиск и затем записать на нужную кассету. Но с OrDos такой способ не прокатывал! Её просто не удавалось загрузить на квазидиск в виде файла. В итоге Диме пришлось копировать OrDos с одного магнитофона на другой чисто как звуковой фрагмент. Но это было не просто: не смотря на то, что копия OrDos звучала очень похоже, Орион с неё не загружался! Много пришлось повозиться Димке с настройкой головок у магнитофона и прочим, прежде чем удалось переписать работоспособную копию OrDos. |
Азы и игры
|
Программирование на бейсикеРуководство оператора Орион-128 содержало довольно приличное (27 страниц) описание языка бейсик с примерами. Так бейсик стал моим первым языком программирования. Бейсик Ориона был довольно мощным, в том плане что давал возможность работы с вещественными числам (не хуже микрокалькулятора!), строками, а также с приличными графическими возможностями Ориона. А что ещё нужно, если ты в душе программист? Как то в книге по математике я прочел про кардиоиду, задаваемую в полярной системе координат. А в описании Орионовского бейсика как раз был пример построения окружности через sin и cos, поскольку орионовский бейсик не имел отдельного оператора для окружностей. Я сразу смекнул, что можно рисовать на бейсике функции в полярной системе координат, и начал вырисовывать и кардиоиду и разные "розочки" и вообще пробовать самые разные функции r(fi). |
Начало программирования на ассемблереНо конечно, на таком компе с одним бейсиком далеко не уедешь. В руководстве оператора было описание структуры памяти компа, адресов портов, а также некоторых подпрограмм монитора. Но что всё это значило, было решительно не понятно. Также к Ориону прилагался компилятор ассемблера Assm$, но опять же не было ни малейших намеков, как его использовать практически. На моё счастье в руководстве оператора в конце описания графического редактора Penx$ был приведен текст проги на ассемблере (да ещё с комментариями!) по распаковке сжатых файлов изображений Penx$ для их вывода на экран. Там же содержалась декларация нескольких функций OrDos. Я упорно пытался набрать и запустить этот пример, естественно не понимая синтаксис и алгоритм работы. Нескольку раз ничего не получалось: в полном виде код не собирался (опять опечатки!), а по частям - вообще убивал данные на квазидиске. Но в один прекрасный момент код почему то сработал и отобразил на экране картинку - только не из файла, а из игры тетрис, в которую я играл до того. Видимо по счастливой случайности картика тетриса оказалась по нужному адресу в памяти... Вообще мы тогда не имели понятия, что Орион-128 это радиолюбительский компьютер, что в журналах Радио есть принципиальные схемы, внятные описания функций монитора и OrDos, что где-то существуют дополнительные программы для него. Из журналов Радио у нас появились, и то не сразу, номера за 86-87 год. На моё счастье там как раз описывалась схемотехника другого радиолюбительского компа "Радио-86РК", а в №5 за 1987 год на целом развороте был опубликован список всех ассемблерных команд процессора КР580ВМ80 с очень кратким описанием действий команд. Это давало базис для программирования на ассемблере, хотя многое было не понятно. Кстати, занятно, что у нас в школе стояли именно "Партнёры 01.01", аналоги "Радио-86РК", который я в итоге изучил весьма досконально. Также к Ориону прилагался дизассемблер 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). |
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-диска. Вот аутентичное фото собранной платы. Обращает внимание, что на 16 микросхем всего 1 конденсатор по питанию, впрочем и так работало. См. далее 11.05.1999 |
Пробы ПЗУ как ПЛИС
|
Приём сигналов Морзе
|
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. Ноты танца маленьких лебедей записаны в текстовом файле. Чуть позже (6.10.1999) записаны подобранные Димой ноты "Улицы роз". Есть даже описание формата файла нот (это событие, ибо какая либо документация делалась очень редко). См. далее 26.10.1999 Тогда же создана прога 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 кб. У нас было три таких ПЗУ-ки и при необходимости Дима стирал их светом самодельной электросварки (имеются рабочие ПЗУ-шки с вкраплениями брызг металла!). Так наконец воплотились идеи от 23.11.1996 |
Начало эмулятора
|
Измерительный прибор
Софт для "микропроцессорного измерительного прибора" - продвинутого самодельного частотомера, который за счет подключения преобразователя напряжение - частота должен был превращаться в мультиметр. Для измерения частоты использовался таймер К580ВИ53. Прибор должен был функционировать отдельно от компьютера, предусматривался вакуумный люминесцентный индикатор на 13 цифр, который подключался через ППА К580ВВ55. Обработку должен был делать проц К580ВМ80, причем для отладки системная шина подключалась параллельно порту Ориона f600 (фото). Это позволяло заливать нужный код прошивки в ОЗУ частотомера для отладки / разработки, а также работать с периферией частотомера напрямую с Ориона для разработки и отладки программы. Разработанные программы могли уже мерить частоту с индикацией на экране Ориона. |
05.10.2000 (18.5 лет, 2 курс)Процессор КР580ВМ80 на фанерке исполняет команды из ОЗУ, занесенные в него Орионом! Это микропроцессорный измерительный пробор начал переводиться на автономное функционирование. Но до конца так и не был доведен, хотя "HELLO" на семисегментном индикаторе отображалось точно. |
Проги для диплома
|
Полноценный эмулятор
|
Курсач для кр580
|
Эмулятор под Windows
|
13.08.2008 (26 лет)Модуль AVICapDll для видеозахвата из эмуляции Orion128. Также попытки декодирование исторической записи Кромсателя (Orion128ADPCM). Но к сожалению схема адаптации сигма-дельта АЦП и ЦАП утрачена, а без адекватной адаптации качество совсем не то. Другие звуки Ориона тоже сохранены в wav для истории. |