From a1137ebfab7009c2d77be8d5c2a1486f578c5854 Mon Sep 17 00:00:00 2001 From: Ilia Sharin Date: Tue, 2 Jun 2026 12:23:37 -0400 Subject: [PATCH] Since GitHub strips any embedded - we have to use separate files --- 02_boot_sequence/assets/swatch_blue.png | Bin 0 -> 77 bytes .../assets/swatch_bright_grey.png | Bin 0 -> 76 bytes 02_boot_sequence/assets/swatch_dark_grey.png | Bin 0 -> 76 bytes 02_boot_sequence/assets/swatch_green.png | Bin 0 -> 77 bytes 02_boot_sequence/assets/swatch_light_grey.png | Bin 0 -> 76 bytes 02_boot_sequence/assets/swatch_mid_grey.png | Bin 0 -> 76 bytes 02_boot_sequence/assets/swatch_purple.png | Bin 0 -> 78 bytes 02_boot_sequence/assets/swatch_red.png | Bin 0 -> 79 bytes 02_boot_sequence/assets/swatch_yellow.png | Bin 0 -> 78 bytes .../kickstart-boot-diagnostics.md | 20 +++++++++--------- 10 files changed, 10 insertions(+), 10 deletions(-) create mode 100644 02_boot_sequence/assets/swatch_blue.png create mode 100644 02_boot_sequence/assets/swatch_bright_grey.png create mode 100644 02_boot_sequence/assets/swatch_dark_grey.png create mode 100644 02_boot_sequence/assets/swatch_green.png create mode 100644 02_boot_sequence/assets/swatch_light_grey.png create mode 100644 02_boot_sequence/assets/swatch_mid_grey.png create mode 100644 02_boot_sequence/assets/swatch_purple.png create mode 100644 02_boot_sequence/assets/swatch_red.png create mode 100644 02_boot_sequence/assets/swatch_yellow.png diff --git a/02_boot_sequence/assets/swatch_blue.png b/02_boot_sequence/assets/swatch_blue.png new file mode 100644 index 0000000000000000000000000000000000000000..de2a7937fcb4215b29db02124cf3a5d7801a4567 GIT binary patch literal 77 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1SBVD?P>#3BAzaeAr*6y6B2&-n@ELPt(uat al;IZJVcTObo(2Qu89ZJ6T-G@yGywp1^c0c+ literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..654a4cbbc322c03ca92d438dc6c5cff29eb72508 GIT binary patch literal 76 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1SBVD?P>#3!k#XUAr*6yEu2jfBtorLO{rMQ Y!2kKm0>9gxX+UWPPgg&ebxsLQ07wiII{*Lx literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..a31754badcfec8d616cef7d923e044717732825d GIT binary patch literal 76 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1SBVD?P>#3!k#XUAr*6y1yrOAdbDIiz4in# YypvStO-Z_^4wPo_boFyt=akR{020m+pa1{> literal 0 HcmV?d00001 diff --git a/02_boot_sequence/assets/swatch_green.png b/02_boot_sequence/assets/swatch_green.png new file mode 100644 index 0000000000000000000000000000000000000000..dbded1e4e6e950dcd3a1cf488131696f85a17f60 GIT binary patch literal 77 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1SBVD?P>#3BAzaeAr*6y6Mmd`(2)wYS~aC& aDZ|{r!?rJeGBpF`89ZJ6T-G@yGywp8wG@Z| literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..8099c5401580b8aa7f909040ae9fa3bfcf4690cd GIT binary patch literal 76 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1SBVD?P>#3!k#XUAr*6yBV0`qBtorLO{rMQ YU=iNd5q-62Hc*@~ literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..4b78c934963a9bece2e1f82950950591a4c7ac86 GIT binary patch literal 76 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1SBVD?P>#3!k#XUAr*6yUnoc!^k~V3dhH2f YNZ4&rpv7ePA1KY>>FVdQ&MBb@04_%njQ{`u literal 0 HcmV?d00001 diff --git a/02_boot_sequence/assets/swatch_purple.png b/02_boot_sequence/assets/swatch_purple.png new file mode 100644 index 0000000000000000000000000000000000000000..39664ab6ef48412d3911ba728594b24ceb1b628f GIT binary patch literal 78 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1SBVD?P>#3qMj~}Ar*6yf1Lj?-{XkEs*(`R bk6w%x;cXq3yqk9b6)#3VxBIJAr*6yf1E$yprRCZcg3Z^ cr4B3%33CqH$^^6616441y85}Sb4q9e0H-+=K>z>% literal 0 HcmV?d00001 diff --git a/02_boot_sequence/assets/swatch_yellow.png b/02_boot_sequence/assets/swatch_yellow.png new file mode 100644 index 0000000000000000000000000000000000000000..108da278aaae67454babde218a77296ce8ed994c GIT binary patch literal 78 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1SBVD?P>#3qMj~}Ar*6yfBe^*;&H@aRY{2E bM=!=Nk9N)Yot~)zRKVcr>gTe~DWM4fzZ@2U literal 0 HcmV?d00001 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