Производитель | Майлз Гордон Технологии |
---|---|
Тип | Домашний компьютер |
Поколение | 8-битный |
Дата выпуска | 1989 ( 1989 ) |
Прекращено | 1992 |
Продано единиц | 12,000 |
Операционная система | SAM BASIC, CP/M через программное обеспечение |
Процессор | Zilog Z80 B @ 6 МГц |
Память | 256 КБ/512 КБ (макс. 4,5 МБ ) |
Съемное хранилище | 3,5-дюймовая дискета , Кассетная лента |
Отображать | UHF TV, композитный или RGB-монитор; 512 × 192 с 4 цветами, 256 × 192 с 16 цветами |
Графика | Motorola MC 1377P, VGT-200 вентильная матрица специализированный графический процессор ASIC |
Звук | Philips SAA1099 (6 каналов, 8 октав, стерео, управление огибающей и амплитудой); Бипер |
Вход | Мышь, световое перо, световой пистолет, джойстик |
Связность | SCART, 64-контактный евроразъем, порт для мыши, порт для светового пера/светового пистолета, 5-контактный стереовыход DIN, порты MIDI, 9-контактный порт для джойстика, 3,5-мм монофонический аудиовход/выход |
Обратная совместимость | ZX Спектр |
SAM Coupé (произносится как /sæm ku:peɪ/ от его оригинального британского английского названия) — 8-битный британский домашний компьютер , произведенный компанией Miles Gordon Technology ( MGT ), базирующейся в Суонси , Великобритания , и выпущенный в декабре 1989 года.
Он был разработан на основе и имел режим совместимости с ZX Spectrum 48K с учетом влияния проекта Loki [1] и позиционировался как логическое обновление Spectrum с увеличенным объемом памяти, графическими и звуковыми возможностями, собственной поддержкой периферийных устройств ( дискета , MIDI , джойстик , световое перо / световой пистолет и фирменная мышь ).
Включение поддержки более высоких графических режимов позволило реализовать 80-колоночное текстовое представление, обеспечив платформу для поддержки производительности и приложений CP/M с помощью дополнительного программного обеспечения.
Основанный на 8-битной технологии в то время, когда 16-битные домашние компьютеры были более распространены, в сочетании с отсутствием коммерческого программного обеспечения, он стал коммерческим провалом. [2] [3]
Когда в июне 1990 года MGT перешла под управление конкурсного управляющего [4], были предприняты еще две попытки перезапустить компьютер и бренд, сначала под управлением SAM Computers Limited [5] , а затем в ноябре 1992 года под управлением West Coast Computers , компании, отделившейся от Format Publications и просуществовавшей до ликвидации в 2005 году. [6]
Заглавная буква SAM является аббревиатурой от «Some Amazing Micro», как сказал Алан Майлз в интервью журналу ZAT. [7]
Часть «Купе» имеет два источника: один из них — мороженое с сандэ под названием «Купе с мороженым», а другой — потому что машина в профиль напоминает автомобиль с кузовом фастбэк , а ноги — это колеса. [8] [9]
Аппаратное обеспечение SAM Coupé было разработано Брюсом Гордоном из Miles Gordon Technology . Компьютер включал в себя специальный кремний для управления дисплеем, памятью и функциональностью ввода-вывода. Первоначально прототип был создан с использованием логических микросхем серии 7400 с обмоткой проводами , прежде чем был произведен как вентильная матрица VLSI VGT-200 ASIC . [10] [11]
Машина основана на процессоре Z80B с тактовой частотой 6 МГц и 10000-вентильной микросхеме ASIC . ASIC выполняет в компьютере ту же роль, что и ULA в ZX Spectrum. Процессор Z80B получает доступ к выбранным частям большого пространства памяти в своем адресном пространстве 64 КБ, разделяя его на банки по 16 КБ и используя регистры ввода-вывода для выбора страниц памяти, отображаемых в каждый банк по 16 КБ.
Базовая модель SAM Coupé имеет 256 КБ оперативной памяти , которую можно расширить изнутри до 512 КБ через разъем на основной плате, доступный через люк снизу, а также снаружи до дополнительных 4 МБ , добавляемых блоками по 1 МБ через евроразъем [12] на задней панели системы.
Компьютер имеет прямое подключение к кассетному магнитофону для хранения данных, но два 3,5-дюймовых дисковода могут быть установлены как внутри корпуса, так и снаружи с помощью интерфейса.
SAM Coupé был разработан в первую очередь для рынка Великобритании и разработан на основе телевизионного стандарта PAL , который обновляется со скоростью 50 кадров в секунду. В отличие от стандартного сигнала PAL, который чередуется, SAM разработан для передачи двух одинаково расположенных полей со скоростью 50 кадров в секунду, что ближе к 312-строчному прогрессивному сигналу, чем 625-строчные перемежающиеся сигналы вещательного телевидения, распространенные в Великобритании в то время.
Дисплей окружен большой областью границы, чтобы обеспечить зону отображения заголовков для телевизоров с ЭЛТ той эпохи. Цвет этой области можно изменить в программном обеспечении, используя порт BORDER для выбора цвета из палитры.
SAM Coupé имеет четыре режима отображения: [13]
Режимы «атрибутов» заимствуют свой дизайн из ZX Spectrum , где для выбора цвета бумаги и чернил из двух групп по восемь цветов используется растровое изображение. Группа для использования выбирается флагом «яркости». Цветовой блок также может быть установлен на «мигание» — то есть чередование двух цветов, используемых для бумаги и чернил.
Бит 7 | Бит 6 | Бит 5 | Бит 4 | Бит 3 | Бит 2 | Бит 1 | Бит 0 |
---|---|---|---|---|---|---|---|
Вспышка | Яркий | Бумага 2 | Бумага 1 | Бумага 0 | Чернила 2 | Чернила 1 | Чернила 0 |
Все режимы используют таблицы поиска цветов на основе палитры , выбирая из палитры из 128 цветов . Значения палитры состоят из 2 бит для каждого из красного, зеленого и синего компонентов, а также дополнительного бита, который увеличивает интенсивность всех трех компонентов на полшага (бит «яркости»).
Бит 7 | Бит 6 | Бит 5 | Бит 4 | Бит 3 | Бит 2 | Бит 1 | Бит 0 |
---|---|---|---|---|---|---|---|
- | Зеленый 1 | Красный 1 | Синий 1 | Полуяркий | Зеленый 0 | Красный 0 | Синий 0 |
ASIC можно настроить на генерацию прерываний, когда строка на дисплее начинает выдаваться, что позволяет синхронизировать видеоэффекты с определенными строками дисплея с небольшими усилиями. По умолчанию он будет генерировать прерывание для каждого кадра. Обычно это прерывание используется для двойной буферизации кадра, считывания состояния клавиатуры/мыши и вывода музыки .
Состояние прерывания также можно опросить непосредственно из регистра состояния ASIC.
Видеокодер Motorola MC1377P RGB в PAL / NTSC создает композитный видеосигнал из сигналов RGB и Sync машины [ 14 ] (выход ASIC) для радиочастотного модулятора . [15] [11]
Нестандартный разъем дисплея SCART включает в себя как композитный, так и RGB-выход, а также сигналы для управления 16-цветным TTL- монитором.
Доступ к внутренней оперативной памяти был разделен между дисплеем и ЦП, при этом доступ ЦП вызывал штраф за скорость ( конфликт памяти ), поскольку он был вынужден ждать завершения изохронных доступов к памяти ASIC . В результате ЦП SAM Coupé фактически работал всего на 14% быстрее ЦП ZX Spectrum, но при этом ему приходилось выполнять гораздо больше работы в режимах высокого разрешения SAM, чтобы воспроизвести аналогичное движение на дисплее. Экран режима 3 или режима 4 использует в четыре раза больше оперативной памяти, чем дисплей режима 1 ZX Spectrum, поэтому при его обновлении приходилось выполнять в четыре раза больше работы за то же время.
Небольшой компенсацией было простое расположение цветных пикселей в этой памяти, вместо более ограниченной памяти отображения и атрибутов ZX Spectrum. Операции низкоуровневого графического программного обеспечения могли быть намного проще, чем их эквиваленты Spectrum, и, следовательно, выполняться несколько быстрее.
Штраф задержки из-за конфликта памяти применялся ко всем обращениям к памяти RAM, а не только к памяти, связанной с видеосхемой (как в случае ZX Spectrum). Аппаратные спрайты и прокрутка могли бы значительно улучшить производительность игр, но, к сожалению, на VLSI ASIC не было достаточно места на пластине для включения такой схемы.
Пока рисовалась основная область экрана 256 × 192, процессор мог получить доступ к памяти только в 1 из каждых 8 t-состояний. В пограничной области это было 1 из каждых 4 t-состояний, что не влияло на многие инструкции, тайминги которых были кратны 4. В режимах 3 и 4 дисплей можно было полностью отключить, исключив эти задержки из-за конфликта памяти для полной рабочей скорости 6 МГц. Код, работающий в ПЗУ или внешнем ОЗУ, не был затронут конфликтом, хотя любые доступы к ОЗУ, которые они выполняли для общей внутренней ОЗУ, все равно были затронуты.
Набор символов включает блочную графику и международные символы . Размер шрифта можно изменить, чтобы текст отображался в 32, 64 или 85 столбцов, также возможны символы двойной высоты. [13] [16] Пользователи могут свободно определять свои собственные символы, создавая пользовательскую графику (UDG). Для этой цели доступно большое количество кодов символов (от 144 до 255). Блочную графику (код от 128 до 143) можно отключить, чтобы освободить больше символов для UDG . [16]
В BASIC курсор состоит из символов Blocks off (128/129) для нижнего и верхнего регистра соответственно независимо от текущей настройки Blocks, поэтому перезапись этих позиций также изменит курсор. Если это нежелательно, то системной переменной (SVAR) 1 можно присвоить 2-символьное значение для новых символов курсора нижнего и верхнего регистра, которые будут использоваться.
Utility Tapes и дисковые операционные системы SAMDOS включали загрузчик шрифтов международных символов, позволяющий загружать дополнительные символы в область графического блока, начиная с 128 (0x80). Это означало, что символы курсора были перезаписаны, поэтому сопутствующий загрузчик BASIC устанавливал курсор на * и + для нижнего и верхнего регистра соответственно. [17]
В следующей таблице показано предопределенное расположение наборов символов: [13] [16]
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | А | Б | С | Д | Э | Ф | |||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Коды управления | 0 | |||||||||||||||||
1 | ||||||||||||||||||
Предопределенный набор символов | 2 | ! | " | # | $ | % | & | ' | ( | ) | * | + | , | - | . | / | ||
3 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | : | ; | < | = | > | ? | ||
4 | @ | А | Б | С | Д | Э | Ф | Г | ЧАС | я | Дж. | К | Л | М | Н | О | ||
5 | П | В | Р | С | Т | У | В | Вт | Х | И | З | [ | \ | ] | ↑ | _ | ||
6 | £ | а | б | с | г | е | ф | г | час | я | дж | к | л | м | н | о | ||
7 | п | д | г | с | т | ты | в | ж | х | у | з | { | | | } | ~ | © | ||
Блочная графика / Иностранные символы | Блоки на | 8 | ||||||||||||||||
Блокирует | é | |||||||||||||||||
Блоки выключены, Международные символы | Э | æ | Æ | о | ö | ò | û | ù | ÿ | Ö | Ü | ¢ | £ | ¥ | ₧ | ƒ | ||
Графика, определяемая пользователем | Блоки на | 9 | ||||||||||||||||
Блочная графика / Иностранные символы | Блоки выключены, Международные символы | а | я | ó | ú | с | С | ª | º | ¿ | ||||||||
Графика, определяемая пользователем | А | |||||||||||||||||
Б | ||||||||||||||||||
С | ||||||||||||||||||
Д | ||||||||||||||||||
Э | ||||||||||||||||||
Ф |
Шесть каналов 8- октавного стереозвука обеспечиваются чипом генератора звука и шума Philips SAA1099 . Машина позволяет воспроизводить звуковые образцы под управлением программного обеспечения, а также поддерживает четырехканальные модули Amiga Tracker с 3-битным разрешением образца 10,4 кГц [18] и 4-битным при 15,625 кГц. [19]
Для обеспечения обратной совместимости с ZX Spectrum , SAM также имеет однобитный «биперный» канал, который можно использовать для подачи простых тонов, включая и выключая бит, как в оригинальном Spectrum.
Машина поставлялась с 32 КБ ПЗУ, содержащим код для загрузки машины и интерпретатор BASIC (SAM BASIC), написанный Эндрю Райтом и на который сильно повлиял его ранний Beta BASIC для ZX Spectrum. ПЗУ содержали только код начальной загрузки, а DOS вместо этого загружалась с диска с помощью BOOT
команды или F9ключа. Большинство дисков поставлялись с SAMDOS, первой DOS системы, на них, так что их можно было напрямую загружать. Также была разработана улучшенная замена, MasterDOS, предлагающая более быстрый доступ к диску, больше файлов и поддержку часов реального времени для предоставления временных меток файлов среди многих других улучшений.
BASIC был очень продвинутым и включал код для рисования спрайтов и базовых векторных фигур, таких как линии и окружности. Система координат экрана для них была переменной и могла произвольно масштабироваться и центрироваться. Было предусмотрено положение для «записи» последовательностей графических команд, чтобы их можно было позже повторить без штрафа за скорость интерпретатора BASIC между ними.
Машина способна запускать CP/M 2.2 с использованием программного обеспечения Pro-Dos с поддержкой как дисков формата 720 Кбайт , так и IDE- приводов [20]
Первоначально SAM использовал 3,5-дюймовые тонкие диски Citizen , которые вставлялись под клавиатурой, чтобы обеспечить фронтальные слоты. Как и жесткие диски IDE , эти корпуса содержали не только диски, но и контроллеры дисков, WD1772-02 , благодаря чему SAM мог использовать оба диска одновременно.
Из-за недостатка в конструкции Coupé перезагрузка машины, когда диск оставлен в приводе, могла бы привести к повреждению данных на этом диске, поскольку пока линия RESET удерживается на низком логическом уровне, ASIC (которая генерирует тактовую частоту 8 МГц) останавливается, и тактовый сигнал не отправляется на контроллеры привода. [22]
Диски двойной плотности использовали формат из 2 сторон, 80 дорожек на сторону и 10 секторов на дорожку, с 512 байтами на сектор. Это давало общую емкость 800 КБ, хотя стандартный каталог занимал 20 КБ, оставляя 780 КБ свободными для пользовательских файлов. Файлы хранились в той же структуре, что и оригинальный интерфейс MGT +D , но с дополнительными кодами, используемыми для типов файлов SAM Coupé. Кодировка диска (NRZ), стратегия кодирования (линейная угловая скорость) и форматы заголовков дорожек и секторов были совместимы с теми, которые использовались на IBM PC и Atari ST , и были доступны программы для чтения дисков в формате FAT . [23] [24]
Предусмотрен большой набор портов расширения, в том числе:
До четырех устройств можно было подключить к порту Euroconnector купе с помощью SAMBUS, который также имел встроенные часы. При использовании более энергоемких периферийных устройств SAMBUS требовал дополнительного источника питания. [25]
Блок питания SAM представлял собой модифицированный модуль Amstrad CPC MP1/MP2 с встроенным модулятором RF, подключенным через совместное гнездо питания/ТВ к компьютеру. Это делало помехи сигнала от преобразователя переменного тока в постоянный обычным явлением, и это была популярная, но совершенно неофициальная модификация, которая удаляла модулятор и сохраняла его как отдельный блок. [26]
Эмуляция ZX Spectrum была ограничена 48K и достигалась либо с помощью прилагаемой утилиты и скелетного образа ПЗУ (не содержащего оригинального кода), либо путем загрузки полной копии ПЗУ ZX Spectrum ( полученной из ZX Spectrum). Чтобы соответствовать скорости обработки ZX Spectrum (3,5 МГц), SAM Coupé вводит дополнительные состояния ожидания в режиме отображения 1 (графический режим, совместимый с ZX Spectrum), чтобы замедлить ЦП и примерно соответствовать скорости этой системы.
Карта памяти модели 128K была несовместима с моделью памяти Coupé, и машина имела совершенно другой звуковой генератор. Было возможно конвертировать некоторые игры и демоверсии, напрямую взламывая код 128K или используя программный патчер с расширением ОЗУ на 1 мегабайт для предоставления адресного пространства. [27]
Поскольку Coupé не работал на той же скорости, что и Spectrum даже в режиме эмуляции, многие антипиратские загрузчики лент не работали на оборудовании Coupé. Это привело к разработке MGT специального аппаратного интерфейса под названием Messenger , который мог захватывать состояние подключенного ZX Spectrum к диску SAM Coupé для последующего воспроизведения без подключения Spectrum. Messenger подключался к сетевому порту Coupé и слоту расширения Spectrum. Из-за неподходящих кнопок на плате break ( NMI ) (необходимых для активации программного обеспечения Messenger), также предоставлялась карта с кнопкой break без дребезга , которая подключалась к слоту расширения Coupé.