[Coco] OS9 Pascal

Willard Goosey goosey at virgo.sdc.org
Sat Aug 11 03:28:11 EDT 2007


>Date: Fri, 10 Aug 2007 17:25:25 -0400
>From: Gene Heskett <gene.heskett at verizon.net>

>Humm, I know that an os9 executable starts with an $87CD, and that a c code 
>library module starts with a $62CD, but not what a PCODE module starts with 
>to identify itself as PCODE.  Is there a conventional integer assigned to 
>that case?

OK, I was in a hurry earlier, let me try this again:

A pcode file, Pascal_Compiler, for instance, starts with a small OS-9
module named PCODE.  Type/Language byte is $13 (program module, PASCAL
P-Code).  However, this module is only 24 bytes long.  The rest of the
59K file is simply P-code.  

So, it starts $87CD...PCODE...<crc> <lots of pcode>
                                   |module ends

As far as I can tell, the same module gets stuck on the beginning of
every P-code file.

I don't know why the P-code isn't contained in a module, but it's not.
Perhaps there's some level of compatibility with other P-code
engines.  Or it has to do with the swapping pcode interpeter, which
can run programs with more that 64K code.

As for the P-code itself, it might be documented somewhere... but
Pascal is all about not letting the programmer know what's really
going on.

>I'm thinking, just in case there is ever need for a vfy18.

Perhaps an arbitrary-file CRC calculator, such as used to be common on
CP/M and MS-DOS machines?

Willard
-- 
Willard Goosey  goosey at sdc.org
Socorro, New Mexico, USA
"I've never been to Contempt!  Isn't that somewhere in New Mexico?"
   --- Yacko



More information about the Coco mailing list