Not too shy to talk 
|
It feels to me that sometimes Amiga community thinking is limited by assumptions that were true in 1995 but may not be true now.
Case in point - in 1995 it was assumed that no next gen Amiga could be backwards compatible because of the dependency on custom chips, their designs, their availability (or lack of), their cost.
And it was assumed that a next gen OS would require features being seen in other operating systems, such as SMP, where any thread can run on any core without race conditions and so on causing problems.
But here in 2024 these assumptions are no longer correct. Even in 2010 they were no longer correct. Arguably even in 1999 they were no longer correct.
For the former, we now have both software (UAE) and hardware (FPGA) emulation options for the custom chips.
For the latter, well, just look at the PS3. That made use of the different cores a deliberate choice - one for the host OS, one for audio handling, others for gameplay and graphics to be used by the game developers as they saw fit. It wasn't like on Windows with 'any thread on any core'.
By the way what is an extra core? It's an additional CPU that has direct memory access same as the first CPU does, effectively. Is that really much different from the original Amiga architecture which had several different chips all accessing memory directly to do processing, it's just that they weren't all general purpose CPUs, they had specific jobs.
Which brings me to the idea I posed in the title. On the PowerPC machines that have an extra core that isn't used, could it be feasible to use that core to run a chipset emulator? If it's never preempted, it should be easier to keep timing, albeit it has to emulate several different chips, but none of them run at clock speeds close to the core's real clock speed.
How would it work? It would need some dedicated memory virtualized to match the chipset memory addresses. This memory would then be mapped to say, a surface on the graphics card that could be attached to a screen or window. Likewise the audio could be mixed with the wider system audio. It would still need applications to be earmarked as 'run this in a sandbox that uses the chip emulator'.
Anyway the point of my post is, rather than work on SMB support for OS4, when there are few chips with multiple cores, and the architecture itself is a dead end, why not use the second core just as a co-processor, same as the original WarpOS which just sent critical sections of code to the PowerPC as if it was some kind of super fast FPU.
|