Overview Features Coding ApolloOS Performance Forum Downloads Products Order Contact

Welcome to the Apollo Forum

This forum is for people interested in the APOLLO CPU.
Please read the forum usage manual.
Please visit our Apollo-Discord Server for support.



All TopicsNewsPerformanceGamesDemosApolloVampireAROSWorkbenchATARIReleases
Information about the Apollo CPU and FPU.

CPUID Opcode for Apollo-core?

Daniel Sevo

Posts 299
06 Mar 2016 00:09


I see some screenshots measuring MIPS of Vampire with Sysinfo 3.x.
SysInfo4.x is actually still developed as we speak, but does the Apollo-Core have something similar to CPUID opcode to idintify it with software like SysInfo?
I seem to remember that AttnFlags could be used to detect 060 but the method failed to see difference between EC/LC versions (I think Sysinfo4 is still having these issues).

In short, could you help the SysInfo coder to properly identify the Apollo-Core?


Gunnar von Boehn
(Apollo Team Member)
Posts 6207
06 Mar 2016 06:48


Daniel Sevo wrote:

  Apollo-Core have something similar to CPUID opcode to idintify it with software like SysInfo?
 

 
The 68K-family did not have CPU-ID at all.
The only CPU changing this was the 68060.

The OS does find out which CPU model they are by testing different instructions and their result.
E.g by testing an instruction which the 68000 did not have but the 68010 did have the OS sees where its an 68000 or not.
 
68K-chip also have no register to read out the clockrate.
6Benchmarks like Sysinfo find out the clockrate by running a test loop and measuring the time and then calculating.
 
 


Mercury Thirteen

Posts 9
07 May 2016 21:00


The original Motorola 68K family did not have this feature, as Gunnar pointed out, however such a thing could theoretically be added to Apollo later on as either an instruction or as a read-only register to allow programmers making modern apps for Apollo-based computers to identify what revision level of Apollo they're working with.


Philippe Flype
(Apollo Team Member)
Posts 299
07 May 2016 23:36


Not fully related to a true CPU register ID or such, but still good to know,
   
It is technically yet possible to guess the presence of a Vampire Board and/or a SAGA core. We can query the Core Revision and even the Serial Number of the Vampire. When you flash a new core, it shows you the current core revision. It is done by specific feature of the SAGA core. From this feature, a tool has been published: VampireTool, embedded in current SILVER5 package in C/.
 
More infos here :
CLICK HERE


Vincent Rivière

Posts 87
27 Oct 2016 09:47


I'm also interested to know how to detect the Apollo core. My goal would be to print "Apollo 68080" on the EmuTOS welcome screen instead of m68060.

The obvious method would be to try one of those new MOVEC counters:
CLICK HERE 
Maybe similar method exists, which would also work on older Apollo versions?


Gunnar von Boehn
(Apollo Team Member)
Posts 6207
27 Oct 2016 10:05


Vincent Rivière wrote:

I'm also interested to know how to detect the Apollo core.

Just read the PCR register.
Apollo 68080 has ID in high word of PCR of $0440


Vincent Rivière

Posts 87
31 Oct 2016 09:57


Thanks, I have implemented that in EmuTOS >= 20161029.
The Apollo Core 68080 is now properly detected in EmuTOS.
"Apollo Core 68080" is displayed on the welcome screen.
_CPU cookie is set to 68040, as you advised.

posts 7