MMBasic for Windows - betas


Author Message
TassyJim

Guru

Joined: 07/08/2011
Location: Australia
Posts: 5962
Posted: 05:04am 08 Jun 2023      

Any device that is using a terminal will depend on terminal line-ending setting.

Jim

Turbo46

Guru

Joined: 24/12/2017
Location: Australia
Posts: 1601
Posted: 07:37am 08 Jun 2023      

Thanks Phil and Jim, I'm not sure what you mean by:
  Quote  MMB4W does do that.

But I get this when I enter it at the input prompt:



Which NOT what I see when doing it in a program.



Bill

matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 8684
Posted: 08:05am 08 Jun 2023      

That's because at the command prompt you get a new prompt after every statement

Try

Print "Hello";


at the command prompt

JohnS
Guru

Joined: 18/11/2011
Location: United Kingdom
Posts: 3708
Posted: 08:13am 08 Jun 2023      

Looks like confusion between a stored program (which you can EDIT) and immediate mode commands (typed at the > prompt).

The program you can LIST, EDIT, etc.

The typed-in commands are executed and then gone (may be recalled via the OS e.g. using uparrow).

John
Edited 2023-06-08 18:15 by JohnS

Turbo46

Guru

Joined: 24/12/2017
Location: Australia
Posts: 1601
Posted: 08:17am 08 Jun 2023      

Thanks Peter, I did expect that at the command prompt but I never have seen any BASIC program not do a new line after the response to an INPUT statement.

Bill

thwill

Guru

Joined: 16/09/2019
Location: United Kingdom
Posts: 3927
Posted: 08:24am 08 Jun 2023      

I think Bill is correct, MMB4W is misbehaving:



I typed "foo" at the INPUT prompt and then Enter ... it should have inserted a newline and printed the second "foo" on the next line.

Best wishes,

Tom

Turbo46

Guru

Joined: 24/12/2017
Location: Australia
Posts: 1601
Posted: 09:31am 08 Jun 2023      

Thanks Tom, I really don't know why it hasn't been noticed before.

Bill

JanVolk
Senior Member

Joined: 28/01/2023
Location: Netherlands
Posts: 105
Posted: 06:36pm 08 Jun 2023      

I've been doing some testing with the GUI commands for MMB4W and it works very well so far.
That is why I do not understand that all these extra settings are not included in the standard manual if you want to quickly consult the manual and then run into all kinds of references.
For myself I translated the pdf files into Dutch because my English is not so good with many examples.
I also adapted Notepad++ for the Syntax to MMB4W which is now a party for programming with MMB4W.
See here the example program by Geoff Graham from 2015 which works perfectly with MMB4W and you will not easily see the extra functions and commands with only the MMB4W manual.


pomp.zip


Jan

JanVolk
Senior Member

Joined: 28/01/2023
Location: Netherlands
Posts: 105
Posted: 07:19pm 08 Jun 2023      

An example of what this looks like for me.



Jan

Turbo46

Guru

Joined: 24/12/2017
Location: Australia
Posts: 1601
Posted: 08:34pm 08 Jun 2023      

  JanVolk said  I do not understand that all these extra settings are not included in the standard manual

I agree that is a nuisance but I presume it was done to reduce duplication. The manual for MMB4W was based on the CMM2 manual which did not include the GUI stuff. I would not be surprised if it was removed from the Picomite manual in the future.

One change of the GUI functions could mean several manuals would need to be updated.

If it makes you feel any better, the manual for the MM+ only contains the things that are ADDITIONAL to the Micromite manual. This is were the GUI functions began (I believe). Maybe one day they will be removed from that manual and that would mean that THREE manuals would be needed for the MM+ (I hope not).

The program does work well. If only I could understand it.

Bill

JanVolk
Senior Member

Joined: 28/01/2023
Location: Netherlands
Posts: 105
Posted: 09:01pm 08 Jun 2023      

Turbo46,

A clear explanation for the references. Thanks for that.

Jan

JanVolk
Senior Member

Joined: 28/01/2023
Location: Netherlands
Posts: 105
Posted: 07:09pm 12 Jun 2023      

Peter,

When calling up the List Functions, CtrlVal( in this list is expected to also get a CYAN color in the EDITOR?

Jan

JanVolk
Senior Member

Joined: 28/01/2023
Location: Netherlands
Posts: 105
Posted: 07:56pm 12 Jun 2023      

Peter,

There may be more like MM.Fontwidth and MM.Fontheight?
See screen print.




Jan

matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 8684
Posted: 09:48pm 12 Jun 2023      

Please stop posting about editor colouring. Many commands in the CMM2 and MMB4W are converted into other commands by the pre-processor. Therefore they are not colour coded. It is what it is and remember it is free

Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 6027
Posted: 06:34am 13 Jun 2023      

If the "wrong" colours put you off it's easily fixed with OPTION COLOURCODE OFF. ;)

More to the point, even if CtrlVal(#ref) is listed as a command, it's always treated as a single-dimensional array - it is actually a value. To colour it any differently probably introduces more confusion, not less. Mind you, that's just me. :)

JanVolk
Senior Member

Joined: 28/01/2023
Location: Netherlands
Posts: 105
Posted: 02:33pm 14 Jun 2023      

Peter & Mick,

Thanks for answering my color question on the editor.
I already suspected something like this could be going on so I won't ask about it again.
The program is still a Beta version so there may still be bugs?
The editor is already not fast with MMB4W and may become even slower and I can also choose a single color.

The utility is made for quick customization and for real work Notepad++ or any other editor is more suitable for writing a program and if I am adapting the newly discovered Syntax highlighting in Notepad++ for my own programming language such as PicoMite Basic, MMB4W , Bascom AVR and Annex Basic, then I can develop programs with them and immediately use them from the same folder.
It was a bit of a puzzle with the syntax marking, but once you have mastered it, it works very well.

Jan.

crez

Senior Member

Joined: 24/10/2012
Location: Australia
Posts: 152
Posted: 12:04am 18 Jun 2023      

Hi All
   I am trying to get MMB4W to search for a picomite connected to the PC. It opens ports from 1 up and sends 'p' then looks for a response. It works until it tries to open a port assigned to 'standard serial over bluetooth link'. Before the 'p' is sent, MMB4W hangs and must be closed manually. If I disable bluetooth it works, and it works if I scan downwards from 40, but I'm not sure that would always be reliable.

using mmb4w 5.07.03 b18

for j=1 to 40
print j,
on error skip 12
open "com"+str$(j)+":38400" as #1
print ,j;" opened"
print #1,"p"
pause 100
line input #1,a$
if left$(a$,1)="P" then
print "found port ";j
com=j
exit for
end if
close #1
print "com";j;" closed"
next j
print "port scanning done"
if com=0 then print "com port not found"

matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 8684
Posted: 06:00pm 02 Nov 2023      

V5.07.03b20

Long time since I've played with this and compiling on a new machine so anything could happen

MMBasic.zip

Fixes bug in sprite hide safe on layer 0
Changes the MMGetLine function so it echoes CRLF when it sees a linefeed character as well as a carriage return. This fixes the issue with the INPUT command and the same issue with LINE INPUT command. I hope this hasn't broken anything else.

Martin H.

Guru

Joined: 04/06/2022
Location: Germany
Posts: 991
Posted: 06:21pm 02 Nov 2023      

  matherp said  V5.07.03b20

Long time since I've played with this and compiling on a new machine so anything could happen

MMBasic.zip

Fixes bug in sprite hide safe on layer 0
Changes the MMGetLine function so it echoes CRLF when it sees a linefeed character as well as a carriage return. This fixes the issue with the INPUT command and the same issue with LINE INPUT command. I hope this hasn't broken anything else.

thank you, but i just get a (OLC) Black screen, no cursor

matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 8684
Posted: 06:32pm 02 Nov 2023      

Works fine for me. What was the last version you ran? Try deleting the options file.