News: 11 March 2016 - Forum Rules
Current Moderators - DarkSol, KingMike, MathOnNapkins, Azkadellia, Danke

Author Topic: NES RoboCop with Arcade sprites  (Read 26045 times)

SomeOldGuy

  • Jr. Member
  • **
  • Posts: 62
  • Game Changer
    • View Profile
Re: NES RoboCop with Arcade sprites
« Reply #80 on: August 13, 2020, 10:07:34 pm »
Thanks Xander max  ;D

How's work on your Mighty Street Fighter hack going?  I'm really looking forward to that one!

Been working on Robocop's cutscenes lately.


The original scene from the game has a lot more text compared to mine, so after my text has completed writing to the screen the text sound effect keeps playing.  Does anybody have any advice on how I might be able to fix this? 

Also, does anyone know how to change the duration of time each scene is displayed on screen?

Old Guy

    ;D

Cyneprepou4uk

  • Sr. Member
  • ****
  • Posts: 471
  • I am the baldest romhacker
    • View Profile
Re: NES RoboCop with Arcade sprites
« Reply #81 on: August 13, 2020, 10:15:20 pm »
There should be some control byte at the end of the text to tell the game to stop writting. I presume you just replaced unused text with spaces.

Search for a duration counter in ram and change the value that gets written there. Code can be found with a write breakpoint.
iromhacker.ru - NES ROM hacking tutorials for beginners. Please use Google Translate browser extension

SomeOldGuy

  • Jr. Member
  • **
  • Posts: 62
  • Game Changer
    • View Profile
Re: NES RoboCop with Arcade sprites
« Reply #82 on: August 13, 2020, 11:52:03 pm »
Well, this is the hex for the screen I want to edit.  My game on the left, original on the right.



...and this is what I've been able to figure out so far.

FF – I thought signaled the start of a new screen followed by screen coordinates.  This doesn't seem to be the case though.  For example at 0x00115b – the “Prime Directives” text doesn't show up on it's own screen.

FE - Starts a new line of text, again followed by screen coordinates.

7F - tells the game to stop drawing sprites but I don't see a byte here to stop drawing text.  The last line of text seems to be followed by FF except for the example above.  I tried writing FF at 0x001151 and it didn't do anything, the sound keeps playing.   

I'm not sure what the bytes from 0x000fb7 – 0x000ff9 are.  Duration counter data?
« Last Edit: August 14, 2020, 01:03:42 am by SomeOldGuy »

ShadowOne333

  • Hero Member
  • *****
  • Posts: 1470
    • View Profile
Re: NES RoboCop with Arcade sprites
« Reply #83 on: August 14, 2020, 01:29:07 am »
Are you familiar with pointers and such, SomeOldGuy?

It's neat to see you trying to figure out how the TBL and the control codes work for the game, but for actual new and larger text, you might require reporting the text itself.

If you don't know how, I could try helping out there.

Xander max

  • Jr. Member
  • **
  • Posts: 13
    • View Profile
Re: NES RoboCop with Arcade sprites
« Reply #84 on: August 14, 2020, 12:21:31 pm »
Thanks Xander max  ;D

How's work on your Mighty Street Fighter hack going?  I'm really looking forward to that one!


Old Guy

    ;D

Thank you for your interest!  The Hack is a little slow, it was testing other concepts and working with creativity in an uncompromising way in several hacks at the same time.  Take a look, I did a lot of things but they are all at an early stage. www.youtube.com/channel/UCdGHNhopquBMifjhdNSWQTA

SomeOldGuy

  • Jr. Member
  • **
  • Posts: 62
  • Game Changer
    • View Profile
Re: NES RoboCop with Arcade sprites
« Reply #85 on: August 14, 2020, 01:04:29 pm »
Hey Shadow!

Feel free to correct me, but this is how I understand pointers.



I believe this is what is referred to as a Pointer table ( 0x00E010 – 0x00E0B3).  These are the pointers for all of Robocop's sprites.





A4 80 is the pointer for Robocop's first frame of animation.  80 represents 0x00E0, add 10 to A4 and we get 0x00E0B4

81 = 0x00E1, 82 = 0x00E2, etc.





At 0x00E0B4 we have two more pointers, A8 80 and C9 80.

 



A8 80 ( 0x00E0B8 ) is Robocop facing forward and C9 80 ( 0x00E0D9 ) is Robocop facing backwards.

I'm not sure how pointers for the text work in this game.  Any guidance you could provide would be greatly appreciated.  ;D


Dang Xander! You do have alot going on. That Metal Slug hack looks really cool!  :thumbsup:


ShadowOne333

  • Hero Member
  • *****
  • Posts: 1470
    • View Profile
Re: NES RoboCop with Arcade sprites
« Reply #86 on: August 14, 2020, 07:28:21 pm »
Oh actually you seem to have quite an understanding of pointers already.
Text pointers usually work in a similar way to that.
2 bytes for each text entry (where the text begins)
Simply locate where a certain text is, and what it's starting address is in the ROM.

Then substract 0x10 and convert it to NES address to find the 2 byte pointer.
Pointers are usuallu within the same bank as well.
If you have doubts, post a pic of the TBL loaded and where a certain text you want to relocate is found at, so I can give you a working example.

edwinmusic

  • Jr. Member
  • **
  • Posts: 7
    • View Profile
Re: NES RoboCop with Arcade sprites
« Reply #87 on: August 29, 2020, 08:46:45 am »
Hey Guys!

Working on Level 2!

If y'all want the patch, let me know  ;D  !!!!!



 


AWESOMEEEE! GREST!  O' RE AMAZING SOMEAGUYOLD!   :thumbsup: :D