James, I've read your post carefully:
http://laserboy.org/ilda_file_format.html I think I finally know what the deal is. It's real simple- all this talk about math and common sense is cute, but a little
niave. In math, 2 + 2 = 4, and the derivative of a quotient is Ho d Hi minus Hi d Ho over HoHo, and multiplication tables are
not up for debate. With math, we deal with concepts where a given set of circumstanses yield a certain consequence- the basis
of logic. At the machine level, computers work on a similar principle, a given condition has only two outcomes: true or false.
The fact is that people don't speak machine language, there is a translational layer between man and machine, and it's called
a computer language. The point is, with any language (including one as rudimentary as assembler) be it a spoken one or computer
one, there is more than one way to skin a cat; and there's plenty of rope to hang yourself based on the choices YOU make- there
is NOTHING systematic about it. Garbage in equals garbage out. Computer programming is as much a creative and strategic venture
as it is a logic one. Have it your way- as they say at Burger King.
"Why do I care about all of this?
Because, LaserBoy is entirely based upon the ILDA file format! It is nothing less than a very complex, conglomerate C++ memory
object that _IS_ the ILDA file format made real and dynamic in memory. "
"The LaserBoy implementation is different from the ILDA proposed standard in that LaserBoy assumes that all section headers are
exactly the same data structure."
You made a PERSONAL choice at time zero to use the ILDA file format as you understood it at the time to be your 'Master
Image Template', to include some 'assumed' unwritten mandate for a 32 byte section header for each frame, and you built a
house of cards on it and took the plunge hook, line, and sinker. Not everyone would do it that way, because language in
general allows you to accomplish a goal any one of many ways, and we're all different in the way that we approach a task.
I guess a 16 bit section header would rock YOUR world (it would be like changing Newton's gravitational constant- the
galaxies would either fly apart or collapse in on themselves), but SHOW ME from the Sacred Text that a .ild file was, is,
and forevermore shall be bound to a 32 byte section header, reguardless of format code number in a proposed future format.
I guess a couple line code change wouldn't fix the problem in YOUR world, but that is the result of a methodology that YOU
chose to employ, no one told you to do it that way.
As I look through the sacred text, all I see is that a .ild file frame has only this mandate: "ILDA" followed by 3 bytes
of binary zeros, and a 0-255 format code byte. As for anything after that, all bets are off for a yet to be defined format
code.
Here's what I want to know: Back in 04 when ILDA changed the rules and proposed a 16 bit header for format 3, LaserBoy
was not open source, and you hadn't posted your rebuttal yet. Were you out there broadcasting the exact details of how
LaserBoy worked, before the proposal was changed, so that folks on the Committee new just exactly what to do just to screw
your specific app?
To be continued...