diff --git a/02_boot_sequence/assets/swatch_blue.png b/02_boot_sequence/assets/swatch_blue.png new file mode 100644 index 0000000..de2a793 Binary files /dev/null and b/02_boot_sequence/assets/swatch_blue.png differ diff --git a/02_boot_sequence/assets/swatch_bright_grey.png b/02_boot_sequence/assets/swatch_bright_grey.png new file mode 100644 index 0000000..654a4cb Binary files /dev/null and b/02_boot_sequence/assets/swatch_bright_grey.png differ diff --git a/02_boot_sequence/assets/swatch_dark_grey.png b/02_boot_sequence/assets/swatch_dark_grey.png new file mode 100644 index 0000000..a31754b Binary files /dev/null and b/02_boot_sequence/assets/swatch_dark_grey.png differ diff --git a/02_boot_sequence/assets/swatch_green.png b/02_boot_sequence/assets/swatch_green.png new file mode 100644 index 0000000..dbded1e Binary files /dev/null and b/02_boot_sequence/assets/swatch_green.png differ diff --git a/02_boot_sequence/assets/swatch_light_grey.png b/02_boot_sequence/assets/swatch_light_grey.png new file mode 100644 index 0000000..8099c54 Binary files /dev/null and b/02_boot_sequence/assets/swatch_light_grey.png differ diff --git a/02_boot_sequence/assets/swatch_mid_grey.png b/02_boot_sequence/assets/swatch_mid_grey.png new file mode 100644 index 0000000..4b78c93 Binary files /dev/null and b/02_boot_sequence/assets/swatch_mid_grey.png differ diff --git a/02_boot_sequence/assets/swatch_purple.png b/02_boot_sequence/assets/swatch_purple.png new file mode 100644 index 0000000..39664ab Binary files /dev/null and b/02_boot_sequence/assets/swatch_purple.png differ diff --git a/02_boot_sequence/assets/swatch_red.png b/02_boot_sequence/assets/swatch_red.png new file mode 100644 index 0000000..aa300b9 Binary files /dev/null and b/02_boot_sequence/assets/swatch_red.png differ diff --git a/02_boot_sequence/assets/swatch_yellow.png b/02_boot_sequence/assets/swatch_yellow.png new file mode 100644 index 0000000..108da27 Binary files /dev/null and b/02_boot_sequence/assets/swatch_yellow.png differ diff --git a/02_boot_sequence/kickstart-boot-diagnostics.md b/02_boot_sequence/kickstart-boot-diagnostics.md index bc48e12..98a0dde 100644 --- a/02_boot_sequence/kickstart-boot-diagnostics.md +++ b/02_boot_sequence/kickstart-boot-diagnostics.md @@ -122,10 +122,10 @@ These colors appear momentarily during a healthy boot, each signaling successful | Constant | Value | Color | Meaning | When Set | |---|---|---|---|---| -| `OK_HARDWARE` | `$0111` | ![Dark Grey](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAIAAACQKrqGAAAAE0lEQVR4nGMQJBowjCodVUq8UgDuGScNZGLeJwAAAABJRU5ErkJggg==) Dark Grey | First software action after RESET | After disabling interrupts/DMA | -| `OK_SOFTWARE` | `$0888` | ![Mid Grey](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAIAAACQKrqGAAAAE0lEQVR4nGPoIBowjCodVUq8UgBguzhwKgIx/wAAAABJRU5ErkJggg==) Mid Grey | Chip RAM tests passed | After exception vector verify | -| `OK_RESLIST` | `$0AAA` | ![Light Grey](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAIAAACQKrqGAAAAE0lEQVR4nGNYRTRgGFU6qpR4pQA4V4aIW9VymwAAAABJRU5ErkJggg==) Light Grey | All resident modules found | After `FindCodeBefore` | -| `OK_RESSTART` | `$0CCC` | ![Bright Grey](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAIAAACQKrqGAAAAE0lEQVR4nGM4QzRgGFU6qpR4pQAP89SgTtuJZgAAAABJRU5ErkJggg==) Bright Grey | About to start resident chain | Just before `InitCode` | +| `OK_HARDWARE` | `$0111` | ![Dark Grey](assets/swatch_dark_grey.png) Dark Grey | First software action after RESET | After disabling interrupts/DMA | +| `OK_SOFTWARE` | `$0888` | ![Mid Grey](assets/swatch_mid_grey.png) Mid Grey | Chip RAM tests passed | After exception vector verify | +| `OK_RESLIST` | `$0AAA` | ![Light Grey](assets/swatch_light_grey.png) Light Grey | All resident modules found | After `FindCodeBefore` | +| `OK_RESSTART` | `$0CCC` | ![Bright Grey](assets/swatch_bright_grey.png) Bright Grey | About to start resident chain | Just before `InitCode` | > **Design note:** In the production V40 ROM, only `OK_HARDWARE` survives — the intermediate grey stages (`OK_SOFTWARE`, `OK_RESLIST`, `OK_RESSTART`) were present in earlier revisions (visible in the RCS history of `constants.i`) but consolidated. The screen transitions from dark grey directly through to whatever the boot menu or Workbench draws. On a healthy machine, the grey flash is barely perceptible — lasting only the time it takes to checksum 512KB of ROM and verify chip RAM. @@ -135,17 +135,17 @@ When any test fails, the color is loaded into `D0` and execution branches to `co | Constant | Value | Color | Failure | Source Test | |---|---|---|---|---| -| `CC_BADROMSUM` | `$0F00` | ![Red](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAIAAACQKrqGAAAAFklEQVR4nGP4z8BAJCJW3ajSUaVABABgnMM9HFMEPwAAAABJRU5ErkJggg==) **Red** | Kickstart ROM checksum invalid | Additive wraparound-carry sum ≠ $FFFFFFFF | -| `CC_BADRAM` | `$00F0` | ![Green](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAIAAACQKrqGAAAAFElEQVR4nGNg+M9ALBpVOqqUeKUAnVHDPej5AoMAAAAASUVORK5CYII=) **Green** | Chip memory not writable | Exception vector write-back verify failed | -| `CC_EXCEPTION` | `$0FE5` | ![Yellow](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAIAAACQKrqGAAAAFUlEQVR4nGP4/y6USMQwqnRUKfFKAfTiupj7Z2kkAAAAAElFTkSuQmCC) **Yellow** | CPU exception before software setup | Bus/Address error or illegal instruction | -| `CC_NOMODULES` | `$0F0F` | ![Purple](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAIAAACQKrqGAAAAFUlEQVR4nGP4z/CfSMQwqnRUKfFKAThXhog5DbO4AAAAAElFTkSuQmCC) **Purple** | `InitCode(RTF_COLDSTART)` returned | No bootable resident modules found | -| `CC_BADCHIPS` | `$000F` | ![Blue](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAIAAACQKrqGAAAAFElEQVR4nGNgYPhPNBpVOqqUaKUA2gbDPcbo5VMAAAAASUVORK5CYII=) **Blue** | Custom chip register test failed | *(Commented out in V40 — was for early hardware)* | +| `CC_BADROMSUM` | `$0F00` | ![Red](assets/swatch_red.png) **Red** | Kickstart ROM checksum invalid | Additive wraparound-carry sum ≠ $FFFFFFFF | +| `CC_BADRAM` | `$00F0` | ![Green](assets/swatch_green.png) **Green** | Chip memory not writable | Exception vector write-back verify failed | +| `CC_EXCEPTION` | `$0FE5` | ![Yellow](assets/swatch_yellow.png) **Yellow** | CPU exception before software setup | Bus/Address error or illegal instruction | +| `CC_NOMODULES` | `$0F0F` | ![Purple](assets/swatch_purple.png) **Purple** | `InitCode(RTF_COLDSTART)` returned | No bootable resident modules found | +| `CC_BADCHIPS` | `$000F` | ![Blue](assets/swatch_blue.png) **Blue** | Custom chip register test failed | *(Commented out in V40 — was for early hardware)* | ### 2.3 Special Modes | Constant | Value | Color | Meaning | |---|---|---|---| -| `OK_DEBUG` | `$000F` | ![Blue](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAIAAACQKrqGAAAAFElEQVR4nGNgYPhPNBpVOqqUaKUA2gbDPcbo5VMAAAAASUVORK5CYII=) Blue | Debug/development mode — fire button held at boot | +| `OK_DEBUG` | `$000F` | ![Blue](assets/swatch_blue.png) Blue | Debug/development mode — fire button held at boot | | `COLORON` | `$0200` | *(control)* | Written to `BPLCON0` to enable color burst output | ### 2.4 Color Progression Diagram