Home
JAQForum Ver 24.01
Log In or Join  
Active Topics
Local Time 23:18 15 May 2026 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 V6.03.00 release candidates

     Page 7 of 7    
Author Message
Bleep

Guru

Joined: 09/01/2022
Location: United Kingdom
Posts: 795
Posted: 12:29pm 13 May 2026
Copy link to clipboard 
Print this post

Hi Peter,
I fully realise this isn't much to go on, but incase anyone else reports a problem, I've had 2 occurances of a crash requiring a flash nuke to get out of. This was using B5 on a USB LCD ST7796S.
Each time I was running a version of the Recursive Mandelbrot attached, I saw a brief flash of heap out of memory or similar then a reboot, displaying the first 3 lines of the normal boot up, then "PC=100055EA  LR=100052A9" followed by an immediate reboot, but each subsiquent itteration I only get the "PC=100055EA  LR=100052A9", swiftly followed by a reboot....
I've attached a zip with two versions of Mandelbrot, one standard, one recursive. The recursive is almost twice as fast, I did it just to see if it would be and quicker in Basic. :)
Kevin

mandelbrot.zip
 
Frank N. Furter
Guru

Joined: 28/05/2012
Location: Germany
Posts: 1094
Posted: 04:36pm 13 May 2026
Copy link to clipboard 
Print this post

...now a new error with the same program. The program is called "demo.bas" and was working perfectly until recently. You can download it here:

https://github.com/guidouil/PicoCalcStuffs

With the latest version, PicoMiteRP2350V6.03.00RC7, the program now crashes with this error:

Error: Cannot find label (F2 line 358)


Line 358 reads:
restore edges

...with
edges:
 data 0,1, 0,2, 0,4, 1,3, 1,5, 2,3
 data 2,6, 3,7, 4,5, 4,6, 5,7, 6,7
in same sub.

In addition, the following will now always be displayed with GFXterm:
B:/> [?7h


Frank
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 11318
Posted: 04:49pm 13 May 2026
Copy link to clipboard 
Print this post

Can't do anything until the weekend so revert to an older version of necessary.
 
Frank N. Furter
Guru

Joined: 28/05/2012
Location: Germany
Posts: 1094
Posted: 04:51pm 13 May 2026
Copy link to clipboard 
Print this post

  toml_12953 said  
  Frank N. Furter said  
  toml_12953 said  Is there any way to change the width of listings on a PicoCalc (40-column LCD display)? I have an 80-column serial printer and it's a waste to have 40-column listings come out. I'd like to leave PRINT as is but be able to change the output of the LIST command only. Maybe even have LLIST and LPRINT commands that print to a serial port rather than the console.


How did you connect the printer to the PicoCalc???

Frank


It's an Oki Microline 184 Turbo serial printer connected to serial port 1 on pins GP0 and GP1 at 19200 baud. I use a TTL to RS-232 converter (about $3.00 USD). I had an Epson receipt printer on there at 115200 baud (you should see the paper fly out of that thing!) but wanted a standard paper printer rather than thermal paper.


Try doing the following - Create a file with the following content:
Font 8
CLS RGB(0,0,0)
and launch the program using the built-in file manager.
That changes the font size to "small" for me. The file manager and any LIST I open also appear in small text.

This program
Font 1
CLS RGB(0,0,0)
undoes everything. It must also be launched from the file manager.
I hope that Peter won't change the way the system works...  

Frank
Edited 2026-05-14 02:53 by Frank N. Furter
 
Frank N. Furter
Guru

Joined: 28/05/2012
Location: Germany
Posts: 1094
Posted: 07:42pm 13 May 2026
Copy link to clipboard 
Print this post

  matherp said  Can't do anything until the weekend so revert to an older version of necessary.


No problem!!! I just wanted to point that out.

Frank
 
toml_12953
Guru

Joined: 13/02/2015
Location: United States
Posts: 624
Posted: 04:15am 14 May 2026
Copy link to clipboard 
Print this post

  Frank N. Furter said  [

Try doing the following - Create a file with the following content:
Font 8
CLS RGB(0,0,0)
and launch the program using the built-in file manager.
That changes the font size to "small" for me. The file manager and any LIST I open also appear in small text.

This program
Font 1
CLS RGB(0,0,0)
undoes everything. It must also be launched from the file manager.
I hope that Peter won't change the way the system works...  

Frank


Works great. Thanks! I never would've thought of reducing the font size to eliminate the CRLF at 40 columns.

Footnote added 2026-05-14 18:25 by toml_12953
BTW, here's the subroutine I use:

SUB LLIST(fname$)
FONT 8
OPTION console serial
IF fname$="" THEN
 LIST all
ELSE
 LIST all fname$
END IF
PRINT :PRINT :PRINT :PRINT :PRINT
PRINT :PRINT
FONT 1
OPTION console screen
END SUB
 
karlelch

Guru

Joined: 30/10/2014
Location: Germany
Posts: 327
Posted: 07:11am 14 May 2026
Copy link to clipboard 
Print this post

Hi,

I have a question regarding LIST COLLISIONS. For my latest robot program (which uses a library), I get:
> list collisions
LOCAL: none
GLOBAL bucket 10:
 VL53_I2C_CHUNK
 TOF.PROCESSMSK
 R.SENDTELEMETRYV
GLOBAL bucket 29:
 DEBUG_VERBOSE
 J
GLOBAL bucket 47:
 VL53_BUF_SIZE
 TELE_N_CMD_BYTES
GLOBAL bucket 61:
 IS_RUNNING
 R._UPDATEFACEP_N
GLOBAL bucket 63:
 VL53_I2C_FREQ
 VL
GLOBAL bucket 65:
 VL53_I2C_SDA
 USE_REMOTE_KB
GLOBAL bucket 84:
 PIN_DRV_MA_EN
 CMD_STOP
GLOBAL bucket 85:
 VL53_I2C_SCL
 CMD_POWERDOWN
GLOBAL bucket 119:
 SHOW_TOF_DATA
 SELF
GLOBAL bucket 203:
 TOF_SINC_FREQ
 R.SENDTELEMETRYSOUT
GLOBAL bucket 256:
 VL53_FW_PART1_SIZE
 TOF.PROCESSPRAV
GLOBAL bucket 273:
 C_BKG
 TOF_PARAMS
GLOBAL bucket 282:
 VL53_I2C_ADDR
 TOF.PROCESSRAV
GLOBAL bucket 314:
 VEL_TURN
 R._LOGMAXLN
GLOBAL bucket 339:
 PIN_DRV_MA_PH
 VL53.UPDATE_DATAPBH
GLOBAL bucket 353:
 VL53_RES_4X4
 TELE_DATA_OFFS
GLOBAL bucket 370:
 SHOW_SPLASH
 TOF.PROCESSPDST
GLOBAL bucket 393:
 RMP_MAX_STEPS
 PIN_COM2_TX
GLOBAL bucket 420:
 VL53_REG_CMD_STAT
 PIN_BAT
 R._SERVICECALLBACKT_FACE
GLOBAL bucket 472:
 T_START
 TOF.PROCESSPPIX
GLOBAL bucket 499:
 VT_DEL_LEFT
 TOF.PROCESSN_RAV

If I want to reduce collisions, how do I do that? The the manual it says "Use this after a representative run to decide whether OPTION LOCAL VARIABLES n should be retuned, or whether a particular variable should be renamed to break a collision.". With OPTION LOCAL VARIABLES n I can reduce the number of collisions to approx. half, but what can I do with renaming? The variable names are so different, how would I need to rename them?

This is more out of curiosity; my program runs currently fast enough.

Thanks
Thomas
 
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 8826
Posted: 07:31am 14 May 2026
Copy link to clipboard 
Print this post

Microline 184? Wow... that brings back memories.
My second printer was the OKI Microline 80. I still have it somewhere. I even have the stand to take teletype rolls! I don't think I ever used that though.
Mick

Zilog Inside! nascom.info for Nascom & Gemini
Preliminary MMBasic docs & my PCB designs
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 11318
Posted: 07:53am 14 May 2026
Copy link to clipboard 
Print this post

Just make any small change to a variable name e.g. add x to the end. Any change will change the hash key. However, if the variable table is nearly full you may then get a different hash collision.
 
ville56
Guru

Joined: 08/06/2022
Location: Austria
Posts: 478
Posted: 09:05am 14 May 2026
Copy link to clipboard 
Print this post

@Peter,

is there a possibility to change the behaviour of WEB NTP a litte bit?

If if the optional NTP-address parameter is empty
 e.g. ntp_ip = ""
      WEB NTP 1,ntp_ip,1000
it would be great that instead of the error "Error : Failed to find NTP address" it would consider the parameter as missing like in WEB NTP 1,,1000 which works. This would make the choice in a program easier if it switches between a specified NTP and a default one.

thanks,
Gerald
                                                                 
73 de OE1HGA, Gerald
 
ville56
Guru

Joined: 08/06/2022
Location: Austria
Posts: 478
Posted: 10:45am 14 May 2026
Copy link to clipboard 
Print this post

@Peter,

sorry, but ... once again to the WIFI connect problem with Fritzboxes.

Is it possible to set the mm.errno and mm.errmsg$ variables straight after startup and a failed wifi connect to some value other than 0 and ""?

The reason is that if you specifiy the full
 OPTION WIFI "SSID","passwd","nodename","IP","netmask","gateway","country"
a mm.info(ip address) resolves to the ip address set in the option, regardless if the connect succeeded or not.
If the options specified are just
 OPTION WIFI "SSID","passwd","nodename","country"
mm.info(ip address) resolves either to the ip received via dhcp or "0.0.0.0". In that case it is possible to decide whether the connect failed or not.

In both cases you get an errormessage at the console. So at least the firmware knows that the connect did fail but it is not reported into the mmbasic environment.

Gerald
                                                                 
73 de OE1HGA, Gerald
 
     Page 7 of 7    
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 2026