.$
The command produces the following help output:
$ v1.2 by Garry Lancaster Executes any dot command with a string argument. SYNOPSIS: .$ <COMMAND> <LETTER>$ INFO: eg: LET x$="myfile.dsk" .$ DEFRAG x$ does the same as: .DEFRAG myfile.dsk
Source here.
.ASSOCIATE
The command produces the following help output:
ASSOCIATEv1.1 by Garry Lancaster Manage Browser file associations SYNOPSIS: .ASSOCIATE [OPTION] OPTIONS: -h, --help Display this help -s, --show TYPE Show entry for TYPE -d, --delete TYPE Delete entry for TYPE -a, --add TYPE "LINE" Add/replace entry for TYPE -l, --list List all entries INFO: TYPE is 1-3 chars (? * allowed) LINE starts with: : return to menu afterwards < return to Browser afterwards ; return to BASIC afterwards Remainder of the line are BASIC commands to execute. | is replaced by filename ` is replaced by language code Use \" to include quote in line
Source here.
.BAS2TXT
The command produces the following help output:
BAS2TXT v1.2 by Garry Lancaster Convert BASIC file to text SYNOPSIS: .BAS2TXT [OPT] BASFILE [TXTFILE] OPTIONS: -h, --help Display this help -s, --strip Strip line numbers -z, --cr ZX (CR) line-ends (default) -u, --lf Unix (LF) line-ends -c, --crlf CP/M & Win (CRLF) line-ends -n, --nobnk Don't process extra .BNKs For an input file EXAMPLE.BAS, files named EXAMPLE-*.BNK will be processed as banked sections Individual banked sections can be processed if desired, eg .BAS2TXT EXAMPLE.BNK
Source here.
.BMPCONV
The command produces the following help output:
.bmpconv <-options> <filename> to convert image to Next format. tiles or bitmap. options :- -i = save image, default tilemap -b = map is saved in bytes -8 = block size 8x8, norm 16x16 -t = include tileset base -2 = save 2MB layout -r = don't remove repeat tiles
Source here.
.BMPLOAD
The command produces the following help output:
.bmpload <filename> to load image to background
Source here.
.BOOT
The following text describing the command was found by hand examination of its source or binary:
Boot v1.5 - SpecNext / emook'19 Boots to another personality from NextZXOS This will overwrite your config.ini! .boot [0-99] eg .boot 2,
(Closed source?)
.BROWSE
The command produces the following help output:
BROWSE v1.2 by Garry Lancaster Uses Browser to select filename SYNOPSIS: .BROWSE [OPTION]... VARIABLE$ OPTIONS: -h, --help Display this help -t, --type EXT Add EXT to selectable types Wildcards * or ? allowed Multiple -t options allowed -p, --prompt PROMPT Custom help prompt Can include: \i inverse on \o inverse off -s, --save Ask for new filename -e, --edit PROMPT Custom prompt for edit/save -8, --8.3 Return short name (not LFN) -r, --rename Allow rename with R key -d, --delete Allow erase with E key -k, --mkdir Allow mkdir with K key -m, --remount Allow remount with M key -u, --unmount Allow unmount with U key -c, --copy Allow copy/paste with C/P
Source here.
.CD
The command produces the following help output:
CD v1.0 by Gari Biasillo Change current directory SYNOPSIS: .CD [OPTION]... DIR... OPTIONS: -v, --verbose Verbose output -h, --help Display this help INFO: .CD ... is the same as two cd .. commands .CD .... is the same as three cd .. commands .CD ..... is the same as four cd .. commands
Source here.
.CHMOD
The command produces the following help output:
CHMOD v1.0 by Garry Lancaster Changes file/dir attributes SYNOPSIS: .CHMOD [OPTION]... FILE... OPTIONS: -?, --help Display this help -v, --verbose Verbose output +r, -w Make read-only -r, +w Make writable +s, -s Add/remove SYSTEM attrib +h, -h Add/remove HIDDEN attrib +a, -a Add/remove ARCHIVE attrib
Source here.
.COFF
The command produces the following help output:
Contention off
(Closed source?)
.CONFIG
The command produces the following help output:
CONFIG - configure zxn hardware config Describe current configuration config [OPTION=VALUE]... Change current configuration PRESETS Select machine appropriate timing, contention, float bus 48, 48k 128, 128k, 2 3, 2A, 2B, 3E p, pent, pentagon zxn NEXTREG nr=, nextreg=reg,val[,mask] Write val to reg. Optional mask is ANDed with current reg contents then val is ORed with the result before write. CPU & DMA 3.5 Set 3.5MHz 7 Set 7MHz 14 Set 14MHz dma=z80,zxn Select DMA compatibility mode COMPATIBILITY t=, timing=48,128,next,pent... Select display timing. Some software expects to run on specific machines for proper display. tmx=, timex=on,off... Timex video modes enable. Disabling activates floating bus reads on port 0xff. c=, con=, contention=on,off... RAM Contention enable. Some software expects RAM contention for proper display lock Lock 0x7ffd paging unlock Unlock 0x7ffd paging DISPLAY 50, 60 Select 50Hz or 60Hz display sl=,scanlines=0,25,50,75... Enable scanlines AUDIO beeper=, speaker=on,off... Internal speaker enable dacs=on,off... Audio DACs enable aymode=[ay|ym|off],[abc|acb], [mono|stereo],[1|2|3|ts]... Chooses features for all AY instances. Mono, stereo, ABC or ACB stereo, one or three active. ay0=mono,stereo... ay1=mono,stereo... ay2=mono,stereo... Affects specific AY instance. JOYSTICKS j0=,joy0=,left= j1=,joy1=,right= [s1|sinc1|sinclair1|12345] [s2|sinc2|sinclair2|67890] [k|kemp|kempston|k1|kemp1] [k2|kemp2|kempston2] [c|cur|cursor|5678] [md1] [md2] config v1.1 z88dk.org
Source here.
.CORE
The command produces the following help output:
CORE v0.1 by Garry Lancaster Boot an alternative core SYNOPSIS: .CORE [OPT] CORENAME [FILE] OPTIONS: -h, --help Display this help Depending upon the core, a file located in the core's standard files directory (eg a game ROM) may be specified Examples: .core atom .core cpc6128 game.dsk
Source here.
.COWSAY
The following text describing the command was found by hand examination of its source or binary:
_________________________ | Usage: cowsay [message] | ------------------------- \ ^__^ \ (oo)\_____ (__)\ )\/\ ||----w | || ||
Source here.
.CP
The command produces the following help output:
cp - copy files cp SRC DST cp SRC DIR -f, --force force overwrite if DST exists v1.0 zx-next 48k z88dk.org
Source here.
.CPM
The following text describing the command was found by hand examination of its source or binary:
NextZXOS CP/M Loader v1.4 by Garry Lancaster
Source here.
.DATE
The command produces the following help output:
DATE V2.0 usage: date <ENTER> show current date date "DD/MM/YYYY" <ENTER> set the date Date must be greater than or equal to 01/01/2000 and less than 01/01/2100
Source here.
.DEFRAG
The command produces the following help output:
DEFRAG v1.7 by Garry Lancaster Defragments a file SYNOPSIS: .DEFRAG FILE
Source here.
.DISPLAYEDGE
The command does not produce any known help output.
The source distribution has a markdown README file with the following content:
"runtime" library to read+parse the "sys/env.cfg"
You can include the file "displayedge_rt.i.asm" in your own project and call the provided API calls to read the user's configuration.
The cfg file is ordinary ASCII text file, see included test.cfg for details, so user can also edit the values in any text editor (recommended end-of-line is MS-DOS "CRLF").
using "runtime" as source code included into your project
If you are using sjasmplus, you can use the runtime library like this:
ORG xyz ; where you want to place the runtime code INCLUDE "displayedge_rt.i.asm" ; ... in data area, reserve space ... DisplayMarginsArray: DS dspedge.S_MARGINS * dspedge.MODE_COUNT ; 4 * 9 = 36 ; if the app reacts dynamically to video mode changes, preserve this array ALIGN 256 ParsingBuffer: DS 256 ; 256B buffer for parsing file, aligned ($xx00) ; this buffer is used temporarily by ParseCfgFile and can be re-used afterward ; .. in your init code, when starting the app ... ; optional - read local cfg in the app directory (if your sw supports local config) ld hl,yourAppLocalCfgName ld de,DisplayMarginsArray ld bc,ParsingBuffer call dspedge.ParseCfgFile ; set array to -1 values even when error happens jr nc,NoEsxError_allDone ; esx error, check if it is "file does not exist" - no local config cp 5 ; esx_enoent jr nz,someEsxError ; some other error happened ; continue to read the default global config instead ; regular global config ; read default /sys/env.cfg file ld hl,dspedge.defaultCfgFileName ld de,DisplayMarginsArray ld bc,ParsingBuffer call dspedge.ParseCfgFile ; set array to -1 values even when error happens jr c,someEsxError ; A = esx error number ; .. in your gfx init code or mainloop (if you watch for mode changes) call dspedge.DetectMode ; A = current video mode ; (optional) check if mode did change, or you need to init margins ; A = video mode you want to get margins for ld de,DisplayMarginsArray call dspedge.GetMargins ; B C D E = left right top bottom ; if the mode is not stored in the file yet, 4x 255 is returned ; use the values to adjust your drawing routines and screen layout
You can also check the
displayedge.asm
of the dot command to see the runtime code in the action.using "runtime" as binary library in your project
Use sjasmplus to build the binary (set the ORG address to what you need):
sjasmplus -DDISPLAYEDGE_ORG_ADR=0x8000 --exp=displayedge_rt.exp displayedge_rt.i.asm
This will produce the
displayedge_rt.bin
anddisplayedge_rt.exp
files, which you can then use in your favourite assembler, for example in sjasmplus it would look like:INCLUDE "displayedge_rt.exp" ; include the symbol values ORG dspedge.Begin ; DISPLAYEDGE_ORG_ADR INCBIN "displayedge_rt.bin" ; include the machine code of library ; the actual usage will be similar to the example above ; just adjust syntax for your assembler
ZXNext dot command DISPLAYEDGE to edit "sys/env.cfg" visually
This is "dot command" for NextZXOS running at TBBlue (aka ZXNext) board (does use tiles video-mode for graphics).
It lets you edit visually display margins - the visible area of your display in particular video mode - and store that in the config file. Any SW aware of this config file can then read it upon start, and shrink the playfield to display everything important within the area of screen which is visible on your display.
Use the controls to switch to the video mode you want to add margin to (some video modes have to be pre-selected by starting the machine in particular mode, it is possible to edit margins of actual video mode), and then edit the values until the "green frame" is visible well on your display, then save the config.
The controls are:
OP : to select the edge of display for editing HJKL : subtract/add to the margin of selected edge Q : exit back to NextZXOS R : reload the cfg file currently stored on disk (discards any changes) S : save the currently modified values to cfg file F : change between 50Hz/60Hz mode (also regular "F3" should work) T : in VGA modes you can switch between different video-mode timings (Q/R/S/F/T usually requires confirmation by pressing "Y" after)
Source here.
.DZX7
The following text describing the command was found by hand examination of its source or binary:
DZX7: LZ77/LZSS decompression (C) 2015 Einar Saukas .dzx7 [-f] inname.zx7 [outname] -f Overwrite output file v1.1 zx-next 128k z88dk.org
The source distribution has a text README file with the following content:
/* * (c) Copyright 2015 by Einar Saukas. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * * Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * The name of its author may not be used to endorse or promote products * derived from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ Modified for the zx-next by z88dk.org Primary source: http://www.worldofspectrum.org/infoseekid.cgi?id=0027996&loadpics=3 Secondary source: https://github.com/z88dk/z88dk/tree/master/src/zx7 zx7 requires a 32k buffer to decompress the source file. The 128k version, which runs when NextZXOS is in its normal mode of operation, is a dotn command that allocates this memory from the operating system. This means it will never interfere with basic and it will always be able to run. It also operates on the lfn version of the filename to determine the output filename. The 48k version uses the top 32k of main memory for the buffer. It requires RAMTOP to be below 32768 in order to run and an error message will print if that is not the case. The user is expected to "CLEAR 32767" and then re-try. In the future, a new version may save the top 32k to a temporary file and restore that on exit so that no RAMTOP check will be necessary. This will be acceptable for dot commands whose running time would dominate disk save/load time.
Source here.
.ESPRESET
The command produces the following help output:
ESP RESET TOOL v1.4 © 2020 Robin Verhagen-Guest Reset ESP8266-01 WiFi module on the Spectrum Next espreset [-h] Reset ESP without resetting the Next. Similar to powering the ESP off and on, or to issuing an AT+RST command. OPTIONS -h Display this help ESP RESET TOOL v1.4 16 Feb 2020 20:07:44 © 2020 Robin Verhagen-Guest
The source distribution has a markdown README file with the following content:
espreset
ESP8266-01 reset dot command for the ZX Spectrum Next™
Source here.
.ESPUPDATE
The command produces the following help output:
ESP UPDATE TOOL v1.71 © 2020 Robin Verhagen-Guest Updates firmware for ESP8266-01 WiFi module on the Spectrum Next espupdate FILENAME [-y] [-h] Update ESP with the firmware in an external file espupdate -h Display this help OPTIONS FILENAME A file containing ESP firmware in the NXESP format For more info, see the FAQ at: tinyurl.com/espfaq -y Skip "Are you sure?" -h Display this help ESP UPDATE TOOL v1.71 21 Feb 2020 18:16:37 © 2020 Robin Verhagen-Guest
The source distribution has a markdown README file with the following content:
ESP Update
ESP8266-01 in-circuit firmware updater for the ZX Spectrum Next™.
Caution
The
ESPUPDATE
dot command is still in pre-alpha development. I recommend not running it on your Spectrum Next yet, unless I ask you to help test. The ESP-01 can never be bricked, but you might end up in a situation where you have to re-update it on your PC with a USB adaptor or breadboard, and the python program. No big deal, but just be aware :)Copyright and Licence
ESP Update is copyright © 2020 Robin Verhagen-Guest, and is licensed under Apache-2.0.
hdfmonkey is copyright © Matt Westcott 2010, and is licensed under GPL-3.0.
ZX Spectrum Next is a trademark of SpecNext Ltd.
Source here.
.EXTRACT
The command does not produce any known help output.
The source distribution has a markdown README file with the following content:
.EXTRACT dot command
To use, copy "EXTRACT" to the sd card's DOT directory.
Compiling
zcc +zxn -v -startup=30 -clib=sdcc_iy -SO3 --max-allocs-per-node200000 --opt-code-size @zproject.lst -o extract -pragma-include:zpragma.inc -subtype=dot -Cz"--clean" -create-app
Usage
.extract
entered on its own at the basic prompt will print help.This utility reads some portion of a file and either:
- saves that portion to another file
- appends that portion to another file
- loads that portion into the zx-next's memory
- prints that portion in a hexdump
The data can be loaded anywhere in the zx-next's memory space. The destination address can be specified as a 64k address within the current banking arrangement, as a linear address covering the entire zx-next memory space in [0x000000,0x1BFFFF], as a 16k bank number in [0,111], or as an 8k page number in [0,223].
All numbers can be specified in decimal, hexadecimal (leading 0x) or octal (leading 0).
The help text is reproduced here:
.extract file [+off][-off][len] [-f] [-o file] [-a file] [-m addr] [-ml linaddr] [-mp pnum] [-mb bnum] input: file = input file +off = byte offset from start -off = byte offset from end len = length in bytes output: -f = overwrite permitted -o = write to out file -a = append to out file -m = copy to 64k addr -ml = copy to linear addr -mp = copy to start of page -mb = copy to start of bank no -o,-a,-m* generates hexdump extract v1.3 zx-next z88dk
Examples
- Display the screen stored in an sna snapshot file:
.extract knight.sna +27 6912 -m 0x4000
Extract 6912 bytes from file "knight.sna" at offset 27 and write to 64k memory address 0x4000.
- Have a look at the sna header as a hexdump:
.extract knight.sna 27
Extract the first 27 bytes from file "knight.sna" and view it as a hexdump printed to screen.
- Copy the last 1024 bytes of a file to another file:
.extract knight.sna -1024 -o knight.bin
Extract the last 1024 bytes from file "knight.sna" and save it to file "knight.bin". If "knight.bin" already exists, an error will be produced (see -f).
- Append file to another one.
.extract knight.sna -a foo.bin
Extract the entire file "knight.sna" and append it to the file "foo.bin".
- Load file to page 18
.extract knight.sna -mp 18 .extract knight.sna -mb 9 .extract knight.sna -ml 0x24000
Load the entire file "knight.sna" to the zx next's memory. All variations above load the file contents to the same place in memory. The first command indicates the location using 8k page number. The second command indicates the location using 16k bank number. The last command indicates the location using a linearized memory address.
Source here.
.FIND
The command produces the following help output:
find - search for files in a directory hierarchy .find DIR [OPTION]... Find files starting at DIR that match provided criteria. Example: .find . -type=f -name *.txt (find all files in the current directory and below that end in ".txt") All word options accept single or double leading hyphens. CRITERIA -exec file must be an executable bas dot nex o p sna snx tap z80 -mindepth N, -mindepth=N ignore until at least N directory levels traversed -maxdepth N, -maxdepth=N ignore if more than N directory levels traversed -mmin N, -mmin=N (not implemented yet) -mtime N, -mtime=N (not implemented yet) -name S, -name=S lfn name must match S S can contain *? wildcards -prune S, -prune=S ignore directory S S can contain *? wildcards else S is a canonical name -size N, -size=N if N>0 file must be at least N bytes in size if N<0 file must be less than N bytes in size N can have a suffix modifier: "b" : * 512 "c" : * 1 "w" : * 2 "k" : * 1024 "M" : * 1048576 -type T, -type=f, -type=d must be a file, directory DISPLAY -lfn=on print matches with lfn names -lfn=off print matches with 8.3 names -lfn=both print matches w/ both names ACTION -cd N, -cd=N change to the directory of the Nth match and exit OTHER -help print this help and exit -version print version info and exit find 1.1 zx-next 128k z88dk.org
The source distribution has a markdown README file with the following content:
.FIND dot command
To use, copy "FIND" to the sd card's DOT directory.
Compiling
zcc +zxn -v -startup=30 -clib=sdcc_iy -SO3 --max-allocs-per-node200000 --opt-code-size @zproject.lst -o find -pragma-include:zpragma.inc -subtype=dotn -Cz"--clean" -create-app
Usage
.find
entered on its own at the basic prompt will print help.This utility searches directories from the start directory for a particlar file matching criteria supplied on the command line.
The help text is reproduced here:
find - search for files in a directory hierarchy .find DIR [OPTION]... Find files starting at DIR that match provided criteria. Example: .find . -type=f -name *.txt (find all files in the current directory and below that end in ".txt") All word options accept single or double leading hyphens. CRITERIA -exec file must be an executable bas dot nex o p sna snx tap z80 -mindepth N, -mindepth=N ignore until at least N directory levels traversed -maxdepth N, -maxdepth=N ignore if more than N directory levels traversed -mmin N, -mmin=N (not implemented yet) -mtime N, -mtime=N (not implemented yet) -name S, -name=S lfn name must match S S can contain *? wildcards -prune S, -prune=S ignore directory S S can contain *? wildcards else S is a canonical name -size N, -size=N if N>0 file must be at least N bytes in size if N<0 file must be less than N bytes in size N can have a suffix modifier: "b" : * 512 "c" : * 1 "w" : * 2 "k" : * 1024 "M" : * 1048576 -type T, -type=f, -type=d must be a file, directory DISPLAY -lfn=on print matches with lfn names -lfn=off print matches with 8.3 names -lfn=both print matches w/ both names ACTION -cd N, -cd=N change to the directory of the Nth match and exit OTHER -help print this help and exit -version print version info and exit find 1.1 zx-next 128k z88dk.org
Examples
- Locate all exectuables in the current directory and below. Executables are defined as "nex o p sna snx tap z80" types.
.find . -exec
- Locate the 20th executable and change directory to that. Use
.run
to run the program..find . -exec -cd=20 .run castelvania.tap
- Locate all text files between 1k and 10k in size.
.find . -name *.txt -size 1k -size -10k
- Find all games with batman in the name.
.find . -exec -name *batman*
Filename matches are only applied against the long filename. The matching uses wildcards
*
and?
which can match any character including.
Source here.
.GUIDE
The following text describing the command was found by hand examination of its source or binary:
NextGuide is a node-based documentation system designed for the ZX Spectrum Next. Rather than viewing a linear plain text file, NextGuide can display section of documentation in isolation and have hyperlinks to connect the various nodes up. Copyright 2020 Matt Davies, all rights reserved. The command line invocation for this guide is: .guide <filename> [<node name>] If the file is not found, the software will go through these steps before giving up: 1) Add the .gde file extension if it doesn't exist. 2) Search in the c:/docs/guides folder. Only if both of these fail will you be greeted by an error message. The optional node name allows the reader to jump straight to that node rather than the initial main node. If that node does not exist, the main node will be selected as usual. Also, if no parameters are given, an attempt to open the guide at C:/DOCS/GUIDES/NEXTGUIDE.GDE is tried.
(Closed source?)
.I2CSCAN
The command produces the following help output:
USAGE: i2cscan v0.1: i2cscan <ENTER> Show devices on bus.
Source here.
.INSTALL
The command produces the following help output:
INSTALL v1.2 by Garry Lancaster Installs a NextZXOS driver SYNOPSIS: .INSTALL NAME.DRV
Source here.
.LFN
The command produces the following help output:
LFN v1.2 by Garry Lancaster Returns the long filename for a short (8.3) name. SYNOPSIS: .LFN filename
Source here.
.LS
The command produces the following help output:
ls - list directory contents ls [OPTION]... [FILE]... List information about FILEs (the current dir by default). Sort entries alphabetically if -StUX and --sort are not used. FILTER FILES -a, --all do not ignore .* -A, --almost-all ignore . and .. -B, --ignore-backups do not list *.bak Wildcards accepted. LIST STYLE -C list entries by columns -l use a long listing format -m comma separated list -x list entries by lines -1 list one file per line --format=across : -x --fromat=commas : -m --format=horizontal : -x --format=long : -l --format=single-column : -1 --format=verbose : -l --format=vertical : -C -s, --size print file size -w, --width=COLS set output width to COLS. --lfn=off print 8.3 filenames --lfn=on print lfn filenames --lfn=both print both 8.3 and lfn SORT METHOD -S sort by size largest first -t sort by time newest first -U do not sort -X sort by extension --sort=none : -U --sort=size : -S --sort=time : -t --sort=extension : -X -r, --reverse reverse sort order --gdf, --group-directories-first list directories before files FILE SIZE FORMAT -h, --human-readable sizes in K,M,G (*1024) --si sizes in KB,MB,GB (*1000) --block-size=SIZE sizes scaled by SIZE DATE-TIME FORMAT --time-style=long-iso 2002-03-30 23:45 --time-style=iso 2002-03-30, 03-30 23:45 --time-style=locale mar 30 2002 23:45 DIRECTORY PROCESSING -d, --directory list dirs and do not enter -R, --recursive list subdirs recursively --system include system files OTHER --help print this help and exit --version print version info and exit ls 1.0 zx-next 128k z88dk.org
The source distribution has a text README file with the following content:
This is a near complete implementation of unix "ls" that is capable of sorting directories with thousands of entries. TODO: * Add different list styles Currently -l is always generated * Change listing format depending on column width * Add filename formatting with flag characters and filename colouring. * Parse the LS_COLOR environment variable for colouring information. Currently this environment variable and TIME_STYLE are both read but only TIME_STYLE is processed. NOTES: The output format is limited to -l for now and chosen to fit in 32 columns. The default is to list 8.3 filenames. Try a variation like this one in 64 column mode: .ls --gdf -AR --time-style=locale --lfn=on USE OF MEMORY A directory queue is maintained in two 8k pages and is always paged entirely into memory at mmu6 and mmu7 when accessed. The queue is fifo and exists in a circular buffer occupying the 16k. In recursive mode, directories that need to be visited are pushed into this queue. And as directories are listed, they are popped out of the queue. An obstack holding file pointer records is held in main memory from the end of the program (around address 43000) to the top of memory. Each file pointer record is a three- byte pointer, the first byte indicating 8k page number and the remaining two being a pointer into the page when it is present in mmu7. These file pointer records are fixed size and grow like an expanding array so are easily sortable with quicksort. About 6000 records can be stored in main memory allowing sorting of directories containing up to 6000 files. Each file pointer record points at an actual file record. These records are stored in extra 8k pages called LFN_PAGES. A file record records 8.3 and lfn names, as well as time and size information. An individual record is variable in size because the lfn name is variable in size. Each page storing records is managed by an obstack which will allocate memory as needed. The number of pages available is statically compiled into the program and is currently four which means 32k is available to store file records. Realistically this places a much lower limit on the max number of files that can be read from a directory at once, ie less than 6000. If the limit is reached, the directory listing is split into pieces. If more space is needed, more pages can be allocated by changing a constant and re-building the program. Utilities like .ls must co-exist with basic, as in they must not disturb basic's state. This means .ls must allocate memory from the operating system to load into and it must deallocate that memory on exit. All tasks are taken care of automatically when z88dk builds this type of dot command called "dotn". aralbrec@z88dk.org
Source here.
.LSTAP
The command produces the following help output:
LSTAP v1.1 by Garry Lancaster List contents of any .TAP file SYNOPSIS: .LSTAP [OPTION]... [FILE] OPTIONS: -h, --help Display this help -i, --input Use current input file -o, --output Use current output file -f, --fileoffsets Show data offsets in TAP
Source here.
.MEM
The command does not produce any known help output.
Source here.
.MKDIR
The command produces the following help output:
MKDIR v1.0 by Gari Biasillo Make new directories SYNOPSIS: .MKDIR [OPTION]... DIR... OPTIONS: -v, --verbose Print a message for each created directory -h, --help Display this help
Source here.
.MKP3D
This command is not part of the standard distribution at this time.
Source here.
.MKSWAP
The command produces the following help output:
MKSWAP v1.3 by Garry Lancaster SYNOPSIS: .MKSWAP FILENAME [SIZE] INFO: Creates a swap file usable by NextZXOS machine-code programs Optional size in MB is 1..30 (default=30) Swap files should be named: C:/NEXTZXOS/SWP-n.P3S where 'n' is number 0-9
(Closed source?)
.MV
The command produces the following help output:
mv - move (rename) files mv [OPTION]... [-T] SRC DST mv [OPTION]... SRC... DIR mv [OPTION]... -t DIR SRC... Rename SRC to DST, or move SRC(es) to DIR. Names can contain wildcards. Names with trailing slashes are directories. -b make backup of existing DST -f, --force do not prompt for overwrite -i, --interactive prompt for overwrite -n, --no-clobber do not overwrite The last -f,-i,-n takes effect --strip-trailing-slashes remove slashes from names -S, --suffix=SUFFIX override backup suffix --system match system files to SRC -t, --target-directory=DIR move all SRC to DIR -T, --no-target-directory treat DST as a normal file -u, --update move only when SRC is newer than DST or if DST missing -v, --verbose explain what is being done --help display this help and exit --version print version and exit mv 1.0 zx-next 128k z88dk.org
Source here.
.NDAWPLAY
The following text describing the command was found by hand examination of its source or binary:
Next DAW Player v1.0 Press 'q' to Quit
(Closed source?)
.NEXLOAD
The following text describing the command was found by hand examination of its source or binary:
NEXLOAD v14 Loads and runs .NEX files nexload Show help nexload FILENAME Load a .NEX file FILENAME File to load, which can include an optional drive or path NEXLOAD v14 can load .NEX files up to and including format V1.3 Copyright © 2018-2019 Jim Bagley
Source here.
.NEXTVER
The command produces the following help output:
NEXTVER v1.0 by Garry Lancaster Set variable to NextZXOS version SYNOPSIS: .NEXTVER [OPTION]... VARIABLE OPTIONS: -h, --help Display this help -v, --verbose Display the version INFO: Returns 0 if not NextZXOS mode
Source here.
.NGET
This command is not part of the standard distribution at this time.
The source distribution has a markdown README file with the following content:
NGET
Package manager server and client for the ZX Spectrum Next™
Copyright and Licence
NGET is copyright © 2020 Robin Verhagen-Guest, and is licensed under Apache 2.0.
hdfmonkey is copyright © Matt Westcott 2010, and is licensed under GPL-3.0.
ZX Spectrum Next is a trademark of SpecNext Ltd.
Source here.
.NXTP
The command produces the following help output:
NXTP v1.69 © 2019-2020 Robin Verhagen-Guest NXTP Set date/time from internet nxtp Show help nxtp SERVER PORT [OPTIONS [...]] Lookup and set current date/time SERVER Hostname or IP of time server List of public servers at: https://tinyurl.com/nxtpsrv PORT Network port of time server OPTIONS -z=TIMEZONECODE Your current timezone code If omitted, uses UK time List of timezone codes at: https://tinyurl.com/tznxtp NXTP v1.69 08 Apr 2020 13:54:24 © 2019 Robin Verhagen-Guest
The source distribution has a markdown README file with the following content:
nxtp (Network neXt Time Protocol)
nxtp is an easy way of setting your local time on retro computers equipped a RTC (Real Time Clock) and a network interface. It is similar to the well-known NTP Network Time Protocol but faster and more lightweight, and simpler to implement on retro computers.
nxtp Client
An
.nxtp
dot command client for the ZX Spectrum Next™ is provided, written in Z80N assembly language. You may add a command to yourAUTOEXEC.BAS
BASIC startup program to automatically sync the time whenever you boot into NextZXOS. Your Next must be equipped with a RTC in order to use nxtp.You can tell nxtp to set the local time in your own timezone, including any daylight savings time currently in effect.
We also provide a C# reference client using .NET Core 3.0, to assist with porting to other architectures or machines.
If you haven't already done so, set up your Next WiFi using
WIFI.BAS
as described in this wiki article.To sync date and time every time you boot your Next, set up
AUTOEXEC.BAS
as described in this wiki article.nxtp Server
The server is written in C# using .NET Core 3.0, and can be hosted on any Windows, Mac or linux computer. You may use the public server hosted by the Next team, or run your own private copy of the server on your PC. You may also run the server on a Raspberry Pi running Raspbian. It is lightweight enough to run on a wifi-equipped Raspberry Pi Zero W.
Protocol
The nxtp protocol is documented here.
Project Status
nxtp is currently in beta testing. Download the latest Next client here.
If you have a GitHub account you can elect to be notified whenever there is a project release.
Copyright and Licence
nxtp is © 2019-2020 Robin Verhagen-Guest, and licensed under Apache 2.0.
hdfmonkey is copyright © Matt Westcott 2010, and is licensed under GPL-3.0.
Everyone is encouraged to host a public nxtp server, or port the nxtp client to a different machine or architecture.
ZX Spectrum Next is a trademark of SpecNext Ltd.
Source here.
.PI2C
The command produces the following help output:
PI2C V0.1 usage: pi2c <ENTER> See if PI responds with an ACK pi2c {-d} -wHH{HH}<ENTER> - write upto 64 0xHH pi2c {-d} -rNN<ENTER> -rNN - read 0xNN bytes -d - no ACK test
(Closed source?)
.PISEND
The command produces the following help output:
.pisend v2.00b usage : pisend file.ext base64 encodes a file and sends to the pi uart. use -c {command} to send a command to nextpi. Uses KevB's super fast encoder use: .pisend -c {command to run on nextpi} .pisend filename.tzx {sends file to pi} .pisend -c nextpi-tzx_load rbc.tzx .pisend -c nextpi-play_sid sing* .pisend -q {clear pi cmd and prepare for instruction} Thanks to kevb, TimG, Big D and all the rest...
The source distribution has a markdown README file with the following content:
pisend source
The unwieldy source for pisend
pisend is an evolution of constantly trying to nail down the uart/pi0. Its not perfect at all but I'm hoping making this open source will help other people how talking to the pi0 can be achieved.
pisend-v15.asm
- the latest 2.20
Thanks go to Kev Brady for the UUENCODING, Tim Gillberts for the baud selection routines, 32bitdisplay by alwin henseler, div32_16 by fgsgh.
Please dont submit corrections for things that look like redundant code, only actual areas of improvement.
Also included in checkpi.asm which is an attempt to clean up, and checkpi-tostring.asm is an attempt to get a string back.
The checkpi ones are just examples and hopefully will help you work out how to talk with NextPi to some degree.
This source if free to be used in anyway but any diritives must also be open source.
Source here.
.PLAYAKY9
The following text describing the command was found by hand examination of its source or binary:
.playaky9 [-q] <filename> to play a 9ch arkos file
(Closed source?)
.PLAYPT3
The following text describing the command was found by hand examination of its source or binary:
.playpt3 [-q] <filename> to play a pt3/ts file Keys: 1 Toggle AY 1 Stereo/Mono 2 Toggle AY 2 Stereo/Mono 3 Toggle ACB/ABC
(Closed source?)
.PLAYWAV
The following text describing the command was found by hand examination of its source or binary:
.playwav <file> to play a WAV v1.4 original code VTrucco&FBelavenuto, remixed David Saphier 2019/emook
The source distribution has a markdown README file with the following content:
playwav 1.6
usage
.playwav FILE.WAV
- normal playback, tries to get correct speed
.playwav -s NR FILE.WAV
- play the wav using a custom scaler value from 0-255
Sample rates supported:
- 32000/16000/11025hz 8bit stereo / mono PCM
- Other rates can be played, use -s option to adjust speed.
Source here.
.PS2MODE
The command produces the following help output:
PS2MODE V1.0 usage: ps2mode<ENTER> show current mode ps2mode -m <ENTER> set the PS2 port to MOUSE ps2mode -k <ENTER> set the PS2 port to KEYBOARD
(Closed source?)
.RM
The command produces the following help output:
RM v1.0 by Gari Biasillo Remove files SYNOPSIS: .RM [OPTION]... FILE... OPTIONS: -v, --verbose Verbose output -h, --help Display this help
Source here.
.RMDIR
The command produces the following help output:
RMDIR v1.0 by Gari Biasillo Remove directories SYNOPSIS: .RMDIR [OPTION]... DIR... OPTIONS: -p, --parents Remove DIR and its ancestors; e.g., '.RMDIR -p a/b/c' is similar to '.RMDIR a/b/c a/b a' -v, --verbose Verbose output -h, --help Display this help
Source here.
.RUN
The command produces the following help output:
.run [OPTIONS] FILE supported extensions: bas dot nex o p sna snx tap z80 options: -p = list dirs in PATH -? = list FILE matches -c = cd to FILE location -r = retain cwd on clean exit -N = select Nth FILE match run 1.4 zx-next z88dk.org
The source distribution has a markdown README file with the following content:
.RUN dot command
RUN searches a path to locate and execute a program with filename matching the criteria.
The PATH is held in an environment variable stored in file
/sys/env.cfg
. It has the following form:PATH = /demos/*;/games;/games/*;/games/zx81/*
Each line in
env.cfg
can contain aname = value
pair. The code that reads this file is robust so there can be errors and strange formatting but it is important that PATH is contained entirely in one line no matter how long it gets.PATH is a list of directories that should be searched to locate executables. Each directory is separated by a
;
. Backward slashes are ok and will be changed to forward, leading and trailing spaces are ok. Spaces inside names are ok.A trailing
/*
means all the directories contained in that directory will be searched. So/games/*
means all directories in/games
will be searched; note it does not mean/games
itself will be searched and that is why you will see both/games
and/games/*
in the example above.RUN will match the filename it is given against the contents of directories in the PATH and automatically launch the program. It will always search the current directory before those listed in PATH. The filename can contain wildcards.
Options allow listing of all filename matches and executing matches other than the first.
Programs having the following extensions are identified as executable:
bas, dot, nex, o, p, sna, snx, tap, z80
Compiling
zcc +zxn -v -startup=30 -clib=sdcc_iy -SO3 --max-allocs-per-node200000 --opt-code-size @zproject.lst -o run -pragma-include:zpragma.inc -subtype=dot-n -Cz"--clean" -create-app
Usage
The help text is reproduced here:
.run [OPTIONS] FILE supported extensions: bas dot nex o p sna snx tap z80 options: -p = list dirs in PATH -? = list FILE matches -c = cd to FILE location -r = retain cwd on clean exit -N = select Nth FILE match run 1.4 zx-next z88dk.org
Examples
.run
Prints help.
.run -p
Lists each directory in the PATH.
Places an X beside directories that don't exist.
.run -? war*
Lists all executables matching
war*
.
The list is numbered so that a particular match can be referred to.
.run -c warhawk.nex
Change to the directory where warhawk.nex is found.
.run warhawk.nex
Run the first warhawk.nex found
.run -2 warhawk.nex
Run the second warhawk.nex found
.run castle*.tap
(Assume "castlevania.tap" exists and is the first match)
Mount castlevania.tap.
The directory will be changed to the location of the tap.Run with:
LOAD "t:": LOAD ""
.run -r castlevania.tap
Mount castlevania.tap.
The current working directory will not be changed.Run with:
LOAD "t:": LOAD ""
.run -? *batman*
.run -5 *batman*
List all executables with
batman
in their names.
Run the 5th match from that list.Notes
When loading tap files, the computer will load in the current mode. That is, in standard 128k mode if in nextzxos, usr 0 mode if you have entered usr 0 mode and 48k mode if you have entered 48k mode. This is the same as how other zx machines take care of tape loading but it is different from nextzxos's file browser which will come up with a menu allowing you to select which mode to use before mounting the tap file.
You may have to change some settings prior to running a program for some programs that rely on precise video timing or other factors. For nirvana games, contention must be enabled before running (and besides that your display must be 50Hz VGA to achieve precise timing). At the time of writing the only way to turn on contention is to do it via basic or the nmi menu but look out for a
.reset
dot command in the future. To do it via the nmi menu, press the M1 button on the left side of the next; it will be the button closest to you and closest to the bottom where the joystick ports are. From the menu choose "debug tools" then "status". With the arrow keys navigate to nextreg 8 and make sure bit 6 is rest in the value there. If it isn't, press caps+1 and enter a new two-digit hex value which is the same but with bit 6 reset. Then return to basic by pressing 'c'. Contention will now be enabled.
Source here.
.SPREDIT
The following text describing the command was found by hand examination of its source or binary:
SprEdit Usage : .SPREDIT <filename> to load sprite images to sprite VRAM and edit them
Source here.
.STRINGS
The command produces the following help output:
.strings file [-n num] [-s string] [-t {o,d,x}] [-w] [-f] [-o file] [-a file] -n = set min string len (4) -s = print separator ("\n") -t = file offset dec/oct/hex -w = make \r\n part of string -f = overwrite permitted -o = output filename -a = append filename no -o,-a prints to screen strings v1.2 zx-next z88dk.org
The source distribution has a markdown README file with the following content:
.STRINGS dot command
To use, copy "STRINGS" to the sd card's DOT directory.
Compiling
zcc +zxn -v -startup=30 -clib=sdcc_iy -SO3 --max-allocs-per-node200000 --opt-code-size @zproject.lst -o strings -pragma-include:zpragma.inc -subtype=dot-n -Cz"--clean" -create-app
Usage
.strings
entered on its own at the basic prompt will print help.This utility searches for ascii text strings stored in files. Results can be printed to screen or saved to an output file.
The help text is reproduced here:
.strings file [-n num] [-s string] [-t {o,d,x}] [-w] [-f] [-o file] [-a file] -n = set min string len (4) -s = print separator ("\n") -t = file offset dec/oct/hex -w = make \r\n part of string -f = overwrite permitted -o = output filename -a = append filename no -o,-a prints to screen strings v1.2 zx-next z88dk.org
Examples
- Look for strings at least 6 chars long. If found print the file offset in hex along with the string. Output to screen.
.strings knight.sna -n 6 -t X
- Look for strings and save findings to an output file. Print file offset in decimal and print a separator between findings.
.strings knight.sna -t d -s ------- -o string.txt
Source here.
.SYNC
This command is not part of the standard distribution at this time.
Source here.
.TAPEIN
The command produces the following help output:
TAPEIN v1.0 by Garry Lancaster Change tape input to .TAP file SYNOPSIS: .TAPEIN [OPTION]... [FILE] OPTIONS: -v, --verbose Verbose output -h, --help Display this help -c, --close Close input file -r, --rewind Rewind to start -s, --setptr <block> Set tape block pointer -p, --pause Toggle screen pause -l, --simulate Toggle loading simulation Use LOAD "t:" before loading
Source here.
.TAPEOUT
The command produces the following help output:
TAPEOUT v1.0 by Garry Lancaster Change tape output to .TAP file SYNOPSIS: .TAPEOUT [OPTION]... [FILE] OPTIONS: -v, --verbose Verbose output -h, --help Display this help -c, --close Close input file -o, --overwrite Overwrite instead of append Use SAVE "t:" before saving
Source here.
.TIME
The command produces the following help output:
TIME V3.5 usage: time <ENTER> show current time time "HH:MM:SS" <ENTER> set the time time -d{i} <ENTER> show current time, no ACK test i - wipe RAM ID signature. -wRRHH{HH} - write upto 54 0xHH bytes into reg/ram from 0xRR. -rNNRR - read 0xNN bytes -n - RTC.SYS API call result. Time is in 24 Hour mode
Source here.
.TOSPRRAM
The following text describing the command was found by hand examination of its source or binary:
.TOSPRRAM <filename> to load sprite images to sprite VRAM
(Closed source?)
.TXT2BAS
The command produces the following help output:
TXT2BAS v1.5 by Garry Lancaster Convert text file to BASIC SYNOPSIS: .TXT2BAS [OPT] TXTFILE [BASFILE] OPTIONS: -v, --verbose Show lines during processing -a, --always-write Write even if syntax errors -h, --help Display this help Supported directives in text: #program PRGNAME Start of main BASIC code (file is PRGNAME.BAS) #bank BNKNAME Start of banked section (file is PRGNAME-BNKNAME.BNK) #bankfile BNKFILENAME Start of banked section (file is BNKFILENAME) #autostart LINE Program autostarts at LINE #autostart Autostarts at following line #autoline LINE,STEP Start auto-numbering #autoline LINE Start auto-numbering(step=10) #autoline Stop auto-numbering (Other lines starting # ignored)
Source here.
.UART
The following text describing the command was found by hand examination of its source or binary:
Simple ZX Next Terminal by Tim Gilberts based on code originally by Victor Trucco. EDIT - change BAUD rate CAPS LOCK - ON/OFF (default ON) TRUE VIDEO - Debug CIPSEND/IPD INV VIDEO - CIPSEND mode ON/OFF GRAPHICS - EMIT EOT (1Ah) To exit press Sym Shift + SPACE Start with -f{i} option to find ESP
Source here.
.UNINSTALL
The command produces the following help output:
UNINSTALLv1.2 by Garry Lancaster Uninstalls a NextZXOS driver SYNOPSIS: .UNINSTALL NAME.DRV
Source here.
.UUENCODE
The following text describing the command was found by hand examination of its source or binary:
UUENCODE v0.1 by Xalior USAGE: .UUENCODE input.bin output.txt
(Closed source?)