i want to have direct access to my 2 surfaces. i've heard that i must use Lock function to do so. But the problem is:

how to start directx, drectdraw, how to create surfaces in tasm (everything i've read is for masm, or uses some unknown for my libs externals), how to operate on surfaces. how to play wav in dmusic. how to play avi (compressed) with dx (direct show?). how to use joystick with dinput.

i'd be VERY glad if anyone replied to any of these questions. (PLEASE, or i'll jump from the bridge)

The only way to achieve the goal is fight.
Posted on 2001-12-29 21:31:00 by ti_mo_n
Ah! we're on the same track! :)
Check out http://www.deinmeister.de/w32asm3e.htm
I still haven't started yet...

Just A Spoiler:

You'll be frying your brain for days :)


Major Problem #1:

Most .lib files available are in COFF format which means TASM can't use those .lib files(it should be in OMF).

If you follow the tutorial(link above) you'll find out that you don't need a .lib file to use directx's procedures(I still haven't tried it yet). By the way, if your using pure ideal mode, I tell you there's a lot of work to be done.

If you want to use lib files(to make your life easier), you have to use impdef and implib(bin directory of tasm) to convert the dll's into static libraries.

E.G. implib ddraw.lib ddraw.dll -> this is for your lib file -> output ddraw.lib

then use INCLUDELIB "ddraw.lib" in your asm file

E.G. impdef ddraw.def ddraw.dll -> lists procedures available on that dll(ddraw.dll) -> output ddraw.def


Major Problem #2:

TASM is dying, less support, few ppl using, less tutorials(Of course I'm happily converting a lot of tuts from MASM. :) I wish MASM has an IDEAL mode)

Major Problem #3:

Most tuts for directx asm aren't expalined thoroughly(why did we do that, what's that procedure/macro for...) --- well, there goes my rant. :)
Posted on 2001-12-30 01:07:13 by stryker
You lucky guys :)

We are working to HE (www.hostileencounter.com) a full RTS game using TASM, and DirectX ... and after this release of HE v0.11 is ok...i will starts to write the tutorials you so much need...

until then you can always ask me or others guys here... about any problems you have

first you should get the TASMDX6.1 includes from Test Department's web site if i recall corectly... or...hmmm make them yourself ... ooops...
Posted on 2001-12-30 06:21:05 by BogdanOntanu
Now i know how to initialize ddraw, but it uses d3dx8.dll
(i have that dll, but: what is that? i thought that dx8 uses d3d.dll or something).

i still don't get anything about sound, music, etc.

still don't know how to lock surfaces

still don't really get this COM stuff and dll proc adress

still don't know anything about displaying AVIs

still using tasm's ideal mode :)

still learning

The only way to achieve the goal is fight.
Posted on 2002-01-11 16:04:56 by ti_mo_n
timon: first, switch to masm. Makes your life easier you know. And
the only reason many people have been able to give as to why they
stick with tasm is "it gives a warm fuzzy feeling inside" (or equivalent).
If you want to play around with 2D stuff, try an older version of
DX than the 8.x releases. If you just want framebuffer access, you
don't need anything fancy. DX1 (or perhaps DX3) is all you need -
anyway you don't need to query interfaces or anything like that.

d3dx8 is, as far as I remember, not shipped with DirectX installs,
only the dx8 sdk - and thus you'll have to distribute d3dx8.dll with
your applications. Static linkage of d3dx8.lib is not too much fun,
since it depends on a helluva lot of libc routines.

Anyway, if you *really* want to stick with tasm, converting the
idead from masm to tasm shouldn't be too hard. You might not have
the helpful macros, and you might have to do quite some other
work yourself - but hey, if tasm is so great, isn't this worth it? *giggle*
Posted on 2002-01-12 03:37:02 by f0dder
Now I understand how to do things with directx8.
i use tasm because i started with it and i dont have the time to learn masm or anything else.:grin:

i still don't get:

1) how to use direct show (my c++ documentation on sdk cd doesnt tell me anything), there are no FUNCTIONS to initialize?

2) how to use directaudio (i don't get this 'buffers' stuff)

3) how to get Device context of directx device (or surface?). i just want to write to frame with API functions.

another thing:

where can i find some jpeg decompressing routine that works this way (or something similiar):
eax= block number
ebx= pointer to jpeg file (or pointer to filename)
ecx= pointer to memory array for uncompressed RGB block


or maybe IJL.dll (intel's jpeg lib) does the same?

could someone translate for me (or give me url) sdk documentation to asm? (i don't know c++)
Posted on 2002-02-16 15:10:02 by ti_mo_n
There are alot of people who know this stuff on this board, however, you keep asking *very* general questions. If you can clarify your questions and make them a bit more specific then I'm sure someone will be able to help you a little better.

Asking a question like, "how to use direct show (my c++ documentation on sdk cd doesnt tell me anything), there are no FUNCTIONS to initialize? " Because I don't know where you are in the SDK and how your using directshow. If you want to know how directshow works the sdk comes with a few examples using directshow. However, a lot of the information with "dshow.h" hasn't be changed into an "*inc" file for use with ASM.

If you can just give one of those questions a bit more depth I'm sure we'll be better able to help you in some capacity.

Posted on 2002-02-16 16:22:40 by Sliver
ok, so there are 'deeper' questions:

but first:
1. i understand COM stuff, and i know how to use it
2. i know only asm (tasm)
3. i understand maths stuff (so if there is any need of using it - don't worry)

Q1: How to initialize DirectShow? I just want my avi to display on the screen one frame after another (movie sequence), and to do so i need (i need?) to initialize something, right? How to do that, how to load avi, ho to play it, stop it, and such. i can use direct3d because thare is a function Direct3dCreate8 so it creates d3d object in mem. is there equal function for direct show? or there is another way?
Q2: what steps do i need to play some audio (like two buffers mixed into one (for example: gun hit + bgmusic)). daudio HAS functions, so i only need to know which to use, and what they do?
Q3: (bonus question:) How to obtain windows Device Context for d3d? if it can't be done - then just say 'impossible'. i will understand.
Posted on 2002-02-22 13:19:57 by ti_mo_n
I've switched to dx7 so all my pevious questions are automatically made obsolete (noone has answered them:(

i have new questions:

1: where i can download include files for TASM?
2: can someone translate ijl.h (header file for intel's JPEG lib) to TASM's inc format? (or can someone tell me how to do that: i just don't know how to tranlate structures, and don't know the size of char* and other like that (int, long, etc.))

i now understand C stuff used in SDK, so i know how to use direct show, but i can't, because it requires some constants and i don't have them defined anywhere.

Is someone using dx in TASM ?
Posted on 2002-03-31 12:39:37 by ti_mo_n