History
- Group
- Vision Soft — United States
A crack intro from Vision Soft (VSI), an American cracking and fixing group documented on CSDb. The group operated as both a cracker group and a fixing group — converting PAL software for the NTSC C64 hardware used in North America. CSDb notes that Vision Soft was "based in the US with at least two European members (Hoggle and Fingers)," reflecting the transatlantic connections common in the 1980s scene. Known members include Merlin, credited as an NTSC fixer, alongside Hoggle and Fingers. The group produced a small catalogue of five documented releases, including cracks of Kettle, Space Harrier, and Bulldog. Vision Soft's NTSC-fixing role was essential to the North American scene — without groups performing these conversions, many European titles would have displayed incorrectly or crashed on American hardware. No founding date has been confirmed, and no individual credits for this specific intro have been identified. Vision Soft should not be confused with the better-documented Dutch group Vision (VSN).
Sources: CSDb Group
// ============================================ // output - Disassembled Source // ============================================ // KickAssembler syntax // Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-11 21:36:59 // https://restore64.dev by datucker / Rabenauge // // Load address: $0801 End: $ffff (63487 bytes) // Crunched with Exomizer v2/v3 (with relocation) — depacked by emulation // Packer entry: $0810 (via BASIC SYS 2064) // Entry point: $c000 (49152) // IRQ handler: $c04e (irq_c04e) // IRQ handler: $ea31 (loc_ea31) // // Code: 407 bytes, Data: 63080 bytes // Labels: 116, Subroutines: 1 // // Verification: 5 line(s) auto-corrected to .byte for exact byte matching // // Cross-references: all OK // ============================================ // --- Region $118d-$11a1 --- .pc = $118d "Segment $118d" .byte $b7,$fd // lax $fd,y // ILLEGAL inc $f9 tax adc $e7da,y .byte $97,$f5 // sax $f5,y // ILLEGAL lda $e3,x cmp ($60,x) bmi loc_1163 .byte $04,$06 // nop $06 // ILLEGAL .byte $e3,$e1 // isc ($e1,x) // ILLEGAL dat_11a1: .byte $ef // . // --- Region $8dd0-$8dd0 --- .pc = $8dd0 "Segment $8dd0" brk // --- Region $c000-$c0bb --- .pc = $c000 "main_c000" main_c000: lda #$c4 sta $0288 ldx #$00 txa loc_c008: sta $c900,x sta $ca00,x inx bne loc_c008 lda $dd02 ora #$03 sta $dd02 lda $dd00 and #$fc sta $dd00 lda #$12 sta $d018 jsr sub_c090 sei lda #$4e sta $0314 lda #$c0 sta $0315 cli loc_c035: jsr $ffe4 beq loc_c035 sei lda #$ea sta $0315 lda #$31 sta $0314 cli lda #$93 jsr $ffd2 jmp loc_c29a irq_c04e: ldx #$00 loc_c050: clc asl $ca00,x bcc loc_c05e lda $c9f8,x ora #$01 sta $c9f8,x loc_c05e: inx cpx #$a8 bne loc_c050 ldx $02 inx cpx #$08 bne loc_c06c ldx #$00 loc_c06c: stx $02 cpx #$00 bne $c08d inc $c076 lda $c300 sbc #$40 asl asl asl sta smc_c083 // SMC: modifies $c083 ldx #$00 loc_c082: .label smc_c083 = * + 1 lda $c800,x // !SMC: modified by $c07d sta $caa0,x inx cpx #$08 bne loc_c082 jmp loc_ea31 // Referenced by: jsr from $c026 sub_c090: lda #$00 sta $d020 sta $d021 ldx #$00 loc_c09a: lda dat_c0bc,x beq loc_c0a6 jsr $ffd2 inx jmp loc_c09a loc_c0a6: lda #$93 sta smc_c0b3 // SMC: modifies $c0b3 lda #$c1 sta smc_c0b4 // SMC: modifies $c0b4 ldx #$00