Don't call Aley!!!
I didn't write CPU core for ASCD, don't you know? It's from SimCoupe by
Allan J.Skillman.
I did several changes and rewrote most parts of emulator, but I have never
changed any CPU timing (not counting optimizations which don't affect
emulation quality).
The value 3.14MHz is a fiction, because it is based on a value of one
particular instruction. The whole emulator runs at speed very similar to the
real machine. I am sure technically skilled people understand, but I am
affraid I can't describe it easily for the others. Surely I won't "fix"
this, because it is not a real bug. It is the behaviour of the used
technology.
If you tested also SamEmu, another emulator of Sam Coupe, then you would see
real difference. Although it has NO CPU TIMING, it has no problems with
non-gaming software.

------------------------------------------------------------------
      Bc.Aley [eili] Keprt  -  games & multimedia programmer
 ICQ: 82357182 (evenings)  ***  phone: +420-68-5387035 (weekends)
  private e-mail: [EMAIL PROTECTED]  ***  http://get.to/aley
office: Illusion Softworks, Brno, CZ - [EMAIL PROTECTED]
------------------------------------------------------------------


----- Original Message -----
From: "Simon Owen" <[EMAIL PROTECTED]>
To: <sam-users@nvg.ntnu.no>
Sent: 10. srpna 2001 12:59
Subject: RE: Sam CPU timing


Aley Keprt wrote:
> Yes, there are many bugs.
> I have a special test software which gives 4.8MHz speed on
> real Sam and 3.17 on SimCoupe.
> ASCD shows only 2.72MHz. Eh....

I did some tests last night using my real SAM, SimCoupé 0.81a and ASCD
0.90 WIP 1.  I get very different results from yours for both SimCoupé
_and_ ASCD - were you using very old versions?

For anyone interested, the tests use a CPU speed measurement program
from issue 7 of the KAPSA disk magazine.  The ROM and RAM values below
are the measured speeds (approx. in MHz) of some test code running in
ROM and RAM memory areas:

---

Real SAM:
  MODE 1:                   ROM=5.986, RAM=4.428
  MODE 2:                   ROM=5.988, RAM=4.883
  MODE 3 and 4 (video on):  ROM=5.988, RAM=4.883
  MODE 3 and 4 (video off): ROM=5.988, RAM=5.561

I figure the slight difference in ROM speed for mode 1 must just be the
forced ASIC slow-down affecting the test code during it's time in RAM.

---

ASCD 0.90 WIP 1:
  All modes and settings:   ROM=3.104, RAM=3.104

ASCD doesn't implement any sort of contention for ROM/RAM/screen-off, so
the running speed never changes.  It does surprise me that the measured
value is at least 50% out from real SAM values though. (Aley?)

---

SimCoupé 0.81a:
  MODE 1:                   ROM=5.561, RAM=4.883
  MODE 2:                   ROM=5.561, RAM=4.883
  MODE 3 and 4 (video on):  ROM=5.561, RAM=4.883
  MODE 3 and 4 (video off): ROM=5.561, RAM=5.561

The contended and uncontended values for RAM are already perfect, which
shows Dave Laundon's per-access timing changes work well.  There are two
_documented_ deficiencies that I believe will cover the other
differences:

1) SimCoupé doesn't currently implement unrounded ROM timings, so the
ROM is treated as uncontended RAM (making it ~0.4MHz slower than it
should be).  This will be a bit nasty to implement, and probably won't
be done for a while yet.

2) SimCoupé also doesn't implement the forced slow-down used by the ASIC
in mode 1, to make the running speed closer to Spectrum speed.  This is
something that I hope will be done soon, even if just to improve one
results above!

I'm not aware of any other timing problems at this time - certainly no
bugs, as was suggested...

---

Si


Reply via email to