RE: A85: A ROM function


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

RE: A85: A ROM function




Most of this stuff was originally done on the TI82, where a lot more is
know about the way the system handles input. Basically everything known
about executing functions which you would normally find in a BASIC program
is based on information found in the Input Handlers. After I found the
function which executes BASIC code I figured out how the buffers are used
on the TI82, but I have not checked whether this is enough to execute
BASIC functions. Currently Andreas Ess should be checking out a function I
found which should work like InpSt, which could be useful in many games.

If you want to have a look at all this stuff I suggest that you start out
by having a look at the Input Handlers.

The Math function was found by look through the ROM and writing down
places where the code looked interesting. When the functions where
disassembled it showed out that it was actually math functions.

Dines 
__________________________________________

Dines Justesen
Email: c958362@student.dtu.dk
WWW  : http://www.student.dtu.dk/~c958362/
__________________________________________

On Tue, 22 Sep 1998, Kaus .theman.com wrote:

> 
> 
> Will this get me what i want though?  When you press a menu item, it 
> just inserts its text into the home screen data area, not to be 
> processed until enter is pressed with the rest of the arguments.
> 
> Isnt this the way it is?  I was thinking perhaps to put in an interrupt 
> so that i could single step through the evalutuation of the statement, 
> but this would be a long and tedious way to do it.
> OR I oculd check the PC before i press enter, and look for the 
> keyhandler that checks for enter, than just go through it all quickly in 
> a disassembled rom dump. Any one of these methods would be hard and 
> tediuos.  Dines:  what did you guys do to find out what was found out :)  
> how did you guys find those math functions and such?
> 
> Jonathan
> 
> 
> 
> >From owner-assembly-85-outgoing@towerguard.unix.edu.sollentuna.se Mon 
> Sep 21 21:11:06 1998
> >Delivered-To: assembly-85-outgoing@towerguard.unix.edu.sollentuna.se
> >Received: by towerguard.unix.edu.sollentuna.se (VMailer, from userid 
> 507)
> >	id 441E00B551; Tue, 22 Sep 1998 06:10:51 +0200 (CEST)
> >Message-ID: <01BDE5AC.6115DBC0@RichardLewis>
> >From: Richard Owen Lewis <richardlewis@cedarcity.net>
> >To: "'assembly-85@lists.ticalc.org'" <assembly-85@lists.ticalc.org>
> >Subject: RE: A85: A ROM function
> >Date: Mon, 21 Sep 1998 22:04:06 -0600
> >X-MS-Attachment: WINMAIL.DAT 0 00-00-1980 00:00
> >Sender: owner-assembly-85@lists.ticalc.org
> >Precedence: list
> >Reply-To: assembly-85@lists.ticalc.org
> >Errors-To: assembly-85-errors@lists.ticalc.org
> >
> >
> >I have a little TSR program I wrote myself that copies the current menu 
> in 
> >to the custom menu, then you can check out the data thats in the custom 
> >menu.  It is fairly simple to use.  Just look at the code.  It should 
> work 
> >as is.  Have fun.  Note: the position of the routines will be in 
> different 
> >spots on different ROM versions.  Here is the source(ZShell 4.0):
> >
> >#include "ti-85.h"
> >
> >.org 0
> >.db "Copy Menu", 0
> >
> >
> >InstallInterrupt:
> >        ld      a,$88
> >	ld	hl,$8700
> >	ld	b,0
> >
> >CopyLoop:
> >	ld	(hl),a		
> >	inc	hl		
> >	djnz	CopyLoop
> >
> >
> >	ld	hl,(PROGRAM_ADDR)	
> >	ld	de,Int_Rout
> >	add	hl,de		; get the rout we want to be called
> >        ld      de,$8888        ;where it gets called from
> >        ld      bc,Int_RoutEnd+1-Int_Rout
> >	ldir			; copy it there
> >
> >        ld a,$87
> >        ld i,a
> >
> >        im 2
> >        ret
> >
> >Int_Rout:
> >	ex AF,AF'
> >	exx
> >
> >        in a,(3)
> >        bit 1,a           ; check that it is a vbl interrupt
> >        jr z,EndInt
> >
> >	in A,(3)
> >	bit 3,A			;on pressed?
> >	jr Z,Pressed
> >
> >EndInt:
> >	exx
> >	ex AF,AF'
> >	jp $38
> >
> >Pressed:
> >	ld A,(KEY_1)
> >	cp K_ENTER
> >	jr Z,ExitInt
> >
> >	ld HL,$820E
> >	ld DE,$8BB3+10
> >	ld BC,20
> >	ldir
> >	jr EndInt
> >
> >ExitInt:
> >	im 1
> >
> >	jr EndInt
> >
> >
> >Int_RoutEnd:
> >
> >
> >.end
> >
> >
> >----------
> >From: 	Kaus .theman.com[SMTP:jedsmeny@hotmail.com]
> >Sent: 	Sunday, September 20, 1998 5:15 PM
> >To: 	assembly-85@lists.ticalc.org
> >Subject: 	A85: A ROM function
> >
> >
> >Hey!  Anyone know where the functions in ROM are for the eval or evalF
> >lcoations are? or where i could find them?  i couldn't find them in the
> >ti-rom10 text.
> >
> >please! I need help with this!
> >
> >Jonathan Kaus
> >
> >
> >______________________________________________________
> >Get Your Private, Free Email at http://www.hotmail.com
> >
> >
> >
> >
> >begin 600 WINMAIL.DAT
> >M>)\^(B4$`0:0" `$```````!``$``0>0!@`(````Y 0```````#H``$-@ 0`
> >M`@````(``@`!!) &`$@!```!````# ````,``# #````"P`/#@`````"`?\/
> >M`0```%<`````````@2L?I+ZC$!F=;@#=`0]4`@````!A<W-E;6)L>2TX-4!L
> >M:7-T<RYT:6-A;&,N;W)G`%--5% `87-S96UB;'DM.#5 ;&ES=',N=&EC86QC
> >M+F]R9P``'@`", $````%````4TU44 `````>``,P`0```!T```!A<W-E;6)L
> >M>2TX-4!L:7-T<RYT:6-A;&,N;W)G``````,`%0P!`````P#^#P8````>``$P
> >M`0```!\````G87-S96UB;'DM.#5 ;&ES=',N=&EC86QC+F]R9R<```(!"S !
> >M````(@```%--5% Z05-314U"3%DM.#5 3$E35%,N5$E#04Q#+D]21P````,`
> >M`#D`````"P! .@$````"`?8/`0````0````````#PD$!"( '`!@```!)4$TN
> >M36EC<F]S;V9T($UA:6PN3F]T90`Q" $$@ $`& ```%)%.B!!.#4Z($$@4D]-
> >M(&9U;F-T:6]N`,X&`06 `P`.````S@<)`!4`%@`$``8``0`4`0$@@ ,`#@``
> >M`,X'"0`5`!4`.P`0``$`5 $!"8 !`"$````X.$0Y,S4Q,CE$-3%$,C$Q044R
> >M-C0T-#4U,S4T,# P, ##!@$#D 8`, <``!(````+`",```````,`)@``````
> >M"P`I```````#`#8``````$ `.0"@`30+WN6]`1X`< `!````& ```%)%.B!!
> >M.#4Z($$@4D]-(&9U;F-T:6]N``(!<0`!````%@````&]Y=X+$A(UV8E1G1'2
> >MKB9$15-4`````!X`'@P!````!0```%--5% `````'@`?# $````;````<FEC
> >M:&%R9&QE=VES0&-E9&%R8VET>2YN970```,`!A!]0H/H`P`'$&0$```>``@0
> >M`0```&4```!)2$%614%,25143$544U)04D]'4D%-25=23U1%35E314Q&5$A!
> >M5$-/4$E%4U1(14-54E)%3E1-14Y524Y43U1(14-54U1/34U%3E4L5$A%3EE/
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
> >6'@`]``$````%````4D4Z( ````!\5@`'
> >`
> >end
> >
> >
> >
> 
> 
> ______________________________________________________
> Get Your Private, Free Email at http://www.hotmail.com
> 


References: