Laser 03

Laser

4.431 lines of code

RasterbarsRSTRMusicSIDScrollerSCRLSpritesSPRTBitmapBMAP

History

Released
28 July 1994
Code
Ironfist (attributed)
Music
Gangstar (Thomas Krefter, Plush) — Psycho Tune
Graphics
Ironfist (attributed)
Group
Laser + #29 Chromance — UK/Hungary

A rare trans-European cooperative intro: the scrolltext proudly declares it was "brought out of Laser+Chromance '94," uniting UK crackers Laser with the Hungarian group Chromance for a joint 1994 production. The SID — Psycho Tune — was composed by Gangstar (Thomas Krefter) of the freshly founded German demo group Plush, and its energetic melody drives the intro's layered display of raster bars, a bitmap logo, sprite objects, and a smooth scroller. Ironfist, the credited coder behind Laser's first two intros, is the most probable author here given his consistent role across the group's output. The precise date embedded in the binary — 28/07/94 — makes this one of the better-dated 1994 crack intros in the collection.

Sources: CSDb · CSDb group · docsnyderspage

laser-03.asm 4.431 lines
// ============================================
// laser-03 - Disassembled Source
// ============================================
// KickAssembler syntax
// Generated by Restore 64 vdisasm-one 1.0 build 1, 2026-03-29 17:54:18
// 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:  $3800 (14336)
// IRQ handler:  $3800 (main_3800)
// IRQ handler:  $2f27 (irq_2f27)
// IRQ handler:  $2f60 (irq_2f60)
//
// Code: 3622 bytes, Data: 59866 bytes
// Labels: 396, Subroutines: 10
//
// Cross-references: all OK
// ============================================


// --- Region $0f03-$0f03 ---
.pc = $0f03 "Program $0f03"
        brk

// --- Region $1000-$1006 ---
.pc = $1000 "loc_1000"

loc_1000:
        jmp loc_1037
// Referenced by: jsr from $3500

sub_1003:
        jmp loc_1085

dat_1006:
        .byte $4c                                   // L

// --- Region $1037-$162e ---
.pc = $1037 "loc_1037"

loc_1037:
        asl
        asl
        asl
        tay
        ldx #$00

loc_103d:
        lda $197e,y
        sta $1707,x
        lda $197f,y
        sta $170a,x
        iny
        iny
        inx
        cpx #$03
        bne loc_103d
        lda $197e,y
        sta $1716
        lda $197f,y
        sta $1717
        sta $d418
        ldx #$00
        txa

loc_1062:
        sta $1718,x
        inx
        cpx #$86
        bne loc_1062
        ldx #$00
        lda #$01

loc_106e:
        sta $100c,x
        sta $173b,x
        inx
        cpx #$03
        bne loc_106e
        ldx #$00
        txa

loc_107c:
        sta $d400,x
        inx
        cpx #$18
        bne loc_107c
        rts

loc_1085:
        dec $1718
        bpl loc_1090
        lda $1716
        sta $1718

loc_1090:
        ldx #$00
        stx $1720
        jsr sub_10b0
        inx
        jsr sub_10b0
        inx
        jsr sub_10b0
        lda $171c
        sta $d416
        lda $1034
        ora $1723
        sta $d417
        rts
// Referenced by: jsr from $1095, $1099, $109d

sub_10b0:
        lda $100c,x
        beq loc_10c5
        lda $1716
        cmp $1718
        bne loc_10c5
        dec $173b,x
        lda $173b,x
        beq loc_10c8

loc_10c5:
        jmp loc_11f9

loc_10c8:
        lda $1707,x
        sta $f8
        lda $170a,x
        sta $f9

loc_10d2:
        ldy $1726,x
        lda ($f8),y
        bpl loc_1101
        cmp #$ff
        bne loc_10e5
        lda #$00
        sta $1726,x
        jmp loc_10d2

loc_10e5:
        cmp #$fe
        bne loc_10ef
        lda #$00
        sta $100c,x
        rts

loc_10ef: