Skip to content

Commit

Permalink
COMMADPT driver mods for APL\360
Browse files Browse the repository at this point in the history
  • Loading branch information
Max H. Parke authored and Fish-Git committed Jul 28, 2013
1 parent ec7cefd commit 8fa5a4c
Show file tree
Hide file tree
Showing 6 changed files with 508 additions and 24 deletions.
1 change: 1 addition & 0 deletions CHANGES
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
28 Jul 2013 COMMADPT driver mods for APL\360 - Max Parke <ikj1234i@yahoo.com> by Fish
21 May 2013 Removed all "FishIO" (OPTION_FISHIO) code - Fish
NOTE: HQA scenarios in hqadefs.h adjusted appropriately.
02 May 2013 Channel Cleanup - Mark L. Gaubatz
Expand Down
8 changes: 8 additions & 0 deletions Hercules.vcproj
Original file line number Diff line number Diff line change
Expand Up @@ -1761,6 +1761,10 @@
RelativePath=".\README.AIX"
>
</File>
<File
RelativePath=".\README.APL360"
>
</File>
<File
RelativePath=".\README.COMMADPT"
>
Expand Down Expand Up @@ -1821,6 +1825,10 @@
RelativePath=".\README.REXX"
>
</File>
<File
RelativePath=".\README.RXVT4APL"
>
</File>
<File
RelativePath=".\README.S37X"
>
Expand Down
35 changes: 35 additions & 0 deletions README.APL360
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
"Max H. Parke" <ikj1234i@yahoo.com> has modified the
commadpt driver to work for APL\360.

Here is Max's README regarding his APL\360 mods:


1. Here is the APL conf that I used
1750 APLDEV (X'00',X'03'),TYPE=AMBIG,SAD=NOP
1800 APLDEV (X'40',X'43'),TYPE=1052
1850 APLDEV (X'80',X'83'),TYPE=TS41,SAD=NOP
1900 APLDEV (X'C0',X'C3'),TYPE=1052

With TYPE=AMBIG your telnet connection should close after using )OFF:
"off
002 23.55.39 12/03/84 u01
connected 0.01.05 to date 0.23.08
cpu time 0.00.00 to date 0.00.00
Connection closed by foreign host.

2. Hercules conf file device defs
[standard 2741 emulation]
0400 2703 dial=in lport=57411 lnctl=ibm1 term=2741 skip=5EDE code=ebcd iskip=0A
[extended APL support when using rxvt4apl]
0402 2703 dial=in lport=57413 lnctl=ibm1 term=rxvt4apl skip=5EDE code=ebcd iskip=0D0A prepend=16 append=5B1F eol=0A binary=yes crlf=yes sendcr=yes

3. Logon using "314159 (do not use = as in 1052). For rxvt4apl, use the
regular right parenthesis. See also the separate readme file for using
rxvt4apl.

4. Use CTRL-C as usual for 2741 ATTN.

5. Only tested in Linux - YMMV

6. TODO: add fix for disconnected TCP connection while signed on to APL,
should initiate a session drop
80 changes: 80 additions & 0 deletions README.RXVT4APL
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
"Max H. Parke" <ikj1234i@yahoo.com> has modified the
commadpt driver so APL works properly with rxvt4apl.

rxvt4apl is an 8-bit clean, colour xterm replacement
that has been optimised for use with openAPL.

Here is Max's README regarding his rxvt4apl mods:


1. The rxvt4apl package provides a set of extensions to enable both
entry and display of the complete APL character set including the
characters without ASCII equivalents. Although we use the standard version
of rxvt4apl [2.4.5] without modifications, there is a small bugfix patch
(below) if necessary.

2. Once rxvt4apl has been installed and tested (there are several required
materials in openAPL such as X11 fonts and keymaps), you should connect
using telnet to the listening port for the terminal in hercules:
telnet localhost 57413
then type the standard APL command to sign on
)1234
There is extensive helpful documentation with openAPL if you have problems
with X11 fonts or keymaps, etc.

3. Rather than use the right ALT key I used the unused "windows" key for
the Mode_switch key in modeswitch.xmap:

clear Mod5
clear Mod4
clear Mod3
keycode 133 = Mode_switch
add Mod3 = Mode_switch

4. The terminals must be defined to hercules using the conf file definitions
0402 2703 dial=in lport=57413 lnctl=ibm1 term=rxvt4apl skip=5EDE code=ebcd iskip=0D0A prepend=16 append=5B1F eol=0A binary=yes crlf=yes sendcr=yes

5. In general when typing a character, rxvt4apl seems to prefer to use
the standard ASCII character if it exists, in preference to the APL
character. So for example if you wish to enter the apostrophe (') use
your ASCII keyboard's standard apostrophe key, not APL's apostrophe
(ordinarily shift-K).

6. In this implementation the standard alphabet APL characters A-Z must
be typed as lowercase ASCII characters to be properly translated on
input. Also, rxvt4apl is missing the underlined alphabet characters...

7. Overstrike handling is supplied in this driver release, although they can
be formed by entering the individual characters separated by the backspace
key. The display will not be correct but the overstrike sequence will be
properly received by APL\360. Better is to enter the overstrike characters
using the rxvt4apl composite characters; when this is done the driver will
convert these extended-ASCII characters into the proper overstrike sequences
used by APL\360 on input (the extended characters are converted into three-
character sequences in 2741 code, with the middle character in the sequence
being the backspace character). On output, the driver replaces the third
character in the overstrike sequence with the correct rxvt4apl extended-ASCII
character.

8. Many quirks exist - a couple of examples:
- the right arrow key (branch command) must be hit twice
- Some commands such as up and/or down grade cause unexpected escape
to telnet command mode, even in binary mode

9. If you receive this error when running rxvt4apl
can't open pseudo-tty
try the following patch (required for recent ubuntu)

======================= START OF PATCH ====================
--- rxvt4apl_2.4.5/src/command.c 1998-01-01 14:29:08.000000000 -0500
+++ rxvt4apl_2.4.5-patched/src/command.c 2012-12-06 13:48:12.698068063 -0500
@@ -448,7 +448,7 @@
ptydev = ttydev = _getpty(&fd, O_RDWR | O_NDELAY, 0622, 0);
if (ptydev == NULL)
goto Failed;
-#elif defined (__svr4__)
+#elif 1 // defined (__svr4__)
{
extern char *ptsname();

======================= END OF PATCH ====================
Loading

0 comments on commit 8fa5a4c

Please sign in to comment.