Saturday, December 11, 2010

Thank you, YouTube


Well, they've finally done it. YouTube has mostly eliminated time limits on user submissions. The qualification is that a user must have a history of complying with the Community Guidelines and copyright rules. I got a notice about this today.

This is great news; now I won't have to worry about staying within 15 minutes in my future episodes. Yes, I know I could always have recorded long sessions and broken them apart like some people do. But the large amount of data I deal with in creating my own videos (in order to maintain very high quality) would make that impractical, which is partly why you're not going to see 5-hour videos from me any time soon. That and the fact planning gets more involved for longer videos. But at least now I can relax and end the video when I'm ready to end it.

Friday, November 19, 2010

What's up with Qwest?

Just a couple of things to announce. First of all, I will have the next episode of Let's Play The Legend of Kyrandia with an MT-32 up soon. I procrastinated for a while, but I finally got it recorded this morning.

It didn't help though that my DSL modem died. It happened yesterday around 2 in the morning. The power went out for about 15 minutes (bad weather seems to have knocked out a transformer or something in the neighborhood; there was a lot of that in the area this past week), and when it returned, I found the modem wasn't connecting to the ISP. No big deal, I know it's a bit flaky like that; usually after a few weeks it will no longer connect, and I have to reboot it. But this time, when I rebooted, suddenly I could no longer connect to it. No web interface, no telnet, nothing. All I could do was ping it.

So I rebooted again. This time, I noticed the LEDs were showing an abnormal condition. IIRC, the power LED went out, which it's not supposed to do. (I could still ping it though.) Corrupted firmware, perhaps? So I fired up the firmware recovery utility and tried it out. There's a special procedure involving the reset button to prepare it. (Separate non-flashable firmware code, or something like that? That's a good thing.) So it reflashed the modem and rebooted again. This time the power light was alternating green and amber, which I learned from a troubleshooting guide possibly indicates corrupted firmware or a problem with the power supply. Uh oh. If the firmware is still corrupt after reflashing, there must be a problem with the memory. Or was it the power supply? It was connected through a surge protector, and the protection indicator is still lit, so there shouldn't have been a problem there.

I tried the firmware recovery several times. After about the fourth or fifth time, I tried connecting my PC directly to the modem, instead of through the bridge I normally use. This time, it was successful. (Although, really, it shouldn't make a difference, as the bridge is a completely invisible device, unlike a router.)

But that's not the end. An hour or two later, the power went out again. This time, I was expecting trouble, and I wasn't disappointed. The firmware recovery no longer worked, no matter how many times I tried it. So I figured the modem is toast. Just to be sure, though, I called Qwest technical support. But no surprise, nothing they suggested worked, and they ended up recommending a replacement. Since the modem is a year out of warranty, I would need to pay for it. Fine by me.

But, you know, you should really rent it for $5 a month and get a perpetual warranty rather than pay $20 and own it with a 2-year warranty. (Uh, no I think not. Come on, Qwest. Do you think I'm stupid? I can do the math on that one. There is no condition I can think of in which renting would be advantageous. If it turns out DOA, either warranty should cover it. If it fails after a year, same thing. If it fails after the 2-year warranty expires, I have to pay for another one, but I still save a lot.) I politely declined. You know, you should really rent it for $5 a month and get a perpetual warranty rather than pay $20 and own it with a 2-year warranty. (That's not an editing error. They really did say the same thing over again, although I'm paraphrasing and adding my own knowledge that wasn't present in the script.) Really, I want to purchase it, thanks. (I'm glad One Eighty Networks provided dial-up as a backup for their broadband service, and that I kept that POTS modem I used before switching to DSL, or else I wouldn't have been able to look at Qwest's web site as easily.) Again, I declined to rent. So then they started to transfer me to sales, before realizing it was too late in the day (I guess they're on Eastern time). I'll just have to call back tomorrow. Oh, you know, you should really rent blah blah blah. *Sigh*. Yeah, whatever.

Finally, I called sales today and asked for a replacement. Alright, you can either make one payment of $99.99 or two payments of— Wait, hold on a second! I didn't ask for the Advanced modem. I want the Standard one (because I have no current need of wireless networking). Oh, but we no longer offer that. (Then why is it listed on their web site? And why didn't the tech support person seem to know anything about it?) So they offered two options. Either get the Advanced modem from them, or look elsewhere for the M1000; they suggested Best Buy or Walmart. So I looked. Sure enough, Best Buy has it for $70. What?? $70?? That's quite a markup. But you know, it's still less than the $100 I'd pay to have wireless functionality I don't need which would just be a needless security risk, and it's still less expensive than renting it for $5 a month for two or three years. Well, actually, since they're not offering it directly, I should compare it to the $8 a month for the Advanced one (whatever model it is). I ordered it online and picked it up at a local store in about an hour, which means I have broadband back much sooner than I expected. Thanks for the tip that saved me $30, Qwest.

And hey, I was pleasantly surprised to see a notice and a CD I'm pretty sure weren't included with the previous modem. It mentions the product containing GPL and LGPL software; the disc apparently contains the source code. Way to be compliant, Actiontec! I guess they got the message after that whole Cisco affair. I don't plan to modify any of the software; it's just good to know I can if I want or need to.

I'm not really surprised the people at Qwest acted the way they did. I know how they operate: push people to buy things they don't really need (or rent unnecessarily). I just decided I wanted to rant about it here. But enough of that. Next you hear from me ought to be episode 2 of LPLOK.

Friday, November 12, 2010

Next LP: Legend of Kyrandia

Well, I got a total of four votes for next Let's Play with an MT-32.  And the results are clear: 3-to-1 in favor of The Legend of Kyrandia: Book One. So here you go.

If you watched my previous LP, you may remember I set the CPU cycles to 500 for the initialization. (Actually, I discovered recently that 1000 works fine, too.) Well, for LoK, it seems the maximum value is somewhere between 150 and 200. It definitely seems to be written for a second-gen MT-32. Someone commented that they have no problem with buffer overflows. This person reported that he or she has serial 871041, which makes it an "old-style rev. 1", a later version that is still considered first-generation. I, on the other hand, have 836243, which is a rev. 0. Supposedly, all MT-32s before 950500 have the buffer overflow problem, but there may be subtle differences; I don't know. I'm not sure why some people like me have the problem and others don't. Apparently no one knows, at least no one who has said anything publicly.

By the way, I also speculated earlier on that Windows XP does some sort of buffering that prevents problems, because I had tried playing MIDI stuff from King's Quest V under WinXP and hadn't seen any buffer overflows. But guess what. I tried that with LoK music, and it does happen. So once again, I can't say for sure just what's going on, except that LoK's MT-32 driver is too fast for whatever Windows is doing to fully compensate.

Saturday, November 6, 2010

LP KQ5 is done... mostly

I just released the final episode of Let's Play King's Quest V with an MT-32. I must say, it's been fun doing this. I'm not quite done, yet, though. I have one little extra to show, for the sake of completeness. Actually, if anyone knows of any deaths I might have missed, don't hesitate to let me know, either here or on my YouTube channel. It must work on the MS-DOS CD-ROM version; if I can confirm it, I will include it in the extras video, or another video if it's too late for that. Oh, and I will credit you with pointing it out to me.

I'm going to do another Let's Play with the MT-32, and I want some input about which one (this in case you haven't seen my request in the more than half a dozen other places I mentioned it). See the Halloween post for details.

Saturday, October 30, 2010

Happy Halloween! Also, feedback requested

Well, I wasn't even thinking about Halloween when I started Let's Play King's Quest V with an MT-32. I just wanted viewers to hear how the music is supposed to sound, as opposed to the AdLib/SoundBlaster version that most probably know.

But about a week or so ago, I realized that the last area of this classic game happens to have an atmosphere appropriate to Halloween, and better yet, I looked to be on-schedule to show it off just in time for the holiday. And what do you know, I actually timed it just right. Here's episode 10. Enjoy!

And since this LP is just about over, there is the question of which game I should LP next. I have three in mind. Each one has its merits:
  • King's Quest IV: The Perils of Rosella. This one has some pretty good music, which I think sounds at least as good as that of KQ5. There's no speech in this one, which you might regard as a plus or a minus. The intro seems a little on the sugary side, but I'm willing to look past that. Also, I've only played part of the game, so it would be semi-blind.
  • King's Quest VI: Heir Today, Gone Tomorrow. Also good music, and really good voice acting ('cause they used professionals this time). I did a recording of the intro while manipulating the emulation speed so you can hear more of the music than you would normally. I'll upload that just before starting the LP. Also, I'd like to try to do all of the different paths in the game and involve you, the viewers in deciding which ones to do when.
  • The Legend of Kyrandia: Book One. Fantastic sounding music and pretty good voice acting, although the sound levels can be a problem sometimes, at least in my experience (fortunately my recording setup allows me to balance the sound elements after recording).
So, dear readers, please comment and let me know what you think. Which one would you like to see next?

Thursday, October 28, 2010

Wlcm t th *nprncbl *n's blg

Greetings everyone. It is I, fllthdcrb (a.k.a. danielcdawson on YouTube). No, don't bother trying to pronounce it, 'cause it isn't written to be pronounceable. Maybe I'll tell you sometime what it means. In the meantime, I've established this blog to... um... blog about... stuff. I dunno whether it will turn out interesting or not, but I'm going to try it out.

So, my current project is Let's Play King's Quest V with an MT-32. I found other LPs of KQ5, but none utilizing the Roland MT-32, the famous synthesizer module for which the music in Sierra games of this era was written. I bought one a couple years ago and you can too: you're likely to find one or two on eBay at any time.

I think, though, KQ5 was written for a second-generation MT-32. What I have is a first-generation, by far the most common, and unfortunately it has some problems, namely a very small buffer for System Exclusive messages (used to program custom instrument sounds, among other things), so anything that doesn't leave about 40 ms between them will cause buffer overflows. Strangely enough, I tried it under Windows XP with the USB MIDI adapter I have and found it works just fine; I think Windows does buffering of its own.

Under Linux, there's a different problem with some sounds not getting programmed and some events not registering, which it took me a while to figure out. After searching around the Web for a while, I finally found the real cause: apparently something (either the MT-32 itself or the USB adapter; I'm not clear which) needs 4-byte packets, but the adapter advertises 8-byte packets, and extra events in 8-byte packets get dropped. Fortunately, a simple 3- or 4-line change in the Linux kernel (forcing all USB MIDI packets to be limited to 4 bytes) took care of that problem; it helped that there was a device for which that was already being done, so only a simple change in logic was needed. However, I'm now seeing buffer overflows. A workaround in some cases (with DOSBox) is to lower the CPU cycles setting to about 500 while the sounds are being programmed. It makes the startup take a while, but it seems to work very well, at least for KQ5 and KQ6.

An easier alternative might be to get a later-generation MT-32. But good luck finding one. What to look for: the later ones have a headphone jack in back next to the line-outs. If you already have an MT-32, you can hold down the "4", "RHYTHM", and "MASTER VOLUME" buttons while turning it on, to see the version number and revision date on the LED panel. If it says something like "ver2.xx", you're good. The serial number is also telltale: serial 950500 and up is the new model.

Anyway, my current setup for recording my LP is as follows:
  • MT-32 connected by a USB-MIDI adapter, with its audio output connected to the computer's line-in with a 1/4" jack-3.5mm jack adapter.
  • Line-in software-forwarded to a USB headset. (It's tricky to get the latency down enough so that the music isn't lagged for me, without getting lots of buffer underruns and overruns, which seem to create cumulative delays.)
  • Commentary also recorded from the headset, of course.
  • Game video and audio recorded using DOSBox's video capture feature. (Watch out: this can produce large files, so make sure you have plenty of storage space.)
  • Game music captured using DOSBox's raw MIDI capture feature. I can then play it back later and record the MT-32's output while other things aren't running. (Be sure to capture from when the game is first started, or the sounds will be wrong when you record later.)
This works quite well, although DOSBox doesn't actually start the MIDI file until it sees the first event, so I have a little work synching it, but it's not too bad.

After all the audio is recorded, I then use Audacity to remove some background noise, adjust the track levels (use the Amplify effect, not Normalize; Normalize applies to each channel independently! and you don't want to completely normalize anyway since that can lead to clipping when everything is mixed), and apply Autoduck. Then I use Kdenlive to edit the video, add titles, etc. Throughout the process, MPlayer and MEncoder come in handy for various tasks like reducing the framerate (DOSBox's videos are over 70 FPS!), extracting audio tracks, and upscaling the video, as well as the final encode. (I haven't figured out how to get Kdenlive to stop producing horribly inflated files for the kind of output I want; maybe because it uses libavcodec instead of x264? I don't know.)

Oh yeah, I also maintain a playlist of all the episodes in Ross Scott's Civil Protection and Freeman's Mind and the (good quality) Mind series inspired thereby. I started it in order to make a convenient record for what order things came out in the early days of Mind series (Machinima.com re-uploaded the early videos so the dates are misleading; I had to scour Ross's old blog on Blogspot to get the truth). But it's taken on a life of its own, since not only have I continued to add new episodes as they come out, I also add new series from those who become Masterminds (a meritocracy whose membership is decided (informally, I assume) by existing members).

Anyway, I hope you enjoy.