# picox86 **Repository Path**: bobde163/picox86 ## Basic Information - **Project Name**: picox86 - **Description**: 使用PR2040模拟X86平台 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-04-06 - **Last Updated**: 2024-04-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # picox86 x86 emulator on Raspberry Pi Pico ![](img/picox86color.jpg) Several opcodes implemented, more to go. Now in color and realtime register display ![](img/picox86pcb.jpg) PCB front, got some awful cheap solder at home, better get some good quality solder ![](img/picox86back.jpg) PCB back fitted with RAM and FLASH (and some decoup + tank capacitors) and the 8 270 Ohm resistors ![](img/picox86screen.jpg) First attempts for basic output in VGA 16x8 font ![](img/picox86screen2.jpg) Getting CPU temperature, start with register output ![](img/picox86screen3.jpg) 2021-03-03 FLASH working, can read out JEDEC to verify, print out CPU regs realtime and read first sector to boot from to 0000:7C00 (INT 0x19). Will put some initial sources online soon Quick links: [Wren6991 PicoDVI](https://github.com/Wren6991/PicoDVI) [Next186](https://opencores.org/projects/next186_soc_pc/) About this Project ----------------- I started this project inspired by the fact that the Pi Pico can actually output DVI streams without any external component (only 8 resistors and a connector). This is found and proved by Engineer Wren6991 (Check his PicoDVI repository [here](https://github.com/Wren6991/PicoDVI)) A similar x86 project is also made by Nicolae Dumitrache with his FPGA version of a 80186. This is a complete working solution, however I think it would be very cool if a simple MCU can have a minimal implementation too using PIO,DMA and some trial and error. Hardware used on bottom of PCB: - SPI Flash chip 16Mbit (for storing FDD image to boot from, Goal is that this can be programmed in circuit by USB or TTL UART) - QSPI PSRAM 64Mbit (can clock up to 133 MHz / 4bit) which results in up to 66 Mbyte/sec sequential access and about 13 Mbyte/sec random access. Goal is to offload the RAM access with PIO and a small cache.