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 > Keeping a few bits of information in a hostile environment
2021-04-18 09:24
Krill

Registered: Apr 2002
Posts: 2852
Keeping a few bits of information in a hostile environment

If not reserving space in RAM, where would read-writable data be most likely to survive throughout the run-time of any random demo or game?

$D800-$DC00 is often overwritten entirely, $00/$01 in RAM are too cumbersome to access.

$DD03 (parallel port data direction register) might be good, or maybe the 2x4 CIA TOD registers at $DC08 and $DD08.

Or are they? What else could be usable for that purpose? =)
 
... 72 posts hidden. Click here to view all posts....
 
2021-04-19 09:37
chatGPZ

Registered: Dec 2001
Posts: 11136
By now i wonder *what else* did you expect to be able to do? :=)
2021-04-19 10:21
Krill

Registered: Apr 2002
Posts: 2852
This thread is about finding a sensible default that is not in regular RAM, $dd03 being the best bet so far.

But "maybe some other tricks exist to access hidden state". Something that can (only) be manipulated somewhat indirectly.
Like "VSP channel", but obviously something else that can be set (and doesn't have weird side-effects).
2021-04-19 10:24
chatGPZ

Registered: Dec 2001
Posts: 11136
Sounds to me like you are spending a lot of effort an solving a problem that doesnt exist =)
2021-04-19 10:28
Krill

Registered: Apr 2002
Posts: 2852
Please refrain from posting unhelpful non-information.

The problem is somewhat solved (unless somebody has a better idea than $dd03), and now we're at the esoteric academic what-if "fun" part.
2021-04-19 13:41
Martin Piper

Registered: Nov 2007
Posts: 644
Quote: If not reserving space in RAM, where would read-writable data be most likely to survive throughout the run-time of any random demo or game?

$D800-$DC00 is often overwritten entirely, $00/$01 in RAM are too cumbersome to access.

$DD03 (parallel port data direction register) might be good, or maybe the 2x4 CIA TOD registers at $DC08 and $DD08.

Or are they? What else could be usable for that purpose? =)


Use $100-$107 and check for identical values to detect corruption?

Or use the Vice's memmap to detect what memory isn't written to during the game/demo.
2021-04-19 14:45
Krill

Registered: Apr 2002
Posts: 2852
Quoting Martin Piper
Use $100-$107[...]Vice's memmap to detect what memory isn't written to
Stack bottom has been ruled out (FBUFFR), and does VICE "memmap" also log chip register access?
2021-04-19 14:47
chatGPZ

Registered: Dec 2001
Posts: 11136
it provides a seperate map for i/o, yes
2021-04-19 15:44
Copyfault

Registered: Dec 2001
Posts: 466
Hmm...

Bit5 of $D016 doesn't do anything but (being described as a VIC reset bit) seems to be "connected".

So, unless someone finds a brandnew vic trick using this bit, it could be used to store one bit of information. Downside (sadly rendering it unsuitable imo) is that most routines "out there" don't care about this bit position and are likely to destroy it sooner or later...


Will continue searching ;)
2021-04-19 16:22
Krill

Registered: Apr 2002
Posts: 2852
Quoting Copyfault
most routines "out there" don't care about this bit position and are likely to destroy it sooner or later...
Indeed. That goes for everything VIC though, it's not uncommon to call PANIC at $E5A0 (yes, they called it that) to reset all VIC registers after pressing space. =)
2021-04-19 17:37
tlr

Registered: Sep 2003
Posts: 1723
It's not uncommon to call $fda3 either, which breaks both the $00 and $dd03 approaches but perhaps not the TOD approach.
Previous - 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 - 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
Exploding Fi../Techn..
csabanw
dillof
Mike
grass/LETHARGY
Apollyon/ALD
celticdesign/G★P/M..
Herrera64
Guests online: 116
Top Demos
1 Next Level  (9.8)
2 Mojo  (9.7)
3 Coma Light 13  (9.7)
4 Edge of Disgrace  (9.6)
5 Comaland 100%  (9.6)
6 No Bounds  (9.6)
7 Uncensored  (9.6)
8 Wonderland XIV  (9.6)
9 Memento Mori  (9.6)
10 Bromance  (9.5)
Top onefile Demos
1 It's More Fun to Com..  (9.7)
2 Party Elk 2  (9.7)
3 Cubic Dream  (9.6)
4 Copper Booze  (9.5)
5 TRSAC, Gabber & Pebe..  (9.5)
6 Rainbow Connection  (9.5)
7 Dawnfall V1.1  (9.5)
8 Quadrants  (9.5)
9 Daah, Those Acid Pil..  (9.5)
10 Birth of a Flower  (9.5)
Top Groups
1 Nostalgia  (9.3)
2 Oxyron  (9.3)
3 Booze Design  (9.3)
4 Censor Design  (9.3)
5 Crest  (9.3)
Top Original Suppliers
1 Black Beard  (9.7)
2 Derbyshire Ram  (9.5)
3 hedning  (9.2)
4 Baracuda  (9.1)
5 Jazzcat  (8.6)

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