diff options
author | Christian A. Weber <chris@gna.ch> | 2020-06-27 02:31:11 +0200 |
---|---|---|
committer | Christian A. Weber <chris@gna.ch> | 2020-06-27 02:31:11 +0200 |
commit | a8b16a42babba5585f72165d372be4562d814b07 (patch) | |
tree | 3b68decd5ea7faa2f8bc461dc653dc7e99af33a0 | |
parent | 1d93a7512d7eec9d5e8644f5bc2451b70a089532 (diff) | |
download | gameexec-a8b16a42babba5585f72165d372be4562d814b07.tar.gz gameexec-a8b16a42babba5585f72165d372be4562d814b07.tar.bz2 gameexec-a8b16a42babba5585f72165d372be4562d814b07.zip |
Öffnet Screen (für uaegfx/Picasso etc.), Debug-Output ist nun seriell, kein OwnBlitter() mehr
-rw-r--r-- | SysStart.c | 26 |
1 files changed, 20 insertions, 6 deletions
@@ -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 */ |