Author Topic: 160x240 resolution possible on CSE  (Read 19401 times)

0 Members and 1 Guest are viewing this topic.

Offline calc84maniac

  • eZ80 Guru
  • Coder Of Tomorrow
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2912
  • Rating: +471/-17
    • View Profile
    • TI-Boy CE
160x240 resolution possible on CSE
« on: March 16, 2013, 05:28:48 pm »
I just made an awesome discovery. It's possible to effectively halve the horizontal resolution of the screen on the TI-84+CSE, while still filling up the entire area of the screen, which means asm game programmers can double their framerate at a small visual cost.



This will even allow for double-buffering, where you draw to the offscreen area and then swap it in instantly, preventing flickering. My method uses partial images and interlaced output.

More detailed information on how to implement:
Enable two partial images, where one is displayed at column 0 and the other is displayed at column 160. Both partial images should be set to the same 160 columns of GRAM which you want to display. (When enabling the partial images, disable the base image.) Then turn on interlaced output (bit 10 of register 1).
"Most people ask, 'What does a thing do?' Hackers ask, 'What can I make it do?'" - Pablos Holman

Offline TheNlightenedOne

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 427
  • Rating: +16/-1
    • View Profile
Re: 160x240 resolution possible on CSE
« Reply #1 on: March 16, 2013, 05:32:13 pm »
Wow! Great discovery! Can I ask how you discovered this?
"Eris" (Ndless 3.1)
"Keto" (Ndless 3.1)
"Luna" (AMS 3.10, HW4)
"Aurora" (2.55MP)

Offline calc84maniac

  • eZ80 Guru
  • Coder Of Tomorrow
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2912
  • Rating: +471/-17
    • View Profile
    • TI-Boy CE
Re: 160x240 resolution possible on CSE
« Reply #2 on: March 16, 2013, 05:34:38 pm »
Wow! Great discovery! Can I ask how you discovered this?
I was just messing around with the LCD controller and I enabled interlaced mode, and it was different than I expected, in a good way. It basically outputted the first 160 columns of GRAM on the even columns of the LCD and the last 160 columns of GRAM on the odd columns of the LCD. Combining that with partial images produced magic :)
"Most people ask, 'What does a thing do?' Hackers ask, 'What can I make it do?'" - Pablos Holman

Offline Juju

  • Incredibly sexy mare
  • Coder Of Tomorrow
  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 5730
  • Rating: +500/-19
  • Weird programmer
    • View Profile
    • juju2143's shed
Re: 160x240 resolution possible on CSE
« Reply #3 on: March 16, 2013, 05:38:26 pm »
Interlacing? Well that's pretty cool.

Remember the day the walrus started to fly...

I finally cleared my sig after 4 years you're happy now?
THEGAME
This signature is ridiculously large you've been warned.

The cute mare that used to be in my avatar is Yuki Kagayaki, you can follow her on Facebook and Tumblr.

Offline Sorunome

  • Fox Fox Fox Fox Fox Fox Fox!
  • Support Staff
  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 7920
  • Rating: +374/-13
  • Derpy Hooves
    • View Profile
    • My website! (You might lose the game)
Re: 160x240 resolution possible on CSE
« Reply #4 on: March 16, 2013, 06:57:17 pm »
That is pretty awesome!
* Sorunome wants a cse now :P

THE GAME
Also, check out my website
If OmnomIRC is screwed up, blame me!
Click here to give me an internet!

Offline pimathbrainiac

  • Occasionally I make projects
  • Members
  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1731
  • Rating: +136/-23
  • dagaem
    • View Profile
Re: 160x240 resolution possible on CSE
« Reply #5 on: March 16, 2013, 09:02:42 pm »
This also means something I thought was possible is MORE possible!!!

A ti-84 emu can be made easily now because the screen res can be made compatible!
I am Bach.

Offline Dapianokid

  • LV7 Elite (Next: 700)
  • *******
  • Posts: 539
  • Rating: +46/-27
  • That one dude
    • View Profile
Re: 160x240 resolution possible on CSE
« Reply #6 on: March 16, 2013, 11:30:32 pm »
* [email protected] suddenly desires a CSE because theoretically, this could be used to double, maybe even quadruple (if we can figure out how to add on to this feature, perhaps a quad sized screen?) framerates and thus have a legit game with nice graphics, like, ohhhh, say a port of SMB? :)
Keep trying.

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55943
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: 160x240 resolution possible on CSE
« Reply #7 on: March 16, 2013, 11:31:01 pm »
Darn that will be handy for certain type of games. Of course not for games that requires accurate sprite details, but for others it will be fine :D.

Actually using this for Shoot-em-ups will be like Atari 2600 games :P

Offline DrDnar

  • LV7 Elite (Next: 700)
  • *******
  • Posts: 546
  • Rating: +97/-1
    • View Profile
Re: 160x240 resolution possible on CSE
« Reply #8 on: March 16, 2013, 11:37:28 pm »
Awesome find! I may need to incorporate this in some way with MicrOS.
"No tools will make a man a skilled workman, or master of defense, nor be of any use to him who has not learned how to handle them, and has never bestowed any attention upon them. . . . Yes, [] the tools which would teach men their own use would be beyond price."—Plato's The Republic, circa 380 BC

Offline shmibs

  • しらす丼
  • Administrator
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2132
  • Rating: +281/-3
  • try to be ok, ok?
    • View Profile
    • shmibbles.me
Re: 160x240 resolution possible on CSE
« Reply #9 on: March 17, 2013, 12:09:39 am »
ooh, brilliant!
that's quite the motivator for making things =)

Offline Lionel Debroux

  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2135
  • Rating: +290/-45
    • View Profile
    • TI-Chess Team
Re: 160x240 resolution possible on CSE
« Reply #10 on: March 17, 2013, 03:23:02 am »
Interesting, indeed :)
And perhaps there's more to be discovered about the LCD controller.
Member of the TI-Chess Team.
Co-maintainer of GCC4TI (GCC4TI online documentation), TILP and TIEmu.
Co-admin of TI-Planet.

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55943
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: 160x240 resolution possible on CSE
« Reply #11 on: March 17, 2013, 11:51:32 pm »
By the way, is it possible to change the screen start to something else than 0 and 160? Because if it could be used in TI-BASIC via an ASM lib, you could set the screen just so that the drawable graph screen area takes the entire LCD width, then BASIC coders could simply use that 160x165 area to draw stuff.  (eg vertical/horizontal sprites)

Offline calc84maniac

  • eZ80 Guru
  • Coder Of Tomorrow
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2912
  • Rating: +471/-17
    • View Profile
    • TI-Boy CE
Re: 160x240 resolution possible on CSE
« Reply #12 on: March 17, 2013, 11:55:54 pm »
By the way, is it possible to change the screen start to something else than 0 and 160? Because if it could be used in TI-BASIC via an ASM lib, you could set the screen just so that the drawable graph screen area takes the entire LCD width, then BASIC coders could simply use that 160x165 area to draw stuff.  (eg vertical/horizontal sprites)
Well, the partial display window output positions should always be 0 and 160 due to how the display interlacing works, but the GRAM that you display can be any 160 consecutive columns, yes. (You can even wrap around from the right side to the left side of GRAM, which means horizontal scrolling tricks are still possible.)
"Most people ask, 'What does a thing do?' Hackers ask, 'What can I make it do?'" - Pablos Holman

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55943
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: 160x240 resolution possible on CSE
« Reply #13 on: March 18, 2013, 12:03:24 am »
Do you mean that with Z-adress you could actually achieve my trick?

By the way this is what I mean in case someone else don't understand:


Offline calc84maniac

  • eZ80 Guru
  • Coder Of Tomorrow
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2912
  • Rating: +471/-17
    • View Profile
    • TI-Boy CE
Re: 160x240 resolution possible on CSE
« Reply #14 on: March 18, 2013, 12:08:16 am »
Yep, you can choose any 160-pixel wide area of the screen and extend it.
"Most people ask, 'What does a thing do?' Hackers ask, 'What can I make it do?'" - Pablos Holman