stringtranslate.com

Юпитер Ас

Jupiter Ace от Jupiter Cantab был британским домашним компьютером, выпущенным в 1982 году. Ace отличался от других микрокомпьютеров того времени тем, что его среда программирования использовала Forth вместо более популярного BASIC . [1] [2] Это отличие, наряду с ограниченным доступным программным обеспечением и плохим графическим дисплеем на основе символов, ограничило продажи, и машина не имела успеха. [3] [4]

История

Небольшая система Юпитер-Ас

Jupiter Cantab была основана Ричардом Альтвассером и Стивеном Виккерсом . [5] Оба были в команде разработчиков ZX Spectrum : Альтвассер работал над разработкой ZX81 и проектированием оборудования Spectrum. Виккерс адаптировал и расширил 4K ZX80 ROM до 8K ZX81 ROM и написал большую часть ROM для Spectrum.

Jupiter Ace был назван в честь раннего британского компьютера Pilot ACE [6] и поступил в продажу 22 сентября 1982 года по цене 89,95 фунтов стерлингов [2] .

Продажи для широкой публики были медленными. Первоначально компьютер был доступен только по почте, [2] и Jupiter Cantab сообщила, что были трудности с производством, но они были преодолены к январю 1983 года, и что устройства начали поступать в магазины. [7]

Использование Forth вместо более обычного выбора BASIC, а также доступность и успех ZX Spectrum, а также ограниченное количество опубликованного программного обеспечения, плохой корпус и небольшая начальная память — все это мешало более широкому принятию на рынке. В конце концов, Jupiter Cantab прекратил торговлю к концу октября 1983 года. [8]

В 1984 году бренд был приобретён компанией Boldfield Computing Ltd, которая продала оставшиеся акции по почте за 26 фунтов стерлингов. [8] В 2015 году бренд был снова продан компании Пола Эндрюса Andrews UK Limited. [9]

Продажи

Продажи автомата никогда не были очень большими; сообщалось, что количество проданных Aces до закрытия Jupiter Cantab составило около 5000. [4] По состоянию на начало 2000-х годов сохранившиеся автоматы были редкостью и часто продавались по высоким ценам как предметы коллекционирования.

Forth, будучи структурированным и мощным, считался сложным для изучения, а знание BASIC, полученное при знакомстве с другими домашними компьютерами, не имело практической помощи в его изучении. В обзоре 1982 года говорилось, что «успех Jupiter Ace будет зависеть от принятия публикой, покупающей машины, другого языка микрокомпьютеров». [10]

Кроме того, для этой машины был выпущен лишь очень ограниченный набор программного обеспечения — либо коммерческих программ, либо программ для ввода текста, напечатанных в журналах для любителей, и они были ограничены небольшим объемом оперативной памяти базовой модели. [3]

Попытки продвинуть Ace на образовательном рынке также не увенчались успехом; сомнения относительно того, будет ли Forth актуален для программ экзаменов, и отсутствие поддержки Forth со стороны преподавательского состава были ключевыми проблемами. [11] Учащиеся были больше заинтересованы в изучении широко используемого BASIC, чем языка, используемого только одной (необычной) машиной со своеобразным синтаксисом RPN . [12]

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

Дизайн

Jupiter Ace часто сравнивают с ZX81 из-за схожего размера, низкой стоимости и схожего форм-фактора . [13] Внутренне его конструкция больше похожа на ZX Spectrum, хотя Ace также имел выделенную видеопамять объемом 2 КБ, что частично позволяло избежать замедления, когда программы обращались к тому же банку (тем же чипам), что и видеопамять. Как и Spectrum, Ace использовал черные токопроводящие резиновые клавиши, хотя в отличие от Spectrum, клавиши имели токопроводящую накладку, которая была прижата непосредственно к дорожкам на печатной плате, а не использовала мембрану. В результате клавиши часто переставали надежно работать, пока их не очистили или не обновили токопроводящий материал.

Аудиовозможности контролировались процессором с программируемой частотой и длительностью. Звук выводился через небольшой встроенный динамик.

Как было принято в то время, он использовал обычный магнитофон вместо дисковых/ленточных приводов. Аналогично, телевизор был нужен в качестве дисплея – но он был только черно-белым, а не цветным, поддерживаемым конкурирующими моделями, такими как Spectrum. Вторичный (недокументированный) краевой разъем на задней стороне корпуса делал некоторые видеосигналы доступными, предположительно, для будущей цветной видеокарты, но ни один официальный продукт, который использовал бы этот разъем, так и не был выпущен.

Jupiter Ace был создан на базе Zilog Z80, с которым конструкторы уже имели опыт работы над Sinclair ZX81 и ZX Spectrum.

И графика, и текст могли отображаться одновременно: (1) переопределение плиток символов обеспечивало стандартную графику 256×192, ограниченную 128 доступными (определяемыми) символами 8×8, одновременно с построением графики 64×48.

Внутренний динамик напрямую управляется процессором в однозадачном режиме с контролем частоты и продолжительности звука в миллисекундах .

Хранение осуществлялось через интерфейс кассетной ленты на скорости 1500 бод . Файлы могли использоваться как для хранения программ Forth (скомпилированный код), так и для необработанных дампов памяти.

Память

Ace имел 8 КБ ПЗУ , содержащее ядро ​​Forth и операционную систему, а также предопределенный словарь слов Forth в 5 КБ. Оставшиеся 3 КБ ПЗУ поддерживали несколько функций: библиотеку чисел с плавающей точкой и таблицу определений символов, доступ к магнитофону, декомпиляцию и переопределение заново отредактированных «слов» (т. е. процедур). [14] Часть ПЗУ была написана в машинном коде Z80 , но часть также была закодирована в Forth.

Следующие 8 КБ были построены в ОЗУ, которое было декодировано лишь частично , при этом 2 КБ видеопамяти были отображены дважды, а 1 КБ пользовательской ОЗУ был отображен 4 раза (при этом одна и та же память появлялась по нескольким разным адресам памяти).

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

Первые 16 КБ карты памяти использовались для ПЗУ, видео и доступной пользователю ОЗУ, вторые 16 КБ карты памяти оставались свободными для расширения ОЗУ, а верхние 32 КБ оставались неопределенными.

Один банк 1K позволял переопределять большинство из 128 символов на основе ASCII в формате битовой карты 8×8 пикселей . Другой банк 1K хранил полноэкранное отображение 24 строк × 32 столбцов символов в черно-белом цвете. Цвет предполагалось получить в качестве расширения, но хотя была разработана цветная графическая плата, [15] ни одна из них не была произведена в коммерческих целях.

1 КБ ОЗУ с возможностью 16 КБ RAM-Pack, а позже и 32 КБ. Печатная плата также была представлена ​​Boldfield Computing, которая преобразовала краевой разъем для электрической совместимости с Sinclair ZX81, что позволило использовать пакет ОЗУ ZX81 16K. [16]

Технические характеристики

Ссылки на Ace RAM иногда включают отдельную видеопамять 2 КБ , которая не была доступна для программирования, что приводило к некоторой путанице. Аналогично, иногда утверждается, что из-за эффективности Forth стандартная RAM 1 КБ была фактически сопоставима по крайней мере с 2 КБ в системе BASIC.

Программирование

Словарь Ace's Forth

Его наиболее отличительной чертой был выбор Forth, структурированного языка. Поточная компиляция позволяла программам, написанным для работы почти так же быстро, как и многие компилируемые нативные языки, загруженные более дорогими компьютерами. Forth считался хорошо адаптированным к микрокомпьютерам с их небольшой памятью и относительно низкопроизводительными процессорами. [18] Программы Forth эффективно используют память; по мере того, как они становятся больше, они повторно используют больше ранее определенного кода. [19] Управляющие структуры могли быть вложены на любом уровне, ограниченном только доступной памятью. Это позволяло реализовывать сложные программы, даже допуская рекурсивное программирование . Было заявлено, что Forth от Ace был «в десять раз быстрее, чем Basic» [20] [21] [22] и использовал менее половины памяти (значительный процент стоимости компьютеров низкого класса того времени) эквивалентной программы, написанной на интерпретируемом BASIC. [20] Он также позволял легко реализовывать процедуры машинного кода , если это было необходимо. [23]

Forth от Ace был основан в основном на Forth-79 с некоторыми существенными отличиями, [6] : 176  в частности, он добавил проверку синтаксиса для управления структурами и конструкциями определителей, а также было добавлено несколько дополнительных слов на основе общих команд BASIC для звука, видео и ленты. Реализации не хватало некоторых менее часто используемых слов Forth, которые легко были реализованы при необходимости. Проверку ошибок во время выполнения можно было отключить, чтобы повысить скорость на 25% - 50%. [6] : 171 

Декомпиляция

Его Форт был адаптирован к аппаратному обеспечению домашних компьютеров, использующих ленточные носители, без дисков, благодаря возможности сохранять/загружать «скомпилированные словари» пользователя вместо обычных пронумерованных программных блоков, используемых в дискетных системах.

Декомпиляция избегала траты оперативной памяти при имитации отсутствующей блочной системы, используемой как с дисковыми, так и с ленточными драйверами (последние не следует путать с ленточными магнитофонами). В качестве замены он включал дополнительный файл данных для необработанных двоичных данных. Эти решения были уникальными для Jupiter Ace.

ОПРЕДЕЛИТЕЛЬ против КОМПИЛЯТОРА

Чтобы разрешить декомпиляцию, он различает обычные слова определения Форта и создания компилятора, заменяя пару создания CREATE .. DOES>, [24] на:

  1. DEFINER .... DOES> : Создать новые определяющие слова, обычно используемые для определения и построения структур данных. Аналогично CREATE..DOESиспользованию в стандартном FORTH. [6] : 120  (Пример: Добавление структур данных в виде массивов, записей, ...).
  2. COMPILER .. RUNS> : Создать новые слова компиляции, реже используемые для расширения языка с помощью слов компилятора, где CREATE..DOES>реализация FORTH зависит от. [6] : 136  (Пример: новые структуры управления компилятором, такие как Case, Infinite Loop, ...).

Эти две определяющие пары, а не одна в отдельности, позволяли Ace декомпилировать свои программы, в отличие от обычных систем Forth . Эта способность декомпиляции была решением проблемы отсутствия более гибкой дисковой системы, используемой Forth. Не сохраняя исходный код программы Forth, а компилируя код после редактирования, он полностью избегал эмуляции дисковода/ленточного накопителя в ОЗУ, экономя память компьютера . Он также экономил время при чтении и записи программ с кассетной ленты. Это дружественное к лентам и экономящее ОЗУ решение было уникальным для Jupiter Ace Forth.

Имена могут быть двусмысленными вне контекста Forth, так как все слова компилируются при объявлении. [25]DEFINER определяет новый класс (как массив), который будет строить (компилировать) объект массива. [26] Они активны в «Интерпретаторе». Сопряжение этого режима взаимодействия COMPILERопределяет структуру программирования (обычно пару или триплет) как IF-ELSE-THEN. [27] Эти «Структурированные программы» активны в режиме «Компиляция» (который просто строит новое слово Forth). Короче говоря, «Режим интерпретации» означает стадию выполнения, в то время как «Режим компиляции» относится к стадии редактирования.

Разработка

Избегание источников компенсировалось сохранением комментариев, введенных в код, вместе с скомпилированным выводом, традиционная компиляция отбрасывала такие комментарии. Комментарии затем восстанавливались при декомпиляции. В результате «код является источником», измененные слова (отредактированные) требовали актуализации всего кода с использованием только что отредактированного. Это было сделано с помощью нестандартной REDEFINEкоманды.

Хотя это и не было специально разработано для этой цели, скомпилированный Forth мог быть использован для расширений ПЗУ встроенной системы. Внешние ПЗУ были разработаны с Ace Forth для использования в качестве управляющих приложений. [28] [29]

Дополнения

Машина могла использовать некоторые дополнения ZX81 из-за схожего расположения ОЗУ и внешнего слота расширения. Jupiter Cantab изготовила пакет ОЗУ на 16 КБ, а внешние компании изготовили аналогичные пакеты ОЗУ, а также другие периферийные устройства и интерфейсы.

Пакеты оперативной памяти [30]
  1. 16 КБ от Jupiter Cantab.
  2. 16 КБ и 32 КБ от Stonechip Electronics.
  3. 16 КБ от Sinclair, с адаптерной платой от Jupiter Cantab для электрической совместимости.
  4. 48 КБ от Boldfield (новый владелец Jupiter Ace после Jupiter Cantab).
Клавиатура [31]
  • Клавиатура Memotech от Memotech .
Звук [32]
  • SoundBoard (1983) от Essex Micro Electronics,
Хранение [33]
  1. Система дискового привода Jet-Disc (1983) компании MPE (управление четырьмя 3-, 5- или 8-дюймовыми приводами).
  2. Интерфейс диска «Deep Thought» с 4K AceDOS в EPROM (1986) от J Shepherd & S Leask.
Адаптеры для принтеров
  • Интерфейсная машина ADS Centronics (1983), Advanced Digital Systems, [34]
  • RS232 и Centronics PrinterCard (1984) от Essex Micro Electronics. [35]
  • Принтер Sinclair ZX можно было подключить с помощью адаптерной платы и программного обеспечения. [36]
Видеокарта
  1. Карточка «Шкала серого» – «4 оттенка серого» С. Лиска (1986)

Модели

Юпитер Эйс выпуск 1

Оригинальный Jupiter Ace issue 1 был представлен в 1982 году и имел вакуумно-вытянутый корпус. Сообщается, что было выпущено 5000 экземпляров. [37]

Юпитер Ас 4000

Jupiter Ace 4000 был представлен в 1983 году и имел более прочный литой корпус. Сообщается, что было выпущено 800 единиц. [38] [8]

Видеоигра

Существует 51 известная коммерчески выпущенная видеоигра для Jupiter Ace [39]

Смотрите также

Другие микрокомпьютеры на базе Форта:

Ссылки

  1. ^ "Брошюра продаж Jupiter Cantab". Сайт ресурсов Jupiter Ace .Страница 1
  2. ^ abc Смит, Тони (2012-08-01). "Юпитерский туз: 40 лет на двух спектральных звездах, идущих вперед". The Register . Получено 2013-06-26 .
  3. ^ ab "Jupiter Ace Software Index". Сайт ресурсов Jupiter Ace . Архивировано из оригинала 2007-05-23 . Получено 2014-10-05 .
  4. ^ ab "Что такое туз". Сайт ресурсов Jupiter Ace . Архивировано из оригинала 2012-06-17 . Получено 2008-09-24 .
  5. ^ "Секретные планы новой компании - ДВЕ ведущие фигуры в разработке ZX Spectrum, Ричард Альтвассер и Стивен Викерс, разорвали связи с Sinclair Research и основали собственную компанию". Sinclair User . № 4. Июль 1982 г.
  6. ^ abcde Викерс, Стивен (1982). Jupiter Ace FORTH-программирование.
  7. ^ "Новости - дилеры с Хай-стрит держат все тузы". Ваш компьютер . Январь 1983. С. 29.
  8. ^ abc Смит, Тони (21 сентября 2012 г.). «Юпитер Эйс: 40 лет спустя». The Register .
  9. ^ "Прованс Трейл". Юпитер Эйс . 2022-05-21 . Получено 2024-03-08 .
  10. ^ Беннетт, Билл (ноябрь 1982 г.). "Обзор Jupiter Ace". Ваш компьютер .
  11. Лейн, Джо (11 ноября 1982 г.). «Ace Goes Back To School». Popular Computing Weekly .
  12. Смит, Тони (21 сентября 2012 г.). «Юпитер Эйс: 40 лет спустя». The Register .
  13. ^ "Незаполненная печатная плата выпуска два". Архив Jupiter Ace .
  14. ^ «Проект ACE ROM (Электронная книга)».
  15. Уайк, Джон (апрель 1984 г.). «Добавляя цвет к тузу». ETI . стр. 41.
  16. ^ "/pub/Vintage/Sinclair/80/Jupiter Ace/Peripherals/Motherboard (Boldfield)". Архив компьютеров Sinclair ZX . Получено 8 декабря 2019 г.
  17. ^ Свободные технологии для синтеза цифровых трехмерных изображений. Себя. 2006. с. 40. ISBN 978-84-689-9280-8. Micro Z80 3,25 МГц [...], Jupiter Ace [...]
  18. ^ Уильямс, Грегг (август 1980 г.). "Редакционная статья - Нити гобелена FORTH" (PDF) . Байт . стр. 6.
  19. ^ Джеймс, Джон С. (август 1980 г.). «Что такое Форт? — Характеристики кода FORTH» (PDF) . Байт . стр. 102.
  20. ^ ab "Spectrum team deal their Ace". Popular Computing Weekly . 26 августа 1982 г. Архивировано из оригинала 3 марта 2016 г. Получено 15 ноября 2012 г.
  21. ^ «Тесты (Запись № 9)».
  22. Полное издание FORTH , Алана Уинфилда , 1983, Sigma Technical Press, стр. xi.
  23. Электроника и вычисления , «Jupiter Ace Review», 1982, ноябрь, стр. 70.
  24. ^ Уинфилд, Алан : «Полный Форт», Глава 9 «Расширение Форт», Sigma Technical Press, 1983.
  25. ^ Проект ACE ROM v3, 2021. Книга II «Оригинальный листинг», Источник ROM
  26. ^ Проект ACE ROM v3, 2021. Глава 3 «Советы по программированию», Раздел 3.2 «Определитель/Компилятор»
  27. ^ Проект ACE ROM v3, 2021. Глава 4 «Быстрее, быстрее», Раздел 4.4 «Создаем собственное», «Дело Case»
  28. ^ "ACE User 4, страница 8: Расширение ПЗУ для Ace" (PDF) .
  29. ^ "FORTH User Vol2#1, страница 2, "EPROM для ACE"" (PDF) .
  30. ^ "Аппаратные пакеты RAM Jupiter ACE". www.jupiter-ace.co.uk .
  31. ^ "Jupiter ACE Hardware Memotech Keyboard". www.jupiter-ace.co.uk .
  32. ^ "Сайт ресурсов Jupiter Ace - Обзор звуковой платы EME AY-3-8910". www.jupiter-ace.co.uk .
  33. ^ "Система привода Jet-Disc Disc II". www.jupiter-ace.co.uk .
  34. ^ "Обзор интерфейса Jupiter Ace Hardware ADS Centronics". www.jupiter-ace.co.uk .
  35. ^ "Jupiter Ace Аппаратная карта принтера". www.jupiter-ace.co.uk .
  36. ^ "Лента 11: Драйвер принтера ZX". www.jupiter-ace.co.uk . Получено 25.11.2023 .
  37. ^ "Что такое A Jupiter ACE". Архивировано из оригинала 2012-06-17 . Получено 2008-09-24 .
  38. ^ «Что такое Jupiter ACE 4000».
  39. ^ "От А до Я". www.jupiter-ace.co.uk .
  40. ^ "Micronique HECTOR HRX". Музей OLD-COMPUTERS.COM. Архивировано из оригинала 21 ноября 2010 г. Получено 5 января 2015 г.

Внешние ссылки