Wonx - WonderWitch on X.

 Сۤä

Wonx ϤޤԴʦСǤƤʤǽ䡤
Դʵǽư򤹤ʬʤɤäѤޤ
Х䥢ɥХСԤκ湰μޤǡɤɤ᡼뤯
ɥ쥹ϡ
sakai@seki.ee.kagu.sut.ac.jp
hsakai@pfu.co.jp
Ǥ
ޤ꡼ǤǤޤǤϡåץǡȤˤ˹ԤäƤޤ
http://www.seki.ee.kagu.sut.ac.jp/~sakai/WonderWitch/index.html
ǡƤޤ

ߤϺ椬ͤƤޤҤȤǤϺ٤
(ʤäưΰ㤤ʤɡWonderWitch  Wonx Ǥ
 ̯˰ۤʤäƤȻפ)ɤʤΤǤ
Ȥ˥ޥ˥奢˽񤤤Ƥʤʬ˴ؤƤϡWonderWitch ǤϤɤΤ褦
ưΤҤȤǤϥåޤ
Ԥ(Ƥ)Ƥޤ(ΤΦۤǤ)
ä˾ġʤΤ˻ž夲Ƥޤ礦

뤿ˡᤤʳǦǤȤƸޤո˾ʤɤ
ޤޤɤɤ󤻤
(ֻ񤯤Ȥϸ¤ʤ˾ȿǤȤ¤ޤΤ
 ϤƼϤ)

 Ϥ

Wonx ϡWonderWitch ѤΥץ X ץꥱȤƥѥ뤹
Ρ饤֥Ǥʲħޤ

C٥ǸߴǽäƤΤǡWonderWitch ѤΥץ
  UNIXǤΤޤޥѥǤ롥(-lwonx ǥѥ뤹)
UNIXǥǥХåѤƥǥХåǤ褦ˤʤ롥(!)
饯ǡѥåȥǡΥ׵ǽ롥
ʰͤ䡤ѥåȤ䥭饯ʤǻѤʤɤ
  å顼Ϥ(褦ˤ)顼å롥
ѤǤʤǽ(ؿѰդƤ뤬ޤƤʤäꡤ
  äꤷơȤΤ)Ϥ󤢤롥
  ɲäƤĤꡥ
β̼̿ñ˻롥(ǥǻäꡤѤ
  ץȤäꤹɬפ̵ʤ) ϤȤ٤ꡥ
ߥ졼Ǥʤ饤֥ǤꡤɸƤΤǡ
  ͳ˥ޥǽ
®٤٤ǥХåŪΤʤΤǡ®٤®뤳Ȥ
  ޤͤƤʤ(嵭ΥǥХåͥ褹)
WonderWitch ѤΥץXǳڤिΤΤǤϤʤ
  ޤǥǥХåŪΤΡ(ݥꥷǳȯʤ)

 ­ʤ

ʲΤΤˤϤޤбƤޤ󡥤äơ㤨ХɴϢ
ؿƤӽФƤ⡤ⵯޤ(δؿˤʤäƤ)

ʸɽϢ (ߥʥˤΤޤ޽Ϥ)
  Ȥˡʸǥȥ̤񤤤Ƥ륲ξʤɤϡ
  ʤˤɽʤȤˤʤäƤޤΤդƤ
  (ưƤƤ⡤̤ǸǤޤäƤ褦˸Ƥޤ)
̼κ٤Ȥ(ɥǽʤ)

ꥢݡ
߽Ϣ
  ߤѤƤդƤΤޤޤǤϤޤȤ
  ưʤǤ礦
  ΤʥȤäƤʤȤݡȤȻפޤ

 Wonx

Wonx ϡWonderWitch  display_control() Ȥ display_status() Ȥä
ؿ(ƥॳ)ȸߴδؿäƤޤ
δؿϡX˥ɥ򳫤ơ WonderWitch ȸߴư
褦˽񤤤Ƥޤ

Wonx  make ȡlibwonx.a Ȥ饤֥꤬Ǥޤ
ǡWonderWitch ѤΥץUNIX  -lwonx ƥѥ뤷ƤС
WonderWitch  display_control() ȤΤˡWonx  display_control() 
󥯤졤X ư褦ˤʤ롤ȤȤߤǤ

 󥹥ȡ

󥹥ȡ뤹ˤϡʲΤȤԤɬפޤ

Wonx ΥѥˤϡWonderWitch °Υإåե(sys/disp.h Ȥ)
  ɬפʤΤǡ򥳥ԡޤ
Wonx 򥳥ѥ뤷ޤ libwonx.a Ǥޤ
إåե(sys/disp.h Ȥ) libwonx.a Ŭڤʥǥ쥯ȥ
  ֤ޤ
  (ץꥱΥѥˤϡWonderWitch °Υإåե뤬ɬ)

󥹥ȡϡʲμǹԤޤ

1. Wonx Ÿ롥

~>% tar xvzf wonx.tar.gz
~>% cd wonx
~/wonx>% 

2. WonderWitch °Υإåե򥳥ԡ롥

~/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. ʲƤΥե(sys/service.h)롥

~/wonx>% emacs sys/service.h

====  ====
#ifndef _service_h_INCLUDED_
#define _service_h_INCLUDED_

#define far  /* None */
#define near /* None */

#endif
==== ޤ ====

sys/service.h ϡdisp.h ʤɤ椫顤
#include <sys/service.h>
Τ褦ˤƥ󥯥롼ɤޤѥˤ -I. ǥѥ
ΤǡФˤäƤϡsys/sys/service.h ˤɬפ뤫
ޤ(̤ǧ)

4. Wonx  make 롥

~/wonx>% make
gcc -c WWCharacter.c -O -I. -I/usr/X11R6/include
gcc -c WWColorMap.c -O -I. -I/usr/X11R6/include
...(ά)...
gcc -c wonx.c -O -I. -I/usr/X11R6/include
ar ruc libwonx.a WWCharacter.o WWColorMap.o WWDisplay.o WWLCDPanel.o WWPalette.o WWScreen.o WWSprite.o WonxDisplay.o XDisplay.o disp.o text.o key.o system.o timer.o etc.o wonx.o
~/wonx>% ls lib*
libwonx.a
~/wonx>% 

ޤǤǡ饤֥ȥإåեκϽǤ

 WonderWitch ѥץꥱΥѥ

ۺ SpeedMac 򥳥ѥ뤷Ƥߤޤ

1. Ÿ롥

~/wonx>% cd
~>% unzip xvzf smac-b02.zip
...(ά)...
~>% cd smac-b02
~/smac-b02>% 

2. إåե libwonx.a 򥳥ԡ롥

~/smac-b02>% mkdir sys
~/smac-b02>% cp ~/wonx/sys/* ./sys
~/smac-b02>% cp ~/wonx/libwonx.a .
~/smac-b02>% 

3. Makefile 롥

~/smac-b02>% emacs Makefile

ʲΤ褦˽ޤ

gcc ǥѥ򤹤褦˽롥ΤȤˡѥ륪ץˡ
  -I. -I/usr/X11R6/include -L. -L/usr/X11R6/lib -lwonx -lX11 -lXt
  ɲä롥
  (ɬפʤ顤-g ɲä)
mkfent ˤեΥСȤʤɤä顤롥

4. make 롥

~/smac-b02>% make
gcc -c chara.c -g -I.
gcc -c game.c -g -I.
...(ά)...
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
smac
~/smac-b02>% 

5. smac ư롥

~/smac-b02>% ./smac

 

smac ưȡɥޤޤߥʥˤϡ
ʲΥǥХåѤξɽޤ

WonderWitch θߴؿƤФȡͤɽޤ

ޤǤϡʲԤޤ

륭WonderSwan X1X4ܥбƤ롥
i,j,k,l WonderSwan Y1Y4ܥбƤ롥
ڡСȺեȥA,BܥбƤ롥
sSTARTܥбƤ롥
p 򲡤ȡɽ/ɽ⡼ɤؤ롥
  (ɽȲ̤ؤԤʤ®)
F1 򲡤ȡLCD顼ޥåפΥǡ׽Ϥ롥
F2 򲡤ȡѥåȤΥǡ׽Ϥ롥
F3 򲡤ȡ饯Υǡ׽Ϥ롥
F4 򲡤ȡץ饤ȤΥǡ׽Ϥ롥

ɸǤϤʤˤؿƤФ뤿Ӥ˲̤κԤᡤ®Ǥ
ȤСʲΤ褦ʤȤäƤȡ®ˤʤޤ

for (y = 0; y < 32; y++)
  for (x = 0; x < 32; x++) {
    screen_fill_char(0, x, y, 1, 1, 0x0000); /* 褵 */
  }
}

Τ褦ʾϡp 򲡤ɽ⡼ɤˤơ롼׽ä
Ƥ p 򲡤ɽ⡼ɤᤷƤ

F1  F2 򲡤ȡǡ׽ϤΤǤɸǤϤ¾ˤ
å̤˽ϤƤΤǡդĤ F1 򲡤Ǥϡ
äȤޤ̤ΥåήƤޤȤޤ
Τ褦ʤȤϡʲΤ褦ˤƵưޤȤХѥ뤷
smac Ȥ¹ԷǤƤΤʤ顤

> smac | grep -v call

⤷⥭饯ֹ10֤Υ饯Υǡˤϡ
ʲΤ褦˼¹ԤƤ顤F3 򲡤ɤǤ礦

> smac | grep "character\[10\]"

wonx ϡåϤƤˡgrep ǥե륿󥰤Ǥ褦ˡ
ʤ餺ԤƬΤʸɲäƤޤ
ȤСؿƤӽФɽåˤϡƬɬ
"call" ȤʸɲäƤޤäơgrep -v call ̤С
ؿƤӽФΥåäФʤʤ롤Ȥ褦ˤʤäƤޤ

ɸǤ̤ΥåФƤΤǡgrep 򤦤ޤȤ褦ˤƤ
⤷ϡ

> smac | grep call > function_call.log

Τ褦ˤơȤΤͭǤ礦

 

Wonx ϡ湰μ̶ż֤ Libretto ǽ񤤤ʤǤ
GPLۤޤ

湰μϢΥ᡼륢ɥ쥹ϡ
sakai@seki.ee.kagu.sut.ac.jp
hsakai@pfu.co.jp
ǤޤܥեȥκǿǤ
http://www.seki.ee.kagu.sut.ac.jp/~sakai/WonderWitch/index.html
ۤƤޤ

 ΥեϤޤ
