#921

Optical 03

Optical

3.478 lines of code

RasterbarsRSTRMusicSIDScrollerSCRLSpritesSPRT

History

Released
1990
Code
Paninaro
Music
Drax (Thomas Mogensen) — "Church"
Group
Optical — United States, founded 1990

A 1990 crack intro from Optical, an American group founded the same year and identified by the abbreviation OPT. Paninaro coded the intro while Drax (Thomas Mogensen) contributed "Church" — preserved in the HVSC. Drax was a Danish SID composer whose prolific output made him one of the most frequently featured musicians in crack intros worldwide, and his appearance in an American production illustrates the transatlantic reach of European C64 music. No graphic artist is individually named on CSDb, though the release does credit unnamed contributors for graphics and charset work. Optical operated from the United States, where the C64 cracking scene was smaller but still active in the early 1990s. The group's founding in 1990 placed them late in the C64's commercial lifecycle — by this point the platform had been commercially superseded in America, but a dedicated community continued producing new content. The sparse archival record suggests Optical had limited visibility outside the American scene.

Sources: CSDb

optical-03.asm 3.478 lines
// ============================================
// output - Part 1 of 3
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-11 21:36:25
// https://restore64.dev by datucker / Rabenauge
//
// Load address: $0800  End: $efff  (59392 bytes)
// Crunched with Cruncher AB — depacked by emulation
// Packer entry: $080d (via BASIC SYS 2061)
// Entry point:  $1000 (4096)
// IRQ handler:  $10f0 (irq_10f0)
// IRQ handler:  $1133 (irq_1133)
// IRQ handler:  $12fe (irq_12fe)
// IRQ handler:  $1334 (irq_1334)
// IRQ handler:  $ea31 (loc_ea31)
//
// Code: 3120 bytes, Data: 56272 bytes
// Labels: 398, Subroutines: 4
//
// Cross-references: all OK
// ============================================


// --- Region $1000-$15da ---
.pc = $1000 "main_1000"

main_1000:
        jsr sub_1573
        lda #$00
        sta $0286
        sta $d021
        sta $d020
        jsr $e544
        ldx #$00

loc_1013:
        lda $3b48,x
        sta $d000,x
        inx
        cpx #$11
        bne loc_1013
        lda #$03
        sta $d026
        lda #$0e
        sta $d025
        ldx #$00
        lda #$06

loc_102c:
        sta $d027,x
        inx
        cpx #$08
        bne loc_102c
        ldx #$00
        lda #$00

loc_1038:
        sta dat_0800,x
        sta $0900,x
        sta $0a00,x
        sta $0b00,x
        sta $0c00,x
        sta $0d00,x
        sta $0e00,x
        sta $0f00,x
        inx
        bne loc_1038
        bit $1990
        ldx #$00

loc_1058:
        lda #$07
        sta $0400,x
        inx
        bne loc_1058
        lda #$07

loc_1062:
        sta $0500,x
        inx
        cpx #$40
        bne loc_1062
        ldx #$00
        txa

loc_106d:
        sta $0404,x
        clc
        adc #$01
        sta $042c,x
        clc
        adc #$01
        sta $0454,x
        clc
        adc #$01
        sta $047c,x
        clc
        adc #$01
        sta $04a4,x
        clc
        adc #$01
        sta $04cc,x
        clc
        adc #$01
        sta $04f4,x
        clc
        adc #$01
        sta $051c,x
        clc
        adc #$01
        inx
        cpx #$20
        bne loc_106d
        ldx #$00
        lda #$0a

loc_10a6:
        sta $d804,x
        sta $d82c,x
        sta $d854,x
        sta $d87c,x
        sta $d8a4,x
        sta $d8cc,x
        sta $d8f4,x
        inx
        cpx #$20
        bne loc_10a6
        sei
        lda #$f0
        sta $0314
        lda #$10
        sta $0315
        lda #$01
        sta $d01a
        lda #$7f
        sta $dc0d
        lda #$30
        sta $d012
        lda #$1b
        sta $d011
        lda #$35
        sta $01
        lda #$00
        jsr $e000
        lda #$37
        sta $01
        jmp loc_1413

dat_10ef: