Sto provando ad usare il fastloader di Cadaver (insomma, uno di quelli che trovate
qui) in associazione alla sua funzione di decomprimere "on fly" eventuali file compressi utilizzando exomizer. In particolare uso, come mera prova, questi 2 file prg:
1) il primo file si dovrebbe occupare di caricare un secondo file compresso con exomizer eseguendo la decompressione on fly e quindi a caricamento ultimato saltare direttamente al nuovo programma.
* =$2000
JSR initloader
LDX #<filename
LDY #>filename
JSR loadfile_exomizer
bcc ok
sta $d020
exit jsr getin
tax
beq exit
jmp 64738
ok jmp $4000;si tratta dell'indirizzo di partenza del secondo file
include cfg_exom.s
include loader.s
2) il secondo file è un semplice prg che modifica il colore dello sfondo a ripetizione, insomma un semplice test. il codice è:
* =$4000
inc $d020
inc $d020
inc $d020
inc $d020
inc $d020
inc $d020
inc $d020
inc $d020
inc $d020
inc $d020
inc $d020
inc $d020
inc $d020
inc $d020
inc $d020
inc $d020
jmp $4000
questo ultimo file lo assemblo con dasm e lo comprimo con exomizer usando l'espressione "exomizer level test.prg -otest.prg" perchè da quello che ho letto sul sito di cadaver è necessario che il file da decomprimere on fly sia stato compresso utilizzando il sub command "level" appunto.
Metto i 2 file su un d64, ma non funge nulla... cioè il primo file sembra caricare il secondo ma di fatto non decomprime un bel niente per cui a partire da $4000 non ci sono altro che 00,00,00... ripetuti.
La domanda è, sperando che qualcuno di voi abbia mai provato ad usare questa funzione (spero sinceramente almeno ianCoog), dove sbaglio? Forse devo usare altri comandi di exomizer o l'errore lo devo cercare nel loader di cadaver?
Del resto una domanda mi sorge spontanea... come fa a sapere il loader dove andare a decomprimere un file compresso con exomizer level se in esso non viene inserito alcun header?
Aiuto... :doh: