This may be common knowledge to most people, but I just made a startling discovery as I delved deeper into the Time Traveler ROM.
It all started innocently enough. I was finding the function that issues the "still step forward" command:
I converted the line at d37e:0893 from being a constant value of 0xd9d to an enumeration (StepFwdArr) to make it easier to read. And I noticed that this function at d37e:87b will either send the "still step forward" command by calling the function at D31C6_SomeSendByteToLDP (the name I picked in my screenshot) or it will load in the array at 0xd9f and call sub_D33F1. I found this... odd. Why would it either call the LDP or do something unrelated? I decided that 0xd9f was close enough to 0xd9d that they might be related. So I jumped to that location in the ROM:
I thought "Huh, that's weird. The stuff at d9f looks like some ascii with a carriage return termination." And I thought "Why would that be in this ROM? It doesn't have a need for carriage return terminating any string."
Having no answer at this point, I decided to look for other commands that called D31C6_SomeSendByteToLDP. I found here:
And I checked to see what 0xDa3 pointed to and it was the 0x2C command which is "still step reverse". And I noticed a similar pattern with this method. It either sends to the LDP or else is calls this unknown D33F1 function which uses a pointer at 0xda5. They definitely look related.
I looked closer...
Yes, 0xda3 has the 0x2C command... and then 0xda5 has that same ASCII array with a carriage return (0x0D) terminator!
And then I had the "ah ha" moment.
The 0xda5 stuff is commands for a Pioneer LD-V8000 (or similar) kind of player!!
So Time Traveler... has code in it... to control either a sony LDP-1450... or a Pioneer LD-V8000! I couldn't believe it! And I had this awesome feeling of "Whoa" once I figured it out :)
SF means... step forward... SR means.. step reverse. I haven't confirmed this.. but it has to be right, dangit. It has to! :)
No comments:
Post a Comment