Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

Коммодор 128 , также известный как C128 , C128 , C = 128 , [N 1] является последним 8-разрядный домашний компьютер , который был коммерчески выпущен Commodore Business Machines (СВМ). Представленный в январе 1985 года на выставке CES в Лас-Вегасе , он появился через три года после своего предшественника, бестселлера Commodore 64 .

C128 - это значительно расширенный преемник C64 с почти полной совместимостью. Новая машина имеет 128  КБ в оперативной памяти в двух банках 64 КБ, и 80 столбцов вывод видео цвета. У него переработанный корпус и клавиатура . Также включен ЦП Zilog Z80, который позволяет C128 запускать CP / M в качестве альтернативы обычной среде Commodore BASIC . Наличие Z80 и огромной библиотеки программного обеспечения CP / M, которую он предоставляет, в сочетании с библиотекой программного обеспечения C64, дает C128 один из самых широких диапазонов доступного программного обеспечения среди его конкурентов.

Основным разработчиком аппаратного обеспечения C128 был Бил Херд , который работал над Plus / 4 . Другими инженерами по аппаратному обеспечению были Дэйв Хейни и Фрэнк Палайя, а работу по проектированию ИС выполнял Дэйв ДиОрио. Основное программное обеспечение системы Commodore было разработано Фредом Боуэном и Терри Райаном, а подсистема CP / M была разработана Фон Эртвином.

Технический обзор [ править ]

Приглашение BASIC для Commodore 128 в режиме с 40 столбцами, при запуске Commodore BASIC V7.0

Клавиатура C128 включает в себя четыре клавиши управления курсором, клавиш Alt , Help ключ , ключ Esc , ключ Tab и цифровая клавиатура . Ничего из этого не было на C64, который имел только две клавиши управления курсором, требуя использования клавиши Shift для перемещения курсора вверх или влево. Это альтернативное расположение было сохранено на 128 для использования в режиме C64. [1] Отсутствие цифровой клавиатуры, клавиши Alt и Esc на C64 было проблемой с некоторым программным обеспечением для повышения производительности CP / M при использовании с картриджем Z80 C64. Клавиатура была запрошена многими владельцами C64 , которые провели долгие часы ввода машинного языка типа программ. [2] Многие из добавленных клавиш совпадают с аналогами, присутствующими на клавиатуре IBM PC , и делают новый компьютер более привлекательным для разработчиков программного обеспечения для бизнеса. [3] В то время как режим с 40 столбцами 128 полностью дублирует режим C64, программисту предоставляется дополнительная цветная RAM размером 1 КБ, поскольку она мультиплексируется через адрес памяти 1. Источник питания C128 улучшен по сравнению с ненадежной конструкцией C64. , который намного больше и оснащен вентиляционными отверстиями и сменным предохранителем. C128 не выполняет тест ОЗУ системы при включении питания, как предыдущие машины Commodore. Вместо одного микропроцессора 6510 в C64, C128 имеет двухпроцессорную конструкцию. Основной процессор 8502, представляет собой слегка улучшенную версию 6510, способную работать на частоте 2  МГц . Второй ЦП - это Zilog Z80, который используется для запуска программного обеспечения CP / M , а также для выбора рабочего режима во время загрузки. Два процессора не могут работать одновременно, поэтому C128 не является многопроцессорной системой.

Сложная архитектура C128 [4] [5] включает четыре вида оперативной памяти с различным доступом (128 КБ основной RAM, 16–64 КБ VDC видео RAM, 2 кБайт VIC-II Color RAM, 2-килобайтная оперативная память для гибких дисков на C128D), 0, 128 или 512 КБ REU RAM), два или три процессора (основной: 8502, Z80 для CP / M; 128D также включает 6502 в дисководе) и два разных видеочипа (VIC-IIe и VDC) для его различные режимы работы. [6] [7]

Ранние версии C128 иногда испытывают проблемы с надежностью, связанные с температурой, из-за использования электромагнитного экрана над основной платой. Экран был снабжен пальцами, которые контактировали с верхними частями основных микросхем, якобы заставляя экран действовать как большой радиатор . Сочетание плохого контакта между экраном и микросхемой, ограниченной теплопроводности пластиковых корпусов микросхем, а также относительно низкой теплопроводности самого экрана в некоторых случаях приводило к перегреву и выходу из строя. SID звуковой чип особенно уязвимы в этом отношении. Наиболее распространенное средство - удалить экран, который Commodore добавила на поздних этапах разработки, чтобы соответствовать требованиям Федеральной комиссии связи США по радиочастотам.

C128 имеет три режима работы . Режим C128 ( основной режим ) работает на частоте 1 или 2 МГц с ЦП 8502 и имеет текстовые режимы с 40 и 80 столбцами . В режиме CP / M используются как Z80, так и 8502 [8], и он может работать как в текстовом режиме с 40, так и с 80 столбцами. Режим C64почти на 100 процентов совместим с предыдущим компьютером. Выбор этих режимов осуществляется через микросхему Z80. Z80 управляет шиной при начальной загрузке и проверяет, есть ли в приводе диск CP / M, присутствуют ли какие-либо картриджи C64 / C128 или клавиша Commodore (которая служит переключателем режима C64 ) нажимается при загрузке. Исходя из этих условий, он переключится в соответствующий режим работы.

Режимы [ править ]

C128 [ править ]

Основная плата C128

В 1984 году, за год до выпуска Commodore 128, Commodore выпустила Plus / 4 . Несмотря на то, что нацелен на рынок низкоуровневого бизнеса, который не мог позволить себе относительно высокую стоимость и требования к обучению ранних совместимых с IBM PC, она была воспринята прессой Commodore как продолжение 64 и, как ожидается, улучшит возможности этой модели. В то время как графические и звуковые возможности C64 в целом считались превосходными, реакция на Plus / 4 была разочаровывающей. После появления Plus / 4 в прессе Commodore давались неоднократные рекомендации относительно нового компьютера под названием «C-128» с увеличенным объемом оперативной памяти, дисплеем на 80 столбцов, стандартным для бизнес-компьютеров, новым языком программирования BASIC, который сделал Программистам легко использовать графику и звук компьютера, не прибегая к PEEK и POKE , новому дисководу, который улучшил ужасающую скорость передачи данных 1541 , а также полную совместимость с C64. [9] [10]

Конструкторам C128 удалось решить большинство из этих проблем. Новый чип, VDC , обеспечивает C128 цветным CGA- совместимым дисплеем с 80 столбцами (также называемым RGBI для красного-зеленого-синего плюс интенсивность ). Новый на тот момент микропроцессор 8502 полностью обратно совместим с 6510 C64 , но при желании может работать с удвоенной скоростью. BASIC 2.0 C64 был заменен на BASIC 7.0, который включает команды структурированного программирования из BASIC 3.5 Plus / 4, а также ключевые слова, разработанные специально для использования возможностей машины. A Sprite редактор и монитор машинного языкабыли добавлены. Часть ядра, редактирующая экран, была дополнительно улучшена для поддержки режима вставки и других функций, доступных с помощью комбинаций клавиш ESC, а также элементарной функции управления окнами, и была перемещена в отдельное ПЗУ . Микросхема VIC-II, которая управляет дисплеем с 40 столбцами, может работать только на частоте 1 МГц, поэтому дисплей с 40 столбцами в FASTрежиме выглядит беспорядочно . В режиме с 80 столбцами редактор использует преимущества функции VDC для обеспечения мигающего и подчеркнутого текста, активируемого с помощью escape-кодов , в дополнение к стандартному обратному тексту Commodore. [11] В режиме 80 столбцов C128 могут отображаться строчные буквы вместе с PETSCII.графические персонажи; Режим с 40 столбцами подчиняется тем же ограничениям "верхний и нижний регистр" или "верхний регистр плюс графика", что и предыдущие Commodores. [12] Режимы с 40 и 80 столбцами независимы, и оба могут быть активными одновременно. Программист с комбинированным и RGB-дисплеем может использовать один из экранов как «блокнот» или для элементарной поддержки нескольких буферов. Активный дисплей можно переключить с помощью ESC-X. [13] В систему была добавлена ​​кнопка аппаратного сброса. Клавиатура, однако, не была переключена на раскладку Selectric, которая стала стандартной, вместо этого сохранилась та же конструкция, унаследованная от ADM-3A, что и на предыдущих моделях Commodore.

Задняя часть Commodore 128

Микросхема VDC практически бесполезна для игр, поскольку в ней нет спрайтов или растровых прерываний. NTSC C128s будет работать с любым монитором типа CGA (TTL RGB @ 15 кГц / 60 Гц), таким как IBM 5153. Однако модели PAL C128 работают с частотой 50 Гц и несовместимы с большинством мониторов CGA, которые ожидают Частота обновления 60 Гц. Контакт 7 выхода VDC (обычно не используется на мониторах CGA) выдает монохромный сигнал NTSC / PAL, но для него не было предусмотрено кабеля, и заинтересованные пользователи должны были сделать его самостоятельно или приобрести его на вторичном рынке.

Вместе с C128 были представлены два новых дисковода: недолговечный односторонний 1570 и двусторонний 1571 . Модель 1572 с двумя дисками была анонсирована, но так и не выпущена. Позже был представлен 3,5-дюймовый 1581 . Все эти диски более надежны, чем 1541, и обещают гораздо лучшую производительность за счет новой функции «пакетного режима». Накопитель 1581 также имеет больше встроенной оперативной памяти, чем его предшественники, что позволяет одновременно открывать большее количество файлов. ОСНОВНЫЕ 7.0 включает в себя DLOADи DSAVEкоманды для поддержки загрузки и сохранения на диск без использования ,8или другой номер устройства, а такжеDIRECTORYкоманда, которая считывает информацию каталога диска непосредственно в экранную память без перезаписи памяти BASIC, как в BASIC 2.0. Кроме того, в C128 реализована автоматическая загрузка дискового программного обеспечения, стандартная функция для большинства персональных компьютеров, но отсутствующая на компьютерах Commodore до этого момента. Пользователям больше не нужно печатать LOAD"*",8,1. BASIC также добавил команду COLLECT для удаления файлов "splat" (файлы, которые не были закрыты должным образом и были обрезаны до нулевой длины).

Все диски 1571 обычно запускаются в основном режиме на C128. Если пользователь переключается в режим C64, набрав «GO 64», накопитель остается в основном режиме. Но если режим C64 активируется удерживанием клавиши Commodore при включении, 1571 затем переходит в режим 1541. Эта процедура необходима для программного обеспечения, которое выполняет низкоуровневый доступ к диску.

C128 имеет вдвое больше RAM, чем C64, гораздо большая часть которого доступна для программирования BASIC, благодаря новому чипу переключения банков MMU . Это позволяет хранить программный код BASIC отдельно от переменных, что значительно увеличивает способность машины обрабатывать сложные программы, ускоряет сборку мусора и упрощает отладку для программиста. Выполняемая программа может быть STOPизменена, ее код отредактирован, значения переменных проверены или изменены в прямом режиме , а выполнение программы возобновлено с неизменной таблицей переменных с помощью команды BASIC GOTO. [14] Хотя другие BASIC поддерживают CONTкоманду для перезапуска выполнения без очистки переменных, редактирование любого кода приводит к их очистке. [15]Различные конфигурации памяти могут быть загружены с помощью команды BASIC BANK.

BASIC 7.0 имеет полный набор команд обработки графики и звука, а также дисковые команды BASIC 4.0 и улучшенную очистку мусора, а также поддержку структурированного программирования через IF ... THEN ... ELSE, DO ... WHILE, и WHILE ... WEND петли. Однако программируемые символы по-прежнему не поддерживаются, поэтому программисту придется манипулировать ими с помощью PEEK и POKE, как на VIC-20 и C64.

С другой стороны, BASIC 7.0 работал значительно медленнее, чем BASIC 2.0, если не использовался режим 2 МГц из-за его размера 28 КБ (на 250% больше по сравнению с BASIC 2.0) и необходимости переключения банка для доступа к программным переменным и тексту программы BASIC (если больше, чем 16к в длину).

ПЗУ 128 содержит пасхальное яйцо : при вводе команды SYS 32800,123,45,6в собственном режиме открывается экран со списком основных разработчиков машины, за которым следует сообщение. Link arms, don't make them."Кроме того, при вводе ключевых слов QUITили OFFсоздается файл ?UNIMPLEMENTED COMMAND ERROR. Эти команды являются пережитком интерпретатора BASIC, предназначенного для запланированного, но никогда не производимого портативного компьютера с ЖК - дисплеем, и предназначались для выхода из интерпретатора BASIC и игнорирования ввода с клавиатуры во время чувствительного выполнения программы, соответственно.

Расширенные аппаратные возможности C128, особенно увеличенное ОЗУ, разрешение экрана и скорость последовательной шины, сделали его более функциональной платформой, чем C64, для работы с графической операционной системой GEOS .

CP / M [ править ]

Использование режима CP / M требует использования загрузочной дискеты. Дискета прилагалась к компьютеру, в котором не было дисковода.

Второй из двух процессоров в C128 является Zilog Z80 , который позволяет C128 для запуска CP / M . C128 поставлялся с CP / M 3.0 (он же CP / M Plus, который обратно совместим с CP / M 2.2) и эмуляцией терминала ADM31 / 3A . Картридж CP / M был доступен для C64, но он был дорогим и имел ограниченное использование, поскольку привод 1541 не мог читать диски в формате MFM, на которых распространялось программное обеспечение CP / M. Программное обеспечение должно было быть доступно на дисках, специфичных для Commodore, отформатированных с использованием схемы кодирования GCR . Commodore сделал доступными версии PerfectCalc и PerfectWriter, производный от EMACS, [16] и группы пользователей Commodore.иногда имелся выбор дискет CP / M, но ограниченная доступность программного обеспечения сводила на нет одну из главных достопримечательностей CP / M - ее огромную библиотеку программного обеспечения. Кроме того, картриджи работают только с ранними моделями C64 1982 года выпуска и несовместимы с более поздними моделями. Поскольку они также были несовместимы с C128, команда разработчиков решила поддержать CP / M, разместив Z80 на основной системной плате.

C128 работает с CP / M заметно медленнее, чем большинство специализированных систем CP / M, поскольку процессор Z80 работает с эффективной скоростью всего 2 МГц. Это произошло потому, что системная шина C128 была разработана на базе процессоров 65xx. Эти процессоры обрабатывают адресацию данных и памяти совсем иначе, чем Z80. CP / M также работал медленнее по причинам, указанным ниже, например, из-за необходимости передать управление 8502 для любых операций ввода-вывода или обработки прерываний. По этим причинам немногие пользователи фактически запускали программное обеспечение CP / M на C128.

Когда C128 включен, Z80 активен первым и запускает небольшое ПЗУ загрузчика по адресу $ 0- $ FFF, чтобы проверить наличие диска CP / M. Если он не обнаружен, управление передается на 8502, и запускается собственный режим C128.

На практике для режима CP / M требуется привод 1571 или 1581, поскольку 1541 не может читать диски MFM и будет работать намного медленнее из-за того, что не поддерживает пакетный режим C128. Тем не менее загрузочные диски CP / M должны быть в собственном формате GCR; Диски MFM не могут быть загружены, только для чтения, когда пользователь уже находится в CP / M. Это связано с тем, что код, необходимый для работы привода в режиме MFM, загружается как часть процесса загрузки. Кроме того, обычно требуется режим с 80 столбцами, поскольку большая часть программного обеспечения CP / M предполагает экран с 80 столбцами. C128 эмулирует терминал ADM-3A [ необходима ссылка ]в режиме CP / M, поэтому для этого потребуется настроить программное обеспечение. Помимо стандартных команд терминала ADM-3A, доступен ряд дополнительных для использования функций VIC-II и VDC, включая установку цвета текста и фона. Интерпретатор команд CP / M (хотя и не прикладное программное обеспечение) включает в себя защиту для предотвращения ввода пользователем управляющего кода, чтобы сделать текст и фон одного цвета, что сделает текст невидимым и заставит пользователя перезагрузить компьютер. Если это произойдет, по умолчанию будет серый фон с коричневым текстом.

В режиме CP / M можно запускать MBASIC, выпуск Microsoft BASIC-80 для CP / M. По сравнению с собственным режимом BASIC 7.0, MBASIC является кратким и ограниченным в своих возможностях, требуя использования комбинаций клавиш в стиле терминала для редактирования строк программы или перемещения текстового курсора и не имеет каких-либо звуковых или графических функций. Хотя MBASIC имеет математические и вычислительные функции, которых не хватает в BASIC 7.0, такие как поддержка целочисленных переменных и переменных с двойной точностью, любое преимущество в скорости, полученное за счет использования целочисленных переменных, становится спорным из-за чрезвычайно низкой производительности компьютера в режиме CP / M. Более того, Commodore BASIC имеет 40-битные переменные с плавающей запятой, которые служат промежуточным звеном между 32-битными переменными с плавающей запятой MBASIC и 64-битными переменными двойной точности. MBASIC также предлагает только 34 Кбайт свободного места для программ против примерно 90 Кбайт в BASIC 7.0.

Другое программное обеспечение CP / M, такое как Wordstar и Supercalc, также будет значительно уступать по производительности эквивалентам C128 в собственном режиме, таким как PaperClip , которые также имеют более простой в использовании интерфейс.

CP / M CBIOS (часть CP / M, которая взаимодействует с оборудованием) не взаимодействует напрямую с оборудованием, как в большинстве реализаций CP / M, а скорее вызывает процедуры ядра для обработки прерываний и ввода-вывода - когда ядро необходимо использовать, Z80 использует подпрограммы в $ FFD0- $ FFEF для передачи данных параметров в 8502, который затем активируется, а Z80 деактивируется. После завершения выполнения процедуры ядра управление возвращается к Z80. Сообщалось, что программист, отвечающий за перенос CP / M на C128, намеревался иметь интерфейс CBIOS с оборудованием непосредственно на машинном языке Z80, но столкнулся с большими трудностями с микросхемами VDU, поскольку они были склонны к перегреву и самоуничтожению. .[17] [18]

Режим CP / M сильно отличается от операционной среды, знакомой пользователям Commodore. В то время как Commodore DOS встроен в ПЗУ дисковых накопителей Commodore и обычно доступен через BASIC, CP / M требует использования загрузочной дискеты и требует ввода кратких команд, унаследованных от миникомпьютерных платформ. Программам CP / M, как правило, не хватает того удобного характера, который характерен для большинства приложений Commodore. Предназначенный для того, чтобы дать новому компьютеру большую библиотеку профессионального программного обеспечения для бизнеса, которого не хватало Commodore, CP / M давно миновал свой расцвет к середине 1980-х, и поэтому он редко использовался на C128.

C64 [ править ]

Фотография 80-х годов, показывающая установку C128 с двумя дисковыми накопителями и двумя мониторами, отображающими независимые 40- и 80-столбцовые экраны. Многие пользователи продолжали использовать 1541, унаследованный от их системы C64, в качестве второго накопителя.

Путем включения исходных ПЗУ C64 BASIC и Kernal полностью (всего 16 КБ), C128 достигает почти 100-процентной совместимости с Commodore 64. Доступ к режиму C64 можно получить одним из трех способов:

  • удерживание клавиши Commodore-logo при загрузке системы
  • ввод GO 64команды и ответ Yна ARE YOU SURE?приглашение в BASIC 7.0 [19]
  • загрузка с вставленным картриджем C64

Заземление линий / EXROM и / или / GAME порта картриджа приведет к автоматическому запуску компьютера в режиме C64. Эта функция точно дублирует поведение C64, когда картридж (такой как Simons 'BASIC ) вставляется в порт и утверждает любую из этих строк, но, в отличие от реального C64, где действие этих строк по изменению карты памяти реализуется непосредственно в аппаратного обеспечения, код запуска микропрограммы Z80 C128 опрашивает эти строки при включении питания, а затем при необходимости переключает режимы. Картриджи C128 в собственном режиме распознаются и запускаются путем опроса ядра в определенных местах на карте памяти.

Режим C64 практически полностью дублирует возможности аппаратного C64. Пакетный режим MMU, Z80 и IEC отключен в режиме C64, однако все другие аппаратные функции C128, включая VDU и режим 2 МГц, по-прежнему доступны. Расширенные клавиши клавиатуры C128 могут быть прочитаны с машинного языка, хотя ядерные подпрограммы распознают только те клавиши, которые существуют на C64. Некоторые игры способны определять, работает ли C128, и переключаться в режим 2 МГц во время вертикального отката для повышения производительности.

На C128 для Северной Америки в режиме C64 даже символ (шрифт) ROM изменяется по сравнению с режимом C128. Ранние прототипы C128 имели одно ПЗУ с немного улучшенным набором символов по сравнению с C64. Но некоторые программы C64 читают символьное ПЗУ как данные и на C128 по-разному не работают. Таким образом, C128 получил ПЗУ символов двойного размера, которое обеспечивает шрифт C128 в режиме C128 и шрифт C64 в режиме C64. Международные модели C128 используют немодифицированный шрифт C64 в обоих режимах, поскольку вторая половина символьного ROM вместо этого предназначена для международного шрифта (содержащего такие вещи, как символы с диакритическими знаками или немецкие умляуты ).

Некоторые из немногих программ C64, которые не работают на C128, будут работать правильно при caps lockнажатии клавиши (или клавиши ASCII / National на международных моделях C128). Это связано с большим встроенным портом ввода-вывода ЦП C128. В то время как SHIFT LOCKключ, находящийся как на C64, так и на C128, представляет собой просто механическую защелку для левой SHIFTклавиши, CAPS LOCKключ на C128 может быть прочитан через встроенный порт ввода / вывода 8502 . Некоторые программы на C64 сбиваются с толку этим дополнительным битом ввода-вывода; удерживание CAPS LOCKклавиши в нижнем положении приведет к понижению уровня линии ввода-вывода, что соответствует конфигурации C64 и устраняет проблему.

Несколько программ C64 записывают данные $D030 (53296), часто как часть цикла, инициализирующего регистры микросхемы VIC-II . Этот отображенный в память регистр, не используемый в C64, определяет системную тактовую частоту. Поскольку этот регистр полностью функционирует в режиме C64, непреднамеренная запись может зашифровать 40-столбцовое отображение, переключив ЦП на 2 МГц, при которой тактовая частота видеопроцессора VIC-II не может обеспечить когерентное отображение. К счастью, немногие программы страдают этим недостатком. В июле 1986 года журнал COMPUTE! Опубликовал программу для набора текста, которая использовала это различие с помощью растрового прерывания.чтобы включить быстрый режим, когда была достигнута нижняя часть видимого экрана, а затем отключить его, когда рендеринг экрана снова начнется вверху. За счет использования более высокой тактовой частоты в течение периода вертикального пустого экрана сохраняется стандартное отображение видео, при этом общая скорость выполнения увеличивается примерно на 20 процентов. [20] [21]

Простой способ провести различие между аппаратными средствами C64 и C128 , работающей в режиме C64, обычно используется внутри работающей программы, чтобы написать значение , отличные от $FF (255)до адреса памяти $D02F (53295) , регистр , который используется для декодирования дополнительных ключей C128 ( цифровая клавиатура и некоторые другие клавиши). В C64 эта ячейка памяти всегда будет содержать значение, $FFнезависимо от того, что в нее записано, но на C128 в режиме C64 значение ячейки - отображаемый в память регистр - может быть изменено. Таким образом, проверка значения местоположения после записи в него покажет реальную аппаратную платформу.

Настройка RAM [ править ]

Чтобы обрабатывать относительно большие объемы ПЗУ и ОЗУ (в десять раз превышающие размер адресного пространства 8502 64 КБ), C128 использует микросхему 8722 MMU для создания различных карт памяти, в которых будут появляться разные комбинации ОЗУ и ПЗУ в соответствии с битовыми шаблонами, записанными в регистр конфигурации MMU по адресу памяти $FF00 . Еще одна особенность блока управления памятью - разрешить перемещение нулевой страницы и стека .

Хотя C128 теоретически может поддерживать 256 КБ ОЗУ в четырех блоках, на печатной плате нет условий для добавления этой дополнительной ОЗУ, а MMU фактически не может получить доступ к более чем 128 КБ. Следовательно, если MMU запрограммирован для доступа к блокам 2 или 3, все, что в результате - это зеркало RAM в блоках 0 и 1.

Поскольку регистры ввода-вывода и системные ПЗУ могут быть отключены или включены свободно, а также могут быть размещены в любом банке ОЗУ, а VIC-II настроен на использование любого банка для своего пространства памяти, возможно до 256 конфигураций памяти, хотя подавляющее большинство из них бесполезны (например, возможны неработающие комбинации, такие как ПЗУ ядра в банке 0 и регистры ввода / вывода в банке 1). Из-за этого оператор BASIC BANK позволяет пользователю выбрать 15 наиболее полезных механизмов, при этом по умолчанию при включении питания используется банк 15. По умолчанию системные ПЗУ, регистры ввода-вывода и текст программы BASIC помещаются в блок 0 с блок 1 используется переменными программы BASIC. Текст и переменные программы BASIC могут быть расширены до $ FFEF. Но поскольку блок 0 содержит ПЗУ и регистры ввода-вывода начиная с 4000 долларов,

Верхняя и нижняя 1k RAM ($ 0– $ 3FF и $ FF00- $ FFFF) являются «общей» RAM, видимой из обоих блоков. MMU позволяет расширять любой из них с шагом до 16k. Диапазон $ 0– $ 3FF содержит нулевую страницу и стек, а $ FF00- $ FFFF содержит регистры MMU и векторы сброса. Эти области всегда являются общими и не могут быть переключены в ОЗУ без совместного использования. Общее ОЗУ всегда является банком, противоположным банку, который в настоящее время используется ЦП, поэтому, если выбран банк 0, любое чтение или запись в разделяемое ОЗУ будет относиться к соответствующим ячейкам в банке 1 и наоборот. VIC-II может быть настроен на использование любого банка RAM и оттуда его обычного окна 16k. В то время как на C64 VIC-II может видеть символьное ПЗУ только в банках 2 и 4 своей памяти, C128, с другой стороны, позволяет включать или отключать символьное ПЗУ для любого банка VIC-II через регистр в 1 доллар. Кроме того, есть два набора цветного ОЗУ: один виден ЦП, другой - VIC-II, и пользователь может выбрать, какой чип что видит.

В режиме CP / M префикс программного сегмента и переходная программная область находятся в банке 1, а регистры ввода-вывода и системный код CP / M - в банке 0.

Оперативная память C128 может быть расширена со стандартных 128 КБ до 256, 512 или даже 1024 КБ либо за счет использования коммерческих модулей расширения памяти, либо путем создания одной из схем, доступных в Интернете. [22]

Модули расширения RAM Commodore используют внешний контроллер DMA 8726 для передачи данных между RAM C128 и RAM в модуле расширения.

C128D [ править ]

Commodore 128D на выставке в Musée Bolo , EPFL , Лозанна
Импульсный источник питания Commodore 128DCR с вентилятором охлаждения 40 мм

В конце 1985 года Commodore выпустила на европейский рынок новую версию C128 с переработанным шасси, напоминающим Amiga 1000 . Эта новая европейская модель, получившая название Commodore 128D , отличалась пластиковым корпусом с ручкой для переноски сбоку, включала дисковод 1571 в основное шасси, заменяла встроенную клавиатуру съемной и добавляла охлаждающий вентилятор . Клавиатура также оснащена двумя складными ножками для изменения угла набора текста.

По словам Билла Херда , главы отдела оборудования (известного также как «C128 Animals»), C128D был готов к производству одновременно с обычной версией. Работа над выпуском двух моделей одновременно увеличила риск своевременной поставки и была очевидна в том, что основная плата имеет большие отверстия в критических секциях для поддержки корпуса C128D и обычного корпуса одновременно.

Во второй половине 1986 года Commodore выпустила версию C128D в Северной Америке и некоторых частях Европы, получившую название C128DCR, что означает «сокращенная стоимость». Модель DCR имеет шасси из штампованной стали вместо пластиковой версии C128D (без ручки для переноски), модульный импульсный источник питания, аналогичный C128D, с сохранением съемной клавиатуры этой модели и внутреннего дисковода гибких дисков 1571. Ряд компонентов на материнской плате был объединен для снижения производственных затрат, а в качестве дополнительной меры снижения затрат - охлаждающий вентилятор диаметром 40 мм.который был установлен на блок питания модели D. был удален. Тем не менее, монтажные положения на подшасси блока питания были сохранены, а также две точки подключения 12 В постоянного тока на печатной плате блока питания для питания вентилятора. Монтажное положение C128DCR предназначено для вентилятора диаметром 60 мм.

Существенным улучшением, внесенным в модель DCR, стала замена контроллера видеодисплея 8563 (VDC) на более технически совершенный 8568 VDC и оснащение его 64 килобайтами видеопамяти - максимальным объемом, доступным для устройства. Четырехкратное увеличение видеопамяти по сравнению с установленной в «плоском» C128 позволило, среди прочего, поддерживать несколько текстовых экранов для поддержки настоящей оконной системы или генерировать графику с более высоким разрешением и более гибкой цветовой палитрой. . Небольшое коммерческое программное обеспечение использовало эти возможности.

C128DCR оснащен новыми ПЗУ, получившими название «ПЗУ 1986 года», названные так по дате создания авторских прав, отображаемой на экране с надписью при включении. Новые ПЗУ устраняют ряд ошибок , присутствующих в исходных ПЗУ, в том числе печально известную ошибку «один на один» в таблице декодирования клавиатуры, в которой символ «Q» останется в нижнем регистре при активном CAPS LOCK. Некоторое программное обеспечение будет работать только на DCR из-за зависимости от расширенных аппаратных функций компьютера и исправленных ПЗУ. [23]

Несмотря на улучшенные возможности видео RGB в DCR, Commodore не улучшил BASIC 7.0 возможностью манипулировать графикой RGB. Управление VDC в графическом режиме по-прежнему требует использования вызовов к примитивам ПЗУ экранного редактора или их эквивалентам на языке ассемблера [24] или с использованием сторонних расширений языка BASIC, таких как « BASIC 8 » от Free Spirit Software , который добавляет графические команды VDC высокого разрешения для BASIC 7.0 .

Рыночные показатели [ править ]

К январю 1987 года Info сообщила, что «все эти слухи о неминуемой гибели C128 могут иметь какое-то основание на самом деле». Заявив, что Commodore хотел направить ресурсы на увеличение производства 64C и его клонов для ПК, журнал заявил, что «последняя информация в сети - то, что последний C128 сойдет с конвейеров в декабре 1987 года». [25] Вычислить! заявил в 1989 году: «Если вы купили свой 128, считая, что программное обеспечение для 128 будет в изобилии и быстро появиться, вы, вероятно, были весьма разочарованы. Одним из основных преимуществ 128 является его полная совместимость с 64, a точка, которая сработала больше против 128, чем для нее ". [23] Поскольку 128 будет запускать практически все 64 программы,32 / 16-битные домашние компьютеры - в первую очередь Commodore Amiga и Atari ST - представляли новейшие технологии, появилось относительно небольшое количество программного обеспечения для собственного режима C128 (вероятно, порядка 100–200 коммерческих наименований, плюс обычная доля общественного достояния и журнальные программы ), в результате чего некоторые пользователи сожалеют о своей покупке. [26] Хотя в период с 1985 по 1989 год C128 был продан в общей сложности 4 миллионами единиц, его популярность меркла по сравнению с его предшественником. Одно из объяснений этих более низких показателей продаж может заключаться в том, что C64 был продан людям, в первую очередь интересующимся видеоиграми, а более дорогой C128 не добавил особой ценности для улучшения.

Некоторое программное обеспечение C64, такое как Bard's Tale III и Kid Niki, работало в режиме 128 без указания этого в документации, используя автозагрузку и более быстрый доступ к диску 1571. [27] В некоторых текстовых приключениях Infocom использовались преимущества экрана с 80 столбцами и увеличенного объема памяти. Некоторые игры для C64 были перенесены в собственный режим, например Kikstart 2 и The Last V8 от Mastertronic , у которых были отдельные версии C128, и Ultima V: Warriors of Destiny от Origin Systems , которые использовали дополнительную оперативную память для музыки при работе на C128. Звездный флот I: Война начинаетсяот Interstel были отдельные версии и использовались преимущества дисплея с 80 столбцами на C128. Подавляющее большинство игр просто запускалось в режиме C64.

В отличие от этого, многие программы для повышения продуктивности C64 были перенесены на C128, включая популярные серии PaperClip и Paperback Writer. [28] Это программное обеспечение использовало дополнительную память, экран с 80 столбцами, улучшенную клавиатуру и жесткие диски большой емкости для обеспечения функций, которые считались необходимыми для использования в бизнесе. [29] Благодаря продвинутому языку программирования BASIC, совместимости с CP / M и « дружественным к пользователю » программным пакетам, таким как Jane , Commodore попыталась создать рынок недорогих продуктов для C128, аналогичный своей стратегии с Plus / 4 , даже дистанцироваться от ярлыка домашнего компьютера, обозначив C128 как «Персональный компьютер» на корпусе.[30] [31] Примечательно, что C128 был первым компьютером Commodore, рекламирующим использование Microsoft BASIC , где имя Microsoft было бы конкурентным активом.

C128, безусловно, был лучшим бизнес-компьютером, чем C64, но не лучшим игровым автоматом. Люди, которые хотели бизнес-машины, почти всегда покупали клоны ПК IBM к моменту выпуска C128. Доступность недорогих устройств, совместимых с IBM, таких как Leading Edge Model D и Tandy 1000, которые в некоторых случаях продавались дешевле, чем полная система C128, подорвала стратегию Commodore в области компьютеров для малого бизнеса . Была программа САПР профессионального уровня , Home Designer от BRiWALL, [32]но опять же, большая часть этой работы была сделана на ПК к эпохе C128. Основная причина того, что C128 по-прежнему продавался достаточно хорошо, заключалась, вероятно, в том, что это была намного лучшая машина для любительского программирования, чем C64, а также естественная модель для владельцев, вложивших значительные средства в периферийные устройства C64.

Но в конечном итоге C128 не мог конкурировать с новыми 16/32-битными системами, которые превосходили его и остальные его 8-битные поколения почти во всех аспектах. Когда в 1989 году производство C128 (D / DCR) было прекращено, сообщалось, что его производство стоило почти столько же, сколько и Amiga 500 , хотя C128D пришлось продавать на несколько сотен долларов меньше, чтобы сохранить целостный маркетинговый имидж Amiga. .

Бил Хердзаявил, что цели дизайна C128 изначально не включали 100% совместимость с C64. Некоторая форма совместимости всегда предназначалась после того, как к Херду на презентации Plus / 4 обратилась женщина, разочарованная тем, что образовательный пакет программного обеспечения, который она написала для C64, не будет работать на новом компьютере Commodore, но когда отдел маркетинга Commodore узнал об этом , они независимо заявили о полной совместимости. Херд назвал причину включения процессора Z80 в 128-ю как гарантию "100% совместимости", поскольку поддержка картриджа Z80 C64 означала бы, что C128 будет подавать дополнительное питание на порт картриджа. Он также заявил, что видеочип VDC и Z80 были источником проблем при проектировании машины. Херд добавил, что "[33] После того, как Commodore впервые подняла цену на 64-ю модель, представив модернизированный 64C в 1986 году, ее прибыль от каждой проданной 64C, как сообщается, была намного больше, чем от C128. [34]

Технические характеристики [ править ]

  • Процессоры: [35]
    • Технология MOS 8502 @ 2 МГц (1 МГц выбирается для режима совместимости с C64 или для режима C128 с 40 столбцами)
    • Zilog Z80   @ 4 МГц (работает на эффективных 2 МГц из-за состояний ожидания, позволяющих видеочипу VIC-II получить доступ к системной шине)
    • (C128D (CR)): технология MOS 6502 для встроенного контроллера гибких дисков.
  • MMU: MOS Technology 8722 Блок управления памятью управляет выбором процессора 8502 / Z80; Банкинг ROM / RAM; общие области RAM; перемещение нулевой страницы и стека
  • ОЗУ: 128 КБ системной ОЗУ, 2 КБ 4-битной выделенной цветной ОЗУ (для VIC-II E), 16 или 64 КБ выделенной видеопамяти (для VDC), до 512 КБ ОЗУ расширения REU
  • ПЗУ: 72 КБ
    • 28 КБ BASIC 7.0
    • 4 КБ MLM
    • 8 КБ C128 KERNAL
    • Редактор экрана 4 КБ
    • 4 КБ Z80 BIOS
    • 16 КБ C64 ROM: ≈9 КБ C64 BASIC 2.0 + ≈7 КБ C64 KERNAL
    • Генератор символов C64 (или международных) 4 КБ
    • Генератор символов 4 КБ C128 (или национальных)
    • Внутреннее функциональное ПЗУ 32 КБ (опционально: для размещения в разъеме материнской платы)
    • 32 КБ внешнего функционального ПЗУ (опционально: для размещения в разъеме REU)
  • Видео:
    • MOS 8564/8566 VIC-II E (NTSC / PAL) для композитного видео с 40 столбцами ( при желании вместо монитора можно использовать телевизор )
      • Прямой доступ к регистрам через ввод-вывод с отображением памяти
      • Текстовый режим: 40 × 25, 16 цветов
      • Графические режимы: 160 × 200, 320 × 200
      • 8 аппаратных спрайтов
      • 2 КБ выделенной 4-битной цветной ОЗУ, в противном случае используется основная память в качестве видеопамяти.
    • MOS 8563 VDC (или, в C128DCR, 8568 ) для цифрового компонентного видео RGB I с 80 столбцами , совместимого с мониторами IBM PC CGA , монохромное отображение также возможно на композитных видеомониторах; может использоваться с телевизорами только в том случае, если он имеет разъемы SCART и / или видеовхода основной полосы частот в дополнение к разъему для антенны. Цвет возможен через SCART, только монохромный через видеовход основной полосы частот.
      • Косвенный доступ к регистрам (регистр адреса, регистр данных в отображаемой памяти)
      • Текстовый режим: полностью программируемый, обычно 80 × 25 или 80x50, 16 цветов RGBI (не такая же палитра, как у VIC-II)
      • Графические режимы: полностью программируемые, типичные режимы - 320x200, 640x200 и 640x400 (чересстрочная развертка).
      • 16 КБ выделенной видеопамяти (стандарт 64 КБ в C128DCR, C128 / C128D может быть обновлен до 64 КБ), доступный для ЦП только с помощью двойного косвенного метода (регистр адреса, регистр данных на VDC, которые, в свою очередь, адресуются через регистр адреса , регистр данных в отображаемой памяти)
      • Ограниченная функциональность блиттера
  • Звук:
    • Микросхема синтезатора MOS 6581 SID (или, в C128DCR, MOS 8580 SID )
      • 3 голоса , ADSR -controllable
      • Стандартные формы сигналов SID ( треугольник , пила , переменный импульс , шум и некоторые комбинированные режимы)
      • Многорежимный фильтр
      • 3 кольцевых модулятора
  • Порты ввода / вывода:
    • Все порты Commodore 64 со 100-процентной совместимостью, а также следующее:
    • Возможна более высокая скорость "пакетного режима" на последовательной шине.
    • Порт расширения более гибко программируется
    • Видеовыход RGBI (разъем DE9 ) логически аналогичен разъему CGA IBM PC , но с добавленным монохромным композитным сигналом. Этот добавленный сигнал вызывает незначительную несовместимость с некоторыми мониторами CGA, что можно исправить, удалив контакт 7 из штекера на одном конце соединительного кабеля.
    • Вход для внешней клавиатуры (разъем DB25 ) (только C128D (CR))

См. Также [ править ]

  • Commodore BASIC
  • Периферийные устройства Commodore 64

Заметки [ править ]

  1. ^ "C =" представляет графическую часть логотипа.

Ссылки [ править ]

  1. ^ "C128 Системное руководство - 9.5 ПЕРЕМЕЩЕНИЕ КУРСОРА В РЕЖИМЕ C64" . Commodore.ca . Проверено 8 августа +2016 .
  2. ^ "Официальная книга для Commodore 128" . Цифровая клавиатура (цифровые клавиши сгруппированы вместе, как на калькуляторе) полезна для всех, кто вводит большие объемы числовых данных, но этой функции не хватало на Commodore 64. Поскольку многие владельцы Commodore 64 часами вводили программы на машинном языке в форму длинных списков чисел, эту функцию часто просили.
  3. ^ "Официальная книга для Commodore 128" . ... они делают C128 более привлекательным для тех опытных разработчиков программного обеспечения для бизнеса, которые привыкли работать с более традиционными раскладками клавиатуры.
  4. Мэтьюз, Ян (11 июля 2003 г.). «Commodore 128: самый универсальный 8-битный компьютер из когда-либо созданных» . Commodore.ca . Архивировано из оригинала 26 июля 2003 года . Проверено 28 декабря 2020 .
  5. ^ Беннетт, Крис. "Новые компьютеры на выставке CES" (PDF) . Архивировано из оригинального (PDF) 22 октября 2012 года . Проверено 13 июля 2011 года .
  6. ^ "Компьютер Commodore 128D" . www.oldcomputers.net . 8 мая 2016 . Проверено 28 декабря 2020 .http://oldcomputers.net/c128d.html
  7. ^ "Коммодор 128D" . Архивировано из оригинального 24 июля 2011 года . Проверено 16 февраля 2011 года .
  8. ^ Commodore CP / M Исходный код и руководство программиста.
  9. ^ «Плюс / 4 и C-16: разочаровывающе посредственно» (PDF) . Я рассматриваю Plus / 4 как оскорбление и разочарование, а также как серьезную маркетинговую ошибку. Можно было бы надеяться, что Commodore скоро одумается и выпустит '64 / Plus 'с такими коммерческими функциями, как 128 КБ памяти, возможность отображения 80 столбцов, лучший дисковод и, что самое главное, полная совместимость с программным обеспечением C-64. и оборудование.
  10. ^ «Порт Commodore; предварительный просмотр принтеров Plus 4, Amiga и Alphacom» . Итак, коммодор, что делать? Я хорошо тебе говорю, ладно? Возьмите C64, вставьте в него еще 64 КБ памяти с переключением банков и поместите в привлекательный корпус. Улучшите клавиатуру, расположив ее в стиле Selectric и улучшив ее ощущения. Возьмите отличный Basic от Plus 4 и встроите его в новый «C128», добавив специальные команды спрайтов и SID, как в Simon's Basic. Держите клавиши курсора и функциональные клавиши вверху, а также встроенный монитор машинного языка. Вернитесь к прошлым конфигурациям портов. Убедитесь, что все машинные диски и картриджи ПЗУ, предназначенные для 64-разрядной версии, прекрасно работают на C128. И оцените его в 400 долларов.
  11. ^ "C128 Системное руководство - Приложение I" . Commodore.ca. Архивировано из оригинального 31 мая 2012 года . Проверено 18 апреля 2012 года .
  12. ^ "Официальная книга для Commodore 128" .
  13. ^ "Выполните специальный выпуск 2 1986" .
  14. Перейти ↑ Simmonds, Jr. & Borden 1986 , p. 84.
  15. ^ "Руководство пользователя GW-BASIC" .
  16. ^ Вычислить! Апрель 1985 г.
  17. ^ https://retrocomputing.stackexchange.com/questions/2361/why-does-the-commodore-c128-perform-poorly-when-running-cp-m
  18. ^ "Наддув CP / M" . Программисты C128 CP / M, которые хотят добавить или изменить функции операционной системы, должны попытаться внести изменения в BIOS. Во-первых, исходный код BIOS доступен, но недоступен для BDOS или CCP.
  19. ^ "C128 Системное руководство - 2.2.1 ТАБЛИЦА ПЕРЕКЛЮЧЕНИЯ РЕЖИМОВ" . Commodore.ca . Проверено 8 августа +2016 .
  20. ^ jul86-64 ModeSpeed
  21. ^ jul86-64 ModeSpeed
  22. ^ Расширения памяти для Commodore 128
  23. ^ a b Рэндалл, Нил (июнь 1989 г.). «Только 128» . Вычислить! . п. 54 . Проверено 11 ноября 2013 года .
  24. ^ "Выпуск журнала RUN 26" .
  25. ^ "Мельница слухов" . Информация . Январь – февраль 1987 г. с. 52.
  26. ^ "Выпуск журнала RUN 35" .
  27. ^ Рэндалл, Нил (октябрь 1988 г.). «Больше игр» . Вычислить! . п. 47 . Проверено 10 ноября 2013 года .
  28. ^ "Commodore Magazine июль 1987" .
  29. ^ "Выполните Выпуск журнала 27" .
  30. ^ "Ahoy! Журнал Выпуск № 20" .
  31. ^ "Выпуск журнала RUN 15 марта 1985" .
  32. ^ RUN Журнал Выпуск 64
  33. In Memory Of The Commodore C128, заархивировано 29 ноября 2014 года на Wayback Machine.
  34. ^ Leemon, Шелдон (февраль 1987). «Микрофокус» . Вычислить! . п. 24 . Проверено 9 ноября 2013 года .
  35. ^ Байт . Макгроу-Хилл . 1986. стр. 274. C-128 CP / M использует процессоры Z80 и 8502. Z80 выполняет большинство функций CP / M BIOS.

Библиография [ править ]

  • Гринли, Ларри и др. (1986). Справочное руководство программиста Commodore 128 . Bantam Computer Books / Commodore Publications. ISBN 0-553-34378-5 . 
  • Гериц, К .; Schieb, J .; Трун, Ф. (1986). Commodore 128 Внутреннее устройство . 2-е изд. Гранд-Рапидс, Мичиган: ISBN Abacus Software, Inc. 0-916439-42-9 . Оригинальное немецкое издание (1985), Дюссельдорф, Западная Германия: Data Becker GmbH & Co. KG. 
  • Симмондс-младший, Томас; Борден, Джим (1986). «Мгновенные отчеты данных» . Справочник по бремени болезней и показателям качества жизни . Vol. 3 шт. 9. ISBN 978-0-387-78664-3.

Внешние ссылки [ править ]

  • Портал Commodore 128
  • Commodore 128 Системное руководство
  • Commodore 128 CP / M Руководство пользователя
  • VICE: универсальный эмулятор Commodore
  • Z64K: эмуляторы C128, C64, VIC20 и Atari 2600
  • Журнал RUN, выпуск 18 июня 1985 г.
  • hackaday.com: Гостевой пост: Настоящая история совместного взлома Commodore C128, автор: Бил Херд (от 09.12.2013)