Page 1 of 1

Status information?

Posted: Sat Jul 14, 2007 4:10 am
by cdoty
What do the status numbers mean at the top?

Is the second one emulator frame rate or cd-i frame rate?
And, if it drops, does that mean that the CD-I is bogging down?

And the third, I see values as high as 230%. What is this measuring? It
seems to hover around 104-119%.

Re: Status information?

Posted: Sun Jul 15, 2007 9:28 am
by cdifan
cdoty wrote:What do the status numbers mean at the top?
Here is a representative sample of a CD-i Emulator status bar:

Image

On the left is a bunch of control buttons; by virtue of being enabled/disabled they tell you something about the status of the emulator (running, paused, stopped, debugging, muting audio, holding video, fullscreen). Most of these functions can also be activated via the menus or using keyboard shortcuts.

The first number box is elapsed emulated time (not wall clock time) since the last CD-i player reset, in minutes:seconds:frames format where frames counts to either 50 (PAL) or 60 (NTSC). On a limited edition of CD-i Emulator, emulation will pause when it reaches 03:00:00.
cdoty wrote:Is the second one emulator frame rate or cd-i frame rate?
And, if it drops, does that mean that the CD-I is bogging down?
The second number box shows the number of CD-i video frames from the last emulated second that were actually decoded and displayed by the emulator, expressed as a fraction of the nominal frame rate. Reversing the fraction gives you the actual displayed frame rate, which can vary wildly.

Decoding and displaying CD-i video is the most time-consuming task of the emulator, in particular the latter (most PCs have a notoriously slow datapath to the video hardware). So dropping video frames it is the principal means by which CD-i Emulator controls the emulation performance. The display control program (DCP) is always decoded so that video interrupts inside the emulated CD-i player occur at the proper times, but the video data is only decoded and displayed when possible given the current emulation performance.

The emulator enforces a minimum video performance of 5/50 or 6/60 (at least 10 video updates per second of emulated time); if your PC hardware cannot keep up you will not be able to emulate in real-time and audio will skip (you can of course mute the audio to avoid the skipping, will probably also increase the video performance).

Inside the emulated CD-i player the frame rate is always the same, only the relationship of emulator time to real time changes when video performance drops below the minimum treshold. One could say that the emulated CD-i player is exhibiting time dilation just like it was approaching the speed of light :-)

As long as the video performance remains above the minimum treshold, displayed frames will appear at the proper point in real-time, making it quite hard to notice any frame skipping (animations will become coarser but they will not stutter or jitter).

All of the above is really just my way of admitting that I wasn't able to get the emulation fast enough on common present-day PC hardware, which made it necessary to mask the visible effects with some trickery. It appears to have mostly worked since I have seen very few complaints.
cdoty wrote:And the third, I see values as high as 230%. What is this measuring? It seems to hover around 104-119%.
The third number box indicates the performance of the CD-i player relative to nominal, in other words the actual real-time frequency of emulated clock cycles relative to the nominal value of 15 MHz. This is supposed to be a moving average with exponential drop-off but it doesn't seem to work exactly as conceived; the information is still useful, however.

The emulated CD-i player doesn't get slower or faster when this number changes, it always runs at 15 MHz according to its internal clocks. The percentage is just tells you how efficient the emulation is being performed.

One of the reasons for the wild fluctuation is that skipping the decoding and display of a single video frame frees up an enormous number of cpu cycles for instruction and device emulation. You can see this by using the "Hold Video" button: the player performance will go through the roof.

The fourth number box is the current disk position in minutes:seconds:sectors format where sectors counts to 75, followed by the disc access status which can be IDLE, TOC, CD-I, CD-ROM or CD-DA. A future version of the emulator will optionally display the current file name as well, I have done some preliminary coding for this.

The last box is the front panel status display from the emulated CD-i player, if it has one (not all models do). This is really just a gimmick but a fun one to make. My development version of CD-i Link allows you to display arbitrary text on the front panel text of a real CD-i player although its font is quite restricted :-)

Posted: Sat May 01, 2010 1:56 am
by fcom
Nice info!!! Your post is really helpfull... Thanks :wink:

Posted: Sat May 01, 2010 10:11 pm
by Natesroom
Hey CD-I Fan did you have a timetable with the latest update with DVC? You had mentioned that you were close to it, so i was just checking in