]> Shamusworld >> Repos - apple2/blobdiff - src/applevideo.cpp
Fixed Apple power state to pause CPU thread immediately.
[apple2] / src / applevideo.cpp
index e7672cff7c2291bc44801354d0e421c8cc676514..f9a8b0da06e1a5d19010370376934037c78a34f9 100644 (file)
@@ -35,6 +35,7 @@
 #include "video.h"
 #include "charset.h"
 #include "gui/font14pt.h"
+#include "gui/gui.h"
 
 /* Reference: Technote tn-iigs-063 "Master Color Values"
 
@@ -869,43 +870,50 @@ static void RenderDHiRes(uint16_t toLine/*= 192*/)
 
 void RenderVideoFrame(void)
 {
-       if (textMode)
+       if (GUI::powerOnState == true)
        {
-               if (!col80Mode)
-                       Render40ColumnText();
+               if (textMode)
+               {
+                       if (!col80Mode)
+                               Render40ColumnText();
+                       else
+                               Render80ColumnText();
+               }
                else
-                       Render80ColumnText();
-       }
-       else
-       {
-               if (mixedMode)
                {
-                       if (hiRes)
+                       if (mixedMode)
                        {
-                               RenderHiRes(160);
-                               Render40ColumnTextLine(20);
-                               Render40ColumnTextLine(21);
-                               Render40ColumnTextLine(22);
-                               Render40ColumnTextLine(23);
+                               if (hiRes)
+                               {
+                                       RenderHiRes(160);
+                                       Render40ColumnTextLine(20);
+                                       Render40ColumnTextLine(21);
+                                       Render40ColumnTextLine(22);
+                                       Render40ColumnTextLine(23);
+                               }
+                               else
+                               {
+                                       RenderLoRes(20);
+                                       Render40ColumnTextLine(20);
+                                       Render40ColumnTextLine(21);
+                                       Render40ColumnTextLine(22);
+                                       Render40ColumnTextLine(23);
+                               }
                        }
                        else
                        {
-                               RenderLoRes(20);
-                               Render40ColumnTextLine(20);
-                               Render40ColumnTextLine(21);
-                               Render40ColumnTextLine(22);
-                               Render40ColumnTextLine(23);
+                               if (dhires)
+                                       RenderDHiRes();
+                               else if (hiRes)
+                                       RenderHiRes();
+                               else
+                                       RenderLoRes();
                        }
                }
-               else
-               {
-                       if (dhires)
-                               RenderDHiRes();
-                       else if (hiRes)
-                               RenderHiRes();
-                       else
-                               RenderLoRes();
-               }
+       }
+       else
+       {
+               memset(scrBuffer, 0, VIRTUAL_SCREEN_WIDTH * VIRTUAL_SCREEN_HEIGHT * sizeof(uint32_t));
        }
 
        if (msgTicks)