2P by GN⁺ 9시간전 | ★ favorite | 댓글 1개
  • 일반적인 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 확장 구조를 창의적으로 재활용한 기술적 시도
  • 현대 시스템에서는 불필요하지만, 레거시 하드웨어 이해와 신호 처리 기술을 탐구하는 흥미로운 프로젝트
Hacker News 의견들
  • 예전 스캐너들은 SCSI 인터페이스를 썼는데, 그걸 부팅 장치로 쓸 수 있을까 하는 생각을 해봤음
    스캐너 드라이버와 OCR 소프트웨어를 BIOS에 넣는다면 가능하지 않을까 싶음. 요즘은 uEFI 덕분에 더 쉬워졌을지도 모름
    • 정말 기발한 아이디어라고 생각함
      예전에 SCSI 스캐너가 있었는데 부품용으로 분해해버린 게 아쉬움
      종이에 인쇄된 흑백 패턴을 읽어서 메모리에 로드한 뒤 부팅하는 간단한 부트로더를 만들 수도 있을 듯함. A4 용지의 저장 용량이 얼마나 될지 궁금함
    • 중년의 PowerPC Mac에서 Forth로 구현해보면 재밌을 것 같음
    • 더 오래된 스캐너들은 ISA 버스를 센트로닉스 케이블로 직접 연결했었음
    • 누군가 이걸 실제로 시도해봐야 함. 정말 멋진 아이디어임
    • OCR 대신 그냥 이진 데이터를 직접 읽게 하면 됨. 펀치카드를 보는 식으로 부팅할 수도 있음
  • 예전에 잡지에서 플렉시디스크(flexidisc) 형태로 소프트웨어를 배포하던 시절이 있었음
    Flexi_disc 위키에도 나와 있는데, 신뢰성이 낮아서 잡지에서는 먼저 카세트테이프로 복사하라고 안내했음. 디스크는 보통 1~2번만 재생 가능했음
    • 잡지에서 플로피 디스크를 받았던 기억은 있지만, 플렉시디스크로 소프트웨어를 배포했다는 건 처음 들음
      영국에서는 Thompson Twins 게임이 그렇게 배포된 적이 있다고 함
    • 나는 Acorn Electron을 썼는데, 오디오 카세트로 소프트웨어를 받았음
      잡지 표지에 테이프를 붙여서 데모를 배포하기도 했고, 연필로 테이프를 감아 수리하던 기억도 있음
      음악용 듀얼 테이프 데크로 복사도 가능했음
    • 80년대 음악 잡지에서 플렉시디스크를 받은 적이 있는데, 그때 소프트웨어를 넣을 수도 있겠다고 생각했음. 실제로 구현된 건 못 봤음
  • 요즘 저장장치는 사용자 입장에서 보면 완벽한 추상화처럼 느껴짐
    작은 직사각형 형태에 움직이는 부품도 없고, 블록 단위로 데이터를 저장하고 불러오며, 지연도 낮고 신뢰성도 높음
    예전에는 저장장치가 훨씬 ‘물리적’이었음 — 느리고, 소음이 나고, 자기장에 약하고, 복잡한 기계 부품이 있었음. 소리만 들어도 문제를 알아챌 수 있었음
    • 처음 Slackware를 설치할 때 플로피 디스크가 부족해서 일부 파일을 지우며 설치했는데, 불량 디스크가 계속 생겨서 열 번은 다시 설치한 것 같음. 추천하지 않음
    • Zip 드라이브 소리만 들어도 PTSD가 옴. 데이터가 사라지는 걸 눈앞에서 들을 수 있었음
    • 부모님이 창고 정리하다가 옛날 하드와 플로피를 찾아서 아카이빙 작업을 하고 있음
      저장장치의 진화를 직접 체험하는 재미가 있음. Conner 하드드라이브는 탱크처럼 단단하고, 회전할 때 나는 소리가 멋짐
      단순한 바이트와 블록 뒤에는 놀라운 엔지니어링이 있었음을 새삼 느낌
    • 예전에는 데이터를 직접 손으로 다루는 경험이 많았음
      우리 집 첫 컴퓨터는 Radio Shack 카세트 플레이어를 연결해서 프로그램을 로드했음
      테이프를 되감고, 재생 버튼을 누르고, 로드 명령을 입력하는 과정이 의식처럼 느껴졌음
      나중에 5¼인치 플로피 드라이브를 얻었을 때는 정말 감격이었음. 그때부터 프로그래밍을 시작했음
    • 플로피 드라이브의 소리만 들어도 부팅 상태를 알 수 있었음
  • 우리나라에서는 예전에 Atari 800용 소프트웨어를 라디오로 방송했었음. 실제로 작동했음
    • 네덜란드에서는 Hobbyscoop이라는 라디오 프로그램에서 BASICODE라는 프로젝트로 소프트웨어를 방송했음
      BASICODE 위키
    • 핀란드 공영방송 YLE도 1980년대에 Commodore 64용 소프트웨어를 라디오로 송출했음
      첫 방송 녹음본도 남아 있음. FM 수신 상태가 좋으면 꽤 잘 작동했음
    • ZX Spectrum 버전 방송도 있었음
      관련 링크
    • 폴란드에서도 공영방송이 Atari, ZX Spectrum, Commodore 64용 소프트웨어를 송출했음
      내 세대는 아니지만 흥미로운 시도였음
    • 나는 Amiga 백업을 VHS 테이프에 저장했었음. 실제로 작동했음
  • 내가 가진 레코드 중 가장 좋아하는 건 8-Bit Construction Set 12"
    Discogs 링크
    칩튠 음악과 함께 Atari, C64용 부팅 트랙이 포함되어 있음
  • 예전에 AWS에서 Glacier 프로젝트를 할 때, 만우절용으로 “데이터를 바이닐 레코드에 저장한다”는 농담 기사를 제안했었음
    고객 10명 중 9명이 복원된 데이터를 만져보는 감촉을 좋아한다는 설정이었음. 실제로는 진행되지 않았지만 팀 내에서 꽤 웃겼음
    • 티타늄 레코드에 데이터를 새기면 화재나 홍수 같은 극한 환경에서도 오래 보존할 수 있을 것 같음
    • 광디스크 주크박스에서 바이닐 주크박스로 가는 건 그렇게 큰 도약이 아님. 실제로 가능할 듯함
  • Apple ][ 소프트웨어는 휴대폰 오디오 잭을 통해 부팅할 수 있음
    asciiexpress.net 같은 사이트에서 스트리밍하면 됨
    바이닐로도 가능할 것 같은데, 직접 커팅할 장비가 없음
    intheclouds.io에서 100달러 정도면 제작 가능함
  • 나는 바이닐 DJ를 할 때 물리적인 감각이 가장 즐거움
    디지털 장비도 있지만, 검은 원판을 직접 다루는 만족감은 대체 불가임
    작은 실수나 그루브의 불완전함까지 그대로 들려서 더 생생함
  • 바이닐의 가장 흥미로운 점은, 눈으로 트랙을 볼 수 있다는 것
    커버에서 꺼내면 홈의 길이로 각 트랙의 개수와 길이를 알 수 있고, 원하는 트랙으로 바로 이동할 수도 있음. 테이프보다 훨씬 직관적임
    • 재미로 볼 만한 LA Times 기사
    • 초기 힙합 DJ들은 이 특성을 이용해 드럼 브레이크 구간으로 바로 이동했음
  • PC에 내장 카세트 인터페이스가 있었다는 걸 처음 알았음
    • XT 모델이 나오면서 제거됐기 때문에 2년 남짓만 존재했음. 대신 ISA 슬롯 3개가 추가됐음
    • 초기 PC는 8비트 머신과 매우 비슷했음. ROM에 BASIC이 있고, 카세트 인터페이스도 있었음. TV를 모니터로 쓸 수도 있었음
    • 예전에는 직렬 포트조차 메인보드에 없었음. 모든 게 확장 카드였음
      대신 오디오 잭 형태의 테이프 인터페이스가 있었고, 수동으로 재생과 정지를 해야 했음
    • 80년대 이전의 16비트 이하 홈컴퓨터에서는 흔한 기능이었지만, 너무 느리고 불편해서 좋은 기억으로 남진 않았음