Calculator Community > TI Z80

Play it safe with the Ti-83+/Ti-84+ Screen

(1/3) > >>

Hot_Dog:
If you're programming in ASM, you probably know that the Ti-83+ screen is slow, and requires time between each byte of data that you output to it.  If you draw to the screen too fast, your game will have issues and go berserk.

There are two ways to take care of this.  One way is to read port $10 after you output a byte to the screen.  If bit 7 of port $10 is equal to 1, the LCD is busy, and it's dangerous to put a byte to the screen.  If bit 7 equals 0, you can output another byte to the screen.  

The other method is to know the maximum amount of time it takes the screen to be ready, and then you can wait that long after displaying one byte of data before you output the next byte.  This method is faster than the first one, but it's not as safe (read on!)

When the Ti-83+ first came out, people knew that it takes a maximum of 65 T-States for the screen to be ready after a game outputs a byte.  (~165 on the Ti-83+ SE and the Ti-84+)  Many games, therefore, used the second method for timing because it would produce faster games.  However, many of the new calculators have screens that take longer than 65 / 165 T-states to display information.  So the old games created for old calculators display graphics too fast to work with the new screens.

If you want to program a game that is guranteed to work on all Ti-83+ calculators--then, now and will be--you should use the first method.  It may be slower, but it's fool-proof.  You can always try to time your game with these new screens, but it doesn't mean that your game will work well with future calculators.

ralphdspam:
Doesn't alcdfix fix this problem by adding delay to port access to the screen, or is there a new problem?

Hot_Dog:

--- Quote from: ralphdspam on December 28, 2011, 10:33:23 pm ---Doesn't alcdfix fix this problem by adding delay to port access to the screen, or is there a new problem?

--- End quote ---

That doesn't work on Ti-83+ BE calculators.

Xeda112358:
Hmm, how does alcdfix work? And I know Donkey Kong did not work for my TI-84+, but worked fine for the TI-84+SE (even after I used alcdfix).

ralphdspam:

--- Quote from: Hot_Dog on December 28, 2011, 10:39:52 pm ---That doesn't work on Ti-83+ BE calculators.

--- End quote ---
Wait...
So now they're making 83+ BE calcs but with worse screen drivers?  Wow...


--- Quote from: Xeda112358 on December 28, 2011, 10:47:31 pm ---Hmm, how does alcdfix work? And I know Donkey Kong did not work for my TI-84+, but worked fine for the TI-84+SE (even after I used alcdfix).

--- End quote ---
There are a couple of ports in the SE hardware that control the amount of clocks the graphics driver stops the CPU.   ($29 - $2F)   Alcdfix changes the values in these ports (I'm not sure which ones) so there is enough delay for the driver to catch up.

Navigation

[0] Message Index

[#] Next page

Go to full version