UK Vintage Radio Repair and Restoration Discussion Forum

UK Vintage Radio Repair and Restoration Discussion Forum (https://www.vintage-radio.net/forum/index.php)
-   Vintage Computers (https://www.vintage-radio.net/forum/forumdisplay.php?f=16)
-   -   Gemini 80-Bus System (https://www.vintage-radio.net/forum/showthread.php?t=156106)

john_newcombe 21st Jul 2019 11:08 pm

Re: Gemini 80-Bus System
 
Been trying to set up T-Net but have not had a lot of success. I have the fileserver running with the following config...

Code:

#XBEAVER network server configuration file

#Define as a server file - eg no main processor activity
cpuclock 0

board 0x00 serial_extloop 9600 trace tty tty /dev/ttyS0 bvrnet /home/john/Dropbox/Documents/CPM/Gemini80/Emulator/xbeaver/network

echo
echo bvrnet file server running - use t-net on the clients to connect

With the permissions set correctly on /dev/ttyS0, the server reports as follows...

Code:

Trace tty    : Baudrate requested 9600 set 9600
Trace tty    : Modem control RTS:1 DTR:1

bvrnet file server running - use t-net on the clients to connect

On the gemini I execute t-net n which returns the A:> prompt as expected and I can switch drives to drive N:. However, a DIR on drive N: reports a Network error.

On the server I see multiple trace messages like the one below...

Code:

Trace tty  > 00:00
Using a breakout box I can see that the null modem configuration looks good and that serial data is being sent and received, this is also the case if I simply execute a DIR of the local disk A: on the Gemini.

I wonder if you have any ideas?

JohnBHanson 22nd Jul 2019 1:35 am

Re: Gemini 80-Bus System
 
1 Attachment(s)
What is the trace when you type dir n: - that might provide some clues. In the trace the lines have either > or < for tx/rx.

1. WhIe the server is runing type stty -F /dev/ttyS0 -a and check the port is set for 8 bits no parity (it should be). Also check the baud rate

2. Double check your serial lead

3. Make sure you are not using the serial port for CP/M - eg CP/M itself is not outputting to the serial port.

The log should show something like
Code:

Trace tty < 00: 00
Trace tty > 00: 01
Trace tty < 00: 02
Trace tty > 00: 25 11 a2 01 00 01 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f
Trace tty > 10: 3f 00 00 00 00 00 20 20 20 20 20 20 20 20 20 20
Trace tty > 20: 20 00 00 00 00 00
Trace tty < 00: a4 00 00 a2 01 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f
Trace tty < 10: 00 00 00 00 00 20 20 20 20 20 20 20 20 20 20 20
Trace tty < 20: 00 00 00 00 00 00 43 48 55 47 20 20 20 20 4c 53
Trace tty < 30: 54 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Trace tty < 40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Trace tty < 50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Trace tty < 60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Trace tty < 70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Trace tty < 80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Trace tty < 90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Trace tty < a0: 00 00 00 00 00

Note this is with the simulator - so < and > maybe reversed on your trace. I have attached a working disk image with t-net. This works with the xbeaver emulator which should give you a basis for comparison. The same disk image should work with your real hardware

use the command "t-net n" to start t-net.

your server configuration file looks ok. If you still have problems please post the entire console log when trying dir n: and I can see what causes the error. Usually it is a failure of the initial handshake

Code:

Trace tty < 00: 00
Trace tty > 00: 01
Trace tty < 00: 02


john_newcombe 22nd Jul 2019 6:47 pm

Re: Gemini 80-Bus System
 
sudo stty -F /dev/ttyS0 -a returns the following...

Code:

[john@mopsie xbeaver]$ sudo stty -F /dev/ttyS0 -a
speed 9600 baud; rows 24; columns 80; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>;    eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S;
susp = ^Z; rprnt = ^R; werase = ^W; lnext = ^V; discard = ^O; min = 1; time = 0;
-parenb -parodd -cmspar cs8 hupcl -cstopb cread clocal -crtscts
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany -imaxbel iutf8
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
-isig -icanon -iexten -echo -echoe -echok -echonl -noflsh -xcase -tostop -echoprt -echoctl -echoke -flusho -extproc

I run the server on the linux machine e.g.

Code:

[john@mopsie xbeaver]$ ./xbeaver fileserver.cfg

Trace tty    : Baudrate requested 9600 set 0
Trace tty    : Modem control RTS:1 DTR:1
bvrnet file server running - use t-net on the clients to connect

I have run T-NET N on the Gemini and followed that with DIR N: e.g...

Code:

A:> T-NET N
A:> DIR N:
   
T-NET V2.2
Network Error

Nothing is shown on the server console. However, when I issue the command

Code:

A:> DIR A: (note A: not N:)
I see the following on the Linux Console

Code:

    Trace tty < 00: 00 00
    Trace tty > 00: 00
    Trace tty < 00: 00 00
    Trace tty > 00: 00
    Trace tty < 00: 00 00
    Trace tty > 00: 00
    Trace tty < 00: 00
    Trace tty > 00: 00
    Trace tty < 00: 00
    Trace tty > 00: 00
    Trace tty < 00: 00
    Trace tty > 00: 00
    Trace tty < 00: 00
    Trace tty > 00: 00
    Trace tty < 00: 00
    Trace tty > 00: 00
    Trace tty < 00: 00
    Trace tty > 00: 00
    Trace tty < 00: 00
    Trace tty > 00: 00
    Trace tty < 00: 00
    Trace tty > 00: 00
    Trace tty < 00: 00
    Trace tty > 00: 00
    Trace tty < 00: 00
    Trace tty > 00: 00
    Trace tty < 00: 00
    Trace tty > 00: 00
    Trace tty < 00: 00
    Trace tty > 00: 00
    Trace tty < 00: 00
    Trace tty > 00: 00
    Trace tty < 00: 00
    Trace tty > 00: 00
    Trace tty < 00: 00
    Trace tty > 00: 00
    Trace tty < 00: 00
    Trace tty > 00: 00
    Trace tty < 00: 00
    Trace tty > 00: 00
    Trace tty < 00: 00
    Trace tty > 00: 00
    Trace tty < 00: 00
    Trace tty > 00: 00
    Trace tty < 00: 00
    Trace tty > 00: 00
    Trace tty < 00: 00
    Trace tty > 00: 00
    Trace tty < 00: 00
    Trace tty > 00: 00
    Trace tty < 00: 00
    Trace tty > 00: 00
    Trace tty < 00: 00
    Trace tty > 00: 00
    Trace tty < 00: 00
    Trace tty > 00: 00
    Trace tty < 00: 00
    Trace tty > 00: 00
    Trace tty < 00: 00
    Trace tty > 00: 00
    Trace tty < 00: 00
    Trace tty > 00: 00
    Trace tty < 00: 00
    Trace tty > 00: 00
    Trace tty < 00: 00
    Trace tty > 00: 00
    Trace tty < 00: 00
    Trace tty > 00: 00
    Trace tty < 00: 00
    Trace tty > 00: 00
    Trace tty < 00: 00
    Trace tty > 00: 00
    Trace tty < 00: 00
    Trace tty > 00: 00
    Trace tty < 00: 00
    Trace tty > 00: 00
    Trace tty < 00: 00
    Trace tty > 00: 00
    Trace tty < 00: 00
    Trace tty > 00: 00
    Trace tty < 00: 00
    Trace tty > 00: 00
    Trace tty < 00: 00
    Trace tty > 00: 00
    Trace tty < 00: 00
    Trace tty > 00: 00
    Trace tty < 00: 00
    Trace tty > 00: 00
    Trace tty < 00: 00
    Trace tty > 00: 00
    Trace tty < 00: 00
    Trace tty > 00: 00
    Trace tty < 00: 00 00 00 00 00 00 00
    Trace tty > 00: 00
    Trace tty < 00: 00
    Trace tty > 00: 00
    Trace tty < 00: 00 00 00 00 00 00 00 00
    Trace tty > 00: 00
    Trace tty < 00: 00 00 00 00
    Trace tty > 00: 00
    Trace tty < 00: 00
    Trace tty > 00: 00


JohnBHanson 22nd Jul 2019 9:57 pm

Re: Gemini 80-Bus System
 
Please try with my disk image that is posted - as I have checked that on the simulator.

I notice in the log you have 00 00 00 00 00 on one line. That should not be happening.

How have you connected the serial cable.

Can you still use the serial setup with your serial version of CP/M?

JohnBHanson 22nd Jul 2019 10:18 pm

Re: Gemini 80-Bus System
 
If you have two serial ports on the Linux box try running an emulator with the serial port mapped to another serial port eg change the line in gemini2.cfg to

if V board 0xb8 serial_8250 trace tty tty /dev/ttyS1
which will create an 8250 emulated uart based at port address 0xb8 to ttyS1.

Connect a null modem cable between ttyS0 and ttyS1


then start your t-net server on Linux

and in another terminal window start the Gemini emulation with

xbeaver gemini2.cfg -o V


And then see if T-NET works with that.

If that works (it does on mine) then try using the disk image in the previous post on your Gemini system.

Please try all this with the disk image in tnet_eumulator.zip in post 182
Let me know the results.

john_newcombe 23rd Jul 2019 12:15 pm

Re: Gemini 80-Bus System
 
Thanks, I will try the disk later today once I have coverted it to IMG.

Alas only one serial port on my linux box but could add a USB one I guess.

Many thanks John

john_newcombe 23rd Jul 2019 8:10 pm

Re: Gemini 80-Bus System
 
The symptoms are exactly the same with the disk you posted, when I get chance I will set up the emulator as you suggest.

JohnBHanson 23rd Jul 2019 9:29 pm

Re: Gemini 80-Bus System
 
Another useful test
1st run telnet
A0>T-NET N

and then remove it
A>T_NET R

and then run gemdebug
A0>Gemdebug
Gemdebug....

Run a terminal program on the windows/linux box

The following sends character 41 on the serial port
-ob8 41
And the command
-qb8
Will display the last character received on the serial port.


This will check the serial link including the cable and uart.

john_newcombe 24th Jul 2019 6:57 am

Re: Gemini 80-Bus System
 
Thanks, that is very useful. I am away for a few days now but will try this at the weekend when I return.

john_newcombe 25th Jul 2019 8:53 pm

Re: Gemini 80-Bus System
 
Just updated the Gemini Resource Page just in case it helps anyone.

https://glasstty.com/wiki/index.php/...0-Bus_Resource

john_newcombe 27th Jul 2019 10:14 am

Re: Gemini 80-Bus System
 
Quote:

Originally Posted by JohnBHanson (Post 1162848)
Another useful test
1st run telnet
A0>T-NET N

and then remove it
A>T_NET R

and then run gemdebug
A0>Gemdebug
Gemdebug....

Run a terminal program on the windows/linux box

The following sends character 41 on the serial port
-ob8 41
And the command
-qb8
Will display the last character received on the serial port.


This will check the serial link including the cable and uart.

Using Gemdebug showed that T-Net failed miserably on the built in serial port, however, a USB Serial adapter on the Linux machine worked a treat, thank you, I now have a very useful system. I will update the blog with this new info.

Whilst I was away, I started looking in more detail at the various bios sources you sent me. As you know I have updated the Gemini bios to support QDDS disks now and this works rather well. I started to wonder how hard it would be to add the necessary to support my SASI emulator. I am keen to keep as near to the original Gemini setup as I can (I have no idea why, it just feels right for me) so whilst I have the CCPZ, BDOSZ and TBIOS, I really wanted to add Winchester support to the Gemini Bios. It's all about the journey, right?

I have started to read everything I can find on CP/M modification, and I have the various specs for the controller etc. and of course the source you sent.

Am I mad?

I have found a chap who has the Gemini Multi Format Bios (MFB) which is awesome but is circa 1985 so a little newer than my system, I have not had too much luck so far in getting in touch with him anyway. Also there is Tony on this forum who may be able to help but is very busy with other things at the moment.

So I wonder, how hard can it be? Probably beyond me but I just thought I would mention it.

JohnBHanson 27th Jul 2019 6:03 pm

Re: Gemini 80-Bus System
 
I am pleased that you have t-net running - I find it invaluable, indeed the simulator uses it to access host directories!

T-NET was originally used between CP/M machines. When I wrote the xbeaver emulator I included a C version of the server. It took quite some investigation to get PIP to work as it does some undocumented tricks with the file control blocks but all happy now.

Note: If you want to run it without trace omit the "trace tty" from the configuration line. Also upto 4 directories can be specified on the command line (Use & at the end of a line to continue on the
next line). printf % strings such as %d etc can be used in the filename to include the user number. There are 16 user numbers (0 to 15) per drive letter and combined with symlinks these can be any linux directory - hence upto 64 directories can be accessed using 4 drive letters and the 16 user areas via t-net.

john_newcombe 7th Aug 2019 2:08 pm

Re: Gemini 80-Bus System
 
T-Net is awesome, thank you, but...

I have now started work in adding Winchester support to the bios. I am adding it to version 1.4 of the CP/M 2.2 64K bios (this is the version I modified for the GEMQDDS 788k floppy). In order to give me some working room I have shifted CP/M down a couple of pages to...

Code:

A> MAPMEM S

Return Address      E25F
CCP Address          DB00
BDOS Address        E306
BIOS Address        F100

It may be that, given time I may be able to claw back some of this memory, however, for now at least, T-NET no longer works. I am guessing that I need a new build of T-NET to work with this new configuration, would that be correct?

JohnBHanson 7th Aug 2019 3:05 pm

Re: Gemini 80-Bus System
 
t-net should work with the new configuration or indeed any size cp/m version. It automatically relocates itself. However try using ccpz rather than the standard cp/m processor.

john_newcombe 7th Aug 2019 5:05 pm

Re: Gemini 80-Bus System
 
I was hoping to use the original CP/M as it is this that I am updating, although I have the source you sent so could try it.

With the Gemini CP/M, when I run t-net n I see;

Code:

T-NET V2.2
T-NET: Please run ledit

The N: drive is connected to something as dir n: returns one file when there are many on the network drive. I am assuming there is something amiss with my modified CP/M. I will look into this some more and perhaps try the CCPZ as you suggest.

Thanks.

JohnBHanson 7th Aug 2019 6:24 pm

Re: Gemini 80-Bus System
 
1 Attachment(s)
Yes - if you just get one file you have a version without a conditional set.or an older version. The new version is compatable with standard cp/m (although I have not run it a lot with real cp/m).

Please use attached and let me know.

john_newcombe 7th Aug 2019 7:35 pm

Re: Gemini 80-Bus System
 
Will do, thanks.

john_newcombe 7th Aug 2019 10:49 pm

Re: Gemini 80-Bus System
 
Perfect, the new T-NET works a treat, thank you.

Just in case it is of any interest, I have been updating the article re: my progress with adding Winchester support at...

https://glasstty.com/wiki/index.php/...inchester_Disk.

JohnBHanson 8th Aug 2019 5:52 am

Re: Gemini 80-Bus System
 
1 Attachment(s)
The following is an extraction of the bios used on xbeaver. You will need to merge this into your bios and include the disk tables required for the hard disk.

Note that the data on the hard disk is stored inverted. This is because the gemini floppy disk controllers inverts the data on read/write.

Also you might like to give some consideration to allowing space for the os on the hard disk rather than having to boot of floppy.

john_newcombe 8th Aug 2019 9:41 pm

Re: Gemini 80-Bus System
 
Thank you, that is a big help.

I have been spending time reading old issues of Byte magazine and have found a series of articles relating to adding Winchester support to S100 systems, these have also given me some inspiration.

I will keep the blog updated on day to day progress with the odd post here if I reach any significant milestones.


All times are GMT +1. The time now is 4:42 am.

Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Copyright ©2002 - 2023, Paul Stenning.