Status information?

CD-i Emulator is the first fully evolving windows compatible emulator project of the Philips CD-i system. Discuss the emulator, compatibility issues, seek help and support to get the program operating and post what you'd like to see in future revisions of the program. CD-i players ROM (BIOS) requests, begging and links will not be tolerated. Otherwise feel free to post your thoughts on this amazing new piece of software.
Post Reply
User avatar
cdoty
Frog Feast Dev
Posts: 125
Joined: Sun Jul 03, 2005 12:35 am
Location: Houston, TX
Contact:

Status information?

Post by cdoty » Sat Jul 14, 2007 4:10 am

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%.
Visit RasterSoft on facebook or visit the website.

User avatar
cdifan
CD-i Emulator Author
Posts: 923
Joined: Fri Jun 24, 2005 6:19 am
Location: The Netherlands
Contact:

Re: Status information?

Post by cdifan » Sun Jul 15, 2007 9:28 am

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 :-)

fcom
Burn:Cycle Activated
Posts: 1
Joined: Sat May 01, 2010 1:50 am
Location: Athens Greece
Contact:

Post by fcom » Sat May 01, 2010 1:56 am

Nice info!!! Your post is really helpfull... Thanks :wink:

Natesroom
Burn:Cycle Activated
Posts: 8
Joined: Sun Apr 18, 2010 6:04 am

Post by Natesroom » Sat May 01, 2010 10:11 pm

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

Post Reply