#368

Light Circle, The [TLC] 04

Light Circle, The [TLC]

1.814 lines of code

MusicSID

History

Released
28 October 1986
Code
Flash
Music
Paul Norman — "Beyond the Forbidden Forest" (ripped)
Group
The Light Circle — Germany, founded 1986

An early German crack intro from 28 October 1986 — a date that places it in the founding era of the C64 cracking scene when presentation standards were still being established. Flash coded the intro, using a ripped tune from Paul Norman's "Beyond the Forbidden Forest" — a 1985 game whose atmospheric SID soundtrack made it a popular choice for early intro music. The HVSC preserves Norman's original composition. The Light Circle was a German group founded in 1986 and abbreviated TLC. The extremely early release date means this intro predates most of the well-known crack intro conventions — dedicated musicians, custom graphics, and multi-part scrolltexts were all innovations that emerged later. A comment from ZTH of Abnormal on intros.c64.org suggests the intro has recognition within the German scene preservation community. Germany's cracking scene would grow explosively in 1987-1988, making early 1986 productions like this historically significant markers.

Sources: CSDb · intros.c64.org

tlc-04.asm 1.814 lines
// ============================================
// output - Disassembled Source
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-11 21:36:49
// 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)
// Entry point:  $10b2 (4274)
// IRQ handler:  $0ab8 (irq_0ab8)
// IRQ handler:  $1056 (nmi_1056)
//
// Code: 1110 bytes, Data: 62378 bytes
// Labels: 208, Subroutines: 13
//
// Cross-references: all OK
// ============================================


// --- Region $0aa0-$0b4c ---
.pc = $0aa0 "loc_0aa0"

loc_0aa0:
        ldx #$00

loc_0aa2:
        lda $1320,x
        sta $0658,x
        inx
        bne loc_0aa2

loc_0aab:
        lda $1420,x
        sta $0758,x
        inx
        cpx #$68
        bne loc_0aab
        beq loc_0ad2

irq_0ab8:
        ldx #$0e
        ldy #$06
        stx $d023
        sty $d022
        jmp loc_1033

loc_0ac5:
.label smc_0ac6 = * + 1
        ldx #$0c                                    // !SMC: modified by $0b3f
        ldy #$05
        stx $d023
        sty $d022
        jmp loc_10a1

loc_0ad2:
        lda #$0f
        ldx #$00

loc_0ad6:
        sta $da58,x
        inx
        bne loc_0ad6

loc_0adc:
        sta $db58,x
        inx
        cpx #$68
        bne loc_0adc
        jsr sub_1500
        lda #$56
        sta $0318
        lda #$10
        sta $0319
        ldx #$27

loc_0af3:
        lda txt_0f50,x
        sta $0630,x
        dex
        bpl loc_0af3
        ldx #$27
        lda #$07

loc_0b00:
        sta $da30,x
        dex
        bpl loc_0b00
        ldx #$27

loc_0b08:
        lda $0f78,x
        sta $07c0,x
        dex
        bpl loc_0b08
        ldx #$27
        lda #$07

loc_0b15:
        sta $dbc0,x
        dex
        bpl loc_0b15
        lda #$08
        jsr $ffd2
        ldx #$1f
        ldy #$01
        stx $31
        sty $30
        cli
        rts

loc_0b2a:
        dec $30
        bmi loc_0b31
        jmp loc_1520

loc_0b31:
        lda #$01
        sta $30
        dec $31
        bmi loc_0b45

loc_0b39:
        lda $31
        tax
        lda dat_0b4c,x
        sta smc_0ac6                                // SMC: modifies $0ac6
        jmp loc_1520

loc_0b45:
        lda #$1f
        sta $31
        jmp loc_0b39

dat_0b4c:
        .byte $00                                   // .

// --- Region $1000-$10f0 ---
.pc = $1000 "sub_1000"
// Referenced by: jsr from $10b6

sub_1000:
        sei
        lda #$7f
        sta $dc0d
        lda #$81
        sta $d01a
        lda #$1b
        sta $d011