| |
Raistlin
Registered: Mar 2007 Posts: 680 |
100% versions..? Party versions..? etc..?
So, I was wondering ...
Both "Delirious 11" and "X Marks the Spot" have the RESTORE key crash... and "X Marks" has a last minute glitch that crept in...
For myself I'd love to release a 100% version ... but I also kinda wouldn't - because doing so "dirties" the CSDB releases somewhat ... there'd then be something like an "X Marks Party Version" and "X Marks 100% Version" sullying the charts ........
I know Comaland had a 100% version, I can see it right now sat nicely at #2 in the charts ... but that version has more changed since the party version than what I'd likely do...
What do others think? Leave the demos alone and move on .. or go back and fix them. |
|
... 48 posts hidden. Click here to view all posts.... |
| |
ChristopherJam
Registered: Aug 2004 Posts: 1409 |
While we're talking about post compo patches...
Slightly improved versions released after voting closes, but before results released, for an online compo... Out of compo but still at event? Or standalone release?
(obviously I have Reutastic 100% in mind as a case in point) |
| |
MagerValp
Registered: Dec 2001 Posts: 1078 |
I've never understood the restore protection fetish. It's the system soft reset key, of course it causes a crash if you press it at the wrong moment. Heck, make it cleanly exit to basic if you feel the need to handle it somehow.
And if you're watching a demo, why the hell would you be pressing restore? |
| |
chatGPZ
Registered: Dec 2001 Posts: 11386 |
i like to make it "crash gracefully". ie do something silly. perhaps format the disk. or something :) |
| |
Peiselulli
Registered: Oct 2006 Posts: 81 |
Quote: Quoting Oswaldalso not always blockable, sometimes you want to use nmi with timers for something. NMI usage or not, it's always possible to prevent crashes when pressing restore.
Only with restrictions. If you want to get the NMI stable with the timer method (NMI vector pointing to $dd04), you will have 63 different addresses in the code that could be reached, not about 10 as in normal use case. And you need also an extra check to distinguish between a timer NMI and the restore key. |
| |
MagerValp
Registered: Dec 2001 Posts: 1078 |
It's a waste of bytes, cycles, and brainwaves that are better spent making something interesting. |
| |
Krill
Registered: Apr 2002 Posts: 2980 |
Quoting PeiselulliOnly with restrictions. If you want to get the NMI stable with the timer method (NMI vector pointing to $dd04), you will have 63 different addresses in the code that could be reached, not about 10 as in normal use case. And you need also an extra check to distinguish between a timer NMI and the restore key. Set CIA2 timer A period to 9 cycles and set CIA2 timer B to count 7 timer A underflows (9 cycles * 7 = 63 cycles), then let timer B trigger interrupts, NMI vector still pointing to timer A counter ($dd04).
Et voilà, one timer NMI per rasterline with only 9 interrupt handlers (maximum variance is 8 cycles). No need to check for restore (i.e., rule out the timer interrupt condition). Glitches caused by pressing restore generally aren't avoidable anyways with active NMIs, but i still maintain that crashes are.
That said, i think it's a nice touch to handle restore gracefully (you might accidentally hit it), just like hidden parts, nice dir-art, shift lock to stay at the current part, or a user mode to play with. None of those are required for a good demo, of course. |
| |
soci
Registered: Sep 2003 Posts: 480 |
I think I must ask the following rhetoric question:
What's the worst case interrupt latency of the following code sequences in cycles?
1.
clc
bcc *+2
rts
2.
ldx #1
bne *+2
lsr $1000,x
3.
ldx #1
bne *+2
isb ($10,x)
No page boundary crossing. |
| |
Krill
Registered: Apr 2002 Posts: 2980 |
Obvious rhetorical answer: 42. |
| |
soci
Registered: Sep 2003 Posts: 480 |
Not quite as much. It's 8 to 10. |
| |
Oswald
Registered: Apr 2002 Posts: 5094 |
"Set CIA2 timer A period to 9 cycles and set CIA2 timer B to count 7 timer A underflows (9 cycles * 7 = 63 cycles), then let timer B trigger interrupts, NMI vector still pointing to timer A counter ($dd04).
Et voilà, one timer NMI per rasterline with only 9 interrupt handlers "
instant erect penis. thats beautiful :) |
Previous - 1 | 2 | 3 | 4 | 5 | 6 - Next |