Added dummy function of _asm_*().
Set FP_OFF (), FP_SEG() for the callback function at interrupt setting in WonderWitch
Adjust appropriately according to the setting method. (Fit to wwterm)
UNIXTimer.c: UNIXTimer_Unpause()
((unix_timer -> pause == 1) && (unix_timer -> interrupt_in_pause == 0))
Fixed a bug that was not unix_timer-> pause--; when it was.
(It was not unposted when interrupt was not applied during pause)
Serial receive interrupt, keyboard interrupt added. (corresponding to wwterm, operation confirmed)
Added UNIXSerialPort class.
With this, at WonderWitch,
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);
Interrupt setting like that shown in Fig.
For warning, add WonX_Warning ().
Move WonX_Error () to WonX.c.
comm_send_string (), text_put_string (), text_put_substring () When executed
Fix output message.
Implement cursor display function. (Add WWCursor class) (Do not blink. Display only)
When displaying the cursor, text information inside WWDisplay_DrawLCDPanel ()
Since we need to be able to read it, we will discontinue the WonXText class and add the WWText class
I moved to a member of the WWDisplay class.
In palette_get_color (), transparent color is displayed when executing WWPalette_GetMappedColors ()
Since it was not considered to be returned as -1, palette_get_color ()
Fixed a bug where return value was wrong value.
Character color palette, LCD color palette initial value, with WonderWitch
It was made to coincide with the initial value.
As a sample, add wwterm - b 05. (Add wwterm target to Makefile)
Version 1.1 - from wonx-1.1.tar.gz
This commit is contained in:
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><>)
|
||||
|
||||
wonx-1.0 <20><><EFBFBD><EFBFBD>
|
||||
|
||||
20
MANUAL
20
MANUAL
@@ -29,23 +29,23 @@ WonderWitch
|
||||
<20><><EFBFBD><EFBFBD> WWCharacter[512]
|
||||
<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><> <20><><EFBFBD><EFBFBD>XDisplay <20><><EFBFBD><EFBFBD> WWLCDPanel
|
||||
<20><>
|
||||
<20><> <20><><EFBFBD><EFBFBD>XDisplay <20><><EFBFBD><EFBFBD> WWLCDPanel
|
||||
<20><> <20><><EFBFBD><EFBFBD> WWText
|
||||
<20><> <20><><EFBFBD><EFBFBD> WWCursor
|
||||
<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
|
||||
WonX <20><><EFBFBD><EFBFBD>
|
||||
<20><>
|
||||
<20><><EFBFBD><EFBFBD> WonXText <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> WWText
|
||||
<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>
|
||||
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>
|
||||
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>
|
||||
*.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>
|
||||
|
||||
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,
|
||||
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_Create() <20><><EFBFBD>ƤФ졤<D0A4>Ҥ<EFBFBD> WonXDisplay, WonXSystem,
|
||||
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(),
|
||||
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>
|
||||
|
||||
22
Makefile
22
Makefile
@@ -2,12 +2,13 @@ XINCLUDEDIR = /usr/X11R6/include
|
||||
INCLUDEDIR = .
|
||||
XLIBDIR = /usr/X11R6/lib
|
||||
|
||||
VERSION = WonX-1.0
|
||||
PKGNAME = wonx-1.0
|
||||
VERSION = WonX-1.1
|
||||
PKGNAME = wonx-1.1
|
||||
|
||||
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
|
||||
|
||||
@@ -44,13 +45,24 @@ smac : libwonx.a
|
||||
cd $(SMAC) ; ./sys2wonx.pl *.[ch]
|
||||
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 :
|
||||
mkdir -p $(PKGNAME)
|
||||
rm -fR $(PKGNAME)/*
|
||||
mkdir -p $(PKGNAME)/wonx_include
|
||||
cp COPYING COPYRIGHT HISTORY README MANUAL OMAKE.jpn Makefile \
|
||||
makefile_for_smac *.pl \
|
||||
*.h *.c smac*.zip $(PKGNAME)
|
||||
makefile_for_smac makefile_for_wwterm *.pl \
|
||||
*.h *.c $(SMAC).zip $(WWTERM).zip $(PKGNAME)
|
||||
cp wonx_include/*.h $(PKGNAME)/wonx_include
|
||||
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>
|
||||
|
||||
~>% tar xvzf wonx.tgz
|
||||
~>% tar xvzf wonx-x.x.tar.gz
|
||||
(<28><>ά)
|
||||
~>% 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>ᡤ
|
||||
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>
|
||||
|
||||
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>롥
|
||||
|
||||
~>% tar xvzf wonx.tar.gz
|
||||
~>% tar xvzf wonx-x.x.tar.gz
|
||||
~>% cd wonx
|
||||
~/wonx>%
|
||||
|
||||
@@ -286,7 +365,7 @@ smac
|
||||
/* <20><><EFBFBD>̤Υ<CCA4><CEA5>ꥢ */
|
||||
for (y = 0; y < 32; y++)
|
||||
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>ɽ<EFBFBD><EFBFBD>
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¾<EFBFBD><EFBFBD><EFBFBD>äѤ<EFBFBD>
|
||||
<EFBFBD><EFBFBD><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>
|
||||
|
||||
@@ -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><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><EFBFBD><EFBFBD><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><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> 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>
|
||||
(<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>
|
||||
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>
|
||||
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>λ<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>
|
||||
|
||||
[<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>]
|
||||
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϥϡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѵؿ<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>
|
||||
-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>
|
||||
(<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>
|
||||
<20><><EFBFBD>ᡤ<EFBFBD><E1A1A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>狼<EFBFBD><EFA4AB><EFBFBD>ˤ<EFBFBD><CBA4><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><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>
|
||||
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_
|
||||
<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>
|
||||
|
||||
|
||||
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_
|
||||
#define _WonXTextP_h_INCLUDED_
|
||||
#ifndef _UNIXSerialPortP_h_INCLUDED_
|
||||
#define _UNIXSerialPortP_h_INCLUDED_
|
||||
|
||||
/*****************************************************************************/
|
||||
/* ここから */
|
||||
/*****************************************************************************/
|
||||
|
||||
#include "WonXText.h"
|
||||
#include "UNIXSerialPort.h"
|
||||
|
||||
/*****************************************************************************/
|
||||
/* クラスの定義 */
|
||||
/*****************************************************************************/
|
||||
|
||||
typedef struct _WonXText {
|
||||
WWText ww_text;
|
||||
} _WonXText;
|
||||
typedef struct _UNIXSerialPort {
|
||||
int opened; /* open/close */
|
||||
} _UNIXSerialPort;
|
||||
|
||||
/*****************************************************************************/
|
||||
/* ここまで */
|
||||
@@ -6,7 +6,7 @@
|
||||
#include <signal.h>
|
||||
|
||||
#include "UNIXTimerP.h"
|
||||
#include "etc.h"
|
||||
#include "WonX.h"
|
||||
|
||||
/*****************************************************************************/
|
||||
/* <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)
|
||||
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->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> */
|
||||
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 {
|
||||
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> */
|
||||
/*****************************************************************************/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
/*****************************************************************************/
|
||||
/* <20><><EFBFBD>饹<EFBFBD><E9A5B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||
/*****************************************************************************/
|
||||
@@ -15,6 +12,13 @@
|
||||
typedef struct _UNIXTimer * UNIXTimer;
|
||||
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> */
|
||||
/*****************************************************************************/
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
/*****************************************************************************/
|
||||
|
||||
#include "WWCharacterP.h"
|
||||
#include "etc.h"
|
||||
#include "WonX.h"
|
||||
|
||||
/*****************************************************************************/
|
||||
/* <20><><EFBFBD><EFBFBD><EFBFBD>дؿ<D0B4><D8BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||
|
||||
@@ -5,15 +5,19 @@
|
||||
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||
/*****************************************************************************/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
/*****************************************************************************/
|
||||
/* <20><><EFBFBD>饹<EFBFBD><E9A5B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||
/*****************************************************************************/
|
||||
|
||||
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> */
|
||||
/*****************************************************************************/
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
/*****************************************************************************/
|
||||
|
||||
#include "WWColorMapP.h"
|
||||
#include "etc.h"
|
||||
#include "WonX.h"
|
||||
|
||||
/*****************************************************************************/
|
||||
/* <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> */
|
||||
/*****************************************************************************/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
/*****************************************************************************/
|
||||
/* <20><><EFBFBD>饹<EFBFBD><E9A5B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||
/*****************************************************************************/
|
||||
|
||||
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> */
|
||||
/*****************************************************************************/
|
||||
|
||||
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_
|
||||
#define _WonXText_h_INCLUDED_
|
||||
#ifndef _WWCursorP_h_INCLUDED_
|
||||
#define _WWCursorP_h_INCLUDED_
|
||||
|
||||
/*****************************************************************************/
|
||||
/* ここから */
|
||||
/*****************************************************************************/
|
||||
|
||||
#include "WWText.h"
|
||||
#include "WWScreen.h"
|
||||
#include "WWPalette.h"
|
||||
#include "WWCursor.h"
|
||||
|
||||
/*****************************************************************************/
|
||||
/* クラスの定義 */
|
||||
/*****************************************************************************/
|
||||
|
||||
typedef struct _WonXText * WonXText;
|
||||
|
||||
WWText WonXText_GetWWText(WonXText wonx_text);
|
||||
WWText WonXText_SetWWText(WonXText wonx_text, WWText ww_text);
|
||||
WonXText WonXText_Create(WWScreen screen, int x, int y, int width, int height,
|
||||
WWPalette palette);
|
||||
WonXText WonXText_Destroy(WonXText wonx_text);
|
||||
typedef struct _WWCursor {
|
||||
int on; /* 表示/非表示のフラグ */
|
||||
int x, y; /* カーソル座標 */
|
||||
int width, height; /* カーソルのサイズ */
|
||||
int interval; /* 点滅周期 */
|
||||
WWPalette palette; /* カーソル表示用パレット */
|
||||
} _WWCursor;
|
||||
|
||||
/*****************************************************************************/
|
||||
/* ここまで */
|
||||
77
WWDisplay.c
77
WWDisplay.c
@@ -2,8 +2,11 @@
|
||||
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||
/*****************************************************************************/
|
||||
|
||||
#include "wonx_include/disp.h"
|
||||
#include "wonx_include/text.h"
|
||||
|
||||
#include "WWDisplayP.h"
|
||||
#include "etc.h"
|
||||
#include "WonX.h"
|
||||
|
||||
/*****************************************************************************/
|
||||
/* <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]); }
|
||||
WWScreen WWDisplay_GetScreen(WWDisplay d, int n) { return (d->screen[n]); }
|
||||
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_GetSpriteWindowEnable(WWDisplay d)
|
||||
@@ -58,6 +63,10 @@ WWScreen WWDisplay_SetScreen(WWDisplay d, int n, WWScreen s)
|
||||
{ return (d->screen[n] = s); }
|
||||
WWLCDPanel WWDisplay_SetLCDPanel(WWDisplay d, WWLCDPanel 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)
|
||||
{ return (d->sprite_enable = f); }
|
||||
@@ -94,16 +103,29 @@ WWDisplay WWDisplay_Create(int lcd_panel_width, int lcd_panel_height,
|
||||
{
|
||||
WWDisplay display;
|
||||
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));
|
||||
if (display == NULL)
|
||||
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++) {
|
||||
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++) {
|
||||
@@ -129,6 +151,23 @@ WWDisplay WWDisplay_Create(int lcd_panel_width, int lcd_panel_height,
|
||||
WWDisplay_SetLCDPanel(display, WWLCDPanel_Create(lcd_panel_width,
|
||||
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_SetSpriteWindowEnable(display, 0);
|
||||
|
||||
@@ -188,6 +227,14 @@ WWDisplay WWDisplay_Destroy(WWDisplay display)
|
||||
WWDisplay_SetLCDPanel(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);
|
||||
|
||||
return (NULL);
|
||||
@@ -197,7 +244,8 @@ WWDisplay WWDisplay_Destroy(WWDisplay display)
|
||||
/* 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;
|
||||
int lcd_panel_width;
|
||||
@@ -267,7 +315,8 @@ static int WWDisplay_DrawScreen(WWDisplay display, WWScreen 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> */
|
||||
if (pixel == -1) continue;
|
||||
@@ -300,7 +349,7 @@ static int WWDisplay_DrawSprite(WWDisplay display, WWSprite sprite)
|
||||
|
||||
for (y = 0; y < 8; y++) {
|
||||
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> */
|
||||
if (pixel == -1) continue;
|
||||
@@ -337,7 +386,9 @@ int WWDisplay_DrawLCDPanel(WWDisplay display)
|
||||
int lcd_panel_height;
|
||||
WWColorMap color_map;
|
||||
int border;
|
||||
WWScreen screen;
|
||||
WWSprite sprite;
|
||||
WWCursor cursor;
|
||||
|
||||
lcd_panel = WWDisplay_GetLCDPanel(display);
|
||||
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> */
|
||||
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>Ťʤä<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> */
|
||||
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>Ťʤä<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> */
|
||||
/*****************************************************************************/
|
||||
|
||||
#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> */
|
||||
/*****************************************************************************/
|
||||
@@ -19,7 +12,20 @@
|
||||
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);
|
||||
WWScreen WWDisplay_GetScreen(WWDisplay d, int n);
|
||||
WWLCDPanel WWDisplay_GetLCDPanel(WWDisplay d);
|
||||
WWText WWDisplay_GetText(WWDisplay d);
|
||||
WWCursor WWDisplay_GetCursor(WWDisplay d);
|
||||
|
||||
int WWDisplay_GetSpriteEnable(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);
|
||||
WWScreen WWDisplay_SetScreen(WWDisplay d, int n, WWScreen s);
|
||||
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_SetSpriteWindowEnable(WWDisplay d, int f);
|
||||
|
||||
@@ -19,6 +19,8 @@ typedef struct _WWDisplay {
|
||||
WWSprite sprite[128];
|
||||
WWScreen screen[2];
|
||||
WWLCDPanel lcd_panel;
|
||||
WWText text;
|
||||
WWCursor cursor;
|
||||
|
||||
/* <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>ե饰 */
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
/*****************************************************************************/
|
||||
|
||||
#include "WWInterruptP.h"
|
||||
#include "etc.h"
|
||||
#include "WonX.h"
|
||||
|
||||
/*****************************************************************************/
|
||||
/* <20><><EFBFBD><EFBFBD><EFBFBD>дؿ<D0B4><D8BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||
|
||||
@@ -5,11 +5,6 @@
|
||||
/* <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> */
|
||||
/*****************************************************************************/
|
||||
@@ -17,6 +12,15 @@
|
||||
typedef struct _WWInterrupt * WWInterrupt;
|
||||
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> */
|
||||
/*****************************************************************************/
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
/*****************************************************************************/
|
||||
|
||||
#include "WWLCDPanelP.h"
|
||||
#include "etc.h"
|
||||
#include "WonX.h"
|
||||
|
||||
/*****************************************************************************/
|
||||
/* <20><><EFBFBD><EFBFBD><EFBFBD>дؿ<D0B4><D8BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||
|
||||
@@ -5,14 +5,18 @@
|
||||
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||
/*****************************************************************************/
|
||||
|
||||
#include <stdlib.h>
|
||||
|
||||
/*****************************************************************************/
|
||||
/* <20><><EFBFBD>饹<EFBFBD><E9A5B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||
/*****************************************************************************/
|
||||
|
||||
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> */
|
||||
/*****************************************************************************/
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
/*****************************************************************************/
|
||||
|
||||
#include "WWPaletteP.h"
|
||||
#include "WonX.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] :\ttransparent = %s\n",
|
||||
n, true_false(WWPalette_GetTransparent(p)));
|
||||
n, wonx_true_false(WWPalette_GetTransparent(p)));
|
||||
|
||||
for (i = 0; i < 4; i++) {
|
||||
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> */
|
||||
/*****************************************************************************/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
/*****************************************************************************/
|
||||
/* <20><><EFBFBD>饹<EFBFBD><E9A5B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||
/*****************************************************************************/
|
||||
|
||||
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> */
|
||||
/*****************************************************************************/
|
||||
|
||||
17
WWScreen.c
17
WWScreen.c
@@ -3,7 +3,7 @@
|
||||
/*****************************************************************************/
|
||||
|
||||
#include "WWScreenP.h"
|
||||
#include "etc.h"
|
||||
#include "WonX.h"
|
||||
|
||||
/*****************************************************************************/
|
||||
/* <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); }
|
||||
|
||||
/* <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 pixel;
|
||||
@@ -180,10 +180,21 @@ int WWScreen_GetPixel(WWScreen screen, int x, int y)
|
||||
if (WWScreen_GetVertical( screen, cx, cy)) py = 7 - py;
|
||||
|
||||
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);
|
||||
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 = WWPalette_GetMappedColor(palette, pixel);
|
||||
pixel = WWPalette_GetMappedColor(palette, pixel); /*Ʃ<><C6A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-1<><31><EFBFBD>֤äƤ<C3A4><C6A4><EFBFBD>*/
|
||||
|
||||
return (pixel);
|
||||
}
|
||||
|
||||
17
WWScreen.h
17
WWScreen.h
@@ -5,17 +5,22 @@
|
||||
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||
/*****************************************************************************/
|
||||
|
||||
#include <stdlib.h>
|
||||
|
||||
#include "WWPalette.h"
|
||||
#include "WWCharacter.h"
|
||||
|
||||
/*****************************************************************************/
|
||||
/* <20><><EFBFBD>饹<EFBFBD><E9A5B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||
/*****************************************************************************/
|
||||
|
||||
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> */
|
||||
/*****************************************************************************/
|
||||
@@ -66,7 +71,7 @@ int WWScreen_SetDrawY( WWScreen s, int n);
|
||||
int WWScreen_SetDrawWidth( 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,
|
||||
int width, int height,
|
||||
|
||||
@@ -3,16 +3,16 @@
|
||||
/*****************************************************************************/
|
||||
|
||||
#include "WWSerialPortP.h"
|
||||
#include "etc.h"
|
||||
#include "WonX.h"
|
||||
|
||||
/*****************************************************************************/
|
||||
/* <20><><EFBFBD><EFBFBD><EFBFBD>дؿ<D0B4><D8BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||
/*****************************************************************************/
|
||||
|
||||
int WWSerialPort_ON( WWSerialPort s) { return (s->port_on = 1); }
|
||||
int WWSerialPort_OFF( WWSerialPort s) { return (s->port_on = 0); }
|
||||
int WWSerialPort_IsON( WWSerialPort s) { return (s->port_on != 0); }
|
||||
int WWSerialPort_IsOFF(WWSerialPort s) { return (s->port_on == 0); }
|
||||
int WWSerialPort_Open( WWSerialPort s) { return (s->opened = 1); }
|
||||
int WWSerialPort_Close( WWSerialPort s) { return (s->opened = 0); }
|
||||
int WWSerialPort_IsOpened(WWSerialPort s) { return (s->opened != 0); }
|
||||
int WWSerialPort_IsClosed(WWSerialPort s) { return (s->opened == 0); }
|
||||
|
||||
int WWSerialPort_GetBaudrate(WWSerialPort s) { return (s->baudrate); }
|
||||
int WWSerialPort_SetBaudrate(WWSerialPort s, int baudrate)
|
||||
@@ -53,7 +53,7 @@ WWSerialPort WWSerialPort_Create()
|
||||
if (ww_serial_port == NULL)
|
||||
WonX_Error("WWSerialPort_Create", "Cannot allocate memory.");
|
||||
|
||||
WWSerialPort_OFF(ww_serial_port);
|
||||
WWSerialPort_Close(ww_serial_port);
|
||||
WWSerialPort_SetBaudrate38400(ww_serial_port);
|
||||
WWSerialPort_SetSendTimeout(ww_serial_port, 100);
|
||||
WWSerialPort_SetReceiveTimeout(ww_serial_port, 100);
|
||||
|
||||
@@ -5,28 +5,36 @@
|
||||
/* <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> */
|
||||
/*****************************************************************************/
|
||||
|
||||
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> */
|
||||
/*****************************************************************************/
|
||||
|
||||
int WWSerialPort_ON( WWSerialPort s);
|
||||
int WWSerialPort_OFF( WWSerialPort s);
|
||||
int WWSerialPort_IsON( WWSerialPort s);
|
||||
int WWSerialPort_IsOFF(WWSerialPort s);
|
||||
int WWSerialPort_Open( WWSerialPort s);
|
||||
int WWSerialPort_Close( WWSerialPort s);
|
||||
int WWSerialPort_IsOpened(WWSerialPort s);
|
||||
int WWSerialPort_IsClosed(WWSerialPort s);
|
||||
|
||||
int WWSerialPort_GetBaudrate(WWSerialPort s);
|
||||
int WWSerialPort_SetBaudrate(WWSerialPort s, int baudrate);
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
|
||||
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> */
|
||||
|
||||
/*
|
||||
|
||||
12
WWSprite.c
12
WWSprite.c
@@ -3,6 +3,7 @@
|
||||
/*****************************************************************************/
|
||||
|
||||
#include "WWSpriteP.h"
|
||||
#include "WonX.h"
|
||||
#include "etc.h"
|
||||
|
||||
/*****************************************************************************/
|
||||
@@ -37,6 +38,7 @@ int WWSprite_SetPosition(WWSprite sprite, int x, int y)
|
||||
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)
|
||||
{
|
||||
WWPalette p;
|
||||
@@ -50,7 +52,7 @@ int WWSprite_GetPixel(WWSprite sprite, int x, int y)
|
||||
if (WWSprite_GetVertical( sprite)) y = 7 - 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);
|
||||
}
|
||||
@@ -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] :\thorizontal = %s\n",
|
||||
n, true_false(WWSprite_GetHorizontal(s)));
|
||||
n, wonx_true_false(WWSprite_GetHorizontal(s)));
|
||||
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",
|
||||
n, true_false(WWSprite_GetPriority( s)));
|
||||
n, wonx_true_false(WWSprite_GetPriority( s)));
|
||||
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",
|
||||
n, WWPalette_GetNumber(WWSprite_GetPalette(s)));
|
||||
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> */
|
||||
/*****************************************************************************/
|
||||
|
||||
#include <stdlib.h>
|
||||
|
||||
#include "WWPalette.h"
|
||||
#include "WWCharacter.h"
|
||||
|
||||
/*****************************************************************************/
|
||||
/* <20><><EFBFBD>饹<EFBFBD><E9A5B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||
/*****************************************************************************/
|
||||
|
||||
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> */
|
||||
/*****************************************************************************/
|
||||
|
||||
6
WWText.c
6
WWText.c
@@ -3,7 +3,7 @@
|
||||
/*****************************************************************************/
|
||||
|
||||
#include "WWTextP.h"
|
||||
#include "etc.h"
|
||||
#include "WonX.h"
|
||||
|
||||
/* <20>ե<EFBFBD><D5A5><EFBFBD><EFBFBD>ȤΥӥåȥޥåץǡ<D7A5><C7A1><EFBFBD> */
|
||||
#include "WWTextFonts.c"
|
||||
@@ -74,7 +74,7 @@ int WWText_PutCharacter(WWText ww_text, int x, int y, int character,
|
||||
WWCharacter ww_character;
|
||||
|
||||
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);
|
||||
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) ||
|
||||
(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);
|
||||
return (-1);
|
||||
}
|
||||
|
||||
12
WWText.h
12
WWText.h
@@ -5,16 +5,20 @@
|
||||
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||
/*****************************************************************************/
|
||||
|
||||
#include "WWDisplay.h"
|
||||
#include "WWScreen.h"
|
||||
#include "WWPalette.h"
|
||||
|
||||
/*****************************************************************************/
|
||||
/* <20><><EFBFBD>饹<EFBFBD><E9A5B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||
/*****************************************************************************/
|
||||
|
||||
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> */
|
||||
/*===========================================================================*/
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
/*****************************************************************************/
|
||||
|
||||
#include "WWTimerP.h"
|
||||
#include "etc.h"
|
||||
#include "WonX.h"
|
||||
|
||||
/*****************************************************************************/
|
||||
/* <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> */
|
||||
/*****************************************************************************/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
#include "wonx_include/timer.h"
|
||||
|
||||
/*****************************************************************************/
|
||||
/* <20><><EFBFBD>饹<EFBFBD><E9A5B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||
/*****************************************************************************/
|
||||
|
||||
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> */
|
||||
/*****************************************************************************/
|
||||
|
||||
41
WonX.c
41
WonX.c
@@ -2,14 +2,9 @@
|
||||
#include "etc.h"
|
||||
|
||||
#include "wonx_include/disp.h"
|
||||
#include "wonx_include/text.h"
|
||||
#include "wonx_include/system.h"
|
||||
#include "wonx_include/comm.h"
|
||||
|
||||
/*****************************************************************************/
|
||||
/* <20>ǥ<EFBFBD><C7A5><EFBFBD><EFBFBD>ץ쥤<D7A5>γ<EFBFBD><CEB3><EFBFBD> */
|
||||
/*****************************************************************************/
|
||||
|
||||
static WonX wonx = NULL;
|
||||
|
||||
int WonX_IsCreated(void)
|
||||
@@ -19,9 +14,6 @@ int WonX_IsCreated(void)
|
||||
|
||||
void WonX_Create(void)
|
||||
{
|
||||
WWScreen screen;
|
||||
WWPalette palette;
|
||||
|
||||
wonx = (WonX)malloc(sizeof(_WonX));
|
||||
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,
|
||||
LCD_PIXEL_WIDTH, LCD_PIXEL_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();
|
||||
|
||||
@@ -51,11 +34,6 @@ WonXDisplay WonX_GetWonXDisplay(void)
|
||||
return (wonx->wonx_display);
|
||||
}
|
||||
|
||||
WonXText WonX_GetWonXText(void)
|
||||
{
|
||||
return (wonx->wonx_text);
|
||||
}
|
||||
|
||||
WonXSystem WonX_GetWonXSystem(void)
|
||||
{
|
||||
return (wonx->wonx_system);
|
||||
@@ -66,3 +44,22 @@ WonXSerialPort WonX_GetWonXSerialPort(void)
|
||||
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_
|
||||
|
||||
#include "WonXDisplay.h"
|
||||
#include "WonXText.h"
|
||||
#include "WonXSystem.h"
|
||||
#include "WonXSerialPort.h"
|
||||
|
||||
/*****************************************************************************/
|
||||
/* <20>ǥ<EFBFBD><C7A5><EFBFBD><EFBFBD>ץ쥤<D7A5>γ<EFBFBD><CEB3><EFBFBD> */
|
||||
/*****************************************************************************/
|
||||
|
||||
int WonX_IsCreated(void);
|
||||
void WonX_Create(void);
|
||||
WonXDisplay WonX_GetWonXDisplay(void);
|
||||
WonXText WonX_GetWonXText(void);
|
||||
WonXSystem WonX_GetWonXSystem(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
|
||||
|
||||
/*****************************************************************************/
|
||||
/* End of File. */
|
||||
/*****************************************************************************/
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
/*****************************************************************************/
|
||||
|
||||
#include "WonXDisplayP.h"
|
||||
#include "etc.h"
|
||||
#include "WonX.h"
|
||||
|
||||
/*****************************************************************************/
|
||||
/* <20><><EFBFBD><EFBFBD><EFBFBD>дؿ<D0B4><D8BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||
|
||||
@@ -5,15 +5,23 @@
|
||||
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||
/*****************************************************************************/
|
||||
|
||||
#include "XDisplay.h"
|
||||
#include "WWDisplay.h"
|
||||
|
||||
/*****************************************************************************/
|
||||
/* <20><><EFBFBD>饹<EFBFBD><E9A5B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||
/*****************************************************************************/
|
||||
|
||||
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);
|
||||
WWDisplay WonXDisplay_GetWWDisplay(WonXDisplay wonx_display);
|
||||
WonXDisplay WonXDisplay_Create(int x_width, int x_height,
|
||||
|
||||
1
WonXP.h
1
WonXP.h
@@ -13,7 +13,6 @@
|
||||
|
||||
typedef struct _WonX {
|
||||
WonXDisplay wonx_display;
|
||||
WonXText wonx_text;
|
||||
WonXSystem wonx_system;
|
||||
WonXSerialPort wonx_serial_port;
|
||||
} _WonX;
|
||||
|
||||
@@ -3,22 +3,29 @@
|
||||
/*****************************************************************************/
|
||||
|
||||
#include "WonXSerialPortP.h"
|
||||
#include "etc.h"
|
||||
#include "WonX.h"
|
||||
|
||||
/*****************************************************************************/
|
||||
/* <20><><EFBFBD><EFBFBD><EFBFBD>дؿ<D0B4><D8BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||
/*****************************************************************************/
|
||||
|
||||
WWSerialPort WonXSerialPort_GetWWSerialPort(WonXSerialPort wonx_serial_port)
|
||||
{ return (wonx_serial_port->ww_serial_port); }
|
||||
WWSerialPort WonXSerialPort_SetWWSerialPort(WonXSerialPort wonx_serial_port,
|
||||
WWSerialPort ww_serial_port)
|
||||
{ return (wonx_serial_port->ww_serial_port = ww_serial_port); }
|
||||
WWSerialPort WonXSerialPort_GetWWSerialPort(WonXSerialPort wonx_sp)
|
||||
{ return (wonx_sp->ww_serial_port); }
|
||||
WWSerialPort WonXSerialPort_SetWWSerialPort(WonXSerialPort wonx_sp,
|
||||
WWSerialPort ww_sp)
|
||||
{ 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 wonx_serial_port;
|
||||
WWSerialPort ww_serial_port;
|
||||
UNIXSerialPort unix_serial_port;
|
||||
|
||||
wonx_serial_port = (WonXSerialPort)malloc(sizeof(_WonXSerialPort));
|
||||
if (wonx_serial_port == NULL)
|
||||
@@ -30,12 +37,19 @@ WonXSerialPort WonXSerialPort_Create()
|
||||
"Cannot create WonderWitch 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);
|
||||
}
|
||||
|
||||
WonXSerialPort WonXSerialPort_Destroy(WonXSerialPort wonx_serial_port)
|
||||
{
|
||||
WWSerialPort ww_serial_port;
|
||||
UNIXSerialPort unix_serial_port;
|
||||
|
||||
if (wonx_serial_port == NULL)
|
||||
WonX_Error("WonXSerialPort_Destroy", "Object is not created.");
|
||||
@@ -45,6 +59,11 @@ WonXSerialPort WonXSerialPort_Destroy(WonXSerialPort wonx_serial_port)
|
||||
WonXSerialPort_SetWWSerialPort(wonx_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);
|
||||
|
||||
return (NULL);
|
||||
|
||||
@@ -5,21 +5,30 @@
|
||||
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||
/*****************************************************************************/
|
||||
|
||||
#include "WWSerialPort.h"
|
||||
|
||||
/*****************************************************************************/
|
||||
/* <20><><EFBFBD>饹<EFBFBD><E9A5B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||
/*****************************************************************************/
|
||||
|
||||
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> */
|
||||
/*****************************************************************************/
|
||||
|
||||
WWSerialPort WonXSerialPort_GetWWSerialPort(WonXSerialPort wonx_serial_port);
|
||||
WWSerialPort WonXSerialPort_SetWWSerialPort(WonXSerialPort wonx_serial_port,
|
||||
WWSerialPort ww_serial_port);
|
||||
WWSerialPort WonXSerialPort_GetWWSerialPort(WonXSerialPort wonx_sp);
|
||||
WWSerialPort WonXSerialPort_SetWWSerialPort(WonXSerialPort wonx_sp,
|
||||
WWSerialPort ww_sp);
|
||||
|
||||
UNIXSerialPort WonXSerialPort_GetUNIXSerialPort(WonXSerialPort wonx_sp);
|
||||
UNIXSerialPort WonXSerialPort_SetUNIXSerialPort(WonXSerialPort wonx_sp,
|
||||
UNIXSerialPort unix_sp);
|
||||
|
||||
WonXSerialPort WonXSerialPort_Create();
|
||||
WonXSerialPort WonXSerialPort_Destroy(WonXSerialPort wonx_serial_port);
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
|
||||
typedef struct _WonXSerialPort {
|
||||
WWSerialPort ww_serial_port;
|
||||
UNIXSerialPort unix_serial_port;
|
||||
} _WonXSerialPort;
|
||||
|
||||
/*****************************************************************************/
|
||||
|
||||
50
WonXSystem.c
50
WonXSystem.c
@@ -5,7 +5,7 @@
|
||||
#include "wonx_configure.h"
|
||||
|
||||
#include "WonXSystemP.h"
|
||||
#include "etc.h"
|
||||
#include "WonX.h"
|
||||
|
||||
/*****************************************************************************/
|
||||
/* <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;
|
||||
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);
|
||||
|
||||
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);
|
||||
if (WWTimer_IsON(ww_timer)) {
|
||||
if (WWTimer_Count(ww_timer))
|
||||
@@ -68,6 +83,39 @@ static int WonXTimer_Callback(WonXSystem wonx_system)
|
||||
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);
|
||||
}
|
||||
|
||||
|
||||
12
WonXSystem.h
12
WonXSystem.h
@@ -5,16 +5,20 @@
|
||||
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||
/*****************************************************************************/
|
||||
|
||||
#include "WWInterrupt.h"
|
||||
#include "WWTimer.h"
|
||||
#include "UNIXTimer.h"
|
||||
|
||||
/*****************************************************************************/
|
||||
/* <20><><EFBFBD>饹<EFBFBD><E9A5B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||
/*****************************************************************************/
|
||||
|
||||
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> */
|
||||
/*****************************************************************************/
|
||||
|
||||
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> */
|
||||
/*****************************************************************************/
|
||||
|
||||
#include "wonx_include/key.h"
|
||||
|
||||
#include "WWLCDPanel.h"
|
||||
|
||||
/*****************************************************************************/
|
||||
/* <20><><EFBFBD>饹<EFBFBD><E9A5B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||
/*****************************************************************************/
|
||||
@@ -16,7 +12,15 @@
|
||||
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);
|
||||
|
||||
170
comm.c
170
comm.c
@@ -14,6 +14,9 @@
|
||||
|
||||
#include "wonx_configure.h"
|
||||
#include "WonX.h"
|
||||
#include "WonXSerialPort.h"
|
||||
#include "WWSerialPort.h"
|
||||
#include "UNIXSerialPort.h"
|
||||
#include "etc.h"
|
||||
|
||||
/*****************************************************************************/
|
||||
@@ -38,7 +41,9 @@
|
||||
|
||||
void comm_open(void)
|
||||
{
|
||||
WonXSerialPort wonx_serial_port;
|
||||
WWSerialPort ww_serial_port;
|
||||
UNIXSerialPort unix_serial_port;
|
||||
|
||||
if (!WonX_IsCreated()) WonX_Create();
|
||||
|
||||
@@ -48,12 +53,17 @@ void comm_open(void)
|
||||
printf("call : comm_open() : \n");
|
||||
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))
|
||||
WonX_Error("comm_open", "Serial port has already opened.");
|
||||
if (WWSerialPort_IsOpened(ww_serial_port))
|
||||
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());
|
||||
|
||||
@@ -68,7 +78,9 @@ void comm_open(void)
|
||||
|
||||
void comm_close(void)
|
||||
{
|
||||
WonXSerialPort wonx_serial_port;
|
||||
WWSerialPort ww_serial_port;
|
||||
UNIXSerialPort unix_serial_port;
|
||||
|
||||
if (!WonX_IsCreated()) WonX_Create();
|
||||
|
||||
@@ -78,12 +90,17 @@ void comm_close(void)
|
||||
printf("call : comm_close() : \n");
|
||||
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))
|
||||
WonX_Error("comm_close", "Serial port is not opened.");
|
||||
if (!WWSerialPort_IsClosed(ww_serial_port))
|
||||
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());
|
||||
|
||||
@@ -98,75 +115,55 @@ void comm_close(void)
|
||||
|
||||
static void comm_output(unsigned char c)
|
||||
{
|
||||
if (c == '\n') printf("\\n");
|
||||
else if (c == '\r') printf("\\r");
|
||||
else if (c == '\t') printf("\\t");
|
||||
else if (isprint(c)) fputc(c, stdout);
|
||||
else printf("^%02x", (int)c);
|
||||
fflush(stdout);
|
||||
WonXSerialPort wonx_serial_port;
|
||||
UNIXSerialPort unix_serial_port;
|
||||
|
||||
wonx_serial_port = WonX_GetWonXSerialPort();
|
||||
unix_serial_port = WonXSerialPort_GetUNIXSerialPort(wonx_serial_port);
|
||||
UNIXSerialPort_SendCharacter(unix_serial_port, c);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
static int comm_input(int timeout)
|
||||
{
|
||||
int tmp;
|
||||
WonXSerialPort wonx_serial_port;
|
||||
UNIXSerialPort unix_serial_port;
|
||||
int c;
|
||||
fd_set bitmap;
|
||||
struct timeval t;
|
||||
struct timeval * t_p;
|
||||
|
||||
/*
|
||||
* 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 {
|
||||
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;
|
||||
wonx_serial_port = WonX_GetWonXSerialPort();
|
||||
unix_serial_port = WonXSerialPort_GetUNIXSerialPort(wonx_serial_port);
|
||||
c = UNIXSerialPort_ReceiveCharacter(unix_serial_port,
|
||||
WONX_SERIAL_PORT_TIMETICKS * timeout);
|
||||
|
||||
return (c);
|
||||
}
|
||||
|
||||
int comm_send_char(unsigned char c)
|
||||
{
|
||||
int ret;
|
||||
|
||||
WonXSerialPort wonx_serial_port;
|
||||
WWSerialPort ww_serial_port;
|
||||
UNIXSerialPort unix_serial_port;
|
||||
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 : comm_send_char() : character = 0x%02x\n", (int)c);
|
||||
printf("call : comm_send_char() : character = \'");
|
||||
wonx_print_character(stdout, c);
|
||||
printf("\'\n");
|
||||
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))
|
||||
WonX_Error("comm_send_char", "Serial port is not opened.");
|
||||
if (!WWSerialPort_IsOpened(ww_serial_port))
|
||||
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 : ");
|
||||
comm_output(c);
|
||||
@@ -187,7 +184,9 @@ int comm_send_char(unsigned char c)
|
||||
|
||||
int comm_receive_char(void)
|
||||
{
|
||||
WonXSerialPort wonx_serial_port;
|
||||
WWSerialPort ww_serial_port;
|
||||
UNIXSerialPort unix_serial_port;
|
||||
int c;
|
||||
int ret;
|
||||
|
||||
@@ -199,10 +198,14 @@ int comm_receive_char(void)
|
||||
printf("call : comm_receive_char() : \n");
|
||||
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))
|
||||
WonX_Error("comm_receive_char", "Serial port is not opened.");
|
||||
if (!WWSerialPort_IsOpened(ww_serial_port))
|
||||
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));
|
||||
|
||||
@@ -222,7 +225,9 @@ int comm_receive_char(void)
|
||||
|
||||
int comm_receive_with_timeout(int timeout)
|
||||
{
|
||||
WonXSerialPort wonx_serial_port;
|
||||
WWSerialPort ww_serial_port;
|
||||
UNIXSerialPort unix_serial_port;
|
||||
int c;
|
||||
int ret;
|
||||
|
||||
@@ -234,10 +239,14 @@ int comm_receive_with_timeout(int timeout)
|
||||
printf("call : comm_receive_with_timeout() : timeout = %d\n", timeout);
|
||||
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))
|
||||
WonX_Error("comm_receive_with_timeout", "Serial port is not opened.");
|
||||
if (!WWSerialPort_IsOpened(ww_serial_port))
|
||||
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);
|
||||
|
||||
@@ -257,8 +266,11 @@ int comm_receive_with_timeout(int timeout)
|
||||
|
||||
int comm_send_string(char * string)
|
||||
{
|
||||
WonXSerialPort wonx_serial_port;
|
||||
WWSerialPort ww_serial_port;
|
||||
UNIXSerialPort unix_serial_port;
|
||||
int ret;
|
||||
char * p;
|
||||
int i;
|
||||
|
||||
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> */
|
||||
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);
|
||||
|
||||
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))
|
||||
WonX_Error("comm_send_string", "Serial port is not opened.");
|
||||
if (!WWSerialPort_IsOpened(ww_serial_port))
|
||||
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 : ");
|
||||
for (i = 0; string[i]; i++) {
|
||||
@@ -295,7 +313,9 @@ int comm_send_string(char * string)
|
||||
|
||||
int comm_send_block(void * buffer, int size)
|
||||
{
|
||||
WonXSerialPort wonx_serial_port;
|
||||
WWSerialPort ww_serial_port;
|
||||
UNIXSerialPort unix_serial_port;
|
||||
int ret;
|
||||
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);
|
||||
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))
|
||||
WonX_Error("comm_send_block", "Serial port is not opened.");
|
||||
if (!WWSerialPort_IsOpened(ww_serial_port))
|
||||
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 : ");
|
||||
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)
|
||||
{
|
||||
WonXSerialPort wonx_serial_port;
|
||||
WWSerialPort ww_serial_port;
|
||||
UNIXSerialPort unix_serial_port;
|
||||
int ret;
|
||||
int c;
|
||||
int i;
|
||||
@@ -347,10 +373,14 @@ int comm_receive_block(void * buffer, int size)
|
||||
buffer, size);
|
||||
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))
|
||||
WonX_Error("comm_receive_block", "Serial port is not opened.");
|
||||
if (!WWSerialPort_IsOpened(ww_serial_port))
|
||||
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;
|
||||
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];
|
||||
WWPalette palette;
|
||||
unsigned short int ret;
|
||||
int i;
|
||||
|
||||
if (!WonX_IsCreated()) WonX_Create();
|
||||
|
||||
@@ -1094,17 +1095,22 @@ unsigned int palette_get_color(unsigned int palette_num)
|
||||
palette =
|
||||
WWDisplay_GetPalette(WonXDisplay_GetWWDisplay(WonX_GetWonXDisplay()),
|
||||
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);
|
||||
|
||||
/* Ʃ<><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 |= mapped_colors[0] & 0x07;
|
||||
ret |= mapped_colors[0] & 0x07;
|
||||
ret |= (mapped_colors[1] & 0x07) << 4;
|
||||
ret |= (mapped_colors[2] & 0x07) << 8;
|
||||
ret |= (mapped_colors[3] & 0x07) << 12;
|
||||
|
||||
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);
|
||||
|
||||
/* <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[2] & 0x0f) << 8;
|
||||
ret |= ((unsigned long int)lcd_colors[3] & 0x0f) << 12;
|
||||
ret |= (unsigned long int)lcd_colors[0] & 0x0f;
|
||||
ret |= ((unsigned long int)lcd_colors[1] & 0x0f) << 4;
|
||||
ret |= ((unsigned long int)lcd_colors[2] & 0x0f) << 8;
|
||||
ret |= ((unsigned long int)lcd_colors[3] & 0x0f) << 12;
|
||||
ret |= ((unsigned long int)lcd_colors[4] & 0x0f) << 16;
|
||||
ret |= ((unsigned long int)lcd_colors[5] & 0x0f) << 20;
|
||||
ret |= ((unsigned long int)lcd_colors[6] & 0x0f) << 24;
|
||||
ret |= ((unsigned long int)lcd_colors[7] & 0x0f) << 28;
|
||||
|
||||
WonXDisplay_Sync(WonX_GetWonXDisplay());
|
||||
|
||||
|
||||
30
etc.c
30
etc.c
@@ -1,26 +1,30 @@
|
||||
#include "etc.h"
|
||||
|
||||
#include <stdio.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);
|
||||
}
|
||||
#include <ctype.h>
|
||||
|
||||
/*===========================================================================*/
|
||||
/* "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"};
|
||||
b = b ? 1 : 0;
|
||||
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_
|
||||
#define _etc_h_INCLUDED_
|
||||
|
||||
/*===========================================================================*/
|
||||
/* <20><><EFBFBD>顼<EFBFBD><E9A1BC><EFBFBD><EFBFBD> */
|
||||
/*===========================================================================*/
|
||||
|
||||
int WonX_Error(char * funcname, char * message);
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
/*===========================================================================*/
|
||||
/* "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
|
||||
|
||||
|
||||
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>) {
|
||||
if (/output to serial port : /) {
|
||||
($string) = /output to serial port : (.*)/;
|
||||
($string) = /output to serial port : \"(.*)\"\n/;
|
||||
$string =~ s/\\n/\n/;
|
||||
$string =~ s/\\r/\n/;
|
||||
$string =~ s/\\t/\t/;
|
||||
$string =~ s/\\s/ /;
|
||||
print "$string";
|
||||
STDOUT->autoflush();
|
||||
}
|
||||
|
||||
7
system.c
7
system.c
@@ -177,13 +177,6 @@ unsigned int sys_get_resume(void)
|
||||
return (0);
|
||||
}
|
||||
|
||||
void bios_exit()
|
||||
{
|
||||
printf("call : bios_exit() : \n");
|
||||
fflush(stdout);
|
||||
exit (0);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
/* <20><><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD> */
|
||||
/*****************************************************************************/
|
||||
|
||||
244
text.c
244
text.c
@@ -10,6 +10,9 @@
|
||||
|
||||
#include "WonX.h"
|
||||
#include "WWText.h"
|
||||
#include "WWDisplay.h"
|
||||
#include "WWCursor.h"
|
||||
#include "etc.h"
|
||||
|
||||
/*****************************************************************************/
|
||||
/* <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)
|
||||
{
|
||||
WWText ww_text;
|
||||
WWDisplay ww_display;
|
||||
WWText ww_text;
|
||||
|
||||
ww_text = WonXText_GetWWText(WonX_GetWonXText());
|
||||
ww_display = WonXDisplay_GetWWDisplay(WonX_GetWonXDisplay());
|
||||
ww_text = WWDisplay_GetText(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)
|
||||
{
|
||||
WWText ww_text;
|
||||
WWDisplay ww_display;
|
||||
WWText ww_text;
|
||||
|
||||
ww_text = WonXText_GetWWText(WonX_GetWonXText());
|
||||
ww_display = WonXDisplay_GetWWDisplay(WonX_GetWonXDisplay());
|
||||
ww_text = WWDisplay_GetText(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> */
|
||||
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);
|
||||
|
||||
_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)
|
||||
{
|
||||
int i, len, ret;
|
||||
WWText ww_text;
|
||||
WWDisplay ww_display;
|
||||
WWText ww_text;
|
||||
|
||||
ww_text = WonXText_GetWWText(WonX_GetWonXText());
|
||||
ww_display = WonXDisplay_GetWWDisplay(WonX_GetWonXDisplay());
|
||||
ww_text = WWDisplay_GetText(ww_display);
|
||||
|
||||
len = strlen(string);
|
||||
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 ret;
|
||||
char * p;
|
||||
|
||||
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 : 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);
|
||||
|
||||
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 i, ret;
|
||||
WWText ww_text;
|
||||
WWDisplay ww_display;
|
||||
WWText ww_text;
|
||||
|
||||
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 : 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);
|
||||
|
||||
ww_text = WonXText_GetWWText(WonX_GetWonXText());
|
||||
ww_display = WonXDisplay_GetWWDisplay(WonX_GetWonXDisplay());
|
||||
ww_text = WWDisplay_GetText(ww_display);
|
||||
|
||||
ret = 0;
|
||||
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)
|
||||
{
|
||||
WWText ww_text;
|
||||
WWDisplay ww_display;
|
||||
WWText ww_text;
|
||||
|
||||
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);
|
||||
fflush(stdout);
|
||||
|
||||
ww_text = WonXText_GetWWText(WonX_GetWonXText());
|
||||
ww_display = WonXDisplay_GetWWDisplay(WonX_GetWonXDisplay());
|
||||
ww_text = WWDisplay_GetText(ww_display);
|
||||
|
||||
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)
|
||||
{
|
||||
WWDisplay ww_display;
|
||||
WWText ww_text;
|
||||
int num;
|
||||
|
||||
@@ -332,7 +343,8 @@ int text_get_palette(void)
|
||||
printf("call : text_get_palette() : \n");
|
||||
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));
|
||||
|
||||
@@ -361,8 +373,8 @@ void text_get_fontdata(int c, void * buffer)
|
||||
|
||||
void text_set_screen(int screen)
|
||||
{
|
||||
WWText ww_text;
|
||||
WWDisplay ww_display;
|
||||
WWText ww_text;
|
||||
|
||||
if (!WonX_IsCreated()) WonX_Create();
|
||||
|
||||
@@ -372,8 +384,8 @@ void text_set_screen(int screen)
|
||||
printf("call : text_set_screen() : screen = %d\n", screen);
|
||||
fflush(stdout);
|
||||
|
||||
ww_text = WonXText_GetWWText(WonX_GetWonXText());
|
||||
ww_display = WonXDisplay_GetWWDisplay(WonX_GetWonXDisplay());
|
||||
ww_text = WWDisplay_GetText(ww_display);
|
||||
|
||||
WWText_SetScreen(ww_text, WWDisplay_GetScreen(ww_display, screen));
|
||||
|
||||
@@ -390,6 +402,7 @@ void text_set_screen(int screen)
|
||||
|
||||
int text_get_screen(void)
|
||||
{
|
||||
WWDisplay ww_display;
|
||||
WWText ww_text;
|
||||
int n;
|
||||
|
||||
@@ -401,7 +414,8 @@ int text_get_screen(void)
|
||||
printf("call : text_get_screen() : \n");
|
||||
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));
|
||||
|
||||
@@ -418,29 +432,219 @@ int text_get_screen(void)
|
||||
|
||||
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)
|
||||
{
|
||||
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)
|
||||
{
|
||||
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)
|
||||
{
|
||||
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)
|
||||
{
|
||||
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)
|
||||
{
|
||||
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, ...)
|
||||
|
||||
@@ -6,8 +6,76 @@
|
||||
#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_FP(seg,off) ((void *)MK_DWORD(seg,off))
|
||||
|
||||
#if 0
|
||||
#define FP_OFF(p) ((unsigned short int)((unsigned long int)(p) & 0xffff))
|
||||
#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();
|
||||
|
||||
|
||||
@@ -53,6 +53,4 @@ int sys_swap(int core);
|
||||
void sys_set_resume(unsigned int flags);
|
||||
unsigned int sys_get_resume(void);
|
||||
|
||||
void bios_exit();
|
||||
|
||||
#endif
|
||||
|
||||
BIN
wwterm-b05.zip
Normal file
BIN
wwterm-b05.zip
Normal file
Binary file not shown.
Reference in New Issue
Block a user