Re: A83: Re: Menus & ZMENULIB


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

Re: A83: Re: Menus & ZMENULIB




Well.. I probably won't release it, because then people would just copy it
into their own programs. It was supposed to be a library...
The code is nothing but some _puts, _putc, _clrScrn calls and loads of
conditional  jr:s and stuff like that. Just a matter of bothering to write.

Linus

On 04-Oct-98, James Matthews wrote:

>Woah, Linus, pretty damn impressive :)  How close are we to getting the
>ZMENULIB code off you? :)

>Thanks,

>James Matthews (matthews@tkb.att.ne.jp)

>ICQ: 7413754
>http://home.att.ne.jp/gold/tomcat21/index.html
>http://library.advanced.org/18242/

>----------
>> From: Linus Akesson <lairfight@softhome.net>
>> To: Assembly-83 <assembly-83@lists.ticalc.org>
>> Subject: A83: Menus & ZMENULIB
>> Date: Sunday, October 04, 1998 8:15 AM
>> 
>> Hello.
>> 
>> The menus play a big role in the TI-83 operating system. Some would say it
>is
>> the very core of the user interface. So how come we can't use it from asm?
>> 
>> The answer is simple; the menu routines accept 1 byte that specifies which
>> menu to put up. All menu-related rom calls read this 1-byte menu code, and
>> look up the rest in tables found in ROM. All menu-related rom calls check
>> this byte to see whether they should display the reset warning message,
>> whether they should build a program list etc. And all menu-related rom
calls
>> refer to these hardcoded ROM tables and cannot be fed with pointers into
>ram.
>> 
>> The BASIC menus? Well, it's indeed complicated. You have to create several
>> temporary string variables, push them onto the fpstack, push the names of
>the
>> BASIC labels to jump to, all with proper memory checking and error
handling.
>> And then you still get the ugly every-other-dot run inicator turned on all
>> the time. And then it doesn't work either. =)
>> 
>> There is only one solution to this (which Pat has actually told us). To
>write
>> your own menu routines. And I've done that.
>> 
>> ZMENULIB is a 395 bytes big file, containing ready-to-use menu code. It is
>> NOT a sos library. Instead, you have to look the program up, and jump to
the
>> beginning of it. This way, it can be used by shell-independent programs
(AND
>> sos programs of course).
>> 
>> Please have a look at the attached files; try running menutest.83p (Send9),
>> and then look at its source code. There is also a brief description in the
>> readme file.
>> 
>> Enjoy.
>> 
>> Linus
>> 
>> 



References: