DarcNES/Win32 readme.txt

DarcNES is Copyright 1998, 1999, 2000, 2001 by Alastair Bridgewater.
Win32 port code Copyright 2000, 2001 by Alastair Bridgewater.

Commercial use prohibited without express written permission from
the author. Everyone else can do whatever they want, provided that
I am credited in the documentation (and, if released, the source code).

People wishing to maintain a port for another system should contact me
beforehand in order to learn the ground rules (and to make sure that no
one else is already maintaining a port for that system).


Disclaimer:

This software is provided AS IS, etc. No warranty, etc, etc. You know
the drill.


Notes:

Okay, here's the deal. I don't like Win32, and I don't like DirectX.
Writing this much has already pushed me to my tolerance level, so
things are not likely to improve for a while. As it stands there is
no support for the PCE CD, Coleco keypad.

Sound is now supported, using the waveOut interface. This interface
sucks. Among the ways it sucks is the fact that it is completely
impossible to check the function prototype of a CALLBACK_FUNCTION
callback (you have to cast it to DWORD to send it to waveOutOpen(),
which means no prototype checking). To make matters worse, when I
tried to switch to CALLBACK_NONE to try and debug the rest of the
code, waveOutOpen() started not giving me a handle for the sound
device. Turns out that CALLBACK_NONE was mis-defined as 1 instead of
0 in the headers for the cross-compiler I am using (which isn't the
waveOut interface's fault, it's mingw's, but still). Anyway, it works
now (at least on my machine).

This is the first port to be able to unload a ROM and load another one
without having to shut down the emulator first. Unfortunately, DarcNES
was not originally designed to be able to do this, so some hacking was
nessecary to get it to work at all, and it currently leaks memory like
there's no tomorrow.

Keys are, as always, A, S, [, ], and arrows. The keypad arrows should
work as well. No thanks to MS for not documenting most of the virtual key
constants where I could find them.

The Apple ][ keyboard emulation is mapped as closely as possible to the
real thing with the exception of ESC (which would have been TAB), and the
arrow keys (one of which would have ended up as shift, and the other off
the end of the keyboard).

The source code is set up to compile on my system, which is running the
Linux cross-compiler toolkit found somewhere linked through www.mingw.org
via FreeBSD's Linux binary emulation. Your mileage may vary (to say the
least).

The binary distribution is built by some hacked-together shell scripts and
makefiles and whatnot on a SuSE Linux system. It is using the same compiler
and libs as my FreeBSD system.


Web pages:

The DarcNES homepage is currently http://www.netway.com/~nyef/
There is no DarcNES/Win32 homepage yet.


Thank yous:

To the usual IRC people (esp. TNSe) for help with DirectDraw.
To ReaperSMS for helping me debug my waveOut problems.


/* EOF */
