|
||||||
Views:
1,284,608 |
![]() |
04-02-25 07:40 AM |
||||
Guest: Register | Login |
Main - Posts by |
Zoinkity |
| ||
![]() Bronto Burt Level: 8 Posts: 21/26 EXP: 1715 Next: 472 Since: 10-16-24 Last post: 44 days Last view: 1 day |
Hmm, no hits... It's probably working on a copy of the one you found.
The thing that comes to mind is whether the watch was on some kind of ram or on the original data in whichever ROM has it. They only trip when a processor reads something, not when something is memory mapped, DMA'd, etc. One option is to search all the different listed blobs of memory at the time the quote is used to find other copies of the string. Throwing watches on those might turn something up. Another is to find the printer and catch its users (usually by backtracing users of the font), but without knowing how the addressing works that might be a no-go. MAME's debugger is a hideous centipede, only used when all else fails. |
Zoinkity |
| ||
![]() Bronto Burt Level: 8 Posts: 22/26 EXP: 1715 Next: 472 Since: 10-16-24 Last post: 44 days Last view: 1 day |
If there is the option between MAME's unintuitive quirky debugger and anything else at all, guaranteed you're going with the "anything else". Problem is there isn't anything else for (most) arcade stuff.
What I meant is to do a very targeted search for the string itself across all memory regions at a time you know it's being used (like they're actively printing it). From there you can work backwards, either putting a write watch on the locations to see what put them there or reads to see what is using each. The reason is you basically don't know at this point if it's reading from the chip indirectly (like bankswapping or memory mapping) or they copy a table into a blob of RAM. (Direct access is pretty much ruled out.) They could use pointers from a base ram address or a table of offsets. Doing this is sorting out how data is accessed and from there what needs to be adjusted. |
Zoinkity |
| ||
![]() Bronto Burt Level: 8 Posts: 23/26 EXP: 1715 Next: 472 Since: 10-16-24 Last post: 44 days Last view: 1 day |
If it's a big-endian processor usually stored values will be BE. Otherwise you have to byteswap things in software before you can use them. An LE IC doesn't mean data loaded from it is LE; electronics is weird.
The pointer(s) could be hardcoded as well. They don't need to be in a table. They can also be offsets from a hardcoded address or a series of lengths. Depending what they did it could be ram or rom. Minimum, there has to be a root table address. No matter what the scheme used--pointers, offsets, walking entries--that first address has to exist. The big issue is that arcade hardware can be designed any which way they want. Home consoles tend to be somewhat intuitive--they do want a large number of people programming for them over a long period of time--but arcade is very specialized, few games made for each board, (usually) no care for cost or sanity. (A big exception made for the "consolized" stuff like Namco system *, NEC's Neo Geos, etc.) I'm in the middle of wrapping up a patch for release otherwise would try finding it myself. Sorry I can't be much help. One question though: changing the string in-place was fine, just not changing lengths, right? |
Zoinkity |
| ||
![]() Bronto Burt Level: 8 Posts: 24/26 EXP: 1715 Next: 472 Since: 10-16-24 Last post: 44 days Last view: 1 day |
Just in time for Valentines, here's the sort of gift that unwraps itself!
https://mega.nz/file/RjwFTTKY#gDLPS1ihA1zaHFGgy8RsoClfa43ayyJr9EApq3PzuPQ ![]() Unlike the previous retail console patches, this one file will run on either a retail N64 or an Aleck64 E92 board, automatically detecting the platform and adjusting code accordingly. Both revisions of the game are supported. It also provides selecting between Japanese and English text using a DIP switch, real or virtual. Audio is not redubbed. All network features are compatible with the two original games. If you have a connection you'll see this after pressing Start: ![]() The VS option is grayed-out if the connected unit isn't talking with you. There were unused titlebars for the connection state, seemed easy enough to add in... ![]() Here's a video captured from arcade showing how network games work. The slave gets a prompt asking if they want to play. Accept, and you play a best of three rounds against the other cab. In the event of a tie you both draw a tile at random, over and over, until somebody draws higher. |
Zoinkity |
| ||
![]() Bronto Burt Level: 8 Posts: 25/26 EXP: 1715 Next: 472 Since: 10-16-24 Last post: 44 days Last view: 1 day |
![]() Very definitely not a blatant self-promotion for a patch release ;*) |
Zoinkity |
| ||
![]() Bronto Burt Level: 8 Posts: 26/26 EXP: 1715 Next: 472 Since: 10-16-24 Last post: 44 days Last view: 1 day |
But wasn't DraStic's dev very open about plans to remove it from the stores?
Iirc, the story started when the google store removed it for a short time due to some bookkeeping reason (a bad description or something), then it was fixed. At that time though DraStic's dev said they have plans to eventually go free, then after about a year of being a free app (likely as long as needed so they don't require giving refunds) they planned on deleting it from the stores entirely. It has been some time though, maybe things changed along the way. |
Main - Posts by |
![]() ![]() |
Acmlmboard v2.5.6+neo (2024-08-13) © 2005-2025 Acmlm, Emuz, NinCollin, et al. |
MySQL - queries: 52, rows: 396/402, time: 0.067 seconds. |