#346

Yak Society, The 01

Yak Society, The

220 lines of code

RasterbarsRSTR

History

Group
The Yak Society — United Kingdom, active 1984-1986

A crack intro from The Yak Society, a British cracking group active from 1984 to April 1986. CSDb lists them as a solo operation run by a scener also known as The Master (Aaron Liddiment), classifying the output under a single scener profile rather than a traditional group page. Despite operating as essentially a one-person outfit, The Yak Society produced over 100 game cracks — including titles such as Elite, Commando, The Dam Busters, and Frank Bruno's Boxing — alongside multiple tools and utilities like "Turbo Menu" and "Fast Burner Copier." The group collaborated with Vienna-Soft, Section 8, Berlin Cracking Service, and The Foundation. Most activity concentrated in 1985 and 1986, with the earliest documented work dating to 1984. The Yak Society's placement in a ranked collection of crack intros reflects community appreciation for their early-era productions, which predate the explosion of elaborate multi-effect intros that characterized the late 1980s Scandinavian and German scenes.

Sources: CSDb · intros.c64.org

yak-01.asm 220 lines
// ============================================
// output - Disassembled Source
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-11 21:37:05
// https://restore64.dev by datucker / Rabenauge
//
// Load address: $0801  End: $095f  (351 bytes)
// Entry point:  $0810 (via BASIC SYS 2064)
//
// Code: 127 bytes, Data: 224 bytes
// Labels: 19, Subroutines: 1
//
// Cross-references: all OK
// ============================================


// --- Region $0810-$0881 ---
.pc = $0810 "main_0810"

main_0810:
        lda #$0c
        sta $d020
        sta $d021
        lda #$93
        jsr sub_08f4
        ldx #$6f

loc_081f:
        lda $0883,x
        sta $05bc,x
        dex
        bpl loc_081f
        inx
        lda #$01

loc_082b:
        sta $d800,x
        sta $d900,x
        sta $da00,x
        sta $db00,x
        inx
        bne loc_082b
        lda #$00
        sta $fb
        sta $fc
        sta $c6
        tay
        tax

loc_0844:
        lda $c6
        bne $087d
        lda $d011
        bmi loc_0869
        lda $d012
        cmp #$95
        bpl loc_0869
        tya
        clc
        adc $d012
        lsr
        lsr
        lsr
        sta $d020
        dec $fb
        bne loc_0844
        dey
        dey
        bne loc_0844
        beq loc_0844

loc_0869:
        txa
        clc
        adc $d012
        lsr
        lsr
        lsr
        sta $d020
        dec $fc
        bne loc_0844
        inx
        bne loc_0844
        beq loc_0844
        jmp $fce2

dat_0880:
        .byte $4c,$00                               // L.

// --- Region $08f4-$0902 ---
.pc = $08f4 "sub_08f4"
// Referenced by: jsr from $081a

sub_08f4:
        jsr $ffd2
        ldx #$3f

loc_08f9:
        lda txt_0903,x
        sta $06af,x
        dex
        bpl loc_08f9
        rts

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

// --- Region $0801-$080f ---
.pc = $0801 "dat_0801"

dat_0801:
        // === BASIC loader stub ===
        .byte $0b,$08                               // next line pointer ($080b)
        .byte $c1,$07                               // line number 1985
        .byte $9e                                   // SYS token
        .text "2064"                                // SYS 2064 → main_0810
        .byte $00                                   // end of line
        .byte $00,$00                               // end of BASIC program
        .byte $00,$00,$00                           // ...

// --- Region $0882-$08f3 ---
.pc = $0882 "txt_0882"

txt_0882:
        .text "J U"
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character