home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Unsorted BBS Collection
/
thegreatunsorted.tar
/
thegreatunsorted
/
misc
/
ti-ram.txt
< prev
next >
Wrap
Text File
|
1994-11-15
|
8KB
|
179 lines
-----------------------------------------------------------------------------
-----------------------------------------------------------------------------
TI-RAM.TXT A Programmer's Guide to the TI-85 RAM Version 0.5
Copyright (c) 1994 Dan Eble
-----------------------------------------------------------------------------
-----------------------------------------------------------------------------
This document is unrefined, but you have it anyway. Use it how you will.
If you have questions, contact me at Dan.Eble@CommLink.org.
Additions and revisions are welcome.
Feel free to distribute this document in unmodified form.
Table of Interesting Data
─────────────────────────
0681: character lookup table for something
6 0C6B: 05, "xStat"
6 0C71: 05, "yStat"
128 1439: table for calculating transcendental functions
REAL 1F42: bad number
REAL 1F4C: same as 1F42
REAL 1F56: same as 1F42
REAL 1F60: 0
REAL 1F6A: 1
41E5: page 7: pointers to error strings
422B: page 7: error strings
42DD: page 1: pointers to catalog entries for alphabet
112 4DC8: page 1: bitmap similar to menu box
250 4E38: page 1: 124 pointers to menus (indexed by secondary menu type byte)
1878 4F32: page 1: menu data structures (page 1)
1 byte for something
1 byte for number of pointers following
n pointers
5688: page 1: menu items (See listing above)
695C: page 1: mode screen strings (see above)
6D7F: page 7: pointers to BASIC commands in token order
6EFC: page 5: link error strings
6F7D: page 7: pointers to BASIC commands in alphabetical order
70E7: page 7: list of BASIC commands
71B2: page 5: variable type strings
723E: page 1: normal character set (01-E0)
7268: page 5: zoom variable names (Func, Param, Pol, DifEq, ZRCL)
76D4: page 7: pointers to variable names
773E: page 7: variable name strings
7775: page 5: "fnIntErr"
7869: page 7: more pointers to variable names
7936: page 1: character set for menus (00-D7)
7D7A: page 4: system variable and constant names (cannot store to these)
7F4F: page 7: filler FF's
7FFF: page 7: ROM version byte
57h: 3.0A
8Eh: 4.0
3Dh: 6.0
97h: 8.0
Byte 8000: translated scancode of key currently pressed, but
00 if 01BEh (get key) has been called
Byte 8001: translated scancode of key currently pressed
Byte 8002: same as 8001, but FFh is more than one key is pressed
Byte 8003: countdown until key repeat (only runs for arrows and DEL)
Byte 8004: bit 2 set = key down now
Byte 8006: scancode of last key pressed
Byte 8007: contrast (00-1F)
Byte 8008: ?? timer for cursor blink?
Byte 800C: current row of text cursor (0-7)
Byte 800D: current column of text cursor (0-14h)
Byte 800E: current character at cursor position
Word 8074: ? pointer
Byte 8080: counter for "busy" indicator
Byte 8081: bitmap for "busy" indicator
10 8082: 1 Byte type of variable found afterward
1 Byte length of name of variable to locate
8 Bytes of name plus padding (left over from last name)
Word 80C6: pointer to current home-screen input program (untokenized, length-data form)
Word 80C8: pointer to last-entry program (tokenized, length-data form)
also pointer to the top of user memory
Word 80CA: ?
Word 80CC: number of used user memory bytes
add this to (80C8) to find first byte of free memory
Word 80CE: ? pointer
Word 80D0: pointer to Ans
Word 80D2: ? pointer (500E) (page 1. char map?)
Word 80D4: ? pointer (5321) (page 1. menu pointers?)
Word 80D6: ? pointer
168 80DF: text screen memory (8*21 = 168 bytes)
Byte 8187: secondary cursor row
Byte 8188: secondary cursor column
Byte 8189: ??? more secondary data (copied from 8B2F)
Byte 818A: ??? more secondary data (copied from 8358)
Byte 818B: ??? more secondary data (copied from (834B) AND 16)
Byte 818C: data for international character symbol
0 = nothing, 1 = accent, 2 = grave, 3 = circumflex, 4 = dieresis
Word 81BE: memory checksum from 8BF7 to FA6F
Word 81D1: pointer to current menu item
Word 81E1: ? page 1 pointer to a menu structure?
Byte 81E3: \_ info about memory page?, what to do (run code, fetch submenu)
Byte 81E4: / for 81E1?
Word 81E5: pointer to last sub-menu structure (page 1)
one byte for something
one byte for number of pointers to follow
n words for n pointers
Byte 81E7: \_ info for 81E5?
Byte 81E8: /
Word 81ED: ? pointer (81E1)
Word 81F0: pointer to custom pointers
(There's a 09 before the 0F. What do it do?)
Word 81F4: ? pointer to last menu? (look at 5664)
Word 81FC: ? pointer (81F0) (pointer to pointer to custom pointers???)
Word 820B: ? pointer (81E1) (another one??)
40 8254: user menu string buffer -- 5 sets of data (one for each menu key)
1 byte: 00h = not used, 80h = used (on menu)
6 bytes: menu item
1 byte: 00h
827C: buffer for name of last error
Byte 8333: x coordinate of menu text cursor
Byte 8334: y coordinate of menu text cursor
Byte 8337: last error number
8346: A table of bitmapped system data. IY usually points here.
844C: REALS. range vars.
1024 8641: graphics screen memory (64*128/8 = 1024 bytes)
REAL 8A41: 12345
REAL 8A4B: 67890
Word 8A5F: pointer to last-entry code (tokenized data form)
Word 8A61: pointer to code of last program executed
Word 8A6B: secondary text memory (for page-flipping technique?)
Word 8B19: pointer to current home-screen input (untokenized data form)
Word 8B1B: pointer to start of user memory
Word 8B1D: subtract (8B1B) from this to get number of free bytes
Word 8B1F: ? pointer
Word 8B25: pointer to start (end :) ) of first user variable VAT entry
Byte 8B3A: fixed-point decimal place (FFh for floating point)
32 8BB1: custom menu pointers ( 1 byte = ??)
( 1 byte = 0F = # of items)
(15 words = pointers)
( 1 byte = 00)
Word 8BE1: pointer to REAL+10 (what significance?)
Word 8BEB: pointer to one byte before end of VAT (backwards)
Loc FA6F: end of VAT (it's built upside-down)
1024 FC00: real bitmapped video memory
Table of Bitmapped Data
─────────────────────────
(IY+00) or (8346)
bit 3 set: keystroke available
bit 2 set: Degree \_ angle display mode
res: Radian /
(IY+02) or (8348)
bit 7 set: DifEq \
bit 6 set: Param \_ graph
bit 5 set: Pol / modes
bit 4 set: Func /
(IY+05) or (834B)
bit 4 set: use "insert" cursor
bit 3 set: print normal font in inverse color, or XOR menu font with screen
res: print normal font in normal color, or overwrite menu font
bit 1 set: print 7 rows of menu font
res: print 6 rows
(IY+08) or (834E)
bit 0 set: dxNDer \_ method of differentiation
res: dxDer1 /
(IY+0A) and (IY+0B), or (8350) and (8351)
bits 7-6: 11= SphereV \
01= CylV >- vector display modes
00= RectV /
bit 5 set: PolarC \_ coordinate display mode
res: RectC /
bits 4-2: 100= Bin \
010= Oct \_ number
001= Hex / bases
000= Dec /
bits 1-0: 11= Eng \
01= Sci >- number display modes
00= Normal /
(IY+0D) or (8353)
bit 1 set: affect text memory as well as screen
(IY+12) or (8358)
bit 5 set: use "alpha" cursor
bit 4 set: use "Alpha" cursor
bit 3 set: use "2nd" cursor
bit 1 set: there are valid data in the 8-byte buffer at (8078)
bit 0 set: the "busy" indicator is turned on