Speed on SIO/B for XOMDEM

68 views
Skip to first unread message

Jon Langseth

unread,
Jan 4, 2020, 12:42:36 PM1/4/20
to LiNC80
On Fri, Jan 3, 2020 at 4:13 PM Dominique DOS SANTOS via LiNC Contact Form wrote:
>
> Comments / Questions: Hello,
> I bought PCB LINC80 SCB1 and all works fine except XMODEM:
> CF image: linc80sbc1-cpm128-v1.1-img, ROM: LiNC80SBC1-ROM9-SC100-GSL7-SIOB.
> The SIOB is set at 115200bps. I use XMODEM on this port with these parameters: /r/x0/z5/c using securecrt as xmodem sender. The LINC80 stuck at "transferting". If the SIOB is set at 9600bps (J3) the XMODEM works fine.
> I think there is a CPM (or xmodem) buffer problem at 115200bps how can I update the cpm (or xmodem) buffer.
> An other solutions is to modify the ROM software to have on SIOB 57600bps (set by CTC) as default 9600bps is too slow.
> Waiting your answer.
> Happy new year
> Regards
> Dominique

Hello Dominique!

Good to hear from you, and to hear that your LiNC80 is in general working :)
I'm also sorry to hear that you are having issues with XMODEM. I must
admit that I haven't spent a whole lot of time testing and working
with xmodem.com, as I personally prefer to use kermit or simply
download.com. However, I do have some suggestions! As it is working
when your J3 is set for "not 115200", it works when it is being
clocked by the second CTC channel. The reason it is 9600 when the J3
is in position 1-2 is simply because Steve Cousins and I decided that
was probably the most useful default :) With the jumper in that
position, it is possible for you to select what speed it actually uses
by changing the registers of the CTC and SIO/2.

The ROM is built as a combination of version 1.0 of Steve's SCM,
combined with my (and Steve's) changes to the Grant Searle Loader and
CBIOS/BDOS of CMP2.2.

The source for the ROM is located at Steve's site over at
https://smallcomputercentral.wordpress.com/small-computer-monitor/small-computer-monitor-v1-0/
I'd suggest you have a look at the files in the
SCMonitor/Source/Hardware/LiNC80 folder, especially the !Manager.asm
file
The source for the CBIOS/BDOS is available at
https://github.com/linc80/z80sbcFiles, and there I'd suggest you take
a look at https://github.com/linc80/z80sbcFiles/blob/master/source/cbios128.asm#L193
to see how I initialize the CTC/SIO in Assembly.
Documentation for how the CTC/SIO actually works, and what all the
magic numbers in Steve's !Manager.asm file actually mean, can be read
in the Zilog datasheet at http://linc.no/dl/linc80/doc/um0081.pdf

I'd suggest using BASIC under CP/M to experiment with settings for the
second CTC channel and settings for SIO/B by sending I/O data using
BASIC's OUT function. That way you don't have to set up a full
assembly environment until you feel you need to, or feel comfortable
with doing that :)

I hope this is a step in the right direction?
By the way, I an "cross posting" your question the the LiNC80 Google
Group, as I think it was a question that other people may find useful.

(reposted on the group, as I made an error not changing the Subject)
--
regards, Jon Langseth

Angus Bliss

unread,
Jul 8, 2020, 1:26:00 AM7/8/20
to LiNC80
I note a lot of posts which seem to boil down to 115200 baud being too much for a Z80. However, not so sure about that. A network admin of my acquaintance says so though.

When I bought my Linc80 kit, I also bought the Geoff Graham designed ASCII video terminal kit from Tindie also. Mainly to give me some kit building experience after 15+ years of no soldering. While it claims a baud rate of up to 1,000, 000 bits per second, I either have a faulty version of it or its not true. Even displaying the full menu on the Linc80, it  dropped characters occasionally and a BASIC "Hello World"  of about 40 character kept dropping parts of the output.

I finally connected a TTL serial to USB cable to my beast of a desktop (Four cores, hyperthreaded and 32Mb Ram) and no problems at all. Loaded some software by pasting it thru Tera Term with no trouble. I repeated the "Hello World" experiment (0 to 65000) and nary an issue.

I had assumed XMODEM et all transmit "packets" of data hence giving things time to catch up in between packets?

Now if I could get the SIO/A RS232 port to show some life. Its not the CTC and it appears not to be the SIO/2 chip. No bent pins etc. Also pulled the MAX232 chip to check it. Now trying the SIO/2 test code (for RC2014 I think). It used "wrong" I/O addresses - I have had to convert it to Linc80 addresses - will try that soon. Any other hints as to what could be wrong would be appreciated. 
Reply all
Reply to author
Forward
0 new messages