flat assembler
Message board for the users of flat assembler.
Index
> DOS > New Dos Extender D3XX (derivative of D.B.'s D3X) |
Author |
|
CandyMan 07 Jul 2012, 18:04
D3XX dos extender with debugger and examples how to use it with fasm.
_________________ smaller is better Last edited by CandyMan on 12 Jul 2023, 20:54; edited 29 times in total |
|||||||||||
07 Jul 2012, 18:04 |
|
CandyMan 12 Jul 2012, 15:33
Examples of the use dos extender with fasm are in an archive. The first example is generating the feasible file in the TMT/Adam format. Files of this type can be compressed with program 32lite or UPX. The other example is generating the feasible LE file (Linear Executable).
Only a part of loader was changed (TMT/Adam format) and concerning procedures of allocation of the memory. Apart from that everything without changes. Original dos extender it is possible to download from http://rugxulo.googlepages.com/d3x-090h.zip This dos extender is stable in contrast with PMODE/W, and his size is only 8.5 kB. A debugger is also attached. |
|||
12 Jul 2012, 15:33 |
|
ACP 12 Jul 2012, 20:26
Thank you for the feedback and changes details. I'd put those information in readme file in archive BTW.
I haven't much used PMODE/W actually and so I have no opinion on this matter. Lately it seems only a handful of Dos Extenders survived (HX is the greatest example probably) so it is good to see release of new extender, especially one targeting FASM. |
|||
12 Jul 2012, 20:26 |
|
DOS386 24 Sep 2012, 06:50
CandyMan wrote: D3XX dos extender with debugger and examples how to use it with fasm. Code: TEST.ASM 247 2012-07-07 13:33 TEST-LE.ASM 247 2012-07-07 13:33 MAKE.BAT 53 2012-07-07 13:38 MAKE-LE.BAT 132 2012-07-07 13:38 32LITE.EXE 55'786 2009-12-14 10:44 D3XX.EXE 8'496 2012-08-17 17:21 D3XXLE.EXE 8'615 2012-08-17 17:20 FASM.EXE 115'712 2012-06-29 12:18 LEBIND.EXE 5'517 1999-12-30 20:00 SD.EXE 33'774 2012-08-18 10:51 ABOUT.TXT 323 2012-07-07 13:46 COOL (the docs are very minimal and no source code) The original: http://jafile.com/uploads/dos386/d3x.zip _________________ Bug Nr.: 12345 Title: Hello World program compiles to 100 KB !!! Status: Closed: NOT a Bug |
|||
24 Sep 2012, 06:50 |
|
f0dder 25 Sep 2012, 15:29
Not cool leaving out the source in a derivative project. And while the license agreement doesn't really mention the source ('free' could be interpreted as 'gratis' rather than 'open'), it does mention derivative works having to fall under the original license - which you definitely aren't providing.
Rethink. |
|||
25 Sep 2012, 15:29 |
|
roytam1 12 Jan 2013, 06:13
I tried to intergate d3xx.exe and d3xxle.exe back to original stubx.exe by compiling original d3x source, replace d3xd.exe with d3xx.exe, replace d3xw.exe with d3xxle.exe, grnerate header files:
fix.exe d3xd.exe -e -p > d3xd.h fix.exe d3xw.exe -e -n > d3xw.h and recompile stubx: gcc -o stubx.exe -Wall -W -pedantic -ansi -O2 -s stubx.c but the stub-replaced program won't run, prints "D3X: error 0xF8: unable to spawn image" instead. BTW using aPack is smaller: http://ibsensoftware.com/products_aPACK.html |
|||
12 Jan 2013, 06:13 |
|
ACP 12 Jan 2013, 20:16
roytam1 wrote:
Quick peek into original sources reveal that either open file operation fails or reading exe header fails. Just setup breakpoints on int 21h 3dh and 3fh functions and see why it fails. I didn't have time to analyze original code and compare the differences betweaen both versions but either the first file open operation fails or I would suspect this code fragment from kernel\d3x.asm: Code: ;Now read d3x header mov ah,3fh mov dx,d3x1Header mov cx,d3x1_hdr_size int 21h go c,_need_img cmp cx,ax go ne,_need_img ;Here test if D3X cmp dword [d3x1Header+sign],'D3X1' go ne,_need_img |
|||
12 Jan 2013, 20:16 |
|
CandyMan 05 Jul 2014, 19:47
I uploaded source code of D3XX.
_________________ smaller is better Last edited by CandyMan on 13 Jun 2022, 20:42; edited 13 times in total |
|||||||||||
05 Jul 2014, 19:47 |
|
roytam1 02 May 2015, 06:05
CandyMan wrote: I uploaded source code of D3XX. what is the difference between D3X-GDT.EXE, D3X.EXE, D3XLE.EXE, D3XLITE.EXE, and D3XS.EXE? |
|||
02 May 2015, 06:05 |
|
CandyMan 02 May 2015, 11:46
see definitions in source
Code: d3x-gdt.exe ; d3x with large gdt & ldt for Adam target d3x-ldt.exe ; d3x with large ldt for Adam target d3x-lew.exe ; d3x with pmodew memory allocation routines for LE target d3x-pmw.exe ; d3x with pmodew memory allocation routines for Adam target d3x.exe ; d3x with small gdt & ldt for Adam target d3xle.exe ; d3x with small gdt & ldt for LE target d3xlite.exe ; d3x lite d3xs.exe ; d3x command line _________________ smaller is better |
|||
02 May 2015, 11:46 |
|
roytam1 02 May 2015, 12:41
CandyMan wrote: see definitions in source so d3xs.exe is something like pmodetsr.exe or cwsdpmi.exe? and what features are omitted in d3xlite.exe? |
|||
02 May 2015, 12:41 |
|
CandyMan 02 May 2015, 15:57
features are omitted in d3xlite.exe:
* int 33h - mouse * int 31h.0A00 - API * int 21h.4B00 - dos execute * int 21h.71xx - extended 21h * int 21h.FFxx - functions like in DOS32A * exit procedure * showing exception error d3xs.exe in the separate file is being started by the short loader at the beginning of the program _________________ smaller is better |
|||
02 May 2015, 15:57 |
|
CandyMan 25 Jun 2018, 16:21
I uploaded new version. Two bugs in exception handling was fixed.
|
|||
25 Jun 2018, 16:21 |
|
< Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2024, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.