Back to home page

DOS ain't dead

Forum index page

Log in | Register

Back to the forum
Board view  Mix view

R. Swan's A72 assembler (8086, self-assembling, 11k .COM) (Developers)

posted by Rugxulo Homepage, Usono, 04.07.2021, 04:12

> tcc 1.01 was made freely available for download
> at one point, but they then started being coy.

Turbo C 2.01 (buggy) and Turbo C++ 1.01 (better) were the freeware-ish ones, but they can't be redistributed, sadly. You can still find them on the Wayback Archive. This is why OpenWatcom is heavily preferred.

> Ideally I want a public domain assembler written
> in C90 capable of running on an 8086. But I
> haven't got to that point yet. My focus is still
> on the OS (PDOS/86).

Wolfware's WASM is (now) MIT, NASM (since 2.07) is BSD, TinyAsm is BSD. Legally speaking, although I highly sympathize, "public domain" doesn't exist in some countries. I don't remember all of the licenses of every single assembler (Octasm was public domain, maybe?). NASM (in various forms) is more or less preferred by FreeDOS.

> But it would be good if there was a free version
> available too. I have wasm and wasmr, which work
> fine, but preclude commercial use.

Actually, "open source" (OSI) explicitly means "commercial friendly". It's more or less supposed to be the same as "Free software" but with less emphasis on copyleft (e.g. GPL must always share changes).

* https://opensource.org/licenses/Watcom-1.0
* https://en.wikipedia.org/wiki/Sybase_Open_Watcom_Public_License

Sybase v1 is one of the weird exceptions where a license can be "OSI approved" but "FSF disapproved"! (Unfortunately, nobody was able to rectify that yet.)

> All of the above have versions that work on an 8086,
> which is great, and I can write to a common subset,
> at least of tasm + wasm which I can test.

I've been testing reassembling PSR Invaders under 8086tinyplus emulator (atop Win32) with a modified version of my old BARE_DOS (8086) floppy.

Since it's so slow and limited, I'm finding it very interesting. Luckily for me, I support so many script interpreters and assemblers. So I have plenty of options.

> So this new nasm option is of interest to me, as
> at long last they seem to have some interest in
> support the industry-standard masm (with at
> least tasm and wasm as semi-clones).

I don't think they intend compatibility at all except in very very simple cases (mostly machine-generated). MASM has waaaayyyyy too many options and features.

> Anyway, my most important code is here, part of
> PDOS/386's loader:
>
> https://sourceforge.net/p/pdos/gitcode/ci/master/tree/src/protinta.asm
>
> Here is what I am getting:
>
> C:\devel\pdos\src>nasm -v
> NASM version 2.15.05 compiled on Aug 28 2020
>
> C:\devel\pdos\src>nasm --before "%use masm" -Dmemmodel=tiny protinta.asm
> 2>&1 | head
>
> Adding "-t" doesn't help.
>
> Any ideas?

Try "wasm -zcm=tasm" or "wasm -zcm=masm" or (ideally) "jwasmr".

Or just use NASM, and forget about MASM. (Sorry, but you can't really mix the two very well.)

 

Complete thread:

Back to the forum
Board view  Mix view
22049 Postings in 2034 Threads, 396 registered users, 264 users online (0 registered, 264 guests)
DOS ain't dead | Admin contact
RSS Feed
powered by my little forum