No, forget subroutines. You can't readily compress dialogue, and it takes four bytes to Pause:ClrHome each time – calling a subroutine for this can save at most 1 byte per instance, and that is quickly negated by the space that the subroutine would occupy.
@adamac15: What I said regarding CHOICE5 applies here. Watch:
Code: :Lbl H
:Pause
:ClrHome
:ClrDraw
:AxesOn:Goto A
:Lbl K
:Pause
:ClrHome
:ClrDraw
:AxesOn:Goto A
:Lbl N
:Pause
:ClrHome
:ClrDraw
:AxesOn:Goto A
Taken right out of your program, except with the story removed. You even have:
Code: :Pause
:ClrHome
:ClrDraw
:AxesOff
:Lbl A
:Menu("KILLER PART 1","START",B,"INSTRUCTIONS",C,"QUIT",D)
First off, since you're not using the graph screen at all...
Code: :Pause
:ClrHome
:Goto A
Code: :Pause
:ClrHome
:Lbl A
:Menu("KILLER PART 1","START",B,"INSTRUCTIONS",C,"QUIT",D)
So, the premise is to have that set of instructions played out before the main menu starts. What would happen if you wrote it before the Menu(), but underneath Lbl A? What would this mean for the other instances of those instructions?
The transition from these insights to the next action that you should perform needs to be fully understood before your habits can be revised for future projects; I don't want to run the risk of you carrying something out just because someone else said it was a good idea.