[HECnet] FMS, SMG$, Windowing/Forms on a Text Terminal

Hans Vlems hvlems at zonnet.nl
Tue Oct 1 19:55:38 PDT 2013


Your explanation shows your experience Brian. It took me quite some time to figure that out. The SMG$ manual is a far cry from a tutorial.  
I managed to write games like mastermind and a word guessing game called Lingo with the aid of SMG$ routines.  

I like Pascal because it is a descendant of Algol, the first language I learned at school. Dijkstra was a professor there    which explains Algol and Burroughs.  
The Pascal VMS Compilers never failed me though the RTL bindings with all those attributes in brackets felt strange and somewhat like a kludge. When I installed the compiler for the first time on one of my own systems I learned that the .pen files were part of the kit. Before I had written my own and that probably explains the problems to make SMG$ work :)


Van: Brian Schenkenberger, VAXman-
Verzonden: dinsdag 1 oktober 2013 19:46
Aan: hecnet at Update.UU.SE
Beantwoorden: hecnet at Update.UU.SE
Onderwerp: Re: [HECnet] FMS, SMG$, Windowing/Forms on a Text Terminal


Hans Vlems <hvlems at zonnet.nl> writes:

>That's the way I read it too and I happen to agree with that point of view :)
>Until you understand things like pasteboards and displays SMG$ is pretty 
>awesome. Calling it from Pascal doesn't make it easier I can tell you.

The pasteboard is the terminal screen. Not a difficult concept. You can,
normally, only create one pasteboard per terminal. With the aid of a VMS
pseudo-terminal, you can circumvent this restriction.

Displays are "virtual terminals" of any size you declare them to be. You
then position these on the pasteboard with SMG$PASTE_VIRTUAL_DISPLAY giving
the coordinates of where you want the display pasted. Most other SMG$ APIs
work upon the virtual display(s).

As for DEC Pascal, I know not. Despite Mr. Reagan's affection for it and 
his claims that it's one of the better VMS compilers, I've never used it.

For SMG$, all you really need is a way to pass by reference (pointer) and
the ability to define string descriptors. I thought that Pascal created
string descriptors by default for its character strings. I prefer to use
Macro when I call SMG$. C can also be used but you need to roll your own
descriptors. Fortran, as I recall, also had native descriptor creation in
its compiler.

-- 
VAXman- A Bored Certified VMS Kernel Mode Hacker VAXman(at)TMESIS(dot)ORG

Well I speak to machines with the voice of humanity.



More information about the Hecnet-list mailing list