[Rpcemu] FW: RPCEmu 0.8.8 and timing

Timmermans, Andre andre.timmermans at siemens.com
Thu Oct 14 01:30:50 PDT 2010


-----Original Message-----
From: Timmermans, Andre 
Sent: jeudi 14 octobre 2010 10:15
To: 'Matthew Howkins'
Subject: RE: [Rpcemu] RPCEmu 0.8.8 and timing

> -----Original Message-----
> From: mhowkins at gmail.com [mailto:mhowkins at gmail.com] On 
> Behalf Of Matthew Howkins
> Sent: lundi 11 octobre 2010 19:43
> To: Timmermans, Andre
> Cc: rpcemu at riscos.info
> Subject: Re: [Rpcemu] RPCEmu 0.8.8 and timing
> > having received a new fast portable from my employer, I 
> thought I could
> > give RPCEmu a try.
> > The machine works under Windows XP SP3 and I used the RISC 
> OS 4.02 roms.
> >
> > It works fine for the few trials I have made, except for 
> the stuttering
> > sound which is a documented problem,
> > but I noticed an oddity when I tried to test it's speed 
> with KinoAmp (with
> > option to play sound disabled).
> > The replay of even light files which work at full speed 
> under my RPC are
> > replayed too slowly
> > at +- 65% of their normal speed. I thought it could be a 
> problem with the
> > timer module
> > which makes use of the IOC timer 1, but the problem remains 
> even when using
> > KinoAmp with the --ostimer option
> > to use SWI OS_ReadMonotonicTime for its timings.
> Please provide a copy of the rpclog.txt that is generated, and then I
> will see if I can reproduce the problem with the same configuration.

Here follows the rpclog.txt.
Now the curious thing is that I made new several attempts, and it now
works though I don't know why.

First I took a backup of the rpclog.txt file, disabled sound in RPCEmu,
stopped and restarted the emulator just to make sure, no difference.

An hour later, I thought that it could be due to KinoAmp
resetting when it detects that to much time was spend between
its pool loops (to avoid "fastforwarding" when another application
blocks the desktop for a few seconds). So I fired RPCEmu again,
and enabled full logging in KinoAmp (see file !Kino.RunKino).
I played a file, no sync issue in the logs, played a second one
and actually noticed that the timings are correct.
I then disabled logging in KinoAmp, timings still correct.
As it seems to be working I enabled sound again in both KinoAmp
and RPCEmu, restarted RPCEmu and tried again.

Everything now works fine, and sound is playing correctly,
which was not the case in my first trials the day I posted
the first email. That day sound replay was stuttering
in both DigitalCD and KinoAmp, but since the ReadMe
and IIRC several posts on this mailing list mentionned
that sound was problematic I hadn't say anything.

The rpclog.txt file is now identical again to the backup
(I performed a diff on the two files just to make sure),
but it now works. I can only conclude that there is
a initialisation issue in RPCEmu which affects both
the IOC timers emulation and sound (if timing is too slow
that could lead to sound buffer filling interrupts
being fired too slowly, which would account for the sound

Kind Regards,

Build: 32-bit binary
Compiler: GCC version 3.4.5 (mingw-vista special r3)
OS: Microsoft Windows
OS: PlatformId = 2
OS: MajorVersion = 5
OS: MinorVersion = 1
OS: ProductType = 1
OS: SuiteMask = 0x100
OS: ServicePackMajor = 3
OS: ServicePackMinor = 0
OS: ProcessorArchitecture = 0
OS: SystemMetricsServerR2 = 0
Allegro version ID: Allegro 4.2.2, MinGW32
Host Colour Depth: 32
loadconfig: network_type = "off"
loadconfig: mouse_following = "0"
loadconfig: cdrom_type = "0"
loadconfig: cdrom_enabled = "1"
loadconfig: blit_optimisation = "0"
loadconfig: refresh_rate = "60"
loadconfig: stretch_mode = "1"
loadconfig: sound_enabled = "1"
loadconfig: vram_size = "2"
loadconfig: cpu_type = "SA110"
loadconfig: mem_size = "64"
loadconfig: ipaddress = ""
initpodulerom: Successfully loaded 'hostfs,ffa' into podulerom
initpodulerom: Successfully loaded 'hostfsfiler,ffa' into podulerom
initpodulerom: Successfully loaded 'SyncClock,ffa' into podulerom
HostFS: Registration request version 1 accepted

More information about the Rpcemu mailing list