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.
Wiki / project story · Combined schematics · Service manual · Mods · Software
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.
| If you want to... | Go here |
|---|---|
| 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 |
| Build a modernized PC110 variant | Mods including ITX boards, CPU upgrade work, RAM expansion, and TFT replacement |
| 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 and PS2GUI, text and graphical front-ends for IBM's cryptic PS2.EXE system-management utility. |
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 |
- Schematic
- Layout
- Schematic
- Layout
- Schematic
- Layout
- Schematic
- Layout
- Schematic
- Layout
- Schematic
- Layout
Component Reverse Engineering (Components/)
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 |
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) |
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.
Join the discussion, ask questions, and share your work:
Discord: discord.gg/WvRh6C6WT Facebook group: IBM PC110 community
- 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.
Featured on Hackaday:
Featured on Taka's blog:
- PC110 New PSU
- PC110 PCB Pattern
- PC110 PCB Layout creation
- PC110 New Docking Station PCB
- X-ray photos of the inside of the PC110's LSI
Jeff Geerling's YouTube Channel:
LGR YouTube Channel:
VCFMW20 YouTube Channel:
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-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
IBMsegment 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:
The ROM-backed graphical 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 port0x1160selects one of 128 × 8 KB banks into a window at0xDE000, exactly the mechanism DOS/V's$FONT.SYSprobes), 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.
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.
- Covers the documented and hidden setting groups (power, display, audio, IR/serial/modem
routing, keyboard, PCMCIA, and more); every change shows the exact
PS2command and asks for confirmation before running it. - Native read paths — no
PS2.EXEneeded: live battery / AC status straight from the APM BIOS, and the current settings read directly from CMOS. - Extras
PS2.EXEnever 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.
- 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 externalPS2TUI.COMis 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
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.






