Captain Cozmos Posted August 2, 2022 Share Posted August 2, 2022 (edited) I was burned out with Diablo and needed to take 5 So today I disassembled, cleaned up the code within reason and have come up with a 100% version that you can assemble with a drag and drop on TNIASM I found as many data pointers I could within a day including all the pattern tables, sound, sprites, colors. If I missed or mislabeled something feel free to update and let me know so I can update the source. So, the reason why I do these things are so you can study the code and discover how it was done in order to write your own. Whomever wrote this did not use a single BIOS call. Everything went through the OUT Ports and is a great exercise on how you can write a game by taking over every resource. Just you and the Colecovision. If have not moved anything around so toy at your own risk If you find this useful then feel free to buy me a pizza one day or better yet Thanks, Trophies..... ATARI Pacman v1.asm ATARI Pacman v1.rom Edited August 2, 2022 by Captain Cozmos 2 1 Quote Link to comment Share on other sites More sharing options...
Captain Cozmos Posted August 5, 2022 Author Share Posted August 5, 2022 Revisiting the code I have discovered that the eyes used by the ghosts are actually patterns that wander the maze while the sprite bodies are superimposed over them. Now that is cool no matter how you slice it. Going back to Smurf, Donkey Kong and a few others. I have identified several other pointer structures. Particularly the Object Routines which I am currently studying to incorporate in upcoming projects. 13 bytes defines the screen, the x and y, the type of event if you want to or it into the background or superimpose over it. After the setup you call Activate to put it on screen. I would love to make a routine that does all of that without setting up the tables Here is the way of things for inhouse Coleco Games, at least the first ones. Set the screen mode with registers 0 and 1 Set the initial addresses in vram with the init_table command. Init Table does not just set the vram and register. It also sets up pointers in order to use the PutOBJ and other things like Complex and Mobile So, you can not just setup the registers then use these BIOS commands. Smurf heavily relies on this so I will update the code when I find more free time. 1 Quote Link to comment Share on other sites More sharing options...
youki Posted August 5, 2022 Share Posted August 5, 2022 You do a really great job , i love all that dissembled code! Very interresting , and just the fact you can re-assemble it directly... just love it.? Would you be able to do that for Turbo , Cosmic Avenger and Zaxxon? in fact i know you will be able to do that, the question is would you have some time to do that? Quote Link to comment Share on other sites More sharing options...
Captain Cozmos Posted August 5, 2022 Author Share Posted August 5, 2022 16 minutes ago, youki said: You do a really great job , i love all that dissembled code! Very interresting , and just the fact you can re-assemble it directly... just love it.? Would you be able to do that for Turbo , Cosmic Avenger and Zaxxon? in fact i know you will be able to do that, the question is would you have some time to do that? Working on a lot more roms than this. My biggest issue is trying to identify code that nothing points to. Is it data? Code? A lot of these games use index registers that will load one part of the index from a buffer in ram. So, I have to have a running disassembler to find and label the pointer so it can be recompiled. I am using professional software which is meant for modern computers, it just happens to support Z80 but so far none of the updates tackle this issue of mine. Quote Link to comment Share on other sites More sharing options...
youki Posted August 5, 2022 Share Posted August 5, 2022 Few years ago , i had starter to do some code analysis on some ZX Spectrum games. In order to determine what is DATA or Code , in fact i had modified an open source emulator that logged all the read and write from and to memory , code execution. So, i have just to play the game in the emulator and then as result i add report of most of the data location and code. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.