On Hoffman’s recent hacking stream he was running Rink a dink REDUX and it ran into a crash, presumably because of a bad disk. Curious, I’ve triggered a crash myself by disabling fast-ram halfway through the demo:
I really dig the level of detail that went into this. Even the dead-end crash screen that nobody would ever see under normal conditions has a stylish design! There are nice background colors for different error conditions, the sound is properly muted and all sprites are reset:
; Disassembled from $c00ca4
; Color 0 move in crash copperlist:
; 000033f8: 0180 0xxx
CRASH_COLOR0 = $33fa
deadend_red:
move.w #$0804,CRASH_COLOR0
bra.b deadend_screen
deadend_green:
move.w #$0084,CRASH_COLOR0
bra.b deadend_screen
deadend_blue_or_override:
move.w #$0048,CRASH_COLOR0
move.w override_color(pc),d0
beq.b deadend_screen
move.w d0,CRASH_COLOR0
deadend_screen:
moveq #0,d0
move.w #$7fff,d1
lea $dff000,a6
move.w d1,dmacon(a6)
move.w d1,intena(a6)
move.w d1,intreq(a6)
move.w d1,adkcon(a6)
moveq #4-1,d2
lea aud0vol(a6),a0
.mute move.w d0,(a0)
lea $10(a0),a0
dbf d2,.mute
moveq #8-1,d2
lea spr0data(a6),a0
.sprdat move.l d0,(a0)
addq #8,a0
dbf d2,.sprdat
move.l #deadend_copper,cop1lc(a6)
move.w d0,copjmp1(a6)
move.w #$83c0,dmacon(a6)
.loop bra.b .loop
override_color:
dc.w 0
Of course this attitude extends to the whole production, the details, the style, the pixel-perfect transitions… I extend a very belated hats-off to Paradroid! :)
PS: “But the colors are just red, green and blue?” No! Other coders would have used, well, coder colors, but
these have style! Compare:
RGB vs the colors used here:
RGB