Author |
Message |
|
hotdog1234
Advanced Member
Joined: 14 Aug 2009 Posts: 291
|
Posted: 21 Dec 2009 02:47:35 pm Post subject: |
|
|
If I remember correctly, the default speed for ASM programs for Ti-83+ calculators is 6 MHz unless otherwise instructed in the ASM program. Is this true for TI-84+ calculators, or must the 6 MHz speed be forced? |
|
Back to top |
|
|
cjgone Aw3s0m3
Active Member
Joined: 24 May 2006 Posts: 693
|
Posted: 21 Dec 2009 03:12:03 pm Post subject: |
|
|
Um, it generally runs in 6mhz mode but by toggling a port you can run the calculator at around 15 mhz.
Last edited by Guest on 21 Dec 2009 03:12:19 pm; edited 1 time in total |
|
Back to top |
|
|
Eeems
Advanced Member
Joined: 25 Jan 2009 Posts: 277
|
Posted: 21 Dec 2009 05:07:23 pm Post subject: |
|
|
From what I've expiriences ti-84+ actually runs at ~15mhz all the time...to show this try running a program that counts to 1000 on both a 84+ and a 83+ and see which one finishes first. |
|
Back to top |
|
|
brandonw
Advanced Member
Joined: 12 Jan 2007 Posts: 455
|
Posted: 21 Dec 2009 05:38:52 pm Post subject: |
|
|
On the models that support it (meaning everything but the 83+), the OS switches to 15MHz when it would benefit from it. It does this before executing hooks (if I recall correctly), assembly programs, graphing, and other places.
It's a question you have to answer on a case-by-case basis, but for the most part, the TI-OS tries to help you out when it can. |
|
Back to top |
|
|
Mapar007
Advanced Member
Joined: 04 Oct 2008 Posts: 365
|
Posted: 22 Dec 2009 05:27:13 am Post subject: |
|
|
If you want to set the speed manually, write to port 20h:
IIRC it works like this: output 1 for 15 MHz speed, 0 for "normal" speed (83+ compatibility). Some say 2 and 3 cause still higher speeds, but the function of those modes is largely unknown, so I'd go with 1. |
|
Back to top |
|
|
calc84maniac
Elite
Joined: 22 Jan 2007 Posts: 770
|
Posted: 22 Dec 2009 12:35:08 pm Post subject: |
|
|
brandonw wrote: On the models that support it (meaning everything but the 83+), the OS switches to 15MHz when it would benefit from it. It does this before executing hooks (if I recall correctly), assembly programs, graphing, and other places.
It's a question you have to answer on a case-by-case basis, but for the most part, the TI-OS tries to help you out when it can.
I'm pretty sure that no-stub assembly programs run at 6MHz by default... |
|
Back to top |
|
|
brandonw
Advanced Member
Joined: 12 Jan 2007 Posts: 455
|
Posted: 23 Dec 2009 04:52:35 pm Post subject: |
|
|
calc84maniac wrote: I'm pretty sure that no-stub assembly programs run at 6MHz by default...
My mistake, bit 5,(iy+24h) has to be set first. I haven't looked to see what if anything actually sets that.
From OS 2.41 disassembly, page 07h, address 5845h (part of _ExecutePrgm):
Code: seg001:5845 call NZIf83Plus
seg001:5848 jr nz, loc_5854
seg001:584A in a, (20h)
seg001:584C push af
seg001:584D bit 5, (iy+24h)
seg001:5851 call slowSpeedIfZotherwiseFastSpeed
seg001:5854
seg001:5854 loc_5854: ; CODE XREF: seg001:5848j
seg001:5854 ld hl, asm_prgm_handler
seg001:5857 call APP_PUSH_ERRORH
seg001:585A call jpUserMem
seg001:585D call APP_POP_ERRORH
seg001:5860 call NZIf83Plus
seg001:5863 jr nz, is_83p
seg001:5865 pop af
seg001:5866 and 1
seg001:5868 out (20h), a
seg001:586A
seg001:586A is_83p: ; CODE XREF: seg001:5863j
EDIT: Flash applications start at 15MHz if the first byte of field 80A0h in the app header is non-zero (so DB 80h,0A1h,01h).
Last edited by Guest on 23 Dec 2009 04:55:45 pm; edited 1 time in total |
|
Back to top |
|
|
JoeYoung
Advanced Member
Joined: 15 Nov 2008 Posts: 316
|
Posted: 23 Dec 2009 09:54:31 pm Post subject: |
|
|
Eeems wrote: From what I've expiriences ti-84+ actually runs at ~15mhz all the time...to show this try running a program that counts to 1000 on both a 84+ and a 83+ and see which one finishes first.
I'm not convinced you really know what you are talking about, perhaps you should back out of this topic. |
|
Back to top |
|
|
Eeems
Advanced Member
Joined: 25 Jan 2009 Posts: 277
|
Posted: 24 Dec 2009 01:45:57 am Post subject: |
|
|
Well I am, and that was a little rude. From what I have personally expirienced, the 84+ will run a basic program at 15mhz, because when I was running a game on both a 83+ and a 84+ the 84+ was running much faster. This game had ASM libs, so I'm guessing that they would all run in the same mode.
Also why are you unconvinced? You gave no reasons to support this, as well as you have no right to tell anyone to back out of a topic unless they are spamming, trolling, or obviously being a noob. And if you do you should always be as polite as you can.
Next time how about so point something out like how I didn't know what I was talking about, as well as have something constructive to say that has to do with the topic. |
|
Back to top |
|
|
ztrumpet
Active Member
Joined: 06 May 2009 Posts: 555
|
Posted: 24 Dec 2009 10:42:40 am Post subject: |
|
|
Quote: Terms and Conditions: Last Updated July, 24, 2006.
1. At United-TI, we try to provide the very best community interaction possible with minimal limitations on what you communicate.
2. You must be respectful to everyone, and you must not disrespect anyone. You may disagree with someone, but you must still stay respectful of their point of view.
Metagross, that was really rude! Please don't hurt others when they post something of importance pertaining to this topic. Eeems is right; The 83+se, 84+, and 84+se all run programs faster, although if it is due to the fact that 15mhz mode or not is unknown.
Last edited by Guest on 24 Dec 2009 10:48:16 am; edited 1 time in total |
|
Back to top |
|
|
Weregoose Authentic INTJ
Super Elite (Last Title)
Joined: 25 Nov 2004 Posts: 3976
|
Posted: 24 Dec 2009 01:43:16 pm Post subject: |
|
|
Let's get back on topic, please. |
|
Back to top |
|
|
Eeems
Advanced Member
Joined: 25 Jan 2009 Posts: 277
|
Posted: 24 Dec 2009 01:56:04 pm Post subject: |
|
|
ztrumpet wrote: The 83+se, 84+, and 84+se all run programs faster, although if it is due to the fact that 15mhz mode or not is unknown. that was on topic I think |
|
Back to top |
|
|
calcdude84se
Member
Joined: 09 Aug 2009 Posts: 207
|
Posted: 24 Dec 2009 06:50:05 pm Post subject: |
|
|
Couldn't one just write to the port controlling speed and see if there is any difference? (I think that was already said)
I remember reading something saying that the TI-84+(SE) does not have a 6MHz mode, that it only runs at ~15MHz |
|
Back to top |
|
|
thepenguin77
Advanced Newbie
Joined: 17 Jul 2009 Posts: 72
|
Posted: 24 Dec 2009 11:45:17 pm Post subject: |
|
|
I believe that the way it works is that the calculators do anything related to the OS as fast as possible, because of course you payed for the speed.
This means that BASIC programs and OS actions are done in 6MHz on 83s and 15MHz on 84s.
But when it comes to asm, both calculators start the program in 6MHz, I just physically checked. You have to manually switch to 15MHz. |
|
Back to top |
|
|
calcdude84se
Member
Joined: 09 Aug 2009 Posts: 207
|
Posted: 25 Dec 2009 05:45:54 pm Post subject: |
|
|
Think of all the ASM programs that could be made faster.... Shells should set the speed for programs to the full 15MHz before executing them. (Maybe they already do)
Any non-game program (and maybe some games), esp. those that do many calculations, could benefit from a 150% increase in speed. |
|
Back to top |
|
|
FloppusMaximus
Advanced Member
Joined: 22 Aug 2008 Posts: 472
|
Posted: 25 Dec 2009 05:55:39 pm Post subject: |
|
|
The OS (including the grapher, BASIC interpreter, etc.) always runs at 15 MHz by default. So pure BASIC programs will run faster on the faster models. (Graphing, of course, will be slower on 2.30 and above due to the asymptote detection, which is unrelated.)
Asm( programs are always run at 6 MHz for compatibility. If you want your program to run faster, then change port 20h yourself. (At least, that's the default behavior; I wasn't previously aware of the flag that Brandon mentioned, so I don't know when that flag might be used.)
Applications are run at 6 MHz unless the app contains an 80Ax field indicating that it can be run faster. I believe the same applies to hooks. (I don't know about hooks that are stored in RAM or in the OS; they're probably run at 6 MHz as well, but I haven't checked.)
Ion and MirageOS programs are always run at 6 MHz; you can of course set the speed higher if you want to, but you must set it back to 6 MHz before exiting (since the shell itself, not to mention other programs, won't necessarily work correctly at 15 MHz.) In general, the ionFastCopy routine won't work at 15 MHz.
When an assembly program calls a system routine, that routine will run at the same speed the program was running at. So if an assembly program running at 6 MHz calls ParseInp to execute a BASIC program, the BASIC program will be slower than usual. (This is a minor problem with various older apps and utilities, such as Unit Ops.)
Last edited by Guest on 25 Dec 2009 05:57:22 pm; edited 1 time in total |
|
Back to top |
|
|
JoeYoung
Advanced Member
Joined: 15 Nov 2008 Posts: 316
|
Posted: 25 Dec 2009 05:57:52 pm Post subject: |
|
|
That was a rather mild criticism, and thepenguin77's statement supported my suspicions that Eeem's original comment was not entirely factual or explanatory due to lack of information.
I do apologize for advising you to leave. I see why that might have been taken personally. |
|
Back to top |
|
|
Eeems
Advanced Member
Joined: 25 Jan 2009 Posts: 277
|
Posted: 25 Dec 2009 08:27:04 pm Post subject: |
|
|
Thank you for the apology and now that I have re-read the question, I realize that my response does not quite fit. I did know what I was talking about, not everybody else did though, and I clarified it so now we all do.
I apolagize for reacting so harshly. I do not react well to any comments that can be taken as a personal attack due to the fact that I read too deeply into things. This is a fault I have which I recognize and I am trying to work on. While I was not completely in the wrong for reacting the way I did, I was not completely in the right either. So again I apologize for reacting so harshly and publicly. Next time I will try to keep this private at first. |
|
Back to top |
|
|
|