TL;DR

  • 1993년 멕시코에서 Zilog Z280 홈브루 컴퓨터와 2400보드 Hayes 모뎀으로 접속한 La Cueva BBS 세션을 64KB 캡처 파일로 재생함.
  • RS-232C, AT 명령어, ANSI 이스케이프 시퀀스를 구현한 시리얼 터미널 프로그램으로 BBS 화면을 표시함.
  • CUEVA.TXT에는 화면에 표시된 데이터만 기록돼 다운로드 파일 내용은 없으며, 전화선 오류와 64KB 버퍼 초과 흔적도 남아 있음.
  • 캡처 데이터를 수정한 jsTerm에 2400보드 속도로 공급해 재생했으며, 키 입력 타이밍은 보존되지 않아 화면 전환이 빠름.
  • 1993년 BBS 전화번호 목록과 Nopal BBS 캡처도 발견해 재생 선택 항목에 추가함.

1993년의 컴퓨터와 모뎀

  • 1993년 주 컴퓨터는 512KB 메모리를 갖춘 Zilog Z280 기반 홈브루 컴퓨터였으며, VGA 카드, 3.5인치 플로피 디스크 드라이브, 시리얼 포트와 프린터 포트 연결 단자를 갖춤.
  • 폐기된 Hayes 모뎀을 사용했으며, 속도는 2400보드였음. 케이스 윗부분이 없고 크고 긴 검은색 상자 형태였지만 연결이 간단해 시리얼 터미널 프로그램을 오랫동안 작성함.

시리얼 통신과 화면 제어

  • 당시에는 인터넷이 없었으며, 시리얼 프로토콜과 AT 명령어, ANSI 이스케이프 시퀀스 정보는 책에서 얻음.
  • 시리얼 프로토콜은 RS-232C였으며 비교적 간단했음. 입력 문자를 화면에 표시하고 키보드 문자를 다시 전송하는 방식이었음.
  • UART와 모뎀을 모두 2400보드로 설정했기 때문에 흐름 제어는 고려하지 않음. RTS/CTS 하드웨어 흐름 제어는 14400보드 모뎀이 등장한 뒤 흔해졌으며, 모뎀보다 빠른 19200보드로 UART를 설정해야 했음.
  • 예를 들어 ATDT5551234는 톤 방식으로 5551234에 전화를 거는 명령어임. 1993년 멕시코에서는 펄스 방식 전화에 ATDP5551234를 사용함.
  • ANSI 이스케이프 시퀀스는 Esc 문자(0x1b) 뒤에 여는 대괄호, 숫자와 명령 문자가 이어지는 구조임. Esc[2J는 화면을 지우고, Esc C는 커서를 오른쪽으로 이동하며, ESC[0;35m은 글자색을 마젠타로 설정함.
  • 터미널 프로그램에 이러한 이스케이프 시퀀스를 구현했지만, 책의 설명과 실제 사용 방식에는 약간의 차이가 있어 일부 BBS 화면이 이상하게 표시됨.

La Cueva BBS 세션 캡처

  • 화면 표시가 예상과 다를 때 이스케이프 시퀀스를 확인해 프로그램을 수정할 수 있도록 터미널 프로그램에 캡처 버퍼를 구현함.
  • Z280의 메모리 관리 장치(MMU)로 64KB 영역에 접근해 수신 바이트를 순서대로 저장함. 화면이 예상과 다르면 시퀀스를 살펴보고, 대부분 작은 차이를 찾아 프로그램에서 수정함.
  • 당시 자료는 거의 남아 있지 않지만, 모뎀 접속 세션 중 하나에서 La Cueva BBS 활동 전체를 64KB 버퍼에 저장함. 오래된 플로피 디스크에서 CUEVA.TXT 파일을 발견함.
  • BBS가 마지막 로그인 시각을 표시한 내용으로 보아 파일은 1993년 2월 11일 이후 저장됐으며, 세션 시각은 BBS가 표시한 대로 오후 9시 30분부터 9시 47분까지임.
  • 파일을 다운로드한 흔적은 있지만, 저장된 데이터는 화면에 표시된 내용뿐이라 다운로드 데이터 자체는 캡처되지 않음. 전화선 오류로 깨진 데이터와 64KB 버퍼 초과도 확인할 수 있으며, 재생은 로그오프 메시지에서 시작함.
  • 키 입력 시점은 보존되지 않아 화면이 빠르게 바뀌지만, 실제로는 각 화면을 읽는 데 몇 초씩 걸렸을 가능성이 있음.

세션 재생과 BBS 목록

  • CUEVA.TXT를 기반으로 자바스크립트 코드를 작성하고, Peter Nitsch가 만든 jsTerm을 수정해 데이터 파일을 2400보드 속도로 재생함.
  • 글꼴의 보안 정책이 캔버스(canvas)를 오염시켜 jsTerm에서 스크롤할 수 없었음. 이를 해결하기 위해 .htaccess 파일을 수정했으며, 업데이트된 jsTerm은 transputer Git에도 반영함.
  • 1993년 당시에는 Catarsys 같은 다른 BBS도 있었음. La Cueva BBS는 1994년이나 1995년 무렵 남은 BBS들과 함께 사라진 것으로 보임. 시스템 운영자는 임시 메시지를 게시했고, 얼마 지나지 않아 전화 응답이 끊김.
  • 2026년 10월 6일 업데이트에서 1993년 날짜가 적힌 BBS 전화번호 목록을 발견함. 이 목록은 터미널 프로그램의 대체 도움말 페이지에 표시됐으며, 비밀번호는 가림 처리함.
  • 추가로 Nopal BBS 캡처도 발견했으며, 터미널 화면 바로 위 선택 컨트롤에서 재생 대상을 고를 수 있음.
  • 전화번호 목록의 항목은 다음과 같음.
  • A-BBS — 604-39-57, 2400보드, 18:00~06:00
  • Amiga BBS — 877-44-79, 2400보드, 21:00~09:00
  • CatarSYS — 282-06-82, 14400보드, 24시간, 사용자 번호 355
  • Chip support — 566-96-65, 2400보드, 21:00~01:00
  • Computron BBS — 519-71-63, 2400보드, 19:00~09:00, 사용자 번호 145
  • Cosmic Odyssey — 544-48-21, 2400보드, 22:00~06:00
  • Inter-BBS — 251-60-89, 14400보드, 22:00~06:00
  • La Cueva de Atari — 659-56-72, 14400보드, 24시간, 사용자 번호 166
  • Macro BBS — 539-61-05, 2400보드, 18:00~23:00
  • Maldito BBS — 552-04-02, 2400보드, 18:00~06:00
  • Nopal BBS — 689-32-58, 14400보드, 24시간
  • Tierras extra§as — 659-76-78, 14400보드, 24시간
  • SIDCE BBS — 250-06-40, 14400보드, 24시간
  • SPIN — 628-62-00, 14400보드, 24시간
  • UIA BBS — 570-79-37, 2400보드, 20:00~08:00
  • USS Nova — 577-55-44, 2400보드, 21:00~09:00
  • VECTOR BBS — 594-51-39, 14400보드, 19:00~06:00
  • 관련 항목으로 1993년에 진행한 transputer용 Pascal 컴파일러의 역사와 ANSI 아트 자료실을 제시함.