Omnimaga
Omnimaga => News => Topic started by: KermMartian 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 (http://www.cemetech.net/tools/ti83pse) and its children the TI-84 Plus (http://www.cemetech.net/tools/ti84p), TI-84 Plus Silver Edition (http://www.cemetech.net/tools/ti84pse), and TI-84 Plus C Silver Edition (http://www.cemetech.net/tools/ti84pcse), 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.
(http://www.cemetech.net/img/projects/ee/overclock/normal.jpg) (http://www.cemetech.net/img/projects/ee/overclock/fast.jpg)
The left screenshot shows the results from DrDnar's CPU speed test (http://www.ticalc.org/archives/files/fileinfo/420/42000.html) 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 (http://www.cemetech.net/forum/viewtopic.php?p=202051#202051). 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 (http://www.cemetech.net/forum/viewtopic.php?t=8926) 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.
(http://www.cemetech.net/img/projects/ee/overclock/83pse_board.jpg)
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 (http://www.cemetech.net/forum/viewtopic.php?t=8936)
-
:crazy: This is awesome! How feasible is it for the average calc enthusiast?
-
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.
-
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?
-
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.
-
O.O
-
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?
-
Wow, great work guys! :)
-
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
-
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.
-
This will be exceedingly difficult for me to reproduce.
-
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.
-
Will you please give us a tutorial for doing this? (Pics, what pins to put the resistors on, etc...)
-
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)
-
Nice, now we can play more awesome games on the z80 clacs >.<
-
how bout the 84se? have one i ripped the ribbon cable on while debugging my speakers(they work almost flawlessly now, cruel irony) that i could try this on and screenshot it with tilp to see how it worked.
-
From the first post, I think Kerm's technique will work on it too. Just not the color screen model.
-
So a little bump to this. I ordered some parts from digikey and overclocked 2 83+se's for omnimaga's contest. they can be found here
http://imgur.com/a/IJgAw
Whats next. Make an OS patch that stops the Ti-OS from interfering with the setting. Make sure all external functions work, and finally set up a set of hot keys to arbitrarily change hot keys as long as the Ti-OS interrupt is running.
After I get that done I might offer overclocking services for a fee because its not a hard soldering job but if your not practiced its very easy to mess up. 0603 parts are small :/
-
wait, the 83+se's for the contest are overclocked? O.O
You are keep making second price look better than the first :P
-
So a little bump to this. I ordered some parts from digikey and overclocked 2 83+se's for omnimaga's contest. they can be found here
http://imgur.com/a/IJgAw
Whats next. Make an OS patch that stops the Ti-OS from interfering with the setting. Make sure all external functions work, and finally set up a set of hot keys to arbitrarily change hot keys as long as the Ti-OS interrupt is running.
After I get that done I might offer overclocking services for a fee because its not a hard soldering job but if your not practiced its very easy to mess up. 0603 parts are small :/
Are the parts in the same place in the ti-48+? And could you post a small tutorial/description of how to do it yourself, together with a list of the parts needed?
-
the 83+se overclock and overclocking the 84+se are two completily different beasts the 84+se doesnt have the pads that the 83+se does so its virtually impossible to overclock and if you cant figure out how to do it from kerms posts I feel you dont have enough experiance soldering/ doing ee work to trust you not to break your calculator.ive had plenty of experiance with working on fine pitch hardware.
-
Seems pretty cool but you should clean the second one's LCD. :P
You remind me I have an 83+SE that I need to revive (dead LCD, gonna get a used 83+BE that's working for the parts), so maybe I'll add the 4 pin socket like Kerm did if I ever succeed. :D
-
its white out and I tried the best I could its just no hope with out possibly wrecking the lcd. I replaced the entire case as it was all whiteout and nailpolished up >.> but that's the only physical blemish and that doesn't cover any active area of the screen so its chocked up as "meh minor phsyical blemish 100% working order does not hinder the product in anyway" eg its good enough for me
-
the 83+se overclock and overclocking the 84+se are two completily different beasts the 84+se doesnt have the pads that the 83+se does so its virtually impossible to overclock and if you cant figure out how to do it from kerms posts I feel you dont have enough experiance soldering/ doing ee work to trust you not to break your calculator.ive had plenty of experiance with working on fine pitch hardware.
Sorry, but could you repost this in English? O.O (no offense)
Also as cool as getting overclocked calcs would be, did you ask permission to the participants first? Maybe they want a normal calc to run games for them, which means that if overclocked, some games might run too fast to be playable. D: (Unless you're adding a switch that allows the contest winner to switch between 15 MHz and other modes)
-
Well, if the games use the lower 15 MHz mode then there's no issue since only the two higher modes are overclocked.
-
Well, I meant BASIC games, for example, or any ASM/Grammer game that uses no specific mode by default. I was also worried about games that needs perfect syncing with the LCD for grayscale and other effects, which might have issues running if they aren't set at 15 MHz by default.
-
the 83+se overclock and overclocking the 84+se are two completily different beasts the 84+se doesnt have the pads that the 83+se does so its virtually impossible to overclock and if you cant figure out how to do it from kerms posts I feel you dont have enough experiance soldering/ doing ee work to trust you not to break your calculator.ive had plenty of experiance with working on fine pitch hardware.
Sorry, but could you repost this in English? O.O (no offense)
Also as cool as getting overclocked calcs would be, did you ask permission to the participants first? Maybe they want a normal calc to run games for them, which means that if overclocked, some games might run too fast to be playable. D: (Unless you're adding a switch that allows the contest winner to switch between 15 MHz and other modes)
If you look at the program telling the CPU speeds, you see that he just unlocked the 2 faster speed modes, but it still has a 6MHz and 15MHz speed, which means that games will still run at the correct speed, and only games that use the extra modes will gain advantage of it (and maybe the OS as well, if it's patched to do this).
-
Yeah for LCD timing most recent games sync with the status port anyway and interrupt timers are independent of the CPU speed. Also he said he'd patch the os to fix that issue. ;)
-
Oh ok. That said, it still doesn't solve the issue about BASIC games, though. >.< (Although most might be better with extra speed, some might become unplayable, especially those that already ran very fast, since getkey only registers 10 keypresses per second).
-
Also he said he'd patch the os to fix that issue. ;)
This was towards the BASIC issue.
-
Oh ok, so BASIC games would automatically be set to 15 MHz upon launch?
-
The OS already runs at 15MHz by default, and so does BASIC. Geekboy's patch would be more to let the user switch speeds on the fly if I understand correctly.
-
GOt an Idea: The Impossible Game at 25MHz...
-
O.O Holy... That'd be epic.
-
GOt an Idea: The Impossible Game at 25MHz...
oh god, don't make it even more impossible x.x
-
GOt an Idea: The Impossible Game at 25MHz...
I think that it would be too fast for the screen. It's already very blurry on 15MHz, so on 25MHz, you won't see a thing.
-
Herm... Give me an OC calc and the Impossible Game.
-
I thought the impossible game ran at 6 MHz ?
-
The OS already runs at 15MHz by default, and so does BASIC. Geekboy's patch would be more to let the user switch speeds on the fly if I understand correctly.
I wonder if the patch would be made publicly available (as IPS patch) in case they accidentally delete their OS or if the patch would actually remain even if the user replaces his OS?
-
It would be cool since it'd also make it possible to test BASIC at 6MHz.