Help
RSS
API
Feed
Maltego
Contact
Domain > book.martypc.net
×
More information on this domain is in
AlienVault OTX
Is this malicious?
Yes
No
DNS Resolutions
Date
IP Address
2025-11-23
172.67.221.193
(
ClassC
)
2026-02-15
104.21.78.125
(
ClassC
)
Port 443
HTTP/1.1 200 OKDate: Sun, 15 Feb 2026 04:38:36 GMTContent-Type: text/html; charsetutf-8Transfer-Encoding: chunkedConnection: keep-aliveAccess-Control-Allow-Origin: *Cache-Control: public, max-age0, must-revalidatereferrer-policy: strict-origin-when-cross-originx-content-type-options: nosniffReport-To: {group:cf-nel,max_age:604800,endpoints:{url:https://a.nel.cloudflare.com/report/v4?s8XdCHbF%2Fzp90fIjzrKTnPfGgf8UFJ0b%2BFyaUpl1uIEkWLxEB7agcR%2BOns3epXTgJ7i5MZZZ1qsOkW0tnR%2FtdEp9bM8eotptYcMvjYxhEgLk%3D}}Nel: {report_to:cf-nel,success_fraction:0.0,max_age:604800}Server: cloudflarecf-cache-status: DYNAMICCF-RAY: 9ce21ddda92fcfa2-PDXalt-svc: h3:443; ma86400 !DOCTYPE HTML>html langen classlight sidebar-visible dirltr> head> !-- Book generated using mdBook --> meta charsetUTF-8> title>Introduction - The PC Emulation Book/title> !-- Custom HTML head --> meta namedescription contentA comprehensive guide to emulating the original IBM PC and its hardware components> meta nameviewport contentwidthdevice-width, initial-scale1> meta nametheme-color content#ffffff> link relicon hreffavicon-de23e50b.svg> link relshortcut icon hreffavicon-8114d1fc.png> link relstylesheet hrefcss/variables-e29d2114.css> link relstylesheet hrefcss/general-d4e31f58.css> link relstylesheet hrefcss/chrome-d7ced664.css> link relstylesheet hrefcss/print-ad67d350.css mediaprint> !-- Fonts --> link relstylesheet hrefFontAwesome/css/font-awesome-799aeb25.css> link relstylesheet hreffonts/fonts-9644e21d.css> !-- Highlight.js Stylesheets --> link relstylesheet idhighlight-css hrefhighlight-493f70e1.css> link relstylesheet idtomorrow-night-css hreftomorrow-night-4c0ae647.css> link relstylesheet idayu-highlight-css hrefayu-highlight-56612340.css> !-- Custom theme stylesheets --> link relstylesheet hrefsrc/custom-76602e5d.css> !-- MathJax --> script async srchttps://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?configTeX-AMS-MML_HTMLorMML>/script> !-- Provide site root and default themes to javascript --> script> const path_to_root ; const default_light_theme light; const default_dark_theme navy; /script> !-- Start loading toc.js asap --> script srctoc-43b01408.js>/script> /head> body> div idbody-container> !-- Work around some values being stored in localStorage wrapped in quotes --> script> try { let theme localStorage.getItem(mdbook-theme); let sidebar localStorage.getItem(mdbook-sidebar); if (theme.startsWith() && theme.endsWith()) { localStorage.setItem(mdbook-theme, theme.slice(1, theme.length - 1)); } if (sidebar.startsWith() && sidebar.endsWith()) { localStorage.setItem(mdbook-sidebar, sidebar.slice(1, sidebar.length - 1)); } } catch (e) { } /script> !-- Set the theme before any content is loaded, prevents flash --> script> const default_theme window.matchMedia((prefers-color-scheme: dark)).matches ? default_dark_theme : default_light_theme; let theme; try { theme localStorage.getItem(mdbook-theme); } catch(e) { } if (theme null || theme undefined) { theme default_theme; } const html document.documentElement; html.classList.remove(light) html.classList.add(theme); html.classList.add(js); /script> input typecheckbox idsidebar-toggle-anchor classhidden> !-- Hide / unhide sidebar before it is displayed --> script> let sidebar null; const sidebar_toggle document.getElementById(sidebar-toggle-anchor); if (document.body.clientWidth > 1080) { try { sidebar localStorage.getItem(mdbook-sidebar); } catch(e) { } sidebar sidebar || visible; } else { sidebar hidden; } sidebar_toggle.checked sidebar visible; html.classList.remove(sidebar-visible); html.classList.add(sidebar- + sidebar); /script> nav idsidebar classsidebar aria-labelTable of contents> !-- populated by js --> mdbook-sidebar-scrollbox classsidebar-scrollbox>/mdbook-sidebar-scrollbox> noscript> iframe classsidebar-iframe-outer srctoc.html>/iframe> /noscript> div idsidebar-resize-handle classsidebar-resize-handle> div classsidebar-resize-indicator>/div> /div> /nav> div idpage-wrapper classpage-wrapper> div classpage> div idmenu-bar-hover-placeholder>/div> div idmenu-bar classmenu-bar sticky> div classleft-buttons> label idsidebar-toggle classicon-button forsidebar-toggle-anchor titleToggle Table of Contents aria-labelToggle Table of Contents aria-controlssidebar> i classfa fa-bars>/i> /label> button idtheme-toggle classicon-button typebutton titleChange theme aria-labelChange theme aria-haspopuptrue aria-expandedfalse aria-controlstheme-list> i classfa fa-paint-brush>/i> /button> ul idtheme-list classtheme-popup aria-labelThemes rolemenu> li rolenone>button rolemenuitem classtheme iddefault_theme>Auto/button>/li> li rolenone>button rolemenuitem classtheme idlight>Light/button>/li> li rolenone>button rolemenuitem classtheme idrust>Rust/button>/li> li rolenone>button rolemenuitem classtheme idcoal>Coal/button>/li> li rolenone>button rolemenuitem classtheme idnavy>Navy/button>/li> li rolenone>button rolemenuitem classtheme idayu>Ayu/button>/li> /ul> button idsearch-toggle classicon-button typebutton titleSearch. (Shortkey: s) aria-labelToggle Searchbar aria-expandedfalse aria-keyshortcutsS aria-controlssearchbar> i classfa fa-search>/i> /button> /div> h1 classmenu-title>The PC Emulation Book/h1> div classright-buttons> a hrefprint.html titlePrint this book aria-labelPrint this book> i idprint-button classfa fa-print>/i> /a> a hrefhttps://github.com/dbalsom/pc-emulation-book titleGit repository aria-labelGit repository> i idgit-repository-button classfa fa-github>/i> /a> a hrefhttps://github.com/dbalsom/pc-emulation-book/edit/main/src/src/introduction.md titleSuggest an edit aria-labelSuggest an edit> i idgit-edit-button classfa fa-edit>/i> /a> /div> /div> div idsearch-wrapper classhidden> form idsearchbar-outer classsearchbar-outer> input typesearch idsearchbar namesearchbar placeholderSearch this book ... aria-controlssearchresults-outer aria-describedbysearchresults-header> /form> div idsearchresults-outer classsearchresults-outer hidden> div idsearchresults-header classsearchresults-header>/div> ul idsearchresults> /ul> /div> /div> !-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM --> script> document.getElementById(sidebar-toggle).setAttribute(aria-expanded, sidebar visible); document.getElementById(sidebar).setAttribute(aria-hidden, sidebar ! visible); Array.from(document.querySelectorAll(#sidebar a)).forEach(function(link) { link.setAttribute(tabIndex, sidebar visible ? 0 : -1); }); /script> div idcontent classcontent> main> h1 idintroduction>a classheader href#introduction>Introduction/a>/h1>p>Welcome to “The PC Emulation Book.”/p>p>This document aims to become a comprehensive guide to emulating the original models of the IBM Personal Computer:/p>ul>li>The IBM Model 5150 Personal Computer/li>li>The IBM Model 5160 Personal Computer XT/li>/ul>p>When we refer to the original “IBM PC”, we are technically referring to the IBM Model 5150. However, the slightly improved IBM Model 5160 (otherwise known as the IBM XT) is similar enough in design and function that they are often lumped together. In this book, we will refer to the 5160 or XT interchangably, when a distinction between the PC and XT is important. Otherwise, consider any reference to the “IBM PC” as referring to either model./p>h2 id-under-construction->a classheader href#-under-construction->🚧 strong>UNDER CONSTRUCTION!/strong> 🚧/a>/h2>p>You’ll notice that many of the pages in this book are empty stubs.Content is still being fleshed out. Here is a list of some of the more complete pages:/p>ul>li>a hrefsupport-chips/timer-8253.html>The Intel 8253 Programmable Interval Timer/a>/li>li>a hrefsupport-chips/pic-8259.html>The Intel 8259 Programmable Interrupt Controller/a>/li>li>a hrefio-devices/keyboard.html>The Keyboard/a>/li>/ul>h2 idwhy-emulate-the-pc>a classheader href#why-emulate-the-pc>Why Emulate the PC?/a>/h2>p>The IBM PC is arguably one of the most influential computers in history, establishing standards that enabled the proliferation of “PC-compatible” systems and cemented the very term “PC” as an Intel-based system, probably running a Microsoft operating system. The “PC” lives on even today, only recently challenged for supremacy by the rise of ARM-based CPUs./p>p>The PC was an open and well-documented system. IBM published full schematics and commented BIOS source code listings, allowing anyone to understand in great detail how the system operated, even without owning the physical hardware./p>p>There are thousands of software titles to explore on a PC emulator, although the PC’s limited graphics and sound capabilities make many of the games for the platform less than spectacular. Still, there are some classic titles that are still fun to play today, such as AlleyCat and Digger./p>p>If you’re up for a challenge, recently several demos have been released that push the original PC hardware to its utter limits and require cycle-exact emulation of the 5150 and its components. These demos include a hrefhttps://www.pouet.net/prod.php?which65371>8088 MPH/a>, released in 2015, and a hrefhttps://www.pouet.net/prod.php?which91938>Area 5150/a>, released in 2022./p>p>Even without any attempt at cycle-accuracy, the PC can be emulated with a respectable level of compatibility./p>h2 idwhat-youll-learn>a classheader href#what-youll-learn>What You’ll Learn/a>/h2>p>This book aims to cover the complete process of building a PC emulator from the ground up, including:/p>ul>li>strong>Hardware Architecture/strong>: Understanding the IBM PC’s system design and component interactions/li>li>strong>CPU Emulation/strong>: Implementing the Intel 8088 processor/li>li>strong>Support Chips/strong>: Emulating the various Intel support chips that made the PC work/li>li>strong>Peripheral Devices/strong>: Implementing keyboards, displays, storage, and other I/O devices/li>li>strong>System Integration/strong>: Bringing all components together into a working emulator/li>/ul>h2 idtarget-audience>a classheader href#target-audience>Target Audience/a>/h2>p>This book is intended for emulator authors, but retro-developers may find it a useful reference as well, or anyone simply curious about how classic computers of the era worked./p>h2 idprerequisites>a classheader href#prerequisites>Prerequisites/a>/h2>p>To get the most out of this book, you should have:/p>ul>li>A basic understanding of computer architecture concepts/li>li>Familiarity with a high-performance programming language (C, C++, Rust, or similar)/li>li>Basic understanding of digital logic/li>li>Some experience with emulationul>li>If you have never programmed an emulator before, it is recommended that you start with the CHIP-8, a simple system that teaches basic emulation concepts. You can find a guide a hrefhttps://tobiasvl.github.io/blog/write-a-chip-8-emulator/>here/a>./li>/ul>/li>/ul>h2 idlicense>a classheader href#license>License/a>/h2>p>This book is open-source and all content is licensed under the CC0 1.0 Creative Commons Public Domain license, except where otherwise noted./p>h2 idcontributing>a classheader href#contributing>Contributing/a>/h2>p>The main source repository for the PC Emulation Book can be found a hrefhttps://github.com/dbalsom/pc-emulation-book>here/a>./p> /main> nav classnav-wrapper aria-labelPage navigation> !-- Mobile navigation buttons --> a relnext prefetch hrefsystem-architecture/architecture-overview.html classmobile-nav-chapters next titleNext chapter aria-labelNext chapter aria-keyshortcutsRight> i classfa fa-angle-right>/i> /a> div styleclear: both>/div> /nav> /div> /div> nav classnav-wide-wrapper aria-labelPage navigation> a relnext prefetch hrefsystem-architecture/architecture-overview.html classnav-chapters next titleNext chapter aria-labelNext chapter aria-keyshortcutsRight> i classfa fa-angle-right>/i> /a> /nav> /div> script> window.playground_copyable true; /script> script srcelasticlunr-ef4e11c1.min.js>/script> script srcmark-09e88c2c.min.js>/script> script srcsearcher-b074573a.js>/script> script srcclipboard-1626706a.min.js>/script> script srchighlight-abc7f01d.js>/script> script srcbook-ed82849d.js>/script> !-- Custom JS scripts --> /div> /body>/html>
View on OTX
|
View on ThreatMiner
Please enable JavaScript to view the
comments powered by Disqus.
Data with thanks to
AlienVault OTX
,
VirusTotal
,
Malwr
and
others
. [
Sitemap
]