News:

11 March 2016 - Forum Rules

Main Menu

NES RoboCop with Arcade sprites

Started by SomeOldGuy, November 02, 2019, 05:54:49 PM

Previous topic - Next topic

SomeOldGuy

Hey Everybody!  ;D

Did a little more work on the bonus stage recently.  It's looking a bit more arcade accurate.
Good times create weak men, weak men create hard times.  Hard times create strong men, strong men create good times...

sics

Hi, I don't know if it will be useful for you, but I have modified the codecs of this game for the CadEditor, to load the graphics directly from the US ROM.

Robocop_Edit.7z

On the other hand, did you use DjinnMapper to make the last edit?
Linktree  | Better a small finished project than a thousand giant ideas stuck in your system.

SomeOldGuy

#122
Hey sics!

Thank you for doing that.  :thumbsup:  I did figure out how to manipulate CadEditor though.  Guess I should have shared this info when I figured it out.  :-[  I am very curious to know your method if you want to share. :)

I found that I could open and edit the .bin files ( located in the file path CAD Editor 5.3\CadEditor\settings_nes\robocop) with the HxD Hex Editor.

So for level 1

Open the file chr1.bin in HxD and copy lines 40 to 60 ( you can probably use less, see pic below).  Next load up the original unedited game in FCEUX and open the hex editor.  Hit control F, paste the bytes (or is it bits?) that you just copied, and hit search.  This will show you where the tiles are for level 1 (in this case 42010 to 43000).  Level 2 starts at 43010 and so on for the following levels.



Now open the rom with your edited chr data in FCEUX and go to the address from above (42010), you'll see that these values have changed. ;D  Copy the bytes from 42010 – 43000 and paste over the original bytes in the chr1.bin file you have open in HxD and save the edited file.  When you open level 1 in CadEditor you'll now see the new tiles you created.  I hope this explanation is clear, if anyone needs help let me know.

Palettes can be changed as well.  Open the pal#.bin file and change to whatever values you want to use.

For the bonus level, I did not use DjinnMapper.  I haven't taught myself how to use it yet.  I plotted everything out with a pencil on a pad of paper and copied the values into the hex editor.  If there is an easier method, please let me know.
Good times create weak men, weak men create hard times.  Hard times create strong men, strong men create good times...

sics

#123
My method is simple, I analyzed all the codecs in CadEditor, and nowadays I build new codecs based on the existing ones, for example Robocop's graphics, they work the same as Captain America's...

Edit: Settings_Robocop_1.cs I created it before I knew that codecs existed for this game, so these include some notes as reminders that briefly explain the function of each part of the script, so if this topic interests you, you may find it useful.

About your other question, there are several simpler ways to work, for example editing the screen visually with DjinnMapper.

Although personally I prefer to create a mockup in an image editor, and then transfer it to NES Screen Tool 2.51, adapting it to the right restrictions to make it work in the game...


That way I export the data in ASM, and format them in Notepad ++, to finally paste them in the right place in the rom :thumbsup:
Linktree  | Better a small finished project than a thousand giant ideas stuck in your system.

SomeOldGuy

Sics, you are a wealth of knowledge!  Your method will definitely speed up work flow.  Have you considered creating youtube tutorial videos?

I've been working on ED-209 lately and figured out a few more things.  I was able to fix the position of his cannon when he's firing at RoboCop, but still need to figure out how to edit the position of the bullets as they are fired from the cannon.  Any advice here would be welcome. ;D



I've also been trying to understand how ED-209 is animated.  Looking at the code it seem like there were 4 pattern tables used to animate him.  To animate him like the arcade would require 8 pattern tables.  I've added the additional 4 pattern tables to the bottom of the CHR Rom (see pic below).  I replaced the values of original pattern tables (3A,22,3E,3C) with the new (82,80,86,84) and the game works fine.  Would some body be willing to help alter the code to use all 8 pattern tables to animate ED-209 correctly?  Or give me an idea of how I can do this myself?  ;D

Good times create weak men, weak men create hard times.  Hard times create strong men, strong men create good times...

Noside

Woah! massive update! fantastic work as always! :thumbsup: :woot!:

SomeOldGuy

Thanks Noside! ;D

So I was able to figure out the issue with the bullet aligning with the cannon and polished ED-209's graphics a bit.  Thanks again sics for the suggestion to use the background color.  :beer: 




Good times create weak men, weak men create hard times.  Hard times create strong men, strong men create good times...

Flaviogames

another interesting project for nes, I love this 8bit and I think this type of project is incredible

sics

Remarkable progress I love everything you've done so far, the other day I had a chance to try the hack and I really liked it, except the boss that had kidnapped the girl, although I ended up passing I could not understand what was the pattern to follow to hurt her, so it was a very long and boring fight, but it definitely feels like playing a game of a higher console, congratulations! :beer:
Linktree  | Better a small finished project than a thousand giant ideas stuck in your system.

SomeOldGuy

#129

Thanks Flaviogames, I love seeing all the 8-bit projects too.  The new Simpsons arcade port is pretty amazing.  :o

Hey sics!  If I only I knew how to code.  There is a lot about this game I would change if I could... one day I'll have the time to learn 6502.  ;)  I'm glad you like the changes and if you have any suggestions graphics wise, I'm all ears.  ;D   

Quick Curly, we did it!  Robocop would be proud! 


It took a bit of Curly's expert knowledge and a lot of my trial and error but this screen finally looks the way it should have 30 some years ago (IMHO!).  Anyway, to get to this point, as before, there's another set of sprites that the game forces to use the same attribute byte.  I'm guessing this is what you were alluding to, Curly, in your previous post.  Luckily, for this scene, I only needed to use one sprite from the set, for the bad guy's hand, so I set the appropriate byte (0x0196a9) to use the flesh color palette.  I'll go back later and try to figure out how to undo the original programming and maybe utilize the remaining sprites, but for now, problem one solved.   ;D 

The next challenge was to stop said hand from moving up and down.  The Y-Axis for this sprite is set to 4F.  Looking at NES memory in FCEUX, I could see the sprite's Y-Axis changing from 4F to 51.  My first thought was to use the code/data logger, search for a highlighted 51, change it to 4F, and call it a day.  No such luck.  So, at this point I opened the debugger in FCEUX  and stumbled across the following code. 



I figured 4F + 2 = 51 so I NOP'd 65 and 49 disabling the ADC op code.  That seems to work, no more moving sprite.  If anybody would care to explain why this works, that would be awesome.   ;D

I was also able to fix the muzzle flash animation.  It's a spoiler cause the animation is on an infinite loop and I don't want any of y'all having a seizure.  You have been warned.   ;D

Spoiler
[close]
[/font]
Good times create weak men, weak men create hard times.  Hard times create strong men, strong men create good times...

Flaviogames

SomeOldGuy: I don't know about this Simpsons arcade, is it for nes 8 bit? do you have the link?

Supergamerguy

Quote from: Flaviogames on June 02, 2021, 08:53:56 PM
SomeOldGuy: I don't know about this Simpsons arcade, is it for nes 8 bit? do you have the link?

I would also like to know what this is all about. I tried to find any mention of it on Google yesterday and came up empty.
Mega Man 7 > 3 > 2 > 9 > Wily Wars > 10 > V(GB) > 5 > 6 > 4 > Powered Up > 1 > The Power Fighters > The Power Battle > IV(GB) > III(GB) > II(GB) > Dr. Wily's Revenge(GB) > 8 > Mega Man and Bass > Mega Man (Game Gear) > Mega Man and Bass - Challengers from the Future

Fray

Quote from: Supergamerguy on June 03, 2021, 08:12:55 AM
I would also like to know what this is all about. I tried to find any mention of it on Google yesterday and came up empty.


I think, even if this is a little off topic, maybe you're talking about this project: https://twitter.com/bitinkstudios

Supergamerguy

Quote from: Fray on June 03, 2021, 02:02:58 PM

I think, even if this is a little off topic, maybe you're talking about this project: https://twitter.com/bitinkstudios

"We will follow [his] career with great interest."

Thanks for sharing this! I'll keep up with the updates from now on. :thumbsup:
Mega Man 7 > 3 > 2 > 9 > Wily Wars > 10 > V(GB) > 5 > 6 > 4 > Powered Up > 1 > The Power Fighters > The Power Battle > IV(GB) > III(GB) > II(GB) > Dr. Wily's Revenge(GB) > 8 > Mega Man and Bass > Mega Man (Game Gear) > Mega Man and Bass - Challengers from the Future

SomeOldGuy

Yep, that's it.  Pretty cool, huh?  Nesrocks does great work!  ;D
Good times create weak men, weak men create hard times.  Hard times create strong men, strong men create good times...

Satoshi_Matrix

I can only hope that in the future, you tackle the other two Robocop NES games as well. Ocean games were.....not that great, but I think anyone this passionate about Robocop could make big improvements to both Robocop 2 and 3 on NES.

SomeOldGuy

HeySatoshi_Matrix, I might just do that if I can ever finish the first one.  :banghead: The biggest challenge is figuring out how to reconfigure ED-209s walking animation in game.

This is how he should look (there will be a cannon, for now use your imagination).  ;D



Good times create weak men, weak men create hard times.  Hard times create strong men, strong men create good times...

Flaviogames


Satoshi_Matrix

Quote from: SomeOldGuy on June 11, 2021, 05:50:21 PM
HeySatoshi_Matrix, I might just do that if I can ever finish the first one.  :banghead: The biggest challenge is figuring out how to reconfigure ED-209s walking animation in game.

This is how he should look (there will be a cannon, for now use your imagination).  ;D



It's funny how the limited frames of the NES makes even the NES ED-209 look stop-motion.

SomeOldGuy

Flaviogames, not "if" but "when!"  ;D

Satoshi_Matrix, hmmm, never thought of it like that.  I guess without motion blur it does look a bit like stop motion animation.

So, been trying to fix the height of the bullet when Robocop is firing at enemies while kneeling and, once again, could use some guidance.   

I set a break point at 0x000224 but am having trouble finding the value 86 in PRG ROM.  The break point stops the debugger at 03C054 and from what I can tell, its saying store the value, 86, at the location $0200, X (24) or $0224, which is the location of my break point.  Am I missing something here?  Would any of y'all know how I can find the elusive 86 so I can change it?  ;D 

Good times create weak men, weak men create hard times.  Hard times create strong men, strong men create good times...