RRPGE forum

RRPGE system development => Current status => Topic started by: Jubatian on September 05, 2014, 08:09:21 PM

Title: Alpha version 10 will change several things again!
Post by: Jubatian on September 05, 2014, 08:09:21 PM
Well, once again, "Larger changes on the horizon"!

The oncoming changeset will probably not be that radical like those of version 00.006.000 and 00.007.000, but nevertheless will go very deep again in the system's structure. Alongside some simplifications to "give space" for more useful features, the most important changes are to make the system more parallel, and to remove the need for excessive banking on the CPU side. A coarse outline of the plans follows below:


The core of the changeset is the removal of banking from the CPU's address space (at the user's point of view; the kernel, to hide itself, and to load and set up the application still would use banking, but this is not even necessarily relevant for emulation). The realization behind is that most memory accesses are streaming, so a large external RAM providing such access capability is sufficient, and a lot simpler to handle than a paging system if handling of large data is required. Alongside this change many simplifications may be performed on the system.

I am still toying with the thought of merging the graphics and the audio systems together over the external RAM (I already considered changing the audio system to operate on 32 bits data for slightly increasing the mixer's performance). This would give a simpler system on the terms of hardware and probably emulation, however it would also be slower (audio and graphics tasks would need to share, the mixer, excluding the boost possible for changing to 32 bits would have to run at half rate than now since half of the accesses are needed by the Graphics Display Generator). There are benefits as well, such as shared hardware, most particularly the RAM itself which this way may be utilized more economically.

So again I will need to rewrite the examples, and of course anyone messing with the system will need to adapt (nobody seems particularly interested, so I take it as nobody does so, and I am free to turn stuff upside down at my will).