#294

Alpha Flight 1970 [AFL] 02

Alpha Flight 1970 [AFL]

3.429 lines of code

RasterbarsRSTRMusicSIDScrollerSCRLSpritesSPRT

History

Released
26 October 2013
Code
Xenox
Music
Richard (Richard Bayliss)
Graphics
Diamond Design
Group
Alpha Flight 1970 — Germany, founded April 1985

Alpha Flight 1970 Intro #2, released on 26 October 2013, is a cooperative crack intro between Alpha Flight (AFL) and Hokuto Force (HF). The code is by Xenox, with graphics by Diamond Design and music -- "Hardcore DMC" -- by Richard Bayliss. This intro is notable for its late release date, demonstrating AFL's remarkable longevity -- the group was founded in April 1985 and remained active nearly three decades later. The CSDb entry carries a community rating of 6.92, indicating solid reception. Alpha Flight is one of the most extensively represented groups in this ranking, with entries at #41 AFL Intro #9, #131 AFL Intro #8, #184 AFL Intro #13, #228 AFL Intro #7, and #271 AFL Intro #20.

Sources: CSDb · intros.c64.org

afl-02.asm 3.429 lines
// ============================================
// output - Part 1 of 3
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-01 10:59:15
// 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:  $0880 (2176)
// IRQ handler:  $0824 (irq_0824)
//
// Code: 2236 bytes, Data: 61252 bytes
// Labels: 380, Subroutines: 9
//
// Cross-references: all OK
// ============================================


// --- Region $0803-$0871 ---
.pc = $0803 "sub_0803"
// Referenced by: jsr from $0f69

sub_0803:
        sei
        lda #$32
        sta $d012
        lda #$1b
        sta $d011
        lda #$01
        sta $d01a
        lda #$7f
        sta $dc0d
        lda #$08
        sta $0315
        lda #$24
        sta $0314
        cli
        rts

irq_0824:
        lda #$0d
        sta $d022
        lda #$05
        sta $d023
        lda #$18
        sta $d018
        lda $32fe
        sta $d016
        lda #$5a

loc_083b:
        cmp $d012
        bne loc_083b
        lda #$d8
        sta $d016
        lda #$0f
        sta $d022
        lda #$06
        sta $d023
        ldx #$08

loc_0851:
        dex
        bne loc_0851
        lda #$1a
        sta $d018
        jsr sub_3200
        inc $d019
        lda $32ff
        cmp #$fe
        beq loc_0869
        jmp loc_0900

loc_0869:
        lda #$00
        sta $32ff
        jmp loc_0900

dat_0871:
        .byte $00                                   // .

// --- Region $0880-$0898 ---
.pc = $0880 "main_0880"

main_0880:
        lda #$00
        sta $d020
        sta $d021
        jsr $e544
        jsr sub_08c3
        lda #$00
        sta $1aff
        sta dat_1afe
        jmp loc_0f00

// --- Region $08c3-$0990 ---
.pc = $08c3 "sub_08c3"
// Referenced by: jsr from $088b

sub_08c3:
        lda #$40
        sta smc_08d5                                // SMC: modifies $08d5
        ldx #$00

loc_08ca:
.label smc_08cc = * + 2
        lda $1e00,x                                 // !SMC: modified by $08e2, $08eb
        lsr
        lsr
        lsr
        lsr
        sta $d418
.label smc_08d5 = * + 1
        ldy #$36                                    // !SMC: modified by $08c5

loc_08d6:
        dey
        bne loc_08d6
        inx
        bne loc_08ca
        lda smc_08cc
        clc
        adc #$01
        sta smc_08cc                                // SMC: modifies $08cc
        cmp #$1f
        bne loc_08ca
        lda #$1d
        sta smc_08cc                                // SMC: modifies $08cc
        dec smc_08d5
        lda smc_08d5
        cmp #$00
        bne loc_08ca
        rts

dat_08f9:
        .byte $00,$00,$00,$00,$00,$00,$00           // .......

loc_0900:
        lda #$a1

loc_0902:
        cmp $d012
        bne loc_0902
        lda #$0d
        sta $d022
        lda #$05
        sta $d023
        ldx #$14