History
- Released
- c. 1983-2008
- Group
- Knacki Software (KNS) — Germany, founded 1983
This crack intro was produced by Knacki Software, a German cracking group founded in 1983 by ALX — making it one of the earliest formations on the Commodore 64 scene. Also known as Knacki Software Crew, Mr. Knacki, and Knacki Soft Inc., the group operated under the abbreviation KNS. CSDb documents five members — ALX (swapper), Klaus (coder, cracker, musician), Mega, Mr.A (cracker, swapper), and SC-Soft (cracker). The group's output was substantial, with 84 releases catalogued on CSDb spanning from 1983 through 2008 — a remarkable 25-year timeline for a cracking outfit. The specific credits for code and music in this intro remain unidentified, and no additional documentation has surfaced on Doc Snyder's page, Demozoo, or other scene archives. Klaus's combined role as coder, cracker, and musician suggests he may have been responsible for both the technical and audio aspects of the group's intros.
Sources: CSDb · intros.c64.org
// ============================================ // output - Disassembled Source // ============================================ // KickAssembler syntax // Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-11 21:35:52 // 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: $0b00 (2816) // IRQ handler: $0c00 (irq_0c00) // // Code: 1853 bytes, Data: 61635 bytes // Labels: 247, Subroutines: 31 // // Cross-references: all OK // ============================================ // --- Region $0a88-$0ab0 --- .pc = $0a88 "sub_0a88" // Referenced by: jsr from $f905 sub_0a88: lda $0ac0 pha ldx #$00 loc_0a8e: lda $0ac1,x sta $0ac0,x inx cpx #$1f bne loc_0a8e pla sta $0adf lda $0aff pha ldx #$1e loc_0aa3: lda $0ae0,x sta $0ae1,x dex bpl loc_0aa3 pla sta $0ae0 rts // --- Region $0b00-$0bac --- .pc = $0b00 "main_0b00" main_0b00: sei lda #$7f sta $dc0d lda #$f1 sta $d01a lda #$00 sta $d020 sta $d021 sta $d012 ldx #$00 loc_0b18: lda txt_0e00,x sta $0400,x .label sub_0b20 = * + 2 lda $0f00,x sta $0500,x lda $1000,x sta $0600,x lda #$20 sta $0700,x lda #$00 sta txt_0e00,x sta $0f00,x lda #$09 sta $d800,x sta $d840,x lda #$01 sta $d940,x sta $da40,x inx bne loc_0b18 ldx #$00 loc_0b4c: lda $0a48,x sta $d000,x inx cpx #$10 bne loc_0b4c lda #$e0 sta $d010 lda #$7f sta $d015 sta $d017 sta $d01c sta $d01d ldx #$38 stx $07f8 inx stx $07f9 inx stx $07fa inx stx $07fb inx stx $07fc inx stx $07fd inx stx $07fe lda #$00 sta $0314 lda #$0c sta $0315 jsr sub_1547 ldx #$00 lda #$3a loc_0b98: sta $0340,x clc adc #$02 inx cpx #$20 bne loc_0b98 lda #$12 sta $d018 cli loc_0ba9: jmp loc_0ba9 spr_0bac: // === Sprite data (1 bytes, $0bac-$0bac) === .byte $a2 // --- Region $0c00-$0c40 --- .pc = $0c00 "irq_0c00" irq_0c00: .label sub_0c01 = * + 1 lda #$d8 sta $d016 ldx #$00