�ɤ�ʥץ������Υ��塼�ȥꥢ��Ǥ�ޤ��ǽ���ᤵ���Τϡ� �ɤ�������``Hello world'' �ץ������ߤ����Ǥ��͡� ���Υץ�������ư����뤳�Ȥǡ����ʤ��Ȥ⡢Palm OS �ץ������� ������ˡ������ѥ�����ˡ�ȥ��ȡ���λ������İ��Ǥ���Ϥ��Ǥ���
�ҤȤ����դ��Ƥ����٤��ʤΤϡ�Palm OS �ץ������ϥ��٥�ȥɥ�֥� ���Ȥ������ȤǤ��� ����Ū�ˤϡ�¾��(make �� more �� pilot-xfer �ʤɤΤ褦��)ľ��Ū�� �ץ������ȤϤ���äȰ�äơ�Palm OS ���ץꥱ�������Ϥ�����͡� ���٥�����Ԥ���������������Ȥ����褦�ʹ�¤�Ƥ��ޤ��� ���٥�ȤȤ����Τϡ��ڥ�������åס�����ե��ƥ����ϡ����顼�� �ʤɤΡ����줾��ۤʤ륤�٥�Ȥ�ȯ���������Ȥ�ؤ��ޤ���
����ϡ�``Hello World'' �ץ������Υ����������ɤǤ�: (����: �ʲ��Ǥϻ��ͤΤ���ˡ������������ɤΥ�������ʬ�����ܸ�����Ф��� ���ޤ������ºݤ� gcc �����ܸ�Υ����Ȥ��̤뤫�ɤ����ϳ�ǧ���Ƥ��ޤ���)
#include <System/SysAll.h>
#include <UI/UIAll.h>
// ---------------------------------------------------------------------
// PilotMain �ϡ������������(startup)����ƤӽФ��졢ñ��ʥ��٥�Ȥ�
// ��������롼�פ�������ޤ���
// ---------------------------------------------------------------------
DWord PilotMain( Word cmd, Ptr cmdPBP, Word launchFlags )
{
EventType event;
if (cmd == sysAppLaunchCmdNormalLaunch) {
// ʸ�����ɽ������
WinDrawChars( "Hello, world!", 13, 55, 60 );
// �ᥤ��Υ��٥�ȥ롼��:
do {
// ���٥�Ȥ����夹��ޤ�̲��
EvtGetEvent( &event, evtWaitForever );
// �ޤ��ϥ����ƥ�˥��٥�Ȥ�������뵡���Ϳ����
SysHandleEvent( &event );
// �̾�Ϥ����Ǥ���¾�Υ��٥�Ȥν������ʤ���
// appStopEvent ��������� PilotMain ��������
} while (event.eType != appStopEvent);
}
return;
}
�ʾ�Υ����ɤ�������ˡ�ǡ�``hello.c'' �Ȥ����ե�����̾�Υƥ����ȥե�����
�Ȥ�����¸���Ƥ�������
(�ºݤˤϥե������̾���ϺǸ夬 ``.c'' �Ǥ��ꤵ������Фʤ�Ǥ�褤�ΤǤ�����
�����ǤϤ�������̾����Ȥ��ޤ�)��
Prc-tools �ǻȤ��Ƥ��� bin �ǥ��쥯�ȥ꤬�����ȥǥե�����ȥѥ��� �ޤޤ�Ƥ���(�ѥ����̤äƤ���)���Ȥ��ǧ���ơ��ʲ��Υ��ޥ�ɤ����Ϥ��� ��������:
m68k-palmos-coff-gcc -O2 -g hello.c -o hello
m68k-palmos-coff-obj-res hello
build-prc hello.prc "Hello, World" WRLD *.hello.grc
m68k-palmos-coff-gcc
�ϡ�prc-tools �ˤ�ä��������줿 GCC ����������ѥ��顣
m68k-palmos-coff-obj-res
�ϡ�m68k-palmos-coff-gcc
�ˤ�ä��������줿
�ץ�������Palm OS ���ץꥱ��������ɬ�פʤ����Ĥ�Υ���������
ʬ�䤷�Ƥ���ޤ���
build-prc
�ϥץ�����ॻ���������Ȥ�Ω�ơ����ޥ�ɥ饤��ǻ��ꤵ�줿
������ղä��ƺǽ�Ū�� Palm OS �ץ��������������ޤ���
���ơ�Palm OS �ǥХ����Υ������ƤΥХå����åפϴ��˺Ѥ�Ǥ��ޤ���͡�
���褤��hello.prc
�ȡ��뤷�Ƥߤޤ��礦��
���ȡ�����ˡ�ϰʲ����̤�Ǥ�:
pilot-xfer --port /dev/ttyS1 --install hello.prc
(�����ǻ��ꤷ�����ꥢ��ǥХ����ϡ����ʤ��δĶ��ˤ��碌���ѹ����Ƥ�������)
���������졼�ɥ�� HotSync �ܥ�����ޤ��礦��
HotSync ����λ�����顢���ץꥱ�����������㡼���� ``Hello, World'' �Ȥ��� ̾���Υ��ץꥱ�����������Ϥ��Ǥ����������֥륿�åפ���С� ���̤ο����椢����ˡ�``Hello, World!'' �Ȥ���ʸ���������Ϥ��Ǥ���
���ơ�����``Hello, World''�ץ������ι������Ǥ������������Ȼפ��ޤ���
System/SysAll.h
�롼�ɤ��뤳�Ȥǡ��¤Ϥ�������Υ����ƥ�
���롼�ɥե��������٤˥��롼�ɤ��뤳�Ȥˤʤ�ޤ���
������Ǥ����Ĥ����Ƥ��������ե����뤬���뤫�⤷��ޤ���͡�
���Ȥ��С�m68k-palmos-coff/include/PalmOS2/Common.h
�Ǥ�
Palm OS �饤�֥�����ΤǻȤ���褦�� typedef ������ޤޤ�Ƥ���Τ�
�ܤ��̤��Ƥ�����»�Ϥʤ��Ȼפ��ޤ���
UI/UIAll.h
�ϡ��桼�������ե������˴ؤ��뤿������Υ��롼��
�ե�����롼�ɤ��Ƥ��ޤ���
���٤Ƥ� Palm OS ���ץꥱ�������ˤ�(����: Hack �� DA �Ͻ���)��
���� PilotMain()
�ؿ���¸�ߤ��ʤ���Фʤ�ޤ���
������̾�� C ����ˤ����롢main()
�ؿ���Ʊ������̤�����ΤǤ���
DWord PilotMain( Word cmd, Ptr cmdPBP, Word launchFlags )
�ץ�����ब��ư���줿���ˡ�cmd
�ˤ� Launch Code���Ϥ���ޤ���
����Launch Code �ˤ�äơ����ץꥱ���������Ф����̾�Ȥϰۤʤ�
ư����᤹�뤳�Ȥ��ǽ�Ǥ���
Launch Code �ϡ�cmd
�������Ϥ���ޤ���
���줾��Υץ������Ϥ��� Launch Code ���ͤ�����å����ơ���ʬ������˱���
�Ǥ��뤫�ɤ�����Ĵ�٤ޤ���
``Hello, World'' �ץ������Ǥϡ���normal program launch�װʳ��Υ����ɤ�
̵�뤹��褦�ˤʤäƤ��ޤ���
if (cmd == sysAppLaunchCmdNormalLaunch) {
Launch code�ˤϡ����������ʾ������н褹�뤿��ˤ�������μ��ब����ޤ���
�ɤ�ʥ����ɤ�¸�ߤ���Τ��������Τ뤿��ˤϡ�
m68k-palmos-coff/include/PalmOS2/System/SystemMgr.h
���ɤ�Ǥ���������
WinDrawChars()
�ؿ��ϡ����ꤵ�줿���̾�κ�ɸ��ʸ�����ɽ�����ޤ���
WinDrawChars( "Hello, world!", 13, 55, 60 );
���ץꥱ�������ϡ�appStopEvent
��������ޤ�(���ΰ�̣���̤�)
����³���ޤ���
// �ᥤ���٥�ȥ롼��
do {
.
.
.
// appStopEvent ��������� PilotMain ��������
} while (event.eType != appStopEvent);
���ץꥱ��������Υ��٥�Ȥ������ä����ˤϡ�ɬ�פʸ��������ˡ�
PilotMain
��������褦�ˤ��ޤ���
EvtGetEvent
�ؿ��Ϻǽ�ΰ������ѹ�����Τ������Ѥ�����ޤ���
���δؿ����鵢�äƤ���Ȥ��ˤϡ����ʤ�������Ĥ��Υ��٥�Ȥ�
ȯ�����ơ�OS �����ץꥱ���������Ф��Ƥ�������Τ��Ƥ���Ȥ������֤Ǥ���
EvtGetEvent( &event, evtWaitForever );
�¤ϡ����ץꥱ�������ϼ�ʬ���Ϥ���뤹�٤Ƥ����渢�äƤ��ޤ���
���������̾�Υ��ץꥱ�������ǤϤۤȤ�ɤΥ��٥�Ȥ� Palm OS ��
���������ߤ�����礬¿���Ǥ��礦�����Τ���ˡ������ƥब���Ƥ���
���٥�Ƚ����롼����ؿ�������Ƥ��ޤ���
SysHandleEvent()
��ƤӽФ����Ȥǡ��ܥ���� Graffiti ��Ϣ��
���٥�Ȥ��ƥ�˽��������뤳�Ȥ��Ǥ��ޤ���
���δؿ���ƤӽФ��ʤ��� Palm OS �ϡ��̤Υ��ץꥱ��������ư���뤿���
�ܥ������줿�Ȥ������٥�Ȥ�������뤳�Ȥ��Ǥ��ޤ���
����Ϥ��ʤ�����ߤΥ��ץꥱ���������Ф��� appStopEvent
��
�����ʤ����Ȥ��̣���ޤ������η�̡�``Hello, World''�ץ�������
�ɤ���äƤ⽪λ�Ǥ��ʤ��ʤäƤ��ޤ����Ȥˤʤ�ޤ���
�ºݡ��Ÿ����դΥܥ���⤭���ʤ��ʤäƤ��ޤ���Ǥ�!
��������Ƥߤޤ��礦��
SysHandleEvent()
��ƤӽФ��Ƥ���Ȥ������ȥ����Ȥ��ơ�
�ƥ���ѥ��롢�ƥ��ȡ��뤷�Ƥʤˤ������뤫��ƤߤƤ���������
���եȥꥻ�åȤ��뤿��Υ��९��åפ��Ѱդ��Ƥ����Ƥ���������!
���餯�����Ĥ����Ȼפ��ޤ��������Υץ������ϥ��٥�Ȥ˴ؤ��Ƥϡ� ���ڥ졼�ƥ������ƥ�˽��������뤿��ˤ��Υ��٥�Ȥ��Ϥ�ľ������ �ʳ��ˤϤʤˤ⤪���ʤäƤ��ޤ��� ���ε���ˤϤ�äȥ��������ƥ��������Ȥ���«���ޤ�!