Skip to content

EdouardBERGE/rasm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

07d5d07 · Feb 21, 2025
Apr 22, 2023
Feb 7, 2022
Dec 7, 2022
Oct 22, 2021
Feb 7, 2022
Apr 25, 2022
Feb 5, 2025
Jan 28, 2025
Mar 3, 2021
Feb 5, 2025
Jun 11, 2020
Feb 3, 2025
Feb 7, 2022
Dec 17, 2023
Dec 26, 2022
Jan 27, 2025
Feb 21, 2025
Feb 21, 2025
Jan 27, 2022
Feb 2, 2021

Repository files navigation

Logo courtesy of Barjack

Rasm Z80 assembler (is a COMMAND LINE tool)

Rasm was designed to be damn FAST and handle HUGE projects. On a modern machine, it can assemble millions of instructions in a blink of an eye. It's way faster than the best alternatives. Rasm also runs on almost any platform : Linux, MacOS Intel or ARM, Windows 32 bits or 64 bits, MS-DOS and even MorphOS

Integrated crunched sections

  • Rasm know how to load&crunch on the fly files when doing INCBIN (including binaries)
  • Rasm is able to assemble and crunch portions of code, and relocate following instructions
  • Rasm can assemble as much code as you want in each memory space and break the 64K barrier before crunch
  • Many crunchers are supported: LZ4, LZ48, LZ49, ZX0, ZX7, Exomizer 2, AP-Ultra, LZSA1, LZSA2

Native format

  • CPC cartridge
  • CPC snapshots up to 4M
  • CPC EDSK (as many as you want in update or generation mode)
  • floppy HFE engine to manage ANY particular format
  • CPC/ZX TAPE output
  • CPC/ZX Binaries with or without AMSDOS/HOBETA header
  • ZX snapshots
  • you can initialize memory with a snapshot or a cartridge (usefull to patch memory)

Debug output

  • symbols import, or export in files, CPC snapshot
  • breakpoint export in CPC snapshot or files
  • dependencies export for makefile creation
  • ACE-DL debug chunk in snapshot and cartridge for unprecedented debug experience

Mostly unlimited design

  • ORG checking, unlimited memory workspaces where labels are shared, bank management, structures
  • conditionnal macro, unlimited & embeded loops with local labels, switch/case
  • floating point engine, mathematical functions, ...
  • crunched segments declaration may overflow the 64K limit as much as you want
  • UTF8 characters mapper for any text remapping design

Compatibility for archeology (with old versions of these assemblers)

  • MAXAM
  • AS80
  • UZ80
  • Pasmo

Oldschool is beautiful

  • Amsdos real & Microsoft basic 40bits float support

Documentation

There is a cool French and English documentation, you should read it ;)

Quality

Each build is tested every release, with more than 1200 automated tests.

History

The project was born a few years ago (2017) because i needed a really fast assembler in order to finish my demo before the deadline of the Alchemy 2017. The project was quite huge with approx 350.000 words to assemble but thanks to rasm, the 512K cartridge compiled in a blink of an eye even on my slow Atom CPU. Now Rasm is the reference for huge projects and ultra-fast assembling.

Links

BTW there is many other assemblers you could try: