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: