Long term dev plan

Technical discussion for those interested in Supermodel development and Model 3 reverse engineering. Prospective contributors welcome. Not for end-user support.
Forum rules
Keep it classy!
  • No ROM requests or links.
  • Do not ask to be a play tester.
  • Do not ask about release dates.
  • No drama!
Ian
Posts: 49
Joined: Wed Nov 08, 2023 10:26 am

Re: Long term dev plan

Post by Ian »

I don't like the idea of using a zero-sized array for the data block; this is an extension in GNU C but I'm not sure it would necessarily work in Visual C++.
I think it does work, but I don't think it's valid c++. It's part of c99.

We can use data[1] instead, and that is legal c++. This should be fine because the the minimum size that can be written is 1 anyway.

Do you know what the reserved memory address range is? There must be a chunk that is reserved for writing these memory updates. If I can get my head around how these update buffers were working I can fix the frame timing which currently starts off vblank randomly half way through the frame lol.
Ian
Posts: 49
Joined: Wed Nov 08, 2023 10:26 am

Re: Long term dev plan

Post by Ian »

Well my rewrite was pretty successful :)

Main loop for the program now runs like this

Code: Select all

    for (int i = 0; i < 384; i++)
    {
        TileGen.DrawLine(i);
        ppc_execute(lineCycles);
    }
My only issue is currently my buffered data I wrote to separate memory locations. Really I think they should live in real3d memory. Just I don't know where and how big these buffers are. It's not a massive issue, but saving/loading won't quite work right unless I add these buffers to the save states .. which means breaking file compatibility again which probably isn't so cool.
Post Reply