******************************************************************************* * RUN1200 Macro. Written by Readysoft. * Copyright 1993 RS. All rights reserved. 1993.03.10.-1993.09.12. * v2.0. ******************************************************************************* ******************************************************************************* * RUN Label,Error,Mode ******************************************************************************* RUN MACRO ;------------------------------------------------------------------------------ ; Go NoOp ;------------------------------------------------------------------------------ run.Go movem.l a5-a6,-(a7) move.l 4,a6 lea run.Super(pc),a5 jsr -30(a6) Supervisor movem.l (a7)+,a5-a6 rts ;------------------------------------------------------------------------------ ; Run ;------------------------------------------------------------------------------ run.Super movem.l d0-a6,-(a7) move.l 4,a6 jsr -132(a6) Forbid jsr -120(a6) Disable lea 0,a0 Save Chip lea run.ChipBuffer,a1 move.w #255,d7 .Loop move.l (a0)+,(a1)+ dbf d7,.Loop move.w #$7fff,$dff096 move.w #$7fff,$dff09a movem.l (a7)+,d0-a6 DC.W $4e7a,$0000 SFC in d0 move.l d0,run.re.SFC DC.W $4e7a,$0001 DFC in d0 move.l d0,run.re.DFC DC.W $4e7a,$0002 CACR in d0 move.l d0,run.re.CACR DC.W $4e7a,$0800 USP in d0 move.l d0,run.re.USP DC.W $4e7a,$0801 VBR in d0 move.l d0,run.re.VBR DC.W $4e7a,$0802 CAAR in d0 move.l d0,run.re.CAAR DC.W $4e7a,$0803 MSP in d0 move.l d0,run.re.MSP DC.W $4e7a,$0804 ISP in d0 move.l d0,run.re.ISP lea \1,a0 Label lea \2,a1 Error move.l \3,d0 Mode jmp SYSTEM go !! ;------------------------------------------------------------------------------ ; Return ;------------------------------------------------------------------------------ run.Return move.l d0,run.ReturnCode store ReturnCode move.l run.re.SFC,d0 DC.W $4e7b,$0000 d0 in SFC move.l run.re.DFC,d0 DC.W $4e7b,$0001 d0 in DFC move.l run.re.CACR,d0 DC.W $4e7b,$0002 d0 in CAC move.l run.re.USP,d0 DC.W $4e7b,$0800 d0 in USP move.l run.re.VBR,d0 DC.W $4e7b,$0801 d0 in VBR move.l run.re.CAAR,d0 DC.W $4e7b,$0802 d0 in CAA move.l run.re.MSP,d0 DC.W $4e7b,$0803 d0 in MSP move.l run.re.ISP,d0 DC.W $4e7b,$0804 d0 in ISP movem.l d0-a6,-(a7) move.w #$7fff,$dff096 move.w #$7fff,$dff09a lea run.ChipBuffer,a0 LoadChip lea 0,a1 move.w #255,d7 .Loop move.l (a0)+,(a1)+ dbf d7,.Loop move.l 4,a6 jsr -126(a6) Enable jsr -138(a6) Permit movem.l (a7)+,d0-a6 move.l run.ReturnCode,d0 rte ******************************************************************************* * Data Area ******************************************************************************* run.ChipBuffer BLK.L 256,0 run.ReturnCode DC.L 0 run.re.SFC DC.L 0 run.re.DFC DC.L 0 run.re.CACR DC.L 0 run.re.USP DC.L 0 run.re.VBR DC.L 0 run.re.CAAR DC.L 0 run.re.MSP DC.L 0 run.re.ISP DC.L 0 ENDM ******************************************************************************* * RETURN NoOp ******************************************************************************* RETURN MACRO jmp run.Return ENDM