1 Commits

Author SHA1 Message Date
Hiroaki Sakai
5e1a9795b7 Create your own header file. It became compilable with only Wonx.
Since there is a possibility that the Error () function will collide with libwonx.a when linking,
It changed to Wonx_Error ().
Added bios_exit ().
sprite_set_char, sprite_get_char, palette number minus 8
Fixed bug that was not specified.
font_set_monodata (), font_set_colordata (), font_get_data (), disp.c,
The arguments of screen_set_char (), screen_get_char (), sprite_set_data ()
Changed from void * to appropriate type.
Sample program and attached SpeedMac.
I added a document.

Version 0.3 beta - from wonx-b03.tar.gz
2018-03-07 23:06:08 +00:00
51 changed files with 1253 additions and 347 deletions

23
HISTORY
View File

@@ -1,4 +1,25 @@
wonx-b02
2000/11/13(<28><>)
wonx-b03 <20><><EFBFBD><EFBFBD>
<EFBFBD>إå<EFBFBD><EFBFBD>ե<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȼ<EFBFBD><EFBFBD>˺<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Wonx <20>Τߤǥ<DFA4><C7A5><EFBFBD><EFBFBD>ѥ<EFBFBD><D1A5><EFBFBD><EFBFBD><EFBFBD>ǽ<EFBFBD>ˤʤä<CAA4><C3A4><EFBFBD>
libwonx.a <20>Υ<EFBFBD><CEA5>󥯻<EFBFBD><F3A5AFBB><EFBFBD> Error() <20>ؿ<EFBFBD><D8BF><EFBFBD><EFBFBD>֤Ĥ<D6A4><C4A4><EFBFBD><EFBFBD><EFBFBD>ǽ<EFBFBD><C7BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Τǡ<CEA4>
Wonx_Error() <20><><EFBFBD>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
bios_exit() <20><><EFBFBD>ɲá<C9B2>
sprite_set_char, sprite_get_char <20>ǡ<EFBFBD><C7A1>ѥ<EFBFBD><D1A5>å<EFBFBD><C3A5>ֹ椬<D6B9><E6A4AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͤ<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƥ<EFBFBD><EFBFBD>ʤ<EFBFBD><EFBFBD>Х<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
disp.c <20><> font_set_monodata(), font_set_colordata(), font_get_data(),
screen_set_char(), screen_get_char(), sprite_set_data() <20>ΰ<EFBFBD><CEB0><EFBFBD><EFBFBD><EFBFBD>
void * <20><><EFBFBD><EFBFBD>Ŭ<EFBFBD>ڤʷ<DAA4><CAB7><EFBFBD><EFBFBD>ѹ<EFBFBD><D1B9><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ץ<EFBFBD><EFBFBD>ץ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> SpeedMac <20><>ź<EFBFBD>դ<EFBFBD><D5A4><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD>ɥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD><EFBFBD>ɲä<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
2000/11/3(<28><>)
wonx-b02 <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>
(UNIXTimer, WWInterrupt, WWTimer, WonxSystem <20>ɲ<EFBFBD>)

View File

@@ -2,11 +2,15 @@ XINCLUDEDIR = /usr/X11R6/include
INCLUDEDIR = .
XLIBDIR = /usr/X11R6/lib
VERSION = Wonx-b02
PKGNAME = wonx-b02
VERSION = Wonx-b03
PKGNAME = wonx-b03
SMAC = smac-b02
OBJS = WWCharacter.o WWColorMap.o WWDisplay.o WWLCDPanel.o WWPalette.o WWScreen.o WWSprite.o WWText.o WWInterrupt.o WWTimer.o Wonx.o WonxDisplay.o WonxText.o WonxSystem.o XDisplay.o UNIXTimer.o bank.o comm.o disp.o text.o key.o sound.o system.o timer.o etc.o
CC = gcc
.SUFFIXES: .c .o
all : libwonx.a
@@ -16,16 +20,38 @@ libwonx.a : $(OBJS)
# ranlib libwonx.a
.c.o : $*.c
gcc -c $*.c -O -Wall -I$(INCLUDEDIR) -I$(XINCLUDEDIR)
$(CC) -c $*.c -O -Wall -I$(INCLUDEDIR) -I$(XINCLUDEDIR)
clean :
rm -f libwonx.a *.o
rm -f libwonx.a sample1 sample2 *.o
sample1 : libwonx.a sample1.o
$(CC) sample1.o -o sample1 \
-L. -L/usr/X11R6/lib -lwonx -lX11 -lXt
sample2 : libwonx.a sample2.o
$(CC) sample2.o -o sample2 \
-L. -L/usr/X11R6/lib -lwonx -lX11 -lXt
smac : libwonx.a
unzip $(SMAC).zip
cp -R wonx_include $(SMAC)
cp libwonx.a $(SMAC)
mv $(SMAC)/makefile $(SMAC)/makefile.orig
cp makefile_for_smac $(SMAC)/makefile
cp sys2wonx.pl $(SMAC)
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 $(SMAC) ; ./sys2wonx.pl *.[ch]
cd $(SMAC) ; $(MAKE)
package :
mkdir -p $(PKGNAME)
rm -fR $(PKGNAME)/*
mkdir -p $(PKGNAME)/wonx_include
cp COPYING COPYRIGHT HISTORY README OMAKE.jpn Makefile \
*.h *.c $(PKGNAME)
makefile_for_smac sys2wonx.pl \
*.h *.c smac*.zip $(PKGNAME)
cp wonx_include/*.h $(PKGNAME)/wonx_include
tar cvzf $(PKGNAME).tar.gz $(PKGNAME)
# End of Makefile.

350
README
View File

@@ -1,28 +1,27 @@
Wonx - WonderWitch on X.
<EFBFBD><EFBFBD> <20><><EFBFBD>С<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ۤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ä<EFBFBD>
<EFBFBD><EFBFBD> <20><><EFBFBD>ۤ<EFBFBD><DBA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ä<EFBFBD>
Wonx <20>Ϥޤ<CFA4><DEA4>Դ<EFBFBD><D4B4><EFBFBD><EFBFBD>ʦ<EFBFBD><EFBFBD>С<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƥ<EFBFBD><EFBFBD>ʤ<EFBFBD><EFBFBD><EFBFBD>ǽ<EFBFBD>
<EFBFBD>Դ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʵ<EFBFBD>ǽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><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>Ϥޤ<CFA4><DEA4>Դ<EFBFBD><D4B4><EFBFBD><EFBFBD>Ǥ<EFBFBD><C7A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><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><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>
<EFBFBD>Х<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɥХ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԥκ<EFBFBD><EFBFBD>湰μ<EFBFBD>ޤǡ<EFBFBD><EFBFBD>ɤ<EFBFBD><EFBFBD>ɤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>ɥ쥹<EFBFBD>ϡ<EFBFBD>
sakai@seki.ee.kagu.sut.ac.jp
hsakai@pfu.co.jp
<EFBFBD>Ǥ<EFBFBD><EFBFBD><EFBFBD>
<EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǥ<EFBFBD><EFBFBD>Ǥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤǤϡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>åץǡ<EFBFBD><EFBFBD>Ȥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˤ˹ԤäƤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>
<EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ε<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¤ꡤ<EFBFBD><EFBFBD><EFBFBD>åץǡ<EFBFBD><EFBFBD>ȤϿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԤäƤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>
http://www.seki.ee.kagu.sut.ac.jp/~sakai/WonderWitch/index.html
<EFBFBD>ǡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>ߤϺ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><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><CAA4>ä<EFBFBD><C3A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD><C6B0><EFBFBD>ΰ㤤<CEB0>ʤɡ<CAA4>WonderWitch <20><> Wonx <20>Ǥ<EFBFBD>
<20><>̯<EFBFBD>˰ۤʤäƤ<C3A4><C6A4><EFBFBD><EFBFBD>Ȼפ<EFBFBD>)<29><><EFBFBD>ɤ<EFBFBD><C9A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʤ<EFBFBD><CAA4>Τ<EFBFBD><CEA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǥ<EFBFBD><C7A4><EFBFBD>
<20><>̯<EFBFBD>˰ۤʤäƤ<C3A4><C6A4><EFBFBD>)<29><><EFBFBD>ɤ<EFBFBD><C9A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʤ<EFBFBD><CAA4>Τ<EFBFBD><CEA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǥ<EFBFBD><C7A4><EFBFBD>
<EFBFBD>Ȥ<EFBFBD><EFBFBD>˥ޥ˥奢<EFBFBD><EFBFBD><EFBFBD>˽񤤤Ƥʤ<EFBFBD><EFBFBD><EFBFBD>ʬ<EFBFBD>˴ؤ<EFBFBD><EFBFBD>Ƥϡ<EFBFBD>WonderWitch <20>ǤϤɤΤ<CEA4><E8A4A6>
ư<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Τ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҤȤ<EFBFBD><EFBFBD>Ǥϥ<EFBFBD><EFBFBD><EFBFBD><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><C6A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)<29><><EFBFBD>Ƥ<EFBFBD><C6A4>ޤ<EFBFBD>(<28><><EFBFBD>Τ<EFBFBD><CEA4><EFBFBD><EFBFBD>Φ<EFBFBD><CEA6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ۤǤ<DBA4>)<EFBFBD><EFBFBD>
ư<EFBFBD><EFBFBD><EFBFBD><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><C6A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԥ<EFBFBD>(<28>Ƥ<EFBFBD><C6A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)<29><><EFBFBD>Ƥ<EFBFBD><C6A4>ޤ<EFBFBD><DEA4><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>ä<EFBFBD><EFBFBD><EFBFBD><EFBFBD>˾<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ġ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʤ<EFBFBD><EFBFBD>Τ˻ž夲<EFBFBD>Ƥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>뤿<EFBFBD><EFBFBD><EFBFBD>ˡ<EFBFBD><EFBFBD><EFBFBD>ʳ<EFBFBD><EFBFBD>Ǧ<EFBFBD><EFBFBD>ǤȤ<EFBFBD><EFBFBD>Ƹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ո<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˾<EFBFBD>ʤɤ<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɤ<EFBFBD><EFBFBD>ɤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>󤻤<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>ո<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><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><D6BB><EFBFBD><EFBFBD>񤯤Ȥϸ¤<CFB8><C2A4>ʤ<EFBFBD><CAA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˾<EFBFBD><CBBE>ȿ<EFBFBD>Ǥ<EFBFBD><C7A4><EFBFBD><EFBFBD>Ȥ<EFBFBD><C8A4>¤<EFBFBD><C2A4>ޤ<EFBFBD><DEA4><EFBFBD><EFBFBD>Τ<EFBFBD>
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϥ<EFBFBD><CFA4>ƼϤ<C6BC><CFA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
@@ -47,29 +46,64 @@ 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>
<20><><EFBFBD>ޤ<EFBFBD><DEA4>ͤ<EFBFBD><CDA4>Ƥ<EFBFBD><C6A4>ʤ<EFBFBD><CAA4><EFBFBD>(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ΥǥХå<D0A5><C3A5><EFBFBD><EFBFBD><EFBFBD>ͥ<EFBFBD><EFBFBD><E8A4B9>)
<EFBFBD><EFBFBD>WonderWitch <20>ѤΥץ<CEA5><D7A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>X<EFBFBD><58><EFBFBD>dzڤ<C7B3><DAA4>ि<EFBFBD><E0A4BF><EFBFBD>Τ<EFBFBD><CEA4>ΤǤϤʤ<CFA4><CAA4><EFBFBD>
<20>ޤ<EFBFBD><DEA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߥ<EFBFBD><DFA5><EFBFBD><ECA1BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ū<EFBFBD>ʤΤǤϤʤ<CFA4><CAA4><EFBFBD>
<20><><EFBFBD><EFBFBD><EFBFBD>ޤǥǥХå<D0A5><C3A5><EFBFBD>Ū<EFBFBD>Τ<EFBFBD><CEA4>Ρ<EFBFBD>(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݥꥷ<DDA5><EAA5B7><EFBFBD>dz<EFBFBD>ȯ<EFBFBD><C8AF><EFBFBD>ʤ<EFBFBD><CAA4><EFBFBD>)
<20><><EFBFBD>äơ<C3A4>WonderWitch <20>Ǥ<EFBFBD>ư<EFBFBD><C6B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD><C8A4><EFBFBD><EFBFBD><EFBFBD>ǥХå<D0A5><C3A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<20><><EFBFBD>Ϥ<EFBFBD><CFA4><EFBFBD>Ȥ<EFBFBD><C8A4><EFBFBD>¤<EFBFBD>Τ<EFBFBD><CEA4><EFBFBD><E4A4B9><EFBFBD><EFBFBD>ͥ<EFBFBD><EFBFBD><E8A4B7><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>򤹤<EFBFBD><F2A4B9A4><EFBFBD><EFBFBD><EFBFBD><E7A4AC><EFBFBD>
<EFBFBD><EFBFBD> ­<EFBFBD><EFBFBD><EFBFBD>ʤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD> 3ʬwonx
<EFBFBD>ʲ<EFBFBD><EFBFBD>Τ<EFBFBD><EFBFBD>ΤˤϤޤ<EFBFBD><EFBFBD>б<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƥޤ<EFBFBD><EFBFBD>󡥤<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>äơ<EFBFBD><EFBFBD><EFBFBD>Х<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɴ<EFBFBD>Ϣ<EFBFBD><EFBFBD>
<EFBFBD>ؿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƤӽФ<EFBFBD><EFBFBD>Ƥ⡤<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28><><EFBFBD>δؿ<CEB4><D8BF>ˤʤäƤ<C3A4><C6A4><EFBFBD>)
<EFBFBD>Ȥꤢ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɤ<EFBFBD><EFBFBD>ʤ<EFBFBD><EFBFBD>Τ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƥߤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȤǤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʿͤϡ<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ץ<EFBFBD><EFBFBD>ץ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>򥳥<EFBFBD><EFBFBD>ѥ<EFBFBD><EFBFBD><EFBFBD>¹Ԥ<EFBFBD><EFBFBD>Ƥߤޤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD>ʲ<EFBFBD><EFBFBD>Τ<EFBFBD>ˤ<EFBFBD><EFBFBD>ƤߤƤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD>ʸ<EFBFBD><EFBFBD>ɽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ (<28><><EFBFBD><EFBFBD><EFBFBD>ߥʥ<DFA5><CAA5>ˤ<EFBFBD><CBA4>Τޤ޽<DEA4><DEBD>Ϥ<EFBFBD><CFA4><EFBFBD>)
<20>Ȥ<EFBFBD><C8A4>ˡ<EFBFBD>ʸ<EFBFBD><CAB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǥ<EFBFBD><C7A5><EFBFBD><EFBFBD>ȥ<EFBFBD><C8A5><EFBFBD><EFBFBD>̤<EFBFBD><CCA4>񤤤Ƥ륲<C6A4><EBA5B2><EFBFBD><EFBFBD><EFBFBD>ξ<EFBFBD><CEBE><EFBFBD><EFBFBD>ʤɤϡ<C9A4>
<20>ʤˤ<CAA4>ɽ<EFBFBD><C9BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʤ<EFBFBD><CAA4><EFBFBD><EFBFBD>ȤˤʤäƤ<C3A4><C6A4>ޤ<EFBFBD><DEA4>Τ<EFBFBD><CEA4><EFBFBD><EFBFBD>դ<EFBFBD><D5A4>Ƥ<EFBFBD><C6A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD><EFBFBD>Ƥ<EFBFBD><C6A4>Ƥ⡤<C6A4><E2A1A4><EFBFBD>̤<EFBFBD><CCA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǸǤޤäƤ<C3A4><C6A4><EFBFBD><EFBFBD><EFBFBD>˸<EFBFBD><CBB8><EFBFBD><EFBFBD>Ƥ<EFBFBD><C6A4>ޤ<EFBFBD>)
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̼<EFBFBD><EFBFBD><EFBFBD><EFBFBD>κ٤<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɥ<EFBFBD><C9A5><EFBFBD>ǽ<EFBFBD>ʤ<EFBFBD>)
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><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><EFBFBD><EFBFBD><EFBFBD>ߤ<EFBFBD><DFA4><EFBFBD><EFBFBD>Ѥ<EFBFBD><D1A4>Ƥ<EFBFBD><C6A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>դ<EFBFBD><D5A4>Ƥ<EFBFBD><C6A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ΤޤޤǤϤޤȤ<DEA4><C8A4><EFBFBD>
ư<><C6B0><EFBFBD>ʤ<EFBFBD><CAA4>Ǥ<EFBFBD><C7A4><EFBFBD><E7A4A6>
<20><><EFBFBD>Τ<EFBFBD><CEA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʥ<EFBFBD><CAA5>ȤäƤʤ<C6A4><CAA4>Ȥ<EFBFBD><C8A4><EFBFBD><EFBFBD>ݡ<EFBFBD><DDA1>Ȥ<EFBFBD><C8A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȼפ<C8BB><D7A4>ޤ<EFBFBD><DEA4><EFBFBD>
~>% tar xvzf wonx.tgz
(<28><>ά)
~>% cd wonx
<EFBFBD><EFBFBD> Wonx<6E><78><EFBFBD><EFBFBD>
~/wonx>% make sample1
(<28><>ά)
~/wonx>% ./sample1
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ơ<EFBFBD>ɸ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϥ˥<EFBFBD><EFBFBD>å<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><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>% make sample2
(<28><>ά)
~/wonx>% ./sample2
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ξ岼<EFBFBD>ǡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><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>% more sample1.c
~/wonx>% more sample2.c
<EFBFBD>ǡ<EFBFBD><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>ѤΥ<D1A4><CEA5><EFBFBD><EFBFBD>ࡤ"SpeedMac" <20>򥳥<EFBFBD><F2A5B3A5>ѥ<EFBFBD><D1A5><EFBFBD>¹Ԥ<C2B9><D4A4>Ƥߤޤ<DFA4><DEA4><EFBFBD>
~/wonx>% make smac
(<28><>ά)
~/wonx>% cd smac
~/wonx/smac>% ./smac
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ơ<EFBFBD>ɸ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϥ˥<EFBFBD><EFBFBD>å<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>ä<EFBFBD><EFBFBD><EFBFBD> p <20>򲡤<EFBFBD><F2B2A1A4>Ʋ<EFBFBD><C6B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> OFF <20>ˤ<EFBFBD><CBA4>ޤ<EFBFBD><DEA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ф餯<D0A4><E9A4AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
(<28><><EFBFBD>å<EFBFBD><C3A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƥ<EFBFBD><C6A4>Ѥ<EFBFBD><D1A4>ä<EFBFBD><C3A4><EFBFBD>) p <20>򲡤<EFBFBD><F2B2A1A4>ƺƤӲ<C6A4><D3B2><EFBFBD>ɽ<EFBFBD><C9BD><EFBFBD><EFBFBD> ON <20>ˤ<EFBFBD><CBA4><EFBFBD><EFBFBD>ȡ<EFBFBD>
smac <20>Υ<EFBFBD><CEA5><EFBFBD><EFBFBD>ȥ<EFBFBD><C8A5><EFBFBD><EFBFBD>̤<EFBFBD>ɽ<EFBFBD><C9BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǥ<EFBFBD><EFBFBD>ڡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>򲡤<EFBFBD><EFBFBD>ơ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˤޤ<EFBFBD> p <20>Dz<EFBFBD><C7B2><EFBFBD>ɽ<EFBFBD><C9BD><EFBFBD><EFBFBD> OFF <20>ˤ<EFBFBD><CBA4>ơ<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>Ф餯<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28><><EFBFBD>å<EFBFBD><C3A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƥ<EFBFBD><C6A4>Ѥ<EFBFBD><D1A4>ä<EFBFBD><C3A4><EFBFBD>) p <20>Dz<EFBFBD><C7B2><EFBFBD>ɽ<EFBFBD><C9BD><EFBFBD><EFBFBD> ON <20>ˤ<EFBFBD><CBA4>ޤ<EFBFBD><DEA4><EFBFBD>
<EFBFBD>ɤ<EFBFBD><EFBFBD>Ǥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> SpeedMac <20>Υ<EFBFBD><CEA5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̤<EFBFBD>ɽ<EFBFBD><C9BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƥ<EFBFBD><C6A4><EFBFBD><EFBFBD>Ǥ<EFBFBD><C7A4><EFBFBD><E7A4A6><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD>ư<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǽͷ<EFBFBD><EFBFBD>Ǥ<EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϥϥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѵؿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƤФ줿<EFBFBD>Ȥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͭ<EFBFBD><EFBFBD><EFBFBD>ǤϤʤ<EFBFBD><EFBFBD>Τǡ<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD>Ĺ<EFBFBD><EFBFBD><EFBFBD>˲<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
p <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> Wonx <20><><EFBFBD><EFBFBD>
Wonx <20>ϡ<EFBFBD>WonderWitch <20><> display_control() <20>Ȥ<EFBFBD> display_status() <20>Ȥ<EFBFBD><C8A4>ä<EFBFBD>
<EFBFBD>ؿ<EFBFBD>(<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƥॳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>)<29>ȸߴ<EFBFBD><EFBFBD>δؿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>äƤ<EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>
<EFBFBD>ؿ<EFBFBD>(BIOS <20><><EFBFBD>Ф<EFBFBD><D0A4><EFBFBD><EFBFBD><EFBFBD>ƥॳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>)<29><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ؤδؿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>äƤ<EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>δؿ<EFBFBD><EFBFBD>ϡ<EFBFBD>X<EFBFBD><EFBFBD><EFBFBD>˥<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɥ<EFBFBD><EFBFBD>򳫤<EFBFBD><EFBFBD>ơ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> WonderWitch <20>ȸߴ<C8B8><DFB4><EFBFBD>ư<EFBFBD><C6B0><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˽񤤤Ƥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>
@@ -78,18 +112,47 @@ Wonx
WonderWitch <20><> display_control() <20>Ȥ<EFBFBD><C8A4>Τ<EFBFBD><CEA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˡ<EFBFBD>Wonx <20><> display_control() <20><>
<EFBFBD><EFBFBD><EFBFBD>󥯤<EFBFBD><EFBFBD>졤X <20><><EFBFBD><EFBFBD>ư<EFBFBD><EFBFBD><EEA4B9><EFBFBD><EFBFBD>ˤʤ롤<CAA4>Ȥ<EFBFBD><C8A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȤߤǤ<DFA4><C7A4><EFBFBD>
<EFBFBD><EFBFBD> <20><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><EFBFBD><EFBFBD>
Wonx <20>ϡ<EFBFBD>UNIX<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˤ<EFBFBD><EFBFBD><EFBFBD> libc <20><><EFBFBD><EFBFBD><EFBFBD>Ѥ<EFBFBD><D1A4>ޤ<EFBFBD><DEA4><EFBFBD><EFBFBD>Ĥޤꡤ/usr/include <EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> include <20><><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD>
<EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>WonderWitch <20>ˤϡ<CBA4>sys/types.h <20>ʤɤȤ<C9A4><C8A4>ä<EFBFBD><C3A4>إå<D8A5><C3A5>ե<EFBFBD><D5A5><EFBFBD><EFBFBD><EFBFBD><EBA4AC><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>äơ<EFBFBD>WonderWitch <20>Υإå<D8A5><C3A5>ե<EFBFBD><D5A5><EFBFBD><EFBFBD><EFBFBD><EBB9BD><EFBFBD>򤽤Τޤ<CEA4> Wonx <20>˰<EFBFBD><CBB0><EFBFBD><EFBFBD>Ѥ<EFBFBD><D1A4>ȡ<EFBFBD>
Wonx <20>Υإå<D8A5><C3A5>ե<EFBFBD><D5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> UNIX <20>Υإå<D8A5><C3A5>ե<EFBFBD><D5A5><EFBFBD><EFBFBD><EFBFBD><EBA4AC><EFBFBD><EFBFBD><EFBFBD>եꥯ<D5A5>Ȥ<EFBFBD><C8A4><EFBFBD>
<EFBFBD><EFBFBD>ǽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ФƤ<EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>
(<28><><EFBFBD>Ȥ<EFBFBD><C8A4>С<EFBFBD>WonderWitch <20><> sys/types.h <20><> /usr/include/sys/types <20><>
<20><><EFBFBD><EFBFBD><EFBFBD>եꥯ<D5A5>Ȥ<EFBFBD><C8A4><EFBFBD>ʤɤǤ<C9A4>)
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϡ<EFBFBD>WonderWitch<EFBFBD>ѤΥ<EFBFBD><EFBFBD>ץꥱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>򥳥<EFBFBD><EFBFBD>ѥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD><EFBFBD>ˡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>դǤ<EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD>Ȥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʤ<EFBFBD><EFBFBD>Ȥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>θ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϡ<EFBFBD><EFBFBD>ۤȤ<EFBFBD><EFBFBD>ɤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Τ<EFBFBD>ʡ<EFBFBD>
<EFBFBD>֥إå<EFBFBD><EFBFBD>ե<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Υ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>եꥯ<EFBFBD>Ȥ⤷<EFBFBD><EFBFBD><EFBFBD>ϸ<EFBFBD>ǧ<EFBFBD>פ˵<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƥ<EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD>Wonx <20>Υ<EFBFBD><CEA5><EFBFBD><EFBFBD>ѥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˤϡ<EFBFBD>WonderWitch <20><>°<EFBFBD>Υإå<D8A5><C3A5>ե<EFBFBD><D5A5><EFBFBD><EFBFBD><EFBFBD>(sys/disp.h <20>Ȥ<EFBFBD>)<EFBFBD><EFBFBD>
ɬ<>פʤΤǡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>򥳥ԡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD>Wonx <20>򥳥<EFBFBD><F2A5B3A5>ѥ<EFBFBD><D1A5><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD><EFBFBD><EFBFBD> libwonx.a <EFBFBD><EFBFBD><EFBFBD>Ǥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>إå<EFBFBD><EFBFBD>ե<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(sys/disp.h <20>Ȥ<EFBFBD>)<29><> libwonx.a <20><><EFBFBD><EFBFBD>Ŭ<EFBFBD>ڤʥǥ<CAA5><C7A5><EFBFBD>ȥ<EFBFBD><C8A5><EFBFBD>
<20>֤<EFBFBD><D6A4>ޤ<EFBFBD><DEA4><EFBFBD>
(<28><><EFBFBD>ץꥱ<D7A5><EAA5B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Υ<EFBFBD><CEA5><EFBFBD><EFBFBD>ѥ<EFBFBD><D1A5><EFBFBD><EFBFBD>ˤϡ<CBA4>WonderWitch <20><>°<EFBFBD>Υإå<D8A5><C3A5>ե<EFBFBD><D5A5><EFBFBD><EFBFBD>뤬ɬ<EBA4AC><C9AC>)
<EFBFBD>к<EFBFBD><EFBFBD>Ȥ<EFBFBD><EFBFBD>ơ<EFBFBD>Wonx <20>Ǥ<EFBFBD> wonx_include <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>(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> sys <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>)
WonderWitch <20>ѥץ<D1A5><D7A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ρ<EFBFBD>
#include <sys/types.h>
<EFBFBD>Τ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʬ<EFBFBD>ϡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>٤ơ<EFBFBD>
#include <wonx_include/types.h>
<EFBFBD>Τ<EFBFBD>˽<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɬ<EFBFBD>פ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>
(stdio.h <20><> stdlib.h <20>ϡ<EFBFBD>UNIX <20><><EFBFBD><EFBFBD><EFBFBD>ƥ<EFBFBD><C6A5><EFBFBD>°<EFBFBD>Τ<EFBFBD><CEA4>Τ<EFBFBD><CEA4><EFBFBD><EFBFBD>Ѥ<EFBFBD><D1A4><EFBFBD><EFBFBD>Τǡ<CEA4>
<20><><EFBFBD>ΤޤޤǤ<DEA4><C7A4>ޤ<EFBFBD><DEA4>ޤ<EFBFBD><DEA4><EFBFBD>)
(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>եꥯ<D5A5>Ȥ<EFBFBD><C8A4>ʤ<EFBFBD><CAA4>Ȥ<EFBFBD><C8A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Фμ<D0A4><CEBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʤ顤<CAA4><E9A1A4><EFBFBD>θ¤<CEB8><C2A4>ǤϤ<C7A4><CFA4><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD>)
WonderWitch <20>Υץ<CEA5><D7A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ρ<EFBFBD>#include <sys/*.h> <20>ϡ<EFBFBD><CFA1><EFBFBD><EFBFBD>٤<EFBFBD>
#include <wonx_include/*.h> <20>˽<EFBFBD><CBBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɬ<EFBFBD>פ<EFBFBD><D7A4><EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD><C8A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȤǤ<C8A4><C7A4><EFBFBD>
(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤȤ<DEA4><C8A4>ƹԤ<C6B9><D4A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> perl <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ץȤ<D7A5>ź<EFBFBD>դ<EFBFBD><D5A4>Ƥ<EFBFBD><C6A4><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD>
sys2wonx.pl *.[ch] <20><><EFBFBD>¹Ԥ<C2B9><D4A4><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>ä<EFBFBD><C3A4><EFBFBD><EFBFBD>Ƚ񤭴<C8BD><F1A4ADB4><EFBFBD><EFBFBD>Ƥ<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>UNIX<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƥ<EFBFBD><EFBFBD>ˤ<EFBFBD><EFBFBD>äƤϡ<EFBFBD>/usr/include/sys/types.h <20><> ushort, ulong <EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ΤȤ<EFBFBD><EFBFBD>ʤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Τ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>äơ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
ulong <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƥ<EFBFBD><C6A4><EFBFBD><EFBFBD>Ȥ<EFBFBD><C8A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E7A4AC><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>Τ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD><EFBFBD><EFBFBD>ˤϡ<EFBFBD>wonx_include <20>ʲ<EFBFBD><CAB2>Υե<CEA5><D5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ľ<EFBFBD>ܽ<EFBFBD><DCBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Ĵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>wonx_include/system_configure.h <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȥˤ<C8A4><CBA4>
Ĵ<EFBFBD><EFBFBD><EFBFBD>Ǥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˤʤäƤޤ<EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD> Wonx <20>Υ<EFBFBD><CEA5><EFBFBD><EFBFBD>ѥ<EFBFBD><D1A5><EFBFBD>
<EFBFBD>ޤ<EFBFBD> Wonx <20>򥳥<EFBFBD><F2A5B3A5>ѥ<EFBFBD><D1A5><EFBFBD>ơ<EFBFBD>libwonx.a <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɬ<EFBFBD>פ<EFBFBD><D7A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD>
Wonx <20>Υ<EFBFBD><CEA5><EFBFBD><EFBFBD>ѥ<EFBFBD><D1A5><EFBFBD><EFBFBD>ϡ<EFBFBD><CFA1>ʲ<EFBFBD><CAB2>μ<EFBFBD><CEBC><EFBFBD><EFBFBD>ǹԤ<C7B9><D4A4>ޤ<EFBFBD><DEA4><EFBFBD>
1. Wonx <20><>Ÿ<EFBFBD><C5B8><EFBFBD><EFBFBD><EFBFBD>
@@ -97,40 +160,7 @@ WonderWitch
~>% cd wonx
~/wonx>%
2. WonderWitch <20><>°<EFBFBD>Υإå<D8A5><C3A5>ե<EFBFBD><D5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>򥳥ԡ<F2A5B3A5><EFBFBD><EFBFBD><EFBFBD>
~/wonx>% mkdir sys
~/wonx>% cp ~/WWitch/include/bank.h sys
~/wonx>% cp ~/WWitch/include/comm.h sys
~/wonx>% cp ~/WWitch/include/disp.h sys
~/wonx>% cp ~/WWitch/include/key.h sys
~/wonx>% cp ~/WWitch/include/sound.h sys
~/wonx>% cp ~/WWitch/include/system.h sys
~/wonx>% cp ~/WWitch/include/text.h sys
~/wonx>% cp ~/WWitch/include/timer.h sys
~/wonx>% cp ~/WWitch/include/types.h sys
3. <20>ʲ<EFBFBD><CAB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƤΥե<CEA5><D5A5><EFBFBD><EFBFBD><EFBFBD>(sys/service.h)<29><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
~/wonx>% emacs sys/service.h
==== <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ====
#ifndef _service_h_INCLUDED_
#define _service_h_INCLUDED_
#define far /* None */
#define near /* None */
#endif
==== <20><><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD> ====
sys/service.h <20>ϡ<EFBFBD>disp.h <20>ʤɤ<CAA4><C9A4><EFBFBD>
#include <sys/service.h>
<EFBFBD>Τ<EFBFBD>ˤ<EFBFBD><EFBFBD>ƥ<EFBFBD><EFBFBD>󥯥롼<EFBFBD>ɤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˤ<EFBFBD> -I. <20>ǥ<EFBFBD><C7A5><EFBFBD><EFBFBD>ѥ<EFBFBD><D1A5><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Τǡ<EFBFBD><EFBFBD>Ф<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˤ<EFBFBD><EFBFBD>äƤϡ<EFBFBD>sys/sys/service.h <20>ˤ<EFBFBD><CBA4><EFBFBD>ɬ<EFBFBD>פ<EFBFBD><D7A4><EFBFBD><EFBFBD><EFBFBD><EBA4AB>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><CCA4>ǧ)
4. Wonx <20><> make <20><><EFBFBD>
2. Wonx <20><> make <EFBFBD><EFBFBD><EFBFBD>
~/wonx>% make
gcc -c WWCharacter.c -O -I. -I/usr/X11R6/include
@@ -142,61 +172,99 @@ ar ruc libwonx.a WWCharacter.o WWColorMap.o WWDisplay.o WWLCDPanel.o WWPalette.o
libwonx.a
~/wonx>%
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤǤǡ<EFBFBD><EFBFBD><EFBFBD>֥<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȥإå<EFBFBD><EFBFBD>ե<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>κ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǥ<EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤǤǡ<EFBFBD><EFBFBD><EFBFBD>֥<EFBFBD><EFBFBD><EFBFBD><EFBFBD>κ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǥ<EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD> WonderWitch <20>ѥ<EFBFBD><D1A5>ץꥱ<D7A5><EAA5B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Υ<EFBFBD><CEA5><EFBFBD><EFBFBD>ѥ<EFBFBD><D1A5><EFBFBD>
<EFBFBD>ۺ<EFBFBD><EFBFBD><EFBFBD> SpeedMac <20>򥳥<EFBFBD><F2A5B3A5>ѥ<EFBFBD><D1A5><EFBFBD>Ƥߤޤ<DFA4><DEA4><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>ˡ<EFBFBD>Wonx <20><><EFBFBD><EFBFBD><EFBFBD>Ѥ<EFBFBD><D1A4><EFBFBD><EFBFBD>Ȥ<EFBFBD><C8A4>ơ<EFBFBD><C6A1>ۺ<EFBFBD><DBBA><EFBFBD> SpeedMac <20>Ȥ<EFBFBD><C8A4><EFBFBD> WonderWitch <20>Ѥ<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>򥳥<EFBFBD><EFBFBD>ѥ<EFBFBD><EFBFBD><EFBFBD>Ƥߤޤ<EFBFBD><EFBFBD><EFBFBD>
(SpeedMac <20>ϥ<EFBFBD><CFA5><EFBFBD><EFBFBD>ץ<EFBFBD><D7A5>ץ<EFBFBD><D7A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD><C8A4>ơ<EFBFBD>Wonx <20><>ɸ<EFBFBD><C9B8>ź<EFBFBD>դ<EFBFBD><D5A4>Ƥ<EFBFBD><C6A4><EFBFBD><EFBFBD>ޤ<EFBFBD>)
SpeedMac <20><> WonderWitch <20>ѤΥ<D1A4><CEA5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ץ<EFBFBD><D7A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǥ<EFBFBD><C7A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> WonderWitch <20><>
<EFBFBD><EFBFBD><EFBFBD>Ѥ<EFBFBD><EFBFBD>ƥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>WonderSwan <20><><EFBFBD>ǥ<EFBFBD><C7A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڤ<EFBFBD><DAA4>ि<EFBFBD><E0A4BF><EFBFBD>Τ<EFBFBD><CEA4>ΤǤ<CEA4><C7A4><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD><EFBFBD>ơ<EFBFBD>SpeedMac <20><> Wonx <20><><EFBFBD><EFBFBD><EFBFBD>󥯤<EFBFBD><F3A5AFA4>ơ<EFBFBD>X <20><><EFBFBD><EFBFBD>ư<EFBFBD><EFBFBD><EEA4B9> SpeedMac <20><>
<EFBFBD>¹Է<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƥߤޤ<EFBFBD><EFBFBD><EFBFBD>
1. Ÿ<><C5B8><EFBFBD><EFBFBD><EFBFBD>
~/wonx>% cd
~>% unzip xvzf smac-b02.zip
~/wonx>% unzip smac-b02.zip
...(<28><>ά)...
~>% cd smac-b02
~/smac-b02>%
~/wonx>% cd smac-b02
~/wonx/smac-b02>%
2. <20>إå<D8A5><C3A5>ե<EFBFBD><D5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> libwonx.a <20>򥳥ԡ<F2A5B3A5><D4A1><EFBFBD><EFBFBD>
~/smac-b02>% mkdir sys
~/smac-b02>% cp ~/wonx/sys/* ./sys
~/smac-b02>% cp ~/wonx/libwonx.a .
~/smac-b02>%
~/wonx/smac-b02>% cp -R ../wonx_include .
~/wonx/smac-b02>% cp ../libwonx.a .
~/wonx/smac-b02>%
3. Makefile <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
3. makefile <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
~/smac-b02>% emacs Makefile
~/wonx/smac-b02>% emacs makefile
<EFBFBD>ʲ<EFBFBD><EFBFBD>Τ<EFBFBD>˽<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD>gcc <20>ǥ<EFBFBD><C7A5><EFBFBD><EFBFBD>ѥ<EFBFBD><D1A5><EFBFBD><EFBFBD>򤹤<EFBFBD><F2A4B9A4><EFBFBD>˽<EFBFBD><CBBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EBA1A5><EFBFBD>ΤȤ<CEA4><C8A4>ˡ<EFBFBD><CBA1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѥ<EFBFBD><D1A5><EFBFBD>ץ<EFBFBD><D7A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˡ<EFBFBD>
-I. -I/usr/X11R6/include -L. -L/usr/X11R6/lib -lwonx -lX11 -lXt
-I. -L. -L/usr/X11R6/lib -lwonx -lX11 -lXt
<20><><EFBFBD>ɲä<C9B2><C3A4>
<>פʤ顤-g <20><><EFBFBD>ɲä<C9B2><C3A4><EFBFBD>)
<EFBFBD><EFBFBD>mkfent <20>ˤ<EFBFBD><CBA4><EFBFBD><EFBFBD>ե<EFBFBD><D5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Υ<EFBFBD><CEA5><EFBFBD><EFBFBD>С<EFBFBD><D0A1>Ȥʤɤ<CAA4><C9A4><EFBFBD><EFBFBD>ä<EFBFBD><C3A4><EFBFBD><E9A1A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
4. make <20><><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> makefile <20><>ź<EFBFBD>դ<EFBFBD><D5A4>Ƥ<EFBFBD><C6A4><EFBFBD><EFBFBD>Τǡ<CEA4><C7A1><EFBFBD><EFBFBD>ݤʤ<DDA4><CAA4><EFBFBD><EFBFBD>ϼ<EFBFBD><CFBC><EFBFBD><EFBFBD>Խ<EFBFBD><D4BD><EFBFBD><EFBFBD><EFBFBD><EBA4AB><EFBFBD><EFBFBD><EFBFBD>ˡ<EFBFBD>
~/smac-b02>% make
~/wonx/smac-b02>% mv makefile makefile.orig
~/wonx/smac-b02>% cp ../makefile_for_smac ./makefile
<EFBFBD>Τ<EFBFBD>ˤ<EFBFBD><EFBFBD>ƥ<EFBFBD><EFBFBD>ԡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
4. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
~/wonx/smac-b02>% emacs chara.c
~/wonx/smac-b02>% emacs dsp.c
... (<28>ե<EFBFBD><D5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҤȤĤҤȤĽ<C8A4><C4BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ρ<EFBFBD>
#include <sys/disp.h>
#include <sys/key.h>
<EFBFBD>Τ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#include "wonx_include/disp.h"
#include "wonx_include/key.h"
<EFBFBD>Τ<EFBFBD>˽<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤȤ<EFBFBD><EFBFBD>Ƥ<EFBFBD><EFBFBD>뤿<EFBFBD><EFBFBD><EFBFBD><EFBFBD> perl <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ץ<EFBFBD> (sys2wonx.pl) <20><>ź<EFBFBD>դ<EFBFBD><D5A4>Ƥ<EFBFBD><C6A4><EFBFBD><EFBFBD>Τǡ<CEA4>
<EFBFBD><EFBFBD><EFBFBD>ݤʤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϡ<EFBFBD>
~/wonx/smac-b02>% cp ../sys2wonx.pl .
~/wonx/smac-b02>% ./sys2wonx.pl *.[ch]
<EFBFBD>Τ<EFBFBD>ˤ<EFBFBD><EFBFBD>Ƥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
(sys2wonx.pl <20>ϡ<EFBFBD><CFA1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǻ<EFBFBD><C7BB><EFBFBD><EAA4B7><EFBFBD>ե<EFBFBD><D5A5><EFBFBD><EFBFBD><EFBFBD>Τ<EFBFBD><CEA4>񤭴<EFBFBD><F1A4ADB4><EFBFBD><EFBFBD>Ƥ<EFBFBD><C6A4>ޤ<EFBFBD><DEA4>Τ<EFBFBD><CEA4><EFBFBD><EFBFBD><EFBFBD>)
5. make <20><><EFBFBD>
~/wonx/smac-b02>% make
gcc -c chara.c -g -I.
gcc -c game.c -g -I.
...(<28><>ά)...
gcc -c main.c -g -I.
gcc -g -o smac chara.o game.o man.o mansub.o mansub2.o map.o mapsub.o menu.o monster.o picture.o player.o smac.o stage.o dsp.o etc.o main.o -lwonx -lX11 -lXt -L. -L/usr/X11R6/lib
~/smac-b02>% ls smac
~/wonx/smac-b02>% ls smac
smac
~/smac-b02>%
~/wonx/smac-b02>%
5. smac <20><><EFBFBD><EFBFBD>ư<EFBFBD><C6B0><EFBFBD>
6. smac <20><><EFBFBD><EFBFBD>ư<EFBFBD><C6B0><EFBFBD>
~/smac-b02>% ./smac
~/wonx/smac-b02>% ./smac
<EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤǤ<EFBFBD><EFBFBD>ä<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݤǤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¤ϡ<EFBFBD>
~/wonx>% make smac
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><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>
smac <20><><EFBFBD><EFBFBD>ư<EFBFBD><C6B0><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɥ<EFBFBD><C9A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߥʥ<DFA5><CAA5>ˤϡ<CBA4>
<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>ؿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƤФ<EFBFBD><EFBFBD><EFBFBD><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><EFBFBD><EFBFBD>شؿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƤФ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͤ<EFBFBD>ɽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>
<EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǥϡ<EFBFBD><EFBFBD>ʲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԥ<EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>
@@ -211,9 +279,11 @@ smac
<EFBFBD><EFBFBD>F3 <20>򲡤<EFBFBD><F2B2A1A4>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E9A5AF><EFBFBD><EFBFBD><EFBFBD>Υǡ<CEA5><C7A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>׽<EFBFBD><D7BD>Ϥ<EFBFBD><CFA4>
<EFBFBD><EFBFBD>F4 <20>򲡤<EFBFBD><F2B2A1A4>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>ץ饤<D7A5>ȤΥǡ<CEA5><C7A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>׽<EFBFBD><D7BD>Ϥ<EFBFBD><CFA4>
ɸ<EFBFBD><EFBFBD><EFBFBD>ǤϤʤˤ<EFBFBD><EFBFBD>ؿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƤФ<EFBFBD><EFBFBD>뤿<EFBFBD>Ӥ˲<EFBFBD><EFBFBD>̤κ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>®<EFBFBD>Ǥ<EFBFBD><EFBFBD><EFBFBD>
<EFBFBD>ǥե<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȤǤϤʤˤ<EFBFBD><EFBFBD>ؿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƤФ<EFBFBD><EFBFBD>뤿<EFBFBD>Ӥ˲<EFBFBD><EFBFBD>̤κ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>®<EFBFBD>Ǥ<EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD><EFBFBD>С<EFBFBD><EFBFBD>ʲ<EFBFBD><EFBFBD>Τ<EFBFBD>ʤ<EFBFBD><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>̤Υ<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> */
@@ -236,8 +306,8 @@ smac
> smac | grep "character\[10\]"
wonx <20>ϡ<EFBFBD><CFA1><EFBFBD><EFBFBD>å<EFBFBD><C3A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϥ<EFBFBD><CFA4><EFBFBD><EFBFBD>Ƥˡ<EFBFBD>grep <20>ǥե<C7A5><D5A5>륿<EFBFBD><EBA5BF><EFBFBD>󥰤Ǥ<F3A5B0A4><C7A4><EFBFBD><EFBFBD><EFBFBD>ˡ<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>ʤ餺<EFBFBD>Ԥ<EFBFBD><EFBFBD><EFBFBD>Ƭ<EFBFBD><EFBFBD><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><CFA1><EFBFBD><EFBFBD>å<EFBFBD><C3A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϥ<EFBFBD><CFA4><EFBFBD><EFBFBD>ݤˡ<EFBFBD>grep <20>ǥե<C7A5><D5A5>륿<EFBFBD><EBA5BF><EFBFBD>󥰤Ǥ<F3A5B0A4><C7A4><EFBFBD><EFBFBD><EFBFBD>ˡ<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>ʤ餺<EFBFBD><EFBFBD><EFBFBD>ϥ<EFBFBD><EFBFBD>å<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƭ<EFBFBD>ˡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Τ<EFBFBD><EFBFBD><EFBFBD>ʸ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɲä<EFBFBD><EFBFBD>Ƥ<EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD><EFBFBD>С<EFBFBD><EFBFBD>ؿ<EFBFBD><EFBFBD>ƤӽФ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>å<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˤϡ<EFBFBD><EFBFBD><EFBFBD>Ƭ<EFBFBD><EFBFBD>ɬ<EFBFBD><EFBFBD>
"call" <20>Ȥ<EFBFBD><C8A4><EFBFBD>ʸ<EFBFBD><CAB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɲä<C9B2><C3A4><EFBFBD><EFBFBD>Ƥޤ<C6A4><DEA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>äơ<C3A4>grep -v call <20><><EFBFBD>̤<EFBFBD><CCA4>С<EFBFBD>
<EFBFBD>ؿ<EFBFBD><EFBFBD>ƤӽФ<EFBFBD><EFBFBD>Υ<EFBFBD><EFBFBD>å<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ä<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Фʤ<EFBFBD><EFBFBD>ʤ롤<EFBFBD>Ȥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˤʤäƤޤ<EFBFBD><EFBFBD><EFBFBD>
@@ -249,10 +319,99 @@ wonx
<EFBFBD>Τ<EFBFBD>ˤ<EFBFBD><EFBFBD>ơ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD><EFBFBD>Τ<EFBFBD>ͭ<EFBFBD><EFBFBD><EFBFBD>Ǥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
> smac > /dev/null
<EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD>ʸ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> kterm <20>ʤɤ<CAA4>ɽ<EFBFBD><C9BD><EFBFBD><EFBFBD><EFBFBD>ʤ<EFBFBD><CAA4>֤󡤹<D6A4>®<EFBFBD>ˤʤ<CBA4><CAA4>ޤ<EFBFBD><DEA4><EFBFBD>
<EFBFBD><EFBFBD> ­<><C2AD><EFBFBD>ʤ<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>
<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> <20><><EFBFBD>դ<EFBFBD><D5A4>ʤ<EFBFBD><CAA4><EFBFBD><EFBFBD>Фʤ<D0A4><CAA4>ʤ<EFBFBD><CAA4><EFBFBD><EFBFBD><EFBFBD>
Wonx <20>ϡ<EFBFBD><CFA1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> WonderWitch <20>ѤȤ<D1A4><C8A4>ƽ񤫤줿(<28><EFBFBD><E2A4B7><EFBFBD>ϡ<EFBFBD><CFA1>񤫤<EFBFBD><F1A4ABA4><EFBFBD>)<29>ץ<EFBFBD><D7A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
UNIX <20><><EFBFBD>ǥ<EFBFBD><C7A5><EFBFBD><EFBFBD>ѥ<EFBFBD><D1A5><EFBFBD><EBA1A6><EFBFBD>󥯤<EFBFBD><F3A5AFA4>뤿<EFBFBD><EBA4BF><EFBFBD>Υ<CEA5>֥<EFBFBD><D6A5><EFBFBD><EFBFBD>Ǥ<EFBFBD><C7A4><EFBFBD>ϡ<EFBFBD><CFA1>ɥ<EFBFBD><C9A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><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><> UNIX <20><><EFBFBD><EFBFBD>C<EFBFBD><43><EFBFBD><EFBFBD><EFBFBD>Υ<EFBFBD><CEA5><EFBFBD><EFBFBD>åפΤ<D7A4><CEA4><EFBFBD><E1A1A4><EFBFBD><EFBFBD><EFBFBD>Ĥ<EFBFBD><C4A4>ʤ<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> Wonx <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E5A1A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̵<EFBFBD><CCB5><EFBFBD><EFBFBD><EFBFBD>ȤǤ<C8A4><C7A4><EFBFBD>
<EFBFBD>ʲ<EFBFBD><EFBFBD>Τ<EFBFBD><EFBFBD>Ȥϡ<EFBFBD><EFBFBD>ռ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȥȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʥץ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>񤯤<EFBFBD><EFBFBD>Ȥǡ<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>ʤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȼפ<EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>(short int <20>ˤ<EFBFBD><CBA4>٤<EFBFBD><D9A4>Ȥ<EFBFBD><C8A4><EFBFBD><EFBFBD>Ǥϡ<C7A4><CFA1><EFBFBD>ά<EFBFBD><CEAC><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>Ȥˤ<C8A4><CBA4><EFBFBD><EFBFBD>Τǡ<CEA4><C7A1><EFBFBD><EFBFBD>Τؤ<CEA4><D8A4><EFBFBD>
<EFBFBD><EFBFBD><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>礦)
[<5B><><EFBFBD><EFBFBD><EFBFBD>ѥ<EFBFBD><D1A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
<EFBFBD><EFBFBD><EFBFBD>ˤ<EFBFBD><EFBFBD>񤭤ޤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǥ<EFBFBD><EFBFBD>ʤ<EFBFBD><EFBFBD>Ȥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ф<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƥ<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><> sys <20>ʲ<EFBFBD><CAB2><EFBFBD>
<EFBFBD>ե<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>򥤥󥯥롼<EFBFBD>ɤ<EFBFBD><EFBFBD>Ƥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>դ<EFBFBD><EFBFBD>Ƥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
ushort, ulong <20>ʤɤϡ<C9A4>sys/types.h <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƥ<EFBFBD><C6A4><EFBFBD><EBA5B7><EFBFBD>ƥ<EFBFBD><C6A5><EFBFBD><EFBFBD><EBA4B7>
<EFBFBD><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_include/system_configure.h <20><>
Ĵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
(FreeBSD <20>Ǥ<EFBFBD> ushort <20>Τ<EFBFBD><CEA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƥ<EFBFBD><C6A4><EFBFBD><EBA4AC>RedHat Linux <20>Ǥϡ<C7A4>
uchort, ulong <20>Ȥ<EFBFBD><C8A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƥ<EFBFBD><C6A4><EFBFBD><EFBFBD>Τǡ<CEA4><C7A1><EFBFBD><EFBFBD>Τޤޤ<DEA4><DEA4>ȥ<EFBFBD><C8A5><EFBFBD><EFBFBD>ѥ<EFBFBD><D1A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Υ<CEA5>˥󥰤<CBA5><F3A5B0A4>Фޤ<D0A4>)
[int <20><><EFBFBD>ΰ<EFBFBD><CEB0><EFBFBD>]
WonderWitch <20>Ǥ<EFBFBD> sizeof(short int) == sizeof(int) < sizeof(long int) <20>Ǥ<EFBFBD><C7A4><EFBFBD><EFBFBD><EFBFBD>
UNIX <20>ǤϤդĤ<D5A4> sizeof(short int) < sizeof(int) == sizeof(long int) <20>Ǥ<EFBFBD><C7A4><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>Τ<EFBFBD><EFBFBD>Ȥϡ<EFBFBD>int <20><><EFBFBD><EFBFBD>ñ<EFBFBD>ʤ륫<CAA4><EBA5AB><EFBFBD>󥿤Ȥ<F3A5BFA4><C8A4>ƻ<EFBFBD><C6BB>Ѥ<EFBFBD><D1A4><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>ˤ<EFBFBD><CBA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD>ʤ<EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD>󤬡<EFBFBD><EFBFBD>ӥåȥޥåפγ<EFBFBD>Ǽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD><EFBFBD>ƻ<EFBFBD><EFBFBD>Ѥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʤȤ<EFBFBD><EFBFBD>ˤϡ<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˤʤ<EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˤʤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Τϡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Υӥåȥޥåפ򰷤<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǥ<EFBFBD><EFBFBD><EFBFBD>
font_set_colordata()<29>ʤɤϡ<C9A4>16*8 <20>Х<EFBFBD><D0A5>ȤΥ<C8A4><CEA5><EFBFBD><EFBFBD><EFBFBD><E9A5AF><EFBFBD>ǡ<EFBFBD><C7A1><EFBFBD><EFBFBD><EFBFBD>
short int <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD><C8A4>ư<EFBFBD><C6B0><EFBFBD><EFBFBD>˻<EFBFBD><CBBB><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD>WonderWitch <20>Ǥ<EFBFBD>
sizeof(short int) == sizeof(int) <20>ʤΤǡ<CEA4>WonderWitch <20>ѤΥץ<CEA5><D7A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǥϡ<C7A4>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> short int <20>Ȥ<EFBFBD><C8A4><EFBFBD><EFBFBD>ˡ<EFBFBD>int <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD><C8A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƥ<EFBFBD><C6A4>ޤ<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD><EFBFBD>ͤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD> WonderWitch <20>ʤ<EFBFBD><CAA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̵<EFBFBD><CCB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>UNIX <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><EFBFBD><EFBFBD>ˤϡ<EFBFBD>UNIX <20><><EFBFBD>ǥ<EFBFBD><C7A5><EFBFBD><EFBFBD>ѥ<EFBFBD><D1A5><EFBFBD><EBA4B9><EFBFBD>Ȥ<EFBFBD><C8A4>ˤϡ<CBA4>short int <20><>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɬ<EFBFBD>פ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>
[<5B><><EFBFBD><EFBFBD><EFBFBD>ǥ<EFBFBD><C7A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
WonderWitch <20><> CPU <20><> x86<38>ϤǤ<CFA4><C7A4><EFBFBD>SPARC <20>ʤɤǻ<C9A4><C7BB>Ѥ<EFBFBD><D1A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˤϡ<CBA4>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>դ<EFBFBD><EFBFBD><EFBFBD>ɬ<EFBFBD>פ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>
font_set_colordata()<29>ʤɤϡ<C9A4>short int <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǥ<EFBFBD><C7A5><EFBFBD><EFBFBD><EFBFBD><E9A5AF><EFBFBD>ǡ<EFBFBD><C7A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD>Τǡ<EFBFBD>char * <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E9A5AF><EFBFBD>ǡ<EFBFBD><C7A1><EFBFBD><EFBFBD><EFBFBD> short int * <20>˥<EFBFBD><CBA5><EFBFBD>Ȥ<EFBFBD><C8A4><EFBFBD>
font_set_colordata()<29><><EFBFBD>Ϥ<EFBFBD><CFA4>ʤɤΤ<C9A4><CEA4>Ȥ򤷤Ƥ<F2A4B7A4><C6A4><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҥä<D2A4><C3A4><EFBFBD><EFBFBD>֤<EFBFBD>
<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>
[<5B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߤ<EFBFBD><DFA4><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>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>äѤʤ<EFBFBD><EFBFBD>ˤʤäƤ<EFBFBD><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><EFBFBD><EFBFBD>ʤ<EFBFBD><CAA4><EFBFBD><E7A4AD><EFBFBD>ˤ<EFBFBD><CBA4>Ƥ<EFBFBD><C6A4><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϡ<EFBFBD>wonx_configure.h <20><>Ĵ<EFBFBD><C4B4><EFBFBD>Ǥ<EFBFBD><C7A4>ޤ<EFBFBD><DEA4><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߥϥ<EFBFBD><EFBFBD>ɥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˻<EFBFBD><EFBFBD>֤Τ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʤɤ򤷤Ƥ<EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˤϡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߤλ<EFBFBD><EFBFBD><EFBFBD>ñ<EFBFBD>̤<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǥʤ<EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD>ϥ<EFBFBD><EFBFBD>ɥ餫<EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>ä<EFBFBD><EFBFBD>ִ֤ˤޤ<EFBFBD><EFBFBD>ϥ<EFBFBD><EFBFBD>ɥ餬<EFBFBD>ƤФ<EFBFBD><EFBFBD>ơ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><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>
ȿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>
ȿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD><EFBFBD>äƤʤ<EFBFBD><EFBFBD>ɤⲡ<EFBFBD><EFBFBD><EFBFBD>ΤǤʤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><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>
Wonx <20>ϡ<EFBFBD><CFA1><EFBFBD><EFBFBD>湰μ<E6B9B0><CEBC><EFBFBD>̶<EFBFBD><CCB6>ż֤<C5BC><D6A4><EFBFBD><EFBFBD><EFBFBD> Libretto <20>ǽ񤤤<C7BD><F1A4A4A4><EFBFBD><EFBFBD>ʤǤ<EFBFBD><EFBFBD><EFBFBD>
GPL<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ۤ<EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>
Wonx <20>ϡ<EFBFBD><CFA1><EFBFBD><EFBFBD>湰μ<E6B9B0><CEBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֤<EFBFBD><EFBFBD>̶<EFBFBD><EFBFBD>ż֤<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Libretto <20>ǽ񤤤<C7BD><F1A4A4A4><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>ż֥<EFBFBD><EFBFBD>եȥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>פǤ<EFBFBD><EFBFBD><EFBFBD>GPL<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ۤ<EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>ԤˤĤ<EFBFBD><EFBFBD>Ƥϡ<EFBFBD>ź<EFBFBD>դ<EFBFBD> OMAKE.jpn <20>򻲾Ȥ<F2BBB2BE><C8A4>Ƥ<EFBFBD><C6A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>湰μ<EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Υ<EFBFBD><EFBFBD>ɥ쥹<EFBFBD>ϡ<EFBFBD>
sakai@seki.ee.kagu.sut.ac.jp
@@ -260,5 +419,10 @@ hsakai@pfu.co.jp
<EFBFBD>Ǥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܥ<EFBFBD><EFBFBD>եȥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>κǿ<EFBFBD><EFBFBD>Ǥ<EFBFBD><EFBFBD><EFBFBD>
http://www.seki.ee.kagu.sut.ac.jp/~sakai/WonderWitch/index.html
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ۤ<EFBFBD><EFBFBD>Ƥ<EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>
<EFBFBD>ʲ<EFBFBD><EFBFBD>ϥߥ顼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȤǤ<EFBFBD><EFBFBD><EFBFBD>
http://hp.vector.co.jp/authors/VA014157/index.html
http://www.people.or.jp/~hsakai/index.html
<EFBFBD>ߥ顼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȥϡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD><EFBFBD>˥<EFBFBD><EFBFBD>åץǡ<EFBFBD><EFBFBD>Ȥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Τǡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>˺ǿ<EFBFBD><EFBFBD><EFBFBD>
<EFBFBD>Ȥ<EFBFBD><EFBFBD><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>Υե<CEA5><D5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϥ<EFBFBD><CFA4><EFBFBD><EFBFBD>ޤ<EFBFBD>

View File

@@ -150,7 +150,7 @@ int UNIXTimer_Pause(UNIXTimer unix_timer)
int UNIXTimer_Unpause(UNIXTimer unix_timer)
{
if (unix_timer->pause == 0)
Error("UNIXTimer_Unpause", "Duplicated unpause.");
Wonx_Error("UNIXTimer_Unpause", "Duplicated unpause.");
if (unix_timer->pause == 1) {
if (unix_timer->interrupt_in_pause > 0) {
@@ -243,7 +243,7 @@ UNIXTimer UNIXTimer_Create(int auto_preset, int interval, void * parameter,
unix_timer = (UNIXTimer)malloc(sizeof(_UNIXTimer));
if (unix_timer == NULL)
Error("UNIXTimer_Create", "Cannot allocate memory.");
Wonx_Error("UNIXTimer_Create", "Cannot allocate memory.");
unix_timer->timer_on = 0;
unix_timer->pause = 0;
@@ -281,7 +281,7 @@ UNIXTimer UNIXTimer_Create(int auto_preset, int interval, void * parameter,
UNIXTimer UNIXTimer_Destroy(UNIXTimer unix_timer)
{
if (unix_timer == NULL)
Error("UNIXTimer_Destroy", "Object is not created.");
Wonx_Error("UNIXTimer_Destroy", "Object is not created.");
UNIXTimer_OFF(unix_timer);

View File

@@ -11,7 +11,7 @@
int WWCharacter_GetNumber(WWCharacter c)
{
if (c == NULL) Error("WWCharacter_GetNumber()", "WWCharacter is NULL.");
if (c == NULL) Wonx_Error("WWCharacter_GetNumber()", "WWCharacter is NULL.");
return (c->number);
}
@@ -19,7 +19,7 @@ int WWCharacter_GetNumber(WWCharacter c)
int WWCharacter_SetNumber(WWCharacter c, int n)
{
if ((n < 0) || (n >= 512))
Error("WWCharacter_SetNumber()", "Invalid range.");
Wonx_Error("WWCharacter_SetNumber()", "Invalid range.");
return (c->number = n);
}
@@ -30,7 +30,7 @@ WWCharacter WWCharacter_Create(int number, unsigned char * bitmap)
character = (WWCharacter)malloc(sizeof(_WWCharacter));
if (character == NULL)
Error("WWCharacter_Create", "Cannot allocate memory.");
Wonx_Error("WWCharacter_Create", "Cannot allocate memory.");
WWCharacter_SetNumber(character, number);
WWCharacter_SetBitmap(character, bitmap);
@@ -41,17 +41,22 @@ WWCharacter WWCharacter_Create(int number, unsigned char * bitmap)
WWCharacter WWCharacter_Destroy(WWCharacter character)
{
if (character == NULL)
Error("WWCharacter_Destroy()", "WWCharacter is NULL.");
Wonx_Error("WWCharacter_Destroy()", "WWCharacter is NULL.");
free(character);
return (NULL);
}
unsigned char * WWCharacter_GetBitmap(WWCharacter character)
{
return (character->bitmap);
}
int WWCharacter_SetBitmap(WWCharacter character, unsigned char * bitmap)
{
int i;
if (character == NULL)
Error("WWCharacter_SetBitmap()", "WWCharacter is NULL.");
Wonx_Error("WWCharacter_SetBitmap()", "WWCharacter is NULL.");
for (i = 0; i < 16; i++) {
if (bitmap == NULL) {
@@ -67,12 +72,12 @@ int WWCharacter_SetBitmap(WWCharacter character, unsigned char * bitmap)
int WWCharacter_GetPixel(WWCharacter character, int x, int y)
{
if (character == NULL)
Error("WWCharacter_GetPixel()", "WWCharacter is NULL.");
Wonx_Error("WWCharacter_GetPixel()", "WWCharacter is NULL.");
if ((x < 0) || (x > 7))
Error("WWCharacter_GetPixel()", "x is invalid value.");
Wonx_Error("WWCharacter_GetPixel()", "x is invalid value.");
if ((y < 0) || (y > 7))
Error("WWCharacter_GetPixel()", "y is invalid value.");
Wonx_Error("WWCharacter_GetPixel()", "y is invalid value.");
/* <20>ӥåȥޥåפ<C3A5>2<EFBFBD>ӥåȤǤԤȤĤΥԥ<CEA5><D4A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD><D0B1><EFBFBD><EFBFBD>롥 */
/* 2<>ӥåȤ<C3A5><C8A4>ͤ<EFBFBD><CDA4><EFBFBD>palette <20>ο<EFBFBD><CEBF><EFBFBD><EFBFBD>б<EFBFBD><D0B1><EFBFBD><EFBFBD>롥 */
@@ -86,14 +91,14 @@ int WWCharacter_SetPixel(WWCharacter character, int x, int y, int pixel)
{
unsigned char p;
if (character == NULL)
Error("WWCharacter_SetPixel()", "WWCharacter is NULL.");
Wonx_Error("WWCharacter_SetPixel()", "WWCharacter is NULL.");
if ((x < 0) || (x > 7))
Error("WWCharacter_SetPixel()", "x is invalid value.");
Wonx_Error("WWCharacter_SetPixel()", "x is invalid value.");
if ((y < 0) || (y > 7))
Error("WWCharacter_SetPixel()", "y is invalid value.");
Wonx_Error("WWCharacter_SetPixel()", "y is invalid value.");
if ((pixel < 0) || (pixel > 3))
Error("WWCharacter_SetPixel()", "Invalid pixel.");
Wonx_Error("WWCharacter_SetPixel()", "Invalid pixel.");
p = ((unsigned char)pixel) & 0x03;
p = p << ((x % 4) * 2);
@@ -111,7 +116,7 @@ int WWCharacter_CopyBitmap(WWCharacter dst, WWCharacter src)
int WWCharacter_PrintData(WWCharacter character, FILE * f)
{
int x, y, n;
int x, y, i, n;
n = WWCharacter_GetNumber(character);
@@ -120,6 +125,11 @@ int WWCharacter_PrintData(WWCharacter character, FILE * f)
fprintf(f, "character[%d] :\tnumber = %d\n",
n, WWCharacter_GetNumber(character));
for (i = 0; i < 16; i++) {
fprintf(f, "character[%d] :\tbitmap[%d] = 0x%02x\n",
n, i, (int)(WWCharacter_GetBitmap(character)[i]));
}
for (y = 0; y < 8; y++) {
fprintf(f, "character[%d] :\tbitmap : ", n);
for (x = 0; x < 8; x++) {

View File

@@ -22,6 +22,7 @@ int WWCharacter_GetNumber(WWCharacter c);
int WWCharacter_SetNumber(WWCharacter c, int n);
WWCharacter WWCharacter_Create(int number, unsigned char * bitmap);
WWCharacter WWCharacter_Destroy(WWCharacter character);
unsigned char * WWCharacter_GetBitmap(WWCharacter character);
int WWCharacter_SetBitmap(WWCharacter character, unsigned char * bitmap);
int WWCharacter_GetPixel(WWCharacter character, int x, int y);
int WWCharacter_SetPixel(WWCharacter character, int x, int y, int pixel);

View File

@@ -14,7 +14,8 @@ WWColorMap WWColorMap_Create(int * lcd_colors)
WWColorMap color_map;
color_map = (WWColorMap)malloc(sizeof(_WWColorMap));
if (color_map == NULL) Error("WWColorMap_Create", "Cannot allocate memory");
if (color_map == NULL)
Wonx_Error("WWColorMap_Create", "Cannot allocate memory");
WWColorMap_SetLCDColors(color_map, lcd_colors);

View File

@@ -96,7 +96,8 @@ WWDisplay WWDisplay_Create(int lcd_panel_width, int lcd_panel_height,
int i;
display = (WWDisplay)malloc(sizeof(_WWDisplay));
if (display == NULL) Error("WWDisplay_Create", "Cannot allocate memory.");
if (display == NULL)
Wonx_Error("WWDisplay_Create", "Cannot allocate memory.");
WWDisplay_SetColorMap(display, WWColorMap_Create(NULL));

View File

@@ -45,7 +45,7 @@ static WWInterruptVector WWInterruptVector_Create(int number)
vector = (WWInterruptVector)malloc(sizeof(_WWInterruptVector));
if (vector == NULL)
Error("WWInterruptVector_Create", "Cannot allocate memory.");
Wonx_Error("WWInterruptVector_Create", "Cannot allocate memory.");
WWInterruptVector_SetNumber(vector, number);
WWInterruptVector_SetCallback(vector, NULL);
@@ -58,7 +58,7 @@ static WWInterruptVector WWInterruptVector_Create(int number)
static WWInterruptVector WWInterruptVector_Destroy(WWInterruptVector vector)
{
if (vector == NULL)
Error("WWInterruptVector_Destroy", "Object is not created.");
Wonx_Error("WWInterruptVector_Destroy", "Object is not created.");
free(vector);
return (NULL);
}
@@ -71,7 +71,7 @@ static WWInterruptVector WWInterrupt_GetVector(WWInterrupt interrupt,
int number)
{
if ((number < 0) || (number > 7))
Error("WWInterrupt_SetVector", "Invalid interrupt number.");
Wonx_Error("WWInterrupt_SetVector", "Invalid interrupt number.");
return (interrupt->vector[number]);
}
@@ -80,7 +80,7 @@ static WWInterruptVector WWInterrupt_SetVector(WWInterrupt interrupt,
WWInterruptVector vector)
{
if ((number < 0) || (number > 7))
Error("WWInterrupt_SetVector", "Invalid interrupt number.");
Wonx_Error("WWInterrupt_SetVector", "Invalid interrupt number.");
return (interrupt->vector[number] = vector);
}
@@ -313,7 +313,7 @@ WWInterrupt WWInterrupt_Create()
interrupt = (WWInterrupt)malloc(sizeof(_WWInterrupt));
if (interrupt == NULL)
Error("WWInterrupt_Create", "Cannot allocate memory.");
Wonx_Error("WWInterrupt_Create", "Cannot allocate memory.");
for (i = 0; i < 8; i++)
WWInterrupt_SetVector(interrupt, i, WWInterruptVector_Create(i));
@@ -331,7 +331,7 @@ WWInterrupt WWInterrupt_Destroy(WWInterrupt interrupt)
WWInterruptVector vector;
if (interrupt == NULL)
Error("WWInterrupt_Destroy", "Object is not created.");
Wonx_Error("WWInterrupt_Destroy", "Object is not created.");
for (i = 0; i < 8; i++) {
vector = WWInterrupt_GetVector(interrupt, i);

View File

@@ -8,7 +8,7 @@
#include <stdio.h>
#include <stdlib.h>
#include "sys/system.h"
#include "wonx_include/system.h"
/*****************************************************************************/
/* <20><><EFBFBD><EFBFBD><E9A5B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */

View File

@@ -92,7 +92,8 @@ WWLCDPanel WWLCDPanel_Create(int width, int height)
int x, y, i;
lcd_panel = (WWLCDPanel)malloc(sizeof(_WWLCDPanel));
if (lcd_panel == NULL) Error("WWLCDPanel_Create", "Cannot allocate memory.");
if (lcd_panel == NULL)
Wonx_Error("WWLCDPanel_Create", "Cannot allocate memory.");
WWLCDPanel_SetWidth( lcd_panel, width);
WWLCDPanel_SetHeight(lcd_panel, height);

View File

@@ -21,7 +21,8 @@ WWPalette WWPalette_Create(int number, int * mapped_colors, int transparent)
WWPalette palette;
palette = (WWPalette)malloc(sizeof(_WWPalette));
if (palette == NULL) Error("WWPalette_Create", "Cannot allocate memory");
if (palette == NULL)
Wonx_Error("WWPalette_Create", "Cannot allocate memory");
WWPalette_SetNumber(palette, number);
WWPalette_SetTransparent(palette, transparent);

View File

@@ -41,7 +41,7 @@ static WWScreenCharacter WWScreenCharacter_Create(int horizontal, int vertical,
screen_character = (WWScreenCharacter)malloc(sizeof(_WWScreenCharacter));
if (screen_character == NULL)
Error("WWScreenCharacter", "Cannot allocate memory.");
Wonx_Error("WWScreenCharacter", "Cannot allocate memory.");
WWScreenCharacter_SetHorizontal(screen_character, horizontal);
WWScreenCharacter_SetVertical(screen_character, vertical);
@@ -200,7 +200,8 @@ WWScreen WWScreen_Create(int number,
int x, y;
screen = (WWScreen)malloc(sizeof(_WWScreen));
if (screen == NULL) Error("WWScreen_Create", "Cannot allocate memory.");
if (screen == NULL)
Wonx_Error("WWScreen_Create", "Cannot allocate memory.");
WWScreen_SetNumber(screen, number);
WWScreen_SetWidth( screen, width);

View File

@@ -63,7 +63,8 @@ WWSprite WWSprite_Create(int number, int x, int y,
WWSprite sprite;
sprite = (WWSprite)malloc(sizeof(_WWSprite));
if (sprite == NULL) Error("WWSprite_Create", "Cannot allocate memory.");
if (sprite == NULL)
Wonx_Error("WWSprite_Create", "Cannot allocate memory.");
WWSprite_SetNumber(sprite, number);
WWSprite_SetHorizontal(sprite, horizontal);

View File

@@ -55,7 +55,7 @@ int WWText_SetTextWindow(WWText ww_text, int x, int y,
c = WWText_GetBase(ww_text);
for (ty = 0; ty < WWText_GetHeight(ww_text); ty++) {
for (tx = 0; tx < WWText_GetWidth(ww_text); tx++) {
if (c >= 512) Error("WWText_SetTextWindow", "Over character.");
if (c >= 512) Wonx_Error("WWText_SetTextWindow", "Over character.");
ww_character = WWDisplay_GetCharacter(ww_display, c);
WWCharacter_SetBitmap(ww_character, NULL);
WWScreen_SetCharacter(WWText_GetScreen(ww_text),
@@ -74,7 +74,7 @@ int WWText_PutCharacter(WWText ww_text, int x, int y, int character,
WWCharacter ww_character;
if ((character < 0) || (character > 127))
Error("WWText_PutCharacter", "Character number is out of range.");
Wonx_Error("WWText_PutCharacter", "Character number is out of range.");
/*
* <20>ƥ<EFBFBD><C6A5><EFBFBD><EFBFBD><EFBFBD>ɽ<EFBFBD><C9BD><EFBFBD>ϡ<EFBFBD>text_window_init() <20>ǻ<EFBFBD><C7BB><EFBFBD><EAA4B7><EFBFBD>ƥ<EFBFBD><C6A5><EFBFBD><EFBFBD>ȥ<EFBFBD><C8A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɥ<EFBFBD><C9A5><EFBFBD>
@@ -83,7 +83,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) )
Error("WWText_PutCharacter", "Position is out of range.");
Wonx_Error("WWText_PutCharacter", "Position is out of range.");
#if 0
n = WWText_GetBase(ww_text) +
@@ -119,7 +119,7 @@ WWText WWText_Create(WWScreen screen,
int i;
ww_text = (WWText)malloc(sizeof(_WWText));
if (ww_text == NULL) Error("WWText_Create", "Cannot allocate memory.");
if (ww_text == NULL) Wonx_Error("WWText_Create", "Cannot allocate memory.");
WWText_SetScreen(ww_text, screen);
WWText_SetX(ww_text, 0);
@@ -139,7 +139,7 @@ WWText WWText_Destroy(WWText ww_text)
{
int i;
if (ww_text == NULL) Error("WWText_Destroy", "Object is not created.");
if (ww_text == NULL) Wonx_Error("WWText_Destroy", "Object is not created.");
for (i = 0; i < 128; i++) {
if (WWText_GetFont(ww_text, i))

View File

@@ -81,7 +81,7 @@ WWTimer WWTimer_Create(int auto_preset, int preset)
ww_timer = (WWTimer)malloc(sizeof(_WWTimer));
if (ww_timer == NULL)
Error("WWTimer_Create", "Cannot allocate memory.");
Wonx_Error("WWTimer_Create", "Cannot allocate memory.");
WWTimer_OFF(ww_timer);
WWTimer_SetAutoPreset(ww_timer, auto_preset);
@@ -98,7 +98,7 @@ WWTimer WWTimer_Create(int auto_preset, int preset)
WWTimer WWTimer_Destroy(WWTimer ww_timer)
{
if (ww_timer == NULL)
Error("WWTimer_Destroy", "Object is not created.");
Wonx_Error("WWTimer_Destroy", "Object is not created.");
free(ww_timer);

View File

@@ -8,7 +8,7 @@
#include <stdio.h>
#include <stdlib.h>
#include "sys/timer.h"
#include "wonx_include/timer.h"
/*****************************************************************************/
/* <20><><EFBFBD><EFBFBD><E9A5B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */

8
Wonx.c
View File

@@ -1,9 +1,9 @@
#include "WonxP.h"
#include "etc.h"
#include "sys/disp.h"
#include "sys/text.h"
#include "sys/system.h"
#include "wonx_include/disp.h"
#include "wonx_include/text.h"
#include "wonx_include/system.h"
/*****************************************************************************/
/* <20>ǥ<EFBFBD><C7A5><EFBFBD><EFBFBD>ץ쥤<D7A5>γ<EFBFBD><CEB3><EFBFBD> */
@@ -22,7 +22,7 @@ void Wonx_Create(void)
WWPalette palette;
wonx = (Wonx)malloc(sizeof(_Wonx));
if (wonx == NULL) Error("Wonx_Create", "Cannot allocate memory.");
if (wonx == NULL) Wonx_Error("Wonx_Create", "Cannot allocate memory.");
wonx->wonx_display =
WonxDisplay_Create(LCD_PIXEL_WIDTH * 2, LCD_PIXEL_HEIGHT * 2,

View File

@@ -29,17 +29,17 @@ WonxDisplay WonxDisplay_Create(int x_width, int x_height,
wonx_display = (WonxDisplay)malloc(sizeof(_WonxDisplay));
if (wonx_display == NULL)
Error("WonxDisplay_Create", "Cannot allocate memory.");
Wonx_Error("WonxDisplay_Create", "Cannot allocate memory.");
ww_display = WWDisplay_Create(ww_lcd_panel_width, ww_lcd_panel_height,
ww_screen_width, ww_screen_height);
if (ww_display == NULL)
Error("WonxDisplay_Create", "Cannot create WonderWitch display.");
Wonx_Error("WonxDisplay_Create", "Cannot create WonderWitch display.");
WonxDisplay_SetWWDisplay(wonx_display, ww_display);
x_display = XDisplay_Create(x_width, x_height);
if (x_display == NULL)
Error("WonxDisplay_Create", "Cannot create X display.");
Wonx_Error("WonxDisplay_Create", "Cannot create X display.");
WonxDisplay_SetXDisplay(wonx_display, x_display);
return (wonx_display);

View File

@@ -2,8 +2,9 @@
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
/*****************************************************************************/
#include "wonx_configure.h"
#include "WonxSystemP.h"
#include "configure.h"
#include "etc.h"
/*****************************************************************************/
@@ -79,29 +80,29 @@ WonxSystem WonxSystem_Create()
wonx_system = (WonxSystem)malloc(sizeof(_WonxSystem));
if (wonx_system == NULL)
Error("WonxSystem_Create", "Cannot allocate memory.");
Wonx_Error("WonxSystem_Create", "Cannot allocate memory.");
ww_interrupt = WWInterrupt_Create();
if (ww_interrupt == NULL)
Error("WonxSystem_Create", "Cannot create WonderWitch interrupt.");
Wonx_Error("WonxSystem_Create", "Cannot create WonderWitch interrupt.");
WonxSystem_SetWWInterrupt(wonx_system, ww_interrupt);
/* VBlank <20><> WONX_VBLANK_INTERVAL * 0.1 <20><><EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD><C8A4><EFBFBD> */
ww_timer = WWTimer_Create(1, WONX_VBLANK_INTERVAL);
if (ww_timer == NULL)
Error("WonxSystem_Create", "Cannot create WonderWitch VBlank timer.");
Wonx_Error("WonxSystem_Create", "Cannot create WonderWitch VBlank timer.");
WonxSystem_SetWWVBlankTimer(wonx_system, ww_timer);
ww_timer = WWTimer_Create(0, WONX_VBLANK_INTERVAL);
if (ww_timer == NULL)
Error("WonxSystem_Create",
"Cannot create WonderWitch VBlank count up timer.");
Wonx_Error("WonxSystem_Create",
"Cannot create WonderWitch VBlank count up timer.");
WonxSystem_SetWWVBlankCountUpTimer(wonx_system, ww_timer);
ww_timer = WWTimer_Create(0, WONX_HBLANK_INTERVAL);
if (ww_timer == NULL)
Error("WonxSystem_Create",
"Cannot create WonderWitch HBlank count up timer.");
Wonx_Error("WonxSystem_Create",
"Cannot create WonderWitch HBlank count up timer.");
WonxSystem_SetWWHBlankCountUpTimer(wonx_system, ww_timer);
WWTimer_Reset(WonxSystem_GetWWVBlankTimer( wonx_system));
@@ -113,10 +114,10 @@ WonxSystem WonxSystem_Create()
WWTimer_OFF(WonxSystem_GetWWHBlankCountUpTimer(wonx_system));
/* <20><><EFBFBD><EFBFBD><EFBFBD>ޤΥ<DEA4><CEA5>󥿡<EFBFBD><F3A5BFA1>Х<EFBFBD><D0A5>ϡ<EFBFBD>0.1 <20><>ñ<EFBFBD>̤Ȥ<CCA4><C8A4><EFBFBD> */
unix_timer = UNIXTimer_Create(1, WONX_TIMER_INTERVAL, wonx_system,
unix_timer = UNIXTimer_Create(1, WONX_TIMER_INTERVAL, wonx_system,
(UNIXTimerCallBack)WonxTimer_Callback);
if (unix_timer == NULL)
Error("WonxSystem_Create", "Cannot create UNIX timer.");
Wonx_Error("WonxSystem_Create", "Cannot create UNIX timer.");
WonxSystem_SetUNIXTimer(wonx_system, unix_timer);
UNIXTimer_ON(unix_timer);
@@ -131,7 +132,7 @@ WonxSystem WonxSystem_Destroy(WonxSystem wonx_system)
UNIXTimer unix_timer;
if (wonx_system == NULL)
Error("WonxSystem_Destroy", "Object is not created.");
Wonx_Error("WonxSystem_Destroy", "Object is not created.");
unix_timer = WonxSystem_GetUNIXTimer(wonx_system);

View File

@@ -22,11 +22,11 @@ WonxText WonxText_Create(WWScreen screen, int x, int y, int width, int height,
wonx_text = (WonxText)malloc(sizeof(_WonxText));
if (wonx_text == NULL)
Error("WonxText_Create", "Cannot allocate memory.");
Wonx_Error("WonxText_Create", "Cannot allocate memory.");
ww_text = WWText_Create(screen, x, y, width, height, palette);
if (ww_text == NULL)
Error("WonxText_Create", "Cannot create WonderWitch text.");
Wonx_Error("WonxText_Create", "Cannot create WonderWitch text.");
WonxText_SetWWText(wonx_text, ww_text);
return (wonx_text);
@@ -35,10 +35,10 @@ WonxText WonxText_Create(WWScreen screen, int x, int y, int width, int height,
WonxText WonxText_Destroy(WonxText wonx_text)
{
if (wonx_text == NULL)
Error("WonxText_Destroy", "Object is not created.");
Wonx_Error("WonxText_Destroy", "Object is not created.");
if (WonxText_GetWWText(wonx_text))
WonxText_SetWWText(wonx_text,
WonxText_SetWWText(wonx_text,
WWText_Destroy(WonxText_GetWWText(wonx_text)));
free(wonx_text);

View File

@@ -2,15 +2,15 @@
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
/*****************************************************************************/
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <unistd.h>
#include "XDisplayP.h"
#include "Wonx.h"
#include "etc.h"
#include <stdio.h>
#include <time.h>
#include <unistd.h>
#include <sys/types.h>
/*****************************************************************************/
/* <20><><EFBFBD><EFBFBD><EFBFBD>дؿ<D0B4><D8BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
/*****************************************************************************/
@@ -55,7 +55,7 @@ static void quit(Widget w, XEvent * event, String * params, Cardinal * num)
static void wm_protocols_proc(Widget w, XEvent * event, String * params,
Cardinal * num)
{
if ((event->type == ClientMessage) &&
if ((event->type == ClientMessage) &&
(event->xclient.data.l[0] != wm_delete_window)) {
XBell(XtDisplay(w), 0);
} else {
@@ -226,7 +226,8 @@ XDisplay XDisplay_Create(int width, int height)
int i;
x_display = (XDisplay)malloc(sizeof(_XDisplay));
if (x_display == NULL) Error("XDisplay_Create", "Cannot allocate memory.");
if (x_display == NULL)
Wonx_Error("XDisplay_Create", "Cannot allocate memory.");
x_display->width = width;
x_display->height = height;
@@ -405,7 +406,7 @@ int XDisplay_DrawLCDWindow(XDisplay x_display, WWLCDPanel ww_lcd_panel)
rectangles[pixel] = (XRectangle *)malloc(sizeof(XRectangle) * num);
}
if (rectangles == NULL)
Error("XDisplay_DrawLCDWindow", "Cannot allocate memory.");
Wonx_Error("XDisplay_DrawLCDWindow", "Cannot allocate memory.");
ww_lcd_width = WWLCDPanel_GetWidth( ww_lcd_panel);
ww_lcd_height = WWLCDPanel_GetHeight(ww_lcd_panel);

View File

@@ -5,7 +5,7 @@
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
/*****************************************************************************/
#include "sys/key.h"
#include "wonx_include/key.h"
#include "WWLCDPanel.h"

16
bank.c
View File

@@ -5,7 +5,7 @@
#include <stdio.h>
#include <stdlib.h>
#include "sys/bank.h"
#include "wonx_include/bank.h"
#include "Wonx.h"
@@ -39,39 +39,39 @@ int bank_get_map(int bank)
return (0);
}
unsigned char bank_read_byte(int bank, unsigned int offset)
unsigned char bank_read_byte(int bank, unsigned int off)
{
return (0);
}
void bank_write_byte(int bank, unsigned int offset, unsigned int data)
void bank_write_byte(int bank, unsigned int off, unsigned int data)
{
return;
}
unsigned int bank_read_word(int bank, unsigned int offset)
unsigned int bank_read_word(int bank, unsigned int off)
{
return (0);
}
void bank_write_word(int bank, unsigned int offset, unsigned int data)
void bank_write_word(int bank, unsigned int off, unsigned int data)
{
return;
}
void bank_read_block(int bank, unsigned int offset,
void bank_read_block(int bank, unsigned int off,
void * buffer, unsigned int size)
{
return;
}
void bank_write_block(int bank, unsigned int offset,
void bank_write_block(int bank, unsigned int off,
void * buffer, unsigned int size)
{
return;
}
void bank_fill_block(int bank, unsigned int offset,
void bank_fill_block(int bank, unsigned int off,
unsigned int size, unsigned int data)
{
return;

10
comm.c
View File

@@ -5,7 +5,7 @@
#include <stdio.h>
#include <stdlib.h>
#include "sys/comm.h"
#include "wonx_include/comm.h"
#include "Wonx.h"
@@ -35,7 +35,7 @@ void comm_open(void)
void comm_close(void)
{}
int comm_send_char(unsigned char byte)
int comm_send_char(unsigned char c)
{
return (0);
}
@@ -65,11 +65,11 @@ int comm_receive_block(void * buffer, int size)
return (0);
}
void comm_set_timeout(int receive_timeout, int send_timeout)
void comm_set_timeout(int recv_timeout, int send_timeout)
{
}
void comm_set_baudrate(int speed)
void comm_set_baudrate(int baudrate)
{
}
@@ -87,12 +87,10 @@ unsigned int comm_get_cancel_key(void)
return (0);
}
#if 0
int comm_xmodem(void * xmodem)
{
return (0);
}
#endif
/*****************************************************************************/
/* <20><><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD> */

138
disp.c
View File

@@ -5,7 +5,7 @@
#include <stdio.h>
#include <stdlib.h>
#include "sys/disp.h"
#include "wonx_include/disp.h"
#include "Wonx.h"
@@ -13,6 +13,11 @@
/* <20>ߴ<EFBFBD><DFB4>ؿ<EFBFBD><D8BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
/*****************************************************************************/
/*
* void * <20>ǥǡ<C7A5><C7A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϥ<EFBFBD><CFA4>ؿ<EFBFBD><D8BF>ϡ<EFBFBD><CFA1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ְ㤨<D6B0><E3A4A8><EFBFBD>Х<EFBFBD><D0A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǽ<EFBFBD><C7BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Τǡ<CEA4>
* void * <20><>Ŭ<EFBFBD>ڤʷ<DAA4><CAB7><EFBFBD><EFBFBD>֤<EFBFBD><D6A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƥ<EFBFBD><C6A4>
*/
/*
* X<><58><EFBFBD><EFBFBD><EFBFBD>ФȤ<D0A4>Ʊ<EFBFBD><C6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD><C8A4>ʤ<EFBFBD><CAA4>ʤ<EFBFBD><CAA4>ʤɤ<CAA4><C9A4><EFBFBD><EFBFBD><EFBFBD>ͤ<EFBFBD><CDA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Τǡ<CEA4>
* <20>ߴ<EFBFBD><DFB4>ؿ<EFBFBD><D8BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> UNIXTimer_Pause(), UNIXTimer_Unpause() <20>Ǥ<EFBFBD><C7A4><EFBFBD><EFBFBD>
@@ -72,7 +77,7 @@ void display_control(unsigned int flags)
return;
}
unsigned int display_status()
unsigned int display_status(void)
{
WWDisplay ww_display;
unsigned short int ret;
@@ -123,12 +128,16 @@ unsigned int display_status()
return (ret);
}
void font_set_monodata(unsigned int number, unsigned int count, void * data)
/*
* void * data <20><><EFBFBD>ȡ<EFBFBD><C8A1>ޤ<EFBFBD><DEA4><EFBFBD><EFBFBD>ä<EFBFBD> int * <20>ǥǡ<C7A5><C7A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EAA4B9><EFBFBD><EFBFBD>ʥХ<CAA5><D0A5><EFBFBD>
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǽ<EFBFBD><C7BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Τǡ<CEA4>unsigned char * data <20>ˤ<EFBFBD><CBA4><EFBFBD><EFBFBD><EFBFBD>
*/
void font_set_monodata(unsigned int number, unsigned int count,
unsigned char * data)
{
WWCharacter c;
int i, x, y, n, p;
int f, b;
unsigned char * d;
WWDisplay ww_display;
if (!Wonx_IsCreated()) Wonx_Create();
@@ -137,20 +146,19 @@ void font_set_monodata(unsigned int number, unsigned int count, void * data)
UNIXTimer_Pause(WonxSystem_GetUNIXTimer(Wonx_GetWonxSystem()));
printf("call : font_set_monodata() : number = %u, count = %u, data = %p\n",
(int)number, (int)count, data); fflush(stdout);
(int)number, (int)count, (void *)data); fflush(stdout);
ww_display = WonxDisplay_GetWWDisplay(Wonx_GetWonxDisplay());
n = 0;
d = (unsigned char *)data; /* <20>ҤȤĤΥ<C4A4><CEA5><EFBFBD><EFBFBD><EFBFBD><E9A5AF><EFBFBD>ǡ<EFBFBD><C7A1><EFBFBD><EFBFBD>ϣ<EFBFBD><CFA3>Х<EFBFBD><D0A5><EFBFBD> */
f = WWDisplay_GetForegroundColor(ww_display);
b = WWDisplay_GetBackgroundColor(ww_display);
n = 0;
for (i = 0; i < count; i++) {
c = WWDisplay_GetCharacter(ww_display, number + i);
for (y = 0; y < 8; y++) {
for (x = 0; x < 8; x++) {
p = (d[n] & (1 << (7 - x))) ? f : b; /*<2A><><EFBFBD><EFBFBD><EFBFBD>Ǥ褤<C7A4>Τ<EFBFBD><CEA4><EFBFBD>*/
p = (data[n] & (1 << (7 - x))) ? f : b; /*<2A><><EFBFBD><EFBFBD><EFBFBD>Ǥ褤<C7A4>Τ<EFBFBD><CEA4><EFBFBD>*/
WWCharacter_SetPixel(c, x, y, p);
}
n++;
@@ -168,12 +176,15 @@ void font_set_monodata(unsigned int number, unsigned int count, void * data)
return;
}
void font_set_colordata(unsigned int number,
unsigned int count, void * data)
/*
* void * data <20><><EFBFBD>ȡ<EFBFBD><C8A1>ޤ<EFBFBD><DEA4><EFBFBD><EFBFBD>ä<EFBFBD> int * <20>ǥǡ<C7A5><C7A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EAA4B9><EFBFBD><EFBFBD>ʥХ<CAA5><D0A5><EFBFBD>
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǽ<EFBFBD><C7BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Τǡ<CEA4>unsigned char * data <20>ˤ<EFBFBD><CBA4><EFBFBD><EFBFBD><EFBFBD>
*/
void font_set_colordata(unsigned int number, unsigned int count,
unsigned char * data)
{
WWCharacter c;
int i, x, y, n, p;
unsigned char * d;
if (!Wonx_IsCreated()) Wonx_Create();
@@ -181,10 +192,9 @@ void font_set_colordata(unsigned int number,
UNIXTimer_Pause(WonxSystem_GetUNIXTimer(Wonx_GetWonxSystem()));
printf("call : font_set_colordata() : number = %u, count = %u, data = %p\n",
(int)number, (int)count, data); fflush(stdout);
(int)number, (int)count, (void *)data); fflush(stdout);
n = 0;
d = (unsigned char *)data; /* <20>ҤȤĤΥ<C4A4><CEA5><EFBFBD><EFBFBD><EFBFBD><E9A5AF><EFBFBD>ǡ<EFBFBD><C7A1><EFBFBD><EFBFBD><EFBFBD>16<31>Х<EFBFBD><D0A5><EFBFBD> */
for (i = 0; i < count; i++) {
c = WWDisplay_GetCharacter(WonxDisplay_GetWWDisplay(Wonx_GetWonxDisplay()),
@@ -193,8 +203,8 @@ void font_set_colordata(unsigned int number,
for (x = 0; x < 8; x++) {
/*<2A><><EFBFBD><EFBFBD><EFBFBD>Ǥ褤<C7A4>Τ<EFBFBD><CEA4><EFBFBD>*/
p = ((d[n] & (1 << (7-x))) ? 2 : 0)
+ ((d[n + 1] & (1 << (7-x))) ? 1 : 0);
p = ((data[n] & (1 << (7-x))) ? 2 : 0)
+ ((data[n + 1] & (1 << (7-x))) ? 1 : 0);
WWCharacter_SetPixel(c, x, y, p);
}
@@ -214,13 +224,16 @@ void font_set_colordata(unsigned int number,
return;
}
void font_get_data(unsigned int number,
unsigned int count, void * data)
/*
* void * data <20><><EFBFBD>ȡ<EFBFBD><C8A1>ޤ<EFBFBD><DEA4><EFBFBD><EFBFBD>ä<EFBFBD> int * <20>ǥǡ<C7A5><C7A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EAA4B9><EFBFBD><EFBFBD>ʥХ<CAA5><D0A5><EFBFBD>
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǽ<EFBFBD><C7BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Τǡ<CEA4>unsigned char * data <20>ˤ<EFBFBD><CBA4><EFBFBD><EFBFBD><EFBFBD>
*/
void font_get_data(unsigned int number, unsigned int count,
unsigned char * data)
{
/* <20>ؿ<EFBFBD><D8BF>λ<EFBFBD><CEBB>ͤ<EFBFBD><CDA4><EFBFBD><EFA4AB><EFBFBD><EFBFBD><EFBFBD>Τ<EFBFBD>Ŭ<EFBFBD><C5AC><EFBFBD>˽񤯤<CBBD> */
WWCharacter c;
int i, x, y, n, p;
unsigned char * d;
if (!Wonx_IsCreated()) Wonx_Create();
@@ -228,22 +241,21 @@ void font_get_data(unsigned int number,
UNIXTimer_Pause(WonxSystem_GetUNIXTimer(Wonx_GetWonxSystem()));
printf("call : font_get_data() : number = %u, count = %u, data = %p\n",
(int)number, (int)count, data); fflush(stdout);
(int)number, (int)count, (void *)data); fflush(stdout);
n = 0;
d = (unsigned char *)data; /* <20>ҤȤĤΥ<C4A4><CEA5><EFBFBD><EFBFBD><EFBFBD><E9A5AF><EFBFBD>ǡ<EFBFBD><C7A1><EFBFBD><EFBFBD><EFBFBD>16<31>Х<EFBFBD><D0A5>ȡ<EFBFBD> */
for (i = 0; i < count; i++) {
c = WWDisplay_GetCharacter(WonxDisplay_GetWWDisplay(Wonx_GetWonxDisplay()),
number + i);
for (y = 0; y < 8; y++) {
d[n ] = 0;
d[n+1] = 0;
data[n ] = 0;
data[n+1] = 0;
for (x = 0; x < 8; x++) {
p = WWCharacter_GetPixel(c, x, y);
/* <20><><EFBFBD><EFBFBD><EFBFBD>Ǥ褤<C7A4>Τ<EFBFBD><CEA4><EFBFBD> */
d[n ] |= (((unsigned char)p & 0x02) ? 1 : 0) << (7-x);
d[n+1] |= (((unsigned char)p & 0x01) ? 1 : 0) << (7-x);
data[n ] |= (((unsigned char)p & 0x02) ? 1 : 0) << (7-x);
data[n+1] |= (((unsigned char)p & 0x01) ? 1 : 0) << (7-x);
}
n++;
n++;
@@ -347,10 +359,14 @@ static void _screen_set_char1(int screen, int x, int y,
return;
}
void screen_set_char(int screen, int x, int y, int w, int h, void * data)
/*
* void * data <20><><EFBFBD>ȡ<EFBFBD><C8A1>ޤ<EFBFBD><DEA4><EFBFBD><EFBFBD>ä<EFBFBD> int * <20>ǥǡ<C7A5><C7A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EAA4B9><EFBFBD><EFBFBD>ʥХ<CAA5><D0A5><EFBFBD>
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǽ<EFBFBD><C7BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Τǡ<CEA4>unsigned short int * data <20>ˤ<EFBFBD><CBA4><EFBFBD><EFBFBD><EFBFBD>
*/
void screen_set_char(int screen, int x, int y, int w, int h,
unsigned short int * data)
{
int i, j;
unsigned short int * d;
if (!Wonx_IsCreated()) Wonx_Create();
@@ -358,15 +374,13 @@ void screen_set_char(int screen, int x, int y, int w, int h, void * data)
UNIXTimer_Pause(WonxSystem_GetUNIXTimer(Wonx_GetWonxSystem()));
printf("call : screen_set_char() : screen = %d, x = %d, y = %d, w = %d, h = %d, data = %p\n",
screen, x, y, w, h, data);
screen, x, y, w, h, (void *)data);
fflush(stdout);
d = (unsigned short int *)data;
for (j = 0; j < h; j++) {
for (i = 0; i < w; i++) {
_screen_set_char1(screen, x + i, y + j, *d);
d++;
_screen_set_char1(screen, x + i, y + j, *data);
data++;
}
}
@@ -411,10 +425,14 @@ static unsigned int _screen_get_char1(int screen, int x, int y)
return (ret);
}
void screen_get_char(int screen, int x, int y, int w, int h, void * data)
/*
* void * data <20><><EFBFBD>ȡ<EFBFBD><C8A1>ޤ<EFBFBD><DEA4><EFBFBD><EFBFBD>ä<EFBFBD> int * <20>ǥǡ<C7A5><C7A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EAA4B9><EFBFBD><EFBFBD>ʥХ<CAA5><D0A5><EFBFBD>
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǽ<EFBFBD><C7BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Τǡ<CEA4>unsigned short int * data <20>ˤ<EFBFBD><CBA4><EFBFBD><EFBFBD><EFBFBD>
*/
void screen_get_char(int screen, int x, int y, int w, int h,
unsigned short int * data)
{
int i, j;
unsigned short int * d;
if (!Wonx_IsCreated()) Wonx_Create();
@@ -422,15 +440,13 @@ void screen_get_char(int screen, int x, int y, int w, int h, void * data)
UNIXTimer_Pause(WonxSystem_GetUNIXTimer(Wonx_GetWonxSystem()));
printf("call : screen_get_char() : screen = %d, x = %d, y = %d, w = %d, h = %d, data = %p\n",
screen, x, y, w, h, data);
screen, x, y, w, h, (void *)data);
fflush(stdout);
d = (unsigned short int *)data;
for (j = 0; j < h; j++) {
for (i = 0; i < w; i++) {
*d = _screen_get_char1(screen, x, y);
d++;
*data = _screen_get_char1(screen, x, y);
data++;
}
}
@@ -535,20 +551,20 @@ void screen_fill_attr(int screen, int x, int y, int w, int h,
return;
}
void sprite_set_range(unsigned int sprite_start, unsigned int sprite_count)
void sprite_set_range(unsigned int start, unsigned int number)
{
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 : sprite_set_range() : start = %u, count = %u\n",
(int)sprite_start, (int)sprite_count); fflush(stdout);
printf("call : sprite_set_range() : start = %u, number = %u\n",
(int)start, (int)number); fflush(stdout);
WWDisplay_SetSpriteStart(WonxDisplay_GetWWDisplay(Wonx_GetWonxDisplay()),
sprite_start);
start);
WWDisplay_SetSpriteCount(WonxDisplay_GetWWDisplay(Wonx_GetWonxDisplay()),
sprite_count);
number);
WonxDisplay_Flush(Wonx_GetWonxDisplay());
@@ -575,8 +591,10 @@ static void _sprite_set_char(unsigned int sprite_num, unsigned int data)
WWSprite_SetPriority( s, (data >> 13) ? 1 : 0);
WWSprite_SetClipping( s, (data >> 12) ? 1 : 0);
/* 8<><38><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͤǥѥ<C7A5><D1A5>å<EFBFBD><C3A5>ֹ椬<D6B9><E6A4AC><EFBFBD><EFBFBD><EAA4B5><EFBFBD><EFBFBD><EFBFBD>Τǡ<CEA4>8<EFBFBD><38>­<EFBFBD><C2AD><EFBFBD>Ƥ<EFBFBD><C6A4><EFBFBD> */
p = WWDisplay_GetPalette(WonxDisplay_GetWWDisplay(Wonx_GetWonxDisplay()),
(data >> 9) & 0x07);
((data >> 9) & 0x07) + 8);
c = WWDisplay_GetCharacter(WonxDisplay_GetWWDisplay(Wonx_GetWonxDisplay()),
data & 0x1ff);
@@ -628,7 +646,9 @@ static unsigned int _sprite_get_char(unsigned int sprite_num)
p = WWSprite_GetPalette(s);
c = WWSprite_GetCharacter(s);
ret |= (WWPalette_GetNumber(p) & 0x07) << 9;
/* 8<><38><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͤǥѥ<C7A5><D1A5>å<EFBFBD><C3A5>ֹ椬<D6B9><E6A4AC><EFBFBD><EFBFBD><EAA4B5><EFBFBD><EFBFBD><EFBFBD>Τǡ<CEA4>8<EFBFBD><38><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƥ<EFBFBD><C6A4><EFBFBD> */
ret |= ((WWPalette_GetNumber(p) - 8) & 0x07) << 9;
ret |= WWCharacter_GetNumber(c);
return (ret);
@@ -794,10 +814,14 @@ unsigned long int sprite_get_char_location(unsigned int sprite_num)
return (ret);
}
void sprite_set_data(unsigned int sprite_num, unsigned int count, void * data)
/*
* void * data <20><><EFBFBD>ȡ<EFBFBD><C8A1>ޤ<EFBFBD><DEA4><EFBFBD><EFBFBD>ä<EFBFBD> int * <20>ǥǡ<C7A5><C7A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EAA4B9><EFBFBD><EFBFBD>ʥХ<CAA5><D0A5><EFBFBD>
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǽ<EFBFBD><C7BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Τǡ<CEA4>unsigned long int * data <20>ˤ<EFBFBD><CBA4><EFBFBD><EFBFBD><EFBFBD>
*/
void sprite_set_data(unsigned int sprite_num, unsigned int count,
unsigned long int * data)
{
int i;
unsigned long int * n;
if (!Wonx_IsCreated()) Wonx_Create();
@@ -805,15 +829,14 @@ void sprite_set_data(unsigned int sprite_num, unsigned int count, void * data)
UNIXTimer_Pause(WonxSystem_GetUNIXTimer(Wonx_GetWonxSystem()));
printf("call : sprite_set_data() : number = %u, count = %u, data = %p\n",
(int)sprite_num, (int)count, data);
(int)sprite_num, (int)count, (void *)data);
fflush(stdout);
n = (unsigned long int *)data;
for (i = 0; i < count; i++) {
_sprite_set_char_location(sprite_num + i,
n[i] >> 16,
(n[i] >> 8) & 0xff,
n[i] & 0xff);
data[i] >> 16,
(data[i] >> 8) & 0xff,
data[i] & 0xff);
}
WonxDisplay_Flush(Wonx_GetWonxDisplay());
@@ -1019,8 +1042,7 @@ unsigned long int sprite_get_window(void)
return (ret);
}
void palette_set_color(unsigned int palette_num,
unsigned int colors)
void palette_set_color(unsigned int palette_num, unsigned int colors)
{
int mapped_colors[4];
WWPalette palette;
@@ -1166,7 +1188,7 @@ unsigned long int lcd_get_color(void)
return (ret);
}
void lcd_set_segments(unsigned segments)
void lcd_set_segments(unsigned int segments)
{
if (!Wonx_IsCreated()) Wonx_Create();
@@ -1200,7 +1222,7 @@ unsigned int lcd_get_segments(void)
return (0);
}
void lcd_set_sleep(unsigned slp)
void lcd_set_sleep(unsigned int slp)
{
if (!Wonx_IsCreated()) Wonx_Create();
@@ -1234,7 +1256,7 @@ unsigned int lcd_get_sleep(void)
return (0);
}
void screen_set_vram(int screen, int locationID)
void screen_set_vram(int screen, int location_id)
{
if (!Wonx_IsCreated()) Wonx_Create();
@@ -1251,7 +1273,7 @@ void screen_set_vram(int screen, int locationID)
return;
}
void sprite_set_vram(int locationID)
void sprite_set_vram(int location_id)
{
if (!Wonx_IsCreated()) Wonx_Create();

2
etc.c
View File

@@ -7,7 +7,7 @@
/* <20><><EFBFBD><EFBFBD><E9A1BC><EFBFBD><EFBFBD> */
/*===========================================================================*/
int Error(char * funcname, char * message)
int Wonx_Error(char * funcname, char * message)
{
fprintf(stderr, "%s(): %s\n", funcname, message);
exit (1);

2
etc.h
View File

@@ -5,7 +5,7 @@
/* <20><><EFBFBD><EFBFBD><E9A1BC><EFBFBD><EFBFBD> */
/*===========================================================================*/
int Error(char * funcname, char * message);
int Wonx_Error(char * funcname, char * message);
/*===========================================================================*/
/* "true", "false" <20><>ʸ<EFBFBD><CAB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֤<EFBFBD> */

2
key.c
View File

@@ -5,7 +5,7 @@
#include <stdio.h>
#include <stdlib.h>
#include "sys/key.h"
#include "wonx_include/key.h"
#include "Wonx.h"

38
makefile_for_smac Normal file
View File

@@ -0,0 +1,38 @@
SOURCES = chara.c game.c man.c mansub.c mansub2.c map.c mapsub.c menu.c monster.c picture.c player.c smac.c stage.c dsp.c etc.c
# <20><><EFBFBD>ޥ<EFBFBD><DEA5>ɥ饤<C9A5><E9A5A4><EFBFBD><EFBFBD>Ĺ<EFBFBD><C4B9><EFBFBD>ˤ<EFBFBD><CBA4><EFBFBD><EFBFBD>¤<EFBFBD><C2A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Τǡ<CEA4>Ĺ<EFBFBD><C4B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>դ<EFBFBD><D5A4><EFBFBD><EBA4B3>
OBJS = chara.o game.o man.o mansub.o mansub2.o map.o mapsub.o menu.o monster.o picture.o player.o smac.o stage.o dsp.o etc.o main.o
.SUFFIXES: .c .o
all : smac
smac : $(OBJS)
gcc -g -o smac $(OBJS) -lwonx -lX11 -lXt -L. -L/usr/X11R6/lib
# xsmac
#smac : smac.fx
#smac.fx : smac.bin
# doscmd mkfent16 smac.cf
#smac.bin : $(OBJS)
# echo $(OBJS) > objs
# doscmd lcc86 -o smac.bin -O @objs
.c.o : $*.c
gcc -c $*.c -g -I.
clean :
rm -f smac.fx smac.bin smac $(OBJS)
package : smac.fx
rm -fR smac-b02
mkdir -p smac-b02
cp -R copying copyrigh readme history makefile doscmdrc *.c *.h \
smac.bin smac.cf smac.fx pic8 \
smac-b02
zip -r smac-b02 smac-b02
xsmac :

23
sample1.c Normal file
View File

@@ -0,0 +1,23 @@
#include "wonx_include/text.h"
#include "wonx_include/key.h"
main()
{
text_screen_init();
text_put_string(0, 1, " Wonx - WonderWitch on X. ");
text_put_string(0, 3, " This is test program ");
text_put_string(0, 4, " for Wonx. ");
text_put_string(0, 6, " Wonx is an emulator for ");
text_put_string(0, 7, " WonderWitch on X. It is ");
text_put_string(0, 8, " linked to program for ");
text_put_string(0, 9, " WonderWitch and behave as ");
text_put_string(0, 10, " WonderWitch. ");
text_put_string(0, 12, " Wonx Copyright (c) 2000 ");
text_put_string(0, 13, " Sakai Hiroaki. ");
text_put_string(0, 14, " All Rights Reserved. ");
text_put_string(0, 16, " Hit space key to exit. ");
key_wait();
bios_exit();
}

47
sample2.c Normal file
View File

@@ -0,0 +1,47 @@
#include "wonx_include/disp.h"
#include "wonx_include/key.h"
static unsigned char clear[] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
static unsigned char block[] = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff};
main()
{
int x, y, f, k;
display_control(DCM_SCR2 | DCM_SPR);
lcd_set_color(0, 0xffff);
palette_set_color(0, 0);
palette_set_color(8, (0xf << 12));
font_set_color(0x03);
font_set_monodata(0, 1, clear);
font_set_monodata(1, 1, block);
sprite_set_char(0,
CFM_SPR_UPPER |
((0 << 9) & CFM_SPR_PALETTE) |
(1 & CFM_FONT)
);
sprite_set_range(0, 1);
x = 14;
y = 9;
f = 0;
while (!f) {
sprite_set_location(0, x * 8, y * 8);
k = key_hit_check();
if (k & KEY_START) f = 1;
if (k & KEY_A) f = 1;
if ((k & KEY_LEFT1) && (x > 0)) x--;
if ((k & KEY_RIGHT1) && (x < LCD_PIXEL_WIDTH/8 - 1)) x++;
if ((k & KEY_UP1) && (y > 0)) y--;
if ((k & KEY_DOWN1) && (y < LCD_PIXEL_HEIGHT/8 - 1)) y++;
}
bios_exit();
}

BIN
smac-b02.zip Normal file

Binary file not shown.

View File

@@ -5,7 +5,7 @@
#include <stdio.h>
#include <stdlib.h>
#include "sys/sound.h"
#include "wonx_include/sound.h"
#include "Wonx.h"

14
sys2wonx.pl Normal file
View File

@@ -0,0 +1,14 @@
#!/usr/bin/perl
while ($FILENAME = shift(@ARGV)) {
open (RFILE, "< $FILENAME");
open (WFILE, "> $FILENAME.tmp");
while (<RFILE>) {
s/^(\s*\#\s*include\s*)[\<\"]sys\/(.+\.h)[\>\"]/$1\"wonx_include\/$2\"/i;
print WFILE $_;
}
close (RFILE);
close (WFILE);
system("mv $FILENAME.tmp $FILENAME");
}

View File

@@ -2,9 +2,10 @@
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
/*****************************************************************************/
#include <stdio.h>
#include <stdlib.h>
#include "sys/system.h"
#include "wonx_include/system.h"
#include "Wonx.h"
@@ -28,8 +29,8 @@
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɽ<EFBFBD><C9BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>͡<EFBFBD>
*/
void sys_interrupt_set_hook(int type, intvector_t * intvector,
intvector_t * last_intvector)
void sys_interrupt_set_hook(int type, intvector_t * vector,
intvector_t * old_vector)
{
WWInterrupt ww_interrupt;
@@ -38,18 +39,18 @@ void sys_interrupt_set_hook(int type, intvector_t * intvector,
/* <20><><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߤ<EFBFBD><DFA4><EFBFBD> */
UNIXTimer_Pause(WonxSystem_GetUNIXTimer(Wonx_GetWonxSystem()));
printf("call : sys_interrupt_set_hook() : type = %d, intvector = %p, last_intvector = %p\n", type, intvector, last_intvector);
printf("call : sys_interrupt_set_hook() : type = %d, vector = %p, old_vector = %p\n", type, vector, old_vector);
fflush(stdout);
ww_interrupt = WonxSystem_GetWWInterrupt(Wonx_GetWonxSystem());
last_intvector->callback = WWInterrupt_GetCallback(ww_interrupt, type);
last_intvector->cs = WWInterrupt_GetCS(ww_interrupt, type);
last_intvector->ds = WWInterrupt_GetDS(ww_interrupt, type);
old_vector->callback = WWInterrupt_GetCallback(ww_interrupt, type);
old_vector->cs = WWInterrupt_GetCS(ww_interrupt, type);
old_vector->ds = WWInterrupt_GetDS(ww_interrupt, type);
WWInterrupt_SetCallback(ww_interrupt, type, intvector->callback);
WWInterrupt_SetCS(ww_interrupt, type, intvector->cs);
WWInterrupt_SetDS(ww_interrupt, type, intvector->ds);
WWInterrupt_SetCallback(ww_interrupt, type, vector->callback);
WWInterrupt_SetCS(ww_interrupt, type, vector->cs);
WWInterrupt_SetDS(ww_interrupt, type, vector->ds);
printf("call : sys_interrupt_set_hook() : return value = none\n");
fflush(stdout);
@@ -60,7 +61,7 @@ void sys_interrupt_set_hook(int type, intvector_t * intvector,
return;
}
void sys_interrupt_reset_hook(int type, intvector_t * last_intvector)
void sys_interrupt_reset_hook(int type, intvector_t * old_vector)
{
WWInterrupt ww_interrupt;
@@ -69,14 +70,14 @@ void sys_interrupt_reset_hook(int type, intvector_t * last_intvector)
/* <20><><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߤ<EFBFBD><DFA4><EFBFBD> */
UNIXTimer_Pause(WonxSystem_GetUNIXTimer(Wonx_GetWonxSystem()));
printf("call : sys_interrupt_reset_hook() : type = %d, last_intvector = %p\n", type, last_intvector);
printf("call : sys_interrupt_reset_hook() : type = %d, old_vector = %p\n", type, old_vector);
fflush(stdout);
ww_interrupt = WonxSystem_GetWWInterrupt(Wonx_GetWonxSystem());
WWInterrupt_SetCallback(ww_interrupt, type, last_intvector->callback);
WWInterrupt_SetCS(ww_interrupt, type, last_intvector->cs);
WWInterrupt_SetDS(ww_interrupt, type, last_intvector->ds);
WWInterrupt_SetCallback(ww_interrupt, type, old_vector->callback);
WWInterrupt_SetCS(ww_interrupt, type, old_vector->cs);
WWInterrupt_SetDS(ww_interrupt, type, old_vector->ds);
printf("call : sys_interrupt_reset_hook() : return value = none\n");
fflush(stdout);
@@ -87,7 +88,7 @@ void sys_interrupt_reset_hook(int type, intvector_t * last_intvector)
return;
}
void sys_wait(unsigned int time)
void sys_wait(unsigned int wait_time)
{
}
@@ -104,29 +105,29 @@ void sys_set_sleep_time(int sleep_time)
{
}
int sys_get_sleep_time(void)
int sys_get_sleep_time(void)
{
return (0);
}
void sys_set_awake_key(int awake_key_pattern)
void sys_set_awake_key(int pattern)
{
}
int sys_get_awake_key(void)
int sys_get_awake_key(void)
{
return (0);
}
void sys_set_keepalive_int(int keepalive_pattern)
void sys_set_keepalive_int(int pattern)
{
}
void sys_get_ownerinfo(int size, char *buffer)
void sys_get_ownerinfo(int size, char * buffer)
{
}
int sys_suspend(int core)
int sys_suspend(int core)
{
return (0);
}
@@ -135,7 +136,7 @@ void sys_resume(int core)
{
}
void sys_set_remote(int remote_enable)
void sys_set_remote(int remote)
{
}
@@ -144,7 +145,7 @@ unsigned int sys_get_remote(void)
return (0);
}
void * sys_alloc_iram(void *pointer, unsigned size)
void * sys_alloc_iram(void * p, unsigned int size)
{
return (NULL);
}
@@ -176,6 +177,13 @@ 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> */
/*****************************************************************************/

64
text.c
View File

@@ -2,10 +2,11 @@
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
/*****************************************************************************/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "sys/text.h"
#include "wonx_include/text.h"
#include "Wonx.h"
#include "WWText.h"
@@ -30,7 +31,7 @@
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɽ<EFBFBD><C9BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>͡<EFBFBD>
*/
static void _text_window_init(int x, int y, int w, int h, unsigned font_base)
static void _text_window_init(int x, int y, int w, int h, unsigned int base)
{
WWText ww_text;
WWDisplay ww_display;
@@ -38,7 +39,7 @@ static void _text_window_init(int x, int y, int w, int h, unsigned font_base)
ww_text = WonxText_GetWWText(Wonx_GetWonxText());
ww_display = WonxDisplay_GetWWDisplay(Wonx_GetWonxDisplay());
WWText_SetTextWindow(ww_text, x, y, w, h, font_base, ww_display);
WWText_SetTextWindow(ww_text, x, y, w, h, base, ww_display);
WWScreen_SetRollX(WWText_GetScreen(ww_text), 0);
WWScreen_SetRollY(WWText_GetScreen(ww_text), 0);
@@ -74,7 +75,7 @@ void text_screen_init(void)
return;
}
void text_window_init(int x, int y, int w, int h, unsigned int font_base)
void text_window_init(int x, int y, int w, int h, unsigned int base)
{
WWDisplay ww_display;
@@ -83,12 +84,12 @@ void text_window_init(int x, int y, int w, int h, unsigned int font_base)
/* <20><><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߤ<EFBFBD><DFA4><EFBFBD> */
UNIXTimer_Pause(WonxSystem_GetUNIXTimer(Wonx_GetWonxSystem()));
printf("call : text_window_init() : x = %d, y = %d, width = %d, height = %d, base = %u\n", x, y, w, h, (int)font_base);
printf("call : text_window_init() : x = %d, y = %d, width = %d, height = %d, base = %u\n", x, y, w, h, (int)base);
fflush(stdout);
ww_display = WonxDisplay_GetWWDisplay(Wonx_GetWonxDisplay());
_text_window_init(x, y, w, h, font_base);
_text_window_init(x, y, w, h, base);
WonxDisplay_Flush(Wonx_GetWonxDisplay());
@@ -109,7 +110,7 @@ int text_get_mode(void)
return (0);
}
void _text_put_char(int x, int y, unsigned int c)
static void _text_put_char(int x, int y, unsigned int c)
{
WWText ww_text;
WWDisplay ww_display;
@@ -144,7 +145,7 @@ void text_put_char(int x, int y, unsigned int c)
return;
}
static int _text_put_string(int x, int y, char * s)
static int _text_put_string(int x, int y, char * string)
{
int i, len, ret;
WWText ww_text;
@@ -153,17 +154,17 @@ static int _text_put_string(int x, int y, char * s)
ww_text = WonxText_GetWWText(Wonx_GetWonxText());
ww_display = WonxDisplay_GetWWDisplay(Wonx_GetWonxDisplay());
len = strlen(s);
len = strlen(string);
ret = 0;
for (i = 0; i < len; i++) {
if (WWText_PutCharacter(ww_text, x + i, y, s[i], ww_display) >= 0)
if (WWText_PutCharacter(ww_text, x + i, y, string[i], ww_display) >= 0)
ret++;
}
return (ret);
}
int text_put_string(int x, int y, char * s)
int text_put_string(int x, int y, char * string)
{
int ret;
@@ -172,10 +173,10 @@ int text_put_string(int x, int y, char * s)
/* <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, s);
printf("call : text_put_string() : x = %d, y = %d, string = %s\n", x, y, string);
fflush(stdout);
ret = _text_put_string(x, y, s);
ret = _text_put_string(x, y, string);
WonxDisplay_Flush(Wonx_GetWonxDisplay());
@@ -188,7 +189,7 @@ int text_put_string(int x, int y, char * s)
return (ret);
}
int text_put_substring(int x, int y, char * s, int len)
int text_put_substring(int x, int y, char * s, int length)
{
int i, ret;
WWText ww_text;
@@ -199,14 +200,14 @@ int text_put_substring(int x, int y, char * s, int len)
/* <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, len);
printf("call : text_put_substring() : x = %d, y = %d, string = %s, length = %d\n", x, y, s, length);
fflush(stdout);
ww_text = WonxText_GetWWText(Wonx_GetWonxText());
ww_display = WonxDisplay_GetWWDisplay(Wonx_GetWonxDisplay());
ret = 0;
for (i = 0; i < len; i++) {
for (i = 0; i < length; i++) {
if (WWText_PutCharacter(ww_text, x + i, y, s[i], ww_display) >= 0)
ret++;
}
@@ -222,7 +223,7 @@ int text_put_substring(int x, int y, char * s, int len)
return (ret);
}
void text_put_numeric(int x, int y, int len, int format, int number)
void text_put_numeric(int x, int y, int length, int format, int number)
{
char buf[20];
char f[20];
@@ -232,13 +233,13 @@ void text_put_numeric(int x, int y, int len, int format, int number)
/* <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_numeric() : x = %d, y = %d, len = %d, format = %04x, number = %d\n", x, y, len, format, number);
printf("call : text_put_numeric() : x = %d, y = %d, length = %d, format = %04x, number = %d\n", x, y, length, format, number);
fflush(stdout);
strcpy(f, "%");
if (format & NUM_PADZERO) strcat(f, "0");
sprintf(f + strlen(f), "%d", len);
sprintf(f + strlen(f), "%d", length);
if (format & NUM_HEXA) strcat(f, "x");
else if (format & NUM_SIGNED) strcat(f, "d");
else strcat(f, "u");
@@ -258,11 +259,11 @@ void text_put_numeric(int x, int y, int len, int format, int number)
return;
}
void text_store_numeric(char * buffer, int len, int format, int number)
void text_store_numeric(char * buffer, int length, int format, int number)
{
}
void text_fill_char(int x, int y, int len, int code)
void text_fill_char(int x, int y, int length, int c)
{
int i;
@@ -271,11 +272,11 @@ void text_fill_char(int x, int y, int len, int code)
/* <20><><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߤ<EFBFBD><DFA4><EFBFBD> */
UNIXTimer_Pause(WonxSystem_GetUNIXTimer(Wonx_GetWonxSystem()));
printf("call : text_fill_char() : x = %d, y = %d, length = %d, code = %d\n", x, y, len, code);
printf("call : text_fill_char() : x = %d, y = %d, length = %d, character = %d\n", x, y, length, c);
fflush(stdout);
for (i = 0; i < len; i++) {
_text_put_char(x + i, y, code);
for (i = 0; i < length; i++) {
_text_put_char(x + i, y, c);
}
WonxDisplay_Flush(Wonx_GetWonxDisplay());
@@ -346,16 +347,15 @@ int text_get_palette(void)
return (num);
}
void text_set_ank_font(int font_base_num, int is_color, int font_count,
void * font)
void text_set_ank_font(int base, int color, int count, void * font)
{
}
void text_set_sjis_font(void * font_address)
void text_set_sjis_font(void * p)
{
}
void text_get_fontdata(int char_code, void * fontdata_buffer)
void text_get_fontdata(int c, void * buffer)
{
}
@@ -416,7 +416,7 @@ int text_get_screen(void)
return (n);
}
void cursor_display(int cursor_enable)
void cursor_display(int flag)
{
}
@@ -429,16 +429,16 @@ void cursor_set_location(int x, int y, int w, int h)
{
}
unsigned long cursor_get_location(void)
unsigned long int cursor_get_location(void)
{
return (0);
}
void cursor_set_type(int palette_num, int blink_interval)
void cursor_set_type(int palette_num, int interval)
{
}
unsigned long cursor_get_type(void)
unsigned long int cursor_get_type(void)
{
return (0);
}

72
timer.c
View File

@@ -2,24 +2,15 @@
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
/*****************************************************************************/
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include "sys/timer.h"
#include "wonx_include/timer.h"
#include "wonx_configure.h"
#include "Wonx.h"
#include "etc.h"
#include "configure.h"
typedef struct {
unsigned char year;
unsigned char month;
unsigned char date;
unsigned char day_of_week;
unsigned char hour;
unsigned char minute;
unsigned char second;
} datetime_t;
/* int tm_year; year - 1900 */
static int get_year(struct tm * tblock) { return (tblock->tm_year - 100); }
@@ -56,10 +47,10 @@ static int get_second(struct tm * tblock) { return (tblock->tm_sec); }
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɽ<EFBFBD><C9BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>͡<EFBFBD>
*/
void rtc_set_datetime(int field, unsigned int value)
void rtc_set_datetime(int type, unsigned int value)
{
printf("call : rtc_set_datetime() : field = %d, value = %d\n",
field, (int)value);
printf("call : rtc_set_datetime() : type = %d, value = %d\n",
type, (int)value);
fflush(stdout);
/* ̤<><CCA4><EFBFBD>ݡ<EFBFBD><DDA1><EFBFBD> */
@@ -71,19 +62,19 @@ void rtc_set_datetime(int field, unsigned int value)
return;
}
unsigned int rtc_get_datetime(int field)
unsigned int rtc_get_datetime(int type)
{
unsigned int ret = 0;
time_t timer;
struct tm * tblock;
printf("call : rtc_get_datetime() : field = %d\n", field);
printf("call : rtc_get_datetime() : type = %d\n", type);
fflush(stdout);
time(&timer);
tblock = localtime(&timer);
switch (field) {
switch (type) {
case RTC_YEAR : ret = get_year( tblock); break;
case RTC_MONTH : ret = get_month( tblock); break;
case RTC_DATE : ret = get_day( tblock); break;
@@ -91,7 +82,7 @@ unsigned int rtc_get_datetime(int field)
case RTC_HOUR : ret = get_hour( tblock); break;
case RTC_MIN : ret = get_minute(tblock); break;
case RTC_SEC : ret = get_second(tblock); break;
default : Error("rtc_get_datetime", "Unknown parameter.");
default : Wonx_Error("rtc_get_datetime", "Unknown parameter.");
}
printf("call : rtc_get_datetime() : return value = %d\n", (int)ret);
@@ -100,9 +91,9 @@ unsigned int rtc_get_datetime(int field)
return (ret);
}
void rtc_set_datetime_struct(void * buffer)
void rtc_set_datetime_struct(datetime_t * d)
{
printf("call : rtc_set_datetime_struct() : buffer = %p\n", buffer);
printf("call : rtc_set_datetime_struct() : buffer = %p\n", (void *)d);
fflush(stdout);
/* ̤<><CCA4><EFBFBD>ݡ<EFBFBD><DDA1><EFBFBD> */
@@ -114,27 +105,24 @@ void rtc_set_datetime_struct(void * buffer)
return;
}
void rtc_get_datetime_struct(void * buffer)
void rtc_get_datetime_struct(datetime_t * d)
{
time_t timer;
struct tm * tblock;
datetime_t * p;
printf("call : rtc_get_datetime_struct() : buffer = %p\n", buffer);
printf("call : rtc_get_datetime_struct() : buffer = %p\n", (void *)d);
fflush(stdout);
time(&timer);
tblock = localtime(&timer);
p = (datetime_t *)buffer;
p->year = get_year(tblock);
p->month = get_month(tblock);
p->date = get_day(tblock);
p->day_of_week = get_week(tblock);
p->hour = get_hour(tblock);
p->minute = get_minute(tblock);
p->second = get_second(tblock);
d->year = get_year(tblock);
d->month = get_month(tblock);
d->date = get_day(tblock);
d->day_of_week = get_week(tblock);
d->hour = get_hour(tblock);
d->minute = get_minute(tblock);
d->second = get_second(tblock);
printf("call : rtc_get_datetime_struct() : return value = none\n");
fflush(stdout);
@@ -170,7 +158,7 @@ void rtc_disable_alarm(void)
return;
}
void timer_enable(int type, unsigned int auto_preset, unsigned int preset)
void timer_enable(int type, unsigned int auto_preset, unsigned int count)
{
WWTimer ww_timer;
@@ -179,8 +167,8 @@ void timer_enable(int type, unsigned int auto_preset, unsigned int preset)
/* <20><><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߤ<EFBFBD><DFA4><EFBFBD> */
UNIXTimer_Pause(WonxSystem_GetUNIXTimer(Wonx_GetWonxSystem()));
printf("call : timer_enable() : type = %d, auto_preset = %u, preset = %u\n",
type, (int)auto_preset, (int)preset);
printf("call : timer_enable() : type = %d, auto_preset = %u, count = %u\n",
type, (int)auto_preset, (int)count);
fflush(stdout);
/*
@@ -193,11 +181,11 @@ void timer_enable(int type, unsigned int auto_preset, unsigned int preset)
switch (type) {
case TIMER_VBLANK:
ww_timer = WonxSystem_GetWWVBlankCountUpTimer(Wonx_GetWonxSystem());
WWTimer_SetPresetCounter(ww_timer, preset * WONX_VBLANK_INTERVAL);
WWTimer_SetPresetCounter(ww_timer, count * WONX_VBLANK_INTERVAL);
break;
case TIMER_HBLANK:
ww_timer = WonxSystem_GetWWHBlankCountUpTimer(Wonx_GetWonxSystem());
WWTimer_SetPresetCounter(ww_timer, preset * WONX_HBLANK_INTERVAL);
WWTimer_SetPresetCounter(ww_timer, count * WONX_HBLANK_INTERVAL);
break;
default:
/*
@@ -205,13 +193,13 @@ void timer_enable(int type, unsigned int auto_preset, unsigned int preset)
* NULL <20>˽<EFBFBD><CBBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*/
ww_timer = NULL;
Error("timer_enable", "Invalid timer type.");
Wonx_Error("timer_enable", "Invalid timer type.");
}
switch (auto_preset) {
case TIMER_ONESHOT: WWTimer_SetAutoPresetOFF(ww_timer); break;
case TIMER_AUTOPRESET: WWTimer_SetAutoPresetON( ww_timer); break;
default: Error("timer_enable", "Invalid auto preset type.");
default: Wonx_Error("timer_enable", "Invalid auto preset type.");
}
WWTimer_Reset(ww_timer);
@@ -251,7 +239,7 @@ void timer_disable(int type)
* NULL <20>˽<EFBFBD><CBBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*/
ww_timer = NULL;
Error("timer_disable", "Invalid timer type.");
Wonx_Error("timer_disable", "Invalid timer type.");
}
WWTimer_OFF(ww_timer);
@@ -291,7 +279,7 @@ unsigned int timer_get_count(int type)
* NULL <20>˽<EFBFBD><CBBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*/
ww_timer = NULL;
Error("timer_get_count", "Invalid timer type.");
Wonx_Error("timer_get_count", "Invalid timer type.");
}
ret = WWTimer_GetCounter(ww_timer);

View File

@@ -1,7 +1,7 @@
/* configure.h for configuration of xfireworks */
/* configure.h for configuration of wonx */
#ifndef _WONX_CONFIGURE_H_INCLUDED_
#define _WONX_CONFIGURE_H_INCLUDED_
#ifndef _WONX_winx_configure_h_INCLUDED_
#define _WONX_wonx_configure_h_INCLUDED_
/* Wonx でのタイマ割り込みの周期(単位はマイクロ秒) */
#define WONX_TIMER_INTERVAL 100000 /* 0.1 秒*/
@@ -10,6 +10,6 @@
#define WONX_HBLANK_INTERVAL ( 3 * 10) /* 3 秒毎 */
#define WONX_VBLANK_INTERVAL (20 * 10) /* 20 秒毎 */
#endif /* _WONX_CONFIGURE_H_INCLUDED_ */
#endif /* _WONX_wonx_configure_h_INCLUDED_ */
/* End of configure.h */
/* End of wonx_configure.h */

39
wonx_include/bank.h Normal file
View File

@@ -0,0 +1,39 @@
#ifndef _WONX_SYS_BANK_H_
#define _WONX_SYS_BANK_H_
#include "service.h"
/*****************************************************************************/
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
/*****************************************************************************/
#define BANK_SRAM 0
#define BANK_ROM0 1
#define BANK_ROM1 2
#define sram_get_map() bank_get_map(BANK_SRAM)
#define rom0_get_map() bank_get_map(BANK_ROM0)
#define rom1_get_map() bank_get_map(BANK_ROM1)
#define sram_set_map(bank) bank_set_map(BANK_SRAM, bank)
#define rom0_set_map(bank) bank_set_map(BANK_ROM0, bank)
#define rom1_set_map(bank) bank_set_map(BANK_ROM1, bank)
/*****************************************************************************/
/* <20>ߴ<EFBFBD><DFB4>ؿ<EFBFBD><D8BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
/*****************************************************************************/
void bank_set_map(int bank, int bank_num);
int bank_get_map(int bank);
unsigned char bank_read_byte(int bank, unsigned int off);
void bank_write_byte(int bank, unsigned int off, unsigned int data);
unsigned int bank_read_word(int bank, unsigned int off);
void bank_write_word(int bank, unsigned int off, unsigned int data);
void bank_read_block(int bank, unsigned int off,
void * buffer, unsigned int size);
void bank_write_block(int bank, unsigned int off,
void * buffer, unsigned int size);
void bank_fill_block(int bank, unsigned int off,
unsigned int size, unsigned int data);
void bank_erase_flash(int bank);
#endif

13
wonx_include/bios.h Normal file
View File

@@ -0,0 +1,13 @@
#ifndef _WONX_SYS_BIOS_H_
#define _WONX_SYS_BIOS_H_
#include "bank.h"
#include "comm.h"
#include "disp.h"
#include "key.h"
#include "sound.h"
#include "system.h"
#include "text.h"
#include "timer.h"
#endif

71
wonx_include/comm.h Normal file
View File

@@ -0,0 +1,71 @@
#ifndef _WONX_SYS_COMM_H_
#define _WONX_SYS_COMM_H_
#include "service.h"
/*****************************************************************************/
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
/*****************************************************************************/
#define COMM_SPEED_9600 0
#define COMM_SPEED_38400 1
#define XMODE_SEND 0
#define XMODE_RECEIVE 1
#define XMODE_SEND_ENCRYPTED 2
#define XMODE_RECEIVE_ENCRYPTED 3
#define XMODE_AUTO_ERASE 4
#define ERR_SIO_OK 0x0000
#define ERR_SIO_BUSY 0x8100
#define ERR_SIO_TIMEOUT 0x8101
#define ERR_SIO_OVERRUN 0x8102
#define ERR_SIO_CANCEL 0x8103
#define ERR_XM_STATECODE 0x8104
#define ERR_XM_CANCELED 0x8105
#define ERR_XM_BLOCK_LOST 0x8106
#define ERR_XM_TOO_LARGE 0x8107
enum {
XM_START = 1,
XM_NEGO,
XM_BLOCK,
XM_BLOCK_RETRY,
XM_CLOSE,
XM_ABORT,
XM_DONE,
XM_ERASE_BANK
};
typedef struct {
int state;
char mode;
char retry_c;
int block_c;
int block_max;
int block_size;
int bank;
int offset;
int timeout_c;
} xmodeminfo;
/*****************************************************************************/
/* <20>ߴ<EFBFBD><DFB4>ؿ<EFBFBD><D8BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
/*****************************************************************************/
void comm_open(void);
void comm_close(void);
int comm_send_char(unsigned char c);
int comm_receive_char(void);
int comm_receive_with_timeout(int timeout);
int comm_send_string(char * string);
int comm_send_block(void * buffer, int size);
int comm_receive_block(void * buffer, int size);
void comm_set_timeout(int recv_timeout, int send_timeout);
void comm_set_baudrate(int baudrate);
int comm_get_baudrate(void);
void comm_set_cancel_key(unsigned int pattern);
unsigned int comm_get_cancel_key(void);
int comm_xmodem(void * xmodem);
#endif

112
wonx_include/disp.h Normal file
View File

@@ -0,0 +1,112 @@
#ifndef _WONX_SYS_DISP_H_
#define _WONX_SYS_DISP_H_
#include "service.h"
/*****************************************************************************/
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
/*****************************************************************************/
#define SCREEN1 0
#define SCREEN2 1
#define LCD_PIXEL_WIDTH 224
#define LCD_PIXEL_HEIGHT 144
#define SCREEN_PIXEL_WIDTH 256
#define SCREEN_PIXEL_HEIGHT 256
#define SCREEN_CHAR_WIDTH 32
#define SCREEN_CHAR_HEIGHT 32
#define DCM_SCR1 (1 << 0)
#define DCM_SCR2 (1 << 1)
#define DCM_SPR (1 << 2)
#define DCM_SPR_WIN (1 << 3)
#define DCM_SCR2_WIN_INSIDE (1 << 5)
#define DCM_SCR2_WIN_OUTSIDE ((1 << 4) | (1 << 5))
#define DCM_BORDER_COLOR ((1 << 8) | (1 << 9) | (1 << 10))
/* SPRITE_SET_CHAR, SCREEN_SET_CHAR <20>ǻ<EFBFBD><C7BB><EFBFBD> */
#define CFM_FLIP_V (1 << 15)
#define CFM_FLIP_H (1 << 14)
#define CFM_FONT 0x01FF /* 0<><30>8<EFBFBD>ӥå<D3A5><C3A5><EFBFBD> */
/* SPRITE_SET_CHAR <20>ǻ<EFBFBD><C7BB><EFBFBD> */
#define CFM_SPR_UPPER (1 << 13)
#define CFM_SPRWIN_CLIP (1 << 12)
#define CFM_SPR_PALETTE ((1 << 9) | (1 << 10) | (1 << 11))
/* SCREEN_SET_CHAR <20>ǻ<EFBFBD><C7BB><EFBFBD> */
#define CFM_SCR_PALETTE ((1 << 9) | (1 << 10) | (1 << 11) | (1 << 12))
#define CFSFT_PALETTE 9
/* LCD_SET_SEGMENTS <20>ǻ<EFBFBD><C7BB><EFBFBD> */
#define LCDSEG_AUX3 (1 << 5) /* ͽ<><CDBD><EFBFBD>ޡ<EFBFBD><DEA1><EFBFBD><EFBFBD><EFBFBD> */
#define LCDSEG_AUX2 (1 << 4) /* ͽ<><CDBD><EFBFBD>ޡ<EFBFBD><DEA1><EFBFBD><EFBFBD><EFBFBD> */
#define LCDSEG_AUX1 (1 << 3) /* ͽ<><CDBD><EFBFBD>ޡ<EFBFBD><DEA1><EFBFBD><EFBFBD><EFBFBD> */
#define LCDSEG_HORIZONTAL (1 << 2) /* <20>ĥ⡼<C4A5>ɥޡ<C9A5><DEA1><EFBFBD> */
#define LCDSEG_VERTICAL (1 << 1) /* <20><><EFBFBD><EFBFBD>ɥޡ<C9A5><DEA1><EFBFBD> */
#define LCDSEG_SLEEP (1 << 0) /* <20><><EFBFBD><EFBFBD><EFBFBD>ϥޡ<CFA5><DEA1><EFBFBD> */
/* LCD_SET_SLEEP <20>ǻ<EFBFBD><C7BB><EFBFBD> */
#define LCD_SLEEP_ON 0
#define LCD_SLEEP_OFF 1
#define lcd_on() lcd_set_sleep(LCD_SLEEP_OFF)
#define lcd_off() lcd_set_sleep(LCD_SLEEP_ON)
/* ̤<><CCA4><EFBFBD><EFBFBD> */
void lcd_set_interrupt_line(unsigned char line);
unsigned char lcd_get_display_line();
/*****************************************************************************/
/* <20>ߴ<EFBFBD><DFB4>ؿ<EFBFBD><D8BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
/*****************************************************************************/
void display_control(unsigned int flags);
unsigned int display_status(void);
void font_set_monodata(unsigned int number, unsigned int count,
unsigned char * data);
void font_set_colordata(unsigned int number, unsigned int count,
unsigned char * data);
void font_get_data(unsigned int number, unsigned int count,
unsigned char * data);
void font_set_color(unsigned int colors);
unsigned int font_get_color(void);
void screen_set_char(int screen, int x, int y, int w, int h,
unsigned short int * data);
void screen_get_char(int screen, int x, int y, int w, int h,
unsigned short int * data);
unsigned int screen_get_char1(int screen, int x, int y);
void screen_fill_char(int screen, int x, int y, int w, int h,
unsigned int data);
void screen_fill_attr(int screen, int x, int y, int w, int h,
unsigned int data, unsigned int mask);
void sprite_set_range(unsigned int start, unsigned int number);
void sprite_set_char(unsigned int sprite_num, unsigned int data);
unsigned int sprite_get_char(unsigned int sprite_num);
void sprite_set_location(unsigned int sprite_num, int x, int y);
unsigned int sprite_get_location(unsigned int sprite_num);
void sprite_set_char_location(unsigned int sprite_num,
unsigned int data, int x, int y);
unsigned long int sprite_get_char_location(unsigned int sprite_num);
void sprite_set_data(unsigned int sprite_num, unsigned int count,
unsigned long int * data);
void screen_set_scroll(int screen, int x, int y);
unsigned int screen_get_scroll(int screen);
void screen2_set_window(int x, int y, int w, int h);
unsigned long int screen2_get_window(void);
void sprite_set_window(int x, int y, int w, int h);
unsigned long int sprite_get_window(void);
void palette_set_color(unsigned int palette_num, unsigned int colors);
unsigned int palette_get_color(unsigned int palette_num);
void lcd_set_color(unsigned int colors0, unsigned int colors1);
unsigned long int lcd_get_color(void);
void lcd_set_segments(unsigned int segments);
unsigned int lcd_get_segments(void);
void lcd_set_sleep(unsigned int slp);
unsigned int lcd_get_sleep(void);
void screen_set_vram(int screen, int location_id);
void sprite_set_vram(int location_id);
#endif

42
wonx_include/key.h Normal file
View File

@@ -0,0 +1,42 @@
#ifndef _WONX_SYS_KEY_H_
#define _WONX_SYS_KEY_H_
#include "service.h"
/*****************************************************************************/
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
/*****************************************************************************/
#define KEY_START (1 << 1)
#define KEY_A (1 << 2)
#define KEY_B (1 << 3)
#define KEY_UP1 (1 << 4)
#define KEY_RIGHT1 (1 << 5)
#define KEY_DOWN1 (1 << 6)
#define KEY_LEFT1 (1 << 7)
#define KEY_UP2 (1 << 8)
#define KEY_RIGHT2 (1 << 9)
#define KEY_DOWN2 (1 << 10)
#define KEY_LEFT2 (1 << 11)
#define KEY_X1 KEY_UP1
#define KEY_X2 KEY_RIGHT1
#define KEY_X3 KEY_DOWN1
#define KEY_X4 KEY_LEFT1
#define KEY_Y1 KEY_UP2
#define KEY_Y2 KEY_RIGHT2
#define KEY_Y3 KEY_DOWN2
#define KEY_Y4 KEY_LEFT2
/*****************************************************************************/
/* <20>ߴ<EFBFBD><DFB4>ؿ<EFBFBD><D8BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
/*****************************************************************************/
int key_press_check(void);
int key_hit_check(void);
int key_wait(void);
void key_set_repeat(int rate, int delay);
int key_get_repeat(void);
int key_hit_check_with_repeat(void);
#endif

14
wonx_include/service.h Normal file
View File

@@ -0,0 +1,14 @@
#ifndef _WONX_SYS_SERVICE_H_
#define _WONX_SYS_SERVICE_H_
#include "types.h"
#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))
#define FP_OFF(p) ((unsigned short int)((unsigned long int)(p) & 0xffff))
#define FP_SEG(p) ((unsigned short int)((unsigned long int)(p) >> 16))
void bios_exit();
#endif

26
wonx_include/sound.h Normal file
View File

@@ -0,0 +1,26 @@
#ifndef _WONX_SYS_SOUND_H_
#define _WONX_SYS_SOUND_H_
#include "service.h"
/*****************************************************************************/
/* <20>ߴ<EFBFBD><DFB4>ؿ<EFBFBD><D8BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
/*****************************************************************************/
void sound_init(void);
void sound_set_channel(unsigned int flags);
unsigned int sound_get_channel(void);
void sound_set_output(unsigned int flags);
unsigned int sound_get_output(void);
void sound_set_wave(int channel, unsigned char * wave);
void sound_set_pitch(int channel, unsigned int frequency);
unsigned int sound_get_pitch(int channel);
void sound_set_volume(int channel, unsigned int volume);
unsigned int sound_get_volume(int channel);
void sound_set_sweep(int sweep, int step);
unsigned int sound_get_sweep(void);
void sound_set_noise(unsigned int flags);
unsigned int sound_get_noise(void);
unsigned int sound_get_random(void);
#endif

58
wonx_include/system.h Normal file
View File

@@ -0,0 +1,58 @@
#ifndef _WONX_SYS_SYSTEM_H_
#define _WONX_SYS_SYSTEM_H_
#include "service.h"
/*****************************************************************************/
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
/*****************************************************************************/
enum {
SYS_INT_SENDREADY = 0,
SYS_INT_KEY,
SYS_INT_CASETTE,
SYS_INT_RECEIVEREADY,
SYS_INT_DISPLINE,
SYS_INT_TIMER_COUNTUP,
SYS_INT_VBLANK,
SYS_INT_HBLANK_COUNTUP
};
typedef struct {
void (*callback)(void);
int cs;
int ds;
int reserve;
} intvector_t;
/*****************************************************************************/
/* <20>ߴ<EFBFBD><DFB4>ؿ<EFBFBD><D8BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
/*****************************************************************************/
void sys_interrupt_set_hook(int type, intvector_t * vector,
intvector_t * old_vector);
void sys_interrupt_reset_hook(int type, intvector_t * old_vector);
void sys_wait(unsigned int wait_time);
unsigned long int sys_get_tick_count(void);
void sys_sleep(void);
void sys_set_sleep_time(int sleep_time);
int sys_get_sleep_time(void);
void sys_set_awake_key(int pattern);
int sys_get_awake_key(void);
void sys_set_keepalive_int(int pattern);
void sys_get_ownerinfo(int size, char * buffer);
int sys_suspend(int core);
void sys_resume(int core);
void sys_set_remote(int remote);
unsigned int sys_get_remote(void);
void * sys_alloc_iram(void * p, unsigned int size);
void sys_free_iram(void * p);
void * sys_get_my_iram(void);
unsigned int sys_get_version(void);
int sys_swap(int core);
void sys_set_resume(unsigned int flags);
unsigned int sys_get_resume(void);
void bios_exit();
#endif

View File

@@ -0,0 +1,19 @@
/* configure.h for configuration of wonx */
#ifndef _WONX_system_configure_h_INCLUDED_
#define _WONX_system_configure_h_INCLUDED_
/*
* <20>ʲ<EFBFBD><CAB2><EFBFBD>ͭ<EFBFBD><CDAD><EFBFBD>ˤ<EFBFBD><CBA4><EFBFBD><EFBFBD>ȡ<EFBFBD>ushort, ulong <20><> typedef <20><><EFBFBD><EFBFBD><EFBFBD>
*/
#if 0 /* ushort <20>ϡ<EFBFBD><CFA1><EFBFBD><EFBFBD>̤<EFBFBD>ɸ<EFBFBD><C9B8><EFBFBD><EFBFBD> /usr/include/sys/types.h <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƥ<EFBFBD><C6A4><EFBFBD> */
#define TYPEDEF_USHORT
#endif
#if 1
#define TYPEDEF_ULONG
#endif
#endif /* _WONX_system_configure_h_INCLUDED_ */
/* End of system_configure.h */

46
wonx_include/text.h Normal file
View File

@@ -0,0 +1,46 @@
#ifndef _WONX_SYS_TEXT_H_
#define _WONX_SYS_TEXT_H_
#include "service.h"
#define NUM_PADSPACE 0
#define NUM_ALIGN_RIGHT 0
#define NUM_HEXA (1 << 0)
#define NUM_PADZERO (1 << 1)
#define NUM_ALIGN_LEFT (1 << 2)
#define NUM_SIGNED (1 << 3)
#define NUM_STORE (1 << 7)
#define TEXT_MODE_ANK 0
#define TEXT_MODE_ANK_SJIS 1
#define TEXT_MODE_SJIS 2
#define TEXT_SCREEN_WIDTH 28
#define TEXT_SCREEN_HEIGHT 18
void text_screen_init(void);
void text_window_init(int x, int y, int w, int h, unsigned int base);
void text_set_mode(int mode);
int text_get_mode(void);
void text_put_char(int x, int y, unsigned int c);
int text_put_string(int x, int y, char * string);
int text_put_substring(int x, int y, char * s, int length);
void text_put_numeric(int x, int y, int length, int format, int number);
void text_store_numeric(char * buffer, int length, int format, int number);
void text_fill_char(int x, int y, int length, int c);
void text_set_palette(int palette_num);
int text_get_palette(void);
void text_set_ank_font(int base, int color, int count, void * font);
void text_set_sjis_font(void * p);
void text_get_fontdata(int c, void * buffer);
void text_set_screen(int screen);
int text_get_screen(void);
void cursor_display(int flag);
int cursor_status(void);
void cursor_set_location(int x, int y, int w, int h);
unsigned long int cursor_get_location(void);
void cursor_set_type(int palette_num, int interval);
unsigned long int cursor_get_type(void);
int text_printf(int x, int y, const char *format, ...);
#endif

52
wonx_include/timer.h Normal file
View File

@@ -0,0 +1,52 @@
#ifndef _WONX_SYS_TIMER_H_
#define _WONX_SYS_TIMER_H_
#include "service.h"
enum {
RTC_YEAR = 0,
RTC_MONTH,
RTC_DATE,
RTC_DAY_OF_WEEK,
RTC_HOUR,
RTC_MIN,
RTC_SEC
};
enum timer_type {
TIMER_HBLANK = 0,
TIMER_VBLANK
};
enum timer_preset_type {
TIMER_ONESHOT = 0,
TIMER_AUTOPRESET
};
#define rtc_set_year(year) rtc_set_datetime(RTC_YEAR, year)
#define rtc_set_month(month) rtc_set_datetime(RTC_MONTH, month)
#define rtc_set_date(date) rtc_set_datetime(RTC_DATE, date)
#define rtc_set_day_of_week(week) rtc_set_datetime(RTC_DAY_OF_WEEK, week)
#define rtc_set_hour(hour) rtc_set_datetime(RTC_HOUR, hour)
#define rtc_set_minute(min) rtc_set_datetime(RTC_MIN, min)
#define rtc_set_second(sec) rtc_set_datetime(RTC_SEC, sec)
#define rtc_get_year() rtc_get_datetime(RTC_YEAR)
#define rtc_get_month() rtc_get_datetime(RTC_MONTH)
#define rtc_get_date() rtc_get_datetime(RTC_DATE)
#define rtc_get_day_of_week() rtc_get_datetime(RTC_DAY_OF_WEEK)
#define rtc_get_hour() rtc_get_datetime(RTC_HOUR)
#define rtc_get_minute() rtc_get_datetime(RTC_MIN)
#define rtc_get_second() rtc_get_datetime(RTC_SEC)
void rtc_set_datetime(int type, unsigned int value);
unsigned int rtc_get_datetime(int type);
void rtc_set_datetime_struct(datetime_t * d);
void rtc_get_datetime_struct(datetime_t * d);
void rtc_enable_alarm(int hour, int minute);
void rtc_disable_alarm(void);
void timer_enable(int type, unsigned int auto_preset, unsigned int count);
void timer_disable(int type);
unsigned int timer_get_count(int type);
#endif

46
wonx_include/types.h Normal file
View File

@@ -0,0 +1,46 @@
#ifndef _WONX_SYS_TYPES_H_
#define _WONX_SYS_TYPES_H_
#include "system_configure.h"
#include <stdlib.h> /* for NULL definition */
#ifdef TYPEDEF_USHORT
typedef unsigned short int ushort;
#endif
#ifdef TYPEDEF_ULONG
typedef unsigned long int ulong;
#endif
typedef unsigned char BYTE;
typedef unsigned short WORD;
typedef unsigned long DWORD;
typedef int BOOL;
#ifndef far
#define far /* None */
#endif
#ifndef near
#define near /* None */
#endif
#ifndef TRUE
#define TRUE 1
#endif
#ifndef FALSE
#define FALSE 0
#endif
typedef struct {
BYTE year;
BYTE month;
BYTE date;
BYTE day_of_week;
BYTE hour;
BYTE minute;
BYTE second;
} datetime_t;
#endif