Найти тему
Дюк Юсупов

Codemasters CD Games Pack на ZX Spectrum +2

Оглавление

Те кто хоть что-то знает про ZX Spectrum сразу вспомнят тот факт, что программы там нужно было грузить с магнитофона, с обычных компакт-кассет. Кто знает про ZX Spectrum чуть больше - вспомнят, что были ещё и дискеты. Сильно прошаренные расскажут, что и дискеты были разные - распространены были как оригинальные дискеты для ZX Spectrum +3 со встроенным 3" дисководом (в основном в Западной Европе), так и привычные всем 5,25" и 3,5" дискеты для интерфейса Beta Disk - в Восточной Европе и в СССР (потом в странах СНГ). Но вот только настоящие знатоки знают, что для Спектрума выходили игры на CD-ROM!

Но этот опыт оказался для ZX Spectrum по факту единичным: это был Codemasters CD Games Pack выпущенный в 1989 году.

  📷
📷

На самом деле это обычный аудио-диск, с записанными на нём играми в виде аудио-файлов. Тут не было бы ничего удивительного, потому что загружать игры можно было не только с компакт-кассет, но и с катушек, виниловых дисков, даже с радио, если бы его качество было бы достаточным. Просто воткни в порт аудиовхода провод от нужного аудиоустройства. Но непросто так обычная игра грузилась по 5-10 минут - это всё потому, что нужно было оглядываться на качество источника и, если в то время просто поднять скорость записи/считывания с линейного входа, то можно было бы даже с фирменных кассет не всегда получать загруженную игру, я уж молчу про отечественные копии копий. Но да, ещё в конце 80-х и начале 90-х были эксперименты с прошивками ПЗУ, которые раза в два быстрее могли читать данные с кассет (кассеты нужно было записывать тоже быстрее в два раза). То есть даже кассеты (хорошие и записанные на хорошем устройстве) имели запас по качеству звука. Но что будет, если взять такой качественный источник как CD-диск? Ведь он позволяет выдавать звук практически в идеальном виде, без искажений. Насколько можно сократить это проклятье - ожидание загрузки игры? Вот такой эксперимент и проделала Codemasters в 1989 году.

Она не просто использовала компакт-диск как хранилище обычных записей игр в формате аудиосигнала - ведь тогда на CD влезло бы игр десять-пятнадцать - не больше. Нет, не всё так просто - на диск были размещены заранее сжатые дорожки, в количестве 34 штук, каждая из которых была не длиннее 1 минуты. То есть диск заполнен меньше чем наполовину - видимо первыми кончились игры, а не место. Ну и нужен был специальный загрузчик (который почему-то грузился с кассеты, а не был записан на CD - наверное, чтобы не перетыкать кабели) и специальный кабель - по сути аналогово-цифровой преобразователь, который втыкался не в аудиовход Спектрума, а в порты Kempston-джойстика или Sinclair-джойстика. В итоге, чтение производилось через эти интерфейсы абсолютно бесшумно, если не считать шелеста вращающегося CD-диска в приводе.

Об этом сам я узнал где-то год назад и скачал на всякий случай себе и содержимое самого диска и программу-загрузчик. Да, их распространение запрещено, но кто ищет - тот находит (или его находят, тут уж как повезёт...). Но в то время меня больше занимали другие интересные вещи, да ещё и платы Кемпстон-джойстика для ZX Spectrum +2 у меня тогда не было, так что идею опробовать это на практике я отложил в долгий ящик. И вот только в январе 2023 года, в ожидании компонент из Китая для дальнейших экспериментов с Дельта С (знал бы что с декабря всё зависнет - заказал бы тут, пусть и дороже в разы), копаясь в залежах разных скачанных файлов, я опять наткнулся на этот сборник. Опа-на, подумал я: у меня ведь есть починенный ZX Spectrum +2, уже есть порт расширения с Kempston и есть ещё работающий CD-плеер! Паззл почти сложился - не хватало только специального провода.

-2

Мои эксперименты

И вот я принялся выяснять - как же его соорудить и, если честно, знатно удивился: как же так получилось, что эта тема не разобрана по косточкам и провод тоже. Нашел одну статью, где аж с осциллографом вымеряли все сигналы и на основании этого вывели предполагаемую схему из резисторов и транзисторов. Ну тут только руками развести, как у них получился приличный и работающий результат, ведь наличие тех же конденсаторов так не поймать. Правда, оказалось всё непросто и кабель работал у них не на всех моделях ZX Spectrum, а во время эксперимента была таки сожжена микросхема ULA. Я посмотрел на приведенные схемы, почесал голову и решил искать ещё информацию. И таки нашел: еще одна статья на эту же тему содержала примерно такую же схему соединения аудиовыхода и разъема DB-9 и был даже приведен видеорезультат работы, что меня порадовало. И я решил собрать именно эту (упрощенную) схему, чтобы убедиться что у меня-то тоже оно работает. Ну и в планах было, конечно, же проверить этот способ на всех остальных Спектрумах, которые у меня были.

  📷
📷

Схема-то простейшая: три резистора, один транзистор. Сейчас вы читаете данную статью и, конечно, же понимаете, что у меня что-то получилось, а вот начало-то у меня было не очень. И проблема возникла в этом самом транзисторе - у меня BC548B не оказалось и ZTX313 тоже. И несмотря на то что в статье указывалось, что подойдёт мол любой подобный NPN-транзистор - так подобные транзисторы с таким усилением по току не валяются где попало и особенно у меня. Всё что у меня оказалось - это ZTX651 и S9013, а у них этот коэффициент усиления максимум до 300, а в среднем до 200, тогда как BC548B выдает раза в полтора больше. И когда я собрал эту схему и начал её пробовать - результат у меня был нулевой: ни через Kempston-джойстик, ни через Sinclair-джойстик я не получил ровным счётом ничего. Я уж решил забросить эту идею, потому что заказывать один транзистор в Чип-и-Дипе, ехать за ним - да ну, не стоит оно того.

  📷
📷

Но тут я решил достать с полки и сдуть пыль с такого смартфона как Microsoft Lumia 640 из-за его очень мощного выхода на наушники - просто посмотреть, а будет ли разница? И результат порадовал: с максимальным уровнем громкости в тесте, на бордюре я получил не только красный цвет, но и зеленые полоски! То есть можно таки раскачать сигнал и получить нужный уровень, даже с моими транзисторами, просто нужен предусилитель. И совершенно случайно у меня такой оказался - я его брал для усиления сигнала после пассивного микшера, куда сводились все аудиосигналы моих Спектрумов. Ну и он не подвёл - примерно на половине громкости на тесте бордюр у меня принял полностью зелёный цвет и стали загружаться игры. В итоге я собрал полноценный тестовый стенд и проделал всё как положено: загрузчик запускается с кассеты со встроенного магнитофона, сигнал с CD-плеера через усилитель идёт через кабель в разъем Kempston-джойстика. Короче тут тот самый случай, когда говорят, что лучше один раз увидеть, чем сто раз прочитать:

На видео выше заснят полный процесс от начала до конца, показан и загрузчик, и подстройка уровня сигнала, и смена игр. Победа! Но лиха беда начало - дальше я захотел проверить работу этого провода через Sinclair-джойстик. И вот тут меня ждал облом - что я только не делал, какие только пины разъема не задействовал - всегда бордюр был зеленым и ничего не грузилось ни с каким уровнем громкости. Я даже нашел в интернете фото внутренностей кабеля:

  📷
📷

И решил всё-таки задействовать оба аудиоканала, а не сливать их в один. И собрал схему уже на 5 резисторах и двух транзисторах:

  📷
📷

Опять перебрал все пины DB-9, начиная с 1 по 5 - но ничего. Проблема была ещё в том, что у меня была слегка погоревшая микросхема обрабатывающая сигналы Sinclair-джойстиков (писал в статье про модификацию ZX Spectrum +2), поэтому тут было непонятно - то ли мне нужен единственный сигнал, который в этой микросхеме и накрылся, то ли оно вообще не работает.

Не добившись результата с Sinclair-джойстиками я решил перейти к последней части испытаний - проверки остальных моих клонов Спектрума на совместимость с этой штукой. Скажу сразу - загрузить игру у меня так и не получилось ни разу. На Дельте С-02 через Кемпстон-джойстик я не смог получить хоть какой-то устойчивый сигнал, походу схема этого клона слишком далека всё-таки от оригинала. На 75-микросхемной Дельте С (с раздельными полями памяти и без Kempston-джойстика) - Sinclair-джойстики вообще ничего не давали. ZX Evolution тоже не порадовал - через тот же Кемпстон по бордюру бегали какие-то сильные помехи, не удавалось получить стабильный зеленый цвет, чтения вообще не происходило - всё срывалось. С ZXDOS+ дело обстояло чуть-чуть лучше - от помех избавится не удалось, по зеленому бордюру в тесте иногда пробегали мелкие красные полоски. Загрузка вроде бы происходила - по бордюру шли вроде как "правильные" полоски, но ни одна игра так и не загрузилась, скорее всего из-за этих самых помех - они портили сигнал и данные шли с браком.

Мои выводы

Мне удалось заставить работать данный способ загрузки игр на Спектруме. Причем максимально близко к оригиналу: и ZX Spectrum оригинальнее некуда, и запуск загрузчика с кассеты, и запуск игр с реального CD-привода (самый тонкий плеер - iRiver iMP-550 SlimX). Результат интересный: на одном диске можно было бы разместить штук 50-70 игр вообще без проблем и все игры запускались бы менее чем за минуту. Я специально сравнил размер двух одинаковых игр - Dizzy II:

  📷
📷

С кассеты игра бы загружалась 5 минут и 43 секунды, а вот с компакта - всего за 47 секунд, то есть в 7 раз быстрее - почти на порядок! Очень неплохо, я бы прям сказал, что хорошо. Ожидание загрузки игры даже сейчас бы меня не напрягло, а уж отсутствие проблем с качеством загрузки - это в то время было неплохое преимущество.

Однако, про минусы тоже не стоит забывать: во-первых, стоимость самого привода компакт-дисков (в 1989 году это уже не новинка, но цена кусается прям ого-го), во-вторых, необходимость приобретения тех же игр на CD-дисках - опять же удовольствие недешевое, в-третьих, нет стандартного загрузчика и провода - каждый производитель клепал бы своё (но тут дальше одного случая дело даже не пошло), в-четвертых, уже были дисководы (тот же Beta Disk Interface вышел в 1985 году) с гибкими дисками (дискетами), которые по удобству, цене (и дисковод и дискеты стоили заметно дешевле) и скорости работы превосходили это решение с CD-приводом (и сам способ хранения на нём аудиоинформации, а не файлов в цифровом виде). В итоге, подобная технология оказалась и дороже и хуже по качеству, чем уже имеющиеся альтернативы: у кого денег не было - ждали минутами загрузку с магнитофона, у кого были - покупали дисководы и грузили всё с дискет за считанные секунды. Поэтому данный диск и был первой и последней попыткой, которая скорее просто рекламировала Codemasters, нежели чем пыталась добавить ещё один способ загрузки игр. И я бы даже сказал, что среди той дичи, что творилась в 80-е годы с геймингом, это не такая уж и странная штука. Но для Спектрума да - презабавный артефакт.