@mark,
pls. use SPI_Transfer. The SPI BufferSize is limited to 64Byte (pls. see SPI_BUF_SIZE_c). If you want to transfer more bytes, you have to split the IO into several 64Byte chunks. Your question about BaseReg. This is legacy and it comes from the idea, to address the register within a spi device. e.g write 2Bytes (e.g. 0x1234) to controlregister (0x01). in general it's a 3Byte transfer. SPI_Transfer is more basic and just transfers all at once. e.g SPI_Transfer(<bus>,<adr>,<cmdstring>); e.g SPI_Transfer($00,$00,#$01+#$12+#$34); or SPI_Transfer($00,$00,char($01)+char($12)+char($34)); This will transfer the data 0x011234 to an SPI-Device with ChipEnable0 (HW-Pin CE0) which is connected to SPI-Bus 0. The maximal length of <cmdstring> is SPI_BUF_SIZE_c=64.
If you want to see examples, pls. look for procedures/functions '_test' e.g. SPI_Loop_Test within rpi_hal.
hope this helps,
Stefan