summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--SysStart.c26
1 files changed, 20 insertions, 6 deletions
diff --git a/SysStart.c b/SysStart.c
index 808bc43..505f1e1 100644
--- a/SysStart.c
+++ b/SysStart.c
@@ -63,6 +63,8 @@ LONG chipsize; /* Grösse des CHIP-RAMs für Exec */
UBYTE *fastbase; /* Startadresse des FAST-RAMs für Exec */
LONG fastsize; /* Grösse des FAST-RAMs für Exec */
+struct Screen *screen; /* Wir öffnen einen Customscreen um Picasso- oder UAE-Screenmodes abzuschalten */
+
UWORD dmaconsave, intenasave;
ULONG attnflags, vblankfreq, sysbplcon0;
BYTE oldtaskpri;
@@ -80,7 +82,7 @@ __saveds void ExitRoutine(void)
printf("done.\n");
WaitBlit();
- DisownBlitter();
+ //DisownBlitter();
custom.cop1lc = (ULONG)GfxBase->copinit; /* Bild wieder einschalten */
@@ -96,6 +98,12 @@ __saveds void ExitRoutine(void)
RemakeDisplay();
SetTaskPri(SysBase->ThisTask, oldtaskpri);
+ if (screen)
+ {
+ CloseScreen(screen);
+ screen = NULL;
+ }
+
if (fastbase)
{
FreeMem(fastbase, fastsize);
@@ -121,12 +129,12 @@ __saveds void ExitRoutine(void)
LONG Main(LONG arglen, char *argline)
{
char *module = "MainPrg";
- LONG taskpri=4;
+ LONG taskpri = 0;
OpenGfxLib();
OpenIntLib();
- Puts(ident+6);
+ printf("\n%s\n", ident+6);
AllocMem(0x40000000,0); /* Flushlibs */
AllocMem(0x40000000,0);
@@ -166,6 +174,13 @@ LONG Main(LONG arglen, char *argline)
taskpri = *argv.PriPtr;
+ if (!(screen = OpenScreenTags(NULL, SA_Depth, 1, SA_Quiet, TRUE, SA_Type, CUSTOMSCREEN, TAG_DONE)))
+ {
+ Puts("Can't open screen!");
+ ExitRoutine();
+ }
+
+
if (chipbase = AllocMem(chipsize, MEMF_CHIP|MEMF_CLEAR))
{
printf("Chip RAM: $%08lx (%ldK)\n", chipbase, chipsize >> 10);
@@ -180,7 +195,7 @@ LONG Main(LONG arglen, char *argline)
Puts("Not enough FAST RAM available");
}
- OwnBlitter();
+ //OwnBlitter();
WaitBlit();
oldtaskpri = SetTaskPri(SysBase->ThisTask,taskpri);
@@ -195,8 +210,7 @@ LONG Main(LONG arglen, char *argline)
custom.color[0] = 0xF00; /* Bildschirm rot */
- printf("Running %s ... ", module);
- RawPrintfFunc("%s: Running %s ...\r\n", ident+6, module);
+ RawPrintfFunc("\n%s: Running %s ...\r\n", ident+6, module);
InitExec( attnflags, /* D0 */
sysbplcon0, /* D1 */