diff options
-rw-r--r-- | Exec.S | 19 |
1 files changed, 15 insertions, 4 deletions
@@ -306,8 +306,11 @@ UndefdText: DC.B "Undef'd routine",0 *** A2=FASTRAM-Base, A3=FASTRAM-Ende A7=CHIPRAM-Ende-8 InitExecFunc: - IFND SYSTEM + IFD SYSTEM + SMSG <"CHIP=$%06lx-$%06lx, FAST=$%08lx-$%08lx">,a0,a1,a2,a3 + ELSE move #$2700,sr + SMSG <"CHIP=$%06lx-$%06lx, FAST=$%08lx-$%08lx">,a0,a7,a2,a3 ENDC lea _custom,a5 lea __MyExecBase(PC),a6 @@ -374,6 +377,7 @@ InitExecFunc: ENDC .NotFirst: + SMSG <"New stack pointer:$%08lx">,meb_SuperStackUpper(a6) *** Speicherverwaltung initialisieren @@ -382,16 +386,22 @@ InitExecFunc: movea.l meb_ChipMRHeader+mh_Lower(a6),a0 move.l meb_ChipMRHeader+mh_Upper(a6),d0 sub.l a0,d0 ; D0 := Länge - jsr meb_ClearMem(a6) ; ** DEBUG ** Cracker-Schutz: Speicher mit Muster füllen + jsr meb_ClearMem(a6) jsr meb_InitChipMem(a6) movea.l meb_FastMRHeader+mh_Lower(a6),a0 move.l meb_FastMRHeader+mh_Upper(a6),d0 sub.l a0,d0 ; D0 := Länge beq.s 2$ ; Kein FAST-RAM ---> - jsr meb_ClearMem(a6) ; ** DEBUG ** Cracker-Schutz: Speicher mit Muster füllen + jsr meb_ClearMem(a6) jsr meb_InitFastMem(a6) 2$: + IFD DEBUG + jsr meb_CheckMem(a6) ; a little testing ... + SMSG <"Memory init complete."> + ENDC + + *** Jenes Zeugs initialisieren IFND SYSTEM @@ -409,8 +419,9 @@ InitExecFunc: *** 1. File einladen & starten move.l meb_MainPrgName(a6),d0 ; 1. Modul - jsr meb_LoadSeg(a6) ; meinprg laden + jsr meb_LoadSeg(a6) movea.l d0,a0 ; Muss A0 sein, User weiss es! + SMSG <"Jumping to MainPrg at $%08lx (tada!?)">,a0 jmp (a0) ; A6 muss MyExecBase sein! ************************************************************************** |