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 > IRQ-loader toolchain for KickAss/Windows?
2015-06-09 21:42
Shadow
Account closed

Registered: Apr 2002
Posts: 355
IRQ-loader toolchain for KickAss/Windows?

So, the one and only time I tried making an IRQ-loading demo I swore I would never, ever try that again.
Now I guess the memory has faded enough that I'm perhaps starting to reconsider! :)

Back then I used Dreamload and Exomizer, however putting it together was a complete pain in the ass.
I don't recall exactly what the trouble was, but I think it was the fact that the de-exomizer needed to point to the end of the packed data, which meant I had to compile the parts I wanted to load, exomize them, manually note the lengths, and then enter that length in another source where I had the general part-loader as indata to the deexomizer. Every little change meant redoing that procedure since the packed length always differed a bit.

Has anyone some more plug-and-play-ready solutions? I know there is lft's Spindle system, but that seems a bit too specific in the way you have to do things, and also kind of Linux-centric.

I would prefer working from Windows and using KickAssembler.
 
... 62 posts hidden. Click here to view all posts....
 
2017-10-05 06:46
soci

Registered: Sep 2003
Posts: 480
Thanks!

It must crash with 1541U the same way then. The author insisted it worked for him 100% the time blaming the equipment and more (gently). I'll try it again soon.

I think I'd trip on this RMW trap just as well. It needs to be documented for sure that doing so is a bad idea as the loader manipulates the direction register and such code may cause control bits to be set inadvertently.

It's somewhat similar to a bug one of the entries had (but was fixed early):
lda #xx    ; raster line in range of 56-255
sta $d012
lda $d011
and #$7f   ; clear high bit as it's less than 256
sta $d011

... do some stuff without syncing to screen

lda $d011
ora #$20   ; switch to bitmap
sta $d011

... and now "crash" 18% of the time with an IRQ set to line 312+

Registers which return something else then they were set to can be great fun ;)
2017-10-05 07:08
Krill

Registered: Apr 2002
Posts: 2980
Quoting soci
It must crash with 1541U the same way then.
Ah, so by "emulator", you meant 1541U? Still, other productions using this loader, and in that version, worked fine on 1541U AND the classic drives.
But then it can be argued if an emulator not failing on a bug that trips up on the real hardware (but not vice versa) can be called a bug. It's non-perfect emulation for sure, but from a user perspective... :)

Quoting soci
It needs to be documented for sure that doing so is a bad idea as the loader manipulates the direction register and such code may cause control bits to be set inadvertently.
Yes, indeed. I've just valued working on the code more than writing up docs, and responded to people's questions personally and helped them (including changing or adding things based on their experience/reports).
But yeah, quite a while ago already, i've drafted up a small concise text with the most important bits to know and observe about usage and caveats. It'll finally make it into the next release.

Quoting soci
Registers which return something else then they were set to can be great fun ;)
Indeed, and quite a few are like that in C-64 world.
2017-10-06 19:22
soci

Registered: Sep 2003
Posts: 480
On emulator I've meant VICE.

It seems it doesn't even start with the 1541U-II I have with me which means it need to wait at least a week or so...
2017-10-06 19:55
chatGPZ

Registered: Dec 2001
Posts: 11386
VICE isnt perfectly right with this kind of things either, beware :)
2017-10-06 20:09
soci

Registered: Sep 2003
Posts: 480
Should have checked earlier but the loading and $dd00 manipulation does not happen at the same time so it could be something else.
2017-10-06 21:17
JackAsser

Registered: Jun 2002
Posts: 2014
Quote: Should have checked earlier but the loading and $dd00 manipulation does not happen at the same time so it could be something else.

Just speculating here. The loader might poll anything while not loading putting it into an illegal stale when manipulating $dd00, even outside loading? or?
2017-10-06 21:40
chatGPZ

Registered: Dec 2001
Posts: 11386
somehow i have a dejavu right now =)
2017-10-07 21:09
Krill

Registered: Apr 2002
Posts: 2980
Quoting JackAsser
Just speculating here. The loader might poll anything while not loading putting it into an illegal stale when manipulating $dd00, even outside loading? or?
It doesn't poll anything when idle because it's simply not being executed. :) However... writing anything in $00..$ff to $dd00 when not loading requires the config option IDLE_BUS_LOCK to be enabled, otherwise you're still limited to the usual 0..3 range to set the VIC bank.
2017-10-09 10:56
Bitbreaker

Registered: Oct 2002
Posts: 508
Question is, why would we want to write anything else than $00..$03 to $dd00 in a demo? Stop that expensive and unnecessary masking already :-)
2017-10-09 11:07
chatGPZ

Registered: Dec 2001
Posts: 11386
lda fpptable,x
sta $d018
sta $dd00

?
Previous - 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 - 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
goto80/HT
DanPhillips
Peacemaker/CENSOR/Hi..
Holy Moses/Role
csabanw
Guests online: 100
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 NTSC-Fixers
1 Pudwerx  (10)
2 Booze  (9.7)
3 Stormbringer  (9.7)
4 Fungus  (9.6)
5 Grim Reaper  (9.3)

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