| |
Krill
Registered: Apr 2002 Posts: 2839 |
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.... |
| |
Copyfault
Registered: Dec 2001 Posts: 466 |
Quoting Groepazhaha i'd rather NOT open this can of worms at this point... documenting all the whack CIA behaviour is another lifetime project =D I knew it all the time: C64 sceners need more than one life! Now off to find that extra life ;) |
| |
Krill
Registered: Apr 2002 Posts: 2839 |
Quoting Zibri$DD03 has been used historically for example by the electronic arts loader of Archon II.
So even dumping all the memory won't help This is not about running any arbitrary program. But if it were, then then TOD approach would probably the best bet to actually "hide" information to be retrieved at some later point. |
| |
chatGPZ
Registered: Dec 2001 Posts: 11107 |
i think the quirky behaviour was related to the alarm time occuring when the counters overflow, ie when they become 0. perhaps also to the previous state, i dont recall :=) |
| |
Jammer
Registered: Nov 2002 Posts: 1289 |
Sorry for layman question again but isn't there any safe space on drive's RAM? |
| |
Krill
Registered: Apr 2002 Posts: 2839 |
Quoting JammerSorry for layman question again but isn't there any safe space on drive's RAM? Safe yes, but not enough: "[...] and the 2 bits are required because there is no code space for the drives in question (1541 mostly) to tell their kind prior to uploading and executing [...]".
Then again, $dd03 FTW. =D |
| |
Oswald
Registered: Apr 2002 Posts: 5017 |
so why not ask the drive if you are before uploading the code? |
| |
JackAsser
Registered: Jun 2002 Posts: 1989 |
Quote: so why not ask the drive if you are before uploading the code?
I suppose that would require drive code to actually retreive the two bits and xfer them to the c64. |
| |
Krill
Registered: Apr 2002 Posts: 2839 |
Quoting Oswaldso why not ask the drive if you are before uploading the code? As i said, because there is no space in the drive code. There is just a bare minimum routine to receive and execute custom code, the rest is taken by the actual loader code to do its thing. Any kind of extra handshake to decide which drive type it is would take quite a few bytes. Too many! :)
Quoting JackAsserI suppose that would require drive code to actually retreive the two bits and xfer them to the c64. The drives know the two bits (they encode 1541 or 1571 or 1581). Just querying that information before upload is too expensive for me on 1541. |
| |
chatGPZ
Registered: Dec 2001 Posts: 11107 |
Cant you redirect the error handler and return the info in the error channel? mmh |
| |
Krill
Registered: Apr 2002 Posts: 2839 |
Quoting GroepazCant you redirect the error handler and return the info in the error channel? mmh There are no such things once the loader drive code is running. It sits on bare metal and implements its own serial bus protocol. |
Previous - 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 - Next |