#102

Triad 10

Triad

2.300 lines of code

RasterbarsRSTRMusicSIDScrollerSCRLSpritesSPRT

History

Released
24 November 2018
Music
TDM (Hans Axelsson) — "Karelinen"
Concept
Nith
Group
Triad — Sweden, founded 28 July 1986

CSDb rates this 8.6/10 — a 2018 production titled "Revolution Intro" from the group that has been active since 1986. TDM (Hans Axelsson) composed "Karelinen" while Nith provided the concept. No coder is individually credited. Triad's longevity is unmatched — this intro was released over 32 years after the group's founding on 28 July 1986, making them one of the longest continuously active entities in computing subculture history. Doc Snyder's page documents their multi-decade catalogue. The 2018 release date confirms that Triad maintained creative output well into the modern era, producing new C64 material as an artistic practice. The HVSC preserves Axelsson's composition. This is one of two Triad intros in the top rankings alongside their 1987 debut #9 Triad 01 — bookending three decades of continuous activity.

Sources: CSDb · docsnyderspage

triad-10.asm 2.300 lines
// ============================================
// output - Disassembled Source
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-01 10:59:35
// https://restore64.dev by datucker / Rabenauge
//
// Load address: $0800  End: $ffff  (63488 bytes)
// Crunched with Exomizer v2/v3 (with relocation) — depacked by emulation
// Packer entry: $0810 (via BASIC SYS 2064)
// Entry point:  $0c00 (3072)
// IRQ handler:  $0cc8 (irq_0cc8)
// IRQ handler:  $0d3c (irq_0d3c)
// IRQ handler:  $0d6b (irq_0d6b)
//
// Code: 2349 bytes, Data: 61139 bytes
// Labels: 222, Subroutines: 13
//
// Cross-references: all OK
// ============================================


// --- Region $0803-$0803 ---
.pc = $0803 "sub_0803"
// Referenced by: jsr from $ff9d

sub_0803:
        brk

// --- Region $0c00-$0edd ---
.pc = $0c00 "main_0c00"

main_0c00:
        jsr $e544
        lda #$f0
        sta $d015
        lda #$c7
        sta $d00f
        sta $d00d
        sta $d00b
        sta $d009
        lda #$3e
        sta $07ff
        sta $07fe
        lda #$3f
        sta $07fd
        sta $07fc
        lda #$07
        sta $d02c
        sta $d02b
        lda #$02
        sta $d02d
        sta $d02e
        lda #$00
        sta $d00a
        lda #$60
        sta $d008
        lda #$08
        sta $d00c
        lda #$50
        sta $d00e
        lda #$90
        sta $d010
        lda #$40
        sta smc_0ea1                                // SMC: modifies $0ea1
        lda #$1b
        sta smc_0ea2                                // SMC: modifies $0ea2
        ldx #$00

loc_0c5b:
        lda $1a00,x
        sta $0568,x
        lda #$0d
        sta $d968,x
        lda #$07
        sta $da50,x
        inx
        bne loc_0c5b
        ldx #$00

loc_0c70:
        lda dat_0ec4,x
        sta $0800,x
        inx
        cpx #$08
        bne loc_0c70
        ldx #$00

loc_0c7d:
        lda txt_1b00,x
        sta $04a9,x
        lda #$07
        sta $d8a9,x
        inx
        cpx #$28
        bne loc_0c7d
        lda #$01
        sta $d023
        lda #$0d
        sta $d022
        lda #$00
        sta $d020
        sta $d021
        jsr sub_1000
        sei
        lda #$c8
        sta $0314
        lda #$0c
        sta $0315
        lda #$7f
        sta $dc0d
        lda #$01
        sta $d01a
        sta $d019
        lda #$50
        sta $d012
        lda #$1b
        sta $d011
        cli
        jmp loc_0f20

irq_0cc8:
        lda #$01
        sta $d019
        lda #$15
        sta $d018
        lda #$f8
        sta $d016
        ldx #$03

loc_0cd9:
        dex
        bne loc_0cd9
        lda #$c8
        ldx #$00

loc_0ce0:
        sta $d016
        tay
        dey
        tya
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop