#868

Laser 07

Laser

2.368 lines of code

RasterbarsRSTRMusicSIDScrollerSCRLSpritesSPRT

History

Released
February 1987
Music
Rob Hubbard — "Lightforce"
Group
Laser — United Kingdom, founded 1986

This February 1987 crack intro from the UK group Laser features a ripped version of Rob Hubbard's iconic "Lightforce" SID tune — one of the most celebrated compositions in C64 history. Hubbard's music was frequently borrowed by cracking groups to lend prestige to their intros, and the Lightforce theme was a particularly popular choice. Laser, abbreviated "LCS," was founded in 1986 in the United Kingdom and should not be confused with the Austrian group Lazer ("LZR"). No code credits are listed on the CSDb release page. Doc Snyder's page documents Laser intros coded by Ironfist, with music from composers such as Gangstar and Genius. Laser is also represented at #311 Laser Intro #2 and #483 Laser Intro #5 in this collection. The intro's scrolltexts from related releases reference scene veteran Rough as the group's fleet admiral, responsible for cracking and training duties.

Sources: CSDb · intros.c64.org · Doc Snyder's Page

laser-07.asm 2.368 lines
// ============================================
// output - Part 1 of 2
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-11 21:35:52
// https://restore64.dev by datucker / Rabenauge
//
// Load address: $0801  End: $ffff  (63487 bytes)
// Crunched with Exomizer v2/v3 (with relocation) — depacked by emulation
// Packer entry: $0810 (via BASIC SYS 2064)
// Entry point:  $cb00 (51968)
// IRQ handler:  $c957 (irq_c957)
// IRQ handler:  $c9a1 (irq_c9a1)
// IRQ handler:  $ea31 (irq_ea31)
//
// Code: 2051 bytes, Data: 61436 bytes
// Labels: 145, Subroutines: 4
//
// Verification: 5 line(s) auto-corrected to .byte for exact byte matching
//
// Cross-references: all OK
// ============================================


// --- Region $0ad0-$0af2 ---
.pc = $0ad0 "Program $0ad0"
        and ($18,x)
        ldx #$21
        clc
        ldy $21
        clc
        ldx #$2a
        clc
        clc
        bmi $0aed
        clc
        bmi $0b41
        bmi $0afb
        .byte $0f,$a3,$23                           // slo $23a3 // ILLEGAL
        ror $7e00,x
        .byte $a3,$2f                               // lax ($2f,x) // ILLEGAL
        sei
        .byte $0c,$06,$03                           // nop $0306 // ILLEGAL
        asl $0c
        sei
        brk

// --- Region $1274-$1299 ---
.pc = $1274 "loc_1274"

loc_1274:
        lda #$00
        ldy $f5b8,x
        sta $d404,y
        sta $f5bc,x
        sta $f5bf,x
        sta $f5c2,x
        sta $f5c8,x
        sta $d406,y
        lda #$15
        sta $f5ce,x
        dex
        bpl loc_1274
        sta $f5e5
        jmp loc_f4eb

dat_1299:
        .byte $50                                   // P

// --- Region $13f0-$142f ---
.pc = $13f0 "Segment $13f0"
        .byte $bf,$f5,$fe                           // lax $fef5,y // ILLEGAL
        ldy $4cf5,x
        dex
        .byte $f4,$ac                               // nop $ac,x // ILLEGAL
        .byte $bb,$f5,$bd                           // las $bdf5,y // ILLEGAL
        cmp $f5
        and #$20
        bne loc_140c
        lda $f5c2,x
        bne loc_140c
        lda #$fe
        sta $f5d1,x

loc_140c:
        lda $f5ce,x
        .byte $e3,$0a                               // isc ($0a,x) // ILLEGAL
        .byte $3b,$a8,$8c                           // rla $8ca8,y // ILLEGAL
        cpx $f5
        lda $f61f,y
        sta $f5f2
        lda dat_f61e,y
        sta $f5d9
        lda $f61d,y
        bne loc_142a
        jmp loc_f329

loc_142a:
        pha
        and #$78
        .byte $e3,$4a                               // isc ($4a,x) // ILLEGAL
        rts

// --- Region $4ca5-$4ca5 ---
.pc = $4ca5 "Segment $4ca5"
        brk

// --- Region $8dd0-$8dd0 ---
.pc = $8dd0 "Segment $8dd0"
        brk

// --- Region $a2d0-$a2d0 ---
.pc = $a2d0 "Segment $a2d0"
        brk

// --- Region $add0-$add0 ---
.pc = $add0 "Segment $add0"
        brk

// --- Region $b0bc-$b0bc ---
.pc = $b0bc "Segment $b0bc"
        brk

// --- Region $c800-$c820 ---
.pc = $c800 "sub_c800"
// Referenced by: jsr from $cc24

sub_c800:
        sei
        lda #$35
        sta $01
        jsr $f0b9
        lda #$37
        sta $01
        cli
        ldy #$00
        lda #$0e

loc_c811:
        sta $d800,y
        sta $d900,y
        sta $da00,y
        sta $db00,y
        iny
        bne loc_c811
        rts

// --- Region $c900-$c903 ---
.pc = $c900 "sub_c900"
// Referenced by: jsr from $cb11