This is an archived, read-only copy of the United-TI subforum , including posts and topic from May 2003 to April 2012. If you would like to discuss any of the topics in this forum, you can visit Cemetech's z80 & ez80 Assembly subforum. Some of these topics may also be directly-linked to active Cemetech topics. If you are a Cemetech member with a linked United-TI account, you can link United-TI topics here with your current Cemetech topics.

This forum is locked: you cannot post, reply to, or edit topics. Z80 & 68k Assembly => z80 & ez80 Assembly
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
Display posts from previous:   
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

» Go to Registration page
    »
» View previous topic :: View next topic  
Page 1 of 1 » All times are UTC - 5 Hours

 

Advertisement