#42

Touch of Class, A [ATC] 06

Touch of Class, A [ATC]

3.289 lines of code

RasterbarsRSTRMusicSID

History

Released
16 September 1988
Code
Pudwerx
Charset
Andrew Threlfall
Music
Scumball by Tim Follin (ripped)
Group
A Touch of Class — United States, founded September 1987

Ranked #42 on intros.c64.org, this A Touch of Class release is catalogued on CSDb as "ATC Intro (Pudwerx 3rd)" and dated 16 September 1988. Pudwerx coded the intro — the parenthetical "Pudwerx 3rd" in the title marks it as the third in a personal numbered series by the same coder within the group. Andrew Threlfall produced the charset, and the soundtrack is a rip of Tim Follin's "Scumball" — the title tune from the Bug Byte game of the same name — preserved in the HVSC under Follin's composer directory. Doc Snyder's page for A Touch of Class exists but carries no section confirmed to match this specific intro. ATC were a US group founded in September 1987.

Sources: CSDb · docsnyderspage

atc-06.asm 3.289 lines
// ============================================
// output - Disassembled Source
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-01 10:59:16
// 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:  $1000 (4096)
// IRQ handler:  $fe43 (smc_fe43)
//
// Code: 3210 bytes, Data: 60278 bytes
// Labels: 382, Subroutines: 10
//
// Cross-references: all OK
// ============================================


// --- Region $08d9-$08e2 ---
.pc = $08d9 "loc_08d9"

loc_08d9:
        asl $06
        asl $0e
        asl.abs $00f6,x
        beq loc_0942
        rts

// --- Region $0942-$0942 ---
.pc = $0942 "loc_0942"

loc_0942:
        rts

// --- Region $0990-$0992 ---
.pc = $0990 "Program $0990"
        adc ($60,x)
        rts

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

// --- Region $1000-$1061 ---
.pc = $1000 "main_1000"

main_1000:
        lda #$00
        sta $d020
        sta $d021
        lda #$93
        jsr $ffd2
        ldx #$00

loc_100f:
        lda $00,x
        sta $1700,x
        inx
        bne loc_100f
        sei
        lda #$35
        sta $01
        lda #$40
        sta smc_fe43                                // SMC: modifies $fe43
        lda #$43
        sta smc_fffa                                // SMC: modifies $fffa
        lda #$fe
        sta smc_fffb                                // SMC: modifies $fffb
        lda #$15
        sta $d018
        ldx #$0f

loc_1032:
        lda scr_1061,x
        sta $07d8,x
        dex
        bpl loc_1032
        ldx #$0f
        lda #$03

loc_103f:
        sta $dbd8,x
        dex
        bpl loc_103f
        lda #$00
        sta $1071
        ldx #$00
        jsr $f000

loc_104f:
        lda #$f0

loc_1051:
        cmp $d012
        bne loc_1051
        jsr $f088
        inc $1071
        bne loc_104f
        jmp loc_1072

scr_1061:
        // === Screen RAM (1 bytes, $1061-$1061) ===
        .byte $89                                   // scrcode: .

// --- Region $1072-$10ef ---
.pc = $1072 "loc_1072"

loc_1072:
        lda #$00
        ldx #$00

loc_1076:
        sta $d800,x
        sta $d900,x
        sta $da00,x
        sta $db00,x
        inx
        bne loc_1076

loc_1085:
        lda chr_1800,x
        sta $0400,x
        lda $1900,x
        sta $0500,x
        lda $1a00,x
        sta $0600,x
        lda $1b00,x
        sta $0700,x
        inx
        bne loc_1085
        lda #$00
        sta $fb
        lda #$1c
        sta $fc
        ldx #$4f
        lda #$7f

loc_10ac:
        sta $0658,x
        dex
        bpl loc_10ac
        ldx #$27

loc_10b4:
        lda scr_10ef,x
        sta $da58,x
        dex
        bpl loc_10b4