found this information on another site:
Since 10.3.whatever, Disk Utility doesn't offer the option of formatting any partitions in a multiple-partition setup to FAT32, the win/dos format needed for a firewire partition to mount on a win machine.
However - here's a single line of Terminal command that will do this for you. I'll take for my example an 80Gb firewire drive that I want 2 partitions on, one of each flavour.
Okay, actually two lines of command: first of all, plug in your firewire drive, and in terminal, enter
This will display a list of all attached disks. If all you've got on your system is one internal startup drive, and the firewire drive, you'll probably have 2 sets of info there, one for disk0 (your internal drive) and one for disk1 (your firewire drive). It's important to get the 'name' of the firewire drive right, because we're about to erase and repartition it, and you don't want to do this to the wrong drive!
Once you're happy that the firewire drive is e.g. disk1 you're ready for the main partitioning command. ** WARNING - this will wipe everything off the firewire drive you're partitioning! ** - okay?:
diskutil partitionDisk disk1 2 MBRFormat MS-DOS WINPART 32G HFS+ osxPart 48G
This command will result in your firewire drive having 2 partitions on it: one 32Gb big called WINPART that's formatted for win pcs, and will happily mount and be read/written to by either your osx mac or your pc; and another (roughly) 48Gb big called osxPart in Extended Mac format that will be ignored by any win pc, but which your osx mac can read/write to happily.
I'll explain what's in the command, and the shortcomings of it (enter 'man diskutil' in terminal for their version of the story).
The main command format is diskutil partitionDisk <disk name> <number of partitions> <MBRFormat: write the partition map in DOS format> <type for partition 1> <name for partition 1> <size for partition 1> <type for partition 2> <name for partition 2> <size for partition 2>
You can extend this to the number of partitions you want, by upping the <number of partitions> and adding a type, name, and size for each new partition wanted.