Skip to content

Releases

RELEASE-20260905

Choose a tag to compare

@DosWorld DosWorld released this 05 Sep 18:50
  • Fixed DOS-memory preasure. Need ~460k free memory for self-recompile.

RELEASE-20260806

Choose a tag to compare

@DosWorld DosWorld released this 06 Aug 21:11

Fix DPMI runtime and code generation. No more writes to code segments (cause GPF)

RELEASE-20260805

Choose a tag to compare

@DosWorld DosWorld released this 05 Aug 18:14
  • Added /CP - DPMI16 target, generates NE-EXE (OS/2) for HX-DOS Extender.
  • Minor updates into TLINK: support linking BGI driver, small fixes
  • Minor fixes in TASM

RELEASE_20260721

Choose a tag to compare

@DosWorld DosWorld released this 21 Jul 19:04

Reduce memory pressure. TLINK have target /t=texe, now

RELEASE_20260720

Choose a tag to compare

@DosWorld DosWorld released this 19 Jul 23:11

The test environment was configured with 544 KB of free conventional memory. A self-host compilation check was successfully performed.
There were also minor changes, such as cleaning up the Makefiles.

It’s a shame, but I’m afraid 544 KB won’t be enough for me for long.

RELEASE_20260719

Choose a tag to compare

@DosWorld DosWorld released this 19 Jul 08:40

A little bit Improved code generation.

RELEASE-20260717

Choose a tag to compare

@DosWorld DosWorld released this 17 Jul 20:39

Updates

RELEASE-20260716

Choose a tag to compare

@DosWorld DosWorld released this 16 Jul 21:05

Major update of TASM: Now, support macros, includes. Fixed tons of bugs.
Also, now, TASM can work as bin2rdf (sort of bin2obj, but for my toolchain).
Minor updates in TOC and library. Added lost LFN support in module Files (Reset/ReWrite).

PS: Compiler seems unexpectly (for me) stable.

RELEASE-20260712

Choose a tag to compare

@DosWorld DosWorld released this 12 Jul 16:40

Added Trubo Assembler (TASM) to toolchain. NASM-syntax assembler for subset of 8086.

RELEASE-20260711

Choose a tag to compare

@DosWorld DosWorld released this 11 Jul 16:12
  • CASE jump-table dispatch: implemented, debugged (2 real bugs found and fixed: out-of-range dispatch bug caught by a new dedicated test), and fully verified (make test 272/272, self-host gen2==gen3 byte-identical).
  • SYSTEM.MOD: added semantic documentation for your new SetExitProc/GetExitProc API.
  • BUGFIX: Any non-LONGINT RHS unconditionally sign-extended, so l := w with w = 40000 (bit 15 set) silently stored -25536 instead of 40000. Assignment-tail widening now dispatches by RHS type: LONGINT := WORD/BYTE zero-extends (XOR DX,DX); LONGINT := INTEGER still sign-extends (CWD).
  • Scan.Next no longer tail-recurses after skipping a comment (block (* *) or line //); converted to a REPEAT...UNTIL ~again loop. Previously N consecutive comments pushed N nested stack frames, risking SP wraparound into the data segment on 8086.
  • CgDiv/CgMod (16-bit INTEGER path) now apply a floored-division fixup after IDIV: if the remainder is nonzero and its sign differs from the divisor's, decrement the quotient and add the divisor back into the remainder.
  • Scan.SkipComment's system-comment branch ((*$...) now reports "unterminated comment" on EOF, matching the plain-comment path's existing behavior.
  • Tar.ParseOctal now skips leading spaces before the digit scan, so space-padded octal size fields (used by some tar writers) parse correctly instead of yielding 0.
  • Fixed parsing $M, $D
  • Fixed stability crisis