| |
6R6
Registered: Feb 2002 Posts: 245 |
Disabling AR freeze button
Is it possible to disable the Action
Replay freeze function 100% ?
In that case, please enlighten me... :)
|
|
... 83 posts hidden. Click here to view all posts.... |
| |
chatGPZ
Registered: Dec 2001 Posts: 11386 |
not really, it only works if you disable IRQ _and_ NMI (cause then there is no way for the AR to kick in).
a much easier way is however, to sync a timer to the raster, and every now and then check if the timer is still in sync.... if it isnt, then the program has been frozen (and restarted). and this has indeed been done in some games :) |
| |
Radiant
Registered: Sep 2004 Posts: 639 |
Quoting The ShadowWhy would you want to disable the freeze button on a cartridge. In this modern 64 day, [...]
Curiosity; "can it be done, if so, how"? To give other people something to put their head against? Just for the hell of it? |
| |
Style
Registered: Jun 2004 Posts: 498 |
Quote: not really, it only works if you disable IRQ _and_ NMI (cause then there is no way for the AR to kick in).
a much easier way is however, to sync a timer to the raster, and every now and then check if the timer is still in sync.... if it isnt, then the program has been frozen (and restarted). and this has indeed been done in some games :)
Have you tested your theory groep? ie, disable NMI and IRQ and try to freeze the program?
|
| |
chatGPZ
Registered: Dec 2001 Posts: 11386 |
actually, no...but since what the freeze button does is causing an NMI, i dont feel like doing it either, its obvious =) |
| |
Frantic
Registered: Mar 2003 Posts: 1648 |
I remember some compo-pic which (by accident, it seemed) jammed the machine after making sure the gfx was visible. Another way to do it perhaps. :) |
| |
Style
Registered: Jun 2004 Posts: 498 |
Are you really really sure its that obvious groep?
:D
|
| |
chatGPZ
Registered: Dec 2001 Posts: 11386 |
yes, how do you think freeze works? |
| |
Martin Piper
Registered: Nov 2007 Posts: 722 |
Stopping the NMI will stop most freezers from working. Unless the freezer is actually watching the data and address bus and is able to dump the whole of memory. To restore all the freezer needs to do is dump out touched memory, restore CIA, VIC, SID state (it's possible to read the SID for protection purposes for example) and then start the CPU. Such hardware based freezers that watch the internal buses are practically impossible to stop. |
| |
Frantic
Registered: Mar 2003 Posts: 1648 |
Somebody write a short article on the mechanisms of common c64 freezers and put up on http://codebase64.org :) |
| |
AlexC
Registered: Jan 2008 Posts: 299 |
On original hardware you can actually crash system with well know de00 read bug. However in case of Retro Replay you can use it's extended register de01 bit 2 to disable freeze button. Remember that this is write-once register so next write to it will succeed only after system restart.
The following code will hang the system with RR and disable freeze button (however reset button will still work due to obvious reasons):
SEI
LDA #$04
STA $DE01
CLI
RTS
So in case of RR it is possible to disable Freeze button in 100% until next reset.
As a side note: Actually disabling NMI can cause interesting effects on some carts. For example Expert when is on will break on code that mask NMI (due to trigger). Disabling NMI will cause ESM led to be lit and need for ESM button to be pressed to re-enable NMI again (ESM button in connected to NMI line). You can't observe this behavior in Vice. |
Previous - 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 - Next |