RP2350용 386 PC
1. 이게 뭔가요?
이 기사는 저렴한 초소형 반도체 칩 위에서 과거의 인텔 386 개인용 컴퓨터를 그대로 실행하는 프랭크 386 기술에 관한 것입니다. 에뮬레이터라는 가상 구동 프로그램을 사용하면 과거 컴퓨터용으로 만들어진 운영체제나 프로그램을 최신 하드웨어 환경에서도 그대로 실행할 수 있습니다.
2. 왜 화제인가요?
과거의 오래된 개인용 컴퓨터 시스템을 최신 초소형 기기에서 구동하려는 시도는 기술적인 흥미와 추억을 되살리는 활동으로 주목받습니다. 다양한 호환 보드와 연결 방식을 지원하여 개발자가 직접 자신만의 복고풍 컴퓨팅 환경을 구축할 수 있는 구체적인 방법을 제공합니다.
3. 핵심 내용
프랭크 386은 라즈베리 파이 피코 2 개발 보드에 쓰이는 RP2350 칩셋을 위한 인텔 386 개인용 컴퓨터 에뮬레이터입니다. 이 프로그램은 VGA나 HDMI 화면 출력, SD 카드 저장 장치, PS 및 USB 키보드와 마우스, 닌텐도 게임 패드, 그리고 오디오 출력을 지원합니다. 춘후이 허가 만든 Tiny386을 바탕으로 제작되었습니다. 주요 기능으로는 보조 프로세서인 x87 부동소수점 연산 장치를 선택적으로 사용할 수 있으며, 완전한 인텔 386 및 부분적인 486, 586 중앙처리장치 에뮬레이션을 지원합니다. 8메가바이트 PSRAM이라는 추가로 확장해서 쓰는 고속 기억장치를 사용하여 최대 8메가바이트의 램을 쓸 수 있습니다. 문자 모드와 최대 640x480 해상도의 그래픽을 지원하는 VGA 아날로그 영상 출력 방식 및 HDMI 디지털 영상·음성 통합 출력 방식 그래픽 출력 기능을 제공합니다. 소리 기능으로는 애드립 OPL2, 사운드 블라스터 16, PC 스피커, 탠디, 코복스, 디즈니 사운드 소스를 지원합니다. 플로피 디스크, 하드 디스크, CD-ROM 이미지 파일을 쓸 수 있도록 디지털 카메라나 소형 기기에 쓰이는 작은 저장 카드인 SD 카드를 지원합니다. 컴퓨터가 켜져 있는 상태에서 디스크 이미지 파일을 손쉽게 바꿀 수 있는 윈도우 키와 F12 키 조합의 실행 중 디스크 관리자 기능을 제공합니다. 에뮬레이터 설정을 바꾸기 위한 윈도우 키와 F11 키 조합의 설정 메뉴를 제공합니다. 과거 둥근 단자를 쓰던 옛날 방식 키보드와 마우스 입력을 지원하며, 기본 내장된 USB 호스트 기능을 통해 USB 키보드와 마우스 입력을 지원합니다. 마우스 에뮬레이션 모드를 지원하여 닌텐도 게임 패드를 연결해 쓸 수 있습니다. 도스, 윈도우 3.x, 윈도우 95, 리눅스 등 다양한 운영체제를 부팅하여 실행할 수 있습니다. 이 펌웨어는 VGA와 HDMI, SD 카드, 키보드 입력 기능이 함께 들어 있는 RP2350 기반 기판들을 위해 만들어졌습니다. 지원하는 기판으로는 VGA 출력을 갖춘 다용도 개발용 기판인 프랭크, 라즈베리 파이 피코 2를 바탕으로 만든 작고 가벼운 복고풍 컴퓨팅 기판인 무르뮬레이터 M1 및 M2 종류, 올리멕스사의 RP2350 PC 기판인 올리멕스 피코 피시, 그리고 웨이브셰어사의 RP2350 기판인 웨이브셰어 RP2350 피시제로가 있습니다. 하드웨어 요구 사항으로는 라즈베리 파이 피코 2 또는 이와 호환되는 기판, 확장 메모리를 쓰기 위해 꼭 필요한 8메가바이트 PSRAM, VGA 또는 HDMI 연결 단자, 직렬 통신 방식으로 데이터를 주고받는 모드인 SPI 모드의 SD 카드 모듈, 직접 연결하는 PS 및 USB 단자를 통해 연결하는 USB 키보드, 선택 사항인 디지털 음성을 아날로그로 바꾸어 주는 장치인 I2S DAC 또는 PWM 방식 오디오 출력이 필요합니다. USB 규격인 USB HID가 켜져 있으면, 기본 USB 단자가 키보드와 마우스 입력용으로 쓰이며 이 모드에서는 컴퓨터와 장치가 문자로 통신하는 기능인 USB 직렬 콘솔이 꺼지므로 직렬 통신 방식의 장치인 UART를 써야 합니다. 기판 설정에서는 네 가지 외부 장치 연결 핀인 GPIO 배치 구조인 M1, M2, 올리멕스인 PC, 웨이브셰어인 Z2를 지원하며 VGA와 HDMI, SPI 모드 SD 카드, PS 키보드 및 마우스, 게임 패드, I2S 오디오의 신호별 핀 번호 범위를 제공합니다. SD 카드 설정에서는 SD 카드 안에 386 폴더를 만들고 설정 파일인 config.ini, 컴퓨터가 켜질 때 하드웨어를 준비시키는 프로그램인 시 BIOS ROM인 bios.bin, VGA BIOS ROM인 vgabios.bin, 하드 디스크 이미지 파일인 dos622.img, 플로피 디스크 이미지 파일인 boot.img 등을 넣습니다. 시 BIOS 공식 배포처에서 시 BIOS와 VGA BIOS를 내려받거나 폴더 안의 파일을 사용합니다. 디스크 이미지 준비하기에서는 1.44메가바이트 플로피 디스크 이미지를 도스로 포맷하거나 미리 만들어진 도스 부팅 디스크를 사용하며, 최대 2기가바이트 크기의 원본 디스크 이미지는 도스의 디스크 파티션 나누기 도구인 FDISK와 FORMAT 명령어를 사용하여 영역을 나누고 포맷합니다. CD-ROM 이미지 파일은 표준 ISO 9660 형식을 사용합니다. 디스크 이미지 불러오기는 설정 파일에 설정하거나 실행 중 디스크 관리자인 윈도우 키와 F12 키를 눌러 드라이브를 선택하고 이미지 파일을 장착하거나 꺼낼 수 있으며 설정 파일에 자동으로 저장됩니다. 조작 방법으로는 윈도우 키와 F12 키로 디스크 관리자 열기, 윈도우 키와 F11 키로 설정 메뉴 열기, 컨트롤과 알트와 딜리트 키로 시스템 재시작을 지원합니다. 설정 메뉴에서는 메모리 크기, 중앙처리장치 세대, 부동소수점 연산 장치 에뮬레이션, 사운드 장치, 마우스 사용 여부, 게임 패드 마우스 기능, 중앙처리장치 작동 속도와 전압, PSRAM과 플래시 메모리 속도를 설정할 수 있습니다. 프로그램 직접 만들기에서는 라즈베리파이 피코 소프트웨어 개발 키트 버전 2.0 이상을 설치하고 환경 변수를 설정하며 ARM 프로세서용 개발 도구 묶음인 GCC 도구 모음을 설치합니다. 저장소 코드를 복사한 뒤 기본 설정이나 M1 기판, USB 키보드 지원, 맞춤형 속도와 디버그 모드를 조합하여 빌드 스크립트를 실행합니다. 씨메이크 빌드 과정을 관리해 주는 도구를 통해 기판 종류, 클록 속도, USB 키보드 활성화, 디버그 기록 기능, HDMI 강제 설정 등을 옵션으로 지정할 수 있습니다. 정식 배포판 빌드는 대화형 방식이나 버전 번호를 직접 지정하여 펌웨어 파일을 만들 수 있습니다. 기기에 프로그램 심기는 부트셀 모드일 때 명령어를 입력해 프로그램을 전송합니다. 문제 해결에서는 윈도우 95 설치 시 메모리 용량 검사 과정을 건너뛰는 명령어나 보호 오류를 해결하는 패치 프로그램 사용법, 네트워크 연결 드라이브 인식 기능 설정, 키보드 입력 대처법, SD카드 인식 대처법을 안내합니다. 저작권은 MIT 라이선스를 따르며 미하일 매트베예프와 디엔크랩터가 개발하였고 여러 오픈소스 프로젝트를 바탕으로 만들어졌습니다.
4. 나에게 어떤 영향이 있나요?
일반 독자가 일상생활에서 이 기술을 직접 활용할 가능성은 낮으며, 주로 과거의 운영체제나 고전 게임을 손바닥만 한 작은 기기에서 직접 구동해 보려는 하드웨어 취미인이나 개발자들에게 의미가 있습니다. 소형 기기에 모니터와 키보드를 연결하고 별도의 설정 파일과 바이오스 파일을 준비하여 직접 펌웨어를 설치해야 하는 등 전문적인 조립과 설정 과정을 거쳐야 하므로 즉각적인 실생활의 편리함과는 거리가 멀습니다. 다만 저렴하고 작은 부품을 조합하여 과거의 거대한 컴퓨터 시스템을 작동시키는 원리를 직접 경험하고 학습하려는 이들에게 유용한 참고 자료가 됩니다.