Merlin 8/16/16+ Compatible 6502/65816 assembler/linker suite in C++ for linux
Go to file
2019-11-14 11:21:25 -08:00
ciderpress test 2019-11-13 15:51:19 -08:00
cmake adding cmake 2019-11-11 19:47:21 -08:00
qasm.xcodeproj HEX opcode working 2019-11-14 11:21:25 -08:00
src HEX opcode working 2019-11-14 11:21:25 -08:00
testdata test 2019-11-13 15:51:19 -08:00
.gitignore DUM complete, DS working/not done, work on shift operators 2019-11-13 06:54:48 -08:00
app.h first commit 2019-11-11 15:56:03 -08:00
asm.cpp HEX opcode working 2019-11-14 11:21:25 -08:00
asm.h Merge branch 'master' into master 2019-11-14 11:14:12 -08:00
CMakeLists.txt Changes to CMakeLists.txt to get os x version compiling (but not linking) via make/cmake 2019-11-12 19:39:09 -08:00
config.h define NO_SIGNAL_HANDLING 2019-11-12 17:23:10 -08:00
eval.cpp Fix warnings 2019-11-13 15:05:12 -08:00
eval.h DUM complete, DS working/not done, work on shift operators 2019-11-13 06:54:48 -08:00
libpal test 2019-11-12 00:15:47 -08:00
LICENSE first commit 2019-11-11 15:56:03 -08:00
Makefile DUM complete, DS working/not done, work on shift operators 2019-11-13 06:54:48 -08:00
opcodes.cpp HEX opcode working 2019-11-14 11:21:25 -08:00
opcodes.h first commit 2019-11-11 15:56:03 -08:00
psuedo.cpp HEX opcode working 2019-11-14 11:21:25 -08:00
psuedo.h HEX opcode working 2019-11-14 11:21:25 -08:00
qasm first commit 2019-11-11 15:56:03 -08:00
qasm.cpp DUM complete, DS working/not done, work on shift operators 2019-11-13 06:54:48 -08:00
qasm.h Fix includes that use system instead of project syntax 2019-11-12 19:45:29 -08:00
qasm.ini expression shifting 2019-11-13 15:45:39 -08:00
README Fix git:: in readme 2019-11-12 19:45:01 -08:00

Merlin Compatible assembler/linker (and more) for linux

This project is FAR from complete...as I have just gotten it to compile all 256 65816 opcodes.
The program will read/compile linux based Merlin syntax files (.s), as well as original Merlin 8/16/16+ files in Merlin format
(high bit set), compressed spaces, and only a <CR> to end lines.  I plan on adding a mode that will process and convert to linux style so
files can be converted for easy editing under linux.

Merlin32 is great, but there are aspects of it that I don't like (always outputting assembly status and creating .txt file listings, etc)

Along time ago, in the mid 1980's I wrote a Merlin compatible assembler and programming shell (with the help of Lane Roathe) for the Apple //GS
Recently, Lane sent me the source code to that assembler. Unfortunately, because of some of the features we added to the assembler, it will not
compile under Merlin or Merlin32.  (We actually used qasm to build qasm).

This project will be a linux compatible version, that will compile/link the original source. However, due to speed and everything 'linux'
I doubt the original will be used much.

I also would like to interface with the CiderPress library to allow output from the assembler/linker to write files directly to Prodos 
based .2MG (or other) images.  That way, after a compile, the code under test can be immediately run from a GS emulator.

This early version relies on the Poco Foundation libraries. You must have these installed.
Additionally, this repo relies on another repo here called 'libpal'.  Both repositories must be cloned at the same level.

libpal does not have to be built. The 'qasm' compile will build all of those source files.

'cmake' is used to build the Makefiles.  There is a generic Makefile in the base directory that does all of the 'cmake' stuff for you. 
(in a 'build' directory)

For example:
mkdir workdir
cd workdir
git clone git://github.com/marketideas/libpal libpal
git clone git://github.com/marketideas/qasm qasm

cd qasm
make clean
make

To test:
./qasm src/testfile.s