You are not logged in.

Read the FAQ and Knowledge Base before posting.
WiFi not emulated and not supported!!
We won't make a 3DS/2DS emulator.



#1 2011-09-15 16:24:47

KazoWAR
Member
Registered: 2009-09-19
Posts: 47

What is the memory location of ARM9_LCD

I been looking through the source for a while and i just can't find it.

I was searching for a value and it was located at 0xB91000  in the dump all ram dump. from the source i can see that ARM9_LCD is dumped at 0xB00000 to 0xBA4000 in the ram dump file. but i can not seem to find the location of ARM9_LCD so i can view it in Memory viewer.

Offline

#2 2011-09-15 18:28:52

zeromus
Radical Ninja
Registered: 2009-01-05
Posts: 3,292

Re: What is the memory location of ARM9_LCD

you can't view it that way in the memory viewer. vram does not exist at a particular point in memory all the time. its location varies depending on how the game has remapped it.  youll need to find it between 0x06000000 and 0x06800000. You should know what purpose that memory is being used for, so you can find it according to

http://nocash.emubase.de/gbatek.htm#dsmemorymaps

Offline

#3 2011-09-16 01:53:05

KazoWAR
Member
Registered: 2009-09-19
Posts: 47

Re: What is the memory location of ARM9_LCD

i am looking for a pal, cant seem to find it anywhere. I ended up making a lua script that dumps all ram from 0x00000000 to 0x0FFFFFFF to to 16MB files. the value i need is no where to be found in any of the files, except for in main mem region, but i do not need to edit those. i can find it in the memory viewer dump all file at location 0x00B91000

if it is any help it is Texture pal 0, Pal: 8 in the pal view window

I want to randomize the colors in the pal each frame.

Offline

#4 2011-09-16 02:06:42

zeromus
Radical Ninja
Registered: 2009-01-05
Posts: 3,292

Re: What is the memory location of ARM9_LCD

when palettes are being used as texture palettes, they are not accessible to the CPU. they do not sit anywhere on the bus, and the memory viewer can't see them. you need to modify the memory viewer to look at something other than the bus.

change
MMU_write16(wnd->cpu, wnd->selAddress, (u16)wnd->selNewVal); wnd->selAddress += 2; break;
to
case 1: MMU.ARM9_LCD[wnd->selAddress] = wnd->selNewVal; break;

and 
MMU_DumpMemBlock(wnd->cpu, wnd->address, 0x100, memory);
to
for(int i=0;i<0x100;i++) memory[i] = MMU.ARM9_LCD[wnd->address+i];

in memView.cpp

of course, you cant do that through a lua script. you can't write to this memory through lua. it would take a new lua API to directly access vram. I might be willing to do that for someone who showed up on IRC and nagged me and tested it.

Offline

#5 2011-09-16 02:18:03

KazoWAR
Member
Registered: 2009-09-19
Posts: 47

Re: What is the memory location of ARM9_LCD

wow that sucks. i guess the lua memory functions reads the values from memory viewer?

would there be anyway to write data to what/where the texture pals are located using lua?

-posted above before edit

Last edited by KazoWAR (2011-09-16 02:20:56)

Offline

Board footer

Powered by FluxBB