Проект «Сфера-82»: Цвет и слой - Станислав Миков
Книгу Проект «Сфера-82»: Цвет и слой - Станислав Миков читаем онлайн бесплатно полную версию! Чтобы начать читать не надо регистрации. Напомним, что читать онлайн вы можете не только на компьютере, но и на андроид (Android), iPhone и iPad. Приятного чтения!
Шрифт:
Интервал:
Закладка:
— Работает, — негромко сказал Морозов. — Выжали из кинескопа максимум.
— Работает, — эхом отозвалась Наташа, не отрывая взгляда от осциллографа. — Прогрев держит. Питание Люба вылизала, наводок по земле почти нет.
— Хорошо, — сказал Морозов. — С новой машиной понятно. А схему приставки для старой «Сферы-80» пора готовить к публикации.
Олег отложил отвертку:
— Я тут прикидывал. Журнальную доработку надо описать максимально просто. Радиолюбитель или кружок спаяет её на коленке из доступных деталей.
Громов подошел к их столу.
— Главное, чтобы старая машина оставалась черно-белой по умолчанию, — напомнил он. — Основной видеовывод не трогаем.
— Не трогаем, — кивнул Олег. — Плата расширения просто слушает определенный порт. Программа пишет текст, как обычно, а потом кидает координаты и код цвета. Приставка подмешивает цвет поверх монохрома. Никакой графики, только раскраска букв и фона. Схемотехнически это не так сложно: регистр-защелка, немного логики, простой ЦАП на резисторах.
— И программное управление простейшее, — добавил Громов. — Вызов порта командой OUT в Бейсике. Пока никаких переделок ПЗУ.
Пусть сначала побалуются раскраской из-под Бейсика или через маленькую кассетную библиотеку. Если приживется — тогда будем думать о новой версии системы для восьмидесятых. Главное — чтобы старая программа даже не догадывалась, что она работает в цвете, пока сама его не попросит.
Птицын, пришедший забрать осциллограф, с интересом спросил:
— А мои цветовые тесты, которые я для 82-й машины написал, придется сильно переделывать под эту приставку?
Громов усмехнулся.
— Придется, Саша. Адресация портов другая. И мы это обязательно перепишем. Но только после того, как ты покажешь мне, как твой сетевой загрузчик без ошибок загружает систему в пустую память по кольцу десять раз подряд.
* * *
На центральном столе стоял один из распакованных дисководов ИЗОТ. Толстый плоский шлейф тянулся от него к плате опытной «Сферы-82». Володя Артемьев наклеивал на заднюю панель привода бирку с инвентарным номером.
Зоя Мельникова сидела за столом, перенося карандашные отметки в чистовик ведомости. В графе «Комплектация» напротив первых пяти номеров появились галочки, а напротив остальных десяти — четкая надпись: «Резерв под локальный накопитель».
Громов выписывал на листке системные входы для нового нижнего слоя МикроДОС.
Морозов стоял у стены. На столе между двумя платами «Сфер» лежал первый спаянный коаксиальный кабель с массивными разъемами.
Птицын сидел перед экраном второй, «бездисковой» машины. Он запустил простейшую проверочную программу — пока еще не полноценную загрузку по линии связи, а только тест физического уровня поверх программы опроса кольца.
На экране моргнул курсор. Затем появилась строчка:
УЗЕЛ 2: ЗАПРОС МАРКЕРА…
Спустя долю секунды, когда первая машина обработала сигнал и перевела линию в нужное состояние, на экране Птицына высветилось:
МАРКЕР ПРИНЯТ. ПЕРЕДАЧА ТЕСТОВОГО БАЙТА… ОК.
Морозов смотрел на светящиеся буквы. Коробки с дисководами так и стояли у стены — пять штук на пятнадцать машин. Он подошел к столу Птицына, проверил подключение сетевого кабеля к разъему системной платы и кивнул.
Глава 34
Клетчатая рубашка
Шум в заводской столовой стоял сплошной, густой, замешанный на звоне алюминиевых вилок, грохоте жестяных подносов по трубчатым направляющим раздачи и запахе пережаренного лука. Воздух казался влажным и тяжелым от пара, поднимавшегося над огромными алюминиевыми кастрюлями с супом. Свободных мест не было. Люди ели быстро, сосредоточенно, изредка перекидываясь короткими фразами.
Морозов сидел за угловым столиком у окна, методично разрезая ребром вилки плотную, щедро обвалянную в сухарях столовскую котлету. Напротив него Евгений Громов совершал сложные акробатические маневры: левой рукой он удерживал на весу тетрадный листок в клеточку, защищая его от брызг подливки, а правой пытался зацепить скользкое картофельное пюре.
Между тарелками, прямо на влажной клеенке, лежала причина их спора.
— Относись к этому как к схеме, Женя, — Морозов указал вилкой на листок.
На бумаге убористым почерком Морозова была выведена всего одна длинная строка кода на языке Си. Короткая функция, вычисляющая день недели по заданной дате. Никаких громоздких условных переходов, никаких многоэтажных проверок. Только базовая арифметика, пара побитовых сдвигов вправо, заменявших деление на степени двойки, и в конце — тернарный оператор, изящно сводящий финальный выбор между двумя значениями в конструкцию с вопросительным знаком и двоеточием.
int get_day(int d, int m, int y) { return ((y -= (14 — m) / 12) || 1)? (d = (d + y + (y 2) — y / 100 + (y / 100 2) + 31 * (m + 12 * ((14 — m) / 12) — 2) / 12) % 7)? d: 7: 0; }
Громов наконец сдался, отложил вилку и пододвинул листок ближе, брезгливо огибая мокрый след от чьего-то чужого стакана.
— Это прекрасно и ужасно, — проворчал программист, всматриваясь в плотную вязь латинских символов. Он поднял взгляд на коллегу. — Нет, Алексей Николаевич, ты послушай. Это абсолютно прекрасно. Но это совершенно ужасно.
Он постучал тупым концом карандаша по сдвоенным угловым скобкам побитового сдвига.
— Да, компактно. Да, ты упаковал три экрана на ассемблере в одну строчку. Машинное время экономится, транслятор проглотит это вмиг. Но это же шифровка! За такое в приличном проекте по рукам бьют.
Морозов отпил компот из граненого стакана. Компот отдавал сухофруктами и хлоркой.
— Это выразительность, — возразил он, чувствуя давно забытый азарт чистого программистского спора, далекого от режимов, планов и нормоконтроля. — Язык позволяет тебе сжать мысль до формулы. Я ведь даже оператор «запятая» использовать не стал, чтобы не плодить банальные последовательные команды. Видишь эти две вертикальные черты? Чистая магия короткого замыкания через логическое «ИЛИ». Мощнейший трюк: этот костыль с единицей заставляет компилятор жестко споткнуться, зафиксировать точку останова и гарантированно обновить год прямо в полете, до начала основного расчета. Никакого неопределенного поведения, всё строго по стандарту! Ты просто говоришь машине: пересчитай год, проваливайся по условию в формулу, сдвинь биты в регистре, а в конце проверь — если истина, бери левое, если ложь — правое. Всё.
— Отлично, — Громов саркастично усмехнулся, прищурив уставшие глаза. — А теперь представь, что этот код через год откроет какой-нибудь вчерашний выпускник. И у него на входе окажется кривая дата. Например, тридцать второе мартобря. Знаешь, что сделает твоя гениальная формула с двойным «ИЛИ»? Она радостно зафиксирует твою точку останова, сдвинет биты, проглотит мусор, выплюнет тебе какой-нибудь «минус третий день недели» и
Прочитали книгу? Предлагаем вам поделится своим отзывом от прочитанного(прослушанного)! Ваш отзыв будет полезен читателям, которые еще только собираются познакомиться с произведением.
Уважаемые читатели, слушатели и просто посетители нашей библиотеки! Просим Вас придерживаться определенных правил при комментировании литературных произведений.
- 1. Просьба отказаться от дискриминационных высказываний. Мы защищаем право наших читателей свободно выражать свою точку зрения. Вместе с тем мы не терпим агрессии. На сайте запрещено оставлять комментарий, который содержит унизительные высказывания или призывы к насилию по отношению к отдельным лицам или группам людей на основании их расы, этнического происхождения, вероисповедания, недееспособности, пола, возраста, статуса ветерана, касты или сексуальной ориентации.
- 2. Просьба отказаться от оскорблений, угроз и запугиваний.
- 3. Просьба отказаться от нецензурной лексики.
- 4. Просьба вести себя максимально корректно как по отношению к авторам, так и по отношению к другим читателям и их комментариям.
Надеемся на Ваше понимание и благоразумие. С уважением, администратор knigkindom.ru.
Оставить комментарий
-
Semmi22 июль 17:17
Не знаю, кто выложил эту книгу здесь без разрешения и без указания чтецов, но хочу чтобы слушатели знали: Над начиткой этой книги...
Priest - В башне над мостом
-
Гость Наталья22 июль 08:37
Отлично,даже очень захотелось продолжения этой истории....
Перо бумажной птицы - Елена Ивановна Михалкова
-
Гость Татьяна17 июль 09:40
Начала читать эту книгу из-за предыдущего отзыва. Ну не ВАУ!, но интересно ...
Неправильные - Катрин Корр
