Re: A85: Features for a new shell
[Prev][Next][Index][Thread]
Re: A85: Features for a new shell
I will try to add support for BASIC programs to my shell, but for Usgard
and ZShell I think I'd rather not to do so. It will increase the size of the
shell, and anyway, only programs written for the new shell can be run in
multitasking mode. But the relocation will be the same as Usgard. Concerning
libraries, I will first put a lot of functions in the shell itself to make
programing easier. After that, maybe ...
I have some questions about the way the shell should handle multitasking.
But first, a little description of the system...
There will be 2 kinds of programs: real mode and protected mode. Programs for
the real mode will run like in other shells, and programs for protected mode
will run in multitasking mode. Obviously, there is restrictions to protected
mode:
- Programs can't use areas of memory like GRAPH_MEM or TEXT_MEM, so the
shell create a safe area and return a pointer for each program.
- When the user switch between the different programs running, the
program which is given focus must update the screen.
I have imagined 2 solutions to this last problem. The first consists of
saving the whole screen for each program (bad idea for a 28 Kb RAM), and the
second would be creating a function in each program to redraw the screen when
the OS call it.
If you have a better solution or if you know other problems implied by
multitasking, please report it. I'm waiting for your feedback...
Farid Bouzaghti
Follow-Ups: