Post Reply 
Emulators that can be connected to
09-10-2018, 03:37 PM
Post: #2
RE: Emulators that can be connected to
(09-08-2018 11:58 AM)brickviking Wrote:  2. Is there a cycle-accurate emulator for any of the 48-series? I've tried EMU48 and x48, neither one seems to be within cooee of exact speed, though there could be a number of reasons for this. The benchmark I used in each case was the recent Summation test for calculators, I ran it on x48 with +throttle, and got a speed about 30% faster of what real-world results showed on pier4r's list. (36.8 seconds instead of 55 for sum to 1000, and 370 instead of 541 for 10,000). I then tried it with EMU48 and still got a difference, this time in the other direction (63 seconds for 1000).

First of all, if you would compare the execution time of different calculators of the same model or repeat the benchmark on the same calculator with different humidity or temperature, you may get different results. In the manual self test mode <ON><D> there's a CPU speed test <A> reporting the actual CPU frequency in Hz.

But there isn't any cycle-accurate emulator for the 48-series. The reason, if the execution code for a Saturn CPU is loaded from an external 8-bit device like a static RAM or a 8-bit ROM chip, the same opcode has a different timing executed on an odd or on an even address!

Emu48 use the CPU-cycles described in the SASM document when reading from a ROM chip with 4-bit Saturn bus interface. These given cycles are independent from the opcode loading address. So the speed slow down is by default inaccurate because the cpu speed slow down factor is only estimated. This is acceptable for the main usage: playing games.

It's possible to adjust the speed factor inside the registry:
Code:

[HKEY_CURRENT_USER\Software\Emu48\Emulator]
"SXCycles"=dword:00000052
"GXCycles"=dword:0000007b
"GPCycles"=dword:00000171
"G2Cycles"=dword:000000f6

Each number are the allowed CPU cycles in a 1/16384Hz time frame.

Emu48
  • "SXCycles" used by 48SX
  • "GXCycles" used by 38G, 39/40G, 48GX, HP49G

Emu48+
  • "SXCycles" used by 48SX
  • "GXCycles" used by 48GX
  • "GPCycles" used by 39G+, 49G+
  • "G2Cycles" used by 38G, 39/40G, 48GII, HP49G

The usage of "G2Cycles" for the 38G, 39/40G, HP49G is a bug inside the Emu48+ source code. I think that will be fixed in v1.60+.
Visit this user's website Find all posts by this user
Quote this message in a reply
Post Reply 


Messages In This Thread
RE: Emulators that can be connected to - Christoph Giesselink - 09-10-2018 03:37 PM



User(s) browsing this thread: 1 Guest(s)