LZ: zshell and custom menu


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

LZ: zshell and custom menu



Has anyone worked more on putting other programs than zshell in the custom
menu? It theoretically would not be too hard, but it would have to handle a
lot of stuff that zshell normally does, such as zero out the text memory.
Zshell, however, is still very helpful in that it checks out the rom
versions and compensates for them. I have an idea, then, that would allow
other programs to be run from zshell but still appear as another slot in the
custom menu. Perhaps it could be included in zshell 5.0 or later versions?
My idea is this: F1 will point to zshell at address x, and F2 will point to
address y which will look like this:
x:
        ld hl, ZS_BITS                  ; or something other than ZS_BITS ...
        set 7, (hl)
        jr z
y:
        ld hl, ZS_BITS
        res 7, (hl)
z:
        rest of zshell stuff such as memory clearing and others
        bit 7, (hl)
        JUMP_Z(address located from somewhere else)


Theoretically, this idea is pretty simple. The problem is, however, where to
store the address that the custom menu points to. Basically, the only thing
this feature would do would be to jump to the program before showing the
zshell menu with all the choices for programs. The address(es) could be
stored at the end of zshell, but I don't even want to get into how many
problems THAT would cause. However, it could search for another string (it
would have to search each time as the string would be customizable and so
would change length and probably even locations, and could even be sent from
calc to calc). It would then check this string and jump to the location
stored in it. This would be set up in such a way that the user could specify
which program he or she wanted put in whichever custom slot, like so
x:
        ld hl, ZS_BITS
        set 7, (hl)
        jr Z
y:
        ld hl, ZS_BITS
        set 6, (hl)
        jr Z
z:
        ld hl, ZS_BITS
        set 5, (hl)
Z:
        rest of zshell stuff...
F2 would point to x, F3 would point to y, F4 would point to z, etc, and F1
would point to Z. Of course, ZS_BITS would have to be set to 0 after each
execution. So, what does everyone think? (Particularly the Zshell
Development Team). It would make zshell bigger, but not by too much, and it
really would be a worthwhile feature as people could put their favorite
programs in their favorite custom slots. It could also be edited directly on
the calc without the use of a computer, hex editor, backups, etc. It may
even be able to be used eventually by programmers (edited within the course
of a program to do things like put a saved game there or something). So
everyone tell me what they think.


David Kristensen at the University of Missouri - Kansas City
dkristensen@cctr.umkc.edu


The Mind conquers All...


Follow-Ups: