Microshell

 

HomeProjects & InfosCommodore16Bit ComputerCP/M ComputerCP/M Software
Kermit 
CP/M Commander 
Microshell 
DOS/65 
ADA 
BASIC 
BASIC code examples 
C compiler 
FORTRAN 
Modula 2 
PASCAL 
UCSD Pascal 
PL/I 
Adventures 
Power (Shell) 
CP/M-86 

 

A CCP replacement for CP/M 2.2 from New Generation Systems

More comfort with CP/M 2.2 ...

New Generation Systems published 1982 several handy tools for CP/M users, their Microshell and their Microtools were well done, but unfortunately not wide spread.

Their second version of Microshell, Microshell 2.0, was published in 1983, it was a major break through for the CP/M 2.2 power users, because now even complicated batch files and menu shells could be written. Redirection of console output to a file or to a printer were already available with the old version, but this new version was almost unbelievable.

So redirection to another command is possible similar to MSDOS with the help of the '|' sign, changing the prompt is easy, and there are a lot of predefined shell variables which can be used in scripts also.
Also, interactive requesting for variable content is possible (showing that MSDOS is weaker than microshell).

An example for showing the true strength:

%print -n "Enter file name to edit: "
%getstr % 1 <$T
%if %1 = "" then exit
ws $1 <$T

There are not only build in commands for making decisions, also expressions can be evaluated, 'goto' can be used, simple arithmetic functionality is included - here a list of commands:

%EXIT
%GOTO label
%IF expr THEN action
%IFFILE filename PRESENT THEN action
%IFFILE filename ABSENT THEN action
%RETURN assignment  (example: %RETURN %C=1)
%label
 
%GETCHR var reads character from console into a var
%GETSTR var reads string
%MEMNUM var adress stored on 80H and 81H moves to a var
%MEMSTR var string stored up from 82H moves to var
%PRINT var  prints var
%PRINR constant prints constant
%PRINT -N st    prints without start CR,LF
%#ARGS var  number of arguments (parametrs) moves to a var
%BCHAR      "BREAK" character (default ESC)
%BREAK ON   break enable
%BREAK OFF  break disable
%CLEAR      clears string variables
%CLRSTR string  definition of screen clear string (default ^Z)
%ERASE      clears screen (CLS)
%EXCHAR char    character for "exit" in shell-file
%FTYPE string   max 8 file-types that are auto-searched
%LOCASE string  conversion upper->lower case
%PATH string    max 6 drives on which files are searched
%SCHAR char revert to Shell file character
%SDRIVE drive   help files drive
%SHTEXT string  Micro-shell files type
%SHIFT      variables shift  (%0=%1 ; %1=%2 ...)
%status ON  CONST READY all the time
%STATUS OFF previous CONST
%TCHAR char revert to keyboard character
%UPCASE string  conversion lower->upper case
 
%PATH   "STR"   DISK DRIVE SEARCH (e.g. PATH:AB)
%FTYPE  "STR"   FILE TYPES-AUTO SEARCH
%SHEXT  "STR"   FILE TYPE-SHELL FILES:SUB
%SDRIVE CHAR    SCRATCH DRIVE-SHELL FILES:  A
%CLRSTR "STR"   SCREEN CLEAR STRING:      ^Z
%BREAK  ON/OFF  BREAK DURING SHELL FILES:   ON
%BCHAR  CHAR    BREAK CHARACTER:     ESC
%EXCHAR CHAR    PROGRAM EXIT CHARACTER:     NONE
%TCHAR  CHAR    REVERT TO KEYBOARD CHAR:    NONE
%SCHAR  CHAR    REVERT TO SHELL FILE CHAR:  NONE
 
Compared to the later published ZCPR it was also a much stronger tool, but like already mentioned, it was not used widely so much.

To get convinced please take a look into the PDF and try it for your own CP/M system - documentation and executables can be found in a ZIP file here.
Hint: You have to use 'autocpm' and also 'sysgen' to get it permanently running as a replacement for the original CCP.

Still working on that page...

 

HomeProjects & InfosCommodore16Bit ComputerCP/M ComputerCP/M Software

Copyright (c) 2005-2014 Peter Dassow. All rights reserved.

peter.dassow@NOSPAM.z80.eu (remove NOSPAM. for a proper mail address)