User Tools

Site Tools


base:exomizer_making_custom_oldschool_decrunch_effects

This is an old revision of the document!


Exomizer adding a custom de-crunch effect and de-crunch text

You may have remembered back in the 1980's / 1990's C64 scene groups liked to present their own productions by adding a de-crunch 1-liner to your own programs. A lot of these were made in Cruel Crunch or Power Crunch. Nowadays, for speed and efficiency the majority of us have moved to cross-platform coding. We know how much of a boring process crunching has been. Some of us still miss the decrunch text method.

Exomizer has a custom de-crunch effect routine, when using SFX mode. Its default effect is a flashing character at the bottom right of the screen. There are possibilities of customizing exomizer to do really cool de-crunch effects based on the old packers/crunchers you may have used. For example, here is an example of the [b]Speed Packer V1.1[/b] decrunch sound:

** exomizer sfx $4245 rayfish.prg -o rayfish.prg -s "lda #$00 sta $fb" -x "lda $fb eor #$01 sta $fb beq skip inc $d418 skip:" ** 

(replace with $d020 if you want thick multicolour bars instead of strange noises);

Adding Decrunch text to Exomizer SFX

Adding a custom effect may be fun, what about adding a de-crunch text? Can that be done with Exomizer?

Well, you could program a few characters using the -s “lda #$01 sta $0400 lda #$02 sta $0401 lda #$03 sta $040”, but that is not really efficient. There is a function in Exomizer, which allows you to link custom code before de-crunching the code. In fact you will need to code a small routine yourself. First you need to use:

exomizer sfx $4245 rayfish.prg -o rayfish.prg -s “jsr highest_addr_out” -n

That will crunch the program, and give no decrunch effect. If you run this program, it will crash straight away because there is no code at the address it jumps to. Therefore we would need to code the decrunch text routine ourselves.

!to "rayfishcomplete.prg",cbm

;Link the Exomizer SFX crunched program here
*=$0801
!bin "rayfish+.prg",,2

;Black the screen 
lda #0
sta $d020
sta $d021
;-------------------------------
ldx #$00  ;If using KERNAL RAM, 
clrscrn   ;simply use JSR $E544 
lda #$20  ;instead of this
sta $0400,x
sta $0500,x
sta $0600,x
sta $06e8,x
inx
bne clrscrn
;--------------------------------

;The decrunch text output routine 

ldx #decrunchtextend-decrunchtext
maketext 
lda decrunchtext,x 
sta $0400,x ;or where ever you wish to place it
lda #$0f 
sta $d800,x 
dex
bpl maketext

;Always terminate with an RTS
rts 

!ct scr
decrunchtext
!text "-bringing the new dimension to your c64-"
decrunchtextend
base/exomizer_making_custom_oldschool_decrunch_effects.1623415251.txt.gz · Last modified: 2021-06-11 14:40 by richard