Well, I tackled the flashing problem. Against all odds. The color switch is 8 frames, and applies to a few objects, like small hearts, Triforce pieces, etc. I looked for all occurences of RAM $15, which is a frame counter. So, starting at 1E735, there's code that determines which items should be flashing. So replace this code with NOPs (EA) :
1E73D: E0 16 CPX #$16 ; Number of Rupees (66D)
1E73F: F0 0C BEQ $1E74D
That's it, no more flashing rupee. At 6B5C, there's a table with palette codes for various things. Change value at 6B72 to make the rupee another color if you want.
Oh that's fantastic!
Just NOP'd those two opcodes, and indeed the rupee is no longer flashing, it stays at a static orange color now, thanks!
I also went ahead and tried changing the palette for the rupee, but without a doubt the orange one is the one that looks the best. I could make it work with Link's palette, but the fact that palette changes doesn't make it suitable.
I will make an optional patch that changes the orange for green later on.
Thanks again, Trax!
---------------------------------------------------------------------------
In the meanwhile, I did some more research regarding some of the still unlabelled RAM addresses in the range of 600-700, mostly documented what seems to be RAM addresses related to the File Select screen.
I did find what some of those are and have update the Data Crystal entry accordingly:
https://datacrystal.romhacking.net/wiki/The_Legend_of_Zelda:RAM_map#RAM---------------------------------------------------------------------------
I noticed that some of the data I wrote for the hearts in the File Select screen was wrong, I just corrected it, here's the proper data:
// Flip heart rows in the File Select Screen:
//Found the routines, now I just gotta figure out how to invert the heart printing
//A4C6: B9 54 A2 LDA $A254,Y @ $A258 = #$24 // 0xA4D6
//A254: 21 09 11 24 24 24 24 24 24 24 24 2F 00 00 00 00 00 00 00 00 // PPU Transfer for Name and lower (starting) hearts (0xA264)
//A268: 21 32 08 00 00 00 00 00 00 00 00 FF // PPU Transfer for upper Hearts (0xA278)
//A520: B9 74 A2 LDA $A274,Y @ $A278 = #$24 // 0xA530
//A274: 21 89 03 24 24 01 21 E9 03 24 24 01 22 49 03 24 24 01 FF // PPU Transfers for Death counter(s) (0xA284)
---------------------------------------------------------------------------
Last, I found out that there's one existing hack that does implement values above 255 in the rupee counter!
Although... It's one of those "bad" hacks, so it's not available in RHDN.

I started dissecting the ROM, ditching the sprite/text/palette changes, and I managed to disassemble it a bit:
https://pastebin.com/uqw123puIt's not a 100% disassembly, but it's something at least to start working on the 999 rupees.
Some points of interest regarding this >255 implementation:
- The way it works currently, is that a second counter appears below the rupee counter.
- Whenever the rupee counter goes above 255, the code adds one to the value of the below counter.
- The new counter goes up to FF (I think), so it's possible to have up to 65535 rupees. Obviously I would modify it to limit it to 999 rupees instead.
- The new counter uses RAM address $660 for it, which overlaps with the bit/byte for raft. This can easily be avoided by using another RAM address, which is why I started looking into what some unlabelled RAM addresses do.
Considering the above points, what needs to be changed is:
- Repoint or move the code so it doesn't collide with any existing code in Redux.
- Make it so that the "new counter" is not parsed as a separate counter, but rather the values should modify the currently existing counter for the rupees directly, adding to the 255 value whenever it's needed.
- Limit the maximum amount of obtainable rupees to 999.
- Assign a new RAM address to the code, so that the Raft byte ($660) remains exclusive to the raft and doesn't overlap.