内蔵時計の取得と表示とか。2
去年書いたやつをちょっとだけ手直し。アーカイブして公開しました。
付属のやつは 3D のポリゴン時計とか、個人的には余計な演出が含まれてると感じたので
こっちのはもっとシンプルに。
Nitro Developer Style
http://page.freett.com/ntr/
サンプルなのでベタ書きです。
関数化するならちゃんと tm 構造体を値かポインタかで引数や返値とすると良いでしょう。
main.c
/*--------------------------------------------------------------------------------- simple RTC example. version 0.01 Jan 30, 2010 By. REGEKATSU ---------------------------------------------------------------------------------*/ #include <stdio.h> #include <time.h> #include <nds/interrupts.h> #include <nds/arm9/console.h> //--------------------------------------------------------------------------------- int main(void){ //--------------------------------------------------------------------------------- time_t unix_time; struct tm* tm; /* struct tm{ int tm_sec; // 秒 (0〜59) int tm_min; // 分 (0〜59) int tm_hour; // 時 (0〜23) int tm_mday; // 日 (1〜31) int tm_mon; // 月 (0〜11) int tm_year; // 年 (年 - 1900) int tm_wday; // 週 (0〜6 : 日曜日〜土曜日) int tm_yday; // 年内の経過日数 (0〜365) int tm_isdst; // 夏時間 : 0以外の値 }; */ //initConsole consoleDemoInit(); //drawTitle printf("simple RTC sample.\n\nversion 0.01\nJan 30, 2010\n\nBy. REGEKATSU\n\n\n"); while(1) { swiWaitForVBlank(); //getRTC unix_time = time(NULL); tm = gmtime((const time_t *)&unix_time); //drawRTC printf("\x1b[8;0H"); printf("Time %2i:%02i:%02i\n\n", tm->tm_hour, tm->tm_min, tm->tm_sec); printf("Year %4i/%02i/%02i\n", tm->tm_year + 1900, tm->tm_mon + 1, tm->tm_mday); printf("Showa %4i/%02i/%02i\n", tm->tm_year + 1900 - 1925, tm->tm_mon + 1, tm->tm_mday); printf("Heisei %4i/%02i/%02i\n", tm->tm_year + 1900 - 1988, tm->tm_mon + 1, tm->tm_mday); } } //---------------------------------------------------------------------------------