#579

Metro Boys, The [TMB] 01

Metro Boys, The [TMB]

2.716 lines of code

RasterbarsRSTRScrollerSCRL

History

Group
The Metro Boys — Germany, founded March 1984

The sole ranked intro from The Metro Boys, a German cracking and demo group founded in March 1984 and dissolved in August 1987. CSDb documents the group under ID 2016, noting it was "built by Snoopy and Tommy" as a local operation — the members "did not even know that they got famous" and originally operated "just for fun." According to the group's CSDb trivia, they "did not use any intros" on most of their releases, relying instead on handles alone, which makes this catalogued intro a notable exception. The founding date of March 1984 places The Metro Boys among the earliest German C64 cracking groups. A separate Turkish group also called The Metro Boys (CSDb ID 7877, founded 1988) should not be confused with this German outfit. Members Snoopy and Tommy handled both coding and cracking duties, with additional contributions from Eskimo (coder and hardware specialist) and Leffty (coder). The group produced only two documented demo releases on CSDb.

Sources: CSDb Group · intros.c64.org

metroboys-01.asm 2.716 lines
// ============================================
// output - Part 1 of 2
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-11 21:35:56
// 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:  $0fa0 (4000)
// IRQ handler:  $08a2 (irq_08a2)
// IRQ handler:  $0932 (irq_0932)
// IRQ handler:  $0970 (irq_0970)
// IRQ handler:  $09a5 (irq_09a5)
// IRQ handler:  $09d4 (irq_09d4)
// IRQ handler:  $09f9 (irq_09f9)
// IRQ handler:  $0a1e (irq_0a1e)
// IRQ handler:  $0900 (loc_0900)
//
// Code: 1739 bytes, Data: 61749 bytes
// Labels: 290, Subroutines: 6
//
// Cross-references: all OK
// ============================================


// --- Region $0810-$08c6 ---
.pc = $0810 "loc_0810"

loc_0810:
        sei
        lda #$a2
        sta $0314
        lda #$08
        sta $0315
        lda #$01
        sta $d019
        sta $d01a
        sta $dc0d
        lda #$1b

loc_0828:
        sta $d011
        lda #$18
        sta $d018
        ldx #$0f
        lda #$00

loc_0834:
        sta loc_0810,x
        dex
        bpl loc_0834
        lda #$0f
        sta $0286
        lda #$d8
        sta $d016
        jsr $e544
        ldx #$04
        stx $f9
        ldx #$07
        stx $f8
        ldx #$00

loc_0851:
        lda dat_1800,x
        sta $0400,x
        lda $1891,x
        sta $0491,x
        dex
        bne loc_0851
        lda #$35
        sta $01
        ldx #$08

loc_0866:
        ldy #$00

loc_0868:
        lda dat_1000,y
        sta $e000,y
        iny
        bne loc_0868
        inc $086d
        inc $086a
        dex
        bne loc_0866
        lda #$37
        sta $01
        lda #$80
        sta $40
        lda #$1b
        sta $41
        lda #$00
        sta $9e
        lda #$1a
        sta $9f
        lda #$08
        jsr $ffd2
        lda #$e1
        sta $0328
        cli
        jmp loc_0f70

dat_089c:
        .byte $3c,$d0,$fa,$4c,$b0,$0a               // <..L..

irq_08a2:
        lda #$00
        sta $1003
        jsr sub_0b80
        jmp loc_0900

dat_08ad:
        .byte $e0,$50,$00                           // .P.
// Referenced by: jsr from $09f0

sub_08b0:
        lda #$35
        sta $01
        jsr $e03f
        lda #$37
        sta $01
        jsr sub_0a70
        jsr sub_0b00
        lda #$ce
        sta $d012
        rts

// --- Region $0900-$0a57 ---
.pc = $0900 "loc_0900"

loc_0900:
        sei
        lda #$01
        sta $d019
        lda $d011
        and #$30
        ora #$18
        sta $d011
        lda #$d8
        sta $d016
        lda #$04
        sta $d022
        lda #$05
        sta $d023
        lda #$32
        sta $0314
        lda #$09
        sta $0315