Long Filename Browser for ZX-UNO / esxDOS

Field Programmable Gate Array based devices! As exciting as they sound
User avatar
Cgonzalez
Drutt
Posts: 40
Joined: Thu Mar 15, 2018 10:03 pm
Location: Santiago, Chile

Re: New File Browser for ZX-UNO

Post by Cgonzalez »

Wow! This is Perfect! I was waiting a long time for this, Thank You!

A little suggestion, I've an omni 128, also a lot of rubber keys 48's, can u please add an option to change the cursors keys to be used without caps (ex. 5,6,7,8 keys) as this machines doesn't have a specifics keys for cursor control.

The nmi version is working sweet on my omni with esxdos 0.85, I just need to create the temp folder (by installing regular version) to make it work.
Image

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

Re: New File Browser for ZX-UNO

Post by bob_fossil »

Cgonzalez wrote: Wed May 13, 2020 2:50 am Wow! This is Perfect! I was waiting a long time for this, Thank You!

A little suggestion, I've an omni 128, also a lot of rubber keys 48's, can u please add an option to change the cursors keys to be used without caps (ex. 5,6,7,8 keys) as this machines doesn't have a specifics keys for cursor control.
Thanks for the kind words and feedback! I was thinking of letting the left, right, up, down and select be redefined or mapped to a joystick in the configuration editor so you could just use the browse from a joystick. The already existing special keys like first / last entry (e.g. Q & A) would need to be SHIFTed to distinguish them - this would also still let you use BREAK to exit and cursors to navigate.
pjrodriguez
Drutt
Posts: 23
Joined: Tue May 05, 2020 9:38 am

Re: New File Browser for ZX-UNO

Post by pjrodriguez »

Your new version works fine in my system, both the dot command and the nmi version.
However, if you are planning to take the nmi path in my opinion that would be a lot of work because the nmi version would be only usable if it had all the features present in the official esxdos nmi handler or even better Dr. Slump's custom nmi handler. That means at least saving snapshots, deleting and renaming files and so on. Of course it would be lovely if you could provide a complete nmi handler but I don't know if it's worth it.
Anyway in its present state the dot command is a pleasure to use and has changed the way I use my real Spectrum +3. Great work!
Last edited by pjrodriguez on Wed May 13, 2020 4:39 pm, edited 1 time in total.
User avatar
Seven.FFF
Manic Miner
Posts: 744
Joined: Sat Nov 25, 2017 10:50 pm
Location: USA

Re: New File Browser for ZX-UNO

Post by Seven.FFF »

bob_fossil wrote: Tue May 12, 2020 10:01 pm Keen eyed viewers will note that the .dot and .sys files are now just stubs which load in the new BROWSE.BIN file. I was running out of space in the ,dot command RAM bank so I've moved the code into normal RAM to give me more room (32768 onwards).
Does this cause problems if you launch the NMI window and then dismiss it again without launching a file - does BASIC get stomped on?

On the Uno and Next you can use other (non-128K) RAM banks paged in instead of the 5/2/n, but you don't have that on a standard Spectrum. Some divIDE/divMMCs also have up to 128K of separate RAM which can be swapped in at $2000, but you can't rely on all of them having that. I'm genuinely interested in how you're designing this, none of it is a criticism :)
Robin Verhagen-Guest
SevenFFF / Threetwosevensixseven / colonel32
NXtel NXTP ESP Update ESP Reset CSpect Plugins
User avatar
bob_fossil
Manic Miner
Posts: 654
Joined: Mon Nov 13, 2017 6:09 pm

Re: New File Browser for ZX-UNO

Post by bob_fossil »

pjrodriguez wrote: Wed May 13, 2020 3:11 pm Your new version works fine in my system, both the dot command and the nmi version.
However, if you are planning to take the nmi path in my opinion that would be a lot of work because the nmi version would be only usable if it had all the features present in the official esxdos nmi handler or even better Dr. Slump's custom nmi handler. That means at least saving snapshots, deleting and renaming files and so on. Of course it would be lovely if you could provide a complete nmi handler but I don't know if it's worth it.
Anyway in its present state the dot command is a pleasure to use and has changed the way I use my real Spectrum +3. Great work!
I take your points about the NMI version. Someone asked about it a while back and it wasn't as hard to implement as I thought it would be. It's not a replacement for the default or Dr Slump's custom NMI but it's good enough for me as I tend to do any file management on my PC - to allow for long file names.

Thanks again for the kind words. It's very humbling for a project I started as I kind of what-if prototype. :)
User avatar
bob_fossil
Manic Miner
Posts: 654
Joined: Mon Nov 13, 2017 6:09 pm

Re: New File Browser for ZX-UNO

Post by bob_fossil »

Seven.FFF wrote: Wed May 13, 2020 4:18 pm Does this cause problems if you launch the NMI window and then dismiss it again without launching a file - does BASIC get stomped on?

On the Uno and Next you can use other (non-128K) RAM banks paged in instead of the 5/2/n, but you don't have that on a standard Spectrum. Some divIDE/divMMCs also have up to 128K of separate RAM which can be swapped in at $2000, but you can't rely on all of them having that. I'm genuinely interested in how you're designing this, none of it is a criticism :)
When you enter the NMI, the first thing I do from inside the esxdos RAM page is save out the 48k to a file in the tmp folder - the default NMI only saves the .scr to a file, which it reloads when it quits to restore the screen. When you quit it without doing anything, I restore the RAM from the file which puts the memory back to how it was before the browser ran and esxdos does the rest.

It's probably more of an issue with the .dot command. This assumes 32768 and onwards is available which is usually true as if you're using .dot commands as you're in the BASIC. If you've got a sufficiently large BASIC program or code loaded in this will get overwritten by the browser and the buffers it uses for the file entries and long filenames.
User avatar
Luzie
Manic Miner
Posts: 906
Joined: Fri May 01, 2020 2:07 pm

Re: New File Browser for ZX-UNO

Post by Luzie »

bob_fossil wrote: Wed May 13, 2020 5:26 pm
pjrodriguez wrote: Wed May 13, 2020 3:11 pm Your new version works fine in my system, both the dot command and the nmi version.
However, if you are planning to take the nmi path in my opinion that would be a lot of work because the nmi version would be only usable if it had all the features present in the official esxdos nmi handler or even better Dr. Slump's custom nmi handler. That means at least saving snapshots, deleting and renaming files and so on. Of course it would be lovely if you could provide a complete nmi handler but I don't know if it's worth it.
Anyway in its present state the dot command is a pleasure to use and has changed the way I use my real Spectrum +3. Great work!
I take your points about the NMI version. Someone asked about it a while back and it wasn't as hard to implement as I thought it would be. It's not a replacement for the default or Dr Slump's custom NMI but it's good enough for me as I tend to do any file management on my PC - to allow for long file names.

Thanks again for the kind words. It's very humbling for a project I started as I kind of what-if prototype. :)
Maybe a way to think over is: Add loading of "New File Browser for ZX-UNO" via hotkey in Dr. Slump's custom nmi handler ( http://board.esxdos.org/viewtopic.php?pid=292#p292 ). Like Dr. Slump added loading the original "old" NMI with hotkey "J":

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

Re: New File Browser for ZX-UNO

Post by bob_fossil »

Luzie wrote: Wed May 13, 2020 6:06 pm Maybe a way to think over is: Add loading of "New File Browser for ZX-UNO" via hotkey in Dr. Slump's custom nmi handler ( http://board.esxdos.org/viewtopic.php?pid=292#p292 ). Like Dr. Slump added loading the original "old" NMI with hotkey "J":

Image
I did originally have some code in the NMI which tried to load in the default NMI (renamed to NMI.ORG) if you had shift pressed down when you entered the NMI but it was buggy. This also had the side effect of locking you back into the old NMI menu until you hard reset - which then reloads the newer NMI.SYS.
User avatar
bob_fossil
Manic Miner
Posts: 654
Joined: Mon Nov 13, 2017 6:09 pm

Re: New File Browser for ZX-UNO

Post by bob_fossil »

Another test version available here.

You can now enable Kempston joystick support in the BRWSCFG config editor. You can also set your own key controls for up, down, left, right and select. This means you now have to press Caps Shift to access the other existing keys, like Q, A, P, X (Break and Delete keys are pre-shifted).

Shift + N exits and restarts the NMI with the file at SYS/NMI.ORG - so you can now switch back to the default NMI or another custom handler (just rename it to NMI.ORG). To get back to the browse NMI without having to power cycle or hard reset, run the included .dot command NMIINIT.
User avatar
RMartins
Manic Miner
Posts: 776
Joined: Thu Nov 16, 2017 3:26 pm

Re: New File Browser for ZX-UNO

Post by RMartins »

Cgonzalez wrote: Wed May 13, 2020 2:50 am Wow! This is Perfect! I was waiting a long time for this, Thank You!

A little suggestion, I've an omni 128, also a lot of rubber keys 48's, can u please add an option to change the cursors keys to be used without caps (ex. 5,6,7,8 keys) as this machines doesn't have a specifics keys for cursor control.

The nmi version is working sweet on my omni with esxdos 0.85, I just need to create the temp folder (by installing regular version) to make it work.
Image

Regards
Nice LCD, exactly the right width for a speccy!
Can I ask where you got that ?
User avatar
Cgonzalez
Drutt
Posts: 40
Joined: Thu Mar 15, 2018 10:03 pm
Location: Santiago, Chile

Re: New File Browser for ZX-UNO

Post by Cgonzalez »

RMartins wrote: Thu May 14, 2020 10:22 pm
Cgonzalez wrote: Wed May 13, 2020 2:50 am Wow! This is Perfect! I was waiting a long time for this, Thank You!

A little suggestion, I've an omni 128, also a lot of rubber keys 48's, can u please add an option to change the cursors keys to be used without caps (ex. 5,6,7,8 keys) as this machines doesn't have a specifics keys for cursor control.

The nmi version is working sweet on my omni with esxdos 0.85, I just need to create the temp folder (by installing regular version) to make it work.
Image

Regards
Nice LCD, exactly the right width for a speccy!
Can I ask where you got that ?
https://retroradionics.co.uk/

Omni HQ Laptop
pjrodriguez
Drutt
Posts: 23
Joined: Tue May 05, 2020 9:38 am

Re: New File Browser for ZX-UNO

Post by pjrodriguez »

Everything fine with the new versión.
User avatar
Luzie
Manic Miner
Posts: 906
Joined: Fri May 01, 2020 2:07 pm

Re: New File Browser for ZX-UNO

Post by Luzie »

bob_fossil wrote: Tue May 12, 2020 10:01 pm For any brave souls, there's a test v0.06 available here.

The big difference here is initial support for an NMI version of the browser. You can still launch it with the .dot command but it should now work when you press F5 on your ZX-UNO (or SpecEmu :) ) or the NMI button on your actual esxdos supporting hardware.
Your NMI.SYS seem to rely on Start-Path /sys/nmi.sys
Could you please do a version which can be started from this Path: /sys/nmi/old086.sys or /sys/nmi/old085.sys
So I can try to use Dr. Slumps NMI navigator as default NMI-browser. And when in Dr. Slumps can call your New File Browser by pressing Hotkey J
Thanks in advance!
User avatar
bob_fossil
Manic Miner
Posts: 654
Joined: Mon Nov 13, 2017 6:09 pm

Re: New File Browser for ZX-UNO

Post by bob_fossil »

Luzie wrote: Fri May 15, 2020 7:17 pm Your NMI.SYS seem to rely on Start-Path /sys/nmi.sys
Could you please do a version which can be started from this Path: /sys/nmi/old086.sys or /sys/nmi/old085.sys
So I can try to use Dr. Slumps NMI navigator as default NMI-browser. And when in Dr. Slumps can call your New File Browser by pressing Hotkey J
Thanks in advance!
I'm not sure I understand what you want me to do? My NMI.SYS only references the following files:

Code: Select all

/bin/browse.bin	- the actual browser code to run, whether started from .dot or NMI
/tmp/browse.nmi	- temporary file to hold the RAM contents while in NMI
/sys/nmi.org	- browser path to 'default' SYS file to start when Shift + N is pressed (e.g. the original esxdos NMI.SYS)
There is no reference to /SYS/NMI.SYS in my NMI.SYS. You should be able to put it in those other folders (which I assume are the paths used by Dr Slump's NMI.SYS to restart to the default NMI) with it renamed to the old???.sys filename.
User avatar
Luzie
Manic Miner
Posts: 906
Joined: Fri May 01, 2020 2:07 pm

Re: New File Browser for ZX-UNO

Post by Luzie »

bob_fossil wrote: Fri May 15, 2020 9:51 pm I'm not sure I understand what you want me to do? My NMI.SYS only references the following files:

Code: Select all

/bin/browse.bin	- the actual browser code to run, whether started from .dot or NMI
/tmp/browse.nmi	- temporary file to hold the RAM contents while in NMI
/sys/nmi.org	- browser path to 'default' SYS file to start when Shift + N is pressed (e.g. the original esxdos NMI.SYS)
There is no reference to /SYS/NMI.SYS in my NMI.SYS. You should be able to put it in those other folders (which I assume are the paths used by Dr Slump's NMI.SYS to restart to the default NMI) with it renamed to the old???.sys filename.
Thanks to your help I found my error:
I was on wrong esxDOS-Version in my files on PC and in esxDOS 0.8.6 instead of 0.8.7:
I need to copy your /sys/nmi.sys to /sys/nmi/old087.sys
This works perfect for me on my first short tests.

SOLVED - See below (following two posts)
SOLVED: But this I not really understand:
bob_fossil wrote: Fri May 15, 2020 9:51 pm

Code: Select all

/sys/nmi.org	- browser path to 'default' SYS file to start when Shift + N is pressed (e.g. the original esxdos NMI.SYS)
Shouldn´t this read:
/sys/nmi.sys
SOLVED: and: I never read about a file /sys/nmi.org. And never heard about Shift + N on esxDOS. At which point can this be used?

Again: Thank you very much to get this going as I wanted it.

btw.: Before fixing my error esxDOS 0.8.7 with "Dr. Slumps Navigator "just shortly shows this while pressing Hotkey J in Dr. Slumps:
Image
Last edited by Luzie on Sat May 16, 2020 9:16 am, edited 5 times in total.
azesmbog
Manic Miner
Posts: 307
Joined: Sat May 16, 2020 8:43 am

Re: New File Browser for ZX-UNO

Post by azesmbog »

you rename old087.sys to nmi.org
or use the new NMI, or you can press shift + N and return to the original NMI handler.

Many thanks to the author! :)
But on my SD card, the first launch is very slow, apparently too many files) Seconds 5 probably no less, the original starts instantly.
User avatar
Luzie
Manic Miner
Posts: 906
Joined: Fri May 01, 2020 2:07 pm

Re: New File Browser for ZX-UNO

Post by Luzie »

azesmbog wrote: Sat May 16, 2020 8:51 am you rename old087.sys to nmi.org
or use the new NMI, or you can press shift + N and return to the original NMI handler.
Thank you!
Seems I missed this news info about version"BROWSE_TEST006-2.zip" and "Shift +N" on this posting:
viewtopic.php?f=9&t=2553&p=36752&hilit=nmi.org#p36752
Now I understand this and where "nmi.org" comes from.
And with this I can even load the original esxDOS NMI-browser from "New File Browser for ZX-UNO"
User avatar
bob_fossil
Manic Miner
Posts: 654
Joined: Mon Nov 13, 2017 6:09 pm

Re: New File Browser for ZX-UNO

Post by bob_fossil »

azesmbog wrote: Sat May 16, 2020 8:51 am you rename old087.sys to nmi.org
or use the new NMI, or you can press shift + N and return to the original NMI handler.

Many thanks to the author! :)
But on my SD card, the first launch is very slow, apparently too many files) Seconds 5 probably no less, the original starts instantly.
Thanks for the kind words and technical support you supplied. :) Yes, the first time you run my NMI.SYS it takes a while to start as it has to create the /TMP/BROWSE.NMI file for the first time. The file is also larger than the file the original NMI creates - I save the whole RAM to disk whereas the original NMI just saves the screen. I guess there is an overhead in esxdos creating a new file and updating the FAT on the card / disk. The delay seems to go away the next time you enter the NMI. Having a lot of files in a folder will increase the time it takes to read the information from the FAT and then sort it into order.
User avatar
bob_fossil
Manic Miner
Posts: 654
Joined: Mon Nov 13, 2017 6:09 pm

Re: New File Browser for ZX-UNO

Post by bob_fossil »

Luzie wrote: Sat May 16, 2020 9:08 am Thank you!
Seems I missed this news info about version"BROWSE_TEST006-2.zip" and "Shift +N" on this posting:
viewtopic.php?f=9&t=2553&p=36752&hilit=nmi.org#p36752
Now I understand this and where "nmi.org" comes from.
And with this I can even load the original esxDOS NMI-browser from "New File Browser for ZX-UNO"
Glad you got it sorted out.
User avatar
bob_fossil
Manic Miner
Posts: 654
Joined: Mon Nov 13, 2017 6:09 pm

Re: New File Browser for ZX-UNO

Post by bob_fossil »

v0.06
  • Added NMI.SYS file so you can now use browse as an NMI replacement. Please note that PZX support is disabled when running from the NMI.
  • Kempston joystick support (enable in BRWSCFG).
  • Made navigation (up, down, left, right) and select keys user definable (set in BRWSCFG).
  • Shift + H now shows the in-app help (BIN/BRWSHELP.SCR).
  • Shift + N will now restart the NMI with the file SYS/NMI.ORG. So if you copied the esxdos NMI.SYS to this path, Shift + N would restart the NMI using the default esxdos NMI. To restore the browse NMI, either run the supplied .dot command NMIINIT or hard reset / power cycle your machine.
  • Shift + T cycles ZX-UNO turbo modes - none (3.5mhz), X2 (7mhz) and X4 (14mhz).
  • Shift + M cycles ZX-UNO machine / video timings - 48, 128 and Pentagon.
  • Added NMIINIT .dot command to restore the default SYS/NMI.SYS NMI handler (e.g. if you've done Shift+N and then want to switch back to the default NMI).
  • Previous hotkeys like Q, A and P now have to be SHIFTed.
  • PZX file are only autostarted if you're on a ZX-UNO.
  • If the long file name buffer is full up, the browser will fallback to using 8.3 filenames.
  • Increased maximum number of files allowed in a folder from 256 to 426.
  • Fix reported issue with directories that have 8.3 style filenames.
  • Added 'Working...' indicator text to show that something is happening for larger directories.
  • Replaced hacky .BAS file support with proper autostart support.
Download.
azesmbog
Manic Miner
Posts: 307
Joined: Sat May 16, 2020 8:43 am

Re: New File Browser for ZX-UNO

Post by azesmbog »

bob_fossil wrote: Sun May 17, 2020 4:14 pm
[*]Shift + T cycles ZX-UNO turbo modes - none (3.5mhz), X2 (7mhz) and X4 (14mhz).
[*]Shift + M cycles ZX-UNO machine / video timings - 48, 128 and Pentagon.
Interesting options, but very beloved. I would like to visually see that I switched to the next one.
If it does not greatly affect the size of the code, then let, for example, the border blink for a second in a different color when switching.
Yes, and x8(28 MHz) also needs TURBO for the SID file player
.SCL files would also be desirable to run directly from the browser, without conversion.

And yes, thanks for the new version! :)
User avatar
bob_fossil
Manic Miner
Posts: 654
Joined: Mon Nov 13, 2017 6:09 pm

Re: New File Browser for ZX-UNO

Post by bob_fossil »

azesmbog wrote: Sun May 17, 2020 9:28 pm
Interesting options, but very beloved. I would like to visually see that I switched to the next one.
If it does not greatly affect the size of the code, then let, for example, the border blink for a second in a different color when switching.
Yes, and x8(28 MHz) also needs TURBO for the SID file player
.SCL files would also be desirable to run directly from the browser, without conversion.

And yes, thanks for the new version! :)
When you change turbo you should see something like 'X2' or 'X4' on the bottom status line (nothing is shown when running without turbo). For the machine timings the texts '48', '128' and 'PEN' should be shown on the bottom status line.

Is the x8 28 MHZ mode both bits 7 + 6 set on the SCANDBLCTRL_REGISTER? Is it supported by all ZX-UNOs? Thanks.
azesmbog
Manic Miner
Posts: 307
Joined: Sat May 16, 2020 8:43 am

Re: New File Browser for ZX-UNO

Post by azesmbog »

And, for sure, I didn’t notice)) My right side of the monitor is a bit closed)
So clearly visible.
x8 (28MHz) is supported in version 0.27, in previous versions only x4 is possible
you can always check with a command with a dot .zxunocfg
There yes, two bits must be switched.
A SID player can work at a standard frequency, but several files require exactly 28 MHz, even at 14 they do not have time to play normally. But there are very few of them.
User avatar
Pobulous
Dynamite Dan
Posts: 1358
Joined: Wed Nov 15, 2017 12:51 pm

Re: New File Browser for ZX-UNO

Post by Pobulous »

Finally had the chance to try this on my +2e with DivMMC EnJOY! *mini*

The LFN support is a gamechanger. I will now need to redo the games on the card, as a lot of them have names mangled into the 8.3 format.

It's great to have a new filebrowser in such active development.
User avatar
bob_fossil
Manic Miner
Posts: 654
Joined: Mon Nov 13, 2017 6:09 pm

Re: New File Browser for ZX-UNO

Post by bob_fossil »

Pobulous wrote: Tue May 19, 2020 8:09 pm Finally had the chance to try this on my +2e with DivMMC EnJOY! *mini*

The LFN support is a gamechanger. I will now need to redo the games on the card, as a lot of them have names mangled into the 8.3 format.

It's great to have a new filebrowser in such active development.
Thanks for the kind words and feedback! Nice to hear it's working with actual hardware. I had a similar experience going through my SD Card and replacing various cryptic filenames with more descriptive versions.
Post Reply