Хабрахабр

«Прикладной» ASCII-арт

Привет, Хабр! Автор недавней статьи рассказал о разновидности ASCII-арта, которая вроде как и не совсем «арт», т.е., искусство. Ибо служит практическим целям: показать небольшой эскиз, график, электрическую или иную схему… Решил и я вспомнить на эту тему что-нибудь.

WA1-o-o-+VD1-o-+ | | | | L C C R<-+ 1 1 2 1 | | | | | | |-o-o------o-+ |
+-----------------+ +--R3--+C6--|
| |
o--C3+-o-|4 8|-o-C7+-o-BA1-Vcc | | DA1 | |
+------+ | К174 | |
| | УН4 | |
o-C4+-R2-|2 6|-------+ | |
|--C5+---|5 7|-Vcc | |
|--------|9 |

Когда-то IDE для ПЛК работали так же, как и большинство других серьёзных программ того времени — в текстовом режиме. Программист мог вглядываться во что-то вроде этого (взято отсюда):

| (N.C. physical (N.C. physical |
| Switch) Switch) |
| Low Level High Level Fill Valve |
|------[ ]------|------[ ]----------------------(OUT)---------|
| | |
| | |
| | |
| Fill Valve | |
|------[ ]------| |
| |
| |

Те современные ПЛК, которые снабжены встроенными дисплеями на HD44780, и сегодня так могут.

Но даже оказавшись за компьютером, где графический режим — единственный и безальтернативный (например, БК), составитель инструкции или справочника мог по инерции сбацать такое (фрагмент структурной схемы микропроцессора К1801ВМ1, отсюда):

1 34 30 29 35 31 32 33 | | | | | | | | CLC| | ACLO| DCLO| VIRQ| IRQ1| IRQ2| IRQ3| | INIT| | | | | | | \|/ | \|/ \|/ \|/ \|/ \|/ \|/ | \|/ | | | | | |
|___|___| /|\ |_|_____|_____|_____|_____|_____|_|
|схема | | | Блок |
|такти- | | | Прерываний |
|рования| | |_______________|_________________|
|___|___| | | | | /|\ /|\ | | | | |

Инерция продолжалась и в девяностых, и даже в начале нулевых. Вот, например, эскиз, сделанный в 1997 году:

__________________________ / /\ | | | | SOUP CAN | | | | | | | | | | __ |
RUBBER | | ( ) |
SHEET __\ | | (__) | / | | | /__ WITH | | | \ HOLE | | | | | | | | | \_________________________\/

Это знакомый многим генератор вихревых колец (отсюда): с одной стороны мембрана, с другой — стенка с отверстием.

Если при этом брали псевдографические символы из второй части кодовой таблицы, получалась привязка к кодировке. Могли и электрическую схему так изобразить. При пользовании дополнительными возможностями редакторов, например, Vortex (для БК) или «Слово и дело», получалась вообще привязка к определённому редактору. Из КОИ-8Р в 866 и обратно перевести ещё можно, а в 1251, где таких символов нет — уже проблема. Зато отказ от всего этого обеспечивал настоящую кроссплатформенность. Vortex был вообще удобнейшей штукой: не сразу поймёшь, в каком редакторе выполнена схема, в текстовом или графическом. Вот преобразователь полярности из +5В в -5В, полезная вещь для экспериментирующих с КР580ВМ80, диоды анодами вверх, отсюда: Можно было составить схему, например, на «Амиге», а посмотреть на «Корвете».

+V ^ | +-------+---+ | | | -V Output R1 |8 |4 +----+---> | 7 ------- | | Parts List: +-----| | D2 | IC1 = 555 | +--| | + | | R1 = 1.5K R2 | 6| IC1 |---C1--+ | R2 = 10K | | | |3 | | C1 = 10uF,16V +--+--| | D1 C2 C2 = 22uF,16V | 2| | | |+ C3 = 1500pF | ------- | | D1,D2 = 1N4001 diodes C3 |1 | | | | | | +---------+-----------+----+ | === (GND)

Какого-либо стандарта на ASCII-схемы не было. Особенно в отношении того, как обозначать пересечения проводников без соединения, а как с соединением. Одни предпочитали такой способ:

|
-+- соединение | | |
--- или -|- пересечение | |

Другие — такой:

| |
-o- или -*- соединение | | |
-+- пересечение |

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

Причин несколько. Почему так продолжали делать, когда практически у всех были видеокарты VGA и выше?

  1. Формат подходил для групп новостей и Фидонета.
  2. Текст (или HTML) и набор иллюстраций в ASCII — это один файл, и он — не архив. На текстовые редакторы, позволяющие объединить в один файл текст и графику (один из них — снова 'Слово и дело"), единого стандарта ещё не было. В общем-то, и сейчас нет, но современные офисные пакеты хоть как-то импортируют форматы друг друга, а тогда… Да и привязка к определённому редактору, опять же, не всем нравилась.
  3. Не меньший «зоопарк» имел место и в мире графических форматов. К нынешнему стандарту де факто «PNG, GIF, JPEG» пришли не сразу. Были BMP, PCX и прочие. Потом, конечно, придумали многоформатные просмотрщики, такие, как PV.
  4. Не всегда были и площадки со встроенными фотохостингами, такие, как «Хабр» или «У Самоделкина». Сторонние фотохостинги сносили изображения за давностью лет или из-за отсутствия просмотров.
  5. Старые VGA-карты в графическом режиме обеспечивали меньшую частоту кадров. Когда у всех были ЭЛТ-мониторы, это имело значение. А матричные принтеры печатали текст в режиме Draft очень резво.

Ну а зачем теперь всё это? Во-первых, ностальгия. Пишут ведь биперную музыку, хотя сегодня даже кнопочный телефон за 400 рублей проигрывает MP3. Во-вторых, фрагменты схем, поясняющие, что куда подключать, в ASCII-формате удобно помещать прямо в скетчи. Вот так (взято отсюда) можно сэкономить выводы Arduino, подключив к нему индикаторы через счётчики:

Если он скачал скетч давно, и забыл, откуда — не придётся вспоминать или искать. Пользуйтесь этим приёмом и вы, и тому, кто решит повторить вашу конструкцию, вы сэкономите лишние телодвижения.

Теги
Показать больше

Похожие статьи

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Кнопка «Наверх»
Закрыть