RP2350 기반 i386 PC 에뮬레이터 구현 가이드
A 386 PC for Your RP2350
Hacker News라즈베리 파이 피코 2(RP2350)를 활용하여 i386 PC 아키텍처를 구현한 고성능 에뮬레이터입니다.
- VGA/HDMI 출력을 지원하며, 재부팅 없이 SD 카드 이미지를 즉시 교체하는 '런타임 디스크 관리자'가 핵심 기능입니다.
- 최신 저전력 플랫폼에서 DOS, Windows 95 등 구형 OS를 직접 구동하며 컴퓨터 역사와 아키텍처를 깊이 있게 경험할 수 있습니다.
- 구동을 위해서는 RP2350 기반 개발 보드와 추가 메모리(PSRAM), 그리고 SDK를 이용한 전문적인 펌웨어 빌드가 필요합니다.
이 시스템은 RP2350을 기반으로 i386 (부분적으로 i486/i586) CPU를 에뮬레이션하며, 최대 8MB의 RAM(PSRAM 사용)과 VGA 및 HDMI 그래픽 출력을 지원합니다. AdLib OPL2, Sound Blaster 16 등 다양한 사운드 장치를 구현했으며, SD 카드를 통해 플로피 디스크, 하드 디스크, CD-ROM 이미지를 지원합니다. 또한 DOS, Windows 3.x, Windows 95, Linux 등의 운영체제를 부팅할 수 있습니다.
구동을 위해서는 RP2350 기반의 개발 보드(예: FRANK, Murmulator 등)와 8MB PSRAM이 필수적입니다. 하드웨어 구성 요소로는 VGA/HDMI 커넥터, SD 카드 모듈, 그리고 PS/2 또는 USB 키보드/마우스 입력 장치가 필요합니다. 초기 설정 단계에서는 SeaBIOS 및 VGA BIOS ROM 파일과 함께 `386/` 디렉토리를 생성하고 필요한 이미지 파일을 배치해야 합니다.
시스템은 재부팅 없이도 작동하는 '런타임 디스크 관리자' 기능을 제공합니다. 사용자는 Win+F12를 눌러 Disk Manager를 열고, 화살표 키로 드라이브(A:부터 E:)를 선택한 후 원하는 이미지 파일을 삽입하거나 현재 디스크를 제거할 수 있습니다. 또한, Win+F11을 통해 메모리 크기, CPU 세대, 사운드 장치 등 다양한 에뮬레이터 설정을 변경하고 저장할 수 있습니다.
펌웨어 개발 과정은 Pico 설치와 환경 변수 설정으로 시작됩니다. 개발자는 `build.sh` 스크립트를 사용하여 펌웨어를 빌드하며, 이 과정에서 보드 종류(-b M1/M2 등), CPU 속도(-c MHz), PSRAM 속도(-p MHz) 등을 옵션으로 지정할 수 있습니다. 특히 USB 키보드 지원을 활성화하려면 `--usb-hid` 옵션을 사용해야 합니다.
용어 풀이
- SDK
- 특정 서비스나 기기를 쉽게 쓰도록 묶어 둔 개발 도구 모음.