Когда-то давно в верните нам 2007-ом я жил в славном районе нашего города с гордым названием Подгора. На пересечении мной забытых улиц стояло мое жилище, а уже в нем мой старенький компьютер с не менее гордым процессором целерон. Интернета, естественно, не было. По этой причине я всеми возможными способами собирал на жёстком диске не менее жёсткое порно, игры, музыку, картинки и фильмы.
В свободное время (а занят я был редко) я восседал за этим компьютером, под причитание мамы, что он мне в жизни не пригодится. Ага, ебать, не пригодился. В общем.
В один ненастный день с колонок пропал звук. Не помню, в какой именно момент, только помню что его блять взяло и не стало. Ну всё ебать, что-то накрылось пиздой. То были мои первые мысли. Да поебать, играть то можно. То были мои вторые мысли. Но на самом деле, ебать как не хватает звука. Поэтому вооружив свои клешни отвёрткой и пассатижами, я начал ремонт.
Напомню, что интернета не было, даже на телефоне. Поэтому действовать я стал по наитию. Переподключил колонки, включил их, выключил их, снова включил. Абсолютный поебатизм. Ладно, у меня все ещё был план. Я открыл крышку корпуса системного блока и все почистил, перевоткнул всё ебать, что можно было перевоткнуть. Прыгал с бубном, угрожал, молился, плакал. Результат все тот же.
Потом до меня дошло озарение - чё то с виндой. Перекопал все настройки связанные со звуком и не только - не помогло. Ну думаю хуй с ним, переустановлю Винду. Переустановил, уверенный в своей победе, включаю видео, а там хуй. Хуй хуй хуй хуй хуй. К слову в те годы винда переустанавливалась примерно 2 месяца, поэтому ярости моей предела не было. Хули, что делать. На всякий случай поинтересовался у родителей, можно ли купить новые колонки. Родители послали нахуй, тоже на всякий случай.
Ну думаю, ебать, кто-то глухим вообще рождается, а тут всего лишь с компа не слышно нихуя. Все окружающие меня мотивационные тренеры записали эту фразу себе в блокнот, а я просто стал жить блять. Прошло около месяца моей тихой жизни. Я играл без звука, смотрел клипы без звука, слушал музыку без звука. И вот в какой-то момент я подумал, а не посмотреть ли масяню. Без звука опять жеж. Тогда она у меня была в видеоформате и в формате Флэш.
Короче решил пересмотреть всё, смеялся, улыбался как ебанушка, фразы вспоминал. Открываю следующий файл (не помню флеш или видео) - он начинается с середины и появляется блять звук. Вот просто так же как и исчез. Да ну нахуй. Тогда я просто охуел. Искаженный голос Куваева поверг меня в ступор, я не верил своим ушам. Сука файл Масяни каким то образом захавал весь мой звук со всего компьютера, я потом до потолка скакал от радости, даже компьютер выключать боялся. Жизнь снова расцвела всеми красками и звуками.
Сразу скажу: если для вас Black Flag — это одна из лучших частей серии, то мимо Resynced пройти будет сложно. Потому что это не история про “сделали ремейк ради галочки”, а скорее попытка довести оригинал до состояния, в котором он и должен был существовать сегодня.
Суть осталась прежней: мы снова играем за Эдварда Кенуэя, капитана «Галки», лезем в пиратские разборки, берём корабли на абордаж, стреляем, режем, прячемся в толпе и попутно вляпываемся в старую добрую войну ассасинов с тамплиерами. Только теперь всё это выглядит и ощущается заметно современнее.
Разработчики не стали ломать основу, и это, как по мне, правильное решение. Они просто взяли всё, что работало в оригинале, и хорошенько это подтянули: бои сделали бодрее, стелс удобнее, паркур плавнее, а морской геймплей — глубже. Плюс накинули всяких приятных штук вроде новых сюжетных эпизодов, офицеров для «Галки», питомцев, дополнительных морских песен и нормального фоторежима.
Отдельно хочется отметить картинку. Карибы теперь смотрятся реально сочно: море, джунгли, города, шторма, затонувшие корабли — всё это стало заметно красивее и живее. Видно, что игру не просто “подкрасили”, а реально обновили под современное железо.
Короче, если в двух словах: Resynced — это не новая Black Flag, а та же самая, только без ощущения, что ты играешь в игру из прошлого поколения с кучей старых ограничений.
Сюжет
Если вы проходили оригинал, то в плане истории тут всё довольно знакомо. Это всё тот же путь Эдварда Кенуэя — человека, который сначала хотел просто денег, свободы и красивой жизни, а потом влез туда, где уже не получится жить только ради себя.
Эдвард по-прежнему хорош как главный герой. Он не выглядит каким-то правильным спасителем мира с первых минут, не строит из себя святого и вообще довольно долго остаётся обычным жадным авантюристом. Но именно поэтому за ним и интересно наблюдать. У него есть характер, он ошибается, упрямится, теряет людей, делает глупости — и за счёт этого воспринимается живым.
По сюжету снова будут знакомые лица: Энн Бонни, Чарльз Вейн, Чёрная Борода, Стид Боннет и прочие персонажи, за которых оригинальный Black Flag многие и полюбили. Вся эта пиратская тусовка по-прежнему держит атмосферу на себе: где-то за счёт харизмы, где-то за счёт драмы, а где-то просто потому, что наблюдать за этим бардаком реально интересно.
Сами события разворачиваются в знакомых местах Карибского региона — Гавана, Кингстон, острова, плантации, морские маршруты и всё в таком духе. Но Resynced не ограничивается просто повтором старого сюжета. Тут добавили новые главы и дополнительные сцены, связанные с Эдвардом, Кэролайн, Стидом и Чёрной Бородой. Подробности пересказывать не буду, чтобы не лезть в спойлеры, но сам факт приятный: это не просто “тот же сюжет один в один”, а немного более полная версия истории.
Ещё обещают свежие квесты, дополнительные флешбэки и расширенные предыстории офицеров «Галки». Не то чтобы это полностью меняло впечатление от сюжета, но для тех, кому мир Black Flag был интересен не только на уровне “кораблики классные”, это хороший плюс.
Ну и да, чисто для атмосферы: в игре можно будет найти питомца для «Галки» — например, кошку или обезьяну. Мелочь, а приятно.
Игровой процесс
По ощущениям Resynced не пытается стать какой-то новой частью серии. Это всё ещё тот самый Black Flag, где половина кайфа строится на том, что ты то лазишь по крышам и фортах, то рассекаешь по морю, то устраиваешь абордаж, то лезешь за сокровищами в джунгли или под воду.
И, что особенно приятно, игра не уходит в RPG-дебри, как последние части серии. Тут снова упор именно на приключение, исследование мира и экшен, а не на бесконечный гринд, уровни врагов и шмот с циферками.
При этом базовые механики ощутимо освежили. Бои теперь заметно быстрее, стелс стал удобнее, а паркур больше не выглядит настолько деревянным. Плюс переработали море — а это, давайте честно, вообще самое главное в Black Flag.
Отдельный плюс — возможность свободно нырять почти в любой точке карты, более живой подводный мир и в целом больше активности не только на суше, но и в море.
Также пересмотрели некоторые бесячие элементы старых Assassin’s Creed. Например, миссии слежки и подслушивания больше не валятся автоматически, если ты где-то чуть-чуть накосячил. Для серии это прям большое облегчение.
После завершения кампании тоже будет чем заняться: обещают новые эндгейм-миссии, побочки, острова и дополнительные цепочки для команды. По объёму там примерно ещё на несколько часов контента.
Что поменяли
Теперь по самому интересному — что именно изменили.
Боевая система
Бои в оригинальном Black Flag были зрелищные, но давайте честно: со временем они превращались в “стой, жди, жми контратаку”. В Resynced от этого решили немного уйти.
Теперь боёвка стала быстрее, агрессивнее и чуть требовательнее. Добавили механику идеального парирования, после которого можно сразу вскрыть врага и запустить цепочку добиваний. То есть эффектные анимации никуда не делись, но теперь за ними хотя бы чувствуется чуть больше участия игрока.
Оружие осталось знакомым: сабли, пистолеты, скрытые клинки, плюс гаджеты. Всё это переключается удобнее, а сами драки стали бодрее. Враги тоже не стоят мешками, а давят активнее, так что тупо закликивать всех подряд уже не выйдет.
Плюс окружение теперь используется активнее: можно швырять противников в предметы, использовать бочки, стены и укрытия в бою. На бумаге не звучит как огромная революция, но в динамике это как раз и даёт ощущение, что драки не такие однообразные.
И ещё добавили нового типа врага — Подрывника. То есть не просто подкрутили старую систему, а реально попытались её немного разнообразить.
Стелс
Скрытность в Black Flag раньше работала, но временами игра сама себе мешала. В Resynced это решили поправить.
Во-первых, Эдвард теперь может приседать в любой момент, и это уже сильно упрощает скрытное прохождение. Во-вторых, тени и освещение теперь действительно влияют на заметность, а не существуют просто для красоты.
Появилась возможность тихо подплывать к кораблям и укреплениям, что особенно хорошо вписывается в пиратскую тему. Не всегда же нестись напролом с пушками.
Ну и самое важное — миссии слежки и подслушивания больше не разваливаются мгновенно, если тебя заметили. Цель может начать убегать, поднять тревогу или перейти в драку, а игроку уже придётся выкручиваться по ситуации. Честно говоря, вот это одно из самых приятных изменений, потому что старые миссии такого типа в Assassin’s Creed порой реально бесили.
Паркур
Паркур тоже заметно доработали. Добавили ручной прыжок, боковые движения, более быстрые переходы между анимациями, отдельную кнопку прыжка и приседа.
Звучит вроде как не очень громко, но для серии такие вещи очень важны. Потому что старый паркур мог быть либо кайфовым, либо раздражающим — середины обычно не было. Если здесь всё это действительно работает как надо, бегать по крышам, стенам, деревьям и мачтам будет куда приятнее.
Плюс новые движения можно использовать и в скрытных устранениях, так что паркур теперь сильнее связан со стелсом, а не существует отдельно сам по себе.
«Галка» и всё, что связано с морем
Вот тут, как мне кажется, вообще самое вкусное.
Новое вооружение
Для «Галки» добавили новые снаряды. Например:
шрапнельные бочки, которые рвут паруса и режут манёвренность вражеского корабля;
8-фунтовые пушки, которые лучше пробивают корпус.
Это делает морские бои менее однообразными. То есть ты уже не просто палишь всем, что есть, а хотя бы выбираешь, чем выгоднее работать в конкретной ситуации.
Офицеры
На корабль теперь можно нанимать новых офицеров, и у каждого свои способности и своя сюжетная линия. Один, например, открывает двойной залп из бортовых пушек, другие дают свои бонусы и альтернативные режимы огня.
Плюс у офицеров есть свои квесты, и их сначала нужно нормально раскрыть, а не просто взять из меню как пассивный баф.
Питомцы и шанти
Да, питомцы тоже есть. Можно взять на борт кота или обезьяну. Важности для геймплея ноль, но атмосферы — вагон.
Ещё завезли 10 новых морских шанти, а старые тоже оставили. Для Black Flag это очень правильное решение, потому что песни экипажа — это вообще половина морского вайба.
Флот Кенуэя
Мини-игру с управлением захваченным флотом переработали. Интерфейс сделали удобнее, добавили больше маршрутов и активностей. Если раньше это было чем-то на фоне, то теперь есть шанс, что механика станет реально полезной и интересной.
Погода и море
Погоду сделали более важной частью игры. Штормы, ветер, волны, физика корабля — всё это теперь сильнее влияет на управление. Плюс само море стало красивее и живее визуально. Для игры, где ты проводишь на воде кучу времени, это не просто украшение, а реально важная штука.
Исследование мира
Отдельно понравилось, что разработчики сделали упор на бесшовность между морем и сушей. В оригинале иногда чувствовалось, что игра как будто делится на две части: отдельно корабль, отдельно пешие сегменты. Здесь это хотят склеить в единый поток.
Острова и плантации обещают сделать интереснее: больше уникальных событий, меньше одинаковых активностей ради галочки. Подводные зоны тоже расширили — теперь там больше деталей, опасностей и поводов вообще нырять, а не закрывать такие эпизоды по остаточному принципу.
Техническая часть
С технической стороны Resynced выглядит как полноценное современное переиздание. Игра сделана на новой версии Anvil Engine, с переработанными моделями, текстурами, освещением и водой.
Особенно это видно как раз на море. Вода, волны, дождь, отражения, шторма — всё это в Black Flag всегда было очень важной частью картинки, и здесь на это явно сделали большой упор.
Из полезного:
нужна Windows 10/11 и SSD;
поддерживаются DLSS, FSR и XeSS;
есть трассировка лучей;
для портативок вроде Steam Deck обещают отдельные настройки;
на PS5 будут режимы Performance / Balanced / Fidelity;
на PS5 Pro — ещё более жирная картинка и улучшенный апскейл.
Короче, по технологиям всё выглядит вполне по-современному. Главное, чтобы на релизе всё это ещё и работало нормально, а не как это иногда бывает у крупных издателей.
Итог
Если коротко, то Assassin’s Creed: Black Flag Resynced пока производит впечатление очень правильного обновления.
Он не пытается быть “революцией”, не ломает то, за что оригинал любили, и не превращает игру в что-то совсем чужое. Вместо этого он берёт старую основу и просто делает её лучше там, где она уже начала стареть.
Бои стали бодрее, стелс удобнее, паркур приятнее, море глубже, картинка современнее, а мир — насыщеннее. Плюс добавили новый контент, который не выглядит совсем уж лишним.
Понятно, что это не тот случай, когда серия вдруг резко меняет направление. Но, если честно, Black Flag этого и не нужно. Ему нужен был не эксперимент, а нормальный, аккуратный апдейт с уважением к оригиналу.
И если всё это действительно дотянут до ума, то на выходе можно получить именно ту версию Black Flag, которую фанаты хотели много лет: знакомую, любимую, но уже без ощущения, что игра застряла в 2013-м.
Нашел на гараже у матери старый комп из середины нулевых. Athlon, ddr1, nvidia mx200 вроде. Давно думал собрать свой nas, поэтому решил сделать это. Вот что получилось. Комп почти 20 лет лежал на гараже, поэтому сначала отмывал его
Начало сборки. Поставил проц и башню в первую очередь
Затем начал думать как установить кулер вперед
В итоге с помощью стяжек и саморезов наколхозил так. Вроде не плохо получилось)
Как ни странно экран заработал, но батарейка видимо села, поэтому теперь суточный uptime показывает только)
Можно ли самостоятельно спаять настоящий компьютер? Не ZX-Spectrum или что-то подобное, а вот прямо настоящий PC? Может быть я немного ошибаюсь, но компьютер (само железо) для большинства пользователей – это что-то на грани магии. Оно как-то работает, но что там внутри происходит – не понятно, да и не очень важно.
В общем, где-то в конце 2024 года решил я сделать компьютер. Понятно, что не такой как в магазине – это все-таки не тот уровень, куда с паяльником лезут, а что-то попроще, но по-настоящему.
Вообще история PC началась в 1981 году, когда IBM предложила миру свою модель 5150 или IBM PC. В тот момент это не было какой-то особенной революцией, многие компании пытались предложить рынку массовый персональный компьютер, но IBM случайно угадала баланс между стоимостью, производительностью и авторскими правами. Последний пункт оказался чуть ли не самым главным, т.к. позволил всем желающим клонировать PC в формате собственных версий. IBM наверно было обидно, что их идеи приносят деньги всем желающим, но для судьбы архитектуры это оказалось ключевым моментом. Рынок быстро наполнился компьютерами и программами к ним.
Та модель 5150 была не такой уж прикольной. Для игр даже Spectrum был точно поинтереснее. Но IBM продвигала PC прежде всего как инструмент для бизнеса. В минимальной конфигурации это был довольно унылый компьютер с магнитофоном в качестве постоянной памяти. Поэтому очень быстро вышла модель 5160 – IBM PC/XT. Вот это уже был настоящий компьютер в современном понимании. Сама основа осталась почти без изменений, но в комплекте уже сразу шли накопитель на гибких дисках и жесткий диск. И усиленный блок питания, чтобы питать их. Видеокарта выбиралась юзером в момент покупки. Или относительно бюджетная монохромная MDA, или CGA для любителей странных цветовых палитр.
Вот так выглядел IBM PC/XT
На самом деле там было много вариантов комплектации, но я не буду описывать эти детали, кому интересно, тот может почитать – статей про это написано множество.
Теперь вернемся в наше время. Модель 5160 вполне можно спаять самостоятельно. Там все микросхемы в корпусах доступных обычному паяльнику. Конструкция IBM PC XT подробно описана в мануалах того времени и легко находится в Интернете. Это довольно объемный документ на 420 страниц. Не по-русски разумеется.
Здесь есть все, включая принципиальную схему и полный листинг BIOS на ассемблере.
Но делать компьютер по той инструкции не интересно. Хотелось добавить в него всяких современностей, но при этом не опускаться до эмуляции всего на микроконтроллере – в таком подходе нет ничего интересного. Компьютер должен быть настоящим, железным. При этом конструкцию можно упростить, если не делать те ее части, которые не получится использовать.
Поразмыслив над всем этим, я пришел к такому плану:
CPU V20 – это улучшенная версия 8088. Может работать на большей скорости.
Математического сопроцессора не будет.
RAM – 1МБ статической памяти.
Клавиатура – использовать простую Bluetooth-клавиатуру из Фикспрайса.
Разъемы ISA не делать. Все, что вставлялось в слоты, сразу припаять на материнку.
Видеокарта MDA тоже самодельная в собственном разъеме, а потом VGA на материнке.
ЖМД (HDD) – CF-card.
ГМД (FDD) – эмулятор на флешке.
COM-мышка.
USB-флешка.
Печатной платы не будет, все навесным монтажом.
Исходный план был не совсем такой, но в процессе пришел к нему.
Видеокарта MDA
Сначала сделал видеокарту MDA. На отдельной плате. Карта задумывалась как тестовая для использования только в процессе отладки.
Оригинальная MDA карта в стандартном режиме показывает алфавитно-цифровую картинку 25 строк по 80 символов. Частоты синхронизации совершенно телевизионные, поэтому современный ЖК-монитор почти точно откажется показывать такой сигнал. Необходимо рисовать его в более современном формате.
Чтобы решить проблему совместимости, решил изменить размеры знакоместа и поместил каждый символ в матрицу 8х9. Примерно как на ZX-Spectrum, т.е. совершенно нормально читаемые символы, хотя и не такие симпатичные как в настоящем ХТ. Картинка получилась размером 640х225. Прочерчиваем каждую строку два раза и получаем на выходе 640х450. Почти идеальные 640х480. И пиксельная частота примерно 24 МГц.
Оригинальная MDA карта содержит на борту еще и LPT разъем для подключения принтера – это сразу в корзину. Есть ряд dip-переключателей для настройки режимов – это тоже исключил. Будет только один стандартный режим.
Сердцем настоящей MDA является видеоконтроллер Motorola 6845, который уже не так-то просто найти. Да он не очень-то и нужен, если планируется совершенно неродной формат изображения.
Вместо этого используются две ПЛИС EPM3064. Одна занимается рисованием картинки, а вторая управляет отображением курсора и сообщает по запросу CPU байт статуса видеокарты.
Видеопамять настоящего MDA – это область памяти в основном RAM. Процессор и видеокарта разделяют доступ к ней, от чего немного снижается скорость работы процессора. Моя видеокарта просто постоянно мониторит системную шину и забирает к себе в память видеобайты, когда процессор пишет их в RAM. Торможений нет.
В остальном ничего примечательного. Картинка из кода символа и кода атрибутов формируется на дискретной логике и отправляется в монитор. Почти как в Радио-86РК.
В итоге поучилась вот такая конструкция:
Видеоакарта MDA
Клавиатура.
Родная клавиатура IBM XT – это совершенно особенная конструкция. По формату передачи данных похожа на PS/2, но это не она. Купить такую новую уже просто невозможно. Можно использовать что-то более современное, но с конвертором. Или сделать совсем по другому.
Как я уже писал, используется клавиатура Bluetooth из Фикспрайса – самое бюджетное решение без проводов. Чтобы подключиться к ней, пришлось приобрести ESP-32S, который в разы круче всего остального железа. Если бы я делал эмулятор, то можно было бы почти все в нем и реализовать.
Bluetooth – это целая вселенная, погружаться в которую у меня желания не было. Я взял за основу этот проект (спасибо turgu1 из Канады) и доработал под свою задачу. Коды нажатых и отпущенных клавиш принимаются ESP-32S, перекодируются в соответствующие коды клавиатуры IBM PC и через com-порт выкидываются в другой микроконтроллер, о котором будет написано дальше.
Каких-то проблем тут не возникло. Я дольше разбирался, как заливать прошивку в ESP, чем делал саму прошивку.
Материнская плата.
Далее я буду использовать краткие наименования микросхем типа «8088» просто чтобы было меньше букв. Желающие смогут легко найти их описание в сети.
Для материнки заказал большую макетную плату. Размером почти А4.
За основу схемы взял оригинальную конструкцию. Но почти все немного или сильно изменил. Прежде всего, добавил микроконтроллер STC8H8K64U (далее просто STC), который заменил тактовый генератор 8284 и формирует своими таймерами частоты для CPU и для системного таймера 8253. При этом на ЦПУ поступает примерно 8.63 МГц при стандарте 4.77 – почти в два раза быстрее.
Но это не все. Еще STC выполняет функцию буфера клавиатуры, сообщая CPU коды нажатых и отпущенных клавиш, которые принимает через com-порт от ESP-32S. При этом он еще занимается автоповтором нажатых клавиш, который в XT реализован аппаратно внутри клавиатуры.
Так же STC формирует канал DMA 2, который нужен для работы с гибкими дисками.
ROM (BIOS). Сначала я хотел весь код BIOS хранить в прошивке STC просто как статический массив байтов и загружать его в RAM при старте используя режим DMA. Это позволяло хорошо сэкономить на количестве микросхем. Но когда решил делать полноценную модель 5160, пришлось пойти по классике и вынести BIOS в отдельное ROM. Слишком большой объем 64 кБ – это вообще вся память STC.
В качестве этой памяти для хранения BIOS используется W25Q32Q32VB. Емкость 1 МБ, подключается к STC по SPI. Вообще, там не только BIOS, но и ПЗУ (драйвера) контроллеров жесткого и гибкого дисков и видеокарты. Они тоже загружаются в память перед стартом.
Системный таймер (который в любом компьютере незаметно считает время работы), контроллер прерываний и параллельный порт для внутренних устройств почти без изменений повторяют оригинальную конструкцию.
CPU включен в минимальном режиме, потому что в схеме нет математического сопроцессора, поэтому в схеме нет и 8288, процессор по сути сам рулит всеми устройствами.
При старте компьютера STC включает режим DMA, забирая управление на себя. Очищает экран, пишет свое приветствие и производит легкий тест RAM. Просто пишет и читает несколько байт в каждую микросхему. Тестирует контроллер ГМД, загружает в память коды BIOS и драйвера.
Загрузка
После этого управление возвращается процессору и дальше все происходит как обычно в PC/XT.
Здесь и начались первые настоящие трудности. Конструкторы IBM заложили в BIOS алгоритм довольно подробного самотестирования при старте. Значительно серьезнее чем, например, в Spectrum’e. Это объяснялось тем, то РС предлагался прежде всего для бизнеса, и IBM должна была гарантировать, что если компьютер включился, то он исправен и не принесет ущерба неожиданным сбоем. Этот тест моментально блокировал загрузку моей конструкции.
Пришлось доставать логический анализатор, подключаться куда только можно и разбираться что не так. К счастью, в техническом описании есть полный листинг BIOS на ассемблере с машинными кодами. Поэтому получилось возможным делать снимок загрузки и потом побайтно разбираться какие команды исполняет процессор, и в какой подпрограмме происходит сбой.
Чтобы было понятно, это выглядит примерно так:
Снимок работы компьютера
Как оказалось, CPU не находил контроллера DMA, который я сначала совсем исключил из схемы, и выполнял команду HLT, т.е. просто останавливался. Я заменил HLT на NOP и теперь тест стал падать на проверке контрольной суммы ROM (логично). Пришлось обойти и эту проверку.
Всего в код BIOS внес изменения в шести местах. И это не всегда была простая замена одного байта. Местами более обширные изменения. По мере адаптации кода к конструкции компьютер начал проявлять признаки жизни. Прежде всего писать коды ошибок на экране. Это выглядело например так:
Загрузка с ошибками
Здесь видно сразу три проблемы.
301 – нет клавиатуры
80000 FF 201 – проблема с RAM.
Все строки подчеркнуты – мой MDA неправильно интерпретирует байты атрибутов символов, ошибочно думает, что надо подчеркивать.
И здесь еще видно в четвертой строке первый вариант курсора – вертикальный мерцающий штрих, как у современных ПК. Позже я заменил его на стандартный для РС мерцающий символ подчеркивания.
Ошибка клавиатуры решилась исправлением кода в STC, в RAM был непропай (после этого появился тест RAM на этапе старта).
Постепенно все проблемы были решены или обойдены и мой ХТ издал всем знакомый одиночный бип и загрузился как положено:
Basic
Т.к. в системе нет никаких дисков для загрузки, то управление передается встроенному Basic от Билла Гейтса. Получился такой чёрно-белый вариант Spectrum или Радио-86РК на максималках. Можно было что-то кодить. А если добавить проводков, то и сохранять программы на магнитофоне.
Print a+b
На этом этапе выглядело все это так:
Первый вариант
Микросхемы с радиаторами – это КР580ИР82 / ВА86. Я их выбрал потому что они продаются за копейки и имеют удобное расположение выводов. Но, как оказалось, они очень сильно греются при работе. Потом я поменял их на более «холодные». На MDA-карте тоже стоят 4 штуки и без радиаторов. Никаких проблем при этом нет. Только горячие очень.
Еще здесь видно первый вариант BIOS в обычной ПЗУ, потом я его убрал.
HDD (ЖМД)
IBM PC/XT из коробки умеет работать с ЖМД. Разумеется речь о ЖМД 80-х годов прошлого века. Любой современный накопитель будет непосильной проблемой для XT.
Для подключения ЖМД необходим специальный контроллер, который вставляется в свободный слот ISA.
Но есть вариант проще. CF-карта имеет разъем почти идентичный IDA – это такой разъем под широкий шлейф, уже давно не применяется, но все это можно спокойно купить.
Среди любителей ретрожелеза давно известен проект Сергея Киселева. Можно подключить CF-карту к XT в качестве ЖМД.
От этого проекта я взял только код ROM и общую идею. Сергей предлагает свой контроллер как универсальный модуль для установки в любой PC. Поэтому там есть переключатели для настройки конфигурации под конкретную машину. Мне это не было нужно, потому что я делал этот модуль встроенным в материнку. Так же я совсем отказался от ROM и весь его код положил в ПЗУ STC. Таким образом, и без того простая схема контроллера стала совсем уж примитивной. Она вся на этой картинке:
HDD
Разъем под CF-карту специально сделан на самом краю, чтобы потом можно было легко извлекать карту через прорезь в корпусе. Я использовал карту на 32 МБ. Невиданная роскошь по тем временам. А потом вообще поставил 250 МБ. Эта конструкция запустилась сразу без отладки и порадовала меня такой картинкой:
Загрузка с HDD
Как видно, CF-карта корректно распозналась, но это и почти все. Логическим анализатором я установил, что с карты нормально считывается загрузочный сектор (MBR), управление передается ему и на этом все валится. После нескольких неудачных попыток пройти дальше XT выдает сообщение об ошибке.
Проблема была ожидаемая и заключалась просто в том, что карта была отформатирована на современном ПК непонятным для XT образом. Нулевой сектор всегда нулевой, поэтому MBR читается без проблем, а дальше XT просто не может найти на диске нужный сектор. Я потратил немало времени, пытаясь хоть как-то установить MS-DOS на карту так, чтобы XT смог ее увидеть, но все оказалось бесполезно.
Решить проблему можно было только имея работающий ГМД.
FDD (ГМД).
Сначала я вообще не собирался делать FDD. Уже давно прошли те времена, когда FDD был нормой для конфигурации ПК. Но оказалось, что правильно отформатировать CF-карту для работы в качестве жесткого диска можно только если загрузиться с ГМД.
Сейчас даже просто пойти и купить сам привод с разъемом под шлейф скорее всего не получится. Да и за дисками придется побегать. Но к счастью наши друзья из Китая придумали замечательную штуку, которая позволяет эмулировать привод дисков на обычной флешке:
Эмулятор FDD Gotek (картинка из Интернета)
Сам контроллер тоже «эволюционировал» с тех времен, когда это был отдельный большой модуль для ISA разъема, и теперь практически целиком помещает в одной микросхеме M82077 или PC8477B. Нужен только дешифратор портов для того, чтобы CPU мог обратиться к FDD. Это одна дополнительная небольшая микросхема. Поддержка FDD уже встроена в BIOS и не должна вызывать проблем.
И вот тут меня ожидал сюрприз. FDD не работает без DMA. Такая реализация в PC. А я поначалу вообще не хотел делать DMA, потому что, если нет ГМД, то он нужен только для регенерации динамической оперативной памяти, а память я поставил статическую.
Раз уж ГМД возвращался в конструкцию, пришлось эмулировать канал DMA 2 в STC, потому что STC уже реализует DMA при старте.
Была только одна проблема. Я использовал STC8H8K64U в ретро-корпусе на 40 ног, которые уже даже не выпускают, но еще продают. И почти все эти 40 ног уже были задействованы. Подключать FDD было просто некуда.
Самым простым решением было заменить STC. Я взял точно такой-же, но уже в корпусе TQFP-64. Это абсолютно тот же самый чип, но у него выведено больше портов. Даже прошивку менять не пришлось. Только припаял на это же место другую микросхему. Все-таки макетная плата – это удобно.
Было – стало:
Замена STC
Как видно, тут добавился куллер. Я их заказал, когда увидел как греются буферы КР580, и потом прикрутил, но и без них нормально.
Новая STC запустилась без проблем. Бонусом получил возможность загружать родной BIOS без корректировки. К тому времени подъехали другие детали, и на материнке появился контроллер FDD:
Контроллер FDD
Микросхема контроллера не новая, но их уже наверно не производят. Микросхема с номером 23 на фотографии – это дешифратор портов. Таким образом, все детали контроллера FDD поместились на этой картинке. За основу взял другой проект Сергея Киселева только без com-порта, но, справедливости ради, подключение контроллера совершенно типовое как по даташиту. Проект Сергея помог мне просто понять, как это устроено.
Сразу это все не заработало. Микросхема контроллера оказалась неисправной и пришлось покупать другую.
Хотя родной BIOS поддерживает FDD, для использованного микроконтроллера FDD все же лучше подходит специальное расширение BIOS все того же Сергея. Это расширение стандартного BIOS позволяет работать с дисками любого формата.
Код этого расширения аналогично BIOS заливается в RAM при старте.
Долго ждал эмулятор накопителя, и, когда он приехал, запустил все. На экране получил такое:
Старт контроллера FDD
Я пробовал разные образы загрузочных дисков, какие нашел в Интернете. Все зависали после старта операционной системы. Ошибка оказалась до обидного простой. Просто заменил в коде STC в одном месте “ &” на “ |” и все заработало.
Найти в Интернете образы дисков с MS-DOS не так уж сложно. Сложнее найти нормальный образ, пригодный для установки. Большинство ориентированы на то, чтобы быть самостоятельными загрузочными дисками для постоянной работы. Можно конечно всегда сделать «format c: /s» и превратить диск C в загрузочный с установленной ОС MS-DOS, но это будет крайне минимальная конфигурация всего из четырех основных файлов. Работать в такой системе можно, но это не будет полноценная система. Придется вручную копировать на диск остальные фалы.
После ряда экспериментов удалось установить на жесткий диск MS-DOS 4.01.
Добавил к системе свой любимый с 90-х годов Volkov Commander и получил такой результат:
Volkov Commander
Интересно, что если вставить теперь CF-карту, которая отформатирована в XT, в USB-адаптер, то современный ПК ее вообще не видит. Первоначальный план использовать ее как флешку для переноса файлов не сработал. Теперь понятно, почему в Интерне нет образов жестких дисков XT. Без каких-то хитрых приемов их просто не получится развернуть на CF-карту. И видимо прочитать тоже не получится, чтобы сделать образ. Все дело в нестандартной геометрии разметки «поверхности» диска.
Для переноса файлов оказалось проще использовать запись в образ гибкого диска любой доступной программой, которая понимает образы *.imo или *.img .
На этом этапе компьютер выглядел уже так:
Общий вид с дисками
Ну и конечно теперь можно было попробовать поиграть во что-нибудь. Игры – это отличный тест системы. С MDA картой сильно не разгонишься, но кое-что можно попробовать. Вот, например, Тетрис:
... есть необходимость пользоваться облачным диском, к которому был бы доступ с компьютеров в разных точках (квартира, офис, дача, гостиница в другом городе и т.п.). Задолбался возить с собой внешний диск, который часто просто забываю дома и возникает проблема с невозможностью работы без нужных файлов. Массив до 1 ТБ.
Может кто посоветует сервисы типа Яндекса /Мейла. Последний кстати самостоятельно снял 2590 рублей за подписку Мейл облака, что я заметил только через дней 10. Ранее я подключал ДискО, но так и не смог его освоить в виду замороченности. Создал там как-то папку для синхронизации, так мне прога создала невидимый диск на дачном компе, который тупо переполнял дисковое пространство, тормозя не оч шустрый комп. Ну и так и не смог освоить премудростей его работы и забросил. А тут бац и автосписание* Подправлю сам себя: Полез в онлайньанк и обнаружил, что списано 250 за Облако Мейл и плюс еще 190 рукблей списывается каждый месяц за ДискО! - Причем обоими сервисами я не пользуюсь))))
Начитавшись про возможность подцепить внешний диск к роутеру, седлал это и получил возможность по домашней сети обращаться к диску по следующей схеме: скачиваю файл с диска на один из трех компов в квартире, редактирую его и заливаю в ту же папку. Но тут беда - как получить доступ к этому диску из дачи - не осилил тему(
Может поделитесь мыслями как бы решить вроде не сложную задачу адекватными затратами? Осваивать сервисы Яндекса или подобные или есть возможность создать свое облако? Как ?...
Всем привет. Подскажите как правильно подморозить термопрокладки доя нарезания, чтобы не испортить. Просто они очень мягкие. везде пишут подморозить в холодосе а как именно и сколько нигде нет инфы. В морозилке или на полке? Как долго? У меня есть ларь морозильный, может в нем лучше? После нарезки ждать чтобы отогрелись или сразу можно клеить?короче нюансов много. Я первый раз видяху обслуживаю, не хочется испоганить довольно не дешевые расходники. Всем ответившим, заранее спасибо огромное.
Всем привет. Я фронтенд. JS, TS, React, Next.js — стандартный джентльменский набор. Но всегда хотел попробовать геймдев. Руки не доходили. И вот — дошли.
Встал вопрос: какой движок брать?
Unity — мощно, но тяжело и с лицензией пляски. Unreal — это ракетостроение. А Godot я скачал на пробу — и меня затянуло.
Почему Godot для бывшего фронта — зашло:
1. GDScript — как Python, только проще. Забудь про this, bind, бесконечные useCallback. Просто пишешь speed += 5 — и работает.
2. Сцены = компоненты. Делаешь машину → сохраняешь как сцену → кидаешь на карту. Знакомо по React, только визуально и без лишнего бойлерплейта.
3. Сигналы вместо EventEmitter. Всё то же самое, но встроено и не течёт.
4. Бесплатно и открыто. Не надо думать о лицензиях и «когда потребуют деньги». Качай и делай.
5. Физика из коробки. В вебе ты подключаешь библиотеку и молишься. Тут добавил CharacterBody3D — ходит. VehicleBody — машина с подвеской и колёсами. Без танцев с бубном.
Что ломало мозг:
· Нет npm install. Первое время рука тянулась к терминалу.
· Визуальный редактор вместо vim. Но привыкаешь за пару дней.
· Ось Y — высота. Первые объекты улетали в небо, потому что я тыкал y как в вебе.
Что в итоге:
За пару вечеров — работающий персонаж, машина с физикой, посадка/высадка, запуск двигателя. И кайф. Такого кайфа от кодинга у меня давно не было.
Godot — лучший вход в геймдев для веб-разработчика. Просто бери и делай. Никакой магии.