Menu | JAQForum Ver 19.10.27 |
Forum Index : Microcontroller and PC projects : File Manager for PicoMite
![]() ![]() |
||||||
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 |
||||||
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 |
||||||
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 |
||||||
![]() 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 |
||||||
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 |
||||||
Hi Vadim, BTW.(also as a reminder to myself) 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 |
||||||
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 |
||||||
Hi Vadim, this is just a correction. Due to a bug, I added "-1" twice. ![]() FM02052.zip 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 |
||||||
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) 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 "130";Get_Flag(fl(),130) For i = 0 To NumberOfFlags-1 Print Get_Flag(fl(),i); Next 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 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 |
||||||
delete Edited 2025-05-09 16:45 by Volhout |
||||||
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 |
||||||
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. ![]() Regards Michael Edited 2025-05-22 10:15 by twofingers |
||||||
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 |
||||||
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 |
||||||
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. ![]() |
||||||
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 |
||||||
![]() ![]() |
![]() |
The Back Shed's forum code is written, and hosted, in Australia. |