All numbers in this document are hexadecimal unless noted otherwise.
If using the "overstuffed" ROM, add 10000 (hex!) to these offsets.
0010-0A0F: Batter and pitcher data
==================================
10 teams, numbered 00 (default California) through 09 (default National)
100 bytes of data per team
- team 00 at 0010-010F
- team 01 at 0110-020F
...
- team 09 at 0910-0A0F
16 players per team, numbered 00-0F:
- Starting batters numbered 00-08
- "Bench" batters numbered 09-0B
- Starting pitchers numbered 0C-0D
- Relief pitchers numbered 0E-0F
Formula to find the offset of a player:
(team number * 100) + (player number * 10) + 10
Batter data stored in the following format:
- 00: player number (00-0B)
- 01-06: player name (see "text string conversion" at end of document)
- 07: R/L handed (00=R, 01=L)
- 08: batting average (actual in decimal * 100d - 150d), to hex
- 09: home runs
- 0A: contact
- 0B-0C: power (2 bytes, high/low bytes reversed)
- 0D: speed
- 0E-0F: 00 in both locations
Pitcher data stored in the following format:
- 00: player number (0C-0F)
- 01-06: player name (see "text string conversion" at end of document)
- 07: left nibble= sinker ability
right nibble= R/L handed (00=R, 01=L), +02 for sidearm pitchers
- 08: ERA (actual in decimal * 100d - 100d), to hex
- 09: sinker speed
- 0A: curve speed
- 0B: fastball speed
- 0C: left nibble= curve ability towards left side of screen
right nibble= curve ability towards right side of screen
- 0D: stamina
- 0E: "Unknown" 1
- 0F: "Unknown" 2
2F37-315C (various bytes): Various text strings
===============================================
See "text string conversion" at end of document
Note that in the defaults below, "@" represents the copyright symbol. I'm much
too lazy to figure out how to type those into my text editor.
- 2F37-2F48: default "@ 1987 NAMCO LTD."
- 2F4B-2F62: default "TM & @ 1987 ATARI GAMES"
- 2F68-2F73: default "licensed by"
- 2F76-2F8E: default "Nintendo of America Inc."
- 3143-315C: default "10 TEAMS OF TENGEN LEAGUE"
31BB-31D8: Player palette data
==============================
3 bytes of data stored for each team (numbered 00-09)
- 31BB-31BD: team 00
- 31BE-31C0: team 01
...
- 31D6-31D8: team 09
First byte: palette color used for helmet, bat, parts of uniform
Second byte: palette color used for skin color
Third byte: palette color used for most of uniform
32C4-3313: "End of game" newspaper headline team names
======================================================
8 bytes per team
- 32C4-320B: team 00
- 320C-3303: team 01
...
- 330C-3313: team 09
Capital letters, the space, and the period can be used
- 40: A
- 44: B
...
- A4: Z
- A8: space
- D4: period
9EB8-9ED5: Player palette data
==============================
You'll probably want to mirror the data from 31BB-31D8 here. The two palettes
are used at different times during gameplay.
AED4: Pinch hitter bonus
========================
This number is added to the power of a pinch hitter on their first at bat
- AED4: pinch hitter bonus (default 40)
B3C2-B3DF (various bytes): generic pitcher batting data
=======================================================
- B3C2: batting average (default 00)
- B3C8: home runs (default 00)
- B3CE: contact (default 40)
- B3D4: right byte of power (default 80)
- B3DB: left byte of power (default 02)
- B3DF: speed (default 78)
F779-F7FF (various bytes): "Attract mode" team names
====================================================
See "text string conversion" at end of document
- F779-F783: team 00 (default "California")
- F786-F78C: team 01 (default "Boston")
- F795-F79C: team 02 (default "Detroit")
- F79F-F7A8: team 03 (default "Minnesota")
- F7B1-F7B8: team 04 (default "Houston")
- F7BB-F7C3: team 05 (default "New York")
- F7CC-F7D4: team 06 (default "St.Louis")
- F7D7-F7E4: team 07 (default "San Francisco")
- F7ED-F7F5: team 08 (default "American")
- F7F8-F800: team 09 (default "National")
Text string conversion
======================
All text strings in the game (except for end-of-game newspaper headline
strings) are stored in the following format:
- 00-09: "0" - "9"
- 0A-23: "A" - "Z"
- 24: space
- 25: period
- 27: copyright symbol
- 28-41: "a" - "z"
- 5D: ampersand
- 5E: quotation mark
- 5F: apostrophe
This is not a complete list, and as two entirely separate character tile sets
are used, some characters are not always available. I really ought to bring
up Tile Layer and define those ...
Number of runs for a called game
0xB561
0xB5A1
00009F53 - 00009F6E The outfield of the wall.
00009F6F - 00009F8A The infield of the wall.
0000E9A9 The outfield of the wall. (Flat part)
0000E9D5 The infield of the wall. (Flat part)
0000EA2E - 0000EA31 The height of the outfield wall.
0000EA32 - 0000EA36 The height of the infield wall?
0xDA92 - error values start
0x00009C61 - start of BEANBALL text
0x0000F872 - credits screen
0x00009B40 - team select tengen league
0x00003143 - start 10 teams of tengen league (attract screen)