[CDG5] Figment Memory Manager
Daniel B-J
danielbj314 at verizon.net
Wed Oct 2 10:46:07 AWST 2019
I notice that the Figment Sources have an unused define called implemented_discontiguous_heaps. It looks like they barely started trying to make a heap exist in several places at once before they gave up. It would have been really nice if they had done all the hard work for us.
I wrote some quick code to check MemMgr stuff empirically. Apparently both pointers and handles have a header that's 16 bytes in size, start at the bottom of the heap, and have no trailer. I don't trust any of this to be true on any other machine than the Pismo I tested it on.
Writing code to manipulate the MemMgr into position using only NewPtr, DisposePtr, and pointer math seems doable but annoying.
> On Oct 1, 2019, at 5:47 AM, Elliot Nunn <elliotnunn at fastmail.com> wrote:
>
> I have gotten some of the ROM Figment Memory Manager to build from
> source (mostly C). Some post-SuperMario changes to the system of sanity
> checks prevented me from easily building the entire Manager. One
> particularly interesting file is now built properly: ProcessMgrHeap.c.
> It is practically unchanged in the 1993-2003 timeframe. Daniel, I know
> that you were interested in those routines to help us hack the Process
> Manager heap to work with discontiguous ranges. Let me know if you have
> a look.
>
> https://github.com/elliotnunn/supermario/commit/72f7a94
>
> _______________________________________________
> cdg5 mailing list
> cdg5 at ucc.asn.au
> https://lists.ucc.gu.uwa.edu.au/mailman/listinfo/cdg5
More information about the cdg5
mailing list