Page 4 of 4

XC16 Memory location bank 0 address $A000 till $A7FF

Posted: Wed Mar 30, 2022 9:04 pm
by ZeroByte

Came late to this thread, but I would like to add that the top half of bank 0 is used by DOS for things such as LOAD/SAVE buffer space, current file offset pointers, etc.

It's definitely NOT clear to use just because Kernal doesn't use it.

And as for LOAD's behaviors:

If you start a LOAD anywhere, it will happily overwrite ZP, the stack, IO, ROM, etc. As of R39, whatever RAM bank is active when LOAD is called is the one which will be used for LOADs that go into banked memory. Whenever a LOAD crosses the BFFF -> C000 boundary, it increments the bank number and wraps back down to A000, and continues. If the inc(bank#) overflows, it fails (I think - I forget whether I made it check that or not)

When LOAD finishes, it returns the address of the next byte in memory above the last one loaded, and leaves the updated RAM bank active.

So if you were to load exactly 8K into $A000 using Bank 3, then it would return $A000 as the "next address" and Bank 4 would be active.


XC16 Memory location bank 0 address $A000 till $A7FF

Posted: Wed Mar 30, 2022 9:57 pm
by Edmond D


On 3/30/2022 at 2:04 PM, ZeroByte said:




And as for LOAD's behaviors:



Remember the simple days, when you typed LOAD,  pressed play on the dataset, and waited? ?

 


XC16 Memory location bank 0 address $A000 till $A7FF

Posted: Thu Mar 31, 2022 12:02 am
by Scott Robison


On 3/30/2022 at 3:57 PM, Edmond D said:




Remember the simple days, when you typed LOAD,  pressed play on the dataset, and waited? ?



 



Back when you started loading a big game before you went to school so that it would be almost finished loading by the time you got home. ?


XC16 Memory location bank 0 address $A000 till $A7FF

Posted: Thu Mar 31, 2022 2:03 am
by Edmond D


On 3/30/2022 at 5:02 PM, Scott Robison said:




Back when you started loading a big game before you went to school so that it would be almost finished loading by the time you got home. ?



With only 3K the VIC 20 didn't take a whole school day. When at school with a 32Kb PET, we'd stick to one game to avoid wasting time with waiting, as we'd be asked to do school work while loading.


XC16 Memory location bank 0 address $A000 till $A7FF

Posted: Thu Mar 31, 2022 4:33 am
by Scott Robison


On 3/30/2022 at 8:03 PM, Edmond D said:




With only 3K the VIC 20 didn't take a whole school day. When at school with a 32Kb PET, we'd stick to one game to avoid wasting time with waiting, as we'd be asked to do school work while loading.



Well, even a C64 didn't take a full school day. It's just my version of walking to school uphill in waist deep snow both ways.


XC16 Memory location bank 0 address $A000 till $A7FF

Posted: Tue Apr 19, 2022 6:01 pm
by StephenHorn


On 3/30/2022 at 11:33 PM, Scott Robison said:




Well, even a C64 didn't take a full school day. It's just my version of walking to school uphill in waist deep snow both ways.



What I find hilarious about this analogy is that my preferred bus stops for school were, in fact, on opposite sides of our family's house in the morning vs. the evening, and our house was, in fact, located on a hillside. So I did literally walk uphill (a very short, short ways) both going to the school (bus) and coming from it. And since I grew up in a snowy, wintry part of the world, that did sometimes mean braving waist-high snow (while trudging through our backyard), because it meant I could get home in time for the start of my favorite afternoon cartoons, rather than being stuck on the bus for another 30 minutes while it looped its way around.

#firstworldproblemsforkids