The reason why they didn't draw "kittens" is because it took too much thinking to do so. They could have given a rats ass as to a circular pixel looking better then square because it was too much money/programming, over getting the product out on the shelves. I can understand that.
You still missed the point, so I'm going back to the pictures. First, a reminder of what I stated in my last post so things stay in context:
Those graph paper images were what the programmers used as a reference to calculate bit values for the graphics and modified those values once they saw how they were represented on the actual CRT. In my mind, I too equate that pattern of 1's and 0's with a graph paper matrix, mainly because I actually used it to create graphics in those days. However, the fact is that there was no square grid in reality. It was just data arranged in "X,Y" co-ordinate fashion inside a memory chip. Each 1 or 0 didn't need to be represented as a square. It was just convenient to do so. It could just as easily have been associated with a grid of circles, or diamonds or even fuzzy little kittens. The square was not what was important, it was the grid.
Here is the data for a 7x10 pixel arrow graphic in an 8-bit system:
8, 28, 62,127,28,28,28,28,28,28
This is all that exists
in code for a bitmapped image. Kind of hard to see what it's supposed to be, yes? So lets fix it:
0,0,0,1,0,0,0,0,0,1,1,1,0,0,0,1,1,1,1,1,0,1,1,1,1,1,1,1,0,0,1,1,1,0,0,0,0,1,1,1,0,0,0,0,1,1,1,0,0,0,0,1,1,1,0,0,0,0,1,1,1,0,0,0,0,1,1,1,0,0
Hmm...that still doesn't tell us much, but we can at least start to see where the pixels are. Next step:
7 x 10 Binary Data Grid =
Not bad. We can start to see the shape of the arrow based on our data. While not the best
visual representation, it is the most accurate in terms of our code. So now lets see what the same data looks like on graph paper, and what it would look like on any display using purely rectangular pixels:
7 x 10 Graph Paper / LCD Grid =
Well, we can certainly see the pattern more clearly, but to say that it distinctly resembles an arrow would require a fair stretch of the imagination. Regardless, it too is a perfectly accurate rendering of the
data. Speaking of perfectly accurate renderings of the data, let's talk about fuzzy kittens. Remember when I said it didn't matter what shapes were used as reference when laying out the data?
7 x 10 "Fuzzy Kitten" Grid =
Awww, aren't they cute? Once again, perfectly valid references for that line of code above. If there existed "Kitten graph paper" where a designer could leave the kittens representing 1's and erase those representing 0's, he may have used this tool while coding (especially if he really liked kittens!) Interestingly enough, due to their shape, they actually create a nicer looking representation of an arrow than the normal graph paper does.
And speaking of better representations, the "coup de grace":
7 x 10 CRT Scanline Grid =
This is the most accurate visual
and numeric representation of the code shown above. It was this representation of the data that was ultimately tweaked to make the best looking images possible on those displays. See how very different this one appears as opposed to the graph paper,
with the very same data? When they modified the data to better the appearance of an image portrayed in this fashion, it might (and often does) look quite poor on graph paper / LCD / High-resolution monitors with enlarged rectangular pixels.
If this were not so, there would not be special graphics cards or programs like
this one designed to allow these graphics to be viewed as intended. The MAME devs would also not have spent so much time adding effects that attempt to approximate that appearance.
But as others have stated before me, if playing games as they would appear on graph paper is your bag, that's fine too. But it's not "authentic" and you don't need a special video card to experience it. The photos I posted of my LCD panel being driven by a low-end motherboard video chipset is the proof I have offered. And I didn't even use the recommended method of applying the "prescale" options in MAME when I did it. Just plain old hardware stretch.
RandyT