Skip to content

Releases: bircher988/mac68k-asm

mac68k-asm 1.2.1

Choose a tag to compare

@bircher988 bircher988 released this 30 Sep 18:23
c791cd1

Fixed in 1.2.1: short branches inside a macro stay short.

A macro call is one source line, but its expansion can hold several branches. When one of them had to be long (for example an unsized forward BMI, which is .W), every Bcc.S after it in the same expansion was widened too, with a wrong "does not reach its target" warning. Each branch is now sized on its own. Code without macros is unchanged: 104 projects build to identical bytes.

Install: sudo apt install ./mac68k-asm_1.2.1_arm64.deb (or _amd64.deb), or brew install bircher988/tap/mac68k-asm.

mac68k-asm 1.2

Choose a tag to compare

@bircher988 bircher988 released this 29 Sep 20:12
96ea520

New in 1.2: the resource compiler knows the RMaker formats

  • Type XXXX = STR - one line of text as a Pascal string, e.g. an application's signature resource (the trailing space of the original spelling is optional),
  • Type FREF - <file type> <local icon ID> [<file name>],

byte for byte as the original MDS RMaker makes them (a regression test compares with its output). The README describes the .R formats, with an application icon as the example.

Install: sudo apt install ./mac68k-asm_1.2_arm64.deb (or _amd64.deb), or brew install bircher988/tap/mac68k-asm.

mac68k-asm 1.1

Choose a tag to compare

@bircher988 bircher988 released this 26 Sep 06:05
c6fb8de

Breaking change: a DS variable named on its own may now only be read (MOVE.W Var,D0, CMP, BTST, LEA, PEA). Where the operand must be alterable - a destination, CLR, TST, ADDQ, BSET, ... - write the base register: MOVE.W D0,Var(A5). It is the same instruction as before, and the error names the fix for each line (write WindPtr(A5)).

Also in 1.1:

  • Fix: "assembly does not converge" - a forward Bcc.S over one instruction could be widened for good and push the next one, one per pass.
  • Applications with a BNDL resource get the Finder's hasBundle flag, so their icons show.
  • Operand errors are reported once instead of once per pass.
  • The .deb recommends mac68k-disk (hfsutils is no longer packaged in Debian 13).

Install on Debian / Ubuntu / Raspberry Pi OS (needs glibc 2.34 or newer: Debian 12, Ubuntu 22.04, Raspberry Pi OS bookworm or later):

wget https://github.com/bircher988/mac68k-asm/releases/download/v1.1/mac68k-asm_1.1_arm64.deb
sudo apt install ./mac68k-asm_1.1_arm64.deb      # _amd64.deb on a PC

macOS (Homebrew): brew install bircher988/tap/mac68k-asm (or brew upgrade mac68k-asm).

From source (Linux, macOS, any Unix): make && sudo make install.

mac68k-asm 1.0

Choose a tag to compare

@bircher988 bircher988 released this 24 Sep 22:35

First public release.

mac68k-asm builds applications for the first Macs (Mac 128K/512K/Plus, 64K ROM, System 3.x) from 68000 assembler sources: assembler, linker, resource compiler and MacBinary writer in one small C program.

Install on Debian / Ubuntu / Raspberry Pi OS (needs glibc 2.34 or newer: Debian 12, Ubuntu 22.04, Raspberry Pi OS bookworm or later):

wget https://github.com/bircher988/mac68k-asm/releases/download/v1.0/mac68k-asm_1.0_arm64.deb
sudo apt install ./mac68k-asm_1.0_arm64.deb      # _amd64.deb on a PC

From source (Linux, macOS, any Unix): make && sudo make install.

See the README for the quick start, the example program and the source dialect.