#568

Agile 02

Agile

590 lines of code

ScrollerSCRLSpritesSPRTBitmapBMAP

History

Released
21 June 1988
Code
Trinity
Graphics
Banshee
Music
Jeroen Tel — "Bantam"
Group
Agile — Sweden, founded March 1988

A crack intro from Agile — a Swedish group founded in March 1988, making this 21 June 1988 release one of their earliest productions, arriving just three months after the group's formation. Trinity handled the code, Banshee provided the graphics, and Jeroen Tel — one of the C64's most celebrated SID composers — contributed "Bantam" as the soundtrack. Tel's involvement lent immediate credibility to a young group; his compositions appeared in intros and games across the entire C64 scene. CSDb lists this alongside an "Intro Designer V1.0" download, suggesting the intro may have been created using a construction kit — a common practice that allowed groups to produce polished-looking intros without extensive custom coding. Agile operated during the peak of the Swedish C64 cracking scene, which produced numerous internationally competitive groups. The intro's preservation on both intros.c64.org and CSDb ensures its continued accessibility.

Sources: CSDb

agile-02.asm 590 lines
// ============================================
// output - Disassembled Source
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-11 21:35:07
// https://restore64.dev by datucker / Rabenauge
//
// Load address: $0801  End: $0fff  (2047 bytes)
// Entry point:  $0814 (via BASIC SYS 2068)
// IRQ handler:  $08fd (irq_08fd)
//
// Code: 522 bytes, Data: 1525 bytes
// Labels: 83, Subroutines: 4
//
// Cross-references: all OK
// ============================================


// --- Region $0814-$098f ---
.pc = $0814 "main_0814"

main_0814:
        sei
        lda #$37
        sta $01
        jsr $fd15
        jsr $fda3
        jsr $ff5b
        jsr sub_08e8
        lda #$7f
        sta $dc0d
        lda #$fd
        sta $0314
        lda #$01
        sta $d01a
        lda #$08
        sta $0315
        lda #$e1
        jsr sub_09ee
        lda #$80
        sta $0291
        ldx #$00

loc_0845:
        lda dat_0b25,x
        sta $0400,x
        sta $06a8,x
        lda #$bc
        sta $d800,x
        sta $daa8,x
        lda #$00
        sta $d968,x
        inx
        bne loc_0845

loc_085e:
        lda $0c25,x
        sta $07a8,x
        sta $0500,x
        lda #$bc
        sta $d900,x
        sta $dba8,x
        inx
        cpx #$3c
        bne loc_085e
        lda #$f1
        sta $d022
        lda #$f3
        sta $d023
        lda #$8f
        sta smc_0976                                // SMC: modifies $0976
        lda #$0c
        sta smc_0977                                // SMC: modifies $0977
        lda #$35
        sta $01
        ldx #$00

loc_088e:
        lda $3800,x
        sta $f000,x
        lda $3900,x
        sta $f100,x
        lda $3a00,x
        sta $f200,x
        lda $3b00,x
        sta $f300,x
        inx
        bne loc_088e
        lda #$33
        sta $01
        ldy #$00

loc_08af:
        lda $d400,x
        sta $3800,y
        sta $3801,y
        lda $d480,x
        sta $3900,y
        sta $3901,y
        lda $d500,x
        sta $3a00,y
        sta $3a01,y
        lda $d580,x
        sta $3b00,y
        sta $3b01,y
        iny
        iny
        inx
        cpx #$80
        bne loc_08af
        lda #$37
        sta $01
        cli

loc_08df:
        lda $c5
        cmp #$3c
        bne loc_08df
        jmp loc_09a0

// Referenced by: jsr from $0822, $09aa
sub_08e8: {
        lda #$00
        sta $d020
        sta $d021
        sta $c6
        ldx #$00
loop:
        sta $d400,x
        inx
        cpx #$1f
        bne loop
        rts
}

irq_08fd:
        ldx #$80

loc_08ff:
        cpx $d012
        bne loc_08ff
        lda #$1e
        sta $d018
.label smc_090a = * + 1
        lda #$c3                                    // !SMC: modified by $0954
        sta $d016
        ldx #$93

loc_0910:
        cpx $d012