[Simh] VHD support in SIMH
I know that SIMH can support VHD files. But, can it support difference files using the VHD format? If so, how do you set it up? The reason I ask is that I use an online backup service, and every time I run SIMH it has to back up the whole virtual disk. It would help if it would only backup the data that has changed, as would be present in a VHD difference disk. I did write my own differencing code for SIMH a while back, but I have abandoned that now. Regards Rob ___ Simh mailing list Simh@trailing-edge.com http://mailman.trailing-edge.com/mailman/listinfo/simh
Re: [Simh] Networking TOPS-20 using the pdp10 simulator
I have some instructions from Timothe Litt that helped me to get rid of the FAL error. I can let you have them if that would help. Regards Rob -Original Message- From: simh-boun...@trailing-edge.com [mailto:simh-bounces@trailing- edge.com] On Behalf Of Mark Abene Sent: 13 February 2014 01:56 To: Jordi Guillaumes i Pons Cc: simh@trailing-edge.com Subject: Re: [Simh] Networking TOPS-20 using the pdp10 simulator Silly question, but you did follow the instructions in the Guide specifically for *2020*, correct? The installation for the Model B machines differs a little from the 2020. I'm a little suspicious that FAL is throwing illegal instruction errors... -Mark On Wed, Feb 12, 2014 at 8:35 AM, Jordi Guillaumes i Pons j...@jordi.guillaumes.name wrote: Hello, After (finally!) networking TOPS-10 running on simh using the KDP/DUP siumlator I'm trying to do the same with TOPS-20. I have built a TOPS-20 system and I'm now trying to get DECNET (phase III) running on it. I have followed the instructions contained here: http://bitsavers.informatik.uni- stuttgart.de/pdf/dec/pdp10/TOPS20/DECnet-20/AA-5091B-TM_TOPS- 20_DECnet-20_Programmers_Guide_Jan80.pdf and used this tape: http://bitsavers.informatik.uni- stuttgart.de/bits/DEC/pdp10/magtape/dec_distribs/decnet/DECNET- 20_V2.1_2020_7-20-82.tap.gz but I can't put it to work (NETCON complains about being unable to get the network topology and FAL dies because an illegal instruction error). Since I seem to remember someone was succesfull networking TOPS-20 over simh, I'd like to know if I'm using the correct software kit, or if there is something not documented to do to put this to work. Jordi Guillaumes i Pons j...@jordi.guillaumes.name HECnet: BITXOV::JGUILLAUMES ___ Simh mailing list Simh@trailing-edge.com http://mailman.trailing-edge.com/mailman/listinfo/simh ___ Simh mailing list Simh@trailing-edge.com http://mailman.trailing-edge.com/mailman/listinfo/simh ___ Simh mailing list Simh@trailing-edge.com http://mailman.trailing-edge.com/mailman/listinfo/simh
Re: [Simh] how to get eth connexion
Hello Gérard, If I have understood you correctly you have given the simulated Ethernet interface the same MAC address as the physical interface, although if that is right there seems to be a typo in your first email. I would definitely give SIMH a unique MAC address that is not already on your network. Additionally, although I suspect it may not make a difference, it might be best to use a DEC MAC address in your SIMH config, DEC MACs start with 08-00-2B. Regards Rob -Original Message- From: simh-boun...@trailing-edge.com [mailto:simh-bounces@trailing- edge.com] On Behalf Of Gérard Calliet Sent: 04 November 2013 06:50 To: simh@trailing-edge.com Subject: Re: [Simh] how to get eth connexion Hi Mark, Thanks for your answer. I tried the simh 4.0 beta. It's still not working. I join show ethernet result, ipconfig/all result, my ucx config, the init file. I choosed the right eth (eth0 is the active wifi interface on windows). I gave its mac address as interf mac address in the simh init file. I don't understand where is the problem. I am just a beginner on simh, so I could have done some error, but I don't see what it is. Gérard Calliet pia-sofer Le 04/11/2013 00:37, Mark Pizzolato - Info Comm a écrit : On Sunday, November 03, 2013 at 2:47 PM, Gérard Calliet wrote: Hello, I am a beginer on simh. I have tried a lot of thing to get connected by ethernet, on simh 3.9 openvms 7.3, openvms 7.0, vms 5.5 ... / ucx 4.0 I have instaled wincap on a Windows Seven I cannot get any connexion Hi Gérard, Try using the latest simh binaries from https://github.com/simh/Win32-Development-Binaries/blob/Win32- Developm ent-Binaries/simh-4.0-Beta--2013-10-02-5feb20d0.zip Alternatively, if you've got a Visual Studio environment (or MinGW) available, you can build from the latest sources available from: https://github.com/simh/simh/archive/master.zip If you are still having problems, provide the output of SHOW ETHERNET from a sim prompt along with the output of IPCONFIG/ALL from a Windows command prompt, and explain what makes you think that the ethernet is not working. Good Luck. - Mark ___ Simh mailing list Simh@trailing-edge.com http://mailman.trailing-edge.com/mailman/listinfo/simh
Re: [Simh] PDP-10 simulator with DMR/KDP support?
It is still being worked on, there isn't anything ready for use yet. Regards Rob From: simh-boun...@trailing-edge.com [mailto:simh-boun...@trailing-edge.com] On Behalf Of Bob Armstrong Sent: 07 June 2013 18:36 To: simh@trailing-edge.com Subject: [Simh] PDP-10 simulator with DMR/KDP support? I've decided to try my hand at building a TOPS-10 with DECnet on a KS10/simh. I followed a lot of the discussion of this a couple of months ago, but I'm not sure where it all ended. Can anybody point me to a copy of the PDP10 simh with the latest DMR/KDP support? Thanks, Bob Armstrong ___ Simh mailing list Simh@trailing-edge.com http://mailman.trailing-edge.com/mailman/listinfo/simh
Re: [Simh] TOPS-20 Source with KMC11 Driver Code?
I also see a reference in pdp11_hk which is the RK611/RK06/RK07 disk controller Regards Rob -Original Message- From: Timothe Litt [mailto:l...@ieee.org] Sent: 27 May 2013 13:50 To: Mark Pizzolato - Info Comm Cc: Robert Jarratt; simh@trailing-edge.com Subject: Re: [Simh] TOPS-20 Source with KMC11 Driver Code? It is a subtle bug having to do with what happens to bits that nominally don't carry useful data. Most -10 code wouldn't notice since 17:16 would be ignored. it would just fetch the expected data with a load byte instruction. TOPS-20 is relying on the UBA's clearing of these bits to detect hardware or programming errors. My suggested changes should not break the CR. This communication may not represent my employer's views, if any, on the matters discussed. On 27-May-13 08:37, Mark Pizzolato - Info Comm wrote: On Monday, May 27, 2013, at 5:23 AM Timothe Litt wrote: On 27-May-13 05:48, Robert Jarratt wrote: -Original Message- From: Timothe Litt [mailto:l...@ieee.org] Sent: 26 May 2013 11:25 To: Robert Jarratt Cc: simh@trailing-edge.com Subject: Re: [Simh] TOPS-20 Source with KMC11 Driver Code? Rob, Thanks for the log. Looks like both simh and you have some bugs. But you're close to working... First nit: the KMC CMD DUP QUEUE debug messaged looks like they are trying to print hex as well as octal - missing a % in the printf() format? (Assuming the data is passed twice...) Oops! Missed that, thanks. The descriptors look reasonable. Second: The Map_WriteW routine (in pdp10_ksio.c) is preserving bits 0,1, 18 19, but this is a 16-bit device. The real UBA would clear them in this case. This is a bug in simh. Changing ksio from this if (ba 2) M[pa10] = (M[pa10] INT64_C(07760)) | val; else M[pa10] = (M[pa10] INT64_C(06077)) | (val 18); To this if (ba 2) M[pa10] = (M[pa10] INT64_C(07700)) | val; else M[pa10] = (M[pa10] INT64_C(00077)) | (val 18); Seemed to cure the immediate problem You must be the first user of these routines... Actually he is not. The only other current user is in the pdp11_cr (CD11 simulation). The use of Map_WriteW in the CD11 is only when the CDCSR bit 1 is set (CDCSR_V_PACK) which is a flag controlling 'Data Packing'. Maybe this bit is never set by the PDP10 operating systems, or maybe it is set, but no one ever noticed the problem since the transfer size used is always 2 in the pdp11_cr code. Someone should look closer at this, but my knowledge in that space is essentially non-existent. - Mark ___ Simh mailing list Simh@trailing-edge.com http://mailman.trailing-edge.com/mailman/listinfo/simh
Re: [Simh] Netcon
The disks are cloned but I modified 4-1-config.cmd to change the node name and number. That is all I did. So in one I have the line NODE TOPS20 25 And in the other I have NODE TOPS21 26 I don't know much about how NETCON would get its permissions, it is being started from SYSJOB.RUN, this is what I have in that file after following the instructions in the manual I was following: RUN SYS:ORION RUN SYS:QUASAR RUN SYS:MOUNTR RUN SYS:INFO RUN SYS:MAILER RUN SYS:MAPPER RUN SYS:LPTSPL RUN SYS:LPTSPL RUN SYS:CDRIVE RUN SYS:SPRINT JOB 0 /LOG OPERATOR XX OPERATOR ENA ^ESET LOGIN PSEUDO ^ESET LOGIN CONSOLE ^ESET OPERATOR PTYCON GET SYSTEM:PTYCON.ATO / JOB 1 /LOG OPERATOR XX OPERATOR ENA RUN SYS:BATCON / JOB 2 /LOG OPERATOR XX OPERATOR ENA RUN SYS:FAL / JOB 3 /LOG OPERATOR XX OPERATOR ENA RUN SYS:NETCON / Note that the manual used \LOG rather than /LOG but was contradictory on this as in some places it was one and in others it was the other. I tried a loopback test, which failed as per the attached log file. One more data point. When I use UETP to verify the configuration I get these errors in the log: $TYPE EXCEPT.LOG.2 ERROR VF2020 27-May-2013 10:32:240:00:00 0:00:00 ? Mismatch occurred during verification: Currently installed file: PS:DECNETDECNET.BWR.1 644032 P Correct file: PS:DECNETDECNET.BWR.1 556602 P ERROR VF2020 27-May-2013 10:32:240:00:00 0:00:00 ? Mismatch occurred during verification: Currently installed file: PS:DECNETDECNET.DOC.1 350434 P Correct file: PS:DECNETDECNET.DOC.1 614303 P They suggest that the docs are not right, but nothing else. Regards Rob -Original Message- From: Timothe Litt [mailto:l...@ieee.org] Sent: 27 May 2013 14:35 To: Robert Jarratt Cc: simh@trailing-edge.com Subject: Re: [Simh] Netcon owever, I still see one end repeatedly sending the first DDCMP message (05 06 C0 00 00 01), but nothing else happens, no response going the other way, no messages on the console etc. I notice that I do get this message on bootup though: SJ 3: $RUN SYS:NETCON SJ 2: ?ILLEGAL INSTRUCTION 0 AT 236246 SJ 2: ?UNDEFINED OPERATION CODE SJ 3: SJ 3: % NETCON: COULD NOT OBTAIN NETWORK TOPOLOGY Could it be that I still don't have the right version of DECnet on this virtual machine? Thanks! Rob Er, are you still running cloned systems? Make sure the node number and name are different between the two. As I wrote, I'd need to debug this, but it's possible that NETCON just isn't graceful about this. This communication may not represent my employer's views, if any, on the matters discussed. dnv2ll.log Description: Binary data ___ Simh mailing list Simh@trailing-edge.com http://mailman.trailing-edge.com/mailman/listinfo/simh
Re: [Simh] TOPS-20 Source with KMC11 Driver Code?
Mark, It is time for me to start learning about git. The bit I am struggling to understand right now is now to clone your repository to my personal space on github, can I do this from the web site? Regards Rob -Original Message- From: Mark Pizzolato - Info Comm [mailto:m...@infocomm.com] Sent: 27 May 2013 18:34 To: Timothe Litt; Mark Pizzolato - Info Comm Cc: Robert Jarratt; simh@trailing-edge.com Subject: RE: [Simh] TOPS-20 Source with KMC11 Driver Code? Hi Tim, On Monday, May 27, 2013 at 9:28 AM. Timothe Litt wrote: Hopefully, when the KDP is working Rob will merge (and if necessary debug) my changes commit them to fix both problems. Ideally adding the page optimization, but beggars can't be choosers. If he doesn't I'll try to get to that later (if I have commit access to simh on github). You don't need commit access to the core repository on Github to get your changes submitted and accepted. The github paradigm is: 1) you create a personal account on github. 2) you 'clone' the github simh/simh repository to your personal github space. 3) you clone either of these to your working environment and do your work and check-in locally as desired/needed. 4) you configure your local repo to have your personal github repo as the primary push repo and the siimh/simh one as another remote repository. Steps 2 and 3 can be in any order. When you are ready to submit your changes, you: 1) you pull from the simh/simh and merge to the latest codebase 2) you push your local working repo to your personal github repo 3) Using the github web UI you create a pull request for the github simh/simh repo. This pull request will create an issue which will track the details of what will happen. I'll review the changes and either accept them as is and simply complete the merge or I'll respond with some comments and/or suggestions and you can make revisions until we're both happy and the merge will be completed. Once the merge completes, each of your commits (with your name) will be part of the repository/history. If you don't want to climb the learning curve of using git, I'll be glad to take changes which I'd prefer be the complete files of any files you've changed along with a description (as verbose as you may want) of the point of the changes and I'll review and commit these using the description as the commit message. I'll credit you in the commit comments, but the commit will have my name on it. If you go down this path, you can send all of the files as separate attachments or preferably bundle them in a zip file and send it via email (there is no problem is you include extra files which you didn't actually change since git will only notice the changed content anyway). Without regard to climbing the git learning curve, If you create a github account and let me know you've done it, I'll add you as a contributor to the project and assign issues to you where appropriate. If you create a github account now, and create an issue at https://github.com/simh/simh/issues describing the problems with Map_WriteW, I'll assign that issue to you and when you ultimately submit fixes, the pull request you create can be the fix to the issue... I suppose I should see about building a current version, as I seem to be in the middle of debugging several things by Braille... (Or is this simply a memory test for me :-) Without jumping into git, you can always pickup the latest code at https://github.com/simh/simh/archive/master.zip I look forward to anything you've got to offer. Thanks. - Mark This communication may not represent my employer's views, if any, on the matters discussed. On 27-May-13 11:48, Mark Pizzolato - Info Comm wrote: On Monday, May 27, 2013 at 6:19 AM, Timothe Litt wrote: This thread is getting far too messy. The increment problem found by Rob is NOT subtle. It's just plain broken. I agree 100%. The code, as written, would write twice as much simulated memory as intended which usually would crash things nicely (and did when Rob tried with the DMC). I found that the ONLY current use (prior to Rob's DMC) of this routine was in the CD11 simulator and that use either might never actually get executed (if the CDCSR_V_PACK bit not been set), OR if it was actually executed it would have been with the constant byte count of 2 which should have written 1 16/18 bit word, but actually wrote 2 due to the bug. This may have never been exercised, OR writing the second word may have merely written the high bytes 18 bits of a word which was never referenced by the program... The mishandling of the high bits is what I meant when I wrote 'subtle'. Understood. ___ Simh mailing list Simh@trailing-edge.com http://mailman.trailing-edge.com/mailman/listinfo/simh
Re: [Simh] TOPS-20 Source with KMC11 Driver Code?
Ah, I wondered if that is what you meant. Perhaps it would be a good idea to post something on GitHub (if there is a suitable place), to give newbies guidance on how to get set up. Any questions people ask could go in a FAQ, then you don't have to keep repeating yourself... :-) How are we going to manage Visual Studio Projects though? As you know, I use Visual Studio 2012 Express edition, so when I add files to the project, the project file will be in 2012 format, but the master is in an older format (2008 iirc). Won't we get into versioning conflicts? Regards Rob -Original Message- From: Mark Pizzolato - Info Comm [mailto:m...@infocomm.com] Sent: 27 May 2013 21:54 To: Robert Jarratt; Mark Pizzolato - Info Comm; 'Timothe Litt' Cc: simh@trailing-edge.com Subject: RE: [Simh] TOPS-20 Source with KMC11 Driver Code? On Monday, May 27, 2013 at 1:43 PM, Rob Jarratt wrote: Mark, It is time for me to start learning about git. The bit I am struggling to understand right now is now to clone your repository to my personal space on github, can I do this from the web site? Yes. Cloning is both a concept and a raw git command you can use on the command line at a shell prompt. The command: $ git clone git://github.com/simh/simh.git This will create a local repository copy of the simh github repository. I use Git Extensions on my windows desktop as a git GUI. The Git Extensions interface has a clone GUI as well. It also provides a bash shell which you can enter direct git commands if/when you need to do this. Meanwhile, the github site's interface at https://github.com/simh/simh has a Fork button in the upper right hand corner. This fork operation creates a clone of the repository in your personal github account. Please ask as many questions as you want. The more you know the easier it will be for you to climb this hill.. Good Luck, - Mark Regards Rob -Original Message- From: Mark Pizzolato - Info Comm [mailto:m...@infocomm.com] Sent: 27 May 2013 18:34 To: Timothe Litt; Mark Pizzolato - Info Comm Cc: Robert Jarratt; simh@trailing-edge.com Subject: RE: [Simh] TOPS-20 Source with KMC11 Driver Code? Hi Tim, On Monday, May 27, 2013 at 9:28 AM. Timothe Litt wrote: Hopefully, when the KDP is working Rob will merge (and if necessary debug) my changes commit them to fix both problems. Ideally adding the page optimization, but beggars can't be choosers. If he doesn't I'll try to get to that later (if I have commit access to simh on github). You don't need commit access to the core repository on Github to get your changes submitted and accepted. The github paradigm is: 1) you create a personal account on github. 2) you 'clone' the github simh/simh repository to your personal github space. 3) you clone either of these to your working environment and do your work and check-in locally as desired/needed. 4) you configure your local repo to have your personal github repo as the primary push repo and the siimh/simh one as another remote repository. Steps 2 and 3 can be in any order. When you are ready to submit your changes, you: 1) you pull from the simh/simh and merge to the latest codebase 2) you push your local working repo to your personal github repo 3) Using the github web UI you create a pull request for the github simh/simh repo. This pull request will create an issue which will track the details of what will happen. I'll review the changes and either accept them as is and simply complete the merge or I'll respond with some comments and/or suggestions and you can make revisions until we're both happy and the merge will be completed. Once the merge completes, each of your commits (with your name) will be part of the repository/history. If you don't want to climb the learning curve of using git, I'll be glad to take changes which I'd prefer be the complete files of any files you've changed along with a description (as verbose as you may want) of the point of the changes and I'll review and commit these using the description as the commit message. I'll credit you in the commit comments, but the commit will have my name on it. If you go down this path, you can send all of the files as separate attachments or preferably bundle them in a zip file and send it via email (there is no problem is you include extra files which you didn't actually change since git will only notice the changed content anyway). Without regard to climbing the git learning curve, If you create a github account and let me know you've done it, I'll add you as a contributor to the project and assign issues to you where appropriate. If you create a github account now, and create an issue at https://github.com/simh/simh/issues describing
Re: [Simh] TOPS-20 Source with KMC11 Driver Code?
Would I be able to check the solution and project files into my own repo and somehow avoid sending those commits to you, assuming I can keep them separate from the other changes? -Original Message- From: Mark Pizzolato - Info Comm [mailto:m...@infocomm.com] Sent: 27 May 2013 23:04 To: Robert Jarratt; Mark Pizzolato - Info Comm; 'Timothe Litt' Cc: simh@trailing-edge.com Subject: RE: [Simh] TOPS-20 Source with KMC11 Driver Code? On Monday, May 27, 2013 at 2:42 PM, Robert Jarratt wrote: Ah, I wondered if that is what you meant. Perhaps it would be a good idea to post something on GitHub (if there is a suitable place), to give newbies guidance on how to get set up. Any questions people ask could go in a FAQ, then you don't have to keep repeating yourself... :-) Good point. Let me think about how/where to keep this info. How are we going to manage Visual Studio Projects though? As you know, I use Visual Studio 2012 Express edition, so when I add files to the project, the project file will be in 2012 format, but the master is in an older format (2008 iirc). Won't we get into versioning conflicts? Good question. Project definition files change very rarely. I would suggest that you DON'T check-in your changed projects. By default, the current repository is setup to not 'notice' new files (i.e. your .vcxproj files) in the Visual Studio Projects directory, so you really won't have to think much about this. When visual studio 'auto-converts' the default (Visual Studio 2008) projects to ones appropriate for your Visual Studio version, it will change the simh.sln file with pointers to the new project files. Git will notice this change since the simh.sln file is already managed under source control. When you do a commit/check-in, do not check-in the simh.sln file. As part of me pulling in your new code I'll find that it won't build cleanly in my test environment and I'll fix the base project files and ALSO go and update the makefile and descrip.mms to reflect the required corresponding changes. -Original Message- From: Mark Pizzolato - Info Comm [mailto:m...@infocomm.com] Sent: 27 May 2013 21:54 To: Robert Jarratt; Mark Pizzolato - Info Comm; 'Timothe Litt' Cc: simh@trailing-edge.com Subject: RE: [Simh] TOPS-20 Source with KMC11 Driver Code? On Monday, May 27, 2013 at 1:43 PM, Rob Jarratt wrote: Mark, It is time for me to start learning about git. The bit I am struggling to understand right now is now to clone your repository to my personal space on github, can I do this from the web site? Yes. Cloning is both a concept and a raw git command you can use on the command line at a shell prompt. The command: $ git clone git://github.com/simh/simh.git This will create a local repository copy of the simh github repository. I use Git Extensions on my windows desktop as a git GUI. The Git Extensions interface has a clone GUI as well. It also provides a bash shell which you can enter direct git commands if/when you need to do this. Meanwhile, the github site's interface at https://github.com/simh/simh has a Fork button in the upper right hand corner. This fork operation creates a clone of the repository in your personal github account. Please ask as many questions as you want. The more you know the easier it will be for you to climb this hill.. Good Luck, - Mark Regards Rob -Original Message- From: Mark Pizzolato - Info Comm [mailto:m...@infocomm.com] Sent: 27 May 2013 18:34 To: Timothe Litt; Mark Pizzolato - Info Comm Cc: Robert Jarratt; simh@trailing-edge.com Subject: RE: [Simh] TOPS-20 Source with KMC11 Driver Code? Hi Tim, On Monday, May 27, 2013 at 9:28 AM. Timothe Litt wrote: Hopefully, when the KDP is working Rob will merge (and if necessary debug) my changes commit them to fix both problems. Ideally adding the page optimization, but beggars can't be choosers. If he doesn't I'll try to get to that later (if I have commit access to simh on github). You don't need commit access to the core repository on Github to get your changes submitted and accepted. The github paradigm is: 1) you create a personal account on github. 2) you 'clone' the github simh/simh repository to your personal github space. 3) you clone either of these to your working environment and do your work and check-in locally as desired/needed. 4) you configure your local repo to have your personal github repo as the primary push repo and the siimh/simh one as another remote repository. Steps 2 and 3 can be in any order. When you are ready to submit your changes, you: 1) you pull from the simh/simh and merge to the latest codebase 2
Re: [Simh] TOPS-20 Source with KMC11 Driver Code?
Thanks Timothe, I am pretty sure I am doing all the things you mention already (sorry I didn't make that clear), but I will check through everything you have said, just in case I have missed something. Regards Rob -Original Message- From: simh-boun...@trailing-edge.com [mailto:simh-bounces@trailing- edge.com] On Behalf Of Timothe Litt Sent: 19 May 2013 11:26 To: simh@trailing-edge.com Subject: Re: [Simh] TOPS-20 Source with KMC11 Driver Code? A couple of other things come to mind (naturally, after pushing 'send'): Initialization will load/verify the microcode. That has to work. After setting RUN and the interrupt enables, expect base-in and control-in command to establish the DUP CSR address, buffers, line mode/enable. These require that the KMC respond to KMCRQI by initiating an A vector interrupt. Besides RDIO and WRIO, there are bit test (TIOx) , bit set (BSIO) and bit clear (BCIO) instructions that also touch the KMC. For better directed hints, I'd need more detail on what is and isn't happening. This communication may not represent my employer's views, if any, on the matters discussed. On 19-May-13 04:53, Robert Jarratt wrote: -Original Message- From: simh-boun...@trailing-edge.com [mailto:simh-bounces@trailing- edge.com] On Behalf Of Rich Alderson Sent: 08 May 2013 01:02 To: hec...@update.uu.se; simh@trailing-edge.com Subject: Re: [Simh] TOPS-20 Source with KMC11 Driver Code? From: Robert Jarratt robert.jarr...@ntlworld.com Date: Tue, 7 May 2013 23:33:36 +0100 Can anyone point me at the right place to look at TOPS-20 driver code for the KMC11? I can see that it is trying to get the Microprocessor to do something and read back some values, but I don't know what values it wants to get and so it reports: Hi, Rob, http://pdp-10.trailing-edge.com/tops20v41_monitor_sources/index.html You want the file KDPSRV.MAC in that directory. Rich ___ Simh mailing list Simh@trailing-edge.com http://mailman.trailing-edge.com/mailman/listinfo/simh I am making some progress with getting the KMC/DUP emulation working in SIMH for TOPS-20. At the moment I am stuck on one thing, which is the interrupts to tell the OS that the KMC has processed a buffer. The OS sets the interrupt enable bit and when I have something to report to the OS I set the relevant interrupt bit. However, nothing happens when I do that. I am wondering if I have the right interrupt bit? I am using bits 8 and 9 (decimal). I am not sure how to find out which bit I should be setting. Can anyone help? Regards Rob ___ Simh mailing list Simh@trailing-edge.com http://mailman.trailing-edge.com/mailman/listinfo/simh ___ Simh mailing list Simh@trailing-edge.com http://mailman.trailing-edge.com/mailman/listinfo/simh
Re: [Simh] TOPS-20 Source with KMC11 Driver Code?
I have made some progress. I realised that I did not have the interrupt acknowledgement routines set up in the DIB. It is working a bit better now. I have indeed seen some commands to read the ram and verify the microcode, it does all this to check the KMC is working before enabling it. This particular code has never (as far as I know) worked for the 11 or the VAX. I wrote the DMC11 code for those. This code I am working with now came from someone else and was written for the PDP1) for a much older version of SIMH. Regards Rob -Original Message- From: simh-boun...@trailing-edge.com [mailto:simh-bounces@trailing- edge.com] On Behalf Of Timothe Litt Sent: 19 May 2013 14:54 To: simh@trailing-edge.com Subject: Re: [Simh] TOPS-20 Source with KMC11 Driver Code? I am pretty sure I am doing all the things you mention already Then I need a trace of what's happening to the registers, and what simh thinks it's doing with the interrupts. (It would be easiest to follow if you output both octal and decode the register names/fields, though I can still think - slowly- in octal.) Also, I thought this code was working for the -11/VAX. If so, the basics must be OK, though the drivers may well take a different approach to the device. Received data should produce either a control-out (error, e.g. no buffer available or DSR change or NXM...) or a buffer-out B interrupt. The message must fit in 1 buffer. Errors may implicitly free a BDL... Transmit done - also note that we ignore interrupts unless the 'last buffer' bit is set. (The DDCMP header and data are in two BDL segments, and require two interrupts.) Finally, I'm not sure if you'll see it used, but there is code in the TOPS-20 driver that uses KMCRMI (1000 in BSEL0) step (KMCSUP 400) to force the microcontroller to execute several known instructions - to access its data ram, registers PC. This is primarily used to dump a KMC that halts - it doesn't seem to be used when the built-in ucode is loaded. But some of these are also used to verify data ram at initialization. Failure to verify will cause the device to be disabled. We can go down that path if you see those bits being set in a trace. Look for KMCXCT calls in http://pdp-10.trailing-edge.com/BB-Y393K-SM/01/monitor- sources/kdpsrv.mac.html TOPS-10 doesn't do this. The microinstructions are defined in http://bitsavers.trailing- edge.com/www.computer.museum.uq.edu.au/pdf/EK-KMC11-OP- PRE%20KMC11%20General%20Purpose%20Microprocessor%20User's%20Ma nual.pdf http://bitsavers.trailing- edge.com/www.computer.museum.uq.edu.au/pdf/EK-KMC11-OP- PRE%20KMC11%20General%20Purpose%20Microprocessor%20User%27s%2 0Manual.pdf The subset is pretty small - load address register, load/store indirect (with increment), branch. I think you ought to be able to crash simh if an unknown instruction is forced, including a branch to an address other than 0. Ugly device, ugly driver. Sigh. This communication may not represent my employer's views, if any, on the matters discussed. On 19-May-13 07:42, Robert Jarratt wrote: Thanks Timothe, I am pretty sure I am doing all the things you mention already (sorry I didn't make that clear), but I will check through everything you have said, just in case I have missed something. Regards Rob -Original Message- From: simh-boun...@trailing-edge.com [mailto:simh-bounces@trailing- edge.com] On Behalf Of Timothe Litt Sent: 19 May 2013 11:26 To: simh@trailing-edge.com Subject: Re: [Simh] TOPS-20 Source with KMC11 Driver Code? A couple of other things come to mind (naturally, after pushing 'send'): Initialization will load/verify the microcode. That has to work. After setting RUN and the interrupt enables, expect base-in and control-in command to establish the DUP CSR address, buffers, line mode/enable. These require that the KMC respond to KMCRQI by initiating an A vector interrupt. Besides RDIO and WRIO, there are bit test (TIOx) , bit set (BSIO) and bit clear (BCIO) instructions that also touch the KMC. For better directed hints, I'd need more detail on what is and isn't happening. This communication may not represent my employer's views, if any, on the matters discussed. On 19-May-13 04:53, Robert Jarratt wrote: -Original Message- From: simh-boun...@trailing-edge.com [mailto:simh- bounces@trailing- edge.com] On Behalf Of Rich Alderson Sent: 08 May 2013 01:02 To: hec...@update.uu.se; simh@trailing-edge.com Subject: Re: [Simh] TOPS-20 Source with KMC11 Driver Code? From: Robert Jarratt robert.jarr...@ntlworld.com Date: Tue, 7 May 2013 23:33:36 +0100 Can anyone point me at the right place to look at TOPS-20 driver code for the KMC11? I can see that it is trying to get the Microprocessor to do something and read back some values, but I don't know what values it wants to get and so it reports: Hi, Rob
Re: [Simh] TOPS-20 Source with KMC11 Driver Code?
What is curious now is that I have two instances (identical clones) running attempting to talk to each other. The first message one sends to the other crashes the OS: ** *BUGHLT KMCIII AT 19-May-2013 15: *ADDITIONAL DATA: 00172507, 0200 ** The odd thing is that I have delivered the same data that was sent from the other end, so it should be valid data. The data is: 05 06 C0 00 00 01 That data does not seem to completely match the DDCMP spec I have, I think some checksum is supposed to follow. Is that supposed to be added by the KMC perhaps? I don't fully expect it to work because they are clones so would expect some kind of error, but would not expect a crash, or am I wrong? Regards Rob -Original Message- From: simh-boun...@trailing-edge.com [mailto:simh-bounces@trailing- edge.com] On Behalf Of Robert Jarratt Sent: 19 May 2013 15:21 To: 'Timothe Litt'; simh@trailing-edge.com Subject: Re: [Simh] TOPS-20 Source with KMC11 Driver Code? I have made some progress. I realised that I did not have the interrupt acknowledgement routines set up in the DIB. It is working a bit better now. I have indeed seen some commands to read the ram and verify the microcode, it does all this to check the KMC is working before enabling it. This particular code has never (as far as I know) worked for the 11 or the VAX. I wrote the DMC11 code for those. This code I am working with now came from someone else and was written for the PDP1) for a much older version of SIMH. Regards Rob -Original Message- From: simh-boun...@trailing-edge.com [mailto:simh-bounces@trailing- edge.com] On Behalf Of Timothe Litt Sent: 19 May 2013 14:54 To: simh@trailing-edge.com Subject: Re: [Simh] TOPS-20 Source with KMC11 Driver Code? I am pretty sure I am doing all the things you mention already Then I need a trace of what's happening to the registers, and what simh thinks it's doing with the interrupts. (It would be easiest to follow if you output both octal and decode the register names/fields, though I can still think - slowly- in octal.) Also, I thought this code was working for the -11/VAX. If so, the basics must be OK, though the drivers may well take a different approach to the device. Received data should produce either a control-out (error, e.g. no buffer available or DSR change or NXM...) or a buffer-out B interrupt. The message must fit in 1 buffer. Errors may implicitly free a BDL... Transmit done - also note that we ignore interrupts unless the 'last buffer' bit is set. (The DDCMP header and data are in two BDL segments, and require two interrupts.) Finally, I'm not sure if you'll see it used, but there is code in the TOPS-20 driver that uses KMCRMI (1000 in BSEL0) step (KMCSUP 400) to force the microcontroller to execute several known instructions - to access its data ram, registers PC. This is primarily used to dump a KMC that halts - it doesn't seem to be used when the built-in ucode is loaded. But some of these are also used to verify data ram at initialization. Failure to verify will cause the device to be disabled. We can go down that path if you see those bits being set in a trace. Look for KMCXCT calls in http://pdp-10.trailing-edge.com/BB-Y393K-SM/01/monitor- sources/kdpsrv.mac.html TOPS-10 doesn't do this. The microinstructions are defined in http://bitsavers.trailing- edge.com/www.computer.museum.uq.edu.au/pdf/EK-KMC11-OP- PRE%20KMC11%20General%20Purpose%20Microprocessor%20User's%20Ma nual.pdf http://bitsavers.trailing- edge.com/www.computer.museum.uq.edu.au/pdf/EK-KMC11-OP- PRE%20KMC11%20General%20Purpose%20Microprocessor%20User%27s%2 0Manual.pdf The subset is pretty small - load address register, load/store indirect (with increment), branch. I think you ought to be able to crash simh if an unknown instruction is forced, including a branch to an address other than 0. Ugly device, ugly driver. Sigh. This communication may not represent my employer's views, if any, on the matters discussed. On 19-May-13 07:42, Robert Jarratt wrote: Thanks Timothe, I am pretty sure I am doing all the things you mention already (sorry I didn't make that clear), but I will check through everything you have said, just in case I have missed something. Regards Rob -Original Message- From: simh-boun...@trailing-edge.com [mailto:simh-bounces@trailing- edge.com] On Behalf Of Timothe Litt Sent: 19 May 2013 11:26 To: simh@trailing-edge.com Subject: Re: [Simh] TOPS-20 Source with KMC11 Driver Code? A couple of other things come to mind (naturally, after pushing 'send'): Initialization will load/verify the microcode. That has to work. After setting RUN and the interrupt enables, expect base-in and control-in command to establish the DUP
Re: [Simh] TOPS-20 Source with KMC11 Driver Code?
Oops, meant to say the first byte sent is 0x05. -Original Message- From: Robert Jarratt [mailto:robert.jarr...@ntlworld.com] Sent: 19 May 2013 21:01 To: 'Timothe Litt'; 'simh@trailing-edge.com' Subject: RE: [Simh] TOPS-20 Source with KMC11 Driver Code? Thanks! There was a bug in my interrupt acknowledge routine. With that fixed the interrupts now seem to be working OK. I have made progress, with the two clones talking to each other I get this now: *BUGCHK BADHDR AT 19-MAY-2013 20:40:52 *BAD DDCMP HEADER *ADDITIONAL DATA: 746314746314, 74631477 I am going to have to re-learn MACRO to work out why it is failing. The code I see has two jumps to BUMHDR, I can't work out what the first one means, the second seems to be checking the first byte, which being 0x06 should be OK, so it is probably the first condition that is failing. Regards Rob -Original Message- From: simh-boun...@trailing-edge.com [mailto:simh-bounces@trailing- edge.com] On Behalf Of Timothe Litt Sent: 19 May 2013 18:01 To: simh@trailing-edge.com Subject: Re: [Simh] TOPS-20 Source with KMC11 Driver Code? That's the code that emitted the bugcheck. BUG(KMCIII) = BUGHLT KMCIII. You need to tell simh what vector to use when you tell it about the pending interrupt. Most devices have only one vector. The KMC (and DMC/DMR) have 2. A is the (numerically) first; B is the second. So in the interrupt ack routine, you need to return VEC_KDP * kmcnumber or VEC_KDP * kmcnumber +4, depending on which interrupt is being granted. (Or whatever symbol you used.) A should be generated by RDI; B by RDO. That will tell simh how to find the right service routine. IIRC, if both happen to be pending at the same time, A takes precedence. Without seeing the code, I can't be more explicit... Oh, be careful when you talk about bit numbers. The unibus is little-endian (lsb = bit 0); the -10 is big-endian (MSB -0 bit 0). This communication may not represent my employer's views, if any, on the matters discussed. On 19-May-13 12:36, Robert Jarratt wrote: Hmmm I do have RDYO set, but it is supposed to be a B interrupt, not an A, so that would make sense. I have A vectored at bit 8, and B at bit 9. Are you referring to this code: ;HERE FOR INPUT INTERRUPTS KMCVCA: MOVEM 17,KMCACS+17 ;SAVE REG MOVEI 17,KMCACS ;BUILD BLT POINTER BLT 17,KMCACS+16;SAVE REST OF REGS MOVE P,[-40,,KMCIPL];SET UP STACK MOVE T4,[KMCADR];GET ADDRESS OF THE KMC11 HDW RDIO T2,BSEL2(T4) ;GET RDI FLAG MOVE T1,KMCINQ+1;GET INPUT QUEUE TAKER CAME T1,KMCINQ ;ARE PUTTER AND TAKE DIFFERENT ? TRNN T2,KMCRDI ;AND IS IT READY ? BUG (KMCIII,T1,D,T2,D) A interrupt with nothing in the driver queue, or RDI not set CAIN T1,KMCINQ+KMCQLN-1 ;TIME TO WRAP AROUND AGAIN ? MOVEI T1,KMCINQ+1 ;YES SO POINT TO BEGINING OF QUEUE ADDI T1,2 ;ADVANCE POINTER FOR THIS ENTRY MOVEM T1,KMCINQ+1 ;SAVE UPDATED TAKER MOVEI T2,KMCRQI ;WANT TO CLEAR RQUEST INPUT FLAG CSR BIT requesting an A interrupt CAMN T1,KMCINQ ;IS QUEUE EMPTY NOW ? BCIO T2,BSEL0(T4) ;THIS IS LAST OF DATA Clears request when driver queue empty MOVE T2,(T1);GET 2ND WORD IN QUEUE ENTRY MOVE T1,-1(T1) ;GET 1ST WORD IN QUEUE ENTRY the command is then removed from the driver queue and written to the KMC. The KMC must clear RDI until it is ready to take the next command. (Note that otherwise if the queue depth 1, the A interrupt will happen immediately. If so, then despite the fact that I am setting bit 9 in the interrupt request, it seems to be going to the A interrupt handler. Regards Rob -Original Message- From: simh-boun...@trailing-edge.com [mailto:simh-bounces@trailing- edge.com] On Behalf Of Timothe Litt Sent: 19 May 2013 17:01 Cc: simh@trailing-edge.com Subject: Re: [Simh] TOPS-20 Source with KMC11 Driver Code? The bugcheck is saying that the RDYO is set, but not RDYI on an A interrupt. (KMCRDI is 20; RDO is 200) RDYO should always go to IVB; RDYI to IVA. Since we took an IVA interrupt, the driver thinks its trying to give the KMC a command, but the interrupt is going to the wrong vector since RDYI is not set. So either you're generating an IVA but setting the wrong status bit, or generating an Ivb event but not to the right vector. Or perhaps you have an overrun - the interrupt has to be cleared when the drive clears the RDx bit. The data looks like a DDCMP start, less the CRCs. That indicates that a fair bit of stuff is working; this is the data that the -10 provides to the KMC
Re: [Simh] TOPS-20 Source with KMC11 Driver Code?
Thanks, that sounds likely, I will check how I am writing to memory. Regards Rob -Original Message- From: Timothe Litt [mailto:l...@ieee.org] Sent: 19 May 2013 21:41 To: Robert Jarratt Cc: simh@trailing-edge.com Subject: Re: [Simh] TOPS-20 Source with KMC11 Driver Code? This is progress. Looks to me like the data isn't being stored properly. The ADDITIONAL DATA is the first 8 bytes of the data buffer. The SKIPL says the sign bit is set (which it is in 7463...). That's not possible. So I suspect you're not writing the data thru the UBA map correctly. Data from the UBA in -10 memory is in PDP-11 byte order, with 16 bit words packed into 18-bit 1/2 words. This looks like: /-- Bit 0 - the sign bit tested by the SKIPL SKIPGE / /-- The ENQ goes here / / -- The START goes here ! 00 ! byte 1 ! byte 0 ! 00 ! byte 3 ! byte 2 ! PDP-10 word 0 ! 00 ! byte 5 ! byte 4 ! 00 ! byte 7 ! byte 6 ! PDP-10 word 1 Since 00 is constant, the first digit can't be 1. 7 mumble is. Thus for 05 06 (ENQ START), we should see something like 3005,,... in the first word. (5 + 6 8) Also, you need to map the UBA address to PDP-10 memory (which you seem to be doing for reads). This communication may not represent my employer's views, if any, on the matters discussed. On 19-May-13 16:06, Robert Jarratt wrote: Oops, meant to say the first byte sent is 0x05. -Original Message- From: Robert Jarratt [mailto:robert.jarr...@ntlworld.com] Sent: 19 May 2013 21:01 To: 'Timothe Litt'; 'simh@trailing-edge.com' Subject: RE: [Simh] TOPS-20 Source with KMC11 Driver Code? Thanks! There was a bug in my interrupt acknowledge routine. With that fixed the interrupts now seem to be working OK. I have made progress, with the two clones talking to each other I get this now: *BUGCHK BADHDR AT 19-MAY-2013 20:40:52 *BAD DDCMP HEADER *ADDITIONAL DATA: 746314746314, 74631477 I am going to have to re-learn MACRO to work out why it is failing. The code I see has two jumps to BUMHDR, I can't work out what the first one means, the second seems to be checking the first byte, which being 0x06 should be OK, so it is probably the first condition that is failing. Regards Rob -Original Message- From: simh-boun...@trailing-edge.com [mailto:simh-bounces@trailing- edge.com] On Behalf Of Timothe Litt Sent: 19 May 2013 18:01 To: simh@trailing-edge.com Subject: Re: [Simh] TOPS-20 Source with KMC11 Driver Code? That's the code that emitted the bugcheck. BUG(KMCIII) = BUGHLT KMCIII. You need to tell simh what vector to use when you tell it about the pending interrupt. Most devices have only one vector. The KMC (and DMC/DMR) have 2. A is the (numerically) first; B is the second. So in the interrupt ack routine, you need to return VEC_KDP * kmcnumber or VEC_KDP * kmcnumber +4, depending on which interrupt is being granted. (Or whatever symbol you used.) A should be generated by RDI; B by RDO. That will tell simh how to find the right service routine. IIRC, if both happen to be pending at the same time, A takes precedence. Without seeing the code, I can't be more explicit... Oh, be careful when you talk about bit numbers. The unibus is little-endian (lsb = bit 0); the -10 is big-endian (MSB -0 bit 0). This communication may not represent my employer's views, if any, on the matters discussed. On 19-May-13 12:36, Robert Jarratt wrote: Hmmm I do have RDYO set, but it is supposed to be a B interrupt, not an A, so that would make sense. I have A vectored at bit 8, and B at bit 9. Are you referring to this code: ;HERE FOR INPUT INTERRUPTS KMCVCA: MOVEM 17,KMCACS+17 ;SAVE REG MOVEI 17,KMCACS ;BUILD BLT POINTER BLT 17,KMCACS+16;SAVE REST OF REGS MOVE P,[-40,,KMCIPL];SET UP STACK MOVE T4,[KMCADR];GET ADDRESS OF THE KMC11 HDW RDIO T2,BSEL2(T4) ;GET RDI FLAG MOVE T1,KMCINQ+1;GET INPUT QUEUE TAKER CAME T1,KMCINQ ;ARE PUTTER AND TAKE DIFFERENT ? TRNN T2,KMCRDI ;AND IS IT READY ? BUG (KMCIII,T1,D,T2,D) A interrupt with nothing in the driver queue, or RDI not set CAIN T1,KMCINQ+KMCQLN-1 ;TIME TO WRAP AROUND AGAIN ? MOVEI T1,KMCINQ+1 ;YES SO POINT TO BEGINING OF QUEUE ADDI T1,2 ;ADVANCE POINTER FOR THIS ENTRY MOVEM T1,KMCINQ+1 ;SAVE UPDATED TAKER MOVEI T2,KMCRQI ;WANT TO CLEAR RQUEST INPUT FLAG CSR BIT requesting an A interrupt CAMN T1,KMCINQ ;IS QUEUE EMPTY NOW ? BCIO T2,BSEL0(T4) ;THIS IS LAST OF DATA Clears request when driver queue empty MOVE T2,(T1);GET 2ND WORD IN QUEUE ENTRY MOVE T1,-1(T1) ;GET 1ST WORD IN QUEUE ENTRY the command
Re: [Simh] [HECnet] TOPS20 4.1 DECnet Progress
-Original Message- From: Cory Smelosky [mailto:b...@gewt.net] Sent: 10 May 2013 07:28 To: Robert Jarratt Cc: simh; hecnet Subject: Re: [HECnet] TOPS20 4.1 DECnet Progress On Wed, 8 May 2013, Robert Jarratt wrote: Making progress: $OPR OPRENTER NCP NCPSHOW STATUS KNOWN LINES NCP 22:25:11 NCP request # 2 [SHOW STATUS KNOWN LINES] Status as of 8-May-2013 22:25:12 Line ID State Adjacent Node KDP_0_0 On KDP_0_1 On Function completed successfully NCP J Regards Rob I wonder if it would be possible to apply what you've done with TOPS-20 to TOPS-10. Once I get it working on TOPS-20 then we can try TOPS-10. My own efforts to install DECnet on TOPS-10 have not gone well so far though, it fails to link after MONGEN. Regards Rob ___ Simh mailing list Simh@trailing-edge.com http://mailman.trailing-edge.com/mailman/listinfo/simh
Re: [Simh] TOPS-20 Source with KMC11 Driver Code?
Thanks to all those who responded, I now have the info I need. Regards Rob From: Robert Jarratt [mailto:robert.jarr...@ntlworld.com] Sent: 07 May 2013 23:34 To: hec...@update.uu.se; simh@trailing-edge.com Subject: TOPS-20 Source with KMC11 Driver Code? Can anyone point me at the right place to look at TOPS-20 driver code for the KMC11? I can see that it is trying to get the Microprocessor to do something and read back some values, but I don't know what values it wants to get and so it reports: *BUGINF KMCBRK AT 7-MAY-2013 23:27:03 *KMC11 BROKEN *JOB: 0, USER: OPERATOR *ADDITIONAL DATA: 3760540 *BUGINF KMCLOD AT 7-MAY-2013 23:27:03 *KMC11 LOAD FAILED *JOB: 0, USER: OPERATOR Thanks Rob ___ Simh mailing list Simh@trailing-edge.com http://mailman.trailing-edge.com/mailman/listinfo/simh