1871
|
1 This archive should contain:
|
|
2 SCF.IPC ----------->Patchfile to create new SCF with Kevin Darling's keyboard
|
|
3 editing, Bill Nobel's buffer pre-fill call, and some
|
|
4 general optomizations by yours truly
|
|
5 SHELL ------------->Version 2.2a of Shellplus with command history (shell is
|
|
6 so different in it's current state than the Tandy/
|
|
7 Microware original, I see no sense in making it an IPC
|
|
8 file... someone correct me if I am wrong)
|
|
9 SHELLPLUS2.2A.DOCS->This documentation file
|
|
10
|
|
11 NOTE: YOU HAVE TO USE THE IPATCH UTILITY TO MAKE A NEW SCF FOR THIS VERSION
|
|
12 OF SHELLPLUS TO WORK. IT REQUIRES THE STOCK SCF AND THE IPATCH UTILILITY,
|
|
13 AVAILABLE ELSEWHERE.
|
|
14
|
|
15 Ident of original SCF to patch:
|
|
16
|
|
17 Header for: SCF
|
|
18 Module size: $05E3 #1507
|
|
19 Module CRC: $F946CA (Good)
|
|
20 Hdr parity: $0E
|
|
21 Edition: $0D #13
|
|
22 Ty/La At/Rv: $D1 $81
|
|
23 File Man mod, 6809 obj, re-en, R/O
|
|
24
|
|
25 Ident of new SCF you should end up with:
|
|
26
|
|
27 Header for: SCF
|
|
28 Module size: $06E5 #1765
|
|
29 Module CRC: $E551FB (Good)
|
|
30 Hdr parity: $0B
|
|
31 Edition: $11 #17
|
|
32 Ty/La At/Rv: $D1 $81
|
|
33 File Man mod, 6809 obj, re-en, R/O
|
|
34
|
|
35 In 1992 or 1993, a version of ShellPlus (V2.2) had a limited release that
|
|
36 contained command history (being able to scroll forwards or backwards through
|
|
37 that last few lines that have been typed in the shell. It used Bill Nobel's
|
|
38 modified SCF (which includes Kevin Darling's line editing patches as well) &
|
|
39 worked by temporarily modifying the ABORT & INTERRUPT keyboard signals to be
|
|
40 up & down arrows. (It then used the signals generated by the 2 arrow keys to
|
|
41 go forward or backwards through the command history buffer, even if you were
|
|
42 in the middle of typing a line.) Once you hit <ENTER>, it switched the signals
|
|
43 back to normal, and then processed the line (thus, if you were running a
|
|
44 program, you could still <CTRL>-<C> or <E> out of it). One small problem it
|
|
45 had, though, was that if you DID break out of a program, when it came back to
|
|
46 the shell it still had the <CTRL>-<C> or <E> sitting in the keyboard buffer.
|
|
47 Since the first thing ShellPlus V2.2 did was reset those keys, the real
|
|
48 <CTRL>-<C> / <E> sitting in the buffer got printed as an illegal OS-9
|
|
49 character ('.'), so you always had a period sitting as the first character on
|
|
50 your new shell prompt line.
|
|
51 I went in and attempted to fix this just after I got this version of
|
|
52 ShellPlus, and did so with partial success. I eliminated the period, but
|
|
53 caused a new bug that if you forking sub-shells and using <CTRL>-<C>/<E> at 2
|
|
54 or more levels down a Fork chain (ex. doing a '$dir' from BASIC09 ends up
|
|
55 being 2 levels deep), it crashed all shells running on the machine. So, this
|
|
56 version wasn't released.
|
|
57 Just recently I finally figured out how to fix it, and did. To
|
|
58 differentiate between the two versions, mine is called ShellPlus V2.2a.
|
|
59 While it could have been done without it, this version requires a new SCF,
|
|
60 that has an extra option added onto Bill Nobel's keyboard buffer filling
|
|
61 SetStat call. If the high bit of Y is set, a carriage return will NOT be
|
|
62 appended automatically to the keyboard buffer. This SCF also contains some
|
|
63 minor speed optomizations in other parts of the code as well, so even if you
|
|
64 don't use Shell+, it should be worth your while.
|
|
65 NOTE!!!!!
|
|
66 There was a small bug in the original buffer filling call- it didn't bother
|
|
67 to check the size of the buffer you specified in Y before it tried to copy
|
|
68 it... a large value would crash the machine. Since Shell+ V2.2A REQUIRES the
|
|
69 new high-bit Y version of SCF's buffer filling call, it will CRASH an old SCF
|
|
70 machine as soon as you try to abort (with <CTRL>-<E>, <CTRL>-<C> or <BREAK>)
|
|
71 any program you run from the shell. MAKE SURE YOU INSTALL THE NEW SCF BEFORE
|
|
72 INSTALLING SHELLPLUS V2.2A!
|
|
73 Shell+ V2.2A also fixes some bugs in Shell+2.1/2.2:
|
|
74 1) It opens Directories (for CHD/CHX/CD/CX) in READ mode instead of UPDATE
|
|
75 (according to the manual, these will be slightly faster) since none of those
|
|
76 shell commands write to the directories.
|
|
77 2) The ^ option (for setting priority just for the command line you are
|
|
78 typing) now works. The original should have worked, but for some reason
|
|
79 didn't. I think it had something to do with trying to change the priority of
|
|
80 a module just after it was forked; maybe it hadn't been 'fully' forked by the
|
|
81 time the priority was to change. I modified Shell+ to set itself to the new
|
|
82 priority, fork the process, and then immediately set itself back to normal.
|
|
83 3) If a ShellSub module was linked (see ShellPlus V2.1 docs), it didn't
|
|
84 unlink it properly, due to to statements being backwards in the original
|
|
85 source. This has now been fixed.
|
|
86
|
|
87 For those of you running NitrOS9, the new version 1.20 upgrade will include
|
|
88 this shell, and has an even more extensively optomized SCF (see NitrOS9 docs
|
|
89 for details)
|
|
90
|
|
91 -L. Curtis Boyle, Aug. 20, 1994-
|
|
92
|