Cocoa Port:
- Add support for displaying the Real-Time Clock in the HUD.
This commit is contained in:
parent
a6a1875e05
commit
dd305b36d9
|
@ -562,9 +562,8 @@ void DrawHUD()
|
||||||
|
|
||||||
if (CommonSettings.hud.ShowRTC)
|
if (CommonSettings.hud.ShowRTC)
|
||||||
{
|
{
|
||||||
DateTime tm = rtcGetTime();
|
rtcGetTimeAsString(Hud.rtcString);
|
||||||
static const char *wday[] = { "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" };
|
osd->addFixed(Hud.RTCDisplay.x, Hud.RTCDisplay.y, Hud.rtcString);
|
||||||
osd->addFixed(Hud.RTCDisplay.x, Hud.RTCDisplay.y, "%04d-%03s-%02d %s %02d:%02d:%02d", tm.get_Year(), DateTime::GetNameOfMonth(tm.get_Month()), tm.get_Day(), wday[tm.get_DayOfWeek()%7], tm.get_Hour(), tm.get_Minute(), tm.get_Second());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
DrawStateSlots();
|
DrawStateSlots();
|
||||||
|
|
|
@ -55,6 +55,7 @@ public:
|
||||||
fps3d = 0;
|
fps3d = 0;
|
||||||
cpuload[0] = cpuload[1] = 0;
|
cpuload[0] = cpuload[1] = 0;
|
||||||
cpuloopIterationCount = 0;
|
cpuloopIterationCount = 0;
|
||||||
|
memset(rtcString, 0, sizeof(rtcString));
|
||||||
clicked = false;
|
clicked = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -72,6 +73,7 @@ public:
|
||||||
void reset();
|
void reset();
|
||||||
|
|
||||||
int fps, fps3d, cpuload[2], cpuloopIterationCount;
|
int fps, fps3d, cpuload[2], cpuloopIterationCount;
|
||||||
|
char rtcString[25];
|
||||||
bool clicked;
|
bool clicked;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -5708,11 +5708,13 @@ OGLHUDLayer::OGLHUDLayer(OGLVideoOutput *oglVO)
|
||||||
_showRender3DFPS = false;
|
_showRender3DFPS = false;
|
||||||
_showFrameIndex = false;
|
_showFrameIndex = false;
|
||||||
_showLagFrameCount = false;
|
_showLagFrameCount = false;
|
||||||
|
_showRTC = false;
|
||||||
|
|
||||||
_lastVideoFPS = 0;
|
_lastVideoFPS = 0;
|
||||||
_lastRender3DFPS = 0;
|
_lastRender3DFPS = 0;
|
||||||
_lastFrameIndex = 0;
|
_lastFrameIndex = 0;
|
||||||
_lastLagFrameCount = 0;
|
_lastLagFrameCount = 0;
|
||||||
|
memset(_lastRTCString, 0, sizeof(_lastRTCString));
|
||||||
_textBoxLines = 0;
|
_textBoxLines = 0;
|
||||||
_textBoxWidth = 0;
|
_textBoxWidth = 0;
|
||||||
|
|
||||||
|
@ -5921,12 +5923,13 @@ void OGLHUDLayer::SetFontUsingPath(const char *filePath)
|
||||||
glBindTexture(GL_TEXTURE_2D, 0);
|
glBindTexture(GL_TEXTURE_2D, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
void OGLHUDLayer::SetInfo(const uint32_t videoFPS, const uint32_t render3DFPS, const uint32_t frameIndex, const uint32_t lagFrameCount)
|
void OGLHUDLayer::SetInfo(const uint32_t videoFPS, const uint32_t render3DFPS, const uint32_t frameIndex, const uint32_t lagFrameCount, const char *rtcString)
|
||||||
{
|
{
|
||||||
this->_lastVideoFPS = videoFPS;
|
this->_lastVideoFPS = videoFPS;
|
||||||
this->_lastRender3DFPS = render3DFPS;
|
this->_lastRender3DFPS = render3DFPS;
|
||||||
this->_lastFrameIndex = frameIndex;
|
this->_lastFrameIndex = frameIndex;
|
||||||
this->_lastLagFrameCount = lagFrameCount;
|
this->_lastLagFrameCount = lagFrameCount;
|
||||||
|
memcpy(this->_lastRTCString, rtcString, sizeof(this->_lastRTCString));
|
||||||
|
|
||||||
this->RefreshInfo();
|
this->RefreshInfo();
|
||||||
}
|
}
|
||||||
|
@ -5978,6 +5981,17 @@ void OGLHUDLayer::RefreshInfo()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (this->_showRTC)
|
||||||
|
{
|
||||||
|
ss << "RTC: " << this->_lastRTCString << "\n";
|
||||||
|
|
||||||
|
const GLint newTextBoxWidth = (charSize * 10.3f) + 6.5f;
|
||||||
|
if (newTextBoxWidth > this->_textBoxWidth)
|
||||||
|
{
|
||||||
|
this->_textBoxWidth = newTextBoxWidth;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
this->_statusString = ss.str();
|
this->_statusString = ss.str();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -6042,6 +6056,16 @@ bool OGLHUDLayer::GetShowLagFrameCount() const
|
||||||
return this->_showLagFrameCount;
|
return this->_showLagFrameCount;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void OGLHUDLayer::SetShowRTC(const bool visibleState)
|
||||||
|
{
|
||||||
|
this->_SetShowInfoItemOGL(this->_showRTC, visibleState);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool OGLHUDLayer::GetShowRTC() const
|
||||||
|
{
|
||||||
|
return this->_showRTC;
|
||||||
|
}
|
||||||
|
|
||||||
void OGLHUDLayer::_ProcessVerticesOGL()
|
void OGLHUDLayer::_ProcessVerticesOGL()
|
||||||
{
|
{
|
||||||
if (this->_textBoxLines <= 0)
|
if (this->_textBoxLines <= 0)
|
||||||
|
|
|
@ -318,11 +318,13 @@ protected:
|
||||||
bool _showRender3DFPS;
|
bool _showRender3DFPS;
|
||||||
bool _showFrameIndex;
|
bool _showFrameIndex;
|
||||||
bool _showLagFrameCount;
|
bool _showLagFrameCount;
|
||||||
|
bool _showRTC;
|
||||||
|
|
||||||
uint32_t _lastVideoFPS;
|
uint32_t _lastVideoFPS;
|
||||||
uint32_t _lastRender3DFPS;
|
uint32_t _lastRender3DFPS;
|
||||||
uint32_t _lastFrameIndex;
|
uint32_t _lastFrameIndex;
|
||||||
uint32_t _lastLagFrameCount;
|
uint32_t _lastLagFrameCount;
|
||||||
|
char _lastRTCString[25];
|
||||||
|
|
||||||
GLint _textBoxLines;
|
GLint _textBoxLines;
|
||||||
GLint _textBoxWidth;
|
GLint _textBoxWidth;
|
||||||
|
@ -336,7 +338,7 @@ public:
|
||||||
|
|
||||||
void SetFontUsingPath(const char *filePath);
|
void SetFontUsingPath(const char *filePath);
|
||||||
|
|
||||||
void SetInfo(const uint32_t videoFPS, const uint32_t render3DFPS, const uint32_t frameIndex, const uint32_t lagFrameCount);
|
void SetInfo(const uint32_t videoFPS, const uint32_t render3DFPS, const uint32_t frameIndex, const uint32_t lagFrameCount, const char *rtcString);
|
||||||
void RefreshInfo();
|
void RefreshInfo();
|
||||||
|
|
||||||
void SetShowVideoFPS(const bool visibleState);
|
void SetShowVideoFPS(const bool visibleState);
|
||||||
|
@ -347,6 +349,8 @@ public:
|
||||||
bool GetShowFrameIndex() const;
|
bool GetShowFrameIndex() const;
|
||||||
void SetShowLagFrameCount(const bool visibleState);
|
void SetShowLagFrameCount(const bool visibleState);
|
||||||
bool GetShowLagFrameCount() const;
|
bool GetShowLagFrameCount() const;
|
||||||
|
void SetShowRTC(const bool visibleState);
|
||||||
|
bool GetShowRTC() const;
|
||||||
|
|
||||||
virtual void SetViewportSizeOGL(GLsizei w, GLsizei h);
|
virtual void SetViewportSizeOGL(GLsizei w, GLsizei h);
|
||||||
virtual void ProcessOGL();
|
virtual void ProcessOGL();
|
||||||
|
|
|
@ -52,6 +52,7 @@ struct NDSFrameInfo
|
||||||
uint32_t render3DFPS;
|
uint32_t render3DFPS;
|
||||||
uint32_t frameIndex;
|
uint32_t frameIndex;
|
||||||
uint32_t lagFrameCount;
|
uint32_t lagFrameCount;
|
||||||
|
char rtcString[25];
|
||||||
};
|
};
|
||||||
|
|
||||||
typedef struct NDSFrameInfo NDSFrameInfo;
|
typedef struct NDSFrameInfo NDSFrameInfo;
|
||||||
|
|
|
@ -29,6 +29,7 @@
|
||||||
#include "../SPU.h"
|
#include "../SPU.h"
|
||||||
#include "../movie.h"
|
#include "../movie.h"
|
||||||
#include "../metaspu/metaspu.h"
|
#include "../metaspu/metaspu.h"
|
||||||
|
#include "../rtc.h"
|
||||||
|
|
||||||
#import <Cocoa/Cocoa.h>
|
#import <Cocoa/Cocoa.h>
|
||||||
|
|
||||||
|
@ -832,6 +833,7 @@
|
||||||
frameInfo.render3DFPS = Render3DFramesPerSecond;
|
frameInfo.render3DFPS = Render3DFramesPerSecond;
|
||||||
frameInfo.frameIndex = currFrameCounter;
|
frameInfo.frameIndex = currFrameCounter;
|
||||||
frameInfo.lagFrameCount = TotalLagFrames;
|
frameInfo.lagFrameCount = TotalLagFrames;
|
||||||
|
rtcGetTimeAsString(frameInfo.rtcString);
|
||||||
|
|
||||||
[(id<CocoaDSDisplayVideoDelegate>)delegate doProcessVideoFrameWithInfo:frameInfo];
|
[(id<CocoaDSDisplayVideoDelegate>)delegate doProcessVideoFrameWithInfo:frameInfo];
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
<object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
|
<object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
|
||||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||||
<integer value="795"/>
|
<integer value="795"/>
|
||||||
<integer value="29"/>
|
<integer value="10142"/>
|
||||||
</object>
|
</object>
|
||||||
<object class="NSArray" key="IBDocument.PluginDependencies">
|
<object class="NSArray" key="IBDocument.PluginDependencies">
|
||||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||||
|
@ -1671,7 +1671,6 @@
|
||||||
</object>
|
</object>
|
||||||
<object class="NSMenuItem" id="713295923">
|
<object class="NSMenuItem" id="713295923">
|
||||||
<reference key="NSMenu" ref="240738211"/>
|
<reference key="NSMenu" ref="240738211"/>
|
||||||
<bool key="NSIsDisabled">YES</bool>
|
|
||||||
<string key="NSTitle">Real-Time Clock</string>
|
<string key="NSTitle">Real-Time Clock</string>
|
||||||
<string key="NSKeyEquiv"/>
|
<string key="NSKeyEquiv"/>
|
||||||
<int key="NSMnemonicLoc">2147483647</int>
|
<int key="NSMnemonicLoc">2147483647</int>
|
||||||
|
@ -5842,7 +5841,7 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2
|
||||||
<string key="NSReuseIdentifierKey">_NS:682</string>
|
<string key="NSReuseIdentifierKey">_NS:682</string>
|
||||||
<bool key="NSEnabled">YES</bool>
|
<bool key="NSEnabled">YES</bool>
|
||||||
<object class="NSButtonCell" key="NSCell" id="485509450">
|
<object class="NSButtonCell" key="NSCell" id="485509450">
|
||||||
<int key="NSCellFlags">-2080374784</int>
|
<int key="NSCellFlags">67108864</int>
|
||||||
<int key="NSCellFlags2">0</int>
|
<int key="NSCellFlags2">0</int>
|
||||||
<string key="NSContents">Enable Heads-Up Display</string>
|
<string key="NSContents">Enable Heads-Up Display</string>
|
||||||
<reference key="NSSupport" ref="462791774"/>
|
<reference key="NSSupport" ref="462791774"/>
|
||||||
|
@ -5892,7 +5891,7 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2
|
||||||
<string key="NSReuseIdentifierKey">_NS:682</string>
|
<string key="NSReuseIdentifierKey">_NS:682</string>
|
||||||
<bool key="NSEnabled">YES</bool>
|
<bool key="NSEnabled">YES</bool>
|
||||||
<object class="NSButtonCell" key="NSCell" id="448115349">
|
<object class="NSButtonCell" key="NSCell" id="448115349">
|
||||||
<int key="NSCellFlags">-2080374784</int>
|
<int key="NSCellFlags">67108864</int>
|
||||||
<int key="NSCellFlags2">0</int>
|
<int key="NSCellFlags2">0</int>
|
||||||
<string key="NSContents">Show 3D Renderer FPS</string>
|
<string key="NSContents">Show 3D Renderer FPS</string>
|
||||||
<reference key="NSSupport" ref="462791774"/>
|
<reference key="NSSupport" ref="462791774"/>
|
||||||
|
@ -5917,7 +5916,7 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2
|
||||||
<string key="NSReuseIdentifierKey">_NS:682</string>
|
<string key="NSReuseIdentifierKey">_NS:682</string>
|
||||||
<bool key="NSEnabled">YES</bool>
|
<bool key="NSEnabled">YES</bool>
|
||||||
<object class="NSButtonCell" key="NSCell" id="151263599">
|
<object class="NSButtonCell" key="NSCell" id="151263599">
|
||||||
<int key="NSCellFlags">-2080374784</int>
|
<int key="NSCellFlags">67108864</int>
|
||||||
<int key="NSCellFlags2">0</int>
|
<int key="NSCellFlags2">0</int>
|
||||||
<string key="NSContents">Show Frame Index</string>
|
<string key="NSContents">Show Frame Index</string>
|
||||||
<reference key="NSSupport" ref="462791774"/>
|
<reference key="NSSupport" ref="462791774"/>
|
||||||
|
@ -5942,7 +5941,7 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2
|
||||||
<string key="NSReuseIdentifierKey">_NS:682</string>
|
<string key="NSReuseIdentifierKey">_NS:682</string>
|
||||||
<bool key="NSEnabled">YES</bool>
|
<bool key="NSEnabled">YES</bool>
|
||||||
<object class="NSButtonCell" key="NSCell" id="577627485">
|
<object class="NSButtonCell" key="NSCell" id="577627485">
|
||||||
<int key="NSCellFlags">-2080374784</int>
|
<int key="NSCellFlags">67108864</int>
|
||||||
<int key="NSCellFlags2">0</int>
|
<int key="NSCellFlags2">0</int>
|
||||||
<string key="NSContents">Show Lag Counter</string>
|
<string key="NSContents">Show Lag Counter</string>
|
||||||
<reference key="NSSupport" ref="462791774"/>
|
<reference key="NSSupport" ref="462791774"/>
|
||||||
|
@ -5992,7 +5991,7 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2
|
||||||
<string key="NSReuseIdentifierKey">_NS:682</string>
|
<string key="NSReuseIdentifierKey">_NS:682</string>
|
||||||
<bool key="NSEnabled">YES</bool>
|
<bool key="NSEnabled">YES</bool>
|
||||||
<object class="NSButtonCell" key="NSCell" id="922088406">
|
<object class="NSButtonCell" key="NSCell" id="922088406">
|
||||||
<int key="NSCellFlags">603979776</int>
|
<int key="NSCellFlags">67108864</int>
|
||||||
<int key="NSCellFlags2">0</int>
|
<int key="NSCellFlags2">0</int>
|
||||||
<string key="NSContents">Show Real Time Clock</string>
|
<string key="NSContents">Show Real Time Clock</string>
|
||||||
<reference key="NSSupport" ref="462791774"/>
|
<reference key="NSSupport" ref="462791774"/>
|
||||||
|
@ -21054,7 +21053,7 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2
|
||||||
<reference key="NSSuperview" ref="1004755540"/>
|
<reference key="NSSuperview" ref="1004755540"/>
|
||||||
<bool key="NSEnabled">YES</bool>
|
<bool key="NSEnabled">YES</bool>
|
||||||
<object class="NSButtonCell" key="NSCell" id="975096499">
|
<object class="NSButtonCell" key="NSCell" id="975096499">
|
||||||
<int key="NSCellFlags">603979776</int>
|
<int key="NSCellFlags">67108864</int>
|
||||||
<int key="NSCellFlags2">131072</int>
|
<int key="NSCellFlags2">131072</int>
|
||||||
<string key="NSContents">Real Time Clock</string>
|
<string key="NSContents">Real Time Clock</string>
|
||||||
<reference key="NSSupport" ref="26"/>
|
<reference key="NSSupport" ref="26"/>
|
||||||
|
@ -29814,6 +29813,7 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2
|
||||||
<string>mainWindow.view.isHUDRender3DFPSVisible</string>
|
<string>mainWindow.view.isHUDRender3DFPSVisible</string>
|
||||||
<string>mainWindow.view.isHUDFrameIndexVisible</string>
|
<string>mainWindow.view.isHUDFrameIndexVisible</string>
|
||||||
<string>mainWindow.view.isHUDLagFrameCountVisible</string>
|
<string>mainWindow.view.isHUDLagFrameCountVisible</string>
|
||||||
|
<string>mainWindow.view.isHUDRealTimeClockVisible</string>
|
||||||
</object>
|
</object>
|
||||||
<string key="NSObjectClassName">EmuControllerDelegate</string>
|
<string key="NSObjectClassName">EmuControllerDelegate</string>
|
||||||
<object class="_NSManagedProxy" key="_NSManagedProxy"/>
|
<object class="_NSManagedProxy" key="_NSManagedProxy"/>
|
||||||
|
@ -30083,6 +30083,10 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2
|
||||||
<bool key="NSClearsFilterPredicateOnInsertion">YES</bool>
|
<bool key="NSClearsFilterPredicateOnInsertion">YES</bool>
|
||||||
</object>
|
</object>
|
||||||
<object class="NSUserDefaultsController" id="178548672">
|
<object class="NSUserDefaultsController" id="178548672">
|
||||||
|
<object class="NSMutableArray" key="NSDeclaredKeys">
|
||||||
|
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||||
|
<string>HUD_ShowRTC</string>
|
||||||
|
</object>
|
||||||
<bool key="NSSharedInstance">YES</bool>
|
<bool key="NSSharedInstance">YES</bool>
|
||||||
</object>
|
</object>
|
||||||
</object>
|
</object>
|
||||||
|
@ -42648,6 +42652,46 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2
|
||||||
</object>
|
</object>
|
||||||
<int key="connectionID">10186</int>
|
<int key="connectionID">10186</int>
|
||||||
</object>
|
</object>
|
||||||
|
<object class="IBConnectionRecord">
|
||||||
|
<object class="IBBindingConnection" key="connection">
|
||||||
|
<string key="label">value: selection.mainWindow.view.isHUDRealTimeClockVisible</string>
|
||||||
|
<reference key="source" ref="523387766"/>
|
||||||
|
<reference key="destination" ref="258098641"/>
|
||||||
|
<object class="NSNibBindingConnector" key="connector">
|
||||||
|
<reference key="NSSource" ref="523387766"/>
|
||||||
|
<reference key="NSDestination" ref="258098641"/>
|
||||||
|
<string key="NSLabel">value: selection.mainWindow.view.isHUDRealTimeClockVisible</string>
|
||||||
|
<string key="NSBinding">value</string>
|
||||||
|
<string key="NSKeyPath">selection.mainWindow.view.isHUDRealTimeClockVisible</string>
|
||||||
|
<int key="NSNibBindingConnectorVersion">2</int>
|
||||||
|
</object>
|
||||||
|
</object>
|
||||||
|
<int key="connectionID">10187</int>
|
||||||
|
</object>
|
||||||
|
<object class="IBConnectionRecord">
|
||||||
|
<object class="IBBindingConnection" key="connection">
|
||||||
|
<string key="label">value: values.HUD_ShowRTC</string>
|
||||||
|
<reference key="source" ref="821096320"/>
|
||||||
|
<reference key="destination" ref="178548672"/>
|
||||||
|
<object class="NSNibBindingConnector" key="connector">
|
||||||
|
<reference key="NSSource" ref="821096320"/>
|
||||||
|
<reference key="NSDestination" ref="178548672"/>
|
||||||
|
<string key="NSLabel">value: values.HUD_ShowRTC</string>
|
||||||
|
<string key="NSBinding">value</string>
|
||||||
|
<string key="NSKeyPath">values.HUD_ShowRTC</string>
|
||||||
|
<int key="NSNibBindingConnectorVersion">2</int>
|
||||||
|
</object>
|
||||||
|
</object>
|
||||||
|
<int key="connectionID">10188</int>
|
||||||
|
</object>
|
||||||
|
<object class="IBConnectionRecord">
|
||||||
|
<object class="IBActionConnection" key="connection">
|
||||||
|
<string key="label">toggleShowHUDRealTimeClock:</string>
|
||||||
|
<reference key="source" ref="1014"/>
|
||||||
|
<reference key="destination" ref="713295923"/>
|
||||||
|
</object>
|
||||||
|
<int key="connectionID">10189</int>
|
||||||
|
</object>
|
||||||
</object>
|
</object>
|
||||||
<object class="IBMutableOrderedSet" key="objectRecords">
|
<object class="IBMutableOrderedSet" key="objectRecords">
|
||||||
<object class="NSArray" key="orderedObjects">
|
<object class="NSArray" key="orderedObjects">
|
||||||
|
@ -43180,14 +43224,14 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2
|
||||||
<object class="NSMutableArray" key="children">
|
<object class="NSMutableArray" key="children">
|
||||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||||
<reference ref="304092617"/>
|
<reference ref="304092617"/>
|
||||||
<reference ref="523387766"/>
|
|
||||||
<reference ref="269230248"/>
|
<reference ref="269230248"/>
|
||||||
<reference ref="189973188"/>
|
<reference ref="189973188"/>
|
||||||
<reference ref="708958649"/>
|
|
||||||
<reference ref="272928836"/>
|
<reference ref="272928836"/>
|
||||||
<reference ref="278136792"/>
|
<reference ref="278136792"/>
|
||||||
<reference ref="302843702"/>
|
<reference ref="302843702"/>
|
||||||
<reference ref="448396937"/>
|
<reference ref="448396937"/>
|
||||||
|
<reference ref="708958649"/>
|
||||||
|
<reference ref="523387766"/>
|
||||||
</object>
|
</object>
|
||||||
<reference key="parent" ref="485576541"/>
|
<reference key="parent" ref="485576541"/>
|
||||||
</object>
|
</object>
|
||||||
|
@ -57617,9 +57661,9 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2
|
||||||
<reference ref="987081603"/>
|
<reference ref="987081603"/>
|
||||||
<reference ref="162261505"/>
|
<reference ref="162261505"/>
|
||||||
<reference ref="250008560"/>
|
<reference ref="250008560"/>
|
||||||
<reference ref="821096320"/>
|
|
||||||
<reference ref="115372504"/>
|
|
||||||
<reference ref="770825807"/>
|
<reference ref="770825807"/>
|
||||||
|
<reference ref="115372504"/>
|
||||||
|
<reference ref="821096320"/>
|
||||||
</object>
|
</object>
|
||||||
<reference key="parent" ref="460623416"/>
|
<reference key="parent" ref="460623416"/>
|
||||||
</object>
|
</object>
|
||||||
|
@ -62905,7 +62949,7 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<object class="NSAffineTransform">
|
<object class="NSAffineTransform">
|
||||||
<bytes key="NSTransformStruct">P4AAAL+AAABBkAAAwsYAAA</bytes>
|
<bytes key="NSTransformStruct">P4AAAL+AAABBgAAAwsYAAA</bytes>
|
||||||
</object>
|
</object>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
|
@ -62944,7 +62988,7 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<object class="NSAffineTransform">
|
<object class="NSAffineTransform">
|
||||||
<bytes key="NSTransformStruct">P4AAAL+AAABBkAAAwmwAAA</bytes>
|
<bytes key="NSTransformStruct">P4AAAL+AAABBgAAAwmwAAA</bytes>
|
||||||
</object>
|
</object>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
|
@ -63708,7 +63752,7 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2
|
||||||
</object>
|
</object>
|
||||||
</object>
|
</object>
|
||||||
<nil key="sourceID"/>
|
<nil key="sourceID"/>
|
||||||
<int key="maxID">10186</int>
|
<int key="maxID">10189</int>
|
||||||
</object>
|
</object>
|
||||||
<object class="IBClassDescriber" key="IBDocument.Classes">
|
<object class="IBClassDescriber" key="IBDocument.Classes">
|
||||||
<object class="NSMutableArray" key="referencedPartialClassDescriptions">
|
<object class="NSMutableArray" key="referencedPartialClassDescriptions">
|
||||||
|
@ -67079,7 +67123,7 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2
|
||||||
<integer value="3100" key="NS.object.0"/>
|
<integer value="3100" key="NS.object.0"/>
|
||||||
</object>
|
</object>
|
||||||
<bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
|
<bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
|
||||||
<nil key="IBDocument.LastKnownRelativeProjectPath"/>
|
<string key="IBDocument.LastKnownRelativeProjectPath">../../DeSmuME (XCode 3).xcodeproj</string>
|
||||||
<int key="IBDocument.defaultPropertyAccessControl">3</int>
|
<int key="IBDocument.defaultPropertyAccessControl">3</int>
|
||||||
<object class="NSMutableDictionary" key="IBDocument.LastKnownImageSizes">
|
<object class="NSMutableDictionary" key="IBDocument.LastKnownImageSizes">
|
||||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||||
|
|
|
@ -60,6 +60,7 @@ class OGLVideoOutput;
|
||||||
@property (assign) BOOL isHUDRender3DFPSVisible;
|
@property (assign) BOOL isHUDRender3DFPSVisible;
|
||||||
@property (assign) BOOL isHUDFrameIndexVisible;
|
@property (assign) BOOL isHUDFrameIndexVisible;
|
||||||
@property (assign) BOOL isHUDLagFrameCountVisible;
|
@property (assign) BOOL isHUDLagFrameCountVisible;
|
||||||
|
@property (assign) BOOL isHUDRealTimeClockVisible;
|
||||||
@property (assign) BOOL useVerticalSync;
|
@property (assign) BOOL useVerticalSync;
|
||||||
@property (assign) BOOL videoFiltersPreferGPU;
|
@property (assign) BOOL videoFiltersPreferGPU;
|
||||||
@property (assign) BOOL sourceDeposterize;
|
@property (assign) BOOL sourceDeposterize;
|
||||||
|
|
|
@ -494,9 +494,9 @@ static std::unordered_map<NSScreen *, DisplayWindowController *> _screenMap; //
|
||||||
[[self view] setIsHUDRender3DFPSVisible:[[NSUserDefaults standardUserDefaults] boolForKey:@"HUD_ShowRender3DFPS"]];
|
[[self view] setIsHUDRender3DFPSVisible:[[NSUserDefaults standardUserDefaults] boolForKey:@"HUD_ShowRender3DFPS"]];
|
||||||
[[self view] setIsHUDFrameIndexVisible:[[NSUserDefaults standardUserDefaults] boolForKey:@"HUD_ShowFrameIndex"]];
|
[[self view] setIsHUDFrameIndexVisible:[[NSUserDefaults standardUserDefaults] boolForKey:@"HUD_ShowFrameIndex"]];
|
||||||
[[self view] setIsHUDLagFrameCountVisible:[[NSUserDefaults standardUserDefaults] boolForKey:@"HUD_ShowLagFrameCount"]];
|
[[self view] setIsHUDLagFrameCountVisible:[[NSUserDefaults standardUserDefaults] boolForKey:@"HUD_ShowLagFrameCount"]];
|
||||||
// TODO: Show HUD Input and RTC.
|
[[self view] setIsHUDRealTimeClockVisible:[[NSUserDefaults standardUserDefaults] boolForKey:@"HUD_ShowRTC"]];
|
||||||
|
// TODO: Show HUD Input.
|
||||||
//[[self view] setIsHUDInputVisible:[[NSUserDefaults standardUserDefaults] boolForKey:@"HUD_ShowInput"]];
|
//[[self view] setIsHUDInputVisible:[[NSUserDefaults standardUserDefaults] boolForKey:@"HUD_ShowInput"]];
|
||||||
//[[self view] setIsHUDRealTimeClockVisible:[[NSUserDefaults standardUserDefaults] boolForKey:@"HUD_ShowRTC"]];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
- (NSSize) normalSize
|
- (NSSize) normalSize
|
||||||
|
@ -742,7 +742,7 @@ static std::unordered_map<NSScreen *, DisplayWindowController *> _screenMap; //
|
||||||
|
|
||||||
- (IBAction) toggleShowHUDRealTimeClock:(id)sender
|
- (IBAction) toggleShowHUDRealTimeClock:(id)sender
|
||||||
{
|
{
|
||||||
//[[self view] setIsHUDRealTimeClockVisible:![[self view] isHUDRealTimeClockVisible]];
|
[[self view] setIsHUDRealTimeClockVisible:![[self view] isHUDRealTimeClockVisible]];
|
||||||
}
|
}
|
||||||
|
|
||||||
- (IBAction) toggleKeepMinDisplaySizeAtNormal:(id)sender
|
- (IBAction) toggleKeepMinDisplaySizeAtNormal:(id)sender
|
||||||
|
@ -935,9 +935,9 @@ static std::unordered_map<NSScreen *, DisplayWindowController *> _screenMap; //
|
||||||
[[NSUserDefaults standardUserDefaults] setBool:[[self view] isHUDRender3DFPSVisible] forKey:@"HUD_ShowRender3DFPS"];
|
[[NSUserDefaults standardUserDefaults] setBool:[[self view] isHUDRender3DFPSVisible] forKey:@"HUD_ShowRender3DFPS"];
|
||||||
[[NSUserDefaults standardUserDefaults] setBool:[[self view] isHUDFrameIndexVisible] forKey:@"HUD_ShowFrameIndex"];
|
[[NSUserDefaults standardUserDefaults] setBool:[[self view] isHUDFrameIndexVisible] forKey:@"HUD_ShowFrameIndex"];
|
||||||
[[NSUserDefaults standardUserDefaults] setBool:[[self view] isHUDLagFrameCountVisible] forKey:@"HUD_ShowLagFrameCount"];
|
[[NSUserDefaults standardUserDefaults] setBool:[[self view] isHUDLagFrameCountVisible] forKey:@"HUD_ShowLagFrameCount"];
|
||||||
// TODO: Show HUD Input and RTC.
|
[[NSUserDefaults standardUserDefaults] setBool:[[self view] isHUDRealTimeClockVisible] forKey:@"HUD_ShowRTC"];
|
||||||
|
// TODO: Show HUD Input.
|
||||||
//[[NSUserDefaults standardUserDefaults] setBool:[[self view] isHUDInputVisible] forKey:@"HUD_ShowInput"];
|
//[[NSUserDefaults standardUserDefaults] setBool:[[self view] isHUDInputVisible] forKey:@"HUD_ShowInput"];
|
||||||
//[[NSUserDefaults standardUserDefaults] setBool:[[self view] isHUDRealTimeClockVisible] forKey:@"HUD_ShowRTC"];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
- (IBAction) writeDefaultsDisplayVideoSettings:(id)sender
|
- (IBAction) writeDefaultsDisplayVideoSettings:(id)sender
|
||||||
|
@ -1122,6 +1122,13 @@ static std::unordered_map<NSScreen *, DisplayWindowController *> _screenMap; //
|
||||||
[(NSMenuItem *)theItem setState:([[self view] isHUDLagFrameCountVisible]) ? NSOnState : NSOffState];
|
[(NSMenuItem *)theItem setState:([[self view] isHUDLagFrameCountVisible]) ? NSOnState : NSOffState];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else if (theAction == @selector(toggleShowHUDRealTimeClock:))
|
||||||
|
{
|
||||||
|
if ([(id)theItem isMemberOfClass:[NSMenuItem class]])
|
||||||
|
{
|
||||||
|
[(NSMenuItem *)theItem setState:([[self view] isHUDRealTimeClockVisible]) ? NSOnState : NSOffState];
|
||||||
|
}
|
||||||
|
}
|
||||||
else if (theAction == @selector(toggleStatusBar:))
|
else if (theAction == @selector(toggleStatusBar:))
|
||||||
{
|
{
|
||||||
if ([(id)theItem isMemberOfClass:[NSMenuItem class]])
|
if ([(id)theItem isMemberOfClass:[NSMenuItem class]])
|
||||||
|
@ -1371,6 +1378,7 @@ static std::unordered_map<NSScreen *, DisplayWindowController *> _screenMap; //
|
||||||
@dynamic isHUDRender3DFPSVisible;
|
@dynamic isHUDRender3DFPSVisible;
|
||||||
@dynamic isHUDFrameIndexVisible;
|
@dynamic isHUDFrameIndexVisible;
|
||||||
@dynamic isHUDLagFrameCountVisible;
|
@dynamic isHUDLagFrameCountVisible;
|
||||||
|
@dynamic isHUDRealTimeClockVisible;
|
||||||
@dynamic useVerticalSync;
|
@dynamic useVerticalSync;
|
||||||
@dynamic videoFiltersPreferGPU;
|
@dynamic videoFiltersPreferGPU;
|
||||||
@dynamic sourceDeposterize;
|
@dynamic sourceDeposterize;
|
||||||
|
@ -1585,6 +1593,28 @@ static std::unordered_map<NSScreen *, DisplayWindowController *> _screenMap; //
|
||||||
return theState;
|
return theState;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
- (void) setIsHUDRealTimeClockVisible:(BOOL)theState
|
||||||
|
{
|
||||||
|
OSSpinLockLock(&spinlockIsHUDVisible);
|
||||||
|
|
||||||
|
CGLLockContext(cglDisplayContext);
|
||||||
|
CGLSetCurrentContext(cglDisplayContext);
|
||||||
|
oglv->GetHUDLayer()->SetShowRTC((theState) ? true : false);
|
||||||
|
[self drawVideoFrame];
|
||||||
|
CGLUnlockContext(cglDisplayContext);
|
||||||
|
|
||||||
|
OSSpinLockUnlock(&spinlockIsHUDVisible);
|
||||||
|
}
|
||||||
|
|
||||||
|
- (BOOL) isHUDRealTimeClockVisible
|
||||||
|
{
|
||||||
|
OSSpinLockLock(&spinlockIsHUDVisible);
|
||||||
|
const BOOL theState = (oglv->GetHUDLayer()->GetShowRTC()) ? YES : NO;
|
||||||
|
OSSpinLockUnlock(&spinlockIsHUDVisible);
|
||||||
|
|
||||||
|
return theState;
|
||||||
|
}
|
||||||
|
|
||||||
- (void) setUseVerticalSync:(BOOL)theState
|
- (void) setUseVerticalSync:(BOOL)theState
|
||||||
{
|
{
|
||||||
OSSpinLockLock(&spinlockUseVerticalSync);
|
OSSpinLockLock(&spinlockUseVerticalSync);
|
||||||
|
@ -2045,7 +2075,8 @@ static std::unordered_map<NSScreen *, DisplayWindowController *> _screenMap; //
|
||||||
hudLayer->SetInfo(frameInfo.videoFPS,
|
hudLayer->SetInfo(frameInfo.videoFPS,
|
||||||
frameInfo.render3DFPS,
|
frameInfo.render3DFPS,
|
||||||
frameInfo.frameIndex,
|
frameInfo.frameIndex,
|
||||||
frameInfo.lagFrameCount);
|
frameInfo.lagFrameCount,
|
||||||
|
frameInfo.rtcString);
|
||||||
hudLayer->ProcessOGL();
|
hudLayer->ProcessOGL();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -632,9 +632,9 @@
|
||||||
const BOOL hudShowRender3DFPS = [(NSNumber *)[windowProperties valueForKey:@"hudShowRender3DFPS"] boolValue];
|
const BOOL hudShowRender3DFPS = [(NSNumber *)[windowProperties valueForKey:@"hudShowRender3DFPS"] boolValue];
|
||||||
const BOOL hudShowFrameIndex = [(NSNumber *)[windowProperties valueForKey:@"hudShowFrameIndex"] boolValue];
|
const BOOL hudShowFrameIndex = [(NSNumber *)[windowProperties valueForKey:@"hudShowFrameIndex"] boolValue];
|
||||||
const BOOL hudShowLagFrameCount = [(NSNumber *)[windowProperties valueForKey:@"hudShowLagFrameCount"] boolValue];
|
const BOOL hudShowLagFrameCount = [(NSNumber *)[windowProperties valueForKey:@"hudShowLagFrameCount"] boolValue];
|
||||||
// TODO: Show HUD Input and RTC.
|
const BOOL hudShowRTC = [(NSNumber *)[windowProperties valueForKey:@"hudShowRTC"] boolValue];
|
||||||
|
// TODO: Show HUD Input.
|
||||||
//const BOOL hudShowInput = [(NSNumber *)[windowProperties valueForKey:@"hudShowInput"] boolValue];
|
//const BOOL hudShowInput = [(NSNumber *)[windowProperties valueForKey:@"hudShowInput"] boolValue];
|
||||||
//const BOOL hudShowRTC = [(NSNumber *)[windowProperties valueForKey:@"hudShowRTC"] boolValue];
|
|
||||||
|
|
||||||
const NSInteger screenshotFileFormat = [(NSNumber *)[windowProperties valueForKey:@"screenshotFileFormat"] integerValue];
|
const NSInteger screenshotFileFormat = [(NSNumber *)[windowProperties valueForKey:@"screenshotFileFormat"] integerValue];
|
||||||
const BOOL useVerticalSync = [(NSNumber *)[windowProperties valueForKey:@"useVerticalSync"] boolValue];
|
const BOOL useVerticalSync = [(NSNumber *)[windowProperties valueForKey:@"useVerticalSync"] boolValue];
|
||||||
|
@ -670,6 +670,7 @@
|
||||||
[[windowController view] setIsHUDRender3DFPSVisible:hudShowRender3DFPS];
|
[[windowController view] setIsHUDRender3DFPSVisible:hudShowRender3DFPS];
|
||||||
[[windowController view] setIsHUDFrameIndexVisible:hudShowFrameIndex];
|
[[windowController view] setIsHUDFrameIndexVisible:hudShowFrameIndex];
|
||||||
[[windowController view] setIsHUDLagFrameCountVisible:hudShowLagFrameCount];
|
[[windowController view] setIsHUDLagFrameCountVisible:hudShowLagFrameCount];
|
||||||
|
[[windowController view] setIsHUDRealTimeClockVisible:hudShowRTC];
|
||||||
|
|
||||||
[[windowController masterWindow] setFrameOrigin:NSMakePoint(frameX, frameY)];
|
[[windowController masterWindow] setFrameOrigin:NSMakePoint(frameX, frameY)];
|
||||||
|
|
||||||
|
@ -741,6 +742,7 @@
|
||||||
[NSNumber numberWithBool:[[windowController view] isHUDRender3DFPSVisible]], @"hudShowRender3DFPS",
|
[NSNumber numberWithBool:[[windowController view] isHUDRender3DFPSVisible]], @"hudShowRender3DFPS",
|
||||||
[NSNumber numberWithBool:[[windowController view] isHUDFrameIndexVisible]], @"hudShowFrameIndex",
|
[NSNumber numberWithBool:[[windowController view] isHUDFrameIndexVisible]], @"hudShowFrameIndex",
|
||||||
[NSNumber numberWithBool:[[windowController view] isHUDLagFrameCountVisible]], @"hudShowLagFrameCount",
|
[NSNumber numberWithBool:[[windowController view] isHUDLagFrameCountVisible]], @"hudShowLagFrameCount",
|
||||||
|
[NSNumber numberWithBool:[[windowController view] isHUDRealTimeClockVisible]], @"hudShowRTC",
|
||||||
[NSNumber numberWithBool:[windowController isMinSizeNormal]], @"isMinSizeNormal",
|
[NSNumber numberWithBool:[windowController isMinSizeNormal]], @"isMinSizeNormal",
|
||||||
[NSNumber numberWithBool:[windowController isShowingStatusBar]], @"isShowingStatusBar",
|
[NSNumber numberWithBool:[windowController isShowingStatusBar]], @"isShowingStatusBar",
|
||||||
[NSNumber numberWithBool:isInFullScreenMode], @"isInFullScreenMode",
|
[NSNumber numberWithBool:isInFullScreenMode], @"isInFullScreenMode",
|
||||||
|
@ -748,9 +750,8 @@
|
||||||
windowFrameStr, @"windowFrame",
|
windowFrameStr, @"windowFrame",
|
||||||
nil];
|
nil];
|
||||||
|
|
||||||
// TODO: Show HUD Input and RTC.
|
// TODO: Show HUD Input.
|
||||||
//[NSNumber numberWithBool:[[windowController view] isHUDInputVisible]], @"hudShowInput",
|
//[NSNumber numberWithBool:[[windowController view] isHUDInputVisible]], @"hudShowInput",
|
||||||
//[NSNumber numberWithBool:[[windowController view] isHUDRealTimeClockVisible]], @"hudShowRTC",
|
|
||||||
|
|
||||||
[windowPropertiesList addObject:windowProperties];
|
[windowPropertiesList addObject:windowProperties];
|
||||||
}
|
}
|
||||||
|
|
|
@ -116,6 +116,21 @@ DateTime rtcGetTime(void)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void rtcGetTimeAsString(char *buffer)
|
||||||
|
{
|
||||||
|
static const char *wday[] = {"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"};
|
||||||
|
|
||||||
|
const DateTime rtcTime = rtcGetTime();
|
||||||
|
snprintf(buffer, 25, "%04d-%3s-%02d %s %02d:%02d:%02d",
|
||||||
|
rtcTime.get_Year(),
|
||||||
|
DateTime::GetNameOfMonth(rtcTime.get_Month()),
|
||||||
|
rtcTime.get_Day(),
|
||||||
|
wday[rtcTime.get_DayOfWeek()%7],
|
||||||
|
rtcTime.get_Hour(),
|
||||||
|
rtcTime.get_Minute(),
|
||||||
|
rtcTime.get_Second());
|
||||||
|
}
|
||||||
|
|
||||||
static void rtcRecv()
|
static void rtcRecv()
|
||||||
{
|
{
|
||||||
//INFO("RTC Read command 0x%02X\n", (rtc.cmd >> 1));
|
//INFO("RTC Read command 0x%02X\n", (rtc.cmd >> 1));
|
||||||
|
|
|
@ -25,6 +25,7 @@
|
||||||
#include "utils/datetime.h"
|
#include "utils/datetime.h"
|
||||||
|
|
||||||
DateTime rtcGetTime(void);
|
DateTime rtcGetTime(void);
|
||||||
|
void rtcGetTimeAsString(char *buffer);
|
||||||
|
|
||||||
extern void rtcInit();
|
extern void rtcInit();
|
||||||
extern u16 rtcRead();
|
extern u16 rtcRead();
|
||||||
|
|
Loading…
Reference in New Issue