diff options
-rw-r--r-- | Exec.S | 35 |
1 files changed, 23 insertions, 12 deletions
@@ -276,10 +276,8 @@ _InitExec: VersTag: DC.B 0,"$VER: " _idstring: -ROMCrackText: DC.B "GAME EXEC Operating System V4.4 (16-Apr-92)",0 - DC.B "Copyright (c) 1989 - 1992 by Christian A. Weber," - DC.B "Bruggerweg 2, CH-8037 Zuerich, Switzerland.",10,0 - DC.B "All Rights Reserved.",10,0 +ROMCrackText: DC.B "GAME EXEC Operating System V5.0 (29-Jun-20)",0 + DC.B "Copyright (c) 1989-2020 by Christian A. Weber, Switzerland.",10,0 DC.B "Greetings to Chris Haller, René Straub, Roman Werner",10,0 DCB.B 27,0 @@ -300,9 +298,14 @@ UndefdText: DC.B "Undef'd routine",0 *** D3=Product Code, A0=CHIPRAM-Base, A1=CHIPRAM-Ende, *** A2=FASTRAM-Base, A3=FASTRAM-Ende D4=MainPrg-Name - *** SONST: + *** RAMVERSION: *** D0=AttnFlags, D1=SystemBplcon0, D2=VBlankFrequency, - *** D3=Product Code, A0=RAMDiskBase, A1=RAMDiskSize, + *** D3=MainPrg Name, A0=RAMDiskBase, A1=RAMDiskSize, + *** A2=FASTRAM-Base, A3=FASTRAM-Ende A7=CHIPRAM-Ende-8 + + *** DISKVERSION: + *** D0=AttnFlags, D1=SystemBplcon0, D2=VBlankFrequency, + *** D3=Product Code, A0=0, A1=0, *** A2=FASTRAM-Base, A3=FASTRAM-Ende A7=CHIPRAM-Ende-8 InitExecFunc: @@ -310,7 +313,11 @@ InitExecFunc: 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 + IFD RAMVERSION + SMSG <"CHIP=$000000-$%06lx, FAST=$%08lx-$%08lx, RAD=$%08lx, RADSize=%ld, VFreq=%ld, MainPrg='%s'">,a7,a2,a3,a0,a1,d2,d3 + ELSE + SMSG <"CHIP=$000000-$%06lx, FAST=$%08lx-$%08lx, VFreq=%ld, Product=%ld">,a7,a2,a3,d0,d3 + ENDC ENDC lea _custom,a5 lea __MyExecBase(PC),a6 @@ -323,16 +330,17 @@ InitExecFunc: move.w d0,meb_AttnFlags(a6) move.w d1,meb_SystemBplcon0(a6) move.b d2,meb_VBlankFrequency(a6) + IFD DISKVERSION move.w d3,meb_ProductCode(a6) - IFND DISKVERSION - move.l d4,meb_MainPrgName(a6) + ELSE + move.l d3,meb_MainPrgName(a6) ENDC IFD SYSTEM move.l (SP)+,ColdRebootJmp+2 ; Return-Adresse move.l a0,meb_ChipMRHeader+mh_Lower(a6) move.l a1,meb_ChipMRHeader+mh_Upper(a6) - ELSEIF + ELSE move.l a0,meb_RAMDiskBase(a6) ; Muss 0 sein falls kein RAM! move.l a1,meb_RAMDiskSize(a6) ; Muss 0 sein falls kein RAM! @@ -411,6 +419,7 @@ InitExecFunc: move.w #INTF_SETCLR|INTF_INTEN|INTF_VERTB|INTF_COPER,intena(a5) move.w #$7fff,dmacon(a5) ; Alle DMAs off move.w #DMAF_SETCLR|DMAF_MASTER,dmacon(a5) + SMSG <"Hardware init complete."> ENDC jsr meb_InitKey(a6) ; Tastatur on jsr meb_InitDisk(a6) ; Diskroutine on @@ -421,14 +430,16 @@ InitExecFunc: move.l meb_MainPrgName(a6),d0 ; 1. Modul jsr meb_LoadSeg(a6) movea.l d0,a0 ; Muss A0 sein, User weiss es! - SMSG <"Jumping to MainPrg at $%08lx (tada!?)">,a0 + SMSG <"Jumping to MainPrg at $%08lx (tada!)">,a0 jmp (a0) ; A6 muss MyExecBase sein! + ************************************************************************** - *** System resetten (wir sind im Supervisor) + *** System resetten (wir sind im Supervisor) oder zurück zum System ColdRebootFunc: + SMSG <"ColdReboot()"> IFD SYSTEM bsr ExitCDFunc bsr ExitKeyFunc |