Sunday, April 28, 2013

Ever blended vegetables together before?

So as a little experiment I decided to blend some vegetables together and then drink it to see if I could quickly consume a bunch of vegetables without the "agony" of eating them at a normal pace.  Here is what I attempted.

Conclusion: This stuff tasted pretty nasty (and was heavy on the red pepper flavor).  But I drank it all, dangit!  I might try this again using just a cucumber since those are pretty tasteless.  I will definitely leave the zucchini out next time.  :)

Saturday, April 27, 2013

Dexter LDP-1450 update

I'm mostly finished with the vertical coordinate offsets for Dexter, it just needs some tweaking.
After that I need to fix the transparent grey background defect (just need to adjust the bitmap), add some unit tests to validate my fix, and then the renderer should be 100% finished.

After that, I need to come up with a way for the dexter board to communicate the current text overlay to the dexter viewer application.

And then, finally, Sony LDP-1450 support should be ready for testing! *phew*

LDP-1450 vertical modes

Here's some video captures I made of the four vertical modes of the LDP-1450 text overlay.  It seems each mode may have a slightly different starting offset.  However, all modes appear to shift down 8 lines.

E0 mode shifts down by 8 lines for every coordinate

EC mode shifts down by 8 lines for every coordinate

LDP-1450 grey window background quirk

I'm about finished with LDP-1450 text emulation (phew, it has taken forever!) and I discovered a little quirk with the solid grey window background mode.  It seems that most space characters are not displayed with a grey background but instead are invisible.

Exceptions to this rule: character 0x32 (ascii 'space') has a solid grey background.

Wednesday, April 24, 2013

Sony LDP-1450 text overlay horizontal position explored

I've almost finished the text overlay functionality for the Sony LDP-1450 emulation in Dexter.

One of the last things I need to implement is the horizontal and vertical coordinate offsets.  The vertical offset is pretty easy, just 25% of a full height of a character.  The horizontal is much trickier.  Fortunately, the programming manual for these Sony players has a (convoluted) formula that explains how it works:

Hp = {5 + {HCoordValue} * 4} * DotClockCycle + {26 * HorizontalCharacterClockCycle}

HorizontalCharacterClockCycle = 2 * {(HScaleValue) + 1} * DotClockCycle

DotClockCycle = 0.143 microseconds

HScaleValue is a 2 bit value, so it can be 0-3.  0 means no scaling, 1 means 2X scaling, 2 means 3X scaling, 3 means 4X scaling, all horizontally.

I am not yet sure what DotClockCycle refers to.

The manual also mentions a HorizontalSyncCycle as being 63.5 microseconds but this seems to only relate to the vertical coordinate.  I have not done the math, but this value likely is related somehow to the length of one horizontal line on an NTSC TV.

Observations: I've observed this by doing experimental video capturing, but I can also see that Hp (which I assume stands for Horizontal Position) will be left justified proportionally to the horizontal scaling value.  However, after that, the coordinates themselves seem fixed no matter what the scaling factor is.  Frankly, I see very little value in this kind of design at this point.

UPDATE: Ok, I've figured it out.  Here are some captures of each mode at X coordinate of 0.

These images were scaled to 444x240 down from 720x480 to try to make each horizontal pixel map to a "dot" (I think I got pretty dang close).  I chose the value of 444 by doing 63.5/0.143 (see timing above) and while I don't know if this is exactly correct, it is really close.

So my modified formula for the X position is:

X coordinate = -6 + (26 * (scale value + 1)) where 0 is no scaling, 1 is 2x, 2 is 3x, and 3 is 4x.
I chose -6 somewhat arbitrarily, just to make it match up to my screenshots; the exact value here doesn't matter, all that matters is that _some_ initial offset is considered and that it is consistent and close.

Using this formula, the initial X coordinate becomes:
20 - no scaling
46 - 2X scaling
72 - 3X scaling
98 - 4X scaling

As you can see, this is very close to what I got in my captures and it is derived from the official formula from the documentation so I think we have a winner!

Friday, April 19, 2013

Calorie tracker improved

Now my calorie tracker shows the percentage of protein, carbs, and fat you have eaten that contribute to your total daily calories.  In this example, I have about a 40/40/20 ratio (percentages computed are definitely approximated) which is fairly close to my goal.  Only problem is I need to be eating a lot more veggies.

Tuesday, April 16, 2013

Dexter LD-V1000 emulation improved

Thanks to all of our efforts testing Cobra Command conversion, we've discovered a defect in Dexter's LD-V1000 code and I just checked in a verified fix.  The defect caused cobra command to lock up during death scenes when used with Dexter.

So I am going to update Dexter's "status" to show that Cobra Command is now tested and working with Dexter (in LD-V1000 mode).

Friday, April 12, 2013

Close-up of Dragon's Lair spotted in Wreck-It-Ralph

So others have clued me in that in the movie, Wreck-It-Ralph, there is a Dragon's Lair cabinet with non-original art (probably a licensing issue?).  I just found a shot on the blu-ray (by accident) that shows a close-up of the side art on the modified dragon's lair cab.  As you can see, the actual logo looks pretty authentic.

Wednesday, April 10, 2013

Been working on Cobra Command emulation in Daphne

As part of the Cobra for Collins effort, I've been working on improving Cobra Command emulation in Daphne lately.

I just "captured" what some of the data lines are doing, specifically 3 of the unknown ones, in hopes of discovering what they mean.

Here is what part of the capture looks like:

This is part of a death scene.  Only during death scenes does the "Unknown 0" line cycle up and down rapidly like that.

Friday, April 5, 2013

How long do burned CD-R's and DVD-R's last?

Well, I'm not the only one who has wondered this question.  And I just happen to have quite a few CD-R's and DVD-R's that I burned in the early 2000's that I can do some quick tests on.

First example is a super cheap CD-R burned for me by Rob DiNapoli at CGE back in 2000.  This thing is so cheap that the disc is transparent.  Incredibly, it still was readable (at least, I think it is, I didn't actually try copying the file off the hard drive) but as you can see it has some problems toward the end of the disc.

Next is one of the first DVD-R's that I ever burned, back in 2002.  This is a TDK with no speed rating (1X?).  As you can see, the TDK has trouble at the end of the disc.  Is the disc still fully readable?  Yes it is, I just copied all the files off of it onto my hard drive without problems.

Finally, here is a Memorex (!!) that I burned in 2003.  Lest you think Memorex is good, let me assure that I have lost entire Memorex DVD's where I could not even read a file system.  I will never buy Memorex again.  Still it's nice to see that some of them can last for 10 years.  Note that I did not fill the whole disc; if I had there may have been massive errors at the end.

Conclusion: It seems that the end of the disc tends to go bad a lot.  For this reason, I always fill 10% of my burned discs with .PAR2 files so that I can recover from bad sectors.

Blu-Ray burning and quality testing

Time for some blu-ray disc quality tests on various media.

"While it's still too early to know what "good" results should look like, c't magazine has stated that the average LDC should stay below 13 and the maximum BIS should not exceed 8."

Burner used is a Lite-On iHBS312 (firmware PL16).

Ok, first up is a PHILIPS 6x branded disc which turns out to be Memorex quality stuff (ie not my favorite).  The MID is "CMCMAGBA5".

This is labeled as PHILIPS BD-R 6X .  On the side in the fine print, I also see "BR216B10F/27" above the numbers"8670 000 82946".  Link on Amazon is here.

Used OptiDriveControl v1.70's "Create test disc" option at 4X.

Best write speed (based on quick FE/TE test, not shown here) : 4X

Sony 6x BD-R (amazon link is here).

Used OptiDriveControl v1.70's "Create test disc" option at 4X.

Verbatim 6x DataLifePlus

Conclusion so far:

CMCMAG (ie Memorex, and Philips in this case) still is awful quality stuff.
Sony and Verbatim are decent (but not spectacular).  Still, either one appears good enough for archival purposes.

A good resource to see lots of disc quality tests: