• Please review our updated Terms and Rules here

PDP 11/45, Part 4

Hi All;

Thank You, Don for Your Investigation into the problem..

"" So what command line environment are you using to launch TU58EM? Is it a CYGWIN terminal window, or an MSDOS CMD window, or something else? ""

It is Cygwin Terminal Window..

And not an MSDOS CMD window..

UPDATE !!!!!

Don, I got it to Work !!

I had taken out all of the files that I had put in before in Cygwin..
I Reloaded cygwin64..
I then Recopied the file TU58 back into the cygwin file stream..
I then tried to run tu58em and it did the same thing..
I re-looked at the Directory and I saw a make file, So I issued a Make All..
After that I re-ran TU58em and it DID NOT issue the Error..
I need to set everything up with my Real PDP 11/45 and TeraTerm, and then let You know how things turn out..
So, THANK YOU for Your In Depth Help..

THANK YOU Marty
 
Last edited:
Hi All;

Don, when I try to make TU58, it hangs..

What and where do You have the files located in your Cgywin tree..
You have /bin, /etc, /dev (etc..) Here is where I have put Tu58, but it is only one depth in..
Should I put it deeper tu58/tu58/tu58 etc ??
Also where do You have Your tools file in your tree ??

THANK YOU Marty
 
Hi All;

Don, when I try to make TU58, it hangs..

What and where do You have the files located in your Cgywin tree..
You have /bin, /etc, /dev (etc..) Here is where I have put Tu58, but it is only one depth in..
Should I put it deeper tu58/tu58/tu58 etc ??
Also where do You have Your tools file in your tree ??

THANK YOU Marty

I have a tools directory outside of CYGWIN, on my E: windows drive under DEC/tools/bin. I compile TU58EM in its source directory, and then copy the .exe file to /cygdrive/e/DEC/tools/bin (which I also added to my WINDOWs search path) for execution. Then I can just run: tu58em from the cygwin command line.

There is no reason why you can't just make and run TU58EM from the same directory, just use: ./tu58em to run it.

I use Rapid Environment Editor (http://www.rapidee.com/en/about) to maintain my Windows environment variables, but you can add (your) bin directory using the standard windows System control panel as well.

I don't know why it would hang during a make, can you copy the console output to a reply? You can always try: "make --always" to force it to remake everything.

Don
 
Hi All;

Thank You, Don for Your Help..

"" I use Rapid Environment Editor ""
I uploaded it, but, I don't know what to do with it..
I don't have a clue what it is supposed to do..

When I had trouble with the make file I was trying to use Cygwin 32, instead of Cygwin 64..
I have had a far as I know maked tu58 from source with Cygwin64 and used it..
But, so far it will not work with anything I have tried, Diane's program, nor your DD (relocated program), nor with DD in an M9312..
I am currently using my M9301, since my M9312 only for sure works with 'ZZ'.
With 'TT' it doesn't act like it should after loading the Absolute Loader, so I don't think it is working, which makes me suspect that the 'DD' program is not working either..
With the M9301 after loading the Absolute Loader, it will stop, and I then press the 'Cont' to load the next file..
With the M9312, after trying to load the Absolute Loader, it just continues and doesn't stop..
With the M9301 it will load my .bin files and run whatever, I throw at it..
Yet, when I try the DD.Bin it stops at address '157712.. And I get No response from the TU58em or TU58ew program(s)..

THANK YOU Marty
 
Hi All;

Thank You, Don for Your Help..

"" I use Rapid Environment Editor ""
I uploaded it, but, I don't know what to do with it..
I don't have a clue what it is supposed to do..

It is for editing environment variables in Windows. It is much more flexible than the Control Panel 'System' 'Advanced System Settings' 'Environment Variables' method built in to Windows. Their website has some simple documentation, but if you don't know what Windows environment variables are used for it won't do you much good.

When I had trouble with the make file I was trying to use Cygwin 32, instead of Cygwin 64..
I have had a far as I know maked tu58 from source with Cygwin64 and used it..

Do you have *both* CYGWIN 32 and 64 installed? I'm not sure that is even a valid configuration. In any event I would recommend just having CYGWIN 32b installed. 64b would only be necessary if you are running some huge memory CYGWIN applications.

But, so far it will not work with anything I have tried, Diane's program, nor your DD (relocated program), nor with DD in an M9312..
I am currently using my M9301, since my M9312 only for sure works with 'ZZ'.
With 'TT' it doesn't act like it should after loading the Absolute Loader, so I don't think it is working, which makes me suspect that the 'DD' program is not working either..
With the M9301 after loading the Absolute Loader, it will stop, and I then press the 'Cont' to load the next file..
With the M9312, after trying to load the Absolute Loader, it just continues and doesn't stop..
With the M9301 it will load my .bin files and run whatever, I throw at it..
Yet, when I try the DD.Bin it stops at address '157712.. And I get No response from the TU58em or TU58ew program(s)..

THANK YOU Marty

If the M9312 works for ZZ it should work for DD. They basically use the same datapaths on the M9312. ZZ just loops and calls the console diagnostics over and over again, whereas DD just calls them once, and then proceeds to execute the TU58 bootstrap code.

If you try and load DD.bin, what is the start address you give it? You need to run it in the mode that does not call the diagnostics.

If it stops at 157712, what are the words in memory before that? Is 157710 a HALT (000000) opcode?

Does it even run, or is it just HALTing because it is not being started at the correct address?

Don
 
Hi All;

Thank You, Don, I don't know the answer(s) to most of Your questions..

"" If you try and load DD.bin, what is the start address you give it? ""
010000

"" You need to run it in the mode that does not call the diagnostics. ""

I will have to look into that, I have at present no idea where that is..

"" If it stops at 157712, what are the words in memory before that? Is 157710 a HALT (000000) opcode? ""

I will need to look into this as well..

'' Does it even run, or is it just HALTing because it is not being started at the correct address? ""

I will need to look into this as well..

I will need to set everything up again, and get back to You..

Don, I can't get it to reproduce the same sequence of events..
What I get now, is with either your DD.bin or Diane's program, it stops at '400, with the M9301 Board..
With the M9312, and I try DD0 it stops at Address 2.
So, I am going to let both of us cool off for awhile..
And the TU58em is NOT responding at ALL..

THANK YOU for Your Help.. Marty
 
Last edited:
Thank You, Don, I don't know the answer(s) to most of Your questions..

"" If you try and load DD.bin, what is the start address you give it? ""
010000

"" You need to run it in the mode that does not call the diagnostics. "

I will have to look into that, I have at present no idea where that is..

As I indicated in an earlier post (#94), you need to start it at offset + 4 of whatever you set your load address to. This bypasses running diagnostics (which BTW will overwrite your program in memory, as the diagnostics do a full low memory test ...) So if you started at 10000 two things might happen, depending upon whether an actual M9312 was installed:

Yes: the diagnostic memory test overwrote the code you loaded, and when the diagnostics completed it returned to where it was called from in RAM, which no longer existed ...

No: calling diagnostics jumped into I/O space at 765564, which either trapped due to a nonexistent address reference, or jumped to some random M9301 code(?)

Either one is going to fail right away.

If you set the load address in the dd.mac file to octal 10000 then the address you should start execution at is 10004 (10000 + 4).

Don
 
Last edited:
Hi All;

Thank You, Don, for spelling things out for me..

I do remember you telling me about this, I just didn't get it..

I will put in the M9301, and go for it, and Let You know the Results..

"" If you set the load address in the dd.mac file to octal 10000 then the address you should start execution at is 10004 (10000 + 4). ""

I started it at 10004, and it stopped at Address 10..

And still no response from the TU58em..

THANK YOU Marty
 
Last edited:
Hi All;

Thank You, Don, for spelling things out for me..

I do remember you telling me about this, I just didn't get it..

I will put in the M9301, and go for it, and Let You know the Results..

"" If you set the load address in the dd.mac file to octal 10000 then the address you should start execution at is 10004 (10000 + 4). ""

I started it at 10004, and it stopped at Address 10..

And still no response from the TU58em..

THANK YOU Marty

Stop at 10 probably means it trapped to 4 due to a bus access timeout (ie, accessing an address that did not respond, like in the I/O page).

Well, no response from TU58EM because it probably never was poked by the bootstrap. Can you post the DD.LST file that was generated?

Don
 
Last edited:
Hi All;

Don, Here it is..

;VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
19 ;
20 ; The original code in 23-765A9 is REALLY BROKEN when it comes to
21 ; supporting a non-std CSR other than 776500 in R1 on entry
22 ;
23 ; All the hard references to: ddrbuf, ddxcsr, ddxbuf
24 ; have been changed to: 2(R1), 4(R1), 6(R1)
25 ;
26 ; The one reference where 'ddrcsr' might have been used is '(R1)' instead
27 ; which is actually correct (but totally inconsistent with other usage).
28 ;
29 ;AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
30
31
32 176500 ddcsr =176500 ; std TU58 csrbase
33
34 000000 ddrcsr =+0 ; receive control
35 000002 ddrbuf =+2 ; receive data
36 000004 ddxcsr =+4 ; transmit control
37 000006 ddxbuf =+6 ; transmit data
38
39 165564 diags =165564 ; console diags phase2 entry
40
41 .asect
42 100000 .=100000
43
44 ; --------------------------------------------------
45
46 100000 104 104 start: .ascii "DD" ; device code (reversed)
47
48 100002 000176 .word last-. ; offset to next boot header
49
50 100004 000261 dd0n: sec ; boot std csr, unit zero, no diags
51 100006 012700 000000 dd0d: mov #0,r0 ; boot std csr, unit zero, with diags
52 100012 012701 176500 ddNr: mov #ddcsr,r1 ; boot std csr, unit <R0>
53 100016 010704 ddNb: mov pc,r4 ; boot csr <R1>, unit <R0>
54 100020 103055 bcc diag ; br if diags requested
55 100022 000402 br go ; return to (R4)+2 from diags
56 ; then skip over pseudo reboot vector
57
58 ; --------------------------------------------------
59
60 100024 173000 .word 173000 ; prom start addess @ 24
61 100026 000340 .word 340 ; and priority level @ 26
62
63 ; --------------------------------------------------
64
65 100030 012706 002000 go: mov #2000,sp ; setup a stack
66 100034 005004 clr r4 ; zap old return address
67 100036 005261 000004 inc ddxcsr(r1) ; set break bit
68 100042 005003 clr r3 ; data 000,000
69 100044 004767 100120' jsr pc,10$ ; transmit a bunch of zero chars
70 100050 005061 000004 clr ddxcsr(r1) ; clear break bit
71 100054 005761 000002 tst ddrbuf(r1) ; read/flush any stale rx char
72 100060 012703 004004 mov #<010*400>+004,r3 ; data 010,004
73 100064 004767 100124' jsr pc,12$ ; transmit 004 (init) and 010 (boot)
74 100070 010003 mov r0,r3 ; get unit number
75 100072 004767 100126' jsr pc,13$ ; transmit unit number
76
77 100076 005003 clr r3 ; clear rx buffer ptr
78 100100 105711 2$: tstb (r1) ; wait for rcv'd char available
79 100102 100376 bpl 2$ ; br if not yet
80 100104 116123 000002 movb ddrbuf(r1),(r3)+ ; store the char in buffer, bump ptr
81 100110 022703 001000 cmp #1000,r3 ; hit end of buffer (512. bytes)?
82 100114 101371 bhi 2$ ; br if not yet
83
84 100116 005007 clr pc ; jump to bootstrap at zero
85
86 100120 004717 10$: jsr pc,(pc) ; recursive call for char replication
87 100122 004717 11$: jsr pc,(pc) ; recursive call for char replication
88 100124 004717 12$: jsr pc,(pc) ; recursive call for char replication
89 100126 105761 000004 13$: tstb ddxcsr(r1) ; wait for xmit buffer available
90 100132 100375 bpl 13$ ; br if not yet
91 100134 110361 000006 movb r3,ddxbuf(r1) ; send the char
92 100140 000303 swab r3 ; swap to other char
93 100142 000207 rts pc ; now recurse or return
94
95 ; --------------------------------------------------
96
97 100144 000261 dd1n: sec ; boot std csr, unit one, no diags
98 100146 012700 000001 dd1d: mov #1,r0 ; boot std csr, unit one, with diags
99 100152 000717 br ddNr ; continue
100
101 ; --------------------------------------------------
102
103 100154 000137 165564 diag: jmp @#diags ; jump to console diags
104
105 ; --------------------------------------------------
106
107 100160 000000 000000 000000 .word 0,0,0,0,0,0,0 ; unused
100166 000000 000000 000000
100174 000000
108
109 ; --------------------------------------------------
110
111 100176 .=start+176
112 100176 046154 crc16: .word <046154> ; CRC-16 will go here
113
114 last: ; next boot prom starts here
115
116 .end
116


THANK YOU Marty
 
Ok, the base address is octal 100000, not 10000. So the start address should be as on line 50: 100004

If you started it at 10000 or 10004 it likely would have HALTed or trapped pretty quickly.

Don
 
Hi All;

Don, Sorry about the confusion.. I started the computer at 100004, Switch bit 15 up and switch bit 2 up..
Which is where I have basically started it, (100000) since You told me to start it there way back in an earlier posting..

I am also going to Re-compile the TU58em file and post what it shows, first with Cygwin64 and then I will Delete that and then I will try and do the same with Cygwin32 as You have suggested..

Don, here is the Cygwin64 compilation listing..

Marty@Marty-PC /tu58em/tu58em/sources
$ make clean
rm -f *.o
chmod a-x,go-w *.c *.h Makefile
chmod a+rx tu58em tu58em.exe
chown `whoami` *

Marty@Marty-PC /tu58em/tu58em/sources
$ make --always
gcc -O3 -Wall -c -UWINCOMM main.c
gcc -O3 -Wall -c -UWINCOMM tu58.c
tu58.c: In function ‘bootio’:
tu58.c:206:33: warning: pointer targets in passing argument 2 of ‘fileread’ diff er in signedness [-Wpointer-sign]
if ((count = fileread(unit, buffer, BOOTSIZE)) != BOOTSIZE) {
^
In file included from tu58.c:28:0:
common.h:95:6: note: expected ‘unsigned char *’ but argument is of type ‘char *’
int fileread (int, unsigned char *, int);
^
tu58.c:212:29: warning: pointer targets in passing argument 1 of ‘devtxwrite’ di ffer in signedness [-Wpointer-sign]
if ((count = devtxwrite(buffer, BOOTSIZE)) != BOOTSIZE) {
^
In file included from tu58.c:28:0:
common.h:78:6: note: expected ‘unsigned char *’ but argument is of type ‘char *’
int devtxwrite (unsigned char *, int);
^
tu58.c: In function ‘tuwrite’:
tu58.c:554:26: warning: pointer targets in passing argument 2 of ‘filewrite’ dif fer in signedness [-Wpointer-sign]
if (filewrite(pk->unit, buffer, count) != count) {
^
In file included from tu58.c:28:0:
common.h:96:6: note: expected ‘unsigned char *’ but argument is of type ‘char *’
int filewrite (int, unsigned char *, int);
^
gcc -O3 -Wall -c -UWINCOMM file.c
gcc -O3 -Wall -c -UWINCOMM serial.c
gcc -lpthread -o tu58em main.o tu58.o file.o serial.o

Marty@Marty-PC /tu58em/tu58em/sources

It still Stops at Address 10, and No response from TU58em..

Marty@Marty-PC /tu58em/tu58em/sources
$ cd ..

Marty@Marty-PC /tu58em/tu58em
$ dir
1153RQDX.T58 11xxdp.dsk cygwin1.dll putr tools tu58em.exe
11XX_1.dsk bootloader DD.bin sources tu58boota.bin tu58xxdp.bat

Marty@Marty-PC /tu58em/tu58em
$ ./tu58em -v -p 5 -r 11xxdp.dsk
info: unit 0 r file '11xxdp.dsk'
info: serial port 5 at 9600 baud
info: TU58 emulation start
info: R restart, S toggle send init, V toggle verbose, D toggle debug, Q quit
info: emulator started



THANK YOU Marty
 
Last edited:
Hi All;

Here is for Cygwin32..

Marty@Marty-PC /tu58em/tu58em/sources
$ make clean
rm -f *.o
chmod a-x,go-w *.c *.h Makefile
chmod a+rx tu58em tu58em.exe
chown `whoami` *

Marty@Marty-PC /tu58em/tu58em/sources
$ make --always
gcc -O3 -Wall -c -UWINCOMM main.c
gcc -O3 -Wall -c -UWINCOMM tu58.c
tu58.c: In function ‘bootio’:
tu58.c:206:33: warning: pointer targets in passing argument 2 of ‘fileread’ differ in signedness [-Wpointer-sign]
if ((count = fileread(unit, buffer, BOOTSIZE)) != BOOTSIZE) {
^
In file included from tu58.c:28:0:
common.h:95:6: note: expected ‘unsigned char *’ but argument is of type ‘char *’
int fileread (int, unsigned char *, int);
^
tu58.c:212:29: warning: pointer targets in passing argument 1 of ‘devtxwrite’ differ in signedness [-Wpointer-sign]
if ((count = devtxwrite(buffer, BOOTSIZE)) != BOOTSIZE) {
^
In file included from tu58.c:28:0:
common.h:78:6: note: expected ‘unsigned char *’ but argument is of type ‘char *’
int devtxwrite (unsigned char *, int);
^
tu58.c: In function ‘tuwrite’:
tu58.c:554:26: warning: pointer targets in passing argument 2 of ‘filewrite’ differ in signedness [-Wpointer-sign]
if (filewrite(pk->unit, buffer, count) != count) {
^
In file included from tu58.c:28:0:
common.h:96:6: note: expected ‘unsigned char *’ but argument is of type ‘char *’
int filewrite (int, unsigned char *, int);
^
gcc -O3 -Wall -c -UWINCOMM file.c
gcc -O3 -Wall -c -UWINCOMM serial.c
gcc -lpthread -o tu58em main.o tu58.o file.o serial.o

Marty@Marty-PC /tu58em/tu58em/sources
$ dir
common.h file.c main.c Makefile serial.o tu58.o
copyright.h file.o main.o serial.c tu58.c tu58em.exe

Marty@Marty-PC /tu58em/tu58em/sources

Well, Cygwin32, TU58em won't come up at all..

Marty@Marty-PC /tu58em/tu58em
$ ./tu58em -v -p 5 -r 11xxdp.dsk

Marty@Marty-PC /tu58em/tu58em
$ ./tu58em -v -p 5 -r 11xxdp.dsk

Marty@Marty-PC /tu58em/tu58em

I got it to respond in the Sources Directory..
But, no good in response to the PDP 11/45, it does the same as Cygwin64..

Marty@Marty-PC /tu58em/tu58em/sources
$ ./tu58em -v -p 5 -r 11xxdp.dsk
info: unit 0 r file '11xxdp.dsk'
info: serial port 5 at 9600 baud
info: TU58 emulation start
info: R restart, S toggle send init, V toggle verbose, D toggle debug, Q quit
info: emulator started



THANK YOU Marty
 
Last edited:
Code:
tu58em[518][B][COLOR="#FF0000"] gcc -v[/COLOR][/B]
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/i686-pc-cygwin/4.9.3/lto-wrapper.exe
Target: i686-pc-cygwin
Configured with: /cygdrive/i/szsz/tmpp/gcc/gcc-4.9.3-1.i686/src/gcc-4.9.3/configure --srcdir=/cygdrive/i/szsz/tmpp/gcc/gcc-4.9.3-1.i686/src/gcc-4.9.3 --prefix=/usr --exec-prefix=/usr --localstatedir=/var --sysconfdir=/etc --docdir=/usr/share/doc/gcc --htmldir=/usr/share/doc/gcc/html -C --build=i686-pc-cygwin --host=i686-pc-cygwin --target=i686-pc-cygwin --without-libiconv-prefix --without-libintl-prefix --libexecdir=/usr/lib --enable-shared --enable-shared-libgcc --enable-static --enable-version-specific-runtime-libs --enable-bootstrap --enable-__cxa_atexit --with-dwarf2 --with-arch=i686 --with-tune=generic --disable-sjlj-exceptions --enable-languages=ada,c,c++,fortran,java,lto,objc,obj-c++ --enable-graphite --enable-threads=posix --enable-libatomic --enable-libgomp --disable-libitm --enable-libquadmath --enable-libquadmath-support --enable-libssp --enable-libada --enable-libjava --enable-libgcj-sublibs --disable-java-awt --disable-symvers --with-ecj-jar=/usr/share/java/ecj.jar --with-gnu-ld --with-gnu-as --with-cloog-include=/usr/include/cloog-isl --without-libiconv-prefix --without-libintl-prefix --with-system-zlib --enable-linker-build-id
Thread model: posix
gcc version 4.9.3 (GCC)
tu58em[519] [B][COLOR="#FF0000"]make --always[/COLOR][/B]
gcc -I. -O3 -Wall -c -UWINCOMM main.c
gcc -I. -O3 -Wall -c -UWINCOMM tu58drive.c
gcc -I. -O3 -Wall -c -UWINCOMM file.c
gcc -I. -O3 -Wall -c -UWINCOMM serial.c
gcc -o tu58em main.o tu58drive.o file.o serial.o -lpthread -lrt
tu58em[520][B][COLOR="#FF0000"] ./tu58em[/COLOR][/B]
info: tu58 tape emulator v1.4k
info: (C) 2005-2014 Don North <ak6dn@mindspring.com>, (C) 1984 Dan Ts'o <Rockefeller University>
ERROR: no units were specified
FATAL: illegal command line
  tu58 tape emulator v1.4k
  Usage: ./tu58em [-options] -[rwci] file1 ... -[rwci] file7
  Options: -V | --version            output version string
           -v | --verbose            enable verbose output to terminal
           -d | --debug              enable debug output to terminal
           -m | --mrsp               enable standard MRSP mode (byte-level handshake)
           -n | --nosync             disable sending INIT at initial startup
           -t | --timing 1           add timing delays to spoof diagnostic into passing
           -T | --timing 2           add timing delays to mimic a real TU58
           -s | --speed BAUD         set line speed [1200..230400; default 9600]
           -p | --port PORT          set port to PORT [1..N or /dev/comN; default 1]
           -r | --read|rd FILENAME   readonly drive
           -w | --write FILENAME     read/write drive
           -c | --create FILENAME    create new r/w drive, zero tape
           -i | --initrt11 FILENAME  create new r/w drive, initialize RT11 directory
           -z | --initxxdp FILENAME  create new r/w drive, initialize XXDP directory

tu58em[521][B][COLOR="#FF0000"] ./tu58em -d -p 3 -i foo.dsk[/COLOR][/B]
info: initialize tape on 'foo.dsk'
info: initialize RT-11 directory on 'foo.dsk'
info: unit 0 rwci file 'foo.dsk'
info: tu58 tape emulator v1.4k
info: (C) 2005-2014 Don North <ak6dn@mindspring.com>, (C) 1984 Dan Ts'o <Rockefeller University>
info: serial port 3 at 9600 baud
info: TU58 emulation start
info: R restart, S toggle send init, V toggle verbose, D toggle debug, Q quit
info: emulator started
......................................info: TU58 emulation end

Well, here is what I get if I force a recompile on my CYGWIN 32b on a Win7 64b system. I also included my GCC version information.

I don't know why your configuration is throwing warnings about pointer sign mismatches. You are obviously not using the same GCC as I am, or else your include files are very different. Don't know what else to say, I don't see those problems.

Don
 
Last edited:
Hi All;

Don, Thank You for trying to Help..

Here is what I get under GCC..

Marty@Marty-PC ~
$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/i686-pc-cygwin/4.9.3/lto-wrapper.exe
Target: i686-pc-cygwin
Configured with: /cygdrive/i/szsz/tmpp/gcc/gcc-4.9.3-1.i686/src/gcc-4.9.3/config ure --srcdir=/cygdrive/i/szsz/tmpp/gcc/gcc-4.9.3-1.i686/src/gcc-4.9.3 --prefix=/ usr --exec-prefix=/usr --localstatedir=/var --sysconfdir=/etc --docdir=/usr/shar e/doc/gcc --htmldir=/usr/share/doc/gcc/html -C --build=i686-pc-cygwin --host=i68 6-pc-cygwin --target=i686-pc-cygwin --without-libiconv-prefix --without-libintl- prefix --libexecdir=/usr/lib --enable-shared --enable-shared-libgcc --enable-sta tic --enable-version-specific-runtime-libs --enable-bootstrap --enable-__cxa_ate xit --with-dwarf2 --with-arch=i686 --with-tune=generic --disable-sjlj-exceptions --enable-languages=ada,c,c++,fortran,java,lto,objc,obj-c++ --enable-graphite -- enable-threads=posix --enable-libatomic --enable-libgomp --disable-libitm --enab le-libquadmath --enable-libquadmath-support --enable-libssp --enable-libada --en able-libjava --enable-libgcj-sublibs --disable-java-awt --disable-symvers --with -ecj-jar=/usr/share/java/ecj.jar --with-gnu-ld --with-gnu-as --with-cloog-includ e=/usr/include/cloog-isl --without-libiconv-prefix --without-libintl-prefix --wi th-system-zlib --enable-linker-build-id
Thread model: posix
gcc version 4.9.3 (GCC)

I have No idea, as well as to why the difference..

I am going to Delete the whole thing and try it again, maybe something is left over from my previous builds..

THANK YOU Marty
 
If you just do this command:

Code:
./tu58em

what do you get? I'm wondering if you have the latest sources (v1.4k).

Don
 
Hi All;

Don, Thank You for Your continued help.. I think I do, but, right now I can't show You..
As, I have completely Deleted Cygwin32..
Give me awhile to re-load it..
I guess Not !!

Marty@Marty-PC /tu58em/tu58em/sources
$ ./tu58em
ERROR: no units were specified
FATAL: illegal command line
tu58 tape emulator v1.4c
Usage: ./tu58em [-options] -[rwci] file1 ... -[rwci] file3
Options: -V output version string
-v enable verbose output to terminal
-d enable debug output to terminal
-x honor XOFF flags
-m enable MRSP mode
-t add timing delays to spoof diagnostic into passing
-T add timing delays to mimic a real TU58
-s BAUD set line speed [1200..115200; default 9600]
-p PORT set port to PORT [1..N or /dev/comN; default 1]
-r FILENAME readonly drive
-w FILENAME read/write drive
-c FILENAME create new r/w drive, zero tape
-i FILENAME create new r/w drive, initialize RT11 directory
-z FILENAME create new r/w drive, initialize XXDP directory

I thought I had the Latest, but this shows 1.4c and You show 1.4k..
I will go and get them..

THANK YOU Marty
 
Last edited:
Hi All;

OK, Don, I have uploaded to 1.4K, even though I had only uploaded from 1.20.2016, what I got was older for some reason..

My problem is now I think I need to rebuild it, and it hangs, I suspect something in the make file isn't correct for where I have things..

Marty@Marty-PC /tu58em/tu58em
$ ./tu58em -v -p 5 -r 11xxdp.dsk
ERROR: no units were specified
FATAL: illegal command line
tu58 tape emulator v1.4k
Usage: /tu58em/tu58em [-options] -[rwci] file1 ... -[rwci] file7
Options: -V | --version output version string
-v | --verbose enable verbose output to terminal
-d | --debug enable debug output to terminal
-m | --mrsp enable standard MRSP mode (byte-level handshake)
-n | --nosync disable sending INIT at initial startup
-t | --timing 1 add timing delays to spoof diagnostic into passing
-T | --timing 2 add timing delays to mimic a real TU58
-s | --speed BAUD set line speed [1200..230400; default 9600]
-p | --port PORT set port to PORT [1..N or /dev/comN; default 1]
-r | --read|rd FILENAME readonly drive
-w | --write FILENAME read/write drive
-c | --create FILENAME create new r/w drive, zero tape
-i | --initrt11 FILENAME create new r/w drive, initialize RT11 directory
-z | --initxxdp FILENAME create new r/w drive, initialize XXDP directory


Marty@Marty-PC /tu58em/tu58em

And it still hangs when I try to make..

Marty@Marty-PC /tu58em/tu58em
$ make clean
rm -f *.o
chmod a-x,ug+w,o-w *.c *.h makefile
chmod a+rx tu58em tu58em.exe
chown `whoami` *

Marty@Marty-PC /tu58em/tu58em
$ make --always
gcc -I. -O3 -Wall -c -UWINCOMM main.c

And This is No Good either..

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

Marty@Marty-PC /tu58em/tu58em
$ make --always comm=win install
gcc -I. -O3 -Wall -c -DWINCOMM main.c



THANK YOU Marty
 
Last edited:
Marty@Marty-PC /tu58em/tu58em

And it still hangs when I try to make..

Marty@Marty-PC /tu58em/tu58em
$ make clean
rm -f *.o
chmod a-x,ug+w,o-w *.c *.h makefile
chmod a+rx tu58em tu58em.exe
chown `whoami` *

Marty@Marty-PC /tu58em/tu58em
$ make --always
gcc -I. -O3 -Wall -c -UWINCOMM main.c

And This is No Good either..

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

Marty@Marty-PC /tu58em/tu58em
$ make --always comm=win install
gcc -I. -O3 -Wall -c -DWINCOMM main.c

Well, if you do a make --always it will force a recompile of all source files and a link to produce the executable. If that is 'hanging' in GCC then something is wrong with your CYGWIN and/or GCC install. That should not happen, and TU58EM (should) not be able to cause it.

Don't know what to say, other than I don't use 64b CYGWIN and don't see the need to. I have no experience with it at all, and continue to use 32b CYGWIn on all my systems (XP 32b, and Win7 64b) since I can then run the same executable on either system without a recompile.

TU58EM has not been compiled/tested by me (or anyone else AFAIK) inb a 64b compile environment, so I don't know if there are any hidden issues, or not.

Don't know what else to say at this point.

Don
 
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
 
Back
Top