A89: Fw: TI-89 ROM 1.05 vs 2.00 version inquiries & Grayscale, etc.


[Prev][Next][Index][Thread]

A89: Fw: TI-89 ROM 1.05 vs 2.00 version inquiries & Grayscale, etc.



Now I'm throughly pissed off -- READ THIS

    -Scott

-----Original Message-----
From: p-fischer@ti.com <p-fischer@ti.com>
To: noveck@pluto.njcc.com <noveck@pluto.njcc.com>
Date: Tuesday, November 23, 1999 3:07 PM
Subject: TI-89 ROM 1.05 vs 2.00 version inquiries & Grayscale, etc.


>Scott Noveck,
>        Scott, regarding your  last additional inquiry; I will ask for
>your patience and a bit of understanding. This is not going to be a
>satisfactory solution to the the questions you are asking....
>        I have been instructed to refer your questions to the customer
>service center;  and that my job tasks and descriptions do not go outside
>the scope of the TI-83 Plus.   May  "I"  recommend that you have a bit of
>patience; the '92+ SDK is in process & your questions would be appropriate
>for the staff of that SDK.   You may also attempt of interface with
>additional peers in the TI-89/92/92+ programming community; they may be
>able to assist.
>        I not attempting to ignore you or  your questions; but much of
>what your asking is sensitive, both internally and externally, for several
>reasons, some of which I'm not probably not even aware of.....  I do not
>know if this sensitivity is company-to-company competition;  current or
>prior legal tests of propritary software  trademarks/copyrights and
>changes in this status if released "external to the corporation"; ;  "too
>many" questions on 92+ behaviors coupled with too few staff;  or several
>other reasons.  In any case, I cannot assist regarding questions outside
>the scope of the TI-83 Plus.   My apologies,... I'm sorry.
>
>Sincerely,
>
>Paul Fischer
>---------------------------------------------------------------------------
------
>Texas Instruments Educational & Productivity Solutions
>TI-83 Plus Software Development Support
>E-mail: ti83beta@list.ti.com
>---------------------------------------------------------------------------
------
>
>
>
>
>"Fischer, Paul" <p-fischer@ti.com>@list.ti.com
>11/23/99 11:34 AM
>Sent by:        owner-ti83beta@list.ti.com
>To:     "ti83beta@list.ti.com - Support email for TI-83 Beta SDK"
><ti83beta@list.ti.com>
>cc:
>
>Subject:        FW: TI-89 ROM 1.05 vs 2.00 version inquiries
>
>
>Forward of Mail -
>
>-----Original Message-----
>From: Scott Noveck [mailto:noveck@pluto.njcc.com]
>Sent: Sunday, November 21, 1999 1:34 PM
>To: Fischer, Paul
>Subject: Re: TI-89 ROM 1.05 vs 2.00 version inquiries
>
>Sorry for taking so long to reply -- I wanted to try and test this, and it
>hasn't quite worked =)
>
>I'm trying to get a greyscale routine to work based on the information
>you've provided, but something is still not working correctly.  It seems
>that port ($600010) - which should hold the address of the desired display
>page divided by 8 - still doesn't want to display 0x5c00, 0x6c00, or
>0x7c00.
>Could you double check these addresses?  The port still takes the address
>divided by 8, correct?
>
>I've included a simple grayscale library and source that I'm hoping your
>"expert" could take a quick look at; I've put detailed comments on every
>line.  I'm using tios::heapalloc to create a buffer, storing 3840 bytes at
>0x7c00 in that buffer, then installing an interrupt that quickly switches
>between the two display pages.  Every time the page is switched, it is
>copied to itself (similarly to the section of code you listed below, but
>much more optimized for speed).  When the grayscale is done, the memory
>from
>the buffer is copied back to 0x7c00 and is freed.
>
>Unfortunately, the program still doesn't show grayscale on a real
>calculator, although it does on a specially modified version of the
>emulator
>that works based on the changes you listed.  It seems that either there is
>an incorrect address or I and others have misinterpreted your message.
>
>I've attached a couple files:  The gray4lib source, the header file
>listing
>usage, an assembled version of the library, and a copy of the game
>solitaire
>that uses the library for greyscale (and the other libraries that it
>needs).
>I'd appreciate it if you could pass this along and ask if there's anything
>else that I'm not aware of.  Thanks!
>
>    -Scott Noveck
>     ACZ member
>     http://scott.acz.org
>
>>Scott Noveck -
>>
>>        Okay, here's what I have for answers to  your inquiries regarding
>>the TI-89:  Please bear with my, I'm not a TI-89 expert. Most of this was
>>from another developer.  Hope it answers most if not all your
>>questions....
>>
>>1. The TI-89 Hardware Version "2.00" and lower down report ROM version
>1.05
>vs
>>the  older TI-89s with a upgraded to ROM v1.05 and
>>    are NOT labeled "Hardwate Version 2.00".   There are two different
>>versions of hardware for the TI-89, as you noticed in the hardware
>>    version  descriptions.   This H/W & firmware change was implemented
>to
>>move the functionality of the security chip into a gate array,
>>    to alleviate a potential lockup/ROM corruption problem which you
>>mentioned.
>>
>>2.  Along with this hardware change (to alleviate the security chip's
>>prior shortcomings), there was some changes to the underlying
>>     hardware's means of how display pages are selected and displayed.
>>(The) LCD can only start at 0x4c00, 0x5c00, 0x6c00, or
>>     0x7c00.)  Writes to the LCD memory are copied to a buffer internal
>>(in one of the gate arrays).  Consequently, selecting an alternate
>>     display page is not enough to load up the gate array's display
>>buffer. You need a little loop like:
>>
>>                lea    lcdpage,a0
>>                move.w #PAGESIZE/4-1,d0
>>         ..1:
>>                move.l (a0),d1
>>                move.l d1,(a0)+
>>                dbra   d0,.1
>>
>>to copy the memory to the internal display buffer. According to our 89/92
>>software developer/"expert", the above "looks" like it's copying to
>>itself, but that's how it works (his words).  The reason, (as I
>understand
>>it) for this display buffer is to remove DMA contention for the LCD
>>display memory accesses, thereby speeding up other calculator (memory)
>>operations.
>>
>>Basecode version 1.05 mostly consists of changes to interface with the
>new
>>hardware configuration.  Version 1.05 runs on older hardware, but,
>>software versions prior to 1.05 will not run on the new hardware.  There
>>are some ports in the new gate array which are not initialized properly
>by
>>the old(er) software.
>>
>>Several important memory locations, such as the Heap address, are also
>not
>>in the 1.0x jump table. They will be added in future base code releases
>>and documented in the TICALCOS (68K) SDK.   In the meantime, assembly
>>language programs which depend on the migrant memory locations will have
>>to track the different base code versions.
>>
>>So,  I'm sorry to say that one cannot downgrade to the prior / initial
>>hardware version (ROM 1.05 , <hardware version 1.0>) if the calculator in
>>question is a hardware version 2.00. Several addresses (eg, you refer to
>>the: ....tios::kb_vars and tios::MaxHandles ROM addresses...).are
>>different.
>>
>>>4.  There are various ASM program failures with the ROM 2.00.
>>>
>>>Yes.  I'm sure TI is aware that there are shells that install their own
>>>kernels on the 89.  The kernels allow the programs to have support for
>>>features including ASM library support and BSS blocks as well as the
>>ability
>>>to make ROM calls without the ROM_CALL macro, among other things.  Some
>>>versions of the kernel that install on a "old" 89 will freeze on
>>> installation on a "new" 89.
>>
>>        This could also be due to "several <I/O> ports" not being
>properly
>>initialized as well as differences in addresses of variables or other
>>parameters.
>>
>>>In addition, several greyscale programs. . . well, the greyscale doesn't
>>>work =)  I'm sure that you're aware of the method used to obtain
>>greyscale
>>>on the calculators by rapidly switching the screen between two "planes"
>>via
>>>an interrupt.  Several 89 programs that work perfectly on the v1.05 ROM
>>>without Hardware Version 2.00 fail to display properly on an 89 WITH the
>>new
>>>Hardware version.  It appears that the planes are unable to toggle fast
>>>enough to cause the greyscale appearance, I'm not sure if this is due
>>tthe
>>>hardware change or a possible slowdown somewhere in the ROM's auto-int 1
>>or
>>>the ROM's getkey-like keyreading routine.
>>
>>This is probably due directly to the internal buffering scheme in the
>gate
>>array of the newer hardware configuration.
>>
>>>       .... I'd also like to know, if possible, what the hardware
>>>change is in the new versions in order to see about getting my assembly
>>>programs to work properly.  I'd primarily like to know what the
>>>nature/purpose of the change was and how it affects the programs.
>>
>>I'm sorry, Scott, but the folks aren't stating beyond what information I
>>was able to gleen.  However, I'm certain that with the 68K SDK; you
>should
>>be able to get the databases/ include files of pertinent addresses,
>>equates, etc.   If the pertinent datums are not there; please contact me
>>again; I'll do what I can to get better information and answers at that
>>time.
>>
>>
>>Sincerely,
>>
>>
>>Paul Fischer
>>--------------------------------------------------------------------------
-
>------
>>Texas Instruments Educational & Productivity Solutions
>>TI-83 Plus Software Development Support
>>E-mail: ti83beta@list.ti.com
>>--------------------------------------------------------------------------
-
>------
>>
>>
>>Please respond to ti83plus@list.ti.com
>>To:     "Scott Noveck" <noveck@pluto.njcc.com>
>>cc:
>>
>>Subject:        TI-89 ROM 1.05 vs 2.00 version inquiries
>>
>>Hi Scott;
>>
>>        Just keeping you apprised of status;  no answers (yet).  The
>>TI-89/92/92+ folks have been busy on another task this last week to ten
>>days.    I'll  be back with the S/W designers for the 89/92 tomorrow;
>they
>>needed a day of "grace and respite" as they have been working shall we
>say
>>'under duress'  lately.    I'll be back in touch within 5-6 busines days;
>>sooner if  I get a satisfactory resolution to your inquiries .    And
>>"Thank You"  for the patience - I understand waiting is hard to do. .
>>
>>
>>
>>Sincerely,
>>
>>
>>Paul Fischer
>>--------------------------------------------------------------------------
-
>------
>>Texas Instruments Educational & Productivity Solutions
>>TI-83 Plus Software Development Support
>>E-mail: ti83beta@list.ti.com
>>--------------------------------------------------------------------------
-
>------
>>
>>
>>
>>Please respond to ti83beta@list.ti.com
>>To:     "Scott Noveck" <noveck@pluto.njcc.com>
>>cc:
>>
>>Subject:        Re: TI-89 ROM 1.05 vs 2.00 version inquiry and possible
>reasons
>>forreloading to a prior ROM load don't work
>>
>>Thank you for the clarifications. They help!
>>
>>
>>Sincerely,
>>
>>
>>Paul Fischer
>>--------------------------------------------------------------------------
-
>------
>>Texas Instruments Educational & Productivity Solutions
>>TI-83 Plus Software Development Support
>>E-mail: ti83beta@list.ti.com
>>--------------------------------------------------------------------------
-
>------
>>
>>
>>
>>
>>"Scott Noveck" <noveck@pluto.njcc.com>@list.ti.com
>>10/13/99 09:57 PM
>>Sent by:        owner-ti83beta@list.ti.com
>>To:     <ti83beta@list.ti.com>
>>cc:
>>
>>Subject:        Re: TI-89 ROM 1.05 vs 2.00 version inquiry and possible
>reasons
>>forreloading to a prior ROM load don't work
>>
>>
>>>1. You have a TI-89 with a "Hardware Version 2.00" on the about screen.
>>>     (There exists a small question/ambiguity  regarding whether the ROM
>>>associated with this about screen is version 2.00 or Rom 1.05 with a
>2.00
>>>       screen message - we are not certain of the interpretation of
>"come
>>with ROM v1.05 natively").
>>
>>Sorry about being ambiguous - I should know better than to be unclear in
>>bug
>>reports =)  The TI-89s' (I've seen 4 of the Hardware Version 2.00 ones
>>now)
>>about screens label them as "TI-89 Hardware Version 2.00" and lower down
>>report ROM version 1.05.  Any attempt to send the product code from a
>>calculator with ROM v1.00 or send version 1.00 from a computer fails
>>(invalid checksum error).  This is NOT the case with "older" 89s that
>have
>>been upgraded to ROM v1.05 and are NOT labeled Hardwate Version 2.00.
>>
>>>2.  The TI-89's previously came with ROM version 1.05
>>
>>Yes.
>>
>>>3.   You cannot  reload version 1.05 ROM (which I assume has a ROM 1.05
>>>about screen) via the graphlink cable.
>>
>>No, you cannot "downgrade" to the version 1.00 ROM via graphlink or
>>calc-to-calc product code transfer.  Many people prefer the older version
>>of
>>the ROM, as ROM version 1.05 changes the addresses of the tios::kb_vars
>>and
>>tios::MaxHandles ROM addresses.
>>
>>>4.  There are various ASM program failures with the ROM 2.00.
>>
>>Yes.  I'm sure TI is aware that there are shells that install their own
>>kernels on the 89.  The kernels allow the programs to have support for
>>features including ASM library support and BSS blocks as well as the
>>ability
>>to make ROM calls without the ROM_CALL macro, among other things.  Some
>>versions of the kernel that install on a "old" 89 will freeze on
>>installation on a "new" 89.
>>
>>In addition, several greyscale programs. . . well, the greyscale doesn't
>>work =)  I'm sure that you're aware of the method used to obtain
>greyscale
>>on the calculators by rapidly switching the screen between two "planes"
>>via
>>an interrupt.  Several 89 programs that work perfectly on the v1.05 ROM
>>without Hardware Version 2.00 fail to display properly on an 89 WITH the
>>new
>>Hardware version.  It appears that the planes are unable to toggle fast
>>enough to cause the greyscale appearance, I'm not sure if this is due
>tthe
>>hardware change or a possible slowdown somewhere in the ROM's auto-int 1
>>or
>>the ROM's getkey-like keyreading routine.
>>
>>>Your question is......"Can/is the failure to downgrade back to a prior
>>>version of the 89 basecode (TI-89 ROM version1.05 (with  a  v1.05
>>screen))
>>
>>That's part of it. . . I'd also like to know, if possible, what the
>>hardware
>>change is in the new versions in order to see about getting my assembly
>>programs to work properly.  I'd primarily like to know what the
>>nature/purpose of the change was and how it affects the programs.
>>
>>>- is this failure related to a prior (or current) logic or physical
>>design
>>>fault at U9   <which can (?) corrupt both the -89's ROM and its
>>>checkbyte>, which then
>>>a.  Corrupts the current ROM load, as well as
>>>b.  Prohibits downloads of any other ROM <via the graphlink , or for
>that
>>>matter , any other media>.
>>
>>Not exactly. . . please see
>>http://d188.ryd.student.liu.se/ftp/calculator/ti89/tech/89hw.txt for more
>>information.  The following quote from that page explains the bug (I
>>apoligize for the type, the bug is in u8, not u9):
>>
>>------------------------------------
>>The flashrom is protected by a special chip U8, which only let you
>>write commands to the chip when it is in a mode only possible
>>to get it in to by writeing to $1c0000-$1fffff after 3 or more
>>readacceses in a row from $200000-$20ffff, 0x212000-0x217fff
>>or 0x21a000-0x21ffff. In its normal mode this chip also
>>protects the area 0x210000-0x211fff from being read, in
>>this area is a small number of bytes which probably are the
>>calculator specific certificate code. It is possible to disable U8,
>>eighter
>>by
>>adding a small switch making CS go directly to the rom instead through
>U8.
>>Simply connecting the CS-line direcly does not work, the bootloader
>>contained
>>in $200000-$20FFFF (an area writeprotected by a feature on the flashrom
>>_and_
>>by U8) checks wether the U8 works before it branches to the writeable
>>part of the ROM. (the switch should connect the pad below pin 10 on U8
>>to eigther pin 10 or pin 9).
>>The other way is to do branch to somewhere in $200000-$20ffff,
>>0x212000-0x217fff
>>or 0x21a000-0x21ffff, to normal executable code wont do, because every
>>write
>>that uses a register to determin adress is preceded by a read from a
>>"wrong"
>>area, BUT by branching into code that is not intended to be executable,
>>but
>>happens to be it anyway, a lookup table or text-string for example,
>>which happens to generate 3 reads from "right" areas before a write to
>>a selectable adress, and then getting trapped for an illeagal instruction
>>or
>>similar, then U8 can be disabled. It does work.
>>It seams to me it is possible to make the calc unuseable by clearing the
>>area
>>that is read-protected, the bootloader in the first 64k that is
>completely
>>write
>>protected and checks a byte in this area, if incorrect value, it stops
>>with
>>the
>>message "Corrupt certificate memory" or something similar, without ever
>>giving
>>the user a chans to install new software (or certificate memory). (the
>>software
>>that recieves and writes new software is completely in the first 64k i
>>think).
>>BUT this is nothing im sure of, and would be happy if someone could
>check.
>>-------------------------------------
>>
>>Following this logic, not only can the ROM be modified bug it can also be
>>destroyed to the point where it cannot be fixed by flashing the ROM back
>>in.
>>
>>A good example of the use of this bug can be seen in Archive Utility
>2.00,
>>an assembly language program available at
>>http://www.ticalc.org/archives/files/fileinfo/91/9182.html which modifies
>>the ROM to prevent clearing of the archive on a crash.  The source is NOT
>>included with this program.
>>
>>It is also theoretically possible for an assembly program to change a
>>calculator's serial number, allowing it to receive digital certificates
>>necessary to run the "applications" that should be supported in v2.00 of
>>the
>>ROM (right?).  Seeing as how there are commercial applications for the
>83+
>>depending upon this, it seems like a large problem to me.
>>
>>>Just making sure I..we.. have the problem understood here.  My
>apologies,
>>>Scott, I'm not a "TI-89 cognitive" person by any means; just making
>>>certain I'm also not caught as a 3rd-party individual due to
>>>misunderstanding of the technical information.
>>>As stated , your inquiry has been forwarded to TI-89 staff.   I will
>keep
>>>you advised of the status of this inquiry, even if "no progress/status
>>>still pending".
>>
>>I undestand, and I thank you for your support for those of us who program
>>these calculators.  For the most part, I'd just like to know what is
>>causing
>>these problems with programs not running properly.
>>
>>            -Scott Noveck
>>             ACZ member
>>             http://www.acz.org
>>
>>
>>
>>
>>
>>
>>
>>
>>
>
>
>

GIF image