<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Hardware on TurboVision</title>
    <link>https://turbovision.in6-addr.net/retro/hardware/</link>
    <description>Recent content in Hardware on TurboVision</description>
    <generator>Hugo</generator>
    <language>en</language>
    <lastBuildDate>Tue, 21 Apr 2026 14:06:12 +0000</lastBuildDate>
    <atom:link href="https://turbovision.in6-addr.net/retro/hardware/index.xml" rel="self" type="application/rss&#43;xml" />
    
    
    
    <item>
      <title>IRQ Maps and the Politics of Slots</title>
      <link>https://turbovision.in6-addr.net/retro/hardware/irq-maps-and-the-politics-of-slots/</link>
      <pubDate>Sun, 22 Feb 2026 00:00:00 +0000</pubDate>
      <lastBuildDate>Mon, 09 Mar 2026 09:46:27 +0100</lastBuildDate>
      <guid>https://turbovision.in6-addr.net/retro/hardware/irq-maps-and-the-politics-of-slots/</guid>
      <description>&lt;p&gt;Anyone who built or maintained DOS-era PCs remembers that hardware conflicts were not rare edge cases; they were normal engineering terrain. IRQ lines, DMA channels, and I/O addresses had to be negotiated manually, and each new card could destabilize a previously stable system. This was less like plug-and-play and more like coalition politics in a fragile parliament.&lt;/p&gt;
&lt;p&gt;The core constraint was scarcity. Popular sound cards wanted IRQ 5 or 7. Network cards often preferred 10 or 11 on later boards but collided with other devices on mixed systems. Serial ports claimed fixed ranges by convention. Printer ports occupied addresses and IRQs that software still expected. These were not abstract settings. They were finite shared resources, and two devices claiming the same line could produce failures that looked random until you mapped the whole system.&lt;/p&gt;
&lt;p&gt;That mapping step separated casual tinkering from reliable operation. Good builders kept a notebook: slot position, card model, jumper settings, base address, IRQ, DMA low/high, BIOS toggles, and driver load order. Without this, every change became archaeology. With it, you could reason about conflicts before booting and recover quickly after experiments.&lt;/p&gt;
&lt;p&gt;Slot placement itself mattered more than many people remember. Motherboards often wired specific slots to shared interrupt paths or delivered different electrical behavior under load. Moving a card one slot over could stabilize an entire system. This felt superstitious until you understood board traces, chipset quirks, and timing sensitivities. “Try another slot” was not a meme; it was an informed diagnostic move.&lt;/p&gt;
&lt;p&gt;Software configuration had to align with hardware reality. A sound card set to IRQ 5 physically but configured as IRQ 7 in a game setup utility produced symptoms that were confusing but consistent: missing effects, lockups during sample playback, or intermittent crackle. The fix was not mystical. It was alignment across all layers: jumper, driver, environment variable, and application profile.&lt;/p&gt;
&lt;p&gt;Boot profiles in &lt;code&gt;CONFIG.SYS&lt;/code&gt; and &lt;code&gt;AUTOEXEC.BAT&lt;/code&gt; were a practical strategy for managing these tensions. One profile could prioritize networking and tooling, another multimedia and joystick support, another minimal diagnostics with most TSRs disabled. This profile pattern is a direct ancestor of modern environment presets. The principle is the same: explicit runtime compositions for different goals.&lt;/p&gt;
&lt;p&gt;DMA conflicts introduced their own flavor of pain. Two devices fighting over transfer channels could produce corruption that looked like software bugs. Audio glitches, disk anomalies, and sporadic crashes were common misdiagnoses. Experienced builders verified resource assignment first, then software assumptions. This order saved hours and prevented unnecessary reinstalls.&lt;/p&gt;
&lt;p&gt;Another historical lesson is that documentation quality varied wildly. Some clone cards shipped with sparse manuals or contradictory defaults. Community knowledge filled gaps: magazine columns, BBS archives, user groups, and handwritten cheatsheets. Effective troubleshooting required combining official docs with field reports. This mirrors contemporary reality where vendor documentation and community issue threads jointly form operational truth.&lt;/p&gt;
&lt;p&gt;The social side mattered too. In many places, one local expert became the de facto “slot diplomat,” helping classmates, coworkers, or club members resolve impossible-seeming conflicts. These people were not wizards. They were disciplined observers with good records and patience. Their method was repeatable: isolate, simplify, reassign, retest, document.&lt;/p&gt;
&lt;p&gt;From a design perspective, this era teaches respect for explicit resource models. Automatic negotiation is convenient, and modern systems rightly hide many details. But when abstraction fails, teams still need people who can reason from first principles. IRQ maps are old, yet the mindset transfers directly to container port collisions, PCI passthrough issues, interrupt storms, and shared resource exhaustion in current stacks.&lt;/p&gt;
&lt;p&gt;If you ever rebuild a vintage machine, treat slot planning as architecture, not housekeeping. Define requirements first: audio reliability, network throughput, serial compatibility, low-noise operation, diagnostic observability. Then assign resources intentionally, keep a change log, and resist random edits under fatigue. Stability is usually the outcome of boring discipline, not lucky jumper positions.&lt;/p&gt;
&lt;p&gt;The romance of retro hardware often focuses on aesthetics: beige cases, mechanical switches, CRT glow. The deeper craft was operational negotiation under constraint. IRQ maps were part of that craft. They made you model the whole system, validate assumptions layer by layer, and write down what you learned so the next failure started from knowledge, not myth.&lt;/p&gt;
&lt;p&gt;That documentation habit is probably the most transferable lesson. Whether you are assigning IRQs on ISA cards or allocating shared resources in modern infrastructure, stable systems are usually the result of explicit maps, deliberate ownership, and controlled change. The names changed. The engineering pattern did not.&lt;/p&gt;
&lt;h2 id=&#34;practical-irq-map-example&#34;&gt;Practical IRQ map example&lt;/h2&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;SB16 clone      A220 I5 D1 H5
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;NE2000 ISA      IRQ10 IO300
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;COM1/COM2       IRQ4 / IRQ3
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;LPT1            IRQ7 (disabled if audio needs IRQ7)&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;The exact values vary by board and card set, but writing this table down before changes prevents blind conflict loops.&lt;/p&gt;
&lt;p&gt;Related reading:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://turbovision.in6-addr.net/retro/hardware/restoring-a-286/&#34;&gt;Restoring an AT 286&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://turbovision.in6-addr.net/retro/dos/config-sys-as-architecture/&#34;&gt;CONFIG.SYS as Architecture&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://turbovision.in6-addr.net/retro/dos/interrupts-as-user-interface/&#34;&gt;Interrupts as User Interface&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
    
    <item>
      <title>Recapping a Vintage Mainboard</title>
      <link>https://turbovision.in6-addr.net/retro/hardware/recapping-a-vintage-mainboard/</link>
      <pubDate>Sun, 22 Feb 2026 00:00:00 +0000</pubDate>
      <lastBuildDate>Sun, 22 Feb 2026 22:08:59 +0100</lastBuildDate>
      <guid>https://turbovision.in6-addr.net/retro/hardware/recapping-a-vintage-mainboard/</guid>
      <description>&lt;p&gt;Recapping is one of those maintenance tasks that seems simple from a distance and unforgiving in practice. &amp;ldquo;Replace old capacitors&amp;rdquo; sounds straightforward until you are diagnosing intermittent instability on a thirty-year-old board with unknown service history, lifted pads, and undocumented revisions.&lt;/p&gt;
&lt;p&gt;Done well, recapping is not a parts swap. It is a controlled restoration process with verification steps before, during, and after soldering.&lt;/p&gt;
&lt;p&gt;Start with baseline behavior. Do not desolder anything yet. Record:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;POST reliability across cold and warm starts&lt;/li&gt;
&lt;li&gt;voltage rail readings under idle/load&lt;/li&gt;
&lt;li&gt;visible leakage or bulging&lt;/li&gt;
&lt;li&gt;ESR spot checks where accessible&lt;/li&gt;
&lt;li&gt;thermal hot spots after ten minutes&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Without baseline data, you cannot measure improvement or detect regressions introduced during rework.&lt;/p&gt;
&lt;p&gt;Next, create a capacitor map from the actual board, not just internet photos. Vintage boards often have revision differences. Mark value, voltage rating, polarity orientation, and physical clearance constraints. Photograph every zone before removal. Good photos save bad assumptions later.&lt;/p&gt;
&lt;p&gt;Part selection should prioritize reliability over novelty:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;low-ESR where originally required&lt;/li&gt;
&lt;li&gt;equal or higher voltage rating (within fit constraints)&lt;/li&gt;
&lt;li&gt;suitable temperature rating (105C preferred for stressed zones)&lt;/li&gt;
&lt;li&gt;reputable manufacturers with traceable supply&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Mixing random capacitor series can destabilize regulator behavior even if nominal values match.&lt;/p&gt;
&lt;p&gt;Removal technique matters more than speed. Use appropriate heat, flux, and gentle extraction to avoid pad damage. On older boards, adhesive and oxidation increase risk. If a lead resists, reflow and reassess instead of forcing.&lt;/p&gt;
&lt;p&gt;For through-hole boards, I prefer:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;add fresh leaded solder to old joints&lt;/li&gt;
&lt;li&gt;apply flux generously&lt;/li&gt;
&lt;li&gt;alternate heating each lead while easing extraction&lt;/li&gt;
&lt;li&gt;clear holes cleanly before install&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Rushing this sequence causes lifted pads and broken vias, which are harder to fix than bad capacitors.&lt;/p&gt;
&lt;p&gt;Pad and via integrity checks are mandatory after removal. Use continuity testing to confirm expected connections before installing replacements. A board can look perfect and still fail because one fragile via lost electrical continuity during rework.&lt;/p&gt;
&lt;p&gt;When installing new caps, orientation discipline is absolute. Confirm polarity against silkscreen, schematic where available, and your pre-removal photos. Do not trust one source alone. Trim leads cleanly, inspect solder wetting, and clean flux residues where they may become conductive over time.&lt;/p&gt;
&lt;p&gt;After partial replacement, run staged power-on tests instead of waiting for full completion. Staged tests isolate faults to recent work and reduce debugging scope. If a new issue appears, you know approximately where to inspect first.&lt;/p&gt;
&lt;p&gt;Post-recap validation should be structured:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;repeat baseline boot tests&lt;/li&gt;
&lt;li&gt;compare rail ripple and transient response&lt;/li&gt;
&lt;li&gt;run memory test loops&lt;/li&gt;
&lt;li&gt;run IO stress where practical&lt;/li&gt;
&lt;li&gt;perform thermal soak&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Expected result is not &amp;ldquo;boots once.&amp;rdquo; Expected result is stable behavior across states and time.&lt;/p&gt;
&lt;p&gt;One common pitfall is replacing only visibly bad capacitors while leaving electrically degraded but physically normal units. Visual inspection misses many failures. If you are already doing invasive work in a known-problem zone, full zone replacement is often safer than selective replacement.&lt;/p&gt;
&lt;p&gt;Another pitfall is ignoring mechanical strain. Large replacement cans with mismatched lead spacing can stress pads and traces. Choose physically appropriate parts and avoid forcing geometry.&lt;/p&gt;
&lt;p&gt;Document everything for future maintainers:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;capacitor BOM used&lt;/li&gt;
&lt;li&gt;date and source of parts&lt;/li&gt;
&lt;li&gt;board revision and serial markers&lt;/li&gt;
&lt;li&gt;before/after measurement snapshots&lt;/li&gt;
&lt;li&gt;unresolved anomalies&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Retro maintenance quality improves dramatically when documentation becomes part of the repair, not an afterthought.&lt;/p&gt;
&lt;p&gt;Some boards still fail after a perfect recap. That does not mean recap was pointless. It means capacitors were one failure contributor among others: bad regulators, cracked joints, corroded sockets, damaged traces, unstable clock circuits. The recap removed one major uncertainty and sharpened further diagnosis.&lt;/p&gt;
&lt;p&gt;I also recommend keeping removed components in labeled bags until the board passes full validation. On rare occasions, rollback or forensic inspection is useful.&lt;/p&gt;
&lt;p&gt;Recapping can extend machine life by years, sometimes decades, but only when treated as engineering work rather than ritual. Measure first, replace carefully, validate systematically.&lt;/p&gt;
&lt;p&gt;If you want one guiding principle: restoration should increase confidence, not just replace parts. Confidence comes from evidence, and evidence comes from disciplined process.&lt;/p&gt;
&lt;p&gt;Vintage hardware rewards that discipline. The machine may be old, but the repair mindset is modern: controlled change, observable outcomes, and thorough documentation.&lt;/p&gt;
&lt;p&gt;When a board finally passes all validation loops, archive the full restoration package with photos and measurements. The next maintainer should be able to continue from your evidence, not start again from guesswork.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>When Crystals Drift: Timing Faults in Old Machines</title>
      <link>https://turbovision.in6-addr.net/retro/hardware/when-crystals-drift/</link>
      <pubDate>Sun, 22 Feb 2026 00:00:00 +0000</pubDate>
      <lastBuildDate>Sun, 22 Feb 2026 22:14:54 +0100</lastBuildDate>
      <guid>https://turbovision.in6-addr.net/retro/hardware/when-crystals-drift/</guid>
      <description>&lt;p&gt;Vintage hardware failures are often blamed on capacitors, connectors, or corrosion. Those are common and worth checking first. But some of the strangest intermittent bugs come from timing instability: oscillators drifting, marginal clock distribution, and tolerance stacking that only breaks under specific thermal or electrical conditions.&lt;/p&gt;
&lt;p&gt;Timing faults are difficult because symptoms appear far away from cause:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;random serial framing errors&lt;/li&gt;
&lt;li&gt;floppy read instability&lt;/li&gt;
&lt;li&gt;periodic keyboard glitches&lt;/li&gt;
&lt;li&gt;game speed anomalies&lt;/li&gt;
&lt;li&gt;sporadic POST hangs&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;These can look like software issues until you observe enough correlation.&lt;/p&gt;
&lt;p&gt;A crystal oscillator is not magic. It is a physical resonant component with tolerance, temperature behavior, aging characteristics, and load-capacitance sensitivity. In old systems, any of these can move the effective frequency enough to expose marginal subsystems.&lt;/p&gt;
&lt;p&gt;The diagnostic trap is pass/fail thinking. Many boards &amp;ldquo;mostly work,&amp;rdquo; so timing is assumed healthy. Better approach: characterize timing quality, not just presence.&lt;/p&gt;
&lt;p&gt;Start with controlled observation:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;record failures with timestamps and thermal state&lt;/li&gt;
&lt;li&gt;identify activities correlated with errors (disk, UART, DMA bursts)&lt;/li&gt;
&lt;li&gt;measure reference clocks at startup and warmed state&lt;/li&gt;
&lt;li&gt;compare behavior under voltage variation within safe bounds&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;If error rate changes with heat or supply margin, timing is a strong suspect.&lt;/p&gt;
&lt;p&gt;Measurement technique matters. A poor probe ground can create phantom jitter. Use short ground paths and compare with and without bandwidth limit. Capture both average frequency and edge stability. Frequency can look nominal while jitter causes downstream logic trouble.&lt;/p&gt;
&lt;p&gt;On legacy boards, pay attention to load network health:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;load capacitors drifting from nominal&lt;/li&gt;
&lt;li&gt;cracked or cold solder joints at oscillator can&lt;/li&gt;
&lt;li&gt;contamination near high-impedance nodes&lt;/li&gt;
&lt;li&gt;replacement parts with mismatched ESR/behavior&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Even small parasitic changes can destabilize startup or edge quality.&lt;/p&gt;
&lt;p&gt;Clock distribution is another failure layer. The source oscillator may be fine, but buffer or trace integrity may not. Look for:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;weak swing at fanout nodes&lt;/li&gt;
&lt;li&gt;ringing on long routes&lt;/li&gt;
&lt;li&gt;duty-cycle distortion after buffering&lt;/li&gt;
&lt;li&gt;crosstalk from nearby aggressive edges&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Distribution faults are often temperature-sensitive because marginal thresholds shift.&lt;/p&gt;
&lt;p&gt;A practical troubleshooting pattern:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;verify oscillator node&lt;/li&gt;
&lt;li&gt;verify post-buffer node&lt;/li&gt;
&lt;li&gt;verify endpoint node&lt;/li&gt;
&lt;li&gt;compare phase/shape degradation across path&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This localizes whether instability is source, distribution, or sink-side sensitivity.&lt;/p&gt;
&lt;p&gt;Do not ignore power coupling. Oscillator and clock buffer circuits can inherit noise from poor decoupling. A &amp;ldquo;timing problem&amp;rdquo; may actually be rail integrity coupling into threshold crossing behavior. This is why timing and power debugging often converge.&lt;/p&gt;
&lt;p&gt;You can use fault provocation carefully:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;mild thermal stimulus on oscillator zone&lt;/li&gt;
&lt;li&gt;controlled airflow shifts&lt;/li&gt;
&lt;li&gt;known-good bench supply swap&lt;/li&gt;
&lt;li&gt;alternate load profile on IO-heavy paths&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Provocation narrows uncertainty when baseline behavior is intermittent.&lt;/p&gt;
&lt;p&gt;Replacement strategy should be conservative. Swapping a crystal with nominally identical frequency but different cut, tolerance, or load specification can move behavior unexpectedly. Match electrical characteristics, not just MHz label.&lt;/p&gt;
&lt;p&gt;When replacing associated capacitors, validate the effective load design. If documentation is incomplete, infer from circuit context and compare against common oscillator topologies of the era.&lt;/p&gt;
&lt;p&gt;Aging effects are real. Over decades, even good components drift. That does not imply immediate failure, but it reduces margin. Systems that were robust in 1994 may become borderline in 2026 due to accumulated tolerance shift across many components.&lt;/p&gt;
&lt;p&gt;This is tolerance stacking in slow motion.&lt;/p&gt;
&lt;p&gt;One sign of timing margin erosion is &amp;ldquo;works cold, fails warm.&amp;rdquo; Another is &amp;ldquo;fails only after specific workload sequence.&amp;rdquo; These patterns suggest threshold proximity, not hard breakage. Hard breakage is easier to diagnose.&lt;/p&gt;
&lt;p&gt;If you confirm timing instability, document it rigorously:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;node locations measured&lt;/li&gt;
&lt;li&gt;instrument settings&lt;/li&gt;
&lt;li&gt;ambient temperature range&lt;/li&gt;
&lt;li&gt;observed frequency/jitter behavior&lt;/li&gt;
&lt;li&gt;applied mitigations and outcomes&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Future maintenance depends on evidence, not memory.&lt;/p&gt;
&lt;p&gt;Mitigation options vary by board:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;rework oscillator/load solder integrity&lt;/li&gt;
&lt;li&gt;replace load components with matched values&lt;/li&gt;
&lt;li&gt;improve local decoupling quality&lt;/li&gt;
&lt;li&gt;replace aging buffer IC where justified&lt;/li&gt;
&lt;li&gt;reduce environmental stress if restoration goal allows&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The right fix is whichever restores stable margin under realistic usage, not whichever looks cleanest on the bench for five minutes.&lt;/p&gt;
&lt;p&gt;Validation should include long-duration behavior:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;repeated cold/warm cycles&lt;/li&gt;
&lt;li&gt;sustained IO workload&lt;/li&gt;
&lt;li&gt;thermal soak&lt;/li&gt;
&lt;li&gt;edge-case peripherals active simultaneously&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;A timing fix is not proven until intermittent faults stop under stress.&lt;/p&gt;
&lt;p&gt;There is also a broader design lesson. Reliable systems are built with margin, not just nominal correctness. Vintage troubleshooting makes this visible because margin has been consumed by age. Modern systems consume margin through scale and complexity. Same principle, different era.&lt;/p&gt;
&lt;p&gt;If you maintain old machines, timing literacy is worth developing. It turns &amp;ldquo;ghost bugs&amp;rdquo; into measurable engineering tasks. And once you learn to think in margins, edge quality, and tolerance stacks, you become better at debugging modern hardware too.&lt;/p&gt;
&lt;p&gt;Clock problems are frustrating because they hide. They are also satisfying because disciplined measurement reveals them. When a machine that randomly failed for months becomes stable after a targeted timing fix, you are not just repairing a board. You are restoring confidence in cause-and-effect.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Restoring an AT 286</title>
      <link>https://turbovision.in6-addr.net/retro/hardware/restoring-a-286/</link>
      <pubDate>Sun, 01 Feb 2026 00:00:00 +0000</pubDate>
      <lastBuildDate>Mon, 09 Mar 2026 09:46:27 +0100</lastBuildDate>
      <guid>https://turbovision.in6-addr.net/retro/hardware/restoring-a-286/</guid>
      <description>&lt;p&gt;I found a Commodore PC 30-III (286 @ 12 MHz) at a flea market. The
power supply was dead, the CMOS battery had leaked, and the hard drive
made sounds like a coffee grinder.&lt;/p&gt;
&lt;p&gt;After recapping the PSU, neutralizing the battery acid with vinegar, and
replacing the MFM drive with a XTIDE + CF card adapter, the machine
booted into DOS 3.31. The CGA output on a period-correct monitor is
a shade of green that no modern display can reproduce.&lt;/p&gt;
&lt;p&gt;The restoration looked simple from the outside, but each subsystem had to be
proven independently. Old machines fail in clusters: power instability hides
logic faults, corrosion causes intermittent behavior, and storage errors can
masquerade as software problems.&lt;/p&gt;
&lt;h2 id=&#34;restoration-sequence-that-worked&#34;&gt;Restoration sequence that worked&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;Power path first: PSU recap, rail checks under load, fan reliability.&lt;/li&gt;
&lt;li&gt;Board cleanup: remove battery residue, inspect traces, continuity checks.&lt;/li&gt;
&lt;li&gt;Minimal boot config: CPU, RAM, video only.&lt;/li&gt;
&lt;li&gt;Add peripherals one by one and record outcomes.&lt;/li&gt;
&lt;li&gt;Replace spinning rust with CF adapter for safe daily use.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;I treat this like incident response, not hobby magic. Predict expected output,
test one hypothesis, compare reality, then decide the next step.&lt;/p&gt;
&lt;h2 id=&#34;what-surprised-me&#34;&gt;What surprised me&lt;/h2&gt;
&lt;p&gt;The most fragile part was not the CPU or RAM, but edge connectors and sockets.
A careful reseat cycle fixed several &amp;ldquo;ghost bugs.&amp;rdquo; Also, DOS 3.31 felt faster
than memory suggests once disk latency vanished behind solid-state storage.
The machine became practical for retro workflows, not just shelf display.&lt;/p&gt;
&lt;p&gt;Related reading:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://turbovision.in6-addr.net/retro/dos/batch-file-wizardry/&#34;&gt;Batch File Wizardry&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://turbovision.in6-addr.net/retro/dos/tp/turbo-pascal-in-2025/&#34;&gt;Writing Turbo Pascal in 2025&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://turbovision.in6-addr.net/retro/dos/c-after-midnight-a-dos-chronicle/&#34;&gt;C:\ After Midnight: A DOS Chronicle&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
    
  </channel>
</rss>
