A 386 PC for Your RP2350
A 386 PC for Your RP2350
为你的 RP2350 打造一台 386 PC
FRANK 386 Official page: frank.rh1.tech — hub for all FRANK boards and firmware. i386 PC Emulator for RP2350 (Raspberry Pi Pico 2) with VGA/HDMI output, SD card storage, PS/2 and USB keyboard/mouse, NES gamepad, and audio output. Based on Tiny386 by Chunhui He. FRANK 386 官方页面:frank.rh1.tech — 所有 FRANK 开发板及固件的中心。这是一个专为 RP2350(树莓派 Pico 2)设计的 i386 PC 模拟器,支持 VGA/HDMI 输出、SD 卡存储、PS/2 及 USB 键盘/鼠标、NES 手柄和音频输出。该项目基于 Chunhui He 开发的 Tiny386。
Features
功能特性
- Full i386 (and partially i486/i586) CPU emulation with optional x87 FPU
- 完整的 i386(及部分 i486/i586)CPU 模拟,可选 x87 FPU
- Up to 8MB RAM (using 8MB PSRAM)
- 最高 8MB 内存(使用 8MB PSRAM)
- VGA and HDMI graphics output (text modes and graphics up to 640x480)
- VGA 和 HDMI 图形输出(支持文本模式及最高 640x480 分辨率的图形模式)
- Sound: AdLib OPL2, Sound Blaster 16, PC Speaker, Tandy, Covox, Disney Sound Source
- 音频:支持 AdLib OPL2、Sound Blaster 16、PC Speaker、Tandy、Covox、Disney Sound Source
- SD card support for floppy, hard disk, and CD-ROM images
- 支持通过 SD 卡加载软盘、硬盘和 CD-ROM 镜像
- Runtime disk manager (Win+F12) for hot-swapping disk images
- 运行时磁盘管理器(Win+F12),支持热插拔磁盘镜像
- Settings menu (Win+F11) for changing emulator configuration
- 设置菜单(Win+F11),用于更改模拟器配置
- PS/2 keyboard and mouse input
- 支持 PS/2 键盘和鼠标输入
- USB keyboard and mouse input (via native USB Host)
- 支持 USB 键盘和鼠标输入(通过原生 USB Host)
- NES gamepad support with mouse emulation mode
- 支持 NES 手柄,并带有鼠标模拟模式
- Boots DOS, Windows 3.x, Windows 95, Linux, and more
- 可启动 DOS、Windows 3.x、Windows 95、Linux 等系统
Supported Boards
支持的开发板
This firmware is designed for RP2350-based boards with integrated VGA/HDMI, SD card, and keyboard input: 此固件专为集成了 VGA/HDMI、SD 卡和键盘输入的 RP2350 开发板设计:
- FRANK - A versatile development board with VGA output
- FRANK - 一款带有 VGA 输出的多功能开发板
- Murmulator - A compact retro-computing platform based on RP Pico 2 (M1 and M2 variants)
- Murmulator - 基于 RP Pico 2 的紧凑型复古计算平台(M1 和 M2 版本)
- Olimex PICO-PC - Olimex RP2350 PC board
- Olimex PICO-PC - Olimex RP2350 PC 开发板
- Waveshare RP2350-PiZero - Waveshare RP2350 board
- Waveshare RP2350-PiZero - 微雪 RP2350 开发板
Hardware Requirements
硬件需求
- Raspberry Pi Pico 2 (RP2350) or compatible board
- 树莓派 Pico 2 (RP2350) 或兼容开发板
- 8MB PSRAM (required for extended memory)
- 8MB PSRAM(扩展内存必需)
- VGA or HDMI connector
- VGA 或 HDMI 接口
- SD card module (SPI mode)
- SD 卡模块(SPI 模式)
- PS/2 keyboard (directly connected) - OR - USB keyboard (via native USB port)
- PS/2 键盘(直接连接)或 USB 键盘(通过原生 USB 接口)
- Audio output (optional): I2S DAC or PWM
- 音频输出(可选):I2S DAC 或 PWM
Note: When USB HID is enabled, the native USB port is used for keyboard/mouse input. USB serial console (CDC) is disabled in this mode; use UART for debug output. 注意:启用 USB HID 后,原生 USB 接口将用于键盘/鼠标输入。此模式下 USB 串口控制台 (CDC) 将被禁用;请使用 UART 进行调试输出。
SD Card Setup
SD 卡设置
Create a 386/ directory on your SD card:
在 SD 卡根目录下创建一个 386/ 文件夹:
SD Card Root/
└── 386/
├── config.ini # Configuration file
├── bios.bin # SeaBIOS ROM (required)
├── vgabios.bin # VGA BIOS ROM (required)
├── dos622.img # Hard disk image
├── boot.img # Floppy image
└── ... # Other disk images
Building
构建说明
Prerequisites: 前置条件:
- Install the Raspberry Pi Pico SDK (version 2.0+)
- 安装 Raspberry Pi Pico SDK (2.0+ 版本)
- Set environment variable:
export PICO_SDK_PATH=/path/to/pico-sdk - 设置环境变量:
export PICO_SDK_PATH=/path/to/pico-sdk - Install ARM GCC toolchain
- 安装 ARM GCC 工具链
Build Steps: 构建步骤:
# Clone the repository
git clone https://github.com/rh1tech/frank-386.git
cd frank-386
# Build with default settings (M2 board, 378MHz, PS/2 keyboard)
./build.sh
# Build for M1 board
./build.sh -M1
# Build with USB keyboard support
./build.sh --usb-hid