Posted Tue Jan 3, 2012 10:29 PM
This will not work on Altirra 2.0. The program loader writes several zero page locations to mimic the activity of a boot loader, so locations $09 (BOOT_) and $30 (STATUS) will be trashed after the zero page segment loads. It also reads POKMSK ($10) and so the result will be all timer IRQs being turned on when the next segment loads. AUDC1-4, IRQEN, and AUDCTL are also hit for each segment. PBCTL is written as well although the I/O and DDR registers are not currently changed. Current 2.10 test versions also require the known RTS ROM location ($E4C0). Altirra also does not allow you to load directly into RAM since the program loader uses the same mapping tables as the CPU -- the writes will get intercepted by the ROM, by hardware devices, or just go nowhere if RAM is not mapped at the target load location.
In short, don't do it. Relocate after all segments have loaded as Rybags suggests. There's no point in writing a program only for an emulator -- if we were doing that, the first thing I'd add is a 68000 CPU.