#19

Abyss 05

Abyss

3.465 lines of code

RasterbarsRSTRMusicSIDScrollerSCRLSpritesSPRT

History

Released
14 January 1988
Code
Changeling
Music
Action Force by Martin Wheeler (ripped)
Charset
Kevin Bulmer
Group
Abyss — United States, founded 1987

Ranked #19 on intros.c64.org, this Abyss release is catalogued on CSDb as "Abyss Intro" and dated 14 January 1988. Changeling coded the intro, Kevin Bulmer is credited for the charset, and the soundtrack is a rip of "Action Force" by Martin Wheeler — the title tune from the game of the same name — preserved in the HVSC under Wheeler's composer directory. Abyss were a US group founded in 1987, and this is their highest-ranked entry in the archive. Doc Snyder's page for Abyss exists but carries no section confirmed to map to this specific intro, so CSDb is the sole primary source for the credits above. Released in mid-January 1988, the intro came from one of the smaller American contributions to what was by this point a predominantly European cracking scene.

Sources: CSDb · docsnyderspage

abyss-05.asm 3.465 lines
// ============================================
// output - Disassembled Source
// ============================================
// 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:  $1000 (4096)
// IRQ handler:  $1287 (irq_1287)
// IRQ handler:  $12ce (irq_12ce)
// IRQ handler:  $131b (irq_131b)
// IRQ handler:  $1362 (irq_1362)
// IRQ handler:  $ea31 (irq_ea31)
//
// Code: 3536 bytes, Data: 59952 bytes
// Labels: 375, Subroutines: 14
//
// Cross-references: all OK
// ============================================


// --- Region $1000-$108d ---
.pc = $1000 "main_1000"

main_1000:
        .byte $3c,$03,$10                           // nop $1003,x // ILLEGAL
        jsr sub_185b
        .byte $3c,$09,$10                           // nop $1009,x // ILLEGAL
        jsr $fda3
        jsr $ffe7
        .byte $3c,$12,$10                           // nop $1012,x // ILLEGAL
        lda #$c1
        sta $0318
        lda #$e1
        sta $0328
        lda #$0b
        sta $d011
        lda #$00
        tay

loc_1024:
        sta $0334,y
        iny
        cpy #$50
        bne loc_1024
        lda #$1f
        sta $034d
        lda #$00
        sta $d020
        sta $d021
        sta $033e
        sta $0334
        sta $0337
        lda #$c7
        sta $033b
        sta $033c
        lda #$0a
        sta $0335
        lda #$0c
        sta $0338
        lda #$01
        sta $0336
        lda #$02
        sta $033a
        inc $1e96
        jsr sub_15ec
        jsr sub_1e00
        inc $1e96
        jsr sub_1900
        lda #$0f
        sta $d418
        jsr sub_1253
        lda #$00
        tay

loc_1078:
        sta sub_1253,y
        iny
        cpy #$2d
        bne loc_1078
        lda #$00
        sta $c6

loc_1084:
        lda $c5
        cmp #$ef
        bne loc_1084
        jmp loc_17e5

dat_108d:
        .byte $01                                   // .

// --- Region $1253-$1635 ---
.pc = $1253 "sub_1253"
// Referenced by: jsr from $1072, $ed1e

sub_1253:
        .byte $3c,$56,$12                           // nop $1256,x // ILLEGAL
        sei
        .byte $3c,$5a,$12                           // nop $125a,x // ILLEGAL
        lda $0314
        sta $05
        .byte $3c,$62,$12                           // nop $1262,x // ILLEGAL
        lda $0315
        sta $06
        lda #$01
        sta $d01a
        lda #$7f
        sta $dc0d
        lda #$37
        sta $d012
        lda #$87
        sta $0314
        lda #$12
        sta $0315
        lda #$1b
        sta $d011
        .byte $57,$60                               // sre $60,x // ILLEGAL
irq_1287: {
        lda #$01
        sta $d019
        lda #$1b
        sta $d011
        lda #$15
        sta $d018
        ldy #$00
        ldx #$0d
loop1:
        dex
        bne loop1
loop2:
        lda dat_108d,y
        sta $d020
        lda $1099,y
        sta $d021
        ldx $10a5,y
loop3:
        dex
        bne loop3
        iny
        cpy #$0c
        bne loop2
        lda #$00
        sta $d020
        sta $d021
        lda #$49
        sta $d012