#264

Rangers 01

Rangers

2.500 lines of code

RasterbarsRSTRMusicSIDScrollerSCRLBitmapBMAP

History

Released
3 May 1989
Group
Frontline & Rangers — Germany
Music
Invisible — "Sex Games Preview (tune 4)"

This crack intro is a joint release from Frontline and Rangers, two German cracking groups, dated 3 May 1989 and catalogued on CSDb as release #53630 under the title "Frontline & Rangers Intro." The music is by Invisible, using the SID tune "Sex Games Preview (tune 4)" from the HVSC. Doc Snyder's page confirms the music credit for this intro and maps it to CSDb release #53630. The scrolltext identifies the cracker as Jammy, who handled the game "Tom and Jerry" — noting it was not a reset-crack — and provides rudimentary POKE instructions for training. Greetings extend to Dominators, Elite, Paramount, Shadows, Baboons, Action, Manowar, Beastie Boys, Mantronix, Blasters Inc., Bytestar, Venom, Viper, Hotline, Cheyens, Array, Red Sector, Level 99, Contex, Axenon, Cosmos, Lazer, Afresh, and Science 451. Rangers operated under the abbreviation TGC and were based in Germany.

Sources: CSDb Release · Doc Snyder · intros.c64.org

rangers-01.asm 2.500 lines
// ============================================
// output - Disassembled Source
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-01 10:59:30
// https://restore64.dev by datucker / Rabenauge
//
// Load address: $0800  End: $3cff  (13568 bytes)
// Crunched with Exomizer v2/v3 — depacked by emulation
// Packer entry: $080b (via BASIC SYS 2059)
// Entry point:  $1e00 (7680)
// IRQ handler:  $1820 (irq_1820)
// IRQ handler:  $1850 (irq_1850)
// IRQ handler:  $1880 (irq_1880)
// IRQ handler:  $18b0 (irq_18b0)
// IRQ handler:  $18d0 (irq_18d0)
// IRQ handler:  $18f0 (irq_18f0)
// IRQ handler:  $1910 (irq_1910)
//
// Code: 2371 bytes, Data: 11197 bytes
// Labels: 273, Subroutines: 19
//
// Cross-references: all OK
// ============================================


// --- Region $0c00-$0c4d ---
.pc = $0c00 "sub_0c00"
// Referenced by: jsr from $1856

sub_0c00:
        ldy $02
        ldx $0c50,y
        ldy #$05

loc_0c07:
        lda $0dc8,x
        sta $0428,y
        lda $0e18,x
        sta $0450,y
        lda $0e68,x
        sta $0478,y
        lda $0eb8,x
        sta $04a0,y
        lda $0f08,x
        sta $04c8,y
        lda $0f58,x
        sta $04f0,y
        lda $0fa8,x
        sta $0518,y
        inx
        iny
        cpy #$28
        bne loc_0c07
        ldx $02
        lda $0cb0,x
        sta $d016
        inc $02
        cpx #$5f
        bne loc_0c49
        lda #$00
        sta $02

loc_0c49:
        jsr sub_0d20
        rts

chr_0c4d:
        // === Charset data (1 bytes, $0c4d-$0c4d) ===
        .byte $60                                   // char 0 (partial)

// --- Region $0d20-$0d3b ---
.pc = $0d20 "sub_0d20"
// Referenced by: jsr from $0c49; jmp from $0d37

sub_0d20:
        ldx $033c
        lda $0d40,x
        sta $d011
        inx
        inc $033c
        cpx #$20
        beq loc_0d32
        rts

loc_0d32:
        lda #$00
        sta $033c
        jmp sub_0d20

chr_0d3a:
        // === Charset data (2 bytes, $0d3a-$0d3b) ===
        .byte $20,$20                               // char 0 (partial)

// --- Region $148d-$148d ---
.pc = $148d "Segment $148d"
        brk

// --- Region $1800-$1954 ---
.pc = $1800 "sub_1800"
// Referenced by: jsr from $1e57

sub_1800:
        sei
        lda #$7f
        sta $dc0d
        lda #$01
        sta $d01a
        sta $d019
        lda #$20
        sta $0314
        lda #$18
        sta $0315
        cli
        rts

dat_181a:
        .byte $20,$00                               //  .

txt_181c:
        .text "*L"
        .byte $bc                                   // '<' | $80 (end-of-string marker)
        .byte $fe                                   // .

irq_1820:
        lda $d019
        sta $d019
        lda #$18
        sta $0315
        lda #$50
        sta $0314
        lda #$08
        sta $d016
        lda #$1b
        sta $d011
        lda #$00
        sta $d012
        jsr sub_3006
        jsr sub_1b60
        jsr sub_1b90
        jmp $febc

dat_184b:
        .byte $4c,$bc,$fe,$00,$00                   // L....

irq_1850:
        lda $d019
        sta $d019
        jsr sub_0c00
        lda #$18