18
Дек
2020

BAT-файлы

Постепенно программа росла и объем данных тоже. Процесс сборки занимал достаточно много времени. Если ты что-то менял в каком-то исходнике, надо было его скомпилировать в объектник и вручную слинковать все файлы в исполняемый модуль. Сначала это было не так страшно — штук пять объектников слинковал и все. Так как спрайты занимали много места и размещать их надо было в расширенной памяти, то их тоже слинковали в объектники. И тут вот уже от полученных объектников надо было отрезать таблицы меток, чтобы потом линковать их к исполняемому модулю. Женя написал для этого специальную утилиту.

Код рос и постепенно перестал помещаться в первые 16К. Придумали, как разместить код в расширенной памяти и вызывать эти подпрограммы из основной.  Где-то в это время линковать проект с помощью micro1103 стало уже невозможно — таблицы меток всех исходников стали слишком большими. Все-таки, micro1103 был написан для БК0010. Тогда Женя написал линковщик, который умел использовать всю память БК11М. И мы продолжили проект.

Все это было хорошо, но процесс сборки стал напряжным — надо было строго по списку линковать файлы, указывать разные адреса линковки, в определенные моменты сохранять таблицы меток от одних блоков данных, чтобы потом использовать их при сборке других модулей… Обычно один из нас сидел и набивал все это вручную, а второй подсказывал по списку что делать. Если кто-то ошибался, то процесс надо было начинать заново. Нудное дело, скажу я вам. А если ошибка происходила, но никто этого не замечал, то потом, когда при запуске принца все висло, надо было сидеть и догадываться в чем же причина —  было это из-за внесенных исправлений или при сборке что-то пошло не так?

И вот тогда Женя вдруг придумал как заставить монитор БК0010 вместо ввода с клавиатуры принимать текстовые команды из файла. Для этого он исправил сам монитор и написал программу «воспроизведения» таких текстовых файлов. Создали мы такой командный файлик, в котором записали последовательно все команды запуска линковщика, загрузки нужных объектников, сохранения промежуточных таблиц — в общем все, что делали вручную каждый раз. Запустили, увидели как все само собралось без участия человека и без ошибок. Далее были сцены поливания шампанским, запуска салютов, и что там еще в фильмах в случаях большой радости?

 

Share

You may also like...

2 комментария

  1. Шестипалов:

    Да, батники у вас крутые были. Было бы здорово, чтобы они прям из текстовых файлов запускались, а не как сейчас, компилировались в исполняемый файл.

    • grf:

      Еще год назад Женя переделал их. Теперь это просто текстовый файл с командами и «проигрыватель» к нему)

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

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