#957

Legend 29

Legend

3.568 lines of code

RasterbarsRSTRMusicSIDScrollerSCRLSpritesSPRT

History

Released
April 1990
Code
Assassin
Charset
Roy
Music
Johannes Bjerregaard — "Domino Dancing"
Group
Legend — Belgium, founded May 1988

A crack intro from Belgium's Legend, released in April 1990, roughly two years after the group's May 1988 founding. Assassin coded the intro, Roy created the charset, and Johannes Bjerregaard composed "Domino Dancing" — a SID tune preserved in the HVSC. Bjerregaard was a prolific Danish composer whose work appeared in numerous games and scene productions; he also contributed music to other Legend intros under the handle Jozz. CSDb credits all three contributors by name. Legend's Doc Snyder catalogue reveals a wide roster of musicians across their intros — MSK, Drax, Jeroen Tel, JCH, and Iron Cat — reflecting the group's strong connections to Scandinavia's SID music community. The group's confrontational scrolltexts proclaimed Legend as "the Belgian 64" and dismissed domestic rivals. This intro sits well below higher-ranked entries such as #30 Legend-17 and #219 Legend-15.

Sources: CSDb · docsnyderspage

legend-29.asm 3.568 lines
// ============================================
// output - Disassembled Source
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-11 21:35:54
// https://restore64.dev by datucker / Rabenauge
//
// Load address: $0800  End: $444a  (15435 bytes)
// Crunched with Cruncher AB — depacked by emulation
// Packer entry: $080d (via BASIC SYS 2061)
// Entry point:  $1700 (5888)
// IRQ handler:  $1900 (irq_1900)
//
// Code: 2516 bytes, Data: 12919 bytes
// Labels: 351, Subroutines: 28
//
// Verification: 5 line(s) auto-corrected to .byte for exact byte matching
//
// Cross-references: all OK
// ============================================


// --- Region $0820-$0823 ---
.pc = $0820 "sub_0820"
// Referenced by: jsr from $37af

sub_0820:
        jmp loc_122f

smc_0823:
        rts                                         // !SMC: modified by $1770, $1a9c

// --- Region $0838-$0849 ---
.pc = $0838 "loc_0838"

loc_0838:
        bpl loc_083f
        lda #$06
        sta $0d1e

loc_083f:
        bne loc_0846

dat_0841:
        .byte $de,$57,$0d,$30,$03                   // .W.0.

loc_0846:
        jmp loc_0a2f

dat_0849:
        .byte $bd                                   // .

// --- Region $0863-$0c03 ---
.pc = $0863 "loc_0863"

loc_0863:
.label loc_0864 = * + 1
        ora $fcb1
        bpl loc_089c
        cmp #$ff
        bne loc_087a
        ldy #$00
        sty $0d2b
        sty $0d2c
        sty $0d2d
        jmp loc_0864

loc_087a:
        cmp #$fe
        bne loc_088d
        lda #$00
        sta $082f
        sta $d404
        sta $d40b
        sta $d412
        rts

loc_088d:
        and #$7f
        sec
        sbc #$40
        sta $0d22,x
        iny
        inc $0d2b,x
        jmp loc_0864

loc_089c:
        tay
        lda dat_141f,y
        sta $fc
        lda $144f,y
        sta $fd
        ldy $0d2e,x

loc_08aa:
        lda ($fc),y
        bmi loc_08b1
        jmp loc_0949

loc_08b1:
        cmp #$fd
        bne loc_08bf
        iny
        lda ($fc),y
        sta $0d81,x
        iny
        jmp loc_08aa

loc_08bf:
        cmp #$fc
        bne loc_08cc
        sta $0d25,x
        dec $0d48,x
        jmp loc_0946

loc_08cc:
        cmp #$af
        bne loc_08e8
        stx $0d37
        iny
        lda ($fc),y
        clc
        adc $0d3c,x
        tax
        iny
        lda ($fc),y
        sta $10ee,x
        ldx $0d37
        iny
        jmp loc_08aa

loc_08e8:
        cmp #$e0
        bcc loc_0907
        and #$1f
        sta $0d57,x
        iny
        tya
        sta $0d2e,x
        lda ($fc),y
        cmp #$ff
        bne loc_0904
        inc $0d2b,x
        lda #$00
        sta $0d2e,x

loc_0904:
        jmp loc_0a2f

loc_0907: