FRANK 386 is een open-source i386 PC-emulator speciaal ontwikkeld voor de RP2350 (Raspberry Pi Pico 2). Het project stelt gebruikers in staat om klassieke besturingssystemen zoals DOS, Windows 3.x, Windows 95 en Linux te draaien op compacte hardware.
De belangrijkste kenmerken zijn:
- Hardware-emulatie: Volledige i386 CPU-emulatie (met gedeeltelijke i486/i586 ondersteuning) en optionele x87 FPU.
- Beeld en Geluid: Ondersteuning voor VGA/HDMI-output (tot 640x480) en diverse geluidsapparaten zoals Sound Blaster 16, AdLib OPL2 en de PC Speaker.
- Opslag en Geheugen: Maakt gebruik van SD-kaarten voor disk images en ondersteunt tot 8 MB RAM via PSRAM.
- Input: Compatibel met PS/2- en USB-toetsenborden/muizen, evenals NES-gamepads.
- Beheer: Voorzien van een runtime Disk Manager (Win+F12) en een instellingenmenu (Win+F11).
De firmware is compatibel met diverse boards, waaronder de Murmulator, Olimex PICO-PC en Waveshare RP2350-PiZero. Het project is gebaseerd op Tiny386 en maakt gebruik van componenten zoals SeaBIOS en QEMU.
FRANK 386
FRANK 386 is een i386 PC-emulator voor de RP2350 (Raspberry Pi Pico 2). De emulator beschikt over VGA/HDMI-uitgang, SD-kaartopslag, PS/2- en USB-toetsenbord/muis, een NES-gamepad en audio-uitgang. Dit project is gebaseerd op Tiny386 van Chunhui He.
Kenmerken
- CPU-emulatie: Volledige i386 (en gedeeltelijke i486/i586) CPU-emulatie met optionele x87 FPU.
- Geheugen: Tot 8 MB RAM (met gebruik van 8 MB PSRAM).
- Beeld: VGA- en HDMI-grafische output (tekstmodi en graphics tot 640x480).
- Geluid: Ondersteuning voor AdLib OPL2, Sound Blaster 16, PC Speaker, Tandy, Covox en Disney Sound Source.
- Opslag: SD-kaartondersteuning voor floppy-, harddisk- en CD-ROM-images.
- Disk Manager: Runtime disk manager (Win+F12) voor het snel wisselen van schijfafbeeldingen.
- Configuratie: Instellingenmenu (Win+F11) voor het wijzigen van de emulatorconfiguratie.
- Invoer:
- PS/2 toetsenbord en muis.
- USB toetsenbord en muis (via native USB Host).
- NES-gamepad ondersteuning met muis-emulatiemodus.
- Compatibiliteit: Start DOS, Windows 3.x, Windows 95, Linux en meer.
Ondersteunde Boards
Deze firmware is ontworpen voor RP2350-boards met geïntegreerde VGA/HDMI, SD-kaart en toetsenboringvoer:
- FRANK: Een veelzijdig ontwikkelboard met VGA-uitgang.
- Murmulator: Een compact retro-computing platform gebaseerd op RP Pico 2 (M1- en M2-varianten).
- Olimex PICO-PC: Olimex RP2350 PC-board.
- Waveshare RP2350-PiZero: Waveshare RP2350-board.
Hardwarevereisten
- Raspberry Pi Pico 2 (RP2350) of compatibel board.
- 8 MB PSRAM (vereist voor uitgebreid geheugen).
- VGA- of HDMI-connector.
- SD-kaartmodule (SPI-modus).
- PS/2-toetsenbord (direct aangesloten) OF USB-toetsenbord (via native USB-poort).
- Audio-uitgang (optioneel): I2S DAC of PWM.
Let op: Wanneer USB HID is ingeschakeld, wordt de native USB-poort gebruikt voor toetsenbord/muis-invoer. De USB-seriële console (CDC) is in deze modus uitgeschakeld; gebruik UART voor debug-output.
Boardconfiguraties
Er worden vier GPIO-layouts ondersteund: M1, M2, PC (Olimex) en Z2 (Waveshare).
VGA / HDMI
| Signaal | M1 GPIO | M2 GPIO |
| Base | 6 | 12 |
| Range | 6-13 | 12-19 |
SD-kaart (SPI-modus)
| Signaal | M1 GPIO | M2 GPIO |
| CLK | 2 | 6 |
| CMD | 3 | 7 |
| DAT0 | 4 | 4 |
| DAT3/CS | 5 | 5 |
PS/2 Toetsenbord
| Signaal | M1 GPIO | M2 GPIO |
| CLK | 0 | 2 |
| DATA | 1 | 3 |
PS/2 Muis
| Signaal | M1 GPIO | M2 GPIO |
| CLK | 14 | 0 |
| DATA | 15 | 1 |
NES/SNES Gamepad
| Signaal | M1 GPIO | M2 GPIO |
| CLK | 14 | 20 |
| DATA | 16 | 26 |
| LATCH | 15 | 21 |
I2S Audio
| Signaal | M1 GPIO | M2 GPIO |
| DATA | 26 | 9 |
| BCLK | 27 | 10 |
| LRCLK | 28 | 11 |
SD-kaart Configuratie
Mappenstructuur
Maak een map genaamd 386/ aan op uw SD-kaart:
SD Kaart Root/
└── 386/
├── config.ini # Configuratiebestand
├── bios.bin # SeaBIOS ROM (vereist)
├── vgabios.bin # VGA BIOS ROM (vereist)
├── dos622.img # Harddisk image
├── boot.img # Floppy image
└── ... # Overige schijfafbeeldingen
BIOS-bestanden
Download SeaBIOS en VGA BIOS vanuit de SeaBIOS-releases of gebruik bios.bin/vgabios.bin uit sdcard/386.
Configuratiebestand (config.ini)
Maak het bestand 386/config.ini aan met de volgende inhoud:
[pc]
mem=8M
bios=bios.bin
vga_bios=vgabios.bin
[frank-386]
cpu_freq=504
psram_freq=166
Schijfafbeeldingen Voorbereiden
Floppy Images (.img)
Standaard 1.44 MB floppy-images (1.474.560 bytes).
- Aanmaken via:
dd if=/dev/zero of=floppy.img bs=512 count=2880
- Formatteer met DOS of gebruik kant-en-klare DOS boot-disks.
Hard Disk Images (.img)
Raw disk images tot 2 GB.
- Aanmaken via:
dd if=/dev/zero of=hdd.img bs=1M count=512
- Gebruik FDISK en FORMAT vanuit DOS om te partitioneren en formatteren.
CD-ROM Images (.iso)
Standaard ISO 9660-images. Gebruik CD-brandsoftware om ISO's van CD's te maken.
Schijfafbeeldingen Laden
Bij het opstarten
Configureer de schijfafbeeldingen in config.ini zoals hierboven beschreven.
Tijdens runtime (Disk Manager)
- Druk op Win+F12 om de Disk Manager te openen.
- Gebruik de pijltjestoetsen om een station te selecteren (A:, B:, C:, D:, E:).
- Druk op Enter om door de schijfafbeeldingen in de
386/ map te bladeren.
- Selecteer een image-bestand om deze in te voegen, of verwijder de huidige schijf.
- Druk op Escape om de Disk Manager te sluiten.
Wijzigingen gemaakt via de Disk Manager worden automatisch opgeslagen in config.ini.
Bediening
Toetsenbord Sneltoetsen
| Sneltoets | Actie |
| Win+F12 | Open Disk Manager |
| Win+F11 | Open Instellingenmenu |
| Ctrl+Alt+Delete | Systeemreset (wordt naar gast-OS gestuurd) |
Instellingenmenu (Win+F11)
Configureer de emulatorinstellingen tijdens runtime:
- Geheugenomvang (1-8 MB)
- CPU-generatie (386/486/586)
- FPU-emulatie aan/uit
- Geluidsapparaten (AdLib, SB16, PC Speaker, Tandy, Covox, MPU-401, DSS)
- PS/2 of USB Muis aan/uit
- NES Muis aan/uit (emuleert muis met NES gamepad D-pad: B=links klikken, A=rechts klikken)
- RP2350 CPU-frequentie en voltage
- PSRAM / Flash frequentie
Instellingen worden opgeslagen in config.ini en treden in werking na een herstart.
Disk Manager (Win+F12)
Beheer schijfafbeeldingen zonder opnieuw op te starten:
- Voeg floppy-images in/verwijder deze (A:, B:)
- Voeg harddisk-images in/verwijder deze (C:, D:)
- Voeg CD-ROM-images in/verwijder deze (E:)
Bouwen (Building)
Voorvereisten
- Installeer de Raspberry Pi Pico SDK (versie 2.0+).
- Stel de omgevingsvariabele in:
export PICOSDKPATH=/pad/naar/pico-sdk.
- Installeer de ARM GCC toolchain.
Bouwstappen
# Clone de repository
git clone https://github.com/rh1tech/frank-386.git
cd frank-386
# Bouwen met standaardinstellingen (M2 board, 378MHz, PS/2 toetsenbord)
./build.sh
# Bouwen voor M1 board
./build.sh -M1
# Bouwen met ondersteuning voor USB-toetsenbord
./build.sh --usb-hid
# Aangepast bouwen
./build.sh -b M1 -c 504 -p 166 --debug
Bouwopties (build.sh)
| Optie | Beschrijving |
| `-b, --board <M1\ | M2\ | PC\ | Z2>` | Board-variant (standaard: M2) |
-c, --cpu <MHz> | CPU-snelheid: 378 (standaard), 504 |
-p, --psram <MHz> | PSRAM-snelheid: 133 (standaard), 166 |
--usb-hid | Schakel USB-toetsenbord in (schakelt USB-serie uit) |
--hdmi | Forceer HDMI-output |
--debug | Schakel debug-output in |
-clean | Wis eerst de build-directory |
Bouwopties (CMake)
| Optie | Beschrijving |
-DPICO_BOARD=pico2 | Bouwen voor RP2350 (standaard) |
-DBOARD=M1 | Gebruik M1 GPIO-layout |
-DBOARD=M2 | Gebruik M2 GPIO-layout (standaard) |
-DBOARD=PC | Gebruik Olimex PICO-PC layout |
-DBOARD=Z2 | Gebruik Waveshare RP2350-PiZero layout |
-DCPU_SPEED=378 | CPU-klok in MHz (378, 504) |
-DPSRAM_SPEED=133 | PSRAM-klok in MHz (133, 166) |
-DUSBHIDENABLED=ON | Schakel USB-toetsenbord in (schakelt USB-serie uit) |
-DDEBUG_ENABLED=ON | Schakel uitgebreide debug-logging in |
-DFORCE_HDMI=ON | Forceer HDMI-output |
Release-builds en Flashen
Om alle firmware-varianten te bouwen, gebruik:
# Interactief (vraagt om versie)
./release.sh
# Met versienummer
./release.sh 1.02
Dit maakt firmware-bestanden aan in de release/ directory:
frank-386m1<versie>.uf2 - M1 board (Murmulator)
frank-386m2<versie>.uf2 - M2 board (Murmulator)
frank-386pc<versie>.uf2 - Olimex PICO-PC
frank-386z2<versie>.uf2 - Waveshare RP2350-PiZero
Flashen
# Met apparaat in BOOTSEL-modus:
picotool load build/frank-386.uf2
# Of gebruik het flash-script:
./flash.sh
Probleemoplossing
- "0 bytes of memory" tijdens Windows 95 installatie: Gebruik
setup /im om de geheugencontrole over te slaan.
- "Protection error" tijdens Windows 95 opstarten: Gebruik
patcher9x.
- Netwerkschijf: Schakel
mapdrive.com ondersteuning (redirector) in om de SD-kaart te mappen als netwerkschijf H. Zet redirector = 1 in config.ini.
- Geen toetsenbord-invoer:
- Voor PS/2: Controleer de toetsenbordverbinding en GPIO-pinnen.
- Voor USB: Zorg dat de firmware is gebouwd met de
--usb-hid optie.
- SD-kaart niet gedetecteerd:
- Controleer of de SD-kaart is geformatteerd als FAT32.
- Controleer de verbindingen van de SD-kaartmodule.
- Verifieer of de map
386/ op de SD-kaart bestaat.
Licentie, Auteurs en Erkenningen
Licentie
MIT Licentie. Zie het bestand LICENSE voor details.
Auteurs & Bijdragers
Mikhail Matveev & DnCraptor Porting en ontwikkeling van frank-386 (2026). Repository: https://github.com/rh1tech/frank-386
Erkenningen
Dit project is gebaseerd op de volgende open-source projecten:
- Tiny386 (Chunhui He, BSD 3-Clause): De kern i386 CPU-emulator en PC-periferie emulatie (8259 PIC, 8254 PIT, 8042 keyboard controller, VGA, sound devices).
- Pico-286 (xrip, MIT): RP2350 platformintegratie, disk management, VGA-driver concepten.
- QuakeGeneric (DnCraptor, GPL v2): RP2350 hardware integratiepatronen, Murmulator platformondersteuning en PS/2 muis-driver implementatie.
- QEMU (Fabrice Bellard et al., MIT): PC-periferie emulatiecode inclusief 8259 PIC, 8254 PIT, 8257 DMA, 8042 keyboard controller, PCI bus, PC speaker, VGA en AdLib OPL2 proxy.
- MAME FM Sound Generator (Tatsuyuki Satoh, LGPL 2.1+): FM OPL sound generator (fmopl) voor AdLib emulatie.
- inih (Ben Hoyt, BSD 3-Clause): Eenvoudige INI-bestand parser voor configuratiebeheer.
- SeaBIOS (Kevin O'Connor et al., GNU LGPL v3): x86 BIOS en VGA BIOS firmware.
- FatFs (ChaN, FatFs License): Generieke FAT-bestandssysteem module voor SD-kaart toegang.
- FatFs Utilities (Carl John Kugler III, Apache 2.0): FatFs utility functies voor foutafhandeling en resultaat-string conversie.
- Raspberry Pi Pico SDK (Raspberry Pi Ltd, BSD 3-Clause): PIO SPI driver voor SD-kaart communicatie.
FRANK 386
FRANK 386 is een i386 PC-emulator voor de RP2350 (Raspberry Pi Pico 2). De emulator beschikt over VGA/HDMI-uitgang, SD-kaartopslag, PS/2- en USB-toetsenbord/muis, een NES-gamepad en audio-uitgang. Dit project is gebaseerd op Tiny386 van Chunhui He.
Kenmerken
- CPU-emulatie: Volledige i386 (en gedeeltelijke i486/i586) CPU-emulatie met optionele x87 FPU.
- Geheugen: Tot 8 MB RAM (met gebruik van 8 MB PSRAM).
- Beeld: VGA- en HDMI-grafische output (tekstmodi en graphics tot 640x480).
- Geluid: Ondersteuning voor AdLib OPL2, Sound Blaster 16, PC Speaker, Tandy, Covox en Disney Sound Source.
- Opslag: SD-kaartondersteuning voor floppy-, harddisk- en CD-ROM-images.
- Disk Manager: Runtime disk manager (Win+F12) voor het snel wisselen van schijfafbeeldingen.
- Configuratie: Instellingenmenu (Win+F11) voor het wijzigen van de emulatorconfiguratie.
- Invoer:
- PS/2 toetsenbord en muis.
- USB toetsenbord en muis (via native USB Host).
- NES-gamepad ondersteuning met muis-emulatiemodus.
- Compatibiliteit: Start DOS, Windows 3.x, Windows 95, Linux en meer.
Ondersteunde Boards
Deze firmware is ontworpen voor RP2350-boards met geïntegreerde VGA/HDMI, SD-kaart en toetsenboringvoer:
- FRANK: Een veelzijdig ontwikkelboard met VGA-uitgang.
- Murmulator: Een compact retro-computing platform gebaseerd op RP Pico 2 (M1- en M2-varianten).
- Olimex PICO-PC: Olimex RP2350 PC-board.
- Waveshare RP2350-PiZero: Waveshare RP2350-board.
Hardwarevereisten
- Raspberry Pi Pico 2 (RP2350) of compatibel board.
- 8 MB PSRAM (vereist voor uitgebreid geheugen).
- VGA- of HDMI-connector.
- SD-kaartmodule (SPI-modus).
- PS/2-toetsenbord (direct aangesloten) OF USB-toetsenbord (via native USB-poort).
- Audio-uitgang (optioneel): I2S DAC of PWM.
Let op: Wanneer USB HID is ingeschakeld, wordt de native USB-poort gebruikt voor toetsenbord/muis-invoer. De USB-seriële console (CDC) is in deze modus uitgeschakeld; gebruik UART voor debug-output.
Boardconfiguraties
Er worden vier GPIO-layouts ondersteund: M1, M2, PC (Olimex) en Z2 (Waveshare).
VGA / HDMI
| Signaal | M1 GPIO | M2 GPIO |
| Base | 6 | 12 |
| Range | 6-13 | 12-19 |
SD-kaart (SPI-modus)
| Signaal | M1 GPIO | M2 GPIO |
| CLK | 2 | 6 |
| CMD | 3 | 7 |
| DAT0 | 4 | 4 |
| DAT3/CS | 5 | 5 |
PS/2 Toetsenbord
| Signaal | M1 GPIO | M2 GPIO |
| CLK | 0 | 2 |
| DATA | 1 | 3 |
PS/2 Muis
| Signaal | M1 GPIO | M2 GPIO |
| CLK | 14 | 0 |
| DATA | 15 | 1 |
NES/SNES Gamepad
| Signaal | M1 GPIO | M2 GPIO |
| CLK | 14 | 20 |
| DATA | 16 | 26 |
| LATCH | 15 | 21 |
I2S Audio
| Signaal | M1 GPIO | M2 GPIO |
| DATA | 26 | 9 |
| BCLK | 27 | 10 |
| LRCLK | 28 | 11 |
SD-kaart Configuratie
Mappenstructuur
Maak een map genaamd 386/ aan op uw SD-kaart:
SD Kaart Root/
└── 386/
├── config.ini # Configuratiebestand
├── bios.bin # SeaBIOS ROM (vereist)
├── vgabios.bin # VGA BIOS ROM (vereist)
├── dos622.img # Harddisk image
├── boot.img # Floppy image
└── ... # Overige schijfafbeeldingen
BIOS-bestanden
Download SeaBIOS en VGA BIOS vanuit de SeaBIOS-releases of gebruik bios.bin/vgabios.bin uit sdcard/386.
Configuratiebestand (config.ini)
Maak het bestand 386/config.ini aan met de volgende inhoud:
[pc]
mem=8M
bios=bios.bin
vga_bios=vgabios.bin
[frank-386]
cpu_freq=504
psram_freq=166
Schijfafbeeldingen Voorbereiden
Floppy Images (.img)
Standaard 1.44 MB floppy-images (1.474.560 bytes).
- Aanmaken via:
dd if=/dev/zero of=floppy.img bs=512 count=2880
- Formatteer met DOS of gebruik kant-en-klare DOS boot-disks.
Hard Disk Images (.img)
Raw disk images tot 2 GB.
- Aanmaken via:
dd if=/dev/zero of=hdd.img bs=1M count=512
- Gebruik FDISK en FORMAT vanuit DOS om te partitioneren en formatteren.
CD-ROM Images (.iso)
Standaard ISO 9660-images. Gebruik CD-brandsoftware om ISO's van CD's te maken.
Schijfafbeeldingen Laden
Bij het opstarten
Configureer de schijfafbeeldingen in config.ini zoals hierboven beschreven.
Tijdens runtime (Disk Manager)
- Druk op Win+F12 om de Disk Manager te openen.
- Gebruik de pijltjestoetsen om een station te selecteren (A:, B:, C:, D:, E:).
- Druk op Enter om door de schijfafbeeldingen in de
386/ map te bladeren.
- Selecteer een image-bestand om deze in te voegen, of verwijder de huidige schijf.
- Druk op Escape om de Disk Manager te sluiten.
Wijzigingen gemaakt via de Disk Manager worden automatisch opgeslagen in config.ini.
Bediening
Toetsenbord Sneltoetsen
| Sneltoets | Actie |
| Win+F12 | Open Disk Manager |
| Win+F11 | Open Instellingenmenu |
| Ctrl+Alt+Delete | Systeemreset (wordt naar gast-OS gestuurd) |
Instellingenmenu (Win+F11)
Configureer de emulatorinstellingen tijdens runtime:
- Geheugenomvang (1-8 MB)
- CPU-generatie (386/486/586)
- FPU-emulatie aan/uit
- Geluidsapparaten (AdLib, SB16, PC Speaker, Tandy, Covox, MPU-401, DSS)
- PS/2 of USB Muis aan/uit
- NES Muis aan/uit (emuleert muis met NES gamepad D-pad: B=links klikken, A=rechts klikken)
- RP2350 CPU-frequentie en voltage
- PSRAM / Flash frequentie
Instellingen worden opgeslagen in config.ini en treden in werking na een herstart.
Disk Manager (Win+F12)
Beheer schijfafbeeldingen zonder opnieuw op te starten:
- Voeg floppy-images in/verwijder deze (A:, B:)
- Voeg harddisk-images in/verwijder deze (C:, D:)
- Voeg CD-ROM-images in/verwijder deze (E:)
Bouwen (Building)
Voorvereisten
- Installeer de Raspberry Pi Pico SDK (versie 2.0+).
- Stel de omgevingsvariabele in:
export PICOSDKPATH=/pad/naar/pico-sdk.
- Installeer de ARM GCC toolchain.
Bouwstappen
# Clone de repository
git clone https://github.com/rh1tech/frank-386.git
cd frank-386
# Bouwen met standaardinstellingen (M2 board, 378MHz, PS/2 toetsenbord)
./build.sh
# Bouwen voor M1 board
./build.sh -M1
# Bouwen met ondersteuning voor USB-toetsenbord
./build.sh --usb-hid
# Aangepast bouwen
./build.sh -b M1 -c 504 -p 166 --debug
Bouwopties (build.sh)
| Optie | Beschrijving |
| `-b, --board <M1\ | M2\ | PC\ | Z2>` | Board-variant (standaard: M2) |
-c, --cpu <MHz> | CPU-snelheid: 378 (standaard), 504 |
-p, --psram <MHz> | PSRAM-snelheid: 133 (standaard), 166 |
--usb-hid | Schakel USB-toetsenbord in (schakelt USB-serie uit) |
--hdmi | Forceer HDMI-output |
--debug | Schakel debug-output in |
-clean | Wis eerst de build-directory |
Bouwopties (CMake)
| Optie | Beschrijving |
-DPICO_BOARD=pico2 | Bouwen voor RP2350 (standaard) |
-DBOARD=M1 | Gebruik M1 GPIO-layout |
-DBOARD=M2 | Gebruik M2 GPIO-layout (standaard) |
-DBOARD=PC | Gebruik Olimex PICO-PC layout |
-DBOARD=Z2 | Gebruik Waveshare RP2350-PiZero layout |
-DCPU_SPEED=378 | CPU-klok in MHz (378, 504) |
-DPSRAM_SPEED=133 | PSRAM-klok in MHz (133, 166) |
-DUSBHIDENABLED=ON | Schakel USB-toetsenbord in (schakelt USB-serie uit) |
-DDEBUG_ENABLED=ON | Schakel uitgebreide debug-logging in |
-DFORCE_HDMI=ON | Forceer HDMI-output |
Release-builds en Flashen
Om alle firmware-varianten te bouwen, gebruik:
# Interactief (vraagt om versie)
./release.sh
# Met versienummer
./release.sh 1.02
Dit maakt firmware-bestanden aan in de release/ directory:
frank-386m1<versie>.uf2 - M1 board (Murmulator)
frank-386m2<versie>.uf2 - M2 board (Murmulator)
frank-386pc<versie>.uf2 - Olimex PICO-PC
frank-386z2<versie>.uf2 - Waveshare RP2350-PiZero
Flashen
# Met apparaat in BOOTSEL-modus:
picotool load build/frank-386.uf2
# Of gebruik het flash-script:
./flash.sh
Probleemoplossing
- "0 bytes of memory" tijdens Windows 95 installatie: Gebruik
setup /im om de geheugencontrole over te slaan.
- "Protection error" tijdens Windows 95 opstarten: Gebruik
patcher9x.
- Netwerkschijf: Schakel
mapdrive.com ondersteuning (redirector) in om de SD-kaart te mappen als netwerkschijf H. Zet redirector = 1 in config.ini.
- Geen toetsenbord-invoer:
- Voor PS/2: Controleer de toetsenbordverbinding en GPIO-pinnen.
- Voor USB: Zorg dat de firmware is gebouwd met de
--usb-hid optie.
- SD-kaart niet gedetecteerd:
- Controleer of de SD-kaart is geformatteerd als FAT32.
- Controleer de verbindingen van de SD-kaartmodule.
- Verifieer of de map
386/ op de SD-kaart bestaat.
Licentie, Auteurs en Erkenningen
Licentie
MIT Licentie. Zie het bestand LICENSE voor details.
Auteurs & Bijdragers
Mikhail Matveev & DnCraptor Porting en ontwikkeling van frank-386 (2026). Repository: https://github.com/rh1tech/frank-386
Erkenningen
Dit project is gebaseerd op de volgende open-source projecten:
- Tiny386 (Chunhui He, BSD 3-Clause): De kern i386 CPU-emulator en PC-periferie emulatie (8259 PIC, 8254 PIT, 8042 keyboard controller, VGA, sound devices).
- Pico-286 (xrip, MIT): RP2350 platformintegratie, disk management, VGA-driver concepten.
- QuakeGeneric (DnCraptor, GPL v2): RP2350 hardware integratiepatronen, Murmulator platformondersteuning en PS/2 muis-driver implementatie.
- QEMU (Fabrice Bellard et al., MIT): PC-periferie emulatiecode inclusief 8259 PIC, 8254 PIT, 8257 DMA, 8042 keyboard controller, PCI bus, PC speaker, VGA en AdLib OPL2 proxy.
- MAME FM Sound Generator (Tatsuyuki Satoh, LGPL 2.1+): FM OPL sound generator (fmopl) voor AdLib emulatie.
- inih (Ben Hoyt, BSD 3-Clause): Eenvoudige INI-bestand parser voor configuratiebeheer.
- SeaBIOS (Kevin O'Connor et al., GNU LGPL v3): x86 BIOS en VGA BIOS firmware.
- FatFs (ChaN, FatFs License): Generieke FAT-bestandssysteem module voor SD-kaart toegang.
- FatFs Utilities (Carl John Kugler III, Apache 2.0): FatFs utility functies voor foutafhandeling en resultaat-string conversie.
- Raspberry Pi Pico SDK (Raspberry Pi Ltd, BSD 3-Clause): PIO SPI driver voor SD-kaart communicatie.