raphnet.net projects

What's this page for?

This page exists in the hope that google will direct some people to it. This page contains:

The projects

Project nameDescription
Festalon A .nsf(NES music) file player and xmms plugin
DCload-serial A tool to upload code to the dreamcast using a serial cable
ADT (Apple Disk Transfer) A tool to transfer standard 16-sector Apple II disk images to/from a MS-DOS or Linux computer.
STPC Linux framebuffer driver A port of the driver for kernel 2.4.5 provided by ST to a modern 2.4.26 kernel.
Philips USB Webcam Driver for Linux The now discontinued Linux Driver for the Philips USB Webcams.
Linux kernel patches and stuff Various debugging hacks, ugly patches and workarounds.
Sexypsf A .psf (Playstation Music) file player
Sexyspc A .spc (Snes music) file player
playgsf A .gsf (Gameboy advance) file player for linux


Festalon is a player for .nsf files (since version 0.5.5, it plays HES too). It can be built as a standalone command line player, as a xmms plugin or a winamp plugin. It was created and maintained by xodnizel.

Update Feb 2009: Ryan C. Underwood sent me this patch which makes festalon compile on modern amd64 toolchains (Not tested by me): festalon-amd64.patch

Update Feb 2005: Xodnizel is still working on festalon and he has sent me a new release so I can release in on this page.

Changes since last release:
Optimisation in the FDS, MMC5, N106 and VRC6 emulation code, added MMX, SSE, SSE2 and 3DNow! optimised filtering code, added AltiVec downsampling code, added support for AMD64/x86_64 platforms, added HES support (ripped TG16/PC Engine music), added support for Beep Media Player and license changed from LGPL to GPL.
Refer to the ChangerLlog file distributed with festalon for a complete list of changes.

You can grab the file here:

The section for this project in his homepage has disappered, but the sourceforge page is still up.

I contacted Xodnizel, and he told me that he probably will not have the time to work on this project anymore. In my opinion, festalon sounded great, so that's why I decided to host the last version of the player, and a version patched by me.

Here is the last stable version:

Xodnizel sent me a prerelease version, so I can work with more up to date code. Here it is:

I had downloaded an archive full of nsf files, and when I started festalon like this:
./festalon *.nsf
The tunes were always played in the same order. So I decided to add a command line option to shuffle the list of files to play. Since festalon requires a lot of cpu power to run, I wanted to run it remotely on a faster machine, and use the network to carry sound. I added esound suport to do that. Finally, I added a configure script, to allow users to choose between the oss and esd driver more easily, setup cflags and ldflags automatically, and generate an unique makefile for the command line player and xmms-plugin.

Here is the patch against festpre040 which contains the above changes:


dcload-serial is a tool to upload code to the dreamcast via a serial cable. When doing Dreamcast development, it allows you to simply upload the code to test it instead of burning a CD everytime. (of course, there is dcload-ip which is must faster, but requires a network adapter).

When I tried it on my sparc station, I discovered that it would not work on BigEndian platforms (powerPC, sparc). I made a small patch which detects the endianness and perform the necessary byte swapping when sending values to the Dreamcast.

I sent the patch to the author, but I never received a reply and there have not been new releases since then.
In the hope that I will help someone, here is the patch I've written for dcload-tool version 1.0.3:
The original release can be downloaded from dcload-serial project page:

ADT (Apple Disk Transfer)

ADT is a set of two programs to transfer a standard 16-sector Apple II disk to a 140k file on an MS-DOS computer, and transfer a standard disk image file to disk on an Apple II.

I simply wanted to be able to transfer disk images using Linux instead of MS-DOS. The original author, Paul Guertin, was nice enough to release the source, which made it possible for me to port his Turbo C code to gcc/Linux.

Here are the files for the Linux port of ADT1.22. The tarball contains the original ADT122.ZIP file.

This is version 0.1 of the port. I am pretty sure that there are some bugs. I was using a PowerPC when I ported this, so there may be issues with endianness. Also, receiving disk images from the Apple did not work correctly. If you try it on a PC, please let me know. I'll try to help you if you run into problems.

Here is a page about my AppleIIc (in french):

STPC Framebuffer Driver

The STPC chips by ST are x86 computers on a single chip (That is Processor, Chipset, PCI/ISA, RTC, Graphics, RAMDAC, TV Encoder, etc). I had been given a Consumer-II development board, and I wanted to use it on my TV, but the framebuffer driver was for an old 2.4.5 kernel and had compilation problems. I ported the driver to kernel 2.4.26, and wrote a cleaner building system for the gdk library required by the kernel driver.

You can get the patch and installation instructions here:

Here are the installation notes (also present in the tarball): INSTALL

If the kernel you compiled complains at boot time that it requires the TSC feature, even if you selected the 486 cpu type, do a make oldconfig and recompile it. The kernel should boot correctly after that.

Philips Webcam USB Drivers for Linux

Update (Jan 2005) I discovered that the work has been resumed Luc Saillard. He has rewritten the decompression code by reverse enginnering the pwcx binary module. Great news.

I'll just leave the files here for historical reasons.

The good old driver for philips webcam has been discontinued, and the previous maintainer has removed all info and files from his website. Here are the last files I could download. Hopefully this will be useful for people who prefer a functional webcam to the perfect pureness of their kernel.


The original page: http://www.smcc.demon.nl/webcam/.
NOTE: Please do not mail me with questions about this driver. I provided those files only to make sure they are downloadable from somewhere. I do not wish to start maintaining this driver.

Linux kernel patches and stuff

At work I needed to find why the 2.4 kernel running on our strongarm boards would sometimes hang when resuming. I could not use printk since the hang occured before the console was reinitialized or before the printk buffer was completely drained(not sure what is the exact reason). To trace the code, I soldered a wire on one of the xscale GPIO pins which was usable and wrote a simple kernel module to send morse code on the pin at high speed. Using a digital storage oscilloscope to monitor the pin, I was able to discover where it would hang and why.

Here is my morse code module: morse.c


Sexypsf is a GPL .psf file player for Linux. It is based on pcsx and peops. It was maintained/hosted by Xodnizel until recently. Now it is an orphan project, but since I still use it I decided to host the releases and some patches on my server.

November 3, 2005: I have decided to make a 0.4.8 which has the latest x86_64 and gcc4 patches. Those are the same patches that are applied to version 0.4.7 in gentoo portage:
sexypsf-0.4.8.tar.bz2 (latest)

Those are the original releases:

I had to make a few changes to sexypsf to make it work on my amd64 box. Here is the patch:

Frederik Klasson sent me an updated version of my amd64 patch, which fixes problems he had compiling sexypsf on his gentoo linux version:

Aaron Elkiss sent me a patch to make it compile on Mac OS X/Darwin. Tested with the xmms port from fink 0.7.1 on MacOS X 10.3.8:

If you write a patch for this package, contact me at raph@raphnet.net and I'll host it here.


Sexyspc is a .spc file player (Snes music) for Linux. It is based on the excellent SNESAPU from Alpha-II (see Alpha-II.com). Just like SexyPSF, it lost it's homepage and maintainer. I still find this software useful so I decided to host it on my server.

Here is the latest release:

Update: There is a new sexyspc release (0.4.0) on sourceforge: http://sourceforge.net/projects/sexyspc/


The gsf file format is a music format similar to the psf format for playstation. Playgsf is a simple command line player for gsf files based on a winamp plugin called 'Highly Advanced'.

Highly Advanced was coded by CaitSith2 and Zoopd. Thanks to them for making the source code available, otherwise it would not have been possible for me to do this Linux port.

gsf files for many games and the 'Highly Advanced' plugin can be found at GSF Central.

Here are the files:
playgsf-0.7.1.tar.gz Fixed a crash when the -e option was used. Thanks to nemesis661 for reporting this.
playgsf-0.7.tar.gz Thanks to Urpo Lankinen for sending me a patch which adds:
  • Improvements in the configure script to support non-Linux unix like platforms (Tested on freebsd)
  • Added a configure option to disable optimisations in case gcc runs out of memory (happens on freebsd with g++ 3.4.2)
Many thanks to Emanuel Haupt for providing me a shell on a FreeBSD machine!
  • Added a configure script.
  • Tested on non-x86 archs (Sparc64 and x86_64).
  • Fixed a path manipulation bug.
playgsf-0.4.tar.gz Caitsith 2 Fixed the way timing/fade was handled.
playgsf-0.3.tar.gz Sync with Highly Advanced Version 0.11
playgsf-0.2.tar.gz Added a command line option to play files in random order and fixed a display bug.
playgsf-0.1.tar.gz Initial release, based on Highly Advanced 0.10

playgsf in a small xterm
playgsf has been tested on x86 and amd64. Please read readme.linux for compilation instructions.

Page by Raphael Assenat. Please feel free to send me any comments you may have.
My homepage is at www.raphnet.net

Valid HTML 4.01!