Welcome, from another user. It is great to have another contributor here. And personally, I'm very interested to see a working ND emulator, especially if it works under Linux and unix like operating systems. Torfinn (talk) 09:26, 13 May 2019 (UTC)
- I have generated a Linux version (beta) http://www.ndwiki.org/images/6/68/NDsim.tar.gz
- Thanks! I did a quick test. PED updates the screen quite a bit faster than when running the Windows version through Wine. Looks good! TArntsen (talk) 08:20, 9 June 2019 (UTC)
- I even managed to compile a small FORTRAN program with the FTN compiler with the Linux version (it would probably work in the other version too, I haven't tried it), now I just need to remember / re-learn all the other steps. Torfinn (talk) 13:07, 21 June 2019 (UTC)
Thank you for your welcome greetings! The SINTRAN listings are valuable, mine was lost 7 years ago when I moved to a another house. At that moment my working ND-120CX was given away. It was very nice to have for testing purpose.
- Welcome! Sorry to hear about the disappearing ND-120CX! I worked a lot with the 120, it was a great machine. Even better when it was part of an ND-5700 I used.. unfortunately that system suddenly vanished also. If I had been more aware of it I could probably have had it now. Fortunately I got an ND-110/CX Satellite from gandalf. As for the Sintran listings, unfortunately they are not complete - they're just enough to write or update certain device drivers and for doing other patching. They're still very useful though. I have printed listings for H and I at least, and a computer readable one for L (part 1 and 2). TArntsen (talk) 10:12, 19 May 2019 (UTC)
- I was starting to suspect that the listings were just a subset of sintran III. I've been looking through them on and off over the weekend and realizing there is a lot missing. Especially when I was looking for the code for monitor calls. I found some but not all. If we are lucky the code could hide in the archives hidden in Fetsund. I've also learned a lot NORD-PL in the process... better late than never. :-) Gandalf (talk) 15:11, 19 May 2019 (UTC)
I tested the emulator you uploaded today, on Linux in wine+xterm. PED worked fine after I replaced the included DDBTABLES-C.VTM with a version which includes support for terminal type 6. See File:Ddbtables.zip TArntsen (talk) 20:43, 26 May 2019 (UTC)
- Thank you for testing. My emulator is using type 52 which is not present in the DDBTABLES you use. I would like to include it in my DDBTABLES (and some others as well), but I do not know how to do it. The file seems to be a mix of readable text and binary data.
- I did a quick test of the emulator today, using Wine (4.0) in Debian 9.9 and xterm. As Tor, I can report that it works, and with DDTABLES support for terminal type 6, PED runs as well. Nice. Do you have a code repository (github / gitlab or something) where we can report bugs? Torfinn (talk) 13:24, 27 May 2019 (UTC)
- I am now CAVISU at GitHub (https://github.com/CAVISU and you should be able to report bugs.
I tested the version uploaded 02-07-2021, and it works great. I'm curious about mon204/205 which are needed for the symbolic debugger, these are undocumented everywhere as far as I can tell - was it tricky to figure out what they do? TArntsen (talk)
- You will find the SINTRAN code for MON 204/205 in SINTRAN III VSX part 2 listing which I believe I got from you (PDF). Search for 3DEBUG. Without this listing it would be very difficult for me to fugure out how the NSD is implemented. I can make a detailed description later. SINTRAN is using segment switching to run the user program/debugger at the same terminal. My emulator works somewhat different; it starts the symbolic debugger in one terminal window and the program to debug in another terminal window. The two emulator instances communicate using SIGUSR1 and SIGUSR2 and a shared memory area. When starting NSD it runs as a 1-bank program using a background segment as any other program. When doing the place command MON 205 is called. The monitor call then reads (RFILE) the PROG-file to a debug segment. The number of debug segments is a SINTRAN configuration parameter. LOOK-AT is calling MON 205 which then use the alternative page table bit to read data from the debug segment. Writing data is using the same functionality. When setting a break point in the program the debugger first reads the instruction which is found at the BP address and then writes MON 204 into this address. When issuing the RUN command MON 205 is called and SINTRAN switches segment to run the user program. When the BP is reached SINTRAN will start NSD (switching segments) at a call-back address given as far as I remember when doing run/MON 205. If you type debug 205 before you start NSD and do the same in the same in the window that appears after doing PLACE the emulator will output information that may give you some more clues about the funtions in MON 205-