Ok, so I'm kind of a noob with a lot of things but I'm a quick learner so I figured out how to flash a rom with a broken trackball.
The only method I know to flash a ROM (prior to this) is via Amon-RA system recovery.
My trackball recently broke... somehow between a wipe and a flash. It had been hard to get it to scroll to wipe and then when I tried to flash, it wouldn't work at all. I based this off of erisuser1's (over at androidforum.com) post but modified it to work on OS X. (no, not a crApple fanboy, but my personal laptop is a macbook).
His post is here:
http://android forums.com/eris-all-things-root/163423-flashing-rom-trackball-not-working.html#post1495912This is for OS X... check his link for Windows.
1)
Get the android SDK if you don't have it. Put it in your home folder (or C drive for Windows).
So for me, it's pedrosarsama/android-sdk (i shortened the name of the directory for ease)
*For OS X users it is important to put it in the home folder to avoid having to type in lengthy directory names
2)
Open terminal
3) Update your APIs and what have you so that your SDK is completely up to date.
To do this, in terminal type <android update sdk>
The result will be:
pedro-sarsamas-macbook:~ pedrosarsama$ android update sdk
No command line parameters provided, launching UI.
See 'android --help' for operations from the command line.
This will open the SDK's GUI to the exact place you need it to be

Click "Accept All" then "Install"
4)
Wait a little while for everything to update. If you're on top of your SDK and you don't need anything to update, proceed.
5)
Close the GUI and return to Terminal
6)
Get your phone, reboot it into Amon-RA (that's volume-down +power if your phone is off, or else reboot into recovery if that option is available), and connect it via USB to your computer.
7)
From terminal, start an adb shell which is pretty easy in OS X
adb shell
the whole line looks like this:
pedro-sarsamas-macbook:~ pedrosarsama$ adb shell

input the following code for a backup:
nandroid-mobile.sh -b --norecovery --nocache --nomisc --nosplash1 --nosplash2 --defaultinput 1>&2
the result should be
/ # nandroid-mobile.sh -b --norecovery --nocache --nomisc --nosplash1 --nosplash2 --defaultinput 1>&2
nandroid-mobile.sh -b --norecovery --nocache --nomisc --nosplash1 --nosplash
2 --defaultinput 1>&2
nandroid-mobile v2.2.1
Using G1 keyboard, enter a prefix substring and then <CR>
or just <CR> to accept default: Accepting default.
Using - prefix to create a backup folder
mounting system and data read-only, sdcard read-write
checking free space on sdcard
Dumping boot to /sdcard/nandroid/XXXXXXXXXXXX/BDS-20100903-0113/boot.img...done
Dump of the recovery partition suppressed.
Dump of the misc partition suppressed.
Dumping system to /sdcard/nandroid/XXXXXXXXXXXX/BDS-20100903-0113/system.img...done
Dumping data to /sdcard/nandroid/XXXXXXXXXXXX/BDS-20100903-0113/data.img...done
Dump of the cache partition suppressed.
generating md5sum file...done
unmounting system, data and sdcard
Backup successful.
at this point, I would remove my back cover then press the trackball (only feature that works for it) to reboot by phone... as soon as the screen goes off (not black, but OFF), pull the battery. insert batter, boot into recovery once again; restart terminal while your phone is off and once it's on again, start another adb shell.
9)
Wipe your data using:
/sbin/recovery --wipe_data
wait a while.
go drink some coffee, smoke a cigarette if you're so inclined. Maybe even walk your dogs.
(this is what I did)
Then, reboot, battery pull, etc... as in step 8 and boot into recovery once again.
10)
Flash the ROM using this code
/sbin/recovery --update_package=SDCARD:romname.zip
insert the name of your rom for romname. make sure it's spelled EXACTLY as on the SD card and make sure it is in the SD card's root directory.
At this point, I was experiencing trouble because of spaces in the ROM's name so I had to pop my SD into a reader and renamed it without spaces.
Once again, wait. (I repeated the above sequence... coffee, cigarette, dogs)
11)Reboot your phone, and VOILA!