How To

Can I safely fill the whole RAM in one frame


SP4CEBAR 2022-08-10 11:15 (Edited)

I realized that my reset file lay-out program doesn't handle big files very well. So I'm working on a fix before someone loses some precious data. For a really big file, I can't save two files because there's usually not enough space on the disk. Luckily those files aren't very common, so it's not a big deal.

However that still leaves one question: can I load a 16-kilobyte file from a disk to RAM address $8000 so that it takes up the whole RAM, and right after that, in the same frame, save the file back to the disk? The graphics will be disabled and they could be restored before VBL. I guess it would probably work until $F000

Here are a few things that need to go right for this to work:

- values that reset automatically
- settings
- the gap at $F000
- illegal memory addresses

Timo 2022-08-10 13:14

Yes, you can misuse the different RAM types, but not the gap and registers. In any case it will take more than one frame, because the "CPU" is too slow.

There might be an annoying side effect: If you access the persistent RAM, LowRes NX will save it. You will lose 4 KB of your hard disk!! ;)

SP4CEBAR 2022-08-10 14:30

it's already using the persistent RAM, but whenever it's used I made sure that it's cleared afterward

SP4CEBAR 2022-08-10 14:34

is filling the persistent RAM with zeroes the same as clearing persistent RAM manually?

Timo 2022-08-10 14:40

If you mean the clear button in the app, then no: The button deletes the data from your device. Filling with zeros still saves the zeros.

But don't worry, it's a tiny file.

SP4CEBAR 2022-08-10 15:38

I already thought it would be that way, thanks for the confirmation

Log in to reply.