CQC Client: Unsupported Features


Here's a list of aspects of the RIVA protocol which the iPhone client app doesn't fully support. Sometimes it's because it doesn't make sense on an iPhone, and sometimes because I just haven't gotten to it yet.

Special Actions

The Exit special action causes the iPhone client to disconnect from the RIVA server and return to the server list display. The various blanking actions cause the screen to be blanked until the user presses a key. The clock blanker doesn't display a clock, just blanks the screen. Other special actions are ignored.

Special actions seem intended mainly for kiosk situations, so I didn't think it was that important to implement them. It would be nice to turn the iPhone into a kiosk, so you could pass it around to your friends as a remote control for your TV and stereo without risking them checking your e-mail. But the Home button always exits the current application, which limits the effectiveness of such strategies.

If anyone has a good reason for implementing other special actions, let me know. Otherwise I won't bother.

User Roles and Validation Logins

The iPhone client allows any valid login to execute any special action (at the moment, that means only the Exit special action). It does not check the user role bit during login. There didn't seem to be much point in restricting use of the Exit special action, since the Home button will exit the application anyway.

Splitting Compound Words in Multi-Line Text

The protocol specification defines the following bit in the multi-line text drawing command:

"Word break, indicates whether compound words can be hyphenated and split, with 1 meaning they can."

The iPhone client ignores this flag. Lines are split only at word boundaries.

My assumption is that Windows clients look up words in a system dictionary to tell when a word is compound; otherwise, how would you know? Perhaps the iPhone has such a dictionary as well, but I didn't immediately find one in the documentation, and it didn't seem that crucial a feature.

Some Clipping Modes

Currently, the Xor and Diff clipping modes are treated as Copy. I'm not sure exactly how these are supposed work, and it doesn't appear that the RIVA server doesn't use them.

Foreground Mix Mode

Foreground mix mode is not supported. The protocol specification indicates that this is never used, so I didn't bother. The background mix mode is supported, because it was easy, even though the specification says that is never used, either.

Some Bitmap Modes

Some image commands specify a bitmap transfer mode. A number of modes are defined, though the protocol specification indicates that few are actually used. I went through the list of iPhone native bitmap transfer modes, and mapped the RIVA modes to things that seemed more or less appropriate, but I may have gotten the mapping wrong. If a bitmap mode doesn't seem to be producing the expected results, let me know, and maybe I can find a better iPhone equivalent for it.