Research Information - isotherm/betawise GitHub Wiki

All research should be based on System 3.15, the latest available version.

RAM Locations

  • 0000: M68K vector table [long].
  • 0E0A: Pointers to applets in ROM [ptr, array of 32].
  • 0E92: Application IDs [short, array of 32].
  • 0ED2: Application flags [long, array of 32].
  • 34D6: Pointer to last entry of file table [ptr to 0x48 byte struct].
  • 34DA: Pointer to first entry of file table [ptr to 0x48 byte struct].
  • 355E: Pointer to applet RAM areas [ptr, array of 32].
  • 35DE: Pointer to end of file data / beginning of applet data [ptr].
  • 35E2: Current applet index [long].
  • 48BE: Current cursor mode [byte]. Observed values include 0B, 0C, 0F, 1C.
  • 48BF: Current cursor row [byte].
  • 48C0: Current cursor column [byte].
  • 5C6C: Maximum cursor column [byte].
  • 5C6D: Maximum cursor row [byte].
  • 5C6E: Y viewport pixel origin [word].
  • 5C70: X viewport pixel origin [word].
  • 5C72: X current pixel position [word].
  • 5C74: Y current pixel position [word].
  • 5C76: Cursor flag [byte] (1 if visible; 0 if hidden).
  • 5C90: Number of keys waiting in buffer [byte].
  • 5D94: Some sort of tick count, milliseconds? [long]
  • 5D98: Extended tick count? [byte]

ROM Locations

  • 410000: Beginning of system image.
  • 410070: Initialization code.
  • 424212: Function to look up string in string table.
  • 426706: Bus error handler.
  • 426712: Address error handler.
  • 42671E: Illegal instruction handler.
  • 42672A: Division by zero handler.
  • 426768: Unimplemented instruction handler (used for syscalls).
  • 43C832: Function to validate filesystem.
  • 44AF8E: System font width [byte].
  • 44AF8F: System font height [byte].
  • 44B03E: Pointers [long] to the strings indexed by the function at 424212.
  • 44F15E: The table of addresses of system calls [long]. Instruction 0xA000 calls the routine whose address is at 44F15E, 0xA004 calls the routine whose address is at 44F162, etc.

Reset information

  • Reset memory: Hold Backspace Right Shift while turning on. Password is tommy.
  • Enter small ROM: Hold , . / Right Shift while turning on. Password is ernie.
  • Enter updater mode: Hold Tab Left Shift while turning on.