Cromix TUARTs

74 views
Skip to first unread message

norwestrzh

unread,
Nov 5, 2020, 4:39:38 PM11/5/20
to Cromemco
So I see (in the "Cromix System Administrator's Manual") that a TUART in the system can be set up in /etc/ttys as:

1:9600 :tty1

Then if the TUART is set to the default port addresses (20h and 50h), tty1 would (I guess) appear on the J4 connector (serial port A) on the TUART?  Does Cromix initialize tty1 (to 9600, 8N1) automatically, or does it need to be initialized by the user??

The SBASIC user's guide talks about the instructions INP and OUT, and it shows a little example that reads from, and echoes to, the console.  The example uses port numbers 0 (status) and 1 (data) -- very similar to the way a program would access the console if writing Z80 assembler.  So, I'm wondering if the manuals I have are for Z80 Cromix?  Are there differences between Z80 Cromix and 68k Cromix with regard to hardware port access?

If a TUART is in the system as described above, what port numbers would be used to read/write from/to it?

On a related note, does anybody have a copy of a termcaps file that they would be willing to post here?

I guess I need to work on getting access to Marcus's great archive -- I miss having it available as a ready source of info. for all things Cromemco.  How do I go about setting up access to it?

Thanks

Roger

Richard Muse

unread,
Nov 5, 2020, 6:15:49 PM11/5/20
to crom...@googlegroups.com

Termcaps attached.

Richard

--
You received this message because you are subscribed to the Google Groups "Cromemco" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cromemco+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/cromemco/75fb73fb-0a5d-4439-87ce-3423af15121fo%40googlegroups.com.
termcaps

norwestrzh

unread,
Nov 6, 2020, 12:53:26 AM11/6/20
to Cromemco

On Thursday, November 5, 2020 at 3:15:49 PM UTC-8, rlm2667 wrote:

>> Termcaps attached.

Thanks, Richard.  Once again you come through!!!!

Roger

jim30109

unread,
Nov 6, 2020, 9:59:19 AM11/6/20
to Cromemco
I'm no expert, but a few things I think I've read in the manuals...

If you boot with an RDOS ROM, I think the TU-ART is initialized before you boot the OS. (That really needs to be checked though.)

I/O with the 68000 is memory mapped, so instead of IN and OUT instructions like you'd use with the Z80, the I/O devices are in memory (so use memory reads and writes) at FFFF00 through FFFFFF (for I/O ports 00 to FF).

For Marcus's archive, it's out on GitHub and he has to give you access I believe.

Thanks,
Jim

damian

unread,
Nov 6, 2020, 5:45:46 PM11/6/20
to Cromemco
If there is an entry in /etc/ttys for the port then it will be initialised and a getty type process will be created for the port.

tuart-ports.png

tuart-switch-settings.png

norwestrzh

unread,
Nov 6, 2020, 9:15:58 PM11/6/20
to Cromemco

On Friday, November 6, 2020 at 2:45:46 PM UTC-8, damian wrote:

>>If there is an entry in /etc/ttys for the port then it will be initialised and a getty type process will be created for the port.

Thanks for the TUART documentation, Damian.

From it, and what I am reading in my (old) Cromix System Admin. Manual, it seems that if I put a line like:

1:9600 :tty2

in the ttys, Cromix will run a getty on port A (J4) of the TUART @ address 20h, at 9600.  BUT, I fear that this old documentation is for Z80 Cromix, *NOT* 68k.  As Jim correctly pointed out, ports are accessed differently with the two architectures.  So, how do I refer to the port in an application (like SBASIC68)?  The SBASIC documentation says that SBASIC has an "INP" and "OUT" instruction that uses the "port number".  Is that 20? (for status) and 21 (for data)?  Or do I refer to it as tty2?  Or just 2?  If I wanted to use the termcaps file that Richard so kindly supplied to set it up for VT100, how do I do that?  Run "term=Z100 (or M100)" in a session on tty2?  Cromix seems to use a number of labels to refer to a port.

Maybe I just need to try it?  BUT, troubleshooting serial ports can be a giant headache!  Or am I making this overly difficult?

Roger

damian

unread,
Nov 6, 2020, 11:01:22 PM11/6/20
to Cromemco
Hi Roger

What are trying to achieve with the tuart port?
On the 25/10  I emailed you a copy of a Cromix Plus Administrator Guide, did you receive it?  Page 27 onward covers setting up ttys including tuart examples.  If you didn't receive the manual let me know and I will send it again.
Is SBASIC68 - Comemco  68000 Structured Basic?
The INP & OUT instructions would use port numbers.  So yes, $20 for status $21 for data, etc.
With 68000 Structured Basic you can OPEN the /dev/tty2 device and then use GET & PUT to read & write to the terminal via the device driver.

Damian

norwestrzh

unread,
Nov 7, 2020, 2:17:19 PM11/7/20
to Cromemco
On Friday, November 6, 2020 at 8:01:22 PM UTC-8, damian wrote:

>> On the 25/10  I emailed you a copy of a Cromix Plus Administrator Guide, did you receive it?

Yes, I did.  When I looked through it, it seemed to me that it closely resembled the paper copy of the S.A. manual that I have.
But, after looking at p.27 (and ff) again more carefully, I can see the missing piece for ttys:

1:9600 :tty2:dumb
                    ******
So... that's how a tty gets hooked up with a termcap entry!  That gem is *NOT* in the SA manual (paper) that I have!

>> Is SBASIC68 - Comemco  68000 Structured Basic?

Yes.

>> The INP & OUT instructions would use port numbers.  So yes, $20 for status $21 for data, etc.

OK.  I'll try that.

>> With 68000 Structured Basic you can OPEN the /dev/tty2 device and then use GET & PUT to
>> read & write to the terminal via the device driver.

Ahhh ... I didn't think about doing it that way.  Maybe a better approach?

>> What are you trying to achieve with the tuart port? 

Well, I need some way of moving files to the Cromix box.  I was thinking that it might be possible with the TUART?  Maybe write a little program to copy ASCII and save it into a file?  Or, make it more of a project, and write an XMODEM type receiver?  I think I'd much rather attempt that in C, but without a functioning editor, that would be quite a struggle.  At least with BASIC, all the tools are there.  I just wonder if it is fast enough.

Roger

damian

unread,
Nov 7, 2020, 4:01:24 PM11/7/20
to Cromemco
Hello Roger

Appending the termcap name to ttys entry sets the default term.  If you are logged in on the tty you can view & change the current value using the term command.

I have not done any programming with serial ports on Cromix but did do a quite a bit on UNIX systems of a similar vintage, always using C via the device driver.
As I recall, it was necessary to remove the device's ttys entry to prevent a getty process being spawned for the port.

Do you have copies of the 68000 Structured Basic and TU-ART manuals?

Damian

Roger Hanscom

unread,
Nov 7, 2020, 4:43:21 PM11/7/20
to crom...@googlegroups.com
Me again, Damian,

>> Appending the termcap name to ttys entry sets the default term.

OK, I see that in the S.A. manual that you sent.  BUT (as an example), the first line of the termcap entry might look something like this:

C1|3101|Cromemco 3101 Terminal:\

I gather that the "name" is the second (4-character) entry??  So in this case it would be "3101"?

>>  If you are logged in on the tty you can view & change the current value using the term command.

I'm assuming that you would enter "term=3101"???

>> As I recall, it was necessary to remove the device's ttys entry to prevent a getty process being spawned for the port.

Makes sense.  The getty might grab certain characters as control characters and make the port act odd, if for example it is processing a binary file?  But, if you prevent Cromix from firing up a getty on that port, does that mean it doesn't get initialized?

>> Do you have copies of the 68000 Structured Basic and TU-ART manuals?

I have multiple paper copies of the TU-ART manual.  I have both a .PDF and text file of the Structured Basic manual, but no paper copy.  The .PDF is about 85 or 86 megabytes.  The corresponding text file is less than 500k bytes.  Would you like a copy of the text file?  Takes up a *LOT* less disk space than the .PDF, but it isn't quite as pretty.  *smile*  For me, the content is what is important!  I'd be happy to send it to you.

Roger

damian

unread,
Nov 8, 2020, 4:06:36 PM11/8/20
to Cromemco
>>  I gather that the "name" is the second (4-character) entry??  So in this case it would be "3101"? 
Correct.


>> I'm assuming that you would enter "term=3101"???  
Executing term on its own will display the current value, to set the value execute: term 3101


>>  But, if you prevent Cromix from firing up a getty on that port, does that mean it doesn't get initialized? 
Correct.  You will need to initialise the port either programatically using the mode sys call or via the command line and the mode command.  You will need to check the available modes for a serial port and set appropriately.

Damian
 

norwestrzh

unread,
Nov 8, 2020, 5:44:27 PM11/8/20
to Cromemco
Hi Damian,

Success!!!

I've been able to use the TUART to both send and receive ASCII.  Only a couple of things didn't work as I assumed.

Even with a line in the ttys file for the TUART, it did not appear that anything was running on the serial port at boot-up.  It was unresponsive to anything -- even a series of cr's (I thought they might be required to set the baud rate although I had 9600 in the ttys file).  I expected (maybe wrongly?) that it would give me a "login" prompt.

I had to initialize the TUART from sbasic.  That worked fine at 38.4k baud (although the INP and OUT functions expect decimal port numbers (and data) and I was (at first) thinking in hex!).  I found that for these simple tests, a BASIC program to send the printable characters to the TUART port ran fine without having to poll.  Receiving characters is a different story.

The only thing that made me suspect that a getty was running on the port was when I sent a line feed, a cr/lf was actually echoed to the terminal.  BUT, maybe it was sbasic that was doing that?

Anyway, that's super!  Now I can start working on some sort of a program to bring files across.

Thanks again.

Roger

damian

unread,
Nov 8, 2020, 6:41:46 PM11/8/20
to Cromemco
That is great news Roger.

Interesting that you didn't get a login prompt, I wonder if Cromix has the equivalent of UNIX run levels and is in single user mode.  I will have to do some more reading.

Damian

Richard Muse

unread,
Nov 9, 2020, 12:18:08 PM11/9/20
to crom...@googlegroups.com

You should be able to use pccom to send and receive both binary and text files back and forth. will have to drop to 9600 because pccom only goes that high.  If you don't have pccom I can send it to. It is a dos program

Richard

--
You received this message because you are subscribed to the Google Groups "Cromemco" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cromemco+u...@googlegroups.com.

Richard Muse

unread,
Nov 9, 2020, 12:18:16 PM11/9/20
to crom...@googlegroups.com

You should be able to use pccom to send and receive both binary and text files back and forth. will have to drop to 9600 because pccom only goes that high.  If you don't have pccom I can send it to. It is a dos program from cromemco.

Richard

On 11/8/20 4:44 PM, norwestrzh wrote:

Roger Hanscom

unread,
Nov 9, 2020, 12:27:36 PM11/9/20
to crom...@googlegroups.com
Thanks, Richard,

>> You should be able to use pccom to send and receive both binary and text files back and forth.

I'd love to try it!!!

 >> will have to drop to 9600 because pccom only goes that high.

That's fine.

>> If you don't have pccom I can send it to. It is a dos program from cromemco.

Please do.  I have a number of DOS boxes still running.

Roger

Richard Muse

unread,
Nov 9, 2020, 12:41:19 PM11/9/20
to crom...@googlegroups.com
--
You received this message because you are subscribed to the Google Groups "Cromemco" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cromemco+u...@googlegroups.com.

Roger Hanscom

unread,
Nov 9, 2020, 12:51:17 PM11/9/20
to crom...@googlegroups.com
On Mon, Nov 9, 2020 at 9:41 AM Richard Muse <rlm...@gmail.com> wrote:

>>Should be able to pick it up here:

Got it!  Can't wait to try it.

Roger

norwestrzh

unread,
Nov 9, 2020, 2:19:41 PM11/9/20
to Cromemco
It runs with "DOSBOX" on my Linux system, but I'm out of luck.  Seems that it needs a program on Cromix called pckt???  That's the part that I *really* need.  I think that my terminal emulator (minicom) can do xmodem protocol, so maybe pccom just duplicates that capability?

Roger
 

Richard Muse

unread,
Nov 9, 2020, 2:50:02 PM11/9/20
to crom...@googlegroups.com

Hmm, I thought the cromix end was there in 31.xx.  I just checked, and of course, it is not.

Yea, I run it in dosbox too. Actually from a raspberry pi.  Let me see what I can do.  The C10 emulation in the termcap that is on the cromix disk with pccom works pretty well with pccom also.

It is a really good way to move stuff back and forth. Once you have that working, you're home free.

I should have my system running in a few days. I'll make a disk with pckt.bin and the termcap on it and send it.

The only other file transfer I've been able to get working is kermit. Procomm works with Kermit protocol and supports higher baud rates. Buuut, with a tuart or the fdc port, not sure how reliable. I've been using it with octart ports.

Richard

--
You received this message because you are subscribed to the Google Groups "Cromemco" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cromemco+u...@googlegroups.com.

MikeS

unread,
Nov 10, 2020, 2:54:32 PM11/10/20
to crom...@googlegroups.com
No, AFAIK PC-COM was not part of any Cromix OS package; it came bundled with the Cromemco C-20 PC clone and was also available separately. As a matter of fact I think Richard got his copy from me ;-)
 
Aside from it being somewhat slow PC-COM is fairly convenient. It's also a terminal emulator but I'm not sure if there's a Termcaps entry for it in 31.05; if there is it will probably be C-20 (note that term entries are case-sensitive) but that may have issues anyway.
 
There were also versions of Procomm for Cromix and Cromix+, as well as a version of Kermit; I have manuals for some of those but no idea where the files are ;-)
 
But another good file transfer program is always welcome!
 
The first character of the tty entries determine whether the terminal is enabled on a given port; 0=disabled, 1=enabled. If you're going to access a tty yourself you should disable it to prevent gtty from interfering.
 
m

Roger Hanscom

unread,
Nov 10, 2020, 3:16:58 PM11/10/20
to crom...@googlegroups.com
Thanks for the info., Mike,

All of this is new to me.  As I told Richard, I'm thinking that I have the capability in my terminal emulator to send xmodem protocol to a remote system.  Of course, I haven't tried it with Cromix yet, so I don't really know what will happen.  The part that I really need is the application that runs on the remote host to receive the file.  In the Cromix world that is "pckt"???

>> The first character of the tty entries determine whether the terminal is enabled on a given port; 0=disabled, 1=enabled.
>> If you're going to access a tty yourself you should disable it to prevent gtty from interfering.

Ahh ...I didn't know that about enabling/disabling the tty!  This bit of info. will come in quite handy!  When I boot up 31.05 on my CS-1, the TUART seems to be unresponsive.  After I send the initialization magic to it, all seems to work OK (even at 38.4 k baud).  I've forgotten what the first character is in the TUART entry in ttys.  I'll have to look.

Roger

Reply all
Reply to author
Forward
0 new messages