MMBasic for Windows - alphas


Author Message
thwill

Guru

Joined: 16/09/2019
Location: United Kingdom
Posts: 4360
Posted: 10:48am 22 Feb 2022      

  matherp said  
  Quote  LS as an alias of FILES is not supported, is this intentional?

Yes. I don't currently intend to include the CMM2 "FILES" command as it seems unnecessary on an operating based system but I'm open to thoughts


Fine by me, I always thought it should have been FILES & FILEMAN (or FM) rather than LS  & FILES.

  matherp said  
  Quote  Are you going to provide compatibility with the CSUB structure being (mis)used to include binary blobs in MMBasic files? If not then is there another option other than DATA files ... I seem to recall something about misusing fonts ?

Given no significant limitation on program memory I think using DATA/READ is the correct "Basic" approach so don't intend to include CSUB. You can't use a font because I'm not allowing peek/poke access other than to HEAP, VARIABLES and PROGRAM space. You can use LOAD DATA to load a data file direct into an array


As we've discussed previously the DATA/READ approach has a major downside for using libraries (.INC files) in BASIC. To be safe it requires both the library and client code to label all DATA and use RESTORE <label> religiously. Otherwise there is a distinct danger of the client code reading the wrong data from the  global "data pointer" ... just changing the order of #INCLUDE statements can change the behaviour.

I don't suppose you'd consider adding some sort of BINARY or BLOB language structure deliberately for this use-case and then I'll do the same for MMB4L ?

  matherp said  
  Quote  Could you (temporarily?) provide a flag/option to duplicate all console *output* into the "DOS Window" so I can copy error messages out of there ?

I'll set all errors to duplicate on the console window permanently - no downside I can see


For the purposes of reporting errors to you it would be nice to have more context than just the error message. Think back to the format I used for all the CMM2 error reports where I could just do a LIST followed by a RUN and send you the console output.

Best wishes,

Tom