3 ms·
I think it was related to something about how a pointer to the video data worked in the game engine (not a property of Apple II itself). Maybe it was the posit
by speeder 11y ago
I think it was related to something about how a pointer to the video data worked in the game engine (not a property of Apple II itself).
Maybe it was the positive/negative bit that was flipped, and made the pointer read backwards and underflow, but end rendering anyway due to some hardware quirk.
- wang_li 11y agoI don't believe that the 6502 had such a thing as a positive/negative bit that would have this kind of effect. On that hardware, if I was going to do this, I'd just reverse the order of the entries in the scanline lookup table. On the Apple II the address of the first pixel of each scanline did not follow immediately after the address of the last pixel of the prior scanline. So every program that did any graphics work used a lookup table to get the address of a particular scanline. As long as you were consistent in your use of this table, that would be the only necessary change to flip the game upside down.
- apricot 11y agoReversing the scanline lookup table is indeed how it was done. Source: I disassembled it, a long time ago.