#150

Yeti Factories [YF] 04

Yeti Factories [YF]

415 lines of code

RasterbarsRSTRScrollerSCRLSpritesSPRT

History

Released
September 1986
Group
Yeti Factories — Germany, founded 1986

One of the earliest intros in the entire ranked collection -- released in September 1986, just two years into the C64 cracking scene's formative period. Yeti Factories was a German group founded in 1986, and this fourth numbered intro is listed on CSDb as "Yeti Intro." No individual credits for code, music, or graphics are recorded on CSDb, though the release confirms the group existed under the abbreviation YF. The 1986 date places this intro in the era before dedicated SID musicians and graphic artists became standard members of cracking groups -- visual and audio elements were often handled by the coder alone. The intros.c64.org page attracted comments from an ex-Yeti member in 2014, suggesting the group's alumni retained a connection to their early work decades later. As a German operation from the mid-1980s, Yeti Factories was part of the first wave of continental European cracking groups that would come to dominate the scene.

Sources: CSDb · intros.c64.org

yf-04.asm 415 lines
// ============================================
// output - Disassembled Source
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-01 10:59:41
// https://restore64.dev by datucker / Rabenauge
//
// Load address: $0801  End: $0cfa  (1274 bytes)
// Entry point:  $0b25 (via BASIC SYS 2853)
// IRQ handler:  $09aa (irq_09aa)
// IRQ handler:  $ea31 (loc_ea31)
//
// Code: 404 bytes, Data: 870 bytes
// Labels: 34, Subroutines: 3
//
// Cross-references: all OK
// ============================================


// --- Region $0980-$0a25 ---
.pc = $0980 "sub_0980"
// Referenced by: jsr from $0b2f

sub_0980:
        lda #$00
        sta $fe
        lda #$07
        sta $d016
        sta $ff
        sei
        lda #$aa
        sta $0314
        lda #$09
        sta $0315
        lda #$8e
        sta $d012
        lda $d011
        and #$7f
        sta $d011
        lda #$51
        sta $d01a
        cli
        rts

irq_09aa:
        lda $d019
        sta $d019
        bmi loc_09b9
        lda $dc0d
        cli
        jmp $ea31

loc_09b9:
        lda $d012
        cmp #$ae
        bcs loc_09e8
        lda #$02
        sta $d020
        sta $d021
        ldx $ff
        dex
        stx $d016
        stx $ff
        cpx #$ff
        beq loc_09fd
        ldx $ff
        dex
        stx $d016
        stx $ff
        cpx #$ff
        beq loc_09fd
        lda #$ae
        sta $d012
        jmp $febc

loc_09e8:
        lda #$00
        sta $d020
        sta $d021
        lda #$c8
        sta $d016
        lda #$8e
        sta $d012
        jmp $febc

loc_09fd:
        lda #$07
        sta $ff
        sta $d016
        ldx #$00

loc_0a06:
        lda $0609,x
        sta $0608,x
        inx
        cpx #$27
        bne loc_0a06
        ldx $fe
        lda dat_0a24,x
        sta $062f
        inx
        stx $fe
        lda #$ae
        sta $d012
        jmp $febc

dat_0a24:
        .byte $1b,$2f                               // ./

// --- Region $0b25-$0bed ---
.pc = $0b25 "main_0b25"

main_0b25:
        lda #$05
        jsr $ffd2
        lda #$93
        jsr $ffd2
        jsr sub_0980
        lda #$46
        ldy #$00

loc_0b36:
        sta $d001,y
        iny
        iny
        cpy #$08
        bne loc_0b36
        lda #$ff
        sta $d015
        sta $d017
        sta $d01d
        sta $d01c
        lda #$01
        ldx #$06
        ldy #$0e
        sta $d027
        sta $d028
        sta $d029
        sta $d02a
        stx $d026
        sty $d025
        lda #$22
        sta $07f8
        lda #$21
        sta $07f9
        lda #$23
        sta $07fa
        lda #$24
        sta $07fb
        lda #$4b