• Please review our updated Terms and Rules here

PDP 11/45, Part 4

Hi All;

Don, Thank You for Your Response..

This is a Cygwin 32 bit build, and Not a 64 bit build..
I don't have any of the -64 components in it..

That is 'Why" went to all of the Trouble of Deleting Both of my former Builds and Going with Just the 32 bit build that I currently have.. Just as You told and suggested for me to do.. I have tried to do as You tell me. so that it would work and not be a problem for either of us..

I am Sorry that You thought I still had the 64 bit build, I even stated in my former postings that I was going to do a Rebuild..

THANK YOU Marty

Sorry, when you said this:
...
As, I have completely Deleted Cygwin32..
Give me awhile to re-load it..
I guess Not !!

I inferred that you were going back to your original 64b CYGWIN environment.

In any event, I still can't explain why your 'make' and the compile with GCC would hang. I have never seen that happen, and don't know what might be causing that, or a solution.

I guess I might try running the GCC compile commands manually instead of under control of 'make' to see whether it is 'make' or 'GCC' that is having the problem.

Don
 
Hi All;

Don, Thank You for Your positive response..

"" I guess I might try running the GCC compile commands manually instead of under control of 'make' to see whether it is 'make' or 'GCC' that is having the problem. ""

I will try that.. And let everyone know..

It's the GCC that is Hanging..
I put gcc -I. -O3 -Wall -c -UWINCOMM main.c

and it hangs, I don't know what all of the - arguments are for or what they do..

I can try just gcc main.c and see what happens..

No, that hangs as well, so something is WRONG with my Gcc command.. I will try and Reload it and its Libraries..

No, good, but I found this and I am doing it, except that I am doing gcc 4.9.3 instead of 4.9.2....

http://preshing.com/20141108/how-to-install-the-latest-gcc-on-windows/

Gcc 4.9.3 failed to build on Cygwin 32.. Later today I will try 4.9.2..

Here is 'why' I have had trouble with getting gcc to build,

Verify that you have permission to grant a GFDL license for all
new text in tm.texi, then copy it to ../../gcc-4.9.3/gcc/doc/tm.texi.

Some kind of a Permission license..

Also, I suspect, from my previously Cygwin64 build, that if I upload and attach Cygwin gcc-64, even in a Cygwin32 build, for some reason it will be OK.. Which I am going to try, since I have nothing to loose at this point, I can always uninstall it, if it gives me trouble or doesn't work..
It made No difference..

I deleted the whole thing and built Cygwin32 from scratch..

THANK YOU Marty
 
Last edited:
Hi All;

Since I have been having No Success with GCC, I decided to try Clang.. And here is its Output.. It's not perfect, but it's better, at least I am getting some kind of output..

Don, can You interpret this ??

Marty@Marty-PC /tu58em/tu58em/sources
$ clang -I. -O3 -Wall -c -UWINCOMM main.c tu58.c serial.c tu58drive.c file.c
tu58.c:206:33: warning: passing 'char [512]' to parameter of type 'uint8_t *'
(aka 'unsigned char *') converts between pointers to integer types with
different sign [-Wpointer-sign]
if ((count = fileread(unit, buffer, BOOTSIZE)) != BOOTSIZE) {
^~~~~~
./common.h:89:37: note: passing argument to parameter here
int32_t fileread (int32_t, uint8_t *, int32_t);
^
tu58.c:212:29: warning: passing 'char [512]' to parameter of type 'uint8_t *'
(aka 'unsigned char *') converts between pointers to integer types with
different sign [-Wpointer-sign]
if ((count = devtxwrite(buffer, BOOTSIZE)) != BOOTSIZE) {
^~~~~~
./common.h:73:30: note: passing argument to parameter here
int32_t devtxwrite (uint8_t *, int32_t);
^
tu58.c:511:7: error: use of undeclared identifier 'xoffen'
if (xoffen) devtxstop();
^
tu58.c:554:26: warning: passing 'char [512]' to parameter of type 'uint8_t *'
(aka 'unsigned char *') converts between pointers to integer types with
different sign [-Wpointer-sign]
if (filewrite(pk->unit, buffer, count) != count) {
^~~~~~
./common.h:90:38: note: passing argument to parameter here
int32_t filewrite (int32_t, uint8_t *, int32_t);
^
tu58.c:788:10: error: use of undeclared identifier 'xoffen'
if (xoffen) devtxstop();
^
3 warnings and 2 errors generated.

Marty@Marty-PC /tu58em/tu58em/sources
$ dir
11XX_1.dsk cygwin1.dll main.c serial.c tu58drive.c
11xxdp.dsk file.c main.o serial.o tu58drive.o
common.h file.o Makefile tu58.c tu58em.exe
copyright.h gccdump.s README.md tu58.h tu58ew.exe

Marty@Marty-PC /tu58em/tu58em/sources

Oh, it's Not in Color like the original..

I tried it without tu58.c and that created all of the .o files..
But, I don't know how to get it to link them into a common output..
THANK YOU Marty
 
Last edited:
Hi All;

Don, Thank You for Your positive response..

"" I guess I might try running the GCC compile commands manually instead of under control of 'make' to see whether it is 'make' or 'GCC' that is having the problem. ""

I will try that.. And let everyone know..

It's the GCC that is Hanging..
I put gcc -I. -O3 -Wall -c -UWINCOMM main.c

and it hangs, I don't know what all of the - arguments are for or what they do..

I can try just gcc main.c and see what happens..

No, that hangs as well, so something is WRONG with my Gcc command.. I will try and Reload it and its Libraries..

No, good, but I found this and I am doing it, except that I am doing gcc 4.9.3 instead of 4.9.2....

http://preshing.com/20141108/how-to-install-the-latest-gcc-on-windows/

Gcc 4.9.3 failed to build on Cygwin 32.. Later today I will try 4.9.2..

Here is 'why' I have had trouble with getting gcc to build,

Verify that you have permission to grant a GFDL license for all
new text in tm.texi, then copy it to ../../gcc-4.9.3/gcc/doc/tm.texi.

Some kind of a Permission license..

Also, I suspect, from my previously Cygwin64 build, that if I upload and attach Cygwin gcc-64, even in a Cygwin32 build, for some reason it will be OK.. Which I am going to try, since I have nothing to loose at this point, I can always uninstall it, if it gives me trouble or doesn't work..
It made No difference..

I deleted the whole thing and built Cygwin32 from scratch..

THANK YOU Marty

Well, I don't know at this point. You should not have to 'compile or build' GCC at all for CYGWIN. A precompiled package can be selected when you run the CYGWIN setup utility. It just needs to be selected and installed as a package. Just an install of precompiled binaries.

In reality you really don't need to install CYGWIN at all. If you get the complete TU58EM package from GITHUB: https://github.com/AK6DN/tu58em/archive/master.zip and unzip it into a directory, there is a tu58em.exe executable there and an associated cygwin1.dll that is the required runtime library. You can just open a standard Windows CMD.EXE window, change to the TU58EM directory, and then run the TU58EM command as required.

So CYGWIN is really onlky needed if you plan to do other development in a unix-like command environment.

Don

And re: 'Clang' I have absolutely no experience with it, so I can make no reasonable comments at all as to its usability.
 
Last edited:
In reality you really don't need to install CYGWIN at all. If you get the complete TU58EM package from GITHUB: https://github.com/AK6DN/tu58em/archive/master.zip and unzip it into a directory, there is a tu58em.exe executable there and an associated cygwin1.dll that is the required runtime library. You can just open a standard Windows CMD.EXE window, change to the TU58EM directory, and then run the TU58EM command as required.

Indeed! I don't know if I *ever* compiled anything. I simply picked up the tu58em.exe and I run it in a DOS window on my laptop PC running Windows XP. It has always worked great "right out of the box", so to speak.

Good luck!

smp
 
Hi All;

Don and SMP, Thank You for Your Great comments..

I always thought I had to Run it with Cygwin..

OK, I'll Try it with my command Prompt..

It does the same thing in the CMD Window, as with Cygwin32, I tried it with Don's DD and with Diane's program..

They Both Stop at Address 10 on the PDP 11/45.

I will check sometime today, and make sure that the Second Serial Card is working..
By Re-checking the Switches, with a meter, and then putting it back to the setting for a First Serial Card..
And I think I have a Program to check it with that I can Load in Serially, and see if that works..

I have the Program running, but it doesn't complete itself..
The Address Error Led comes on, so I need to trace out whether the Program is trying to Address a non-existent memory Location, Or if a board is Causing this to happen..
I have tried this with both the M7800 and the M7856 and it does the same thing with either one in, So, I don't think it's either one of them, Sure it could be, but for now I will say Not..
My first Suspect is the M9301, I will try the M9312 as well, I just remembered I can't since I can't load from the M9312..
For once, I would sure be Nice to have some working Core..

THANK YOU Marty
 
Last edited:
Hi All;

Don and SMP, Thank You for Your Great comments..

I always thought I had to Run it with Cygwin..

OK, I'll Try it with my command Prompt..

It does the same thing in the CMD Window, as with Cygwin32, I tried it with Don's DD and with Diane's program..

They Both Stop at Address 10 on the PDP 11/45.

I will check sometime today, and make sure that the Second Serial Card is working..
By Re-checking the Switches, with a meter, and then putting it back to the setting for a First Serial Card..
And I think I have a Program to check it with that I can Load in Serially, and see if that works..

I have the Program running, but it doesn't complete itself..
The Address Error Led comes on, so I need to trace out whether the Program is trying to Address a non-existent memory Location, Or if a board is Causing this to happen..
I have tried this with both the M7800 and the M7856 and it does the same thing with either one in, So, I don't think it's either one of them, Sure it could be, but for now I will say Not..
My first Suspect is the M9301, I will try the M9312 as well, I just remembered I can't since I can't load from the M9312..
For once, I would sure be Nice to have some working Core..

THANK YOU Marty

A simple CYGWIN executable can be run from Windows directly if the cygwin1.dll it is linked against is in the search PATH, or in the same folder as the executable.

For the trap to 10, there might be more information available as to the cause by looking at the stack pointer (SP aka R6) and where it points to in memory. IE, if the contents of R6 is 400, then start looking at locations 400,402,404,etc as these might have valid program counter memory addresses from a trap or interrupt. You should see either a pushed PSW (probably 000340) or else a PC which would be +2 from the trapped instruction opcode word. Might give a clue as to the nature of the failure.

If the SP is a bogus value (ie, up in the I/O page range like 1777xx) or in the range 0-10 this means likely a double bus fault occurred. This means the trap occurred but the SP pointed to an invalid memory range for the stack, so the data pushed might not be valid.

Don
 
Hi All;

I just got thru Running the PDP 11/45 for the Last 2 and 1/2 hours, with the Lites program..
And I had No trouble Loading from my PC, using Tera-Term..
What I need to do next is Do a combination of a cross Echo and downloading a Big/Large program, Back and Forth from one PC to the other and then Reversing it, and see if anything shows up for that kind of Test.. And compare the two files..
Of Course, Me being a Software, not knowing how to do this, kind of person, Would be more than a challenge for me..
I have been busy the last week or so, with other things, So now I can get back to trying to figure out, what to do with the 11/45..
I have Not forgotten about what Don has mentioned in the Above posting..

THANK YOU Marty
 
Last edited:
Hi All;

I have made a change to my machine, That I should have thought of sooner..
I have taken the Front Panel Console, off from where I had it, and turned the machine around 180 degrees, and Re-mounted the Panel on what was the the back and making it now the Front..
That way when working on the machine, I am looking at the Front of the Boards and not the Back of the Boards, which makes working on the Ic's easier..
I am also re-doing the wires, and snaking them (Hopefully) along the side of the Computer..
I got it back together and it seems to have died, again..
I have checked voltages and everything looks OK, but, I will do it again..
I am hoping that it is or has something to do with the Timing Board, since it seemed that it was the timing Board that would need to warm up before it would start to completely work.. Which was why I wanted to turn things around, so, it would be easier to work on the Boards, with them facing me, instead of having their backs to be while trying to debug the problem..

THANK YOU Marty
 
Last edited:
Hi All;

I got it mostly working, it was the --12 volts to the Timing Board..
Memory is not working correctly, yet, But, that is next..
It looks like I have "NO" Examine nor Deposit..
I went away and did some other things, then a few minutes ago, I pulled five of the Boards, Inspected them, and Put them back in their slots..
AND it Now Works, again !!
I got the programming Book by Peters, which is Great, and has alot of things (programs) for me to try..
I think I might be getting another programming book on the PDP 11, today, for my viewing pleasure.. The Kapps and Stafford book is very good, but by looking at it, the Peters Book is a little better..
It is "The Digital Way", Macro-11 Assembly Language Programming, by J. F. Peters III ..
I looked at Both books last night, and they are Both very good,
The Kapps and Stafford book takes simple Fortran programs and show how they can be transferred to Assembly Language Programs..
The Peters Book does the same kind of thing with Pascal, it also includes a Paslib.mac file and the Kapps book includes I/O routines..
So having both works for using them with each other, to help each other with what is needed to have enough to not need an Operating System for support on my machine and so then can be used on my machine.. I would still use Simh to make the files and assemble them, but it would then be a straight transfer of them to my machine for testing of what I wrote in my program.. And runnability on the 11/45..
Next is putting in one of my serial Cards and see if I am back to where I was before turning things around..
I had it go back to it previous state of not reading or writing, so I knew or was pretty sure, that the fingers needed cleaning again..
Which I did, awhile back I did spray the contacts with Plain Deoxit, and since then the fingers have been getting dirtier faster..
I know I need some Deoxit Gold, and hopefully when I can get some, that will help..
I have Downloaded a Program and it is running now, so I am back to where I was about a week ago..

THANK YOU Marty
 
Last edited:
Hi All;

I have fixed, the PDP 11/45, Data Paths Board, and I have uploaded a program to it and it is running just fine, in that mode..
So, the Modified PDP 11/70 Data Paths Board, is Now my Spare Data Paths Board..

THANK YOU Marty
 
Hi All;

Jack, Thank You for the insight..
My problem is not having enough spares, but having a spare at all..
Technically, that is the Only Board that I have that works..
I have others of some of the other boards, but, most of them are not working, M8101 thru M8103..
And, others I have only one of.. Such as M8104 thru M8108..
M8109, I have one non-working spare and one M8139 for a 11/70, Which Might be made to work with extensive modification.. Which I am looking into, by socketing any IC, that has a different connection, input or output than the M8109..

THANK YOU Marty
 
Last edited:
Hi All;

I am using all but one board for the Processor Board Set that are actually for a PDP 11/45, The only one from a PDP 11/70 is the M8132 IR Board, Instead of the M8102..
My M8102 Board has a problem, it looks like it is mostly working, I can Read from Memory using it, but it won't allow the "Console" program to Run.. So, somewhere on that Board is a faulty gate or few gates..

THANK YOU Marty
 
Last edited:
Hi All;

I have had the Pleasant Opportunity of having a set of Boards that are on Loan, until I can send them Back to their rightful Owner..
And THANK YOU to that Person..
So, I have been able to Test most of my Boards, by swapping them out with the Loaner Boards..
All but two of the Loaner Boards were Good.. So, I was able to Help myself and the person who loaned me their Boards..
That person now knows the condition of their Boards and I have eliminated most of what could have been where my Problems are as well..
As, soon as the Weather Clears up, they will be on their way back..
So, this is a Quick update for everyone..

THANK YOU Marty
 
Hi All;

Bill, "" Do you ever plan to bring one of your machine to a vintage computer festival? ""
Unless, it's here in Town, it would be a Looooogh walk..
And, I wouldn't have the Money to go to any of then, they are toooo far away..
And Even If I could get enough money to catch a Greyhound or something Similar Bus, I am Not Sure They would accept or Like me taking my PDP 11/45 along for the Ride..
But, Thank You for Asking..

THANK YOU Marty
 
Last edited:
Hi All;

Can anyone Help me first with a Simple Echo type of Program, Where the main (first) Serial Port input talks to the (TU58) Second Serial port Output to Display the Character Typed..
And then the Opposite, The Second Serial Port Input talks to the First Serial Port Output to Display the Character Typed..
First Program a rudimentary echo program, and a Second program using the Vectors of Each Board..
I don't know what the Vectors do, but I do know they are necessary for making Tu58 data transfers and so I would like to test both with out Vectors and with Vectors and make sure that the Vectors are working or responding Correctly to their respective Vector Assignments..
Thank You to Anyone Answering or Responding to this Question..

THANK YOU Marty
 
Hi All;

Bill, Thank You for Your Reply..
I can Dis-assemble it and see, but it looks like it is to a Single the Primary Serial Port, and I can Look thru my various PDP 11 Programming Books, for some Hints.. Which I had Planned on Doing, But, I though I should ask, as maybe SomeOne had something Already Written for this Kind of Thing..
But, It's the Vector Problem that I am mainly wanting to Test.. Since I don't know what the Vector Port is Supposed to accomplish or do, In conjunction with the main Port Assignment..

THANK YOU Marty
 
Back
Top