flat assembler
Message board for the users of flat assembler.

Index > DOS > New Dos Extender D3XX (derivative of D.B.'s D3X)

Author
Thread Post new topic Reply to topic
CandyMan



Joined: 04 Sep 2009
Posts: 413
Location: film "CandyMan" directed through Bernard Rose OR Candy Shop
CandyMan 07 Jul 2012, 18:04
D3XX dos extender with debugger and examples how to use it with fasm.


Description:
Download
Filename: D3XX.7Z
Filesize: 1.47 MB
Downloaded: 1273 Time(s)


_________________
smaller is better


Last edited by CandyMan on 12 Jul 2023, 20:54; edited 29 times in total
Post 07 Jul 2012, 18:04
View user's profile Send private message Reply with quote
ACP



Joined: 23 Sep 2006
Posts: 204
ACP 12 Jul 2012, 09:21
The name suggest it is a successor to D3X Dos Extender I guess. In the archive I've found some 3rd party tools as well. Care to tell us a bit more about this project and how it differs from WDOSX or DOS/32A for example?
Post 12 Jul 2012, 09:21
View user's profile Send private message Reply with quote
CandyMan



Joined: 04 Sep 2009
Posts: 413
Location: film "CandyMan" directed through Bernard Rose OR Candy Shop
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.
Post 12 Jul 2012, 15:33
View user's profile Send private message Reply with quote
ACP



Joined: 23 Sep 2006
Posts: 204
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.
Post 12 Jul 2012, 20:26
View user's profile Send private message Reply with quote
DOS386



Joined: 08 Dec 2006
Posts: 1900
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 Smile (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
Post 24 Sep 2012, 06:50
View user's profile Send private message Reply with quote
f0dder



Joined: 19 Feb 2004
Posts: 3175
Location: Denmark
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.
Post 25 Sep 2012, 15:29
View user's profile Send private message Visit poster's website Reply with quote
roytam1



Joined: 20 Apr 2004
Posts: 16
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
Post 12 Jan 2013, 06:13
View user's profile Send private message Reply with quote
ACP



Joined: 23 Sep 2006
Posts: 204
ACP 12 Jan 2013, 20:16
roytam1 wrote:

but the stub-replaced program won't run, prints "D3X: error 0xF8: unable to spawn image" instead.


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 
    
Post 12 Jan 2013, 20:16
View user's profile Send private message Reply with quote
CandyMan



Joined: 04 Sep 2009
Posts: 413
Location: film "CandyMan" directed through Bernard Rose OR Candy Shop
CandyMan 05 Jul 2014, 19:47
I uploaded source code of D3XX.


Description: D3XX alternative versions with source code
Download
Filename: D3X.7Z
Filesize: 113.47 KB
Downloaded: 1191 Time(s)


_________________
smaller is better


Last edited by CandyMan on 13 Jun 2022, 20:42; edited 13 times in total
Post 05 Jul 2014, 19:47
View user's profile Send private message Reply with quote
roytam1



Joined: 20 Apr 2004
Posts: 16
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?
Post 02 May 2015, 06:05
View user's profile Send private message Reply with quote
CandyMan



Joined: 04 Sep 2009
Posts: 413
Location: film "CandyMan" directed through Bernard Rose OR Candy Shop
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
Post 02 May 2015, 11:46
View user's profile Send private message Reply with quote
roytam1



Joined: 20 Apr 2004
Posts: 16
roytam1 02 May 2015, 12:41
CandyMan wrote:
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
    

so d3xs.exe is something like pmodetsr.exe or cwsdpmi.exe?
and what features are omitted in d3xlite.exe?
Post 02 May 2015, 12:41
View user's profile Send private message Reply with quote
CandyMan



Joined: 04 Sep 2009
Posts: 413
Location: film "CandyMan" directed through Bernard Rose OR Candy Shop
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
Post 02 May 2015, 15:57
View user's profile Send private message Reply with quote
CandyMan



Joined: 04 Sep 2009
Posts: 413
Location: film "CandyMan" directed through Bernard Rose OR Candy Shop
CandyMan 25 Jun 2018, 16:21
I uploaded new version. Two bugs in exception handling was fixed.
Post 25 Jun 2018, 16:21
View user's profile Send private message Reply with quote
Display posts from previous:
Post new topic Reply to topic

Jump to:  


< Last Thread | Next Thread >
Forum Rules:
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Copyright © 1999-2024, Tomasz Grysztar. Also on GitHub, YouTube.

Website powered by rwasa.