Proyecto de Bob Fossil cuya última versión siempre se puede descargar de aquí.
Parece que poco a poco va incluyendo todas las funcionalidades que ya tenía el navegador de Dr. Slump.
Puede seguir su desarrollo en esta entrada de Spectrum Computing
- Saving .sna snapshot files (Caps Shift + S) was broken in both the MMC and non MMC versions.
- Fixed file handle leak in the NMI and .browse dot command which would cause the browser to eventually stop working (requiring a power cycle / hard reset) if you entered the browser via the NMI then autostarted a game continually.
- Fixed issue on 128k machines where the file browser was getting corrupted if you entered the NMI in a game or demo that had switched the current memory bank.
- Added WAV plugin for ZX-UNO which lets you playback 15625khz 8 bit unsigned mono .wav files.
- Attach disk (Caps Shift + U) now supports SCL files on esxDOS 0.8.9
- SCL plugin can now autoload SCL disk images directly on esxDOS 0.8.9 without having to convert to a temporary TRD file.
- If you mounted a disk image as unit 0 and then another as unit 1 unit 0 was always being unmounted.
- Browser now determines disk unit status on startup so it shows correct state of any attached disks.
- Browser now shows '----' for empty disk units and 0123 for mounted units to match the ID used in the esxDOS .vdisk command.
- Symbol Shift + O didn't call the function to eject the output tape.
- Added function to eject a disk - Symbol Shift + U.
- Initial support for custom external font file '/bin/browse.fnt'. See fonts/font_format.txt for more information.
- Fixed reported issue where a filename starting with an ASCII character lower than '.' was sorted before the '..' parent directory listing.
- TRD plugin will now try and autostart the first basic (B) file on the disk if there is no 'boot.b' present on the disk.
- POK files now support a maximum of 128 POKE entries. Browser left and right keys now move between the screens of listed POKES.
- Removed unsupported keys from the help screens for the No_MMC_Memory build.
- Browser now disables ULAPlus palette on startup and restores it on exit.
- Browser now disables Radastan mode on startup and restores it on exit (ZX-UNO only).
- Added 'Auto detect device' option to the Advanced section in .brwscfg which works out the device number from the root folder rather than you having to set it. If you have this option enabled, it will override the value specified in 'Device Number'. Enable this option if you want the browser to support disks with multiple drives e.g. 'GOTO hd1'.
- Initial browser support for multiple partition disks (hd0 / hd1 / ...).
- Symbol Shift + V displays the selected file as text.
- Removed 8 poke limit from the CAPS SHIFT + K POKE command.
- Fixed FAT bug accessing sectors in the root cluster.
- Fixed LFN handling bug that caused the wrong long filename to be associated with an 8.3 filename.
- Caps Shift + D creates a 8.3 filename directory.
- Modified Find Mode behaviour so that searching for a single character matches the first character of the filename - giving you a quick way to jump to the first file for a given character.
- Find mode now shows 'Not found!' if it failed to find a matching entry.
- Default colour for selection was incorrectly set to FLASH not BRIGHT.
- Added TXT plugin to view text files.
- Added AY plugin to play .ay Z80 music files.
- Added ART and IPH plugins to handle hires C64 Art Studio and Interpaint files (needs ULAPlus for correct colours).
- Added MYM plugin to playback MYM packed YM/PSG audio files.
- Added Turbo Sound support to the PT3 plugin.
- Added MID plugin to play back midi files. Requires appropriate hardware and .playmid dot command in /BIN.
- Symbol Shift + Z will uncache a cached folder.
- Symbol Shift + R lets you rename 8.3 style filenames.
- You can now press BREAK when in a text input field (Save Snapshot, Rename, Poke) to abort the operation.
- Initial version of ROM plugin which uses the code in .ownrom to load a .ROM file from the browser. Your ROM must be 16384 bytes.
- Caps Shift + V will now launch the Browser hex file viewer so you can peek inside your files. Browser Up and Down moves the hex view backwards and forwards. Browser Left moves to the start of the file and Browser Right moves to the end. BREAK exits the viewer.
- Fixed reset crash when doing file information (Caps Shift + R) on a directory entry. Thanks to @desUBIKado for the bug report.
- Symbol Shift + 0 will let you assign the selected file to a speed dial (Symbol Shift 1 - 9). You will be prompted to select a speed dial to assign it to. If the speed dial is already in use you will have to confirm the new speed dial by pressing Shift + Y to overwrite it.
- Plugins can now access browser settings so they can use the correct keyboard and colour settings. All the plugins that implement file navigation have been updated to use this new functionality.
- POK plugin was always applying off values. Changed the UI so that space now toggles between 'Not Set', 'On' and 'Off'. If a poke is 'Not Set' it is ignored. For 'On' and 'Off' the relevant value is poked from the POK file. If the 'Off' value in the POK file is 0, it won't be applied. Thanks to @tom-cat and @alchemist for the bug reports.
- .brwscfg now uses the current browser colour settings. You can also restore default settings by pressing D.
- Fixed intermittent issue with the file selection going out of bounds after navigating to a cached folder. Thanks to @tom-cat for the bug report.
- Fixed reported crash with browse .dot command when exiting after navigating into a cached folder. Thanks to @tom-cat for the bug report.
- Fixed an issue where the wrong files were being selected in the folder after you quit out of certain plugins.
- Updated browser help files to include missing and newly added hotkeys.
- Added POK plugin to handle .pok files.
- Added Find Mode (Shift + F) to search for files inside a folder. File Information has now been moved to Shift + R.
- Added Speed Dial (Symbol Shift 1 - 9) keys to switch the browser to a specified folder or launch a specified file.
- You can now create cache files for folders (Shift + Z) to speed up the access time for large folders.
- Added file navigation keys to PT1, PT2, PT3, SQT and STC music player plugins.
- Fixed issue with FAT32 folder reading code which would cause corrupted folder reads in some situations.
- External command (Shift + L) caused a crash if you selected it for a file.
- File Information now shows the date for a file.
- Better handling of long filenames which get truncated - some filenames were overflowing the line.
- New plugin system to handle multiple file types from the browser. Now the browser supports pt1, pt2, pt3, stc, sqt, mg1, mg2, mg4, scr, bas, sna, z80, trd, scl, img, lce, pzx and tap files. 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.
- NMI.SYS now uses DivMMC memory pages. This removes the need to save the contents of the memory to the TMP folder whih should remove the speed bottleneck / delay on certain brands of SD-Card when entering the NMI. Thanks to @velesoft for providing information and advice on utilising the additional memory in the DivMMC. 'No NMI write (Slow SD Cards)' option in BRWSCFG is now deprecated.
- .browse dot command now uses DivMMC memory pages to save / restore the memory.
- Fullscreen browser now supports screen preview for v2/3 .z80 files (NMI only).
- Fullscreen browser now shows 'DIR' text for directories.
- If you saved a snapshot with the same name as an existing one, the operation would generate an error but the existing file was deleted.
- Fixed redrawing issue when deleting some characters in the text input field.
- Added fullscreen browser mode (toggle mode with Symbol Shift + F) which tries to show the loading screen from the currently sevlected .sna or .tap file.
- Text is now displayed with proportional widths to show more characters in longer filenames.
- Browser now shows '123/456' style index indicator in the status line to show the current file position in the directory.
- Stop flickering when updating the text input field.
- Increased key delay in the text input field to stop reported issues with key repeating.
- Wasn't applying any key delay when pressing DELETE to remove characters.
- Added setting 'Save last selection' to BRWSCFG. When enabled this writes a file /TMP/BROWSE.BMK which holds the current directory and selection index when you select an item for autostart or exit the browser. The next time you enter the browser - so long as the current directory hasn't changed - the selection is restored to the index from the bookmark. This may add a slight delay to autostarting and exiting as the 'bookmark' file is written to the disk.
- BRWSCFG now has settings categories: Look, Input, Misc and Advanced - to allow the addition of more options. You can switch between the categories with cursor left and right.
- Symbol Shift + I / O will eject the current input / output .tap.
- Symbol Shift + X will now exit the browser with a reset.
- Caps Shift + H now displays multiple help screens (/BIN/BRWSHLP1.SCR /BIN/BRWSHELP2.SCR).
- If you tried to erase a folder with Caps Shift + E, you got an error code 16.
- .SCR files are now shown if selected.
- Fixed bug where you couldn't display file information or delete the first item in the root '/' folder.
- File sorting now uses the long filename if available to avoid issues with 8.3 filenames that contain random characters that cause the sorting to put them in the wrong place.
- Added setting 'No NMI write (Slow SD Cards)' to BRWSCFG which disables the saving of RAM when entering the NMI to stop delays on slow SD cards. Be aware that with this option enabled, saving snapshots and POKEs are disabled. It's also highly likely to cause a reset rather than returning you to your previous state if you decide to exit the NMI browser with this setting enabled.
- Shift + F file information now shows the size of the file in bytes.
- Shift + E will erase the selected file. Press Shift + Y to confirm.
- NMI.SYS now creates a /TMP/ folder if not present to stop a reported issue with saving snapshots when the folder isn't there.
- NMIINIT .dot command now takes an optional filename path parameter to load another NMI.SYS .
- Initial support for saving snapshots in NMI. Shift + S now saves a 48k/128k .SNA file.
- Initial support for POKEs in NMI. Shift + K lets you enter up to 8 POKES which are then applied when you exit.
- Added support for X8 (28mhz) turbo mode on ZX-UNO (needs EXP27 core). Thanks to azesmbog for supplying the register information to enable this.
- Shift + U now attaches a .TRD file to a virtual device (0-3). The attached devices are shown as 0123 in the bottom status line when attached.
- Rewrote .SNA / .Z80 loading code to work more like the original esxdos NMI to fix reported issues.
- Added setting 'Remember last folder' to BRWSCFG. If you're several levels deep in a folder tree, when you navigate to the parent folder, the highlight will be put on the folder you were just inside rather than back at the start of the entries for that folder.
- Added additional delay for keypresses when moving the selection and not scrolling to make it less 'twitchy'.
- Shift + L will now exit the browser and auto type the selected filename into BASIC (.dot command only).
- Shift + F will now show information about the selected file.
- Shift + I / O will attach the selected .TAP file to tape input / output.
- 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.
- Fixed situation on FAT16 disks where the program fails to start and show the root folder contents.
- Added settings file - BIN/browse.cfg. Colour settings and the esxdos disk device are now taken from this file rather than using hard coded values. Use the included BRWSCFG .dot command to adjust the browser's settings.
- Large directory names weren't being truncated correctly.
- Added .pzx support. Requires a ZX-UNO with .pzx support and the .loadpzx command in BIN (with thanks to the ghost of Daley Thompson's Supertest 128 ).
- Added setting to display additional <DIR> text for directory entries.
- FAT32 code now handles 32 bit clusters correctly.
You can then use cursor up and down to move the value up or down. For colour settings, cursor up and down changes the PAPER value, cursor left and right changes the INK value and pressing B toggles BRIGHT.
Once you're happy, press ENTER to confirm the new value - the setting will stop FLASHing and you can move the '>' again.
Once you're done, press S to save your new settings or X to leave without saving. If you mess your settings file up with odd colours, delete BIN/browse.cfg and the browser will return to factory defaults.
- You can now use cursor left / right to scroll up and down a page of files.
- You can now use q and a keys to jump to the first and last entries in the list.
- Fix possible issue using incorrect register when autostarting .tap files.
- Optimisations to the 42 character print routine.
- For FAT16 discs, the root cluster contains a set amount of directory entries and the code wasn't taking the size of this area into account when calculating the disk sector offset from the starting cluster of a directory entry. This would manifest itself as showing the root directory but showing garbage or empty lists for the subfolders. Thanks to Spezzi63 for supplying me with a HDF file to debug with.
- Added .SNA and .Z80 autostart support via the .snapload dot command.
- Added 42 character display.
- Long filenames that spill over the screen are now truncated to fit the screen width and are indicated with an ellipsis character.
- You can now select and autostart .trd files.
- Now supports FAT32.
- Improved directory handling - some folders were being truncated or listing garbage entries.
- When you launch the browser it now starts from the current esxdos path, rather than dropping you back at the root folder every time.
To install, unzip and copy the BROWSE file into the root BIN folder (where all the other command files live) on your disk. You should then be able to enter:
from BASIC to launch the browser.
Cursor up / down - move selection
Space / Enter - select a folder or launch a supported file
Delete / P - navigate to parent folder
Break / X - exit browser
Issues (I'm aware of):
Currently supports FAT16 disks only.
Currently only reads from esxdos device 0.
Limit of browsing 256 files in a folder.
Only launches .tap files (no .sna / .trd support yet).
Doesn't start browsing from the current directory - always starts from the root folder.
Unsupported characters (> ASCII 127) are displayed as '~'.
Filenames (> 32 characters) are not clipped.