Captain Cozmos Posted October 24, 2023 Share Posted October 24, 2023 (edited) Starting the newest thread in the series. I know I have to finish the other ones but Mouse Trap was part of going through the 1982 games looking for Pascal Calls. I have discovered even more early diversions from what I know to be organized programing techniques. When I finish and release the source you will find that it has a unique set of routines called within the RST vectors such as: Object to the screen and the background music constantly playing. Exactly like the Roller and Steering games do with controller access. I already have a version that will reassemble but I still need to identify a few things before release. I would also like to update this to have all 32 treasures instead of the 14 I have found in the treasure table. I did a quick search online for a listing of the treasures and could not find anything with either the names or pictures. So, if anyone has source material or knows where to get it please post here or PM me. If not then I will have to disassemble the MAME roms to get the data. O3 Cozmos Edited October 24, 2023 by Captain Cozmos 1 Quote Link to comment https://forums.atariage.com/topic/355975-i-disassembled-mouse-trap/ Share on other sites More sharing options...
Captain Cozmos Posted October 25, 2023 Author Share Posted October 25, 2023 1st days work, lots more to do. Quote Link to comment https://forums.atariage.com/topic/355975-i-disassembled-mouse-trap/#findComment-5337777 Share on other sites More sharing options...
ColecoFan1981 Posted October 25, 2023 Share Posted October 25, 2023 Good job so far with this! Here's some details about the arcade release... first, the background music: BGM 1 -- board 1 only (for CV, boards 1 and 2) BGM 2 (BGM 3 in CV port) -- board 2 only (for CV, board 5 and up) BGM 3 (BGM 2 in CV port) -- board 3 and up (for CV, boards 3 and 4) All BGM in the arcade release stops after around 30 seconds. There are two more treasure-collect jingles in the arcade release. When the hawk appears, the "IN" door flashes briefly to let the player know to enter it, ahem, "to make hawk stupid." ~Ben Quote Link to comment https://forums.atariage.com/topic/355975-i-disassembled-mouse-trap/#findComment-5337842 Share on other sites More sharing options...
Captain Cozmos Posted October 25, 2023 Author Share Posted October 25, 2023 (edited) Once again, I am surprised at the different programing techniques. I can say confidently that this will be done fairly soon. It is not a complicated game by any means. The binary is a bit over 10k without being padded to 12 which is within 3x4k roms. Most of the disassembly was done in one day, now is identifying routines and clean up. The game is rendered in Mode 1 and deviates from what you see in other games concerning VRAM addresses. The Colors start at $1300 as opposed to $2000 and Sprites start at 0800 as opposed to $3800 There are only two animation frames for the mouse where as there are 4 in the arcade. It has a nice NMI setup where it waits for the scan line to finish before writing to the screen and there can be up to 9 active sprites displayed at any one time. Whomever wrote this did give it some thought but it would not be that hard to assume that they wanted to get this out the door ASAP in 1982. This would be the only explanation as to why I think there is so much missing content. This is not a side scroller like Cosmic Avenger which is missing a lot. It's a simple maze game with opening and closing doors. It would not be that hard to rewrite a portion of the code to add what has been lost from the arcade version but, if I were directing the project, I would do a rewrite using assets from this rom as a guide. I do see the logic of using Mode 1. There really is not that much in the terms of graphics and colors. Especially when you look at the arcade version. Even if roms were still expensive, in my opinion, 16k would be enough to add everything to bring this up to an arcade clone. O3 Cozmos Edited October 25, 2023 by Captain Cozmos 1 Quote Link to comment https://forums.atariage.com/topic/355975-i-disassembled-mouse-trap/#findComment-5337974 Share on other sites More sharing options...
NIAD Posted October 25, 2023 Share Posted October 25, 2023 3 hours ago, Captain Cozmos said: This would be the only explanation as to why I think there is so much missing content. You do keep yourself busy with all these disassemblies, investigative work and new programming. It’s getting hard to keep up! 😜 As far as missing content and differences between the original arcade games and the ColecoVision versions that were made, there are numerous reasons that have been shared by Coleco programmers… especially Jennel Jaquays, like time constraints, size constraints (number of prom chips required), programmer’s ability and knowledge of the CV hardware and not having the help of the company that made the arcade game via source code and other game development documents. As Jennel has stated, Coleco had to acquire the actual arcade cabinet game and the programming team had to play the game repeatedly while taking pictures, video, measurements to adjust the display from 3:4 to 4:3, etc., etc. in order to try to figure everything to program the CV version from scratch. If they didn’t have to deal with all these constraints and had the source code or a commented disassembly, they could have made near arcade perfect ports like you see with Opcode Games arcade port releases. DISCLAIMER: this is not to say what you, Opcode or any other programmers are doing is easy, because it is not, otherwise everyone would be porting games to make some extra money and let a Homebrew Publisher handle the expensive side of things re making a CIB release. Quote Link to comment https://forums.atariage.com/topic/355975-i-disassembled-mouse-trap/#findComment-5338049 Share on other sites More sharing options...
Captain Cozmos Posted October 25, 2023 Author Share Posted October 25, 2023 (edited) 2 hours ago, NIAD said: You do keep yourself busy with all these disassemblies, investigative work and new programming. It’s getting hard to keep up! 😜 As far as missing content and differences between the original arcade games and the ColecoVision versions that were made, there are numerous reasons that have been shared by Coleco programmers… especially Jennel Jaquays, like time constraints, size constraints (number of prom chips required), programmer’s ability and knowledge of the CV hardware and not having the help of the company that made the arcade game via source code and other game development documents. As Jennel has stated, Coleco had to acquire the actual arcade cabinet game and the programming team had to play the game repeatedly while taking pictures, video, measurements to adjust the display from 3:4 to 4:3, etc., etc. in order to try to figure everything to program the CV version from scratch. If they didn’t have to deal with all these constraints and had the source code or a commented disassembly, they could have made near arcade perfect ports like you see with Opcode Games arcade port releases. DISCLAIMER: this is not to say what you, Opcode or any other programmers are doing is easy, because it is not, otherwise everyone would be porting games to make some extra money and let a Homebrew Publisher handle the expensive side of things re making a CIB release. All I have to do is clean up the code and I am pretty much done with Mouse Trap. I've gotten so good at this I've completed this in two days, where as Smurf took me two years because of the Pascal entry points and actually learning how it all works. I watched a couple of YT video's where, I think Jennel, talked about Smurf...it's been a while. And as part of some FBI investigation a lot of source code was in filing cabinets that were confiscated over a separate matter and never returned, probably their bankruptcy? Hell, I might have read that somewhere. Come talk to me when you get my age and try to remember &&&t. In any case, No one has a good enough binary viewer to get the patterns out of the original roms and I even have the latest mame where you can display the tiles with F4. It does not work as documented. Also, they are 16x16 patterns so I would have to scale them down anyway. So, I can update this but just like the programmers of yor...I have to play to see and copy from there. In actuality, I can always disassemble the original game. Or..... let one of you fine gents do it because I'm burned out with disassembles. I want to create instead. What I really want to do is finish my DOS project but at the same time port CP/M 3 to ADAM which will help me with the BIOS routines for my knowledge. I have an internal hardware project for the Colecovision, the parts but I never got around to working on it. I'm boined out I tell ya. O3 Cozmos edit: Just did my final check out tests. Scrambled all the code. Moved routines, separated routines, added JP where there was a JR to move routines out of range. Padded in several locations to 24k and beyond. It all compiles and runs. So, I'll clean it up. Maybe label a few more things then release it. It's pretty neat that I was able to get it done so fast. The Coleco roms are simple. As clean as Atari and Activision are, they rely on direct calls, no BIOS, so you have to figure out a few things. So this will be out either today or in the next few. I may take a couple of days off after this one, I have a lot to do around the house, Starfield got boring quick and I still have real life admin work to do. 03 Cozmos Edited October 25, 2023 by Captain Cozmos Quote Link to comment https://forums.atariage.com/topic/355975-i-disassembled-mouse-trap/#findComment-5338069 Share on other sites More sharing options...
Captain Cozmos Posted October 25, 2023 Author Share Posted October 25, 2023 I take that back, Activision uses some BIOS calls in some of their games. Atari is very honed and direct with everything that I have seen so far. Quote Link to comment https://forums.atariage.com/topic/355975-i-disassembled-mouse-trap/#findComment-5338100 Share on other sites More sharing options...
Captain Cozmos Posted October 25, 2023 Author Share Posted October 25, 2023 (edited) Here you go, my two day disassembly of Mouse Trap. The usual blah blah blah....do not sell my work, assemble with drag and drop on TNIASM or use the Dos Prompt Could I have done more, of course I could. Anyone can. But for the price you paid I would say you got a bargain. Love, like, promotions, pizza, Macallan 20 is always nice. I labeled most everything. Are there mistakes? Maybe I will take a gander again down the road but for now I need a break. I will tell you that it is a pretty good read and you should learn a lot. I did take out useless code with no links and without the padding saved around 98 bytes. Being as this would still need padding to reach 12k I don't think they cared and left it in. Before I clean up the source I scrambled the code left and right. As long as you follow proper programing rules you should have no issues moving routine and data around. Change the graphics, sound, memory location, port it to the MSX without a special wrapper translating ports. That goes for Smurf, Carnival and Centipede. Just update the code to fit the hardware. And again, do not sell my work. I may end up compiling all of my work into a binder and sell that down the road. The Coleco Games source code handbook with complete references on how each game functions. Maybe that is just a dream because I am too lazy to do it. If you encounter any issues, your rom doesn't work or something else. Let me know so I can find where I screwed up and fix it. Unless you screwed up then you fix it. Anyway, here you go. Mouse Trap. Fully disassembled and mostly labelled. O3 Cozmos Mouse Trap V1.asm Edited October 25, 2023 by Captain Cozmos 1 Quote Link to comment https://forums.atariage.com/topic/355975-i-disassembled-mouse-trap/#findComment-5338207 Share on other sites More sharing options...
Pixelboy Posted October 26, 2023 Share Posted October 26, 2023 Disassembling all those legacy ROMs is a cool project, and one disassembly in particular that could possibly attract extra attention would be Venture. The game is 16K, and once the original ROM is fully documented, it could be bumped up to 32K, and have a bunch of new screens added to it to make an unofficial sequel of sorts. It's not a project I would tackle myself, mind you, this is just a suggestion. 1 Quote Link to comment https://forums.atariage.com/topic/355975-i-disassembled-mouse-trap/#findComment-5338322 Share on other sites More sharing options...
Captain Cozmos Posted October 26, 2023 Author Share Posted October 26, 2023 (edited) 3 hours ago, Pixelboy said: Disassembling all those legacy ROMs is a cool project, and one disassembly in particular that could possibly attract extra attention would be Venture. The game is 16K, and once the original ROM is fully documented, it could be bumped up to 32K, and have a bunch of new screens added to it to make an unofficial sequel of sorts. It's not a project I would tackle myself, mind you, this is just a suggestion. I already did Venture but have yet to release the source. My thoughts were to complete the treasures and fix the wall room to the arcade version. I mentioned this a in a thread about Venture DX but it never gained traction. If someone is releasing their own then why should I rain on their parade. Especially when I have a lot on my plate already. O3C Edited October 26, 2023 by Captain Cozmos Quote Link to comment https://forums.atariage.com/topic/355975-i-disassembled-mouse-trap/#findComment-5338403 Share on other sites More sharing options...
Captain Cozmos Posted October 29, 2023 Author Share Posted October 29, 2023 Just FYI, at some future date I plan to update the Mouse Trap Assembly to include Sound Reference tables. This will make accessing the sound data more easily. Quote Link to comment https://forums.atariage.com/topic/355975-i-disassembled-mouse-trap/#findComment-5339927 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.