# HG changeset patch # User boisy # Date 1062896031 0 # Node ID 0a3500c747de5d52d2f842a498dbed3e559cba53 # Parent 4f42a5a604d3e58280b13135f0a22012163c47d1 Fixed ANOTHER bug diff -r 4f42a5a604d3 -r 0a3500c747de level1/cmds/merge.asm --- a/level1/cmds/merge.asm Sun Sep 07 00:41:30 2003 +0000 +++ b/level1/cmds/merge.asm Sun Sep 07 00:53:51 2003 +0000 @@ -44,6 +44,22 @@ name fcs /Merge/ fcb edition change to 6, as merge 5 has problems? +* Here's how registers are set when this process is forked: +* +* +-----------------+ <-- Y (highest address) +* ! Parameter ! +* ! Area ! +* +-----------------+ <-- X, SP +* ! Data Area ! +* +-----------------+ +* ! Direct Page ! +* +-----------------+ <-- U, DP (lowest address) +* +* D = parameter area size +* PC = module entry point abs. address +* CC = F=0, I=0, others undefined + +* The start of the program is here. start subd #$0001 if this becomes zero, beq Exit we have no parameters @@ -54,7 +70,8 @@ subd ,s++ get size of space between buff and X subd #STACKSZ+PARMSZ subtract out our stack/param size std