Skip to content

Unable to open INCLUDE from source sub-folder #70

@tingtron

Description

@tingtron

It is exciting to see version 2 of PLASMA released.

I am trying to compile a PLA source HELLO.PLA using PLASM on the target machine (Apple IIc).

On a side note, it would be great to better understand how PLASM resolves the location of SYS and INC folders. Also same when on two 140k disks (SYS in Slot 6.1 and BLD in Slot 6.2). I am guessing that

  • SYS is the one and only "syspath" for modules and +apps
  • INC is resolved relative to the current folder of the CMD prompt (hence the "root" requirement, as we discuss below)

In README.md it says

Boot the PLASMA system and change the prefix to the development disk/directory.

So first, we set Prefix to the source folder:

/PLASMA.SYS/: p /PLASMA.BLD
/PLASMA.BLD/: p SAMPLES
/PLASMA.BLD/SAMPLES/:

and when running PLASM, it gives the following error:

/PLASMA.BLD/SAMPLES/:+plasm hello.pla   
PLASMA Compiler, Version 2.0            
Data+Code buffer size = 12358           
                                        
HELLO                                   
Unable to open INCLUDE file: inc/cmdsys.
plh                                     
                                        
Error:                                  
hello.pla[1]                            
INCLUDE "inc/cmdsys.plh"

It only works when backing up to the root, and specifying the full path to source:

/PLASMA.BLD/SAMPLES/: /
/PLASMA.BLD/: 
/PLASMA.BLD/:+plasm samples/hello.pla
...
Total bytes compiled: 23                

But it's a lot of typing.
BTW, it would be great to reduce typing even more by having a combination of:

  • a small command history list, at least in the 128k/JIT cmd.
  • remember the last line in +ED for a few recent files
  • add a (B)uild command in +ED, calling +PLASM (if tight on memory, auto-swap +ED)

Alternatively, it also works to move any sources to the root of the BLD disk.
But then the README.md might instead of "changing prefix to disk/directory", explicitly recommend using the root only. (For example, +COPY SAMPLES/HELLO.PLA = to root, and then +PLASM HELLO.PLA from the root. Which may not be a bad idea to isolate the SAMPLES storage from the work area in the root.)

⚠️ Note: prepending / to the include or removing inc/, did not help:

INCLUDE "/inc/cmdsys.plh"

⚠️ Also note: even to run +PLASM from the source sub-folder, we had to move PLASM to the /SYS folder (on the PLASMA.SYS disk), because it is not "visible" from the source folder /SAMPLES/.
Or alternatively, it could also be called with a less desirable full path: +/plasma.bld/plasma hello.pla.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions