[GB] Tetris - About "PUSH START" in the 2 players mode

Started by Brutapode89, March 23, 2023, 07:00:58 PM

Previous topic - Next topic

Brutapode89

Hi guys. Please, I would like just translate "PUSH START" in french by writing "APPUIE SUR START". And the translation will be perfectly finished (100%).

Can you just advise me anything? Thanks in advance.

Cyneprepou4uk

What's the difference between this particular text and the other successfully translated text? And what have you tried so fat?

Brutapode89

In fact, I verified the 2 players mode's translation by using the SameBoy core via RetroArch. I used the VBA emulator by going to "Tools" and "Tile Viewer" to verify bytes for letters. But I can't verify bytes for letters of "PUSH START" on VBA, because this emulator can't accept the 2 players mode and I can't even verify these on RetroArch with SameBoy.

Cyneprepou4uk

#3
I'm also not able to select 2 players on bgb and Mednafen emulators. Can't help with that.

There are a couple of translations out there.

Tetris (W) (V1.1) [T+Ger1.00_Kogonking]
Tetris (W) (V1.1) [T+Ger1.00_MovAX]
Tetris (W) (V1.1) [T+Por]

If they have this line modified, you can compare it to the original version in a hex editor and find changes.

And a translation by Wave https://www.romhacking.net/translations/5236/. You can ask him, he is an expert at translating games.

lightbulbsun

Does source code help you? My idea for v1.1 looks like this:
func_copy_b_bytes_from_de_to_hl equ $0725

SECTION "start", ROM0[$00da]
copy_start::
        ld      b, 4*5
        ld      de, sprites_start
        jp      func_copy_b_bytes_from_de_to_hl
sprites_start::
        db      $42, $54, $0e, $00 ; S
        db      $42, $5c, $1d, $00 ; T
        db      $42, $64, $b5, $00 ; A
        db      $42, $6c, $bb, $00 ; R
        db      $42, $74, $1d, $00 ; T

SECTION "appuie_sur", ROM0[$0f33]
copy_appuie_sur::
        call    func_copy_b_bytes_from_de_to_hl
        call    copy_start

SECTION "sprites_appuie_sur", ROM0[$0f3c]
        db      $3a, $40, $b5, $00 ; A
        db      $3a, $48, $0d, $00 ; P
        db      $3a, $50, $0d, $00 ; P
        db      $3a, $58, $b2, $00 ; U
        db      $3a, $60, $2e, $00 ; I
        db      $3a, $68, $b1, $00 ; E
       
        db      $42, $34, $0e, $00 ; S
        db      $42, $3c, $b2, $00 ; U
        db      $42, $44, $bb, $00 ; R

SECTION "number_of_characters", ROM0[$0f66]
        ld      b, 14
There's not enough space for the extra characters, so I put the letters for START towards the start of the ROM where you find a bunch of 0xffs, which are probably free real estate, but could already be used by your hack?
The letters are sprites and you can only have so many sprites next to each other, so I had to split it up into two lines.

wave

Quote from: Cyneprepou4uk on March 24, 2023, 12:49:21 PMI'm also not able to select 2 players on bgb and Mednafen emulators. Can't help with that.

There are a couple of translations out there.

Tetris (W) (V1.1) [T+Ger1.00_Kogonking]
Tetris (W) (V1.1) [T+Ger1.00_MovAX]
Tetris (W) (V1.1) [T+Por]

If they have this line modified, you can compare it to the original version in a hex editor and find changes.

And a translation by Wave https://www.romhacking.net/translations/5236/. You can ask him, he is an expert at translating games.
Thanks but not this time :D
Didn't translate that part, didn't know it existed.
Quote from: Brutapode89 on March 23, 2023, 07:00:58 PMHi guys. Please, I would like just translate "PUSH START" in french by writing "APPUIE SUR START". And the translation will be perfectly finished (100%).

Can you just advise me anything? Thanks in advance.
The tiles for that part are at 55AC and the texts for multiplayer seem to be near F3C.
Seems like I'd have to update mine.

Brutapode89

Quote from: lightbulbsun on March 24, 2023, 02:18:40 PMDoes source code help you? My idea for v1.1 looks like this:
func_copy_b_bytes_from_de_to_hl equ $0725

SECTION "start", ROM0[$00da]
copy_start::
        ld      b, 4*5
        ld      de, sprites_start
        jp      func_copy_b_bytes_from_de_to_hl
sprites_start::
        db      $42, $54, $0e, $00 ; S
        db      $42, $5c, $1d, $00 ; T
        db      $42, $64, $b5, $00 ; A
        db      $42, $6c, $bb, $00 ; R
        db      $42, $74, $1d, $00 ; T

SECTION "appuie_sur", ROM0[$0f33]
copy_appuie_sur::
        call    func_copy_b_bytes_from_de_to_hl
        call    copy_start

SECTION "sprites_appuie_sur", ROM0[$0f3c]
        db      $3a, $40, $b5, $00 ; A
        db      $3a, $48, $0d, $00 ; P
        db      $3a, $50, $0d, $00 ; P
        db      $3a, $58, $b2, $00 ; U
        db      $3a, $60, $2e, $00 ; I
        db      $3a, $68, $b1, $00 ; E
       
        db      $42, $34, $0e, $00 ; S
        db      $42, $3c, $b2, $00 ; U
        db      $42, $44, $bb, $00 ; R

SECTION "number_of_characters", ROM0[$0f66]
        ld      b, 14
There's not enough space for the extra characters, so I put the letters for START towards the start of the ROM where you find a bunch of 0xffs, which are probably free real estate, but could already be used by your hack?
The letters are sprites and you can only have so many sprites next to each other, so I had to split it up into two lines.

After to have copied it on an asm. file, must I use it and the ROM 1.1 with the asar software to it works?

lightbulbsun

I normally use the rgbds assembler for Game Boy games, but I've made a .ips patch, maybe that's easier:
https://github.com/lightbulb-sun/french-tetris

Brutapode89

Quote from: lightbulbsun on March 25, 2023, 09:02:44 AMI normally use the rgbds assembler for Game Boy games, but I've made a .ips patch, maybe that's easier:
https://github.com/lightbulb-sun/french-tetris

It works, now! :D Thanks a lot for your help :angel: