A low-level x86 emulator that runs vintage operating systems and software for IBM PC and compatible machines from 1981 onward.
yarufu/PC98QR
Transfers binary files from an NEC PC-98 to Windows 11 by splitting them into QR codes that are photographed with a phone.
- Stars
- 3
- Forks
- 0
- Open issues
- 0
- Last commit
- 10 days ago
What is it?
PC98QR is an experimental tool for moving binary files from a vintage NEC PC-98 running MS-DOS to a Windows 11 machine without serial cables or a network. The DOS program QRTEST.EXE splits a file into multiple QR codes and displays them on the PC-98 screen, and the user photographs each code with a smartphone.
On the Windows side, a Python script reads the photos with OpenCV and zxing-cpp, reassembles the original file, and restores its DOS 8.3 filename. A drag-and-drop BAT file is also provided. The project includes a host test suite and an ia16-elf-gcc build for the DOS executable.
The author reports a successful transfer of a 29,198-byte MAG image split into 10 codes on a PC-9821Ra43, verified by SHA-256 match. Frame switching and capture are manual, and there is no per-transfer identifier or whole-file CRC, so the project is documented as experimental.
Key features
- 01Splits a binary file into multiple QR codes shown on the PC-98 screen.
- 02Restores the original file on Windows from phone photos of the codes.
- 03Transfers data without character encoding conversion.
- 04Restores files under their original DOS filenames.
- 05Provides a drag-and-drop BAT file and a command-line Python script for reassembly.
Use cases
- Moving retro PC-98 image or data files to a modern Windows PC without network or serial hardware.
- Studying how QR codes can carry binary data between very old and new systems.
- Preserving files from vintage DOS machines where other transfer methods are unavailable.
Quick start
- 1
Install the Windows-side Python libraries
python -m pip install opencv-python zxing-cpp - 2
Build the PC-98 program from source (requires ia16-elf-gcc)
make all - 3
Download the prebuilt QRTEST.EXE and tools from GitHub Releases (planned)
Things to know
- Requires a real NEC PC-98 machine and MS-DOS to display the QR codes.
- QR code switching and photographing are manual; there is no automatic capture.
- Prebuilt binaries are only planned for release, and building from source needs the ia16-elf-gcc toolchain.
- Experimental software with no transfer-level identifier or whole-file CRC, so verify restored files with SHA-256.
Topics
FAQ
- What is PC98QR?
- Transfers binary files from an NEC PC-98 to Windows 11 by splitting them into QR codes that are photographed with a phone. PC98QR is an experimental tool for moving binary files from a vintage NEC PC-98 running MS-DOS to a Windows 11 machine without serial cables or a network. The DOS program QRTEST.EXE splits a file into multiple QR codes and displays them on the PC-98 screen, and the user photographs each code with a smartphone.
- Is PC98QR free to use? What license does it have?
- PC98QR is open source under the MIT license. Check the license terms before using it in commercial products.
- Is PC98QR still maintained?
- Actively maintained. The last commit to PC98QR was on Oct 28, 2026.
- What can I use PC98QR for?
- Moving retro PC-98 image or data files to a modern Windows PC without network or serial hardware. Studying how QR codes can carry binary data between very old and new systems. Preserving files from vintage DOS machines where other transfer methods are unavailable.
- How do I install PC98QR?
- Install the Windows-side Python libraries: python -m pip install opencv-python zxing-cpp Build the PC-98 program from source (requires ia16-elf-gcc): make all Download the prebuilt QRTEST.EXE and tools from GitHub Releases (planned)
- Where can I get PC98QR?
- The source code and installation instructions are on GitHub: https://github.com/yarufu/PC98QR
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
Runs 16-bit Windows (1.x to 3.1) programs on 64-bit Windows through an emulator, with a DOS mode for DOS executables.
Python tool that converts VGM sound-chip register logs for X68000 into structured MML and PCM IR, with optional MDX/PDX compilation.
An x86 PC emulator that runs in the browser, translating machine code to WebAssembly at runtime to boot real operating systems.
A macOS app that runs Intel macOS versions from Tiger 10.4 to Big Sur 11 on Apple silicon Macs, with graphics acceleration.
BACON, a compiler that translates MSX-BASIC programs into machine code for MSX computers, with PLAY (PSG music) support.