Alex_Goryachev (Sprinter Team)
2002/08/21 14:32
|
User Menu tool
|
| |
Today, Flex Navigator (file manager) is a main program of the Sprinter computer (Anton Enin, thank you again ). But 17 programms and utilities were made for Estex during one year. So, Sprinter has more than 25 programms now. Not a lot, but usually each program has separate directory of disk. Finding an any program for executing take a time. Flex Navigator don't has user menu (like user menu of Norton Commander). May be it will be added in next version of FN, in future... GUI of Estex is a best solution, certainly. But it will be done after a new version of Disk SubSystem next year only. Today we can propose a User Menu tool which will be finished soon.
User Menu is an Estex application which serves for comfortable executing other Estex applications. It can start after the starting of the Sprinter computer and show a menu of your favorite programms. You need only to fill text file which serves for description of contents of User Menu.
Main features of User Menu tool:
Usage of any quantity of submenu.
Support of command line.
Timing of start of current program.
Return from an executed application.
Do you have another suggestions for this tool?
---
PETERS PLUS LTD
|
flydream (stranger
)
2002/08/21 15:37
|
|
Yes... what about a possibility to run more than one application (a kind of multitasking....) and graphics interface such as the "dosshell" or "viewmax"?
|
Alex_Goryachev (Sprinter Team)
2002/08/27 17:09
|
|
Multitasking (pseudo) on the Sprinter is possible but in future version of Estex only. It needs more hard work and a time. At first, for example, we need a new DSS.
But graphics interface as separated application is more really thing today.
---
PETERS PLUS LTD
|
Alex_Goryachev (Sprinter Team)
2002/09/03 18:27
|
|
We hope, first version of User Menu tool will be finished at the end of this week.
Today's command format:
MENU.EXE [keys] [menufile] [#section]
keys:
-h help page
-x autoexit from menu when program are terminated
menufile structure:
[MENU]
title='menu title'
item='item name', 'program' 'hot key'
autoexit='0/1'
menucolour='paper', 'ink'
barcolour='paper', 'ink'
defaultitem='number', 'time'
---
PETERS PLUS LTD
|
Marcelo (stranger
)
2002/09/04 15:12
|
|
Alex: I think it would be GOOD to know the called program's EXIT CODE in the User Menu Tool.
For example, I could want to use the menu tool to -for example- compile a MASM80 assembly program. I would like to know MASM80's exit code in order to call (or NOT call, if there were errors) SLINK.EXE.
In other words, B register contents when DSS call "EXIT" is executed should return somehow to MENU.EXE.
Can this be done?
Marcelo.
----------------------------------
Speccy rules, its staff is Sprinter.
|
Alex_Goryachev (Sprinter Team)
2002/09/05 13:10
|
|
My question - just to check how I've understood your suggestion.
So, your suggestion is an EXIT CODE of executed program which User Menu should save in B register and next give it to another program?
---
PETERS PLUS LTD
|
Marcelo (stranger
)
2002/09/05 15:55
|
|
Well... Not quite.
Let's assume a menu task being "Compile Assembly Project". You select a project, and then MASM80 is invoked. Suppose there's no errors. Then, SLINK.EXE is invoked (because the Menu launched a BAT file). So far, so good: You have your long-waited-for EXE file.
Now let's assume there WERE compile errors in MASM80. The launched BAT has no way to know, and blindingly launches SLINK.EXE, which will fail because there is no .RES file to link.
So, what *I THINK* we need here is some kind of DOS's IF and ERRORLEVEL implementation in such a way that upon return to the launched BAT file (from MASM80 in this case) can run or skip parts of the BAT intelligently (SLINK.EXE in this case).
Obviously, some way to SELECT FILES (with full drive, path and filename) from a "dialog" is needed as well, so MASM80 "knows" what to compile in the first place!
Just for reference, the BAT could be something like:
M80 =%D%P%F%E
:IfRetVal 0 SLINK %D%P%F.REL
In this case, ":IfRetVal" means "If EXE returned value", so the whole line would read "If Masm returned 0, then run SLink with the Drive, Path, Filename and .REL extension". Also a ":IfNotRetVal" would be desirable as well...
Long explanation, but I think it covers the point 
Marcelo.
----------------------------------
Speccy rules, its staff is Sprinter.
|
Denis Parinov (Sprinter Team)
2002/09/05 23:40
|
|
It's clear. :) Today we have not any conditions in the bat-files. But it will come later. We have plan to implementation something like errorlevel, system environment with PATH and other system variables, %1...%9 for specify bat-parameters and etc. May be it will more smart script language. :) And I hope that it will solve some tasks.
In the first version of USERMENU have not features like this. It just a simple launcher for programs or startup menu. It can start a program or command by user choice or after some delay. Also it can start itself. You may define several menu in one file. And something else. :)
|
flydream (stranger
)
2002/09/06 00:02
|
|
errorlevels may be write on a file!
|
Marcelo (stranger
)
2002/09/06 15:56
|
|
Denis:
Thank you. I don't really think users of Sprinter need bloatware like Windoze, but I think that Estex is a little behind the position it should have as an OS. That regarding BAT files. Looking forward for the OS upgrade!
FlyDream:
I know MY progs can do anything with files. Not only that: I can launch a program from within another and check from the "parent" program the "child" exit code, in order to run or not another, different "child". But that sounds like writing a BAT interpreter myself...
The problem comes when you want to check OTHER PERSON's software exit codes. Mebbe they didn't use FILES at all to notify error codes; in the case of MASM80, it only creates the REL file(s) and nothing else. There's no way to check if it aborted due to error.
Marcelo.
----------------------------------
Speccy rules, its staff is Sprinter.
|
Denis Parinov (Sprinter Team)
2002/09/07 01:12
|
|
Sure, the Sprinter's Operating System which called Estex not finished yet. We will work for it, only. The first module of operating system which called DSS (disk subsystem) was developed some years ago. Now we have working for the second version of this subsystem. Because, it had some bugs and had not some features which have got used for a lot of users at the other systems. Next, we plan to develop the other subsystems which will born a new modern system Estex for the Sprinter. During this work our engineers will improve Sprinter architecture and add some hardware features by Altera PLD. I hope, that you won't know the same Sprinter in a year. :)
|
Denis Parinov (Sprinter Team)
2002/09/07 01:29
|
|
Hm... And what are you think about a small utility IF.EXE. Which will launch first program and when program was ended then check it errorcode. If it's TRUE result then lanched second program, else third program. For example:
IF.EXE 0==masm.exe %1.asm then link.exe %1.obj else echo Error!
Is it required or not? It can be made soon.
|
flydream (stranger
)
2002/09/07 01:45
|
|
:-) you are great!!!
|
Marcelo (stranger
)
2002/09/09 15:12
|
|
Sorry for not seeing your post earlier, Denis!
Yes, that IF.EXE looks fine. It will be one of my downloads...
I did not know that .BAT files in Sprinter may use %1 type parameters. But that is even better to know. You know, it is never too late to learn new things .
If you would, please include the source code for IF.EXE, because I'd like to have an example of how to launch a program from within another.
Marcelo.
----------------------------------
Speccy rules, its staff is Sprinter.
|
Alex_Goryachev (Sprinter Team)
2002/09/09 18:16
|
|
First version of User Menu tool will be published soon.
Example of default menufile:
[MENU]
title=SPRINTER
autoexit=0
defaultitem=1,3
menucolor=1
barcolor=11
menuitem=Flex Navigator, c:\FN\FN.EXE
menuitem=Load Spectrum ROMs, c:\zx\spectrum.exe c:\zx\norun
menuitem=- Spectrum menu -, c:\menu\menu.exe c:\menu\default.mnu#spectrum
menuitem=Command prompt, c:\system.exe /s
menuitem=Clear screen, c:\system.exe cls
[spectrum]
title=SPECTRUM MODES
defaultitem=1
menucolor=4
barcolor=7
menuitem=Sprinter ZX, c:\zx\spectrum.exe c:\zx\sprinter.zx
menuitem=ZX Spectrum, c:\zx\spectrum.exe c:\zx\spec128.zx
menuitem=Pentagon 128, c:\zx\spectrum.exe c:\zx\pent128.zx
menuitem=Scorpion 256, c:\zx\spectrum.exe c:\zx\scorpion.zx
menuitem=Pentagon 512, c:\zx\spectrum.exe c:\zx\pent512.zx
---
PETERS PLUS LTD
|
Denis Parinov (Sprinter Team)
2002/10/04 01:21 Attachment
|
|
> Yes, that IF.EXE looks fine. It will be one of my downloads...
I had got a time for it. And now it's available for download. The sources also included.
|
Marcelo (stranger
)
2002/10/04 15:29
|
|
Denis:
I'll print and take a look at the sources.
Don't you think this simple utility can be put in the Downloads section? It looks pretty powerful... It may add up to the "DOS" utilities.
Thanks for the fast answer!
Marcelo.
----------------------------------
Speccy rules, its staff is Sprinter.
|
Denis Parinov (Sprinter Team)
2002/10/09 04:11
|
|
> Don't you think this simple utility can be put in the Downloads section? It looks pretty powerful... It may add up to the "DOS" utilities.
Yes, it's done. I hope that time to time I'll improve it and add some new features.
|