- // Draw sprite...
- Sprite(spr_num, x, y, flip, gram1[i + 4 + 6] & 0x80, gram1[i + 8 + 6] & 0x04);
- }
+ if (x > 512 - 32)
+ x -= 512; // Handle neg x values
+
+ uint16_t y = 192 - sprRAM[15];
+ uint8_t horzFlip = sprRAM[10] & 0x20;
+ uint32_t spr_num = ((sprRAM[10] & 0x07) << 9)
+ | ((sprRAM[11] & 0x7F) << 2)
+ | ((sprRAM[10] & 0x10) >> 4)
+ | ((sprRAM[14] & 0x10) >> 3);
+
+ // Draw the sprite...
+ Sprite(spr_num, x, y, horzFlip, sprRAM[10] & 0x80, sprRAM[14] & 0x04);