Long Filename Browser for ZX-UNO / esxDOS

Field Programmable Gate Array based devices! As exciting as they sound
Chris23235
Microbot
Posts: 145
Joined: Wed Dec 29, 2021 11:59 am

Re: Long Filename Browser for ZX-UNO / esxDOS

Post by Chris23235 »

bob_fossil wrote: Mon Feb 20, 2023 6:07 pm New test version available here.

The new configuration program respects the current browser font and pressing left and right now toggles the state for 'on / off' menu options. If you have Kempston joystick support enabled, you can now use that to navigate and select options in the menus and dialogs.
Hi @bob_fossil, many thanks for the latest test version. I just copied it to the SD cards of my Omni and my eLeMeNt and it worked fine on both. Many thanks for the Kempston support in the new configuration tool, for me it is just more play around with the configuration tool with the joystick. I found myself trying much more colour options than I had tried when using the keyboard.
User avatar
bob_fossil
Manic Miner
Posts: 665
Joined: Mon Nov 13, 2017 6:09 pm

Re: Long Filename Browser for ZX-UNO / esxDOS

Post by bob_fossil »

Chris23235 wrote: Mon Feb 20, 2023 7:34 pm Hi @bob_fossil, many thanks for the latest test version. I just copied it to the SD cards of my Omni and my eLeMeNt and it worked fine on both. Many thanks for the Kempston support in the new configuration tool, for me it is just more play around with the configuration tool with the joystick. I found myself trying much more colour options than I had tried when using the keyboard.
No problem. The code to read the Kempston interface was partially in the config program already as it uses the input code I wrote for the main browser for it's keyboard handling.
User avatar
bob_fossil
Manic Miner
Posts: 665
Joined: Mon Nov 13, 2017 6:09 pm

Re: Long Filename Browser for ZX-UNO / esxDOS

Post by bob_fossil »

New test version available here.

Just a small update to add support for the newly modified divMMC CPLD firmware which has new mapram features. It should not affect existing divMMC or divIDE hardware. A bug with plugin error messages not redrawing filenames when the message is cleared was also fixed.
velesoft
Drutt
Posts: 34
Joined: Sat Sep 26, 2020 11:51 pm
Location: Czech Republic
Contact:

Re: Long Filename Browser for ZX-UNO / esxDOS

Post by velesoft »

bob_fossil wrote: Tue Feb 28, 2023 6:06 pm New test version available here.

Just a small update to add support for the newly modified divMMC CPLD firmware which has new mapram features. It should not affect existing divMMC or divIDE hardware. A bug with plugin error messages not redrawing filenames when the message is cleared was also fixed.
Tested on DIVMMC 128kB with new CPLD firmware and work correct.
velesoft
Drutt
Posts: 34
Joined: Sat Sep 26, 2020 11:51 pm
Location: Czech Republic
Contact:

Re: Long Filename Browser for ZX-UNO / esxDOS

Post by velesoft »

I can make driver for K-MOUSE. Mouse wheel can jump to next/previous pages.
Chris23235
Microbot
Posts: 145
Joined: Wed Dec 29, 2021 11:59 am

Re: Long Filename Browser for ZX-UNO / esxDOS

Post by Chris23235 »

velesoft wrote: Wed Mar 01, 2023 9:53 pm I can make driver for K-MOUSE. Mouse wheel can jump to next/previous pages.
This sounds like a very good feature.
velesoft
Drutt
Posts: 34
Joined: Sat Sep 26, 2020 11:51 pm
Location: Czech Republic
Contact:

Re: Long Filename Browser for ZX-UNO / esxDOS

Post by velesoft »

bob_fossil wrote: Tue Feb 28, 2023 6:06 pm New test version available here.
After press SS+F in NMI menu is visible only one bottom line with one filename. Bug ?
I use kempston controll. If filebrowser show any error message then wait only for any key, but kempston fire button is ignored. Kempston controll is also ignored in hex view and text view. Can you fit it ?

Small idea : is possible autodetect kempston type and enable fire 2 support (for exit from NMI).
User avatar
bob_fossil
Manic Miner
Posts: 665
Joined: Mon Nov 13, 2017 6:09 pm

Re: Long Filename Browser for ZX-UNO / esxDOS

Post by bob_fossil »

velesoft wrote: Thu Mar 02, 2023 7:08 pm After press SS+F in NMI menu is visible only one bottom line with one filename. Bug ?
I use kempston controll. If filebrowser show any error message then wait only for any key, but kempston fire button is ignored. Kempston controll is also ignored in hex view and text view. Can you fit it ?

Small idea : is possible autodetect kempston type and enable fire 2 support (for exit from NMI).
Symbol Shift + F puts the browser into full screen mode. File names are shown on the bottom line. .z80 and .sna files show the screen inside the snapshot and .tap files show a loading screen if possible, Press Symbol Shift + F again to return to normal.

Plugins only support the keyboard at the moment. Joystick support is limited to the main browser.

The browser already supports second fire button on Kempston.From the manual:

Kempston 2nd fire button support
--------------------------------

If you have enabled Kempston joystick support in .brwscfg and your divMMC interface supports the protocol, the second fire button can be used inside the file browser. You will also need a joystick that has a second fire button like a Sega Megadrive joypad (C button is 2nd fire).

Press 2nd Fire - Parent folder
Hold Up and Press 2nd Fire - Move to the first entry in the file list
Holp Down and Press 2nd Fire - Move to the last entry in the file list.
Hold Left and Press 2nd Fire - Exit the browser.
User avatar
bob_fossil
Manic Miner
Posts: 665
Joined: Mon Nov 13, 2017 6:09 pm

Re: Long Filename Browser for ZX-UNO / esxDOS

Post by bob_fossil »

Here's a new release to mark LFN browser's 3rd birthday and the 41st birthday of the ZX-Spectrum. It can be downloaded from here.

v0.24
  • Assembly rewrite of the .brwscfg configuration tool as a 128 startup style menu driven program.
  • Fixed issue with certain Unicode characters in long filenames causing the filename to be displayed incorrectly.
  • Pressing Caps Shift + Enter inside the _TPE plugin will now autostart the .tap file from the selected entry.
  • Pressing Caps Shift + N inside the _TPE plugin lets you create a 0 byte empty .tap file for saving to. You can now access the _TPE plugin regardless of whether you have a .tap file attached.
  • If you tried to save a snapshot and the 128k shadow screen was paged in, a malformed .SNA file was being saved.
  • Added support for the modified divMMC CPLD firmware which has new mapram features. It should not affect existing divMMC or divIDE hardware.
  • Fixed an issue with plugin error messages not redrawing filenames when the message is cleared.
  • More refactoring of the graphic and background browser functions to reduce the size and improve the overall performance of the browser.
Chris23235
Microbot
Posts: 145
Joined: Wed Dec 29, 2021 11:59 am

Re: Long Filename Browser for ZX-UNO / esxDOS

Post by Chris23235 »

Many thanks as always @bob_fossil, I will give it a try on my Omni and my eLeMeNt later today. The creation of a file for saving purposes is a nice and welcome feature.
Chris23235
Microbot
Posts: 145
Joined: Wed Dec 29, 2021 11:59 am

Re: Long Filename Browser for ZX-UNO / esxDOS

Post by Chris23235 »

I just copied the new version on the cards of my Omni and my eLeMeNt and gave them a try. I didn't had the time for extensive testing, but as far as I can tell everything works fine on these machines.
User avatar
bob_fossil
Manic Miner
Posts: 665
Joined: Mon Nov 13, 2017 6:09 pm

Re: Long Filename Browser for ZX-UNO / esxDOS

Post by bob_fossil »

New test version available here.

No new features, just more refactoring of the C code to assembly (FAT initialisation and plug-in navigation code) resulting in a loss of ~340 bytes compared to the last release. Hopefully I haven't broken anything in the process. :)
Hood
Drutt
Posts: 42
Joined: Thu Nov 11, 2021 7:09 am
Location: Czech Republic
Contact:

Re: Long Filename Browser for ZX-UNO / esxDOS

Post by Hood »

Dear Bob,

your work is really perfect. Maybe the only thing I am missing is some debugger in your nmi menu. A debugger that would show registers, Interrupt mode and DI/EI state in th emoment the nmi button was pressed.

This would help debugging programs on real HW a great deal. Years ago I applied it in my nmi menu for MB-02+ and I use this feature heavily. I implemented Devastace debugger, screen vesrion. It helps debugging programs/ poking memory a great deal. https://hood.speccy.cz/dwnld/nmi161inf.htm
https://hood.speccy.cz/nmi.htm

Do you have it in plan, perhaps?


Hood
Chris23235
Microbot
Posts: 145
Joined: Wed Dec 29, 2021 11:59 am

Re: Long Filename Browser for ZX-UNO / esxDOS

Post by Chris23235 »

bob_fossil wrote: Sun May 21, 2023 9:34 pm New test version available here.

No new features, just more refactoring of the C code to assembly (FAT initialisation and plug-in navigation code) resulting in a loss of ~340 bytes compared to the last release. Hopefully I haven't broken anything in the process. :)
Hi @bob_fossil, thank you for the new version. I just gave it a try on my Omni and ran into problems. Whenever I press the nmi button, I don't get the content of the card but only a line with a single "\". No content is diplayed. Reverting back to the latest stable version everything is fine.
User avatar
bob_fossil
Manic Miner
Posts: 665
Joined: Mon Nov 13, 2017 6:09 pm

Re: Long Filename Browser for ZX-UNO / esxDOS

Post by bob_fossil »

Chris23235 wrote: Tue May 23, 2023 6:52 am Hi @bob_fossil, thank you for the new version. I just gave it a try on my Omni and ran into problems. Whenever I press the nmi button, I don't get the content of the card but only a line with a single "\". No content is diplayed. Reverting back to the latest stable version everything is fine.
Not a lot to go on. :) What size SD card and filesystem (FAT16/32) are you using?
User avatar
bob_fossil
Manic Miner
Posts: 665
Joined: Mon Nov 13, 2017 6:09 pm

Re: Long Filename Browser for ZX-UNO / esxDOS

Post by bob_fossil »

Hood wrote: Tue May 23, 2023 6:41 am Dear Bob,

your work is really perfect. Maybe the only thing I am missing is some debugger in your nmi menu. A debugger that would show registers, Interrupt mode and DI/EI state in th emoment the nmi button was pressed.

This would help debugging programs on real HW a great deal. Years ago I applied it in my nmi menu for MB-02+ and I use this feature heavily. I implemented Devastace debugger, screen vesrion. It helps debugging programs/ poking memory a great deal. https://hood.speccy.cz/dwnld/nmi161inf.htm
https://hood.speccy.cz/nmi.htm

Do you have it in plan, perhaps?


Hood
It's on my list of things to do. I can access the register block supplied from the esxDOS NMI handler to show the state of the registers. This is the same format as the header for a .SNA snapshot file so contains all the registers you'd probably want to see. It may be possible to modify the contents of the register block so you could set registers to different values which would take effect when you left the browser. Maybe the ability to load and save memory as well?
Chris23235
Microbot
Posts: 145
Joined: Wed Dec 29, 2021 11:59 am

Re: Long Filename Browser for ZX-UNO / esxDOS

Post by Chris23235 »

bob_fossil wrote: Tue May 23, 2023 5:33 pm Not a lot to go on. :) What size SD card and filesystem (FAT16/32) are you using?
Yes I know, sorry :)

It is a 32GB card formatted FAT32.

EDIT: But it is definitely not something with the card as my other 32GB FAT32 card in the eLeMeNt ZX shows the same behavior when I copy the Test version to this card. Reverting back to the latest stable version also fixes the issue here.
Hood
Drutt
Posts: 42
Joined: Thu Nov 11, 2021 7:09 am
Location: Czech Republic
Contact:

Re: Long Filename Browser for ZX-UNO / esxDOS

Post by Hood »

bob_fossil wrote: Tue May 23, 2023 6:15 pm It's on my list of things to do. I can access the register block supplied from the esxDOS NMI handler to show the state of the registers. This is the same format as the header for a .SNA snapshot file so contains all the registers you'd probably want to see. It may be possible to modify the contents of the register block so you could set registers to different values which would take effect when you left the browser. Maybe the ability to load and save memory as well?
Dear Bob, certainly a very good idea to display registers and have a possibility of changing them. But it does not enable the user to trace the program. Practically any monitor of your like will do. I personally like Devastace+ since it is easy to use and takes up screen memory only. https://spectrumcomputing.co.uk/index.p ... 6&id=25171

And certainly saving/loading chunk of ZX memory is a very good idea too. I used to it from RealSPec emulator and implemented it to my nmi menu right away too.


Best regards

Hood
User avatar
bob_fossil
Manic Miner
Posts: 665
Joined: Mon Nov 13, 2017 6:09 pm

Re: Long Filename Browser for ZX-UNO / esxDOS

Post by bob_fossil »

Hood wrote: Wed May 24, 2023 1:19 pm Dear Bob, certainly a very good idea to display registers and have a possibility of changing them. But it does not enable the user to trace the program. Practically any monitor of your like will do. I personally like Devastace+ since it is easy to use and takes up screen memory only. https://spectrumcomputing.co.uk/index.p ... 6&id=25171

And certainly saving/loading chunk of ZX memory is a very good idea too. I used to it from RealSPec emulator and implemented it to my nmi menu right away too.


Best regards

Hood
Running a 3rd party monitor is complicated by the fact the browser's NMI handler copies various bits of memory into the MMC banks and overwrites normal RAM with the browser code which then overwrites more bits to use for it's stack and buffers. These get restored when you exit the browser. If you wanted to trace code at address 49152, the contents of address 49152-65535 would be the LFN and file buffer, not the actual code or data that was at 49152 when you pressed the NMI.
Hood
Drutt
Posts: 42
Joined: Thu Nov 11, 2021 7:09 am
Location: Czech Republic
Contact:

Re: Long Filename Browser for ZX-UNO / esxDOS

Post by Hood »

bob_fossil wrote: Wed May 24, 2023 9:26 pm Running a 3rd party monitor is complicated by the fact the browser's NMI handler copies various bits of memory into the MMC banks and overwrites normal RAM with the browser code which then overwrites more bits to use for it's stack and buffers. These get restored when you exit the browser. If you wanted to trace code at address 49152, the contents of address 49152-65535 would be the LFN and file buffer, not the actual code or data that was at 49152 when you pressed the NMI.
I see, what a shame. I believe, this could be solved, but, yes, it would require a bit more complicated coding.

On MB-02+ or MB03+ I am using the built in mnoitor in my nmi menu very heavily. Probably the most useful feature of the nmi menu.

Keep fingers crossed for your project, anyway.



Hood
User avatar
Luzie
Manic Miner
Posts: 913
Joined: Fri May 01, 2020 2:07 pm

Re: Long Filename Browser for ZX-UNO / esxDOS

Post by Luzie »

Chris23235 wrote: Tue May 23, 2023 6:52 am Hi @bob_fossil, thank you for the new version. I just gave it a try on my Omni and ran into problems. Whenever I press the nmi button, I don't get the content of the card but only a line with a single "\". No content is diplayed. Reverting back to the latest stable version everything is fine.
@bob_fossil I discovered the same as @Chris23235 with v0.25a1 under SpecEmu viewtopic.php?p=118894#p118894:
Image

Reverting to v0.24 Final cures it:
Image

If you like, I can send you the .HDF-File I´m testing with.
User avatar
bob_fossil
Manic Miner
Posts: 665
Joined: Mon Nov 13, 2017 6:09 pm

Re: Long Filename Browser for ZX-UNO / esxDOS

Post by bob_fossil »

Luzie wrote: Sun Jun 11, 2023 10:54 am @bob_fossil I discovered the same as @Chris23235 with v0.25a1 under SpecEmu viewtopic.php?p=118894#p118894:
Image

Reverting to v0.24 Final cures it:
Image

If you like, I can send you the .HDF-File I´m testing with.
No need as I think I've fixed it in the current development version. There's no real advantage in running v0.25a1 at the moment but if you're desperate you can try using .brwscfg to turn the 'Auto detect device' option to 'On' in the Advanced menu and see if that fixes it.
User avatar
Luzie
Manic Miner
Posts: 913
Joined: Fri May 01, 2020 2:07 pm

Re: Long Filename Browser for ZX-UNO / esxDOS

Post by Luzie »

bob_fossil wrote: Sun Jun 11, 2023 11:24 am No need as I think I've fixed it in the current development version. There's no real advantage in running v0.25a1 at the moment but if you're desperate you can try using .brwscfg to turn the 'Auto detect device' option to 'On' in the Advanced menu and see if that fixes it.
@bob_fossil Thank you. Yes, this setting fixes it:

Image
XoRRoX
Manic Miner
Posts: 233
Joined: Wed Jul 11, 2018 6:34 am

Re: Long Filename Browser for ZX-UNO / esxDOS

Post by XoRRoX »

Hi Bob.

I've started using the save snapshot function to save progress in games. It works great. Thank you for that.
Could you make it possible for snapshots with the same name to be saved? So instead of showing an error 18, prompt to overwrite?
User avatar
bob_fossil
Manic Miner
Posts: 665
Joined: Mon Nov 13, 2017 6:09 pm

Re: Long Filename Browser for ZX-UNO / esxDOS

Post by bob_fossil »

New test version available here.

More size reduction as I've completed the refactoring of the FAT initialisation code to assembly (just one C function left to refactor in the FAT code now).
You can now overwrite an existing filename when you save a snapshot from the browser.
Post Reply