Quote from: Beastmode on 09/21/25, 10:05:40 PMOk so just to be sure, you want me to help you with extending the player names with the patch u put in the first post that you cant access but has instructions?
Quote from: ProfessorW on 09/18/25, 12:35:46 PMThis is the layout of the ROM (included in the zip, alongside patch for the WIP translation) according to my notes:
Player Data
Starts at $10
16 bytes per player
BOTH BATTER AND PITCHER
Byte 0 - numPlayer
Byte 1 to 4 - Name
BATTER
Byte 5 - Bats (0 R, 1 L)
Byte 6 - Batting Average - 150
Byte 7 - Homeruns
Byte 8 - Contact
Byte 9 - 2nd byte of power
Byte A - 1st byte of power (ie, if $19 = B8, and $1A = 02, it should be read as x2B8)
Byte B - Speed
PITCHER
Byte 5 - Throws (values 0 to 3)
00 - Right Over
01 - Left Over
02 - Right SideArm
03 - Left SideArm
Byte 6 - ERA * 10
Byte 7 - Sink Speed
Byte 8 - Curve Speed
Byte 9 - Fastball
Byte A - Curve Right
Byte B - Curve Left
Byte C - Sink Skill
Byte D - Stamina
TEXT AT INTRO SCREEN
Copyright: $2F51 (17 bytes)
License: $2F65 (19 bytes)
Teams: $30EA (24 bytes)
TEAM INFO
NAME: 1 byte, starts at $B058, 10 continuous bytes.
COLORS
Two Sections:
SECTION 1: Starts at $3239, 3 bytes per team
Byte 1 - Cap
Byte 2 - Skin
Byte 3 - Uniform
SECTION 2: Starts at $9E76, 4 bytes per team
Bytes 1-3: same as above
Byte 4: Color of public when team is playing, look at screenshot in the post
*** TILES, not direct data.
LOGOS (Used in Scoreboard)
Even when there is one letter, it uses two sprites
Team G (1): $11818 (Letter 1), $11838 (Letter 2)
Team L (2): $11858 (Letter 1), $11878 (Letter 2)
Team R (3): $11898 (Letter 1), $118B8 (Letter 2)
Team C (4): $118D8 (Letter 1), $118F8 (Letter 2)
Team T (5): $11918 (Letter 1), $11938 (Letter 2)
Team F (6): $11958 (Letter 1), $11978 (Letter 2)
Team W (7): $11998 (Letter 1), $119B8 (Letter 2)
Team D (: $119D8 (Letter 1), $119F8 (Letter 2)
Team S (9): $11828 (Letter 1), $11848 (Letter 2)
Team N (10): $11868 (Letter 1), $11888 (Letter 2)
Also in these places
Team G (1): $150B8
Team L (2): $150C8
Team R (3): $150F8
Team C (4): $15108
Team T (5): $15138
Team F (6): $15148
Team W (7): $15178
Team D (: $15188
Team S (9): $151B8
Team N (10): $151C8
LOGOS in NEWSPAPER at end of match
Even when there is one letter, it uses two sprites
Team G (1): $10C10 (Letter 1), $10C30 (Letter 2)
Team L (2): $10C50 (Letter 1), $10C70 (Letter 2)
Team R (3): $10C90 (Letter 1), $10CB0 (Letter 2)
Team C (4): $10CD0 (Letter 1), $10CF0 (Letter 2)
Team T (5): $10D10 (Letter 1), $10D30 (Letter 2)
Team F (6): $10D50 (Letter 1), $10D70 (Letter 2)
Team W (7): $10D90 (Letter 1), $10DB0 (Letter 2)
Team D (: $10DD0 (Letter 1), $10DF0 (Letter 2)
Team S (9): $10E10 (Letter 1), $10E30 (Letter 2)
Team N (10): $10E50 (Letter 1), $10E70 (Letter 2)
Hope it helps.
Quote from: Gantry on 09/19/25, 01:19:46 PMI'm pretty sure I wrote/modified the code for the second player pause in US RBI, but I don't remember any details. I doubt I have any files on it, unless I made a forum post with the specifics.
Didn't notice I used the full patched version for the screenshot, but it's fine, because I can explain how I handled romanizing the kanji.
Quote from: ProfessorW on 09/18/25, 03:37:58 PMI forgot. The IP Patches I mentioned were downloaded from this site (use Google Translate)
http://www.ttttom.website/Mayuemp/Famista/Patch/Patch.html
Basically are zips with a lot of IPS patches, including a README in japanese. The description of some patches in the README did not make too much sense to me, but probably the same README file was used in all the packs for all the different FamSta games.
@NoroNoro, I was more interested in what the README says for some of the patches, that was I tried to wrote in the previous post.
Many of them break the game, but a couple of them are interesting: DH, Uniform_94 (including screenshot of this one when applied to the game). I want to test the 2P one, which if I understood the file, allows second player to pause the game.
Quote from: NoroNoro on 09/19/25, 11:57:16 PMI also use patches from this person (Mayutch) to edit and play with Famista '93. I haven't really worked with the first Famista.
I think 2PTime.ips should work as well. (However, since it's the type of patch that writes a subroutine into a free area, it may break if another patch overlaps that area. In that case, you just need to relocate the address.)
About enabling "Time Call" with the second controller
1. Find the routine that checks controller 1's input address $0B for the value #$10 (Start button), and identify the time-call check
2. Turn that time-call check into a new subroutine and branch to it
3. In the new subroutine, reuse the controller 1 check, and also check controller 2's $0C. If either is pressed, jump to the original time-call routine and then return
First Famista
=============
(before)
A5 0B LDA $0B
29 10 AND #$10
D0 06 BNE $AAF6
--------
(after)
20 78 EF JSR $EF78 ; jump to a free area (address is up to you)
EA NOP
EA NOP
EA NOP
(new) subroutine (place it at $EF78 or any free area you prefer)
$EF78:
A5 0B LDA $0B
29 10 AND #$10
D0 07 BNE $EF85
A5 0C LDA $0C
29 10 AND #$10
D0 01 BNE $EF85
60 RTS
$EF85:
4C F6 AA JMP $AAF6
->I have updated the code.
-------------------------------------------------------------------------------
私もこの方(Mayutchさん)のパッチを利用させてもらってファミスタ'93を編集して遊んでいます。私は初代ファミスタは使ったことがありません。
2PTime.ipsも動作すると思いますよ。(ただし、空きエリアにサブルーチンを書いているタイプのパッチなので、他のパッチとエリアが被ると壊れる可能性があります。その場合はアドレスを変えてあげれば大丈夫です。)
2コントローラーでの「タイムコール」について
1) 1コントローラの入力アドレスの$0Bの値#$10(スタートボタン)を確認する処理を探し、タイムコール判定を見つける
2) 判明したタイムコール判定を新しくサブルーチン化し、そこにジャンプさせる
3) サブルーチンでは1コントローラーの判定を移植し、2コントローラーの$0Cでも判定し、今までどおりタイムコールサブルーチンへジャンプさせ、サブルーチンから抜ける
初代ファミスタ
==============
(before)
A5 0B LDA $0B
29 10 AND #$10
D0 06 BNE $AAF6
--------
(after)
20 78 EF JSR $EF78 ; 空きエリアにジャンプ(アドレスはお好みで)
EA NOP
EA NOP
EA NOP
(new) subroutine (place it at $EF78 or any free area you prefer)
$EF78:
A5 0B LDA $0B
29 10 AND #$10
D0 07 BNE $EF85
A5 0C LDA $0C
29 10 AND #$10
D0 01 BNE $EF85
60 RTS
$EF85:
4C F6 AA JMP $AAF6
-> コードを修正しました。