Now that Prizoop is starting to wrap up, I'm going to work on a sub-pixel rendering font solution for both Prizm and (hopefully if I can find a collaborator) 84+ CE. These newer color screen calculators have sufficient RGB pixel density to benefit from much smoother fonts and RGB pixel packing to make really nice looking text in games and menus!

I think that text heavy games and interfaces will all get a major visual boost with an easy on the eyes font system (which I am going to call CalcType). I think at this point none of us really even know how good text could look on these displays.


What RGB packing is capable of:

My goals are:
* Analyze the RGB pixel packing in use in each color calc, and utilize the luminescence values of the sub pixels to create a universal converter from a gray scale font mapped image to a subpixel packed font data set.
* Develop an easy to integrate c library and asm dataset of 3 font sizes using Subpixel Rendering tech (Probably regular, small, and tiny sizes). The type face data should be very small ( a few kb a piece ). The goal is to support monospacing as a separate feature via different text kerning.
* For Prizm, create a super fast assembly font blitter that draws the text in any color over an existing background. I'll need help on the 84+ CE front.
* Integrate an embedded Game FAQ viewer into Prizoop as an example implementation. Get a similarly popular 84+ CE application to do the same to show it off as well. Maybe developer a separate text viewer / book reader app.

Are there any 84+ CE coders in the community interested in helping out?
I am. What do you need me to do? Also, what are we going to be coding this in?
Hey Caleb_J

The best language to start with is C. It'll take me a little bit, but I will put together a sample font and blitting routine in (hopefully portable) C that will need to be integrated into a demo for the 84+ as a starting point. I'll make a working Prizm version for this first.

Right now what would be helpful is if you can dig up a datasheet on the actual LCD display used in the CE (not the controller). I'm hoping for comparable luminance values between the R,G, and B channels with the Prizm so we know the text will look just as good with the same code and data. Otherwise I'll have to make the tool I am going to write account for the difference in the displays.

Ideally, once a good C lib is put together, games would benefit greatly from an optimized ez80 routine on 84+ for the blitting, so the text rendering can look better and run faster than any OS provided routines.
Ok. What kind of datasheet are we looking for exactly? What would you like for it to specify? Just info on the LCD?
Yup, here's a random one I googled:

The key section I am looking for is like this one on page 5, where they provide the electro-optical characteristics broken down by color channel.
Ok. I'll start looking. I'll edit this post when I have info.

EDIT: So far, I haven't found anything yet. However, I did email TI for some info. They should get back to me in a few days.
I have the datasheet, but I'm not sure if I can legally distribute it. Are there certain values you're looking for that I can look up for you?

EDIT: I guess I can just provide most of the ones that seem useful and you can pick out the ones you need:

White luminance ~ 250 cd/m²
Contrast ratio ~ 500

CIE: (all values are +/-0.05)
    Wx = 0.307
    Wy = 0.302
    Rx = 0.631
    Ry = 0.346
    Gx = 0.386
    Gy = 0.562
    Bx = 0.149
    By = 0.075
Thanks Runer112! Does the sheet confirm a horizontal RGB pixel layout? I'm a little paranoid that because of the rotation done by the LCD controller that it's vertical.

I can't find a datasheet on the Prizm that confirms the CIE luminance per channel, but from the eye test the blue channel appears to be brighter than usual (and makes sense based on how the Blanview site touts their LCD packing and outdoor visibility), while based on your numbers the CE is darker than usual, so I'll adjust accordingly.
The introduction gives the most information about sub-pixel arrangement:

The model is a Color TFT LCD supplied by Giantplus. This main Module has 2.8 inch diagonally measured active display area with 240 X RGB X 320 resolution. Each pixel is divided into Red, Green and Blue sub-pixels and dots which are arranged in vertical stripes.
Here's the progress so far: I've written an image processor that sub pixel optimizes to get the algorithm right. Here's a wall of text that I've processed in pieces to demonstrate what this will do:

The left side is naive unprocessed text similar to how calcs display it (on / off), the middle is an antialiased version (per pixel) and the right is my version (sub pixel processed)
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

» Go to Registration page
Page 1 of 1
» All times are UTC - 5 Hours
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum