...

суббота, 23 февраля 2019 г.

«Прикладной» 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
           |                         |    |
           |                         |    |
            |                         |  |
             \_________________________\/


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

Могли и электрическую схему так изобразить. Если при этом брали псевдографические символы из второй части кодовой таблицы, получалась привязка к кодировке. Из КОИ-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, подключив к нему индикаторы через счётчики:

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

Let's block ads! (Why?)

Комментариев нет:

Отправить комментарий