| |
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.... |
| |
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. |
| |
TNT Account closed
Registered: Oct 2004 Posts: 189 |
Doesn't RR ROM write $de01 during boot?
(I use the freeze button for disk swapping in MMC64 disk image mounter, that works because RR ROM doesn't get run before the plugin.) |
| |
Oswald
Registered: Apr 2002 Posts: 5094 |
Quote: Somebody write a short article on the mechanisms of common c64 freezers and put up on http://codebase64.org :)
I second that. |
| |
AlexC
Registered: Jan 2008 Posts: 299 |
Quote: I second that.
I'll have a short write up on different bugs and features not mentioned in codebase. I'll try to clean it up during weekend and post it here for review first. I need to recheck $de01 access by different roms too. |
| |
Frantic
Registered: Mar 2003 Posts: 1648 |
great! |
| |
AlexC
Registered: Jan 2008 Posts: 299 |
Quote: Doesn't RR ROM write $de01 during boot?
(I use the freeze button for disk swapping in MMC64 disk image mounter, that works because RR ROM doesn't get run before the plugin.)
You are right. I've took a peek at 3.8 and at $817F there is the following code:
LDA #$40
STA $DE01
which enables REU comaptybility and Freeze button as well. So my code will not work if run after RR setup however it stills hangs the system so one can say it is disabling freeze option ;) |
| |
titan_ae Account closed
Registered: Jun 2002 Posts: 46 |
best "protection" against freezing i saw in an german adventure game called "mit jeans und hellebarde" from markt und technik verlag.it checked he exp. port, if something was conected there, game didnt start and ofcourse freeze button didnt werk.
|
| |
chatGPZ
Registered: Dec 2001 Posts: 11386 |
uhm but...both FC3 and AR5 can switch off themselves completely (and will be switched on again when you press freeze) so its pretty much impossible to detect them programatically. |
Previous - 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 - Next |