Re: LF: Ti-92 OS stuff


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

Re: LF: Ti-92 OS stuff



Hmlacage@aol.com wrote:

> well: this follows last message: fargo libs and docs.
> i have been through ALL fargo doc: there were a few things i had
> missed (
> sorry patrick about the keyboard buffer ) ...
> ok: this is my pb...
> 1) when fargo is launched, fargo is not using the ti os: it uses some
> rom
> routines but it directly access to the microprocessor. Is this wrong ?

    When fargo is 'launched' with the Shift-ON combination, it is
causing an interrupt to occur, this gives Fargo complete control of the
processor.  You are correct.

> 2) thus, when we are running fargo, if we set the bit 2 of $600001 (
> see
> traps.txt: auto int 7 ) , then we have freely access to the interrupt
> vector
> table...

    Yes, clearing that bit allows you to write to memory below $120.
However, you should leave that bit SET, and just write to memory at
$040000-$040120, since this has the same result, but ignores the memory
protect bit.  Also, since TI-92 IIs are out there, DO NOT write to
memory $020000-$020120, this is still within the ram of the TI-92 II!!

> We could, for example, redirect traps...

    Yes.

> OR modify the initialisation vector to point at one of our program (
> which
> would, when running,  before anything restore the ini vectore to its
> initial
> value: ti os so that, when quitting, the calc runs normally ) and
> switch off
> the calc....

    Uh, no.  The calculator doesn't work like a computer when you switch
it off.  I'm assuming the initialization vector is the Reset Vector
(address $0 and $4)?  This vector to my knowledge is never invoked by
the calculator (unless, somehow the RESET instruction is called?).  Not
even the ole' 2nd-Hand-ON trick calls the reset vector (I tried).

> Then, when we would switch it on again, we would be into our own
> program...
> Thus, we could completly overcome the ti os...
> Yeah: what use ? well... that was just a thought... am i wrong ?

    When the calc switches on, it will be in the same place as it was
when it switched off, so if you want your program to run when it first
switches on (listen up password protect people!), just re-write the
ON/OFF Trap #4 (address $90).  When the calculator calls this trap, it's
about to turn OFF, so jump to your program, then execute the old Trap
#4.  When the calc turns back on, your program will resume right after
where you called Trap #4.

> 3) There exist a video buffer ( $05c10 ). has it anything to do with
> $600010
> ? ( video mem adress )

    Yes.  The long integer at address $5C10 is the pointer to the
beginning of video memory.  If you change the value at $600010, the
value at $5C10 should change also (but I've not tried it).

--Bryan
bcturner@eos.ncsu.edu




Follow-Ups: References: