-
Notifications
You must be signed in to change notification settings - Fork 50
/
assemblers.tex
32 lines (26 loc) · 1.9 KB
/
assemblers.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
\chapter{Assemblers}
The table below shows an overview of assemblers known to work with MEGA65.
For general use we recommend {\bf ACME} as it has good support
for the 45GS02 instruction set; is open source; and finally written in C. The latter
means that it may be ported to run natively on the MEGA65 in the future.
\begin{longtable}{ | l | l | l | l |}\hline
Name & 45GS02 & Source & Reference \\\hline
ACME & yes & C & \url{https://sourceforge.net/projects/acme-crossass}\\
KickAss & yes & Java & \href{https://gitlab.com/jespergravgaard/kickassembler65ce02}{gitlab.com/jespergravgaard/kickassembler65ce02}\\
LLVM-MOS & yes & C++ & \url{https://llvm-mos.org/wiki/Welcome}\\
Ophis & yes & Python & \url{https://github.com/michaelcmartin/Ophis}\\
BSA & yes & C & \url{https://github.com/Edilbert/BSA}\\
CA65 & no\footnote{Our fork of CA65 (part of CC65) correctly detects the MEGA65's CPU, but has no explicit support for the processor's features} & C & \url{https://github.com/mega65/cc65}\\\hline
\end{longtable}
The {\bf BSA} assembler is currently used to build the {\bf MEGA65.ROM}.
Most of this source code is written in the syntax
of the ancient {\bf BSO} assembler (Boston Systems Office), which was used in the
years 1989 - 1991 by software developers, working on the C65.
The {\bf BSA} Assembler has a compatibility mode, which makes it
possible to assemble these old source codes with minor or none modifications.
The {\bf BSA} Assembler has currently only a description of commands
embedded in the C-source of the assembler.
The {\bf LLVM-MOS} project comes with a GNU compatible macro assembler and disassembler that supports all
mnemonics of the 45GS02. It can be used as a stand-alone tool with the command {\bf llvm-mc}.
%Therefore a chapter, describing the usage and the features of {\bf BSA}
%is started after this chapter and will be completed during the next weeks.