ucxt(1)

πŸ’– ucxt(1) β€” the usecode disassembler, bestie edition πŸ’–

okay so first things first: this is ucxt, a General Commands Manual page, and it's literally the Ultima 7/8 usecode disassembler. if that sentence made zero sense to you, don't panic, we're getting there. 🫢


✨ NAME ✨

ucxt β€” Ultima 7/8 usecode disassembler.


🌸 SYNOPSIS 🌸

ucxt [OPTIONS] -a
       prints all the functions
ucxt [OPTIONS] <hex_function_number>
       disassembles a single function to stdout

πŸ¦‹ DESCRIPTION πŸ¦‹

so the games that Exult supports (Ultima 7, for example) are made up in large part of usecode. and Exult? it basically implements a virtual machine, and the machine language of that virtual machine is usecode. that's the whole vibe. 🧚

and the ucxt command is the thing that lets you disassemble usecode. that's it, that's the job, and it eats. πŸ’…


πŸ’œ OPTIONS πŸ’œ

πŸŽ€ Misc Flags (any/all of these, mix and match, go feral)

  • -nc β€” don't go looking for exult's .xml config file
  • -v β€” turns on verbose output mode
  • -ofile β€” output to the specified file
  • -ifile β€” load the usecode file specified by the filename
  • -ro β€” output the raw opcodes in addition to the -f format
  • -ac β€” output automatically generated comments
  • -uc β€” output automatically generated 'useless' comments
  • -b β€” only do 'basic' optimisations
  • -dbg β€” output debugging information if present in usecode
  • -ext32 β€” convert function to ext32 format if not already

πŸ“ Game Specifier Flags (pick exactly ONE, no greedy behaviour bestie)

  • -bg β€” select the black gate usecode file
  • -si β€” select the serpent isle usecode file
  • -u8 β€” select the ultima 8/pagan usecode file (experimental πŸ‘€)
ngl, -u8 is marked experimental in the original, so treat it accordingly. no cap.

🌈 Output Format Flags (again: only one of these, choose wisely)

  • -fl β€” output using brief "list" format
  • -fa β€” output using "assembler" format (default)
  • -fs β€” output using "exult script" format
  • -fz β€” output using "exult script" format
  • -ftt β€” output using the translation table xml format
  • -ff β€” outputs all flags referenced in the usecode file, sorted both by "flags within a function" and "functions using flag"
yes, -fs and -fz both say "exult script" format. that's what the page says. i'm not editing the source material, i'm just the messenger. πŸ™ˆ

πŸ‘‘ SEE ALSO πŸ‘‘


and that's the whole page, you're so smart for reading it all, main character energy fr fr πŸ’–

this was pulled from the General Commands Manual, dated August 2006 β€” go forth and disassemble, bestie, slay βœ¨πŸŽ€πŸ¦‹