Mte90 / GBAATM-Rebirth

From the original source code a new rebirth, to add a Trainer in your GBA roms!
GNU General Public License v3.0
60 stars 3 forks source link

Codebreaker/GS v3 crash only on Windows #18

Open DunhamGitHub opened 1 year ago

DunhamGitHub commented 1 year ago

Does not work anymore it seems!?

Freezes / crash -> game not patched but rom created...

Screenshot 2023-01-23 at 08 22 32

...

Screenshot 2023-01-23 at 08 19 35

...

Screenshot 2023-01-23 at 08 20 23

...

Screenshot 2023-01-23 at 08 20 29

...

Screenshot 2023-01-23 at 08 23 59
Mte90 commented 1 year ago

What cheatcodes are you using? usually the problem it is the input data that crashes.

DunhamGitHub commented 1 year ago

Adding anything more then the first 3 lines = crash!

(This all works fine in gbaatm 1.9.9.7.0.0.1)

Screenshot 2023-02-05 at 06 27 5

...funny enough, it works in OSX Ventura.

Screenshot 2023-02-05 at 06 27 52
DunhamGitHub commented 1 year ago

Pretty funny when I load this rom onto my Pocket.... (at 0:08min)

https://user-images.githubusercontent.com/6884752/216806988-25906f70-7e29-4489-8e72-48298175cd59.mp4

The rom is "Wario Land 4 (UE) [!].gba", and the applied codes:

codes.txt

Mte90 commented 1 year ago

So it works anyway but not the windows version. Probably the code that convert the cheat doesn't manage rightly somethings and I am not able to do something, as I never understood that part of the code.

DunhamGitHub commented 1 year ago

Well, "no". The windows version freezes and crashes.

I wonder... What is the purpose of this Repo?

Mte90 commented 1 year ago

The purpose of this project was to get the original source code and create a modern version that works also on Linux/OSX that is also on 64bit (and that is open source not just hidden in some old HDD).
I got the original source code by the original developer https://github.com/Mte90/GBAATM-Rebirth/releases/tag/original that was written on Windows XP in C++97.

So I did a work to get this code running on modern version, create an improved UI and compile automatically on the various systems.
Also it is still as Alpha version because need further testing but specifically people more skilled then me in C++ and in the Cheat code conversions, as that part is very cryptic (has still some bugs of the 1.9.9.7, like a malformed cheat crash the app as reported often on gbatemp).
Also consider that was a personal project under covid pandemia to test myself on something like this.

Moving on the other questions:

I can fix the UI issues of the application but about the cheat codes/stuff injected in the roms I never understood how works everything. I got in the past some fixes https://github.com/Mte90/GBAATM-Rebirth/commit/ea8a02e6f24b5557dab3a2a1df62cf7e56aaad52 but never released a new version as I am alone in the project. But probably after all this time I can release a new alpha.

DunhamGitHub commented 1 year ago

Graphics:

Screenshot 2023-03-03 at 13 18 20

Log: Where is it? Why did you not ask me about it in this ticket when I told you the app crashes?

Codes not working: Codes applied:

Screenshot 2023-03-03 at 13 19 29

*Codes actually in the rom ("no random encounters" missing):

Screenshot 2023-03-03 at 13 19 56

App freezing:

Screenshot 2023-03-03 at 13 28 39
Mte90 commented 1 year ago

About crashes with some cheat code as I said it was already reported with the original tool that it is easy to crash it or generate a broken rom, just check the discussions:

DunhamGitHub commented 1 year ago

a) Topic: Log: The Log printed below in the same window does not help when the app itself crashes (correct me if I am wrong)... There needs to be an external Log-File that gets Debug-Info when a Rom is being patched -> only then can the crash be examined.

b) Topic: Window-Size (Windows): It seems it does not scale (absolutely) properly when Scaling (150% etc.) on Windows is used... The window itself is resizable, good enough. Topic closed!!

c) Topic: Codes being overlooked: As stated above, codes that are typed into the text area are being left out. This happens only with this version, not the original 1.9.9.7.

Example with "Golden Sun (UE)", Checksum for rom e1fb68e8 (easily findable):

Screenshot 2023-03-16 at 10 37 50

Codes:

m
00009B1A 000A
100036E6 0007

no random encounters
82000478 0000

garet slot5 psy crystal
3200072C 00BA

garet slot6 spiked armor
3200072E 0055

65k money
82000250 FFFF

👉🏻 In this case, the "no random encounters" code is overlooked (not in 1.9.9.7). *see my previous post for a screenshot of the rom showing the code not being implemented.

d) Topic: Complete crash:

m
00009B1A 000A
100036E6 0007

no random encounters
82000478 0000

garet slot5 psy crystal
3200072C 00BA

garet slot6 spiked armor
3200072E 0055

65k money
82000250 FFFF

all guys max exp
82000770 E0FF
82000772 05F5
82000A08 E0FF
82000A0A 05F5
82000CA0 E0FF
82000CA2 05F5
820008BC E0FF
820008BE 05F5
82000624 E0FF
82000626 05F5

walk thru w, normal, R
74000130 02BF 
E2030ECE FFFF 
74000130 027F 
E2030ECE 0001 
74000130 02DF 
E2030EC6 FFFF 
74000130 02EF 
E2030EC6 0001

walk thru w, world, B
74000130 03BD
E2030DB6 FFFF
74000130 037D
E2030DB6 0001
74000130 03DD
E2030DAE FFFF
74000130 03ED
E2030DAE 0001
DunhamGitHub commented 1 year ago

About crashes with some cheat code as I said it was already reported with the original tool that it is easy to crash it or generate a broken rom, just check the discussions:

May I say: These posts not really discussions ...it's people not reading any tutorial just saying "it does not work" 🤭

Mte90 commented 1 year ago

The Log printed below in the same window does not help when the app itself crashes (correct me if I am wrong)...

Yes you are right it is just a log about the process, for the crash on Linux it is easy enough to launch the tool in the terminal, on Windows I have no idea as I am not using since years.

These posts not really discussions

There is people not reading the instructions but also others where it was enough to use other cheat codes and worked.

About the issue on cheat codes I cannot help you further as I never understood how works that code but already in 1.9.9.7 had issues in some cases that I don't remember. Maybe in this implementation it is more easy to spot them as the tool crashes as the language itself become more strict compared to the original version.