Long Filename Browser for ZX-UNO / esxDOS

Field Programmable Gate Array based devices! As exciting as they sound
User avatar
Luzie
Manic Miner
Posts: 910
Joined: Fri May 01, 2020 2:07 pm

Re: Long Filename Browser for ZX-UNO / esxDOS

Post by Luzie »

Pegaz wrote: Tue Sep 19, 2023 5:59 pm Maybe it's the cause of the problem, because I'm not using the whole 16Gb sd card, just a first 5 Gb FAT32 partition on it, for easier backup.
The rest is unallocated space.
Have you tried this:
bob_fossil wrote: Sun Sep 10, 2023 5:45 pm From the manual:

Most SD cards work with the browser 'Device number' set to 1. This is the default setting - however, some cards need this set to 0. If you get the black border and nothing happening problem, run the BRWSCFG .dot command, select the 'Advanced' category with cursor left / right and press ENTER to highlight the 'Device Number' option. Cursor up / down will change the value. Press ENTER again to set the new value and then press S to save the changes. If your disk has multiple partitions then you may need to set the device to a higher value.
User avatar
bob_fossil
Manic Miner
Posts: 661
Joined: Mon Nov 13, 2017 6:09 pm

Re: Long Filename Browser for ZX-UNO / esxDOS

Post by bob_fossil »

Pegaz wrote: Tue Sep 19, 2023 5:59 pm Maybe it's the cause of the problem, because I'm not using the whole 16Gb sd card, just a first 5 Gb FAT32 partition on it, for easier backup.
The rest is unallocated space.
No, it's probably a bug in the C code I rewrote in assembly. If you can zip up the disk image and make it available for download somewhere I can try and investigate further.
User avatar
bob_fossil
Manic Miner
Posts: 661
Joined: Mon Nov 13, 2017 6:09 pm

Re: Long Filename Browser for ZX-UNO / esxDOS

Post by bob_fossil »

Luzie wrote: Tue Sep 19, 2023 6:03 pm Have you tried this:
It's probably not device number related as the browser won't start at all if that is not correct.
User avatar
Pegaz
Dynamite Dan
Posts: 1210
Joined: Mon Nov 13, 2017 1:44 pm

Re: Long Filename Browser for ZX-UNO / esxDOS

Post by Pegaz »

bob_fossil wrote: Tue Sep 19, 2023 9:32 pm No, it's probably a bug in the C code I rewrote in assembly. If you can zip up the disk image and make it available for download somewhere I can try and investigate further.
Thanks Bob, I sent you the image link in a PM.
On this sd card, I have a lot of special files for other cores, including the DOS installation for the PC XT core, etc.
Maybe some of that is causing the problem, but with the same card updated many times, all the previous official and test versions of LFN browser worked, up to the previous 25-2.
Hope you can figure out what's going on here.
I tested Image only on ZX-Uno+, I didn't try it on emulators.
User avatar
Pegaz
Dynamite Dan
Posts: 1210
Joined: Mon Nov 13, 2017 1:44 pm

Re: Long Filename Browser for ZX-UNO / esxDOS

Post by Pegaz »

I investigated this issue further and here is what I noticed.
My sd card is formatted with slightly different parameters (cluster size 4096, starting sector 64), probably that the DOS system files would work correctly on the FAT32 partition.
When I formatted card with the default values ​​(cluster size 8196, starting sector 2048), the latest LFN test version worked, only my DOS instalation required for the PC XT core does not work, as before.
I also tried to activate the LOADTAP plugin with .plugcfg tap command, but I get the message that it cannot write the .ini file.
What else should I do to enable this option properly?
User avatar
bob_fossil
Manic Miner
Posts: 661
Joined: Mon Nov 13, 2017 6:09 pm

Re: Long Filename Browser for ZX-UNO / esxDOS

Post by bob_fossil »

Pegaz wrote: Wed Sep 20, 2023 1:19 pm Thanks Bob, I sent you the image link in a PM.
I don't appear to have a PM off you. My mailbox isn't full so I'm not sure what is going on.
User avatar
Pegaz
Dynamite Dan
Posts: 1210
Joined: Mon Nov 13, 2017 1:44 pm

Re: Long Filename Browser for ZX-UNO / esxDOS

Post by Pegaz »

bob_fossil wrote: Thu Sep 21, 2023 9:36 pm I don't appear to have a PM off you. My mailbox isn't full so I'm not sure what is going on.
Me neither.
Check your inbox, I guess it's ok now.
User avatar
Pegaz
Dynamite Dan
Posts: 1210
Joined: Mon Nov 13, 2017 1:44 pm

Re: Long Filename Browser for ZX-UNO / esxDOS

Post by Pegaz »

@bob_fossil

Definitely, cluster size makes a difference.
Last night I tried the latest @desUBIKado "Summer '23" 16Gb sd card image, with LFN 25-3 and I also have similar issues with messed up directory content.
This image is customized in a similar way as mine and formatted with 4096 cluster size.
As I mentioned yesterday, if I format FAT32 with default 8196 cluster size, everything works without issues.
The only problem that remains is the activation of the LOADTAP plugin, because after the .plugcfg tap, it always gives me a "Cant find .ini file" error.
SD card is not write protected, I can save inside LFN normaly.

edit:
Of course, its possible that also some content on the card causes problems with the latest test version.
One thing is certain, with previous 25-2, there were no issues at all.
User avatar
Pegaz
Dynamite Dan
Posts: 1210
Joined: Mon Nov 13, 2017 1:44 pm

Re: Long Filename Browser for ZX-UNO / esxDOS

Post by Pegaz »

Today I did a more comprehensive test of my ZX-Uno sd card with the latest LFN 25-3.
I ruled out the possibility, that cluster size was an important factor, after testing two different 16Gb SD cards, with 4096 and 8192 values.
In both cases, LFN worked well, with the minimum required files to work (just esxdos and a couple of folders, with a small number of files).
After I filled both cards with all my folders with thousands of tiny files, the LFN got stuck trying to read the directories with a frozen "working..." message in the header.
The most I can conclude from this, is that for some reason the latest LFN test version has some problem handling a huge amount of files, while the previous one works just fine.
I hope this could be useful to @bob_fossil , to find the cause of this.
User avatar
bob_fossil
Manic Miner
Posts: 661
Joined: Mon Nov 13, 2017 6:09 pm

Re: Long Filename Browser for ZX-UNO / esxDOS

Post by bob_fossil »

Pegaz wrote: Sun Sep 24, 2023 4:32 pm Today I did a more comprehensive test of my ZX-Uno sd card with the latest LFN 25-3.
I ruled out the possibility, that cluster size was an important factor, after testing two different 16Gb SD cards, with 4096 and 8192 values.
In both cases, LFN worked well, with the minimum required files to work (just esxdos and a couple of folders, with a small number of files).
After I filled both cards with all my folders with thousands of tiny files, the LFN got stuck trying to read the directories with a frozen "working..." message in the header.
The most I can conclude from this, is that for some reason the latest LFN test version has some problem handling a huge amount of files, while the previous one works just fine.
I hope this could be useful to @bob_fossil , to find the cause of this.
I spent over two hours debugging the FAT code last night which wasn't helped by the fact that FUSE wouldn't load that problematic disk .img file in so I had to resort to logging data to files to see what was going on as I had no debugger. It was the number of files in the directory. Large directories can span multiple clusters and the code to stop scanning the disk when it hits an empty cluster was missing a POP instruction - which caused it to go into an infinite loop. Next release will have this issue fixed.
User avatar
8BitSC
Microbot
Posts: 129
Joined: Mon Feb 13, 2023 1:23 am

Re: Long Filename Browser for ZX-UNO / esxDOS

Post by 8BitSC »

@bob_fossil Something I’ve noticed a couple of times now, is when copying a tap file from one folder and pasting into another, the browser pastes a PREVIOUSLY copied tap file and not the one I just copied.

I think this occurs if the Spectrum and DIVMMC have recently been powered up. The pasted file appears to be from a previous file-sorting session.

It’s easy to spot as I have my folders sorted alphabetically and unless I’m copying a file beginning with the same letter; on pasting, I end up with a tap file which is clearly in the wrong folder and there’s no sign of the file I just copied.

I’m using the current release version, not a beta.
User avatar
bob_fossil
Manic Miner
Posts: 661
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.

Bumped version to 0.99 as this is now a full assembly rewrite of the existing code and I wanted to differentiate it from the current version. I'm expecting bugs and broken features but these will be ironed out before I release version 1.00. I haven't exhaustively tested all the functionality and I haven't even looked at the divIDE version - all I know is that it assembled without errors. :)
User avatar
Pegaz
Dynamite Dan
Posts: 1210
Joined: Mon Nov 13, 2017 1:44 pm

Re: Long Filename Browser for ZX-UNO / esxDOS

Post by Pegaz »

bob_fossil wrote: Mon Sep 25, 2023 5:56 pm New test version available here.

Bumped version to 0.99 as this is now a full assembly rewrite of the existing code and I wanted to differentiate it from the current version. I'm expecting bugs and broken features but these will be ironed out before I release version 1.00. I haven't exhaustively tested all the functionality and I haven't even looked at the divIDE version - all I know is that it assembled without errors. :)
Just tried it briefly, so far so good, well done Bob. :)
It reads directories blazing fast, even massive ones.
The LOADTAP plugin configures correctly and works as it should.
I noticed one issue though, if I turn on 28Mhz turbo mode with F12, during loading games at standard speed, after the next reset, LFN stays permanently in turbo mode, even after performing a hard reset, only power off/on back everything to normal.
I tried to manually return to the default 3.5Mhz mode in the config screen (SHIFT+C), but to no effect at all.
Interestingly, this also happens with the loadpzx plugin, mostly after turning on turbo mode few times and load accelerated games to the end.
If the 28Mhz mode isnt used, everything is fine, loadtap, loadpzx and standard instant tap loading work just fine, as always.
jamesh
Dizzy
Posts: 83
Joined: Thu Jul 06, 2023 6:36 pm

Re: Long Filename Browser for ZX-UNO / esxDOS

Post by jamesh »

bob_fossil wrote: Mon Sep 25, 2023 5:56 pm Bumped version to 0.99 as this is now a full assembly rewrite of the existing code [...]
And it works well, thank you! One thing, though. Kempston input doesn't seem to work, Spectrum +2 with DivMMC Future. Anyone else seeing this?
User avatar
bob_fossil
Manic Miner
Posts: 661
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.

This should fix the reported Kempston joystick issue and the clipboard paste command which got broken in the assembly rewrite.
User avatar
8BitSC
Microbot
Posts: 129
Joined: Mon Feb 13, 2023 1:23 am

Re: Long Filename Browser for ZX-UNO / esxDOS

Post by 8BitSC »

...not QUITE fixed, @bob_fossil

Kempston is missing right movement detection. Left works fine but pushing right in a long file list should page down. It doesn't.

Left still works to page up.

Lefty Lucy, Righty ... ... ... NOPE

Edit: I just tested again and now both left and right perform a page up...

..and running .brwscfg just ends up eith a screen full of corruption on a 128K toastrack...
jamesh
Dizzy
Posts: 83
Joined: Thu Jul 06, 2023 6:36 pm

Re: Long Filename Browser for ZX-UNO / esxDOS

Post by jamesh »

.brwscfg doesn't crash for me on grey +2, but Kempston "right" works as "left/PgUp" with 0.99a2
User avatar
bob_fossil
Manic Miner
Posts: 661
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.

This should fix the reported issue with Kempston joystick right / page down not working correctly.

.brwscfg works for me. I've tested it on my +2 and under 128k emulation in Fuse and not encountered any issues.
Chris23235
Microbot
Posts: 145
Joined: Wed Dec 29, 2021 11:59 am

Re: Long Filename Browser for ZX-UNO / esxDOS

Post by Chris23235 »

I gave the new version my usual quick function test on the Omni and the eLeMeNt. Everything worked flawless, Kempston and .brwscfg made also no problems. @bob_fossil many thanks, wow, this browser got blazing fast.
jamesh
Dizzy
Posts: 83
Joined: Thu Jul 06, 2023 6:36 pm

Re: Long Filename Browser for ZX-UNO / esxDOS

Post by jamesh »

v0.99a3 doesn't seem to have any obvious problems with basic operations for me.
User avatar
bob_fossil
Manic Miner
Posts: 661
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.

This adds support for Sound Tracker Pro (.stp) music files. Debugging this new plugin also uncovered a bug introduced during the assembly rewrite which stopped the browser navigation keys moving to next, previous, first and last songs correctly during playback. This has been 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: Sun Nov 05, 2023 9:52 am New test version available here.

This adds support for Sound Tracker Pro (.stp) music files. Debugging this new plugin also uncovered a bug introduced during the assembly rewrite which stopped the browser navigation keys moving to next, previous, first and last songs correctly during playback. This has been fixed.
Can you please add to ZIP package also TXT info about used DIVMMC ram pages ? Now may be on DIVMMC used more than 128kB we need info about software expansion.

With new CPLD firmware(2023):
- on DIVMMC 128kB is used ram 0-4 for ESXDOS, ram 11 for system 8kB and as optional is possible use also own 32kB zx rom in ram pages 12-15.
- on DIVMMC 512kB is used ram 0-4 for ESXDOS, ram 59 for system 8kB and as optional is possible use also own 32kB zx rom in ram pages 60-63.
- but all new features are optional and may be unused and all existing software may work as before without new features.

Is is latest known layout current ? :
0,1,2,3,4 : Internal esxdos usage
5,6,7,8,9,10 : LFN browser RAM backup pages (NMI and .dot command versions)
11 : Internal esxdos usage
12 : plugin RAM backup for LFN browser code overwritten by the plugin at 32768
13 : 8k scratch for plugin usage
14 : 8k scratch for plugin usage

15 : unused/free
User avatar
bob_fossil
Manic Miner
Posts: 661
Joined: Mon Nov 13, 2017 6:09 pm

Re: Long Filename Browser for ZX-UNO / esxDOS

Post by bob_fossil »

velesoft wrote: Sun Nov 05, 2023 7:11 pm Can you please add to ZIP package also TXT info about used DIVMMC ram pages ? Now may be on DIVMMC used more than 128kB we need info about software expansion.
This is already included in the plugins/plugins_sdk.txt file.
velesoft wrote: Sun Nov 05, 2023 7:11 pm With new CPLD firmware(2023):
- on DIVMMC 128kB is used ram 0-4 for ESXDOS, ram 11 for system 8kB and as optional is possible use also own 32kB zx rom in ram pages 12-15.
- on DIVMMC 512kB is used ram 0-4 for ESXDOS, ram 59 for system 8kB and as optional is possible use also own 32kB zx rom in ram pages 60-63.
- but all new features are optional and may be unused and all existing software may work as before without new features.

Is is latest known layout current ? :
0,1,2,3,4 : Internal esxdos usage
5,6,7,8,9,10 : LFN browser RAM backup pages (NMI and .dot command versions)
11 : Internal esxdos usage
12 : plugin RAM backup for LFN browser code overwritten by the plugin at 32768
13 : 8k scratch for plugin usage
14 : 8k scratch for plugin usage

15 : unused/free
Yes, this is the current layout. I haven't changed this since I added in support for the modified divMMC CPLD firmware which has new mapram features in v0.24 of the browser.
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 »

Then for software developers here is memory layout for both DIVMMC 128 and 512kB models:

Here is known used DIVMMC 128kB ram pages :
0,1,2,3,4 : Internal esxdos usage
5,6,7,8,9,10 : LFN browser RAM backup pages (NMI and .dot command versions)
11 : Internal esxdos usage (for new CPLD firmware 2023)
12 : plugin RAM backup for LFN browser code overwritten by the plugin at 32768
13 : 8k scratch for plugin usage
14 : 8k scratch for plugin usage
15 : free/unused
New CPLD firmware 2023 may use also ram pages 12-15 for 128ROM emulation, but is is impossible use on DIVMMC 128kB parallel with LFN filebrowser by Bob Fossil (you can use only Bob's LFN or only 128ROM emul.(solution is use 512kB DIVMMC version)

Here is known used DIVMMC 512kB ram pages :
0,1,2,3,4 : Internal esxdos usage
5,6,7,8,9,10 : LFN browser RAM backup pages (NMI and .dot command versions)
11 : free/unused
12 : plugin RAM backup for LFN browser code overwritten by the plugin at 32768
13 : 8k scratch for plugin usage
14 : 8k scratch for plugin usage
15-58 : free/unused
59 : Internal esxdos usage (for new CPLD firmware 2023)
60-63 : ZX128 rom emulation (for new CPLD firmware 2023)
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 Nov 05, 2023 9:52 am New test version available here.

This adds support for Sound Tracker Pro (.stp) music files. Debugging this new plugin also uncovered a bug introduced during the assembly rewrite which stopped the browser navigation keys moving to next, previous, first and last songs correctly during playback. This has been fixed.
Thanks @bob_fossil my Omni and my eLeMeNt both work fine with the new version.
Post Reply