#166

Teesside Cracking Service [TCS] 01

Teesside Cracking Service [TCS]

1.503 lines of code

RasterbarsRSTRSpritesSPRT

History

Released
January 1987
Code
The Omega Man
Group
Teesside Cracking Service — United Kingdom, founded 1984

Another regionally-identified British group — Teesside (northeast England) naming their operation after their home area, like the Liverpudlian #158 Scouse Cracking Group. The Omega Man coded, no music is credited. TCS was founded in 1984 — remarkably early for a British C64 cracking group, placing them among the UK's pioneers. Released in January 1987, this intro came from a group already in their third year of operation. The lack of music reflects the earlier era when visual branding alone was considered sufficient. The Omega Man's handle references the 1971 Charlton Heston film — sci-fi and horror film references were common among early scene handles. TCS's northern English origin is notable in a UK scene that was often assumed to be London-centric.

Sources: CSDb

tcs-01.asm 1.503 lines
// ============================================
// output - Disassembled Source
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-01 10:59:33
// https://restore64.dev by datucker / Rabenauge
//
// Load address: $0800  End: $ffff  (63488 bytes)
// Crunched with Exomizer — depacked by emulation
// Packer entry: $0812 (via BASIC SYS 2066)
// Entry point:  $0334 (820)
// IRQ handler:  $0d10 (loc_0d10)
// IRQ handler:  $0c98 (irq_0c98)
// IRQ handler:  $0cb8 (irq_0cb8)
// IRQ handler:  $ea31 (irq_ea31)
// IRQ handler:  $0e38 (loc_0e38)
//
// Code: 999 bytes, Data: 62489 bytes
// Labels: 170, Subroutines: 9
//
// Cross-references: all OK
// ============================================


// --- Region $0c88-$0ec5 ---
.pc = $0c88 "loc_0c88"

loc_0c88:
        lda #$ff
        sta $d019
        lda $dc0d
        pla
        tay
        pla
        tax
        pla
        rti

dat_0c96:
        .byte $00,$00                               // ..

irq_0c98:
        lda #$ff
        sta $3fff
        lda #$1a
        sta $d012
        lda #$08
        sta $d011
        lda #$08
        sta $0ca3
        jmp loc_0fd8

dat_0caf:
        .byte $8d,$14,$03,$4c,$88,$0c,$00,$00,$00   // ...L.....

irq_0cb8:
        lda #$32
        sta $d012
        lda #$00
        sta $3fff
        lda #$f0
        sta $0314
        jmp loc_0c88

dat_0cca:
        .byte $00,$00,$00,$00,$00,$00               // ......
// Referenced by: jsr from $0d10, $0dbd, $0de8, $0e51

sub_0cd0:
        lda $d012
        clc
        adc #$04
// Referenced by: jsr from $0fda

sub_0cd6:
        sta $d001
        sta $d003
        sta $d005
        sta $d007
        sta $d009
        sta $d00b
        sta $d00d
        sta $d00f
        rts

dat_0cef:
        .byte $00                                   // .

loc_0cf0:
        lda #$1b
        sta $d011
        lda #$a6
        sta $d012
        lda #$10
        sta $0314
        lda #$0d
        sta $0315
        jsr sub_1200
        jmp loc_0c88

dat_0d0a:
        .byte $00,$00,$00,$00,$00,$00               // ......

loc_0d10:
        jsr sub_0cd0
        lda #$43
        sta $d000
        clc
        adc #$1a
        sta $d002
        adc #$1a
        sta $d004
        adc #$1a
        sta $d006
        adc #$1a
        sta $d008
        adc #$1a
        sta $d00a
        lda #$f9
        sta $d00c
        adc #$1a
        sta $d00e
        lda #$80
        sta $d010
        lda #$ff
        sta $d015
        sta $d01c
        lda #$00
        sta $d017
        sta $d01d
        lda #$01
        sta $d027
        sta $d028
        sta $d029
        sta $d02a
        sta $d02b
        sta $d02c
        sta $d02d
        sta $d02e
        sta $d02f
        lda #$0c
        sta $d025
        lda #$0b
        sta $d026
        lda #$10
        sta $07f8
        sta $07fe
        lda #$11
        sta $07f9
        lda #$12