I still have a few missing entries on system limits. I'm unsure of the values of these, and I'm not even certain if anyone knows at this point, but if any of you do, here's what's still a void in the Wiki entry.


Please note that some of these have greater value than others, but it would be nice to document all of them. Some are even...important.


Editor Values

Maximum strings in string editor: ( 65519 ) ?

Largest tile ID (ZQ Editors): 32767 ? (The largest value that can be referenced in the ZQ item, enemy, and other editors.)

--> I seem to remember a problem calling high values.

Script Drawing

Maximum Z Height: ?

Objects

Maximum Z Height: ? (Link->Z, npc->Z, weapon->Z )

Stack Operation


Maximum number of concurrent stacks: ?

--> Essentially, the maximum number of concurrent scripts; except that item
scripts share one stack.

Maximum function calls per script ( 127* )
*Note: 255 variables will compile, but fail to run. A safe maximum is closer to 245, to allow instructions and function calls on the stack
*Note: Both variables, and function calls share registers (global variables are gd registers), and thus cumulatively count against their combined caps (within a register type). See: ZASM_Registers

--> How are these tabulated at compilation, and is there a strict ratio
( function call:variable ) ?

--> I presume here, that vars in the functions also use gd registers, when called.

Maximum script buffer size: ?

--> It is > 107,000 lines; and does this limit include code added via the import
directive?!

Maximum number of instructions: ?
Maximum number of running instructions per frame: ?
Maximum instructions per script: ?

--> Is this value affected by scope? Probably not, as statements would be
instructions, too.


Maximum number of scripts ?
Max ffc scripts at compilation ?
Max Item scripts at compilation ?
Max global scripts at compilation ?

--> I believe these exceed the number of slots to which you can assign them.
--> I know this is unlikely to ever be reached.


Maximum function calls per script: ?
Maximum local function declarations per script: ?

--> Do local function declarations, and global function declarations share the
same space?

--> Meaning, is a function declared at local scope, counted against the (2^32-1)
total max global functions; or may each script declare (2^32-1) functions at
its own local scope?


Script Registers

How are script registers handled, exactly? By this, I mean, what uses a script register, instead of a gd register? Are script registers used for anything other than holding vars at a scope local to a script? Function calls always seem to use gd regs, so...?