#961

Lazer 15

Lazer

649 lines of code

RasterbarsRSTRScrollerSCRL

History

Released
10 September 1989
Code
Techno
Group
Lazer — Austria, founded July 1988

A crack intro from Lazer, the Austrian group self-described as "Absolutely No.1 in Austria!" Released on 10 September 1989, the code is credited to Techno on CSDb. No SID data or music credits are recorded, suggesting the intro may use a simple built-in sound routine or an unidentified ripped tune. Lazer was founded in July 1988 and quickly established itself as Austria's most visible cracking group. Doc Snyder's page documents their broader catalogue, with coders including The Mysterious Art, Jack Ready, The Edge, Dux, and Count Hadik, and musicians spanning Charles Deenen, Stefan Hartwig, JCH, Diflex, and Link. The scrolltexts on Doc Snyder's page reveal Lazer greeting a vast European network — NATO, Ikari, Beyond Force, Cosmos, Byterapers, and Pulsar among many others. This joins #464 Lazer-01 and #969 Lazer-11 among the group's ranked entries.

Sources: CSDb · docsnyderspage

lazer-15.asm 649 lines
// ============================================
// output - Disassembled Source
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-11 21:35:53
// https://restore64.dev by datucker / Rabenauge
//
// Load address: $0800  End: $0fff  (2048 bytes)
// Crunched with Cruncher AB — depacked by emulation
// Packer entry: $080d (via BASIC SYS 2061)
// Entry point:  $0810 (2064)
// IRQ handler:  $0a20 (irq_0a20)
//
// Code: 546 bytes, Data: 1502 bytes
// Labels: 80, Subroutines: 8
//
// Cross-references: all OK
// ============================================


// --- Region $0810-$0898 ---
.pc = $0810 "main_0810"

main_0810:
        lda #$00
        sta $d020
        sta $d021
        lda #$0e
        sta $0286
        jsr $e544
        lda #$08
        jsr $ffd2
        ldx #$01
        ldy #$0e
        stx $d022
        sty $d023
        lda #$e1
        sta $0328
        ldx #$00

loc_0836:
        lda $0808,x
        sta chr_0800,x
        inx
        cpx #$08
        bne loc_0836
        ldx #$00

loc_0843:
        lda txt_0908,x
        sta $04c8,x
        inx
        cpx #$f0
        bne loc_0843
        ldx #$00

loc_0850:
        lda txt_0908,x
        sta $06f8,x
        lda $0930,x
        sta $06d0,x
        lda $0958,x
        sta $06a8,x
        lda $0980,x
        sta $0680,x
        lda $09a8,x
        sta $0658,x
        lda $09d0,x
        sta $0630,x
        inx
        cpx #$28
        bne loc_0850
        lda #$59
        sta $d012
        jsr sub_0ba3
        ldx #$00

loc_0883:
        lda #$00
        sta $d9e0,x
        lda #$a0
        sta $05e0,x
        inx
        cpx #$28
        bne loc_0883
        lda #$c7
        sta $02
        jmp loc_0a00

// --- Region $0a00-$0ace ---
.pc = $0a00 "loc_0a00"

loc_0a00:
        sei
        ldx #$20
        ldy #$0a
        stx $0314
        sty $0315
        ldx #$1b
        ldy #$81
        lda #$00
        stx $d011
        sty $d01a
        sta $dc0e
        cli

loc_0a1b:
        jmp loc_0a1b

chr_0a1e:
        // === Charset data (2 bytes, $0a1e-$0a1f) ===
        .byte $00,$00                               // char 0 (partial)

irq_0a20:
        dec $d019
        ldy #$0c

loc_0a25:
        dey
        bne loc_0a25
        lda #$12
        sta $d018
        lda #$18
        sta $d016
        ldx #$00

loc_0a34:
        lda $0b00,x
        sta $d023
        sta $d023
        ldy $0b31,x

loc_0a40:
        dey
        bne loc_0a40
        inx
        cpx #$31
        bne loc_0a34
        ldy #$53

loc_0a4a:
        dey
        bne loc_0a4a
        lda #$15
        sta $d018
        lda $02
        sta $d016
        ldx #$00

loc_0a59: