...

воскресенье, 28 февраля 2021 г.

[Перевод] Реальная история разработки Commodore C128

Самый популярным компьютером, который когда-либо продавался, был Commodore C64, проданный в количестве 27 миллионов штук в 1980-е. Мало что осталось от тех времён, 8-битной ретро-эпохе, когда молодой длинноволосый инженер-самоучка, мог, имея решимость и удачу, сесть и разработать компьютер, используя механический карандаш, кучу справочников и много бумаги.

Меня зовут Бил Хёрд (Bil Herd) и я был длинноволосым самоучкой, который бредил электроникой, и, с юношеской страстью, занялся разработкой Commodore C128, последнего 8-битного компьютера, который был способен привнести что-то новое в сферу домашних компьютеров. Команда, в которой я работал, получила возможность выпустить последний 8-битный компьютер, принимая во внимание тот факт, что всё, что мы делали, должно быть завершено за 5 месяцев, к выставке Consumer Electronics Show (CES) в 1985 году в Лас-Вегасе.

Мы (компания Commodore) могли делать то, что не могла делать легко ни одна из других компьютерных компаний, мы делали свои собственные интегральные схемы, и мы имели тогда две микросхемы: микропроцессор 6502 и контроллер дисплея VIC. У нас были силы сделать мощный компьютер, но это имело свою цену: кастомные микросхемы для C128 не были готовы в течении первых трёх месяцев из 5, а одну из микросхем мы заставили работать только хитростью.

Участие в выставке CES, до начала производства, до того, как были готовы кастомные чипы, не оставляло нам выбора, кроме как использовать хаки, чтобы уложиться в дедлайн. Под хаками я имею в виду, что мы создали плату эмулятора из ТТЛШ-микросхем, которая работала так же, как и 48-выводная микросхема Commodore/MOS.

Commodore C128, последний массово выпускаемый 8-битный компьютер и первый домашний компьютер с дисплеем шириной 40 и 80 символов, два процессора, три операционных системы, 128К памяти с MMU, и он может использоваться как стоппер для двери.
Commodore C128, последний массово выпускаемый 8-битный компьютер и первый домашний компьютер с дисплеем шириной 40 и 80 символов, два процессора, три операционных системы, 128К памяти с MMU, и он может использоваться как стоппер для двери.

Что добавляло веселья, через пару недель отдел маркетинга, находясь в бреду отрицания реальности, выпустил пресс-релиз, гарантирующий 100% совместимость с С64. Мы спросили их (отдел маркетинга), как они собираются достичь столь возвышенной цели, но в итоге решение этой задачи было оставлено нам.

В процессе разработки мы осознали, чем, наиболее вероятно, будет являться последняя 8-битная система Commodore. Мы собирались реализовать как можно больше функций, которые можно было успеть сделать за 5 месяцев. Мы решили, что у нас будет два процессора, три операционных системы, поддержка 40 и 80 символов в строке, и это будет первый домашний компьютер, преодолевший барьер 64К. Мы относились к C128 как к 9 фунтам всякого добра в 5-фунтовом мешке, и у нас не было 10-фунтового мешка, чтобы вместить всё. Мы знали, что 8-битная эпоха подходит к концу, и мы шутили о том, что должны выйти за дверь и выключить свет.

C128 требовал два новых 40-выводных чипа - блок управления памяти (MMU), главный массив программируемой логики (Master Programmable Logic Array, PLA) и почитаемый, но страшный VICII, нуждающийся в переработке. Мы также склонили разработчиков чипов к разработке специальной 48-выводной версии микропроцессора 6502, и решили использовать новый видеочип Commodore с поддержкой 80 символов в строке, что само по себе почти послужило причиной опоздания на CES (но это уже другая история).

Состояние Commodore C128 за три месяца до CES. Пять кастомных чипов ещё не выпущены, и мспользуются их эмуляторы, достаточные для того, чтобы писать ПО.
Состояние Commodore C128 за три месяца до CES. Пять кастомных чипов ещё не выпущены, и мспользуются их эмуляторы, достаточные для того, чтобы писать ПО.

Итак, нам нужен был серьёзный хакинг, нам нужно было начинать разрабатывать программное обеспечение (полностью новое ядро, монитор и новую версию Basic с поддержкой структурированных команд), нам нужно было разрабатывать печатные платы, нам нужно было отлаживать аппаратную часть, и понимать, как использовать 128К памяти (да, именно "К", а не "М", "Г" или "Т"), и первый MMU, использованный в домашнем компьютере. И к тому же у нас было два процессора (6502/Z80), и два дисплея на 40 символов и на 80 символов в строке. Домашние мониторы тогда не существовали, и мы рассчитывали на то, что монитор будет готов вовремя, как и новый жёсткий диск.

Нижняя сторона прототипа C128; три месяца до CES, Используются перемычки и дополнительные чипы, чтобы заставить плату работать.
Нижняя сторона прототипа C128; три месяца до CES, Используются перемычки и дополнительные чипы, чтобы заставить плату работать.

Мы разработали первую плату с расчётом на 40-выводные DIP-корпуса или 40-выводные кабели эмулятора, подключаемые к платам, которые были построены на микросхемах серии 74LS и причудливых PLA (которые заменяли FPGA в то время), и содержали линии задержки, и всё, что можно было найти тогда, чтобы как можно точнее воспроизвести кастомные чипы, чтобы программисты могли продолжать работу.

Видеочип VIC для C128 в начале эмулировался с помощью чипа C64 VIC, логики и линий задержек.
Видеочип VIC для C128 в начале эмулировался с помощью чипа C64 VIC, логики и линий задержек.
Эмуляторы чипов отключены, видны 40-выводные места, объединённые с 40-выводными разъёмами IDC.
Эмуляторы чипов отключены, видны 40-выводные места, объединённые с 40-выводными разъёмами IDC.

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

Эмулятор C128 PLA. Новый PLA должен быть очень мощным, для его эмуляции мы должны были сделать множество уступок, чтобы уместиться в ограниченные габариты, но и эти ограничения менялись
Эмулятор C128 PLA. Новый PLA должен быть очень мощным, для его эмуляции мы должны были сделать множество уступок, чтобы уместиться в ограниченные габариты, но и эти ограничения менялись
2 недели до CES, 80-символьный видеочип полностью не работает. За одну ночь мы разработали способ добавить ФАПЧ к 40-символьному чипу. На следующий день мы получили печатную плату, изготовленную за 6 часов при стоимости $20k USD (доллары 1984 года)
2 недели до CES, 80-символьный видеочип полностью не работает. За одну ночь мы разработали способ добавить ФАПЧ к 40-символьному чипу. На следующий день мы получили печатную плату, изготовленную за 6 часов при стоимости $20k USD (доллары 1984 года)
Пример монтажа накруткой, линии питания разведены внизу, линии земли вверху. Хороший техник делал это за 4-6 часов.
Пример монтажа накруткой, линии питания разведены внизу, линии земли вверху. Хороший техник делал это за 4-6 часов.

Это было только начало, мы должны были иметь в виду два безумных обстоятельства: мы должны были делать все хаки и исправления за одну ночь, когда менеджеры спали у себя дома, и конечный результат должен работать в миллионах устройств.

В последние дни перед CES мы ели наши воскресные ужины, завёрнутые в алюминиевую фольгу, в лаборатории, подогревая еду на горячих жёстких дисках, и мылись в умывальниках, мои ботинки совсем износились от интенсивного использования, и были выброшены, и в ботинке завелась мышь (первая коммодоровская мышь)

Мы собрали все блоки в ночь перед выставкой, сотрудники Commodore Business Machines (CBM) были обязаны доставить 80-символьный видеочип, который должен был стать звездой шоу. Программист, который портировал CP/M, чинил последний баг, связанный с 80-символьным режимом, редактируя сырые данные на дискете.

Экран загрузки Commodore C128 в режиме 40 символов на строку
Экран загрузки Commodore C128 в режиме 40 символов на строку
Commodore C128 в режиме 80 символов на строку.
Commodore C128 в режиме 80 символов на строку.

Мы сделали продукт с нужными характеристиками к шоу. Ничего не падало, никаких "голубых экранов", и пресса была добра к нам. Возвратившись к работе, мы должны были отдохнуть от того, что мы провели в кубиклах несколько месяцев. Мы наконец-то смогли принять душ, и вялое выражение лица сменилось нормальным.

Мы сделали последний 8-битный компьютер, их эпоха закончилась, Amiga собиралась выпустить 16-битный компьютер, и мы были взволнованы этим, несмотря на постоянные слухи о сокращениях инженеров. Лишившись основателя, Джека Трэмиела, и его драйва, CBM, как казалось, бесцельно бродила, отменив следующий компьютер, LCD Computer, и не уделяя достаточного внимания маркетингу главных продуктов. Я чувствовал, что старая эпоха подходит к концу. Команда разрушалась без новых сложных задач, которые держали нас вместе. В конце концов, я стал в свободное время работать в центре травматологии в Нью-Джерси, так как у меня выработалась зависимость от адреналина.

------------------

Бил Хёрд
Бил Хёрд

Бил Хёрд продолжил свою карьеру разработкой высокопроизводительных систем машинного зрения и ультразвуковых датчиков, применяемых в современных автомобилях. За прошедшие 20+ лет Бил был предпринимателем и основал несколько малых предприятий. Бил поддерживает связь с коллекционерами и фанатами старых компьютеров Commodore через свои сайты c128.com и herdware.com, которые содержат опенсорсные проекты и предлагают образовательные электронные наборы.

Команда инженеров C128, как она видна на пасхальной картинке:

Пасхалка в Commodore 128
Пасхалка в Commodore 128

Bil Herd: Designer & Hardware Lead
Dave Haynie: Intricate timing, PLA Emulator and DRAM
Frank Palaia: Z80 Integration and Ram Expansion

Fred Bowen: Programmer and Software Lead- Kernal & Monitor
Terry Ryan: Programmer- Basic V7 including structured language additions.
Von Ertwine: Programmer- CPM

Commodore C128 был выпущен в 1985 году и продан в количестве 5+ миллионов штук, принеся в итоге около 1,5 млрд. долларов прибыли. C128D с встроенным дисководом хотели выпустить в то же самое время, что и С128, но он не выпускался пару лет.

Let's block ads! (Why?)

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

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