| 
                 Jinger Beer Онлайн 
                вчера в 11:55 
             | 
        |
| 
                 Ну не будь таким жестоким: 
                
                
            .. В качестве примера крупного продукта для 8-разрядной машины я привел разработку программного обеспечения BitStik CAD для Apple II и BBC Micro systems с 1984 по 1986 год. В нем использовались компьютеры Apple II с картами Z80 CP/M для кодирования (с помощью WordStar), сборки и компоновки (с помощью ассемблера Microsoft M80, использующего его директиву .6502). У нас была очень простая сетевая система хранения исходного кода на жестком диске, которая использовала ленточные кабели для подключения компьютеров к дисковому шкафу. Исполняемые файлы записывались на загрузочные диски Apple DOS, а затем вы перезагружались в Apple DOS и пробовали свои изменения. Это означало, что мы использовали одни и те же машины для кодирования и тестирования, но часто переключались между операционными системами на них. У нас были машины с платами аппаратного отладчика (не помню названия) для решения сложных задач. Учитывая все обстоятельства, это работало довольно хорошо. Поскольку WordStar привлек к себе внимание, это был "классический" WordStar 3.3 IIRC. У него есть режим "Без документов", в котором он работает как обычный текстовый редактор, и если вы отключите меню и задержки, он будет работать достаточно быстро на Z80 с частотой 3,58 МГц. Его "Режим столбцов", который позволяет вам определять прямоугольный блок текста, необязательно содержащий полные строки, и работать с ним, был очень полезен при написании кода на ассемблере. Управление исходным кодом было полностью ручным. На стене была большая диаграмма, позволяющая разработчикам управлять исходными файлами. Копии, над которыми они работали, хранились в их личных разделах жесткого диска, и они помещали измененные версии обратно в раздел общего доступа и зачеркивали свои инициалы на графике. Резервные копии создавались еженедельно и перед внесением каких-либо серьезных изменений. Большее количество копий потребовало бы больших усилий: на жестком диске было всего 20 МБ для пяти разработчиков. Это дало каждому разработчику достаточно места на жестком диске для полного набора объектных файлов, так что стало возможным создание ссылок с одного жесткого диска на другой. Это было намного быстрее, чем делать это с дискет. Сценарий компоновщика был довольно сложным, поскольку карта памяти Apple II довольно фрагментирована. Мы использовали все свободное пространство, которое могли получить, плюс наложения в нескольких "языковых картах", которые были предоставлены платами расширения на 128 КБ. Карту памяти Apple //e было сложнее использовать, а карта //c показалась мне проявлением извращенной изобретательности. К тому времени мы в основном перешли на программирование на C в MS-DOS. Вокруг было много гибких дисков, и нам приходилось дисциплинированно обращаться с ними. После того, как у одного нового разработчика возникли проблемы с этим, появилось правило, согласно которому любой немаркированный диск подлежал немедленному уничтожению любым, кто сочтет нужным. ... Для начала, я был менеджером по разработке программного обеспечения для PDP-8 в конце 1960-х годов, когда была создана PS/8, позже получившая название OS/8. Я начал работать в DEC летом 1967 года. В то время Роджер Пайл руководил разработкой программного обеспечения для PDP-8. Роджер, еще один человек по имени Джон и еще один или двое, имена которых я сейчас не помню, и я разработали систему мониторинга дисков 4K и связанное с ней программное обеспечение. В какой-то момент Роджер перешел к другому проекту, а я стал менеджером по разработке программного обеспечения PDP-8 (или супервайзером, не уверен, каким именно). Я перешел в отдел маркетинга PDP-8 (по-моему, это было в 1970 году), а затем Деннис (Denny) Павлок стал менеджером по разработке программного обеспечения PDP-8 еще на несколько лет. Это был сложный и интересный период, и разработка программного обеспечения PDP-8 остается, на мой взгляд, уникальной в истории вычислительной техники. Причина его уникальности заключается в том, что все системное программное обеспечение PDP-8 от Digital было разработано необычно небольшой группой творческих, высоко мотивированных и продуктивных людей в среде, где не существовало стандартов и очень мало правил. Это было также уникально, потому что, как, я уверен, вы знаете, код PDP-8 должен был быть составлен из подпрограмм, которые состояли не более чем из 128 12-разрядных слов, а программы должны были помещаться в память объемом 4 тыс. слов, поэтому код должен был быть чрезвычайно компактным. Примерно до 1969 года почти все разработки программного обеспечения DEC для компьютеров семейства PDP-8 велись с использованием кросс-ассемблера. Первоначально это делалось на компьютере PDP-6, и, по-моему, кросс-ассемблер назывался PAL6. Некоторые программисты писали свои программы на листах с кодировкой и отдавали эти страницы группе "Подготовки ленты", которая состояла из группы машинисток, которые набирали код, как правило, на компьютере PDP-5 с телетайпом ASR-33, используя редактор. Специалист по подготовке ленты, закончив, выводил программу на "высокоскоростной" перфоратор для бумажной ленты, а затем возвращал листы с кодировкой и ленту программисту. Затем программист загружал эту ленту в PDP-6, запускал PAL6, копировал двоичный файл на высокоскоростной перфоратор для бумажной ленты и сохранял исходный код программы на видеокассете. Затем мы загружали бинарную бумажную ленту на один из компьютеров разработки PDP-8 и пытались запустить программу. Конечно, была вероятность, что в программе будут ошибки при сборке, поэтому программист редактировал код с помощью TECO и повторял попытку, время от времени сохраняя последнюю версию на DECtape. PDP-6 тогда был не очень надежен, возможно, в удачные дни он всего несколько раз "выходил из строя". Поэтому каждый раз, когда система выходила из строя, из компьютерного зала PDP-6 периодически доносились стоны, поскольку программисты думали о том, сколько правок им придется вносить заново. Кроме того, в те времена объем дискового пространства был крайне ограничен. PDP-6, который мы использовали в Maynard mill, имел барабанную память с объемом, который в начале 1980-х годов на ПК казался бы небольшим. Таким образом, на передней панели PDP-6 постоянно крутились кассеты DECtape, когда программисты копировали свой код на кассеты или с них. PDP-6, кстати, был 36-разрядным компьютером DEC и был примерно эквивалентен мэйнфреймам, поддерживающим разделение времени. Как только появилась возможность использовать PS/8, разработка программного обеспечения на языке ассемблера на PDP-8 стала обычным делом. До разработки PAL8 таблица символов в PAL III была слишком ограниченной для сборки чего-либо, кроме программ малого и среднего размера. Таблица символов MACRO-8 была еще меньше. PAL8, однако, был создан на основе ассемблера MACRO-8 paper tape assembler (возможно, являющегося потомком MACRO-8). Функции макросов были удалены, а таблица символов перенесена в расширенную память, что значительно увеличило ее размер. Но PAL8 по-прежнему работал очень медленно, пока кто-то, по-моему, Ричи Лэри, не внедрил бинарный поиск по таблице символов PAL8. На мой взгляд, это стало определяющим моментом, когда PDP-8 стал полезным компьютером, а не интересной игрушкой. Впоследствии OS/8 и все связанное с ней системное программное обеспечение и языки программирования DEC PDP-8 могли быть полностью разработаны на PDP-8 с использованием OS/8 и ассемблера PAL8. ...  | 
        |