On Thu, Dec 14, 2000 at 03:27:33PM -0200, Fabio R. Schmidlin wrote:
> So IMHO, if anyone want to contribute with a real OpenSource project, help Sean
> Young with the really cool MSX driver for MESS. The MAME and MESS projects are
> both overhelming and serious. And they're portable too.
> Sean Young is doing a great job on his MSX driver and as soon as I can I'll help
> him with it. But first I want to ask him some questions:
>
> 1) xMESS is totally out of date... :( Where I can get a working source code
> for Linux?
The official maintainer of xmess/xmame, the good man Hans de Goede, is not
working right now -- he's got RSI. There are a few unofficial releases, check
the xmame mailinglist for that, but mess-0.37b9 is not included. There is
a working xmess in mess cvs, I can ask on messdev if I can give anyone
access to the cvs server.
Who's interested?
> 2) Your site: http://www.msxnet.org/mess is out of date too. I only understand
> our modifications by reading the source code. Where can I get more information?
I totally agree -- it's badly documented. There is some information in the
sysinfo.dat file. You can download that from the mess site. That's all there
is; apart from that, I'd be happy to answer any questions you have.
> 3) Your driver is good, but pretty bad documented... Could you please get me
> some directions?... :)
In order for the cartridges to work properly, you need the crc files in place.
Memory emulation is really bad right now, but I trying to use MESS' wd179x
emulation -- if that works, I can re-write the memory emulation.
Currently I'm working very hard on v9938 emulation. MESS has good support
for 16bit colour depth, so v9958 screen will work nicely. I'm writing it
in such a way that screen 8/7 or screen 12/6 splits work transparently. It
just renders it in 16 bit colour depth. Actually the depth is handled by
the core, so in 8 bit mode the colour palette will be reduced, but still
functional (so screen 12 doesn't look that nice, but it works as good as
it could). The display is always rendered at 512 + 16 pixels wide, so
splits always work (and set adjust changes). I intend on handling
interlaced mode transparently too: even screen go to the even lines,
etc.
Tape is emulated nicely, look it should: as .wav files. The actual bits of
the ppi/psg are wired to the .wav file; .cas file support works by converting
it to .wav (sound) on startup. I convert .wav to .cas simply by reading it
in xmess and saving it as .cas. So if you want to play the games collection
(the one on CD), simply convert the cd to .wav, and load into xmess. Nice. :)
Disk emulation works through BIOS patches. :( You need to load the disk.rom
on the commandline, and through the crc file mess will know it's the disk
rom and patch it.
> 4) Why evolutions on the MSX driver never appear on MESS's changelog or WIP???
> :(
MESS WIP was really bad; that's now being maintained, so any new changes will
be on mess wip.
> 5) How can I contribute with the code? Simply send the patches directly to you?
Just send them to me. If you are a regular contributer I can ask if you can
join messdev. MESS' code base in CVS (unlike MAME, which entirely maintained
by hand by Nicola -- god knows how he does it).
Right now I'm the only developer on the MSX driver. I'd love to have a helping
hand. My time isn't endless, nor is my knowledge.
> And last: This is one of the best articles that anyone needs to read before
> contribute to any OpenSource project:
>
> "The Cathedral and the Bazaar"
>
> http://www.tuxedo.org/~esr/writings/cathedral-bazaar/
I loved this book. It's everything I believe in.
I like open-source; I like reusable code. Because developers work closely
together, the z80 emulator, psg, ppi (which are common things in 8bit
computers) are VERY good. Aspects of the ppi which an MSX emulator developer
wouldn't consider are done by others. Also mess' philosophy is to emulate
the original machine authentically; so no bios patches at all. I know the
disk emulation sucks right now, but there is good wd179x emulation in mess.
And since the project is quite large, there are good ports to different
machines. Official xmess is crap right now, but that's a temporary problem.
A disavantage of mess is that's based on mame. Any changes to the core
(the shared code of mess and mame) must go through Nicola, who's very
strict. Maybe that's a good thing. :) Also at every new mame, mess is
updated to that version, which sometimes takes a while (as in, a lot of
work). But then again, the core is quite good!
Sean
--
For info, see http://www.stack.nl/~wynke/MSX/listinfo.html