I sent the message below to Cameron Kaiser as he wanted some docs to send others on how to set up a null modem connection in order to use HyperLink connected to a Linux computer.
During the weekend I made a discovery that has a big impact on my ability to check on how our VideoCam server is working using programs like Novaterm and HyperLink. To my utter amazement, I am able to use a null modem set up with VICE (a Commodore emulator) and connect to VideoCam. I'm blown away it's possible, and feel fortunate I have the equipment to do it with. For the last few months while my C128 has been out of commission, I haven't been able to check things on my own and that's bugged me no end.
Anyway, this info below is for a null modem set-up for either using a real C64 or C128 or using VICE (the Versatile Commodore Emulator for Unix/Win32/MS-DOS). [NB! These steps are for Linux ONLY! -- ck]
Requirements for using VICE with HyperLink or other terminal software: 2 free serial ports and 1 null modem connected between the two.
Requirements for using a null modem between the Commodore and Linux machine: 1 free serial port on the Linux computer, a null modem, SwiftLink and serial cable to connect to the serial port.
Rightclick in VICE and go to the RS232 menu:
RS232 Settings / x ACIA $DExx RS232 Interface Emulation ACIA $DExx Device: set this for the serial device. Example: /dev/ttyS3 ACIA $DExx Baudrate: 9600 x No User Port Emulation Joystick Settings / Joystick Port 1 - none Joystick Port 2 - keypad
Find the lines near the top starting like: DT
Look for a line with DTxxxx
where xxxx
is the baud
rate you want to use. If one exists already, then skip down to editing
/etc/inittab
.
Copy one of the DT
entries (DT = Dumb Terminal) and ensure that
all
the numbers (including the last one) are the same as the baudrate set in
VICE and/or in your C64/128 term program (EG, DT38400 or DT115200).
You're just making an appropriate config line for your terminal speed. If
you use hardware flow control, you will need to add the flag
CRTSCTS
to the line. For example, the following is a 9600bps
entry with h/w flow control (all on one line):
DT9600# B2400 CS8 CLOCAL # B9600 SANE CRTSCTS CLOCAL #@S @B login: #DT9600
Save the file.
# Run gettys in standard run levels
after the last one (probably
6:2345:respawn....
), add one that looks like this (all
one line):
S2:2345:respawn:/sbin/getty ttyS2 DT9600 vt100
This example is for COM port 2. If your null-modem connection is using
COM port one, change the line to S0.........ttyS0....
or S2 and
ttyS2
for COM port 3, etc.
The DT96000
text should be the same as your baud rate for
HyperLink or your
Commodore
term program. If you use 38400, change DT9600
to
DT38400
. The last part
(vt100
) is the default terminal emulation. Save the file.
What does this file do? It controls which serial ports offer a login prompt to
the user. In this scenario, we want S2 to be the listening port, waiting for
HyperLink to connect to it via ttyS3
(or, the
device we've told VICE to use for the serial device in the example above).
[If you don't know what to do with this file, try the steps above and see if you get a login prompt without this. If you don't, you may need this script. -- ck]
#!/bin/sh setserial /dev/ttyS2 uart 16550A port 0x2A0 irq 7 fourport setserial /dev/ttyS3 uart 16550A port 0x2A8 irq 7 fourport stty 9600 < /dev/ttyS2 stty sane < /dev/ttyS2 stty 9600 < /dev/ttyS3 stty sane < /dev/ttyS3
Please note - that uart 16550A port 0x2A0 irq 7 fourport
is something
very specific to my system - I just happen to have a 4 port serial
octopus sitting there waiting to be used. You will need to set these for
your own serial devices.
When this file is setup, run it so it will do the serial settings for you.
/sbin/init q
on the Linux machine so it will re-read the
/etc/inittab
file. Anytime you make a change to
/etc/inittab
you need to run /sbin/init q
so your changes are put into effect.
If using a null modem connected to the Commodore, set up your term program or HyperLink to the same baud rate (9600 in the examples above).
If using VICE, set up HyperLink so it's set for the same baud rate (9600 in the examples above).
Now, test it out by engaging terminal mode (either click on the link for HyperPlanet, or registered users, press F3 and enter any web URL). If nothing exciting is showing, press RETURN. You should see a login prompt for your Linux machine. Voila, there's a "dumb terminal" set up. :-) Log in, start HLPP, press F1 twice to signal you're connected, and you're ready!
If you get odd characters, recheck all settings and files to ensure that you're
using the same baudrates, and that your serial port(s) are defined correctly
- be sure you know which serial port is going to be "talking" (that's the one
set within VICE) and which is doing the listening (the one you set in
/etc/inittab
).
If using a null modem with a Commodore make sure the serial port defined in
/etc/inittab
matches
the one you've actually plugged the null modem into.
Hope this is useful to someone. In my case, I've spent part of the weekend using HyperLink to be able to view our "WAP" pages and make changes. It's nice to finally have a viewer for this format. WAP is what's used by mobile phones that connect to the Internet, and it's really radical that HyperLink can view these type files. Way to go, Cameron!