Sjasm: a new version is coming

By konamiman

Paragon (1162)

konamiman's picture

01-12-2021, 16:49

Hi all. As you remember (or not), back in 2015 I created a GitHub repository for Sjasm and released a new version that added the ability to assemble sources intended for Compass (by adjusting the macro syntax and other minor assembler syntax related tweaks).

I'll soon publish a new version that fixes/improves a few things on that Compass compatibility mode. Here's the pull request if someone wants to take a look/review, I'll merge it and release the new version in a few days.

Login or register to post comments

By jltursan

Prophet (2581)

jltursan's picture

02-12-2021, 10:28

To fully understand the changes scope, does this affect in any way the standard Sjasm macro parser or the whole Sjasm syntax?, I suppose there's no compatibility issues with older versions...

By santiontanon

Paragon (1569)

santiontanon's picture

02-12-2021, 15:00

Nice!

Also, is sjasm actively maintained? There is some small thing I found a while ago that I think is a bug, and was wondering if it can be reported/fixed Smile

Also about the pull request, I see a lot of noise in those .sln files in the repo, should those even be in the repo? If I remember correctly from my windows days many years ago, those are internal visual studio files, right?

By santiontanon

Paragon (1569)

santiontanon's picture

02-12-2021, 17:52

Or if sjasm is not maintained, maybe at least we can see if we can fix that issue in your new version konamiman; I'd be happy to look into the issue I mentioned and send you a pull request (only if you are interest, of course)

By ATroubleshooter

Resident (38)

ATroubleshooter's picture

02-12-2021, 19:48

Huraay!

By sd_snatcher

Prophet (3498)

sd_snatcher's picture

03-12-2021, 02:13

santiontanon wrote:

Also, is sjasm actively maintained?

sjasmplus is being actively maintained. But I'm not sure what are the differences between the plus and the non-plus version. Anyway, wouldn't it be a good idea to try to join forces to plus team? A lot of new Z80 projects use the plus version.

By konamiman

Paragon (1162)

konamiman's picture

03-12-2021, 10:25

Quote:

does this affect in any way the standard Sjasm macro parser or the whole Sjasm syntax?

No. I added the Compass macro syntax back in the 0.39h version as part of the new Compass compatibility mode, but the old syntax is unchanged and still available.

Quote:

is sjasm actively maintained?

Not by the original author anymore, that's why I created the repository from the sources.

Quote:

I see a lot of noise in those .sln files in the repo, should those even be in the repo?

Those are there so that Sjasm can be compiled with Visual Studio, also if you look closely you'll see that there's also a C# project with unit tests. The Sjasm folder contains the sources and is (almost) noise-free, it also contains a Makefile if you prefer to use make for building it.

Quote:

I'd be happy to look into the issue I mentioned and send you a pull request

Sure, go ahead and submit a pull request, we could even include it in the new version I'm preparing.

Quote:

wouldn't it be a good idea to try to join forces to plus team?

I created the repository and released 0.39h back in 2015 because I wanted to add compatibility with Compass sources, I don't know if sjasmplus existed back then. Indeed, maybe we could join forces but I'm not sure about how much effort would it take to unify features.

By Ped7g

Resident (44)

Ped7g's picture

03-12-2021, 13:05

The original sjasmplus fork by Aprisobal from sjasm (0.3 IIRC) was considerably different from sjasm, then 0.4 of sjasm is further different from 0.3, and z00m's fork of sjasmplus is further different, so there are in total quite some differences even in syntax, and lot of difference in implementation.

ie. sjasmplus to sjasm is not like "just extended version of sjasm", but more like old 0.3 sjasm going in two different directions.

Just applying patch from one code base to other is probably impossible.

Quote:

I created the repository and released 0.39h back in 2015

Aprisobal's fork "sjasmplus" era is like 2006-2008. I think z00m's fork of sjasmplus is like 2016, me starting to contribute in 2019, so ~one year after yours.

Quote:

I'm not sure about how much effort would it take to unify features

Probably re-doing it all would be required.

If you would *want* to do that, you are welcome, we could chat about it and see about technical details and possible changes in project.

I don't see any immediate benefit for end user, if your fork of sjasm is capable to assemble compass sources, then end user can just use your fork. Having the same capability in z00m's sjasmplus would be nice in such case, just to have extra option for tools, but doesn't sound like some radical revolution changing landscape of Z80 assemblers... Smile

Maybe if you can spot some nice feature of sjasmplus which would work well together with Compass mode, and you plan to use that as user, then there's some benefit at least for you.

But I see major long-term benefit in having more active maintainers of single project, that may help a lot to keep the project actively maintained in future, so that's why I would welcome active contribution, even if I personally don't need the feature at all and I'm not aware of demand for it. But just having somebody else who is capable to maintain the source base is always huge bonus.

By sd_snatcher

Prophet (3498)

sd_snatcher's picture

03-12-2021, 13:32

konamiman wrote:
Quote:

wouldn't it be a good idea to try to join forces to plus team?

I created the repository and released 0.39h back in 2015 because I wanted to add compatibility with Compass sources, I don't know if sjasmplus existed back then. Indeed, maybe we could join forces but I'm not sure about how much effort would it take to unify features.

I use sjasmplus since at least 2006, when it was still hosted on SourceForge. It changed hands since then, but all its maintainers were always very friendly and receptive people. Recommended!