summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian A. Weber <chris@gna.ch>2020-06-30 04:11:39 +0200
committerChristian A. Weber <chris@gna.ch>2020-06-30 04:11:39 +0200
commit24866348219229943214d6727ca7aa0943ddb9ea (patch)
tree50e1999779475c91ef5fed2124e6ee68565b61ba
parent2e2ecb17a3117030ac2596dbfe2cf0b51885ddc0 (diff)
downloadgameexec-24866348219229943214d6727ca7aa0943ddb9ea.tar.gz
gameexec-24866348219229943214d6727ca7aa0943ddb9ea.tar.bz2
gameexec-24866348219229943214d6727ca7aa0943ddb9ea.zip
Dokumentation, Init()-Register angepasst, Debug-Output hinzugefügt, Copyright aktualisiert
-rw-r--r--Exec.S35
1 files changed, 23 insertions, 12 deletions
diff --git a/Exec.S b/Exec.S
index 76c2ed0..b3417ca 100644
--- a/Exec.S
+++ b/Exec.S
@@ -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