Adding jumptable calls ROM v1.10, Pass 1: _CUBE Next one to add (backwards) SQUISH.INC: _CKENDLINERR equ 4EA4h ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- 83-ROM.TXT A Programmer's Guide to TI-83 ROM Calls Version 0.2.2 by Henk Poley ----------------------------------------------------------------------------- Known ROM versions: 1.0200, 1.0300, 1.0400, 1.0600, 1.0700, 1.0800, 1.10 ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- Forword ------- Much heard about the idea of making a Ti-83 ROMcall reference. But no one has made it to post one. So I thought:"Let's go for it." And here you see the result. It's not quite finished, not even all 'documented' ROMcalls are documented in this document... :) I will add (and search for descriptions of) al documented ROMcalls myself, but if you know an 'undocumented' one, please mail it to me. Or you know how that strange 'not fully documented' one works, feel free... (preferably in the format prescribed below) mailto: HPoley@DDS.nl version history --------------- ver 0.1 - 5-Oct-2000 - finaly made entries to all ROMcalls in Ti83asm.inc next thing to do: Document them all! ver 0.1.5 - 10-Oct-2000 - about halfway, with adding documentation from www.ti.com/calc and AsmGuru v4 ver 0.2 - 11-Oct-2000 - Finaly added ALL docs, except some of those OPxTOOPy and OPxEXOPy. I think I have to make some sort of table for these. NOTE: didn't do that because they are not after each other in the ROM... ver 0.2.1 - 12-Oct-2000 - Added some of the dozen OPxTOOPy and OPxEXOPy calls. Began with adding jumptable calls. From $4000 there is a jumptable, which jumps to the actual routine. If it seems that all calls are pointing to the same value in all ROM versions, you will be able to sqeeze some more speed out of your program. (17 clock less) And I've heard that some calls are even jumping to another call! So: jump, jump, [jump,..,] routine. ver 0.2.2 - 18-Oct-2000 - Began with adding entrys from Squish.inc Whowww 'thousends' of new ROMcalls!!! yay :( I'm beginning to ask why I began with this... Well I'm off for holidays for a week, so some time to 'recover' (Aargh, no PC/TI for 1 week :) I've dicided to leave all the _CPYxx's for later... Format of this document ----------------------- Each of the functions in this document has a header like the one shown below. (All adresses are in hex, unless...) +-Name of function described -------+-------+-------+-------+-------+-------+ | Address called | 1.02 | 1.03 | 1.04 | 1.06 | 1.07 | 1.08 | 1.10 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: output: destroid: description: The Name field holds the name of the function, and the next fields hold the address to call for the different ROM versions. Sometimes some of the fields are empty, this means the address of the function has not been found for that ROM version. If you find it please mail me the information. For most of the functions there will be an explanation of the function right below the header. The explanation will normally tell you how to call this function, what it does, and which registers it uses. The Ti-83 ROM is located from $0000 to $7FFF, and consist of 16x16Kb ROM-Pages. Which are swapped via port 2. Can somebody tell me MORE about this ??? Or even make an "Ti-83 ports reference" I know that there is a new ROM version 1.1001, but I think it has only a new number because Ti made a new case to it. I'll have to check that. (binary compare of ROM dumps) Questions, questions... ----------------------- can somebody tell me which value RPUSHREALO1 has (0,8,10h,18h,..,38h) RST RPUSHREALO1 ; SAVE NAME Has somebody located where IS_NIB lays around. (somewhere in _exec_assembly). It checks if token/ASCII is a hex-number (0-9,A-F). hmpf, the routine uses the error-handler... So 'never mind'. Are port 2 and 4 ("ROM page changing" and "Interupt control") used the same way as on the Ti-82??? - I've learned from ZMBOOST, that setting port 4 to 0 (xor a / out (4),a) doesn't freeze your calc, as on the Ti-82. So they are not exactly the same. What is the equate of STRCAT (from the Ti-documentation)? I think this will be handy in a C-compiler (Asm program also, naturalement) Give me some docs about the memory handling routines, _INSTERTMEM(A), _DELETEMEM(A), _CREATEPICT..var..prgm.., etc. Anyways, can somebody tell me how all the new ROMcalls in Squish.inc work? Most of them are really new to me... :( +========================+ |The ROM calls themselves| +========================+ +- Startup ---------+-------+-------+-------+-------+-------+-------+-------+ | | 0000 | 0000 | 0000 | 0000 | 0000 | 0000 | 0000 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: none result: This is the place where the processor starts executing instructions, after it has been reseted, this is almost always because of power- failor, e.g. batteries taken out. !!!CALLING THIS ROUTINE MEANS RESETING YOUR CALC!!! +- LD_HL_MHL (1) ---+-------+-------+-------+-------+-------+-------+-------+ | UNDOCUMENTED | ???? | ???? | ???? | ???? | 0033 | ???? | 0033 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: Adress in HL output: A = (HL) L = (HL) \ which means, H = (HL+1) / HL = the two bytes at (HL) and (HL+1) destroid: A is now (HL) description: Load 2 bytes in HL from (HL) and (HL+1) Actual code of ROM v1.10 (and the others?): ld a,(hl) inc hl ld h,(hl) ld l,a ret NOTE: There is a call to this a routine at 4000 (all ROM-versions). But I think this one is faster, at least no ROMpage changing. Which isn't the case in ROM 1.10 +- LD_HL_MHL (2) ---+ +- _ldHLind --------+-------+-------+-------+-------+-------+-------+-------+ | | 4000 | 4000 | 4000 | 4000 | 4000 | 4000 | 4000 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ | Call to: | ???? | ???? | ???? | ???? | 0033 | ???? | 0033 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: Adress in HL output: A = (HL) \ L = (HL) > which means, HL = the two bytes at (HL) H = (HL+1) / destroid: A is now (HL) see LD_HL_MHL (1) at $0033 for further instructions. +- _cphlde ---------+-------+-------+-------+-------+-------+-------+-------+ | | 4004 | 4004 | 4004 | 4004 | 4004 | 4004 | 4004 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ | Call to: | ???? | ???? | ???? | ???? | ???? | ???? | 010F | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: HL = number (1) DE = number (2) output: carry flag is set if ???? HL = DE ?? or ?? HL != DE ???? destroid: ???? description: Non destructive compare of HL & BC: SBC HL,BC +- UNPACK_HL -------+-------+-------+-------+-------+-------+-------+-------+ | UNDOCUMENTED | 4008 | 4008 | 4008 | 4008 | 4008 | 4008 | 4008 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ | Call to: | ???? | ???? | ???? | ???? | ???? | ???? | 011B | +-------------------+-------+-------+-------+-------+-------+-------+-------+ Input: HL = value to unpack from Result: A = value unpacked from HL destroid: HL = changed, to allow unpacking of next number (?? HL incremented ??) Description: Same as on the TI-82 This function "unpacks" one number from HL. It works from right to left, unpacking the one-number first, then the 10-number and so on. It is used to convert HL into characters that can be displayed using the standard functions in decimal form. This function is used by D_HL_DECI. (_dispHL on Ti-83) NOTE: this function destroys the contents of HL. Example: ld de,StringPlace+4 ;Location to store string ld b,5 ;A word fits into 5 characters ConvLoop: call UNPACK_HL ;Unpack the next number add a,'0' ;Now A is the CHARACTER for this value ld (de),a ;Put that character into the string dec de ;Point DE to the next byte in the string djnz ConvLoop ;Convert all the 5 characters +- _divHLbyA -------+-------+-------+-------+-------+-------+-------+-------+ | | 400C | 400C | 400C | 400C | 400C | 400C | 400C | +-------------------+-------+-------+-------+-------+-------+-------+-------+ | Call to: | ???? | ???? | ???? | ???? | ???? | ???? | 011D | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: HL = divident, number to be divided A = divisor, number by which to divide output: HL = HL / A A = remainder destroid: ???? description: HL/A --> divide HL by A +- ???? ------------+-------+-------+-------+-------+-------+-------+-------+ | UNDOCUMENTED | ???? | ???? | ???? | ???? | ???? | ???? | 4010 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ | Call to: | ???? | ???? | ???? | ???? | ???? | ???? | 01CA | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: output: destroid: description: +- GET_KEY ---------+-------+-------+-------+-------+-------+-------+-------+ | UNDOCUMENTED | 4014 | 4014 | 4014 | 4014 | 4014 | 4014 | 4014 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ | Call to: | ???? | ???? | ???? | ???? | ???? | ???? | 026D | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: none output: A = key pressed OR 0 if no key pressed destroid: ???? the return values: G_NONE = $00 G_DOWN = $01 G_LEFT = $02 G_RIGHT = $03 G_UP = $04 G_ENTER = $09 G_PLUS = $0A G_MINUS = $0B G_TIMES = $0C G_DIV = $0D G_CARROT = $0E G_CLEAR = $0F G_NEG = $11 G_3 = $12 G_6 = $13 G_9 = $14 G_PARENR = $15 G_TAN = $16 G_VARS = $17 G_PERIOD = $19 G_2 = $1A G_5 = $1B G_8 = $1C G_PARENL = $1D G_COS = $1E G_PRGM = $1F G_STAT = $20 G_0 = $21 G_1 = $22 G_4 = $23 G_7 = $24 G_COMMA = $25 G_SIN = $26 G_MATRIX = $27 G_XTO = $28 G_ON = $29 G_STO = $2A G_LN = $2B G_LOG = $2C G_SQR = $2D G_INVE = $2E G_MATH = $2F G_ALPHA = $30 G_GRAPH = $31 G_TRACE = $32 G_ZOOM = $33 G_WINDOW = $34 G_YEDIT = $35 G_2ND = $36 G_SECOND = $36 G_MODE = $37 G_DEL = $38 +- ???? ------------+-------+-------+-------+-------+-------+-------+-------+ | UNDOCUMENTED | ???? | ???? | ???? | ???? | ???? | ???? | 4018 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ | JP to: | ???? | ???? | ???? | ???? | ???? | ???? | 02A6 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: output: destroid: description: +- ???? ------------+-------+-------+-------+-------+-------+-------+-------+ | UNDOCUMENTED | ???? | ???? | ???? | ???? | ???? | ???? | 401B | +-------------------+-------+-------+-------+-------+-------+-------+-------+ | JP to: | ???? | ???? | ???? | ???? | ???? | ???? | 02B0 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: output: destroid: description: +- ???? ------------+-------+-------+-------+-------+-------+-------+-------+ | UNDOCUMENTED | ???? | ???? | ???? | ???? | ???? | ???? | 401E | +-------------------+-------+-------+-------+-------+-------+-------+-------+ | JP to: | ???? | ???? | ???? | ???? | ???? | ???? | 02C4 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: output: destroid: description: +- ???? ------------+-------+-------+-------+-------+-------+-------+-------+ | UNDOCUMENTED | ???? | ???? | ???? | ???? | ???? | ???? | 4021 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ | JP to: | ???? | ???? | ???? | ???? | ???? | ???? | 0383 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: output: destroid: description: +- ???? ------------+-------+-------+-------+-------+-------+-------+-------+ | UNDOCUMENTED | ???? | ???? | ???? | ???? | ???? | ???? | 4024 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ | JP to: | ???? | ???? | ???? | ???? | ???? | ???? | 043A | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: output: destroid: description: +- ???? ------------+-------+-------+-------+-------+-------+-------+-------+ | UNDOCUMENTED | ???? | ???? | ???? | ???? | ???? | ???? | 4027 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ | JP to: | ???? | ???? | ???? | ???? | ???? | ???? | 043B | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: output: destroid: description: +- ???? ------------+-------+-------+-------+-------+-------+-------+-------+ | UNDOCUMENTED | ???? | ???? | ???? | ???? | ???? | ???? | 402A | +-------------------+-------+-------+-------+-------+-------+-------+-------+ | Call to: | ???? | ???? | ???? | ???? | ???? | ???? | 045A | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: output: destroid: description: +- ???? ------------+-------+-------+-------+-------+-------+-------+-------+ | UNDOCUMENTED | ???? | ???? | ???? | ???? | ???? | ???? | 402E | +-------------------+-------+-------+-------+-------+-------+-------+-------+ | Call to: | ???? | ???? | ???? | ???? | ???? | ???? | 0473 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: output: destroid: description: +- ???? ------------+-------+-------+-------+-------+-------+-------+-------+ | UNDOCUMENTED | ???? | ???? | ???? | ???? | ???? | ???? | 4032 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ | Call to: | ???? | ???? | ???? | ???? | ???? | ???? | 0497 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: output: destroid: description: +- _A2POINTHLIND ---+-------+-------+-------+-------+-------+-------+-------+ | SQUISH.INC | 4036 | 4036 | 4036 | 4036 | 4036 | 4036 | 4036 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ | Call to: | ???? | ???? | ???? | ???? | ???? | ???? | 057D | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: ???? output: ???? destroid: ???? description: ???? +- ???? ------------+-------+-------+-------+-------+-------+-------+-------+ | UNDOCUMENTED | ???? | ???? | ???? | ???? | ???? | ???? | 403A | +-------------------+-------+-------+-------+-------+-------+-------+-------+ | Call to: | ???? | ???? | ???? | ???? | ???? | ???? | 057E | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: output: destroid: description: +- ???? ------------+-------+-------+-------+-------+-------+-------+-------+ | UNDOCUMENTED | ???? | ???? | ???? | ???? | ???? | ???? | 403E | +-------------------+-------+-------+-------+-------+-------+-------+-------+ | Call to: | ???? | ???? | ???? | ???? | ???? | ???? | 0585 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: output: destroid: description: +- ???? ------------+-------+-------+-------+-------+-------+-------+-------+ | UNDOCUMENTED | ???? | ???? | ???? | ???? | ???? | ???? | 4042 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ | Call to: | ???? | ???? | ???? | ???? | ???? | ???? | 0590 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: output: destroid: description: +- ???? ------------+-------+-------+-------+-------+-------+-------+-------+ | UNDOCUMENTED | ???? | ???? | ???? | ???? | ???? | ???? | 4046 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ | Call to: | ???? | ???? | ???? | ???? | ???? | ???? | 0599 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: output: destroid: description: +- ???? ------------+-------+-------+-------+-------+-------+-------+-------+ | UNDOCUMENTED | ???? | ???? | ???? | ???? | ???? | ???? | 404A | +-------------------+-------+-------+-------+-------+-------+-------+-------+ | Call to: | ???? | ???? | ???? | ???? | ???? | ???? | 05AC | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: output: destroid: description: +- ???? ------------+-------+-------+-------+-------+-------+-------+-------+ | UNDOCUMENTED | ???? | ???? | ???? | ???? | ???? | ???? | 404E | +-------------------+-------+-------+-------+-------+-------+-------+-------+ | Call to: | ???? | ???? | ???? | ???? | ???? | ???? | 05BD | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: output: destroid: description: +- ???? ------------+-------+-------+-------+-------+-------+-------+-------+ | UNDOCUMENTED | ???? | ???? | ???? | ???? | ???? | ???? | 4052 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ | Call to: | ???? | ???? | ???? | ???? | ???? | ???? | 05D2 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: output: destroid: description: +- ???? ------------+-------+-------+-------+-------+-------+-------+-------+ | UNDOCUMENTED | ???? | ???? | ???? | ???? | ???? | ???? | 4056 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ | Call to: | ???? | ???? | ???? | ???? | ???? | ???? | 05E4 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: output: destroid: description: +- ???? ------------+-------+-------+-------+-------+-------+-------+-------+ | UNDOCUMENTED | ???? | ???? | ???? | ???? | ???? | ???? | 405A | +-------------------+-------+-------+-------+-------+-------+-------+-------+ | Call to: | ???? | ???? | ???? | ???? | ???? | ???? | 0603 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: output: destroid: description: ?? Same as 405A ?? +- ???? ------------+-------+-------+-------+-------+-------+-------+-------+ | UNDOCUMENTED | ???? | ???? | ???? | ???? | ???? | ???? | 405E | +-------------------+-------+-------+-------+-------+-------+-------+-------+ | Call to: | ???? | ???? | ???? | ???? | ???? | ???? | 0603 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: output: destroid: description: ?? Same as 405A ?? +- ???? ------------+-------+-------+-------+-------+-------+-------+-------+ | UNDOCUMENTED | ???? | ???? | ???? | ???? | ???? | ???? | 4062 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ | Call to: | ???? | ???? | ???? | ???? | ???? | ???? | 073C | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: output: destroid: description: +- _lcd_busy -------+-------+-------+-------+-------+-------+-------+-------+ | | 4066 | 4066 | 4066 | 4066 | 4066 | 4066 | 4066 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ | Call to: | ???? | ???? | ???? | ???? | ???? | ???? | 07DE | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: none output: returns after ???? T-states destroid: none description: The Z80 is much faster than LCD-driver-chip. So you have to built in a delay between writes. TIP: _lcd_busy waists bytes, so use the next one instaid: EX SP,(HL) EX SP,(HL) This is with 38 T-states a long enough delay and is 1 byte smaller than a "call _lcd_busy". And it won't hurt any register. +- _MIN ------------+-------+-------+-------+-------+-------+-------+-------+ | | 406A | 406A | 406A | 406A | 406A | 406A | 406A | +-------------------+-------+-------+-------+-------+-------+-------+-------+ | Call to: | ???? | ???? | ???? | ???? | ???? | ???? | 087B | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: OP1,OP2 output: OP1 destroid: ???? description: min(OP1,OP2) --Well thats clear hûh? NOT-- NOTE: Beware of the error-handler +- _MAX ------------+-------+-------+-------+-------+-------+-------+-------+ | | 406E | 406E | 406E | 406E | 406E | 406E | 406E | +-------------------+-------+-------+-------+-------+-------+-------+-------+ | Call to: | ???? | ???? | ???? | ???? | ???? | ???? | 0884 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: OP1,OP1 output: OP1 destroid: ???? description: max(OP1,OP2) NOTE: Beware of the error-handler +- ???? ------------+-------+-------+-------+-------+-------+-------+-------+ | UNDOCUMENTED | ???? | ???? | ???? | ???? | ???? | ???? | 4072 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ | Call to: | ???? | ???? | ???? | ???? | ???? | ???? | 0892 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: output: destroid: description: +- _INTGR ----------+-------+-------+-------+-------+-------+-------+-------+ | | 4076 | 4076 | 4076 | 4076 | 4076 | 4076 | 4076 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ | Call to: | ???? | ???? | ???? | ???? | ???? | ???? | 089A | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: OP1 output: OP1 destroid: ???? description: intgr(OP1) NOTE: Beware of the error-handler +- _TRUNC ----------+-------+-------+-------+-------+-------+-------+-------+ | | 407A | 407A | 407A | 407A | 407A | 407A | 407A | +-------------------+-------+-------+-------+-------+-------+-------+-------+ | Call to: | ???? | ???? | ???? | ???? | ???? | ???? | 08B0 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: OP1 output: OP1 destroid: ???? description: ipart(OP1) = interger part of OP1 NOTE: Beware of the error-handler +- _INVSUB ---------+-------+-------+-------+-------+-------+-------+-------+ | | 407E | 407E | 407E | 407E | 407E | 407E | 407E | +-------------------+-------+-------+-------+-------+-------+-------+-------+ | Call to: | ???? | ???? | ???? | ???? | ???? | ???? | 08B4 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: OP1,OP2 output: OP1 destroid: ???? description: OP2 - OP1 NOTE: Beware of the error-handler +- _TIMES2 ---------+-------+-------+-------+-------+-------+-------+-------+ | | 4082 | 4082 | 4082 | 4082 | 4082 | 4082 | 4082 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ | Call to: | ???? | ???? | ???? | ???? | ???? | ???? | 08B9 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: OP1 output: OP1 destroid: ???? description: OP1 times 2 (OP1 * 2 -or- OP1 + OP1) NOTE: Beware of the error-handler +- _PLUS1 ----------+-------+-------+-------+-------+-------+-------+-------+ | | 4086 | 4086 | 4086 | 4086 | 4086 | 4086 | 4086 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ | Call to: | ???? | ???? | ???? | ???? | ???? | ???? | 08BC | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: OP1 output: OP1 destroid: ???? description: OP1 + 1 NOTE: Beware of the error-handler +- _MINUS1 ---------+-------+-------+-------+-------+-------+-------+-------+ | | 408A | 408A | 408A | 408A | 408A | 408A | 408A | +-------------------+-------+-------+-------+-------+-------+-------+-------+ | Call to: | ???? | ???? | ???? | ???? | ???? | ???? | 08CB | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: OP1 output: OP1 destroid: ???? description: OP1 - 1 NOTE: Beware of the error-handler +- _FPSUB ----------+-------+-------+-------+-------+-------+-------+-------+ | | 408E | 408E | 408E | 408E | 408E | 408E | 408E | +-------------------+-------+-------+-------+-------+-------+-------+-------+ | Call to: | ???? | ???? | ???? | ???? | ???? | ???? | 08CE | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: OP1,OP2 output: OP1 destroid: ???? description: OP1 - OP2 NOTE: Beware of the error-handler +- _FPADD ----------+-------+-------+-------+-------+-------+-------+-------+ | | 4092 | 4092 | 4092 | 4092 | 4092 | 4092 | 4092 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ | Call to: | ???? | ???? | ???? | ???? | ???? | ???? | 08D5 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: OP1,OP2 output: OP1 destroid: ???? description: OP1 + OP2 NOTE: Beware of the error-handler +- _DTOR -----------+-------+-------+-------+-------+-------+-------+-------+ | | 4096 | 4096 | 4096 | 4096 | 4096 | 4096 | 4096 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ | Call to: | ???? | ???? | ???? | ???? | ???? | ???? | 09A2 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: OP1 = degree float. number output: OP1 = rad(OP1) destroid: ???? description: Make OP1 to radians (OP1 -> rads) NOTE: Beware of the error-handler +- _RTOD -----------+-------+-------+-------+-------+-------+-------+-------+ | | 409A | 409A | 409A | 409A | 409A | 409A | 409A | +-------------------+-------+-------+-------+-------+-------+-------+-------+ | Call to: | ???? | ???? | ???? | ???? | ???? | ???? | 09AB | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: OP1 = radian float. number output: OP1 = dec(OP1) destroid: ???? description: Make OP1 to degrees (OP1 -> degrees) NOTE: Beware of the error-handler +- _CUBE -----------+-------+-------+-------+-------+-------+-------+-------+ | | 409E | 409E | 409E | 409E | 409E | 409E | 409E | +-------------------+-------+-------+-------+-------+-------+-------+-------+ | Call to: | ???? | ???? | ???? | ???? | ???? | ???? | 09B4 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: OP1 = Number to be "cube'd" output: OP1 = OP1^3 destroid: ???? description: OP1 is OP1^3 NOTE: Beware of the error-handler +- _TIMESPT5 -------+-------+-------+-------+-------+-------+-------+-------+ | | 40A2 | 40A2 | 40A2 | 40A2 | 40A2 | 40A2 | 40A2 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ | Call to: | ???? | ???? | ???? | ???? | ???? | ???? | 09B9 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: OP1 output: OP1 destroid: ???? description: OP1 * 1/2 -or- OP * .5 NOTE: Beware of the error-handler +- _FPSQUARE -------+-------+-------+-------+-------+-------+-------+-------+ | | 40A6 | 40A6 | 40A6 | 40A6 | 40A6 | 40A6 | 40A6 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ | Call to: | ???? | ???? | ???? | ???? | ???? | ???? | 09C1 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: OP1 output: OP1 destroid: ???? description: OP1 = SQRT(OP1) NOTE: Beware of the error-handler +- _FPMULT ---------+-------+-------+-------+-------+-------+-------+-------+ | | 40AA | 40AA | 40AA | 40AA | 40AA | 40AA | 40AA | +-------------------+-------+-------+-------+-------+-------+-------+-------+ | Call to: | ???? | ???? | ???? | ???? | ???? | ???? | 09C2 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: OP1,OP2 output: OP1 destroid: ???? description: OP1 * OP2 NOTE: Beware of the error-handler +- ???? ------------+-------+-------+-------+-------+-------+-------+-------+ | UNDOCUMENTED | ???? | ???? | ???? | ???? | ???? | ???? | 40AE | +-------------------+-------+-------+-------+-------+-------+-------+-------+ | Call to: | ???? | ???? | ???? | ???? | ???? | ???? | 0AB9 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: output: destroid: description: +- _INVOP1SC -------+-------+-------+-------+-------+-------+-------+-------+ | | 40B2 | 40B2 | 40B2 | 40B2 | 40B2 | 40B2 | 40B2 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ | Call to: | ???? | ???? | ???? | ???? | ???? | ???? | 0AFB | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: OP1 output: OP1 destroid: ???? description: OP1 = -OP1 ?? And returns the carry ?? NOTE: Beware of the error-handler +- _INVOP1S --------+-------+-------+-------+-------+-------+-------+-------+ | | 40B6 | 40B6 | 40B6 | 40B6 | 40B6 | 40B6 | 40B6 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ | Call to: | ???? | ???? | ???? | ???? | ???? | ???? | 0AFE | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: OP1 output: OP1 destroid: ???? description: OP1 = -OP1 (NOT: negate OP1 !!!) NOTE: Beware of the error-handler +- _INVOP2S --------+-------+-------+-------+-------+-------+-------+-------+ | | 40BA | 40BA | 40BA | 40BA | 40BA | 40BA | 40BA | +-------------------+-------+-------+-------+-------+-------+-------+-------+ | Call to: | ???? | ???? | ???? | ???? | ???? | ???? | 0B0E | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: OP2 output: OP2 destroid: ???? description: OP2 = -OP2 NOTE: Beware of the error-handler +- _FRAC -----------+-------+-------+-------+-------+-------+-------+-------+ | | 40BE | 40BE | 40BE | 40BE | 40BE | 40BE | 40BE | +-------------------+-------+-------+-------+-------+-------+-------+-------+ | Call to: | ???? | ???? | ???? | ???? | ???? | ???? | 0B24 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: OP1 output: OP1 destroid: ???? description: fpart(OP1), OP1 = floating part (mantisse) of OP1 NOTE: Beware of the error-handler +- _FPRECIP --------+-------+-------+-------+-------+-------+-------+-------+ | | 40C2 | 40C2 | 40C2 | 40C2 | 40C2 | 40C2 | 40C2 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ | Call to: | ???? | ???? | ???? | ???? | ???? | ???? | 0B7E | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: OP1 output: OP1 = 1 / OP1 destroid: ???? description: reciproke of OP1 => 1/OP1 => OP1^-1 NOTE: Beware of the error-handler +- _FPDIV ----------+-------+-------+-------+-------+-------+-------+-------+ | | 40C6 | 40C6 | 40C6 | 40C6 | 40C6 | 40C6 | 40C6 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ | Call to: | ???? | ???? | ???? | ???? | ???? | ???? | 0B82 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: OP1,OP2 output: OP1 = OP1 / OP2 destroid: ???? description: divide OP1 by OP2 NOTE: Beware of the error-handler +- _SQROOT ---------+-------+-------+-------+-------+-------+-------+-------+ | | 40CA | 40CA | 40CA | 40CA | 40CA | 40CA | 40CA | +-------------------+-------+-------+-------+-------+-------+-------+-------+ | Call to: | ???? | ???? | ???? | ???? | ???? | ???? | 0C55 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: OP1 output: OP1 destroid: ???? description: sqrt(OP1) => Square root of OP1 NOTE: Beware of the error-handler +- _RNDGUARD -------+-------+-------+-------+-------+-------+-------+-------+ | | 40CE | 40CE | 40CE | 40CE | 40CE | 40CE | 40CE | +-------------------+-------+-------+-------+-------+-------+-------+-------+ | Call to: | ???? | ???? | ???? | ???? | ???? | ???? | 0D30 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: OP1 output: OP1 destroid: ???? description: round(OP1) to ten digits NOTE: Beware of the error-handler +- ???? ------------+-------+-------+-------+-------+-------+-------+-------+ | UNDOCUMENTED | ???? | ???? | ???? | ???? | ???? | ???? | 40D2 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ | Call to: | ???? | ???? | ???? | ???? | ???? | ???? | 0D4A | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: output: destroid: description: +- _INT ------------+-------+-------+-------+-------+-------+-------+-------+ | | 40D6 | 40D6 | 40D6 | 40D6 | 40D6 | 40D6 | 40D6 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ | Call to: | ???? | ???? | ???? | ???? | ???? | ???? | 0D53 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: OP1 output: OP1 destroid: ???? description: int(OP1) NOTE: Beware of the error-handler +- _ROUND ----------+-------+-------+-------+-------+-------+-------+-------+ | | 40DA | 40DA | 40DA | 40DA | 40DA | 40DA | 40DA | +-------------------+-------+-------+-------+-------+-------+-------+-------+ | Call to: | ???? | ???? | ???? | ???? | ???? | ???? | 0D55 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: OP1 = number D = number of decimals to keep output: OP1 destroid: ???? description: Round(OP1) to D decimal places NOTE: Beware of the error-handler +- _LNX ------------+-------+-------+-------+-------+-------+-------+-------+ | | 40DE | 40DE | 40DE | 40DE | 40DE | 40DE | 40DE | +-------------------+-------+-------+-------+-------+-------+-------+-------+ | Call to: | ???? | ???? | ???? | ???? | ???? | ???? | 0DC9 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: OP1 output: OP1 = ln(OP1) destroid: ???? description: ln(OP1) NOTE: Beware of the error-handler +- _LOGX -----------+-------+-------+-------+-------+-------+-------+-------+ | | 40E2 | 40E2 | 40E2 | 40E2 | 40E2 | 40E2 | 40E2 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ | Call to: | ???? | ???? | ???? | ???? | ???? | ???? | 0DE2 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: OP1 output: OP1 destroid: ???? description: log(OP1) => logarithm of OP1 NOTE: Beware of the error-handler +- ???? ------------+-------+-------+-------+-------+-------+-------+-------+ | UNDOCUMENTED | ???? | ???? | ???? | ???? | ???? | ???? | 40E6 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ | Call to: | ???? | ???? | ???? | ???? | ???? | ???? | 0F1B | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: output: destroid: description: +- _ETOX -----------+-------+-------+-------+-------+-------+-------+-------+ | | 40EA | 40EA | 40EA | 40EA | 40EA | 40EA | 40EA | +-------------------+-------+-------+-------+-------+-------+-------+-------+ | Call to: | ???? | ???? | ???? | ???? | ???? | ???? | 0FBB | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: OP1 = Number utput: OP1 = e^OP1 destroid: ???? description: e^OP1 => natural logarithm of OP1 NOTE: Beware of the error-handler +- _TENX -----------+-------+-------+-------+-------+-------+-------+-------+ | | 40EE | 40EE | 40EE | 40EE | 40EE | 40EE | 40EE | +-------------------+-------+-------+-------+-------+-------+-------+-------+ | Call to: | ???? | ???? | ???? | ???? | ???? | ???? | 0FC5 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: OP1 output: OP1 = 10^OP1 destroid: ???? description: 10^OP1 NOTE: Beware of the error-handler +- ???? ------------+-------+-------+-------+-------+-------+-------+-------+ | UNDOCUMENTED | ???? | ???? | ???? | ???? | ???? | ???? | 40F2 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ | Call to: | ???? | ???? | ???? | ???? | ???? | ???? | 10DB | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: output: destroid: description: +- _SIN ------------+-------+-------+-------+-------+-------+-------+-------+ | | 40F6 | 40F6 | 40F6 | 40F6 | 40F6 | 40F6 | 40F6 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ | Call to: | ???? | ???? | ???? | ???? | ???? | ???? | 10DF | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: OP1 = Number output: OP1 = sin(OP1) destroid: ???? description: Sinus of OP1 NOTE: Beware of the error-handler +- _COS ------------+-------+-------+-------+-------+-------+-------+-------+ | | 40FA | 40FA | 40FA | 40FA | 40FA | 40FA | 40FA | +-------------------+-------+-------+-------+-------+-------+-------+-------+ | Call to: | ???? | ???? | ???? | ???? | ???? | ???? | 10E3 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: OP1 = Number output: OP1 = cos(OP1) destroid: ???? description: Cosinus of OP1 NOTE: Beware of the error-handler +- _TAN ------------+-------+-------+-------+-------+-------+-------+-------+ | | 40FE | 40FE | 40FE | 40FE | 40FE | 40FE | 40FE | +-------------------+-------+-------+-------+-------+-------+-------+-------+ | Call to: | ???? | ???? | ???? | ???? | ???? | ???? | 10E7 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: OP1 = Number output: OP1 = tan(OP1) destroid: ???? description: Tangens of OP1 NOTE: Beware of the error-handler +- _TANH -----------+-------+-------+-------+-------+-------+-------+-------+ | | 4106 | 4106 | 4106 | 4106 | 4106 | 4106 | 4106 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: OP1 = Number output: OP1 = tanh(OP1) destroid: ???? description: Tangens hyperbolicus of OP1 NOTE: Beware of the error-handler +- _COSH -----------+-------+-------+-------+-------+-------+-------+-------+ | | 410A | 410A | 410A | 410A | 410A | 410A | 410A | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: OP1 = Number output: OP1 = cosh(OP1) destroid: ???? description: Cosinus hyperbolicus of OP1 NOTE: Beware of the error-handler +- _SINH -----------+-------+-------+-------+-------+-------+-------+-------+ | | 410E | 410E | 410E | 410E | 410E | 410E | 410E | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: OP1 = Number output: OP1 = sinh(OP1) destroid: ???? description: Sinus hyperbolicus of OP1 NOTE: Beware of the error-handler +- _ACOS -----------+-------+-------+-------+-------+-------+-------+-------+ | | 4122 | 4122 | 4122 | 4122 | 4122 | 4122 | 4122 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: OP1 = Number output: OP1 = inv cos(OP1) destroid: ???? description: ArcCosinus of OP1 NOTE: Beware of the error-handler +- _ATAN -----------+-------+-------+-------+-------+-------+-------+-------+ | | 4126 | 4126 | 4126 | 4126 | 4126 | 4126 | 4126 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: OP1 = Number output: OP1 = inv tan(OP1) destroid: ???? description: ArcTangens of OP1 NOTE: Beware of the error-handler +- _ASIN -----------+-------+-------+-------+-------+-------+-------+-------+ | | 412A | 412A | 412A | 412A | 412A | 412A | 412A | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: OP1 = Number output: OP1 = inv sin(OP1) destroid: ???? description: ArcSinus of OP1 NOTE: Beware of the error-handler +- _ATANH ----------+-------+-------+-------+-------+-------+-------+-------+ | | 4132 | 4132 | 4132 | 4132 | 4132 | 4132 | 4132 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: OP1 output: OP1 destroid: ???? description: ArcTanh(OP1) Whateveritmaybe NOTE: Beware of the error-handler +- _ASINH ----------+-------+-------+-------+-------+-------+-------+-------+ | | 4136 | 4136 | 4136 | 4136 | 4136 | 4136 | 4136 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: OP1 output: OP1 destroid: ???? description: ArcSinh(OP1) NOTE: Beware of the error-handler +- _ACOSH ----------+-------+-------+-------+-------+-------+-------+-------+ | | 413A | 413A | 413A | 413A | 413A | 413A | 413A | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: OP1 output: OP1 destroid: ???? description: ArcCosh(OP1) NOTE: Beware of the error-handler +- _PTOR -----------+-------+-------+-------+-------+-------+-------+-------+ | | 413E | 413E | 413E | 413E | 413E | 413E | 413E | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: OP1,OP2 output: ?? OP1 ?? destroid: ???? description: (OP1,OP2) pol>rect NOTE: Beware of the error-handler +- _RTOP -----------+-------+-------+-------+-------+-------+-------+-------+ | | 4142 | 4142 | 4142 | 4142 | 4142 | 4142 | 4142 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: OP1,OP2 output: ?? OP1 ?? destroid: ???? description: (OP1,OP2) rect,pol NOTE: Beware of the error-handler +- _CKOP1REAL ------+-------+-------+-------+-------+-------+-------+-------+ | | 414E | 414E | 414E | 414E | 414E | 414E | 414E | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: OP1 output: A = object type of OP1 Z-flag = set, if type is 'real' destroid: ???? description: extract object type from OP1 into A +- _ANGLE ----------+-------+-------+-------+-------+-------+-------+-------+ | | 4152 | 4152 | 4152 | 4152 | 4152 | 4152 | 4152 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: ???? output: ???? destroid: ???? description: ???? +- _OP3TOOP4 -------+-------+-------+-------+-------+-------+-------+-------+ | | 416A | 416A | 416A | 416A | 416A | 416A | 416A | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: OP3 output: OP4 destroid: ???? description: OP4 = OP3 note: error-handler? +- _CPOP1OP2 -------+-------+-------+-------+-------+-------+-------+-------+ | | 4166 | 4166 | 4166 | 4166 | 4166 | 4166 | 4166 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: OP1,OP2 output: carry = set : OP1 < OP2 = not set : OP1 >= OP2 zero-flag = set : OP1 = OP2 destroid: ???? description: Non destructive compare of OP1 and OP2 => OP1 == OP2 NOTE: Beware of the error-handler +- _OP1TOOP4 -------+-------+-------+-------+-------+-------+-------+-------+ | | 416E | 416E | 416E | 416E | 416E | 416E | 416E | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: OP1 output: OP4 destroid: ???? description: OP4 = OP1 +- _OP2TOOP4 -------+-------+-------+-------+-------+-------+-------+-------+ | | 4172 | 4172 | 4172 | 4172 | 4172 | 4172 | 4172 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: OP2 output: OP4 destroid: ???? description: OP4 = OP2 +- _OP4TOOP2 -------+-------+-------+-------+-------+-------+-------+-------+ | | 4176 | 4176 | 4176 | 4176 | 4176 | 4176 | 4176 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: OP4 output: OP2 destroid: ???? description: OP4 = OP2 +- _OP3TOOP2 -------+-------+-------+-------+-------+-------+-------+-------+ | | 417A | 417A | 417A | 417A | 417A | 417A | 417A | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: OP3 output: OP3 destroid: ???? description: OP2 = OP3 +- _OP1TOOP3 -------+-------+-------+-------+-------+-------+-------+-------+ | | 417E | 417E | 417E | 417E | 417E | 417E | 417E | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: OP1 output: OP3 destroid: ???? description: OP3 = OP1 +- _OP5TOOP2 -------+-------+-------+-------+-------+-------+-------+-------+ | | 4182 | 4182 | 4182 | 4182 | 4182 | 4182 | 4182 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: OP2 output: OP5 destroid: ???? description: OP2 = OP5 +- _OP5TOOP6 -------+-------+-------+-------+-------+-------+-------+-------+ | | 4186 | 4186 | 4186 | 4186 | 4186 | 4186 | 4186 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: OP5 output: OP6 destroid: ???? description: OP6 = OP5 +- _OP5TOOP4 -------+-------+-------+-------+-------+-------+-------+-------+ | | 418A | 418A | 418A | 418A | 418A | 418A | 418A | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: OP5 output: OP4 destroid: ???? description: OP4 = OP5 +- _OP1TOOP2 -------+-------+-------+-------+-------+-------+-------+-------+ | | 418E | 418E | 418E | 418E | 418E | 418E | 418E | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: OP1 output: OP2 destroid: ???? description: OP2 = OP1 +- _OP6TOOP2 -------+-------+-------+-------+-------+-------+-------+-------+ | | 4192 | 4192 | 4192 | 4192 | 4192 | 4192 | 4192 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: OP6 output: OP2 destroid: ???? description: OP2 = OP6 +- _OP6TOOP1 -------+-------+-------+-------+-------+-------+-------+-------+ | | 4196 | 4196 | 4196 | 4196 | 4196 | 4196 | 4196 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: OP6 output: OP1 destroid: ???? description: OP1 = OP6 +- _OP4TOOP1 -------+-------+-------+-------+-------+-------+-------+-------+ | | 419A | 419A | 419A | 419A | 419A | 419A | 419A | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: OP4 output: OP1 destroid: ???? description: OP1 = OP4 +- _OP5TOOP1 -------+-------+-------+-------+-------+-------+-------+-------+ | | 419E | 419E | 419E | 419E | 419E | 419E | 419E | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: OP5 output: OP1 destroid: ???? description: OP1 = OP5 +- _OP3TOOP1 -------+-------+-------+-------+-------+-------+-------+-------+ | | 41A2 | 41A2 | 41A2 | 41A2 | 41A2 | 41A2 | 41A2 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: OP3 output: OP1 destroid: ???? description: OP1 = OP3 +- _OP6TOOP5 -------+-------+-------+-------+-------+-------+-------+-------+ | | 41A6 | 41A6 | 41A6 | 41A6 | 41A6 | 41A6 | 41A6 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: OP6 output: OP5 destroid: ???? description: OP5 = OP6 +- _OP4TOOP5 -------+-------+-------+-------+-------+-------+-------+-------+ | | 41AA | 41AA | 41AA | 41AA | 41AA | 41AA | 41AA | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: OP4 output: OP5 destroid: ???? description: OP5 = OP4 +- _OP3TOOP5 -------+-------+-------+-------+-------+-------+-------+-------+ | | 41AE | 41AE | 41AE | 41AE | 41AE | 41AE | 41AE | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: OP3 output: OP5 destroid: ???? description: OP5 = OP3 +- _OP2TOOP5 -------+-------+-------+-------+-------+-------+-------+-------+ | | 41B2 | 41B2 | 41B2 | 41B2 | 41B2 | 41B2 | 41B2 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: OP2 output: OP5 destroid: ???? description: OP5 = OP2 +- _OP2TOOP6 -------+-------+-------+-------+-------+-------+-------+-------+ | | 41B6 | 41B6 | 41B6 | 41B6 | 41B6 | 41B6 | 41B6 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: OP2 output: OP6 destroid: ???? description: OP6 = OP2 +- _OP1TOOP6 -------+-------+-------+-------+-------+-------+-------+-------+ | | 41BA | 41BA | 41BA | 41BA | 41BA | 41BA | 41BA | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: OP1 output: OP6 = OP1 destroid: ???? description: copy OP1 to OP6 +- _OP1TOOP5 -------+-------+-------+-------+-------+-------+-------+-------+ | | 41BE | 41BE | 41BE | 41BE | 41BE | 41BE | 41BE | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: OP1 output: OP5 = OP1 destroid: ???? description: copy OP1 to OP5 +- _OP2TOOP1 -------+-------+-------+-------+-------+-------+-------+-------+ | | 41C2 | 41C2 | 41C2 | 41C2 | 41C2 | 41C2 | 41C2 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: OP2 output: OP1 destroid: ???? description: OP1 = OP2 +- _OP2TOOP3 -------+-------+-------+-------+-------+-------+-------+-------+ | 41F6 | 41F6 | 41F6 | 41F6 | 41F6 | 41F6 | 41F6 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: OP2 output: OP3 destroid: ???? description: OP3 = OP2 +- _OP4TOOP3 -------+-------+-------+-------+-------+-------+-------+-------+ | | 41FA | 41FA | 41FA | 41FA | 41FA | 41FA | 41FA | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: OP4 output: OP3 destroid: ???? description: OP3 = OP4 +- _OP5TOOP3 -------+-------+-------+-------+-------+-------+-------+-------+ | | 41FE | 41FE | 41FE | 41FE | 41FE | 41FE | 41FE | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: OP5 output: OP3 destroid: ???? description: OP3 = OP5 +- _OP4TOOP6 -------+-------+-------+-------+-------+-------+-------+-------+ | | 4202 | 4202 | 4202 | 4202 | 4202 | 4202 | 4202 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: OP4 output: OP6 destroid: ???? description: OP6 = OP4 +- _MOVFROP1 -------+-------+-------+-------+-------+-------+-------+-------+ | | 4212 | 4212 | 4212 | 4212 | 4212 | 4212 | 4212 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: OP1 output: (DE),(DE+1),(DE+x),(DE+8) = (??first??) 9 bytes of OP1 destroid: ???? description: Move 9 bytes form OP1 to (DE) +- _OP4SET1 --------+-------+-------+-------+-------+-------+-------+-------+ | | 4216 | 4216 | 4216 | 4216 | 4216 | 4216 | 4216 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: none output: OP4 destroid: ???? description: OP4 = 1 +- _OP3SET1 --------+-------+-------+-------+-------+-------+-------+-------+ | | 421A | 421A | 421A | 421A | 421A | 421A | 421A | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: none output: OP3 destroid: ???? description: OP3 = 1 +- _OP2SET8 --------+-------+-------+-------+-------+-------+-------+-------+ | | 421E | 421E | 421E | 421E | 421E | 421E | 421E | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: none output: OP2 destroid: ???? description: OP2 = 8 +- _OP2SET5 --------+-------+-------+-------+-------+-------+-------+-------+ | | 4222 | 4222 | 4222 | 4222 | 4222 | 4222 | 4222 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: none output: OP2 destroid: ???? description: OP2 = 5 +- _OP2SETA --------+-------+-------+-------+-------+-------+-------+-------+ | | 4226 | 4226 | 4226 | 4226 | 4226 | 4226 | 4226 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: ???? output: OP2 destroid: ???? description: OP2 = ?? +- _OP2SET4 --------+-------+-------+-------+-------+-------+-------+-------+ | | 422A | 422A | 422A | 422A | 422A | 422A | 422A | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: none output: OP2 destroid: ???? description: OP2 = 4 +- _OP2SET3 --------+-------+-------+-------+-------+-------+-------+-------+ | | 422E | 422E | 422E | 422E | 422E | 422E | 422E | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: none output: OP2 destroid: ???? description: OP2 = 3 +- _OP1SET1 --------+-------+-------+-------+-------+-------+-------+-------+ | | 4232 | 4232 | 4232 | 4232 | 4232 | 4232 | 4232 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: none output: OP1 destroid: ???? description: OP1 = 1 +- _OP1SET4 --------+-------+-------+-------+-------+-------+-------+-------+ | | 4236 | 4236 | 4236 | 4236 | 4236 | 4236 | 4236 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: none output: OP1 destroid: ???? description: OP1 = 4 +- _OP1SET3 --------+-------+-------+-------+-------+-------+-------+-------+ | | 423A | 423A | 423A | 423A | 423A | 423A | 423A | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: none output: OP1 destroid: ???? description: OP1 = 3 +- _OP3SET2 --------+-------+-------+-------+-------+-------+-------+-------+ | | 423E | 423E | 423E | 423E | 423E | 423E | 423E | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: none output: OP3 destroid: ???? description: OP3 = 2 +- _OP1SET2 --------+-------+-------+-------+-------+-------+-------+-------+ | | 4242 | 4242 | 4242 | 4242 | 4242 | 4242 | 4242 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: none output: OP1 destroid: ???? description: OP1 = 2 +- _OP2SET2 --------+-------+-------+-------+-------+-------+-------+-------+ | | 4246 | 4246 | 4246 | 4246 | 4246 | 4246 | 4246 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: none output: OP2 destroid: ???? description: OP2 = 2 +- _OP2SET1 --------+-------+-------+-------+-------+-------+-------+-------+ | | 4252 | 4252 | 4252 | 4252 | 4252 | 4252 | 4252 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: none output: OP2 destroid: ???? description: OP2 = 1 +- _OP5SET0 --------+-------+-------+-------+-------+-------+-------+-------+ | | 4276 | 4276 | 4276 | 4276 | 4276 | 4276 | 4276 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: none output: OP5 destroid: ???? description: OP5 = 0 +- _OP4SET0 --------+-------+-------+-------+-------+-------+-------+-------+ | | 427A | 427A | 427A | 427A | 427A | 427A | 427A | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: none output: OP4 destroid: ???? description: OP4 = 0 +- _OP3SET0 --------+-------+-------+-------+-------+-------+-------+-------+ | | 427E | 427E | 427E | 427E | 427E | 427E | 427E | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: none output: OP3 destroid: ???? description: OP3 = 0 +- _OP2SET0 --------+-------+-------+-------+-------+-------+-------+-------+ | | 4282 | 4282 | 4282 | 4282 | 4282 | 4282 | 4282 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: none output: OP2 destroid: ???? description: OP2 = 0 +- _OP1SET0 --------+-------+-------+-------+-------+-------+-------+-------+ | | 4286 | 4286 | 4286 | 4286 | 4286 | 4286 | 4286 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: none output: OP1 destroid: ???? description: OP1 = 0 +- _ZEROOOP1 -------+-------+-------+-------+-------+-------+-------+-------+ | | 428E | 428E | 428E | 428E | 428E | 428E | 428E | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: none output: OP1 destroid: ???? description: Fill OP1 with zeros +- _ADDPROPLP ------+-------+-------+-------+-------+-------+-------+-------+ | SQUISH.INC | 42D2 | 42D2 | 42D2 | 42D2 | 42D2 | 42D2 | 42D2 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: ???? output: ???? destroid: ???? description: ???? +- _ADD14D ---------+-------+-------+-------+-------+-------+-------+-------+ | SQUISH.INC | 42DA | 42DA | 42DA | 42DA | 42DA | 42DA | 42DA | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: ???? output: ???? destroid: ???? description: ???? +- _OP2EXOP6 -------+-------+-------+-------+-------+-------+-------+-------+ | | 42E6 | 42E6 | 42E6 | 42E6 | 42E6 | 42E6 | 42E6 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: OP2,OP6 output: OP2,OP6 destroid: ???? description: OP2 => OP6 OP6 => OP2 +- _OP5EXOP6 -------+-------+-------+-------+-------+-------+-------+-------+ | | 42EA | 42EA | 42EA | 42EA | 42EA | 42EA | 42EA | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: ???? output: ???? destroid: ???? description: ???? +- _OP1EXOP5 -------+-------+-------+-------+-------+-------+-------+-------+ | | 42EE | 42EE | 42EE | 42EE | 42EE | 42EE | 42EE | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: ???? output: ???? destroid: ???? description: ???? +- _OP1EXOP6 -------+-------+-------+-------+-------+-------+-------+-------+ | | 42F2 | 42F2 | 42F2 | 42F2 | 42F2 | 42F2 | 42F2 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: ???? output: ???? destroid: ???? description: ???? +- _OP2EXOP4 -------+-------+-------+-------+-------+-------+-------+-------+ | | 42F6 | 42F6 | 42F6 | 42F6 | 42F6 | 42F6 | 42F6 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: ???? output: ???? destroid: ???? description: ???? +- _OP2EXOP5 -------+-------+-------+-------+-------+-------+-------+-------+ | | 42FA | 42FA | 42FA | 42FA | 42FA | 42FA | 42FA | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: ???? output: ???? destroid: ???? description: ???? +- _OP1EXOP3 -------+-------+-------+-------+-------+-------+-------+-------+ | | 42FE | 42FE | 42FE | 42FE | 42FE | 42FE | 42FE | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: ???? output: ???? destroid: ???? description: ???? +- _OP1EXOP4 -------+-------+-------+-------+-------+-------+-------+-------+ | | 4302 | 4302 | 4302 | 4302 | 4302 | 4302 | 4302 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: OP1,OP4 output: OP1,OP4 destroid: ???? description: OP1 <=> OP4 +- _OP1EXOP2 -------+-------+-------+-------+-------+-------+-------+-------+ | | 4306 | 4306 | 4306 | 4306 | 4306 | 4306 | 4306 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: OP1,OP2 output: OP1,OP2 destroid: ???? description: OP1 <=> OP2 +- _CKOP1CO --------+-------+-------+-------+-------+-------+-------+-------+ | SQUISH.INC | 430E | 430E | 430E | 430E | 430E | 430E | 430E | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: ???? output: ???? destroid: ???? description: ???? +- _CKOP1FP0 -------+-------+-------+-------+-------+-------+-------+-------+ | | 4312 | 4312 | 4312 | 4312 | 4312 | 4312 | 4312 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: OP1 output: zero-flag 0, OP1 != 0 1, OP1 = 0 destroid: ???? description: check for OP1 = zero +- _CKOP2FP0 -------+-------+-------+-------+-------+-------+-------+-------+ | | 4316 | 4316 | 4316 | 4316 | 4316 | 4316 | 4316 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: OP2 output: zero-flag 0, OP2 != 0 1, OP2 = 0 destroid: ???? description: check for OP2 = zero +- _CKPOSINT -------+-------+-------+-------+-------+-------+-------+-------+ | | 431E | 431E | 431E | 431E | 431E | 431E | 431E | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: ???? output: ???? destroid: ???? description: ?? if OP1 is a positive integer ?? ...Didn't find any Ti docs.. +- _CKINT ----------+-------+-------+-------+-------+-------+-------+-------+ | | 4322 | 4322 | 4322 | 4322 | 4322 | 4322 | 4322 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: HL = Pointer to exponent of number to check (ex: ld HL,OP1) output: Zero-flag 0, not integer 1, integer destroid: ???? description: Check digit of floating point number +- _CKODD ----------+-------+-------+-------+-------+-------+-------+-------+ | | 4326 | 4326 | 4326 | 4326 | 4326 | 4326 | 4326 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: HL = Pointer to exponent of number to check (ex: ld HL,OP1) output: Zero-flag 0, odd 1, even destroid: ???? description: Check if floating point number is odd/even +- _CKOP1M ---------+-------+-------+-------+-------+-------+-------+-------+ | SQUISH.INC | 432A | 432A | 432A | 432A | 432A | 432A | 432A | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: ???? output: ???? destroid: ???? description: ???? +- _CKOP2POS -------+-------+-------+-------+-------+-------+-------+-------+ | | 4356 | 4356 | 4356 | 4356 | 4356 | 4356 | 4356 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: OP2 output: A = sign digit Zero-flag 0, negative OR zero 1, positive destroid: ???? description: Check OP2 for positive mantissa sign +- _CKOP1POS -------+-------+-------+-------+-------+-------+-------+-------+ | | 435A | 435A | 435A | 435A | 435A | 435A | 435A | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: OP1 output: A = sign digit Zero-flag 0, negative OR zero 1, positive destroid: ???? description: Check OP1 for positive mantissa sign +- _CLROP2S --------+-------+-------+-------+-------+-------+-------+-------+ | | 435E | 435E | 435E | 435E | 435E | 435E | 435E | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: OP2 output: OP2 = positive destroid: ???? description: Clear the mantissa sign bit in OP2 (bit 7) +- _CLROP1S --------+-------+-------+-------+-------+-------+-------+-------+ | | 4362 | 4362 | 4362 | 4362 | 4362 | 4362 | 4362 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: OP1 output: OP1 = positive destroid: ???? description: Clear the mantissa sign bit in OP1 (bit 7) +- _HTIMESL --------+-------+-------+-------+-------+-------+-------+-------+ | | 4382 | 4382 | 4382 | 4382 | 4382 | 4382 | 4382 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: H<>0 = numner (1) L = number (2) output: HL = H*L destroid: ???? description: H * L --> H times L Do a fixed point Hex multiply (H*L) Cannot overflow :) +- _CHKERRBREAK ----+-------+-------+-------+-------+-------+-------+-------+ | SQUISH.INC | 43BA | 43BA | 43BA | 43BA | 43BA | 43BA | 43BA | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: ???? output: ???? destroid: ???? description: ???? +- _CKOP2REAL ------+-------+-------+-------+-------+-------+-------+-------+ | | 4412 | 4412 | 4412 | 4412 | 4412 | 4412 | 4412 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: OP2 output: A = object type from OP2 Zero-flag 0, type is not 'real' 1, type is 'real' destroid: ???? description: extract object type from OP2 into A +- _memchk ---------+-------+-------+-------+-------+-------+-------+-------+ | UNDOCUMENTED | 441A | 441A | 441A | 441A | 441A | 441A | 441A | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: none output: HL = amount of free user memory destroid: ???? +- _CMPPRGNAMLEN1 --+-------+-------+-------+-------+-------+-------+-------+ | SQUISH.INC | 441E | 441E | 441E | 441E | 441E | 441E | 441E | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: ???? output: ???? destroid: ???? description: ?? checks if OP1 could be a programs name (length-check) ?? +- _CMPPRGNAMLEN ---+-------+-------+-------+-------+-------+-------+-------+ | SQUISH.INC | 4422 | 4422 | 4422 | 4422 | 4422 | 4422 | 4422 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: ???? output: ???? destroid: ???? description: ???? +- _CHKFINDSYM -----+-------+-------+-------+-------+-------+-------+-------+ | | 442A | 442A | 442A | 442A | 442A | 442A | 442A | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: OP1(MSB) = type of variable OP1[1..7] = name of var to lookup (zero terminated string) output: if(!exists) carry = set if( exists) carry = unset/zero A = variable type OP1 = variable value (and type) HL = pointer to start of symbol entry in VAT DE = pointer to the data destroid: ???? description: Finds a non-real system variable in the symbol table +- _INSERTMEM ------+-------+-------+-------+-------+-------+-------+-------+ | | 4432 | 4432 | 4432 | 4432 | 4432 | 4432 | 4432 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ | Call to: | ???? | ???? | ???? | ???? | ???? | ???? | ???? | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: ???? output: ???? destroid: ???? description: ???? +- _INSERTMEMA -----+-------+-------+-------+-------+-------+-------+-------+ | | 4436 | 4436 | 4436 | 4436 | 4436 | 4436 | 4436 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ | Call to: | ???? | ???? | ???? | ???? | ???? | ???? | ???? | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: ???? output: ???? destroid: ???? description: ???? +- _createpict -----+-------+-------+-------+-------+-------+-------+-------+ | UNDOCUMENTED | 4482 | 4482 | 4482 | 4482 | 4482 | 4482 | 4482 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: OP1 = 07h, 60h, picture number: +----------+ | 0 = Pic1 | | 1 = Pic2 | | .. | | 9 = Pic0 | +----------+ output: an empty picture is created DE = pointer to new picture destroid: ???? description: create a new picture NOTE: first 2 bytes of picture are size bytes +- _createprog -----+-------+-------+-------+-------+-------+-------+-------+ | UNDOCUMENTED | 448A | 448A | 448A | 448A | 448A | 448A | 448A | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: OP1 = 05h, name-string (zero terminated, ASCIIZ) output: a new program is created DE = pointer to new program destroid: ???? description: create a new program NOTE: first 2 bytes of program are size bytes +- _ADJPARSER ------+-------+-------+-------+-------+-------+-------+-------+ | SQUISH.INC | 4496 | 4496 | 4496 | 4496 | 4496 | 4496 | 4496 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: ???? output: ???? destroid: ???? description: ???? +- _DELMEMA --------+-------+-------+-------+-------+-------+-------+-------+ | | 44B2 | 44B2 | 44B2 | 44B2 | 44B2 | 44B2 | 44B2 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ | Call to: | ???? | ???? | ???? | ???? | ???? | ???? | ???? | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: ???? output: ???? destroid: ???? description: ???? +- _DELVAR ---------+-------+-------+-------+-------+-------+-------+-------+ | | 44AA | 44AA | 44AA | 44AA | 44AA | 44AA | 44AA | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: HL = Pointer to symbol entry in the VAT DE = Pointer to data output: Symbol is removed form VAT Data is deleted destroid: ???? description: delete a variable +- _DELMEM ---------+-------+-------+-------+-------+-------+-------+-------+ | | 44B2 | 44B2 | 44B2 | 44B2 | 44B2 | 44B2 | 44B2 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ | Call to: | ???? | ???? | ???? | ???? | ???? | ???? | ???? | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: ???? output: ???? destroid: ???? description: ???? +- _PUSHREALO1 -----+-------+-------+-------+-------+-------+-------+-------+ | | 4536 | 4536 | 4536 | 4536 | 4536 | 4536 | 4536 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: ???? output: ???? destroid: ???? description: Pushes OP1 onto FPST (Floating Point STack) ...I really need some more docs about the FPST... +- _putmap ---------+-------+-------+-------+-------+-------+-------+-------+ | | 4701 | 4701 | 4701 | 4701 | 4701 | 4701 | 4701 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: A = character to print (CURROW) (CURCOL) textInverse,(iy+textflags) 0, normal 1, inverted AppTextSave,(iy+..) 0, TextShadow is preserved 1, TextShadow is also affected output: character in A is diplayed at current cursor position destroid: ???? NOTE: The cursor-position is NOT updated +- _putc -----------+-------+-------+-------+-------+-------+-------+-------+ | | 4705 | 4705 | 4705 | 4705 | 4705 | 4705 | 4705 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: A = character to print (CURROW) (CURCOL) textInverse,(iy+textflags) 0, normal 1, inverted appTextSave,(iy+appFlags) 0, TextShadow is preserved 1, TextShadow is also affected appAutoScroll,(iy+appFlags) 0, no automatic scrolling 1, text is automaticly scrolled up if end of screen has been reached output: character in A is displayed at current cursor position (CURCOL) = incremented (or zero'd if end of line) (CURROW) = incremented if end of line (or zero'd if end of screen) textScrolled,(iy+textflags) 0, no scrolling occured 1, the text has scrolled (the routine reached the end of the screen) destroid: ???? +- _dispHL ---------+-------+-------+-------+-------+-------+-------+-------+ | | 4709 | 4709 | 4709 | 4709 | 4709 | 4709 | 4709 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: HL = number to display (CURROW) textInverse,(iy+textflags) 0, normal 1, inverted AppTextSave,(iy+..) 0, TextShadow is preserved 1, TextShadow is also affected output: number in HL is displayed at the end of the line OP1[0..5] = 5 digit number string (CURROW) updated (CURCOL) updated destroid: OP1 description: convert contents of HL to printable decimal and send it to the screen. +- _puts -----------+-------+-------+-------+-------+-------+-------+-------+ | | 470D | 470D | 470D | 470D | 470D | 470D | 470D | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: HL = pointer to zero terminated string (ASCIIZ) (CURROW) (CURCOL) textInverse,(iy+textflags) 0, normal 1, inverted AppTextSave,(iy+..) 0, TextShadow is preserved 1, TextShadow is also affected output: string at (HL) is displayed Carry 0, if it ran off the screen 1, if entire string was displayed (CURROW) updated (CURCOL) updated destroid: ???? description: Display a zero terminated string (ASCIIZ), like: "HELLO",0 ; string with zero-terminator +- _putps ----------+-------+-------+-------+-------+-------+-------+-------+ | | 4715 | 4715 | 4715 | 4715 | 4715 | 4715 | 4715 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: HL = pionter to string (the length byte of it) (CURROW) (CURCOL) AppTextSave,(iy+..) 0, TextShadow is preserved 1, TextShadow is also affected output: string is displayed (CURROW) updated (CURCOL) updated destroid: ???? description: Display a length byte indexed string, like: 5,"HELLO" ; 5 characters in string, no zero-terminator needed +- _newline --------+-------+-------+-------+-------+-------+-------+-------+ | | 473D | 473D | 473D | 473D | 473D | 473D | 473D | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: AppTextSave,(iy+..) 0, TextShadow is preserved 1, TextShadow is also affected output: (CURROW) = if(CURROW < 8), incremented else the screen is scrolled (CURCOL) = 0 destroid: ???? description: Increments cursor row, and sets cursor column to 0. +- _moveDown -------+-------+-------+-------+-------+-------+-------+-------+ | | 4741 | 4741 | 4741 | 4741 | 4741 | 4741 | 4741 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: (CURROW) output: Carry 0, screen scrolled 1, cursor moved destroid: ???? description: Move cursor down. Scroll screen up if necessary to keep the cursor on the screen. +- _scrollUp -------+-------+-------+-------+-------+-------+-------+-------+ | | 4745 | 4745 | 4745 | 4745 | 4745 | 4745 | 4745 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: AppTextSave,(iy+..) 0, TextShadow is preserved 1, TextShadow is also affected output: display is scrolled UP 8 pixels destroid: ???? description: Scroll window up one display line +- _moveup ---------+-------+-------+-------+-------+-------+-------+-------+ | | 474D | 474D | 474D | 474D | 474D | 474D | 474D | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: (CURROW) AppTextSave,(iy+..) 0, TextShadow is preserved 1, TextShadow is also affected output: Positive status if cursor moved. Negative status if screen scrolled. ...Okay, and WHAT ON EARTH is that 'status', Carry maybe... destroid: ???? description: Move cursor up, scroll screen down if necessary to keep the cursor on the screen. +- _scrollDown -----+-------+-------+-------+-------+-------+-------+-------+ | | 4751 | 4751 | 4751 | 4751 | 4751 | 4751 | 4751 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: AppTextSave,(iy+..) 0, TextShadow is preserved 1, TextShadow is also affected output: display is scrolled DOWN 8 pixels destroid: ???? description: Scroll lines (within current window) down one display line. +- _CLRLCDFULL -----+-------+-------+-------+-------+-------+-------+-------+ | | 4755 | 4755 | 4755 | 4755 | 4755 | 4755 | 4755 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: none output: LCD is cleared (NOT the buffers) destroid: ???? NOTE: Ignores Horizontal-split-mode flag +- _clrScrnFull ----+-------+-------+-------+-------+-------+-------+-------+ | | 475D | 475D | 475D | 475D | 475D | 475D | 475D | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: AppTextSave,(iy+..) 0, TextShadow is preserved 1, TextShadow is also cleared output: LCD is cleared, buffer is cleared depending on flag destroid: ???? NOTE: Ignores Horizontal-split-mode flag +- _CLRTXTSHD ------+-------+-------+-------+-------+-------+-------+-------+ | | 4765 | 4765 | 4765 | 4765 | 4765 | 4765 | 4765 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: none output: TextShadow is cleared destroid: ???? NOTE: Ignores Horizontal-split-mode flag +- _eraseEOL -------+-------+-------+-------+-------+-------+-------+-------+ | | 476D | 476D | 476D | 476D | 476D | 476D | 476D | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: apptextsave,(iy+..) 0, don't affect TextShadow 1, affect TextShadow output: Text is erased destroid: Erase from current cursor location to end of line. No cursor update. +- _homeUp ---------+-------+-------+-------+-------+-------+-------+-------+ | | 4775 | 4775 | 4775 | 4775 | 4775 | 4775 | 4775 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: none output: (CURROW) = 0 (CURCOL) = 0 destroid: ???? description: cursor(0,0), cursor to top-left corner Put the cursor on the top row of the SCREEN +- _vputmap --------+-------+-------+-------+-------+-------+-------+-------+ | | 477D | 477D | 477D | 477D | 477D | 477D | 477D | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: A = character to print (PENROW) (PENCOL) textInverse,(iy+textflags) 0, normal 1, inverse textEraseBelow,(iy+..) 0, nomal 1, erase line below character textwrite,(iy+..) 0, write only to LCD 1, write to LCD and PLOTSSCREEN output: Carry = set, if character couldn't fit on the line (PENCOL) updated (PENROW) updated destroid: ???? description: character in A is displayed in variable font at current 'pen' position +- _vputs ----------+-------+-------+-------+-------+-------+-------+-------+ | | 4781 | 4781 | 4781 | 4781 | 4781 | 4781 | 4781 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: HL = pointer to zero terminated string (ASCIIZ) (PENROW) (PENCOL) textInverse,(iy+textflags) textEraseBelow,(iy,..) 0, normal 1, erase line below character textwrite,(iy+..) 0, LCD only 1, LCD and PLOTSSCREEN output: String at (HL) is displayed in variable width characters (PENROW) updated (PENCOL) updated (?) Carry-flag is set if it ran off the screen (?) destroid: ???? +- _putsn ----------+-------+-------+-------+-------+-------+-------+-------+ | | 4785 | 4785 | 4785 | 4785 | 4785 | 4785 | 4785 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: ???? output: ???? well, something is displayed in BIG text destroid: ???? description: HELP, I DIDN'T FIND ANY DOCS +- _runIndicOn -----+-------+-------+-------+-------+-------+-------+-------+ | | 4791 | 4791 | 4791 | 4791 | 4791 | 4791 | 4791 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: none output: runindicator is (re)displayed destroid: ???? +- _runIndicOff ----+-------+-------+-------+-------+-------+-------+-------+ | | 4795 | 4795 | 4795 | 4795 | 4795 | 4795 | 4795 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: none output: runindicator isn't displayed anymore destroid: ???? +- _SAVESHADOW -----+-------+-------+-------+-------+-------+-------+-------+ | | 479D | 479D | 479D | 479D | 479D | 479D | 479D | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: ???? output: ???? destroid: ???? description: HELP, I DIDN'T FIND ANY DOCS +- _RSTRSHADOW -----+-------+-------+-------+-------+-------+-------+-------+ | | 47A1 | 47A1 | 47A1 | 47A1 | 47A1 | 47A1 | 47A1 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: ???? output: ???? destroid: ???? description: HELP, I DIDN'T FIND ANY DOCS +- _dispDone -------+-------+-------+-------+-------+-------+-------+-------+ | | 47F1 | 47F1 | 47F1 | 47F1 | 47F1 | 47F1 | 47F1 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: (CURROW) textInverse,(iy+textflags) apptextsave,(iy+..) output: "Done" diplayed at the end of the line, just like quiting a BASIC program. destroid: ???? +- _savedisp -------+ +- _SaveOscreen ----+-------+-------+-------+-------+-------+-------+-------+ | UNDOCUMENTED | 4859 | 4859 | 4859 | 4859 | 4859 | 4859 | 4859 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: none output: PLOTSSCREEN is copied to APD_BUF destroid: ???? description: Saves the current screen to the APD-buffer +- _ADRMELE --------+-------+-------+-------+-------+-------+-------+-------+ | | 486D | 486D | 486D | 486D | 486D | 486D | 486D | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: DE = pointer to matrix (size bytes of it) ...DE+2 = pointer to first element (1,1)... B = row C = element output: HL = pointer to element. destroid: ???? description: This computes the address of a matrix element. +- _GETMTOOP1 ------+-------+-------+-------+-------+-------+-------+-------+ | | 487D | 487D | 487D | 487D | 487D | 487D | 487D | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: DE = pointer to matrix (size bytes of it) B = row to read from (0..99) C = element to read from (0..99) output: OP1 = value of matrix element (What if unsuccesfull?) destroid: ???? description: Takes element from matrix and puts it in OP1. +- _PUTTOMAT -------+-------+-------+-------+-------+-------+-------+-------+ | | 4889 | 4889 | 4889 | 4889 | 4889 | 4889 | 4889 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: OP1 = number to store DE = pointer to matrix (size bytes of it) B = row to store to (0..99) C = element to store to (0..99) output: OP1 is written to element of the matrix (What if unsuccesfull?) destroid: ???? description: Stores OP1 to element of matrix. +- _CMATFUN --------+-------+-------+-------+-------+-------+-------+-------+ | SQUISH.INC | 4891 | 4891 | 4891 | 4891 | 4891 | 4891 | 4891 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: ???? output: ???? destroid: ???? description: ???? +- _ADRLELE --------+-------+-------+-------+-------+-------+-------+-------+ | | 489D | 489D | 489D | 489D | 489D | 489D | 489D | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: DE = pointer to list (size bytes) ...DE+1 = adress of element 1... HL = element number you want output: HL = pointer to element A = 0 if number is 'real' destroid: ???? description: This computes the address of a list element. +- _GETLTOOP1 ------+-------+-------+-------+-------+-------+-------+-------+ | | 48A9 | 48A9 | 48A9 | 48A9 | 48A9 | 48A9 | 48A9 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: HL = element to get DE = pointer to list (size bytes of list) output: OP1 = value of list element (OP1/OP2 id complex) (What if unsuccesfull?) destroid: ???? description: Takes element HL from list, at (DE), and puts it in OP1. +- _PUTTOL ---------+-------+-------+-------+-------+-------+-------+-------+ | | 48BD | 48BD | 48BD | 48BD | 48BD | 48BD | 48BD | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: OP1 = number to store (and OP2 if complex) DE = pointer to list (size bytes of list) HL = element to store to output: OP1(and OP2) is/are stored to element of list destroid: ???? description: Puts OP1 (OP1/OP2 if complex) to list at (DE), element number HL +- _tofrac ---------+-------+-------+-------+-------+-------+-------+-------+ | UNDOCUMENTED | 48D5 | 48D5 | 48D5 | 48D5 | 48D5 | 48D5 | 48D5 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: OP1 = value to convert output: if(succesfull) carry = 0,unset OP1 = numerator OP2 = denominator. if(!succesfull) carry = 1,set OP1 = original input destroid: OP1,OP2,OP3,OP4,OP5,OP6 description: Convert number in OP1 to fraction NOTE: Later on somebody got his hands on the TI documentation of this romcall, but this was not 'officialy' released. +- _CMP_NUM_INIT ---+-------+-------+-------+-------+-------+-------+-------+ | SQUISH.INC | 48E1 | 48E1 | 48E1 | 48E1 | 48E1 | 48E1 | 48E1 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: ???? output: ???? destroid: ???? description: ???? +- _BINOPEXEC ------+-------+-------+-------+-------+-------+-------+-------+ | SQUISH.INC | 48E5 | 48E5 | 48E5 | 48E5 | 48E5 | 48E5 | 48E5 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: ???? output: ???? destroid: ???? description: ???? +- COMPLEX_EXEC ----+-------+-------+-------+-------+-------+-------+-------+ | SQUISH.INC | 4A14 | 4A14 | 4A14 | 4A14 | 4A14 | 4A14 | 4A14 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: ???? output: ???? destroid: ???? description: ???? +- _GetK -----------+-------+-------+-------+-------+-------+-------+-------+ | | 4A18 | 4A18 | 4A18 | 4A18 | 4A18 | 4A18 | 4A18 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: none output: OP2 = key that is pressed OP2 = 0, if no key was pressed destroid: ???? description: Just like 'GetKey' in BASIC, doesn't wait till a keypress. The return values are the same as from _getkey (4CFE). +- _SFONT_LEN ------+-------+-------+-------+-------+-------+-------+-------+ | | 4A6C | 4A6C | 4A6C | 4A6C | 4A6C | 4A6C | 4A6C | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: HL = character value output: B = width of character (HL+1) = first byte of character font destroid: ???? description: return the length of variable width display char +- _SETXXOP1 ------+-------+-------+-------+-------+-------+-------+-------+ | | 4A74 | 4A74 | 4A74 | 4A74 | 4A74 | 4A74 | 4A74 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: A = number (0 - 63h , 0 - 99d) output: OP1 = A (converted to FP notation) destroid: ???? description: OP1 = number in A +- _SETXXOP2 ------+-------+-------+-------+-------+-------+-------+-------+ | | 4A78 | 4A78 | 4A78 | 4A78 | 4A78 | 4A78 | 4A78 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: A = number (0 - 63h , 0 - 99d) output: OP2 = A (converted to FP notation) destroid: ???? description: OP2 = number in A +- _SETXXXXOP2 ----+-------+-------+-------+-------+-------+-------+-------+ | | 4A7C | 4A7C | 4A7C | 4A7C | 4A7C | 4A7C | 4A7C | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: HL = number (0 - FFFFh) output: OP2 = HL (converted to FP notation) destroid: ???? description: OP2 = number in HL +- _CLine ----------+-------+-------+-------+-------+-------+-------+-------+ | | 4A84 | 4A84 | 4A84 | 4A84 | 4A84 | 4A84 | 4A84 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: OP4 = y1-coord =|= OP1 = x1-coord OP3 = x1-coord =|= OP2 = y1-coord OP2 = y2-coord =|= OP3 = x2-coord OP1 = x2-coord =|= OP4 = y2-coord output: ???? destroid: ???? description: Draw a clipped line from (OP3,OP4) to (OP1,OP2) NOTE: * Clipping occurs if points are outside of current RANGE * All points are relative to current RANGE window * Graphics always written to graphics buffer and/or display RAM and, depending on current context active +- _XROOTY ---------+-------+-------+-------+-------+-------+-------+-------+ | | 4A8C | 4A8C | 4A8C | 4A8C | 4A8C | 4A8C | 4A8C | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: OP1,OP2 output: OP1 destroid: ???? description: OP1 ^ (1 / OP2) +- _YTOX -----------+-------+-------+-------+-------+-------+-------+-------+ | | 4A90 | 4A90 | 4A90 | 4A90 | 4A90 | 4A90 | 4A90 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: OP1,OP2 output: OP1 destroid: ???? description: OP1 ^ OP2 +- _CMPBOXINFO -----+-------+-------+-------+-------+-------+-------+-------+ | SQUISH.INC | 4AB0 | 4AB0 | 4AB0 | 4AB0 | 4AB0 | 4AB0 | 4AB0 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: ???? output: ???? destroid: ???? description: ???? +- _circcmd --------+-------+-------+-------+-------+-------+-------+-------+ | UNDOCUMENTED | 4AD4 | 4AD4 | 4AD4 | 4AD4 | 4AD4 | 4AD4 | 4AD4 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: FPS (Floating Point Stack): 1. first pop the x-coord of the centre to the FPS 2. than the y-coord of the centre to the FPS 3. and as last the radius 4. call this routine output: a circle is drawn destroid: ???? description: Draw a circle +- _grphCirc -------+-------+-------+-------+-------+-------+-------+-------+ | UNDOCUMENTED | 4AD8 | 4AD8 | 4AD8 | 4AD8 | 4AD8 | 4AD8 | 4AD8 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: curgx2 = (8870h) x-coord centre curgy2 = (886Fh) y-coord centre curgx = (886Eh) x-coord on circle curgy = (886Dh) y-coord on circle output: a circle is drawn destroid: ???? description: Draw a circle NOTE: This one is slightly strange though, for one, the coordinates are not coordinates, but pixel numbers but it seems like 0,0 is down at the bottom left of the screen?! If someone figures out why, or proves me wrong, please write to me. (** like in _IPoint, Henk**) +- _ILINE ----------+-------+-------+-------+-------+-------+-------+-------+ | | 4AE4 | 4AE4 | 4AE4 | 4AE4 | 4AE4 | 4AE4 | 4AE4 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: B, C - First coordinate (x1, y1) D, E - Second coordinate (x2, y2) H - Drawing Method: +--------------------+ | 0 - Turn off points| | 1 - Turn on points | | 2 - XOR points | +--------------------+ bit ...,(IY+...) (draw only to screen/buffer, etc) output: Line drawn at given coordinates destroid: ???? description: Draw an unclipped line from (B,C) to (D,E), no clipping! NOTE: Coordinate values input are integer, and assumed within screen values. +- _IPOINT ---------+-------+-------+-------+-------+-------+-------+-------+ | | 4AE8 | 4AE8 | 4AE8 | 4AE8 | 4AE8 | 4AE8 | 4AE8 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: B = x-coord in pixels (0..94 C = y-coord in pixels (1..63) D = Drawing Method: +-----------------------------+ | 0 - light | | 1 - dark | | 2 - reverse | | 3 - test pixel | | 4 - copy from display buffer| +-----------------------------+ bit ...,(IY+...) (draw only to screen/buffer, etc) output: point drawn at given coordinates If(D = 3), zero-flag = set/res if pixel was off/on destroid: if(PixelTest), all regs are destroid if(!PixelTest), no regs are destroid description: Change a point on the screen, no clipping! NOTE: * Coordinate values input are integer and assumed within screen values * All register and flags are preserved UNLESS PIXEL TEST IS THE COMMAMD THEN NO REGS ARE PRESERVED. * No plotting occurs if point is outside of current RANGE. * (BC) is (X,Y), the (0,0) point is lower left corner * Graphics always written to graphics buffer and/or display RAM and, depending on PlotLoc flag | +- _CPointS --------+-------+-------+-------+-------+-------+-------+-------+ | | 4B00 | 4B00 | 4B00 | 4B00 | 4B00 | 4B00 | 4B00 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: FPS1 = x-coord of point to change FPST = y-coord of point to change A = command to perform: +--------------------+ | 0 - Turn on points | DIFFERENT | 1 - Turn off points| FROM | 2 - XOR points | _ILINE +--------------------+ output: point is changed destroid: ???? description: Change a windowed point on the screen NOTE: * To set FPS1,FPS2 do the following 1) set OP1 = x-coord value 2) call _PUSHREALO1 3) set OP1 = y-coord value 4) call _PUSHREALO1 * Clipping occurs if point is outside of current RANGE. <= ?? * Point drawn is relative to current RANGE window. <= ?? * Graphics always written to graphics buffer and/or <= ?? display RAM and, depending on current context active. <= ?? +- _GDISPTOKEN -----+-------+-------+-------+-------+-------+-------+-------+ | | 4B20 | 4B20 | 4B20 | 4B20 | 4B20 | 4B20 | 4B20 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: (CURGY) = y-coord/pixel row to start writing (CURGX) = x-coord/pixel col to start writing DE = token to display output: carry = set if it hit right edge of screen destroid: ???? description: Decode a token an write it's string to the LCD & PLOTSSCREEN using variable font. +- _COORDDISP ------+-------+-------+-------+-------+-------+-------+-------+ | SQUISH.INC | 4B2C | 4B2C | 4B2C | 4B2C | 4B2C | 4B2C | 4B2C | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: ???? output: ???? destroid: ???? description: ???? +- _COPYRNG --------+-------+-------+-------+-------+-------+-------+-------+ | SQUISH.INC | 4B40 | 4B40 | 4B40 | 4B40 | 4B40 | 4B40 | 4B40 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: ???? output: ???? destroid: ???? description: ???? +- _CPTDELY --------+-------+-------+-------+-------+-------+-------+-------+ | SQUISH.INC | 4B5C | 4B5C | 4B5C | 4B5C | 4B5C | 4B5C | 4B5C | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: ???? output: ???? destroid: ???? description: ???? +- _ALLEQ ----------+-------+-------+-------+-------+-------+-------+-------+ | SQUISH.INC | 4BAC | 4BAC | 4BAC | 4BAC | 4BAC | 4BAC | 4BAC | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: ???? output: ???? destroid: ???? description: ???? +- _CHKTEXTCURS ----+-------+-------+-------+-------+-------+-------+-------+ | SQUISH.INC | 4BC8 | 4BC8 | 4BC8 | 4BC8 | 4BC8 | 4BC8 | 4BC8 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: ???? output: ???? destroid: ???? description: ???? +- _REGRAPH --------+-------+-------+-------+-------+-------+-------+-------+ | | 4BCC | 4BCC | 4BCC | 4BCC | 4BCC | 4BCC | 4BCC | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: none output: Equations (Y= & Stat-plots) graphed to LCD & PLOTSSCREEN destroid: BC HL DE (only A is preserved) description: Graphs all equations and Stat-plots +- _Ceiling --------+-------+-------+-------+-------+-------+-------+-------+ | | 4BE0 | 4BE0 | 4BE0 | 4BE0 | 4BE0 | 4BE0 | 4BE0 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: OP1,OP2 output: OP1 destroid: ???? description: -intgr(OP1,OP2) +- _PUTXY ----------+-------+-------+-------+-------+-------+-------+-------+ | | 4BE4 | 4BE4 | 4BE4 | 4BE4 | 4BE4 | 4BE4 | 4BE4 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: real 'X' real 'Y' output: coordinates displayed at the bottom of the screen destroid: ???? description: display x/y coordinate on graphics screen +- _PDspGrph -------+-------+-------+-------+-------+-------+-------+-------+ | | 4BEB | 4BEB | 4BEB | 4BEB | 4BEB | 4BEB | 4BEB | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: graph dirty/clean flag utput: if(clean), copy backup-buffer (PLOTSSCREEN, gbuf) to LCD if(dirty), full regraph (plot all Y= functions and Stat-plots) => call _REGRAPH destroid: ???? description: Display graph via program control, or annotation. If graph is "clean" then copy backup to disp else invoke a full regraph. +- _HORIZCMD -------+-------+-------+-------+-------+-------+-------+-------+ | | 4BEF | 4BEF | 4BEF | 4BEF | 4BEF | 4BEF | 4BEF | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: OP1 = y-coord of horizontal line output: horizontal line drawn destroid: ???? description: Horizontal line drawn at y-coord in OP1 +- _VERTCMD --------+-------+-------+-------+-------+-------+-------+-------+ | | 4BF3 | 4BF3 | 4BF3 | 4BF3 | 4BF3 | 4BF3 | 4BF3 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: OP1 = x-coord of vertical line output: Vertical line drawn destroid: ???? description: Vertical line drawn at x-coord in OP1 +- _VPUTBLANK ------+-------+-------+-------+-------+-------+-------+-------+ | | 4C53 | 4C53 | 4C53 | 4C53 | 4C53 | 4C53 | 4C53 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: write to buffer flag (????) ?? black/white text flag ?? output: a space is written to the screen (PENCOL) updated (PENROW) updated destroid: ???? description: Write a space in variable font to display (penrow,pencol). Update(PENROW),(PENCOL) +- _BUFPEEK --------+-------+-------+-------+-------+-------+-------+-------+ | SQUISH.INC | 4C82 | 4C82 | 4C82 | 4C82 | 4C82 | 4C82 | 4C82 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: ???? output: ???? destroid: ???? description: ???? +- _BUFPEEK3 -------+-------+-------+-------+-------+-------+-------+-------+ | SQUISH.INC | 4C8E | 4C8E | 4C8E | 4C8E | 4C8E | 4C8E | 4C8E | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: ???? output: ???? destroid: ???? description: ???? +- _getkey ---------+-------+-------+-------+-------+-------+-------+-------+ | | 4CFE | 4CFE | 4CFE | 4CFE | 4CFE | 4CFE | 4CFE | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: runindiconly,(iy+indicflags) 0, run-indicator and APD is done 1, only run-indicator is shown, no APD'ing output: A = key that was pressed = 0 (zero) if [ON] key pressed (interrupt handler gets on this one first) destroid: ???? description: Waits till a key is pressed (low powermode, with HALT), and returns the corresponding value. Automatic power-down counter (APD) is turned on until a valid key has been received. This routine also handles: 1. [2nd] and [Alpha] shift keys. 2. Contrast settings. ... See other docs for return values... +- _formDCplx ------+-------+-------+-------+-------+-------+-------+-------+ | | 4D2E | 4D2E | 4D2E | 4D2E | 4D2E | 4D2E | 4D2E | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: OP1/OP2 = complex number to format output: (fmtString) = (929Ah) = string of characters (zero terminated, ASCIIZ) BC = length of string OP1 type = splxobj destroid: ???? description: This routine converts the complex number pair in OP1/OP2 to displayable characters according to the current format settings. +- _formReal -------+-------+-------+-------+-------+-------+-------+-------+ | | 4D32 | 4D32 | 4D32 | 4D32 | 4D32 | 4D32 | 4D32 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: A = maximum width of output (max. number of characters) OP1 = 'real number' to be formated output: OP3/OP4 = string of characters (zero terminated, ASCIIZ) BC = length of string destroid: ???? description: This routine converts the number in OP1 to displayable characters according to the current format settings +- _CONVKEYTOTOK ---+-------+-------+-------+-------+-------+-------+-------+ | SQUISH.INC | 4DBE | 4DBE | 4DBE | 4DBE | 4DBE | 4DBE | 4DBE | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: ???? output: ???? destroid: ???? description: ???? +- _CLEANALL -------+-------+-------+-------+-------+-------+-------+-------+ | SQUISH.INC | 4E2A | 4E2A | 4E2A | 4E2A | 4E2A | 4E2A | 4E2A | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: ???? output: ???? destroid: ???? description: ???? +- _CATALOGCHK -----+-------+-------+-------+-------+-------+-------+-------+ | SQUISH.INC | 4E64 | 4E64 | 4E64 | 4E64 | 4E64 | 4E64 | 4E64 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: ???? output: ???? destroid: ???? description: ???? +- _CKENDLINERR ----+-------+-------+-------+-------+-------+-------+-------+ | SQUISH.INC | 4EA4 | 432A | 432A | 432A | 432A | 432A | 432A | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: ???? output: ???? destroid: ???? description: ???? +- _AutoSelect -----+-------+-------+-------+-------+-------+-------+-------+ | SQUISH.INC | 4D72 | 4D72 | 4D72 | 4D72 | 4D72 | 4D72 | 4D72 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: ???? output: ???? destroid: ???? description: ???? +- _CONVLCTOLR -----+-------+-------+-------+-------+-------+-------+-------+ | SQUISH.INC | 4DEE | 4DEE | 4DEE | 4DEE | 4DEE | 4DEE | 4DEE | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: ???? output: ???? destroid: ???? description: ???? +- _inclistsize ----+-------+-------+-------+-------+-------+-------+-------+ | UNDOCUMENTED | 4DF6 | 4DF6 | 4DF6 | 4DF6 | 4DF6 | 4DF6 | 4DF6 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: A = type of list. DE = pointer to data size of list (use _chkfindsym) output: DE = updated pointer to begin of the list. HL = the new size of the list. destroid: ???? description: Increment list size by one +- _CLOSEPROG ------+-------+-------+-------+-------+-------+-------+-------+ | SQUISH.INC | 4E06 | 4E06 | 4E06 | 4E06 | 4E06 | 4E06 | 4E06 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: ???? output: ???? destroid: ???? description: ?? closes a program (BASIC/ASM) ?? +- _parseinp ------+-------+-------+-------+-------+-------+-------+-------+ | UNDOCUMENTED | 4E8C | 4E8C | 4E8C | 4E8C | 4E8C | 4E8C | 4E8C | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: OP1 = name of expression to “parse”. output: Results vary, 'refer to tutorials' which means that I, Henk Poley, have to find out how this one works destroid: ???? description: Parses information in OP1. This can have various results, ranging from evaluating expressions, to running BASIC programs. +- _OP2SET60 -------+-------+-------+-------+-------+-------+-------+-------+ | | 4EA8 | 4EA8 | 4EA8 | 4EA8 | 4EA8 | 4EA8 | 4EA8 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: none output: OP2 destroid: ???? description: OP2 = 60 +- _CMP_STATPTR ----+-------+-------+-------+-------+-------+-------+-------+ | SQUISH.INC | 4EB0 | 4EB0 | 4EB0 | 4EB0 | 4EB0 | 4EB0 | 4EB0 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: ???? output: ???? destroid: ???? description: ???? +- _STOSYSTOK ------+-------+-------+-------+-------+-------+-------+-------+ | | 4EB8 | 4EB8 | 4EB8 | 4EB8 | 4EB8 | 4EB8 | 4EB8 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: A = number of system variable (see ti83asm.inc) OP1 = value to store in system variable output: OP1 is saved in system token given in A OP1 is preserved destroid: ???? description: Store value in OP1 to system variable (specified by token in A) +- _STOY -----------+-------+-------+-------+-------+-------+-------+-------+ | | 4EC8 | 4EC8 | 4EC8 | 4EC8 | 4EC8 | 4EC8 | 4EC8 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: OP1/OP2 = number to be stored in 'Y' (OP1 and OP2 if complex) output: OP1 is saved in 'Y' if possible if 'Y' wasn't created, it will be created destroid: ???? --comment-- OUTPUT : DATA STORED IF POSSIBLE. ORIGINAL CONTENTS OF OP1 RETURNED IF REAL <= ???? OR COMPLEX, ELSE Y VAR NAME <= ???? --comment-- +- _CONVOP1 --------+-------+-------+-------+-------+-------+-------+-------+ | | 4ECF | 4ECF | 4ECF | 4ECF | 4ECF | 4ECF | 4ECF | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: OP1 output: A = LSB of hex value DE = entire hex value destroid: ???? description: Convert OP1 to a 2 byte hex value in DE NOTE: Error if exponent of OP1 is bigger than 3 => error if('OP1 exp' > 3) ERROR-HANDLER!!! +- _STOX -----------+-------+-------+-------+-------+-------+-------+-------+ | | 4ED4 | 4ED4 | 4ED4 | 4ED4 | 4ED4 | 4ED4 | 4ED4 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: OP1/OP2 = number to be stored in 'X' (OP1 and OP2 if complex) output: OP1 is saved in 'X' if possible if 'X' wasn't created, it will be created destroid: ???? --comment-- OUTPUT : DATA STORED IF POSSIBLE. ORIGINAL CONTENTS OF OP1 RETURNED IF REAL <= ???? OR COMPLEX, ELSE X VAR NAME <= ???? --comment-- +- _STOOTHER -------+-------+-------+-------+-------+-------+-------+-------+ | | 4ED8 | 4ED8 | 4ED8 | 4ED8 | 4ED8 | 4ED8 | 4ED8 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: OP1 = variable name (user vars only) FPST = value to store (Floating Point STack) output: number in FPST is stored to variable named in OP1 if store was possible: value is popped from FPST into OP1 (and OP2 if complex) is store was impossible: OP1 = variable name destroid: ???? description: Stores into a specified user variable NOTE: Error if variable is already Program,?? DB ??, Picture (If variable has the wrong type...) example: call _OP1SET4 ; OP1 = 4 call _PUSHREALO1 ; Push OP1 on FPST call _ZEROOP1 ; OP1 = all 0 ld hl,'W' ld (OP1+1),hl ; OP1 = name of variable 'W' call _STOOTHER ; Store 4 variable 'W' +- _RCLY -----------+-------+-------+-------+-------+-------+-------+-------+ | | 4EE0 | 4EE0 | 4EE0 | 4EE0 | 4EE0 | 4EE0 | 4EE0 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: none output: OP1/OP2 = value of variable destroid: ???? description: Recalls value of 'real Y' in OP1 (and OP2 if complex) +- _RCLX -----------+-------+-------+-------+-------+-------+-------+-------+ | | 4EE8 | 4EE8 | 4EE8 | 4EE8 | 4EE8 | 4EE8 | 4EE8 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: none output: OP1/OP2 = value of variable destroid: ???? description: Recalls value of 'real X' in OP1 (and OP2 if complex) +- _RCLVARSYM ------+-------+-------+-------+-------+-------+-------+-------+ | | 4EEC | 4EEC | 4EEC | 4EEC | 4EEC | 4EEC | 4EEC | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: OP1(MSB) = type of variable OP1(rest) = name of var to recall (zero terminated string, ASCIIZ) output: if real or complex: OP1/OP2 = value of variable if not real or complex: A = data type of symbol carry = unset, 0 OP1(MSB) = type of variable OP1(rest) = name of var to recall (ASCIIZ) HL = pointer to start of sybol entry in VAT DE = pointer to data destroid: ???? description: Recalls value of variable to OP1 (and OP2 as well if complex) NOTE: Error if variable does not exist! +- _RCLSYSTOK ------+-------+-------+-------+-------+-------+-------+-------+ | | 4EF0 | 4EF0 | 4EF0 | 4EF0 | 4EF0 | 4EF0 | 4EF0 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: A = system variable token (see ti83asm.inc) output: OP1 = value/contents of system variable destroid: ???? description: Recalls value of a system variable +- _COMMAERRF ------+-------+-------+-------+-------+-------+-------+-------+ | SQUISH.INC | 4F8E | 4F8E | 4F8E | 4F8E | 4F8E | 4F8E | 4F8E | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: ???? output: ???? destroid: ???? description: ???? +- _CKFETCHVAR -----+-------+-------+-------+-------+-------+-------+-------+ | SQUISH.INC | 4FCD | 4FCD | 4FCD | 4FCD | 4FCD | 4FCD | 4FCD | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: ???? output: ???? destroid: ???? description: ???? +- PARSER_EXEC -----+-------+-------+-------+-------+-------+-------+-------+ | SQUISH.INC | 4FDF | 4FDF | 4FDF | 4FDF | 4FDF | 4FDF | 4FDF | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: ???? output: ???? destroid: ???? description: ???? +- _CKENDEXP -------+-------+-------+-------+-------+-------+-------+-------+ | SQUISH.INC | 4FF5 | 4FF5 | 4FF5 | 4FF5 | 4FF5 | 4FF5 | 4FF5 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: ???? output: ???? destroid: ???? description: ???? +- _CKPARSEND -----+-------+-------+-------+-------+-------+-------+-------+ | SQUISH.INC | 4FFE | 4FFE | 4FFE | 4FFE | 4FFE | 4FFE | 4FFE | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: ???? output: ???? destroid: ???? description: ???? +- _CONVDIM --------+-------+-------+-------+-------+-------+-------+-------+ | SQUISH.INC | 5010 | 5010 | 5010 | 5010 | 5010 | 5010 | 5010 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: ???? output: ???? destroid: ???? description: ???? +- PGMIO_EXEC ------+ + pgmio_exec +-------+-------+-------+-------+-------+-------+-------+ | SQUISH.INC | 50B2 | 50B2 | 50B2 | 50B2 | 50B2 | 50B2 | 50B2 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: 'See tutorials' (Well, I have to find out how this one works) output: 'See tutorials' (idemdito) destroid: ???? description: From AsmGuru: "Not too sure about this one, used in getting input. Basically, Linus says that this uses the value in ASM_IND_CALL to determine what other romcalls and sequences to be called. ...Complicated..." ASM_IND_CALL = 0d String input : 1d Numerical input: +- _RANDOM ---------+-------+-------+-------+-------+-------+-------+-------+ | | 50B6 | 50B6 | 50B6 | 50B6 | 50B6 | 50B6 | 50B6 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: none output: OP1 destroid: HL ???? description: OP1 = (pseudo) random number +- _STORAND --------+-------+-------+-------+-------+-------+-------+-------+ | | 50BA | 50BA | 50BA | 50BA | 50BA | 50BA | 50BA | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: ???? output: ???? destroid: ???? description: ???? +- _FACTORIAL ------+-------+-------+-------+-------+-------+-------+-------+ | | 50C6 | 50C6 | 50C6 | 50C6 | 50C6 | 50C6 | 50C6 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: OP1 output: OP1 destroid: ???? description: OP1 = (OP1)! NOTE: beware of the error-handler +- _EXEC_ASSEMBLY --+ + _exec_assembly +-------+-------+-------+-------+-------+-------+-------+ | | 5102 | 5102 | 5102 | 5102 | 5102 | 5102 | 5102 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: OP1 = 05h, program name (zero terminated, ASCIIZ) output: ???? destroid: ???? description: execute an (??non squished??) assembly program NOTE: Only use this ROMcall if you know EXACTLY what you are doing. It is very easy to mess thing up (crash/RAM FAIL/etc.) +- _outputExpr -----+-------+-------+-------+-------+-------+-------+-------+ | | 5106 | 5106 | 5106 | 5106 | 5106 | 5106 | 5106 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: H = column number (1..16) L = row number (1..8) OP1(+OP2) = value to display OP1 can be a real number OP1/OP2 can be a complex number OP1 can be a variable name of any displayable type output: value displayed at H,L (x,y) destroid: ???? description: position cursor then display value +- _CKVALDELX ------+-------+-------+-------+-------+-------+-------+-------+ | SQUISH.INC | 5149 | 5149 | 5149 | 5149 | 5149 | 5149 | 5149 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: ???? output: ???? destroid: ???? description: ???? +- _CKVALDELTA -----+-------+-------+-------+-------+-------+-------+-------+ | SQUISH.INC | 5152 | 5152 | 5152 | 5152 | 5152 | 5152 | 5152 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: ???? output: ???? destroid: ???? description: ???? +- _GRBUFCLR -------+-------+-------+-------+-------+-------+-------+-------+ | | 515B | 515B | 515B | 515B | 515B | 515B | 515B | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: none output: PLOTSSCREEN, GraphBuffer, is cleared destroid: ???? +- _GRBUFCPY_V -----+-------+-------+-------+-------+-------+-------+-------+ | | 5164 | 5164 | 5164 | 5164 | 5164 | 5164 | 5164 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: none output: PLOTSSCREEN, GraphBuffer is written to the screen destroid: ???? TIP: Use _IonFastCopy, or paste it into your program if you don't use Ion (The routine is included in Ion.zip, you'll find it at www.TiCalc.org). It is much much faster. +- _CLRGRAPHXY -----+-------+-------+-------+-------+-------+-------+-------+ | SQUISH.INC | 5176 | 5176 | 5176 | 5176 | 5176 | 5176 | 5176 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: ???? output: ???? destroid: ???? description: ???? +- GRAPH_EXEC ------+-------+-------+-------+-------+-------+-------+-------+ | SQUISH.INC | 5188 | 5188 | 5188 | 5188 | 5188 | 5188 | 5188 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: ???? output: ???? destroid: ???? description: ???? +- _Axes -----------+-------+-------+-------+-------+-------+-------+-------+ | | 519E | 519E | 519E | 519E | 519E | 519E | 519E | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: ?? factors ?? output: ???? destroid: ???? description: Plot the axes on the screen based on current factors +- _setPenX --------+-------+-------+-------+-------+-------+-------+-------+ | | 51A7 | 51A7 | 51A7 | 51A7 | 51A7 | 51A7 | 51A7 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: none output: (PENROW) (PENCOL) destroid: ???? description: Set pen location (PENROW, PENCOL) to 'zone X'. (Where graph writes 'x' in function trace) +- _setPenY --------+-------+-------+-------+-------+-------+-------+-------+ | | 51B0 | 51B0 | 51B0 | 51B0 | 51B0 | 51B0 | 51B0 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: none output: (PENROW) (PENCOL) destroid: ???? description: Set pen location (PENROW, PENCOL) to 'zone Y'. (Where graph writes 'y' in function trace) +- _setPenT --------+-------+-------+-------+-------+-------+-------+-------+ | | 51B9 | 51B9 | 51B9 | 51B9 | 51B9 | 51B9 | 51B9 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: none output: (PENROW) (PENCOL) destroid: ???? description: Set pen location (PENROW, PENCOL) to 'zone T'. (Where graph writes 't' in parametric trace) +- _DISPOP1A -------+-------+-------+-------+-------+-------+-------+-------+ | | 51D4 | 51D4 | 51D4 | 51D4 | 51D4 | 51D4 | 51D4 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: A = Maximum number of characters to be displayed OP1 = FP number to be displayed (PENROW) (PENCOL) textInverse,(iy+textflags) textWrite,(iy+textflags) output: number in OP1 is rounded and displayed in small font destroid: ???? description: round(OP1) to current 'fix' value, then display it in variable font. +- IO_EXEC ---------+ + _IO_EXEC +-------+-------+-------+-------+-------+-------+-------+ | | 51EF | 51EF | 51EF | 51EF | 51EF | 51EF | 51EF | +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: ASM_IND_CALL output: ???? destroid: ???? description: IO operation is made (link-port) NOTE: Beware of the error-handler ASM_IND_CALL = 11d SENDABYTE : This routine sends a byte of data across the data lines using the TI-83 bit protocol. If there is no response within about 2 seconds an error is generated. The data to be sent needs to be in the accumulator. 19d REC1STBYTE : This routine goes into idle or low power mode and waits for the data lines to change. Then reads a byte of data using the TI-83 bit protocol. This only reads the 1st byte of data. The byte is returned in the accumlator. 20d REC1STBYTENC : The same as REC1STBYTE except that the cursor does not flash. The byte is returned in the accumulator. 22d RECABYTE : This routine looks at the data lines for activity for about 2 seconds and reads in a single byte of data. If no data is found an error will be generated. The byte is returned in the accumulator. +- EXECUTE_Z80 -----+-------+-------+-------+-------+-------+-------+-------+ | SQUISH.INC | 52E5 | 52E5 | 52E5 | 52E5 | 52E5 | 52E5 | 52E5 | +-------------------+-------+-------+-------+-------+-------+-------+-------+ | JP to: | ???? | ???? | ???? | ???? | ???? | ???? | (9327)| +-------------------+-------+-------+-------+-------+-------+-------+-------+ input: output: destroid: description: The last romcall in the jumptable (ROM 1.10)