--- BasiliskII/src/video.cpp 1999/10/19 19:28:12 1.2 +++ BasiliskII/src/video.cpp 2000/08/22 12:44:29 1.6 @@ -1,7 +1,7 @@ /* * video.cpp - Video/graphics emulation * - * Basilisk II (C) 1997-1999 Christian Bauer + * Basilisk II (C) 1997-2000 Christian Bauer * Portions (C) 1997-1999 Marc Hellwig * * This program is free software; you can redistribute it and/or modify @@ -244,14 +244,22 @@ int16 VideoDriverStatus(uint32 pb, uint3 case cscGetModeTiming: // Get video timing for mode D(bug(" GetModeTiming mode %08lx\n", ReadMacInt32(param + csTimingMode))); - WriteMacInt32(param + csTimingFormat, 'decl'); + WriteMacInt32(param + csTimingFormat, FOURCC('d', 'e', 'c', 'l')); WriteMacInt32(param + csTimingData, 220); // 21" Multiscan WriteMacInt32(param + csTimingFlags, 0x0f); // Mode valid, safe, default and shown in Monitors panel return noErr; case cscGetModeBaseAddress: // Get frame buffer base address D(bug(" GetModeBaseAddress\n")); - WriteMacInt32(param + csBaseAddr, VidLocal.desc->mac_frame_base); + WriteMacInt32(param + csBaseAddr, VidLocal.desc->mac_frame_base); // Base address of video RAM for the current DisplayModeID and relative bit depth + return noErr; + + case cscGetMode: // REQUIRED for MacsBug + D(bug(" GetMode\n")); + WriteMacInt16(param + csPageMode, 0x80); + WriteMacInt32(param + csPageData, 0x80); // Unused + WriteMacInt16(param + csPagePage, 0); // Current display page + WriteMacInt32(param + csPageBaseAddr, VidLocal.desc->mac_frame_base); return noErr; default: