Свежие обсуждения
Компьютеры

Как устроен файл WBMP

1 4

Num Lock: вышеупомянутом G77 (это такая штука, которая автоматически переводит программу на фортране на си....и всё под досом
А вот это уже интересно. Мне тут руководитель подбросил несколько старых дискет. Там были программы на фортране. Приказ мне - вытянуть оттуда все формулы и составить схему решения задачи. Я даже не пытался это делать, а вот если перегнать на си, то можно будет и просмотреть...

 

Гугл по запросу G77 довольно много выдаёт.
Только по-моему он компилирует прямо в досовский EXE и никаких промежуточных файлов на Си не оставляет. Досовская версия, во всяком случае, именно так поступает.
При этом, посокольку он сделан из GCC, он понимает файлы и на Си, и на Фортране. Не знаю, понимает ли смесь из них.
А вытащить из фортрановской программы формулы можно и без перевода их на Си, там имхо всё и так понятно, от Бейсика мало отличается..

 

Num Lock: А вытащить из фортрановской программы формулы можно и без перевода их на Си
Было бы желание

 

Переделка WBMPVIEW в WBMPPLOT успешно завершена.
Компилировать программу надо турбо-паскалем 5.5 (прочитайте всю ветку, поймёте, почему, и где его взять).
Будет работать на любом самодельном графопостроителе, у которого:
1. Шаговик X висит на ногах 2,3,4,5 LPT, логика инверсная;
2. Шаговик Y висит на ногах 6,7,8,9 LPT, логика инверсная;
3. Включение БП на ноге 14 LPT, логика прямая;
4. Опускание маркера на ноге 17 LPT, логика инверсная.
Подробнее в ветке "Самодельные станочки".
Преимущества перед TurboCNC:
1. В процессе вывода на графопостроитель исчезает последнее шареварное звено (в лице TurboCNC);
2. Исчезает необходимость редактировать сгенерённый bmp2cnc файл на команды m03 вместо движения вниз, m05 вместо вверх, и наоборот. Более того, промежуточное звено в виде файла в G-кодах исчезает напрочь. Сгенерил WBMP через утилиту convert из пакета ImageMagick, подсунул WBMPPLOT, и вперёд!
3. В отличие от TurboCNC, в WBMPPLOT параллельно с выводом изображения на графопостроитель происходит его вывод и на экран.
4. Будет работать и без математического сопроцессора, и даже на 16-разрядных процессорах.
Недостатки:
1. Выводит только растровые (но не векторные) изображения.
2. Чтобы изменить конфигурацию порта, масштаб, скорость и т.п., надо перекомпилировать.
Работоспособность программы успешно проверена на "железном" графопостроителе.
Принимаю поздравления, комментарии и конструктивную критику.
Поскольку программа распространяется по принципу Public Domain (общественное достояние), буду рад увидеть усовершенствованные версии программы.

41951.pas

 

Сегодня начал сочинять другую программу, чтобы вбил текстовую строку, и она её тут же вывела на графопостроитель шрифтом CGA высотой 8 точек, с масштабированием.

 

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

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

Программу, ясно дело, можно переделать под другой станок, с другим алгоритмом управления ШД (например, лазерный, фрезерный). Возможно, если вместо пассиков применяются ШВП или передачи "винт-гайка", придётся добавить процедуры выборки зазора или убрать рисование на обратном ходу.

42263.pas

 

Новая версия программы FONTPLOT. Отличия от предыдущей следующие:
1. Исправлена ошибка - теперь выключение пиатния графопостроителя происходит сразу после завершения обработки и подвода инструмента к следующей строке;
2. Введён режим "негатив", включаемый и отключаемый булевой константой при перекомпиляции;
3. Введён режим "зеркальное отражение" для нанесения текста с обратной стороны прозрачных материалов, включается и отключается аналогичным образом.

42348.pas

 
1 4