[hatari-devel] Usign 2 cpu cores for Hatari

Nicolas Pomarède npomarede at corp.free.fr
Wed Mar 2 20:37:11 CET 2011

Le 02/03/2011 20:10, Matthias Arndt a écrit :
> Am Mittwoch, den 02.03.2011, 19:30 +0100 schrieb Nicolas Pomarède:
>> Le 02/03/2011 19:25, Miro Kropáček a écrit :
>>>      much too complicated to put both cores in one binary, too much
>>>      conflicting functions/variables, not worth the effort.
>>> Shared libraries (one for WinUAE, one for old UAE) wouldn't solve it? If
>>> not, what about namespaces? No one says Hatari must be pure C, some C++
>>> help wouldn't hurt for sure ;)
>> That's what I say : too much work :)
>> Also, shared lib wouldn't work directly, because both cpus use different
>> api/variables.
>> Anyway, there will be no point in keeping th old uae core once the new
>> one fully replaces it, except dor debugging purpose, but in that case
>> it's easy for developers to change cpu at compile time.
> maybe more work for the start but a lot of benefit. Other projects could
> use a well developed CPU core with much less hazzle.
> But as I for myself won't be able to invest the time, I can hardly force
> anyone to do the hard job.
> But as a fact: it woudl have benefits - and imho the libs should have no
> need for C++. There is nothing missing in C, or the other way around:
> what would be the true benefit of using C++?
> Matthias

Unfortunatelly, libification of the cpu core will be of little interest 
regarding performance. The more abstraction/API you need to add to have 
a reusable cpu core, the slower it will get.

They're also many parts of the code of hatari that need to be integrated 
into the cpu core to get good performance and specific behaviour 
reagarding cycles/exception/memory addressing/...

WinUAE / UAE are already usable in any project you like, people who 
really want to code an emulator will know how to use them (although it 
might take some time), but cpu emulation of a complex chip such as the 
680xx family is not a task targeted to non-technical people anyway.

I don't see any benefit in doing this in Hatari (not for us, and not for 
other projects)


More information about the hatari-devel mailing list