Quote Originally Posted by Ophannus View Post
They recently just expanded the partition for PS2's FFXI usage by like 20GB.
That has nothing to do with the constraints on memory usage that are forcing these restrictions. PS2 only has 32 MB of memory to work with---it doesn't get to take advantage additional memory space with even something like EMM386 (used to exceed a "soft" memory limit in the old days), nor virtual memory, so everything has to fit within a hard 32MB memory space that is continually streamed/refreshed. That includes everything on your screen, some stuff that is not on your screen (like the map for the entire zone loads into memory, data about mobs/characters out to the edge of your field of vision, all background scripting, the lists of your inventory when you pull it up, and so and so and so forth). Windows uses more memory because of various things like larger texture sizes, the wrapper and such, and it also can hold on to more recently used assets in resident memory simply because it has more to spare and can also sluff off less frequently used memory into the VM pool on the hard drive and such....but for the PS2, the registers are limited to a 32MB address space and that is all it can use at any given point in time. That is why there are "hard" restrictions encoded like some lists can only hold 256 items and such. This is also why inventory is limited to 80 items...in order to sort items when viewing your inventory and additional container like sack/satchel/storage/safe/locker, it has to be able handle the two containers plus temp items plus a buffer for doing the sorting. Otherwise, they would have to do away with the ability to sort in some screens (or come up with a smarter way to sort that didn't require such a large temp buffer).

These kinds of limits are embedded in a lower level of the engine where all these placeholders are reserved prior to use (something you have to do in some environments, you reserve a memory space for a container before you populate that container with data...kinda like you partition a hard drive before you can save files to it) and SE is unwilling to go back and rewrite a completely different set of rules specific to each individual platform---they are designed to the least robust platform on the list, that being the PS2, and the other platforms run a wrapper of sorts to use that code in their environments. This way, (in some aspects) SE just has to worry about tweaking the one core set of code (based on PS2 operation), and then a sort of translation layer for each system that remains more or less static (like DirectX, POL.exe and ffxi's DLL's, etc.). So you see....they have to go back to ground zero to change some of this stuff, and those things can't be changed because the PS2 is not capable of handling that change...and thus we are left with the old "PS2 limitations" excuse.