#480

Teesside Cracking Service [TCS] 03

Teesside Cracking Service [TCS]

4.404 lines of code

History

Released
April 1987
Group
Teesside Cracking Service — United Kingdom, founded 1984

The Omega Man handled all duties on this intro — code, graphics, and charset design — for Teesside Cracking Service, one of Britain's earliest cracking groups. Founded in 1984 in northeast England near Middlesbrough, TCS was active until 1988 and produced over 400 releases. This April 1987 intro was reused across ten different game cracks, including Exolon, Mario Bros, and Wizball. No music is credited, reflecting TCS's generally austere approach to their intros. The Omega Man was TCS's most prolific contributor, active from 1986 to 1988 and responsible for the majority of the group's intro designs. CSDb rates TCS at 8.6 out of 10, a strong score reflecting their reputation as reliable and prolific UK crackers. Other TCS intros appear in this collection at #158 TCS-01 and #189 TCS-05. The group was part of The Light Circle and ranked third in Illegal Magazine #24.

Sources: CSDb · intros.c64.org

tcs-03.asm 4.404 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: $0801  End: $ffff  (63487 bytes)
// Crunched with Exomizer v2/v3 (with relocation) — depacked by emulation
// Packer entry: $0810 (via BASIC SYS 2064)
// Entry point:  $c800 (51200)
//
// Code: 46 bytes, Data: 63441 bytes
// Labels: 442, Subroutines: 0
//
// Verification: 5 line(s) auto-corrected to .byte for exact byte matching
//
// Cross-references: all OK
// ============================================


// --- Region $c800-$c82e ---
.pc = $c800 "main_c800"

main_c800:
        ldx #$00
        sei
        stx $01

loc_c805:
        lda chr_a000,x
        sta $0400,x
        lda dat_a100,x
        sta $0500,x
        lda $a200,x
        sta $0600,x
        lda $a300,x
        sta $0700,x
        inx
        bne loc_c805
        ldx #$5f

loc_c822:
        lda $c830,x
        sta $02a8,x
        dex
        bpl loc_c822
        jmp $0400

dat_c82e:
        // === Data block (1 bytes, $c82e-$c82e) ===
        .byte $00                                   // .

// ============================================
// Data blocks
// ============================================

// --- Region $0801-$3239 ---
.pc = $0801 "dat_0801"

dat_0801:
        // === BASIC loader stub ===
        .byte $0d,$08                                                     // [corrected] was: .byte $0c,$08                               // next line pointer ($080c)
        .byte $ce,$07                                                     // [corrected] was: .byte $00,$00                               // line number 0
        .byte $9e                                   // SYS token
        .byte $20,$28,$32,$30,$36
        .byte $34                                                         // [corrected] was: .byte $00                                   // end of line
        .byte $29,$00                                                     // [corrected] was: .byte $00,$00                               // end of BASIC program
        .byte $00,$00,$78,$a9,$34,$85,$01,$a2,$05,$bd,$42,$08,$9d,$2d,$00,$ca // ..x.4.....B..-..
        .byte $10,$f7,$9a,$a0,$00,$c6,$32,$ce,$2c,$08,$b1,$31,$99,$00,$d6,$c8 // ......2.,..1....
        .byte $d0,$f8,$a5,$32,$c9,$08,$d0,$ed,$b9,$48,$08,$99,$00,$01,$c8,$d0 // ...2.....H......
        .byte $f7
        .byte $4c,$00,$01,$00,$a0,$fd,$d6
        .byte $3c,$32,$b1
        .text "/****"
        .byte $29,$07,$aa,$bd,$1a,$01,$8d,$18,$01,$b1,$2f,$29,$1f,$aa,$20,$22 // )........./).. "
        .byte $01
        .byte $4c,$ff,$01,$a4
        .byte $43,$ab,$79
        .text "X;?)"
        .byte $e6
        .byte $2f,$d0,$02
        .byte $e6,$30,$60,$b1,$2f,$20,$22,$01,$91,$2d,$e6,$2d,$d0,$02,$e6,$2e // .0`./ "..-.-....
        .byte $ca,$d0,$f5,$f0,$c5,$a9,$00,$f0,$ef,$a9,$ff,$d0,$eb,$b1,$2f,$91 // ............../.
        .byte $2d,$e6,$2f,$d0,$02,$e6,$30,$e6,$2d,$d0,$02,$e6,$2e,$ca,$d0,$ed // -./...0.-.......
        .byte $f0,$a8,$20,$71,$01,$b1,$2f,$20,$22,$01,$91,$2d,$e6,$2d,$d0,$02 // .. q../ "..-.-..
        .byte $e6,$2e,$ca,$d0,$f5,$c6,$39,$10,$f1,$30,$8f,$86,$39,$b1,$2f,$aa // ......9..0..9./.
        .byte $4c,$22,$01,$20,$71,$01,$b1,$2f,$91,$2d,$e6,$2f,$d0,$02,$e6,$30 // L". q../.-./...0
        .byte $e6,$2d,$d0,$02,$e6,$2e,$ca,$d0,$ed,$c6,$39,$10,$e9,$4c,$00,$01 // .-........9..L..
        .byte $20,$da,$01,$a9,$37,$85,$01,$58,$20,$00,$c8,$4c,$ae,$a7,$e0,$00 //  ...7..X ..L....
        .byte $f0,$ee,$a9,$04,$2c,$a9,$08,$85,$ff,$b1,$2f,$91,$2d,$c8,$c4,$ff // ....,...../.-...
        .byte $d0,$f7,$18,$a5,$2d,$65,$ff,$85,$2d,$a5,$2e,$69,$00,$85,$2e,$a0 // ....-e..-..i....
        .byte $00,$ca,$d0,$e5,$18,$a5,$2f,$65,$ff,$85,$2f,$a5,$30,$69,$00,$85 // ....../e../.0i..
        .byte $30,$4c,$00,$01,$b9,$00,$ef,$99,$00,$ff,$c8,$d0,$f7,$ce,$dc,$01 // 0L..............
        .byte $ce,$df,$01,$ad,$df,$01,$c9,$df,$d0,$ea,$60,$60,$4d,$78,$a9,$2f // ..........``Mx./
        .byte $85,$00,$a9,$37,$85,$01,$a2,$ff,$9a,$20,$50,$04,$a9,$00,$aa,$9d // ...7..... P.....
        .byte $00,$d8,$9d,$00,$d9,$9d,$00,$da,$9d,$00,$db,$e8,$d0,$f1,$a9,$36 // ...............6
        .byte $85,$01,$bd,$00,$c8,$9d,$00,$80,$bd,$00,$c9,$9d,$00,$81,$bd,$00 // ................
        .byte $ca,$9d,$00,$82,$bd,$00,$cb,$9d,$00,$83,$e8,$d0,$e5,$a9,$37,$85 // ..............7.
        .byte $01,$4c,$e2,$fc,$20,$8e,$a6,$4c,$ae,$a7,$a3,$60,$3e,$a2,$00,$bd // .L.. ..L...`>...
        .byte $00,$80,$9d,$00,$c8,$bd,$00,$81,$9d,$00,$c9,$bd,$00,$82,$9d,$00 // ................
        .byte $ca,$bd,$00,$83,$9d,$00,$cb,$e8,$d0,$e5,$20,$00,$05,$a2,$00,$bd // .......... .....
        .byte $00,$c8,$9d,$00,$80,$bd,$00,$c9,$9d,$00,$81,$bd,$00,$ca,$9d,$00 // ................
        .byte $82,$bd,$00,$cb,$9d,$00,$83,$e8,$d0,$e5,$60,$80,$72,$00,$60,$7e // ..........`.r.`~
        .byte $78,$a9,$2f,$85,$00,$a9,$35,$85,$01,$a9,$3f,$8d,$02,$dd,$a9,$00 // x./...5...?.....
        .byte $8d,$20,$d0,$8d,$21,$d0,$8d,$11,$d0,$a9,$91,$8d,$00,$dd,$a9,$08 // . ..!...........
        .byte $8d,$18,$d0,$a9,$c8,$8d,$16,$d0,$a2,$00,$a9,$03,$9d,$00,$d8,$9d // ................
        .byte $00,$d9,$9d,$00,$da,$9d,$00,$db,$a9,$00,$9d,$00,$a0,$9d,$00,$a1 // ................
        .byte $9d,$00,$a2,$9d,$00,$a3,$e8,$d0,$e1,$a9,$1b,$8d,$11,$d0,$a9,$a4 // ................
        .byte $85,$02,$a9,$04,$85,$03,$20,$80,$05,$a9,$ff,$8d,$02,$dc,$a9,$7f // ...... .........
        .byte $8d,$00,$dc,$ad,$01,$dc,$2d,$00,$dc,$29,$10,$d0,$ec,$20,$83,$05 // ......-..)... ..
        .byte $a5,$02,$18,$69,$04,$85,$02,$c6,$03,$d0,$db,$4c,$b0,$07,$a2,$60 // ...i.......L...`
        .byte $44,$a9,$38,$2c,$a9,$18,$20,$00,$06,$a9,$07,$85,$fb,$a9,$00,$85 // D.8,.. .........
        .byte $fc,$85,$fe,$a9,$a0,$85,$ff,$a9,$d0,$85,$fd,$ad,$11,$d0,$30,$fb // ..............0.
        .byte $a9,$32,$85,$01,$a0,$00,$20,$d8,$05,$e6,$fc,$e6,$fe,$d0,$04,$e6 // .2.... .........
        .byte $fd,$e6,$ff,$a5,$ff,$c9,$a4,$d0,$e7,$20,$c8,$05,$c6,$fb,$10,$cd // ......... ......
        .byte $a9,$35,$85,$01,$60,$a4,$2b,$a0,$01,$a2,$00,$e8,$d0,$fd,$88,$d0 // .5..`.+.........
        .byte $fa,$60,$a5,$3d,$a6,$fb,$b1,$fc,$3d,$f8,$05,$d0,$02,$18,$a9,$18 // .`.=....=.......
        .byte $b1,$fe,$2a,$91,$fe,$a2,$37,$86,$01,$8d,$18,$d4,$a2,$32,$86,$01 // ..*...7......2..
        .byte $60,$a3,$60,$2a,$01,$02,$04,$08,$10,$20,$40,$80,$8d,$e3,$05,$a5 // `.`*..... @.....
        .byte $02,$85,$fd,$a0,$00,$84,$fc,$84,$fe,$a9,$80,$85,$ff,$a2,$04,$b1 // ................
        .byte $fc,$91,$fe,$c8,$d0,$f9,$e6,$fd,$e6,$ff,$ca,$d0,$f2,$60,$a6,$60 // .............`.`
        .byte $27,$a9,$4c,$85,$60,$a9,$b8,$85,$61,$a9,$06,$85,$62,$a2,$ff,$ea // '.L.`...a...b...
        .byte $a9,$2f,$85,$00,$a9,$35,$85,$01,$a9,$01,$8d,$1a,$d0,$8d,$19,$d0 // ./...5..........
        .byte $a9,$60,$8d,$fe,$ff,$a9,$00,$8d,$c2,$60,$4b,$a9,$2d,$8d,$12,$d0 // .`.......`K.-...
        .byte $a9,$7f,$8d,$0e,$dc,$a9,$ff,$8d,$00,$01,$20,$60,$07,$a9,$00,$8d // .......... `....
        .byte $15,$d0,$a9,$90,$8d,$00,$dd,$a9,$d8,$8d,$16,$d0,$a9,$08,$8d,$18 // ................
        .byte $d0,$a2,$00,$bd,$00,$c4,$9d,$00,$d8,$bd,$00,$c5,$9d,$00,$d9,$bd // ................
        .byte $00,$c6,$9d,$00,$da,$bd,$00,$c7,$9d,$00,$db,$e8,$d0,$e5,$a9,$00 // ................
        .byte $8d,$20,$d0,$8d,$21,$d0,$e4,$ea,$23,$4c,$78,$07,$b5,$34,$48,$8a // . ..!...#Lx..4H.
        .byte $48,$98,$48,$a9,$91,$8d,$00,$dd,$4c,$c7,$06,$a0,$00,$ae,$00,$01 // H.H.....L.......
        .byte $f0,$2e,$e3,$ea,$3c,$ad,$12,$d0,$29,$07,$09,$38,$8d,$11,$d0,$b9 // ....<...)..8....
        .byte $38,$07,$8d,$20,$d0,$8d,$21,$d0,$c8,$c0,$20,$d0,$04,$a0,$00,$f0 // 8.. ..!... .....
        .byte $02,$e6,$ea,$60,$2f,$24,$ea,$24,$ea,$24,$ea,$ca,$d0,$d2,$a9,$00 // ...`/$.$.$......
        .byte $ae,$12,$d0,$ec,$12,$d0,$d0,$fb,$8d,$20,$d0,$8d,$21,$d0,$a9,$90 // ......... ..!...
        .byte $8d,$00,$dd,$ce,$01,$01,$a9,$01,$8d,$19,$d0,$ad,$0d,$dc,$68,$a8 // ..............h.
        .byte $68,$aa,$68,$40,$a8,$29,$a9,$90,$8d,$00,$dd,$ce,$01,$01,$60,$a7 // h.h@.)........`.
        .byte $60,$1f,$0b,$0c,$0f,$01,$0f,$0c,$0b,$00,$06,$0e,$03,$01,$03,$0e // `...............
        .byte $06,$00,$05,$0d,$03,$01,$03,$0d,$05,$00,$09,$08,$07,$01,$07,$08 // ................
        .byte $09,$a9,$36,$58,$a9,$18,$8d,$d5,$06,$a9,$02,$8d,$01,$01,$ad,$01 // ..6X............
        .byte $01,$d0,$fb,$a9,$38,$8d,$d5,$06,$60,$a2,$60,$35,$a9,$01,$8d,$01 // ....8...`.`5....
        .byte $01,$ad,$01,$01,$d0,$fb,$ce,$00,$01,$d0,$f1,$a9,$ff,$8d,$02,$dc // ................
        .byte $a9,$7f,$8d,$00,$dc,$ad,$01,$dc,$2d,$00,$dc,$29,$10,$d0,$ec,$a9 // ........-..)....
        .byte $01,$8d,$01,$01,$ad,$01,$01,$d0,$fb,$ee,$00,$01,$d0,$f1,$4c,$c8 // ..............L.
        .byte $07,$a3,$60,$45,$a9,$a0,$85,$ff,$a9,$00,$a8,$84,$fe,$a2,$20,$91 // ..`E.......... .
        .byte $fe,$c8,$d0,$fb,$e6,$ff,$ca,$d0,$f6,$4c,$28,$06,$a9,$37,$85,$01 // .........L(..7..
        .byte $a9,$f0,$8d,$1a,$d0,$a9,$81,$8d,$0e,$dc,$58,$a9,$00,$8d,$20,$d0 // ..........X... .
        .byte $8d,$21,$d0,$ea,$a9,$93,$8d,$00,$dd,$a9,$15,$8d,$18,$d0,$a9,$c8 // .!..............
        .byte $8d,$16,$d0,$a9,$1b,$8d,$11,$d0,$60,$ab,$21,$55,$80,$26,$40,$22 // ........`.!U.&@"
        .byte $49,$5d,$e4,$20,$3d,$14,$08,$05,$20,$14,$05,$05,$13,$13,$09,$04 // I]. =... .......