#301

Untouchable Cracking Force [UCF] 04

Untouchable Cracking Force [UCF]

1.769 lines of code

SpritesSPRT

History

Released
5 August 1988
Code
No Moralz
Music
Jeroen Tel — "JT in Space"
Graphics
Kid Ice
Group
Untouchable Cracking Force — United States, founded November 1986

The fourth numbered intro from Untouchable Cracking Force, an American group founded in November 1986. No Moralz coded the intro, Kid Ice provided graphics, and Jeroen Tel supplied the music — his composition "JT in Space," preserved in the HVSC. The use of a Dutch musician's work by an American group was entirely typical of the late 1980s, when SID compositions circulated globally through mail-traded disks. Released on 5 August 1988, this intro arrived during the period when American groups were still actively competing with their European counterparts for cracking prestige. UCF maintained transatlantic connections — their scrolltext greetings typically reached across to Scandinavian and British groups. The three-person credited team represents a solid production standard for the era, with dedicated roles for code, graphics, and music.

Sources: CSDb

ucf-04.asm 1.769 lines
// ============================================
// output - Part 1 of 2
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-11 21:36:58
// https://restore64.dev by datucker / Rabenauge
//
// Load address: $0200  End: $ffff  (65024 bytes)
// Crunched with Exomizer v2/v3 (with relocation) — depacked by emulation
// Packer entry: $0810 (via BASIC SYS 2064)
// Entry point:  $00a8 (168)
//
// Code: 89 bytes, Data: 64935 bytes
// Labels: 175, Subroutines: 0
//
// Cross-references: all OK
// ============================================


// --- Region $0848-$0885 ---
.pc = $0848 "loc_0848"

loc_0848:
        ldx #$00

loc_084a:
        lda dat_08bc
        beq loc_08a5
        sta $d004
        lda $08bd
        sta $d005
        lda #$07
        sta $d015
        ldx $02
        lda txt_0886,x
        beq loc_086b
        sta $53fa
        inx
        stx $02
        rts

loc_086b:
        lda #$00
        sta $02
        lda #$ff
        sta $0841
        inc $084b
        inc $084b
        inc $0853
        inc $0853
        lda #$03
        sta $d015
        rts

// --- Region $08a1-$08bb ---
.pc = $08a1 "loc_08a1"

loc_08a1:
        and ($30),y
        bmi loc_08a5

loc_08a5:
        lda #$bc
        sta $084b
        lda #$08
        sta $084c
        lda #$bd
        sta $0853
        lda #$08
        sta $0854
        jmp loc_084a

// ============================================
// Data blocks
// ============================================

// --- Region $0800-$0847 ---
.pc = $0800 "dat_0800"

dat_0800:
        .byte $09,$0a,$09,$0a,$0a,$0a,$0a,$0a,$02,$06,$00,$00,$00,$02,$01,$02 // ................
        .byte $03,$0e,$0e,$03,$02,$01,$02,$00,$00,$00,$06,$02,$a2,$00,$bd,$00 // ................
        .byte $54,$9d,$00,$d8,$e8,$d0,$f7,$a2,$00,$bd,$00,$55,$9d,$00,$d9,$e8 // T..........U....
        .byte $d0,$f7,$a2,$00,$bd,$00,$56,$9d,$00,$da,$e8,$e0,$a6,$d0,$f5,$60 // ......V........`
        .byte $a2,$ff,$f0,$04,$ce,$41,$08,$60       // .....A.`

// --- Region $0886-$08a0 ---
.pc = $0886 "txt_0886"

txt_0886:
        .text "001122334455667766554433221"

// --- Region $08bc-$0985 ---
.pc = $08bc "dat_08bc"

dat_08bc:
        .byte $55,$54,$e4,$72,$46,$99,$fb,$94,$f8,$30,$00,$00,$a9,$ea,$8d,$28 // UT.rF....0.....(
        .byte $03,$ad,$fa,$ff,$8d,$fa,$ff,$ad,$fb,$ff,$8d,$fb,$ff,$20,$10,$04 // ............. ..
        .byte $ad,$01,$dc,$c9,$ef,$d0,$f9,$a9,$0b,$8d,$11,$d0,$78,$a9,$31,$8d // ............x.1.
        .byte $14,$03,$a9,$ea,$8d,$15,$03,$a9,$00,$a2,$27,$9d,$00,$d0,$9d,$00 // ..........'.....
        .byte $d4,$ca,$10,$f7,$a9,$97,$8d,$00,$dd,$a9,$15,$8d,$18,$d0,$a9,$c8 // ................
        .byte $8d,$16,$d0,$a9,$00,$8d,$1a,$d0,$a9,$81,$8d,$0d,$dc,$58,$a2,$00 // .............X..
        .byte $bd,$2f,$09,$9d,$3c,$03,$e8,$e0,$38,$d0,$f5,$a9,$93,$20,$d2,$ff // ./..<...8.... ..
        .byte $4c,$3c,$03,$78,$a9,$34,$85,$01,$a9,$00,$85,$fb,$85,$fd,$a9,$80 // L<.x.4..........
        .byte $85,$fc,$a9,$08,$85,$fe,$a0,$00,$b1,$fb,$91,$fd,$c8,$d0,$f9,$e6 // ................
        .byte $fc,$e6,$fe,$a5,$fc,$c9,$e0,$d0,$ef,$a9,$37,$85,$01,$58,$a9,$1b // ..........7..X..
        .byte $8d,$11,$d0,$4c,$e2,$fc,$4c,$ae,$a7,$85,$85,$85,$85,$85,$85,$86 // ...L..L.........
        .byte $86,$86,$86,$86,$86,$86,$87,$87,$87,$87,$87,$87,$00,$d8,$00,$00 // ................
        .byte $00,$00,$00,$20,$00,$00,$60,$cd,$08   // ... ..`..

dat_0985:
        // === Fill data (1 bytes, $0985-$0985) ===
        .byte $00                                   // .

// --- Region $1000-$1000 ---
.pc = $1000 "scr_1000"

scr_1000:
        .byte $00                                   // .

// --- Region $2000-$2240 ---
.pc = $2000 "chr_2000"

chr_2000:
        // === Charset data (577 bytes, $2000-$2240) ===
        .byte $20,$20,$20,$14,$08,$05,$20,$15       // char 0 @+0
        .byte $0e,$14,$0f,$15,$03,$08,$01,$02       // char 1 @+1
        .byte $0c,$05,$20,$03,$12,$01,$03,$0b       // char 2 @+2
        .byte $09,$0e,$07,$20,$06,$0f,$12,$03       // char 3 @+3
        .byte $05,$20,$09,$13                       // char 4 (partial)

txt_2024:
        .byte $20,$20,$20,$20                       // char 4 (partial)
        .byte $20,$00,$00,$00,$00,$00,$00,$00       // char 5 @+5
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 6 @+6
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 7 @+7

txt_2040:
        .byte $20,$20,$20,$20,$20,$20,$20,$20       // char 8 @+8
        .byte $20,$20,$20,$20,$0a,$0a,$20,$14       // char 9 @+9
        .byte $08,$05,$20,$02,$12,$05,$01,$0b       // char 10 @+10
        .byte $05,$12                               // char 11 (partial)

txt_205a:
        .byte $20,$20,$20,$20,$20,$20               // char 11 (partial)
        .byte $20,$20,$20,$20,$20,$20,$20,$20       // char 12 @+12
        .byte $20,$00,$00,$00,$00,$00,$00,$00       // char 13 @+13
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 14 @+14
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 15 @+15