History
- Released
- 1986
- Code
- Stripe
- Music
- None
- Graphics
- Stripe
- Group
- CrackForce Omega — Sweden, founded 1986
CrackForce Omega's debut intro, coded by founding member Stripe, accompanied their 1986 crack of Paperboy and was reused across six more releases including Avenger, BMX Simulator, and Red Max. The intro is a stripped-down, no-frills effort typical of the earliest cracking scene: a bold block-letter CFO logo centered on screen with the cracked game title below and a horizontal scroller announcing the crack. No SID music was added — the approach was purely functional, staking a claim in the emerging Swedish cracking scene before groups like #11 Triad and #1 Fairlight had set the bar for production values.
Sources: CSDb · CSDb group · Demozoo
cfo-03.asm 1.085 lines
// ============================================ // cfo-03 - Disassembled Source // ============================================ // KickAssembler syntax // Generated by Restore 64 vdisasm-one 1.0 build 1, 2026-03-29 17:54:10 // https://restore64.dev by datucker / Rabenauge // // Load address: $0800 End: $cfff (51200 bytes) // Crunched with Exomizer — depacked by emulation // Packer entry: $080b (via BASIC SYS 2059) // Entry point: $c000 (49152) // IRQ handler: $c030 (irq_c030) // IRQ handler: $ea31 (loc_ea31) // // Code: 555 bytes, Data: 50645 bytes // Labels: 63, Subroutines: 7 // // Cross-references: all OK // ============================================ // --- Region $8dd0-$8dd0 --- .pc = $8dd0 "Segment $8dd0" brk // --- Region $c000-$c052 --- .pc = $c000 "main_c000" main_c000: sei lda #$30 sta $0314 // set IRQ handler low byte lda #$c0 sta $0315 // set IRQ handler high byte lda $d011 and #$7f sta $d011 // bitmap mode, screen on, 24 rows, Y-scroll=0 lda #$81 sta $d012 jsr sub_c045 sta $033d sta $033e lda #$00 sta $033c lda #$81 sta $d01a // raster IRQ on cli nop jmp loc_c310 // ============================================ // IRQ handler // ============================================ irq_c030: lda $033c beq loc_c03d lda #$00 sta $033c jmp loc_c200 loc_c03d: lda #$01 sta $033c jmp loc_c0fd // Referenced by: jsr from $c018 sub_c045: lda #$7f // disable all CIA1 interrupts sta $dc0d // disable all CIA IRQs lda $d016 and #$f7 sta $d016 // multicolor, 40 cols, X-scroll=7 rts // --- Region $c060-$c081 --- .pc = $c060 "sub_c060" // Referenced by: jsr from $c359 sub_c060: lda $dd02 ora #$03 sta $dd02 lda $dd00 and #$fc ora #$00 sta $dd00 lda #$c4 sta $0288 lda $d018 and #$f0 ora #$02 sta $d018 rts // --- Region $c0b0-$c125 --- .pc = $c0b0 "sub_c0b0" // Referenced by: jsr from $c2c7 sub_c0b0: lda $dd02 ora #$03 sta $dd02 lda $dd00 and #$fc ora #$03 sta $dd00 lda #$04 sta $0288 lda $d018 and #$f0 ora #$04 sta $d018 sei lda #$31 sta $0314 // set IRQ handler low byte lda #$ea sta $0315 // set IRQ handler high byte nop lda #$00 sta $d015 sta $d01d lda #$c8 sta $d016 // hires, 40 cols, X-scroll=0 lda #$80 sta $d01a // all IRQs off lda #$79 sta $d019 // raster, light pen lda #$00 sta $dc0d // clear cli rts scr_c0fb: // === Screen RAM (2 bytes, $c0fb-$c0fc) === .encoding "screencode_mixed" .text "@" .byte $ad // scrcode: . .encoding "petscii_upper" loc_c0fd: lda #$0b sta $d020 sta $d021 lda $033d sta $d016 lda $d011 and #$7f sta $d011 // text mode, screen off, 25 rows, Y-scroll=3 lda #$e0