Home
JAQForum Ver 24.01
Log In or Join  
Active Topics
Local Time 04:54 29 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 : PicoMite/PicoMiteVGA/WebMite V5.07.07 release candidates

     Page 4 of 13    
Author Message
thwill

Guru

Joined: 16/09/2019
Location: United Kingdom
Posts: 4047
Posted: 08:40pm 17 Apr 2023
Copy link to clipboard 
Print this post

OK, there is one more this evening:

> ? Mm.Info(Exists Dir "/")
1
> ? Mm.Info(Exists Dir "\")
0
> ? Mm.Info(Exists Dir "A:/")
1
> ? Mm.Info(Exists Dir "A:\")
0
> ? Mm.Info(Exists Dir "C:/")
1
> ? Mm.Info(Exists Dir "C:\")
0


- Is it correct that "\" is not automatically converted ?
- Obviously there isn't a drive "C:"

Best wishes,

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

Guru

Joined: 16/09/2019
Location: United Kingdom
Posts: 4047
Posted: 06:18pm 18 Apr 2023
Copy link to clipboard 
Print this post

Has anyone else noticed a significant drop in performance of the PicoMiteVGA ? It's been some time since I last tested Lazer Cycle on it, but the game used to be pretty snappy at 2520000 and is now (RC4) only adequate at 3580000.



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

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 6810
Posted: 06:25pm 18 Apr 2023
Copy link to clipboard 
Print this post

I've not noticed, but then again I've not run anything that would need more than the default speed of RC4. Eliza and Super Star Trek are hardly demanding. :)
Mick

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

Guru

Joined: 04/06/2022
Location: Germany
Posts: 1115
Posted: 06:33pm 18 Apr 2023
Copy link to clipboard 
Print this post

  thwill said  Has anyone else noticed a significant drop in performance of the PicoMiteVGA ? It's been some time since I last tested Lazer Cycle on it, but the game used to be pretty snappy at 2520000 and is now (RC4) only adequate at 3580000.



Tom

I have 2 Picomites

PicoMiteVGA MMBasic Version 5.07.07RC4
and
PicoMiteVGA MMBasic Version 5.07.06

I noticed that PicoFrog on 5.07.07RC4 if it runs,  is much slower on 252000 than on the  5.07.06
'no comment
 
Volhout
Guru

Joined: 05/03/2018
Location: Netherlands
Posts: 4253
Posted: 06:52pm 18 Apr 2023
Copy link to clipboard 
Print this post

Peter made a change in the SPI memory speed to support non Raspberry clone boards.

Volhout
PicomiteVGA PETSCII ROBOTS
 
thwill

Guru

Joined: 16/09/2019
Location: United Kingdom
Posts: 4047
Posted: 07:54pm 18 Apr 2023
Copy link to clipboard 
Print this post

  Volhout said  Peter made a change in the SPI memory speed to support non Raspberry clone boards.


I don't recall that.

Whatever it is, it appears to have happened since b30 and is not PicoMite VGA specific, the performance on the regular PicoMite also appears to be significantly screwed.

I hope Peter hasn't expended all his magic.

Best wishes,

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

Guru

Joined: 16/09/2019
Location: United Kingdom
Posts: 4047
Posted: 08:02pm 18 Apr 2023
Copy link to clipboard 
Print this post

Are more cycles being consumed generating the higher PWM frequencies at higher cpuspeeds? I never had a chance to test the later betas in that flurry of PLAY SOUND activity.

Best wishes,

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

Joined: 05/03/2018
Location: Netherlands
Posts: 4253
Posted: 08:24pm 18 Apr 2023
Copy link to clipboard 
Print this post

There where clone boards that would not run higher than 200MHz. I suggested to try to lower the spi memory clock. Maybe the memory device speed was the culprit. This change was made in b24.

This may have caused the problem. And nobody confirmed it did fix the problem on the clone boards.

Maybe this can be reversed.

Peter? Please?

Volhout.
Edited 2023-04-19 06:50 by Volhout
PicomiteVGA PETSCII ROBOTS
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 9137
Posted: 09:08pm 18 Apr 2023
Copy link to clipboard 
Print this post

For normal processing (solar eclipse calculation) 5.07.07 is marginally faster that 5.07.06 on the Picomite and 10% slower on the VGA version due to memory savings.

If you are seeing bigger differences than that you need to identify the specific commands that are slower
 
thwill

Guru

Joined: 16/09/2019
Location: United Kingdom
Posts: 4047
Posted: 09:21pm 18 Apr 2023
Copy link to clipboard 
Print this post

  matherp said  If you are seeing bigger differences than that you need to identify the specific commands that are slower


I think it could easily be 30+% slower at the higher CPU speeds, and since we've seen it in Pico Frogger and Lazer Cycle but no-one has noticed elsewhere I'm suspicious of PLAY SOUND / PWM.

Otherwise, if you don't have any inspiration, then I suspect I will have to find the culprit by binary chop. I don't suppose you have backups of the betas, otherwise I'll have to re-build them from source .

Best wishes,

Tom
Edited 2023-04-19 07:27 by thwill
Game*Mite, CMM2 Welcome Tape, Creaky old text adventures
 
JohnS
Guru

Joined: 18/11/2011
Location: United Kingdom
Posts: 3815
Posted: 09:49pm 18 Apr 2023
Copy link to clipboard 
Print this post

  thwill said  I suspect I will have to find the culprit by binary chop. I don't suppose you have backups of the betas

I have quite a few. May well be "many".

If you can say which ones you need it would help avoid uploading them all!

Also, where to upload to?

John
Edited 2023-04-19 07:50 by JohnS
 
lizby
Guru

Joined: 17/05/2016
Location: United States
Posts: 3152
Posted: 10:31pm 18 Apr 2023
Copy link to clipboard 
Print this post

I have these if you know what you want (probably more on my old laptop)
  Quote  PicoMiteV5.07.07b11.uf2
PicoMiteV5.07.07b14.uf2
PicoMiteV5.07.07b15.uf2
PicoMiteV5.07.07b17.uf2
PicoMiteV5.07.07b18.uf2
PicoMiteV5.07.07b24.uf2
PicoMiteV5.07.07b25.uf2
PicoMiteV5.07.07b27.uf2
PicoMiteV5.07.07b28.uf2
PicoMiteV5.07.07b30.uf2
PicoMiteV5.07.07b31.uf2
PicoMiteV5.07.07b33.uf2
PicoMiteV5.07.07b34.uf2
PicoMiteV5.07.07RC2.uf2
PicoMiteVGAV5.07.07b11.uf2
PicoMiteVGAV5.07.07b14.uf2
PicoMiteVGAV5.07.07b15.uf2
PicoMiteVGAV5.07.07b17.uf2
PicoMiteVGAV5.07.07b18.uf2
PicoMiteVGAV5.07.07b19.uf2
PicoMiteVGAV5.07.07b20.uf2
PicoMiteVGAV5.07.07b21.uf2
PicoMiteVGAV5.07.07b23.uf2
PicoMiteVGAV5.07.07b24.uf2
PicoMiteVGAV5.07.07b25.uf2
PicoMiteVGAV5.07.07b27.uf2
PicoMiteVGAV5.07.07b28.uf2
PicoMiteVGAV5.07.07b30.uf2
PicoMiteVGAV5.07.07b31.uf2
PicoMiteVGAV5.07.07b33.uf2
PicoMiteVGAV5.07.07b34.uf2
PicoMiteVGAV50.7.07RC2.uf2
PicoMiteWebV5.07.07a10.uf2
PicoMiteWebV5.07.07a11.uf2
PicoMiteWebV5.07.07a12.uf2
PicoMiteWebV5.07.07a14.uf2
PicoMiteWebV5.07.07a16.uf2
PicoMiteWebV5.07.07a17.uf2
PicoMiteWebV5.07.07a18.uf2
PicoMiteWebV5.07.07a19.uf2
PicoMiteWebV5.07.07a20.uf2
PicoMiteWebV5.07.07a21.uf2
PicoMiteWebV5.07.07a23.uf2
PicoMiteWebV5.07.07a24.uf2
PicoMiteWebV5.07.07a25.uf2
PicoMiteWebV5.07.07a27.uf2
PicoMiteWebV5.07.07a28.uf2
PicoMiteWebV5.07.07a29.uf2
PicoMiteWebV5.07.07a4.uf2
PicoMiteWebV5.07.07a6.uf2
PicoMiteWebV5.07.07a7.uf2
PicoMiteWebV5.07.07b0.uf2
PicoMiteWebV5.07.07b1.uf2

PicoMite, Armmite F4, SensorKits, MMBasic Hardware, Games, etc. on fruitoftheshed
 
thwill

Guru

Joined: 16/09/2019
Location: United Kingdom
Posts: 4047
Posted: 10:44pm 18 Apr 2023
Copy link to clipboard 
Print this post

  lizby said  I have these if you know what you want (probably more on my old laptop)


Thanks Lance, but I think John is going to help me out.

Best wishes,

Tom
Game*Mite, CMM2 Welcome Tape, Creaky old text adventures
 
okwatts
Regular Member

Joined: 27/09/2022
Location: Canada
Posts: 59
Posted: 10:45pm 18 Apr 2023
Copy link to clipboard 
Print this post

For what it is worth I have been using this program as a test to run on various versions of computers as a means of benchmarking. This is adapted for MMBasic
This is for the default speeds might be more fair if set to 252MHz for all.
' Mandelbrot ASCII from BBCBasic Gordon Henderson
'Option EXPLICIT
'Option DEFAULT NONE
' A BASIC, ASCII MANDELBROT
 '
 ' This implementation copyright (c) 2019, Gordon Henderson
 '
 ' Permission to use/abuse anywhere for any purpose granted, but
 ' it comes with no warranty whatsoever. Good luck!
 '
  C$ = ".,'~=+:;[/<&?oxOX# " : Rem 'Pallet' Lightest to darkest...
  SO = 1 : Rem Set to 0 if your MID$() indexes from 0.
  MI = Len(C$)
  MX = 4
  LS = -2.0
  TP = 1.25
  XS = 2.5
  YS = -2.5
  W = 64
  H = 48
  SX = XS / W
  SY = YS / H
  Timer =0
  For Y = 0 To H
    CY = Y * SY + TP
    For X = 0 To W
      CX = X * SX + LS
      ZX = 0
      ZY = 0
      CC = SO
   notdone:   X2 = ZX * ZX
      Y2 = ZY * ZY
      If CC > MI Then GoTo printit
      If (X2 + Y2) > MX Then GoTo printit
      T = X2 - Y2 + CX
      ZY = 2 * ZX * ZY + CY
      ZX = T
      CC = CC + 1
      GoTo notdone
 printit:     Print Mid$(C$, CC - SO, 1);
    Next
    Print
  Next
  Print
  Print (Timer) / 1000
  End
 


For the versions  I have used these are the results
Speed Testing using ASCII Mandelbrot on MMBasic
Unit under test MMB Version Time (Sec) Memory Free after running
                                      Program Ram
Picomite serial 5.07.06    9.406        115K 146K
(clone 16MB)   5.07.07RC2  9.04         127K 154K
               5.07.07RC4  9.07        127K 154K
PicoMiteVGA    5.07.06     10.28         99K 130K
               5.07.07RC2  12.81        99K 126K
               5.07.07RC4  12.84        99K 126K
PicoWeb        5.07.07a21  12.47
               5.07.07a25  13.107       83K 108K
               5.07.07a29  12.8         79K 104K
               5.07.07b2   12.59        79K 104K
               5.07.07b4   12.67        79K 104K
               5.07.07RC2  13.29        79K 104K
               5.07.07RC4  14.09        79K 104K

Edited 2023-04-19 08:49 by okwatts
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 9137
Posted: 07:29am 19 Apr 2023
Copy link to clipboard 
Print this post

The one command that is definitely much slower is PLAY SOUND. This change eliminated the pops when moving from a sound to silence or another type of sound on a channel. I can easily reverse this but the pops will be back.
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 9137
Posted: 08:33am 19 Apr 2023
Copy link to clipboard 
Print this post

V5.07.07RC5

https://geoffg.net/Downloads/picomite/PicoMite_Beta.zip

Various bug fixes to file handling edge cases
Improved performance of PLAY SOUND when left and right channels are the same
New parameter for OPTION SYSTEM I2C
OPTION SYSTEM I2C sdapin, sclpin [,SLOW/FAST]
By default the I2C port is opened at a speed of 400KHz and with a 100mSec timeout. The I2C frequency can be set using the optional third parameter which can take the values FAST = 400KHz or SLOW = 100KHz
 
thwill

Guru

Joined: 16/09/2019
Location: United Kingdom
Posts: 4047
Posted: 09:05am 19 Apr 2023
Copy link to clipboard 
Print this post

  matherp said  V5.07.07RC5


Thanks Peter, I will give it a spin during my coffee break.

1. Does it include the two-line fix to MM.CMDLINE$ that I posted previously ?

  matherp said  The one command that is definitely much slower is PLAY SOUND. This change eliminated the pops when moving from a sound to silence or another type of sound on a channel. I can easily reverse this but the pops will be back.


2. Personally if that were the choice I'd rather have the performance (and the pops) back. They went largely unnoticed (or at least uncommented upon) by the shedders until I started messing with a tinny squeaker and if all else fails I would return to my two 16R buzzer solution which didn't display the issue for my project.

3. If you did revert then would the external DAC exhibit the same pops ? It (8-bit version) and my other components have arrived, though (if I can make so arrogant a claim) I'm trying to focus my free-time on "Q/A" of the PicoMite for the moment.

4. The manual documents PLAY SOUND (on 4 channels) to use ~23% of the CPU time:
   - Was this proportional to the fixed 133 MHz and thus would only represent ~12% of the time at 252 MHz and ~8% of the time at 378 MHz ?
   - Did this proportion at the faster CPU speeds change when in a recent update you increased the carrier frequency at the faster CPU speeds ?

5. I don't think this is the significant factor so I'm only offering it as an observation, but for memory reasons you switched the PicoMite VGA back to linear function name lookup (from hash-table). Have you considered sorting the function names and then using a binary-search for the lookup instead ?

Best wishes,

Tom
Edited 2023-04-19 19:07 by thwill
Game*Mite, CMM2 Welcome Tape, Creaky old text adventures
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 9137
Posted: 10:23am 19 Apr 2023
Copy link to clipboard 
Print this post

1. No. Forgot
2. Try latest and see what effect
3. Yes. It is the change of level which creates the pops
4. No idea
5. Not a major impact so not worth pursuing
 
thwill

Guru

Joined: 16/09/2019
Location: United Kingdom
Posts: 4047
Posted: 10:43am 19 Apr 2023
Copy link to clipboard 
Print this post

  matherp said  2. Try latest and see what effect


No improvement that I can observe, let me bisect the betas and find out at what revision the issue started.

Best wishes,

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

Joined: 05/03/2018
Location: Netherlands
Posts: 4253
Posted: 11:16am 19 Apr 2023
Copy link to clipboard 
Print this post

Tested on picofrog

VGA 5.07.07 beta 28 is still fast. So no need to check anything before b28.
This also means that the SPI memory bus speed is not the causing this (introduced in b24).

I have no images anymore on my system between b28 and RC4. Just 2 days ago cleaned up the whole history (I had a list similar to lizby) since I was confident we where at the end of this development cycle .... wrong ...

Regards,

Volhout
PicomiteVGA PETSCII ROBOTS
 
     Page 4 of 13    
Print this page
© JAQ Software 2024