Assemblers

From SpecNext official Wiki
Revision as of 16:55, 28 April 2021 by Ped7g (talk | contribs) (adding list of native assemblers)
Jump to: navigation, search

Any Z80 assembler can produce code suitable for the Next. However the raw blocks of Z80 code may be not as convenient to use with Next or emulators, so a Next specific tools may be useful for creating one of the supported File Formats.

Cross-platform tools (running on PC)

Zeus-ish

Provides a complete Z80 IDE and Macro assembler, scripted disassember plus an integrated Z80 emulator for a range of machines including partial Next support
Supports the Next opcodes directly
Supports remote debugging on the Next using ParaSys across a serial link
Supports MMU paging in the integrated emulator
Supports sprites (core versions prior to 2.00.26) in the integrated emulator

Pasmo

A long established Z80 assembler, but has been out of development for a long time
Supports all currently known Next extension opcodes through this modified Pasmo from Russ McNulty and Tony Thompson and also now supports outputting .sna files to use with CSpect, thanks to Russ McNulty

SNasm

Included with the #CSpect emulator

Full macro assembler
Full bank control via Segment management
Supports the Next extension opcodes directly
Generates full 24bit map files for use in CSpect

z80asm

Part of Z88dk

Supports the Next extension opcodes directly, linking assembler with large z80 library, targets any memory configuration

z00m's fork of sjasmplus

Supports all (core2.00.28) Next extension opcodes, ZXN memory model (8 memory slots with 8ki pages and 1.75MiB virtual device memory), SAVENEX to build NEX files directly from ASM source (NEX version V1.2 (and experimental extension "V1.3")), MAP files for #CSpect emulator, SLD tracing files for DeZog and NDS-NextDevSystem and it is under active development (feedback is welcome).
Open source project ("BSD-3-Clause" license), windows executables available at releases, mac and linux users are expected to simply build from source (both make and CMake are supported).
Documentation, latest stable release v1.18.2 2021-02-14

FantASM

FantASM is a two pass non optimising assembler for the Z80 processor by Guy 'CatpainBlack' Black.

It supports all undocumented op-codes and the extended instruction set of the ZX Next and additional pseudo opcodes used by the CSpect emulator to control debugging.

Native tools (running on Next)

Odin

Work-in-progress Next-specific assembler written by Matt Davies, used also in video tutorials presented by Jim Bagley, the best way to acquire the binary is to join the official ZX Next discord server and check channel #odin - pinned messages, where you can also discuss any issues and get how-to hints.

supports most of the undocumented opcodes, all official Z80 and Next-extended instructions
supports nested includes and binary includes
source is stored in tokenised form (smaller file), up to 48kiB of source in single file
assembling can produce 32kiB of machine code (enough to produce simpler dot command)
includes also editor and console modules (debugger is planned)

ZEUS

Classic ZEUS native assembler by Simon Brattel, extended and included directly in the ZX Next distro.

SPED

Classic SPED assembler by César Hernández Bañó, included directly in the ZX Next distro, see README.