Original pac man download8/15/2023 ![]() Starting with address 514 in the 6H ROM, we begin calculating and painting our tunnels using addition to find our tiles. Right now we're at tile 4440 in the color memory grid, and with each following instruction we're going to be adding a value that will take us to the next tile and paint it with the slowdown paint. I'm describing it this way especially because we're about to do some math. That tile is being loaded into IX, so for all intents and purposes IX currently equals 4440. Take a look at the upper right corner, right above the last bit of maze before the screen cuts off- that's tile 4440, which our tunnel code is referencing. In fact, the entire Don Hodges site I linked basically explains everything I'm trying to explain, but for the sake of this page I'm trying to water it down a bit into something more noob friendly, while also focusing on OG Pac instead of Ms., for now. This overlays the Pac-Man color memory grid on top of a gameplay screenshot from Ms. But I'm getting ahead of myself here since I haven't explained any of that yet.Ĭheck out this image from the Don Hodges site I linked above. ![]() ![]() Keep in mind this is done right to left- I'm not sure if that's because the game is Japanese or not, but on that note, not only is it right to left, but the color memory assigns hex values to each 8x8 tile in a vertically descending order. The game first loads the slowdown palette code into the accumulator, and then loads the length of the tunnel immediately following. This is where stuff gets complicated, but it's also simpler than it seems. Pac only rarely modifying the actual Pac-Man game code- more often than not it just adds hooks to patches contained in the additional roms, but retains all the original unused Pac code.Ģ50c 3e1b ld a,#1b load A with color code to slow down ghosts in tunnelĢ510 dd214044 ld ix,#4440 load IX with start of color memoryĢ514 dd770e ld (ix+#0e),a paint tunnel with slowdown colorĢ517 dd770f ld (ix+#0f),a paint tunnel with slowdown colorĢ51a dd7710 ld (ix+#10),a paint tunnel with slowdown colorĢ51d dd19 add ix,de add offset for next columnĢ523 dd212047 ld ix,#4720 load IX with start of color memory for left side of screenĢ527 dd770e ld (ix+#0e),a paint tunnel with slowdown colorĢ52a dd770f ld (ix+#0f),a paint tunnel with slowdown colorĢ52d dd7710 ld (ix+#10),a paint tunnel with slowdown colorĢ530 dd19 add ix,de add offset for next column Pac-Man and Pac-Man share much of the same code, with Ms. If you want to learn more about the palettes used for these effects, check out the dedicated palette article.Īlright, so let's take a quick look at Scott Lawrence's Ms. Right above this (starting at address 4F7) is similar code for a different effect that "paints" the perimeter of the ghost house with a palette that prevents the ghosts from changing directions. The relevant code for "moving" the tunnels (or moving the ghost slowdown locations, really) is located at address 50C in the 6H ROM. Let's start off by opening pacman.6h (from an unzipped "pacman.zip" MAME ROM) in our hex editor of choice. This shouldn't come as much of a surprise, but tunnels in Pac-Man are hardcoded to set locations. I'm gonna start off by explaining Pac-Man's tunnel system first. Pac actually introduces some weird bugs way late into the game, so you might wanna check out this page by Don Hodges that explains how to fix it. Just know beforehand that the tunnel system implemented in Ms. Pac-Man handle tunnels completely differently, but there's some key similarities between the two. Hacking the TunnelsĪlright, so this is sort of a complicated one, but it's worth figuring out so you're not limited by the original tunnel positions. Stay tuned or email me directly if you're struggling and need help. I will write an article about how to use A.G.E., DOSBox and more on modern Windows PCs in the future.
0 Comments
Leave a Reply.AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |