Not sure if anyone really cares, but I figure it don't hurt to tell
anyway...
I have for many years used a very old version of MicroEMACS for RSX. I
eventually started searching around for alternatives, but realized
during that search that most Emacs clones are horribly huge (including
MicroEMACS), not portable at all (even if they claim to be), and
generally also expects to just allocate gobs of memory to keep all data
in ram.
Now, RSX, being a PDP-11 OS, have a 16-bit address space limitation. So
just allocating memory is never going to be a solution. There is a C
compiler, which is pretty much ANSI C. But it is not Unix, and gives you
the C standard IO library, but not low level Unix calls.
On the plus side, most of the library can sit in supervisor space, and
not consume any memory in your process space.
Clones I've looked at:
MicroEMACS - Huge and difficult to port. Use lots of memory.
JOVE - Small (runs on 2.11BSD), but horribly difficult to port.
mg - Huge and difficult. Use lots of memory.
AMIS - Huge, and written in Pascal. Not necessarily bad, but adapting
the code to a new system requires mucking around some, made worse by the
small differences in different Pascal compilers, and the lack of any
preprocessor, as well as the bonehead type system in Pascal. Also use
lots of memory, but it has been made to run on small machines (including
PDP-11 with RSTS/E) in the past, so it is a solveable problem.
Atto - Hard to port.
JED - Huge.
I looked at dozens more, which were not even worth looking deeper into,
or to list here.
The long and short of it was that, even though there are numerous
implementations out there, they all suck, from my point of view.
With all that in mind, I decided to write my own Emacs clone instead
(yes, I got horribly upset with the lousy quality of most code I looked
at, if someone wants to hear some rants, contact me privately).
I started about a month ago, and at this point, it's working, and quite
useful. And I guess if other people are in a similar situation, they
might be interested in looking into this, and possibly make use of it.
Quick run through:
. ANSI C sources.
. Mostly uses the C standard IO library. Exception is terminal I/O,
which requires some small pieces reimplemented if you want to port it.
So, if you have an ANSI C compiler, porting should be very low effort.
. Only works on ANSI terminals today. It would be doable to extend with
other terminal support, but I don't have any need, and since I do not
have, nor want to depend on curses, it will require coding to either
have a module to uses curses, if that is wanted, or handling of specific
terminals.
. The compiled code, using PDP-11 C, ends (at the moment) up at around
36 Kbytes of binary. The C library and RMS sits mostly in supervisor
mode, and is not accounted for in this.
. Data usage is about 8K for various storage and strings.
. Code dependecies are very much in a tree, so overlaying is easy, if
wanted/needed, and that capability exists on the host.
. Since I compile with split I/D space, this means than about 56K of
dataspace can be used for buffering of various sorts.
. File buffers are kept in a temporary file, and read/written to memory
as needed (pretty much a demand-paging virtual memory implementation in
the application).
. The virtual, paged memory is about 4G, which is an absolute limit on
memory usage. Practical file limit is (I would guesstimate) around 1G.
. Most basic EMACS editing functions are implemented, including split
windows, multiple buffers, kill buffer, moving around in various ways,
and some semi-stupid automatic indentation handling for C code. Also
incremental searching in a proper fashion.
. Speed, tested on a real PDP-11/93 is pretty acceptable. Testing on a
file about 1000 lines takes a couple of second to open, and a couple of
seconds if you try to search from the start to the end. Most other
things move faster.
. The program is not suitable for editing binary data. The C standard
I/O library don't really lend itself to binary I/O, and this code have
to live within those constraints.
There are still lots of functionality that I'm working on adding, such
as repeats (almost done) and macros (only started thinking about it).
If people have functions they consider extra important, let me know, and
I'll see if I can add them. If people want to contribute code, I'll be
happy to incorporate changes as well, as long as they make sense.
The sources, as well as a compiled RSX-11M-PLUS binary for PDP-11 C
V1.2, can be found at HECnet: MIM::DU:[NEMA], or
ftp:://nema at mim.update.uu.se/.
This editor is now installed as ...EMA on MIM::, so if you type "EMA
filename", you can see how it works there.
It is now my tool for doing further development. I have ditched
MicroEMACS. So I'm constantly testing the thing, as I am developing
it... :-)
Maybe someone will find it useful...
Johnny
--
Johnny Billquist || "I'm on a bus
|| on a psychedelic trip
email: bqt at softjar.se || Reading murder books
pdp is alive! || tryin' to stay hip" - B. Idol
On 2016-05-31 17:10, Sampsa Laine wrote:
> Why don?t one of you RSX gurus port ?joe? to RSX?
>
> OK it?s not emacs but it?s quite small and has enough functionality..
"Small" in this case is more than 10 times the size of NEMA... :-)
But if someone wants to try, I can answer questions.
Johnny
On Tue, May 31, 2016 at 06:10:41PM +0300, Sampsa Laine wrote:
>Why don???t one of you RSX gurus port ???joe??? to RSX?
>OK it???s not emacs but it???s quite small and has enough functionality..
I'm thinking the point isn't: if only there were a nice editor, any
editor, that fits on RSX (those of us who grew up on EDT generally *love*
it already, and TECO is its own religion), but rather to accommodate
people's muscle memory and accept the commands they were already going to
type whether they meant to or not (which is why E11's built-in editor goes
in the other direction and uses the EDT/KED keypad layout).
John Wilson
D Bit
Is anyone maintaining an up-to-date DECdns server based off of Johnny's nodedb?
I've recently set up an emulated VAX (simh) at 61.152 called ENKIDU,
running OpenVMS 7.3. I was hoping to use DECdns for simple node name
resolution. In the interim I'm using Jordi's DECdns server (which he
mentioned a while ago), but it doesn't appear to be as up to date with
the official nodedb as I'd like. :)
Thanks,
Mark
Can somebody update the cisco tunnel configs and send me the tunnel configs? My current IP is 50.131.150.11 - I will get a cisco VM up when I get home
(no PSUs for the working routers I have...)
From: Johnny Billquist <bqt at softjar.se>
>With all that in mind, I decided to write my own Emacs clone instead
>(yes, I got horribly upset with the lousy quality of most code I looked
>at, if someone wants to hear some rants, contact me privately).
>
>I started about a month ago, and at this point, it's working, and quite
>useful.
Way to go! Very impressive.
>. Only works on ANSI terminals today. It would be doable to extend with
>other terminal support, but I don't have any need, and since I do not
>have, nor want to depend on curses, it will require coding to either
>have a module to uses curses, if that is wanted, or handling of specific
>terminals.
I agree. The days of dozens of choices of real terminals are long over,
so the amount of extra work you'd do just for that one time that someone
dusts off a Teleray 1061 just to open one file and then turn it off forever,
is really not worth it. Expecting someone doing real work to find an ANSI
terminal is totally fair.
John Wilson
D Bit
On 2016-05-29 19:43, Phil Budne wrote:
> I don't recall it being great,
> but there was an emacs11 written in DEC TECO-11;
>
> ftp://ftp.ultimate.com/emacs/emacs11.urls
> ftp://ftp.ultimate.com/emacs/emacs11.tar.Z
>
> http://www.ibiblio.org/pub/academic/computer-science/history/pdp-11/teco/em…
> says:
>
> This directory contains Fred Fish's EMACS for TECO-11 v35 or higher.
> Fred hasn't used this stuff since 1982.....
>
> Pete Siemsen, 28-Jul-1989
>
> The code is well commented!
Yes, I know about it.
I actually did sortof an Emacs clone in TECO-8 many years ago. It's
actually pretty easy to do a decent implementation in TECO. The problem
is that you cannot really edit large files. TECO-8 and TECO-11 can edit
arbitrarily large files, but only as a stream. You read in a page of the
file (where a "page" is a bit loosely defined), you edit it, and then
you pass it on to the output, and read in the next page. At that point,
you cannot go back to a previous page anymore. And all editing is
happening within the buffer that you have in memory. So all addressing
is done local to the page you have in memory.
So, while cool, and somewhat fun, it have some rather severe limitations
if you want to edit large files. And this is a TECO-11 limitation, and
cannot really be solved in a good way by any code written inside
TECO-11. What I did for my implementation for TECO-8 was that I keep a
count of which page I was on, and if I wanted to go backwards, I had to
close the file, reopen it, and read from the beginning until I was at
the previous page, and then work from there.
Johnny
--
Johnny Billquist || "I'm on a bus
|| on a psychedelic trip
email: bqt at softjar.se || Reading murder books
pdp is alive! || tryin' to stay hip" - B. Idol
VMS 5.4
I have a tape with a VMS backup saveset. It has a directory tree on the tape
[foo]
[foo.bar]
[foo.bar.barf]
How do I (backup command line) restore the tape as a subdirectry and have
backup to create the needed directories under my new "root" like [tapes]?
Say that I want to put it under
[tapes.foo]
[tapes.foo.bar]
etc
??
-P
Hello!
I have now confirmed that the Cat2960G series is the fellow who use F/O bundles as its preferred means managing a link to it. Does anyone have an idea as to the style of connecting F/O styles?
Gregg on that.
Sent from my iPod
On Aug 7, 2013, at 7:50 PM, Dave McGuire <mcguire at neurotica.com> wrote:
> On 08/07/2013 07:47 PM, Gregg Levine wrote:
>> Here's a stretch, a shop in California named WeirdStuff is selling a
>> Cisco Catalyst 2948G for 35 dollars. Obviously that prices does not
>> include S&H costs. They go onto discuss what else the thing has, such
>> as - Layer 3 Switch - 48 Ports 10/100 - 2 GBIC Ports for Gigabit
>> uplink. I believe that is a good description. But I'm no judge of
>> prices.
>>
>> Someone here made the mistake of throwing out a batch of Cisco gear
>> items and I rescued them before the local vulture union could destroy
>> them. New I believe they are worth more then some of the cars people
>> drive here.
>>
>> One was a Catalyst 2900, and the other was a Catalyst 2960G, (with the
>> optical delivery items for fiber-optics), and still another was a
>> 2500, (which is a classic amongst that family I believe.), and then a
>> 3600, the other happened to be a 2550 series unit.
>>
>> How hard is it to identify them and confirm what I rescued?
>
> Quite easy.
>
> 2500s are ancient, but still very useful. 2900s, not so much. 3600s still go for more serious money; if they threw them in the trash, they're idiots. 2550s also fetch some money.
>
> I can help you go through their hardware configurations and such, crack passwords for access, etc etc when the time comes.
>
> -Dave
>
> --
> Dave McGuire, AK4HZ
> New Kensington, PA