[net.micro] Promal

erosenth@aecom.UUCP (Elazar Rosenthal) (11/15/85)

       Has anyone ever used Promal?  From the information  I  got
it sounds very good however I would like to here somthig about it 
from someone who actualy used it before I blow $50 on it.  

veach@ihuxl.UUCP (Michael T. Veach) (11/16/85)

I've used Promal for over 6 months and have been very happy
with it.  

What is Promal? A very good attempt to put UNIX on a C-64. Of
course, with only 64K of RAM and slow disk drives, it has many 
limitations.  The system consists of three main programs 1) a
shell (called the executive), 2) an editor and 3) a compiler.

-----------

The compiler produces relocatable code (appears to be a P-code)
and, as such, many, depending on size, programs can be load into
memory at once.  To run a program (e.g. myprog) the system first
looks in memory for it (myprog) and if it is not found looks on
disk for it (myprog.c).

Command line systax includes i/o re-direction of stdin and stdout.

myprog arga argb <infile.z >outfile.y

Sorry no pipes.
______________________

All disk files are of the form xxxxxx.y (notice the '.' followed by
a letter) and must be SEQ type.

Some special files have 1 letter names. For example:

myprog <w >p

Indicates to take the input from the Workspace file (an in-memory user file)
and send the output to the printer.
_________________________

Shell scripts are provided. However, to execute a script (e.g. myscript)
you must enter:

job myscript

rather than just:

myscript

______________________

The compiler uses a  C-like syntax language. Variables of BYTE (1
char), INT (2 char signed) and WORD (2 char unsigned) are
supported. (Floating point is supported also, but I always unload
the floating point functions at boot time to get more space). The
systax of the language uses identing (2 spaces) where C would use {
and }. The compiler fits entirely in memory.  If your source is in
W, there is space for you object module in memory and the
compiler is already in memory then the compile
is fast. Large programs require the compiler to be read from disk,
source to be read from disk, the object module to be written to
disk, and the editor to be  unload and thus re-read from disk on
next use.  Without FLASH the limiting factor is the disk accesses. 
With FLASH the limiting factor is the compiler. 

_______________________


Its easy to write hooks into the (C-64) kernel from Promal.

Promal programs execute fast. I was able to write a 1200
baud terminal emulator with it. I don't know of any other
WORKING 1200 baud non-assembly language terminal emulator.
(Perhaps one of C-compilers can produce fast enough
code for this application?)

As of this time, I have not yet seen a sprite or sound 
package for Promal.  However, I think I remember seeing
that a package was being developed.

_________________________________________________


If you are really an assembly language or hardware
type of person then you'll love Promal in that it provides
almost the same speed and freedom as assembly language, but
is easier and less error prone than assembly language.

__________________________________

If you do not really don't care about the details of
how the machine works and are willing to pay some
performance then you should really consider something
else, such as COMAL.  COMAL supports almost all the graphic
and sound features of the C-64 in a high level language,
COMAL is much faster than BASIC but slower than Promal.

_________________________________________________

COMAL and Promal are trademarks of two different groups
people that have provided something other than mindless
games for the C-64.  Show your support for this good
work by buying their products rather than stealing a copy.

__________________________________________


My choice:

Assembly language to make fixes to existing 
assembly language programs.

Basic if the task is very short, speed is not
important and/or program is to shared with
others who don't have Promal nor COMAL.

Promal for applications needing top speed or just
the joy of programming (its no fun if the computer does everything
for me!).

COMAL for tasks that would take too long to
develop in Promal or if it needs sound and/or sprites.

_______________________________________


The opinions expressed here are my own and may not
agree with anybody else's either living or dead.


	Michael T. Veach
	  ihuxl!veach
-- 

	Michael T. Veach
	  ihuxl!veach

fox@bnrmtv.UUCP (Richard Fox) (11/26/85)

> 
>        Has anyone ever used Promal?  From the information  I  got
> it sounds very good however I would like to here somthig about it 
> from someone who actualy used it before I blow $50 on it.  

As I remember it, Promal is public domain software. It is worth having but
I would make sure if you can access legally for free.

rich

ee173fde@sdcc3.UUCP (J LEE) (12/02/85)

In article <210@bnrmtv.UUCP>, fox@bnrmtv.UUCP (Richard Fox) writes:
> >        Has anyone ever used Promal?  

> As I remember it, Promal is public domain software. It is worth having but
> I would make sure if you can access legally for free.
This is simply not true. Comal is public domain. Promal is a well-written 
compiled language with a flavor much like C and UN*X.

gibson@unc.UUCP (Bill Gibson) (12/02/85)

> >        Has anyone ever used Promal?  
>
>As I remember it, Promal is public domain software. It is worth having but
>I would make sure if you can access legally for free.

Whoa, there. If this is the same Promal I'm thinking about, it's a
Commercial Product (a product for which payment is required). 
The Promal I'm thinking of is put out by a company in Raleigh, N.C.
and is a high-level language which slightly resembles C.

I was looking into getting Promal about a year ago, and I got the company
to send me their advertising literature. From what I recall, the language
uses indentation to show how code is nested (instead of using begin-end
or {} ). This forces the code to be written in a strict format, but I 
consider that format to be an easy one to read, so this feature isn't
a problem to me.

The thing that I didn't like about the language was that the basic
package you get (~$50) includes an "executive" (similar to a shell, I guess)
and a compiler which compiles *only to pseudocode*! The executive then
interprets the pseudocode of any program which is "run". If you want to
compile to native 6502 (i.e. 6510) code, you buy a "stand-alone" version 
of the package, which allows you to compile programs into load-and-execute
code. Come to think of it, the "stand-alone" package might simple link in
a copy of the executive for your program to access, instead of compiling
down from pseudocode.

My problems with pseudocode compiling are 1) I want to know *exactly* what
code is executing because 2) I want to program real-time applications which
I might have to tweak based on the numbers of instructions in a given time-
critical section. Even if Promal's pseudocode interpreter is fast, I might
run into time problems. I haven't used the language, though; are there any
Promal users out there who can be specific about speed?

If I were programming non-time-critical code that I didn't plan to sell,
I might use Promal anyway, since it looks like a useful language. On the
other hand, I might rather get one of the C compilers.

Bill Gibson
gibson@unc                   ...[akgua,decvax,philabs]!mcnc!unc!gibson