• Please review our updated Terms and Rules here

PDP 11/45, Part 4

Hi Marty,

Sorry for the confusion -- that was meant to be page 5-10 (which is page 86 in the PDF I have).
 
Hi All;

Fritzm, OK, Thank You, alot better..

Do You remember if the Stack Pointer Test took along time to complete ?? (CKBFD0)

THANK YOU Marty
 
Do You remember if the Stack Pointer Test took along time to complete ?? (CKBFD0)

I think that one takes a little while, but not more than a minute or two. Now that your display register is fixed, try looking at that while you run the diagnostics. While they are running the display register will be very active counting passes; if it stops then the test has trapped and you should record the address value displayed for later debug.
 
So on my end, I've been looking into why the SPL test (CKBGB0.BIC) halts on my machine this morning. That test depends on being able to get a transmit interrupt from the DL11 at the point where it is halting, and I think that is not working on my system at the moment. I have one more test to make, then I'll probably need to get the logic analyzer on it to see what's happening with the interrupt bus cycle. Will post a blog entry on what I find out later...

(Looking in to this, interrupts were working fine -- I just had the vector jumpers set incorrectly on my DL11. CKBGB0 passes now for me as well. On to the next one..)
 
Last edited:
Hi All;

Fritzm, Thank You for the information..

I have it on DISPLAY REGISTER and it is showing nothing..

But, on DATA PATHS it shows 1053 on the Data, Hopefully that means something..

THANK YOU Marty
 
Hi Marty,

The most useful info is the address display above, actually. You then go to the assembly listing for the diagnostic and try and figure out why it hung at that address.
 
Hi All;

Fritzm, Actually when in either DATA PATHS or DISPLAY REGISTER, the Address for this particular Program All light up some, but the lights for '1053 were somewhat darker and seemed like that was where it was looping..

Also, My SLP CKBGB0 PASSED !!

CKBHB0 Traps at '10.. (Register Test), But, if I remember correctly when it copied it into my version.. I had to modify it, as it was expecting to go back to the Operating System.. When I changed that it Ran fine.. I need to look at my listing and the PDPGUI listing..

I got it to Pass (Register Test) using one of my Modified programs.. the other one I had copied didn't work, I even traded out GRA Boards, to no avail..
I need to find out what or were the changes were made to make it work..
It takes a long time for each pass, Counting through the bits.. On DISPLAY REGISTER mode..

One problem that I see is that the listing is for version A0 and the program is version b0..
And so I made my version an A0 version..

Fritzm, is there a way like Email that I can send You this file for You to try out on Your Machine ??

"" (Looking in to this, interrupts were working fine -- I just had the vector jumpers set incorrectly on my DL11. CKBGB0 passes now for me as well. On to the next one..) ""

Great Job, I still have two problems to go on mine.. You can now also fix Your List of what has passed and what has not passed..

Stack Limits and States..
Let me know when You get to States since we Both Fail that one..

States listing is for A0 and the file version is B0..
It is even worse for Stack Limit their Listing is for Version A0 , but the program is for D0, so maybe I need to make that one as well..

Fritzm, Take a look at Don's information on Micro-Break , I know mostly what He say's refers to Simh, but it might be of some help..


THANK YOU Marty
 
Last edited:
Hi All;

Don, I am trying to assemble some programs..
Macro11a works.. But, Dumpobj will not produce a .Bin file..

What I did was take a .mac file and changed three things in it, two were Halts to Nop's and the third was an '000007 to an '000052..
.lst looks fine and it produced good code, The file I took it from had a .bin file..

So I went and tried to Re-assemble the Dumpobj file and under Cygwin using Make -B and what it tells me is I am missing the file "" stricmp ""
I did a search on my computer and in the Cygwin site and It doesn't show up,
Where can I get this file ??
I also re-read what You posted on pages 6 and 7 of this current edition of the PDP 11/45 saga..

THANK YOU Marty
 
Morning Marty.

Do you mean MACRO11 (as in https://github.com/shattered/macro11)? If so - it only produces OBJect files (not binary files that you can use). I found a linker at https://github.com/nzeemin/pclink11 which seemed to work with it and produced a binary file. I have been building boot ROMS from source for the 11/45... There are a load of limitations with this linker though - so check the small print! I built it on an iMac - so can't comment on your CYGWIN issue. I am thinking that stricmp is an "ignore case string compare".

I have just read Don's post 'way back' myself - so it looks like dumpobj can (?) produce a binary file... Will investigate myself tonight. Edit: Found some confusion in my mind. Don refers to a PERL dumpobj program - but macro11 comes with a C dumpobj program. I suspect we are talking about apples and oranges here?!

Edit: Hunting around - it seems as though stricmp is Windows/Microsoft-specific - does the code 'think' it is being built on Windows even though it is being built with CYGWIN? I'm at work - so they won't let me look at .c files...

Dave
 
Last edited:
Hi All;

Dave, Thanks for Your Answer..

"" does the code 'think' it is being built on Windows even though it is being built with CYGWIN? ""

I have NO clue as to what the code 'thinks' as You know I am dumb as far a code goes..

Don't do anything at Work that would / could get You into trouble !!

I am going to Look for Don's site and see if there is any newer version of code for Cygwin..

I found Don's file so I downloaded it, unzipped it copied dumpobj to where I could use it, it still made no bin file..
I re-maked it using make -B and it recompiled OK, copied that to where I could use it, and it still made no bin file..
I even tried it on another file, still no good..

THANK YOU Marty
 
Last edited:
Hi All;

Dave, Thanks for Your Answer..

"" does the code 'think' it is being built on Windows even though it is being built with CYGWIN? ""

I have NO clue as to what the code 'thinks' as You know I am dumb as far a code goes..

Don't do anything at Work that would / could get You into trouble !!

I am going to Look for Don's site and see if there is any newer version of code for Cygwin..

I found Don's file so I downloaded it, unzipped it copied dumpobj to where I could use it, it still made no bin file..
I re-maked it using make -B and it recompiled OK, copied that to where I could use it, and it still made no bin file..
I even tried it on another file, still no good..

THANK YOU Marty

I think what Dave's asking is not so much whether the code is being "built on Windows" or "built with CYGWIN" but rather what the code is being built to run on when it's finished. What the target environment is going to be is what determines what library routines you're going to link into your finished .exe, .bin, or .out file. What's confusing is that the library name will be different but the names of the linkable modules in it often are not. But it should be obvious that assembler code to put a character on the screen or into a file is going to look different if the target machine is running i386 Windows as opposed to PDP11/45 RT-11 even though at a higher level the .c files might look close to identical.
 
At work they (the IT department) just stop you accessing files in the internet they don't think you should be looking at. C files are one type of file that fall in this category. So we just can't open them at all...

I notice in the version of macro11.c I have the following:

#define stricmp strcasecmp

You could try adding that after the #includes but before the first function. This definition should change all references from stricmp() (Microsoft) into the 'standard' library function strcasecmp() so it should compile and link.

Is it possible that your source copy of macro11 is out of date?

I have also managed to get dumpobj to produce a binary file. you specify the object_file AND the binary_file you want on the command line. In my case:

dumpobj M9312_CONSOLE.obj M9312_CONSOLE.bin

It seems to then spit out the binary file - but I have also noticed that it has a 'top' and 'tail' on the binary file itself - not just the binary output from the assembly corresponding to my source code. It also output the message "Probable errors in binary file" which doesn't fill me with confidence!

Dave
 
Last edited:
Hi All;

DDS, Thank You for Your Answer..

Dave, "" Is it possible that your source copy of macro11 is out of date? ""

That is 'Why' in my previous post, I said I was looking for an update, which I found and it 'Maked' fine.. Still, wont work for me, but It is at least not hanging up..

"" I notice in the version of macro11.c I have the following:

#define stricmp strcasecmp ""

Actually it's (maybe) dumpobj that I have the problem with not macro11, but, I UnderStand where in the dumpobj I need to put it..

So, Thanks..


Dave, I just saw Your additional message..

"" I have also managed to get dumpobj to produce a binary file. you specify the object_file AND the binary_file you want on the command line. In my case:

dumpobj M9312_CONSOLE.obj M9312_CONSOLE.bin

It seems to then spit out the binary file - but I have also noticed that it has a 'top' and 'tail' on the binary file itself - not just the binary output from the assembly corresponding to my source code. It also output the message "Probable errors in binary file" which doesn't fill me with confidence! ""

"" dumpobj M9312_CONSOLE.obj M9312_CONSOLE.bin ""

That is EXACTLY what I have done, Which Is 'why' I don't Understand why it's not Cooperating..

"" It also output the message "Probable errors in binary file" which doesn't fill me with confidence! ""

If You read Don's postings from Earlier, He Explains 'What' that is all about, it has to do with Linking and adding a .(someting, I forgot what) to the Beginning of the file.. Then, You won't see that Message..


BUT, I may have a Work around..

I found in PDPGUI a Macro Assembler and a Lister, it seems to Produce a .HEX file..

So, hopefully all I need to do is find my old Hex to Binary Converter file and convert it to Binary..

Then I can Load it on my Real 11/45 to test it, If that works, then I can start making the CKBxxA0 files that I need, namely for Stack Limit and for States, from the PDF Listings..

THANK YOU Marty
 
Last edited:
That's it - don't be defeated!

I posted the link to where I got my copy of macro11 and pclink from back in post #269.

PDP11GUI uses the same macro11 assembler under-the-hood anyhow.

As long as you are winning!

Dave
 
Hi All;

Dave, " I posted the link to where I got my copy of macro11 and pclink from back in post #269. ""

When I tried the Link for Macro11, I get a 404 Errror !!

Dave, also notice that I also added some extra messages to my initial posting for You to read..

THANK YOU Marty
 
For some reason the post had decided to include the closing ')' and '?' as part of the link!

It should be https://github.com/shattered/macro11

I'll give your new messages a read...

The assembler source file is already absolute (i.e. it has a .asect directive) so that is not the problem.

I also checked the source for dumpobj and came to the same conclusion - there is an incompatibility between the DEC assembler source file and what dumpobj has been written to cope with. I stopped using dumpobj and moved over to pclink11.

Dave
 
Last edited:
Hi All;

Dave, I got it and Downloaded it, I still have to Unzip it and put it where I need it..

Thank You for the Correction to the Download..

I can see how to make the Macro11 file, BUT, I don't know what to do with the PCLink file as it doesn't have a 'make' file in it's listing..

THANK YOU Marty
 
Last edited:
No problem - I fixed the URL in the original post as well so it won't confuse anyone else who tries to find it... That will teach me to check my own links after I have posted!

Dave
 
Hi All;

Dave, This isn't my day !!

I tried to assemble the mac file and it would not do so..

I did 'make' the macro11-master file and as far as I can Tell it is fine along with dumpobj..
But, at present It would be nice to have macro11 work, I can go back to my old version, and see if I can make it work..
It could be my Cygwin is broken, maybe I need to Reload it as well.. Just a guess on my part.. I will keep on investigating..


Marty@Marty-PC /simh-master/bin
$ ./macro11 reg-11-45b.mac -o reg-11-45b.obj

macro11 - portable MACRO11 assembler for DEC PDP-11
Version 0.3 (April 21, 2009)
Copyright 2001 Richard Krehbiel,
modified 2009 by Joerg Hoppe.

Usage:
macro11 [-o <file>] [-l [<file>]]
[-h] [-v][-e <option>] [-d <option>]
[-ysl <num>] [-yus]
[-m <file>] [-p <directory>] [-x]
<inputfile> [<inputfile> ...]

Arguments:
<inputfile> MACRO11 source file(s) to assemble

Options:
-d disable <option> (see below)
-e enable <option> (see below)
-h print this help
-l gives the listing file name (.LST)
-l - enables listing to stdout.
-m load RT-11 compatible macro library from which
.MCALLed macros can be found.
Multiple allowed.
-o gives the object file name (.OBJ)
-p gives the name of a directory in which .MCALLed macros may be found.
Sets environment variable "MCALL".
-v print version
Violates DEC standard, but sometimes needed
-x invokes macro11 to expand the contents of the registered macro
libraries (see -m) into individual .MAC files in the current
directory. No assembly of input is done.
This must be the last command line option!
-ysl Syntax extension: change length of symbols from
default = 6 to larger values, max 64.
-yus Syntax extension: allow underscore "_" in symbols.

Options for -e and -d are:
AMA (off) - absolute addressing (versus PC-relative)
See .ENABL AMA, .DSABL AMA
GBL (on) - treat unresolved symbols as globals, linker must resolve.
If disabled, unresolved globals are errors.
See .ENABL GBL, .DSABL GBL
ME (on) - list macro expansion (no func)
BEX (on) - show binary (no func)
MD (on) - list macro/rept definition


Marty@Marty-PC /simh-master/bin
$ dir
11XX_1.dsk cygwin1.dll pclink11-master reg-11-45a.lst
11xxdp.dsk dd.lst pclink11-master.zip reg-11-45a.mac
bat.bin DD.mac pdp11.exe reg-11-45a.obj
bat.dmp dd.obj reg-11-45.bin reg-11-45b.dmp
bat.lst dumpobj.exe reg-1145.dmp reg-11-45b.mac
BAT.mac lucas.lst reg-11-45.dmp reg-11-45blst
bat.obj Lucas.mac reg-1145.lst reg-11-45blst.hex
bat1.lst lucas.obj reg-11-45.lst reg-11-46.mac
bat1.obj macro11\ (1) reg-1145.mac simple
bat45.ini macro11\ (1).zip reg-11-45.mac tu58boot.bin
batt.bin macro11.exe reg-1145.obj TU58BOOT.txt
batt.dmp macro11.exe.zip reg-11-45.obj tu58boota.bin
batt.lst macro11-1 reg11-45.txt tu58em.exe
BATT.mac macro11a Reg-11-45.txt tu58ew.exe
batt.obj macro11-master reg-11-45a.bin tu58xxdp.dsk
battst.lst macro11-master.zip reg-11-45a.dmp


THANK YOU Marty
 
As you say - it looks like you're having a bad day..

I would suggest a nice walk to clear your head if the weather is nice...

You're using exactly the same version of macro11 that I am (0.3 April 21 2009) and I have just typed in a similar command line to you (slightly different filenames though - but in the same order as "source_file -o object_file") and it assembled fine...

Dave
 
Last edited:
Back
Top