-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Trying to run MDL106 on KLH10 #29
Comments
No one has tested the TOPS-20 EXE files from <MDL.INT>. It's quite possible not all bits have been preserved in the binary files. As for why you can't type a text file, sorry I don't know how to transfer files to TOPS-20. Maybe try FTP instead? |
The files are ok, both Here is a transcript of what I have done after transfer:
I am not a 36-bit expert. I installed KLH10 some days ago to run mdl. :-) What I have learned from the "Kermit User Guide: DECSYSTEM-20 KERMIT 1.1" The DEC-20 has an unusual word size, 36 bits. It differs from most other It is also possible to store files with other byte sizes. The common layouts of
So I suppose, I have to convert from one format to the other. |
When I compare the
Starting the preinstalled
but then...
Perhaps the byte size difference is not the problem, perhaps the mdl106.exe is incompatible? |
There are several potential problems. First, the .exe files stored on your host computer may not have all bits preserved. Presumably, the files came from a TOPS-20 machine and was stored to tape. However, it's unknown how they was transferred from the tape to an 8-bit file. PDP-10 text files are usually stored as 7-bit ASCII, five characters to a word, and one bit left over. Normally, those five characters are stored in five 8-bit bytes on a modern host machine. But that additional bit? It's not always treated properly. Secondly, the zip file stores 8-bit bytes. Apparently, the TOPS-20 zip extracts those as 8-bit byte files. I don't know how TOPS-20 I'm sorry, I don't know enough about TOPS-20 to suggest a way forward. I do know MDL 106 runs on ITS. However, it's missing many important libraries, so it may not be able to run ZILCH. |
Thanks, that makes all sense. What is the simplest way in your opinion to get ITS with a running MDL106? On ZILF and IMDL ZILCH is running without any libraries with minor changes, nevertheless both has incompatibilities, so I'd like to check it on a "real" mdl... |
The simplest way should be to clone http://github.com/PDP-10/its and type |
Now back to the working ITS:
As of building |
Has anyone got STINK to work on TOPS-20? I got it compiled (taken from ITS mudsys; stink.2) after changed the first lines to:
Then assembled it with midas.458 (which comes with PANDA distribution):
and linked it with:
When I try to link muddle, which I try to compile, I get:
and nothing more happens.
Also assembled STINK with MIDAS.324 (which is used for ITS-Muddle) with the same negative result. Tried linking of single file also:
and nothing more happens.
|
@ZoBoRf, as far as I can see you are doing most things right. I don't immediately see why Midas complains OUT and EXIT are undefined. They are there in STINK.2, and it's unclear why they would not be included in the output. Maybe some conditional is wrong? I suggest examining STINK.EXE in DDT to see which parts of STINK.2 is there, and which aren't. Your commands to STINK look right to me. Is there a STINK that comes Panda? Perhaps experiment with that first. CC @atsampson, who did a lot of work on the Muddle STINK. |
OUT and LINK are unused labels in STINK.2. When I remove both of them (the labels, not the instructions) I get a version without assembly warnings:
The resulting EXE behaves the same way like the one with the assembly warnings. Are TWENEX and TOPS-20 "uuo compatible" ? |
Your error message was:
I checked the code below the LOAD1 and DDT1 labels, and it does seem to reference OUT and EXIT, respectively. I suspect there's something fishy going on here. TWENEX is just a nickname for TOPS-20. TENEX, on the other hand, is the predecessor to TOPS-20. TOPS-20 is mostly backwards compatible with TENEX, but maybe not 100%. For one thing, TOPS-20 added subdirectories. It's unclear if this STINK.2 would work with TENEX, TOPS-20, or both. |
By the way, you are welcome to #PDP-10 on irc.freenode.net if you want a more interactive communication channel. |
I could solve the problem with OUT and EXIT undefined with a missing closing conditional bracket in lines 1842 and 2990 of https://github.com/PDP-10/muddle/blob/master/%3Cmdl.int%3E/stink.mid.1 Got this:
Then I renamed OUT, EXIT and INIT to OUTX, EXITX, INITX respecively and the assembler warnings was gone. I'll try to look out for ignored code in the listing midas creates, in the hope to see if something is missed in assembly:
Perhaps I should try to link muddle with the LINK-10 llinker. |
I believe TOPS-20 has OUT and EXIT JSYS calls, so Midas has those symbols predefined. STINK.2 clearly uses them as labels instead. Renaming works, but another solution is to add I'm not sure about LINK. Actually, I'm not sure if TOPS-20 Midas outputs STINK or LINK relocatable files. Scripts in <mdl.in> does use STINK, so maybe LINK can't be used. I don't see any STINK in the Panda distribution, so maybe its version of Midas doesn't write the STINK, but LINK .REL format. |
Another thing to consider is how to get a MDL106.EXE file safely from the host to TOPS-20. Unfortunately, the Unix read20 program can only read DUMPER tapes, not create new ones. What I have been doing is to configure KLH10 for networking and used FTP to get files back and forth. Hopefully FTP image mode should work for an .EXE file. But first, the file must be converted to work with image mode: read20 will write it in "ASCIIized" format and FTP expects a densely packed bit stream. |
I use FTP too. First transfered it from host PC to TOPS-20:
Then compiled it on TOPS-20:
Transfered the exe to host PC and back to TOPS-20:
On TOPS-20 piex.exe still works, i.e. FTP preserves the binaries:
When I try it with an exe from github (e.g. https://github.com/PDP-10/muddle/blob/master/%3Cmdl.int%3E/mdl106.exe.5) I get this:
and on TOPS-20:
IMO the exe and othe binaries was corrupted on transfer to github or are in a different format (Core Dump(?): http://src.gnu-darwin.org/ports/emulators/klh10/work/klh10-2.0a/doc/vtape.txt). I don't understand fully your comment about |
The files from GitHub are (or should be) in what vtape.txt refers to as ANSI-ASCII format, or Tape_Ascii. FTP uses "high-density". To make sure the .EXE from GitHub isn't corrupted, extract the tape image with the latest read20 with the -b option. |
Oops, there is no tape image. |
I have converted the exe with
and transferred
Near miss. :-)
|
I think you did the right thing. But the person who provided the MDL106.EXE file probably didn't use the fully bit preserving extraction. I will try to fix this. |
That would be great! Are the tape dump images available online? The github repository https://github.com/PDP-10/muddle (and the ITS mudsys folder) seems to be the only public locations containing the muddle sources. |
No, the tape images are not due to privacy concerns. I have added MDL105 and 106 .EXE files to the muddle repository. They should have all original bits preserved. |
Converted and transfered both of them: Lets try the first one:
Lets try the second one:
I cannot find a sav file, too... :-)
I would like to try https://github.com/PDP-10/muddle/blob/master/%3Cmdl.int%3E/stink.exe.13 with all bits preserved. |
Without the
|
BTW: The same command sequence doesn't work in ITS' MUDDLE 56. |
The other problem in ITS' MUDDLE 56 is the garbage collector. Now my hope is the TOPS-20 MUDDLE version could be more stable to work with. |
Thanks for the updates. The `?:$ FATAL ERROR GARBAGE COLLECTOR IS MISSING $`
error should be fixable. I'll ping here when there are more files to try.
|
Have you assembled the ZILCH output with either the Muddle based ZAP, or the one written in MIDAS? CC @36bit |
I have assembled the *.zap output with midas ZAP (x.mid and zap.mid are in https://eblong.com/infocom/sources/minizork-r2.zip), which runs on TOPS-20. But the output generated is not compatible with the standard infocom interpreters (for example missing header information). Looks like some sort of Muddle's gc-save format. So not much fun with it for now. But ZILF's ZAPF assembles the output without major problems. |
The mdl105 interpreter, which comes with the KLH10 (Panda) distribution, errors out with
$ FATAL ERROR FIXUP FILE CANT BE OPENED $
when first error occurs. It seems it looks for
PS:<MDL>FIXUP.FILE
which is not in place. So I wanted to try the muddle on github to see if it behaves better.To run the MDL from https://github.com/PDP-10/muddle/tree/master/<mdl.int>
I have installed KLH10 from the Panda distribution http://panda.trailing-edge.com/.
Then zipped all <mdl.int> files with an old ZIPper, transfered them to TOPS-20 with a raw tape image, tested and unpacked them and trying to start.
All I get is
What I do not understand:
When I try to view the textfile with
type assem.all.7
I get trash only.
When I do a
cat <ASSEM.ALL.7 >ASSEM7.ALL
I can type ASSEM7.ALL and it contains no trash. What is going on here?
Is there a way to start mdl106.exe interpreter?
Does it display errors, when it is necessary?
The version of klh10 I am using is:
Starting with:
/kn10-kl klt20.ini
the ini file:
The text was updated successfully, but these errors were encountered: