Author Topic: 8X+(se) testers needed...  (Read 7993 times)

0 Members and 1 Guest are viewing this topic.

Offline the_mad_joob

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 340
  • Rating: +47/-0
    • View Profile
8X+(se) testers needed...
« on: April 11, 2013, 11:50:32 am »
Hey there =]

If you don't already know, a delay is needed between writing and reading to the keyboard (using port 1).
The problem is, that the needed time is not accurately known.
Since there seems to be many different opinions about the subject, i decided to code a program to test that up.
The main purpose is to be able to have a better knowledge of the hardware, allowing more optimised low level operations.
Also, maybe we'll have some surprises (ti likes to change hardware pieces).

COMPATIBILITY

TI-83 Plus
TI-83 Plus.fr
TI-83 Plus Silver Edition
TI-84 Plus
TI-84 Pocket.fr
TI-84 Plus Silver Edition
TI-84 Plus Pocket Silver Edition
TI-84 Plus C Silver Edition

All official OS are compatible, as long as you TURN OFF MATHPRINT.

INSTRUCTIONS

Simply execute from the homescreen and follow instructions.
Important : When pressing the 0 key, you must HOLD it until the end of the test.

DOWNLOAD

black & white models : http://www.omnimaga.org/index.php?action=dlattach;topic=16102.0;attach=15043
TI-84 Plus C Silver Edition : http://www.omnimaga.org/index.php?action=dlattach;topic=16102.0;attach=15044

RESULTS

The displayed value(s) are the needed delays (in cycles) for each CPU speed mode (order : 0,1,2,3).
A question mark specifies an unknown delay.
Please don't forget to specify the model and serial number end (at the back of your calc, in the form X-XXXXX).

Code: [Select]
OWNER MODEL SERIAL DELAY-0 DELAY-1 DELAY-2 DELAY-3

the_mad_joob 83+ I-0299A 6
bhtooefr 83+ S-0504E 0
chickendude 83+ N-0305H 5

fortytwo 83+SE I-0501 4 23 30 37 overclocked

Darl181 84+ S-0305B 6 29 29 29
Streetwalker 84+ S-0107G 4 21 21 21

the_mad_joob 84+SE S-0404 6 29 29 29
DrDnar 84+SE S-0605D 4 19 19 19
fortytwo 84+SE P-0410O 4 17 17 17
willwac 84+SE P-0410O 4 20 20 20
chickendude 84+SE ? 4 18 18 18

DrDnar 84+CSE ? 22 72 72 72

THANKS IN ADVANCE FOR YOUR PARTICIPATION =]
« Last Edit: May 21, 2013, 07:03:28 am by the_mad_joob »

Offline Streetwalrus

  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3821
  • Rating: +80/-8
    • View Profile
Re: 8X+(se) testers needed...
« Reply #1 on: April 11, 2013, 12:14:39 pm »
84+ S-0107G (TA3 chip) :
4
21
21
21

Offline the_mad_joob

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 340
  • Rating: +47/-0
    • View Profile
Re: 8X+(se) testers needed...
« Reply #2 on: April 11, 2013, 12:30:51 pm »
Reading such results reminds me how slow is my 84+se XD

Thx a lot Streetwalker !

Offline Streetwalrus

  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3821
  • Rating: +80/-8
    • View Profile
Re: 8X+(se) testers needed...
« Reply #3 on: April 11, 2013, 12:34:25 pm »
You welcome. I like to help people especially when it's that simple. ;)

Offline DrDnar

  • LV7 Elite (Next: 700)
  • *******
  • Posts: 546
  • Rating: +97/-1
    • View Profile
Re: 8X+(se) testers needed...
« Reply #4 on: April 11, 2013, 02:41:43 pm »
You should ask KermM to run that on his 22 MHz TI-83+SE. (Its ASIC is a beta version of the TI-84+/C/SE 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 the_mad_joob

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 340
  • Rating: +47/-0
    • View Profile
Re: 8X+(se) testers needed...
« Reply #5 on: April 11, 2013, 02:55:04 pm »
Results would be interesting, indeed.
Anyway, i'll probably post a duplicate topic on cemetech.

Offline Darl181

  • «Yo buddy, you still alive?»
  • CoT Emeritus
  • LV12 Extreme Poster (Next: 5000)
  • *
  • Posts: 3408
  • Rating: +305/-13
  • VGhlIEdhbWU=
    • View Profile
    • darl181.webuda.com
Re: 8X+(se) testers needed...
« Reply #6 on: April 11, 2013, 02:59:42 pm »
84PBE, S-0305B
6, 29, 29, 29.
Vy'o'us pleorsdti thl'e gjaemue

Offline the_mad_joob

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 340
  • Rating: +47/-0
    • View Profile
Re: 8X+(se) testers needed...
« Reply #7 on: April 11, 2013, 03:05:46 pm »
Another slow one XD

Thx Darl181 =]

Offline Darl181

  • «Yo buddy, you still alive?»
  • CoT Emeritus
  • LV12 Extreme Poster (Next: 5000)
  • *
  • Posts: 3408
  • Rating: +305/-13
  • VGhlIEdhbWU=
    • View Profile
    • darl181.webuda.com
Re: 8X+(se) testers needed...
« Reply #8 on: April 11, 2013, 03:12:24 pm »
Iirc the older calcs are slightly slower hardware-wise. There used to be a topic, but I can't seem to find it anymore..

They make up for it in ram pages and other fun tho :P
Vy'o'us pleorsdti thl'e gjaemue

Offline Dapianokid

  • LV7 Elite (Next: 700)
  • *******
  • Posts: 539
  • Rating: +46/-27
  • That one dude
    • View Profile
Re: 8X+(se) testers needed...
« Reply #9 on: April 11, 2013, 03:17:08 pm »
How on earth does someone "time" a processor with only the processor to do so?
And the same goes for keypresses! Wahh lol
Should I test different OS versions?
Keep trying.

Offline ralphdspam

  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 841
  • Rating: +38/-1
  • My name is actually Matt.
    • View Profile
Re: 8X+(se) testers needed...
« Reply #10 on: April 11, 2013, 03:35:14 pm »
How on earth does someone "time" a processor with only the processor to do so?
And the same goes for keypresses! Wahh lol
It's not really timing the processor with the processor.  It's more like timing the keyboard delay with the processor clock. 
ld a, 0
ld a, a

Offline the_mad_joob

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 340
  • Rating: +47/-0
    • View Profile
Re: 8X+(se) testers needed...
« Reply #11 on: April 11, 2013, 04:14:25 pm »
How on earth does someone "time" a processor with only the processor to do so?
And the same goes for keypresses! Wahh lol
Hmm... timing the processor is definitely not the aim here.
The idea is to know how many cycles are needed between writing & reading to port 1.
Knowing that delay allows you to make sure low level interactions with the keyboard are compatible with all hardware types.

Should I test different OS versions?
That shouldn't matter, since i don't use any OS code in the delay calculation.
Just be sure to turn that mathprint shit off if using 2.53 or 2.55.

Offline willrandship

  • Omnimagus of the Multi-Base.
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2953
  • Rating: +98/-13
  • Insert sugar to begin programming subroutine.
    • View Profile
Re: 8X+(se) testers needed...
« Reply #12 on: April 11, 2013, 11:00:55 pm »
You can time the processor easily enough using only the processor:

Simply start a loop with a known number of cycles. Have it run long enough to get a decent length of time. (Say, 100 million cycles)

Simple math based on the time can tell you the processor's speed in Hz.

Offline the_mad_joob

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 340
  • Rating: +47/-0
    • View Profile
Re: 8X+(se) testers needed...
« Reply #13 on: April 12, 2013, 06:12:43 am »
So, for now, the known maximum delays are :
83+ : 6
other models - mode 0 : 6
other models - mode 1+ : 29

More tests are needed...
« Last Edit: April 12, 2013, 08:10:03 am by the_mad_joob »

Offline DrDnar

  • LV7 Elite (Next: 700)
  • *******
  • Posts: 546
  • Rating: +97/-1
    • View Profile
Re: 8X+(se) testers needed...
« Reply #14 on: April 12, 2013, 06:36:30 am »
Yes, there is a problem with your source code. You forgot to disable interrupts, which could cause false values to be reported.

I get {4, 19, 19, 19}. My calculator is a TA3-type unit S-0605D.

The needed wait time appears to be 1 or 2 microseconds. The keyboard circuits may involve an analog component, so external (or internal) forces could affected the needed wait time. The keyboard outputs are open-drain type, and the inputs have internal pull-up resistors. TI probably chose resistances that reduce power usage, which has the side effect of requiring longer wait times before keyboard matrix output transistors settle.

How on earth does someone "time" a processor with only the processor to do so?
And the same goes for keypresses! Wahh lol
Should I test different OS versions?
We're measuring time from the point of view of the processor itself, so we don't need an external reference. We also have more than only the processor: the so-called crystal timer circuits can not only measure time in terms of the 32768 quartz crystal (which I use in my CPU clock frequency tester), but the circuits can also measure time in terms of the CPU clock divided by any of 8 different constants.
« Last Edit: April 12, 2013, 07:28:52 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