Author Topic: Overclocking the TI-83+SE / TI-84+/SE Family  (Read 18691 times)

0 Members and 1 Guest are viewing this topic.

Offline KermMartian

  • Editor
  • LV7 Elite (Next: 700)
  • *******
  • Posts: 500
  • Rating: +233/-20
    • View Profile
    • Cemetech
Overclocking the TI-83+SE / TI-84+/SE Family
« on: March 18, 2013, 09:09:13 pm »
Long have we known that the TI-83 Plus calculator, and its predecessors like the TI-83 and TI-82, can be overclocked by replacing a single capacitor. Those calculators use what we electrical engineers call an RC tank, a circuit created from a resistor and a capacitor that oscillates. You can create an RC tank circuit that oscillates at f Hz by picking a resistor value R and capacitor value C such that f = 1/(2πRC). Unfortunately, RC tanks are quite sensitive to temperature and battery voltage, and tolerances (manufacturing variations) of resistors and capacitors mean that RC tanks in the real world don't produce precise frequencies. Therefore, for the TI-83 Plus Silver Edition and its children the TI-84 Plus, TI-84 Plus Silver Edition, and TI-84 Plus C Silver Edition, Texas Instruments logically switched to a crystal oscillator. Until very recently, we believed that the fixed speed of the oscillator meant that overclocking the later calculators was extremely difficult, if not impossible. However, one bricked calculator and one overclocked calculator later, with extensive photography and co-experimenting help from DrDnar, I have successfully overclocked a TI-83 Plus Silver Edition to run at 6.03 MHz, 15.95 MHz, 19.38 MHz, and 22.416 MHz.



The left screenshot shows the results from DrDnar's CPU speed test on an unmodified calculator, while the right screenshot shows the modified calculator. TI included four speed modes on calculators from the TI-83+SE on upward, but the top 3 speeds have always been approximately 15MHz. Over the past few days, we have experimented with unpopulated resistor locations on the TI-84 Plus-family PCBs, hoping that two unpopulated resistors might enable what we always assumed were planned 20MHz and 25MHz speeds when 0-ohm resistors were added. Although this proved fruitless, we made another breakthrough today when I discovered an interesting mapping of a set of four resistors on the TI-83 Plus Silver Edition mainboard, documented in a Cemetech topic. Much soldering and trial-and-error later, I was able to get the calculator running stably up to 22.4 MHz. Any faster and memory reads and LCD writes get unpredictable. Although ports $2E and $2F can be used to let the calculator safely run at speeds up to an estimated 28 MHz, the effective CPU speeds are actually lower due to the added delays.

As an added bonus, we believe this technique can be used to overclock even the TI-84 Plus C Silver Edition, a modification that I will attempt tomorrow. Combined with Calc84Maniac's discovery of an LCD feature that lets us double the rate at which we can transfer whole screens of data to 10FPS, this modification would allow programs to write the LCD at up to 15FPS. If DrDnar or myself succeed in overclocking the TI-84+CSE (which is now shipping from several distributors), we'll let you know.


My modified TI-83+SE. I added a 4-pin socket to let me easily swap out resistor values

Source:
http://www.cemetech.net/forum/viewtopic.php?t=8936

Offline TheNlightenedOne

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 427
  • Rating: +16/-1
    • View Profile
Re: Overclocking the TI-83+SE / TI-84+/SE Family
« Reply #1 on: March 18, 2013, 10:00:18 pm »
:crazy: This is awesome! How feasible is it for the average calc enthusiast?
"Eris" (Ndless 3.1)
"Keto" (Ndless 3.1)
"Luna" (AMS 3.10, HW4)
"Aurora" (2.55MP)

Offline DrDnar

  • LV7 Elite (Next: 700)
  • *******
  • Posts: 546
  • Rating: +97/-1
    • View Profile
Re: Overclocking the TI-83+SE / TI-84+/SE Family
« Reply #2 on: March 19, 2013, 12:11:35 am »
Unfortunately, this is not a discovery that regular users can take advantage of, except on the out-of-production TI-83+SE (and even then, Kerm says it's very hard). The pins on the TI-84+/C/SE aren't connected to unpopulated solder pads like on the TI-83+SE, so users would have to do some very hard SMD soldering directly to the ASIC.
"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 Camdenmil

  • LV4 Regular (Next: 200)
  • ****
  • Posts: 121
  • Rating: +4/-0
    • View Profile
Re: Overclocking the TI-83+SE / TI-84+/SE Family
« Reply #3 on: March 19, 2013, 02:02:49 am »
Wait, so the ASIC actually divides the clock for cpu speeds 2 and 3 if you replace some 0 ohm resistors? Any idea if it's possible to do this with a TA1 ASIC? I once replaced the crystal in my M revision 84+SE with a faster one but the lcd didn't update at all, current draw indicated the calc was working though. It all returned to normal when I put the old crystal back in. Why would TI have support for ~25 mhz in the ASIC and not enable it by not populating some resistors?
It is bad luck to be superstitious.

Offline DrDnar

  • LV7 Elite (Next: 700)
  • *******
  • Posts: 546
  • Rating: +97/-1
    • View Profile
Re: Overclocking the TI-83+SE / TI-84+/SE Family
« Reply #4 on: March 19, 2013, 02:53:43 am »
Wait, so the ASIC actually divides the clock for cpu speeds 2 and 3 if you replace some 0 ohm resistors?
Uh, no, not 0 ohm. For 20 and MHz mode, you need ca. 2.5 and 2.9 kOhm resistors; the resistance controls the precise frequency.

Any idea if it's possible to do this with a TA1 ASIC?
No, not as of yet. I doubt it though; part of the purpose of the TA1 was to reduce pin count. (Pins are like a penny a piece.)

I once replaced the crystal in my M revision 84+SE with a faster one but the lcd didn't update at all, current draw indicated the calc was working though.
Replacing the crystal would definitely not make your calculator run faster. The 32768 Hz crystal has nothing to do with CPU speed; it's used for timing purposes only. The 48 MHz one also has nothing to do with CPU speed; it's used exclusively with the USB controller.

Why would TI have support for ~25 mhz in the ASIC and not enable it by not populating some resistors?
It may have to do with saving battery power, although with the TI-84+CSE, the CPU plays pretty much no role is overall power usage. (The backlight consumes probably 95% of all power.) They may also have had concerns about whether the flash chip could handle such speeds, although it's probably a moot point with today's chips. The most likely answer is that TI is staffed by intelligent engineers and idiotic, bureaucratic managers who wouldn't give you the time of day unless you paid them ten thousand dollars and signed an NDA.
« Last Edit: March 19, 2013, 02:57:16 am by DrDnar »
"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 aeTIos

  • Nonbinary computing specialist
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3915
  • Rating: +184/-32
    • View Profile
    • wank.party
Re: Overclocking the TI-83+SE / TI-84+/SE Family
« Reply #5 on: March 19, 2013, 04:47:48 am »
O.O
I'm not a nerd but I pretend:

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: Overclocking the TI-83+SE / TI-84+/SE Family
« Reply #6 on: March 19, 2013, 01:15:25 pm »
Great find Kerm :). I am pretty sure that they said they limited the speed just to save battery power, but IMHO the 84+CSE might be better off running at faster speed at the cost of eating batteries a bit faster, considering otherwise it can be annoying to use in menus. Plus as DrDnar says, most of the battery power is probably used by the backlight, anyway.

I wonder if TI will eventually up the speed of the 84+CSE if they get too many complains and reports about slow menu speed?
« Last Edit: March 19, 2013, 01:16:31 pm by DJ_O »

Offline TIfanx1999

  • ಠ_ಠ ( ͡° ͜ʖ ͡°)
  • CoT Emeritus
  • LV13 Extreme Addict (Next: 9001)
  • *
  • Posts: 6173
  • Rating: +191/-9
    • View Profile
Re: Overclocking the TI-83+SE / TI-84+/SE Family
« Reply #7 on: March 19, 2013, 02:51:55 pm »
Wow, great work guys! :)

Offline KermMartian

  • Editor
  • LV7 Elite (Next: 700)
  • *******
  • Posts: 500
  • Rating: +233/-20
    • View Profile
    • Cemetech
Re: Overclocking the TI-83+SE / TI-84+/SE Family
« Reply #8 on: March 19, 2013, 03:18:52 pm »
I tried to overclock my TI-84+CSE today. Moral of the story: don't. The longer version: http://www.cemetech.net/forum/viewtopic.php?p=202157#202157



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: Overclocking the TI-83+SE / TI-84+/SE Family
« Reply #9 on: March 19, 2013, 03:24:38 pm »
That was kinda scary to read actually. As I read I was slowly getting more scared that you broke your TI-84 Plus C Silver Edition! O.O

Thanks for the warning, though. That means a lot coming from someone with lots of experience in hardware modding.

Programmers should stick with programming shortcuts (such as the z-adress or 160x240 resolution tricks) in order to gain speed.

Offline Dapianokid

  • LV7 Elite (Next: 700)
  • *******
  • Posts: 539
  • Rating: +46/-27
  • That one dude
    • View Profile
Re: Overclocking the TI-83+SE / TI-84+/SE Family
« Reply #10 on: March 19, 2013, 03:39:50 pm »
This will be exceedingly difficult for me to reproduce.
Keep trying.

Offline ralphdspam

  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 841
  • Rating: +38/-1
  • My name is actually Matt.
    • View Profile
Re: Overclocking the TI-83+SE / TI-84+/SE Family
« Reply #11 on: March 20, 2013, 12:03:22 am »
What an amazing development for the calculator community!  Thank you, Kerm and DrDnar!

Much soldering and trial-and-error later, I was able to get the calculator running stably up to 22.4 MHz. Any faster and memory reads and LCD writes get unpredictable. Although ports $2E and $2F can be used to let the calculator safely run at speeds up to an estimated 28 MHz, the effective CPU speeds are actually lower due to the added delays.
What exactly do you mean by memory reads?  Just flash?  I was wondering if you could make mode 3 the fastest possible to execute from ram and mode 2 the fastest possible for flash reads and port IO.
ld a, 0
ld a, a

Offline pimathbrainiac

  • Occasionally I make projects
  • Members
  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1731
  • Rating: +136/-23
  • dagaem
    • View Profile
Re: Overclocking the TI-83+SE / TI-84+/SE Family
« Reply #12 on: March 20, 2013, 12:50:39 pm »
Will you please give us a tutorial for doing this? (Pics, what pins to put the resistors on, etc...)
I am Bach.

Offline ben_g

  • Hey cool I can set a custom title now :)
  • LV9 Veteran (Next: 1337)
  • *********
  • Posts: 1002
  • Rating: +125/-4
  • Asm noob
    • View Profile
    • Our programmer's team: GameCommandoSquad
Re: Overclocking the TI-83+SE / TI-84+/SE Family
« Reply #13 on: March 20, 2013, 03:58:13 pm »
Is this guaranteed to work for an 84+BE? And what happens when you overclock it too much? Is only the display messed up, or does it get very unstable (RAM clears), or worse? (Archieve/OS corruption or bricking the calc)
My projects
 - The Lost Survivors (Unreal Engine) ACTIVE [GameCommandoSquad main project]
 - Oxo, with single-calc multiplayer and AI (axe) RELEASED (screenshot) (topic)
 - An android version of oxo (java)  ACTIVE
 - A 3D collision detection library (axe) RELEASED! (topic)(screenshot)(more recent screenshot)(screenshot of it being used in a tilemapper)
Spoiler For inactive:
- A first person shooter with a polygon-based 3d engine. (z80, will probably be recoded in axe using GLib) ON HOLD (screenshot)
 - A java MORPG. (pc) DEEP COMA(read more)(screenshot)
 - a minecraft game in axe DEAD (source code available)
 - a 3D racing game (axe) ON HOLD (outdated screenshot of asm version)

This signature was last updated on 20/04/2015 and may be outdated

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: Overclocking the TI-83+SE / TI-84+/SE Family
« Reply #14 on: March 20, 2013, 06:30:53 pm »
Nice, now we can play more awesome games on the z80 clacs >.<

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