Home
JAQForum Ver 24.01
Log In or Join  
Active Topics
Local Time 02:20 20 Oct 2025 Privacy Policy
Jump to

Notice. New forum software under development. It's going to miss a few functions and look a bit ugly for a while, but I'm working on it full time now as the old forum was too unstable. Couple days, all good. If you notice any issues, please contact me.

Forum Index : Microcontroller and PC projects : MMBasic for Windows - betas

     Page 30 of 30    
Author Message
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 10487
Posted: 11:40pm 23 Dec 2023
Copy link to clipboard 
Print this post

It is a limitation, not a bug,  live with it or use something else
 
panky

Guru

Joined: 02/10/2012
Location: Australia
Posts: 1116
Posted: 03:12am 24 Dec 2023
Copy link to clipboard 
Print this post

Without trying to flog a dead horse, the area of interest appears to be the asynchronous interaction between the underlying OS (serial hardware handler and Windows itself), OLC and MMBasic. That is, if you do any form of serial read and IMMEDIATELY follow with a serial close, confusion reigns!

Two solutions/workarounds:-

1. Don't open a comport, do a read then immediately close the com port in any loop (not recommended anyway as all you are doing is wasting system resources in repetitively creating buffers then freeing them);

2. If you MUST do 1 above out of sheer stubbornness, put a PAUSE 1 immediately above the CLOSE statement and live with the performance hit ( on my i7 laptop, a pause of 500uS appears to be the crossover between conflict (lockup) and reliable operation).

The ' works with MMBasic for DOS ' overlooks the complexity added through OLC.

Sorry to butt in Peter but I'm with you - live with it!

Doug.
... almost all of the Maximites, the MicromMites, the MM Extremes, the ArmMites, the PicoMite and loving it!
 
Turbo46

Guru

Joined: 24/12/2017
Location: Australia
Posts: 1645
Posted: 03:42am 24 Dec 2023
Copy link to clipboard 
Print this post

  Quote  Without trying to flog a dead horse

I have put my whip away I can live with it and will let sleeping dogs lie.  

I was just a bit frustrated when people were trying something different and claiming not to to find a problem. It IS a bit of a shock when MMB4W just crashes with no warning.

To try to avoid another kerfuffle over this happening again to someone else in the future, is it worth putting something in the manual to describe the cause and the work around(s)?

Bill
Keep safe. Live long and prosper.
 
phil99

Guru

Joined: 11/02/2018
Location: Australia
Posts: 2781
Posted: 10:08am 24 Dec 2023
Copy link to clipboard 
Print this post

  Quote  when people were trying something different and claiming not to to find a problem.

My apologies for that.
In my blissful ignorance I was unaware of the difference, imagining serial data is all the same. If it's shoved in one end and comes out the other, job done.
After messing about with it on this I see there is more to it.
 
panky

Guru

Joined: 02/10/2012
Location: Australia
Posts: 1116
Posted: 01:10am 25 Dec 2023
Copy link to clipboard 
Print this post

  Turbo46 said  
To try to avoid another kerfuffle over this happening again to someone else in the future, is it worth putting something in the manual to describe the cause and the work around(s)?
Bill


Cheers Bill,

Will put a note in Appendix A on serial.

Regards,
Doug.
... almost all of the Maximites, the MicromMites, the MM Extremes, the ArmMites, the PicoMite and loving it!
 
Turbo46

Guru

Joined: 24/12/2017
Location: Australia
Posts: 1645
Posted: 06:48pm 25 Dec 2023
Copy link to clipboard 
Print this post

Thanks Doug and Phil,

I hope you enjoyed Christmas Day.

Bill
Keep safe. Live long and prosper.
 
panky

Guru

Joined: 02/10/2012
Location: Australia
Posts: 1116
Posted: 04:43am 19 Jan 2024
Copy link to clipboard 
Print this post

OPTION CONTROLS appears not to be implemented?
Default appears to be 80 but I need a few more
Is this an omission or not implemented in 5.07.03b23?
... almost all of the Maximites, the MicromMites, the MM Extremes, the ArmMites, the PicoMite and loving it!
 
phil99

Guru

Joined: 11/02/2018
Location: Australia
Posts: 2781
Posted: 05:01am 19 Jan 2024
Copy link to clipboard 
Print this post

OPTION GUI CONTROLS perhaps?

Edit.
No that isn't in the manual either.
Edited 2024-01-19 15:04 by phil99
 
Turbo46

Guru

Joined: 24/12/2017
Location: Australia
Posts: 1645
Posted: 06:13am 19 Jan 2024
Copy link to clipboard 
Print this post

Is this what you want?

  The GUI Manual said  The memory required by the GUI controls must be allocated by using the command OPTION
MAXCTRLS n. Typically you would use the command: OPTION MAXCTRLS 100
This will set the maximum number of controls that you can define to 100. This option is permanent (ie,
it will be remembered on power down). By default the maximum number of controls is set to zero, in
this case the GUI features are not available and no memory will be used


Bill
Keep safe. Live long and prosper.
 
panky

Guru

Joined: 02/10/2012
Location: Australia
Posts: 1116
Posted: 04:56am 20 Jan 2024
Copy link to clipboard 
Print this post

Thanks guys, had a look through the source and I think it defaults to 1000 in MMB4W and there is no OPTION to change it - as memory is not an issue in a PC, there is no need to scrimp on memory usage by changing the value.
Cheers,
Doug.
... almost all of the Maximites, the MicromMites, the MM Extremes, the ArmMites, the PicoMite and loving it!
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 10487
Posted: 08:31am 02 Oct 2025
Copy link to clipboard 
Print this post

V5.07.03b25


MMB4WV5.07.03b25.zip


Includes the new TRIM$ function

TRIM$(source$ [,mask$] [,where/where$])


This function can remove characters from the beginning or end of a string or both
source$ is the input string
mask$ is a string containing a list of character to be removed. If omitted it defaults to space
where/where$ can be L, R, or B or a string beginning with L, R, or B to specify characters should be removed from the left of the source, the right of the source or both. If omitted defaults to L

Enhancement to 3D modelling

Rendering of the 3D object works by Painters algorithm. This works by sorting the faces and drawing those further away first. In addition the MMBasic firmware supports "back face culling". This doesn't draw faces that are pointing away from the camera. In order to sort the faces the current MMbasic code uses the Z axis position of the face centroid. This works in many situations but in some 3D models it is better to use the furthest vertex and sort on that. I've added that as an option to DRAW3D SHOW and DRAW3D WRITE
DRAW3D SHOW n, x, y, z [,nocull][,usefurthest]
DRAW3D WRITE n, x, y, z [,nocull][,usefurthest]



set 1 to use the furthest vertex and zero (default) to use the centroid.
Edited 2025-10-02 18:32 by matherp
 
phil99

Guru

Joined: 11/02/2018
Location: Australia
Posts: 2781
Posted: 01:42am 03 Oct 2025
Copy link to clipboard 
Print this post

On Win10 are any special Windows settings needed for b25?
When double clicking the .exe the first window opens and the second tries to open then both vanish. No error message from Windows.
Running as admin. makes no difference.

b23 and b24 run ok.
 
Geoffg

Guru

Joined: 06/06/2011
Location: Australia
Posts: 3307
Posted: 02:34am 03 Oct 2025
Copy link to clipboard 
Print this post

Yes, exactly the same for me on Win 11.

Geoff
Geoff Graham - http://geoffg.net
 
TassyJim

Guru

Joined: 07/08/2011
Location: Australia
Posts: 6324
Posted: 02:55am 03 Oct 2025
Copy link to clipboard 
Print this post

Opens OK for me on W11 but opens then closes immediately on W10
I tried updating the MSVCRT but that didn't help.

Edit: Also runs OK on my W11 laptop.

Jim

Edit 2:
Windows event log:

Faulting application name: MMBasic.exe, version: 0.0.0.0, time stamp: 0x68dd6300
Faulting module name: MSVCP140.dll, version: 14.24.28127.4, time stamp: 0x5d8e68c4
Exception code: 0xc0000005
Fault offset: 0x00017817
Faulting process ID: 0x143c
Faulting application start time: 0x01dc3412c73c1074
Faulting application path: C:\apps\mmbasic\MMBasic.exe
Faulting module path: C:\WINDOWS\SYSTEM32\MSVCP140.dll
Report ID: 75e9ee34-d88f-4103-a337-aea900278b60
Faulting package full name:
Faulting package-relative application ID:

Edit 3:

I installed the latest VC runtime x86 version and this time, the main MMB4W window opens and appears to be alive.
It give the FPS which varies but no sign-on banner and no program output.
Edited 2025-10-03 14:41 by TassyJim
VK7JH
MMedit
 
disco4now

Guru

Joined: 18/12/2014
Location: Australia
Posts: 1036
Posted: 05:16am 03 Oct 2025
Copy link to clipboard 
Print this post

OK on my win11 and win10. Both using default  mode 9.
F4 H7FotSF4xGT
 
phil99

Guru

Joined: 11/02/2018
Location: Australia
Posts: 2781
Posted: 07:24am 03 Oct 2025
Copy link to clipboard 
Print this post

Thanks Jim, followed your lead and this fixed it.
https://aka.ms/vs/17/release/vc_redist.x86.exe

Elite Ships COBRA_MK_3 3D demo runs well.
Edited 2025-10-03 17:40 by phil99
 
Geoffg

Guru

Joined: 06/06/2011
Location: Australia
Posts: 3307
Posted: 08:29am 03 Oct 2025
Copy link to clipboard 
Print this post

  phil99 said  Thanks Jim, followed your lead and this fixed it.
https://aka.ms/vs/17/release/vc_redist.x86.exe

Thanks, that did it!

Geoff
Geoff Graham - http://geoffg.net
 
     Page 30 of 30    
Print this page


To reply to this topic, you need to log in.

The Back Shed's forum code is written, and hosted, in Australia.
© JAQ Software 2025