Программа из браузерного эмулятора заработала на настоящем железе-оригинале
Энтузиаст написал небольшую программу на Visual Basic внутри копии Windows 3.1, работающей целиком в браузере, сохранил .exe на виртуальную дискету и перенёс его на настоящий Intel 486 1992 года выпуска. Программа запустилась с первой попытки.
PCjs — браузерный архив компьютеров 1970-х и 80-х, который в одиночку собрал разработчик Джефф Парсонс, — оказался настолько точным, что софт, собранный внутри него, продолжает работать и снаружи: это настоящий бинарник, а не скриншот или запись экрана.
У одного из комментаторов реальный IBM PC из 1980-х начал выдавать ошибки чтения жёсткого диска и сбои чётности RAM. Он всерьёз рассматривает переход на браузерную версию вместо оригинала: копия начала переживать оригинал.
PCjs превращает вкладку браузера в IBM PC, TI-57 или аркадный автомат 1978 года

PCjs заново реализует компьютерное железо 1970-х и 80-х на JavaScript и работает целиком в браузере — без плагинов и без скачивания. Его создатель, разработчик Джефф Парсонс, описывает проект просто: JavaScript, эмулирующий «небольшую коллекцию железа и софта, на котором я вырос» в 1970-е и 80-е. Каталог оказывается шире, чем предполагает эта скромность: оригинальные модели IBM PC (5150, 5160, 5170), совместимые с ними COMPAQ, миникомпьютеры DEC, программируемый калькулятор Texas Instruments TI-57 1978 года и Ohio Scientific Challenger 1P соседствуют с аркадным автоматом Space Invaders 1978 года.


Софтверная часть не менее глубока: варианты DOS, CP/M-86, OS/2, каждый релиз Windows от 1.0 до 95, плюс приложения той эпохи вроде Lotus 1-2-3, VisiCalc, WordStar и Norton Utilities. PCjs также зеркалирует целые коллекции журнальных дискет и библиотеки общественного достояния, которые иначе выжили бы только на разрушающихся носителях 5,25 дюйма. Проект распространяется по лицензии MIT и открыт для расширения кем угодно.
«Загляните на VisiCalc — вот как выглядит настоящая революция»
В треде большинство ответов читаются как ностальгическая прогулка по каталогу (Dune II, Wolfenstein 3D, Commander Keen) — пока кто-то не одёрнул тех, кто слишком вольно раскидывается словом «революционный».
«Тем, кто считает ‘революционным’ каждый мелкий JS-фреймворк, каждый iPhone и каждую итерацию ИИ, — загляните на штуку под названием ‘Visicalc (1981)’ на этом сайте, чтобы понять, как выглядит настоящая революция».
— давний комментатор с кармой за 7300
VisiCalc, первая электронная таблица, — единственная программа в PCjs, которая по-настоящему переопределила само назначение персонального компьютера: именно из-за неё словосочетание «персональный компьютер» прижилось у бухгалтеров и владельцев малого бизнеса, а не только у энтузиастов.
Программа, написанная в эмулированной Windows 3.1, перенесена на настоящий кремний 1992 года
Один из ответов превратил весь сайт из музейного экспоната в рабочую цепочку инструментов. Владелец Mac установил Windows 3.1 внутри PCjs, открыл встроенную копию Visual Basic, написал небольшую программу с окном и парой кнопок и скомпилировал её в .exe — точно так же, как это делали в 1993 году. Он сохранил этот .exe вместе с единственной зависимостью на образ виртуальной дискеты, скачал образ на свой Mac, а затем перенёс его на настоящей дискете на старый промышленный компьютер на Intel 486 DX 25 МГц, который у него до сих пор есть.
«Настоящая GUI-программа под Windows, сделанная в VB, работающем в Windows 3.1, внутри целой эмулированной машины на JavaScript в окне браузера, запущенном на Apple Silicon MacBook в 2026 году... Экспортировал, сохранил на диск и запустил без единой проблемы на железе, сделанном в 1992 году!»
— владелец Mac, хранящий в кладовке промышленный 486 1992 года
За этой ностальгией стоит настоящее утверждение, которое делает PCjs: эмуляция настолько точна на уровне инструкций, что софт, собранный внутри неё, — это реальный софт, переносимый на оригинальный кремний и обратно.
Это утверждение получает более острый угол зрения от комментатора, поставившего тот же эксперимент в обратную сторону. У него до сих пор есть настоящий IBM PC с жёстким диском Seagate ST-225 на 20 МБ, который он годами держал живым.
«У меня настроен мой IBM PC... но недавно я впервые получил ошибку чтения файла на жёстком диске Seagate ST-225 на 20 МБ, а ещё ошибки чётности RAM (снова)... Мог бы просто эмулировать его вместо этого (лол)».
— владелец настоящего IBM PC, сейчас меняющий в нём вышедшие из строя чипы RAM
Он также отметил, что эмулятор не безупречен: фоновая музыка в одной из встроенных программ теряет паузы — те доли такта, что реальное железо воспроизвело бы. Один из посетителей обнаружил, что даже такой уровень точности имеет последствия:
«Убавьте звук для некоторых из них. Я не успел найти регулятор громкости до того, как Dune II загрузилась, к сожалению».
Настоящий сдвиг здесь не в том, что старый софт выживает во вкладке браузера — это умеют и скриншоты, и видео. Дело в том, что PCjs достаточно точен, чтобы работать как среда разработки для железа, которое больше никто не производит: пишешь программу в эмуляторе — переносишь бинарник на металл.
Получайте такие разборы каждый день
Главные истории Hacker News — на email, в Telegram или RSS.
Meta называет ИИ в лаборатории Минэнерго открытым — лицензия говорит другое
На рентгеновской линии Национальной лаборатории им. Лоуренса в Беркли микро-КТ-скан, разметка которого раньше отнимала у учёного месяц вручную, теперь возвращается полностью аннотированным 3D-объёмом примерно за 15 минут.