Menu
JAQForum Ver 19.10.27

Forum Index : Microcontroller and PC projects : File Manager for PicoMite

   Page 17 of 17    
Posted: 09:24am
20 Apr 2025
Copy link to clipboard
twofingers
Guru

  javavi said  @twofingers
+ Copying and moving folders with files
+ Launches when there are a large number of files, but displays only the maximum file list size set.

Hi Vadim,
copying directories works fine, thanks! You're on the right track!

Unfortunately, I'm having trouble opening directories that contain more than RMax files. Have you checked this?
[87] FList$(RQt+1)=""
Error : Index out of bounds


I found a silly bug in my last file that affects the display of the scroll bars when there are only a small number of files.
FM02046-k.zip

Kind regards
Michael
 
Posted: 10:47am
20 Apr 2025
Copy link to clipboard
javavi
Guru


  twofingers said  Unfortunately, I'm having trouble opening directories that contain more than RMax files. Have you checked this?
[87] FList$(RQt+1)=""
Error : Index out of bounds

Hi Michael,
I found this problem and seemed to have fixed it and reloaded the archive for downloading in my post, please check again by downloading the archive, maybe I will need to re-upload it..
Edited 2025-04-20 20:52 by javavi
 
Posted: 11:12am
20 Apr 2025
Copy link to clipboard
twofingers
Guru

  javavi said  I found this problem and seemed to have fixed it and reloaded the archive for downloading in my post, please check again by downloading the archive ...

Yes, it works as it should! Great!
I'd consider whether the user should get a notification that the list isn't completely displayed.

By the way, when I switch A: to B: (left), I get a blue left panel.

I just noticed that when I come from a subdirectory, the file cursor is correctly positioned on the subdirectory. Very good!

One more question:
What keyboard layout is actually used in Ukraine?

Michael
 
Posted: 12:37pm
20 Apr 2025
Copy link to clipboard
javavi
Guru


  twofingers said  By the way, when I switch A: to B: (left), I get a blue left panel.
I just noticed that when I come from a subdirectory, the file cursor is correctly positioned on the subdirectory. Very good!
One more question:
What keyboard layout is actually used in Ukraine?



The blue color after switching disks also seemed to have been corrected, I don't remember now, I need to check again! But that will be a little later, now I'm a little torn and out of shape.
Edited 2025-04-20 22:45 by javavi
 
Posted: 01:45pm
20 Apr 2025
Copy link to clipboard
twofingers
Guru

  javavi said  The blue color after switching disks also seemed to have been corrected, I don't remember now, I need to check again! But that will be a little later, now I'm a little torn and out of shape.

Hi Vadim,
the (blue panel) error has been corrected in the latest FM150. I hadn't checked it again, sorry.
Thanks for the look at the keyboard layout. I think everything must be three times as complicated for you (language, layout, fonts).
Which PicoMite keyboard setting are you using? US?

No rush to answer!

Michael
Edited 2025-04-20 23:46 by twofingers
 
Posted: 12:30pm
21 Apr 2025
Copy link to clipboard
twofingers
Guru

Hi Vadim,
BTW.(also as a reminder to myself)
  Quote  "Good design is as little design as possible."
– Dieter Rams

  Quote  "Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take away."
– Antoine de Saint-Exupéry

I think this applies to design in general. But also to programmed code and even to lifestyle.

... And I'm sure I'll get it thrown in my face at some point.  

In this new version, the page up/down mechanism has been changed. I like it better this way.
Also — apart from internal changes — the scroll bars are colored only for the active panel.

FM02049.zip

Kind regards
Michael
 
Posted: 06:47am
27 Apr 2025
Copy link to clipboard
javavi
Guru


File Manager v1.51 VGA/HDMI +MMCC
Now the music plays continuously if several music files are selected on the panel. Something like a custom playlist, you can mark and unmark on the go, start from the desired place, but not go to other folders))
FM151.zip
 
Posted: 12:26pm
28 Apr 2025
Copy link to clipboard
twofingers
Guru

Hi Vadim,
this is just a correction. Due to a bug, I added "-1" twice.

FM02052.zip

  javavi said  ... Something like a custom playlist, you can mark and unmark on the go, start from the desired place, but not go to other folders))


Just a thought – I'm not currently doing anything with music or sounds on the PicoMite – wouldn't it make more sense to play entire directories?

Kind regards
Michael
Edited 2025-04-29 03:52 by twofingers
 
Posted: 01:07pm
06 May 2025
Copy link to clipboard
twofingers
Guru

Hi Vadim,

there are only a few changes for users in this version. Perhaps the file cursor movement is a bit smoother. This version displays the help screen once for new users upon startup and saves it in the Platform option.
FM02060.zip

In the main program, I've reduced the use of "TILES" to a single use. The version jump to 02060 is intended to reflect the internal changes.

I've also decided to re-sort the file list after sorting, like you do with "ArrangeByIndex." This improves interchangeability between our versions and reduces complexity to further simplify the code.

My version ("ArByIdx") is unfortunately five times slower, but it doesn't destroy the sort index. I need it for sorting the selected files. To save some memory, I use a bit-flag array of five integers. The routines for this are:
'* Set of flag-routines
test_flags
End

Sub Clr_Flag(F() As integer,Nr)
 F(Nr\64)=F(Nr\64)And Not(1 <<(Nr Mod 64))
End Sub

Sub set_Flag(F() As integer,Nr)
F(Nr\64)=F(Nr\64)Or(1 <<(Nr Mod 64))
End Sub

Sub Toggle_Flag(F() As integer,Nr)
F(Nr\64)=F(Nr\64)Xor(1 <<(Nr Mod 64))
End Sub

Function Get_Flag(F() As integer,Nr)
Get_Flag=(F(Nr\64)>>Nr Mod 64)And 1
End Function


Sub test_flags
Local integer NumberOfFlags=200
Local integer fl((NumberOfFlags\64)+1)
Print "hello"
Toggle_Flag(fl(), 134)
Print "134";Get_Flag(fl(),134)
Toggle_Flag(fl(), 134)
Print "134";Get_Flag(fl(),134)
Toggle_Flag(fl(), 134)
Print "134";Get_Flag(fl(),134)
Clr_Flag(fl(), 134)
Print "134";Get_Flag(fl(),134)
set_Flag(fl(), 134)
Print "134";Get_Flag(fl(),134)

Print
Toggle_Flag(fl(), 133)
Print "133";Get_Flag(fl(),133)
Toggle_Flag(fl(), 133)
Print "133";Get_Flag(fl(),133)
Toggle_Flag(fl(), 133)
Print "133";Get_Flag(fl(),133)
set_Flag(fl(), 130)
set_Flag(fl(), 0)
set_Flag(fl(), 199)
Print
Print "130";Get_Flag(fl(),130)
Print
For i = 0 To NumberOfFlags-1
 Print Get_Flag(fl(),i);
Next
Print
Print
Timer = 0
For i = 0 To 10000

Next
tml=Timer/10
Print " "tml " uSec for an empty loop"

Timer = 0
For i = 0 To 10000
 set_Flag(fl(), 130)
Next
tm=Timer
Print Tm/10 " uSec"

Print
Print MM.Info(cpuspeed)
'RP2350
End Sub

They are universal and consume almost no memory. But they aren't very fast. Set_Flag() takes about 70 uSec (RP2350). This means setting 1,000 flags takes 70ms. Of course, it's much faster if all flags are to be set or cleared at once.

My idea for a future version is a file viewer with a search function and a function for replacing strings within programs.

Kind regards
Michael
Edited 2025-05-07 18:42 by twofingers
 
Posted: 06:39am
09 May 2025
Copy link to clipboard
Volhout
Guru

delete
Edited 2025-05-09 16:45 by Volhout
 
Posted: 01:20pm
13 May 2025
Copy link to clipboard
twofingers
Guru

Hi Vadim,

this is version 0.2064. There are no new features. However, I noticed that the file cursor movement with a USB keyboard is so slow because the default repeat rate is set to a value that is too high (for this purpose). I was wondering why my optimizations had no effect. I don't know how it is for PS2 keyboards. In any case, I've added the "Keyboard Option" for those who like to experiment; the value is reset to the default when you exit the program.

FM02065.1.zip
(Update 18.05.2025)
As you can see from the version number, I've made some internal changes/simplifications. This saved me about 5-10 KB and will make maintenance easier.

I'm also planning to set the colors with a subprocedure, which will then enable global adjustments for the different output devices. But that's easy!

I hope you're well.
Kind regards
Michael
Edited 2025-05-19 06:57 by twofingers
 
Posted: 07:10pm
20 May 2025
Copy link to clipboard
twofingers
Guru

Hi Vadim,

this is version 0.2066->update 22.05.2025: 0.2067.
New here is the search/replace function, which I often miss in the editor.

Edit: Some cosmetic changes regarding Replace. (22.05.2025):
FM02067.zip

Although I've tested it, it still requires further thorough testing. A special feature here is the REGEX function (thanks to Peter!), which makes searching and replacing very flexible and convenient.

For example, the regex expression "[0-9]\{2\}/[0-9]\{2\}/[0-9]\{4\}" finds every date in the format "01/12/2025".
(See the PicoMite manual, p. 186ff.)

Help:
Y = Replace only this occurrence
N = Skip this occurrence
A = Replace all remaining occurrences in the entire file
L = Replace all remaining occurrences in this line
S = Skips checking for any more matches in this line after the current one
X = Abort/Exit replace


For security reasons, the changes are written to a temporary backup file. (This behavior can, of course, easily be converted to "Klingon" with a small change in the source code. )  A summary of the changes can be found in a corresponding ".log" file. If the replacement string is larger than the string to be replaced, the maximum string length of 255 characters may be exceeded. In this case, the result string is split, and a note is written to the log file.

Regards
Michael
Edited 2025-05-22 10:15 by twofingers
 
Posted: 03:49pm
22 May 2025
Copy link to clipboard
Amnesie
Guru

Hi,

I tried the latest version and I am really satisfied with all those functions! I tried it with the widescreen resolutions (720 & 848) but sadly this does not work. Is there any plan in the future to add support for widescreen? Just asking, the file manager is impressive as it is! Just wow!

Greetings
Daniel
 
Posted: 09:19am
23 May 2025
Copy link to clipboard
twofingers
Guru

Hi Daniel,
Thanks for your kind words.  
I can't comment on future developments of FM, as that's Vadim's area. However, I fear that this FM won't have adaptations for all screen modes. I certainly can't imagine it happening at the moment, given the available resources. But thanks for your question!

Here's a slightly nicer version of the Replace function for the File Manager.

Update 28.05.2025 (Bug in the rename procedure fixed):
FM02071.1.zip

And please continue to report any bugs you find and suggestions for improvements.

Kind regards
Michael
Edited 2025-05-29 06:14 by twofingers
 
Posted: 10:57pm
16 Jun 2025
Copy link to clipboard
javavi
Guru


Hello everyone!
Updated the PicoMite VGA/HDMI firmware to the new version 6.00.02 and File Manager seems to still work and be useful.
 
Posted: 08:35am
17 Jun 2025
Copy link to clipboard
Volhout
Guru

Hi Javavi,

YES, it is very useful. I use your recent fm151 to test al the RC of the 6.00.02 versions, since it makes browsing an SD card very simple. And implicitly you test the filemanager as well.

I use twofingers "nonVGA" filemanager on non-VGA picomites (I think it is 0203_Klingon).
But yes, all my pico's have a filemanager built in.

Volhout
Edited 2025-06-17 18:37 by Volhout
 
   Page 17 of 17    


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