I've been working on porting games from the Sega Master System/Game Gear to the TI-84+ CE recently. The Game Gear uses a 12bpp screen, so it'd be really easy to just set the Plus CE's LCD into 12bpp mode and parse the palettes as is. I can't find that much documentation about 12bpp mode, though. The only reason I even know that 12bpp mode exists is from a blurb on WikiTI, which says that some graphics modes don't use palettes, but doesn't specify which ones. Could anyone help with this?
I don't know much more we can tell you besides the extensive controller documentation and the CEmu emulation.

12bpp does not use a palette.
You can check the full LCD controller datasheet from the link on WikiTI, but to summarize, you should probably set the bitness of the framebuffer based on the number of simultaneous colors you're using. The palette only has 256 maximum entries, so 8bpp modes and below are paletted, and anything higher places the raw colors in the framebuffer. As far as I know, the SMS and Game Gear only display 32 simultaneous colors (16 for tilemap and 16 for sprites) unless it uses mid-frame palette changes, so you'd likely need at least 8bpp.

12bpp rendering on a whole is going to be far slower than 8bpp rendering, because you're writing 2 bytes for every pixel on the screen instead of 1. That's going to be a much higher cost for 256x192 pixels per frame (or more if you're expanding the game window on the CE) than simply translating the 32 colors in the palette to 16bpp. In fact, since it's a manual porting effort, the palette colors could be pre-translated to 16bpp in the source code unless they're being programmatically generated (e.g. for fading effects).
The Game Gear's 12-bit palette is not the same kind of palette. The Game Gear has three 4-bit DACs (= 12 bits), meaning each color channel can produce 16 possible analog output values. You can't actually dynamically remap those possible output values. Nor can you use all 4096 colors at once (at least not without some terrible hackery).
  
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

 

Advertisement