#929

Acme 01

Acme

2.817 lines of code

RasterbarsRSTRMusicSIDScrollerSCRLSpritesSPRT

History

Group
Acme — possibly Acme Hackers, Sweden

The CSDb search for "Acme" returns 45 results, with the first match — "Acme Hackers 10 Demo" (release #231994) — attributed to the Swedish group Acme Hackers under group ID #12448. That release features music by Jorg Rosenstiel ("Patrol 5") and is classified as a one-file demo. The broader Acme search results include the ACME cross-assembler tools, ACME-Noter, ACME Bricks, and various logo screens — indicating the "Acme" name was used by multiple entities across the scene. The associated scener ID #14944 is tagged to Germany. Whether this intros.c64.org entry corresponds to the Swedish Acme Hackers or a different group using the Acme name cannot be determined from the available data alone. At rank #929 on intros.c64.org, a single comment from CenTraX in June 2010 appears on the page. The Acme name — meaning peak or summit — was a popular choice that complicates precise attribution across databases.

Sources: CSDb · CSDb Group (Acme Hackers) · intros.c64.org

acme-01.asm 2.817 lines
// ============================================
// output - Disassembled Source
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-11 21:35:06
// https://restore64.dev by datucker / Rabenauge
//
// Load address: $0800  End: $31ff  (10752 bytes)
// Crunched with Cruncher AB — depacked by emulation
// Packer entry: $080d (via BASIC SYS 2061)
// Entry point:  $1b00 (6912)
// IRQ handler:  $1a60 (irq_1a60)
// IRQ handler:  $ea31 (irq_ea31)
//
// Code: 2051 bytes, Data: 8701 bytes
// Labels: 308, Subroutines: 13
//
// Cross-references: all OK
// ============================================


// --- Region $0890-$0890 ---
.pc = $0890 "Program $0890"
        brk

// --- Region $1000-$1400 ---
.pc = $1000 "sub_1000"
// Referenced by: jsr from $1bee

sub_1000:
        jmp loc_17f3

spr_1003:
        // === Sprite data (3 bytes, $1003-$1005) ===
        .byte $4c,$0d,$18                           // .#..##......##.#...##...
// Referenced by: jsr from $1aae

sub_1006:
        jmp loc_100f

spr_1009:
        // === Sprite data (6 bytes, $1009-$100e) ===
        .byte $01,$02,$04                           // .......#......#......#..
        .byte $00,$07,$0e                           // .............###....###.

loc_100f:
        lda $04
        beq loc_1019
        bpl loc_1016
        rts

loc_1016:
        jmp loc_17d7

loc_1019:
        ldx #$02
        dec $3c
        bpl loc_1024
        lda $15ab
        sta $3c

loc_1024:
        stx $02
        ldy $100c,x
        sty $03
        lda $3c
        cmp $15ab
        beq loc_1035
        jmp loc_11b6

loc_1035:
        txa
        asl
        tay
        lda dat_15a5,y
        sta smc_1052                                // SMC: modifies $1052
        lda $15a6,y
        sta smc_1053                                // SMC: modifies $1053
        dec $36,x
        bmi loc_104b
        jmp loc_11b6

loc_104b:
        lda #$00
        sta $15

loc_104f:
        ldy $58,x
.label smc_1052 = * + 1
.label smc_1053 = * + 2
        lda $15c4,y                                 // !SMC: modified by $103b, $1041
        cmp #$ff
        bne loc_1061
        lda #$00
        sta $58,x
        sta $5b,x
        jmp loc_1035

loc_1061:
        cmp #$fe
        bne loc_1079
        dec $04
        ldx #$02

loc_1069:
        ldy $100c,x
        lda $2d,x
        and #$fe
        sta $d404,y
        dex
        bpl loc_1069
        jmp loc_1400

loc_1079:
        cmp #$40
        bcs loc_1080
        jmp loc_10c5

loc_1080:
        cmp #$c0
        bcc loc_1094
        and #$3f
        sta $21,x
        lda #$00
        sec
        sbc $21,x

loc_108d:
        sta $21,x
        inc $58,x
        jmp loc_104f

loc_1094:
        cmp #$80
        bcc loc_109d
        and #$3f
        jmp loc_108d

loc_109d:
        cmp #$50
        bcc loc_10b4
        asl
        asl
        asl
        asl
        sta $0f
        lda $17
        and #$0f
        ora $0f
        sta $17