Skip to content

About

Figuring out the missing technical documentation of the beloved PC110

Resources

Stars

97 stars

Watchers

11 watching

Forks

Latest commit

 

History

1,357 Commits

Folders and files

Repository files navigation

Open-Source PC110 logo

Open-Source IBM Palm Top PC110

A complete, open-source reverse engineering of the IBM Palm Top PC110: schematics, PCB layouts, ROM and firmware dumps, chip analysis, optical scans, hardware mods, and system tools.

Download PC 110 on the App Store Get PC110 on Google Play

Wiki / project story · Combined schematics · Service manual · Modernization roadmap · Mods · Software

IBM Palm Top PC110 hardware PC110 reverse-engineering view

A complete, open-source reverse engineering of the IBM Palm Top PC110 (type 2431, 1995), a Japanese-market, 486-class subnotebook co-developed by IBM Japan and Ricoh / RIOS Systems. This repository gathers everything needed to understand, repair, recreate, and modernize the machine: recreated schematics and PCB layouts, die-level chip analysis, firmware and BIOS dumps with disassembly, high-resolution optical and X-ray scans, datasheets, and hardware mods.

Goal: preserve the PC110 in full, signal-for-signal, so it can be rebuilt, repaired, emulated, and reimagined long after the last original board has corroded away.


PC110 Atlas platform compatibility

PC110 Atlas brings the PC110 hardware reference and emulator to modern devices. Updated October 8, 2026. Features and release availability differ by edition.

Released editions

Platform / channel Compatibility Download or installation Availability
iPhone and iPad iOS / iPadOS 17 or later App Store Available; 1.0.2 (65), released October 7, 2026
iPhone Duo adaptation Native iOS edition with adaptive inner/outer-display layouts and hinge alignment App Store Available in 1.0.2 (65); simulator-tested, with physical-device and guest-runtime validation pending
Apple Watch watchOS 10 or later, paired iPhone App Store companion Available; live display, controls, and guest audio from the iPhone session
Apple Vision Pro visionOS 2 or later App Store Available; native visionOS edition with local emulation and an interactive 3D PC110
Apple TV tvOS 17 or later App Store Available; hardware, schematics, and history reference with Siri Remote navigation
Android phones, tablets, and foldables Android 8.0 or later; 64-bit ARM64 or x86-64 runtime Google Play Available; 1.1.0 (6), published October 8, 2026, with fold-aware layouts, keyboard/mouse support, and optional gamepad controls
Wear OS / PC110 Live Wear OS 3 or later; paired Android phone with matching app and Google Play services Google Play companion Available; 1.1.1 (1000007), published October 8, 2026; live display, controls, and optional guest audio
Chromebooks and Android gaming handhelds Compatible Android runtime with Google Play; same Android requirements above Google Play Included in Android 1.1.0; resizable workspace and controller support, with physical-device validation still pending
Mac App Store edition macOS 14 or later, Apple M1 or later Mac App Store Available
Mac desktop / Homebrew macOS 12 or later; Intel and Apple silicon Intel DMG, Apple silicon DMG, or Homebrew instructions Available; Developer ID signed and Apple notarized
Windows installers Windows 10 or later, x64 MSI or EXE Available
Windows / Chocolatey Windows 10 or later, x64 Chocolatey Community package Approved September 23, 2026; choco install pc110-atlas
Ubuntu / Snap Store amd64 and arm64; Linux with snapd Snap Store Available on stable; sudo snap install pc110-atlas
Linux / APT amd64 and arm64; tested on Ubuntu 24.04 Signed APT repository and setup Available; DEB packages
Linux / YUM and DNF x86_64 and aarch64; compatible RPM distributions Signed YUM/DNF repository and setup Available; RPM packages
Pinokio launcher Pinokio 8.2+; supported macOS, Windows x64, and Linux x64/ARM64 editions Public launcher and installation guide Available; launches the matching installed edition, not a separate emulator

Previews and pending distribution

Platform / channel Compatibility Access or release record Status
Android XR Compatible Android XR headset and 64-bit Android runtime Google Play Android edition Optional 3D-laptop preview in 1.1.0; simulator-tested, with physical-headset input and performance validation pending
Amazon Fire tablets Compatible Fire OS with Android API 26+ and a 64-bit ARM64 runtime Android 1.1.0 source release Separate Google-services-free build prepared; hardware validation and Amazon Appstore publication pending
Raspberry Pi / Pi-Apps ARM64 desktop; Raspberry Pi OS Bookworm/Trixie or compatible Ubuntu 1.0.1 review build and testing guide QEMU review build available and tested on Raspberry Pi 5; Pi-Apps PR #3051 remains open
Microsoft Store Windows 10 or later, x64 desktop Store ID 9P4QHSVPL2VF QEMU-enabled 1.0.1.0 submitted September 18; public Store release not confirmed
IRIX / Unix X11 Experimental IRIX 6.5, MIPS n32 target Source test kit and build instructions Source only; frontend tested on Linux X11, with SGI hardware testing still required

Edition and device notes

  • Apple TV is a reference edition, not a QEMU emulator, and does not import firmware or disk images.
  • Apple Watch and Wear OS display a paired phone's running session. QEMU does not run on the watch. Wear OS physical pairing and audio validation remain pending.
  • Android requires a 64-bit operating system, not just a 64-bit processor. Android TV / Google TV, cars, 32-bit Android, and Amazon Vega OS are not supported. Physical foldable, Chromebook, handheld/controller, XR, Wear OS, and Fire validation remains incomplete; implementation does not mean every device has been tested.
  • The Mac App Store and Homebrew apps are separate editions. Published portable desktop 1.0.0 packages for Intel/Apple silicon Mac, Windows, and Linux use the portable PC110 core, not QEMU, and do not include guest audio. The Raspberry Pi review build and Microsoft Store candidate are separate QEMU-enabled packages.
  • Linux packages require compatible system libraries and a graphical desktop. The smaller Unix edition requires a C99 compiler, GNU make, and X11 development libraries.
  • Import your own legally obtained compatible system media where supported; guest operating-system compatibility varies by edition.

See desktop downloads and checksums, the distribution validation record, and the Android 1.1.0 corresponding source.

Start here

If you want to... Go here
Install PC110 Atlas on your device Platform compatibility and downloads
Understand the full reverse-engineering journey Wiki / A Tribute to the IBM PC110
Repair or inspect original hardware Unofficial service manual and power sequence guide
Review the recreated boards PCB projects and combined schematic PDF
Explore the custom chips and ROMs Components and Flash / ROM dumps
Work on emulation or system software Discovery notes, PS2 tools, and PC110 emulators & FPGA cores
Build a modernized PC110 variant Mods including ITX boards, CPU upgrade work, RAM expansion, and TFT replacement

Repository map

Folder What you'll find
Wiki The polished project story and guided tour: why the PC110 matters, how the board was reconstructed, and where to start.
PCB/ Recreated KiCad schematics and PCB layouts for the mainboard, PSU, keyboard membrane, docking station, modem, and 16 MB RAM module. Includes a combined schematic PDF, fab files, BOMs, and 3D renders.
Components/ Chip-level reverse engineering: die-level analysis (with John McMaster), firmware/BIOS/ROM dumps for six chips, disassembly, emulators, and the internal 4 MB disk image.
Discovery/ Deep-dive subsystem notes for each major chip and bus, plus an unofficial, comprehensive service & technical reference manual, a live hardware dump from a running unit, and a reverse-engineering of IBM's PS2.EXE tool. Start here to understand how it all fits together.
Software/ Tools for the PC110 — including PS2TUI, PS2GUI, and COMrade, the serial bridge for DOS and Windows 95 control.
Mods/ Hardware modifications and redesigns: ITX-form-factor recreations, a CPU upgrade adapter, a new docking station, a +4 MB RAM mod, a TFT display swap, and Altium ports.
Optical/ High-resolution optical scans, X-ray captures, and individual copper-layer images of every board and the custom chips.
Datasheets/ Datasheets, pinouts, and connector maps for the chips and connectors across the motherboard and peripheral boards.
Docs/ The project's story — "A Tribute to the IBM PC110" — covering the sanding, scanning, decapping, and schematic-extraction journey.

Recreated PCBs (PCB/)

All boards are recreated in KiCad 9.0 (requires the Alternate KiCad Library), with fab files and BOMs.

Board Description Layers
Mainboard Motherboard 10
PSU Power supply 4
Keyboard Keyboard membrane 2 + 2
Docking Station Port expansion 4
Modem 14.4 kbps internal modem 6
RAM-16MB 16 MB RAM module 4

Combined schematic PDF →

Mother Board

  • Schematic
Mainboard schematic
  • Layout
Mainboard layout

Power Supply

  • Schematic
PSU schematic
  • Layout
PSU layout

Keyboard Membrane

  • Schematic
Keyboard schematic
  • Layout
Keyboard layout

Port Expansion (Docking Station)

  • Schematic
Dock schematic
  • Layout
Dock layout

14.4 kbps Internal Modem

  • Schematic
Modem schematic
  • Layout
Modem layout

16 MB RAM Module

  • Schematic
RAM schematic
  • Layout
RAM layout front RAM layout back

Component Reverse Engineering (Components/)

Die-level investigation

A collaboration with John McMaster — laser-decapped chips with high-resolution die imaging.

Designator Part Function Notes
U61 VL82C420FC5 "SCAMP IV" chipset (DMA, PIC, PIT, RTC) Notes
U35 Pluto Custom I/O gate array Notes
U21 Bowman Custom system-controller gate array Notes
U75 D17137AGT TrackPoint controller Notes

Flash & ROM dumps

Raw readouts plus reverse-engineering analysis (reports, extracted strings, hexdumps, disassembly, and in some cases emulators) for the programmable chips. See Components/Flash/.

Chip Size Role
Intel E28F002BXT 256 KiB Main/system BIOS (IBM VGA-compatible, APM) — includes BIOS disassembly project
OKI MSM538032E 1 MiB Japanese/system font mask ROM
Eon EN29F040A 512 KiB Modem/fax board flash
Mitsubishi M38813E4HP ~16 KiB Keyboard controller firmware (U67)
Mitsubishi M38223E4HP ~16 KiB Power-sense MCU firmware (U6) — includes an emulator
Atmel AT29LV512 64 KiB SanDisk PCMCIA ATA FlashDisk controller (68000)

Internal disk image

Images of the PC110's internal 4 MB solid-state drive in Components/Internal-Disk-Image/ (raw .img and PowerQuest .PQI).


Discovery — subsystem deep-dives (Discovery/)

Reconstructed from schematic recreations, firmware disassembly, die scans, and the datasheets of architectural-twin parts.

Folder Subject
Service-Manual Unofficial comprehensive service & technical reference manual — start here
Chipset VLSI VL82C420 "SCAMP IV" system controller, full pin map
Bowman U21 main system-controller ASIC
Pluto U35 I/O gate array (with 6502 disassembler)
65535 C&T F65535 flat-panel/CRT VGA controller
ES488 ESS ES488F "AudioDrive" + YM3812 (OPL2) FM chain
Modem MN195001 single-chip fax engine
PSU-MB-M38 U6 M38223E4HP power-sense MCU + connector map
Power-Sequence Power-on sequence & "won't power on" repair guide
Trackpoint U75 µPD17137A pointing-device controller
Debug 80486SX debug / JTAG headers + a homebrew debug pod
PS2 IBM's PS2.EXE configuration tool, fully reverse-engineered — including the hidden _@ commands
Live-Dump Chipset / BIOS / OS state captured from a running PC110 over a serial link

Modifications & redesigns (Mods/)

Project Description
PC110-ITX An ITX-form-factor motherboard reimplementing the PC110, with original BGA parts converted to QFP for easier assembly
PC110-ITX-all-in-one ITX variant that merges the motherboard and docking-station PSU into one board
CPU Upgrade BGA-to-socket adapter work toward a faster CPU (shares the VL82C420 with Taka's 230cs upgrade)
NewDock A redesigned docking station as a standalone KiCad project
RAS4 Enables an extra 4 MB of internal RAM by repurposing VL_D12 as RAS#4
TFT TFT display replacement, including a BIOS patch image
Altium The PCB projects ported from KiCad to Altium

Optical scans & X-rays (Optical/)

High-resolution optical scans, X-ray captures, and individual copper-layer images of every board and the custom chips — including the full 10-layer copper stack of the mainboard, x-rays of the BGA/QFN packages, and corner-stitch die photos for the 486SX, VL82C420, F65535, Bowman, and Pluto. See Optical/README.md.


Community

Join the discussion, ask questions, and share your work:

Discord: discord.gg/WvRh6C6WT Facebook group: IBM PC110 community


How can you help?

  • Review the schematics and PCB layouts to spot bugs, errors, and issues.
  • Verify the layout against the schematic and against real hardware.
  • Find missing datasheets for the custom and undocumented parts.
  • Contribute firmware / ROM analysis and disassembly.
  • Fund the next iteration of PCBA so we can fabricate and test the recreated motherboard.

Press

Featured on Hackaday:

Featured on Taka's blog:

Jeff Geerling's YouTube Channel:

LGR YouTube Channel:

VCFMW20 YouTube Channel:


Acknowledgements

This project would not have been possible without Kevin Moonlight (microcontroller ROM extraction), Mike Lycett (fundraiser & coordination), Nick Rogers (debugging & verification), John McMaster (high-resolution die imaging), CLC / Fred Nielsen (decapping & silicon prep), and the wider open hardware & retrocomputing community.


PC110 Emulators & FPGA cores

PC110-EMU: an experimental emulator built around the real machine artifacts documented here. It boots the actual PC110 BIOS, runs PC DOS and Personaware, and loads the power-sense and keyboard-controller MCU firmware and the Japanese font flash — the very dumps that live in this repository's Components/Flash/ folder.

Highlights:

  • Boots the real PC110 BIOS and runs PC DOS and supported Personaware disk images, including the ROM-backed graphical Easy-Setup screen.
  • Renders the Personaware launcher with Japanese DBCS glyphs pulled from the PC110 font flash (MSM538032E).
  • Loads the M38223 power-sense MCU and M38813 MELPS 740 keyboard-controller firmware for diagnostics and controller responses.
  • Models the front LCD status strip (the startup IBM segment display, time, disk, PMCU, KBC, speaker, and setup state).
  • Two frontends: a native macOS SwiftUI app for bring-up and diagnostics, and a portable CMake build (Linux / Windows / macOS) with a headless runner and an optional SDL2 GUI.
  • Rich diagnostics: copy-ready CPU state, traces, memory, and text-screen dumps.

The emulator ships no copyrighted ROMs — use the legally obtained dumps from hardware you own. This repo documents where those dumps come from and what each one does.

The macOS frontend running Personaware, with live diagnostics and the modeled front LCD:

PC110 EMU running Personaware with diagnostics and front LCD

The ROM-backed graphical BIOS Easy-Setup screen:

PC110 BIOS Easy-Setup screen

Get the emulator → ahmadexp/PC110-EMU

PC110-QEMU: a QEMU based emulator for the PC110 with support for the BIOS and is able to boot into DOS7 and run Personaware.

It turns out stock QEMU can run the PC110's software once you give it the handful of PC110-specific hardware bits the software insists on. PC110-QEMU adds three small QEMU device models, all fed by the real ROM dumps archived in this repository:

  • pc110-fontrom — the banked 1 MB kanji font ROM (I/O port 0x1160 selects one of 128 × 8 KB banks into a window at 0xDE000, exactly the mechanism DOS/V's $FONT.SYS probes), fed by the MSM538032E dump. This is what makes Personaware's Japanese text render.
  • pc110-chipset — a VLSI/SCAMP + power-MCU shim with an optional full-ROM shadow overlay, enough to boot the real PC110 BIOS (E28F002BXT dump) on QEMU.
  • pc110-setupcfg — a SeaBIOS-safe config-register + power-MCU interface for the Easy-Setup program.

With those in place (-cpu 486 -m 20M -vga cirrus -device pc110-fontrom,romfile=...):

  • Personaware, IBM's Japanese pen-centric GUI, boots to its full home screen in ~20 s — every applet (Schedule, ToDo, Notebook, Address, EMail, FAX, IR, WorldClock, DrawMemo, …), live clock, working mouse, and sharp DBCS kanji rendered from the real font ROM.
  • The graphical BIOS Easy-Setup runs under SeaBIOS too: the LZW-compressed setup image is extracted from the BIOS flash and chain-loaded by a custom floppy boot sector that enters it exactly like the real BIOS does — full main menu, config screens, and the bird mascot — and exiting Easy-Setup drops you back into Personaware, just like on the real machine.

The repo also ships the supporting tooling: the LZW Easy-Setup extractor, the Easy-Setup boot loader (with exit/restart routed back to the hard disk), a partition-dump → bootable-disk converter (the PC110's internal disk images are partition dumps that need an MBR prepended), and build/run scripts. No ROMs or disk images are included — supply your own legally obtained dumps, which this repository documents how to make.

Get it → ahmadexp/pc110-qemu

PC110_MiSTer: the PC110 as an FPGA core — not emulation but a hardware reimplementation, targeting the MiSTer platform (DE10-Nano) and built on the ao486 core infrastructure. Like the emulators above, it is fed by the real dumps archived here.

Verified milestone: a zero-error POST, IBM Easy-Setup with working keyboard navigation, and an unattended PC DOS J7.0/V boot into the PersonaWare V1.0 desktop.

What the core implements, and where it lines up with this repository:

  • 486-class CPU (forced 30 MHz) plus the AT peripheral set — IDE, floppy, VGA, keyboard, mouse.
  • The stock PC110 memory map: 4 MiB planar RAM + a 16 MiB expansion module — i.e. the factory 20 MB configuration documented in Discovery/RAM-Module.
  • 256 KiB flash mapped at C0000h–FFFFFh — the E28F002BXT BIOS dump.
  • Font-ROM banking with a 1 MiB font image — the MSM538032E dump and the 0x1160 bank-select mechanism, which is what makes Japanese text render.
  • PCMCIA and CMOS interfaces, the inking interface (Discovery/Inking), and PC110-specific board I/O decode.

The project is refreshingly candid about its scope — it calls itself "an engineering core, not yet a cycle-exact replacement for the whole PC110 planar," and documents which parts are measured versus placeholder separately. Building needs Quartus 17.0.2 (provided via a Docker container), with scripts for ROM preparation, build, and deployment to MiSTer hardware over SSH.

Get the core → ahmadexp/PC110_MiSTer

PC110 System Configuration tools

PS2TUI: a text UI based tool to configure, test and perform system level operations on the PC110.

PS2.EXE is IBM's command-line utility for configuring the PC110: ~50 cryptic, largely undocumented switches controlling power management, device I/O assignment, display, keyboard, and low-level chipset settings. We disassembled it and decoded its hardware interface in Discovery/PS2 — the full command reference including the hidden _@ commands, how it drives the APM BIOS (INT 15h AX=5300/530A), IBM's vendor APM extension (AX=5380), and where the settings are stored in extended CMOS (DISASM.md has the annotated disassembly).

PS2TUI turns that knowledge into a tool you'd actually want to use: a full-screen, keyboard-driven menu for all of it, written in assembly as a ~3.4 KB DOS .COM.

PS2TUI main menu

  • Covers the documented and hidden setting groups (power, display, audio, IR/serial/modem routing, keyboard, PCMCIA, and more); every change shows the exact PS2 command and asks for confirmation before running it.
  • Native read paths — no PS2.EXE needed: live battery / AC status straight from the APM BIOS, and the current settings read directly from CMOS.
  • Extras PS2.EXE never had: byte-perfect dumps of the system BIOS, video BIOS, and the 1 MB font ROM to disk (CRC-verified against the dumps in this repo), plus an Easy-Setup-style system test (RAM, video, keyboard, speaker).
  • Settings are applied by invoking IBM's own PS2.EXE, so all writes go through IBM's tested hardware paths.
  • Built with NASM; developed and verified on real PC110 hardware over a serial COMrade session.

Prebuilt binary and source: Software/PS2TUI/ · standalone repo: ahmadexp/PS2TUI

PS2GUI: a graphical IBM Easy-Setup-style system manager for the IBM PalmTop PC110.

PS2GUI builds on the same PS2TUI command tree and turns it into a VGA mode 12h (640x480x16) icon-grid interface that closely matches the PC110's own BIOS Easy-Setup screen.

PS2GUI main menu

  • Recreates the Easy-Setup look: white border, mauve desktop, dark-red selection, matching DAC palette, heavy title lettering, and a 5x2 grid of white icon tiles.
  • Covers the same ten top-level categories and option lists as PS2TUI, with hand-drawn pixel-art icons for each category and item.
  • Runs as a self-contained real-mode DOS .COM; the native APM / CMOS / SCAMP / PCIC / 8042 read paths, dumps, diagnostics, and tests are built in, so no external PS2TUI.COM is needed.
  • Supports keyboard navigation and INT 33h mouse input, including an Easy-Setup-style arrow cursor and graphical value-picker dialogs.
  • Applies configuration changes through IBM's own PS2.EXE / ULTRACHG.COM, keeping writes on the original tested hardware paths.

Prebuilt binary and source: Software/PS2GUI/ · standalone repo: ahmadexp/PS2GUI

COMrade: a serial control bridge for PC110 bring-up and remote diagnostics. The DOS TSR supports screen and console capture, file transfer, keyboard injection, real-mode memory, port I/O, and hardware probes. The included COMR95.EXE is a separate Win32 agent for Windows 95 with file, keyboard, screen, and small GDI desktop-thumbnail support, using the same wire protocol and Python MCP bridge.

Prebuilt agents and source: Software/COMrade/ · upstream: yyzkevin/COMrade


License

This project is licensed under the Creative Commons Attribution-NonCommercial 4.0 International License (CC BY-NC 4.0).

You are free to:

  • Share, copy and redistribute the material in any medium or format
  • Adapt, remix, transform, and build upon the material

Under the following terms:

  • Attribution: You must give appropriate credit, provide a link to the license, and indicate if changes were made.
  • NonCommercial: You may not use the material for commercial purposes.

For full details, see: https://creativecommons.org/licenses/by-nc/4.0/

As the project creator, I reserve the right to use this material commercially or under any other terms.

Apple and the Apple logo are trademarks of Apple Inc., registered in the U.S. and other countries and regions. App Store is a service mark of Apple Inc.

Google Play and the Google Play logo are trademarks of Google LLC.

About

Figuring out the missing technical documentation of the beloved PC110

Resources

Stars

97 stars

Watchers

11 watching

Forks

Releases

Sponsor this project

Packages

Used by

Contributors

Languages