Repository navigation
Releases
RELEASE-20260905
- Fixed DOS-memory preasure. Need ~460k free memory for self-recompile.
RELEASE-20260806
Fix DPMI runtime and code generation. No more writes to code segments (cause GPF)
RELEASE-20260805
- 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
Reduce memory pressure. TLINK have target /t=texe, now
RELEASE_20260720
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
A little bit Improved code generation.
RELEASE-20260717
RELEASE-20260716
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
Added Trubo Assembler (TASM) to toolchain. NASM-syntax assembler for subset of 8086.
RELEASE-20260711
- 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