ColecoFan1981 Posted September 11, 2014 Share Posted September 11, 2014 (edited) I've just disassembled the 16K and 24K ROM versions of the ColecoVision Donkey Kong. The reason I did this is so that you fellows can be able to help me determine where I should look within these two disassembly files in regards to which instruction is relevant to the bonus timer being computed. I also intend to share these files with you for the purpose of correcting certain bugs in the 24K ROM version, such as Mario falling right through the up elevator from his starting point. ~Ben Donkey Kong ColecoVision 24K.txt Donkey Kong (1982).asm Edited September 11, 2014 by ColecoFan1981 Quote Link to comment Share on other sites More sharing options...
Ikrananka Posted September 11, 2014 Share Posted September 11, 2014 Would you mind posting the rom files you used. I think it would be useful to check these against those from my rom dumping project to make sure that you're starting off from clean rom dumps. Quote Link to comment Share on other sites More sharing options...
ColecoFan1981 Posted September 11, 2014 Author Share Posted September 11, 2014 Here you go. . . ~Ben Donkey Kong (1982).rom Donkey Kong for Adam (1982).rom Quote Link to comment Share on other sites More sharing options...
Ikrananka Posted September 11, 2014 Share Posted September 11, 2014 You're good to go - they match those I dumped. 1 Quote Link to comment Share on other sites More sharing options...
+5-11under Posted September 12, 2014 Share Posted September 12, 2014 Your next step is to separate the data from the code. Quote Link to comment Share on other sites More sharing options...
ColecoFan1981 Posted September 12, 2014 Author Share Posted September 12, 2014 Your next step is to separate the data from the code. How would that be done? But to do that I'd have to label everything and specifically. ~Ben Quote Link to comment Share on other sites More sharing options...
CrazyBoss Posted September 13, 2014 Share Posted September 13, 2014 I've just disassembled the 16K and 24K ROM versions of the ColecoVision Donkey Kong. The reason I did this is so that you fellows can be able to help me determine where I should look within these two disassembly files in regards to which instruction is relevant to the bonus timer being computed. I also intend to share these files with you for the purpose of correcting certain bugs in the 24K ROM version, such as Mario falling right through the up elevator from his starting point. ~Ben I will not call those files "Disassembled" 1. It have the wrong ORG, not 0000 should be 8000 2. Data (graphics, data, tables, music-data) is shown as code. With those files you cant fix anything, even if you found the codes to correct the things how can you put it back in the code, when the files are not disassembled right. Its not an easy task and I remember i did try to Diassemble DonkeyKong (Dont remember what version), it have tables and tables in tables. So its here the fun starts, It might take a day or two to create a usable source code - after that you can start to search for the problem (bugs and missing code). I have disassembled quite a few games until now. When converting games from other platforms to ColecoVision or from ColecoVision to other platforms. I think the last one I did took around 4 days do diassemble and correct. Ok this was including family life with Kids and Wife - so could maybe be done in 2 days 1 Quote Link to comment Share on other sites More sharing options...
tep392 Posted September 13, 2014 Share Posted September 13, 2014 I don't know what you are using to disassemble this code, but hopefully it lets you define blocks of memory as data or code. You will need to look through the code, line by line, and identify the data. When you see code that looks non-sensical, like the following, you can be sure it is data. I use DIS6502 for disassembling 6502 code. It allows me to define area's as code or memory, and also defines labels automatically for the jumps, branches and indexed memory operators. 1a7a f0 ret p 1a7b f0 ret p 1a7c f0 ret p 1a7d d0 ret nc 1a7e d0 ret nc 1a7f d0 ret nc 1a80 00 nop 1a81 00 nop 1a82 00 nop 1a83 00 nop 1a84 00 nop 1a85 00 nop 1a86 00 nop 1a87 50 ld d,b1a88 b6 or (hl)1a89 b6 or (hl)1a8a b0 or b1a8b b0 or b1a8c b0 or b1a8d b0 or b1a8e b0 or b1a8f b0 or b1a90 00 nop 1a91 80 add a,b Quote Link to comment Share on other sites More sharing options...
ColecoFan1981 Posted September 13, 2014 Author Share Posted September 13, 2014 I don't know what you are using to disassemble this code, but hopefully it lets you define blocks of memory as data or code. You will need to look through the code, line by line, and identify the data. When you see code that looks non-sensical, like the following, you can be sure it is data. I use DIS6502 for disassembling 6502 code. It allows me to define area's as code or memory, and also defines labels automatically for the jumps, branches and indexed memory operators. 1a7a f0 ret p 1a7b f0 ret p 1a7c f0 ret p 1a7d d0 ret nc 1a7e d0 ret nc 1a7f d0 ret nc 1a80 00 nop 1a81 00 nop 1a82 00 nop 1a83 00 nop 1a84 00 nop 1a85 00 nop 1a86 00 nop 1a87 50 ld d,b 1a88 b6 or (hl) 1a89 b6 or (hl) 1a8a b0 or b 1a8b b0 or b 1a8c b0 or b 1a8d b0 or b 1a8e b0 or b 1a8f b0 or b 1a90 00 nop 1a91 80 add a,b I've disassembled these two ROMs using the dZ80 disassembler if you must know how I did it. ~Ben 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.