Archive for the en Category
On New Year’s Eve a loose heatsink fried my old Asus motherboard northbridge, so I replaced the entire system with a nice and inexpensive Dell Inspiron 530. It’s a G33/ICH9-based system, which runs almost out-of-the box with Linux 2.6.23, except for the ethernet controller (you’ll need an upgraded e1000 driver from Intel) and HDA sound (multichannel and headphone detection not working). Use the following ALSA patch to fix both sound problems:
It adds the ALC888 6stack-dell mode for the Inspiron 530 and hopefully for other Dell systems based on the ALC888. The patch has already been submited upstream and should show up in the next kernel version. The patch has also been added to the current Mandriva Cooker kernel.
4 Comments »
Slow booting plagues most Linux distributions today, and while this is not a such big issue for systems that are booted once a year, it becomes an annoyance in laptops or other computers you initialize every day. Different solutions for this problem have been proposed, but booting of a typical Linux system today still takes too much time. It has been said that the Asus Eeepc boots remarkably faster than regular Linux distributions, thanks to its “fastinit” system initialization program. A quick analysis of its workings shows what it essentally does, and it’s quite obvious: start the user interface as fast as possible, and initialize the rest later. A more detailed analysis allowed us to rewrite it, and even find a couple of bugs in the original code.
(more…)
6 Comments »
The following patch allows the Syntek 174f:5212 camera found in some HP laptops (including the Compaq Presario C700 series) to be used in Linux with the linux-uvc driver. The image quality is fairly good, with decent colors, white balance and frame rate in luvcview. The patch is a bit intrusive since it requires quirk testing at the start of the isochronous payload frame decoding to completely bypass synchronization, but it seems to work very well. This patch is against revision 158 of the linux-uvc subversion repository.
Syntek camera framegrabs: 1, 2.
Update: Posted Herton Krzesinski’s fixed version. Posted Laurent Pinchart’s final version.
2 Comments »

XMP goes full circle: earlier this week I merged a patch from Lorence Lombardo that allows the player to work in AHI-compatible Amiga systems. Of course it’s not the most efficient way to play Amiga formats on an Amiga, but a curious development nonetheless. I was surprised to see how easy it is to configure the audio output in this port, even compared to the simple descriptor/ioctl approach used in most Unixes:
int fd;
if ((fd = open("AUDIO:B/16/F44100/C/2/BUFFER/358000, O_WRONLY)) < 0)
return -1;
write(fd, data, len);
close(fd);
I also spent some time preparing a Windows port built with MinGW. If the Amiga API above was the simplest to implement, the WinMM API is in the opposite extreme (words like “clumsy” and “design disaster” come quickly to mind). The following code does the exacly same thing using the WinMM API. Don’t read if you have a weak stomach.
(more…)
1 Comment »

Inspired by the UNIX History Graphing Project, I started to chart the relationship between different families of trackers. The result is the Tracker History Graphing Project — currently it only contains the Soundtracker and MED lineages and a few MS-DOS trackers, but to plan is to extend it to become a comprehensive map of the majority of known trackers.
It is interesting to note that many of the most famous Amiga trackers share the same codebase which was placed in public domain by the early authors. Building upon existing and testing codebase created generations of trackers through true evolution. In the PC side, on the other hand, each author was very protective regarding his code and every new tracker author reinvented the wheel creating new quirk-infested replayer routines.
Also note from the excerpt above that, contrary to popular belief that it stands from “Mahoney and Kaktus”, the “M.K.” magic ID in four-channel MODs was actually added to Soundtracker 2.3 by Michael Kleps. According to Soundtracker 2.2: “now the d.o.c news ! 1. the next soundtracker is finished ( 31 instruments ) , but only for internal use !!”. The Soundtracker History 1.05 says “12.1988 - Amiga - Soundtracker v2.2 - Unknown [Michael Kleps] Of DOC now with 31 imstruments (from now we could find M.K. inside)” but this is not the case, at least in my copy of ST 2.2.
3 Comments »
Following the port of xmp to QNX6 I wiped out Neutrino from the test machine and installed BeOS Max Edition. A new BeOS sound driver was written, based on the OSX CoreAudio driver and documentation found in the Internet. Some tweaking was required to build the driver since the SoundPlayer API is in C++ and the rest of application is C.

Sound quality is fine, terminal settings work correctly and latency is decent. Should we try Plan9 now?
No Comments »
Following the development of the investigations on the recently reported Mesa problem triggered by Neverball and Metisse, Ademar reports that “the workaround is not effective with at least ATI 9250 video cards, where we now have a crash at a different place”. We set up a system with an ATI Radeon 9250, and, indeed, it still crashes:
Mesa: Mesa 7.0.1 DEBUG build Oct 1 2007 18:52:02
Mesa warning: couldn't open libtxc_dxtn.so, software DXTn compression/
decompression unavailable
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1218062640 (LWP 17221)]
_generic_read_RGBA_span_RGB565_MMX () at x86/read_rgba_span_x86.S:590
590 pushl MASK_565_H
A segfault in a push instruction sounds very odd. Read on to see what the differential diagnosis session with Boto and Salem lead us into. And unlike the previous patch, this one resulted in a real fix for a real problem:
Don’t read the patch if you want to find the bug yourself based on the scenario description below.
(more…)
No Comments »
Ademar complained about certain programs such as Neverball and Metisse causing a crash in the X.org GLX code in systems with some Intel and ATI cards, specifically in a call to quadfunc_unfilled_rgba() when glPopMatrix() flushes vertices. After a quick inspection it was clear that the cause was a null pointer dereference in Mesa 7.0.1, so If you’re experiencing a similar problem you may want to try this trivial workaround:
Further information and possibly a better fix available at the original bug report.
3 Comments »
Today at lunch boto handled me a QNX Neutrino 6.3.2 CD he was using in virtualization tests for Red Hat. I quickly installed it on a spare machine to see how well xmp would build on it — and it built quite well. After fixing some trivial build problems I examined the new sound system used in QNX6 (since the old drivers for QNX4 didn’t compile), and I was pleased to find that it’s based on the old ALSA 0.5 API. Xmp has an ALSA 0.5 driver written in 2000 by Tijs van Bakel and Rob Adamson, and it worked out of the box in Neutrino 6. Source patch and binary are available in the SF download page.

Next targets to test/port xmp include Plan9 (new port), BeOS and AIX (drivers exist, but never tested), and OS/2, IRIX, HP-UX and Solaris (used to work, but not tested for a long time). Contact me if you have access to one or more of those (or other) systems and have some free time to test the portability of an old mod player.
2 Comments »
Posted by: claudio in en, mod, patch
Less than two months ago xmp was dug out of its grave, and today I’m pleased to announce the availability of version 2.2.0 — the first stable release in more than six years (RPM packages for Mandriva 2008.0 are already available). This version fixes a truckload of bugs and adds support for many module formats, including some from Atari ST/Falcon, Acorn Archimedes and Apple IIgs. Other highlights are the MacOS X driver and the Audacious plugin.
There’s a lot of ugly things in the code that are still to be fixed, but this version is certainly much, much better than the previous stable. Let’s hope the next version doesn’t take nearly as much time to be released as did this one.
Update: Ok, so we have a patch already. This is needed to build the package in non-Linux systems, especially OSX.
Update 2: You may want to get xmp 2.2.1 instead.
1 Comment »
|