Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c0b964b4f4 |
47
HISTORY
47
HISTORY
@@ -1,3 +1,50 @@
|
|||||||
|
2000/12/28(<28><>)
|
||||||
|
|
||||||
|
wonx-1.1 <20><><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
|
_asm_*() <20>Υ<EFBFBD><CEA5>ߡ<EFBFBD><DFA1>ؿ<EFBFBD><D8BF><EFBFBD><EFBFBD>ɲá<C9B2>
|
||||||
|
FP_OFF(), FP_SEG() <20><><EFBFBD><EFBFBD>WonderWitch <20>Ǥγ<C7A4><CEB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Υ<EFBFBD><CEA5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Хå<D0A5><C3A5>ؿ<EFBFBD><D8BF><EFBFBD>
|
||||||
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˡ<EFBFBD>ˤ<EFBFBD><EFBFBD>碌<EFBFBD>ơ<EFBFBD>Ŭ<EFBFBD>ڤ<EFBFBD><EFBFBD>ѹ<EFBFBD><EFBFBD><EFBFBD>(wwterm <20>˹<EFBFBD><CBB9>碌<EFBFBD><EFA4BB>)
|
||||||
|
|
||||||
|
UNIXTimer.c:UNIXTimer_Unpause() <20>ǡ<EFBFBD>
|
||||||
|
((unix_timer->pause == 1) && (unix_timer->interrupt_in_pause == 0))
|
||||||
|
<EFBFBD><EFBFBD><EFBFBD>ä<EFBFBD><EFBFBD>Ȥ<EFBFBD><EFBFBD><EFBFBD> unix_timer->pause--; <20><><EFBFBD><EFBFBD><EFBFBD>ʤ<EFBFBD><CAA4>Х<EFBFBD><D0A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
(<28>ݡ<EFBFBD><DDA1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˳<EFBFBD><CBB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߤ<EFBFBD><DFA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʤ<EFBFBD><CAA4>ä<EFBFBD><C3A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˡ<EFBFBD><CBA1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݡ<EFBFBD><DDA1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƥ<EFBFBD><C6A4>ʤ<EFBFBD><CAA4>ä<EFBFBD>)
|
||||||
|
|
||||||
|
<EFBFBD><EFBFBD><EFBFBD>ꥢ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܡ<EFBFBD><EFBFBD>ɳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɲá<EFBFBD>(wwterm <20><><EFBFBD>б<EFBFBD><D0B1><EFBFBD>ư<EFBFBD><C6B0><EFBFBD><EFBFBD>ǧ<EFBFBD><C7A7>)
|
||||||
|
UNIXSerialPort <20><><EFBFBD>饹<EFBFBD>ɲá<C9B2>
|
||||||
|
|
||||||
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˤ<EFBFBD><EFBFBD>ꡤWonderWitch <20>ǤΡ<C7A4>
|
||||||
|
com_intvector.callback = (void (near *)())FP_OFF(com_handler);
|
||||||
|
com_intvector.cs = _asm_inline("\tmov\tax,cs");
|
||||||
|
com_intvector.ds = _asm_inline("\tmov\tax,ds");
|
||||||
|
sys_interrupt_set_hook(SYS_INT_RECEIVEREADY,
|
||||||
|
&com_intvector, &com_last_intvector);
|
||||||
|
<EFBFBD>Τ褦<EFBFBD>ʳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>꤬<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¹Ԥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>褦<EFBFBD>ˤʤä<EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
|
<EFBFBD><EFBFBD>˥<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѥˡ<EFBFBD>WonX_Warning() <20>ɲá<C9B2>
|
||||||
|
WonX_Error() <20><> WonX.c <20>˰<EFBFBD>ư<EFBFBD><C6B0>
|
||||||
|
|
||||||
|
comm_send_string(), text_put_string(), text_put_substring() <20>¹Ի<C2B9><D4BB><EFBFBD>
|
||||||
|
<EFBFBD><EFBFBD><EFBFBD>ϥ<EFBFBD><EFBFBD>å<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(WWCursor <20><><EFBFBD>饹<EFBFBD>ɲ<EFBFBD>)(<28><><EFBFBD>ǤϤ<C7A4><CFA4>ʤ<EFBFBD><CAA4><EFBFBD>ɽ<EFBFBD><C9BD><EFBFBD>Τ<EFBFBD>)
|
||||||
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݤˡ<EFBFBD>WWDisplay_DrawLCDPanel() <20><><EFBFBD><EFBFBD><EFBFBD>ǥƥ<C7A5><C6A5><EFBFBD><EFBFBD>Ⱦ<EFBFBD><C8BE><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
<EFBFBD>ɤ<EFBFBD><EFBFBD><EFBFBD>ɬ<EFBFBD>פ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Τǡ<EFBFBD>WonXText <20><><EFBFBD>饹<EFBFBD><E9A5B9><EFBFBD>ѻߤ<D1BB><DFA4>ơ<EFBFBD>WWText <20><><EFBFBD>饹<EFBFBD><E9A5B9>
|
||||||
|
WWDisplay <20><><EFBFBD>饹<EFBFBD>Υ<EFBFBD><CEA5><EFBFBD><EFBFBD>Ф˰<D0A4>ư<EFBFBD><C6B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
|
palette_get_color() <20><><EFBFBD>ǡ<EFBFBD>WWPalette_GetMappedColors() <20>μ¹Ի<C2B9><D4BB><EFBFBD>Ʃ<EFBFBD><C6A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
-1<>Ȥ<EFBFBD><C8A4><EFBFBD><EFBFBD>֤<EFBFBD><D6A4><EFBFBD><EFBFBD>뤳<EFBFBD>Ȥ<EFBFBD><C8A4><EFBFBD>θ<EFBFBD><CEB8><EFBFBD>Ƥ<EFBFBD><C6A4>ʤ<EFBFBD><CAA4>ä<EFBFBD><C3A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˡ<EFBFBD>palette_get_color() <20><>
|
||||||
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͤˤʤäƤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Х<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>饯<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>顼<EFBFBD>ѥ<EFBFBD><EFBFBD>åȡ<EFBFBD>LCD<EFBFBD><EFBFBD><EFBFBD>顼<EFBFBD>ѥ<EFBFBD><EFBFBD>åȤν<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͤ<EFBFBD><EFBFBD><EFBFBD>WonderWitch <20>Ǥ<EFBFBD>
|
||||||
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͤȰ<EFBFBD><EFBFBD>פ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ץ<EFBFBD><EFBFBD>Ȥ<EFBFBD><EFBFBD>ơ<EFBFBD>wwterm-b05 <20><><EFBFBD>ɲá<C9B2>(Makefile <20><> wwterm <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>åȤ<C3A5><C8A4>ɲ<EFBFBD>)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
2000/11/23(<28><>)
|
2000/11/23(<28><>)
|
||||||
|
|
||||||
wonx-1.0 <20><><EFBFBD><EFBFBD>
|
wonx-1.0 <20><><EFBFBD><EFBFBD>
|
||||||
|
|||||||
20
MANUAL
20
MANUAL
@@ -29,23 +29,23 @@ WonderWitch
|
|||||||
<20><><EFBFBD><EFBFBD> WWCharacter[512]
|
<20><><EFBFBD><EFBFBD> WWCharacter[512]
|
||||||
<20><><EFBFBD><EFBFBD>WWDisplay <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> WWSprite[128]
|
<20><><EFBFBD><EFBFBD>WWDisplay <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> WWSprite[128]
|
||||||
<20><><EFBFBD><EFBFBD> WonXDisplay <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> WWScreen[2]
|
<20><><EFBFBD><EFBFBD> WonXDisplay <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> WWScreen[2]
|
||||||
<20><> <20><><EFBFBD><EFBFBD>XDisplay <20><><EFBFBD><EFBFBD> WWLCDPanel
|
<20><> <20><><EFBFBD><EFBFBD>XDisplay <20><><EFBFBD><EFBFBD> WWLCDPanel
|
||||||
<20><>
|
<20><> <20><><EFBFBD><EFBFBD> WWText
|
||||||
|
<20><> <20><><EFBFBD><EFBFBD> WWCursor
|
||||||
<20><> <20><><EFBFBD><EFBFBD> WWInterrupt
|
<20><> <20><><EFBFBD><EFBFBD> WWInterrupt
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> WonXSystem <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> WWTimer[3]
|
WonX <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> WonXSystem <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> WWTimer[3]
|
||||||
<20><> <20><><EFBFBD><EFBFBD> UNIXTimer
|
<20><> <20><><EFBFBD><EFBFBD> UNIXTimer
|
||||||
WonX <20><><EFBFBD><EFBFBD>
|
|
||||||
<20><>
|
|
||||||
<20><><EFBFBD><EFBFBD> WonXText <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> WWText
|
|
||||||
<20><>
|
<20><>
|
||||||
<20><>
|
<20><>
|
||||||
<20><><EFBFBD><EFBFBD> WonXSerialPort <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> WWSerialPort
|
<20><> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> WWSerialPort
|
||||||
|
<20><><EFBFBD><EFBFBD> WonXSerialPort <20><><EFBFBD><EFBFBD>
|
||||||
|
<20><><EFBFBD><EFBFBD> UNIXSerialPort
|
||||||
|
|
||||||
WW <20>Ȥ<EFBFBD><C8A4><EFBFBD><EFBFBD><EFBFBD>Ƭ<EFBFBD>줬<EFBFBD>Ĥ<EFBFBD><C4A4><EFBFBD><EFBFBD>饹<EFBFBD><E9A5B9> WonderWitch <20><>¸<EFBFBD>Τ<EFBFBD><CEA4>ΤǤ<CEA4><C7A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
WW <20>Ȥ<EFBFBD><C8A4><EFBFBD><EFBFBD><EFBFBD>Ƭ<EFBFBD>줬<EFBFBD>Ĥ<EFBFBD><C4A4><EFBFBD><EFBFBD>饹<EFBFBD><E9A5B9> WonderWitch <20><>¸<EFBFBD>Τ<EFBFBD><CEA4>ΤǤ<CEA4><C7A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
WonderSwan <20>ξ<EFBFBD><CEBE>־<EFBFBD><D6BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǽ<EFBFBD><C7BC><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD>
|
WonderSwan <20>ξ<EFBFBD><CEBE>־<EFBFBD><D6BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǽ<EFBFBD><C7BC><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD>
|
||||||
X <20>Ȥ<EFBFBD><C8A4><EFBFBD><EFBFBD><EFBFBD>Ƭ<EFBFBD>줬<EFBFBD>Ĥ<EFBFBD><C4A4><EFBFBD><EFBFBD>饹<EFBFBD><E9A5B9> X <20><>¸<EFBFBD>Τ<EFBFBD><CEA4>Ρ<EFBFBD>UNIX <20>Ȥ<EFBFBD><C8A4><EFBFBD><EFBFBD><EFBFBD>Ƭ<EFBFBD>줬<EFBFBD>Ĥ<EFBFBD><C4A4><EFBFBD><EFBFBD>饹<EFBFBD><E9A5B9>
|
X <20>Ȥ<EFBFBD><C8A4><EFBFBD><EFBFBD><EFBFBD>Ƭ<EFBFBD>줬<EFBFBD>Ĥ<EFBFBD><C4A4><EFBFBD><EFBFBD>饹<EFBFBD><E9A5B9> X <20><>¸<EFBFBD>Τ<EFBFBD><CEA4>Ρ<EFBFBD>UNIX <20>Ȥ<EFBFBD><C8A4><EFBFBD><EFBFBD><EFBFBD>Ƭ<EFBFBD>줬<EFBFBD>Ĥ<EFBFBD><C4A4><EFBFBD><EFBFBD>饹<EFBFBD><E9A5B9>
|
||||||
UNIX <20><>¸<EFBFBD>Τ<EFBFBD><CEA4>ΤǤ<CEA4><C7A4><EFBFBD>
|
UNIX <20><>¸<EFBFBD>Τ<EFBFBD><CEA4>ΤǤ<CEA4><C7A4><EFBFBD>
|
||||||
Wonx <20>Ȥ<EFBFBD><C8A4><EFBFBD><EFBFBD><EFBFBD>Ƭ<EFBFBD>줬<EFBFBD>Ĥ<EFBFBD><C4A4><EFBFBD><EFBFBD>饹<EFBFBD>Ϥ<EFBFBD><CFA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>礹<EFBFBD><E7A4B9><EFBFBD><EFBFBD><EFBFBD>ΤǤ<CEA4><C7A4><EFBFBD>
|
WonX <20>Ȥ<EFBFBD><C8A4><EFBFBD><EFBFBD><EFBFBD>Ƭ<EFBFBD>줬<EFBFBD>Ĥ<EFBFBD><C4A4><EFBFBD><EFBFBD>饹<EFBFBD>Ϥ<EFBFBD><CFA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>礹<EFBFBD><E7A4B9><EFBFBD><EFBFBD><EFBFBD>ΤǤ<CEA4><C7A4><EFBFBD>
|
||||||
|
|
||||||
<EFBFBD>ĥ<EFBFBD><EFBFBD>¤<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ä<EFBFBD><EFBFBD>顤<EFBFBD>ƥ<EFBFBD><EFBFBD>饹<EFBFBD><EFBFBD> *P.h <20>ե<EFBFBD><D5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Υ<EFBFBD><CEA5><EFBFBD><EFBFBD>Ф<EFBFBD><D0A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD>
|
<EFBFBD>ĥ<EFBFBD><EFBFBD>¤<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ä<EFBFBD><EFBFBD>顤<EFBFBD>ƥ<EFBFBD><EFBFBD>饹<EFBFBD><EFBFBD> *P.h <20>ե<EFBFBD><D5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Υ<EFBFBD><CEA5><EFBFBD><EFBFBD>Ф<EFBFBD><D0A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD>
|
||||||
*.c <20>ե<EFBFBD><D5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *_Create() <20>ؿ<EFBFBD><D8BF>Ȥ<F2BBB2BE><C8A4>Ƥ<EFBFBD><C6A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
*.c <20>ե<EFBFBD><D5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *_Create() <20>ؿ<EFBFBD><D8BF>Ȥ<F2BBB2BE><C8A4>Ƥ<EFBFBD><C6A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
@@ -56,8 +56,8 @@ Wonx
|
|||||||
<EFBFBD>ؿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѱդ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƥ<EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>
|
<EFBFBD>ؿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѱդ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƥ<EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
WonX_Create() <20><><EFBFBD>ƤФ<C6A4><D0A4><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> WonXDisplay_Create(), WonXSystem_Create(),
|
WonX_Create() <20><><EFBFBD>ƤФ<C6A4><D0A4><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> WonXDisplay_Create(), WonXSystem_Create(),
|
||||||
WonXText_Create(), WonXSerialPort_Create() <20><><EFBFBD>ƤФ졤<D0A4>Ҥ<EFBFBD> WonXDisplay,
|
WonXSerialPort_Create() <20><><EFBFBD>ƤФ졤<D0A4>Ҥ<EFBFBD> WonXDisplay, WonXSystem,
|
||||||
WonXSystem, WonXText, WonXSerialPort <20><><EFBFBD>֥<EFBFBD><D6A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD><C8A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD>
|
WonXSerialPort <20><><EFBFBD>֥<EFBFBD><D6A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD><C8A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD>
|
||||||
WonXDisplay_Create() <20><><EFBFBD>ƤФ<C6A4><D0A4><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> WWDisplay_Create(),
|
WonXDisplay_Create() <20><><EFBFBD>ƤФ<C6A4><D0A4><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> WWDisplay_Create(),
|
||||||
XDisplay_Create() <20><><EFBFBD>ƤФ졤... <20>Ȥ<EFBFBD><C8A4><EFBFBD><EFBFBD>褦<EFBFBD><E8A4A6>³<EFBFBD><C2B3><EFBFBD>ơ<EFBFBD><C6A1><EFBFBD><EFBFBD>٤ƤΥĥ<C4A5><EAA1BC>
|
XDisplay_Create() <20><><EFBFBD>ƤФ졤... <20>Ȥ<EFBFBD><C8A4><EFBFBD><EFBFBD>褦<EFBFBD><E8A4A6>³<EFBFBD><C2B3><EFBFBD>ơ<EFBFBD><C6A1><EFBFBD><EFBFBD>٤ƤΥĥ<C4A5><EAA1BC>
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
|||||||
22
Makefile
22
Makefile
@@ -2,12 +2,13 @@ XINCLUDEDIR = /usr/X11R6/include
|
|||||||
INCLUDEDIR = .
|
INCLUDEDIR = .
|
||||||
XLIBDIR = /usr/X11R6/lib
|
XLIBDIR = /usr/X11R6/lib
|
||||||
|
|
||||||
VERSION = WonX-1.0
|
VERSION = WonX-1.1
|
||||||
PKGNAME = wonx-1.0
|
PKGNAME = wonx-1.1
|
||||||
|
|
||||||
SMAC = smac-b02
|
SMAC = smac-b02
|
||||||
|
WWTERM = wwterm-b05
|
||||||
|
|
||||||
OBJS = WWCharacter.o WWColorMap.o WWDisplay.o WWLCDPanel.o WWPalette.o WWScreen.o WWSprite.o WWText.o WWInterrupt.o WWTimer.o WWSerialPort.o WonX.o WonXDisplay.o WonXText.o WonXSystem.o WonXSerialPort.o XDisplay.o UNIXTimer.o bank.o comm.o disp.o text.o key.o sound.o system.o timer.o etc.o
|
OBJS = WWCharacter.o WWColorMap.o WWDisplay.o WWLCDPanel.o WWPalette.o WWScreen.o WWSprite.o WWCursor.o WWText.o WWInterrupt.o WWTimer.o WWSerialPort.o WonX.o WonXDisplay.o WonXSystem.o WonXSerialPort.o XDisplay.o UNIXTimer.o UNIXSerialPort.o bank.o comm.o disp.o text.o key.o sound.o system.o timer.o service.o etc.o
|
||||||
|
|
||||||
CC = gcc
|
CC = gcc
|
||||||
|
|
||||||
@@ -44,13 +45,24 @@ smac : libwonx.a
|
|||||||
cd $(SMAC) ; ./sys2wonx.pl *.[ch]
|
cd $(SMAC) ; ./sys2wonx.pl *.[ch]
|
||||||
cd $(SMAC) ; $(MAKE)
|
cd $(SMAC) ; $(MAKE)
|
||||||
|
|
||||||
|
wwterm : libwonx.a
|
||||||
|
unzip $(WWTERM).zip
|
||||||
|
cp -R wonx_include $(WWTERM)
|
||||||
|
cp libwonx.a $(WWTERM)
|
||||||
|
mv $(WWTERM)/makefile $(WWTERM)/makefile.orig
|
||||||
|
cp makefile_for_wwterm $(WWTERM)/makefile
|
||||||
|
cp sys2wonx.pl $(WWTERM)
|
||||||
|
echo "<22><><EFBFBD><EFBFBD><EFBFBD>ǻߤޤä<DEA4><C3A4>Ȥ<EFBFBD><C8A4>ϡ<EFBFBD>sys2wonx.pl <20>Σ<EFBFBD><CEA3><EFBFBD><EFBFBD>ܤ<EFBFBD>Ŭ<EFBFBD>ڤ<EFBFBD>perl<72><6C><EFBFBD><EFBFBD><EFBFBD>ꤷ<EFBFBD>Ƥ<EFBFBD><C6A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
|
||||||
|
cd $(WWTERM) ; ./sys2wonx.pl *.[ch]
|
||||||
|
cd $(WWTERM) ; $(MAKE)
|
||||||
|
|
||||||
package :
|
package :
|
||||||
mkdir -p $(PKGNAME)
|
mkdir -p $(PKGNAME)
|
||||||
rm -fR $(PKGNAME)/*
|
rm -fR $(PKGNAME)/*
|
||||||
mkdir -p $(PKGNAME)/wonx_include
|
mkdir -p $(PKGNAME)/wonx_include
|
||||||
cp COPYING COPYRIGHT HISTORY README MANUAL OMAKE.jpn Makefile \
|
cp COPYING COPYRIGHT HISTORY README MANUAL OMAKE.jpn Makefile \
|
||||||
makefile_for_smac *.pl \
|
makefile_for_smac makefile_for_wwterm *.pl \
|
||||||
*.h *.c smac*.zip $(PKGNAME)
|
*.h *.c $(SMAC).zip $(WWTERM).zip $(PKGNAME)
|
||||||
cp wonx_include/*.h $(PKGNAME)/wonx_include
|
cp wonx_include/*.h $(PKGNAME)/wonx_include
|
||||||
tar cvzf $(PKGNAME).tar.gz $(PKGNAME)
|
tar cvzf $(PKGNAME).tar.gz $(PKGNAME)
|
||||||
|
|
||||||
|
|||||||
209
README
209
README
@@ -57,7 +57,7 @@ WonX
|
|||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ץ<EFBFBD><EFBFBD>ץ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѥ<EFBFBD><EFBFBD>롦<EFBFBD>¹Ԥ<EFBFBD><EFBFBD>Ƥߤޤ<EFBFBD><EFBFBD>礦<EFBFBD><EFBFBD>
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ץ<EFBFBD><EFBFBD>ץ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѥ<EFBFBD><EFBFBD>롦<EFBFBD>¹Ԥ<EFBFBD><EFBFBD>Ƥߤޤ<EFBFBD><EFBFBD>礦<EFBFBD><EFBFBD>
|
||||||
<EFBFBD>ʲ<EFBFBD><EFBFBD>Τ褦<EFBFBD>ˤ<EFBFBD><EFBFBD>ƤߤƤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
<EFBFBD>ʲ<EFBFBD><EFBFBD>Τ褦<EFBFBD>ˤ<EFBFBD><EFBFBD>ƤߤƤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
~>% tar xvzf wonx.tgz
|
~>% tar xvzf wonx-x.x.tar.gz
|
||||||
(<28><>ά)
|
(<28><>ά)
|
||||||
~>% cd wonx
|
~>% cd wonx
|
||||||
|
|
||||||
@@ -100,6 +100,85 @@ smac
|
|||||||
p <20><EFBFBD><F2B2A1A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˤ<EFBFBD><CBA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ON, OFF <20><><EFBFBD><EFBFBD><EFBFBD>ؤ<EFBFBD><D8A4><EFBFBD><EFBFBD>Τϡ<CEA4><CFA1><EFBFBD><EFBFBD>褬<EFBFBD><E8A4AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>٤<EFBFBD><D9A4><EFBFBD><EFBFBD>ᡤ
|
p <20><EFBFBD><F2B2A1A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˤ<EFBFBD><CBA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ON, OFF <20><><EFBFBD><EFBFBD><EFBFBD>ؤ<EFBFBD><D8A4><EFBFBD><EFBFBD>Τϡ<CEA4><CFA1><EFBFBD><EFBFBD>褬<EFBFBD><E8A4AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>٤<EFBFBD><D9A4><EFBFBD><EFBFBD>ᡤ
|
||||||
ON<EFBFBD>Τޤޤ<EFBFBD><EFBFBD>Ȳ<EFBFBD><EFBFBD>̥<EFBFBD><EFBFBD>ꥢ<EFBFBD>Ȥ<EFBFBD><EFBFBD>˰۾<EFBFBD><EFBFBD>˻<EFBFBD><EFBFBD>֤<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>뤫<EFBFBD><EFBFBD><EFBFBD>Ǥ<EFBFBD><EFBFBD><EFBFBD>
|
ON<EFBFBD>Τޤޤ<EFBFBD><EFBFBD>Ȳ<EFBFBD><EFBFBD>̥<EFBFBD><EFBFBD>ꥢ<EFBFBD>Ȥ<EFBFBD><EFBFBD>˰۾<EFBFBD><EFBFBD>˻<EFBFBD><EFBFBD>֤<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>뤫<EFBFBD><EFBFBD><EFBFBD>Ǥ<EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
|
<EFBFBD>Ǹ<EFBFBD><EFBFBD>ˡ<EFBFBD>WonderWitch <20>Ѥ<EFBFBD>ü<EFBFBD><C3BC><EFBFBD><EFBFBD><EFBFBD>ߥ<EFBFBD><DFA5>졼<EFBFBD><ECA1BC> "WWTerm" <20><EFBFBD><F2A5B3A5>ѥ<EFBFBD><D1A5>롦<EFBFBD>¹<EFBFBD>
|
||||||
|
<EFBFBD><EFBFBD><EFBFBD>Ƥߤޤ<EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
|
~/wonx>% make wwterm
|
||||||
|
(<28><>ά)
|
||||||
|
~/wonx>% cd wwterm
|
||||||
|
~/wonx/smac>% ./terminal
|
||||||
|
|
||||||
|
<EFBFBD><EFBFBD> 10ʬWonX
|
||||||
|
|
||||||
|
<EFBFBD><EFBFBD><EFBFBD>ˡ<EFBFBD><EFBFBD>ʤˤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ä<EFBFBD> WonderWitch <20>ѤΥץ<CEA5><D7A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> WonX <20>Ȥä<C8A4>
|
||||||
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѥ<EFBFBD><EFBFBD>롦<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ơ<EFBFBD>X Window System <20><><EFBFBD><EFBFBD>ư<EFBFBD><EFBFBD><EEA4B9><EFBFBD>褦<EFBFBD>ʼ¹Է<C2B9><D4B7><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
<EFBFBD><EFBFBD><EFBFBD>äƤߤޤ<EFBFBD><EFBFBD>礦<EFBFBD><EFBFBD>
|
||||||
|
|
||||||
|
<EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>WonX <20><>Ÿ<EFBFBD><C5B8><EFBFBD><EFBFBD><EFBFBD>ơ<EFBFBD>make <20><><EFBFBD>Ƥ<EFBFBD><C6A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>libwonx.a <20><><EFBFBD>Ǥ<EFBFBD><C7A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD>
|
||||||
|
|
||||||
|
~>% tar xvzf wonx-x.x.tar.gz
|
||||||
|
(<28><>ά)
|
||||||
|
~>% cd wonx
|
||||||
|
~/wonx>% make
|
||||||
|
(<28><>ά)
|
||||||
|
~/wonx>% ls libwonx.a
|
||||||
|
libwonx.a
|
||||||
|
~/wonx>%
|
||||||
|
|
||||||
|
<EFBFBD><EFBFBD><EFBFBD>ˡ<EFBFBD>libwonx.a <20>ȡ<EFBFBD>wonx_include <20>ǥ<EFBFBD><C7A5>쥯<EFBFBD>ȥ<EFBFBD><C8A5>ȡ<EFBFBD>sys2wonx.pl <20><>
|
||||||
|
<EFBFBD><EFBFBD><EFBFBD>ʤ<EFBFBD><EFBFBD>κ<EFBFBD><EFBFBD>ä<EFBFBD><EFBFBD>ץ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Υǥ<EFBFBD><EFBFBD>쥯<EFBFBD>ȥ<EFBFBD>(<28><><EFBFBD><EFBFBD><EFBFBD>Ǥ<EFBFBD><C7A4><EFBFBD><EFBFBD>Ȥ<EFBFBD><C8A4>ơ<EFBFBD>yoursample <20>Ȥ<EFBFBD><C8A4>ޤ<EFBFBD>)
|
||||||
|
<EFBFBD>˥<EFBFBD><EFBFBD>ԡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
|
~/wonx>% cp -R libwonx.a wonx_include sys2wonx.pl ../yoursample
|
||||||
|
~/wonx>% cd ../yoursample
|
||||||
|
~/yoursample>%
|
||||||
|
|
||||||
|
<EFBFBD><EFBFBD><EFBFBD>ʤ<EFBFBD><EFBFBD>κ<EFBFBD><EFBFBD>ä<EFBFBD><EFBFBD>ץ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Τ<EFBFBD><EFBFBD>٤ƤΥե<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>MS-DOS <20>ƥ<EFBFBD><C6A5><EFBFBD><EFBFBD>ȷ<EFBFBD><C8B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
UNIX <20>Υƥ<CEA5><C6A5><EFBFBD><EFBFBD>ȷ<EFBFBD><C8B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѵ<EFBFBD><D1B4><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD>(<28>Ĥޤꡤ<DEA4><EAA1A4><EFBFBD>ԥ<EFBFBD><D4A5><EFBFBD><EFBFBD>ɤ<EFBFBD> \r\n <20><><EFBFBD><EFBFBD> \n <20><>
|
||||||
|
<EFBFBD>Ѵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ơ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɤ<EFBFBD> SJIS <20><><EFBFBD><EFBFBD> EUC <20><><EFBFBD>Ѵ<EFBFBD><D1B4><EFBFBD><EFBFBD>ޤ<EFBFBD>)
|
||||||
|
|
||||||
|
~/yoursample>% cat makefile | qkc -I -O -e -u > makefile.new
|
||||||
|
~/yoursample>% mv makefile.new makefile
|
||||||
|
~/yoursample>% cat sample.c | qkc -I -O -e -u > sample.c.new
|
||||||
|
~/yoursample>% mv sample.c.new sample.c
|
||||||
|
...(<28>ʲ<EFBFBD><CAB2><EFBFBD><EFBFBD>٤ƤΥե<CEA5><D5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˤĤ<CBA4><C4A4>ơ<EFBFBD>Ʊ<EFBFBD>ͤ˷<CDA4><CBB7><EFBFBD><EFBFBD>֤<EFBFBD><D6A4><EFBFBD><EFBFBD><EFBFBD>ά)...
|
||||||
|
|
||||||
|
*.C <20>Ȥ<EFBFBD><C8A4><EFBFBD><EFBFBD>ե<EFBFBD><D5A5><EFBFBD><EFBFBD><EFBFBD>̾<EFBFBD>Υե<CEA5><D5A5><EFBFBD><EFBFBD>뤬<EFBFBD><EBA4AC><EFBFBD>ä<EFBFBD><C3A4>顤*.c <20><><EFBFBD>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD>
|
||||||
|
(*.C <20><><EFBFBD><EFBFBD> C++ <20>Υץ<CEA5><D7A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȼפ<C8BB><D7A4><EFBFBD><EFBFBD>Ƥ<EFBFBD><C6A4>ޤ<EFBFBD><DEA4>Τ<EFBFBD>)
|
||||||
|
|
||||||
|
~/yoursample>% mv SAMPLE2.C sample2.c
|
||||||
|
|
||||||
|
makefile <20><><EFBFBD>ʲ<EFBFBD><CAB2>Τ褦<CEA4>˽<EFBFBD><CBBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>롥
|
||||||
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˤ<EFBFBD> gcc <20><><EFBFBD><EFBFBD><EFBFBD>Ѥ<EFBFBD><D1A4>롥
|
||||||
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֥<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȥե<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *.obj <20><><EFBFBD><EFBFBD> *.o <20><><EFBFBD>ѹ<EFBFBD><D1B9><EFBFBD>
|
||||||
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ե饰<EFBFBD><EFBFBD> -I. -L. -L/usr/X11R6/lib -lwonx -lX11 -lXt <20><><EFBFBD>ɲá<C9B2>
|
||||||
|
<EFBFBD><EFBFBD>mkfent <20>ʤɤˤ<C9A4><CBA4><EFBFBD> *.fx <20>ե<EFBFBD><D5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>κ<EFBFBD><CEBA><EFBFBD><EFBFBD>ʤɤ<CAA4><C9A4><EFBFBD><EFBFBD>ä<EFBFBD><C3A4>顤<EFBFBD><E9A1A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȥ<EFBFBD><C8A5><EFBFBD><EFBFBD>Ȥ<EFBFBD><C8A4>롥
|
||||||
|
|
||||||
|
~/yoursample>% emacs makefile
|
||||||
|
|
||||||
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>餯<EFBFBD><EFBFBD>makefile <20>ν<EFBFBD><CEBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܤ<EFBFBD><DCA4><EFBFBD><EFBFBD>ݤǤ<DDA4><C7A4><EFBFBD>(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݤʤΤϡ<CEA4>WonX <20><><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD>
|
||||||
|
Ŭ<EFBFBD>ѤǤ<EFBFBD><EFBFBD>ʤ<EFBFBD><EFBFBD>ä<EFBFBD><EFBFBD>Ȥ<EFBFBD><EFBFBD>Υ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ν<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǥ<EFBFBD>)
|
||||||
|
ź<EFBFBD>դ<EFBFBD> makefile_for_smac <20><> makefile_for_wwterm <20>ͤˤ<CDA4><CBA4>ơ<EFBFBD>makefile <20><>
|
||||||
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
|
<EFBFBD><EFBFBD><EFBFBD>ˡ<EFBFBD>sys2wonx.pl <20><EFBFBD><F2A4ABA4>ơ<EFBFBD><C6A1>ץ<EFBFBD><D7A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> #include <sys/disp.h> <20>Τ褦<CEA4>ʤΤ<CAA4><CEA4><EFBFBD>
|
||||||
|
#include "wonx_include/disp.h" <20><><EFBFBD>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD>롥
|
||||||
|
(<28><><EFBFBD><EFBFBD>! sys2wonx.pl <20>ϡ<EFBFBD><CFA1>ե<EFBFBD><D5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Τ<EFBFBD><CEA4><EFBFBD><F1A4ADB4><EFBFBD><EFBFBD>Ƥ<EFBFBD><C6A4>ޤ<EFBFBD><DEA4>Τǡ<CEA4><C7A1>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD>褦<EFBFBD>ʥե<CAA5><D5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɬ<EFBFBD><C9AC><EFBFBD>Хå<D0A5><C3A5><EFBFBD><EFBFBD>åפ<C3A5><D7A4>Ƥ<EFBFBD><C6A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
#include <sys/disp.h> <20>Τ褦<CEA4><E8A4A6><EFBFBD><EFBFBD>ʬ<EFBFBD><CAAC>̵<EFBFBD><CCB5><EFBFBD>ե<EFBFBD><D5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ξ<EFBFBD><CEBE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1>ɤ߹<C9A4><DFB9><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
<20><><EFBFBD>Τޤ<DEA4><DEBD>Ϥ<EFBFBD><CFA4><EFBFBD><EFBFBD>Τǡ<CEA4><C7A1>ե<EFBFBD><D5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƽ<EFBFBD><C6BC>Τ<EFBFBD><CEA4>Ѥ<EFBFBD><D1A4><EFBFBD><EFBFBD>ʤ<EFBFBD><CAA4>Ȼפ<C8BB><D7A4>ޤ<EFBFBD><DEA4><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
<20><><EFBFBD>դ<EFBFBD><D5A4>Ѥ<EFBFBD><D1A4>äƤ<C3A4><C6A4>ޤ<EFBFBD><DEA4>ޤ<EFBFBD>)
|
||||||
|
|
||||||
|
~/yoursample>% ./sys2wonx.pl *.[ch]
|
||||||
|
|
||||||
|
<EFBFBD>Ǹ<EFBFBD><EFBFBD>ˡ<EFBFBD>make <20>ޤ<F2A4B7A4><DEA4><EFBFBD>
|
||||||
|
|
||||||
|
~/yoursample>% make
|
||||||
|
|
||||||
|
<EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѥ<EFBFBD><EFBFBD>뤬<EFBFBD>̤äơ<EFBFBD><EFBFBD>¹ԤǤ<EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
|
~/yoursample>% ./sample
|
||||||
|
|
||||||
<EFBFBD><EFBFBD> WonX <20><><EFBFBD><EFBFBD>
|
<EFBFBD><EFBFBD> WonX <20><><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
WonX <20>ϡ<EFBFBD>WonderWitch <20><> display_control() <20>Ȥ<EFBFBD> display_status() <20>Ȥ<EFBFBD><C8A4>ä<EFBFBD>
|
WonX <20>ϡ<EFBFBD>WonderWitch <20><> display_control() <20>Ȥ<EFBFBD> display_status() <20>Ȥ<EFBFBD><C8A4>ä<EFBFBD>
|
||||||
@@ -156,7 +235,7 @@ WonX
|
|||||||
|
|
||||||
1. WonX <20><>Ÿ<EFBFBD><C5B8><EFBFBD><EFBFBD><EFBFBD>롥
|
1. WonX <20><>Ÿ<EFBFBD><C5B8><EFBFBD><EFBFBD><EFBFBD>롥
|
||||||
|
|
||||||
~>% tar xvzf wonx.tar.gz
|
~>% tar xvzf wonx-x.x.tar.gz
|
||||||
~>% cd wonx
|
~>% cd wonx
|
||||||
~/wonx>%
|
~/wonx>%
|
||||||
|
|
||||||
@@ -286,7 +365,7 @@ smac
|
|||||||
/* <20><><EFBFBD>̤Υ<CCA4><CEA5>ꥢ */
|
/* <20><><EFBFBD>̤Υ<CCA4><CEA5>ꥢ */
|
||||||
for (y = 0; y < 32; y++)
|
for (y = 0; y < 32; y++)
|
||||||
for (x = 0; x < 32; x++) {
|
for (x = 0; x < 32; x++) {
|
||||||
screen_fill_char(0, x, y, 1, 1, 0x0000); /* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>褵<EFBFBD><E8A4B5><EFBFBD><EFBFBD> */
|
screen_fill_char(0, x, y, 1, 1, 0); /* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>褵<EFBFBD><E8A4B5><EFBFBD><EFBFBD> */
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -329,8 +408,8 @@ WonX
|
|||||||
<EFBFBD>ؿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƤӽФ<EFBFBD><EFBFBD>Ƥ⡤<EFBFBD><EFBFBD><EFBFBD>ⵯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28><><EFBFBD>δؿ<CEB4><D8BF>ˤʤäƤ<C3A4><C6A4><EFBFBD>)
|
<EFBFBD>ؿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƤӽФ<EFBFBD><EFBFBD>Ƥ⡤<EFBFBD><EFBFBD><EFBFBD>ⵯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28><><EFBFBD>δؿ<CEB4><D8BF>ˤʤäƤ<C3A4><C6A4><EFBFBD>)
|
||||||
|
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɽ<EFBFBD><EFBFBD>
|
<EFBFBD><EFBFBD><EFBFBD>ץ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¾<EFBFBD><EFBFBD><EFBFBD>äѤ<EFBFBD>
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>쥯<EFBFBD>ȥ饤<EFBFBD>֥<EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
<EFBFBD><EFBFBD> <20><><EFBFBD>դ<EFBFBD><D5A4>ʤ<EFBFBD><CAA4><EFBFBD><EFBFBD>Фʤ<D0A4><CAA4>ʤ<EFBFBD><CAA4><EFBFBD><EFBFBD><EFBFBD>
|
<EFBFBD><EFBFBD> <20><><EFBFBD>դ<EFBFBD><D5A4>ʤ<EFBFBD><CAA4><EFBFBD><EFBFBD>Фʤ<D0A4><CAA4>ʤ<EFBFBD><CAA4><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
@@ -344,8 +423,10 @@ UNIX
|
|||||||
<EFBFBD><EFBFBD><EFBFBD>ʤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȼפ<EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>(<28>ӥåȥޥå<DEA5><C3A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʤɤǡ<C9A4>short int <20>ˤ<EFBFBD><CBA4>٤<EFBFBD>
|
<EFBFBD><EFBFBD><EFBFBD>ʤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȼפ<EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>(<28>ӥåȥޥå<DEA5><C3A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʤɤǡ<C9A4>short int <20>ˤ<EFBFBD><CBA4>٤<EFBFBD>
|
||||||
<EFBFBD>Ȥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǥϡ<EFBFBD><EFBFBD><EFBFBD>ά<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> short int <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD>)
|
<EFBFBD>Ȥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǥϡ<EFBFBD><EFBFBD><EFBFBD>ά<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> short int <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD>)
|
||||||
|
|
||||||
<EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>WonX <20><><EFBFBD><EFBFBD>Ū<EFBFBD><C5AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ū<EFBFBD>ʥХ<CAA5><D0A5><EFBFBD><EFBFBD>ᤤ<EFBFBD>ʳ<EFBFBD><CAB3><EFBFBD>̵<EFBFBD><CCB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȥˤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Τǡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Τؤ<EFBFBD><EFBFBD><EFBFBD>
|
<EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>WonX <20><><EFBFBD><EFBFBD>Ū<EFBFBD><C5AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ū<EFBFBD>ʥХ<CAA5><D0A5><EFBFBD><EFBFBD>ᤤ<EFBFBD>ʳ<EFBFBD><CAB3><EFBFBD>̵<EFBFBD><CCB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȥȡ<EFBFBD>
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Τ<EFBFBD><EFBFBD>ȳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڤäƻȤäƤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ū<EFBFBD>Х<EFBFBD><EFBFBD>ȥϡ<EFBFBD><EFBFBD>ɤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߤΥХ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڤ<EFBFBD>Υ<EFBFBD><EFBFBD><EFBFBD>Ƹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>뤳<EFBFBD>Ȥȡ<EFBFBD>
|
||||||
|
<EFBFBD><EFBFBD><EFBFBD>椬<EFBFBD>ż֤<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǥ<EFBFBD> WonderWitch <20>Υץ<CEA5><D7A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><F1A4B1A4>褦<EFBFBD>ˤ<EFBFBD><CBA4>뤳<EFBFBD>Ȥˤ<C8A4><CBA4><EFBFBD><EFBFBD>Τǡ<CEA4>
|
||||||
|
<EFBFBD><EFBFBD><EFBFBD>Τؤ<EFBFBD><EFBFBD>Ϥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Τ<EFBFBD><EFBFBD>ȳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڤäƻȤäƤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
WonX <20><><EFBFBD>Ȥ<EFBFBD><C8A4>¤ꡤ<C2A4>ʤ<EFBFBD><CAA4>٤<EFBFBD><D9A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¸<EFBFBD><C2B8>̵<EFBFBD><CCB5><EFBFBD><EFBFBD><EFBFBD>褦<EFBFBD>˿<EFBFBD><CBBF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4>礦<EFBFBD><E7A4A6>
|
WonX <20><><EFBFBD>Ȥ<EFBFBD><C8A4>¤ꡤ<C2A4>ʤ<EFBFBD><CAA4>٤<EFBFBD><D9A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¸<EFBFBD><C2B8>̵<EFBFBD><CCB5><EFBFBD><EFBFBD><EFBFBD>褦<EFBFBD>˿<EFBFBD><CBBF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4>礦<EFBFBD><E7A4A6>
|
||||||
(<28>Ȥ<EFBFBD><C8A4><EFBFBD> int <20>Υ<EFBFBD><CEA5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˤ<EFBFBD><CBA4>ޤ<EFBFBD><DEA4><EFBFBD>¸<EFBFBD><C2B8><EFBFBD>ʤ<EFBFBD><CAA4>褦<EFBFBD>ˤ<EFBFBD><CBA4>ޤ<EFBFBD><DEA4>礦)
|
(<28>Ȥ<EFBFBD><C8A4><EFBFBD> int <20>Υ<EFBFBD><CEA5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˤ<EFBFBD><CBA4>ޤ<EFBFBD><DEA4><EFBFBD>¸<EFBFBD><C2B8><EFBFBD>ʤ<EFBFBD><CAA4>褦<EFBFBD>ˤ<EFBFBD><CBA4>ޤ<EFBFBD><DEA4>礦)
|
||||||
|
|
||||||
@@ -386,9 +467,9 @@ font_set_colordata()
|
|||||||
<EFBFBD>Τǡ<EFBFBD>char * <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>饯<EFBFBD><E9A5AF><EFBFBD>ǡ<EFBFBD><C7A1><EFBFBD><EFBFBD><EFBFBD> short int * <20>˥<EFBFBD><CBA5>㥹<EFBFBD>Ȥ<EFBFBD><C8A4><EFBFBD>
|
<EFBFBD>Τǡ<EFBFBD>char * <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>饯<EFBFBD><E9A5AF><EFBFBD>ǡ<EFBFBD><C7A1><EFBFBD><EFBFBD><EFBFBD> short int * <20>˥<EFBFBD><CBA5>㥹<EFBFBD>Ȥ<EFBFBD><C8A4><EFBFBD>
|
||||||
font_set_colordata()<29><><EFBFBD>Ϥ<EFBFBD><CFA4>ʤɤΤ<C9A4><CEA4>ȤƤ<F2A4B7A4><C6A4><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҥä<D2A4><C3A4><EFBFBD><EFBFBD>֤<EFBFBD>
|
font_set_colordata()<29><><EFBFBD>Ϥ<EFBFBD><CFA4>ʤɤΤ<C9A4><CEA4>ȤƤ<F2A4B7A4><C6A4><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҥä<D2A4><C3A4><EFBFBD><EFBFBD>֤<EFBFBD>
|
||||||
<EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD><EFBFBD>ͤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>
|
<EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD><EFBFBD>ͤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>
|
||||||
i386 <20>Ϥ<EFBFBD> PC-UNIX <20>ʤ<EFBFBD><CAA4>С<EFBFBD><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>餯<EFBFBD><E9A4AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̵<EFBFBD><CCB5><EFBFBD>Ǥ<EFBFBD><C7A4>礦<EFBFBD><E7A4A6>
|
i386 <20>ϤΤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> PC-UNIX <20>ʤ<EFBFBD><CAA4>С<EFBFBD><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>餯<EFBFBD><E9A4AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̵<EFBFBD><CCB5><EFBFBD>Ǥ<EFBFBD><C7A4>礦<EFBFBD><E7A4A6>
|
||||||
|
|
||||||
[<5B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߤ<EFBFBD><DFA4><EFBFBD><EFBFBD><EFBFBD>]
|
[<5B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
|
||||||
|
|
||||||
WonderWitch <20>ˤϥ<CBA4><CFA5><EFBFBD><EFBFBD><EFBFBD><DEB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߤ<EFBFBD><DFA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD><EFBFBD><EFBFBD>WonX <20><>ư<EFBFBD><C6B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>٤<EFBFBD><D9A4><EFBFBD><EFBFBD>ᡤ
|
WonderWitch <20>ˤϥ<CBA4><CFA5><EFBFBD><EFBFBD><EFBFBD><DEB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߤ<EFBFBD><DFA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD><EFBFBD><EFBFBD>WonX <20><>ư<EFBFBD><C6B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>٤<EFBFBD><D9A4><EFBFBD><EFBFBD>ᡤ
|
||||||
WonderWitch <20>λ<EFBFBD><CEBB><EFBFBD>ñ<EFBFBD>̤Τޤ<CEA4> UNIX <20>˻<EFBFBD><CBBB>äƤ<C3A4><C6A4><EFBFBD><EFBFBD>顤<EFBFBD><E9A1A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߤ<EFBFBD>
|
WonderWitch <20>λ<EFBFBD><CEBB><EFBFBD>ñ<EFBFBD>̤Τޤ<CEA4> UNIX <20>˻<EFBFBD><CBBB>äƤ<C3A4><C6A4><EFBFBD><EFBFBD>顤<EFBFBD><E9A1A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߤ<EFBFBD>
|
||||||
@@ -400,6 +481,51 @@ WonderWitch
|
|||||||
<EFBFBD><EFBFBD><EFBFBD>ä<EFBFBD><EFBFBD>ִ֤ˤޤ<EFBFBD><EFBFBD>ϥ<EFBFBD><EFBFBD>ɥ餬<EFBFBD>ƤФ<EFBFBD><EFBFBD>ơ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¹Ԥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>˿ʤޤʤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD>
|
<EFBFBD><EFBFBD><EFBFBD>ä<EFBFBD><EFBFBD>ִ֤ˤޤ<EFBFBD><EFBFBD>ϥ<EFBFBD><EFBFBD>ɥ餬<EFBFBD>ƤФ<EFBFBD><EFBFBD>ơ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¹Ԥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>˿ʤޤʤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD>
|
||||||
<EFBFBD>ʤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>
|
<EFBFBD>ʤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
|
[<5B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϳ<EFBFBD><CFB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߡ<EFBFBD><DFA1><EFBFBD><EFBFBD>ꥢ<EFBFBD><EAA5A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߤ<EFBFBD><DFA4><EFBFBD><EFBFBD><EFBFBD>]
|
||||||
|
|
||||||
|
(<28><><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD><EFBFBD>뤳<EFBFBD>ȤϤʤ<CFA4><CAA4>Ȼפ<C8BB><D7A4>ޤ<EFBFBD><DEA4><EFBFBD>)<29><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϳ<EFBFBD><CFB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߤȥ<DFA4><C8A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϸ<EFBFBD><CFB8><EFBFBD><EFBFBD>Ѵؿ<D1B4><D8BF><EFBFBD>
|
||||||
|
Ʊ<EFBFBD><EFBFBD><EFBFBD>롼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʻ<EFBFBD>Ѥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߤΤȤꤳ<EFBFBD>ܤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>䤹<EFBFBD><EFBFBD><EFBFBD>ʤ<EFBFBD><EFBFBD><EFBFBD>ǽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
<EFBFBD>Ĥޤꡤ<EFBFBD>ʲ<EFBFBD><EFBFBD>Τ褦<EFBFBD>ʥץ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD><EFBFBD>ˤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>դ<EFBFBD><EFBFBD>Ƥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
|
void far key_handler()
|
||||||
|
{
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϥν<CFA4><CEBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
}
|
||||||
|
|
||||||
|
static intvector_t key_intvector;
|
||||||
|
static intvector_t key_last_intvector;
|
||||||
|
|
||||||
|
main()
|
||||||
|
{
|
||||||
|
key_intvector.callback = (void (near *)())FP_OFF(key_handler);
|
||||||
|
key_intvector.cs = _asm_inline("\tmov\tax,cs");
|
||||||
|
key_intvector.ds = _asm_inline("\tmov\tax,ds");
|
||||||
|
|
||||||
|
sys_interrupt_set_hook(SYS_INT_KEY, &key_intvector, &key_last_intvector);
|
||||||
|
|
||||||
|
while (1) {
|
||||||
|
/*
|
||||||
|
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϳ<EFBFBD><CFB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԥ<EFBFBD><D4A4>ξ<EFBFBD><CEBE>֤ʤΤˡ<CEA4>key_press_check() <20>ǥ<EFBFBD><C7A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͼ<EFBFBD><CFBE>֤<EFBFBD>
|
||||||
|
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԥ<EFBFBD>
|
||||||
|
*/
|
||||||
|
key = key_press_check();
|
||||||
|
/* <20>ʤ<EFBFBD><CAA4><EFBFBD>Ŭ<EFBFBD><C5AC><EFBFBD>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD>Τؤ<CEA4><D8A4>ǹԤä<D4A4><C3A4>ꤹ<EFBFBD><EAA4B9> */
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߤ<EFBFBD><EFBFBD>Ԥ<EFBFBD><EFBFBD>ʤ<EFBFBD><EFBFBD>顤key_press_check() <20>ǥ<EFBFBD><C7A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͼ<EFBFBD><CFBE>֤<EFBFBD>
|
||||||
|
<EFBFBD≯Ĥ˸<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>롤<EFBFBD>Ȥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߤΤȤꤳ<EFBFBD>ܤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϳ<EFBFBD><CFB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߤˤ<DFA4><CBA4>äƸƤӽФ<D3BD><D0A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߥϥ<DFA5><CFA5>ɥ<EFBFBD><C9A5><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
key_press_check() <20><><EFBFBD><EFBFBD><EFBFBD>Ѥ<EFBFBD><D1A4>뤳<EFBFBD>Ȥ<EFBFBD><C8A4><EFBFBD><EFBFBD>ꤢ<EFBFBD><EAA4A2><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD><EFBFBD><EFBFBD>(<28>Ǥʤ<C7A4><CAA4>ȳ<EFBFBD><C8B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߤ<EFBFBD>
|
||||||
|
<20><>̣<EFBFBD><CCA3>̵<EFBFBD><CCB5><EFBFBD>ʤäƤ<C3A4><C6A4>ޤ<EFBFBD><DEA4><EFBFBD><EFBFBD><EFBFBD>) <20><><EFBFBD><EFBFBD><EFBFBD>ޤǡ<DEA4>Ʊ<EFBFBD><C6B1><EFBFBD>롼<EFBFBD><EBA1BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʻ<EFBFBD>Ѥ<EFBFBD><D1A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>꤬
|
||||||
|
ȯ<><C8AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǽ<EFBFBD><C7BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>롤<EFBFBD>Ȥ<EFBFBD><C8A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȤǤ<C8A4>)
|
||||||
|
|
||||||
|
<EFBFBD>Ǥ⡤<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʤؤ<EFBFBD><EFBFBD>ʥץ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ढ<EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̵<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʤȻפäƤޤ<EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ľ<EFBFBD><C4BE><EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD><C8A4><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1>ȤƤ⤿<C6A4><E2A4BF><EFBFBD>ؤ<EFBFBD><D8A4>ʤΤ<CAA4>)
|
||||||
|
<EFBFBD><EFBFBD><EFBFBD>Τ<EFBFBD><EFBFBD>Ȥϡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ꥢ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߤ˴ؤ<EFBFBD><EFBFBD>Ƥ⡤Ʊ<EFBFBD>ͤǤ<EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
[<5B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϤˤĤ<CBA4><C4A4><EFBFBD>]
|
[<5B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϤˤĤ<CBA4><C4A4><EFBFBD>]
|
||||||
|
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϥϡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѵؿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƤФ줿<EFBFBD>Ȥ<EFBFBD><EFBFBD>Τߴ<EFBFBD><EFBFBD>Τ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Τǡ<EFBFBD>Ĺ<EFBFBD><EFBFBD><EFBFBD>˲<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƥʤ<EFBFBD><EFBFBD><EFBFBD>
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϥϡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѵؿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƤФ줿<EFBFBD>Ȥ<EFBFBD><EFBFBD>Τߴ<EFBFBD><EFBFBD>Τ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Τǡ<EFBFBD>Ĺ<EFBFBD><EFBFBD><EFBFBD>˲<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƥʤ<EFBFBD><EFBFBD><EFBFBD>
|
||||||
@@ -420,6 +546,8 @@ gcc -g -o smac $(OBJS) -L. -L/usr/X11R6/lib -lwonx -lX11 -lXt
|
|||||||
<EFBFBD>Τ褦<EFBFBD>ʹԤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ä<EFBFBD><EFBFBD>Ȥ<EFBFBD><EFBFBD>ơ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>줬 MS-DOS <20>Υƥ<CEA5><C6A5><EFBFBD><EFBFBD>ȷ<EFBFBD><C8B7><EFBFBD><EFBFBD>Υե<CEA5><D5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD>
|
<EFBFBD>Τ褦<EFBFBD>ʹԤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ä<EFBFBD><EFBFBD>Ȥ<EFBFBD><EFBFBD>ơ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>줬 MS-DOS <20>Υƥ<CEA5><C6A5><EFBFBD><EFBFBD>ȷ<EFBFBD><C8B7><EFBFBD><EFBFBD>Υե<CEA5><D5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD>
|
||||||
-lXt <20>Τ<EFBFBD><CEA4>Ȥ<EFBFBD>;ʬ<CDBE>ʲ<EFBFBD><CAB2>ԥ<EFBFBD><D4A5><EFBFBD><EFBFBD><EFBFBD>(\r)<29><><EFBFBD>ղä<D5B2><C3A4><EFBFBD><EFBFBD>Ƥ<EFBFBD><C6A4>ޤ<EFBFBD><DEA4><EFBFBD><EFBFBD>ᡤUNIX <20><><EFBFBD><EFBFBD> make
|
-lXt <20>Τ<EFBFBD><CEA4>Ȥ<EFBFBD>;ʬ<CDBE>ʲ<EFBFBD><CAB2>ԥ<EFBFBD><D4A5><EFBFBD><EFBFBD><EFBFBD>(\r)<29><><EFBFBD>ղä<D5B2><C3A4><EFBFBD><EFBFBD>Ƥ<EFBFBD><C6A4>ޤ<EFBFBD><DEA4><EFBFBD><EFBFBD>ᡤUNIX <20><><EFBFBD><EFBFBD> make
|
||||||
<EFBFBD><EFBFBD><EFBFBD>Ƥ⡤<EFBFBD><EFBFBD>-lXt <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>饤<EFBFBD>֥<EFBFBD><D6A5>̵꤬<EAA4AC><CCB5><EFBFBD>פ<EFBFBD><D7A4>ܤ<EFBFBD><DCA4><EFBFBD><EFBFBD>Ƥ<EFBFBD><C6A4>ޤ<EFBFBD><DEA4>ޤ<EFBFBD><DEA4><EFBFBD>
|
<EFBFBD><EFBFBD><EFBFBD>Ƥ⡤<EFBFBD><EFBFBD>-lXt <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>饤<EFBFBD>֥<EFBFBD><D6A5>̵꤬<EAA4AC><CCB5><EFBFBD>פ<EFBFBD><D7A4>ܤ<EFBFBD><DCA4><EFBFBD><EFBFBD>Ƥ<EFBFBD><C6A4>ޤ<EFBFBD><DEA4>ޤ<EFBFBD><DEA4><EFBFBD>
|
||||||
|
(<28>ºݤˤϥ<CBA4><CFA5><EFBFBD><EFBFBD>ѥ<EFBFBD><D1A5><EFBFBD><EFBFBD>ϡ<EFBFBD>-lXt\r <20><><EFBFBD>ȻפäƤ<C3A4><C6A4>ޤäơ<C3A4>libXt\r.a <20>Ȥ<EFBFBD><C8A4><EFBFBD><EFBFBD>饤<EFBFBD>֥<EFBFBD><D6A5><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
õ<><C3B5><EFBFBD>Ƥ<EFBFBD><C6A4>ޤ<EFBFBD><DEA4>ΤǤ<CEA4>)
|
||||||
(<28><><EFBFBD><EFBFBD><EFBFBD>⡤<EFBFBD>ե<EFBFBD><D5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> emacs <20><> less <20>ʤɤǻ<C9A4><C7BB>Ȥ<EFBFBD><C8A4>Ƥ⡤<C6A4><E2A1A4><EFBFBD>ԥ<EFBFBD><D4A5><EFBFBD><EFBFBD>ɤ<EFBFBD>ɽ<EFBFBD><C9BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʤ<EFBFBD>
|
(<28><><EFBFBD><EFBFBD><EFBFBD>⡤<EFBFBD>ե<EFBFBD><D5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> emacs <20><> less <20>ʤɤǻ<C9A4><C7BB>Ȥ<EFBFBD><C8A4>Ƥ⡤<C6A4><E2A1A4><EFBFBD>ԥ<EFBFBD><D4A5><EFBFBD><EFBFBD>ɤ<EFBFBD>ɽ<EFBFBD><C9BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʤ<EFBFBD>
|
||||||
<20><><EFBFBD>ᡤ<EFBFBD><E1A1A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>狼<EFBFBD><EFA4AB><EFBFBD>ˤ<EFBFBD><CBA4><EFBFBD>)
|
<20><><EFBFBD>ᡤ<EFBFBD><E1A1A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>狼<EFBFBD><EFA4AB><EFBFBD>ˤ<EFBFBD><CBA4><EFBFBD>)
|
||||||
<EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>
|
<EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>
|
||||||
@@ -458,7 +586,66 @@ SAMPLE.C
|
|||||||
ź<EFBFBD>դ<EFBFBD> sout2str.pl <20><><EFBFBD>̤<EFBFBD><CCA4><EFBFBD><EFBFBD>Ȥˤ<C8A4><CBA4>ꡤ<EFBFBD><EAA1A4><EFBFBD>ꥢ<EFBFBD><EAA5A2><EFBFBD>̿<EFBFBD><CCBF>ؤν<D8A4><CEBD>ϤΤ<CFA4><CEA4><EFBFBD><EFBFBD>Ф<EFBFBD><D0A4>ơ<EFBFBD>
|
ź<EFBFBD>դ<EFBFBD> sout2str.pl <20><><EFBFBD>̤<EFBFBD><CCA4><EFBFBD><EFBFBD>Ȥˤ<C8A4><CBA4>ꡤ<EFBFBD><EAA1A4><EFBFBD>ꥢ<EFBFBD><EAA5A2><EFBFBD>̿<EFBFBD><CCBF>ؤν<D8A4><CEBD>ϤΤ<CFA4><CEA4><EFBFBD><EFBFBD>Ф<EFBFBD><D0A4>ơ<EFBFBD>
|
||||||
ü<EFBFBD><EFBFBD><EFBFBD>ؤν<EFBFBD><EFBFBD>ϤΥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>뤳<EFBFBD>Ȥ<EFBFBD><EFBFBD>Ǥ<EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>
|
ü<EFBFBD><EFBFBD><EFBFBD>ؤν<EFBFBD><EFBFBD>ϤΥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>뤳<EFBFBD>Ȥ<EFBFBD><EFBFBD>Ǥ<EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
[<5B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> WonX <20><>¸<EFBFBD><EFBFBD>ʬ<EFBFBD>Τ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>꤫<EFBFBD><EFBFBD>]
|
<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߤˤĤ<EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߤ䥷<EFBFBD>ꥢ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߤʤɤϡ<EFBFBD>UNIX<EFBFBD>Υ<EFBFBD><EFBFBD>顼<EFBFBD>ॷ<EFBFBD><EFBFBD><EFBFBD>ʥ<EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
<EFBFBD><EFBFBD><EFBFBD>Ѥ<EFBFBD><EFBFBD>Ƽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƥ<EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֤<EFBFBD><D6A4><EFBFBD><EFBFBD>˥ݡ<CBA5><DDA1><EFBFBD><EFBFBD><EFBFBD><F3A5B0A4>Ƥ<EFBFBD><C6A4><EFBFBD>)
|
||||||
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>äơ<EFBFBD><EFBFBD>ʲ<EFBFBD><EFBFBD>Τ褦<EFBFBD>ʥץ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⥳<EFBFBD><EFBFBD><EFBFBD>ѥ<EFBFBD><EFBFBD>뤷<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
<EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD><EFBFBD>Ǥ<EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
|
void far key_handler()
|
||||||
|
{
|
||||||
|
int key;
|
||||||
|
key = key_press_check();
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϥν<CFA4><CEBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
}
|
||||||
|
|
||||||
|
/* <20><><EFBFBD>ꥢ<EFBFBD><EAA5A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>γ<EFBFBD><CEB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߥϥ<DFA5><CFA5>ɥ<EFBFBD> */
|
||||||
|
void far com_handler()
|
||||||
|
{
|
||||||
|
int c;
|
||||||
|
c = comm_receive_char();
|
||||||
|
/* <20><><EFBFBD>ꥢ<EFBFBD><EAA5A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ν<EFBFBD><CEBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
}
|
||||||
|
|
||||||
|
static intvector_t key_intvector;
|
||||||
|
static intvector_t key_last_intvector;
|
||||||
|
static intvector_t com_intvector;
|
||||||
|
static intvector_t com_last_intvector;
|
||||||
|
|
||||||
|
main()
|
||||||
|
{
|
||||||
|
key_intvector.callback = (void (near *)())FP_OFF(key_handler);
|
||||||
|
com_intvector.callback = (void (near *)())FP_OFF(com_handler);
|
||||||
|
key_intvector.cs = _asm_inline("\tmov\tax,cs");
|
||||||
|
key_intvector.ds = _asm_inline("\tmov\tax,ds");
|
||||||
|
com_intvector.cs = _asm_inline("\tmov\tax,cs");
|
||||||
|
com_intvector.ds = _asm_inline("\tmov\tax,ds");
|
||||||
|
|
||||||
|
sys_interrupt_set_hook(SYS_INT_KEY,
|
||||||
|
&key_intvector, &key_last_intvector);
|
||||||
|
sys_interrupt_set_hook(SYS_INT_RECEIVEREADY,
|
||||||
|
&com_intvector, &com_last_intvector);
|
||||||
|
|
||||||
|
while (1) {
|
||||||
|
/* ̵<>¥롼<C2A5>ס<EFBFBD><D7A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߤ<EFBFBD><DFA4><EFBFBD><EFBFBD>ä<EFBFBD><C3A4>顤<EFBFBD><E9A1A4><EFBFBD>Υϥ<CEA5><CFA5>ɥ<EFBFBD><C9A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
_asm_inline() <20>Ͼ<EFBFBD><CFBE><EFBFBD>0<EFBFBD><30><EFBFBD>֤<EFBFBD><D6A4><EFBFBD><EFBFBD>ߡ<EFBFBD><DFA1>ؿ<EFBFBD><D8BF>Ȥ<EFBFBD><C8A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƥ<EFBFBD><C6A4>ޤ<EFBFBD><DEA4><EFBFBD>
|
||||||
|
<EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>FP_OFF(), FP_SEG() <20>ϡ<EFBFBD>
|
||||||
|
#define FP_OFF(p) (p)
|
||||||
|
#define FP_SEG(p) (0)
|
||||||
|
<EFBFBD>Τ褦<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƥ<EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>äơ<EFBFBD><EFBFBD>嵭<EFBFBD>Τ褦<EFBFBD>ʥץ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> WonX <20><>
|
||||||
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѥ<EFBFBD><EFBFBD>뤷<EFBFBD>Ƽ¹Ԥ<EFBFBD><EFBFBD>뤳<EFBFBD>Ȥ<EFBFBD><EFBFBD>Ǥ<EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
|
<EFBFBD><EFBFBD><EFBFBD>Τ褦<EFBFBD>ˡ<EFBFBD>while (1) {} <20><>̵<EFBFBD>¥롼<C2A5>פ<EFBFBD><D7A4>ơ<F3A4B7A4><C6A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߤ<EFBFBD><DFA4><EFBFBD><EFBFBD>ä<EFBFBD><C3A4>Ȥ<EFBFBD><C8A4><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>褦<EFBFBD>ʥץ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƥ⡤<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϥϥݡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Τ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʤ<EFBFBD><EFBFBD>Τǡ<EFBFBD>
|
||||||
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˤϡ<EFBFBD>Ĺ<EFBFBD><EFBFBD><EFBFBD>˥<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƥ<EFBFBD><EFBFBD><EFBFBD>ɬ<EFBFBD>פ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
(<28><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD><CFB4><EFBFBD>Ū<EFBFBD><C5AA><EFBFBD>ߤ<EFBFBD><DFA4>Τǡ<CEA4>ȿ<EFBFBD><C8BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD>Ĺ<EFBFBD><C4B9><EFBFBD>˲<EFBFBD><CBB2><EFBFBD><EFBFBD>Ƥ<EFBFBD><C6A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
||||||
|
|
||||||
|
<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> WonX <20><>¸<EFBFBD><C2B8>ʬ<EFBFBD>Τ<EFBFBD><CEA4><EFBFBD><EFBFBD>꤫<EFBFBD><EAA4AB>
|
||||||
|
|
||||||
WonderWitch <20>ѤΥץ<CEA5><D7A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȯ<EFBFBD><C8AF><EFBFBD>Ƥ<EFBFBD><C6A4><EFBFBD><EFBFBD>ݤˡ<DDA4>WonX <20>ξ<EFBFBD><CEBE><EFBFBD><EFBFBD>Τ<EFBFBD><CEA4>Ȥ߹<C8A4><DFB9>ߤ<EFBFBD><DFA4><EFBFBD><EFBFBD>ơ<EFBFBD>
|
WonderWitch <20>ѤΥץ<CEA5><D7A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȯ<EFBFBD><C8AF><EFBFBD>Ƥ<EFBFBD><C6A4><EFBFBD><EFBFBD>ݤˡ<DDA4>WonX <20>ξ<EFBFBD><CEBE><EFBFBD><EFBFBD>Τ<EFBFBD><CEA4>Ȥ߹<C8A4><DFB9>ߤ<EFBFBD><DFA4><EFBFBD><EFBFBD>ơ<EFBFBD>
|
||||||
WonderSwan <20><><EFBFBD>Ǽ¹Ԥ<C2B9><D4A4><EFBFBD><EFBFBD>Ȥ<EFBFBD><C8A4>ˤϼ<CBA4><CFBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɤ<EFBFBD><C9A4><EFBFBD><EFBFBD>ä<EFBFBD><C3A4>Ȥ<EFBFBD><C8A4>ޤ<EFBFBD><DEA4><EFBFBD>
|
WonderSwan <20><><EFBFBD>Ǽ¹Ԥ<C2B9><D4A4><EFBFBD><EFBFBD>Ȥ<EFBFBD><C8A4>ˤϼ<CBA4><CFBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɤ<EFBFBD><C9A4><EFBFBD><EFBFBD>ä<EFBFBD><C3A4>Ȥ<EFBFBD><C8A4>ޤ<EFBFBD><DEA4><EFBFBD>
|
||||||
@@ -467,7 +654,7 @@ WonderSwan
|
|||||||
#define _WONX_
|
#define _WONX_
|
||||||
<EFBFBD><EFBFBD><EFBFBD>Ƥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Τǡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Τ褦<EFBFBD>ʾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> #ifdef _WONX_ <20>Ǥ<EFBFBD><C7A4><EFBFBD><EFBFBD>äƤ<C3A4><C6A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
<EFBFBD><EFBFBD><EFBFBD>Ƥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Τǡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Τ褦<EFBFBD>ʾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> #ifdef _WONX_ <20>Ǥ<EFBFBD><C7A4><EFBFBD><EFBFBD>äƤ<C3A4><C6A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
[<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ץǡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>μ<EFBFBD><EFBFBD>꤫<EFBFBD><EFBFBD>]
|
<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ץǡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>μ<EFBFBD><EFBFBD>꤫<EFBFBD><EFBFBD>
|
||||||
|
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˡ<EFBFBD>
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˡ<EFBFBD>
|
||||||
|
|
||||||
|
|||||||
180
UNIXSerialPort.c
Normal file
180
UNIXSerialPort.c
Normal file
@@ -0,0 +1,180 @@
|
|||||||
|
/*****************************************************************************/
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
/*****************************************************************************/
|
||||||
|
|
||||||
|
#include <string.h>
|
||||||
|
#include <unistd.h>
|
||||||
|
#include <sys/types.h>
|
||||||
|
#include <sys/time.h>
|
||||||
|
|
||||||
|
#include "UNIXSerialPortP.h"
|
||||||
|
#include "WonX.h"
|
||||||
|
#include "etc.h"
|
||||||
|
|
||||||
|
/*****************************************************************************/
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD>дؿ<D0B4><D8BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
/*****************************************************************************/
|
||||||
|
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
/* <20>ݡ<EFBFBD><DDA1>Ȥ<EFBFBD> open/close */
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
int UNIXSerialPort_Open(UNIXSerialPort unix_serial_port)
|
||||||
|
{
|
||||||
|
unix_serial_port->opened = 1;
|
||||||
|
return (0);
|
||||||
|
}
|
||||||
|
int UNIXSerialPort_Close(UNIXSerialPort unix_serial_port)
|
||||||
|
{
|
||||||
|
unix_serial_port->opened = 0;
|
||||||
|
return (0);
|
||||||
|
}
|
||||||
|
|
||||||
|
int UNIXSerialPort_IsOpened(UNIXSerialPort unix_serial_port)
|
||||||
|
{ return (unix_serial_port->opened != 0); }
|
||||||
|
int UNIXSerialPort_IsClosed(UNIXSerialPort unix_serial_port)
|
||||||
|
{ return (unix_serial_port->opened == 0); }
|
||||||
|
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD>ǡ<EFBFBD><C7A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>뤫<EFBFBD>ɤ<EFBFBD><C9A4><EFBFBD> */
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* <20><><EFBFBD><EFBFBD><EFBFBD>ॢ<EFBFBD><E0A5A2><EFBFBD>Ȼ<EFBFBD><C8BB>֤<EFBFBD><D6A4>ߥ<EFBFBD><DFA5><EFBFBD>ñ<EFBFBD>̤ǻ<CCA4><C7BB>ꡥ
|
||||||
|
* 0 <20>ΤȤ<CEA4><C8A4>ϡ<EFBFBD>¨<EFBFBD><C2A8>
|
||||||
|
* -1 <20>ΤȤ<CEA4><C8A4>ϡ<EFBFBD>̵<EFBFBD><CCB5><EFBFBD><EFBFBD><EFBFBD>Ԥ<EFBFBD>
|
||||||
|
*/
|
||||||
|
|
||||||
|
int UNIXSerialPort_IsDataExisting(UNIXSerialPort unix_serial_port,
|
||||||
|
int timeout)
|
||||||
|
{
|
||||||
|
fd_set bitmap;
|
||||||
|
struct timeval t;
|
||||||
|
struct timeval * t_p;
|
||||||
|
#if 0
|
||||||
|
int c;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
if (UNIXSerialPort_IsClosed(unix_serial_port)) return (0);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 0 <20>ΤȤ<CEA4><C8A4>ϡ<EFBFBD>¨<EFBFBD><C2A8>
|
||||||
|
* -1 <20>ΤȤ<CEA4><C8A4>ϡ<EFBFBD>̵<EFBFBD><CCB5><EFBFBD><EFBFBD><EFBFBD>Ԥ<EFBFBD>
|
||||||
|
*/
|
||||||
|
if (timeout == -1) {
|
||||||
|
t_p = NULL;
|
||||||
|
} else {
|
||||||
|
t.tv_sec = timeout / 1000;
|
||||||
|
t.tv_usec = (timeout % 1000) * 1000;
|
||||||
|
t_p = &t;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* FreeBSD3.4 <20>Ǽ¸<C7BC><C2B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD><C8A4><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
* <20><><EFBFBD>顼<EFBFBD>ॷ<EFBFBD><E0A5B7><EFBFBD>ʥ<EFBFBD><CAA5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѥ<EFBFBD><D1A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>硤select()<29>ǤΥ֥<CEA5><D6A5>å<EFBFBD><C3A5><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
* <20><><EFBFBD>顼<EFBFBD>ॷ<EFBFBD><E0A5B7><EFBFBD>ʥ뤬ȯ<EBA4AC><C8AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD>ľ<EFBFBD><C4BE><EFBFBD><EFBFBD>select()<29>⥿<EFBFBD><E2A5BF><EFBFBD>ॢ<EFBFBD><E0A5A2><EFBFBD><EFBFBD>
|
||||||
|
* <20><><EFBFBD>Ƥ<EFBFBD><C6A4>ޤ<EFBFBD><DEA4>Τǡ<CEA4><C7A1><EFBFBD><EFBFBD>ա<EFBFBD>
|
||||||
|
* (select() <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ॢ<EFBFBD><E0A5A2><EFBFBD>Ȥ<EFBFBD><C8A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˥<EFBFBD><CBA5>顼<EFBFBD>ॷ<EFBFBD><E0A5B7><EFBFBD>ʥ뤬ȯ<EBA4AC><C8AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϡ<EFBFBD>
|
||||||
|
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD><EFBFBD><EEA4B7>)
|
||||||
|
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̵꤬<EAA4AC><CCB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԥ<EFBFBD><D4A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֤<EFBFBD><D6A4><EFBFBD><EFBFBD>ԤäƤ<C3A4><C6A4><EFBFBD><EFBFBD>ʤ<EFBFBD><CAA4>Ȥ<EFBFBD><C8A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݤ<EFBFBD>
|
||||||
|
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǽ<EFBFBD><C7BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>롥
|
||||||
|
*/
|
||||||
|
|
||||||
|
#if 0
|
||||||
|
/* <20>ɤ<EFBFBD><C9A4><EFBFBD><EFBFBD>Ф<EFBFBD><D0A4><EFBFBD><EFBFBD><EFBFBD>ʸ<EFBFBD><CAB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD><C8A4>ϡ<EFBFBD><CFA1><EFBFBD><EFBFBD>ä<EFBFBD><C3A4>Υ<EFBFBD><CEA5><EFBFBD><EFBFBD>ɤ<EFBFBD><C9A4>Ȥ<EFBFBD> */
|
||||||
|
do {
|
||||||
|
FD_ZERO(&bitmap);
|
||||||
|
FD_SET(fileno(stdin), &bitmap);
|
||||||
|
select(fileno(stdin) + 1, &bitmap, NULL, NULL, t_p);
|
||||||
|
|
||||||
|
if (!FD_ISSET(fileno(stdin), &bitmap))
|
||||||
|
return (0);
|
||||||
|
|
||||||
|
c = fgetc(stdin);
|
||||||
|
} while (0); /* <20>ɤ<EFBFBD><C9A4><EFBFBD><EFBFBD>Ф<EFBFBD><D0A4><EFBFBD><EFBFBD><EFBFBD>ʸ<EFBFBD><CAB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD><C8A4>ϡ<EFBFBD><CFA1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>c<EFBFBD><63><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>å<EFBFBD><C3A5><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
ungetc(c, stdin);
|
||||||
|
#else
|
||||||
|
FD_ZERO(&bitmap);
|
||||||
|
FD_SET(fileno(stdin), &bitmap);
|
||||||
|
select(fileno(stdin) + 1, &bitmap, NULL, NULL, t_p);
|
||||||
|
|
||||||
|
if (!FD_ISSET(fileno(stdin), &bitmap))
|
||||||
|
return (0);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
return (1);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
/* <20><><EFBFBD><EFBFBD> */
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
int UNIXSerialPort_ReceiveCharacter(UNIXSerialPort unix_serial_port,
|
||||||
|
int timeout)
|
||||||
|
{
|
||||||
|
int c;
|
||||||
|
|
||||||
|
if (UNIXSerialPort_IsClosed(unix_serial_port)) return (-1);
|
||||||
|
|
||||||
|
c = UNIXSerialPort_IsDataExisting(unix_serial_port, timeout)
|
||||||
|
? fgetc(stdin) : -1;
|
||||||
|
c = (c == '\n') ? '\r' : c; /* \r <20>Υ<EFBFBD><CEA5>ߥ<EFBFBD><DFA5>졼<EFBFBD><ECA1BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
|
||||||
|
return (c);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
/* <20><><EFBFBD><EFBFBD> */
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
int UNIXSerialPort_SendCharacter(UNIXSerialPort unix_serial_port,
|
||||||
|
unsigned char c)
|
||||||
|
{
|
||||||
|
if (UNIXSerialPort_IsClosed(unix_serial_port)) return (0);
|
||||||
|
|
||||||
|
wonx_print_character(stdout, c);
|
||||||
|
|
||||||
|
return (1);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
/* <20><><EFBFBD>֥<EFBFBD><D6A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȥκ<C8A4><CEBA><EFBFBD> */
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
UNIXSerialPort UNIXSerialPort_Create()
|
||||||
|
{
|
||||||
|
UNIXSerialPort unix_serial_port;
|
||||||
|
|
||||||
|
unix_serial_port = (UNIXSerialPort)malloc(sizeof(_UNIXSerialPort));
|
||||||
|
if (unix_serial_port == NULL)
|
||||||
|
WonX_Error("UNIXSerialPort_Create", "Cannot allocate memory.");
|
||||||
|
|
||||||
|
unix_serial_port->opened = 0;
|
||||||
|
|
||||||
|
return (unix_serial_port);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
/* <20><><EFBFBD>֥<EFBFBD><D6A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȥκ<C8A4><CEBA><EFBFBD> */
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
UNIXSerialPort UNIXSerialPort_Destroy(UNIXSerialPort unix_serial_port)
|
||||||
|
{
|
||||||
|
if (unix_serial_port == NULL)
|
||||||
|
WonX_Error("UNIXSerialPort_Destroy", "Object is not created.");
|
||||||
|
|
||||||
|
if (UNIXSerialPort_IsOpened(unix_serial_port))
|
||||||
|
UNIXSerialPort_Close(unix_serial_port);
|
||||||
|
|
||||||
|
free(unix_serial_port);
|
||||||
|
|
||||||
|
return (NULL);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*****************************************************************************/
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD> */
|
||||||
|
/*****************************************************************************/
|
||||||
|
|
||||||
|
/*****************************************************************************/
|
||||||
|
/* End of File. */
|
||||||
|
/*****************************************************************************/
|
||||||
82
UNIXSerialPort.h
Normal file
82
UNIXSerialPort.h
Normal file
@@ -0,0 +1,82 @@
|
|||||||
|
#ifndef _UNIXSerialPort_h_INCLUDED_
|
||||||
|
#define _UNIXSerialPort_h_INCLUDED_
|
||||||
|
|
||||||
|
/*****************************************************************************/
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
/*****************************************************************************/
|
||||||
|
|
||||||
|
/*****************************************************************************/
|
||||||
|
/* <20><><EFBFBD>饹<EFBFBD><E9A5B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
/*****************************************************************************/
|
||||||
|
|
||||||
|
typedef struct _UNIXSerialPort * UNIXSerialPort;
|
||||||
|
|
||||||
|
/*****************************************************************************/
|
||||||
|
/* <20>إå<D8A5><C3A5>ե<EFBFBD><D5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Υ<EFBFBD><CEA5>롼<F3A5AFA5><EBA1BC> */
|
||||||
|
/*****************************************************************************/
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
|
||||||
|
/*****************************************************************************/
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD>дؿ<D0B4><D8BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
/*****************************************************************************/
|
||||||
|
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
/* <20>ݡ<EFBFBD><DDA1>Ȥ<EFBFBD> open/close */
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
int UNIXSerialPort_Open(UNIXSerialPort unix_serial_port);
|
||||||
|
int UNIXSerialPort_Close(UNIXSerialPort unix_serial_port);
|
||||||
|
|
||||||
|
int UNIXSerialPort_IsOpened(UNIXSerialPort unix_serial_port);
|
||||||
|
int UNIXSerialPort_IsClosed(UNIXSerialPort unix_serial_port);
|
||||||
|
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD>ǡ<EFBFBD><C7A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>뤫<EFBFBD>ɤ<EFBFBD><C9A4><EFBFBD> */
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* <20><><EFBFBD><EFBFBD><EFBFBD>ॢ<EFBFBD><E0A5A2><EFBFBD>Ȼ<EFBFBD><C8BB>֤<EFBFBD><D6A4>ߥ<EFBFBD><DFA5><EFBFBD>ñ<EFBFBD>̤ǻ<CCA4><C7BB>ꡥ
|
||||||
|
* 0 <20>ΤȤ<CEA4><C8A4>ϡ<EFBFBD>¨<EFBFBD><C2A8>
|
||||||
|
* -1 <20>ΤȤ<CEA4><C8A4>ϡ<EFBFBD>̵<EFBFBD><CCB5><EFBFBD><EFBFBD><EFBFBD>Ԥ<EFBFBD>
|
||||||
|
*/
|
||||||
|
|
||||||
|
int UNIXSerialPort_IsDataExisting(UNIXSerialPort unix_serial_port,
|
||||||
|
int timeout);
|
||||||
|
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
/* <20><><EFBFBD><EFBFBD> */
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
int UNIXSerialPort_ReceiveCharacter(UNIXSerialPort unix_serial_port,
|
||||||
|
int timeout);
|
||||||
|
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
/* <20><><EFBFBD><EFBFBD> */
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
int UNIXSerialPort_SendCharacter(UNIXSerialPort unix_serial_port,
|
||||||
|
unsigned char c);
|
||||||
|
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
/* <20><><EFBFBD>֥<EFBFBD><D6A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȥκ<C8A4><CEBA><EFBFBD> */
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
UNIXSerialPort UNIXSerialPort_Create();
|
||||||
|
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
/* <20><><EFBFBD>֥<EFBFBD><D6A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȥκ<C8A4><CEBA><EFBFBD> */
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
UNIXSerialPort UNIXSerialPort_Destroy(UNIXSerialPort unix_serial_port);
|
||||||
|
|
||||||
|
/*****************************************************************************/
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD> */
|
||||||
|
/*****************************************************************************/
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*****************************************************************************/
|
||||||
|
/* End of File. */
|
||||||
|
/*****************************************************************************/
|
||||||
@@ -1,19 +1,19 @@
|
|||||||
#ifndef _WonXTextP_h_INCLUDED_
|
#ifndef _UNIXSerialPortP_h_INCLUDED_
|
||||||
#define _WonXTextP_h_INCLUDED_
|
#define _UNIXSerialPortP_h_INCLUDED_
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/* ここから */
|
/* ここから */
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
#include "WonXText.h"
|
#include "UNIXSerialPort.h"
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/* クラスの定義 */
|
/* クラスの定義 */
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
typedef struct _WonXText {
|
typedef struct _UNIXSerialPort {
|
||||||
WWText ww_text;
|
int opened; /* open/close */
|
||||||
} _WonXText;
|
} _UNIXSerialPort;
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/* ここまで */
|
/* ここまで */
|
||||||
@@ -6,7 +6,7 @@
|
|||||||
#include <signal.h>
|
#include <signal.h>
|
||||||
|
|
||||||
#include "UNIXTimerP.h"
|
#include "UNIXTimerP.h"
|
||||||
#include "etc.h"
|
#include "WonX.h"
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/* <20><><EFBFBD><EFBFBD><EFBFBD>дؿ<D0B4><D8BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
/* <20><><EFBFBD><EFBFBD><EFBFBD>дؿ<D0B4><D8BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
@@ -171,6 +171,8 @@ int UNIXTimer_Unpause(UNIXTimer unix_timer)
|
|||||||
{
|
{
|
||||||
if (unix_timer->pause == 0)
|
if (unix_timer->pause == 0)
|
||||||
WonX_Error("UNIXTimer_Unpause", "Duplicated unpause.");
|
WonX_Error("UNIXTimer_Unpause", "Duplicated unpause.");
|
||||||
|
if (unix_timer->pause < 0)
|
||||||
|
WonX_Error("UNIXTimer_Unpause", "Invalid pause.");
|
||||||
|
|
||||||
if (unix_timer->pause == 1) {
|
if (unix_timer->pause == 1) {
|
||||||
if (unix_timer->interrupt_in_pause > 0) {
|
if (unix_timer->interrupt_in_pause > 0) {
|
||||||
@@ -198,6 +200,10 @@ int UNIXTimer_Unpause(UNIXTimer unix_timer)
|
|||||||
|
|
||||||
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Хå<D0A5><C3A5>ؿ<EFBFBD><D8BF>θƤӽФ<D3BD> */
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Хå<D0A5><C3A5>ؿ<EFBFBD><D8BF>θƤӽФ<D3BD> */
|
||||||
UNIXTimer_CallBackFunction(0);
|
UNIXTimer_CallBackFunction(0);
|
||||||
|
} else {
|
||||||
|
if (unix_timer->interrupt_in_pause < 0)
|
||||||
|
WonX_Error("UNIXTimer_Unpause", "Invalid interrupt_in_pause.");
|
||||||
|
unix_timer->pause--; /* <20>ݡ<EFBFBD><DDA1><EFBFBD><EFBFBD>ϥͥ<CFA5><CDA5>ȤǤ<C8A4><C7A4><EFBFBD> */
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
unix_timer->pause--; /* <20>ݡ<EFBFBD><DDA1><EFBFBD><EFBFBD>ϥͥ<CFA5><CDA5>ȤǤ<C8A4><C7A4><EFBFBD> */
|
unix_timer->pause--; /* <20>ݡ<EFBFBD><DDA1><EFBFBD><EFBFBD>ϥͥ<CFA5><CDA5>ȤǤ<C8A4><C7A4><EFBFBD> */
|
||||||
|
|||||||
10
UNIXTimer.h
10
UNIXTimer.h
@@ -5,9 +5,6 @@
|
|||||||
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/* <20><><EFBFBD>饹<EFBFBD><E9A5B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
/* <20><><EFBFBD>饹<EFBFBD><E9A5B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
@@ -15,6 +12,13 @@
|
|||||||
typedef struct _UNIXTimer * UNIXTimer;
|
typedef struct _UNIXTimer * UNIXTimer;
|
||||||
typedef int (*UNIXTimerCallBack)(void *);
|
typedef int (*UNIXTimerCallBack)(void *);
|
||||||
|
|
||||||
|
/*****************************************************************************/
|
||||||
|
/* <20>إå<D8A5><C3A5>ե<EFBFBD><D5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Υ<EFBFBD><CEA5>롼<F3A5AFA5><EBA1BC> */
|
||||||
|
/*****************************************************************************/
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/* <20><><EFBFBD><EFBFBD><EFBFBD>дؿ<D0B4><D8BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
/* <20><><EFBFBD><EFBFBD><EFBFBD>дؿ<D0B4><D8BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
#include "WWCharacterP.h"
|
#include "WWCharacterP.h"
|
||||||
#include "etc.h"
|
#include "WonX.h"
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/* <20><><EFBFBD><EFBFBD><EFBFBD>дؿ<D0B4><D8BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
/* <20><><EFBFBD><EFBFBD><EFBFBD>дؿ<D0B4><D8BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
|||||||
@@ -5,15 +5,19 @@
|
|||||||
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/* <20><><EFBFBD>饹<EFBFBD><E9A5B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
/* <20><><EFBFBD>饹<EFBFBD><E9A5B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
typedef struct _WWCharacter * WWCharacter;
|
typedef struct _WWCharacter * WWCharacter;
|
||||||
|
|
||||||
|
/*****************************************************************************/
|
||||||
|
/* <20>إå<D8A5><C3A5>ե<EFBFBD><D5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Υ<EFBFBD><CEA5>롼<F3A5AFA5><EBA1BC> */
|
||||||
|
/*****************************************************************************/
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/* <20><><EFBFBD><EFBFBD><EFBFBD>дؿ<D0B4><D8BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
/* <20><><EFBFBD><EFBFBD><EFBFBD>дؿ<D0B4><D8BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
#include "WWColorMapP.h"
|
#include "WWColorMapP.h"
|
||||||
#include "etc.h"
|
#include "WonX.h"
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/* <20><><EFBFBD><EFBFBD><EFBFBD>дؿ<D0B4><D8BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
/* <20><><EFBFBD><EFBFBD><EFBFBD>дؿ<D0B4><D8BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
|||||||
10
WWColorMap.h
10
WWColorMap.h
@@ -5,15 +5,19 @@
|
|||||||
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/* <20><><EFBFBD>饹<EFBFBD><E9A5B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
/* <20><><EFBFBD>饹<EFBFBD><E9A5B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
typedef struct _WWColorMap * WWColorMap;
|
typedef struct _WWColorMap * WWColorMap;
|
||||||
|
|
||||||
|
/*****************************************************************************/
|
||||||
|
/* <20>إå<D8A5><C3A5>ե<EFBFBD><D5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Υ<EFBFBD><CEA5>롼<F3A5AFA5><EBA1BC> */
|
||||||
|
/*****************************************************************************/
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/* <20><><EFBFBD><EFBFBD><EFBFBD>дؿ<D0B4><D8BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
/* <20><><EFBFBD><EFBFBD><EFBFBD>дؿ<D0B4><D8BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|||||||
67
WWCursor.c
Normal file
67
WWCursor.c
Normal file
@@ -0,0 +1,67 @@
|
|||||||
|
/*****************************************************************************/
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
/*****************************************************************************/
|
||||||
|
|
||||||
|
#include "WWCursorP.h"
|
||||||
|
#include "WonX.h"
|
||||||
|
|
||||||
|
/*****************************************************************************/
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD>дؿ<D0B4><D8BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
/*****************************************************************************/
|
||||||
|
|
||||||
|
int WWCursor_ON( WWCursor p) { return (p->on = 1); }
|
||||||
|
int WWCursor_OFF( WWCursor p) { return (p->on = 0); }
|
||||||
|
int WWCursor_IsON( WWCursor p) { return (p->on != 0); }
|
||||||
|
int WWCursor_IsOFF(WWCursor p) { return (p->on == 0); }
|
||||||
|
|
||||||
|
int WWCursor_GetX( WWCursor p ) { return (p->x ); }
|
||||||
|
int WWCursor_SetX( WWCursor p, int n) { return (p->x = n); }
|
||||||
|
int WWCursor_GetY( WWCursor p ) { return (p->y ); }
|
||||||
|
int WWCursor_SetY( WWCursor p, int n) { return (p->y = n); }
|
||||||
|
int WWCursor_GetWidth( WWCursor p ) { return (p->width ); }
|
||||||
|
int WWCursor_SetWidth( WWCursor p, int n) { return (p->width = n); }
|
||||||
|
int WWCursor_GetHeight( WWCursor p ) { return (p->height ); }
|
||||||
|
int WWCursor_SetHeight( WWCursor p, int n) { return (p->height = n); }
|
||||||
|
int WWCursor_GetInterval(WWCursor p ) { return (p->interval ); }
|
||||||
|
int WWCursor_SetInterval(WWCursor p, int n) { return (p->interval = n); }
|
||||||
|
|
||||||
|
WWPalette WWCursor_GetPalette(WWCursor p)
|
||||||
|
{ return (p->palette ); }
|
||||||
|
WWPalette WWCursor_SetPalette(WWCursor p, WWPalette plt)
|
||||||
|
{ return (p->palette = plt); }
|
||||||
|
|
||||||
|
WWCursor WWCursor_Create(WWPalette palette)
|
||||||
|
{
|
||||||
|
WWCursor cursor;
|
||||||
|
|
||||||
|
cursor = (WWCursor)malloc(sizeof(_WWCursor));
|
||||||
|
if (cursor == NULL)
|
||||||
|
WonX_Error("WWCursor_Create", "Cannot allocate memory");
|
||||||
|
|
||||||
|
WWCursor_OFF(cursor);
|
||||||
|
|
||||||
|
WWCursor_SetX( cursor, 0);
|
||||||
|
WWCursor_SetY( cursor, 0);
|
||||||
|
WWCursor_SetWidth( cursor, 1);
|
||||||
|
WWCursor_SetHeight( cursor, 1);
|
||||||
|
WWCursor_SetInterval(cursor, 30);
|
||||||
|
|
||||||
|
WWCursor_SetPalette(cursor, palette);
|
||||||
|
|
||||||
|
return (cursor);
|
||||||
|
}
|
||||||
|
|
||||||
|
WWCursor WWCursor_Destroy(WWCursor cursor)
|
||||||
|
{
|
||||||
|
if (cursor == NULL) return (NULL);
|
||||||
|
free(cursor);
|
||||||
|
return (NULL);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*****************************************************************************/
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD> */
|
||||||
|
/*****************************************************************************/
|
||||||
|
|
||||||
|
/*****************************************************************************/
|
||||||
|
/* End of File. */
|
||||||
|
/*****************************************************************************/
|
||||||
57
WWCursor.h
Normal file
57
WWCursor.h
Normal file
@@ -0,0 +1,57 @@
|
|||||||
|
#ifndef _WWCursor_h_INCLUDED_
|
||||||
|
#define _WWCursor_h_INCLUDED_
|
||||||
|
|
||||||
|
/*****************************************************************************/
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
/*****************************************************************************/
|
||||||
|
|
||||||
|
/*****************************************************************************/
|
||||||
|
/* <20><><EFBFBD>饹<EFBFBD><E9A5B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
/*****************************************************************************/
|
||||||
|
|
||||||
|
typedef struct _WWCursor * WWCursor;
|
||||||
|
|
||||||
|
/*****************************************************************************/
|
||||||
|
/* <20>إå<D8A5><C3A5>ե<EFBFBD><D5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Υ<EFBFBD><CEA5>롼<F3A5AFA5><EBA1BC> */
|
||||||
|
/*****************************************************************************/
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
|
||||||
|
#include "WWPalette.h"
|
||||||
|
|
||||||
|
/*****************************************************************************/
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD>дؿ<D0B4><D8BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
/*****************************************************************************/
|
||||||
|
|
||||||
|
int WWCursor_ON( WWCursor p);
|
||||||
|
int WWCursor_OFF( WWCursor p);
|
||||||
|
int WWCursor_IsON( WWCursor p);
|
||||||
|
int WWCursor_IsOFF(WWCursor p);
|
||||||
|
|
||||||
|
int WWCursor_GetX( WWCursor p );
|
||||||
|
int WWCursor_SetX( WWCursor p, int n);
|
||||||
|
int WWCursor_GetY( WWCursor p );
|
||||||
|
int WWCursor_SetY( WWCursor p, int n);
|
||||||
|
int WWCursor_GetWidth( WWCursor p );
|
||||||
|
int WWCursor_SetWidth( WWCursor p, int n);
|
||||||
|
int WWCursor_GetHeight( WWCursor p );
|
||||||
|
int WWCursor_SetHeight( WWCursor p, int n);
|
||||||
|
int WWCursor_GetInterval(WWCursor p );
|
||||||
|
int WWCursor_SetInterval(WWCursor p, int n);
|
||||||
|
|
||||||
|
WWPalette WWCursor_GetPalette(WWCursor p);
|
||||||
|
WWPalette WWCursor_SetPalette(WWCursor p, WWPalette plt);
|
||||||
|
|
||||||
|
WWCursor WWCursor_Create(WWPalette palette);
|
||||||
|
WWCursor WWCursor_Destroy(WWCursor cursor);
|
||||||
|
|
||||||
|
/*****************************************************************************/
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD> */
|
||||||
|
/*****************************************************************************/
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*****************************************************************************/
|
||||||
|
/* End of File. */
|
||||||
|
/*****************************************************************************/
|
||||||
@@ -1,25 +1,23 @@
|
|||||||
#ifndef _WonXText_h_INCLUDED_
|
#ifndef _WWCursorP_h_INCLUDED_
|
||||||
#define _WonXText_h_INCLUDED_
|
#define _WWCursorP_h_INCLUDED_
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/* ここから */
|
/* ここから */
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
#include "WWText.h"
|
#include "WWCursor.h"
|
||||||
#include "WWScreen.h"
|
|
||||||
#include "WWPalette.h"
|
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/* クラスの定義 */
|
/* クラスの定義 */
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
typedef struct _WonXText * WonXText;
|
typedef struct _WWCursor {
|
||||||
|
int on; /* 表示/非表示のフラグ */
|
||||||
WWText WonXText_GetWWText(WonXText wonx_text);
|
int x, y; /* カーソル座標 */
|
||||||
WWText WonXText_SetWWText(WonXText wonx_text, WWText ww_text);
|
int width, height; /* カーソルのサイズ */
|
||||||
WonXText WonXText_Create(WWScreen screen, int x, int y, int width, int height,
|
int interval; /* 点滅周期 */
|
||||||
WWPalette palette);
|
WWPalette palette; /* カーソル表示用パレット */
|
||||||
WonXText WonXText_Destroy(WonXText wonx_text);
|
} _WWCursor;
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/* ここまで */
|
/* ここまで */
|
||||||
77
WWDisplay.c
77
WWDisplay.c
@@ -2,8 +2,11 @@
|
|||||||
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
|
#include "wonx_include/disp.h"
|
||||||
|
#include "wonx_include/text.h"
|
||||||
|
|
||||||
#include "WWDisplayP.h"
|
#include "WWDisplayP.h"
|
||||||
#include "etc.h"
|
#include "WonX.h"
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/* <20><><EFBFBD><EFBFBD><EFBFBD>дؿ<D0B4><D8BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
/* <20><><EFBFBD><EFBFBD><EFBFBD>дؿ<D0B4><D8BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
@@ -20,6 +23,8 @@ WWCharacter WWDisplay_GetCharacter(WWDisplay d, int n)
|
|||||||
WWSprite WWDisplay_GetSprite(WWDisplay d, int n) { return (d->sprite[n]); }
|
WWSprite WWDisplay_GetSprite(WWDisplay d, int n) { return (d->sprite[n]); }
|
||||||
WWScreen WWDisplay_GetScreen(WWDisplay d, int n) { return (d->screen[n]); }
|
WWScreen WWDisplay_GetScreen(WWDisplay d, int n) { return (d->screen[n]); }
|
||||||
WWLCDPanel WWDisplay_GetLCDPanel(WWDisplay d) { return (d->lcd_panel); }
|
WWLCDPanel WWDisplay_GetLCDPanel(WWDisplay d) { return (d->lcd_panel); }
|
||||||
|
WWText WWDisplay_GetText(WWDisplay d) { return (d->text); }
|
||||||
|
WWCursor WWDisplay_GetCursor(WWDisplay d) { return (d->cursor); }
|
||||||
|
|
||||||
int WWDisplay_GetSpriteEnable(WWDisplay d) { return (d->sprite_enable); }
|
int WWDisplay_GetSpriteEnable(WWDisplay d) { return (d->sprite_enable); }
|
||||||
int WWDisplay_GetSpriteWindowEnable(WWDisplay d)
|
int WWDisplay_GetSpriteWindowEnable(WWDisplay d)
|
||||||
@@ -58,6 +63,10 @@ WWScreen WWDisplay_SetScreen(WWDisplay d, int n, WWScreen s)
|
|||||||
{ return (d->screen[n] = s); }
|
{ return (d->screen[n] = s); }
|
||||||
WWLCDPanel WWDisplay_SetLCDPanel(WWDisplay d, WWLCDPanel p)
|
WWLCDPanel WWDisplay_SetLCDPanel(WWDisplay d, WWLCDPanel p)
|
||||||
{ return (d->lcd_panel = p); }
|
{ return (d->lcd_panel = p); }
|
||||||
|
WWText WWDisplay_SetText(WWDisplay d, WWText p)
|
||||||
|
{ return (d->text = p); }
|
||||||
|
WWCursor WWDisplay_SetCursor(WWDisplay d, WWCursor p)
|
||||||
|
{ return (d->cursor = p); }
|
||||||
|
|
||||||
int WWDisplay_SetSpriteEnable(WWDisplay d, int f)
|
int WWDisplay_SetSpriteEnable(WWDisplay d, int f)
|
||||||
{ return (d->sprite_enable = f); }
|
{ return (d->sprite_enable = f); }
|
||||||
@@ -94,16 +103,29 @@ WWDisplay WWDisplay_Create(int lcd_panel_width, int lcd_panel_height,
|
|||||||
{
|
{
|
||||||
WWDisplay display;
|
WWDisplay display;
|
||||||
int i;
|
int i;
|
||||||
|
static int default_lcd_colors[] = {
|
||||||
|
0x00, 0x02, 0x04, 0x06, 0x08, 0x0a, 0x0c, 0x0f
|
||||||
|
};
|
||||||
|
static struct palette_colors {
|
||||||
|
int colors[4];
|
||||||
|
} default_palette_colors[] = {
|
||||||
|
{{0, 3, 5, 7}}, {{2, 3, 5, 7}}, {{0, 0, 0, 7}}, {{2, 0, 0, 7}},
|
||||||
|
{{0, 0, 3, 7}}, {{0, 7, 7, 7}}, {{0, 7, 7, 7}}, {{0, 0, 2, 7}},
|
||||||
|
{{2, 5, 7, 7}}, {{7, 7, 7, 7}}, {{7, 6, 5, 7}}, {{3, 7, 5, 7}},
|
||||||
|
{{0, 0, 4, 7}}, {{0, 0, 0, 7}}, {{0, 7, 7, 5}}, {{0, 7, 3, 7}}
|
||||||
|
};
|
||||||
|
|
||||||
display = (WWDisplay)malloc(sizeof(_WWDisplay));
|
display = (WWDisplay)malloc(sizeof(_WWDisplay));
|
||||||
if (display == NULL)
|
if (display == NULL)
|
||||||
WonX_Error("WWDisplay_Create", "Cannot allocate memory.");
|
WonX_Error("WWDisplay_Create", "Cannot allocate memory.");
|
||||||
|
|
||||||
WWDisplay_SetColorMap(display, WWColorMap_Create(NULL));
|
WWDisplay_SetColorMap(display, WWColorMap_Create(default_lcd_colors));
|
||||||
|
|
||||||
for (i = 0; i < 16; i++) {
|
for (i = 0; i < 16; i++) {
|
||||||
WWDisplay_SetPalette(display, i,
|
WWDisplay_SetPalette(display, i,
|
||||||
WWPalette_Create(i, NULL, ((i / 4) % 2) ? 1 : 0));
|
WWPalette_Create(i,
|
||||||
|
default_palette_colors[i].colors,
|
||||||
|
((i / 4) % 2) ? 1 : 0));
|
||||||
}
|
}
|
||||||
|
|
||||||
for (i = 0; i < 512; i++) {
|
for (i = 0; i < 512; i++) {
|
||||||
@@ -129,6 +151,23 @@ WWDisplay WWDisplay_Create(int lcd_panel_width, int lcd_panel_height,
|
|||||||
WWDisplay_SetLCDPanel(display, WWLCDPanel_Create(lcd_panel_width,
|
WWDisplay_SetLCDPanel(display, WWLCDPanel_Create(lcd_panel_width,
|
||||||
lcd_panel_height));
|
lcd_panel_height));
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* <20>ǥե<C7A5><D5A5><EFBFBD><EFBFBD>ȤΥƥ<CEA5><C6A5><EFBFBD><EFBFBD><EFBFBD>ɽ<EFBFBD><C9BD><EFBFBD>ѥѥ<D1A5><D1A5>åȤ<C3A5>0 */
|
||||||
|
WWDisplay_SetText(display,
|
||||||
|
WWText_Create(WWDisplay_GetScreen(display, SCREEN2),
|
||||||
|
0, 0,
|
||||||
|
TEXT_SCREEN_WIDTH, TEXT_SCREEN_HEIGHT,
|
||||||
|
WWDisplay_GetPalette(display, 0)));
|
||||||
|
|
||||||
|
/*
|
||||||
|
* WWDisplay_GetPalette() <20><><EFBFBD>ƤӽФ<D3BD><D0A4>Τǡ<CEA4><C7A1>ѥ<EFBFBD><D1A5>åȤ<C3A5><C8A4><EFBFBD><EFBFBD>ꤷ<EFBFBD>Ƥ<EFBFBD><C6A4><EFBFBD>
|
||||||
|
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԥ<EFBFBD><D4A4><EFBFBD><EFBFBD>ȡ<EFBFBD>
|
||||||
|
* <20>ǥե<C7A5><D5A5><EFBFBD><EFBFBD>ȤΥ<C8A4><CEA5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѥ<EFBFBD><D1A5>åȤϣ<C8A4>
|
||||||
|
*/
|
||||||
|
WWDisplay_SetCursor(display,
|
||||||
|
WWCursor_Create(WWDisplay_GetPalette(display, 1)));
|
||||||
|
|
||||||
WWDisplay_SetSpriteEnable(display, 0);
|
WWDisplay_SetSpriteEnable(display, 0);
|
||||||
WWDisplay_SetSpriteWindowEnable(display, 0);
|
WWDisplay_SetSpriteWindowEnable(display, 0);
|
||||||
|
|
||||||
@@ -188,6 +227,14 @@ WWDisplay WWDisplay_Destroy(WWDisplay display)
|
|||||||
WWDisplay_SetLCDPanel(display,
|
WWDisplay_SetLCDPanel(display,
|
||||||
WWLCDPanel_Destroy(WWDisplay_GetLCDPanel(display)));
|
WWLCDPanel_Destroy(WWDisplay_GetLCDPanel(display)));
|
||||||
|
|
||||||
|
if (WWDisplay_GetText(display) != NULL)
|
||||||
|
WWDisplay_SetText(display,
|
||||||
|
WWText_Destroy(WWDisplay_GetText(display)));
|
||||||
|
|
||||||
|
if (WWDisplay_GetCursor(display) != NULL)
|
||||||
|
WWDisplay_SetCursor(display,
|
||||||
|
WWCursor_Destroy(WWDisplay_GetCursor(display)));
|
||||||
|
|
||||||
free(display);
|
free(display);
|
||||||
|
|
||||||
return (NULL);
|
return (NULL);
|
||||||
@@ -197,7 +244,8 @@ WWDisplay WWDisplay_Destroy(WWDisplay display)
|
|||||||
/* LCD<43>ѥͥ<D1A5><CDA5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
/* LCD<43>ѥͥ<D1A5><CDA5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
/*===========================================================================*/
|
/*===========================================================================*/
|
||||||
|
|
||||||
static int WWDisplay_DrawScreen(WWDisplay display, WWScreen screen)
|
static int WWDisplay_DrawScreen(WWDisplay display, WWScreen screen,
|
||||||
|
WWCursor cursor)
|
||||||
{
|
{
|
||||||
WWLCDPanel lcd_panel;
|
WWLCDPanel lcd_panel;
|
||||||
int lcd_panel_width;
|
int lcd_panel_width;
|
||||||
@@ -267,7 +315,8 @@ static int WWDisplay_DrawScreen(WWDisplay display, WWScreen screen)
|
|||||||
|
|
||||||
px = x + WWScreen_GetRollX(screen);
|
px = x + WWScreen_GetRollX(screen);
|
||||||
|
|
||||||
pixel = WWScreen_GetPixel(screen, px, py);
|
/* Ʃ<><C6A9><EFBFBD><EFBFBD><EFBFBD>ξ<EFBFBD><CEBE><EFBFBD><EFBFBD>ˤϡ<CBA4>-1<><31><EFBFBD>֤äƤ<C3A4><C6A4><EFBFBD> */
|
||||||
|
pixel = WWScreen_GetPixel(screen, px, py, cursor);
|
||||||
|
|
||||||
/* Ʃ<><C6A9><EFBFBD><EFBFBD><EFBFBD>ξ<EFBFBD><CEBE><EFBFBD> */
|
/* Ʃ<><C6A9><EFBFBD><EFBFBD><EFBFBD>ξ<EFBFBD><CEBE><EFBFBD> */
|
||||||
if (pixel == -1) continue;
|
if (pixel == -1) continue;
|
||||||
@@ -300,7 +349,7 @@ static int WWDisplay_DrawSprite(WWDisplay display, WWSprite sprite)
|
|||||||
|
|
||||||
for (y = 0; y < 8; y++) {
|
for (y = 0; y < 8; y++) {
|
||||||
for (x = 0; x < 8; x++) {
|
for (x = 0; x < 8; x++) {
|
||||||
pixel = WWSprite_GetPixel(sprite, x, y);
|
pixel = WWSprite_GetPixel(sprite, x, y); /* Ʃ<><C6A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-1<><31><EFBFBD>֤äƤ<C3A4><C6A4><EFBFBD> */
|
||||||
|
|
||||||
/* Ʃ<><C6A9><EFBFBD><EFBFBD><EFBFBD>ξ<EFBFBD><CEBE><EFBFBD> */
|
/* Ʃ<><C6A9><EFBFBD><EFBFBD><EFBFBD>ξ<EFBFBD><CEBE><EFBFBD> */
|
||||||
if (pixel == -1) continue;
|
if (pixel == -1) continue;
|
||||||
@@ -337,7 +386,9 @@ int WWDisplay_DrawLCDPanel(WWDisplay display)
|
|||||||
int lcd_panel_height;
|
int lcd_panel_height;
|
||||||
WWColorMap color_map;
|
WWColorMap color_map;
|
||||||
int border;
|
int border;
|
||||||
|
WWScreen screen;
|
||||||
WWSprite sprite;
|
WWSprite sprite;
|
||||||
|
WWCursor cursor;
|
||||||
|
|
||||||
lcd_panel = WWDisplay_GetLCDPanel(display);
|
lcd_panel = WWDisplay_GetLCDPanel(display);
|
||||||
lcd_panel_width = WWLCDPanel_GetWidth( lcd_panel);
|
lcd_panel_width = WWLCDPanel_GetWidth( lcd_panel);
|
||||||
@@ -354,7 +405,12 @@ int WWDisplay_DrawLCDPanel(WWDisplay display)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EAA1BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EAA1BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
WWDisplay_DrawScreen(display, WWDisplay_GetScreen(display, 0));
|
screen = WWDisplay_GetScreen(display, 0);
|
||||||
|
if (WWText_GetScreen(WWDisplay_GetText(display)) == screen)
|
||||||
|
cursor = WWDisplay_GetCursor(display);
|
||||||
|
else
|
||||||
|
cursor = NULL;
|
||||||
|
WWDisplay_DrawScreen(display, screen, cursor);
|
||||||
|
|
||||||
/* <20><><EFBFBD>ץ饤<D7A5><E9A5A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><F3A3B2A4><EFBFBD>ͥ<EFBFBD><CDA5><EFBFBD>Ǥʤ<C7A4><CAA4><EFBFBD><EFBFBD><EFBFBD>) */
|
/* <20><><EFBFBD>ץ饤<D7A5><E9A5A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><F3A3B2A4><EFBFBD>ͥ<EFBFBD><CDA5><EFBFBD>Ǥʤ<C7A4><CAA4><EFBFBD><EFBFBD><EFBFBD>) */
|
||||||
/* <20>Ťʤä<CAA4><C3A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϡ<EFBFBD><CFA1>ֹ<EFBFBD><D6B9>μ㤤<CEBC><E3A4A4><EFBFBD>Τ<EFBFBD><CEA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɽ<EFBFBD><C9BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
/* <20>Ťʤä<CAA4><C3A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϡ<EFBFBD><CFA1>ֹ<EFBFBD><D6B9>μ㤤<CEBC><E3A4A4><EFBFBD>Τ<EFBFBD><CEA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɽ<EFBFBD><C9BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
@@ -369,7 +425,12 @@ int WWDisplay_DrawLCDPanel(WWDisplay display)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EAA1BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EAA1BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
WWDisplay_DrawScreen(display, WWDisplay_GetScreen(display, 1));
|
screen = WWDisplay_GetScreen(display, 1);
|
||||||
|
if (WWText_GetScreen(WWDisplay_GetText(display)) == screen)
|
||||||
|
cursor = WWDisplay_GetCursor(display);
|
||||||
|
else
|
||||||
|
cursor = NULL;
|
||||||
|
WWDisplay_DrawScreen(display, screen, cursor);
|
||||||
|
|
||||||
/* <20><><EFBFBD>ץ饤<D7A5><E9A5A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><F3A3B2A4><EFBFBD>ͥ<EFBFBD><CDA5><EFBFBD>ʤ<EFBFBD><CAA4><EFBFBD>) */
|
/* <20><><EFBFBD>ץ饤<D7A5><E9A5A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><F3A3B2A4><EFBFBD>ͥ<EFBFBD><CDA5><EFBFBD>ʤ<EFBFBD><CAA4><EFBFBD>) */
|
||||||
/* <20>Ťʤä<CAA4><C3A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϡ<EFBFBD><CFA1>ֹ<EFBFBD><D6B9>μ㤤<CEBC><E3A4A4><EFBFBD>Τ<EFBFBD><CEA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɽ<EFBFBD><C9BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
/* <20>Ťʤä<CAA4><C3A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϡ<EFBFBD><CFA1>ֹ<EFBFBD><D6B9>μ㤤<CEBC><E3A4A4><EFBFBD>Τ<EFBFBD><CEA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɽ<EFBFBD><C9BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
|||||||
27
WWDisplay.h
27
WWDisplay.h
@@ -5,13 +5,6 @@
|
|||||||
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
#include "WWColorMap.h"
|
|
||||||
#include "WWPalette.h"
|
|
||||||
#include "WWCharacter.h"
|
|
||||||
#include "WWSprite.h"
|
|
||||||
#include "WWScreen.h"
|
|
||||||
#include "WWLCDPanel.h"
|
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/* <20><><EFBFBD>饹<EFBFBD><E9A5B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
/* <20><><EFBFBD>饹<EFBFBD><E9A5B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
@@ -19,7 +12,20 @@
|
|||||||
typedef struct _WWDisplay * WWDisplay;
|
typedef struct _WWDisplay * WWDisplay;
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/* <20><><EFBFBD><EFBFBD><EFBFBD>дؿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
/* <20>إå<EFBFBD><EFBFBD>ե<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Υ<EFBFBD><EFBFBD>롼<EFBFBD><EFBFBD> */
|
||||||
|
/*****************************************************************************/
|
||||||
|
|
||||||
|
#include "WWColorMap.h"
|
||||||
|
#include "WWPalette.h"
|
||||||
|
#include "WWCharacter.h"
|
||||||
|
#include "WWSprite.h"
|
||||||
|
#include "WWScreen.h"
|
||||||
|
#include "WWLCDPanel.h"
|
||||||
|
#include "WWText.h"
|
||||||
|
#include "WWCursor.h"
|
||||||
|
|
||||||
|
/*****************************************************************************/
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD>дؿ<D0B4><D8BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
/*===========================================================================*/
|
/*===========================================================================*/
|
||||||
@@ -32,6 +38,9 @@ WWCharacter WWDisplay_GetCharacter(WWDisplay d, int n);
|
|||||||
WWSprite WWDisplay_GetSprite(WWDisplay d, int n);
|
WWSprite WWDisplay_GetSprite(WWDisplay d, int n);
|
||||||
WWScreen WWDisplay_GetScreen(WWDisplay d, int n);
|
WWScreen WWDisplay_GetScreen(WWDisplay d, int n);
|
||||||
WWLCDPanel WWDisplay_GetLCDPanel(WWDisplay d);
|
WWLCDPanel WWDisplay_GetLCDPanel(WWDisplay d);
|
||||||
|
WWText WWDisplay_GetText(WWDisplay d);
|
||||||
|
WWCursor WWDisplay_GetCursor(WWDisplay d);
|
||||||
|
|
||||||
int WWDisplay_GetSpriteEnable(WWDisplay d);
|
int WWDisplay_GetSpriteEnable(WWDisplay d);
|
||||||
int WWDisplay_GetSpriteWindowEnable(WWDisplay d);
|
int WWDisplay_GetSpriteWindowEnable(WWDisplay d);
|
||||||
|
|
||||||
@@ -58,6 +67,8 @@ WWCharacter WWDisplay_SetCharacter(WWDisplay d, int n, WWCharacter c);
|
|||||||
WWSprite WWDisplay_SetSprite(WWDisplay d, int n, WWSprite s);
|
WWSprite WWDisplay_SetSprite(WWDisplay d, int n, WWSprite s);
|
||||||
WWScreen WWDisplay_SetScreen(WWDisplay d, int n, WWScreen s);
|
WWScreen WWDisplay_SetScreen(WWDisplay d, int n, WWScreen s);
|
||||||
WWLCDPanel WWDisplay_SetLCDPanel(WWDisplay d, WWLCDPanel p);
|
WWLCDPanel WWDisplay_SetLCDPanel(WWDisplay d, WWLCDPanel p);
|
||||||
|
WWText WWDisplay_SetText(WWDisplay d, WWText p);
|
||||||
|
WWCursor WWDisplay_SetCursor(WWDisplay d, WWCursor p);
|
||||||
|
|
||||||
int WWDisplay_SetSpriteEnable(WWDisplay d, int f);
|
int WWDisplay_SetSpriteEnable(WWDisplay d, int f);
|
||||||
int WWDisplay_SetSpriteWindowEnable(WWDisplay d, int f);
|
int WWDisplay_SetSpriteWindowEnable(WWDisplay d, int f);
|
||||||
|
|||||||
@@ -19,6 +19,8 @@ typedef struct _WWDisplay {
|
|||||||
WWSprite sprite[128];
|
WWSprite sprite[128];
|
||||||
WWScreen screen[2];
|
WWScreen screen[2];
|
||||||
WWLCDPanel lcd_panel;
|
WWLCDPanel lcd_panel;
|
||||||
|
WWText text;
|
||||||
|
WWCursor cursor;
|
||||||
|
|
||||||
/* <20>ǥ<EFBFBD><C7A5><EFBFBD><EFBFBD>ץ쥤<D7A5><ECA5A4>°<EFBFBD><C2B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
/* <20>ǥ<EFBFBD><C7A5><EFBFBD><EFBFBD>ץ쥤<D7A5><ECA5A4>°<EFBFBD><C2B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
int sprite_enable; /* <20><><EFBFBD>ץ饤<D7A5><E9A5A4>ɽ<EFBFBD><C9BD><EFBFBD><EFBFBD><EFBFBD>͡<EFBFBD><CDA1>֥<EFBFBD><D6A5>ե饰 */
|
int sprite_enable; /* <20><><EFBFBD>ץ饤<D7A5><E9A5A4>ɽ<EFBFBD><C9BD><EFBFBD><EFBFBD><EFBFBD>͡<EFBFBD><CDA1>֥<EFBFBD><D6A5>ե饰 */
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
#include "WWInterruptP.h"
|
#include "WWInterruptP.h"
|
||||||
#include "etc.h"
|
#include "WonX.h"
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/* <20><><EFBFBD><EFBFBD><EFBFBD>дؿ<D0B4><D8BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
/* <20><><EFBFBD><EFBFBD><EFBFBD>дؿ<D0B4><D8BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
|||||||
@@ -5,11 +5,6 @@
|
|||||||
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
|
|
||||||
#include "wonx_include/system.h"
|
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/* <20><><EFBFBD>饹<EFBFBD><E9A5B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
/* <20><><EFBFBD>饹<EFBFBD><E9A5B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
@@ -17,6 +12,15 @@
|
|||||||
typedef struct _WWInterrupt * WWInterrupt;
|
typedef struct _WWInterrupt * WWInterrupt;
|
||||||
typedef void (*WWInterruptCallback)();
|
typedef void (*WWInterruptCallback)();
|
||||||
|
|
||||||
|
/*****************************************************************************/
|
||||||
|
/* <20>إå<D8A5><C3A5>ե<EFBFBD><D5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Υ<EFBFBD><CEA5>롼<F3A5AFA5><EBA1BC> */
|
||||||
|
/*****************************************************************************/
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
|
||||||
|
#include "wonx_include/system.h"
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/* <20><><EFBFBD><EFBFBD><EFBFBD>дؿ<D0B4><D8BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
/* <20><><EFBFBD><EFBFBD><EFBFBD>дؿ<D0B4><D8BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
#include "WWLCDPanelP.h"
|
#include "WWLCDPanelP.h"
|
||||||
#include "etc.h"
|
#include "WonX.h"
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/* <20><><EFBFBD><EFBFBD><EFBFBD>дؿ<D0B4><D8BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
/* <20><><EFBFBD><EFBFBD><EFBFBD>дؿ<D0B4><D8BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
|||||||
@@ -5,14 +5,18 @@
|
|||||||
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
#include <stdlib.h>
|
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/* <20><><EFBFBD>饹<EFBFBD><E9A5B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
/* <20><><EFBFBD>饹<EFBFBD><E9A5B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
typedef struct _WWLCDPanel * WWLCDPanel;
|
typedef struct _WWLCDPanel * WWLCDPanel;
|
||||||
|
|
||||||
|
/*****************************************************************************/
|
||||||
|
/* <20>إå<D8A5><C3A5>ե<EFBFBD><D5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Υ<EFBFBD><CEA5>롼<F3A5AFA5><EBA1BC> */
|
||||||
|
/*****************************************************************************/
|
||||||
|
|
||||||
|
#include <stdlib.h>
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/* <20><><EFBFBD><EFBFBD><EFBFBD>дؿ<D0B4><D8BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
/* <20><><EFBFBD><EFBFBD><EFBFBD>дؿ<D0B4><D8BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|||||||
@@ -3,6 +3,7 @@
|
|||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
#include "WWPaletteP.h"
|
#include "WWPaletteP.h"
|
||||||
|
#include "WonX.h"
|
||||||
#include "etc.h"
|
#include "etc.h"
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
@@ -91,7 +92,7 @@ int WWPalette_PrintData(WWPalette p, FILE * f)
|
|||||||
|
|
||||||
fprintf(f, "palette[%d] :\tnumber = %d\n", n, WWPalette_GetNumber(p));
|
fprintf(f, "palette[%d] :\tnumber = %d\n", n, WWPalette_GetNumber(p));
|
||||||
fprintf(f, "palette[%d] :\ttransparent = %s\n",
|
fprintf(f, "palette[%d] :\ttransparent = %s\n",
|
||||||
n, true_false(WWPalette_GetTransparent(p)));
|
n, wonx_true_false(WWPalette_GetTransparent(p)));
|
||||||
|
|
||||||
for (i = 0; i < 4; i++) {
|
for (i = 0; i < 4; i++) {
|
||||||
fprintf(f, "palette[%d] :\tcolor[%d] = %d\n",
|
fprintf(f, "palette[%d] :\tcolor[%d] = %d\n",
|
||||||
|
|||||||
10
WWPalette.h
10
WWPalette.h
@@ -5,15 +5,19 @@
|
|||||||
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/* <20><><EFBFBD>饹<EFBFBD><E9A5B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
/* <20><><EFBFBD>饹<EFBFBD><E9A5B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
typedef struct _WWPalette * WWPalette;
|
typedef struct _WWPalette * WWPalette;
|
||||||
|
|
||||||
|
/*****************************************************************************/
|
||||||
|
/* <20>إå<D8A5><C3A5>ե<EFBFBD><D5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Υ<EFBFBD><CEA5>롼<F3A5AFA5><EBA1BC> */
|
||||||
|
/*****************************************************************************/
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/* <20><><EFBFBD><EFBFBD><EFBFBD>дؿ<D0B4><D8BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
/* <20><><EFBFBD><EFBFBD><EFBFBD>дؿ<D0B4><D8BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|||||||
17
WWScreen.c
17
WWScreen.c
@@ -3,7 +3,7 @@
|
|||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
#include "WWScreenP.h"
|
#include "WWScreenP.h"
|
||||||
#include "etc.h"
|
#include "WonX.h"
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/* <20><><EFBFBD><EFBFBD><EFBFBD>дؿ<D0B4><D8BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
/* <20><><EFBFBD><EFBFBD><EFBFBD>дؿ<D0B4><D8BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
@@ -159,7 +159,7 @@ int WWScreen_SetDrawWidth( WWScreen s, int n) { return (s->draw_width = n); }
|
|||||||
int WWScreen_SetDrawHeight(WWScreen s, int n) { return (s->draw_height = n); }
|
int WWScreen_SetDrawHeight(WWScreen s, int n) { return (s->draw_height = n); }
|
||||||
|
|
||||||
/* <20><><EFBFBD>顼<EFBFBD>ޥåפο<D7A4>(0<><30>7)<29><><EFBFBD>֤<EFBFBD>(Ʃ<><C6A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-1<><31><EFBFBD>֤<EFBFBD>) */
|
/* <20><><EFBFBD>顼<EFBFBD>ޥåפο<D7A4>(0<><30>7)<29><><EFBFBD>֤<EFBFBD>(Ʃ<><C6A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-1<><31><EFBFBD>֤<EFBFBD>) */
|
||||||
int WWScreen_GetPixel(WWScreen screen, int x, int y)
|
int WWScreen_GetPixel(WWScreen screen, int x, int y, WWCursor cursor)
|
||||||
{
|
{
|
||||||
int cx, cy, px, py;
|
int cx, cy, px, py;
|
||||||
int pixel;
|
int pixel;
|
||||||
@@ -180,10 +180,21 @@ int WWScreen_GetPixel(WWScreen screen, int x, int y)
|
|||||||
if (WWScreen_GetVertical( screen, cx, cy)) py = 7 - py;
|
if (WWScreen_GetVertical( screen, cx, cy)) py = 7 - py;
|
||||||
|
|
||||||
character = WWScreen_GetCharacter(screen, cx, cy);
|
character = WWScreen_GetCharacter(screen, cx, cy);
|
||||||
|
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɽ<EFBFBD><C9BD><EFBFBD>ν<EFBFBD><CEBD><EFBFBD> */
|
||||||
palette = WWScreen_GetPalette(screen, cx, cy);
|
palette = WWScreen_GetPalette(screen, cx, cy);
|
||||||
|
if (cursor != NULL) {
|
||||||
|
if ( WWCursor_IsON(cursor) &&
|
||||||
|
(cx >= WWCursor_GetX(cursor)) &&
|
||||||
|
(cx <= WWCursor_GetX(cursor) + WWCursor_GetWidth( cursor) - 1) &&
|
||||||
|
(cy >= WWCursor_GetY(cursor)) &&
|
||||||
|
(cy <= WWCursor_GetY(cursor) + WWCursor_GetHeight(cursor) - 1) ) {
|
||||||
|
palette = WWCursor_GetPalette(cursor);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
pixel = WWCharacter_GetPixel(character, px, py);
|
pixel = WWCharacter_GetPixel(character, px, py);
|
||||||
pixel = WWPalette_GetMappedColor(palette, pixel);
|
pixel = WWPalette_GetMappedColor(palette, pixel); /*Ʃ<><C6A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-1<><31><EFBFBD>֤äƤ<C3A4><C6A4><EFBFBD>*/
|
||||||
|
|
||||||
return (pixel);
|
return (pixel);
|
||||||
}
|
}
|
||||||
|
|||||||
17
WWScreen.h
17
WWScreen.h
@@ -5,17 +5,22 @@
|
|||||||
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
#include <stdlib.h>
|
|
||||||
|
|
||||||
#include "WWPalette.h"
|
|
||||||
#include "WWCharacter.h"
|
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/* <20><><EFBFBD>饹<EFBFBD><E9A5B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
/* <20><><EFBFBD>饹<EFBFBD><E9A5B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
typedef struct _WWScreen * WWScreen;
|
typedef struct _WWScreen * WWScreen;
|
||||||
|
|
||||||
|
/*****************************************************************************/
|
||||||
|
/* <20>إå<D8A5><C3A5>ե<EFBFBD><D5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Υ<EFBFBD><CEA5>롼<F3A5AFA5><EBA1BC> */
|
||||||
|
/*****************************************************************************/
|
||||||
|
|
||||||
|
#include <stdlib.h>
|
||||||
|
|
||||||
|
#include "WWPalette.h"
|
||||||
|
#include "WWCharacter.h"
|
||||||
|
#include "WWCursor.h"
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
@@ -66,7 +71,7 @@ int WWScreen_SetDrawY( WWScreen s, int n);
|
|||||||
int WWScreen_SetDrawWidth( WWScreen s, int n);
|
int WWScreen_SetDrawWidth( WWScreen s, int n);
|
||||||
int WWScreen_SetDrawHeight(WWScreen s, int n);
|
int WWScreen_SetDrawHeight(WWScreen s, int n);
|
||||||
|
|
||||||
int WWScreen_GetPixel(WWScreen screen, int x, int y);
|
int WWScreen_GetPixel(WWScreen screen, int x, int y, WWCursor cursor);
|
||||||
|
|
||||||
WWScreen WWScreen_Create(int number,
|
WWScreen WWScreen_Create(int number,
|
||||||
int width, int height,
|
int width, int height,
|
||||||
|
|||||||
@@ -3,16 +3,16 @@
|
|||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
#include "WWSerialPortP.h"
|
#include "WWSerialPortP.h"
|
||||||
#include "etc.h"
|
#include "WonX.h"
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/* <20><><EFBFBD><EFBFBD><EFBFBD>дؿ<D0B4><D8BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
/* <20><><EFBFBD><EFBFBD><EFBFBD>дؿ<D0B4><D8BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
int WWSerialPort_ON( WWSerialPort s) { return (s->port_on = 1); }
|
int WWSerialPort_Open( WWSerialPort s) { return (s->opened = 1); }
|
||||||
int WWSerialPort_OFF( WWSerialPort s) { return (s->port_on = 0); }
|
int WWSerialPort_Close( WWSerialPort s) { return (s->opened = 0); }
|
||||||
int WWSerialPort_IsON( WWSerialPort s) { return (s->port_on != 0); }
|
int WWSerialPort_IsOpened(WWSerialPort s) { return (s->opened != 0); }
|
||||||
int WWSerialPort_IsOFF(WWSerialPort s) { return (s->port_on == 0); }
|
int WWSerialPort_IsClosed(WWSerialPort s) { return (s->opened == 0); }
|
||||||
|
|
||||||
int WWSerialPort_GetBaudrate(WWSerialPort s) { return (s->baudrate); }
|
int WWSerialPort_GetBaudrate(WWSerialPort s) { return (s->baudrate); }
|
||||||
int WWSerialPort_SetBaudrate(WWSerialPort s, int baudrate)
|
int WWSerialPort_SetBaudrate(WWSerialPort s, int baudrate)
|
||||||
@@ -53,7 +53,7 @@ WWSerialPort WWSerialPort_Create()
|
|||||||
if (ww_serial_port == NULL)
|
if (ww_serial_port == NULL)
|
||||||
WonX_Error("WWSerialPort_Create", "Cannot allocate memory.");
|
WonX_Error("WWSerialPort_Create", "Cannot allocate memory.");
|
||||||
|
|
||||||
WWSerialPort_OFF(ww_serial_port);
|
WWSerialPort_Close(ww_serial_port);
|
||||||
WWSerialPort_SetBaudrate38400(ww_serial_port);
|
WWSerialPort_SetBaudrate38400(ww_serial_port);
|
||||||
WWSerialPort_SetSendTimeout(ww_serial_port, 100);
|
WWSerialPort_SetSendTimeout(ww_serial_port, 100);
|
||||||
WWSerialPort_SetReceiveTimeout(ww_serial_port, 100);
|
WWSerialPort_SetReceiveTimeout(ww_serial_port, 100);
|
||||||
|
|||||||
@@ -5,28 +5,36 @@
|
|||||||
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
|
|
||||||
#include "wonx_include/comm.h"
|
|
||||||
|
|
||||||
#define WW_SERIAL_PORT_BAUDRATE_9600 0
|
|
||||||
#define WW_SERIAL_PORT_BAUDRATE_38400 1
|
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/* <20><><EFBFBD>饹<EFBFBD><E9A5B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
/* <20><><EFBFBD>饹<EFBFBD><E9A5B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
typedef struct _WWSerialPort * WWSerialPort;
|
typedef struct _WWSerialPort * WWSerialPort;
|
||||||
|
|
||||||
|
/*****************************************************************************/
|
||||||
|
/* <20>إå<D8A5><C3A5>ե<EFBFBD><D5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Υ<EFBFBD><CEA5>롼<F3A5AFA5><EBA1BC> */
|
||||||
|
/*****************************************************************************/
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
|
||||||
|
#include "wonx_include/comm.h"
|
||||||
|
|
||||||
|
/*****************************************************************************/
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
/*****************************************************************************/
|
||||||
|
|
||||||
|
#define WW_SERIAL_PORT_BAUDRATE_9600 0
|
||||||
|
#define WW_SERIAL_PORT_BAUDRATE_38400 1
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/* <20><><EFBFBD><EFBFBD><EFBFBD>дؿ<D0B4><D8BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
/* <20><><EFBFBD><EFBFBD><EFBFBD>дؿ<D0B4><D8BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
int WWSerialPort_ON( WWSerialPort s);
|
int WWSerialPort_Open( WWSerialPort s);
|
||||||
int WWSerialPort_OFF( WWSerialPort s);
|
int WWSerialPort_Close( WWSerialPort s);
|
||||||
int WWSerialPort_IsON( WWSerialPort s);
|
int WWSerialPort_IsOpened(WWSerialPort s);
|
||||||
int WWSerialPort_IsOFF(WWSerialPort s);
|
int WWSerialPort_IsClosed(WWSerialPort s);
|
||||||
|
|
||||||
int WWSerialPort_GetBaudrate(WWSerialPort s);
|
int WWSerialPort_GetBaudrate(WWSerialPort s);
|
||||||
int WWSerialPort_SetBaudrate(WWSerialPort s, int baudrate);
|
int WWSerialPort_SetBaudrate(WWSerialPort s, int baudrate);
|
||||||
|
|||||||
@@ -13,7 +13,7 @@
|
|||||||
|
|
||||||
typedef struct _WWSerialPort {
|
typedef struct _WWSerialPort {
|
||||||
|
|
||||||
int port_on; /* <20>ݡ<EFBFBD><DDA1>Ȥξ<C8A4><CEBE><EFBFBD> */
|
int opened; /* <20>ݡ<EFBFBD><DDA1>Ȥξ<C8A4><CEBE><EFBFBD>(open/close) */
|
||||||
int baudrate; /* <20>ܡ<EFBFBD><DCA1>졼<EFBFBD><ECA1BC> */
|
int baudrate; /* <20>ܡ<EFBFBD><DCA1>졼<EFBFBD><ECA1BC> */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
12
WWSprite.c
12
WWSprite.c
@@ -3,6 +3,7 @@
|
|||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
#include "WWSpriteP.h"
|
#include "WWSpriteP.h"
|
||||||
|
#include "WonX.h"
|
||||||
#include "etc.h"
|
#include "etc.h"
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
@@ -37,6 +38,7 @@ int WWSprite_SetPosition(WWSprite sprite, int x, int y)
|
|||||||
return (0);
|
return (0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* <20><><EFBFBD>ץ饤<D7A5>ȤΥԥ<CEA5><D4A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͤ<EFBFBD><CDA4>֤<EFBFBD><D6A4><EFBFBD>(Ʃ<><C6A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-1<><31><EFBFBD>֤<EFBFBD>) */
|
||||||
int WWSprite_GetPixel(WWSprite sprite, int x, int y)
|
int WWSprite_GetPixel(WWSprite sprite, int x, int y)
|
||||||
{
|
{
|
||||||
WWPalette p;
|
WWPalette p;
|
||||||
@@ -50,7 +52,7 @@ int WWSprite_GetPixel(WWSprite sprite, int x, int y)
|
|||||||
if (WWSprite_GetVertical( sprite)) y = 7 - y;
|
if (WWSprite_GetVertical( sprite)) y = 7 - y;
|
||||||
|
|
||||||
pixel = WWCharacter_GetPixel(c, x, y);
|
pixel = WWCharacter_GetPixel(c, x, y);
|
||||||
pixel = WWPalette_GetMappedColor(p, pixel);
|
pixel = WWPalette_GetMappedColor(p, pixel); /* Ʃ<><C6A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD> -1 <20><><EFBFBD>֤<EFBFBD> */
|
||||||
|
|
||||||
return (pixel);
|
return (pixel);
|
||||||
}
|
}
|
||||||
@@ -96,13 +98,13 @@ int WWSprite_PrintData(WWSprite s, FILE * f)
|
|||||||
|
|
||||||
fprintf(f, "sprite[%d] :\tnumber = %d\n", n, WWSprite_GetNumber(s));
|
fprintf(f, "sprite[%d] :\tnumber = %d\n", n, WWSprite_GetNumber(s));
|
||||||
fprintf(f, "sprite[%d] :\thorizontal = %s\n",
|
fprintf(f, "sprite[%d] :\thorizontal = %s\n",
|
||||||
n, true_false(WWSprite_GetHorizontal(s)));
|
n, wonx_true_false(WWSprite_GetHorizontal(s)));
|
||||||
fprintf(f, "sprite[%d] :\tvertical = %s\n",
|
fprintf(f, "sprite[%d] :\tvertical = %s\n",
|
||||||
n, true_false(WWSprite_GetVertical( s)));
|
n, wonx_true_false(WWSprite_GetVertical( s)));
|
||||||
fprintf(f, "sprite[%d] :\tpriority = %s\n",
|
fprintf(f, "sprite[%d] :\tpriority = %s\n",
|
||||||
n, true_false(WWSprite_GetPriority( s)));
|
n, wonx_true_false(WWSprite_GetPriority( s)));
|
||||||
fprintf(f, "sprite[%d] :\tclipping = %s\n",
|
fprintf(f, "sprite[%d] :\tclipping = %s\n",
|
||||||
n, true_false(WWSprite_GetClipping( s)));
|
n, wonx_true_false(WWSprite_GetClipping( s)));
|
||||||
fprintf(f, "sprite[%d] :\tpalette number = %d\n",
|
fprintf(f, "sprite[%d] :\tpalette number = %d\n",
|
||||||
n, WWPalette_GetNumber(WWSprite_GetPalette(s)));
|
n, WWPalette_GetNumber(WWSprite_GetPalette(s)));
|
||||||
fprintf(f, "sprite[%d] :\tcharacter number = %d\n",
|
fprintf(f, "sprite[%d] :\tcharacter number = %d\n",
|
||||||
|
|||||||
14
WWSprite.h
14
WWSprite.h
@@ -5,17 +5,21 @@
|
|||||||
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
#include <stdlib.h>
|
|
||||||
|
|
||||||
#include "WWPalette.h"
|
|
||||||
#include "WWCharacter.h"
|
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/* <20><><EFBFBD>饹<EFBFBD><E9A5B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
/* <20><><EFBFBD>饹<EFBFBD><E9A5B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
typedef struct _WWSprite * WWSprite;
|
typedef struct _WWSprite * WWSprite;
|
||||||
|
|
||||||
|
/*****************************************************************************/
|
||||||
|
/* <20>إå<D8A5><C3A5>ե<EFBFBD><D5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Υ<EFBFBD><CEA5>롼<F3A5AFA5><EBA1BC> */
|
||||||
|
/*****************************************************************************/
|
||||||
|
|
||||||
|
#include <stdlib.h>
|
||||||
|
|
||||||
|
#include "WWPalette.h"
|
||||||
|
#include "WWCharacter.h"
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/* <20><><EFBFBD><EFBFBD><EFBFBD>дؿ<D0B4><D8BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
/* <20><><EFBFBD><EFBFBD><EFBFBD>дؿ<D0B4><D8BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|||||||
6
WWText.c
6
WWText.c
@@ -3,7 +3,7 @@
|
|||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
#include "WWTextP.h"
|
#include "WWTextP.h"
|
||||||
#include "etc.h"
|
#include "WonX.h"
|
||||||
|
|
||||||
/* <20>ե<EFBFBD><D5A5><EFBFBD><EFBFBD>ȤΥӥåȥޥåץǡ<D7A5><C7A1><EFBFBD> */
|
/* <20>ե<EFBFBD><D5A5><EFBFBD><EFBFBD>ȤΥӥåȥޥåץǡ<D7A5><C7A1><EFBFBD> */
|
||||||
#include "WWTextFonts.c"
|
#include "WWTextFonts.c"
|
||||||
@@ -74,7 +74,7 @@ int WWText_PutCharacter(WWText ww_text, int x, int y, int character,
|
|||||||
WWCharacter ww_character;
|
WWCharacter ww_character;
|
||||||
|
|
||||||
if ((character < 0) || (character > 127)) {
|
if ((character < 0) || (character > 127)) {
|
||||||
printf("warning : WWText_PutCharacter() : Character number is out of range.\n");
|
WonX_Warning("WWText_PutCharacter", "Character number is out of range.");
|
||||||
fflush(stdout);
|
fflush(stdout);
|
||||||
return (-1);
|
return (-1);
|
||||||
}
|
}
|
||||||
@@ -86,7 +86,7 @@ int WWText_PutCharacter(WWText ww_text, int x, int y, int character,
|
|||||||
|
|
||||||
if ( (x < 0) || (x > WWText_GetWidth( ww_text) - 1) ||
|
if ( (x < 0) || (x > WWText_GetWidth( ww_text) - 1) ||
|
||||||
(y < 0) || (y > WWText_GetHeight(ww_text) - 1) ) {
|
(y < 0) || (y > WWText_GetHeight(ww_text) - 1) ) {
|
||||||
printf("warning : WWText_PutCharacter() : Position is out of range.\n");
|
WonX_Warning("WWText_PutCharacter", "Position is out of range.");
|
||||||
fflush(stdout);
|
fflush(stdout);
|
||||||
return (-1);
|
return (-1);
|
||||||
}
|
}
|
||||||
|
|||||||
12
WWText.h
12
WWText.h
@@ -5,16 +5,20 @@
|
|||||||
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
#include "WWDisplay.h"
|
|
||||||
#include "WWScreen.h"
|
|
||||||
#include "WWPalette.h"
|
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/* <20><><EFBFBD>饹<EFBFBD><E9A5B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
/* <20><><EFBFBD>饹<EFBFBD><E9A5B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
typedef struct _WWText * WWText;
|
typedef struct _WWText * WWText;
|
||||||
|
|
||||||
|
/*****************************************************************************/
|
||||||
|
/* <20>إå<D8A5><C3A5>ե<EFBFBD><D5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Υ<EFBFBD><CEA5>롼<F3A5AFA5><EBA1BC> */
|
||||||
|
/*****************************************************************************/
|
||||||
|
|
||||||
|
#include "WWDisplay.h"
|
||||||
|
#include "WWScreen.h"
|
||||||
|
#include "WWPalette.h"
|
||||||
|
|
||||||
/*===========================================================================*/
|
/*===========================================================================*/
|
||||||
/* <20><><EFBFBD><EFBFBD><EFBFBD>Фμ<D0A4><CEBC><EFBFBD> */
|
/* <20><><EFBFBD><EFBFBD><EFBFBD>Фμ<D0A4><CEBC><EFBFBD> */
|
||||||
/*===========================================================================*/
|
/*===========================================================================*/
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
#include "WWTimerP.h"
|
#include "WWTimerP.h"
|
||||||
#include "etc.h"
|
#include "WonX.h"
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/* <20><><EFBFBD><EFBFBD><EFBFBD>дؿ<D0B4><D8BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
/* <20><><EFBFBD><EFBFBD><EFBFBD>дؿ<D0B4><D8BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
|||||||
14
WWTimer.h
14
WWTimer.h
@@ -5,17 +5,21 @@
|
|||||||
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
|
|
||||||
#include "wonx_include/timer.h"
|
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/* <20><><EFBFBD>饹<EFBFBD><E9A5B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
/* <20><><EFBFBD>饹<EFBFBD><E9A5B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
typedef struct _WWTimer * WWTimer;
|
typedef struct _WWTimer * WWTimer;
|
||||||
|
|
||||||
|
/*****************************************************************************/
|
||||||
|
/* <20>إå<D8A5><C3A5>ե<EFBFBD><D5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Υ<EFBFBD><CEA5>롼<F3A5AFA5><EBA1BC> */
|
||||||
|
/*****************************************************************************/
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
|
||||||
|
#include "wonx_include/timer.h"
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/* <20><><EFBFBD><EFBFBD><EFBFBD>дؿ<D0B4><D8BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
/* <20><><EFBFBD><EFBFBD><EFBFBD>дؿ<D0B4><D8BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|||||||
41
WonX.c
41
WonX.c
@@ -2,14 +2,9 @@
|
|||||||
#include "etc.h"
|
#include "etc.h"
|
||||||
|
|
||||||
#include "wonx_include/disp.h"
|
#include "wonx_include/disp.h"
|
||||||
#include "wonx_include/text.h"
|
|
||||||
#include "wonx_include/system.h"
|
#include "wonx_include/system.h"
|
||||||
#include "wonx_include/comm.h"
|
#include "wonx_include/comm.h"
|
||||||
|
|
||||||
/*****************************************************************************/
|
|
||||||
/* <20>ǥ<EFBFBD><C7A5><EFBFBD><EFBFBD>ץ쥤<D7A5>γ<EFBFBD><CEB3><EFBFBD> */
|
|
||||||
/*****************************************************************************/
|
|
||||||
|
|
||||||
static WonX wonx = NULL;
|
static WonX wonx = NULL;
|
||||||
|
|
||||||
int WonX_IsCreated(void)
|
int WonX_IsCreated(void)
|
||||||
@@ -19,9 +14,6 @@ int WonX_IsCreated(void)
|
|||||||
|
|
||||||
void WonX_Create(void)
|
void WonX_Create(void)
|
||||||
{
|
{
|
||||||
WWScreen screen;
|
|
||||||
WWPalette palette;
|
|
||||||
|
|
||||||
wonx = (WonX)malloc(sizeof(_WonX));
|
wonx = (WonX)malloc(sizeof(_WonX));
|
||||||
if (wonx == NULL) WonX_Error("WonX_Create", "Cannot allocate memory.");
|
if (wonx == NULL) WonX_Error("WonX_Create", "Cannot allocate memory.");
|
||||||
|
|
||||||
@@ -29,15 +21,6 @@ void WonX_Create(void)
|
|||||||
WonXDisplay_Create(LCD_PIXEL_WIDTH * 2, LCD_PIXEL_HEIGHT * 2,
|
WonXDisplay_Create(LCD_PIXEL_WIDTH * 2, LCD_PIXEL_HEIGHT * 2,
|
||||||
LCD_PIXEL_WIDTH, LCD_PIXEL_HEIGHT,
|
LCD_PIXEL_WIDTH, LCD_PIXEL_HEIGHT,
|
||||||
SCREEN_CHAR_WIDTH, SCREEN_CHAR_HEIGHT);
|
SCREEN_CHAR_WIDTH, SCREEN_CHAR_HEIGHT);
|
||||||
screen =
|
|
||||||
WWDisplay_GetScreen(WonXDisplay_GetWWDisplay(wonx->wonx_display), SCREEN2);
|
|
||||||
/* <20>ǥե<C7A5><D5A5><EFBFBD><EFBFBD>ȤΥƥ<CEA5><C6A5><EFBFBD><EFBFBD><EFBFBD>ɽ<EFBFBD><C9BD><EFBFBD>ѥѥ<D1A5><D1A5>åȤ<C3A5>0 */
|
|
||||||
palette =
|
|
||||||
WWDisplay_GetPalette(WonXDisplay_GetWWDisplay(wonx->wonx_display), 0);
|
|
||||||
|
|
||||||
wonx->wonx_text =
|
|
||||||
WonXText_Create(screen, 0, 0, TEXT_SCREEN_WIDTH, TEXT_SCREEN_HEIGHT,
|
|
||||||
palette);
|
|
||||||
|
|
||||||
wonx->wonx_system = WonXSystem_Create();
|
wonx->wonx_system = WonXSystem_Create();
|
||||||
|
|
||||||
@@ -51,11 +34,6 @@ WonXDisplay WonX_GetWonXDisplay(void)
|
|||||||
return (wonx->wonx_display);
|
return (wonx->wonx_display);
|
||||||
}
|
}
|
||||||
|
|
||||||
WonXText WonX_GetWonXText(void)
|
|
||||||
{
|
|
||||||
return (wonx->wonx_text);
|
|
||||||
}
|
|
||||||
|
|
||||||
WonXSystem WonX_GetWonXSystem(void)
|
WonXSystem WonX_GetWonXSystem(void)
|
||||||
{
|
{
|
||||||
return (wonx->wonx_system);
|
return (wonx->wonx_system);
|
||||||
@@ -66,3 +44,22 @@ WonXSerialPort WonX_GetWonXSerialPort(void)
|
|||||||
return (wonx->wonx_serial_port);
|
return (wonx->wonx_serial_port);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*===========================================================================*/
|
||||||
|
/* <20><><EFBFBD>顼<EFBFBD><E9A1BC><EFBFBD><EFBFBD> */
|
||||||
|
/*===========================================================================*/
|
||||||
|
|
||||||
|
int WonX_Error(char * funcname, char * message)
|
||||||
|
{
|
||||||
|
fprintf(stderr, "error : %s(): %s\n", funcname, message);
|
||||||
|
exit (1);
|
||||||
|
}
|
||||||
|
|
||||||
|
int WonX_Warning(char * funcname, char * message)
|
||||||
|
{
|
||||||
|
fprintf(stderr, "warning : %s(): %s\n", funcname, message);
|
||||||
|
return (0);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*****************************************************************************/
|
||||||
|
/* End of File. */
|
||||||
|
/*****************************************************************************/
|
||||||
|
|||||||
17
WonX.h
17
WonX.h
@@ -2,19 +2,24 @@
|
|||||||
#define _wonx_h_INCLUDED_
|
#define _wonx_h_INCLUDED_
|
||||||
|
|
||||||
#include "WonXDisplay.h"
|
#include "WonXDisplay.h"
|
||||||
#include "WonXText.h"
|
|
||||||
#include "WonXSystem.h"
|
#include "WonXSystem.h"
|
||||||
#include "WonXSerialPort.h"
|
#include "WonXSerialPort.h"
|
||||||
|
|
||||||
/*****************************************************************************/
|
|
||||||
/* <20>ǥ<EFBFBD><C7A5><EFBFBD><EFBFBD>ץ쥤<D7A5>γ<EFBFBD><CEB3><EFBFBD> */
|
|
||||||
/*****************************************************************************/
|
|
||||||
|
|
||||||
int WonX_IsCreated(void);
|
int WonX_IsCreated(void);
|
||||||
void WonX_Create(void);
|
void WonX_Create(void);
|
||||||
WonXDisplay WonX_GetWonXDisplay(void);
|
WonXDisplay WonX_GetWonXDisplay(void);
|
||||||
WonXText WonX_GetWonXText(void);
|
|
||||||
WonXSystem WonX_GetWonXSystem(void);
|
WonXSystem WonX_GetWonXSystem(void);
|
||||||
WonXSerialPort WonX_GetWonXSerialPort(void);
|
WonXSerialPort WonX_GetWonXSerialPort(void);
|
||||||
|
|
||||||
|
/*===========================================================================*/
|
||||||
|
/* <20><><EFBFBD>顼<EFBFBD><E9A1BC><EFBFBD><EFBFBD> */
|
||||||
|
/*===========================================================================*/
|
||||||
|
|
||||||
|
int WonX_Error(char * funcname, char * message);
|
||||||
|
int WonX_Warning(char * funcname, char * message);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/*****************************************************************************/
|
||||||
|
/* End of File. */
|
||||||
|
/*****************************************************************************/
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
#include "WonXDisplayP.h"
|
#include "WonXDisplayP.h"
|
||||||
#include "etc.h"
|
#include "WonX.h"
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/* <20><><EFBFBD><EFBFBD><EFBFBD>дؿ<D0B4><D8BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
/* <20><><EFBFBD><EFBFBD><EFBFBD>дؿ<D0B4><D8BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
|||||||
@@ -5,15 +5,23 @@
|
|||||||
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
#include "XDisplay.h"
|
|
||||||
#include "WWDisplay.h"
|
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/* <20><><EFBFBD>饹<EFBFBD><E9A5B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
/* <20><><EFBFBD>饹<EFBFBD><E9A5B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
typedef struct _WonXDisplay * WonXDisplay;
|
typedef struct _WonXDisplay * WonXDisplay;
|
||||||
|
|
||||||
|
/*****************************************************************************/
|
||||||
|
/* <20>إå<D8A5><C3A5>ե<EFBFBD><D5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Υ<EFBFBD><CEA5>롼<F3A5AFA5><EBA1BC> */
|
||||||
|
/*****************************************************************************/
|
||||||
|
|
||||||
|
#include "XDisplay.h"
|
||||||
|
#include "WWDisplay.h"
|
||||||
|
|
||||||
|
/*****************************************************************************/
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD>дؿ<D0B4><D8BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
/*****************************************************************************/
|
||||||
|
|
||||||
XDisplay WonXDisplay_GetXDisplay(WonXDisplay wonx_display);
|
XDisplay WonXDisplay_GetXDisplay(WonXDisplay wonx_display);
|
||||||
WWDisplay WonXDisplay_GetWWDisplay(WonXDisplay wonx_display);
|
WWDisplay WonXDisplay_GetWWDisplay(WonXDisplay wonx_display);
|
||||||
WonXDisplay WonXDisplay_Create(int x_width, int x_height,
|
WonXDisplay WonXDisplay_Create(int x_width, int x_height,
|
||||||
|
|||||||
1
WonXP.h
1
WonXP.h
@@ -13,7 +13,6 @@
|
|||||||
|
|
||||||
typedef struct _WonX {
|
typedef struct _WonX {
|
||||||
WonXDisplay wonx_display;
|
WonXDisplay wonx_display;
|
||||||
WonXText wonx_text;
|
|
||||||
WonXSystem wonx_system;
|
WonXSystem wonx_system;
|
||||||
WonXSerialPort wonx_serial_port;
|
WonXSerialPort wonx_serial_port;
|
||||||
} _WonX;
|
} _WonX;
|
||||||
|
|||||||
@@ -3,22 +3,29 @@
|
|||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
#include "WonXSerialPortP.h"
|
#include "WonXSerialPortP.h"
|
||||||
#include "etc.h"
|
#include "WonX.h"
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/* <20><><EFBFBD><EFBFBD><EFBFBD>дؿ<D0B4><D8BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
/* <20><><EFBFBD><EFBFBD><EFBFBD>дؿ<D0B4><D8BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
WWSerialPort WonXSerialPort_GetWWSerialPort(WonXSerialPort wonx_serial_port)
|
WWSerialPort WonXSerialPort_GetWWSerialPort(WonXSerialPort wonx_sp)
|
||||||
{ return (wonx_serial_port->ww_serial_port); }
|
{ return (wonx_sp->ww_serial_port); }
|
||||||
WWSerialPort WonXSerialPort_SetWWSerialPort(WonXSerialPort wonx_serial_port,
|
WWSerialPort WonXSerialPort_SetWWSerialPort(WonXSerialPort wonx_sp,
|
||||||
WWSerialPort ww_serial_port)
|
WWSerialPort ww_sp)
|
||||||
{ return (wonx_serial_port->ww_serial_port = ww_serial_port); }
|
{ return (wonx_sp->ww_serial_port = ww_sp); }
|
||||||
|
|
||||||
|
UNIXSerialPort WonXSerialPort_GetUNIXSerialPort(WonXSerialPort wonx_sp)
|
||||||
|
{ return (wonx_sp->unix_serial_port); }
|
||||||
|
UNIXSerialPort WonXSerialPort_SetUNIXSerialPort(WonXSerialPort wonx_sp,
|
||||||
|
UNIXSerialPort unix_sp)
|
||||||
|
{ return (wonx_sp->unix_serial_port = unix_sp); }
|
||||||
|
|
||||||
WonXSerialPort WonXSerialPort_Create()
|
WonXSerialPort WonXSerialPort_Create()
|
||||||
{
|
{
|
||||||
WonXSerialPort wonx_serial_port;
|
WonXSerialPort wonx_serial_port;
|
||||||
WWSerialPort ww_serial_port;
|
WWSerialPort ww_serial_port;
|
||||||
|
UNIXSerialPort unix_serial_port;
|
||||||
|
|
||||||
wonx_serial_port = (WonXSerialPort)malloc(sizeof(_WonXSerialPort));
|
wonx_serial_port = (WonXSerialPort)malloc(sizeof(_WonXSerialPort));
|
||||||
if (wonx_serial_port == NULL)
|
if (wonx_serial_port == NULL)
|
||||||
@@ -30,12 +37,19 @@ WonXSerialPort WonXSerialPort_Create()
|
|||||||
"Cannot create WonderWitch serial port.");
|
"Cannot create WonderWitch serial port.");
|
||||||
WonXSerialPort_SetWWSerialPort(wonx_serial_port, ww_serial_port);
|
WonXSerialPort_SetWWSerialPort(wonx_serial_port, ww_serial_port);
|
||||||
|
|
||||||
|
unix_serial_port = UNIXSerialPort_Create();
|
||||||
|
if (unix_serial_port == NULL)
|
||||||
|
WonX_Error("WonXSerialPort_Create",
|
||||||
|
"Cannot create UNIX serial port.");
|
||||||
|
WonXSerialPort_SetUNIXSerialPort(wonx_serial_port, unix_serial_port);
|
||||||
|
|
||||||
return (wonx_serial_port);
|
return (wonx_serial_port);
|
||||||
}
|
}
|
||||||
|
|
||||||
WonXSerialPort WonXSerialPort_Destroy(WonXSerialPort wonx_serial_port)
|
WonXSerialPort WonXSerialPort_Destroy(WonXSerialPort wonx_serial_port)
|
||||||
{
|
{
|
||||||
WWSerialPort ww_serial_port;
|
WWSerialPort ww_serial_port;
|
||||||
|
UNIXSerialPort unix_serial_port;
|
||||||
|
|
||||||
if (wonx_serial_port == NULL)
|
if (wonx_serial_port == NULL)
|
||||||
WonX_Error("WonXSerialPort_Destroy", "Object is not created.");
|
WonX_Error("WonXSerialPort_Destroy", "Object is not created.");
|
||||||
@@ -45,6 +59,11 @@ WonXSerialPort WonXSerialPort_Destroy(WonXSerialPort wonx_serial_port)
|
|||||||
WonXSerialPort_SetWWSerialPort(wonx_serial_port,
|
WonXSerialPort_SetWWSerialPort(wonx_serial_port,
|
||||||
WWSerialPort_Destroy(ww_serial_port));
|
WWSerialPort_Destroy(ww_serial_port));
|
||||||
|
|
||||||
|
unix_serial_port = WonXSerialPort_GetUNIXSerialPort(wonx_serial_port);
|
||||||
|
if (unix_serial_port)
|
||||||
|
WonXSerialPort_SetUNIXSerialPort(wonx_serial_port,
|
||||||
|
UNIXSerialPort_Destroy(unix_serial_port));
|
||||||
|
|
||||||
free(wonx_serial_port);
|
free(wonx_serial_port);
|
||||||
|
|
||||||
return (NULL);
|
return (NULL);
|
||||||
|
|||||||
@@ -5,21 +5,30 @@
|
|||||||
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
#include "WWSerialPort.h"
|
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/* <20><><EFBFBD>饹<EFBFBD><E9A5B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
/* <20><><EFBFBD>饹<EFBFBD><E9A5B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
typedef struct _WonXSerialPort * WonXSerialPort;
|
typedef struct _WonXSerialPort * WonXSerialPort;
|
||||||
|
|
||||||
|
/*****************************************************************************/
|
||||||
|
/* <20>إå<D8A5><C3A5>ե<EFBFBD><D5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Υ<EFBFBD><CEA5>롼<F3A5AFA5><EBA1BC> */
|
||||||
|
/*****************************************************************************/
|
||||||
|
|
||||||
|
#include "WWSerialPort.h"
|
||||||
|
#include "UNIXSerialPort.h"
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/* <20><><EFBFBD><EFBFBD><EFBFBD>дؿ<D0B4><D8BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
/* <20><><EFBFBD><EFBFBD><EFBFBD>дؿ<D0B4><D8BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
WWSerialPort WonXSerialPort_GetWWSerialPort(WonXSerialPort wonx_serial_port);
|
WWSerialPort WonXSerialPort_GetWWSerialPort(WonXSerialPort wonx_sp);
|
||||||
WWSerialPort WonXSerialPort_SetWWSerialPort(WonXSerialPort wonx_serial_port,
|
WWSerialPort WonXSerialPort_SetWWSerialPort(WonXSerialPort wonx_sp,
|
||||||
WWSerialPort ww_serial_port);
|
WWSerialPort ww_sp);
|
||||||
|
|
||||||
|
UNIXSerialPort WonXSerialPort_GetUNIXSerialPort(WonXSerialPort wonx_sp);
|
||||||
|
UNIXSerialPort WonXSerialPort_SetUNIXSerialPort(WonXSerialPort wonx_sp,
|
||||||
|
UNIXSerialPort unix_sp);
|
||||||
|
|
||||||
WonXSerialPort WonXSerialPort_Create();
|
WonXSerialPort WonXSerialPort_Create();
|
||||||
WonXSerialPort WonXSerialPort_Destroy(WonXSerialPort wonx_serial_port);
|
WonXSerialPort WonXSerialPort_Destroy(WonXSerialPort wonx_serial_port);
|
||||||
|
|||||||
@@ -13,6 +13,7 @@
|
|||||||
|
|
||||||
typedef struct _WonXSerialPort {
|
typedef struct _WonXSerialPort {
|
||||||
WWSerialPort ww_serial_port;
|
WWSerialPort ww_serial_port;
|
||||||
|
UNIXSerialPort unix_serial_port;
|
||||||
} _WonXSerialPort;
|
} _WonXSerialPort;
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|||||||
50
WonXSystem.c
50
WonXSystem.c
@@ -5,7 +5,7 @@
|
|||||||
#include "wonx_configure.h"
|
#include "wonx_configure.h"
|
||||||
|
|
||||||
#include "WonXSystemP.h"
|
#include "WonXSystemP.h"
|
||||||
#include "etc.h"
|
#include "WonX.h"
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/* <20><><EFBFBD><EFBFBD><EFBFBD>дؿ<D0B4><D8BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
/* <20><><EFBFBD><EFBFBD><EFBFBD>дؿ<D0B4><D8BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
@@ -47,9 +47,24 @@ static int WonXTimer_Callback(WonXSystem wonx_system)
|
|||||||
{
|
{
|
||||||
WWTimer ww_timer;
|
WWTimer ww_timer;
|
||||||
WWInterrupt ww_interrupt;
|
WWInterrupt ww_interrupt;
|
||||||
|
WonXDisplay wonx_display;
|
||||||
|
XDisplay x_display;
|
||||||
|
WonXSerialPort wonx_serial_port;
|
||||||
|
WWSerialPort ww_serial_port;
|
||||||
|
UNIXSerialPort unix_serial_port;
|
||||||
|
|
||||||
|
unsigned int old_key;
|
||||||
|
unsigned int new_key;
|
||||||
|
|
||||||
ww_interrupt = WonXSystem_GetWWInterrupt(wonx_system);
|
ww_interrupt = WonXSystem_GetWWInterrupt(wonx_system);
|
||||||
|
|
||||||
|
wonx_display = WonX_GetWonXDisplay();
|
||||||
|
x_display = WonXDisplay_GetXDisplay(wonx_display);
|
||||||
|
|
||||||
|
wonx_serial_port = WonX_GetWonXSerialPort();
|
||||||
|
ww_serial_port = WonXSerialPort_GetWWSerialPort(wonx_serial_port);
|
||||||
|
unix_serial_port = WonXSerialPort_GetUNIXSerialPort(wonx_serial_port);
|
||||||
|
|
||||||
ww_timer = WonXSystem_GetWWVBlankTimer(wonx_system);
|
ww_timer = WonXSystem_GetWWVBlankTimer(wonx_system);
|
||||||
if (WWTimer_IsON(ww_timer)) {
|
if (WWTimer_IsON(ww_timer)) {
|
||||||
if (WWTimer_Count(ww_timer))
|
if (WWTimer_Count(ww_timer))
|
||||||
@@ -68,6 +83,39 @@ static int WonXTimer_Callback(WonXSystem wonx_system)
|
|||||||
WWInterrupt_ExecuteHBlankCountUpCallback(ww_interrupt);
|
WWInterrupt_ExecuteHBlankCountUpCallback(ww_interrupt);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϳ<EFBFBD><CFB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
/*
|
||||||
|
* XDisplay_Sync() <20><>¾<EFBFBD>ΤȤ<CEA4><C8A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƤФ줿<D0A4><ECA4BF><EFBFBD><EFBFBD><EFBFBD>˳<EFBFBD><CBB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߤ<EFBFBD><DFA4>Ȥ<EFBFBD>
|
||||||
|
* <20><><EFBFBD>ܤ<EFBFBD><DCA4>Ƥ<EFBFBD><C6A4>ޤ<EFBFBD><DEA4>Τǡ<CEA4>XDisplay <20><><EFBFBD>饹<EFBFBD>Τۤ<CEA4><DBA4>dz<EFBFBD><C7B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߤν<DFA4><CEBD><EFBFBD><EFBFBD>뤫<F2A4B9A4><EBA4AB>
|
||||||
|
* <20>ե饰<D5A5><E9A5B0>Ω<EFBFBD>Ƥ<EFBFBD><C6A4>褦<EFBFBD>˲<EFBFBD><CBB2>ɤ<EFBFBD><C9A4><EFBFBD>ɬ<EFBFBD>פ<EFBFBD>ͭ<EFBFBD>뤫<EFBFBD>⡥
|
||||||
|
* (<28>̤ξ<CCA4><CEBE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˤ<EFBFBD> XDisplay_Sync() <20><><EFBFBD>ƤФ<C6A4><D0A4>Ƥ<EFBFBD><C6A4><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߤ<EFBFBD>
|
||||||
|
* ȯ<><C8AF><EFBFBD><EFBFBD><EFBFBD>ʤ<EFBFBD><CAA4>ʤäƤ<C3A4><C6A4>ޤ<EFBFBD>)
|
||||||
|
* <20>Ȥꤢ<C8A4><EAA4A2><EFBFBD><EFBFBD><EFBFBD>ϴʰ<CFB4>Ū<EFBFBD>ˤ<EFBFBD><CBA4>Τ褦<CEA4>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>ˤ<EFBFBD><CBA4>Ƥ<EFBFBD><C6A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̵<EFBFBD><CCB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
*/
|
||||||
|
old_key = XDisplay_GetKeyPress(x_display);
|
||||||
|
XDisplay_Sync(x_display);
|
||||||
|
new_key = XDisplay_GetKeyPress(x_display);
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>줿<EFBFBD><ECA4BF><EFBFBD><EFBFBD> */
|
||||||
|
/*
|
||||||
|
* WonderWitch <20>Ǽ¸<C7BC><C2B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD><C8A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Υ<EFBFBD><CEA5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˤϳ<CBA4><CFB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߤ<EFBFBD>
|
||||||
|
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʤ<EFBFBD><CAA4>褦<EFBFBD><E8A4A6><EFBFBD>ä<EFBFBD><C3A4>Τǡ<CEA4><C7A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>줿<EFBFBD>Ȥ<EFBFBD><C8A4>Τߥ<CEA4><DFA5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Хå<D0A5><C3A5>ؿ<EFBFBD><D8BF><EFBFBD><EFBFBD>ƤӽФ<D3BD><D0A4><EFBFBD>
|
||||||
|
*/
|
||||||
|
if (new_key & (~old_key)) {
|
||||||
|
WWInterrupt_ExecuteKeyCallback(ww_interrupt);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* <20><><EFBFBD>ꥢ<EFBFBD><EAA5A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
/*
|
||||||
|
* <20><><EFBFBD><EFBFBD>Ʊ<EFBFBD><C6B1><EFBFBD><EFBFBD>ͳ<EFBFBD>dz<EFBFBD><C7B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߤ<EFBFBD><DFA4>Ȥꤳ<C8A4>ܤ<EFBFBD><DCA4><EFBFBD>ǽ<EFBFBD><C7BD><EFBFBD><EFBFBD>ͭ<EFBFBD><CDAD><EFBFBD>Τǡ<CEA4>UNIXSerialPort <20><>
|
||||||
|
* <20>ۤ<EFBFBD><DBA4>dz<EFBFBD><C7B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߤν<DFA4><CEBD><EFBFBD><EFBFBD>뤫<F2A4B9A4><EBA4AB><EFBFBD>ե饰<D5A5><E9A5B0>Ω<EFBFBD>Ƥ<EFBFBD><C6A4>褦<EFBFBD>˲<EFBFBD><CBB2>ɤ<EFBFBD><C9A4><EFBFBD>ɬ<EFBFBD>פ<EFBFBD>ͭ<EFBFBD>뤫<EFBFBD>⡥
|
||||||
|
* <20>Ȥꤢ<C8A4><EAA4A2><EFBFBD><EFBFBD><EFBFBD>ϴʰ<CFB4>Ū<EFBFBD>ˤ<EFBFBD><CBA4>Τ褦<CEA4>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>ˤ<EFBFBD><CBA4>Ƥ<EFBFBD><C6A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̵<EFBFBD><CCB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
*/
|
||||||
|
if (WWSerialPort_IsOpened(ww_serial_port) &&
|
||||||
|
UNIXSerialPort_IsOpened(unix_serial_port)) {
|
||||||
|
if (UNIXSerialPort_IsDataExisting(unix_serial_port, 0))
|
||||||
|
WWInterrupt_ExecuteReceiveReadyCallback(ww_interrupt);
|
||||||
|
}
|
||||||
|
|
||||||
return (0);
|
return (0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
12
WonXSystem.h
12
WonXSystem.h
@@ -5,16 +5,20 @@
|
|||||||
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
#include "WWInterrupt.h"
|
|
||||||
#include "WWTimer.h"
|
|
||||||
#include "UNIXTimer.h"
|
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/* <20><><EFBFBD>饹<EFBFBD><E9A5B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
/* <20><><EFBFBD>饹<EFBFBD><E9A5B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
typedef struct _WonXSystem * WonXSystem;
|
typedef struct _WonXSystem * WonXSystem;
|
||||||
|
|
||||||
|
/*****************************************************************************/
|
||||||
|
/* <20>إå<D8A5><C3A5>ե<EFBFBD><D5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Υ<EFBFBD><CEA5>롼<F3A5AFA5><EBA1BC> */
|
||||||
|
/*****************************************************************************/
|
||||||
|
|
||||||
|
#include "WWInterrupt.h"
|
||||||
|
#include "WWTimer.h"
|
||||||
|
#include "UNIXTimer.h"
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/* <20><><EFBFBD><EFBFBD><EFBFBD>дؿ<D0B4><D8BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
/* <20><><EFBFBD><EFBFBD><EFBFBD>дؿ<D0B4><D8BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|||||||
55
WonXText.c
55
WonXText.c
@@ -1,55 +0,0 @@
|
|||||||
/*****************************************************************************/
|
|
||||||
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
|
||||||
/*****************************************************************************/
|
|
||||||
|
|
||||||
#include "WonXTextP.h"
|
|
||||||
#include "etc.h"
|
|
||||||
|
|
||||||
/*****************************************************************************/
|
|
||||||
/* <20><><EFBFBD><EFBFBD><EFBFBD>дؿ<D0B4><D8BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
|
||||||
/*****************************************************************************/
|
|
||||||
|
|
||||||
WWText WonXText_GetWWText(WonXText wonx_text)
|
|
||||||
{ return (wonx_text->ww_text); }
|
|
||||||
WWText WonXText_SetWWText(WonXText wonx_text, WWText ww_text)
|
|
||||||
{ return (wonx_text->ww_text = ww_text); }
|
|
||||||
|
|
||||||
WonXText WonXText_Create(WWScreen screen, int x, int y, int width, int height,
|
|
||||||
WWPalette palette)
|
|
||||||
{
|
|
||||||
WonXText wonx_text;
|
|
||||||
WWText ww_text;
|
|
||||||
|
|
||||||
wonx_text = (WonXText)malloc(sizeof(_WonXText));
|
|
||||||
if (wonx_text == NULL)
|
|
||||||
WonX_Error("WonXText_Create", "Cannot allocate memory.");
|
|
||||||
|
|
||||||
ww_text = WWText_Create(screen, x, y, width, height, palette);
|
|
||||||
if (ww_text == NULL)
|
|
||||||
WonX_Error("WonXText_Create", "Cannot create WonderWitch text.");
|
|
||||||
WonXText_SetWWText(wonx_text, ww_text);
|
|
||||||
|
|
||||||
return (wonx_text);
|
|
||||||
}
|
|
||||||
|
|
||||||
WonXText WonXText_Destroy(WonXText wonx_text)
|
|
||||||
{
|
|
||||||
if (wonx_text == NULL)
|
|
||||||
WonX_Error("WonXText_Destroy", "Object is not created.");
|
|
||||||
|
|
||||||
if (WonXText_GetWWText(wonx_text))
|
|
||||||
WonXText_SetWWText(wonx_text,
|
|
||||||
WWText_Destroy(WonXText_GetWWText(wonx_text)));
|
|
||||||
|
|
||||||
free(wonx_text);
|
|
||||||
|
|
||||||
return (NULL);
|
|
||||||
}
|
|
||||||
|
|
||||||
/*****************************************************************************/
|
|
||||||
/* <20><><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD> */
|
|
||||||
/*****************************************************************************/
|
|
||||||
|
|
||||||
/*****************************************************************************/
|
|
||||||
/* End of File. */
|
|
||||||
/*****************************************************************************/
|
|
||||||
14
XDisplay.h
14
XDisplay.h
@@ -5,10 +5,6 @@
|
|||||||
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
#include "wonx_include/key.h"
|
|
||||||
|
|
||||||
#include "WWLCDPanel.h"
|
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/* <20><><EFBFBD>饹<EFBFBD><E9A5B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
/* <20><><EFBFBD>饹<EFBFBD><E9A5B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
@@ -16,7 +12,15 @@
|
|||||||
typedef struct _XDisplay * XDisplay;
|
typedef struct _XDisplay * XDisplay;
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/* <20><><EFBFBD><EFBFBD><EFBFBD>дؿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
/* <20>إå<EFBFBD><EFBFBD>ե<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Υ<EFBFBD><EFBFBD>롼<EFBFBD><EFBFBD> */
|
||||||
|
/*****************************************************************************/
|
||||||
|
|
||||||
|
#include "wonx_include/key.h"
|
||||||
|
|
||||||
|
#include "WWLCDPanel.h"
|
||||||
|
|
||||||
|
/*****************************************************************************/
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD>дؿ<D0B4><D8BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
unsigned int XDisplay_GetKeyPress(XDisplay x_display);
|
unsigned int XDisplay_GetKeyPress(XDisplay x_display);
|
||||||
|
|||||||
170
comm.c
170
comm.c
@@ -14,6 +14,9 @@
|
|||||||
|
|
||||||
#include "wonx_configure.h"
|
#include "wonx_configure.h"
|
||||||
#include "WonX.h"
|
#include "WonX.h"
|
||||||
|
#include "WonXSerialPort.h"
|
||||||
|
#include "WWSerialPort.h"
|
||||||
|
#include "UNIXSerialPort.h"
|
||||||
#include "etc.h"
|
#include "etc.h"
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
@@ -38,7 +41,9 @@
|
|||||||
|
|
||||||
void comm_open(void)
|
void comm_open(void)
|
||||||
{
|
{
|
||||||
|
WonXSerialPort wonx_serial_port;
|
||||||
WWSerialPort ww_serial_port;
|
WWSerialPort ww_serial_port;
|
||||||
|
UNIXSerialPort unix_serial_port;
|
||||||
|
|
||||||
if (!WonX_IsCreated()) WonX_Create();
|
if (!WonX_IsCreated()) WonX_Create();
|
||||||
|
|
||||||
@@ -48,12 +53,17 @@ void comm_open(void)
|
|||||||
printf("call : comm_open() : \n");
|
printf("call : comm_open() : \n");
|
||||||
fflush(stdout);
|
fflush(stdout);
|
||||||
|
|
||||||
ww_serial_port = WonXSerialPort_GetWWSerialPort(WonX_GetWonXSerialPort());
|
wonx_serial_port = WonX_GetWonXSerialPort();
|
||||||
|
ww_serial_port = WonXSerialPort_GetWWSerialPort(wonx_serial_port);
|
||||||
|
unix_serial_port = WonXSerialPort_GetUNIXSerialPort(wonx_serial_port);
|
||||||
|
|
||||||
if (WWSerialPort_IsON(ww_serial_port))
|
if (WWSerialPort_IsOpened(ww_serial_port))
|
||||||
WonX_Error("comm_open", "Serial port has already opened.");
|
WonX_Warning("comm_open", "WW serial port has already opened.");
|
||||||
|
WWSerialPort_Open(ww_serial_port);
|
||||||
|
|
||||||
WWSerialPort_ON(ww_serial_port);
|
if (UNIXSerialPort_IsOpened(unix_serial_port))
|
||||||
|
WonX_Warning("comm_open", "UNIX serial port has already opened.");
|
||||||
|
UNIXSerialPort_Open(unix_serial_port);
|
||||||
|
|
||||||
WonXDisplay_Sync(WonX_GetWonXDisplay());
|
WonXDisplay_Sync(WonX_GetWonXDisplay());
|
||||||
|
|
||||||
@@ -68,7 +78,9 @@ void comm_open(void)
|
|||||||
|
|
||||||
void comm_close(void)
|
void comm_close(void)
|
||||||
{
|
{
|
||||||
|
WonXSerialPort wonx_serial_port;
|
||||||
WWSerialPort ww_serial_port;
|
WWSerialPort ww_serial_port;
|
||||||
|
UNIXSerialPort unix_serial_port;
|
||||||
|
|
||||||
if (!WonX_IsCreated()) WonX_Create();
|
if (!WonX_IsCreated()) WonX_Create();
|
||||||
|
|
||||||
@@ -78,12 +90,17 @@ void comm_close(void)
|
|||||||
printf("call : comm_close() : \n");
|
printf("call : comm_close() : \n");
|
||||||
fflush(stdout);
|
fflush(stdout);
|
||||||
|
|
||||||
ww_serial_port = WonXSerialPort_GetWWSerialPort(WonX_GetWonXSerialPort());
|
wonx_serial_port = WonX_GetWonXSerialPort();
|
||||||
|
ww_serial_port = WonXSerialPort_GetWWSerialPort(wonx_serial_port);
|
||||||
|
unix_serial_port = WonXSerialPort_GetUNIXSerialPort(wonx_serial_port);
|
||||||
|
|
||||||
if (!WWSerialPort_IsON(ww_serial_port))
|
if (!WWSerialPort_IsClosed(ww_serial_port))
|
||||||
WonX_Error("comm_close", "Serial port is not opened.");
|
WonX_Warning("comm_close", "WW serial port is not opened.");
|
||||||
|
WWSerialPort_Close(ww_serial_port);
|
||||||
|
|
||||||
WWSerialPort_OFF(ww_serial_port);
|
if (!UNIXSerialPort_IsClosed(unix_serial_port))
|
||||||
|
WonX_Warning("comm_close", "UNIX serial port is not opened.");
|
||||||
|
UNIXSerialPort_Close(unix_serial_port);
|
||||||
|
|
||||||
WonXDisplay_Sync(WonX_GetWonXDisplay());
|
WonXDisplay_Sync(WonX_GetWonXDisplay());
|
||||||
|
|
||||||
@@ -98,75 +115,55 @@ void comm_close(void)
|
|||||||
|
|
||||||
static void comm_output(unsigned char c)
|
static void comm_output(unsigned char c)
|
||||||
{
|
{
|
||||||
if (c == '\n') printf("\\n");
|
WonXSerialPort wonx_serial_port;
|
||||||
else if (c == '\r') printf("\\r");
|
UNIXSerialPort unix_serial_port;
|
||||||
else if (c == '\t') printf("\\t");
|
|
||||||
else if (isprint(c)) fputc(c, stdout);
|
wonx_serial_port = WonX_GetWonXSerialPort();
|
||||||
else printf("^%02x", (int)c);
|
unix_serial_port = WonXSerialPort_GetUNIXSerialPort(wonx_serial_port);
|
||||||
fflush(stdout);
|
UNIXSerialPort_SendCharacter(unix_serial_port, c);
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int comm_input(int timeout)
|
static int comm_input(int timeout)
|
||||||
{
|
{
|
||||||
int tmp;
|
WonXSerialPort wonx_serial_port;
|
||||||
|
UNIXSerialPort unix_serial_port;
|
||||||
int c;
|
int c;
|
||||||
fd_set bitmap;
|
|
||||||
struct timeval t;
|
|
||||||
struct timeval * t_p;
|
|
||||||
|
|
||||||
/*
|
wonx_serial_port = WonX_GetWonXSerialPort();
|
||||||
* 0 <20>ΤȤ<CEA4><C8A4>ϡ<EFBFBD>¨<EFBFBD><C2A8>
|
unix_serial_port = WonXSerialPort_GetUNIXSerialPort(wonx_serial_port);
|
||||||
* -1 <20>ΤȤ<CEA4><C8A4>ϡ<EFBFBD>̵<EFBFBD><CCB5><EFBFBD><EFBFBD><EFBFBD>Ԥ<EFBFBD>
|
c = UNIXSerialPort_ReceiveCharacter(unix_serial_port,
|
||||||
*/
|
WONX_SERIAL_PORT_TIMETICKS * timeout);
|
||||||
if (timeout == -1) {
|
|
||||||
t_p = NULL;
|
|
||||||
} else {
|
|
||||||
tmp = WONX_SERIAL_PORT_TIMETICKS * timeout;
|
|
||||||
t.tv_sec = tmp / 1000;
|
|
||||||
t.tv_usec = (tmp % 1000) * 1000;
|
|
||||||
t_p = &t;
|
|
||||||
}
|
|
||||||
|
|
||||||
FD_ZERO(&bitmap);
|
|
||||||
FD_SET(fileno(stdin), &bitmap);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* FreeBSD3.4 <20>Ǽ¸<C7BC><C2B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD><C8A4><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
* <20><><EFBFBD>顼<EFBFBD>ॷ<EFBFBD><E0A5B7><EFBFBD>ʥ<EFBFBD><CAA5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѥ<EFBFBD><D1A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>硤select()<29>ǤΥ֥<CEA5><D6A5>å<EFBFBD><C3A5><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
* <20><><EFBFBD>顼<EFBFBD>ॷ<EFBFBD><E0A5B7><EFBFBD>ʥ뤬ȯ<EBA4AC><C8AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD>ľ<EFBFBD><C4BE><EFBFBD><EFBFBD>select()<29>⥿<EFBFBD><E2A5BF><EFBFBD>ॢ<EFBFBD><E0A5A2><EFBFBD><EFBFBD>
|
|
||||||
* <20><><EFBFBD>Ƥ<EFBFBD><C6A4>ޤ<EFBFBD><DEA4>Τǡ<CEA4><C7A1><EFBFBD><EFBFBD>ա<EFBFBD>
|
|
||||||
* (select() <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ॢ<EFBFBD><E0A5A2><EFBFBD>Ȥ<EFBFBD><C8A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˥<EFBFBD><CBA5>顼<EFBFBD>ॷ<EFBFBD><E0A5B7><EFBFBD>ʥ뤬ȯ<EBA4AC><C8AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϡ<EFBFBD>
|
|
||||||
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD><EFBFBD><EEA4B7>)
|
|
||||||
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̵꤬<EAA4AC><CCB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԥ<EFBFBD><D4A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֤<EFBFBD><D6A4><EFBFBD><EFBFBD>ԤäƤ<C3A4><C6A4><EFBFBD><EFBFBD>ʤ<EFBFBD><CAA4>Ȥ<EFBFBD><C8A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݤ<EFBFBD>
|
|
||||||
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǽ<EFBFBD><C7BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>롥
|
|
||||||
*/
|
|
||||||
select(fileno(stdin) + 1, &bitmap, NULL, NULL, t_p);
|
|
||||||
|
|
||||||
c = FD_ISSET(fileno(stdin), &bitmap) ? fgetc(stdin) : -1;
|
|
||||||
c = (c == '\n') ? '\r' : c;
|
|
||||||
|
|
||||||
return (c);
|
return (c);
|
||||||
}
|
}
|
||||||
|
|
||||||
int comm_send_char(unsigned char c)
|
int comm_send_char(unsigned char c)
|
||||||
{
|
{
|
||||||
int ret;
|
WonXSerialPort wonx_serial_port;
|
||||||
|
|
||||||
WWSerialPort ww_serial_port;
|
WWSerialPort ww_serial_port;
|
||||||
|
UNIXSerialPort unix_serial_port;
|
||||||
|
int ret;
|
||||||
|
|
||||||
if (!WonX_IsCreated()) WonX_Create();
|
if (!WonX_IsCreated()) WonX_Create();
|
||||||
|
|
||||||
/* <20><><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߤ<EFBFBD><DFA4><EFBFBD> */
|
/* <20><><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߤ<EFBFBD><DFA4><EFBFBD> */
|
||||||
UNIXTimer_Pause(WonXSystem_GetUNIXTimer(WonX_GetWonXSystem()));
|
UNIXTimer_Pause(WonXSystem_GetUNIXTimer(WonX_GetWonXSystem()));
|
||||||
|
|
||||||
printf("call : comm_send_char() : character = 0x%02x\n", (int)c);
|
printf("call : comm_send_char() : character = \'");
|
||||||
|
wonx_print_character(stdout, c);
|
||||||
|
printf("\'\n");
|
||||||
fflush(stdout);
|
fflush(stdout);
|
||||||
|
|
||||||
ww_serial_port = WonXSerialPort_GetWWSerialPort(WonX_GetWonXSerialPort());
|
wonx_serial_port = WonX_GetWonXSerialPort();
|
||||||
|
ww_serial_port = WonXSerialPort_GetWWSerialPort(wonx_serial_port);
|
||||||
|
unix_serial_port = WonXSerialPort_GetUNIXSerialPort(wonx_serial_port);
|
||||||
|
|
||||||
if (!WWSerialPort_IsON(ww_serial_port))
|
if (!WWSerialPort_IsOpened(ww_serial_port))
|
||||||
WonX_Error("comm_send_char", "Serial port is not opened.");
|
WonX_Error("comm_send_char", "WW serial port is not opened.");
|
||||||
|
if (!UNIXSerialPort_IsOpened(unix_serial_port))
|
||||||
|
WonX_Error("comm_send_char", "UNIX serial port is not opened.");
|
||||||
|
|
||||||
printf("output to serial port : ");
|
printf("output to serial port : ");
|
||||||
comm_output(c);
|
comm_output(c);
|
||||||
@@ -187,7 +184,9 @@ int comm_send_char(unsigned char c)
|
|||||||
|
|
||||||
int comm_receive_char(void)
|
int comm_receive_char(void)
|
||||||
{
|
{
|
||||||
|
WonXSerialPort wonx_serial_port;
|
||||||
WWSerialPort ww_serial_port;
|
WWSerialPort ww_serial_port;
|
||||||
|
UNIXSerialPort unix_serial_port;
|
||||||
int c;
|
int c;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
@@ -199,10 +198,14 @@ int comm_receive_char(void)
|
|||||||
printf("call : comm_receive_char() : \n");
|
printf("call : comm_receive_char() : \n");
|
||||||
fflush(stdout);
|
fflush(stdout);
|
||||||
|
|
||||||
ww_serial_port = WonXSerialPort_GetWWSerialPort(WonX_GetWonXSerialPort());
|
wonx_serial_port = WonX_GetWonXSerialPort();
|
||||||
|
ww_serial_port = WonXSerialPort_GetWWSerialPort(wonx_serial_port);
|
||||||
|
unix_serial_port = WonXSerialPort_GetUNIXSerialPort(wonx_serial_port);
|
||||||
|
|
||||||
if (!WWSerialPort_IsON(ww_serial_port))
|
if (!WWSerialPort_IsOpened(ww_serial_port))
|
||||||
WonX_Error("comm_receive_char", "Serial port is not opened.");
|
WonX_Error("comm_receive_char", "WW serial port is not opened.");
|
||||||
|
if (!UNIXSerialPort_IsOpened(unix_serial_port))
|
||||||
|
WonX_Error("comm_receive_char", "UNIX serial port is not opened.");
|
||||||
|
|
||||||
c = comm_input(WWSerialPort_GetReceiveTimeout(ww_serial_port));
|
c = comm_input(WWSerialPort_GetReceiveTimeout(ww_serial_port));
|
||||||
|
|
||||||
@@ -222,7 +225,9 @@ int comm_receive_char(void)
|
|||||||
|
|
||||||
int comm_receive_with_timeout(int timeout)
|
int comm_receive_with_timeout(int timeout)
|
||||||
{
|
{
|
||||||
|
WonXSerialPort wonx_serial_port;
|
||||||
WWSerialPort ww_serial_port;
|
WWSerialPort ww_serial_port;
|
||||||
|
UNIXSerialPort unix_serial_port;
|
||||||
int c;
|
int c;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
@@ -234,10 +239,14 @@ int comm_receive_with_timeout(int timeout)
|
|||||||
printf("call : comm_receive_with_timeout() : timeout = %d\n", timeout);
|
printf("call : comm_receive_with_timeout() : timeout = %d\n", timeout);
|
||||||
fflush(stdout);
|
fflush(stdout);
|
||||||
|
|
||||||
ww_serial_port = WonXSerialPort_GetWWSerialPort(WonX_GetWonXSerialPort());
|
wonx_serial_port = WonX_GetWonXSerialPort();
|
||||||
|
ww_serial_port = WonXSerialPort_GetWWSerialPort(wonx_serial_port);
|
||||||
|
unix_serial_port = WonXSerialPort_GetUNIXSerialPort(wonx_serial_port);
|
||||||
|
|
||||||
if (!WWSerialPort_IsON(ww_serial_port))
|
if (!WWSerialPort_IsOpened(ww_serial_port))
|
||||||
WonX_Error("comm_receive_with_timeout", "Serial port is not opened.");
|
WonX_Error("comm_receive_with_timeout", "WW serial port is not opened.");
|
||||||
|
if (!UNIXSerialPort_IsOpened(unix_serial_port))
|
||||||
|
WonX_Error("comm_receive_with_timeout", "UNIX serial port is not opened.");
|
||||||
|
|
||||||
c = comm_input(timeout);
|
c = comm_input(timeout);
|
||||||
|
|
||||||
@@ -257,8 +266,11 @@ int comm_receive_with_timeout(int timeout)
|
|||||||
|
|
||||||
int comm_send_string(char * string)
|
int comm_send_string(char * string)
|
||||||
{
|
{
|
||||||
|
WonXSerialPort wonx_serial_port;
|
||||||
WWSerialPort ww_serial_port;
|
WWSerialPort ww_serial_port;
|
||||||
|
UNIXSerialPort unix_serial_port;
|
||||||
int ret;
|
int ret;
|
||||||
|
char * p;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
if (!WonX_IsCreated()) WonX_Create();
|
if (!WonX_IsCreated()) WonX_Create();
|
||||||
@@ -266,13 +278,19 @@ int comm_send_string(char * string)
|
|||||||
/* <20><><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߤ<EFBFBD><DFA4><EFBFBD> */
|
/* <20><><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߤ<EFBFBD><DFA4><EFBFBD> */
|
||||||
UNIXTimer_Pause(WonXSystem_GetUNIXTimer(WonX_GetWonXSystem()));
|
UNIXTimer_Pause(WonXSystem_GetUNIXTimer(WonX_GetWonXSystem()));
|
||||||
|
|
||||||
printf("call : comm_send_string() : string = %s\n", string);
|
printf("call : comm_send_string() : string = \"");
|
||||||
|
for (p = string; *p != '\0'; p++) wonx_print_character(stdout, *p);
|
||||||
|
printf("\"\n");
|
||||||
fflush(stdout);
|
fflush(stdout);
|
||||||
|
|
||||||
ww_serial_port = WonXSerialPort_GetWWSerialPort(WonX_GetWonXSerialPort());
|
wonx_serial_port = WonX_GetWonXSerialPort();
|
||||||
|
ww_serial_port = WonXSerialPort_GetWWSerialPort(wonx_serial_port);
|
||||||
|
unix_serial_port = WonXSerialPort_GetUNIXSerialPort(wonx_serial_port);
|
||||||
|
|
||||||
if (!WWSerialPort_IsON(ww_serial_port))
|
if (!WWSerialPort_IsOpened(ww_serial_port))
|
||||||
WonX_Error("comm_send_string", "Serial port is not opened.");
|
WonX_Error("comm_send_string", "WW serial port is not opened.");
|
||||||
|
if (!UNIXSerialPort_IsOpened(unix_serial_port))
|
||||||
|
WonX_Error("comm_send_string", "UNIX serial port is not opened.");
|
||||||
|
|
||||||
printf("output to serial port : ");
|
printf("output to serial port : ");
|
||||||
for (i = 0; string[i]; i++) {
|
for (i = 0; string[i]; i++) {
|
||||||
@@ -295,7 +313,9 @@ int comm_send_string(char * string)
|
|||||||
|
|
||||||
int comm_send_block(void * buffer, int size)
|
int comm_send_block(void * buffer, int size)
|
||||||
{
|
{
|
||||||
|
WonXSerialPort wonx_serial_port;
|
||||||
WWSerialPort ww_serial_port;
|
WWSerialPort ww_serial_port;
|
||||||
|
UNIXSerialPort unix_serial_port;
|
||||||
int ret;
|
int ret;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
@@ -307,10 +327,14 @@ int comm_send_block(void * buffer, int size)
|
|||||||
printf("call : comm_send_block() : buffer = %p, size = %d\n", buffer, size);
|
printf("call : comm_send_block() : buffer = %p, size = %d\n", buffer, size);
|
||||||
fflush(stdout);
|
fflush(stdout);
|
||||||
|
|
||||||
ww_serial_port = WonXSerialPort_GetWWSerialPort(WonX_GetWonXSerialPort());
|
wonx_serial_port = WonX_GetWonXSerialPort();
|
||||||
|
ww_serial_port = WonXSerialPort_GetWWSerialPort(wonx_serial_port);
|
||||||
|
unix_serial_port = WonXSerialPort_GetUNIXSerialPort(wonx_serial_port);
|
||||||
|
|
||||||
if (!WWSerialPort_IsON(ww_serial_port))
|
if (!WWSerialPort_IsOpened(ww_serial_port))
|
||||||
WonX_Error("comm_send_block", "Serial port is not opened.");
|
WonX_Error("comm_send_block", "WW serial port is not opened.");
|
||||||
|
if (!UNIXSerialPort_IsOpened(unix_serial_port))
|
||||||
|
WonX_Error("comm_send_block", "UNIX serial port is not opened.");
|
||||||
|
|
||||||
printf("output to serial port : ");
|
printf("output to serial port : ");
|
||||||
for (i = 0; i < size; i++) {
|
for (i = 0; i < size; i++) {
|
||||||
@@ -333,7 +357,9 @@ int comm_send_block(void * buffer, int size)
|
|||||||
|
|
||||||
int comm_receive_block(void * buffer, int size)
|
int comm_receive_block(void * buffer, int size)
|
||||||
{
|
{
|
||||||
|
WonXSerialPort wonx_serial_port;
|
||||||
WWSerialPort ww_serial_port;
|
WWSerialPort ww_serial_port;
|
||||||
|
UNIXSerialPort unix_serial_port;
|
||||||
int ret;
|
int ret;
|
||||||
int c;
|
int c;
|
||||||
int i;
|
int i;
|
||||||
@@ -347,10 +373,14 @@ int comm_receive_block(void * buffer, int size)
|
|||||||
buffer, size);
|
buffer, size);
|
||||||
fflush(stdout);
|
fflush(stdout);
|
||||||
|
|
||||||
ww_serial_port = WonXSerialPort_GetWWSerialPort(WonX_GetWonXSerialPort());
|
wonx_serial_port = WonX_GetWonXSerialPort();
|
||||||
|
ww_serial_port = WonXSerialPort_GetWWSerialPort(wonx_serial_port);
|
||||||
|
unix_serial_port = WonXSerialPort_GetUNIXSerialPort(wonx_serial_port);
|
||||||
|
|
||||||
if (!WWSerialPort_IsON(ww_serial_port))
|
if (!WWSerialPort_IsOpened(ww_serial_port))
|
||||||
WonX_Error("comm_receive_block", "Serial port is not opened.");
|
WonX_Error("comm_receive_block", "WW serial port is not opened.");
|
||||||
|
if (!UNIXSerialPort_IsOpened(unix_serial_port))
|
||||||
|
WonX_Error("comm_receive_block", "UNIX serial port is not opened.");
|
||||||
|
|
||||||
ret = 0;
|
ret = 0;
|
||||||
for (i = 0; i < size; i++) {
|
for (i = 0; i < size; i++) {
|
||||||
|
|||||||
18
disp.c
18
disp.c
@@ -1082,6 +1082,7 @@ unsigned int palette_get_color(unsigned int palette_num)
|
|||||||
int mapped_colors[4];
|
int mapped_colors[4];
|
||||||
WWPalette palette;
|
WWPalette palette;
|
||||||
unsigned short int ret;
|
unsigned short int ret;
|
||||||
|
int i;
|
||||||
|
|
||||||
if (!WonX_IsCreated()) WonX_Create();
|
if (!WonX_IsCreated()) WonX_Create();
|
||||||
|
|
||||||
@@ -1094,17 +1095,22 @@ unsigned int palette_get_color(unsigned int palette_num)
|
|||||||
palette =
|
palette =
|
||||||
WWDisplay_GetPalette(WonXDisplay_GetWWDisplay(WonX_GetWonXDisplay()),
|
WWDisplay_GetPalette(WonXDisplay_GetWWDisplay(WonX_GetWonXDisplay()),
|
||||||
palette_num);
|
palette_num);
|
||||||
|
/* Ʃ<><C6A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD> -1 <20><><EFBFBD>֤<EFBFBD><D6A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Τ<EFBFBD><CEA4><EFBFBD><EFBFBD>դ<EFBFBD><D5A4>뤳<EFBFBD><EBA4B3> */
|
||||||
WWPalette_GetMappedColors(palette, mapped_colors);
|
WWPalette_GetMappedColors(palette, mapped_colors);
|
||||||
|
|
||||||
|
/* Ʃ<><C6A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD> -1 <20><>ɽ<EFBFBD><C9BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Τǡ<CEA4>0<EFBFBD>ˤ<EFBFBD><CBA4><EFBFBD> */
|
||||||
|
for (i = 0; i < 4; i++)
|
||||||
|
if (mapped_colors[i] == -1) mapped_colors[i] = 0;
|
||||||
|
|
||||||
ret = 0;
|
ret = 0;
|
||||||
ret |= mapped_colors[0] & 0x07;
|
ret |= mapped_colors[0] & 0x07;
|
||||||
ret |= (mapped_colors[1] & 0x07) << 4;
|
ret |= (mapped_colors[1] & 0x07) << 4;
|
||||||
ret |= (mapped_colors[2] & 0x07) << 8;
|
ret |= (mapped_colors[2] & 0x07) << 8;
|
||||||
ret |= (mapped_colors[3] & 0x07) << 12;
|
ret |= (mapped_colors[3] & 0x07) << 12;
|
||||||
|
|
||||||
WonXDisplay_Sync(WonX_GetWonXDisplay());
|
WonXDisplay_Sync(WonX_GetWonXDisplay());
|
||||||
|
|
||||||
printf("call : palette_get_color() : return value = %u\n", (int)ret);
|
printf("call : palette_get_color() : return value = 0x%04x\n", (int)ret);
|
||||||
fflush(stdout);
|
fflush(stdout);
|
||||||
|
|
||||||
/* <20><><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD><EFBFBD>Ȥ<EFBFBD><C8A4>᤹ */
|
/* <20><><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD><EFBFBD>Ȥ<EFBFBD><C8A4>᤹ */
|
||||||
@@ -1172,10 +1178,10 @@ unsigned long int lcd_get_color(void)
|
|||||||
ret |= ((unsigned long int)lcd_colors[1] & 0x0f) << 4;
|
ret |= ((unsigned long int)lcd_colors[1] & 0x0f) << 4;
|
||||||
ret |= ((unsigned long int)lcd_colors[2] & 0x0f) << 8;
|
ret |= ((unsigned long int)lcd_colors[2] & 0x0f) << 8;
|
||||||
ret |= ((unsigned long int)lcd_colors[3] & 0x0f) << 12;
|
ret |= ((unsigned long int)lcd_colors[3] & 0x0f) << 12;
|
||||||
ret |= (unsigned long int)lcd_colors[0] & 0x0f;
|
ret |= ((unsigned long int)lcd_colors[4] & 0x0f) << 16;
|
||||||
ret |= ((unsigned long int)lcd_colors[1] & 0x0f) << 4;
|
ret |= ((unsigned long int)lcd_colors[5] & 0x0f) << 20;
|
||||||
ret |= ((unsigned long int)lcd_colors[2] & 0x0f) << 8;
|
ret |= ((unsigned long int)lcd_colors[6] & 0x0f) << 24;
|
||||||
ret |= ((unsigned long int)lcd_colors[3] & 0x0f) << 12;
|
ret |= ((unsigned long int)lcd_colors[7] & 0x0f) << 28;
|
||||||
|
|
||||||
WonXDisplay_Sync(WonX_GetWonXDisplay());
|
WonXDisplay_Sync(WonX_GetWonXDisplay());
|
||||||
|
|
||||||
|
|||||||
30
etc.c
30
etc.c
@@ -1,26 +1,30 @@
|
|||||||
#include "etc.h"
|
#include "etc.h"
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <ctype.h>
|
||||||
#include <stdlib.h>
|
|
||||||
|
|
||||||
/*===========================================================================*/
|
|
||||||
/* <20><><EFBFBD>顼<EFBFBD><E9A1BC><EFBFBD><EFBFBD> */
|
|
||||||
/*===========================================================================*/
|
|
||||||
|
|
||||||
int WonX_Error(char * funcname, char * message)
|
|
||||||
{
|
|
||||||
fprintf(stderr, "%s(): %s\n", funcname, message);
|
|
||||||
exit (1);
|
|
||||||
}
|
|
||||||
|
|
||||||
/*===========================================================================*/
|
/*===========================================================================*/
|
||||||
/* "true", "false" <20><>ʸ<EFBFBD><CAB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֤<EFBFBD> */
|
/* "true", "false" <20><>ʸ<EFBFBD><CAB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֤<EFBFBD> */
|
||||||
/*===========================================================================*/
|
/*===========================================================================*/
|
||||||
|
|
||||||
char * true_false(int b)
|
char * wonx_true_false(int b)
|
||||||
{
|
{
|
||||||
char * s[] = {"false", "true"};
|
char * s[] = {"false", "true"};
|
||||||
b = b ? 1 : 0;
|
b = b ? 1 : 0;
|
||||||
return (s[b]);
|
return (s[b]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*===========================================================================*/
|
||||||
|
/* ʸ<><CAB8><EFBFBD>ν<EFBFBD><CEBD><EFBFBD> */
|
||||||
|
/*===========================================================================*/
|
||||||
|
|
||||||
|
int wonx_print_character(FILE * fp, unsigned char c)
|
||||||
|
{
|
||||||
|
if (c == '\n') fprintf(fp, "\\n");
|
||||||
|
else if (c == '\r') fprintf(fp, "\\r");
|
||||||
|
else if (c == '\t') fprintf(fp, "\\t");
|
||||||
|
else if (c == ' ' ) fprintf(fp, "\\s");
|
||||||
|
else if (isprint(c)) fputc(c, fp);
|
||||||
|
else fprintf(fp, "^%02x", (int)c);
|
||||||
|
fflush(fp);
|
||||||
|
return (0);
|
||||||
|
}
|
||||||
|
|||||||
16
etc.h
16
etc.h
@@ -1,17 +1,19 @@
|
|||||||
#ifndef _etc_h_INCLUDED_
|
#ifndef _etc_h_INCLUDED_
|
||||||
#define _etc_h_INCLUDED_
|
#define _etc_h_INCLUDED_
|
||||||
|
|
||||||
/*===========================================================================*/
|
#include <stdio.h>
|
||||||
/* <20><><EFBFBD>顼<EFBFBD><E9A1BC><EFBFBD><EFBFBD> */
|
#include <stdlib.h>
|
||||||
/*===========================================================================*/
|
|
||||||
|
|
||||||
int WonX_Error(char * funcname, char * message);
|
|
||||||
|
|
||||||
/*===========================================================================*/
|
/*===========================================================================*/
|
||||||
/* "true", "false" <20><>ʸ<EFBFBD><CAB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֤<EFBFBD> */
|
/* "true", "false" <20><>ʸ<EFBFBD><CAB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֤<EFBFBD> */
|
||||||
/*===========================================================================*/
|
/*===========================================================================*/
|
||||||
|
|
||||||
char * true_false(int b);
|
char * wonx_true_false(int b);
|
||||||
|
|
||||||
|
/*===========================================================================*/
|
||||||
|
/* ʸ<><CAB8><EFBFBD>ν<EFBFBD><CEBD><EFBFBD> */
|
||||||
|
/*===========================================================================*/
|
||||||
|
|
||||||
|
int wonx_print_character(FILE * fp, unsigned char c);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|||||||
36
makefile_for_wwterm
Normal file
36
makefile_for_wwterm
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
VERSION = WWTerm-b05
|
||||||
|
PKGNAME = wwterm-b05
|
||||||
|
|
||||||
|
#OBJS = terminal.obj termlib.obj lib.obj keyboard.obj keymap.obj com.obj screen.obj escape.obj esclib.obj
|
||||||
|
#OBJS_FULL = D:\\terminal.obj D:\\termlib.obj D:\\lib.obj D:\\keyboard.obj D:\\keymap.obj D:\\com.obj D:\\screen.obj D:\\escape.obj D:\\esclib.obj
|
||||||
|
OBJS = terminal.o termlib.o lib.o keyboard.o keymap.o com.o screen.o escape.o esclib.o
|
||||||
|
|
||||||
|
#.SUFFIXES: .c .obj
|
||||||
|
.SUFFIXES: .c .o
|
||||||
|
|
||||||
|
#terminal.fx : terminal.bin
|
||||||
|
# doscmd mkfent16 D:\\terminal.cf
|
||||||
|
|
||||||
|
#terminal.bin : $(OBJS)
|
||||||
|
# echo $(OBJS_FULL) > objs
|
||||||
|
# doscmd lcc86 -O -o D:\\terminal.bin @D:\\objs
|
||||||
|
|
||||||
|
terminal : $(OBJS)
|
||||||
|
$(CC) -O -o terminal $(OBJS) -L. -L/usr/X11R6/lib -lwonx -lX11 -lXt
|
||||||
|
|
||||||
|
#.c.obj : $*.c
|
||||||
|
# doscmd lcc86 -c D:\\$*.c -O -I.
|
||||||
|
|
||||||
|
.c.o : $*.c
|
||||||
|
$(CC) -c $*.c -O -I.
|
||||||
|
|
||||||
|
clean :
|
||||||
|
# rm -f terminal.fx terminal.bin *.obj $(PKGNAME).zip
|
||||||
|
rm -f terminal *.o $(PKGNAME).zip
|
||||||
|
|
||||||
|
package : terminal.bin terminal.fx
|
||||||
|
mkdir -p $(PKGNAME)
|
||||||
|
rm -fR $(PKGNAME)/*
|
||||||
|
cp COPYING COPYRIGHT OMAKE.jpn makefile \
|
||||||
|
*.h *.c *.bin *.cf *.fx $(PKGNAME)
|
||||||
|
zip -r $(PKGNAME) $(PKGNAME)
|
||||||
52
service.c
Normal file
52
service.c
Normal file
@@ -0,0 +1,52 @@
|
|||||||
|
/*****************************************************************************/
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
/*****************************************************************************/
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
|
#include "wonx_include/service.h"
|
||||||
|
|
||||||
|
#include "WonX.h"
|
||||||
|
|
||||||
|
/*****************************************************************************/
|
||||||
|
/* <20><><EFBFBD>ߡ<EFBFBD><DFA1>ؿ<EFBFBD><D8BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
/*****************************************************************************/
|
||||||
|
|
||||||
|
int _asm_inline(char * code) { return (0); }
|
||||||
|
int _asm_int(char * code, int ax) { return (0); }
|
||||||
|
int _asm_intb(char * code, int ax, unsigned char bl) { return (0); }
|
||||||
|
int _asm_intbb(char * code, int ax, unsigned char bl, unsigned char cl) { return (0); }
|
||||||
|
int _asm_intw(char * code, int ax, int bx) { return (0); }
|
||||||
|
int _asm_intww(char * code, int ax, int bx, int cx) { return (0); }
|
||||||
|
int _asm_intwww(char * code, int ax, int bx, int cx, int dx) { return (0); }
|
||||||
|
int _asm_intwwww(char * code, int ax, int bx, int cx, int dx, int si) { return (0); }
|
||||||
|
int _asm_intwp(char * code, int ax, int bx, int (*dummy)(void), void * dx) { return (0); }
|
||||||
|
int _asm_intwwp(char * code, int ax, int bx, int cx, void * dx) { return (0); }
|
||||||
|
int _asm_intwwwp(char * code, int ax, int bx, int cx, int dx, void * si) { return (0); }
|
||||||
|
int _asm_intwfp(char * code, int ax, int bx, void * dsdx) { return (0); }
|
||||||
|
int _asm_intfp(char * code, int ax, void * bxdx) { return (0); }
|
||||||
|
|
||||||
|
long int _asm_intl(char * code, int ax) { return (0); }
|
||||||
|
long int _asm_intlw(char * code, int ax, int bx) { return (0); }
|
||||||
|
long int _asm_intlww(char * code, int ax, int bx, int cx) { return (0); }
|
||||||
|
long int _asm_intlwww(char * code, int ax, int bx, int cx, int dx) { return (0); }
|
||||||
|
long int _asm_intlwwww(char * code, int ax, int bx, int cx, int dx, int si) { return (0); }
|
||||||
|
long int _asm_intlwp(char * code, int ax, int bx, int (*dummy)(void), void * dx) { return (0); }
|
||||||
|
long int _asm_intlwwp(char * code, int ax, int bx, int cx, void * dx) { return (0); }
|
||||||
|
long int _asm_intlwwwp(char * code, int ax, int bx, int cx, int dx, void * si) { return (0); }
|
||||||
|
long int _asm_intlwfp(char * code, int ax, int bx, void * dsdx) { return (0); }
|
||||||
|
|
||||||
|
void bios_exit()
|
||||||
|
{
|
||||||
|
printf("call : bios_exit() : \n");
|
||||||
|
fflush(stdout);
|
||||||
|
exit (0);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*****************************************************************************/
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD> */
|
||||||
|
/*****************************************************************************/
|
||||||
|
|
||||||
|
/*****************************************************************************/
|
||||||
|
/* End of File. */
|
||||||
|
/*****************************************************************************/
|
||||||
@@ -4,10 +4,11 @@ use FileHandle;
|
|||||||
|
|
||||||
while (<STDIN>) {
|
while (<STDIN>) {
|
||||||
if (/output to serial port : /) {
|
if (/output to serial port : /) {
|
||||||
($string) = /output to serial port : (.*)/;
|
($string) = /output to serial port : \"(.*)\"\n/;
|
||||||
$string =~ s/\\n/\n/;
|
$string =~ s/\\n/\n/;
|
||||||
$string =~ s/\\r/\n/;
|
$string =~ s/\\r/\n/;
|
||||||
$string =~ s/\\t/\t/;
|
$string =~ s/\\t/\t/;
|
||||||
|
$string =~ s/\\s/ /;
|
||||||
print "$string";
|
print "$string";
|
||||||
STDOUT->autoflush();
|
STDOUT->autoflush();
|
||||||
}
|
}
|
||||||
|
|||||||
7
system.c
7
system.c
@@ -177,13 +177,6 @@ unsigned int sys_get_resume(void)
|
|||||||
return (0);
|
return (0);
|
||||||
}
|
}
|
||||||
|
|
||||||
void bios_exit()
|
|
||||||
{
|
|
||||||
printf("call : bios_exit() : \n");
|
|
||||||
fflush(stdout);
|
|
||||||
exit (0);
|
|
||||||
}
|
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/* <20><><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD> */
|
/* <20><><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD> */
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|||||||
244
text.c
244
text.c
@@ -10,6 +10,9 @@
|
|||||||
|
|
||||||
#include "WonX.h"
|
#include "WonX.h"
|
||||||
#include "WWText.h"
|
#include "WWText.h"
|
||||||
|
#include "WWDisplay.h"
|
||||||
|
#include "WWCursor.h"
|
||||||
|
#include "etc.h"
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/* <20>ߴ<EFBFBD><DFB4>ؿ<EFBFBD><D8BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
/* <20>ߴ<EFBFBD><DFB4>ؿ<EFBFBD><D8BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
@@ -33,11 +36,11 @@
|
|||||||
|
|
||||||
static void _text_window_init(int x, int y, int w, int h, unsigned int base)
|
static void _text_window_init(int x, int y, int w, int h, unsigned int base)
|
||||||
{
|
{
|
||||||
WWText ww_text;
|
|
||||||
WWDisplay ww_display;
|
WWDisplay ww_display;
|
||||||
|
WWText ww_text;
|
||||||
|
|
||||||
ww_text = WonXText_GetWWText(WonX_GetWonXText());
|
|
||||||
ww_display = WonXDisplay_GetWWDisplay(WonX_GetWonXDisplay());
|
ww_display = WonXDisplay_GetWWDisplay(WonX_GetWonXDisplay());
|
||||||
|
ww_text = WWDisplay_GetText(ww_display);
|
||||||
|
|
||||||
WWText_SetTextWindow(ww_text, x, y, w, h, base, ww_display);
|
WWText_SetTextWindow(ww_text, x, y, w, h, base, ww_display);
|
||||||
|
|
||||||
@@ -112,11 +115,11 @@ int text_get_mode(void)
|
|||||||
|
|
||||||
static void _text_put_char(int x, int y, unsigned int c)
|
static void _text_put_char(int x, int y, unsigned int c)
|
||||||
{
|
{
|
||||||
WWText ww_text;
|
|
||||||
WWDisplay ww_display;
|
WWDisplay ww_display;
|
||||||
|
WWText ww_text;
|
||||||
|
|
||||||
ww_text = WonXText_GetWWText(WonX_GetWonXText());
|
|
||||||
ww_display = WonXDisplay_GetWWDisplay(WonX_GetWonXDisplay());
|
ww_display = WonXDisplay_GetWWDisplay(WonX_GetWonXDisplay());
|
||||||
|
ww_text = WWDisplay_GetText(ww_display);
|
||||||
|
|
||||||
WWText_PutCharacter(ww_text, x, y, c, ww_display);
|
WWText_PutCharacter(ww_text, x, y, c, ww_display);
|
||||||
|
|
||||||
@@ -130,7 +133,9 @@ void text_put_char(int x, int y, unsigned int c)
|
|||||||
/* <20><><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߤ<EFBFBD><DFA4><EFBFBD> */
|
/* <20><><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߤ<EFBFBD><DFA4><EFBFBD> */
|
||||||
UNIXTimer_Pause(WonXSystem_GetUNIXTimer(WonX_GetWonXSystem()));
|
UNIXTimer_Pause(WonXSystem_GetUNIXTimer(WonX_GetWonXSystem()));
|
||||||
|
|
||||||
printf("call : text_put_char() : x = %d, y = %d, character = %u\n", x, y, (int)c);
|
printf("call : text_put_char() : x = %d, y = %d, character = \'", x, y);
|
||||||
|
wonx_print_character(stdout, c);
|
||||||
|
printf("\'\n");
|
||||||
fflush(stdout);
|
fflush(stdout);
|
||||||
|
|
||||||
_text_put_char(x, y, c);
|
_text_put_char(x, y, c);
|
||||||
@@ -148,11 +153,11 @@ void text_put_char(int x, int y, unsigned int c)
|
|||||||
static int _text_put_string(int x, int y, char * string)
|
static int _text_put_string(int x, int y, char * string)
|
||||||
{
|
{
|
||||||
int i, len, ret;
|
int i, len, ret;
|
||||||
WWText ww_text;
|
|
||||||
WWDisplay ww_display;
|
WWDisplay ww_display;
|
||||||
|
WWText ww_text;
|
||||||
|
|
||||||
ww_text = WonXText_GetWWText(WonX_GetWonXText());
|
|
||||||
ww_display = WonXDisplay_GetWWDisplay(WonX_GetWonXDisplay());
|
ww_display = WonXDisplay_GetWWDisplay(WonX_GetWonXDisplay());
|
||||||
|
ww_text = WWDisplay_GetText(ww_display);
|
||||||
|
|
||||||
len = strlen(string);
|
len = strlen(string);
|
||||||
ret = 0;
|
ret = 0;
|
||||||
@@ -167,13 +172,16 @@ static int _text_put_string(int x, int y, char * string)
|
|||||||
int text_put_string(int x, int y, char * string)
|
int text_put_string(int x, int y, char * string)
|
||||||
{
|
{
|
||||||
int ret;
|
int ret;
|
||||||
|
char * p;
|
||||||
|
|
||||||
if (!WonX_IsCreated()) WonX_Create();
|
if (!WonX_IsCreated()) WonX_Create();
|
||||||
|
|
||||||
/* <20><><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߤ<EFBFBD><DFA4><EFBFBD> */
|
/* <20><><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߤ<EFBFBD><DFA4><EFBFBD> */
|
||||||
UNIXTimer_Pause(WonXSystem_GetUNIXTimer(WonX_GetWonXSystem()));
|
UNIXTimer_Pause(WonXSystem_GetUNIXTimer(WonX_GetWonXSystem()));
|
||||||
|
|
||||||
printf("call : text_put_string() : x = %d, y = %d, string = %s\n", x, y, string);
|
printf("call : text_put_string() : x = %d, y = %d, string = \"", x, y);
|
||||||
|
for (p = string; *p != '\0'; p++) wonx_print_character(stdout, *p);
|
||||||
|
printf("\"\n");
|
||||||
fflush(stdout);
|
fflush(stdout);
|
||||||
|
|
||||||
ret = _text_put_string(x, y, string);
|
ret = _text_put_string(x, y, string);
|
||||||
@@ -192,19 +200,21 @@ int text_put_string(int x, int y, char * string)
|
|||||||
int text_put_substring(int x, int y, char * s, int length)
|
int text_put_substring(int x, int y, char * s, int length)
|
||||||
{
|
{
|
||||||
int i, ret;
|
int i, ret;
|
||||||
WWText ww_text;
|
|
||||||
WWDisplay ww_display;
|
WWDisplay ww_display;
|
||||||
|
WWText ww_text;
|
||||||
|
|
||||||
if (!WonX_IsCreated()) WonX_Create();
|
if (!WonX_IsCreated()) WonX_Create();
|
||||||
|
|
||||||
/* <20><><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߤ<EFBFBD><DFA4><EFBFBD> */
|
/* <20><><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߤ<EFBFBD><DFA4><EFBFBD> */
|
||||||
UNIXTimer_Pause(WonXSystem_GetUNIXTimer(WonX_GetWonXSystem()));
|
UNIXTimer_Pause(WonXSystem_GetUNIXTimer(WonX_GetWonXSystem()));
|
||||||
|
|
||||||
printf("call : text_put_substring() : x = %d, y = %d, string = %s, length = %d\n", x, y, s, length);
|
printf("call : text_put_substring() : x = %d, y = %d, length = %d, string = \"", x, y, length);
|
||||||
|
for (i = 0; i < length; i++) wonx_print_character(stdout, s[i]);
|
||||||
|
printf("\"\n");
|
||||||
fflush(stdout);
|
fflush(stdout);
|
||||||
|
|
||||||
ww_text = WonXText_GetWWText(WonX_GetWonXText());
|
|
||||||
ww_display = WonXDisplay_GetWWDisplay(WonX_GetWonXDisplay());
|
ww_display = WonXDisplay_GetWWDisplay(WonX_GetWonXDisplay());
|
||||||
|
ww_text = WWDisplay_GetText(ww_display);
|
||||||
|
|
||||||
ret = 0;
|
ret = 0;
|
||||||
for (i = 0; i < length; i++) {
|
for (i = 0; i < length; i++) {
|
||||||
@@ -292,8 +302,8 @@ void text_fill_char(int x, int y, int length, int c)
|
|||||||
|
|
||||||
void text_set_palette(int palette_num)
|
void text_set_palette(int palette_num)
|
||||||
{
|
{
|
||||||
WWText ww_text;
|
|
||||||
WWDisplay ww_display;
|
WWDisplay ww_display;
|
||||||
|
WWText ww_text;
|
||||||
|
|
||||||
if (!WonX_IsCreated()) WonX_Create();
|
if (!WonX_IsCreated()) WonX_Create();
|
||||||
|
|
||||||
@@ -303,8 +313,8 @@ void text_set_palette(int palette_num)
|
|||||||
printf("call : text_set_palette() : palette = %d\n", palette_num);
|
printf("call : text_set_palette() : palette = %d\n", palette_num);
|
||||||
fflush(stdout);
|
fflush(stdout);
|
||||||
|
|
||||||
ww_text = WonXText_GetWWText(WonX_GetWonXText());
|
|
||||||
ww_display = WonXDisplay_GetWWDisplay(WonX_GetWonXDisplay());
|
ww_display = WonXDisplay_GetWWDisplay(WonX_GetWonXDisplay());
|
||||||
|
ww_text = WWDisplay_GetText(ww_display);
|
||||||
|
|
||||||
WWText_SetPalette(ww_text, WWDisplay_GetPalette(ww_display, palette_num));
|
WWText_SetPalette(ww_text, WWDisplay_GetPalette(ww_display, palette_num));
|
||||||
|
|
||||||
@@ -321,6 +331,7 @@ void text_set_palette(int palette_num)
|
|||||||
|
|
||||||
int text_get_palette(void)
|
int text_get_palette(void)
|
||||||
{
|
{
|
||||||
|
WWDisplay ww_display;
|
||||||
WWText ww_text;
|
WWText ww_text;
|
||||||
int num;
|
int num;
|
||||||
|
|
||||||
@@ -332,7 +343,8 @@ int text_get_palette(void)
|
|||||||
printf("call : text_get_palette() : \n");
|
printf("call : text_get_palette() : \n");
|
||||||
fflush(stdout);
|
fflush(stdout);
|
||||||
|
|
||||||
ww_text = WonXText_GetWWText(WonX_GetWonXText());
|
ww_display = WonXDisplay_GetWWDisplay(WonX_GetWonXDisplay());
|
||||||
|
ww_text = WWDisplay_GetText(ww_display);
|
||||||
|
|
||||||
num = WWPalette_GetNumber(WWText_GetPalette(ww_text));
|
num = WWPalette_GetNumber(WWText_GetPalette(ww_text));
|
||||||
|
|
||||||
@@ -361,8 +373,8 @@ void text_get_fontdata(int c, void * buffer)
|
|||||||
|
|
||||||
void text_set_screen(int screen)
|
void text_set_screen(int screen)
|
||||||
{
|
{
|
||||||
WWText ww_text;
|
|
||||||
WWDisplay ww_display;
|
WWDisplay ww_display;
|
||||||
|
WWText ww_text;
|
||||||
|
|
||||||
if (!WonX_IsCreated()) WonX_Create();
|
if (!WonX_IsCreated()) WonX_Create();
|
||||||
|
|
||||||
@@ -372,8 +384,8 @@ void text_set_screen(int screen)
|
|||||||
printf("call : text_set_screen() : screen = %d\n", screen);
|
printf("call : text_set_screen() : screen = %d\n", screen);
|
||||||
fflush(stdout);
|
fflush(stdout);
|
||||||
|
|
||||||
ww_text = WonXText_GetWWText(WonX_GetWonXText());
|
|
||||||
ww_display = WonXDisplay_GetWWDisplay(WonX_GetWonXDisplay());
|
ww_display = WonXDisplay_GetWWDisplay(WonX_GetWonXDisplay());
|
||||||
|
ww_text = WWDisplay_GetText(ww_display);
|
||||||
|
|
||||||
WWText_SetScreen(ww_text, WWDisplay_GetScreen(ww_display, screen));
|
WWText_SetScreen(ww_text, WWDisplay_GetScreen(ww_display, screen));
|
||||||
|
|
||||||
@@ -390,6 +402,7 @@ void text_set_screen(int screen)
|
|||||||
|
|
||||||
int text_get_screen(void)
|
int text_get_screen(void)
|
||||||
{
|
{
|
||||||
|
WWDisplay ww_display;
|
||||||
WWText ww_text;
|
WWText ww_text;
|
||||||
int n;
|
int n;
|
||||||
|
|
||||||
@@ -401,7 +414,8 @@ int text_get_screen(void)
|
|||||||
printf("call : text_get_screen() : \n");
|
printf("call : text_get_screen() : \n");
|
||||||
fflush(stdout);
|
fflush(stdout);
|
||||||
|
|
||||||
ww_text = WonXText_GetWWText(WonX_GetWonXText());
|
ww_display = WonXDisplay_GetWWDisplay(WonX_GetWonXDisplay());
|
||||||
|
ww_text = WWDisplay_GetText(ww_display);
|
||||||
|
|
||||||
n = WWScreen_GetNumber(WWText_GetScreen(ww_text));
|
n = WWScreen_GetNumber(WWText_GetScreen(ww_text));
|
||||||
|
|
||||||
@@ -418,29 +432,219 @@ int text_get_screen(void)
|
|||||||
|
|
||||||
void cursor_display(int flag)
|
void cursor_display(int flag)
|
||||||
{
|
{
|
||||||
|
WWDisplay ww_display;
|
||||||
|
WWCursor ww_cursor;
|
||||||
|
|
||||||
|
if (!WonX_IsCreated()) WonX_Create();
|
||||||
|
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߤ<EFBFBD><DFA4><EFBFBD> */
|
||||||
|
UNIXTimer_Pause(WonXSystem_GetUNIXTimer(WonX_GetWonXSystem()));
|
||||||
|
|
||||||
|
printf("call : cursor_display() : flag = %d\n", flag);
|
||||||
|
fflush(stdout);
|
||||||
|
|
||||||
|
ww_display = WonXDisplay_GetWWDisplay(WonX_GetWonXDisplay());
|
||||||
|
ww_cursor = WWDisplay_GetCursor(ww_display);
|
||||||
|
|
||||||
|
switch (flag) {
|
||||||
|
case 0: WWCursor_OFF(ww_cursor); break;
|
||||||
|
case 1: WWCursor_ON( ww_cursor); break;
|
||||||
|
default:
|
||||||
|
WonX_Warning("cursor_display", "Cursor flag is 0 or 1.");
|
||||||
|
WWCursor_ON(ww_cursor); /* <20><><EFBFBD><EFBFBD> ON <20>ˤ<EFBFBD><CBA4>Ȥ<EFBFBD> */
|
||||||
|
}
|
||||||
|
|
||||||
|
WonXDisplay_Flush(WonX_GetWonXDisplay());
|
||||||
|
|
||||||
|
printf("call : cursor_display() : return value = none\n");
|
||||||
|
fflush(stdout);
|
||||||
|
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD><EFBFBD>Ȥ<EFBFBD><C8A4>᤹ */
|
||||||
|
UNIXTimer_Unpause(WonXSystem_GetUNIXTimer(WonX_GetWonXSystem()));
|
||||||
|
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
int cursor_status(void)
|
int cursor_status(void)
|
||||||
{
|
{
|
||||||
return (0);
|
WWDisplay ww_display;
|
||||||
|
WWCursor ww_cursor;
|
||||||
|
int ret;
|
||||||
|
|
||||||
|
if (!WonX_IsCreated()) WonX_Create();
|
||||||
|
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߤ<EFBFBD><DFA4><EFBFBD> */
|
||||||
|
UNIXTimer_Pause(WonXSystem_GetUNIXTimer(WonX_GetWonXSystem()));
|
||||||
|
|
||||||
|
printf("call : cursor_status() : \n");
|
||||||
|
fflush(stdout);
|
||||||
|
|
||||||
|
ww_display = WonXDisplay_GetWWDisplay(WonX_GetWonXDisplay());
|
||||||
|
ww_cursor = WWDisplay_GetCursor(ww_display);
|
||||||
|
|
||||||
|
ret = WWCursor_IsON(ww_cursor) ? 1 : 0;
|
||||||
|
|
||||||
|
WonXDisplay_Sync(WonX_GetWonXDisplay());
|
||||||
|
|
||||||
|
printf("call : cursor_status() : return value = %d\n", ret);
|
||||||
|
fflush(stdout);
|
||||||
|
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD><EFBFBD>Ȥ<EFBFBD><C8A4>᤹ */
|
||||||
|
UNIXTimer_Unpause(WonXSystem_GetUNIXTimer(WonX_GetWonXSystem()));
|
||||||
|
|
||||||
|
return (ret);
|
||||||
}
|
}
|
||||||
|
|
||||||
void cursor_set_location(int x, int y, int w, int h)
|
void cursor_set_location(int x, int y, int w, int h)
|
||||||
{
|
{
|
||||||
|
WWDisplay ww_display;
|
||||||
|
WWCursor ww_cursor;
|
||||||
|
|
||||||
|
if (!WonX_IsCreated()) WonX_Create();
|
||||||
|
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߤ<EFBFBD><DFA4><EFBFBD> */
|
||||||
|
UNIXTimer_Pause(WonXSystem_GetUNIXTimer(WonX_GetWonXSystem()));
|
||||||
|
|
||||||
|
printf("call : cursor_set_location() : x = %d, y = %d, w = %d, h = %d",
|
||||||
|
x, y, w, h);
|
||||||
|
fflush(stdout);
|
||||||
|
|
||||||
|
ww_display = WonXDisplay_GetWWDisplay(WonX_GetWonXDisplay());
|
||||||
|
ww_cursor = WWDisplay_GetCursor(ww_display);
|
||||||
|
|
||||||
|
if (x < 0)
|
||||||
|
WonX_Warning("cursor_set_location", "Value of x is too small.");
|
||||||
|
if (x > TEXT_SCREEN_WIDTH - 1)
|
||||||
|
WonX_Warning("cursor_set_location", "Value of x is too large.");
|
||||||
|
if (y < 0)
|
||||||
|
WonX_Warning("cursor_set_location", "Value of y is too small.");
|
||||||
|
if (y > TEXT_SCREEN_HEIGHT - 1)
|
||||||
|
WonX_Warning("cursor_set_location", "Value of y is too large.");
|
||||||
|
if (w <= 0)
|
||||||
|
WonX_Warning("cursor_set_location", "Value of w is too small.");
|
||||||
|
if (h <= 0)
|
||||||
|
WonX_Warning("cursor_set_location", "Value of h is too small.");
|
||||||
|
|
||||||
|
WWCursor_SetX(ww_cursor, x);
|
||||||
|
WWCursor_SetY(ww_cursor, y);
|
||||||
|
WWCursor_SetWidth( ww_cursor, w);
|
||||||
|
WWCursor_SetHeight(ww_cursor, h);
|
||||||
|
|
||||||
|
WonXDisplay_Flush(WonX_GetWonXDisplay());
|
||||||
|
|
||||||
|
printf("call : cursor_set_location() : return value = none\n");
|
||||||
|
fflush(stdout);
|
||||||
|
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD><EFBFBD>Ȥ<EFBFBD><C8A4>᤹ */
|
||||||
|
UNIXTimer_Unpause(WonXSystem_GetUNIXTimer(WonX_GetWonXSystem()));
|
||||||
|
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
unsigned long int cursor_get_location(void)
|
unsigned long int cursor_get_location(void)
|
||||||
{
|
{
|
||||||
return (0);
|
WWDisplay ww_display;
|
||||||
|
WWCursor ww_cursor;
|
||||||
|
unsigned long int ret;
|
||||||
|
|
||||||
|
if (!WonX_IsCreated()) WonX_Create();
|
||||||
|
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߤ<EFBFBD><DFA4><EFBFBD> */
|
||||||
|
UNIXTimer_Pause(WonXSystem_GetUNIXTimer(WonX_GetWonXSystem()));
|
||||||
|
|
||||||
|
printf("call : cursor_get_location() : \n");
|
||||||
|
fflush(stdout);
|
||||||
|
|
||||||
|
ww_display = WonXDisplay_GetWWDisplay(WonX_GetWonXDisplay());
|
||||||
|
ww_cursor = WWDisplay_GetCursor(ww_display);
|
||||||
|
|
||||||
|
ret = 0;
|
||||||
|
ret |= (((unsigned long int)WWCursor_GetX( ww_cursor) & 0xff) << 0);
|
||||||
|
ret |= (((unsigned long int)WWCursor_GetY( ww_cursor) & 0xff) << 8);
|
||||||
|
ret |= (((unsigned long int)WWCursor_GetWidth( ww_cursor) & 0xff) << 16);
|
||||||
|
ret |= (((unsigned long int)WWCursor_GetHeight(ww_cursor) & 0xff) << 24);
|
||||||
|
|
||||||
|
WonXDisplay_Sync(WonX_GetWonXDisplay());
|
||||||
|
|
||||||
|
printf("call : cursor_get_location() : return value = 0x%08x\n", (int)ret);
|
||||||
|
fflush(stdout);
|
||||||
|
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD><EFBFBD>Ȥ<EFBFBD><C8A4>᤹ */
|
||||||
|
UNIXTimer_Unpause(WonXSystem_GetUNIXTimer(WonX_GetWonXSystem()));
|
||||||
|
|
||||||
|
return (ret);
|
||||||
}
|
}
|
||||||
|
|
||||||
void cursor_set_type(int palette_num, int interval)
|
void cursor_set_type(int palette_num, int interval)
|
||||||
{
|
{
|
||||||
|
WWDisplay ww_display;
|
||||||
|
WWCursor ww_cursor;
|
||||||
|
|
||||||
|
if (!WonX_IsCreated()) WonX_Create();
|
||||||
|
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߤ<EFBFBD><DFA4><EFBFBD> */
|
||||||
|
UNIXTimer_Pause(WonXSystem_GetUNIXTimer(WonX_GetWonXSystem()));
|
||||||
|
|
||||||
|
printf("call : cursor_set_type() : palette = %d, interval = %d",
|
||||||
|
palette_num, interval);
|
||||||
|
fflush(stdout);
|
||||||
|
|
||||||
|
ww_display = WonXDisplay_GetWWDisplay(WonX_GetWonXDisplay());
|
||||||
|
ww_cursor = WWDisplay_GetCursor(ww_display);
|
||||||
|
|
||||||
|
if (palette_num < 0)
|
||||||
|
WonX_Error("cursor_set_type", "Palette number is too small.");
|
||||||
|
if (palette_num > 15)
|
||||||
|
WonX_Error("cursor_set_type", "Palette number is too large.");
|
||||||
|
if (interval < 0)
|
||||||
|
WonX_Warning("cursor_set_type", "Value of interval is too small.");
|
||||||
|
if (interval > 255)
|
||||||
|
WonX_Warning("cursor_set_type", "Value of interval is too small.");
|
||||||
|
|
||||||
|
WWCursor_SetPalette(ww_cursor,
|
||||||
|
WWDisplay_GetPalette(ww_display, palette_num));
|
||||||
|
WWCursor_SetInterval(ww_cursor, interval);
|
||||||
|
|
||||||
|
WonXDisplay_Flush(WonX_GetWonXDisplay());
|
||||||
|
|
||||||
|
printf("call : cursor_set_type() : return value = none\n");
|
||||||
|
fflush(stdout);
|
||||||
|
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD><EFBFBD>Ȥ<EFBFBD><C8A4>᤹ */
|
||||||
|
UNIXTimer_Unpause(WonXSystem_GetUNIXTimer(WonX_GetWonXSystem()));
|
||||||
|
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
unsigned long int cursor_get_type(void)
|
unsigned long int cursor_get_type(void)
|
||||||
{
|
{
|
||||||
return (0);
|
WWDisplay ww_display;
|
||||||
|
WWCursor ww_cursor;
|
||||||
|
unsigned long int ret;
|
||||||
|
|
||||||
|
if (!WonX_IsCreated()) WonX_Create();
|
||||||
|
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߤ<EFBFBD><DFA4><EFBFBD> */
|
||||||
|
UNIXTimer_Pause(WonXSystem_GetUNIXTimer(WonX_GetWonXSystem()));
|
||||||
|
|
||||||
|
printf("call : cursor_get_type() : \n");
|
||||||
|
fflush(stdout);
|
||||||
|
|
||||||
|
ww_display = WonXDisplay_GetWWDisplay(WonX_GetWonXDisplay());
|
||||||
|
ww_cursor = WWDisplay_GetCursor(ww_display);
|
||||||
|
|
||||||
|
ret = WWPalette_GetNumber(WWCursor_GetPalette(ww_cursor));
|
||||||
|
ret |= (((unsigned long int)WWCursor_GetInterval(ww_cursor) & 0xff) << 8);
|
||||||
|
|
||||||
|
WonXDisplay_Sync(WonX_GetWonXDisplay());
|
||||||
|
|
||||||
|
printf("call : cursor_get_type() : return value = 0x%08x\n", (int)ret);
|
||||||
|
fflush(stdout);
|
||||||
|
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD><EFBFBD>Ȥ<EFBFBD><C8A4>᤹ */
|
||||||
|
UNIXTimer_Unpause(WonXSystem_GetUNIXTimer(WonX_GetWonXSystem()));
|
||||||
|
|
||||||
|
return (ret);
|
||||||
}
|
}
|
||||||
|
|
||||||
int text_printf(int x, int y, const char *format, ...)
|
int text_printf(int x, int y, const char *format, ...)
|
||||||
|
|||||||
@@ -6,8 +6,76 @@
|
|||||||
#define MK_WORD(high,low) (((unsigned short int)(high) << 8) | ((unsigned short int)(low)))
|
#define MK_WORD(high,low) (((unsigned short int)(high) << 8) | ((unsigned short int)(low)))
|
||||||
#define MK_DWORD(high,low) (((unsigned long int)(high) << 16) | ((unsigned long int)(low)))
|
#define MK_DWORD(high,low) (((unsigned long int)(high) << 16) | ((unsigned long int)(low)))
|
||||||
#define MK_FP(seg,off) ((void *)MK_DWORD(seg,off))
|
#define MK_FP(seg,off) ((void *)MK_DWORD(seg,off))
|
||||||
|
|
||||||
|
#if 0
|
||||||
#define FP_OFF(p) ((unsigned short int)((unsigned long int)(p) & 0xffff))
|
#define FP_OFF(p) ((unsigned short int)((unsigned long int)(p) & 0xffff))
|
||||||
#define FP_SEG(p) ((unsigned short int)((unsigned long int)(p) >> 16))
|
#define FP_SEG(p) ((unsigned short int)((unsigned long int)(p) >> 16))
|
||||||
|
#else
|
||||||
|
#define FP_OFF(p) (p)
|
||||||
|
#define FP_SEG(p) (0)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
int _asm_inline(char * code);
|
||||||
|
int _asm_int(char * code, int ax);
|
||||||
|
int _asm_intb(char * code, int ax, unsigned char bl);
|
||||||
|
int _asm_intbb(char * code, int ax, unsigned char bl, unsigned char cl);
|
||||||
|
int _asm_intw(char * code, int ax, int bx);
|
||||||
|
int _asm_intww(char * code, int ax, int bx, int cx);
|
||||||
|
int _asm_intwww(char * code, int ax, int bx, int cx, int dx);
|
||||||
|
int _asm_intwwww(char * code, int ax, int bx, int cx, int dx, int si);
|
||||||
|
int _asm_intwp(char * code, int ax, int bx, int (*dummy)(void), void * dx);
|
||||||
|
int _asm_intwwp(char * code, int ax, int bx, int cx, void * dx);
|
||||||
|
int _asm_intwwwp(char * code, int ax, int bx, int cx, int dx, void * si);
|
||||||
|
int _asm_intwfp(char * code, int ax, int bx, void * dsdx);
|
||||||
|
int _asm_intfp(char * code, int ax, void * bxdx);
|
||||||
|
|
||||||
|
long int _asm_intl(char * code, int ax);
|
||||||
|
long int _asm_intlw(char * code, int ax, int bx);
|
||||||
|
long int _asm_intlww(char * code, int ax, int bx, int cx);
|
||||||
|
long int _asm_intlwww(char * code, int ax, int bx, int cx, int dx);
|
||||||
|
long int _asm_intlwwww(char * code, int ax, int bx, int cx, int dx, int si);
|
||||||
|
long int _asm_intlwp(char * code, int ax, int bx, int (*dummy)(void), void * dx);
|
||||||
|
long int _asm_intlwwp(char * code, int ax, int bx, int cx, void * dx);
|
||||||
|
long int _asm_intlwwwp(char * code, int ax, int bx, int cx, int dx, void * si);
|
||||||
|
long int _asm_intlwfp(char * code, int ax, int bx, void * dsdx);
|
||||||
|
|
||||||
|
#define service(vec, ah) _asm_int(NULL,0)
|
||||||
|
#define serviceb(vec, ah, bl) _asm_intb(NULL,0,0)
|
||||||
|
#define servicebb(vec, ah, bl, cl) _asm_intbb(NULL,0,0,0)
|
||||||
|
#define servicew(vec, ah, bx) _asm_intw(NULL,0,0)
|
||||||
|
#define serviceww(vec, ah, bx, cx) _asm_intww(NULL,0,0,0)
|
||||||
|
#define servicewww(vec, ah, bx, cx, dx) _asm_intwww(NULL,0,0,0,0)
|
||||||
|
#define servicew_w(vec, ah, bx, dx) _asm_intwww(NULL,0,0,0,0)
|
||||||
|
#define servicewwww(vec, ah, bx, cx, dx, si) _asm_intwwww(NULL,0,0,0,0,0)
|
||||||
|
#define servicewp(vec, ah, bx, dx) _asm_intwp(NULL,0,0,0,0)
|
||||||
|
#define servicewwp(vec, ah, bx, cx, dx) _asm_intwwp(NULL,0,0,0,0)
|
||||||
|
#define servicewwwp(vec, ah, bx, cx, dx, si) _asm_intwwwp(NULL,0,0,0,0,0)
|
||||||
|
#define servicewfp(vec, ah, bx, dsdx) _asm_intwfp(NULL,0,0,0)
|
||||||
|
#define servicewwfp(vec, ah, bx, cx, dsdx) _asm_intwfp(NULL,0,0,0)
|
||||||
|
#define servicefp(vec, ah, bxdx) _asm_intwfp(NULL,0,0,0)
|
||||||
|
|
||||||
|
#define servicex(vec, ah, al) _asm_int(NULL,0)
|
||||||
|
#define servicexw(vec, ah, al, bx) _asm_intw(NULL,0,0)
|
||||||
|
#define servicexww(vec, ah, al, bx, cx) _asm_intww(NULL,0,0,0)
|
||||||
|
#define servicexwww(vec, ah, al, bx, cx, dx) _asm_intwww(NULL,0,0,0,0)
|
||||||
|
#define servicexwwww(vec, ah, al, bx, cx, dx, si) _asm_intwwww(NULL,0,0,0,0,0)
|
||||||
|
#define servicexwp(vec, ah, al, bx, dx) _asm_intwp(NULL,0,0,0,0)
|
||||||
|
#define servicexwwp(vec, ah, al, bx, cx, dx) _asm_intwwp(NULL,0,0,0,0)
|
||||||
|
#define servicexwfp(vec, ah, al, bx, dsdx) _asm_intwfp(NULL,0,0,0)
|
||||||
|
|
||||||
|
#define servicel(vec, ah) _asm_intl(NULL,0)
|
||||||
|
#define servicelw(vec, ah, bx) _asm_intlw(NULL,0,0)
|
||||||
|
#define servicelww(vec, ah, bx, cx) _asm_intlww(NULL,0,0,0)
|
||||||
|
#define servicelwww(vec, ah, bx, cx, dx) _asm_intlwww(NULL,0,0,0,0)
|
||||||
|
#define servicelwp(vec, ah, bx, dx) _asm_intlwp(NULL,0,0,0,0)
|
||||||
|
#define servicelwfp(vec, ah, bx, dsdx) _asm_intlwfp(NULL,0,0,0)
|
||||||
|
|
||||||
|
#define servicelx(vec, ah, al) _asm_intl(NULL ,0)
|
||||||
|
#define servicelxw(vec, ah, al, bx) _asm_intlw(NULL,0,0)
|
||||||
|
#define servicelxww(vec, ah, al, bx, cx) _asm_intlww(NULL,0,0,0)
|
||||||
|
#define servicelxwww(vec, ah, al, bx, cx, dx) _asm_intlwww(NULL,0,0,0,0)
|
||||||
|
#define servicelxwp(vec, ah, al, bx, dx) _asm_intlwp(NULL,0,0,0,0)
|
||||||
|
#define servicelxwfp(vec, ah, al, bx, dsdx) _asm_intlwfp(NULL,0,0,0)
|
||||||
|
|
||||||
void bios_exit();
|
void bios_exit();
|
||||||
|
|
||||||
|
|||||||
@@ -53,6 +53,4 @@ int sys_swap(int core);
|
|||||||
void sys_set_resume(unsigned int flags);
|
void sys_set_resume(unsigned int flags);
|
||||||
unsigned int sys_get_resume(void);
|
unsigned int sys_get_resume(void);
|
||||||
|
|
||||||
void bios_exit();
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
BIN
wwterm-b05.zip
Normal file
BIN
wwterm-b05.zip
Normal file
Binary file not shown.
Reference in New Issue
Block a user