pmeth

Player stats/abilities for Bad News Baseball

51 posts in this topic

Hey Guys,

I'm new around here so not sure if you talk about Bad News Baseball at all. Someone asked me to build an editor for it so he could change player names, abilities, stats, etc.

I was able to figure out player names and several of the stats from looking at the hex, but there are a few things I couldn't find.

I was wondering if someone has a listing of what all the stats/abilities are and where to find them in the ROM.

Thanks

Share this post


Link to post
Share on other sites

Bad News Baseball doesn't get much love around here. I used to have a doc somewhere with more info.

What do you have?

What are you looking for?

I'll see what I can dig up.

Share this post


Link to post
Share on other sites

Bad News Baseball doesn't get much love around here. I used to have a doc somewhere with more info.

What do you have?

What are you looking for?

I'll see what I can dig up.

Looks like the batters start at 0x411B and each batter is 16 bytes. The breakdown for each nibble I could figure out so far is:

0-11: Player Name (1 byte for each character)

12: Blank

13-15: Unknown

16: Arm Strength (Gets 1 added to it)

17: Running Ability (Gets divided by 2 and 1 gets added to it)

18: Catching Ability (0-3="-", 4-7="C", 8-B="B", C-F="A")

19: 2nd Base Ability (0-3="-", 4-7="C", 8-B="B", C-F="A")

20: Shortstop Ability (0-3="-", 4-7="C", 8-B="B", C-F="A")

21: Outfield Ability (0-3="-", 4-7="C", 8-B="B", C-F="A")

22-23: Unknown

24-27: Batting Average (26-27 is the first number, 24-25 is the last 2 numbers)

28-29: Homeruns

30-31: Blank

So, I couldn't figure out where 1st & 3rd base abilities are or what the unknown fields are from above. It seems logical that 2 of those unknown fields would somehow be for 1st & 3rd but I the numbers didn't add up so I'm not too sure how that works. I'm also guessing the batting ability is recorded someplace unless it is somehow figured out from the average and homeruns.

I haven't looked at pitchers data yet.

Edited by pmeth

Share this post


Link to post
Share on other sites

I know in Baseball Simulator, the Byte adjacent to the name controls both what position the player plays as well as how they bat/throw. I've looked in the Bad News Baseball rom; $4126 is #$0A; $4146 is #$07 and $4166 is #$19. It looks like the first bit of each corresponding byte is either a 1 or a 0, suggesting it may be throwing arm. I'll investigate a bit more when i get some time.


 


Disregard this message; its wrong.


Edited by keithisgood

Share this post


Link to post
Share on other sites

Disregard my previous message. I was confusing bits and bytes. I've taken a better look at the hex and what I found corresponds (for the most part) with what you found. All the Examples come from the San Francisco team


 


 


It looks like the 1st 6 bytes are player name.


 


Byte 7 relates to a players fielding position: all pitchers have 01. Will and T.J. get #$02 and they're both catchers. Steve gets a #$08 and he's center field, and George gets #$09 and he's Right field, so I'm pretty confident on this one.


 


Byte 8 seems like some sort of power modifier. Edward and Bobby, both homerun hitters, have high values (#$DC and #$BB); where lesser hitters like Jerry and T.J. have very low values (#$23 and #$22)


 


Byte 9 is indeed 1 bit for Arm strength and 1 bit for Running speed.


 


Byte 10 controls a player's infieild ability. Bit 1 controls Catching and 1st Base. Bit 2 controls 2nd base and 3rd base ability. Certain values in each bit give ability to just one position, while other values in the bit give ability to both positions. You'll have to play around with it to get the exact values.


 


Byte 11 is split, the first bit being Shortstop and the second bit being Outfield. 


 


Byte 12 I am still uncertain of. There doesn't seem to be any correlation between a hitters' style and the value here. I tried swapping out various values and batting with Steve, but I didn't notice any changes. Other baseball games use a bit or byte to subtract from a hitter's power when they don't hit the ball cleanly. Perhaps that's the use of byte 12? I'm unsure.


 


The rest you have spot on.


 


The only other thing I can think of is that I can't seem to find a player's batting/throwing arm in the hex. Steve bats left and Don bats right, but I couldn't make Steve switch to the other side of the plate for the life of me. 


 


Hope that helps.


Share this post


Link to post
Share on other sites

keithisgood, excellent information, this opens up a lot of possibilities.  I have also tried to find the pitching stats, but they seem to be stored elsewhere.  If you get a chance to look around for them, let me know what you find.


Share this post


Link to post
Share on other sites

I can't for the life of me track down pitching data.  Any ideas based on how it's stored in other baseball games?  It's definitely in another section, but not related to the name of the pitcher (you can't just find the pitcher's name again elsewhere in the rom).


Share this post


Link to post
Share on other sites

Here is a rom if people need it.


This rom has the Girls hack applied


At the Title screen, if you hit the "Select" button, your icon will turn into a heart and the girls team will be activated.


 


If I'm following correctly, the names are mapped to PPU 


 


9fb9ea93c9.png


 


 


13 14 05 16 05 00 = S T E V E _ 


 


The last player is located at 5F0A - Toronto Pitcher "BECKY"


 


 


BTW...I have zero idea how this game actually works


Bad News Baseball (U).nes

Share this post


Link to post
Share on other sites

I don't think anyone has found ERA info yet.


Unsurprisingly, it's under the player data


 


f4d7864e7f.png


 


BTW, the blue indicates that this is data accessed on pulling up this screen. You can make this happen with the Code Data logger in FCEUX


 It would make sense the other blue items are also pitching attributes.  I'm done for today...hope this gets someone else jump started.


Share this post


Link to post
Share on other sites

Heyo, checking in here...


 


In every baseball game I've worked with thusfar, ERA is stored as two bytes IN REVERSE ORDER. For example, the number 335 translated to hex would be 163. The two bytes for a 3.35 ERA are usually (usually!) stored in rom memory as 63 01. I haven't dug into Bad news baseball to double check, so I'm not 100 percent certain this is the case here. Hope that helps.


Share this post


Link to post
Share on other sites

Heyo, checking in here...

 

In every baseball game I've worked with thusfar, ERA is stored as two bytes IN REVERSE ORDER. For example, the number 335 translated to hex would be 163. The two bytes for a 3.35 ERA are usually (usually!) stored in rom memory as 63 01. I haven't dug into Bad news baseball to double check, so I'm not 100 percent certain this is the case here. Hope that helps.

 

I'm pretty sure my post clearly indicates that the ERA display is stored in decimal format immediately after the batting attributes.  Really the only question is what are the other attributes stored here.

I wonder if Tecmo took the time to code two baseball games in 1989 or if this one was put together by a different company. I don't recall the internals of Tecmo Baseball to verify the theory that it would be tough for one company to put together two games like this in a year.

Share this post


Link to post
Share on other sites

I don't know exactly what T, STamina? and RLF stand for, but these are also controlled here


 


Here are the pitching attributes for San Fran


 


B7 67 F3 15 01 B4 AB E3 36 02 92 DA C3 58 03 92 19 D3 72 02 58 62 D2 85 03 38 E3 E1 99 02


 


 


d4b32261ab.png


 


1st Byte


 


First bit - Stamina and Pitching Arm


0 or 1 = 60


2 or 3 = 80


4 or 5 = 100


6 or 7 = 170


8 or 9 = 190


A or B = 210


C or D = 230


E or F = 250


 


Even Number = Right handed 


Odd Number = Left Handed


 


Second Bit - T


0, 4, 8, C  = RO


1, 5, 9, D = RS


2, 6, A, E = LO


3, 7, B, F = LS


 


If I knew what T meant, I might know why there are 4 different versions.


 


2nd Byte


RLF


 


3rd and 4th Byte


 


1st Bit - ??


 


2-4th Bit - ERA


 


5th Byte


??


 


Do the pitchers have various throwing styles? That might be one of these attributes.


Share this post


Link to post
Share on other sites

The only other thing I can think of is that I can't seem to find a player's batting/throwing arm in the hex. Steve bats left and Don bats right, but I couldn't make Steve switch to the other side of the plate for the life of me. 

 

If it's like pitching, then it's possible it's an odd/even thing somewhere

Share this post


Link to post
Share on other sites

RLF makes me think of right curve, left curve, and forkball. Baseball Simulator 1.000 had these attributes separate.


Edited by joelcsuh

Share this post


Link to post
Share on other sites

Knobbe, brilliant!  Thanks so much!  I'll start taking a look at this.  The 'T' is just for STamina (my patched version spells the word out to avoid confusion).  RLF is indeed Right, Left, Forkball.  I've always felt the forkball was cheap as you can't know whether it's a slow pitch that you can hit or a forkball that you can't (unless someone knows something I don't).


 


I have a 'night-mode' version of this game that darkens the colors of the field and sky which makes playing the game on modern bright televisions much more bearable.  I've also changed some team logos and colors to improve them.  Most importantly I've optimized the lineups for each team, making the default lineup better than the original without modifying player data.  This was always annoying to me as there are obvious roster changes I'd have to make every time I played.  Now it's setup with the best players, in a logical batting order.  I've made other tweaks to colors, icons, etc.


 


With this input, I think we've mapped almost all the player data.  Only data I still can't find is batter's handedness (R or L) and what makes a player an 'all-star' on the default all-star rosters.


 


 


Also, 'T' stands for 'throws'.  The four styles are Righty-Overhand, Lefty-Overhand, Righty-Sidearm, Lefty-Sidearm.


Edited by wilef

Share this post


Link to post
Share on other sites
3rd bit = Right Curve / Forkball (with 4th bit acting as a modifier, and 'x' meaning N/A or can't throw a Forkball)

0 = 0 / x (if 4th bit is 0-7)

0 = 1 / x (if 4th bit is 8-f)

1 = 2 / x (if 4th bit is 0-7)

1 = 3 / x (if 4th bit is 8-f)

2 = 4 / x (if 4th bit is 0-7)

2 = 5 / x (if 4th bit is 8-f)

3 = 6 / x (if 4th bit is 0-7)

3 = 7 / x (if 4th bit is 8-f)

4 = 0 / c (if 4th bit is 0-7)

4 = 1 / c (if 4th bit is 8-f)

5 = 2 / c (if 4th bit is 0-7)

5 = 3 / c (if 4th bit is 8-f)

6 = 4 / c (if 4th bit is 0-7)

6 = 5 / c (if 4th bit is 8-f)

7 = 6 / c (if 4th bit is 0-7)

7 = 7 / c (if 4th bit is 8-f)

8 = 0 / b (if 4th bit is 0-7)

8 = 1 / b (if 4th bit is 8-f)

9 = 2 / b (if 4th bit is 0-7)

9 = 3 / b (if 4th bit is 8-f)

a = 4 / b (if 4th bit is 0-7)

a = 5 / b (if 4th bit is 8-f)

b = 6 / b (if 4th bit is 0-7)

b = 7 / b (if 4th bit is 8-f)

c = 0 / a (if 4th bit is 0-7)

c = 1 / a (if 4th bit is 8-f)

d = 2 / a (if 4th bit is 0-7)

d = 3 / a (if 4th bit is 8-f)

e = 4 / a (if 4th bit is 0-7)

e = 5 / a (if 4th bit is 8-f)

f = 6 / a (if 4th bit is 0-7)

f = 7 / a (if 4th bit is 8-f)

 


4th bit is Left Curve:


 


0,8 = N/A (this doesn't exist in the game but if you change the bit to 0 or 8 you get an N/A for the curve, though it seems to be the same as a '1' curve in reality)


1,9 = 1


2,a = 2


3,b = 3


4,c = 4


5,d = 5


6,e = 6


7,f = 7


 


So the best a pitcher can have theoretically is a 'FF' byte which is 7/7/A.


Edited by wilef

Share this post


Link to post
Share on other sites

Is anything still happening with this? Spending a lot more time with this now that I re-aquired an actual nes console. Would love to play an updated version on the comp.  Thanks.


 


 


Share this post


Link to post
Share on other sites

mack8, with this new information, I've toyed with a couple player stats to see what would happen.  Haven't done anything too extensively, but for instance, giving a player an AVG of .999 and HRs of 99 does not mean they will always gets hits or HRs.  I'm not sure what to do with the stats as of yet, but a few ideas I had:


 


1. Give all pitchers more stamina (It's very easy to run low on pitching in a single game despite the fact that you're supposed to have 3-4 starters and 2-3 relievers on a roster).


2. Remove Forkball ability altogether (It's a cheap pitch that is unhittable and indistinguishable from a changeup)


3. Lower running ability (Runners with an 8 running will always beat a catcher with an 8 arm to second base, meaning free bases guaranteed)


4. Create a version with real player names/stats/abilities


 


If you're interested in my latest version of Night-Mode, I'll send it over, just PM me your email.  I've updated quite a bit in the game including uniform colors, team logos, text fixes, and of course darkening the field of play for a night game.  In my opinion it looks way better than the eye-searing colors of the original NES version.


Share this post


Link to post
Share on other sites

mack8, with this new information, I've toyed with a couple player stats to see what would happen.  Haven't done anything too extensively, but for instance, giving a player an AVG of .999 and HRs of 99 does not mean they will always gets hits or HRs.  I'm not sure what to do with the stats as of yet, but a few ideas I had:

 

1. Give all pitchers more stamina (It's very easy to run low on pitching in a single game despite the fact that you're supposed to have 3-4 starters and 2-3 relievers on a roster).

2. Remove Forkball ability altogether (It's a cheap pitch that is unhittable and indistinguishable from a changeup)

3. Lower running ability (Runners with an 8 running will always beat a catcher with an 8 arm to second base, meaning free bases guaranteed)

4. Create a version with real player names/stats/abilities

 

If you're interested in my latest version of Night-Mode, I'll send it over, just PM me your email.  I've updated quite a bit in the game including uniform colors, team logos, text fixes, and of course darkening the field of play for a night game.  In my opinion it looks way better than the eye-searing colors of the original NES version.

Yo dude! Post your ROM here and I'l get it into the download section.

 

I would love to see it.

Share this post


Link to post
Share on other sites

Sure thing.  I have a few 'forked' versions with varying differences, but my latest version is here.  If anyone tries it, I believe there may be a few cutscenes that still need color changes for grass/dirt/sky.  Each cut scene is rendered differently, so for instance there are multiple scenes for close plays at second (safe/out sliding into second, safe/out going back to second, etc.).  Anyway, would love some feedback on the changes!


 


Sorry if I put the rom in the wrong place, I didn't see a non-football area to put the rom!


Share this post


Link to post
Share on other sites

mack8, 


 


I'd love to see one, but I don't really know the first thing about rom editors.  pmeth, who started this topic talked of making one.  I don't know if he still has interest.  Is there a primer on making rom editors?  Can the Tecmo Super Bowl editor be used as a template for editing any rom if the right mapping was done?


Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now

  • Similar Content

    • By davidjoshualightman
      I've always been amazed by the Tecmo fan community and after many years of enjoying the fruits of your labor, I've been inspired to try hacking a game which I've loved since childhood - Little League Baseball for NES.
       
      I first started hacking this ROM in 2007 but gave up after realizing that the data wasn't as easy to manipulate as I'd first thought.  Basically, I was thrown off by a row of FF's in the ROM which seemed to present the team data in a nice little table, but I was a few rows offset from truly grasping how it was laid out.  I'm back now and have made some great strides, but still need a bit more to make the game as custom as I'd like.  To me, this was always the baseball game I compared to Tecmo Super Bowl.  I realize its similar in style and gameplay to some other more popular NES games such as the Baseball Stars series, but it resonated with me much more for some reason.  The game play is easy to learn but difficult to master, and thanks to the disparity in team abilities and the ruthless nature of the CPU, you can continue to challenge yourself for many games.  It's also super fun as a multiplayer game.
       
      I have posted on the romhacking subreddit already on Reddit, but I am posting here as well, to try and give back to the community and to also see if anyone is interested in collaborating on making this game as customizable as possible.  I've done as much as I can with my limited knowledge of hex editing and by using the FCEUX tools as best as I can, and my progress is starting to stall.
       
      Without further ado, here is all the documentation I've come up with so far on editing the ROM.  I've included some RAM values as well, as I've been trying to use them as a jumping off point for possibly pinpointing some of the data from the ROM that I'm missing.
       
      ---
       
      Little League Baseball: Championship Series
       
      RAM Addresses:
      0x0004F9 - Away Team Pitcher’s Value 4 (see ROM info)
      0x0004FA - Home Team Pitcher’s Value 4 (see ROM info)
      0x0004FB - Away Team Pitcher’s Stamina Remaining (value 2)
      0x0004FC - Home Team Pitcher’s Stamina Remaining (value 2)
      0x0004FD - Away Team Pitcher’s position in the lineup (00 thru 08)
      0x0004FE - Home Team Pitcher’s position in the lineup (00 thru 08)
       
      ROM Addresses:
      0x010430 to 0x01054F - Japan’s team player information
      0x010550 to 0x01066F - Arizona’s team player info
      etc.
       
      You can follow this pattern to get all the team’s player information.  As far as I can tell so far, the teams are always listed in the same order in the ROM.
       
      Team order in the ROM:
      JAPAN, ARIZONA, PENNSYLVANIA, CHINESE TAIPEI, KOREA, NEW YORK, CALIFORNIA, TEXAS, HAWAII, SPAIN, PUERTO RICO, MEXICO, CANADA, ITALY, ILLINOIS, FLORIDA
       
      Player information guide - 
      Each player’s information is on a single line of 16 hex characters as follows
      1 thru 6 - Player’s name
      7 - Player type (batting handedness and size) This is always 00, 01, 02, 80, 81, 82.  First digit of 0 is Right handed, first digit of 8 is left handed.  Second digit of 0 is tall, 1 is fat, 2 is short.
      8 - always FF
      9 - Unknown to me at this time, possible has to do with helping the CPU choose subs
      10 - Hitting power (00 is low and DF is highest in the game, but I assume that it goes up to FF in theory)
      11 - Some sort of player speed.  This goes from 00 low to FF high.  It DEFINITELY corresponds to baserunning speed and it has some sort of relationship with the player’s defensive skills but I’m not sure to what extent.
      12 - the player’s printed Skill ability when they’re up to bat.  00 to 04 being Skill 1 thru Skill 5.  Strangely, PARK on team KOREA is a 07, but I have no idea if this actually affects hitting ability.
      13 - This designates the team’s pitchers.  Each team has 3 pitcher types per team, but you can assign as many pitchers per team as you want.  The values are always 08, 10, 18, or 00 (not a pitcher).  This corresponds to values I will go over later on, it does not have any known effect on the pitcher’s ability or style.
      14 - Always 00
      15 - Always 00, 02, 03, 04.  I don’t have data to back this up, but I believe it is some sort of batting ability / power multiplier because it typically is given to players in the “meat” of the lineup.
      16 - always 00

      Pitcher information - each team’s pitcher information is found in the two rows of 16 values found AFTER the row of FF’s that follow each team.  Each pitcher appears to have 8 values attached to them, with the first starting at the 9th value on the 1st line, the second at the 1st value on the 2nd line, etc.  So, any pitcher marked on your lineup (above) as 08 on your roster will have the same attributes as the first, any pitcher marked as 10 will have the same attributes as the 2nd, and 18 would be your final pitcher definition.
       
      The eight values for pitchers are as follows:
      1 - This is always either 00, 01, 02, 80, 81, or 82.  Just as your batters, the first digit is right or left handed, and the second digit is normal throw, hard throw, or side arm delivery.
      2 - This value is tied to stamina, but there is some sort of calculation happening in the background.  You’ll notice that a value of FF for instance does not equal FF in the stamina RAM addresses I provided above.  FF appears to be the highest you can set, but you can manually change the RAM to allow for a greater stamina than the game allows.  Stamina in this game is very interesting because it appears to be based mostly on the length of time you attempt to control a pitch, with a longer press taking away more stamina until your pitcher has 0 remaining… at which point I assume your pitcher’s overall ability to throw is based on their other stats… which brings us to… their other stats.
      3 - This value is unknown to me.  It must be a good thing for a pitcher to have a higher rating, as Italy has the lowest values, but I’m not skilled enough at ROM hacking to figure it out.  
      4 - Again, this is unknown to me.  The values only range from 02 to 0F.  Still need to figure this one out.
      5 - always 00
      6 - always 00
      7 - this is the pitcher’s printed Skill Level when they’re on the mound.  I do not know what (if any) correlation it has to their stats.
      8 - Always 00 or 02.  On assumption only, I’m guessing this MIGHT be some sort of multiplier in the same way that value 15 appears to be in the above player data.
       
      Other data:
      Lines 0x01FAD0 and 0x01FAE0 - these are the colors each team wears both on the field and in the bat throwing cut scene.  There are two colors for each team and they follow the team order as shown above.
       
      Starting at address 0x0116DA and continuing until 0x011769 are the starting positions for each player in your lineup, following the team order mentioned above.  So, for instance, Japan is 08 16 29 31 42 57 65 73 84.  The first digit is the order in the line up (0 thru 8 aka 1 thru 9) and the second digit is their position on the field.  The position numbers follow normal baseball scoring numbering… so 1 is pitcher, 2 is catcher, 3 is first base, etc.
       
      Starting at address 0x01176a is the FLAG data for each team, for the flag that appears on the team select screen, in the team order we’ve come to know and love.  48 is USA, the others you can figure out by just writing them out.
       
      Team names and abbreviations are fairly easy to find.  I haven’t mapped out specifically which correlates with each screen yet, as that will be the easy part once this is all done.  Also, I am pretty sure that the sliding bars on the POWER ANALYSIS screen are controlled by the values starting at 0x00F234, in team order.
       
      What I feel is missing to make a truly custom version of this game:
      If you grew up loving this game like I did, you probably know the in’s and out’s of a lot of the teams, even without having the ROM available to look at the player stats… BUT I feel that I cannot truly customize this game without knowing the following - and I’m listing them in their order of importance.

      1 Defensive abilities - is throwing speed variable or team/player dependent?  Is the baserunning attribute the only thing that controls speed in the field?
      2 The unknown pitching stats need to be concretely defined although it IS amazing to be able to make a whole team of sidearm pitchers finally!
      3 Changing team locations on the map - somewhat of a dream at this point, but probably not out of the question.
      4 Other color and text changes - maybe changes to certain screens text, player hair color is clearly tied to each team in some way, etc.
       
      --- 
    • By whimworks
      I have a question for everyone/anyone. Don't want to sound like that annoying nagging person that always expects people to hack and/or update roms. Is it possible to update Ken Griffey Jr. Baseball on SNES?
       
      I've seen some roster updates and have even played around with the KGB editor myself. But I was wondering if it would be possible to not only update rosters but also team logos, uniforms, etc. Also would it be possible to add in Arizona and Tampa Bay? Baseball is my favorite sport and this is my favorite baseball game of all time. Having a true update would be a dream come true for me.
       
      Would love to to learn how to do this if it's possible but just not sure where to start. Any advice, info or words of wisdom would be much appreciated.
       
      Thank you.
    • By TecmoSuperFan
      I recently got back into this on the Genesis and was wondering if there were any other fans of this or the other WSB titles on the Sega around. I was debating doing a season with trades
    • By Baron von Lector


      View File RBI Negro League Baseball 1943
      Taking a break from the RBI Baseball re-releases, here is a new ROM that showcases Negro League Baseball from 1943.
       
      The teams featured on the ROM are the Homestead Grays, New York Cubans, Baltimore Elite Giants, New York Black Yankees, Newark Eagles, Cleveland Buckeyes, Chicago American Giants, Cincinnati Clowns, Memphis Red Sox, and the Kansas City Monarchs.
       
      Legends and Hall of Famers featured in the ROM include Satchel Paige, Josh Gray, Cool Papa Bell, Buck Leonard, Larry Doby, and Buck O'Neil.
      Submitter Baron von Lector Submitted 01/19/2016 Category RBI Baseball
    • By Baron von Lector
      Taking a break from the RBI Baseball re-releases, here is a new ROM that showcases Negro League Baseball from 1943.
       
      The teams featured on the ROM are the Homestead Grays, New York Cubans, Baltimore Elite Giants, New York Black Yankees, Newark Eagles, Cleveland Buckeyes, Chicago American Giants, Cincinnati Clowns, Memphis Red Sox, and the Kansas City Monarchs.
       
      Legends and Hall of Famers featured in the ROM include Satchel Paige, Josh Gray, Cool Papa Bell, Buck Leonard, Larry Doby, and Buck O'Neil.
  • Recently Browsing   0 members

    No registered users viewing this page.