Testing with: showeq-5.2.5.0

To prevent buffer overflow had to edit: ~/conf/zoneopcodes.xml
<!-- crashes if this opcode is left in with a buffer overflow in a sprintf
<opcode id="5ecd" name="OP_ExpUpdate" updated="12/07/05">
<comment>old ExpUpdateCode</comment>
<payload dir="server" typename="expUpdateStruct" sizechecktype="match"/>
</opcode>
-->

To match up structures for p1999 had to edit everquest.h:

struct newZoneStruct
{
/*0000*/ char name[64]; // Character name
... cut ...
/*0616*/ uint8_t unknown0616[84]; // fix
/*0700*/ // fix
/*0616*/ //uint8_t unknown0616[172]; // *** Placeholder
/*0788*/ //uint8_t unknown0788[4]; // *** Placeholder (06/29/2005)
/*0792*/ //uint8_t unknown0792[4]; // *** Placeholder (09/13/2005)
}; /*0796*/

^^^ 700 byte payload in P1999

struct charProfileStruct
{
/*00000*/ uint32_t checksum; //
... cut ...
/*19588*/ uint32_t showhelm; // 0=no, 1=yes
/*19592*/ // uint8_t unknown19592[4]; // ***Placeholder (10/27/2005)
/*19596*/ // uint32_t unknown19596; // *** Placeholder
/*19600*/

};
^^^^ 19592 byte payload in P1999

It works fine on the Odroid-c2, performance was very good. There is still a crash when I cast a spell on a mob
but for the purposes of testing a 64-bit ARM board as a cheap showeq server with 4k monitor support it worked great.