On 3/28/2022 at 8:10 AM, Scott Robison said:
My apologies if I came across in an emotional way. I've just been trying to explain why loading can't cross the $9F00 - $9FFF threshold and how to treat block 0. Your questions were not bad or untoward, and people here can vouch for my ability to lash out at what I find inane (which yours was not). Though I'm trying to be better. ?
Don't worry guys.
Again, as you can see in this thread, I'm re-experiencing my 16 year old wizz kid feeling again at the age of 52, although now using C and more modern equipment.
You see, the reason why i'm coming up with all these strange questions is because i'm digging now deeply into the machine making this game engine.
I got now into the phase of "segmentation"; where to put code, where to put data, how to manage the "memory".
So this brought me to how to construct the prg file and it appears that prg files for the CX16 will never be larger than 48KB, which is ok.
No issue, i just wondered by there was not a continuous RAM space beyond the 48KB border into banked ram 0.
Where I could load into bank 0 pre-initialized data like math (sine) tables, control blocks, "stuff" as part of the prg file.
I'm in a discovery trying to define the strategy to extend this almost working prototype to a working engine with
- levels,
- state machine control
- more graphics
- more tiles
- more event types
- adding enemy fire-
- more bullet types
- defences
- AI control
And sharing my experiences along the way, I have questions, ideas, things I may have understood wrong etc.
This forum is the platform to ask these questions and to share the ideas, right?
The CX16 platform will become great through its users. I don't know how else it would grow, right?
So to come back to the topic, it seems that the design of the game will need to apply dynamic loading of memory in the banks, applying the banks during runtime.
It will need to be done by creating several bin files that are loaded dynamically into the banks as the game execution progresses (loading stages).
I'm using banks already extensively, and the demo shows, all the sprites, tiles and control data is loaded in the banked memory and then gradually copied into the VERA when needed.
Sven