• Login
  • Register
  • Dolphin Forums
  • Home
  • FAQ
  • Download
  • Wiki
  • Code


Dolphin, the GameCube and Wii emulator - Forums › Game Support › Triforce
All-in-one Triforce discussion thread
View New Posts | View Today's Posts

Pages (11): « Previous 1 ... 7 8 9 10 11 Next »
Jump to page 
Thread Rating:
  • 1 Vote(s) - 5 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Thread Modes
All-in-one Triforce discussion thread
02-19-2022, 04:41 PM
#81
brodostar
Unregistered
 
(02-18-2022, 07:39 AM)Zopolis4 Wrote: I'm working on triforce support for master dolphin, and the source code of brodostar's version would be very helpful. If I know more about the boot/firmware check I might be able to implement support without patching the iso, and same with JVS info.

Hi Zopolis4, it's amazing to hear that someone's working on bringing Triforce back to Dolphin!
I really wanted to get Virtua Striker 4 to a playable state on PC and that's when I started reading resources online about Triforce architecture, JVS specs and found the old/abandoned Triforce branch. I was able to patch the boot/firm version check in VS4 and made some changes to the SI_DeviceAMBaseboard.cpp (to support analog joystick input), and added some logic in VolumeGC.cpp to be able to differentiate the different VS4 games (all have the same "Game Code + Maker Code" = GVSJ8P), using the 4byte ASCII unique identifier in boot.id, offset 0x30.

I gave a thought to attempting a port of the old Triforce branch on ToT main Dolphin, but thought the task would be too big (given I have no experience in contributing to Dolphin source), and didn't know of anyone else interested in working on it.
It would be fun to exchange some ideas and maybe join forces, I might learn a thing of two.
Reply
02-20-2022, 11:33 AM
#82
Zopolis4 Offline
Junior Member
**
Posts: 46
Threads: 4
Joined: Aug 2020
Here are the pull requests for my work so far: 1 2, although 2 is much more of a work in progress and will be cleaned up soon. I have also implemented my own form of Triforce game recognition using boot.id, so it might be interesting to compare notes on that front. I have very little knowledge of JVS, unfortunately, and have not yet gotten around to re-implementing that into master. If you don't mind me asking, how did you patch the boot/firm check in VS4, and where did it check? (EXI/SI/something else). If you were able to patch it, I might be able to support it in dolphin itself. Sadly, I haven't gotten to the point yet where games are accepting input, but it's great to see that someone has figured out proper button mappings, and your work there will really boost compatibility once I get there. Nice work!
Find
Reply
02-21-2022, 05:58 PM
#83
AnimalBear Offline
Junior Member
**
Posts: 23
Threads: 1
Joined: Jul 2012
brodostar please fix the coin button, because as been used to change the tactics of the players in to offensive. Thanks and keep up the good work.
Find
Reply
03-16-2022, 03:09 PM
#84
brodostar
Unregistered
 
Hi Zopolis,
Sorry for the late reply, I was hoping to get you a full answer and experimented a bit for a few weekends and tried a few things.

(02-20-2022, 11:33 AM)Zopolis4 Wrote: I have also implemented my own form of Triforce game recognition using boot.id, so it might be interesting to compare notes on that front.
I noticed that Triforce games' boot.id files all seem to share the same format:
  • "BTID" string at offset 0x0
  • "GCAM" string at offset 0x20
  • 4byte game ID at offset 0x30 (SBNL, SBGG, SBLK, etc..)
Since all VS4 seem to share the same "Game Code + Maker Code" = GVSJ8P, I thought of concatenating the game ID above to uniquely identify each game in Dolphin.

(02-20-2022, 11:33 AM)Zopolis4 Wrote: I have very little knowledge of JVS, unfortunately, and have not yet gotten around to re-implementing that into master.
I was able to find a bunch of info online, but the best doc I was able to find is this JVS spec english translation from japanese by Alex Marshall.

(02-20-2022, 11:33 AM)Zopolis4 Wrote: If you don't mind me asking, how did you patch the boot/firm check in VS4, and where did it check? (EXI/SI/something else). If you were able to patch it, I might be able to support it in dolphin itself.
I extracted the DOL executable file, converted to ELF and loaded/decompiled it with Ghidra SRE. I found this nice tutorial to also load the GameCube’s Gekko instructions language definition into Ghidra. Then used the Dolphin debugger's instruction stepping/breakpoint/memory watchpoints and memory dump features to trace back the code that performs the boot/firm version check, and bypass it with a nop() patch.

Regarding proper emulation of the boot/firm firmware update, I tried for a few days to see what buses/peripherals the game is accessing when attempting to read the firmware version, and I see calls to both EXI and SI memory regions, but wasn't able to exactly pinpoint which commands are fetching the version from the media board.
Also in VS4 I am able to locate/inspect the code that handles the media board update (I see a loop of payload from segaboot.img file, in chunks of 0x10000) and firmware update progress bar and state machine, but haven't exactly pinpointed the exact commands the game issues (I need more free time to play with it).

(02-20-2022, 11:33 AM)Zopolis4 Wrote: Sadly, I haven't gotten to the point yet where games are accepting input, but it's great to see that someone has figured out proper button mappings, and your work there will really boost compatibility once I get there. Nice work!
The existing dolphin triforce branch already has input mapping working for the majority of the Triforce games in SI_DeviceAMBaseboard.cpp, so porting of inputs should be relatively straightforward.
Reply
04-29-2022, 02:40 PM
#85
Zopolis4 Offline
Junior Member
**
Posts: 46
Threads: 4
Joined: Aug 2020
I thought the input mappings were conditional on incorrect boot.id identifiers, did you find otherwise?
Find
Reply
05-03-2022, 02:03 PM
#86
Zopolis4 Offline
Junior Member
**
Posts: 46
Threads: 4
Joined: Aug 2020
Also, would you mind sharing the source code for your version?
Find
Reply
07-21-2022, 03:17 AM
#87
alexybubble Offline
Junior Member
**
Posts: 3
Threads: 2
Joined: Sep 2021
Any updates on this? I'd love to Triforce finally come to fruition after all these years, if only so that Dolphin could keep the original promise of supporting it (and maybe even get Dolphin to support Tatsunoko Vs. Capcom arcade at some point? I know that it's more a pipe dream than anything, but it is based on Wii hardware, so it seems like a logical step after getting Triforce games to run.).
Find
Reply
08-20-2022, 10:27 AM
#88
Zopolis4 Offline
Junior Member
**
Posts: 46
Threads: 4
Joined: Aug 2020
Updates can be found on my branch: https://github.com/Zopolis4/dolphin/tree/exibackuptest
Find
Reply
08-23-2022, 04:04 PM
#89
RT4eva Offline
Junior Member
**
Posts: 3
Threads: 1
Joined: Aug 2022
Android User Here, I attempted to download the android build of the triforce version, but every version crashes upon opening the app. I wanted to know if there were any new builds being developed, and also if it would change the ui of the app.
Find
Reply
08-30-2022, 12:19 PM
#90
Zopolis4 Offline
Junior Member
**
Posts: 46
Threads: 4
Joined: Aug 2020
Updates on new builds can be found on the branch above, although android support is low priority. I don't plan to modify the android UI, so It'll be the same as the current master.
Find
Reply
« Next Oldest | Next Newest »
Pages (11): « Previous 1 ... 7 8 9 10 11 Next »
Jump to page 


  • View a Printable Version
  • Subscribe to this thread
Forum Jump:


Users browsing this thread: 1 Guest(s)



Powered By MyBB | Theme by Fragma

Linear Mode
Threaded Mode