• Create new or edit existing ZX-Spectrum emulator files.
  • Use a powerful data block composer to add, insert or modify data blocks for any compatible file type.
  • Edit tape files, disk files, picture files, snapshot files etc.
  • Edit contents of SCREEN$ blocks, Basic programs and variables with ZX-Paintbrush and ZX-Editor with embedded dialogs.
  • You can send data blocks to other ZX-Modules programs.

Fully supported file types (reading and writing)

  • Tape files (*.tap, *.blk, *.tzx, *.pzx, .csw)
  • +3 and CP/M disk files (.dsk)
  • TR-DOS disk files (*.trd, *.scl, *.$b, *.$c, .$d)
  • Disciple, PlusD, UniDos disk files (.mgt, .img)
  • Snapshot files (.sna)
  • BASin BASIC files (.bas) BasIn code files (.bsc)
  • Screen files (.scr) SEVenUp files (.sev)
  • CHX big font files (.chx) ZX-Metafiles (.zxb)

Partially supported file types (reading only)

  • Warajevo tape files (*.tap, *.tapw)
  • BASin data files (.bsd)
  • Snapshot files (.z80, *szx, *slt, *.ach, *.sit, *.snp, *.prg, *.zx, *.sp, *.sem, *.raw, .snx)
  • Microdrive files (.mdr)
  • Character set files (*.chr, *.ch8, *.ch4, *.ch6)
  • Text files (*.txt, *.asc, *.zed, *.zib, .zxe)
  • Picture files (.bmp, *.gif, *.jpg, *.jpeg, *.png, *.zxp, *.zxm)
  • POKE files (.pok)
  • Compressed files (.zip, *.rar, *.lzh, *.arj, *.ace, *.arc, *.bh, *.bz, *.bz2, *.cab, *.enc, *.gz, *.jar, *.lha, *.mbf, *.mim, *.pak, *.pk3, *.pk_, *.tar, *.tbz, *.tgz, *.uue, *.uu, *.war, *.xxe, *.z, *.zap, *.zoo, *.ztv)

Working features

  • ZX-Blockeditor reads the content of any supported file and tries to generate visible blocks that are stored inside the file. That way, ZX-Blockeditor gives you a comparable view of files of different kinds. No matter whether it is a snapshot file, a tape file or a disk image file.
  • ZX-Blockeditor separates between headers and data blocks (headers are data blocks as well, but very special ones). Different types of data have different icons, e.g. you’ll find a on a byte header, a on a Basic program header and a on an alphanumeric header (DATA $), but you have a on a SCREEN$ datablock (with 6912 bytes), a on a Basic program block and a on a Basic variables block. For different file types, you may get different kinds of blocks, especially for TZX files, as the types of blocks are very numerous.
  • ZX-Blockeditor also tells you the real size of each datablock and calculates a PKUnzip compatible checksums.
  • When ZX-Blockeditor loads a Spectrum file, it analyzes the blocks and tries to ‘explode’ them into different sub-blocks. For example, after exploding a Snapshot block of 48 kBytes, you get the block splitted into the most important areas, like screen block, Basic program block, etc. These are called ‘sub blocks’.
    On 128k snapshot files, you’ll also find the complete list of all 16k-ram pages. They also are displayed with the correct start addresses. The currently loaded 16k-ram pages, that build the 48k RAM area, are also visible. These found sub-blocks get own icons depending on their area.
  • The channel information and basic stacks of the Spectrum memory are displayed when a snapshot data block has been exploded. You will see special data blocks for these informations.
  • You have a comfortable editor for start addresses, skipping-, preface- and expanding values of data blocks.
    You can insert zeroes at the beginning or at the end of a block, and you can cut off bytes from the beginning or from the end simply by adjusting the values for skipping and expanding. These settings have no effect on the data block itself, but ZX-Blockeditor then can send the contents of datablocks very different to other modules (e.g. screen viewer). The skipping/expanding editor will be opened by clicking the – icon. You can use it for all data blocks that contain real data.
  • For tapes, each data block can have an optional turbo data addition that is displayed directly under the data block. With these turbo additions, the timing settings of that block can be changed (e.g. pilot tone length, 0-bit length, 1-bit length).
  • You have a comfortable Datablock Composer, which helps you to modify or to create new data blocks. ZX-Blockeditor supports all TZX blocks (as well as custom data blocks) and many more for other file formats. The Datablock Composer is also used to convert headers from one type to another (e.g. from tape to disk styles).
  • Now, also exploded data blocks (program blocks, variables, screen$ blocks etc.) can be editied with the data block composer as well. They remember their block numbers which are important for re-imploding these data blocks.
  • Send the current SCREEN$ data block to an already opened ZX-Paintbrush using the right-click menu option “Send to.. ZX-Paintbrush”.The screen may have a ULA+ palette as well. When you are editing a picture using ZX-Paintbrush, you may send the current picture (if SCREEN$ compatible)  into ZX-Blockeditor’s clipboard.
  • ZX-Blockeditor can send any group of data blocks to another ZX-Blockeditor window at once.
  • ZX-Blockeditor shows you the disk image structure and byte view of your loaded disk image file.
  • Use the header changer to change tape headers into disk headers and vice versa!
  • ZX-Editor Second Edition and ZX-Paintbrush > version 2.0 allow direct editing now. This makes editing Basic programs, variables and SCREEN$ much easier.
  • Use the clipboard functions of ZX-Blockeditor to drag and drop data blocks between different instances of ZX-Blockeditor or between the file structure list of ZX-Editor and/or ZX-Paintbrush.
  • You may undo and redo up to 100 file actions.
  • MSX data block format.

List of changes

Date:Description of changes:
Date:Description of changes:
Jan 2015New program version 2.4 published.
Feb. 2015A bug in the Z80 file reader has been fixed (reported by Fabio Olimpieri).
May 2015Added support for ZX-Assembler (“send block to ZX-Assembler” and “edit block with ZX-Assembler”).
July 2015Bugfix: Ralf reported that files did not run with the “run file” icon. I discovered that it occurs on files read from a ZIP file. Now, the program asks to save the file into the temp file folder first.

Ralf suggested: A start address edit box in the memory editor of the data block composer is useful to get correct addresses on data blocks which have start addresses <>0. A find-byte-sequence dialog has been added (simply taken from ZX-Assembler :-).
July 2015New program version 2.4.1 published.
Dec. 2016Bugfix: Changing display size causes display problems on some dialogs. Now, ZX-Blockeditor must be restarted after changing the display size.
Bug: Import file dialog checkboxes disappear when using the middle or high display size. Could not yet solve that problem.
Bugfix: Buttons “select all” and “unselect all” were not be displayed correctly.

Francisco Javier Crespo provided a new TZX block format 4Bh (MSX block) and therefore, inofficial TZX version 1.21. Added full support for this block and file type.
Jan. 2017The Memory editor of the Datablock Composer now remembers the state of the number format button (dec, hex, ascii).

The window size of the Datablock Composer has been increased to get all relevant information visible.
Mar. 2017Francisco Javier Crespo suggested that meta blocks, that are used for grouped blocks (when the corresponding setting in the options dialog box is set) should be exploded with mouse double click. I provided two options in the keyboard/mouse movement section of the options dialog. One for pressing Enter and one for mouse double-click.
Mar. 2017New program version 2.4.2 published.
May 2017Bugfix: Natalia Pujol reported a bug in the Datablock Composer around the custom info datablock. The user only could enter 10 characters.
Jul. 2017New program version 2.4.3 published

Download ZX-Blockeditor for Windows:

Necessary files description:Files:Version state:Download here:

ZX-Blockeditor v. 2.4.3
Common changes ZX-Modules.chm
July 14th, 2017ZX-Blockeditor_2.4.3_Setup.zip