#808

Caution 01

Caution

4.081 lines of code

RasterbarsRSTRMusicSIDScrollerSCRLBitmapBMAP

History

Released
1993
Code
Gelan
Music
Booker (Marcin Kubica)
Graphics
Tom
Group
Caution — Poland

This 1993 intro from Caution features code by Gelan, music by Booker (Marcin Kubica), and graphics by Tom. The SID tune is a preview version of "Under the Ground," preserved in the HVSC under Booker's real name Marcin Kubica. Caution operated under the abbreviation CTN and was based in Poland, though their founding date is unrecorded. The intro represents the Polish C64 scene's continued output into the early 1990s, a period when many Western European groups had already disbanded. Poland's cracking community proved remarkably durable — groups like Caution were part of a broader Eastern European wave that kept the C64 scene active well after the platform's commercial decline. The "preview" designation on the SID suggests the tune may have been composed specifically for this intro before appearing in a more finished form elsewhere.

Sources: CSDb

caution-01.asm 4.081 lines
// ============================================
// output - Part 1 of 2
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-11 21:35:13
// https://restore64.dev by datucker / Rabenauge
//
// Load address: $0800  End: $ffff  (63488 bytes)
// Crunched with Exomizer v2/v3 (with relocation) — depacked by emulation
// Packer entry: $0810 (via BASIC SYS 2064)
// IRQ handler:  $0a2f (irq_0a2f)
// IRQ handler:  $0a65 (irq_0a65)
// IRQ handler:  $0a91 (irq_0a91)
// IRQ handler:  $0acd (irq_0acd)
//
// Code: 3791 bytes, Data: 59697 bytes
// Labels: 494, Subroutines: 23
//
// Verification: 4 line(s) auto-corrected to .byte for exact byte matching
//
// Cross-references: all OK
// ============================================


// --- Region $0810-$0bab ---
.pc = $0810 "main_0810"

main_0810:
        sei
        lda $dc04
        and #$07
        tax
        lda $0bd3,x
        sta smc_0ab8                                // SMC: modifies $0ab8
        lda #$00
.label sub_0820 = * + 1
        sta $d020
        sta $d021
        lda #$00
        sta $0286
        jsr $e544
        sei
        lda #$7f
        sta $dc0d
        ldx #$00
        stx $dc0e
        inx
        stx $d01a
        lda #$7b
        sta $d011
        lda #$49
        sta $d012
        lda #$2f
        sta $0314
        lda #$0a
        sta $0315
        ldx #$00

loc_0852:
        lda dat_2d00,x
        sta $04a0,x
        lda $2e00,x
        sta $d8a0,x
        inx
        cpx #$f0
        bne loc_0852
        ldx #$00

loc_0865:
        lda #$00
        sta $05b8,x
        lda #$28
        sta $0608,x
        lda #$51
        sta $0590,x
        sta $05e0,x
        sta $0630,x
        lda #$00
        sta $da30,x
        lda #$07
        sta $d9b8,x
        lda #$07
        sta $da08,x
        lda #$07
        sta $da58,x
        inc $0866
        inc $086b
        inx
        cpx #$28
        bne loc_0865

loc_0899:
        ldx #$00
        lda $0c1c,x
        and #$3f
        tay
        lda txt_0bdc,y
        sta smc_08b0                                // SMC: modifies $08b0
        tya
        asl
        asl
        asl
        tax
        ldy #$00

loc_08ae:
.label smc_08b0 = * + 2
        lda $3000,x                                 // !SMC: modified by $08a4
.label smc_08b2 = * + 1
        sta bmp_2000,y                              // !SMC: modified by $08c0
        inx
        iny
        cpy #$08
        bne loc_08ae
        lda smc_08b2
        clc
        adc #$08
        sta smc_08b2                                // SMC: modifies $08b2
        bcc loc_08c8
        inc $08b3

loc_08c8:
        inc $089a
        lda $089a
        cmp #$50
        bne loc_0899

loc_08d2:
        ldx #$00
        lda $0c44,x
        and #$3f
        tay
        lda txt_0bdc,y
        sta smc_08e9                                // SMC: modifies $08e9
        tya
        asl
        asl
        asl
        tax
        ldy #$00

loc_08e7:
.label smc_08e9 = * + 2
        lda $3000,x                                 // !SMC: modified by $08dd
.label smc_08eb = * + 1
        sta $3300,y                                 // !SMC: modified by $08f9
        inx
        iny
        cpy #$08
        bne loc_08e7