#521

Triad 27

Triad

560 lines of code

RasterbarsRSTRBitmapBMAP

History

Released
November 1990
Code
King Fisher
Group
Triad — Sweden, founded 28 July 1986

CSDb titles this the "King Fisher Intro 2," coded by King Fisher — one of Triad's numerous contributors across their decades-long history. Released in November 1990, this arrived during Triad's prime years of Swedish C64 cracking dominance. No music credit is listed, and no SIDs were identified. Triad was founded on 28 July 1986 and remains one of the longest-running groups in scene history, with extensive documentation across multiple entries in the ranking including #16 Triad-01 and #382 Triad-10. Doc Snyder's page catalogues a vast roster of Triad coders — Tao, Quorthon, Sailor, Nith, Kravin, and many others — reflecting the group's ability to attract and retain talent over decades. King Fisher's contribution here represents just one thread in that extensive tapestry. The group's abbreviation "3AD" and their tagline "Dealer Quality Software" became iconic markers of Swedish scene identity.

Sources: CSDb · docsnyderspage

triad-27.asm 560 lines
// ============================================
// output - Part 1 of 2
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-11 21:36:54
// https://restore64.dev by datucker / Rabenauge
//
// Load address: $0800  End: $dbff  (54272 bytes)
// Crunched with Cruncher AB — depacked by emulation
// Packer entry: $080d (via BASIC SYS 2061)
//
// Code: 337 bytes, Data: 53935 bytes
// Labels: 85, Subroutines: 6
//
// Cross-references: all OK
// ============================================


// --- Region $080d-$080f ---
.pc = $080d "main_080d"

main_080d:
        jmp loc_39ca

// --- Region $0dd0-$0dd0 ---
.pc = $0dd0 "Program $0dd0"
        brk

// --- Region $2020-$2020 ---
.pc = $2020 "sub_2020"
// Referenced by: jsr from $754f, $7552, $7555, $7558

sub_2020:
        brk

// --- Region $2184-$2184 ---
.pc = $2184 "Segment $2184"
        brk

// --- Region $29d0-$29d0 ---
.pc = $29d0 "Segment $29d0"
        brk

// --- Region $39ca-$3a5e ---
.pc = $39ca "loc_39ca"

loc_39ca:
        sei

loc_39cb:
        ldx #$03

loc_39cd:
        jsr sub_3a53
        dex
        bpl loc_39cd
        lda $d020
        and #$0f
        tax
        lda $3b64,x
        sta $d020
        lda $d021
        and #$0f
        tax
        lda $3b64,x
        sta $d021
        lda $d800
        and #$0f
        tax
        lda $3b64,x
        ldx #$00

loc_39f6:
        sta $d800,x
        sta $d900,x
        sta $da00,x
        sta $db00,x
        inx
        bne loc_39f6
        lda $d020
        ora $d021
        ora $d800
        and #$0f
        bne loc_39cb
        lda #$17
        sta $d018

loc_3a17:
        lda dat_3a5e,x
        sta $0568,x
        inx
        cpx #$ef
        bne loc_3a17
        ldx #$16

loc_3a24:
        lda $3b4d,x
        sta $06b1,x
        dex
        bpl loc_3a24
        inx

loc_3a2e:
        jsr sub_3a53
        lda $3b74,x
        ldy #$16

loc_3a36:
        sta $dab1,y
        dey
        bpl loc_3a36
        iny

loc_3a3d:
        sta $d968,y
        iny
        cpy #$ef
        bne loc_3a3d
        inx
        cpx #$18
        bne loc_3a2e
        ldy #$00
        lda #$37
        sta $01
        jmp loc_74ba
// Referenced by: jsr from $39cd, $3a2e; branch from $3a56

sub_3a53:
        lda $d011
        bpl sub_3a53

loc_3a58:
        lda $d011
        bmi loc_3a58
        rts

dat_3a5e:
        .byte $63                                   // c

// --- Region $4120-$4120 ---
.pc = $4120 "Segment $4120"
        brk

// --- Region $4941-$4941 ---
.pc = $4941 "sub_4941"
// Referenced by: jsr from $755b

sub_4941:
        brk