Matrix Brandy BASIC VI for Linux with SDL: V1.22.1 released

discuss PC<>Acorn file transfer issues & the use of FDC, XFER, Omniflop/disk etc.
Soruk
Posts: 444
Joined: Mon Jul 09, 2018 10:31 am
Location: Basingstoke, Hampshire
Contact:

Re: Matrix Brandy BASIC V for Linux with SDL: V1.21.17 released

Post by Soruk » Fri Jan 04, 2019 11:04 am

I've not abandoned this!

I've got a handful of fixes and enhancements checked into github, including a lot of keyboard fixes (complete with a new keyboard driver, choose old or new one at compile time) from JGHarston - there has been a bit of activity over on the github ticket facility.

When building from a git tree, *HELP BASIC and HELP both give the git commit reference from where the build was made from, and BRANDY_BUILD_FLAGS environment variable can be defined and contain additional flags to pass to the compiler - for example -DNEWKBD for JGH's new keyboard code, and -DNODISPLAYOS to hide the host OS information from the banner and HELP output.
Last edited by Soruk on Fri Jan 04, 2019 1:47 pm, edited 1 time in total.

User avatar
dhg2
Posts: 142
Joined: Tue Oct 25, 2016 7:37 pm
Contact:

Re: Matrix Brandy BASIC V for Linux with SDL: V1.21.17 released

Post by dhg2 » Fri Jan 04, 2019 7:44 pm

Has there been any progress towards sound support? I think jgharston said he was looking into it, or maybe I'm remembering wrongly.
Regards,
- Patrick

Soruk
Posts: 444
Joined: Mon Jul 09, 2018 10:31 am
Location: Basingstoke, Hampshire
Contact:

Re: Matrix Brandy BASIC V for Linux with SDL: V1.21.17 released

Post by Soruk » Fri Jan 04, 2019 11:12 pm

dhg2 wrote:
Fri Jan 04, 2019 7:44 pm
Has there been any progress towards sound support? I think jgharston said he was looking into it, or maybe I'm remembering wrongly.
I think he was thinking of it after sorting out the mess that is the keyboard support.

In the back of my mind I thought of borrowing the code from BBCSDL (adding zlib-licensed code to GPL-licensed code doesn't violate either licence), which would require porting it to the SDL-1.2 interface. But I'm not sure how well that would go down in some circles, as I don't want Brandy to be seen to be "stealing" code from what could be seen as a competitor product.

User avatar
dhg2
Posts: 142
Joined: Tue Oct 25, 2016 7:37 pm
Contact:

Re: Matrix Brandy BASIC V for Linux with SDL: V1.21.17 released

Post by dhg2 » Thu Jan 10, 2019 9:54 pm

Hello again,

I've noticed two issues (or maybe three issues, with two of them similar but separate) related to OSCLI.

I found myself in the situation where I wanted to use OSCLI to run an executable in the current directory. So I tried

Code: Select all

OSCLI "./binfile"
But this didn't work because any command string starting with a "." just prints a directory listing. So I tried putting the full path to the executable:

Code: Select all

OSCLI "/path/to/binfile"
But that produces this error: "sh: 1: path/to/binfile: not found".

Another issue I've noticed is that, if you try to run a command in the background by putting a & on the end of the command, brandy still waits for the command to finish executing before proceeding. I would have expected it to continue executing immediately after the OSCLI, behaving the same as "system()" does in C when you use it to run a command with & at the end.
Last edited by dhg2 on Thu Jan 10, 2019 9:55 pm, edited 1 time in total.
Regards,
- Patrick

User avatar
BigEd
Posts: 2624
Joined: Sun Jan 24, 2010 10:24 am
Location: West
Contact:

Re: Matrix Brandy BASIC V for Linux with SDL: V1.21.17 released

Post by BigEd » Thu Jan 10, 2019 10:12 pm

Try an extra leading slash. (*/ is the same as *RUN I think.)

User avatar
dhg2
Posts: 142
Joined: Tue Oct 25, 2016 7:37 pm
Contact:

Re: Matrix Brandy BASIC V for Linux with SDL: V1.21.17 released

Post by dhg2 » Thu Jan 10, 2019 10:25 pm

BigEd wrote:
Thu Jan 10, 2019 10:12 pm
Try an extra leading slash. (*/ is the same as *RUN I think.)
Thanks, that worked. I've also just worked out that "$PWD/binfile" works for executing something that's in the current working directory.
Regards,
- Patrick

Soruk
Posts: 444
Joined: Mon Jul 09, 2018 10:31 am
Location: Basingstoke, Hampshire
Contact:

Re: Matrix Brandy BASIC V for Linux with SDL: V1.21.17 released

Post by Soruk » Fri Jan 11, 2019 11:03 am

dhg2 wrote:
Thu Jan 10, 2019 9:54 pm
Another issue I've noticed is that, if you try to run a command in the background by putting a & on the end of the command, brandy still waits for the command to finish executing before proceeding. I would have expected it to continue executing immediately after the OSCLI, behaving the same as "system()" does in C when you use it to run a command with & at the end.
Under SDL, it uses popen() so output can be captured and returned to the SDL window. Other builds do use system() so the text-mode builds will be able to run background processes but currently the SDL cannot.

Perhaps an option here is to check if the '&' character exists in the command string, and if so, run it through system() - but may need some command parsing to do this correctly.
For example:

Code: Select all

this & that & the_other
will run this and that as background processes, and the_other as a foreground process. system() would be able to handle this, but in SDL it'll block until the_other completes. popen() wouldn't be able to handle this. If we were to split on '&' and fire background processes off with system() we then need to be extremely careful with quote parsing so as not to split in the wrong place.

Rather messy, but you could write a program in BASIC that creates a temporary script file (remember to use BPUT# to write the strings), ose OSCLI to chmod u+x then use OSCLI to run the script. A word of warning: I haven't tested this :)

Soruk
Posts: 444
Joined: Mon Jul 09, 2018 10:31 am
Location: Basingstoke, Hampshire
Contact:

Matrix Brandy BASIC V for Linux with SDL: V1.21.18 released

Post by Soruk » Tue Jan 15, 2019 10:18 am

Hi,

I've just put together version 1.21.18. This release wraps up a number of updates, most of which were from the Git ticketing system:
- *SHOW implemented (JGHarston)
- Bug fix for DEL in text-only builds (JGHarston)
- Limit *WinTitle to SDL and UNIX builds - it's a no-op otherwise.
- MODE 7 scrolling text fix
- MODE 135 now selects MODE 7.
- Fix VDU20 for text-mode UNIX build
- Top-level makefiles now read BRANDY_BUILD_FLAGS environment variable for additional build flags
- New keyboard handler (JGHarston) - add -DNEWKBD to makefile to CFLAGS or define

Code: Select all

export BRANDY_BUILD_FLAGS=-DNEWKBD
in your shell environment to use.

User avatar
jgharston
Posts: 3696
Joined: Thu Sep 24, 2009 11:22 am
Location: Whitby/Sheffield
Contact:

Re: Matrix Brandy BASIC V for Linux with SDL: V1.21.17 released

Post by jgharston » Tue Jan 15, 2019 11:12 pm

dhg2 wrote:
Thu Jan 10, 2019 9:54 pm
Another issue I've noticed is that, if you try to run a command in the background by putting a & on the end of the command, brandy still waits for the command to finish executing before proceeding. I would have expected it to continue executing immediately after the OSCLI, behaving the same as "system()" does in C when you use it to run a command with & at the end.
Backgrounding is (essentially) a command processor function, the caller (ie, Brandy in this case) needs to chose to make it do that. It's one of the things I've got scribbled down, along with using an actual command lookup table instead of line after line of if strcpm(cmdline, "commandname")...

Code: Select all

$ bbcbasic
PDP11 BBC BASIC IV Version 0.25
(C) Copyright J.G.Harston 1989,2005-2015
>_

User avatar
Richard Russell
Posts: 917
Joined: Sun Feb 27, 2011 10:35 am
Location: Downham Market, Norfolk
Contact:

Re: Matrix Brandy BASIC V for Linux with SDL: V1.21.17 released

Post by Richard Russell » Tue Jan 15, 2019 11:32 pm

jgharston wrote:
Tue Jan 15, 2019 11:12 pm
Backgrounding is (essentially) a command processor function, the caller (ie, Brandy in this case) needs to chose to make it do that.
FWIW the syntax in BB4W and BBCSDL is to add a semicolon (;) to the end of the *RUN command to force it to run in the background. This is loosely based on the use of the semicolon to mean 'suppress forthcoming action' in other BBC BASIC contexts (to suppress the newline in PRINT, to suppress the Line Feed in BPUT#, and after THEN in my 'ELSE IF' extension). However in BBCSDL all that happens is that the semicolon is converted to an ampersand before the command is passed to system()!

User avatar
sweh
Posts: 2089
Joined: Sat Mar 10, 2012 12:05 pm
Location: New York, New York
Contact:

Re: Matrix Brandy BASIC V for Linux with SDL: V1.21.17 released

Post by sweh » Wed Jan 16, 2019 12:21 am

jgharston wrote:
Tue Jan 15, 2019 11:12 pm
dhg2 wrote:
Thu Jan 10, 2019 9:54 pm
Another issue I've noticed is that, if you try to run a command in the background by putting a & on the end of the command, brandy still waits for the command to finish executing before proceeding. I would have expected it to continue executing immediately after the OSCLI, behaving the same as "system()" does in C when you use it to run a command with & at the end.
Backgrounding is (essentially) a command processor function, the caller (ie, Brandy in this case) needs to chose to make it do that. It's one of the things I've got scribbled down, along with using an actual command lookup table instead of line after line of if strcpm(cmdline, "commandname")...
Well, kinda-maybe-perhaps.

Both system() and popen() invoke the shell to do the work, so it effectively calls something line /bin/sh -c "cmdtorun". Note: this has a lot of security issues, so never ever ever do this on untrusted input!

This means that commands with "&" in them will automatically be backgrounded.

However, if we look at the calling code:

Code: Select all

    strcat(cmdbuf, " 2>&1");
    sout = popen(cmdbuf, "r");
    if (sout == NULL) error(ERR_CMDFAIL);
    echo_off();
    while (fread(&buf, 1, 1, sout) > 0) {
      if (buf == '\n') emulate_vdu('\r');
      emulate_vdu(buf);
    }
    echo_on();
    pclose(sout);
So in this case the MatrixBrandy code is deliberately waiting until the child process closes its stdout (typically, it ends), so that it can do VDU emulation.

In the scenario where we do popen("mycommand &") then stdout is still open; the child needs to close stdout before that loop will terminate.

What might work is popen("mycomamnd > /dev/null &") so now the main loop should(!) just see the EOF and terminate.

So I did a simple test:

Code: Select all

#include <stdio.h>
#include <string.h>

int main()
{
  char cmdbuf[1000];
  char buf[10];
  FILE *sout;

  strcpy(cmdbuf,"sleep 10");
  strcat(cmdbuf, " 2>&1");
  sout = popen(cmdbuf, "r");
  if (sout == NULL) perror("popen");

  while (fread(&buf, 1, 1, sout) > 0) {
    printf("%c",*buf);
  }
  pclose(sout);
}
With strcpy(cmdbuf,"sleep 10"); the code took 10 seconds.

With strcpy(cmdbuf,"sleep 10 &"); the code took 10 seconds. Looking at the "ps" listing we see the shell has zombied, and we're waiting for sleep to finish.

With strcpy(cmdbuf,"sleep 10 > /dev/null &"); the code finished immediately, and looking at the ps listing we see the "sleep" process has been orphaned and re-parented to PID 1.

So this should be a solution; if you're creating a background job then ensure stdout is sent to /dev/null (or some another file).
Rgds
Stephen

User avatar
dhg2
Posts: 142
Joined: Tue Oct 25, 2016 7:37 pm
Contact:

Re: Matrix Brandy BASIC V for Linux with SDL: V1.21.17 released

Post by dhg2 » Sat Jan 19, 2019 8:51 pm

Thanks sweh! I've tested this and it works.
Regards,
- Patrick

Soruk
Posts: 444
Joined: Mon Jul 09, 2018 10:31 am
Location: Basingstoke, Hampshire
Contact:

Re: Matrix Brandy BASIC V for Linux with SDL: V1.21.18 released

Post by Soruk » Mon Jan 21, 2019 10:02 pm

Some graphics updates, not looked at this for a while. Ellipses with shears are now working, at least as far as PLOT &C5 and PLOT &CD are concerned, other variants still need to be tested. Though, the implementation is probably not the nicest (and filled ellipses, while working, are SLOW)...

Next on the list is to implement angled ellipses at the BASIC command (angles other than 0 give an unsupported error at the moment) - helpfully, the RISC OS 5 source code has a comment which describes the algorithm used, and an implementation in BASIC does the right thing.

Edit: ELLIPSE command now done.
Last edited by Soruk on Tue Jan 22, 2019 1:48 pm, edited 2 times in total.

Soruk
Posts: 444
Joined: Mon Jul 09, 2018 10:31 am
Location: Basingstoke, Hampshire
Contact:

Re: Matrix Brandy BASIC V for Linux with SDL: V1.21.18 released

Post by Soruk » Wed Jan 30, 2019 9:43 pm

Soruk wrote:
Mon Jan 21, 2019 10:02 pm
Ellipses with shears are now working, at least as far as PLOT &C5 and PLOT &CD are concerned, other variants still need to be tested. Though, the implementation is probably not the nicest (and filled ellipses, while working, are SLOW)...
Having adapted the original code to handle shears (though, it's not perfect and quite noticeable on non-filled ellipses with a shear) I've reverted to this instead of my alternative code that drew round the edge or radiated lines from the middle in the case of filled ellipses (which is why that was slow!). Trouble is I'm struggling to understand the maths to make it not leave gaps or draw jagged edges....

User avatar
Richard Russell
Posts: 917
Joined: Sun Feb 27, 2011 10:35 am
Location: Downham Market, Norfolk
Contact:

Re: Matrix Brandy BASIC V for Linux with SDL: V1.21.18 released

Post by Richard Russell » Wed Jan 30, 2019 11:27 pm

Soruk wrote:
Wed Jan 30, 2019 9:43 pm
Trouble is I'm struggling to understand the maths to make it not leave gaps or draw jagged edges....
I don't support non-axis-aligned ellipses natively in BB4W or BBCSDL, because the graphics libraries they rely on (Windows GDI in the case of BB4W, SDL2_gfx in the case of BBCSDL) don't support them either. Instead I supply with BB4W (and with the next release of BBCSDL, because you reminded me!) a BASIC library that does support them; it works by converting the rotated ellipse into Bezier curves and calling PolyBezier() in Windows or bezierColor() in BBCSDL. So if you have a Bezier-drawing routine, that is an approach which I can confirm works well.

Soruk
Posts: 444
Joined: Mon Jul 09, 2018 10:31 am
Location: Basingstoke, Hampshire
Contact:

Re: Matrix Brandy BASIC V for Linux with SDL: V1.21.18 released

Post by Soruk » Fri Feb 01, 2019 11:26 am

Richard Russell wrote:
Wed Jan 30, 2019 11:27 pm
Soruk wrote:
Wed Jan 30, 2019 9:43 pm
Trouble is I'm struggling to understand the maths to make it not leave gaps or draw jagged edges....
I don't support non-axis-aligned ellipses natively in BB4W or BBCSDL, because the graphics libraries they rely on (Windows GDI in the case of BB4W, SDL2_gfx in the case of BBCSDL) don't support them either. Instead I supply with BB4W (and with the next release of BBCSDL, because you reminded me!) a BASIC library that does support them; it works by converting the rotated ellipse into Bezier curves and calling PolyBezier() in Windows or bezierColor() in BBCSDL. So if you have a Bezier-drawing routine, that is an approach which I can confirm works well.
This approach could work. I don't have any Bezier curve capability in the SDL code yet, but SDL_gfx for SDL1.2 might.

User avatar
Richard Russell
Posts: 917
Joined: Sun Feb 27, 2011 10:35 am
Location: Downham Market, Norfolk
Contact:

Re: Matrix Brandy BASIC V for Linux with SDL: V1.21.18 released

Post by Richard Russell » Fri Feb 01, 2019 11:44 am

Soruk wrote:
Fri Feb 01, 2019 11:26 am
I don't have any Bezier curve capability in the SDL code yet, but SDL_gfx for SDL1.2 might.
It does (SDL_gfx and SDL2_gfx are almost identical functionally I think).

User avatar
dhg2
Posts: 142
Joined: Tue Oct 25, 2016 7:37 pm
Contact:

Re: Matrix Brandy BASIC V for Linux with SDL: V1.21.18 released

Post by dhg2 » Mon Feb 18, 2019 10:05 pm

Hello,

I've just discovered a bug with EOF#. EOF#0 returns 0, instead of causing an "invalid channel" error as it does in other versions of BBC BASIC.
Regards,
- Patrick

Soruk
Posts: 444
Joined: Mon Jul 09, 2018 10:31 am
Location: Basingstoke, Hampshire
Contact:

Re: Matrix Brandy BASIC V for Linux with SDL: V1.21.18 released

Post by Soruk » Wed Feb 20, 2019 9:16 am

dhg2 wrote:
Mon Feb 18, 2019 10:05 pm
Hello,

I've just discovered a bug with EOF#. EOF#0 returns 0, instead of causing an "invalid channel" error as it does in other versions of BBC BASIC.
Thank you for that - fixed.

User avatar
dhg2
Posts: 142
Joined: Tue Oct 25, 2016 7:37 pm
Contact:

Re: Matrix Brandy BASIC V for Linux with SDL: V1.21.18 released

Post by dhg2 » Fri Feb 22, 2019 2:51 pm

Thanks. EOF#0 now causes an error as it should. But I've also just noticed now that BPUT#0 and BGET#0 have the same problem - BPUT#0 doesn't cause an error and BGET#0 returns 0 without causing an error. (I should have tested those before I posted about the EOF#0 problem, sorry about that)
Regards,
- Patrick

Soruk
Posts: 444
Joined: Mon Jul 09, 2018 10:31 am
Location: Basingstoke, Hampshire
Contact:

Re: Matrix Brandy BASIC V for Linux with SDL: V1.21.18 released

Post by Soruk » Fri Feb 22, 2019 3:59 pm

dhg2 wrote:
Fri Feb 22, 2019 2:51 pm
Thanks. EOF#0 now causes an error as it should. But I've also just noticed now that BPUT#0 and BGET#0 have the same problem - BPUT#0 doesn't cause an error and BGET#0 returns 0 without causing an error. (I should have tested those before I posted about the EOF#0 problem, sorry about that)
No worries, that should be sorted. I've basically gone through it and in all cases except CLOSE#0, if channel number = 0 it's not valid.

User avatar
jgharston
Posts: 3696
Joined: Thu Sep 24, 2009 11:22 am
Location: Whitby/Sheffield
Contact:

Re: Matrix Brandy BASIC V for Linux with SDL: V1.21.18 released

Post by jgharston » Fri Feb 22, 2019 7:04 pm

dhg2 wrote:
Mon Feb 18, 2019 10:05 pm
I've just discovered a bug with EOF#. EOF#0 returns 0, instead of causing an "invalid channel" error as it does in other versions of BBC BASIC.
That's not a function of BASIC, that's a function of the filing system, and it's a choice of the filing system or fileswitch what EOF#0, PTR#0, EXT#0, etc. do. Some systems translate channel 0 to the console (eg, System, Atom, PDP11, Small-C), so BGET#0 reads from OSRDCH, BPUT#0 writes to OSWRCH, EOF#0 tells you if there is any pending keyboard input.

Code: Select all

$ bbcbasic
PDP11 BBC BASIC IV Version 0.25
(C) Copyright J.G.Harston 1989,2005-2015
>_

User avatar
Richard Russell
Posts: 917
Joined: Sun Feb 27, 2011 10:35 am
Location: Downham Market, Norfolk
Contact:

Re: Matrix Brandy BASIC V for Linux with SDL: V1.21.18 released

Post by Richard Russell » Fri Feb 22, 2019 9:40 pm

jgharston wrote:
Fri Feb 22, 2019 7:04 pm
dhg2 wrote:
Mon Feb 18, 2019 10:05 pm
I've just discovered a bug with EOF#. EOF#0 returns 0, instead of causing an "invalid channel" error as it does in other versions of BBC BASIC.
That's not a function of BASIC, that's a function of the filing system
Whilst that would be true if Brandy was running on RISC OS, it's not when the filing system (and VDU drivers , OSCLI etc.) are emulated, as they are in Matrix Brandy, BB4W and BBCSDL. Then the code which decides what to do when 'channel' is zero is 'part of' BASIC.

User avatar
jgharston
Posts: 3696
Joined: Thu Sep 24, 2009 11:22 am
Location: Whitby/Sheffield
Contact:

Re: Matrix Brandy BASIC V for Linux with SDL: V1.21.18 released

Post by jgharston » Fri Feb 22, 2019 9:47 pm

Richard Russell wrote:
Fri Feb 22, 2019 9:40 pm
jgharston wrote:
Fri Feb 22, 2019 7:04 pm
dhg2 wrote:
Mon Feb 18, 2019 10:05 pm
I've just discovered a bug with EOF#. EOF#0 returns 0, instead of causing an "invalid channel" error as it does in other versions of BBC BASIC.
That's not a function of BASIC, that's a function of the filing system
Whilst that would be true if Brandy was running on RISC OS, it's not when the filing system (and VDU drivers , OSCLI etc.) are emulated, as they are in Matrix Brandy, BB4W and BBCSDL. Then the code which decides what to do when 'channel' is zero is 'part of' BASIC.
It's a function of the fileswitch layer, regardless of where that layer is. BASIC doesn't do 'if channel=this then else...', the code that BASIC calls does 'if channel=this then else'. Whether that's bundled in the same executable as the Basic interpreter is irrelevant, it's not part of BASIC, it's part of the filing system layer.

Code: Select all

$ bbcbasic
PDP11 BBC BASIC IV Version 0.25
(C) Copyright J.G.Harston 1989,2005-2015
>_

mr-macrisc
Posts: 290
Joined: Wed Feb 07, 2018 3:35 pm
Contact:

Re: Matrix Brandy BASIC V for Linux with SDL: V1.21.18 released

Post by mr-macrisc » Fri Feb 22, 2019 9:55 pm

Edit, wrong place
Last edited by mr-macrisc on Fri Feb 22, 2019 9:56 pm, edited 2 times in total.

User avatar
Richard Russell
Posts: 917
Joined: Sun Feb 27, 2011 10:35 am
Location: Downham Market, Norfolk
Contact:

Re: Matrix Brandy BASIC V for Linux with SDL: V1.21.18 released

Post by Richard Russell » Fri Feb 22, 2019 11:02 pm

jgharston wrote:
Fri Feb 22, 2019 9:47 pm
Whether that's bundled in the same executable as the Basic interpreter is irrelevant, it's not part of BASIC, it's part of the filing system layer.
I can't speak for Matrix Brandy, but in BBCSDL there are indeed two distinct 'layers', which run in different threads and communicate with each other via a messaging system (not unlike a software equivalent of the Tube or the VDU stream). You can, if you like, think of one as the 'language' thread and the other as the 'GUI' thread, but (for reasons of convenience as much as anything else) the 'filing system emulation' resides in the 'language' thread and that's where the decision is made about what to do when the channel is zero. To me, that makes it 'part of BASIC' (not of the interpreter, but BBC BASIC isn't just the interpreter).

User avatar
dhg2
Posts: 142
Joined: Tue Oct 25, 2016 7:37 pm
Contact:

Re: Matrix Brandy BASIC V for Linux with SDL: V1.21.18 released

Post by dhg2 » Sat Feb 23, 2019 1:42 pm

I think Richard is right. From my perspective as an end user of brandy, the behaviour of BGET#, EOF#, etc, might as well be considered a part of (brandy) BASIC.
Regards,
- Patrick

Soruk
Posts: 444
Joined: Mon Jul 09, 2018 10:31 am
Location: Basingstoke, Hampshire
Contact:

Re: Matrix Brandy BASIC V for Linux with SDL: V1.21.18 released

Post by Soruk » Tue Feb 26, 2019 12:06 pm

dhg2 wrote:
Sat Feb 23, 2019 1:42 pm
I think Richard is right. From my perspective as an end user of brandy, the behaviour of BGET#, EOF#, etc, might as well be considered a part of (brandy) BASIC.
With the exception of the graphics output (which is done via VDU codes and a RISC OS VDU emulation layer) and limited SWI support, Brandy makes no attempt to separate what might be traditionally OS calls versus BASIC code. For instance, there is almost no OSWORD support, so BASIC can't use that to make file system calls for LOADing and SAVEing. SWI support is a little better, but no filesystem SWIs are implemented.

User avatar
Richard Russell
Posts: 917
Joined: Sun Feb 27, 2011 10:35 am
Location: Downham Market, Norfolk
Contact:

Re: Matrix Brandy BASIC V for Linux with SDL: V1.21.18 released

Post by Richard Russell » Tue Feb 26, 2019 1:34 pm

Is *EXEC supposed to work in Matrix Brandy v1.21.18 (Windows build)? When I try it I get "'exec' is not recognized as an internal or external command, operable program or batch file".

Soruk
Posts: 444
Joined: Mon Jul 09, 2018 10:31 am
Location: Basingstoke, Hampshire
Contact:

Re: Matrix Brandy BASIC V for Linux with SDL: V1.21.18 released

Post by Soruk » Tue Feb 26, 2019 8:28 pm

Richard Russell wrote:
Tue Feb 26, 2019 1:34 pm
Is *EXEC supposed to work in Matrix Brandy v1.21.18 (Windows build)? When I try it I get "'exec' is not recognized as an internal or external command, operable program or batch file".
No, it has not (yet) been implemented. However, if you have a BASIC program as a text file, you can just LOAD/CHAIN it.

Post Reply