<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://wiki.cloudmodding.com/oot/Notes/Lee%27s_graph_alloc_notes/history?feed=atom</id>
		<title>Notes/Lee's graph alloc notes - Revision history</title>
		<link rel="self" type="application/atom+xml" href="https://wiki.cloudmodding.com/oot/Notes/Lee%27s_graph_alloc_notes/history?feed=atom"/>
		<link rel="alternate" type="text/html" href="https://wiki.cloudmodding.com/oot/Notes/Lee%27s_graph_alloc_notes/history"/>
		<updated>2026-04-06T09:54:33Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>https://wiki.cloudmodding.com/woot/index.php?title=Notes/Lee%27s_graph_alloc_notes&amp;diff=4692&amp;oldid=prev</id>
		<title>Mzxrules: Mzxrules moved page Lee's graph alloc notes to Notes/Lee's graph alloc notes without leaving a redirect</title>
		<link rel="alternate" type="text/html" href="https://wiki.cloudmodding.com/woot/index.php?title=Notes/Lee%27s_graph_alloc_notes&amp;diff=4692&amp;oldid=prev"/>
				<updated>2016-06-18T21:31:24Z</updated>
		
		<summary type="html">&lt;p&gt;Mzxrules moved page &lt;a href=&quot;/oot/Lee%27s_graph_alloc_notes/edit?redlink=1&quot; class=&quot;new&quot; title=&quot;Lee&amp;#039;s graph alloc notes (page does not exist)&quot;&gt;Lee&amp;#039;s graph alloc notes&lt;/a&gt; to &lt;a href=&quot;/oot/Notes/Lee%27s_graph_alloc_notes&quot; title=&quot;Notes/Lee&amp;#039;s graph alloc notes&quot;&gt;Notes/Lee&amp;#039;s graph alloc notes&lt;/a&gt; without leaving a redirect&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 21:31, 18 June 2016&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Mzxrules</name></author>	</entry>

	<entry>
		<id>https://wiki.cloudmodding.com/woot/index.php?title=Notes/Lee%27s_graph_alloc_notes&amp;diff=4301&amp;oldid=prev</id>
		<title>Vexiant: Created page with &quot;''graph_alloc expansion talk with Lee''   So OOT has a limitation for how many polygons it can have on the screen. It will start to complain internally and &quot;throw away&quot; actor...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.cloudmodding.com/woot/index.php?title=Notes/Lee%27s_graph_alloc_notes&amp;diff=4301&amp;oldid=prev"/>
				<updated>2015-11-22T03:25:06Z</updated>
		
		<summary type="html">&lt;p&gt;Created page with &amp;quot;&amp;#039;&amp;#039;graph_alloc expansion talk with Lee&amp;#039;&amp;#039;   So OOT has a limitation for how many polygons it can have on the screen. It will start to complain internally and &amp;quot;throw away&amp;quot; actor...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;''graph_alloc expansion talk with Lee''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
So OOT has a limitation for how many polygons it can have on the screen. It will start to complain internally and &amp;quot;throw away&amp;quot; actor animations and prevent more polygons from spawning.&lt;br /&gt;
&lt;br /&gt;
This limitation prevented the OoTTer hack (a terminal overlaid in OOT) from using the entire screen.&lt;br /&gt;
&lt;br /&gt;
So I took the liberty to find out how to force OOT to use more space for its graph_alloc function.&lt;br /&gt;
&lt;br /&gt;
First step was to run OoTTer with 24 lines. When they've all printed the game enters the state I mentioned earlier. When you destroy things like pots, the game doesn't render the next N frames until graphic memory is available.&lt;br /&gt;
&lt;br /&gt;
The game will internally start to print:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
So I looked to see what function was calling this. It was the cache code that was calling it.&lt;br /&gt;
&lt;br /&gt;
After a couple hours, I figured out the size of the caches: 64kb, plus some other stuff which makes it a total of 73kb. There is a huge problem though. The cache size, in the original OOT source code, is a flipping #define!!! So there is no easy way to change everything in the game without having to do it all by hand, changing everything that refers to those numbers.&lt;br /&gt;
&lt;br /&gt;
The caches start at 0x801B41C0+0x12410 in RAM.&lt;br /&gt;
0x12410 is the constant I'm talking about.&lt;br /&gt;
&lt;br /&gt;
They have identifiers for sanity checks in the code. The first cache has an id of 0x1234, and the second an id of 0x5678.&lt;br /&gt;
&lt;br /&gt;
Important addresses:&lt;br /&gt;
0x800C38C0 &amp;lt;- returns true or false if the caches are full??, that is what I observed. Forcing it to return 0 all the time still made the game miss frames.&lt;br /&gt;
&lt;br /&gt;
If you return from 0x800C38C0 you can see where the constant is calculated/defined and the BEQ instructions that do the sanity checks for 0x1234 and 0x5678.&lt;br /&gt;
&lt;br /&gt;
CONCLUSION: Plausible, but waste of time.&lt;br /&gt;
&lt;br /&gt;
[https://github.com/lf94/ootter otter - (Rudimentary Ocarina of Time Terminal)]&lt;br /&gt;
&lt;br /&gt;
[[Category:Notes]]&lt;/div&gt;</summary>
		<author><name>Vexiant</name></author>	</entry>

	</feed>