Quantcast
Channel: Cemetech
Viewing all articles
Browse latest Browse all 75417

Technology & Calculator Open Topic :: You Can Help Discover More About the TI-8x Calculators!

$
0
0
Author: DrDnar
Subject: You Can Help Discover More About the TI-8x Calculators!
Posted: 12 Mar 2013 06:51:08 pm (GMT -5)

Although we know a lot about the TI-8x ASICs, there still remains significant work to be done. Recently, I have discovered something new that needs to be confirmed. You can help confirm this by typing in the following program and posting your results. This test can be performed by TI-83+SE, TI-84+, and TI-84+SE users; the TI-83+ is not relevant. If you have a MathPrint OS, disable MathPrint before trying this and clear the homescreen. The information from this test relates to port 27h and is realted to accessing the extra RAM pages. It may be of use to operating system writers, assembly programmers, and Axiom writers.


Code:
:AsmPrgm
:DB156F2600
:EF0745EF2E45
:F31E801686
:0E052100C173
:ED51723EFF
:D327463CD327
:ED79FB260068
:EF0745EF2E45
:C9

(Assembly for the experts:)

Code:

; Yes, I know you can optimize this by at least two bytes.
   in   a, (15h)   ; DB15      
   ld   l, a      ; 6F      
   ld   h, 0      ; 2600      
   b_call(_DispHL)      ; EF0745
   b_call(_NewLine)   ; EF2E45
   di         ; F3
   ld   e, 80h      ; 1E80
   ld   d, 86h      ; 1686
   ld   c, 05      ; 0E05
   ld   hl, 0C100h   ; 2100C1
   ld   (hl), e      ; 73
   out   (c), d      ; ED51
   ld   (hl), d      ; 72
   ld   a, 0FFh      ; 3EFF
   out   (27h), a   ; D327
   ld   b, (hl)      ; 46
   inc   a      ; 3C
   out   (27h), a   ; D327
   out   (c), a      ; ED79
   ei         ; FB
   ld   h, 0      ; 2600
   ld   l, b      ; 68
   b_call(_DispHL)      ; EF0745
   b_call(_NewLine)   ; EF2E45
   ret         ; C9


Run this like a regular assembly program. It should print two numbers. The first will is the ASIC ID and will be either 51 (TI-83+SE), 68 (TA2), 69 (TA3), or 85 (TA1, what all new calcs have); the second will be either 128 or 134.


If you don't mind causing a RAM reset, there's a second test you can perform. This test is related to custom interrupts. The test will cause a crash, hang, freeze, or otherwise errant behavior if it fails; if it passes, nothing happens and the calculator continues to operate normally. If the above code printed 69 for the first number, this should pass if I'm right. If I'm right, all other values will cause a crash. The test is simply this:

Code:
:AsmPrgm
:ED46C9
Assembly = im 0 \ ret

If this test passes with the first number from the above test being anything other than 69, let us know; it could provide a great optimization for Axe.


Viewing all articles
Browse latest Browse all 75417

Trending Articles