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

discuss PC<>Acorn file transfer issues & the use of FDC, XFER, Omniflop/disk etc.
User avatar
BigEd
Posts: 2838
Joined: Sun Jan 24, 2010 10:24 am
Location: West
Contact:

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

Post by BigEd » Sat Sep 01, 2018 2:59 pm

Hmm, that's very odd. In assignment and comparison, &80000000 and -2147483648 do seem to be the same number. But in expression evaluation, they are not. Any explanation?

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

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

Post by Richard Russell » Sat Sep 01, 2018 4:07 pm

BigEd wrote:
Sat Sep 01, 2018 2:59 pm
Hmm, that's very odd. In assignment and comparison, &80000000 and -2147483648 do seem to be the same number. But in expression evaluation, they are not. Any explanation?
I think it stems from what is in my opinion a design flaw in Acorn's BASICs, that 'integer' (32-bit) arithmetic should 'wrap around' (e.g. &80000000 + &80000000 should equal &00000000) but 'non-integer' arithmetic should not (-2147483648 - 2147483648 should equal -4294967296). Inevitably that results in anomalies (and you may well ask why -2147483648 isn't treated as an integer, to which I can only shrug my shoulders!). In my BASICs a number is a number; whether or not it's an integer may (and usually will) affect the speed of the computation, but it will never affect the actual numeric value of the result.

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

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

Post by BigEd » Sat Sep 01, 2018 6:38 pm

Ah, so maybe because 2^31 is not an integer, its negation isn't an integer. They don't check for a different bound for the positive and negative case? (An integer should be from -2^31 to 2^31-1, if you accept the decision to distinguish.)

But I'm going off-topic...

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

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

Post by Richard Russell » Sat Sep 01, 2018 9:24 pm

BigEd wrote:
Sat Sep 01, 2018 6:38 pm
But I'm going off-topic...
It's arguably on-topic since Matrix Brandy has inherited the same 'feature'. Here's another example:

Code: Select all

@% = &A0A
PRINT 2147483650 + 10
PRINT 2147483640 + 20
If this sort of behaviour happens in the middle of a complicated calculation it can be very hard to track down.

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

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

Post by BigEd » Sat Sep 01, 2018 9:30 pm

Yikes! (The larger number acts like a float, so you get a positive result, but the smaller number fits in a signed 32 bit value so it wraps around to a negative result.)

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

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

Post by Richard Russell » Sat Sep 01, 2018 10:55 pm

BigEd wrote:
Sat Sep 01, 2018 9:30 pm
Yikes!
You can see why I was never tempted to copy this behaviour. It's easy to avoid too: after adding (or subtracting) the two 32-bit integers my BASICs check for an overflow - this is typically a bit in the CPU's flags register - and in that event promote the numbers to floats. Bearing in mind that a 40-bit BBC BASIC 'float' can contain, exactly, any whole number between -4294967295 and +4294967295 inclusive (nearly twice the range of a 32-bit integer) no loss of precision results. If you specifically want the 'wraparound' behaviour you can achieve it downstream.

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

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

Post by Soruk » Sun Sep 02, 2018 8:59 am

Hi,

I've released version 1.21.12 of Matrix Brandy.

Bugs fixed since V1.21.11 include:
* Closed file warning was clobbering ERR value and REPORT$.
* OSWORD via &FFF1 wasn't returning the A register due to bad function definition. Thanks to luigino @ Github for identifying a problem with the function definition.
* Multiple compiler warnings when compiled with -Wall, and static analysis.
Also:
* Brought the text-only builds up to date, brought makefile.text back to top level.
* *WinTitle now works on text-only builds using XTerm control codes.
* Changing screen mode no longer clears FULLSCREEN.
* RPM SPEC file now builds text builds as well as the graphical build, the resulting RPM includes all three builds (graphical, text, simple-text).

Coeus
Posts: 1423
Joined: Mon Jul 25, 2016 11:05 am
Contact:

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

Post by Coeus » Sun Sep 02, 2018 8:58 pm

Soruk wrote:
Sun Sep 02, 2018 8:59 am
* Multiple compiler warnings when compiled with -Wall, and static analysis.
I am getting one warning from ld which I have, until now, been ignoring but decided to look a bit more closely at. Ld reported:

Code: Select all

/usr/bin/ld: src/miscprocs.o: in function `secure_tmpnam':
miscprocs.c:(.text+0x9cd): warning: the use of `tmpnam' is dangerous, better use `mkstemp'
I had not been looking into before because I noted that tmpnam was being called by a function called secure_tmpnam which I though would make up for tmpman's defects but looking more closely it seems that is not the case.

The issue, as I understand it, is that if one want to create a temporary file with a unique name it is impossible to separate the test for an existing file having the chosen name from creation of the new file. If these two operations are not atomic then some other process or thread can get in and create the file between the test for existence and the creation of the new temporary file.

That means on Unix-like systems the file must be opened by calling open with the O_CREAT and O_EXCL flags such that the kernel does the test and create as an atomic operation. This is presumably what mkstemp does behind the scenes, i.e. it wraps open with the logic to generate a hopefully unique filename and retry if is found to exist.

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

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

Post by Soruk » Mon Sep 03, 2018 10:21 am

Coeus wrote:
Sun Sep 02, 2018 8:58 pm
Soruk wrote:
Sun Sep 02, 2018 8:59 am
* Multiple compiler warnings when compiled with -Wall, and static analysis.
I am getting one warning from ld which I have, until now, been ignoring but decided to look a bit more closely at. Ld reported:

Code: Select all

/usr/bin/ld: src/miscprocs.o: in function `secure_tmpnam':
miscprocs.c:(.text+0x9cd): warning: the use of `tmpnam' is dangerous, better use `mkstemp'
I had not been looking into before because I noted that tmpnam was being called by a function called secure_tmpnam which I though would make up for tmpman's defects but looking more closely it seems that is not the case.
I've had a go at reworking this, so this now uses mkstemp instead of tmpnam. The warning is gone, and the functionality that uses the temporary files appears to still work with quick cursory testing.

Edit: After more testing over the last few days, I've completely failed to break it. :lol: So, yay.
Last edited by Soruk on Thu Sep 06, 2018 11:02 am, edited 1 time in total.

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

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

Post by Soruk » Fri Sep 07, 2018 5:41 pm

New feature added: *ScreenSave <filename.bmp> - saves the screen as a Windows BMP file.

Also, split the *HELP up a bit, adding *HELP MATRIX to show the *-commands specific to Matrix Brandy.

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

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

Post by dhg2 » Fri Sep 07, 2018 6:51 pm

Nice! Are you planning to add *screenload as well?
Regards,
- Patrick

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

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

Post by Soruk » Fri Sep 07, 2018 11:05 pm

dhg2 wrote:
Fri Sep 07, 2018 6:51 pm
Nice! Are you planning to add *screenload as well?
Yup - it's in my latest commit.

Loading a screen saved from one size screen mode into another is untested and may have strange effects!

While a screensave from Mode 7 will work, loading into Mode 7 will not, as its content is rendered from a 40x25 character buffer. (Something might happen, but the results will be quite unpredictable...)
Last edited by Soruk on Fri Sep 07, 2018 11:08 pm, edited 2 times in total.

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

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

Post by Richard Russell » Sat Sep 08, 2018 9:55 am

Soruk wrote:
Fri Sep 07, 2018 11:05 pm
Yup - it's in my latest commit.
Do *screensave and *screenload support parameters like their equivalents in BB4W/BBCSDL (*screensave and *display respectively)? In my BASICs you can optionally specify the origin (bottom left corner) and width/height (in BASIC graphics units):

Code: Select all

*screensave filename 140,100,1000,800
*display filename 140,100,1000,800
In the case of *screensave the dimensions determine the size of the rectangle saved, in the case of *display the bitmap is scaled to the specified dimensions. Specifying negative values for the width and/or height flips the image about that axis. Omitting the parameters implies saving the entire window in the first case and not scaling in the second. In the most recent release of BBCSDL *display has been extended to accept GIF, JPG and PNG files as well as BMP.
Last edited by Richard Russell on Sat Sep 08, 2018 9:59 am, edited 1 time in total.

User avatar
bakoulis
Posts: 319
Joined: Wed Feb 08, 2012 9:45 pm
Location: Athens, Greece
Contact:

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

Post by bakoulis » Sat Sep 08, 2018 3:40 pm

The programs that referenced at Matrix Brandy Basic homepage: Ceefax Engineering, PRESTEL, Chalksoft's Pirate and Yellow River Kingdom, don't included somewhere, except the Telstar. Can you include this programs and games and maybe some more that used on RISC OS 5 in /EXAMPLES folder?
:D
Last edited by bakoulis on Sat Sep 08, 2018 3:42 pm, edited 3 times in total.
2xElectron, 3xBBC B, BBC Master.
2xAcorn A310, A420/1, 2xA3000, 2xA3010, A3020, A4000, A5000.
2xRISC PC, Acorn Pocket Book, Acorn Pocket Book II.

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

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

Post by Soruk » Sat Sep 08, 2018 4:23 pm

Richard Russell wrote:
Sat Sep 08, 2018 9:55 am
Soruk wrote:
Fri Sep 07, 2018 11:05 pm
Yup - it's in my latest commit.
Do *screensave and *screenload support parameters like their equivalents in BB4W/BBCSDL (*screensave and *display respectively)? In my BASICs you can optionally specify the origin (bottom left corner) and width/height (in BASIC graphics units):

Code: Select all

*screensave filename 140,100,1000,800
*display filename 140,100,1000,800
In the case of *screensave the dimensions determine the size of the rectangle saved, in the case of *display the bitmap is scaled to the specified dimensions. Specifying negative values for the width and/or height flips the image about that axis. Omitting the parameters implies saving the entire window in the first case and not scaling in the second. In the most recent release of BBCSDL *display has been extended to accept GIF, JPG and PNG files as well as BMP.
Currently, no, they don't take any extra parameters - they're more closely aligned to their RISC OS counterparts (except they save and load BMPs instead of Sprite files). But that's a possible enhancement for the future.

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

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

Post by Soruk » Sat Sep 08, 2018 4:40 pm

bakoulis wrote:
Sat Sep 08, 2018 3:40 pm
The programs that referenced at Matrix Brandy Basic homepage: Ceefax Engineering, PRESTEL, Chalksoft's Pirate and Yellow River Kingdom, don't included somewhere, except the Telstar. Can you include this programs and games and maybe some more that used on RISC OS 5 in /EXAMPLES folder?
:D
I could include the Prestel file and Ceefax - they're adapted from a BBCSDL demo. Pirate and Yellow River Kingdom are copyrighted and as such I can't include them with Brandy.

User avatar
bakoulis
Posts: 319
Joined: Wed Feb 08, 2012 9:45 pm
Location: Athens, Greece
Contact:

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

Post by bakoulis » Sat Sep 08, 2018 5:30 pm

Soruk wrote:
Sat Sep 08, 2018 4:40 pm
bakoulis wrote:
Sat Sep 08, 2018 3:40 pm
The programs that referenced at Matrix Brandy Basic homepage: Ceefax Engineering, PRESTEL, Chalksoft's Pirate and Yellow River Kingdom, don't included somewhere, except the Telstar. Can you include this programs and games and maybe some more that used on RISC OS 5 in /EXAMPLES folder?
:D
I could include the Prestel file and Ceefax - they're adapted from a BBCSDL demo. Pirate and Yellow River Kingdom are copyrighted and as such I can't include them with Brandy.
Thank you mate. I thought, after 35 years they will be freeware Basic games.
If you can, please include more freeware listings to have some retro fun!
:D
2xElectron, 3xBBC B, BBC Master.
2xAcorn A310, A420/1, 2xA3000, 2xA3010, A3020, A4000, A5000.
2xRISC PC, Acorn Pocket Book, Acorn Pocket Book II.

User avatar
bakoulis
Posts: 319
Joined: Wed Feb 08, 2012 9:45 pm
Location: Athens, Greece
Contact:

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

Post by bakoulis » Sat Sep 08, 2018 8:51 pm

The sound is supported?
I had tested a little tune playing program from here http://www.riscos.com/support/developer ... chap11.htm
and I didn't hear any sound, but also with no errors on screen!
The listing is this:

Code: Select all

10  REM >Chapll-l
100 TEMPO &1000
110 BEATS 200
120 VOICES 4
130 VOICE 1,"StringLib-Soft"
140 VOICE2,"StringLib-Pluck"
150 VOICE2,"StringLib-Steel"
160 VOICE2,"Percussion-Medium"
170 REPEAT
180 REPEAT UNTIL BEAT=0
190 SOUND 1, -15, 69, 5, 50
200 SOUND 2, -15, 61, 5, 100
210 SOUND 3, -15, 53, 5, 150
220 SOUND 4, -15, 200, 5, 50
230 SOUND 4, -15, 200, 5, 100
240 SOUND 4, -15, 200, 5, 150
250 REPEAT UNTIL BEAT <> 0
260 UNTIL FALSE
270 END
Do you plan to support sound?
Last edited by bakoulis on Sat Sep 08, 2018 8:53 pm, edited 1 time in total.
2xElectron, 3xBBC B, BBC Master.
2xAcorn A310, A420/1, 2xA3000, 2xA3010, A3020, A4000, A5000.
2xRISC PC, Acorn Pocket Book, Acorn Pocket Book II.

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

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

Post by Soruk » Sat Sep 08, 2018 10:06 pm

bakoulis wrote:
Sat Sep 08, 2018 8:51 pm
Do you plan to support sound?
Eventually. For compatibility (and for builds compiled on RISC OS) the BASIC V sound commands are all recognised, but on non-RISC OS platforms are just no-ops.

I need to try to make friends with SDL_Audio first!

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

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

Post by Soruk » Sat Sep 08, 2018 10:56 pm

bakoulis wrote:
Sat Sep 08, 2018 5:30 pm
Thank you mate. I thought, after 35 years they will be freeware Basic games.
If you can, please include more freeware listings to have some retro fun!
:D
I will see what I can do about Yellow River Kingdom - it'll more likely be a download from the website rather than part of the distribution.

My latest commit includes the Mode 7 demo set of pages, including the Prestel Train and the Engineering Test page - examples/Mode7/mode7demo. Enjoy!

User avatar
bakoulis
Posts: 319
Joined: Wed Feb 08, 2012 9:45 pm
Location: Athens, Greece
Contact:

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

Post by bakoulis » Sun Sep 09, 2018 9:44 pm

I found that the game Nightmare Park from here viewtopic.php?f=1&t=15289 runs almost perfect.
Some points:
Must don't choose "yes" at first screen that ask you to load the hi-score table or the game exits with error.
Needs CAPS lock enabled
No sound
Very high speed at some quests

I post the game here for educational purposes.
Attachments
Nightmare Park.zip
(21.15 KiB) Downloaded 9 times
Last edited by bakoulis on Sun Sep 09, 2018 9:45 pm, edited 1 time in total.
2xElectron, 3xBBC B, BBC Master.
2xAcorn A310, A420/1, 2xA3000, 2xA3010, A3020, A4000, A5000.
2xRISC PC, Acorn Pocket Book, Acorn Pocket Book II.

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

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

Post by Soruk » Mon Sep 10, 2018 1:05 pm

From a user request over on Github, I've made some initial steps towards getting Brandy to work on Windows, using the MinGW toolchain under Cygwin (but Cygwin not required for the resulting EXE to run).
Obvious gotchas:
0) I'm not a Windows developer.
1) Networking does not work (and I know nothing about Windows networking)
2) Testing? It'll need extensive testing before a binary is releasable.

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

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

Post by Richard Russell » Mon Sep 10, 2018 1:39 pm

Soruk wrote:
Mon Sep 10, 2018 1:05 pm
1) Networking does not work (and I know nothing about Windows networking)
SDL_net works on both Linux and Windows (and indeed on MacOS, Android and iOS too). At least the SDL 2 version of SDL_net does, and I'm not aware that the SDL 1.2 version is significantly (if at all) different. So if your networking is done via SDL_net I don't know why it should have failed.

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

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

Post by Soruk » Mon Sep 10, 2018 1:45 pm

Richard Russell wrote:
Mon Sep 10, 2018 1:39 pm
Soruk wrote:
Mon Sep 10, 2018 1:05 pm
1) Networking does not work (and I know nothing about Windows networking)
SDL_net works on both Linux and Windows (and indeed on MacOS, Android and iOS too). At least the SDL 2 version of SDL_net does, and I'm not aware that the SDL 1.2 version is significantly (if at all) different. So if your networking is done via SDL_net I don't know why it should have failed.
I was using getaddrinfo(),socket() and connect() - that way networking works on the text-mode builds under Linux as well. But, while getaddrinfo() appears to exist, it does not appear to be working correctly when built with MinGW.
Last edited by Soruk on Mon Sep 10, 2018 1:46 pm, edited 1 time in total.

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

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

Post by Richard Russell » Mon Sep 10, 2018 1:54 pm

Soruk wrote:
Mon Sep 10, 2018 1:45 pm
that way networking works on the text-mode builds under Linux as well.
Although I've not tested it, SDL_net 2.0 appears to support a standalone mode of operation (i.e. without any dependencies on SDL itself) because SDL_net.h tests for WITHOUT_SDL being defined. It therefore seems to me likely that you could use it in text-mode builds.

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

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

Post by Soruk » Mon Sep 10, 2018 1:57 pm

Richard Russell wrote:
Mon Sep 10, 2018 1:54 pm
Soruk wrote:
Mon Sep 10, 2018 1:45 pm
that way networking works on the text-mode builds under Linux as well.
Although I've not tested it, SDL_net 2.0 appears to support a standalone mode of operation (i.e. without any dependencies on SDL itself) because SDL_net.h tests for WITHOUT_SDL being defined. It therefore seems to me likely that you could use it in text-mode builds.
That is interesting - I will investigate. Thank you for that.

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

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

Post by dhg2 » Mon Sep 10, 2018 2:29 pm

The discussion about including example software has made me think - Soruk, if it's OK with you and you like the idea, it could be fun to get people from stardot to write & contribute some new example BASIC programs to demonstrate various features of Matrix Brandy.

Perhaps we could make a list of features that would need demonstrating, and then people can choose one (or many) features to write a program to demonstrate. For example, INKEY with negative number parameters, *refresh, etc.

Or maybe the programs wouldn't necessarily need to demonstrate any particular features of Matrix Brandy, they could just be fun & interesting programs.

What do you think? Is anyone else interested in this idea?
Regards,
- Patrick

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

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

Post by Soruk » Mon Sep 10, 2018 3:18 pm

Soruk wrote:
Mon Sep 10, 2018 1:57 pm
Richard Russell wrote:
Mon Sep 10, 2018 1:54 pm
Soruk wrote:
Mon Sep 10, 2018 1:45 pm
that way networking works on the text-mode builds under Linux as well.
Although I've not tested it, SDL_net 2.0 appears to support a standalone mode of operation (i.e. without any dependencies on SDL itself) because SDL_net.h tests for WITHOUT_SDL being defined. It therefore seems to me likely that you could use it in text-mode builds.
That is interesting - I will investigate. Thank you for that.
Turns out I needed to call WSAStartup prior to other networky stuff. That done, the rest of my net functionality is working without porting to a new interface. Tested with my telstar client.

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

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

Post by Soruk » Mon Sep 10, 2018 3:36 pm

dhg2 wrote:
Mon Sep 10, 2018 2:29 pm
The discussion about including example software has made me think - Soruk, if it's OK with you and you like the idea, it could be fun to get people from stardot to write & contribute some new example BASIC programs to demonstrate various features of Matrix Brandy.

Perhaps we could make a list of features that would need demonstrating, and then people can choose one (or many) features to write a program to demonstrate. For example, INKEY with negative number parameters, *refresh, etc.

Or maybe the programs wouldn't necessarily need to demonstrate any particular features of Matrix Brandy, they could just be fun & interesting programs.

What do you think? Is anyone else interested in this idea?
Definitely sounds like an idea - though, it could be an extension of the Type-Ins thread idea, where longer programs could be posted (attachments or links), perhaps with a variant of the Acorn User header showing what it runs on.
e.g. REM For B/B+/E/M/C/A/Pi/Win/SDL/MB
Last edited by Soruk on Mon Sep 10, 2018 3:37 pm, edited 1 time in total.

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

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

Post by Richard Russell » Mon Sep 10, 2018 4:45 pm

dhg2 wrote:
Mon Sep 10, 2018 2:29 pm
Perhaps we could make a list of features that would need demonstrating, and then people can choose one (or many) features to write a program to demonstrate. For example, INKEY with negative number parameters, *refresh, etc.
Do you envisage such demonstration programs being Matrix Brandy specific or might some at least be sufficiently generic to also run in BBCSDL? In the latter case I would be keen to try to negotiate the right to use or adapt them, especially as I think ideas and content from some of my existing example programs have already made the reverse journey! (I apologise once again for abusing Soruk's thread by mentioning a competitive product).

Post Reply