October 16

Дискетное и программное - C64 и X68000

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

Дискетные накопления постоянно пополнялись от друзей-спектрумистов. И иной раз было интересно часами что-то грузить, смотреть, грузить новое с дискет, чем целенаправленно заниматься чем-то одним.

Я очень ценю и уважаю современные эмуляторы дисководов. Gotek для большинства машин, pi1541 для C64 - неоценимые помощники для копания в залежак TOSEC'овоских архивов и прочих сборниках - software archaeology. Но так же и в изучении новинок, коих очень много на том же Commodore 64.

Но ничто не заменит тактильных ощущений от оперирования реальными дискетами. Приятно держать коллекции "вкусностей", которые можно перебирать темными зимними ночами.

С этими мыслями я решил записать пару-тройку дискет для C64. Получилось больше :)

Пару лет назад у меня получилось очень дешево выцепить устройство под названием ZoomFloppy. Это USB-интерфейс для современных компьютеров (pc, mac), позволяющий подключить коммодоровские дисководы через последовательный (1541) и параллельный (1551) интерфейсы. На ПК лежат образы дискет в формате .d64, с помощью утилит пакета opencbm они медленно (7 минут на одну сторону) переносятся на настоящую дискету внутри 1541.

1541 - 40-дорожечный односторонний дисковод, поэтому обычные двусторонние 5.25 дискеты можно использовать дважды. Необходимо лишь грамотно и симметрично прорезать или прорубить отверстие защиты для записи с левой стороны.

Спасибо Ивану из коммодоровского чата (https://t.me/c64chat) за 3д-печатный адаптер к алишному квадратному дыроколу (https://aliexpress.ru/item/1005005672757846.html) - дырки получаются идеального размера и отлично определяются дисководом.

В итоге, я отфильтровал некоторые игры последних лет 15 и новинки демосцены, прикупил бокс для 5.25 дискет. Получилось нечто такое уютное, что можно открывать долгими зимними вечерами и предаваться эскапизму с Коммодором :)

Пока я неторопливо записывал дискеты для C64, у меня появился X68000. С одной стороны, он поддерживает внешние SASI/SCSI-диски. А значит можно подключить ту же BlueSCSI, залить на SD-карту постоянно пополняемый образ с играми и развлекаться. Но, как мы помним, у Sharp встроенные два дисковода. Следовательно без реальных дискет тут никак не обойтись.

Для записи дискет был приобретен контроллер Greaseweazle (https://www.avito.ru/moskva/orgtehnika_i_rashodniki/greaseweazle_v4.1_-_podklyuchenie_staryh_diskovodov_3807095971), дисковод 5.25 HD на 1.2 МБ и прорва дискет.

При помощи эмулятора я отобрал примерно 300 образов дискет для записи и до сих пор продолжаю их методичный перенос на реальные носители.

Если для Амиги стандартным форматом является .adf, то для X68000 - .xdf .

Существуют дополнительные форматы, которые могут быть побайтово идентичны .xdf . Либо общие форматы для многих японских компьютеров .d88

Есть и просто кое-как получившиеся "слепки" реальных дискет, записать которые никак не возможно. Либо из-за совершенно нестандартного формата. Либо из-за физических изменений структуры диска с целью защиты от копирования, которые любили делать, например, для игр серии Might&Magic. Образы этих игр у меня не запустились, либо даже не записались что для C64, что для X68000.

Под macos существутет только GUI-версия Fluxengine. Записывать диски для X68000 она категорически не умеет, не смотря на присутствие всех необходимых параметров. Пользоваться можно только win-версией.

Поделюсь командой для записи образов:

fluxengine.exe write ibm --1232 --decoder.retries=20 -i "путь_к_файлу"

Процесс записи дискет выглядит примерно так:

И вот так выглядят промежуточные итоги :)

Итогами этого процесса явилось следующее:

  • Наверное треть игр на X68000 это шпамы. Великолепные аркадные порты всех разновидностей, вер и исповеданий. От Gradius и R-Type, до малоизвестных Cyber Core.
  • Вторая треть игры - это визуальные новеллы. Из которых большинство либо с легким наличием эротики, либо с жесткой порнографией. И все это на фоне красивого сюжета и изображений, иной раз в 65536 цветах.

Перепробовал и прикладной, и системный софт. Клавиатуры у меня пока так до сих пор и нет, но эмулятор в этом помог.

Операционная система Human68k по командам похожа на MS-DOS. По возможностям шире - имеются зачатки многозадачности. Поскольку адресное пространство, как в случае с MS-DOS, не ограничено 640 килобайтами, то тут устроено нечто подобное RT-11. Есть foreground, есть background задачи. Есть процессы-резиденты и средства управления ими.

Бегло посмотрел графические оболочки. По принципу работы похожи на ранние Windows - практически операционные системы, запускаемые из DOS. Основные были 2:

  • SX-Window, которая пережила 3 инкарнации. Была коммерческая, но популярностью пользовалась.
  • KO Window. Бесплатная, но не Open Source. Говорят, что пользовалась огромной популярностью.

Даже внешний вид UI показывает, что первая и снаружу, и внутри на уровне API тяготела к ранним MacOS. Вторая была более UNIX-ориентированная.

Посмотрел отдельно текстовые редакторы, офисные пакеты и графические редакторы. Некоторые похожи на Лексикон под DOS :) Некоторые очень даже интересные.

Это все очень интересно, но есть некоторый камень преткновения - японский язык везде и всюду. И, к сожалению, очень мало переводов игр и софта.

Можно наработать мышечную память, можно постоянно прикладывать телефон к монитору и пользоваться Google Lens :)

И я решил попробовать хоть минимально восполнить этот пробел и начал переводить какие-то базовые вещи самостоятельно. С помощью Total Commander'а с просмотром файлов в JIS-кодировке, Google Translate и hex-редактора.

По-моему получается не плохо :)

Как закончу с переводом ПЗУ и системной дискеты Human68k, следующей хочу взять системную дискету графической оболочки SX-Window 3.02.

А вот потом интересно было бы попереводить какие-нибудь визуальные новеллы. Сообщения у них хранятся в типизированных файлах, с явными идентификаторами каждого сообщения. В теории можно все это добро перобразовать во что-то удобное для работы, перевести. И таким же образом написать конвертер обратно в игровой формат.

Посмотрим, хватит ли у меня терпения :)