Dado as múltiplas limitações da plataforma ZX Spectrum, os avanços tecnológicos, e o avanço de emulação, não é comum desenvolver extensivamente em assembly usado o ZX Spectrum como plataforma de desenvolvimento. Como tal, usa-se o que são conhecido como cross-assemblers, ou seja, assemblers noutras plataformas. estes geram ficheiros binários, incluindo ficheiros em formato .ROM, .TZX, .TAP, .Z80 e .SNA.
Neste artigo, vamos falar de 3 cross-assemblers, que podem ser usados em vários sistemas operativos. Apenas salientamos alguns pontos, que não são uma lista exaustiva:
1. Pasmo http://pasmo.speccy.org/
- Pode ser instalado de binário, fácil de compilar.
- Cria facilmente ficheiros em .tap e .tzx, com loaders BASIC.
- Suporta Z80 e 8080.
- Macros.
Assemblar um programa assembly:
pasmo --tap prog.asm prog.tap
Assemblar um programa assembly com loader ZX BASIC:
pasmo --tapbas prog.asm prog.tap
No ASM:
ORG 50000
RET
END 50000
A directiva END indica que o TAP é executado a partir do endereço 50000.
2. sjasmplus - https://github.com/sjasmplus/sjasmplus
- Tem de ser compilado. Dificuldade mediana.
- Suporta fácil de usar de SNA e TAP
- Multi-arquitectura.
- Macros.
- Pode dar problemas (mal compilado?) a ser usado em Mac e Linux.
sjasmplus prog.asm
DEVICE plain
ORG 32768
StartProg:
JP $
;SAVESNA "snapshotname.sna",StartProg
SAVETAP "snapshotname.tap",StartProg
- Pode ser instalado de binário.
- Tem templates para .tap e .tzx.
- Tem desenvolvimento recente.
- Ligado ao projecto sdcc (compilador C para Z80)
- Tem templates para geração de binário em .tap, .tzx
- Tem templates para loaders BASIC ; o template do loader é que vai definir onde o código arranca (ver os exemplos que vem com o zasm)
- Macros.
- Suporta z80 e 8080.
- Suporta instruções não documentadas de Z80.
- Plug-in para TextMate.
- Aparenta ser indicado para utilizadores mais experientes.
Sem comentários:
Enviar um comentário