Tniasm compatible assembler

By Daemos

Paragon (1668)

Daemos's picture

13-10-2018, 21:55

Context of the story is somewhat difficult so please keep the "why do you want to do it" out of the discussion. I am using tniasm because thats what i always use. Its a good assembler, in fact somewhere in the one of the best region imho. However there is a small problem: it is a x86 binary and thats it. It works it does the job but no source no ports nothing. I will not contact the maker because i dont want to bother him with requests of this kind so i am looking for a assembler that complies to the following.

1. Can assemble smw (trust me, this one is difficult)
2. Is open source.

Almost 90% of my computers at home and work are based on arm cpus so i need a assembler that can run on such platform.

To prevent the obvious awnsers:

Yes, i have tried quemu. Too slow assembly takes 15 minutes.
I have tried glass and sjasm and both trow about 1500 errors in my face.

All other suggestions are welcome. I will try anything you suggest.

Login or register to post comments

By Manuel

Ascended (14738)

Manuel's picture

13-10-2018, 22:11

Perhaps these errors can be solved with some simple search and replace...? Probably most have the same origin...

By syn

Paragon (1883)

syn's picture

13-10-2018, 22:48

Are you talking about the old ancient tniasm v0.45 which is free to download or the paid v1.0? Not that it matters much compatibility-wise I guess but 1.0 also offers macros and stuff.

Wouldn't virtual machine or remote desktopping your main dev pc be an option?

By Daemos

Paragon (1668)

Daemos's picture

13-10-2018, 22:56

its about the acient 0.45 version. Have tried remote desktopping but its all inconvenient. On my main machine the exe runs smoothly on wine so no problems there. Its where the ARM cpu kicks in where things get difficult.

By sd_snatcher

Prophet (2865)

sd_snatcher's picture

14-10-2018, 02:39

Maybe sjasm-plus? It's more flexible than sjasm, so it might work.

By Daemos

Paragon (1668)

Daemos's picture

14-10-2018, 16:34

Sjasmplus at least compiles nicely. However compiling smw gives 20k + errors propably label related oO

By Manuel

Ascended (14738)

Manuel's picture

14-10-2018, 17:23

Look at the errors and see how you can solve them... Maybe glass is the best option, grauw is quite active.

By Vampier

Prophet (2233)

Vampier's picture

14-10-2018, 20:58

TNIAsm1.0 is not an option?

By Daemos

Paragon (1668)

Daemos's picture

16-10-2018, 21:24

After many many manyyyyyy hours of fiddling here is what I came up with:

compile new kernel with binfmt_module. install qemu-i386 with static support. Then create i386 chroot. Transfer libs and wine binaries to main system. ENable binmft

Copy wine prefix to home folder. Start wine cmd and voila! tniasm starts and compiles on arm64. In a whopping 25 seconds hahahaha. Still kinda slow but good enough for me. Takes 53 seconds at my work on a native machine so this is a pretty good result. Thanks for thinking along.

Perhaps one day the makers of this great tool will compile a arm binary who knows for now I can continue on my portable platforms.

My MSX profile