[Simh] Way out idea for simh

Johnny Billquist bqt at softjar.se
Wed Apr 20 18:24:16 EDT 2016


On 2016-04-21 00:11, Sampsa Laine wrote:
>
>> On 21 Apr 2016, at 01:05, Johnny Billquist <bqt at softjar.se> wrote:
>>
>> On 2016-04-20 22:35, Sampsa Laine wrote:
>>>
>>>> On 20 Apr 2016, at 23:25, Phil Budne <phil at ultimate.com> wrote:
>>>>
>>>> Ken.Cornetet wrote:
>>>>> I guess I need to shout this:
>>>>> ******* KERMIT DOES NOT WORK ON SIMH EMULATED RTE-6/VM ********
>>>>
>>>> Why not?
>>>>
>>>>> Kermit does not exist (and probably couldn't feasibly exist) on any earlier versions of RTE.
>>>>
>>>> Again, why not?
>>>>
>>>> Having just written a new shell for PDP-7 UNIX (because the original
>>>> could not be found), I can't imagine much other than a lack of
>>>> something resembling a serial console that would prevent _some_
>>>> version/subset of KERMIT (or something similar like X or ZMODEM) from
>>>> being cobbled together.
>>>>
>>>
>>> And since the connection can be assumed to be lossless, the protocol could be really simple, e.g. something like this:
>>
>> Actually, we should not assume the connection is lossless, so I would stick with Kermit.
>>
>> (There are examples of overflowing the serial port, resulting in lost characters by simple buffer overruns.)
>>
>> Add checksums to the packets, and this is pretty much what Kermit is.
>
> Agreed, add a checksum and the built-in SIMH file server sends a NAK if it didn’t like a packet. Each packet is let’s say X bytes + checksum.
>
> I think the generic simple file server should be fairly simple to write and the guest OS tools relatively portable, you just have to change the writing/reading of the metadata for each guest OS.
>
> Of course you only implement this for simulations where Kermit is not an option..

Well, you have pretty much described exactly how Kermit works. Why not 
use that then? You do not actually have to implement the more advanced 
stuff. Kermits can talk to each other, even ones with limited 
functionality. Also, another thing Kermit can do is escape all 
characters with the high bit set, and almost all control characters, 
which can be useful as not all OSes are that transparent on non-printing 
characters.

Kermit exists for lots of systems, but if it don't, then writing a 
simple Kermit is no worse that writing something similar with your own 
invented protocol. But using Kermit you also only have to implement one 
side. The other side already exists.

And despite other peoples comments to the contrary: Kermit is simple to 
implement. I've done it on a PDP-8.
I can't remember, but I might have been using 8K for it. Doubt I used 
more. And that had some fancy stuff that you don't really need, so a 
slimmed version could fit in less.

	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


More information about the Simh mailing list