#180

Science 451 [S451] 06

Science 451 [S451]

2.901 lines of code

RasterbarsRSTRScrollerSCRLSpritesSPRT

History

Released
22 January 1989
Code
Glerc
Graphics
Spirit, Lloyd
Charset
HPH
Group
Science 451 — Sweden, founded 18 December 1987

Glerc coded this silent Science 451 intro — the same programmer behind #112 S451-01. Spirit and Lloyd shared graphics duties and HPH provided the charset — a four-person team reflecting serious production ambition for a Swedish group barely a year old. Science 451 was founded on 18 December 1987, their literary name distinguishing them from typical cracking group branding. Released on 22 January 1989, this shows Glerc maintaining the S451 coding role across multiple intros. The visual design — with its dedicated graphicians and charset artist — demonstrates S451's commitment to polished presentation even without audio. The collaboration between multiple artists gave the intro a distinctive look that set it apart from the text-only screens common in the Scandinavian scene at the time.

Sources: CSDb

s451-06.asm 2.901 lines
// ============================================
// output - Disassembled Source
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-01 10:59:31
// https://restore64.dev by datucker / Rabenauge
//
// Load address: $0700  End: $4bff  (17664 bytes)
// Crunched with Exomizer v2/v3 — depacked by emulation
// Packer entry: $080b (via BASIC SYS 2059)
// Entry point:  $1000 (4096)
// IRQ handler:  $1890 (nmi_1890)
// IRQ handler:  $1100 (irq_1100)
// IRQ handler:  $1200 (irq_1200)
//
// Code: 2082 bytes, Data: 15582 bytes
// Labels: 296, Subroutines: 21
//
// Cross-references: all OK
// ============================================


// --- Region $1000-$11e6 ---
.pc = $1000 "main_1000"

main_1000:
        sei
        ldx #$00
        ldy #$11
        stx chr_0800
        stx $0314
        sty $0315
        lda #$01
        sta $d01a
        lda #$7f
        sta $dc0d
        lda #$1b
        sta $d011
        lda #$31
        sta $d012
        lda #$f1
        sta $d015
        sta $d01c
        ldx #$00

loc_102c:
        lda #$00
        sta $0400,x
        sta $04b8,x
        lda $00,x
        sta $2e00,x
        lda $0f00,x
        sta $2f00,x
        lda #$00
        sta $05b8,x
        lda #$20
        sta $0680,x
        lda #$0e
        sta $d800,x
        sta $d8b8,x
        lda #$0f
        sta $d9e0,x
        lda #$08
        sta $dacf,x
        dex
        bne loc_102c
        lda #$00
        jsr sub_3800
        lda #$d5
        sta $d001
        lda #$10
        sta $d000
        lda #$e0
        sta $d008
        lda #$00
        sta $d00a
        lda #$58
        sta $d00c
        ldx #$a8
        stx $07fc
        inx
        stx $07fd
        inx
        stx $07fe
        lda #$b4
        sta $07f8
        lda #$15
        sta $03
        lda #$00
        sta $d017
        lda #$01
        sta $d01d
        lda #$00
        sta $40
        ldx #$19
        lda #$4a
        stx $41
        sta $42
        lda #$00
        sta $43
        lda #$01
        sta $44
        lda #$db
        sta $45
        lda #$20
        sta $46
        ldy #$00
        sty $d01b
        ldx #$28
        lda #$00

loc_10c1:
        sta $da7f,x
        sta $daa7,x
        sta $d98f,x
        dex
        bne loc_10c1
        ldx #$00

loc_10cf:
        lda txt_4a04,x
        sta $06d1,y
        ora #$40
        sta $06d2,y
        eor #$c0
        sta $06f9,y
        ora #$40
        sta $06fa,y
        lda $14e8,x
        sta $07e3,x
        iny
        iny
        inx
        cpx #$14
        bne loc_10cf
        jsr sub_17d5
        lda #$08
        sta $33
        cli

loc_10f9:
        bvc loc_10f9
        brk

dat_10fc:
        .byte $00,$00,$00,$00                       // ....

irq_1100:
        ldy #$00
        sty $d011