Log inRegister an accountBrowse CSDbHelp & documentationFacts & StatisticsThe forumsAvailable RSS-feeds on CSDbSupport CSDb Commodore 64 Scene Database
 Welcome to our latest new user maak ! (Registered 2024-04-18) You are not logged in - nap
CSDb User Forums


Forums > C64 Coding > Best practice IRQ recovery
2021-06-10 20:30
Trap

Registered: Jul 2010
Posts: 222
Best practice IRQ recovery

Hi,

Here's a little newbie question. Sorry, I'm still learning this shit and it's really complicated :(

I have kernel off ($01=$35) and I am running IRQ's using the normal $fffe/$ffff vectors.
I want to exit from this and call a prepacked piece of code (in this case something packed with TinyCrunch).

I tried restoring the IRQ vectors and jump to the packer. However, it just hangs. I tried some other things but all gave the same result. The only thing that worked was when I did this:

sei
lda #$36
sta $01
jsr $ff81
jmp unpacker

The problem of course is that it resets the VIC which isn't really great for my situation.

So, my question:

What is the correct/proper way to exit from a part and go to the next? preferably not using kernal routines :|

Thank you.

Trap
 
... 78 posts hidden. Click here to view all posts....
 
2021-06-12 13:46
TWW

Registered: Jul 2009
Posts: 541
Best of both worlds :)

    // Disable all CIA interrupts
    lda #$7f
    sta $dc0d
    sta $dd0d

    // Acknowlege any pending CIA iterrupts
    lda $dc0d
    lda $dd0d
2021-06-12 13:48
Krill

Registered: Apr 2002
Posts: 2825
Quoting Oswald
anyone who didnt spent years using these registers by hex values raise their hands. nobody? good :)
Some people got into C-64 coding only recently.

Quote:
if you code like this, and then you see your code in monitor, you will have no clue what part of your code you see.
VICEmon symbol files have been invented. \=D/

Quote:
same goes for source code thats programmed as a script.
Please elaborate.
2021-06-12 14:14
chatGPZ

Registered: Dec 2001
Posts: 11100
TWW: there are no pending interrupts after disabling them (or to be precise, they'd still trigger, before you can even ACK, the original handler will take care of them)
2021-06-12 15:09
TWW

Registered: Jul 2009
Posts: 541
GPZ: This is done inside a sei-cli raster IRQ setup to ensure no accidental CIA IRQ triggers after cli'ing which may have activated between the sei and the point you actually disable them.
2021-06-12 15:15
chatGPZ

Registered: Dec 2001
Posts: 11100
so DONT USE SEI/CLI. *sigh*
2021-06-12 15:30
TWW

Registered: Jul 2009
Posts: 541
This was posted in response to the discussion above regarding $dc0d vs CIA1_REG whatever above by Oswald/Krill.

*sight* yourself...
2021-06-12 15:38
chatGPZ

Registered: Dec 2001
Posts: 11100
>_<
2021-06-12 16:05
Frantic

Registered: Mar 2003
Posts: 1627
GPZ: How about writing that SEI/CLI rant at https://codebase64.org/doku.php?id=base:interrupts ? :D
2021-06-12 16:09
chatGPZ

Registered: Dec 2001
Posts: 11100
Should do that, some day. Better yet, trick cjam into doing it :o)
2021-06-12 16:27
Frantic

Registered: Mar 2003
Posts: 1627
@CJam: Groepaz said you had promised to write that anti SEI/CLI rant at https://codebase64.org/doku.php?id=base:interrupts We are waiting.
Previous - 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 - 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
JCH/Vibrants
Scooby/G★P/Light
Dr. Doom/RAD
psych
Guests online: 72
Top Demos
1 Next Level  (9.8)
2 Mojo  (9.7)
3 Coma Light 13  (9.7)
4 Edge of Disgrace  (9.6)
5 Comaland 100%  (9.6)
6 No Bounds  (9.6)
7 Uncensored  (9.6)
8 Wonderland XIV  (9.6)
9 The Ghost  (9.6)
10 Bromance  (9.6)
Top onefile Demos
1 It's More Fun to Com..  (9.9)
2 Party Elk 2  (9.7)
3 Cubic Dream  (9.6)
4 Copper Booze  (9.5)
5 Rainbow Connection  (9.5)
6 TRSAC, Gabber & Pebe..  (9.5)
7 Onscreen 5k  (9.5)
8 Dawnfall V1.1  (9.5)
9 Quadrants  (9.5)
10 Daah, Those Acid Pil..  (9.5)
Top Groups
1 Oxyron  (9.3)
2 Nostalgia  (9.3)
3 Booze Design  (9.3)
4 Censor Design  (9.3)
5 Crest  (9.3)
Top Coders
1 Axis  (9.8)
2 Graham  (9.8)
3 Lft  (9.8)
4 Crossbow  (9.8)
5 HCL  (9.8)

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