Спеціальна плата PicoCPC

У 1980-х роках, під час «війн» на комп'ютерних майданчиках, діти годинами вихваляли переваги ZX Spectrum або Commodore 64, залежно від того, на якій стороні вони сиділи. Поки точилися суперечки, власники комп'ютерів Amstrad CPC зазвичай спостерігали за цим з боку, але в глибині душі вони знали, що їхній комп'ютер нічим не поступається іншим.

ROM PicoCPC використовується для передачі невеликих обсягів даних з додаткового пристрою на CPC; на друкованій платі остаточної моделі PicoCPC буде безпосередньо впаяний мікроконтролер RP2350B.

З плином часу зростає повага до 8-бітних комп'ютерів, створених компанією Лорда Шугара. В останні роки невелика, але віддана спільнота створює серію ігор, які випробовують можливості цих машин на межі (доказом цього є гра Pinball Dreams). Вони також виробляють апаратне забезпечення, яке виводить CPC на новий рівень. Хорошим прикладом цього є плата M4, яка не тільки забезпечує бездротову локальну мережу, але й дозволяє використовувати SD-карту для зберігання даних.

До списку апаратного забезпечення додається PicoCPC, новий багатофункціональний додаток, який можна використовувати в усій лінійці CPC, включаючи машини Plus, випущені в 1990 році. Неможливо описати його можливості одним реченням. Цей невеликий пристрій, побудований на базі Raspberry Pi Pico 2, надає цілу низку переваг для машин, обсяг пам'яті яких не перевищує 128 кБ.

Прототип PicoCPC, оснащений Raspberry Pi Pico 2 і невеликим дисплеєм.

Для початку, PicoCPC розширює пам'ять до 1024 кБ. Він також емулює контролер флоппі-диска, дозволяє використовувати до 16 емульованих ПЗУ (для миттєвого доступу до таких програм, як текстовий процесор Protext та альтернативні операційні системи, такі як SymbOS і FutureOS), а також дозволяє завантажувати програмне забезпечення, розроблене для консолі GX4000, з картриджів. Він додає шестиголосний звук завдяки емуляції звукової карти PlayCity, а також має годинник. Для ентузіастів CPC це швидко стає необхідним оновленням.

Ключ до успіху

Ідея з'явилася після того, як Стефан Плантар помітив проблему з багатьма попередніми доповненнями до CPC. «Я виявив, що існує багато розширень для ранніх комп'ютерів Amstrad, але вони були дорогими, рідкісними і виготовлялися з застарілих мікросхем», — каже він. Згодом він добре ознайомився з внутрішньою будовою CPC. Він виготовив зовнішній привід Gotek для CPC 664 і CPC 6128, а також пристрій, який живить CPC і дозволяє підключати його до телевізора замість монітора, що входить до комплекту.

Пристрій пройшов кілька модифікацій; Стефан також працює над картриджем із SD-картрідером для консолі Amstrad GX4000.

«Тоді мій друг Фредді розпочав проект під назвою PicoMEM для старих ПК», — каже він про пристрій на базі мікроконтролера RP2040, який запускає емульовані 8-бітні плати ISA на реальному ПК. «Я подумав, що можу зробити подібну картку для CPC, тому почав писати код, пов'язаний з CPC, на PicoMEM, щоб перевірити зчитування SD-картки, що дозволило мені ознайомитися з Raspberry Pi Pico. Потім Фредді підштовхнув мене до створення власної картки, і станом на сьогодні я виготовив три прототипи».

Стефан каже, що підійшов до проекту відповідно до принципів agile, що по суті означає, що він прагнув бути гнучким, відкритим до змін і готовим тісно співпрацювати з спільнотою CPC (всього є дванадцять принципів, і вони є частиною Agile Manifesto, опублікованого в 2001 році). «Це означає, що я веду список ідей і встановлюю свої епічні завдання та спринти», — пояснює він. «Мати стратегію — це необхідна умова, коли ти самостійно працюєш над таким великим проектом».

Amstrad CPC 464 дебютував у 1984 році; PicoCPC підключається ззаду.(Джерело: Bill Bertram, Wikimedia Commons, CC BY-SA 2.5)

По суті, Стефан працював короткими циклами розробки, або «спринтами», які зазвичай тривали тиждень. «Це дозволило мені досягти певного прогресу і досягти цілей; часто цього достатньо, щоб залишатися мотивованим», — зазначає він. З огляду на те, що проект триває вже рік, мотивація виявилася важливою. Стефан, безсумнівно, побачив багато переваг у тому, щоб базувати проект на Raspberry Pi Pico 2, і каже, що це краще, ніж альтернативи, які він розглядав.

«CPC генерує багато сигналів, на які карта повинна реагувати, тому мікроконтролер STM32 не буде достатньо швидким», — каже він про один із можливих варіантів. Він міг би вибрати рішення на базі FPGA, але це також створювало проблеми: «Для цього знадобилися б дорогі мікросхеми, а я не знаю, як з ними працювати», — додає він. «Зрештою, Pico 2 є дешевим і швидким. Два ядра і PIO роблять його набагато більш придатним для такого завдання, ніж будь-який інший доступний мікроконтролер. Він використовує одне ядро для управління входами/виходами CPC, друге ядро для запуску емуляцій, а PIO керує мультиплексорами для отримання адрес і витягування/передачі даних з/до CPC».

Швидке оновлення

Деякі ідеї Стефана все ще знаходяться в стадії розробки. «PicoCPC ще не підтримує USB-миші та джойстики. Це в планах, але поки що не реалізовано», — каже він. Але в тому вигляді, в якому він є зараз, PicoCPC значно покращує досвід використання Amstrad CPC, а також вирішує кілька практичних питань.

«Звичайний користувач CPC хотів би використовувати оригінальний комп'ютер для насолодження старими іграми з минулого», — каже Стефан. Оскільки CPC 464 на магнітній стрічці легше знайти, ніж CPC 6128 на диску, PicoCPC можна використовувати для перетворення 464 в 6128, додавши емульований дисковод, більше оперативної пам'яті, пізнішу версію BASIC (v1.1) і режим C3, який дозволяє отримати доступ до додаткової оперативної пам'яті понад базові 64 кБ. «Тоді всі ігри та демоверсії для CPC 6128 працюватимуть на CPC 464».

Ви можете використовувати PicoCPC для збільшення обсягу пам'яті будь-якого з п'яти комп'ютерів CPC від Amstrad.

Так само, на CPC 6128, PicoCPC може замінити внутрішній флоппі-диск. «Користувачам не доведеться піклуватися про старі флоппі-диски, що зношуються», — каже Стефан. Але це лише верхівка айсберга, додає він. «Багато нових ігор, розроблених в останні роки, вимагають 512 кБ пам'яті, — пояснює він. — Pico не має для цього достатньо пам'яті, тому я додав на карту чіп SRAM».

Він сподівається, що доступність PlayCity буде спонукати майбутніх розробників програмного забезпечення використовувати розширені аудіоможливості, і він з нетерпінням чекає на інші можливості. «Я планую додати належну емуляцію жорсткого диска, емуляцію музичної карти AdLib та створення нових порожніх дискеток», — розкриває він. «Але першим планом для PicoCPC є зробити його доступним. Я працюю з роздрібними продавцями у Франції, Великобританії та Іспанії і сподіваюся, що він дуже скоро з'явиться у продажу».