Sjasm with Compass sources support

by Latok on 30-05-2015, 10:30
Topic: Development
Languages:

Konamiman has created a public Mercurial repository with the source code of Sjasm, and has released a new version that can assemble Compass sources. Konamiman developed it so that he can first unit test his Z80 code using ZWatcher and then do the final tests in his real MSX using Compass.

You can find the Sjasm homepage right here For more information on Compass, check this site.

Relevant link: forum thread

Comments (4)

By Grauw

Ascended (10717)

Grauw's picture

30-05-2015, 12:18

Nice!

It was a bit confusing to be looking at an empty directory except for a readme and license file after cloning though Smile. I think you should merge the v0.42 code back into the default branch (main development line), or at least point the @ bookmark to v0.42 so it gets checked out by default.

Also, I tried compiling on OS X… The Makefile expects Sjasm.cpp to be named sjasm.cpp, after which it fails on a missing skipblanks symbol…

By konamiman

Paragon (1194)

konamiman's picture

01-06-2015, 12:44

Actually I haven't tried the makefile, I just compile with Visual Studio. Renaming Sjasm.cpp to sjasm.cpp would not be an issue, and as for skipblanks, it's a function defined in reader.cpp/.h, but the funny part is that it is defined twice, once with one parameter and once with none:

int skipblanks();
void skipblanks(char *&p);

I didn't know that this was even possible in C. Perhaps renaming one of the two would solve the problem, could you please try?

By Manuel

Ascended (19326)

Manuel's picture

01-06-2015, 14:25

Is ZWatcher similar to the openMSX watchpoints system? (As far as I understood it is.)

By konamiman

Paragon (1194)

konamiman's picture

01-06-2015, 15:46

I don't know vey much about openMSX but it seems like it must be. The difference is that with ZWatcher and Z80.NET you are executing "bare" Z80 code, without a surrounding emulator (or put another way, you are creating your own emulation environment from scratch).