Long Filename Browser for ZX-UNO / esxDOS

Field Programmable Gate Array based devices! As exciting as they sound
azesmbog
Manic Miner
Posts: 306
Joined: Sat May 16, 2020 8:43 am

Re: New File Browser for ZX-UNO

Post by azesmbog »

bob_fossil wrote: Thu Nov 12, 2020 10:16 pm Does .snapload load your snapshot correctly?
I figured out the strange work of the snapshot and made it work correctly .. He also loaded earlier, and tried to work, but crooked.
I’m even at a loss to say whether this is version 0.27 or a browser problem :) I hope that no one else will come across this, and snapshots are rarely used. Let's refer this to random insignificant fluctuations :)
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 »

tom-cat wrote: Sun Nov 15, 2020 6:13 pm btw. would be nice to have common navigation handling in the plugins as it is in the browser. Maybe a way to include the code that reads the configuration for the keys and a routine that scans them and returns if one of the navigation keys were pressed ? Possibly too much hassle, but if it is simple to do would be nice.
Maybe some sort of callback mechanism from the plugin into the browser so you could do input processing or other stuff like displaying messages in the browser from the plugin? That would require some code juggling as the input code uses the nice z88dk functions to do this and the area of memory they live in gets loaded over when the plugin is started. I'll have a think about it.

One way to hack around the issue would be to load the browser config file

Code: Select all

/bin/browse.cfg
into memory in your plugin and pull values from that. This has the following layout:

Code: Select all

struct settings
	{
	unsigned char attr_top_line;
	unsigned char attr_bottom_line;
	unsigned char attr_border;
	unsigned char attr_file;
	unsigned char attr_dir;
	unsigned char attr_selection;
	unsigned char device_number;
	unsigned char flags;
	unsigned char flags2;
	unsigned char key_up;
	unsigned char key_down;
	unsigned char key_left;
	unsigned char key_right;
	unsigned char key_select;
	};
key_up, key_down etc are the scancodes for the browser navigation keypresses. To see whether we're using Kempston joystick input, AND flags with 0x2. You'd then need to include your own keyboard / joystick handling code. :)
tom-cat
Drutt
Posts: 43
Joined: Sat Oct 03, 2020 7:39 am

Re: New File Browser for ZX-UNO

Post by tom-cat »

Thanx for the info. For now will leave it as it is... working nicely.
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: Mon Nov 09, 2020 6:30 pm I've had to switch over to Fuse. During development of the new browser features in v12 and later I found that SpecEmu didn't seem to emulate the divMMC's 128k of memory correctly (only the 32k needed for esxdos to run) which I'm now using for saving the RAM contents and plugins.
Just for clarification: I discovered an error here: SpecEmu only support divIDE-Emulation and no divMMC-Emulation. I made a mistake here, when I write that I used SpecEmu with divMMC-Emulation.
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 »

New test version available here.

Added new plugins to support Pro Tracker 1.x modules (PT1) and multiArtist 8x4 images (MG4).

Is anyone still using the .browse dot command or can I get rid of it and assume everyone is now using the NMI version? :)
tom-cat
Drutt
Posts: 43
Joined: Sat Oct 03, 2020 7:39 am

Re: New File Browser for ZX-UNO

Post by tom-cat »

bob_fossil wrote: Sun Nov 22, 2020 4:22 pm New test version available here.

Added new plugins to support Pro Tracker 1.x modules (PT1) and multiArtist 8x4 images (MG4).

Is anyone still using the .browse dot command or can I get rid of it and assume everyone is now using the NMI version? :)
On DivIDE that does not have 128k ram it is very usefull since it means a faster start and no writing to the CF card. I do use .b shortcut more often than actual NMi button I think :)
azesmbog
Manic Miner
Posts: 306
Joined: Sat May 16, 2020 8:43 am

Re: New File Browser for ZX-UNO

Post by azesmbog »

bob_fossil wrote: Sun Nov 22, 2020 4:22 pm Added new plugins to support Pro Tracker 1.x modules (PT1) and multiArtist 8x4 images (MG4).
Good job. But I would be more interested in the 8x1 image viewer
and a file player SAA1099 - there are more than 600 melodies, there is something to listen to on ZX Uno :)
Spezzi63
Drutt
Posts: 44
Joined: Sat Dec 28, 2019 1:36 pm

Re: New File Browser for ZX-UNO

Post by Spezzi63 »

tom-cat wrote: Sun Nov 22, 2020 6:16 pm
bob_fossil wrote: Sun Nov 22, 2020 4:22 pm New test version available here.

Added new plugins to support Pro Tracker 1.x modules (PT1) and multiArtist 8x4 images (MG4).

Is anyone still using the .browse dot command or can I get rid of it and assume everyone is now using the NMI version? :)
On DivIDE that does not have 128k ram it is very usefull since it means a faster start and no writing to the CF card. I do use .b shortcut more often than actual NMi button I think :)
Hello,
currently is "No_MMC_Memory v0.12" for DivIDE.
When a new version detects the size of RAM, the version number can also follow again 8-)
Regards,
Guenter
pjrodriguez
Drutt
Posts: 23
Joined: Tue May 05, 2020 9:38 am

Re: New File Browser for ZX-UNO

Post by pjrodriguez »

bob_fossil wrote: Sun Nov 22, 2020 4:22 pm New test version available here.

Added new plugins to support Pro Tracker 1.x modules (PT1) and multiArtist 8x4 images (MG4).

Is anyone still using the .browse dot command or can I get rid of it and assume everyone is now using the NMI version? :)
Thank you again for the new updates.
Yes, I am using the .browse dot command since I'm still using Dr Slump's NMI handler.
Please don't drop the .browse dot command!
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 »

New test version available here.

Added plugins for viewing multiArtist 8x1 (MG1) and 8x2 (MG2) image files. MG1 files need Pentagon timings to display correctly (Shift +M if you're running on a ZX-UNO). Perhaps some kind person can see if the plugin code (mg1_viewer.asm) can be fixed for classic Spectrum timings? I've also restored the option to skip saving memory when entering the NMI for the No MMC Memory version of BRWSCFG.
spykoni
Drutt
Posts: 14
Joined: Sat Jan 11, 2020 10:08 pm
Location: Athens, Greece

Re: New File Browser for ZX-UNO

Post by spykoni »

has it been tested on 0.0.8 ESXDOS version and on a +3 and DivMMC Pro Enjoy? I followed carefully the instructions, tried with both
0 and 1 as "device numbers", but doesn't work
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 »

spykoni wrote: Wed Dec 02, 2020 1:49 pm has it been tested on 0.0.8 ESXDOS version and on a +3 and DivMMC Pro Enjoy? I followed carefully the instructions, tried with both
0 and 1 as "device numbers", but doesn't work
Any message while booting? Has 0.8.8 esxDOS "alone" bootet OK before adding New File Browser for ZX-UNO-Files? Maybe you could post a screenshot here if there´s anything reported on screen.
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 »

spykoni wrote: Wed Dec 02, 2020 1:49 pm has it been tested on 0.0.8 ESXDOS version and on a +3 and DivMMC Pro Enjoy? I followed carefully the instructions, tried with both
0 and 1 as "device numbers", but doesn't work
I only ever test with the Fuse emulator and my ZX Uno - I don't possess any real DivMMC hardware. A couple of posters in this thread have mentioned using the DivMMC Enjoy so it must work for them.

If you try and launch the browser with the dot command '.browse' from BASIC and get a black border, the browser is failing to read the boot sector which it needs to read the directory structure from the disk. This is usually down to the device number being incorrect in the settings. Usually 0 or 1 does the trick but it does go up to seven, so you might need to play around with all the possible values. Without further information, I don't know what else to suggest. What size SD card are you using and how is it formatted?
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 »

Tried under Fuse with divMMC and +3 Emulation, and starts without problems via NMI key:

Image

Not yet transfered files to my real hardware "DivMMC Pro Enjoy", but as I don´t own a +3 I´m not able to test this all together on real machine.
spykoni
Drutt
Posts: 14
Joined: Sat Jan 11, 2020 10:08 pm
Location: Athens, Greece

Re: New File Browser for ZX-UNO

Post by spykoni »

Luzie wrote: Wed Dec 02, 2020 5:30 pm
spykoni wrote: Wed Dec 02, 2020 1:49 pm has it been tested on 0.0.8 ESXDOS version and on a +3 and DivMMC Pro Enjoy? I followed carefully the instructions, tried with both
0 and 1 as "device numbers", but doesn't work
Any message while booting? Has 0.8.8 esxDOS "alone" bootet OK before adding New File Browser for ZX-UNO-Files? Maybe you could post a screenshot here if there´s anything reported on screen.
No extra messages while booting. It boots normally. The problem starts as soon as I press the blue NMI button (nothing happens) and when i give
.browse ( a white screen with blue border appears with the OK message).
btw, what I notice is a slower response to the keyboard typing .
spykoni
Drutt
Posts: 14
Joined: Sat Jan 11, 2020 10:08 pm
Location: Athens, Greece

Re: New File Browser for ZX-UNO

Post by spykoni »

bob_fossil wrote: Wed Dec 02, 2020 5:57 pm
spykoni wrote: Wed Dec 02, 2020 1:49 pm has it been tested on 0.0.8 ESXDOS version and on a +3 and DivMMC Pro Enjoy? I followed carefully the instructions, tried with both
0 and 1 as "device numbers", but doesn't work
I only ever test with the Fuse emulator and my ZX Uno - I don't possess any real DivMMC hardware. A couple of posters in this thread have mentioned using the DivMMC Enjoy so it must work for them.

If you try and launch the browser with the dot command '.browse' from BASIC and get a black border, the browser is failing to read the boot sector which it needs to read the directory structure from the disk. This is usually down to the device number being incorrect in the settings. Usually 0 or 1 does the trick but it does go up to seven, so you might need to play around with all the possible values. Without further information, I don't know what else to suggest. What size SD card are you using and how is it formatted?
Finally, I made it work, following the lines of your suggestion. I was checking all possible device number values and it worked for the value 5!
(the SD card is FAT 32)
spykoni
Drutt
Posts: 14
Joined: Sat Jan 11, 2020 10:08 pm
Location: Athens, Greece

Re: New File Browser for ZX-UNO

Post by spykoni »

I will mention another problem that I encountered with this file browser.
As referred to my previous comment, I work on a +3, with a DivMMC Enjoy Pro and my SD card
is FAT 32 formatted. In order to make the browser work (both with the NMI button and the .browse command), I had
to switch the Device Number to 5. The browser seemed to work perfectly as long as I had not opened a directory with
a large number of files (but less than 80). After some number of files (I did not count them), the browser renamed the
rest of the files with the names of the first files of the directory, adding an underscore in the beginning. For example,
say that I'm in the directory GAMES/Shoot 'Em Up and the files go as follows:
Arcadia
Jetpac
Penetrator
Pheenix
...
...
Xenon
Zynaps

then if the files in the directory exceed a given number (which I did not determine), but it should be around 50, then the browser renames
the rest of the files in alphabetical order with the names of the first entries. For example if the number of "crashing" comes around the entry
"Xenon", then it will be renamed as _Arcadia.
Initially I was thinking that those files were some hidden trash and I started deleting them, until I realised that I was deleting my files.
Unfortunately I had kept a back up.
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 »

New test version available here.

Last test version before proper v013 release. External command (Shift + L) had stopped working. Also made a couple of small optimisations to the FAT handling code. Hopefully I've not broken anything else.
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 »

spykoni wrote: Fri Dec 04, 2020 8:04 am I will mention another problem that I encountered with this file browser.
As referred to my previous comment, I work on a +3, with a DivMMC Enjoy Pro and my SD card
is FAT 32 formatted. In order to make the browser work (both with the NMI button and the .browse command), I had
to switch the Device Number to 5. The browser seemed to work perfectly as long as I had not opened a directory with
a large number of files (but less than 80). After some number of files (I did not count them), the browser renamed the
rest of the files with the names of the first files of the directory, adding an underscore in the beginning. For example,
say that I'm in the directory GAMES/Shoot 'Em Up and the files go as follows:
Arcadia
Jetpac
Penetrator
Pheenix
...
...
Xenon
Zynaps

then if the files in the directory exceed a given number (which I did not determine), but it should be around 50, then the browser renames
the rest of the files in alphabetical order with the names of the first entries. For example if the number of "crashing" comes around the entry
"Xenon", then it will be renamed as _Arcadia.
Initially I was thinking that those files were some hidden trash and I started deleting them, until I realised that I was deleting my files.
Unfortunately I had kept a back up.
Any chance you can try with another SD card? I suspect there's something specific I'm not handling with your card. That you're having to set the device to 5 where most people can use the default setting of 0 (and the other cases are handled with 1) suggests there's something non standard with the card you're using. I have a large sub folder (300+ files) full of .tap files I use for testing and do not get or see the behaviour you describe.
azesmbog
Manic Miner
Posts: 306
Joined: Sat May 16, 2020 8:43 am

Re: New File Browser for ZX-UNO

Post by azesmbog »

Thanks for the new version, I'll check back later.

Previous report, feedback
I checked my pictures in MG1 format.
It seems normal to show
MG4 - writes invalid filetype
But I have the main IMG format - I like it more, so it seems to be good in it, the screen flickers, but this is how it should be :)

Yes, I also wanted to ask, how much does your browser use Div MMC memory? In ZXuno, the test shows 128k DIV memory, but I tried expanding to 256k DIV. I understand that 128k is already a lot?
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 Dec 06, 2020 7:00 pm Thanks for the new version, I'll check back later.

Previous report, feedback
I checked my pictures in MG1 format.
It seems normal to show
MG4 - writes invalid filetype
But I have the main IMG format - I like it more, so it seems to be good in it, the screen flickers, but this is how it should be :)

Yes, I also wanted to ask, how much does your browser use Div MMC memory? In ZXuno, the test shows 128k DIV memory, but I tried expanding to 256k DIV. I understand that 128k is already a lot?
Thanks for the report. The .mg4 files from zxart.ee and included in the multiartist source package were 15616 bytes so that's the file size I use for mg4. If the mg4 file is 13824 (6912 * 2) then you can try and rename it to .img and it should display. On my ZX-Uno with my LCD TV, the flicker isn't noticeable at all - the image is solid so the effect works really well. :)

As for the memory usage, quoting from plugins/plugin_sdk.txt:

Code: Select all

Memory
------

Plugins assume a minimum 128k of pageable divMMC memory is available. The page usage is as follows:

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

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.13
  • New plugin system to handle multiple file types from the browser. Plugins are located in '/BIN/BPLUGINS'. See 'plugins/plugins_info.txt' for the list of supported files and 'plugins/plugins_sdk.txt' for technical information about writing your own browser plugin. Plugins are not supported by the 'No_MMC_Memory' version.
  • PZX file loading on the ZX-UNO now works from the NMI.
  • An 8.3 filename could end up being named with a left over LFN entry in the FAT.
  • Speed up navigation performance when moving the selection scrolls the file list up or down by a line.
  • External command (Shift + L) code stopped working after the previous changes to support MMC memory banks.
  • Couple of small optimisations to the FAT code.
Download here.
azesmbog
Manic Miner
Posts: 306
Joined: Sat May 16, 2020 8:43 am

Re: New File Browser for ZX-UNO

Post by azesmbog »

bob_fossil wrote: Sun Dec 13, 2020 4:17 pm
[*]New plugin system to handle multiple file types from the browser.
What is meant by the phrase "multiple file types"?
Thanks for the plugin sources. Finally, I took a closer look at the PT1, PT2 and PT3 sources.
Still, this browser is mainly :))) for ZXUno, so I still made a .ETC plugin for myself.
There are about 600 music tracks for the SAA1099 chip.
It was interesting and informative for me to remember about him again.
Two versions, the first - it worked right away, but the sound does not turn off. It seems that ESXDos version 0.8.8 should jam SAA?
The second version is slightly larger, but it seems to turn off the sound :)
Well, and the question is - is it possible to make the files play either in turn, or by accident, or by pressing a button to play the next file?
This can be seen, for example, in the .SCR plugin?
https://drive.google.com/file/d/1wYdEMy ... sp=sharing
The plugin itself and a few files to try :)
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 Dec 13, 2020 10:47 pm What is meant by the phrase "multiple file types"?
"Multiple file types" means that the browser handles or has support for the displaying, launching or playing of more than one type of file. It was just a shorter way of writing:

"the browser supports pt1, pt2, pt3, stc, sqt, mg1, mg2, mg4, scr, bas, sna, z80, trd, scl, img, lce, pzx and tap files"
azesmbog wrote: Sun Dec 13, 2020 10:47 pm Thanks for the plugin sources. Finally, I took a closer look at the PT1, PT2 and PT3 sources.
Still, this browser is mainly :))) for ZXUno, so I still made a .ETC plugin for myself.
There are about 600 music tracks for the SAA1099 chip.
It was interesting and informative for me to remember about him again.
Two versions, the first - it worked right away, but the sound does not turn off. It seems that ESXDos version 0.8.8 should jam SAA?
The second version is slightly larger, but it seems to turn off the sound :)
Does the normal ZX-UNO Spectrum core handle have support for the SAA1099 chip?
azesmbog wrote: Sun Dec 13, 2020 10:47 pm Well, and the question is - is it possible to make the files play either in turn, or by accident, or by pressing a button to play the next file?
This can be seen, for example, in the .SCR plugin?
You need to set PLUGIN_NAVIGATE in the returned 'a' register and set 'bc' to the navigation code. From plugins/plugins_sdk.txt

Code: Select all

File Navigation
---------------

The plugin can return PLUGIN_NAVIGATE if it wants to do something with another supported file in the same folder. If you returned this from the SCR plugin, this would be the correpsonding .scr file in the folder - e.g. PLUGIN_NAVIGATE_NEXT gets the next .scr file from the current file. If no such file exists, the plugin exits and returns control back to the browser. If you return this, you need to set the bc register to one of the following values:

PLUGIN_NAVIGATE_NEXT - get the next supported file
PLUGIN_NAVIGATE_PREVIOUS - get the previous supported file
PLUGIN_NAVIGATE_FIRST - get the first supported file
PLUGIN_NAVIGATE_LAST - get the last supported file

    ld a, PLUGIN_NAVIGATE
    ld bc, PLUGIN_NAVIGATE_NEXT
    ret

Hope this is clear.
azesmbog
Manic Miner
Posts: 306
Joined: Sat May 16, 2020 8:43 am

Re: New File Browser for ZX-UNO

Post by azesmbog »

bob_fossil wrote: Sun Dec 13, 2020 11:12 pm Hope this is clear.
Not really :))
But I understood the general meaning.
It was like this:

Code: Select all

	pop ix
	ld a, PLUGIN_OK|PLUGIN_RESTORE_BUFFERS
	ret
I did it like this:

Code: Select all

    pop ix
    ld a, PLUGIN_OK|PLUGIN_RESTORE_BUFFERS|PLUGIN_NAVIGATE
    ld bc, PLUGIN_NAVIGATE_NEXT
    ret
Or a lot of unnecessary things ??
It seems to work. One way :)
Then I'll take a closer look at the SDK too.
Thank you.

There is no SAA in the official build, but there are a few unofficial kernels with the added chip.
https://www.zxuno.com/forum/viewtopic.p ... a518dda643
Para la FLASH de 16 MB los cambios son:
Slot 1: El core de Spectrum vuelve a ser el core EXP27-240320 versión de azesmbog con el UART deshabilitado y soporte SAA1099.
Post Reply