바이닐 레코드로 부팅하기

2 weeks ago 8

  • 일반적인 PC 부팅 매체 대신 턴테이블(레코드 플레이어) 을 이용해 IBM PC를 부팅한 실험
  • 64KB 크기의 FreeDOS 기반 RAM 디스크 이미지를 아날로그 오디오 신호로 변환해 10인치 바이닐에 기록
  • PC의 카세트 인터페이스를 활용해 오디오 신호를 디지털 데이터로 복원, 메모리에 적재 후 부팅 수행
  • 신호 왜곡을 최소화하기 위해 RIAA 이퀄라이제이션 보정과 앰프 설정 조정이 필요
  • 하드웨어 제약 속에서도 레거시 시스템의 창의적 활용을 보여주는 독특한 부팅 실험

프로젝트 개요

  • 실험은 IBM PC를 레코드 플레이어에 직접 연결해 부팅하는 형태로 구성
    • PC의 BIOS가 다른 부팅 옵션(플로피, 하드디스크 등)에 실패하면 ROM 부트로더가 카세트 인터페이스를 호출
    • 이 인터페이스를 통해 턴테이블에서 재생되는 오디오 신호를 읽어 부팅 절차를 진행
  • 사용된 부트 이미지는 64KB 크기의 FreeDOS 커널 기반 RAM 디스크
    • COMMAND.COM의 축소판과 프린터 케이블을 통한 파일 전송용 INTERLNK 수정 버전 포함
    • ROM 부트로더가 오디오 신호를 디코딩해 메모리에 적재 후 시스템을 부팅

기술적 구성

  • 부트로더는 BootLPT/865150CAXX 프로젝트의 결합 형태로, 프린터 포트 지원은 제외
    • BIOS 확장 소켓의 ROM에 탑재되며, 하드디스크나 플로피에도 설치 가능하지만 실험 목적상 ROM 사용
  • PC와 앰프 간 연결은 5150CAXX와 동일한 케이블 구조를 사용하되, 라인 입력 단자는 생략
  • 카세트 인터페이스는 PC 스피커 타이머 채널 2(출력)8255A-5 PPI 포트 C 채널 4(입력) 로 구성
    • BIOS의 INT 15h 루틴을 이용해 소프트웨어 변조 및 복조 수행

오디오 신호와 바이닐 제작

  • 부트 이미지는 “IBM 카세트 테이프” 프로토콜에 맞게 변환되어 레코드 커팅 장비로 전송
  • 바이닐은 RIAA 이퀄라이제이션 곡선으로 커팅되므로, 재생 시 앰프에서 추가 보정 필요
    • 고음 -10dB/10kHz, 저음 +6dB/50Hz, 출력 전압 약 0.7V로 조정
    • 위상 및 라우드니스 보정은 모두 비활성화
  • 신호 품질은 매우 중요하며, 팝 노이즈나 크랙음이 데이터 스트림을 끊을 수 있음
    • 다만 속도 오차 ±2~3%와 약간의 wow(속도 흔들림)는 허용

부트로더 및 이미지 배포

  • 부트로더 바이너리는 2364 칩용으로 설계되었으며, 어댑터를 통해 2764 칩에서도 사용 가능
    • 최소 512KB RAM과 모노크롬 화면을 가진 IBM 5150에서 동작
  • 부트 디스크 이미지는 BootLPT/86 문서 하단에서, 아날로그 FLAC 버전은 별도 링크로 제공

커뮤니티 반응

  • 댓글에서는 “레트로 기술의 부활”, “카세트 부팅과 유사한 개념” 등 긍정적 반응 다수
  • 일부 사용자는 사운드 블라스터 입력 활용 가능성, 오픈소스 BIOS(GlaBIOS) 호환성 등을 질문
  • 제작자는 BIOS 수정 없이 확장 ROM만으로 구현했음을 명시
  • 여러 독자들이 “뒤집어 재생하면 리눅스가 부팅된다” 등 유머 섞인 반응을 남김

의의

  • 이 실험은 아날로그 오디오 매체를 디지털 부팅 매체로 전환한 사례
  • IBM PC의 카세트 인터페이스와 BIOS 확장 구조를 창의적으로 재활용한 기술적 시도
  • 현대 시스템에서는 불필요하지만, 레거시 하드웨어 이해와 신호 처리 기술을 탐구하는 흥미로운 프로젝트

Read Entire Article