![]() |
Forum Index : Microcontroller and PC projects : Picomite Javavis File Manager (FM) for VT100 Console version
![]() ![]() ![]() ![]() |
|||||
Author | Message | ||||
dddns Senior Member ![]() Joined: 20/09/2024 Location: GermanyPosts: 215 |
I could write it by my own, but would that help somebody? I think you and Harm are the right persons who could really make it that good that it reaches a grade to be integrated. Edited 2025-03-17 05:16 by dddns |
||||
Volhout Guru ![]() Joined: 05/03/2018 Location: NetherlandsPosts: 4824 |
@dddns, This version should have no ASCII characters above 127. fm_vt100_noVGA_02026_127.zip It is not as pretty, but should work for you. Also the screen saver does not use any characters above 127. @Michael: there where various places where graphics characters where used. @Michael: The "DIM" in the new screensaver should be converted into a "LOCAL" (risk of re-dimming at second activation of the screensaver). Volhout Edited 2025-03-17 06:49 by Volhout PicomiteVGA PETSCII ROBOTS |
||||
dddns Senior Member ![]() Joined: 20/09/2024 Location: GermanyPosts: 215 |
It looks very nice now in gnome-terminal.Colors are correctly displayed and selected files show up correct. Drive change works and the boarder is in my eyes even prettier as it is more calm. I just tried and commented out display, set the lcd to noconsole and set chr and cvr to 0 and it worked as well in 80x43 charater terminal.. I would suggest to limit the keyboard input buffer as scrolling is not the fastest and if you press too long up or down accidentally you have to wait.. But look and feel are already nice. Selecting a directory did not work but copying it with cursor over it works. Edited 2025-03-17 07:41 by dddns |
||||
dddns Senior Member ![]() Joined: 20/09/2024 Location: GermanyPosts: 215 |
The internal editor works for me down to 20x50 with font 3.(at 800pixel width) If a terminal window is too small and you start mc, the filenames are shortened with "~". It is possible to have the smallest width of 44 characters, but mc displays more so down to 20 width would be the goal :) Not because only of me and the lcd but the nice new 800x600 mode with font 3 would set display as well automatically to 20x?? _I guess_ Edited 2025-03-17 08:34 by dddns |
||||
dddns Senior Member ![]() Joined: 20/09/2024 Location: GermanyPosts: 215 |
I dared to take a 5min look at the code. To me, and I'm really not a programmer, but I fear, that this has to be rewritten from scratch. Endless hard coding I saw, didn't look closer but... Anyway, till now a very good prove of concept regarding VT-100 to me. |
||||
Volhout Guru ![]() Joined: 05/03/2018 Location: NetherlandsPosts: 4824 |
@Michael, Some user feedback: - In 02026 the delete (F8) does not work. I get the popup, and when pressing <enter> the popup disappears. But the file is not actually deleted. I tried <ctrl-M> and <ctrl-J> also to make sure it is not the wong <enter> key. - In 02026 I could not MOVE multiple files in one action. I selected them with <space>, and when pressing move (F6) it moved only the last file. Both could be my fault, not making the right actions. In general everything works nice. These where just observations when I wanted to re-arrange files in a (over the years) chaotic SD card. Does this sound familliar ? Volhout P.S. I used 02026_127, maybe I have undone functionality with my changes of the frame symbols that changed to ASCII 127 and lower. EDIT: the delete does work in 01998_VGA EDIT: the multiple file MOVE is not working in 01998_VGA either. Edited 2025-03-18 03:59 by Volhout PicomiteVGA PETSCII ROBOTS |
||||
twofingers Guru ![]() Joined: 02/06/2014 Location: GermanyPosts: 1520 |
Hello Harm, Thanks for the feedback! My observations: 1. Deleting selected files works fine for me. I don't understand why it doesn't for you. 2. I've ignored moving folders so far. I don't think it's that important in a demo version. I'm also not sure if it's a must-have in the retail version. Functionally, it's just a simple copy and delete. re.:fm_vt100_noVGA_02026_127.bas I like how you're putting in the effort! ![]() Looks decent! In 02028 is your screensaver and some improvements. fm-vt-02028.1.zip I've repackaged the Calendar and Disk Info add-on modules from 02026 into this zip file. I should probably synchronize the VGA with the VT100 version. I've also been thinking about a "Cutter" module. This would allow you to cut out program sections and then paste them into another program using "Merge" (F11). Regards Michael Edited 2025-03-18 06:12 by twofingers causality ≠ correlation ≠ coincidence |
||||
JanVolk Senior Member ![]() Joined: 28/01/2023 Location: NetherlandsPosts: 217 |
@Volhout, Thank you for this (m_vt100_noVGA_02026_127.zip) version and works fine and also readable with Tera Term Setup Font Font:Consolas Points:16 Some more small things like with F3 read file the bottom line is not yet adjusted. This is already a good progress to be included in the firmware when all bugs are fixed. Greetings, Jan. |
||||
dddns Senior Member ![]() Joined: 20/09/2024 Location: GermanyPosts: 215 |
Frankly speaking, I never have cared about escape codes before. ![]() But I think this looks more plausible?! Dim COFF$ length 7 =""'Chr$(27)+"[?5l"'Cursor hide Const Fc$=Chr$(27)+"[7m"+Chr$(27)+"[36;40m"' FileCursor for VT100 Dim Nc$ length 7 =Chr$(27)+"[0m"'no attrib Const CS$=COFF$+Chr$(27)+"[2J"'VT100 Clear Screen + hide cursor Const Kc$=Chr$(27)+"[7m"+Chr$(27)+"[36;40m"'F-keys Dim Cc$ length 5 =Chr$(27)+"[37:46m"'"[90m"'clock Dim Sc$ length 7 =Chr$(27)+"[36m" 'selected Dim Tc$ length 7 =Chr$(27)+"[34m"'selected+FileCursor ????? Now you can change colors doc doc1 doc2 What are your plans? Will you make it scalable? I'm not able to test it on a local console. How does it look on vga/hdmi local console? Is everything displayed correctly? Edited 2025-03-18 07:57 by dddns |
||||
dddns Senior Member ![]() Joined: 20/09/2024 Location: GermanyPosts: 215 |
Have you seen "option console". One could set it to serial and print with "text" on the local? |
||||
twofingers Guru ![]() Joined: 02/06/2014 Location: GermanyPosts: 1520 |
This is version fm-vt-02029. What's new are some bug fixes, cosmetic improvements, and the ability to work with frames made of characters <= 127. (As suggested by Harm.) To do this, simply comment out one line in the source code. Dim frm(9)=(179,180,186,187,188,195,196,200,201,205) 'Dim frm(9) =(124, 124,124, 43, 43, 124, 45, 43, 43, 45)'Frame chars <=127 fm-vt-02029.zip Regards Michael causality ≠ correlation ≠ coincidence |
||||
Volhout Guru ![]() Joined: 05/03/2018 Location: NetherlandsPosts: 4824 |
Hi Michel, Something went wrong. FM 02029 vt100 tested on V6.00.02rc5 on a RP2040GEEK. This is 02026 when selecting 3 files (teraterm). ![]() This is 02029 when selecting 3 files (teraterm). ![]() Volhout PicomiteVGA PETSCII ROBOTS |
||||
dddns Senior Member ![]() Joined: 20/09/2024 Location: GermanyPosts: 215 |
Good morning! I wanted to say, that the escape sequences seem to be printed out in clear text at the local console. I tried to disable console output by "option console serial" and printed to the local console by using the text command. As printing on the console takes only a sixth of the time compared to serial at 115200, it would not take that much of overall processing speed. With this idea it would be possible to make it work for everybody. Your thoughts? I can't understand the escape sequences which are used! Edited 2025-03-18 17:49 by dddns |
||||
Mixtel90![]() Guru ![]() Joined: 05/10/2019 Location: United KingdomPosts: 7474 |
Some of you may remember that I did an escape code library some time ago. Providing you are working with the right font the console is fine, but you have to set its font. This has nothing to do with the Pico's font. Mick Zilog Inside! nascom.info for Nascom & Gemini Preliminary MMBasic docs & my PCB designs |
||||
dddns Senior Member ![]() Joined: 20/09/2024 Location: GermanyPosts: 215 |
Very constructive! Thank you. I would very much appreciate, if experts like you would share their thoughts to this issue. Harm as well proved so many times, that he is able to develop high end code.. Geoff would be ideal to supervise it ;) I think a file manager is a very essential feature. If the full screen editor is the boss in the family, the file manager should be his wife..and serve him of cause ;) Why not, having a community project? Peter could write this in some days, but maybe he would be happy if this work would be taken off him Edited 2025-03-18 18:22 by dddns |
||||
dddns Senior Member ![]() Joined: 20/09/2024 Location: GermanyPosts: 215 |
Why do I say this all? Because I followed javavi'S development from his first post on. And he was asking Peter many technical questions at that time and Peter answered them willingly. Some months later javavi got the offer, that if his code will be stable,sober and so on, than it would be possible to integrate it. My heart goes to PicoMite as system and I was working for customer support for so long. I can feel what clients need of which they are even not aware of. I'm simply interested that the evaluation widens as I think PicoMite/MMBasic is the best education tool there is and I would like to see schools being equipped. Maybe ridiculous and naive, but I will stay being a dreamer :) |
||||
Frank N. Furter Guru ![]() Joined: 28/05/2012 Location: GermanyPosts: 935 |
First of all, I would like to thank Javavi and twofingers for their work. The Filemanagager is a real enrichment!!! @Volhout: I also work with a RP2040GEEK here, I can reproduce your error here. I noticed the following: - Yes, the right font (AND color) is important! - I cannot play WAV via the manager (MP3 work with Javavis version on my USB/HDMI device). - When I view a text file with F3, the message “Press any key!” appears. However, only page-up, page-down and ESC work. - The ALT and Backspace keys work with Javavis version. In the VT100 version, only the backspace key works to call up the extended commands. It would be great if the file manager could remember the last location (settings) and you wouldn't have to navigate to the desired directory every time you call it up... Thank you for your great programs!!! Frank Edited 2025-03-18 19:27 by Frank N. Furter |
||||
Mixtel90![]() Guru ![]() Joined: 05/10/2019 Location: United KingdomPosts: 7474 |
Just my own views. For a file manager to be integrated into MMBasic it will probably have to be pretty minimalistic. It's job is to be a file manager and anything more than that is gilding the lily. Remember that there will be limits on code size. The command line can already play audio files and display pictures so unless these can be integrated using very little code then they are of secondary importance. It will have to be flexible. No use if it will only work at one screen format. Even OPTION DISPLAY for the console will vary between users. To minimise the width you could omit the left and right vertical lines (which are decorative and only make screen handling more complex) and replace the centre line by a single character plus a space, to keep the RH column away from the line. It would do no harm to make it extendable in some way. Media handlers could be "plugins" called from the Library or A: for example. It could, for example, look for information from the Library or A: that holds a list of available functions that can be included into its menu. Avoid the use of Function keys. Not all keyboards have a full set and not all handle them in the same way. There are even some keyboards with none at all. There is no shame in using letters and numbers. :) Mick Zilog Inside! nascom.info for Nascom & Gemini Preliminary MMBasic docs & my PCB designs |
||||
Volhout Guru ![]() Joined: 05/03/2018 Location: NetherlandsPosts: 4824 |
All, Thank you all for your motivating constructive comments. If I sum up all your desires and requirements, I can only conclude that the filemanager in today's state is incompatible with these. 1/ other terminal sizes are not supported, and I am not volunteering to go down that rabit hole with the current code. We have the new "widescreen" modes on 2350, as well as various LCD formats with font choices. This could be a huge effort to get right. 2/ a common (VGA/HDMI/VT100 and of coarse VT100 and VGA at the same time looking the same) is only making the program bigger (2 independent display routines showing the same data). 3/ taking out sound and pictures, does not save a lot of code space, also the screensave does not save a lot of program space. 4/ Do not use function keys... in essence simple, but who is helped with that.? 5/ twofingers has discovered, as did I myself, that console ALT+Fx keys are not passed to MMBasic. Hence the VT100 version used backspace. And that works well. But the original MC used <ALT> hence javavi's choice for it. 6/ Do not use ASCII codes above 127. 7/ Implement media handlers as separate library functions. I do understand all your desires and suggestions. But given that fact that we have a fully operational filemanager, one for VGA, and one for VT100, I am not sure it is worth the effort to start from scratch, and write a new one. I personally am happy with what I have, it starts immediately when I press F9(or F5 in my case), it sizes my Putty screen/Teraterm screen according, it does what it needs to do. Yes, it is huge (50+kbyte) but who cares. A flash slot is 100k, and I cannot use it for anything else when it has the filemanager in it. And my VGA platforms will use the VGA version. Those are my thoughts, Volhout P.S. playing WAV is simple. Edited 2025-03-18 20:19 by Volhout PicomiteVGA PETSCII ROBOTS |
||||
dddns Senior Member ![]() Joined: 20/09/2024 Location: GermanyPosts: 215 |
Many thanks for your comments@Mixtel - I agree 100% May I add: Parts of it, as they exist anyway, should be callable out of a program e.g. making a nice file selection possible for the console and extending the basic commands. I think it's called library. @Volhout I think it is a must, and Javavi himself is of cause invited to contribute, but in order to make it possible finding its way into PicoMite, Peters criteria need to be fulfilled. I definitely think that he would reject the approach as it is. Edited 2025-03-18 20:17 by dddns |
||||
![]() ![]() ![]() ![]() |
![]() |
![]() |
The Back Shed's forum code is written, and hosted, in Australia. | © JAQ Software 2025 |