CMM2: V5.07.02b1: Minor bug fixes


Author Message
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 5722
Posted: 09:52am 08 Oct 2021      

http://geoffg.net/Downloads/Maximite/CMM2_Beta.zip

The LOC function does not work for files. Fixed in V5.07.02b1
The MEMORY SET SHORT and MEMORY SET WORD commands have bugs. Fixed in V5.07.02b1
MM.ERRMSG$ sometimes returns string with a leading CR/LF. Fixed in V5.07.02b1
Bug in allowable range for LONGSTRING RESIZE. Fixed in V5.07.02b1

thwill

Guru

Joined: 16/09/2019
Location: United Kingdom
Posts: 2085
Posted: 10:23am 08 Oct 2021      

Thank you very much for the swift turnaround Peter.

I can confirm that it passes all my tests (though I can't comment on MEMORY SET WORD as I don't have any unit-tests for it yet).

Thanks again,

Tom
Edited 2021-10-08 20:24 by thwill

matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 5722
Posted: 06:57am 22 Oct 2021      

http://geoffg.net/Downloads/Maximite/CMM2_Beta.zip

Fixes bug in TIMER= command when value is greater than 70

Extra syntax option for BITBANG WS2812

Existing version
BITBANG WS2812 type, pin,colours%()


Also now allowed
BITBANG WS2812 type, pin, nbr, colours%[()]


The new variant allows you to control a single LED which wasn't previously possible in a clean way e.g.
BITBANG WS2812 O, 3,1,RGB(RED)

toml_12953
Senior Member

Joined: 13/02/2015
Location: United States
Posts: 224
Posted: 11:38am 22 Oct 2021      

  matherp said  http://geoffg.net/Downloads/Maximite/CMM2_Beta.zip

Fixes bug in TIMER= command when value is greater than 70



What caused that problem?

twofingers
Guru

Joined: 02/06/2014
Location: Germany
Posts: 964
Posted: 11:50am 22 Oct 2021      

  toml_12953 said  What caused that problem?

A pair of brackets.
https://www.thebackshed.com/forum/ViewTopic.php?FID=16&TID=14225

@Peter: Thanks for fixing this so quickly!

Michael
Edited 2021-10-22 21:59 by twofingers

thwill

Guru

Joined: 16/09/2019
Location: United Kingdom
Posts: 2085
Posted: 10:57am 29 Nov 2021      

Should a newly updated and OPTION RESET CMM2 list the current display as 24x80 ?

> 400MHz Colour Maximite 2
MMBasic Version 5.07.02b2
Copyright 2011-2021 Geoff Graham
Copyright 2016-2021 Peter Mather

> option list
CURRENT VGA mode 800x600 RGB332
CURRENT DISPLAY 24,80
OPTION USBKEYBOARD UK
> ?MM.Hres
800
> ?MM.Vres
600
>

It seems to be acting like it is 50x100 which is what I was expecting and what the EDITor is using too.

Best wishes,

Tom
Edited 2021-11-29 20:58 by thwill

thwill

Guru

Joined: 16/09/2019
Location: United Kingdom
Posts: 2085
Posted: 11:03am 29 Nov 2021      

... and this sequence does change it to 50x100 ???

> option reset
> option list
CURRENT VGA mode 800x600 RGB332
CURRENT DISPLAY 24,80
OPTION USBKEYBOARD UK
> option usbkeyboard uk,1
> option list
CURRENT VGA mode 800x600 RGB332
CURRENT DISPLAY 24,80
OPTION USBKEYBOARD UK, 1
> option ram
> option list
CURRENT VGA mode 800x600 RGB332
CURRENT DISPLAY 24,80
OPTION USBKEYBOARD UK, 1
OPTION RAM ON
> option keyboard repeat 200,50
> option list
CURRENT VGA mode 800x600 RGB332
CURRENT DISPLAY 24,80
OPTION USBKEYBOARD UK, 1
OPTION RAM ON
OPTION KEYBOARD REPEAT 200,50
> option sd timing fast
> option list
CURRENT VGA mode 800x600 RGB332
CURRENT DISPLAY 50,100
OPTION USBKEYBOARD UK, 1
OPTION RAM ON
OPTION SD TIMING FAST
OPTION KEYBOARD REPEAT 200,50

Best wishes,

Tom

matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 5722
Posted: 11:57am 29 Nov 2021      

Will look at it but away from home at the moment and didn't pack a CMM2

Volhout
Guru

Joined: 05/03/2018
Location: Netherlands
Posts: 1055
Posted: 02:06pm 14 Jan 2022      

@Peter,

I am sure the CMM2 is as complete as anybody could wish.
But I do have a request for additional functionality.
Could we add a simple 2D plot command ?

Below example from Octave is not MMBasic, but is explanatory of what I am envisioning.
x = -10:0.1:10; # Create an evenly-spaced vector from -10..10
y = sin (x);    # y is also a vector
plot (x, y);
title ("Simple 2-D Plot");
xlabel ("x");
ylabel ("sin (x)");


It is the simplicity of the "plot" command that helps people analyze data.
This is as simple as the output would look like, nothing fancy.



I know this can be done in MMBasic. Every project I re-invent the plot function, since I am very visually oriented.

Is this something that will still fit in the CMM2, and are you willing to code it up ?

Thank you in advance,

Volhout
Edited 2022-01-15 00:07 by Volhout

thwill

Guru

Joined: 16/09/2019
Location: United Kingdom
Posts: 2085
Posted: 02:25pm 14 Jan 2022      

It's not my baby, but why would we need graph plotting in the firmware? Is this not the perfect use for a .INC file, I'm sure our prolific @William Leue or any number of others could knock one off for this purpose. Possibly if you wanted 3D contour plotting you would need firmware level of performance, but that's what CSUBs are for.

Best wishes,

Tom
Edited 2022-01-15 00:26 by thwill

Volhout
Guru

Joined: 05/03/2018
Location: Netherlands
Posts: 1055
Posted: 03:10pm 14 Jan 2022      

@thwill

You are right. All the graphics functions are there, so it is definitely possible in MMBasic, and not CPU intense. I simply did not create an ".inc" yet, I'll do that my next project, so I can benefit for the next...

I was stunned by the simplicity of the implementation in Octave. Hence the request.

I will withdraw my request.

Volhout
Edited 2022-01-15 01:11 by Volhout