| |
Raistlin
Registered: Mar 2007 Posts: 680 |
Blog: All Border Double DYPP
So.. a few people had asked me about how I created certain effects.. I love blogging about code (I do this for my game-dev work, for example, and have done on-and-off for 10 years)... so...
https://c64demo.com/?p=19
The website needs a LOT of work, I know .. but for now it gives me a sandbed to upload these texts to.
Please let me know if you spot any mistakes, if you think I've overlooked explaining anything important, if you think I'm stupid and missed some obvious optimisation, etc...
Cheers! |
|
... 51 posts hidden. Click here to view all posts.... |
| |
ChristopherJam
Registered: Aug 2004 Posts: 1409 |
Hey, thanks for this, it was an interesting read. I've been meaning to write a cycle-interleaving code generator myself, but thus far have just been fitting code fragments in around memory requirements rather than cycle times.
Does your code generator have to deal with any issues around write cycles being absorbed by the first few sprite DMA cycles? |
| |
Raistlin
Registered: Mar 2007 Posts: 680 |
Yeah, it deals with that - but in a hard-coded way normally. I’ve been slowly adapting the code over time … I’m also not great at C++ despite having a career in it - so my code is very messy… not something that I think I could share - and not worth sharing, to be honest. |
| |
Raistlin
Registered: Mar 2007 Posts: 680 |
I did another blog post, by the way.. this time on DXYCP… I don’t want to spam CSDb every time I write a blog - so I’ll post here: https://c64demo.com/?p=156 |
| |
Mixer
Registered: Apr 2008 Posts: 452 |
Great write ups! Looking forward to the next one. |
| |
Burglar
Registered: Dec 2004 Posts: 1101 |
about this "Raistlin Code Generator", I'm assuming this generates unrolled code, not a codegen on c64-side, right?
isn't that expensive in terms of loading/decrunching time? |
| |
Raistlin
Registered: Mar 2007 Posts: 680 |
Quote: about this "Raistlin Code Generator", I'm assuming this generates unrolled code, not a codegen on c64-side, right?
isn't that expensive in terms of loading/decrunching time?
Yep, it generates full unrolled code. With modern IRQ loaders, like Sparkle and Spindle, it doesn’t noticeably slow things - just load the code in the background of a simpler part if that’s necessary. We do that throughout our demos and that’s part of the art nowadays. |
| |
Krill
Registered: Apr 2002 Posts: 2980 |
Now that explains those three-disk-sided demos. =) |
| |
chatGPZ
Registered: Dec 2001 Posts: 11386 |
Damn i did a lot of "convert unrolled shite to codegens" for previous demos - that was wrong? |
| |
Raistlin
Registered: Mar 2007 Posts: 680 |
Quote: Now that explains those three-disk-sided demos. =)
Hah, I can’t argue with that. It’s a very different way of making demos to the single-file amazeballs demos, sure.. but hopefully there’s room for both in the scene ;-) |
| |
Raistlin
Registered: Mar 2007 Posts: 680 |
Quote: Damn i did a lot of "convert unrolled shite to codegens" for previous demos - that was wrong?
Not at all, no. Different style of demo though.
I’m sure my code could be packed down.. but it’s almost never “just” unrolled code… the blit code is variant.
I could spend all my time packing the effects down and get a 3-disk side demo down to 2 sides, possibly, but not definitely… but then you’d probably only see 1 demo from me every 10 years. In fact, you’d probably only see 1 demo full-stop - because packing these demos down isn’t where my interest lies. |
Previous - 1 | 2 | 3 | 4 | 5 | 6 | 7 - Next |