Thread overview
DirectX / Windows
Aug 08, 2003
Sean L. Palmer
Aug 08, 2003
Mike Wynn
Aug 08, 2003
Sean L. Palmer
Aug 08, 2003
Mike Wynn
Aug 13, 2003
Walter
Re: DirectX / Windows [now object formats]
Aug 13, 2003
Mike Wynn
Aug 13, 2003
Walter
August 08, 2003
This is why people top-post.  Stupid M$ products won't even quote a reply properly:

I still have that Direct3D test stuff in D, but I'd rather run it through the latest D compiler to be sure it still works before sending it off to someone.

If anyone wants it, let me know.

That code involves a few additions to D's windows.d (for really basic stuff, even), and that was the main source of difficulty in getting it working, iirc.

One would not be able to write even a simple windows application using the windows.d that ships with DMD today.

Sean


From: "Mike Wynn" <mike.wynn@l8night.co.uk>
Subject: Re: D wrap for GTK+
Date: Thursday, August 07, 2003 10:20 PM

you should do it for your own  personal reasons, currently most D ppl seems
to all be reinventing the wheels
I ported a large amount of the win32 headers, produced a templated library
to allow automatic dll function importing, got directx working from D
(someone else metioned that they had direct3d working but I've not heard any
more for a while) I even tried to get the ppl working on win32 wrappers etc
to co-operate but that was a fruitless task so resigned myself to continuing
my attempts to break the compiler with my bad coding (especially whilst
porting C files) and trying to get a 10 line "this breaks the compiler" to
post to Walter can be as much of a task as the 200K that was breaking it was
to write in the first place.


August 08, 2003
"Sean L. Palmer" <palmer.sean@verizon.net> wrote in message news:bgvseg$2arl$1@digitaldaemon.com...
> This is why people top-post.  Stupid M$ products won't even quote a reply properly:
>
> I still have that Direct3D test stuff in D, but I'd rather run it through the latest D compiler to be sure it still works before sending it off to someone.
>
> If anyone wants it, let me know.
>

I would like a copy, (and I assume you have no objection to me including the files you've porting in any releases of my other ported header etc).

> That code involves a few additions to D's windows.d (for really basic
stuff,
> even), and that was the main source of difficulty in getting it working, iirc.

I downloaded the latest MS SDK (Feb 2003) last week, was thinking I should
start a "everyone port one file" thread but can't quite workout if it's
actually legal to port the headers and redistribute them!
there is only about 1000 files to port ....

I've been thinking that phobos should be broken into two parts "deimos" and
"phobos"
with "deimos" being all the D and C files that D requires for writing a
minimum app (hello world, using the OS's api routines)
and Phobos all the rest which ppl might want to replace themselves

>
> One would not be able to write even a simple windows application using the windows.d that ships with DMD today.
>
now that there is a linux port that seems to be getting used, something does need to be resolved with how D deals with multi-platform development. (I can foresee many issues if someone tries to use D on a ARM/Thumb arch).

I've yet to run the linux dmd, I assume it does d->c (then uses gcc) so potentially any platform that has gcc support can be build.


August 08, 2003
"Mike Wynn" <mike.wynn@l8night.co.uk> wrote in message news:bh0140$2er9$1@digitaldaemon.com...
>
> "Sean L. Palmer" <palmer.sean@verizon.net> wrote in message news:bgvseg$2arl$1@digitaldaemon.com...
> > I still have that Direct3D test stuff in D, but I'd rather run it
through
> > the latest D compiler to be sure it still works before sending it off to someone.
> >
> > If anyone wants it, let me know.

> I would like a copy, (and I assume you have no objection to me including
the
> files you've porting in any releases of my other ported header etc).

Ok, I'll take time this weekend to resurrect that code and send it to you and QUS.

> > That code involves a few additions to D's windows.d (for really basic
> stuff,
> > even), and that was the main source of difficulty in getting it working, iirc.
>
> I downloaded the latest MS SDK (Feb 2003) last week, was thinking I should
> start a "everyone port one file" thread but can't quite workout if it's
> actually legal to port the headers and redistribute them!
> there is only about 1000 files to port ....

Yeah, that sucks.  I'm no lawyer.

> I've been thinking that phobos should be broken into two parts "deimos"
and
> "phobos"
> with "deimos" being all the D and C files that D requires for writing a
> minimum app (hello world, using the OS's api routines)
> and Phobos all the rest which ppl might want to replace themselves

Hmm.  Don't see the rationale.

> > One would not be able to write even a simple windows application using
the
> > windows.d that ships with DMD today.

One might say that it would be a better idea to work on a cross-platform GUI library instead.  ;)

> now that there is a linux port that seems to be getting used, something
does
> need to be resolved with how D deals with multi-platform development. (I
can
> foresee many issues if someone tries to use D on a ARM/Thumb arch).
>
> I've yet to run the linux dmd, I assume it does d->c (then uses gcc) so potentially any platform that has gcc support can be build.

No, it's probably a direct port of the win32 version.  Only produces x86 code.

Sean


August 08, 2003
"Sean L. Palmer" <palmer.sean@verizon.net> wrote in message news:bh0khb$b1$1@digitaldaemon.com...
> "Mike Wynn" <mike.wynn@l8night.co.uk> wrote in message news:bh0140$2er9$1@digitaldaemon.com...
> >
> > "Sean L. Palmer" <palmer.sean@verizon.net> wrote in message
> > I would like a copy, (and I assume you have no objection to me including
> the
> > files you've porting in any releases of my other ported header etc).
>
> Ok, I'll take time this weekend to resurrect that code and send it to you and QUS.
great.

> > I downloaded the latest MS SDK (Feb 2003) last week, was thinking I
should
> > start a "everyone port one file" thread but can't quite workout if it's
> > actually legal to port the headers and redistribute them!
> > there is only about 1000 files to port ....
>
> Yeah, that sucks.  I'm no lawyer.

I'll just move house .....

>
> > I've been thinking that phobos should be broken into two parts "deimos"
> and
> > "phobos"
> > with "deimos" being all the D and C files that D requires for writing a
> > minimum app (hello world, using the OS's api routines)
> > and Phobos all the rest which ppl might want to replace themselves
>
> Hmm.  Don't see the rationale.
>
well, part of phobos is actually required by dmd for correct D-ness like the
support code of string switch or hashtable/assoc arrays.
the rest (like c.stdio, stream etc are just extra "nice" things
(I prefer the Java In/Out Stream/RandomAccess/DataIn/Output classes to a
base seekable iostream class)
TCP socket for instance has an Input and Output Stream, neither is seekable
(getting OT)
just think it's cleaner to have "required by compiler" and "standard runtime
lib" separated especially if D makes it onto embedded (or small [PalmOS
say]) devices when you might want a cut down runtime, and quite a lot of the
"standard runtime lib" is very OS dependant (in places)

> > > One would not be able to write even a simple windows application using
> the
> > > windows.d that ships with DMD today.
>
> One might say that it would be a better idea to work on a cross-platform
GUI
> library instead.  ;)
I kind of had the initial plan to write a very thin wrapper over the win32
api so I could write a crossplatfrom gui lib over the top (skinnable so I
could write a Java Swing look alike gui)
keep looking at it, but can not make my mind up about where layout managers
reside and how to intergrate dockable toolbars etc. hopefully playing with
GTK under win32 and re examining SWT will give me more insparation to finish
things off (currently it works well enough that I use it in preference to
c/c++)

>
> > now that there is a linux port that seems to be getting used, something
> does
> > need to be resolved with how D deals with multi-platform development. (I
> can
> > foresee many issues if someone tries to use D on a ARM/Thumb arch).
> >
> > I've yet to run the linux dmd, I assume it does d->c (then uses gcc) so potentially any platform that has gcc support can be build.
>
> No, it's probably a direct port of the win32 version.  Only produces x86 code.
shame :) had hope to see if I could abuse it to get the first D on Palm or
GBA :)


August 13, 2003
"Mike Wynn" <mike.wynn@l8night.co.uk> wrote in message news:bh0140$2er9$1@digitaldaemon.com...
> I've yet to run the linux dmd, I assume it does d->c (then uses gcc) so potentially any platform that has gcc support can be build.

No, it generates elf object files directly.


August 13, 2003
"Walter" <walter@digitalmars.com> wrote in message news:bhc070$2439$1@digitaldaemon.com...
>
> "Mike Wynn" <mike.wynn@l8night.co.uk> wrote in message news:bh0140$2er9$1@digitaldaemon.com...
> > I've yet to run the linux dmd, I assume it does d->c (then uses gcc) so potentially any platform that has gcc support can be build.
>
> No, it generates elf object files directly.
>
pity .....

and is there a reason that mingw and cygwin objdump/objcopy don't think that
dmd (win32) generated exe's are pe-i386 exes (can dump other exes)
`objdump -b pe-i386 guitest.exe`
`objdump: guitest.exe: File format not recognized`
(fails on console or gui apps)

can the win32 version generate elf objects ?

I remember some comments about writing an OS in D, and kicking about on my hdd is an old experiment I did to see how much could be written using gcc (mingw) (apart from irq handlers and entry point in asm (and a bootload written using fasm to kick the CPU into protected mode) it was all C (flat memory model no paging all at ring 0) though I'd port it to D and see if I could get it to run but don't seem to be able to abuse dmd/link as much as you can ld/gcc ...


%.bin : %.elf
 objcopy -R .note -R.comment -S -O binary $< $@

%.o : %.c
 $(GCC) -Wall -O3 -Isrc -c -o obj\$(@F) $<

# link the kernel and all the objs at 128K
$(KERNEL_ELF) : $(OBJS)
 $(LD) -o $(KERNEL_ELF) -Ttext 0x20000 -e entry_point $(patsubst %, obj\\%,
$(OBJS))



August 13, 2003
"Mike Wynn" <mike.wynn@l8night.co.uk> wrote in message news:bhc52m$285n$1@digitaldaemon.com...
> and is there a reason that mingw and cygwin objdump/objcopy don't think
that
> dmd (win32) generated exe's are pe-i386 exes (can dump other exes)
> `objdump -b pe-i386 guitest.exe`
> `objdump: guitest.exe: File format not recognized`
> (fails on console or gui apps)

All I can say is it's a bug in objdump. DMD generates perfectly valid PE files. Use my dumpers! (dumpexe, dumpobj, and obj2asm)

> can the win32 version generate elf objects ?

No.