Menu
JAQForum Ver 19.10.27

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

   Page 6 of 30    
Posted: 03:24pm
06 Mar 2022
Copy link to clipboard
matherp
Guru

V5.07.03b4


MMBasic.zip

Should significantly reduce system load when the screen is not being changed and also during pause statements as long as no interrupts are set.
 
Posted: 06:32pm
06 Mar 2022
Copy link to clipboard
Michal
Senior Member

Excellent

Michal
 
Posted: 06:57pm
06 Mar 2022
Copy link to clipboard
Volhout
Guru

@Peter

The efficiency increased significant. But you tuned it a bit to far, If you run the fft program and press "w" a few times slowly (do not repeat too fast) the graphics driver stops before it is finished drawing.




The top graph is drawn partially.Also some text is not drawn.
When you repeat the "w" fast and regular, the drawing completes. I guess you have an algorytm to sleep the drawing engine that could be tuned.

Volhout

P.S. this is MMBasic on Wine. Maybe this does not happen in W10/W11
Edited 2022-03-07 05:00 by Volhout
 
Posted: 09:23pm
06 Mar 2022
Copy link to clipboard
TassyJim
Guru


Likewise here on native Windows10
Switching to mode 10 seems to be the worst.



Jim
 
Posted: 10:16pm
06 Mar 2022
Copy link to clipboard
matherp
Guru

Does this fix it?


MMBasic.zip
 
Posted: 11:20pm
06 Mar 2022
Copy link to clipboard
TassyJim
Guru


Fixed it for me...
 
Posted: 07:41am
07 Mar 2022
Copy link to clipboard
Volhout
Guru

Yes Peter,

That fixed it for the FFT demo program, tested on Wine(linux) and W10.

Thanks

Volhout
 
Posted: 08:09am
07 Mar 2022
Copy link to clipboard
Volhout
Guru

@Peter,

I am trying to find out why Wolf3d on CMM2 and MMB4W is behaves different.
At first I thought the Left Control key (to fire a weapon) was not handled correctly in MMB4W, but that seems to work on W10 (not sure about Wine/linux though).

I do get a (low volume) "shot" sound, but on CMM2 the gun makes a small movement while firing. This seems not happening on MMB4W. I have to double check tonight (MMB4W on W10 in the office, CMM2 at home).

How does sound volume work on MMB4W. There is an individual volume in each play command (i.e. "play sound"), and then there is a "play volume L,R" command. Is this similar of individual gain settings for the different players, and a master volume ?

I guess this is a RTFM question .... (RTFM = Read The F*cking Manual)..

And then there is the issue of the face in the lower part of the screen. The eyes move at a frightfull speed. Maybe that is poor programming from Mauro, who is runnign at the top speed of the CMM2, and MMB4W is much faster on a recent PC.
Edited 2022-03-07 18:11 by Volhout
 
Posted: 08:35am
07 Mar 2022
Copy link to clipboard
Frank N. Furter
Guru

I finally got around to testing MMBasic for Windows.

The last versions that work for me (under WIN10) are 5.07.03a1 and 5.07.03a. With all versions after that a white and a black window opens and closes again after a few seconds without any error message - that's it...
All beta versions do not work for me (same behavior).

   

Frank
 
Posted: 08:41am
07 Mar 2022
Copy link to clipboard
matherp
Guru

  Quote  The last versions that work for me (under WIN10) are 5.07.03a1 and 5.07.03a.


All versions after a3 implement sound support. It sounds like you are missing the 32-bit winmm.dll or something similar

  Quote  How does sound volume work on MMB4W.

Should be the same as CMM2. The only difference is that it implements a logarithmic volume control which is also now in CMM2 but post-dates Mauro's code

  Quote  Maybe that is poor programming from Mauro,

Ouch Mauro controls the overall frame rate but probably not small movements. The gun it probably moving between frames, likewise the eyes
 
Posted: 10:25am
07 Mar 2022
Copy link to clipboard
Frank N. Furter
Guru

Hmm, winmm.dll is on my system - but it takes longer until the windows just close when I copy the DLL to MMBasic for Windows...

Too bad !!!  

Frank
 
Posted: 10:28am
07 Mar 2022
Copy link to clipboard
thwill
Guru


Good morning Peter,

Thanks to your recent changes I've almost got my unit-test framework up and running and things are mostly green.

However here's a blocker for running the entire suite in a single command.

Setup:

1. MKDIR "execute-run-test"
2. CHDIR "execute-run-test"
3. Create a file "one.bas" in this directory:
Print "One"
Execute "RUN " + Chr$(34) + "two.bas" + Chr$(34)

4. Create a file "two.bas" in this directory:
Print "Two"


Now observe the following:



On the CMM2 this would have worked and output:
One
Two


This is because on the CMM2 when you run one program from another the relative path to the new program is "correctly" resolved from the directory containing the running program, whereas on MMB4W it looks like it is resolved from the current working directory.

EDIT: Though for the life of me I can't make head or tail of the CMM2's file opening code, does your keyboard only have the letters i, p & q on it

Best wishes,

Tom
Edited 2022-03-07 21:07 by thwill
 
Posted: 10:50am
07 Mar 2022
Copy link to clipboard
Volhout
Guru

  matherp said  
Ouch Mauro controls the overall frame rate but probably not small movements. The gun it probably moving between frames, likewise the eyes


Sorry, that wasn't meant to hurt (neither you neither Mauro), just to say that it is work in progress, and this may not be finished.

Volhout
 
Posted: 11:14am
07 Mar 2022
Copy link to clipboard
thwill
Guru


  thwill said  On the CMM2 this would have worked and output:
One
Two


This is because on the CMM2 when you run one program from another the relative path to the new program is "correctly" resolved from the directory containing the running program, whereas on MMB4W it looks like it is resolved from the current working directory.


Ignore me (for the moment), I may be wrong about this as it seems to fail in the same way on the CMM2 ... something else must be in play.

EDIT: It honestly looks like I "made this sh*t up" in MMB4L, very strange. I wonder how/why ... I must have assumed it was the behaviour of the CMM2 and just implemented it. I guess I'm not sleeping enough .

Best wishes,

Tom
Edited 2022-03-07 21:30 by thwill
 
Posted: 11:34am
07 Mar 2022
Copy link to clipboard
thwill
Guru


Back in the land of sanity (I hope), is MM.INFO$(PATH) not implemented ?

Best wishes,

Tom
 
Posted: 12:11pm
07 Mar 2022
Copy link to clipboard
Pluto
Guru

MM.INFO$(DIRECTORY) may help??
 
Posted: 12:14pm
07 Mar 2022
Copy link to clipboard
thwill
Guru


  Pluto said  MM.INFO$(DIRECTORY) may help??


I'm afraid not.

MM.INFO$(DIRECTORY) returns the current working directory (like CWD$ but not identical in all circumstances).

MM.INFO$(PATH) retuns the directory containing the currently running program, i.e. the parent of MM.INFO$(CURRENT).

Best wishes,

Tom
Edited 2022-03-07 22:50 by thwill
 
Posted: 01:13pm
07 Mar 2022
Copy link to clipboard
matherp
Guru

mm.info(current) gives the current program with the full pathname. If I implement mm.info(path) do you want the final "\"?
 
Posted: 01:25pm
07 Mar 2022
Copy link to clipboard
thwill
Guru


  matherp said  mm.info(current) gives the current program with the full pathname. If I implement mm.info(path) do you want the final "\"?


Yes please Peter, because that is what the CMM2 does.

Best wishes,

Tom
 
Posted: 01:48pm
07 Mar 2022
Copy link to clipboard
matherp
Guru

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