Back to home page

DOS ain't dead

Forum index page

Log in | Register

Back to the forum
Board view  Mix view

mininasm (Developers)

posted by Rugxulo Homepage, Usono, 21.12.2023, 18:10

mininasm is a fork of Oscar Toledo's tinyasm which aims to be both more compatible with regular NASM as well as more efficient in memory. The latest release version v6 on Github is dated from late last year (Dec. 2022).

The prebuilt DOS .COM is 20 kb, but it seems to be buggy and doesn't fully work for me. If I compile it manually with a C compiler, then it works. Even his tests don't fully work anymore, but at least a TC++ compile matches (partial) output with my i16gcc build (mentioned below).

In the interest of Free Software, i.e. instead of Turbo C or even OpenWatcom, I tried to patch it to build with i16gcc (IA16-ELF). I don't know if it's 100% correct, but it seems to work.


diff -s --color -U0 old/mininasm.c new/mininasm.c
--- old/mininasm.c 2022-12-14 11:25:12 +0000
+++ new/mininasm.c 2023-12-19 04:27:20 +0000
@@ -0,0 +1,4 @@
+#ifdef __IA16_SYS_MSDOS /* tested with 20230701 */
+#include <fcntl.h>
+#define creat(filename, mode) open(filename, O_CREAT | O_TRUNC | O_WRONLY | O_BINARY, mode)
+#endif


Part of the advantage to mininasm is that you can compile it with Tiny model, and it's still very efficient and will work! Other memory models might be better. (i16gcc also supports Small, obviously.) He recommends "-mc -O -X" for TC and similarly Compact model for OpenWatcom. I believe his prebuilt .COM is disassembled / tweaked manually, hence it's slightly smaller size. For i16gcc Small, I'm getting roughly 25 kb (UPX'd down to 16 kb).

Once recompiled, it does seem to work fairly well. More feedback and testing is welcome.

 

Complete thread:

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