Git Product home page Git Product logo

Comments (20)

rricharz avatar rricharz commented on July 24, 2024

A very nice publication is available here:
https://vintagetek.org/wp-content/uploads/2019/01/APL_TekGraphics_Feb1973.pdf

from tek4010.

rricharz avatar rricharz commented on July 24, 2024

Mark,
I have added the Tektronix APL codes in a test version of tek4010 (not yet uploaded).

This is the APL code set:

Screen - 1

The corresponding code is here:

convert.txt

There are a few problems:
Code 64 is most likely wrong, and code 73 and 76 do not display properly. We need to find the proper unicodes for these (using the APL385 font).

The APL code table is on page B-1 of the Tektronix 4015 manual (link above in the first comment on this issue.

from tek4010.

rricharz avatar rricharz commented on July 24, 2024

Mark,
I wanted to play a little bit with RSX and APL to get ready for testing tek4010 with APL.
Your little example starting with .BXWA works fine, no problem.

Then I got into RSX using tek4010. This is quite messy because you have to bypass screens and because RXS produced lots of "garbage" during the startup. A pain with a non-scrolling terminal. Is there another way to get into RSX, or to turn off that "garbage"?

Then I started APL and set the terminal to 4013. .BXWA doesn't work anymore. Not a surprise, it expects now the apl glyphs. But if type "a"(97) on the keyboard, apl still responds "A"(65). It still capitalizes letters. But if you look at the apl code table in the 4015 manual (link above) it should really respond with (97), because that's now "A" and 65 is alpha. No wonder, if I switch to the APL character set, I get the alpha for typing "a" and "A". The top row of the keyboard works. If I enter 4 there, I get a 4 displayed, and with shift-4, I get the "smaller or equal". Something doesn't work the way I understand that it should work. You can actually test that with any terminal.

from tek4010.

MarkMatlock avatar MarkMatlock commented on July 24, 2024

Rene,
The start-up garbage in RSX on the PiDP11 is going to go to the first terminal that executes pdp.sh
I would do that with a normal xterm screen, then log into RSX with telnet to a DZ11 port. The boot.ini Simh script for RSX puts the DZ ports at 10001 so telnet 127.0.0.1:10001 would connect you on a
port and none of the console messages will be interjected into the graphics.

On the characters, APL has a built in vector called the atomic vector .BXAV or Quad the box symbol AV Since it is a vector you can select an element like .BXAV[98] is the letter A .BXAV[99] is B
.BXAV will show all characters but it is a bit of a mess in TT mode. Also, APL has no lower case alphabetic letters.

.BXAX[65] is .NG which is negate a - symbol
.BXAV[97] is .DM a diamond shaped symbol

Also, APL has a )ORIGIN system command which changes the array indexing. The default in APL-11 is that )ORIGIN is 1 but it can be changed to 0 and I think that may be shifting the APL symbols  you see at a location in the Tektronix documents.

What you have displayed in the post above looks right except that the index may be off one 98 is A not 97 at least with )ORIGIN 1

I am amazed that you are this far already with the job. The other part that is tricky is the backspace overstrikes, but with a storage tube maybe that is not as hard as a character terminal.

Congrats on the progress!!

Mark

from tek4010.

rricharz avatar rricharz commented on July 24, 2024

It seems to work quite well now, but some symbols need better unicodes. They can be corrected in tube.c, line 486 ff. Overstrike seems to work (using the backspace key). I tested it with the natural logarithm. But that example shows that either the circle is too small or the star too large. I think that a fine tuning of the unicodes should fix all of that. I think that somebody with a bit of APL experience should do that.

from tek4010.

rricharz avatar rricharz commented on July 24, 2024

I just realized that https://en.m.wikipedia.org/wiki/APL_syntax_and_symbols has tables with proper unicodes. These could be used, but each one has to be tested. I got the impression that some of them did not work and many are not part of the Tek4013 code set.

from tek4010.

MarkMatlock avatar MarkMatlock commented on July 24, 2024

Rene,
I was able to test a bit before I left for work this morning and it worked very well for me except for the overstrike characters. I realized at work this morning that some of my keystrokes are possibly being captured by the command line editor I use in RSX. RSX unlike VMS did not have a native command editing capability. It could be added with a CLEACD (Command Line Editor Auxillary Control Driver)
The Frodo disk image has this but the user needs to turn it on, which I do at login.

ACD LINK TI: TO NUMBER CLE$EMACS

after that command line editing with up, left and right arrows is possible.

The CLE$EMACS is a logical symbol that is defined at boot but connects with a table of edit functions that are defined in the file DU:[CLEACD]EMATAB.MAC

If you examine that file you can see what commands are trapped by the ACD and not sent to the running program like APL. For example B moves the cursor backward 1 word like the editor Emacs.

This table can be changed the ACD recompiled and installed to avoid any conflicts between the Tek4013 emulation and the line editing functions. Having the line editor is very helpful in APL because recalling a line fixing the error avoid retyping the whole line. I was trying that also but had trouble that I now realize is the combined trapping and execution of the Tek4010 (e.g. ^n and ^o work fine to switch character set) but some others may not. I'll have time this week end to look at this more closely.

Mark

from tek4010.

rricharz avatar rricharz commented on July 24, 2024

ctrl-w and ctrl-q are handled directly by tek4010 at the keyboard interrupt level. In APL character set mode this is also true for ctrl-n and ctrl-o. This means that these control characters are not sent to the host. I think simh might also trapp ctrl-e. Of course any of that can be changed if necessary.

Take your time and let me just know what needs to be improved at your convenience. In June and July I have less time and means to fix anything, but the next 3 weeks are fine.

from tek4010.

MarkMatlock avatar MarkMatlock commented on July 24, 2024

Rene,
If I turn the ACD off...

ACD UNLINK TI:

the APL works pretty good I think I getting all the overstrikes correctly displayed and pass teh correct action to APL for execution. I found an old workspace with some programs and it was great to be able to display them with proper APL symbols. I

'm going to tinker with the ACD editor a bit and see if I can figure out why the backspace is acting strange.

Thanks for a great job.
Mark

from tek4010.

rricharz avatar rricharz commented on July 24, 2024

Works now very well. Issue closed.

from tek4010.

MarkMatlock avatar MarkMatlock commented on July 24, 2024

Rene,
Yes it does! The one thing that I'm still going to work on is getting the RSX ACD command line editor to work well with APL and your Tek4010. Command line editing is very useful with APL. Do you have a copy of the APL-11 manual? I have a original printed one and there is a copy of it at:

http://www.bitsavers.org/pdf/dec/pdp11/apl/

APL-11 has some quirks that the manual explains. Also, the source for APL-11 is at DU1:[201,50] and DU1:[201,200] The installed APL-11 is single precision floating point. There is a double precision floating point version at DU1:[201,200]APL7OK.TSK

Also, I'm thinking about ordering some Avery stickers like

https://www.avery.com/blank/labels/94503?qty=5

to be able to print labels for a cheap wireless keyboard with the APL (and standard) symbols.

from tek4010.

rricharz avatar rricharz commented on July 24, 2024

Yes, I need ACD too. I'm just not the kind of guy who can type in lengthy lines without making any mistake. That's why I used only very short lines in the example I just sent to the PiDP-11 discussion group. In the mean time, do you have a very, very simple example using plotting? I would just like to check whether it is possible to plot. For example just generating a one dimensional vector and plotting it as a bar chart? Or a simple math function like x square as a x/y chart.

I will download the manual and look into it.

from tek4010.

rricharz avatar rricharz commented on July 24, 2024

Mark,
I am moving this discussion over to the github, and have reopened the issue. I am baffled regarding these strange character alignments. It definitely does not look like that on my Raspberry Pi in a 1024x780 window. I have added a overstrike test to the apltest, which should help to clarify the issue.

Can you please do a pull again, to get the updated test, and then
cd apl
../tek4010 -noexit -APL ./apltest

It should look like this:

2019-05-11-194233_1024x780_scrot

Then please do a ctrl-w and put the screendump here.

from tek4010.

MarkMatlock avatar MarkMatlock commented on July 24, 2024

2019-05-11-151646_1824x984_scrot

from tek4010.

MarkMatlock avatar MarkMatlock commented on July 24, 2024

Rene,
I haven't used github much so to make sure I got the latest version I removed the Tek4010 directory and all directories below it. Then used the git clone to make sure I had the latest. It did have the apltest file that you asked me to try. This time I captured the entire screen in case that provides any clues. It looks like the APL font is several point sizes bigger than the standard font. I've tested some of your other files (fanastic trek.pic!!) and they render fine.

Thanks!
Mark

from tek4010.

rricharz avatar rricharz commented on July 24, 2024

OK, I think I found the problem. When I delete the APL385 font, and run fc-cache to remove it also from the font cache, I get exactly what you get. Obviously the fallback font in gtk/cairo has APL glyphs, but not properly aligned ones. A remember having seen a note about that somewhere. Also, the J for example looks different.

What you need to do is to install the APL385 font from the apl directory in my repo. The shell script install_apl does that. See also the chapter "APL mode" in the README.md for details. If that fixes your problem (please let me know), I will tomorrow add a test and a proper error message if the user starts tek4010 in the APL mode without having the font installed.

from tek4010.

rricharz avatar rricharz commented on July 24, 2024

A few more small remarks:
The error message at the start of tek4010 is a Raspbian bug without any implications. I will look again into trying to suppress it because it is annoying. Doing a „git pull“ will always give you the latest version, or an error message. But if you copy tek4010 in ~/bin or /usr/bin then you have to repeat that of course after every pull. I like that cool Star Trek picture too. The Tektronix 4010 was used in a few science fiction movies of that time. With some luck we will probably discover a few other nice plot files.

from tek4010.

MarkMatlock avatar MarkMatlock commented on July 24, 2024

from tek4010.

MarkMatlock avatar MarkMatlock commented on July 24, 2024

Rene,
That was it!! I ran the install_apl script in the apl directory and it fixed the problem perfectly!
Thanks!
Mark
2019-05-11-190456_1824x984_scrot

from tek4010.

rricharz avatar rricharz commented on July 24, 2024

Added test for installation of APL font to APL mode. Issue resolved.

from tek4010.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.