What is VirtualDub?
VirtualDub is a video capture/processing utility for 32-bit and 64-bit Windows platforms (98/ME/NT4/2000/XP/Vista/7), licensed under the GNU General Public License (GPL). It lacks the editing power of a general-purpose editor such as Adobe Premiere, but is streamlined for fast linear operations over video. It has batch-processing capabilities for processing large numbers of files and can be extended with third-party video filters. VirtualDub is mainly geared toward processing AVI files, although it can read (not write) MPEG-1 and also handle sets of BMP images.
I basically started VirtualDub in college to do some quick capture-and-encoding that I wanted done; from there it's basically grown into a more general utility that can trim and clean up video before exporting to tape or processing with another program. I released it on the web and others found it useful, so I've been tinkering around with its code ever since. If you have the time, please download and enjoy.
§ ¶Altirra 1.4 released
Since things have come to a bit of a pause, I've pushed out a new release of Altirra, which is available on the Altirra main page. This version contains some major improvements to disk and sound emulation, as well as further tweaks to graphics and DMA timing for higher emulation accuracy.
Now available at that page is also the first main release of the Altirra Technical Reference Manual, which is a document containing everything I've learned about the Atari 8-bit hardware so far. It's also the first time I've tried to write a large document in OpenOffice Writer, with which I've had mixed success. I'd say OO.o Writer is definitely at the point where you can write good-sized documents in it, but not yet at the point where you can do a full book or professional-level PDFs with it. There are just too many restrictions in areas like PDF bookmark handling and outlining to make completely polished output. Nevertheless, the manual hasn't turned out too bad, and I hope it's useful to anyone still working on an 8-bit Atari or is interested in the details of how the hardware works.
A few people have reported problems with graphics output in this version with low-end integrated graphics cards. One reason for this is that, unlike VirtualDub, Altirra defaults to having the Direct3D9 display path enabled in order to gain hardware accelerated display of 8-bit data. Unfortunately, this path can be too demanding for really low-end GPUs. I need to figure out what's going on here because D3D9 is necessary for hardware accelerated display on Windows Vista and Windows 7 and I eventually want to switch the default in VirtualDub on those operating systems. In the meantime, if this happens to you, specify /ddraw or /gdi on the command line to force a lower display mode.
(Read more....)
§ ¶How I ran AMD CodeAnalyst on an Intel CPU
It's been asked how I managed to run AMD CodeAnalyst on an Intel CPU, since the documentation and Wikipedia page says that it requires an AMD CPU. Someone suggested that I might have hacked out the CPUID check.
I actually used the following very sneaky technique:
- Install CodeAnalyst.
- Run CodeAnalyst.
![[CodeAnalyst running on Intel CPU] [CodeAnalyst running on Intel CPU]](/blog/images/codeanalystfs8.png)
CodeAnalyst works fine on an Intel CPU, as long as you use Time-Based Sampling (TBS). It will blue-screen the machine if you use Event-Based Sampling (EBS) or Pipeline Simulation, or at least it used to. Call graph profiling might not work either, but I never use that anyway.
As for why CodeAnalyst works on Intel CPUs, only AMD knows for sure, but there are good reasons for doing so. One reason is that you can analyze runs on a different machine than the one that did the profile; another is that the vast majority of optimization benefits execution on any CPU. A third possible reason is simply that it happens to work and there's no reason to spend time breaking it. In any case, I'm glad that this is the case, because CodeAnalyst is free and easy to install, and even though it's not the fanciest sampling profiler, it works.
(Disclaimer: This is version 2.84. Might not work on some future version.)
(Read more....)