{"id":3003,"date":"2026-09-23T20:21:05","date_gmt":"2026-09-23T20:21:05","guid":{"rendered":"https:\/\/alterego.cc\/wp\/?p=3003"},"modified":"2026-09-23T23:18:59","modified_gmt":"2026-09-23T23:18:59","slug":"%f0%9f%a7%9b-vampire-v4-v4-the-survival-guide","status":"publish","type":"post","link":"https:\/\/alterego.cc\/wp\/2026\/09\/23\/%f0%9f%a7%9b-vampire-v4-v4-the-survival-guide\/","title":{"rendered":"Vampire V4\/V4+: The Survival Guide"},"content":{"rendered":"<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><picture><source type=\"image\/avif\" srcset=\"https:\/\/alterego.cc\/wp\/wp-content\/uploads\/2026\/09\/ChatGPT-Image-Sep-23-2026-08_41_44-PM-1024x683.png.avif 1024w, https:\/\/alterego.cc\/wp\/wp-content\/uploads\/2026\/09\/ChatGPT-Image-Sep-23-2026-08_41_44-PM-300x200.png.avif 300w, https:\/\/alterego.cc\/wp\/wp-content\/uploads\/2026\/09\/ChatGPT-Image-Sep-23-2026-08_41_44-PM-768x512.png.avif 768w, https:\/\/alterego.cc\/wp\/wp-content\/uploads\/2026\/09\/ChatGPT-Image-Sep-23-2026-08_41_44-PM-720x480.png.avif 720w, https:\/\/alterego.cc\/wp\/wp-content\/uploads\/2026\/09\/ChatGPT-Image-Sep-23-2026-08_41_44-PM-520x347.png.avif 520w, https:\/\/alterego.cc\/wp\/wp-content\/uploads\/2026\/09\/ChatGPT-Image-Sep-23-2026-08_41_44-PM-320x213.png.avif 320w, https:\/\/alterego.cc\/wp\/wp-content\/uploads\/2026\/09\/ChatGPT-Image-Sep-23-2026-08_41_44-PM.png.avif 1536w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><source type=\"image\/webp\" srcset=\"https:\/\/alterego.cc\/wp\/wp-content\/uploads\/2026\/09\/ChatGPT-Image-Sep-23-2026-08_41_44-PM-1024x683.png.webp 1024w, https:\/\/alterego.cc\/wp\/wp-content\/uploads\/2026\/09\/ChatGPT-Image-Sep-23-2026-08_41_44-PM-300x200.png.webp 300w, https:\/\/alterego.cc\/wp\/wp-content\/uploads\/2026\/09\/ChatGPT-Image-Sep-23-2026-08_41_44-PM-768x512.png.webp 768w, https:\/\/alterego.cc\/wp\/wp-content\/uploads\/2026\/09\/ChatGPT-Image-Sep-23-2026-08_41_44-PM-720x480.png.webp 720w, https:\/\/alterego.cc\/wp\/wp-content\/uploads\/2026\/09\/ChatGPT-Image-Sep-23-2026-08_41_44-PM-520x347.png.webp 520w, https:\/\/alterego.cc\/wp\/wp-content\/uploads\/2026\/09\/ChatGPT-Image-Sep-23-2026-08_41_44-PM-320x213.png.webp 320w, https:\/\/alterego.cc\/wp\/wp-content\/uploads\/2026\/09\/ChatGPT-Image-Sep-23-2026-08_41_44-PM.png.webp 1536w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><img data-aemc-picture=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"683\" src=\"https:\/\/alterego.cc\/wp\/wp-content\/uploads\/2026\/09\/ChatGPT-Image-Sep-23-2026-08_41_44-PM-1024x683.png\" alt=\"Vampire V4+ board, CompactFlash card and Amiga Workbench setup illustrating boot, storage, update and recovery troubleshooting.\" class=\"wp-image-3005\" srcset=\"https:\/\/alterego.cc\/wp\/wp-content\/uploads\/2026\/09\/ChatGPT-Image-Sep-23-2026-08_41_44-PM-1024x683.png 1024w, https:\/\/alterego.cc\/wp\/wp-content\/uploads\/2026\/09\/ChatGPT-Image-Sep-23-2026-08_41_44-PM-300x200.png 300w, https:\/\/alterego.cc\/wp\/wp-content\/uploads\/2026\/09\/ChatGPT-Image-Sep-23-2026-08_41_44-PM-768x512.png 768w, https:\/\/alterego.cc\/wp\/wp-content\/uploads\/2026\/09\/ChatGPT-Image-Sep-23-2026-08_41_44-PM-720x480.png 720w, https:\/\/alterego.cc\/wp\/wp-content\/uploads\/2026\/09\/ChatGPT-Image-Sep-23-2026-08_41_44-PM-520x347.png 520w, https:\/\/alterego.cc\/wp\/wp-content\/uploads\/2026\/09\/ChatGPT-Image-Sep-23-2026-08_41_44-PM-320x213.png 320w, https:\/\/alterego.cc\/wp\/wp-content\/uploads\/2026\/09\/ChatGPT-Image-Sep-23-2026-08_41_44-PM.png 1536w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/picture><figcaption class=\"wp-element-caption\">Vampire V4 and V4+ troubleshooting: boot problems, CF cards, peripherals, graphics issues and failed firmware updates.<\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">Black screen? Stubborn CF card? A \u201cquick\u201d core update that turned into an evening of regret? Your Vampire is supposed to bring the Amiga experience back to life\u2014not drain yours.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This AlterEgo guide tackles boot failures, storage headaches, misbehaving peripherals, game glitches and firmware recovery, starting with the checks that leave your data alone. Find your symptom, follow the relevant section and change one thing at a time. <strong>Less random tinkering, fewer opportunities to make things worse, and hopefully more time playing games.<\/strong> \ud83d\udcbe\ud83d\udd79\ufe0f<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><picture><source type=\"image\/avif\" srcset=\"https:\/\/alterego.cc\/wp\/wp-content\/uploads\/2026\/09\/ChatGPT-Image-Sep-23-2026-09_55_54-PM-1024x768.png.avif 1024w, https:\/\/alterego.cc\/wp\/wp-content\/uploads\/2026\/09\/ChatGPT-Image-Sep-23-2026-09_55_54-PM-300x225.png.avif 300w, https:\/\/alterego.cc\/wp\/wp-content\/uploads\/2026\/09\/ChatGPT-Image-Sep-23-2026-09_55_54-PM-768x576.png.avif 768w, https:\/\/alterego.cc\/wp\/wp-content\/uploads\/2026\/09\/ChatGPT-Image-Sep-23-2026-09_55_54-PM-720x540.png.avif 720w, https:\/\/alterego.cc\/wp\/wp-content\/uploads\/2026\/09\/ChatGPT-Image-Sep-23-2026-09_55_54-PM-520x390.png.avif 520w, https:\/\/alterego.cc\/wp\/wp-content\/uploads\/2026\/09\/ChatGPT-Image-Sep-23-2026-09_55_54-PM-320x240.png.avif 320w, https:\/\/alterego.cc\/wp\/wp-content\/uploads\/2026\/09\/ChatGPT-Image-Sep-23-2026-09_55_54-PM.png.avif 1448w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><source type=\"image\/webp\" srcset=\"https:\/\/alterego.cc\/wp\/wp-content\/uploads\/2026\/09\/ChatGPT-Image-Sep-23-2026-09_55_54-PM-1024x768.png.webp 1024w, https:\/\/alterego.cc\/wp\/wp-content\/uploads\/2026\/09\/ChatGPT-Image-Sep-23-2026-09_55_54-PM-300x225.png.webp 300w, https:\/\/alterego.cc\/wp\/wp-content\/uploads\/2026\/09\/ChatGPT-Image-Sep-23-2026-09_55_54-PM-768x576.png.webp 768w, https:\/\/alterego.cc\/wp\/wp-content\/uploads\/2026\/09\/ChatGPT-Image-Sep-23-2026-09_55_54-PM-720x540.png.webp 720w, https:\/\/alterego.cc\/wp\/wp-content\/uploads\/2026\/09\/ChatGPT-Image-Sep-23-2026-09_55_54-PM-520x390.png.webp 520w, https:\/\/alterego.cc\/wp\/wp-content\/uploads\/2026\/09\/ChatGPT-Image-Sep-23-2026-09_55_54-PM-320x240.png.webp 320w, https:\/\/alterego.cc\/wp\/wp-content\/uploads\/2026\/09\/ChatGPT-Image-Sep-23-2026-09_55_54-PM.png.webp 1448w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><img data-aemc-picture=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"768\" src=\"https:\/\/alterego.cc\/wp\/wp-content\/uploads\/2026\/09\/ChatGPT-Image-Sep-23-2026-09_55_54-PM-1024x768.png\" alt=\"Three-panel comic showing a frustrated Vampire V4 user dealing with Windows format warnings, black screens and troubleshooting before finally restoring the Amiga system.\" class=\"wp-image-3008\" srcset=\"https:\/\/alterego.cc\/wp\/wp-content\/uploads\/2026\/09\/ChatGPT-Image-Sep-23-2026-09_55_54-PM-1024x768.png 1024w, https:\/\/alterego.cc\/wp\/wp-content\/uploads\/2026\/09\/ChatGPT-Image-Sep-23-2026-09_55_54-PM-300x225.png 300w, https:\/\/alterego.cc\/wp\/wp-content\/uploads\/2026\/09\/ChatGPT-Image-Sep-23-2026-09_55_54-PM-768x576.png 768w, https:\/\/alterego.cc\/wp\/wp-content\/uploads\/2026\/09\/ChatGPT-Image-Sep-23-2026-09_55_54-PM-720x540.png 720w, https:\/\/alterego.cc\/wp\/wp-content\/uploads\/2026\/09\/ChatGPT-Image-Sep-23-2026-09_55_54-PM-520x390.png 520w, https:\/\/alterego.cc\/wp\/wp-content\/uploads\/2026\/09\/ChatGPT-Image-Sep-23-2026-09_55_54-PM-320x240.png 320w, https:\/\/alterego.cc\/wp\/wp-content\/uploads\/2026\/09\/ChatGPT-Image-Sep-23-2026-09_55_54-PM.png 1448w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/picture><figcaption class=\"wp-element-caption\">When one tiny Vampire V4 change somehow turns into CF-card panic, a black screen and an evening of troubleshooting.<\/figcaption><\/figure>\n<\/div>\n\n\t\t<div class=\"ae-md-hub ae-md-overflow-x-hidden ae-md-overflow-y-visible ae-md-large-items-scroll ae-md-blockquote-auto ae-md-blockquote-protect ae-md-no-downloads\" style=\"width:100%;max-width:100%\" data-ae-md-prevent-downloads=\"1\" data-ae-md-blockquote-style=\"auto\">\n\t\t\t\t\t\t<div\n\t\t\t\tclass=\"ae-md-viewer\"\n\t\t\t\t\t\t\t\t\tdata-ae-md-smart=\"1\"\n\t\t\t\t\tdata-ae-md-endpoint=\"https:\/\/alterego.cc\/wp\/wp-json\/ae_md\/v1\/document\/3004\/chunk\"\n\t\t\t\t\tdata-ae-md-offset=\"139261\"\n\t\t\t\t\tdata-ae-md-done=\"0\"\n\t\t\t\t\tdata-ae-md-comments=\"hide\"\n\t\t\t\t\tdata-ae-md-allow-html=\"0\"\n\t\t\t\t\tdata-ae-md-link-target=\"same\"\n\t\t\t\t\tdata-ae-md-comment-open=\"0\"\n\t\t\t\t\tdata-ae-md-chunk-kb=\"128\"\n\t\t\t\t\t\t\t>\n\t\t\t\t<div class=\"ae-md-content\"><h1>\ud83e\udddb Vampire V4 and V4+: The Survival Guide<\/h1>\n<p>A black screen, an unreadable CF card or a failed core update can have very different causes. Start with the symptom, make one change at a time, and check the result before moving on.<\/p>\n<p>This guide covers the <strong>Vampire V4 and V4+ Standalone only<\/strong>. It distinguishes the standard machine from systems fitted with an Ultimate Expansion Board, and separates <strong>ApolloOS<\/strong> instructions from <strong>AmigaOS 3.x<\/strong> instructions. Use the hardware, firmware and OS instructions for your exact Standalone configuration.<\/p>\n<blockquote><p>\ud83d\udee1\ufe0f <strong>Before you start:<\/strong> Keep the original CF unchanged and use a spare for experiments. Writing a disk image replaces the destination&#039;s contents. Formatting, partition changes and firmware flashing are separate operations, each with different consequences.<\/p><\/blockquote>\n<span id=\"start-here\" class=\"ae-md-anchor\"><\/span>\n<h2>\ud83e\udded Find your symptom<\/h2>\n<div class=\"ae-md-table-wrap\" role=\"region\"><table class=\"ae-md-table ae-md-table-cols-2\"><thead><tr><th scope=\"col\" class=\"ae-md-th ae-md-col-1\">Problem<\/th><th scope=\"col\" class=\"ae-md-th ae-md-col-2\">Go to<\/th><\/tr><\/thead><tbody><tr><td class=\"ae-md-td ae-md-col-1\">Windows wants to format the CF, or the replacement has no drive letter<\/td><td class=\"ae-md-td ae-md-col-2\"><a href=\"#cf-images\">CF cards and disk images<\/a><\/td><\/tr><tr><td class=\"ae-md-td ae-md-col-1\">A download will not extract, fit on the card or verify<\/td><td class=\"ae-md-td ae-md-col-2\"><a href=\"#cf-images\">CF cards and disk images<\/a><\/td><\/tr><tr><td class=\"ae-md-td ae-md-col-1\">Freezes, resets, no picture or coloured startup stripes<\/td><td class=\"ae-md-td ae-md-col-2\"><a href=\"#power-startup\">Power and startup<\/a><\/td><\/tr><tr><td class=\"ae-md-td ae-md-col-1\">Missing partitions, damaged files or unused capacity<\/td><td class=\"ae-md-td ae-md-col-2\"><a href=\"#storage-faults\">Storage faults and larger cards<\/a><\/td><\/tr><tr><td class=\"ae-md-td ae-md-col-1\">Keyboard, mouse, controller, clock, sound, Ethernet or microSD problems<\/td><td class=\"ae-md-td ae-md-col-2\"><a href=\"#peripherals\">Peripherals and connections<\/a><\/td><\/tr><tr><td class=\"ae-md-td ae-md-col-1\">Black desktop, missing pointer, stretched games or WHDLoad errors<\/td><td class=\"ae-md-td ae-md-col-2\"><a href=\"#graphics-games\">Graphics, games and applications<\/a><\/td><\/tr><tr><td class=\"ae-md-td ae-md-col-1\">A working machine needs a core update<\/td><td class=\"ae-md-td ae-md-col-2\"><a href=\"#firmware-update\">Updating a working V4<\/a><\/td><\/tr><tr><td class=\"ae-md-td ae-md-col-1\">An interrupted flash has stopped the machine booting<\/td><td class=\"ae-md-td ae-md-col-2\"><a href=\"#jtag-recovery\">USB-Blaster recovery<\/a><\/td><\/tr><tr><td class=\"ae-md-td ae-md-col-1\">Problems began after a beta or downgrade<\/td><td class=\"ae-md-td ae-md-col-2\"><a href=\"#rollback\">Testing and rolling back<\/a><\/td><\/tr><tr><td class=\"ae-md-td ae-md-col-1\">You need exact image\/card sizes<\/td><td class=\"ae-md-td ae-md-col-2\"><a href=\"#exact-sizes\">Windows, macOS, Linux and V4 size checks<\/a><\/td><\/tr><tr><td class=\"ae-md-td ae-md-col-1\">You need a file checksum or a copy test<\/td><td class=\"ae-md-td ae-md-col-2\"><a href=\"#image-hashes\">SHA-256<\/a> \/ <a href=\"#transfer-test\">V4 round-trip test<\/a><\/td><\/tr><tr><td class=\"ae-md-td ae-md-col-1\">You need an image-layout check<\/td><td class=\"ae-md-td ae-md-col-2\"><a href=\"#rdb-inspection\">Read-only RDB inspection<\/a><\/td><\/tr><tr><td class=\"ae-md-td ae-md-col-1\">You need to edit a startup file or icon setting<\/td><td class=\"ae-md-td ae-md-col-2\"><a href=\"#edit-startup\">Startup files<\/a> \/ <a href=\"#icon-tooltypes\">Icon tooltypes<\/a><\/td><\/tr><\/tbody><\/table><\/div>\n<h3>\ud83e\udde9 Keep these five components separate<\/h3>\n<div class=\"ae-md-table-wrap\" role=\"region\"><table class=\"ae-md-table ae-md-table-cols-3\"><thead><tr><th scope=\"col\" class=\"ae-md-th ae-md-col-1\">Component<\/th><th scope=\"col\" class=\"ae-md-th ae-md-col-2\">Purpose<\/th><th scope=\"col\" class=\"ae-md-th ae-md-col-3 ae-md-col-wide\">What to remember<\/th><\/tr><\/thead><tbody><tr><td class=\"ae-md-td ae-md-col-1\"><strong>FPGA core<\/strong>, usually supplied as a <code class=\"ae-md-inline-code\">.jic<\/code><\/td><td class=\"ae-md-td ae-md-col-2\">Implements the processor and Amiga-compatible hardware in the FPGA.<\/td><td class=\"ae-md-td ae-md-col-3 ae-md-col-wide\">A core update does not reinstall the CF. It can also change the default ROM supplied with the core.<\/td><\/tr><tr><td class=\"ae-md-td ae-md-col-1\"><strong>Kickstart \/ ROM<\/strong><\/td><td class=\"ae-md-td ae-md-col-2\">Provides the system components needed to start the OS.<\/td><td class=\"ae-md-td ae-md-col-3 ae-md-col-wide\">A ROM is not a complete desktop installation.<\/td><\/tr><tr><td class=\"ae-md-td ae-md-col-1\"><strong>Disk image<\/strong>, often <code class=\"ae-md-inline-code\">.img<\/code> or <code class=\"ae-md-inline-code\">.hdf<\/code><\/td><td class=\"ae-md-td ae-md-col-2\">Contains disk or partition data.<\/td><td class=\"ae-md-td ae-md-col-3 ae-md-col-wide\">The extension alone does not tell you whether it is a whole disk or one partition.<\/td><\/tr><tr><td class=\"ae-md-td ae-md-col-1\"><strong>Operating system<\/strong><\/td><td class=\"ae-md-td ae-md-col-2\">Provides the installed desktop and software environment.<\/td><td class=\"ae-md-td ae-md-col-3 ae-md-col-wide\">ApolloOS is based on AROS; AmigaOS uses a different installation and driver arrangement.<\/td><\/tr><tr><td class=\"ae-md-td ae-md-col-1\"><strong>Drivers, utilities and startup files<\/strong><\/td><td class=\"ae-md-td ae-md-col-2\">Connect the OS to the hardware and configure booting.<\/td><td class=\"ae-md-td ae-md-col-3 ae-md-col-wide\">These must suit both the OS and core. Downgrading the core does not roll them back.<\/td><\/tr><\/tbody><\/table><\/div>\n<p><strong>SAGA<\/strong> is the graphics\/chipset implementation. <strong>Native<\/strong> screens are the Amiga display modes used by many games and boot screens. <strong>RTG<\/strong> provides graphics-card-style desktop modes; the AmigaOS setup uses P96\/Picasso96 and the SAGA RTG driver. ApolloOS does not use that same AmigaOS driver installation.<\/p>\n<span id=\"amiga-basics\" class=\"ae-md-anchor\"><\/span>\n<h3>\u2328\ufe0f Open the right command window<\/h3>\n<div class=\"ae-md-table-wrap\" role=\"region\"><table class=\"ae-md-table ae-md-table-cols-3\"><thead><tr><th scope=\"col\" class=\"ae-md-th ae-md-col-1 ae-md-col-compact ae-md-col-nowrap\">System<\/th><th scope=\"col\" class=\"ae-md-th ae-md-col-2 ae-md-col-wide\">How to open it<\/th><th scope=\"col\" class=\"ae-md-th ae-md-col-3\">Commands in this guide<\/th><\/tr><\/thead><tbody><tr><td class=\"ae-md-td ae-md-col-1 ae-md-col-compact ae-md-col-nowrap\">Windows<\/td><td class=\"ae-md-td ae-md-col-2 ae-md-col-wide\">Start \u2192 type <strong>PowerShell<\/strong>. For physical-disk inspection, right-click \u2192 <strong>Run as administrator<\/strong>.<\/td><td class=\"ae-md-td ae-md-col-3\">Blocks marked <code class=\"ae-md-inline-code\">powershell<\/code>.<\/td><\/tr><tr><td class=\"ae-md-td ae-md-col-1 ae-md-col-compact ae-md-col-nowrap\">macOS<\/td><td class=\"ae-md-td ae-md-col-2 ae-md-col-wide\">Applications \u2192 Utilities \u2192 <strong>Terminal<\/strong>.<\/td><td class=\"ae-md-td ae-md-col-3\">macOS blocks; <code class=\"ae-md-inline-code\">sudo<\/code> requests an administrator password.<\/td><\/tr><tr><td class=\"ae-md-td ae-md-col-1 ae-md-col-compact ae-md-col-nowrap\">Linux<\/td><td class=\"ae-md-td ae-md-col-2 ae-md-col-wide\">Open <strong>Terminal<\/strong> from the application menu.<\/td><td class=\"ae-md-td ae-md-col-3\">Linux blocks; <code class=\"ae-md-inline-code\">sudo<\/code> requests administrator access.<\/td><\/tr><tr><td class=\"ae-md-td ae-md-col-1 ae-md-col-compact ae-md-col-nowrap\">AmigaOS 3.x<\/td><td class=\"ae-md-td ae-md-col-2 ae-md-col-wide\">Open the system disk \u2192 <strong>System \u2192 Shell<\/strong>. Alternatively choose <strong>Workbench \u2192 Execute Command<\/strong>, enter <code class=\"ae-md-inline-code\">NewShell<\/code>, then press Return.<\/td><td class=\"ae-md-td ae-md-col-3\">Amiga Shell commands such as <code class=\"ae-md-inline-code\">Copy<\/code>, <code class=\"ae-md-inline-code\">Info<\/code> and <code class=\"ae-md-inline-code\">Version<\/code>.<\/td><\/tr><tr><td class=\"ae-md-td ae-md-col-1 ae-md-col-compact ae-md-col-nowrap\">ApolloOS<\/td><td class=\"ae-md-td ae-md-col-2 ae-md-col-wide\">Open the desktop&#039;s <strong>Shell\/CLI<\/strong> launcher. If its menu has <strong>Execute Command<\/strong>, enter <code class=\"ae-md-inline-code\">NewShell<\/code>.<\/td><td class=\"ae-md-td ae-md-col-3\">The Amiga-style commands explicitly marked for ApolloOS or both systems.<\/td><\/tr><\/tbody><\/table><\/div>\n<p>Run commands one at a time unless a numbered step specifically supplies a complete block. Replace example paths and device names before running them. Quotes around a path keep spaces within that path. A command&#039;s error is a reason to stop that procedure and resolve the error.<\/p>\n<p>On the V4, <code class=\"ae-md-inline-code\">SYS:<\/code> is the current boot volume; <code class=\"ae-md-inline-code\">S:<\/code> holds startup scripts, <code class=\"ae-md-inline-code\">C:<\/code> commands and <code class=\"ae-md-inline-code\">DEVS:<\/code> drivers\/configuration. <code class=\"ae-md-inline-code\">RAM:<\/code> is temporary and disappears when power is removed. A backup in <code class=\"ae-md-inline-code\">RAM:<\/code> is not a recovery copy.<\/p>\n<span id=\"record-setup\" class=\"ae-md-anchor\"><\/span>\n<h3>\ud83d\udcdd Record the configuration before changing it<\/h3>\n<ol><li>Photograph the enclosure label. Record the model, installed RAM and expansion board from the purchase details or board markings. Remove power before opening an enclosure to read markings.<\/li><li>On <strong>AmigaOS 3.x<\/strong>, open <strong>Workbench \u2192 About<\/strong> and record the Kickstart and Workbench versions. On <strong>ApolloOS<\/strong>, record the exact image\/release name you installed and the desktop&#039;s About information. A generic AROS version is not the ApolloOS image&#039;s release identifier.<\/li><li>Open a Shell and run these read-only checks on either OS:<\/li><\/ol>\n<pre class=\"ae-md-code-block\"><code class=\"ae-md-code-block-code language-text\">Version\nAvail\nInfo\nAssign<\/code><\/pre>\n<ol><li>Photograph or save the results. <code class=\"ae-md-inline-code\">Avail<\/code> reports the OS memory pools, <code class=\"ae-md-inline-code\">Info<\/code> reports mounted volumes, and <code class=\"ae-md-inline-code\">Assign<\/code> shows name mappings. They do not identify every physical hardware detail.<\/li><li>Query an installed utility by its actual filename. For example:<\/li><\/ol>\n<pre class=\"ae-md-code-block\"><code class=\"ae-md-code-block-code language-text\">Version C:VControl FULL\nVersion C:ApolloFlash FULL<\/code><\/pre>\n<ol><li>On an <strong>AmigaOS SAGA installation<\/strong>, inspect relevant files individually where they exist:<\/li><\/ol>\n<pre class=\"ae-md-code-block\"><code class=\"ae-md-code-block-code language-text\">Version DEVS:Monitors\/vampiregfx FILE FULL\nVersion DEVS:Networks\/v4net.device FILE FULL<\/code><\/pre>\n<ol><li>Distinguish a file&#039;s version from the currently loaded component. For a device already in use, <code class=\"ae-md-inline-code\">Version v4net.device FULL<\/code> can query the loaded device; the full-path command with <code class=\"ae-md-inline-code\">FILE<\/code> inspects the file on disk. A \u201cno version information\u201d or \u201cnot found\u201d result is something to record, not a reason to install a replacement blindly.<\/li><li>If VControl is installed, <code class=\"ae-md-inline-code\">C:VControl CORE<\/code> and <code class=\"ae-md-inline-code\">C:VControl CPU<\/code> provide useful status. Keep the original JIC filename and flashing log too: core strings can remain stale after JTAG programming. Do not run these names as if they were ApolloControl syntax.<\/li><\/ol>\n<p>To save a command&#039;s output, redirect it to a <strong>new<\/strong> text filename, for example <code class=\"ae-md-inline-code\">Info &gt;RAM:V4-volumes.txt<\/code>, then copy that file to a mounted transfer card before powering off. Redirection replaces an existing file of the same name.<\/p>\n<span id=\"edit-startup\" class=\"ae-md-anchor\"><\/span>\n<h3>\ud83d\udcdd Back up, edit and restore a startup file<\/h3>\n<p>Do this on the <strong>spare CF<\/strong> whenever possible. These file commands work in AmigaOS and ApolloOS; the editor&#039;s interface depends on the installed program.<\/p>\n<ol><li>Open a Shell. Inspect the file before changing it:<\/li><\/ol>\n<pre class=\"ae-md-code-block\"><code class=\"ae-md-code-block-code language-text\">Type S:Startup-Sequence<\/code><\/pre>\n<ol><li>Create a uniquely named backup on the boot volume, then check that it exists. Choose another suffix if this backup already exists:<\/li><\/ol>\n<pre class=\"ae-md-code-block\"><code class=\"ae-md-code-block-code language-text\">Copy S:Startup-Sequence TO S:Startup-Sequence.before-test CLONE\nList S:Startup-Sequence.before-test<\/code><\/pre>\n<ol><li>Keep a separate copy of that backup on transfer media as well. For <code class=\"ae-md-inline-code\">S:User-Startup<\/code>, substitute that filename in both places; if it does not exist, record that instead of treating it as a failed backup.<\/li><li>On <strong>AmigaOS 3.x<\/strong>, open the file with <code class=\"ae-md-inline-code\">Ed S:Startup-Sequence<\/code>. Move to the suspect command and put a semicolon (<code class=\"ae-md-inline-code\">;<\/code>) at the start of <strong>that line only<\/strong>. To save and exit ED, press <strong>Esc<\/strong>, type <code class=\"ae-md-inline-code\">X<\/code>, then Return. To abandon the edit, use <strong>Esc<\/strong>, <code class=\"ae-md-inline-code\">Q<\/code>, Return and confirm quitting without saving.<\/li><li>On <strong>ApolloOS<\/strong>, open its supplied text editor and use <strong>Open<\/strong> to select <code class=\"ae-md-inline-code\">S:Startup-Sequence<\/code>. Make the one-line change and save as plain text to the same path. If its <code class=\"ae-md-inline-code\">Ed<\/code> is the compatible editor, the command above is also usable; do not assume another editor has ED&#039;s keyboard shortcuts.<\/li><li>Reopen or <code class=\"ae-md-inline-code\">Type<\/code> the file to check the saved line. Leave <code class=\"ae-md-inline-code\">IF<\/code>\/<code class=\"ae-md-inline-code\">ENDIF<\/code> structure and unrelated ROM\/bootloader commands intact.<\/li><li>Finish writes, restart and repeat the original failing action. If the change did not help, restore the backup:<\/li><\/ol>\n<pre class=\"ae-md-code-block\"><code class=\"ae-md-code-block-code language-text\">Copy S:Startup-Sequence.before-test TO S:Startup-Sequence CLONE<\/code><\/pre>\n<ol><li>If the edited system no longer starts, enter Early Startup and choose <strong>Boot With No Startup-Sequence<\/strong>, then run the restore command there. If booting from another disk, <code class=\"ae-md-inline-code\">S:<\/code> points to <strong>that<\/strong> disk: identify the affected volume with <code class=\"ae-md-inline-code\">Info<\/code> and use its explicit path, such as <code class=\"ae-md-inline-code\">AffectedSystem:S\/Startup-Sequence<\/code>, for both source and destination. Replace <code class=\"ae-md-inline-code\">AffectedSystem:<\/code> with its actual volume name.<\/li><\/ol>\n<p>Use the same backup\/edit\/restore method for an existing launcher or WHDLoad script, substituting its real path. Do not edit Amiga startup files in a word processor that adds formatting.<\/p>\n<span id=\"icon-tooltypes\" class=\"ae-md-anchor\"><\/span>\n<h3>\ud83c\udff7\ufe0f Change one icon tooltype and undo it<\/h3>\n<ol><li>Locate the application&#039;s icon. For the AmigaOS RTG driver, open <strong>SYS:Devs \u2192 Monitors<\/strong> and locate <strong>vampiregfx<\/strong>. For WHDLoad, use the <strong>game&#039;s launch icon<\/strong>.<\/li><li>Back up its <code class=\"ae-md-inline-code\">.info<\/code> file to a new filename <strong>outside the Monitors drawer<\/strong> before editing. Run <code class=\"ae-md-inline-code\">MakeDir SYS:V4-backups<\/code> only if that drawer does not already exist, then copy the file. Choose a different backup suffix if this copy already exists:<\/li><\/ol>\n<pre class=\"ae-md-code-block\"><code class=\"ae-md-code-block-code language-text\">Copy DEVS:Monitors\/vampiregfx.info TO SYS:V4-backups\/vampiregfx.info.before-test CLONE<\/code><\/pre>\n<ol><li>Select the original icon once. On Workbench choose <strong>Icons \u2192 Information<\/strong>; on an ApolloOS desktop use the corresponding icon <strong>Information<\/strong> action. Open its tooltype list.<\/li><li>Record the current entry. Add or edit only the named tooltype, without adding a duplicate. In the standard tooltype convention, an entry enclosed in parentheses is disabled: <code class=\"ae-md-inline-code\">(NoAutoVec)<\/code> is not the same as <code class=\"ae-md-inline-code\">NoAutoVec<\/code>.<\/li><li>Save, close and relaunch the application. Reboot for a monitor-driver tooltype. Run the same test that previously failed.<\/li><li>If it does not help, restore the prior entry or copy the backed-up <code class=\"ae-md-inline-code\">.info<\/code> over the original, then relaunch\/reboot as appropriate. For the example above: <code class=\"ae-md-inline-code\">Copy SYS:V4-backups\/vampiregfx.info.before-test TO DEVS:Monitors\/vampiregfx.info CLONE<\/code>.<\/li><\/ol>\n<p>Only use a tooltype documented by that particular program. An icon-information window does not make AmigaOS driver options valid for ApolloOS.<\/p>\n<h3>\ud83d\udee1\ufe0f Preserve a recovery point<\/h3>\n<ol><li><a href=\"#record-setup\">Record the configuration<\/a>: board model, memory, core filename, OS release, drivers and any expansion board.<\/li><li>Make a <strong>whole-device backup image<\/strong> of the original CF, including the partition map and areas outside ordinary files. Use the <a href=\"#cf-backup\">backup procedure below<\/a>.<\/li><li>Store the backup on another drive. Keep a separate copy of irreplaceable personal files where they can still be read.<\/li><li>Keep the previous core and its matching driver and utility packages.<\/li><li>Record whether the working setup uses the core&#039;s bundled ROM, a ROM mapped from disk, or a separately flashed ROM. For a separately flashed ROM, preserve the exact licensed source ROM file and the compatible flasher outside the V4, along with a spare CF that can boot the core&#039;s bundled ROM. A CF backup alone does not preserve a separately flashed ROM.<\/li><li>Photograph the first error or failed boot screen before changing anything.<\/li><\/ol>\n<p>\u26a0\ufe0f <strong>If the card produces read errors:<\/strong> stop ordinary write tests and repairs. Keep the card, recovery image and error log. An image made with unreadable sectors is a partial recovery, not a verified backup.<\/p>\n<span id=\"cf-images\" class=\"ae-md-anchor\"><\/span>\n<h2>\ud83d\udcbe CF cards and disk images<\/h2>\n<h3>\ud83d\uded1 The host asks to initialise, format or repair the CF<\/h3>\n<p><strong>Cancel the prompt.<\/strong> Windows normally cannot mount Amiga filesystems such as FFS, SFS or PFS3, and it may not recognise an Amiga RDB partition layout.<\/p>\n<ol><li><strong>Windows:<\/strong> cancel Format\/Initialise. <strong>macOS:<\/strong> choose <strong>Ignore<\/strong> in the unreadable-disk dialogue. <strong>Linux:<\/strong> close the unsupported-filesystem dialogue; do not accept a format\/repair offer.<\/li><li>Follow the <a href=\"#exact-sizes\">physical-device and capacity check for your host<\/a>. A detected physical card and a mountable volume are different things.<\/li><li>If you have just written an image, open the writer&#039;s result\/log and require both write and verification success.<\/li><li>To inspect the actual Amiga layout, <a href=\"#cf-backup\">back up the CF<\/a> and use the <a href=\"#rdb-inspection\">read-only RDB procedure<\/a> on an image copy.<\/li><\/ol>\n<p>\u26d4 <strong>Do not do any of the following to make the warning disappear:<\/strong><\/p>\n<ul><li><strong>Do not initialise the CF in Windows.<\/strong><\/li><li><strong>Do not run <code class=\"ae-md-inline-code\">diskpart clean<\/code> or <code class=\"ae-md-inline-code\">clean all<\/code>.<\/strong><\/li><li><strong>Do not create an MBR or GPT partition table on it.<\/strong><\/li><li><strong>Do not format a partition containing your Amiga installation.<\/strong><\/li><li><strong>Do not accept an automatic repair without knowing what it will change.<\/strong><\/li><\/ul>\n<p><code class=\"ae-md-inline-code\">diskpart clean<\/code> removes partition information; it is not a repair for an Amiga disk. A raw-image restore does not require you to create a Windows partition first.<\/p>\n<p>A writer may warn that an Amiga image has no recognised partition table. That warning needs checking against the image&#039;s intended format. <strong>An I\/O error, interrupted write or failed verification is not the same thing.<\/strong><\/p>\n<h3>\ud83d\udd0e The original CF had a Windows drive letter; the replacement does not<\/h3>\n<p>First find out whether Windows sees an existing, readable <strong>data volume<\/strong> with no letter. Assigning a letter can expose that volume in Explorer; it cannot make a native Amiga partition readable.<\/p>\n<p><strong>\ud83e\ude9f Assign a letter with Computer Management<\/strong><\/p>\n<ol><li>Connect the replacement through the CF reader. Cancel any format or initialisation prompt. If it is a freshly written clone, complete the <a href=\"#cf-write\">writer&#039;s verification<\/a> before changing or browsing its contents.<\/li><li>Right-click <strong>Start \u2192 Computer Management<\/strong>, approve administrator access if requested, then open <strong>Storage \u2192 Disk Management<\/strong>.<\/li><li>Locate the CF by its disk number and capacity, using the <a href=\"#exact-sizes\">physical-device check<\/a> if needed. In that disk&#039;s row, inspect its individual volumes. Continue only for the expected exchange\/data volume shown with a recognised filesystem such as <strong>FAT\/FAT32, exFAT or NTFS<\/strong> and a healthy status. Do not select a Windows system, recovery or EFI partition.<\/li><li>If that volume has no letter, right-click <strong>the volume rectangle<\/strong>, choose <strong>Change Drive Letter and Paths \u2192 Add<\/strong>, select <strong>Assign the following drive letter<\/strong>, choose an unused letter and click <strong>OK<\/strong>. If it already has a usable letter, use that letter; it need not match the old card.<\/li><li>Open <strong>File Explorer \u2192 This PC<\/strong>, open the new drive and check for the expected files. Cancel a format prompt if one appears; assigning a letter has not established that the contents are sound.<\/li><li>To undo only this assignment, close Explorer windows and programs using the volume. Return to <strong>Change Drive Letter and Paths<\/strong>, select the letter you just added and choose <strong>Remove<\/strong>. This removes the Windows access path, not the partition.<\/li><\/ol>\n<p><strong>\ud83e\ude9f DiskPart alternative \u2014 use this instead of the GUI steps<\/strong><\/p>\n<ol><li>Open <strong>Terminal\/PowerShell as administrator<\/strong>, then enter:<\/li><\/ol>\n<pre class=\"ae-md-code-block\"><code class=\"ae-md-code-block-code language-text\">diskpart\nlist disk\nselect disk N\ndetail disk\nlist volume<\/code><\/pre>\n<ol><li>Replace <code class=\"ae-md-inline-code\">N<\/code> with the CF&#039;s disk number. <code class=\"ae-md-inline-code\">list volume<\/code> lists volumes across the computer, so do not select by size alone. Identify the expected Windows-readable data volume associated with the CF, then enter:<\/li><\/ol>\n<pre class=\"ae-md-code-block\"><code class=\"ae-md-code-block-code language-text\">select volume V\ndetail volume<\/code><\/pre>\n<ol><li>Replace <code class=\"ae-md-inline-code\">V<\/code> with that volume&#039;s number. Check that <code class=\"ae-md-inline-code\">detail volume<\/code> identifies the correct physical disk and that the filesystem, label, size and missing letter match the intended exchange volume. If it is RAW, unknown or cannot be identified, enter <code class=\"ae-md-inline-code\">exit<\/code> and stop this branch.<\/li><li>Choose a letter that is <strong>not already assigned<\/strong> in the <code class=\"ae-md-inline-code\">list volume<\/code> output. The example below uses <code class=\"ae-md-inline-code\">R<\/code>; substitute another unused letter if necessary:<\/li><\/ol>\n<pre class=\"ae-md-code-block\"><code class=\"ae-md-code-block-code language-text\">assign letter=R\nlist volume\nexit<\/code><\/pre>\n<ol><li>Require DiskPart&#039;s success message and the new letter in its listing, then check <strong>This PC<\/strong> as above. To undo the assignment, use the GUI removal step. Do not add <code class=\"ae-md-inline-code\">clean<\/code>, <code class=\"ae-md-inline-code\">create<\/code>, <code class=\"ae-md-inline-code\">format<\/code> or a partition-type change to this procedure.<\/li><\/ol>\n<p><strong>If there is no eligible volume, or Add\/Change Drive Letter is unavailable:<\/strong><\/p>\n<ol><li>Leave unknown partitions, RAW volumes and apparently unallocated space unchanged. Windows may not understand an Amiga disk&#039;s layout; do not initialise it or create a volume in that space.<\/li><li>Identify what you wrote: your original card&#039;s whole-device backup or a newly downloaded OS image. A new image may contain only Amiga partitions and need not reproduce the old card&#039;s PC-readable exchange volume. Check the image&#039;s supplied partition description; use <a href=\"#rdb-inspection\">read-only RDB inspection<\/a> for its Amiga layout.<\/li><li>For a clone whose full-image verification was skipped, write and verify the spare again from the preserved image. Do this before booting it or changing its contents.<\/li><li>Safely eject the card, install it with the V4 unpowered and test booting. If the verified image boots but has no Windows-readable volume, use the <a href=\"#microSD-transfer\">microSD transfer workflow<\/a> for ordinary files.<\/li><\/ol>\n<p><strong>If Windows does not detect the physical device at all:<\/strong> test the reader, USB connection and another card. Amiga partitioning explains an unreadable volume; it does not explain a reader that cannot detect media.<\/p>\n<span id=\"cf-backup\" class=\"ae-md-anchor\"><\/span>\n<h3>\ud83d\udcbe Back up the original CF<\/h3>\n<p><strong>Choose the subsection for your host: Windows, macOS or Linux.<\/strong> All three create an uncompressed whole-device image.<\/p>\n<h4>\ud83e\ude9f Back up a whole CF on Windows<\/h4>\n<p>Use <strong>USB Image Tool 1.91 for Windows<\/strong>, obtained from its author&#039;s project, with the CF connected through a USB card reader. Its <strong>Device Mode<\/strong> reads the whole device, including an Amiga partition layout that Windows cannot mount. A drive letter is not required.<\/p>\n<ol><li>Finish disk activity on the V4, switch it off fully and disconnect all power before removing an internal CF or adapter.<\/li><li>Extract the complete USB Image Tool package into a PC folder, keeping its accompanying files together. Open <strong>USB Image Tool.exe<\/strong> with administrator rights.<\/li><li>Connect only the CF reader needed for the backup. Cancel Windows format or initialisation prompts.<\/li><li>Choose <strong>Device Mode<\/strong>, not Volume Mode. Select the CF by the reader&#039;s identity and exact capacity, checking these against the <a href=\"#exact-sizes\">Windows disk listing<\/a>.<\/li><li>If Windows detects the physical card but it is absent from the tool, enable <strong>Show non-removable devices<\/strong> in Options and rescan. Recheck the selected device carefully; this can expose other USB disks. If it remains absent, test another reader. Do not initialise the CF.<\/li><li>In <strong>Options<\/strong>, enable <strong>Verify after Backup\/Restore<\/strong>. Leave <strong>Truncate oversize images<\/strong>, <strong>Fix GPT after Restore<\/strong> and <strong>Initialize remaining space after restore<\/strong> disabled. These are not part of an Amiga raw-image backup or restore.<\/li><li>Click <strong>Backup<\/strong>. Save a new, uncompressed <strong><code class=\"ae-md-inline-code\">.img<\/code><\/strong> file on another drive. Select the ordinary image-file format, not <code class=\"ae-md-inline-code\">.imz<\/code> or <code class=\"ae-md-inline-code\">.img.gz<\/code>. The destination must have enough free space for the whole card and support a file that large.<\/li><li>Wait for both the backup and its automatic verification to finish. The verification compares the image with the source device; it is separate from calculating a checksum of the image file.<\/li><li>Check the <strong>Log<\/strong> for successful completion of both operations. Preserve any error instead of treating a full progress bar as success.<\/li><li>Use the <a href=\"#exact-sizes\">image-size<\/a> and <a href=\"#image-hashes\">SHA-256 checks<\/a> to record the image&#039;s exact length and hash. An uncompressed full-device image should match the card&#039;s reported byte capacity.<\/li><li>Safely disconnect the original and put it aside. <a href=\"#cf-write\">Restore the image to a spare CF<\/a> and test that spare in the V4.<\/li><\/ol>\n<p>\u26a0\ufe0f <strong>Do not use Reset or Check device for size on the original card.<\/strong> Those functions write to the device. If the backup produces read errors, stop repeated attempts and preserve the error log and any recoverable image.<\/p>\n<p>If Win32 Disk Imager already selects your card correctly, it remains an alternative: leave <strong>Read Only Allocated Partitions<\/strong> unticked and use <strong>Read<\/strong> to create the backup. The USB Image Tool procedure above supplies a complete backup-and-verification route when drive-letter selection fails.<\/p>\n<h4>\ud83c\udf4e Back up a whole CF on macOS<\/h4>\n<p>These commands <strong>read the CF into an ordinary image file on the Mac or another backup drive<\/strong>. Keep the card out of the V4 during the operation.<\/p>\n<ol><li>Follow the <a href=\"#exact-sizes\">macOS identification steps<\/a>. Record the whole disk identifier and byte capacity. In this example <code class=\"ae-md-inline-code\">\/dev\/diskN<\/code> means your identified CF, not a literal name to paste unchanged.<\/li><li>In Finder, choose a backup location on an APFS, Mac OS Extended or exFAT volume with enough free space for the entire CF. Select that destination volume and press <strong>Command-I<\/strong> to check its format and available space. Use a new image filename.<\/li><li>Close applications using the card, then unmount its volumes without ejecting the hardware:<\/li><\/ol>\n<pre class=\"ae-md-code-block\"><code class=\"ae-md-code-block-code language-bash\">diskutil unmountDisk \/dev\/diskN<\/code><\/pre>\n<ol><li>Continue only after successful unmounting. Replace the destination path below with your backup location. <code class=\"ae-md-inline-code\">\/dev\/rdiskN<\/code> is the raw interface to the same numbered disk. The parentheses keep the overwrite protection local to this command:<\/li><\/ol>\n<pre class=\"ae-md-code-block\"><code class=\"ae-md-code-block-code language-bash\">(set -C; sudo dd if=\/dev\/rdiskN bs=4m &gt; &quot;\/Volumes\/Backup\/V4-original.img&quot;)<\/code><\/pre>\n<ol><li>Enter your Mac administrator password if asked; Terminal does not display password characters. Wait for <code class=\"ae-md-inline-code\">dd<\/code> to finish. <strong>Control-T<\/strong> can show progress without cancelling it. Immediately run <code class=\"ae-md-inline-code\">echo $?<\/code>; require <code class=\"ae-md-inline-code\">0<\/code> and no read\/write error. An error leaves an incomplete image.<\/li><li>Check the image length with <code class=\"ae-md-inline-code\">stat -f &#039;%z&#039; &quot;\/Volumes\/Backup\/V4-original.img&quot;<\/code>. It must equal the recorded physical card capacity.<\/li><li>Keep the card unmounted and hash both the image and the whole source device:<\/li><\/ol>\n<pre class=\"ae-md-code-block\"><code class=\"ae-md-code-block-code language-bash\">shasum -a 256 &quot;\/Volumes\/Backup\/V4-original.img&quot;\nsudo shasum -a 256 \/dev\/rdiskN<\/code><\/pre>\n<ol><li>Require both commands to finish without errors and their 64-character hashes to match. This comparison is valid because this backup covers the <strong>entire source card<\/strong>. Save the results.<\/li><li>Run <code class=\"ae-md-inline-code\">diskutil eject \/dev\/diskN<\/code>, disconnect the original and put it aside. <a href=\"#cf-write\">Write the verified image to a spare<\/a> and test that spare in the V4.<\/li><\/ol>\n<p>If Terminal reports a permissions error, check <strong>System Settings \u2192 Privacy &amp; Security \u2192 Full Disk Access<\/strong> for Terminal, then reopen Terminal and identify the disk again. Do not replace the command with an erase or partitioning operation. Do not add <code class=\"ae-md-inline-code\">conv=noerror<\/code> to turn unreadable sectors into an apparently successful backup.<\/p>\n<h4>\ud83d\udc27 Back up a whole CF on Linux<\/h4>\n<ol><li>Follow the <a href=\"#exact-sizes\">Linux identification steps<\/a>, recording the physical device and byte capacity.<\/li><li>Choose an existing backup directory on a filesystem supporting files as large as the CF, such as ext4 or exFAT. Check its filesystem and available space:<\/li><\/ol>\n<pre class=\"ae-md-code-block\"><code class=\"ae-md-code-block-code language-bash\">df -T -B1 &quot;\/home\/yourname\/Backups&quot;<\/code><\/pre>\n<ol><li>Close applications using the card. In the <code class=\"ae-md-inline-code\">lsblk<\/code> output, inspect every child partition with a mount point. Unmount each of those partitions individually, substituting its actual path:<\/li><\/ol>\n<pre class=\"ae-md-code-block\"><code class=\"ae-md-code-block-code language-bash\">udisksctl unmount -b \/dev\/sdX1<\/code><\/pre>\n<ol><li>If <code class=\"ae-md-inline-code\">udisksctl<\/code> is unavailable, use <code class=\"ae-md-inline-code\">sudo umount \/dev\/sdX1<\/code>. Repeat only for other mounted partitions on this CF. Re-run <code class=\"ae-md-inline-code\">lsblk<\/code> and require their mount-point fields to be empty. If none are mounted, there is nothing to unmount.<\/li><li>Create the whole-device image using a new filename. Replace both paths:<\/li><\/ol>\n<pre class=\"ae-md-code-block\"><code class=\"ae-md-code-block-code language-bash\">sudo dd if=\/dev\/sdX of=&quot;\/home\/yourname\/Backups\/V4-original.img&quot; bs=4M conv=excl status=progress<\/code><\/pre>\n<ol><li><code class=\"ae-md-inline-code\">conv=excl<\/code> refuses to replace an existing file. Wait for completion, then immediately run <code class=\"ae-md-inline-code\">echo $?<\/code>; require <code class=\"ae-md-inline-code\">0<\/code> and no I\/O error. Do not add options to skip read errors.<\/li><li>Check the image length and compare it with the card capacity:<\/li><\/ol>\n<pre class=\"ae-md-code-block\"><code class=\"ae-md-code-block-code language-bash\">stat -c &#039;%s&#039; -- &quot;\/home\/yourname\/Backups\/V4-original.img&quot;<\/code><\/pre>\n<ol><li>With the source still unmounted, compare the entire image and source card:<\/li><\/ol>\n<pre class=\"ae-md-code-block\"><code class=\"ae-md-code-block-code language-bash\">sudo cmp -- &quot;\/home\/yourname\/Backups\/V4-original.img&quot; \/dev\/sdX\necho $?<\/code><\/pre>\n<ol><li><strong>No comparison output and status <code class=\"ae-md-inline-code\">0<\/code><\/strong> means identical contents. Status <code class=\"ae-md-inline-code\">1<\/code> means a difference; <code class=\"ae-md-inline-code\">2<\/code> means an error. Require the image length to match the card capacity as well. Record the image&#039;s <a href=\"#image-hashes\">SHA-256<\/a>.<\/li><li>Use <code class=\"ae-md-inline-code\">udisksctl power-off -b \/dev\/sdX<\/code> or the desktop&#039;s <strong>Safely Remove<\/strong> action, then disconnect the original. If the reader does not support power-off, finish the read operations and ensure all its volumes are unmounted before unplugging. <a href=\"#cf-write\">Restore to a spare<\/a> and boot-test it.<\/li><\/ol>\n<p><strong>On AmigaOS\/ApolloOS:<\/strong> copying drawers is useful for personal-file backups but is not a whole-CF image. For a recoverable system snapshot, power down and use one of these host workflows.<\/p>\n<span id=\"extract-image\" class=\"ae-md-anchor\"><\/span>\n<h3>\ud83d\udce6 Extract the image and diagnose extraction errors<\/h3>\n<p>Extract system images on the <strong>host computer<\/strong>, onto a drive that can hold the complete result. FAT32 cannot hold a file larger than <strong>4,294,967,295 bytes<\/strong>. Space on the Amiga CF is irrelevant to this step.<\/p>\n<p><strong>Windows<\/strong><\/p>\n<ol><li>In Explorer, open <strong>This PC<\/strong>, right-click the destination drive and choose <strong>Properties<\/strong>. Check <strong>File system<\/strong> and <strong>Free space<\/strong>. For a large image use an existing NTFS or exFAT destination; do not reformat a populated drive just to extract a download.<\/li><li>Put the archive and every numbered part in one folder. Install <strong>7-Zip<\/strong> from its author&#039;s project if needed.<\/li><li>Open <strong>7-Zip File Manager<\/strong>, browse to the archive and select it. For a split 7z archive, select <code class=\"ae-md-inline-code\">.7z.001<\/code>; for a split RAR, select <code class=\"ae-md-inline-code\">.part1.rar<\/code> or the initial <code class=\"ae-md-inline-code\">.rar<\/code>, according to its naming scheme.<\/li><li>Choose <strong>Test<\/strong>. Missing-part, CRC or data errors must be resolved before continuing.<\/li><li>Choose <strong>Extract<\/strong>, select a new destination folder on the suitable drive, and wait for completion without errors.<\/li><\/ol>\n<p><strong>macOS<\/strong><\/p>\n<ol><li>In Finder, select the destination volume and press <strong>Command-I<\/strong>. Check <strong>Format<\/strong> and <strong>Available<\/strong> space. APFS, Mac OS Extended and exFAT can hold large images; FAT32 cannot.<\/li><li>For an ordinary ZIP, double-click it to use Archive Utility. For 7z\/RAR or split archives, install <strong>Keka<\/strong> and place every part together.<\/li><li>Right-click the archive&#039;s first part and choose <strong>Open With \u2192 Keka<\/strong>. For <code class=\"ae-md-inline-code\">.7z.001<\/code> sets, open <code class=\"ae-md-inline-code\">.001<\/code>; do not extract every numbered part separately.<\/li><li>Use a destination on the suitable volume. If the extractor writes beside the archive by default, move the complete archive set there first.<\/li><li>Wait for successful completion. If it reports a missing part or damaged archive, retain the message and replace the missing\/bad download before retrying.<\/li><\/ol>\n<p><strong>Linux \u2014 GNOME Archive Manager<\/strong><\/p>\n<ol><li>Open Terminal and check the existing extraction directory, replacing the path:<\/li><\/ol>\n<pre class=\"ae-md-code-block\"><code class=\"ae-md-code-block-code language-bash\">df -T -B1 &quot;\/home\/yourname\/Downloads&quot;<\/code><\/pre>\n<ol><li>Check its filesystem and <strong>Available<\/strong> bytes. An ext4 or exFAT destination is suitable for large images; <code class=\"ae-md-inline-code\">vfat<\/code>\/FAT32 has the single-file limit above.<\/li><li>Open the archive or first split part in <strong>Archive Manager<\/strong>. Choose <strong>Extract<\/strong>, select a new destination folder and extract all contents.<\/li><li>If that format is unsupported, install the archive backend offered by your distribution&#039;s software manager or use its packaged <strong>7-Zip<\/strong>. Do not concatenate compressed parts or rename them to <code class=\"ae-md-inline-code\">.img<\/code> as a workaround.<\/li><li>Check for extraction errors. If using the 7-Zip command-line package, run <code class=\"ae-md-inline-code\">7zz t &quot;archive.7z.001&quot;<\/code> to test it and <code class=\"ae-md-inline-code\">7zz x &quot;archive.7z.001&quot; -o&quot;extracted-image&quot;<\/code> to extract to a new folder. Use <code class=\"ae-md-inline-code\">7z<\/code> instead only if that is the executable your package installs.<\/li><\/ol>\n<p><strong>Finish on any host<\/strong><\/p>\n<ol><li>Locate the actual extracted image. A ZIP containing another archive still needs that inner archive extracted.<\/li><li>Check its <a href=\"#exact-sizes\">exact byte length<\/a> against the download description, then check any supplied <a href=\"#image-hashes\">SHA-256<\/a>.<\/li><li>If there is no published checksum, retain the calculated hash as a baseline and require the later card-write verification to pass.<\/li><\/ol>\n<p>Do not format the Amiga CF to solve an extraction error. For Amiga <strong>application archives<\/strong>, preserve the archive and use the <a href=\"#native-extraction\">native extraction procedure<\/a> instead of unpacking the program on the host.<\/p>\n<span id=\"exact-sizes\" class=\"ae-md-anchor\"><\/span>\n<h3>\ud83d\udccf An image will not fit another card with the same advertised capacity<\/h3>\n<p>Compare the <strong>extracted image file&#039;s length<\/strong> with the <strong>whole destination device&#039;s capacity<\/strong>, both in bytes. A partition&#039;s free space and the size printed on the card are not the measurements you need.<\/p>\n<p><strong>Windows \u2014 PowerShell<\/strong><\/p>\n<ol><li>Disconnect other removable disks. Open Start, type <strong>Windows PowerShell<\/strong>, right-click it and select <strong>Run as administrator<\/strong>.<\/li><li>Before connecting the CF reader, run the following command. Connect the reader with the destination card, cancel formatting prompts, then run it again:<\/li><\/ol>\n<pre class=\"ae-md-code-block\"><code class=\"ae-md-code-block-code language-powershell\">Get-Disk | Select-Object Number, FriendlyName, SerialNumber, BusType,\n    Size, LogicalSectorSize, IsBoot, IsSystem | Format-List<\/code><\/pre>\n<ol><li>Identify the newly appearing physical disk. Match its reader, approximate capacity and serial number where available. Record its <strong>Number<\/strong> and <strong>Size<\/strong>. Stop if its identity is uncertain or it is marked <code class=\"ae-md-inline-code\">IsBoot : True<\/code> or <code class=\"ae-md-inline-code\">IsSystem : True<\/code>.<\/li><li>Run this block and enter the full path to the extracted <code class=\"ae-md-inline-code\">.img<\/code> or whole-disk <code class=\"ae-md-inline-code\">.hdf<\/code>, without surrounding quotes:<\/li><\/ol>\n<pre class=\"ae-md-code-block\"><code class=\"ae-md-code-block-code language-powershell\">$imagePath = Read-Host &#039;Full path to the extracted image, without quotes&#039;\n$imageFile = Get-Item -LiteralPath $imagePath -ErrorAction Stop\nif ($imageFile.PSIsContainer) { throw &#039;Choose a file, not a folder.&#039; }\n$imageFile | Select-Object FullName, Length | Format-List<\/code><\/pre>\n<ol><li>Compare <strong>Length<\/strong> with the disk&#039;s <strong>Size<\/strong>. Both numbers are bytes. The destination must be at least as large as the image.<\/li><li>Re-run <code class=\"ae-md-inline-code\">Get-Disk<\/code> after any reconnection; the disk number can change. A drive letter is not required.<\/li><\/ol>\n<p><strong>macOS \u2014 Terminal<\/strong><\/p>\n<ol><li>Open <strong>Applications \u2192 Utilities \u2192 Terminal<\/strong>. Run <code class=\"ae-md-inline-code\">diskutil list external physical<\/code> before and after connecting the CF reader. If macOS reports an unreadable disk, choose <strong>Ignore<\/strong>.<\/li><li>Identify the new <strong>whole disk<\/strong>, such as <code class=\"ae-md-inline-code\">\/dev\/disk4<\/code>. Do not select a partition such as <code class=\"ae-md-inline-code\">\/dev\/disk4s1<\/code>. In these examples, replace <code class=\"ae-md-inline-code\">N<\/code> with the number you actually found:<\/li><\/ol>\n<pre class=\"ae-md-code-block\"><code class=\"ae-md-code-block-code language-bash\">diskutil info \/dev\/diskN<\/code><\/pre>\n<ol><li>Check the device\/media name, external connection and <strong>Whole: Yes<\/strong>. Record the exact byte count in <strong>Disk Size<\/strong>; do not use only the rounded GB figure.<\/li><li>Type <code class=\"ae-md-inline-code\">stat -f &#039;%z&#039; <\/code>, including the trailing space, then drag the extracted image from Finder into Terminal and press Return. Alternatively, replace the example path below:<\/li><\/ol>\n<pre class=\"ae-md-code-block\"><code class=\"ae-md-code-block-code language-bash\">stat -f &#039;%z&#039; &quot;\/Users\/yourname\/Downloads\/ApolloOS.img&quot;<\/code><\/pre>\n<ol><li>The number printed is the image length in bytes. Compare it with <strong>Disk Size<\/strong>. If it is greater, use a larger card.<\/li><li>When finished inspecting, eject the device with <code class=\"ae-md-inline-code\">diskutil eject \/dev\/diskN<\/code> before unplugging it.<\/li><\/ol>\n<p><strong>Linux \u2014 Terminal<\/strong><\/p>\n<ol><li>Open Terminal and run the following command before and after connecting the CF reader:<\/li><\/ol>\n<pre class=\"ae-md-code-block\"><code class=\"ae-md-code-block-code language-bash\">lsblk -b -o NAME,PATH,SIZE,TYPE,TRAN,MODEL,SERIAL,MOUNTPOINTS<\/code><\/pre>\n<ol><li>Identify the new row with <strong>TYPE <code class=\"ae-md-inline-code\">disk<\/code><\/strong> and the expected reader and capacity. A USB reader commonly appears as <code class=\"ae-md-inline-code\">\/dev\/sdb<\/code>; <code class=\"ae-md-inline-code\">\/dev\/sdb1<\/code> is a partition. Replace <code class=\"ae-md-inline-code\">\/dev\/sdX<\/code> below with the whole device you identified.<\/li><li>Ask the block device for its capacity in bytes:<\/li><\/ol>\n<pre class=\"ae-md-code-block\"><code class=\"ae-md-code-block-code language-bash\">sudo blockdev --getsize64 \/dev\/sdX<\/code><\/pre>\n<ol><li>Obtain the extracted image&#039;s byte length, replacing the path:<\/li><\/ol>\n<pre class=\"ae-md-code-block\"><code class=\"ae-md-code-block-code language-bash\">stat -c &#039;%s&#039; -- &quot;\/home\/yourname\/Downloads\/ApolloOS.img&quot;<\/code><\/pre>\n<ol><li>Compare the two integers. The first must be equal to or greater than the second. If <code class=\"ae-md-inline-code\">MOUNTPOINTS<\/code> is unsupported on an older system, use <code class=\"ae-md-inline-code\">MOUNTPOINT<\/code> in the listing command.<\/li><li>Use the file manager&#039;s <strong>Safely Remove\/Eject<\/strong> action when finished. Device names can change after reconnecting.<\/li><\/ol>\n<p><strong>AmigaOS \/ ApolloOS<\/strong><\/p>\n<ol><li>Open a Shell and run <code class=\"ae-md-inline-code\">Info<\/code> to see the mounted volumes and their used\/free space.<\/li><li>Use that output to answer \u201cis this volume full?\u201d It does <strong>not<\/strong> give a dependable measurement of the entire physical CF, including unpartitioned space.<\/li><li>For an image-fit decision, finish writes, power off, remove the CF safely and use one of the host procedures above. Do not attempt a raw restore over the mounted system from which the V4 is running.<\/li><\/ol>\n<p><strong>Interpret the result:<\/strong> if the image is even one byte larger than the destination, it does not fit. If it fits but the writer still refuses, confirm that you selected the whole device and the fully extracted image, then record the writer&#039;s exact error.<\/p>\n<p>Two cards sold as \u201c128 GB\u201d can expose different capacities. <strong>128,000,000,000 bytes is about 119.21 GiB<\/strong>; the change of units is normal. Do not truncate a whole-card image: seemingly unused bytes can lie inside a partition or contain filesystem structures.<\/p>\n<span id=\"image-hashes\" class=\"ae-md-anchor\"><\/span>\n<h3>\ud83d\udd10 Calculate and compare a file&#039;s SHA-256<\/h3>\n<p>Use this for an archive, extracted image or ordinary test file. Check the <strong>same file<\/strong> named by the published checksum; an archive and its extracted image have different hashes.<\/p>\n<ol><li>Open PowerShell on Windows or Terminal on macOS\/Linux.<\/li><li>Run the command for your host, replacing the path with the actual file:<\/li><\/ol>\n<p><strong>Windows:<\/strong><\/p>\n<pre class=\"ae-md-code-block\"><code class=\"ae-md-code-block-code language-powershell\">Get-FileHash -LiteralPath &#039;C:\\Images\\ApolloOS.img&#039; -Algorithm SHA256<\/code><\/pre>\n<p><strong>macOS:<\/strong><\/p>\n<pre class=\"ae-md-code-block\"><code class=\"ae-md-code-block-code language-bash\">shasum -a 256 &quot;\/Users\/yourname\/Downloads\/ApolloOS.img&quot;<\/code><\/pre>\n<p><strong>Linux:<\/strong><\/p>\n<pre class=\"ae-md-code-block\"><code class=\"ae-md-code-block-code language-bash\">sha256sum -- &quot;\/home\/yourname\/Downloads\/ApolloOS.img&quot;<\/code><\/pre>\n<ol><li>Wait for the command to finish without a read error. Compare all <strong>64 hexadecimal characters<\/strong> with the trusted checksum or with your earlier saved result. Letter case does not matter.<\/li><li>Save the filename, byte length and hash together in a text file. A mismatch means the contents differ; repeat the download or investigate the copy before using it.<\/li><\/ol>\n<p>A hash without a trusted comparison value records the current contents. It does not authenticate a download or verify a card write. For files copied through the V4, use the <a href=\"#transfer-test\">round-trip transfer test<\/a>; it does not depend on a particular Amiga checksum utility being installed.<\/p>\n<h3>\ud83d\udda5\ufe0f The HDF boots in an emulator but not from CF<\/h3>\n<ol><li>Copy the HDF on the host, then run the <a href=\"#rdb-inspection\">read-only RDB inspection<\/a> on the copy. A readable RDB with partitions supports the whole-disk interpretation; \u201cNo RDB Disk\u201d requires checking the supplied image description.<\/li><li>In the emulator&#039;s hard-drive settings, select that HDF entry and record its <strong>controller<\/strong>, any <strong>RDB\/whole-disk mode<\/strong> setting and any supplied filesystem\/geometry. Also record the selected Kickstart ROM. An emulator can provide a disk wrapper or handler absent from the V4.<\/li><li>Inspect an image copy with an Amiga-aware tool. Renaming <code class=\"ae-md-inline-code\">.hdf<\/code> to <code class=\"ae-md-inline-code\">.img<\/code> does not change its contents.<\/li><li>For a direct CF restore, obtain the whole-device image intended for that installation. Alternatively, follow the distribution&#039;s installation procedure to build a physical disk correctly.<\/li><\/ol>\n<p><code class=\"ae-md-inline-code\">uaehf.device<\/code> belongs to a UAE emulator setup. A successful boot through it does not prove that the V4&#039;s real disk driver and boot ROM can reach the same data.<\/p>\n<span id=\"cf-write\" class=\"ae-md-anchor\"><\/span>\n<h3>\u270d\ufe0f Write a replacement CF<\/h3>\n<blockquote><p>\u26a0\ufe0f <strong>This operation overwrites the selected destination card. Disconnect the original CF and other removable drives before proceeding.<\/strong><\/p><\/blockquote>\n<h4>\ud83e\ude9f Write and verify on Windows<\/h4>\n<p>These steps use <strong>USB Image Tool 1.91<\/strong> and an uncompressed whole-device image.<\/p>\n<ol><li><strong>Prepare the image.<\/strong> Use the <a href=\"#extract-image\">extraction procedure<\/a> and confirm that the image is intended for your Standalone and OS arrangement.<\/li><li><strong>Check capacity.<\/strong> Follow the <a href=\"#exact-sizes\">Windows exact-byte comparison<\/a>.<\/li><li><strong>Open USB Image Tool with administrator rights.<\/strong> Choose <strong>Device Mode<\/strong>, enable <strong>Verify after Backup\/Restore<\/strong>, and leave the truncation, GPT-fixing and remaining-space initialisation options disabled, as in the <a href=\"#cf-backup\">backup procedure<\/a>.<\/li><li><strong>Select the spare CF as the destination.<\/strong> Match its reader and capacity. Recheck the selection after reconnecting any device.<\/li><li><strong>Start the restore.<\/strong> Click <strong>Restore<\/strong>, select the prepared image file and confirm the operation when prompted. This writes the image&#039;s contents to the selected card. Do not copy the image file into a folder on the card or create a new PC partition table first.<\/li><li><strong>Wait for writing and verification.<\/strong> Leave the reader connected and let both operations finish.<\/li><li><strong>Check the Log.<\/strong> Require successful completion of the restore and verification. A full progress bar is not enough; preserve any error and investigate it before booting.<\/li><li><strong>Safely eject.<\/strong> Cancel any Windows formatting prompt. Use the taskbar&#039;s <strong>Safely Remove Hardware and Eject Media<\/strong> action for the reader and wait for permission to disconnect it. Do not remove it while the writer is active.<\/li><li><strong>Install with the V4 unpowered.<\/strong> Boot the replacement and run the <a href=\"#post-update-tests\">practical checks<\/a> before changing partitions or installing updates.<\/li><\/ol>\n<p>If the writer cannot select the device or refuses the image, stop and identify why. Do not initialise the CF as a workaround.<\/p>\n<h4>\ud83c\udf4e\ud83d\udc27 Write and verify on macOS or Linux<\/h4>\n<p>This route uses <strong>balenaEtcher<\/strong> with the already extracted, uncompressed whole-device image. Install the build for your host from the balenaEtcher project. The same sequence is also available on supported Windows systems.<\/p>\n<ol><li>Disconnect the original CF and other removable drives. Insert only the spare into the reader.<\/li><li>Complete the <a href=\"#exact-sizes\">exact-size comparison for your host<\/a>. Confirm that the file is a whole-device image intended for this V4\/V4+ installation.<\/li><li>Open Etcher and choose <strong>Flash from file<\/strong>. Select the extracted image, not a partition-only HDF.<\/li><li>Choose <strong>Select target<\/strong>. Match the spare&#039;s reader, device identity and capacity with your disk listing. Leave every other device unselected.<\/li><li>If Etcher warns about an unrecognised partition table, recheck the distribution&#039;s image description. Proceed only when it is the intended Amiga whole-disk image; do not dismiss an unexplained warning.<\/li><li>Select <strong>Flash!<\/strong> and authorise the host&#039;s administrator prompt. The selected spare is overwritten.<\/li><li>Wait through <strong>both flashing and validation<\/strong>. Do not skip validation. Require the final success result; an error at either stage means the card is not ready.<\/li><li>On macOS, choose <strong>Ignore<\/strong> if the written Amiga disk is described as unreadable. On Linux, close any unsupported-filesystem prompt. Do not initialise or repair it.<\/li><li>If Etcher has not already ejected it, use Disk Utility\/Finder&#039;s <strong>Eject<\/strong> on macOS or <strong>Safely Remove<\/strong> on Linux. Wait for completion before unplugging.<\/li><li>With the V4 completely unpowered, install the spare. Boot and carry out the <a href=\"#post-update-tests\">practical checks<\/a>.<\/li><\/ol>\n<p><strong>On AmigaOS\/ApolloOS:<\/strong> install and test the completed spare with power removed. Do not write a whole-device image onto the CF containing the currently running system.<\/p>\n<h3>\ud83d\udd0d Understand verification before interpreting a mismatch<\/h3>\n<p>For an image of <strong>N bytes<\/strong>, verification must cover the <strong>first N bytes of the card<\/strong>. Use <strong>Verify after Backup\/Restore<\/strong> in USB Image Tool 1.91 or the validation phase in the <a href=\"#cf-write\">Etcher procedure<\/a>; the writer handles the image range. A whole-card hash from a larger destination cannot be compared directly with the shorter image&#039;s hash.<\/p>\n<p>For an additional <strong>Linux<\/strong> read-only comparison:<\/p>\n<ol><li>Unmount the card&#039;s partitions as in the backup steps. Recheck its physical device name.<\/li><li>Set the image length, replacing the file path:<\/li><\/ol>\n<pre class=\"ae-md-code-block\"><code class=\"ae-md-code-block-code language-bash\">image_bytes=$(stat -c &#039;%s&#039; -- &quot;\/home\/yourname\/Backups\/ApolloOS.img&quot;)\nprintf &#039;%s\\n&#039; &quot;$image_bytes&quot;<\/code><\/pre>\n<ol><li>Continue only if <code class=\"ae-md-inline-code\">stat<\/code> succeeded and printed the expected <strong>positive<\/strong> byte count. Use that same image path and replace <code class=\"ae-md-inline-code\">\/dev\/sdX<\/code> with the identified card:<\/li><\/ol>\n<pre class=\"ae-md-code-block\"><code class=\"ae-md-code-block-code language-bash\">sudo cmp -n &quot;$image_bytes&quot; -- &quot;\/home\/yourname\/Backups\/ApolloOS.img&quot; \/dev\/sdX\necho $?<\/code><\/pre>\n<ol><li>No <code class=\"ae-md-inline-code\">cmp<\/code> output plus status <code class=\"ae-md-inline-code\">0<\/code> means those bytes match; <code class=\"ae-md-inline-code\">1<\/code> means a difference and <code class=\"ae-md-inline-code\">2<\/code> means an error. On Windows\/macOS, the verified writer workflow above supplies the comparison without a custom raw-device script.<\/li><\/ol>\n<div class=\"ae-md-table-wrap\" role=\"region\"><table class=\"ae-md-table ae-md-table-cols-2\"><thead><tr><th scope=\"col\" class=\"ae-md-th ae-md-col-1\">Check<\/th><th scope=\"col\" class=\"ae-md-th ae-md-col-2\">What it tells you<\/th><\/tr><\/thead><tbody><tr><td class=\"ae-md-td ae-md-col-1\">Download matches its trusted published checksum<\/td><td class=\"ae-md-td ae-md-col-2\">You have the expected downloaded file.<\/td><\/tr><tr><td class=\"ae-md-td ae-md-col-1\">Readback matches the entire image range<\/td><td class=\"ae-md-td ae-md-col-2\">Those bytes were copied correctly.<\/td><\/tr><tr><td class=\"ae-md-td ae-md-col-1\">The V4 boots and passes practical tests<\/td><td class=\"ae-md-td ae-md-col-2\">The installation works in the conditions tested.<\/td><\/tr><\/tbody><\/table><\/div>\n<p>Run the comparison before the V4 boots or you edit the partitions. Also remember that <strong>Windows or another host program can modify a Windows-readable partition after writing or reconnecting the card<\/strong>. A later mismatch needs investigation; it is not automatically proof of defective media.<\/p>\n<p>If verification fails:<\/p>\n<ol><li>Save the first error and any reported offset or sector.<\/li><li>Establish whether the failure occurred while reading the image, writing the CF or reading the CF back.<\/li><li>Recalculate the source image&#039;s <a href=\"#image-hashes\">SHA-256<\/a> and compare it with the value recorded before writing. Recheck its <a href=\"#exact-sizes\">byte length<\/a> if extraction was interrupted.<\/li><li>Check whether the card was mounted or used between writing and comparison.<\/li><li>Repeat on a spare with another known-good reader or connection, changing one item at a time.<\/li><\/ol>\n<p>Do not trust an unexplained mismatch for a system restore. A correct copy can still contain an unsuitable OS or a pre-existing filesystem error.<\/p>\n<h3>\ud83d\udddc\ufe0f A small download appears to occupy the whole card<\/h3>\n<p>Check four different measurements:<\/p>\n<ol><li><strong>Archive size:<\/strong> select the download and open Properties in Windows, Get Info in Finder, or Properties in the Linux file manager.<\/li><li><strong>Extracted image length:<\/strong> use the <a href=\"#exact-sizes\">exact-byte command<\/a> for your host on the extracted file.<\/li><li><strong>Allocated partitions:<\/strong> run the <a href=\"#rdb-inspection\">RDB inspection<\/a> on an image copy. Record the partition sizes and ranges.<\/li><li><strong>Used\/free space inside the V4 volumes:<\/strong> open an AmigaOS\/ApolloOS Shell and run <code class=\"ae-md-inline-code\">Info<\/code>. Find the volume by its name, then read its Used, Free and Full columns. Do not substitute the size of the physical card for that volume&#039;s free space.<\/li><\/ol>\n<p>An almost-empty disk can compress well while retaining large partition definitions. A larger replacement also keeps the original image&#039;s partition sizes. If <code class=\"ae-md-inline-code\">Info<\/code> shows free space in the intended volume, it is not full just because the image or partition is large.<\/p>\n<span id=\"power-startup\" class=\"ae-md-anchor\"><\/span>\n<h2>\ud83d\udd0c Power and startup<\/h2>\n<h3>\u26a1 The V4 freezes or resets unpredictably<\/h3>\n<ol><li>Use the <strong>supplied or explicitly approved PSU and power lead for the complete machine<\/strong>. The standard Mini-USB-powered Standalone uses a 5 V supply; an expansion system can have a different external power arrangement.<\/li><li>Check the power lead and connectors. Avoid an unapproved thin cable or inline switch as a substitute for the supplied assembly.<\/li><li>Disconnect non-essential peripherals and external adapters.<\/li><li>Connect the video output directly to the display, bypassing switches, splitters and capture hardware.<\/li><li>Perform a full cold start, then repeat the activity that caused the failure.<\/li><li>If stable, reconnect one extra device at a time and repeat that test.<\/li><li>If failures began after an update, compare with the previously working <strong>core and software together<\/strong>.<\/li><\/ol>\n<p>Do not raise the supply voltage to compensate for instability. Do not flash firmware from a system that is already freezing or resetting.<\/p>\n<span id=\"cold-start\" class=\"ae-md-anchor\"><\/span>\n<h3>\ud83d\udd04 Perform a genuine cold start<\/h3>\n<ol><li>Finish file transfers and wait for disk activity to stop. Allow time for delayed writes after saving.<\/li><li>Switch off and remove the normal power connection.<\/li><li>Disconnect other connections that could keep the board energised, including the display connection, Ethernet and any programmer.<\/li><li>Leave it fully unpowered for <strong>30 seconds<\/strong>.<\/li><li>Reconnect the normal power, display and essential input devices, then start again.<\/li><\/ol>\n<p>For a warm reset on a compatible PC keyboard, press <strong>left Ctrl + Windows + right Ctrl<\/strong>. Wait for disk writes first. A warm reset does not replace the power cycle required after flashing.<\/p>\n<h3>\ud83d\udda5\ufe0f No picture appears<\/h3>\n<ol><li>Select the correct input on the display.<\/li><li>Use a direct connection and a known-good video cable.<\/li><li>Connect a known-compatible mouse to its proper input port.<\/li><li>Hold <strong>both mouse buttons during power-on<\/strong> to enter Early Startup.<\/li><li>If the menu remains invisible, press <strong>Tab<\/strong> to try switching its PAL\/NTSC timing. Older documented environments also accept another key for this switch.<\/li><li>Try a display known to accept the V4&#039;s native output. The usual native timings include <strong>720 \u00d7 576 at 50 Hz<\/strong> and <strong>720 \u00d7 480 at 60 Hz<\/strong>.<\/li><\/ol>\n<p><strong>If Early Startup is visible but the desktop goes black:<\/strong> follow the <a href=\"#graphics-games\">screen-mode recovery steps<\/a>.<\/p>\n<p><strong>If Early Startup never appears:<\/strong> check mouse compatibility, display compatibility and power before deciding that the firmware has failed. A screen that displays the RTG desktop may still reject a native boot or game mode.<\/p>\n<h3>\ud83c\udf08 Coloured stripes appear at startup<\/h3>\n<p>Brief self-test colours can be normal. Diagnose a <strong>persistent failure pattern<\/strong>, not a colour that flashes past.<\/p>\n<div class=\"ae-md-table-wrap\" role=\"region\"><table class=\"ae-md-table ae-md-table-cols-3\"><thead><tr><th scope=\"col\" class=\"ae-md-th ae-md-col-1\">Persistent pattern in the documented Apollo self-test<\/th><th scope=\"col\" class=\"ae-md-th ae-md-col-2\">What it indicates<\/th><th scope=\"col\" class=\"ae-md-th ae-md-col-3 ae-md-col-wide\">Next step<\/th><\/tr><\/thead><tbody><tr><td class=\"ae-md-td ae-md-col-1\">\ud83d\udfe9 Green stripes<\/td><td class=\"ae-md-td ae-md-col-2\">Chip-memory or chip-bus test failed.<\/td><td class=\"ae-md-td ae-md-col-3 ae-md-col-wide\">Power off. Check the CF\/IDE adapter connection using the safe procedure below. Seek hardware support if it persists.<\/td><\/tr><tr><td class=\"ae-md-td ae-md-col-1\">\ud83d\udfe6 Blue stripes<\/td><td class=\"ae-md-td ae-md-col-2\">Fast-memory test failed.<\/td><td class=\"ae-md-td ae-md-col-3 ae-md-col-wide\">Record the pattern and seek board-specific support.<\/td><\/tr><tr><td class=\"ae-md-td ae-md-col-1\">\ud83d\udfe5 Red stripes<\/td><td class=\"ae-md-td ae-md-col-2\">Kickstart test failed.<\/td><td class=\"ae-md-td ae-md-col-3 ae-md-col-wide\">Check whether a flash was interrupted. Use the appropriate recovery procedure if required.<\/td><\/tr><\/tbody><\/table><\/div>\n<p>On cores providing the separate diagnostic <strong>BootMenu<\/strong>\u2014documented from core 10500\u2014hold <strong>Help<\/strong> at power-on. A compatible PC keyboard maps Page Up\/Page Down to Help; the Apollo joypad also provides entry through B, X or Y during power-on. This diagnostic menu is different from the two-mouse-button Early Startup menu.<\/p>\n<ol><li>Photograph the persistent pattern.<\/li><li>Record the installed core and what changed before the failure.<\/li><li>Use the available diagnostic memory tests if the menu works.<\/li><li>Stop normal use if a memory test repeatedly fails.<\/li><\/ol>\n<p>Do not format the CF in response to a memory or ROM self-test failure.<\/p>\n<h3>\ud83d\udce6 The CF stopped being detected after transport<\/h3>\n<p>An insert-boot-drive screen can result from a loose CF or IDE adapter. It does not justify pushing on the card through the case opening.<\/p>\n<ol><li>Switch off and disconnect <strong>all cables<\/strong> before opening the standard enclosure.<\/li><li>Follow the enclosure&#039;s disassembly instructions and use proper ESD precautions.<\/li><li>For an internal adapter, remove and support the board as required before applying pressure. <strong>Do not press the adapter into place while the board is unsupported inside the case.<\/strong><\/li><li>Inspect the CF and adapter seating. Check the connector orientation and that every row and pin is aligned.<\/li><li>Reseat only if the alignment is certain. The 44-pin IDE connector carries power; a reversed or offset connection can damage the hardware.<\/li><li>Reassemble the machine before powering up and test detection again.<\/li><\/ol>\n<p>For an externally accessible CF slot on an expansion enclosure, follow that enclosure&#039;s instructions instead. If orientation or disassembly is unclear, ask the supplier before proceeding.<\/p>\n<h3>\ud83d\udea6 Early Startup works, but normal boot stops<\/h3>\n<ol><li>Enter Early Startup with both mouse buttons held at power-on.<\/li><li>Choose <strong>Boot With No Startup-Sequence<\/strong>, where offered.<\/li><li>If a Shell opens, photograph the error. Run <code class=\"ae-md-inline-code\">Type S:Startup-Sequence<\/code> and, if present, <code class=\"ae-md-inline-code\">Type S:User-Startup<\/code> to inspect the scripts.<\/li><li>Review the most recent change: a driver, startup command, ROM mapper or preference file.<\/li><li>Follow the <a href=\"#edit-startup\">backup\/edit\/restore procedure<\/a> to put a semicolon before one suspect command on the spare CF.<\/li><li>Restart and repeat the same test. Restore the line if it made no difference.<\/li><\/ol>\n<p>A Shell narrows the search to later startup activity, but does not prove that the whole card is healthy. On a multiboot system, do not remove ROM-selection or bootloader commands without understanding their role.<\/p>\n<p>If the problem started immediately after flashing, also check the <a href=\"#rom-after-flash\">ROM arrangement<\/a>.<\/p>\n<span id=\"storage-faults\" class=\"ae-md-anchor\"><\/span>\n<h2>\ud83d\uddc4\ufe0f Storage faults and larger cards<\/h2>\n<h3>\ud83e\udde9 A partition exists but will not mount<\/h3>\n<p>A partition entry describes where the volume is. The boot environment must also have a suitable filesystem handler and a disk driver that can reach it.<\/p>\n<ol><li>Preserve a full image before changing the partition map or filesystem configuration.<\/li><li>Follow the <a href=\"#rdb-inspection\">read-only RDB inspection<\/a> on an <strong>image copy<\/strong>, recording each partition&#039;s name, range and filesystem identifier.<\/li><li>Check which filesystem handlers are stored in the RDB and which are supplied by the boot environment.<\/li><li>Compare those with the requirements of the installed ROM, OS and disk driver.<\/li><li>If an emulator mounts the partition but the V4 does not, compare the controller, ROM and handler versions used by each.<\/li><\/ol>\n<p>The RDB can hold filesystem code needed during boot. Copying a handler into a directory on an unreadable volume does not necessarily make that volume bootable.<\/p>\n<p><strong>Do not format a populated partition because it appears uninitialised. Do not change its filesystem identifier to \u201cconvert\u201d it.<\/strong> SFS, PFS3 and FFS store their data differently; relabelling is not conversion.<\/p>\n<h3>\ud83d\udd0e A partition disappears under another ROM or OS<\/h3>\n<ol><li>Use the <a href=\"#record-setup\">configuration-recording commands<\/a>. Read the filesystem entries and partition ranges with the <a href=\"#rdb-inspection\">RDB inspector<\/a>; distinguish embedded handlers from files in <code class=\"ae-md-inline-code\">L:<\/code>.<\/li><li>Calculate the partition&#039;s <strong>end position<\/strong> using the geometry and end-cylinder explanation in the <a href=\"#rdb-inspection\">RDB procedure<\/a>, not just its displayed size.<\/li><li>Confirm that the complete storage path supports addresses that far into the disk.<\/li><li>For a boot partition, confirm that this support exists <strong>before Startup-Sequence runs<\/strong>.<\/li><li>Compare with a known-working boot environment using a copy of the same disk image.<\/li><\/ol>\n<p>Legacy 32-bit byte-addressed disk access has a <strong>4 GiB boundary<\/strong>. A small partition located beyond that boundary can still be inaccessible. Large-disk support requires a suitable driver and access method as well as a suitable filesystem.<\/p>\n<p>PFS3aio tests available access methods and can refuse to mount an unreachable partition. Installing a newer handler alone does not guarantee that the underlying driver can access it.<\/p>\n<h3>\ud83d\udea8 Files copy without an error, but the copies are damaged<\/h3>\n<ol><li>Stop writing to the affected data and preserve the current card.<\/li><li>Choose a known-good test file and keep its original checksum.<\/li><li>Write a spare CF through the PC reader and verify it there.<\/li><li>Run the <a href=\"#transfer-test\">V4 file round-trip test<\/a> and compare the returned file&#039;s size and SHA-256 with the host original.<\/li><li>Change one component at a time: card, reader, cable or adapter. Power off before changing internal connections.<\/li><li>Repeat the operation that originally failed, including a large transfer if that was the trigger.<\/li><\/ol>\n<div class=\"ae-md-table-wrap\" role=\"region\"><table class=\"ae-md-table ae-md-table-cols-2\"><thead><tr><th scope=\"col\" class=\"ae-md-th ae-md-col-1\">Where the first mismatch occurs<\/th><th scope=\"col\" class=\"ae-md-th ae-md-col-2\">Investigate first<\/th><\/tr><\/thead><tbody><tr><td class=\"ae-md-td ae-md-col-1\">The downloaded or extracted source is already wrong<\/td><td class=\"ae-md-td ae-md-col-2\">Download, extraction and PC storage.<\/td><\/tr><tr><td class=\"ae-md-td ae-md-col-1\">PC write\/readback fails before the V4 uses the card<\/td><td class=\"ae-md-td ae-md-col-2\">CF, reader, connection and imaging process.<\/td><\/tr><tr><td class=\"ae-md-td ae-md-col-1\">PC verification passes, but V4 writes produce damaged data<\/td><td class=\"ae-md-td ae-md-col-2\">V4 storage connection, driver, timing, filesystem and transfer settings.<\/td><\/tr><tr><td class=\"ae-md-td ae-md-col-1\">Only one archive&#039;s extracted files fail<\/td><td class=\"ae-md-td ae-md-col-2\">The archive, extraction method and required file metadata.<\/td><\/tr><\/tbody><\/table><\/div>\n<p>Correcting the cause does not reconstruct damaged files. Restore those from a verified source afterwards.<\/p>\n<span id=\"transfer-test\" class=\"ae-md-anchor\"><\/span>\n<h3>\ud83d\udd01 Verify a file copied through the V4<\/h3>\n<p>This checks a complete <strong>host \u2192 transfer card \u2192 V4 volume \u2192 transfer card \u2192 host<\/strong> round trip. It works with either AmigaOS or ApolloOS and uses the host&#039;s SHA-256 tool. Use only expendable data on a <strong>spare<\/strong> system card when investigating corruption.<\/p>\n<ol><li>On Windows, macOS or Linux, select a known-good ordinary file, preferably a few tens of megabytes. Keep it below 4 GiB for a FAT32 transfer card. Name a copy <code class=\"ae-md-inline-code\">V4-test.bin<\/code> and record its <a href=\"#exact-sizes\">byte length<\/a> and <a href=\"#image-hashes\">SHA-256<\/a>.<\/li><li>Copy <code class=\"ae-md-inline-code\">V4-test.bin<\/code> to the transfer card using Explorer\/Finder\/the Linux file manager. Safely eject it, then mount it on the V4 using the <a href=\"#microSD-transfer\">microSD procedure<\/a>.<\/li><li>Run <code class=\"ae-md-inline-code\">Info<\/code> on the V4. Identify the transfer volume and an expendable destination on the spare CF. In the following example, replace <code class=\"ae-md-inline-code\">Transfer:<\/code> and <code class=\"ae-md-inline-code\">TestData:<\/code> with the names actually shown. Do not assume the volume label is <code class=\"ae-md-inline-code\">SD0:<\/code>.<\/li><li>Make a new test drawer, then copy the file from the transfer card into it:<\/li><\/ol>\n<pre class=\"ae-md-code-block\"><code class=\"ae-md-code-block-code language-text\">MakeDir TestData:V4-copy-test\nCopy Transfer:V4-test.bin TO TestData:V4-copy-test\/V4-test.bin\nList TestData:V4-copy-test\/V4-test.bin<\/code><\/pre>\n<ol><li>Check for errors and confirm that the reported file size is plausible. Finish writes and perform a <a href=\"#cold-start\">cold start<\/a>, so the following read is not simply the first copy&#039;s immediate cache contents.<\/li><li>Mount the transfer card again if needed. Copy the CF file back under a <strong>different name<\/strong>:<\/li><\/ol>\n<pre class=\"ae-md-code-block\"><code class=\"ae-md-code-block-code language-text\">Copy TestData:V4-copy-test\/V4-test.bin TO Transfer:V4-return.bin<\/code><\/pre>\n<ol><li>Finish writes and use the release&#039;s documented unmount action. If that action is unavailable, power the V4 off completely before removing the card.<\/li><li>On the host, copy <code class=\"ae-md-inline-code\">V4-return.bin<\/code> to a new folder and calculate its SHA-256 using the <a href=\"#image-hashes\">command for your host<\/a>. Compare it with the original <code class=\"ae-md-inline-code\">V4-test.bin<\/code> hash and byte length.<\/li><li>Matching sizes and hashes mean this round trip preserved those bytes. A mismatch identifies a problem somewhere along that path; it does not identify the faulty component by itself. Repeat with one changed component, retaining both files and the error record.<\/li><\/ol>\n<p>Once this small test passes, repeat with a larger expendable file if the original fault involved large transfers. This is a practical transfer check, not a complete test of every sector or filesystem structure.<\/p>\n<h3>\u2699\ufe0f Check IDE timing and partition transfer settings separately<\/h3>\n<p><strong>IDE timing<\/strong> controls the storage interface. <strong>MaxTransfer<\/strong> limits the amount requested in one filesystem transfer. <strong>Mask<\/strong> describes the memory addresses allowed for transfers. These settings are not interchangeable.<\/p>\n<p>For an IDE-speed change:<\/p>\n<ol><li>Run <code class=\"ae-md-inline-code\">Type S:Startup-Sequence<\/code> and <code class=\"ae-md-inline-code\">Type S:User-Startup<\/code> where present. Locate the <code class=\"ae-md-inline-code\">VControl<\/code> or <code class=\"ae-md-inline-code\">ApolloControl<\/code> line and follow the <a href=\"#edit-startup\">startup-file backup procedure<\/a>.<\/li><li>If corruption began after that command was added or changed, undo that specific change.<\/li><li><a href=\"#cold-start\">Cold-start<\/a> and repeat the <a href=\"#transfer-test\">file round-trip test<\/a>.<\/li><li>For an installed VControl, run <code class=\"ae-md-inline-code\">C:VControl HELP<\/code> and record its available IDE options. For ApolloControl, open the guide supplied with that exact version. Do not substitute command names between the utilities.<\/li><\/ol>\n<p>The microSD clock is a separate setting. Do not change it to fix an internal IDE problem.<\/p>\n<p>For partition settings:<\/p>\n<ol><li><a href=\"#cf-write\">Restore a verified backup to a spare<\/a>. Run the <a href=\"#rdb-inspection\">read-only RDB inspection<\/a> to record each partition&#039;s <code class=\"ae-md-inline-code\">mask<\/code> and <code class=\"ae-md-inline-code\">max_transfer<\/code>, filesystem type and embedded handler. Also record the OS image\/release and controller configuration. These are diagnostic observations, not replacement values.<\/li><li>Confirm any replacement values against the instructions for <strong>that V4\/V4+ image, controller and filesystem<\/strong>. A screenshot from a different installation is not enough to establish the correct values.<\/li><li>If the fault affects only a newly added partition, compare its settings with a working partition using the same controller and filesystem. Treat differences as clues; do not automatically copy settings from a different filesystem or boot environment.<\/li><li>If the correct values cannot be established, leave them unchanged and supply the recorded configuration when requesting help.<\/li><li>Make only the confirmed change on the spare, using the procedure for its partition tool. Reboot, reopen the tool to check that the intended values were saved, and repeat the same transfer test.<\/li><\/ol>\n<p>There is no single Mask\/MaxTransfer pair prescribed here for every V4 installation. A change to these fields does not repair files that are already damaged.<\/p>\n<h3>\ud83d\udea8 PFS3 reports \u201cWrong Index Block ID\u201d<\/h3>\n<ol><li>Stop writes to the affected partition.<\/li><li>Preserve a whole-card image and work on a copy.<\/li><li>Use the <a href=\"#rdb-inspection\">RDB inspection<\/a> to identify its filesystem type and embedded handler version. If the installation also has <code class=\"ae-md-inline-code\">L:pfs3_aio-handler<\/code>, run <code class=\"ae-md-inline-code\">Version L:pfs3_aio-handler FILE FULL<\/code> on the V4. Record both results; a file on disk is not proof that the same handler is active.<\/li><li>Check storage reliability and the handler&#039;s release notes before choosing a repair or upgrade.<\/li><li>Recover files to a separate destination before considering a rebuild.<\/li><\/ol>\n<p>The error is not a unique diagnosis. PFS3aio has fixed multiple corruption bugs, including defects triggered by rapidly creating many small files on larger partitions.<\/p>\n<p><strong>A specific historical case:<\/strong> PFS3aio <strong>3.0<\/strong>, when using the affected <strong>AmigaOS 3.1.4 SCSIDIRECT mode<\/strong>, could corrupt the partition. PFS3aio <strong>3.1<\/strong> fixes that defect, but the affected filesystem requires reformatting and restoration <strong>after its files have been recovered<\/strong>. Merely replacing the handler does not repair existing damage.<\/p>\n<p>That version-specific requirement does not mean every index-block error should be treated by formatting. Use PFS3 repair tools only on a copy and only when they support the affected filesystem format.<\/p>\n<h3>\u26a0\ufe0f PFS3 warns about an experimental partition size<\/h3>\n<p>Some PFS3aio releases describe <strong><code class=\"ae-md-inline-code\">&gt;104G<\/code> partition support<\/strong> as experimental and unsupported.<\/p>\n<ol><li>Cancel the operation until you have checked the limits of the exact handler version.<\/li><li>Locate that partition in the <a href=\"#rdb-inspection\">RDB inspection output<\/a> and record its size. Do not substitute the card&#039;s advertised capacity.<\/li><li>For a new installation, choose partition sizes supported by the complete storage setup.<\/li><li>Keep existing data backed up before altering any layout.<\/li><\/ol>\n<p>A 128 GB card does not need one partition spanning almost the entire device. Do not accept an experimental-format warning merely because the hardware has enough space.<\/p>\n<h3>\ud83d\udcd0 A larger CF still has the old image&#039;s partition sizes<\/h3>\n<p>Restoring an image reproduces its partition layout. It does not automatically expand the filesystems to fill a larger destination.<\/p>\n<ol><li>Verify the restored image and test that it boots before making changes.<\/li><li>Back up the replacement and record the existing partition boundaries.<\/li><li>Measure the <a href=\"#exact-sizes\">physical card in bytes<\/a>, then inspect the <a href=\"#rdb-inspection\">RDB image copy<\/a>. Compare its <code class=\"ae-md-inline-code\">BlockDevice<\/code>, <code class=\"ae-md-inline-code\">PhysicalDisk<\/code>, <code class=\"ae-md-inline-code\">LogicalDisk<\/code> and partition ranges.<\/li><li>Establish whether the extra capacity lies beyond the disk definition, between existing partitions, or inside a partition whose filesystem has its own size limit. These require different solutions.<\/li><li>Before changing the layout, obtain the expansion procedure for the exact <strong>V4\/V4+ OS image and filesystem<\/strong>. If that procedure is unavailable, keep using the verified existing layout; unused capacity does not prevent it from working.<\/li><\/ol>\n<p>Changing a populated partition&#039;s boundaries is not a safe way to enlarge its filesystem. Treat resizing or moving it as destructive unless a specifically supported migration procedure establishes otherwise.<\/p>\n<h3>\ud83d\udcd0 Check unused space before changing partitions<\/h3>\n<p>Use this checklist to assess a proposed V4\/V4+ storage procedure:<\/p>\n<ol><li>Confirm that a complete backup can be restored to a spare.<\/li><li>Use the <a href=\"#exact-sizes\">physical-size check<\/a>, <a href=\"#rdb-inspection\">RDB inspection<\/a> and <a href=\"#record-setup\">configuration record<\/a>. Save the outputs before considering the proposed layout.<\/li><li>Confirm that the proposed data area is outside every existing partition and inside the usable disk range.<\/li><li>Check that the boot environment, driver and filesystem can address the proposed partition&#039;s end position.<\/li><li>Preserve populated partitions. Any formatting step must identify only the new, empty partition by its device name and size.<\/li><li>After following the release-specific procedure on a spare, run the <a href=\"#transfer-test\">file round-trip test<\/a> before storing important data.<\/li><\/ol>\n<p>This is a preparation checklist. The partition creation commands and settings must come from the procedure for the actual V4\/V4+ installation. If an existing volume appears uninitialised after a change, stop and compare its map with the backup; do not format it.<\/p>\n<h3>\ud83e\udded <code class=\"ae-md-inline-code\">Personal:<\/code> seems to refer to the wrong place<\/h3>\n<ol><li>Open a Shell and run <code class=\"ae-md-inline-code\">Assign<\/code>. Look under its assignment, volume and device headings for <code class=\"ae-md-inline-code\">Personal<\/code>.<\/li><li>Run <code class=\"ae-md-inline-code\">Info<\/code> to see which mounted volume\/device names correspond to the available filesystems.<\/li><li>Run <code class=\"ae-md-inline-code\">List Personal:<\/code> to see the directory contents reached by that name. This lists files; it does not alter the assignment.<\/li><li>Inspect <code class=\"ae-md-inline-code\">S:Startup-Sequence<\/code> and <code class=\"ae-md-inline-code\">S:User-Startup<\/code> with <code class=\"ae-md-inline-code\">Type<\/code>, looking for the line creating the assignment. Check any launcher it invokes as well.<\/li><li>If the mapping changed with an edit, use the <a href=\"#edit-startup\">startup-file procedure<\/a> to restore the previous line on a spare, then reboot and repeat <code class=\"ae-md-inline-code\">Assign<\/code> and <code class=\"ae-md-inline-code\">List Personal:<\/code>.<\/li><\/ol>\n<p><code class=\"ae-md-inline-code\">DH0:<\/code> is a device name; <code class=\"ae-md-inline-code\">Personal:<\/code> can be a volume label or an assign. Neither alone identifies the physical disk a partitioning tool will modify. On multiboot installations, do not remap a shared data name until the other installations&#039; use of it is understood.<\/p>\n<span id=\"native-extraction\" class=\"ae-md-anchor\"><\/span>\n<h3>\ud83d\udce6 Programs are broken although the raw image verified<\/h3>\n<p>Use this to check an <strong>application archive<\/strong>, not to unpack a many-gigabyte system image into the V4&#039;s RAM disk.<\/p>\n<ol><li>Keep the original archive unchanged on the host. Copy the archive itself to a compatible microSD transfer card and <a href=\"#microSD-transfer\">mount it on the V4<\/a>.<\/li><li>In a Shell, run <code class=\"ae-md-inline-code\">Info<\/code> and identify an Amiga filesystem on the spare CF with enough free space. Make a new extraction drawer. Replace the volume name with yours:<\/li><\/ol>\n<pre class=\"ae-md-code-block\"><code class=\"ae-md-code-block-code language-text\">MakeDir TestData:Extract-test<\/code><\/pre>\n<ol><li>For an <strong>LhA archive<\/strong> with the Amiga <code class=\"ae-md-inline-code\">LhA<\/code> command installed, test it first, then extract with paths preserved. Substitute the real transfer volume and archive name:<\/li><\/ol>\n<pre class=\"ae-md-code-block\"><code class=\"ae-md-code-block-code language-text\">LhA t Transfer:Program.lha\nLhA x Transfer:Program.lha TestData:Extract-test\/<\/code><\/pre>\n<ol><li>For a <strong>ZIP archive<\/strong>, use the Amiga\/AROS <code class=\"ae-md-inline-code\">UnZip<\/code> utility if installed:<\/li><\/ol>\n<pre class=\"ae-md-code-block\"><code class=\"ae-md-code-block-code language-text\">UnZip -t Transfer:Program.zip\nUnZip Transfer:Program.zip -d TestData:Extract-test<\/code><\/pre>\n<ol><li>If the command is missing, use the distribution&#039;s archive application&#039;s <strong>Open \u2192 Extract<\/strong> controls and choose the new drawer. Do not substitute an unverified archive utility or extract over the live installation.<\/li><li>Require the test\/extraction to complete without CRC, data or write errors. Open the extracted ReadMe or Installer and follow the package&#039;s OS requirements.<\/li><li>To inspect one program&#039;s attributes, use <code class=\"ae-md-inline-code\">List &quot;TestData:Extract-test\/Program&quot;<\/code>. On a file known to be the actual executable, an absent execute permission can be restored with:<\/li><\/ol>\n<pre class=\"ae-md-code-block\"><code class=\"ae-md-code-block-code language-text\">Protect &quot;TestData:Extract-test\/Program&quot; +e<\/code><\/pre>\n<ol><li>Use that correction only after checking the archive and program identity. Do not mark data files or whole directories executable. Launch the cleanly extracted copy and compare it with the failed installation.<\/li><\/ol>\n<p>Host extraction can lose Amiga metadata or mishandle filenames. A raw-image restore preserves the image&#039;s bytes; it cannot correct an image assembled from a damaged or incorrectly extracted application tree.<\/p>\n<span id=\"peripherals\" class=\"ae-md-anchor\"><\/span>\n<h2>\ud83d\udd17 Peripherals and connections<\/h2>\n<h3>\u2328\ufe0f A USB keyboard or mouse does not work<\/h3>\n<p>The V4&#039;s native USB input ports implement supported input protocols in hardware. Installing an Amiga USB stack does not make these ports support arbitrary USB devices.<\/p>\n<ol><li>Check the labels and port diagram for <strong>your board or expansion enclosure<\/strong>. Port numbers and positions differ.<\/li><li>Connect the keyboard and mouse directly to their assigned ports.<\/li><li>Remove hubs, KVM switches and adapters for the test.<\/li><li>Try a simple device confirmed compatible with the V4. Keyboard and mouse support depends on the required USB <strong>boot protocol<\/strong>.<\/li><li>Test recognition from a cold start, particularly if you need the mouse for Early Startup.<\/li><li>If the problem began with a core change, compare against the previous matching setup before replacing peripherals.<\/li><\/ol>\n<p>If reconnecting a mouse after boot makes it work, record that result as an initialisation\/compatibility clue. It does not prove that the mouse will work at power-on.<\/p>\n<p>Ordinary USB storage sticks are not supported through these native input ports. Use CF, supported microSD storage or networking for files.<\/p>\n<h3>\ud83c\udfae Characters or controller buttons are wrong<\/h3>\n<ol><li>For a working keyboard that types the wrong characters, open <strong>SYS:Prefs\/Input<\/strong> on AmigaOS, or <strong>Prefs \u2192 Input<\/strong> on an ApolloOS release containing that editor. Select the keyboard layout matching the physical keyboard, choose <strong>Use<\/strong> to try it, then type letters, punctuation and symbols into an unsaved editor document. Return and <strong>Save<\/strong> only if correct. On AmigaOS, a missing PC layout may need the keymaps from the matching SAGA package installed in <code class=\"ae-md-inline-code\">DEVS:Keymaps<\/code>.<\/li><li>Check the Amiga-key equivalents: Windows keys provide Amiga-key functions; right Ctrl can act as right Amiga; Page Up\/Page Down provide Help on the supported mapping.<\/li><li>For the <strong>Apollo joypad<\/strong>, set the rear mode switch to <strong>D<\/strong>.<\/li><li>For another USB controller, check its exact model and core compatibility. A D\/X switch alone is not proof of support.<\/li><li>Check the game&#039;s own button support and per-game configuration.<\/li><\/ol>\n<p>For DB-9 input, use devices approved for the actual board and core. The connector&#039;s shape does not guarantee electrical or functional compatibility, and historical V4 documentation differs on some legacy input capabilities.<\/p>\n<h3>\ud83d\udd70\ufe0f The clock resets after power-off<\/h3>\n<ol><li>Check whether a battery-backed RTC is actually fitted. Without one, the machine cannot maintain time while completely unpowered.<\/li><li>If a compatible <strong>DS3231<\/strong> module is fitted, run <code class=\"ae-md-inline-code\">Version C:I2Clock FULL<\/code> to check the utility and note the result. On AmigaOS, use the matching SAGA installer&#039;s I2C support. On ApolloOS, use the driver and utility supplied for that release; this is not an instruction to install the AmigaOS package over it.<\/li><li>Open <strong>SYS:Prefs\/Time<\/strong> (or the release&#039;s Time preferences), set the current date\/time and apply it. In a Shell run <code class=\"ae-md-inline-code\">Date<\/code> and check the displayed result before writing it to the RTC. Do not save a clearly incorrect system date to the battery clock.<\/li><li>Save the current time to the RTC from the Shell:<\/li><\/ol>\n<pre class=\"ae-md-code-block\"><code class=\"ae-md-code-block-code language-text\">I2Clock CHIP=DS3231 SAVE<\/code><\/pre>\n<ol><li>Use the <a href=\"#edit-startup\">startup-file backup\/editor procedure<\/a> for <code class=\"ae-md-inline-code\">S:User-Startup<\/code>. Inspect the existing file first; if there is no equivalent RTC load command, add this line after the required driver is available:<\/li><\/ol>\n<pre class=\"ae-md-code-block\"><code class=\"ae-md-code-block-code language-text\">I2Clock CHIP=DS3231 LOAD<\/code><\/pre>\n<ol><li>Finish disk activity, switch off, remove power and start again. Check that the saved time has advanced correctly.<\/li><li>If it has not, run <code class=\"ae-md-inline-code\">I2Clock CHIP=DS3231 LOAD<\/code> manually, record any error, then run <code class=\"ae-md-inline-code\">Date<\/code> again. If manual loading works but boot-time loading fails, inspect the saved startup line and driver-loading order. If manual loading also fails, remove power before checking the module connection or battery.<\/li><\/ol>\n<p>Fit or remove an RTC only with all power disconnected. Match the module&#039;s pinout and electrical requirements to the board; \u201cDS3231\u201d on a module is not sufficient confirmation of the connector layout.<\/p>\n<h3>\ud83d\udd0a There is no sound<\/h3>\n<ol><li>Connect the V4 directly to an audio-capable display through its digital A\/V output.<\/li><li>Check the display&#039;s selected audio input, volume and mute settings.<\/li><li>Test a known-working game or audio file.<\/li><li>If game audio works but one application is silent, open that application&#039;s audio settings and record its output backend and AHI unit, if used. Open <strong>SYS:Prefs\/AHI<\/strong> where installed, select the same unit, record the current mode and volume, then try an installed mode intended for the V4. Use its test\/play control if provided. Apply with <strong>Use<\/strong>, retest the application and save only a working setting; restore the original mode if it does not help. If no V4 mode is listed, check the matching OS driver package before changing other units.<\/li><li>If you use external speakers, confirm the actual audio path: display audio output, a supported expansion-board output or a suitable digital-video audio extractor.<\/li><li>Remove the extractor temporarily if it causes new video problems.<\/li><\/ol>\n<p>The standard Standalone sends digital audio with its video output. A separate analogue jack depends on expansion hardware. A video connection through DVI does not provide the same assured audio path.<\/p>\n<span id=\"network-checks\" class=\"ae-md-anchor\"><\/span>\n<h3>\ud83c\udf10 Ethernet is connected but networking fails<\/h3>\n<p>Start with a direct connection to a working router\/switch port and a known-good cable. Identify the installed TCP\/IP stack before changing its configuration. On <strong>AmigaOS with the SAGA driver package<\/strong>, the onboard interface uses <code class=\"ae-md-inline-code\">DEVS:Networks\/v4net.device<\/code>; ApolloOS supplies its own driver\/stack arrangement.<\/p>\n<p><strong>AmigaOS with Roadshow already installed<\/strong><\/p>\n<ol><li>Open a Shell and run these read-only commands:<\/li><\/ol>\n<pre class=\"ae-md-code-block\"><code class=\"ae-md-code-block-code language-text\">Version DEVS:Networks\/v4net.device FILE FULL\nList DEVS:NetInterfaces\nShowNetStatus INTERFACES ROUTES DNS<\/code><\/pre>\n<ol><li>Note the interface name, address, default route and DNS servers. Use <code class=\"ae-md-inline-code\">Type DEVS:NetInterfaces\/YourInterface<\/code> to inspect the relevant configuration file, replacing <code class=\"ae-md-inline-code\">YourInterface<\/code> with its actual name. Check its <code class=\"ae-md-inline-code\">device<\/code> and <code class=\"ae-md-inline-code\">unit<\/code>; do not run several interface definitions for the same hardware.<\/li><li>If that configured interface is not running, start <strong>that existing definition<\/strong>:<\/li><\/ol>\n<pre class=\"ae-md-code-block\"><code class=\"ae-md-code-block-code language-text\">AddNetInterface DEVS:NetInterfaces\/YourInterface<\/code><\/pre>\n<ol><li>Preserve any error. Re-run <code class=\"ae-md-inline-code\">ShowNetStatus INTERFACES ROUTES DNS<\/code> and check whether an address and default route now appear. If this is a DHCP network but the file forces an old fixed address, use the correction below.<\/li><li>Close network applications before a controlled stack restart. <code class=\"ae-md-inline-code\">NetShutdown<\/code> stops Roadshow; wait for completion and dismiss any demo requester before <code class=\"ae-md-inline-code\">AddNetInterface<\/code> starts the intended interface again.<\/li><\/ol>\n<p><strong>Repair an old static Roadshow setup for a DHCP router \u2014 AmigaOS 3.x<\/strong><\/p>\n<p>This procedure is for <strong>one wired interface on a router that supplies DHCP<\/strong>. Keep a deliberately managed static or multi-interface configuration intact until its network requirements are known. Replace <code class=\"ae-md-inline-code\">YourInterface<\/code> with the existing filename identified above.<\/p>\n<ol><li>Close network applications. Run <code class=\"ae-md-inline-code\">NetShutdown<\/code> and wait for completion, dismissing any demo requester.<\/li><li>Create a new backup drawer outside <code class=\"ae-md-inline-code\">DEVS:NetInterfaces<\/code>. Run <code class=\"ae-md-inline-code\">MakeDir SYS:V4-backups<\/code> only if that parent drawer does not exist, then run <code class=\"ae-md-inline-code\">MakeDir SYS:V4-backups\/Roadshow-before-test<\/code>. If the latter already exists, choose a new suffix throughout these steps.<\/li><li>Use <code class=\"ae-md-inline-code\">List<\/code> to check the three source paths below, then copy <strong>each existing file<\/strong>. Note any file that was absent. Keep a separate copy of this backup drawer on transfer media too:<\/li><\/ol>\n<pre class=\"ae-md-code-block\"><code class=\"ae-md-code-block-code language-text\">Copy DEVS:NetInterfaces\/YourInterface TO SYS:V4-backups\/Roadshow-before-test\/YourInterface CLONE\nCopy DEVS:Internet\/routes TO SYS:V4-backups\/Roadshow-before-test\/routes CLONE\nCopy DEVS:Internet\/name_resolution TO SYS:V4-backups\/Roadshow-before-test\/name_resolution CLONE<\/code><\/pre>\n<ol><li>Open <code class=\"ae-md-inline-code\">Ed DEVS:NetInterfaces\/YourInterface<\/code>. Preserve <code class=\"ae-md-inline-code\">device<\/code> and <code class=\"ae-md-inline-code\">unit<\/code>. Put <strong><code class=\"ae-md-inline-code\">#<\/code><\/strong> before active fixed <code class=\"ae-md-inline-code\">address=<\/code> and <code class=\"ae-md-inline-code\">netmask=<\/code> lines and before other <code class=\"ae-md-inline-code\">configure=<\/code> lines. Leave exactly one active line:<\/li><\/ol>\n<pre class=\"ae-md-code-block\"><code class=\"ae-md-code-block-code language-text\">configure=dhcp<\/code><\/pre>\n<ol><li>Save with <strong>Esc<\/strong>, <code class=\"ae-md-inline-code\">X<\/code>, Return. Roadshow configuration files use <strong><code class=\"ae-md-inline-code\">#<\/code> for comments<\/strong>; this is different from a Shell script&#039;s semicolon. <code class=\"ae-md-inline-code\">configure=auto<\/code> is not another spelling of DHCP. Do not keep backup interface definitions alongside live files in <code class=\"ae-md-inline-code\">DEVS:NetInterfaces<\/code>, where startup may load them too.<\/li><li>If <code class=\"ae-md-inline-code\">DEVS:Internet\/routes<\/code> exists, open it with <code class=\"ae-md-inline-code\">Ed<\/code>. In this single-interface DHCP setup, put <code class=\"ae-md-inline-code\">#<\/code> before an obsolete forced <code class=\"ae-md-inline-code\">default ...<\/code> route. If <code class=\"ae-md-inline-code\">DEVS:Internet\/name_resolution<\/code> exists, open it and put <code class=\"ae-md-inline-code\">#<\/code> before obsolete forced <code class=\"ae-md-inline-code\">nameserver ...<\/code> entries. Preserve unrelated lookup\/domain settings. Save each edited file; absent files need not be created for this DHCP test.<\/li><li>Inspect the saved files with <code class=\"ae-md-inline-code\">Type<\/code> using their full paths. Then start the intended interface and inspect the result:<\/li><\/ol>\n<pre class=\"ae-md-code-block\"><code class=\"ae-md-code-block-code language-text\">AddNetInterface DEVS:NetInterfaces\/YourInterface\nShowNetStatus INTERFACES ROUTES DNS<\/code><\/pre>\n<ol><li>Check for a DHCP address on the expected LAN, a default route and usable DNS servers. An automatically chosen <code class=\"ae-md-inline-code\">169.254.x.x<\/code> address is not a successful router DHCP lease. Run the numeric-address and hostname tests below, then reboot and repeat them to confirm the saved setup starts correctly.<\/li><li>If DHCP gives an address but omits a required gateway or DNS server, obtain the actual values from the router or a working computer on <strong>the same LAN<\/strong>, using the host checks below. Close network applications and run <code class=\"ae-md-inline-code\">NetShutdown<\/code>. Open <code class=\"ae-md-inline-code\">Ed DEVS:Internet\/routes<\/code> and add or correct one <code class=\"ae-md-inline-code\">default GATEWAY_ADDRESS<\/code> line. Open <code class=\"ae-md-inline-code\">Ed DEVS:Internet\/name_resolution<\/code> and add or correct <code class=\"ae-md-inline-code\">nameserver DNS_ADDRESS<\/code>. Replace those uppercase placeholders with the confirmed numeric addresses; use a space, <strong>not <code class=\"ae-md-inline-code\">=<\/code><\/strong>. A gateway is not automatically a DNS server. Save, restart with <code class=\"ae-md-inline-code\">AddNetInterface<\/code> and repeat the tests.<\/li><li>To undo the changes, close network applications, run <code class=\"ae-md-inline-code\">NetShutdown<\/code>, and copy each backed-up file to its original path. For example:<\/li><\/ol>\n<pre class=\"ae-md-code-block\"><code class=\"ae-md-code-block-code language-text\">Copy SYS:V4-backups\/Roadshow-before-test\/YourInterface TO DEVS:NetInterfaces\/YourInterface CLONE\nCopy SYS:V4-backups\/Roadshow-before-test\/routes TO DEVS:Internet\/routes CLONE\nCopy SYS:V4-backups\/Roadshow-before-test\/name_resolution TO DEVS:Internet\/name_resolution CLONE<\/code><\/pre>\n<p>Run only the restore commands for files you actually backed up. If you created a previously absent <code class=\"ae-md-inline-code\">routes<\/code> or <code class=\"ae-md-inline-code\">name_resolution<\/code> file in step 9, remove <strong>that newly created file only<\/strong> with <code class=\"ae-md-inline-code\">Delete DEVS:Internet\/routes<\/code> or <code class=\"ae-md-inline-code\">Delete DEVS:Internet\/name_resolution<\/code>, as applicable. Restart the original interface and repeat the status checks.<\/p>\n<p><strong>ApolloOS installations with <code class=\"ae-md-inline-code\">SYS:Prefs\/Network<\/code><\/strong><\/p>\n<ol><li>Open the system disk&#039;s <strong>Prefs \u2192 Network<\/strong> application. If this release has a different network launcher, use the one supplied with that image; the following controls describe the AROS Network Preferences interface.<\/li><li>Photograph the current settings. Select the existing wired interface and choose <strong>Edit<\/strong>. Record <strong>Device<\/strong>, <strong>Unit<\/strong> and whether it is <strong>Active<\/strong>. Keep the driver supplied for this ApolloOS installation; do not install the AmigaOS SAGA network driver over it.<\/li><li>On a network using DHCP, choose <strong>Automatic<\/strong> under <strong>IP Mode<\/strong> for that interface, then accept the edit. Do not add a duplicate interface.<\/li><li>Apply\/Use the configuration as offered by that version. If asked to restart the stack or reboot, finish file transfers first and follow the request. Save for future boots only after a successful test.<\/li><li>Check the router&#039;s connected-device\/DHCP-client list for the V4&#039;s assigned address. The address field in an automatic-configuration editor is not always a live lease display. Record the address and the router&#039;s gateway\/DNS settings.<\/li><\/ol>\n<p><strong>Test connectivity in stages<\/strong><\/p>\n<ol><li>On the V4, use the installed stack&#039;s Ping tool. For Roadshow, the following sends four requests; replace the example address with your actual router address:<\/li><\/ol>\n<pre class=\"ae-md-code-block\"><code class=\"ae-md-code-block-code language-text\">Ping COUNT 4 192.168.1.1<\/code><\/pre>\n<ol><li>For an ApolloOS release with the usual AmiTCP-style <code class=\"ae-md-inline-code\">ping<\/code> installed, the corresponding syntax is <code class=\"ae-md-inline-code\">ping -c 4 192.168.1.1<\/code>. If the command is absent, use the release&#039;s network test utility; do not substitute Roadshow commands into ApolloOS.<\/li><li>Test another known reachable numeric IP address on your LAN. Replies establish reachability for those requests. A timeout can also mean the destination blocks ping.<\/li><li>Test a hostname, for example <code class=\"ae-md-inline-code\">Ping COUNT 4 example.com<\/code> on Roadshow or <code class=\"ae-md-inline-code\">ping -c 4 example.com<\/code> with the AmiTCP-style tool. A displayed numeric address shows name resolution worked, even if echo replies are blocked. An explicit name-resolution failure is a DNS clue.<\/li><li>If IP and name tests work but a website does not, check the browser&#039;s exact error and the V4 clock with <code class=\"ae-md-inline-code\">Date<\/code>. Test another site before changing the network configuration.<\/li><\/ol>\n<p><strong>Check from a second computer on the same LAN<\/strong><\/p>\n<div class=\"ae-md-table-wrap\" role=\"region\"><table class=\"ae-md-table ae-md-table-cols-3\"><thead><tr><th scope=\"col\" class=\"ae-md-th ae-md-col-1 ae-md-col-compact ae-md-col-nowrap\">Host<\/th><th scope=\"col\" class=\"ae-md-th ae-md-col-2 ae-md-col-wide\">Find its active network, gateway and DNS<\/th><th scope=\"col\" class=\"ae-md-th ae-md-col-3\">Test the V4 address, replacing this example<\/th><\/tr><\/thead><tbody><tr><td class=\"ae-md-td ae-md-col-1 ae-md-col-compact ae-md-col-nowrap\">Windows PowerShell<\/td><td class=\"ae-md-td ae-md-col-2 ae-md-col-wide\"><code class=\"ae-md-inline-code\">ipconfig \/all<\/code><\/td><td class=\"ae-md-td ae-md-col-3\"><code class=\"ae-md-inline-code\">ping -n 4 192.168.1.50<\/code><\/td><\/tr><tr><td class=\"ae-md-td ae-md-col-1 ae-md-col-compact ae-md-col-nowrap\">macOS<\/td><td class=\"ae-md-td ae-md-col-2 ae-md-col-wide\"><code class=\"ae-md-inline-code\">route -n get default<\/code> in Terminal; System Settings \u2192 Network \u2192 active connection \u2192 Details \u2192 <strong>TCP\/IP<\/strong> for its address\/router and <strong>DNS<\/strong> for servers<\/td><td class=\"ae-md-td ae-md-col-3\"><code class=\"ae-md-inline-code\">ping -c 4 192.168.1.50<\/code><\/td><\/tr><tr><td class=\"ae-md-td ae-md-col-1 ae-md-col-compact ae-md-col-nowrap\">Linux Terminal<\/td><td class=\"ae-md-td ae-md-col-2 ae-md-col-wide\"><code class=\"ae-md-inline-code\">ip -br address<\/code> and <code class=\"ae-md-inline-code\">ip route<\/code>; on a system using systemd-resolved, <code class=\"ae-md-inline-code\">resolvectl status<\/code> shows the DNS servers for each link<\/td><td class=\"ae-md-td ae-md-col-3\"><code class=\"ae-md-inline-code\">ping -c 4 192.168.1.50<\/code><\/td><\/tr><\/tbody><\/table><\/div>\n<p>Use the gateway and IPv4 DNS servers for the same network as the V4; a VPN or guest Wi-Fi can change routing or prevent local-device access. Do not copy a host&#039;s loopback resolver address such as <code class=\"ae-md-inline-code\">127.0.0.53<\/code> to Roadshow. If Linux does not use systemd-resolved, obtain the LAN DNS addresses from the router&#039;s DHCP settings instead.<\/p>\n<div class=\"ae-md-table-wrap\" role=\"region\"><table class=\"ae-md-table ae-md-table-cols-2\"><thead><tr><th scope=\"col\" class=\"ae-md-th ae-md-col-1\">Result<\/th><th scope=\"col\" class=\"ae-md-th ae-md-col-2 ae-md-col-wide\">Next check<\/th><\/tr><\/thead><tbody><tr><td class=\"ae-md-td ae-md-col-1\">No physical link, where the hardware shows it<\/td><td class=\"ae-md-td ae-md-col-2 ae-md-col-wide\">Change the cable and router port, one at a time.<\/td><\/tr><tr><td class=\"ae-md-td ae-md-col-1\">Link but no usable address<\/td><td class=\"ae-md-td ae-md-col-2 ae-md-col-wide\">Check the selected interface and DHCP result; retain the stack&#039;s first error.<\/td><\/tr><tr><td class=\"ae-md-td ae-md-col-1\">Address but no local communication<\/td><td class=\"ae-md-td ae-md-col-2 ae-md-col-wide\">Compare subnet\/gateway settings and check router client isolation or an address conflict.<\/td><\/tr><tr><td class=\"ae-md-td ae-md-col-1\">Numeric IP works but a hostname cannot be resolved<\/td><td class=\"ae-md-td ae-md-col-2 ae-md-col-wide\">Inspect the configured DNS servers and DHCP settings.<\/td><\/tr><tr><td class=\"ae-md-td ae-md-col-1\">Other network activity works but one site fails<\/td><td class=\"ae-md-td ae-md-col-2 ae-md-col-wide\">Check browser\/TLS compatibility, certificates and system date.<\/td><\/tr><\/tbody><\/table><\/div>\n<p>If networking fails only after leaving a game, test the <a href=\"#whdload\">WHDLoad shutdown\/cleanup sequence<\/a>.<\/p>\n<span id=\"microSD-transfer\" class=\"ae-md-anchor\"><\/span>\n<h3>\ud83d\udcbe Prepare or mount a microSD transfer card<\/h3>\n<p>Keep the <strong>microSD transfer card<\/strong> separate from the <strong>CF system disk<\/strong>. An SDHC card in the 4\u201332 GB range with FAT32 is a conservative transfer choice for the documented setup.<\/p>\n<p><strong>If ApolloOS can already read and write the card, leave its format alone.<\/strong><\/p>\n<p>To mount an existing compatible card:<\/p>\n<ol><li>Insert it correctly into the slot.<\/li><li>In the applicable ApolloOS desktop, choose <strong>Start Menu \u2192 SD Card \u2192 Mount<\/strong>.<\/li><li>Run <code class=\"ae-md-inline-code\">Info<\/code> to identify its mounted volume name, then follow the <a href=\"#transfer-test\">file round-trip test<\/a>.<\/li><li>Finish transfers and use the installation&#039;s flush\/unmount operation before removal. If uncertain, finish writes and power down first.<\/li><\/ol>\n<p>To prepare an otherwise unsuitable <strong>spare transfer card<\/strong> in Windows:<\/p>\n<ol><li>Back up everything on that microSD card. The following format erases it.<\/li><li>Disconnect the Amiga CF and other removable disks.<\/li><li>Open Rufus and select the correct microSD device.<\/li><li>Choose <strong>Non bootable<\/strong>, an <strong>MBR<\/strong> partition layout where selectable, and <strong>FAT32<\/strong>.<\/li><li>Set the label to <strong>SD0<\/strong> to follow the documented ApolloOS transfer setup. The label alone does not provide compatibility.<\/li><li>Select <strong>Quick format<\/strong> and disable <strong>Create extended label and icon files<\/strong>, where offered.<\/li><li>Check the selected device again, start formatting, wait for completion and safely eject.<\/li><li>Mount it in ApolloOS and test both reading and writing.<\/li><\/ol>\n<p><strong>Prepare a spare transfer card on macOS<\/strong><\/p>\n<ol><li>Back up its contents and disconnect the Amiga CF and other removable disks. Use an SDHC card in the stated 4\u201332 GB range for this procedure.<\/li><li>Open <strong>Applications \u2192 Utilities \u2192 Disk Utility<\/strong> and choose <strong>View \u2192 Show All Devices<\/strong>.<\/li><li>Select the <strong>physical microSD device<\/strong>, matching the reader and capacity. Select its top-level device, not the Mac&#039;s internal drive or an individual volume.<\/li><li>Click <strong>Erase<\/strong>. Enter <strong>SD0<\/strong> as the name, choose <strong>MS-DOS (FAT)<\/strong> as the format and <strong>Master Boot Record<\/strong> as the scheme.<\/li><li>If the scheme selector is missing, cancel and reselect the whole device. Recheck the target, then confirm Erase. This erases that microSD.<\/li><li>Wait for completion, click <strong>Done<\/strong>, eject the device and test mounting and a <a href=\"#transfer-test\">file round trip<\/a> on the V4.<\/li><\/ol>\n<p><strong>Prepare a spare transfer card on Linux \u2014 GNOME Disks<\/strong><\/p>\n<ol><li>Back up the microSD and disconnect the CF and other removable disks. Identify the SDHC card with the <a href=\"#exact-sizes\">Linux disk listing<\/a>.<\/li><li>Open <strong>Disks<\/strong>. Select the matching physical device in the left column and check its capacity and device path.<\/li><li>From the disk&#039;s menu choose <strong>Format Disk<\/strong>. Select the partitioning option described as <strong>Compatible with all systems and devices (MBR\/DOS)<\/strong>. Recheck the device before confirming; this replaces its partition table.<\/li><li>Select the resulting free space and press <strong>+<\/strong> to create a partition spanning the card. Enter <strong>SD0<\/strong> as its volume name and choose <strong>FAT<\/strong>, described as compatible with all systems\/devices.<\/li><li>Complete the creation. For a 4\u201332 GB SDHC card this should produce the FAT32 transfer volume. Check the filesystem description in Disks before continuing.<\/li><li>Use Disks&#039; <strong>Power Off\/Safely Remove<\/strong> action, then mount the card on the V4 and run the <a href=\"#transfer-test\">round-trip test<\/a>. If the AmigaOS SAGA\/GiggleDisk arrangement fails to recognise this Linux-created FAT32 volume, use the compatibility branch below.<\/li><\/ol>\n<p>These formatting instructions apply only to an expendable <strong>transfer microSD<\/strong>, never to a populated Amiga CF. A label such as <code class=\"ae-md-inline-code\">SD0<\/code> does not install a driver or make an unsupported card compatible.<\/p>\n<p><strong>\ud83d\udc27 Linux-created FAT32 mounts on the PC but is not recognised by GiggleDisk<\/strong><\/p>\n<p>Some GiggleDisk versions identify FAT volumes using the boot sector&#039;s eight-character OEM field. Linux FAT tools write <code class=\"ae-md-inline-code\">mkfs.fat<\/code>; the affected detection code expects <code class=\"ae-md-inline-code\">MSWIN?.?<\/code> or <code class=\"ae-md-inline-code\">MSDOS?.?<\/code>. This concerns the named <strong>AmigaOS SAGA\/GiggleDisk mounting route<\/strong>, not every ApolloOS SD driver.<\/p>\n<p>Use this only on the <strong>freshly prepared, backed-up spare transfer microSD<\/strong>, after confirming it is FAT32. An alternative is to prepare that spare with the Windows procedure above, then return it to the Linux\/V4 transfer workflow.<\/p>\n<ol><li>Return the microSD to Linux. Disconnect the CF and other removable disks. Run the following and identify the card&#039;s <strong>FAT32 partition<\/strong>, checking its parent disk, capacity, label and mount point:<\/li><\/ol>\n<pre class=\"ae-md-code-block\"><code class=\"ae-md-code-block-code language-bash\">lsblk -b -o NAME,PATH,TYPE,SIZE,FSTYPE,FSVER,LABEL,MOUNTPOINTS,MODEL<\/code><\/pre>\n<ol><li>Substitute that <strong>partition path<\/strong> for <code class=\"ae-md-inline-code\">\/dev\/sdX1<\/code> in every command below; a built-in reader may use <code class=\"ae-md-inline-code\">\/dev\/mmcblk0p1<\/code>. Do not use the whole-disk path. Unmount it if mounted:<\/li><\/ol>\n<pre class=\"ae-md-code-block\"><code class=\"ae-md-code-block-code language-bash\">sudo umount \/dev\/sdX1<\/code><\/pre>\n<ol><li>Read the OEM field without changing it:<\/li><\/ol>\n<pre class=\"ae-md-code-block\"><code class=\"ae-md-code-block-code language-bash\">sudo dd if=\/dev\/sdX1 bs=1 skip=3 count=8 status=none<\/code><\/pre>\n<ol><li>Continue only if the read succeeds and returns exactly <code class=\"ae-md-inline-code\">mkfs.fat<\/code>. If it already shows <code class=\"ae-md-inline-code\">MSWIN4.1<\/code>, or an <code class=\"ae-md-inline-code\">MSWIN<\/code>\/<code class=\"ae-md-inline-code\">MSDOS<\/code> identifier, this particular mismatch is not the explanation. Do not patch an unfamiliar result.<\/li><li>Recheck the selected partition in Disks. With it still unmounted, change only those eight bytes of its primary boot sector:<\/li><\/ol>\n<pre class=\"ae-md-code-block\"><code class=\"ae-md-code-block-code language-bash\">printf &#039;MSWIN4.1&#039; | sudo dd of=\/dev\/sdX1 bs=1 seek=3 count=8 conv=notrunc,fsync status=none<\/code><\/pre>\n<ol><li>Require a successful command with no I\/O error. Repeat the read command in step 3 and confirm <strong><code class=\"ae-md-inline-code\">MSWIN4.1<\/code><\/strong>. This changes an identification field; it does not repair a filesystem or make an unsupported driver compatible.<\/li><li>Safely remove the device in Disks. On the V4, run the AmigaOS mounting steps below so GiggleDisk generates a fresh MountList, then complete the <a href=\"#transfer-test\">round-trip test<\/a> before putting useful files on the card.<\/li><li>If this does not help, retain the mounting error. To return this still-expendable spare to its original Linux format, repeat the Linux preparation procedure; that erases it. Do not keep modifying boot-sector fields in search of a fix.<\/li><\/ol>\n<p><strong>AmigaOS 3.x with the SAGA SD tools installed<\/strong><\/p>\n<ol><li>Insert the already prepared transfer card and open a Shell. Run <code class=\"ae-md-inline-code\">SDDiag<\/code>.<\/li><li>Require a sensible <strong>Block Size<\/strong>, <strong>Blocks<\/strong> and <strong>Capacity<\/strong> report. Preserve any detection error rather than formatting the card to hide it.<\/li><li>If your installed package includes <code class=\"ae-md-inline-code\">SYS:System\/SDMountOnOff<\/code> and <code class=\"ae-md-inline-code\">C:GiggleDisk<\/code>, run:<\/li><\/ol>\n<pre class=\"ae-md-code-block\"><code class=\"ae-md-code-block-code language-text\">Execute SYS:System\/SDMountOnOff\nInfo<\/code><\/pre>\n<ol><li>Confirm that the expected transfer volume appears. The script generates card-specific MountLists under <code class=\"ae-md-inline-code\">T:SDMount<\/code> and attempts to mount them. If mounting fails, run <code class=\"ae-md-inline-code\">List T:SDMount<\/code> and <code class=\"ae-md-inline-code\">Type T:SDMount\/SD0<\/code> where that entry exists; record its device, geometry and filesystem path.<\/li><li>Do not copy another card&#039;s geometry into that entry. If a previously populated FAT32 card appears uninitialised, stop and check the generated entry and installed FAT handler; do not format it.<\/li><li>Once mounted, run the <a href=\"#transfer-test\">round-trip test<\/a>. These steps concern this named SAGA tool arrangement, not ApolloOS&#039;s native SD menu. Re-running a mount\/unmount script on a card already in use can unmount it, so finish transfers first.<\/li><\/ol>\n<p>SD boot support was added in the <strong>11K core generation<\/strong>, so \u201cthe microSD slot can never boot\u201d is outdated. Booting still requires a supported core and a correctly prepared boot installation; a FAT32 exchange card with copied files is not automatically one.<\/p>\n<p>On a spring-latched slot, press the card inward to release it. Do not pull it out against the latch.<\/p>\n<span id=\"graphics-games\" class=\"ae-md-anchor\"><\/span>\n<h2>\ud83c\udfae Graphics, games and applications<\/h2>\n<h3>\ud83d\udda5\ufe0f The desktop went black after saving a resolution<\/h3>\n<p><strong>For AmigaOS with the SAGA\/P96 RTG driver:<\/strong><\/p>\n<ol><li>Restart while holding <strong>Shift<\/strong> to bypass the driver&#039;s RTG modes and fall back to a native screen.<\/li><li>If that native screen is also invisible, use the display checks in <a href=\"#power-startup\">Power and startup<\/a>.<\/li><li>Once visible, open the boot disk&#039;s <strong>Prefs \u2192 ScreenMode<\/strong>, or enter <code class=\"ae-md-inline-code\">SYS:Prefs\/ScreenMode<\/code> in a Shell.<\/li><li>Select a mode supported by the display and use <strong>Test<\/strong> before saving it.<\/li><li>Save the working mode and reboot normally.<\/li><li>After confirming the working desktop survives a reboot, leave other display timings unchanged. If the bad mode must be removed from the available list, back up the P96 configuration and use the supplied Picasso96Mode documentation for that driver version; removing modes is a separate configuration task.<\/li><\/ol>\n<p><strong>For ApolloOS \u2014 recover a visible desktop:<\/strong><\/p>\n<ol><li>If available, connect the display on which this installation last worked. If the desktop becomes visible, open <strong>ScreenMode<\/strong> from the system&#039;s <strong>Prefs<\/strong> drawer, test a mode accepted by the intended display, then save it. Retest on that display.<\/li><li>If you still cannot see the desktop, power down and preserve the affected CF. Make a <a href=\"#cf-backup\">whole-device backup<\/a> if the card reads reliably; a backup made now preserves the current fault as well as your files.<\/li><li>Choose the image to use:<\/li><\/ol>\n<ul><li><strong>With a working backup:<\/strong> use a whole-CF image from <strong>before the screen-mode change<\/strong> that worked with the currently installed core. It restores the complete earlier installation, including its saved display settings.<\/li><li><strong>Without a working backup:<\/strong> use the official ApolloOS whole-device image specified for your Standalone\/core. It provides a clean installation for testing.<\/li><\/ul>\n<ol><li><a href=\"#cf-write\">Write the chosen image to a spare CF<\/a> and verify it. Keep the affected card disconnected while writing. Retain that original card and its backup for later file recovery; newer files will not appear in an older backup, and a clean image will not contain your personal files.<\/li><li>With the V4 fully unpowered, fit the verified spare and boot it on the previously working display. Keep the core unchanged during this test.<\/li><li>If the desktop is visible and a different mode is needed, open <strong>Prefs \u2192 ScreenMode<\/strong>, test the required mode and save only a working result.<\/li><li>If the spare is also invisible, return to the native-video, display and power checks. Record the exact ApolloOS image and core before seeking a release-specific recovery procedure.<\/li><\/ol>\n<p>The spare-card route requires only one CF in the V4 at a time. Do not swap cards while powered, or expect a CF reader to work in the V4&#039;s native USB input ports.<\/p>\n<p>A repair limited to the saved preference file needs the correct filename, boot route and target volume for that ApolloOS release. Do not delete guessed preference files. The AmigaOS SAGA\/P96 Shift shortcut is not a universal ApolloOS recovery method, and its driver package must not be installed over ApolloOS.<\/p>\n<h3>\ud83d\udd0e High-resolution modes disappeared after an update<\/h3>\n<ol><li>Use the <a href=\"#record-setup\">configuration-recording commands<\/a> and compare the results with the saved baseline.<\/li><li>Check the release&#039;s required software components.<\/li><li>Use the <a href=\"#rollback\">rollback procedure<\/a> to test the previous matching combination on a spare, or the <a href=\"#driver-update\">driver-update procedure<\/a> if the current core requires a newer package.<\/li><li>On <strong>AmigaOS with the SAGA\/P96 driver supporting <code class=\"ae-md-inline-code\">VideoMemSize<\/code><\/strong>, back up <code class=\"ae-md-inline-code\">DEVS:Monitors\/vampiregfx.info<\/code> and open its <a href=\"#icon-tooltypes\">tooltype list<\/a>. Record the existing <code class=\"ae-md-inline-code\">VideoMemSize<\/code> entry, including whether it is disabled in parentheses. Insufficient reserved framebuffer memory can hide modes.<\/li><li>Estimate one framebuffer as <strong>width \u00d7 height \u00d7 bytes per pixel<\/strong>: use 1 byte for 8-bit colour, 2 for 15\/16-bit, 3 for 24-bit and 4 for 32-bit. For example, 1280 \u00d7 720 \u00d7 4 is <strong>3,686,400 bytes<\/strong>. This is a basic framebuffer calculation, not a guarantee that every multi-screen arrangement fits that exact allocation.<\/li><li>If an unusually small reservation caused the problem, test the documented <strong><code class=\"ae-md-inline-code\">VideoMemSize=8M<\/code><\/strong> setting. The driver accepts a byte count or a <code class=\"ae-md-inline-code\">K<\/code>\/<code class=\"ae-md-inline-code\">M<\/code> suffix; <code class=\"ae-md-inline-code\">VideoMemSize=4M<\/code> is another valid example, not a universal recommendation. Edit the existing entry rather than adding a duplicate. These are icon tooltypes, not Shell commands, and do not apply to ApolloOS&#039;s native graphics driver.<\/li><li>Save the icon and reboot. Open <strong>Prefs \u2192 ScreenMode<\/strong>, check whether the missing mode has returned, use <strong>Test<\/strong>, then save only a working mode. Test a native Amiga screen too.<\/li><li>If this does not help, restore the backed-up icon and reboot. A larger framebuffer reservation cannot correct incompatible timings or a mismatched driver.<\/li><\/ol>\n<p>Do not import arbitrary monitor timings as the first response to a missing mode.<\/p>\n<h3>\ud83d\uddb1\ufe0f The pointer disappears, doubles or does not match clicks<\/h3>\n<ol><li>Test the pointer on the normal desktop and in more than one application.<\/li><li>If it fails only inside ShapeShifter or one program, check that application&#039;s screen and pointer configuration first.<\/li><li>If the problem began after an update or downgrade, compare the core with the graphics package installed on the CF.<\/li><li>Follow the <a href=\"#rollback\">rollback procedure<\/a> or <a href=\"#driver-update\">matched driver update<\/a>, then repeat the same pointer test.<\/li><li>Retest movement, clicks, menus and screen edges.<\/li><\/ol>\n<p>These symptoms can involve the graphics or application configuration; they do not identify one specific fault by themselves. Avoid replacing a single driver binary from an unrelated release or treating an old beta recommendation as a permanent fix.<\/p>\n<h3>\ud83d\uddbc\ufe0f Games are stretched or the image is cropped<\/h3>\n<ol><li>Test a native Amiga game separately from the RTG desktop.<\/li><li>For a stretched native image, try the display&#039;s <strong>4:3 \/ Aspect \/ Original<\/strong> setting. Classic Amiga screens generally target a 4:3 presentation.<\/li><li>For missing edges, disable the display&#039;s <strong>zoom or overscan<\/strong>. Options such as <strong>PC mode<\/strong>, <strong>Just Scan<\/strong> or <strong>1:1<\/strong> may help.<\/li><li>Open the game&#039;s launch icon using <a href=\"#icon-tooltypes\">Information<\/a> and inspect its existing settings. If it runs a script, read it with <code class=\"ae-md-inline-code\">Type &quot;actual\/path\/to\/launcher&quot;<\/code>. Record any zoom\/position command and temporarily undo only a change you introduced, using the <a href=\"#edit-startup\">file-edit procedure<\/a>.<\/li><li>Confirm that circles look round and that the full intended picture is visible.<\/li><\/ol>\n<p>A widescreen RTG desktop and a native game can need different scaling settings. Pixel-for-pixel display is not always the same as the intended picture aspect.<\/p>\n<h3>\ud83d\udc22 Scanlines appeared or the machine suddenly became slow<\/h3>\n<ol><li>On a core supporting the shortcuts, press <strong>F11<\/strong> to toggle scanlines or <strong>F12<\/strong> to toggle turtle mode.<\/li><li>Test whether the change affects the desktop and other programs.<\/li><li>If it returns only when launching one game, inspect that game&#039;s compatibility settings.<\/li><li>If it returns after every boot, run <code class=\"ae-md-inline-code\">Type S:Startup-Sequence<\/code> and <code class=\"ae-md-inline-code\">Type S:User-Startup<\/code> where present. Look for the control-utility invocation and any script it calls. Use the <a href=\"#edit-startup\">backup\/edit\/restore procedure<\/a> to test removal of a recently added slowdown\/scanline command.<\/li><li>Keep any required slowdown local to the affected title where possible.<\/li><\/ol>\n<p><strong>If scanlines return on the AmigaOS SAGA\/P96 RTG desktop:<\/strong><\/p>\n<ol><li>Back up the monitor icon and open <strong><code class=\"ae-md-inline-code\">DEVS:Monitors\/vampiregfx<\/code> \u2192 Information<\/strong>, using the <a href=\"#icon-tooltypes\">tooltype procedure<\/a>.<\/li><li>For the SAGA driver supporting this option, change its existing entry to <strong><code class=\"ae-md-inline-code\">Scanlines=No<\/code><\/strong>, or add that one entry if absent. <code class=\"ae-md-inline-code\">Scanlines=Yes<\/code> enables the effect. Remove a duplicate conflicting entry; leave unrelated tooltypes alone.<\/li><li>Save the icon, reboot and check the RTG desktop. This setting concerns RTG screens; a game&#039;s native-screen setting may differ.<\/li><li>If the change has no useful effect, restore the backed-up icon and reboot. Do not put this AmigaOS monitor tooltype into ApolloOS preferences.<\/li><\/ol>\n<p>Turtle mode is a deliberate compatibility slowdown. Newer cores offer additional speed settings: run <code class=\"ae-md-inline-code\">C:VControl HELP<\/code> on a VControl installation, or open the installed ApolloControl utility&#039;s supplied help for its version. Keep a game&#039;s required slowdown in its own launcher and retain the prior launcher for undoing that test.<\/p>\n<span id=\"whdload\" class=\"ae-md-anchor\"><\/span>\n<h3>\ud83e\uddca WHDLoad freezes or reports an interrupt error<\/h3>\n<p><strong>For an AmigaOS installation with a network stack or an added software USB stack:<\/strong><\/p>\n<ol><li>Close applications using the network or added USB hardware.<\/li><li><strong>For Roadshow<\/strong>, run <code class=\"ae-md-inline-code\">NetShutdown<\/code> in a Shell and wait for completion. For another network stack or an added software USB stack, use its own Offline\/Shutdown action. Do not apply Roadshow commands to ApolloOS or assume they stop an unrelated USB stack.<\/li><li>If a Roadshow demo displays a shutdown requester, dismiss it before launching the game.<\/li><li>Run the same WHDLoad title again with its previous settings.<\/li><li>If this resolves the fault, first restart the same Roadshow interface with <code class=\"ae-md-inline-code\">AddNetInterface DEVS:NetInterfaces\/YourInterface<\/code>, substituting its actual filename from the <a href=\"#network-checks\">network checks<\/a>. Verify that the network works again. Complete the automatic setup below only after both manual commands work.<\/li><\/ol>\n<p><strong>Automate a confirmed Roadshow fix \u2014 AmigaOS 3.x<\/strong><\/p>\n<ol><li>Inspect <code class=\"ae-md-inline-code\">S:WHDLoad.prefs<\/code> with <code class=\"ae-md-inline-code\">Type<\/code>. If it exists, back it up with the <a href=\"#edit-startup\">file backup\/editor method<\/a>. Look for active <code class=\"ae-md-inline-code\">ExecuteStartup<\/code> and <code class=\"ae-md-inline-code\">ExecuteCleanup<\/code> entries: if they already call scripts, back up and edit <strong>those actual scripts<\/strong>, preserving their other actions. Do not create a second hook arrangement.<\/li><li>If there are no existing hooks, use the filenames below. Back up either script if it already exists. If a file is absent, the following ED command creates a new text file; enter the indicated command, then <strong>Esc<\/strong>, <code class=\"ae-md-inline-code\">X<\/code>, Return to save and exit.<\/li><li>Open <code class=\"ae-md-inline-code\">Ed S:WHDLoad-Startup<\/code>. Add this command once, preserving any existing script content:<\/li><\/ol>\n<pre class=\"ae-md-code-block\"><code class=\"ae-md-code-block-code language-text\">NetShutdown<\/code><\/pre>\n<ol><li>Open <code class=\"ae-md-inline-code\">Ed S:WHDLoad-Cleanup<\/code>. Add the following, replacing <code class=\"ae-md-inline-code\">YourInterface<\/code> with the one already tested:<\/li><\/ol>\n<pre class=\"ae-md-code-block\"><code class=\"ae-md-code-block-code language-text\">AddNetInterface DEVS:NetInterfaces\/YourInterface<\/code><\/pre>\n<ol><li>Test the saved scripts manually, one at a time: run <code class=\"ae-md-inline-code\">Execute S:WHDLoad-Startup<\/code>, wait for shutdown and dismiss any demo requester; then run <code class=\"ae-md-inline-code\">Execute S:WHDLoad-Cleanup<\/code>. Check <code class=\"ae-md-inline-code\">ShowNetStatus INTERFACES ROUTES DNS<\/code> and repeat a successful <a href=\"#network-checks\">network test<\/a>. Fix any error before enabling the hooks. For an existing hook arrangement, test its actual script paths instead.<\/li><li>Open <code class=\"ae-md-inline-code\">Ed S:WHDLoad.prefs<\/code>, creating it if absent. For the new script arrangement, add or enable exactly these two entries. Remove a leading semicolon to enable a commented entry; do not leave duplicate active entries. If using existing scripts, retain their real paths instead:<\/li><\/ol>\n<pre class=\"ae-md-code-block\"><code class=\"ae-md-code-block-code language-text\">ExecuteStartup=Execute S:WHDLoad-Startup\nExecuteCleanup=Execute S:WHDLoad-Cleanup<\/code><\/pre>\n<ol><li>Save with <strong>Esc<\/strong>, <code class=\"ae-md-inline-code\">X<\/code>, Return. Use <code class=\"ae-md-inline-code\">Type S:WHDLoad.prefs<\/code> to check the saved hook lines. Close network applications, launch the same game, quit it normally and verify that the desktop and network both return. Dismiss a Roadshow demo shutdown requester if one appears.<\/li><li>If automation causes trouble, restore the saved prefs and scripts. If you created the hook entries from scratch, comment out both lines with <code class=\"ae-md-inline-code\">;<\/code> to disable them. Run the already tested <code class=\"ae-md-inline-code\">AddNetInterface<\/code> command manually if networking remains stopped.<\/li><\/ol>\n<p>This simple cleanup starts the named interface on exit, even if it was offline before the game. Use it for a setup that normally keeps that interface online. Added USB stacks require their own shutdown\/startup commands; these Roadshow scripts do not control them.<\/p>\n<p>For interrupt options:<\/p>\n<div class=\"ae-md-table-wrap\" role=\"region\"><table class=\"ae-md-table ae-md-table-cols-3\"><thead><tr><th scope=\"col\" class=\"ae-md-th ae-md-col-1\">Option<\/th><th scope=\"col\" class=\"ae-md-th ae-md-col-2 ae-md-col-wide\">What it does<\/th><th scope=\"col\" class=\"ae-md-th ae-md-col-3 ae-md-col-wide\">Where to set it<\/th><\/tr><\/thead><tbody><tr><td class=\"ae-md-td ae-md-col-1\"><code class=\"ae-md-inline-code\">NoAutoVec<\/code><\/td><td class=\"ae-md-td ae-md-col-2 ae-md-col-wide\">Prevents WHDLoad quitting solely because of an unexpected autovector interrupt\/NMI. It suppresses that exit; it does not repair the interrupt source.<\/td><td class=\"ae-md-td ae-md-col-3 ae-md-col-wide\">A per-game tooltype or command-line option; a global setting in <code class=\"ae-md-inline-code\">S:WHDLoad.prefs<\/code> is also supported. Test per game first.<\/td><\/tr><tr><td class=\"ae-md-td ae-md-col-1\"><code class=\"ae-md-inline-code\">ChkInts<\/code><\/td><td class=\"ae-md-td ae-md-col-2 ae-md-col-wide\">Adds interrupt checks and can terminate the program with diagnostic information.<\/td><td class=\"ae-md-td ae-md-col-3 ae-md-col-wide\"><strong>Per-game only<\/strong>, using an icon tooltype or command-line option. It is not a global <code class=\"ae-md-inline-code\">S:WHDLoad.prefs<\/code> option.<\/td><\/tr><\/tbody><\/table><\/div>\n<p>To test either option, use the <a href=\"#icon-tooltypes\">icon Information procedure<\/a> on <strong>one game&#039;s launch icon<\/strong>, add <code class=\"ae-md-inline-code\">ChkInts<\/code> or <code class=\"ae-md-inline-code\">NoAutoVec<\/code> as a separate entry, save and launch that same game. Record the result and remove the test entry afterwards. Use <code class=\"ae-md-inline-code\">ChkInts<\/code> to investigate an interrupt problem, then remove the diagnostic option when finished. Consider a global <code class=\"ae-md-inline-code\">NoAutoVec<\/code> setting only after establishing why several games need it. Do not add both automatically.<\/p>\n<p>The V4&#039;s built-in keyboard\/mouse input is not the same as an added software USB stack. Likewise, do not apply these AmigaOS stack instructions indiscriminately to ApolloOS\/AROS.<\/p>\n<h3>\ud83d\udd79\ufe0f One game fails while the rest work<\/h3>\n<ol><li>Photograph the WHDLoad splash\/error information and record the title and slave version\/date. In a Shell, run <code class=\"ae-md-inline-code\">Version C:WHDLoad FILE FULL<\/code> if WHDLoad is installed there. Keep the game&#039;s own ReadMe and release details with the report.<\/li><li>Read that install&#039;s requirements and supported tooltypes.<\/li><li>Test an applicable updated slave or documented per-game setting, changing one item at a time.<\/li><li>Keep the same game files when comparing cores, and the same core when comparing game patches.<\/li><li>Restore working defaults for other titles.<\/li><\/ol>\n<p>A title-specific failure does not establish that the CF or core is damaged. Avoid a system-wide downgrade solely because an unrelated game once worked better on a particular beta.<\/p>\n<h3>\ud83c\udf4e ShapeShifter will not start or has pointer problems<\/h3>\n<ol><li>Confirm that the Amiga desktop itself works correctly.<\/li><li>Back up ShapeShifter&#039;s launch script using the <a href=\"#edit-startup\">file-copy procedure<\/a>, and photograph its current memory\/display settings. If launched by an icon, back up that <code class=\"ae-md-inline-code\">.info<\/code> file too.<\/li><li>Check its required Macintosh ROM, memory and display configuration.<\/li><li>On the Vampire setup that already reserves the low Chip-RAM area for Macintosh emulation, remove a duplicate <strong>PrepareEmul<\/strong> step from the test launch configuration.<\/li><li>Check that the <strong>VBR is moved to Fast RAM<\/strong>, as required by that setup. On an installation using <strong>VControl<\/strong> with its documented <code class=\"ae-md-inline-code\">CPU<\/code> and <code class=\"ae-md-inline-code\">VBRMOVE<\/code> commands, open a Shell and inspect the current state:<\/li><\/ol>\n<pre class=\"ae-md-code-block\"><code class=\"ae-md-code-block-code language-text\">C:VControl CPU<\/code><\/pre>\n<ol><li>Read the <strong>VBR<\/strong> line. If it already reports Fast RAM, leave it alone. If it reports Chip RAM, first check that no other VBR-management utility is active. For the VControl-managed setup, run:<\/li><\/ol>\n<pre class=\"ae-md-code-block\"><code class=\"ae-md-code-block-code language-text\">C:VControl VBRMOVE 1\nC:VControl CPU<\/code><\/pre>\n<ol><li>Confirm that the second status report places the vector base in Fast RAM, then launch ShapeShifter and retest both desktops. Do not continue if the relocation fails or the status is unclear.<\/li><li>This VControl setting resets on reboot. If it resolves the problem, back up the launch script and add the command before ShapeShifter starts, following that installation&#039;s existing memory setup. Avoid duplicate VBR movers.<\/li><\/ol>\n<p>These commands assume VControl is installed in <code class=\"ae-md-inline-code\">C:<\/code>. Check <code class=\"ae-md-inline-code\">C:VControl HELP<\/code> if the installed version differs. An installation managed by <strong>ApolloControl<\/strong> needs that utility&#039;s own documented syntax; do not rename the command or add a second utility blindly.<\/p>\n<p>Avoid assuming that every duplicate pointer comes from the core. A problem confined to the emulated screen needs its own graphics\/configuration checks.<\/p>\n<h3>\u2328\ufe0f Space or another typing key makes IBrowse disappear<\/h3>\n<p>Treat this as a possible shortcut conflict, rather than a known V4 hardware fault.<\/p>\n<ol><li>Look for IBrowse&#039;s icon on Workbench. If present, double-click it to restore the window. Note whether the session and tabs are still there; that distinguishes iconification from a fresh application launch.<\/li><li>In IBrowse, choose <strong>Project \u2192 About MUI\u2026<\/strong> and record the version, then choose <strong>Preferences \u2192 MUI\u2026<\/strong>. This opens IBrowse&#039;s own MUI settings. Keep the change application-specific; do not start with the global <code class=\"ae-md-inline-code\">SYS:Prefs\/MUI<\/code> editor.<\/li><li>In the <strong>MUI 3.8 settings layout<\/strong>, select <strong>System<\/strong> in the left-hand page list, then find the <strong>Hotkey \/ Iconify-Hotkey<\/strong> field. This is the key combination that hides and shows the application. It is separate from the window&#039;s iconify-button checkbox. Use the same route in a later MUI build only if it presents this control; Zune or a different preferences layout needs its own matching help.<\/li><li>Photograph the current field. If it contains <code class=\"ae-md-inline-code\">space<\/code> or another typing key that reproduces the fault, click in the field, remove that shortcut text and press Return. Leave unrelated keyboard-navigation settings unchanged.<\/li><li>Click <strong>Test<\/strong> if offered, then return to IBrowse and type the previously failing key in an editable field. Confirm the window stays open. Also test normal iconification through IBrowse&#039;s <strong>Project \u2192 Iconify<\/strong>, then double-click its Workbench icon to return.<\/li><li>If the change resolves the conflict, return to the same MUI settings and click <strong>Save<\/strong>. Close and relaunch IBrowse, then repeat the typing test. If it did not help, choose <strong>Cancel<\/strong> before saving; if already saved, restore the photographed shortcut in the same field and save again.<\/li><li>If the field was already empty, the application actually quits, or several programs receive incorrect input, do not call this a confirmed MUI shortcut fault. Record the IBrowse\/MUI versions and return to keyboard\/keymap diagnosis.<\/li><\/ol>\n<span id=\"firmware-update\" class=\"ae-md-anchor\"><\/span>\n<h2>\ud83d\udee0\ufe0f Update a working V4<\/h2>\n<h3>\ud83c\udfaf Check the hardware and prerequisites first<\/h3>\n<ol><li>Complete the <a href=\"#record-setup\">configuration record<\/a>, including the exact <strong>Standalone model, board revision, fitted RAM and expansion hardware<\/strong>.<\/li><li>Select an <strong>Amiga ApolloStandalone<\/strong> core approved for that configuration. These files commonly use a name such as <code class=\"ae-md-inline-code\">STANDALONE_&lt;build&gt;.jic<\/code>.<\/li><li>Check any stated clock\/build variant and release status. A higher build number does not mean it is the right release for your board.<\/li><li>Read the release&#039;s required <strong>ApolloFlash, ApolloMap, control utility and graphics\/OS updates<\/strong>. Complete prerequisite updates in the stated order.<\/li><li>Keep the previous core, matching software and full CF backup available.<\/li><li>Confirm that the machine is stable before starting.<\/li><\/ol>\n<p><strong>Use only the Amiga core explicitly approved for your exact V4\/V4+ Standalone.<\/strong> Firmware for accelerator boards or other Apollo systems is outside this procedure. A separate Atari core for V4-SA hardware is also not an Amiga firmware update.<\/p>\n<p>The AmigaOS SAGA package and an ApolloOS distribution have different installation procedures. Use the route below for the OS you actually run. Do not move jumpers based on a generic release announcement without the instruction for your particular board.<\/p>\n<span id=\"driver-update\" class=\"ae-md-anchor\"><\/span>\n<h3>\ud83d\udce6 Install the matching software on a spare<\/h3>\n<p><strong>AmigaOS 3.x \u2014 P96 and SAGA packages<\/strong><\/p>\n<ol><li><a href=\"#cf-backup\">Back up the working CF<\/a>, <a href=\"#cf-write\">write a verified spare<\/a>, then boot that spare before changing its software.<\/li><li>Obtain the <strong>AmigaOS package version required by the selected core<\/strong>. Save the archive and release notes on the host alongside the core; an old download index is not evidence that its first entry suits a newer core.<\/li><li>Transfer the complete archive to the V4 and <a href=\"#native-extraction\">extract it natively into a new drawer<\/a>. Read the included ReadMe before launching its supplied installer.<\/li><li>If installing RTG support from scratch, install the compatible <strong>P96 system first<\/strong>, then the <strong>SAGA driver package<\/strong>, using their supplied installers. For an existing installation, use the package&#039;s update path; do not replace a newer working P96 with an older bundled copy just to repeat a first-install sequence.<\/li><li>Double-click the package&#039;s installer icon. Check the selected system\/destination and component choices against its ReadMe before confirming. Keep any installation log or first error. Do not reboot midway through an installer unless it requests it.<\/li><li>After successful completion, reboot as directed. Run the <a href=\"#record-setup\">version checks<\/a>, test ScreenMode and native video, then the <a href=\"#post-update-tests\">practical checks<\/a>.<\/li><\/ol>\n<p><strong>ApolloOS<\/strong><\/p>\n<ol><li>Preserve the original and identify the exact V4\/V4+ image release and its core requirements.<\/li><li>If that release provides its own updater, use its included instructions and packages on the spare. The AmigaOS P96\/SAGA installer is not the ApolloOS update mechanism.<\/li><li>For a clean, reproducible test, use the <a href=\"#cf-write\">whole-device image-writing procedure<\/a> with the specified ApolloOS image. Complete validation before installing the spare.<\/li><li>Boot and test before copying personal files across. Preserve the earlier card for recovery; do not copy its entire system directories over the new installation.<\/li><\/ol>\n<h3>\u26a1 Flash with ApolloFlash<\/h3>\n<blockquote><p>\u26a0\ufe0f <strong>Use this route only while the V4 boots and runs reliably. Keep power uninterrupted for the entire operation.<\/strong><\/p><\/blockquote>\n<ol><li><a href=\"#extract-image\">Extract the approved core package<\/a>. Copy the <code class=\"ae-md-inline-code\">.jic<\/code> to a mounted transfer card, eject it on the host and <a href=\"#microSD-transfer\">mount it on the V4<\/a>. In a Shell run <code class=\"ae-md-inline-code\">Info<\/code> to identify the transfer volume, then <code class=\"ae-md-inline-code\">List Transfer:#?.jic<\/code>, replacing <code class=\"ae-md-inline-code\">Transfer:<\/code> with that volume&#039;s actual name.<\/li><li>Close other applications and finish disk writes.<\/li><li>Check <code class=\"ae-md-inline-code\">Version C:ApolloFlash FULL<\/code>. If that is the approved installed flasher, run <strong>ApolloFlash followed by the exact core path<\/strong> using the command pattern below. Do not flash if the utility is missing or unsuitable.<\/li><li>Check the file and target reported by the utility.<\/li><li>If correct, confirm with uppercase <strong><code class=\"ae-md-inline-code\">YES<\/code><\/strong> when requested.<\/li><li>Leave the machine untouched until flashing reports success.<\/li><li>Wait <strong>at least another ten seconds<\/strong> after completion.<\/li><li>Switch off, disconnect any other power paths and leave the machine fully unpowered for <strong>30 seconds<\/strong>.<\/li><li>Reconnect and boot. Check the core information where available, then test input, display, storage, sound and networking.<\/li><\/ol>\n<p>Copy the selected file into <code class=\"ae-md-inline-code\">RAM:<\/code> and confirm its exact name before starting the flasher. Replace the transfer volume and filename in all three commands:<\/p>\n<pre class=\"ae-md-code-block\"><code class=\"ae-md-code-block-code language-text\">Copy Transfer:STANDALONE_XXXXX.jic TO RAM:STANDALONE_XXXXX.jic\nList RAM:STANDALONE_XXXXX.jic\nC:ApolloFlash RAM:STANDALONE_XXXXX.jic<\/code><\/pre>\n<p>Stop if <code class=\"ae-md-inline-code\">Copy<\/code> fails or <code class=\"ae-md-inline-code\">List<\/code> does not show the intended file. This assumes the approved flasher is in <code class=\"ae-md-inline-code\">C:<\/code> and enough free RAM is available; run <code class=\"ae-md-inline-code\">Avail<\/code> first. Quote paths containing spaces. <code class=\"ae-md-inline-code\">RAM:<\/code> loses its contents at power-off.<\/p>\n<p>A <code class=\"ae-md-inline-code\">.jic<\/code> is firmware data. Do not double-click it as an executable. If ApolloFlash fails to run, use <code class=\"ae-md-inline-code\">List C:ApolloFlash<\/code> to inspect the file, then check its <a href=\"#native-extraction\">native extraction and executable permission<\/a>. Do not set the execute bit on the <code class=\"ae-md-inline-code\">.jic<\/code>.<\/p>\n<h3>\ud83d\udeab ApolloFlash refuses the file<\/h3>\n<ol><li>Save the complete error.<\/li><li>Check the filename, path and extraction result.<\/li><li>Recheck the hardware target and build variant.<\/li><li>Check that the ApolloFlash version meets the core&#039;s requirements.<\/li><li>Obtain board-specific advice if the rejection remains unexplained.<\/li><\/ol>\n<p><strong>Do not use Quartus merely to bypass a target or compatibility rejection.<\/strong> External programming does not supply the same board-specific protection. Do not mix old <code class=\"ae-md-inline-code\">flashrom<\/code>\/<code class=\"ae-md-inline-code\">VampireFlash<\/code> commands into a newer procedure unless that release actually requires them.<\/p>\n<span id=\"rom-after-flash\" class=\"ae-md-anchor\"><\/span>\n<h3>\ud83e\udde9 The flash succeeded but the old OS no longer boots<\/h3>\n<p>A core update can replace a separately flashed Kickstart with the core&#039;s default ROM while leaving the CF contents intact.<\/p>\n<ol><li>Hold both mouse buttons at power-on. If Early Startup appears, choose <strong>Boot With No Startup-Sequence<\/strong> where available and run <code class=\"ae-md-inline-code\">Version<\/code>. Photograph the result and compare it with the <a href=\"#record-setup\">baseline record<\/a>.<\/li><li>On the affected installation, inspect <code class=\"ae-md-inline-code\">S:Startup-Sequence<\/code> and <code class=\"ae-md-inline-code\">S:User-Startup<\/code> with <code class=\"ae-md-inline-code\">Type<\/code>. Look for an existing ApolloMap\/ROM-loader command or a launcher it calls. Record the exact command and ROM path; do not create a second loader.<\/li><li>If the previous arrangement mapped a ROM from disk, check the referenced file with <code class=\"ae-md-inline-code\">List &quot;actual\/ROM\/path&quot;<\/code>. Compare the loader and startup files with the preserved working installation. <a href=\"#cf-write\">Restore that full backup to a spare<\/a> to test the earlier disk-side setup with the release&#039;s compatible core\/utilities.<\/li><li>If the installation depended on a separately <strong>flashed<\/strong> ROM, restoring the CF does not restore it. Use the <a href=\"#restore-rom\">separate-ROM restoration procedure<\/a> after the final core flash. For rollback, restore the previous compatible core first; do not replace an unknown ROM with a similarly named download.<\/li><li>If the boot partition disappears only under the changed ROM, use the <a href=\"#rdb-inspection\">RDB inspection<\/a> and record its position and handler. Do not format the card; the previous ROM may have supplied disk access or filesystem support that the new one lacks.<\/li><\/ol>\n<p><strong>ApolloMap loads a ROM temporarily; it does not permanently flash it.<\/strong> A mapped ROM can survive a warm reset but is lost when power is removed. Do not alternate flashing and mapping without establishing which arrangement the installation needs.<\/p>\n<p>For <strong>AmigaOS 3.5\/3.9<\/strong> configurations affected by the Vampire ROM-update conflict:<\/p>\n<ol><li>Follow the <a href=\"#edit-startup\">startup-file backup and editor steps<\/a> on the spare CF.<\/li><li>In <code class=\"ae-md-inline-code\">S:Startup-Sequence<\/code>, locate the <strong>existing<\/strong> SetPatch command; do not add a second one.<\/li><li>Adapt that command to suppress the conflicting ROM update; the documented form is:<\/li><\/ol>\n<pre class=\"ae-md-code-block\"><code class=\"ae-md-code-block-code language-text\">SetPatch NOROMUPDATE QUIET<\/code><\/pre>\n<ol><li>Preserve other required startup logic, restart and test.<\/li><\/ol>\n<p>Do not add a second SetPatch invocation or apply this replacement to every AmigaOS or ApolloOS version.<\/p>\n<span id=\"jtag-recovery\" class=\"ae-md-anchor\"><\/span>\n<h2>\ud83d\udedf Recover with USB-Blaster and Quartus<\/h2>\n<p>Use this advanced procedure when a firmware failure prevents normal flashing. First rule out power and display problems. A programmer cannot fix a loose CF, a missing filesystem or physical damage.<\/p>\n<h3>\ud83e\uddf0 Prepare the recovery equipment<\/h3>\n<p><strong>Host choice:<\/strong> Quartus Programmer is a Windows\/Linux route. For macOS, use a suitable Windows or Linux computer for this recovery; there is no native macOS Quartus Programmer procedure here. ApolloFlash on a booting V4 remains a separate option, not a replacement for JTAG recovery on an unbootable machine.<\/p>\n<ol><li>Obtain the approved <code class=\"ae-md-inline-code\">.jic<\/code> for the <strong>exact board<\/strong> and preserve its filename.<\/li><li>Install an Apollo-supported Quartus Programmer version with support for the V4&#039;s <strong>Cyclone V<\/strong> device and the selected JIC format. The Standalone manual documents Quartus Programmer <strong>13.1<\/strong>; newer software must also support the required device and cable.<\/li><li>On <strong>Windows<\/strong>, run the Programmer installer, connect the USB-Blaster to the PC, open <strong>Start \u2192 Device Manager<\/strong>, then use <strong>Update driver \u2192 Browse my computer for drivers<\/strong> on that programmer if its driver is missing. Select the matching installed Quartus driver folder and allow subfolders. On <strong>Linux<\/strong>, extract\/install the supported Linux Programmer package, then open its <code class=\"ae-md-inline-code\">quartus_pgmw<\/code> application; USB permissions may need the <a href=\"#blaster-host\">Linux checks below<\/a>.<\/li><li>Identify your connection method before powering anything:<\/li><\/ol>\n<div class=\"ae-md-table-wrap\" role=\"region\"><table class=\"ae-md-table ae-md-table-cols-2\"><thead><tr><th scope=\"col\" class=\"ae-md-th ae-md-col-1 ae-md-col-wide\">Hardware arrangement<\/th><th scope=\"col\" class=\"ae-md-th ae-md-col-2 ae-md-col-wide\">Programming connection<\/th><\/tr><\/thead><tbody><tr><td class=\"ae-md-td ae-md-col-1 ae-md-col-wide\">Standard V4 Standalone<\/td><td class=\"ae-md-td ae-md-col-2 ae-md-col-wide\">Follow <strong>Connect an external programmer<\/strong> below.<\/td><\/tr><tr><td class=\"ae-md-td ae-md-col-1 ae-md-col-wide\">Ultimate Expansion Board with a confirmed built-in USB-Blaster, as in the V4 Standalone Giga assembly<\/td><td class=\"ae-md-td ae-md-col-2 ae-md-col-wide\">Follow <strong>Connect the Ultimate&#039;s built-in programmer<\/strong> below, then go directly to detection.<\/td><\/tr><\/tbody><\/table><\/div>\n<p>The standard Standalone&#039;s Mini-USB <strong>power input is not a programming port<\/strong>. Do not confuse it with an expansion board&#039;s separate programmer socket.<\/p>\n<h3>\ud83d\udd0c Connect an external programmer<\/h3>\n<ol><li>Disconnect the V4&#039;s PSU and all other connections that could energise it.<\/li><li>Open the enclosure using its documented procedure and use ESD precautions.<\/li><li>Identify pin 1 on the <strong>board header and programmer<\/strong> using their markings and diagrams.<\/li><li>Connect the JTAG ribbon with the marked edge correctly aligned at both ends. Check that it is neither reversed nor offset.<\/li><li>Connect the programmer to the PC as directed by its instructions.<\/li><li>Restore the V4&#039;s normal approved power supply for programming.<\/li><\/ol>\n<p>\u26a0\ufe0f <strong>Never connect, remove or reverse the internal JTAG ribbon while the board is powered.<\/strong> If pin 1 cannot be positively identified, stop and obtain board-specific assistance.<\/p>\n<p>Recognition of the USB-Blaster on the PC confirms only that connection. The target must also be correctly connected and powered.<\/p>\n<h3>\ud83d\udd0c Connect the Ultimate&#039;s built-in programmer<\/h3>\n<p>These steps apply to the <strong>Ultimate Expansion Board assembly with the dedicated Mini-USB programmer socket<\/strong>. Identify it from the assembly&#039;s labelled rear-panel diagram before connecting a cable; the ordinary V4 Mini-USB power socket does not have this function.<\/p>\n<ol><li>Shut down, disconnect the assembly&#039;s PSU and remove other connections that could supply power. Leave the internal programmer wiring in place; do not attach a second USB-Blaster or follow the external-ribbon steps.<\/li><li>Connect a <strong>USB data cable<\/strong> from the dedicated programmer socket to the Windows or Linux computer running Quartus. A charging-only cable will not provide the programming connection.<\/li><li>Reconnect the Ultimate assembly&#039;s normal external PSU and switch it on with its power button. The programmer cable does not replace the machine&#039;s normal power supply.<\/li><li>Continue with <strong>Detect the board and load the JIC<\/strong> below. If USB-Blaster is absent, use the <a href=\"#blaster-host\">host-driver checks<\/a>. If the cable is present but the target is not detected, stop before programming and check the target&#039;s power.<\/li><li>After successful programming and the wait specified below, switch off, disconnect the PSU and unplug the programming USB cable from the PC. Keep all power paths disconnected for the stated cold-start interval before normal booting. There is no external JTAG ribbon to remove in this arrangement.<\/li><\/ol>\n<h3>\ud83d\udd0e Detect the board and load the JIC<\/h3>\n<ol><li>Open Quartus Programmer and select <strong>JTAG<\/strong> mode.<\/li><li>Open <strong>Hardware Setup<\/strong> and select the recognised USB-Blaster.<\/li><li>With an empty programming list, use <strong>Auto Detect<\/strong> as a connection check. Do not start programming.<\/li><li>Photograph or copy the detected <strong>Device<\/strong> name and JTAG ID from the list\/message pane. If detection fails, reports an unknown device or asks you to choose between devices sharing an ID, do not guess. Confirm the part using the exact board revision&#039;s documentation or an already recorded chip marking. Remove power before inspecting a board; do not remove a heatsink just to read a part number.<\/li><li>Select the temporary detection rows and click <strong>Delete<\/strong> to clear the PC&#039;s programming list. This does not erase the board. Choose <strong>Add File<\/strong> and load the approved <code class=\"ae-md-inline-code\">.jic<\/code> once.<\/li><li>Compare the <strong>FPGA\/SFL Device name<\/strong> supplied by the JIC with the FPGA name recorded in step 4. Compare FPGA with FPGA, not with the configuration-flash row. They must identify the same supported FPGA device; if the names differ or require an interpretation you cannot confirm from the board documentation, stop and retain both screenshots for support. Do not edit the target name to make it agree.<\/li><li>Recheck the release&#039;s board\/revision and memory variant too. Matching an FPGA part alone does not establish that a core has the right pin assignments and memory configuration for this V4.<\/li><li>Enable <strong>Program\/Configure<\/strong> and <strong>Verify<\/strong> for the configuration-flash\/JIC entry. Keep the associated FPGA loader configuration selected as required by the JIC workflow.<\/li><\/ol>\n<div class=\"ae-md-table-wrap\" role=\"region\"><table class=\"ae-md-table ae-md-table-cols-2\"><thead><tr><th scope=\"col\" class=\"ae-md-th ae-md-col-1\">Entry<\/th><th scope=\"col\" class=\"ae-md-th ae-md-col-2\">Intended operation<\/th><\/tr><\/thead><tbody><tr><td class=\"ae-md-td ae-md-col-1\">FPGA \/ Serial Flash Loader helper<\/td><td class=\"ae-md-td ae-md-col-2\">Program\/Configure.<\/td><\/tr><tr><td class=\"ae-md-td ae-md-col-1\">Configuration flash \/ <code class=\"ae-md-inline-code\">.jic<\/code><\/td><td class=\"ae-md-td ae-md-col-2\">Program\/Configure and Verify.<\/td><\/tr><\/tbody><\/table><\/div>\n<p>The FPGA entry may be labelled <strong>Factory default SFL image<\/strong> or similar. SFL is a temporary <strong>Serial Flash Loader<\/strong> used to access configuration flash; it is not an old Apollo core to delete.<\/p>\n<p><strong>Leave a separate Erase operation unticked.<\/strong> Normal programming handles the erasure required for its write. A separate erase is not an extra verification step. Do not add guessed flash devices or force a different FPGA identity.<\/p>\n<h3>\ud83d\udd04 Program, verify and restart<\/h3>\n<ol><li>Recheck the target, filename and selected operations.<\/li><li>Click <strong>Start<\/strong> and leave the PC, programmer and V4 undisturbed.<\/li><li>Wait for <strong>100% (Successful)<\/strong> with the requested verification completed. The V4 may stop responding while the programmer takes control; do not interrupt the operation because the desktop freezes.<\/li><li>Copy the Programmer message pane into a text file or capture a screenshot showing the filename, operations and final result. Wait at least another ten seconds.<\/li><li>Remove the V4&#039;s normal power and other power paths. Disconnect the programmer from the PC as required so the board is fully unpowered before detaching an internal ribbon.<\/li><li>Leave the machine unpowered for 30 seconds, reassemble it and reconnect normally.<\/li><li>Boot and check the ROM\/CF arrangement if the OS does not start.<\/li><\/ol>\n<p>Some older version-reporting methods depend on a string updated by the Amiga-side flasher, so that string can remain stale after JTAG programming. Keep the exact JIC and successful programming log rather than repeatedly flashing solely to change an old <code class=\"ae-md-inline-code\">VControl CORE<\/code> display.<\/p>\n<span id=\"blaster-host\" class=\"ae-md-anchor\"><\/span>\n<h3>\ud83d\udd0d USB-Blaster is absent from Hardware Setup<\/h3>\n<ol><li>Check the PC USB cable and port.<\/li><li>On <strong>Windows<\/strong>, right-click Start \u2192 <strong>Device Manager<\/strong>. Open the programmer&#039;s <strong>Properties \u2192 General<\/strong> and record its status\/error code. Under <strong>Details \u2192 Hardware Ids<\/strong>, record the USB vendor\/product IDs.<\/li><li>Install the driver matching the programmer family, Windows version and architecture.<\/li><li>Typical Quartus driver directories are <code class=\"ae-md-inline-code\">drivers\\usb-blaster<\/code> and <code class=\"ae-md-inline-code\">drivers\\usb-blaster-ii<\/code>; choose the correct one for your cable.<\/li><li>Reconnect or restart as required by the driver installation, then reopen <strong>Hardware Setup<\/strong> in Quartus.<\/li><\/ol>\n<p><strong>Linux<\/strong><\/p>\n<ol><li>Run <code class=\"ae-md-inline-code\">lsusb<\/code> before and after connecting the programmer. Record the newly appearing cable and its vendor\/product IDs. If there is no new device, check the cable\/port before changing permissions.<\/li><li>Run <code class=\"ae-md-inline-code\">jtagconfig<\/code> from the selected Quartus installation&#039;s executable directory. If it is not on <code class=\"ae-md-inline-code\">PATH<\/code>, use its actual full path, for example <code class=\"ae-md-inline-code\">&quot;\/path\/to\/quartus\/bin\/jtagconfig&quot;<\/code>. This detects cables\/targets; it does not flash the core.<\/li><li>If USB sees the cable but Quartus cannot access it, install the <strong>udev rules supplied or documented for that cable and Quartus package<\/strong>. Match the IDs from <code class=\"ae-md-inline-code\">lsusb<\/code>; USB-Blaster, USB-Blaster II and third-party programmers need not share the same IDs.<\/li><li>If the package instructs you to create a rule file, use <code class=\"ae-md-inline-code\">sudoedit \/etc\/udev\/rules.d\/51-usbblaster.rules<\/code>, add its specified cable rules, save, then run <code class=\"ae-md-inline-code\">sudo udevadm control --reload-rules<\/code>.<\/li><li>Disconnect and reconnect the programmer&#039;s <strong>PC USB connection<\/strong>, then repeat <code class=\"ae-md-inline-code\">jtagconfig<\/code> and Quartus <strong>Hardware Setup<\/strong>. Do not disturb the powered target&#039;s internal ribbon.<\/li><li>Keep the full detection error if the cable is present but the FPGA is absent. Move to the JTAG-chain checks below; changing host permissions cannot fix a reversed ribbon or an unpowered target.<\/li><\/ol>\n<p>Use the cable maker&#039;s matching rule instead of globally granting access to every USB device. Do not use Linux command paths or driver installation steps on macOS.<\/p>\n<p>Do not disable driver-signature enforcement as a generic workaround for an unidentified problem. A host driver must actually support the host and programmer you are using.<\/p>\n<h3>\ud83d\udd17 Quartus reports \u201cCan&#039;t access JTAG chain\u201d<\/h3>\n<p><code class=\"ae-md-inline-code\">Error (209040): Can&#039;t access JTAG chain<\/code> means communication with the target chain failed. A later <code class=\"ae-md-inline-code\">Error (209012): Operation failed<\/code> does not replace that first useful error.<\/p>\n<ol><li>Copy the Programmer message pane from the first error onwards into a text file. Include the JIC filename, detected target and selected cable; a screenshot is acceptable if the log cannot be copied.<\/li><li>Confirm that the programmer is recognised and selectable on the PC.<\/li><li>Confirm that the V4 has its normal power during detection.<\/li><li>Remove all power before checking ribbon seating, pin-1 alignment and header condition.<\/li><li>Reconnect correctly, restore target power and retry <strong>Auto Detect<\/strong> in an empty list.<\/li><li>If needed, test a known-good compatible cable or programmer, changing one component at a time and removing power before each internal connection change.<\/li><li>If reliable detection cannot be established, stop and seek hardware\/programmer support.<\/li><\/ol>\n<p>A selectable USB-Blaster does not prove that the target is reachable. A chain error does not, by itself, prove that the FPGA is permanently damaged. Formatting the CF is unrelated to this fault.<\/p>\n<h3>\u26a0\ufe0f Programming ends with a verification failure<\/h3>\n<ol><li>Treat the result as <strong>unverified<\/strong>, even if the progress bar reached a high percentage.<\/li><li>Save the first error, log, JIC filename and target details.<\/li><li>Recheck image suitability, stable target power, reliable detection and programmer compatibility.<\/li><li>Retry only after correcting an identified problem or receiving specific support instructions.<\/li><\/ol>\n<p>Do not remove the loader helper, add an erase or force another device identity merely to obtain a successful-looking progress bar.<\/p>\n<span id=\"rollback\" class=\"ae-md-anchor\"><\/span>\n<h2>\ud83e\uddea Test an update and roll back cleanly<\/h2>\n<h3>\ud83e\uddea Before trying a beta or faster build<\/h3>\n<ol><li>Keep the working CF unchanged and prepare a spare copy.<\/li><li>Save the previous core and matching driver\/utility packages.<\/li><li>Confirm that the candidate explicitly supports the board revision, fitted memory and selected clock variant.<\/li><li>Have a suitable recovery method available before testing a build that could stop normal boot or input.<\/li><li>Record the baseline behaviour with the current core so the comparison has a clear starting point.<\/li><\/ol>\n<span id=\"post-update-tests\" class=\"ae-md-anchor\"><\/span>\n<h3>\u2705 Check more than the desktop<\/h3>\n<p>After the update, perform these checks and note pass\/fail:<\/p>\n<ol><li><strong>Cold starts:<\/strong> perform three <a href=\"#cold-start\">full power cycles<\/a>. Confirm a usable desktop each time.<\/li><li><strong>Memory:<\/strong> run <code class=\"ae-md-inline-code\">Avail<\/code> and compare with the baseline and fitted RAM, allowing for OS\/display reservations. Do not infer physical RAM solely from the free-memory value.<\/li><li><strong>Input:<\/strong> type letters, symbols and cursor keys in an unsaved editor document; test mouse movement, both buttons and menus.<\/li><li><strong>Video:<\/strong> test the RTG desktop and one previously working native-screen game. Check the image edges and return to the desktop.<\/li><li><strong>Storage:<\/strong> run the <a href=\"#transfer-test\">round-trip file test<\/a> using the spare CF and transfer microSD.<\/li><li><strong>Sound:<\/strong> play the same known-working game\/audio file used before the update, checking both channels where appropriate.<\/li><li><strong>Network:<\/strong> repeat the <a href=\"#network-checks\">address, local-IP and DNS tests<\/a>.<\/li><li><strong>Applications:<\/strong> run the games and programs you normally use, then confirm that desktop, sound and network operation recover after closing them.<\/li><\/ol>\n<p>If software suddenly reports more physical memory than the board contains, stop write-heavy work and investigate the build and reporting tool. Do not deliberately fill the suspect address range.<\/p>\n<p>If a faster variant is unstable but the supported lower-clock build works, retain the stable build. Increasing supply voltage is not a substitute for a suitable core.<\/p>\n<h3>\u23ea Restore the complete working combination<\/h3>\n<ol><li>If the current card reads reliably, preserve its newer files with a <a href=\"#cf-backup\">whole-device backup<\/a> and copy important personal files to a separate recovery destination. A byte-verified backup preserves the current contents, including any existing corruption; check that important documents actually open. Keep the current card unchanged during rollback.<\/li><li>If the V4 is stable enough to flash, use <a href=\"#firmware-update\">ApolloFlash<\/a> with the previously working JIC. If it cannot boot reliably, use the <a href=\"#jtag-recovery\">USB-Blaster recovery route<\/a>. Check the rollback core&#039;s prerequisites before either operation.<\/li><li><a href=\"#cf-write\">Restore the preserved working CF image to a spare<\/a>, verify it, then install it with the V4 fully unpowered. That restores the matching drivers, utilities, startup files and saved preferences from the backup.<\/li><li>Restore the recorded ROM arrangement. A disk-mapped ROM and its loader should be present in the restored CF image. If the working installation used a <strong>separately flashed ROM<\/strong>, complete the procedure below after restoring the JIC. The rollback is incomplete until that ROM is restored too.<\/li><li>Keep the current card and the preserved working backup separate. Restore personal files to the spare only after its basic tests pass; do not overwrite its newly restored startup files with an unreviewed copy of the broken setup.<\/li><li>Cold-start, compare <code class=\"ae-md-inline-code\">Version<\/code> and the <a href=\"#record-setup\">configuration record<\/a> with the working baseline, then repeat the same workload with the same peripherals.<\/li><\/ol>\n<p>Changing only the <code class=\"ae-md-inline-code\">.jic<\/code> does not undo changes on the CF. A successful rollback establishes that the previous combination works; it does not identify every individual change responsible for the failure.<\/p>\n<span id=\"restore-rom\" class=\"ae-md-anchor\"><\/span>\n<h3>\ud83e\udde9 Restore a separately flashed ROM after the core<\/h3>\n<p>Use this only when the baseline explicitly used a <strong>single, separately flashed ROM<\/strong>, and you have its exact previously working licensed image. A ROM mapped by a startup command is a different arrangement. Flashing the core again afterwards can replace this ROM, so restore the core first and the separate ROM last.<\/p>\n<p><strong>Utility scope:<\/strong> the positional-file command below applies to <strong>ApolloFlash 2.30<\/strong>, distributed as a standalone utility for <strong>ApolloOS and AmigaOS<\/strong> by Apollo Team, and the same normal image argument is used by <strong>2.22<\/strong> in SAGA Driver 3.4. Use a version approved for the target Standalone core. These steps do not add extended-ROM arguments, force options or an AmigaOS driver installation to ApolloOS.<\/p>\n<ol><li>Preserve the working ROM file, utility and old JIC on the host. If necessary, restore the previous compatible JIC using the <a href=\"#firmware-update\">core update<\/a> or <a href=\"#jtag-recovery\">JTAG recovery<\/a> procedure, then complete its cold restart.<\/li><li>Boot a CF that works reliably with that core&#039;s <strong>bundled ROM<\/strong>. If the restored working CF cannot boot until its separate ROM is reinstated, power down fully and use a spare rescue CF prepared for this core and bundled ROM. Keep the restored working CF aside. An arbitrary ApolloOS image is not a guaranteed rescue image for every core.<\/li><li>Transfer the preserved ROM and the matching standalone <strong>ApolloFlash executable<\/strong> through a working <a href=\"#microSD-transfer\">microSD transfer card<\/a>. If obtaining the utility from Apollo Team&#039;s ApolloSoftware distribution, select <strong>Tools \u2192 ApolloFlash \u2192 2.30 \u2192 C \u2192 ApolloFlash<\/strong>; copy that executable, not an entire driver package. Preserve the original ROM filename on the host. In the example below, replace <code class=\"ae-md-inline-code\">Transfer:<\/code> and <code class=\"ae-md-inline-code\">KnownWorking.rom<\/code> with the actual mounted volume and filename:<\/li><\/ol>\n<pre class=\"ae-md-code-block\"><code class=\"ae-md-code-block-code language-text\">Copy Transfer:ApolloFlash TO RAM:ApolloFlash CLONE\nCopy Transfer:KnownWorking.rom TO RAM:KnownWorking.rom CLONE\nProtect RAM:ApolloFlash +E\nVersion RAM:ApolloFlash FULL\nList RAM:KnownWorking.rom<\/code><\/pre>\n<ol><li>Check the utility version and ROM byte length against the preserved files. The ROM must be the same single image previously used with the target core; a ROM for another machine, an encrypted distribution file or an archive is not interchangeable. Do not set an executable permission on the ROM.<\/li><li>Close other applications, maintain stable power and run:<\/li><\/ol>\n<pre class=\"ae-md-code-block\"><code class=\"ae-md-code-block-code language-text\">RAM:ApolloFlash RAM:KnownWorking.rom<\/code><\/pre>\n<ol><li>Read the reported board and image information before confirming. Proceed only if it identifies the intended Standalone and accepts the intended ROM operation. When asked to confirm, type <strong><code class=\"ae-md-inline-code\">YES<\/code><\/strong> in capitals and press Return. If the utility rejects the file, cannot locate the ROM area or reports an unexpected target, stop; do not add <code class=\"ae-md-inline-code\">FORCE<\/code> or guess an extended-ROM argument.<\/li><li>Wait for the utility to report successful completion, preserve the result and wait at least another <strong>ten seconds<\/strong>. Do not interrupt an active write. An error is not a completed restoration.<\/li><li>Switch off, remove all power paths and leave the machine unpowered for <strong>30 seconds<\/strong>. If you used a rescue CF, fit the restored working CF while the machine is unpowered. Reconnect normally and boot.<\/li><li>Run <code class=\"ae-md-inline-code\">Version<\/code> and compare it with the recorded working ROM\/OS versions. Then run the <a href=\"#post-update-tests\">post-update checks<\/a>. Keep the source files and rescue CF for future recovery; the copies in <code class=\"ae-md-inline-code\">RAM:<\/code> have disappeared.<\/li><\/ol>\n<p>If the ROM change prevents booting, the <a href=\"#jtag-recovery\">JTAG procedure<\/a> can restore the compatible JIC and its bundled ROM; use the matching rescue CF again. If you do not have the exact old ROM or a compatible bootable rescue installation, stop before the ROM flash and obtain those missing components. Do not describe JIC-plus-CF restoration alone as a complete rollback of this setup.<\/p>\n<span id=\"read-only-checks\" class=\"ae-md-anchor\"><\/span>\n<h2>\ud83d\udd0d Read-only checks<\/h2>\n<p>The commands below inspect devices or image files; they do not initialise, format or repartition them. They are <strong>not a hardware write blocker<\/strong>, and they do not prevent Windows or another application from writing independently.<\/p>\n<p>For the routine measurements, use these complete procedures:<\/p>\n<ul><li><a href=\"#exact-sizes\">Exact image length and physical-card capacity: Windows, macOS and Linux<\/a>.<\/li><li><a href=\"#image-hashes\">SHA-256: Windows, macOS and Linux<\/a>.<\/li><li><a href=\"#record-setup\">Mounted-volume and version checks: AmigaOS and ApolloOS<\/a>.<\/li><\/ul>\n<p>The following checks examine partition metadata without editing it.<\/p>\n<h3>\ud83d\uddc2\ufe0f Inspect Windows-visible partition entries<\/h3>\n<p>On <strong>Windows<\/strong>, first use the <a href=\"#exact-sizes\">Get-Disk identification procedure<\/a>. In the same administrator PowerShell, run this block and enter the card&#039;s current disk number:<\/p>\n<pre class=\"ae-md-code-block\"><code class=\"ae-md-code-block-code language-powershell\">$answer = Read-Host &#039;CF disk number from Get-Disk&#039;\n$diskNumber = [uint32]0\n\nif (-not [uint32]::TryParse($answer, [ref]$diskNumber)) {\n    throw &#039;Enter a valid non-negative disk number.&#039;\n}\n\n$disk = Get-Disk -Number $diskNumber -ErrorAction Stop\n$disk | Select-Object Number, FriendlyName, SerialNumber, Size,\n    PartitionStyle, IsBoot, IsSystem | Format-List\n\ntry {\n    $parts = @(Get-Partition -DiskNumber $diskNumber -ErrorAction Stop)\n    if ($parts.Count -eq 0) {\n        Write-Output &#039;No Windows-visible partitions. This does not prove the card is empty.&#039;\n    } else {\n        $parts | Select-Object PartitionNumber, DriveLetter, Offset, Size, Type |\n            Format-List\n    }\n} catch {\n    Write-Warning (&#039;Windows partition query failed: &#039; + $_.Exception.Message)\n}<\/code><\/pre>\n<p>An RDB disk can produce no recognised entries or a query error. Use an Amiga-aware image inspector for its actual layout. A Windows \u201cRAW\u201d or \u201cunallocated\u201d description is not permission to initialise the disk.<\/p>\n<span id=\"rdb-inspection\" class=\"ae-md-anchor\"><\/span>\n<h3>\ud83d\uddfa\ufe0f Inspect the Amiga RDB in a copy of an image<\/h3>\n<p>The <strong>amitools<\/strong> package supplies <code class=\"ae-md-inline-code\">rdbtool<\/code>. This procedure installs it in a separate Python environment and reads an <strong>ordinary image copy<\/strong>, not a physical card. It works on Windows, macOS and Linux.<\/p>\n<p><strong>Prepare the tools once<\/strong><\/p>\n<ol><li>Install Python 3 from the Python project on Windows\/macOS, or through your Linux distribution. Open the appropriate command window.<\/li><li>In a working folder you own, create the environment and install amitools. Use only your host&#039;s block. These commands create <code class=\"ae-md-inline-code\">v4-rdb-tools<\/code> in the current directory:<\/li><\/ol>\n<p><strong>Windows PowerShell:<\/strong><\/p>\n<pre class=\"ae-md-code-block\"><code class=\"ae-md-code-block-code language-powershell\">py -3 -m venv v4-rdb-tools\n.\\v4-rdb-tools\\Scripts\\python.exe -m pip install amitools\n.\\v4-rdb-tools\\Scripts\\rdbtool.exe --help<\/code><\/pre>\n<p><strong>macOS \/ Linux Terminal:<\/strong><\/p>\n<pre class=\"ae-md-code-block\"><code class=\"ae-md-code-block-code language-bash\">python3 -m venv v4-rdb-tools\n.\/v4-rdb-tools\/bin\/python -m pip install amitools\n.\/v4-rdb-tools\/bin\/rdbtool --help<\/code><\/pre>\n<ol><li>Stop if installation fails. If <code class=\"ae-md-inline-code\">py<\/code> is absent on Windows but <code class=\"ae-md-inline-code\">python --version<\/code> identifies your installed Python 3, substitute <code class=\"ae-md-inline-code\">python<\/code> for <code class=\"ae-md-inline-code\">py -3<\/code> in the first command. On Debian\/Ubuntu, a missing venv component can be installed with <code class=\"ae-md-inline-code\">sudo apt install python3-venv<\/code>; then repeat environment creation. Other distributions have their own package names.<\/li><li>In the help output, confirm <strong><code class=\"ae-md-inline-code\">--read-only<\/code><\/strong>. No activation command or PowerShell execution-policy change is needed.<\/li><\/ol>\n<p><strong>Inspect both images<\/strong><\/p>\n<ol><li>Copy the original backup and replacement image into a working folder, keeping the preserved backups elsewhere. Do not open those same copies for writing in an emulator.<\/li><li>Stay in the folder containing <code class=\"ae-md-inline-code\">v4-rdb-tools<\/code>, then run the matching host command, replacing the image path:<\/li><\/ol>\n<p><strong>Windows:<\/strong><\/p>\n<pre class=\"ae-md-code-block\"><code class=\"ae-md-code-block-code language-powershell\">.\\v4-rdb-tools\\Scripts\\rdbtool.exe --read-only &#039;C:\\Images\\replacement-copy.img&#039; info\n.\\v4-rdb-tools\\Scripts\\rdbtool.exe --read-only &#039;C:\\Images\\original-copy.img&#039; info<\/code><\/pre>\n<p><strong>macOS \/ Linux:<\/strong><\/p>\n<pre class=\"ae-md-code-block\"><code class=\"ae-md-code-block-code language-bash\">.\/v4-rdb-tools\/bin\/rdbtool --read-only &quot;\/path\/to\/replacement-copy.img&quot; info\n.\/v4-rdb-tools\/bin\/rdbtool --read-only &quot;\/path\/to\/original-copy.img&quot; info<\/code><\/pre>\n<ol><li>Read the rows as follows:<\/li><\/ol>\n<div class=\"ae-md-table-wrap\" role=\"region\"><table class=\"ae-md-table ae-md-table-cols-2\"><thead><tr><th scope=\"col\" class=\"ae-md-th ae-md-col-1\">Output<\/th><th scope=\"col\" class=\"ae-md-th ae-md-col-2 ae-md-col-wide\">What to record<\/th><\/tr><\/thead><tbody><tr><td class=\"ae-md-td ae-md-col-1\"><code class=\"ae-md-inline-code\">BlockDevice<\/code><\/td><td class=\"ae-md-td ae-md-col-2 ae-md-col-wide\">The image&#039;s block-device geometry and block size.<\/td><\/tr><tr><td class=\"ae-md-td ae-md-col-1\"><code class=\"ae-md-inline-code\">PhysicalDisk<\/code> \/ <code class=\"ae-md-inline-code\">LogicalDisk<\/code><\/td><td class=\"ae-md-td ae-md-col-2 ae-md-col-wide\">The disk geometry and usable cylinder range recorded by the RDB. These can differ from a larger replacement card&#039;s actual capacity.<\/td><\/tr><tr><td class=\"ae-md-td ae-md-col-1\"><code class=\"ae-md-inline-code\">Partition<\/code><\/td><td class=\"ae-md-td ae-md-col-2 ae-md-col-wide\">Device name, low\/high cylinders, block count, displayed size, filesystem identifier and boot flags.<\/td><\/tr><tr><td class=\"ae-md-td ae-md-col-1\">Extra partition lines<\/td><td class=\"ae-md-td ae-md-col-2 ae-md-col-wide\">Current <code class=\"ae-md-inline-code\">mask<\/code>, <code class=\"ae-md-inline-code\">max_transfer<\/code> and filesystem block size. These describe the image; they are not suggested settings.<\/td><\/tr><tr><td class=\"ae-md-td ae-md-col-1\">Filesystem entries<\/td><td class=\"ae-md-td ae-md-col-2 ae-md-col-wide\">Filesystem code embedded in the RDB and its reported version. No embedded entry does not prove there is no handler supplied by ROM or another boot mechanism.<\/td><\/tr><\/tbody><\/table><\/div>\n<ol><li>For unused cylinder ranges, repeat the same command with <strong><code class=\"ae-md-inline-code\">free<\/code><\/strong> instead of <code class=\"ae-md-inline-code\">info<\/code>. This lists ranges; it does not create a partition. These ranges are within the recorded disk definition, which may not cover a larger destination&#039;s full capacity.<\/li><li>Save the output by adding <code class=\"ae-md-inline-code\">&gt; &quot;replacement-rdb.txt&quot;<\/code> to the command, choosing a new text filename. Keep it with the image length\/hash and the card&#039;s separately measured byte capacity.<\/li><li>If there is <strong>No RDB Disk<\/strong>, a geometry error or an unexpected range, stop and check the image format. A partition-only HDF or unsupported layout can produce that result. Do not use <code class=\"ae-md-inline-code\">init<\/code>, <code class=\"ae-md-inline-code\">resize<\/code>, <code class=\"ae-md-inline-code\">adjust<\/code> or other editing commands to suppress it.<\/li><\/ol>\n<p><strong>Checking a partition&#039;s end position:<\/strong> the low\/high cylinder values are inclusive. In the usual matching disk\/partition geometry, use <code class=\"ae-md-inline-code\">(high cylinder + 1) \u00d7 surf \u00d7 blk\/trk \u00d7 (blk_longs \u00d7 4)<\/code> to obtain the byte offset just after that partition. The extra <code class=\"ae-md-inline-code\">info<\/code> lines provide <code class=\"ae-md-inline-code\">surf<\/code>, <code class=\"ae-md-inline-code\">blk\/trk<\/code> and <code class=\"ae-md-inline-code\">blk_longs<\/code>; the latter is measured in four-byte units. Do not substitute the larger filesystem block size when it groups several sectors. If the geometry fields disagree with the disk definition or the units are unclear, retain the output for diagnosis rather than guessing a boundary.<\/p>\n<p>This reveals the map and embedded handlers. It does not validate every file or prove that the V4&#039;s active storage driver supports that address range.<\/p>\n<h3>\ud83d\udda5\ufe0f HDToolBox cannot see an image in an emulator<\/h3>\n<ol><li>Check which emulated controller exposes the image.<\/li><li>For a UAE controller using <code class=\"ae-md-inline-code\">uaehf.device<\/code>, start HDToolBox against that device. For example, if the tool is on the install disk in <code class=\"ae-md-inline-code\">DF0:<\/code>:<\/li><\/ol>\n<pre class=\"ae-md-code-block\"><code class=\"ae-md-code-block-code language-text\">DF0:Tools\/HDToolBox uaehf.device<\/code><\/pre>\n<ol><li>Use the actual HDToolBox path if it differs.<\/li><li>Inspect an image copy and exit <strong>without saving changes<\/strong> when diagnosing.<\/li><\/ol>\n<p>An emulated IDE controller can instead use the ROM&#039;s IDE driver. Match the tool to the configured controller; do not change the physical V4&#039;s driver entries to <code class=\"ae-md-inline-code\">uaehf.device<\/code>. Avoid simultaneous writers to the same image or physical card.<\/p>\n<span id=\"when-to-stop\" class=\"ae-md-anchor\"><\/span>\n<h2>\ud83d\uded1 Stop when the next step would be a guess<\/h2>\n<p>Stop writes or hardware changes when:<\/p>\n<ul><li>The CF develops repeated read errors.<\/li><li>A populated partition suddenly appears uninitialised.<\/li><li>A memory test fails repeatedly.<\/li><li>A connector&#039;s orientation is uncertain.<\/li><li>The JTAG target cannot be detected reliably.<\/li><\/ul><\/div>\n\t\t\t\t\t\t\t\t\t<div class=\"ae-md-sentinel\" aria-hidden=\"true\"><\/div>\n\t\t\t\t\t<div class=\"ae-md-loading\" role=\"status\">Loading more\u2026<\/div>\n\t\t\t\t\t<button type=\"button\" class=\"ae-md-load-more\">Load more<\/button>\n\t\t\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><picture><source type=\"image\/avif\" srcset=\"https:\/\/alterego.cc\/wp\/wp-content\/uploads\/2026\/09\/ChatGPT-Image-Sep-23-2026-09_58_10-PM-1024x512.png.avif 1024w, https:\/\/alterego.cc\/wp\/wp-content\/uploads\/2026\/09\/ChatGPT-Image-Sep-23-2026-09_58_10-PM-300x150.png.avif 300w, https:\/\/alterego.cc\/wp\/wp-content\/uploads\/2026\/09\/ChatGPT-Image-Sep-23-2026-09_58_10-PM-768x384.png.avif 768w, https:\/\/alterego.cc\/wp\/wp-content\/uploads\/2026\/09\/ChatGPT-Image-Sep-23-2026-09_58_10-PM-1536x768.png.avif 1536w, https:\/\/alterego.cc\/wp\/wp-content\/uploads\/2026\/09\/ChatGPT-Image-Sep-23-2026-09_58_10-PM-720x360.png.avif 720w, https:\/\/alterego.cc\/wp\/wp-content\/uploads\/2026\/09\/ChatGPT-Image-Sep-23-2026-09_58_10-PM-520x260.png.avif 520w, https:\/\/alterego.cc\/wp\/wp-content\/uploads\/2026\/09\/ChatGPT-Image-Sep-23-2026-09_58_10-PM-320x160.png.avif 320w, https:\/\/alterego.cc\/wp\/wp-content\/uploads\/2026\/09\/ChatGPT-Image-Sep-23-2026-09_58_10-PM.png.avif 1774w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><source type=\"image\/webp\" srcset=\"https:\/\/alterego.cc\/wp\/wp-content\/uploads\/2026\/09\/ChatGPT-Image-Sep-23-2026-09_58_10-PM-1024x512.png.webp 1024w, https:\/\/alterego.cc\/wp\/wp-content\/uploads\/2026\/09\/ChatGPT-Image-Sep-23-2026-09_58_10-PM-300x150.png.webp 300w, https:\/\/alterego.cc\/wp\/wp-content\/uploads\/2026\/09\/ChatGPT-Image-Sep-23-2026-09_58_10-PM-768x384.png.webp 768w, https:\/\/alterego.cc\/wp\/wp-content\/uploads\/2026\/09\/ChatGPT-Image-Sep-23-2026-09_58_10-PM-1536x768.png.webp 1536w, https:\/\/alterego.cc\/wp\/wp-content\/uploads\/2026\/09\/ChatGPT-Image-Sep-23-2026-09_58_10-PM-720x360.png.webp 720w, https:\/\/alterego.cc\/wp\/wp-content\/uploads\/2026\/09\/ChatGPT-Image-Sep-23-2026-09_58_10-PM-520x260.png.webp 520w, https:\/\/alterego.cc\/wp\/wp-content\/uploads\/2026\/09\/ChatGPT-Image-Sep-23-2026-09_58_10-PM-320x160.png.webp 320w, https:\/\/alterego.cc\/wp\/wp-content\/uploads\/2026\/09\/ChatGPT-Image-Sep-23-2026-09_58_10-PM.png.webp 1774w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><img data-aemc-picture=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"512\" src=\"https:\/\/alterego.cc\/wp\/wp-content\/uploads\/2026\/09\/ChatGPT-Image-Sep-23-2026-09_58_10-PM-1024x512.png\" alt=\"Three-panel comic showing a happy Vampire V4 user after fixing boot, CF card, display, software and firmware problems, ending with a working Amiga setup.\" class=\"wp-image-3009\" srcset=\"https:\/\/alterego.cc\/wp\/wp-content\/uploads\/2026\/09\/ChatGPT-Image-Sep-23-2026-09_58_10-PM-1024x512.png 1024w, https:\/\/alterego.cc\/wp\/wp-content\/uploads\/2026\/09\/ChatGPT-Image-Sep-23-2026-09_58_10-PM-300x150.png 300w, https:\/\/alterego.cc\/wp\/wp-content\/uploads\/2026\/09\/ChatGPT-Image-Sep-23-2026-09_58_10-PM-768x384.png 768w, https:\/\/alterego.cc\/wp\/wp-content\/uploads\/2026\/09\/ChatGPT-Image-Sep-23-2026-09_58_10-PM-1536x768.png 1536w, https:\/\/alterego.cc\/wp\/wp-content\/uploads\/2026\/09\/ChatGPT-Image-Sep-23-2026-09_58_10-PM-720x360.png 720w, https:\/\/alterego.cc\/wp\/wp-content\/uploads\/2026\/09\/ChatGPT-Image-Sep-23-2026-09_58_10-PM-520x260.png 520w, https:\/\/alterego.cc\/wp\/wp-content\/uploads\/2026\/09\/ChatGPT-Image-Sep-23-2026-09_58_10-PM-320x160.png 320w, https:\/\/alterego.cc\/wp\/wp-content\/uploads\/2026\/09\/ChatGPT-Image-Sep-23-2026-09_58_10-PM.png 1774w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/picture><figcaption class=\"wp-element-caption\">Boots? Check. CF card? Check. Display? Check. Sanity? Mostly restored. Another Vampire V4 troubleshooting session successfully survived.<\/figcaption><\/figure>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>Vampire V4 or V4+ refusing to boot, ignoring your CF card or misbehaving after an update? This practical troubleshooting guide covers storage, display, peripherals, graphics, software compatibility, firmware updates and recovery, starting with the safest checks first.<\/p>\n","protected":false},"author":1,"featured_media":3005,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[197],"tags":[16,727,17,200,710,715,714,713,712,718,539,719,717,728,722,726,725,721,177,212,724,716,720,202,711,723],"class_list":["post-3003","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tech-fixes","tag-amiga","tag-amiga-troubleshooting","tag-amigaos","tag-apollo-computer","tag-apolloos","tag-black-screen","tag-boot-problems","tag-cf-card","tag-compactflash","tag-core-update","tag-disk-images","tag-failed-update","tag-firmware","tag-hardware-recovery","tag-jtag-recovery","tag-p96","tag-picasso96","tag-quartus","tag-retro-computing","tag-retro-hardware","tag-saga","tag-storage-troubleshooting","tag-usb-blaster","tag-vampire-v4","tag-vampire-v4-2","tag-whdload"],"_links":{"self":[{"href":"https:\/\/alterego.cc\/wp\/wp-json\/wp\/v2\/posts\/3003","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/alterego.cc\/wp\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/alterego.cc\/wp\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/alterego.cc\/wp\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/alterego.cc\/wp\/wp-json\/wp\/v2\/comments?post=3003"}],"version-history":[{"count":4,"href":"https:\/\/alterego.cc\/wp\/wp-json\/wp\/v2\/posts\/3003\/revisions"}],"predecessor-version":[{"id":3013,"href":"https:\/\/alterego.cc\/wp\/wp-json\/wp\/v2\/posts\/3003\/revisions\/3013"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/alterego.cc\/wp\/wp-json\/wp\/v2\/media\/3005"}],"wp:attachment":[{"href":"https:\/\/alterego.cc\/wp\/wp-json\/wp\/v2\/media?parent=3003"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/alterego.cc\/wp\/wp-json\/wp\/v2\/categories?post=3003"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/alterego.cc\/wp\/wp-json\/wp\/v2\/tags?post=3003"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}