Ideally, the same code *should* be compiled in (and run) on the sim.
Obviously this doesn't apply to some low-level code (e.g. FAT support,
hardware access), but I would think talk.c shouldn't need to be split.