Dbug wrote: ↑Tue Apr 30, 2019 6:44 am
So, regarding this emulator build, it is not a new "exos mode" in Oricutron, it's actually a dedicated version of Oricutron that always boot in Exos mode, correct?
Absolutely correct - it's OricExos dedicated version and I think this the right way to go - no need to "damage" main Oricutron sources.
Dbug wrote: ↑Wed May 01, 2019 9:36 am
- It looks like the hard reset (F4) does not reset the three slave machines, so you get some fancy multiprocessing happening with the tesseract demo continuing to move in the background, overlaid on whatever you do on the main machine (DIR, LIST, ...)
True! And this is just like the real hardware works - we have 2 resets - first one is common for the 4 Orics and it ensures they run synchronized just after power-up. The 2nd one is only for the master Oric and comes from Cumulus! So we can have 3 slave Orics running "in background" and independent master for user interactions!

.
Dbug wrote: ↑Wed May 01, 2019 9:36 am
- It looks like the default mode is "half bright" (with "OricExos" 123 shown on top) so normal Oric applications look much darker, is there some value to poke somewhere to enable the OR mode with normal intensity?
Well spotted! For now I modified
only the file
render_sw.c and
only for
32bpp (later will add support for 16bpp (if needed?)).
The related portion of code is
mix32(...) and I added a function above it
mix32_correction(...) to make "artificially" result more brighter for better visibility - this is different from real hardware, where it is just:
Code: Select all
static Uint8 mix32_correction(Uint32 x)
{
return (x/4);
}
You can experiment with different values (the current one are taken from the void

).
Actually, this is what I'm doing now - thinking is it worth to make a "non linear amplifier" for the real machine.
The idea is (speaking only(!) for 'direct' mix mode which is the default after boot)
to rise the brightness of lower values so the image is more visible like this:
Here is the
simulation (green middle bottom trace) - it looks complex but it will be easy to implement.
And one more detail when making demos: in emulator the master Oric boots from disk and loads main program lot faster than with real cumulus, so one need to put a delay(1-2 seconds) at very beginning of the code to allow 3 slave Orics to make their full memory test.