Difference between revisions of "Assemblers"
m (bump sj version) |
|||
Line 58: | Line 58: | ||
Classic SPED assembler by César Hernández Bañó, included directly in the ZX Next distro, see [https://gitlab.com/thesmog358/tbblue/-/raw/master/docs/apps/dev/SPED53readme.txt README]. | Classic SPED assembler by César Hernández Bañó, included directly in the ZX Next distro, see [https://gitlab.com/thesmog358/tbblue/-/raw/master/docs/apps/dev/SPED53readme.txt README]. | ||
+ | |||
+ | === ''[https://taylorza.itch.io/nextbasic-inline-assembler NextBASIC Inline Assembler]''=== | ||
+ | Enables you to write inline assembly code in your NextBASIC application. |
Revision as of 01:16, 4 March 2024
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.
Contents
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.20.3 2023-06-23
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)
Sol
Sol is an assembler and editor written by Solaris, that runs natively on the Next. Manual, assembler binary and assembler source can be downloaded here.
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.
NextBASIC Inline Assembler
Enables you to write inline assembly code in your NextBASIC application.