From a8b16a42babba5585f72165d372be4562d814b07 Mon Sep 17 00:00:00 2001 From: "Christian A. Weber" Date: Sat, 27 Jun 2020 02:31:11 +0200 Subject: =?UTF-8?q?=C3=96ffnet=20Screen=20(f=C3=BCr=20uaegfx/Picasso=20etc?= =?UTF-8?q?.),=20Debug-Output=20ist=20nun=20seriell,=20kein=20OwnBlitter()?= =?UTF-8?q?=20mehr?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SysStart.c | 26 ++++++++++++++++++++------ 1 file 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 */ -- cgit v1.2.3