Log inRegister an accountBrowse CSDbHelp & documentationFacts & StatisticsThe forumsAvailable RSS-feeds on CSDbSupport CSDb Commodore 64 Scene Database
You are not logged in - nap
CSDb User Forums


Forums > C64 Coding > Packer/decruncher for under IO?
2013-06-19 14:05
ChristopherJam

Registered: Aug 2004
Posts: 1409
Packer/decruncher for under IO?

So, what's the current rec for tools that let you load stuff that will crunch down to less than 51199 bytes, but decompresses to the entire area from from (ooh, for example) $0801 to $e1e0? I thought pucrunch took care of that, but either I'm mistaken or I don't know what flags to use.

(why yes, I do have an entry for Show Me Your (Vector) Balls that fits that criteria)
2013-06-19 15:07
tlr

Registered: Sep 2003
Posts: 1790
Exomizer, pucrunch and basically all native decrunchers do that by default.
What problem are you encountering more specifically?
2013-06-19 15:31
ChristopherJam

Registered: Aug 2004
Posts: 1409
..in which case there must be a bug in my display routine instead *blush*

If I set $01 to $35 at the start of every IRQ (before acknowledging the interrupt and setting up the next), and clear it to $30 at the end, my mainline should have access to all of RAM, should it not?
2013-06-19 15:54
tlr

Registered: Sep 2003
Posts: 1790
Seems reasonable, although I usually use $34 instead.

Is $00 setup correctly? Typically $2f.
2013-06-19 16:03
algorithm

Registered: May 2002
Posts: 705
I would recommend something such as

sta $40
stx $41
sty $42
lda $01
sta $43
lda #$35
sta $01
irq routines..
....
ldx $41
ldy $42
asl $d019
lda $43
sta $01
lda $40
rti

And main routine outside IRQ can make any other adjustments to $01
rti
2013-06-19 17:45
ChristopherJam

Registered: Aug 2004
Posts: 1409
Ah! $34 was the answer. Thanks, @tlr. I've not used the RAM under IO for anything other than charsets or sprites for a very long time.

@algorithm, fair point about saving/restoring $01 in the general case, but in this instance I know the mainline code isn't touching IO.
2013-06-20 05:04
JackAsser

Registered: Jun 2002
Posts: 2014
Quote: Ah! $34 was the answer. Thanks, @tlr. I've not used the RAM under IO for anything other than charsets or sprites for a very long time.

@algorithm, fair point about saving/restoring $01 in the general case, but in this instance I know the mainline code isn't touching IO.


Save and set $01 in the irq handler anyway, always unless you really need the cycles. One day 4h before deadline you'll get the brilliant idea to load the next part while you irq is running => boom!

Been there - done that! :)

Oh and for real safety push the values on stack instead of zp if you get the other brilliant idea to allow an irq happen inside the handler.
2013-06-20 06:57
Oswald

Registered: Apr 2002
Posts: 5094
my 2 cents: dont use zp,

sta saveaccu+1
..
..

saveaccu lda #$00

is just as fast, but now you have avoided zp conflicts :)
2013-06-20 07:08
tlr

Registered: Sep 2003
Posts: 1790
Quote: Ah! $34 was the answer. Thanks, @tlr. I've not used the RAM under IO for anything other than charsets or sprites for a very long time.

@algorithm, fair point about saving/restoring $01 in the general case, but in this instance I know the mainline code isn't touching IO.


Hmm, I think $30 should have worked though. The only difference is that CHAREN is 0 but the I/O area/charrom isn't visible with LORAM/HIRAM=0 anyway.
2013-06-20 07:59
Oswald

Registered: Apr 2002
Posts: 5094
I have never used $30, altho I remember seing shit like this when peeking at code.
2013-06-20 08:07
tlr

Registered: Sep 2003
Posts: 1790
Quote: I have never used $30, altho I remember seing shit like this when peeking at code.

$30 isn't all that useful but $31 can be as you can flip in the char rom while still having ram at $a000-$bfff and $e000-$ffff.
 
... 15 posts hidden. Click here to view all posts....
 
Previous - 1 | 2 | 3 - Next
RefreshSubscribe to this thread:

You need to be logged in to post in the forum.

Search the forum:
Search   for   in  
All times are CET.
Search CSDb
Advanced
Users Online
Acidchild/Padua
Majikeyric
Dr. Doom/RAD
Scrap/Genesis Project
Sulevi/Virtual Dreams
Guests online: 112
Top Demos
1 Next Level  (9.7)
2 13:37  (9.7)
3 Mojo  (9.7)
4 Coma Light 13  (9.6)
5 Edge of Disgrace  (9.6)
6 What Is The Matrix 2  (9.6)
7 The Demo Coder  (9.6)
8 Uncensored  (9.6)
9 Comaland 100%  (9.6)
10 Wonderland XIV  (9.6)
Top onefile Demos
1 No Listen  (9.6)
2 Layers  (9.6)
3 Cubic Dream  (9.6)
4 Party Elk 2  (9.6)
5 Copper Booze  (9.6)
6 Dawnfall V1.1  (9.5)
7 Rainbow Connection  (9.5)
8 Onscreen 5k  (9.5)
9 Morph  (9.5)
10 Libertongo  (9.5)
Top Groups
1 Performers  (9.3)
2 Booze Design  (9.3)
3 Oxyron  (9.3)
4 Triad  (9.3)
5 Censor Design  (9.3)
Top Organizers
1 Burglar  (9.9)
2 Sixx  (9.8)
3 hedning  (9.7)
4 Irata  (9.7)
5 Tim  (9.7)

Home - Disclaimer
Copyright © No Name 2001-2024
Page generated in: 0.042 sec.