Home
JAQForum Ver 24.01
Log In or Join  
Active Topics
Local Time 07:33 27 Nov 2024 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 7 of 30    
Author Message
thwill

Guru

Joined: 16/09/2019
Location: United Kingdom
Posts: 4041
Posted: 01:55pm 07 Mar 2022
Copy link to clipboard 
Print this post

Sorry to drag this thread off topic again, but I owe Bill an answer.

  Turbo46 said  Hi Tom, I do understand that and Peter's READ SAVE/RESTORE should help if you only need one level of READ SAVE/RESTORE


Actually in the latest iteration the data pointers are saved/restored to a stack (not sure how many elements) so multiple levels are now supported. Thank you Peter ... I still think my PEEK/POKE solution provides more flexibility with less code .

  Turbo46 said  
  thwill said  3. Prior to the latest changes if you want to use my subroutine whilst iterating through DATA of your own you have to go through a "song and dance" involving RESTORE and labels in order to maintain your place in your data.

By that are you saying that it could be done using the existing commands? Is it really a 'song and dance'?


Labelling every line of DATA (or even every piece) and being rigorous about the use of RESTORE because a 3rd party subroutine may or may not mess with the data pointer is a 'song and dance' in my book, even if it is possible. Note also that either MMBasic is storing a map of labels in which case there is a limit to the number of labels any program can contain or a label lookup is a linear search through the  program which is slow. I think the CMM2 and MMB4W are both the former case.

  Turbo46 said  I have looked at your crypt.inc file, but that is too much for me to follow.


That doesn't suprise me Bill. BASIC isn't really suited for the bit/byte twiddling required to implement encryption algorithms so that code is basically just a mess of MEMORY SET|COPY, PEEK and POKE commands. This is one of those cases where code written in C would be clearer than code written in BASIC. Anyway, other than it being the code that revealed the problem with DATA it doesn't really add to the discussion.

Best wishes,

Tom
Edited 2022-03-08 00:05 by thwill
Game*Mite, CMM2 Welcome Tape, Creaky old text adventures
 
Plasmamac

Guru

Joined: 31/01/2019
Location: Germany
Posts: 554
Posted: 03:27pm 07 Mar 2022
Copy link to clipboard 
Print this post

@ matherp

I wonder what dll  are needed to runing mmb4w?
I testet up to 30 win pc in the last time without problems but
Frank N Furter shows a Problem. So iam curious , can you sort it out ?
Plasma
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 9122
Posted: 03:39pm 07 Mar 2022
Copy link to clipboard 
Print this post

winmm..dll
user32.dll
gdi32.dll
opengl32.dll

The problem one based on his report is winmm.dll. All the others were needed to run versions he said worked
 
Frank N. Furter
Guru

Joined: 28/05/2012
Location: Germany
Posts: 830
Posted: 07:41am 08 Mar 2022
Copy link to clipboard 
Print this post

Can anyone send me these DLL's?

THANKS!!!

Frank
 
thwill

Guru

Joined: 16/09/2019
Location: United Kingdom
Posts: 4041
Posted: 10:03am 08 Mar 2022
Copy link to clipboard 
Print this post

Starting to look pretty good with b4:



Notes:

1. I'm currently focusing on getting them all to run without crapping out ... which is what tst_mminfo is currently doing due to no OPTION SEARCH PATH being implemented.

2. Some of the FAILures are almost certainly false positives.

3. This is NOT a comprehensive set of unit-tests.

Two for today before I do some "real work":

1. Is OPTION SEARCH PATH not supported in MMB4W ? Will it be ?

2. Try this:
> files "a\b\c"
Not found: C:\home-thwill\git_sandbox\github\a\b\\c

Note the double \\ before c.

Best wishes,

Tom
Edited 2022-03-08 20:18 by thwill
Game*Mite, CMM2 Welcome Tape, Creaky old text adventures
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 9122
Posted: 10:26am 08 Mar 2022
Copy link to clipboard 
Print this post

  Quote  Not found: C:\home-thwill\git_sandbox\github\a\b\\c


Just an output formatting error, search is correct - will fix

  Quote   Is OPTION SEARCH PATH not supported in MMB4W ? Will it be ?


Wasn't going to given there is a full OS available to MMbasic
 
thwill

Guru

Joined: 16/09/2019
Location: United Kingdom
Posts: 4041
Posted: 10:47am 08 Mar 2022
Copy link to clipboard 
Print this post

Hi Peter,

1.
  matherp said  
  Quote   Is OPTION SEARCH PATH not supported in MMB4W ? Will it be ?

Wasn't going to given there is a full OS available to MMbasic


Your rodeo Peter. I think it should be implemented and I recently did so for MMB4L. As an argument if it were implemented I could then setup MMB4W so I could just type "*sptest" wherever I was in the file-system to run my unit-test suite recursively from that point. YMMV, but if you do implement it then please also implement the corresponding MM.INFO$(OPTION SEARCH PATH).

2. You appear to have implemented OPTION CONSOLE BOTH|CONSOLE|SERIAL without telling us exactly what it is implemented to do - or did I miss that post.

3. Here's a bug for you, fairly sure we saw it on either the CMM2 or PicoMite previously:

> list "timer-bug.bas"
Option Base 0
Option Default None
Option Explicit On
Option Console Both

Dim old_timer% = Timer
Dim i%
For i% = 0 To 200 Step 10
 Timer = i%
 Print Timer, i%
Next

> run "timer-bug.bas"
0.0005  0
0.0009  10
0.0006  20
0.0005  30
0.0005  40
0.0005  50
0.0005  60
0.0009  70
0.0006  80
0.0005  90
0.0005  100
0.0005  110
0.0005  120
0.0006  130
0.0006  140
0.0005  150


Best wishes,

Tom
Game*Mite, CMM2 Welcome Tape, Creaky old text adventures
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 9122
Posted: 11:29am 08 Mar 2022
Copy link to clipboard 
Print this post

  Quote  You appear to have implemented OPTION CONSOLE BOTH|CONSOLE|SERIAL without telling us exactly what it is implemented to do - or did I miss that post.

I did what you suggested

  Quote  Here's a bug for you, fairly sure we saw it on either the CMM2 or PicoMite previously:


What is the bug? The timings will depend on other activity. The bug on CMM2 was that it wasn't monotonically increasing

How many file commands have you implmented the search path for? just RUN?
 
thwill

Guru

Joined: 16/09/2019
Location: United Kingdom
Posts: 4041
Posted: 11:46am 08 Mar 2022
Copy link to clipboard 
Print this post

  matherp said  
  Quote  You appear to have implemented OPTION CONSOLE BOTH|CONSOLE|SERIAL without telling us exactly what it is implemented to do - or did I miss that post.

I did what you suggested


Thanks, much appreciated, another thing I need to find time to test - too many balls in the air at the moment so I'm concentrating my efforts on the unit-tests as issues they reveal are the easiest to reproduce and report.

For reporting bugs I *think* it would be helpful if OPTION CONSOLE BOTH was available outside a program (I notice it seems to persist when a program sets it and then exits). However YYMV.

  matherp said  
  Quote  Here's a bug for you, fairly sure we saw it on either the CMM2 or PicoMite previously:


What is the bug? The timings will depend on other activity. The bug on CMM2 was that it wasn't monotonically increasing


On line 9 the TIMER is set, on line 10 the TIMER is printed.

It appears the TIMER has not actually been set as there is no relationship between the two numbers .

  matherp said  How many file commands have you implmented the search path for? just RUN?


RUN and LOAD. I know MMB4W doesn't have the latter and I'm not advocating it one way or the other.

Best wishes,

Tom
Game*Mite, CMM2 Welcome Tape, Creaky old text adventures
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 9122
Posted: 12:05pm 08 Mar 2022
Copy link to clipboard 
Print this post

  Quote  It appears the TIMER has not actually been set as there is no relationship between the two numbers

Sorry missed the point of the test

Here is the bug

int64_t offset= getinteger(++cmdline) / 1000 * frequency;


and here is the fix

int64_t offset= getinteger(++cmdline) * frequency / 1000;


  Quote  For reporting bugs I *think* it would be helpful if OPTION CONSOLE BOTH was available outside a program


Yes that is OK, also OPTION CONSOLE SCREEN, but not OPTION CONSOLE SERIAL
 
thwill

Guru

Joined: 16/09/2019
Location: United Kingdom
Posts: 4041
Posted: 12:12pm 08 Mar 2022
Copy link to clipboard 
Print this post

  matherp said  Yes that is OK, also OPTION CONSOLE SCREEN, but not OPTION CONSOLE SERIAL


Agreed, you'd be a bit stuck if OPTION CONSOLE SERIAL persisted ... I assume you're already clearing that when a program exits ... ideally to OPTION CONSOLE BOTH as that is the nearest compatible but YMMV.

Best wishes,

Tom
Game*Mite, CMM2 Welcome Tape, Creaky old text adventures
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 9122
Posted: 02:31pm 08 Mar 2022
Copy link to clipboard 
Print this post

V5.07.03b5


MMBasic.zip


Fixes bug in TIMER=
Implements OPTION SEARCH PATH
Implements MM.INFO(OPTION SEARCH PATH)
Search path is used if file not found in default path in RUN and LOAD
OPTION DEFAULT PATH and OPTION SEARCH PATH now both accept relative paths to the current working directory but will save a full pathname
 
thwill

Guru

Joined: 16/09/2019
Location: United Kingdom
Posts: 4041
Posted: 02:34pm 08 Mar 2022
Copy link to clipboard 
Print this post

  matherp said  V5.07.03b5


Thank you Peter. More feedback from me tomorrow morning.

Enjoy the rest of your day,

Tom
Game*Mite, CMM2 Welcome Tape, Creaky old text adventures
 
Plasmamac

Guru

Joined: 31/01/2019
Location: Germany
Posts: 554
Posted: 03:31pm 08 Mar 2022
Copy link to clipboard 
Print this post

@Frank n.Furter

dll.zip


my win 10 64 bit dll files / from system32 folder
gtx
Edited 2022-03-09 01:32 by Plasmamac
Plasma
 
Michal
Senior Member

Joined: 02/02/2022
Location: Poland
Posts: 123
Posted: 03:41pm 08 Mar 2022
Copy link to clipboard 
Print this post

  Plasmamac said  @Frank n.Furter

dll.zip


my win 10 64 bit dll files / from system32 folder
gtx

MMBasic for Widdows is a 32-bit application.

Michal
 
Frank N. Furter
Guru

Joined: 28/05/2012
Location: Germany
Posts: 830
Posted: 04:24pm 08 Mar 2022
Copy link to clipboard 
Print this post

@Plasmamac:

Thank you very much - I copied your files to my MMBasic folder - unfortunately no change...  

Frank
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 9122
Posted: 04:26pm 08 Mar 2022
Copy link to clipboard 
Print this post

  Quote  I copied your files to my MMBasic folder

You need to copy them to Windows/system32

What CPU do you have?
Edited 2022-03-09 02:31 by matherp
 
Michal
Senior Member

Joined: 02/02/2022
Location: Poland
Posts: 123
Posted: 05:24pm 08 Mar 2022
Copy link to clipboard 
Print this post

The 32-bit libraries(in Windows 64bit) are located in Windows\SysWOW64.

Michal
Edited 2022-03-09 03:26 by Michal
 
Plasmamac

Guru

Joined: 31/01/2019
Location: Germany
Posts: 554
Posted: 07:32pm 08 Mar 2022
Copy link to clipboard 
Print this post


Plasma
 
Rado
Regular Member

Joined: 27/11/2020
Location: Croatia
Posts: 59
Posted: 08:48pm 08 Mar 2022
Copy link to clipboard 
Print this post

Just got some time to play with this (03.b5), and it seems that there's something with fonts: in command line, as soon as I enter something invalid the font reverses to default:

 
     Page 7 of 30    
Print this page
© JAQ Software 2024