Звездчатые многогранники Винил‑плеер Орион‑128 онлайн ЭКГ Лаборатория zvzd3.ru Гостевая

Мой первый компьютер Орион-128: история программиста

Орион-128 сыграл важнейшую роль в моей жизни и вероятно в жизни всей семьи. В память о прекрасных годах юности, проведенных за Орионом, посвящается этот дневник - лабораторный журнал - воспоминания программиста. Дневник составлен на основе оригинального дневника тех лет, позднее дополненного воспоминаниями, подкрепленными анализом содержимого архивных кассет для Ориона-128, в том числе анализом исходников и программ.

Покупка Орион-128
Осень 1995 (13.5 лет, 8 класс школы)

Однажды прекрасным осенним днём брат Дима и бабушка отправились в магазин покупать компьютер. Инициатором покупки как всегда был Дима, который тянул всю семью в сторону прогресса. Мол у всех одноклассников уже компьютеры, все шарят, скоро институт, а мы...

Лично для меня идея автоматизации вычислений тоже была актуальна. Я уже читал про ЭВМ в древнем учебнике информатике и в "Электроника шаг за шагом", даже пытался понять приведенный там мутный пример программы. Также игрался с калькулятором (обычным, не программируемым), который при переполнении выдавал ошибку, но оставлял старшие разряды. И я уже тогда думал о том, что хорошо было бы как то сделать автосброс ошибки для продолжения вычислений...

Ещё вроде мама спросила меня, что лучше купить - микроскоп или компьютер. Микроскоп тоже было бы забавно. Но я сказал компьютер. Вообще мама сомневалась в целесообразности покупки компьютера, думала, что дети как очередную игрушку поиграют и бросят, особенно если это будет что-то сложное и непонятное.

Естественно из-за отсутствия средств о покупке IBM - совместимого компа и речи быть не могло. Впрочем, мы тогда не очень представляли, чем отличаются эти компьютеры. Но нам определенно повезло с Орионом. Ещё раньше Дима хотел купить в соседнем магазинчике какой-то комп (вроде даже БК) за 160000р, но годных не было. Мне трудно объективно сравнить БК с Орионом (хотя неспроста БК стоил дешевле), но если это всё же был Партнёр 01.01 (аналог "Радио-86РК"), какие были у нас в школе, то это конечно полный отстой по сравнению с Орионом-128...

Потом брат и бабушка поехали в центральный универмаг города (ныне "Барс"). Орион-128 там стоил 250000р. Дима помнит, что там был ещё какой-то компьютер, ценой ~480000 рублей, который, конечно, был лучше. Но купить его было нам не по карману...

Купленный Орион-128 был полностью собран, укомплектован шнурами для магнитофона и телевизора, кассетой с программами, двумя разъёмами-вилками для подключения к портам (один в виде заглушки для проверки портов), руководствами пользователя и по эксплуатации.

Первое включение Орион-128

С подключением Ориона к телевизору (маленькому не цветному Сапфиру-404-01) проблем не возникло (аутентичное фото 2004 года). Наш Орион-128 с магнитофоном и телевизором Сапфир-404, фото 2004 года Штатного видеовхода у "Сапфира" не было. Однако Дима уже тогда прекрасно разбирался в телеках и легко сделал соответствующий вход, подав сигнал в нужную точку видеоусилителя. На самом деле Орион-128 перегружал видеовход и градации серого отличались на экране сапфира гораздо меньше, чем должны были, однако мы тогда об этом и не догадывались, а других артефактов изображения это не вызывало (что удивительно).

Некоторым сюрпризом было то, что Орион сразу после включения ничего не желал делать. Компы "Партнёр 01.01", единственные, которые я видел мельком в школе, при включении вываливались в интерпретатор бейсика и хоть как-то реагировали на клавиатурный ввод. Орион же игнорировал нажатия кнопок. Ну что же, мы додумались до того, что надо загрузить Орион с магнитофона. С магнитофоном не возникло проблем, имеющийся кассетный "Электроника-324" вполне подходил.

Мы легко загрузили с кассеты OrDos 2.4L и получили приглашение командной строки. Однако что делать дальше, было решительно не понято. Следующие программы на кассете не желали грузиться подобно ДОСу из монитора: хотя фраза "ввод с магнитофона" висела в течение всей фонограммы, по окончанию мы опять оказывались в мониторе. Наши попытки загрузить с кассеты что-нибудь другое продолжались довольно долго, но безуспешно.

Наконец с работы пришла мама. Она на работе сталкивалась с Ms Dos и Norton Commander и имела какие то представления о командной строке. Но главное, мама смело открыла руководство оператора, где всё необходимое было описано. Оказалось, сперва из OrDos надо запустить загрузчик командой "L Ch$". Через загрузчик можно грузить с касcеты остальные программы, в том числе графическую оболочку NC$.

Теперь можно было пользоваться компьютером, изучать программы и игры, записанные на кассете.

Резервная копия кассеты

На следующий день, пока брат был в школе, я попробовал сам загрузить Орион и всё такое. Но Диме, когда он вернулся, это не очень понравилось, потому что магнитофон мог зажевать пленку, а без единственной кассеты с софтом Орион-128 остался бы бесполезной железкой.

Первым делом Дима решил задублировать все программы на дополнительную кассету. Обычные файлы можно было легко загрузить на квазидиск и затем записать на нужную кассету. Но с OrDos такой способ не прокатывал! Её просто не удавалось загрузить на квазидиск в виде файла.

В итоге Диме пришлось копировать OrDos с одного магнитофона на другой чисто как звуковой фрагмент. Но это было не просто: не смотря на то, что копия OrDos звучала очень похоже, Орион с неё не загружался! Много пришлось повозиться Димке с настройкой головок у магнитофона и прочим, прежде чем удалось переписать работоспособную копию OrDos.

Азы и игры
10.1995-01.1996

В оригинальный дневник записи не делались целые 5 месяцев. Но каким на самом деле насыщенным было это время! Именно в эти месяцы мы осваивали азы работы с компьютером, а я постепенно становился программистом.

Конечно, много времени было убито на игры, в основном Tetris$, Kort$ и Striker$. Другие приличные игры Almaz$, Manic$, хотя и впечатляли внешним видом, сперва были не очень понятны - в плане того, как в них вообще играть.

В текстовый редактор Edit$ можно было въехать только хорошо изучив руководство оператора. Чтобы открыть файл, нужно было ввести его имя, чтобы вставить новую строку, нужно было использовать специальную комбинацию клавиш. Впрочем, и я и Дима использовали этот редактор за неимением других.

Графический редактор Penx$ тоже был сперва совершенно не понятен. В руководстве оператора не пропечаталась Клавиши управления графическим редактором Penx$ одна из кнопок управления меню (и мы думали, что это пробел), а кнопки управления там не интуитивные. По мне с Penx$ вообще невозможно нормально работать без предварительного переназначения кнопок управления меню и курсором, но до этого нужно было ещё додуматься...

Программирование на бейсике

Руководство оператора Орион-128 содержало довольно приличное (27 страниц) описание языка бейсик с примерами. Так бейсик стал моим первым языком программирования. Бейсик Ориона был довольно мощным, в том плане что давал возможность работы с вещественными числам (не хуже микрокалькулятора!), строками, а также с приличными графическими возможностями Ориона. А что ещё нужно, если ты в душе программист?

Пример программы по рисованию окружности на бейсике из руководства оператора для Орион-128 Как то в книге по математике я прочел про кардиоиду, задаваемую в полярной системе координат. А в описании Орионовского бейсика как раз был пример построения окружности через sin и cos, поскольку орионовский бейсик не имел отдельного оператора для окружностей. Я сразу смекнул, что можно рисовать на бейсике функции в полярной системе координат, и начал вырисовывать и кардиоиду и разные "розочки" и вообще пробовать самые разные функции r(fi).

Отладка

Начало программирования на ассемблере

Но конечно, на таком компе с одним бейсиком далеко не уедешь. В руководстве оператора было краткое описание структуры памяти компа, адресов портов, Cтруктура памяти компьютера Орион-128, описание портов ввода-вывода Набор стандартных подпрограмм монитора Орион-128 Пример кода на ассемблере по распаковке файла формата Penx$ для Орион-128 а также некоторых подпрограмм монитора. Но что всё это значило, было решительно не понятно. Также к Ориону прилагался компилятор ассемблера Assm$, но опять же не было ни малейших намеков, как его использовать практически.

На моё счастье в руководстве оператора в конце описания графического редактора Penx$ был приведен текст проги на ассемблере (да ещё с комментариями!) по распаковке сжатых файлов изображений Penx$ для их вывода на экран. Там же содержалась декларация нескольких функций OrDos. Я упорно пытался набрать и запустить этот пример, естественно не понимая синтаксис и алгоритм работы. Нескольку раз ничего не получалось: в полном виде код не собирался (опять опечатки!), а по частям - вообще убивал данные на квазидиске. Но в один прекрасный момент код почему то сработал и отобразил на экране картинку - только не из файла, а из игры тетрис, в которую я играл до того. Видимо по счастливой случайности картика тетриса оказалась по нужному адресу в памяти...

Вообще мы тогда не имели понятия, что Орион-128 это радиолюбительский компьютер, что в журналах Радио есть принципиальные схемы, внятные описания функций монитора и OrDos, что где-то существуют дополнительные программы для него. Из журналов Радио у нас появились, и то не сразу, номера за 86-87 год. На моё счастье там как раз описывалась схемотехника другого радиолюбительского компа "Радио-86РК", а в №5 за 1987 год на целом развороте был опубликован Cписок всех ассемблерных команд процессора КР580ВМ80 список всех ассемблерных команд процессора КР580ВМ80 с очень кратким описанием действий команд. Это давало базис для программирования на ассемблере, хотя многое было не понятно. Кстати, занятно, что у нас в школе стояли именно "Партнёры 01.01", аналоги "Радио-86РК", который я в итоге изучил весьма досконально.

Также к Ориону прилагался дизассемблер Dis$. Он давал возможность получить листинги готовых программ. Самое главное, Assm$ успешно компилял результаты Dis$, что уже было успехом. При этом дизассемблер умел заменять адреса стандартных функций монитора на их мнемонические имена. Это не только упрощало восприятие: постепенно приходило понимание, что есть особые адреса вызова функций. Вообщем, далее я изучал ассемблер, функции Монитора и OrDos на примерах работы чужих программ. Например, влазя в Chr$ (не нужный на фиг загрузчик программ "Радио-86РК") удалось понять, как вообще происходит отрисовка изображений на экране.

Тут уже и инструментальный монитор М128$ пошел в дело. Помню, с каким страхом я впервые осуществлял запись по адресу ПЗУ 0xf800. C одной стороны было уже понятно, что это ПЗУ, с другой - именно ПЗУ критично было не потерять. Но я смело решился на этот опыт.

Скопирована OrDos
05.02.1996 (13.9 лет, 8 класс школы)

Удалось переписать (скопировать) OrDos через компьютер на магнитофон. Постепенно стало понятно, как работают функции монитора по приёму данных с магнитофона и их выгрузке. Это позволило данные OrDos загрузить с магнитофона в память "как есть", а потом выгрузить на магнитофон. Понимания внутренней структуры Dos пока не было, но важнейшая практическая проблема создания резервной копии OrDos была решена.

Сетка для настройки телевизоров
30.04.1996 (14.1 года, 8 класс школы)

Для брата Димы создана программа Сетка для настройки телевизоров. Это уже полноценная прога на ассемблере, сделанная "для людей": там и ввод с клавиатуры, и отрисовка в цвете, и даже проверка квазидиска на переполнение за адрес 0xc000 (при этом цвет отключался; многие игры не утруждали себя подобной проверкой и портили квазидиск, причем OrDos не умела бороться с такими повреждениям).

Взлом игры Kort$
23.08.1996 (14.4 года, 8 класс школы)

"Доработка" игры Kort$, чтобы можно было выбирать произвольный уровень и упускать шарик без последствий. Мы играли в этот Корт довольно много, и каждый раз приходилось начинать с первого уровня. Я научился через m128$ анализировать содержимое памяти и сравнением нашел, как кодируется уровень и число пропусков шарика. И далее не только поправил код игры, но и сделал обвязку с графическим интерфейсом для этого. Кстати, в обвязке есть цвета, однако из-за не цветного монитора и перегрузки видеоусилителя телевизора вместо ярких цветов увы выбраны темные.

Nc встроена в OrDos
04.10.1996 (14.5 года, 9 класс школы)

Создана версия магнитофонной ДОС со встроенной и самозапускающейся графической оболочкой NC$ (переименованной в EXT$). До этого всегда приходилось грузить OrDos, руками из командной строки запускать загрузчик прог с магнитофона (L Ch$), грузить с магнитофона NC$, а потом запускать из командной строки её. Ну тут я уже разобрался (дизассемблером!) с форматом и механизмом автозапуска кода, загружаемого с магнитофона монитором, и сделал всё на автомате.

12.10.1996 (14.5 года, 9 класс школы)

Для брата Димы, который как раз поступил в институт, программа решения СЛАУ методом Гаусса (на бейсике).

Собственная быстрая ОС+NC
12.11.1996 (14.7 года, 9 класс школы)

Кто из юных программистов не мечтал о своей "операционной системе", либо хотя бы оболочке вроде Norton Commander? Тем более, что OrDos 2.4L работала медленно. Например, при удалении файла с начала квазидиска приходилось "перетаскивать" остальные файлы на новое место, это было реализовано тупо через подпрограммы чтения/записи из произвольной страницы RBYT/WBYT. Уже тогда я понимал, что лишних вызовов и переключений страниц можно легко избежать.

Уже первая версия моей "New" NC (NNC10) располагалась частично в оперативке, частично на квазидиске, что позволяло максимально быстро оперировать с данными на квазидиске. Главное, эта NNC поддерживала подкаталоги, которые обычная OrDos видела как единый файл.

В итоге NNC10 поддерживала создание подкаталогов (кнопка MkDir), удаление файлов, возврат в предыдущий каталог по F2. Каталог подсвечивался цветом полоски при наведении. Диалог (единственный MkDir) и пока ещё не цветной. Естественно разработка всего этого шла не один день (загрузчик файла подпрограмм NCN в ОЗУ и кода COM1$ в специальный файл NNC на квазидиск датирован 9.10.1996).

Конечно, "новая" ОС ничего принципиально не меняла: квазидиск и магнитофон оставались незыблемыми. Были конечно идеи, как автоматически управлять магнитофоном, позже у Димы даже появилась самодельная лентопротяжка с чисто электронным управлением. Но тут принципиальным моментом была обратная связь: как понять, в каком месте кассеты мы находимся. Были идею отслеживать текущее положение ленты в кассете путем сравнения скорости вращения приёмного и подающего узлов, но это было слишком сложно и неточно... Наверное поэтому и эта и следующие разработки "New" NC остались на уровне интересных программистских опытов...

Текстовый редактор Lexicon
15.11.1996 (14.7 года, 9 класс школы)

Создана программа Lexicon$, это улучшенный по сравнение с Edit$ текстовый редактор собственной разработки. Во многом наследует дуратскую идеологию Edit$ с его меню, вставкой и сохранением строк, однако уже удобнее в разы. Так, имя файла выбирается из меню справа, а не вводится с клавиатуры. Измененная строка сохраняется просто нажатием ВК.

Для отображения используется шрифт шириной в 8 точек, заимствованный из игры Tetris$, поэтому текст выводится значительно быстрее, кроме того появились большие и маленькие буквы жирного шрифта, плюс тонкий "стандартный" шрифт. Шрифты переключаются кнопками F3,F4,F5, кнопка AP2 включает специальный режим смены шрифта налету у уже готового текста.

Видимо это даже не самая первая версия программы: в самом начале программирования на ассемблере я не знал обнуления через “xra a” и писал “mvi a,0”. Впрочем, в этой версии всё ещё везде используются инструкции “cpi 0” вместо “ana a”, т.е. это тоже что-то очень ранее. Ещё например, знакогенератор из игры Tetris$ был вставлен прямо в asm-код в виде дизассемблированного кода, что сильно увеличивало время компиляции.

Вообщем брат Дима мог быть вполне доволен таким редактором. Никак не могу понять одно: почему я не сделал спец. режим отображения ассемблерных листингов и не стал сам использовать этот редактор вместо Edit$ для программирования, а многие годы мучился с Edit$...

ПЗУ для Ориона
23.11.1996 (14.7 года, 9 класс школы)

О том, что для Орион-128 существует ROM-диск и даже его стандартная поддержка в OrDos и NC, мы не знали. Руководство оператора содержало лишь загадочные намеки на ROM-диск A: на порту 0xf500.

Изучение дизассемблером кода монитора показало, что он при запуске пытается загрузить данные с порта f5. Это также давало пример работы с портом, ведь описания микросхемы к580ВВ55, отвечающей за порты, у нас тоже не было. Но мы как то поняли и подтвердили экспериментами, что запись байт по адресам f501 и f502 отображается в соответствующие сигналы на выходе разъёма, а f500 работает на ввод. К счастью к Ориону прилагалась разъём-заглушка для "проверки портов" через Ts2$, а в руководстве по эксплуатации была схема распайки заглушки, где обозначались линии A,B,C. Распиновка выходных разъёмов Орион-128 и схема заглушки для проверки исправности портов f500 и f600 Панелька для прошивки ПЗУ припаяна к заглушке

Это означало, что к Ориону можно подключать всякие внешние самодельные схемки, что не могло не порадовать нас, радиолюбителей!

В итоге стало понятно, что если подключить микросхему ПЗУ к порту 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
02-18.01.1997 (14.8 года, 9 класс школы)

Готовы новые версии NNC2 и NNC3 (начало разработки восходит к 19.11.1996). В итоге работают команды MkDir, Save, Rename, Copy, Erase. Команда G – оригинальная команда старта с заданного адреса. P – изменение атрибутов. Выход из каталога вверх - "AP2". Ещё можно запомнить файл “ПС” и поместить перед текущим файлом кнопкой “>”, так можно перемещать файлы как по диску, так и в подкаталоги и обратно. В диалогах уже появился цвет (зеленый), но нижнего меню нет. См. далее NNC4 13.04.1997.

Как солнце стирало ПЗУ
03.02.1997 (14.9 года, 9 класс школы)

Безоблачный день, мороз -20 градусов. Попытки стереть РПЗУ солнцем, выставив из форточки, причем вначале даже показалось, что получилось. Конечно, для стирания 5 минут выставления из форточки зимой недостаточно. После ПЗУ всё лето 1997 года загорало на балконе и к 29.08.1997 остался не стертым лишь 1 бит. См. далее 28.06.2000

04.02.1997 (14.9 года, 9 класс школы)

Думаю над введением в NNC расширений файлов. На улице пасмурно (ПЗУ не постираешь).

Двойная скорость магнитофона
09.03.1997 (15 лет, 9 класс школы)

В то время я грузил Орион с магнитофона Электроника М327, которые содержал различные Димкины доработки, вроде стереоголовки для удвоения емкости кассеты. Там же был регулятор скорости движения ленты и выключатель для перехода на удвоенную скорость, что позволяло повысить качество аудиозаписей.

Как то обнаружилось, что Орион-128 может читать записи на нестандартной, в том числе удвоенной скорости движения ленты, если использовать автоопределение константы считывания в NC$. Это значило, что скорость загрузки Ориона можно легко увеличить вдвое!

Дальнейшие исследования показали, что нет нужды менять скорость движения пленки, достаточно перенастроить константы скорости для записи и чтения. В итоге была создана дополненная версия ДОС, которая при старте меняла константы считывания на нужные. И далее все записи Ориона на магнитофон делались на удвоенной скорости 2400 бод. Дима содержал магнитофоны в образцовом состоянии и это было абсолютно надежно.

Впрочем, сам факт возможности таких выкрутасов с магнитофоном имел дальнейшие последствия, см. далее 1 кбайт/с, частотомер, запись музыки.

На магнотофоне 1кбайт/с
27-28.03.1997 (15 лет, 9 класс школы)

На обычный магнитофон были успешно записаны и прочитаны данные на скорости 1 кбайт/сек. Для этого уже невозможно было использовать стандартные подпрограммы по работе с магнитофоном, были созданы собственные (рассчитанные до такта проца) реализации. Естественно алгоритм кодирования данных в звук пришлось получить и понять дизассемблированием стандартных подпрограмм.

См. далее про высокоскоростную загрузку системы 13.08.1997 и 19.03.1998, а также встраивание высокой скорости в NC 31.05.1998.

NNC4
13.04.1997 (15.1 года, 9 класс школы)

NNC4, окончательная версия (первые файлы восходят к 9.03.1997). В списке файлов появился элемент "на уровень выше". В загрузчик уже встроен шрифт и подпрограммы NCN. Новый шрифт правда используется только в диалогах. Диалоги с тенью и зеленым текстом. Отображаются расширения для файлов. Функции: MkDir, Copy, Rename, возврат. Файл должен запоминаться по ПС и вставляться по «курсор в угол», но это глючит и в комментариях сказано, что функция MOVE написана, но возможны ошибки.

Новый Lexicon$
17-19.04.1997 (15.1 года, 9 класс школы)

Исправлена программа Lexicon$, растём, уже везде cpi a,0 заменены на ana a. Набраны тексты АКСИОМЫ и ИТАЛИЯ для пробы удобства редактора.

Первая наша музыка на Орионе
11.06.1997 (15.2 года, 9 класс школы)

Что касается генерации звуков на Орионе, то описание соответствующих функций нам не было доступно. Хотя в некоторых играх звук был не плохой, а в Manic$ была даже полифоническая музыка. И вот наконец дизассемблированием программы Dis$, которая, как не странно, содержит собственную подпрограмму генерации звуков нажатых клавиш, удалось вырвать соответствующую подпрограмму "пищания".

На её основе сразу был создан примитивный музыкальный редактор - синтезатор. Как перевести код в частоту и ноту, не было понятно, поэтому синтезатор требовалось настраивать вручную. Но тем не менее Дима с ним игрался до 20.06.1997, подбирая разные песенки.

См. далее строгий математический расчет звука 17.03.1998

MuzTime$
19.06.1997 (15.3 года, 9 класс школы)

MuzTime$, программа для оптимального распределения музыкальных номеров на кассете заданного объёма для Димы. Написана на бейсике с полным перебором вариантов asm-вставкой.

Число ПИ
12.07.1997 (15.3 года, 9 класс школы)

Как только мне в руки попала формула для расчета числа ПИ, сразу же была написана соответствующая программа для Ориона. Пришлось "придумывать" алгоритм деления. Но хотя с самим кодом было всё нормально, эта программа экспериментально доказала только то, что не смотря на своё изящество, формула Лейбница совершенно не пригодна для практического расчета числа ПИ. Так я на своей шкуре прочувствовал, что такое скорость сходимости ряда...

Орион - частотомер!
29-31.07.1997 (15.4 года, 9 класс школы)

На Диминой даче неожиданно пришла в голову мысль (что называется "ага-решением"), что Орион-128 можно использовать как клевый частотомер. И была создана соответствующая программа-частотомер, вполне работоспособная: ассемблерная вставка измеряет число и суммарную длину серии импульсов, а бейсик преобразует коды в читаемый вид. См. далее использование для обмера радиопередатчика 15.06.1998 и новые версии 29.12.1998 и 20.08.1999.

NNC51
28.07-02.08.1997 (15.4 года, 9 класс школы)

Подпрограммы для NNC5 и финальная версия NNC51. В плане файловых операций NNC51 совсем ничего не умеет. Это явно для отработки новой визуализации: есть строка меню, диалоги с копированием фона в ОЗУ и быстрым восстановлением (через push/pop, сам додумался!). Даже содержимое панели не перерисовывается заново, а копируется с соседней как растр, если это возможно.

Упаковка экрана
31.07.1997 (15.4 года, 10 класс школы)

Программа для упаковки содержимого экрана в файл формата Penx.

Быстрая загрузка
13.08.1997 (15.4 года, 10 класс школы)

Первые программы для высокоскоростной загрузки OrDoc с магнитофона (S1024.AS). Сперва на стандартных 1200 бодах грузился специально сделанный загрузчик, а далее ДОС (с кучей доп. файлов) грузилась со скоростью 1 кб/с.

08.09.1997 были ещё опыты с улучшенной загрузкой (1055.AS, S1055.AS, там уже вместо синхронизации "CMP M, JNZ" идет "CMP M, RNZ"). Cм. далее 19.03.1998.

NNC52
29.08.1997 (15.4 года, 10 класс школы)

Сделана финальная версия 52NNC, там уже и строка меню, и функции Copy, mkDir, Renname, Eras, перемещение по диску. Вроде в процессе разработки во всю использовалась высокоскоростная загрузка системы с магнитофона.

Начала разработки RAM-диска
13.09.1997 (15.5 года, 10 класс школы)

Конечно, мы не оставляли надежды заменить чем-то магнитофон. Именно в этом направлении проводились опыты с внешним ОЗУ.

В это день был проведен ключевой опыт: микросхема памяти К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 (раз уж документация недоступна).

Живая музыка на Орионе
05.01.1998 (15.8 года, 10 класс школы)

Дима собрал цифровой ревербератор (Радио 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. Не иначе у программиста творческий кризис.

Рекурсия на бейсике
28.02.1998 (15.9 года, 10 класс школы)

От нашего "математического" класса были организованы занятия по программированию в местном вузе. Это было замечательно в том плане, что это был доступ к IBM-совместимым компам с цветными мониторами (впрочем, их не всем хватало, сперва приходилось довольствоваться "Искрой-1030", не цветной и с винтом на 20мб). Я тогда на qbasic писал хитрую программу для игры в крестики-нолики 3x3, там должен был быть полный перебор всех вариантов решения рекурсивной процедурой. Но на qbasic это не работало должным образом. Пришлось отлаживаться дома на Орионе и в итоге городить софтовый стек для нормальной работы рекурсии (как бы я интересно выкрутился, если бы не знал ассемблер...).

Просмотрщик картинок
8-9.03.1998 (16 лет, 10 класс школы)

Программа просмотра PC - файлов PCType$. Также сохранена в виде файла картинка заставки из тетриса. Можно просматривать множество файлов за раз, файлы последовательно перебираются пробелом. Эта фишка скопирована с просмотрщика картинок jpeg для IMB PC (QPEG). У нас в школе помимо никуда не годных "Партнеров" была единственная нормальная "трешка" (386, 40 МГц); сами картинки приносил один продвинутый одноклассник; просто удивительно, сколько девушек влазило на одну дискетку 1.44 дюйма...

Одноголосая музыка с расчетом
17.03.1998 (16 лет, 10 класс школы)

Наконец додумался, как можно играть (одноголосую) музыку с точным математическим расчетом частоты нот и задержек. Программа на бейсике берет частоты нот (видимо таблица частот из книги «Шаг за шагом», как самому посчитать частоты строго я ещё не знал) и рассчитывает задержки, а asm-вставка играет, причем код задержек самомодифицируется с точностью до такта. Лунная соната (первая страница нот) прописана в asm-коде. См. далее 25.03.1998

19.03.1998 (16 лет, 10 класс школы)

Новые проги для высокоскоростной (1 кб/с) загрузки компа с магнитофона, теперь даже с рисованием прогресса загрузки. Также созданы средства для исполнения bat - файлов (прежде всего в стиле редактирование – компиляция - запуск). Теперь за раз быстро грузятся разные нужные файлы общей длиной в целых 18672 байта! См. далее 31.05.1998.

Одноголосая музыка по нотам
25-26.03.1998 (16 лет, 10 класс школы)

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), а из мелкой надписи на экране.

Морзе-тренажер
3.05.1998 (16.1 года, 10 класс школы)

Программа для генерации морзе-посылок на основе введенного текста МОРЗЕ1$. Интерфейс мой, но таблица символ-код_морзе заимствована.

5.05.1998 (16.1 года, 10 класс школы)

Программа на бейсике по рисованию графика функции АЧХ.BS. Имеет ассемблерную вставку АЧХ.AS для быстрого отображения поверх графика вертикального маркера. Маркер перемещается вдоль x кнопками курсора, а бейсик показывает значение функции и аргумента. Видимо сделана для Димы.

Кратчайший путь в графе
9.05.1998 (16.1 года, 10 класс школы)

Додумался до решения областной олимпиадной задачи (причем сидя на уроке истории, ага-решение), где два рыцаря ищут путь в лабиринте (фактически на поиск кратчайшего пути в графе). На олимпиаде я решил её полный перебором (да, это тоже решение в конечное число шагов, и метод применен куда более общий).

Вообще благодаря Ориону мне - вроде одному из школы - доставались призовые места на городских олимпиадах по информатике. И это при том, что на потоке было ещё минимум три настояших программиста, в том числе посещавших городскую "школу программирования" (ГШП) от местного ВУЗа. Через год в 11 классе у меня уже было первое место по области. Впрочем, на следующие этапы отправили другого чувака, который тоже получил первое место, но писал на паскале, а не на бейсике (но что важнее, посещал ГШП).

31.05.1998 (16.2 года, 10 класс школы)

Встраивание в NC$ поддержки скорости магнитофона 1027 кбайт/с, стандартные директивы O и I научил работать с высокой скоростью (но конечно при необходимости можно переключать на стандартную удвоенную).

2.06.1998 (16.2 года, 10 класс школы)

Вывод на бейсике увеличенного (растянутого по вертикали) символа знакогенератора, видно опять нечем заняться, ведь тривиально уже. Наверное были идеи сделать новые шрифты путем наклона существующих.

Частотомер для радиопередатчика
15.06.1998 (16.3 года, 10 класс школы)

Поделил (к555тм2 и к561ие10) и измерил Орионом-128 частоту КВ-задающего генератора от самодельного радиопередатчика (6-14 МГц). В дальнейшем я постоянно использовал делители частоты для настройки передатчика, не обязательно с орионом-128, а просто прослушивая результаты деления в наушниках. Иногда в наушниках слышался аномальный звон и я думал, что это проблемы с режимом генератора (но скорее это были резонансы самих наушников тон-2).

Азы ЦОС
21.06.1998 (16.2 года, 10 класс школы)

Программы ДПФ и БПФ на бейсике. БПФ ещё не работоспособно, удастся отладить только 13.09.1998. Код БПФ получен переводом программы на фортране из книги Гоноровского "Радиотехнические цепи и сигналы".

16.07.1998 (16.3 года, 10 класс школы)

Программа на бейсике из журнала Радио для расчета антенны "Укороченный диполь" (Радио, 1987, №5, стр. 17-18).

Идеи для многоголосой музыки
31.07-02.08.1998 (16.4 года, 10 класс школы)

Наконец додумался, как можно подступиться к синтезу многоголосого звука! Вместо формирования временных интервалов надо сформировать сигнал для выдачи с фиксированной частотой дискретизации. Разные программы для первичной обкатки этой идеи: аудиоданные сперва готовятся в памяти (в том числе используется бейсик для расчета задержек), затем выдаются на магнитофон или динамик. Как считать частоты нот для равномерно-темперированного строя также уже было известно (прочел в каком то старом журнальчике "В помощь радиолюбителю"). Продолжение далее 27.09.1998 и 01.07.1999.

3.08.1998 (16.4 года, 10 класс школы)

MKDOS$, делает на автомате копию ДОС в память как есть, включая заданные файлы с квазидиска и модуль для автозапуска (с цветным стартовым меню). Поддерживает "восстановление" системы - просто пропуская удаление файлов с квазидиска.

Новый текстовый редактор
7-16.08.1998 (16.4 года, 10 класс школы)

Новый экранный редактор текстов, уже настоящий, без дурацких комбинаций клавиш для добавления новой строки. Пока без меню выбора файлов и прочего, но это не мешало использовать редактор для встраивания в другие проекты вроде ЭМИ2 (26.10.1999).

Не понятно только, почему этот редактор больше года провалялся на полке... Но всё же не стоит забывать, что Орион-128 не был нашим единственным развлечением.

Число ПИ посчитано
20-21.08.1998 (16.4 года, 10 класс школы)

Программы для высокоточного вычисления квадратного корня и числа ПИ на основе соответствующей формулы описанного многоугольника. Теперь всё работает.

23.08.1998 (16.4 года, 10 класс школы)

Дима разработал плату для установки 16 микросхем ОЗУ, значит мы серьёзно вели разработку собственного RAM-диска. Собранная плата ОЗУ для Орион-128 Вот аутентичное фото собранной платы. Обращает внимание, что на 16 микросхем всего один конденсатор по питанию, впрочем и так работало нормально. См. далее 11.05.1999

Пробы ПЗУ как ПЛИС
04.09.1998 (16.5 года, 11 класс школы)

Попытки использовать микросхему ПЗУ с обратными связями в качестве "ПЛИС" для самодельно схемы управления магнитофоном ВМ-12. Созданы специальный язык "LO" для описания логики работы "ПЛИС" с транслятором, и имитатор ВМ-12, в котором всё работало как надо. Но в железе это не заработало из-за неправильной реализации обратных связей: надо было учитывать плавность изменения реальных сигналов, см. далее 29.01.1999.

Приём сигналов Морзе
19-25.09.1998 (16.5 года, 11 класс школы)

Прием и расшифровка сигналов Морзе с порта F600h. Главная проблема была в том, что комп наводил помехи на радиоприёмник Мезон-201, пришлось даже сделать гальваническую развязку на оптопаре. Но всё равно помехи мешали, да и с морзе-данными для отладки дело обстояло плоховато.

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, совершенно заняться нечем.

Синтезатор речи
12-26.10.1998 (16.6 года, 11 класс школы)

Проект "Кромсатель" - синтезатор речи. Идея сделать читалку текстов: преобразовывать буквы в звуки и выдавать на ЦАП. Создан внешний адаптивный сигма-дельта АЦП-ЦАП, подключаемый к порту 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, опять заняться нечем.

Число Эйлера
07.01.1999 (16.8 года, 11 класс школы)

E1.AS, программа выч. числа e с длинным хвостом.

29.01.1999 (16.9 года, 11 класс школы)

Опять пробы ПЗУ как "ПЛИС", язык LO2 и LO3 и имитатор ВМ-12. Но в итоге потом (10.03.1999) для ВМ-12 была всё же внедрена схема на обычной логике с К561ТР2, может оно и к лучшему.

05.03.1999 (17 лет, 11 класс школы)

Эксперименты с цифровым анализом сигнала для ЦМУ (файлы БПФ3.BS, ЦМУ.BS, ЦМУ.AS). Очень хотелось заменить классические аналоговые фильтры чем-то лучшим...

Орион как осциллограф
08.03.1999 (17 лет, 11 класс школы)

Опыты с внешним АЦП и быстрым (на ассемблере) построением графика сигнала, и даже БПФ на ассемблере. Видимо продолжение предыдущих опытов по цифровому анализу сигналов. Тут использовался АЦП собственного изготовления, который последовательно перебирал коды 0..255, а компаратор фиксировал код переключения в регистре-защёлке. На 1 МГц тактовой имеем 3.9 КГц частоты дискретизации при 8 битах разрешения. Только конечно вместо ЦАП на 8 бит там использовался просто интегратор.

23.03.1999 (17 лет, 11 класс школы)

Построение 3d графика функции Z(x,y), код отрисовки заимствован без понимания принципа работы.

Собственный RAM-диск работает
11.05.1999 (17.1 лет, 11 класс школы)

Сохранившийся набор программ для работы с внешним ОЗУ, даже с поддержкой загрузки Ориона с него. Дима разработал плату для установки 16 микросхем ОЗУ ещё 23.08.1998. Однако я тогда по ошибке ввалил на микросхемы памяти +12в вместо +5в и часть микросхем сдохла, часть "подгуляла" (некоторые стали жрать больше току, некоторые - меньше). Микросхемы памяти пришлось отпаивать, тестировать, это здорово подпортило саму идею создания RAM-диска.

Дима разработал плату схемы управления 12.02.1999. Но конечно до этого схема управления была собрана навесом и отлажена. Может тогда даже микросхемы памяти были ещё не на плате, а навесом (8 штук одна над другой, что-то такое вроде помню, но может это было для ревербератора). Вообщем это наша полностью самостоятельная разработка RAM - диска для Ориона (схема). Схема нашего RAM-диска для Орион-128

03.06.1999 (17.2 лет, 11 класс школы)

СФ1.AS, GRAF2.AS – какие то эксперименты с согласованной фильтрацией.

05.06.1999 (17.2 лет, 11 класс школы)

ПАРАМ.BS, ПОЛЯР.BS – вычисление длины параметрической функции для какой то математической задачки. Самое интересное и поучительное, что результат сильно зависел от шага моделирования.

Игра Lines
24.06.1999 (17.3 лет, 11 класс школы)

В кратчайшие строки разработана игра Lines для Мамы (IGRA.AS, шары$). Как раз в мае 1999 у нас появился новый цветной телек "Горизонт-525", к которому Орион подключался без проблем, и мама играла на нем в цвете (хотя шары цветные, они пронумерованы для игры на черно-белом мониторе).

До этого у нас был цветной ламповый телевизор "Горизонт-736" - но подключить к нему Орион в цвете не удалось. Там общая яркость управлялась по катоду кинескопа, а цвета - по модуляторам, причем ламповые видеоусилители имели очень узкую полосу пропускания. Потом мы даже пробовали спаять транзисторные видеоусилители, но ничего лучше не стало. Недаром в более продвинутых телевизорах управление осуществляется по катодам кинескопа. Самое нетипичное тут то, что я лично "рисковал жизнью", лазил в телек, что-то там своё подключал к кинескопу...

Полифония по нотам
01.07.1999 (17.3 лет, 11 класс школы)

МЭМИ, программа многоголосой игры музыки из текстового файла. Наконец полноценная полифония с генерацией звука налету, с таблицей синусов и выводом на 6-битную резисторную звуковуху на f601. Самодельный звуковой ЦАП для Орион-128 Ноты танца маленьких лебедей записаны в текстовом файле. Чуть позже (6.10.1999) записаны подобранные Димой ноты "Улицы роз". Есть даже описание формата файла нот (это действительно событие, ибо какая либо документация делалась очень редко). См. далее 26.10.1999

Тогда же создана прога CPLAY.AS для игры музыки в реальном времени на клавиатуре (без задержек, хитрый опрос кнопок, не мешающий синтезу). Вывод осуществляется на обычный динамик, для звуков настраиваются разные эффекты модуляции (но аккорды на клаве не поддерживаются).

07.1999 (17.3 лет, 11 класс школы)

БУМ!$ - попытка синтеза звука барабана на основе затухающей синусоиды. Не звучало нормально. Возможно ошибка в программе, а может и нет: опыты в 2013 году покажут, что звук барабана это скорее обертона.

ПЗУ для ЦМУ
12.07.1999 (17.3 лет, 11 класс школы)

Проба программирования ПЗУ с плавкими перемычками К556РТ4 для новой самодельной Диминой ЦМУ (был записан первый байт). К 19.07.1999 созданы программа-программатор ПЗУ, файлы эффектов для Диминой цветомузыки и программа для демонстрации и редактирования эффектов. 10.09.1999 Дима собрал эту цветомузыку.

Орион-128 починен
14.07.1999 (17.3 лет, 11 класс школы)

Починил сдохший единственный раз Орион-128. Даже спаял пошаговый отладчик и начал проходить монитор по шагам (ибо начало кода монитора помнил наизусть), да вроде всё работало. Потом осциллографом увидел помехи по тактовым сигналам проца, подал внешние +12в и Орион ожил. Дима, когда вернулся, ругался: он то сходу нашел дохлый кондер по цепи +12в.

Получается, до первого ремонта Орион-128 отработал ровно 4 года. И это при том, что его как особо ценную вещь мы вентилировали при работе: сверху на корпус клался вентилятор ВН-2, который дул внутрь Ориона. Конечно, шумность от этого возрастала, а на сколько это было оправдано - не ясно. Ещё и ножки Ориону Дима специально сделал повыше для лучшего охлаждения.

17.08.1999 (17.4 лет, 11 класс школы)

ДИЗЪЮ.AS, перевод полной таблицы прошивки ПЗУ, используемой как "ПЛИС", в нормальную дизъюнктивную форму. Видно не давали мне покоя эти ПЛИС, вырос я уже из дискретной логики.

Световое перо для Ориона
20.08.1999 (17.4 лет, 11 класс школы)

Эксперименты с самодельным световым пером (фотодиод с усилителем, подключенный к Ориону), оно работало, распознавало строку монитора, у которой фотодиод. Для другого направления скорости программы (и полосы пропускания усилителя) конечно не хватило бы.

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), не руками же их умножать программисту.

Интегрированная среда композитора
26.10.1999 – 7.11.1999(17.6 лет, 1 курс)

ЭМИ2.AS, продолжение МЭМИ.AS от 01.07.1999. Очень сложная игра музыки по нотам из текстовых файлов с полифонией (формат файлов нот изменился). Частота дискретизации адаптивно выбирается в зав. от требуемой полифонии. Можно выбирать форму генерируемого сигнала: синусоида, треугольные импульсы, меандр. Вывод либо на внешнюю "звуковуху", либо на динамик Ориона. Сделаны также тексты нот: песенка герцога (2 канала, аккорды), полонез и лаванда. В итоге сделана интегрированая среда композитора, включающая клёвый текстовый редактор (для игры звука нажать ПС).

7.11.1999 (17.6 лет, 1 курс)

ЭТР2.AS, продолжение экранного текстового редактора, начало ЭТР.AS от 7.08.1998.

Новый дисплей
11.01.2000 (17.6 лет, 1 курс)

Дима закончил новый черно-белый монитор для Ориона с "климовской" трубой (31 см). Этот монитор появился позновато, зато чуть позже как раз пригодился для IBM-совместимого компа.

12.11.1999 (17.7 лет, 1 курс)

SORT.AS, сортировка экранного буфера пузырьком и двоичная (побитная). Экспериментально убедился, что "пузырек" на практике мало пригоден, а также самостоятельно открыл принципиально более быструю сортировку.

23.11.1999 (17.7 лет, 1 курс)

ТЕПЛО.BS, расчет радиаторов для Димы, заимствована.

Принтер для Ориона
22.12.1999 (17.8 лет, 1 курс)

Куплен принтер СМ-6337 и подключен к Орион-128. Разработаны программы поддержки PRINT.AS, SM163.AS, даже PCTY3.AS для печати картинок к 27.12.1999 (к счастью Диме удалось добыть в институте описание специфичных для этого принтера ESC-команд).

03.02.2000 (17.9 лет, 1 курс)

В Орион-128 установлены два доп. светодиода (порт f402).

18.02.2000 (17.9 лет, 1 курс)

УЛЬТР.AS, программатор ПЗУ. Мы тогда разжились несколькими РПЗУ на 8 кб. Вообще принтер глючил (этот СМ-6337 построен на том же кр580вм80 и вроде даже с контролером прерываний). Мы грешили на ПЗУ и хотели сделать правильные версии его ПЗУ: мужик в институте дал Диме образцовые, но одну из них мы воткнули не той полярностью и сожгли...

Крутые текстовые редакторы
01.03.2000 (18 лет, 1 курс)

Закончены экранный редактор ассемблерных тестов Asm$ и текстовый редактор Write$, оба с крутым оконным интерфейсом.

Программы для СМ-6337
02-09.03.2000 (18 лет, 1 курс)

Разработаны новые программы, которые позволяли использовать в полной мере возможности принтера СМ-6337 в плане шрифтов. При этом особенности печати задаются в тексте спец. последовательностями символов, печать же запускается прямо из крутого текстового редактора (нажать Ctrl+I). Но Диме это было не очень интересно - на фоне программ типа Word, где текст на экране выглядит как при печати. Хотя матричный принтер имеет ряд шрифтовых возможностей, которые просто невозможно использовать при печати на нем растра...

Конкурент Ориона
03.2000 (18 лет, 1 курс)

Дима собрал IBM-совместимый комп (286). С полностью самодельными монитором и БП, с одним дисководом без винта. Но это уже начиналась другая история...

Связь с IBM PC
08.04.2000 (18.1 лет, 1 курс)

Через ком-порт переданы данные из IBM-80286 на Орион-128. 10.04.2000 – обратная передача. Программа для IBM - на турбо паскаль 7.0, естественно с ассемблерными вставками.

Наш ROM-диск на 8 кб
28.06.2000 – 3.07.2000 (18.3 лет, 1 курс)

Подготовка данных для ПЗУ 8Кб. Поскольку OrDos 2.4L не поддерживала ROM-диск, а других мы не знали, сделано было хитро. В ПЗУ поместились DOS, M128$ и NC$, а также стартовое меню. При выборе "восстановления системы" на квазидиск вместо оригинальных M128$ и NC$ записывались их считыватели из ПЗУ длиной по 32 байта. Поддерживался "ремонт" квазидиска, который в области цвета часто портили игры.

06.07.2000 в Орион-128 была успешно установлена эта ПЗУ на 8 кб. У нас было три таких ПЗУ-ки и при необходимости Дима стирал их светом самодельной электросварки (имеются рабочие ПЗУ-шки с вкраплениями брызг металла!). ПЗС с вкаплениями брызг металла от сварки Так наконец воплотились идеи от 23.11.1996

Начало эмулятора
22.07.2000 (18.3 лет, 1 курс)

Отладка самодельного эмулятора Ориона для IBM-PC. Этот эмулятор написан на ассемблере, для исполнения команд использовались похожие на к580вм80 инструкции 286-го проца. В результате эмулятор на приемлемой скорости работал на 16 МГц "двушке" (под ДОС). Далее эмулятор постепенно совершенствовался.

Измерительный прибор
13.09.2000 (18.5 лет, 2 курс)

Софт для "микропроцессорного измерительного прибора" - продвинутого самодельного частотомера, который за счет подключения преобразователя напряжение - частота должен был превращаться в мультиметр. Для измерения частоты использовался таймер К580ВИ53.

Прибор должен был функционировать отдельно от компьютера, предусматривался вакуумный люминесцентный индикатор на 13 цифр, Макет блока индикации для микропроцессорного измерительного прибора Макет микропроцессорного измерительного прибора для подключения к для Орион-128 который подключался через ППА К580ВВ55. Обработку должен был делать проц К580ВМ80, причем для отладки системная шина подключалась параллельно порту Ориона f600 (фото). Это позволяло заливать нужный код прошивки в ОЗУ частотомера для отладки / разработки, а также работать с периферией частотомера напрямую с Ориона для разработки и отладки программы.

Разработанные программы могли уже мерить частоту с индикацией на экране Ориона.

05.10.2000 (18.5 лет, 2 курс)

Процессор КР580ВМ80 на фанерке исполняет команды из ОЗУ, занесенные в него Орионом! Это микропроцессорный измерительный пробор начал переводиться на автономное функционирование. Но до конца так и не был доведен, хотя "HELLO" на семисегментном индикаторе отображалось точно.

Позже мы даже опубликовали по результатам первую "научную" работы - тезисы на конференцию. Я даже попёрся делать доклад - не имея плакатов. Потрепали меня здорово - что мол есть и другие методы измерения частоты...

Проги для диплома
18.02.2001 (18.9 лет, 2 курс)

На Орионе компилялись программы для Диминого дипломного лазера, естественно как и Орион-128, построенного на архитектуре КР580ВМ80. Модифицировались также 12.04.2001. И ПЗУ программировалось на орионе. Таким образом какой то самодельный "комп" был всё-таки нами доведен до штатной конструкции.

Полноценный эмулятор
28.08.2001 (19.4 лет, 2 курс)

Переписывание всех наших архивных кассет Ориона на винт, для Ориона соответствующие программы N2001.AS, NET2001$, SDOS.AS. Потом ещё возился с эмулятором, 27.12.2001 он уже имел автонастройку быстродействия, отложенную "регенерацию" при переключении экранов и цветовых режимов.

Курсач для кр580
21.11.2002 (20.8 лет, 3 курс)

В институте - курсач по микропроцессорам, естественно был выбран к580вм80, а программы создавались и компилялись в эмуляторе Ориона.

Обучение программированию (на ассемблере, под разные процы) в курс не входило - однако программу требовалось сделать! В итоге девчонки из группы, которым я помогал, получили отличные программы и даже листигни компиляции - которые сразу выдавали их нестандартное происхождение.

Эмулятор под Windows
20.12.2003 (21.8 лет, 4 курс)

Начало эмуляции Ориона под Win32. Прямой вывод в первичный буфер экрана через пятый DirectX. 02.01.2004 – в виде звука с кассет списаны программы CAVE, SOCO-BAN (эмулятор имитирует магнитофон).

13.08.2008 (26 лет)

Модуль AVICapDll для видеозахвата из эмуляции Orion128. Также попытки декодирование исторической записи Кромсателя (Orion128ADPCM). Но к сожалению схема адаптации сигма-дельта АЦП и ЦАП утрачена, а без адекватной адаптации качество совсем не то. Другие звуки Ориона тоже сохранены в wav для истории.

Другие дневники и воспоминания

Ещё воспоминания чувака, как он сам собирал Орион-128