void PRO_IO ( char *data
, long number_of_words
, unsigned long scsi_address
, long lun
, long data_goes_to_update_buffer = 1 ) ;
The scsi address is actually one of these
#define PRO_PINGPONG_BASE 0x8e000000
#define PRO_CULLING_BASE 0x8c000000
#define PRO_POLYGON_BASE 0x98000000
#define PRO_CONFIGURE_BASE 0x9c000000
#define PRO_TEXTURE_UPDATE_BASE 0x90000000
#define PRO_MODE_WORD_BASE 0x70000000
#define PRO_GENLOCK_BASE 0x74000000
#define PRO_SCROLL_COLOR_BASE 0x62000000
#define PRO_CHECK_MEM 0x20000001
#define PRO_DO_PREV_BUFF 0x20000002
#define PRO_GAMMA_COMMAND 0x20000004
#define PRO_RELOAD_DEFAULT 0x20000005
#define PRO_GAMMA_TABLE 0x20000006
You can see in my previous decompiled code, the texture update (as well as writing to texture memory) seems to write to
PRO_IO(v1 + 180, 2, **(_DWORD **)(*(_DWORD *)(v1 + 224) + 12) | 0x98000000, -1, 1);
which is polygon memory
This one

#define PRO_RELOAD_DEFAULT 0x20000005
That's supposed to load the default spinning logo
In the texture code
PackImage seems to call
PRO_IO(&v16, 1, 0x2000000B, -1, 0);
Not sure we are handling that one at all ? It's also not listed above