Sinclair ZX Spectrum
Emuladores
Retro Virtual Machine (Windows, macOS, Linux)
https://www.retrovirtualmachine.org/
Enlaces
Recursos de programación para ZX Spectrum
https://wiki.speccy.org/programacion/recursos_prog/indice
Entornos de desarrollo - librerías
FASE
http://www.mojontwins.com/juegos-de-colegas/fase/
FASE es un engine para ZX Spectrum que te ayuda a crear un tipo muy específico de juego: plataformas sin scroll con tiles y sprites de 16×16 a una velocidad de 50 fps. La mayor ventaja de este engine es una rutina muy rápida de pintado de sprites, que te permite un gran número de sprites simultáneos en pantalla sin parpadeo. El engine se ubica en la parte alta de la memoria, los datos gráficos en la parte baja, dejando desde 0x8000 en adelante para tu propio código. Hay una demo escrita en 2 lenguajes (SDCC y ZXBasic), aunque en teoría puedes emplear el compilador que quieras, la única restricción es que tu código empiece en 0x8000.
La Churrera
http://www.mojontwins.com/juegos_mojonos/la-churrera/
La Churrera es un framework compuesto por un motor modular programado en C y un conjunto de herramientas para hacer juegos para ZX Spectrum. La Churrera necesita z88dk para compilarse y emplea la biblioteca gráfica splib2 de Alvin Albrecht (*).
ZX BASIC
https://zxbasic.readthedocs.io/en/latest/
ZX BASIC is a BASIC ''cross compiler''. It will compile BASIC programs (in your PC) for your ZX Spectrum. ZX BASIC is an SDK entirely written in python. The SDK is implemented using the PLY (Python Lex/Yacc) compiler tool. It translates BASIC to Z80 assembler code, so it is easily portable to other Z80 platforms (Amstrad, MSX). Other non Z80 targets could also be available in the future.
ZX BASIC syntax tries to maintain compatibility as much as possible with Sinclair BASIC, it also have many new features, mostly taken from FreeBASIC dialect.
Z88DK
z88dk is a z80 C cross compiler supplied with an assembler/linker and a set of libraries implementing the C standard library for a number of different z80 based machines. The name z88dk originates from the time when the project was founded and targetted only the Cambridge z88 portable.
RAGE1: Retro Adventure Game Engine, release 1
https://github.com/jorgegv/rage1
RAGE1 is an adventure game engine for the ZX Spectrum based on the great SP1 sprite library by Alvin Albrecht.
Its initial purpose is the generation of adventure games with zenital pespective, but it will evolve to support other types of games, e.g. platforms, etc.
Herramientas
Pasmo
Pasmo es un ensamblador cruzado para Z80, escrito en C++ estándar que compila con facilidad en múltiples plataformas. Actualmente, genera código objeto en los siguientes formatos: binario crudo, Intel HEX, PRL para RSX de CP/M Plus, Plus3Dos (Spectrum +3 disco), TAP, TZX y CDT (imagen de cinta para emuladores de Spectrum y Amstrad CPC), AmsDos (Amstrad CPC disco) y MSX (para uso con BLOAD desde disco en Basic).
Skoolkit (Windows/macOS/Linux)
https://github.com/skoolkid/skoolkit
SkoolKit is a collection of utilities that can be used to disassemble a Spectrum game (or indeed any piece of Spectrum software written in machine code) into a format known as a skool file. Then, from this skool file, you can use SkoolKit to create a browsable disassembly in HTML format, or a re-assemblable disassembly in assembly language. So the skool file is - from start to finish as you develop it by organising and annotating the code - the common 'source' for both the reader-friendly HTML version of the disassembly, and the developer- and assembler-friendly version of the disassembly.
Spectrum Analyser (Windows)
https://colourclash.co.uk/spectrum-analyser/
Spectrum Analyser is a tool that is designed to help reverse engineer ZX Spectrum games & programs.
It is a combination of an emulator, debugger & interactive disassembler. Programs are loaded and run in the emulator and their state can be inspected using the tools provided.
Toolchain
https://github.com/jarikomppa/speccy
Here's a bunch of stuff I've cobbled together to make a zx spectrum toolchain. It's (still) (well, probably forever) a work in progress, but someone may find it useful.
Note that I'm doing this on windows, but what I've got together here may be helpful for figuring these things out on other platforms too.
Utoboot
https://github.com/Utodev/utoboot
Un sistema de arranque de propósito general para que juegos o utilidades puedan ser distribuidos en una tarjeta SD para ESXDOS+DivMMC/IDE (ZX Spectrum)
ZX-Tools
https://zx.remysharp.com/sprites/
Remy's Sprite, Tile and Palette editor for the ZX Spectrum Next.
img2zx
https://github.com/AugustoRuiz/img2zx
Simple script to convert raster images (bmp, png, gif...) into assembly files for ZX Spectrum tilesets.
z88dk-dev-environment
https://github.com/dgzornoza/z88dk-dev-environment
z88dk Developer Container Environment for Visual Studio Code.
DeZog - The Z80 Debugger
https://github.com/maziac/DeZog
The objective of this project is to provide a development environment for Z80 assembler programs that offers similar features to those found in high-level programming languages, such as Eclipse, Visual Studio, or XCode.
Z80 Assembly meter in Visual Studio Code
https://github.com/theNestruo/z80-asm-meter-vscode
The Z80 Assembly meter extension for Visual Studio Code meters clock cycles and bytecode size from Z80 assembly source code.