News
Welcome to NeoRHDN! This place is still a work-in-progress, so pardon the construction...

Chat on Discord
Views: 1,284,608
Main | Rules/FAQ | Discord | Memberlist | Latest posts | Stats | Ranks | Online users
04-02-25 07:40 AM
Guest: Register | Login

Main - Posts by Zoinkity

Pages: 1 2

Zoinkity
Posted on 02-09-25 03:54 PM, in Trying to find text pointers in CPS-1 arcade game Link | ID: 1545

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
Posted on 02-10-25 05:51 AM, in Trying to find text pointers in CPS-1 arcade game Link | ID: 1547

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
Posted on 02-11-25 03:16 AM, in Trying to find text pointers in CPS-1 arcade game Link | ID: 1549

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
Posted on 02-14-25 08:18 PM, in Super Real Mahjong VS Multilingual, Multiplatform Patch (rev. 2 of 02-15-25 01:05 AM by Zoinkity) Link | ID: 1553

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
Posted on 02-14-25 08:19 PM, in Mahjong Link | ID: 1554

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
Posted on 02-17-25 12:38 AM, in Nintendo continues attacking Emulators Link | ID: 1566

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.
Pages: 1 2


Main - Posts by Zoinkity

Affiliates:


Acmlmboard v2.5.6+neo (2024-08-13)
© 2005-2025 Acmlm, Emuz, NinCollin, et al.

Page rendered in 0.077 seconds. (781KB of memory used)
MySQL - queries: 52, rows: 396/402, time: 0.067 seconds.