고전 PC 데모씬(demoscene)의 상징적인 작품들을 이제 웹 브라우저에서 원본에 가깝게 경험할 수 있게 되었습니다. 'demoscene-recomp' 프로젝트는 과거 DOS 기반 데모의 x86 코드를 명령어 단위로 재컴파일하여 WebAssembly로 변환, 브라우저에서 네이티브에 준하는 성능으로 실행하는 기술을 선보였습니다. 이는 단순히 영상을 재생하는 것을 넘어, 데모가 의도한 정확한 사이클 타이밍과 하드웨어 동작을 재현하여 당시의 감동을 되살리는 데 중점을 둡니다.
이 프로젝트의 핵심은 정교한 변환 과정에 있습니다. 먼저 x86 에뮬레이터에서 데모를 처음부터 끝까지 실행하며 CPU가 실제로 실행한 모든 코드 블록을 기록합니다. 이 기록을 바탕으로 원래 명령어를 일대일로 옮기고, 에뮬레이션된 기계의 정확한 사이클 타이밍을 유지하는 C 코드로 변환합니다. 변환된 C 코드는 데모가 사용하던 타이머, VGA 카드, 사운드 블라스터(Sound Blaster) 같은 하드웨어 모델과 함께 WebAssembly로 컴파일됩니다. 최종 결과물은 모든 인터럽트, 포트 접근, 프레임이 에뮬레이터와 동일한 시점에 발생하는지 검증하여 원본과의 높은 일치도를 확보합니다. 원본 데모의 VGA 출력이 70Hz였던 만큼, 70Hz 또는 140Hz 이상의 주사율을 지원하는 디스플레이에서 가장 부드러운 감상이 가능합니다.
이러한 기술은 단순한 향수를 넘어 여러 중요한 의미를 가집니다. 첫째, 과거의 디지털 유산을 보존하고 접근성을 높이는 데 기여합니다. 더 이상 특정 구형 하드웨어 없이도 누구나 웹 브라우저만으로 고전 데모를 감상할 수 있게 된 것입니다. 둘째, 과거의 프로그래밍 기법과 하드웨어 최적화 기술을 현대 웹 환경에서 연구하고 이해하는 데 도움을 줍니다. 마지막으로, 데모씬 커뮤니티 내에서는 AI 기반의 재컴파일 기술이 인간의 창의성과 기술력을 기리는 데모씬의 본질을 훼손할 수 있다는 우려도 제기되고 있습니다. 하지만 이 기술은 녹화 영상으로는 전달하기 어려운 절차적 생성 효과의 미세한 디테일을 원본에 가깝게 재현할 수 있다는 점에서 여전히 가치를 지닙니다.