flat assembler
Message board for the users of flat assembler.

Index > DOS > How to use EMS memory or DOS Extenders ?

Goto page Previous  1, 2, 3  Next
Author
Thread Post new topic Reply to topic
ASM-Man



Joined: 11 Jan 2013
Posts: 65
ASM-Man
HaHaAnonymous wrote:
ASM-Man wrote:
Uau,entende isso?

Of course, this is Portuguese.


Hahaha. Do you really know the language or are you using bing/google translate?

_________________
I'm not a native speaker of the english language. So, if you find any mistake what I have written, you are free to fix for me or tell me on. Smile
Post 06 Feb 2013, 15:40
View user's profile Send private message Reply with quote
HaHaAnonymous



Joined: 02 Dec 2012
Posts: 1180
Location: Unknown
HaHaAnonymous
[ Post removed by author. ]


Last edited by HaHaAnonymous on 28 Feb 2015, 21:42; edited 1 time in total
Post 06 Feb 2013, 16:01
View user's profile Send private message Reply with quote
ACP



Joined: 23 Sep 2006
Posts: 204
ACP
DOS386 wrote:
> The biggest drawback of big flat mode / unreal mode are:
> - forget about multitasking and especially running under Windows

It's a feature Wink



While you might dislike Windows you also can't run under DESQview 386 which was by far the best task switcher of its time. For me this was actually a drawback.

DOS386 wrote:

Don't use EMM386.


As f0dder pointed it out already: can you propose a solution for those who need EMS memory?
Post 07 Feb 2013, 00:18
View user's profile Send private message Reply with quote
ACP



Joined: 23 Sep 2006
Posts: 204
ACP
f0dder wrote:
Btw, why PharLap as a second? Never used it, back then I thought DOS4G/W was king? And later, we got the free WDOSX extender?



First of all if you have been using DOS4G/W you will probably dislike PharLap 386 Dos Extender due to provided selectors by extenders and their mapping. However the TNT version offered what hx is offering many years later: Win32 API from DOS. PharLap extender also came with more advanced own set of tools. Now hx is only real competitor but again those who has been using Watcom C with DOS4G/W will probably dislike PharLap tools.
Post 07 Feb 2013, 00:25
View user's profile Send private message Reply with quote
DOS386



Joined: 08 Dec 2006
Posts: 1903
DOS386
> Speaking of which, do you know of any x64 DOS
> extenders? Personally don't see much use

NO. But there used to be a
forum discussion about such (see FAQ) ...
now dead Sad

> Got an alternative for people who run applications
> that need EMS memory?

- EMS magic (used to be freeware)
- JEMM (you can load and unload
it as needed ... if a few
conditions are met)
- Upgrade the app

_________________
Bug Nr.: 12345

Title: Hello World program compiles to 100 KB !!!

Status: Closed: NOT a Bug
Post 07 Feb 2013, 05:30
View user's profile Send private message Reply with quote
DOS386



Joined: 08 Dec 2006
Posts: 1903
DOS386
BTW, I see really no point to use Pharao or
DOG4/SW nowadays ... use HX or WDOSX or D3X Smile
Post 07 Feb 2013, 05:32
View user's profile Send private message Reply with quote
f0dder



Joined: 19 Feb 2004
Posts: 3170
Location: Denmark
f0dder
ACP wrote:
While you might dislike Windows you also can't run under DESQview 386 which was by far the best task switcher of its time. For me this was actually a drawback.

Never used DESQview myself, but I did use QEMM386 for amazing amounts of low memory - this also ran DOS in v86, iirc?

ACP wrote:
First of all if you have been using DOS4G/W you will probably dislike PharLap 386 Dos Extender due to provided selectors by extenders and their mapping. However the TNT version offered what hx is offering many years later: Win32 API from DOS. PharLap extender also came with more advanced own set of tools. Now hx is only real competitor but again those who has been using Watcom C with DOS4G/W will probably dislike PharLap tools.

Can't remember if I actually used DOS4G/W myself, but it was used in a lot of games - I did used Tran's PMODE (and later, PMODE/W, which was designed as a drop-in for DOS4GW). At that time I would probably have disliked PharLap, since I was in the rabid "I hated Windows, DOS forever!!!" phase of my life... I knew the name, just never happened to come by the extender. I also did rather quickly accept that using PE for 32-bit DOS wasn't so bad after all - WDOSX is probably the extender I used for the longest period of time.

I've been through quite a few - the ones I can remember are:
PMODE, PMODE/W, WDOSX as mentioned above.
Adam Seychell's DOS32 (because it was used by Johans Prins' 32bit pascal compiler, p32).
CWSDPMI (from djgpp - can't remember if I used djgpp early enough to have used the previous GO32, but I remember the name).
DOS/32A (another drop-in for WDOSX).

...and probably a few more that were too esoteric for me to remember Smile
Post 07 Feb 2013, 11:54
View user's profile Send private message Visit poster's website Reply with quote
A$M



Joined: 29 Feb 2012
Posts: 94
A$M
Ok, I admit that I just confusing everyone and myself. Confused

My goal is to create a game using FASM. The game will be two-dimensional and run at DOS (so it should run on Windows, in the NTVDM, without Win32). But the scenario should not be confined to one screen, will be immense. Very Happy

I researched better and I think the best alternative is the "unreal mode" (or "irreal mode"or something). Confused
Can anyone write a hello world in "unreal mode"? Rolling Eyes
(I could not understand very well the source code of FASM for DOS) Wink
Post 07 Feb 2013, 18:47
View user's profile Send private message Reply with quote
f0dder



Joined: 19 Feb 2004
Posts: 3170
Location: Denmark
f0dder
A$M wrote:
I researched better and I think the best alternative is the "unreal mode" (or "irreal mode"or something). Confused

That's not going to work under NTVDM - only pure DOS.

If the focus of your project is the game, and not playing with protected-mode details or bank-switching EMS memory, just use a dos extender (Japheth's HX probably being the best bet).

_________________
Image - carpe noctem
Post 07 Feb 2013, 18:51
View user's profile Send private message Visit poster's website Reply with quote
A$M



Joined: 29 Feb 2012
Posts: 94
A$M
f0dder wrote:
A$M wrote:
I researched better and I think the best alternative is the "unreal mode" (or "irreal mode"or something). Confused

That's not going to work under NTVDM - only pure DOS.

If the focus of your project is the game, and not playing with protected-mode details or bank-switching EMS memory, just use a dos extender (Japheth's HX probably being the best bet).


1. Okay, so can someone write a hello world running at a DOS extender? Can to be Japheth's HX.
2. If I use a DOS extender it will run on Windows at NTVDM? It's important.
3. Before running my game at DOS, the user will need to run the Japheth's HX executable, or something?
Post 07 Feb 2013, 19:02
View user's profile Send private message Reply with quote
f0dder



Joined: 19 Feb 2004
Posts: 3170
Location: Denmark
f0dder
A$M wrote:
1. Okay, so can someone write a hello world running at a DOS extender? Can to be Japheth's HX.
2. If I use a DOS extender it will run on Windows at NTVDM? It's important.
3. Before running my game at DOS, the user will need to run the Japheth's HX executable, or something?

1. Start by heading here and looking at the documentation. To get started, simply write a win32 console application - it's that simple Razz (almost feels like cheating!).
2. Yep, it will - won't be supported on 64bit Windows, but (generally) works fine on 32bit.
3. Nope, you replace the MZ-exe part from the "this program requires win32" to one that automatically loads the necessary stuff. You do need a couple of executables alongside your own exe, though.

If you would like one single exe, check out WDOSX - it can embed the dos extender (and even DLLs, if you use any), and supports executable compression.

_________________
Image - carpe noctem
Post 07 Feb 2013, 21:20
View user's profile Send private message Visit poster's website Reply with quote
A$M



Joined: 29 Feb 2012
Posts: 94
A$M
So, with a DOS extender can I run Win32 console applications?
Post 07 Feb 2013, 21:49
View user's profile Send private message Reply with quote
A$M



Joined: 29 Feb 2012
Posts: 94
A$M
Well... I downloaded the Japheth's DOS Extender. I can compile as: MS COFF and MZ. But, how to "link" the .obj file?
Post 07 Feb 2013, 22:08
View user's profile Send private message Reply with quote
DOS386



Joined: 08 Dec 2006
Posts: 1903
DOS386
> So, with a DOS extender can I run Win32 console applications?

With HX you can run some/many Smile

> Well... I downloaded the Japheth's DOS Extender. I can compile as:
> MS COFF and MZ. But, how to "link" the .obj file?

FASM is NOT a linker. Why didn't you read my older posts http://board.flatassembler.net/topic.php?t=8670 ?
Post 08 Feb 2013, 09:58
View user's profile Send private message Reply with quote
A$M



Joined: 29 Feb 2012
Posts: 94
A$M
DOS386 wrote:
FASM is NOT a linker.


I KNOW!!!

I downloaded a file from Japhet's site.
It comes with some examples to FASM.
When I compile the file "SAMPLEMZ.ASM" (MZ) it generates an executable.
But when I compile the "SAMPLED.ASM" or "SAMPLEW.ASM" (both MS COFF) it generates a .OBJ file that needs to be linked. In the .BAT file (which serves to make the process automatically) appears "FASM", then "link", then "patchPE" (which probably translates to a PE executable).
I want to do it this way because the program seems to me simpler...

H E L P ! ! !
Post 08 Feb 2013, 13:03
View user's profile Send private message Reply with quote
DOS386



Joined: 08 Dec 2006
Posts: 1903
DOS386
> But when I compile the "SAMPLED.ASM" or "SAMPLEW.ASM" (both MS COFF)
> it generates a .OBJ file that needs to be linked.

See posts above. Either get a linker or don't use COFF.

> "patchPE" (which probably translates to a PE executable).

NO. PE->PX

> I want to do it this way because the program seems to me simpler...
> H E L P ! ! !

See posts above (I'm not yet locking this ...).
Post 08 Feb 2013, 13:23
View user's profile Send private message Reply with quote
A$M



Joined: 29 Feb 2012
Posts: 94
A$M
I use the command "link SampleD.obj /SUBSYSTEM:CONSOLE /ENTRY:start /STUB:..\..\bin\loadpex.bin /FIXED:NO /OPT:NOWIN98" and the linker returns:

Quote:
OPTLINK (R) for Win32 Release 8.00.5
Copyright (C) Digital Mars 1989-2009 All rights reserved.
http://www.digitalmars.com/ctg/optlink.html
SampleD.obj Offset 00000H Record Type 004C
Error 138: Module or Dictionary corrupt


Help please! What I do? Crying or Very sad
Post 08 Feb 2013, 17:32
View user's profile Send private message Reply with quote
f0dder



Joined: 19 Feb 2004
Posts: 3170
Location: Denmark
f0dder
You're assembling to COFF?

Iirc the digital mars toolchain uses the old OMF .obj format. Grab a linker that works with COFF Smile
Post 08 Feb 2013, 18:03
View user's profile Send private message Visit poster's website Reply with quote
baldr



Joined: 19 Mar 2008
Posts: 1651
baldr
DOS386 wrote:
FASM is NOT a linker.
With virtual, file and load/store FASM could be a linker. ;-)
Post 09 Feb 2013, 06:18
View user's profile Send private message Reply with quote
A$M



Joined: 29 Feb 2012
Posts: 94
A$M
f0dder wrote:
You're assembling to COFF?

Iirc the digital mars toolchain uses the old OMF .obj format. Grab a linker that works with COFF Smile


Thanks f0dder!! I used the Microsoft (R) Incremental Linker Version 5.12.8078 and it worked! Many thanks to all!!
Post 09 Feb 2013, 12:38
View user's profile Send private message Reply with quote
Display posts from previous:
Post new topic Reply to topic

Jump to:  
Goto page Previous  1, 2, 3  Next

< 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-2020, Tomasz Grysztar.

Powered by rwasa.