1. Does disabling interrupts allow both regular assembly programs and Flash Applications to run faster?
2. There is something known as "fast mode" for the TI-83+ SE/TI-84+/TI-84+ SE that allows these calculators to run at 15MHz instead of 6MHz (I think). How would I turn on "fast mode" and turn off "fast mode" in an assembly program?
3. While "fast mode" is turned on, I will have to increase the delays when reading/writing from the key port and the LCD, right? If so, then by how much?
EDIT: Edited topic title
Last edited by bfr on Thu 05 Apr, 2007 12:47 am, edited 1 time in total.
if you call it, it will wait untill the LCD is ready for the next instruction regardless of CPU speed and the number of CC's that have already been passed since the last instruction to the LCD driver. The right place to call this would be right before an instruction to the LCD.
the "safecopy" on the page Jim E linked to uses the same trick, the safecopy routine will also always work no matter what the CPU speed is
Or you could mess with ports $29 - $2C (LCD delay)
Well thats why its a safecopy, since its safe . Like mentioned in the wiki, of course you can use them to do stuff, but best to try those sorts of things once you know the full picture.
"My world is Black & White. But if I blink fast enough, I see it in Grayscale."
In terms of performance....it's mostly luck. How fast the driver works is not very uniform so its possible to get lucky and check the port at the right time. But if you missed the lcd reporting being ready by just a few tstates, then you would have to wait for the loop to check again. So thats why a smaller loop would be better.
doesn't call $000B do a suffcient delay no matter what mode. Maybe it's not optimized because I don't know about TI, but that's what I think it is IIRC. I would just go with the waitlcd but I was just saying.
Halifax wrote:doesn't call $000B do a suffcient delay no matter what mode. Maybe it's not optimized because I don't know about TI, but that's what I think it is IIRC. I would just go with the waitlcd but I was just saying.
It should under normal circumstances. It's possible it won't in certain circumstances but that would only happen if that calculator has already crashed or some one was playing with things they didn't know how to work.