http://www.fileden.com/files/2008/4/21/187.../PONG%21RAM.BIN Its was just a small challenge/exercise... try to enjoy, look into the ROM
Woah, that's amazing. The only complaint I could say is there isn't much speed to increase in(unless it requires a lot of button bashing) and that the opponent is lagging while you're smooth.
Actually it seems to be that it moves too much, then it stops to compensate =P By the way, I was the one who proposed this challenge to him
</porn-rom-discussion>. And I'm serious. Really cool, Tiido! I'll have to play this often. Idea for next RAM-less game, if anyone wants to do it: self-modifying code, along the lines of (pseudocode) Code (Text): Function numberOfChaosEmeralds ChaosEmeraldNumber: Return 0 End Function Function gotEmerald Poke(ChaosEmeraldNumber + NumberOfBytesInReturnOpcode, Peek(ChaosEmeraldNumber + NumberOfBytesInReturnOpcode) + 1) End Function
How? You're modifying the code segment, not the data segment. Code is in the ROM, data in the RAM. And yes, I know the Genesis isn't a segmented system, but still.
I've split off the porn ROM discussion. If you can't talk about a RAM-less Mega Drive game for more than 6 posts, it must not be that impressive. Get back on topic, please.
We're just desperate nerdy guys who are easily distracted is all. This is pretty cool though. I guess you're not counting like VRam or anything in RAM? How does it check for player input? Am I just splitting hairs?
I guess he's directly throwing $A10003's contents to the registers. Sonic 1 does that too, except that it later moves the joystick's state to $FFFFF604 and above. But you don't need to. This is just my guess anyway, maybe I'm wrong.
The game has all variables into the 68k registers, yes. That's 64 bytes of useable memory for the processor (since RAM can't be used, the stack can't either, so a7 is pretty much another address register for the matter - this means no subroutines nor interrupts too).