#388

Sharks, The 11

Sharks, The

3.475 lines of code

RasterbarsRSTRMusicSIDScrollerSCRLSpritesSPRTBitmapBMAP

History

Group
The Sharks — Germany, founded 1987

The eleventh numbered crack intro from The Sharks, a prolific German group that operated from 1987 to 1995. CSDb (group ID 241) classifies them as a cracker group, demo group, import group, graphics group, hacker group, and fixing group — an unusually broad range of activities. Individual credits for code, music, or graphics on this particular intro could not be confirmed through available sources. The Sharks’ membership included Deadbeat as a long-serving coder and graphician, alongside crackers such as Magic Circle and Dark Force, and the multi-talented Ultimax who contributed code, graphics, and music. The group accumulated roughly 568 documented releases — placing them among the more productive German scene outfits of the era. They also developed the Sharks Intro Editor, a tool that saw numerous revisions and was used for constructing their intro screens. Other Sharks intros in this collection appear at positions #174, #309, and #956, reflecting the group’s extensive numbered intro series.

Sources: CSDb · intros.c64.org

sharks-11.asm 3.475 lines
// ============================================
// output - Part 1 of 2
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-11 21:36:45
// https://restore64.dev by datucker / Rabenauge
//
// Load address: $0800  End: $4fff  (18432 bytes)
// Crunched with Exomizer v2/v3 — depacked by emulation
// Packer entry: $080b (via BASIC SYS 2059)
// Entry point:  $1771 (6001)
// IRQ handler:  $186c (irq_186c)
// IRQ handler:  $ea31 (loc_ea31)
//
// Code: 2782 bytes, Data: 15650 bytes
// Labels: 331, Subroutines: 15
//
// Cross-references: all OK
// ============================================


// --- Region $0b19-$102d ---
.pc = $0b19 "sub_0b19"
// Referenced by: jsr from $181d

sub_0b19:
        tay
        ldx #$59
        lda #$00

loc_0b1e:
        sta $11eb,x
        dex
        bpl loc_0b1e
        ldx #$18

loc_0b26:
        sta $d400,x
        dex
        bpl loc_0b26
        lda #$08
        sta $d404
        sta $d40b
        sta $d412
        tya
        asl
        sta $50
        asl
        clc
        adc $50
        tax
        lda $12cb,y
        sta smc_0d44                                // SMC: modifies $0d44
        ldy #$00

loc_0b48:
        lda $12c5,x
        sta $1221,y
        inx
        iny
        cpy #$06
        bcc loc_0b48
        lda #$80
        sta smc_0bc8                                // SMC: modifies $0bc8
        rts

loc_0b5a:
        cmp #$ff
        bne loc_0b6d
        iny
        lda ($50),y
        sta $1221,x
        iny
        lda ($50),y
        sta $1224,x
        jmp loc_0b8e

loc_0b6d:
        cmp #$a0
        bcs loc_0b7a
        and #$1f
        sta $1230,x

loc_0b76:
        iny
        jmp loc_0ba9

loc_0b7a:
        cmp #$c0
        bcs loc_0b85
        and #$1f
        sta $1233,x
        bpl loc_0b76

loc_0b85:
        and #$3f
        sta $1227,x
        iny
        jmp loc_0ba9

loc_0b8e:
        lda $1221,x
        sta $50
        lda $1224,x
        sta $51
        lda #$00
        tay
        sta $122d,x
        lda $1227,x
        beq loc_0ba9
        dec $1227,x
        jmp loc_0be7

loc_0ba9:
        lda ($50),y
        bmi loc_0b5a
        asl
        sta $122a,x
        iny
        tya
        clc
        adc $1221,x
        sta $1221,x
        bcc loc_0be7
        inc $1224,x
        jmp loc_0be7

loc_0bc2:
        jmp loc_0e61
// Referenced by: jsr from $18a0

sub_0bc5:
        ldx #$02

loc_0bc7:
.label smc_0bc8 = * + 1
        lda #$00                                    // !SMC: modified by $0b56, $0d4a
        bmi loc_0b8e
        lda $1244
        bne loc_0bc2
        dec $121e,x
        bpl loc_0be2
        ldy $11f4,x
        lda $102a,y
        bmi loc_0be2
        lda #$fe
        sta $121b,x

loc_0be2:
        dec $1236,x