The following text was written by Philip
Gossling:
Here are some ideas I thought up over the past year that I would
love to see in future GUI shells for the TI-86. Your eyes will also be entertained by the
cool screen shots I've included! :-) I actually tried making a GUI with the ideas below, but
I wasn't as good at ASM then, so I quit the project, and now I'm too busy! So I'm throwing
out my ideas to anyone who will take the bait :-)
1.
PRACTICAL USER INPUT. A shell on a calc should be built with a calculator
keypad in mind, not a mouse. My shell would use no mouse pointer. F1 would always be the
Start menu. F2-F5 would be the categories of programs, with F2 being the Desktop (the
first screen you see when starting the program), and then Games, Math and Utilities. The
arrow keys move a highlighting bar that highlights the programs, and 2nd runs the selected
program. Key input in the shell should be simple and fast, with nothing that wouldn't
really be feasible for a calculator.
2.
ICONS. Lets face it, icons are cool. So far these have only been experimented
with in Aurora, which was too slow and impractical. Icons however can still work on a
calculator. If I remember right, Aurora used 8x8 sprites placed above the program name.
This wasn't very smart. This layout just doesn't work on the 86 screen very well. However,
If you make the icons 7x7 sprites and place them to the immediate left of the program name,
you can fit lots of prgm names on one screen. You could also have the screen scroll down to
fit more programs. The shell should also have a built in icon editor that would attach
the icons to a program, so icon files wouldn't clutter the RAM. Icons should be able to be
attached and detached from files. If a program has no icon with it, the shell should
provide it with a temporary built in icon according to the file type. The shell should
also have a small icon library so users can choose from pre-maid icons that they can assign
to variables. Users could also add their own designs to the library. Now wouldn't that be
awesome :-)
|
3. START BAR. Notice the
Windows-like Start Bar at the bottom of the screen in the shell screenshots. You'll notice
it displays different info in each screen shot. This is an interesting concept I came up
with. The bar could be personalized to have quick jumps to categories using the F2-F5 keys,
show a clock, the Free RAM, the date (if a clock was made), and more, maybe even a special
welcome message. If you want to do some quick calculations and stay in the shell, then
press F1(Start) and select the Calculate icon to do some math, and the start bar will
remain on the bottom of the screen, allowing you to stay in the shell and run progs
quickly. The math you could do would be limited though. If Windows add-on programs were
created for the shell, they could leave the start bar on the screen and just display the
program output above the bar.
4. TIME CLOCK. I think this is possible
to do, though I don't know exactly how it would keep accurate time when running an assembly
program. If it was done, you could display the date, have calendars, and have schedule
programs, etc. Maybe even a calculator-based student planner. You could also change APD
settings or see how long a program would take to run....(just some ideas).
|
5. EXPLORER. A Windows explorer
for a calculator? I though this shell was supposed to be practical! An explorer would be a
great addition to the future GUI shells. My concept (see screenshot) is called RAM
Explorer. It allows you to view, delete, and get info on EVERY TI variable in the RAM (not
just programs). By clicking on the RAM icon, you can see all the variables, displayed on
the right, and info about the RAM (mem free, etc.). You can move these files into folders
that you create to organize them. How will folders work? Easy! My concept of a folder is
simply a TI string variable with a header that lets the shell know its a folder. Then after
the header, the string contains the names of all the files in the folder. The shell then
searches for these files and displays them! The RAM Explorer can be personalized to show TI
variable's built in icons (see icon screenshots) or variable type (as shown in screenshot
above) or variable size, or both. You can also use the STO-> key to move variables or
folders to other folders or the category folders like the Desktop. Explorer would also have
a built in linking program so you could receive stuff or send whole folders' contents to
other calcs. Also, when receiving a huge program with tons of sub-programs and variables
(like many TI-BASIC games), the Explorer will automatically create a folder (if you want)
that contains all the variables downloaded. Then if you hate the program and want to erase
it, you just delete the folder. No more will you have to search through 98k for all the
variables the program used to be sure its all out of the ram! Talk about useful! Talk about
cool!
|
6. STRING VIEWER AND EDITOR. (This is
what the Notepad program is for) The GUI should have the ability to view strings in a
window in menu-text and provide the ability to edit the string or create a new string with
menu-text. There would also be formatting characters like the new-line character. With
icons added to the strings you could personalize them, like make help files, etc.
7. EMULATION. The GUI has to have emulation for the TI-82, TI-83 and TI-85.
This is the standard was set by ASE and Rascall, and should definitely be included in all
future shells. The shell should assign icons to emulated programs.
8.
COMPRESSION. The ability to compress and uncompress strings and programs.
9. WINDOWS PROGRAMS. The Ability to create programs that will run as if
they were integrated into the interface. They will run in windows, and the start bar will
remain on the screen. This is simple to do, but the program's output must be above the
start bar and the program must have input routines to activate the start bar. You could
also give programmers the addresses in the GUI of the time and where other useful info is
stored.
10. COMPONENTS. If you want WindowsCE without the Explorer,
or without the text editor, or you just want emulation and a desktop, then just erase or add
the components you want. The GUI should NEVER have the Explorers and Icon Editors and so on
built in. The shell should search for these programs on startup and if they are not there,
then the program will still run fine, you just wont have those abilities. This will allow
users to customize the size of their shell to fit their needs.
Wouldn't all this
stuff in one GUI be huge? Anyone who is knowledgeable in ASM would see that all these
things can be accomplished in probably under 10k. And remember about components.
That's All for now. If I come up with anything else I'll update this article. Please post
questions, comments, and ideas for what you would like to see in future GUI shells. Also,
If anyone wants to create a shell like this (maybe create a programming group) then let me
know. I am a good artist and graphic designer who is also knowledgeable in Assembly. I just
don't have time with college and a full time job to create a shell like this myself. I
will help with art and ideas if you need them.