Full text of "Oh! MZ & Oh! X 1986 - 1989" Skip to main content

Full text of "Oh! MZ & Oh! X 1986 - 1989"

See other formats


.通 


ISSN0910-7614 


JS ゾ jjgjr . 

b^jS^dgh 






K 9 3 1 ' 1 l ^A ぁ メ 






WMl 

Wl 


S 



議遍邏 

l^^ita 






SHARP 4^ 



■本体 + キ — ホ — ド+マウス•トラツク^ h ~ル 
CZ-60W-GY (グし --)• -BK (ブラック)標準価格319,800円 


写真は CZ-611C-GY + CZ-601D-GY + CZ.6ST1-E 


写真は CZ-601C-BK + CZ-603D-BK 


く X 68000 ACE シリーズの主な特長〉籲実装密度をさらに追求じ r 信頼性を高めたマンハッタンシエイプ • 68000搭載•テキスト、グラ 
フィック、スプライト、独立3画面設計、最大 12 M バイトの大容量メモリ(標準 1 M バイト)•フレンドリー OS、Human 68 k 搭載•連文節 
変換、マルチフォントをサボートした強力日本語処理 •1024 X 1024 ドット(最大表示エリア 768 X 512 トント)仍実画面エリアを装備した 
高解像度表示能力參51 2 X 51 2ドット、65,536色同時発色•水平32、1画面128のパワフルなスプライト機能•オーバースキャン機 
能を採用した51ひ512ドットレベルのスーパーインポーズ•テキストビットマップ方式採用 • 8重和音ステレオ FM 音源,搭載•音声 
デジタイズ記録 AD PCM ※採用•マウス•トラックボール標準装備 • 5インチ 1 M バイト FDD 2 基搭載 •「 X - BASIC 」、 「辞書ディスク」 
と各種ユーティリティ•、「日本語ワードフロセッサ I をバンドル •20 M バイトハート〒ィスク内蔵 ( CZ -611 G ). « Adapt,ye ; d ; fferem.a» , PCM* 


為 ''. 


% 


' , — / .. 

■15 型 カラー ディスブレイテレビ(ドットビッチ 0.39 mm ) CZ -601 D - GY (グレー) *-BK (ブラック) 標準価格119,800円 

_15型カラーディスプレイテレビ(ドットピッチ 0.31_) CZilW-GY (グレー) .-BK (ブラック)標準価格 14 LOOV 円 
型カラーディスプレイ(ドットビッチ0:31晒) CZ -603 D-GY (グレー) “BK (ブラック)標準価格84,800円(チルトスタンド同梱) 

■チルトスタンド CZ -6 さ T 1- EC グレ-:) -- B (ブ b 、 シク)標準価格5,800円 ( CZ -60 W /611 D 用) 

' : , . 


V 紙/4 



■I 


:於; 

































アートの領域へ。 

クォリティを維持しつづけることは、ある意味では創造することより困難なこととも言われています。出会いが印象的であれ 
ばあるほど、その後が大変です。このことは、そのまま X68000 の歩みを言い得ているかも知れません。確かに技術は日進 
月歩です。しかしそれだけでコンピュータがもつべき創造性を論ずることはできないのも、また事実です。私たちはテクノロ 
ジーとクリエイテイブマインド、いわば人とマシンとのソフトウェアインターフェイスで応えます。ホリゾンタルなマシンとじ r の 
熟成。そこからはいくつもの分野が見えてくるはずです。そじ T どんな分野にしろ X68000 の仕事はアートであるべきです —— p . 
ますます洗練されて信頼性を高めた ACE シリーズの登場で、あなたはまた新たな可能性に出会えそうです。 



0 


mi 


々物ン教寘開 j 


ら^^ X 68000、 w |^2861 のパソコン教室を開催します。くわし〈は、下記までお問い合せ〈だれ、。' 

-8705 ‘東京 (03)260-mi •横浜 (045)2:01-6525: 名古屋(052)332-2611.大阪(06:).2?2-7655 : 神戸(0.)8_)29卜8 7 15 7 準岡^92)批ヂ-286(1 / 

きお問い合わせは…シャープ ㈱ 霣子機器事業本部システム機器営業部〒545大阪市阿倍野区長池时22#22号 25(06)621-122!( 大代表) 

笔子機器事業本部テレビ事業部第4商品企画部〒!62東京都东宿区市谷八幡町8番地せ (03)260- U れ(大代表) 


豊富な周辺機器がクリエイティブワークをサポート。 

CU-21CD 標準価格139,800円 


• 21 型カラーディスプレイ 

• RGB システムチューナー 
• 15型カラーディスプレイ 
參カラーイメージスキャナ 

• カラーイメージユニット* 2 
參カラービデオプリンタ 
春24ビン漢字プリンタ (80 桁) 

• 24 ビン漢字プリンタ (136 桁) 

參24ピン漢字プリンタ (80 桁) 

• 熱転写カラー;興字プリンタ 
• 熱転写カラー漢字プリンタ 
•ハードディスクユニット (20 MB ) 

春モデムユニット* 3 

• RS-232C ケーブル(平行接続型) 


CZ-8NS1 
CZ-6VT1 
CZ-6PV1 
CZ-8PK7 
CZ-8PK8 
CZ-8PK9 
CZ-8PC3 
CZ-8PC2 
CZ-620H 
CZ-8TM2 
CZ-8 し Ml 


>RS-232C ケーフリレ(クロス接続型) CZ-8LM2 


•拡張 I/O ボックス (4 スロット) 

• 1 MB 增設 RAM ボード(内蔵用) 

• 2 MB 增言 SRAM ボ■■ド* 4 

• 4 MB 增設 RAM ボード* 4 

• FAX ボード 
參 MIDI ボード 

• GP- 旧ポード 

籲ユニバーサル I / O ボード 

•增設用 RS-232C ボード (2 チャンネル) 

• 数値演算プロセッサボード 
• スキャナ用パラレルボード 
• システムラック 
• アンプ内蔵スヒーカーシステム (2 本1組) AN-160SP 

籲マウス 

• トラックボール 


CZ-6EB1 

CZ-6BE1A 

CZ-6BE2 

CZ-6BE4 

CZ-6BC1 

CZ-6BM1 

CZ-6BG1 

CZ-6BU1 

CZ-6BF1 

CZ-6BP1 

CZ-6BN1 

CZ-6SD1 


-トツールと呼びたい 「 PRO -68 K 」 シリーズソフト。 


CZ-6TU 標準価格35,800円 
CU-15M1-E 標準価格99,800円 


イージーオペレーションの 統合型表計算 ソフト 
BUSINESSES^ CZ-212BS 標準価格68,000円 


標準価格188,000円 
標準価格69,800円 
標準価格198,000円 
標準価格122,000円 
標準価格152,000円 
標準価格89,800円 
標準価格65,800円 
標準価格69,800円 
標準価格178,000円 
標準価格49,800円 
標準価格 7,200円 
標準価格 7,200円 
標準価格88,000円 
標準価格38,000円 
標準価格79,800円 
標準価格138,000円 
標準価格79,800円 
標準価格26,800円 
標準価格59,800円 
標準価格39,800円 
標準価格49,800円 
標準価格79,800円 
標準価格29,800円 
標準価格44,800円 
標準価格59,800円 
CZ-8NM2A 標準価格 6,800円 
CZ-8NT1 標準価格13,800円 


コマンド型リレーショナルデータベース 

DATA CZ-220BS 


標準価格58,000円 


ワープロ機能を備えた力_ 

cardE5EE3 


ド型リレーショナルデータベース 

CZ-226BS 標準価格29,800円 


FM 音源をフルサポートするサウンドエディタ 

SOUNDG5E3 C2-214MS 


標準価格15,800円 


マウスを使った簡単操作の楽譜ワープロ 

MUSICE5E3 CZ-213MS 


標準価格18,800円 


AD PCM 機能をサポートしたサンプリングエディタ 

Sampli 叩 G53E3 CZ-215MS 標準価格17,800円 


()ESEE3 

オリジナリティを活かせるポップアートツール 

NEW Print ShopISES CZ-221HS 


標準価格19,800円 


スクリーンエディタ内蔵の通信ソフト 

Communication E5E3 CZ-223CS 


標準価格19,800円 


ソフトウェア開発に役立つ C コンパイラ 

C compiler CZ-211LS 


標準価格39,800円 


24トラックの MIDI マルチレコーデイングソフト 

MusicstudioE!5E3 CZ-237MS 


標準価格25,800円 


MIDI 楽器演奏が楽しめる MUSIC PR068K の MIDI 版 

MUSIC E5E23 〔 MIDI〕 CZ-247MS 1月発売予定 


ソフトウェア開発ツール 

THE 福袋 V2.0 


CZ-224LS 標準価格9,980円 


♦ジョイカード CZ-8NJ1 標準価格 1,700円 

參高性能 CRT フィルター BF-68PRO 標準価格19,800円 

* 1使用に際しては、カラーイメージスキャナ CZ '-8 NS 1 に同梱の RS -232 C ケープルで接続する 
か、より高速のパラレルデータ転送を行う 場合、 別売のスキャナ用ハラレルボード CZ -6 BN 1で接 
統してください。 *2 使用に際してはコンヒュータ本体と専用15型カラーディスフレイテレビ ( CZ - 
6卩 1 D 、 CZ -61〗 D など)が必要です。 *3 モデムユニット CZ -8 TM 2 に同梱のソフトは X 1/ X 1 turbo 
*4 使用に際じ T は、あらかじめ、別売の1 MB 增設 RAM ホード CZ -6 BE 1 A を 


マルチタスク、リアルタイムオペレーティングシステム 

0S-9/X 68000 CZ-219SS 


12 月発売予定 


本格財務会計 ソフトウェア 

TOP 財務会計 
























表紙絵 : Matsubaguchi Tadao 


UNIX は AT&T BELL LABORATORIES の OS 名です。 

CP/M.P-CP/M.CP/M Plus. CP/M-86.CP/M-68K. 

CP/M- 800 0. C-DOS は DIGITAL RESEARCH 

XENIX. MS-DOS. Macro 80. OS/2 は MICROSOFT 

SONY Filer は SONY 

MSX-DOS はアスキー 

SI-OS は MULTISOLUTIONS 

OS-9, OS-9/68000 は MICROWARE 

UCSD p-system はカリフォルニア大学理事会 

FLEX は TSC 

Word Star, Word Master •は MICRO PRO 

TURBO PASCAL. Sidekick は BORLAND INTERNATIO 

NAL 

し SI C はし SI JAPAN 
HuBASIC はハドソンソフト 
SUPER BASE. WICS はキャリーラボ 
の登録商標です.その他プ a グラム名. CPU 名は 
—*5に各メーカーの登 SI 商欉です。本文中では. 
“R”,-TM" マークは明記していません。 

本誌に掲黻されたすべてのブ Q グラムは著作檯法 
上,個人で使用するほかは無断複製することを紫 



■広告目次 

IP し . 190-191 

アイビット電子 . 182-183 

アクセス . 200 

ウェーブアイ . 8 

AVC フタバ電機 . 178 

エムアンドエム . 197( 下) 

才ーエーランド . 188-189 

OH1BUSINESS. 15 

キャスト . 13 

計測技研 . 177 

サムシンググッド . 199( 上) 

サンミ ュージ カルサービス . 82 

J & P . 表 3. 192-195 

シャープ . 表 2 •表 4 •い 4-6 

シャノ アール . 18 

シンキングラビット . 20 

スキャップトラスト . 21 

ソフトクリエイト . 198 

ツァイト .10-11 

九十九電機 . 7 

T-ZONE/ マイコンゾーン . 179 

卜、:/卜企画 . 17 

日コン連企画 . 197( 上) 

日本デクスタ . 16 

日本ファルコム . 19 

パシフィックコンピュータバンク .186-187 

パソコンプラザオクト .180-181 

ハドソン . 12 

P & A . 184-185 

BPS . 24 

ビーユージー . 175 

BUJESKY . 176 

マイロウェアジャパン . 9 

マイクロネット . 14 

満開製作所 . 199( 下) 

メディアシヨップハイランド……196 



C 0 N T 

•特集 

89 

いきなり初春から八 ー ドウエア 


•デジタル回路入門編 


90 

斎場パンクローとジョセフソン •索 子の7 7 7 

八ードウェアをめぐる冒険 

荻窪圭 

96 

デジタル回路の基礎知識 

AN □ち◦闩 =6 こわくない 

5 沢和彦 

105 

ソフトで八ードをシミユレート 

巳 ASIC でわかる論理回路 

島田淳史 


•八 ー ドウェア エ作編 


108 

純粋な八ードエ作のすすめ 

禁断の石の物語 

大意建二 

112 

初歩からの電子工作 

電子サイコロを作ろろ 

鈴木典雄 

118 

実録乱数発生器の設計と製作 

大きなノイズの使い方 

粢 野雅彦 

125 

Xlturbo 用 バンクメモリボードの 拡張 

512 K バイトの誘惑 

華門真人 

128 

X68000 用 CP/M-80 システム 

吉田孝 雄 

秦シリーズ全 機種 共通システム 

71 

THE SENTINEL 


72 

パズルゲーム LAST ONE 

中島 聡 

78 

ブロックゲーム FUCK 

佐藤義弘 

くスタツフ〉 

參 編集長/前田徹•副編集長/永野仁 參 編集/植木章夫石塚康世高野庸一 參 協力/有田陸也 
中森章清水和人後藤 貴 行林一樹浅野惠造山村一井本泰堀内保秀荻窪圭藤原和 
典岡本浩一郎毛内俊行野中俊一郎吉田 K 司影山裕昭相馬英智古村聡村田敏幸倉持亮一 
•カメラ/杉山和美•イラスト/永沢しげる山田啃久小栗由香•アートディレクター/島村勝頼 
•レイアウト/元木昌子 AD GREEN 參 校正/手塚軎美子千野延明 

























































19 的 JAN . 



•THE SOFTOUCH 


25 

THE SOFTOUCH SPECIAL 

1988年度 GAME OF THE YEA 闩ノミネート作品発表 


32 

SOFTWARE INFORMATION 

話題のソフトウェア/新作ソフト情報 


34 

GAME REVIEW 

第4のユニット/極道陣取り/白夜物語 


36 

38 

42 

SPECIAL REVIEW 

Master of Monsters 

サンダーフォース n 
マクロアセンブラ CMAB 8 K 

長沢淳博 

清水和人 

中森章 

40 

続々登場,最新ソフト情報 

SOFTOUCH PRO - B 8 K 


44 

われら電脳遊戯民 (6) 

ゲームはやっぱり心の鏡なんです 

古村聡 

• 連載 / 紹介 / 講座/システム 

46 

MZ- 2500 アドベンチヤーゲームブックの作成 

Hyper Game Book 

毛内俊行 

52 

C 調言語講座 PRO-68K 第 7 回 

ピコマゲドンへの道•完結編 

柷一平 

57 

Z80 マシン語ゲームエ房第 6 回 

ついに敵機来襲 

村田敏幸 

83 

エンデュ ご ロレーサー( XI / XI turbo ) 

「アルルの 女」 よりファランドール ( X 68000) 

松崎剛史 

永田央 

149 

X68000 のライバルは誰か 7 

よろこそ,セガ•メガドライブ!! 

斎藤晋 

參銃みもの 

153 

猫とコンピュータ第 31 回 

ちょっと宇宙人 

高 沢恭子 



特集電子サイコロを作ろう 



特集 X 68000 用 CP / M -80 システム 




Master of Monsters 


_第22回知能機械概論 一 お茶目な計算機たち 一- 

156 卯年代のマシン:「次」は 「 Next 」 に決まり! 有田隆也 

OhIX 質問箱 . 158 

FILES DhlX. 160 

バックナンバー案内 . 162 

STUDIO X . 164 

愛読者プレゼント . 168 

ペンギン情報コーナー/ Again Watch. 169 

編集室から/ DRIVE ON/ ごめんなさいのコーナー/ SHIFT BREAK/microOdyssey. 172 



サンダーフォース II 













































SHARP 


4 MB 增設 RAM ボード* 3 

CZ -6 BE 4 
橡準価格138,000円 

ユニバーサル I / O ボード 

CZ -6 BU 1 
標準価格39,800円 

GP - 旧ボード 

CZ -6 BG 1 
標準価格59,800円 
增設用 RS -232 C ポード 

(2 チャンネル) 

CZ -6 BF 1 
棵準価格49,800円 

数値演算プロセッサボード 

CZ -6 BP 1 
標準価格79,800円 




FAX ボード 
CZ -6 BC 1 
標準価格79,800円 


MIDI ボード 

CZ -6 BM 1 

標準価格26,800円 




■ 


拡張 I/O ボックス (4 スロット) 

CZ -6 EB 1 

標準価格88,000円 


JI 


RGB システム チューナー 

CZ -6 TU - GY.-BK 
標準価格35,800円 

(リモコン付) 


カラーイメージユニット 

CZ -6 VT 1 --BK 
標準価格69,800円 


カラーイメージスキャナ* 1 

CZ -8 NS 1 

標準価格188,000円 





上 



1MB 增設 RAM ポード 
(CZ-600C 内蔵用) 
CZ -6 BE 1 
標準価格35,000円 
1 MB 增設 RAM ボード 
(CZ-601G/ 6110内蔵用) 
CZ -6 BE 1 A 
標準価格38,000円 

2MB 增設 RAM ボード*3 

CZ -6 BE 2 
棵準価格79,800円 





スキャナ用パラレルボード 

CZ -6 BN 1 

標準価格29,800円 d 




写真は GZ "601 C / bZ *603 D です。 


メモ 1 」 





拡張 

ボード 


• 写真は CZ *611 C / CZ -601 D / CZ -6 ST 1 です 

• 本体+キーボード+マウス.トラックポール 


拡張 
スロツト 


CZ -600 C - E-B 

CZ -601 C - GY-BK 

CZ -611 C - GY--BK 

• 15型カラーディスプレイテレビ 

CZ -600 D - E--B 

CZ -601 D - GY--BK 

CZ -611 D - GY.-BK 

*14 型カラーディスプレイ 

CZ -603 D - GY.-BK 

(チルトスタンド同梱) 

* チルトスタンド 

CZ -6 ST 1- E-B 

( CZ *€00 D /601 D /611 D 用) 

• 高性能 CRT フィルター 

BF -68 PRO 


標準価格369,000円 
標準価格319,800円 
標準価格399,800円 

標準価格129,800円 
標準価格119,800円 
標準価格145,000円 

標準価格84,800円 




標準価格 5,800円 


標準価格19,800円 




( CZ -600 D /601 D 611 D 603 D , CU -15 M 1 用) 


*1 ご使用に際しては、カラーイメージスキャナ CZ >8 NS 1 に同梱の RS *232 C ケーフルで接続するか、より高速のパラレルデータ伝送を行う場合、別売のスキャナ用パラレルボード CZ *6 日 N 1標準価格29.800円で接統してください, 
CZ -6 BEHH 準価格35.000円 ( CZ -600 C ) , CZ -6 BE 1 A 標準価格38.000円 ( CZ -601 C . CZ -6 nO を增設してください。 


鳥 M 株描《 


►お問い合わせは……シャープ ㈱ 電子機器事業本部システム機器営業部〒545大阪市阿倍野区長池町22番22号 0(06)621-1221 (大代表) 


クリエイテイブマインド 


21型カラーディスプレイ 

CU -21 CD 
標準価格139,800円 


15型カラーディスプレイ 

CU -15 M 1 -E 
標準価格99,800円 















































思わずなる0 

あふれる周辺機器が X 68000 をサボート。 



シャープペリフエラルフアミリー 

XX6B000 


プリント 
アウト 


ビデオ 
プリント 


八ード 

ディスク 


通信 


サウンド 


システム 

ラック 


入力 




RS -232 C ケーブル 
(平行接続型) 

CZ -8 LM 1 
標準価格7,200円 


rLi 

‘ L 

4Mk 

mmmm 

!«'■■■■ ■ 


iDl 


RS -232 G ケーブル 
(クロス 接続型) 

CZ -8 LM 2 
標準価格7,200円 



標. 


クス 

CZ -8 NM 2 A 

準価格6,800円 



5 




トラック ポ ール | 

CZ -8 NT 1 
標準価格13,800円 


24ビン漢字プリンタ (80 桁) 

CZ -8 PK 7 

標準価格122,000円 
(信号ケーブル同梱) 

24ビン漢字プリンタ (136 桁) 

CZ -8 PK 8 
標準価格152,000円 

(信号ケーブル同梱) 


24 ピン漢字プリンタ (80 桁) 
CZ -8 PK 9 
標準価格89,800円 
(信号ケーブル同梱) 


熱転写カラー漢字プリンタ 

CZ -8 PC 2 
標準価格69,800円 
(信号ケーブル同梱) j 

熱転写カラー漢字プリンタ 

CZ -8 PC 3 
標準価格65,800円 
(信号ケーブル同梱) 


カラービデオプリンタ 

CZ -6 PV 1 

標準価格198,000円 

(信号ケーブル同梱) 


ハードディスクユニット (20 MB ) 

CZ -620 H 
標準価格178,000円 


モデムユニット *2 

CZ -8 TM 2 
標準価格49,800円 
( RS -232 C ケーブル同梱) 


アンプ内蔵スピーカーシステム 
(2 本1組) 

AN -160 SP 
標準価格59,800円 


システムラック 

CZ -6 SD 1 
標準価格44,800円 


ジョイカード 

CZ -8 NJ 1 
標準価格1,700円 


モデムユニット CZ 七 TM 2 に同梱のソフトは X 1/ X 1 夕ーボシリーズ用です.ご使用に際しては..あらかじめ別売の】 MB 增設 RAM ポード 



tMjmj シリ-ス用周辺機器 


カラー ディスプレイ 

*21 型カラーディスプレイ 

CU-21CD 

139.800円 

•15 型カラーディスプレイ 

CU-15M1-E 

99,800円 


映像•画像入力編集装置 

參 カラーイメージスキャナ 

CZ-8NS1 

188.000円 

籲 カラーイメージボード n 

CZ-8BV2 

39.800円 

籲立体映像セット 

CZ-8BR1 

29,800円 

•パーソナルテロッパ *2 

CZ-8DT2 

44,800円 


L FM 音源 」 

,ステレオタイプ FM 音源ポード 〇 Z-8BS〗 23,800円 

スピーカー(2本1組)標準装備、ミュージックツール同梱 


プリンタ 


• 24 ピン漢字プリンタ (80 桁) 

CZ -8 PK 7 

122.000円 

• 24 ピン漢字プリンタ (80 桁) 

CZ -8 PK 5 

129,000円 

• 24 ピン漢字プリンタ (136 桁) 

CZ -8 PK 8 152,000円 

• 24 ピン漢字プリンタ(136桁) 

CZ -8 PK 6 159,000円 

• 24 ビン漢字プリンタ (80 桁) 

CZ -8 PK 9 

89,800円 

•熱転写カラー漢字プリンタ 

CZ -8 PC 3 

65,800円 

春熱転写カラー漢字プリンタ 

CZ -8 PC 2 

69.800円 

♦カラービデオプリンタ 

CZ -6 PV 1 

198,000円 


ファイル 

• ミニフロッピ-ディスクユニト (2 HD .2 D ) *3 

CZ -520 F 

118,000円 

• ミニフロッピーディスクユニト (2 D ) 

CZ -502 F 

99,800円 

• ミニフロッピ-ディスクユニト (2 D .1 ドテ⑺ 

CZ -503 F 

49.800円 

• 增設用 ミニフロッピ-ディス外ライブ (2 D ) * 4 

CZ -53 F 

19.800円 

參ノ、ードディスクユニット※3 

CZ -500 H 

348.000円 

•ハードディスクユニット(增設用) 

CZ -501 H 

258.000円 

•カセットデータレコーダ 

〇 Z -8 R し1 

24,800円 

• ミニフ□ツビーディスク GZ -5 M 2 D / GZ -5 M 2 HD (各10 枚入) 

• コンパクトフロッピーディスク 

CZ -3 FBD 

1,300円 


拡張ボード•その他 

• モデムユニット(300ボー) 

CZ -8 TM 1 

29,800円 

• モデムユニット(300/1200ポー) 

CZ -8 TM 2 

49.800円 

*320 KB 外部メモリ 

CZ -8 BE 2 

29.800円 

• ROM BASIC ポー ド*5 

CZ -8 RB 

19,800円 

♦グラフィック RAM ボード*6 

CZ -8 BGR 2 14,800円 

• RS -232 C • マウスポード * 7 

CZ -8 BM 2 

19.800円 

• フロッピーディスクインターフェイス※ 8 

CZ -8 BF 1 

14,800円 

♦ JIS 第1水準漢字 R 0 M *9 

CZ -8 BK 2 

19,800円 

籲 JIS 第2水準漢字 ROM *1〇 

CZ -8 BK 4 

6.800円 

• JIS 第2水準漢字 R 0 M & ターボ博士レキシコン•日本語百 

科ワードパワー* 11 

CZ -8 BK 3 

13,800円 

• RS232C 用ケーブル(平行接続型) 

CZ -8 LM 1 

7,200円 

• R&232G 用ケーブル(クロス接続型) 

CZ -8 LM 2 

7.200円 

•拡張 I/O ポート※ 12 

CZ -8 EP 

11,800円 

•拡張 I/O ボックス 

CZ -8 EB 3 

33.800円 

♦ RF コンバータ※13 

AN -58 C 

2.980円 

争マウス 

CZ -8 NM 2 A 6,800円 

• トラックボ ー ル 

CZ -8 NT 1 

13,800円 

♦ジョイカード 

CZ -8 NJ 1 

1.700円 

•チルトス タン ド※14 CZ -6 ST 1- B--E 

: 5,800円 

•チルト スタンド *15 CZ -81 T - S--R 

8.500円 

•高性能 CRT フィルター *14 

BF -68 PRO 

19,800円 

•システムスタンド 

CZ -8 SS 2 

5.500円 

♦スキャナ用ノ、•ラレルポー ド*16 

CZ -8 BN 1 

27,800円 


(価格は標咿価格です。) 


•品番中の-表示は、 B くブラック〉 . E くオフィスグレー〉 . S く メタリックシ 
ルバー〉 . R くローズレット)を示します。 *1 XI ターボ Z シリーズ用※ 2 G 
Z *862 C には接統できません *3 XI ターボシリーズ用※4 CZ -830 C 
用※5 X トンリーズ用 VI ,〇※6 CZ *850 C 用※7 X トンリーズ用※ 
8 GZ *850 G で〇 Z -520 F を使用する場合に必要※9 CZ -800 C , 801 
G 、802 C 、803 C 、811 C 、820 C 用 *10 GZ ^856 C 用 *11 CZ -850 C . 
851 G 、852 C 、862 C 用浓12 CZ *800 G 、802 G 用 *13 CZ - 8200,822 
G 、830 C 用 *14 GZ >600 D 、601 D 、611 D 、880 D 、830 D 、 GU -15 M 1 用 
※巧 GZ *801 D 、802 D 、81〗 D 、850 D 、855 D 、870 D 用 *16 CZ -8 NS 1 
用籲接統等の脱明につきましては、周辺機器総合カタログをご参照く 
ださい。 


〆 


電子機器事業本部テレビ事業部第4商品企画部〒162東京都新宿区市谷八幡町8番地 0(03) 260-1161( 大代表) 





















































































SHARP 



㉟多一せん。 


このボケコンが、プロの新し I 、スタンダードになる〇 


At \ プログラム編集に便利なヮィド表示。 

桁 八しかも 240 X 32 ドットのフルグラフィック対応。 


gUL 新開発カスタム CPU の採用により、 
m 1〇 従来機 PC -1 475 の約1/7の時間で高速処理。 


MAY un 別売圆力-ドで、ここまで拡張可能。 

mht 5JI1 M 標準装備:大容證 K バ仆 RAM 。 


技術計算に即戦力。エンジニアソフトウェア〈1101機能〉搭載。 

•複数のプログラムやデータを本体 RAM 内で管理できるラムフアイ 
ル機能#電ヴ-なみの手軽さで関数計算が扱える関数電堪モード# 
連立方程式もこなせる行列演算機能•人力したデータの確認や修 
正が簡単にできる統計回帰計算機能 #99 棟までの数式や定数を記 
惊できる数式記惊機能_有効桁数20桁の萵精度演算を町能にする 
倍精度 BASIC 搭載•経済的な単 4 乾電池使用•プログラムやデー 
夕の管理に便利なポケットテ、イスク対応#シリアルインターフェイス装備 
•外形寸法:幅 200 mm X 奥•行 100 mm X 厚さ 14 mm •重量: 25 Qg (電池含む) 


高機能関数ポケットコンピュータ 

PC-E 500 

標準価格 28 , 800 円 




U : m:ym s はば騐 

w 鶴 liP 


Z 8( TCPU 、24 桁4行表示 
2変数統計機能つき86関数機能 

pc-e 5 〇〇 

標準価格22,000円 

* Z 80 はザイログ社の登録商標です: 


ボケコンの世界が、いま、どんどん面白くなつている。 

POCKET 通信 Ve 「.2 

㈱ 1:7:社のホストの情報が-啪充欠、しかも本格的な 
パソコン M 応になりました。敁寄りのハ。 ゾコンで アクセス 
し、 必要な悄報をボケ コンにダウン ロート V 7: 忮や職場 
のパゾコンが ポケ コンの牛: きた悄银准地になります。 


パソコン sio 付ボケコン 



y 秒-:株式会《 資料のご請求、お問い合わせは…シャープ ㈱ コンシューマーセンター 0 A 相談室まで, 



東日本 0 A 相談室亍162東京都新宿区市谷八幡町8番地》 (03)260-1 161(大代表) 西日本 0 A 相談室〒545大阪市阿倍野区長池町22番22号 0(06)621-1221( 大代表) 

名古屋 0 A 相談室亍454名古屋市中川区山王3丁目5番5号 0(052)332-2611( 大代表) 福岡 0 A 相談室〒816福岡市博多区井相田2丁目12番1号 a (092)575-2381 (代表) 






















ヴクモ zz-mo 


&ム、 t 目て 2 F に X 68000 の 

7 ン;エフヵ見-てメン像』がめじるしです。 


XX 68000 ace 

XSB 8000 4 CECS CZ -611 C 


ACE シリーズ好評発売中/ 

定価¥399,800岭メーカー希望価格¥38^000 
XSB 8000 ace CZ -601 C 定価¥3ブ9,800蟀メーカー希望価格¥299,000 


CU -21 CD 21 型カラーディスプレィ定価 ¥739,800 

. メーカー希望価格 ^ Wroon . 

CZ -801 D ドットピッチ0.39ミリ . 定価 ¥fmsoa 

CZ - B 11 D ドットピッチ0.31ミリ . 定価 

CZ -603 D ドットピッチ 0.31 ミリ . 定価 ¥84 r B 0 a 

CZ -6 ST 1 チルト台 . 定価 YMOa 

CZ -6 TU RBG システムチューナー……定価¥36^0£1 
BF -68 PRO 14*15 インチ crt フィルター 
. 定価 


鑒霣な周辺機器 


CZ -6 BE 1 I mbisram ホ-ド ( CZ -600 C 用) •定価 ¥35^00 
CZ -6 BE 1 A 1 MB 增設 RAM ホード ( ACE シリーズ用) 

定価 ¥38 r 00 a 

CZ -6 BE 2 2 MB 増設 RAM ホード . 定価 

CZ - BBE 4 4 MB 増設 RAM ホ-卜 . 定価 ¥^38 r 00 Q 

CZ -8 NS 1 於-イメージス++ナ- . 定価 ¥768^00 

CZ -8 VT 1 於-イメージユニット . 定価 

cz - BBPi 数値演算プロセッサホイ . 定価 vmaoa 

CZ - BBC 1 fax ホード . ^ m ¥79 rS 0 Q 


よくできたソフトはよいお店で 


New Print Shop PRO -68 K ポップアートツール 定価 

CARD PRO -68 K カート型リレーショナルデ-タベース . 定価¥29ぶ 

MUSIC PRO -68 K 楽譜 ワープロ 定価 

SOUND PRO - B 8 K サウンドエディタ 定価 

Sampling PRO -68 K サンプリングエディタ 定価 

Z '8 STAFF PRO -68 K プロ仕様グラフィックエディタ nm ¥49,800 

C Compiler PRO -68 K c コンパィラ 定価 ¥89 r 如 a 

OS -9/ X 68000 X 68000 用 OS 9 係興にお!!ね下さい。 

C S Proffesional Package os-9 用(デコンパィラ 係興にお辱ね下さい。 

* その他、ビジネスソフト•ホビーソフトも多数発売中ですのでお気軽にお4ね下さい。 



で八-ドディスク 



お財布にやさしい価格/ 

争ウインテク 

HD-208(20MB 85ms). ックモ特備 ¥53,800 

HD-404HS(40MB 28ms) ..… ツクモ關: 

參アイテック 

IT X-203(20MB 28ms). ツク今 

IT X-403(40MB 29ms). ックモ, 

( X -203/403 はブラックかグレーをご指定下さい。) 


一_ i 』丄_ ■■■■■層_ _ • 1 XI ターホシリース対応 CZ -141 SF 

驚異の大特価 / NEW Z-BASIC ^¥ 9 : 800 ~rr m) 




CZ-888C-BK. VI69.800 

• CZ-860D-BK. V 99.800 

セツト特価販売中 

卜に貫い換え6なら 


下取り機種 

接 n 

CZ-852C + CZ-850 で 

VI81,000 

CZ-856C+CZ-870 で 

VI75,000 

CZ-822C + CZ-820 で 

VI97.000 







• CZ -822 CB 本体 
籲 CZ -820 DB ディスプレイ 
鲁人氰ゲームソフト 
暴オリジナルゲームパック 
參デイスケット . サービス 


ツクモ特儀 

¥ 79,800 

• XItwin も特別販売中ですヨ/ 


モテム 

オムロン MD- 24001 

300/1200/2400 ホー 

ツクモ特備¥3袋, S 00 

通信ソフト 

XI turbo 用 

SPS JET ターホターミナノレ M ¥8.400 

X 680 D 0 用 

sps た〜みのる Mi ¥10.900 

シャープ Communication PRO -68 K … 標準価格 ¥19.800 

マウス/トラックボー名 

( XI、X 丨 tu 「 bo シリーズ / MZ - 2500シリーズ: 

ツクモオ U ジナルマウスセット 

TS - MX 1 + マウスパッド 

ツク モ特* ¥5,500 

シャープトラックボール 

CZ -8 NT 1 定価 ¥73^00 


,織… 


CZ -8 BM 1 midi ボード . 定価 

CZ -237 MS Music Studio PRO -68 K •定価 
MT -32 口-ラント midi サウンドモジュール. 定価¥丨 


26S0CL 

2 SS 0 CL 

69 r 00 d 


3セットで揃えるととってもお安〈なります。お問い合せ下さい, 



プリンタ 

CZ -8 PC 2 


CZ -8 PC 3 


CZ -8 PK 6 

(15 インチ).•… 

MZ -1 P 17 


カラー熱転写プリンター 

ツクモ特儀¥49,800 

カラー漢字熱転写プリンター 
…"メ-力-希望価格 
24ビン漢字ドットプリンタ 

ツクモ特 

ケーブル、第 2 水準 ROM 付 

ツクモ特儀及00 


ポケコン/電子手帳 



PA - K 00 

定価 Y 28,000 
大型 4 行表示、デー 
タスケジュール管理 
に便利。 1 C カード、 
プリンタで更に発展 
するハイグレードタ 
うプ。 

特酒 

¥ 24,800 


: 


シャープ PC - E 200 
定価 ¥ 22.000 



シャープ PC - E 500 
定価 ¥28.800 

nm¥24f800 


全国代金引吉播え配邃 

お申し込み UO 03-26 卜 明 11へお 電話 丨本' 

场品利雇の解.玄 W でお会 tt かて ? If KiH の徇定もでさ J す 


•冬、ボーナス2回払い受付中 

月々 V3.000 以上のド - 】等丨 /• いし呻金なし, 


現金害.留なら 

〒丨01-9> ♦京都 千代 田 K 神田 Win 局私窗芘135 好 
九十九 電機 仇)*販売部 


到*0宿 


PRO STAFF 

九十九 電機 (株)亍 101-91 東京都千代 田 区 神田郵便局私書箱 135号 


至干藿 

(g)AM10 時〜 PM7 時 

年内無休、年始は2日よ D 當業/ 


銀行振込なら 


通價販売部 


ツクモ7号店 

ツクモ5号店 ^03-851-0531 
二 L-tz ンタ-店 广 03-251- MB 7 


r 03-251-9911 


广的-253_41的 

名古麗1号店 ^052-283-1655 
名古麗2号店广 052-251-33 的 
ツクモ札幌 rtm -241-2 M 9 


























































































亍 252 




号 


SSG8000 

ACE 

八ードの余裕が 
フレンドリーな 
オペレーションを 
生みだしている0 
ますます熱くなる 
ク IJ エイティブ 
ワークステーション 

■■HI 


r プラン149 r 

CZ-60IC 

CZ.603D(0.3I ミり、高解像 
CZ-8PC3(80 析、カラー熱* 

Music PR068K (簡単*作<7 
Sound PR068K(FM 音*サ 
Sanpling PRO 68K(ffi 機能ィ 
AN-I60SP (アンプ内蔵スピ. 

A4 カツト紙100枚 
ブランクデイスケツト 3M (_5イニ 

定価合計 UW ,, UUUI , 

Q __ :' 1 







I ~7^ mm 未来をク_」エ. 


クリエイトする 



湘南台店 S 0466-43-1771 


アイ 


_ 亍252神奈川県藤沢市湘南台丨 一10 — I 

振込金艮 h ■►横浜銀行湘南台支店当座000467 ( 株)ウ I ーブ•ァィ 

第二•第 E 火曜日定休日 


三ッ境店 Q 045-363-7044 


ACEdn 


1 プラン152 | 

CZ-6IIC 

CZ-603D(0.3I ミリ、®解<1 
CZ-8PC3(80 折、カラー熱転: 
Z.s STAFF PRO-68K (グラ: 
PRINT.SH0P.PR068K (高性能; 
CZ-6TU (RGB システムチュー 
CZ-6VT1 (カラーイメージユニ 
A4 カソト紙100枚 
プランクデイスケット 3M(5 イ: 
定価合計 


r プラン153 

CZ-6IIC 

CZ-60ID(0.39_、TV”SRC 


S mO^ieBCea 3?78^ 阪 OB (3 BS ) 5057 
Z. s ^ * oes ( S 33) OBl-l 

普 ra 092 (aan )0502 

m S oaBB ( a 3),2 B 5 

18 歲未 滴の方は保護者とご一緒にお電話下さい 0 


一ニ ングディスク•マウスパッドサービス 


f 

- 

メ 

し 

商 
ま 

^お客_自の支ラ^^:で麵品と K い換えることができ执 

1 チェック4 響は?^^ J チェック10 


人7 公、フつ。 し 、. 

支払い開始は半年先/でも商品はほしいというおが無いという方の為 ( 
客様でも 0K/ 

I チェック 5 ホ-ナス2回払い 0 K / 

月々の支払いは全くナシ/お支払いは冬 
と夏のボーナスで 0K/ 

|チェック6代金引換 0 K / 

現金一括にしたいというお客様、お支払 
いは現品到蘅時で OK/ (但し離島の方 
はご利用できません。) 


い4 


6,000円 x 祁回 

ホーナス26.100円X 6回 

4,000円 x 48回 

ホーナス24.200円X 8回 

3,000円 x 6〇 回 

ホーナス22.200円X10回 

5,700円 x 72 回 

ホーナスなし 


刀干〉王乂 
卜がしくて電話をするひま 
:、ハガキでのご注文 t>0K! 



X 68000 に 
20 MB 八ードティスク 
を搭載。 

ますます熱くなる 
ク U エイティブ S 
パーソナル 
ワークステーション 0 


X 68000 ACE 純正お買得基本セット TEL にて 


319,800円 
t 度 CRT) 79,800円 

ンチ 2HD)I0 枚 23,000円 


ウエーブ • アイ特価 


10,000円 X 24 回 

ボーナス24,800円X 4回 

6,000円 x 36 回 

ホーナス22,300円X 6回 

4,000円 X 48 回 

ホーナス21.300円X 8回 

6,200円 x 60 回 | ホーナス なし 


X 68000 ACE 純正基本セッ 




319,800 円 
119,800 円 


ウエーフ•アイ特価 


案ず3よ!)翼3が1し0 

あれこれ迷つている人、すぐウェーブ•アイへ TEL して下さい。 


〇 お申し込みは料金無料のフリータイヤルで 

0120-009898 


— r だ WS ▼安 M 
プェーフ•アイ10ボイントチェック 

F ■ェック1全品2倍保証./チェック7全国無料配送 

触をおとどけし^=== 

力-1年保 n ^ウェ-フ•アイ彳年保証)に限ります s 離鳥の方は有料と 4 〔リます。) 

F ェック 2 上 g 裘こ、で/ |チェック8配達日指定 OK / 

i 品は今すぐお手元に、お支払いは留守がちの方の為に、ご都合に合わせて、配達、 
とめて冬のボーナスで.グ 致します。もちろん日曜•祭日も〇 K。 

,み S ミ!^^^ I チ I ック9 T 取り、買取りも 0 K ! 

安の金利で 0IC か::当衬椹示令払い俐のほお手持ちのパソコンを下取りして、わずかな予算 



[プラン150 ( 


X 68000 ACE 國お買得基本セット TEL にて 


CZ-6IIC 399,800円 

CZ-603D(0.3I ミリ、高解像度 CRT) 79,800円 

プランクディスケット 3M(5 インチ 2HD) 10枚 23,000円 

定価合計 502,600円 

[ _1 


ウェーブ•アイ特価 


',〇〇〇, 

roooi 


1円 X 36回 


1円 X 48回 


3,000円 X 60 回 


6 f 400円 X 72 回 


ホーナス27.300円X 6回 


ボーナス23.800円X 8回 


ボーナス26,800円 X10 回 


[ I プラン151 


X 68000 ACE 園純正基本セット TEL に 


CZ-6IIC 

CZ-60ID (0.39fwn % TV 内蔵 CRT) 

ブランクデイスケット 3M(5 インチ 2HD) 10枚 
定価含計 


クリーニングディスク•マワスパッドサービス 


ウェーブ • アイ特価 

23,000円 


XIS 日000 


8,0001 

5,000> 


丨円><36回 


1円 X 48回 


4,000 rx 60® 


6,900円 x 72 回 


ホー ナス26,900円X 6回 


ボーナス28.200円X 8回 


ポーナス24,500円 XH) 回 


X 68000 ACE ミュージックセット TEU こて 


319,800円 
79,800円 
E 写プリンタ) 65,800円 

フー ブロ) 


度 CRT) 


ウ エー フ•アイ特価 


)楽》ワープ a) 18,800円 

ウンドエディタ) 15,800円 

ナン: AI ングエディタ) I7,M0 円 
一力ーシステム) 59,800円 
480円 

チ 2HD)I0 枚 23」000円 


cn I nonm 


10,000円 X 36 回 

ボーナス29,400円X 6回 

7,000円 X 48回 

ボーナス27.400円X 8回 

5,000円 x 6〇回 

ボーナス27,900円 X10 回 

8,300円 x 72 回 

ボーナスなし 


レム - Or し JkOUfTT 、 ノ J フ ー? ^ 零 〆 v 〆 / ーノ DD # ouun 

MUSIC PRO-68K (楽揺ワープロ) 18,800円 

SOUND PRO-68K(FM 音源サウンドエディタ)15,800円 
ED-700(2 段パソコンラック) 27,000円 

A4 カット紙100枚 480円 

ブランクディスケット 3M (5 インチ 2HD) 10枚 23,000円 

足価含計 670,480円 


12,000円 X 36 回 

ボーナス26.800円X 6回 

9,000円 X 48 回 

ボーナス22.700円X 8回 

7,000円 x 6〇回 

ボーナス22,000円X10回 

9,200円 x 72 回 

ボーナスなし 


0 ]> 商品今 すぐ// 

ポこ ナスー括 払い 0 K 

©©©© 

^9:30^9:00電話一本即納/ 

? i 尺巴??」兇:! ZL 5 f 古! 


052(581 )4325 


X 68000 ACEBDI アートセット TE しにて 


399,800円 
t 度 CRT) 79,800円 

写ブリンター) 65,800円 

ックツール) 58,000円 
' 19,800円 

35,800円 
69,800円 
480円 

ンチ 2HD)'0 枚 23,000円 


ウエー:7 •アイ特価 


7イックツ_ル) 
衫ップアー!•シール) 


752,280円 


12,000円 x 36 回 

ホーナス40.800円X 6回 

10,000円 X 48 回 

ホーナス27.600円X 8回 

8,000円 xw 回 

ボーナス25.000円 X10 回 

10,500円 X72 回 

ボーナスなし 




X 68000 ACEIHQI ミュージックセット TEL にて 


399,800 円 

119,800 円 


ウエ-フ•アイ特価 



藤沢市湘南台 

I 丁目 I 〇番地 

ゥ H I ブアィ 

oh/ X 係 































































































































































0S-9/IIB 日 000 

.へ ': c ! ^ - -ド’ど’..’ンぶ v :: ’c — へ:-. 1 S 七フだ:’^""^ 

漢字バージョン V2.2 Release 1 
プログラミング.レベルからアプリケーション.レベルまで 

使しヽやすく機能的な環境を作り出します。 




マルチタスク 

リアルタイム I / O サポート 
ファイル名、ブログラム名の 

漢字サポート 

PSS (プレゼンテーション•サポート 
システム)によるグラフイックス • 
マウス • サポート 

VRAM DISK .SRAM DISK サポート 

ダイレクト TV コントロ ル 
オー ト •パワー on / off コント ロール 


プロ指向 EWS レベルの 
マルチタスク.マルチウインドウ 
メモリの許すかぎり、いくつでも 
ウインドウを開くことができます。 

AD - PCM , FM 音源と 

グラフイックスをマルチタスク 

処理可能 

AV 機能標準サポート 

不思議ソフト AVRIDER 標準 

グラフィックス •サポート 
768 X 512 その他 

Human 68 K とのファイル互換性 

日本語処理標準装備 

浼卞辞;••は Human68K と共通 


販売元: 淡株式会《 

シャープ秣電子機器事業本部システム機器営業部〒545大阪市阿倍野区長池町22番22号 0(06)621-1221( 大代表) 
電子機器事業本部テレビ事業部第4商品企画部亍162東京都新宿区市谷八幡町8番地 0(03)260-1 161(大代表) 


開発元:マイクロウェア • ジャパン株式会社 


近日発売 


マイク ロウ エア •オリジナル•ツ ー ル •バツ ケージ (0 S -9/ X 68000本体はシャープ ㈱ よりお買い求め下さい。) 


CS プロフェッショナル • パッケージ 

0 S -9./ X 68000のプログラム開発を強力に支援するパッケージです。 

プログラマーズ•ツール•キット 

0 S -9/ X 68000のドライバ開発を強力に支援するパッケージです。 


OS -9/ X 68000 SRC □巳 G 

OS -9/ X 68000用 C コンパイラに完全に準拠したソース.レベル•デバッガです。 

◦ S -9/ X 68000ネットワーク • システム 

ローカル.エリア•ネットワークを構築するためのハード&ソフト.パッケージです0 


マイクロウェア•ジャパン株式室 


くン株式会社 亍 273千葉県船橋市本町 4-4 卜19本町セントラルビル7 F PHONE :0474- PPH 747 













































内田美梅子 
♦ポスター.文廉本.か: 
他にオプジ L 内装.ハ: 
;A 動莳多岐にわた 



一 


•スト速の現場の »»».» 屯な^.に応ぇて、新しくバ—ジョ、ンアッ 
-搭战をはじめ、多彩な人出力機能を装備。それはまさ r 


厂 

4 


















ビギナー*吆使える、フロスペックソフトです 5 

65,536色という1卜:倒的な表現力をサポートし、透明色描阀、矜神グラデーショ 
ン、マスク機能.さらにイメージユニット、スキャナなど。高度な応用グラフィック 
スに&在に対芯。しかも注 H のアウトラインフォント ( JIS 第.水準の明朝&ゴシッ 
ク)を併躲。操作性の面では、敁人16枚ものウィンドウを同時表り;時機能 
させる他、縦2|由 1面分 512 x 1024 ドットのスクロール編逛が"1能〇プ〇スぺッ 
クをぬり変える、新しいプロスペック—— PRO -68 K [ Ver .2.0*] の誕屯です。 

パレット: ジーズスタッフ PRO -68 K [ Ver .2.0] では X 68000 のもつ-65.536色同 
時発色”というこれまでにないハイスペックを#分に生かすために、色の調合に 
次の方法を設けています。32階調の透明色利用.グラデーションボードによる 
中間色調介、 HSV 調 公、 さらに 基本と なる384色を用意した カラーセレ 外で 
す。もちろんそれぞれは目的に応じて、容易に使い分けることができます ( _ HSV : 

色相、明度、彩度の調節により微妙な色が作れます。■タイル: 16 M 類 U 6 X 
16ドット)タイルパターンを絵の具の代わりに利用できます。 ■ タイル立テ V ント: 

グラデーションボード、32階調濃淡設定、4倍トーン編 I な錄が行なえます0 
ペン: ジーズスタッフ PRO -68 K [ Ver .2.0] ではその名に恥でない、まさにブロスぺッ 
クなペンを站に用意して t 、ます。しかも必要に矽じ t オリシ V •ルのペンも作成可 
能。人•さは 3 M 妞 (4 X 4-8 X 8-16 X 16ド叶)でペン先は18神類。それぞれ32階 
調の透明度設定を用意。.まな半径、密度,32階調の濃淡設定、ェアブラシ、 

コンパス、枱コンパス、スプライン、スムース、コネク lv ボックス、ボックスフイル、 

クローズド ペイン ト,マスク/アンマスク/マスククゾテ/マスクリバースなど、プロ 
ュースに ふさわい、装備を施して t 、ま 1*0 ■ベシエデ f ット:任意のペン先が作れ、 

分録できます。■ェアブラシ:濃淡、商後の設定はもちろん編継が"『能。■ペィ 
ント境界領域设定:色相、明度,衫途の設定により境界領域に指定ができます。 

ェデ {ッ ト:コピーやムーブはボックス、 任窓閉曲線、 コピーカラーの 設定が 行 
なえ、他にも拡大/縮小、上下/左右反転、回転、カラーチェンジ、 トランス フォー 
ム、 ルーペ、特殊機能/モザイク/フォーカスなど多彩な機能を装備しています。 

■コピーカラー:グラフィックスの 中から必要な部分だけを取り出し コピーする. 

とができます。■ルー-^:任意の简所を2/4/8/16倍まで拡人 • 修正できます。 

■カラーチェンジ: HSV 機能により、自然な感じでカラー変換が行なえます c 
文?:: 澳卞変換はもちろん、字色•縁色•彩色をそれぞれ指定" r 能。他にも斜 
体が作れ、また文字サィズは24ドットを標準とし、12ドットから192ドットまで12単 
位で縮小•拡大が行なえます。さらにアンダーライン f コネクト•スプライン•サー 
クル)にそって文字人力が吋能。イメージどおりの文字処理が手経に行なえま 
す。■アウトラインフォント: JIS 第•水 m の叫朝&ゴシックを搭躲しています。 

数 侦:及さや角度、比率などのアルタィムぶ小が、細密な描№1をサポートしま • 

オプション: 奴富なオプ^ン機能を用:®じ C います。■イヌ“ジスキャナ:手 
ちの原尚•写與ぢ手経に入力できます。■ィメージ於ット:カメラ人力の I 叫像 
処塊が行なえます。 ■ イメージレイアウト:縦21由 Vlfii 分のレイアウトが縮小されて 
表示され.ます 0 全体ィメージの確認が容.易! 二 けなえます。 ■ コントロール:ダブル 
タリ;タク時のクリック間隔を調節て>ます。■メッシュ:_而に"眼をかけることが 
できます。問_の設定が行なえます。■アンドゥ:ミス拽作のやりげ1:しができます。 

人力 機器#マウス•イメ f ジスキャナ : NEC IN -501/502/503(16 階凋ハー 
フトーン )、 EPSON 0^-3000/3000¥/4000. SHARP JX -200. 0 MR 0 N 
HS -10 R / 別売りィメージ ュニットに 完全衬応です。イメージ ュニットを 介するこ 
とで、ビデオカメラによる入力が行なえます。 

出力榷群 籲八4縦、ま W よハガキサイズにハードコピーが" f 能。♦プリンタ : NEC 

PC - P ^201/ CL / T / TL / H / H 2/ HC / V / F / PR 801/ PR 101/ T / TL / F / 
L / FR 406/ NM -9900/9950, 横河屯機 NP 510 、SHARP 10-725/730. 

• EPSON ESC / P 24- J 83 C 対応機神。また•ビデオ出力がりなえる他,ビデ 
オプリンタとの 抟統 により鮮やかなプリントアウトが" [能。 •ポジ フィルム:フジ カ 
ラーサービス Ui . 反出> プロフェッショナル •フォト課 CG 係 

PROFmiONAl GRAPHK SOFT 

PRO ■編 



無償バージョンアップセールを実施中。」 

•12 J 1101トジーズスタッフ PR 0.68 K 【 Ver .2.0] の発売 H までに,無供バージ b ンアッ 
ブ交換シールの付いた PRO -68 K をお求めの方に限り、無«でパージ a ンアッブを火•施 
しています。祥い,内容はシールおよび店妞でご確这〈ださい。 ® バージ a ンアッブサービス 
を';!:施いたします。ジーズスタッフ PR 0.68 K のユーザー登録がお済みでない方は、ユー 
ザーカードを申;&お送りください 〆 レジ a ンアップサービスのご案内をお送汍,たします。 


in s I 

二::_ niuEsJ 


麵 R[ 丨 zeit 株式会社ツァイト 

〒151東京都渋谷区初台卜 47-1 小田急西新宿ビル 
.ー ザーサポート係公 03-299-0461 







1 


試合終了。ゲームの経過を ニュースで ふり 
かえってみたいと思います。 


■ グウト /J r セー j/j _ 

惠橋名ス g ) 声がジャッジ/ 

プロ野球も終わって、ポツカリ気の 
抜けた野球フアンよ。ガッカリして 
いる場合ではない。あのパワーリ 
ー ダが、 XS 8000 初の本格派ベー 
スボールゲームとじて、 いよいよ新 
登場する。ボールはカーブ、 シュー 


卜' ホームランなど遠近感や立体感 


は野球中継を超えたリアリティ 。X 
SBOOO ならではの鮮明画像が、か 
つてなし、迫力の野球ゲーム を実現 
した0その上、サンプリング機能に 
より高橋名人の生のヴォイスが「ア 


ウト Jr セーフ J をジャッジする。しか 
も、選手のデータを見ながら、チー 


ムの編成、選手の交代まで監督と 
しての采配も存分にふるえるときて 


L ^ O オールシーズン、 J 又つーリー 
クにオフはない。 


^HUDSON S0FT @ 

本 社〒〇 62 礼幌市费平区平庠 3 条 5 丁目 1 番 18 号八ドソンビル TEL 011-841-4622 
東京支社〒162東京都新宿区市谷田町3丁目1番1号八ドソンビル TEL 03-260-4622 
大阪支店〒542大阪市南区 tt 谷仲之町57番地大阪料理会館ピル5階 TEL 06-251-4622 
営 業、所 礼視•東北•名古屋•福岡 





























「 C - TRACE 68 j は、 

讎遞,倍 e 纛娜倉# 

(数値演算プロセッサボード着装時) 



3次元=3ンピュータクラフイツクス 


レイトレーシンクソフトウェア 

C-TRACE 98 DRY ( 全機種対応) 

¥68,000 

C-TRACE 6G( X6 _ 0 対応) 

¥68,000 

近日発売 C-TRACE 98 + ( 全機種対応) ¥198,000 

C-TRACE NEWS ( sony ) ¥380,000 



p 動作環境 

PC-980I シリーズ全機種 
RAM 640KB 
MS-DOS Ver.2.1 1以上 

コブロセッサー(8087、80287、8038 7) 有無どちらも対応 
I ■現在サポートしているフレームバッファ (X68000 は本体のみ) 
PC-980I 本体内 VRAM 

写像 SIG 社/スーパー フレームサビエンス 社 
ハイパーフレーム デジタル アーツ 社 



►商品の ご注文は, お 近くのマイコン シ -3 ップまたは 規金•書留. 郵便為替にて. 商品名.檐褸 .メディア 名を 明記の上, 弊社までお申込み 下さい 


キャスト 

^11311亍158東京都世田谷区等々力 2- H 3 TEL .03-705-0656 FAX .03-705-5224 C - TRACE 98 I 川 Y ユーザーには、98十を差額 (¥ 130,00 0) にて交換いたします。 

















移植版もゾクゾク登場予定/ 

XI 5”2 D 6.800 YEN 

MSX 2 3.5”2 DD 6.800 YEN 

PC -98 (5/3.5 各種) 6,800 YEN 

FM 77 3.5”2 D 6,800 YEN 

PC -88 5,’2 D 6,800 YEN 


12 月上旬 
12 月上旬 
12月上旬 
12月上旬 
12月中旬 




1 移傾 w 情 T 報^ 1 


7,800 YEN 12 月下旬 
7,800 YEN 12 月下旬 
7,800 YEN 12 月上旬 
7,800 YEN 12 月上旬 
































OH BUSINESS から 

/ 秋の新作日本 /… 

ノ 

_ 



超多機能でも、つかいこなせないツールたち…… 
機能は小さくてもいいのです。つかいやすければ 
G 88 K のいのちはし•な•や•か•さです。 


なぜ、 G 68 K なのか、理由は5つある . 

① シンプル操作がとても自然 

© 缶ビールを飲みながら……の感覚で操作 OK 。 

② しかも、低価格だから、快適¥14.已00 
@マニュアルレス感覚のグラフ イッ クツール 

© 美しいサンプル画面データを収録 (65536 色) 

定価 ¥14,800 

■ G 68 K 機能一覧 



► Easy Graphic 1001 

あなたのイメージをかたちにするのがグラフィックツール 


Easy Graphic Tool for XXB 日 000 


•にじみ表現が可能なペン鲁エアブラシ籲直線を引く籲長方形を塗りつぶす癱拡大•縮 籲 Z’s STAFF PRO68K のデータを口ードセーブ 

少癱左右反転籲上下反転•複写籲塗りつぶし鲁2つの色を混 t 给わせ新しい色を作る參 •アートマスター 400(9801) から Z’s STAFF PRO 



►スフ。ライトエディタ E 68 K 


sprite Easter 


►ttiiifft ►フロの木估旳スフラ仆エディ夂 ► n ち-だけのオリジナルキャラクターが厢<れに作成できます, 


イメージスキャナ ( GT -3000) をサポート 籲内山 亜紀先生麵で綺麗なイラストデ 6日 K へのデータコンバート機能 

一夕入り_作業中の BGM 付きグラフィックツール(選曲可能) ♦アートマスター400 ( PC -9801 用)のデータをロード 




♦ 65536色を サボー ト ♦ 

1つのスプライトに65536色中16色を選択して、1ドット隼位で色が付けられ 
ます。 

• 1画面上で64パターンを同時編集籲 

1画面で64パターンのスプライトデータを編集できますこ 
(1 パターン 16*16 ドツト) 

(ページ切り換え機能により2日ページまでメモ 1 ゾーに保存できます) 


•アニメーション機能を搭載 • 

作成したスプライトパターンを日コマまで設定し、動きを決めるとアニメーショ 
ンできます。(作成したスプライトの動きがすぐに確認できます) 


•拡大モードは4種類 • 

2 • 4•日 • 16倍で拡大エディツトできます。 


籲強力な編集機能春 

LINE • BOX - BOX FILL • PSET をサポートしています。 


•巳 GM 機能癱 

スプライトエディタでは初の巳 GM 機能搭載。 (5 曲の中から選曲可能) 


•スプライトデータならどんな形式でもエディツト可能籲 

ディスク•メモリーからのスプライトデータの読み込みが可能です。 


•増設 RAM • 八ードディスクをサポート# 

増設 RAM を接続していると1度にエディットできるデータ量が增えます。 

八ードディスクからの立ち上げ、八ードディスクからのデータ読み込みも ◦ K です。 


quality sprite niiter. 


販売代理店:近畿システムサービス ㈱ 


OH! BUSINESS 

京都市山科区音羽西林町2 TEL : 075-50 P -2972 






















その一瞬、ラスベガスへ。君はカジノの支配者になれるか。 






ラスベガスのカジ/で、つわものギャンブラーたちと虚々実々の駆け引きをしながらの大勝負。ゲームのおもしろさ+カジノのスリリング 
な ムード、それが「ザ•スーパーラスベガス」です。プレイする楽しさはもちろん、デ^スプレイに映し出される鮮明なグラフ^ックにもご 
注目/ラスベガスの 美しい夜景、カジノの華やかなネオンライト、悲喜こもごもに表情を力、えるキャラクターたち…と、 

トッフ° クラスの鮮やかでキメ細かな画像をお楽しみください。 3 1 

主人公の カジノ荒らしに扮する君は、勝货に勝って稼がなければ、次の 
エリアの新たなゲームに挑むことができません。勝ち進んで億万長者になるか、 

それとも無一文で寂しくカジ/を去るか。それは、君の実力とツキしだい。さあラス 
ベガスで、ギャンブラーたちとの勝負にチャレンジだ 0 

〈ゲーム内容〉 マニアからファミリーまで楽しめる、10種類もの多彩なゲームが充実しています。 

コントラクトブリッジ/ブラックジャック/セブンスタッドポーカー/スロット ポー/ 

カー/大富豪/ナポレオン/七並べ/セブンブリッジ/ページワン/ルーレッ 占, 

•「ザ•スーパーラスベガス J をさらに楽しんでいただくために、コントラクトブリッジなと*のプレイ方法をわかりやす_ 

した豪華カラー解説書(約 160 P ) が付いています: 




B 本デ!)ユ3株式会社 

Experts Compuler Software 日本 デクスタのソフトウェアは、全国の有名パ;^ 




ザ •スーパーラスベガス 

ND -22 FD 12,800円 

PC -9801 シリーズ/ U 68000用 


||5千代田区 外神 田三オンビル花家 3 F 003(255) 976 l ( ft ) 

ください。また•通信販売で直接オーダーされる際は、現金軎留にて日本デクスタ宛お申し込みください, 






























SUPER ARTIST 256 

超リア;レクラフィックツー;レ登場/ 



* 主な機能とその概要について 

当ソフトは x 68000の256色モードを使用してディスプレ 
イ上に描画を行うグラフィックツールです。コマンドは 
512 x 512 をフルスクリーンで使ろために、マルチウイン 
ドウを使用しております。各コマンドを実行する際には、 
マウスポインタでアイコンをクリックするだけでよ<、 
操作は非常に簡単です。尚、各コマンドを実行中にはマ 
ウスポインタが機能に合わせて変化し、視覚の上からも 
動作の確認を行え、入カミスの防止を促します。 

•機能1: 16 X 16 ドットのユーザー定典ペン先 
描画を行ろペン先として、極細のロッドリンクペンに加 
え、ユーザーが自由に定義して再設定が可能な 16 X 16 ド 
ットの5種のペン先を装備しています。定義したペン先 
は、ファイルへのセーブが出来、いつでも呼出しが可能 
です。 

* 機能2:画面の編集機能 

画面の編集には、コピー機能、上下•左右反転機能、拡 
大 • 縮少機能等が装備されています。拡大 • 縮少機能に 
は : c •グ方向への不等倍拡大 • 縮少が行え、思い通りの変 
形を行5寧が可能です。更に、細かい部分を1ドット単 
位でエディットする事を考え、拡大編集を装備しました。 
ウインドウ上で、2、4、日倍に拡大された部分をドッ 
卜単位で編集する事が可能です。 

* 機能3:データのセーブ • ロード 
画面データのセーブには、画面上の任懣の大ささ、任意 
の部分を指定でさ、更に、セーブ方法も2種類用慝しま 
した。圧縮形式でのセーブは 、 SUPER ARTIST 256 
だけの使用を考えて、でぎるだけファイルの長さを縮め 
てセーブを行5ものです。この方式を使えば、1枚のデ 
ィスクに何枚もの画像ファイルをおさめる事ができます。 
非圧縮形式でのセーブは、巳 ASIC 、 C 等、ユーザーが 
アブ 1 」ケーシヨンソフトで画像をあつかろ事を考應に込 
れ、巳 ASIC の PUT / GET 形式でセーブを行います。但 
し、そのファイルをそのまま使う事は出来ませんが、付 
属のユーティリティーディスクでの作業によって、巳 A 
SIC 等で扱えるファイルとなります。その他、ユーザー 
定義のペン先データやパレットカラーデータもセーブ • 
カードが可能です。尚、ファイルの呼び出しに際しても、 
各ファイルの拡張子によって個々のファイルを判別しま 
すので、指定のファイルグループ以外のファイルをまち 
がえて力ードする事はありません。 

* 機能4:パレットカラーの変換 
描画を行ろにあたり、256色の色は、65536色中から選ぶ 
事ができます。指定のパレットナンバーに、好みの色を 
割りあてて使う事が出来ます。色を作るのには、闩、 G 、 
B 、 I を使って指定します。この機能を使5事により、 
更に美しい画面を作る事が可能となります。 

•機能5:その他 

その他の機能として、ペン先キャラクタを使った折線、 
ボックスフィル等を備えており、多彩な表現(スクリー 
ントーン効果等)が出来ます。更に、イメージスキャナ 
( SHA 闩 P CZ -8 NS 1 等)からの取り込み画像も利用で 
さます。 




代 \ A / 

いら一 


連続じ C 直線を引く 


2*4*8倍での拡大編集可能 


PC -8801 SR 以降 
5 インチ 2 D 5 枚組 

¥7,800 


16 X 16 ドットでペン先定義可能 


• 3 枚組 ¥28,000 

春文、: f 応機種 x -68000 


Seed Software 

〒 M 0 東京都台東区根岸卜 6-1 2 

卜_カンマンション鶯谷502 


256色でもこれだけの表現力があります 


•ソフト®®: これからソフトを作ろうとしている方、製品イ匕しようと 
しようとしている方、御相談下さい。 

•通信販売の御案内 :商品名、機種名、住所、氏 
名を明記の上現金書留でお申し込み下さい。 


即日発送•送料無料 


発売元: D ドット企画 

〒110東京都台東区台東 4-6-5 御徒町グリーンプラザ903 
TE し 03-835-4959 FAX . 03-835-4644 
































0011111 



网 

I 1 

m 

®3D® 

\mm 

ms) 




卜 *#1 

[Y] 

_ 


'取] 








XI68000 

¥7,800 



¥6,800 


プロフェッショナル 

雀悟 




相手が強 t 、とこんなに面白い。 


独自の思考アルゴリズムによりコンビュータは格段の強さ 
対戦相手は個性溢れる24人 
段位戦•勝抜戦の成績に応じて段位が上がる昇段シス f ム 
きめ細かな ルール 設定が可能 
記録室では個人の成績やいろ t 、ろなデータが見られます 
オープン•リトライ•指導など研究のための機能も充実 

※画面写真は全て X 68000 版のものです 

企画•制作株式会社シヤン/ーノレ TEL 03(702)0851 干158東京都世田谷区深沢 5-15-15 ラフィーネ015 









































rian ; 


12月23日発売./ 

Xlturbo 5_2D(2 枚組 )3,800 円 


通遇晒売(送料蘸料) 

•携金 •《 の®合 - - 一一"一一- 一 

氏名 •懺橹 名•住所•氏名 播 写を明紀 して. 現金鼸 wr お申し込みくたさ 

•代金 引 •の* 合- 

や fax や八ヵキ r •品名 •徵镥 名.饪所•氏名 •年齡 •« 这昌 号を明紀して, 
お曲し 込みくたさい t 、 罚品お届け時に商品代金をお支払いくた2い。 



IMI 




rsii/( 



^SCEKA 圈 






























あの名作ディスクミステリ-が日日000に旌える 

コマンド入力だから面白い、本格派のためのアドベンチャーゲーム 



し,,」:ド ノノ 1 ^今^^ ぐ • , .^ X^SjyTi 


- 


顧 


ジェリー.ランドルフはシカゴの新聞社、デイリー.カサブランカの女性, Ui 方であ 
る。ある日彼女の 無二の 親友メイ•ェルガーが行方不明になり、それと時を M じ 
くして、父エルガー博士の研究が屯部に肌われているという内容のメイの日,记が 
ジ X リーのもとに刷ナられた 0 

早速、同僚のロイと共に彼女の家へ向かった'ジェリーは、研究室{淑大きな機 
械の傍らで胸にナイフを受け、殺されても、る博士を発見する。調べると、研究所の 
班庭には犯人のものと思われる足跡が残されていたが、不思議ながにその足跡 
は研究室に向かって、るだ t ナで出て行った形跡がない。犯人はどこへ消えた の 
か。また殺された博士の顔に浮かぶ极やかな衣怡…… 。 

あなたは犯人を追って過去へ飛ぶ。そこであなたを待ち受(ナる迷命とは…? 

AS TIME GOES BY — あなたが样験する愛と W 険の人生に紇杯/ 

シンキングラビットのディスクミステリー「カサブランカに愛を j は、 SF 
を舞台にミステリーあり、ロマンスありのフルコースでお届けします》 

X 6 日000のために、追加も含め全グラフィックを改良しました。3段階 
に変化する美しいグラフィックと、古き良きアメリカを彷彿とさせる BGM 
で、他のゲームでは味わえない珠玉のストーリーをお楽しみください。 

5 インチ EHD 
¥7,800 


〆 r 卷 

ノ j " ノ <殺人者は時空を超えて 


「人生とは素晴らしい舞台、時間はかくも 


巧妙な伏線を張った物語を用意じ二 
我々を楽しませてくれるではないか。」 

. クルツフオン•エルガー博士 


殺人事件さえもこの「カサブランカに愛を」では 一つの 伏線にしか 
過ぎない。殺人事件が解決した後も物語は続く。むしろ、事件解決後 
こそが物語のメインテーマを語る部分なのだ0時間を超えた壮大な 
人間ドラマの中にブレイヤーは人を思いやる気持ちの大切さ、生き 
ることの素晴らしさを感じるのである。僕はゲームを解き終わった 
時、感動で思わず涙がこみあげてきたぐらいなのだ。とにかくゼッタ 
イにお勧めの AVG だと断言できる。 

響あきら ( ゲーム評論家 〉 
JICC 出版局別冊宝島63号「ミステリーの友」より 




XB8000 


昭和 B □年4月に登場し、アドベンチャーゲームの方向を完全に決定つけ 
た「道化師殺人事件」。発売後数年を経た現在でも、その伝説は衰えるこ 
となく、アドベンチャーゲームの金字塔として高く評価されています> 
しかも、今までの機種では惜し<も表現できなかった部分が、 X 68000 
によって実現しました。 

65000色カラーグラフィックモードを使ったフルスクロールによる臨場 
感と、練り上げられたシナリオが描き出す殺人劇。 

アドベンチャーゲームの最高峰「道化師殺人事件」、つし M こ X 68000 に 
登場しました。「道化師殺人事件」を超えるのは、「道化師殺人事件 j です> 


5インチ 2 HD 
¥7,800 


好評発売中 


soft office 、 

THINKING RABBIT 

〒665 宝塚市中州 1-2-24-503 B 0797-73-3113 




























傷 fe — 

U'WWJIW 1 1 1 1 . . ||, 、 / 龜 

献 le 

1! ETERNAL STORY 

カルフオース 『怒濤のカオス』 

——未来を賭けた少女戦士の鼓動が、 

いまキミを直撃する。—— 

話題沸騰中のゲーム『ガルフォース怒濤のカオス』がついに発売さ 
れる。新天地カオスをめぐる死闘ともいえる闘いに巻き込まれてしま 
った7人の少女戦士たち。無事にカオスに到着したのも束の間、敵の 
手からのカオス奪回の任務が彼女たちを待っていた。しかもパラノイ 
ド軍たちからの容赦のない攻撃が続く。新天地カオスに隠された大き 
な謎とは7そして彼女たちの運命は7すべての鍵をキミが握る。口 
ールプレイングゲーム『怒濤のカオス』。彼女たちの熱い鼓動がキミ 
の心に響きだす。いま、未来を賭けた壮大なドラマの幕が開く。 


ロール プレイングゲーム怒濤のカオスは、従来のゲームの枠を大きく起えたものになつ 
ています。奥が深いドラマチックなシナリオ。単なる情報収拾のためだけになりがちだつ 
た謎解きではな〈、ゲーム世界とストリー展開に大き〈影響を与える謎がいたるところに 
配置されています。また、プレイヤーは7人の少女たち全員を操作することができ、キミの 
意志が彼女たちの運命を左右します。戦略的なおもしろさが味わえる戦閼シーン、キャラ 
クター同士が、個性を活かした会話を交わすキャラクタートキングシステムなど新しい 
RPG の領域へと踏み出した ガルフォース ブ怒濤のカオス..:。ついに、登場, 


スタッフ募集/グラフィック•プログラマ ー• ジナリオライタ ー• ゲー厶 ハ广,|〇+株式会社スキャップトラスト 

デザイナー(自宅作業可能)、及び作品持ち込み歓迎します。 一 ^ LUpirU ^ T 〒150東京都渋谷区神宮前 5-42 H 

ユーザーサポートテレホンサービス (03) 486-8127 


















^ ^ ^ % 

怒 




舞以 ^ 

心、パ:ぶ/ノ 


,む 


_、 
___ 




★か 


Wk 




淡淡上 


仏 


’谷な 


が 








か 


-% C 


電 __' 


5^ 


奮 ____k 


新春号1月上旬 
無料配布/ 




m 


無料贈呈■ザ•ソフトバング89をご希望の方は電話でお申し込みください0 

TE し (03)235-9379 


ザ•ソフトバンク’89掲 
載に関するお問い合わ 

ミす。 



TE し (03)235-9379 


株式会社日本ソフトバンク 

新規事業企画室分室 

亍162東京都新宿区市谷田町 2-37 千代田ビル 


いろんな分野から業界をみせる 


情報•ソフトウェア 


まさにこれからの基幹産業。メーカー系とユーザ 
一系と独立系に分かれ、ソフトウェア開発を中心に行なっています。 

大型のメインフレーマからパソコンまで、コンピュー 
夕のハードウヱア本体を製作する企業 

ハードとソフ トを 流通させるキーポイン ト。 取扱うモノが 
技術製品であるだけに、専門知識もかなり必要とされます。 


百貨店•ストア•専門店 


エン ドユーザーに直接製品を販売するだけ 
でなく、 VAN 事業に取り組むなど活躍の場を広げています。 


金融•証券•保険 


オンラインの国際イ匕にともない、現在かなり大規 
模なコンピュータ化が進められています。今後も需要の多し、分野。 

コンピュータの保守サービスや、異業種からの參入など、 
上記の5種類に含まれない企業群です。 


この他にも内容は盛 
りだくさん。たとえ 
ば、某企業がクルマ 
の流線型フオルム造 
りを手がけている話 
と力、、パソコンをフ 
ァクシミリとしても 
使用可能にしたソフ 
トウエア会社の話な 
ど。いろんな企業か 
ら教えてもらう、知 
れば必ず得する情報 
をギッシリ掲載して 
います。 
























ちこ 


は 


れ —llf ハ、ソ 

レゲ,衡でつかき/ j - vg ィメ 
しか — f |り、1 
0ンブ」 子とも.. 々 


ノンコンムノド 

」の#らィ; U 4 / 


ジす 


るの^、 


の先輩 I 


’、 〆 芝/:、21ち‘こ と C 及 i 
でいて欲しきな大学生に、 h ち/ソフ〜 
界に拡げて、 f ません。専門知 f んな/夕族ノ、 

,1 I 

/ a f J/f 

成年の f 遠一{ザ. 


専 


スプ 




\ 


ぼ 


忿 , 


ど 


1 


,£す。 




SS 

I 




ミ ^亡 7 i ^ 

f 二 EfB , 


て 


,ます。 


SSTy 

_ 0 \ 





11 




mk 


1 


, ■ 爾 ifM 義 i 


















it ノ ms 

トリス ■■■ 


シンプルなもの I 琴ど奥が深い。それは、おもしろ 
さの本質を見極め、磨吉あげて U るからだ。ソ連 
で生まれたゲーム「テトリス J が、世界中で人気を 
博しているのも、本物のおもしろさを持っている 
からだ。ルールは簡単だが、その楽レさは奥が深 
し、。ゲームオー八一になるたびに感じるくやしさ 
が、やがては快感になるほど「テトリス』は魅力に 
満ちている。 


PC-8801 シリーズ .XH シリ-ズ .PC-980U 要 256KBRAM) 

PC 昍 VA シリーズ • X 6800(> FM 77 AV - FMR -50 

ES32 専用 0 メィン RAM64K 、 VRAM128K を必要とします。 

:'一•ピー•エス担当/吉田•南都 こ '“' 1 意^^巍, X 】シリ-ズの発売がおくれています。ご迷惑をかけて申し_||||^^^ 

m 横浜市緑区鴨居 3+3 鴨居ユ^ f |^§ j ^045-93 卜 0151 C 23 はアスキーの商標です 

「テトリス」ゲームクイズ実施中 ►詳しくはパソコンショップ店頭にあるチラシをご覧ください。 









* * ☆ y r ☆ 7 T ★ ☆ 


19 的年度ザ ☆ 


Vr ^ 


ノミネ ー ト作品発表 


お待たせしました,新春特別大サービス企画 「1988 GAME 
□F THE YEARj のノミネート作品がついに発表です。 
19昍年に登場した数多くのゲームのなかから優秀な作品ば 
かりをノミネートし,そのなかでもっとも優れた作品をみ 
んなでよってたかって選び出し,でっかい賞をプレゼント 


しよ5といラ, Oh ! X 恒例の読者参加によるこの企画。ア 
ドベンチヤーあり,シューテイングあり, RPG ありとい 
つた前年とは比べものにならないほどの大混戦のなかで, 
1988年度における真の GAME OF THE 丫 EAR に選 
ばれる作品を決定するのは,あなたの1票なのです。 






多'^^ 



























いません 卜^ 1 ■ 
$強さを奴,またレ' 
_ .多く __ナ 
‘ と比べて,:なんと紅い 
-厶が 迷つ: てし鼻う(まと 


議_被: 


日本ファルコムの強し 
2フイニッ y + K す 


てぁります 

調だった今回の GAME : (3 

Kf •'•.-••.•. .•••••**_• 

•’.••• / ••••••«•■*• ••••••*• 

、いただけれは:わがるように 


1988 GAME OF THE YEAR 

アンケート八ガキ集計によるべスト 50( i 2 ioo 通集計) 


1 . イース D (XI) . 1242 

2. ソーサリアン (XI) . 1224 

3. 源平討魔伝 (X68000). 858 

4. スーパーレイドック(XI) . 652 

5. SUPER 大戦略(XI) . 531 

6_ドラゴンスピリット (X6B000). 495 

7. マン八ッタン•レクイエム (XB8D00). 315 

已. MightSMagic(Xl). 258 

9. 八イドライ K3(X1). 219 

10. めそん一刻•完結編(XI) . 189 

11. ぎゅわんぶらあ自己中心派 2(X1). 187 

12. ユーノォリー (XI) . 175 

13. スペース八リアー(XI) . 174 

14. 蒼き狼と白き牝鹿•ジンギスカン (X1/MZ- 250 0). 147 

15. ワールドゴルフ D (XI) . 138 

16. ウルティマIV(XI) . 109 

17. Mr. プロ野球(XI) . 106 

18. ラスト•八ルマゲドン(XI) . 99 

19. 沙羅曼蛇 (XB 800 0). 97 

20. A 列車で行こう H (X 68000). 94 

21. プロ野球 FAN(Xl). 88 

22. スタークルーザー (XI) . 81 

23. Kiss of Murder(X6B000). 75 

24. アルカノイド S(X6B000) . 70 

25. 熱血高校ドッジボール部 (XB8000). 63 

26. 今夜も朝まで POWERFUL まあじゃん(XI) . 57 

27. 琥珀色の遺言 (XB 800 0). 56 

28. 抜忍伝説(XI) . 55 

29. サンダーフォース D (X6B000). 52 

30. たんば (XB8000). 49 

31. ウィザードリイ# S(MZ- 250 0). 46 

32. ザ•リターン•オブ•イシター (X1/X 6800 0). 43 

33. 麻雀狂時代 SPECIAL (XI/X6800 0). 40 

34. 八ウ•メニ•ロボット (X1/XB 的 00) . 39 

35. 信長の野望•全国版 (X68000) . 37 

36. 桃太郎伝説 (X68000). 36 

37. ドーム (X68000). 33 

38. フアンタジ ーIE (XI) . 30 

39. ツインビ ー(X68000). 29 

40. ソフトで八ードな物語 (X6B000). 28 

41. ゼリアード(XI) . 25 

42. Master of Monsters(Xl). 24 

43. 麻雀悟空(XI X68000). 23 

44. 第4のユニット 2(X1). 20 

45. TD.F.(X68000). 19 

46. 名監督 D (X68000). 15 

47. アークティック(XI X68000). 14 

48. ザ•コックピット (X68000). 9 

49. アークス (XI) . 8 

50. ラプラスの魔(X〗) . 5 


審査委員ノミネートベスト 10 

1 . 熱血高校ドッジボール部 (X68000) 

2. A 列車で行こう 11 (X68000) 

3. スター クルーザー (XI) 

4. マン八ッタン•レクイエム (X68000) 

5. SUPER 大戦略(XI) 

6. サンダーフォース n (XB 800 0) 

7. ューフォリー(XI) 

日. Mr. プロ野球(XI) 

9. 桃太郎伝説 (X68000) 

10. たんば (XB800D) 




mm 


前年度発売作品 S その他ベスト 20 


1. スペース八リアー (X68000). 427 

2. C compiler PRO-68K(XB8000). 322 

3. 上海(XI) . 279 

4. リバイバー(XI) . 256 

5. 三国志 ( XI ) . 191 

6. MUSIC PRO-68K(X68000). 154 

7. C-TRACE 昍 (X68000). 127 

日.信長の野望•全国版(XI) . 113 

9. Z’sSTAFF PRO-68K(X68000). 93 

10. Kamikaze/BUSINESS PRO-68K(X68000).67 

11. ジーザス ( XI ).63 

12. NEW Print Shop PRO-68K(X68000).49 

13. ウイザードリイ (XI/MZ- 250 0).47 

14. ダークストー厶 (MZ-1500). 46 

15. 電脳倶楽部 (X68000). 40 

16. Sampling PRQ-68K(X68000). 39 

17. ドラゴンクエスト ID (ファミコン) . 30 

18. 闩 -TYPE(PC エンジン) . 21 

19. OS-9/X 68000 (X68000). 20 

20. ルクソール (XI) . 18 


2 〇 Oh! X 1989.1. 





賺 ㈣ ,。,'',き:,ミ,:ハ ,寧 

I : .•爱•••パパ ^ • A: 如 金.- ▲ 





























































































Oh ! X ゲーム大賞 

この賞は,昨年度までは「作品 
賞」としてあがめ奉られていた賞 
ですが,やはり年間を通じて最高 
の栄誉を得る賞には威厳が必要, 
ということで,こんなに立派な名 
前が付いてしまいました。しかし, 
毎年多様化するゲーム界において, 
じったいなにを基準にするか非常 
に難しく,それを暗示するかのよ 
うに今年もさまざまなジャンルか 
ら20本のノミネートとなっていま 
す。 

ここにズラッと並んだ作品を見 
てみると,まず最初に気づくのが, 
毎年この赏のノミネートの常連と 
なりつつある日本ファルコムの強 
さ。もう,このソフトハウスはゲ 
ーム界の五木ひろしと化した感が 
ありますが,そのパワーは今年も 
健在と言えそうです。 

—方では,シミュレーションの 
ジャンルでは現代戦略モノと時代 
戦略モノの両巨頭が仲よく 「SUP 
ER 大戦略」と「ジンギスカン」で 
ノミネート。アクション RPG 全盛 
の時代にどこまでがんばるか期待 
したいところ。そしてあとはやは 
り X 68000パワーの凄さにご注目。 
「源平討魔伝」,「マンハッタン•レ 
クイエム」, 「A 列車で行こうII」, 

「ドラゴンスピリット」と堂々4本 
もノミネート。発売時期があれほ 


ど遅れた「ドラゴンスピリット」 
が,ここまで健闘したのには驚か 
されます。 

そして最後に, 「Mr. プロ野球」 

と「ユーフォリー」といった地味 
ながら楽しませてくれた,実力派 
ゲームがどこまで票を伸ばすか, 
これも大いに注目したいところで 
す 。 

蒼き狼と白き ife 鹿•ジンギスカン 
(XI MZ-2500) 

ィース n (xi) 

A 列車で行こう n (X68000) 

ぎゅわんぶらあ自己中心派 2(X1) 
源平討魔伝 (X68000) 

スタークルーザー(XI) 
スーパ-レイ ドック(XI) 

SUPER 大戦略(XI) 
スペースハリアー(XI) 

ソーサ リアン(XI) 

ドラゴンスピリット (X68000) 

ハィドラィド 3 (XI) 

プロ野球 FAN(XI) 

Might & Magic(XI) 

マンハッタン.レクイエム 

(X68000) 

Mr. プロ野球(XI) 

めぞん一刻•完結編 (XI) 

ユーフォリ ー(XI) 

ラスト•ハルマゲドン(XI) 

ワールドゴルフ n (xi) 


_圓_ 




m 


大なストーリーは,人類滅亡の謎 


と魔族という新しい関係を見事な 
までに表現しています c このノミ 
ネート作品を見ていると, 1988 年 
は本当の意味でシナリオの地位を, 
ゲームの世界でも確立してくれた 
年であったといえそうです。 


イース 11(X1) 

A 列車で行こう| (X68000) 
源平討魔伝 (X68000) 
ソーサ リアン(XI) 

Might & Magic (XI) 


ゲームテザイン賞 

この賞は,グラフィック•音 
楽•操作性など,ゲームを構成 
する各要素のバランスのとれた 
作品に贈られる賞です。ここで 
もやはりと言おうか,日本ファ 
ルコムの2本がノミネート。そ 
れと独創的なコンセプトでデザ 
インされている「 A 列車で行こ 
うII」と,アーケード版から移 
植の人気ゲーム「源平討魔伝」 
といった X68000 グループも,ハ 
ードとの相性もよく完成度の高 
さではかなりのもの。また,ア 
メリカらしい完成度を誇る 「Mi 
ght & Magicj の個性も捨てが 
たいところです。 


オリジナルシナリオ賞 

いまや AVG や RPG では,シナリ 
才のレベルの高さはもはや必需品。 
ゲームをよりいっそう盛り上げる 
というより,もうシナリオ自体が 
推理小説や冒険小説として通用す 
るところまできているようです 
なかでも,リバーヒルソフトのこ 
の丨年の活躍には目を見張るもの 
があります。、 

それと「イースII」のあのテン 
ポのいい展開も,ずいぶんと多く 
のユーザーを楽しませてくれまし 
た。「ラスト.ハルマゲドン」の壮 


ィース II (XI) 

琥珀色の遗言 (X68000) 

マンハッタン • レクイエム 

(X68000) 

ラスト-ハルマゲドン(XI〉 


謬爾 




lm tJ 




1988 GAME OF THE YEAR 27 

す: が" 歧 一^^^ 




























































































穿碑)叫 X 妒8き.1, 


wm 


ィシ - トレシ•へへ* •く.',バベぐ ’:-〉'^.^' . t^g^Lr' ’.’f :. '•トン•レ *..’•‘ 

I ' 

テーマ音楽寅 

音楽賞といっても,某テレビ局の金の鳩賞なんかとは違 
ってゲーム音楽の賞ですので,音楽性云々よりもストーリ 
一の展開に曲が非常にマッチしているとか,シナリオの雰 
囲気をより盛り上げてくれるなどの要素をもとに選考され 
ています。 

それはともかく,今回は音楽に関しては凄い年だったと 
いえそうです。なかでも「琥珀色の遺言」のオープニング 
なんかは,もうゲームが始まる以前にプレイヤーをゾクゾ 
クさせてくれる魅力を持ったものでしたし,「イース II 」や 
「ソーサリアン」のパソコンを使ったゲーム音楽としての完 
成度の高さには,ただただ感心させられるばかりです。こ 
のように一段とレベルの高い激戦区ともいえそうです 


アークス ( XI 〉 

イース n ( xi ) 

琥珀色の遗言 ( X 68000) 
ソーサリアン( XI ) 


特別演出部門寅 

最近はゲーム全体のレベルも 
上がり,もはや思いつきでプロ 
グラムを組んで完成させるとい 
ったことは通用しなくなってし 
まったようです。そうして制作 
者はゲームをプレイヤーにいか 
にアピールするかといった,技術が要求される 
時代へと移り変わってきました。この賞は,見 
せ方の工夫,作り方の優秀性といったことをポ 
イントに,パソコンゲームとして,より優れた 
演出を見せてくれたゲームに贈られる賞です。 

ですから, 「スターク ルー ザー」 や「琥珀色の 
遺言」は画面レイアウトやムードの演出に凝っ 
た作品として,また「 A 列車で行こう II 」は X 
68000への移植によりその世界をますます完成さ 
せたゲームとして,さらに「熱血高校ドッジボ 


« 


クラフィック竇 

前回までは比較的,「美しいグラフィック 
というのがこの賞の重要なポイントとなって 
ましたが,やはり X 68000 が登場してからは, 
それに加えて,「いかにきれいに見せてくれた 
か」,といった絵のセンスというのもポイン 
です。 

ですから今回は,「たんば」や「サンダーフ 
ス II 」といった,絵のセンスが買いのゲ 
—ムと,オープニングだけでも多くの人間を 
あっと言わせた「マンハッタン.レクイエム」 
などが中心となってノミネートされています c 
この賞のノミネート作品を見てみると,やは 
り X 68000 が与える影響は,今後ますます大き 
くなってきそうです c 

ース D ( X 1) 

サンダーフォース II ( X 68000) 

たんば ( X 68000) 

マンハッタン•レクイエム ( X 68000) 


± 


ール部」や「たんぱ」は,ドッジボールや霊界 
スゴロクといった題材をうまくバソコン流に料 
5里した,といった観点からノミネートされまし 
た。 

A 列車で行こう 1 ( X 68000) 

琥珀色の遗言 ( X 68000) 

スタークルーザー( XI ) 

たんば ( X 68000) 

熱血高校ドッジボール部 ( X 68000) 




mm 

,施 


□ n 


主演キャラクタ ー/助演キャラクター賞 

今回のノミネートを見て,「主演キャラクター 
賞のなかになんで A 列車がニツコリ笑っている 
んだよ一」と驚かれている貴兄もいらっしゃる 
ことと思います。でも,よ一く考えてみてくだ 
さい。 ゲームの なかで一番重要で,なおかつ愛 
着を持って接することのできる要素を持ったも 
の,というのがこの賞の選考基準なのです。大 
自然のなかをプレイヤーの手足となってせっせ 
とレールを敷いて走る A 列車って,やっぱり力 
ワイイ個性を持ったキャラクターのはず。人間 
じゃなき ゃい けない、わけもなし,というわけで 
今回,初めて列車がノミネートとあいなったわ 
けなのです。 

このほかにも主演 • 助演の両方に登場したド 
ツジボール 部のメンバーや,オープニングでは 
とても カツコ イイのに,いざゲームが始まると 
バニーちゃんみたいなかわ いい スタイルで暴れ 
回る「ゼリアード」のデューク.ガーランド, 
そしてプリプリとした質感がとてもいいと好評 
の X 68000 版イシターのスライムと,今回はずい 
ぶんと変化に富んだ豪華メンバーの登場となっ 
ています。 


なお,パソコンゲームの主演.助演キャラと 
いうことを念頭に置いての選考となっています 
ので,「めぞん一刻」の出演メンバーはあえて選 
外とさせていただきました, 

主演キャラクター賞 

ァドル(ィース n - xi ) 

A 列車 ( A 列車で行こう D - X 68000) 

カイ(ザ•リターン•オブ•イシター • X 68000) 
景清(源平討 魔 伝 • X 68000) 

<にお(熱血高校ドッジポール部 , X 68000) 
デューク•ガーランド(ゼリアード , X 1) 

桃太郎(桃太郎伝説 • X 68000) 

助演キャラクター賞 

安駄婆(源平討 魔 伝 • X 68000) 

スライム(ザ•リターン•オブ•イシター • 

X 68000) 

ソニー君(ぎゅわんぶらあ自己中心派 2. X 1) 

天使(熱血高校ドッジボール部 • X 68000) 

リリァ(ィース D - XI ) 

レイチェル(ストーム , X 1) 






















































繼 、J 

ffrFIS 
3: 的 棚 

刪ス 

4: B 本国 □ 


_ 卜 __Wll 


蒼き狼と白き牝鹿•ジンギスカン 
ウイザードリイ# 2 
MZ -700 版スペースハリァー 


SUPER 大戦略 


ス- 


-レイドック 


スタ ークルーザー 


沙羅曼蛇 ( X 68000) 

サンダーフォース 11( X 68000) 


OhlMZ 寅 

やはり毎年寂しくなってくるこの部門。こ 
れも時代の流れといってしまえばそれまでな 
のですが,光栄の最新作「蒼き狼と白き牝鹿 • 
ジンギスカン」の登場に,少しは救われたよ 
うな気がします。またあの名作,「ウィザード 
リィ#2」の登場で MZ - 2500には質の高いゲ 
ームが揃ったともいえそうです。最後はやは 
りこの人,古蔟氏の MZ -700 版スぺハリも自作 
プログラムながら,ノミネートのなかに名前 
を連ねてもらうことにしましよう。これはや 
はり Oh ! X ならではの部門なのですから。 




フアンキーアイテア寅 

今回からスタートするこの部門。簡単に説明 
すると,プレイする側からは想像もつかないよ 
うなアイデアをゲームに持ち込んで,思いっき 
り我々を楽しませてくれたゲームに贈られる賞 
です。 

とにかく,「たんぱ j のあのグラフィックと相 
原 コージの イラストには強力なインパクトがあ 
りました。また,アドベンチャー,シミュレー 
シ ヨン, そしてタイムトライアルと3つの要素 
の幕の内弁当,「ストーム」は,ほかでは決して 


旅が 


シューテ インク ゲーム貢 

前回は該当作品の数が揃わなかったために, 
—時お休みをいただいていたこの部門ですが, 
今回は年明け早々 XI に登場して話題をまいたあ 
の 「スーパーレイ ドック 」 を始めとして, X 68000 
がいよいよその底力を見せ始めた証として,「ド 
ラゴンスピリット」や「沙羅曼蛇」,「ツインビ 
_」, そして最新作の「サンダー フォース II 」ま 
でと,いきなり豪華なラインアップとなってし 
まいました。 

ここはやはりアーケード版からの移植モノよ 
り,パソコンオリジナルの健闘を期待したいとこ 
ろです。ただ,最初にご紹介した愛読者カード 
の単純集計によるベスト50を見ていると,未だ 
に X 68000 版スぺハリの与えたインパクトの大き 
さはその数字となって表れていることがよくわ 
かります。しかし,残念ながら前年度の作品と 
いうことで選外となっています。その代わり, 
弟ともいえる XI 版が堂々のノミネートです。 


I 


マネのできない個性を持っています。ゲームと 
しての卜ータルな意味での完成度の高さも必要 
ですが,こうして心がなごむような単純明快な 
楽しさも,これからのゲームには期待したいと 
ころです。 


紫醜罹( XI ) 

ストーム〇 (1) 

ソフトでハードな物語 ( X 68000) 
たんぱ ( X 68000) 


スーパーレイドック( XI ) 
スペースハリアー( XI ) 

ッインビー ( X 68000) 

ドラゴンスピリット ( X 68000) 




し 




OhIXJI 

シュー ティングゲームが出てこない,と騒い 
でいるところに突如として登場し,若い世代の 
XI ユーザーの圧倒的支持を得た「スーパーレイ 
ドック」。そして,斬新なアイデアで新しいシス 
テムを構築してくれそうな予感を与えてくれた 
「スタークルーザー」。 「 SUPER 大戦略」は細か 
いところまでしっかりと作られた大作というこ 
とでノミネートです。とにかく,どの作品も)<1 
のゲームとしては最高級。いずれにしても,ど 
れが賞を取ってもおかしくないゲームばかりな 
のです。 


Oh!68SK 

前回,スぺハリの登場に真っ青になってし 
まい,急遽設定してしまったという, X 68000 
の実力を思い知らされたことはまだ記憶に新 
しいように思います。でも,今回はそういっ 
たにわか仕込みのブームに流されることもな 
く,着実にその数を増やし,いまや 「 X 68000 
にはオリジナルゲームしか作らない j とまで 
ソフトハウスからいわれるようになりました。 

そんななかで,今回はアーケード版ながら 
も パソコン になかなか マ ッチした仕上がりの 
「源平討魔伝」。完全な移植版とまでいわれた 
「ドラゴンスピリット」。そしてオリジナルシ 
ユー ティングの 最高峰 「サン ダー フ ォース n 」 
の3本がノミネートです。 スペース ハリアー 
以来,電波の作品にはますます磨きがかかっ 
てきたようです。いずれにしてもこの部門, 
各ソフトハウスの熱意が伝わってくる力作ば 
かりです。 


源平討魔伝 
サンダーフォース n 
ドラゴンスピリット 













































パスルゲーム貢 

前回まではインテリジェント賞と呼ばれて 
いたこの部門ですが,今回はそれぞれのジャ 
ンルが豊富に揃ってきたために,パズルとテ 
ーブルゲームと2つのジャンルに分かれての 
登場です。 

とにかく,ノミネート作品をご覧になって 
ください 0 「アークディック」,「ハウ•メニ • 
ロボット」とア_トディンクの個性が光って 
います。やはり,このようなジャンルには, 
各ソフトハウスの持つ,独特の個性が現れる 
といえるでしよう 。: 

また,後発ながらも,リアルタイムでブロ 
ック崩しの逆をいく 「TETRIS」 や,転がるポ 
ールに手に汗握る 「DIABLO」 も,基本に戻っ 
た楽しさを与えてくれる名作でした。 


アークティック( XI / X 6800 0) 

DIAB し 0( X 1) 

TETRIS(X1/X 6800 0) 

ハウ•メニ•ロボ ッ ト (X1/X 6800 0) 





テーブルゲーム賞 

パソ q ンの思考 ゲームの なかで,やはり昔か 
ら不滅の領域を持って存在するのが,このトラ 
ンプや麻雀,花札といった卓上 ゲームの 数々。 
その ゲームの なかから卓越した ゲームを 選抜し 
てお届けするのがこのテーブル ゲーム 賞です。 

今回のノミネート作品の顔ぶれを見ていると, 
麻雀 ゲームの なかにもこれまでと違った方向性 
が見え始めたのが特徴のようです。たとえば「ぎ 
ゅわんぶらあ自己中心派2」の個性の強いキャ 
ラクターたち。または,ぽこ麻雀を取り入れた 
「今夜も朝まで POWERFUL まあじゃん」などの 



ように,単なる麻雀ゲームの要素に,さらにエ 
ンタテイメント性を加えたものが主流となりつ 
つあるようです。この部門も今後どこまで新し 
い展開を見せるか楽しみなところです。 

ぎゅわんぶらあ自己中心派2 (XI) 

今夜も朝まで POWERFUL まあじゃん(XI ) 

ソリティアロイヤル(XI) 

花札放浪記 (X68000) 

麻雀悟空 (X1/X 6800 0) 

まあじゃん狂時代 SPECIAL(X1/X 6800 0) 





-: 3UU COM 2116 

* 〇蠡 リトソト七あして办ゥ/ 

liHiiiiH - 


スポーツ 大寅 

この部門は,某テレビ局の番組とは一切関係 
ございません。別に編集者が野球大会に参加す 
るわけでもなく,ただなんとなくゴロがいいか 
らと並べてみたらそうなってしまったわけなの 
です。 

前置きが長くなってしまいましたが,これも 
今回は豊富なジャンルのゲームがたくさんあっ 
たからこその設置です。しかし,ここではメジ 
ャーなジャンルのスポーツゲームを中心に攻め 
てみたいとの希望もあり,あえてアクション指 
向の強いドッジボールには外れてもらうことに 
しました。 

そんななかで今回特徴的だったのが 「Mr •プロ 


野球 j, 「名監督II」といった監督業を中心とし 
た スポーツシミユレーシ ヨンが登場してきたこ 
と。 これは ファミコンに 対抗するための スポー 
ッゲームとして,新しい展開を見せてくれよう 
とする意気込みが感じられるようで,ますます 
発展してほしい気がします。特に 「Mr. プロ野球」 
は,タケルソフトでこの健闘には目を見張るも 
のがあります。 

プロ野球 FAN(XI) 

Mr . プロ野球(XI) 

名監督 11(X68000) 

ワールドゴルフ 11(X1) 



移榷 海外ゲーム寅 

日本のパソコンゲームも,ハードの進歩とと 
もに レベル も毎年向上しています。しかし,海 
外のゲームの持つ独創的な発想も捨てがたいと 
ころ。というわけで今回もこの部門は健在なわ 
けですが,なんといっても注目株はソビエトか 
らのお客さん 「TETRIS」 の登場です。 

これまでこのような海外からの移植ものとい 
えば,そのほとんどがアメリカ産 RPG だったわ 
けですが,意外なことにソビエト産のパズルゲ 
ームがノミネートされることとなりました。こ 


れもソウルオリンピックの影響なのでしようか。 
そのほかには,やはりスタークラフトの移植 RPG 
が例年どおりの強さを発揮しているようですが, 
いつものX l/XI turbo の両方のサボートに加え, 
嬉しいことに最近は X68000 版も発売されるよう 
になりました。 

TETRIS ( X 68000) 

ファンタジー ID ( X 1/ X 6800 0) 

Might & Magic ( X 1/ X 6800 0) 


I 


^ 9 






0 


? & 


、一%看 



30 


Oh! X 1989.1. 









































































リバーヒルソフトが耠る 
アドベンチャー•ミステリーの紡作 
く1920シリーズ〉、ついに登瑀/ 



底抜け脱纗ゲーム賞 

いまさらこの部門に関しての細かい説明は 
不要でしよう。簡単にいえば「せっかく楽し 
みにして買ってきたのに,なんだこの〇〇〇 
は」という,あの例のパターンです。詳しい 
ことをお知りになりたい方は,1988年4月号 
の23ページをお読みください。 

前回は比較的,まだ活気が足りなかったよ 
うに思います。今回はもう少し気合いを入れ 
ていきましよう。でも頭にくるあまり,思い 
きり暗くなってしまう と 困るので,パ アーツと 
明るく笑えるものを重点的に掲載したいと思 
っています。ですから,推薦理由というのを 
わかりやすくお窨きください。今回は,スぺ 
ースも前より大幅拡大の予定です。 


ノミネート作品なし 


その他自由応募部門賞 

この賞はその名のとおり,まったく自由に 
皆さんが思いつくままに設定していただいて 
結構な賞です。前回は,当然ながら ゲーム か 
ソフ ト ハウス だけのものだろうと思っていた 
ら,「横綱双羽黒 j からイラストの「田村,高 
橋コンビ」,そして「地球防衛軍の広告のお姉 
さん」までと,ほとんど収拾のつかない無法 
.地帯と化してしまいました。今年もこの調子 
でガンガンいきまし よう。 こちらも スペース 
を拡大してお届けする予定です。 




教 f 懘 


最優秀バフオーマンス賞 

今回,突如として登場のこの部門。これはゲ 
ーム以外の部分,特に店頭デモ用ソフトなどで 
盛り上げてくれたゲームに贈られる賞です。こ 
ういったデモ版というのは,比較的皆さ•んには 
馴染みがないかもしれませんが,最近,店頭デ 
モや付録に付いているデモ版といった,デモ用 
ソフトのレベルが,非常に高くなってきている 
のです。 

これまでデモ版というと,オープニングやゲ 
ーム中の画面を一部切り取っただけというもの 
が主流だったのですが,最近はこのデモ専用の 
ソフトを新しく作成するソフトハウスが多くな 
り,その内容もグラフィック,音楽,そして演 
出という要素がうまくマッチして,わずか数分 
間のものでありながら,もうそれだけで丨本の 
環境用ソフトとなり得るようなものが登場し始 
めています。ですから,そのようにわずか数分 
間に楽しませてくれるようなデモ版ソフトのセ 


♦ 5 月に発売されたソーサリアンは ,X I turbo 
専用だったにもかかわらず,かなりヒットした 
という。確かに,最初のシステムに付属のシナ 
リオを Part 」 だとすると,この12月に発売のピ 
ラミッド•ソーサリアンの Part . 4まで,実に 
4本のシナリオがこの半年あまりの間に発売さ 
れたことになる。よく「〜2」とか「〜3」までが 
2年ほどの間に発売されたという話は聞くが,半 
年で4本というのは異例のことである。 

このソーサリアンは,チップ (16 X 8 ドット 
の絵を構成する最小単位)で描かれたとは思え 
ないような美しいグラフィックと,すぐに CD 
が発売されてしまうほどの素晴らしい音楽,そ 
してシナリオと,どれをとっても最高級のでき 
である。 

よく, 「最近のゲームは同じようなものばか 
りでつまらん j という人がいるが,このソーサ 
リアンも胸を張っていばれるほどの"あったら 
しいっ!”アイデアが盛り込まれているという 
わけではない。しかし,追加シナリオが発売さ 
れるたびに私を「ペンタウァ」の町に呼び戻し, 
独特の世界を堪能させてくれているのも事実な 
のだ。このソーサリアンが,これからいったい 
どのような新しい展開を見せてくれるか期待し 
てみたい。 (西川善司) 

♦カタギの人々はとっくに葙静まり,凍てつく 
隙間風が身体によくない季節。なに気なく立ち 
上げたゲームが妙に面白くて, つい 明日のこと 


応募要 


1988 GAME OF THE YEAR に応募されたい 
方は,今月号の愛読者カードの記入欄,または 
官製ハガキに各賞の名前とソフト名,そして推 


薦理由をお書きになって, Oh ! X 編集室までお送 


りください。 

お送りいただいたハガキのなかから,メッセ 
ージを採用させていただいた方に抽選で,写真 
の「ゲームミュージック CD 」 と,バンダイの「ス 
ーパーデフォルメ.ガンダムプラモデル」,そし 
て UPU 発行の「電視遊戯大全 • テレビゲーム j 


を各5名の方に,また100名の方には Oh!X 4月 
号の表紙をあしらった 「0 h ! X ノー ト」をプレゼ 


ンスを,これから大いに評価していこうと設置 
されたものです。 

これには, X68000 の登場が大きく関係してい 
るといえそうです。 し> し,それだけでは X68000 
の独壇上になってしまうので,その枠を多少広 
げて, XI 版「アークス」に付いていた 「YASHAj 
のデモソフトと,同じく XI 版の「ラスト •ハル 
マゲドン」の12分にもわたるオープニングもノ 
ミネートされています。このように,パソコン 
ゲームのデモ版が,映画の予告編を超えてしま 
うかもしれないような時代がもうすぐそこまで 
来ているのです。 

A 列車で行こう n (X68000 版店頭用デモ) 
琥珀色の 遗言 (X68000 版店頭用デモ) 

殺人倶楽部 DX (X68000 版店頭用デモ) 
YASHA(X1 版アークスの付録) 

ラスト•ハルマゲドン(XI版オープニング) 


を忘れる。そんなゲームが,いくつかあったで 
すね,この I 年は。ただ,そのなかで丨本とな 
ると,う一ん,さて? 

X I 系と X 68000 の2つにばっさりと分かれてし 
まった Oh ! X ゲーム界。 RPG の逆襲,ラスト • 
ハルマゲドン。スポーツの復活,ワールドゴル 
フ E , Mr . ブロ野球,ドッジボール部。アクシヨ 
ンは不滅,スーパーレイドック,源平討魔伝, 
サンダーフォース II 。あの感動を再び, A 列車 
D や SUPER 大戦略。 ADV もいるぞの琥珀色の 
遺言。イースとソーサリアンばかりがなぜ人気 
なのかわかんないくらい,1988年は多種多様な 
ゲームが暗躍した。 

私のお気に入りはワールドゴルフ D であり, 
(獲得 賞金 総額は |〇 億円を越えた), a 列車 n で 
あり,サンダーフォース n であった。あれ? 
全部 n ものだぞ。ま,いいか。 

今年は,確かにゲームはたくさんあった。し 
かし,新しいゲームが登場した年ではなく,い 
ままでの経験を元にして完成度の高いゲームが 
出現した年だといえそうだ。新作の TETRIS や 
ら,たんばやら, Mr . プロ野球など新しいもの 
も,あるにはあったが,熟練ジャンルの牙城は 
崩せなかったということか。ソビエト製の TET 
RIS がどこまで票を伸ばすかが楽しみ。この年 
末は SUPER 大戦略 68 K でもやって遊んでよっと 
(この姿勢がいけないな,最近ど一も)。 

(荻窪圭) 


ントします。締め切りは2月15日(当日消印有 
効)までです。皆さん,ふるってご応募くださ 

い0 



1988 GAME OF THE YEAR 3l 









DRAGON 

リヴオルテイー 2 

ソーサリアン追加シナリオ Vol .3 

エグザイル2 

株価分析ソフト CK -2 

FM シンセサイザー•ボード/ D . M . S . R . 



铁題の“ ゥェ & 


今月号の発売はまだ12月なのですが, Oh ! X 
はいち早く新年を迎えてしまいました。1988 
年度 GAME OF THE YEAR のノミネート作 
品も発表されたことですし,また1年よろし 
くお付き合いください。 

というわけで,今月の「話題のソフトウエ 
ア」は,これまでとはちょっと趣向を変えて, 
まずは今月 (1988 年12月),または次の春ごろ 
までに発売される予定の,新作ソフトの経過 
報告からすることにしましょう。上の写真を 
見てください。これが新年に登場する大作3 
本です。 


読者が選ぶゲームベスト10 

今月の "1988 GAME OF THE YEAR ” のノ 
ミネート発表,いかがだったでしようか。あれ 
もこれも思い出深い作品ばかりで,選考のほう 
もずいぶんと難航したようです。しかし,よく考 
えてみると,この「読者が選ぶゲ_ムベスト I 0 j 
も,もう次回の GAME OF THE YEAR に向け 
ての參考資料となるわけで, I 年の経つのは本 
当に早いものです。 

では,今月のベスト10を見てみましよう〇な 
んとドラゴンスピリットカ\イース II , ソーサ 
リアンを抑えて,いきなりトップに躍り出まし 
た。そのほかにも琥珀色の遺言や X 68000 版信長 
の野望といった,初登場で上位に入り込んでく 


まずは システム ソフトの SUPER 大戦略 68 
K , そしてお次は T&E の 3 D ゴルフ, そして 
最後が ブローダーバンドジャパンの V\HNGS 
OF FURY です。大戦略のほうはまだマップ 
データの 作成中みたいだし, 3 D ゴルフは春 
ごろになるだろうといってるところへ,こっ 
そりとうちの Beep 取材班が潜入して入手した 
超極秘 (?) 写真なのです。おかげで,この3 
D ゴルフは残念なことに X 68000 版ではなく, 
98 版しか入手できなかったそ一です。 Beep の 
取材班によると,この 3 D ゴルフ, T & E 社 
内でも評判になっているほどマイ ペースで 開 
発が進んでいるらしく, X 68000 版に至っては, 
発売日がぜんぜん決まっていないというのが 
どうやら真相らしいのです。まっ,それだけ 
完成度が高いゴルフゲームが出来上がると思 

るゲームが今月は目立っています。さて,今年 
はいったいどのようナょ'激戦が繰り広げられるの 
でしょうか。 X 68000 の動きを中心に,大いに期 
待していようではありませんか。 

1 . ドラゴンスピリット 

2. ソーサ リアン 

3. イース II 

4. 琥珀色の遺言 

5. ラスト.ハルマゲドン 

6. SUPER 大戦略 

7. スタークルーザー 

8. 信長の野望•全国版 ( X 68000) 

9. 沙羅曼蛇 

10. サンダーフォース II 


32 Oh! X 1989.1. 
































って,のんびり待ってみることにしましよう。 

そして最後が, ブロー ダーバンドの WINGS 
OF FURY 。 どうです,この航空母艦のグラフ 
ィック0まるでプラモデルのパッケージでも 
見ているような美しい出来でしよ。こちらは, 
どうも Print Shop の制作を手掛けて以来,社 
内に X 68000 フアンのプログラマさんが誕生し 
てしまったようで,ずいぶんと気合いが入っ 
ているみたい。おまけに原作とストーリーを 
そっくり入れ替えて,ゼロ戦がアメリカ軍を 
撃退するという内容になっての移植版空中戦 
シミ ユレーシヨ ンです。 

さて,そのほかのゲームといえば, ソーサ 
リアンの追加シナリオ Vol . 3 の発売決定とと 
もにますます期待がかかるイース III 。そして 
シャープから発売予定の X 68000 版パックマニ 
アとサンダーブレード。この両方とも詳しい 
ことをお届けするまでにはもう少し時間がか 
かりそう。 このほかにも 現在 シャープ • SPS 
ラインでいくつかプロジェクトが進行中らし 
いので,これはまた次回にでもレポートする 
ことにしましよう。 


新作ソプト情報 


☆ …… II 月30日現在発売中 ★ ……近日発売予定 

★DRAGON 

MZ - 2500用パズルゲームの登場だ。このゲーム, 
画面上にズラリと並んだ麻雀牌のなかから,まず 
は隣り合った同じ牌を裏返す。そうして今度はす 
でに裏返された牌をはさんだ牌のなかから同じも 
のを見つけて裏返していく。これを続けて全部の 
牌を裏返してしまえば,面クリアでどこかで見た 
ような面クリドラゴンが待っているという寸法。 
うまく順序さえ考えれば簡単にいきそうだが,そ 
うは問屋が卸さない。ゲームが単純なだけに,ハ 
マッてしまう危険性が大きそう。 

MZ - 2500用 3.5〃2 DD 版6,800円 

ログ »03 (837) 2595 

★リヴオルティー2 

XI には久しぶりのシューテイングゲーム,リヴ 
オルティー2が登場だ。 XI シリーズのアクション 
ゲームでは珍らしい2ドット縦スクロールを 実現。 
パワーアップオプションは丨〇種類以上, BGM はす 
ベて FM 音源対応で20曲以上という超豪華版。た 
だし,このゲームはジョイスティック専用と なっ 
ている。ゲームのストーリーは,アンドロメダ銀 
河のある G 型太陽を主星とするスヌクラ星系の第 
5惑星デヴィタに突如起こった,ベルネリ軍のク 
ーデター。そうして平和に暮らしていた人々は, 
弾圧に苦しめられる暗黒の時代を迎えようとして 
いた。しかしそんななかにひと筋の光明が。それ 
は,ペルネリ政権に立ち向かおうとする勇者たち 
の姿であった . 。 

Xl / XIturbo 用 5〃2 D 版4枚組予価7,800円 

(2 ドライブ専用,要ジョイスティック) 

風雅システム 00764 (29)6791 

★ソーサリアン追加シナリオ Vol . 3 

ついに,追加シナリオも第3巻の発売を迎えるこ 
ととなった。今度の舞台は南海の孤島。日本での 



X 

.欲 


1 

t 

I 

高 

綱 


調 ® 

i i 

\\m 

.4' 







1 条 

タレ^ 

切 


寧 



:::に修 



f 




華 






パ 



丄 




3 」 


伞 

傘 


か: 

わ柄 




中 



ill 

潔 

欲 

㈣ 


為 

4m 




) 

M 


| 

I' 


_ 

m 

i 

il 


% 


i 

I 

I 

H 


可 :; 



f 

フ:: .ち:.ミ 

■il 

i 

% 

m 

瓦 

磁 

II' 

te 


| 


漏 }■ 

|8 PT0 眶麵 


ISERURETRVIKRNE 

ISRUEI 

Is 晒 

::涌 


DRAGON 

戦いに勝利してペンタウァに帰国したソーサリア 
ンは,休む間もなく王からギルバレス島での大魔 
王ギルバレスの復活を知らされ,新たな戦いの旅 
に出る。こうして追加シナリオ Vol . 3「ピラミッド 
ソーサリアン j は,謎のピラミッドに始まり,ラ • 
フォーヌの森,洞窟,巨大神殿,そして,戦国ソ 
—サリアンの徳川家庚の章で暗黒神「邪鬼」を操 
っていたギルバレスの迷宮の奥深くへと進んで行 
<〇 

XI turbo 用 5〃2 D 版2枚組3,800円 

(要ソーサリアンゲームディスク) 

日本 ファルコム 00425 (27) 0555 

★エグザイル2 

テレネットの中東を舞台としたアクション RPG 
ゲーム「エグザイル」の完結編,エグザイル2の 
発売が決定した。このエグザイル,まだ II 月の時 
点では最初のゲームの XI 版は発売されていないが, 
他機種の仕上がりを見てみるとなかなかのもの。 
しかし,これが2ともなると操作性,グラフィッ 
クデータ量,ドラッグの効果,マギックすべてが 
前作を上回っているそうで,完全に前作を超える 
ことが期待できそうだ。ストーリーは,世界を掌 
握した何者かが,いよいよ最後の構築物の建造に 
かかろうとし始めた。こうして,前作でアサシン 
の首領となった主人公サドラーを待ち受ける運命 
の扉が再び開かれる。果たして巨大な歴史の命運を 
握るのは誰なのか . 。 

XI turbo 用 5〃2 D 版4枚組8,800円 

日本テレネット 003 (268)1268 

☆株価分析ソフト CK - 2 

テラダ商電からすでに発売中の廉価版株価分析 
ソフト, CK - I を大幅にグレ_ドアップした CK -2 
が発売された。この CK -2 は,ローソク足,出来高 
の表示,サイコロジカルラインの表示といった C 
K - I の持つ諸機能はもちろんのこと,さらにカイ 
リ率,篠原レシオ,ポリュームレシオといった高 
度な分析も可能となった。このなかにあるカイリ 
率は株価移動平均線からどの程度かい離している 
かを示す 率, 篠原レシオはテクニカルアナリスト 
の篠原正治氏の開発した分析法で高値,安値,終 
値の動きから計算し特に仕手株の分析に向いてい 
るといわれるレシオ,ボリュームレシオは株価上 
昇日の出来高合計を株価下落日の出来高合計で割 
ったものである。このソフトではそれぞれの分析 
画面において分析法の簡単な説明が表示されるの 
でマニュアルがなくとも分析結果を把握すること 
が可能。また上記の分析すべてを丨画面に表示す 
る総合分析の機能も持っているので分析がよりわ 
かりやすくなる。 

CK -2 には3銘柄のデータが入力済みのデータデ 
ィスクが付属しているのでそれを見ながら即使用 
が可能。そのデータフォーマットは CK -丨と同一な 



リヴオルティー2 



株価分析ソフト CK -2 


ので,すでに CK - I を使用しているユーザーは CK -2 
への乗り換えができる。 

データは週足なので週末に一度だけ入力すれば 
よく手間が省けるが,テラダ商電では CK -2 を使用 
したデータ提供サービスも有料にて行ってくれる 
とのこと。 

Xlturbo 用 5"2 D 版2枚組30,000円 

(2 ドライブ専用) 

テラダ商電 00542(78)8662 

☆ FM シンセサイザー•ポート 7 D . M . S . R . 

MZ - 2500に新しく 「 FM シンセサイザー•ポー 
ド j と,ミュージックソフト 「 D . M . S . R . j が発売 
された。 FM シンセサイザー•ポードは, FM 音源 
部の基本スペックは,2オペレータによる6音ポ 
リフォニック+リズム音5音で,5パラメータの 
デジタル エンベロープ となっており, ヤマハ 製の 
ミ: i - ジックキーボード YK -〇丨,もしくは YK -20 
に接続でき,手軽に演奏が楽しめる。 

またこのポードには基本ソフトも付属しており, 
64音色がプリセットされている音色エディタと16 
パターンのリズムがプリセットされたリズムエデ 
ィタによって,音色とリズムの編集が可能。丨小 
節を最大32ビートで表現できるこのリズムエディ 
夕は,パターン作成用マトリクスによって演奏リ 
ズムパターンを簡単に作ることができるようにな 
っている。 

一方の D . M . S . R . は, FM シンセサイザー•ボー 
ド用のデジタル.マルチシーケンスレコーダで, 
FM 音源チップをフルに使った9音ポリフォニック 
と MZ - 2500内蔵の FM 音源を使用したリズム音3 
声による自動演奏を可能にした作曲用ソフトで, 
メロディはオプションのミ ュージ ック キー ポード 
からのリアルタイム録音,リズムはパターンエデ 
ィタによって作成し,リズムエディタで最大64パ 
ターンまで管理できる。なお,この D . M . S . R •の使 
用にあたっては,増設 RAM / VRAM が必要。 

FM シンセサイザー.ボード 24,800円 

D . M . S . R . 3.5"2 DD 版 9,800円 

ニッ コーシ 003(270)8851 


THE S0FT0UCH 


33 






































GAME 

REVIEW 

今月は,固定ファンの多い AVG 「第 4 のユ 
ニット」の X63000 版と,さらに個性的な 
「極道陣取り」,そうしてコミカルホラー A 
VG「 白夜物語」です。どうやら今回は,笑 
いが絶えない3本セットになってしまった 
ようです。 



〇厶 Q 

ゲ 

V7 卜 


V7J. 


A 

i-r-t' 

、ふと 


忘 


第4のユニット 

記憶を失った少女の過去に隠された,巨大 
な陰謀の影。ユニークな戦闘シーンに思わ 
ず笑ってしまう AVG なのです。 


►まず,8ビット版のこのゲームとの比較 
ですけど,かなりよくなりました,うん。 
さすが,もともとグラフ イックツールを 作 
っていた ( G - EDIT とかですね)ソフトハ 
ウスの作品だけあって,スピードの点でも 
綺麗さという点でも, X 68000 のグラフイッ 
クの機能をよく使いこなしていると思いま 
す。ただ,もう少し派手な色使いでもよか 
ったかな 一とい うのと,少しぐらいマウス 
対応にしてくれても,とか思いますけど。 

それとアイコンの操作性は抜群によくな 
りました。ゲームのシステムとしてはかな 
りいいできですね。で,ゲーム全体として 
の評価なんだけど,キャラクターもかあい 
いし,ストーリーもスイスイ進んでくれる 
し,それでいて盛り上がるしで,もう最高。 
たぶん,いまが締め切り前でなかったなら, 
徹夜しようがなにしようがぜ一ったい一気 
に解きに走ってしまったと思うくらいです。 
オタッキーと言われようがナント言われよ 
うが,私は絶対自分で買います,これ。 

熱中度 ►►►►►!>> (で) 

►あの 「第 4の ユニット」 が X 68000 に登 
場したんだ。以前私がハチャメチャなレビ 
ューを書いたことがあった,あれだ。ゲー 
ムの内容自体は XI 版と変わりはないよう 
だね。 XI 版のときはデイスクアクセスがあ 
ると音楽のテンポが狂いに狂っていたけど, 
そのへんは改善されているし,曲自体もバ 




ージョンアップしているみたい:^。また, 
68ならではのサンプリングによる効果音も 
なかなか0あの,特殊アイコン選択方式 (?) 
も健在。 

XI のときは カーソルの 移動が重かったけ 
れど,68版は軽い軽い。あの,チョコマカ 
チョコマカした戦闘シーンも,まあまあ見 
られるものになっているし,合格かな。け 
れど,ソフトウェアキーボードがドバッて 
出てきてしまったり,68なのにマウスに対 
応していないのはいただけないなあ。でも 
全体的に見て,遊べるものになっているの 
は確か。2を出すときはさっき言ったとこ 
ろを改善してよ。 

熱中度 ►►►►►>[> (善) 

X 68000 用 5〃2 HD 版2枚組6,800円 

データウ:!:スト «06 (968) 1236 

麵獅り 

隣のシマに殴り込みをかけては縄張りを広 
げるという,棰めてアブナーイ,やくざ屋 
さんシミュレーシヨンウオーなのです0 


►陣取りゲームというのは,ごく簡単なウ 
才ーゲームみたいなものである。このゲー 
ムもマップが12種類用意されていて,ゲー 
ム画面は疑似へックスだったりする。しか 
しその上にいるのはなんと極道の面々なの 
だ。 

プレイヤーがすることは簡単である。資 
本金でキャバクラやソープランドを作り, 
軍資金を調達し,組員を集め,隣接するほ 
かの組の シマに 「出入り」を仕かける。た 
いていの場合,人員を大量に投入すれば勝 
負に勝てるようだ。こう簡単だとすぐに鮑 
きてしまいそうだが,実際はそうでもない< 
自分の シマが 広がるとすべての シマをフォ 
ローするのが難しくなり,どうしても手薄 
なところができてしまう。だからいつほか 
の組に乗っ取られやしないかと緊張の連続 
なのだ。実際,奪った自分の シマの 安全を確 
保するには,その取り方に戦略が必要とさ 


*)4 Oh! X 1989.1. 












































れるのである。 

このゲーム,単なるキワものだと思った 
ら大間違い0かなりプレイヤーをのめり込 
ませるモノを持っているのだ。 

熱中度 ►►►►►[>!> ( R . K .) 

►極道は金を儲ける。「ぱちんこやなら3000 
まんでりっばなのができますぜえ」。極道は 
人を集める。「あにき一15にんあつまりまし 
た! あにき一! けいきづけにでいりで 
もしやしょうぜっ!」。極道はでいりをする。 
「ヤロー調子にのってんじゃねえんだよ!!」, 
「死ねやザコどもブッつぶしてやる!!」,「あ 
にき一!!らくしょうですぜぇらくしよう 

!! jo 負けることもある。「あにき一 . や 

られちゃいました。きをとりなおしていき 
ましょう!あにき一!!」。そういうとき, 
極道は殺し屋を雇うこともあれば,族を仲 
間にすることもある。極道は身内から上納 
金を奪う。「あにき一!なんわりのかねを 
もっていくかきめてくだせえ 一 j 。 

そんなこんなで,極道の世界をコミカル 
にシ ミュレート してみたのがこの ゲームで 
ある。マップはたくさんあって,操作性も 
上々, ルール も簡単,エンデイングはしや 
れている。ときにはこんなのも楽しい。 


熱中度 ( K ) 

Xl / Xlturbo 用 5〃2 D 版2枚組6,800円 

(2 ドライブ専用) 
マイクロネット «01 1(561) 1370 



でいり 



白夜物語 


ビジュアルアイデア 


恐怖の館に迷い込んだグループが卷き起こ 
す,笑いと恐怖が交錯したコミカルな AVG 
なのです。 

►立ち上げた瞬間からイヤな予感。まず才 
ープ ニン グ。最近は凝ったものが多いなか, 
これは簡単に過ぎて,いきなり肩すかしを 
くらった気分です。次にグラフイックです 
が,ぼやけた感じを出そうと試みたのかも 
しれません力す,画面が小さいこともあって 
少々見にく くなっています。構図は結構い 
いと思いますし,怪物も気味悪い感じが出 
ているだけに残念です。それより,なんと 
もいただけないのが,キー反応の鈍さです。 
画面上には常に動詞群と名詞群が表示され 
ていて,個々より選んでコマンドするので 
すが,コマンドを実行させたあと,目で追 
える速さでいちいち名詞を書き直すのには 
あきれてしまいました。また,ストーリー 
も特に際立ったものとはいえませんし,ス 
ケベなギャグもあまり笑えません。 

とにかく,まずはぉ膳立て,操作環境な 
どをしっかりしたものにしてほしかったと 
思います。 

熱中度 ►►►!>!> 00 (ぉ) 

►最近,復活の日は近いといわれている A 
VG の最新作である。「白夜物語•ウインチ 
ェスター 家の末裔」という題名は,最近流 
行の推理もののようであるが,実は「笑い 
と恐怖の コミカルホラーアドベンチヤー」 
なのであった。いまでは コマンド 入力の A 
VG というのは絶滅してしまったようで,こ 
の ゲーム も例にもれず コマンド 選択式であ 
る。しかも,このストーリー展開や画面レ 
イアウトを見ていると,まるで ファミコン 
をプレイしているかのような気分にさせて 

今月は X 68000 投稿のススメだよ 

え 一, 皆さんも知ってのとおり, x シリーズ 
の最上位機種として X 68000 シリーズがあって, 
このマシンは16ビット MPU , ハードウェアスク 
ロール,源,スプライト機能搭載と,数年 
前であれば,ァーケードゲームでさえかなわな 
いであろうという,もの凄いフル装備マシンな 
わけです。 

で,当然のように,ほとんどゲームセンター 
のようなゲームが市販ソフトではビシパシと出 
てきたわけです。が,一方のピコピコゲームな 



お化屋敷 


AVG ビジュアル アイデア 


くれる。やはりマウスではなくて,「全機種 
ジョイパッド対応」というのがナニなんだ 
ろぅ。 

で,内容なわけだが,「笑いと恐怖の……」 
という見事なまでのキャッチフレーズから 
もわかるように,誰も笑わないようなギャ 
グの連発なのであった。このあと X 68000 に 
も登場するそうだが,もう少し笑いのセン 
スを パワー アップしたものであってほしい 
ものだ。 

熱中度 ►►►!>[> 00 ( M . Y .) 

Xl / Xlturbo 用 5*2 D 版2枚組7,800円 

(2 ドライブ専用) 
イ ーストキュー ブ 001 I (71 1)7709 


どの「自分で作る小さなゲーム」のほうはあま 
り元気がない。その昔,ゲームを作ろうとして 
も, PUT 命令じゃキャラクタの表示が遅すぎて 
「スプライトがほしいよう j と言っていたのは, 
確かそんなゲームを作ってた人じゃありません 
でしたっけ? 

せっかく,ハードがここまでよくなったんだ 
から, X 68000 時代のピコピコゲームというのを 
作って編集室に送ってみませんか? この前, 
編集担当氏も「もっと初心者向きの X - BASIC の 
ゲームを載せたいなあ j と言ってましたことで 
すし…… 。 (で) 




奶け-⑽ 




a c 

v-nB 

J » •,と 

sr 摄 d 汹 gh 

— I.' AS 


THE S 0 FT 0 UCH 


35 















































•Master of Monsters 



知力と魔力で 
戦略の王となれ 

Nagasawa Atsuniro 

長沢淳博 


ハルマゲドンに続いて,またもやモンス 
ターが主人公のゲームの登場です0でも 
こちらはお馴染みシステムソフトのスト 
ラテジック0召喚してはレベルを上げて, 
モンスター部隊を立派に育てていきまし 
よう。戦關モードも見物です0 


faster of Monsters 


Xlturbo 用 5 M 2 D 版 3 枚組8,000円 

(model 10は要 CZ - 阳 GR 2) 
システムソフト S 092 (714) 6236 


魔王ガイアが魔法陣の上に立ったとき, 

まばゆい光とともに4人の魔法使いが現れ 
た。 4人の魔法使いはそれぞれしもべであ 
るモンスターたちを召喚して,次第に勢力 
を誇示するための血みどろの戦いを繰り広 
げようとしていた0そのモンスターたちの 
なかには,戦いを繰り返すうちに,さらに 
強力なモンスターへ'と成長するものたちも 
いた。 

彼らの戦場にはいくつかの塔が存在し, 

その塔ではモンスターたちの魔力を上げた 
り体力の回復,または占拠した塔の間をワ 
ープできるなど,数々の謎の力を秘めてい 
た。どうやらこの塔の占領が,この戦いの 
カギを握っているらしい。 

こうして,大魔法を操るマスターとなり, 
自分のしもべであるモンスターたちを召喚 
しながら,全世界制覇の野望に燃えた戦い 
の幕がここに切って落とされるのだ。 

ホ 氺 

今回,とうとう Xlturbo にあの Master of 
Monsters が登場です 0 当然これは,工場 
や都市を塔に,工業力や金額を魔力にアレ 
ンジした SUPER 大戦略のモンスター版だ 
と思っていればいいのです。という,甘い 
言葉で巧みに受け流しつつ,皆さんをドロ 
沼の世界へと誘い込むのでありました。 

Dtt\ 開戦 ! ■ 

気温22度,快晴。温風ヒーターの風,風 
力1メートル。今日は絶好の Master of 
Monsters 日和である。この前,練習だと思 
って手を出した2人用マップは,どうやら 
難しいと見た。そこでコンピュータ同士を 
戦わせておいて,正々堂々と横からおもむ 
ろに侵略するという,セコイ手段がどうや 
らこの私には向いているらしい。この手を 
使って,いざ,マップ3の 「EGG OF DRAG 
ON 」 に出陣じゃあ。ちなみに登録されてい 
るマップは20種類。おまけにマップエディ 
夕も付いたお徳用なのです,このゲームっ 
て。 

このマップ3は,俗に言う3力国モード。 
赤,青,緑の3色のなかから自分の国を決 
めます。赤は最初から塔の保有数が多く, 
城は湖に囲まれていて守りが固そうなので 
すが,ちょっとほかの2つとは離れた場所 
にあるので,少し立地条件がよくなさそう。 
そこで青のウォーロックで始めることにし 
ましょう。 

まず,設定をすませたあと,開始のファ 
ンクシヨンキーを押す。このようにフアン 
クシヨンキーで操作できるとは,ますます 
もって大戦略であることよ。 


定石どおり,戦いは塔の奪い合いから始 
まるだろうから,召喚するモンスターは足 
の速そうなのから選ぶことにする。基本的 
にこのゲームでマスターは5タイプいて, 
それぞれウォーロック,ソーサラー,ネク 
ロマンサー,ウイザード,サモナーに分か 
れている。そしてタイプ男 U に8種類のモン 
スターを大魔法のパラメータに応じて召喚 
することができる。また,このモンスター 
のなかには戦闘時にのみ召喚できるものや, 
2段階,3段階にレベルアップするものが 
含まれている,といったぐあい。 

当然,敵モンスターとの相性なんかもあ 
ったりするから,安易に魔力力 ? 低いから弱 
い,といった判断をしているようでは,こ 
の乱世の時代は生き残れない。 

で,足の速いモンスターの続きだが,う 
ちのメンバー(ウォーロック)のなかでは 
ロック鳥とユニコーンが結構いけそう。こ 
れをちよっくら50の魔力のなかから大量召 
喚 (?> してから,周りの様子を見てみよう。 

敵陣のなかにはレイスなんかがいる。こ 
いつには天使をぶつけたほうがいいみたい。 
だって,付録のモンスター総合戦闘表を見 
てみると,相性はいたってヨロシの2重マ 
ルが付いているんだも一ん。おおっと,こ 
こで相手が大魔法を使ってうちのロック鳥 
を「行動済み」にしてきたな。この大魔法 
とは,マスターの持つ魔力のパラメータに 
応じて回復や相手の行動を止める,または 
電撃や流星といったものまで,防御から攻 
撃へと全部で10種類も用意された大技なの 
である。だから「行動済み」には「再動」の 
大魔法を使って,相手の鼻をあかしてやる。 

そうこうしているうちに,赤と緑が勝手 
に戦闘を始めたようだ0このゲームのコン 
ピュータの思考ルーチンは,まず身近に迫 
ってきた敵を取り囲んでは袋ダタキ,とい 
う実にカワイイ性格を持っているらしい。 
おまけに「停止」の大魔法を多用すること 
もわかってきた。そこで私はかねてからの 
計画どおり,このスキを縫って反対側の塔 
の占領に出かけることにしよう。どうやら 



こうした塔の占領合戦から戦いが始まる 


〇〇 Oh! X 1989.1. 
























戦況は赤が圧倒的に有利らしいから,緑が 
一方的にやられてしまわないように,愛の 
手を差し伸べることを忘れてはいけない。 
とにかくいまは,打倒,赤組なのである。 

いよ L 、よ戦し、も中盤戦' 一 ' ■■■■■■■ 

ターン数も11となってくれば,次第に赤 
組が緑の陣営を脅かし始めた。しかし,そ 
こは,青組応援団と緑組のガンバリによっ 
て,ジリジリと赤組を押し戻さなければな 
らない。こうして,青組の応援を得た緑組 
は その鉾先を赤組に向けたまま,次第に勢 
力を取り戻していったのであった。ここで 
もやはり塔の役割は大きい。赤の塔の周り 
にいる赤組軍団を追い払ってやって緑組に 
占領させれば,緑組は回復した部隊がまた 
再び活躍することだって可能なのだ。この 
あたりがこの ゲームでは 重要な駆け引きと 
なってくるに違いない。 

こんな無駄話をしている間に,なんと, 

うちのロック鳥が敵の城の隣にある塔を占 
領した。こうなればしめたもの。次のター 
ンで大魔法を使って,ここにぼこぼこと身 
内をワープさせていけば,遠くにいるメン 
バーを簡単に敵のボスにぶつけられる。 

このほかにもこのゲームには,地形効果 
や時間効果といったものもあって,陸や海 
によって行動範囲が違っていたり,朝•昼- 
夜のなかで攻撃力が違ったり と, なかなか 
細かいところまで考えられているようだ。 

tEZ 9 最終 ラウンド — 

いよいよ戦いも終盤戦。我が青組がマッ 
プの70%を占めるようになってくると,緑 
も赤も塔はほとんど持っていない,という 
状況になってきた。これでは大魔法を使っ 
ても モンスター たちを召喚できないので, 
宝の持ち腐れちゅうことになってしまう。 
しかし,それですんなり黙っている連中で 
はない。マップ中に20個もの隕石をぶつけ 
てくるという「流星」の魔法をばしばし使 
つてくる。 ホン トに,いやなやつ。この魔 
法は,場所を選ばずマップ全体に向けてで 



彼らが大魔法によって召換できる面子です 



「行動済み」には「再動」で対抗 


たらめに攻撃してくるから,なかなかにス 
リリング。近くに命中すると,おっと次は 
そろそろ危ないぞ,なんて思いきり盛り上 
がってしまう。 

現在の戦況は,赤組と緑組の2つを自分 
が相手にしているわけだから,完全に2対 
1で戦っている。そのうえ,ちょっと目を 
離したスキに緑組がサーペントなるモンス 
ターを持ち込んできた。こいつは滅法強い 
から,どんどん塔を奪取されてしまう。仕 
方がないから,こっちもサーベントを呼び 
出して対抗だ。こうなりゃ,鬼ごっこみた 
いなもの。ここで取られたら取り返すゾ, 

と熱くなってはいけない。一点に気を取ら 
れているうちにシッぺ返しを喰わされる, 
というのはよくある話。ひとまず,動かざ 
ること山のご.とし,である。 

結局,一歩下がって塔を明け渡しておい 
て様子を見ることにした。本当はモンスタ 
一たちをばしばし召喚して数で押すという 
のも考えたのだが,せっかく成長型のモン 
スターがいるのだから,この連中をフルに 
使って成長を見てみることにした。すると 
天使が大天使へ,ロック鳥は火の鳥へと, 
まあ,ご立派に育つこと0当然,レベルア 
ップもされるから,戦いもずいぶん楽にな 
った。 

そうして少し遊んだあとは,サーペント 
を近くの自分の塔のなかに待機させて,そ 
こを拠点に,攻撃してはまた戻るというヒ 
-ットアンドウヱイ戦法に出た。敵の マスタ 
一自身のヒットポイントは回復することは 
ないから,こうして少しずつじりじりと攻 
めていけば,もう結果は見えてきたような 
もの。我ながら,なんと賢い戦法よのう。 

そしてチェ ッ クメゲ 

もう機は熟した。あんなに最初がんばっ 
ていた赤組も緑組も塔の数は2つずつしか 
なくなった。おまけにそれぞれの マスター 
のパラメータ も残りわずか。さて,まずは 
赤から料理するか。赤組 マスターの 上から 
は火の鳥,下からは大天使をぶつけよう。 



これが天使のイナズマ攻擊なのだ 


緑のほうにはドラゴンの大部隊で周りを固 
めておこう。 

いきなり,赤の マスター であるネク ロマ 
ンサ ーに 大天使が襲いかかる。そして火の 
鳥がとどめを剌した。こうしてあっけなく, 
赤組さんは我が軍に敗北した。この勢いで 
緑組も落としてしまおう。まずドラゴンの 
先兵部隊が敵陣に乱入,緑組の マスターで 
ある ソーサラーに1回ヒット。 続いて ユニ 
コーンも1回 ヒット。 ここで赤組を倒した 
張本人,火の鳥が到着するのを待って再び 
攻撃だ0そして火の鳥の攻撃,パ、シッ。一 
撃でエンド。グラフィック画面が出たあと, 
勝って よかった ねとメ ッ セージが出ておし 
まい。実に爽快な気分である。 

戦し、終わって日が暮れて 

このゲームには,こういった単発で プレ 
イできるゲームのほか,勝ち抜き戦形式で 
レベル ア ップ した モンスターを連れて行け 
る 「キャンぺーンモード」と力、,「マップエ 
デ イタ」 や 「ユーテ イリ テイ」, さらにゲー 
ムを難しくして遊ぼうという方には「索敵 
モード」 など, いろいろなモードもあって 
楽しめます。 

とにかく RPG とストラテジーを組み合 
わせた発想は,8ビットマシンでも十分に 
楽しめるし,特にキャンぺーンモードは, 
このタイプのゲームにはピッタリだと思う 
んだけど。そう力%大戦略にも付けてくれ 
ればいいのか,そうすればもっと遊べそう。 
いずれにしてもこのゲーム,自称「戦略家」 
の私からのお勧め品です。 


THE SOFTOUCH 37 




















THE SOFTOUCH 

•サンダーフォース II 



地獄口 ■ル 
マル秘攻略法 

Shimizu Kazuto 

清水和人 


「ゲームディスクと目薬をセットで送つ 
てね」と編集室に電話した彼は,その後 
右手にジョイスティック,左手に目薬を 
持つ日々を何日も続けたらしい。こうし 
て Oh!X の読者だけに知らされる横スク 
ロール攻略法が無事完成に至ったのだ0 



というわけで,今月も私の X 68000 は依然 
「サンダーフォース II 」のディスクを飲み込 
んだままである0かつて XI のゼビウスを 
買ったときに付いてきた,名作ジョイステ 
ィックも真夜中の4畳半に怪しい光を放っ 
ている。そして際限なく繰り返されるステ 
ージ1から4までのデ モン ストレー シヨン 
も賑やかだ。 

夜はさらに深まりつつあった。いざ立と 
う戦士たちよ。缶入りウーロン茶をこじ開 
け,目薬の用意も万全に,長い戦いへと旅 
立つのであった。さて今回は,8方向スタ 
ロールを 卒業した諸君に贈る,横ス クロー 
ル攻略法なのである0 


ても,レーザーが発射された瞬間に上下に 
移動し,レーザーを避けながら攻撃すれば 
破壊できる。 

このようにして最後まで行ったら,この 
ステージのボスキャラとご対面だ。後方の 
上か下で敵の攻撃をかわしつつ,連射を続 
ける0これを3〜4回繰り返すと敵レーザ 
一は破壊され,今度は赤い弾がパ'ラバラと 
発射される。これには正面で静止したまま 
攻撃するのがいい。ただ,敵が移動をやめ 
たら突進してくるので,このときは上下に 
素早く逃げなければならない。 

こうしてステージ1は楽々タリアできる 
のた +つた。 


横 スクロールの 登竜門 ステージ 


すでにここから要注意 


さて,いよいよ横 スクロールの 攻略の初 
歩にとりかかろう。ここでは,いままでの 
シューティングゲームと比べてもかなり高 
度なテクが必要とされる。最初は自分の位 
置がうまく把握できなくて,うまく操作で 
きず自滅の繰り返しである。しかし,一度 
失敗したら2度目は絶対になにか工夫する, 
これがリアルタイムゲームの基本である。 

普通のシューティングゲームだと,「あま 
り動かずに戦う」とか「ジョイスティック 
を小刻みに動かす」などのポイントを見つ 
ける努力をすれば,高速スクロールでも大 
丈夫だろう。しかし,このゲームにはそれ 
を超えた難しさがある0沙羅曼蛇の横スタ 
ロールなどとは違い,敵の攻撃は情け容赦 
がないのだ0これに対抗するにはもはやハ。 
ターンを覚えるしかない。敵の出現位置や 
オプションの出る位置を覚えて,先手必勝 
である。 

たとえばステージ1だと,最初に赤い敵 
を後方中央から撃ち,下に落ちた青いやつ 
を地上すれすれから撃破,また中央に戻っ 
て赤いのを撃つといったぐあいである。次 
の中型の敵が WAVE SHOT を残していく 
ので拾って装備,すぐに撃ちながら上部の 
トンネルに入る。トンネル内部では BACK 
FIRE を撃ちまくり,トンネルが終わるとす 
ぐさま前方上に移動して次のトンネルに備 
える。そしてさらにそこから抜け出ると 
SIDE WINDER が取れるが , WAVE 
SHOT のまま前進し,下のバリアを突き破 
り,上下にこまめに移動してバリアの向こ 
う側の敵を撃破する。 

そのあと上に上がって待っていると,最 
初の巨大戦艦の登場だ。ここでひるんでは 
いけない。敵は前方の上部にある青い部分 
から レーザーを 撃ってくるが,これを攻撃 
が始まる前に破壊する。もしこれに失敗し 


ステージ2は,最後のボスキャラは弱い 
くせに,やたら中盤がキツイ。ここでは旋 
回を繰り返しながら攻撃を続け,ビユンビ 
ユン飛んでくる レーザーの 間をすり抜ける 
のには,例の小刻みなジョイスティック操 
作が必要だ。そのあとワープして敵が出現 
したり,息もつかせぬ青い球の攻撃が繰り 
広げられたりと,一瞬パニックとなる場所 
がある。ここでは敵を攻撃したあと思いき 
って前方に出る。そうでないと後ろから壁 
がどんどん迫ってくるのた、これを知らな 
いといままでの苦労が水の泡となってしま 
ラ。 

ふ 一, とにかく最初はなにが起きるかわ 
からないので,とても精神力を消費してし 
まうのだ。 



ステージ丨はほんの小手調べ 


關__ 曙 

ill 1»1! 之】 : 鼴 — 2:! :l lor ■_ 

1- 送;^ CSji : ■■で 

r!n I 『編 II: 

8 方向スクロールではマツプ確認が先決 





^8 Oh! X 1989.1. 






















なんだコ U ャのステージ 3 と 

え一と,とにかく大変なんだ,これが。 
ステージ3は上中下と3つの青いトーチカ 
みたいなのを連射で撃破したあと , BACK 
FIRE で上の青いのを攻撃,そのあとすかさ 
ず上下のトーチカをやっつけて , WAVE 
SHOT を取り地上のロボットキャラを攻 
撃,そのあと天井から黄色いのが降ってき 
て地上から攻撃してくるので,コイツを地 
面に落ちる寸前で撃つ。次にたくさんの青 
い敵が突然現れて,トーチカとこいつのツ 
ープラトンの攻撃をくう。これをかわすと 
今度はエレベーターと動く壁が出現するか 
らすり抜けて,最後のイモ虫キャラとの対 
決となる。 

一気にしゃべると, ステージ 3はこうな 
つている。これがビユンビユンと目の前に 
現れては攻撃してくるので,とにかく自分 
の目で確かめてほしい。これじゃ,命がい 
くつあっても足りんワイ。 

しかし,ステージ4はもっととんでもな 
い。最初すぐに赤い繁殖型のキャラが画面 
上を埋め尽くす。しかし,こちらも横スクロ 
ールに入ったばかりの一瞬の間は無敵状態 
だから,すかさず体当たりや BACK FIRE 
であっさり全滅させて,まずは ストレス 解 
消。続いて後方やや下寄りで攻撃している 
と , WAVE SHOT が 手に入る。そのあとす 
ぐに凄い数の敵が押し寄せてくるので,す 
ぐさま WAVE SHOT に切り換えて撃退。 
そうして ATOMIC や MEGA FLASH を拾 
いながら,警報が鳴り始めたところで下の 
トーチカをやっつけて,今度は BACK 
FIRE で青いのとかへビみたいなのを攻撃。 
ここで,「あ 一, しんど」などと一瞬でも油 
断したら,ロボットの餌食にされるので, 
下で事前に迎え撃つ。このあとの小型艦で 
ちょっとだけ遊んで,次に備える。 

いよいよ超美技を見せるときがくる。前 
方ちょい上で巨大戦艦を連射,このチャン 
スを逃す!:四隅から敵の弾が襲いかかるの 
でそれを画面中央でかわす。ここで 
HANTER を気持ちよく連射しながら上か 
らのツララを前後に避ける。再び警報が鳴 
ったら下のトーチカを攻撃。さあ,次にい 
よいよ巨大戦艦出現とともに敵の雨あられ 
の攻撃が始まる。「おっ,これでついに最後 
か」と思っているとなんとか戦艦が通りす 
ぎてくれたので,「じゃ,終わりかナ」と思う 
とまだまだこのステージは続く。触覚の大 
きいヤツみたいなのをやっつけて進むとど 
んどん通路の上下が狭くなるわ,上からは 
粘着質の滴みたいなのが落ちてくるわで大 


まずは左が恐怖の 
ステージ 5。 これ 
の 高速 スクロール 
はまるでジェット 
コースター気分。 
下はステージ 4 の 
触党みたいなやつ 
と、そのお隣がな 
にが起きるかお楽 
しみの,最終ステ 
ージなのです 




騒ぎ。その先にいるヘンな生物みたいなボ 
スキャラを,後方中央よりちょい前で滴か 
らの安全を確保しつつ攻撃する。敵の口か 
ら発射される弾はちょっとよければ簡単に 
逃げられる。しかしここで浮かれていると, 
次のステージ5で地獄を見る ハメ になる。 

勝手にしやがれのステージ5 

ここまで来ると,心底疲れるのでブレイ 
クキーでポーズにして,ウーロン茶でも飲 
んで,肩の力を抜いてひと休み。さあ,い 
よいよ横スクロールは,これが最終ステー 
ジでっせ。 

むむ,いきなり警報が鳴っているぞ。お 
っと,巨大戦艦が登場。これはェゲツない 
攻撃。中央ちょいで連射して,すぐに下に 
移動してトーチカを破壊 。 MEGA FLASH 
にチェンジして高速 スクロールが 始まって 
もいいように準備。ドワーッ,と画面が流 
れ始めても落ち着いて赤い敵をかわす。そ 
れが終わると ステージ 2にいた避けなきや 
いけない戦艦がヌッ出てくる。はいはい, 
わかりましたでえ。コイツは画面内を クル 
ッと回ってちょちょいのちょい。あら,や 
られてもうた,こら,あかんわ。 

気を取り直して迷路を進む。ここでは早 
く ATOMIC を取らないと通れな い。 壁に 穴 
を開けたら, LASER 取つて WAVE SHOT 



取って,と思っていたらいきなり逆スクロ 
ールして U ターン。次は巨大戦艦の挟み打 
ちにあうから,画面中央から LASER 攻撃。 
そのあとちょい前に出て下のトーチカと上 
のトーチカやっつけて,上の通路をくぐり 
抜けてロボットたたいて,上のトーチカや 
って,壁のまん中掘り進む(こりや,忙し 

いや)。 

そうして赤い壁を入ると突然中央にトー 
チカが出てくるから,コイツを後方から撃 
つとまたまた高速スクロール0最初の分岐 
は下へ,次からは上を選ぶと無事ボスキヤ 
ラにご対面。あ 一, 疲れた一。 

ステージ8にはなにが待つ 

死ぬほどしんどい横スクロールを抜ける 
と,最後のステージ6が待ち受けている0 
ここは8方向スクロール + a なのだが,な 
にしろ敵基地以外はすべて自動追尾の連射 
型トーチカ。避けるためにはほとんどマラ 
ドーナのドリブルがごときテクニックを必 
要とする。「あ一,もうわていやや。もう勝 
手にしてぉくんなまし」と試合放棄したふ 
りして,またもや薬局で目薬を買いあさっ 
てしまう私なのであった。 

ここから先は,各自がんばってみるよう 
に。このサンダーフォース II の誠の姿がこ 
こに隠されているのだ。 


THE SOFTOUCH 


39 


























SOFTOUCH 

PR0-68K 

パックマニア 
ボスコニアン 
パワーリーグ 
めそん一刻 • 完結編 
第4のユニツト 
三国志 

蒼き狼と白き牝鹿 • ジンギスカン 
ウオーニング 
ヒストリーガイア 

WINGS OF FURY 

フアンタジ ー ID •二カデモスの怒り 
口説き方教えます 



伊東建文 (20) 神奈川県 


先月,このコーナーでもご紹介した, X 68000 
用殺人倶楽部が完成間近のようです。今月号 
が発売されるころには,もう店頭に並んでい 
るかもしれません0とにかくこのリバーヒル 
の X 68000 用 AVG はマンレク以来,ますます 
そのグラフィックと演出効果のうまさには磨 
きがかかってきました。ゲームの見せ方とい 
う点では,ほとんど芸術の粋に達したといっ 
てもいいくらいの仕上がりです。 

そういえば,前にご紹介したガルフォース 
や,今月ご紹介のめぞん一刻とともに当分の 
間はシューティングと AVG が主流となりそう。 
しかし,それに負けじと海外からの移植もの 
RPG , M & M やファンタジー,そしてウルテ 
ィマシリーズ (I ~ IV ) が続きます。さて1989 
年の ゲーム 界に, X 68000 は どのような衝撃を 
与えてくれるのでしよう力、。 


X 68000 ソフト S ツールズ 


☆ ……丨丨月30日現在発売中 ★ ……近日発売予定 

★パック マニア 

パックマンシリーズが出てもう10年ほどになろ 
うか0元祖パックマン,ミズパックマン,パック 
マンジュニアなどこのシリーズは種類も多い。そ 
して,このなかでいちばん新しいパックマンシリ 
ーズがこのパックマニアだ。ゲームセンターなど 
で馴染みの諸君も多いだろう。このリアルタイム 
アクションゲームは例によって気まぐれ,追いか 
け,おとぼけといったモンスターをかわしながら, 
エサを取ってはパワーアップしてボーナス点を稼 
ぐところは元祖と同じ。パックマニアではそれに 
加えて,画面構成が立体的になり飛び逃げやスピ 
ードエサなどの要素が増えた。とにかく,音楽も 
画面も綺麗で楽しめるゲームとしての完成を期待 
したい。. 

X 68000 用 5〃2 HD 版価格未定 

シャープ 003(260)1 161 

★ボスコニアン 

電波新聞がドラスピに続くアーケードからの移植 
ゲームは,ナントあの懐かしのボスコニアン。か 
つて,一世を風靡した 「BLAST OFF !」の音声, 
自分を常に中心に置き,広い宇宙空間を駆け巡る 
8方向スクロール,そして,その向こうにそびえ 
立つ敵の基地,前後どちらにも弾の出せる自機。 
このどれをとっても懐かしい。しかし,これが X 
68000版ともなればきっとなにかが変わっての登場 
に違いない。どのような新しい工夫が加えられる 
か期待したいところだ。 


X 68000 用 5〃2 HD 版価格未定 

電波新聞社 003(445)6111 

☆パワーリーグ 

お馴染み,ハドソンの野球ゲーム,パワーリー 
グが登場だ。このゲーム, Mr . プロ野球などのプレ 
イヤーが才ーナーになるタイプの野球ゲームでは 
なく,ブレイヤーが選手となって実際にプレイす 
るタイプの野球ゲームである。リアルタイプのキ 
ャラクターたちが,投げ,打ち,フィールドを駆 
け巡りながら熱戦を展開する。画面構成は,ピッ 
チャー•バッターをメインにした 3 D モードと,球 
を打ったあとのフィールドモードの2面構成で, 
野手のフィールディングも自分で行え,ダイビン 
グキャツチや場外ホームランなど数々のプレイが 
楽しめる。 

X 68000 用 5〃2 HD 版7,800円 

ハドソン 001 1(841)4622 

★めぞん一刻 • 完結編 

めぞんファン待望の X 68000 版がようやく発売さ 
れることになった。このゲームのストーリーは基 
本的にはまったく同じで,五代君がなかなか管理 
人さんに思いを打ち明けることができないまま, 
一刻館の住人たちにふり回されながらも孤軍奮闘 
するというもの。そうして,あの思わず涙してし 
まいそうなラストシーンへとプレイヤーを誘って 
くれる。特に X 68000 版は無駄な会話のやりとりを 
改善したり,グラフィックを全面的に描き直して 
の登場。このゲームは,プレイしたあと,少しだ 
け ハッ ピーな気分にさせてくれる AVG といえそう 
だ。 

X 68000 用 5"2 HD 版5枚組9,800円 

マイクロキャビン 00593(51)6482 

☆第4のユニット 

東京は練馬の上空で謎の航空機擊墜事件が起き 
た。国籍そのほか事故機の内容は一切わからなか 
った。その翌日,優介は公園でかわいい女の子を 
助ける。彼女は記憶を失ってしまい,かすかに覚 
えているのは「ブロンウイン」という言葉だけ。彼 
女はいったいなんのためそこにいたのかはおろか, 
自分の名前さえも思い出せない状態だった。優介 



パワーリーグ 


40 Oh! X 1989.1. 


















は彼女の記憶を取り戻すべく動き出すのだが,そ 
こで次第に事件とこのタイトルである「第4のュ 
ニット」の全貌が明らかにされていくという,お馴 
染みデータウェストの AVG 。 プロレス技を多用し 
た戦闘場面には笑える。追って続編の「第4のュ 
ニット2」(7,600円)もこの12月には発売の予定だ。 

X 68000 用 5 # 2 HD 版2枚組6,800円 

デ ー タウェスト 006(968) 2792 

★三国志 

XI などでファンも多い,三国志が X 68000 にも登 
場する。舞台は1800年ほど前の中国大陸。年代別 
に分かれた5つのシナリオをもとに,それぞれ董 
卓打倒,曹操の台頭,新時代の幕明け,孔明の出 
虛,三国の時代,と名づけられたストーリーが展 
開される。それぞれのシナリオは実在の「三国志 
演義」をもとに作成されているため,中国大陸を舞 
台とした歴史の世界を楽しみながら学ぶこともで 
きる。中国大陸58力国を,果たしてあなたは無事 
統一できるだろうか。 

X 68000 用 5〃2 HD 版2枚組 14,800円 

光栄 0044 (61)6861 

★蒼き狼と白き牝鹿•ジンギスカン 

光栄の歴史シミュレーションゲーム3部作から, 
三国志に続き「蒼き狼と白き牝鹿 • ジンギスカン」 
も発売される。このジンギスカンは,12世紀も半 
ばのユーラシア大陸を舞台に,モンゴル帝国のジ 
ンギスカン,イングランドのリチャードー世,ビ 
ザンツ帝国のアレクシオス,日本の源頼朝といっ 
た歴史的英雄となり,あの広大なューラシア大陸 
に空前の大帝国を築くべく侵攻を開始する。シナ 
リオはモンゴル編と世界編の2つで,戦闘で勝利 
し国を支配しては,政策や人員配置を決定するな 
ど,細かい設定まで気を配りながら,自分だけの 
一大帝国を築く楽しみが味わえる。 

X 68000用 5〃 2 H D 版3枚組(予定) 

9,800円(予価) 
ミュージックテープ 付きサウ ン ドウ ェア 
12,800円(予価) 

光栄 0044(61)6861 

★ヴオーニング 

SF ウオ ー シミュレ ー ションゲ ーム, ウオ ー ニン 
グ。 この ゲームは,大小7つの惑星そしてひとつ 
の人工惑星からなるプシェード星系が舞台。ここ 
ではそれぞれの星が独立した国家を築いていて, 
盛んに貿易が行われている。ここでプレイヤーは 
トレイダー(貿易商人)となり,交易を拡大し利益 
を上げつつ,さらには パン デッドと呼ばれる宇宙 
海賊の襲擎もかわしながら行方不明になった兄を 
捜し出す の だ。なお, この X 68000 版には,オリジ 
ナル曲の追加や禁断のアイテムの追加など,他機 
種のものよりさらにグレードアップされての登場 
だ。 

X 68000 用 5〃2 HD 版2枚組7,800円 

コスモス.コンピューター 003(770)1821 



二国志 



ウォーニング 


X 68000 用 5〃2 HD 版価格未定 

日本コンピューターシステム 003(486)631 1 
★ WINGS OF FURY 

ブローダー バンドジャパンからフライトシミ ュ 
レータ型戦略ゲーム 「WINGS OF FURY 」 が発売さ 
れる。このゲームは1940年,太平洋戦争真っただ 
なか,機銃,ロケットランチャ,対艦魚雷,爆弾 
などの武器を搭載したゼロ戦のパイロットとなり, 
敵迎擊機とドッグファイトを行いながら敵基地や 
敵戦艦擎破といった作戦行動を展開する,フライ 
トシミュレーションゲームだ。画面構成は上空か 
らの俯瞰モード,降下時のフライトシミュレータ 
モードに分かれ,それらの切り換えはすべてオー 
トマチックで行われる。また,上昇,下降時そし 
て旋回時のリアルなアニメーションは,これまで 
のフライトシミュレータでは見られないほど,忠 
実に再現されているらしい。 X 68000 シリーズの機 
能をフルに生かした巨大戦艦の動き,敵戦闘機の 
リアルな移動など,実に見せ場の多いゲームとい 
えそうだ。 

X 68000 用 5〃2 HD 版価格未定 

ブローダーバンドジャパン 003(341)1131 
☆ファンタジー m • 二カデモスの怒り 

なんと, X 68000 のファンタジーシリーズは,い 
きなり m からの登場。このファンタジー in は,フ 
アンタジーシリーズの完結編に当たるもので ,I 


使って楽しい Handy Print Jack 

最近では,パーソナルワープロのほうがパソ 
コンより先に面白い小物を用意するようになっ 
てきた。それは,はなはだ面白くないというわ 
けか,書院用のハンディプリンタを X 68000 に流 
用してしまおうというのが,この 「Handy Print 
Jack 」 である。インクリポンを2回りほど大き 
くしたような書院用ハンディプリンタ ( WD -0 I 
PP ) を, Z’sSTAFF PRO -68 K のプロテクトモジ 
ユールのような箱を介してジョイスティック端子 
につなぐ。きっと電源はジョイスティック端子 


と II の舞台と なったジ ヱルノア島,フ x ロン ラ島 
からそれほど離れて いない 場所に位置す るス カン 
ドール島を舞台に物語は始まる。そうして復簪の 
鬼と化して前作までの勇者たちを待ち受ける二力 
デモスを相手に,今度という今度は二カデモスの 
息の根を止めようと立ち向かう勇者たちの熾烈な 
戦いが繰り広げられていく。次々と襲いかかるモ 
ン スターを 擊ち破り, スクロールに 隠された メッ 
セージにそって,島の奥深くに潜む二カデモスを 
追い詰めた先には,誰も見たこともないような壮 
絶な戦いが待ち受ける。 

X 68000 用 5〃2 HD 版3枚組9,800円 

スタークラフト S 03(998) 2988 

☆口説き方教えます 

X 68000 シリーズにもハードのあのシリーズが登 
場した。その第丨作目が この 「口説き方教えます j 。 
作者いわく, この ゲームは「口説きの プロ」 の指導 
のもとに作成されたもので,彼は「世の中の女性を 
喜ばせる」という信念と経験に基づき,長年築き 
上げてきたものをいまこのゲームに託したそうで, 
なんでも,自称,「知らず知らずのうちに女性を喜 
ばす方法を身に付けていくことができるゲーム」 
ということらしい。あの筋の X 68000 ユーザー の方 
にお勧め? 

X 68000 用 52 HD 版6,800円 

ハード 003(837)1893 


表紙やら,普通のブリンタではできないことが 
できるのは確かである(その分,普通のプリン 
夕代わりにはならないけどね)。 ( K ) 

Handy Print Jack 24,800円 

計測技研 00286 (22) 98 II 

- 

k 


★ヒストリーガイア 

いまは昔,ガイアの大陸に栄えていた4つの国 
のひとつ,ヴァルゼリアの国王ボーゼルー世が魔 
術師べルナリッヒより「閒の術」を体得したとき, 

4国の均衡は崩れ始めた。ボーゼルはその力によ 
って大陸のすべてを彼の手中に収めようと動き出 
した。しかし,平和を乱す影魔術に光魔術が対抗 
すべく立ち上がった。それは魔術師バーリンによ 
り「光の術」を授かったエルスリードの国王ジーク 
ヘルマンである。こうして大陸の覇権をかけて, 

エ ルス リードと ヴァル セリアの2大国の長く激し 
い戦いの日々が始まった。あの XI でお馴染みのシ 
ミュレーシ ヨンゲー ム,エルスリードが,思考ルー 
チンの強化や美しいグラフィックとともに X 68000 
に帰ってきた。 


からとれる5 V だけだろうな ぁ, と思うといじ 
ましい。 

印字はというと,専用のツールを使って挑戦 
したが,熱転写であるからそうきれいではない。 
が,リボン以上の幅の字は打てないとはいえ, 
手軽にどこにでもワープロ文字が書けるという 
のは魅力だろう。付属のツールはいまひとつだ 
が,ドライバと C の関数なんかも公開されてい 
るので,自分で作れる人にはいいオモチャかも 
しれない。しかし,シャープのハンディプリン 
夕(取扱設明書付き !) とこのソフトで2万円以 
上というのは割高なので,もっと安くするか, 
もう少しいいツールを付けてほしかったとも思 
う。ともあれ,ビデオのレーベルやらノー トの 


愛の—字架 

印字サンプル(縮小率60%) 



THE S 0 FT 0 UCH 4l 



















THE SOFTOUCH 

♦ マクロアセンブラ CMA68K 


充実の覼環境 
新アセンブラ登場 

Nakamori Akira 

中森章 

今月はアセンブラ CMA 68 K の登場です0 
X 68000 の発売から1年半,最近になって 
ようやく整い始めた開発ツールは,いっ 
たいどのようなスタイルをしているので 
しょうか。まずは,そのあたりからじつ 
くりと見ていくことにしましよう。 



X 68000 用 5 " 2 H D 版29,800円 

シティソフト 306(927)1060 


歓迎,新"7ク D アセンブラ 

日本で一番進んだゲーム マシン, これが 
X 68000 に対する現在までの一般的な見方 
なのかもしれません。実際のユーザーであ 
る私たちからすれば,目立っている部分だ 
けでレッテルを張られてしまうことに不満 
がない訳ではありませんが,そうかといっ 
てゲームをプレイするうえで最高の マシン 
であるという評価は,嬉しいのも事実です。 

しかし, パソコンの 楽しみは ゲーム だけ 
ではありません0自分でプログラムを書き, 
自分でマシンを思いどおりに操る楽しみが 
あるはずです。 X 68000 の発売当初,市販ソフ 
卜がほとんどない状態にあっても X 68000 
が高い人気を保っていた理山のひとつは, 
アセンブラとリンカが標準装備されていて, 
自分自身でプログラムを作れる環境が用意 
されていたことでしよう。先月の12月号の 
斎藤晋氏の記事によると, X 68000 用の C 
compiler PRO -68 K が1年間で7千本も売 
れ たそうですが,これを見ても多くの ユー 
ザーが自分自身でプログラムを作ることを 
望んでいるということがわかります。 

現在, X 68000 には標準的な C コンパ イラ 
( XC ) と,標準的なアセンブラ ( AS . X ) がシ 
ヤープから発売されています力す,このよう 
な状況下にあって,より萵機能でより使い 
やすい コンパイ ラやアセンブラがほかのソ 
フトハウスから発売されてくることは歓迎 
すべき状況です。その第1彈として先月号 
ではプリプロセッサ PP 68 K を紹介したわ 
けです力 5 ',今回はシティソフトから発売さ 
れたマクロアセンブラ 「 CMA 68 K 」 を紹介 
することにしましよう。それとここで前も 
ってお断りしておきますが,今回のレポー 
卜に使用した CMA 68 K は完成直前のバー 
ジョンのため,市販品とは一部仕様が異な 
る場合があるかもしれません。 

また,この CMA 68 K を使うにあたって 
は,後 FI シティソフトから発売予定の SLIN 
K , または福袋の LK . X のどちらかのリンカ 
が必要ですのでご注意ください。それでは, 
その実態を探ってみることにしましよう。 

CMA 68 K の新たな 機能^^"^ 

まずは,この CMA 68 K が私たちにどの 
ような開発環境を提供してくれる力%特徴 
的な部分をいくつかピックアップしながら 


見ていくことにしましよう。 

CMA 68 K のアセンブリ言語の記述は, 
AS.X のスーパーセットになっていて, 
AS. X の文法にいくつかの疑似命令,プリ 
プロセッサ命令,オートコードジェネレー 
ションが追加されたものになっています。 
このため, AS.X によって開発したプログ 
ラムはすべてアセンブルすることができる 
ようになっています。以下にこれらの新機 
能について簡単に説明します。 

まず,新たに加えられている疑似命令は, 

1) align 

2) rept—endrept 

3) .inform 

4) .warn 

5) .error 

6) ascn/asciz 

の 6 つ,またプリプロセッサにおいては, 

1) #include 

2) #define 

3) #undef 

4) #line 

5) #if 

6) # ifdef/#ifndef 

7) #else 

8) #endif 

などが目新しいと言えそうです。各命令に 
ついての細かい機能解説については省略さ 
せていただきますが,これらの命令のなか 
で実際に使ってみて感じたことがあります。 
それはこの CMA 68 K では,プリプロセッサ 
の機能の一部はアセンブラの疑似命令とま 
ったく同等に扱われていることで,たとえ 
ば, 

#mclude -►include 
#define ^ equ iset ) 

# define (リ | 数付き)— . macro 
などといったところです力 5 ',ここでひとつ 
困ったことが起きてきます。それは, #defi 
ne と equ を冏一祝することです。 #define は 
その場所よりあとのアセンブルに対して定 
義が有効ですが, equ は ファイル すべてで 
有効な定義です(したがって set と違い再定 
義できない)。 CMA 68 K では equ で定義した 
シンボルを定義より前で使うと エラーに な 
ってしまいます。 C コンパイラでは link 命 
令などの引数をあとから equ で定義するこ 
とが多いので,バージョンアップの機会に 
はぜひとも修正してほしい点です。 


42 Oh! X 1989.1. 










次にオートコードジェネレーシヨン機能 
ですが,この才ートコード ジェネ レーシヨ 
ンは,なかなかユニークな機能と言えます。 
アセンブリ言語のプログラムでは一度しか 
参照しないようなラベルを使うことがよく 
あります(たとえばメ ッ セージを出力する 
場☆のメ ッ セージが格納されたアドレス )0 
このようなラベルをいちいち定義するのは 
面倒ですから,ラベルの内容(文字列の定 
義や一時的なサブルーチンの内容)を記述 
することで,そのラベル(アドレス)を自 
動生成する機能がオートコードジェネレー 
シヨンです。たとえば, 

lea [ dc.w 234] ,al 

というのがそれで,234というデータが格納 
されているアドレスを自動的に生成します0 
もっと複雑な例としてはサブルーチンの才 
ートコードジェネレーシヨ ン で, 

bsr [ pea [asciz ”0 h ! X ¥ r ¥ n ”] 
dc.w PRINT 

addq .1 #4 ,sp 
rts ] 

というものです。一度しか呼ばれないサブ 
ルーチンは,このように記述したほうがわ 
かりやすいかもしれません。この例では才 
ートコードジェネレー シ ヨンが入れ子にな 
っています。 CMA 68 K の出力するオブジェ 
クトは AS . X のオブジェクトと互換性があ 
ります ( LK . X でリンクできる)が,この才 
ートコードジヱネレー シ ヨンを使用する場 
合は後日発売される専用リンカを用いない 
とオブジェクトを正しくリンクできないの 
で注意が必要です。 

AS . X との特徴的な相違点 

先にも述べましたが, CMA 68 K は基本的 
には AS . X の文法の スーパーセッ トですが, 
細かいところで AS . X との相遠が見られま 
す。そのいくつかをここに示しましよう。 

1) 構文チヱックの厳密さ 

AS . X は1行内で命令を記述した右側に 
はなにを書いても注釈として無視されまし 
たが, CMA 68 K では関係ないことを命令の 
右側に書くとェラーになってしまいます。 
注釈の前にはちゃんと「:」(セミコロン) 
を付けなければなりません。 

2) さまざまなアドレッシング表記 

デ イス プレイ スメント 付きのアド レツ シ 
ング モードの表記にはいろいろな方法があ 


ります。たとえば, 

4( a 0) 

( a 0)4 

(4, a 0) 

( a 0,4) 

すべてレジスタ aO に対してデイスプレイ 
スメント4の位置を示すアドレッシングモ 
ードの表記です。 

3) 命令の置き換えと iii 適化 
CMA 68 K は命令コードを最適化してく 

れます。 AS . X でも デ、イ ステ イネ ーシ ョン 
がアドレスレジスタの場合は move を 
movea に変えたり, add を adda に変えたり, 
分岐命令の デイ スプレイスメント長を最短 
になるような最適化がなされていましたが, 
CMA 68 K はもう少し進んで,レジスタリス 
卜で指定されるレジスタの個数が1 flAI の場 
公は movem を move へ置き換えたりしてい 
ます。ただし, AS . X に見られるような, 
clr.l aO -> suba.l aO.aO 
という置き換えはもうしていないようです。 

4) レジスタ R 0 〜 R 15 

AS . X ではデータレジスタを R 0 〜 R 7, ア 
ドレスレジスタを R 8 〜 R 15 といった別名で 
記述することができますが, CMA 68 K では 
サポートされていないようです。コンパイ 
ラを作る人にとってはデータレジスタとア 
ドレスレジスタを同等に扱うと都合のいい 
場合があるので, AS . X はこのような記述 
ができるのでしようが, C コンパイラを大 
いに意識した CMA 68 K にできないのは不 
思議です。 

CMA 昍 K の価値 ~ 

「なんで,あなたはここにいるの ? j 
「なんでって,自分はこのパソコンのアセ 
ンブラよ」 

「大人の言いそうなことね。私が間きたい 
のはそんなことじやなくって, AS . 父との 
関係よ」 

「関係って,私の啟敬できる先眾よ」 

氺 氺 

X 68000 にはシヤープが標準的なアセン 
ブラとして提供しているアセンブラ ( AS . 
X )があります。そこへもってきて,この 
CMA 68 K なのですが, AS . X に置き変わる 
べき新アセンブラとして発売されるからに 
はそれなりの特徴を備えていなければなり 
ません。が,私の見たところ,これまでに説 




p p 



明してきた CMA 68 K の特徴力す, AS . X をや 
めてまで使うほどの魅力となるかはわかり 
ませんでした。 

この CMA 68 K の特徴は,どちらかと言え 
ば 「 C 言語ライクなプリプロセッサ機能と 
オートジェネレーション機能」なのですが, 
しかし,プリプロセッサ機能のほとんどが 
AS . X で代用できますし,いざとなったら 
XC のプリプロセッサだって使うことも可 
能なのです。 

オートコードジェネレー ション 機能にし 
ても,プログラムは確かに読みやすくはな 
ります力%記述のたびにコードが生成され, 
しかもそのコードは,ほかの場所からは参 
照できないなどといったメモリ効率の悪さ 
が生じそうです。それに,アセンブル速度 
の遅さには否定できないものがあります。 
試しに,以前私が X - BASIC の連載で作っ 
た自動作曲プログラムを AS • X と CMA 68 
K でアセンブルしてみると,アセンブルリ 
スト出力をしない場合で約2倍,アセンブ 
ルリスト出力をする場合で約4倍もの時間 
がかかってしまったのです。 

しかし,現在開発中の CMA 68 K 専用リン 
力(仮称 SLINK ) の サンプル版を見て判断 
するに,この専用リンカのほうはかなりお 
勧め品だと言えそうです。ですから,この 
リンカとの相性を考えて,この CMA 68 K の 
購入を考えるというのであれば,それなり 
の使い方ができると思います。このように, 
まだ十分とは言えない CMA 68 K ですが,今 
後,これをベースに ユーザーの 立場に 立っ 
た ツールの 提供を考えてくれることを, 
我々 ユーザー としては期待したいものです。 


THE SOFTOUCH 


43 

























THE SOFTOUCH 


• われら電脳遊戯民 (6) 


ゲームは やっぱり 
心の鏡なんです 


Komura Satoshi 

古村聡 


ゲームが楽しめるという背景には,個人 
個人の経験によって培われた要素という 
ものが影響しているはずなのです。そこ 
で今回は,(で)氏の体験をもとに,アニ 
メやマンガが’与えてくれる要素とはなに 
かを,見ていくことにしましよう。 



私がドジをやるのは,毎月,毎月,毎月, 
毎月(え 一い! ここまで強調すると腹の 
立つ)のことなのですが,先月号でも私は 
おばかなことをやってしまいました。私は 
GAME REVIEW の囲み記事のなかで, 

「ゴーバンさんの苗字は出てこない」などと 
書いてしまいましたが,実はイース I で出 
てました。ダームの塔の入り口を塞いでい 
る盗賊のゴーバンさんは,フィーナを保護 
した婆さん「ジェバ.トバ」(この人の名前 
は塔のなかで誰かが言っていた)の息子な 
んですから,当然「ゴーバ、ン • トバ、」なの 
です(ああ,なんてイ以合わない名前)。どう 
も,すいませんでした。 

で,いまごろになってなんでこんなこと 
がわかったかというと,実は,つい最近セ 
ガ用のイースが安かったので,思わず買っ 
てしまい,私はまたもやイースを初めっか 
らやってしまったのです。それからという 
もの,いまごろになってイースのマニユア 
ルを読み返したり,神官の家系図を作って 
しまったりと,すっかりイースオタツキー 
と化してしまいました。 

実を言うと,イースを2度やって2度目 
は1桁の時間で制覇してしまうという離れ 
技をやってのけた編集室の某氏(斎藤晋さ 
ん)とは違って,私はパソコン版でやった 
ときは4日で終わらせたくせに,セガ版で 
は3週間たったいまでもまた ルク•ファ 
タトを倒せてません。ちなみにこの原稿を 
書き始めるまでイースをやって,その前は 
自作の PSG ドライバでイースの音楽のコ 
ピーを作ってたという,はっきり言って3 
週間イースにどっぶりの生活です。締め切 
り時間まであとわずか。う一っ,白いワニ 
がくるよ一っ!(ああ,また,埼玉の江口 
寿史とか言われてしまう )〇 

まあ,それはともかく,なぜここまでイ 
ースというゲームは,私をのめり込ませて 
くれるのでしょうか? ぞれを考えるため 
に, 2つのイースをよく見てみることにし 
ましょう。まず,やった人ならわかるでし 
ょうが,セガ版は当たり判定がかなり甘く, 
敵からのダメージを受けないように半分ず 
らしての攻撃は楽なのですが,ボスキャラ 
を倒すときなどはそれが裏目に出てとても 
佳 IJ しにくいです。このことから,イースの 
売り物のひ!:つであるゲームのやさしさは 
消えてしまったと言わざるを得ません。 

だから,私はイースにのめり込めるのは, 
ゲームが やさしいからというわけではない 
と思います。また,私のセガマーク III は, 


FM 音源ボードを未だに付けていないため 
に,ゲーム中の BGM も PSG でしか聞けな 
いのですが,編集室で聞いた XI 版の PSG の 
みの BGM に比べてもかなり違う感じがし 
ます。どうも LFO がかかりすぎてるみたい 
です。 

なんか,こんなことを言ったらセガ版を 
作った人には申しわけないですけど , BGM 
が 「へろへろへろ一」 としてしまって,お 
世辞にもノリのいい音楽とは言えそうにも 
ありません。つまり音楽のノリで ゲームに 
のめってるわけでもないのです。 

それでも,どちらのイースもやはり楽し 
いんですよね。どちらのイースにも共通し 
ているもの,それはストーリーと演出です。 
私が思うに,やはりイースは, ゲームの や 
さしさでも音楽でもなく,「いまここで戦え 
ば,また新しい世界が見られるんだよ」と 
いう,演出のうまさだと思います。 

これは,実際の私たちの生活にはあり得 
ない,戦闘という行為が終わったあとこれ 
までと違う自分がいる。心のどこかにある, 
「いまよりも違う自分でありたい」という願 
望が叶えられるに違いないと思わせる。そ 
んな感じだと思うんですよね。 

ジャンプ好きのひとり言 

さあて,話はコロッと変わってしまいま 
して(なに,そんなにコロコロ変えるなっ 
て? しようがないでしよ,私は B 型なん 
だ,血液型が)。いきなり少年ジャンプの話 
です。 

最近,私は久しぶりに聖闘士星矢の単行 
本を買いました。う一ん,あれって,ほ一 
んとに戦ってばっかりですね一。単行本で 
見てみると「アテナの胸に突き刺さった矢 
をアテナの楣で消し去るために星矢,紫龍, 
瞬,氷河(たま一に一輝も出てくるけど) 

の4人の聖闘士が12の宮を突破する」とい 
うストーリーのためだけに,単行本何冊に 
もわたって戦いっぱなし。ほとんど,ワー 
ドナを倒したいがために,迷宮のなかで核 
攻撃の呪文 「TILTOWAIT !」を覚えるま 
で,黙々と敵と戦ってしまう,ウィザードリ 
ィのキャラのようです(あ, RPG なら基本 
的にはなんでもそうか)。 

ドラゴン ボールにしろ,バ、スター ドに し 
ろ, 星矢ほどではないにせよ似たような感 
じで突き詰めてあらすじを言ってしまうと, 
すべて,「敵の大ボスを倒すためにとりあえ 
ず目の前の敵と戦うマンガ」に到達すると 
言えそうな気もします。最近のメジャーな 
マンガっていうと,だいたい少年ジャンプ, 
ヤングジャンプ,ビッグコミックスピリッ 


44 Oh! X 1989.1. 











ツといったメンバーだと思います力 ? ,私は 
ヤンジャン(ヤングジャンプのことね)は 
あまり読んでいないのでわからないけども, 
たぶん一般的な傾向としてメジャーな,と 
いうより売れているマンガっていうのには 
戦うとか,勝負に勝つっていうマンガが多 
いんですよね,昔から。 

逆に実際の普通の生活っていうと「朝起 
きて,昼学校にいって,夜寝た」てなもんな 
はずですが,そんなのんベんだらりとした 
ストーリーの生活マンガなんて見たことな 
いですよね(見たくないって,んなもん)。 

実際の生活のうえでは,勝負なんていう 
と所属している部活の試合とか受験戦争ぐ 
らいしかないのに,なぜかまったく知らな 
い世界に首を突っ込もうとする。不思議じ 
やありませんか,こんなのって。 

この疑問を解決するために,私は学校で 
買ったのになぜかほとんど開いたことのな 
い,心理学の授業の教科書に載っていた用 
語の「投影」という言葉を思い出しました。 

「投影(映),これは自己にとってコントロ 
ールできない性質をほかの人やものに転嫁 
して緊張を解消するメカニズムである」 

なるほど,マンガのキャラが実は読んで 
る人の理想像なのか。でもって,ああいう 
勝負がしてみたいわけね。 

よ 一く,思し、出してこ' らんよ^^^ 

ここで,ゲームだけでなく 「いままで自 
分がよく見たもので,かつ周りの人間もよ 
〈見たもので話題にできたような話」,とい 
うものについて考えてみたいと思います。 
ちょっと,条件が長ったらしいですか? 
もっと具体的に言うと,幼いころに見た「仮 
面ライダー」であったり,ジャンプで読ん 
でいる「シティーハンター」でもいいし, 
予約して発売日に買った X 68000 の「琥珀色 
の遺言」でも構いません。よ一するに,マ 
ンガでもテレビでも,ゲームでも自分が好 
きなもので,なおかつはやったものならな 
んでもいいのです。誰もが仮面ライダーの 
勇姿に憧れ,たま一に出てくる僚(冴羽僚 
です。シティーハンターの)のハードボイ 
ルドな姿に酔い,または大正時代に生きる 
人たちとともに探偵になった自分は,ひと 
りの男の生きざまなどを兄て酔っていたは 
ずなのです。 

感動といえばですね,幼いころウルトラ 
マンや仮面ライタ、'一を見るためにテレビの 
前にかじり付き,仮面ライダーがキックを 
するときにライ ダーと 一緒に「ライタ、' ーキ 
ック!」なんて叫んだり,「ライダー危機一 
髪」なんてときにはライダーが死んじやつ 


たと泣いたことはありませんか?それで, 
番組を見終わると買ってもらった仮面ライ 
ダーベルト(確か,電池が入っててスイツ 
チ入れるとなかで羽根がクルクル回って音 
も出るという。幼稚園の年少さんのときだ 
ったかな 一, 私も持ってたんですよね 一, 
アレって)を付けて,補助輪の付いた自転 
車で出て行って,友だちとライダーごっこ 
をしに行ったと 力、。 なぜか,私はそういう 
のをやらせると怪獣の役ばかりでしたけど。 
ゴ レンジ ャーのときは キレン ジャーばっか 
だったし(ブツブツ)。 

ま,それはともかく,あのころってもう 
純粋に感動しちゃって,仮面ライダーが存 
在すると信じて疑わないんですよね 一。 私 
はあれこそが,感動するということのいち 
ばん正しい姿なのではないかと思います。 

いま,どんなにリアリティのあるストー 
リーで ゲームを 作ったとしても,かつて仮 
面ライダーを見て 「カッコい いなあ」と思 
ったときの感動には勝つことはできないで 
しょぅ。 

自分ともうひとりの自分。物語のキャラ 
に憧れる,あるいはいつも自分が体験しな 
いもの,できないものをマンガ,小説,テ 
レビなどの物語で体験して楽しんで,私た 
ちは育ってきたはずなのです。その数多く 
の経験こそがいまの感動の源となっている 
のです。 

そして,究極のゲームへ 

さて,話はまたゲームのほうへ戻ります 
けど,イース II のオープニングのアニメー 
シヨンがありますよね。私はあれの某 AV 
版をデジタルディスプレイで見ていてわか 
ったのですが,あれって面白いことをして 
いるんですね。画面に表示されていない, 
余った VRAM に一度(たぶん字幕を表示し 
ているときにのんびりと)絵を書き込んで 
おいて,そのあと一気に表示されている 
VRAM にデータを転送しているんですね 
一。フーん,面白い0 

6809での話だけど,どうしても高速にメ 
モリ I このデータの ブロック転送をしたいと 
きには PUSH , PULL 命令を使うとか,命 
令を展開して おいて ループを組まずに実行 
するとかの基本的な手法は,昔っから使わ 
れてきたんですよね。少なくとも,その方 
法は PC -88 で markll が全盛のころに,高速 
化 CLS のアルゴリズムとして雑誌に載った 
のを私は覚えているし,たぶんこれは MZ 
でも使われていたと思います。 

そんな当たり前の技術で「あ 一, すごい 
な一」と思わせるっていうのは,たいしたも 



んですよね。技術に頼らずに(別に頼って 
もいいけど),映画などを意識して見せ方を 
工夫して大作ゲームを作るようになったこ 
の時代の代表みたいなもんですよね,あの 
オープニングは。 

ところで前のほうで,あっさりと受験と 
いう戦いぐらいしかないはずだと私は言い 
ましたけど,考えてみれば高校受験にせよ 
大学受験にせよ,受験というのは恐ろしい 
ほどゲーム的な要素を持っているわけです。 
たとえば,本人の裁量に多くを任せられた 
「合格」という最終目標があって,で,同じ 
学校の同じ学科を受けるライバルという多 
くの敵キャラがいて,試験問題という障害 
があって,それらを効率的にクリアするこ 
と。これらすべてが人為的 ルールの 上で動 
いているんですよね 一, 困ったことに。 

ところが,どっこい。マンガにせよ,ビ 
デオにせよ,そして,当然のようにバソコ 
ンゲームにもそういう題材はほとんど取り 
上げられることはなかったのです。当然で 
すよね。そういうゲームは,どんなにいい 
見せ方をしようとしても,そのゲームとい 
う名の夢から一気に現実に引き戻すような 
テーマがその夢をぶっ壊してしまうからな 
のです。あの,イース II も前作の世界がし 
っかりとあったからこそ,ああいう見せ方 
が成功したのです。 

本当にいい ゲームを 作ろう と 思ったら, 
夢を見せるという目的とそれを見せる方法 
の両方がしっかりしてなくて は, 本当にい 
い ゲームとは 言えないのです。 

やはりゲームというのは,人にとって願 
望を実現してくれる言わば心の鏡のような 
存在であってほしいものです。これからの 
ゲームには,やはり心の底の願望をイース 
でザコキャラを倒すがごとく,プレイ中に 
いつでも満たしてくれるものであってほし 
いものですよね一。 


THE SOFTOUCH 


45 






MZ - 2500アドベンチヤーゲームブックの作成 

Hyper Game Book 


あの Hyper Card の基本機能さえ削除したといわれる伝説のゲームブック作成ツールがつ 
いに登場。その名も Hyper Game 日 ook です。 MZ- 2500の BASIC を利用した簡単なプログ 
ラムですが,シナリオしだいで本格的なアドベンチャーが楽しめます。 


Mounai 1 oshiyuki 

毛内俊行 

皆さん,長い間お待たせしました。えっ, 
冗談だと思っていたって? 実は本当に作 
っていたんですよ。なにをって,そりやあ 
もちろん MZ - 2500用 Hyper Game Book の 
ことだってば! 


し、つたいなにができるのか? 


Hyper Game Book でなにができるのか 0 
この プログラムはゲーム ブック というよう 
に,文庫本で いっぱい 出て いる「サイコロ 
本」を忠実にシミュレートしたものなんで 
す。 

基本的な機能は1988年6月号で予告 ( ? ) 
したものと同じで,簡易言語風のシナリオ 
データをコンバートして実行するものです。 
シナリオデータは BASIC から呼び出せるア 
ルゴエディタを使って入力するように設計 
されていますが,アルゴエディタを持って 
いない人でもデータを作成することは可能 
です。その方法については49ページの囲み 
記事で詳しく説明しましょう。 

それでは, MZ - 2500の BASIC - M 25 を起 
動してください。メモリの拡張などは一切 
必要ありません。プログラムはすべて BA 
SIC で書かれているので,気軽にキーボー 
ドをポ コポコ 叩いて入力するだけです。 


シナリオデータの作成 


Hyper Game Book は,本体だけではな 
にもできません。このプログラムはシステ 
ムに相当し,遊ぶためには肝心なゲームシ 
ナリオを作成しなければならないからです。 
ここでは, コンバー トする前の編集可能な 
ファイルをシナリオデータ, コンバート さ 
れたものをゲームファイルと呼ぶことにし 
ましよラ c 

それでは,実際にシナリオデータを入力 
する場合の,データの文法に ついて 説明し 
4b Oh! X 1989.1. 


ましょう。といっても文法などというほど 
のものではなく,わずか5つの命令をマス 
ターすれば,誰でも簡単にシナリオが書け 
るようになっています。5つの命令の使い 
方は以下のとおりです。基本的に表示した 
いメッセージデータ以外は,必ず半角文字 
にしてください。エラー発生の原因になり 
ます。特に「}」や「,」には気をつけましょ 
う。なお,文例中に出てくる 「 n 」 は1以 
上の整数, 「 data 」 は文字列を示してい4す 0 

*n 

シーン番号の設定 

データのシーン番号をセットします。た 
とえば,シーン1をセットするときは, 

*1 

とします。 

シナリオデータの各シーンは,必ずこの 
命令から始まらな〈てはなりません。コン 
バータは,この命令を見つけることによっ 
て,次のシーンに進んだことを理解するか 
らです。ちょうど,本でいうページ番号に 
あたるものです。また,シーン番号は,1 
から順番に大きくなっていかなくてはなり 
ません。つまり,一 * 番 ii 初のシーン番号は 
必ず1,その次は2ということになります。 
あと,細かいことですが,番号は必ず「*」 
の直後に置いてください。スペースを開け 
ると読めなくなります。 

M {, data ,} 

メッ セージ 表示 

メッセージ,つまり本文を表示します。 
data は何行にわたって書いても問題ありま 
せん。データ中に「}」を見つけた時点でデ 
ータの終了を示します。また, 

M {,どうしますか?,/,} 

のように,データ中に「んを単独に用いた 
場合は改行コードの役割となります。 

なお,ほかの命令についてもいえること 


ですが,命令とデータ,または命令と命令, 
データとデータなどの間は,必ず「,」か改 
行コードで区切り,「”」のような BASIC の 
INPUT 文では直接入力できないキャラク 
夕は使わないでください。 

W {, datal , data 2, ..., } 

メニューワードのセット 

これは早い話が選択文のセットです。デ 
ータは半角文字で16文字,漢字などの全角 
文字で8文字まで使えます。また,選択文 
は一度に4つまで指定できます。この命令 
で設定した選択文は,もう一度この命令を 
実行しないかぎり,シーンが変わっても有 
効です。 

br{ , ni , 112, •••, } 

条件つきジャンプ 

メニューの選択に対応したジャンプを行 
います。これは先ほどの W 命令に対応して 
おり,たとえばシナリオ中に, 

W {, YES , N 0, } 

G {, 12,35,} 

というデータがあったなら, ゲーム 実行中 
にメニューから, YES を選択すればシーン 
番号35へジャンプしろという意味になりま 
す。つまりこの命令も,指定できるシーン 
番号は最大4つまでです。 

J {, n , } 

無条件ジャンプ 

この命令が実行されると,有無をいわさ 
ず指定されたシーンへジャンプします。選 
択肢がない場合に用います。 

END 

実行終了 

この命令が実行されると,データの実行 
を終了します。要するにゲームオーバーで 
す0 























さあ,以上の5つの命令を マスター する 
だけで,シナリオデータが作成できるので 
す 0 


いよいよ実行 


Hyper Game Book のシステムをドライ 
ブ1,ゲームファイルを作るためのデータ 
ディスクをドライブ2にセットしておきま 
す。データをコンバートするときは,一応 
シナリオデータの入ったディスタをドライ 
ブ1に入れ,ゲームファイルをドライブ2 
に生成するようになっています。以下,2 
ドライブ対応の場合について説明します。 
ただ,プログラムを1力所書き換えればデ 
ィスクドライブが1基しかない方でも使用 
できるようになります。この場合の変更点 
についても49ページの[相み記事をご覧くだ 
さい。 

データデイスタは BASIC の スレーブ デイ 
スクでかまいません が,コンバー トされた 
ゲームファイルは デ ー タの サイ ズが意外と 
大きくなるので,新しいディスクを用意す 
るとよいでしよう。 

Hyper Game Book のシステムを起動す 
ると,画面に2つのメニューが表示されま 
す。カーソルのある小さいメニューが機能 
メニュー。その下のなにも書かれていない 
広いメニューが,シナリオ選択メニューで, 
シナリオファイルをコンバートすると,こ 
こにシナリオ名が表示されます。 

機能メニューでは,以下の4つの機能が 
選択できます0カーソルキーで H 的の機能 
を選択し,リターンキーで決定してくださ 

い。 

• ゲーム 

コンバートしたゲームを実行します。 

•作成 

アルゴエディタで作成したファイルのコ 
ンバートを行います。 

• 削除 

作成したゲームファイルの削除を行いま 
す。 

• ディスクの交換 

データディスクの交換を行います。 

以上の説明は,メニュー画面の下に常時 
表示されるので迷うことはないでしよう。 
また,選択を取り消したいときは ESC キー 
でキャンセルできます。 


Hyper Game 巳 00 k の使い方 


まずはアルゴエディタを使ってシナリオデー 
夕を入力しましよう。 




ドライブ丨にシナリオデータの入ったデイス 
クを入れ,ドライブ2にゲーム用デイスクを 
入れて作成を選択。コンバートしたいシナリ 
オデータのファイル名を入力してコンパート 
開始。待つこと数分。 


シナリオを変更したい場合や,コンバート中 
にエラーが出たりした場合はすかさずァルゴ 
キーを 押してアルゴエディタでシナリオデー 
夕の再編集が可能。さすがはアルゴ機能。 


a 



A 


オープニングタイトルが表示されて 


I 

: ,: 


j V - . il 

I 

F ::: 一-二]壓 

I 

1 


▲ 


ゲームの 実行。ブレイしたい ゲーム ファイル. 
を選択しましよう。 

本 


リスト1 Hyper Game Book 


Otf 0 

0 10 H.vpe r u a m e bo o k 
0 2 0 ' 

030 version 1.0c : 1988/09/06 12:23 
04 0 ' 

0 5 0 製作:毛内後行 
060 ' 

070 

080 *START 

090 INIT crt 1: ... 0 

100 I NIT cr t2 : 320 , 200.16 

110 KL1ST 0 

120 CLS 3 

130 LINE (0,0) - (319,199) ,6, BF 

140 LINE (0,21) -(3 】 9,35>,15, B 

150 LINE (1, 22)- (318. 34) , 0 ,BF 

160 LINE [ 2 , 23) - (318, 34> ,4,BF 

170 LINE i0. 35) - i 319 ,16 3) , 15 , B 

180 LINE (1,36)-(318, 162),0,BF 

190 LINE (2. 37) - ( 3 1 8, 1 6 2) , 4 ,BF 

20 0 LINE (0,1 64) - ( 31 9, 1 64) .0 

210 LINE (240 , 2 卜 ( 319 , 18} , 15, B 

220 LINE (241,3) - (318,17) , 0,BF 

230 LINE (242,4) - (318, 17) ,4,BF 

24 0 LINE (24 0, 19) - (319, 19),0 

250 SYMBOL (3,1), Hyper Gamebook , , , 0 

260 SYMBOL (2,0), Hyper Gamebook , ,, 15 

270 • 

280 本 START2 
290 CONSOLE 21,4 
300 CLS 

310 CONSOLE 21,3 
328 CLEAR 
330 STOP ON 


Hyper Game Book 4 7 












































エラ— メッセージ 


コンバート中に 発生す るエラーメッセー 
ジは以下のとおりです。 

“文法の誤りです” 

ご存じ , SYNTAX ERROR というやつ 
です。指定されたシーンの前後にシナリオ 
データの記述ミスが発見できるはずです。 

“シーン番号0の指定はできません” 

シーン番号は1から指定可能です。いき 
なりシナリオの先頭に, *0 なんて書いて 
ませんか? 

“シーン番号が連続していません” 

シーン番号はひとつずつ増えていかなく 
てはなりません。 

“ジャンプ先の指定は4つまでです” 

条件分岐命令で,4つ以上の分岐をしよ 
うとしたときに発生しますが, G 命令の終 
わりの}を忘れたり,全角文字で書いたり 
しても エラーと なります。 

“選択文は1シーン4つまでです” 

G 命令の エラーと 同じです。 

“ジャンプ先がありません’’ 

ジャンプ先のシーン番号が見つからない 
ときに発生する エラー です。 

“シナリオ管理ファイルがいつぱいです” 
ゲームデイスタに60個以上のゲーム ファ 
イルを作ろうとすると発生するエラーです 
力 5 ',通常はその前にディスクの容量がいっ 
ぱいになってしまうでしよう。いずれにし 
ても,このエラーを見た人はすごい人です。 
“すでに同名のファイルが存在します’’ 

同じ名前のゲームファイルは登録できま 
せん0名前を変えるか,古いファイルを削 
除してください。 

“ジャンプ先に0を指定しています’’ 

シーン番号に0が指定できないのだから, 
ジャンプ先も0はありえません。 

“エラー いこつち ゃ! その他の エラー だ’’ 
しまったあ!こいつは予想もしなかっ 
たぞ。というようなェラーです。前述のす 
ベての エラーチェックに 引っ掛からず , BA 
SIC が エラーを 起こしてしまったときに発 
生します。 

木木 氺 

このプログラムは才ール BASIC ではあり 
ますが,「たかが BASIC 」 とはいえないく 
らい MZ - 2500の BASIC の実力を発揮したプ 


134 0 DRV1$-- 1 : ' ゾースファイルの入つているドライブ名 
1 350 DRV2S--2 : - - シナリオの作成.管理をするドライブ名 
1360 LOCATE 62 f 1 :PRINT DEVF (DRV2S) ; Kbytes free 
1370 OPEN r~ , #l , DRV2$+ ■• シナリオ管理 , 32 

1389 FIELD #1,16 AS A$ 

1390 PUT #1,1 
1400 GET #1,1 
1410 CHECK-EOF (#1) 

1429 CLOSE 

1430 IF CHECK--1 THEN *HEWF0RMAT 
1440 

1 4 5 0 DIM JPT (4) ,KYT$ (4) ,MES$ (15) 

1460 ON STOP GOSUB *QUIT 

1470 ON ERROR GOTO *ERR0B 

1488 DIRNB-0 

1496 FILEMAX-61 

1500 CONSOLE 0,24,0,80 

1510 LOCATE 0, 3 

1520 PRINT TAB (2) ゲーム -; 

1538 PRINT TAB (22) 「作成—; 

1540 PRINT TAB (42) 「削除"; 

15 50 PRINT TAB (6 2) ; •ディスク交換 +SPACES (5) 

1560 PRINT 
1 570 * 

1 580 OPEN ~r- , #l,DRV2$〆 シナリオ管理 ", 32 
1590 FIELD #1,16 AS FLK$ 

1608 FOR 1-2 TO 61 
1610 GET 林 1,I 

1620 IF FLHS<>SPACE$ (16) THEN 
1 6 30 PT$-SPACE$(2)+FLN$+SPACES (18) 

1 640 PRINT LEFTS (PT$,26) : 

1650 END IF 

166 0 PRINT CHR$ (5) : 

1670 NEXT I 

1680 PRINT 

1690 CLOSE 

1700 X-2 : Y-3 : CMC-1 

1710 GOSUB 拿 CUR 

1720 IF DRUMS •■ ゲーム - THEN CM-1 
1 7 30 IF DRNM$ ■■ 作成 - THEM CM-2 
1 74 0 IF DRHM$-~ 削除 ■ THEN CM-3 
1 750 IF DRNM$- •• ディスク交喚 - THEN CM = 4 
1760 X-2 : Y-5 : CMC-0 

1778 IF CM-1 OR CM-3 THEN GOSUB »CUR 
1780 ON CM GOTO *GAME,*MAKE,*KILL,*EXC 

1799 ' 

1800 本 CUR 
1810 KEY 0 , 

1820 CONSOLE 21,3,2,76 
1830 CLS 

184 0 CREV8 (X-l,Y) - (X+16,Y) , 1 
1850 REPEAT 

1860 IF CMC-1 THEN GOSUB *C0MMS 
1870 KY-ASC (INKEYS) 

1880 IF KY<>0 THEN 
1890 CLS 

1 9 0 0 CREVe (X-l,Y) - (X+16,Y),0 

1910 IF KY-&H1C AND X<69 THEN X-X+20 

1920 IF KY-&H1D AND X>2 THEN X-X-20 

1930 IF KY-&H1E AND Y>5 AND CMC-0 THEN Y-Y-1 

1940 IF KY-&H1F AND Y<19 AND CMC-0 THEN Y-Y+l 

1950 IF KY-&H1B AND CMC<2 THEN *START2 

1960 CREV# (X- 1 , Y} -(X 十 16, Y) , 1 

1970 END IF 

1980 UNTIL KY-13 

1 9 9 0 DRNM$-SCRH$ (X,Y,16) 

2000 FOR 1-16 TO1 STEP -1 

2010 IF MID$ {DRNM$,1,1)<>"~ THEN 20 30 

2020 NEXT I 

2030 DRNM$-LEKT$ (DRNM$,I) 

2040 IF DRUMS- THEN 1840 
2050 RETURN 
2060 ’ 

2070 *QlIT 
2080 STOP OFF 
2090 CLOSE 
2100 IHiT cril: … 

2118 CLS i 
2120 END 
2130 ' 

2140 «C0MHS 
2150 LOCATE 2,21 
2160 IF X-2 THEN 

2179 PRINT ゲームの実行を行います 

2180 ELSE IF X-22 THEN 

2190 PRINT " アルゴエディタで作成したフ r イルをコンバートしま 

す. • 

2200 ELSE IF X-42 THEN 

2210 PRINT ••作成したファイルの削除します 
2220 ELSE IF X-62 THEN 

2230 PRINT " データーディスクの交喚を行います • 

2240 END IF 
2250 RETURN 
2260 

2270 *DIRMAKE 

2280 IF DIRNB*FILEMAX>SCENE THEN RETURN 

2290 DlRNB-DIRNB^l 

2300 DIRNAM$-DRNM$^STR$(D1RNB) 

2310 MKDIR DRV2$^D1RNAM$ 

2320 RETURN 
2330 

2340 *ERKILL 
2350 ERC-1 
2360 GOTO 2540 
2370 本 KILL 
2380 ERC-0 


48 Oh! X 1989.1. 










ログラムになって いるはずです。 ゲーム 中 
の ページスクロール などは感動ものです。 
ただし, ファイルのコンバート 速度が遅い 
のが気になるかもしれません。これはファ 
イル構造の都合で BASIC のせいではありま 
せん。大きなシナリオだと4〜5分かかる 
こともあるので, コーヒー でも飲みながら 
気長に待ちましょう。 

もうこれ以上説明することはありません。 
あとは皆さんがこのプロダラムをどう活用 
するかです。友達同士でシナリオをたくさ 
ん作って遊ぶのもよいでしょうし,プログ 
ラムを解析して新たなシステムを作るのも 
よいでしよう。このシステムにいろいろな 
パラメータ管理や乱数を加えるともっと面 
白くなると思います。皆さんなりの活用を 
期侍します。 

アルゴエディタのない方へ 

シナリオ デー タは, V2 用の BASIC についてい 
るァルゴエディタから入力すると便利なように 
作られていますが,旧バージョンの BASIC しか 
持っていない方もいるでしょう。ァルゴエディ 
夕を使わずにデータを作成するには次のように 
BASIC のエディタを使用します。 BASIC から, 
auto 氺 

と実行して, BASIC の REM 文の形式でデータを 
入力します。データの書式はァルゴエディタを 
使う場合と同様です。 

完成したら, 

SAVE" ファイル名I ” 

としてセーブしておきましょう。しかし,この 
ままではコンバートできませんので, 

LIST* “ファイル名2” 

としてください。すると,あら不思議。ゲーム 
シナリオにコンバート可能なシナリオデータが 
ファイル名2というかたちでディスクにセーブ 
されるようになっています。なお,再びシナリ 
才をエディツトするにはファイル名丨のファイ 
ルが必要なので消さずに残しておきましょう。 

1ドライブで使用する場合 

ディスクドライブが丨基しかない場合には, 

2つの方法があります。ひとつは単純に同じド 
ライブを使う方法で,ドライブ I— ドライブI 
で ゲームファイルを 作成します。1350行のドラ 
イブ指定を書き換えてください。 

1350行 DRV2$ = “2:” — DRV1$ = “1:,’ 

この場合,同じディスクにもとのシナリオデ 
一夕とゲームファイルが共存するため容量が多 
少小さくなってしまいます。多少面倒でも目一 
杯丨枚分のゲームファイルを作りたいという場 
合には, データ レコーダを使うという手もあり 
ます。 シナリオ データを テープから読み込み, 
ドライブ丨にゲームファイルを作成するわけで 
す。この場合,1350行の変更に加えて,1340行 
も次のように変更してください。 

1340行 DRV1$ = “1—DRV1$=“CMT:” 


COLOR 2 
BEEP 

PRINT •• 削除してもいいですか? yes- [CR] - 

COLOR 7 

A$-IKKEY$ 

IF A$〆* THEN 2430 
IF A$<>CHR$ (13) THEN 
PRINT ••中止します 
GOTO *START2 
ELSE 

PRINT •• 削除します .- 
EHD IF 

CONSOLE 21,4 
LOCATE 2,22 

0PEM ■ i MJ1, DRV2$ + DRNM$+' 1/ ファイル数 • 

INPUT «1,A$ 

CLOSE 
DIRMAX-0 
ERSC-VAL(A$) 

IF ER-6 THEN ERSC-SCENE 
IF A$-'0" THEN 

KILL DRV2$ + DRHM$+- > 1/ ファイル数 . 

RMDIR DRV2$ 十 DRNM$ 十 * 1~ 

GOTO 2760 
ELSE 

FS-VAL (A$) 

FOR 1-1 TO FS 
G0SUB 本 ASKD1R 

IF ERC-0 THEN PRINT:PRINT 'How deleting - * ; SCFL $; 
KILL DRV2$+SCFL$ 

NEXT I 

KILL DRV2$ + DRHM$+"1 / ファイル数 
FOR 1-1 TO DIRMAX 

RMDIR DRV2$ + DRHM$+STR$ (I) 

NEXT I 
END IF 

OPEN M r~,m,DRV2$ 十-シナリオ管理‘, 32 
FIELD #1,16 AS FLH$ 

FOR 1-2 TO 61 
GET ¢1,1 

IF FLH$-LEFTS (DRNMS+SPACES(16),16) THEN 
LSET FLN$-SPACE$ (16) 

PUT #1,1 
GOTO 2860 
END IF 
NEXT 
C.L0SE 

IF ERC-0 THEN *START2 
IF ERSCoe THEN 
* c I s 

COLOR 2 

PRINT •ただいまのエラーは scene" ;ER SC; • で発生しま した - 
COLOR 7 
BEEP 
END IF 

PRINT push [CR] key"; 

IF IHKEY$<>CHR$ (13) THEN 29 6 0 
GOTO *START2 

本 ASKDIR 

DRH-INT ( (I-1)/FILEMAX) + 1 
IF DRN>DIRMAX THEN DIRMAX-DRN 
SCFL$-DRHM$ + STR$(DRN)+'/scene" + STR$(I) 

RETURN 

本 FORMAT 
BEEP 
COLOR 2 

PRINT "シナリオ管理フ t イルの初期化を行います.よろしいで 
yes- [CR]" 

COLOR 7 
A$=INKEYS 

IF AS- THEN 3100 
IF A$<>CHR$(13) THEN 
PRINT 中止します . 

GOTO »START2 
END IF 

♦F0RMAT2 

OPEN "r" , }n , DRV2$ 十 " シナリオ管塊’, 32 
FIELD ¢1,16 AS FLN$ 

FOR 1-2 TO 61 

LSET FLN$-SPACE$ (16) 

PUT #1,1 
NEXT 
CLOSE 

CONSOLE 5,20 
CLS 

GOTO »START2 

本 NEWF0RMAT 
CONSOLE 21,3,2,76 
COLOR 2 

PRINT " シナリオ管理ファイルがありません.新しく作成します 

COLOR 7 

GOTO *F0RMAT2 

*EXC 

LOCATE 2,21 

PRINT 新しいデーターディスクをセットして [CRj キーを押して 
BEEP 

IF INKEY$<>CHR$ (13) THEN 34 00 
GOTO 3250 


2390 

240 0 

2410 

2420 

2430 

2440 

2450 

246 0 

2470 

2480 

2499 

2500 

2510 

2520 

2530 

2540 

25 50 

256 0 

2570 

2589 

2590 

2609 

2610 

2620 

26 30 

2640 

265 0 

2 660 

2670 

2680 

269 0 

2 7 0 0 

2710 

27 2 0 

27 30 

2740 

2 7 5 8 

2 7 6 0 

2770 

2780 

279 0 

280 0 

2810 

2820 

2830 

2840 

2856 

2860 

2870 

2880 

2890 

2 9 0 0 

2910 

29 20 

29 30 

2 940 

29 50 

296 0 

2 9 7 0 

2980 

2 99 0 

3000 

30 10 

3020 

3030 

3040 

3050 

3060 

30 7 0 

3080 

すか? 

30 9 0 

3109 

3110 

3120 

3130 

3140 

3150 

3168 

3170 

3180 

3190 

3200 

3210 

32 20 

3230 

3240 

3250 

3260 

3270 

3280 

3290 

3300 

3310 

3320 

3330 

3340 

335 0 

3360 

3370 

3380 

下さい 

3396 

340 0 

3410 

3420 


Hyper Game Book 49 


BKKP 
PRINT 
IF ER-0 
COLOR 
PRINT 
COLOR 
ELSE IF 
PRINT 
ELSE IF 
PRINT 
ELSE IF 
PRINT 
ELSE IF 
PRINT 
ELSE IF 
PRINT 
ELSE IF 
PRINT 
ELSE IF 
PRINT 
ELSE IF 
PRINT 
ELSE IF 
PRINT 
END IF 
RETURN 


GOTO 本 ERKILL 

♦SCEHESET 
GOSUB *DIRMAKE 
SCENE-VAL(MID$(DATS, 2)) 

IF SCENE=0 THEN 
ER-2 

GOTO 4980 
END IF 

IF SCENEoBACKSC+1 THEN 
ER-3 

GOSUB 本 ERRPRT 
SOBACKSC 
GOSUB 本 SCSET 
DRNM$=DATNAM$ 

GOTO *ERR 
END IF 

BACKSC=SCENE 
CLOSE #2 

OPEN •r',tf2,DRV2$ + DIRNAM$+'/scene" + STR$(SCENE) ,80 
FIELD ¢2,76 AS SDAT$ 

PRINT:PRINT "Now making scene ; STR$ (SCENE) : 

GOTO *MAIN 

*JMPSET 
INPUT #1,A$ 

IF VAL (A$)= 0 THEN 
ER«9 

GOTO 5380 
END I F 

LSET SDAT$=A$ 

PUT ¢2,1 
LSET SDAT$ ,本 
PUT »2,9 
LSET SDATS- 
FOR 1-2 TO 8 
PIT I 
NEXT 

INPIT »1,A$ 

IF A$-THEN *MA!N 
ER-1 

GOTO 5380 

♦KEYSET 
FOR 1=5 TO 9 
INPUT «1,AS 
IF A $ - * > THEN *MA1N 
LSET SDAT$-A$ 

PUT ¢2, I 
NEXT 
ER-4 

GOSUB 本 ERRPRT 
SC-SCENE 
GOSUB *SCSET 
DRNM$-DATNAM$ 

GOTO *ERR 


*SCSET 

CLOSE 

OPEN "o",#1,DRV2$+DRNM$+ _ 1 / ファイル数 

PRINT #1,SC 

CLOSE 

GOSUB *FNSET 
RETURN 


*JPCHK 


拿 MAKE 

INPUT - ファイル名 =DATNAMS 
DATNAM$=LEFT$(DATNAMS,14) 

COLOR 2 

PRINT CHR$ (&H1E) ♦• ファイル名 =- 
COLOR 7 

PRINT •• 作成してよろしいですか? 

REPEAT 

A$- INKEY$ 

UNTIL A$<>-" 

IF A$<>CHR$(13) THEN 
PRINT •• 中止します ." 

GOTO *START2 
END IF 


DATNAM$ + CHR$ (5)+CHR$ (7) 
yes- [CR] 


CONSOLE 21,4 
LOCATE 2,22 

OPEN -r-,JU,DRV2*〆 シナリオ管理 ", 32 
FIELD #1,16 AS FLH$ 

FOR 1-2 TO 61 
GET ¢1,1 

IF DATNAM$-LEFT${FLN$,LEN (DATNAMS)) THEN 375 0 
IF FLN$-SPACE$ (16) THEN 37 90 
NEXT I 
CLOSE 
ER-7 
CLOSE 

GOSUB *ERRPRT 
PRINT "push [CR] key" 

REPEAT 

UNTIL INKEY$-CHR$(13) 

GOTO *START2 

ER-8 

GOTO 3690 

DRNM$-DATNAM$ 

SCENES-'' 

SCENE-0 

BACKSC=0 

CLOSE 

OPEN - i",Jfl,DRVl$ + DATKAM$ 

本 MAIN 
DLINE-0 

IF EOF (#1) THEN 
SC-SCENE 
GOSUB *SCSET 
GOTO *JPCHK 
END IF 

INPUT #1,DAT$ 

IF LEFTS (DATS,1)=*" THEN *SCENESET 
IF DAT$= OR DAT$= '« THEN *KEYSET 

IF DAT$= n. {- OR DAT$= Mr THEN 拿 MESSET 

IF DAT$= g{" OR DAT$=~G {' THEN *G0TSET 

IF DAT$='j{ OR DATS: J 厂 THEN *JMPSET 

IF DAT$= end OR DAT$= END" THEN *ENDSET 
IF DAT$= " " THEN 本 MJUN 


CLOSE 
ER-1 

GOSUB 本 ERRPRT 
SC-SCENE 
GOSUB *SCSET 
DRNMS-DATNAM$ 
GOTO *ERR 


4870 
4880 
4890 
4900 
4910 
4920 
49 30 
49 4 0 

49 5 0 
4 9 6 0 
4970 
4980 
4 9 9 0 
56 0 0 
5010 
5020 
5036 

50 4 0 
5050 
5060 
50 7 0 
5080 
5090 
5100 
5110 
5120 
5130 
5140 
5150 
5160 
5170 
5186 
5190 
5200 
5210 
52 20 
5230 
5240 
5250 
5260 
5270 
5280 
5290 
530 0 
5316 
5320 
5330 
534 0 
5350 

536 0 

537 0 
5380 
539 0 
5400 
5410 
54 26 
54 30 
54 4 0 
54 56 
5460 

54 7 0 
5480 
5496 

55 0 0 
551 e 
55 2 0 


4490 PRINT 

4500 PRINT - ジャンアテーブルのチェックを行います.もう少しお待 
ち下さい .-; 

4510 DIRNB°0 

4520 FOR SCENE-1 TO SC 

45 30 PRINT:PRINT "Now check - scene* : SCENE ; 

4 5 4 0 DIRKB-INT(SCENE/ (FILEMAXM) ) +1 
45 50 DIRNAM$-DRHM$-hSTR$(DIRNB) 

4560 OPEN - r~,#1,DRV2$ + DIRNAM$^"/scenesSTR$ (SCENE),80 
4 5 7 0 FIELD #1, 76 AS FLH$ 

4580 FOR 1-1 TO 4 

4590 GET #1,1 

4600 IF SC<VAL (FLN$) THEN 

4610 CLOSE 

4628 ER-6 

4630 GOSUB *ERRPRT 

4640 DRHM$-DATNAM$ 

4650 GOTO *ERR 

4660 END IF 

4670 NEXT I 
4680 CLOSE 
4690 NEXT SCENE 
4700 GOTO *START2 
4710 ' 

4720 *FNSET 
4730 CLOSE 

4740 OPEN r _ ,#l,DRV2$+ ■• シナリオ管理 ", 32 
4750 FIELD #1,16 AS FLH$ 

4760 FOR 1-2 TO 61 
4770 GET »1,I 

4780 IF FLN$»SPACE$ (16) THEN 480 0 
4790 NEXT 

4800 LSET FLK$»DATNAM$ 

4810 PUT #1,1 
4820 CLOSE 
4838 RETURN 
4840 ' 

4850 *ERR 

4860 PRINT •• エラー後の処理を行っています.しばらくお待ち下さい 


他 

力 


や 

ち 


ん 

せ 

ま 

き 

で 

i 

〇 

号 


す 

で 

で 

ま 

0 

4 

(i 

定 

の 

先 


す 

で 


す 

ま 

し 

在 


C.I1 誤 EN 番 EN 番 enk 
lli co TH v 

42 | 

I» - 文 05 シ R シ R ジ 

J : E . E - E . 


理 

管 


あ 

先 

EN は EN7*GN 才 EN 同 EN ア 
文 
択 

R -H9 R シ 


' TH リ THtcTHi 
7 ナ〇〇で 9 ャ 
R シ R す R シ 


E : E : E ~ E . E : 


H A 

$ T 


) 8 $ 


〇1 } A 5 A 
T 林 - .1 D 
H L 9 〇 F s 
T 1 T $ A II T I 
E - u A V R o T 
SIP E G D E 
T N F F Ns 
o R I I I EL 
Go 

拿 F 


0000000000000000000000000000000000000000000000000000000 000000000000000000000000600000000000000000000000000 
34567890123456789012345678901234567890123456789012345678901234 5 678901234 5 678901234 5 67890123456789012345678 
44444445555555555666666666677777777778OO888888889999999999000O0UV 0000111111111122222222223333333333444444444 
3333333333333333333333333333333333333333333333333333333334444444444444444444444444444444444444444444444444 


Oh ! X 1989.1. 


►知人の家で X 68000 の源平をプレイさせてもらい,年末に X 68000 を買いたいと思つて, 
初めて Oh ! X を買いました。絶対に X 68000 を買うぞ 一。 いまからお金を貯めています。もし 
H えたらまた連絡したいと思います。では。 金子和祐 (19) 奈良県 




♦EHDSET 
FOR 1-1 TO 4 
LSET SDAT$-"0" 

PUT »2,I 
NEXT 

LSET SDATS バ終了 - 
PUT ¢2,5 
FOR 1-6 TO 9 

LSET SDAT$-SPACE$(16) 

PUT #2,I 
NEXT 

GET ¢2,9 
IF EOF (#2} THEN 
LSET SDATS-"" 

PUT #2,10 
END IF 
GOTO *MAIN 

本 MESSET 
C$-"' 

本 MESSET2 
INPUT #1 , A$ 

IF A$-"} - THEN 

LSET SDAT$-C$+SPACE$ (76) 

PUT #2,DLIHE+10 : DL1HE-DLIHE+1 
GOTO *MAIN 
END IF 

IF KACNVS (A$)THEN 
LSET SDAT$-C$+SPACE$(76) 

PUT U2, DUNE 十 10:DLINE-DLINE 十 1 
GOTO *MESSET 
END IF 
CS-C$+A$ 

IF LEN (C$)<76 THEN *MESSET2 
Z-ASC (MID$ (C$,76,1)) 

IF (Z>&H80 AND Z<&HA0) OR (Z>&HDF AND Z<&HFD) THEN 
Z-ASC (MID$ (C$,75,1)) 

IF (Z>&H 80 AND Z<&HA0) OR (Z>&HDF AND Z<iHFD) THEN 
Z-76 
ELSE 
Z-75 
END IF 
ELSE 
Z-76 
END IF 

LSET SDAT$-LEFT$(C$,Z) 

PUT <f2,DLIHE+10 : DLIHE-DLINE+l 
C$ = MID$ (C$,Z+1) 

GOTO *MESSET2 

窣 GAME 

DATHAM$=DRHM$ 

DRNM$=DATNAM$ 

CONSOLE 0 , 24,0,80 
CLS 1 


LINE 

(0, 

21)(319,1 

48),15,B 

LINE 

(1 , 

2 2) - (318, 1 

47) , 0,BF 

LINE 

(2, 

23) -(318,1 

47) ,4,BF 

L 1 NE 

(0, 

148) - (319, 

163) f 15, B 

LINE 

U, 

149) - (318, 

162) , 0, BF 

LINE 

(2, 

150)-(318, 

162) , 4,BF 


LOCATE 0,7 

PRINT TAB (28) : Hyper Ganebook verl.0 : PR1NT 

PRINT TAB(25) ; *Progra«ed by Toshiyuk. Mounai : PRINT 

PRINT TAB (39-LEN (DATNAMS)/2) ;DATNAM $ : PR1 NT 

PRINT TAB (33} ;■ Oh!X Present* : PRINT 

LOCATE 70-LEN (DATNAMS)/2,1 

PRINT DATNAMS 

FOR 1=0 TO 4999 

IF INKEYSo - " THEN 6330 
NEXT 

CONSOLE 3,16,0,79 

SCENE-1 

ND1RS-DRNMS 

*GAME1 

CONSOLE 3,16, 2,78 

DIRNB-INT(SCENE/ (FILEMAX 十 1))+ 1 

DIRNAMS-NDIR$+STR$(DIRNB) 

I i-e 

OPEN DRV2$+DIRNAMS+ _ /scene' + STR$(SCEHE) , 80 

FIELD #1,76 AS DATS 

FOR 1-1 TO 4 
GET #1,1 

JPT (1-1) -VAL (DATS) 

NEXT 

FOR 1-5 TO 9 
GET #1,1 

IF DAT$-SPACE$(76) THEN 
IF JPT (1-5)-9 THEN 

KYT$ (1-5)-LEFTS(DATS,16) 

END IF 
ELSE 

KYT$ (1-5)-LEFTS(DATS,16) 

END IF 


NEXT 

CONSOLE 3 , 16,2,78 
PAGE-1 

FOR 1-0 TO14 

GET #1, 卜 11 + 10-(PAGE-1)*15 
MESS (I)-DATS 
IF I>0 THEN 

B$-LEFT$(DATS,2) 

IF B$- , OR B$,. • OR B$-". ~ OR B $ へ THEN 

MES$U-1) -MESS il-l)>B$ 

MESS (I) =MID$ (MES$ (1), 3) 

IF MESS (I)-SPACES (LEN (MES$ (I))) THEN 丨い 11♦1:GOTO 66 

END IF 
END IF 

IF EOF(JU) THEN 
PAGE=0 
GOTO 6800 
END IF 
NEXT 

IF I<14 THEN 
I-I + l 

MES$ (I)-SPACES (76) 

GOTO 6800 
END IF 

GOSUB 本 WPR1NT 

IF PAGE<>0 THEN 
GOSUB *PAUSE 
PAGE-PAGE+1 
GOTO 6640 
END IF 

IF LEFTS (KYT$ (4),1)<>'*' THEN 7100 
GOSUB *PAUSE 
SCENE-JPT (0) 

CLOSE 

GOTO *GAME1 
本 PAUSE 

CONSOLE 19,2,0,79 
CLS 

PRINT TAB (24) ;"* * Hit any key 
CONSOLE 19,2,2,76 
KEY 0,". 

REPEAT 

UNTIL IHKEY$<>-" 

RETURN 

CONSOLE 19,2,0,79 
CLS 

FOR 1-0 TO 3 

PRINT SPACES (2)+KYTS(I)+SPACES(2 ); 

NEXT 

CLOSE 

X-2 : Y-19 : CMC-2 
GOSUB *CUR 

IF DRNM い終了" AND JPT (0) 0 THEN *START 

IF X-2 THEN SCENE-JPT(0) 

IF X-22 THEN SCENE-JPT (1) 

IF X-42 THEN SCENE-JPT (2) 

IF X-62 THEN SCENE-JPT (3) 

GOTO *GAME1 

本 WPR1HT 

FOR 1-15 TO 0 STEP -1 
CONSOLE 3,1+1 
LOCATE 0,1+3 
PRINT 

CONSOLE 1 十 3,16-1 

LINE (1,(I + 4)*8)-(318, (l + 4)*8),4 
PSET (1,(1 + 4) *8) , 0 

LINE (2, (1 + 4) *8+ 1)-(317,(1 “ ) *8+1),4 
LINE (1,(1 + 3) *8) - (318, (1 + 3) *8),IS 
LINE (2, (1 + 3) *8t 1) -(317, (1 + 3) *8+1), 0 
PRINT MES$ (I) 

NEXT 

LINE (1,(1 + 4) *8) - (318, (1 + 4) *8) , 4 
PSET (1,(1 + 4) *8) , 0 

LINE {2, (1 + 4) *8+1)- (317, (1 + 4) *8+1), 4 

CONSOLE 3, 16, 2, 78 

RETURN 

本 ERROR 

INIT c r t 1:,,,0 
CLS 3 
ER- 0 

GOSUB *ERRPRT 

PRINT •エラー番号 =;ERR 
PRINT •エラー 発生行 =~ ;ERL 
CLOSE 
END 


5530 
5 5 4 0 
5 5 5 0 
5 5 6 0 
5570 
5580 
5590 
5600 
561 0 
5 6 2 0 

56 30 
5648 
5650 
5660 
5 6 7 0 
5680 
5690 

57 00 
5710 
57 20 
5 730 
574 0 
5750 
5760 

5 7 7 0 
5780 
5790 
5800 
5810 
5820 

5839 

5840 
5850 
5860 
5870 
5880 
5899 
5990 
5910 
5920 

59 30 
5940 
5956 
5960 
5970 
5980 
5990 

6 000 
6010 
6020 
6030 
6040 

60 50 
6060 
6 0 70 
6080 
6090 
6100 
6110 
6120 

6139 

6140 
6150 
6160 
6170 
6180 
6190 
62 00 
6210 
6220 
6230 
6240 
6250 
6260 
627 0 
6280 
6290 
6300 
6310 
6 32 0 
6330 
6340 
6350 
6360 
6 370 
6380 
6390 
6408 

64 1 e 

6420 
64 30 
6 4 4 0 
6 4 5 0 
6 4 6 0 

64 7 0 
6480 
6490 
6 500 
6510 

65 20 
6 530 
6 5 4 0 
6550 
6560 
65 70 
6580 


►ドラスビ,サンダーフォースII,沙羅曼蛇,どれをとっても iii 萵だが, RTYPE がまだ -- 

発,たされていないのは残念だ。ところでナムコの新作メタルホークはムチャクチャ而『1い Hyper Game Book Di 

ですよ。 横 m 紀明 (21) 榀岡則 


費 0 
2 8 
ff 3 
5 
T 

u T 5 〇 
p X • T 
E R 〇 
N E G . 


00000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000 
90123456 7 89012 3456789012345678901234567890 123456789012345678901234567890123456789012345678901234 


566666666667 77 7 ヮ 

66666666 66666606 C 


r 7 7 7 8 

U 6 6 6 6 


6 6 6 6 6 


8 8 
6 6 


666666666 


999000 OA 
66677777 






C 調言語講座 PRO -68 K 第7回 


ピコマゲドン^ ( D 道.完結編 


Iwai Ippei 

満開製作所;^ —— 


シ | J _ ズでお届けしていますこの C 調言語)®用編「ピコマゲドンへの道」ですが,な 
んと,第2回をもつていきなり完結編を迎えてしまうんだそうです。このピコマゲド 
ンのゲーム/ X ランスについては,皆さんの精進にすべてお任せというオマケまで付い 
て,いつもどおりの展開が繰り広げられます。どラかごゆつ<りとお楽しみ<ださい。 


先月は「その岧」として,実にい一かげんなピコピコ RPG を作 
ったわけである。で,それは6人組だったわけであるが,その後 
あれこれといじってるうちに,やっぱり6人もいるとごちやごち 
やしてよくないと思うようになり,今回はいきなり 「 Z , X , C 」 
の3人に減らしたのであった。 

たとえば,ウィザードリィなどでは6人以内でパーティを組め 
ることになっているが,これは基本的には「職能の細分」という 
文化的基盤からきとるわけだ(多分)。しかし,考えてみるなら, 
魔法使いが長剣を振り回していけないなどとゆ一のはおかしいで 
はないか。なんでも,魔法使いは鉄を身につけていちやいけない 
なんてことを,ヨーロツパ文化圏では暗黙のうちに了解している 
らしいのであるが,こっちには比叡山の僧兵というものもあるの 
だからして,パーティの3人はおのおの剣を持ってるし,また魔 
法も使えるということになっている(早く言えば手抜きでもある 
のだが)。 


進歩したのである 


さて,先月から大きく変わったのが,飛び道具を使えるように 
なったのと,モンスターを全滅させるとアイテムが出てくるとい 
うこと,そして魔法が使えるということである。 

飛び道具はとりあえずは手裏剣だけである(種類を増やしても 
それほど意味はないだろう)。最初はそれぞれ10個ずつ持っており, 
(当たろうが外れよう力す)投げるたびに1個ずつ減っていく。補充 

できるのはアイテム 
を拾ったときだけで 
ぁる。 

アイテムであるが, 
これは, 

「ホ」, r ) J , r ! J 

という3種類がある。 

「*」はゴールド, 

「)」は手裏剣,「! j 
は治癒の薬である。 
モンスターをやっつ 
ければ一応どれかが 
出るようになってい 
るが,意地悪なこと 
に「*」の出る確率 



が一番高くなってい 
る。「)」は手裏剣で, 

拾ったキャラクタの 
持ち物となる。キャ 
ラクタ同士での物の 
やり取りはできない 
ことになっているの 
で,誰に拾わせるか 
はよく考えること。 

また,薬も拾った瞬間に飲んでしまうので,これまた誰に拾わせ 
るのか問題であろう。 

次に魔法であるが,これは戦闘中だけにしか使えない(つまり, 
キャンプは張れない)。 [ M ] キーを押すと,画面の右上に使える 
魔法のリスト(いまのところは火炎と治療だけ)が表示されるので, 
[1] か [2] で魔法を選択する。そのあと,魔法をかけるキャラクタ 
を聞いてくるので,アルファベットを入力するのである。火炎な 
らモンスターのキャラクタ,治癒なら 「 Z , X , C 」 のうちのどれかで 
ある。いまのところはい一かげんなので,魔法を1间使うたびに 
最初10あったマジックポイントが1ずつ減っていくようになって 



いる。 

本当は,マジックポイントというのは人工的なワザとらしさが 
あっていやなのであるが,それよりもよい手が思いつかなかった 
ので,とりあえずはマジックポイント制を継承している。 


ここで反省である 


移動であるが,どうやら一度に1歩ずつにしたほうがよかったよ 
うに思われる。現在のように,「2歩動けて, [5] キーで移動終了」 
というのはうっと一しいようである。 

あと,やっぱり当たり前のことであるが, 

1) バラエティあふれる,歯ざわりのよいモンスターたち 

2) ジューシィであと味が爽やかなアイテム 

3) いつまでも飽きさせない淡泊な迷路 

4) ばったりとしていて,それでいてしつこくないモンスターと 
の出会い 

5) ふくいくとしたピット 

などなどがないと,やはりもの足りないよ一である。 

ま,こんなところである。今月で一応目鼻は揃ったわけである 
が,やはり RPG の命であるところの「ゲームバランス」がかなり 


52 Oh ! X 1989.1. 





















char vvm[YMAX][XMAX+1J ; 
struct kyara dplPN】=( 

{ 0,0, 6, 13, , Z , ,110 f 110, 2,SWORD , ’ •’ , 11•11 , 10 , 0J , 
{ 0,0, 8,13, , X ,, 100,100, 2,SWORD , 1 • , , 12•12,10 , 0}• 
{ 0,0,10,13, , C , , 120,120 ,2,SWORD ,,ノ , 10•10,10,01 


mname[]={ 


Hi; 


tdefine MNUMBF.R 2 
struct mons dm[MN ]; 
int mlast ; 

int fl ; /» 何陏か拿 / 

main() 

( 

init (); 

for(fl=l;fl<100;fl++) 

{ box(l,l f 15,15 ); 

dispfl(fl); 
syutugen(fl ); 
mlast = genmon(f1 ); 
if (fight() == 0) break; 

) 

endinit (); 


/» fc 送拿 / 

い 怪物の生成 */ 

/* 生き残りが〇なら終わり拿 / 


ド 生き残りの数拿 / 
register int i,p; 

for(p=i=0;i<PN;i ♦り 

if (dp[i].hp>0) 

P ++; 

return(p); 

い 動き残りの数拿 / 
register int i , p ; 

for(p=i=0;i<PN;i++) 

if < (dp[i 】 .hp>0> kk (pact[i 】 >0" 
P++; 

return(p ); 


mleft( ) /* モンスターの生き残りの数 */ 

( 

register int i 9 p; 

/ 拿 

loc(0 f 29); 
printf(" 
loc(0 f 29); 拿 / 

for(p=i=0;i<mlast;i++ > { 

/* printf( M Xd=%3d: : M , i f dm[i] .hp) •• 拿 / 


pico.c Ver. 2 

#include ’’ i yaan • h •• 


if .hp>0) 

P ++; 


maleftO /% モンスターの動き残りの败拿 / 

{ 

register int i f p ; 

/* 

loc(0,30); 
printf (•• 
loc(0 f 30);*/ 

for(p=i=0 ; i<mlast ; i++> { 

/t print f< "Xd=X3d: : • i , dm[ i 】 • hp> ; 拿 / 

if ((dm[i].hp>0) && (mact[i]>0)) 
P ++; 

} 

return(p ); 

) 

fi«ht() /* 截 M 開始 */ 

{ 

while(1 


fight_init (); /t set pact[] f mact[] for new turn 
while(a ' —— 


fight_init() 

l 

int lp, 


(aleftO :: maleftO) { 

if (aleftO) { 

do__man (); 

} 

if (aleftO == 0)( 
doitem (); 
return(left ()); 

) 

if (maleftO) { 

do_mon (); 

if (left(j ==0) 

return(left ()); 


/* フラグのセットなどなど */ 


モンスターをやっつけた */ 


全滅だあ */ 


for(i = FN-i;i> = 0;i —) { 

if (dpti].hp>0)( 
ip = i; 

pact[i]=1; 
white ⑴; 

J else ( 

pact[i] = 0; 


J 


active 
show 拿 / 


non-active 拿 / 


/尊 pp = fighter number 拿 / 


t-1 ; i>=0 ; i •- ) 
(dm[i 】 .hp>0) 



/* active 拿 / 
/拿 show 


/* non-active 拿 / 


IP; 


mm 二 monster number 拿 / 


char foot; 
int mp ; 


/ 拿足の T */ 

/* その時の魔力 */ 


•define PN 
^define MN 


(^define 

•define 


XMAX 

YMAX 


ド 3 人 編成*/ 

/* 佳物は最大 2 0 E 拿 / 


2 

3 

4 

5 

6 

7 

8 

9 

10 

11 

12 

13 

14 

15 

16 

17 

18 

19 

20 
21 
22 

23 

24 

25 

26 

27 

28 

29 

30 

31 

32 

33 

34 

35 

36 

37 

38 

39 

40 

41 

42 

43 

44 

45 

46 

47 

48 

49 

50 

51 

52 

53 

54 

55 

56 

57 

58 

59 

60 
61 
62 

63 

64 

65 

66 

67 

68 
69 


ズサンである。だからにして,好きなように改造してみていただ 
きたい。もっとも手軽なのは経験値によるレベルアップであろう0 
あと,「逃げる」という選択もあったほうがいいな。それから, 
それから……である。 

リストを見てもらうとわかると思うが,このテのプログラムで 
は,アイテム/魔法を1種類増やすたびに,それに対応した部分が 
モコモコと膨らんでくるのである。だから,全体としてはかなり 
とりとめのないものとなっていく。これは宿命であるから,真面 

I iyaan.h Ver. 2 


目に グローバル 変数の管理をしないと死ぬことになる。注意して 
いただきたい。 

なお,先月のプログラムにはバグがあったので,まともに動か 
ない人もいたであろう。それから致命的とまではいかなかったの 
だが, rml () 関数にもバグがあったようである。そのほか,あち 
こちでちまちまと変更してあるので注意していただきたい。 

今月はぶりぶりとしたいいかげんさであった。それではまた来 
月。 



// - 

$ $ n 


の 
/か 
* ろ 
グど 
ラか 
,フた 
•のい 
号号か觔 
S 番ぅが 
I I ど I 
ヤタか夕 
イスたス 
レン:;ン 
プモ動モ 

f $ $ $ 

/ / / / 


tpNIi 
11 
c c 

p m p m 

pm 

r r 
11 a a 
n n h h 
i i cc 


* * 播/吐 
むるつ*を 
咬 K 引毒火 


T D IF 
D R R G F 
N O O N A 
/ A H w O T 
♦ H s s L S 

甩 e e e e e 
fnn nnn 

^f f f f f 
eeeee 


-E Twsw 
夕 T A A I o 
i I E L o L 
ス B B c p B 
ン nenenenee 
tf f f f f 
eeeeeeeeee 
* d d d d d * d d d d d 
/##### /##### 


6789012345678901234567890 
222233333333334444444444 5 


位 / 

の » 

ン//力 // 

ヨ * * 能 * / 

シ値力動/ 値力* 
1/大体移*/大魔数/ 
メ *« の:号* 錢のの丨 
1XC の時さ*下の時刻金 
才 DZ 力の敏器の力の* 持 
フ As 体そ*武足魔そ手所 


D / 

S * 

t 力 
ep 能 / 

XC 動* 
e 移級 

/et/:* 
* ab * さの 

lph 力#擊 

位 al 体檐攻 


y ep O t p •• 0 e 0 
k ch p o m ;d m c ; p 
i I a X I X a o X •» n 1 a I X a 
t;;x yf a pe ef apeo t ; •» f p e e 
CXYffmhdwmmkg CXY hdw 
ur r u r 
rtttt atttt a tttt rttattt 
tnnnnhnnnnh nnnn; tnnhnnn 
8 i i i i c i i i i c i i i i } 8 i i c i i i 


123456 7 890123456789012345 


12 2 2 2 2 2 


C 調言語構座 PRO -68 K 













139 

140 

141 

142 

143 

144 

145 

146 

147 

148 

149 

150 

151 

152 

153 

154 

155 

156 

157 

158 

159 

160 

161 

162 

163 

164 

165 

166 

167 

168 

169 

170 

171 

172 

173 

174 

175 

176 

177 

178 

179 

180 

181 

182 

183 

184 

185 

186 

187 

188 

189 

190 

191 

192 

193 

194 

195 

196 

197 

198 

199 

200 

201 

202 

203 

204 

205 

206 

207 

208 

209 

210 

211 

212 

213 

214 

215 

216 

217 

218 

219 

220 

221 

222 

223 

224 

225 

226 

227 

228 

229 

230 

231 

232 

233 

234 

235 

236 

237 

238 

239 

240 

211 

242 

243 

244 

245 

246 

247 

248 

249 

250 

251 

252 

253 

254 

255 

256 

257 

258 

259 

260 

261 

262 

263 

264 

265 


) 

if 


: , M,> ( /% MAGIC ! t/ 

if (dpipp].mp :: 0)( 

messr マジックボイントがありません ” 

putchar( 7 ) ; /t beep 拿 / 

wait(90); 

mess0(); 

break ; 

) 

if (!ca8t()) goto modosi; 
dp 【 ppj.mp --; 
dp[pp].X = x 
dpippj.Y = y 
dispstat < pp) 
pact[pp) = 0 
blue(pp ); 
return; 


T*) | /t SHOT ! 拿 / 

(dpippj•ken == 0) { 

messr* 乒裹剑がありません"); 
putchar( 7 ) ; /t beep 拿 / 

wait(90); 
meas0(); 
break; 


do | 


mess (•• 方向は ?•’>; 
c = toupper(getch()) ; 

1 while(!((c == *Yxlb*)I!(isvect(c 
roess0 (); 

if (c == *Yxlb') goto modosi; 

dplpp].X = x; 
dpfppl.Y = y ; 


vx = (c+2)X3-l; 
vy = -(c-1)/3+1;/ 

dp[pp].ken --; 
dispstat(pp); 
pr : 20; 

while((w = getvvm(x 
ool(32 ); 
prnc(x , y,•> ’ 
col(33); 
prnc(x,y,w>; 
pr --; 

) 


-9 から射撃方向を計! * する拿 / 


< isroonst< 


attack!pp v 0 
wait(50); 
mc880 (); 

I 

roess( " 外れた ! 
wait(80); 
me»s0(); 


&& (rnd(20)<pr)) { /* 攻撃 

当たった丨”); 

当たった拿 / 


pact 丨 ppj 
blue(pp) ; 
return ; 


•0 # ; 

(c+2)X3- 


/* PP 番目のキ J 
f x0,y0,vx f vy; 


ラを操作する 


if ((pact[ppl==0) :: (dp[pp].hp <= 0)) nextpp(); 
do player 拿 / 

x=dp(pp].X ; y=dp[pp].Y ; 
fc = dp[ppj.face; 
loc(x,y ); 

x0 = x;y0 = y; /拿 save x,y 拿 / 
d = dp[pp].dex ; 


c = toupper(getch()); 
switch(c) 


case •Z 1 
case 9 X f 


goto foo ; 
goto foo ; 


if (pact[w]>0) 
if ((x! 


/< う〜ん、キタ: 


: x0) : !(y!=y0)&&(pact(pp) >=0) ) { 

/* 前のキャラが動いていたなら */ 

dp(pp) .X = 


dplpp]•Y = y 
pactlpp]= - 
blue(pp ); 


break ; 

case *Vxlb f : 


goto again ; 
/拿 mokkai 拿 / 


/* 新しい PP 
/* や o a し 


/* cancel 拿 / 
if (pact[pp]>0) { 

prnc(x f y.dplppj.foot ); 
d P[PP 】 •foot=getvvm<xO , yO>; 
prnc(x=x0 # y=y0 f fc ); / • 戻 1 

d = dp[pp 】 .dex; 

} 

break ; /t mokkai ♦/ 


-(c-l)/3+l;/<1-9 から移動方向を計篇する本 / 
etvvm(x+vx,y+vy) ; 

w ==,•,>&& (d>0)) { /t 移動 •/ 

prnc(x,y,dp[ppj.foot ); 

X : x+vx; 


+vy; 

]•foot 


dp[pp】• 
prnc(x,y,fc>; 


) 


if (ismonster(w))( 

dplpp】.X = x ; 
dplpp].Y = y; 
attack(pp , d•x+vx , y+vy>; 
pactlpp] = 0 ; 
blue(pp ); 
return; 


) 


svect(c) 
char c ; 


/< 今度はモンスターの番 
int q , q0 , d , d0; 
int px,py; 


ハ 0<= mm < mlast t/ 
(dm[mm].hp <= 0)) l 


mm = rnd(mlast-1}; 
while ((mact(mm]=r0) 
mm + +; 

mm %= mlast ; / 拿 0<= mm < mlast 拿 / 

) / t まだ動いてなくて、かつ生きている奴を捜す */ 

for(d0=1000,q = 0 ; q<PN;q + ***) { 

if (dp[q|.hp<=0) continue ; 

d = dist(dm(mm].X 9 dm[mm].Y,dp(q]•X,dp[q].Y ); 
if (d0>d) { 

d0=d ; q0=q ; 

px=dp[q).X ; py=dp[q].Y ; 

} else if ((dO == d) && (rnd(9)<3))( 
d0=d ; q0=q ; 

px=dp[q].X ; py=dplq].Y ; 

) /» 通当に敗らす拿 / 


if (movem(px » py) : :1)( 
mattack(px,py ); 

) 

react[mm] = 0; 
bluem(mm++); 


/< W 0 合ったか ?*/ 


/• rnm 番のモンスターをできるだけ px,py の近くまで動かす拿 / 
movem(px f py) 
int px,py; 

I 

int x,y f xO,yO,dx,dy,vx,vy; 
int d; 
int a v b; 
char c ; 

d=dm[mm 】 .dex; 
x=dm 【 mm].X ; 
y=dm[mm].Y ; 
dx=px - x; 
dy=py-y; 

while(d—) { 

vx=sign<dx); 
vy=sign(dy ); 
x0=x ; 
y0=y; 

if ( i splayer( getvvm( x+vx , y-^vy) ) ) break ; 

/» ブレイヤーの隣に来た 
if (getvvm(x+vx,y+vy) == *.*) { 

x += vx ; dx -= vx ; 
y vy; dy vy; 

} else | 

for(a = -l ; a<=I;a + +) /% W 方物を回り込む */ 

for(b=- 


= -l ; a<=l ; a++) /% W 方物を回り込む 

.=-l ; b<=l ; b+4) /拿ううう、入れイ•が 

getvvm(x+a , y+b)= = *. 1 )&& 

((dist(x+a f y+b f px,py)<=dist(x,y f px,py)))) 
x += a; 
y += b; 
a = b = 3 ; 

) 

) 

if ((x0!=x)!!(vO!=y)) { /* 動いた < 
prnc(xO,yO f dm[mmI.foot ); 
dmlmm].foot = getvvm<x•yJ; 


ゝたならば # f き変える 


prnc(x»y t dni[min] . face ); 


dm[mmJ.X = x ; 
dm(rom].Y - y ; 
return(dist(x f y,px,py)) ; 


»i«n(x) /* 符合により、 -1,0,1 を返す 
int x ; 


if (x>0) return ⑴; else if (x<0) return(-l); else return(0 ); 

xtpp( ) /t 次のキャラクタ * 号 ♦/ 

if (aleft()>0) 

if ( + 


while(pact( 


++pp >= 

(ppl <=〇 


int di8t(xl• 


x1•yl , x2 
, x2 , y2; 


2 点間の钜鵰 


int w; 

if ((xl-=x2)<0) xl=-xl; 
if ((yl-=y2)<0) yl=-yl; 

return((xl>yl)? xl:yl ); 


X yo 

1 1 .1 M 


*/ 

( X Y )) 1 

•1 ]]p p n d 
)n )p p[(r n 
I i > p pt e u e 
Q d 5 [ I c u t 
f n , ppale 本 
e d d pb r / 


c 


c 




678901234 5 67890123456789012345678901234567890123456 7 8901234567890123456789012345678901234 -56 7 89012345678901234567890123456789012 
666677777 7 7777888888888899999999990000000000111111111122222222223333333333444444-4444 5 55 5 55 5 5 556666666666777777 7 7778888888888999 
2222222222222222222222222222222222333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333 


Oh! X 1989.1. 


► 12JP; •の169ページを説んで,私は感勒してしまった。編集室にも阪总フアンがいたので 
すね。もしよかったら,■のフアンなのか教えてください。ちなみに私は松永のフアンだ 
が, iii •近は藤 JI: を押しています。 芳野逹郎(18> 東京都 

















393 

394 

395 

396 

397 

398 

399 

400 

401 

402 

403 

404 

405 

406 

407 

408 

409 

410 

411 

412 

413 

414 

415 

416 

417 

418 

419 

420 

421 

422 

423 

424 

425 

426 

427 

428 

429 

430 

431 

432 

433 

434 

435 

436 

437 

438 

439 

440 

441 

442 

443 

444 

445 

446 

447 

448 

449 

450 

451 

452 

453 

454 

455 

456 

457 

458 

459 

4tf0 

461 

462 

463 

464 

465 

466 

467 

468 

469 

470 

471 

472 

473 

474 

475 

476 

477 

478 

479 

480 

481 

482 

483 

484 

485 

486 

487 

488 

489 

490 

491 

492 

493 

494 

495 

496 

497 

498 

499 

500 

501 

502 

503 

504 

505 

506 

507 

508 

509 

510 

511 

512 

513 

514 

515 

516 

517 

518 

519 


face = c ; 

hp =10+p 拿 3+rnd(p >; 
dex = 2+(p/10 ); 
weapon = BEAT ; 
foot = ••’; 
mp s 0 ; 


syutugen(f1) 
int fl ; 


い 新しい部 ®/ 


int p ; 
int i,j,w; 

for(p=0;p<PN;p++> 

{ i = dp[p).X = dplpj.fx ; 

j = dpIpl.Y = dplp].fy ; 
w = dplpl.hp ; 
if (w<dp(p].naxhp) 

dpipj.hp ♦= (dp[p].maxhp - w>/2 ;/ 拿 hp の回 flf 
w = dp[p].mp ; 
if (w<dp[p].maxmp) 

dpi p] .mp += (dpi p】• maxmp - w)/2;/t mp の回復 
dpip]•foot = getvvm(i,j ); 
prnc(i»j*dp(p].face ); 
dispstat(p ); 


dispstat(p) 
int p; 


/t キャラクタの # 想を表示する */ 


loc<0»23+p> ; 

printf TXdYtXc hp : %-3d/X-3d mp:¥ 
%-3d/X-3d f % « : X-3d 金: X-3d ", 

p»dp[p].face,dp[p).hp,dp[p].maxhp , dp[p]•mp , 
dp[ p] • maxmp , dp 【 p] . ken , dp[ p ) .gold" 

getvvm(x,y) 
int x,y ; 


box(xl f yl,x2,y2) 
int xl,yl v x2»y2; 


int i,j ; 
char barI 81); 
char roo [81]; 

if ((j = x2-xl 
for(i=f 


1)>80) return ; 


bar[i】=•-’ 
roo 【 iJ=,•• 


bar 【 i]=roo 【 i 】 = •¥0• 
roo[0]=rooIi-lJs , S 


if (isplayer(c)) return(0 ); 
return(isalpha(c )); 


isitem(c) 
char c ; 



return ⑴ 
return(2) 
return(3) 
return(0) 


int genmon(f) 
int f ; 


モンスターの生成拿 / 


m s 0 ; 

genmonltf / 拿最低 1 匹は出る拿 / 
for( i=0 ; ( i<f )A4(«n<20) ; i++) 
if (rnd(f)&1) 

genmonl(f>; 

return(m ); 


/拿 

char mlist[| 


genmon1(f,n) 
int f,n ; 


•BEHIKSORZCLAQNYTWFPUGMVXDJ" 
” BEHIKSORKQLAQNYTWFPUGMVGDJ M 

2 9 2 9 B 9 2 t ^ t 3 9 S 9 e 9 

8,12,2,0,8,0,12.28, 

6,9,16,33,39,34,10,12, 

16,32} ; 


int i,p,min,max; 
int x,y ; 
char c ; 

if (f > 25) f = 2 


f (f <=10) 
min = 
max = 

else if (f 
min = 
max = 

else ( 

min : 
max = 


♦ 3; 
19) | 
- 6; 

+ 3; 

- 6; 


do ( 

x = 2+rnd(13 ); 

y = 2+rnd(6 ); 

)while(getvvm(x,y)!=*• 
dmln].X = x ; 
drainj.Y = y ; 

i r min ♦ rnd(max-min ); 
c = mlist[i ]; 
p = mpow[i]; 
prnc(x f y,c); 


mattack(px,py) 
int px,py ; 


int i,j 
char c ; 


/♦ モンスターによる攻撃 */ 


c r getvvm(px,py); 
for(i=0;i<PN;i++) 

if (dp[i]•face 


c) break ; 


i# キャラクタを攻撃する " 
power = dm(mm].hp/3 ; 

power s rnd( power) ; /♦ 攻擊力の II 定拿 / 

col (36) ; /* リバース拿 / 

for(j=0 ; j<10 ; j++) { /» ビクビグ */ 

prnc(dp[i].X,dp[iJ•Y,tolower<dp 【 i 】 •face)) 
prnc(dp[i].X,dp[i].Y »dp[i].face ); 

} 

col(33 ); 

if ((dp[i].hp -= power)<=0) { 
dp 【 i 】 •hp=0 ; 
pact Ii]=0 ; 

prnc(dp[i].X,dp(i).Y,dp[i]•foot); 

} else if ( pact [ i ] ) whi te( i ) ; else blue ⑴; 
disp3tat(i ); 


attack(p,d 9 x l y) 
int p,d,x,y ; 

{ 

int m•j ; 
int power; 

for(ro=0;ro<mlast;m++ > 

if ( (x==dm 【 m] • X 二 dm 【 m 】 . 丫 >&&<£11 〇【 11)] .hp>0) ) break ; 


: mlast) { / 拿デバッグ用の 

for(m=0 ; m<mlaat ;m++)( 

p r i n t f ( M Xd: x=Xd , y=%d Y n *' 


トラサブ拿 / 
m, dm [ m ] • X • dro [ m 】 .Y ); 


I 

power = dp[p 】 •hp/3+d; 
power = rnd(power)+1 ; 
dm[m].hp -= power ; 
col{36); 

for( j = 0 ; j<10 ; j + +) { /* ビクビク V 

prnc(dm[m].X t dro[m].Y,tolower(dm 【 m 】 •face )); 
prnc(dm 【 m 】 •X,dm[m 】 •Y,dm 【 m 】 •face ); 

) 

col(33 ); 

if (dm[ro].hp く: 0> { 
dm[m].hp=0; 
inact[m] : 0 ; 

if ( mlef t ( ) ) prnc (dm [in] .X v dm[m] • Y 9 dm [ m ] . foo 
else putitem(dm[m].X,dm[m].Y ); 


else if (mact[m]) 


else b]uem(m); 


blue(p) 
P; 


bluem(m) 
nt m; 


screen(2,0, 1,0 ); 
exit (); 


ft き終わったら两くする拿 / 


col(31) ; 

prnc < dpip 】 .X,dp(p].Y f dpfp].face ); 
col(33 ); 


ft き終わったら S くする */ 


col(31) 

prnc(dm[m)•X,dro[m]•Y f dm 【 m]•face ); 


col(33); 

prnc(dpIp].X,dp[p].Y f dp[pJ•face >; 


col(33); 

prnc(dm[m1.X,dm[m].Y,dm[m].face); 


520 

521 

522 

523 

524 

525 

526 

527 

528 

529 

530 

531 

532 

533 

534 

535 

536 

537 

538 

539 

540 

541 

542 

543 

544 

545 

546 

547 

548 

549 

550 

551 

552 

553 

554 

555 

556 

557 

558 

559 

560 

561 

562 

563 

564 

565 

566 

567 

568 

569 

570 

571 

572 

573 

574 

575 

576 

577 

578 

579 

580 

581 

582 

583 

584 

585 

586 

587 

588 

589 

590 

591 

592 

593 

594 

595 

596 

597 

598 

599 

600 
601 
602 

603 

604 

605 

606 

607 

608 
609 


ispl a : 
char ( 


tch(toupper(c 
e 9 Z 9 : 


swi 
cas< 
case * X 
case # C 

r 

default: 


ismonster(c) 
char c; 


620 

621 

622 

623 

624 

625 

626 

627 

628 

629 

630 

631 

632 

633 

634 

635 

636 

637 

638 

639 

640 
64 】 

642 

643 

644 

645 

646 


►とうとう X 68000 用 MIDI ボードが発売された。これでミュージシャンの;;-々に X 68000 
を使ってもらって,テレビに出てもらう。するとアマチュアの人も使うようになって,ユ 
ーザーも增えるのだ。 本外進 (19) 石川阽 


C 調言語構座 PRO -68 K 55 


nnnn nn 
mmle emlml 
d d d d d d 















647 

648 

649 

650 

651 

652 

653 

654 

655 

656 

657 

658 

659 

660 

661 

662 

663 

664 

665 

666 

667 

668 

669 

670 

671 

672 

673 

674 

675 

676 

677 

678 

679 

680 

681 

682 

683 

684 

685 

686 

687 

688 

689 

690 

691 

692 

693 

694 

695 

696 

697 

698 

699 

700 

701 

702 

703 

704 

705 

706 

707 

708 

709 

710 

711 

712 

713 

714 

715 

716 

717 

718 

719 

720 

721 

722 

723 

724 

725 

726 

727 

728 

729 

730 

731 

732 

733 

734 

735 

736 

737 

738 

739 

740 

741 

742 

743 

744 

745 

746 

747 

748 

749 

750 

751 

752 

753 

754 

755 

756 

757 

758 

759 

760 

761 

762 

763 

764 

765 

766 

767 

768 

769 

770 

771 

772 

773 


prn(xl,yl,bar); 
for(i=0 ; i<y2-y1+1-2;i++) 

{ prn(xl , yl+i+l,roo ); 

} 

prn(xl f y2 f bar ); 


dispfl(f) 
int f; 

I col ⑴ 


/* 何蹐か表示する */ 


UWJL V f ; I 

loc(l,21 ); 
printf (•• = = 
col(33); 


prn(x,y,s) 
int x,y ; 
char 拿 s; 


register char 拿 p; 

loc(x,y ); 
printf( M %s M ,s); 

P = Avvm[y][x ]; 
while( 拿 s > 


prnc<x,y,c> 
int x,y ; 
char c ; 


loc(x,y1; 
printf rXc M f c ); 
vvro 【 y 】【 x 】 =c ; 
loc(x,y ); 


/本 display vvm 拿 / 
flush() 


for(i=0 ; i<YMAX ; i++) 

{ loc(0 f i ); 

printfrXs^vvmli ]); 


” , y+0x20,x+0x20>; 


locate x f y 拿 / 


register int x,y; 

printf( M Yxlb[2J M ); 
for(y=0;y<YMAX;y++) 

{ for(x=0 ; x<XMAX ; x++) 

vvm[y1[x]= 1 
vvm[y] [x 】 = 10’ ; 

} 


/t els ..con:" 


/本 clear vvm ♦/ 
/* set EOS 本 / 


unsigned int seed = 0xe933 ; 


int rnd(max) 
int max; 


/» 初期 « は e933H 拿 / 


seed = 899 本 seed; 

return(seed % (max+1));return 0-max 拿 / 


mess(s) 
char *s; 


prn(0,17,s); 


col(c) 
int c ; 


char *8 【 5J; 


itoa(c f s f 10 ); 
printf<"Yxlb 【 Xsro” 


a = ONTIME (); 

while(((ONTIME()-a+ 863999 9) X 8639999 )<i) : 


castO /* « 法迅理拿 / 

{ 

int c, f 


mmenu(); 

mess( •• 魔法の番号は?”); 
c = toupper < getch ()); 
mess0(); 
mmenu0 (); 
c ベ, 1 ,; 

if (OMNUMBER) return(0 ); 
mess ("維に対してですか ?”}; 
f = toupper<getch ()); 
mess0() : 

if (! iBalpha(f)) return(0 ); 


/♦ mokkai */ 


/拿 mokkai 拿 / 


case 0: /* 火炎 */ 

for(m=0;m<mlast;m++)1 

mO = rnd(mlast-l ); /% ランダムに抽選 */ 

if ((dmlmO】•face == f)&&(dm 【 mO 】 •hp>0}} f 
messr 攻擊成功 ! ••); 
attack(pp,5 t dm[m0).X,dm(m0].Y ); 
wait(50 ); 


雀 


774 

775 

776 

777 

778 

779 

780 

781 

782 

783 

784 

785 

786 

787 

788 

789 

790 

791 

792 

793 

794 

795 

796 

797 

798 

799 

800 
801 
802 

803 

804 

805 

806 

807 

808 

809 

810 
811 
812 

813 

814 

815 

816 

817 

818 

819 

820 
821 
822 

823 

824 

825 

826 

827 

828 

829 

830 

831 

832 

833 

834 

835 

836 

837 

838 

839 

840 

841 

842 

843 

844 

845 

846 

847 

848 

849 

850 

851 

852 

853 

854 

855 

856 

857 

858 

859 

860 
861 
862 

863 

864 

865 

866 

867 

868 

869 

870 

871 

872 

873 

874 

875 

876 

877 

878 

879 

880 
881 
882 

883 

884 

885 

886 

887 

888 

889 

890 

891 

892 

893 

894 

895 

896 

897 

898 

899 

900 


) 

messT 攻擊 失敗 .. •••ド, 
wait(80 ); 
roess0(); 
break ; 

1: パ治癒拿 / 

for(p=0;p<PN;p++) J 

if ((dp[p].face == f)&&(dp[p].hp>0)) 
w = dp[p].maxhp - dp[p].hp ; 
w =1 + rnd(w/3 ); 
dp[p] .hp *»*= w; 

ness (" ああ、甘露は S • • •">; 
wait(80 ); 
messO(>; 


break ; 

) 

return ⑴; 


int i ; 

for(i=0 ; i<MNUMBER;i++ > | 

prnc(18, i + 2, * T+i ); 
prn(20,i+2,mnameli]) ; 

} 


int i ; 
char is 


for(i=0 ; i<MNUMBER ; i++) 
prn(18,i+2 , s); 


) /* PP 番 目のキャラを 搡作 する */ 

int x,y t x0,y0 t vx.vy; 
int w,d,pr; 
char c,fc; 

f ight—initn ; 

PP = 0 ; 

if (dp[pp].hp <= 0) nextpp(); 
x=dp[pp].X ; y=dp[pp].Y ; 
fc = dp[pp].face ; 
loc(x,y>; 

xO = x;y0 = y; /* save x,y 拿 / 


c = toupper(getch() 
switch(c)( 


case Z 
case 
case , C , 


goto fool; 
goto fool; 


/* う〜ん、キタ: 


if (dp[w].hp>0) { 

dp[pp】.X = x ; 
dp[pp].Y = y ; 
pp=w; 

goto againl; 

) 

break ; /拿 mokkai 拿 / 


/* やり fi し */ 


= , Q,> I 
endinit() 


if (c 

) 


if (iavect(c)) 
c -= »0 


移動もしくは攻擊 * / 

(c.2>X3-l ; 

-(c-U/3+1;/*1-9 から移動方向を計算する 
, y+vy) ; 

二, • , >1/ 拿移動意 / 
prnc(x,y,dp[pp).foot) ; 
x = x+vx; 
y = y+vy; 

dp[pp].foot = w ; 

prnc(x,y,fc); 

break ; /* mokkai 拿 / 


switch(w)( 
case 9 1 f : 

dp 【 pp 】 .gold +=10*frnd( fl*10 ); 
goto getitem ; 
case 9 ) 9 : 

dp[pp].ken += 5; 
goto tfetitem; 
case 1 !•: 

dp[pp].hp += 5+rnd(f1 ); 
prnc(x # y,dplppj.foot ); 
prnc(x+vx,y+vy f fc ); 
dispstat(pp ); 
return ; 

default : break ; 


goto mokkai1; 


putitero(x,y) 
int x , y; 

{ int r ; 

char c ; 


r = rnd(99 ); 
if (r<60) c = f ♦ f ; 
else if (r<90) c 
else c =•> , ; 

col(32 ); 
prnc(x , y , c>; 
col(33 ); 


*/ 


Oh ! X 1989.1. 











Z 日□マシン語 
ゲーム エ房 


ついに敵機来襲 

Murata Toshiyuki 村田敏幸 


第6回 


基礎からスタートしたこのゲー厶工房も,と5とろデラックスなカラー画面(目次参照) 
に,バシバシ弾を撃ちながら敵機の襲撃へと突入します。今月は特に,リスト内に細かい 
解説が加えられていますから,そちらも参照しながら残された課題をじっくりと学んでみ 
てください。 


さて,大詰めだ。今月は,敵も弾が撃て 
るようにし,背景の スクロールと 合体させ, 
ドサクサまぎれに色もつけちゃって,一応 
ゲ ー ムらしい格好にするところまでをやる。 
とは言うものの,自機周りの当たり判定が 
付いていないので,自機は敵に当たろうが 
撃たれようが障害物に体当たりしようが決 
して死なないという,いわゆる無敵状態に 
なっている。 

前回まではパーツごとに作成 • 合体を繰 
り返してきたわけだが,いい加減,収拾が 
つかなくなってきたから,今回は最初にま 
とまったリストを示し,その部分部分を解 
説するという親切設計で話を進めることに 
した。リスト1〜4が順に MZ -700/2000/25 
00, XI 用の各機種に依存する部分で,リ 
スト5が共通部だ。各機種用部の後ろに共 
通部をくっつけてアセンブルしてもらいた 
い。ただし, Xlturbo では XI 用の一部を 
リスト中に示したように変更して使う。ま 
た, MZ -700 の場合は「共通部」に若干の 
変更点があるので注意すること。 

おっとそれから,リストが大きくなった 
ため,オブジェクトの生成アドレスを変更 
してある。オブジェクトは 4 E 00 h から生成 
されるから(注1), 

#J4E00 
で実行だ。 

注 I )標準状態の ZEDA では 4 E 00 h からソース 
プログラムを置くようになっている。そのアド 
レスからオブジェクトを生成するということは 
ソースを破壊しながらアセンブルするというこ 
とだ。これはオンメモリのアセンブラで大きな 
ソースを作るときの常套手段だ。なお,この場 
合,アセンブル後にソースを修正するには,口 
ードするところから始めなければならないこと 
は言うまでもない。 

( ポーズ処理:宿題の解答 

まず,前回の宿題だった一時停止処理か 
ら片づける。このように一見簡単そうな処 
理にも,実際にプログラムにしてみてやっ 
と気づく落とし穴があるものだ。自分で試 
してみた人にはもうわかっていると思、うが', 



順に考えてみよう。 

最初に一時停止の条件であるトリガー2 
が押されているかどうかをチェックする。 
このチェックの仕方は前回やった。そして, 
トリガー2が押されていれば,一時停止処 
理本体に分岐し,一時停止解除の条件が満 
たされるまで待つわけだ。一時停止はトリ 
ガー1か2が押されたら解除と決めてあっ 
たから,ポーズ処理ルーチンは, 

1) キー入カデータを得る 

2) トリガー1か2が押されているかどう 
かを調べ,押されていなければ 1) に戻る 

3) どちらかが押されていたらメイン処理 
に復帰する 

という形が考えられる。 

ところ力 5 ',このとおりプログラムを書い 
て走らせてみると,どういうわけか一時停 
止しない場合があるはずだ。何度か試して 
みると,トリガー2をチョンと押したとき 
には一'時停止することもわかると思う。こ 
れは,人間とプログラムの処理速度の違い 
からくるものだ。つまり,トリガ'一2が押 
され, 1) の処理に入った時点で「まだトリ 
ガー2が押されている」と2), 3) のチェッ 
クに引っかかって,すぐに処理を抜けてし 
まうわけだ。これを避けるためには, 1) の 
直前に「トリガー2が離されるのを侍つ」 
処理を付け加えればよい。 

リスト5の846〜859行がポーズ処理サブ 
ルーチンだから,一応目を通しておいても 
らおう0 


敵の反撃 


次に敵に弾を撃たせてみる。しかし,た 
だ水平に撃つだけでは面白くないので,前 
にさらっと書いたように敵の弾は自機がそ 
の瞬間にいる位置目がけて飛ぶようにする。 
考え方は2種類ほどある。 

ひとつは敵の移動のときにやった,向き 
コードを利用する方法だ。弾は8方向(も 
ちろん16方向などに拡張してもよい)にし 
か移動できないものとし,発射のときに一 



番近い方向を選び,あとはその方向に直進 
する。この方法では自機を正確に狙うとい 
うわけにはいかないが,向きコードを増減 
することで,進路を変化させることができ 
るので,「最初はちょっとずれた方向を狙 
って,徐々に曲げる」とか「弾がぐねぐね 
と曲線を描きながら飛んでいく」といった 
細工はしやすい。 

もうひとつはグラフィックの直線描画の 
アルゴリズムを利用する方法だ。これによ 
り弾は正確に自機の位置を狙って飛ぶよう 
になる。テキストベースだと軌跡はガタガ 
夕したものになる力 5 ',まあ,仕方のないと 
ころだろう。目新しさを狙って,制作中の 
ゲームでは こちらを採用する。 

さて,強引な話の展開だが,ここでライ 
ン描画のアルゴリズムを説明する。ライン 
描画の方法にもいろいろあるわけだけど, 
ここでは比較的才ーソドックスなアルゴリ 
ズムを用いることにした。このアルゴリズ 
ムは「画面に描きうる最良の直線を描くわ 
けではない」が,比較的処理が軽いので, 
パソコンの BASIC なんかは大抵このアル 
ゴリズムを使っていると思われる。 

話を簡単にするために, 

X 1<= X 2 

Y 1<= Y 2 

X 2- X 1> Y 2- Y 1 

を満たすような2点( XI , Y 1) と ( X 2, 
Y 2) を結ぶ場合を例に取り上げる。つまり, 
X 軸と交わる角度が45度よりなだらかな傾 
きの直線だ。なお, 

DX = X 2 - XI 
DY = Y 2- Y 1 


Z80 マシン語ゲームエ房 57 



























とおく 
一 , ' 〇) 

始点から終点に達するまでの間に X 座標 
は DX , Y 座標は DY だけ増加する。いま 
は DX > DY なので,毎回 X 座標を1増や 
しつつ,たまに Y 座標を1増やせば,望む 
直線が描けるだろう。この「たまに」とい 
うのがくせものだが, X 座標を DX 回増加 
する間に, Y 座標を DY 回増やすわけだか 
ら, Y 座標を増やす確率(というか頻度) 

は DY / DX (<=1) だということがわかる。 
たとえば DX =4 で DY =2 であれば DY/D 
X = l /2, つまり, X を2回増やすごとに Y 
を1回増加させればよい。 

この考え方をもう少しプログラムっぽく 
言い換えてみよう。次のようになる。 

「初期値0の変数 P を用意し,これに点 
をひとつ才丁つごとに DY / DX を足して , P 
が1以上になったら Y をひとつ増やす」 

この言い換えが正しいかどうか確かめるに 
は,実際に簡単な例で試してみることだ。 
DX =4, DY =2の場合について考えてみ 
ると, 

1) DY/DX = l /2 0 また,最初だから, 

P = 0 

2) 始点に点を打つ 

3) X をひとつ増やし, P に1/2を足す。結 
果は1/2だから1より小さい。だから Y は 
そのまま変化させない 

4) 3) で求めた位置に点を打つ 

5) また X をひとつ増やし, P に1/2を足す。 
その結果 P は1以上になったので Y を1 
増やす。この時点で次に備えて P から1 
を引いておく 

6) 点を打つ 

7) X をひとつ増やし, P に1/2を足す。結 
果は1/2だから Y はそのまま 

8) 点を打つ 

9) X をひとつ増やし, P に1/2を足す。そ 
の結果 P は1以上になったので Y を1増 
やす 

10) 点を打つ 

というように,ちゃんと X を4つ増やす間 
に Y を2つ増やすことができた。 DY/DX 
がもっと中途半端な値のときもうまくいく 
ことを確認してもらいたい。以上がこのア 
ルゴリズムの大筋だ、。 

では次に, 

X 1<= X 2 
Y 1<= Y 2 
X 2 - X 1< Y 2- Y 1 

のような,傾きが急な直線を描くことを考 
えてみよう。この場合 DY > DX なので,毎 
回 Y を1増やしながら DX / DY の確率で X 
に1を足せばよい。いままでの例の X と Y 


マシン語による整数除算 

10進数の割り算,たとえば123/5を筆算で行 
うときのことを考えてみてもらいたい。最初に 
被除数の最上位桁を持ってくる。いまの場合I 
だ。これは5では割れないから100の桁の商に 
は0が立つ。次に被除数をもう丨桁持ってきて, 
さっきの丨と連結する。すると12になる。今度 
は5で割ると2が立ち,余りは2だ。この余り 
とさらに被除数から持ってきた3を連結すれば 
23だ。4が立ち,余りは3となる。最終的に24 
…3という答えが得られる。 

さて,いきなり算数を始めたのにはわけがあ 
る。というのも,マシン語での割り算は2進数 
での筆算を考えて,そのままプログラムにすれ 
ばよい。しかも,10進数では演算の途中で「5 
が立つかな? 駄目なら4でどうだ」という勘 
と試行錯誤が必要だったわけだが,2進数では 
Iが立つか0かの2通りしかないわけで,これ 
は「引けるか引けないか j に置き換えて考える 

をすベて逆にしたのと同じことだ。なら, 
X 1>= X 2 
Y 1<= Y 2 
X 1- X 2> Y 2- Y 1 

の場合はどうだろう。この場合は毎回又を 
1減らしつつ, DY / DX の確率で Y を増や 
していけばよい。さっきの例とは X 座標を 
毎回1増やすか1減らすかの違いだ。結局, 
DX = ABS ( X 2- X 1) 

DY = ABS ( Y 2- Y 1) 

SX = SGN ( X 2- X 1) 

SY = SGN ( Y 2- Y 1) 

とおいて, 

1) DX >= DY ならば, 

X に毎回 SX を足しつつ, DY / DX の石萑率 

で Y に SY を足す 

2) DY >= DX ならば, 

Y に毎回 SY を足しつっ, DY / DX の確率 

で X に SX を足す 
というようにまとめられる。 

以上のアルゴリズムを利用して,弾の発 
射•移動ルーチンを作成する。ここで,問 
題になるのは DY/DX (または DX / DY ) を 
求めるために割り算ルーチンが必要なこと 
と,その結果が小数の値をとるということ 
だ。もちろん,マシン語で実数演算ルーチ 
ンを作ることもできるわけだが,それでは 
処理が遅くなってしまうので,整数化して 
計算することを考える。たとえば DY/DX 
を256倍しておき(注2),「1を越えたか 
どうか」調べる代わりに256を越えたかど 
うかで判断すればよい。ここで256倍する 
処理はわざわざ掛け算ルーチンを作るまで 
もないことは,以前の話を思い出してもら 
えればわかると思う。残る整数の割り算に 
関しては囲み記事を参照してほしい。 


ことができるという利点がある。 

例としてはあまりよくないのだが,リスト 5 
のサブルーチン DIV は HL+C を求めて,商を H 
L に余りを A レジスタに返すサブルーチンだ。 
速度を追求し最適化してあるために C は 127 以 
下(最上位ビットが0 ) でなければならない。 

HL を I ビット左にシフトし,はみ出したビット 
を A に取り込んで,試しに C を引いてみて,仮 
にIを立て,キャリが立ったら(引けなかった 
ら)引きすぎた C を足すことで A の値を元に戻 
し,立てたIを下ろしている。こういった処理 
を 16 回(被除数の桁数分)繰り返すと商が求ま 
る。 

なお,このサブルーチンでは被除数を格納し 
ている HL の下のほうのビットから徐々に商が侵 
入してきて, 16 ビットシフトした時点でいつの 
間にか HL に商が入っているというヒネた作りに 
なっている。 HL と C にいろいろな数を入れて, 

Z80 になりきったつもりで処理を追ってみると 
面白いと思う。 

リスト5の637行からが敵弾の発射処理 
ルーチンだ。最初に敵弾のデータバッファ 
の空きを探し(バッファの内部構成は33行 
以下を参照),弾の初期位置となる「弾を撃 
つキャラクタの座標と表示アドレス」をそ 
のままコピーしているのがわかるだろう。 
この先がライン描画のアルゴリズムを利用 
している部分だ。 

ここでは DX , DY , SX , SY,SG に DY 
X 256 /DX (または DXX 256/ DY ) を計算 
し,敵弾バッファ内にセットするという処 
理を行っている。「確率」が1を越えたとき 
と越えなかったときの座標変位を別々に用 
意するなど,先に計算できるものはみんな 
計算しておくという方針で書いてある。こ 
こまで計算したうえで,とどめに678行以 
下で,座標の変位から表示アドレスの変位 
を2通りの場合について求め,バッファ内 
に格納している。 

これだけ先に計算しておくと,敵弾の移 
動处理はずいぶん簡単になる0サブルーチ 
ン M 0 VEEMSL の756行以下がその処理な 
んだが,「確率」にステップ値を加え,結果 
力 5 '256を越えたかどうかで,2種類用意し 
た座標 • 表示アドレス変位を使い分けるだ 
けですんでしまっている。ここで,「256を 
越えたかどうかを調べ,256以上になったら 
256を引く」という処理が「8ビット加算1 
発と,結果のキャリフラグ」だけで実現さ 
れていることにも注目してもらいたい。 

あと,敵の弾はあまり速いと困るので, 
750行からの3行で,カウンタをチェックし, 
メインループ2回に1回しか進まないよう 
に調節している。 EMSLCNT というワーク 
エリアはメインルーチンの最初のほうで A 
Ah という値で初期化してあり,これを RRC 


58 Oh ! X 1989.1. 


でローテートすると, AAh —55 h —> AAh . 

と変化し続けるだろう。 AAh —55 h と変化す 
るときはノンキヤリだが, 55 h — AAh と変化 
するときにはキヤリが立つので,これをチ 
エックすれば,立派にカウンタとして機能 
するわけだ。この手法はリストのあちこち 
使われている。 


分の1ですむから,100画面分ぐらいわけな 
く入るだろう。 

さて,背景の単位をこのように大きくと 
ったことで不安を覚える読者の方もいるか 
もしれない。パーツが大きくなると,スク 
ロールが粗くなってしまいそうに見えるだ 
ろう。しかし,ご心配なく。ちゃあんと手 


注 2) DY を DX で整数除算してから256倍するの 
では割リ算をした時点で商が0になってしまう 
ので, DY を256倍してから DX で割るようにす 
る。 


r そして背景スクロール 

以前,理論だけをゃった背景のスクロー 
ルを いよいよゲームに 導入す る。 

スクロールは 全画面分の絵を帯状につな 
げたデータを用意し,その一部を切り出し 
て表示することで行えるんだった。いま作 
っている ゲームは 横 40 X 縦 24 だから, 40 X 
24 バイトのデータがあれば 1 _面が埋まる。 
これを100個つなげたものを用意すれば100 
画面分の スクロールが 行える。が, 40 X 24 
= 960 バイト# 1 K バイト, 100 画面分用意 
すればなんと 100 K バイトだ。これは Z 80 が 
直接扱えるメモリ量を越えている。もちろ 
ん,サンプルとして100画面分ものデータを 
用意するつもりはない が, そのくらいまで 
は拡張できるように,器は大きくとってお 
きたい。となれば取るべき道はひとつ。デ 
ータ量を減らす工夫をすることだ。 

そこで,何文字かのブロックで背景を表 
すことを考える。 2 X 2 とか 3 X 3 の大き 
さで背景の「パーツ」を用意し,これに順 
に番号を振っておく。そして,この番号で 
マップ データを用意するわけだ。今月のリ 
ストでは背景の 1 ブロックを 4 X 4 文字の 
大きさにしてある。これならデータ量は 16 



は打ってある。ポイントは「実画面よりひ 
と回り大きい仮想画面」だ。制作中のゲー 
ムでは, 40 X 24 の実画面に対して 48 X 32 の 
大きさの仮想画面を用意してあり,仮想画 
面の (4,4) が実画面の (0,0) に対応している。 
実画面の周りには表示はされないが,キャ 
ラクタ4つ分のゆとりがあるわけだ。ここ 
をうま〈使う。 

最初はまず仮想画面の(4, 4) を左上隅と 
みなして,横11 X 縦6個の背景パーツをび 
っしり並べる。実画面には横 10 X 縦6個し 
か表示できないから,横に11個並べるのは 
無駄なようだが,とりあえず気にしないで 
もらおう。例によって,この時点ではディ 
スプレイに表示されるはずもなく,あとで 
仮想画面からごっそり実画面に転送した時 
点で実際の表示が行われる。もちろんこの 
ときは無駄に書き込んだ右端の1列はディ 
スプレイには現れない0 

次に仮想画面の (3, 4) を左上隅とみなし 
て,横11 X 縦6個の背景パーツを並べる。 
そして,いつものとおりに(4,4)から(27, 
43) の範囲だけを実幽面に転送する。もう話 
が見えてきたと思うが,これで背景は横に 
1キャラクタ分 スクロール したわけだ。以 
後,起点の位置を(2, 4), (1,4) とずらしな 
がら同様の処理を繰り返し,そして,4回目 
の スクロールの ときに,起点位置を(4, 4) 
に戻して,マップテん-夕を横にひとつ進め 
る。以下,延々と続ければ,1キャラクタ 
単位の横ス クロ ー ルが実現される。 


ジャンプテーブル 

ジャンプテーブルは, BASIC で言う ON-GO 
TO に当たるような処理をするのに用いられる。 
その実態は, 

DEFW 分岐先0のアドレス 
DEFW 分岐先 I のアドレス 
DEFW 分岐先2のアドレス 
DEFW 分岐先3のアドレス 

のような形をした配列状のデータ列だ。たとえ 
ば A レジスタが0なら分岐先0 へ, I なら分岐 
先丨へ……というように,処理を振り分けると 
きに利用すると,プログラムをコンパクトにま 
とめることができる。 

これはどうやるのかというと,分岐のキーと 
なる値(上では A レジスタ)を添え字とみなし, 


ちょうど2バイト型の配列アクセスのようにし 
てレジスタペアに分岐先アドレスを取り出し, 
そこへジャンプすればよい。 

たとえば, BC レジスタにアドレスを取り出 
したとすると, 

PUSH BC 
RET 

で, 「 BC の指すアドレス j へジャンプできる。 
また特に, 「 HL の指すアドレス j へジャンプす 
る命令として, 

JP ( HL ) 

がある。 

リスト5ではイベントの処理と,敵の種類に 
よる処理ルーチンの振り分けにジャンブテープ 
ルが用いられている。このよ•うに作っておくこ 
とで,将来の拡張が容易にできるようにしてい 
るわけだ。 


リスト5の278行以下が背景を仮想画面に 
展開するサブルーチンだ0 MAPPNT にマ 
ップデータ への ポインタが, HOME に仮 
想画面上の起点位置アドレスがそれぞれ格 
納してあり,下位サブルーチン EXMAP 0 
で左から右,上から下へ背景パーツを並べ 
ていく。 

マップ データ 自体は,921行以下にとりあ 
えず3画面分(そのうち最初と最後のブロ 
ックはわけあって同じもの),また,背景ハ。 
ーツのパターン は機種別部分の BPAT 0以 
下に6 つ ほど用意してある。 データの 作り 
方の詳しい話は来月になるけれど,リスト 
を参考にすれば,手を加えるのも難し〈は 
ないだろう。 

色をつける: MZ -700 編 

今月の目玉はお待ちかねのカラー化だ。 
まず, MZ -700からいってみよう。 MZ -700 
には PCG こそないが,文字単位で文字色と 
背景色を自由に設定できるので,ちょっと 
凝ってみせればゲーム画面はそれなりに華 
やかなものになる。 

文字/背景色の指定はアトリビュート VR 
AM にデータを書き込むことで行う。以前 
話したようにメモリの D 800 h ~ DFFFh がア 
トリビュート VRAM になっており,表示位 
置に対応したアトリビュート VRAM に文字 
色 x 16 +背景色を書き込めば色の設定がで 
きる。というわけで,新し〈覚えてもらう 
ことはなにもないといってよい。あとはフ。 
ログラミング上の問題だ。 

前回までは,あらかじめアトリビュート 
VRAM を文字色緑,背景色黒で初期化して 
おき,ゲーム中はテキスト VRAM への 書き 
込みだけですませてきたけれど,文字単位 
で色をつけるとなると,毎回アトリビュー 
卜 VRAM も更新しなければならない。これ 
に対応するために, MZ -700 では特に仮想 
アトリビュート VRAM なるものを導入する。 
これは言ってみれば仮想 VRAM のアトリビ 
ュート版だ。 

自機なり敵キャラなりを表示するときは, 
仮想 VRAM にディスプレイコード,同位置 
の仮想アトリビュート VRAM に色コードを 
書き込むようにし,すべてのキャラクタの 
(仮想画面への)表示がすんだら,仮想 VR 
AM と仮想アトリビュート VRAM の内容を 
実 VRAM , 実アトリビュート VRAM にそ 
れぞれ転送することで,ディスプレイへの 
表示を行うわけだ。要するに,いままでテ 
キスト VRAM に対して行っていたことを, 
アトリビュート VRAM にタオしても行うよう 



Z 80 マシン語ゲームエ房 59 









にする。 

ただ,これによりゲーム全体の速度はど 
うしても落ちてしまう。また,テキスト V 
RAM とア トリビュート VRAM に データを 
書き込む時間差が原因で,色ずれが起こる 
ことがあるという問題もある。いろいろと 
制限を加えて高速化することは可能なのだ 
が,今回は多少のチラツキには目をつぶっ 
てもらいたい。 

あ,忘れるところだったけど,リスト1 
のサブルーチン INIT 700 の先頭には謎の0 
UT 命令が置かれている。これは, DOOOh 以 
降をテキスト VRAM にバンク切り換えする 
ための処置で,本来この処理なしにはテキ 
スト VRAM にアクセスできない。通常,す 
でにテキスト VRAM をアクセスできる状態 
になっている(はず)なので,わざわざダ 
メを押すまでもないのだけども,縁起もの 
ということで追加しておいた。 

〔色をっける: MZ .0/ 2200/2500編 

まず MZ - 2000/2200。残念なことに MZ -2 
000でのテキスト画面は全画面単位でしか 
•色を設定することができない。すでに話し 
てあるように I / O ポートの F 5 h にカラーコー 
ドを OUT することで',すべての文字の色が 
一斉に変わる。また,ポート F 4 h で画面の 
背景色を設定することもできる。この2つ 
のポートを操作して,リスト2では青地に 
白という設定にしてみた。 

ついでに画面モードの設定の仕方も話し 
ておく。 MZ - 2000では画面の横幅の40/80 
桁の切り換えを,ポート E 8 h の第5ビット 
で切り換える。このビットが0なら40文字, 
1なら80文字となる。ポート E 8 h はバンク 
切り換えとキー入力にも使われているので, 
ほかの機能の設定を変えてしまわないよう, 
一度ポートを読んで,ビット操作を行って 
からポートに書き戻さなければならないの 
はいつものとおりだ。 

続いて MZ - 2500。先に画面モードの設定 
から説明する。 MZ -2500 には画面モードが 
いろいろあるので,その制御を行うために 
キャラクタコントローラ LSI が使われてい 
る。この石は内部にいくつかのレジスタを 
持っており,そこにデータを設定すること 
で画面のモードを指定する。キャラクタコ 
ントローラは I / O ポートの F 4 h , F 5 h に割り 
付けられていて, F 4 h にキャラクタコント 
ローラの内部レジスタ番号を OUT してから, 
F 5 h にデータを送ると,そのレジスタに値 
がセットされる。なお,設定した値を読み 
出すことはできず, F 4 H , F 5 h から IN する 

60 Oh ! X 1989.1. 



図1 MZ - 2500キヤラクタコントローラ内部レジスタ0の詳細 

bit 7 bitO 


M L_ 


と,別の意味を持ったデータが返される。 

リスト3のサブルーチン INIT 2500では, 
キャラクタコントローラの 内部 レジスタの 
うち 〇〜9( うち 4,6は欠番)にデータをセ 
ットし, 40 X 25 行,8 色, 200 ライン,画面 
0 のみ表示の モードに している。 キャラク 
タコントローラの 内部 レジスタに 関しては 
參考文献 5) あたりを 参考にしてもらいたい 
のだが,ざあっと解説しておく。 

0 番の レジスタ はビットごと に図1 のよ 
うな意味を持つ。 ここで ほとんど画面 モー 
ドが決まる 0 リスト3 では 05 h に設定してい 
る。 1,2 番でテキスト VRAM の表示開始ア 
ドレスを 指定する 0 これを うまく使うと文 
字単位の ハードウエアスクロールを 行う こ 
とができる。あと, 3, 5, 7,8 番は表示範囲を 
指定するものだ。 BASIC - M 25 の CONSO 
LE @ に相当する。 リストでは 文献を参考に 
「標準的な値」に設定してある。 レジスタ9 
はスムーズスクロール用で,ここに〇〜7 の 
値をセットすることで表示位置をドット単 
位で指定する こ とができる 0 ゲームでは 関 
係ないので, リス ト中での設定値は 0 だ。 

ところで,上の説明のどこにも画面横幅 
の設定がないが,•これはポート E 8 h の第 5 ビ 
ットで行うようになっている。 MZ - 2000 と 
まったく同じだ。それから,ポート F 7 h の 
最下位ビットで 8 ライン/ 16 ラインのどちら 
のフオントを使用するかを切り換えること 
ができる。 0 なら 16 ライン, 1 なら 8 ライン 
だ。ゲームでは 8 ラインの PCG を使うので, 
1を設定している。 

さて, MZ - 2500 では 40 桁モード時,テキ 
スト2 画面を持つことが可能だ。この 2 画 
面を交互に表示することで,画面書き換え 
の様子を隠すことができる。たとえば,画 
面0を表示しながら,表示されていない画 
面1のほうの画面に仮想画面を転送し,転 
送が終わったら,画面1を表示するという 


〇…グラフィック256色•テキスト64色 

I .••グラフィック16色•テキスト8色 

0•••文字のバック透明 

I …哀字のバック黒 

00…64色モ ー ド時 

01…テキスト画面0表示 

10…テキスト画面丨表示 

I 卜••テキスト2画面重ね合わせ表示 

(40 桁モード時のみ有効) 

〇…25行モード 
I …20行モード. 

処理を繰り返すわけだ。 E 000 h 番地以降にテ 
キスト VRAM を割り付けたときには, E00 
Oh からが画面 0, E400h からが画面 1 に相当 
する。画面0と画面1の開始アドレスは 400 h 
ずれている= 2進数で考えると第10ビット 
(上位バイトの第2ビット)が0か1かの違 
いなので,•リスト 3 ではワーク PAGE に書 
き込む画面の先頭アドレスの上位バイトを 
格納しておき,それを A レジスタに取り出 
しては, 

XOR 40 H 

で,そのビットの0と1を反転するように 
している(注3)。そして,表示の切り換え 
は,さっき出てきたキャラクタコントロー 
ラのレジスタ0で設定すればよい。 

で, PCG だ。 PCG を表示する方法は見当 
がつ いている と思う。そう,アトリビュー 
卜 VRAM をそのように設定するだけだ。 
PCG しか使わないのであれば,初期設定時 
にアトリビュート VRAM を「それもんのデ 
ータ」で埋めておけばよい。リスト 3 でい 
うと 85 行あたりがそうだな。こうしておけ 
ば,テキスト VRAM へ PCG コードを書き 
込むだけで PCG の表示が行える。というわ 
けで,アトリビュート VRAM の初期設定デ 
ータを直すだけで,表示処理には手を加え 
る必要がない。残る問題は PCG の定義をす 
る部分だろう。リスト 3 の サブルーチン 
DEFCHR を見ながら以下を読んでもらい 
たい0 

MZ- 2500 での PCG 定義はメモリブロック 
の 39h にパターンを書き込むことで行う。メ 
モリブロック 39h は 400h バイトごとに 4 つの 
ブロックに分割されており,順に PCG0 〜 
3 に対応している。 8 色の PCG はこのうち 
PCG 1 〜 3 を重ね合わせることで実現され 
る。それぞれが青•赤•緑に対応するわけ 
だ。これらのブロックはさらに8バイトご 
とに区切られ,先頭から PCG コード 00 h 〜 



















FFh のノヽ°夕ーンを格納するための領域とな 
っている。 「 PCGn の PCG コード m 」 に対応 
するパターン格納領域オフセットアドレス 
(メモリブロック 39 h の先頭からの相対アド 

レス)は, 

nx 400Hi+m X 8 

で求めることができるだろう。ここまでわ 
かればメモリブロック 39 h をメインメモリに 
割り付けて(注4),パターンをバシバシと 
書き込んでやれば PCG の定義ができる。 

リスト3ではラベル PCGPAT で示され 
る行以下に PCG コード 80 h 〜 FFh に対応す 
るパターンが青•赤.緑の順で並んでいる 
ものとして,128個の8色 PCG を定義して 
いる。いまのところ128個もの PCG は使っ 
ていない力 5 ',将来キャラクタの種類を増や 
すことなどを考えて,一応これだけの数を 
定義できるようにしておいた。 

リスト3の230行以降に,サンプルとして 
用意した PCG データとキャラクタとの対応 
が書いてあるから,適当にパターンを差し 
替えて遊んでもらいたい。 

注 3) EOH XOR 04 H = E 4 H , E 4 H XOR 04 H = E 0 
H , というように XOR は任意のビットの交互反 
転に利用することができる。 

注 4) テキスト VRAM (メモリブロック 38h) を 
メモリに割り付けたときのことを思い出してほ 
しい。同じような処理だね。 

<色をつける: X 1/ X 1 turbo 編 

やはり画面モードの設定について先に話 
しておく。 XI での画面設定は CRT コント 
ローラ LSI ( CRTC ) を制御することで行う。 
この CRTC 内部のレジスタに値をセットす 
ることで画面の表示状態が設定される。内 
部レジスタには〇〜17 (うち10,11と14以降 
は XI では使用されていない)までの番号が 
付いており, I / O ポートの180 Oh 番地にレ 
ジスタ番号を OUT してから,データをポ 
一卜180 1 H に OUT して設定を行う。 

リスト4のサブルーチン INIT では CRT 
C の内部レジスタ0〜13にデータの設定を 
行っている。ここで使われている OUTI と 
いう命令は LDI の OUT 版で, 

DEC B 

OUT ( C ),( HL ) 

INC HL 

に相当する処理を1命令で行うものだ。チ 
エックしておかなければならないのは , B 
レジスタをデクリメントしてから OUT 動 
作が行われることで, XI のように BC レジ 
スタで間接的に I / O アドレスを指定する場 
合には,サバを読んで B をひとつ大きくし 
ておかないととんでもないことになる。0 



UTI のために,どれだけの XI ユーザーが 
苦杯をなめさせられたことだろう。先達の 
苦労を無駄にしてはいけない! 

さて, CRTC に関しては参考文献 4) を見 
てもらったほうが早いし,よ〈わかると思 
う,と逃げて,ここでは詳しい角?説はしな 
い0ただ,レジスタ12,13で VRAM の表示 
開始アドレスを指定することだけは覚えて 
おいてもらおう。レジスタ12が上位,13が 
下位バイトだ。表示開始アドレスを 000 Oh 
にすれば画面0, 040 Oh を指定すれば画面1 
が表示される。これは例によって,「チラツ 
キ隠しの2画面切り換え」で利用する。こ 
のあたりに関しては MZ のところの説明と, 
リスト4の154行以降を見てもらいたい。 

PCG の表示に関しても, MZ - 2500のとこ 
ろで話したように,アトリビュート VRAM 
を設定しておくだけの話なので,説明する 
ことはなにもない。地獄を見るのは PCG 定 
義を行う部分だ。 XI の PCG 定義はと一っ 
てもめんどくさい。めんどくさいと言った 
らめんどくさい。説明せずに逃げたい気分 
なんだが,とりあえず誠意のかけらを見せ 
て,大雑把に話してみる。が,以下の説明 
は十分なものではないので,で一っと読み 
流してから,参考文献 4) で補ってもらいた 

い0 

まずブラウン管 ( CRT ) の表示原理を思 
い出してほしい。左上から順にビームを蛍 
光面に当てて光らせていき(走査して),右 
端までいったら左に戻って,1ライン下を 
同じように走査する。そして,右下までい 
ったら1画面の表示が終わったことになる 
ので,左上に戻って,同じことを繰り返す。 

次にテキスト VRAM の構造を思い出し 
てほしい。テキスト VRAM には文字コー 
ドとアトリビュートが書き込まれているわ 
けだ。メモリに単なる数字が書き込まれて 
いるだけなのに,画面には文字パターンが 
表示されるのはなぜかといえば, CRTC 力 5 ' 
VRAM を調べて,対応する文字フォント 
が格納されている CGROM 上のアドレスを 
計算し,そこからパターンを読み出してく 
れているお陰だ。ここで,アトリビュート 
が PCG に指定されていれば, ROM の代わ 
りに PCG ハ。ターンが格納ざれている RAM 
からパターンを取り出してくる。この CGR 
OM ないし CGRAM に CPU から直接アクセ 
スできれば,パターンの読み出しや PCG 定 
義が行える理屈だが, XI では CGROM/R 
AM のありかは CRTC しか知らない。 

ではどうやって PCG の定義を行うかと言 
うと, 「 CRTC 力 ? 表示しようと思、って CGR 
AM 上のアドレスを計算したときに,横か 


ら割り込んでそのアドレスにパターンを書 
き込んでしまう(この表現にはあまり自信 
がない)」という方法が取られている。た 
だし,メモリに対して読むことと書くこと 
を同時に行うことはできない(できるよう 
に作られたメモリはある)という問題があ 
るので,話はさらにややこしくなる。 

ここでブラウン管に話を戻すと,1ライ 
ン走査して次のラインの頭に戻ろうとして 
いるとき(水平帰線期間)と,下まで走査し 
て上に戻るとき(垂直帰線期間)にはなにも 
表示されていない = CRTC は文字パターン 
に アクセスしていない ことがわかり,この 
瞬間になら PCG が定義できるのではないか 
と予想される。 

ひとまず水平帰線期間は忘れてもらって, 
垂直帰線期間に話を絞る。いま垂直帰線期 
間に入ったとする。 CRTC は文字パターン 
を読み出すのをしばらく休んでも構わない 
はずだ。ところが,律儀な CRTC はまだ V 
RAM を読んでは文字パターンを読み出そう 
とする。ディスプレイに表示されるテキス 
卜画面は最大で 80 X 25 = 2000文字なのに対 
してテキスト VRAM は2048バイトあるが, 
CRTC はこの「表示されていないテキスト 
VRAM 」 も調べて文字パターンのアドレス 
を計算し,文字パターンを読み出そうとす 
る。この「表示はされないが CRTC がアク 
セスする VRAMj は画面横幅や表示開始ア 
ドレスによっても異なるが,40桁モードで 
ページ0を表示しているときには 33 E 8 h 〜3 
3 FFh がそうだ。 

それで, XI ではこの瞬間にだけ PCG の 
定義ができることになっている。たぶん, 

この期間には CRTC が文字パターンを格納 
した CGROM / RAM にアクセスしようとし 
てもできないような細工がしてあるのだろ 
う(と僕は勝手に解釈している)。それでも 
CRTC はフォントパターンの格納されてい 
るアドレスを計算するだけするから,この 
アドレスを横取りして,そのメモリに PCG 
パターンを書き込めば, PCG の定義ができ 
ることになる。 

40桁ページ0表示に限定して話をまとめ 
ると,テキスト VRAM の 33 E 8 h 以降を「定 
義したい PCG コード」で埋めて(アトリビ 
ュートも PCG 表示にしてぉく),垂直帰線期 
間を待ち,パターンを送ってやれは TCG が 
定義される(実はこの先もまだまだひと筋 
縄ではいかないんだが)。 

と,こんな感じの処理を行っているのが 
リスト4の サブルーチン DEFCHR だ 。 M 
Z -2500 と同様 80 h 〜 FFh までの128個の PCG 
を定義している。 PCG 定義の本体は32行以 


Z 80 マシン語ゲームエ房 





下の下請けサブルーチンで行っている。こ 
こでは青8バイト•赤8バイト•緑8バイ 
卜の順に並んでいる PCG パターンデータを 

緑•赤•青•緑•赤 . というように1バ 

イトごとに並べ換えてから,俗に言う3倍 
速定義とかいうャツでもって,1垂直帰線 
期間に1個の割合で PCG 定義している。 

氺 氺 

今月追加した処理は以上だ。これ以外に 
も 細かな部分が改良.修正され ている力 5 ', 
リストの注釈を見て納得しても らいたい。 
特に ジャンプテーブルとい う手法に ついて 
のみ囲み記事で解説しておく。59 ページを 


参照、してほしい。 

次回は,この連載の最終回ということで, 
自機の当たり判定とか,敵キャラの爆発と 
いったやり残した部分を拾い集めて,つい 
でに, ジョイスティックは ど一したとか, 
MZ -1500 の PCG が泣いてるぞとか,敵キヤ 
ラが2種類だけ? といった声にも応えて 
みたいと考えている。 

最後になったが,リスト中の自機と敵キ 
ヤラ2種類の PCG パターンは,多数 (?) の 
応募のなかから選ばれた,鈴木哲也さんの 
ものを使わせてもらった。ひとつも応募が 
来なければ,危うく真っ赤な四角の自機に 


真っ青な四角の敵が襲いかかるところだっ 
たが,一応格好がついてホッとしている。 
めでたくキヤラクタパターンの入選となっ 
た鈴木さんには「その筋キーホルダ ー 」を 
お送りしたい。 

では,今月のリストをよく 「読んで」お 
〈ことを宿題としつつ,来月の最終 N へと 
続く。 

く参考文献〉 

1) MZ -700 オーナー ズ マニュアル,シャープ 

2) MZ - 2000オーナー ズ マニュアル,シャープ 

3) MZ - 2500オーナー ズ マニュアル,シャープ 

4) 祝一平:試験に出る XI , 日本ソフトバンク 

5) MZ - 2500テクニカルマニュアル,工学社 


リスト1 MZ -700/1500 用 


1 

2 

3 

4 

5 

6 

7 

8 
9 

10 

11 

12 

13 

14 

15 

16 

17 

18 

19 

20 
21 
22 

23 

24 

25 

26 

27 

28 

29 

30 

31 

32 

33 

34 

35 

36 

37 

38 

39 

40 

41 

42 

43 

44 

45 

46 

47 

48 

49 

50 

51 

52 


55 

56 

57 

58 

59 

60 
61 
62 

63 

64 

65 

66 

67 

68 

69 

70 

71 

72 

73 

74 

75 

76 

77 

78 

79 

80 
81 
82 
83 


機種依存部 


MZ-700 ハ 500 用 


CALL 

JP 


INIT700 

MAIN 


画面の初期化 


OUT 

LD 

LD 

LD 

LD 

LDIR 

LD 

LD 

LDIR 

RET 


(0E3H),A 
HL,0D000H 
DE.0D001H 
BC,08e0H 
(HL),SPCHR 

BC.0800H-1 
(HL),40H 


; ソースがでかくなったから 


;画面の初期化 
; メインルーチン “ 


念のため VRAM へバンク切り換え 
テキスト VRAM を 
スペースのキャラクタで 
埋める 


アトリビュート VRAM を 
黑にセット 


仮想 VRAM- 〉 実 VRAM 転送 
< VRAM は D000H 以 _) 


DISP: 

LD 

HL,4*48+4+VRAMMODOKI 



;HL= 仮想 VRAM(4,4 ) のアドレス 


LD 

DE,0D000H 

;D= 実 VRAM(0,0 ) アドレス 


CALL 

DISP00 

; テキスト VRAM への書き込み 


LD 

HL,4*48+4+AVRAMMODOKI 



;HL= 仮想 AVRAM{4,4> のアドレス 


LD 

DE.0D800H 

;D= 実 AVRAM(0,0 > アドレス 

Dispee : 

EXX 




LD 

B,24 

:画面縦サイズ 

DISP0 : 

EXX 




LD 

BC.40 

; 実_面横サイズ 


LDIR 


: 横 40 文字分ブロック転送 


LD 

A,8 

; HL=HL+A 


ADD 

A,L 



LD 

JR 

L,A 

NC,DISPl 



INC 

H 


DISPl : 

EXX 

DJNZ 

RET 

D*ISP0 

;縦サイズ分繰り返す 


キー 

入力 


INKEY700: 



INKEY : 

LD 

HL,0B001H 



LD 

A,80H 

A=1000_0000B 


LD 

(0E000H),A 

キーストローブ 0 


LD 

C,(HL) 

C= キーデータ 0 


ADD 

A,6 

A=1000_0110B 


LD 

LD 

(0E000H),A 

キーストロー ブ 6 


D,(HL) 

D= キーデータ 6 


INC 

A 

A=1000 0111B 


LD 

(0E000H),A 

キーストローブ 7 


LD 

E,(HL) 

E= キーデータ 7 


LD 

A.0FFH 

A = キー入力無し 


BIT 

6,C 

GRAPH キー? 


JR 

NZ.KEYl 

そうでなければスキップ 


AND 

0BFH 

bi t6 をリセット 

KEY1 : 

BIT 

4,D 

スペースキー? 


JR 

NZ.KEY2 

そうでなければスキップ 


AND 

0DFH 

bit5 をリセット 

KEY2 : 

RR 

E 

2 ビットはゴミ 


RR 

E 



LD 

HL.CNVTBL 

HL = 変換テーブル先頭 


LD 

B,4 

以下のループで 

KEY 3 : 

RR 

カーソルキーが 


JR 

AND 

C.KEY4 

(HL) 

抨されているかどうかを 
順に綱べて 

KEY4 : 

INC 

HL 

対応するビットを 


DJNZ 

RET 

KKY3 

リセットする 


キー 

入カデータ変換テーブル 


84 

C 

3NVTBL : 

DEFB 

0FBH 

カーソル左 

85 



DEFB 

0F7H 

カーソル右 

86 



DEFB 

0FDH 

カーソル下 

87 



DEFB 

0FEH 

カーソル上 

88 






89 






90 



背景展開 処理本体 


91 




MZ-700 では共通部の EXMAP0 に代わって、 

92 




以下のサブルーチンを使う 

93 






94 

EXMAP0 : 

LD 

DE,(HOME) 

DE= 仮想 VRAM 上の HOME 位置 アドレス 

95 



EXX 



96 



LD 

HL,(MAPPNT) 

HL» = マップデータポインタ 

97 



LD 

C, 11 

<^ =横方向サイズ 

98 

EXMAP1 : 

LD 

B f 6 

B’ = « 方向サイズ 

99 

EXMAP2 : 

LD 

A f (HL) 

A = マップコード 

100 



INC 

HL 

ボインダを進める 

101 



EXX 



102 



LD 

LD 

L,A 

HL = 背录コード 

103 



H 9 0 


104 



ADD 

hl 9 hl 

HL=HLx4x4x2 

105 



ADD 

hl 9 hl 


106 



ADD 

HL t HL 


107 



ADD 

HL f HL 


108 



ADD 

HL f HL 


109 



LD 

BC f BPAT0 

BC = 背景パターン先頭 

110 



ADD 

HL 9 BC 

HL = 背聚コードに対応する 

111 





W 录パターンアドレス 

112 



PUSH 

DE 

表示アドレスを 待避 

113 



CALL 

EXMAP7 

仮想 テキスト VRAM へ耆き込む 

114 



EX 

DE 9 HL 

待避した 表示アドレスを 復掃し 

115 



EX 

LD 

(SP),HL 

同時に次の表示アドレスを 待避 

116 



BC f 48^32 

DE=DE+48*32 

117 



ADD 

HL t BC 


118 



EX 

DE V HL 


119 



CALL 

EXMAP7 

仮想 アトリビュート VRAM へ 

120 



POP 

DE 

次の表示アドレスを 復掃 

121 



EXX 



122 



DJNZ 

KXMAP2 

縦サイズ分繰り返す 

123 



EXX 



124 



LD 

HL,-1148 

HL=-48x6+4 

125 



ADD 

HL f DE 

DE が次の列を指すように 

126 



EX 

DK t HL 

補正する 

127 



EXX 



128 



DEC 

C 

横サイズ分磉り返す 

129 



JP 

NZ,EXMAP1 


130 



RET 



131 






132 

EXMAP7 : 




133 



LD 

A,4 

A = パターン縦サイズ 

134 

EXMAP8 : 

LDI 


横 1 ライン害き込み 

135 



LDI 



136 



LDI 



137 



LDI 



138 



EX 

LD 

DE f HL 

DE が下のラインを 

139 



BC,44 

指すようにする 

140 



ADD 

HL,BC 


141 



EX 

DE,HL 


142 



DEC 

A 

4 囬繰り返す 

143 



JP 

NZ,EXMAP8 


144 



RBT 



145 






146 






147 



キャラ 

クタコード 


148 






149 

MSPAT 1: 

DEFB 

05AH,04DH,043H > 043H :自機 

150 



DEFB 

051H,051H , 061H,061H 

151 

CPATA : 

DEFB 

04EH,04DH,042H,056H ; 敵タイプ A 

152 



DEFB 

001H,021H,021H,001H 

153 

CPATB : 

DEFB 

0FEH, 0FDH, 0FBH, 0F7H •• 敵タイプ B 

154 



DEFB 

061H,061H,061H,061H 

155 






156 

SPCHR 

BQU 

00H 

空白の文字コード 

157 

SPATR 

EQU 

00H 

空白のアトリビュート 

158 

MMSLCHR 

EQU 

0E3H 

自彌の文字コード 

159 

MMSLATR 

EQU 

71H 

自齊のアトリビュート 

160 

EMSLCHR 

EQU 

47H 

敵弾の文字コード 

161 

EMSLATR 

EQU 

21H 

敵薄のアトリビュート 

162 






163 




164 






165 



背最キ 

ャラクタコード 



166 


62 Oh ! X 1989.1. 
























167 BPAT0 : 

168 

169 

170 

171 BPATI 

172 

173 

174 

175 BPAT2 : 

176 

177 

178 

179 BPAT3 : 


DEFB 

DEFB 

DEFB 

DEFB 

DEFB 

DEFB 

DEFB 

DEFB 

DEFB 

DEFB 

DEFB 

DEFB 

DEFB 


072H.070H, 
071H.000H, 
001H.001H, 
001H.001H, 
072H.070H, 
071H.000H, 
001H.001H, 
001H.001H, 
071H.000H, 
072H,070H, 
001H,001H, 
001H,001H, 
071H.000H, 


070H,070H.071H, 
000H,000H,071H, 
001H,001H,001H, 
001H,001H,001H, 
070H,070H,071H, 
05BH,000H,071H, 
001H,001H,001H, 
001H,001H,001H, 
000H,000H,071H, 
070H,070H,071H, 
001H,001H,001H, 
001H,001H,001H, 
05BH,000H,071H, 


000H.000H.000H 
000H, 刪 H,000H 
001H,001H,001H 
001H,001H,001H 
000H,000H,000H 
000H,000H,000H 
001H,001H,001H 
001H,001H,001H 
000H,000H,000H 
000H,000H,000H 
001H,001H,001H 
001H,001H,001H 
000H,000H,000H 


180 


DEFB 

181 


DEFB 

182 


DEFB 

183 

BPAT4 : 

DEFB 

184 


DEFB 

185 


DEFB 

186 


DEFB 

187 

BPAT5: 

DEFB 

188 


DEFB 

189 


DEFB 

190 


DEFB 

191 

192 

*» 



072H,070H,070H 
001H,001H,001H 
001H,001H,001H 
071H,000H,000H 
0F7H,0FBH,0F7H 
001H,001H,001H 
026H.026H,026H 
0F7H,0FBH,0F7H 
0F7H,0FBH,0F7H 
026H,026H,026H 
026H,026H,026H 


,070H,071H, 
.001H.001H, 
,001H,001H, 
.000H.071H, 
,0FBH,0FDH, 
,001H,001H, 
,026H,026H, 
,0FBH f 0FDH, 
,0FBH,0FDH, 
,026H,026H, 
026H.026H, 


000H 

001H 

001H 

000H 

0FEH 

001H 

026H 

0FEH 

0FEH 

026H 

026H 


000H.000H 
001H,001H 
001H.001H 
000H.000H 
0FDH,0FEH 
001H.001H 
,026H,026H 
,0FDH,0FEH 
,0FDH,0FEH 
,026H,026H 
026H.026H 


リスト 2 MZ - 2000 /2200 用 


1 
2 

3 

4 

5 

6 ; 

7 START : 

8 
9 

10 
11 
12 

13 

14 

15 

16 

17 

18 

19 

20 
21 
22 

23 

24 

25 

26 

27 

28 

29 

30 

31 

32 

33 

34 

35 INIT2000: 


機種依存部 


MZ-2000/2200 用 


ORG 

CALL 

CALL 

CALL 

CALL 

XOR 

OUT 

RET 


04E00H 

VOPEN2000 

INIT2000 

MAIN 

VCLOSE2000 

A 

(0F4H),A 


•ブン 


VOPEN2000 : 

DI 


IN A,(0E8H) 

OR 0C0H 

OUT (0E8H),A 

RBT 


VRAM クローズ 


VCLOSE2000 : 

IN 

AND 

OUT 

El 

RET 


A,(0E8H) 
07FH 
(0E8H),A 


; ソースがでかくなったから 

: VRAM 才ーブン 
:画面の初期化 
;メインルーチンへ 
; VRAM クローズ 
:背景色を 
; 馬に戻す 


;割り込みを禁止 
: PIO ボート A から入力して 
;第 6,7 ビットをセツトして 
;出力し直す 


;PIO ボート A から入力して 
; 第 7 ビットをリセットして 
: 出力し®す 
:割り込みを許可 


B 面の初期化 


36 

IN 

A,(0E8H) 

40 桁モ 

ード 

37 

AND 

0DFH 



38 

OUT 

(0B8H),A 



39 

LD 

HL.0D000H 

テキス 

卜 VRAM を 

40 

LD 

DE,0D0eiH 

スぺ - 

スのキャラクタで 

41 

LD 

BC r 0800H-l 

埋める 


42 

LD 

(HL).SPCHR 



43 

LDIR 




44 

LD 

A,1 

W 景色 

を 

45 

OUT 

(0F4H),A 

爾に 

する 

46 

LD 

A,7 

文字色 

を 

47 

OUT 

(0F5H),A 

白に 

する 


48 

49 

50 

51 

52 

53 DISP2000: 

54 DISP : LD 

55 

56 

57 

58 

59 DISP0 : 

60 
61 
62 

63 

64 

65 

66 

67 DISP1 : 

68 

69 

70 

71 

72 

73 

74 

75 


仮想 VRAM- 〉 実 VRAM 転送 
(VRAM は D000H 以降に割り付けられ - 


い る) 


LD 

EXX 

LD 

EXX 

LD 

LDIR 

LD 

ADD 


HL,4»48+4 +VRAMMODOKI 

;HL= 仮想 VRAM<4,4> のアドレス 
; 〇 £= 実ソ 11 八鬥( 0,0 )アドレス 


LD 

JR 


INC 

EXX 

DJNZ 

RET 


DE,0D000H 

B,24 

BC,40 

A,8 
A,L 
L,A 

NC.DISP1 

H 

DISP0 


画面級サイズ 

実爾面槇サイズ 

横 40 文字分ブロック転送 

HL=HL+A 


縦サイズ分衊り返す 


76 INKEY : 

77 

78 

79 

80 
81 
82 

83 

84 

85 

86 

87 

88 

89 

90 

91 

92 

93 

94 

95 

96 KEY1 : 

97 

98 

99 KEY2 : 
100 

101 

102 KEY3 : 

103 

104 

105 KEY4 : 

106 KBY5 : 

107 

108 

109 KEY6 : 

110 
111 
112 

113 

114 


LD 

IN 

AND 

OR 

OUT 

INC 

IN 

OUT 

INC 

IN 

OUT 

ADD 

IN 

OUT 

IN 

LD 

LD 

RR 

JR 

AND 

BIT 

JR 

AND 

BIT 

JR 

AND 

BIT 

JR 

AND 

LD 

RL 

JR 

AND 

INC 

DJNZ 

RBT 


C. 0KAH 

A, (0E8H) 
0E0H 
11H 

(0B8H),A 
A 

B, (C) 
(0E8H),A 
A 

D, (C) 
(0B8H),A 

A, 8 

B, (C) 
(0E8H),A 

C, (C) 
HL.CNVTBL 

A, 0FFH 
C 

C.KEYl 

0BFH 

1, B 

NZ.KEY2 

0DFH 

2, E 

NZ.KBY3 

0FEH 

3, B 

NZ.KEY4 

0F6H 

B, 7 

C, KEY6 
(HL) 

HL 
KEY 5 


C=PIO ボート B アドレス 
PIO ボート A から A に入力 
下位 5 ビットをリセット 
A=XXX1_0001B 
キーストローブ 1 
A=XXX1 0010B 
B= キーデータ 1 
キーストローブ 2 
A=XXX1_0011B 
D= キーデータ 2 
キーストロー ブ 3 
A=XXX1 1011B 
キーデータ 3 
キーストローブ 11 
C= キーデータ 11 
HL= 変換テーブル先頭 
A = キー入力無し 
GRAPH キー? 

そうでなければスキップ 
bit6 をリセット 
スペースキー? 
そうでなければスキッブ 
bit5 をリセット 
* 8 * ? 

そうでなければスキップ 
bit0 をリセット 
•9* ? 

そうでなければスキップ 
bit0,3 をリセット 
以下のループで 

,レ〜1,のキーが 
Jf されているかどうかを 
順に_ベて 
対応するビットを 
リセットする 


キー入カデータ変換テーブル 


115 CNVTBL : 

DEFB 

0FAH ; »7» 

116 

DEFB 

0F7H ; '6» 

117 

DEFB 

0FFH ;*5* 

118 

DEFB 

0FBH ; '4* 

119 

DEFB 

0F5H ; , 3, 

120 

DEFB 

0FDH ;»2 f 

121 

DEFB 

0F9H ;* 1» 


122 

123 

124 

125 

126 MSPAT 1: 

127 CPATA: 

128 CPATB : 

129 ; 

130 SPCHR 

131 MMSLCHR 

132 EMSLCHR 

133 

134 

135 

136 


キャラクタコード 

DEFB 1EH.5CH,1FH,1FH ;自機 

DEFB 85H,85H,85H, 85H : 敵タイブ A 

DEFB 86H,86H,86H,86H : 敵タイブ B 


EQU 20H 
EQU 83H 
EQU 93H 


:空白の文字コード 
••自獰の文字コード 
;敵縣の文字コード 


キー入力 
INKBY2000 : 


148 

149 



背景 ^ 

BPAT0 : 

DEFB 

DEFB 

BPAT1 : 

DEFB 

DEFB 

BPAT2: 

DEFB 

DEFB 

BPAT3 : 

DEFB 

DEFB 

BPAT4 : 

DEFB 

DEFB 

BPAT5 : 

DEFB 

; 

DEFB 


背景キャラクタコード 


08EH,090H,090H,090H,09AH,03AH,03AH,03AH 
09AH,03AH,03AH,03AH,09AH,03AH,03AH,03AH 
08EH,090H,090H,090H,09AH,03AH,03AH,03AH 
09AH,03AH,03DH,03AH,09AH,03AH,03AH,03AH 
09AH,03AH,03AH,03AH,09AH,03AH,03AH,03AH 
08EH,090H,090H,090H,09AH,03AH,03AH,03AH 
09AH,03AH,03DH,03AH,09AH,03AH,03AH,03AH 
08EH,090H,090H,090H,09AH,03AH,03AH,03AH 
09AH,03AH,03AH,03AH,09AH,03AH,03AH,03AH 
0DBH,0DBH,0DBH,0DBH,0DBH,0DBH,0DBH,0DBH 
0DBH,0DBH,0DBH,0DBH,0DBH,0DBH,0DBH,0DBH 
0DBH,0DBH,0DBH,0DBH,0DBH,0DBH,0DBH,0DBH 


リスト 3 MZ - 2500用 


機種依存部 


MZ-2500 用 


DI 

LD 


•スがでかくなつたから 


A,07H 
(0B4H),A 


:削り込みを禁止 

• ,論理バンク 07H をセレクト 


10 

IN 

LD 

A,(0B5H) 

11 

(OLDMB),A 

12 

CALL 

DEFCHR 

13 

CALL 

VOPEN2500 

14 

CALL 

INIT2500 

15 

CALL 

MAIN 

16 

CALL 

VCLOSE2500 

17 

El 


18 

RET 



る 

け す 
付 戻 
るりに 
い避割 元 

て待に を 
れをクへグ 
ら N0 ンンン可 
けクバ化チビ許 
付ヅ I 理期 I ッを 
〇 口 til 論初ルマみ 
割ブバをのンリ込 
在璦 G<7-AM 面ィモ D 
現物 PC VRB メメ 割 


Z 80 マシン語ゲーム エ房 

























19 






131 

20 


VRAM 才 - 

ブン 



132 

21 






133 

22 

VOPEN2500 : 




134 

23 


LD 

A,07H 

論理バンク 07H をセレクト 


135 

24 


OUT 

(0B4H),A 



136 

25 


LD 

A, 38H 

そこにテキスト VRAM を 


137 

26 


OUT 

(0B5H),A 

削り付ける 


138 

27 


RET 




139 

28 






140 

29 


VRAM ク ロ 

ーズ 



141 

30 






142 

31 

VCLOSE2500 : 




143 

32 


LD 

A,07H 

論理バンク 07H をセレクト 


144 

33 


OUT 

(0B4H),A 



145 

34 


LD 

A,(OLDMB) 

保存してあつた MB 番号を取り出し 

146 

35 


OUT 

(0B5H),A 

論理バンクに割り付ける 


147 

36 


RET 




148 

37 

; 





149 

38 

OLDMB : 

DEFS 

1 i 

; 物理ブロック N0 待避用ワー 

ク 

150 

39 






151 

40 


PCG 定義 




152 

41 






153 

42 

DBFCHR : 

LD 

A,07H 

諭理 バンク 07H をセレクト 


154 

43 


OUT 

(0B4H),A 



155 

44 


LD 

A,39H 

そこに PCGRAM を割〇付ける 


156 

45 


OUT 

(0B5H),A 



157 

46 


LD 

LD 

HL.PCGPAT 

HL=PCG パターン青 


158 

47 


DE,0EC00H 

DE=PCG 青 ( 80H ) 


159 

48 


CALL 

SETCHR 

1 色分セット 


160 

49 


LD 

LD 

HL,PCGPAT+8 

HL=PCG バターン赤 

DE=PCG 赤 ( 80H ) 


161 

50 


DE.0F400H 


162 

51 


CALL 

SETCHR 

1 色分セット 


163 

52 


LD 

HL.PCGPAT+16 

HL=PCG 緣 


164 

53 


LD 

DE,0FC00H 

DE=PCG 緣 ( 80H ) 


165 

54 

SETCHR : 

LD 

B,64 

64 個の PCG を定義する 


166 

55 

STCHR0 : 

PUSH 

BC 

ループカウンタを待避する 


167 

56 


LD 

BC,8 

パターンサイズは 8 バイト 


168 

57 


LDIR 


ブロック転送 


169 

58 


LD 

0,16 

他 2 色のパターンを 


170 

59 


ADD 

HL.BC 

スキップする 


171 

60 


POP 

BC 

ループカウンタ愎播 


172 

61 


DJNZ 

STCHR0 

64 回鑤り返す 


173 

62 


RET 




174 

63 






175 

64 


画面の初期化 



176 

65 






177 

66 

INIT2500 : 




178 

67 


LD 

A,1 

200 ラインモード 


179 

68 


OUT 

(0F7H),A 



180 

69 


IN 

A, (0E8H) 

40 桁モード 


181 

70 


AND 

0DFH 



182 

71 


OUT 

(0E8H),A 



183 

72 


LD 

C,0F5H 

C=CRTC データ出カボート 


184 

73 


LD 

HL,CRTCDAT 

CRTC 初期 データ 


185 

74 


LD 

B,8 

B = ループカウンタ 


186 

75 

INILP : 

LD 

A,(HL) 

A=CRTC レジスタ番号 


187 

76 


INC 

HL 



188 

77 


OUT 

(0F4H),A 

CRTC レジスタセレクト 


189 

78 


OUT I 


データ出力 


190 

79 


JR 

NZ,INILP 

B が 0 になるまで雄り返す 


191 

80 


LD 

HL.0E00OH 

テキスト VRAM1 を 


192 

81 


LD 

DE I 0E001H 

BC.0800H 

スペースのキャラクタで 


193 

82 


LD 

埋める 


194 

83 


LD 

(HL),SPCHR 



195 

84 


LDIR 




196 

85 


LD 

LD 

BC,0800H 

アトリビュート VRAM を 


197 

86 


(HL),0FH 

8 色 PCG にセット 


198 

87 


LDIR 




199 

88 


LD 

LD 

BC.0800H-1 

テキスト VRAM2 を 


200 

89 


(HL),0 

0 で埋める 


201 

90 


LDIR 




202 

91 


RET 




203 

92 






204 

93 


CRTC 初期設定 データ 



205 

94 






206 

95 

CRTCDAT : 




207 

96 


DEFB 

0.05H 

表示ページ 0,16 色モード 


208 

97 


DEFB 

1,00H 

表示 関始 アドレス L 


209 

98 


DEFB 

2,00H 

H 


210 

99 


DEFB 

3,26 H 

表示 開始 ライン 


211 

100 


DEFB 

5,0FEH 

表示 終了 ライン 


212 

101 


DEFB 

7 , 0 AH 

表示 開始桁 


213 

102 


DEFB 

8,5AH 

表示 終了 桁 


214 

103 


DEFB 

9.00H 

スムーススク a — ル用 


215 

104 





216 

105 


仮想 VRAM- 〉 実 VRAM 転送 



217 

106 


(VRAM は E000H 以降に拥り付けられている) 


218 

107 






219 

108 

DISP2500 : 




220 

109 

DISP : 

LD 

HL,4*48+4 + VRAMMODOKI 


221 

110 




HL= 仮想 VRAM<4,4> のアドレ 

ス 

222 

111 


LD 

A,(PAGE) 

アクティブページを 


223 

112 


XOR 

04H 

切り換えて 


224 

113 


LD 

(PAGE) t A 

ワークにセット 


225 

114 

115 


LD 

LD 

D,A 

E t 0 

DE= 実 VRAM(0,0 > アドレス 


226 

227 

116 


EXX 




228 

117 


LD 

B,24 

麵面縦 サイズ 


229 

118 

DISP0: 

EXX 



230 

119 


LD 

BC,40 

画面 槇 サイズ 


231 

120 


LDIR 


横 40 文字分ブロック転送 


232 

121 


LD 

A,8 

HL=HL+8 


233 

122 


ADD 

A,L 



234 

123 


LD 

JR 

L,A 



235 

124 


NC,DISP1 



236 

125 


INC 

H 



237 

126 

DISP1 : 

EXX 




238 

127 

128 


DJNZ 

LD 

LD 

DISP0 

A,(PAGE) 

縦サイズ分繰り返す 


239 

240 

129 


A,(CRTCDAT+1) 

表示ページを 


241 

130 


XOR 

0CH 

切り換える用意をして 


242 


LD 

LD 

XOR 

OUT 

LD 

OUT 

RET 


DEFB 


(CRTCDAT+1),A 
C,A. 

(0F4H),A 
A,C 

(0F5H) f A 


ワークにセツト 

待避 

表示ページを切り換える 


キー入力 


LD 

IN 

AND 

OR 

OUT 

INC 

IN 

OUT 

INC 

IN 

OUT 

ADD 

IN 

OUT 

IN 

LD 

LD 

BIT 

JR 

AND 

BIT 

JR 

AND 

BIT 

JR 

AND 

BIT 

JR 

AND 

LD 

RL 

JR 

AND 

INC 

DJNZ 

RET 


C, 0EAH 
A,(0E8H) 
0K0H 
11H 

(0E8H) 9 A 
A 

E, (C) 
(0E8H),A 
A 

D, (C) 
(0E8H) 9 A 
A,7 

B f (C) 
(0E8H) y A 
C,(C) 
HL f CNVTBL 

A, 0FFH 
5 f C 

NZ,KEY1 

0BFH 

1, B 

NZ,KEY2 

0DFH 

2, E 

NZ f KEY3 

0FEH 

3 f E 

NZ,KEY4 

0F6H 

B, 7 
D 

C # KEY6 

(HL) 

HL 
KEY 5 


C=PIO ボート B アドレス 
PIO ボート A から A に入力 
下位 5 ビットをリセット 
A=XXX1_0001B 
キーストローブ 1 
A=XXX1_0010B 
E= キーデータ 1 
キーストローブ 2 
A=XXX1 一 0011B 
D= キーデータ 2 
キーストロー ブ 3 
A=XXX1_1010B 
B= キー データ 3 
キーストローブ 10 
C ニキーデータ 10 
HL = 変換テーブル先頭 
A= キー入力無し 
ESC キー? 

そうでなければスキッブ 
bit6 をリセット 
スペースキー? 
そうでなければスキップ 
bit5 をリセット 
,8, ? 

そうでなければスキップ 
bite をリセット 
* 9 * ? 

そうでなければスキップ 
bit0, 3 ^リセット 
以下のループで 

, 1’ 〜 1 ,のキーが 
押されているかどうかを 
順に調べて 
対応するビットを 
リセツトする 


キー入カデータ 変換 テーブル 


CNVTBL : DEFB 

0FAH 

*7* 

DEFB 

0F7H 

•6* 

DEFB 

0FFH 


DEFB 

0FBH 

» 4 » 

DEFB 

0F5H 

•3' 

DEFB 

0FDH 


DEFB 

0F9H 


; キャラ 

クタコード 



MSPAT 1: DEFB 
CPATA : DEFB 
CPATB : DEFB 


0A0H,0A1H,0A2H,0A3H 

0B0H,0B1H,0B2H,0B3H 

0B4H,0B5H,0B6H,0B7H 


:自機 

; 敵タイプ A 
• ,敵タイプ B 


SPCHR EQU 80H 

MMSLCHR EQU 0A4H 

EMSLCHR EQU 0A5H 


; 空白の文字コード 
; 自彈の文#:コード 
;敵彌の文字コード 


背景 キャラクタコード 

DEFB 083H,081H,081H,081H,084H,085H,085H,085H 
DEFB 084H,085H,085H,085H,084H,085H,085H.085H 
DEFB 083H,081H,081H,081H,084H,085H,085H,085H 
DEFB 084H,085H f 082H,085H,084H,085H,085H,085H 
DEFB 084H,085H,085H,085H,084H,085H,085H,085H 
DEFB 083H,081H,081H,081H,084H,085H,085H,085H 
DEFB 084H,085H,082H,085H,084H,085H,085H,085H 
DEFB 083H,081H,081H f 081H,084H,085H,085H,085H 
DEFB 084H,085H,085H,085H,084H f 085H,085H,085H 
DEFB 090H,091H,090H,091H,092H,093H,092H,093H 
DEFB 090H,091H,090H,091H f 092H,093H,092H,093H 
DEFB 090H,091H,090H,091H,092H,093H,092H,093H 




PCG バターン 


80-8F. 

.•当たっても痛くない 背最 

90-9F. 

••当たると痛い 背景 

A0-A3. 

..自 HI 

A4.A5. 

••自 薄、敵轉 

A6-AF. 

•• 燦発(リザーブ〉 

B0-FF. 

.•敵 キャラ 


DEFB 000H,000H,000H,00CH,000H,000H,000H,000H ;80H 

DEFB 000H,000H,000H,000H,000H,000H,000H,000H 

DEFB 000H,000H,000H,000H,000H,000H,000H,000H 

DEFB 000H,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH ;81H 

DEFB 000H,000H,000H,000H,000H,000H,000H,000H 
DEFB 000H,0FFH,000H,000H,000H,000H•000H,000H 

DEFB 0FFH,0FFH,0C3H,0FFH,0C3H,0FFH,0FFH,0FFH ; 82H 

DEFB 000H,000H,03CH,000H•03CH,000H,000H,000H 

DEFB 000H,000H,000H,000H,000H,000H,000H,000H 

DEFB 000H,07FH,07FH,07FH,07FH,07FH,07FH,07FH ; 83H 

DEFB 000H,000H,000H,000H,000H,000H,000H,000H 

DEFB 000H,07FH,040H,040H,040H,040H,040H,040H 

DEFB 07FH,07FH,07FH,07FH,07FH,07FH,07FH,07FH ; 84H 


64 Oh ! X 1989.1. 


►リクルートのおかげで,私と M じ名前が^ HI のように新間を賑わせている。これでこの 
漢字が読めるようになってくれた人はたくさん増えただろうが,印象がよくない。喜んで 
いいのか,悲しんでいいの力 . 。 江副滋 (19) 東京都 


































16 

;緣定義 

16 

:赤定義 

16 

:爾定義 

4 

; OUTI で滅った分を 

4 

M 正する 

4 


7 

;時間つぶし 

40 


12x9+7 ; 

10 

;ダミー 

4 

;ダミー 

4 

;8 ®繰り返す 

10 



;_ D 込みを許可 


LD 

LD 

BC f 33E8H 

6,24 

OUT 

(C) f A 

INC 

C 

DEC 

E 

JR 

NZ,FILVLP 

CALL 

REORD 

LD 

HL f VRAMMODOKI 

LD 

BC,1700H+100H 

LD 

E f 8 

DI 


EXX 


LD 

BC,1A01H 

IN 

A,(C) 

JP 

P.VWAIT0 

IN 

A f (C) 

JP 

EXX 

OUT I 
OUT I 
OUTI 

M,VWAIT1 

INC 

B 

INC 

B 

INC 

B 

LD 

A,10 

DEC 

A 

JR 

JP 

NZ # WAITL 

SKP 

NOP 


DEC 

JP 

BI 

RET 

E 

NZ 9 STPCG0 


PCG データを〇 0 , 1?0 , 80 ,〇 1 , 81 , 81,..., 〇 7 , 117,87 に 
並べ禊える 

( 変換バッファとして VRAMMODOKI を使用〉 

LD DE , VRAMMODOKI ; DE = 変換先 

LD BC , -8 ; 

EXX 


機種依存部 Xl/Xlturbo 用 

ORG 

04E00H 

; ソースがでかくなったから 

CALL 

INITX1 

:画面の初期化 

CALL 

DEFCHR 

;PCG の定義 

JP 

MAIN 

;メインルーチンへ 

PCG 定義 

( 40x25, 表示べ, 

■• ジ 0 専用〉 


漢字 VRAM とアト 

リビュート VRAM は 


初期化されてい令こと 

LD 

HL,PCGPAT+16 

;HL=PCG データ緑 

LD 

A , 80H 

;A=PCG コード 

PUSH 

PUSH 

HL 

AF 


CALL 

SETPCG 

;1 つ定義 

POP 

AF 


POP 

HL 


LD 

DE,24 

;ボインタを進めて 

ADD 

HL,DE 


INC 

A 

« 0 返す 

JR 

RET 

NZ f DEFCH0 


PCG を 1 

つ定義 



in A=PCG コート* 

HL=PCG ノターン 


73 



LD 

L v 8 

ルーブカウンタ 

74 

REOD0 : 

EXX 



75 



PUSH 

HL 

データボインタ侍遵 

76 



LD 

A # 3 

ループカウンタ 

77 

REOD1 : 

LDI 


1 バイト転送 

78 





このとき BC=-9 

79 



ADD 

HL t BC 

HL=HL-9 

80 



INC 

C 

BC=-8 

81 



DEC 

A 

3 回繰り返す 

82 



JR 

NZ,REODl 


83 



POP 

HL 

データポインタ復帰 

84 



INC 

HL 

データボインタを邈め 

85 



EXX 



86 



DEC 

L 

8 回繰り返す 

87 



JR 

NZ,REOD0 


88 



BBT 



89 






90 



画面の初期化 


91 






92 

] 

[NITX1 : 




93 




.turbo では以下の行を復活する 

94 



XOR 

A 


95 



LD 

BC,1FD0H 


9 6 



OUT 

(C),A 


97 





98 



LD 

A,30H 

A= テキスト VRAM 先頭アドレス H 

99 



LD 

(PAGE),A 

アクティブページ設定 

100 



LD 

BC 9 1A02H 

BC=8255 2 

101 



LD 

A f -1 

第 6 ビットが 1 な 640 桁モード 

102 



OUT 

(C),A 

40 桁モードへ 

103 



LD 

HL f CRTCDAT 

HL=CRTC 拉定データボインタ 

104 



XOR 

A 

A=CRTC レジスタ 0 

105 



LD 

BC f 1800H 

BC=CRTC レジスタ遢択ボート 

106 



LD 

E f 14 

E= ルーブカウンタ 

107 

ILOOP0: 

OUT 

(C) f A 

CRTC レジスタセレクト 

108 



INC 

B 

OUTI 用に 1 増やしておく 

109 



INC 

C 

BC=CRTC データボー ト +1 00H 

110 



OUTI 


PORT(BC)=(HL)+ 

111 



DEC 

C 

BC=CRTC レジスタ選択ボート 

112 



INC 

A 

CTRC レジスタ番号を增やす 

113 



DEC 

E 

E = 0 まで 級り 返す 

114 



JR 

NZ,ILOOP0 


115 



LD 

BC,2800H 

BC=AVRAM 先頭 

116 



LD 

DE,8027H 

D= 空白キャラクタコード 

117 





E= アトリビュート ( PCG > 

118 



LD 

HL,0800H 

HL= ループカウンタ 

119 

ILOOP1 : 

OUT 

(C) f E 

アトリビュート VRAM を 

120 



INC 

BC 

すべて PCG で 

121 



DEC 

HL 

埋める 

122 



LD 

A,H 


123 



OR 

L 


124 



JR 

NZ,ILOOPl 


125 



LD 

H f 08H 

HL= ループカウンタ 

126 

ILOOP2 : 

OUT 

(C) ,D 

テキスト VRAM を 

127 



INC 

BC 

空白のキャラクタで 

128 



DEC 

HL 

埋める 

129 



LD 

A f H 


130 



OR 

L 


131 



JR 

NZ f ILOOP2 


132 





以下の行を復活する 

133 



LD 

H,08H 

HL= ループカウンタ 

134 



LD 

E,00H 


135 


ILOOP3:OUT 

(C) f E 

漠字 VRAM を 

136 



INC 

BC 

0 で 埋める 

137 



DEC 

HL 


138 



LD 

A 9 H 


139 



OR 

L 


140 



JR 

NZ,ILOOP3 


141 






142 RET 

144 ; CRTC 初期設定データ 


2 ; 

3 ; 

4 ; 

5 

6 ; 

7 START : 

8 
9 

10 ; 

11; 

12 ; 

13 ; 

14 ; 

15 DEFCHR : 

16 

17 DEFCH0 : 

18 

19 

20 
21 
22 

23 

24 

25 

26 

27 ; 

28 ; 

29 : 

30 ; 

31 ; 

32 SETPCG : 

33 

34 FILVLP : 

35 

36 

37 

38 

39 

40 

41 

42 

43 

44 

45 VWAIT0 : 

46 

47 VWAIT1: 

48 

49 

50 STPCG0 : 

51 

52 

53 

54 

55 

56 

57 WAITL: 

58 

59 

60 SKP : 

61 
62 

63 

64 

65 ; 

66 ; 

67 ; 

68 ; 

69 ; 

70 REORD: 

71 

72 


►株の譲り-リストを捜し出す,究極のアドベンチャーゲーム「リクルートへの道 Jo または _ 

マスコミ に見つからずにいかに多くの政治献金を集めるかという「政治家への道」。このよ Z 80 マシン語ゲームエ房 6〇 

うなゲームを誰か作ってくれませんかね。 長田純也 (19) 神汆川似 


243 

DEFB 

000H,000H,000H,000H,000H,000H,000H, ⑽ 0H 


276 

DEFB 

000H,000H,0 刚 , 0FFH,0FFH,000H,000H,000H 


244 

DKFB 

040H,040H,040H,040H I 040H,040H,040H,040H 


277 

DEFB 

0C3H,081H,00CH,004H,000H,000H f 081H.0C3H 

;A5H 

245 

DEFB 

0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH 

;85H 

278 

DEFB 

03CH,07EH,0FFH,0FFH,0FFH,0FFH,07EH,03CH 


246 

DEFB 

000H,000H,000H,000H,000H,000H,000H,000H 


279 

DEFB 

000H,000H > 00CH t 004H,000H > 000H,000H,000H 


247 

DEFB 

000H,000H,000H,000H,000H,000H,000H,000H 


280 

DEFS 

10*24 

;A6H-AFH 

248 

DBFS 

24*10 

;86H-8FH 

281 

DEFB 

0FFH,0FEH,0FCH,0E3H,0DFH,0DFH,08FH,00FH 

;B0H 

249 

DEFB 

07FH,040H f 040H,040H,047H,044H,044H,044H 

;90H 

282 

DEFB 

0FEH,001H,003H,00CH,000H,020H,070H,0F0H 


250 

DEFB 

07FH,07FH,07FH,07FH,07FH,07FH,07FH,07FH 


283 

DEFB 

0FEH > 0FDH,002H > 000H,007H I 00FH,067H,0E6H 


251 

DEFB 

07FH,040H,040H,040H > 047H,044H > 044H,044H 


284 

DEFB 

031H,03FH,01FH,08FH,0F7H,0F7H,0FFH,0FFH 

: B1H 

252 

DEFB 

0FFH,001H , 001H,001H,0F1H,001H , 001H , 001H 

;91H 

285 

DEFB 

0DFH,0C1H,0C0H,060H,000H,0C0H,060H,022H 


253 

DEFB 

0FFH,0FFH,0FFH,0FFH,0FFH,0EFH,0KFH,0EFH 


286 

DEFB 

0DDH,0DFH,046H,000H,0C0H,0E0H,0F6H,06FH 


254 

DEFB 

0FFH,001H,001H,001H,0F1H , 001H,001H,001H 


287 

DEFB 

00EH,00EH,08FH,0DFH,0FFH,0FFH,0F3H,0FCH 

;B2H 

255 

DEFB 

044H,044H t 04eH,040H l 040H,04eH > 07FH,000H 

;92H 

288 

DEFB 

0F1H,0F1H,070H,020H,000H,00DH,00FH,003H 


256 

DEFB 

07FH,07FH f 078H,07FH,07FH,07FH,07FH,000H 


289 

DEFB 

0C5H,0E4H,066H,00FH I 023H,000H I 00CH,003H 


257 

DEFB 

044H,044H,040H,040H > 040H,040H,07FH t 000H 


290 

DEFB 

07FH.07FH,0FFH,0FFH,0F0H f 0E9H,099H f 07FH 

;B3H 

258 

DEFB 

001H,001H,001H,001H,001H,001H,0FFH,000H 

;93H 

291 

DEFB 

081H,081H,000H.000H,00FH,066H,0E6H,080H 


259 

DEFB 

0EFH,0EFH,00FH,0FFH,0FFH,0FFH,0FFH,000H 


292 

DEFB 

02FH,02FH,06FH,0EOH,000H,000H,066H,080H 


260 

DEFB 

001H,001H,001H,001H,001H,001H,0FFH,000H 


293 

DEFB 

0FEH,0FEH,0FEH,0FFH,003H,039H,0FFH,0FFH 

: B4H 

261 

DEFS 

24*12 

;94H-9FH 

294 

DEFB 

000H,001H,000H,070H,0FDH,0FFH,07CH,03EH 


262 

DEFB 

07FH l 067H,041H l 03EH i eF9H,081H,e0FH l 080H 

;A0H 

295 

DEFB 

001H,000H,001H , 07EH , 001H,039H , 03CH,03EH 


263 

DEFB 

000H,000H,000H,000H,01EH,0E1H,010H,0B0H 


296 

DEFB 

00FH,007H,087H,0C5H,0E4H,0F4H,0FCH,086H 

;B5H 

264 

DEFB 

058H,066H,041H,03EH,0FFH,081H,01FH,080H 


297 

DEFB 

004H,080H,080H,0FCH,09CH,00CH,03CH,000H 


265 

DEFB 

0FFH,0FFH,0FFH,07FH,0FFH,0E0H,00FH,0FFH 

;A1H 

298 

DEFB 

0F4H,078H,078H,0C6H,0E7H,037H,03FH,079H 


266 

DEFB 

000H,000H,000H,000H,000H,0B0H,00CH,0F0H 


299 

DEFB 

0FFH,0FEH,0FEH,0FDH,0FDH,0FBH,0F7H,0CFH 

;B6H 

267 

DEFB 

000H,000H,080H,040H,0FFH,0E0H,00FH,0FCH 


300 

DEFB 

001H,000H,004H,005H,001H,001H,000H,000H 


268 

DEFB 

0FDH,0FFH,0F3H,0F7H,0FDH,0FFH,0FFH,0FFH 

;A2H 

301 

DEFB 

001H,002H l 006H t 005H,00DH,01BH,037H,00FH 


269 

DEFB 

03FH I 000H,00CH,00AH,00BH,004H,003H,000H 


302 

DEFB 

0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH 

;B7H 

270 

DEFB 

0FDH,03FH,000H,017H,01FH,00FH,007H,003H 


303 

DEFB 

09CH,08CH,000H,000H,0B0H,0F8H,0FCH,03CH 


271 

DEFB 

0FFH,0FFH,0FFH,0E7H,0CBH,0FFH,0BBH,0C7H 

;A3H 

304 

DEFB 

0FCH,0FCH,0F0H,0E0H,0B0H,0F8H,0FCH,0BCH 


272 

DEFB 

000H,000H > 000H,018H,0F4H,020H,0C4H I 038H 


305 

DEFS 

72*24 

;B8H-FFH 

273 

DEFB 

0F0H,000H,000H,0C0H,0C0H,0F0H,0A0H,080H 


306 ; 




274 

DEFB 

0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH 

;A4H 

307 ••—— 




275 

DEFB 

000H,000H,000H,0FFH,000H,000H,000H,000H 







リスト4 Xl / Xltu 「 bo 用 


頭 

の 


ス G : 
キる PC く 
テあいお 
い卜たて 
なイしめ 
えバ義埋 
見24定 


る 

え 

換 

ベタ 
並 I 
くデ 
良た 
合れ 
都ら 
をえ 
夕換 

r へ 

デ並緣 
G - G 


ク 

ツ 

て I 
しチ 
夕止のを 
ン禁号り 
ウを馏が 
力み練上 
ブ込掃ち 
り直立 


PCHLPC ル割垂 





















145 




200 ライン , 40 桁 x25 行 




146 









147 

CRTCDAT 







148 



DEFB 

55,40,45,52,31,2, 

,25,28 




149 



DEFB 

0,7,0,0,0,0 





150 









151 



仮想 VRAM- > 実 VRAM 転送 





152 



(VRAM は I/O ポートアドレス 3000H 以降〉 



153 









154 

DISPX1 : 







155 

DISP : 

LD 

HL,4*48+4+VRAMMODOKI 




156 





HL= 仮想 VRAM<4,4> のアド 

レス 


157 



LD 

A,(PAGE) 

アクティブページを 



158 



XOR 

04H 

切り換えて 



159 



LD 

(PAGE),A 

ワークにセット 



160 



LD 

B,A 

BC= 実 VRAM<0,0 > アドレス 



161 



LD 

C,00H 





162 



LD 

D,24 

B 面縦サイズ 



163 

DISP0 : 

LD 

E,40 

実画面横サイズ 



164 

DISP1 : 

LD 

A,(HL) 

横 40 文字分を転送 



165 



INC 

HL 





166 



OUT 

(C),A 





167 



INC 

BC 





168 



DEC 

E 





169 



JR 

NZ.DISPl 





170 



LD 

A,8 

HL=HL+8 




171 



ADD 

A,L 





172 



LD 

L,A 





173 



JR 

NC.DISP2 





174 



INC 

H 





175 

DISP2 : 

DEC 

D 

縱サイズ分繰り返す 



176 



JR 

NZ f DISP0 





177 



LD 

BC,1800H 

CRTC ボ - 

•トアドレス 



178 



LD 

A,12 

CRTC レジスタ 12 をセレク 

卜 


179 



OUT 

(C),A 





180 



INC 

c 

BC=1801H 



181 



LD 

A,(PAGE) 

上位 5 ビ 

V 卜は何でもよい 


182 



OUT 

(C),A 

表示ペー 

•ジを切り換える 



183 



RET 






184 









185 

PAGE : 

DEFS 

1 





186 









187 









188 



キー 

入力 





189 









190 




.turbo では以下の行を刖除する 



191 

INKEYX1 







192 

INKEY: 

BI 


拥り込みを許可しておく 



193 



LD 

E,0E6H 

キーデー 

夕轶みだしコマンド 


194 



CALL 

SEND 

サブ CPU へ送る 



195 



CALL 

SWAIT 

待つ 




196 



DI 


ここで割り込みを禁止する 


197 



CALL 

RECV 

サブ CPU から 1 バイト受け取る 


198 





けど、要らないから捨てる 


199 



CALL 

RECV 

サブ CPU から 1 バイト受け取る 


200 



BI 


割り込みを許可する 



201 



JR 

Z,NOKEY 

A=0 ならキー入力無し 



202 



SUB 

1BH 

ASCII コ 

ードが ESC 以下な 

ら 


203 



JR 

C,NOKEY 

焦効 




204 



CP 

, 9 , -lBH+l 

ASCII U 

ードが 9 以上なら 



205 



JR 

NC,NOKEY 

無効 




206 



LD 

HL,CNVTBL 

HL = 変換テーブル先頭 



207 



LD 

C,A 

ASCII コ 

ードに対応する 



208 



LD 

B,0 

ジョイ 

スティック型デ 

一夕を 


209 



ADD 

HL f BC 

テーブルから 



210 



LD 

A,(HL) 

取り出す 



211 



RET 






212 

NOKEY : 

LD 

A,0FFH 





213 



RET 






214 









215 

216 



キー 

入カデータ変換テーブル 




217 

( 

: NVTBL : 

DEFB 

0BFH 


IB (ESC) 



218 



DEFB 

0FFH , 0FFH,0FFH,0FFH 

1C -IF 



219 



DEFB 

0DFH 


20 (SPACE) 



220 



DEFB 

0FFH,0FFH,0FFH,0FFH 

21-24 



221 



DEFB 

0FFH , 0FFH,0FFH,0FFH 

25 - 28 



222 



DEFB 

0FFH,0FFH,0FFH,0FFH 

29 - 2C 



223 



DEFB 

0FFH.0FFH,0FFH.0FFH 

2D - 30 



224 



DEFB 

0F9H 


31 < , 1,> 

1111 

1001 

225 



DEFB 

0FDH 


32 ( *2» ) 

1111 

1101 

226 



DEFB 

0F5H 


33 ( , 3, > 

1111 

0101 

227 



DEFB 

0FBH 


34 ( ) 

1111 

1011 

228 



DEFB 

0FFH 


35 ( , 5,> 

1111 

1111 


229 

DEFB 

0F7H 

; 36 d,} 1111 

0111 

230 

DEFB 

0FAH 

; 37 ( '7* ) 1111 

1010 

231 

DEFB 

0FEH 

; 38 ( , 8 ,) 1111 

1110 

232 

DEFB 

0F6H 

; 39 r9,> 1111 

0110 

233 





234 





235 

INKEYturbo: 





236 

INKEY : El 


割り込みを許可しておく 



237 

LD 

E.0E3H 

ゲーム 4 •一 み出しコマン 

K 


238 

CALL 

SEND 

サブ CPU へ送る 



239 

CALL 

SWAIT 

侍つ 



240 

DI 


ここで割り込みを禁止する 



241 

CALL 

RECV 

サブ CPU か 61 バイト受け取 

る 


242 

243 

CALL 

RECV 

けど、要らないから拾てる 
サブ CPU から 2 バイト目を受 

け取る 

244 

LD 

E,A 

それを E に取っておく 
サブ CPU から 3 バイト目を受 



245 

CALL 

RECV 

け取る 

246 

LD 

D,A 

それを D に取っておく 



247 

El 


割り込みを許可する 



248 

LD 

HL,CNVTBL 

HL = 変換テーブル先頭 



249 

LD 

B,8 

B = ループカウンタ 



250 

LD 

A.0FFH 

A = キー人力無し 



251 

INKYLP: RR 

E 

以下のループで 



252 

JR 

NC.KEYl 

,レ〜のキーが 



253 

AND 

(HL) 

押されているかどうかを 



254 

KEY1 : INC 

HL 

順に調べて 



255 

DJNZ 

INKYLP 

対応ビットをリセットす 

る 


256 

BIT 

l.D 

スぺ _ スキー? 



257 

JR 

Z.KEY2 

そうでなければスキップ 



258 

AND 

0DFH 

bit5 をリセット 



259 

KEY2 : RL 

Sc 

ESC キ ー ? 



260 

RET 

そうでなければリターン 



261 

AND 

0BFH 

bit6 をリセットする 



262 

RET 





263 






264 

CNVTBL : DEFB 

0F5H 

»3' 



265 

DEFB 

0F7H 




266 

DEFB 

0F6H 

»9* 



267 

DEFB 

0FDH 

, 2 , 



268 

DEFB 

0FEH 




269 

DEFB 

0F9H 

*1* 



270 

DEFB 

0FBH 




271 

DEFB 

0FAH 

•T 



272 





273 






274 

サブ CPU へ 1 バイト送る 




275 






276 i 

SEND : CALL 

SWAIT 




277 

LD 

BC.1900H 




278 

OUT 

(C),B 




279 

RET 





280 






281 

サブ CPU から 1 バイト受け取る 



282 






283 RECV : CALL 

RWAIT 




284 

LD 

IN 

BC,190OH 




285 

A, <C) 




286 

RET 





287 






288 

; サブ CPU へデータが送れるように 



289 


なるまで待つ 



290 






291 SWAIT : LD 

BC,1A01H 




292 SWAIT0 : IN 

A,(C) 




293 

RL 

A 




294 

JP 

M,SWAIT 




295 

RKT 





296 






297 

サブ CPU か 6 データを嫌み込めるように 



298 


なるまで待つ 



299 






300 1 

SWAIT : LD 

BC,1A01H 




301 RWAIT0: IN 

A,(C) 




302 

AND 

20H 




303 

JR 

NZ f RWAIT0 




304 

RET 






リスト 5 共通部 


1 






22 

ADRL 

EQU 

3 

表示アドレ 

2 


共通部 




23 

ADRH 

EQU 

4 


3 






24 

PATL 

EQU 

5 

バターンア 

4 

MMSLMAX 

EQU 

4 


自弾の最大数 

25 

PATH 

EQU 

6 


5 

CHRMAX 

EQU 

32 


敵の最大数 

26 

WORK1 

EQU 

7 

汎用ワーク : 

6 

EMSLMAX 

EQU 

16 


敵獐の最大数 

27 

WORK2 

EQU 

8 


7 

MMSLCNT 

EQU 

3 


リビートカウンタ初期値 

28 

WORK3 

EQU 

9 


8 






29 

BUFSIZ 

EQU 

10 

バッファサ 

9 


自彌バ 

ッファのフ 

イールド : 

オフセット 

30 





10 






31 


敵拜バ 

ッファのフィールド 

オフセット 

11 

MSLX 

EQU 

0 


X 座標 ( 44 以上 .. .DEAD ) 

32 





12 

MSLY 

EQU 

1 


Y 座棵 

33 

EMX 

EQU 

0 ;X 座標 

13 

MSLADRL 

EQU 

2 


表示アドレス Low 

34 

EMY 

EQU 

1 ;Y 座標 

14 

MSLADRH 

EQU 

3 


High 

35 

BMADRL 

EQU 

2 


15 

MBUFSIZ 

EQU 

4 


バッファサイズは 4 バイト 

36 

EMADRH 

EQU 

3 


16 






37 

BMP 

EQU 

4 

蒙 車? 

17 


敵キャラバッファ 

のフイー 

ルドオフセット 

38 

EMDP 

EQU 

5 

«幸の加値 

18 






39 

EMDX0 

EQU 

6 

X 座樣変位 0 

19 

TYPE 

EQU 

0 


; 種頦 (-1...DEAD ) 

40 

KMDY0 

EQU 

7 

Y 座標変位 0 

20 

X 

EQU 

1 

;X 座標 

41 

EMDX1 

EQU 

8 

X 座標変位 1 

21 

Y 

EQU 

2 

;Y 座樣 

42 

BMDY1 

EQU 

9 

Y 座標変位 1 


6 b Oh ! X 1989.1. 


►この前,テレビの CM を W •て絶^してしまった。 r ド松健谈パークトロン沿センター j だ 
って。いったいどんな沿なんだろう? 秋友嫌二 (15) 111111^ 
































43 

EMDA0L 

EQU 

I® 

表示アドレス変位 0 

155 

FIRE : 

CALL 

MMSLALC 

自禪ワークの空きを探す 

44 

EMDA0H 

EQU 

ii 


156 



JR 

C,TRGOFF 

空きが無ければ次回に送る 

45 

KMDA1L 

EQU 

12 

表示アドレス変位 1 

157 



PUSH 

HL 

HL= 自殚バッファ空き領域 

46 

EMDA1H 

BQU 

13 


158 



POP 

IX 

IX=HL 

47 

EMBFSIZ 

EQU 

14 

バッファサイズは 12 バイト 

159 



LD 

DE,(MSX) 

DE= 自檐 XY 座樣 

48 

: 




160 



INC 

E 

X=X+1,Y=Y+1 ( 自機の右下) 

49 

DEAD 

EQU 

-i 

キャラ/彌が死んでいる印 

161 



INC 

D 


50 





162 



LD 

(IX+MSLX),E 

自壤の X 庳樓右セ w 卜 

51 

; 




163 



LD 

(IX+MSLY),D 

自弾の Y 座標をセット 

52 

; 

メイン 

ルーチン 


164 



LD 

HL,(MSADR) 

DE= 自機表示アドレス 

53 

; 




165 



LD 

DE,49 


54 

MAIN : 

LD 

HL.IVNTDAT 

イペントデータポインタの 

166 



ADD 

HL.DE 

ADR=ADR+49 ( 自機の右下) 

55 


LD 

(IVNTP),HL 

初期化 

167 



LD 

(IX+MSLADRL),L 

自弾の表示アドレスをセット 

56 


LD 

HL,EMSLCNT 

敵豨移動カウンタの 

168 



LD 

(IX+MSLADRH),H 


57 


LD 

(HL),0AAH 

初期化 

169 



LD 

HL.MSWK1 

今回、譯を擊つたという 

58 


LD 

A,88H 


170 



LD 

(HL),-1 

印をセット 

59 


LD 

(IVNTC),A 

イペントカウンタの初期化 

171 



INC 

HL 

HL=MSWK2 

60 


LD 

(MAPCNT1),A 

マップカウンタ 1 の初期化 

172 



LD 

(HL).MMSLCNT 

リピートカウンタをリセット 

61 


LD 

(MAPCNT2),A 

マップカウンタ 2 の初期化 

173 

FREND : 

RET 



62 


LD 

HL.MAPDAT 

マップデータボインタの初期化 

174 

TRGOFF : 

LD 

HL.MSWK1 •■ 今回、弹を擊たなかったという 

63 


LD 

(MAPPNT),HL 


175 



LD 

(HL) ,0 ; 

印をセット 

64 


LD 

HL,4 本 48 + 4+VRAMMODOKI 

176 

MSMV9 : 

RET 



65 


LD 

(HOME),HL 

仮想 VRAM 上の HOME 位置初期化 

177 






66 


CALL 

INITMS 

自機ワークの初期化 

178 



自檐の仮想 VRAM へ の表示 


67 


CALL 

INITMMSL 

自蒡ワークの初期化 

179 






68 


CALL 

INITWK 

敵ワークの初期化 

180 

PUTMS : 

LD 

IX,MSBUF ; 

; IX= 自機データバヅフ r 先頭 

69 


CALL 

INITEMSL 

敵#ワークの初期化 

181 



JP 

PUT ; 表示ルーチンへ 

70 

LOOP : 

CALL 

IVNT 

イベント琿 

182 






71 


RET 

C 

CY=1 であれば全面クリア 

183 






72 


CALL 

EXTMAP 

背景を仮想 VRAM に展開 

184 



自薄バッ 

ファの初期化 


73 


CALL 

MOVEMS 

自機の移動 

185 






74 


CALL 

MOVEMMSL 

自禪の移動 • 表示 

186 

INITMMSL: 



75 


CALL 

MOVETEKI 

敵の移動 • 表示 

187 



LD 

HL,MMSLBUF 

HL= バッファ先頭 

76 


CALL 

MOVEEMSL 

敵彈の移動 • 表示 

188 



LD 

B f MMSLMAX 

B=g 弾の最大数 

77 


CALL 

PUTMS 

自檐の表示 

189 

INIMMSL:LD 

(HL),DEAD 

MMSLBUF.X=DBAD 

78 


CALL 

DISP 

仮想 VRAM を表示 

190 



INC 

HL 

ボインタを進める 

79 


CALL 

PAUSE 

一時停止 

191 



INC 

HL 


80 


JR 

LOOP 


192 



INC 

HL 


81 





193 



INC 

HL 


82 





194 



DJNZ 

INIMMSL 

自弹の最大数分雄り返す 

83 


自機デ 

ータバッファの初期化 

195 



RET 



84 





196 






85 

INITMS : 

LD 

HL,MSINID 

HL= 初期データ 

197 



自弾バッ 

ファの空きエリアを探す 

86 


LD 

DE,MSBUF 

DE= バッファ先頭 

198 




out C Y= 1 ••• 

空き無し 

87 


LD 

BC.BUFSIZ 

BC= バッファサイズ 

199 




CY=0 … 

HL= 空きエリアへのポインタ 

88 


LDIR 


ブロック 転送 

200 






89 


RET 



201 

MMSLALC; 




90 





202 



LD 

HL,MMSLBUF 

HL= バッファ先頭 

91 


自機 初期 データ 


203 



LD 

B,MMSLMAX 

8 =自弾の最大数 

92 





204 

MMALCL : 

LD 

A,(HL) 

A= 自蒡 X 座棰 

93 

MSINID : 




205 



CP. 

44 

X 座樣 は 44 以上か? 

94 


DKFB 

0,8,15 

; ノーマル ,X=8,Y=15 

206 



RET 

NC 

そうなら空き 領域 

95 


DEFW 

15 * 48+8+VRAMMODOKI 

207 



INC 

HL 

ボインタを進める 

96 


DEFW 

MSPAT1 

:バターンもノーマル 

208 



INC 

HL 


97 


DEFB 

0,0,0 

;ダミー 

209 



INC 

HL 


98 





210 



INC 

HL 


99 


自機の移動処理 


211 



DJNZ 

MMALCL 

バッファの終わりまで繰り返す 

100 





212 



SCF 


空き 領域が 見つからなかった 

101 

MOVEMS : 

CALL 

INKEY 

キー入カデータを得る 

213 



RET 



102 


LD 

DE,(MSX) 

E=X 座樣| D = Y 座樣 

214 






103 


LD 

HL,(MSADR) 

HL= 表示アドレス 

215 



自弹移動処理 


104 


LD 

BC,48 

BC= 仮想 VRAM 横サイズ 

216 






105 


RRA 


下へ? 

217 

MOVEMMSL: 



106 


JR 

C f MSMVl 

そうでなければスキップ 

218 



LD 

IX f MMSLBUF 

IX= 自獐データバッファ先頭 

107 


DEC 

D 

Y=Y-1 

219 



LD 

B,MMSLMAX 

B= 自弾崧大数 

108 


SBC 

HL,BC 

ADR=ADR-48 

220 

MVMMSL : 

LD 

A, (IX+MSLX) 

A=MMSLBUF.MSLX 

109 

MSMV1 : 

RRA 


上へ? 

221 



CP 

44 

場外? 

110 


JR 

C,MSMV2 

そうでなければスキップ 

222 



JR 

NC,MVMMSL1 

そうであれば死んでいる 

111 


INC 

D 

Y=Y+1 

223 



INC 

(IX) 

X 座標を 2 進める 

112 


ADD 

HL,BC 

ADR=ADR+48 

224 



INC 

(IX) 


113 

MSMV2 : 

RRA 


左へ? 

225 



CALL 

MMSLCHK 

敵との当たり判定 

114 


JR 

C,MSMV3 

そうでなければスキップ 

226 



JR 

C t MVMMSL1 

CY=1 なら命中 

115 


DEC 

E 

X=X-1 

227 



LD 

L,(IX+MSLADRL) 

HL= 表示アドレス 

116 


DEC 

HL 

ADR=ADR-1 

228 



LD 

H f (IX+MSLADRH) 


117 

MSMV3 : 

RRA 


右へ? 

229 



INC 

HL 

表示アドレスを 2 進める 

118 


JR 

C,MSMV4 

そうでなければスキップ 

230 



INC 

HL 


119 


INC 

E 

X=X+1 

231 



LD 

(IX+MSLADRL) f L 

表示アドレス更新 

120 


INC 

HL 

ADR=ADR+1 

232 



LD 

(IX+MSLADRH),H 


121 

MSMV4 : 

EX 

AF 9 AF 9 

A’ = キーデータ 

233 



LD 

(HL),MMSLCHR 

仮想 VRAM へ表示 

122 


LD 

A,D 

A=Y 座標 

234 




.MZ-700 では以下の行を復活させる 

123 


CP 

4 

Y 座標は最小值以下か? 

235 



LD 

DE,48*32 

自弾の 

124 


JR 

NC t MSMV5 

そうでなければスキッブ 

236 



ADD 

HL.DE 

アトリビュートを 

125 


INC 

D 

Y 座樣補正 

237 



LD 

(HL).MMSLATR 

軎き込む 

126 


ADD 

HL,BC 

表示アドレス補正 

238 




. ここまでが MZ-700 専用 追加部分 

127 


JR 

MSMV6 


239 

f 

1VMMSL1 

:INC 

IX 

ポインタを進める 

128 

MSMV5 : 

CP 

27 

: Y 座標は最大僅以上か? 

240 



INC 

IX 


129 


JR 

C.MSMV6 

: そうでなければスキップ 

241 



INC 

IX 


130 


DEC 

D 

;Y 座標補正 

242 



INC 

IX 


131 


SBC 

HL,BC 

: 表示アドレス補正 

243 



DJNZ 

MVMMSL 

自弾の 崧 大数分提〇返す 

132 

MSMV6 : 

LD 

A,E 

;A=X 座標 

244 



RET 



133 


CP 

5 i 

;x 座樣は最小値以下か? 

245 






134 


JR 

NC f MSMV7 

;そうでなければスキップ 

246 



自薄と敵の当たり判定 


135 


INC 

E ; 

:X 座標補正 

247 






136 


INC 

HL ; 

: 表示アドレス 襦正 

248 

MMSLCHK 

: EXX 


表レジスタは保存 

137 


JR 

MSMV8 


249 



LD 

IY.CHRBUF 

IY= 敵キャラデータバッファ先頭 

138 

MSMV7 : 

CP 

42 

X 座標は最大儀以上か? 

250 



LD 

DE,BUFSIZ 

DE= 敵キャラバッファサイズ / 1 機 

139 


JR 

C,MSMV8 

そうでなければスキップ 

251 



LD 

B f CHRMAX 

B= 敵最大数 

140 


DEC 

E 

X 座標補正 

252 

MMSLCK : 

LD 

A,(IY+TYPE) 

A= 敵タイプ 

141 


DEC 

HL 

表示アドレス補正 

253 



INC 

A 

死んでいるか? 

142 

MSMV8 : 

EX 

AFtAF* 

A= キーデータの残り 

254 



JR 

Z,NOTHIT 

そうならスキップ 

143 


LD 

(MSX),DE 

XY 座標更新 

255 



LD 

A,(IX+MSLX) 

A=g 弾 X 座棵 

144 


LD 

(MSADR),HL 

表示アドレス更新 

256 



SUB 

(IY+X) 

それから®の X 座標を引いてみて 

145 


RRA 


1 ビットはゴミ 

257 



CP 

4 

当たる範囲か? 

146 


RRA 


トリガー 1 が押されたか? 

258 



JR 

NC,NOTHIT 

範囲外ならスキップ 

147 


JR 

C,TRGOFF 

そうでなければ分岐 

259 



LD 

A,(IX+MSLY) 

八=自弾 Y 座標 

148 


LD 

A,(MSWK1) 

A= 直前のトリガーの状 * 

260 



SUB 

(IY+Y) 

それから敵の Y 座標を引いてみて 

149 


OR 

A 

前回はトリガーが押されていたか? 

261 



INC 

A 

当たる範囲はちょっと広く取った 

150 


JR 

Z f FIRE 

前回 OFF だったな 6 禪 発射処理へ 

262 



CP 

4 

当たる範囲か? 

151 


LD 

A,(MSWK2) 

八=トリガーのカウンタ 

263 



JR 

NC,NOTHIT 

範囲外ならスキップ 

152 


DBC 

A 

カウンタを減らして 

264 

HIT: 

LD 

<IX+MSLX> t DEAD 

自弹を殺す 

153 


LD 

(MSWK2) f A 

カウンタ更新 

265 



LD 

(IY+TYPE),DEAD 

敵も殺す 

154 


JR 

NZ f FREND 

カウンタが 0 でなければ射擊不可 

266 



SCF 


自弹は死んだ 


►我が家のお風, 1 , 1 ,は,钱沿でもないのに薪で沸かしています。だから X68000 ください。义 
i 1 川} h 化の光を戊にリ•えてほしい。 rur - 英治 (19) a 邡吩 


Z 80 マシン語ゲームエ房 





























267 

EXX 


•,表レジスタ復播 

268 

RET 



269 NOTHIT : 

ADD 

IY,DE 

; ポインタを進めて 

270 

DJNZ 

MMSLCK 

; 敵の最大数分《 〇返す 

271 

OR 

A 

;自弾は生き残った 

272 

EXX 


;表レジスタ復帰 

273 

RET 



274 :. . 





275 

276 

277 

278 EXTMAP : 

279 

280 
281 
282 

283 

284 

285 

286 

287 

288 

289 

290 EXTMP : 

291 

292 

293 

294 

295 

296 

297 

298 


7 ッブデータを仮想 VRAM に展開 


LD 

HL.MAPCNT1 

•• カウンタ 1 を進める 

390 

RRC 

(HL) 


391 

JP 

NC,EXMAP0 

Uc なら今回は スクロール しない 

392 

INC 

HL 

; HL=MAPCNT1 

393 

RRC 

(HL) 

•• カウンタ 2 を進める 

394 

JR 

NC,EXTMP 

;NC ならスキップ 

395 

LD 

HL,(MAPPNT) 

;マップデータボインタを 

396 

LD 

DE,6 

; 4 キャラ分 

397 

ADD 

HL,DE 

: 進めて 

398 

LD 

(MAPPNT),HL 

; 更新する 

399 

LD 

HL,4 本 48+4+VRAMMODOKI 

400 

LD 

(HOME),HL 

; 仮想 VRAM 上の HOME 位置をリセット 

401 

CALL 

EXMAP0 

;背景展開本体を呼び出す 

402 

LD 

HL,(HOME) 

; 仮想 VRAM 上の HOME 位面を 

403 

DEC 

HL 

:1 キャラ分ずらして 

404 

LD 

(HOME),HL 

; 更新する 

405 

RET 



406 




407 

背最展開処理本体 


408 


379 

380 

381 

382 

383 ; 

384 ; 

385 ; 

387 IVNT80: 

388 

389 


DEFW 

DEFW 

DEFW 

DEFW 


IVNT80,DMY,DMY,DMY 
DMY,DMY,DMY,DMY 
DMY.DMY.DMY.DMY 
DMY,DMY,DMY,DMY 


; 80-83 
; 84-87 
;88-8 B 
;8 C -8 F 


イペント no.80H 

マツブデータを繰り返す 


LD 

LD 

LD 

LD 

LD 

OR 

RBT 


A.88H 

(MAPCNT1),A 
(MAPCNT2),A 
HL.MAPDAT 
(MAPPNT),HL 
A 


299 

EXMAP0 : 

LD 

DE,(HOME) 

300 


EXX 


301 


LD 

HL,(MAPPNT) 

302 


LD 

C f 11 

303 

EXMAP1 : 

LD 

B f 6 

304 

EXMAP2 : 

LD 

A f (HL) 

305 


INC 

HL 

306 


EXX 


307 


LD 

LD 

L, A 

308 


H,0 

309 


ADD 

HL y HL 

310 


ADD 

HL 9 HL 

311 


ADD 

HL,HL 

312 


ADD 

HL,HL 

313 


LD 

BC,BPAT0 

314 


ADD 

HL,BC 

315 




316 


LD 

A,4 


317 EXMAP3 : LDI 


MZ-700 では以下の行を削除する 

DE= 仮想 VRAM 上の HOME 位置アドレス 


HL ’ = マップデータボ • 
C’ = 横方向サイズ 
縦方向サイズ 
A = マヅブコード 
ボインタを進める 

HL = 背景コード 

HL=HLx4x4 


BC = 背玦パターン先頭 
HL = 背聚コードに対応する 
背景バターンアドレス 
A = パターン縦サイズ 
横 1 ライン香き込み 


336 

337 ; 

338 ; 

339 MAPCNT1 : 

340 MAPCNT2 

341 MAPPNT : 

342 HOME : 

343 


409 

410 

411 APP0 : 

412 

413 

414 

415 

416 

417 

418 WALLOC : 

419 

420 

421 

422 WALCLP : 

423 

424 

425 

426 

427 

428 WRETN : 

429 


敵登場イベント 

LD DK.BUFSIZ 

LD HL.ADAT1 

LD B,5 

DEC A 

JR Z,APP 

ADD HL.DE 

DJNZ IVNTL 

SCF 

CALL WALLOC 

JR C,APP0 

LD BC,BUFSIZ 

LDIR 

OR A 

RET 


マップカウンタ 1 の初期化 
マップカウンタ 2 の初期化 
マップデータボインタの初期化 


DE = バツフアサイズバ機 
HL= イペント 1 初期データ 
今のところ敵登場イペントは 5 種類 
力まかせに 

HL=DEx(A-l) Hr 
計算する 


バッファの空きを探す 
見つからなければ登場しない 
BC= 敵キャラバッファサイズ /1 機 
ごつそりブロック転送 
CY=0 


敵キャラ 


パップ 

out 


^の空きを探す 


CY=1 

CY=0 


空き無し 

DE= 空きエリア . 


、のボインタ 


PUSH 

LD 

LD 

LD 

LD 

INC 

JR 

ADD 

DJNZ 

SCF 

EX 

POP 


HL 

HL,CHRBUF 
DE.BUFSIZ 
B,CHRMAX 
A,(HL) 

A 

Z,WRETN 

HL,DE 

WALCLP 

DE,HL 
HL 


HL を待避 

HL = 敵キャラバッファ先頭 

;DE=M ッファサイズ /1« 

B = 敵最大数 

A=CHRBUF.TYPK 
A=DEAD ? 

そうであれば空きエリア 
ボインタを進めて 
バッファの終わりまで繰り返す 
空き領域が見つからなかった 
CY=0 であれば DE = 空き領域 


318 

LDI 



430 


RET 



319 

LDI 



431 





320 

LDI 



432 


敵登場ィベント初期データ 


321 

EX 

LD 

DE, HL 

’;DE が下のラインを 

433 





322 

BC t 44 

; 指すようにする 

434 

ADAT1 : 

DEFB 

0,44,10 ; イ 

ぺ 

323 

ADD 

HL f BC 


435 


DEFW 

10*48+44 + VRAMMODOKI 


324 

EX 

DE f HL 


436 


DEFW 

CPATA 


325 

DEC 

A 

U 回繰り返す 

437 


DEFB 

0,0,0 


326 

JP 

NZ,EXMAP3 


438 





327 

EXX 



439 

ADAT2 : 

DEFB 

0,44,20 ; イ 

ぺ 

328 

DJNZ 

EXMAP2 

;縦サイズ分繰り返す 

440 


DEFW 

20M8 + 44+VRAMMODOKI 


329 

EXX 


441 


DEFW 

CPATA 


330 

LD 

HL,-1148 

; HL=-48x6+4 

442 


DEFB 

0,0,0 


331 

ADD 

HL,DE 

;DE が次の列を指すように 

443 

; 




332 

EX 

DE f HL 

;補正する 

444 

ADAT3 : 

DEFB 

1,44,10 ;イ 

ぺ 

333 

EXX 



445 


DEFW 

10*48+44+VRAMMODOKI 


334 

DEC 

C 

;横サイズ分返す 

446 


DEFW 

CPATB 


335 

JP 

NZ,EXMAP1 


447 


DEFW 

MOVDATB 



• MZ-700 ではここまでを刖除する 


DEFS 

DEFS 

DEFS 

DEFS 


1 キャラスクロールカウンタ 
4 キャラスクロールカウンタ 
現在のマップデータへのボインタ 
仮想 VRAM 上の HOME 位匿アドレス 


344 

345 

346 

347 IVNT : 

348 

349 

350 

351 

352 

353 

354 

355 

356 

357 

358 

359 

360 

361 IVNT0 : 

362 

363 

364 

365 

366 

367 

368 

369 

370 

371 

373 IVNTP : 

374 IVNTC : 

375 

376 

377 

378 IJMPTBL: 


’ペント迅理 


LD 

HL,IVNTC 

RRC 

(HL) 

RET 

NC 

LD 

LD 

HL,(IVNTP) 
A,(HL) 

INC 

HL 

LD 

(IVNTP),HL 

OR 

A 

RET 

Z 

JP 

P.IVNT1 

CP 

-1 

JR 

NZ,IVNT0 

SCF 


RET 


SUB 

80H 

ADD 

A,A 

LD 

E,A 

LD 

D,0 

LD 

HL,IJMPTBL 

ADD 

HL.DE 

LD 

B,(HL) 

INC 

HL 

LD 

D,(HL) 

EX 

JP 

DE.HL 

(HL) 

DEFS 

2 

DEFB 

0 


(HL )= カウンタ 
カウンタを進める 
NC であればイペント無 
HL= イベントデ-タボイ 
A = イベントコード 
イペントデータポインタ 


ンタ 


++ 


448 

449 : 

450 ADAT4 : 

451 

452 

453 

454 

455 ; 

456 ADAT5 : 

457 

458 

459 

460 

461 


DEFB 0 

DEFB 1,44,15 ; イペン 1 

DEFW 15M8 + 44+VRAMMODOKI 

DEFW CPATB 

DEFW MOVDATB 

DEFB 0 

DEFB 1,44,20 •,イペン 

DEFW 20*48+44+VRAMMODOKI 

DEFW CPATB 

DEFW MOVDATB 

DEFB 0 


無効イペントか? 

そうであれば RET 
80H 以下であれば敵登壜イベント 
終了イペントか? 
そうでなければその他のイペン 
おしまいの印 

80H 以上のイ ペン ト処理へ 
ジャンブテーブルを用いて 
分岐する 


462 

463 

464 

465 INITWK : LD 

466 LD 

467 LD 

468 INIWK0: LD 


敵キャラクタデータバッファの初期化 


ADD 

DJNZ 

RET 


469 

470 

471 

472 

473 

474 

475 MOVETEKI : 

476 LD 

477 LD 

478 MOVELP : PUSH 


HL.CHRBUF 
DE.BUFSIZ 
B,CHRMAX 
(HL),DEAD 
HL.DE 
INIWK0 


敵の移動処理 


『ペン 

「ペン 


トデータボインタ 
^カウンタ 


ペントジヤンブテーブル 


479 

480 

481 

482 

483 

484 

485 

486 

487 

488 TBKISUB : 

489 DEC 

490 ADD 


LD 

INC 

CALL 

LD 

ADD 

POP 

DJNZ 

RET 


IX.CHRBUF 
B,CHRMAX 
BC 

A,(IX+TYPE) 
A 

NZ.TEKISUB 
DE.BUFSIZ 
IX, DE 

MOVELP 


A,A 


HL = バッファ先頭 
DE= バッファサイズ / 1 機 
B = 敵最大数 
CHRBUF.TYPE=DEAD 
ボインタを遒めて 
敵の最大数分繰り返す 


IX = 敵バッファ先頭 
B = 敵の最大数 
ループカウンタを待避 
A=CHRBUF.TYPE 
死んでいるか? 

生きていれば移動処理 > 
ボインタを進め 


;A を増やしていた分を補正 
;以下は 典 S 的な 


►おおつ!ひさびさに清水和人の登場だあつ!やつぱ,この人が書かないといまいち 
ありがたみがありませんね。 R - TYPE ももちろん清水さんが書くんでしよう。ところで 
ROGUE スゴロタで思い出したけど,私は歯に衣を着せない記亊を書いていた,吉田幸一氏 
が好きだったんだけどなあ。 高野勤 (19) 福岛斟 


68 Oh ! X 1989.1. 



























491 

492 

493 

494 

495 

496 

497 

498 

499 

500 ; 

501 JMPTBL : 

502 

503 


504 

505 ; 

506 ; 

507 ; 

508 TBKIA : XOR 

509 JR 

510 ; 

511 ; 敵タイブ B 

512 ; 

513 TEKIB: LD 

514 LD 

515 TKKIB0 : LD 


LD E,A 

LD D,0 

LD HL,JMPTBL 

ADD HL,DE 

LD E,(HL) 

INC HL 

LD D,(HL) 

EX DE.HL 

JP (HL) 


DEFW TEKIA,TEKIB,DMY,DMY 

DEFW DMY,DMY,DMY,DMY 

DEFW DMY,DMY,DMY,DMY 

DEFW DMY,DMY,DMY,DMY 


ジャンプテーブルの 
利用方法 


敵タイブ A (B 遒)移動进理 


A 

MOVEtPUT 


; A= 向きコード 0 
; 移齡&表示 


(左メ 



タバッファ初期化 


HL.EMSLBUF 

DE.EMBFSIZ 

B.EMSLMAX 

(HL),DEAD 

HL,DE 

INIEMSL 


HL = バッファ先頭 
DE = バッファサイズ 
B= 敵 W の最大数 
EMSLBUF.X=DEAD 
ポインタを遒ぬる 
敵彌の最大数分»り返す 


驊バヅファの空きエリアを探す 


out 


CY=1 

CY=0 


( 蛇行〉移動処理 


516 

517 

518 

519 

520 


INC 

CP 

JR 

LD 

JR 


521 TEKIB1:LD 


522 

523 

524 

525 

526 

527 

528 

529 

530 MOVDATB : 

531 

532 

533 

534 

535 

536 

537 

538 

539 M0VE4PUT : 


LD 

CALL 

RET 

LD 

CP 

RBT 

JP 


DBFB 

DEFB 

DBFB 

DEFB 

DEFB 


L, (IX+WORK1) 
H,(IX+WORK2) 
A,(HL) 

HL 

-1 

NZ.TEKIBl 
HL,MOVDATB 
TBKIB0 
(IX+WORK1),L 
(IX+WORK2),H 
MOVEAPUT 
C 

A,(IX+X) 

20 

NZ 

EFIRE 


7,0 

0,1 

0,1 

7,0 


敵の移動 • 表示矩理 


540 

541 

542 

543 

544 

545 

546 

547 

548 

549 

550 MOVE : 

551 

552 

553 

554 

555 

556 

557 

558 

559 

560 

561 

562 

563 

564 

565 

566 

567 

568 

569 

570 

571 

572 

573 

574 

575 

576 

577 

578 

579 

580 GOOUT : 

581 

582 

583 

584 

585 

586 DXDYDA : 

587 

588 

589 

590 

591 

592 

593 

594 

595 

596 

597 

598 

599 

600 
601 
602 

603 ; . 


CALL 

RET 

CALL 

OR 

RET 

向きコ ■ 


ADD 

ADD 

LD 

LD 

LD 

ADD 

LD 

INC 

ADD 

CP 

JR 

LD 

LD 

INC 

ADD 

CP 

JR 

LD 

INC 

LD 

LD 

LD 

ADD 

LD 

LD 

OR 

RET 


MOVE 

C 

PUT 

A 


HL = 移動データへのボインタ 

A = 向きコード 
移動データポインタ ++ 

移動データの終 * か? 
そうでなければ分被 
HL = 移動データ先頭 
もつべんやり直し 
移動データポインタを更新 

移動&表示 

CY=1 なら死んでいる 
X 座樣が 

20 でないのなら 
リターン 

X=20 なら獰を擊つ 
敵タイブ B 移動データ 


: データの終わりは -1 で表す 


;移動して 

;死んでいたら表示しない 
;表示する 


_ドによる敵移動処理 
in a = 向きコード 

IX= データバッフ 


A,A 
A, A 

HL,DXDYDA 
E,A 

D, 0 
HL.DE 
A,(HL) 

HL 

A, (IX+X) 

46 

NC,GOOUT 
(IX+X),A 
A,(HL) 

HL 

A,(IX+Y) 

30 

NC,GOOUT 

E, (HL) 

HL 

D,(HL) 

L, (IX+ADRL) 
H, (IX+ADRH) 
HL.DE 

(IX+ADRL),L 
(IX+ADRH),H 


Kx2 

Kx4 


ブル先頭 


A= 向きコ ■ 

A = 向き コ, 

HL = 変位 データ テ ■ 
DE= 向きコード x4 

それを HL に足す 
A=X 座標変位 (=DX ) 


A=X+DX 

X 座標は既定範囲内か? 
そうでなければ殺す 
X 座標更新 
A=Y 座標変位 (=DY) 

A=Y+DY 

Y 座樣は既定範囲内か 
そうでなければ殺す 
DE= アドレス変位 ( =DA> 


HL = 表示アドレス 


HL=ADR+DA 
表示アドレス更新 


CY=0. .•生きている 


敵キャラを殺す 

LD (IX+TYPE) .DEAD • ,敵タイブ :: DEAD 

SCF ;CY=1 • ..死んでいる 

RET 

向きコードに対応する座標.アドレス変位テーブル 


624 EMALCL : 

625 

626 

627 

628 

629 

630 

631 

632 

633 

634 

635 

636 

637 

638 

639 

640 

641 

642 

643 

644 

645 

646 

647 

648 

649 

650 

651 

652 

653 

654 

655 

656 

657 

658 

659 

660 
661 
662 

663 

664 

665 

666 

667 

668 

669 

670 

671 

672 

673 

674 

675 

676 


679 

680 
681 
682 

683 

684 

685 

686 

687 

688 ; 

689 

690 

691 

692 

693 

694 

695 GETDA: LD 

696 GETDA1 : LD 


IY,EMSLBUF 

DE.EMBFSIZ 

B.EMSLMAX 

A,(IY+EMX) 

44 

NC 

A,(IY+EMY) 

28 

NC 

IY.DB 

EMALCL 


彌の発射姐理 


EFIRE: C 

ALL 

EMSLALC 

F 

ET 

C 

1 

D 

A, (IX+X) 

L 

D 

(IY+EMX),A 

I 

D 

A,(IX+Y) 

L 

D 

(IY+EMY),A 

I 

D 

A,(IX+ADRL) 

1 

D 

(IY+EMADRL),A 

1 

>D 

A,(IX+ADRH) 

L 


(IY+KMADRH),A 

I 


(IY+EMP),128 

1 

-D 

A,(MSY) 


;UB 

(IX+Y) 

( 

ALL 

SGN&ABS 

I 


(IY+KMDY0),B 

I 


(IY+EMDY1),B 

I 

jD 

E,A 

I 


A,(MSX) 


SUB 

(IX+X) 

C 

^ALL 

SGN&ABS 

! 

iD 

iD 

(IY+EMDX0),B 
(IY+EMDX1),B 

] 


C,A 

( 

: P 

E 


rR 

Z,EFIRXY 


FR 

C.EFIRY 

EFIRX:] 

iD 

H,E 
し, 0 

( 

: ALL 

DIV 



(IY+EMDP),L 



(IY+EMDY0),0 

! 

【R 

SETDA 

EFIRY: 1 

iD 

H,C 


iD 

L,0 


iD 

C,E 

1 

: ALL 

DIV 


,D 

(IY+EMDP),L 

I 

iD 

(IY+EMDX0),0 

JR 

SETDA 

EFIRXY : LD 

(IY+EMDP),0 

SETDA : LD 

E,(IY+EMDX0) 

LD 

D,(IY+EMDY0) 

CALL 

GETDA 

LD 

(IY+EMDA0L),L 

LD 

(IY+EMDA0H),H 

LD 

E,(IY+EMDX1) 

LD 

D,(IY+EMDY1) 

CALL 

GETDA 

LD 

(IY+EMDA1L),L 

LD 

(IY+EMDA1H),H 


你ぎ無 I 

IY = 空きエリアへのポインタ 


1 丫=バッファ先頭 
DB = バッファサイズ 

B = 敵禪の最大数 

A= 敵獐 X 座標 
X 座樣は 44 以上か? 

そうなら空き領域 
敵 # Y 座標 
Yft 樣は 28 以上か? 

そうなら空き薄域 
ボインタを進める 
バッファの終わりまで繰り返す 
空き領域が見つからなかった 


敵薅バッファの空きを探す 
CY=1 な 6 空きが無い 
X 座標をセット 

Y 座標をセット 


表示アドレスをセツ 


W 率の初期値 
自機の Y 座標と 

敵の Y 座標の差を求める 
その符号と絶対値を求める 
B=SY 

E=DY 

自饑の X 座様と 

敵の Y 座標の差を求める 
その符号と絶対植を求める 
B=SX 

C=DX 

DX と DY を比べる 
等しければ 45 度方向 
DY が大きければ急な傾き 
HL=DYx256 

C=DX 

HL を C で割る 

確率のステップ®をセット 
普段は Y 座標は変化しない 

HL=DXx256 

C=DY 

HL を C で割る 

«率のステップ値をセット 
替段は X 座標は変化しない 

45 度方向だから毎回同じ方向 

E=DX 

D=DY 

DX,DY に対応するアドレス変位を得て 
セット 

K=DX* 

D=DY* 

DX* ,DY * に対応するアドレス変位を得 
セツト 


OR A 

RET 

DX , DY に対応するァドレス変位を求める 
in E=DX,D=DY 

out HL=DA 


DEFB 

DEFW 

DEFB 

DEFW 

DEFB 

DEFW 

DBFB 

DEFW 

DEFB 

DEFW 

DEFB 

DEFW 

DEFB 

DEFW 

DEFB 

DEFW 


-49 

0.-1 

-48 

1,-1 

-47 

1,0 


49 

0,1 

48 


左上 


右上 


右下 


左下 


697 

698 

699 

700 

701 

702 

703 

704 

705 

706 

707 

708 RET 

709 GKTDA2 : INC 

710 GETDA3 : INC 


INC 

CP 

JR 

LD 

INC 

CP 

JR 

LD 

INC 

LD 

LD 


711 

712 

713 

714 

715 


INC 

JR 


HL,DXDYDA 
A,(HL) 

HL 

E 

NZ,GKTDA2 
A,(HL) 

HL 

NZ.GETDA3 
A,(HL) 

HL 

H,(HL) 

L,A 

HL 

HL 

HL 

GKTDA1 


HL= テーブル先頭 
A=DXn 

DX と比べて 

一致しなければスキップ 
A=DYn 

DY と比べて 

—致しなければスキップ 
HL にアドレス変位を取り出す 


ボインタを遒める 


•致するまで雄り返す 


幕 If 給ヒ対 Y を滅得*る結果の 


► m は成校のころ,茂楽部介唱班に所城していたのですが,音楽の基本的な部分はなにも 
知らないままに,てきと一にやっていました。でも,12月号の特集のおかげで,昔栾とい 
うものが少しはわかったような気がします。 小林到 us ) 


Z 80 マシン語ゲームエ房が5 























716 

717 

718 

719 

720 SGN&ABS : 

721 

722 

723 

724 

725 

726 MINS: 

727 

728 

729 


in 

out 


A,F 

A=ABS 

B=SGN 


LD 

RET 

JR 

INC 

RET 

NEG 

DEC 

RET 


B, 0 
Z 

C. MINS 
B 


減算結果が 0 であれば戻る 

減算結果が負なら分岐 

B=1 

SGN=1 

A=-A 

B=-l 

SGN=-1 


730 


HL/C=HL 

• • A 


731 





732 DIV: 

XOR 

A 

A には余りが入る 

733 


LD 

B,16 

16 ビットだから 

734 DIV0: 

ADD 

HL,HL 

被除数の最上位ビットを 

735 


RLA 


A レジスタに取り込む 

736 


INC 

L 

仮に 1 を立てる 

737 


SUB 

C 

除数を引いてみて 

738 


JR 

NC,DIV1 

引けたらそれでよし 

739 




引けなかったら 

740 


DEC 

L 

1 は立たなかった 

741 


ADD 

A,C 

引きすぎたから直す 

742 DIV1 : 

DJNZ 

DIV0 

16 ビット分繰り返す 

743 


RET 


HL/C=HL...A 

744 





745 


敵彌移療 

• 表示»理 


746 





747 MOVEKMSL : 



748 


LD 

IX,EMSLBUF 

ix = 敵彌データバッファ 

749 


LD 

B,EMSLMAX 

B = 敵薅の最大数 

750 


LD 

HL,EMSLCNT 

カウンタを進め 

751 


RRC 

(HL) 


752 


JR 

NC.MOVBM3 

NC であれば移動しない 

753 

10VEML : 

PUSH 

BC 

ループカウンタを待避 

754 


CALL 

MOVEMC 

死んでいるかどうかチェ 

755 


JR 

NC,MOVEM2 

NC であれば死んでいる 

756 


LD 

A,(IX+EMP) 

確率カウンタに 

757 


ADD 

A,(IX+EMDP) 

ステップ値を足して 

758 


LD 

(IX+EMP),A 

更新 

759 


JR 

C f MOVEM0 

256 を越えたなら分岐 

760 


LD 

E,(IX+BMDX0) 

E=DX 

761 


LD 

D,(IX+EMDY0) 

D=DY 

762 


LD 

C,(IX+EMDA0L) 

BC=DA 

763 


LD 

B,(IX+EMDA0H) 


764 


JR 

MOVEM1 


765 MOVEM0 : 

LD 

E,(IX+EMDXl) 

E=DX* 

766 


LD 

D,(IX+EMDY1) 

D=DY* 

767 


LD 

C,(IX+EMDA1L) 

BC=DA J 

768 


LD 

B,(IX+EMDA1H) 


769 MOVEM1 : 

LD 

A,(IX+EMX) 

X 座標を取り出し 

770 


ADD 

A,E 

変位を加えて 

771 


LD 

(IX+EMX),A 

更新 

772 


LD 

A,(IX+EMY) 

Y 座標を取り出し 

773 


ADD 

A,D 

変位を加えて 

774 


LD 

(IX+EMY),A 

更新 

775 


LD 

L,(IX+EMADRL) 

表示アドレスを取り出し 

776 


LD 

H,(IX+EMADRH) 


777 


ADD 

HL,BC 

変位を加えて 

778 


LD 

(IX+EMADRL),L 

更新 

779 


LD 

(IX+KMADRH),H 


780 


LD 

(HL),EMSLCHR 

その位置に敵禪を表示 

781 




ま以下の行を復活させる 

782 


LD 

DE,48 本 32 

敵彌の 

783 


ADD 

HL,DE 

アトリビュートを 

784 


LD 

(HL),EMSLATR 

書き込む 

785 




が MZ-700 専用追加部分 

786 M0VEM2 : 

LD 

DE,EMBFSIZ 

ポインタを 

787 


ADD 

IX, DE 

進めて 

788 


POP 

BC 

ループカウンタを取り出 

789 


DJNZ 

MOVEML 

バッファの終わりまで繰 

790 


RET 



791; 





792 M0VEM3 : 

LD 

DE,EMBFSIZ 

バッファサイズバ発 

793 MOVEM4 : 

CALL 

MOVEMC 

死んでいるかどうかチェ 

794 


JR 

NC,MOVEM5 

NC であれば死んでいる 

795 


LD 

L t (IX+EMADRL) 

表示アドレスを取り出し 

796 


LD 

H f (IX+EMADRH) 


797 


LD 

(HL),EMSLCHR 

その位置に敵#を表示 

798 




799 


PUSH 

DE 


800 


LD 

DE,48*32 

敵弾の 

801 


ADD 

HL,DE 

アトリビュートを 

802 


LD 

(HL) t EMSLATR 

窨き込む 

803 


POP 

DE 


804 




805 M0VEM5 : 

ADD 

IX,DE ; 

;ボインタを進めて 

806 


DJNZ 

MOVEM4 

:バッファの終わりまで 雄 

807 


RET 



808 ; 





809 MOVEMC : 

LD 

A,(IX+EMX) 

X 座標を取り出し 

810 


CP 

44 

最大 滷以上なら 

811 


RET 

NC 

死んでいる 

812 


LD 

A, (IX+EMY) 

Y 座搛を取り出し 

813 


CP 

28 

最大値 以上なら 

814 




死んでいる 

815 


RET 



816 





817 





818 


2x2 キャラの仮想 VRAM への害き込み 

819 





820 PUT : 

LD 

E,(IX+ADRL) 

;1) 丑 = キャラ左上の表示ア \ 

821 


LD 

D,(IX+ADRH) 


822 


LD 

L,(IX+PATL) 

!11 し=キャラバターン 

823 


LD 

H,(IX+PATH) 


824 




825 


PUSH 

DE 

:表示アドレスを保存 

826 


CALL 

PUT0 

; 仮想テキスト VRAM へ香き 

827 


POP 

DE 

;表示アドレスを愎帰 

828 


EX 

DE,HL 

; DE=DE+48*32 

829 


LD 

BC,48*32 



830 

831 

832 

833 

834 

835 

836 

837 

838 

839 

840 

841 

842 

843 

844 

845 

846 

847 

848 

849 

850 

851 

852 

853 

854 

855 

856 

857 

858 

859 

860 
861 
862 

863 

864 

865 

866 

867 

868 

869 

870 

871 

872 

873 

874 

875 

876 

877 

878 

879 

880 
881 
882 

883 

884 

885 

886 

887 

888 

889 

890 

891 

892 

893 

894 

895 

896 

897 

898 

899 

900 

901 

902 

903 

904 

905 

906 

907 
988 

909 

910 

911 

912 

913 

914 

915 

916 

917 

918 

919 

920 

921 

922 

923 

924 

925 

926 

927 

928 

929 

930 

931 

932 

933 

934 

935 

936 

937 

938 

939 

940 

941 

942 


ADD 

EX 


HL,BC 

DE,HL 


LDI 

LDI 

EX 

LD 


.ここまで 


DE,HL 

BC,46 


が MZ-700 専用 追加部分 
左上 
右上 

DE = キャラ左下の表示アドレス 



ADD 

EX 

LDI 

LDI 

RET 

HL f BC 

DE,HL 






左下 

右下 


一時停止処理 







PAUSE : 

CALL 

INKEY 






キー入力 


RL 

A 






トリガー 2 は ON ? 


RET 

M 






そうでなければ戻る 

PAUSE0 : 

CALL 

INKEY 






キー入力 


AND 

040H 






トリガ ー 2 が 


JR 

Z,PAUSE0 





鑪されるのを待つ 

PAUSE 1 : 

CALL 

INKEY 






キー入力 


CPL 







ビット反転 


AND 

060H 






トリガー 1 か 2 が 


JR 

Z,PAUSE1 





押されるのを待つ 

PAUSE2 : 

CALL 

INKEY 






キー入力 


RL 

A 






トリガー 2 が 


RET 

M 






鐘されるのを 


JR 

PAUSE2 





待つ 


ワークエリア 







MSBUF : 








自檯データバッファ 

MSFLAG : 

DBFS 

i 






フラグ 

MSX : 

DBFS 

i 






X 座標 

MSY : 

DBFS 

i 






Y 座標 

MSADR : 

DBFS 

2 






表示アドレス 

MSPAT : 

DEFS 

2 






キャラクタパターンへのポインく 

MSWK1 : 

DBFS 

1 






a [前のトリガーの状戆 

MSWK2 : 

DEFS 

1 






トリガーリビートカウンタ 

MSWK3 : 

DBFS 

1 






未使用 

EMSLCNT 










DEFS 

1 







MMSLBUF 








自彈データバッファ 


DEFS 

MBUFSIZ 本 MMSLMAX 



CHRBUF : 








敵キャラデータバッファ 


DEFS 

BUFSIZ*CHRMAX 




EMSLBUF 








敵彌データバッファ 


DEFS 

EMBFSIZ*BMSLMAX 



VRAMMODOKI : 







; 48x32 仮想テキスト VRAM 


DEFS 

48*32 











:-700 では以下の行を復活させる 

; AVRAMMODOKI : 







; 48x32 仮想アトリビュート VRAM 


DEFS 

48*32 










.. ここまでが MZ-700 専用追加部分 

PRGBND : 











マップ/イペン 

トデ《 




サンブル 


ィペン 

トデータ 

テ - 

ブル 

40 バイトで 1 面面 分 

IVNTDAT 










DEFB 

1,1,0 

0,2 

2 

0 

0 

,3,3,3,3,0,0,4,4 


DBFB 

4,4,0 

0,5 

5 

5 

5 

1010101011 • 1 } 0 • 0 


DEFB 

2,2,0 

0,3 

3 

3 

3 




DBFB 

0,0,4 

4,4 

4 

0 

0 

, 5,55 , 0«0 , 0,0 


DEFB 

1,1,0 

0,2 

2 

0 

0 


If 31313 f0f0f4f4 


DEFB 

4,4,0 

0,5 

5 

5 

5 




DEFB 

80H,0 

0,0 

1 

1 

0 

,0,2,2 f 0,0,3,3, 3,3 


DEFB 

0,0,4 

4,4 

4 

0 

0 

,5.5.5.5 a 0 9 0.0 f 0 


DEFB 

1,1,0 

0,2 

2 

0 

0 




DEFB 

3,3,3 

3,0 

0 

4 

4 

, 4,4 , 0 , 0 , 5,5,5,5 


DEFB 

0,0,0 

0,1 

1 

0 

0 

,2 

5,2,0,0,3,3,3,3 


DEFB 

0 , 0,4 

4,4 

4 

0 

0 




DEFB 

-1 






; 終雉は -1 で表す 


マッブデータテ 

ーブル 



60 バイトで 1 画面 分 


(« り返し使う時は最初と最後の 




ブロ 

ヅ 

クを同じにしておく〉 

MAPDAT: 

DEFB 

0,0,0, 

1,0, 

4, 

2 

2 

2,2,2,4 


DEFB 

0,0,0, 

0,0, 

4, 

2 

2 


1,2,2,4 


DBFB 

0,0,0, 

0,0, 

4, 

2 

2 

2,2,2,4 


DBFB 

5,1,0, 

0,1, 

4, 

5 

2 

2 

5,2,2,4 


DEFB 

5,0,0, 

0,0, 

4, 

5 

2 

2,3,2,4 


DEFB 

5,0, 0, 

0,5, 

5, 

5 

5 


5,3,2,5 


DEFB 

5,0,0, 

0,5, 

5, 

5 

5 

2 

!,2,2,5 


d6fb 

0,0,0, 

0,0, 

5, 

1 

2 

5 

5,2,2,5 


DEFB 

0,0,0, 

0,0, 

5, 

2 

3 

2 

1 , 2,2,5 


DEFB 

0,0,0, 

0,0, 

5, 

2 

2 

2 

5,2,2,5 


DEFB 

0,0,0, 

1,0, 

4, 

2 

2 

2 

1,2,2,4 


DEFB 

0,0,0, 

0,0, 

4, 

2 

2 

3 

1,2,2,4 


DEFB 

0,0,0, 

0,0, 

4, 

2 

2 

2 

:,2,2,4 


DEFB 

5,1,0, 

0,1, 

4 , 

5 

2 

2 

:,2,2,4 


DEFB 

5,0,0, 

0,0, 

4, 

5 

2 

2 

:,3,2,4 


DEFB 

5,0,0, 

0,5, 

5, 

5, 

5 

,2 

! , 3 , 2,5 

MAPEND : 










70 Oh ! X 1989.1. 
































































春ハスルゲーム2本立て 

皆さんあけましておめでとうございます。 
今年も S - OS をよろしくお願いいたします。 
ということで,新年はまずパズルゲームで 
S - OS 初めといきましょう。今回はボード版 
ソリティア風仕立ての LAST ONE とユニー 
クな ブロック タイ プパズルゲーム FUCK の 
2本立てです。どちらも比較的短いプログ 
ラムですから,気軽に入力してみてくださ 
い。 

こういったパズルゲームは一度,解法が 
わかってしまったら,楽しみはなくなって 
しまうのですが , LAST ONE はコンストラク 
シヨン機能つき,また FUCK も簡単に自作の 
面を構成していくことができますので全面 
クリアした人は (LAST ONE にはひとつだけ 

全機種共通システム掲載記事 


第75部パズルゲーム LAST ONE 
第76部ブロックゲーム FLICK 


絶対に解けない面も含まれています)オリ 
ジナル面を開発して友だちとデータ交換す 
るなどというぐあいに楽しみ方を広げてい 
くとよいでしょう。 

籲ついに新アセンブラ登場か 

お待たせしました。来月ではいよいよ z 
EDA に代わる新エディタアセンブラを発表 
する予定です。 

これまでに, S - OS 用としていろいろな 
言語が現れましたが,まだまだアセンブラ 
が S - OS の標準言語のようです。やはり,限 


られたメモリ空間の中でマシンの性能いっ 
ぱいのことを行おうとすると,どうしても 
マシン語を避けて通るわけにはいきません。 

初心者にはものすごく難しいと思われて 
いるマシン語もちゃんとステップを踏んで 
いけば,案外簡単なものだと思われる方も 
いるかもしれません。これまでアセンブラ 
が入手できなくてマシン語でのプログラミ 
ングに親しんでいなかった人も,これを機 
会に究極の言語,アセンブラを修得してみ 
てください。 


■85 年6月号 
序論 共通化の試み 

第 I 部 S - OS “ MAGE " 

第2部 Lfsp -85 インタプリタ 
第3部チェックサムブログラム 
■85 年7月号 

第4部マシン語プログラム開発入門 
第5部エディタアセンブラ ZEDA 
第6部デバッグツール ZAID 
■85 年8月号 

第7部ゲーム開発パッケージ BEMS 
第8部ソースジェネレータ ZING 
■85 年9月号 

インタラプト S - OS 番外地 
第9部マシン語入カツール MACINTO-S 
第10部 Lisp -85 入門⑴ 

■85 年10月号 

第丨丨部仮想マシン CAP - X 85 
連載 Lisp - 85入門⑵ 

■85 年 II 月号 
連載 Lisp - 85入門 (3) 

■85 年12月号 
第12部 Prolog -85 発表 
■86 年 I 月号 

第丨3部リ a ケータブルのお話 
第14部 FM 音源サウンドエディタ 

■ 86 年2月号 

第 15部 S-OS “ SWORD " 

第16部 Prolog - 85入門⑴ 

_86年3月号 
第17部 magiFORTH 発表 
逢載 Prolog -85 入門⑵ 

■86 年4月号 

第18部思考ゲーム JEWEL 
第 19部 LIFE GAME 
連載 基礎からの magiFORTH 
連載 Prolog -85 入門⑶ 

■ 86 年5月号 

第20部スクリーンエディタ E-MATE 
連載 実戦演習 magiFORTH 

■86 年6月号 
第21 部 Z 80 TRACER 
第22部 magiFORTH TRACER 
第23部ディスクダンプ&エディタ 
第24部 “ SWORD ” 2000 QD 
連載 対話で学ぶ magiFORTH 

特別付録 PC -8801 版 S-OS “ SWORD " 
_86年7月号 

第25部 FM 音源ミュージックシステム 
付録 FM 音源ボードの製作 

連載 計算カアップの magiFORTH 


特別付録 SMC-777 版 S-0S“SW0RD" 

■86 年8月号 

第 26 部対局五目並べ 

第 27 部 MZ- 2500 版 S-0S“SW0RD" 

_86 年 9 月号 

第 28 部 FuzzyBASlC 発表 
速載 明日に向かって magiFORTH 

■86 年10月号 

第 29 部ちょっと便利な拡張プログラム 
第 30 部ディスクモニタ DREAM 
第 31 部 FuzzyBASlC 料理法く 1> 

_86 年"月号 

第 32 部パズルゲーム H0TTAN 
第 33 部 MAZE in MAZE 
連載 FuzzyBASlC 料理法 <2> 

■86 年 12 月号 

第 34 部 CASL & COMET 
連載 FuzzyBASlC 料理法く 3> 

■ 87 年 I 月号 

第 35 部マシン語入カツール MACINT0-C 
連載 FuzzyBASlC 料理法く 4> 

■ 87 年 2 月号 

第 36 部アドベンチャーゲーム MARMALADE 
第 37 部テキアベ作成ツール C0NTEX 

■ 87 年 3 月号 

第 38 部魔法使いはアニメがお好き 
第 39 部アニメーションツール MAGE 
付録 “SWORD” 再掲載と MAGIC の摞準化 

■ 87 年 4 月号 

第 40 部 INVADER GAME 
第 41 部 TANGERINE 

■ 87 年 5 月号 

第 42 部 S-OS“SWORD” 変身セット 
第 4 3 部 MZ-700 用 "SWORD” を 0D 対応に 
■87 年 6 月号 

インタラプトコンパイラ物語 
第 44 部 FuzzyBASlC コンパイラ 
第 45 部エディタアセンブラ ZEDA-3 

■ 87 年 7 月号 

第 46 部 STORY MASTER 
_87 年 8 月号 

第 47 部パズルゲーム碁石拾い 
第 48 部漢字出カパッケージ JACKWRITE 
特別付録 FM-7'77 版 S-0S“SW0RD" 

■ 87 年 9 月号 

第 49 部リロケータブル逆アセンブラ Inside-R 
特別付録 PC- 8001 /880I 版 S-0S“SW0RD" 

■ 87 年 10 月号 

第 50 部 tiny CORE WARS 
第 51 部 FuzzyBASlC コンパイラの拡張 


第52部 Xlturb (^ S - OS “ SWORD " 

■87 年"月号 

序論 神話のなかのマイクロコンピュータ 
付録 S -0 S の仲間たち 
第53部もうひとつの FuzzyBASlC 入門 
第54部ファイルアロケータ& ローダ 
インタラプト S -0 S こちら集中治療室 
第55部 BACK GAMMON 
■87 年12月号 

第56部タニトルグラフィックパッケージ TURTLE 
第57部 XI turbo 版“ SWORD ” アフターケア 
ラインプリントルーチン 
特別付録 PAS 0 PIA 7 版 S -0 S “ SW 0 RD " 

■88 年 I 月号 

第58部 Fuzzy BASIC コンパイラ.奥村版 
付録 石上版コンパイラ拡張部の修正 

■88 年2月号 

第59部シューティングゲーム ELFES 
■88 年3月号 

第60部構造型コンパイラ言語 SLANG 
_88年4月号 

第61部デバッギングツール TRADE 
第62部シミュレーシヨンウォーゲーム WALRUS 
■88 年5月号 

第63部シューティングゲーム ELFES II 
第64部地底最大の作戦 
■88 年6月号 

第65部構造化言語 SLANG 入門⑴ 

第66部 Lisp -85 用 NAMPA シミュレーシヨン 
■88 年7月号 

第67部マルチウィンドウドライバ MW-I 
連載 構造化言語 SLANG 入門⑵ 

■88 年8月号 

第68部マルチウィンドウエディタ WINER 

■ 88 年9月号 

第69部超小型エディタ TED -750 
第70部アフターケア WINER の拡張 

■ 88 年10月号 

第71部 SLANG 用ファイル入出カライブラリ 
第72部シューティングゲーム MANKAI 
■88 年"月号 

第73部シューティングゲーム ELFES IV 

■ 88 年12月号 

第74部ソースジェネレータ S 0 URCERY 


* 以上のアプリケーションは,基本システムであ 
る S -0 S “ MACE " または S -0 S “ SW 0 RD " J ^ ないと 
動作しませんのでご注意ください P 





S 


THE 


THE SENTINEL 


71 





パズルゲ - 厶 last one 


全種種共通 s-os“sword ” 要 


中島 取^ Nakajima Satoshi 


はじめに 


昔 LSI ゲー ム にあった ボー ド状のパズル 
ゲームを 参考に S - 0 S 版を作ってみました0 
パズルに詳しい方ならソリティアという名 
前のほうがわかりやすいかもしれません。 
古典的な ゲームでルール も シンプルで すが, 
なかなか味わい深いものがあります。 

最近はシューテイングゲームが多くて , S 
-0 S のパズルゲームは久しぶりなのですが, 
プログラムサイズも 3 K バイトほどですので 
手軽に打ち込んでパズルを楽しんでみてく 
ださい。なお,入力の際は各機種のマシン 
語モニタまたは MACINTO-C などのマシ 
ン語入カツールを使ってリスト1を打ち込 
んでください。 


遊び方 SJ レール解説 


プログラムはリロケータブルに組まれて 
いますので適当な番地から読み込んで使つ 
てください。最初はデモモードになってい 



ますが s キーを柙すとゲーム開始です。.画 
面には十文字型の盤が表示され,その上に 
さまざまな配置で駒(@)が並んでいます。 
まず,どの面から始め’るかを決めます。+ 

と一のキーで順次駒の配置が変わっていき 
ますので,自分のやりたい面を選択してリ 
ターンキーで決定してください。 

点滅している力ーソルはテンキーの2, 

4, 6, 8またはカーソルキーによって移動し 
ていきます 0 ここで基本的なルールを説明 
しておきましよう。 

画面上の駒は隣に並んでいる駒を飛び越 
して移動していきます。カーソルを移動し 
てスペースキーで駒を選択し,移動方向に 
キーを押すことで駒を動かしてください。 
このとき飛び越された駒は盤上から取り除 
かれます。駒の移動は必ずほかの駒を飛び 
越すかたちでなくてはなりません(移動だ 
けはで'きない)。たとえば, 

@ @ @ @ 

のような配置で駒が並んでいるときは次の 
1手として4通りの手が考えられます。す 
なわち, 

1 ) @ @ @ 

2 ) @ @ @ 

3) @@ @ 

4) @ @ @ 

の4つです。 

しかし,その後の展開から2), 4) は適当 
ではありません。このまま 1) を進めると, 

@ @ @ 

@ @ 

@ 


久しぶりに S - OS 用のパズルゲームの登場 
です。ずらりと並んだピンを飛び越えて, 
ボード上にひとつだけピンを残すよ5にピ 
ンを取り去っていきます。あなたはいくつ 
面をクリアできるでしようか。コンストラ 
クシヨン機能付きで楽しさも広がります。 


のようになります。こうしていくと最後に 
は盤上に駒がひとつだけ残りますね。これ 
が画面の中央に残っていれば1面タリアで 
す。画面の中央以外の場所に残ってしまっ 
たら “ REGRETFUL ” と表示されますので, 
もう一度挑戦してみて〈ださい。実際には 
これが2次元で配置されていますのでもう 
少し複雑になります。 

これを読んだだけではよくわからないか 
もしれませんが,ゲームを起動するとオー 
トデモが始まりますのでそれをじっくり見 
てください。 


コンストラクシヨン 


面は0から29までの30面用意してありま 
す。途中で行き詰まったときはリターンキ 
一を押すと最初からやりなおすことができ 
ます。30面以降を選択したときは“ YOU C 
AN EDIT .” と表示されエディットモード 
に入ります。 カーソルを 移動し スペース キ 
一で駒のセット/リセットを行ってください。 
ひとつの面を作るとプログラムサイズが64 
バイトずつ増えていきます。それは画面の 
右側に常に表示されていますので,そのと 
おりにセーブしなおせば創作パターンの保 
存ができます。また,エディット中に C キ 
一を押すとその面以降のパターンは消去さ 
れますので注意してください。 

Profile 

◊中島さんは福岡県にお住まいの21歳,大学3年 
生です。マイコン歴は約5年の XI ユーザー。さ 
て,問題です。このゲームで解けない面は何面 
なのでしようか。 


リスト1 LAST ONE ダンプリスト 


A000 

CD 

F7 

IF 

7D 

FE 

20 

C2 

C4 

04 

A080 

52 

41 

54 

49 

4F 

4E 

00 

21 

EE 

A100 

34 

00 

DD 

BE 

00 

30 

D6 

AF 

84 

A008 

IF 

21 

39 

20 

11 

00 

00 

01 

AB 

A088 

13 

13 

CD 

IE 

20 

CD 

E2 

IF 

FF 

A108 

18 

0A 

DD 

7E 

00 

D6 

01 

30 

84 

A010 

09 

00 

CD 

97 

IF 

CD 

80 

IF 

F8 

A090 

50 

52 

45 

53 

53 

20 

5B 

53 

5B 

A110 

03 

DD 

7E 

01 

DD 

77 

00 

18 

CB 

A018 

11 

E8 

FF 

19 

E5 

DD 

El 

11 

C5 

A098 

5D 

20 

4B 

45 

59 

00 

CD 

3F 

72 

A118 

C4 

CD 

39 

20 

E9 

03 

CD 

39 

DC 

A020 

89 

05 

DD 

19 

DD 

22 

3A 

20 

DD 

A0A0 

20 

B5 

00 

2A 

22 

20 

E5 

ED 

13 

A120 

20 

FC 

03 

CD 

39 

20 

74 

05 

BE 

A028 

DD 

75 

09 

DD 

74 

0A 

11 

10 

D7 

A0A8 

53 

22 

20 

CD 

3F 

2 0 

BB 

05 

81 

A128 

FE 

2B 

28 

D0 

FE 

2D 

28 

DA 

4E 

A030 

00 

DD 

19 

DD 

22 

3D 

20 

DD 

2F 

A0B0 

D5 

FD 

El 

18 

28 

CD 

39 

20 

19 

A130 

FE 

0D 

28 

2A 

FE 

20 

28 

10 

B3 

A038 

75 

07 

DD 

74 

08 

11 

0E 

00 

F4 

A0B8 

49 

05 

FB 

53 

28 

11 

FD 

7E 

53 

A138 

FE 

43 

20 

05 

CD 

3C 

20 

0B 

9A 

A040 

DD 

19 

DD 

22 

40 

20 

DD 

75 

A7 

A0C0 

00 

FD 

23 

B7 

C0 

CD 

3F 

20 

C3 

A140 

05 

CD 

39 

20 

13 

04 

18 

D6 

30 

A048 

09 

DD 

74 

0A 

3E 

C3 

32 

39 

D0 

A0C8 

BB 

05 

D5 

FD 

El 

18 

EF 

El 

5B 

A148 

CD 

IB 

20 

EE 

6B 

CD 

F4 

IF 

41 

A050 

20 

32 

3C 

20 

32 

3F 

20 

CD 

0C 

A0D0 

El 

El 

22 

22 

20 

CD 

39 

20 

4C 

A150 

CD 

C4 

IF 

CD 

39 

20 

07 

04 • 

El 

A058 

D6 

IF 

CD 

3F 

20 

B8 

05 

D5 

B3 

A0D8 

5C 

02 

DD 

34 

00 

CD 

39 

20 

95 

A158 

7E 

EE 

6B 

77 

18 

C0 

CD 

39 

2C 

A060 

DD 

El 

DD 

36 

00 

00 

CD 

39 

D7 

A0E0 

6C 

03 

30 

35 

CD 

39 

20 

FC 

F6 

A160 

20 

EE 

04 

CD 

39 

20 

91 

03 

CC 

A068 

20 

5C 

02 

CD 

39 

20 

6C 

03 

13 

A0E8 

03 

CD 

39 

20 

74 

05 

FE 

2B 

CB 

A168 

CD 

39 

20 

DD 

04 

CD 

39 

20 

2D 

A070 

21 

13 

11 

CD 

IE 

20 

CD 

E2 

FF 

A0F&- 

28 

0A 

FE 

2D 

2 8 

14 

FE 

0D 

A4 

A170 

FC 

03 

CD 

39 

20 

74 

05 

FE 

9C 

A078 

IF 

44 

45 

4D 

4F 

4E 

53 

54 

39 

A0F8 

28 

69 

18 

E8 

DD 

7E 

01 

DD 

CA 

A178 

2B 

28 

81 

FE 

2D 

28 

8B 

FE 

B0 

SUM: 

FA 

39 

8F 

3C 

04 

AC 

29 

C4 DC04 

SUM: 

5A 

C7 

26 

D5 

D3 

A8 

9D 

B411DE 

SUM: 

5E 

17 

39 

5C 

21 

63 

C2 

7B 776F 


72 Oh ! X 1989.1. 


































A180 

0D 

28 

E0 

FE 

20 

28 

07 

CD 


2F 

A480 

28 

20 

37 

C9 

04 

CD 

39 

20 

72 

A780 

20 

20 

20 

20 

20 

20 

20 

20 

00 

A188 

39 

20 

13 

04 

18 

DF 

CD 

IB 


4F 

A488 

AC 

04 

D8 

04 

18 

2D 

0D 

CD 

AB 

A788 

20 

20 

20 

40 

40 

40 

20 

20 

60 

A190 

20 

FE 

40 

28 

08 

CD 

C4 

IF 


3E 

A490 

39 

20 

AC 

04 

D8 

0D 

18 

23 

29 

A790 

20 

20 

20 

40 

40 

40 

20 

20 

60 

A198 

CD 

C4 

IF 

18 

D0 

3E 

7B 

CD 


IE 

A498 

0C 

CD 

39 

20 

AC 

04 

D8 

0C 

C6 

A798 

20 

2B 

2B 

40 

40 

40 

2B 

2B 

8C 

A1A0 

F4 

IF 

CD 

C4 

IF 

CD 

39 

20 


E9 

A4A0 

18 

19 

05 

CD 

39 

20 

AC 

04 

0C 

A7A0 

20 

2B 

40 

40 

40 

40 

40 

2B 

B6 

A1A8 

FC 

03 

CD 

39 

20 

74 

05 

FE 


9C 

A4A8 

D8 

05 

18 

0F 

CD 

39 

20 

FC 

26 

A7A8 

20 

2B 

2B 

2B 

2B 

2B 

2B 

2B 

4D 

A1B0 

20 

20 

07 

3E 

40 

CD 

F4 

IF 


A5 

A4B0 

03 

54 

5D 

CD 

IB 

20 

FE 

40 

FA 

A7B0 

20 

20 

20 

2B 

2B 

2B 

20 

20 

21 

A1B8 

18 

DE 

C5 

CD 

39 

20 

62 

04 


47 

A4B8 

C8 

37 

C9 

CD 

39 

20 

FC 

03 

ED 

A7B8 

20 

20 

20 

2B 

2B 

2B 

20 

20 

21 

A1C0 

30 

06 

Cl 

CD 

C4 

IF 

18 

DA 


99 

A4C0 

CD 

IB 

20 

FE 

2B 

C8 

37 

C9 

F9 

A7C0 

20 

20 

20 

20 

20 

20 

20 

20 

00 

A1C8 

El 

C5 

44 

4D 

CD 

39 

20 

FC 


59 

A4C8 

CD 

39 

20 

CD 

04 

CD 

39 

20 

ID 

A7C8 

20 

20 

20 

2B 

2B 

2B 

20 

20 

21 

A1D0 

03 

3E 

2B 

CD 

F4 

IF 

EB 

CD 


04 

A4D0 

D2 

04 

CD 

39 

20 

D7 

04 

3E 

15 

A7D0 

20 

20 

20 

2B 

40 

2B 

20 

20 

36 

A1D8 

IE 

20 

3E 

2B 

CD 

F4 

IF 

Cl 


48 

A4D8 

00 

3D 

20 

FD 

C9 

C5 

06 

04 

F2 

A7D8 

20 

2B 

2B 

40 

40 

40 

2B 

2B 

8C 

A1E0 

CD 

39 

20 

FC 

03 

3E 

40 

CD 


70 

A4E0 

CD 

C4 

IF 

CD 

39 

20 

C8 

04 

A2 

A7E0 

20 

2B 

40 

40 

40 

40 

40 

2B 

B6 

A1E8 

F4 

IF 

CD 

C4 

IF 

C5 

16 

00 


9E 

A4E8 

10 

F6 

Cl 

C3 

C4 

IF 

DD 

7E 

C8 

A7E8 

20 

2B 

2B 

40 

2B 

40 

2B 

2B 

77 

A1F0 

0E 

07 

06 

07 

CD 

39 

20 

FC 


44 

A4F0 

01 

DD 

BE 

00 

C0 

FE 

63 

C8 

85 

A7F0 

20 

20 

20 

2B 

2B 

2B 

20 

20 

21 

A1F8 

03 

CD 

IB 

20 

FE 

40 

20 

01 


6A 

A4F8 

DD 

34 

01 

CD 

39 

20 

E9 

03 

24 

A7F8 

20 

20 

20 

2B 

2B 

2B 

20 

20 

21 

SUM : 

5F 

7F 

34 

43 

07 

27 

7F 

43 

EDAA 

SUM : 

FB 

1A 

03 

C5 

08 

32 

67 

D7 C1CA 

SUM : 

00 

42 

6C 

2D 

2D 

2D 

6C 

42 D123 

A200 

14 

10 

FI 

0D 

20 

EC 

Cl 

15 


04 

A500 

01 

40 

00 

EB 

09 

EB 

ED 

42 

4F 

A800 

20 

20 

20 

20 

20 

20 

20 

20 

00 

A208 

28 

05 

CD 

3C 

20 

6D 

01 

21 


E5 

A508 

ED 

B0 

C9 

CD 

C4 

IF 

DD 

7E 

71 

A808 

20 

20 

20 

40 

2B 

40 

20 

20 

4B 

A210 

0C 

0C 

CD 

IB 

20 

47 

21 

09 


91 

A510 

00 

3D 

DD 

77 

00 

DD 

77 

01 

E6 

A810 

20 

20 

20 

40 

40 

40 

20 

20 

60 

A218 

17 

CD 

IE 

20 

78 

FE 

40 

20 


F8 

A518 

CD 

39 

20 

EE 

04 

DD 

34 

00 

29 

A818 

20 

40 

40 

2B 

40 

2B 

40 

40 

B6 

A220 

18 

CD 

E2 

IF 

43 

4F 

4E 

47 


0D 

A520 

CD 

3C 

20 

DD 

00 

21 

1A 

0D 

4E 

A820 

20 

2B 

40 

40 

40 

40 

40 

2B 

B6 

A228 

52 

41 

54 

55 

4C 

41 

54 

49 


66 

A528 

CD 

IE 

20 

CD 

3F 

20 

00 

00 

37 

A828 

20 

40 

40 

2B 

40 

2B 

40 

40 

B6 

A230 

4F 

4E 

53 

21 

21 

20 

00 

18 


6A 

A530 

EB 

CD 

BE 

IF 

CD 

E2 

IF 

20 

83 

A830 

20 

20 

20 

40 

40 

40 

20 

20 

60 

A238 

10 

CD 

E2 

IF 

52 

45 

47 

52 


0E 

A538 

2D 

20 

00 

DD 

6E 

01 

2C 

CD 

92 

A838 

20 

20 

20 

40 

2B 

40 

20 

20 

4B 

A240 

45 

54 

46 

55 

4C 

21 

21 

20 


E2 

A540 

39 

20 

EC 

03 

IB 

EB 

C3 

BE 

CF 

A840 

20 

20 

20 

20 

20 

20 

20 

20 

00 

A248 

00 

CD 

39 

20 

DD 

04 

CD 

39 


0D 

A548 

IF 

C5 

D5 

E5 

CD 

18 

20 

CD 

70 

A848 

20 

20 

20 

2B 

2B 

2B 

20 

20 

21 

A250 

20 

74 

05 

FE 

0D 

20 

F7 

CD 


88 

A550 

IB 

20 

57 

01 

02 

00 

3E 

7B 

4E 

A850 

20 

20 

20 

2B 

40 

2B 

20 

20 

36 

A258 

3C 

20 

DD 

00 

AF 

CD 

30 

20 


05 

A558 

CD 

F4 

IF 

CD 

IE 

20 

CD 

39 

FI 

A858 

20 

2B 

2B 

40 

40 

40 

2B 

2B 

8C 

A260 

21 

06 

01 

CD 

IE 

20 

CD 

E2 


E2 

A560 

20 

D7 

04 

CD 

D0 

IF 

FE 

53 

08 

A860 

20 

2B 

40 

40 

2B 

40 

40 

2B 

A1 

A268 

IF 

50 

41 

54 

54 

45 

52 

4E 


3D 

A568 

28 

06 

10 

F2 

7A 

0D 

20 

E8 

BF 

A868 

20 

2B 

2B 

40 

40 

40 

2B 

2B 

8C 

A270 

3A 

00 

21 

1A 

01 

CD 

IE 

20 


81 

A570 

El 

D1 

Cl 

C9 

CD 

21 

20 

FE 

48 

A870 

20 

20 

20 

2B 

40 

2B 

20 

20 

36 

A278 

CD 

E2 

IF 

3D 

3D 

3D 

3D 

3D 


FF 

A578 

IB 

C0 

21 

39 

20 

11 

00 

00 

66 

A878 

20 

20 

20 

2B 

2B 

2B 

20 

20 

21 

SUM : 

10 

04 

F7 

23 

6F 

14 

9B 

2C 

41A8 

SUM : 

FI 

14 

FI 

3A 

8A 

69 

06 

33 509B 

SUM : 

00 

6C 

96 

42 

57 

42 

96 

6C EFBB 

A280 

3D 

3D 

3D 

3D 

3D 

00 

21 

IB 


6D 

A580 

01 

09 

00 

CD 

91 

IF 

C3 

FD 

47 

A880 

20 

20 

20 

20 

20 

20 

20 

20 

00 

A288 

02 

CD 

IE 

20 

CD 

E2 

IF 

4C 


27 

A588 

IF 

08 

D9 

El 

5E 

23 

56 

23 

DB 

A888 

20 

20 

20 

2B 

40 

2B 

20 

20 

36 

A290 

41 

53 

54 

20 

4F 

4E 

45 

00 


EA 

A590 

E5 

21 

00 

00 

19 

E5 

D9 

08 

E5 

A890 

20 

20 

20 

40 

40 

40 

20 

20 

60 

A298 

21 

1A 

03 

CD 

IE 

20 

CD 

E2 


F8 

A598 

C9 

08 

D9 

El 

5E 

23 

56 

21 

83 

A898 

20 

2B 

40 

40 

40 

40 

40 

2B 

B6 

A2A0 

IF 

3D 

3D 

3D 

3D 

3D 

3D 

3D 


CA 

A5A0 

00 

00 

19 

E5 

D9 

08 

C9 

08 

B0 

A8A0 

20 

40 

40 

40 

40 

40 

40 

40 

E0 

A2A8 

3D 

3D 

3D 

00 

21 

1A 

05 

CD 


C4 

A5A8 

D9 

El 

5E 

23 

56 

23 

E5 

21 

BA 

A8A8 

20 

2B 

2B 

40 

2B 

40 

2B 

2B 

77 

A2B0 

IE 

20 

CD 

E2 

IF 

2B 

2D 

3A 


9E 

A5B0 

00 

00 

19 

E5 

D9 

08 

D1 

C9 

79 

A8B0 

20 

20 

20 

2B 

2B 

2B 

20 

20 

21 

A2B8 

53 

45 

4C 

45 

43 

54 

00 

21 


El 

A5B8 

00 

IE 

00 

2A 

0D 

36 

36 

36 

F7 

A8B8 

20 

20 

20 

2B 

2B 

2B 

20 

20 

21 

A2C0 

1A 

07 

CD 

IE 

20 

CD 

E2 

IF 


FA 

A5C0 

32 

20 

36 

34 

34 

32 

32 

20 

74 

A8C0 

20 

20 

20 

20 

20 

20 

20 

20 

00 

A2C8 

43 

52 

3A 

53 

54 

41 

52 

54 


5D 

A5C8 

38 

34 

20 

36 

36 

20 

34 

2A 

76 

A8C8 

20 

20 

20 

2B 

2B 

2B 

20 

20 

21 

A2D0 

00 

21 

1A 

09 

CD 

IE 

20 

CD 


1C 

A5D0 

2A 

2A 

0D 

00 

00 

00 

00 

00 

61 

A8D0 

20 

20 

20 

2B 

2B 

2B 

20 

20 

21 

A2D8 

E2 

IF 

32 

34 

36 

38 

3A 

4D 


5C 

A5D8 

00 

00 

00 

00 

00 

00 

00 

00 

00 

A8D8 

20 

2B 

2B 

2B 

2B 

2B 

2B 

2B 

4D 

A2E0 

4F 

56 

45 

00 

21 

1A 

0B 

CD 


FD 

A5E0 

00 

00 

00 

00 

00 

00 

00 

00 

00 

A8E0 

20 

2B 

2B 

2B 

40 

2B 

2B 

2B 

62 

A2E8 

IE 

20 

CD 

E2 

IF 

53 

50 

3A 


E9 

A5E8 

00 

00 

00 

00 

00 

00 

00 

00 

00 

A8E8 

20 

2B 

2B 

40 

40 

40 

2B 

2B 

8C 

A2F0 

53 

45 

54 

2F 

52 

45 

53 

45 


4A 

A5F0 

00 

00 

00 

00 

00 

00 

00 

00 

00 

A8F0 

20 

20 

20 

40 

40 

40 

20 

20 

60 

A2F8 

54 

00 

21 

09 

03 

CD 

39 

20 


A7 

A5F8 

00 

00 

00 

00 

00 

00 

00 

00 

00 

A8F8 

20 

20 

20 

40 

40 

40 

20 

20 

60 

SUM : 

Cl 

AA 

IF 

76 

43 

09 

36 

A7 

A906 

SUM : 

3B 

B7 

A5 

10 

E5 

05 

63 

BB F7DA 

SUM : 

00 

57 

6C 

2D 

42 

2D 

6C 

57 8744 

A300 

23 

03 

21 

03 

09 

CD 

39 

20 


79 

A600 

00 

00 

00 

00 

00 

00 

00 

00 

00 

A900 

20 

20 

20 

20 

20 

20 

20 

20 

00 

A308 

23 

03 

21 

09 

09 

CD 

39 

20 


7F 

A608 

00 

20 

20 

2B 

2B 

2B 

20 

20 

01 

A908 

20 

20 

20 

2B 

2B 

2B 

20 

20 

21 

A310 

23 

03 

21 

0F 

09 

CD 

39 

20 


85 

A610 

20 

20 

20 

2B 

2B 

2B 

20 

20 

21 

A910 

20 

20 

20 

2B 

40 

2B 

20 

20 

36 

A318 

23 

03 

21 

09 

0F 

CD 

39 

20 


85 

A618 

20 

2B 

2B 

2B 

2B 

2B 

2B 

2B 

4D 

A918 

20 

2B 

2B 

40 

40 

40 

2B 

2B 

8C 

A320 

23 

03 

C9 

CD 

3F 

20 

3B 

03 


59 

A620 

20 

2B 

2B 

2B 

2B 

2B 

2B 

2B 

4D 

A920 

20 

2B 

40 

40 

40 

40 

40 

2B 

B6 

A328 

0E 

07 

CD 

IE 

20 

06 

07 

1A 


47 

A628 

20 

2B 

2B 

2B 

2B 

2B 

2B 

2B 

4D 

A928 

20 

40 

40 

40 

40 

40 

40 

40 

B0 

A330 

13 

CD 

F4 

IF 

10 

F9 

24 

0D 


2D 

A630 

20 

20 

20 

2B 

2B 

2B 

20 

20 

21 

A930 

20 

20 

26 

2B 

2B 

2B 

20 

20 

21 

A338 

20 

F0 

C9 

2B 

2D 

2D 

2B 

2D 


B6 

A638 

20 

20 

20 

2B 

2B 

2B 

20 

20 

21 

A938 

20 

20 

20 

2B 

2B 

2B 

20 

20 

21 

A340 

2D 

2B 

21 

20 

20 

21 

20 

20 


1A 

A640 

20 

20 

20 

20 

20 

20 

20 

20 

00 

A940 

20 

20 

20 

20 

20 

20 

20 

20 

00 

A348 

21 

21 

20 

20 

21 

20 

20 

21 


04 

A648 

20 

20 

20 

2B 

2B 

2B 

20 

20 

21 

A948 

20 

20 

20 

2B 

2B 

2B 

20 

20 

21 

A350 

2B 

2D 

2D 

2B 

2D 

2D 

2B 

21 


56 

A650 

20 

20 

20 

2B 

2B 

2B 

20 

20 

21 

A950 

20 

20 

20 

2B 

40 

2B 

20 

20 

36 

A358 

20 

20 

21 

20 

20 

21 

21 

20 


03 

A658 

20 

2B 

2B 

2B 

2B 

2B 

2B 

2B 

4D 

A958 

20 

2B 

2B 

40 

40 

40 

2B 

2B 

8C 

A360 

20 

21 

20 

20 

21 

2B 

2D 

2D 


27 

A660 

20 

2B 

2B 

40 

40 

40 

2B 

2B 

8C 

A960 

20 

2B 

2B 

40 

40 

40 

2B 

2B 

8C 

A368 

2B 

2D 

2D 

2B 

DD 

7E 

00 

FE 


09 

A668 

20 

2B 

2B 

2B 

40 

2B 

2B 

2B 

62 

A968 

20 

2B 

2B 

40 

40 

40 

2B 

2B 

8C 

A370 

IE 

F5 

38 

IE 

21 

09 

17 

CD 


77 

A670 

20 

20 

20 

2B 

40 

2B 

20 

20 

36 

A970 

20 

20 

20 

2B 

40 

2B 

20 

20 

36 

A378 

IE 

20 

CD 

E2 

IF 

59 

4F 

55 


09 

A678 

20 

20 

20 

2B 

2B 

2B 

20 

20 

21 

A978 

20 

20 

20 

2B 

2B 

2B 

20 

20 

21 

SUM : 

10 

CF 

B8 

2F 

92 

1A 

94 

A6 

A536 

SUM : 

C0 

22 

22 

8F 

B9 

8F 

22 

22 BA0D 

SUM : 

00 

57 

6C 

18 

57 

18 

6C 

57 2F17 

A380 

20 

43 

41 

4E 

20 

45 

44 

49 


E4 

A680 

20 

20 

20 

20 

20 

20 

20 

20 

00 

A980 

20 

20 

20 

20 

20 

20 

20 

20 

00 

A388 

54 

20 

20 

20 

20 

20 

00 

18 


0C 

A688 

20 

20 

20 

2B 

2B 

2B 

20 

20 

21 

A988 

20 

20 

20 

2B 

2B 

2B 

20 

20 

21 

A390 

0E 

F5 

21 

09 

17 

CD 

IE 

20 


4F 

A690 

20 

20 

20 

2B 

40 

2B 

20 

20 

36 

A990 

20 

20 

20 

2B 

2B 

2B 

20 

20 

21 

A398 

06 

11 

CD 

tl 

IF 

10 

FB 

CD 


CC 

A698 

20 

2B 

2B 

40 

40 

40 

2B 

2B 

8C 

A998 

20 

2B 

2B 

2B 

40 

2B 

2B 

2B 

62 

A3A0 

39 

20 

25 

05 

21 

0E 

01 

CD 


80 

A6A0 

20 

2B 

2B 

2B 

40 

2B 

2B 

2B 

62 

A9A0 

20 

2B 

40 

40 

40 

40 

40 

2B 

B6 

A3A8 

IE 

20 

CD 

39 

20 

E9 

03 

DD 


2D 

A6A8 

20 

2B 

2B 

2B 

40 

2B 

2B 

2B 

62 

A9A8 

20 

2B 

2B 

40 

40 

40 

2B 

2B 

8C 

A3B0 

4E 

00 

06 

08 

AF 

CB 

21 

17 


0E 

A6B0 

20 

20 

20 

2B 

2B 

2B 

20 

20 

21 

A9B0 

20 

20 

20 

40 

2B 

40 

20 

20 

4B 

A3B8 

FE 

0A 

38 

03 

0C 

D6 

0A 

10 


3F 

A6B8 

20 

20 

20 

2B 

2B 

2B 

20 

20 

21 

A9B8 

20 

20 

20 

2B 

2B 

2B 

20 

20 

21 

A3C0 

F4 

CB 

21 

CB 

21 

CB 

21 

CB 


83 

A6C0 

20 

20 

20 

20 

20 

20 

20 

20 

00 

A9C0 

20 

20 

20 

20 

20 

20 

20 

20 

00 

A3C8 

21 

B1 

CD 

Cl 

IF 

0E 

07 

06 


9A 

A6C8 

20 

20 

20 

2B 

2B 

2B 

20 

20 

21 

A9C8 

20 

20 

20 

2B 

40 

2B 

20 

20 

36 

A3D0 

07 

CD 

39 

20 

FC 

03 

CD 

39 


32 

A6D0 

20 

20 

20 

2B 

2B 

2B 

20 

20 

21 

A9D0 

20 

20 

20 

2B 

40 

2B 

20 

20 

36 

A3D8 

20 

07 

04 

7E 

CD 

F4 

IF 

10 


99 

A6D8 

20 

2B 

2B 

2B 

40 

2B 

2B 

2B 

62 

A9D8 

20 

2B 

40 

40 

40 

40 

40 

2B 

B6 

A3E0 

F0 

0D 

20 

EB 

01 

01 

03 

FI 


FE 

A6E0 

20 

2B 

2B 

40 

40 

40 

2B 

2B 

8C 

A9E0 

20 

40 

40 

40 

40 

40 

40 

40 

E0 

A3E8 

C9 

DD 

6E 

00 

26 

00 

29 

29 


8C 

A6E8 

20 

2B 

40 

40 

40 

40 

40 

2B 

B6 

A9E8 

20 

2B 

40 

40 

40 

40 

40 

2B 

B6 

A3F0 

29 

29 

29 

29 

CD 

3F 

20 

49 


19 

A6F0 

20 

20 

20 

2B 

2B 

2B 

20 

20 

21 

A9F0 

20 

20 

20 

2B 

40 

2B 

20 

20 

36 

A3F8 

06 

19 

EB 

C9 

78 

87 

80 

67 


B9 

A6F8 

20 

20 

20 

2B 

2B 

2B 

20 

20 

21 

A9F8 

20 

20 

20 

2B 

40 

2B 

20 

20 

36 

SUM : 

4F 

2F 

4C 

B8 

E7 

71 

6C 

03 

5615 

SUM : 

00 

42 

57 

D9 

2D 

D9 

57 

42 9573 

SUM : 

00 

57 

96 

18 

6C 

18 

96 

57 9C2E 

A400 

79 

87 

81 

6F 

C3 

IE 

20 

78 


69 

A700 

20 

20 

20 

20 

20 

20 

20 

20 

00 

AA00 

20 

20 

20 

20 

20 

20 

20 

20 

00 

A408 

87 

87 

87 

81 

D6 

09 

26 

ee 


IB 

A708 

20 

20 

20 

2B 

2B 

2B 

20 

20 

21 

AA08 

20 

20 

20 

2B 

2B 

2B 

20 

20 

21 

A410 

6F 

19 

C9 

FE 

32 

28 

22 

FE 


C9 

A710 

20 

20 

20 

2B 

2B 

2B 

20 

20 

21 

AA10 

20 

20 

20 

2B 

40 

2B 

20 

20 

36 

A418 

34 

28 

27 

FE 

36 

28 

2A 

FE 


07 

A718 

20 

2B 

40 

40 

2B 

40 

40 

2B 

A1 

AA18 

20 

2B 

2B 

40 

40 

40 

2B 

2B 

8C 

A420 

38 

28 

0F 

FE 

IF 

28 

12 

FE 


C4 

A720 

20 

2B 

2B 

2B 

40 

2B 

2B 

2B 

62 

AA20 

20 

40 

40 

40 

40 

40 

40 

40 

E0 

A428 

ID 

28 

17 

FE 

1C 

28 

1A 

FE 


B6 

A728 

20 

2B 

2B 

2B 

2B 

2B 

2B 

2B 

4D 

AA28 

20 

2B 

2B 

40 

40 

40 

2B 

2B 

8C 

A430 

IE 

C0 

05 

CD 

39 

20 

52 

04 


5F 

A730 

20 

20 

20 

2B 

2B 

ZB 

20 

20 

21 

AA30 

20 

20 

20 

2B 

40 

2B 

20 

20 

36 

A438 

D0 

04 

CD 

39 

20 

52 

04 

D0 


20 

A738 

20 

20 

20 

2B 

2B 

2B 

20 

20 

21 

AA38 

20 

20 

20 

2B 

40 

2B 

20 

20 

36 

A440 

05 

C9 

0D 

CD 

39 

20 

52 

04 


57 

A740 

20 

20 

20 

20 

20 

20 

20 

20 

00 

AA40 

20 

20 

20 

20 

20 

20 

20 

20 

00 

A448 

D0 

0C 

CD 

39 

20 

52 

04 

D0 


28 

A748 

20 

20 

20 

2B 

2B 

2B 

20 

20 

21 

AA48 

20 

20 

20 

2B 

40 

2B 

20 

20 

36 

A450 

0D 

C9 

CD 

39 

20 

FC 

03 

CD 


C8 

A750 

20 

20 

20 

2B 

40 

2B 

20 

20 

36 

AA50 

20 

20 

20 

40 

40 

40 

20 

20 

60 

A458 

IB 

20 

FE 

2B 

C8 

FE 

40 

C8 


32 

A758 

20 

2B 

2B 

40 

40 

40 

2B 

2B 

8C 

AA58 

20 

40 

40 

2B 

40 

2B 

40 

40 

B6 

A460 

37 

C9 

FE 

32 

28 

IE 

FE 

34 


A8 

A760 

20 

2B 

2B 

2B 

40 

2B 

2B 

2B 

62 

AA60 

20 

2B 

40 

40 

40 

40 

40 

2B 

B6 

A468 

28 

24 

FE 

36 

28 

2A 

FE 

38 


08 

A768 

20 

2B 

40 

40 

40 

40 

40 

2B 

B6 

AA68 

20 

2B 

2B 

40 

40 

40 

2B 

2B 

8C 

A470 

28 

30 

FE 

IF 

28 

OE 

FE 

ID 


C6 

A770 

20 

20 

20 

2B 

2B 

2B 

20 

20 

21 

AA70 

20 

20 

20 

40 

40 

40 

20 

20 

60 

A478 

28 

14 

FE 

1C 

28 

1A 

FE 

IE 


B4 

A778 

20 

20 

20 

2B 

2B 

2B 

20 

20 

21 

AA78 

20 

20 

20 

2B 

40 

2B 

2-0 

20 

36 

SUM : 

92 

52 

8D 

FB 

76 

15 

A5 

54 

AB74 

SUM : 

00 

42 

6C 

D9 

03 

D9 

6C 

421624 

SUM : 

00 

6C 

81 

2D 

AB 

2D 

81 

6C 788C 



m 


CO 

m 

z 

ゴ 



LAST ONE 73 






































AA80 20 20 20 20 20 20 20 20 : 00 
AA88 20 20 20 2B 40 2B 20 20 : 36 
AA90 20 20 20 40 40 40 20 20 : 60 
AA98 20 2B 40 40 40 40 40 2B : B6 
AAA0 20 40 40 40 40 40 40 40 : E0 
AAA8 20 2B 2B 2B 40 2B 2B 2B : 62 
AAB0 20 20 20 40 40 40 20 20 : 60 
AAB8 20 20 20 40 40 40 20 20 : 60 
AAC0 20 20 20 20 20 20 20 20 : 00 
AAC8 20 20 20 2B 2B 2B 20 20 : 21 
AAD0 20 20 20 2B 40 2B 20 20 : 36 
AAD8 20 2B 40 40 40 40 40 2B : B6 
AAE0 20 2B 40 2B 40 2B 40 2B : 8C 
AAE8 20 2B 40 40 40 40 40 2B : B6 
AAF0 20 20 20 2B 40 2B 20 20 : 36 
AAF8 20 20 20 2B 40 2B 20 20 : 36 


SUM : 00 57 AB 2D AB 2D AB 57 507F 

AB00 20 20 20 20 20 20 20 20 : 00 
AB08 20 20 20 2B 2B 2B 20 20 : 21 
AB10 20 20 20 40 40 40 20 20 : 60 
AB18 20 2B 2B 40 2B 40 2B 2B : 77 
AB20 20 2B 2B 40 40 40 2B 2B : 8C 
AB28 20 2B 2B 40 2B 40 2B 2B : 77 
AB30 20 20 20 40 40 40 20 20 : 60 
AB38 20 20 20 2B 2B 2B 20 20 : 21 
AB40 20 20 20 20 20 20 20 20 : 00 
AB48 20 20 20 2B 2B 2B 20 20 : 21 
AB50 20 20 20 2B 40 2B 20 20 : 36 
AB58 20 40 40 40 40 40 40 40 : E0 
AB60 20 2B 2B 40 40 40 2B 2B : 8C 
AB68 20 2B 2B 2B 40 2B 2B 2B : 62 
AB70 20 20 20 40 2B 40 20 20 : 4B 
AB78 20 20 20 40 2B 40 20 20 : 4B 


SUM: 00 57 57 57 2D 57 57 57 0188 

AB80 20 20 20 20 20 20 20 20 : 00 
AB88 20 20 20 40 2B 40 20 20 : 4B 
AB90 20 20 20 2B 40 2B 20 20 : 36 
AB98 20 40 40 40 40 40 40 40 : E0 
ABA0 20 40 40 40 40 40 40 40 : E0 
ABA8 20 2B 2B 2B 40 2B 2B 2B : 62 
ABB0 20 20 20 2B 40 2B 20 20 : 36 
ABB8 20 20 20 2B 40 2B 20 20 : 36 


ABC0 20 20 20 20 20 20 20 20 : M 
ABC8 20 20 20 2B 2B 2B 20 20 : 21 
ABD0 20 20 20 2B 40 2B 20 20 : 36 
ABD8 20 2B 2B 40 2B 40 2B 2B : 77 
ABE0 20 2B 40 40 40 40 40 2B : B6 
ABE8 20 2B 2B 40 40 40 2B 2B : 8C 
ABF0 20 20 20 2B 2B 2B 20 20 : 21 
ABF8 20 20 20 2B 40 2B 20 20 : 36 


SUM : 00 6C 8118 6C 18 81 6C A01E 

AC00 20 20 20 20 20 20 20 20 : 00 
AC08 20 20 20 2B 2B 2B 20 20 : 21 
AC10 20 20 20 2B 2B 2B 20 20 : 21 
AC18 20 2B 40 40 40 40 40 2B : B6 
AC20 20 2B 40 40 40 40 40 2B : B6 
AC28 20 2B 40 40 40 40 40 2B : B6 
AC30 20 20 20 40 40 40 20 20 : 60 
AC38 20 20 20 2B 40 2B 20 20 : 36 
AC40 20 20 20 20 20 20 20 20 : 00 
AC48 20 20 20 40 2B 40 20 20 : 4B 
AC50 20 20 20 2B 40 2B 20 20 : 36 
AC58 20 40 40 40 40 40 40 40 : E0 
AC60 20 40 40 40 40 40 40 40 : E0 
AC68 20 2B 40 40 2B 40 40 2B : A1 
AC70 20 20 20 40 2B 40 20 20 : 4B 
AC78 20 20 20 40 2B 40 20 20 : 4B 


SUM : 00 6C C0 6C 42 6C C0 6C 4D5F 

AC80 20 20 20 20 20 20 20 20 : 00 
AC88 20 20 20 2B 2B 2B 20 20 : 21 
AC90 20 20 20 40 2B 40 20 20 : 4B 
AC98 20 2B 2B 40 2B 40 2B 2B : 77 
ACA0 20 2B 40 40 40 40 40 2B : B6 
ACA8 20 2B 2B 40 40 40 2B 2B : 8C 
ACB0 20 20 20 40 40 40 20 20 : 60 
ACB8 20 20 20 2B 40 2B 20 20 : 36 
ACC0 20 20 20 20 20 20 20 20 : 00 
ACC8 20 20 20 2B 2B 2B 20 20 : 21 
ACD0 20 20 20 2B 40 2B 20 20 : 36 
ACD8 20 2B 40 2B 40 2B 40 2B : 8C 
ACE0 20 2B 2B 40 40 40 2B 2B : 8C 
ACE8 20 40 40 40 40 40 40 40 : E0 
ACF0 20 20 20 40 40 40 20 20 : 60 
ACF8 20 20 20 2B 40 2B 20 20 : 36 


SUM : 

00 

57 

81 

42 

6C 

42 

81 

57 D96B 

AD00 

20 

20 

20 

20 

20 

20 

20 

20 

00 

AD08 

20 

20 

20 

2B 

40 

2B 

20 

20 

36 

AD10 

20 

20 

20 

2B 

40 

2B 

20 

20 

36 

AD18 

20 

2B 

2B 

40 

40 

40 

2B 

2B 

8C 

AD20 

20 

2B 

40 

40 

40 

40 

40 

2B 

B6 

AD28 

20 

40 

2B 

40 

40 

40 

2B 

40 

B6 

AD30 

20 

20 

20 

2B 

40 

2B 

20 

20 

36 

AD38 

20 

20 

20 

2B 

2B 

2B 

20 

20 

21 

AD40 

20 

20 

20 

20 

20 

20 

20 

20 

00 

AD48 

20 

20 

20 

40 

40 

2B 

20 

20 

4B 

AD50 

20 

20 

20 

2B 

40 

40 

20 

20 

4B 

AD58 

20 

2B 

2B 

40 

40 

2B 

2B 

2B 

77 

AD60 

20 

2B 

40 

4 0 

2B 

40 

40 

2B 

A1 

AD68 

20 

2B 

2B 

2B 

40 

40 

2B 

2B 

77 

AD70 

20 

20 

20 

40 

40 

2B 

20 

20 

4B 

AD78 

20 

20 

20 

2B 

40 

40 

20 

20 

4B 

SUM : 

00 

57 

6C 

2D 

96 

2D 

6C 

57 EFD5 

AD80 

20 

20 

20 

20 

20 

20 

20 

20 

00 

AD 8 8 

20 

20 

20 

40 

40 

40 

20 

20 

60 

AD90 

20 

20 

20 

40 

40 

40 

20 

20 

60 

AD98 

20 

40 

40 

40 

40 

40 

40 

40 

E0 

ADA0 

20 

40 

40 

40 

2B 

40 

40 

40 

CB 

ADA8 

20 

40 

40 

40 

40 

40 

40 

40 

E0 

ADB0 

20 

20 

20 

40 

40 

40 

20 

20 

60 

ADB8 

20 

20 

20 

40 

40 

40 

20 

20 

60 

ADC0 

20 

20 

20 

20 

20 

20 

20 

20 

00 

ADC8 

20 

20 

20 

2B 

2B 

2B 

20 

20 

21 

ADD0 

20 

20 

20 

2B 

2B 

2B 

20 

20 

21 

ADD8 

20 

2B 

2B 

2B 

2B 

2B 

2B 

2B 

4D 

ADEO 

20 

2B 

2B 

2B 

2B 

2B 

2B 

2B 

4D 

ADE8 

20 

2B 

2B 

2B 

2B 

2B 

2B 

2B 

4D 

ADF0 

20 

20 

20 

2B 

2B 

2B 

20 

20 

21 

ADF8 

20 

20 

20 

2B 

2B 

2B 

20 

20 

21 

SUM : 

00 

81 

81 

2D 

18 

2D 

81 

81 F059 

AE00 

20 

20 

20 

20 

20 

20 

20 

20 

: 00 

AE08 

20 








: 20 

SUM : 

40 

20 

20 

20 

20 

20 

20 

20 E066 


リスト2 LAST ONE ソースリスト 


0000 
0000 
0000 
0000 
0000 
0000 
0000 
0000 
0000 
0000 
0000 
0000 
0000 
0000 
0000 
0000 
0000 
0000 
0000 
0000 
• 0000 
0000 
0000 
0000 
0000 
0000 
0000 
0000 
0000 
0000 
0000 
0000 
0000 
A000 
A000 
A0C0 
A00O 
A003 
A004 
A006 
A009 
A00C 
A00F 
A012 
A015 
A018 
A018 
A01B 
A01C 
A01D 
A01F 
A022 
A024 
A028 
A02B 
A02E 
A031 
A033 
A037 
A03A 
A03D 
A040 
A042 
A046 
A049 
A04C 
A04E 
A051 
A054 
A057 
A057 
A05A 
A05F 
A060 
A062 
A066 
A066 
A066 


LAST ONE for S-OS 


CD F7IF 
7D 

FE 20 
C2 C4IF 
2139 20 
11 00 00 
01 09 00 
CD 97IF 
CD 80 IF 

11 E8 FF 

19 

E5 

DD El 
1189 05 
DD 19 

DD 22 3A 20 
DD 75 09 
DD 74 0A 
1110 00 
DD 19 

DD 22 3D 20 
DD 75 07 
DD 74 08 
11 0E 00 
DD 19 

DD 22 40 20 
DD 75 09 
DD 74 0A 
3E C3 
32 39 20 
32 3C 20 
32 3F 20 


7 IGETPC BQU 

8 #PEEK 蠔 EQU 

9 #POKHd EQU 

10 #PRTHL BQU 

11 IPRTHX EQU 

12 *BELL EQU 

13 IGETKY EQU 

14 #LPTOF EQU 

15 #MPRNT EQU 

16 #PRNTS EQU 

17 #PRINT EQU 

18 #VER EQU 

19 #COLD EQU 

20 #CSR EQU 

21 #SCRN EQU 

22 #LOC EQU 

23 #FLGBT BQU 
24 参 WIDCH EQU 

25 ca EQU 

26 jp EQU 
27Id BQU 

28 PATNO EQU 

29 PATLM EQU 

30 LEFT EQU 

31 PMAX EQU 

32 CNT EQU 

33 

34 


$1F80 

$1F91 

$1F97 

$1PBE 

$1FC1 

$1FC4 

$1FD0 

$1FD6 

$1FE2 

$1FF1 

$1FF4 

$1FF7 

$1FPD 

$2018 

$201B 

$201E 

$2021 

$2030 

$2039 

$203C 

$203F 

0 


IX+0 

IX+1 

IX+2 


ADD 

PUSH 

POP 


52 

53 


LD 

CALL 

CALL 

PUSH 

POP 

LD 


#VER 

A,L 

20H 

NZ,#BBLL 

HL,ca 

DE t 0 

BC,9 

#POKE0 

#GBTPC 

DE f s-PC 

HL V DE 

HL 

IX 

DE,CALLR-s 
IX, DE 
(ca+1) f IX 

(IX+CR0-CALLR+1),L 
(IX+CR0-CALLR+2),H 
DE,JUHPR-CALLR 
IX.DB 

Up+i>,ix 

(IX+JR0-JUMPR+1) f L 
(IX*fJR0-JUMPR+2) t H 
DB t LDDER-JUMPR 
IX.DE 
<ld+l>,IX 

(IX+LR0-LDDBR+1) t L 

(IX+LR0-LDDER+2>,H 

A,$C3 

<ca>,A 

(jp),A 

(Id),A 


(IX+PATNO),0 


DEMONSTRATION 


A066 

A066 CD 39 
A06B CD 39 
A070 2113 
A073 CD IE 
A076 CD E2 
A079 44 45 
A080 52 41 
A087 2113 
A08A CD IE 
A08D CD E2 
A090 50 52 
A097 53 5D 
A09B CD 3F 
A0A3 2A 22 
A0A6 E5 
A0A7 ED 53 
A0AB CD 3F 
A0B0 D5 
A0B1 FD El 
A0E318 28 
A0B5 
A0B5 

A0B5 CD 39 
A0BA FB 53 
A0BC 2811 
A0BE 

AOBE FD 7E 
A0C1 FD 23 
A0C3 B7 
A0C4 C0 
A0C5 CD 3F 
A0CA D5 
A0CB FD El 
A0CD 18 EF 
A0CF 
A0CF 
A0CF 
A0CF 
AOCF El 
A0D0 El 
A0D1 El 
A0D2 22 22 
A0D5 CD 39 
A0DA DD 34 
A0DD 
AODD 
A0DD 
A0DD 
AODD 

AODD CD 39 
A0E2 30 35 
A0E4 

A0B4 CD 39 
A0E9 CD 39 
A0EE FE 2B 
A0F0 28 0A 
A0F2 FB 2D 
A0F4 2814 
A0F6 FB 0D 
A0F8 28 69 
A0FA 18 H8 
A0PC 
A0FC 
A0FC 
A0FC 

A0FC DD 7B 
A0FF DD 34 
A102 DD BE 
A105 30 D6 
A107 AF 
A10818 0A 
A10A 
A10A 
A10A 
A10A 

A10A DD 7E 
A10D D6 01 


45 53 53 20 5B 
20 4B 45 59 00 
20 B5 00 


22 20 
20 BB 05 


CALL ca DW SCRENl-s 
CALL ca DW SCREN2-S 
LD HL,$1113 
CALL #LOC 
CALL IMPRNT 

DM M DEMONSTRATION" DB 0 

LD HL, 黎 1313 
CALL #LOC 
CALL #MPRNT 

DM "PRESS [SJ KEY" DB 0 


CALL 


Id DW DEMOK-s 
HL •( 参 FLGET+1> 


97 

98 

99 DEMOK 
100 

101 

102 

103 DK0 

104 

105 

106 

107 

108 
109 
H0 
111 
112 

113 

114 

115 DEND 

116 

117 

118 

119 

120 
121 
122 
123 


CALL 

PUSH 

POP 


ca DW FLASH-s 
"S M 

Z,DEND 


RET 

CALL 

PUSH 

POP 


POP 

POP 

POP 


Id DW DEMOKD-s 


(#FLGET+1>,HL 
ca DW SCBBNl-s 
(IX+PATNO) 


124 

125 

126 SBL 

127 

128 

129 SL6 

130 

131 

132 

133 

134 

135 

136 

137 

138 

139 

140 ; 

141 ; 

142 PNINC 

143 

144 

145 

146 

147 

148 

149 

150 ; 

151 ; 

152 PNDEC 

153 

154 


SELECT PATTERN 


ca DW SCREN2-S 
NC.EDIT 


Z,PNDEC 
$0D 

Z,NORM 
SL0 


A f (IX+PATLM) 
(IX+PATNO) 
(IXfPATNO) 
NC f SEL 
A 

PD0 


A,(IXfPATNO) 


74 Oh ! X 1989.1. 


► サンダーフオース II スゲエー。ゲームセンターにあってもおかしくネエような画面じや 
ん(テレビで見たんだけど)。ちくしょ一, X 68000 さえ持ってれば……。しょうがないか 
ら XI テープ版が出るまで待つか。 植木繁吉 (18) 東京都 




























JR 

LD 

LD 

JR 


C,PD0 
f (IX+PAT1 


EDITABLE PATTERN 


EDIT 

ED0 


CALL ca DW PDENT-s 


EDI 

ED2 


Z,PNDBC 

$0D 

Z,NORM» 

Z V BD2 

W C •貧 

NZ.ED1 

jp DW CLRPAT-8 


JR 

CALL #SCRN 
XOR $6B 
CALL IPRINT 
CALL IBELL 
CALL ca DW IADR-a 
LD A,(HL) 

XOR $6B 
LD (UL) 9 A 
JR ED0 


NORMAL MODE 


NORM* 

NORM 


CALL ca DW ADDNEW-s 


Z.PNDEC 

)0D 

Z,NORM 


JR Z,NR1 

CALL ca DW MOVCHK-s 

JR NR0 


CALL #SCRN 
CP "e" 

JR . Z,NR3 
CALL #BELL 


NR3 

NR4 


CALL #BBLL 
CALL ca DW LOCCB-a 
CALL ca DW FLGET-a 
CP M " 

JR NZ,NR5 
LD A,”《" 

CALL #PRINT 
JR NR2 


PUSH BC 

CALL ca DW JMPCHK-b 
JR NC>NR6 
POP BC 
CALL #BELL 
JR NR4 


POP HL ; H1 

PUSH BC 
LD B f H 

LD C,L 

CALL ca DW LOCCB-s 


LD 


A,” 


CALL ♦PRINT 
EX DB V HL 
CALL #LOC 
LD A, M +" 

CALL 参 PRINT 
POP BC 

CALL ca DW LOCCB-a 
LD A, M « M 
CALL #PRINT 
CALL #BBLL 


LAST ONE OR NOT 
LSTONB 


LOO 

LOl 


PUSH 
LD D,0 
LD 


LD 


C,7 

B,7 


CALL ca DW LOCCB-s 
CALL #SCRN 

CP •• 省 ” 

JR NZ•L02 

INC D 

DJNZ LOl 

DEC C 

JR KZ f LO0 

POP BC 

DEC D 

JR Z,L03 

CALL jp DW NRO-a 


ld UL^ocec 

CALL #SCRN 
LD B,A 
LD HL,$1709 
CALL tLOC 
LD A,B 
CP ”9” 

JR NZ.L04 


ca DW BEEP-s 

ca DW FLGET-s 
SOD 

NZ,L06 
jp DW SEL-s 


;INITALIZB SCREEN 1 
SCRBN1 


► J&P に 通うこと約 1 週間 0 ついに サンダー フォース II を終わらせた。1 
たのがよかつたのだろう。しかし,5面の横 スクロールは 1週問もかかつ 
あ,明後 F 1 の入試もがんばろう(だめだな,こりや h 中原隆彰 


HL, $0106 

#LOC 

#MPRNT 


••PATTERN:" DB 0 


304 

305 

306 

307 

308 

309 

310 

311 

312 

313 

314 

315 

316 

317 

318 

319 

320 

321 


A221 CD E2IF 

A224 43 4F 4E 47 52 4154 

A22B 55 4C 4154 49 4F 4B 

A232 53 212120 00 

A237181C 

A239 

A239 

A239 CD E2IF 

A23C 52 45 47 52 45 54 46 

A243 55 4C 212120 00 

A249 

A249 CD 39 20 DD 04 
A24B 

A24B CD 39 20 74 05 

A253 FB 0D 

A255 20 F7 

A257 CD 3C 20 DD 00 

A25C 

A25C 

A25C 

A25C 

A25C 

A25C AF 

A25D CD 30 20 

A260 21 06 01 

A263 CD IB 20 

A266 CD E2IF 

A269 50 4154 54 45 52 4B 

A270 3A 00 

A272 211A 01 

A275 CD IB 20 

A278 CD E2IF 

A27B 3D 3D 3D 3D 3D 3D 3D 

A282 3D 3D 3D 00 

A286 21IB 02 

A289 CD IE 20 

A28C CD B2IF 

A28F 4C 4153 54 20 4F 4E 

A296 45 00 

A298 211A 03 

A29B CD IB 20 

A29E CD E2IF 

A2A1 3D 3D 3D 3D 3D 3D 3D 

A2A8 3D 3D 3D 00 

A2AC 211A 05 

A2AF CD IE 20 

A2B2 CD E2IF 

A2B5 2B 2D 3A 53 45 4C 45 

A2BC 43 54 00 

A2BF 211A 07 

A2C2 CD IE 20 

A2C5 CD E2IF 

A2C8 43 52 3A 53 54 4152 

A2CF 54 00 

A2D1211A 09 

A2D4 CD IB 20 

A2D7 CD E2IF 

A2DA 32 34 36 38 3A 4D 4F 

A2B156 45 00 

A2E4 211A 0B 

A2E7 CD IE 20 

A2BA CD E2IF 

A2KD 53 50 3A 53 45 54 2F 

A2F4 52 45 53 45 54 00 

A2FA 

A2FA 21 09 03 

A2FD CD 39 20 23 03 

A3C2 21 03 09 

A305 CD 39 20 23 03 

A30A 21 09 09 

A30D CD 39 20 23 03 

A312 21 0F 09 

A315 CD 39 20 23 03 

A31A 21 09 0F 

A31D CD 39 20 23 03 

A322 C9 

A323 

A323 

A323 CD 3F 20 3B 03 

A328 0E 07 

A32A 

A32A CD IE 20 
A32D 06 07 
A32F 
A32F 1A 
A330 13 
A331 CD F4IF 
A33410 F9 
A336 24 
A337 0D 
A338 20 F0 
A33A C9 
A33B 
A33B 

A33B 2B 2D 2D 2B 2D 2D 2B 

A342 2120 20 2120 20 21 

A349 2120 20 2120 20 21 

A350 2B 2D 2D 2B 2D 2D 2B 

A357 2120 20 2120 20 21 

A35E 2120 20 2120 20 21 

A365 2B 2D 2D 2B 2D 2D 2B 

A36C 

A36C 

A36C 

A36C 

A36C 

A36C DD 7H 00 
A36F FE IE 
A371 F5 

A372 38IE • 

A374 21 0917 

A377 CD IE 20 

A37A CD E2IF 

A37D 59 4F 55 20 43 414B 

A384 20 45 44 49 54 20 20 

A38B 20 20 20 00 

A38F 18 0E 

A391 

A391 

A391 F5 

A392 

A392 21 0917 
A395 CD IB 20 
A398 0611 
A39A 

A39A CD FI IF 
A39D 10 FB 
A39F 

A39F CD 39 20 25 05 

A3A4 21 0E 01 

A3A7 CD IE 20 

A3AA CD 39 20 E9 03 

A3AF 

A3AF DD 4E 00 
A3B2 06 08 
A3B4 AF 
A3B5 

A3B5 CB 21 
A3B717 
A3B8 FE 0A 

A3BA 38 03 

A3BC ec 

日数 ㈣ にとどめ 
てしまった。さ 
(18) 和歌山県 


322 

323 

324 

325 

326 

327 

328 

329 

330 

331 

332 

333 

334 

335 

336 

337 

338 

339 

340 

341 

342 

343 

344 

345 

346 

347 

348 

349 


LD HL,$C11A 
CALL #LOC 
CALL #MPRNT 
DM = : 


LD HL,$021B 
CALL 参し OC 
CALL #MPRNT 
DM "LAST ONE" DB 0 

LD HL t $031A 
CALL #LOC 
CALL 参 MPRNT 


DM 


DB 0 


LD HL f $051A 
CALL #LOC 
CALL IMPHNT 
DM SELECT" DB 0 

LD HL f $071A 
CALL #LOC 
CALL #MPRHT 
DM M CR : START" DB 0 

LD HL,$091A 
CALL #LOC 
CALL 参 MPRNT 
DM "2468: MOVE.’ DB 0 

LD HL,$0B1A 
CALL #LOC 
CALL IMPRNT 
DM "SP:SET/RESET" DB 


CALL 

LD 

CALL 


CALL 


CALL 


CALL 


CALL 


350 

351 

352 

353 

354 

355 

356 

357 

358 

359 

360 

361 

362 

363 ?BLCK 

364 

365 

366 ?B0 

367 

368 

369 ?B1 

370 

371 

372 

373 

374 

375 

376 

377 

378 

379 ?B2 

380 DM M +- 

381 DM M ! 

382 DM "! 

383 DM "♦ 

384 DM M ! 

385 DM ”! 

386 DM 

387 

388 ; 

389 ; INITIALIZE SCREEN 

390 ; 

391 SCRBN2 

392 LD A, 

393 CP 30 

394 PUSH 

395 JR 

396 LD 

397 CALL 

398 CALL 

399 DM 


HL,$0309 

ca DW ?BLCK-a 

HL t $0903 

ca DW ?BLCK-s 

HL,$0909 

ca DW ?BLCK-s 

HL,$090F 

ca DW ?BLCK-a 

HL f $0F09 

ca DW ?BLCK-s 


ld DW ?B2-s 
C,7 


ILOC 

B,7 


LD A t (DB) 
INC DE 
CALL #PRINT 
DJNZ ?B1 
INC H 
DEC C 
JR NZ,?B0 
RET 


C.SC20 

HL t $1709 

#LOC 

♦MPRNT 

"YOU CAN EDIT 


299 JR L05 

300 

301 L04 

302 CALL #MPRNT 

303 DM "REGRETFUL!! ” DB 


297 CALL #MPRNT 

298 DM "CONGRATULATIONS!! 


LD HL,$1709 

CALL #LOC 
LD B,17 


CALL ca DW SVARHA-a 
LD HL f $010E 
CALL #LOC 
CALL ca DW PDENT-b 


C,(IX+PATNO) 
B,8 


LAST ONE 


m 

GO 

m 

z 

—i 

z 

m 


75 


5678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456 
5555566666666667777777777888888888899999999990000000000111111111122222222223333333333444444444455555555556666666666777777777788888888889999999 
1111111111111111111111111111111111111111111112222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 


1 0 
0 0 

3 E 7 4 
c 7 T c 

CD D 8 


030305 

9 c 4 

E F 7 

o 0 0 
2 2 2 


5 4 
0 0 

fi 3 
0 1 

0 0 

2 2 


04 

07 

o F F 0 
2 112 


9 99B0DADA0035C 96 B B 4 4 9 B 0 
3 332D2D 0221403 3 D 1 6 F c 3 6 c 

D DDE8EBE8E8E0D D 8 DEDDDBE78 
c CCF2F2F2F2F2C cl CBCCC 7 E 71 


4 3 4 

0 o 0 

E ID 
B 9 D 

0 0 0 
2 2 2 

3 3 3 
D D D 

c c c 


F 7 1 

o 0 0 
2 2 2 

99B1DBD0079F 
3328280 E203D 

DDE8E8E8E8D8 

CCF2F2F2F2C1 


0 F F 

B 0 8 4 4 0 
140c CD 

D E 8 D D 8 
c F 2 c cl 


3 5 
0 0 

c 4 

F 7 

F poo F 
112 2 1 

B 4 4990704 E 
7 F c 33204 FD 

B D DDDE0ED8 
3C CCCF23C1 


04 

2 

6 

0 F 
2 1 

3 0 CD 

5 D 0 1 D 8 

c c 3 c c 1 


c c 

F F 

0 F 0 F 0 F F 
2 1 2 1 2 11 

9 B 4 E B 4 9 0 4 4 
3 2 F 1 2 F 3 4 p c 

154DDBDBDBD1DEDD 

EC44C3CEC3CCC3CC 


3 1 
0 0 

c D 
F 6 

0 0 0 c 0 7 0 
2 2 2 0 2 12 

0 7 7 9 B 0 1 1 c 5 c CB 9 E 0 8 
00 0 3140 F E 0 3 01 01 41 

5 6 E 6DDE0 4 0 D 0 15 8 D 1D71D8E0 
c 1 0 0 c c F 2 1 1 0 2 c 12 c 2C42C7F2 


FI 447999999 EE38ACE 02468 AC11688BD0389BCEEEEEE338DD279BDF1357CEHE13588BDDDF225AF1358AAAB 02368889 ABC1367ACF057ADDDDDDE 022449 CE 011346784 FFF2569DDF 
0111111111111222223333333444444455555555555566666777777888888889999999999 AAAAABBBBBBBBCCCCCCCCCCCDDDDDDDEEEEBBEEEEEFFFFFFFF 0000000000001111111 
111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111222222222222222 2222 
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 


LLLLLL 
CACACPJRCA 

L05L06 


N2* 

E 0 1 2 
R 2 2 2 

c c c c 
s s s s 




44444444 












LD A, (IX-fPATLM) 

CP (IX4-PATN0) 

RET NZ 

CP PMAX 

RBT Z 

INC (IX^PATLM) 

CALL ca DW PDENT-s 
LD BC f 64 

EX DB.HL 

ADD HL.BC 

EX DE,HL 

SBC HL t BC ; CF=0 t HL=PATDT 

LDIR 

RET 


USER f S PATTERN 


CALL #BELL 
LD A,(IX^PATHO) 
DEC A 

(IX^PATNO) f A 
<IX+PATLM>,A 
CALL ca DW ADDNEW^s 
INC (IX+PATNO> 

CALL jp DW SBL-s 


LD 

LD 


ifi AREA 


INC 

CALL 

DEC 


HL,$0D1A 
参 LOC 
Id DW 0 
DE,HL 
#PRTHL 
IMPRNT 
M DB e 
L,(IX+PATLM) 

L 

ca DW PDENT•- 


EX DB V HL 

JP #PRTHL 


PUSH BC 
PUSH DE 
PUSH HL 
CALL #CSR 
CALL 參 SCRN 
LD D t A 




ドラゴンには前足がなく,凋に 
ワイバーンである。だから本 
商山稔(19> 神奈川斟 


拿 1E 
Z, JC8 


INC B 

CALL ca DW JPSUBl-s 
RBT C 
INC B 
JR JPSUB2 


DEC C 

CALL ca DW JPSUB1- 
RET C 
DEC C 
JR JPSUB2 


INC C 

CALL ca DW JPSUBl-s 
RET C 
INC C 
JR JPSUB2 


DEC B 

CALL ca DW JPSUBl-a 
RET C 
DEC B 
JR JPSUB2 


10 F4 
CB 21 
1 CB 21 
• CB 21 
CB 21 
B1 


A3BD D6 0A 
A3BF 
A3BF 
A3C1 
A3C3 I 
A3C5 ( 

A3C7 i 
A3C9 I 
A3CA ( 

A3CD 
A3CD < 

A3CF 
A3CF ( 

A3D1 
A3D1' 

A3D6 i 
A3DB 7K 
A3DC CD F4IF 
A3DF 10 F0 
A3B1 0D 
A3E2 20 EB 
A3E4 01 01 03 
A3B7 FI 
A3E8 C9 
A3E9 
A3E9 
A3B9 
A3E9 
A3B9 

A3B9 DD 6E 00 
A3BC 

A3EC 26 00 
A3EE 29 
A3EP 29 
A3F0 29 
A3P129 
A3P2 29 
A3F3 29 

A3F4 CD 3F 20 49 06 

A3P919 

A3PA EB 

A3FB C9 

A3FC 

A3FC 

A3FC 

A3FC 

A3FC 

A3FC 78 

A3FD 87 

A3FE 80 

A3FF 67 


04 C3IE 20 


426 

427 SC24 

428 

429 

430 

431 

432 

433 

434 

435 

436 

437 SC25 

438 

439 SC26 

440 

441 

442 

443 

444 

445 

446 

447 

448 

449 

450 

451 


SUB 10 

DJNZ SC23 
SLA C 
SLA C 
SLA C 
SLA C 
OR C 
CALL #PRTHX 


LD 


B,7 


; No./10=C...A 


;Y 


CALL ca DW LOCCB-s 
CALL ca DW IADR-s 
LD A,(HL) 

CALL #PRINT 
DJNZ SC26 
DEC C 
JR NZ.SC25 
LD BC f $0301 
POP AF 
RBT 


PATTERN NO• x 64 


LD 

LD H v 0 

ADD HL t HL 

ADD HL,HL 

ADD HL,HL 

ADD HL t HL 

ADD HL f HL 

ADD HL f HL ; x 64 

CALL Id DW PATDT-s 

ADD HL t DE 

BX DE•HL 

RBT 


09 i 
0A I 


PE 32 
28 22 
FE 34 
28 27 
FE 36 
28 2A 
FE 38 
28 0F 
FB IF 
2812 
FE ID 
2817 
FB 1C 
281A 
PB IB 


33 CD 39 20 52 04 


3A CD 39 20 52 04 


43 CD 39 20 52 04 


4A CD 39 20 52 04 


452 

453 

454 PDBNT 

455 

456 PDENT 

457 

458 

459 

460 

461 

462 

463 

464 

465 

466 

467 

468 

469 ; 

470 ; LOCATE C,B 
471; 

472 LOCCB 

473 LD 

474 ADI 

475 ADI 

476 LD 

477 LD 

478 ADI 

479 ADI 

480 LD 

481 JP 

482 

484 ; HL=DE+(B-l>x8+<Y-l> 

485 ; 

486 IADR 

487 

488 

489 

490 

491 

492 

493 

494 

495 

496 

497 

498 ; 

499 ; MOVEMENT CHECK 

500 ; 

501 MOVCHK 


L,(IX^PATNO) 


#LOC 


LD A,B 

ADD A,A 
ADD A,A 
ADD A,A 
ADD A,C 
SUB 9 
LD 

LD L,A 

ADD HL.DE 
RBT 


CD 39 20 FC 03 
CD IB 20 
‘ FE 2B 


: FB 32 
28IB 
FE 34 
28 24 
» FE 36 
: 28 2A 
: FE 38 
28 30 
: FB IF 
28 0E 
FB ID 
2814 
.FB 1C 
: 281A 


502 

503 

504 
595 

506 

507 

508 

509 

510 

511 

512 

513 

514 

515 

516 

517 

518 MC8 

519 

520 

521 

522 NC2 

523 

524 

525 

526 

527 

528 

529 MC4 

530 

531 

532 

533 MC6 

534 

535 

536 

537 

538 

539 ; 

540 MOVSUB 

541 

542 

543 

544 

545 

546 

547 

548 

549 
559 


CP w 2 h 

JR Z f MC2 

CP ”4" 

JR Z,MC4 

CP ”6" 

JR Z,HC6 

CP "8” 

JR Z.MC8 

CP $1F 

JR Z.MC2 

CP 拿 ID 

JR Z f HC4 

CP $1C 

JR Z,MC6 

CP 拿 IB 


DEC B 

CALL ca DW MOVSUB-a 
RBT NC 

INC B 

CALL ca DW HOVSUB-s 
RET NC 
DEC B 
RBT 


DEC C 

CALL ca DW MOVSUB-s 
RBT NC 

INC C 

CALL ca DW MOVSUB-s 
RBT NC 
DEC C 
RET 


RET 

SCF 

RBT 


551 

552 

553 JMPCHK 

554 

555 

556 

557 

558 

559 

560 

561 

562 

563 

564 

565 

566 

567 


JUMP CHECK 


zfjC2 

Z.JC4 
••6 m 
Z f JC6 

2.JC8 

$1F 

Z.JC2 

$1D 

Z, JC4 

tie 

Z.JC6 


A47E FE IE 
A480 28 20 
A482 37 
A483 C9 
A484 
A484 
A484 04 
A485 CD 39 
A48A D8 
A48B 04 
A48C 18 2D 
A48E 
A48E 
A48B 0D 
A48F CD 39 
A494 D8 
A495 0D 
A49618 23 
A498 
A498 
A498 0C 
A499 CD 39 
A49B D8 
A49F 0C 
A4A0 1819 
A4A2 
A4A2 
A4A2 05 
A4A3 CD 39 
A4A8 D8 
A4A9 05 
A4AA 18 0F 
A4AC 
A4AC 
A4AC 
A4AC 

A4AC CD 39 
A4B154 
A4B2 5D 
A4B3 CD IB 
A4B6 FE 40 
A4B8 C8 
A4B9 37 
A4BA C9 
A4BB 
A4BB 
A4BB 
A4BB 

A4BB CD 39 
A4C0 CD IB 
A4C3 FE 2B 
A4C5 C8 
A4C6 37 
A4C7 C9 
A4C8 
A4C8 
A4C8 
A4C8 
A4C8 

A4C8 CD 39 
A4CD CD 39 
A4D2 CD 39 
A4D7 

A4D7 3E 00 
A4D9 
A4D9 3D 
A4DA 20 FD 
A4DC C9 
A4DD 
A4DD 
A4DD 
A4DD 
A4DD 
A4DD C5 
A4DE 06 04 
A4E0 

A4B0 CD C4 
A4B3 CD 39 
A4E810 P6 
A4EA Cl 
A4BB C3 C4 
A4BB 
A4BE 
A4EE 
A4EE 
A4EB 

A4BB DD 7E 
A4F1 DD BE 
A4F4 C0 
A4F5 FE 63 
A4F7 C8 
A4F8 DD 34 
A4FB CD 39 
AS00 0140 
A503 EB 
A504 09 
A505 EB 
A5e6 ED 42 
A508 ED B0 
A50A C9 
AS0B 
A50B 
A50B 
A50B 
A50B 

A50B CD C4 

A50E DD 7E l 

A5U 3D 

A512 DD 77 ( 

A515 DD 77 ( 

A518 CD 39 : 

A51D DD 34 I 

A520 CD 3C : 

A525 

A525 

A525 

A525 

A525 

A525 211A i 
4528 CD IE : 
A*)2B CD 3F : 
A530 EB 
A531 CD BE 
A534 CD E2 
A537 20 2D : 
A53B DD 6E I 
A53E 2C 
A53P CD 39 : 
4IB 

5 EB 

6 C3 BE 


20 CD 04 
20 D2 04 
20 D7 04 


01 

20 E9 03 


568 

569 

570 

571 

572 

573 JC2 

574 

575 

576 

577 

578 

579 

580 JC4 

581 

582 

583 

584 

585 

586 

587 JC6 

588 

589 

590 

591 

592 

593 

594 JC8 

595 

596 

597 

598 

599 

600 
601 ; 

602 ; 

603 JPSUB1 

604 

605 

606 

607 

608 

609 

610 
611 
612 

613 ; 

614 ; 

615 JPSUB2 

616 

617 

618 

619 

620 
621 
622 

623 ; 

624 ; WAIT 

625 ; 

626 WAIT1 

627 

628 

629 

630 WAIT2 

631 

632 WT0 

633 

634 

635 

636 

637 


BEEP 


CLEAR 


A5 
A5 ‘ 

A549 C5 
A54A D5 
A54B B5 
A54C CD 18 : 
A54F CD IB : 
A552 57 


638 

639 

640 BEEP 

641 

642 

643 BP0 

644 

645 

646 

647 

648 

649 

650 

651 

652 

653 ADDNEW 

654 

655 

656 

657 

658 

659 

660 
661 
662 

663 

664 

665 

666 

667 

668 

669 

670 

671 

672 CLHPAT 

673 

674 

675 

676 

677 

678 

679 

680 
681 
682 

683 

684 

685 SVAREA 

686 

687 

688 

689 

690 

691 

692 

693 

694 

695 

696 

697 

698 

699 

700 

701 

702 

703 FLASH 

704 

705 

706 

707 

708 

709 


Oh! X 1989.1. 


►ドラゴン スピリットの オープニングを 兌る限り, ブルー 
爪が屯えている。これではどう考えても ドラゴン ではなく 
当は「ワイ バーン スピリット」が: lE 解である。 


H L C » 
a » IS @ 
c D H # M Z 

L L 

LLTFT 
ADDAPGCB 
CLLCCRSR 


DWRN 

CH 

a S ♦ 

c z 

L L 

L L TFT 
A A p E c E 
c c c R s R 


18 
0 - 
15 8 

I 轉 I 
2 2 2 
T T T 

AAA 

WWW 

DWDWDW CNT .WT0 

a a a » z 
c ccA AN 

L L L 

L L L CT 
AAA D ERE 
c c c L D J R 


LLDWLL 
4 E o E 
cl B a p c B 
B B # c B B # 

H L L z 
s L L N p T 
PULDCACADJPOJPAT 















,• ++♦ 

•• +++ 
••♦++#+++ , 
"♦M 洲 ❷ + 、 

••♦+99#++ ' 
H +++ 


” ♦«+ 

•• +私 

•• ♦«««««+ 1 

” + 场 + 


FLO 

PL1 


BC,2 

A,"IT 


POP 

POP 

POP 

RET 


••S** 

Z,FL2 

PL1 

A t D 

NZ,FL0 

HL 


#FLGBT k INTKRNMISSION 


NZ 

HL,ca 

DE,0 

BC,9 

*PEBK« 

#COLD 


►私はイース II の神殿のマップを書いた。ちよつとは同情してちよ一だいな。 

宮田順朗 (19) 


埼玉県 


LAST ONE 


710 

711 

712 

713 

714 

715 

716 

717 

718 

719 

720 

721 

722 

723 

724 

725 

726 

727 

728 

729 

730 

731 

732 

733 

734 

735 

736 

737 

738 

739 

740 

741 

742 

743 

744 

745 

746 

747 

748 

749 

750 

751 

752 

753 

754 

755 

756 

757 

758 

759 

760 

761 

762 

763 

764 

765 

766 

767 

768 


A59B El 
A59C 5K 
A59D 23 
A59E 56 
A59F 

A59F 21 00 
A5A2 19 
A5A3 E5 
A5A4 D9 
A5A5 08 
A5A6 C9 
A5A7 
A5A7 
A5A7 
A5A7 
A5A7 
A5A7 08 
A5A8 D9 
A5A9 El 
A5AA 5K 
A5AB 23 
A5AC 56 
A5AD 23 
A5AE E5 
A5AF 

A5AF 21 00 
A5B219 
A5B3 B5 
A5B4 D9 
A5B5 08 
A5B6 D1 
A5B7 C9 
A5B8 
A5B8 
A5B8 
A5B8 
A5B8 
A5B8 00 
A5B9 IE 
A5BA 00 
A5BB 
A5BB 
A5BB 
A5BB 
A5BB 

A5BB 2A 0D 
A5BD 36 36 
A5C4 34 32 
A5CB 36 36 
A5D2 0D 00 
A5D4 00 00 
A5DB 00 00 
A5E2 00 00 
A5E9 00 00 
A5F0 00 00 
A5F7 00 00 
A5FB 00 00 
A605 00 00 


769 

770 

771 

772 

773 JR6 

774 

775 

776 

777 

778 

779 

780 

781 

782 

783 

784 LDDER 

785 

786 

787 

788 

789 

790 

791 

792 

793 LH0 

794 

795 

796 

797 

798 

799 

800 
801 
802 ; 

803 ; WORK 

804 ; 

805 WORK 

806 

807 

808 

809 

810 


ADD 

PUSH 

BXX 


HL,0 

HL.DH 


LOAD DE RELATIVE 


HL 


LD HL,0 

ADD HL,DE 
PUSH HL 
BXX 

EX AF,AF» 

POP DE 


36 32 20 36 34 
32 20 38 34 20 
20 34 2A 2A 2A 

00 00 00 00 00 
00 00 00 00 00 
00 00 00 00 00 
00 00 00 00 00 
00 00 00 00 00 
00 00 00 00 00 
00 00 00 00 00 
00 00 


811 
812 

813 DEMOKD 

814 

815 


DATA AREA 


;PATNO 

;PATLM 


面データ 


A553 01 02 00 
A556 3E 7B 
A558 

A558 CD F4IF 
A55B CD IE 20 
A55B 

A55E CD 39 20 D7 04 

A563 CD D0 IF 

A566 FE 53 

A568 28 06 

A56A 10 F2 

A56C 7A 

A56D 0D 

A56E 20 E8 

A570 

A570 K1 

A571 D1 

A572 Cl 

A573 C9 

A574 

A574 

A574 

A574 

A574 

A574 CD 2120 

A577 FE IB 

A579 C0 

A57A 2139 20 

A57D 11 00 00 

A580 01 09 00 

A583 CD 91IF 

A586 C3 FD IF 

A589 

A589 

A589 

A589 

A589 

A589 08 

A58A D9 

A58B El 

A58C 5E 

A58D 23 

A58E 56 

A58F 23 

A590 E5 

A591 

A59121 00 00 

A59419 

AS95 E5 

A596 D9 

A597 08 

A598 C9 

A599 

A599 

A599 

A599 

A599 

A599 08 

A59A D9 


—1 

m 

oo 

m 

z 

—i 

z 

m 


77 




9+9 ♦♦+ +«♦ ♦++♦+«+++ 

$«•« 9$+ ♦♦+ ♦« 9 ++♦ 

d ❷ +d + d 0++ ♦»$««++ +♦ + + 嚙 9«++«•#<•++ ♦♦«•«•«•♦♦ 

+« dddd + +9免 + 99+ d 分## ♦ + + + + +9$备$ +«$«$+++«$ 免 
9 砍 + d +90 +♦眘囌 $ + + +<*必省翁 + + + + ♦+•<«<•* f - f $^^++ + + ¢5¢ + + 

分^9 ♦«<+«.+ ♦ + + +«9 +♦♦ 

皆 + d ♦ + ♦ +#♦++♦ ♦+«♦♦♦ 

(■SHSnsss MHtfstsMnMtllfMtlsws slfssttltsHcsHnNHHHHMlfNNsstf 


onHMMMnH Ms: 


tt«»«MSl»H n n M N N H M 


"(•HSSSSHMSMtfMSSMsltHHstnJ 


♦ ♦+ ♦++ ++•++•+♦♦«e ❺ ♦♦■•* 

9 ㊈ ^ 0 ♦!#•+#♦$ +嚙+ ♦«+ 嚙$皭 +♦ + 

♦ •9<§ d + d + •嚙 « e 9 ♦^dd 嚙鍮 + ♦♦♦«'««++ + # — 9 ♦令 ♦«♦« 扇 ♦« 嚙參必 d 嗍0# ♦ + + ♦+++ 

+ $9« dd +«9$ + + + +++«$« 參 ♦««$ 瞻 9909$^$.+ 嚙 e « l +$ 嘮91 #$♦$#• ♦ + + +++♦ 

+0«99;+«+# 场皤«« +« dd 0^+ +♦+$#«+ ++氮象^ ♦+ 韌+«9+$+9,^ ♦ + + + + + + 
<909嚙你期 ♦<!}+ «+韌 + d + +象+ #场省 +♦ + 

+ + + ¢9 9++ + + ++9 ♦+• +++ 汾$9+++ 

” rrtflts”llssftrzss "IfltlfMltrHttsHtnttlfcrasttr««nlt"llSHttttfvMlt">«ttttllltn” MMlfrcsst* 

MMMMMMM M M MMMM MM MMMMMMMM MMMMMMMM MMMMMMMM MMMMMMMNMMM MMMMM MrMM M M M MM 
D D D D D D D DDDDDDDD DDDDDDDD DDDDDDDD DDDDDDDD DDDDDDDD DDDDDDDD DaDDDDDD 

6789012345678901234567890123456789012345678901234567890123456789012345 

3333444444444455555555556666666666777777777788888888889999999999000000 

0000000000000000000000000000000000000000000000000000000000000000111111 


sttHSMnllH cttHNMSHs N2SMHSCH«tM«tssltH*ttnsllMNnstfttttHHcNN MMMMMNMn MHHMHnMM S 

+«+ 0 + + ♦囈 +♦♦+++♦«++ 你分+ + + ♦ 

♦ $+#«♦#$♦ 9«9 + + + # + ♦ $$♦ ♦#♦ 

+ +999+++ 囈 + 汾售 «♦ ♦囈嚙分 ♦#« +±分+, + + ♦«0^0阉+ ++$^+90}«♦$$♦♦♦ ♦♦#分«+4» ♦ 
♦ ♦• e ^+- f +« i + J 5^ ❺ ++0 i «_ + $^++^+^++ ♦0鍮@«<11+ ++»#翮 ♦««®+ 必汾 + + + ♦+©{•<•+++ 
+ d + 场 + + + M <+ + + + ♦♦+ 錚++ 8$+ +++ 


lt*»sllHncllllsItsttftMHns tHsMsrtln 


"sssstfN«MMsns»*s 


♦ ♦♦ — 

nSMwHMSflHnsHMM 

MMMMMMMM MMMMMMMM MMMMMMMM MMMMMMMM MMM M M MMM MMMMMMMM MMMMMMMM MMMMMMMM M 
DDDDDDDD DDDDDDDD DDDDDDDD DDDDDDDD DDDDDDDD DDDDDDDD DDDDDDDD DDDDDDDD D 

345678 9012345678901234567890123456789012345678901234567890123456789012345 
6666666777777777788888888889999999999000000000011111111112222222222333333 
9999999999999999999999999999999999999000000000000000000000000000000000000 


DMDMDMDMDMDMDNDMDMDMDMDMDMCMDMDMDMDMDMDMDMDMgDM 


MMMMMMMM MMMMMMMM MMMMMMMM MMMMMMMM MHMMMMMM 




0 0 0 0 

:t«HMMsM£nlll*l»«t"M«lMt*«tMtfMMM£:tt::s ”tl»H«(£t*f 


++♦ ♦♦+♦♦♦ 4 •+«- €1++ +♦«+«+ +«+ 

+ + + + ♦ + + +++0+++ ++•+♦ + ♦ + + +»«++ ++«♦ + ++++«♦#♦+ dp«<*e+ + + + 

♦ ♦♦♦+++ ♦♦+« e #+ +9❺ ««♦♦++««$ + ♦ ♦ + ♦9 + ++ ♦««(««<+♦ 分««0+ + + ♦ da 0++ + 
+ + ♦++ + ♦ + + +# + + + ++0+ + + + ♦++9$ + + +♦•+♦♦♦ ♦♦91+® + + 3?®@«+++ ♦♦«»«++ 
♦ ♦++♦♦ +♦+ +4-¢0++ ♦♦«+•+ ♦#+ 


:rsMStlv»l:Nf«N»»l»: 




: rnstMtNlflftlftt: 




MMMMMMMM TMMMMMMMM MMMMMMMM MMMMMMMM MMMMMMMM MMMMMMMM MMMMMMMM)MM)MM)M)M)MM 
DDDDDDDD ADDDDDDDD DDDDDDDD DDDDDDDD DDDDDDDD DDDDDDDD DDDDDDDD DDDDDDDD 
p 

789012345678901234567890123456789012345678901234567890123456789012345 67 89 
1112222222222333333333344444444445555555555666666666677777777778888888888 
8888888888888888888888888888888888888888888888888888888888888888888888888 


F L L E F 

A H H 0 D A 

F L tL »L L L L L F 

A hehdhh hhh a 


V X p c c s Dsx TV X 

ATIKXEXPOLDINLDINPULDADPUEXEXRETIEXEX 











全機種共通 S-OS“SWORD ” 要 


ブロックゲーム flick 


佐藤義弘 


Sato Yoshihiro 


パズルをも5ひとつ 


S-OS “SWORD” 上で動作するブロック 
タイプのパズルゲームです。リアルタイム 
ではありませんから,じっくり考えても大 
丈夫。詰め将棋のつもりで挑戦してみてく 
ださい。 

入力の際は各機種の マシン 語モニタから 
M コマンド などのメモリチェンジ用 コマン 

ドを 用いる 力% または MACINTO - C など 
のマシン語入カ ツールを 使って リスト 1を 
打ち込んで〈ださい。チヱックサム , CRC 
チェックバイトなどをよ〈確認したうえで, 
#S FLICK : 5000 : 57 FF : 5000 
のように セーブし てください。 

実行の際は S - OS のモニタ上から500 Oh に 
ジャンプ (# J 500〇)してください。 

基本的な操作は,キャラクターの移動が 
テンキーの2, 4,6, 8, カーソル キーの上 
下左右,フルキーの I , J , K , L に対応して 
いるほか, 

R やりなおし 
N 次の面に進む 

B 前の面に戻る 

S 指定した面に進む。移動キーで 

面を選んでリターンキーで決定 
Q ゲームを終了し, S-OS のホッ 
トスタートに戻る 

の各キーに機能が割り振られています。 


ルール S ゲー厶内容 


2のキャラクターを使って w を::のとこ 
ろまで運んでいくことがこのパズルの目的 
です。ただし,而を直接押していくことは 
できません。もちろん,引っ張ることもで 
きません。 

それでは,どのようにして動かしていく 
のかといいますと,まず数字の書かれたブ 
ロックを TO の隣に運びます。この数字の書 
かれたブロックは公を使って押していくこ 
とができます(引っ張ることはできない)。 
続いて動かしたい方向に押してやると,ブ 
ロックに書かれた数字分だけ W が移動して 
いきます。また,途中でなにかにぶつかる 
と m は停止します。当然まわりの壁などの 
障害物は動かすことができません。ブロッ 
クをうまく使って移動量をコント ロールし 
ながら, TO を::のところまで運んでいくわ 
けです。起動してしばらくそのまま放って 
おくとタイトル表示のあとに1面のデモが 
始まります。それを見れば1面の解答がわ 
かりますから,それで動かし方のコツをつ 
かむとよいでしよう。 

うまく ゴールに たどり着いたら,次の面 
に進みます。途中で行き詰まった場合は R 
キーで最初からやりなおしてください。キ 
ャラク ター を操作するたびにステップ数が 
記録されていきます。面によっては複数の 


パズルゲーム第 E 弾は FUCK , SMC ユ 
ーザーからの投稿です。数字の分だけブロ 
ックを移動できるという,ちょっと変わっ 
たルールに従ってキヤラクターを動かして 
いきます。なかなか歯ごたえのあるユニー 
クなパズルゲームです。 


解答が存在する場合もありえますので,で 
きるだけ短いステップ数で解くようにして 
みましよう。 


フログラムについて 


ソース プログラムはオリジナルアセンブ 
ラで記述されています。マクロ命令などが 
使ってあり ZEDA でそのまま使うことはで 
きませんので,参考程度に見ておいてくだ 
さい。 

プログラム起動時のデモは機種によって 
かなりスピードに差があります。 XI や SM 
C でデモのスピードが速すぎたり, MZ 系 
の機種で遅すぎたりして気にいらないとい 
う場合は, 5402 h のデータ部分(標準状態で 
は 30 h ) を書き換えるとよいでしよう。ここ 
に格納されているデータが小さいほどスピ 
ードが速くなります(ただし, 00h は FFh + 
1とみなされるので注意)。 

面データは全部で16面分用意してありま 
す。5003 h のデータが最大面数を表してい 
ますので,自分で面を増やしたいときには 
ここのデータを書き換え,580 Oh 以降にデ 
ータを置いてプログラムを セーブし なおし 
てください。 

面データはひとつの面あたり32バイトで 
構成されています。その内訳は最初の20バ 
イトが空白部分と壁のデータを2進数で表 
したもので,次の9バイトは1〜9までの数 
字ブロックの位置を表し(置かな 
いときは 00 h ), 残りの3バイトで 
::, TO , 2の初期位置を指定して 
います。詳しくは1〜16面のデー 
夕を参照してください。 

Profile 

◊佐藤さんは東京にお住まいの20歳,大 
学2年生です。パソコン歴は約6年の S 
MC -777 ユーザー。 S - OS ユーザーですが 
スクリーンエディタやアセンブラなどは 
自作して使用されているそうです。 



78 Oh ! X 1989.1. 


























A9 91 
80 05 
00 27 
6C 96 
80 41 
A0 05 
2B 2C 
A13C 
A3 DF 
A2 41 
00 25 
68 8D 
A9 65 
8F A9 
32 34 
97 36 


5680 8F 
5688 F3 
5690 81 
5698 00 
56A0 CC 
56A8 88 
56B0 80 
56B8 00 
56C0 80 
56C8 A0 
56D0 81 
56D8 66 
56E0 87 
56E8 FI 
56F0 80 
56F8 00 


SUM : AE IE 2F 7E F3ID 7D D3 


5780 88 
5788 89 
5790 A8 
5798 28 
57A0 A0 
57A8 A2 
57B0 A0 
57B8 2D 
57C0 80 
5708 A3 
57D0 BA 
57D8 69 
57E0 81 
57E8 89 
57F0 80 
57F8 00 


29 

2B 

39 

B3 

41 

19 

2D 

BB 

29 

7A 

B3 

36 

2F 

3E 

C2 

F8 


SUM : EB 8E 86 66ID 02 04 94 


SUM : 38 31 A9 D5 42 4D 5E Cl 3EB2 

5580 97 5110 00 A3 5125 40 : 51 
5588 66 6F 72 01 E0 40 53 57 : 12 
5590 4F 52 44 00 07 E0 3F 3F : 4A 
5598 07 80 27 3C 07 E7 27 3F : 3E 
55A0 07 E7 3F 3F 01 E0 3F 0F : 9B 
55A8 07 E0 3F 3F 7C 83 8E 22 :14 
55B0 40 811124 78 8110 28 : 27 
55B8 40 8110 34 40 811122 : F9 
55C0 40 F3 8E 22 F0 C8 F4 AA : 39 
55C8 F0 CC F0 0F 33 0F 55 0B : 5D 
55D0 37 0F 28 46 52 2618 24 : 68 
55D8 1814121412 2612 46 : E2 
55E0 28 441814121612 54 : 26 
55E8 1214181418 56 32 46 : 38 
55F0 18 24121418 7618 54 : 5C 
55F8 1214 68 52 66 68 64 00 :12 


SUM : C4 CD EE 2C F5 2A FF 9D A292 

5600 80 0180 01 BE 7D A0 45 : 22 
5608 A6 45 A2 45 BE 7D 80 01 : 8E 
5610 80 0180 01 00 00 00 8B : 8D 
5618 8D 89 00 00 00 83 22 64 : IF 
5620 80 0180 0186 6184 01 : 6E 
5628 84 2184 2187 El80 01 : 33 
5630 80 0180 01 00 00 00 82 : 84 
5638 72 62 52 42 32 34 66 84 : B8 
5640 84 2184 2184 2184 21: 94 
5648 84 0184 2180 2184 21: 70 
5650 84 2184 21 00 00 00 00 : 4A 
5658 8E 8D 8C 7C 6C 34 AE AC : 1D 
5660 80 01 9F F1 80 05 AF E5 : 2A 
5668 E0 07 80 01 AF F5 80 01: 8D 
5670 8F F1 80 0167 63 84 58 : A7 
5678 7C 00 00 00 32 57 68 6A : D7 


SUM : CC 2C 71 8F 

5500 43 4B 0121 
5508 4E 44 0122 
5510 50 0121 0B 
5518 02 02 52 29 
5520 02 02 4E 29 
5528 02 42 29 61 
5530 53 29 6B 69 
5538 29 75 69 74 
5540 4C 45 4152 
5548 74 20 5B 53 
5550 5D 20 6B 65 
5558 34 36 38 4B 


SUM : EF 2E ID FF 4A 7D 

5480 0E 06 06 04 C5 4E 
5488 08 CB 119F E6 5B 
5490 121310 F5 Cl10 
54981313 0D 20 E5 C9 
54A0 43 06 08 36 02 23 
54A8 CD B3 54 CD AE 54 
54B0 CD B5 54 3E 00 32 
54B811 C4 55 0E 0E D9 
54C0 40 0E 08 D9 2140 
54C8 081A 13 00 87 F5 
54D0 E4 54 CD 0154 21 
5408 19 EB 0C 1)9 23 FI 
54E0 0D 20 DA C9 D9 7E 
54E8 616F CD IE 20 26 
54F0 2D 19 7E CD F4IF 
54F8 C3 F4IF 21 02 46 


SUM: 


5300 

5308 

5310 

5318 

5320 

5328 

5330 

5338 

5340 

5348 

5350 

5358 

5360 

5368 

5370 

5378 


SUM : 

5380 

5388 

5390 

5398 

53A0 

53A8 

53B0 

53B8 

53C0 

53C8 

53D0 

53D8 

53E0 

53E8 

53F0 

53F8 


SUM : C0 14 3176 A8 0C 2F 4B 8DB5 


SUM : D6 B1 B5 2B 47 D3IB 99 9436 

5700 A0 01 A0 71 BC 0182 85 : 76 
5708 80 45 80 05 80 85 BC 01 : 0C 
5710 A0 71 A0 01 00 00 27 57 : 30 
5718 25 97 67 95 7138115A : CC 
5720 80 07 A1 07 A1 01 BB 79 : 05 
5728 80 03 83 Cl B8ID 80 01 : ID 
5730 9C 39 83 Cl 00 2B 25 24 : 8D 
5738 00 00 87 88 89 3A AE 86 : 06 
5740 A185 A185 80 018E 11 : 6C 
5748 80 1180 118E FI A811 : 5A 
5750 AA 918811 00 00 4A 00 : IE 
5758 9D 8D 6D 5D 4D 8C AA 49 : C0 
5760 8F 0189ID 89 0183 71 : B4 
5768 89 418815 88 85 80 85 : 79 
5770 88 95 88 8122 32 42 52 : 0E 
5778 62 72 82 92 00 8B 1186 : 0A 


5560 ID 
5568 50 
5570 68 
5578 AF 


1C IE 52 
42 8B 50 
53 00 00 
51 01 00 


2E 50 4E 
53 97 50 
00 00 F0 
8B 51 FF 


8£ 

03 

51 

F8 

FF 

AA 

FF 

DB 


SUM : C7 3143 9717 05 22 F2 9260 

5400 C9 06 30 CD D0 IF B7 20 : 92 
5408 0310 F8 C9 FE IB CA 68 : IF 
5410 53 FE 20 CA ID 50 18 FI : B1 
5418 3E A1213E 6F 11IB 01 : DA 
5420 21 06 0B 06 05 F5 C5 CD : C4 
5428 3A 54 0E 02 CD FA 53 Cl : 79 
5430 FI14141C 1C 25 2D 10 : B3 
5438 EC C9 32 54 54 3E 2C CD : C6 
5440 44 54 3E 2D 4F 43 CD 4C : AE 
5448 54 42 CB 99 79 32 58 54 : 51 
5450 CD IE 20 3E 00 CD F4IF : 29 
5458 00 10 F5 C9 23 5E 23 56 : C8 
5460 23 7E FE 0108 28 F5 ED : 82 
5468 A0 18 F6 21 00 40 0E 08 : 25 
5470 36 DB 23 06 22 77 2310 : 06 
5478 FC 0D 20 F4 C91125 40 : 5C 


52B0 55 01 
52B8 74 51 
52C0 20 FB 
52C8 06 C0 
52D0 IF 01 
521)8 3A 54 
52E0 3E 7B 
52E8 EB 5E 
52F0 CD IE 
52F8 02 38 


4D 431A B7 
7D C6 30 02 
1318 EF 21 
36 0D 2310 
11 08 02 3E 
21IF m 11 
CD 3A 5411 
23 56 23 EB 
20 1A 13 B7 
ED 28 F2 CD 


C8 

CD 

4C 

03 

25 

62 

00 

40 

96 

FB 

21 

58 

3D 

CD 

83 

08 

17 

FE 

FB 

54 

74 

FE 

24 

F2 

C8 

FE 

B5 

F4 

IF 

21 


SUM : 414E E5 54 AF EF ID B8 E2C4 

5200 52 CD F6 511A 13 CD F4 : 54 
5208 IF 1A 13 C3 F4IF 3A 4A : A6 
5210 43 B7 20 09 0170 17 0B : B6 
5218 78 B120 FB C9 0E 0A C3 : E8 
5220 FA 53 AF 32 49 43 2A 4B : 2F 
5228 43 67 2B 29 29 29 29 29 : A2 
5230 11 00 56191110 40 06 : E7 
523814 C5 4E 23 06 08 CB 11 : 34 
5240 9F E6 0D 121310 F7 Cl : 7F 
524810 EF EB 06 0C 0E 011A : 25 
5250 13 B7 28 02 6F 71 0C 10 : F0 
5258 F6 E511 00 40 21 00 00 : 4D 
5260 0E 0C CD IE 20 24 24 06 : 73 
526810 1A 13 D9 CD 6D 51 EB : 8C 
5270 CD CA 51 D910 F3 0D 20 : FI 
5278 E9 El36 00 22 38 43 CD : 6A 


SUM : 1A 10 5F 99 4E A0 4F 60 6000 

5280 02 53 21 00 00 G310 53 : 9C 
5288 21 04 50 11 00 43 01 04 : CE 
5290 00 ED B0 06 09 3E 31 C5 : E0 
5298 E5 ED A0 1213 23 3C ED : E3 
52A0 A0 ED A0 El Cl10 F0 0E : DD 
52A8 04 09 0E 10 ED B0 11 D2 : AB 


5000 C3 7D 5310 20 20 20 20 : 23 
5008 A2 20 4C A3 7B 7B 55 55 : 51 
5010 A5 A5 A5 A5 3C 3E 22 22 : 52 
5018 DB 7B 7B 7B 3E AF 32 4A : B5 
5020 43 3E 0C CD F4IF CD C5 : FF 
5028 52 3E 0132 4B 43 31 00 : 82 
5030 43 CD 22 52 CD 47 53 CD : B8 
5038 6E 50 30 05 CD 7D 50 18 : A5 
5040 F3 CD D150 3A 49 43 B7 : 5E 
5048 28 EA 113D 55 CD E8 52 : BC 
5050 3A 4A 43 B7 20 VI CD CA : 47 
5058 IF FE IB CA 68 53 FE 20 : DB 
5060 20 F4 CD 8E 50 C3 88 53 : 5D 
5068 CD EF 53 C3 8E 53 2157 : 2B 
5070 55 01 0C 00 ED B137 C0 : F7 
5078 79 E6 03 4F C9 4F 7E 23 : 6A 


SUM : 5A IF 8D D7 99 3F BE 0B 8F97 

5080 B7 C8 5E 23 56 23 B9 20 : 52 
5088 F5 EB E9 3E FF 213E 01 : 66 
5090 CD C3 50 D8 C3 2E 50 3A : 33 
5098 4B 43 32 4C 43 CD 02 53 : 71 
50A0 CD 53 53 CD 6E 50 38 09 : 3F 
50A8 E6 0187 3D CD C3 50 18 : A3 
50B0 EC FE 0D CA 2E 50 FE IB : 58 
50B8 20 E3 3A 4C 43 32 4B 43 : 8C 
50C0 C3 02 53 214B 43 86 37 : 84 
5008 C8 4F 3A 03 50 B9 DS 71 : A6 
50D0 C9 2176 55 09 09 09 09 : D9 
501)8 5E 23 56 23 7E 23 66 6F : 70 
50E0 22 84 51 CD 42 51 D8 3A : 69 
50E8 38 43 28 05 CB 7A 28 01 : 16 
50F0 83 D5 CD 74 51291130 : 54 
50F8 43 CD 7F 51 CD 0C 53 D1 : DD 


リスト 1 FUCK ダンプリスト 


15031D0C114AD903 
0906CD050C46F 208 

09093 B0003AB1069 
A809AB00AA868C97 

511001 1DD 511 A 9197 
1919CC94D003F037 

8987339 CB00B 9025 
A 88988 B4BA83ACE7 

1150115 B111C3513 
191000040008 E207 


110 Dll 929906190 B 
0 A0AB 04710040204 

05DEF 008060104 BE 
0084 A 8805980 A893A 

11D 4110719079193 
A0340F 0660042034 

50D20D4D080A4096 

8829886599069888 

1F10113C1 5199 F10 
8CF 00135800608 C0 

13F200CBD 0080130 
8F 8888 C58A868F80 

1F1 031161517 1F16 
FC 80300700 B6E803 


17D5A42A4CF 42088 
3D 75025438239992 


_HE SSTINEL 


>A 92213952 F 


B AAB 2705096 E94ED4 
1 5AF6B163D69F32BD 


6 0 3 0 
0 2 14 

3 

2 


BF406C0C9DB9 

F2500D0ED2D4 

6D10EB1 393040 EC 
CE 213 C14D 213034 


D 854F7DF 4178 AEDDD 

4 F199 5 3A2DC7087C5 
7 

9 . 

5 13077 EF8AB1A9423 
B 12C231A 230 6 2 C724 


fElc 50312 FC4640 

6C 913789410 OE531 
23010311 F 2223743 

3A108DDB 3216219 F 
4222EC7FC12D2541 

BA1E1 03010 D03CCA 
4010105382 CD204F 

172070 BEF63 
>353B 27714 c 

^DDE3EE3220 
*CE041F4E20 


c A7EAEC3C 0763122 B 
7 2D 06878 FEE9DCE7B 


2CEDD152DD30DD3A 

501CC25FCC524C5F 


00CD4D4ED 3485334 
220C5C59C551FC55 


3B 25127 C5E9CC 


Jcc 2119 C596CC4F0 


0 4FF0D1826FB0C115 
D 7E9273A0323A1A1E 

3 

9 . 

9 9D0F0790F 90793 FD 
8 172 A 2 BD 1 41 c 7746 c 

B 37E9BFA9E 87230 F9 

4 441 D 0 A 0 D 7135400 c 

c 8 FD 1 E 1 6198 ADA 167 
F 30C5F 035120 E32E6 

4 209EE69F 3767297 F 

5 2D2F 70174 BDB2C60 

8 971D937D 8871179 F 
D 185 C147C3D075BC0 

8 33433923 AF8ED3FF 
0 44744454232 F6460 

c 

E 

5 
5 

M: 


C243E2C0BFC480 

AA 9126012 EEB927C 
23D130C1EF7C738A 

0808080808080808 
00112 23344556677 
1111111111111111 
5555555555555555 


008 B 809225 C5 c 2 D 2 

5F87AAAE8D29B8B1 


00810813 

02152154 


DE710E09 

C3BE110C 


5 D 5 1 


81E8D9FBD02F 
1511 EC15C2E1 


0808080808080808 
8899AABBCCDDEEFF 
1 X 11111 111111111 
5555555555555555 


FLICK 79 




































LD (POS) t HL:ADD HL,DE 

LD A,(MOVFLG):ADD A,A:RBT NC 

RRCA:LD B,A:LD A,L 

BXX 

CALL CALHALF:ADD HL.HL 
CALL *LOC 
LD DE,CHRBUF+10t4 
CALL PUTCHR 

XOR A:LD (MOVFLG),A 

ADD HL t DB:LD A,(HL) 

IF A=ll THEN LD (CLRFLG),A:LD B,1 

: XOR A 

IF AO0 RET 

SBC HL V DE:LD (HL),A 

ADD HL,DE:LD (HL) t 10 

BXX 

LD DE,CHRBUF^10*4 
CALL MOVCHR 
EXX 

DJNZ MOVB2 
RET 


LD HL,(POS) 

ADD HL,DB:LD A,(HL):LD C,A 
CP 10 : CCP:RET C 
IF A:e JR CHK3 
ADD HL t DE:LD A,(HL) 

IP A=0 JR CHK2 

SUB 10 : SCF:RBT NZ 
SET 7,C:DB [CP] 

LD (HL),C:SUB HL.DE 
LD (HL) t A 

LD A,C:CALL CALCHR 
LD (MOVADR),HL 

LD A,C:LD (MOVFLG),A 


LD HL.CHRBUF 
ADD A,A:ADD A,A 
LD L V A 
RET 

LD H,A:AND 0FH:LD L V A 
XOR H : RRCA : RRCA : RRCA : RECA 
LD H f A 
RBT 


98 CALHALF : 

99 
200 
2 ei 

292 

203 

204 MOVCHR : 

205 

206 MOVCHR1 

207 

208 

209 

210 

211 ROTCHR: 

212 

213 

214 

215 

216 LFTCHR : 

217 

218 

219 

220 

221 DWNCHR : 

222 

223 

224 

225 

226 UPCHR : 

227 

228 

229 

230 

231 

232 CPUT1 H 

233 

234 

235 

236 

237 

238 

239 CPUT2 H 

240 

241 

242 

243 

244 CPUT1 V 

245 

246 

247 

248 

249 

250 

251 CPUT2.V : 

252 CALL PUTCHR 

253 JR LF 

254 :- 

255 PUTSP 一 H: 


CALL MOVCHR1 
PUSH DH 

CALL 0000: CALL WAIT 
POP DE 
RBT 

CALL #LOC:INC L 
CALL PUTSP_H 
CALL CPUT2 H 
JR CPUT し H 

DEC L:CALL #LOC 
CALL CPUTl^H 
CALL CPUT2.H 
JR PUTSP.H 

CALL «LOC:INC H 
CALL PUTSP_V 
CALL CPUT2_V 
JR CPUTl^V 

DEC H:CALL #LOC 
CALL CPUT1_V 
CALL CPUT2_V 
JR PUTSP_V 


)VADR) 


LD A,(MOVFLG):IF A=0 RBT 
PUSH DE 

LD DE,(HOVAI 
CALL CPUT2J 
POP DE 
RET 

CALL PUTCHR 
LD A,1BH 
JP .PRINT 


LD A,(MOVFLG):IF A=0 RET 
PUSH DE 

LD DE,(MOVADR) 

CALL CPUT2_V 
POP DE 
RBT 


256 

257 

258 

260 PUTSP_V: 

261 
262 

263 LF : 

264 

265 

266 

267 

268 PUTCHR : 

269 

270 PUT1 : 

271 

272 

273 

274 

275 

276 WAIT : 

277 

278 

279 WAIT1 : 

28e 

281 

282 

283 WAIT2 : 

284 

285 

286 

287 SCREEN: 

288 

289 

290 

291 

292 

293 

294 

295 

296 SCRN1 : 

297 

298 

299 SCRN2: 


CALL #MPRNT 
DB 20H.lFH f IDH 
DB 20H,1EH.0 
RRT 


CALL #MPRNT 
DB lFH t IDH,lDH f 9 
RET 


CALL PUT1:CALL LF 

LD A,(DB):INC DE 
CALL #PRINT 
LD A,(DE):INC DE 
JP ♦PRINT 

: ///////////////////////////// 


IF BCO0 JR WAIT1 
RET 

LD 0,10 
JP DWAIT C 

;/////// フ ///"//////"""//" 

XOR A:LD (CLRPLG).A 
LD HL,(STAGE):LD H,A 
DEC HL : ADD HL,HL 

ADD HL f HL:ADD HL,HL 
ADD HL,HL:ADD HL.HL 
LD DB,STODAT:ADD HL,DE 
LD DK,BUFFERS 16 
LD B f 2tl0 


Oh! X 1989.1. 


►年がいもなく,伙野 II ちゃんのコンサートに行ってきました。彼女があまりにも浅通の 
女の Y •だったのであっけとられてしまいましたが,获野 II ちゃんの目がとても印象的で, 
歌もうまかった。タダで iii 前列のほぼ中央に座れるとは,なんて幸せ者なんだろう。 

藤崎光輝(2〇) 


1 :///////////////////////////////////// 

2 ; 

3 ; FLICK ver 1.1 

4 ; 

5 ; for S-OS "SWORD" 

6 ; 

7 ;///////////////////////////////////// 


10 

11 

12 #HOT 

13 #PRINT 

14 #MSX 

15 #MPRNT 

16 IGKTKY 
17 番 INKEY 

18 #LOC 

19 #FLGET 

20 IWIDCH 

21 

22 BUFFER 

23 STACK 

24 CHRBUF 

25 POS 

26 MOVADR 

27 STEP 

28 DKEYAD 

29 DPOS 

30 MOVFLG 

31 CLRFLG 

32 DBMOP 

33 STAGE 

34 STBAK 

35 KBYBUP 

36 

37 


EQU 

EQU 

EQU 

EQU 

EQU 

EQU 

EQU 

EQU 

EQU 

EQU 

EQU 

EQU 

EQU 

EQU 

EQU 

EQU 

EQU 

EQU 

EQU 

EQU 

EQU 

EQU 

EQU 


1PFAH 
1FF4H 
1PE6H 
1FB2H 
1PD0H 
1FCAH 
201 EH 
2021H 
203OH 

4eoeH 

430OH 

43O0H 

CHRBUP+14M 
POS 42 
MOVADR+2 
STEP +2 
DKEYAD+2 
DPOS +8 
HOVFLG+1 
CLRPL041 
DEMOF +1 
STAGE +1 
STBAK +1 


;///////////////////////////// 


50 START1 : 


58 RETRY : 


DB .<>”"• 

DB '□■■I' 

;///////////////////////////// 

DB [LD A] 

XOR A 

LD (DEHOP ),A 
LD A t 0CH:CALL fPRINT 
CALL INIT2 

1:LD (STAGE) V A 


CALL KEY1 

CALL MOVKEY?:JR NC,MAIN2 
CALL FUNGI 
JR MAIN1 


CALL MOVE 
LD A,(CLRFLG) 
IF Ase JR MAIN1 


LD DB f CLRMSO 
CALL PRTMSG 

LD A t (DBMOF):IF AOO JR CLBAR2 

CALL DINKEY 
IF AslBH JP QUIT 
IF AO20H JR CLEAR 1 
CALL NEXT 
JP DEMOl 


LD HL,hOVKEY:LD BC,12 
CPIR : SCF:RET NZ 
LD A t C:AND 03H:LD C,A 
RET 


104 

105 NEXT: 

106 
167 
108 
109 

lie SKIP : 
111 


LD C t A 

LD A t (HL):I 
LD R f (HL) : I ; 

LD D,(HL):INC HL 
IF AOC JR PUNC2 
EX DE,HL 
JP (HL) 

;///////////////////////////// 

LD A.-l 


LD A V 1 

CALL CHGSTO:RBT C 
JP RETRY 


114 

115 

116 

117 

118 SKP2: 

119 

120 
121 
122 

123 

124 CHGSTG : 

125 

126 

127 

128 
129 


LD A,(STAGE) : LD (STBAK) v A 

CALL PRTSTG : CALL KEY2 
CALL MOVKBY?:JR C.SKP2 
AND 01H:ADD A,A:DKC A 
CALL CHGSTG 
JR SKP1 


141 

142 

143 MOVE1 : 

144 

145 

146 

147 

148 


IF As0DH JP RETRY 
IF AOIBH JR SKP1 
LD A,(STBAK):LD (STAGE),A 
JP PRTSTG 


STAGE 

ADD A,(HL) : SCP:BBT Z 
LD C t A:LD A,(MAX) 

CP C:RBT C 
LD (HL),C 

;///////////////////////////// 

LD HL.MOVDAT 
ADD 
ADD 

LD E,(HL) 

LD D v (HL) 

LD A,(HL) 

LD H,(HL) 

CALL CHECK : RB^ 

LD A,(POS):JR 

IP (BIT 7 f D)<>0 THEN ADI 

PUSH DE 

CALL CALHALF:ADD HL,HL 
LD DE,CHRBUF+12t4 
CALL MOVCHR 
CALL INCSTBP 
POP DE 

LD HL,(POS) : ADD H し , DB 


INC HL 
INC HL 
INC HL 

LD L,A:LD (MOVCHR!^2),HL 


リスト 2 FUCK ソースリスト(参考) 


0 

9 7 
1 8 D 


4 E 8 E 
71 ^ F 


3:f 

4 2 6 7 0 

2 B B 0 2 6 

3 7 0 9 c 5 3 


E2 


2AF9DD1D9F 9E37D991D909 
239DCC1CDA 1F4BB1D1CD1C 


1478BEF1 


48D0158BEF 3 5 A F14 ' - - 

0001111111 222233333334 

5555555555 555555555555 


8 0 2 
D c 5 D 
6 

FF 8 7 7 E D 1 
8 4 3 1 o 3 F E 5 A 
3 3 
3EA8E8A9 7 D 3 
4702720 F B c 4 
A9E7976B 17 9 2 
21FB1BDC -7 7 7 2 

258CF148 B F 0 4 
44444555 5 5 6 6 
55555555 5 5 5 5 


79B7S 




F 
F F 

6 o 

F p 

o 0 0 

3 7 6 F 

17 F 9 7 c 7 9 
2 8 6c 6 A 6 c 

0 0 2 3 4 8 D B 
6 7 7 7 7 7 7 7 

5555 5555 


DC E 4 

c 2 1 2 

o E 6 A 2 B A B 0 1 
0 1EC Be 1F B 
o 0 114 D 113 0 113 
0 2 5 5 2 c 5 5 4 2 5 5 2 

5 D 19 D D D 8 D D D 8 D D D 8 
DCDC cccl 2 c c 1 cccl 


IB 

2021 
D E 

D 115 
c 5 5 3 
5 D D 8 

2 c c 1 


2 3 9a B p 2 5 7 B B 1 3 7 A D F 3 6 9 
8 8 8 8 8 8 9 9 999 a a a a a abbb 
5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 


B733A 

::3 似 

A 5 D D 19 D H 3 
3DE CDC c 3 c 

B 01589 A D F 

Bccccc ecc 

555555 555 


E 4 
F F 
1 E p 


7 A 
B 3 

3 

8 4 1 
4 E 

3 B 1 

4 5 5 

A 5 D D 19 
3 D E c D c 


E 

1o 

5 1 
D 8 

c 1 


2 7 8 c p o 14 
DDDDDE E E 
5 5 5 5 5 5 5 5 


210 2 o 

F F E F o 

D 0 0 9 D o 

c 2 2 c c 2 

6 9 c F 0 3 
E E E E F F 
5 5 5 5 5 5 


D 

21 

E 

F D 
D F 9 

c 1 c 

6 9 D 
1FCS.1F 


2043 


F4F4 
F 3 F 

D A D A 3 

c 1 c 1 c 

E 4 6 9b 
F 0 0 0 0 
5 5 5 5 5 


B7 

A 0 
3477 


PA 
A3 
0 5 


A 1 B 8 9 E 3 

3 0 o 7 c 6 c 

E 4 7 8c D F 
2 2 2 2 2 2 2 
55 555 55 


9679 0 

4 b 0 0 o 

23999604 3 
34222541 2 

FAB 99116 5 E 
A 2222110 c 4 

26ACE047 9 A 
22222333 33 
22222222 2 2 


0 3 5 5 2 B 
2 A 5 A 2 7 
0 c 5 5 2 B 
D 2 4 5 A 2 7 

3 o o B 5 B B 
5 2 2 7 A 3 7 
3 o 0 2 B 5 c B 
c 1 2 A 7 A 3 D 


F 4 
p 3 

D 2 
A c 5 3 
4 c 
3 c 21 


0 2 
0 2 

B F2BDE ID 
3 A 3 3 c 3 3 c 


5 

0 

7 E D 
4 6 7 


D149R 


3 0 0 3 0 3 8 
5 5 5 F 5 4 2 

D D D 8 D A 7 
cccl c 3 B 


B7 

D 8 A 
3 E 4 
5 2 3 

IDA 
1 c 3 


3 4 

C c 2 E 8 


3EF38E 


F B o o 3 
112 5 5 

D E E D 3 D 3 

c F F c c c c 


c 

o 

o p 

2 7 C 3 4 

1 D 9 9 

2 K 7 c 


3 3 9 0 

B B 6 9 B 9 
7 5 5 B B B 


34CS 353 


aD 


Ficag 

El B D 3 

3 2 3 c c 


B 2 E 8 3 

3 3 0 10c 

4 5 5 0 5 E 


D 

E 3 
2 4 
50B3cg 
A 0 

c 2 c 2 

4 0 
D B 3 3 


8 0 


A DD6D8 B B A 3 16 p 919 
3 CCEC 1 F F 3 c 284B7C 


A4520AE10 0008ACB089ABCD o 3 4 8 c o 4 8 c D E 16 9 El 4 7 c F 147 ADO 6 9 B 2 5 8 0 E 4 8 c D B 2 4 6 9 A B D B o 4 7 D 3 8 c p 16 A o 3 6 9 D p o 
FFBHDC123 00033334444444 0 0 0 0 0 111 1 11222 23 3333 4 4 4 4 4 5 5 5 5 6 6 66 6777 7 788888 88 8 9 9 9 9 A A A A BBBC c c c c c D 
FPPPFFOOO 03333333333333 o o 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 o o o o o o o 0 0 0 0 0 0 0 0 0 0 0 o o o o o o 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
111111222 44444 -44444444-4 5 5 5 5 5 5 5 5 5 5 5 s 5 5 5 5 5555 5 5 5 5 5s $ 655 $ 55 5555 5 555555 55 555 5 55555 5555 555555 


5880 9 9 

6 2282 4 0 F c 8 

7 4 3 7 3 7 0 3 
599333 P13A 1313 3 
5002226547 5455 4 
199B6E6DAB 5 D1D D1 A 
2005576 C3C D c1 c c D 2 

1468ACB37C 12 6 9 c F o 
DDDDDDDEEE F F F F p F 0 
0000000000 0000001 
5555555555 5 5 5 5 5 5 5 
























RL C:SBC A,A:AND 0DH 
LD (DE),A:INC DE 
DJNZ SCRN2 
POP BC 
DJNZ SCRN1 
EX DB,HL 
LD B f 12:LD C,1 

LD A,(DE):INC DB 

IF AO0 THEN LD L,A:LD (HL) f C 

INC C 

DJNZ SCRN3 
PUSH HL 

LD DB,BUFFBR:LD HL t 0 
LD 0,12 

CALL 参し OCI INC H,H 
LD B,16 

LD A f (DE):INC DB 
BXX 

CALL CALCHR:EX DE t HL 
CALL CPUT2 H 
EXX 

DJNZ SCRN5 
DEC C:JR NZ.SCRN4 
POP HL 

LD (HL) f C:LD (POS) r HL 
CALL PRTSTG 
LD HL»0 
JP SETSTBP 

;///////////////////////////// 

LD HL,CHRDAT 
LD DB,CHRBUF 
LD BC,4:LDIH 
LD B,9:LD A, *1* 

PUSH BC»HL 

LDI : LD (DB),A 
INC DE,HL,A 
LDI:LDI 
POP HL,BC 
DJNZ MAKE1 
LD C,4:ADD HL.BC 
LD C,4»4:LDIR 

LD DE,KBYDAT 
LD BC,KBYBUF 

LD A,(DB):IF A=0 RBT 
CALL CALHALP 
LD A,L:ADD A, , 0 , 

LD (BC),A:IKC BC 
DEC H:JR NZ f MAKE5 
IKC DB 
JR HAKB4 


LD HL,BUFFER:LD B,16 聿 12 

LD (HL),13:INC HL 
DJNZ INIT21 

LD HL,0UFH:LD DE r e208H 
LD A,:CALL PRTB0X4 
LD HL,001FH:LD DB,1708H 
LD A f 7BH:CALL PRTB0X4 
LD DE v RCMSG 


EX DE.HL 

LD E,(HL) : INC HL 
LD D,(HL):INC HL 
EX DE f HL 
DB 【 CP 】 

INC H 
CALL 参 IOC 

LD A t (DE):INC DE 
IF A=0 RET 
CP 2:JR C,PRTMSG 
JR Z,PRTM1 
CALL #PRINT 
JR PRTM2 


LD HL,(STAGE):LD H,0 
LD DE.0621H 
JR PRTNUM 


LD HL,(STEP):INC HL 

LD (STBP),HL 
LD DB f 0d21H 


EX DE t HL:CALL #LOC:EX DE t HL 
LD C , 20H 

LD DB,1C000:CALL PRTD1 
LD DE, 1000 : CALL PRTD1 
LD DE, 100 : CALL PRTD1 

LD B,10 : CALL PRTD1 

UD A,L 
JR PRTD3 

XOH A 

INC A:SBC HL.DE 
JR NC,PRTD2 
ADD H し , DE 
DEC A:JR Z,PRTD4 

LD C t 

ADD A f C 
JP tPRINT 


LD A,(DBMOF):IF AO0 JH DKEY 
LD HL,0B25H:CALL «LOC 

CALL #FLQBT 
CP : RBT C 

CP ^UliRBT NC 
SUB 20H 
RET 

LD HL f (DKEYAD) 

LD A,(HL):INC HL 
LD (DKEYAD),HL 
BET 

;///////////////////////////// 

CALL IHPRNT 

DB 0CH # *Quit ”FLICK"»,0DH,0 


438 

439 

440 ;====== 

441 

442 DEMO: 

443 

444 

445 

446 DEM01 : 

447 

448 DEM02 : 

449 

450 

451 


LD SP,STACK 

LD A,40:CALL IWIDCH 

CALL INIT1 

CALL #GBTKY:IF AO0 JR DBMOl 

LD A,0CH : CALL «PRINT 

LD HL.160CH : CALL #LOC 
U) DR.HTTMSG : CALL #MSX 


539F 

53A5 

53AA 

53AF 

53B5 

53BB 

53C1 

53C7 

53CD 

53D2 

53D8 

53DB 

53E3 

53B6 

53BC 


CD 5418 CD 541B 
3E DB CD 541D 
3H 20 CD 546B 
215594 CD 547D 
215586 CD 545D 
CD 549E CD 53F2 
2155AC CD 547D 
CD 549E CD 53BF 
3E DB CD 546B 
CD 549H CD 53F8 
CD 541B CD 5418 
3E 20 CD 541D 
CD 53F5 

21434D 22 433E 
C3 501C 


53BF CD 53F2 
53F2 CD 53F5 
53F5 CD 53F8 
53F8 OE 64 

53FA CD 5401 
53FD 0D 20 FA 

5400 C9 

5401 06 30 


CD 1FD0 
B7 20 03 
10 F8 


5403 

5406 

5409 

540B 


540C FB IB CA 5368 
5411 FB 20 CA 501D 
5416 18 FI 


541B 3E 6F 


452 

453 

454 

455 

456 

457 

458 

459 

460 

461 

462 

463 

464 

465 

466 

467 

468 DWAIT_8 

469 

470 DWAIT_4 

471 

472 DWAIT 2 

473 

474 DWAIT^l 

475 

476 DWAIT 一 C 

477 

478 

479 

480 

481 DWAIT : 

482 

483 DWAIT1 : 

484 

485 

486 DWAIT2 : 

487 

488 DWAIT3: 

489 

490 

491 

492 

493 PRTBOX11 : 

494 LD 

495 D] 

496 PRTBOX12 : 

497 LD 

498 PHTBOX2 : 


CALL PRTBOX11 : CALL PRTBOX12 
LD A, : CALL PRTBOX2 
LD A, 1 1 : CALL SETDT1 

LD HL.TTLDATl : CALL SBTDT2 
LD HL,MSGDAT : CALL SBTSTR 
CALL WAVESUB :CALL DWAIT_4 
LD HL,TTLDAT2:CALL SETDT2 
CALL WAVESUB : CALL DWAIT_8 
LD A, , ts t : CALL SETDTT 

CALL WAVESUB : CALL DWAIT^l 
CALL PRTBOX12:CALL PRTBOX11 
LD A,* * : CALL PRTBOX2 

CALL DWAIT 2 

LD HL,KEYBUF : LD (DKEYAD),HI 
JP START1 


CALL DWAIT_4 
CALL DWAIT_2 
CALL DWAIT^l 
LD 0,100 

CALL DWAIT 

DEC C:JR NZ.DWAIT^C 

RET 


CALL #GBTKY 
IP A<>0 JR DWAIT3 
DJNZ DWAIT1 
RET 

IF A=1BH JP QUIT 
IF A=20H JP START2 
JR DWAIT2 


5425 

5427 

542A 

542F 

5431 

5437 

5439 

543A 

543D 

5442 

5444 

5445 

5449 

544C 

5450 
5453 

5458 

5459 
545B 


F5 C5 
CD 543A 
0E 02 CD 53FA 
Cl FI 

14141C 1C 25 2D 
10 EC 
C9 

32 5454 
3E 2C CD 5444 
3E 2D 


79 32 5458 
CD 201E 
3E 00 CD 1FP4 


00 

10 F5 


501 PRTBOX3 : 

502 PUSH AF.BC 

503 CALL PRTBOX4 

504 LD C,2:CALL DWAIT C 

505 POP BC,AF 

506 INC D,D f E v E:DEC H,L 

507 DJNZ PRTBOX3 

508 RET 

509 PRTBOX4 : 

510 LD (PRTBOX8+l),A 

511 LD A,【INC L]:CALL PRTBOX5 

512 LD A,[DEC L] 

513 PRTBOX5 : 

514 LD C,A 

515 LD B t B:CALL PRTBOX6 

516 LD B,D:RES 3,C 

517 PRTBOX6 : 

LD A»C:LD (PRTBOX9),A 


518 

519 PRTBOX7 

520 

521 PRTBOX8 

523 PRTBOX9 

524 

525 

526 

527 

528 

529 SBTSTR : 


CALL #LOC 

LD A,00:CALL IPBINT 
NOP 

DJNZ PRTBOX7 
RET 


5461 

5462 
5467 
5469 


FE 01 D8 28 F5 
ED AO 
18 F6 


546B 214000 0E 08 


5475 77 23 

5477 10 FC 

5479 0D 20 P4 
547C C9 


547D 114025 0E 06 

5482 06 04 


5484 C5 

5485 4E 23 

5487 06 08 


5489 
548C 

5490 
5492 

5494 

5495 
5497 
549A 
549D 


CB 119P 
E6 5B C6 20 
1213 
10 F5 
Cl 

10 HD 
131313 
0D 20 E5 


549B 214340 06 08 

54A3 36 02 23 

S4A6 10 FB 

54A8 CD 54B3 CD 54A£ 


54AE 

54B3 


3B 2F CD 54B5 
3E 00 


54BD D9 

54BE 11 4000 0H 08 

ぬ 3 S! ,340 oe 08 
54C9 1A 13 

54CB 00 


54CC 

S4CE 

54CF 

54D2 

5405 

5409 

54DB 

54DD 

54DE 

54E0 

54E3 


54E4 D9 
54B5 7E 34 
S4E7 D9 


87 F5 
D9 

DC 5464 
CD 5401 
21002319 
EB ec 
D9 23 
FI 


532 SBTSTR1 : 

533 

534 

535 

536 

537 

538 SBTDT1 : 

539 

540 SETD11: 


LD A,(HL) 

CP l:RBT C:JR Z t SBTSTR-1 
LDI 

JR SETSTR1 


LD HL,BUFFER:LD C,8 


3 SETD12 : 


DJNZ SBTD12 

DEC C:JR NZ.SETDll 

RBT 


549 SETDT2 

550 

551 SBTD21 

552 

553 SETD22 

554 

555 

556 

557 SBTD23 : 

558 


561 

562 

563 

564 

565 

566 

567 

568 WAVESUB : 

569 

570 WAVE0 

571 

572 

573 

574 WAVB1 

575 

576 WAVE2 

577 

578 WAVB3 

579 

580 

581 WAVE4 : 

582 

583 

584 

585 

586 

587 WAVE5 : 

588 

589 WAVB6 : 

590 

591 

592 

593 

594 

595 

596 

597 

598 

599 

600 

601 WAVE7 : 

602 

603 

604 


LD DB,BUFFBR+35+2:LD C,6 


PUSH BC 

LD C,<HL):INC HL 
LD B f 8 

RL C:SBC A»A 
AND 7BH-20H:ADD A V 20H 
LD (DB) t A:INC DE 
DJNZ SETD23 
POP BC 
DJNZ SBTD22 
INC DE t DE,DE 
DBC C:JR N2.SBTD21 
RBT 


LD HL,DPOS:LD B,8 

LD (HL),2:INC HL 
DJNZ WAVB0 

CALL WAVB2 : CALL WAVB1 
LD A,(CPL] : CALL WAVB3 


EXX 

LD DE,BUFFER:LD C,8 

LD HL,DPOS:LD B,8 
LD A,(DB):INC DB 

NOP 

ADD A,A:PUSH AF 

CALL C.WAVB7 
CALL DWAIT 
LD HL,35:ADD HL.DB 
EX DE t HL:INC C 
EXX:INC HL 
POP AF 
DJNZ WAVE6 
DEC C:JR N2,WAVE4 
RET 

LD A,(HL):INC (HL) 
EXX 


►12 月号の 72 〜 73 ページに 「 U ペンの美 f •ちゃん」と害いてありましたが,いったい何名 • 

なんですか,美/•ちゃんて。 松上明正 (15) 鹿児/; b 似 FLICK 81 


& 23E CB 11 9P E6 
5243 1213 

5245 10 F7 

5247 C1 

5248 10 BF 
524A BB 

524B 06 0C 0E 01 

524F 1A 13 

5251 B7 28 02 6F 71 

5256 0C 

5257 10 F6 

5259 E5 

525A 114000 21 0000 

5260 0B 0C 

5262 CD 201E 24 24 
5267 0610 

5269 1A 13 
526B D9 

5260 CD 516 D EB 
5270 CD 51CA 
5273 D9 
527410 F3 
5276 OD 20 B9 
5279 El 

527A 36 00 22 4338 

527F CD 5302 
5282 21 0000 

5285 C3 5310 


5288 21 5004 

528B 11 4300 

528B 01 0004 ED BO 

5293 06 09 3E 31 

5297 C5 B5 

5299 HD A0 12 

529C 13 23 3C 

529F ED A0 ED A0 

52A3 El Cl 

52A5 10 F0 

52A7 0E 04 09 

52AA OE 10 BD B0 

52AB 1155D2 
5281 01434D 

52B4 1A B7 C8 

52B7 CD 5174 
52BA 7D C6 30 

52BD 02 03 

52BF 25 20 FB 

52C2 13 

52C3 18 EF 


52C5 21 4000 06 C0 

52CA 36 0D 23 
52CD 19 FB 
52CF 2101IF 11 0208 
52D5 3E 3D CD 543A 
52DA 21 001P 11 1708 
52EO 3B 7B CD 543A 
52B51154PB 


52E8 EB 
52E9 5E 23 
52HB 56 23 
52ED EB 
52EE PE 

52EF 24 
52F0 CD 201B 

52F3 1A 13 
52F5 B7 C8 
52P7 FE 02 38 ED 
52FB 28 F2 
52FD CD 1FF4 
5300 18 PI 


5902 2A 434B 26 00 
5307 110621 

530A 18 0A 


530C 2A 433C 23 

5310 22 433C 

5313 11 0921 


5316 EB CD 201E EB 
531B 0E 20 
531D 112710 CD 5337 

5323 11 03E8 CD 5337 

5329 11 0064 CD 5337 

532F IB 0A CD 5337 

5334 7D 

5335 18 0A 

5337 AF 

5338 3C ED 52 

533B 30 FB 

533D 19 

533E 3D 28 02 

5341 0E 30 

5343 81 

5344 C31FF4 


5347 3A 434A B7 20 12 
534D 210B2S CD 201E 

5353 CD 2021 
5356 PE 61 D8 
5359 FB 7B D0 
535C D6 20 
535B C9 

535F 2A 433E 
5362 7B 23 
5364 22 433E 

5367 C9 


5368 CD 1FB2 

5368 0C 5175 69 74 20 

5371 22 46 4C 49 43 4B 

5377 22 0D 00 

537A C31PFA 


537D 31 4300 

5380 3B 28 CD 2030 
$385 CD 5288 

5388 CD 1FD0 B7 26 FA 

538E 3E 0C CD 1FF4 
5393 21160C CD 201E 

5399 115546 CD 1PE5 


Ep 


D D D D 12 Y T 

ttttyyeI 

PBPRPRPRKEKEDKQu 

01^3456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456 7-8 901234557 
s)0 )0 )o io 0002011 tlllllulll 222222222233333333334444444444555555555566666666667777777777888800888008999999999900000000001111111111222222 2 212 233333333 
33333333333333333333333333333333333333 33333333333333333333333333333333333333333333333333333333333333444444444444444444444444444 4-4 444444444 


THE SENTINEL 























DW -16.UPCHR 
DW 1,RGTCHR 
DW -l f LFTCHR 
DW I6.DWNCHR 


DW BUPFER+24^35 
DB ..for M ,l 
DW BUFFER+14+210 
DB "SWORD*,0 


629 

630 

631 

632 

633 

634 

635 

636 

637 

638 MOVDAT: 

639 

640 

641 

642 

643 

644 MSGDAT : 

645 

646 

647 

648 


LD H,C:LD L V A : CALL 参し OC 
LD H t 0:DEC L,L:ADD HL.DE 
LD A,<HL> : CALL #PRINT 
LD A ,, D , 

JP #PRINT 


605 

606 
60? 

608 

609 

610 

611 ;///////////////////////////////////// 
612 


613 RCMSG : DB 33, 2 


DB "FLICK,. 


54H8 616F CD 201E 

54BD 26 00 2D 2D 19 
54F2 7B CD 1FF4 
54F6 3£ DB 

54F8 C31FF4 


54FB 21 02 46 4C 49 43 
5501 4B 01 

5503 21 05 52 4F 55 4E 

5509 44 01 

550B 22 08 53 54 45 50 

5511 01 

5512 21 0B 4B 45 59 3A 

5518 02 02 

551A 52 29 65 74 72 79 

5520 02 02 

5522 4E 29 65 78 74 02 

5529 42 29 6163 6B 02 

552F 02 

5530 53 29 6B 69 70 02 

5536 02 

5537 5129 75 69 74 00 

553D 0417 43 4C 45 41 

5543 52 2B 20 

5546 48 69 74 20 5B 53 
554C 50 4143 45 5D 20 

5552 6B 65 79 21 06 


5557 32 34 36 38 4B 4A 

555D 4C 49 

555F IF ID 1C IE 

5563 52 502H 

5566 4E 5e8B 
5569 42 5088 

556C 53 5097 

556F 515366 

5572 00 0000 

5575 00 

5576 FFFO 51AF 

557A 0001 518B 

557E PFPF 5197 
5582 0010 51A3 


5586 4025 

5588 66 6F 72 01 

558C 40E0 

558B 53 57 4F 52 44 00 


$45,$A6 
$01,$80 
$00,$00 

$01 ,$84 
$01,$8O 
$42,$32 

•21,$84 

$21,$84 

$7C,$6C 

$B5,$E0 
$F1,$80 
$00,$32 

$01,$F3 
$8U$8P 
$00,$92 

$B1,$88 
$01,$CC 
$5C f $50 

$19,SA0 

$B1,$80 

$69,$6A 

$01,$F1 
$01 ,$83 
$00,$86 

$85 t $80 
$71,$A0 
$95,$71 

$79, 拿 80 
$39 t $83 
$88,$89 

$11,$80 
$91,188 
$5D f $4D 

$71 t $89 
$95,188 
$92,$00 

$91,$89 
$15,188 
$98,$99 

$41 V $A2 

$05,$B9 

$4D,$0O 

$DF.$A3 

$01,$80 

$3A,$6B 

$65 f $89 
$01,$E2 
$77 • 拿 79 


$18 ( $24 > $18 l $14,$12 
$18,$14,$12 t $16 t $ 12 
$32 y $46 r $18 > )24 V S12 
$68.$52.$66,$68 l $64 


熱い心を伝えるミュージックテク/ロジー 

^^ w 爆 


嚷ま、 


佐久間正英ソングファイル SF -002定価5,800円 

プラス为ックス再結成コンサートで話題を呼んだ佐久間正英は、 
“ BO 0 WY”“Street sliders""Blue Hearts ” 等の プロテ^ l ースを 
てが i ナています ソロアルノ仏 『 LISA 』 など ブイ•エフ•ブイ スタジオを 
中心に独自の音楽活動を展開し、海外からも高い評価を得て 
います 



Masali 



国本佳宏ソングファイル SF -001定価5,800円 

て サザンオールスターズ にも参加して いた 国本佳宏は、現在 スタジオで 作詞、作編 
エンジニアとトータルなサウンドをプロデ^ースして います。冨田勲 のサウンドクラウド 
シリーズサポート、ステイービーワンダーのアレンジ、サイトロンレーベルの 音楽担当と、 
広く世界的な活動を ( JT います> 


齢 


MUSDCML S1WHC1 

亍 154 東京都世田谷区池尻 4-1-4 TEL .03(419)8839 


ソングファイル 68 K は、 Musicstudio PRO - 68 K ( X 68000) 対応の“オリジナル 
データ曲集”です0音色は MT -32( ローランド社製)に合わせていま1"。パレット 
の上で色絵の具を混ぜ合わせるように、あなたの感性で音創りをしてください。 


ROLAND MT -32 


丨 R T K p T 
H T X c I I 
c E E A K u 
l R N B s Q 0 

1 dh,:dw:dw:dw:dw:dw5 

F R N B s Q 
1 

D D D D o D D D 


11222220 丨 
”ny It s S s • y 

D p M rtkptRe 
NE:t X ciiA k 
UTYeeakuB 
o SB)))))L 1 
R krnbsqc e 
: c 

BBBBBBBBB p 

ddddddddd s 

3 3 3 4 : 

B B B B B 

D D D D D 


6 6 6 6 6 6 


0 123 45 

2 2 2 2 2 2 

6 6 6 6 6 6 


^ ^ ^ 

D 19 112 11 D 510 11o 116 19 7 9 9 6 117 110 l 1 D 152 150 '15 B 11c p 93 
7 0 8 6 0 6 228 0 o 0 A A 0 0 0 7 6 0 6 223 0 0 9 0 0 0 0 18 0 8 7 0 8 0 c 0 4 0 4 8 F A 7 

s’srsD.s’sra:Ssst8e.$80. «7c, sss sss t9e. s86.s *94. ss SBC.tBC.s25.SAl. sgs8e. SA8.s9D. ss $62.SAe.*8e,s28.$A3.l t2D. l*A2, s69. $81 f $8F, l 


c F p 4 4 2 
333 232 

$ $ $ ) $ $ 

7 F F 1 0 E 
233 118 0F 

$ $ $ $ $ $ F 0 

0 7 0 113 

8 E E(800 F 


$cc$37 


7 7 7 0 0 0 

0 o 0 4 4 4 I 1, 

$ $ $ $ $ $ F0I 

F F F 2 8 2 A 5 - 

3 3 0 2 2 2 A 5 I 

$ $ $ $ $ $ $ $ « 

F 7 F E 0 1 4FI 

323 811 F 0 I 

$ $ ) $ $ $ $$1 

0 7 0 311 83t 

E E E 888 C3I 

$ $ $ $ $ $ $$1 

7 71 c 8 0 o F ~ 

0 0 0 774 F o I 

$ $ $ $ $ $ $ $ • 

I BBB BBB BBt 

•»ddd ddd D D •• 

T T T T 

A AAA 

D D D D 

L LVY 

TTTTWAKE 

90123456789012 

45555555555666 


52 ,28,18,12 , 


1 D B 112 110 15 8 11 c 119 19 0 910 15 7 7 D 4 510 D 5 2 5 5 7 1 D c)515'994 
0 7 8 o E 8 2 2 0 FF 5 800 o F 4 8 0 0 0 o 0 7 8 5 0 12 8 F 0 18 5 19 2 c D 2 D c 2 F 2 3 

0 E D 0 7 0 4 0 0 F F 4 1 d D 0 D o D 8 0 o 0 B 0 0 7 185 1 E A 9 8 2 8 9 0 3 B B ^30 ^02 
8 B 0 8 8 0 8 8 0 9 A 8 8 8 4 8 8 0 8 9 0 8 8 3 A 8 2 A B 2 A 8 4 8 8 4 A 8 0 8 B 2 B A 0 - A Ct3 


282 00 GO 

B B B B I 
D DDD ; 


150 110 110 113 1 F D 310 15 0 1 F 9 150 71b 510 152 110 11o 114:31)0 
0 4 0 0 2 0 2 2 0 0 0 6 Fc 3 310 0 0 0 E 8 3 0 0 0 0 c 2 810 0 13 19 0 0 c 0 0 0 4 E 0 0 

020 0 4 9 4 4 0 0 0 7 F 3 D c 0 4 0 0 0 719 0 0 0 0 3 0 10 0 F 8 2 8 9 0 0 3 0 0 0 A 10 6 
8 A 0 8 8 0 8000 8 8 6 8 F 2 c 8 6 8 A 0 8 F 8 A 8 o 8 8 0 A 8 0 882 8 8 0 A 8 0 8 A 8 8 c 9 


DB g DB g DBDBDBDBDBDBDB g DBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBOBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDB g 


3 4 5 6 7 8 9 


0123456789012345678901234567890123456789 
7777777777888888888899999999990000000000 
666666666666666 s 666666666 s 66667777777777 


1111111111222222222233 

7777777777777777777777 


J?; $76$64$84*ac$6a»ad$72$46*4b$5a*86<49 $ 86 s96$3c$ 8 d $36 
:j! 2 2 : ,$ 18 , ,$22, ,$ 66 , .»AE.i .fAE.$58 .*Al .$AE.*ll,»AE,*AA,<n.*6c.*Al.*68 ,*97 
4 4 4 513 114 114 717 F 1 4. 13 7 517 F 1 3 518 3 1 A 11 c 11 B 113 1 D c 11 A 5 9 13 
151 4 0 8 2 0 3 0 2 3 0 0 5 c F 4 0 3 6 0 0 4 8 c 4 4 0 3 0 c 3 118 4 8 8 916 0 9 5 0 0 6 23 18 

$ $ $0 $$$ $$$ $$$ $$$ $$$ $$$ $$$ $$$ $$$ $$$ $$$ $$$ $$«^ sff $>$'$> $>$'$, 


82 Oh! X 1989.1. 




































UhiXI L • I • V • E • in •的 


Xl/Xlturbo ©SEGA 

エン デュー ロ レーサー 


X68000 


Matsuzaki Tsuyosm 

松崎剛史 


「アルルの女」よりフアラン ドール H 


お待たせしましだ, Oh! X LIVE in ’89の 
スタートです。今月はゲーム音楽とクラシ 
ックの2曲。皆さんの作品のおかげで,〇 h ! 

X の守備範囲ちすっかり幅広<なりましだ。 
では,今年もはりきつていきましよろ。 


まずはゲームミュージック 


新春第1弾は SEGA のレーシングゲーム, 

エンデュー ロレーサー よりタイ トルソング 

ENDURO RACER の Xl / Xlturbo 用プロ 
グラムです。 

エンデ、ューロレーサーは1986年に登場のゲ 
—ムですが,あの筐体にはまり込んでモト 
クロス気分を楽しんだ人がたくさんいらっ 
しゃることでしょうね。 

作者の松崎さんは VIP ROOM のメンバ 
一で,現在中学3年生。受験が終わってか 
ら投稿に励もうと考えていたそうですが, 
LIVE in ’89の呼び声を聞き,とうとう乗 
せられてしまったと力 1 。ほかにもいろいろ 
な ゲーム ミ ュー ジッタを送ってくれたので 
すが,今回は,以前作ったものをバージョ 
ンアップしてみたというこの曲を採用させ 
ていただきました。 

実行には祝版 MML およびリスト1,リス 
卜2が必要です。 

なお,1130行と1140行のシングルクオー 
テーシ ヨンを取ると,1988年5月号に掲載 
された X - Keyboard のプログラムが使える 
ようになります。 X - Keyboard をお持ちの 


方は試してみてください; 

松崎さんの所属する VI P ROOM では, 
Oh !X LIVE in ’89を占領しよう,と怪気 
炎を上げているそうです。もちろん,そう 
は問屋が卸さんという方も多いので,’89は 
とても期待できそうですね。 


お 次は ビゼー 


第 2 弾はクラシック。 ビゼー作曲 「アルル 
の女」第2組曲よ り「ファラン ドール」です0 
アルルの 女の中でも 有名な 曲の ひと つです 
ので,お馴染みの方も多いでしょう。 

作者の永田さんは,昨年10月号に掲載さ 
れたバッハのアリアを作ってくれた人です。 
クラシック音楽の中にも楽しい曲がたくさ 
んあることを知ってほしい,という彼の次 
回作も楽しみですね。 

曲は X 68000 用 OPM ファイルの形で褐載 
します。テンポが速く,音符の数も多い曲 
で,ファイルもずいぶん大きなものになり 
ましたが,がんばって聞いてみてください。 

実行には OPMDRV . X が必要です 。 EDS 
どのエディタを 使い,行番号と コロンを 除 
いた部分を打ち込んでいってください。曲 
を聞くときは, 

リスト 1 ENDURO RACER 音色定義 


^LM22£ G TS , 



エンデューロレーサー 


COPY faran.OPM OPM 

のように,システム予約ファイル OPM にコ 
ピーして 演奏し ます。 


’89を盛り上げよう 


XI 勢に押され気味の MZ ですが, MZ ユ 
ーザーの力はこんなものではないはず。気 
合いを入れてがんばりましよう。 

さて,早いもので, Oh!X LIVE が始ま 
ってから3年目に入りました。その問,投 
稿作品のレベルもどんどん上がつてきてい 
ます。先月号で発表した MusicBASIC はも 
う打ち込みましたか?この新バージヨン 
対応の作品も楽しみに侍っています。冬休 
みは思いきり音楽しましよう。 


10 POKE &HAFDE.&HCA : POKE &HAFE1 ,0 1 ,.&+•• : ••& +,. .,&’, 

20 POKE &HAE57.12, 0, 7, 0,25, M,47, 0,20, 0,15 ,》ウンタカキカエ 

30 , L26=80 , L27=L128 , L28=40 , L29=L5.25 , L30=L48 , L31=L64 
40 * 

50 1 &HAFDE &HAD74 , &HAFE1 &HAD76 , &HAE57 &HAE6A 
60 * 

70 MEMSt&HBl 90,3 6)=HEXCHH$("FC 00 4F 0140 40 00 00 06 00 IF IF 
IF IF 00 0F 10 07 40 00 00 C3 01 F7 96 A6 00 07 0M 04 00 14 8A 0 
A 00 80") 1 l SNARE DRUM 

80 MEM$(&HB1B4,36)=HEXCHR$("FC ⑽ 01 0140 00 00 00 06 00 IK IF 
IF IF 0713 0E 0F IF IF IF IF CF CF DA DA 00 00 00 00 00 00 8A 0 
A 00 00") 1 2 BASS DRUM 

90 MEM${&HB1D8,36)=HEXCHR$("FE 00 00 00 00 00 04 00 00 00IF IF 
IF IF 0110 0C 07 45 0B 06 09 25 A8 A6 87 00 00 00 00 00 00 80 0 
0 00 00") » 3 TOM 

100 MEM$(&HB1FC,36)=HEXCHH$("FC 00 0C 01OF 0A 00 11 001919IB 
19IF 05 91 0511 C8 08 C8 88 61 F8 61 F8 00 00 00 00 00 00 80 
00 CO 00") * 4 C HI-HAT 

110 MEM$(&HB 220,3 6)=HEXCHR$("FC 00 0F 01 0A OF 00 0D 00 19IE IF 
IE IF 05 0C 07 0C C0 46 C2 86 02 5712 57 00 00 00 00 00 00 80 
00 00 00") *50 HI-HAT 

120 MEM$(&HB 244,3 6)=HEXCHR$( M FC 00 0F 01 0A 0F 00 00 00 04IE IF 
IE IF 00 06 06 08 C0 42 C2 82 00 46 20 86 00 00 00 00 00 00 80 
00 00 00") 1 6 CYMBAL 


130 * 

140 MEM$(&HB 460 , 3 6)=HEXCHR$("FA 00 0218 01 5314 26 20 00 9F 9F 
5F 9F 0A 01 01 02 03 01 03 0514 A6 0415 00 00 00 00 00 00 80 
00 00 00") 1 21 KEYBORD 

150 MEM$ (&HB484,36) =HEXCHR$ ( *'C3 00 05 00 00 00 32 0B 0E 00 IF IF 
IF IF 02 02 02 82 06 06 06 06 36 35 36 38 06 04 00 00 00 C8 80 
00 02 00") ’ 22 E BASS 

160 MEM$(&HB4A8,36)=HEXCHR$("FA 00 0218 015314 26 20 00 9F 9F 
5F 9F 06 06 06 06 02 02 02 02 44 46 44 45 0(J 00 00 00 00 00 80 
00 00 00") ' 23 KEYBORD 2 

170 MEM$(&HB4CC,36)=HEXCHR$("FA 00 0218 015314 26 20 00 9F 9F 
5F 9F 03 03 03 03 00 00 00 00 34 36 34 35 00 00 00 00 00 00 80 
00 00 00") 1 24 KEYBORD 3 

180 ' 

190 RUN "ENDURO RACER .MML" 

200 1 〜〜 ENDURO RACER 〜〜 (c ) SEGA 

210 » 

220 * PROGRAMMED 

230 1 VIPROOM No . 025 松 峭削史 

240 ' 

250 ’ ブログラムを入力する前に、 M ML を拡张して下さい。 

260 » 

270 ' 

280 1 V I P R 0 O M に入りませんか? 


0h!X LIVE in *89 83 


















リスト 2 ENDURO RACER . MML 


10 GOSUB 20:GOSUB 280:GOTO 570 

20 T2$ = "G&G-&F&E" : T3$="E&E-&D&D- M : T4$ = "C&<B&B-&A> 

30 Y1$="I2DRDI1BRI2DRRDI1BGG M : X1$="I4CRCCRCCRCCRC 

40 Y2$ = "I1BRI2DI1B12DDRI1BI2DI1BI2DI1B":X2$= "14CCRCCRCI5C14CI5CI 

4CI5C 

50 Y3$="I1BRI2DI1BI2DDRDDDDD 
60 RETURN 

70 Al$= ,, >C+8.&C+8 く B4A8G+&G+2C+E8F+G+2A8.BA8.G+8F+8.G+A8B 
80 BA$="02D8.>DR<D8RD>D<D>D<E8.>ER<E8RE>E8.<E+8.>E+8<E+>G+8<E+>B 
8>C+<<F+8.>F+RE4<F+8>F+< 

90 CA$="04I23V111A4.>D4.D4.R8<B>C+RDC+4. く B4.A4.R8AARG+ 

100 DA$="04I23VUlF+4.A4.B4.R8GGRGG+4.G+4.E4.R8F+F+RE 
110 GA$= "04123 VI11D4.F+4.G+4.R8EEREF4.F4. 

120 CD$="A4.>D4•D4•R8<B>C+RDC+4.D4.E8.D8.C+8AARG+ 

130 DD$="F+4.A4.B4.R8GGRGG+4.G+4.A8.G+8.G+8F+F+RE 
140 GD$="D4.F+4.G+4.R8EEREF4.F4.G+8.F+8.F+8 

150 BB$="D8.>DR く D8RD>D く D>D<E8.>ER く E8RE>EFE く F+R>F+R8 く F+F+R8>F+RF+ 
R8.<F+8.>F+ED<B>CC+ 

160 CB$="R4.>D4.R4.E4.C+RC+R4.C+RC+R4.>C+< 

170 DB$="F+4.F+4.G+4.G+4.ARAR4.ARAR4.>A< 

180 GB»="D4.D4.E4.E4.G+RG+R4.G+RG+R4•>F + く 

190 EB$=Y1$+Y1$+"I2DRL 311304 "+T2$+"R8. M +T4$+"R16I201D16R80413"+T 

2$+"R8.”+T2$+”Rl 61201 D1 60413 "+T2$+T2$+T3$+T4$+T4$+” 1201 L16D 

200 FB$=X1$+X1$+"CRV127I1BV119I4CRCV127I1BRV119I4CCRV12711BVU9I 

4CRCI304L31 ,, +T3$ + "01V119I4L16RCRRRRRC 

210 BC$="<F+RF+R8>F+F+R8<F+RF+R8>F+F+R8ARB4 

220 CC$="C+RC+R4.>C+RC+R2E4 

230 DC$="ARAR4.>ARAR2A4 

240 GC$= M G+RG+R4.>G+RG+R2G+4 

250 EC$="I201DRL 311304 "+T2$+"R8.I101B1 60413 "+T3$+"01I2D16R8I304" 
+T2$ + '*R8. "+T2$ + ,, 01L16RRI1BRBRRR 

260 FC$="CRIlBI4CRCRCCCRIlBI4CRCr304L31 H +T3$+"R8Ll 60114 CCCCRC 
270 RETURN 

280 A0$=" 0612 1L32V117T150 

290 B0$=" 02122 L16V119 

300 E0$=" 0111 L16V127 

310 F0$=" 0116 L16V119 

320 ZU = "F+R>F+<":Z2$ = "ER>E く 

330 EI$= H I1BBBBBBBBBBBBB32B32BBI304L31"+T2$+T2$+T2$+T3$+T3$+T3»+ 
T4$+T4$+T4$ 

340 AI$="R2.>C+<BAGF+EDC+<BAGF+EDC+<B4" : HI$= ,, R31"+AI$ : Dl$="L8F+2 
.E4.D4&D16E.F+. 

350 Al$= M L8>C+2.<B4.A4&A16B.>C+.<E16EF+.E4E.EF+4" : E1$="01L16"+ST 
RIN0$(4,Y1$) 

360 Cl$r"L8A2.G+4.F+4&F+16G+.A.C+16C+R.C+4C+.C+&C+4" : F1$=STRING$ 
(4,X1$) 

370 B1$=STRING$(4,Z1$)+STRING$(4,Z2$)+Zl$+Zl$+Zl$+"F+R>A8RA<F+R> 
Q+<F+R>F+<F+R>E< 

380 A2$= M >C+2.<B2>E.E.F+.<E16EF+.E4F+.AF+4" : D2$="F+2.E2G+.G+.A. 
390 C2$="A2.G+2B.B.>C+.<C+16C+RC+4C+.C+. 

400 H4$=">C+2.<B2>E.E.F+.<E16EF+.E4E.AR16B 

410 B2$=STRING$(4,Z1$)+STRING$(4,Z2$)+Z1$+Z1$+Z1$+"F+R>E8R<F+>C + 
R<F+BRF+>CRC+< 

420 B3$=STRING$(4,Z1$)+STRING$(4,Z2$)+STRING$(8,Z1$) 

430 A3$=">C+2.<B4.A4&A16B.>C+.<E16EF+.A4G+.F+.EF+16 
440 C3$='*A2.G+4.F+4&F+16G+.A.C+16C+R.C+4C+.C+.C+. 

450 B4$=STRING$(4,Z1$)+STRING$(4,Z2$)+Zl$+Zl$+Zl$+"F+R>E8RF+<F+R 
>G+<P+R>A<F+R>G+< 

460 A4$=">C+2.<B2>E.E.F+.<E16EF+.E4E.EF+.":D4$="F+2.E2G+.G+.A.R1 
6R2.DR16E 


470 C4$ = M A2 . G+2B. B. >C+ . <C+ 16C+R. C+4C+ .C+C+ *' : G4$ = H A2 . G+2B. B. >C+ . < 
C+16C+RC+4F+R16G+ 

480 B5|=STRING$(4 I Z1$)+STRING$(4 I Z2$)+Z1$+Z1$+Z1$+"F+R>G+ARF+<F+ 
R>E<F+R>C+<F+R>E< 

490 B6$=STRING$(4,Z1$)+STRING$(4,Z2$)+STRING$(4,Z1$)+"F+RB>CRC+E 
REF+RA 

500 A7$="L16>C+8C+ く BBBA8AG+8F+>C+8C+ く BBBA8G+8.F+":C7$="V114”+A7$ 
510 A8$=">C+8C+<BBBA8A>E8F+&F+2."+STRING$(7,"E" >+"8" :A7$="Y51,65 
"+A7$ 

520 C8$=">C+8C+<BBBA8AE8F+&F+2."+STRING$(7,"G+")+"8 

530 B8$=">C+8C+<BBBA8AE8F+&F+2. M +STRING$(7,"K")+"8 

540 E7$ = "I304L31"+T2$ + "I101B1604I3 ,, +T2$+T3$+T3$+T3$+T4$ + ' , R16 ,, +T4 

$+"1 101L16BBBL 310413 ”+T2$+" 1101 B1 60413 "+T2$+"E&E-E&E-"+T3$+T3$+T 

4* + "R16..+T4$+"R8I101B16 

550 E8$="04L31I3"+T2$+" 1101 B1 60413 "+T2$+T3$+T3$+T3$+"I101L16B8B8 
R8,. +Y1 $ + " BBBBBBBR2B8. 

560 F7$ = .’R8CRCRCRCRCRCRCRCRCRCCRC,. : F8$ = . , CRCRCRCCCC":RETURN 
570 PLAY 0 

580 PLAY A0$ + " : "+B0$ + ":"+A0$ + ”: ,, +A0$ + " : M + E0$ + ":" + F0$ + " : "+A0$ + ":" 
+A0$ 


590 PLAY AI$+" :: K5R32"+AI$+" : K8"+AI$+" : "+EI$+" : ";PLAY , • : K15"+HI$ 
+"K10 : K10 M +HI$ 

600 PLAY : K10 : K10 

610 PLAY Al$ + " : "+B1$ + " : "+CU + " : "+D1$ ;PLAY .•: " + E1$ + " : "+F1$ ;PLAY ,, 
: "+Cl* + . ,: "+Al$ 

620 PLAY A2$ + ":"+B2$ + ":"+C2$ + ":"+D2$;PLAY ••: ..+E1$ + " : "+F1$ ;PLAY " 
: , .+C2$ + ":”+A2$ 

630 PLAY A3$ + ":"+B3$ + ":"+C3$ + ":”+Dl$;PLAY •,: "+E1$ + " : " + F1$ ; PLAY •• 
: "+C3$+" : "+A3$ 

640 PLAY A4$+":”+B4$+":"+C4$+":"+D4$;PLAY " : "+E1$+" : "+F1$;PLAY " 
: "+G4$+" : "+H4$ 

650 PLAY A3$ + ,,: ”+B5$ + ■•: "+C3$ + , • : "+D1$;PLAY ,.: "+E1$ + " : "+F1$ ; PLAY ,, 
: "+C3$+" : n +A3$ 

660 PLAY A4$ + " : "+B6$ + M : "+C4$ + " : M + D2$ ; PLAY ••: " + E1$ + " : " + F1$ ; PLAY ,, 
: , .+C4$ + " :"+A4$ 

670 PLAY A7$+":"+A7$+":"+C7$+":"+A7$;PLAY u : "+E7$+ H : "+F7$;PLAY " 
: , .+C7$ + ":"+A7$ 

680 PLAY A8$ + ":"+B8$ + " : , .+C8$ + . ,: "+A8$;PLAY : " + E8$ + " : "+F8$ ; PLAY .. 

: ..+C8$ + " : "+A8$ 


690 CLEAR:GOSUB 20 
700 FOR Irl TO 2 

710 A$= M Y55,40O5L16C+l&C+8<G+8A8B8G+2&G+8.E2.F+& 


720 B$= ,, 02F+RR>F+RRERRF+RR<F+RF+>F+<F+>F+E8RF+8R<ERR>ERRDRRERR<E 
RE>E<E>ED8RE8R く 

730 C$="05I23V111L16R8.F+RRE8 F+RRF+8RF+F+RRE8 F+R4. E RRD+8E RR 
E8 RE E RRD+8E 

740 D$=" 05123 VI11L16R8.C+RRC+8C+RRC+8RC+C+RRC+8C+R4.<B RRB8 B RR 
B8 RB B RRB8 B 

750 G$=" 04123 V111L16R8.A RRA8 A RRA8 RA A RRA8 A R4. G+RRG+8G+RR 
G+8RG+G+RRG+8G+ 

760 E$=STRING$(4,Y1$) : F$=STRING$ ( 4 , XI $ ) : B* = *'V114"+B$ 

770 "P" 

780 A$="F+2&F+8.>C+&C+2<B8.A>E1. 

790 "P" 

800 A$="F+2.&L8F+G+ABAG+L16E2&E8.<B2.>E& 

810 B$="F+RR>F+RRERF+8RR<F+RF+>F+<F+>F+E8RF+8R<ERR>ERRDRRERR<ERE 
>E<E>ED8RE8R< 

820 "P" 

830 A$="E2.&E8.C+8. く B8AG+8AG+8•&G+8F+&F+2.F+8G+A8B 

840 B$='*ERR>ERRDRRERR<ERE>E<E>ED8RE8R<F+8.>F+RRE8.F+R<F+RRF+>F+< 

F+>F+<F+R>F+<F+R>F+< 

850 C$="R8.E RRD+8E RRE8 RE E RRD+8 E RRRF+RRE8 F+RRF+8RF+F+RRE8 
F+RR D 

860 D$="R8.B RRB8 B RRB8 RB B RRB8 B>RRRC+RRC+8C+RRC+8RC+C+RRC+ 
8C+RR<B 

870 G$="R8.G+RRG+8G+RRG+8RG+G+RRG+8G+ RRRA RRA8 A RRA8 RA A RRA8 
A RR G+ 

880 E$=Y1$+Y1$+Y1$+"I2DRDR8DI1BGGBGG 
890 "P" 

900 GOSUB 70 

910 A$=A1$ : E$=STRING$(4,Yl$) : B$=BA$ : C$=CA$ : D$=DA$ : G$=GA$ 

920 "P" 

930 A$=">C+8.4C+8<B4A8.G+24G+A8.G+8F+1F+8G+A8B 
940 C$=CD$ : D$=DD$ : G$=GD$ 

950 "P" 

960 A$=A1$ 

970 C$=CA$ : D$=DA$ : G$=GA$ 

980 "P" 

990 A$= M >C+8.AC+8<B4A8.>E2C+G+8F+2.4F+8 
1000 B$=BB$ : C$=CB$ : D$=DB$ : E$=EB$:F$=FB$ : G$=GB$ 

1010 IF 1=1 THEN E$=Y1$+Y1$+Y1$+"I2DRDI1BGGI2DRI1B" : F$=X1$+X1$+X 

m"CRCCRCCRC 

1020 "P":NEXT 

1030 P$="07L32C+<BAGF+EDC+<BAGF+EDC+<BAGF+ED16&D 
1040 A$= H R2.R2.R2. n +P$ 

1050 B$=BC> 

1060 C$=CC$ + "R2.I21K15R31V101 ,, +P$ + "K5V111 

1070 D$=DC$+"R2.I21K0R32V103"+LEFT$(P$,LEN(P$)-1)+"K5V111 

1080 G$=GC 拿 +"R 2.121 K8V106"+P$+"K5V111 

1090 E$=EC$+ M I2DRRDRRDRRDRRIlBBBI304L3r'+T2$+T2$+T2$+T3$+T3$+T3$ 

+T4$+T4$+T4$+"L1601 

1100 F$=FC$+"CRRCRRCRRCRR 

1110 "P" 

1120 A$="Y 55,40 R1.R1. 

1130 , KEY0,CHR$(11) + "DELETE 580,11 30"+CHR$(13,11)+ "G.1140"+CHR$ < 
5,13) : BND 

1140 1 GOSUB 20:GOSUB 80 

1150 B$="02F+RF+>F+<F+>E<F+>C+<F+BF+AF+RF+>F+<F+>E<F+>A<F+>G+<F+ 
>F+<F+RF+>F+<F+>EC+<F+BF+AF+>F+<F+>E<F+>G+<F+>F+<F+>A<F+>G+< 

1160 C1$="05L16C+R8.R1D+4C+R1R く A RRB " : C$=C1$ 

1170 D1$="04L16A R8.R1A4 A R1R F+RRG+ M : D$=D1$ 

1180 G1$="04L16F+R8.R1F+4F+R1R D RRE ":G$=G1$ 

1190 E1$=Y2$+Y2$+Y2$ + ,, B32B32BBBI304L31 ,, +T2$+T2$+T2$+T3$+T3$+T3$ + 
T4$+T4$+"01L16 

1200 F1$=X2$+X2$+X2$+ ,, R4.RI5CI4CI5CI4CI5C 
1210 E$=E1$ : F$=F1$ 

1220 "P" 

1230 B$="F+RF+>F+<F+>E<F+>C+<F+BF+AF+RF+>F+<F+>E<F+>A<F+>G+<F+>F 
+<F+RF+>F+<F+>EF+<F+>G+<F+>A<F+>B<F+>>C<<F+>>C+<<F+>B<F+>A<F+>F+ 
<F+ 

1240 E2$=Y2$+Y2$+Y2$+”BI2DDL 310413 "+T2$+T2$+"01I2D1 60413 "+T3 拿 +T3 
拿 +" 0112 D1 60413 "+T4$+" 0112 L16DD 
1250 F2$=X2$+X2$+X2$+"R8I4CRCRCI5CI4CRCI5C 
1260 E$=E2$ : F$=F2$ 

1270 "P" 

1280 B_$ = ,, F+B>CC+EF+<*' : B$=B_$+B_$+B_$ + "F+R>A<F+R>F+< M +B $+B $+B 
$+">EF+AF+AB< " --- 

1290 E3$=Y3$+Y3$+Y3$ + "I304L31 ,, +T2$+T2$+T2$+T2$+T3$+T3$+T3$+T4$+T 
4$+T4$+T4$+T4$+ n 01L16 

1300 F3$=X2$+X2$+X2$+ H I4CRRCRRCI5CI4CCI5CI4C 
1310 E$=E3$ : F$=F3$ 

1320 "P" 

1330 C2$="05C+R8.R1D+4C+R2R8.E E E E E E E R F+4" : C$=C2$ 

1340 D2$="04A R8.R1A4 A R2R8•B B B B B B B R>C+4 M : D$=D2$ 

1350 G2$="04F+R8.R1F+4F+R2R8.G+G+G+G+G+G+G+R A4 ":G$=G2$ 

1360 B$=B_»+B_$+B_$+">EC+EC+<B>C+< M +B_$+">AF+ABRAB>C + <B>C+EC+8RF 
+ 4 

1370 E4$=Y3$+Y3$+"IIB 32832 BBL 310413 M +T2$+T2$+T2$+T3$+T3$+T3$+T4$ 

+T4$+T4$+"01L16I1BBBBBBB 

1380 F4$=X2$+X2$+"R2.I4CRRCRRR8I6C 

139.0 E$=E4$:F$=F4$ 

1400 "P" 

1410 A$ = "AB>E<" : A$ = *'04L16 ,, +A$+A$+A$+A$ + M >C+<B>E<B>F+<B>A<B>G+<B> 
F+<B ,, +A$+A$+A$+A$ + ,, AB>C+EF+EC+<BABAG+ 

1420 C$=C1$ : D$=D1$ : G$=G1$ 

1430 B$="02F+8.>F+R<F+>E8.F+8.<F+RF+>F+<F+>B4F+8.<F+8.>F+R<F+>E8 
•F+8.<F+RF+>F+<F+>F+E8.F+8. 

1440 E$=STRING$(4,Y1$) : F$ = STRING$(4,XI$) 

1450 "P" 

1460 A$=.’F+4EF+C+EF+EF+AF+ABAB>C+<B>C+EF+8EEC+<B>C く BABAF+AF+EF+A 

BAB>C+<B>C+EF+8L32C+E 

1470 "P" 

1480 A$=STRING$(8,"A8F+C+")+"L16F+FEEF+AF+ABAB>CC+EC+EEEERF+F+8E 
1490 B$="02F+8.>F+R<F+>E8.F+8.<F+RF+>F+<F+>E4F+8.<F+8.>F+R<F+>E8 


84 Oh ! X 1989.1. 


► ••営業努力”をする歯医者さんはたくさんいることでしようが,でも,うちの近所の歯医 
者さんは診療台を降りようとした瞬間に詰め物が取れてしまうほどの努力家です。教訓「過 
ぎたるは及ばざるがごとし j 。 水野圭 (17) 愛知県 








.F+R<F+"+STRING$(6,">E<E") 

1500 E5$=Y1$+Y1$+"I2DRI304L31"+T2$+ U I101L16BR12DI304L31 ,, +T3S+"L1 
601RI1BRRB"+Y1$ 

1510 F5$=X1$+X1$+"CR04I3L31"+T3$+"I401L16CRC04I3L31 ,, +T4$+"L16RI4 
01CCRC"+X1$ 

1520 E$=E5$ : F$=F5$ 

1530 "P" 

1540 A$="A8F+32E32C+8F+8EC+<B>CC+<BAF+BAF+AF+E8F+8EC+<B>C+<BABAF 

+AF+E32F+32>EEEEEEERF+4 

1550 C$=C2$:D$=D2$ : G$=G2$ 

1560 B$="02F+8.>F+R<F+>E8.F+8.<F+RF+>F+RE8R<F+>F+8.<F+8.>F+R<F+> 

ER<F+>F+8.F+<F+>F+<F+>F+<F+>F+R>C+4 

1570 E$=Y1$+Y1$+' , I2DRDI1BI2DDDRDI1BRI2DI1BBBBBBB 

1580 F$=X1$+X1$+"CRCRI5CI4CCRCRCRCRRCRRRRI6C 

1590 "P" 

1600 A$="R1,R1. 

1610 B$="02F+8.>F+<R1E4F+R8.R1E4 

1620 C$="05C+R8.R1D+4C+R2R8.>L8V119C+C+C+C+C+C+V111L16 
1630 D$="04A R8.R1A4 A R2R8.>L8V119A A A A A A V111L16 
1640 G$="04F+R8.R1F+4F+R2R8.>L8V119F+F+F+F+F+F+V111L16 
1650 E$=E1$ : F$=F1$ 

1660 "P" 

1670 B$="F+R8.R1E4F+R1RE4. 

1680 C$= H 05C+R8.R1D+4C+R2.R>V119C+V1U 
1690 D$="04A R8.R1A4 A R2.R>V119A R8.G8 A Vlll 
1700 G$="04F+R8.R1F+4F+R2.R>V119F+R8.F+8F+V111 
1710 E$=E2$ : F$=F2$ 

1720 "P" 

1730 C$=C1$ : D$=D1$ : G$=G1$ 

1740 B$="F+R8.R1E4F+ 

1750 E$=E3$:F$=F3$ 

1760 "P" 

1770 C$=C2$ : D$=D2$ : G$=G2$ 

1780 B$="F+R1R8.E4F+R2R8.BBBBBBBR>F+4 
1790 E$=E4$ : F$=F4$ 

1800 ”P” 

1810 A$="06L16I24Y 55,40 C+l.<C+2.&C+2E8.F+& 

1820 B$="02F+8.>F+R<F+>E8.F+8.<F+RF+>F+<F+>E4F+8.<F+8.>F+R<F+>ER 
<F+>F+8.<F+RF+>F+<F+>F+E8.F+8. 

1830 C$=C1$:D$=D1$ : G$=G1$ 

1840 E$ = STRING$(4,Y1$) : F$=STRING$(4,XI$) 

1850 "P" 

1860 A$= m L8F+FF+CE<B>E<B>D+<A+>D<A>C+<G+>C<GBAF+2. 

1870 B$="02F+8.>F+R く F+>E8.F+8 . く F+RF+>F+ く F+>E4F+8 . く F+8.>F+R く F+>E8 
.F+8.<F+RF+>A8.B8.>C+8. 

1880 C$="05C+R4C+R4RC+R2D+4C+R4C+R4RC+R4R<A4B 
1890 D$=”04A R4A R4RA R2A4 A R4A R4RA R4R F+4G+ 

1900 G$="04F+R4F+R4RF+R2F+4F+R4F+R4RF+R4R D4 E 
1910 "P" 

1920 A$ = "AB>C+<BAF+" : A$ = "L16 ,, + STRING$(4 l A$) + "L29 ,, +A$+STRING$(2 f " 
AB>C+<BF+")+ M A2&A8&L32AB>C+C+ 

1930 B$="02F+8.>F+8.E8.ER<F+R8F+>F+8RE8.F+8.<F+8.>F+8.E8.F+R<F+" 
+STRING$(6,">E<E") 

1940 C$="05C+R4C+R4RC+R2D+4C+R4C+R8.C+8C+R4.<A RRB 
1950 D$="04A R4A R4RA R2A4 A R4A R8.A8 A R4. F+RRG+ 

1960 G$="04F+R4F+R4RF+R2F+4F+R4F+R8.F+4F+R4. D RRE 
1970 E$=E5$ 

1980 "P" 

1990 A$="E8.&E8C+EF+4&F+C+EF+L16AF+EC+EF+A4&AF+>C+8<BAF+EL29F+AF 
+EC+<B>CC+<BA>C+<BEF+AF+L16ERF+4> 

2000 B$="02F+8.>F+R<F+>E8.F+R<F+R8F+>F+<F+>E4F+8.<F+8.>F+8.E8.F+ 
8.<F+R>C+<BABR8>F+4< 

2010 C$="05C+R4C+R4RC+R2D+4C+R4C+R4RC+E E E E E E R8 F+4 


2020 D$="04A R4A R4RA R2A4 A R4A R4RA B B B B B B R8>C+4 
2030 G$="04F+R4F+R4RF+R2F+4F+R4F+R4RF+G+G+G+G+G+G+R8 A4 
2040 E$=Y1$+Y1$+"I2DRDI1BI2DDDRDI1BRI2DI1BBBBBBB 
2050 F$=X1$+X1$ + "CRCR15C14CCRCRCRCRRCRRR8.16C 
2060 "P" 

2070 AA$=" 121 Y 55,40 C+2<B8.AG+2C+E8F+G+2A8.BG+4.F+8G+A8B 

2080 A$=AA$ : B$=BA$ : C$=CA$ : D$=DA$ : G$=GA$ 

2090 E$=STRING$(4,Y1$) : F$ = STRING$(4,X1 $) 

2100 "P" 

2110 A$=">C+8&C+8.<B4A8.G+2A4G+8F+&F+2>F+&F+2G+A8B> 

2120 C$=CD$ : D$=DD$ : G$=GD$ 

2130 "P" 

2140 A$=AA$ 

2150 C$=CA$ : D$=DA$ : G$=GA$ 

2160 "P" 

2170 A$=">C+8&C+8. く B4A8.G+2A8.BA8.G+8.F+2L8>C+<BAG+F+ 

2180 B$=BB$ : C$=CB$ : D$=DB$ : G$=GB$ 

2190 E$=Y1$+Y1$+Y1$+STRING$U2,"B"):F$=X1$+X1$+X1$ 

2200 "P" 

2210 A$="L16F+4.F+8C+C+8EA8.G+8.F+8.G+8>C+&C+2<BA8G+4F8F+8.G+8.A 
2220 B$=BA$ : C$=CA$ : D$=DA$ 

2230 E$ = STRING$(4,Y1$) : F$ = STRING$(4,XI$) 

2240 "P" 

2250 A$="B8AG+8F+8.G+8.AB8>C+<B8A8.G+8.EF+2.>C+<BA>C+<BA>C+<BABR 
>F+& 

2260 C$=CD$ : D$=DD$ : G$=GD$ 

2270 "P" 

2280 A$="F+2C+E8F+&F+4.A4.G+4.F4.F+2E8.C+ 

2290 C$=CA$ : D$=DA$ : G$=GA$ 

2300 "P" 

2310 A$="<B8>CC+8<A8.F+8.A>C+8<BA8B8.G+8.AE4&EEF+2.&F+8A8.>F+& 
2320 B$=BB$ : C$=CB$ : D$=DB$ : E$=EB$ : F$=FB$ : G$=GB$ 

2330 "P" 

2340 A$="F+1. 

2350 B$=BC$ : C$=CC$:D$=DC$ : E$=EC$ : F$=FC$ : G$=GC$ 

2360 "P" 

2370 CLEAR:GOSUB 20:GOSUB 280 

2380 PLAY M V117:02V119:VU7I21 : VI 17121 :: : VI17I21K10 : VI17K10 
2390 Al$="05L8C+2.<B4.A4&A16B.>C+.E16EF+.E4E.EF+4" : D1$="04L8F+2. 
E4.D4&D16E.F+. 

2400 Cl$ = "04L8A2.G+4.F+4&F+16G+.A.>C+16C+R.C+4C+.C+&C+4 く 
2410 E1$=STRING$(4,Y1$) : F1$=STRING$(4,X1$) 

2420 A2$="C+2.<B2>E.E.F+.E16EF4.E4F+.AF+4 m :D2$="F+2.E2G+.G+.A. 
2430 C2$="A2.G+2B.B.>C+.C+16C+RC+4C+.C+.< 

2440 A3$= H C+2.<B4.A4&A16B.>C+.E16EF+.A4G+.F+.EF+16 
2450 C3$="A2.G+4.F+4&F+16G+.A.>C+16C+R.C+4C+.C+.C+.< 

2460 A4$="C+2.<B2>E.E.F+" : C4$="A2.G+2B.B.>C+" : D4$="F+2.E2G+.G+.A 
2470 B4$=STRING$(4 , Z1$)+STRING$(4 , Z2$)+Z1$ 

2480 E4$=Y1$+Y1$+"BRB” : F4$=X1$+X1$+”CRC 

2490 PLAY Al$+":"+B1$+":”+Cl$+":"+D1$;PLAY ": "+E1$+":"+F1$;PLAY 
": "+C1$+":"+A1$ 

2500 PLAY A2$+":"+B2$+":"+C2$+":"+D2$;PLAY ": "+E1$+":"+F1$;PLAY 
" : "+C2$ + " : . , +A2$ 

2510 PLAY A3$ + ":"+B3$+":"+C3$ + ": "+Dl$;PLAY '* : "+E1$ + " : " + F1$;PLAY 
":"+C3$+" : "+A3$ 

2520 PLAY A4$+":"+B4$+":"+C4$+":"+D4$;PLAY ": "+E4$+":"+F4$;PLAY 
" : M +C4$+" : "+A4$ 

2530 END 
2540 LABEL"P" 

2550 PLAY A$;PLAY " : "+B$;PLAY ":"+€$; PLAY " : '* + D$; 

2560 PLAY " : M +E$ ; PLAY ,,: "+F$ ; PLAY ": "+G$ ; PLAY ,,:,, +A$ 

2570 RETURN 


リスト 3 faran.OPM 


========== faran.opm ================= 

G.Bizet,"1 ' Arlesienne" 2nd Suite 
no.4, Farandole 

for X68000 with opmdrv.x, Arr.by T.N. 


ml,8000) 
al,l) 
m2, 8000 ) 

8 : ta 2,21 

9 : (m3,8000} 

10: (a 3,3 > 

11:(m 4,8000 > 

12: (a4,4 ) 

13: {m 5,800 0} 

14 : (a5,5) 

15: (m 6,800 0) 

16: (a6,6 > 

17 : (m 7,800 0} 

18: (a 7,7 > 

19 : (m 8,800 0} 

20 : (a8,8) 

21: / Sorry for too many timber data. 

22: / timber number 1 , 39 , 40, 44 and 45 are from MP SOUND 
SOUND pro-68K, SHARP. 

23: (v40,0,61,15 ,2 , 0 , 203 , 14,0 , 4 ,0,3,83,31,7,0,3,1,29,0,1,0 
,31,0,6,0,5,0,2,0,0,1,14,31,0,6,0,5,0,0,0,0,1,14,31,0,6,0 


,0,1,14 
5,0,1,0 


, 0 , 1 ) 

24: (v79,0,37,15,2,0,201,22,4,2,0,3,84,15,4,0,6,3,22,1,1,2,0,1,18 
,3,0,4,4,0,2,4,1,0,1,18,1,0,4,7,0,2,1,5,0,1,18,3,0,4,0,0,2,1,0,0, 
1) 

25: ( vl ,0,62,15,2,0,205,40,4,^1,3,80,25,10,15,9,5,34,0,2,0,0,1,1 
8,0,0,9,4,11,0,2,0,0,1,17,415,1,28,0,2,0,0,1,16,9,0,15,0,7,0,2 


, 0 , 0 , 1 ) 

26: (v94,0,60,15,2,0,204,74,7,0,0,3,67, 31,. 8,0,9,6,33,1,2,5,0,1,18 
,30,0,8,0,0,0,1,0,0,1,14,1,0,8,5,42,0,3,6,0,0,13,31,0,7,0,17,1,5, 
2 , 0 , 1 ) 

27: (v93,0,13,15,2,0,192,29,0,1,2,3,84,29,18,0,7,15,26,0,0,3,3,1, 
31,15,18,10,3,0,0,0,2,1,1,31,25,12,7,0,0,0,0,5,2,1,31,25,12,6,0,0 
, 0 , 0 , 0 , 0 , 0 ) 

28: (v39,0,58,15,2,0,203,42,0,4,0,3,83,27,5,0,7,1,34,0,2,1,0,1,28 
, 17,16 , 1 3,8,37,0,12,0,2, 1 , 25, 11,6,6 ,0 , 35 ,0,4,0,0,1 , n, 10 , 0 , 6,0 , 2, 
2,2,0,0,1) 

29: (v95,0,61,15,2,0,203,14,0,4,0,3,83,31,7,0,3,1,29,0,2,0,0,1 f 15 
,31,0,7,0,0,0,4,0,0 ,1,15 ,31,0,7,0,0,0,1,0,0 , ],15 ,31,0 ,7,0 ,0 , 0 , 2,0 
, 0 , 1 ) 

30 : (v96,0,58,15,2,0,198,36,7,2,1,3,83,31,14,6,1,7,26,2,2,1,0,1,2 
8,5,0,5,5,34,2,6,0,0,1,29,24,1,4,6,10,1,1,0,0,1,17,3,0,6,0,0,1,2, 
0 , 0 , 1 ) 

31:(v99,0 , 62,15,2,0,200,58,11,2,1,3,70,31,15,1,5,9,33,1,1,3,0,1, 
15,4 ,0 , 7,0 , 0, 1,1,0,0 ,1,15, 4 ,0 , 7,0,53,1,0 , 7,0,1,14,4,0 ,7,0 , 0,1,1,0 
, 0 , 1 ) 

32 : (v44,0,60,15,2,0,205,33,0,0,0,3,80,27,24,21,15,5,26,0,1,0,0,1 
,31 ,13,0,8, 15 ,0 , 0,1,0,0 , 1,31,31 ,0 , 15, 3, 25 , 0, 1,0,0, 1,31 ,16,0,6, 15, 
0 , 1 , 1 , 0 , 0 , 1 ) 

33 : (v45,0,62,15,2,0,205,29,4,2,1,3,80,31,19,0,9,15,32,0,1,0,0,1, 
28,12,0,9,15,0,1 , 1 , 0 , 0 , 1,25,12,0,7,15,0,0,1,0,0,1,25,25,0,6, 15 , 0, 
0 , 0 , 0 , 2 , 1 ) 

34: (v98,0,36,15,2,0,204,74,10,2, 1 , 3, 79,31,15 ,0,8,12,50 ,1,5,0,1,1 
,24,1,0,8,5,12,1,3,0,0,1,21,4,0,8,0,29,1,1,0,0,1,19,0,0,8,5,0,1,2 

i 0 i 0 •1) 

35: (vl01,0,61,15,2,0,203,14,0,4,0,3,83,31,7,0,3,1,29,0,2,0,0,1,1 
5,31,0,8,0,0,0,4,0,0,1,15,31,0,8,0,0,0,1,0,0,1,15,31,0,8,0,0,0,2, 
0 , 0 , 1 ) 

36: (vl00,0,44,15,2,0,205,0,0,3,0,3,72,14,8,0,8,3,29,0,1,0,0,1,17 


►次回の「言わせてくれなくちゃだワ j では,大学別の分類があってもいいのではないで 
しようか。意外と面白い結果になるかもしれませんよ。受験雑誌 (?) の Oh ! X としては,浪 
人生や現役の方へのサービスにもなるし(ならないって)。 渡辺一矢 (19) 石川県 


0 h!X LIVE in '89 ぬ 











,6,0,8,3,3,0,1,0,0,1,16,8,0,8,3,35,0,1,0,0,1,16,5,0,8,2,^,0,1,0.0 

t 1) 

37: (v97,0,61,15,2,0,205,2.7,0,3,0 t 3 t 66,15,10,0.5V2,32,0,1,0,0,1,2 
1,31,0,7,0,0,0,2,0,0,1,21,31,0,7,0,0,0,2,0,0,1,2],31,0,7,0,0, (1,3, 
0,0,1) 

38 : (tl)T104@40V12Y48,9 
39: (t2)@79V12Y49,9 
40 : {t3)«40V12Y50,9 
41:(t4)@79V12Y51,5 
42 : (t5)@40V12Y52,5 
43: <t6)@79V12Y 53,5 
44: (t7)@40V12Y54,5 
45: (t8)@40V12Y55,0 

46: (tl)O7V14L4R2T100Q6D>AT104Q7<D4.Q7K16H16Q6F8R16E16F8T98R16D16 
Q8A4T104R8Q4F8Q6GA 

47: (t2)05V11L4R2«6FEQ7F4.Q7R16B-16Q6F8R16A16A8R16B-l6<y8C4K8«4>A 
8Q6<CC 

48: (t3)06V12L4R2Q6AAQ7D4.Q7R16G16«6F8R16A16F8K16F16Q8F4R8Q4A8«6G 
F 

49: (t4)05V13L4R2Q6D>AQ7<D4.Q7R16E16Q6F8K16E16F8R16D16Q8A4R8Q4F8Q 
6GA 

50: (t5)05V12L4R2Q6FEQ7F4.Q7R16B-16Q6A8R16A16A8R16B-16<Q8C4R8Q4>A 
8Q6 く CC 

51:(t6)04V11L4R2Q6AAQ7D4.Q7R16G16Q6F8R16A16F8R16F16Q8F4R8Q4A8Q6G 
F 

52 : (t7)05V14L4R2Q6DCQ7>B-4.Q7R16<C16Q6D8R16C16D8R16>B-16«8F4H8Q4 
F8Q6EE- 

53: (t8)04V14L4R2Q6DCQ7>B-4.Q7R16<C16Q6D8R16C16D8R16>B-16Q8F4R8Q4 
F8Q6EE- 

54 : (tl)Q5B-8Q4A8G8F8Q6EAQ4G8F8E8T96F8T100Q6D>A 

55 : < t2)Q5>B-8<Q4C8D8D8Q6DCCC+Q6>FE 

56 : (t3)Q5F8Q4E8D8F8Q6B-AQ4B-8A8G8A8Q6AA 

57: (t4)Q5B-8Q4A8G8F8Q6EAQ4G8F8E8F8Q6D>A 

58: (t5)Q5>B-8Q4<C8D8D8Q6DCCC+Q6>FE 

59: (t6)Q5F8Q4E8D8F8Q6B-AQ4B-8A8G8A8Q6AA 

60 : (t7)Q5D8Q4C8>B-8A8Q6G<CFAQ6<DC 

61:(t8)Q5D8Q4C8>B-8A8Q6G<CFAQ6<DC 

62: < tl)T104Q7<D4.Q7R16E16Q6F8R16E16F8T98R16D16Q8A4T104R8Q4F8Q6GA 

63 : (t2)Q7F4,Q7R16B-16Q6F8R16A16A8R16B-16<Q8C4R8Q4>A8Q6<CC 

64: (t3)Q7D4.Q7R16G16Q6F8R16A16F8R16F16Q8F4R8Q4A8Q6GF 

65: (t4)Q7<D4.Q7R16E16Q6F8R16E16F8R16D16Q8A4R8Q4F8Q6GA 

66: (t5)Q7F4.Q7R16B-16Q6A8R16A16A8R16B-16<Q8C4R8Q4>A8Q6<CC 

67: (t6)Q7D4.Q7R16G16Q6F8R16A16F8R16F16Q8F4R8Q4A8Q6GF 

68 : (t7 >Q7>B-4.Q7R16 く C16Q6D8R16C16D8R16>B-16Q8F4R8Q4F8Q6EE- 

69 : (t8>Q7>B-4.Q7R16<C16Q6D8R16C16D8R16>B-16Q8F4R8Q4F8Q6EE- 

70 : (tl)Q5B-8Q4A8G8F8T98Q6FEQ8D4.R8Y48,5T100@40O6V13Q4D>A< 

71:{t2)Q5>B-8<Q4C8D8D8Q6DC+Q8>A4.R8Y49,5@40O6V13Y49,15Q4D>A< 

72 : (t3)Q5F8Q4E8D8F8Q6B-GQ8F4.R8R2Y50,5 
73: (t4)Q5B-8Q4A8G8F8Q6FEQ8D4.R8R2 
74: (t5)Q5>B-8<Q4C8D8D8Q6DC+Q8>A4.R8R2 
75: (t6)Q5F8Q4E8D8F8Q6B-GQ8F4.R8R2 
76: (t7)Q5D8Q4C8>B-8A8Q6GAQ8<D4.R8R2 
77: (t8)Q5D8Q4C8>B-8A8Q6GAQ8<D4.R8R2 

78: (tl)T104Q7D4.R16Q7E32.G64&Q5F8R16E16F8R16D16Q7A4.R16F16T106Q4 
GA 

79: (t2)Q7D4.R16Q7E32.G64&Q5F8R16E16F8R16D16Q7A4.R16F16Q4GA 

80: (t3)@40O5V13Q4D>A<Q7D4.R16Q7E32.G64&Q5F8R16E16F8R16D16Q7A4.R1 

6F16 

81:(t4)@40O5V13Y51,15Q4D>A<Q7D4.R16Q7E32.G64&Q5F8R16E16F8R16D16Q 

7A4.R16F16 

82: (t5)RlRl 

83 : (t6)RlRl 

84: (t7)R1R1 

85 : (t8)RlRl 

86: (tl)Q3B-8A8G8F8Q4EAT104Q3G8F8E8F8T102Q4D>A< 

87: (t2)Q3B-8A8G8F8Q4EAQ3G8F8E8F8Q4D>A< 

88 : (t3)Q4GAQ3B-8A8G8F8Q4EAQ3G8F8E8F8 

89: (t4)Q4GAQ3B-8A8G8F8Q4EAQ3G8F8E8F8 

90 : (t5)RlRl 

91:(t6)RlRl 

92 : (t7)R1R1 

93 : (t8)RlRl 

94: (tl)T104Q7D4.R16Q7E32.G64&Q5F8R16E16F8R16D16Q7A4.R16F16Q4GA 
95: (t2)Q7D4.R16Q7E 32.064 &Q5F8R16E16F8R16D16Q7A4.R16F16Q4GA 
96: (t3)Q4D>A<Q7D4.R16Q7E32.G64&Q5F8R16E16F8R16D16Q7A4.R16F16 
97: (t4)Q4D>A<Q7D4.R16Q7E 32.064 &Q5F8R16E16F8R16D16Q7A4.R16F16 
98 : (t5)RlRl 
99 : (t6)RlRl 
100 : (t7)RlRl 
101 : (t8)RlRl 

102 : (tl)T102Q3B-8A8T96G8F8T86Q4V12FT70V1IE 

103: (t2)Q3B-8A8G8F8Q4V12FV1IE 

104: (t3)Q4GEV12A>VllA 

105: (t4)Q4GEV12A>V11A 

106 : (t5)Rl 

107: (t6)Rl 

108 : (t7)Rl 

109 : (t8)Rl 

110: /#1 

111:(tl)T168Q3V10D8R4.R2R2R4.@1V706Q3L8Y48,15D 

112:( t2)Q3V10D8R4.Y49,5R2R2R4.@94V405Q3L8D 

113 : (t3)Q3 く V10D8R4.R2R2R2 

114 : (t4)Q3V10D8R4.Y51,5R2R2R2 

115 : (t5)R2R2R2R2 

116: (t6)R2R2R2R2 

117: (t7)R2R2R2R2 

118:( t8)@93V703Q4L8V9D\6DDDV9DV6DDDV9DV6DDDV9DV6DDD 

119: {tl)C+DEF+EDC+>B<C+DEC+L16D&C+&D&E&L8DDC+DEF+EDC+>B<C+DEC+Q8 

D4RV8Q3D 

120: (t2)C+DHF+EDC+>B<C+DEC+L16D&C+&D&E&L8DDC+DEF+EDC+>B<C+DEC+Q8 
D4RV5Q3D 

121 :(t3)R2R2K2R2R2R2R2R2 

122: (t4)@39V5Q3L803ARRKAKRRARRRARRRAKRRAKRRARRRARRR 
123: (t5)@39V5Q3L803F+RHRDRRRGRRRF+RRRF+RRRDRRRGRRRF+RRR 
124: (t6)@39V5Q3L803DRRR>BRRR<C+RKHDRRRDRRR>BRRR<C+RRRDRRR 


125: (t7)@39V7Q3L802DRRRDRRRDRRRDRRRDRHRI)RHRDRKRDKRR 

126: (t8 )V9DV6DDDV9DV6DDDV9DV6DDDV9DV6UDDV9DV6DD1)V9DVB[)DDV9DV6DDD 

V9DV6DDD 

127: (tl)C+DEF+EDC+>B<C+DEC+L16D&C+&D&E&L8DDC+DEF+EDC+>B<C+DEr+y8 
D4T162RV9Q3>AT168 

128: (t2>C + DEF+EDC+>B く C+DEC + L16U&C+&D&li&L8DDC: + DEF+EDC+>B<OL>liC+y8 
D4RV6Q3>A 

129: (t3)H2R2R2R2R2R2R2R2 

130: (t4)V6ARRRARRRARRRARRRARRRARRRARRRARRR 
131:{t5)V6F+RRRDRRRGRRRF+RKRF+RRRDRRRGRRKF+RRR 
132: I, t6 )V6DRRR>BRRR<C+RRRDRRRDRRR>BKRR<C + RRRDRRK 
133: (t7)V8DRRRDRRRDRRRDRRRDRRRDHRRDRRRDKRH 

134: (t8)V9DV6DDDV9DV6DDDV9DV6DDDV9DV6DDDV9DV6DDDV9DV6DDDV9DVBDDU 
V9DV6DDD 

135: (tl)Q6B&B16.<C+32&>Q7B4Q8A4RQ3AQ6B&B16.<C+32&>Q7B4Q8A4RQ3A 
136: (t2)Q6B&B16.<C+32&>Q7B4Q8A4RQ3AQ6B&B16.<C+32&>Q7B4Q8A4RQ3A 
137: (t3)@39V8Q4L6403Q3B8R16Q4B&<C+&D&E&F+8R8Q3>A8<R16Q4A&B&<C+&D 
&E8R8 

138: ( t3)>>QaB8R-t6Q4B&XC + &D&E&F+8R8Qa>A8<R16«4A4B&<t+&U4cE8H8 
139: (t4>@39V8Q4L 6403 Y51 , 15Q3D8R16Q4{B&B&<C+&D&E&}16F+8R8R8. 丨 A&A& 
B& く C+&DM16E8R8>>Q3D8R16Q4{B&B& く C+&D&E& 丨 16F+8K8K8.{A&A&B&<C+&D&}1 
6E8R8 

140: (t5)V7F+RRRERRRF+RRRERRR 

141:(t6)V7>BRRR<C+RRR > BRRR < C+RRR 

142: (t7)V9 DRRRDRRRDRRRDRRR 

143: (t8)V9DV6DDDV9DV6DDDV9DV6DDDV9DV6DDD 

144 : (tl>B<C+DC+>BAGF+GABGL16A&G&A&B&L8T164AV10AT168 

145: (t2)B く C + DC+ > BAGF+GABGL16A&G&A&B&L8AV7A 

146: (t3)>>>Q3<B8>R16Q4B&<C+&D4.E&F+8R8Q3B8R16Q4G&A&B&<C+&D8R8Q3>G 
8<R16Q4E&F+&G&A&B8R8Q3>A8<R16Q4A&B&<C+&D&E8R8 

147: (t4)>>Q3D8R16Q4>{B&B& く C+&D&E&}16F+8R8Q3D8R16Q4{G&G&A&B&<C+&} 

16D8R8R8.{E&E&F+&G&A&}16B8R8Q3>C+8<R16Q4{A&A&B&<C+&D&}16E8R8 

148: (t5)F+RRRGRRRDRRRERRR 

149: (t6)>BRRRBRRRBRRRARRR 

150: (t7)DRRRDRRRDRRRDRRR 

151: (t8)V9DV6DDDV9DV6DDDV9DV6DDDV9DV6DDD 

152: (tl)Q6B&B16.<C+32&>Q7B4Q8A4RQ3AQ6B&B16.<C+32&>Q7B4Q8A4RQ3A 
153: (t2)Q6B&B16.<C+32&>Q7B4Q8A4RQ3AQ6B&B16.<C+32&>Q7B4Q8A4RQ3A 
154: (t3)V9Q3>>B8R16Q4B&<C+&D&E&F+8R8Q3>A8<R16Q4A&B&<C+&D&E8R8>>Q 
3B8R16Q4B& く C+&D&E&F+8R8Q3>A8 く R16Q4A&B& く C+&D&E8R8 

155: (t4)V9Q3>>D8R16Q4{B&B&<C+&D&E&}16F+8R8R8.{A&A&B&<C+&D&)16E8R 
8 

156: (t4)> >Q3D8R16Q4{B&B4<C+&D4E&}16F+8R8R8.{A&A&B& く C+&D&116E8R8 

157: (t5)V8F+RRRERRRF+RRRERRR 

158: (t6)V8BRRR く C+RRR>BRRR く C+RRR 

159: (t7)VI0DRRRDRRRDRRRDRRR 

160: (t8)V9DV6DDDV9DV6DDDV9DV6DDDV9DV6DDD 

161 :(tl)B<C+DC+>BAGF+GABGQ8A4T160RQ3<V11DT168 

162: (t2)B<C+DC+>BAGF+GABGQ8A4RQ3<V7D 

163: (t3)>>>Q3<B8>R16Q4B&<C+&D&E&F+8R8Q3B8R16Q4G&A&B&<C+&D8R8Q3>G 

8<R16Q4E&F+&G&A&B8R8Q3>A8<R16Q4A&B&<C+&D&E8@1V9O5L8Q3Y50,10D 

164: (t4)>>Q3D8R16Q4>{B&B&<C+&D&E&}16F+8R8Q3D8R16Q4{G&G&A&B& く C+&} 

16D8R8R8.{E&E&F+&G&A&}16B8R8Q3>C+8<R16Q4{A&A&B&CC+&D&}16E8R8Y51,5 

165: (t5)F+RRRGRRRDRRRERRR 

166: (t6)>BRRRBRRRBRRR<C+RRR 

167: < 17)DRRRDRRRDRRRDRRR 

168: (t8)V9DV6DDDV9DV6DDDV9DV6DDDV9DV6DDD 

169: (tl)C+DEF+EDC+>B<C+DEC+L16D&C+&D&E&L8DDC+DEF+EDC+>B<C+DEC+Q8 
D4T164RV12Q3DT168 

170: (t2)C+DEF+EDC+>B<C+DEC+L16D&C+&D&E&L8DDC+DEF+EDC+>B<C+DEC+Q8 
D4RV8Q3D 

171:(t3)C+DEF+EDC+>B<C+DEC+L16D&C+&D&E&L8DDC+DEF+EDC+>B<C+DEC+Q8 
D4RV10Q3D 

172: (t4)@39Q3L8O3V10AV7AAAV10AV7AAAV10AV7AAAV10AV7AAAV10AV7AAAV1 
0AV7AAAV10AV7AAAV10AV7AAA 

173: (t5W10F+V7F+F+F+V10DV7DDDV10GV7GGGV10F+V7F+F+F+V10F+V7F+F+F 
+V10DV7DDDV10GV7GGGV10F+V7F+F+F+ 

174 : (t6)V10DV7DDD>V10BV7BBB<V10C+V7C+C+C+V10DV7DDDV10DV7DDD>V10B 
V7BBB<V10C+V7C+C+C+V10DV7DDD 

175: (t7)V10DV7DDDV10DV7DDDV10DV7DDDV10DV7DDDV10DV7DDDV10DV7DDDV1 
0DV7DDDV10DV7DDD 

176: (t8)V10DV7DDDV10DV7DDDV10DV7DDDV10DV7DDDV10DV7DDDV10DV7DDDV1 

0DV7DDDV10DV7DDD 

177: (tl)C+DEF+EDC+>B<C+DEC+L16D&C+&D&E&L8DDC+DEF+EDC+>B<C+DEC+Q8 
D4T162RV13Q3>AT168 

178: (t2)C+DEF+EDC+>B<C+DEC+L16D&C+&D&E&L8DDC+DEF+EDC+>B<C+DEC+Q8 
D4RV9Q3>A 

179: (t3)C+DEF+EDC+>B<C+DEC+L16D&C+&D&E&L8DDC+DEF+EDC+>B<C+DEC+Q8 
D4RV11Q3>A 

180: (t4)V11AV8AAAV11AV8AAAV11AV8AAAV11AV8AAAVUAV8AAAV11AV8AAAV1 
1AV8AAAV11AV8AAA 

181:(t5)VllF+V8F+F+F+VllDV8DDDVllGV8GGGVllF+V8F+F+F+VllF+V8F+F+F 
+V11DV8DDDV11GV8GGGV11F+V8F+F+F+ 

182: (t6)VHDV8DDD>VHBV8BBB<Vl 1C+V8C+C+C+V11DV8DDDV11DV8DDD〉VIIB 
V8BBB<V11C+V8C+C+C+V11DV8DDD 

183: < 17)V11DV8DDDV11DV8DDDV11DV8DDDV11DV8DDDV11DV8DDDV11DV8DDDV1 
1DV8DDDV11D4R4 

184 : (t8)VI1DV8DDDV11DV8DDDV11DV8DDDV11DV8DDDV11DV8DDDV11DV8DDDV1 

1DV8DDDV11DV8DDD 

185: /#2 

186: (tl)T168@105L8Q3V13 
187: (t2)T168@9404L8Q3V9 
188: (t3)T168@104L8Q3Vll 
189: (t4)T168@39 
190: (t5)T168@39 
191 : (t6)T168@3903L8Q3 
192: (t7)T168@3902L8Q3 
193: (t8)T168@9303L8Q4 

194: (tlIQ6B&B16.<C+32&>Q7B4Q8A4RQ3AQ6B&B16.<C+32&>Q7B4Q8A4RQ3A 
195 : {t2)Q6B&B16.<C+32&>Q7B4Q8A4RQ3AQ6B&B16. く C+32&>Q7B4Q8A4RQ3A 
196: (t3 JQ6B&B16.<C + 32&>Q7B4Q8A4RQ3AQ6B&B16.<C+32&>Q7B4Q8A4RQ3A 
197 : (t4)V12L6403Q3B8Q6B16Q4B&<C+&D&E&F+8>Q3B8A8Q6A16<Q4A&B&<C+&D 
&E8> >Q3A8B8Q6B16Q4B&<C+&D&E&F+8>Q3B8A8Q6A16<Q4A&B&<C+&D&E8>>Q3A8 
198 : (t5 JQ4L64Y51,1502V13D8V1203R16Q4{B&B&<C+&D&E&}16F + 8R802V13D8 
V1204R16{A&A&B&<C+&D&)16E8R802V13D8V1203R16Q4{B&B&<C+&D&E&}16F+8R 


86 


Oh! X 1989.1. 


►うちの親がワープロを買ったからといって,初めて使うのに年賀状を書こうとしている。 
プリント ゴッコ かなにかのほうが,絶対に早いのに……。 増田拓史 (18) 愛知県 







802V13D8V1204R16|A&A&B&<C+&D&}16E8R8 

199: (t6)V12F+V9K+F+F+V12EV9EEEV12F+V9F+F+F+V12EV9EEE 

200: (t7)VI2BV9BBBV12<C+V9C+C+C+V12>BV9BBBV12<C+V9C+C+('+ 

201:< t8)V12DV9DDDV12DV9DDDV12DV9DDDV12DV9DDD 

202: (tl)B<C+DC+ > BAGF+GABGL16A&G&A&B&L8T164AVI4AT 168 

203: < t2)B<C+DC+>BAGF+GABGL16A&G&A&B&L8AV10A 

204: (t3)B<C+DC+>BAGF+GABGL16A&G&A&B&L8AV12A 

ミ 05: (t4)B8Q6B16>Q4B&<C+&D&E&F+8Q3B8B8Q6B16Q-1G&A&B&<C+&D8>Q3B8G8Q 
6G16<Q4E&F+&G&A&B8>Q3G8A8Q6A16<Q4A&.B&<C + 4D&fc : 8> >Q3A8 
206: (t5)02V13D8V1202R16{B&B&<C+&D&E&}16F+8R802V13D8V1203R16{G&G&. 
A&B&<C+&}16D8R802V13D8V1204R16{E&E&F+&G&A&}16B8R802V13D8V1204R16 I 
A&A&B&CC+&D&)16E8R8 

207: (t6)V12F+V9F+F+F+V12GV9GGGV12EV9EEEV12EV9EEE 
208: (t7)V12>BV9BBBV12BV9BBBV12BV9BBBV12<C+V9C+C+C+ 

209 : (t8)V12DV9DDDV12DV9DDDV12DV9DDDV12DV9DDD 
210: < 11)Q6B&B16.<C+32&>Q7B4Q8A4RQ3AQ6B&B16.<C+32&>Q7B4Q8A4RQ3A 
211 :(t2IQ6B4B16.<C+32&>Q7B4Q8A4RQ3AQ6B4B16.<C+32&>Q7B4Q8A4RQ3A 
212: (t3)Q6B&B16.<C+32&>Q7B4Q8A4RQ3AQ6BiB16.<C+32&>Q7B4Q8A4RQ3A 
213: (t4)VI3L6403Q3B8Q6B16Q4B&<C+&D&E&F+8>Q3B8A8Q6A16<Q4A&B&<C+&D 
&E8>>Q3A8B8Q6B16Q4B&<C+&D&E&F+8>Q3B8A8Q6A16<Q4A&B&<C+&D&E8>>Q3A8 
214: (t5)Q4L64Y51,1502V14D8V1303R16Q4(B&B&<C+&D&E&)16F+8R802V14D8 
VI304R16{A&A&B& く C+&D&}16E8R802V14D8V1303R16Q4 丨 B&B& く C+&D&E&}16F+8R 
802V14D8V1304R16 {A&A&B&<C-i-&D&} 16E8R8 

215: (t6)V13F+V10F+F+F+V13EV10EEEV13F+V10F+F+F+V13EV10EEE 
216: (t7)>V13BV10BBBV13<C+V10C+C+C+V13>BV10BBBV13<C+V10C+C+C+ 

217 : (t8)V13DV10DDDV13DV10DDDV13DV10DDDV13DV10DDD 
218: (tl)B<C+DC+>BAGF+GABGQ8A4T160RQ3V15<DT168 
219 : (t2)B<C+DC+>BAGF+GABGQ8A4R@3904Q3V14D 
220 : {t3)B<C+DC+>BAGF+GABGQ8A4R@3905Q3V15D 

221:(t4)B8Q6B16>Q4B&<C+&D&EiF+8Q3B8B8Q6B16Q4G4A&B&<C+&D8>Q3B8G8Q 
6G16<Q4E&F+4G&A&B8>Q3G8A8Q6A16<Q4A4B4<C+&D4E8> >Q3A8 
222: (t5)02V14D8V1302R16{BiB&<C+iD&E&)16F+8R802V14D8V1303R16{G&G& 
A4B&<C+&}16D8R802V14D8V1304R16{E&E&F+&G&A&)16B8R802V14D8V1304R16I 
A&A&B&<C+&Di)16E8R8 

223: (t6)V13F+V10F+F+F+V13GV10GGGV13EV10EEEV13EV10EEE 
224: (17)V13 > BV10BBBV13BV10BBBV13BV10BBBV13 < C+V10C+C+C+ 

225: (t8)V13DV10DDDV13DV10DDDV13DV10DDDV13DVlODDD 

226: (tl)C+DEF+EDC+>B<C+DEC+L16D&C+&D&E&L8DDC+DEF+EDC+>B<C+DEC+Q8 

D4T164RQ3DT168 

227: (t2)C+DEF+EDC+>B<C+DEC+L16D&C+iD&EiL8DDC+DEF+EDC+>B<C+DEC+Q8 

228: (t3)C+DEF+EDC+>B<C+DEC+L16D&C+&D&E&L8DDC+DEF+EDC+>B<C+DEC+Q8 
D4RQ3D 

229 : (t4)095Q3L8O4V12AV9AAAV12AV9AAAV12AV9AAAV12AV9AAAV12AV9AAAV1 
2AV9AAAV12AV9AAAV12AV9AAA 

230 : (t.5)e95Q3La04J^12Fi-V9F+F+F+V12DV9DDDV12GV9GGGV12F+V9F+F+F+V12 
F+V9F+F+F+V12DV9DDDV12GV9GGGV12F+V9F+F+F+ 

231 : (t6)«9504V12DV9DDD>V12BV9BBB<V12C+V9C+C+C+V12DV9DDDV12DV9DDD 
>V12BV9BBB<V12C+V9C+C+C+V12DV9DDD 

232: (t7)@9502V12DV9DDDV12DV9DDDV12DV9DDDV12DV9DDDV12DV9DDDV12DV9 
DDDV12DV9DDDV12DV9DDD 

233: (18)V14DV11DDDV14 DV11DDDV14DV11DDDV14 DV11DDDV14DV11DDDV14 DV1 
1DDDV14DV11DDDV14DV11DDD 

234: <tl)C+DEF+EDC+>B<C+DEC+L16D&C+&D&E&L8DDC+DEF+EDC+>B<C+DEC+L1 
6D&C+&DiE4L8T140Q6DR 

235: (t2)C+DEF+EDC+>B<C+DEC+L16D&C+&D&E4L8DDC+DEF+EDC+>B<C+DEC+Ll 
6D&C+&D&E&L8Q6DR 

236: (t3)C+DEF+EDC+>B<C+DEC+L16D&C+&D4E&L8DDC+DEF+EDC+>B<C+DEC+Ll 
6D&C4-&D&E&L8Q6DR 

237: (t4)Vl2AV9AAAV12AV9AAAV12AV9AAAV12AV9AAAV12AV9AAAV12AV9AAAV1 
2AV9AAA@40Q8V12<A4R4 

238 : (t5)V12F+V9F+F+F+V12DV9DDDV12GV9GGGV12F+V9F+F+F+V12F+V9F+F+F 
+V12DV9DDDV12GV9GGG@40Q8V12<F+4R4 

239 : (t6)V12DV9DDD>V12BV9BBB<V12C+V9C+C+C+V12DV9DDDV12DV9DDD>V12B 
V9BBB く V12C+V9C+C+C+@40Q8V12<D4R4 

240 : (t7)V12DV9DDDV12DV9DDDV12DV9DDDV12DV9DDDV12DV9DDDV12DV9DDDVl 
2DV9DDD@40Q8V12<D4R4 

241 : (t8)V14DV11DDDV14DV11DDDV14DV11DDDV14DV11DDDV14DV11DDDV14DV1 
1DDDV14 DV11DDDV14DRRR 
242 : / 巷 3 

243 : (tl)T168@95L8O4V12Y48,6T160Q4B4F+4T168B4&Q7BR32.<C+32.E32iQ6 
DR16C+16DR16>B16<F+4&Q5F+R16Q7D16 

244 : (t2)T168@96L804V12Y49,5Q4B4F+4B4&Q7BR32.<C+32.E32&Q6DR16C+16 
DR16>B16<F+4&Q5F+R16Q7D16 

245 : (t3)T168@95L8O4V12Y50,5Q4B4F+4B4&Q7BR32.<C+32.E32&Q6DR16C+16 
DR16>B16<F+4&Q5F+R16Q7D16 

246: (t4)T168«96L804V12Y51.4Q4B4F+4B4&Q7BR32.<C+32.E32&Q6DR16C+16 
DR16>B16<F+4&Q5F+R16Q7D16 

247 : (t5)T168@95L803Vliy52,4Q4B4F+4B4&Q7BR32.<C+32.E32&Q6DR16C+16 
DR16>B16<F+4&Q5F+R16Q7D16 

248: (t6)T168@96L803V11Y53,3Q4B4F+4B4&Q7BR32.<C+32.E32&Q6DR16C+16 
DR16>B16<F+4iQ5F+R16Q7D16 

249 : (t7)T168@95L803Vl1Y54,3Q4B4F+4B4&Q7BR32.<C+32.E32&Q6DR16C+16 
DR16>B16 く F+4&Q5F+R16Q7D16 

250 : (t8)T168@96L803V11Y55,2Q4B4F+4B4&Q7BR32.<C+32.E32&Q6DR16C+16 
UR16>B16<F+4&Q5F+R16Q7D16 

251: (tl)T170Q4E4F+4Q3V13GV12F+EDQ4C+4F+4T168Q3EV12DC+D> 

252 : (t2)Q4E4F+4Q3V13GV12F+EDQ4C+4F+4Q3EVl1DC+D> 

253: (t3)Q4E4F+4Q3V13GV12F+EDQ4C+4F+4Q3EV12DC+D> 

254: (t4)Q4E4F+4Q3V13GV12F+EDQ4C+4F+4Q3EV11DC+D> 

255 : (t5)Q4E4F+4Q3V12GV11F+EDQ4C+4F+4Q3EV11DC+D> 

256 : (t6 )Q4E4F+4Q3V12GVUF+EDQ4C+4F+4Q3EV10DC+D> 

257: (t7)Q4E4F+4Q3V12GV11F+EDQ4C+4F+4Q3EV11DC+D> 

258: (t8)Q4E4F+4Q3V12GV11F+EDQ4C+4F+4Q3EV10DC+D> 

259 : {tl)T164Q4B4F+4T168B4&Q7BR32.<C+32.E324Q6DR16C+16DR16>B16<F+ 
4&Q5F+R16Q7D16 

260: (t2)Q4B4F+4B4iQ7BR32.<C+32.E32&Q6DR16C+16DR16>B16<F+4&Q5F+R1 
6Q7D16 

261:(t3)Q4B4F+4B4&«7BR32.<C+32.E32&Q6DR16C+16DR16>B16<F+4&Q5F+R1 
6Q7D16 

262: (t4)Q4B4F+4B4&Q7BR32.<C+32.E32&Q6DR16C+16DR16>B16<F+4&Q5F+R1 
6Q7D16 

263: (t5)Q4B4F+4B4&Q7BR32.<C+32.E32&Q6DR16C+16DR16>B16<F+4&Q5F+R1 
6Q7D16 

264: (t6)Q4B4F+4B4&«7BR32.<C+32.E32&y6DR16C+16UR16>B16<F+4&Q5F+Rl 


6Q7D16 

265 : (t7 )Q4B4F + 4B4&Q7BK32 . <C+3iJ. fc : 32&Q6DH16C+16DR16>B16<F+44c«5F + Hl 
6Q7D16 

266: (t8)Q4B4F+4B4&Q7BR32.<C+32.E32&Q6DR16C+16DR16>B16<F+4AQ5K+K1 
6Q7D16 

267: Ul)T170y4fc’4F+4Q3V13GV12F+EDT16 叫 . U)4C+4T130y2>B4&B@y9()5L 叫 3V 
9Y 48,5 T168B 

268: (t2)Q4E4F+4Q3V13GV12F+EDQ4D4C+4Q^>B4&BKY49,5 

269: (t3)Q4E4F+4Q3V13GV12F+EDQ4D4C+4Q2>B4&BRY50,5 

270 : (t4)Q4E4F+4Q3V13GV12F+EDQ4D4C+4Q2>B4&BRY51,5 

271:(t5)Q4E4F+4Q3V12GV11F+EU(J4D4C+4Q2>B4&BRY5Z,5 

272: (t6)Q4E4F+4Q3V12GV11F+EDQ4D4C+4Q2>B4&BRY53,5 

273: (t7)Q4E4F+4Q3V12GV11F+EDQ4D4C+4Q2>B4&BRY54,5 

274: (t8)Q4E4F+4Q3V12GV11F+|£DQ4D4C+4Q2>B4&BRY55,5 

275: (t1)A+B<C+DC+>BA+G+A+B<C+>A+L16B&A+&B&<C+&>L8T164BBT168A+B<C 

+DC+>BA+G+A+B<C+>A+L16B&A+&Bi<C+&>T140L8BR16@9505L8Vli : Y48.6T16306 

C+16 

276: (t2)R2R2R2R4.@lO5L8Q3V10Y49,8BA+B<C+DC+>BA+G+A+B<C+>A+L16B&A 
+&B&<C+&>L8BR16e9605L8V12Y 49,5 Q6C+16 

277: < t3)@4405L8Q3V9F+RRRC+RRRERRRDRRRF+RRRC+RRRERRRDRHR16@9505L8 
V12Y50.5Q6C+16 

278: (t4)@4 404L8Q3V9BRRRBRRRA+RRRBHHRBRRRBRRRA+RRRBRRR16«9605L8V1 
2Y51.4Q6C+16 

279: < t5)@4 504L8Q3V9DR>BR<ERC+RF+R>F+RBR<C+RDR>BR<ERC+RF+R>K+RBRR 
R16S9504L8V11Y52,4Q6C+16 

280: (t6)R2R2R2R2R2R2R2R4.R16@9604L8VllY53,3Q6C+16 

281:(t7)R2R2R2R2R2R2R2R4.R16@9504L8V11Y54,3Q6C+16 

282: (t8)@93O3L8Q4V10V10DV7DDDV10DV7DDDV10DV7DDDV10DV7DDDV10DV7DD 

DV10DV7DDDV10DV7DDDV10DV7DDR16@96O4L8V11Y55,2Q6C+16 

283: (tl)Q4C+4C+4Q8D4T168Q7C+R16>B16<Q4C+4D4E4&Q5ER16Q7D16 

284: (t2)Q4C+4C+4Q8D4Q7C+R16>B16<Q4C+4D4E4&Q5ER16Q7D16 

285: (t3)Q4C+4C+4Q8D4Q7C+R16>B16<Q4C+4D4E4&Q5ER16Q7D16 

286: (t4JQ4C+4C+4Q8D4Q7C+R16>B16<Q4C+4D4E4&Q5ER16Q7D16 

287: (t5)Q4C+4C+4Q8D4Q7C+R16>B16<Q4C+4D4E4&Q5ER16Q7D16 

288: (t6)Q4C+4C+4Q8D4Q7C+R16>B16<Q4C+4D4E4&Q5ER16Q7D16 

289 : (t7)Q4C+4C+4Q8D4Q7C+R16>B16<Q4C+4D4E4&Q5ER16Q7D16 

290 : (t8)Q4C+4C+4Q8D4Q7C+R16>B16<Q4C+4D4E4&Q5ER16Q7D16 

291:(tl)T170Q4E4F+4>Q7B4<V11Q3C+DV12EV11DC+>BT168BA+T155Q6F+R16< 

T168V13C+16 

292: (t2)Q4E4F+4>Q7B4<Q3VHC+DV12EVUDC+>BBA+Q6F+R16<V13C+16 
293: (t3)Q4E4F+4>Q7B4<Q3VHC+DV12EVl 1DC+>BBA+Q6F+R16VUA+16 
294: (t4)Q4E4F+4>Q7B4<Q3V11C+DV12EV11DC+>BBA+Q6F+R16V11A+16 
295: (t5)Q4E4F+4>Q7B4<Q3V10C+DV11EV10DC+>BBA+Q6F+R16V11 く F+16 
296: (t6)Q4E4F+4>Q7B4<Q3V10C+DVUEV10DC+>BBA+Q6F+R16Vl1<F+16 
297: (t7)Q4E4F+4>Q7B4 <Q3V10C+DV11EV10DC+>BBA+Q6F+R16V11<F+16 
298: (t8)Q4E4F+4>Q7B4<Q3V10C+DVllEV10DC+>BBA+Q6F+R16Vl1<F+16 
299: (tl)T166Q5C+4C+4T162Q8D4Q7T166C+R16>B16<T164Q5C+4T161D4T158E 
4&Q5ER16Q7T1 63016 

300: (t2)Q5C+4C+4Q8D4Q7C+R16>B16<Q5C+4D4E4&Q5ER16Q7D16 
301: (t3)Q5A+4A+4Q8B4Q7A+R16G+16Q5A+4B4Q8<C+2 & 

302: (t4)Q5A+4A+4Q8B4Q7A+Rl6G+16Q5A+4B4Q8<C+2 
303 : (t5)Q5F+4F+4F+2&Q5F+4F+4G2& 

304: (t6)Q5F+4F+4Q8F+4Q7F+R16F+16Q5F+4F+4Q8G2 
305 : (t7)Q5F+4F+4Q8E+4Q7ER16D16Q5C+4>B4A+4&A4& 

306: (t8)Q5F+4F+4Q8E+4Q7ER16D16Q5C+4>B4Q8A+4A4 

307: (tl)Q6E4F+4T168Q4GQ3F+EDT160Q5D4T15OC+ 41130 Q2>B4&B@9905L8Q3V 
9Y48.5T168B 

308: (t2)Q6E4F+4Q4GQ3F+EDQ5D4C+4Q2>B4&BRY49,5 
309 : (t3)Q6C4C4Q3>B4&BBQ5B4A+4Q2F+4&F+RY50,5 
310 : (t4)Q6C4C4Q3>B4&BBQ5B4A+4Q2F+4&F+RY51,5 
311 : (t5)Q6G4&F+4D+4Q3EF+Q5G+4E4Q2D4&DRY52,5 
312 : (t6)Q8G4Q6F+4D+4Q3EF+Q5G+4E4Q2D4&DRY53,5 
313 : {t7)Q6D4&<D4Q3>G4&GF+Q5E+4F+4Q2B4&BRY54,5 
314 : (t8)Q8D4<D4Q3>G4&GF+Q5E+4F+4Q2B4&BRY55,5 
315 : /#4 

316: (tl)@9905L8Q3V9T168A+B<C+DC+>BA+G+A+B<C+>A+L16B&A+&B&<C+&>L8 
T164BBT168A+B<C+DC+>BA+G+A+B<C+>A+L16B&A+&B&<C+&>L8T162BY48,8V10 く 
DT168 

317 : {t2)R2R2R2R4.©1O5L8Q3V10Y49,8BA+B<C+DC+>BA+G+A+B<C+>A+L16B4A 
+&B&<C+&>L8BY49,5@9805V8D 

318 : (t3)@4405L8Q3V9F+RRRC+RRRERRRDRRRF+RRRC+RRRERRRDRRR 
319: (t4)@4404L8Q3V9BRRRBRRRA+RRRBRRRBRRRBRRRA+RRRBRRR 
320: (t5)@4404L8Q3V9R2R2R2R2R2R2R2R2 

321 : (t6)04504L8Q3V9DR>BR<ERC+RF+R>F+RBR<C+RDR>BR<ERC+RF+R>F+RBR< 
DR 

322: (t7)R2R2R2R2R2R2R2R2 

323 : (t8)@93O3L8Q4V10V10DV7DDDV10DV7DDDV10DV7DDDV10DV7DDDV10DV7DD 
DV10DV7DDDV10DV7DDDV10DV7DDD 

324: (tl)C+DEF+EDC+>B<C+DEC+L16D&C+&D&E&L8T162DF+T168 
325: (t2)C+DEF+EDC+>B<C+DEC+L16D&C+&D&E&L8D@101O5V8F+ 

326 : (t3)V10ARRRERRRGRRRF+RRR 
327: (14 )V10 < DRRRDRRRC+RRRDRRR 
328 : (t5)V10ARRRBRRRARRRARRR 
329 : (t6)V10F+RDRGRERAR>AR<DR>DR 
330: (t7)R2R2R2R2 

331 :(t8)V10DV7DDDV10DV7DDDV10DV7UDDV10DV7DDD 
332 : (tl)E+F+G+AV11G+F+E+D+V12E+F+G+E+ 

333: (t2)E+F+G+AV9G+F+E+D+V10E+F+G+E+ 

334 : (t3)C+R>ARV10<DR>BRV11G+RBR 
335 : (t4)>F+RC+RV10DRG+RV11G+RG+R 
336 : (t5)@45V9>ARF+RV10BRG+RV11<C+R>C+R 
337 : (t6)Y53,0V9>ARF+RV10BRG+RV11<C+R>C+R 
338 : (t7)@100O4Q8L2V10F+&F+&V11E+ 

339 : (t8)V9DV6DDDV10DV7DDDV11DV8DDD 

340 : (t1)V12L16F4&E+&F+&G+&L8F+AL16F+&t'+&F+&G+&L8F+AF+G+V13AB<C+> 
BV12AG+ 

341 : (t2)V10L16F+&E+&F+&G+&L8F+AL16F+&E+&F+&G+&L8F+AF+G+VHAB<C+> 
BV10AG+ 

342 : (t3)AR@101Q3V8<C+C+C+C+C+C+C+C+C+C+C+C+C+C+ 

343 : ( t4 ) C'+R@ 101Q3V8AAAAAAAAAAAABB 
3*14 : ( t5)F+R@95V8Q8L4<F+&E+&E&D+&D&( +2 
345 : (t6)F+RR4R2R2R4V12C+R 
346: (t7)V10F+&F+&F+E+ 

347 : (t8)Vl1DV8DDDV1 1DV8DDDV11DV8DDUV11 DV8I>DI) 

348 : (t1>VI3 し 16F+&E+&F+8G+&L8K+AL16K+«fc'+&F+&U+&L8P+AF+G+V14AB<C+> 


►愛読者プレゼントにぜひコタツを載せて,この俺に暖かい冬を迎えるチャンスをくれ 一。 

妯近,とっても寒いんだよぉ。 古川泰寬 (19) 福岡県 0 h ! XLIVEinW 9 87 






BV13AG+ 

349 : {t2 )VUL16F + &E+&F+&G+«tL8F+AL16F + &E+&F + &.G+&L8F + AK+G+V 12AB<( + > 
BV11AG+ 

350 : (t3)V9C+C+C+C+C+C+C+C+C+C+( : +C+C+U+L+C+ 

351 : (t4)V9AAAAAAAAAAAAAABB 

352 : (t5)Q3>F+8R8<V9F+&E+&E&D+&D&Q8C+2 

353 : (t6)F+RR4R2R2R4C+R 

354 : (t7)V11F+&F+&F+E + 

355 : (t8)Vl2DV9DDDV12DV9DDDV12DV9DDDV12DV9DDD 

356 : (tl)V14L16F+&E+&F+&G+&K+8A8F+&E+&F+.VG+&F+8A8V14K + &11 + &F + &G+&F 
+8A8T165V15F+&E+&F+&G+&T162F+8A8 

357 : (t2)V11L16F+&E+&F+&G+&F+8A8F+&E+&F+&G+&F+8A8V12F+&E+&F+&G+&F 
+8A8V13F+&E+&F+&G+&F+8A8 

358: {t3)V10C+>AAAV11AAAA<V12CCCCV13C+C+DD 

359 : {t4)V10AF+F+F+V11F+F+F+F+V12AAAAV13AABB 

360 : (t5)Q3>F+8R8Q8V9F+&V10E+&E&VllD+&D&V12C+&>B 

361 :< t6)F+R@95V9Q8L4Y53.0F+&V10E + &E&V11D+&D&V12C+&>B 

362 : (t7)F+&V12F+&V13F+&V14F+4&V15F+4 

363 : (t8)Vl2DV8DDDV11DV9DDDV12DV10DDDV13DV11DDD 

364: (tl)T158Y48,12Q8F+&G+&A&B<C+&>B&A&G+F+&G+&A&B<C+&>B&A&G+F+&G 
+&A&B<C+&>B&A&G+F+&G+&A&B<C+&>B&A&G+ 

365 : (t2)Y49,8Q8V14F+&G+&A&B<C+&>B&A&G+F+&G+&A&B く C+&>B&A&G+F+&G+& 
A&BCC+&>B&A&G+F+&G+&A&B<C+&>B&A&G+ 

366: (t3)V14Q6C+Q8L16Y50,5>A&B<C+&>B&A&G+F+&G+&A&B<C+&>B&A&G+F+&G 
+&A&B<C+&>B&A&G+F+&G+&A&B<C+&>B&A&G+ 

367: (t4)V14Q6ARQ97V14L804G+16&V13G+8.Q4V12ARQ8V14G+16&V13G+8.Q4V 
12ARQ8V14G+16&V13G+8.Q4V12ARQ8V14G+16&V13G+8. 

368 : (t5>V14Q7L8F+RCF+4&F+RF+4&F+RF+4&F+RF+4& 

369 : (t6)V14Q7L8F+R<F+4&F+RF+4&F+RF+4&F+RF+4 & 

370 : (t7)V14Q6F+8R8@97V14L804D16&V13D8.Q4V12C+RQ8V14D16&V13D8.Q4V 
12C+RQ8V14D16&V13D8.Q4V12C+RQ8V14D16&V13D8. 

371 : (t8)V14DR@97V14L803B16&V13B8.Q4V12ARQ8V14B16&V13B8.Q4V12ARQ8 
V14B16&V13B8.Q4V12ARQ8V14B16&V13B8. 

372: (tl)V14F+&G+&A&B<T154V15C+&D&E&DT158C+&>B&A&GV14T154F+&E&T15 
0D&C+ 

373 : (t2)F+&G+&A&B<V15C+&D&E&DC+&>B&A&GV14F+&E&D&C+ 

3 74: < 13)F+&G+&A&B く V15C+&D&E&DC+&>B&A&GV14F+&E&D&C + 

375 : (t4)Q4V13ARV15G8&V13G8&Q6G4Q8V14G16&V13G8. 

376: (t5)F+RV15>A4&A4V14A4 
377 : (t6)F+RV15>A4&A4V14A4 

378: (t7)V13C+RV15E8&V13E8&Q6E4Q8V14E16&V13E8. 

379: (t8)V13ARV15<C+8&V13C+8&Q6C+4Q8V14C+16&V13C+8. 

380 : /#5 

381 :(tl)T168Q8L8D4R®101V14O6Q3Y48,15T160DT168 

382 : (t2)Q8L8D4R@101V14O5Q3Y49,5D 

383: (t3)Q8L8D4R4 

384: (t4)V12F+4R4 

385 : (t5)@101L8O2Q3V14AV12AAA 

386: (t6)@101L8O2Q3V14DV12DDD 

387 : <t7)@101L 802 Q3V15DV13DDD 

388 : (t8)@9303L8Q4V15DV13DDD 

389 : (tl)C+DEF+EDC+>B<C+DEC+L16D&C+&D&E&L8DD 

390: (t2)C+DEF+EDC+>B<C+DEC+L16D&C+&D&E&L8DD 

391:< t3)@97V13Q6L8O4Y50,0D4>A4<Q7D4&DR16Q6E16F+R16E16F+R16D16A4& 
AR16F+16 

392: < t4)@97V13Q6L804Y51,15D4>A4<Q7D4&DR16Q6E16F+R16E16F+R16D16A4 
&AR16F+16 

393 : (t5)@9503V13L2Q7AAAA 
394 : (t6)@9503V13L2Q7DDDD 

395 : (t7)V15DV13DDDV15DV13DDDV15DV13DDDV15DV13DDD 
396 : (t8)V15DV13DDDV15DV13DDDV15DV13DDDV15DV13DDD 
397: (tl)C+DEF+EDC+>B<C+DEC+Q8D4T164RQ3DT168 
398: (t2)C+DEF+EDC+>B<C+DEC+Q8D4RQ3D 
399 : (t3)Q6G4A4Q5BQ4AGF+Q6E4A4Q4GF+EF+ 

400 : (t4)Q6G4A4Q5BQ4AGF+Q6E4A4Q4GF+EF+ 

401: (t5)AAAA 
402 : (t6)DDDD 

403: (t7)V15DV13DDDV15DV13DDDV15DV13DDDV15DV13DDD 

404: (t8)V15DV13DDDV15DV13DDDV15DV13DDDV15DV13DDD 

405: (tl)C+DEF+EDC+>B<C+DEC+L16D&C+&D&E&L8DD 

406: (t2)C+DEF+EDC+>B<C+DEC+L16D&C+&D&E&L8DD 

407: (t3)Q6D4>A4<Q7D4&DR16Q6E16F+R16E16F+R16D16A4&AR16F+16 

408: (t4)Q6D4>A4<Q7D4&DR16Q6E16F+R16E16F+R16D16A4&AR16F+16 

409 : (t5)AAAA 

410 : (t6)DDDD 

411 : (t7)V15DV13DDDV15DV13DDDV15DV13DDDV15DV13DDD 
412: (t8)V15DV13DDDV15DV13DDDV15DV13DDDV15DV13DDD 
413: {tl)C+DEF+EDC+>B<C+DEC+Q8D4T162RQ3>AT168 
414: (t2)C+DEF+EDC+>B<C+DEC+Q8D4RQ3>A 
415:( t3)Q6G4A4Q5BQ4AGF+Q6F+4E4Q7D4&DR16Q6E16 
416: (t4)Q6G4A4Q5BQ4AGF+Q6F+4E4Q7D4&DR16Q6E16 
417 : (t5)AAAA 
418: (t6)DDDD 

419 : (t7)V15DV13DDDV15DV13DDDV15DV13DDDV15DV13DDD 

420: (t8)V15DV13DDDV15DV13DDDV15DV13DDDV15DV13DDD 

421:(tl)Q6B&B16.<C+32&>Q7B4Q8A4RQ3AQ6B&B16.<C+32&>Q7B4Q8A4RQ3A 

422: (t2)Q6B&B16.<C+32&>Q7B4Q8A4RQ3AQ6B&B16.<C+32&>Q7B4Q8A4RQ3A 

423: (t3)Q6E4E4Q7F+4Q6ER16D16Q6E4F+4Q7G4&GR16Q6F+16 

424: (t4)Q6E4E4Q7F+4Q6ER16D16Q6E4F+4Q7G4&GR16Q6F+16 

425 : (t5)AAAA 

4 26: (t6 JDDDD 

427: {t7)VI5DV13DDDV15DV13DDDV15DV13DDDV15DV13DDD 
428 : (t8)V15DV13DDDV15DV13DDDV15DV13DDDV15DV13DDD 
429: (tl)B<C+DC+>BAGF+GABGL16A&G&A&B&L8T164AAT168 
430: (t2)B<C+DC+>BAGF+GABGL16A&G&A&B&L8AA 
431:(t3)Q6G4A4Q7D4Q4EF+Q5GQ4F+EDDC+>Q7AR16Q6<E16 
432: (t4)Q6G4A4Q7D4Q4EF+Q5GQ4F+EDDC+>Q7AR16Q6<E16 
433: (t5)AAAA 
434 : (t6 JDDDD 

435: (t7)V15DV13DDDV15DV13DDDV15DV13DDDV15DV13DDD 

436: (t8)Vl5DV13DDDV15DV13DDDV15DV13DDDV15DV13DDD 

437: (tl)Q6B&B16.<C+32&>Q7B4Q8A4RQ3AQ6B&B16.<C+32&>Q7B4Q8A4RQ3A 

438: (t2)Q6B&B16.<C+32&>Q7B4Q8A4RQ3AQ6B&B16.<C+32&>Q7B4Q8A4RQ3A 

439 : (t3)Q6E4E4Q7F+4Q6ER16D16Q6E4F+4Q7G4&GR16Q6F+16 

440: (t4)Q6E4E4Q7F+4Q6ER16D16Q6E4F+4Q7G4&GR16Q6F+16 


441 : (t5)AAAA 
442 : (t6)DDDD 

443 : (t7)V15DV13DDDV15DV13DDDV15DV13DDDV15DV13DDD 

444 : (t8)Vl5DV13DDDV15DV13DDDV15DV13DDDV15DV13DDD 

445 : (tl)B<C+DC+>BAGF+GABGQ8A4T165R<Q3V15D 

446 : < t2)B<C+DC+ >BAGF+GABGQ8A4R<Q3V15D 

447 : (t3)Q6G4A4Q5BQ4AGF+Q6F+4E4Q7D4&DR 

448: (t4)Q6G4A4Q5BQ4AGF+Q6F+4E4Q7D4&DR 

449 : (t5)AAAA 

450 : (t6)DDDD 

451 : (t7)V15DV13DDDV15DV13DDDV15DV13DDDV15DV13DDD 

452 : {t8)Vl5DV13DDDV15DV13DDDV15DV13DDDV15DV13DDD 

453 : (tl)T169C+DEF+EDC+>B<C+DEC+L16D&C+&D&E&L8DD 

454: (t2)C+DEF+EDC+>B<C+DEC+L16D&C+&D&E&L8DD 

455 : (t3)V14D4>A4<Q7D4&DR16Q6E16F+R16E16F+R16D16A4&AR16F+16 

456 : (t4)V14D4>A4<Q7D4&DR16Q6E16F+R16E16F+R16D16A4&AR16F+16 

457 : (t5)V14AAAA 

458 : (t6)V14DDDD 

459 : (t7)V15>D<V13DDDV15>D<V13DDDV15>D<V13DDDV15>D<V13DDD 

460 : (t8)V15DV13DDDV15DV13DDDV15DV13DDDV15DV13DDD 

461 : (tl)T170C+DEF+EDC+>B<C+DEC+Q8D4T167RQ3D 

462: (t2)C+DEF+EDC+>B<C+DEC+Q8D4RQ3D 

463 : (t3)Q6G4A4Q5BQ4AGF+Q6E4A4Q4GF+EF+ 

464 : (t4)Q6G4A4Q5BQ4AGF+Q6E4A4Q4GF+EF+ 

465 : (t5)AAAA 
466 : (t6)DDDD 

467: (t7)V15>D<V13DDDV15>D<V13DDDV15>D<V13DDDVl5>D<V13DDD 

468 : (t8)V15DV13DDDV15DV13DDDV15DV13DDDV15DV13DDD 

469 : (tl)T171C+DEF+EDC+>B<C+DEC+L16D&C+&D&E&L8DD 

470 : (t2)C+DEF+EDC+>B<C+DEC+L16D&C+&D&E&L8DD 

471 : (t3)Q6D4>A4<Q7D4&DR16Q6E16F+R16E16F+R16D16A4&AR16F+16 

472 : (t4)Q6D4>A4<Q7D4&DR16Q6E16F+R16E16F+R16D16A4&AR16F+16 

473 : (t5)AAAA 

474 : (t6)DDDD 

475: (t7)V15>D<V13DDDV15>D<V13DDDV15>D<V13DDDV15>D<V13DDD 
476 : (t8)V15DV13DDDV15DV13DDDV15DV13DDDV15DV13DDD 
477 : (tl)T173C+DEF+EDC+>B<C+DT169EC+ 

478: (t2)C+DEF+EDC+>B<C+DEC+ 

479 : (t3)Q6G4A4Q5BQ4AGF+Q6F+4E4 
480: (t4)Q6G4A4Q5BQ4AGF+Q6F+4E4 
481 : (t5)AAA 
482 : (t6)DDD 

483: (t7)V15>D<V13DDDV15>D<V13DDDV15>D<V13DDD 
484 : (t8)V15DV13DDDV15DV13DDDV15DV13DDD 

485 : (tl)T174L16V15D&C+&D&E&D8F+8D&C+&D&E&L8DF+T175DEF+GQ4AQ3GF+E 
486 : (t2>Y49,10V15L16D&C+&D&E&D8F+8D&C+&D&E&L8DF+DEF+GQ4AQ3GF+E 
487: (t3)@101V14O4Q3Y50,5L16D&C+&D&E&D8F+8D&C+&D&E&L8DF+DEF+GQ4AQ 
3GF+E 

488: (t4)@97L8Q404Y51,5V13DV11DDDV13DV11DDDV13DV11DDV12DV15C+V12C 
+C+V11C+ 

489 : (t5)«95L2Q703V14AAAA 

490 : (t6)«101L8Q4O3V13F+VHF+F+F+V13F+VUF+F+F+V13F+VllF+F+V12F+V 
15GV12GGV11G 

491 : (t7)ei01L8Q5O2V14DDDDC+C+C+C+>BBBBV15AAV14AA 

492 : (t8)V15DV13DDDV15DV13DDDV15DV13DDDV15DV13DDD 

493 : (tl)T177L16D&C+&D&E&D8F+8D&C+&D&E&L8DF+T178DEF+GQ4AQ3GF+E 

494: (t2)L16D&C+&D&E&D8F+8D&C+&D&E&L8DF+DEF+GQ4AQ3GF+E 

495: (t3)L16D&C+&D&E&D8F+8D&C+&D&E&L8DF+DEF+GQ4AQ3GF+E 

496: (t4>V13DVllDDDV13DVllDDDV13DVl1DDV12DV15C+V12C+C+V11C+ 

497 : (t5)AAAA 

498: (t6)V13F+VllF+F+F+V13F+VllF+F+F+V13F+VllF+F+V12F+V15GV12GGVl 
1G 

499 : (t7)V14<DDDDC+C+C+C+>BBBBV15AAV14AA 

500: (t8)V15DV13DDDV15DV13DDDV15DV13DDDV15DV13DDD 

501:(tl)T180L16D8cC+&D&E&L8T179DBT181AGF+ET182L16D&C+&D&E&L8T181D 

F+T183EDC+>B 

502: (t2)L16D&C+&D&E&L8DBAGF+EL16D&C+&D&E&L8DF+EDC+>B 

503: (t3)L16D&C+&D&E&L8DBAGF+EL16D&C+&D&E&L8DF+EDC+>B 

504: (t4)VI5DV13DDDV14DV13DDDV15DV13DDDV14DV13DDD 

505: (15)@101L8Q403V15AV13AAAV14AV13AAAV15AVI3AAAV14AV13AAA 

506: (t6)VI5F+V13F+F+F+V14F+V13F+F+F+V15F+V13F+F+F+V14F+V13F+F+F+ 

507: (t7)Q8V15DQ7V14DQ6DQ5DV15DV14DDDQ8V15DQ7V14DQ6DQ5DV15DV14DDD 

508: (t8)V15DV13DDDV15DV13DDDV15DV13DDDV15DV13DDD 

509: (tl)T184L16A&G&A&B&L8T183A<DT185C+>BAGT186L16F+&E&F+&G&L8T18 

5F+BT187AGF+E 

510 : (t2)L16A&G&A&B&L8A<DC+>BAGL16F+&E&F+&G&L8F+BAGF+E 

511:(t3)L16A&G&A&B&L8A<DC+>BAGL16F+&E&F+&G&L8F+BAGF+E 

512: (t4)V15DV13DDDV14DV13DDDV15DV13DDDV14DV13DDD 

513: (t5)V15AVl3AAAV14AV13AAAV15AV13AAAV14AVI3AAA 

514 : (t6)V15F+V13F+F+F+V14F+V13F+F+F+V15F+V13F+F+F+V14F+V13F+F+F+ 

515: (t7)Q8V15DQ7V14DQ6DQ5DV15DV14DDDQ8V15DQ7V14DQ6DQ5DV15DV14DDD 

516: (t8)V15DV13DDDV15DV13DDDV15DV13DDDV15DV13DDD 

517: (tl)T182DV12L16Y48,10T188Q7C+C+DDC+C+DQ4DQ7V13EEF+F+EEF+Q5F+ 

Q7V14AAAAAAAQ6AQ7<V15C+C+DDC+C+ 

518: (t2 >DV11L16Y49,5Q7AAAAAAAQ4AQ7V12 く C+C+DDC+C+DQ5DQ7V13EEF+F+E 
EF+Q6F+Q7V14AAAAAA 

519: (t3)DV11L16Y50,5Q7<EEF+F+EEF+Q5F+Q7V12AAAAAAAQ6AQ7V13<C4C+DD 
C+C+DDV14EEF+F+EE 

520: (t4)D@101L16Q7O4V11C+C+DDC+C+DDV12EEF+F+EEF+F+V13EEF+F+EEF+F 
+V14AAAAAA 

521:(t5)AL16Q7V11AAAAAAAAV12AAAAAAAAV13AAAAAAAAV14 AA < DD > AA < 

522: (t6)F+Vl1L16Q7>AA<DD>AA<DDV12>AA<DD>AA<DDV13>AA<DD>AA<DDV14> 
AA<DD>AA< 

523: (t7)Q6D>V12A<D>A<D>V13A<D>A<D>V14A<D>A<D>V15A<D>A< 

524: (t8)V15DV13DDDV15DV13DDDV15DV13DDDV15DV13DDD 

525: {tl)@95Y48,10L8Q4T184DRERDRERQ6T178F+RRRT160ARRRD4RR 

526 : (t2)@95Y49,7L8Q3ARARF+RARQ6ARRR<C+RRR>F+4RR 

527: (t3)@95L8Q4F+RV15ERDRERQ6F+RRRARRRD4RR 

528 : (t4)@95L8Q3ARC+R>BR<C+RQ6C+RRRERRR>A4RR 

529 : (t5)@95L8Q3DRARF+RARQ6ARRRERRRF+4RR 

530 : (t6)@95L8Q4DR<ERDRERQ6F+RRR>ARRR<D4RR 

531: (t7)@95L8Q4DR<ARBRARQ6F+RRR>ARRR<D4RR 

532: (t8)DR@9 5L8Q403V15ARBRARQ6 F+RRR>ARRR<D4RR 

533 : (p) 


88 Oh! X 1989.1. 










Uf なり_か&/_ドウェ f 


に対する苦手意識が,理解杏妨げ ttv 令 
場合ちあるでしよラ。それでも,ひとた 
び,八ードク i アの世界に足を踏み入れ 
てデジタル回路を覗いてみれば,そこに 
はすでに見なれたソフトウェアが存在す 
ることに気づぐはずです。そしてちちろ 
ん,ハードを触ることは純粋に楽しいこ 
とでもあるのです。八ードウェアを理解 
す§心があれ(ま,いま卖で.以上にバソコ 
ンを楽しむことができるでしよう。コン 
ピュータはソフトと八ードとでできてい 
るの:ですから : k 


パソコンなくして人生はありえないとい 
ラ皆さみでも,八一^ゥエ戈疾寧しい入 
は少ないでしよう。大事なのはソフトウ 
エアで,だからパソコン雑誌もソフトの 
謂#中心 i とい〇のが一般的な風潮のよ 
癸です。.しかし,自分だけの残ソコンを 
持ち,愛機の機能を弓 I :き出した:いと考え 
ている Oh ! X 読者の皆さんは,八ードと 
ソフトの境目にいるとはいえな:いでしよ 
ラか。八ードウエアには,複雑で難しい 
ものというイメージがあるかもしれませ 
ん。まだ,機械的なもの,電気的なもの 


:泝和彦96 


電子サイコロを作冬う 


実録乱数発生器の設計と製作 
大きなノイズの使い方…… 

Xlturbo 八ンクメモリの拡張 

512 K バイトの誘惑 . 


華門真人:125 : 


吉田孝雄128 




























































































































































遠い昔,ハードを知ることからすべての 
マイコンは入門された。『初歩のラジオ』 
が今の『 I / O 』くらい分厚くて,電波新聞 
社の雑誌といえば『マイコン』ではなく『ラ 
ジォの製作』であった時代だ。 

さらにずっと遠い昔,世界最初の計算機 
ENIAC は フォン • ノイマン型ではなかっ 
た0つまりストアードプログラム方式(プ 
ログラムを入力して溜めておき,それをイ可 
度も実行するという方式)ではなかったの 
である。「世界最初の非ノイマン型コンピュ 
—夕は?」, 「 ENIAC 」 という古典的ギャ 
グもあるくらいだ。 

ではどうやっていたかというと,もはや 
第2次大戦直後の話で,そのころ私の親父 
さんは焼夷弾から逃げのびた小学生だった 
からそんな昔のことなどわからないが,き 
っと,配線をこちよこちよやったり,スイ 
ッチをパチパチやったりして アル ゴリズム 
を作って計算させていたのだろう。う一ん, 
気が遠くなる話。 

でも,あまり昔でない昔,シンセサイザ 
といえば,アップライトピアノよりもで 
かくて,パネルにはたくさんのジャックと 
しっぽのついたプラグがあって,どれをど 


こに差し込むかという,昔の映画に出てく 
る電話の交換手みたいな作業をして配線を 
変え,音色を作り出していた。あのケープ 
ルがうねうねする姿は目に焼きついて忘れ 
られない。現在のように ROM カートリッ 
ジに音色が何百,5インチディスクに音色 
が何千というのはノストラダムスだって思 
いもしなかったろう。 

しかし,文明というのは,文明堂のカス 
テラがいつまでも変わらないのとは正反対 
に,トットコトットコと資本主義の法則に 
のっとって先走りしてしまうものだ’。ハー 
ドのハの字も知らな〈とも,家庭用電源10 
0 V は実は片方が アースに なって いる ことを 
知らなくとも,パソコンを使うとなぜ FM 
放送にノイズが増えるかも知らなくたって, 
構わない時代になってしまったのである。 

そう,君は,松ヤニの焦げる 匂いに 恍惚 
となったことがあるか。 

巷におけ S 八 ー ドとソフト 

— -^--- ハ 

巷では,最近,ソフトがない!という 
危機感が漂って いるら しい。とはいっても, 
ハ。 ソ コンの世界の ことではない (パソコン 
界では,いいソフトがないのは結構当たり 
前の ことだとみんな思って いる)。 □本各地 
で地方 イベン トが開催されても,催しもの 


はみんな似たりよったりで面白味がない。 
各地に立派な劇場やコンサートホールが次 
次と建つのに,上演する(客を呼べるだけ 
の〉劇団や(新しい)ミュージシャンがい 
ない。 FM 放送局がどんどん開局しても, 
流すべきいい音楽がない。といったことが 
今ごろになってやっと問題視されてきてい 
るのだ。 

こういった問題は,入れ物があっても中 
に入れるものがないという意味でパソコン 
と一緒である。パソコン界は進んでいたの 
だ,時代の最先端だったのだ,トレンドな 
のだ,と思ってよろしい。 

で,パソコン界を見てきた経験からいっ 
て,きっと,いいソフトは文化鎖国国家日 
本ではなかなか生まれないでしょう。生ま 
れても,いいもの,面白いものを見分ける 
目と暇が日本の中流市民にはないからね。 
いくら FM 局がいっぱいあっても,同じよ 
うなものばかりがかかっているようでは聴 
<気をなくすよ。 



コンタクトレンズといえば,ハードとソ 
フトの2種類である。どちらも見た目は一 
緒だが,触ると違う。ソフトは柔らかいが 
ハードは硬ぃ〇 

たいていの人はコンタクトレンズを落と 
すと,見ず知らずの他人まで巻き込んでま 
で大騒ぎする。朝のラッシュの満員 JR でコ 
ンタクトを落として大騒ぎし,何人ものサ 
ラリーマンを遅刻させた女子高生もいた。 
目の中に入れても痛くないとは,きっとコ 
ンタクトのことなのだろう。そして実は落 
としやすいのはハードのほうなのである。 
ソフトは人間の目に馴染みやすいが,ハー 
ドは結構わがままで,はずみで簡単にはず 
れてしまう。酸素を通すメニコン〇2とてハ 
ードには変わりないから落としやすい。 

ちなみに,ハード コア とよくいうが(も 
う死語かな),あれは訳すと,ハードの核, 
つまり CPU のことであるからよく覚えてお 
くように(編集部:ウソつき!!)。 


特集いきなり初春から八ードウエア 


デジタル回路入門編 


斎場パンクローとジョセフソン•素子の??? 

ノ、ードウエアをめぐる冒険 


ソフトしかわからない少年と,ハードしかわからない純粋な少女。だが,わずか5 Vの電 
気の流れの中にも不思議なソフトウヱアが存在した。果たして,ハードウヱアと呼ばれる 
ものの正体はなにか。荻窪圭氏が論理回路の世界に挑む,謎の散文。 



90 Oh ! X 1989.1. 





































本来、八ードとリつ卜は対等 0 はず 

コンピュータの 話をしよう。 ハードと ソ 
フトはどっかの メーカーの戦略 かどっかの 
雑誌の陰謀か言葉の持つ運命か知らないけ 
れど,ことごとく対比されてきた。そして, 
行司はソフトに軍配を上げ,物言いはつか 
なかった。なぜなら,ソフトは圧倒的にア 
メリカに遅れていたから。だ、が,「ソフトカ ? 
ない!」的危機感が広まったからといって, 
いいソフトがたくさんできたかというとそ 
うでもないわけで,一太郎をありがたがっ 
ているんだから,しよせんはその程度の危 
機感だったのである。合掌。 

また話がそれてしまった。申し訳ない。 
今回はハードウェアの特集なんだから,さ 
っさとハードの話でもしましょう。まずは 
常識から。 

その1:ハードウヱアもソフトがなければ 
ただの箱である。 

その2 :ソフトウエアはハードなしには存 
在しえない。 

仮想マシンのソフトはハードがなくても 
存在するぞ,などとはいわないように。ソ 
フトの入ってないハードも実在しないのだ 
から。 

-~~ \ 

さ T 、 デジ勺/しとアナ R 7 

この世はデジタル時代である。たとえば 
時間だ。一時期流行ったデジタル時計がダ 
サいということになって再びアナログが主 
流だが,とはいえ,「今,何時?」と聞かれ 
て「6時53分」なんて答えているようでは 
デジタルの世界に首まで漬かっているとい 
ってよい。「そうね,だいたいね一」とか 
「ま一だ,はやい一」と答えるのが正しい 
アナログである。 

実際のところ,人にはアナログのほうが 
気持ちいいのだが,デジタルが細か〈なり 
すぎて人の感覚器官にはそれがデジタルか 
アナログか区別できなくなっているくらい 
文明は進んでいる。 CD などはデジタルで 
あるから,滑らかでなくデコボコなはずな 
のだが,あまりにデコボコが細かすぎるか 
ら人の耳には滑らかに聞こえてしまう,と 
いったようなものだ。で,デジタルにする 
と,何が都合がいいかというと,デジタル 
だと情報量がコンパクトに収まって,加工 
しやすくて,いくつでもコピーが取れるな 
どなどた、 

言い換えよう。時代はアナログからアナ 
ログのように見えるデジタルへという流れ 


にすでに乗っかってしまっているのだ。 

ところ力 ? ,逆もまた真である。世の中の 
森羅万象はアナログである。文明の誇るデ 
ジタルというのはもともとアナログなもの 
をデジタルとみなして処理し,人々に見せ 
るときには再びアナログっぽくしているの 
だ。 

だいたい考えてみればいい。電線を流れ 
る電気は1か0なんてことはありえないで 
はない力 1 。電池だって1 .5 V などといってお 
きながら使っているうちに 1.3 V になり,懐 
中電灯の光は弱くなる。 

で,デジタル回路もまた同じである。ア 
ナログなものをムリヤリ1と0にしちまっ 
ているのだ。0は 0 V 。 1は 5 V とハツキリ 
していればまだデジタルっぽい。が,アナ 
ログであるから,正確に0とか5であるわ 
けがない。正しくは低い電圧は0,高い電 
圧(といってもあまり高いと回路が壊れる) 
は1として処理してしまおうというのであ 
る。アナログに電流を処理するトランジス 
夕をデジタルに使ってしまっているのだ。 
おお,文明よ。 

だから,電気の流れる回路といっても, 
設計側は1と0の組み合わせだけを考えれ 
ばよい。アナログな電気の話はあとでツジ 
ツマを合わせればなんとかなるのである(た 
いていの面倒臭い電気的問題は,こんなと 
きはこんな抵抗でこんなコンデンサを入れ 
て,こうすれば大丈夫,といったパターン 
で切り抜けられる)。 

言ってしまおう。ソフトとハードの違い 

図1 パンクローと素子の行動形態 


は,ツジツマ合わせが必要かそうでないか 
の違いなのだ。このツジツマ合わせがうま 
くいかないとどうなるか? ある数理情報 
工学科のハードウエア製作実験での実話だ 
が, 5階の実験室でテストしたときはうま 
〈動いた回路が,1階の会議室で発表する 
ときには動かなかったなどという悲惨なこと 
になる。が,世の中はそんなものだと悟っ 
ていた私は笑ってすまして家へ帰り,理屈 
どおりにならないと自分を納得させられな 
い女の子は夜まで実験室にこもってテスト 
をやり直していた。 



チこに,ひとりの少年がいた。その名を 
斎場パンクローという。彼にはなんと,恋 
人がいた。日本の女子高生みたいにパソコ 
ン少年なんて暗くてダサいなどとのたまわ 
ない日系2世のまっとうな女の子。その名 
もジョセフソン•素子(昔, SF フアンの間 
で流行った古典的ギャグである。これを最 
初にいったのは誰か,知っている方は教え 
てください)である。 

さて,ハ 0 ン クロー 少年はどうなったか。 

その彼女は何をしているの力、。 BASIC はで 
きるけれどハンダゴテは持ったことがない 
現代っ子斎場パンクローと, TTL 規格表は 
持っているけれど BASIC も知らない肉体 
派ジョセフソン.素子の行動の違いを図に 
してみよう(図1)。 

世の中の等価に対比されるものが似たよ 




BASIC で 

コーデイングする 


パソコンに入力し, 
デバッグする 


抵抗やら電源やらを決 
め,実体配線図を考え, 
1 C を買ってきて作る 


動 

|< 


動 

< 


D やら D やらで 
論理回路を害く 


パンクロー 素子 


何を作るか決める 


アルゴリズムを考える 


特集ハードウェアをめぐる冒険 91 










































うなパターンを示すのと同じように,彼ら 
の行動もまたそっくりである。 

素子はハードウエア恐怖症のパンクロー 
にいった。 

「あなたがこれこれこれがこうなるとあ 
れがああなるから,ここでこれが計算でき 
て……と考えて楽しいのと,私がここでこ 
うするにはこの素子とあの素子を組み合わ 
せてこうすればここにはこれが出力される 
図2 AND のカマボコの機能 


わ,と考えて楽しい 
のと一緒なのよ」 
「でも,なんか面倒 
臭そう」と, パンクロ 
一。 彼は, いつ, 電 
流増幅率とかエミッ 
タフォロワー回路だ 
と カリ、。スコ ンだとか 
いうわけのわかんな 
い用語が'出てくるか 
と気が気でないのだ。 
それに,なにか考え 
るたびに 1 C の規格表 
とにらめっこなんて 
面倒だと信じていた。 
「だって,結局はゴ 
キプリのお化けみたいなのをいっぱいくっ 
つけて,動けないように ハンタ、 、づけして,蓋 
を開けたゴキブリホイホイみたいなのを作 
るんだ'ろ」 

素子はそれを聞いてむっとした。私が作 
っているのは台所の隅に転がっているゴキ 
ブリホイホイだというのね。 

「この一,マルチバイブレーター光線!」 

「ぎやああああ」 


2-a 


Ao 

Bo 

Ai 

Bi 

A 2 

b 2 

A3 

B 3 



I なら A = B 
0 なら A.B 


AND 


2 -b 


2 入力 AND 

( 例 ) 74LS08 


4 入力 AND 

( 例) 74LS2I 


あんどとあ'あと 0 つとと 4 れから…二 

^ ( 

デジタル回路,というか論理回路には2 
つある。組み合わせ回路と順序回路である。 
組み合わせのほうは実に単純である。皆 
さんお馴染みのアンドやらオアやらの組み 
合わせで回路を作るのである。 BASIC で 

いう, 

IF A AND B THEN …… 

というのは, A と B 共に真であったときの 
み THEN 以下が実行されるということであ 
るから, A も B も1ビットのデータだった 
とすると,判断部分はカマボコ1個である。 
A も B も 4 ビットのデータだったとすると, 
たとえば,カマボコは 5 個でできる。図 2-a 
をご覧あれ。これを実現しようとすると, 

1C は 2 つ必要である。なんと, AND が 4 
つ入っている 1C やら 4 入力 AND なる 1C が 
あるからである。 

4 入力 AND (74LS21) の片方が余るで 
はないか,もったいない。と,思う必要は 
ない。半導体は安いのであるから,湯水の 
ように使うのもよろし。さらには8入力 N 
AND という強の者もいるので,その先に N 
OT ひとつをつけただけで同じものを作れ 
るのがデジタル回路の恐ろしいところだ。 

「組み合わせ論理回路の文法は BASIC な 
んかよりずっと簡単明瞭なのよ」 

と,素子はいった。 


「 AND でしよ, OR でしよ,それから XOR 。 
それぞれの NOT 版に独立した NOT のイン 
バータの7つだけ」 



ブールさんという変な名前の人がいて, 
彼の名がとられたブール代数という理論が 
この世に存在する。2進数を使った論理演 
算の理論である。ブールさんより変な名前 
のド•モルガンという有名な人もいて,ド 
• モルガンの定理なるものもある。 

こういったものは,小学校か中学校で習 
図3ゲートの真理値素 


Vcc 4B 4A 4Y 3B 3A 3Y 






IA IB IY 2A 2B 2Y GND 


Vcc 2D 2C NC 2B 2A 2Y 




D 

D 

)D 

0 

Y > 

A B 

AND 

OR 

XOR 

NAND 

NOR 

0 0 

0 

0 

0 

1 

1 

0 1 

0 

1 

1 

1 

0 

1 0 

0 

1 

1 

1 

0 

1 1 

1 

1 

0 

0 

0 


• _D は AND の NOT 版 

• NOR は OR の NOT 版 


92 Oh ! X 1989.1. 



























































































った集合の親戚だと思えば話は早い 。 AN 
D は論理積だから“ •”, OR は論理和だか 
ら“ + ”である。 1 X 1 は1だけど,1に 〇 
を掛けたら0であるから AND は論理積な 
のである。同様に,0に1を足したら1だ 
から OR は論理和なのである。 

また, XOR は排他的論理和という。こ 
れは図3の真理値表を見てもらえばわかる 
とおり,入力の2つが同じなら出力は0だ 
よん,という他人と違っていればよしとす 
るわがままな関数である。これは記号がな 
くて困ったのかどうかしらないが,「 ㊉ 」と 
表す。ちなみに, XOR の NOT 版は入力が 
—致していればとにかく出力は1になると 
いう,日本的関数である。で, NOT は上に 
バー「一」をつけることで表せる。ひとつ 
なら NOT , 2つつければ元のままで,3つ 
つければまた NOT , 4つもつけると汚くて 
読みに〈い。論理式というやつはこういっ 
た記号で表される。どれも1か0の状態し 
か持たないから,非常に単純である。図 2 -a 
を論理式にすると, 

( Ao * Bo >* (Ar Bi )* ( A 2* B 2)* ( A 3* B 3) =出力 
となる。 

真理値表というやつは,つまり,アドべ 
ン チャーゲームを作るときなんか便利であ 
る。石とお金と棒を持っているか,秘密の 
鍵を持っているか,うんちやらとうんちや 

図4扉が開く条件 
論理式 

扉が開く =守護霊.鏡.剣.玉+守護霊•剣 • 

玉+守護霊 • 1 • 剣+鏡.剣•玉+ 
鏡.剥•玉 

BASIC 風に書くと 

if (守護霊 and 鏡 and 剣 and 玉 ) or 
( not (守護霊) and 剣 and 玉 ) or 
(守護霊 and not (鏡) not (剣 )) or 
(鏡 and 剣 and not (玉 )) or 
(鏡 and not (剣) and 玉) 
then 扉が開く 

図 5 組み合わせの論理回路 


らをしているときは扉 
の向こうへ行ける,な 
んてときは多入力の真 
理値表を書いて,そこ 
から必要な論理を導き 
出すのだ。入力が多い 
と論理式は複雑になる 
が,全部を並べて IF 文 
にするのは愚の骨頂で 
ある。なんとか簡単な 
論理にして, IF 文は少 
なくしたいものだ。 

それには カルノーマ 
ツプやらクワイン•マ 
クラスキの簡単化法な 
どという方法なんかが知られているので, 
これは,パズルみたいで面白いから,興味 
ある人は調べてみるといいだろう。フラグ 
だらけの極悪なプログラムを組む人には, 
必需品かもしれない。 

論理回路て「開け、ごま/」 

〇、し、ノ、ーノヘ^-へ、一八、 

ここで突如,クリアしなければならない 
イベントが登場したとしよう。クリアでき 
る条件は,4つのアイテムの組み合わせの 
うちの6通りである0アイテムは,守護霊, 
鏡,剣,玉となっている。 

4つのアイテムを全部持っている場合か, 
守護霊がなくて剣と玉を持っている場合か, 
守護霊を持っていて鏡と剣がない場合か, 

鏡と剣を持っていて玉がない場合か,鏡と 
玉を持っていて剣がない場合のいずれかを 
満たしたときに天国の扉は開かれる(図4 )。 

これは,結局, 

扉が開く =NOT 守護霊&剣&玉+守 
護霊 & N 0 丁鏡 &NOT 剣+ 

鏡&剣+鏡&玉 
=守護*.剣•玉+守護霊. 
M-M + 鏡* (剣+玉) 

図6 組み合わせの IF 文 


になるのである。 

このように,デジタル回路の基礎である 
組み合わせ論理回路は IF 文の塊であったわ 
けだ。 

これを論理回路にすると図5になる 。 B 
ASIC で書くと,図6になる。 a は式をそ 
のまま IF 文にしたものだが, b は論理回路 
のほうをフラグを使って表したものである。 
こうしたほうが作る側は混乱しなくてよ 

い。 

世の中はそういったものである。で,論 
理回路で表せるものは,その働きをする 1 C 
を買ってくれば作れるのである。作る話は 
きっと,後ろのページで誰かがやってくれて 
いるだろう。 



さて,1000011+10011は,もちろん1010 
022である。というのは冗談で,1010110で 
あることは2進数の世界では常識である。 

Z 80 なんかだと , ADD A , B などとやって, 
あらかじめレジスタに値をセットしておく 
のだが, こいつを デジタル回路にしてしま 
うことは簡単で,頭の体操にもなって,のち 



6-a 

if (not (守護霊) and 剣 and 玉) or 
(守護霊 and not (鏡) and not (剣)) 
(鏡 and (剣 or 玉)) or 
then 扉が開く 


6-b 

if not (守護霊) and 剣 and 玉 then フラグ I = 一 I 
if 守護霊 and not (鏡) and not (剣) then フラグ 2= I 
if 鏡 and (剣 or 玉) then フラグ 3= I 
if フラグ I or フラグ 2 or フラグ 3 then 扉が開く 


特集ハードウヱアをめぐる冒険 S 3 















































ットしか扱えないから,1ビットの足し算 
を作って,それをたくさんくっつけてやれ 
ばいいことは Q 明である。これは BASIC 
なんかで10進数で1000桁の足し算をやりた 
い!などと思い立ったときのことを考え 
てもらえばよい。 

では,斎場パンクロー君はどうします力、 
「まず,大きさが1000の1次元配列を3つ 
DIM して,ひとつを1桁と考えて,下の桁, 
つまり添え字0から FOR 〜 NEXT で1000回 
ループさせながら各桁ごとに計算していく 
んだけれど,結果が10を超えたら,どっか 
の変数に超えた分だけ入れておいて,次の 
桁のとき忘れないように一緒に足してやれ 
ばできると思います」 

「そんなの,あったりまえよね」 


上がりがあったら結果は XOR の逆 ( NOT ) 
になり,繰り上がりは A と B の OR である。 

足した結果をまず出すことにする。とり 
あえず, A と B の XOR をとり,その結果と 
下からの桁上がりの XOR をとればいいの 

は誰にでも . パンクロ ー, わかるか? 

「わかんねえよ!んな面倒臭えこと。 
脳がパ'イオソフトに犯されたみてえだ」 
では,下からの繰り上がりと A と BOX 
OR の真理値表を書いてみよう。 

ほら,なった。 

「不思議だが本当だ」 

と,パンクロー0 

で,和を求める部分は図 8- a になる。 

で,繰り上がりはさっきのようにはいか 
ない。同じ手を使おうとすると,こける。 


といったのは出番のないジョセフソン • 素子。 

確かにそのとおりである。論理|川路で, 
つまりデジタル回路で2進の足し算をしよ 
うなどと思い立った場合もまったく同じこ 
とをしてやればいい。 

入力はその桁の A , B と,下からの繰り 
上がりの3つ,出力はその桁の結果と,繰 
り上がりの2つである。 

とりあえず, BASIC のように勘で適当 
にヤリながら試行錯誤でうま〈いく方法を 
探すなどという怠慢はハードウヱアの場合 
許されないからして,きちんと,そこいら 
へんに転がっている広告の裏でもくしゃく 
しゃになったリストの裏でも Oh ! X の隅の 
余白にでも手のひらでもいいから,真理値 
表を書いてみる(図7)。 

下からの繰り上がりがないとき,和は X 
OR であることがすぐにわかる。 A と已力 ? 
違うときは結果が1になるのである。で, 


わかるか,ノヽ°ン クロー。 

「わからね え」 

さては,おまえ,頭使ってないな。のん 
ベんだらりと聞いておるだろ。 

で,こんなやつはほっといて,簡単にい 

図7 足し算の真理値表 


入力 

出力 

下からの 

繰り上がり 

An 

Bn 

和 

上への 

繰り上がり 

0 

0 

0 

0 

0 

0 

0 

1 

1 

0 

0 

1 

0 

1 

0 

0 

1 

1 

0 

1 

1 

0 

0 

1 

0 

1 

0 

1 

0 

1 

1 

1 

1 

1 

0 

1 

0 

1 

1 

1 


うと, A と B の結果と下からの繰り上がり 
の2つからは一意に求まらないからである。 

で,どうすっ力*。よくにらめっこすると, 
2つのパターンで繰り上がりの有無が判定 
できることがわかることになっている。 

まず, A と B がどちらも1のとき ( AND ) 
である。で,図 8- b が書ける。 

もうひとつは, A か B が1 ( XOR ) で, 
なおかつ下からの繰り上がりがあるときで 
ある ( A と B の XOR と AND )。 で,図 8_ c 。 

両者を合わせると,図 9- a となって,めで 
たしめでたし。 

あとは,こいつをたくさんつなげれば何 
桁でも足し算ができるわけだ(図 9- b )。 

一番下の桁の下からの繰り上がりは〇に固 
定ね。なお,アセンブラを触る人ならと 
っくにお見通しだろうが,この繰り上がり 
とは,いうまでもなくキヤリフラグのこと 
である。 



さて,せっかくだからこの加算器を使う 
ことを考えよう。入力はどうしよう力、と 
りあえず,ト グ ルスイッチでも マイクロス 
イッチでもなんでもいいから,手で1桁ず 
つ 入れる。 パチパチパ チ(これじやそろば 
んみたいだな)。 

すると,この加算器はハードで直接組ま 
れているから,スイッチをパチパチやる端 

図8 和を求める各パーツ 


8 -a 

和を求める 


下からの _ 
繰り上がり 

㈡ 


8 -b 

繰り上がり1 




8 -c 

繰り上がり2 



94 Oh ! X 1989.1. 





































から出力に——たとえば発光ダイオードだ 
としよう——1の立った桁にはピカピカと 
明かりが灯っていく。当たり前だ。では, 
入力が終わるのを侍って,いっせいにパッ 
と答えが出るようにしたいもの。 

そこで,“いっせいの,せ!スイッチ” 
をつけてみる。入力をパチパチし終わった 
ら,このスイッチを入れる。すると,答え 
のダイオードがピカリとつく。 

答えは簡単。図10のように,全入力に A 
ND をかませてやり,その AND の一方を 
ひとつにして,スイッチにつなげてやれば 
いいのだ。 AND だから,スイッチを入れ 
ると,入力が1のところだけ加算器に1が 


図 9- a 和を求める回路 


下からの 



和 


繰り上がり 


図 9 -b n 本行の足し算 


図10 "いっせいの,せ! スイッチ” 


送り込まれる。 

そうである。このスイッチは加算器への 
入力のタイミングをとっているのだ。こう 
いった仕組みを同期式といい,同期をとる 
入力をクロックパルスという0もっと回路 
が高速で(人間がパチパチするんじやなく 
て,パソコンなんかのように速くスイッチ 
が切り換わる),正確に動作し t ほしいと 
き,このクロックパルスには周期的にパル 
スを発生する,たとえば水晶発信器が使わ 
れる。パソコンの話で頻出するクロック何 
MHz というのは,この同期のパルスの速さ 
なのだ。 4 MHz なら1秒問に4,000,000回 
動作を繰り返す。 

電子が回路や LSI の中を駆け巡る速度と 
いうのは,いくら速いとはいえ,光速ほど 
ではな L 、ので,長い回路だとタイミングが 
どこかしらで狂って,動作が不安定になる。 
クロックはそれを防ぐために,いっせいの, 
せ!といつもやって,変なことになんな 
いように先導しているのである。感謝感謝。 
だから,クロックが速いほうが回路は速い 
のだが,速くしすぎてほかがついてこられ 
な〈なるとハチヤメチヤになるので,ただ 
クロックを上げろといってもそうは簡単に 
いかないのである。 



と、い勹わけであつた 

今までの話は,机上のものであって,実 
際には,前述したように電気はアナログで 
わがままなものなので,実際に回路を組も 
うと思ったら,いろいろなコツやら,芸術 
的な基板の使い方など大変だが,基本設計 
はソフトを組むのとよう似たもんだ,とい 
うのがわかっていた 
だけただろう力、 
また,デジタル回 
路とはいっても , A 
ND やら OR 以外に 
も,“ちょっと侍っ 
た!”入力を持つス 
リーステートやら才 
ープンコ レクタやら, 
物覚えのいいラッチ 
やら,初めからクロ 
ック用の入力を持つ 
フリップフロップな 
どいろいろあるが, 




と‘いつせいの,せ!スイッチ 


それはまた,もう少しまじめな入門記事で 
ということで,次からのページをお読みい 
ただきたい。 

もし,初めて 1 C を使った工作をしようと 
思い立った方があれば,一度,電源(論理 
间路の 1 C はわがままにも,動作するには電 
気をくれ,と要求するのだ)の十と一を逆 
につないで,ビビツと電気を流してみると 
いい。すると,本当に 1 C は煙を出して悶絶 
するのである。弱いやつなのだ。これは面 
白いから,どうせ, 1 C なんて安いし,一見 
の価値がある。死して屍拾うやつなし,命 
短したすきに長し,てね。 

では,このへんで……え? 斎場 パンク 
ローとジョセフソン. 素子はなんだったの 
かって? それはあなた,なんだったので 
しょう。また次の機会への顔見世,と,い 
うことで,いいじやないですか。 


く参考文献〉 

松本光功,「論理回路」,昭晃堂 

ウイリアム•ギブソン, 1 ■カウント•ゼロ」,ハヤ 

ガヮ SF 文庫 

TTL 1 C 規格表, CQ 出版社 


特集ハードウェアをめぐる冒険 95 































































特集いきなり初春から八ードウエア 


•デジタル回路入門編 



デジタル回路の基礎知識 


Misawa Kazuhiko 

三沢和彦 


世界には体の部分を総動員して数を数える人々がいます0目鼻や指愈ど,使界部位をよ 
く覚えていられますね〇 —方,デジタル回路は0と1しか区別しませんが,その可能性はご 
存じのとおり。では,人智が生んだこの巧妙なデバイスについての基礎を復習しましょう。 


^デジタルとは 

私たちの身の回りでは,時計からパソコ 
ンまで数え切れない種類のデジタル製品が 
普及しています。これらの製品のフタを開 
けてみると,必ずデジタル 1 C という部品が 
並んでいます。ここでは,デジタルとはど 
んなものなのかという概念から始めて,実 
際のデジタル回路の仕組みを簡単に解説し 
ていこうと思います。 

一般に,「デジタル」は「アナログ J の対 
義語として次のように定義されるようです。 
デジ タルニ 離散的 ( 階段状)に変化する量 
アナログ =連続的に変化する量 
ところで,自然界に起こっていることはす 
ベて連続的に変化しています。音の大小, 
光の 明暗, 温度の高低など,みな アナログ 
量です。これらの自然の量を人間が測定し 
記録するときには,たとえば気温なら 20 °C 
というように数字で表しますね。この場合, 
20° C といっても 19.5° C 以上 20.5° C 未満のこ 
とですから,もっと厳密に測ると 20.2° C か 
もしれません。さらに正確には 20.24° C , あ 
るいは 20.243° C かもしれません。気温が連 
続的に変化する量である限り,どんなに細 
かく測っても完全に正確な値は求められな 
表14通りのパソコンユーザー 



A ハー 

ドが得意 

YES 

N 0 



誰の挑戦でも受け 

BASIC , C , 


Y 

る 

PASCAL , 果ては 


E 


S し ANG まで 

B 

S 



ソ 


ストロングタイプ 

プログラマ 

フ 




卜 

が 


パソコンよりラジ 

これからがんばり 

得 


コンのほうがいい 

ます 

意 

N 

のでは? 



0 





メカトロニクス . 

ビギナー 



マニア 



いのです。したがって,人間が測定値を有 
限の時間内で処理するためには,どこか(小 
数第何桁か)でその値を区切らなければな 
りません。 

この例を少数第 2 桁で区切り,気温 20.24 
°C と表してみましよう。すると 20.242°C か 
20.243°C かはもう無視しているので,この 
場合,無視しない最小単位は 0.01° C という 
ことになります。すなわち, 20.24°C という 
のは 0.01°C が 2024 個集まったものといえる 
わけです。 

ここで大切なのは,最小単位で考える限 
り,すべて整数で扱えるようになることで 
す。デジタルの語源は「指折り数える」こ 
とですから,これこそ「デジタル」の真義 
であるとおわかりになるでしよう。 

I E 値回路 

デジタルの世界では数値は整数として考 
え直すことができ,すべての整数は2進法 
を使えば0と1のみで表せます。つまり, 

0と1さえ区別できれば OK だということ 
です。電子回路では,これをスイッチの ON 
と OFF という 2 つの状態で g 別するのが簡 
単です。 

余談ですが,現代の エレクトロニクスの 
発展は,いかに優れたスイッチを作るかと 
いう点に絞られています。真空管にしても 

表2条件判断 




A ハードが得意 



YES(A= 1 ) 

NO(A= 0) 


Y 




E 

ストロング A x B = 1 

A X B = 0 


S 

メカトロ ax 百 = 0 

A x B = 0 

B 

i' 

プログラマ A x B = 0 

A x B = 1 

ソ 

フ 

II 

1 

ビギナー A X B = 0 

A x B = 0 

卜 

が 

得 

意 

N 

〇 

A X B = 0 

A x B = 0 


A x B = 1 

A X B = 0 


1 

A X B = 0 

A x B = 0 


0 

A X B = 0 

A X B = 1 


トランジスタにしても,原理的には ON と 
OFF を区^するスイッチです。これらをよ 
り高速,小型,安価にする努力が LSI 技術 
です。今後は電子回路に限らず, CD に見ら 
れるような光によって ON と OFF を区別す 
る技術が発展していくでしょう。 

このように,スイッチの ON と OFF を数 
字の0と1に対応させて組み合わせたもの 
を2値回路といいます。2値回路では,数 
値処理が可能なだけでなく「論理演算」も 
可能です。論理演算とは,ある事柄につい 
ての判断を,それが当てはまるかどうか, 
つまり YES か N 0 かの ふたつに分け, さま 
ざまな条件判断を行うものです。 

たとえば,ハ。ソコン ユーザー について「ハ 

ードに詳しく自分で工作もできる」という 
事 A と「プロダラミングが得意で高級言 
語も操れる」という事柄 B を取り上げてみ 
ます。すると表1のように4通りの組み合 
わせが考えられます。 

ストロングタイプ: A でありかつ B である 

(A n ' B ) 

メカトロマニア: A でありかつ B でない 

(A n B ) 

プログラマ: A でなくかつ B である 

(A n B ) 

ビギナー: A でなく かつ B でない (A 门 B ) 
ここで記号 A は 「 A でない」意味で NOT A 
と読み, fl は 上記の「かつ」 にあたり AflB 
は A AND B と読みます。またあとで出てき 

表3 排他的論理和 

Y は演算式 (A X B ) + (A X B ) の答え 



9〇 Oh ! X 1989.1. 



































ますが, AUB は 「 A または B 」 という意味 
で A ORB とも読みます。 

ここで,事ネ丙 A と B は , YES = 1 ,NO = 0 
のどちらかを値として取れる変数だと考え 
ます。また, AND は掛け算, OR は足し算に 
対応させてみましよう。するとストロング 
タイプの場合 , A =1, B =1 を代入したとき 
だけ , A n B(A x B )= l になります。メカ 
トロマニアを表す AflB ( AxS ) は , A =1 

( YES ), B =0( NO > のときだけ1になりま 
す ( B = l のとき B =0, B =0 のとき B =1 と 

図1 NOT 回路し S 04 


計算してください)。メカトロ マニアに A = 
1, B =1 を代入すると AxB =0 です。そこ 
で,この掛け算の答(論理積)が1のときは 
条件成立,0のときは不成立と約束すれば, 
1と0のふたつの値を使って条件判断がで 
きることになります(表2 )。 

次に,ハードまたはソフトの少なくとも 
どちらかができる人(ストロングかメカト 
口かプログラマか)の条件を式に表してみ 
ましよう。これは A u B となり,演算式は 
A + B です。このとき, A = l , B =1 のスト 



ロングタイプでは A + B = 2になってしま 
います力 ? ,値は0か1のどちらかなので, 
このときも A + B = 1と約束します。これ 
を論理和といって普通の足し算と区別して 
います。 

さらに, ハード かソフトのどちらか一方の 
み得意という中級者を表してみます。この 
場合, メカ トロマニア (A x S ) またはプロ 
グラマ (Ax B ) なので演算 式は, 

( AxB ) + ( AxB ) 

となります。再び表2を見てください 。 A 
x B あるいは A x B が1の値を取るのは, 
それぞれ A =1 で B =0 のときと, A =0 で B 
=1のときたけてす。このよつに , A = 1, 

B =1の場合も,つまり A と B の値が両方と 
も1力>0をとるとき条件不成立となるものを, 
排他的論理和といいます(表3)。 

以上のように,事柄に対する YES , N 0 
を0,1で表し,条件判断を演算で行う方法 
の体系を論理代数(この場合2値論理代数) 
といいます。詳しくは参考文献などを見て 
いただくとして,ここでは, 0と1を扱う 
デジタル回路が2進数の数値処理だけでな 
く YES / NO の条件判断にも利用できること 
を覚えてぉいてください。 

デジタル 1 C と基本ゲート回路 

では,数値処理と論理演算を実際の電子 
回路がどのように行っているかの解説に移 
りましょう。実は2進数の計算も論理演算 
の組み合わせでできるので,主題は論理回 
路の仕組みということになります。 

現在,論理回路はデジタル 1 C を組み合わ 
せて作られています。デジタル 1 C は,一見 
したところ足が何本か出ている小さな黒い 
箱ですが,中身はトランジスタやダイオー 


図2 AND 回路し S 08 


a) b) 



74LS08 


c) 


IN 

OUT 

Y 

A 

B 

し 

し 

し 

H 

し 

し 

し 

H 

し 

H 

H 

H 


特集 AND も OR もこわくない 97 














































































ド,抵抗,コンデンサなどの部品がびつし 
り並んだ電子回路です(図1)。デジタル I 
C はその電気的特性によつて TTL と C - M 0 
S というふたつのグループに大別できます 0 
それぞれ特長がありますが,ここではマイ 
コン回路によく使われる TTL ファミリにつ 
いて説明しましょう。 

TTL 1 C は5 V の電源をつないで動かし 
ます。図1 - a の回路図は LS 04 という型番の 
NOT 回路(インバータという)です。この回 
路には IN (入力), OUT (出力)の端子がひと 
つずつついていて,それぞれが 1 C の足とな 
つて出ているわけです。 

さきほどの2値回路でも触れましたが, 
NOT は1を0に,0を1に反転させる演算 

図4 ブロック記号 ( MIL 記号) 


です。 NOT 回路では, IN に5 V をつなぐと 
OUT に OV,IN に 0 V をつなぐと OUT に 5 V 
が出るようになっています。すなわち ,5 V 
を1,0 V を0に対応させているのです。 

このように,デジタル 1 C は端子の電圧に 
High (5 V ) と Low ( OV ) のふたつのレベルを 
持つ論理演算素子です。ただ,実際には入 
力電圧が 2.0 V から 5.0 V なら H ( High ),0. 
0 V から 0.8 V なら L ( Low ) と判断するよう 
になっているので,電圧値に多少の幅があ 
っても処理できます。 

図 2- a は TTL の LS 08 という型番の回路で, 
IN が2端子, OUT が1端子あります 。 IN 
に入力した H / L のレベルと OUT から出て 
くるレベルを表にすると図 2- c のようになり 


A ->- Y b^> Y A b^O Y 

NOT 回路 . OR 回路 AND 回路 

図 5 論理回路で表すと 


a ) ストロングタイプ (A X B ) 

A - 1一'\ H なら YES 

B - ノ L なら N 0 




LS 08 


し S 04 



図6 バソコンユーザー判定器 


>王 ) I -はつながって———はつながっていない 

1 いるが 1 






LS 04 


pO- 

— ( Da x b 


—② A x B 

: 

—③ A X B 

=t> 

—④ A x B 

LS 08 



ますが, H を1, L を0と書き直すと , IN 
への入力が両方とも1のときのみ OUT も1 
になることがわかるでしよう。これを AND 
回路といいます。また,図3- a は LS 32 とい 
う OR 回路で,やはり IN を2端子, OUT を 
1端子持ち, IN がどちらか一方でも1にな 
れば OUT も1になります。 

これらの回路をゲートと呼びます。ゲー 
卜とは,ご存じのように門という意味で,こ 
の門を通ると論理演算が行われるわけです。 

どんなデジタル回路でも NOT , OR , AND 
の基本ゲートの組み合わせで実現できます 
が,これらの回路図をいちいち書いていた 
のでは全体がたいへん見にく くなってしま 
うでしよう。そこで,これらを図4のよう 
なブロック I 己号で示し, NOT , OR , AND の 
機能がひと目でわかるように表します。図 
1〜3それぞれの b を見てください。 

ただし,すべてのゲートに電源5 V とグ 
ラウンド アース (GND = 0 V ) をつないで あ 
るのは暗黙の了解です。実際はひとつの I 
C にゲート回路がいくつか入っていて,そ 
れぞれの 1 C にひとつずつ電源と GND をつ 
なげば,内部のゲートすべてが動作します。 
一般の回路図は,このブロック記号をつな 
いで書かれています。 

さて,これらのゲートを組み合わせるに 
は,導線で各ゲートの OUT から IN に直結 
するだけです。そして,目的の機能になる 
ようにいくつかのゲートを結線します。 

では,さきほどの パソコンユーザーにつ 
いての判断をデジタル回路でやってみまし 
X 1 〇 

入力は A と B のふたつがそれぞれ ハード, 
ソフトの得意不得意を表します。 YES を H , 
N 0 を L のレベルと します。 ストロング タイ 
プは A x B ですから, LS 08 ひとつで実現で 
きます(図5 a )。 次にメカ トロマニアは A x 
B ですが, B は NOT 回路(インパ、ータ)であ 
る LS 04 をひとつ通すだけでできますから, 
これに LS 08 を組み合わせて作ります。同様 
に プログラマは 図 5- c , ビギナーは 図 5- d に 
表しました。 

この4つを組み合わせると図6になりま 
す。 A , B に H か L を入力すると,入力し 
た内容に応じて AxB , AxS , AxB , 
Ax E のどれかひとつが H になり,残りは 
乙になります。ここで注意すべきなのは, 
ゲートのひとつの出力(たとえば LS 04 の出 


98 Oh ! X 1989.1 































力 A ) から2つ以上のゲートの入力 ( LS 08 
の③,④の入力)につなぐことができると 
いう点です。こうすると,2つ以上のゲー 
卜を同時に動かせます。ただし, TTL-LS 
ファミリではひとつの出力につなげるゲー 
卜の数は10個までです。 

では,例題としてハード,ソフトのどち 
らか一方のみ得意という ( AxB )+ (A x 
B ) の中級者について判断する冋路を組んで 
みてください。解答は図7に示しておきます。 

ゲートを組み合わせた回路 

NOT , OR , AND を組み合わせるとどんな 
回路でも作れますが,実際にこれらの基本 
ゲートをその都度組み合わせていくとコス 
卜も労力もたいへんなものになります。そ 
こで 1 C の数を少なくするために, TTL ファ 
ミリには,よく使われる機能を組み合わせ 
てひとつの 1 C に入れたものが多種あります。 
ですから, 1 C を使うときはどんな機能のも 
のがあるか知っておくことが大切です。 

市販されている TTL 1 C 規格表を手に入 
れると,現在どのような 1 C が出回っている 
か調べることができます。たとえば, LS 139 
という 1 C が,さきほど作ったパソコンユー 
ザー判定器と同じ機能を持つことがわか 
ります。 LS 04 と LS 08 を結線した回路が LS 
139をひとつ持ってきただけで実現されてし 
まうのです(図8)。ただし, LS 139 では , L 
を YES , H を NO としなければならないので 
注意が必要です。 

ENABLE (イネーブル) G というのは全体 
のスイッチで,ここを H にすると OFF,L 
にすると ON になります。また,例題として 
挙げた中級者判定器は LS 86 ひとつで実現 
できます。 

図 9 コンパレータ LS688 


さて,規格表を見るときの参考のために, 
よく使われる機能を簡単に説明することに 
しましょラ0 

デコーダ 

パソコンユーザー 判定器の ように,いく 
つかの入力の組み合わせから特定のものを 
判定する回路をいいます。代表的なのは, 

3桁の2進数を8通りに判定する LS 138 と, 
前述した LS 139( これも2桁の2進数を4通 
りに判定するものと考えてよい)です。 n 桁 
の 2 進数は n bit( binary digij) といいま 
す。また,10進数の0から9に相当する2進 
数000 0 B から100 1 B までを9通りに出力す 
る BCD デ、 コーダ' LS 42 という ものもあります。 
エンコーダ 

デコーダの逆の 機能で, た とえば8通り 

図7 中級者を判定する回路 


A - 

— c> 


の人力を3桁の2進数に変える LS 148, 10 
通りの入力を0000 B から1001 B の2進数に 
変える LS 147 などがあります。 

コンパレータ 

これはあらかじめ設定した2進数のデー 
夕と入力されたデータが等しいか否かを判 
定するものです(図9)。たとえば LS 86 は, 
ふたつの入力が等しいと L , 等しくないと 
H を出力する1桁のコンパレータで, Ex . 
OR (エ クスクルーシブ. オア)回路ともい 
います。これを8桁組み合わせたものが LS 
688ですが,これは,すべての桁が等しくな 
いときだけ L が出力されるので,データの 
一致を検出したいときは,あらかじめ与え 
るデータはすべて NOT で反転させておか 
なければなりません。 


_|、 A X B 

(A X B ) + (A X B ) 




o 


x B 


図 8 デコーダ LS139 



セレクト人力で選んだ出力を.イネーブル入力が 
G 1 = H かつ G 2 A = G 2 B = L にしたときのみ L 
にする. 

イネーブルが他の状®のときは出力すベて H 



Vcc A ■■& 87 A7 B6 A6 B5 A5 B4 A4 



*U"U 

y 

A O 

1 


T^nin±ninin±rLirL!Jiiriiir 

G A0 BO A1 B1 A2 B2 A3 B3 GNO 


74521 と同じ 



INPUTS 

OUTPUTS 

ENABLE 

G 

SELECT 

B 

A 

YO 

Y1 

Y2 

Y3 

H 

X 

X 

H 

H 

H 

H 

し 

し 

L 

し 

H 

H 

H 

し 

L 

H 

H 

し 

H 

H 

し 

H 

し 

H 

H 

L 

H 

し 

H 

H 

H 

H 

H 

L 


特集 AND も OR もこわくない 99 



















































































データセレクタ 

これは,いくつかのデータからひとつを 
切り換えて取り出すスイッチです(図10)。 
LS 151 は, D 0 から D 7 に入力した8通りの 
データから3桁の2進数で指定したデータ 
を選択して出力するものです。デコーダが 
〇〜7のどれかが選択されるとそこだけ必 
ず L が出るのに対し,こちらは入力したデ 
ータが H なら H , L なら L が出ます。 

加算回路 

2進数の足し算を繰り上がり(キヤリ) 


ありで行います。 LS 83 は4ビットの加算器 
で,出力は4ビット+キャリの5端子あり 
ます。 

以上が代表的な組み合わせデータ回路で 
す。では,まとめとして実際のパソコンで 
使われている例を挙げてみましよう。イン 
タフェイスボードなどの I / O アドレスを判定 
する回路(アドレスデコーダという)です0 

I / O アドレスというのは,16ビットの数で 
このアドレスを指定して,特定のインタフ 
ェイスにアクセスするものでしたね。そこ 


図10データセレクタ LS 152 





図 n アドレスデコーダ 



- OOOOh 
_ 000 l H 

- 0002 H 

- 0003 H 


で,特定のアドレスをあらかじめデータと 
して持っていて,入力したアドレスと一致 
したときだけ出力があるような回路が必要 
なわけです。図11がその回路です。この回 
路はそのまま使えますので試してみてくだ 
さい。私は自作の XI 用 MIDI インタフェイ 
スボードに同じ回路を使っています。本誌 
掲載の MIDI ボードのアドレスデコーダ部も 
ほとんど同じです。 

この回路の動作を説明しましよう。まず 
LS 688 では,あらかじめデータとしてすベ 
て H を与えているので, A 15 から A 8 の8 
ビット ( A 15はアドレスの15桁目の意味)が 
すべて L のときだけ出力に L が出ます。そ 
して LS 138 では, A 15 から八3がすべてし 
のときだけ出力が L になる端子から出力を 
取っています。 LS 32 ではさらに A 2もしで 
ないと出力が L になりません。 

ところで, LS 32 は OR ゲートなのに前述 
したものとは違う記号が使われています。 
OR ゲートの性質,つまり「少な〈ともどち 
らか一方が H なら H 」 ということと「両方と 
も L のときだけ L 」 ということは同じなの 
ですが,特に前者の意味で使うときは 
と書き,後者(この場合)の意味では:0■と 
書〈のです。これは正論理,負論理の違い 
といいます。 

要するに, A 15 から A 2のすべてがしの 
とき初めて, LS 139 が ON になります 。 L S 
139が ON になれば, A 1 と A 0 の2ビットのア 
ドレスが4通りに出力されるので,これで 
000 0 H から0003 H を判定することができる 
わけです。 

ク〇ックとラッチ 

これまで,扱う信号の入出力が定常であ 
る(安定している)場合の回路について説 
明をしてきました。しかし,実際のデジタル 
回路では,次々に判断•処理が進行してい 
きます。この判断•処理は,一定の時間間 
隔で H と L が交替するクロックという基準 
信号を1ステップとして行います。 

クロックには水晶発振装置が使われます 
(図12)。これは発振周波数の精度がたいへ 
ん高いことが特長です。 

パソコンでプログラムが最初の行から順 
次自動的に実行されていくのも,内部のク 
ロックに従って次々と処理していくからで 


100 Oh! X 1989.1. 
















































































す。ちなみに XI は 4 MHz , X 68000 は 10 MHz 
のクロックを持っています。 

次に,クロックを持った回路が外部から 
の信号を読み取ることを考えてみましょう。 
図13を見てください。この図によると,ク 
ロックの立ち上がりで読み取りを行います 
が,もし立ち上がりと立ち上がりの間に外 
部信号が来てしまったら,それは検出でき 
ないことになります。そこで,たとえば周 
期の間に H の信号が来たら,そのあともず 
っと H を保持しておく回路が必要になりま 
す。この保持回路をラッチといいます。こ 
れもゲートの組み合わせで実現できます。 

図14を見てください。これは LSOO という 
ゲート (NAND = NOT AND ) を2個分組み 
合わせたものですが,片方の出力がもう- 
方の入力に入り,その出力がもとの入力に 
入ってフイードバックされています。ここ 
で, R を H にしたまま S を L にしてみると, 
Q は H になるので, Q は L になります。こ 
こで, S を H に戻しても, Q が L なので Q 
は H のまま, R も H のままなので Q は L と 
いうように矛盾が生じません。つまり Q 力 5 ' 
H , Q が L の状態を保持しているわけです。 

次に S を H にしたままで R を L にすると, 
①と②をひっくり返したのと同じことにな 
り,今度は Q が L , Q が H に反転します。 
このとき R を H に戻してもやはり状態を保 
持します。こういう機能のラッチを R-S 
( Reset - Set ) ラッチといいます。 LS 279 が 
専用の R - S ラッチになっています。 

図15 D ラッチ 


次に R - S ラッチの発展型でより実用的な 
D ラッチについて説明しましょう。 D ラッ 
チには,入力として D (データ)と STB (ス 
トローブ)のふたつがあります(図15 )。 DC 

図12水晶発振回路 


は時々刻々と変化するデータが入ってきま 
す。 STB がきはそのまま出てきます 
力す, STB を L にすると,その瞬間の D の状 
態をそのまま保持します。このラッチは,任 



水晶発振子 

図13外部信号がきたとき 

T の間隔で処理するとき 


外部信号 

T 

T 

T 


これだ 
/検出で 

^ rr 

と 

きない 



保持 


検出できる 

〆 








クロック 
















図16タイムチャート 




D をそのまま出力 この状態を保持 


図14 R - S ラッチ 


NAND 


A 

B 

出力 

し 

し 

H 

し 

H 

H 

H 

し 

H 

H 

H 

•し 


S 

R 

Q 

Q 

し 

し 

許されない 

し 

H 

H 

し 

H 

し 

し 

H 

H 

H 

前の状態を保持 



特集 AND も OR もこわくない 101 












































































アドレスデコード 



RESET 


図19タイミングチヤート 


LS273 


〇 K 

Do 〇〇 


D c \° R 7 


意のデータをある瞬間で止めて見るときに 
使われます。この様子をタイムチャートと 
呼ばれる図に表してみましよう(図16)。夕 
イムチャートは,左から右に時間が進んで 
いく図で,時間と共に状態が変化していく 
様子がわかりやすいようになっています。 

図彳8インタフェイス 


実際には D ラッチよりも D フリップ フロ 
ップ ( D - FF ) が多く使われるようです。こ 
のラッチとフリ ッフ。フロッ プは混同されが 
ちです力 5 ',囲みに挙げた解説を見て違いを 
把握しておいてください。 

さて, D - FF は状態を保持することから 



図20 D - FF の動作 


もわかるようにメモリそのものです。幅広 
〈応用でき,世の中のデジタル回路でこれ 
を使っていないものはないと言っても過言 
ではありません。 

身近な例としてパソコンのインタフェイ 
スをとって考えてみましよう。 CPU をはじ 
めとするパソコン内のシステムは,すべてデ 
—タバスという信号線 (8 ビットの CPU 
ならパラレル8本)を持ち,そのバスを通じ 
てメモリなどの周辺チップとデータのやりと 
りを行います。インタフェイスを通じて外部 
とのデ'ータの入出力を行うときも,データは 
バスに乗って流れます。しかし,バス上は常 
にさまざまなデータが入れ替わり流れてい 
るので,外部に出力するのもそのままでは一 
瞬だけになってしまいます。外部の機器に 
とって CPU がデータをバスに出したと同時 
に言売み取るのはとてもタイミングが厳しい 
ので,外部に出力するデータを保持してお 
かなければなりません。それには D - FF が8 
個パラレルに入っている LS 273( 図 17) が便 
利なので,これを使って回路を組んでみま 
した(図18)。 

I / O にデ'ータを出力するときには, CPU は 
アドレスを指定したあとでバスにデータを 
送り出し, IORQ と WR を同時に L にします。 
タイミングチャートを見てください(図19)。 
LS 273 はクロック ( CK ) 入力が L から H に 
立ち上がるとき, D に入力されているデー 
夕をラッチします。タイミングチャートを 
見てもわ•かりますが,この回路は,デコー 
ダ LS 139 を使ってアドレスデコーダに指定 
したアドレスが入り,かつ IORQ と WR が 
同時に L になるとき ( I/O OUT のとき)に 
CK に L がくるようになっています。したが 
って, I/O OUT 命令が実行されたときのデ 
ータがラッチされることになります。 I/O 
OUT が実行されない限り,ラッチはデ'ータを 
変えません。このインタフェイスがあって 



クロックが立ち上がる瞬間の D をラッチするから, 

クロック_ クロック周期で反転(半周期)する 


デ I タバス 


/〇出カポ—卜 


102 Oh! X 1989.1 









































































初めて,外部機器は CPU のタイミングを 
気にせず着実にデータを読み出せるのです。 
ところでアドレスデコード信号には図18の 
デコーダを そのまま使えるので,基本 1 C 
だけでパラレルインタフェイスが組めます0 

覆 カウンタとシフトレジスタ 

カウンタもシフトレジスタも D-FF をつ 
なぎあわせたものにすぎません。ここでは 
D-FF の動作の復習をしながら,この2つの 
機能について考えていきます。 

D - FF は, CK 入力が L のときは D に入力 
されたデータがそのまま Q に,また反転さ 
れて Q に出てきます。その間はデータが変 
化すると出力 Q , Q も変化します。そして 
CK を L から H に上げたとき(エッジトリガ) 
に,そのとき入力されていたデータを保持 
し,それ以降は再び CK を L から H に上げる 
ときまで, Q , Q に保持したデータを出力 
し続けます。そこで,図20のように結線し 
て CK にクロックを入れてみます。すると, 
クロックが2周期入って初めて出力が1周 
期出ることがわかります。すなわち,この 
回路はクロックを2個ずつカウントする機 
能を持っているわけです。こうした数を数 
えるデジタル回路をカウンタと呼びます。 

デジタルの世界では,2進数で数を表現 
していましたね。 2進数とは2つずつまと 
めて桁上げする仕組みなのですから, D-F 
F のカウンタでいえば出力が桁上げ信号に 
あたるわけです。したがってこのカウンタ 
を4個直列につなげると,4ビットのカウ 
ンタになります。 LS 293 はこれだけで4ビ 
ットカウンタとして使えます。 

図21で, QdQcQbQa の順に並べてみると, 

図17 8ビット D-FF LS 273 



クロックのカウント数を4ビット数で表し 
ているのがわかるでしよう。 

また,日常使われるのは10進数なので, 
10カウントで桁上げ信号を出すカウンタ L 
S 290 も使われます。 LS 290 では,2進数で 
000 Ob から100 1 b を出力して,次には桁上げ 
を出すと同時に 000 Ob に戻ります。 

図22はストップウオツチの回路例です。 
左端の LS 290 は単純な1/10分周回路で,こ 


の回路をひとつ通すたびにクロックが1桁 
下がります。 LS 290 の4つの出力を QdQcQb 
Qa の順で2進数として考えると0から9を 
表しています。これを表示回路(ディスフ° 
レイデコーダ)につなぐと LED 表示もでき 
ます。また,10秒の桁は6で桁上げなので, 
6進カウンタ LS 92 を使っています。このよ 
うに,時間計測というのは規則正し〈出る 
クロックをカウントして行っているのです。 


図21 4ビットカウンタ 

Qa Qb Qc Qd 





Ob 


0 









Qc 


0 





Qd 



ラッチとフリップフロップの違い 

このふたつはどちらも時間的に変化するデー 
夕を一時的に保持するものですが,その保持の 
仕方に違いがあります。 

どちらにもデータ保持をコント ロールす るた 
めの信号としてトリガがありますが, D ラッチ 
は,トリガが H のときはデータがそのまま Q に 
出力され(スルー状態),トリガが L になった瞬 


間のデータが保持されます。したがって保持さ 
れるのはトリガが L の間だけです。それに対し, 
D フリップフロップは常に保持状態にあります。 
そして,トリガが L — H に立ち上がる瞬間(エ 
ッジ)のデータが保持され,それはトリガを L 
に戻しても変化しません。 

このように, データのスルー 状態があるのが 
ラッチ,常に保持状態しかなくエッジの立ち上 
がりだけで保持データが切り換わるのがフリッ 
プフロップなのです。 


D ラツチ 


トリガ- 


データ- 

Q - 


D-FF 
トリガ— 


スルー 保持 


データ 


n 


スル_ 


保持 


J~L. 


n 


特集 AND も OR もこわくない 103 
















































































































































正確な 1 kHz というのは,正確に1秒あたり 
1000個のクロツクパルスを出しているわけ 
で,これにはさきほど述べた水晶発振装置 
が使われます。デジタル時計をクォーツ(石 
英) と呼ぶのはそのためで,アナログ表示の 
時計でもクォーツといっているものは,時 
計の仕組みがデジタルなわけです0 

ただ,現在は時計専用の便利な 1 C が安く 
出回っているので,このようにカウンタを 
いくつも並べなくても 1 C 1個で実現できま 
す。 

次に, D - FF を図23のようにつなげてみ 


ます。 クロックが1個入るごとに各 D-FF 
はひとつ左側の D-FF の出力を取り込みま 
す。すなわち,データを1ビットずつ右へ 
シフトしていくことになります。もしクロ 
ックと同期して4ビットのデータをシリア 
ルに送ると, 4 個のクロックのあとで QaQb 
QcQd にそのシリアルデータが取り込まれる 
わけです。このように,クロック1個ごと 
に1ビットずつデータがシフトしていぐ機 
能のものをシフトレジスタと いいます〇 4 
ビットひとまとまりになっているのが LS 
194 です。 


例として,ハ。? レ ル入力した8 ビット デ 
ータ を, スタート 1 ビット ( L ), ストッフ。 

1ビット ( H ) をつけて計10ビットをシリア 
ル送信するインタフェイスを図24に挙げて 
解説しましょう。 LS 194 は R 入力が右シフト 
の桁上げ入力になっていて,複数個つなぐ 
ことができます。また, S 0 を H にしたまま 
で S 1 を H にすると パラレ ル データのロード, 
L にするとビットシフトの機能になります。 
通常はイネーブルを H にしてぉくと , OUT 
は常に H になっています。送信するときに 
は,パラレルデータを セットしてからイネ 
ー ブルを L にすると デー タが ロードされ, 
再び H に戻すとその データは シリアル送信 
されます。送信速度は入カクロックで決ま 
ります。 

この 回路は パソコンのインタフェイスと 
して使うときには,イネ ー ブルに アドレス 
デコード 信号を つなげばよいので すが,送 
信クロックを CPU の クロックと変える こと 
ができません。実際4 MHz の シリアル通信 
は速すぎて信頼性が落ちるので,若干回路 
を変更する必要があります。 

専用 LSI による未来 

現代はデジタル技術の進歩が目覚ましく, 
家電製品のほとんどがマイコン制御になっ 
てきました。そのため,これまで述べてき 
たような基本 IC を組み合わせた機能回路も 
ひとつの 1 C として生産され,利用されてい 
ます0デジタル時計用 1 C , 電卓用 1 C , パソ 
コンパラレ ルインタ フェイ ス 1 C , シリアル 
インタフェイス 1 C など外付部品も少なく, 
初心者が工作するのも簡単になってきまし 
た。 

さて,特集をここまで読み進んだあなた 
は,すでにデジタル 1 C の演出する High & 
Low の世界にいます。次の記事ではぉなじ 
みの BASIC で 1 C の論理構造をなぞってみ 
ましょラ0 

く参考文献〉 

湯山俊夫,「ディジタル IG 回路の設計」, GQ 出版社 
佐藤清忠,「パソコンインターフIイス考」,〇 Q 出 
版社 

特集 「Z80 ソフト&ハードのすべて J , トランジス 
夕技術 SPE 〇 IAl _ No .6. 〇 Q 出版社 
TTL 1C 規格表, CQ 出版社 

武田行松,「デジタルの話」,日本電気文化センタ 


図22ストップウォッチの回路例 


IkHz 一 

クロック 


1/100秒 


1/10秒 


I 秒 


10秒 


Ihrillhdllti 


Qa Qb Qc Qd 
LS290 


Qa Ob Qc Qd 
LS290 


Qa Qb Qc Qo 
LS290 




0a Qc Qd 
LS92 
B 


丁 


図 23 シフトレジスタ 


Qa Qb Qc Qd 


シリアノレ 
データ 


クロック 



ク 

ロシリアルデータ 

ツ 

ク -^-^ 


Oa Qb Qc Qd 


OLH しし xxxx 
I |_H しし xxxx 


H L し x x x x 
し H し Lxxxx 
し HL し xxxx 


図 24 8 ビットデータをシリアル送信する 


イネーフル_ 


H 


クロック_ 


R 0a Qb Qc 0 d S 0- 
CK A B C D : 


1 


6 6 0 


ェ 


r Qa 0b 0c Qo gg 
CK A B C D S, 




—> OUT 


パラレル 8 ビットデータ 


Qa Qb Qc Qd 
LS290 


s s 

ODd 


104 Oh! X 1989.1. 





























































































•デジタル回路入門編 


特集い吉なり初春から八ードウエア 


ソフトでハードをシミュレート 

巳 ASIC でわかる論理回路 

s d A hi 電気の流れるハードウエアはとかく異質なものと敬遠されがちですが, ic と ic の組み合わ 

島田1中 せを考えるのはプログラムを組むのと変わりありません0ここでは,簡単な論理回路を BA 

SIC でシミュレートしながら,ハードウ:!:アの基本を学ぶことにしましよう0 


かなりパソコン歴の長い人でも「ハード 
はどうも苦手だ」と力、,「回路図を見ても何 
が書いてあるのか,さっぱりわからない」 
という声はよ〈聞かれます。しかし,ここ 
で断言しておきましよう〇「デジタル回路を 
理解することは, BASIC で書かれたプログ 
ラムを解析することとまったく変わらない」 
のです。それなのに,ハードが苦手という 
人が続々出てくるのは,「なぜハードが難し 
〈見えるのか」という問題を正面から取り 
上げた入門記事がほとんどなかったからな 
のです。だから,これからハードウェアの 


世界に入っていこうとする皆さんは,ハー 
ドは難しいという先入観をこの記事を読む 
ことで取り払ってから,次のステップに進 
むのが最も近道となるでしょう。 

BASIC の場合 

それでは,皆さんの身近な BASIC の話か 
ら始めましょう。 BASIC は英語をベースに 
した命令語から成り立っています。ごく簡 
単な例は次のようなものです。 

10 FOR 1 =1 TO 10 


20 PRINT I 
30 NEXT 

しかしパソコンが英語を理解するわけで 
はなく,各命令語は,その処理を行う機械 
語のサブルーチンを持っています。テキス 
卜の FOR という命令のところにくると,そ 
の処理に必要なサブルーチンを呼び出して 
実行するわけです。とはいえ,私たちユー 
ザーは実際にマシン語ルーチンがどうなっ 
ているか知らないことのほうが多いでしよう。 
PRINT I にしても,「 I という変数に数値を 
格納してから PRINT という命令を実行する 


図1 パソコンユーザー 判定器 


A 


B 



A X B 


A X 百 

A x B 

Xx 百 


■ J スト 1 


図 2 ちょっと複雑な回路例 



10 ' SAVE "1 : LOGIC 1 .BAS 

20 » 本本 t 本本本本本本本本寒本: *: 本本本本京本木本本本本本本京《拿《本本本本**本本本本 t 本本本本本 

30 1 

40 1 COMPUTER USER CHECKER / DECODER 
50 » 

60 1 63.11.23 A.SHIMADA 

70 * 

80 ,本! : 本本本 《 本;!木本本本本本本 * 本本本 * 本本本 * 本本本本本本本本本本本本 *** 本本 * 本**本本拿本 

90 PRINT" A B : X Y Z U" 

100 * 

110 FOR A=-l TO 0 
120 FOR B=-l TO 0 
130 » 


140 C=NOT A 
150 D=NOT B 
160 X=A AND B 
170 Y=A AND D 
180 Z=C AND B 
190 U=C AND D 
200 » 

210 PRINTA ; B ; " : " ; X ; Y ; Z;U 
220 NEXT B 
230 NEXT A 


実行結果 



10 * SAVE "l : LOGIC2.BAS 

20 ' 本拿本本本本本本本本本本拿家本本拿! ; 本拿拿本本本本本本本拿 * 本本拿本拿本 《 « 本本本本; t 本本拿*本本 

30 * 

40 » COMPLICATED GATE CIRCUIT 
50 * 

60 * 63.11.23 A.SHIMADA 

70 » 

80 * 本本本拿本本本本本本 * 本本拿拿本本本本本本本本本本本本本本本本本本本本本拿本本 * 本本本本本本拿《寒 

90 PRINT" A B C D : X Y" 

100 1 

110 FOR A=-l TO 0 
120 FOR B=-l TO 0 
130 FOR C=-l TO 0 
140 FOR D=-l TO 0 
150 » 

160 GOSUB "LOGIC" 

170 * 


180 PRINTA;B;C;D; " ;X;Y 
190 NEXT D 
200 NEXT C 


実行結果 


210 NEXT B 
220 NEXT A 
230 END 
240 » 

250 LABEL "LOGIC" 
260 E=NOT A 
270 F=NOT C 
280 G=E AND F 
290 H=NOT G 
300 I=NOT B 
310 J=H AND B 
320 K=NOT D 
330 X=J OR K 
340 Y=I OR C 
350 RETURN 


ABC 
- 1 - 1 - 1 - 






- 1-1 

- 1-1 
0 0 
-10 
0-1 
- 1-1 
0-1 


特集 BASIC でわかる論理回路 105 


























































論理式 1 

DEF FNYn = 

N0T(((G1 AND (NOT G2A)) AND (NOT G2B)) AND (4XC+2XB+A=n)) 


論理式 2 ( BASIC ) 

LAVEL “Yn” 

IF G1=-1 AND G2A = 0 AND G2B = 0 

THEN IF 4XC+2XB + A=n THEN Y = 0 ELSE Y = -1 
ELSE Y = -1 
RETURN 


と,画面上に I の内容が表示される」とい 
う機能を外から知っているだけです。 

これは,デジタル 1 C の世界でも事情はま 
ったく同じなのです。たいていのユーザー 
はチップの 中で実際に どのように電流が流 
れているかなど知りません。ブラックボッ 
クスの外からどのような入力を与えれば, 
箱の外にどう出力されてくるかという機能 
を知ってさえすれば十分なのです。 

KD は関数だ 

たとえば,荻窪氏の記事にも登場してい 
る LS 08 という 1 C は, ANDy _ 卜が4つ入つ 


ています。 AND ゲー 
卜とは, A , B の2 
つの入力に +5 V ( H ) 
か OV ( L ) かをつなぐ 
と,出力にも H か L 
が真理値表に従って 
現れる機能を持った 
ものです。ここで, 
N —-1, L — 0と対 
応させれば, BASIC の命令でそのまま, 

Y = A AND B 
と書けます。 

BASIC でも, AND という演算子は機械語 
ルーチンでどうなっているか知らなくても 
よいわけで,同様に, 

OR -> Y = A OR B 
NOT -> Y = NOT A 
と BASIC で表せます。 

では,三沢氏の解説で出てきたパソコン 
ユーザー判定器を考えてみましょう(図1)。 
ひとつのゲートは,それぞれのひとつの演 
算子として表せます。そして,つないであ 
る配線1本にひとつの状態 ( H ** L ) が対応 


するので,配線ごとに論理変数 ( A , B , 

C , D , X , Y , Z , U ) を対応させます。 
入力 A , B を INPUT にして,出力 X 〜 U を PRI 
NT させる BASIC プログラムをリスト1に示 
しました。 

次に,もっと複雑な例を図2に示します。 
この場合も,1本の結線につきひとつの変数 
を割り当て,順番に計算していくと真理値 
表が得られます0プログラムはリスト2に 
示しました0サブルーチン “ LOGIC ” 内が 
論理計算です。 

以上のように, 1 C をブラックボックスと 
して考え,入力引数を与えて出力値を得る 
関数(命令)だと割り切ってしまえば , BAS 
1 C でプログラムを組むのと変わらないわけ 
です。 

回路もサブルーチン化 

さて, BASIC でプログラムを組むときも, 
あるまとまった処理をサブルーチンとして 
ブロック化してやると,プログラム全体が 
わかりやす〈なります。もちろん , BASIC 


図 3 -a IVMDI のアドレスデコーダ部 


リスト3 



図 3 -b (参考)ワイヤード AND 


f+ 5V 



10 1 SAVE "l : LOGIC3.BAS 

20 • 本拿 * 本本本本本本本本本本本 ** 本本 * 本本本本本本本本本 * 本 * 本本本本本*本本本本本本本本本本本本本 

30 ’ 

40 1 ADRESS DECODER IN MIDI INTERFACE 
50 » 

60 » 63.11.23 A.SHIMADA 

70 » 

80 * 本本木本本本本本本本!:本本本本本本本本本本本拿本本本本本本本本本本本本本本本木本本零本本本本本本本本本本本 

85 PRINT TIME$ 

90 DIM AB( 11 ) 

100 DEF FNY(A,B,C,G1,G2A,G2B)=N0T(G1 AND (NOT G2A) AND 
(NOT G2B) AND A AND B AND 
(NOT C)) 

110 FOR ADR=0 TO &H7FFF 
120 » 

130 »ADR BIT 

140 EXIO=(ADR >= &H1000) 

150 ADR1=ADR AND &HFFF 

160 FOR 1=0 TO11 

170 AB(I)=-(ADR1 MOD 2) 

180 ADR1=ADR1 ¥ 2 
190 NEXT 
200 » 

210 GOSUB "LOGIC" 

220 J 

230 IF Y=0 THEN PRINT HEX$(ADR);" ENABLE!" 

240 NEXT ADR 
245 PRINT TIMES 
250 END 
260 J 

270 LABEL "LOGIC" 

280 P=AB(9) XOR -1 
290 Q=AB(8) XOR -1 
300 R=AB(7) XOR -1 
310 S=AB(6) XOR -1 
320 T=AB(5) XOR -1 
330 U=AB(4) XOR -1 
340 V=AB(3) XOR -1 
350 W=AB(2) XOR -1 
360 A=P AND Q AND R AND S 
370 B=T AND U AND V AND W 
380 G2A=AB(10) : G2B=AB(11) 

390 Y=FNY(A,B,EXIO,-l,G2A,G2B) 

400 RETURN 


実行結果 
RUN 

18:15:57 
0 ENABLE 

1 ENABLE 

2 ENABLE 

3 ENABLE 
Ok. 


106 Oh! X 1989.1. 






























































もう,八ードはこわくない 

それでは,最初の問いに戻りましょう。 
なぜハードは難しく思えるのか,というこ 
とでした。それは,たとえて言うなら , B 
ASIC でプログラムを組むためには BASIC イ 
ンタプリタのマシン語ルーチンまで理解し 
ないといけないような錯覚に陥っている力* 
らではないでしょうか。 

BASIC は,命令の働きさえわかれば中身 
はそれほど必要ないのです。それと同じよ 
うに各 1 C のきを知りさえすれば,あとは 
[ C の足をつなぐだけで,とりあえずハード 
は理解できてしまうのです。リスト1から 
リスト4までの BASIC プログラムが何をや 
っているのか理解できれば,デジタル回路 
そのものを理解したことになるのです。 

図4 4ビットカウンタ 

DO 


確かに,実際の回路では電気を扱う上で 
のさまざまな処理が必要になってきます。 
しかし,それらはハードウェアが扱うデジ 
タル情報を理解するうえでは特に問題にな 
ることはありません。 

さあ,このコツさえ飲み込めば,次のス 
テツプはいろいろな 1 C について, どういう 
出力が得られるのかという入出力の関係に 
的を絞って勉強していくことになるわけで 
す。いろいろな 1 C の基本機能は三沢氏の記 
事でまとめられていますので,そちらを見 
てください。 

そして,実際に工作の楽しさを味わって 
みたい場合には,ハードエ作入門編を参考 
にして〈ださい。要は 1 C の足がハンダと導 
線でつながっていればよいのです。ではさ 
っそく始めてみましよう0きっとハ 0 ソコン 
に対する認識も変わって〈ると思います。 


D 1 


D 2 


D 3 


クロック 



10 

20 

30 

40 

50 

60 

70 

80 

90 

100 

110 

120 

130 

140 

150 

160 

170 

180 

190 

200 

210 

220 

230 

240 

250 

260 

270 

280 

290 

300 

310 

320 

330 


SAVE "1:LOGIC4.BAS 

本本本本本本本本本本本本本本本本本本本 

4BIT COUNTER WITH D-FF 

63.11.23 A.SHIMADA 


CLK=0 : Q0=0 : Q1=0 

IF CLK=-1 THEN PRINT CLK;D3 丨 D2;D1;D0 丨 _(D3 本 8+D2 本 4+D1 本 2+D0 本 1> ELSE PRINT CLK 
CLKX=NOT CLK 

CK=CLK : CKX=CLKX : GOSUB "FF" 


CK=NOT Q0 
CK=NOT Q1 
CK=NOT Q2 


Q=Q0 : D=NOT Q 
QX0=Q 

Q=Q1 : D=NOT Q 
QX1=Q 

Q=Q2 : D=NOT Q 
QX2=Q 

Q=Q3 : D=NOT Q 
QX3=Q 

CLK=CLKX 
Q0=QX0 : D0=Q0 
Q1=QX1 : D1=Q1 
Q2=QX2 : D2=Q2 
Q3=QX3 : D3=Q3 
GOTO 110 


»FLIP-FLOP : INPUT D/CK/CKX 
LABEL "FF" 

IF CK=0 AND CKX=-1 THEN Q=D 
RETURN 


CKX=NOT QX0 : GOSUB . , FF ,, 
CKX = NOT QX1 : GOSUB ,, FF" 
CKX=NOT QX2 : GOSUB "FF" 


実行結果 
RUN 


の命令自体も機械語からみればサブルーチ 
ンですが,それらを組み合わせて,より大 
きなサブルーチンにしてい〈こともできま 
す0 1 C でも, デコーダ や コンパレータ のよ 
うにゲートを組み合わせた機能回路がひと 
まとまりで1個の 1 C になっていたりします。 
これも大きなサブルーチンに相当するわけ 
です。 

たとえば, LS 138 というデコーダを,入力 
引数が A , B , C , Gl , G 2 A , G 2 B , 出力が〜 

となっている定義関数に書き直してみま 
しょう。すると,106ページの論理式1のよ 
うになります。 

もっとわかりやすくサブルーチンの形に 
して,論理式2でもよいでしよう。 

これを使って8月号に掲載された MIDI ボ 
ード 用のア ドレスレコーダ 部を プロ グラミ 
ングしてみたのがリスト3です(図 3- a に 
回路図)。 

注意事項としては, LS 136 は XOR 演算子 
をそのまま使ったことと, LS 136 の出力を4 
つつないでそのまま LS 138 の A , B に入力し 
ているのは,4つの出力の AND をとってい 
ることです(図 3- b )。 

LS 138 の出力は朽のみとっているので, 
定義関数 FNY は A =-1, B = — 1, C =0 のと 
きのみ(もちろん Gl = — 1, G 2 A = G 2 B = 0) 

0となるようにしてあります。 

このリスト3は, RUN させると終了まで 
たいへん侍たされますが,結局イネーブル 
( Z 80 A SIO が ON ) となるのは, ADR が〇〜 

3のときだけと いう ことが シミュレート さ 
れます。ところで, 〇〜3の区別は SIO の 
別の端子 C / D , B / A で行っていますので, 
このアドレスデコーダ部では無関係でもか 
まいません。 

応用として, D-FF ( D 型フリップフロッ 
プ)を使った4ビットカウンタのシミュレ 
ーシヨンをリスト4に載せておきます 。 FF 
はクロック に従っ て動作しますが,クロッ 
クの立ち上がりでのみデータを保持するの 
で,それを判断するのが少しややこしくな 
っています0サブルーチン “ FF ” は,デー 
夕 D とひとつ前のクロック CK とクロック C 
KX を入力とし,もし CK = 0かつ CKX = 1 
(立ち上がりエッジ)ならば Q = D を出力し, 

それ以外は Q を保存して RETURN するもの 
です。残りの部分は皆さんでもすぐわかる 
でしよう。 


@011 1IK 

_ - -S. 
O 4i Qo 1 * IX p* IX IX r 
I I I I I Bo 


特集 BASIC でわかる論理回路 107 

































特集いきなり初春から八ードウエア 


八ードウェアエ作編 


純粋なハードエ作のすすめ 

禁断の石の物語 


ハードウヱア特集の後半は楽しい工作の入門編。半導体技術の進歩によって高機能なデジ 
タル 1C が回路の基本となった現在でも,真空管やトランジスタによるアナログ回路主流時 
代から受け継がれた自作の楽しみに変わりはありません。 


Ookura Kenji 

大倉建二 


伝説の石 

業界の人々を含め皆さんが石,石と呼ん 
でいる 1 C ですが,この元祖は,なにを隠す 
までもなく,トランジスタなわけです。が, 
実はトランジスタよりもさらに前には真空 
管というものが使われていたのをご存じで 
しようか。といってもせいぜい20年くらい 
のものですから,そんなに古い話ではない 
のですが,本誌の読者の方々の多くはまだ 
生まれていらっしゃらなかったのですね。 
まあ,だいたいそのころには,まだ真空管 
が結構がんばって家庭の中でもテレビやラ 
ジオで大きな顔をしていたんです。 

「真空管なんて伝説にしか聞いたことがな 
い」とおっしゃる方も多いでしょう。簡単 
に説明しておきますと,ガラスの筒がまず 
あるわけです。大きさはいろいろなんです 
が,だいたい茄子,そう野菜のなすびくら 
いのもの。それからキュウリくらいの太さ 
で,長さが 5 センチから 15 センチくらいの 
ものが多かったですね。そのガラス管の中 
に電極と呼ばれる,まあ鉄板ですね,それ 
が組み合わさったのが置いてあって,その 
真ん中にはヒーターという電熱線が ついて 
いるわけです。 

もちろん真空管というくらいですから, 
密閉されていて中の空気は抜いてあって, 
ちょっと鉛筆の先で突くというようなこと 
はできません。ガラスはよほど変わった種 
類のものでないかぎり透明なままですから 
中身はよく見えるのですが,多くは電極の 
一番外側のものが他の電極をくるむように 
作られていますので,電極の細かいところ 
まではよく見えない。ところがヒーターだ 
けはたいてい ニクロム 線で作られていまし 
たから,電気を入れると電熱器と同じよう 
な,赤っぽいオレンジ色というのか,そん 
な色で灯っているのが見えるわけです。 

部屋を暗くすると,真空管のヒーターが 
みんな一斉に静かについているのが目で見 
えるんですね。それが単なる電源が入って 
いるかを示す,パイロット•ランプではな 


く,真空管が動くために一番大切なことを 
している姿だというのが大事なところです。 
電源を入れたまま裏ぶたをあけて,ああ働 
いているんだなあと,ぼんやりとしばらく 
見つめていたこともありました。 

真空管と八ードエ作 

真空管のラジオの場合,使っている真空 
管の数から 4 球とか 5 球とかいった呼び方 
がされていたのですが,ラジオ少年の世界 
ではラジオの回路の方式が主体で,たとえ 
ば, 0- V -1 (ゼロ.ブイ.ワン), 0- V -2, 

5 球スーパーなどとやっていたわけです。 

0- V -1 や 0- V -2 は再生方式と いい, 少な 
い数の真空管で高感度を得ることができる 
方式のものに使われており,最初の数字が 
高周波増幅段の数を,最後の数字が低周波 
増幅段の数を示しています。たとえば, 0- 
V -1 でしたらイヤホンを鳴らすのが精一杯 
ですが, 0- V -2 になるとス ピー カが鳴らせ 
るようになるといった違いが出てきます。 

スーパーと いうのは, スーパー •ヘテロ 
ダイン方式というラジオの回路方式の略称 
です。この方式は性能が非常に高〈できる 
のが特徴でして, 今の AM ラジオはほとん 
どこの方式です。ただし,性能が高くなる 
かわり部品が多くなりますからキットも高 
くなる。そのようにして,キットにもずら 
っと値段の序列がつくわけです。 

その後,主流がトランジスタになって大 
手電気メーカーも真空管を作るのをやめて 
しまうようになっても,しばらくは流通在 
庫がかなり大量にあったおかげで真空管の 
不足は起こらず,ラジオのキットも細々と 
は出回っていました。でもさすがに真空管の 
ラジオ用部品自体が入手しづらくなり,い 
つのまにかそれらも消え去っていってしま 
いました。それでもしぶとく秋葉原などで 
は真空管の専門店が幾つもあるところをみ 
ると,いまだに真空管をあさって,なにか 
作っている人がいらっしやるのでしよう。 

オーディオ用のアンプでは真空管専用部 
品は真空管ソケットとトランスくらいのも 


のですから,なんとか頑張れていて,保守 
部品としていまだに若干量は作られている 
アメリカやイギリスの軍用真空管がけっこ 
う輸入されて使われているようです。残っ 
た国産品も需要がほとんどないのが幸いし 
てかいまだに健闘していて,なんと秋葉原 
のガード下では真空管のアンプのキツトを 
扱い始めたところまで現れました。 

「まだ'また^しば'らくはなくならないよ」と 
心強い限りでした。 

そういえば私も大学生のとき,粗大ごみ 
のなかに真空管のラジオが捨ててあるのを 
見つけたものですから,すかさず真空管だ 
けを抜いて帰り,家で短波ラジオを組み立 
てたことがあります。本当はまるごと拾っ 
ていきたかったんですが,さすがにそれを 
抱えて電車に乗り込む勇気はありませんで 
した。いま考えると惜しいことをしたと思 
いますね。 

白作派の心 

ところで真空管というのはヒーターが灯 
って,全体が温まってこないと電気的には 
ただの絶縁されて並んでいる鉄板に過ぎま 
せんから,電源を入れても何十秒かはうん 
ともすんともいわないんですね。電源を入 
れたあと一瞬の間があってブーンとトラン 
スが鳴って,ヒーターが赤くなってきて, 
さらにじっとしていると,かすかに音とも 
つかないささやきが聞こえて,そしてザー 
という雑音のなかから目指す放送局からの 
音楽が聞こえてくるんですね。ここまでの 
間というのは,普通はただの待ち時間に過 
ぎないのでしようが,自分でラジオを作ろ 
うなどと考える者にとってはこの間(ま) 
がまた楽しいものなのですね。私も真空管 
が好きでして,家でも真空管のアンプを使 
っているのです。で,真空管とトランジス 
夕はなにが違うのかと言われると,もちろ 
ん音の違いというものもあります力 ? ,やは 
りヒーターの存在と間というのが大きなも 
のであると思うわけです。ところ力 ? ,これ 
が人には説明しにくいもので,じっと侍た 


108 Oh! X 1989.1. 








されるのがよいといってもあまり理解され 
ないんですね。 

—度作ってみるとわかるのですが,たと 
えば友だちにラジオを見せたとしますね。 

2人でそれを囲んで,アンテナをつなぎ, 
電源を入れる。息をころしながら,じっと 
侍っていると,じわ一っと音が出て〈るの 
と,電池が入っていてほらと手渡してパチ 
ンとスイッチを入れるといきなり大きな音 
がでて〈るというのでは,やはり大きな違 
いがあると思うんですが,それが一度も作 
ったことのない人にはなかなか伝わらない。 
むきになって,いかに真空管のヒーターが 
美しいものか,じっと見ているのがいかに 
楽しいものであるかを説明してみてもせい 
ぜい「マニアで すね」 とか「ロマンチスト 
ですね」で終わりですから,こちらとして 
も張り合いがない。何度か繰り返している 
うちに結局,ニンマリ笑うだけにして終わ 
りにしてしまうようになるんで すね。 真空 
管がトランジスタになり, 1 C となっていく 
うちに,自作というのがだんだんと流行ら 
なくなってしまったようです。トランジス 
夕や 1 C には真空管のヒーターから感じられ 
たムードがないからじやないかなんて思い 
ます。 

もちろん,自作の衰退には,売っている 
ものがあまりにも多機能,高性能でしかも 
安くなってしまったために,自分の手で作 
ることの意味が作るプロセスを楽しむだけ 
で終わってしまうようになったことも挙げ 
られるでしよう。妙に現実的ですが,これ 
もまた大きな要因といえるでしよう。やは 
り作ったものに利点が少なくては面白くな 
いわけです。買ったほうが安くついてしま 
うというだけでなく,なにも勝る部分がな 
い, マネ すらできないというのは つらい と 
ころです。 

「自作」ということだけでもなんとか価値 
を認めてくれる仲間の場としては,いまで 


もそうですが アマ チ 
ュア無線が最右翼で 
したね。オーディオ 
マニア もいるのです 
が',あちらはどうも 
高級志向というんで 
すか,金に糸目はつ 
けないというお金持 
ちの人が多くて,た 
だ自作したというだ 
けですとあまり評価 
してもらえないよう 
な感じが私はしまし 
たね。自作派の アマ 
チュア無線家と称される人はだいたい,ジ 
ヤンク屋をまわったりしながら,ごそごそ 
と活動してたわけです。 

デジタル回路とアナログ回路 

さて,やや沈みがちだった自作派を活性 
化させたイベントカ ? ,マイコンの登場でし 
た0最初に大きなブームとなったのが,か 
の有名な TK -80 という日本電気が発売した 
ワンボードマイコンです。内容的には,あ 
〈までも評価用ボードとしての性格が強い 
ものでして,どうひいきめに見てもとうて 
い「商品」と呼べるような代物ではなかっ 
たですね。ただ,それゆえ,アマチュアが 
登場する場があったということは評価しな 
くてはならないでしよう。 

部品の絶対数も数えるほどしかなく,特 
殊な部品もありません。ですから,自作し 
て評価用ボードを越えるものにすることも 
割と容易でしたし,しかも時代の先端であ 
る 「コンピュータ」 を自分の手にできると 
いうことで刺激された自作派は多かったは 
ずです。 

当時のマイコンに飛びついた人のなかに, 
かなりの割合でアマチュア無線家がいたと 
いうことがそれを裏づけているように思い 
ます。アマチュア無線の世界でも,メーカ 
一の無線機が主流となり,もう自作の時代 
ではないなどといわれて久しくなっていま 
したが,自作派は細々としかも,しっかり 
と息づいていたわけです。 

ただ,マイコンの回路は,多くの自作派 
が長いあいだ親しんできたものとはかなり 
イメー ジの違うものでした。それまで馴染 
みだったラジオや無線機,あるいはオーデ 
ィオアンプといマたものがアナログ回路で 
あったのに対し,マイコンはデジタル回路 
と呼ばれるものだったのです。 

当時のアマチュア無線では大部分をトラ 


ンジスタで組んでいましたが,高出力が必 
要な部分では真空管を使ったり,と思うと 
ジャンクで見つけた 1 C なども使ったりと結 
構 バラエティに 富んでいたんですね。それ 
が,マイコンなどに使われる 1 C となると様 
子が少々違っているわけです。 

マイコン, つまりデジタル回路の場合, 
回路図を見ても,いくつかの 1 C が単に線で 
つながっているだけで, コンデンサ はおろ 
か高周波回路でお馴染みの コイル すらあり 
ません。抵抗も信号の流れのなかに入り込 
むことはほとんどなくて,まるでブロック 
図か'そのまま回路図になっているように見 
えるのです。 

私が初めてマイコンの回路図を目にした 
ときの第一印象は「プラモデルみたいだ」 
でした。やれインピーダンスだ,バイアス 
だ,回り込み, M 結合だ,アースの引き回 
しだと,まあ部品をなだめすかしながら設 
計していくという側面がアナログ回路には 
あるわけです力す,それがデジタル回路にな 
ると何もないわけです。ほとんど何も考え 
ずにつなぐだけで動くデジタル回路はまさ 
に接着剤とシールだけで組み立てるプラモ 
デルというイメー ジでしたね。自作派の無 
線家連中なら工具一式も持っていますし, 
TK -80 程度の回路なら,口笛吹きながら作 
れてしまうわけです。 

私もそうやって自分で回路図を引いて部 
品を買い集めて作った一人でしたが,作っ 
ていてもどうも電子回路らしくなくって, 
落ちつかないんですね。しかし,考えてみ 
ますと,デジタル 1 C であるとはいっても, 
その中身はトランジスタの集まりであるこ 
とに変わりないわけです。いくら「デジタ 
ル」といっても,電気というもの自体がア 
ナログ量ですから完全にデジタルで動作す 
るものであるはずはないわけです。 

デジタル ic とは 

ちょっとむずかしそうな言葉を使います 
と,デジタル 1 C というのは結局,トランジ 
スタの増幅器として使われる範囲外である, 
鮑和領域と遮断領域を使っているわけです。 
遮断領域というのは,その名のとおり,卜 
ランジスタのコレクタ電流が流れない領域 
でスイッチでいうなら OFF , 飽和領域とい 
うのはベース電流をそれ以上にしてもコレ 
クタ電流が増加できない領域でして,スイ 
ッチなら ON 状態なわけです。 

この両極端の状態を往復させて使うわけ 
ですが,どんなにクッキリと変化させよう 
としても,その中間ではどうしてもアナロ 


特集禁断の石の物語 109 







グ的な動きが見られるわけです。理想的な 
デジタル回路があるとすれば,遅れ時間が 
0,出力が変化するときには,無限大の電 
流が流せ,しかも電線の抵抗も0というこ 
とになるのでしよう力夂そんなことは絶対 
にないですね。 

たとえば,一般的に TTL と呼ばれる 1 C 
ですが,これはひとっの出力に10個までっな 
げますと一般的にはいわれています。では, 
それなら11個なら絶対動かないのか,9個 
ならどんな条件でも大丈夫なのかといわれ 
れば,そんなことはないわけです。カタロ 
ダでの数値も,どの程度の負荷を与えたと 
きに最悪でもこのくらいは保証しますとか, 
入力がこの電圧以上なら1とします,これ 
以下なら〇としますといったことが決めら 
れているわけです。 

要は,この条件なら1とします。0とし 
ますということを決めて,その範囲で動か 
すようにすればそれでデジタル 1 C にできる 
わけです。あまり勝手な決め方をしていて 
は周りが迷惑するだけです。 

しかし一方,トランジスタの種別や回路 
方式によって作りやすいレベルというもの 
もあるわけです。 

だいたい,コンピュータでよ〈使われる 
ものは TTL レベル, C—MOS レベルの 2 つ 
が多くて,ほとんどはそれに準じています。 


特に高速を目指すようなところでは ECL と 
呼ばれるものが使われていて,一般的なも 
のに比べて10倍から100倍くらいの高速動 
作ができるのですが,これがマイナスの電 
源が必要だったりと,特殊すぎるのが難点 
で,パソコンレベルで 使われることはあま 
りないですね。 

TTL から C - MOS へ 

TTL と C - MOS の違いというのは,専門 
用語風にいうなら■製造プロセスの違いとい 
うことなんです力 ? ,要するに使っている卜 
ランジスタの動作原理が違うわけです 。 T 
TL の中で使われているトランジスタは, 
技術科の教科書に出てくるような,一般的 
なバイポーラトランジスタと呼ばれるもの 
で,ベース電流をほんの少し変化させると 
コレクタ電流が大きく変わるというもので 
す。一方, C - MOS の場合では, FET , フ 

イールド•エフェクト.トランジスタとい 
うもので,日本語では電界効果トランジス 
夕なんて直訳したりするんですが,それを 
使っているわけです。 

この FET というのは,電子の通り道に電 
界をかけて,その道幅を変えてやるといっ 
た方法で動きます。そのようなわけもあっ 
て力、,パ、イポーラトランジスタのベースに 


図1 トランジスタのスイッチング 


コレクタ 

電流 



スイッチ OFF スイッチ ON 


相当する部分は,「ゲート」と呼ばれていま 
す。 FET はゲートによって抵抗値を変える 
ように動くわけです。しかもこの制御には 
電界があればよいのですから理論的に電流 
が流れる必要はないんですね。このあたり 
の動作原理は真空管と似ていまして,実際 
に測定してもよく似た特性を示すのがまた 
FET の面白いところです。 

さて,話を戻しますと,バイポーラ•卜 
ランジスタはいわば電流動作でして,どう 
あがいても,ベースやコレクタに電流を流 


古きよき時代の工作少年 


憧れの工作キット 

じっと,真空管のヒーターの明かりを見つ 
めているのが好きなラジオ少年やその予備軍 
の少年たちにとって,その明かりを自分の手 
で生み出すことができるラジオの組み立ては, 
憧れの的だったんですね。愛読していたのは 
『子供の科学』や『初歩のラジオ』。その最後の 
色のページにいつもあった神田の科学教材社 
の広告では,いろいろな模型などと混ざって, 
ラジオの部品一式を集めて,鉄板やアルミの 
箱に穴をあけたものと一緒にしたラジオのキ 
ットがたくさん載っているわけです。また, 
その売り文句が「キミにもできる」のような 
書き方ではなくて,「発売以来,5球スーパー 
としては予想以上の感度であると好評をいた 
だいております5球スーパーのキットです」 
といった具合なんですね。今にして思えば, 
ですます調の文句が,ちょっぴり大人扱いさ 
れているようで,そそられるものがあったわ 
けです。 

真空管自体も高価でしたから,たとえ丨球 
ラジオ(つまり真空管を丨本しか使っていな 
いラジオ)であっても,小学生のお小遣い程 
度ではなかなか手が出せません。それでもク 
リスマスとお正月という2大イベントがあり, 


なんとかなりそうな現金が手に入ると,高嶺 
の花も花屋のかすみ草くらいにはなってくれ 
るんですね。そして,ひょっとしてこのラジ 
才代を狙ってくるやつがいるんじやないかな 
んて本気で心配しながら,しっかとカバンを 
押さえつけ秋葉原へと行くわけです。 

ちょっと狭くて薄暗い店の中では,常連ら 
しき人たちがぼそぼそと何かむずかしそうな 
話をしていたものです。そんななかで,ちょ 
っと勇気を出して「〇〇のキットください」 
と言うわけですが,「ハイ」と言われてからキ 
ットの箱がくるまでの時間がすごく長く感じ 
るんですね。そしてやっとキットが来て,手 
にすると不思議と軽いんです。 

真空管の場合,家庭の ACI 00 V から数百ボ 
ルトという電圧を作るためにトランスが使わ 
れるわけですが,このトランスというのは銅 
と鉄の塊みたいなものですから,小型のもの 
であってもかなり重たいものです。しかもシ 
ヤーシと呼ばれるラジオの箱も,アルミより 
も鉄板の場合が多かったですから,それがま 
た結構な重さがある。それらが一緒になって 
キットの箱のなかにあるのですから,実際に 
は重たくて当然なのですが,浮かれたような 
状態で持ちますからあまり重いと感じなかっ 
たのでしよう。 


電車に乗って箱をみると,その包み紙とい 
うのがデパートの包装紙のようなものではな 
くて,その店で売っている模型やらラジオや 
らの設計図の断片がちりばめてあるという, 
実にマニアックなものなんですね。その設計 
図をじっと見ていると,自分が買ったキット 
の回路図があったりするんですね。すると, 
また嬉しくて,その回路図で信号の流れを指 
で追ってみたり,選局用のバリコンのところ 
などは指で回すしぐさをしてみたりしてしま 
ったりしましたね。 

八ードエ作は時空を曲げる7 

家にたどりつくとこれがまた大変でして, 
しばらくは自分の寝る場所もないくらい,部 
品やらなんやらを部屋にちりばめて,本当に 
寝食を忘れて,とりつかれたように組み立て 
に入るんですね。母親のご飯ですよなんて言 
葉も,ほとんど雑音にしか聞こえない。なん 
で,人間は飯なんてくわなきゃいけないんだ, 
なんて真剣に思ったりしましたね。 

組み立てに慣れていないのに,早く仕上げ 
たい一心で説明書なんてろくに読みもしない 
で組み立て始めてしまうんです。おかげで余 
計に時間がかかったりもするのですが,組み 
立てている間はほとんど時間の経過というも 


110 Oh! X 1989.1. 












さないことには動きようがありませんでし 
た。しかし FET は電圧動作で,出力は抵抗 
値が変化するようなものですから,それを 
受ける側が電圧動作をしてくれれば,電流 
などはほとんど流す必要がない,つまり低 
消費電力が期侍できるわけです。 

1 C というのは,ちょっと考えただけでも 
おわかりのように,非常に細かく作ってあ 
るために,熱が逃げにくいんですね。デジ 
.タル 1 C は,ものを持ち上げるといったよう 
な物理的な仕事はせいぜいリード線を熱膨 
張させる程度のもので,ほとんどなにもし 
ていませんから,消費電力のほとんどは熱 
に変わるわけです。おかげでちょっとトラ 
ンジスタを詰め込んだりするとすぐに触っ 
ていられないくらい熱くなりそうになって 
しまう。ですから,低消費電力化というの 
は,集積度を上げるための大事なステップ 
なわけです。その切り札として C - MOS は 
とても有効な手段だったんですね。 

C-MOS では,少なくとも静的な状態で 
はまったくといってよいほど電流を流す必要 
がなくて,バイポーラよりも 2 桁から 4 桁 
以上小さく,しかもスイッチとして使った 
ときの ON 抵抗が非常に小さいということ 
から,注目されたのですね。 

ところが,この C-MOS というのもよい 
ことずくめではなくて,電流こそ食わない 


のですが接合点に結構なコンデンサが形成 
されてしまうんです。 FET の宿命ともいえ 
るんですが,電界あるところにコンデンサ 
( キャパシタンス) ありというわけです。こ 
の形成されたコンデンサが,入力に並列に 
接続されたよ q になってきます。 

先ほども述べましたとおり,デジタル I 
C といえどもアナログから足を洗うことは 
できないわけでして,入力に並列にコンデ 
ンサがあれば,しっかりと積分回路が形成 
されて, 0から1,1から0といった変化 
が入ってきてもそれがなまってしまうわけ 
です。これが,動作の遅れに手を貸すこと 
になってしまうために,たとえば TTL な 
ら 20ns くらいで 0 から 1 に変化してくれた 
のが, C-MOS のデジタル 1C では 100ns か 
ら 200ns もかかるといったことになってい 
たわけです。 

これを改善するには,全体を物理的に小 
さくしてしまうこと,すなわち微細加工技 
術によるほかないわけです。が,これがな 
かなか大変でして,一般的に使われるよう 
になるにはしばらく時間がかかりました。 

今では C-MOS の速度も高速になりまし 
た。たとえば,今回のハードウェアエ作編 
でも使われている 74HC シリーズなどはま 
ぎれもなく C-MOS ですが,速度や出力な 
どでは一般的な TTL である 74LS シリーズ 


に負けていません。そればかりか, H レべ 
ル出力は圧倒的に大きくとれ,それでいて 
入力にはほとんど電流が流れませんから, 
ひとつの出力にたくさんの 1 C をつないでもそ 
れほど負荷にならないというわけで非常に 
優秀です。 

カスタム LSI の代表であるゲートアレイ 
などでは, C-MOS でもゲート遅れが Ins 
以下なんていうのが当たり前の顔でのさば 
っていますし, 68030 や 80386 などの 32 ビッ 
卜 CPU では C-MOS が当然となっています。 
もう, C-MOS は遅いというのは当てはま 
らない世界です。 

ところで,先ほども触れましたが, C-MO 
S のデジタル 1C の中心をなしている FET の 
動作は真空管とよく似ているわけです。真 
空管が,真空中を飛ぶ電子を コントロール 
していたのに対して, FET では半導体の中 
を通る電子を コントロールす るわけです0 
いわば「固体真空管」 と も呼べそうな FET 
が マイクロ プロ セッサ 最先端で主流 となっ 
ていることに,真空管の : /イ共が活躍してい 
る姿を見るような感じをもつのは私だけで 
しょうか。 

ともあれ,ハードエ作の楽しみが,皆さ 
んの石との結びつきとなって,次の世代の 
石の話を生むことになると,ひそかに期待 
しています。 


のがわからなくなってしまうんですね。人間 
にとって時間というのはものごとの変化で捕 
らえられるものなんですね。好きな番組が始 
まる,終わる,日が昇り,沈み,星が出て, 
時計が回るわけで,それを取り払ってしまう 
と,時間というのは実際に停止するのではな 
いかと思えます。 

組み立てをしているときに確実なことは, 
それまで広告の写真でしかなかったものが, 
実際の部品として自分の目の前に現れ,それ 
がしだいに写真のものと同じラジオとなって 
いく過程を一歩一歩と上っていくこと,それ 
しかないですね。ところが,その動きは非常 
にゆっくりなわけです。シャーシをネジ止め 
して組み立てているときは素早く形になって 
いきますが,裏の部品のハンダづけは外観に 
はまったく影響せず,時間をかけている割に 
はあまり進んでいないように思える。時間の 
経過が遅くなったように感じるわけです。こ 
れが後半になるほど顕著になるんですね。つ 
まり,組み立て始めてから段々と時間の経過 
が遅くなっていくように思えるわけで,これ 
がラジオ組み立てにのめり込ませる魔力のひ 
とつではないかとも思います。 

感動の瞬間 

最後の部品を取り付け,最後の丨本の配線 
をすませると,全身の血が頭に上っていくよ 
うです。「組み上がったら,はやる気持ちを抑 


えて配線チェックをしましよう」などと説明 
書には書いてあるのですが,そんなことがで 
きるのは冷めてしまった大人だけ。実際には 
とてもそんな余裕を持った心であるはずがあ 
りません。なんとか気を落ち着かせて配線チ 
ェックをしてみようとしても,深呼吸すら断 
続してしまうような状態ですから,回路図を 
追い掛ける手も震えてきてしまいます。 

ヒユーズをヒユーズ•ホルターに入れ,震 
える手でコンセントにプラグを差し込みます。 
電源スイッチに手をかけると,ガチンという 
音をシャーシに響かせて,あとは息もできず, 
真空管のヒーターだけをじっと見つめます。 
これまで見ていたヒーターと比べて,赤くな 
るのがずっと遅いような気がします。そして, 
じっと温まってきたころを見計らってボリユ 
—ムを回していくとザラザラとかすかな音が 
します。そして,再生量調整をそろそろと回 
していくと雑音が急に増えていきます。再生 
方式では高感度を得るために真空管を発振す 
れすれで使うため,あるところまでいくとギ 
ャーと発振するのですが,最初はその感触が 
つかめず,何度かギャーギャーととんでもな 
く大きい音を立てることになります。そして 
感触をつかむと,こんどは選局用のバリコン 
を回していきます。すると,途中で「ひよ!」 
となにか聞こえます。そろっと戻すと^•こ 
の時間がまたとてつもなく長く感じるのです 
けれど——人の声が聞こえてきます。何を話 


しているかなど関係ありません。すべてが神 
の声のように聞こえてきます。この瞬間,張 
り詰めた気持ちは吹き飛ばされ,全身の力が 
抜け落ち,頭に上っていた血の全てはなくな 
り,空っぽになった,虚脱感だけの世界です。 
そのうち,親から「うるさい! 何時だと思 
ってんの!」のひと言で我にかえるわけです。 

こうして作ったラジオは,自身の満足はも 
ちろんのことですし,見かけは悪くても自作 
となれば友だちも一目おいてくれました。回 
路図を前にして,かじりかけの専門用語を並 
ベ,やや気取った会話をする同じ趣味の者同 
士のなかでも,ちょっとよい気分が味わえた 
のを覚えています。 



特集禁断の石の物語 Hi 










特集い$なつ动 i から八ードウ i ァ 


八ードウェアエ作編 


初歩からの電子工作 


電子サイコロを作ろう 


Suzuki Nopio 

鈴木典雄 


それではデジタル回路の実践編に入りましょう。まずは簡単なところから, 1 C を2個使っ 
て発振回路とカウンタで電子サイコロを作ります0アルゴリズムに従ってゲートを組み合 
わせていく過程をじつくりとご覧ください0 


今年も MOS 1 C には辛い季節がやってき 
ました。乾燥した部屋で金属の部分に触れ 
るとピリツと衝撃が走ります。そう,こい 
つが MOS 1 C の天敵,静電気です。 LSI は熱 
に 弱い とか MOS 1 C は静電気に 弱い といっ 
た通説があります力 5 ',最近の MOS は保護 
回路が入っていたりと結構丈夫にできてい 
ますので怖がらずに電子工作にチヤレンジ 
してみてください。ここでは工作の入門と 
して,電子サイコロを作ってみることにし 
ます。先月号の ROGUE スゴロクにでも使 
ってください。 

さて,デジタル回路でサイコロを作ると 
いうと数字で表示する,というものになり 
やすいのですが,それではあまりに能がな 
いので LED (発光ダイオード)でサイコロ 

図1全回路図 

IC1 4093 


の目を表示させてみましよう。ついでに目 
が変わるごとに“ピッピッピッ”と音を出 
すようにしましよう。 

1 C 2個でできますので部品代もたいして 
かかりませんし,特殊なパーツも使用しま 
せん。これからハードエ作の入門をしてい 
こうという方でも簡単に作れると思います。 
ハードは初めてという方もとりあえず,こ 
れを機会に工作に惯れておいてください。 

まずは回路説明 

回路を設計していくのはプログラミング 
の過程にも似ており,工作自体はプラモデ 
ルを作るようなものです。デジタル回路は 
配線を間違えなければたいてい動いてしま 
いますが,どうして動い 
ているのかを理解せずエ 
作だけをやっていても成 
長はありません。できる 
だけ詳し〈解説しますの 
でじっくりと回路図を追 
ってみてください。 

まずは動作原理から。 
サイコロ というと乱数の 
発生回路が必要になるよ 
うに思われますが,実際 
の サイコロを 見ても サイ 
コロ自体にはなんの細工 
もなく乱数的な要素は含 
まれていません。 サイコ 
口を投げる人間の動きに 
乱数の要素が含まれてい 
るのです。そこで人間の 
行動を乱数発生器として 
考えれば, サイコロの 動 
作は非常に簡単なもので 
すみます。 

具体的に考えてみまし 
よう。 サイコロ は順繰り 
に数字の目を表示するだ 
けでも,人間がスイッチ 
を操作するタイミングに 
よって目を決定すれば十 



分にランダムな値が得られそうですね。必 
要なのは次々に目を変えること,そして必 
要なときにそれを止めることとなります。 

シュミットトリガにょる発振回路 

サイコロの目を動かす原動力となるのは 
一定の周期で信号の ON / OFF を繰り返す発 
振回路と呼ばれるものです。デジタル的な 
発振回路にはふつうのインバータを使った 
マルチパ、 イ ブレー タと シュミット トリガゲ 
一卜を用いたものがありますが,ここでは 
ゲート 数が少ない後者を使います。すでに 
「マルチパ、 イ ブレー タとはなんぞ や」, 「しゅ 
みっととりがげ一とってなんれ しゅか」 と 
いう 方 もいると思います 0 マルチ バイ ブレ 
—夕はおいといて, シュミット トリガ ゲー 
卜だけ説明しましよう。 

シュミット トリガゲートというのはヒス 
テリシス特性を持ったゲートのことです。 
デジタル回路では電圧や電流の量がある一 
定の値を越えているかどうかで0と1の2 
つの状態を表しますが,ヒステリシス特 tt 
というのは,たとえば図2のような回路を 
組んでボリュームで 0 V から電圧をあげてい 
ったときと,最大電圧から徐々に弱くして 
いったときとで状態変化する点が異なると 
いうことを意味します。こういった特性を 
持つゲートはゲートの中に及を書いて表現 
されます。 

図3を見てください。このゲートの入力 
端子にはコンデンサと抵抗がつながってい 
ます。コンデンサは放電した状態なので両 
端の電圧は 0 V です。このゲートの入力は 
コンデンサの両端の電圧となりますので, 



Oh! X 1989.1. 
































当然ゲートの入力は Low となり,このゲー 
卜は(インバータなので) High の出力を出 
すことになります。この出力は再び抵抗を 
通して入力に戻っていますね。この電流は 
少しずつ コンデンサに 充電され, コンデン 
サ両端の電圧は上昇していきます。そして 
電圧が a 点を越えたとき,ゲートの出力は 
反転し今度は出力端子に向かって放電が始 
まります。そして b 点まで〈るとまた反転 
し,先ほどの状態に戻ります。以後はこれ 
をずっと繰り返し,このゲートから外部へ 
の出力は見事に発振しているというわけで 
す。 

次にこの発振を制御することを考えてみ 
ましよう。図4 ( A ) は図3にダイオードを 
ぶら下げたものです。 ( A ) でダイオードの 
左側を High にしてみましよう。左からの電 
流はゲートの入力へ流れようとしますが, 
一方通行のダイオードでせき止められ,結局 
ゲートは図3のときと同じ動作をしますね。 
今度はダイオードの左端を Low にします。 
するとダイオードの右端のほうの電位が高 
くなって電流の向きが変わり,ゲートへの 
入力はみんな外へ逃げてしまいます。よっ 
て発振は停止します。 ( A りはダ'イオードの 
向きを逆にしたもので,これとは発振の条 
件が逆転しています。理由については自分 
で考えてみてください。 

いまの説明では強引にダイオードで発振 
を止めていました 力す, ( B ) はもう少しスマ 
一 卜です0インバータの代わりに ヒス テリ 
シス特性を持った NAND ゲートを用い,ひ 
とつの端子を制御入力として使っています。 
NAND ゲートの真理表を思い出してくださ 
い。ここでひとつの入力を High に固定し 
てやるとこのゲートはインバーダと同じ働 
きをします。また, Low に固定すると,も 
う一方がどんな電位であろうとゲートの出 
力は High のまま変わりません。つまり,制 
御入力の High / Low によって発振が制御で 
きるのです。 

これで発振自体の制御はできましたが, 
さらに発振の周波数を制御することを考え 
てみましよう。一般にこのような発振回路 
は抵抗と コンデンサのバランスで 周波数が 
決定されています。たとえば コンデンサの 
容量を大きくしたり,抵抗の値を大きくす 
ると コンデンサの 充電は遅くなり周波数が 
下がっていくわけです。要は コンデンサの 
充/放電速度によって周波数が決まっている 
のですから,なんらかの原因でゲートの入 
力電圧が変化すると周波数を変えることが 
できます。 

図5を見てください。ここではゲートか 


図2 'の意味 


図3 シュミットトリガゲートによる発振回路 



40106, 4584, LSI 4など 


Vout 




— ► ——入力電圧を上げていったとき 
——卜---入力電圧を下げていったとき 

-普通のゲート 

(4069, LS 04 など) 





図5 周波数の制御 



らの出力はダイオードでせき止められ,入力 
側には回ってきません。ではどうやってコ 
ンデンサを充電するのかというと, Vin と 
いう端子から電流をもらっています。つま 
り Vin の電圧で周波数が制御できるわけで 
す。ゲートの入力端子の電圧が上がって出 
力が Low になるとコンデンサに溜まった電 
気はダイオードを通して一気に放電します。 
したがってこの回路の出力は図のように L 
ow の期間が非常に短くなります。また ,V 
in の電圧が下がるとやがては発振も停止し 
ます。 

ここで図1を見てみましよう。 IC 1 の ( B ) 
部分はもうわかりましたね。この出力はブ 
ザ ーにつな がっています。 ( A ) の回路は図 
5と同じ機能のものですが Low の期間を長 
くするため抵抗が入れてあります。スター 
トスイツチを押すとコンデンサ C 1 に充電 


され,発振が始まります0スイッチを離し 
てもコンデンサの放電は続き,発振は数秒 
間継続しますが,コンデンサからの電圧は 
徐々に下がっていきますので発振周波数は 
だんだん低下し,ついには停止します。な 
お, ( D ) の回路は発振が終わったときブザ 
—も停止するように入れてあります。 

目の法則を考える 

発振ができたら次は目の表示です。図6 
をじっくり見ていると2 つの 法則に気づく 
と思います。まず,真ん中の LED は数字がひ 
とつ進むたびに点いたり消えたりを繰り返 
しています。もうひとつ,まわりの LED は 
必ず2つずつの組みになって点滅します。 
こういった LED の動作を実現するのが D フ 
リ ッフ。フロップ であり, シフトレジスタな 


特集電子サイコロを作ろう 113 

















































リセットの条件 
•7 の目’’を検出する 


クロック入力一 

>CK Q 

D 入力- 

D Q 


一 Q 出力 

Q 出力の 
反転 



図10リセット回路 


Clock 


>CK Q 
D J 


厂 


④ 


b が点いている 




⑧ 


⑥ 


bC が点いている 


© ⑥ 
® © 


bed が点いている 


図9 シフトレジスタ 


} CK R 4015⑻ 

Ql Q2 Q3 〇 4 _ 


1111 

⑪同じ 


Reset 


D R Q 

>CK 


CK - 


D R Q 

>CK 


Qi 


Q 2 


Q3 


Q ‘》 


D r Q 

>CK 


D R Q 

>CK 



CK 

D 一 

R L 

Qi - 

Q 2 - 

Q 3 - 

Q 4 - 


n 


T _ J ~ 


t~l 







a が点いている 


のです。 

図7を見てください。 D フリップフロッ 
プはクロックがきたとき D 入力の信号を Q 
出力に転送する働きを持っています。クロ 
ックがきたという表現を使いましたが, 1 C 
の番号によってどのような状態をクロック 
がきたかとみなすかに違いがあります。一 
般的にはエッジトリガといって信号が' Low 
から High に立ち上がったとき(ポジティブ 
エッジ)や High から Low に変わったとき 
(ネガティブエッジ)をトリガ(弓 I き金)とし 
ているものが多いのです。 CK 端子につい 
ている [> マークはエッジトリガの意味です。 
つまりポジティブエッジトリガの D フリッ 
プフロップはクロックが Low から High に 
変わったとき D への入力を Q へ出力する, 
ということになります。ちなみに$には Q 
と逆の信号が出力されます。 

ここで図8のように配線したらどうなる 
でしようか。クロックが立ち上がった瞬問 

図6 サイコロの目の変わり方 


に D 入力が変化してしまうのでうまく動か 
ないような感じをうけます力 ? ,実際には拡 
大図のように信号の伝達に時間がかかるの 
で(伝達時間: tpd = propagation delay ti 
me) きちんと動作します。この回路の動作 
はクロックがくるたびに Q を Q に出力する, 
つまり High と Low が交互に繰り返される 
ことになります。ここに LED をつなげば最 
初の法則が実現できることになります。 

醒シフトレジスタを使3と 

次の法則にはシフトレジスタがぴったり 
です0シフトレジスタとは D フリ ッフ 。フロ 
ップを複数個つなげた構造をしているもの 
です0今回使っている401 5 はシリアルイン 
• ハ。ラレルアウトの4ビットシフトレジス 
夕と呼ばれるものです。図9を見てください。 
まず,リセットが High ならばすベての出力 
は Low になります。リセットカ ? Low ならば, 

図7 D フリップフロップ 


次のクロックで D の入力が Q 】に転送され, 
また次のクロックでそれが Q 2 へとどんどん 
次のフリップフロップ につな がっていきま 
す。それと同時にまた新しい D 入力が現れ 
ます。ちょっと考えると, Qi から Q 4 まで全 
部 D 入力が出てしまいそうです力%先ほど 
の tpd のおかげでそうはなりません。 

このようにひとつ入力があるたび出力が 
ある方向に移っていく (シフトする)ので 
シフトレジスタというのです。また,レジ 
スタですから,なにもなければず一っと同 
じ状態のままでいます。さて,ここで D 入 
力を High に固定してやるとどうなるでしょ 
うか。もうおわかりでしよう。クロックカす 
入るたびに High である出力が増えていきま 
す。そしてクロックをさっきの$からとれ 
ば真ん中の LED が消えたとき,ひとつずつ 
進むことになります。これで目的は達成さ 
れました。 

ただし,このままでは6の目が出たあと 

図8 D と Q をつなぐ 


a が点かない 


>CK Q 
D Q 


D R 
>CK 

Ql 〇2 〇3 


時間軸方向を 
拡大 


⑥ 


⑥ 


⑥ © 

© ⑥ 


⑥⑥ © 
⑥⑥ ® 


ll4 Oh ! X 1989.1. 





















































































図 11 シフトレジスタをフリップフロップにする 


図12ダイオードと抵抗による AND ゲート 



Q と同じ Q と同じ 


は7の目が出てしまいま 
すから,これを防止する 
回路を加えます。どんな 
とき7になるかというと, 
それは a , b , c , d すベて 
が High のときですが,回 
路が定常状態の場合 , d 
が High なら b , c は絶対に 
High となっていますから, 
結局 a と d が High のと 
きが7の目ということに 
なります。したがって a 
と d の AND をとってリ 
セットに加えるという論 
理回路をつけ加えてやり 
ます。 

では7の目で止まって 
しまったらどうなるので 
しようか。このときはリ 
セットがかかり,結局1 
の目になって一件落着す 
るわけです。 

これで必要な回路は揃 
いました。回路図を読ん 
で流れを追ってみてくだ 
さい。注意点としては, 


表1 部品リスト(参考価格) 


パーツリスト 

個数 

単価 (1 

1 C : 4015 

1 

95 

4093 

1 

55 

抵抗: P 型力ーボン 


10 

IOkQ 

3 


l 5 kQ 

1 


27 k Q 

2 


5 lkQ 

2 


l 30 kQ 

1 


コンデンサ 
電解 I^F 

1 

15 

10 /zF 

1 

15 

マイラー 0.01 /zF 

1 

15 

セラミック 0.0 I//F 

1 

15 

LED 赤色丸型 

7 

25 

ダイオード ISI 588 

2 

20 

電池スナップ 

1 

30 

電池 006 P 9 V 

1 

180 

スイッチ:プッシュ ON 1 

100 

オルタネー 

卜1 

200 

基板 ICB -88 

1 

90 

ケース 

1 

300 

アクリル板 

1 

300 

圧電素子 

1 

50 

スズメツキ線 

少々 


配線材 

少々 


スぺ—サ—1 5 mm ^ 20 mm 4 

20 


=C> 



図13部品の見分け方 

抵抗 • コンデンサ .1 C など 


, 1 \ 


0 1 

1 

1 \ 

1 1- ' 

I 0 1 



\ mm 

10° 


指数 


例,左から茶•黒•柿•金のとき 
103誤差5 % 

010 x |〇 3 即ち IOkQ 5 % 




カラー 

数値 

黒 

0 

茶 

1 

赤 

2 

柿 

3 

黄 

4 

緑 

5 

青 

6 

紫 

7 

灰 

8 

白 

9 

金 

銀 

5% 

10% 



4015という石には2個のシフトレジスタが 
入っているのですがシフトレジスタはひと 
つしか使いません。そこで余ったもうひと 
つのシフトレジスタをフリップフロッフ。と 
して使っています(もともとフリップフロ 


の動きを書き入れてありますので,皆さん 
で回路を読んでみてください。 

製作編一まず部品から 


いう数字が入っていますので,お店の人に 
“しいもすのよんまるいちご ( C - MOS の40 
15)” といえば通じるはずです。 

コンデンサ 

電解コンデンサは耐圧 16 V 以上なら OK 


ツプでできているのですから)。問題は Q の 
出力がないということです力%なければ作 
ってやればよいのです。ふつう G には Q を 
引っくり返した値が出ていますから,イン 
バータで Q の値を引っくり返してやります。 
図11のような回路を組んだとき定常状態で 
は豆7= Q 2 となっていますが,だからとい 
って Q 2 を$の代わりに使って D につない 
ではいけません。なぜでしよう。考えてみ 
てください。 

もうひとつ,回路図には AND ゲートが 
見当たりません。これは図12のように抵抗 
とダイオードで置き換えられているからで 
す。図に各入力が High / Low のときの電流 


お侍たせしました。それでは製作に取り 
かかりましょう。まずは部品集めからです。 
特殊なものはないので近くにパーツ屋さん 
があればだいたい揃います。近くに パーツ 
屋さんがなければ通信販売を利用するとい 
う手もあります。秋葉原の秋月電子,ヒロ 
セ無線などは通販もやっているはずですか 
ら『トラ技』の広告などを参照して問い合 
わせてみてください。 

1C 

4015,4093ともにどこのメーカーのもの 
でもかまいません。たとえば,モトローラ 
なら MC 14015 B , 日立なら HD 14015 B , 東 
芝は TC 4015 B というぐあいに型番に4015と 


ですが,あまり大きいと形も大きく値段も 
はるのでなるべく小さいほうがよいでしよ 
ラ。 

抵抗 

1/4 W の P 型カーボン被膜抵抗器です。1 
本5円くらいからありますが,まとめて買 
うと100本100円とかで売っていることもあ 
りますので,電子工作をやっていこうとい 
う人はよく使いそうなものはまとめて買っ 
ておくとよいでしよう。 

LED 

なんでもいいのですが,サイコロの目は 
ふつう丸いので丸型のものを買ってくださ 
い。あまり大きいと 1 C とぶつかりますので 


特集電子サイコロを作ろう 115 























































図 14 端子表 


6 

VSS7 - 


:] 




4VDD 

3 


2-i 


CLOCK 

〇4 

〇3 3 
〇7 4 
Qi 5 
CLEAR 6 
DATA 
VSS 8- 


FTH : 


6 V DD 



0 Q 4 


4093 


4015 


図 15 実体配線図 



基板(上から見た図) 

(回路図と LED — 抵抗の位置関係が多少違っていますが,電気的には同じです) 


GL 5 PR 5 くらいまでのものを揃えてくださ 

い0 

ダィォード 

シリコンのスイッチングダイオードです0 

圧電素子 

ブザー用のもので発振冋路を内蔵してい 
ないものを選びます。薄っぺらくて丸い形 
をしています。 

1 C ソケット 

なくても人 dL 夫ですが,ハードに自信の 
ない人は必ず使ってください。できるだけ 
背の低いものを選びます。 

基板 

サンハヤトの ICB -88 を使いましたが,ほ 
かのものでもかまいません。 1 C ピッチのも 
ので15 X 20 U あれば-1 •分です。 

スイッチ 

プッシュスイッチは押すと ON になるも 
のです。世の中ひねくれものもあり,押す 


と OFF になるタイプもありますので注意し 
ます0あと,オルタネートといって一度押 
すと ON , もう一度押すと OFF になるもの 
もありますがそれも避けたほうがよいでし 
よう。電源スイツチはトグルでもスライド 
でもなんでもいいです。 

ケース 

基板が入り,なお少し余裕があるものが 
いいでしよう0プラステイツクのケースを 
使い,ふたはアクリル板に取り換えます〇ア 
クリル板はスモークドブラウン(茶色半透 
明)かスモーク(黒半透明)がよいでしよ 
ラ。 

スペーサー 

基板をケースに固定するためのものでネ 
ジつきのものを使います。 LED の足をよく 
見てください。出っぱりがあるはずです。 
LED はそれ以上基板に入らないことになっ 
ていますから,それを考慮してスペーサー 


の高さを決めてください。 

スズメッキ線 

配線は部品を切ったときの余りの足でた 
いていこと足りますが,不安な人はスズメ 
ッキ線を買っておきましょう。 

電池とスナップ 

電池は四角い 9 V ,006 P を使います。電池 
スナップは 006 P の電極につける金具 (?) 
です。 

/いょいょ組み立て 

部品が集まったら組み立てにかかります 
まず,部品を取りつける順序です。プリン 
卜基板の場合は背の低いものからというの 
がふつうですが,今冋のような穴あき基板 
を用いる場合, 1 C ソケットなどからつけて 
いくと位置決めが楽になります。力、今回 
の基板の場合 1 C ソケットの下にジャンパ線 
が3本もあるので 1 C ソケットより先にジャ 
ンパを配線しないとあとでえらい目にあい 
ます。 

ということで ジャンパ 線をつけたら 1 C ソ 
ケットをつけていきましょう。そうすると 
部品の配置が決まるので,あとは端から順 
序よくつけていってください。部品を基板 
に差したら裏側で部品の足を配線図どおり 
に曲げ,次の部品の足の位置で線を切りま 
す。次の部品も同様に足を折り曲げ,いま差 
した部品の足下をハンダづけしていきます ( 
このようにするとわりと綺麗にしあが、りま 
す。ただし, LED の足は折り曲げると LED が 
傾きますので曲げずに切ったほうがよいで 
しょう。また,配線のすんだところは実体 
配線図に赤鉛筆で塗りつぶしてチェックす 
るとよいでしょう。 

電解コンデンサや LED , ダイオードは極 
性が決まっていますので注意してください< 
LED と V { i 解コンデンサは足の長いほうがア 
ノード( + ),ダイオードは 1 S 1588 の場合, 
青い帯のあるほうがカソード(一)になり 
ます。 1 C は表から見て切り欠きの左下が1 
番ピンです。切り欠きがないときは1番ピ 
ンの近くにポッチがあるのでわかるでしよ 
う。 1 C ソケットを使う人は 1 C は最後に取り 
つけます。 

配線が足だけでは足りなくなったときは, 
いままでに切って余った足を継ぎ足す力 1 , 
スズメッキ線を使って配線します。スズメ 
ッキ線などは,配線前にハンダメッキをし 
ておくと作業がはかどります。それから, 
スズメツキ線を長く引きずるときは曲がり 
角でポツポツとハンダづけして固定してく 
ださい。 


lib Oh ! X 1989.1. 































































































/基板に合わせる 


'ネジ穴,ケースに合わせる 



2 mm スモーク アクリ ル 板 
(ケースに合わせて切る) 
スイツチに合わせる 


図17組み立て方 


基板ができあがったら,チェック作業に 
移ります3基板の裏を見てください。イモ 
ハンダやショートしているところはありま 
せんか? 配線の間違いや,やり残しはあ 
りませんか? それがすんだら図16の要領 
で回路をチェックします。まず, ( a ) の要 
領でショートのチェックです。電池のマイ 
ナス側だけをスナップにつなぎ,テスタを 
電流計にして回路に流れる電流を測定して 
みます。針が振れなければ正常ですが,振 
れた人はショートしている場所を探してく 
ださい。 

次は 1 C の電源のチェックです。今度は電 
池をちゃんとつなぎ,テスタを電圧計にし 
て 1 C ソケットの7または8番ピンに 一, 14 
もしくは16ピンに十をあててみます。電池 
と同じ電圧を示せば正常です。 

ここまで大丈夫なら電池をはずし, 1 C を 
ソケットに入れてみてください 0 そして ( a ) 
と同様のテストを行います。 LED の点き方 
によっても違いますが,0~ 3 mA 程度が 
正常です。電池の+と R 1のリード線をショ 
一卜させてみましよう。 LED が点滅しブザ 
一が鳴りますね。す旨を離してそれがだんだ 
んゅっくりになって止まればできあがりで 

to 

チェック項目が一応正常でなお,動かな 
いという人は以下の部分に重点を置いて再 
チェックしてください。 

• 圧電ブザーが鳴らない: IC 1 の左側 
• 点かない LED がある: LED の配線,極性 
• 真ん中が光るだけ: IC 1 の下と IC 2 との問 
• 7と6を繰り返す: IC 2 の右側 



(C) 


(d) 




基板の 


チェック 


ためてす。 

基板につけた電池スナップの+側をはず 
し,基板の十のところと SW のところに予 
備配線を行います(あとでスイッチにつな 
ぐ)。電池と圧電素子をテープでケースに固 
定し,基板を入れスイッチを接続します。 
あとはスぺーサーで基板を固定してふたを 
すればできあがりです。 

ご苦労さまでした。初めてハードを作っ 
たという方はどんな感想を持たれたでしよ 
うか。自分の手で作ったものが動くという 
のはなかなか感慨深いものがあるのではな 
いでしようか。この気持ちを忘れずに,も 
つとほかの工作にも挑戦してみてください。 



振れない正常 


振れる*—シ ヨー ト 


DC 5 mA 


^ 9 V - 正常 


振れないイモハンダ 
配線忘れ他 


DC 10 V(or 25 V -50 V ) 

LED によって0~数 mA 正常 
10 mA 以上ショート 


サイコロ動く 正常 


ンチ 




して完成へ 


あとは完成した基板をケースに組み込ん 
でしまいます0ケースにはたぶんアルミの 
ふたが ついてい ると思います 力す, これをア 
クリル板に換えてしまいます。ふたと同じ 
大きさにアクリル板を切り,ネジ穴を開け 
ます。次にそのアクリル板に基板を取りつ 
けるための穴とスイッチ用の穴をあけます。 
そうしたらスイッチは取りつけてしまって 
結構です。 レコ ード スフ。レ ーがある人はケ 
ースとアタリル板に吹きつけておいてくだ 
さい(なければ省略)。これは静電気防止の 

図16チェックのしかた 





1 


( a ) と同じ 



= c ~ : 

乳 

0 
006 P 




1 C を差す 


図18スイッチの配線 


1 1 - 


スペーサー 


• 基板 
-ネジ 



ケース 

* 電池は底に 
テープで 止める 

圧電ブザーの音穴 



電源スイッチ 


スタートスイ, 





1 C を差す 



特集電子サイコロを作ろう 117 




















































































特集い S なり初春から八ードウエア 


八ードウェアエ作編 


実録乱数発生器の設計と製作 


大きなノイズの使い方 


Kuwano Masahlko 

粢野雅彦 


ハードの人,柰野氏は半導体が発生するノイズを逆利用して乱数発生器を作ったようです。 
いろいろな微調整を加えながらデジタル回路とアナログ回路を組み合わせていきます。そ 
の設計過程を中心にハードウエアの設計法を追ってみましよう。 


その瞬間,立方体は私の手による制御を 
離れ,あと戻りすることの許されない空間 
を浮遊し,やがてテーブルの上を跳ね厳然 
とひとつの数字を表すことになる。人知に 
よってたどりつ〈ことのできない世界を呼 
び出してしまったこの瞬間,論理は宙に舞 
い,不条理が左脳から右脳に突き抜け,私 
は混沌とした乳白色の世界を見ることにな 
る。サイは投げられたのである。 

このような事象をミクロな目でなにが起 
こるかを考えると,次から次とデタラメな 
数が出てきて,まったく理論の手には負え 
ないように見えます。しかし,百回,千回 
と試行してみた結果をマクロな目で見てみ 
れば,どの目が出る回数もほとんど同じで' 
あるという規則らしいものが浮かびあがっ 
てくるでしよう。このようなマクロな規則 
を フェルマー や パスカルと いった大数学者 
が研究し,確率論という分野を切り開くこ 
とになったのですが,そもそもは賭事の配 
当をどのようにするのがよいかということ 
からだったということです。 

このようなちよっと風変わりな生い立ち 
を持つ乱数は数学のような管理された世界 
では異端児のように思えますが,自然界で 
はきっちりと割り切れる場合のほうがむし 
ろ珍しく,なにごとにつけてある程度の乱 
雑さを持ち合わせているのがふつうです。 
人間のすることはその典型で,それゆえに 
サイコロが有効に機能するのです。 

固定された結果を生む数値計算に,乱雑 
さの成分としての乱数を加味することで自 
然界の様子にうま〈適合するモデルを作る 
ことができることから,乱数は物理学を始 



めとする各種のシミュレーシヨンにと利用 
されるようになりました。正確な値よりも, 
全体的な傾向を知るために乱数で適当に揺 
さぶってみるというのは簡単でしかも便利 
な方法です。乱数の電気信号版であるノイ 
ズを使い,さまざまな周波数の信号に対す 
る回路の特性(インピーダンスなど)を一 
度に測定するという手法などは,電流を流 
しているうちに特性が変わってしまうよう 
なものについては特に有力な手段です。 

しかし,乱数を使うたびにサイコロを投 
げたり,ルーレットを回しているのもなか 
なか大変です。そこで苦労引き受けますと 
ばかりに乱数表なるものが作成されたりし 
たわけです。 

計算で乱数 

サイコロや電気ノイズのような物理現象 
を利用した乱数を物理乱数といいます。こ 
れは乱数としては申し分のない質を持って 
いるのですが,コンピュータの登場で数値 
の処理速度が一気に向上してくると,乱数 
も人手でぽちぽちと作っていくのではとて 
も追いつきません。 

さらに利用分野によってはそれほど良質で 
な〈てもいいから,とにかくデタラメそう 
な数がほしいということも少なからずある 
わけです。 パソコン 上のゲームなどはこの 
典型的な例でしよう0このような目的のた 
めに,計算によって一見デタラメに並んで 
いるように見える数字の並びを作る方法が 
考えられました。 

現在の BASIC などでも乱数計算の下地 
として使われているのが,割り算をしたと 
きの余りを使う,合同法と呼ばれるやり方 
です。ある整数 X があったとき, aX+b を 
c で割った余り Y を次の乱数値とし,次は a 
Y + b を c で割った余りを計算するといった 
ぐあいに計算していくわけです。 a , b , c の 
選び方をうまくやると周期の長い,わりあ 
いよい乱数が得られます。 

もちろん,わりあいよいとはいっても所 
詮は計算によって作っていますから,同じ 


数が2度連続して出てくることがないなど, 
真の乱数として見るには欠点が少なくあり 
ません。2度同じ数字が出てくるのは,適 
当に割り算をして下位の桁を落としてしま 
えばなんとかなりますが,根本的にはどう 
にも対策のとりようがない面があります。 
このような数値並びがあくまで疑似乱数と 
しか呼ばれないのはこのためです。 

特に学術用に使われるときには乱数の質 
が問題になりますから,どうしても疑似乱 
数では困ることになります。ある程度大き 
な コン ピュータでは乱数発生器というハー 
ドウエアが用意されていて,物理乱数を得 
られるようにしています。しかし, パソコ 
ン用としては圧倒的な種類の周辺ボードを 
擁する PC -9801 にしても,乱数ボードなる 
ものが売られているのを見たことはありま 
せん(みんな疑似乱数で我慢しているのだ 
ろうか)。雑誌でも取りあげられたことは 
ほとんどないようで,少なくとも私の手元 
の本のどれにも物理乱数の発生などという 
ものは取りあげられていません。今回は, 
二の隙間をついて乱数発生器を作ってみる 
ことにしましよう。 

■ 乱数発生器の設計 

なにを基に乱数を作るかということが最 
初に問題になるのですが,予備実験の結果, 
乱数発生源としてトランジスタの降伏を使 
うとよい結果が得られそうな感触が得られ 
ました (120 ページ参照)。これはノイズと 
はいいながらトランジスタの1段増幅だけ 
で電圧レベルが V 単位まで引き上げられる 
という,非常に大きく扱いやすい信号です 
から,これを2値信号にするのも簡単です。 
ただし,コンピュータ側の電圧レベルはや 
やシビアなので,信号レベルの変換だけは 
少し気をつける必要があります。 

ここで電卓を片手に全体の回路を引いて 
いきました。電池でも動かせるようにした 
いのですが降伏点である 10 V 程度はないと 
困るので, 9 V の電池 (006 P ) を2個直列に 
して使うことにしました。ニッカドやリ 


118 Oh! X 1989.1. 


























チウム電池と違って一般の乾電池の電圧は 
かなりいい加減なので,新品のときを考慮 
して 20 V から 12 V くらいまで電圧が変化し 
ても安定して動くことを目指しています。 

あれやこれやといじりながら,カット& 
トライを何度かやってこれでよしとなった 
のが,121ページにある図1です。信号は原 
則として左から右へと流れていきます。 

まず最初がこの乱数発生器の命ともいえ 
る雑音源です。トランジスタのコレクタと 
ベースを 道:結して GND ( OV ) に落としエ ミッ 
夕は 470 k の抵抗で電源に接続され,ほんの 
少しだけ逆方向に電流が流れるようにして 
おきます。 470 k とやや大きめの抵抗にして 
いるのは電流が増える につれ て雑音 レベル 
が下がっていく現象が見られたからです。 

さすがに電源電圧が2倍近く変化すると, 
流れる電流も雑音の発生ぐあいも変化して 
きます。ノイズ発生用のトランジスタに流 
す電流が増えていくと,次第にノイズ出力 
が減っていって,最後にはごく小さな波形 
になってしまいました。雑音源として使う 
には,あまり電流を流さないようにしなく 
てはならないようであることがわかったの 
で,大きめの抵抗にして20 V 以上でも安定 
して雑音が発生されることを確認しておき 
ました。 

信号を増幅する 

ここで発生された雑音を次段のトランジ 
スタで増幅します。間にある 0.1 /iF のコン 
デンサは, 10 V 前後の直流成分をカットし, 
交流成分である雑音信号だけを次段のトラ 
ンジスタの ベースに 与えるためのものです。 
バイアスはいちばん簡単な固定バイアスで, 
コレクタ.堪流力 5 1 mA くらいになるように計 
算します。このとき,トランジスタの hFE 
(直流電流増幅率)が問題となります。私 
が大量に質い込んだトランジスタは 2 SC 693 
E と最後に E がついたものだったのです力% 
一応,琨源が 12 V で hFE が80とコレクタ電 
流がいちばん少なくなる条件で 1 mA 〈らい 
流れるように計算します。 hFE を80とし, 
コレクタ電流が 1 mA ならベース電流は1/80 
mA です。ベースの電圧はほぼ 0.6 V と固定 
ですから残りの 12 — 0.6 = 11. 4 V が抵抗に 
かかる電圧です。あとは オームの 法則で, 

R = E / I =11.4/( l /80)=912( k ^) 
ここから,抵抗の値は 1 M ( = 1, 000 k ) Q く 
らいでよかろうということになりました。 
ちなみに,コレクタ電流が最大になるのは 
電圧が20 V (—応20 V を上限と考えておき 
ます), hFE が最大 (160) のときです。こ 


のときのベース電流は, 

I = E / R = (20-0.6)/1000 = 0. 0194 ( mA ) 
コレクタ電流はこの hFE 倍ですから0.0194 
mAxl 60 = 3.10 mA となります。 

これだけ動くと,今度はコレクタの負荷 
抵抗をどのくらいにするか気になります。 
教科書的にいくなら Ic - V CE 特性図に負荷 
線を引いて考えるのでしょうが,そこまで 
真剣に考えるほどの増幅回路ではないので, 
コレクタ電圧力す5〜 6 V 以上ならよいという 
方針で簡略設計で問に合わせます。電源電 
圧が低〈12 V , hFE が160のときにコレクタ 
電流は, 

(20-0.6)/1000 X 160 = 1.8 ( mA ) 
くらいです0ここで,コレクタ電圧が 6 V と 
すると抵抗値は, 

R = E/I = 6/1.8 = 3.3 (kQ ) 

となります。 

hFE が小さく,コレクタ電流が 1 mA のと 
き,この抵抗の両端の電圧は 3.3 V と,少 
少小さく,入力の雑 f が大きいときには出 
力波形の頭がクリップする可能性もありま 
すが,別にオーデイオアンプにしようとい 
うのではありませんから構わないでしょう。 

波形の整形 

この増幅段で大きくなった雑音はやはり 
コンデンサを通って次段のオペアンプに入 
力され,デジタルっぽい波形に整形されま 
す。オペアンプをこのように使うと,コン 
パレータ(電圧比較器)として動作します0 
十人力と一入力の電圧が比較され,+側の 
ほうの電圧が高ければ出力は+電源電圧く 
らい(仮に1としておきます),一入力のほう 
が高ければ-電源電圧付近の電圧(仮に0 
としておきましょう)になります。つまり, 
どちらの電圧が高いかということによって 
2値信号(デジタル信号)に変換できるこ 
とになります。今回はどちらの入力も 220 k 
の抵抗で,電源を1対1に分割し,片方に 
いましがたトランジスタで増幅した雑音を 
放り込みます。通常,入力は抵抗の誤差く 
らいの電圧差しかありませんから出力はぎ 
りぎりのところで,どちらかに転んでいる 
状態です。ここで,片方が雑:音によって振 
り回されるために,出力が1になったり0 
になったりするわけです。 

さて,ここでもあれこれ考える必要があ 
りました。まずオペアンプの選択ですが, 
これは秋葉原での買い出しのときに見つけ 
た LM 318 です。オリジナルはナショナルセ 
ミコン ダクタですが, フヱア チャイルド, 
テキサス,日電, AMD などもセカンドソ 


ースを作っているので入手は容易であると 
思います。 LM 318 は帯域幅が 15 MHz , ス 
ルーレート (出力の変化する速度)が 50 V / 
" s となかなか高帯域で高速なオペアンプで, 
今回のように周波数が高めのデジタル信号 
(方形波)を得ようというのには好都合で 
す。 

入力信号があまり高い周波数になったら 
うまくないような感じなので,ローパスフ 
イルタでも入れたほうがよいかな’と一瞵思 
ったのです力 ? ,よく考えてみるとそれほど 
高い周波数の成分は入ってきそうにありま 
せん。前段の増幅に使った 2 SC 693 E のコレ 
クタ電流が 1 mA くらいのときの fT (遮断周 
波数,利得帯域幅積)は 100 MHz というこ 
とです。トランジスタの増幅率は周波数が 
高〈なってい〈と,あるところで下がり始 
め,それ以降はだいたい 6 dB/oct (周波数 
が2倍になれば増幅率が半分)の割合で落 
ちていきます。そして増幅率が1,すなわ 
ち増幅器として使えなくなる周波数が fT 
です。低周波での増幅率が100程度と考え 
ると,だいたい 1 MHz あたりで増幅率がず 
るずると落ち始めているというわけで,い 
わば 1 MHz の口ーパスフイルタを通したよ 
うになっているのです。ですから,オペア 
ンプにはそれほど高い周波数の信号は入ら 
ないと考えて構わないであろうと考えられ 
ます。 

電源もちょっと気になったところです。 
オペアンプは通常,2電源で使うのですが 
今回は片電源で使っています。 2電源とみ 
なすには,たとえば2個の乾電池のつなぎ目 
を GND とすればよいのですが,その GND 
をオペアンプのどこにつなぐのかといわれ 
れば,どこにもつなぐところはありません。 
結局片電源となにも変わらないのでそのま 
ま使っています(入力を1対1に分割した 
のは2電源の場合の GND の電位のイメージ 
であるというのが真相です)。 LM 318 の動 
作電圧は ±5 V から ±20 V です。片電源に 
換算すれば 10 V から 40 V ということです。 
今回,電源は+12 V 以上と考えていますの 
で十分でしょう。 

■ 信号レベルの変換 

さて,このオペアンプの出力は方形波信 
号であり,デジタル信号風であるとはいえ 
電圧レベルは電源電圧近くまでとかなり高 
いので,このまま 5 V という低い電圧の世 
界で動いているデジタル 1 C に接続するわけ 
にはいきません。また,一般にオペアンプ 
の出力は電源電圧よりも 2 V から 3 V 程度の 


特集大きなノイズの使い方 119 


電位差があるのがふつうです。オフセット 
を 3 V と考えれば0のときには 3 V , 1のと 
きは電源電圧が 12 V なら 9 V の出力となり 
ます。 

コンピュータとつなぐにはこれをデジタ 
ル 1 C の 論理電圧レベルに変換しなくてはな 
らないのです。デジタル 1 C のうち , TTL 
の H ( High ) レベルは 2 V 以上, L レベルは 
0.8 V 以下 (0.8 V から 2 V の間の電圧は H , 

L のいずれと受け取られても文句はいえな 
い)で, C - MOS の場合には H が電源電圧の 
約2/3(電源が 5 V なら 3.5 V ) 以上, L は電 
源電圧の約1/3 (同じく 1.5 V ) 以下で,い 
ずれも電源電圧を越えないこと ( High のと 
きに 0 V 未満にならない)が条件です。 

H レベルのほうは,電源電圧が2倍近く 
も変わることから電源電圧が 12 V のときに 
なんとか H レベルになるようにしておいて, 
高くなりすぎる分はッエナーダイオードを 
使ってリミットをかけることで処理するこ 
とに決めました。問題は L レベルです〇出 
力が 3 V というのは C - MOS の 1 C を使うに 
しても高すぎます。 

出力をレベル変換するのにトランジスタ 
をスイッチ代わりに使うというのは定石の 
ひとっですが,今回のような場合には少々 
不向きです。というのは,トランジスタを 
スイッチ代わり,すなわち鮑和領域で使っ 
た場合,そのスイッチング速度というのは 
あまり速くないのです。高速スイッチング 
用のものでも,デジタル 1 C に比べると兄劣 
りがする場合がほとんどです。このため, 

乱数源を求めて 

物理乱数を使うとはいっても,まさかコン 
ピュータにコインを投げさせて I / O を決めるよ 
うな方法は使えません。電気で動くコンピュ 
—夕が相手ですからやはりランダムな電気信 
号(ノイズ)を用いることになります。手近 
なノイズ源としては,デバイス(半導体だけ 
でなく,抵抗なども立派なノイズ源です)の 
発生するノイズ, FM ラジオの局間ノイズ,変 
わったところでは放射線のカウントを行う方 
法などがありますが,発生量や安定性,信号 
レベルの 兼ね合いなどから,使いものになる 
信号は限られてきます。 

実際に作られているものを見ると,たとえ 
ば HI TAC ではノイズ発生源としてツエナーダ 
イオードの発生するノイズを使ったようです。 
ATARI ではトランジスタのノイズを使ってい 
るという話を聞いたこともあります。後者に 
ついてはよくわかりませんが,前者で使われ 
たツエナーダイオードについては電子デバイ 
スの中でも割と大きなノイズを発生するとい 
うのはアナログ回路屋さんの世界ではよくい 
われることです。このノイズは通常は単なる 


綺麗な方形波を入れても出力は角が丸まっ 
た,なんとも情けない波形になり,細かい 
パルスは波打つだけになってしまいます。 

かなり高い スルーレート を 持つ LM 318 の 
出力波形はせいぜい 1 MHz 程度の入力信号 
に対しては相当綺麗な方形波にしてくれる 
ことが期侍できるのに,レベル変換のため 
に波形がなまるのは面白〈ありません。そ 
こで L レベルを綺麗に 0 V 近くまで落とすこ 
とはあきらめて,出力を適当に抵抗で分圧 
することで,デジタル 1 C が L レベルと認識 
できるくらいの電圧にしてしまうことにし 
ました。 L レベルのことだけを冬えるなら 
なるべく電圧を小さくする方向に分圧した 
いところですが,それとともに H レベルの 
ほうも落ちてくるので注意しないと信号が 
全部 L レベルになってしまいます0 

微調整を加える 

出力には 4.7 V のツエナーとコンデンサが 
入っています。まず,ツエナーの消費する 
電力を計算してぉきましよう。出力が 20 V 
程度まで上がってしまったとすると, 4.7 k 
の抵抗に流れる電流は (20-4.7)/4.7 = 3. 

26 ( mA ) です。このうち, 3.3 k の抵抗に 
流れる分は 4.7/3.3 = 1.42 ( mA ) ですから 
残りの 3.26 — 1.42 = 1.84 mA がツエナーに 
流れる電流です。したがってツエナーの消 
費電力は 1.84 X 4.7 = 8.65 ( mW ) となりま 
す。今どきのツエナーは小さいものでも200 
mW くらいですから余裕しゃ〈しゃくとい 

邪魔ものにすぎませんから,対策しておけと 
は書いてあっても,それなら対策しないとど 
のくらいの電圧のノイズが出るのかというこ 
とを述べたものは見当たりませんでした。も 
っとも,ノイズを積極的に使おうなどとはふ 
つうは考えませんからしかたありません。 

HITAC で使われた ツエ ナーダイオードを乱 
数源にする方法は雑音を2値信号に変換する 
だけですから (ツエ ナーダイオードはせいぜ 
い20円から30円くらいということからも),か 
なり手軽にできそうな気がします。雑音レべ 
ルのデータがないのが気がかりではありまし 
たが,試しに作ってみることにしました。 

できた回路は ツエ ナーダイ オー ドに軽く電 
流を流しておいて,トランジスタ I 個で増幅 
してからリミットをかけるだけのごく単純な 
ものです。ところが,電源を入れてもうんと 
もすんともいいません。おかしいなあと思い 
つつ,少しずつ電圧を変えていくと,電源が 
ある電圧のときにほんのわずかな出力が見ら 
れるといった程度であることがわかりました。 
おおもとの ツエナー ダイ オー ドのところで見 
てみると,信号レベルが低すぎるせいかほと 
んど雑音らしきものが見られません。かなり 



ったところです。この余裕を見込んでつけ 
たのが4 • 7 K に並列につないである 47 pF の 
コンデンサです。 

抵抗で分割して取り出した波形は,教科 
書どおりの世界であれば入力信号と完全に 
対称になるはずなのですが,方形波が相手 
の世界では現実はそれほど簡単にはいきま 
せん。部品の足や基板がある以上,現実には 
あちこちに細かい容量が存在します。おま 
けに接続されている 74 HC シリーズは入力 
は電流こそほとんど流れないとはいうもの 
の, 10 pF くらいの入力容量があります。つ 

いい加減な測定ですが,電圧レベルはせいぜ 
い大きくても I 00; UV 以下という感じです。 

確かに,抵抗などのノイズと比べれば桁違 
いに大きいことは間違いありませんが,こん 
なに小さい信号が相手では外乱に対してあま 
りにも弱いですし,実装や配線のノウハウが 
必要になるため,個人的には面白くても製作 
記事としては少々問題があります。手持ちの 
ツエナーダイオードをとっかえひっかえ試し 
てみたのですが,たいして変わりませんでし 
た。ツエナーダイオードが雑音源といわれて 
きたことから,低雑音を意識して作られてき 
ているのかもしれませんが,いずれにしても, 
乱数源を変えなければならないことは確かな 
ようです。 

ツエナーダイオードが雑音源となるのは, 
その特性,すなわちある電圧(ツヱナー電圧) 
に達すると突然電流が流れ始め,それ以降は 
電圧をほんの少し変えるだけで,流れる電流 
が大きく変化します。見方を変えれば電流が 
大きく変化しても,ツエナーダイオードの両 
端の電圧はほとんど変化しないということに 
なります。これとよく似た特性を持った現象 
の見られるものをみつければ雑音源として通 


120 Oh ! X 1989.1. 



























図 1 回路図 



78 L 05 




IM ? 3.3 k 


__1^1 

,rt 

1 E 0.1// 


ノ F 

V 1 


RD -4.7 A 





し ED 


注 I ) HC 240 の丨,2, 4, 6, II , 15, 19番ビ 
ンは GND か 5 V ラインにつなぐこと 

注 2) HC 74, 240, 4020の GND は GND ライ 
ンに Vcc は 5 V ラインと接続すること 


> 

QI 4 

C し R 





3.3 k 


74 HC 4020 


> 


19〜30 


図2端子表 


74 HC 240 



I - - ^ UUI II 

E C B GND 


用するのではないかといろいろ考えてみまし 
た。 

NPN 型のトランジスタでは,ベースからエ 
ミッタに流す電流をほんの少し操作するだけ 
で,コレクタからエミッタに向かって流れる 
電流が大きく変化します ( PNP 型なら電流の 
流れる向きが逆になります)。このとき,エミ 
ッタからベースに,すなわち通常と逆の方向 
には電流は流れないとふつうは教わるわけで 
す。実際にテスタなどで抵抗値を測っても逆 
方向の抵抗値はきわめて高く,確かにほとん 
ど電流が流れないようです。 

それではちょっと意地悪をして,逆電圧を 
少しずつ上げていきながら,トランジスタの 
エミッタとべースの間に流れる電流を測定し 
てみます。すると,ある電圧に達するとそれ 
までほとんど動かなかった電流計の針が急激 
に振れるようになります。電圧を落とすと, 

また電流が流れなくなります。このような現 
象を降伏と呼んでいます。通常,よく使われ 
る小信号用のトランジスタでは I 0 V 程度の電 
圧で降伏を起こします。テスタで抵抗を測る 
ときは内蔵の乾電池の電圧くらいしかかけな 
いので,降伏電圧には達しておらず,したが 


って電流もほとんど流れなかったというわけ 
です。 

ここをもう少し調べてみると, NPN 型の卜 
ランジスタではコレクタをオープンにして測 
ると,この部分で電圧が上がるほど電流値が 
減るという負性抵抗を示し,コレクタをべ一 
スと直結すると電圧を上げるに従って急激に 
電流値が上昇していきます。これはまさしく 
ツエナーダイオードそのものです。ただし, 
トランジスタをこのように使うことはいわば 
裏技ですから,降伏電圧は同じ型番のものを 
同じ条件で測定してもかなりばらつきがあり 
ます。当然,こんな異常な使われ方をした場 
合に発生するノイズ対策のことなど考えられ 
ているわけはありません。きっと大きなノイ 
ズが出てくれると信じて基板の改造を始めま 
した。 

トランジスタは200個500円という値段に引 
かれて衝動買いしてしまった 2 SC 693 がありま 
すので,まあ失敗してもともとくらいの感じ 
で実験してみました。ベースとコレクタを直 
結して2本足にして,ツエナーダイオードと 
交換します。電源電圧も最低10 V はないと卜 
ランジスタが降伏を起こさないので,増幅段 


の定数も計算しなおしです。 

どうにか改造が終わって,再起動です。出 
力を監視しながら電源電圧を徐々に上げてい 
きます。 6 V ,7 V , まだまだなにも出てきませ 
ん。おっかなびっくり電圧を上げて, 9 V 付近 
を越えたとたん,いきなり針が振り切れてし 
まいました。「やばい! 壊したかな」と,あ 
わてて電源を切ったのですが,別になにも起 
こった様子もありません。今度は電流を監視 
しながら電圧を上げていってみます。やはり 
9 V 前後で電流が流れ始めます。しかし,異常 
と思えるような流れ方ではありません。 

もう一度出力を調べてみると,丨 V 以上もあ 
ります。「ありゃ? 発振してしまったのかな j 
と,雑音源のトランジスタの両端にコンデン 
サを入れると,すっとレベルが落ちていきま 
す。離すとまた丨 V 以上の出力です。どうや 
ら ツエナーダイオー ドのときとは比べものに 
ならないほど大きな雑音が出ているようです。 
それにしても単位が V とは思いませんでした。 
せいぜい lOOmV くらいと考えていたのですか 
ら,振り切れるわけです。とりあえず,これ 
でトランジスタからよい ノイ ズが取り出せそ 
うです。 


特集大きなノイズの使い方 121 


































































まり,ツエナーにさらに並列にコンデンサ 
をつないだような状態になっているのです。 
オペアンプの出力が0になるときは,この 
たまった電荷を抵抗を通して抜かなくては 
なりません。逆に1になるときは抵抗を通 
してチャージしてやらなくてはならないわ 
けです。このため,方形波の角がなまり, 
立ち上がりや立ち下がりがなまってきます。 
これを補償する目的で入れたのが 47pF のコ 
ンデンサです。立ち上がりや立ち下がりの 
ときには抵抗だけでなく,このコンデンサ 
を通して一気に電荷のチャージ/引き抜き 
をやってやろうというものです。 

このコンデンサの容量が少ないと波形の 
なまりが残りますし,容量が大きすぎると 
立ち上がりや立ち下がりがいったん行きす 
ぎたあと今度は跳ね返るようにしばらく暴 
れる現象(オーバーシュート/アンダーシュ 
一卜)が出てきます。この暴れ力 f 大きく, 
立ち下がりのあとの跳ね返りをデジタル 1C 
に H レベルへの変化と認識されてしまった 
り,立ち上がりのあとを L レベルになった 
と判断されては面白くないので,このコン 
デンサの容量は注意して選ぶ必要がありま 
す。 

計算式もあるのですが,結局は波形を観 
測しながらカット&トライで決めるほうが 
よいようです。私は手持ちの者 B 合で 27pF に 
したのですが,少し容量が足りなかったよ 
うです。ついでにやった実験では lOOpF で 


は少々補償のやりすぎのようでしたので, 
回路図では 47 pF としておきました。もし, 

シンクロ(ストレージスコープがあればベ 
ストですが)が使えるようでしたら,波形 
を見ながら調整するとよいでしょう。 

確率の調整 

さて,このようにしてトランジスタで発 
生した雑音がようやくデジタル 1 C のレベル 
にまで変換されました。ただし,このまま 
読み取ると,1と0の発生する確率がノイ 
ズの波形に依存してしまうことになるため 
フリップフロップで分周して1と0の発生 
確率が1対1になるようにします。フリッ 
プフロッフ。を使うということから,クロッ 
ク入力に先ほど分圧したオペアンプの出力 
がつながれることになるのですが,作り方 
によってこの波形がなまったり,多少補償 
をやりすぎてオーバーシュートなどが出て 
しまったとしてもそれを誤って拾うことが 
ないようにするため,シュミット特性を持 
っている HC 240 を通しています。 

このフリップフロップの出力は当然のこ 
とながら常時変化しています0これをパソ 
コンに読み取らせる場合,そのままにして 
おくと読んでいる途中でデータが変化する 
可能性が非常に高くなるので,安定した読 
み取りを保証するために,この出力をラッ 
チする回路をつけておきます。つまり,パ 
ソコン側から「ハイ!」 
と掛け声をかけた瞬間 
のデータをラッチさせ 
ておいて,あとからゆ 
っ〈りと読み出しにい 
こうというわけです。 

ラッチしたデータは次 
の掛け声があるまで変 
イ匕しませんから気楽に 
読み出せます。出力は 
パ、ツフアである, HC 2 
40を通して出しておき 
ます。 

「 S ' け声」に相当す 
る信号も HC 240 を通し 
ます。入力に直列に入 
っている抵抗は入力保 
護です。 C-MOS デジ 
タル 1 C の場合,入力電 
圧が電源電圧よりも高 
くなると入カピンから 
1 C の電源に向かって大 
きな電流が流れること 
になります 0 ハ 0 ソコン 


の 5 V と乱数発生器の 5 V が共通でない以上, 
なんらかの電位差はどうしても出てきます。 
74HC の場合には入力に保護回路が入って 
はいるのですが, 1 C の保護回路は万が一の 
ためにあるのですから,これに期侍すると 
いうのも危ない感じです。とはいってもッ 
ェナーを使うというほどのものでもなさそ 
うなので,ここは抵抗を入れて,過電流を 
防止しています。抵抗で 5 V とつないでい 
るのは,入力がオープンになったときに入 
力がふらふらして,ラッチアップを起こさ 
ないようにすることと,パソコン側の出力 
1C が TTL であったときには H レベルがやや 
低くなりがちなので, H レベルを保証する 
ために入れてあります。 

74HC 4020 と, LED は動作には直接関係 
のない,おまけ回路です。基板に少々隙間 
が残っていたので,乱数が発生されている 
かということと,パソコンの読み込みが行 
われているかを目で HI 認できるように入れ 
てみました。 

そして接続 

さて,あとはこれをパソコンのどこから 
読ませるかということだけです。ビット数 
が多ければパソコン本体の拡張スロットに 
差さるように設計するのです力す,今回は1 
ビットの乱数ですから,入力端子が1ビッ 
卜,さらに「掛け声」のための出力端子が 
1ビットあれば十分ですので,外づけにす 
ることにしました。候補はジョイステイッ 
クポートとプリンタポートです力%ほとん 
どの機種についていて,しかもコネクタが 
(プリンタ側で)統一されているのでプリ 
ンタポートを使うことにします。プリンタ 
側はセントロニクスに準拠しているものが 
ほとんどですが,パソコン本体のほうは必 
要な信号以外は無視してしまっていたりす 
るので,必ず使われている信号ということ 
から BUSY を乱数データ入力, STB をラッ 
チ信号(掛け声)に使うことにしました。 

組み立て 

精密さを要求される回路ではないので, 
特に注意しなくてはならないようなところ 
はありませんが',ちょっとしたコツのよう 
な部分について触れておきましょう。 

基板はカッターでパターンを切りながら 
作っていきますが,もし彫刻刀のような新 
兵器を持っているなら V 型のものを使うと 
よいでしょう。なお,勢い余って手を切っ 
たりしないように注意してください。 


表1部分一覧 



122 Oh ! X 1989.1. 







基板を 2 つに割るときには,表と裏から 
軽くキズをつけておいてから机のへりなど 
で曲げれば簡単に割れます。もともと, 2.54 
麵ピッチで穴が開いているという状態は, 
基板にミシン目が入っているようなもので 
すから,無理に力をかければ割れやすくな 
っているのです。カッターでキズをつける 
というのは,この割れやすい状態に癖をつ 
けてやるという作業なのですから,それほ 
ど深ぐ切り込む必要はありません。 

カッターは一般の紙工作用のもので十分 
です。私は以前パズルを作ったときに買っ 
たものがあったのでそれを使いましたが, 
カットのときには結構力をかけるので,こ 
れから H うのでしたら刃をねじで固定する 
方式のものがよいでしよう。 

カッターでパターンを切り離すときには 
パターンに傷をつけるだけでなく,適当な 
幅で剝がすようにします。切り口が V 字に 
なるようなイメージで,両側から切るとぺ 
ロッとパターンが'取れます。 

部品配遛などが決めづらい人は写真を参 
考にしてください。アナログ部分は,回路 
図とよく似た配置になっているでしよう。 
こうしておくとのちのち,波形を見たり調 
輅するときにどこを観測しているのかわか 
りやすくて楽です。 

デジタル 1 C の電源ピンとグラウンドの間 
には 0.1 /iF のコンデンサを入れておきます。 
これは電源ラインのノイズを抑えるための 
もので,回路図には出てこないのです。エ 
業用の製品などでは IC の電源ピンごとに入 
れている例もあります。われわれアマチュ 
アが作り,比較的よい環境で使われるもの 
の場合にはそこまでする必要はありません。 

テスターを持っておられるようでしたら, 
ソケットには 1 C を差し込まないで,消費電 
流を測っておきます。もし 100mA 前後も流 
れたらどこかおかしいので,電源を抜いて 
チェックしなおしてください。次に 1 C の電 
源電圧を見ます0デジタル IC(74HC シリー 
ズ )の GND と Vcc 端子の間の電圧は 5V に 
なっているはずです。もし,大幅に違うよ 
うでしたら, 3 端子レギュレータまわりな 
どを見直して.ください。 

OK となったら,いったん電源を切ってか 
ら 1 C を差し込みます。足は広がり気味なの 
で机の上などで真っ直ぐに整形しておきま 
す。足先ではなく,足の根元近くを折り曲 
げる気持ちでやると綺麗にできます。 

テスターがない場合は じっくりと 基板を 
チェックして,ショートなどがないかチェ 
ックして,勇気をもって一気に電源 ON と 
なります。電源を入れると, 74HC 4020 に 


つけた LED がせわしく点滅を繰り返してい 
るはずです。 

調整 

あちこち気をつけたつもりなので,調整 
する場所はほとんどありませんが,テスタ 
一を持っていたら,増幅段のトランジスタ 
のコレクタ電流を測っておきましよう。測 
定は,パターンを切ったりしなくても,コ 
レクタにつないだ 3.3 k の抵抗の両端の電 
位差を測って行います。だいたい1〜 2 mA 
程度流しておく予定ですから3〜 7 V 程度に 
なるはずです。あまりにもはずれているよ 
うでしたら,ベースについている 1 M の抵 
抗を調整してください。もし,シンクロス 
コープなどが手近にあるようでしたら,各 
部の波形を観測しておくとよいでしよう。 
ストレージスコープなどがあればオペアン 
プの次段の HC 240 の入力波形から 47 pF の 
調整が容易に行えるでしよう。 

さて,物理乱数である以上,発生頻度が 
問題ですので測定してみました。シンクロ, 
できたら周波数カウンタで, HC 4020の3 
番ピン ( LED をつけた端子)の周波数を測 
り,それを2の14乗倍 (16384 倍)すればお 
よその値は知ることができます。 

平均の発生頻度よりも極端に短い周期で 
取り込むと同じデータが続く場合が多くな 
りすぎて,とても乱数とは呼べなくなって 
しまいます。私も試作段階を含めて,何度 
か測定してみましたが,だいたい乱数出力 
( HC 74 の9番ピン)の周波数は平均すると 


部品集め 

回路はできましたので,あとは部品集めと組 
み立てです。部品とその値段(概略)は,部品表 
に載せたとおりですが,コネクタは少々みつけ 
にくいかもしれません。私はジャンク屋で丨個 
100円でみつけたものを使ったため,型番など 
がわかりません。店で探してもらうときは「基 
板取りつけ用のアンフエノールの36ピンのメス J 
といえば(およそ日本語とは思えませんが)わ 
かってもらえるでしよう。 

また,トランジスタの 2 SC 693 は E タイブは製 
造中止のような感じがするので,部品表では F 
も指定しています。もし, G や H しかない場合 
には,コレクタ電流が大きくなりすぎるので, 
ベースに つないでいる I M の抵抗をもっと大き 
いものと取り換えて,コレクタ電流が数 mA にな 
るようにしてください。693がない場合にはほか 
の 2 SC タイプの高周波の小信号用トランジスタ 
ならだいたい使えると思いますが,実験したわ 
けではないのでなんともいいきれません。 

基板は専用プリント基板を作ろうかとも思つ 


'E 1 



政聲/ i ? ン、 .,' へ-八 •- 

配線を切り出す 

500 kHz から1 MHz の間であるようです。 
ランダムな値を得るにはこれよりも十分に 
長い周期でサンプリングしなくてはなりま 
せん。できたら,100倍,すなわち100〜20 
0//S くらい間をおきながらサンプリングした 
いところです力す,1ビットを得るたびに200 
jus , すなわち 0.2 ms かかるというのは,用 
途によっては遅すぎるかもしれません。そ 
のときは実験しながら,読み込むインター 
バルを調整してください0 
Z 80 では IN / OUT 命令に11サイクル (C 
レジスタ間接なら12サイクル)かかります0 
STB を上げ下げして,データを読み出すだ 
けで, OUT が2回, IN が1回の計3回で 
33サイクルかかります。一般的な4 MHz 
の Z 80 ならこれで1/4 X 33 = 8.25( ws ) です。 
68000の場合はデータ移動に各8サイクルで 
仮に 10 MHz なら結局2.4 " s となります。 
今回のサンプルのように BASIC から使う 
ときはまったく意識する必要はありません 
力 ? ,アセンブラで書いたプログラムから使 
うときはちょっと頭の隅にでも置いておい 
てください。 

たのですが,エッチングはあまりやりたくない 
ので,なにかよさそうなものはないかと,パー 
ツショップをうろうろとしていたらパターンカ; 
メッシュ状に連なっている ICB -504 EG (サンハ 
ヤト製)がみつかりました。この基板の銅箔は 
買った時点では全体がつながっています。これ 
をそのままグラウンドラインにして,信号ライ 
ンのところだけをまわりから切り離すようにし 
て使えば,電気的には専用プリント基板並みの 
ものがカッタ——丁でできそうです。しかも値 
段が300円と,一般的なひとつ目のものと大差あ 
りません。 

また,5 V の3端子レギュレータは,私の基 
板ではこれまたジャンク屋で4個100円で入手し 
た7805 ( I A ) を使っていますが,電流はほとん 
ど食わないので,新たに買う場合は小型で安価 
な 78 L 05で十分です。 

LED (発光ダイオード)は小型のものならなに 
を使ってもよいでしょう。昔は LED といえば赤 
と緑しかありませんでしたが,今では黄色や才 
レンジ,青などもあって,なかなかにぎやかで 
す。趣味にあわせて選んでください。 


特集大きなノイズの使い方 123 




読み取りソフト 

完成したら,パソコン本体と接続します。 
STB 信号を0にして1に戻すという操作を 
繰り返し行うと,その都度 74 HC 74 につな 
いだ LED がランダムに点滅するはずです。 
うまくいってい.るようでしたら次に , STB 
にパルスを送ったあと, BUSY 信号を読み 
出してみます。1になったり0になったり 
するのが読み出せれば成功です。 

ついでですから MZ - 2500と XI 用に , BA 
SIC で簡単なプログラムを組んでみました。 


1回読み出すたびに画面に点を打っていく 
ものと,最初に49カラム目から始め,読み 
出したデータに よって 左右に# マークを 動 
かし,端までいったら再び49カラム目から 
スタートするというもの,そして円周率を 
求めるものの3つです。# マークが 動くも 
のは酔っぱらいの千鳥足を連想させること 
から酔歩と呼ばれるものです。実行して遊 
んでみてください。 

さて,せっかく作った乱数発生器をこれ 
で終わらせるのはちょっとしのびありませ 
ん。近く,この乱数発生器を使って遊んで 
みることにしましよう。 


だいぶ前に 1 C 関係が一気に品不足になり, 
ふつうなら30円くらいの 1 C を200円という 
値段で売りつけられて頭にきて以来,ふて 
寝を決め込んでいたハードの虫がむずむず 
と動き出してしまいました。 

何年ぶりかで秋葉原の パーツシヨ ップや 
ジヤンク屋を真剣にまわってみると,1〇年 
も前とあいも変わらぬその値段に思わず引 
かれて気がついたときには工具やら細々し 
た部品やらをあわせて1万円以上も買い込 
んでいました 0 最近はプログラムばかりや 
っていたけれど……。けどね,それでもね, 
私はハードが好き! 


リスト 1 サンブルプログラム ( MZ - 2500/XI) 

1 U00 . .... 

1010 « 乩数允生機チェック用アログラム - 

1020 - - 

1030 . .... . 

1 04 0 IN IT cr i 2 : 640, 200, 16. : INIT:MUTH 

1050 CLS 2:CLS : 

1060 INPUT U : 乱钦バターン - 表示 1 : 酔电 2 : 円尚率 ;A 
1070 IF A-0 THEN 1330 


1080 IK A-1 THEN 1140 
1090 IF A-2 THEN 1420 
1100 BEKP : G0T0 1060 
1110 

1120 酔歩:どちらにいく確率も M じはずです 
1130 - 

1140 L-0 : R-0 
1150 CLS 

1160 FOR 1-1 TO 100 

1170 X-39 

1180 G0SUB 1586 

1 190 LOCATE X,0:PRINT 

12 0 0 l F A-0 THEN X-X-l ELSE X-X+ 1 

1210 IF \-0 THEN L ■レ 1:L0CATE 0 , 10:PR 1 NT 左 =;L; 回;: GOTO 1250 

1220 IF X-78 THEN B-R+1 : L0CATE 0,11:P R I NT •• 右 = : R; 回; ..GOTO 1250 

1230 LOCATE X,0:PRINT # ; 

1240 GOTO 1180 

1250 NEXT 

1 260 LOCATE 0,15:PKINT "END" 

1270 BEEP 
1280 END 
1290 * 

1300 乱数のグラフィック表示: 

1310 明らかにわかるような周期がでていないことを確認してください 

1320 * 

1330 CLS:CLS 2 

1348 FOR Y-0 TO199 

1350 FOR X-0 TO 639 

1360 G0SUB 1580 

1370 IF A-l THEN PSET (X,Y),7 

1380 NEXT 

1390 NEXT 

1400 BEEP 

1410 END 

1420 CLS 

1430 

1440 ‘ 乱数によって的擊ちを行い.1/4円のなかに入る確率から円周率を求めます 
1460 PI-0 

1470 FOR 1-1 TO 10000 

1480 G0SUB 1670 : X-B 

1498 G0SUB 1670 : Y-B 

1 500 IF X*X + Y*Y<- 65025 THEN PI-PI-^1 

1510 LOCATE 9,0:PRIHT USING #.###«" ; P1/I*4 

1520 NEXT 

1530 BEEP 

1546 END 

1550 - 

15 6 0 乱数発生機からのデータを洸みだし.変数 A に入れて返します 
1570 

1580 A-rnd {]) : i f A-.5 then 1586 
1 590 .if A<. 5 then A-0 else A** 1 
1600 return 

1619 OUT & HFE ,& H 80:0 UT iHFE , 0 OUT &H 1A02 , &HF : OUT * H 1 A 02 ,&HE 

1 620 A INF i & HKE ) AND 1 A - (INF AND 1 

1630 RETURN 以上 X 1 用でした 

1640 


1650 8 ビットの乱数を作成します.偵は変败 B に入れて返します 

1660 


1676 B-0 

1 680 FOR 7J-1 TO 8 
1690 G0SUB 1580 

1700 B-B 拿 2*A 

1710 NEXT 
1720 RETURN 


124 Oh! X 1989.1. 








特集いきなり初春から八ードウエア 


•八ードウェアエ作編 


Xlturbo 用バンクメモリボードの拡張 

512 K バイトの誘惑 



NEW Z-BASIC に付属のバンクメモリボードを 256K バイトに拡張してみましょう。とい 


Kamo 门 Masato 

華門真人 


つても,メモリを買ってハンダづけするだけと作業はとっても簡単です0あなたもお手持 
ちのXI turbo を手軽にシステムアップしてみませんか。 


Xlturbo の 64 K メモリボードをご存じだ 
ろうか。そう, Z - BASIC で MML などに使 
われている例のメモリである。 Xlturbo の 
発売当時か らあった XI turbo には将米的に 
512 K バイトのバンクメモリがサポートされ 
ているというアナウンスがようやく実現し 
たわけである。増設バンクメモリは ,XI 
turboZ II 以降でバンク0,1が標準装備にな 
っている。もちろん初代 t urbo などでも N 
EW Z - BASIC ( CZ -141 SF ) を買うことに 
よってもれなくこのバンクメモリボード(パ' 
ンク 0,1) がおまけ (?) でついてくるからま 
ったく問題ない。 

ここで問題なのは NEW Z - BASIC を買 
ったときについてくるバンクメモリボード 
である。このボードは000 0 H 〜 7 FFFH の 

バンク メモリ カす パ、 ンク 〇, バンク 1 の 2 つ 
あるはずであるから,結局全体の容量は32 
K バイト X 2の 64 K バイ トのはずである。 
ところがこのボード,実はほんのちょっとの 
改造で容量が 256 K バイ トになるという噂が 
ある。これが本当であれば実に美味しい話 
である。果たして噂は本当なのであろうか。 

美味しぃ話 

すでに NEW Z - BASIC を手にした諸兄 
はご存じと思う力 ? , CZ -141 SF(NEW Z - 
BASIC ) 用のバンクメモリボードには配線 
はしてあるけど石が差さっていない個所が 
6力所ほどある。これはどう見てもメモリ 
増設用にしか見えないのである。実際,ボ 
ードには, 

TMS 4464-12 

orMB 81464-12 

orLH 2464-12 

という石の名前が書いてある。 4 64といった 
数字の並びからわかるように,これは4ビ 
ット X 64 K =256 K ビット ( = 32 K バイト) 
DRAM の型番である。空きエリァが6個あ 
るわけだから全体の容量は 64 K バイト(元 
からある分〉 +32 K バイト X 6 = 256 K バ 
イトということになる。う〜ん,なんとも 
美味しい話ではない力、 


どう見てもすべて配線済みだし,なんと 
ご親切にもパスコンまで差さっている。こ 
れでは動かないほうがおかしいといえよう。 
メモリ 1 C をここに差すのは間違いないとし 
て問題は ジャンパ や パターン カットなど, 
ほかの配線を操作しなければならないか否 
かということであろう。結論からいえば, 
手を加える必要はまったくない。 RAM をハ 
ンダづけするだけでちゃんと動く。 

バンクメモリ3分圃クッキンク 

材料 

• 256 K ビット DRAM 6個 

TMS 4464-12 
or MB 81464-12 
or LH 2464-12 

お店に行ってこれを6個といえばふつう 
通じるはず ( 1個1200円程度)。 

籲バンクメモリボード 1個 

CZ -141 SF に付属のもの。これがなけれ 
ばお話にならない。 

馨ソケット 6個 

上記 DRAM 用のもの。よほど腕に自信の 
ある人以外は ソケット を使ったほうが賢明 
だろう。石を對破壊する心配がないし,必 
要とあらば石の使い回しもできる。 

♦ハンダ' ゴテ, ハン ダ少々など 
1) バンク メモリボード(以下ボードと略 



す)にソケットを6個ハンダづけする(ボ 
ード上の白点線で囲まれポッカリと空いて 
いる部分だよ)。終わったらスロットに入れ 
て無事起動することを確かめる。 

2) 大丈夫ならソケットに DRAM を注意深 
く差す。差すときは石の方向に注意。石は 
左右対称じゃないぞっ! 半円形の切り欠 
きをほかの石と同じ方向に合わせること。 

3) 動くように念じつつボードを本体のス 
ロットに差す。いやぁ,おめでとう。これ 
で256 K バイトパ、ンクメモリボードの誕生だ0 
新しい生命 (?) の誕生に乾杯! 

とまぁ,本当に3分間写真並みの簡単さ 
でできてしまうのだ。 

メモリが6個揃わないときは手元にある 
だけ順番につけると1バンクずつ拡張でき 
る。ひとつつけては父のため, 2つつけて 
は母のため……。18ピンの石が6個だから 


図1 メモリの様子 
BIOS ROM 


0000 H 


メイン RAM 


增設 RAM 0 增設 RAM I 


増設 RAM 15 


7 FFFH 


BIOS ROM 
バンク切り換え 


I/O 

アドレス 
ID00H 
IE 00 H 


800 0h 


FFFFh 


増設 RAM 
パンク切り換え 


I/O 

アドレス 

0B00H 


5 I 2 K バイト 


特集 5 I 2 K バイトの誘惑 125 




















































ハンダづけは108つ。除夜の鐘でも聞きなが 
ら,作業を進めるとよい。 

ただ,ボードの動作に不安を覚える人が 
いるだろう。しかしその点は大丈夫。シャ 
—プ発その筋によると,ちゃんとした動作 
をするということであった。もちろん自分 
で改造した以上,責任はすべて自分にある。 
シャープは一切保証してくれないであろう 
からそのつもりで(ハード改造にリスタは 
つきものなのだよ)。 


ドを買ってそれをバンク8〜15とする場合 
には, 

SW 1 : OFF 
SW 2 : OFF 

とすればよいだけのことである。これはボ 
ード上の配線を2本切っておけばよい。 

ちょ〈ちょくバンク指定を切り換えたい 
という人は配線をカットした上でディップ 
スイッチを取りつけ,ディップスイッチで 
設定すればよいし,固定したままでいい人 


ンクの中からひとつのバンク(さらにプラ 
スすることのメインメモリ)を指定しなけ 
ればならないわけだから , BIOS ROM に 
比べればちよっとだけ面倒になってしまう 
(といっても全然たいしたことはない)。 

具体的には I/O ポートの 0 B 00 H に図 3 の 
ようなデータを出力してやればよいわけで 
ある。たとえばバンク1をセレクトする場 
合には, 

LD BC ,0 B 00 H 


メモリボードの設定 

ちよっと疑問を感じている人がいるかも 
しれない 0 Xlturbo のバンクメモリは512 
K バイトまでサポートされているのに,こ 
のボードでは 256 K バイトまでしか拡張でき 
ない。注意深い人ならボード左上にある 「D 
SW 1」 と書かれた部分に気づいたことであ 
ろう。実はこれが鍵なのである。 

DSW とはいうまでもなくディップスイッ 
チのことである。そう,本来ならばここに 
ディップスイッチが差さっているはずなの 
である。そしてそのディップスイッチでバ 
ンクを指定,というふうになるはずなのだ 
が…… , どうやら経費節減 (?) のためか 
ディップスイッチは差さっておらず,直接 
配線してある。 

よく見てみると,左から1,2,3,4とい 
うふうにスイッチ (S W ) 力 ? 並んでいる(図3 )〇 
さらに S Wit SW 2 は配線によってつなが 
っている(すなわち ON の状態)ことがわ 
かる。これらのスイッチの意味は, 

SW 1 • 

ON : バンクポートデータリード 可 
OFF : バンクポートデータリー ド不可 
SW 2 

ON :バンク〇〜7設定 
OFF :バンク8〜15設定 
SW 3, 4 :未使用 

というふうになっている。バンクポートデ 
ータリードというのはあまり気にしなくて 
もよいが,端的にいうとメモリボードをつ 
けるときはそのうちの1枚(だ 一 
け)はこのスイッチを ON にしな 
ければいけないということだ。 丨 

SW 2 はボードをバンク〇〜7と — ~ ' 

するか8 〜 15とするかの指定だ。 LJ 

つまり,1枚目のボード(バン 
ク〇〜 7) は, 

SW 1: ON 
SW 2 : ON 

とすればよいし(つまりなんに 
もしなくていい),もう1枚ボー 


は ON ならばそのまま(すでに配線がつなが 
れている), OFF ならば配線をカットして 
やればよい。 

ほかに注意事項としては,動作の安定化 
のために本体内の I / O スロットに取りつけて 
やること。また,ハード的に512 K バイト 
(バンク16個)しか持てないのだからボード 
を3枚以上差すな,というのは常識だろう。 
あ,そうそう,すでにバンクを2つ(バン 
ク 0,1) 内蔵している Z II 以降ではどうなる 
かだが,ちゃ〜んと動く。ただし,バンク 
0,1は本体内のメモリを,2〜7はボード上 
のメモリを使うことになる(この場合もス 
イッチ設定は SW 1, 2ともに ON )。 またバ 
ンク8〜15はバンク〇〜7を取りつけたう 
えで取りつけること。 

バンクメモ 1 」活用術 

さて,ともかくこれで 256 K バイトバンク 
メモリボードは完成した。しかしハードはあ 
ってもソフトはない。現在のところソフト 
でバンクメモリをサポートしているのは Z - 
BASIC のみである。しかしその Z-BASIC 
といえども単に変数領域としてしか使えな 
い。やはり本格的にバンクメモリを使いこ 
なすためにはおさだまりのマシン語へと走 
ることになりそうである。 

XI turbo にの バン ク切り換えは I / O ポー 
卜の 0 B 00 H をアクセスすることによって行 
われる。ちようど BIOS ROM では 1 D 00 H / 
1 E 00 H をアクセスするのと同じなわけだ。 

ただ BIOS ROM と違って最大16個のバ 

ブスイッチの設定 



未使用 


ON :バンク0 ~ 7セット 

OFF :バンク8〜15セット 

ON :バンクポートデータリード可 

OFF :バンクポートデータリード不可 


LD A , 00000001 B 
OUT ( C),A 

とすればよいわけだし(この結果メインメ 
モリの000 0 H 〜 7 FFFh がバンク1に置き 
代わる),逆にメインメモリに戻す場合には, 
LD BC ,0 B 00 H 
LD A , 00010000 B 
OUT ( C),A 

としてやれば OK というわけ。 

バンクメモリを使うにあたってはメイン 
メモリにはない特殊な性格を考慮しなけれ 
ばならない。まず,バンク切り換えのプロ 
グラムは8000 H 以降に置かなければならな 
い。というのもバンク切り換えが行われた 
瞬間に000 0 H 〜 7 FFFh のメモリは入れ替 
わってしまうのであるから,バンク切り換 
えのプログラムが 7 FFFH 以前に置かれて 
いるとその瞬間に元のプログラムを見失っ 
てしまうからである(もっともこれを逆手 
に取る テクニック もある)。 

同様にしてスタックを 7 FFFH 以前に置 
くのも禁じ手である。ちょっと考えてみる 
とわかるが, PUSH したデ'ータと POP した 
データとが違ってきてしまうといったよう 
なことも起こりうるのである。 

また,使用するしあたって切り換えを要 
するので,あまり切り換えばかりしてい 
ると必然的に実行速度が落ちてしまうので 
ある。こういった点をふまえてやると,パ、 
ンクメモリの使用法として次のようなもの 
が浮かび上がってくる。 

1 ) ほかのスタンドア ロンなプログラムを 
置いておく 

図3バンク切り換え 



0 ~15番のバンクを指定 


この I bit でメモリを指定 
J 0 :バンクメモリ 
IL :メインメモリ 


Oh ! X 1989.1. 



































2) サブルーチンの集まりとして使う 

3) データエリアとして使う 

1) は切り換えに時間がかかるならめった 
に切り換えなくて済むようにしてしまえと 
いうことで,バンクメモリ内にまった〈別 
のプログラムをおいてしまうということで 
ある。これを使えばメインメモリに turbo 
BASIC , パ、ンクメモリ内に S - OS というき 
わめてエグイ取りあわせも実現できてしま 
う0この両者をうまく切り換えて使ってや 
れば BASIC 上で動くマシン語プログラムの 
開発なんかもラクラクである。すなわち, 
BASIC からバンクを切り換え, S - OS を呼 
び出し,プログラム作成,アセンブル。プ 
ログラムができたら切り換えによってメイ 
ンメモリ ( BASIC ) に戻り実行,不都合があ 
ったら再び S - OS にというきわめて能率の 
いいことができてしまうのだ。 

これを実現するにはたいした手間はいら 
ない。前に述べたバンク切り換えの手順に 
よってバンク切り換えしてやればよいだけ 
の話である。また,バンクメモリに入れる 
プログラムであるが,これはディスクから 
一度 G - RAM にロードして,そこからバン 
クメモリに転送するといった方法が賢明だ 
ろう。 JODAN - DOS をお持ちの方ならば', 
JODAN - DOS を利用するのも手である。 

2) は パ、 ンクメモリにサブルーチンをまと 
めて入れてしまうという手である。発想的 
には BIOS ROM とまったく同じ。ただ,バ 
ンク切り換えの時間を考えて高速を要求さ 
れるルーチンはメインメモリにといった使 
い分けをするといっそう効果的であろう。 

使い方は基本的に (1) と同じである, 
プログラムやスタックの位置に注意 してバ, 
ンク切り換え,そしてサブルーチンコール 
といったぐあいである。うまい方法もある。 
リスト1がそれである。これは BC レジス 
夕にコールしたい(バンクメモリ内の)ル 
ーチンのアドレスを入れて RST 28 H とする 
だけでコールできるという代物である (7 F 
FFh 以前からでも 0 K !)。ただし, 002 EH 
にコールしたいバンクのナンバー (0 〜 15) 

を入れておくこと。 

これは先ほど7 FFFh 以前に切り換えプ 
ログラムを置くと,切り換えの瞬間にプロ 
グラムを見失うといったのを逆手に取った 
方法なのである。このプログラムのミソは 
バンクメモリ側にもプログラムをあらかじ 
め書き込んでおくことにあり,この方法は 
BASIC が BIOS ROM を呼び出すときにも, 
使われている ( RST 18 H )。 なかなか面白い 
動きをしているのでパズルのつもりで解析 
してみると面白いだろう。 


3) はいうまでもなくいちばん多い使われ 
方である。 Z - BASIC の VDIM はこれにあた 
る。これについては今さらつけ加えること 
もないだろう。単に容量が増えただけのこ 
とで'ある。 

最後に 

さて,ごうう LL てひ心少クメモリ増設および 


ば十分,と考えたのだと思う。これで足り 
ない人は自分で増設してください,という 
ことだろう。その証拠があの異常なまでに 
丁寧な書き込みである。私はあそこまで親 
切に書き込まれたボードは見たことがない。 

しかし残念なことに肝心の256 K ビット 
DRAM がいまだに品薄でなかなか手に人ら 
ない(ここら へんに も原因があるかもしれ 
ない)。手に入らないとなると初めからつけ 


その活用法について見てきたわけである力 5 ',ておいてくれればよいのにと思ってしまう 
なぜもともと 256 K バイトメモリとして売 のも人情であるが,ともかくこのバンクメ 


らなかったのかという疑問が残る。これ モリ,今まででは考えられなかった広い空 
はやはりおさだまりの経費節減というやつ 間を手にできるのだ。 DRAM が手に入った 
であろう。ま,とりあえず 64 K バイトあれ •らぜひともやってみてほしい。 


リスト1 


0000 




i 

;LIST 1 


0000 




2 

;Bank subroutine call 

0000 




3 



0028 




4 

ORG 

0028H 

0028 




5 



0028 

CD 

2B 

00 

6 

CALL 

002BH 

002B 

C5 



7 

PUSH 

BC 

002C 

F5 



8 

PUSH 

AF 

002D 

3E 

00 


9 

LD 

LD 

A,0 

002F 

01 

00 

0B 

10 

BC.0B00H 

0032 

ED 

79 


11 

OUT 

(C) ,A 

0034 

FI 



12 

POP 

AF 

0035 

C9 



13 

RET 


0036 




14 



0036 




15 

OFFSET 

8000H 

002B 




16 

ORG 

002BH 

002B 




17 



002B 

00 



18 

NOP 


002C 

F5 



19 

PUSH 

AF 

002D 

3E 

10 


20 

LD 

LD 

A,10H 

002F 

01 

00 

0B 

21 

BC.0B00H 

0032 

ED 

79 


22 

OUT 

(C) ,A 

0034 

FI 



23 

POP 

AF 

0035 

C9 



24 

RET 



; 1 )Main RAM 


; Bank No. 


; 2) Bank RAM 


;Main memory 


超簡易 FM / PSG ミキサーの製作 ( XI / turbo ) 西川善司 


X Iの F M 音源ボードを使うときの常識は「才 
—デイオアンプにつなぐ j ということです。付 
属のスピーカでは低音はまったく出てきません 
し,音質についてはもういいっこなしの世界で 
す。ゲームやミュージックプログラムのなかに 
は PSG を使用しているものもあって F M 音源は 
ちやんとしてても,どうもバランスがおかしく 
なってしまいます。 「FM 音源と PSG の音が一緒 
に出てくれたら…… j と思っている人も案外多 
いのではないでしよう力、。 


そこで簡易ミキサーを作ってみました。 FM 
音源ボードと本体から出ている AUDIO OUT 
をケーブルで引き出し,図のような回路で混合 
します。電解コンデンサ3つ (22"F), 可変抵抗 
3つ ( IOkQ), 抵抗4つ (10 k Q X 2, 20 k Q 
X 2 ), あとはコネクタだけという簡単さです。 
電源もなにもいりません。試作したところ,総 
費用380円!(ピンジャックは別)とにかく線を 
つなげばできあがりですから,ぜひ試してみて 
ください。 


図4 簡易ミキサー 


IOkQ 



OUT 


特集 512 K バイトの誘惑 127 




















特集いきなり初春から八ードウエア 


八ードウェアエ作編 


64180ボードの製作 


X 68000 用 CP / M -80 システム 




—— 

周辺ボードにもいろいろありますが,ここではいきなり CPU ボードを製作します0 Z 80 の 
高速版として64180を組み込み, CP / M を超高速で動作させてみましよう。プリント基板の 
通販サービスもありますのでぜひ製作に挑戦してみてください。 


Yoshida 1 akao 

吉田孝雄 


はじめに 

これから製作するのは X 68000 に接続する 
64180 CPU ボードです。64180というのは 
XI や MZ で使われている8ビット CPU,Z 
80の上位にあたる CPU です。今回はこのボ 
ードの製作とボード上で稼働する CP / M - 
80 システムの制作を行います。 

このシステムの特徴として, 

1) 64180 (10 MHz ) を使用 

2) 64 K SRAM ノー リフレッシュ 

3) 1ボード構成で拡張スロットへ内蔵 

4) CP / M のディスクは X 68000 のメモリを 
使用。容量 512 K バィト 

5) Human 68 k と CP / MO フアイル互換プ 
ログラムを用意 

6) Human のバッチフアイルで CP / M コ 
マンドを実行後,再び Human に復帰し 
作業を継続可能 

などがあります。 

X 68000 では CP / M システムのスタンダー 
ドである8インチ 1 S や5インチ 2 D のドラ 
イブを接続することができませんので,と 
りあえずソフトウエアはすべて RS -232 C で 
CP / M マシンから転送するということにし 
て,ディスクには X 68000 側のメモリ 512 K 
バイトを RAM ディスタとして使用します0 
表1 部品リスト 


日立64180 -10 

XI 

2,000円 

NEC D 71055 C 

XI 

430円 

NEC D 43256 AC - I 0 L 

X 2 

6,000円 

各社 74 LS 30 

x 3 

120円 

74 LS 245 

X 4 

XI 

540円 

74 LS 365 

60円 

74 LS 08 

XI 

40円 

74 LS 04 

X 2 

X 4 

80円 

74 LS 32 

160円 

50 P ユニバーサル基板 

XI 

4,500円 

CI 8 I 5 トランジスタ 

X 2 

40円 

IOkQ 4 P 集合抵抗 J 48 

X 3 

90円 

IOkQ 抵抗 

X 7 

35円 

I 00^ F 電解 コンデンサ 

XI 

11円 

0.047 只 F セラミックコンデンサ X 16 

240円 

I 00 PF セラミツクコンデンサ 

X 2 

30円 

計12,376円 


CP/MO ファイルと Human の ファイルは 
ツールに より,変換が可能です0このこと 
は,逆に X 68000 用のスクリーンエディタな 
どの開発環境が CP / M 用にも使用できると 
いうことも意味しています。高速クロック, 
RAM ディスタとあわせて開発効率をあげ 
ることもできるでしよう。 

mi 80 とは 

このボードで使っている64180という石 
は日立の開発した Z 80 上位互換の CPU で次 
のような特徴を持ちます。 

1 ) C - MOS で組まれてぉり低消費電力 

2) 10 MHz までの高速クロック対応 

3) チップ上に MMU , DMA , シリアル I 
/〇などの周辺 LSI を内蔵している 

4) 乗除算命令などに拡張がなされている 

5) 同クロックでも Z 80 より2, 3割処理速 
度が速い 

今回採用した石のクロックは 10 MHz (ノ 
ーウェイト)ですので,このボードはコン 
パクトながら既存の CP / M システムのなか 
では最高速の部類に入ります。 V 20 や V 30 
などを使ったシステムでは i 8080命令しか 
実行できず, CP / M 以外にはほとんど使用 
できませんでした力%このボードでは Z 80 
の一般的なソフトを移植することも可能で 
す。 

ただ,64180は Z 80 互換というだけでなく 
多くの追加機能を持っているのですが,こ 
こでは単に Z 80 の高速版としてしか使用し 
ていません。 

製作の前に 

このボードを自作される方,特に Oh!X 
の読者はハード製作の経験があまりないと 
思いますので,私流のやり方を交えて少し 
詳しく解説します。 

まず,部品リストに並んでいる部品を入 
手します。通信販売などがよいでしょう。 
『トランジスタ技術』などの広告を見て注文 
します。ただし, CPU のクロックや SRA 



これが完成品だ 

M のアクセスタイムには指定のものを必ず 
使用してください ( CPU は8 MHz のもの 
でも動作は確認しましたが)。また,コンデ 
ンサの耐電圧は16 V 程度のものを使ってく 
ださい。抵抗の電力も 1/4 W 以上を選ぶよ 
うにします。コンデンサ,抵抗, 1 C の読み 
方は115ページを参照してください。写真の 
ボードでは 1 C などはじかづけされています 
が初心者の方は必ず 1 C ソケットでつけるよ 
うにしてください。 

次に工具を揃えます。よい仕事はよい道 
具からです。揃えてもらいたいのは, 

1) ハンダゴテ (2 〜 30 W で先細のもの) 

2) ニッパ(小型のもの) 

3) ピンセット 

4) ハンダ吸い取り器 

5) ハンダ 

6) 配線ワイヤ(ラッピング用電線。ただ 
し,耐熱でないもの) 

7) ドライバ,ラジオペンチなど一般工具 


128 Oh ! X 1989.1. 
























配線ワイヤは細い単線のものを使ってく 
ださい。ビニル導線などは太いので配線ス 
ペースがなくなったり, X 68000 の狭い拡張 
スロットに入らなくなったりします。 

製作手順 

部品が揃ったところで製作に入りましよ 
う0まず,基板に載せる 1 C や CPU のレイ 
アウトを決めます。回路図から考えて配線 
が最短になるように決めてください(とは 
いえ,あまり気にすることもないか)。要は 
正しくつながっていればそれでいいんです。 

レイアウトが決まったら,部品をハンダ 
づけしてください。おっと,基板の表裏に 
気をつけてください。基板エッジコネクタ 
の番号が A 1 〜 A 50 と書いてあるほうが表, 
つまり部品面で B 1 〜 B 50 と書いてあるほう 
が裏,つまりハンダ面となります。なお, 
CPU は足のピッチがシユリンク (1.778 mm 
間隔)ですのでこのままではピンの穴があ 
いません。サンハヤトの DIP 変換ソケット 
(基板)を入手するか,または糸鋸などで基 
板を切って溝を作る必要があります(私は 
切りました)。 

続いて,実際にワイヤをハンダづけして 
配線を始めます。ワイヤのハンダづけには 
コツがあります。必ず,図1のように行っ 
てください。 ニッ パで線をむく とニッ パに 
よる傷のためワイヤがその部分から折れた 
り接触不良になりますのでおすすめできま 
せん。 

ハンダづけはまず,ハンダしたい部分を 
前もってそれぞれハンダメッキしておき, 
次にハンダゴテでハンダを溶かしてくっつ 
ける手順でしてください。前もってハンダ 
メッキしておかないとイモハンダやテンプ 
図1 ハンダづけのコツ 



ラッピング用電線をカットし,先をむかずにその 
ままコテ先面に垂直に当てる。 

ヤニ 入り ハン ダを そこへ 加えて,溶けた ハン ダで 
電線の芯線をメッキする。 

また同時にハンダの熱で電線の被覆を収縮させ芯 
線をむき出す。丨咖程度が適当。 

コツ としては,コテ先面に垂直に当てた芯線を以 
上の作業の間,離さずに熱を加え続けること。決し 
て ハン ダがもったいないと思わないことです。 


ラ(ハンダづけできたようでも線を引っ張 
ると抜ける)となって,接触不良の原因と 
なります。 

配線は 1 C や CPU の電源から始めます。 
あらかじめ配線図を コピーして おいて,1 
本配線するごとに線を赤く塗ってチェック 
してください。こうすれば,どこまでやっ 
たか忘れたりやり残すことがありません。 

ここまでくればしめたもの。あとは単純 
作業の繰り返しです。できるだけ途中での 
中断は避け,腕が痛くなっても腰が文句を 
いっても根性でやってください。中断して 
かつ日があくと続ける気力が失せてくるも 
のです。配線がすんだら,その日はもう黙 
つて寝ること0そして翌日にはリフレッシ 
ュした頭で配線チェックをやりましよう。 
テスタで全配線をチェックし,特に電源+ 
5 V と 0 V のあいだがショートしていないこ 
とを確認してください。大丈夫であれば, 
とりあえず 1 C と CPU をソケットからはず 
しておいて,ボードのみを X 68000 の拡張 
スロットに入れて X 68000 を立ち上げます。 
大丈夫ですね?それでは本番です。 1 C や 
CPU をソケットに入れて試してみてくださ 
い 0 ここで Human が立ち上がらない人は 
どこかに配線ミスがありますので,立ち上 
がるようになるまでチェックを繰り返して 
ください。 

最後にハンダづけには火傷がつきもので 
すから,そのときはただちに冷蔵庫の氷を 
持ってきて患部を冷やしてください。冬場 

図3 メモリマップ 


であれば冷水でもいいでしょう。ハンダゴ 
テの熱は 350° C 程度ですから,ほおってお 
いても水ぶくれができる程度ですが,一応 
気をつけるようにしてください。 

システム解説 

これでとりあえずボードはできました。 
ここでもう少しハードウェア/ソフトウェア 
関係を掘り下げてみましょう。 

CPU に与えるクロックは X 68000 の拡張 
スロットに出ている 20 MHz をそのまま使 
つています。メモリはアクセスタイム100 
ns のスタテイック RAM (256 K ビット)を2 
個使用しノーリフレッシュで駆動していま 
す。これは図3のように X 68000 のユーザ 
一 I / O 空間に配置されており, X 68000 から 
64180にバスリ タエ ストをかけメモリを開 
放させれば以降は68000から自由にアクセ 
スできるわけです。ただし,この場合はバ 
イトアクセスしかできませんので注意して 
ください。ここでは68000から64180にバス 
リク エス トやリセット, NMI をかけたり, 
64180からのバスアクノリッジや HALT を 
受け付けるために71055 (8255 の C - MOS 版) 
を使っています。なお,64180から直接680 
00のメモリをアクセスすることはできませ 
ん〇 

68000と64180のやりとりについて簡単に 
説明しておきましょう。通常64180を使用 
していないときには64180はリセットがか 


00000 0H 


0C00000H 


0E00000H 


0EC0000H 

OEDOOOOH 

0EE0000H 


0FFFFFFH 


Human68k 


メインメモリ 


拡張メモリ 


グラフィックメモリ 
(5I2K) 


テキストメモリ 

(5I2K) 


システム I/O 


-ザ l/0(64K) 


あき 


ROM 

(CG.IPL) 


/0EC0000H 


0ECFFFFH 


0ECFFF8H 
I 71055 


X68000 メモリマップ 


68000 から 64180 メモリアクセス 
した時のメモリマップ 


-0000H 

0I00H 


- 0D400H 

- 0DC00H 

- 0EA00 卜 


0FFFFH 


0 ページ 


CCP 


64180 ボードメモリ マップ 
(60K CP/M) 


特集 X68000 用 CP/M-80 システム 129 















































図 3 回路図 


① oor* ■、山 oo^oor— vdlotjco cm o c 

fM04CVJ<VICVJCSiCNJ«Vj r-r- =一 

CD CO CD CD CD 


sV sY sY 


il 


g § 


-y -r «r s 

教 g 


U3 | 




sY 


< 


- < ~ Q ~~ Q 


㈤ ... む 

iS 



6 6 

ベ ば)寸 COCVJr - 〇⑦〇〇 

ン CD CD 

ら Q Q 


66066( 


UD - 


<VJ O C 





















1 1 . 

? 15 

1 \i g 

BUS 

NMI 

RAM 


CVJ 冥 



Isl マ < 

1 zv 
llOQllv 

tmlv 

OSBOSV 

6S5V 

ln8 

s 

L 2 

0 の 

aoz 

5 


。 K?4Yusola§- 陴 nIh 中 LJLr2-so® 
。窑辆+4}陴 l?sal-gr ㊀ 




卜 T T9~ 


卜 91 .xlhz}. 

U.3. 卜 — II 


o 

M 

1 

o 

o 


o 

K 

£ 

CVJ 

K. 

CO 

a : 

l 

- O 

O 

IS 

IS 

li 

〇 - 

-§ 

(/) 

LlJ 

< 

c 

パ 


f+ 


11. 攻 001 

6 loo> 


0080 . 
5180 



i_lVH 


ISN 

S3CC 

lo-3IQ:sn 8 
xovsnCQ 


一 ? 17 



〇囊 drs 

。旺珉 K-fnvix toCVJoCXJloIisa 趙箕姝脒掛魈 @ 

6W0Zcvl< 



00 

o 

M 

Kf 

< 

- S 

卜 ^ 

-§ 

g. 

IS 

旧 

<VJ 

O 

an 

.三 


① 

o 

H 

< 

- s 

卜 , 

-§ 

1 案 

IS 

罔 

一 

o 

CD 







§ 

M 

< 

一% 

卜 

一。 

1 CS OE WE 


'00 

一 

— La 

- ov 

i 

-i 


9S 卜 Z 


130 Oh ! X 1989.1. 









































































































































































































































































けられています。 CP M.X を実行すると 64 
180 のメモリ上に CP/M のシステムをセッ 
卜したうえでリセットが解除され, 64180 
が動き始めます 0 キー入力やコンソール出 
力などの BIOS コールが生じると, 64180 は 
まず 0066 h からの 2 バイトを退避し RETN 
コードを書いたあ liHALT します。 

68000 は 71055 経由で HALT を検知すると, 
バスリクエストを発生しメモリを開放させ 
て, 64180 がメモリ上に書き残したメッセー 
ジを読み取ります。このメッセージは主に 
Human 68 k に依頼する BIOS のフアンクシ 
ョン 番号とそれに付随するデータから なっ 
ています。 Human はこれに従ってしかる 
べき DOS コールな どを行い結果を 64180 の 
メモリに書き込むわけです。 

そして 71055 を経由してバスリクエスト 
を解除し 64180 に NMI をかけます。 64180 は 
NMI により 0066 h へジャンプしますが, R 
ETN 命令により,先ほど HALT したアド 
レスの直後からプログラムの実行を再開し 
ます。ここでさっき退避した 0066 h からの 
2 バイトを復帰し, BIOS コールを終了さ 
せるのです。こういった, 68000 の 16 ビット 
バスを8ビットバスに曼み込む方法やバス 
リクエストなどの使い方は京都 マイ クロコ 
ンピュータの TurboV システムを参考にし 
ています。 

転送プログラ厶のスヵ 

ボードができあがってもソフトがなけれ 
ばただの板にすぎませんから,サポートソ 
フトを掲載します。ソフトを RS -232 C で転 
送する こ とや ツールな どの充実度から考え 
て CP/M を乗せておくのがもっとも無難と 
いえるでしよう。 

表 2 を見てください。 CP/M の立ち上げ 
に必要なファイルをまとめてあります 〇 C 
P / M -80 本体 ( CCP , BDOS , トランジェン 
トコマンドなど)はデジタルリサーチの著 
作物であるため掲載することはできません。 
これらのソフトは8ビット パソコ ン用の C 

P/M から抜き出して X 68000 に RS -232 C で 
転送します。よって,このシステムを立ち 
上げるためには, X 68000 と CP/M で RS - 
232 C が使えるパソコン, RS -232 C クロスケ 
ーブルが必要です 0 X 68000 しかない人はど 
こかから Xlturbo などを調達してきてくだ 
さい。 

加えて, CP/M の使用にはライセンスが 
必要ですから市販の CP / M -80 を購入しな 
ければなりません。 CP/M の使用規約は 1 
マシン1システムですから,現在手持ちの 


表2 ファイルー覧表 


ファイル名 

説 明 

備 考 

AUTOEXEC. BAT 

C: を RAM ディスクとしてイニシャライズしたのち, B ドライブ 
の RAM. BAT に移行する。 

Human68k システムディ 

スクへ入れておく。 

CONFIG. SYS 

グラフィックメモリを RAM ディスクとして指定。 

同上。 

Y. DAT 

RAM ディスクのイニシャライズのための“ Y" 丨文字。 

同上。 

CPM.S 

CP/M-80 用 BIOS ルーチンからの BIOS コールを Human68k の DOS コ 
ールへ変換する。また CP/M 呼び出しコマンドでもある。 

CPM.X のソースファイ 

ル。 

RS.S 

XIからの RS-232C によるファイル転送を受信し, Human68k のフ 
ァイルとして出力する。 

RS. Xのソース。 

HTOB. S 

XIから送られた HEX ファイル (RS.X により受信 • 出力されたフ 
ァイル)をバイナリファイルへ復元する。 

HTOB. Xの ソース 0 

RAM. BAT 

C: (RAM ディスク)に CPM サブディレクトリを作り, B ドライブ 
の CP/M ファイルをコピーする。また CP/M 用ディスクに指定さ 
れたファイルを転送し, CP/M をイニシャライズして立ち上げる。 


CCPBDOS. OBJ 

CP/M-80 の CCP, BD0S のオブジェクト。 

CPM. Xにより結合され, 

配置される。 

BIOS. MAC 

CP/M-80 の BIOS であり BIOS. OBJ のソース。 

EX. MAC 

Human68l< と CP/M-80 とのファイル交換プログラム。 EX. COM の 
ソースファイル。 

メディァ変換プログラ 
ムではない。 

OS. MAC 

CP/M-80 実行中に Human68k へ戻るためのコマンド。 

OS. COM のソース。 

BTOH. MAC 

バイナリファイルから HEX ファイルを作るユーティリティ。 

XI上で使用。 

KEY. SYS 

KEY. SYS は Human68k オリジナル SYS ファイル。 

ファンクシヨンキー定 

義 体。 

KEYCPM.SYS 

KEYCPM. SYS は CP/M 用。 KEY. Xで作成する。 

KEY. DAT, KEYCPM. DAT 

それぞれ KEY. SYS, KEYCPM. SYS を実行するコマンドファイル。 

KEY コマンドに対し指定。 

INIT. DAT 

CPMINIT. BAT で実行する内容を指定する。 


M80.BAT 

Human68k から CP/M を呼び出し M80 を実行。 

C>M8(L^ ファイル名®) 

GENCOM. BAT 

同じく M80, L80 を実行し COM ファイルを得る。 

OGENCOMu ファイル名® 

GENBIOS. BAT 

同じく M80, L80 実行後 BIOS. OBJ として SYS サブディレクトリへ。 

OGENBIOS (£R) 

‘ CPM. BAT 

ファンクシヨンキーをセットして CP/M-80 へ移行。 

C>CPU(£R) 

CPMINIT. BAT 

CP/Mm ディスクを消去し, INIT. DAT で指定したファイル 書き込 
み(他の CP/M コマンドも可)を行ってディスクをイニシャライ 
ズしたのち, CP/M を立ち上げる。 

C>CPMINIT(eR} 


表3 オプション表 


ファイル名 

オプション 

使用法 

説 明 


B 

C>CPMu-Bu コマンド列© 

CP/M での BAT を実行する。コマンド列にキー 
入力相当の命令群を入れておく。 

CPM 

(Human68k) 

1 

C>CPM^-I (QR) 

CP/M 用ディスク領域にあてられたメモリを消 
去し, OS.COM, EX.COM を害き込む。また64 
180メモリに CP/M システムを口ードし, CP/M 
へ移行する。コールドスタートする0 

T 

C>CPM^-T (Qg) 

CP/Mm ディスク領域のメモリを消去しない。 
それ以外は"丨"オプションと同じ。 

なし 

C>CPM@ 

CP/M 用ディスク領域にはタッチせず。また C 
P/M システムの口ードはしない。(ホットスタート) 

EX 

(CP/M) 

R 

A>EX^-l ファイルネーム.タイプ @) 

Human68k のファイルを CP/M 用ディスクファ 
イルとして読み出す。ワイルドカードは不可。 

W 

A>EX^_Wu ファイルネーム.タイプ® 

CP/M ファイルを Human68k のファイルとして 
書き込む。ワイルドカードは不可。 

なし 

A>EX@) 

EX.COM を起動する。以降メニューに従う。ワ 

イルドカードは不可。 

OS 

(CP/M) 

N 

A>0S^-N (QR; 

CP/M から Human68k へ移行。 

BAT ファイル中で用いる。 

なし 

A>0S @) 

同上だが, “good bye” !と表示する。 


[注意]丨.^はスペース丨字を示す。それ以外は不可。 

2. ® はキャリッジリターン (J) を示す。それ以外は不可。 


特集 X 68000 用 CP / M -80 システム 131 









































CP / M がある場合でも新たにシステムを揃 
えてください。転送する CP / M は 60 K CP / 
M であれば, PC -8801 用でも FM -7 Z 80 ボ 
ード用でもなんでもかまいませんが, XI 用 
のランゲージ マスター (9, 800円)がもっと 
も安価でよいでしょう。 

注意点として, XI 用の RS -232 C マウス 
ボード ( CZ -8 BM 2) は XI CP / M でサボー 
卜されていませんので,旧式の RS -232 C ボ 
ード ( CZ -8 RS ) を使ってください ( CP/M 
のファイルが使える通信ソフトがあればそ 
れを使うこと)。 

XI シリーズとの組み合わせは, 
X 68000+ X 1+ CZ -8 RS + X 1 CP/M 
X 68000 + Xlturbo + turboCP / M +XI CP/M 
となります。 

さて,準備ができたら XI では CP / M を X 
68000では Human 68 k を立ち上げます。まず, 
XI と X 68000 で通信ができるように RS -232 
C のパラメータをあわせましよう。9600 bp 
s , 8ビット,パリテイなし,ストップビッ 
卜2, XON / OFF なしのように TERM.CO 
M , SPEED . X を使って設定します。 RS -2 
32 C ボードによっては9600 bps の設定にはボ 
ード上のディップスイッチ設定が必要なも 
のもありますので,ボードの取扱説明書を 
参照してください。 

CP / M では PIP コマンド, Human では C 
OPY コマンド により RS -232 C への入出力 
が可能ですが, 

1) バイナリファイル中に IAh ( EOF ) があ 
ると転送が中断する 

2) PIP コマンドでは転送に先立って40バ 
イトの OOh ( NULL ) を付加する 

3) XI CP / M では XON / OFF 制御ができ 
ないため, X 68000 で受信した ファイルに 
欠落が起きる ( COPY コマンドでは受信 
パ、ッファ が いっぱいになる とデイ スタへ 
の書き込みを行う力す,この間のデータが 
失われる) 

などのため,満足なデータ転送ができませ 
ん。そこで次の3つの プログラムを 用意し 
ました。 

1) BTOH.COM ( CP / M ) 

52 K バイトまでのバイナリファイルを H 
EX ファイルに変換する〇 

2) HTOB.X ( Human ) 

HEX ファイルをバイナリファイルに変換 
する。 

3) RS . X ( Human ) 

COPY コマンドの代わりに用いる(受信 
専用)。受信バッファに G - RAM を使うので 
欠落が起きない。 

まず, BTOH . COM ですが,リスト1の 


ソース リストを WORD MASTER などの 
エディタを使って入力しアセンブル/リンク 
してください0プログラムは MACRO -80 
用に記述されていますので違うアセンブラ 
を使っている人は一部修正が必要かもしれ 
ません。以下に手順を示します( XI )。 

A>WM BTOH.MAC 

— > ソース 入力 

A > M 80 = BTOH 

A > L 80 BTOH , BTOH / N/E 

これで COM ファイルができました〇サ 
イズは010 Oh 〜 0566 h です。 

次に Human を立ち上げて, ED などのエ 
ディタから HTOB . S を打ち込みます。手順 
は, 

A>ED HTOB.S 

ソース 入力 

A > AS-W HTOB 

A>LK HTOB 

となります。これがすんだら RS . S もまっ 
たく同様に入力してください。 

転送の実際 

これで転送プログラムは揃いました。今 
度は転送するファイルを揃えましよう。ま 
ず, CP / M から送るファイルとして CCP , 
BDOS が必要なのですが,これらはシステ 
ムディスクには入っていません。しかし, 
CPM 60 N . SYS というファイルの一部がこ 
れにあたりますので DDT で切り取ります。 

A>DDT CPM 60 N . SYS 

- M 0 980,1 F 7 F , 0100 
-X 

A > SAVE 22 CCPBDOS . OBJ 
のような手順で行ってください。 

それでは実際にファイルの転送を行って 
みましよう0まず, COM ファイルや SYS 
ファイルなどのバイナリファイルはそのま 
までは転送できませんので先ほどの BTO 
H . COM で HEX ファイルになおしておきま 
す 0 テキストフアイル (TYPE コマンドで 
ちゃんと中身の見えるファイル)はそのま 
まのかたちでかまいません。 

CCPBDOS . OBJ を_ 云 送する戈 易 合を{列に 
手順を示します。 XI を立ち上げ, 

A>BTOH 

Binary file name ? : CCPBDOS.OBJ 

Ready ( Y / N)Y 

とします。これで CCPBDOS . HEX ができ 
ました。試しに TYPE すると HEX ファイ 
ルがどんなものかわかると思います。なお, 
HEX ファイル変換は少し手抜きしたので 
元フアイルの約4倍の大きさのフアイルを 


出力します。ディスクの残り容量には注意 
してください。 

それでは転送しましょう。 RS -232 C の接 
続と通信パラメータの設定を確認してくだ 
さい。 X 68000 を立ち上げ, 

A > SPEED 

—(そのままリターンを押す) 

A>RS 

とします。これで受信状態になりました。 
SPEED . X は通信ポートをオープンするた 
めに使っています。次に XI 側から, 

A>PIP PUN : = CCPBDOS . HEX 
で送信を始めます。 X 68000 のグラフィック 
画面に特徴のある模様が出れば転送は正常 
に行われています ( G - RAM を RAM ディ 
スタに指定していると内容が破壊されます)。 
転送が終わると RS . X はファイル名を要求 
してきますので, 

file name : CCPBDOS . HEX 
OK ?( y / n)Y 

と入力してください。続いて HEX ファイ 
ルをバイナリフアイルに戻します0 X 68000 
上で, 

A>HTOB 

input filename : CCPBDOS . HEX 
output filename : CCPBDOS . OBJ 
のように操作します。 HTOB . X も G-RAM 
を破壊しますので気をつけましょう。 

同様に COM ファイルなど,必要なファ 
イルを転送していきます0テキストファイ 
ルの場合は HEX ファイルへの変換と復元の 
手間はいりません。あとはボード上の CP / 
M システムの BIOS さえあれば,ひととお 
り揃いますね。これはリスト4の BIOS . M 
AC を CP / M 上で入カアセンブルしておく必 
要があります。 CP / M から, 

A>WM BIOS . MAC 

- > ソース入力 

A > M 80 =BIOS 
A > L 80 BIOS , BIOS / N / X/E 
のように操作します。ここでは BTOH.CO 
M を使わず直接 HEX ファイルを出力してい 
ます力 ? ,一度バイナリファイルを作ってか 
ら BTOH . COM を使ってもかまいません。 
できたファイルはほかのファイルと同様に 
X 68000 に転送し,バイナリファイルに戻し 
てください。 

CP / M の起動 

これで CP / M のシステムー式が転送され 
ました。これをボード上に転送して64180 
に制御を移せば CP / M システムのできあが 
りですが,そのために必要なのがプログラ 


1 J2 Oh! X 1989.1. 


ムが CPM. X というフアイルです0これも 
HTOB. X や RS. X と同様にソースを打ち込 
んでアセンブル/リンクしてください。 

図 4 は立ち上げ時に推奨されるファイル 
配置図です0バッチファイルやデータなど 
はリストどおりにエディタでファイルを作 
って,図 4 のようなファイル構成のディス 
クを作っていってください。 

立ち上げはここで作った2枚のディスク 
をドライブに入れ,ハードディスクなどは 
接続しない状態でリセットすれば RAM デ 
ィスクを初期化し, CP/M のソフトを RA 
M ディスタに転送してオートスタートしま 
す。この間約 37 秒です。 OS.COM を実行す 
れば Human に戻りますし,コマンドモード 
から CPM と入力すれば CP/M を起動でき 
ます。 

操作方法は通常の CP/M システムと同じ 
ですが,注意点を含めて説明しておきます。 
まず, CP/M には X68000 の特徴である日本 
語入出力,グラフィック,サウンドなどは 
サポートされていません。もちろん BIOS 
コールを桩張し, Human の DOS コールと 
接続すれば比較的簡単にかなりの機能を引 
き出せるのですが,こういったものは CP/ 
M で使うべきものではなく 68000 の機械語 
なり高級言語なりから使うのが正当という 
ものでしよう。 

ファイルの なかに CPMINIT.BAT とい 
う ものが ありますね。 AUTOEXEC. BAT 
は起動すると B ドライ ブの ¥CPM ディレク 
トリに含まれている ファイル のうち, INI 
T. DAT 内に記述されている ファイルを C 
P/M 用の デバイ スに転送し ま すので皆さ 
んの 好みに従って書き換えてください。なお, 
このプログラムに限らず, CP/M て実行す 
る バッチファイルでは @をリ ターン キーの 
代わりに使用し, ( CP/M の都合で) ダミー 
のキー入力が必要ですか ら @の後ろにはス 
ペースを 1 字 分置いています。 また, CP/ 
M ではなるべく大文字を使用するようにし 
てください。 

全体的な操作のボイントとしてエディタ 
などは Human のものを使い,プログラムの 
実行だけバッチファイルで CP/M を起動し 
て自動復帰させることをおすすめします。 
ファン クシヨン キーを用意しています 力す, 
やはり CP/M の操作性は Human より劣りま 
す0その点,バッチファイルであれば操作 
性は非常に良好です。 

また, CP/M の使用中に 64180 力す 暴走し 
てしまった場合は X68000 のインタラプトス 
イッチを押してください。 CP/M のコマン 
ド待ちのときにはを押しっぱなしにして 


図4ファイルの配置図 

A ドライブディスケット ( Human68k システム) B ドライブディスケット ( CP/M ファイル) 

ルートディレクトリ サブディレクトリ ルートディレクトリサブディレクトリ サブディレクトリ 


—TITLE. VS 

一 64180 - 

「 CPM. S 丨 

1 

「 CPM. X 

—KEY. SYS 


-RS. S \ 

-KEYCPM. DAT 

; 


-HTOB. S 

—KEY. DAT 

t 

i 

( なくてもよい) 

—BIOS. OBJ 

—AUTOEXEC. BAT 

—CPM —— 

「SYS - 

— CCPBDOS. OBJ 

—CONFIG.SYS 



—INIT. DAT 

—Y. DAT 



—KEY. SYS 

1 

1 

1 



—KEYCPM.SYS 

DIM .. 

1 


DAT 

riPMPniui rat 

DllN 

1 


DMI 

VjtLlN し UiVl. DM 1 





-GENBIOS. BAT 



—PIP. COM 



| 



—CPM. BAT 


1 


— STAT. COM 


—BASIC - 

1 

» 



—CPMINIT. BAT 




—BTOH. MAC 

— M80. BAT 


" 1 


—OS. MAC 


一福袋 —— 

1 

1 


—EX. MAC 





—BIOS. MAC 



—RAM. BAT 

O 



CP/M の作業領域 

(CP/M 用フアイルを入れておく) 


表4 バッチファイルなど 


•AUTOEXEC. BAT 
ECH0u0FF_ 

VERIFY JDN® 

BREAKuON® 

PATH^V : ¥BIN : ¥BASIC : ¥ 福袋 (g|) 

FORMATuC: l _ J /(X^<Y. DAT^NUL® 

B: RAM (EOF) 

•CONFIG. SYS 
FILES®) =_l5(Cg) 

BUFFERS (TAB) =_20(CR) 

BELL (TO =^BEEP. SYS® 

DEVICE(1AB) =^RAMDISK. SYS^^G® 

DEVICE (TO) = JRNDRV. SYS® 

DEVICE®) = 一 PCM DRV. SYS ㉚ 
VERIFY (W)=」DN 
(EOF) 

參 Y. DAT 

YCEOF) ㊣ Y の I 文字のみ 
參 UMIT, DAT 
EX^-fl^MSO.COM® 

EX^-a^O. COM (Cg) 

EX^-fl^ZSID. COM 雜 
EX^-R^STAT. C0M(® 

EX^-R^PIP. COM 励 
EX^-K-.DUMP. COM (® 

OS^-N® 

(EFO) 

•GENCOM. BAT 
ECHO ^ OFF® 

¥CPM¥SYS¥CPM.X^-B^EX l _-R L _ J %l. MAC® =%l@ ^L80^%l, %l/N/E@ ^EX^-W_%I. 

COM® ^0S^-N@CE0F) 

•GENBIOS. BAT 
ECHO ^ OFF® 

¥CPM¥SYS¥CPM. X ^ -B ^ EX ^ -R ^ BIOS. MAC® ^ M80 ^ = BI0S@ u L80^ BIOS, BIOS. OBJ/N/E® 

-Wu BIOS. OBJ @ OS-N @ ® 

COPY u ¥CPM¥BI0S. OBJ ^ ¥CPM¥SYS _ 

DEL u ¥CPMVBI0S. OBJ (EOF) 

•CPM. BAT 
ECHO ^ OFF® 

KEY. X _ <¥CPMVSYS¥KEYCPM. DAT u >¥CPM¥SYS¥TRASH. DAT (QR) 

¥CPM¥SYS¥CPM. X^%l ®) 

KEY. X ^ <¥CPM¥SYS¥KEY. DAT ^ >¥CPM¥SYS¥TRASH. DAT 
DEL u ¥CPM¥SYS¥TRASH. DAT (EOF) 

•CPMINIT. BAT 
ECHO ^ OFF (CR) 

¥CPM¥SYS¥CPM. X ^ -I ^ <¥CPM¥SYS¥INIT. DAT l _ J >NUL® 

CPM ^-T (EOF) 


•RAM. BAT 

ECHO^OFF® 

C : 励 

MD^CPM ® 

CO_XPM 麵 
MD^SYS (CR) 

COPY^B : ¥CPM¥SYS^SYS^>NUL (CR) 

MD^ BAT 励 

COPY u B : ¥CPM¥BAT ^ BAT^ >NUL _ 

COPY _ B : ¥CPM ^>NUL(gR) 

PATH uC : ¥CPM¥BAT : A:¥;A: ¥BIN : A : ¥ 福袋 ® 
¥CPM¥SYS¥CPM. X^-l^ <¥CPM¥SYS¥INIT. DAT ^ >NUL 

m 

CPM ^-T (EOF) 

•KEY. DAT 

L¥CPM¥SYS¥KEY. SYS®) 

(EOD 

•KEY CPM. DAT 
L¥CPM¥SYS¥KEYCPM. SYS ® 

( EOF ) 

•M80. BAT 
ECHO OFF® 

¥CPM¥SYSVCPM. X^-B^EX^-R^%!. MAC@ ^ M80 
^=%I@^0S^-N@CE0F) 


特集 X 68000 用 CP / M -80 システム 133 
































も Human に復帰できます。 

さらに注意点として以下のものがありま 
す 。 

1) フアイル関係 

CP / M 用のデバイスとしては,メインメモ 
リのうち 512 K バイトを非常駐のかたちで確 
保しており,以後はこれを RAM ディスク 
として使用します o X 68000 のテ 1 '、ィスクドラ 
イブは使用しませんので気をつけてくださ 
い。1ドライブ仕様ですが容量が 512 K バ 
イトありますので通常の使用状況ではほと 
んど問題ないでしよう。不満な方は BIOS . 
MAC および CPM . S を変更し RAM ディス 
クを拡張するか,ディスク対応に変更して 
ください0また,使用後,必要なファイル 
は EX . COM を使って Human に転送するよ 
うにしてく ださい。 

2) コンソール入出力 

入出力は Human 68 k の DOS コールを 使用 
しています。なお,エスケープシーケンス 
などは XI のものと異なっていますので標準 
装備の WORD MASTER など,コンフィグ 
レーシヨンのできないソフトは使用できま 
せん。 

3) その他の入出力 


ロール P ) などでプリントアウトできます 
し, PIP コマンドで LST : ( LPT :) として 
使用できます。 

今後の展開 

今回はとりあえず, CP / M -80 を移植しま 
したが, XI 時代の CP / M の速度,操作性に 
対し比較にならないほどの性能アツプがは 
かれました。ただし,残念ながら CP / M は 
やはり CP / M であって Human のアプリケー 
シヨンではないため,フアイルが二重にな 
ったりヒストリなどの便利な機能が使えな 
かったりといった弱点もあります。 

これを根本的に解決するには Human 上 
で動〈 CP / M エミュレータを作成し, CP / 
M プログラムをひとつのアプリケーシヨン 
として実行させることが考えられます 。 Hu 
man では MS - DOS にあった CP / M コンパチ 
の BDOS コールがないため,私の力では実 
現できませんでした。今後の課題といえる 
でしよう。 

また, Z 80 コンパチであれば当然, S-OS 
“ SWORD ” などの移植も考えられます。か 

つて, Hu モニタコンパチのモニタを作つ 


RS -232 C については Human の IOCS コー て XI 用 “ SWORD ” から PC -8801 オール RA 


ルを使つて X 68000 の RS -232 C ポートをその 
まま使用できます。 DOS コールを使わなか 
つた理由は, Human 内での処理のため一部 
のコードで通信がストツプすることがある 
からです。 

プリンタについては DOS コールを使いま 


M “ SWORD ” を作った例もあります力、そ 
れと同じ方法がもっとも簡単そうです。 

いずれにしても,現状では2個の CPU が 
並列処理を行うことはありませんので,い 
まひとつ面白味に欠けます。これらを同時 
に動かすための6 4 180ドライバを開発して 


した。もちろん CP / M 実行中に(コント 組み込むことが重要でしよう。 CP / M と ‘‘ S 


2 


6 


8 

9 

10 

11 

12 

13 

14 

15 

16 

17 

18 

19 

20 
21 
22 

23 

24 

25 

26 

27 

28 

29 

30 

31 

32 

33 

34 

35 

36 

37 

38 

39 

40 

41 

42 

43 

44 

45 

46 

47 

48 

49 

50 

51 


: =sss===== BTOH.MAC 



* program name : BTOH.MAC 

* 

本 CONVERT BINARY FILE TO HEX TYPE OBJECT 


1988 9/17 BY TK-YSD 



ASGO 


PBEGIN EQU 00200 H 

BINBUF BQU 100H 
HEXBUF EQU 0D100H 

BDOS EQU 5 


ORG 100H 


;PROGRAM BEGIN ADDRESS. 
;BINARY BUFF. ADDRESS. 
;HEX BUFF. ADDRESS. 


;BLOCK TRANSFER AND JUMP TO MAIN ROUTINE 


LD 

LD 

LD 

LDIR 

JP 

PSTART : 

.PHASE 
1 MAIN ROUTINE 
MAIN : 

LD 

LD 

LD 

LD 

LDIR 

; to 

CALL 

HAIN0 : 


HL,PSTART 
DB V MAIN 

BC.PSTOP-PSTART 


MAIN 

PBEGIN 


BC.HEXBUF-BINBUF-l 


DE,BINBUF+1 
HL,BINBUF 
(HL),0 


DB V HESS 

MBSSAG 


;CLEAR BUFFER. 


;START MESSAGE. 


■J スト 1 巳 TOH.MAC 

52 : 

53 : 

54 : 

55: 

56 : 

57: 

58 : 

59 : 

60 : 

61 : 

62 : 

63 ; 

64 : 

65 : 

66: 

67 : 

68: 

69: 

70 : 

71 : 

72 : 

7-32 

74 : 

75: 

76 : 

77: 

78: 

79 : 

80: 

81 : 

82 : 

83: 

84 : 

85: 

86 : 

87: 

88: 

89 : 

90: 

91 : 

92: 

93 : 

94 : 

95: 

96 : 

97 : 

98: 

99 : 

100: 

101: 

102 : 

103 : 


LD 

CALL 

CALL 

AMD 

JR 

CALL 

LD 

CALL 

LD 

CALL 

CALL 

CP 

RET 

CALL 

CALL 

AND 

RET 

CALL 

JP 


;READ FILE 
READ : 

CALL 

INC 

JP 

LD 

READ0 : 

CALL 

OR 

BET 


LD 

LD 

LDIR 

LD 

JR 


;SAVB FILE 
SAVB : 


CALL 

CALL 

INC 

JP 


LD 



実装前のブリント基板 

WORD ” が走れば64180ボード用プログラ 
ムの開発もずっとはかどるはずです。 

最後になりましたが,配線のスパゲティ 
になった基板では心もとない,かつ暇はな 
いけど金ならあるぞという方のために私が 
製作したプリント基板を実費でお分けでき 
ることになりました。 

1) プリント基板のみ ( 5千円前後の予定) 

2) プリント基板+ 64180+ 71055 + RAM 
自分の住所を書き,60円切手を貼った返 

信用封筒を同封し,1), 2) のいずれかを明 
記して, Oh ! X 編集室「6 4 180プリント基板」 
係まで封書で申し込んでください。整理の 
都合上ひとまず,1力月間 (1 月18日到着 
分まで)で締め切らせていただき,正確な 

価格などは追って連絡いたします。 

Profile 

0吉田さんは神奈川県にお住まいの26歳,技術系 
の会社員です。 X 1を経て現在 X 68000ユーザー。 
CP/M はいつ も仕事関係で必要なため, この ボー 
ドを作ったそうです。 


DB V DREAD 
MESSAO 

FILNAM ; READ FILE NAME. 

A 

NZ.MAIN0 

FCB2ST 

DB.DSAVB 

MESSAG 

DE,DREADY 

MESSAG 

KEY 

NZ 

READ ; READ BIN FILE. 

SAVE ; SAVB HEX FILE. 


; RET 刪 TO CP/M. 


OPEN 

A 

Z.OPNBRR 
DE,BINBUF 
READSQ 

Jz 

HL.80H 
BC f 80H 

(ENDAOR),DE 
READ0 


DELETE 

MAKE 

A 

Z.DISKBR 

HL,BINBUF ; CONV START ADDRESS• 


134 Oh ! X 1989.1. 




















CONV 

BC V 80H 

DB f 80H 

HL.HEXBUP 


BC.16 

DE.80H 

HL.HBXBND 


WRIT3Q 

A 

NZ,DISKBR 

CLOSE 


(HL), 

HL 

HL 

BC 

BC.(LODADR) 

A»16 

A,B 

A,C 

(CHKSUH),A 

A.B 

ASCII 

(HL) t D 

HL 

(HL) t E 
HL 

A,C 

ASCII 

(HL) f D 

HL 

(HL),E 

HL 

BC 

(HL),'O 1 
HL 

<HL>, , 0 , 

HL 

IX,(LODADR) 

A,16 

C,0 


A.C 

C t A 

AF 


AF 

NZ,CONVl 


ASCII 

(HL),D 

HL 

(HL),B 

HL 

(HL),ODH 
HL 

(HL),OAH 


(HL),0 

HL 

NZ.CONV2 


C f 15 
DE t FCB 
BDOS 


C,16 

DE t FCB2 

BDOS 


SAVE START ADDRESS. 
REC MARK. 


;LOAD ADR. 

;CHK SUH INIT, 


DATA. 

CHK SUM. 


252 

253 

254 

255 

256 

257 

258 

259 

260 
261 
262 

263 

264 

265 

266 

267 

268 

269 

270 

271 

272 

273 

274 

275 

276 

277 

278 

279 

280 
281 
282 

283 

284 

285 

286 

287 

288 

289 

290 

291 

292 

293 

294 

295 

296 

297 

298 

299 

300 

301 

302 

303 

304 

305 

306 

307 

308 

309 

310 

311 

312 

313 

314 

315 

316 

317 

318 

319 

320 

321 

322 

323 

324 

325 

326 

327 

328 

329 

330 

331 

332 

333 

334 

335 

336 

337 

338 

339 

340 

341 

342 

343 

344 

345 

346 

347 

348 

349 

350 

351 

352 

353 

354 

355 

356 

357 

358 

359 

360 

361 

362 

363 

364 

365 

366 

367 

368 

369 

370 

371 

372 

373 

374 

375 

376 

377 

378 

379 

380 

381 

382 

383 

384 

385 

386 

387 

388 

389 

390 

391 

392 

393 

394 

395 

396 

397 

398 

399 


DELETE FILE 


PUSH 

PUSH 

PUSH 


CALL 

POP 

POP 

POP 

RET 


C t 19 

DB.FCB2 

BDOS 


HEAD SEQUENTIAL FILE 


PUSH 

PUSH 

PUSH 


CALL 

POP 

POP 

POP 


C,20 
DB,FCB 
BDOS 


WRITE SEQUENTIAL PILE 


PUSH 

PUSH 

PUSH 

LD 

LD 

CALL 

POP 

POP 

POP 

RET 


PUSH 

PUSH 

PUSH 

LD 

LD 

CALL 

POP 

POP 

POP 

RET 


C f 21 

DB.FCB2 

BDOS 


C v 22 

DB.FCB2 

BDOS 


GET BYTE DATA FROM 2 BYTES ASCII 


A,D 

SBYTE 


LD 

CALL 
CALL L8HIFT 
LD D 9 A 

LD A ( B 

CALL SBYTE 

ADD A, D 

RET 


RET 

SUB 

RET 


30H 

10 


GET 2BYTBS ASCII PROM BYTE DATA 
ASCII : 


PUSH 
AND 
CALL 
CALL 
LD 
POP 
AND 
CALL 
LD 
RET 

SUB ASCII 
SASCII : 


AF 

0F0H 

RSHIFT 

SASCII 

D,A 

AF 

0FH 

SASCII 

B,A 


A.30H 

3AH 

A f 7 


EXIT 


PUSH 

CALL 

CALL 

POP 

CALL 

RET 


ADD 

CALL 

RBT 


ASCII … HL 


SPACE 

SPACE : 


OFH 

OAH 

C,EXITe 
A,7 


A.H 

ASCA 

A,L 

ASCA 

SPACE 


LD 

CALL 


ALbDDaDIRALLRP dondbcr sddirallrpallorbt 
u L L L L COJ L L A s J LLLL c o J CXR T 


c CCS D D LeeLLC CP c c sc 8 D p L cc PC D OL c c c >[crc IC t N 
LDLDLDINLDINLDINPULDLDADADLDLDCALDINLDINLDCALDINLDINpoLDINLDINLDLDLDPULDINPUADLDPOCALDINLDINPODBJRLDLDADNBCALDINLDINLDINLDINLDLDIN DB JRDJ 


8 s s LPPPT 
PUPUPULD S CAPOPOPO S 


IPUSPU8LD 3 CALpoppoppopi 


456789012345 

000000111111 


67890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 cn 
111122222222223333333333 444444 44555555555566666666667777777777888888888899999999 9900000000001111112222222222333333333 234244242424242424242525 


特集 X 68000 用 CP / M -80 システム 135 



















(HL).0 

HL 

GTLIN0 

A,38 

(PILBUF),A 
C f 10 

DB f FILBUP 

BDOS 

HL 

DE 


FROM CONSOLE 


: K 


B,8 

DE.FCB+l 

HL , FILBUF+2 


GETLIN : 

PUSH 

PUSH 

PUSH 

;CLEAR FILBUP 


LD 

INC 

DJNZ 


LD 

LD 

CALL 

POP 

POP 

POP 

RET 

GET PILE NAME 
FILNAM : 

CALL 

CLEAR FCB 


INC 

DJNZ 

PILE NAME CHEC 


INC 

DJNZ 

XOR 

RET 


;MAX 38 CHARACTER. 


; END? 


; OK MARK. 


548 

549 

550 

551 

552 

553 

554 

555 

556 

557 

558 

559 


562 

563 

564 

565 

566 

567 

568 

569 

570 

571 

572 

573 

574 

575 

576 

577 

578 

579 

580 

581 

582 

583 

584 

585 

586 

587 

588 

589 

590 

591 

592 

593 

594 

595 

596 

597 

598 

599 

600 
601 
602 

603 

604 

605 

606 

607 

608 

609 

610 
611 
612 

613 

614 

615 

616 

617 

618 
619 


620 

621 

622 

623 

624 

625 

626 

627 

628 

629 

630 

631 

632 

633 

634 

635 

636 

637 

638 

639 

640 

641 

642 

643 

644 

645 

646 

647 

648 

649 

650 

651 

652 

653 

654 

655 

656 

657 

658 

659 

660 
661 
662 

663 

664 

665 

666 

667 

668 

669 

670 

671 

672 

673 

674 

675 

676 

677 

678 

679 

680 
681 
682 

683 

684 

685 

686 

687 

688 

689 

690 

691 

692 

693 

694 

695 


JP 


FNERR : 


DOK : 


DOPEN : 


HESS 

HEXEND: 



LD 

RET 

OPEN ERROR 
OPNBRR : 

LD 

CALL 


DE.DERKOR 

MBSSAG 

DELETE 


0DH,0AH 

• Ready? (Y/N) $, 
0DH t 0AH 

'Binary file name? 


DBFB 

DBFB 

DEFB 


filename.hex' 


DBFB 

DBFB 

DEFB 

DEFB 


DBFB 

DEFB 

DBFB 

DEFB 


DEFB 

DEFB 

DEFB 

DEFB 


DBFB 

DBFB 

DBFB 

DBFB 


DEFB 

DEFB 

DEFB 


ODH.0AH 

* Save nane is 
0DH,eAH, 


0DH.0AH 
0DH t 0AH 
• Complete* 
ODH^AH, 


ODH,OAH 
0DH»eAH 
f Disk error* 
0DH.0AH,»$» 


ODH t 0AH 

0DH.0AH 

’ Pile nane error* 
0DH.0AH,»$• 


ODH.eAH 


: 00000001PF , ,1AH,1AH,1AH,1AH,1AH 


► 12 JJVJ •の「われら屯脳遊戯浅」を説んで, 1 ■ノーライフキング J を H ってしまった。この 
本はとても ifnYl くて,時問の経つのも忘れてしまうほどでした。みんなもこの 1 ■ノーライ 
フキング j を説んだらいいなあ,と思います。 炎礼 ( is ) 神奈川趴 


lJO Oh ! X 1989.1. 


; MAX 4 TIMES. 

; END? 

; HL=HLsie. 


;MAX 4 TIMES. 

; END? 

: HL=HLtl6. 


; 0-9 OK. 

;ERROR MARK. 

; 0-9 OK. 

; 10-15 OK. 

;ERROR MARK. 


3 ( H E L 
丨 >L D DEI 
B A H 0 z ( D F 


H ycllblel 

A E R 0 B E HHDH DM 
o p E 4 I cfdhl » » » »0A »c 
丨 Y B c E »L EF • » »LLLL » »LE E c 
A T M B D B H DOZDEHHHHDBHD D B 


0 BHEHHHH D D 
c E »LEXF ,L L L L * *L E EC 
B D B H H0ZHHHHDEHH D B 


B c F 

f H E F X 
F Y H D 0 A F 
F E 0 »0 » M F 
0 K3C1C A I 0 


£ o » 0 
K 3 c 1 c 


BCDBHLC.BDOHLDBBC 


BCDEHLC,E.BDOHLDEBC 


sEf 
9 0 F 
CEL ,d<lec f 
bdhcbhdb u 


si RBTCIMALPUSHPUSHLDLDCALLCPJRLDLDADDADDADDADDLDLDADDDJNZi I 1 rr ADDl lAOD 3 El 1;::. .. BRI i iJR cp rRET N .Ir cp RBTi i r:L RRCA RRCARRCA RRCABETLEFT | ERBTLBIK1I | lLOCALLpoppoppopRBTLBOUrPUSHPUSHlLDSCALLIpoplRBTl | 酬 | sCALLilCONSOl 


00:01 :02:03:04:05:06:07:08:09:lel 1 =1213-1415-161718192e2122232425262728293e3132333435363738394e4l4243444s464748495e5152535455565758596e616263646566676869707172737475767778798e8182838485868788899e9I9293949596979899de el e2 e3 o4 e5e6 07 e8 sleu121314ls161718192e2122232425262728293e3132333435363738 

44444444444444444444444555555555555555555555555555555555555555 


901234567 


















696: 

697: 

698: 

699: 

700: 

701: 

702: 

703: 

704: 

705: 

706: 

707: 

708: 

709: 

710: 


WORK AREA 


LODAI 


711 

712 

713 

714 

715 

716 

717 

718 

719 

720 

721 

722 

723 

724 


PCB2: 


DBFS 4( 

.DEPHASE 


リスト 2 HTOB . S 


100 

101 

102 

103 

104 

105 


122 

123 

124 

125 


HTOB.S ===: 

tttt 

program name : HTOB.S 
HEX to Binary converter 
1988 9/16 by TK-YSD 


hex 一 buff 
Mn 一 buff 


$e400O0 ; 

hex^buff+$010000 


TEXT VRAM address. 



move.l #hex_buff,a0 

move.l #0,(a0 い 

#hex_buff+$4 綱 0,a0 
mainO 


cmp. J 
bne 


bsr crlf 
bar crlf 
jnp exit 


rdfile: 

rdfil0: 


b8r 

move.l 

move.w 

move.l 

bsr 

tst.l 

bai 


move.w 

bsr 

tat.l 

bmi 


adrl80 t a0 
fileno0,d0 
參 65536,dl 


iremag,prnadr 

print 

exit 


fnfmag 9 prnadr 

print 

exit 


#clB8g,prnadr 

print 

exit 


move.l 
move.1 
bsr 


move, 
clr .w 
bsr 
tst.l 
bmi 


#name0 ( a0 
Ihfninag, prnadr 
fname 

#hex_buff f adrl86 

InaneO ,&〇 
d0 

d0 Cn 

rdfil4 


bsr atob 

move.b d0,count 
move.b d0 v chksun 

bar atob 

add«b d0 y chkaum 

bsr atob 

add.b d0 t chk8ua 

bsr atob 

cmp.b #1,d0 


system 田 ode. 


load HEX file. 
HEX to Binary, 
save Bin file. 

clear memory. 


return to OS. 


data pointer. 
rile handle number, 
read file size. 


Jump, if error, 
jump, if file end. 


read file handle number. 


return to OS. 


return to OS. 


return to OS. 


name pointer, 
get file name 


jump, if error, 
file handle number. 


get record length, 
init. check sum. 
get load address. 

get record type# 


145 

146 

147 

148 

149 

150 

151 

152 

153 

154 

155 

156 

157 

158 

159 

160 
161 
162 

163 

164 

165 

166 

167 

168 

169 

170 

171 

172 

173 

174 

175 

176 

177 

178 

179 

180 


188 

189 

190 

191 

192 

193 

194 

195 

196 

197 

198 

199 

200 
201 
202 

203 

204 

205 

206 

207 

208 

209 

210 
211 
212 

213 

214 

215 

216 

217 

218 

219 

220 
221 
222 

223 

224 

225 

226 

227 

228 

229 

230 

231 

232 

233 

234 

235 

236 

237 

238 

239 

240 

241 

242 

243 

244 

245 

246 

247 

248 

249 

250 

251 


beq 

conv2 

;jump, if record end. 

bar 

atob 

;get data. 

add.b 

d0 t chk8um 


move.b 

8ubq.b 

de,(al)4 
#1,count 


bne 

convl 


bsr 

atob 

;get check sum. 

add • b 

d0iChk8um 


t8t • b 

chkaum 


beq 

conv0 


move.l 

Ihexinag , prnadr 


bsr 

print 


jmp 

exit 

;return to OS. 

move.l 

rts 

al,end__adrs 


wrfile 

itt 拿 t 拿 tt 拿 

t 

拿拿拿拿 t 拿拿 


aove.1 

fname 1 ,a0 

;name pointer• 

move.1 

tbinmsg f prnadr 


bar 

fname 

;get file name. 

aove•1 
move.1 

参 bii^buff,d4 
end adra f d5 

;start address. 

;end address. 

cmp.b 

t$ff,d2 


be q 

wrfil2 


aove.l 

tokbuf,prnadr 

;message address• 

bsr 

print 


bsr 

getchar 


beq 

#,jr,,d0 
wrfil 一 2 


cap.b 

beq 

參 , Y, t d0 

wrfil.2 


bra 

wrfil2 

;junp, if not # y*. 

l: 

cnp.1 

d4,d5 

;check size. 

beq 

wrfil2 

;junp, if size = 0. 

move.l 

d4,adrl80 

;start address• 

sub.1 

d4 f d5 


and.1 

#$ffff # d5 


bne 

wrfil.l 


move.1 

"10 刪, d5 

;d5.1: file size. 

aove.l 

fname1»aO 

;name pointer. 

;standard file attribute. 

move.w 

«$20,d0 

bar 

creat 


tst.l 

d0 


bmi 

wrfil4 

;jump, if error. 

騰 ove.1 
nove.w 

adrl80 ( a0 
d0 f filenol 

;data pointer. 

;file handle number. 

■ove.w 

filenol,d0 

;file handle number. 

臟 ove.1 

bar 

tst.l 

d5,dl 

write 

d0 

;write file size. 

bai 

wrfiiS 


beq 

wrfill 

;junp, if file end. 

sub.1 
aove.1 

d0,d5 
adrl80 f a0 

;write file size. 

add.l 

bra 

d0 t a0 

wrfil^.0 

;jump, if not file end. 

move.w 

filenol,d0 

;write file handle number. 

bsr 

tst.l 

bmi 

close 

d0 

wrfil5 


: b8r 

crlf 


rts 



move.l 

bar 

Iwemag,prnadr 
print 


j»P 

exit 

;return to OS. 

■ove•1 

#crmsg v prnadr 


bar 

print 


j»P 

exit 

;return to OS. 

move.1 

Iclm8g,prnadr 


bar 

print 



exit 

;return to OS. 


get file name 

【拿 》 拿 
fname : 


move.1 
bar 


a0 t -(a7) 
print 
move.l(a7 )-f ,a0 




nove.b 
tst.b 
bne fnameO 

rt8 


►「オムライスが食べたい 」 は ,本、 1 '〗 に Oh ! X のスタッフの 個性を象徴的 に 衣して いた 感じで 
す。それにあのイラストには 笑わせても らいました。 嵯峨進 (19) 秋 m 似 


特集 X 68000 用 CP / M -80 システム 137 













$0d f $0a 

1 ok? (y/n) *,0 

$0d t $0a 
9 read error* 
$0d t $0a,0 


$0d t $0a 
* write error* 
$0d,$0a,O 


$0d,$« 
• oloi 


l,$0a 

lose error* 
$0d t $0a # 0 


$0d f $0a 

• input file name ( HEX file only ] 


output file name ( Binary file 


$0 d,$ea 

1 HEX format error 1 

$0d t $0a 

$0d f $0a t 0 


nameO : 

dB.b 40 

t 

name1 : 

da.b 40 

拿 

count: 

da.b 1 


chksum: 

dB.b 



filenoO: 

da. w 
t 

filenol : 

d8. w 

拿 

adrl80: 

ds.l 

% 

end_adrs : 

da.l 

end 



aub.b #$30, d0 
cmp.b #10,d0 
bC8 atob8ub0 

sub.b #7,d0 


CRLF, SPACE 


nove.w 

move.b 

bsr 

move•b 
bsr 

move•w 
rta 


d0,-(a7) 

#$0d f d0 

putchar 

#$Oa t d0 

putchar 

(a7)+,d0 


move.w d0,-(a7) 
move.b #$20»d0 
bar putchar 
move•w (a7)+,d0 
rta 


bioa function code definition 


_exit 

_getohar 

^putchar 

_print 

.gets 

_8uper 
_creat 
一 open 
_close 
_read 


equ 

equ 

equ 

equ 

equ 

equ 

equ 

equ 


$ff00 
$ff01 
$ff 02 
$ff09 
$ff0a 

$ff 20 
$ff3c 
$ff3d 
$ff3e 
$ff3f 


* bios calls 


dc. w 
cmp.b 
bcs 


cmp.b 

bcc 


_getchar 
参$41,40 
getchar_0 

#$5b,d0 

getchar_0 


or .b 

getchar_0: 

rtB 


dc. w 
addq.1 
rta 


return to os 


aove.l 
dc • w 
addq.1 
rt8 


(prnadr)(sp) 


;print string 


pea keybuf 

dc.w _gets 

addq.1 #4,sp 

rta 


move.w d0 f -(a7) 
move.1 a0, - (,a7 ) 
dc.w _creat 
addq.X #6,a7 
rta 


;d0...atribute 
a0...nameptr 


move.w d0 f -(a7) 
move.l a0,-(a7) 
dc.w _open 
addq.1 #6 f a7 

rto 


;d0...mode 
a0..•nameptr 


move.w dO,-(a7) 
dc.w 一 ciose 

addq»l #2,a7 
rts 


move.1 dl # -(a7) 
move.1 a0,-(a7) 
move.w d0,-(a7) 
dc.w _read 

lea I0(a7) f a7 

rts 


dl.• .byt< 
a0. . .dati 
dC. "fill 


•.byte 
aO...dataptx 


252 

253 

254 

255 

256 

257 

258 

259 

260 
261 
262 

263 

264 

265 

266 

267 

268 

269 

270 

271 

272 

273 

274 

275 

276 

277 

278 

279 

280 
281 
282 

283 

284 

285 

286 

287 

288 

289 

290 

291 

292 

293 

294 

295 

296 

297 

298 

299 

300 

301 

302 

303 

304 

305 

306 

307 

308 

309 


320 

321 

322 

323 

324 

325 

326 

327 

328 

329 

330 

331 

332 

333 

334 

335 

336 

337 

338 

339 

340 

341 

342 

343 

344 

345 

346 

347 

348 

349 

350 

351 

352 

353 

354 

355 

356 

357 

358 

359 

360 

361 

362 

363 

364 

365 

366 

367 

368 

369 

370 

371 

372 

373 

374 

375 

376 

377 

378 

379 

380 

381 

382 

383 

384 

385 

386 


リスト 3 RS.E 


RS.S 


program name : RS.S 
RS-232C receiver 
1988 9/16 by TK-YSD 


;TEXT VRAM address. 


►「 ROGUE スゴロク j はとても面白く,また懐かしかった。バックナンバーを引っ張り出 
しては,「あのころあんなこと やって たな 一」 などと楽しみました。 

戸嶋秀和 (18) 人阪府 


dcdc 


b b b 

dc.dc.dc. 


dcdcdc 


dcdcdcdcdcdc 


dcdcdc 


dcdcdc 


b b 
c.c. 
d d 


dc.dc.dc.dc. 


*re 


ex 

拿 h 


0 c 
d b d b 
$ » u 丨 u 

* +811+S0 
t )bdd)bd 
t 0O» »0 0 » 

t at04atl 
靠 {ad#cad 
t 

t b b b 

* . • b • 

拿 e e • e b 
寒 V r V 1 V r *8 

$ 080808 rt 
* mb ffl a Db o r 


78901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890 
88899999999990000000000111111111122222222223333333333444444444455555555556666666666777777777788888888889999999999000000000011111111112 
33333333333334444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444555555555555555555555 


138 Oh ! X 1989.1. 














16 

17 

18 

19 

20 
21 
22 

23 

24 

25 

26 
21 
2Q 

29 

30 

31 

32 

33 

34 

35 

36 

37 

38 

39 


2 

3 


5 

6 


48 

49 

50 

51 

52 

53 

54 

55 

56 

57 

58 

59 

60 
61 
62 

63 

64 

65 

66 

67 

68 

69 

70 

71 

72 

73 

74 

75 

76 

77 

78 

79 

80 
81 


-(sp) 

•super 

dO.sp 


olr.1 
dc.w 
■ove.1 


move.1 trecmBg.prnadr 
bar print 

bar rec 

bar wrfile 


Ibuff.adrs,a0 


Bove•1 
cnp.1 
bne 


bar crlf 

jap exit 


拿 receive t 

拿拿 t 拿 t 拿拿 t 拿 ttttttttttftt 

rec : 

■ove•1 tbuff_adr8 »a0 

rec0: 

bar reader 

■ove.b d0 ( (a0)f 
cap.b #$la f d0 
bne rec0 

rt 囂 



#buff_adra »a0 


getadrsO 



getadrsi : 


cnp.b 

bne 


#$la,(a0)4 

getadrsi 


■ove•1 ,d5 
subq.1 #1 t d5 
rt8 



bar getadrs 


82 

83 

84 

85 

86 

87 

88 

89 

90 

91 

92 

93 

94 

95 

96 

97 

98 

99 
00 
ei 

92 

03 

04 

05 

d 6 

07 

08 

09 

10 

11 

12 

13 

14 

15 

16 

17 

18 

19 

20 
21 
22 

23 

24 

25 

26 

27 

28 

29 

30 

31 

32 

33 

34 

35 

36 

37 

38 

39 

40 

41 

42 

43 

44 

45 

46 

47 

48 

49 

50 

51 

52 

53 

55 

56 

57 

58 

59 

60 
61 
62 


cap.b 

beq 

■ove•1 
bar 


■ove.1 
addq.1 
sub.1 
and.1 
bne 


■ove.1 
Bove.w 
bar 
tst.l 
bad 


参 ok 騰 Btf ,prnatdr 

print 

getchar 

#• 7*^0 

wrfil2 

d4 v d5 

wrfil2 

d4 9 adrl80 

il,d5 

d4 f d5 

#$ffff t d5 

wrfil.l 

••10000, d5 

#n& 騰 el,a0 

*$20, d0 

creat 

dO 

wrfil4 


80 ( a0 

ilenol 


bar 

tst.l 

bni 


filenol,d0 

d5 v dl 

write 


sub.1 
■ove•1 
add.l 
bra 


d0,d5 

adrl80 t aO 

d0,a0 

wrfil^e 


move.w 

bar 

tst.l 

bni 


aove.1 

bar 

bra 


twemagfprnadr 

print 

wrfill 


move.] 

bar 

rt® 


騰 ove • 】 

bar 

rts 


t get file naae t 

tt 拿 ttttt 拿拿拿 tttttt 拿 sttt 

fnaae : 


aove.1 
鼸 ove•i 
bar 

騰 ove•1 


a0,-(a7) 

#fnB8g f prnadr 


print 

(a7)^,a0 


bar 

鼸 ove.1 


gets 

#keybuf<f 2 ,al 


; 露 yaten mode. 


;message address. 


;receive rs-232c file. 
;save file. 


;clear menory. 


: return to OS. 


;file end? 

; jump, if not end. 


;start address. 


;end address. 


;name pointer. 

;get file naae. 

;get d4 : start t d5 : end address 


;aieBaage addreBS. 


; jimp, if not *y f . 

;check size. 

;juap y if size = 0. 

;start address. 


; d5.1: file sise. 

;name pointer. 

;standard file attribute. 


;Jumpi if error. 

;data pointer. 

;file handle number. 


;file handle number. 
;write file size. 


; jump, if file end. 


;write file size. 


;jump» if not file end. 


;write file handle number. 


; request. 


200 

201 

202 

203 

204 

205 

206 

207 

208 
209 


220 

221 

222 

223 

224 

225 

226 

227 

228 

229 

230 

231 

232 

233 

234 

235 

236 

237 

238 

239 

240 

241 

242 

243 

244 

245 

246 

247 

248 

249 

250 

251 

252 

253 

254 

255 

256 

257 

258 

259 

260 
261 
262 

263 

264 

265 

266 

267 

268 

269 

270 

271 

272 

273 

274 

275 

276 

277 

278 

279 

280 
281 
282 

283 

284 

285 

286 

287 

288 

289 

290 

291 

292 

293 

294 

295 

296 

297 

298 

299 

300 

301 

302 

303 

304 

305 

306 

307 

308 

309 

310 


Boveq.l #$32 t d0 
trap #15 


拿 CRLF, SPACE t 

拿拿 tttt 拿 t 拿 t 拿 t 拿拿 tst 韋拿拿拿拿 

crlf: 

■ove*w d0 t -(a7) 
■ove.b #$Od,d0 
bar putchar 

鼸 ove.b #$0a f d0 

bar putchar 

■ove.w (■7}+»d0 
rts 


■ove•w d0 v -(a7) 
■ove.b #$20,d0 
bar putchar 

■ove.w (a7 )4> t d0 
rts 


f bioe function code definition 

equ $ffO0 
equ $ff61 
equ $ff02 
equ $ffOa 
equ $ff09 
equ $ff20 
equ $ft 30 
equ $ff3e 
equ $ff40 


拿 bios calls 

拿 

exit: 

dc.w 

getchar : 

dc.w 

oap.b 

bcs 




dc.w 
addq.1 
rts 


pea 

dc.w 


.getchar 

#$41,d0 

getchar.O 

#$5b,de 

getchar__0 


d0,-(8p) 

_putchar 

#2,«p 


keybuf 

_get8 

#4,sp 



inp232o. 
d0.b : data. 


return to ob 


key in, type 


d0...atribute 
a0...naneptr 


d0.•.file number 


dl•..byte size 
a0...dataptr 
d0••.file nunber 


storage for byte data 


dc.b 

dc.b 

dB.b 


nax. input characters• 
input character nunber. 
data area. 


羼 torsge for word v long data 


print buf• address. 


storage for byte data 


►「 Z 80 マシン語工房」はいいですね。いまは受験虫なので,じっくりと読んでいる時間が _ 

ありませんが,受験が終わったら早くマシン語が使えるようになりたいものです。 特集 X 68000 用 CP / M -80 システム 139 

和田勝 (15) 長野県 
















A.81H 
(INITIO) f A 
(IOBYTB) t A 


LD DB.WBRRMS 

CALL DBPRT 

CALL CONIN 


bdoa+ccp load 
WBOOT : 

DI 

LD i 

CALL 

CALL 

OR 

JR 


WBOOTS 

A 

NZ,ERROR 


A«(INITIO) 
(IOBYTB)^ 

A.0C3H 
(HSTART),A 
HL f WBOOTB 
(HSTART+U r HL 

(SYSCAL) t A 
HL.BDOSJP 
(SYSCAL+U ,HL 


C,A 

CCP 


CALL 

CALL 

OR 

RET 


A,(CCP) 
0C3H 

NZ V CCPERR 

A,(BDOSJP) 
0C3H 

NZ.CCPERR 


wboot sub. 
WBSUB : 


A,1 

(FUHCHO),A 
KMIINT 
LD A,(PARAH1) 

AKD A 

RET 


LD 

LD 

CALL 


CONST : 

COHJMP : 

IOADJP : 


ADD 

LD 

INC 


HL.CONSBP 

A, (IOBYTB) 

A 9 A 

B f A 

HL.DE 

B, (HL) 


D f (HL) 

DB V HL 

(HL) 


;no nemory wait f 1 i/o wait. 
;no refresh cycle. 


;load buffer, 256 bytea. 
;set i/o byte. 

;wboot ent• adrs. 

;bdos ent. adr. 

;login disk no. 

;ccp start adr. 


program name : BIOS.MAC 
64180 systeB bios routine 

1988 5/04 by TK-YSD 

5/10 ver T 
5/10 ver 
5/24 ver 
6/09 ver 
6/12 ver 
8/14 ver 
9/29 ver 


.PHASE 0BA00U 


HSTART BQU 
IOBYTB BQU 
CPMDBV BQU 
SYSCAL BQU 
KMIADR BQU 
CCP BQU 
BDOSJP BQU 


0000H 

00O3H 

0004H 

00O5H 

O066H 

0D400H 

0DC06H 


ain program starts here 


for X68eee 
t addrea8 : eBA40H 

tt 拿 tsttttttstt 拿 ttt 拿 3 


FUNCNO 

PARAMO 

PARAM1 

PARDRV 

PARTRK 


DBFS 

DBFS 




function nuaber. 
output paraaeter. 
input p> 
drive. 

track. 


addreos. 
dummy data. 


200 

201 

202 

203 

204 

205 

206 


DI 

LD 

CALL 


(BOTDBV),A 
《CPMDBV し A 

A V (PAHAM1) 

A 

Z•BOOT0 

DB.TTLMES 

DBPBT 


CP/M drive no. 
title enable? 
Jimp, if no. 
CP/M title. 


220 

221 

222 

223 

224 

225 

226 

227 

228 

229 

230 

231 


140 Oh ! X 1989.1. 


►エレショウ’ 88 のレポートで,文章中にある「純白の布を巻き付けただけ j のコンパニオ 
ンの写典が:故ってないのは,大きな手落ちであり,今後このようなミスが2度と繰り返さ 
れないことを願う。 晴山佳彦(18> 千葉県 


320 

321 

322 

323 

324 

325 

326 

327 

328 

329 

330 

331 

332 

333 

334 

335 

336 


dc.b 

dc.b 

dc.b 


do.b 

do.b 

do.b 


dc.b 

dc.b 

dc.b 


$0d,$0a 
9 write error f 


$0d f $0a 
'creat error* 
$0d,$0a f e 


337 

338 

339 


350 

351 

352 

353 

354 

355 

356 

357 

358 

359 

360 

361 


dc.b 

dc.b 

dc.b 


$0d f $0a 
• close error* 
sed.tea.e 


storage for word, long data 


ds.1 


■ J スト 4 BIOS.MAC 


T H ) A HA 

K )2 c • 6 » 

¢>0 3(H) 03) 

S • • »F c » »c 
W B c A o ( A c ( 

JRLDLDINANDOUTLDLDOUTRBT 






































A,7 

(FUNCNO),A 

NMIINT 

A,{PARAM1) 


CONS0O : 
LSTS00 : 
LSTS01: 


A,2 

(FUNCNO),A 
NMIINT 
A,(PABAM1) 


CALL 

LD 

AND 

RET 


A, 3 

(FUNCNO),A 
NMIINT 
A,(PABAM1) 


A,4 

(FUNCNO),A 
A 

(PARAM0) f A 
NMIINT 


A,5 

(FUNCNO),A 
A,C 

(PARAMO) t A 
NHIIKT 


RRCA 

RRCA 

RRCA 

RRCA 


PUN00: 
CONO00 : 
LIST00: 


A,6 

(FUNCNO),A 
A.C 

(PARAMO) t A 
NMIINT 


LD A,1 

RET NC 


LOIR 

XOR 

RET 


RDWRT 

A,1 

NC 

DB t HL 
(WHTFLG),A 


READ1 

;z 


A,(SECNEW) 
(SECOLD),A 

HL,(BUPADR) 
A,(SBCNEW) 
BC.0080H 


HL,DRVOLD 
DE,DRVNEW 
A,(DB) 


232 

233 

234 

235 

236 

237 

238 

239 

240 

241 

242 

243 

244 

245 

246 

247 

248 

249 

250 

251 

252 

253 

254 

255 

256 

257 

258 

259 

260 
261 
262 

263 

264 

265 

266 

267 

268 

269 

270 

271 

272 

273 

274 

275 

276 

277 

278 

279 

280 
281 
282 

283 

284 

285 

286 

287 

288 

289 

290 

291 

292 

293 

294 

295 

296 

297 

298 

299 

300 

301 

302 
393 

304 

305 

306 

307 

308 

309 

310 

311 

312 

313 

314 

315 

316 

317 

318 

319 
32C 

321 

322 

323 

324 

325 

326 

327 

328 

329 

330 

331 

332 

333 

334 

335 

336 

337 

338 

339 


350 

351 

352 

353 

354 

355 

356 

357 

358 

359 
36C 

361 

362 

363 

364 

365 

366 

367 

368 

369 

370 

371 

372 

373 

374 

375 

376 

377 

378 

379 


AND 

LD 

OR 


CHKSAV 
HL,0FFFFH 
(TRKOLD),HL 
A.0FFH 
(SECOLD) V A 


HL,0 

DE,DRVMAX 

A,(DE) 


L,A 

A,(BOTDRV 
Z.SBLCOK 

Z.SKLCOK 

A,L 


►なにも STUDIOX に無理して投稿しなくても, r マイコン BASIC Magazinle 』 に投稿し 
て採川されれば,2カト J 後には FILES Oh ! X に名前が載るんだ,と思ったりする。 

郷謙一 (19) 神奈川県 


; drvncwt 16 . 


特集 X 68000 用 CP / M -80 システム 141 


380 

381 

382 

383 

384 

385 

386 

387 

388 

389 

390 

391 

392 
3分3 

394 

395 

396 

397 

398 

399 

400 

401 

402 

403 

404 

405 

406 

407 

408 

409 

410 

411 

412 

413 

414 

415 

416 

417 

418 

419 

420 

421 

422 

423 

424 

425 

426 

427 


430 

431 

432 

433 

434 

435 

436 

437 

438 

439 

440 

441 

442 

443 

444 

445 

446 

447 

448 

449 

450 

451 

452 

453 

454 

455 

456 

457 

458 

459 

460 

461 

462 

463 

464 

465 

466 

467 

468 

469 

470 

471 

472 

473 

474 

475 

476 

477 

478 

479 

480 

481 

482 

483 

484 

485 

486 

487 

488 

489 

490 

491 

492 

493 

494 

495 

496 

497 

498 

499 

500 

501 

502 

503 

504 

505 

506 
587 

508 

509 

510 

511 

512 

513 

514 

515 

516 

517 

518 

519 

520 

521 

522 

523 

524 

525 

526 

527 


31 RRCA S JP 


L D T I h t 
D D A D N E s t 
L L c L A R 零 寒 


:e: 

0 0 
RONI 
RDCO 



寒 t 寡 

D D D D c D T R T 拿 e 塞 T 
DDDDDDNDE ODE tBt DM 
LAAAALIAR X L R 拿 $ LR 



(L f (L » (LB 
DHHLA,(HNZDEHLA,(HNZDEHLA,(H0P7. 


T »WD D 
R ) B Lt£ 
w G No 

K L V V K R 

s F R R s w 

D T) D D 4 DD 
L w H LEC L E 
H A(( H D B HR 


INCINC LD CP JR INCINC LDCP JRINCINC LD XOR ANDRETLD OR CAL SCF RBT LD XOR LDJP LD LD LD LDI LD JR 



















A,(DRVOLD) 
(PARDRV),A 
HL,(TRKOLD) 
(PARTRK),HL 
A,(SBCOLD) 


(FUNCNO),A 
NMIINT 
A,(PARAM1) 


subroutines 


LD 

OR 

RBT 


CALL 

POP 

INC 


HL 

HL,(NMIADR) 
(INTBUF) V HL 
HL f 45EDH 
(NMIADR) t HL 


NOP 

NOP 

NOP 


DEFB 

: DPH table 
a>di8k0 

DBFW 

DEFW 

DBFW 

DBFW 

DEFW 

DBFW 

DEFW 

DEFW 


DIRBUF 

DPBLK 

CHKC0 

ALL00 


DPBLK table 


A,13 

(FUNCNO),A 
NMIINT 
A,(PARAM1) 


CALL 

LD 


(FUNCNO),A 
NMIINT 
A,(PARAM1) 


657: DPBLK: 

658: DEFW 32 

659: DEFB 4 

ata block. 

660: DEFB 15 

or data block. 

661: DEFB 1 

662: DEFW 255 


sec per track...8 kbytes per t 
block shift … •.2 kbytes per d 

block mask.0 to15 aec. f 

extnt Bask. 

disk size-1.256 data block 


528 

529 

530 

531 

532 

533 

534 

535 

536 

537 

538 

539 

540 

541 

542 

543 

544 

545 

546 

547 

548 

549 

550 

551 

552 

553 

554 

555 

556 

557 

558 

559 

560 

561 

562 

563 

564 

565 

566 

567 

568 

569 

570 

571 

572 

573 

574 

575 

576 

577 

578 

579 

580 

581 

582 

583 

584 

585 

586 

587 

588 

589 

590 

591 

592 

593 

594 

595 

596 

597 

598 

599 

600 
601 
602 

603 

604 

605 

606 

607 

608 

609 

610 
611 
612 

613 

614 

615 

616 

617 

618 

619 

620 
621 
622 

623 

624 

625 

626 

627 

628 

629 

630 

631 

632 

633 

634 

635 

636 

637 

638 

639 

640 

641 

642 

643 

644 

645 

646 

647 

648 

649 

650 

651 

652 

653 

654 

655 

656 


program name : CPM.S 
CP/H- 64180 interface 


1988 5/15 
6/26 
7/10 
8/21 


by TK-YSD 
ver 1.1 
ver 1.2 
ver 1.3 


base.adrs 

io_adrs 


p 3 


equ 

equ 

equ 


64180 base address. 

71055 base address. 

port_0.$ecf f f8 • 

portal.$ecf f fa. 

port 2.$ecfffc. 


LDssLDLD AND iLD 33 RET 




r:i 
o •.&• 
t 0 1 t 
c c c k e 
e 0 0 c 8 
i 11 h f 
d a a c 0 


8 0 
4 D 
6 

<by 

1 .7(0) 

• t 
evtfh 
Rri 

2 p 
• 0 

2 c 

1 




AH6ek 


albu 
tie 


0 0 101 0 10 1 0 10 1 
1 b ssss TTT T ssss 

» e T T T T ssss NNNN 
3 r ssss 1111 0000 
110 L L L L L L L L c c c c 


cocococo 


0 10 1 
0 0 11 
0 0 0 0 
NNNN 
0 0 0 0 
c c c c 


0 10 1 0 10 1 

u u u u DDDD 
pppp\ RRRR 


10 )). Abad 

T 6 B I 
I T M . 
N Y R T 0 
I B E R 1 
II H H 3 
A(D D 0 1 


285628E5 


EFWEFBEFBEFWBFW 
D DDDD 


B B B B 
F F F F 
EH E E 
DDDD 


F F F 
E B E 
D D D 


FWPWPWFW 
E E E E 
DDDD 


wwww 
F p F F 
H E E H 
DDDD 


w w w w 

F F F F 
£ E E H 
DDDD 


w w ww 

F F F F 
E E E B 
DDDD 


E E H E 


FWFWFWFW 
DBDEDEDB 


FWFWFWFW 
DBDEDBDE 


LDLDLDCAJP 


B s 
p F 
E E 
D D 


SSSSSSSB 

FFFPPFFF 

DDDDDDDD 


11 .. : : ••010101 

ST 011011 SSIIOO 
TSNNNRRRNNNNNN 
S1UUUDDDOOOOOO 
LLPPPRRRCCCCCC 


^o:UF: 

* T B 

* I T 


R V : : F F 
D R 0 o u u 
A D o 0 B B 

ftklrl 
u o H L I B 
B BCAD D 


STA{ 


3 045678901 2 345678981234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567 
6 t 66666677 7 777777788888888889999999999000000000011111111112222222222333333333344444444445555555555666666666677777777 
6 c 66666666 6 66666666666666 6666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777 


142 


Oh ! X 1989.1. 


►ユーフォリーの楽し さというのは,なんと いっても「あっ, やったな。 てめ えなんか 妹 
でもなんでもねえ。 ビシビシ」。 「私がなにを したって いうの,ひどいわ。 バシッ j という 
兄弟ゲンカに尽きると思います。 越昝亮 (16) 岛根県 


























(al)+,(aO)+ 
d0,init 一 3 


I'b*,d0 
init 一 5 


参, B , ,d0 
init_5 


#3 r d2 

d2 f 8tring_no 


• l,a2 

a2 f 8tring_adr8 


毒, t , ,d0 
init 一 30 

参 • ! • , 9 d0 
init_30 


param_l 
init 9 






d0 t aemptr 

*tie.d 0 

al f d0 

dO f diak_adra 
mem_type 
#io_adra,a6 

#$90 >P- ct(a6) 



(a2)^,d0 

,d0 

init 7 


U2> + ,d0 

参, 

init_0 


dl,(aO) + 
dO t init_l 

di8k_adrs »a0 
*($898/32-1) t d0 
i%e5 t dl 


lea 

sub* 1 
niove.l 
move•1 
dc.w 
addq•1 

add.1 
move.1 
dc.w 
addq.1 
tat.l 
bai 

nove•1 

add.l 

add.l 


move.1 
■ove.b 


clr.b 
move•b 
tst*b 
beq 

move.b 

cap.b 

bne 


cnp. b 
beq 


move.1 
nove.1 
clr.l 

move.1 
dbra 


move.b 

add.l 

dbra 


bar 

bsr 

bra 


beq 

cmp.b 

beq 

bra 


cmp.b 

beq 

cmp.b 

beq 


bar 

bsr 

clr.b 


t main 

家拿 ts 拿拿拿拿拿 t 拿拿 

main: 

b8r 

bsr 

bar 

bsr 

bra 


set free prgran memory. 


get 512k space. 


jimp, if error. 
Be 騰 ory pointer. 


;disk pointer. 

:select ran_type. 

: 71055 base address. 

, oodeO, port 一 0.input. 

portal.output. 

port_2.output. 

aet 64180 RESET. 

;aet 64180 BUSRBQ. 

;clear batch word counter, 
any option? 

Ju 臆 p» if no option. 


get option, 
initialise? 

Ju 繼 p, if yes• 

initialize? 
juap, if yes. 


disk meaory. 
2 kbytes. 


disk memory. 

directory table address. 
2 files (2 entries). 


;set directory data. 


; batch? 

; jump, if yes. 

; batch? 

;jump, if yea. 


number of parameter character 
address of p.c. 


title enable? 
jump* if yea. 


title disable. 


title enable• 


set 

set 

set 


64180 RESET. 
64180 OPERATION, 
file close mode. 


;aet 64180 BUSRBQ. 

bios function. 

: set 64180 NMI. 


cntrl^reg...$ecfffe. 


func_no 

param_0 

param__l 

para^drv 

para_trk 

para_sec 

para_adrs 


equ 

equ 

equ 

equ 

equ 


ba8e_adr8+$ea 40 
baBe_adr8+$ea41 
base_adr8+$ea43 
base_adrs ♦ 章 ea45 
base_adr8+$ea46 
ba8e_adra+ 拿 ea 48 
baBe_adr8+$ea49 


function number 

input parameter 

output parameter 

drive 

track 

sector 

addresa 


1 byte 

2 byti 
2 byt 


29: 

30: 

31: 

32: 

33: 

34: 


102 

103 

104 

105 

106 

107 

108 
109 

ne 

111 

112 

113 

114 

115 

116 

117 

118 

119 

120 
121 
122 

123 

124 

125 

126 

127 

128 

129 

130 

131 

132 

133 

134 

135 

136 

137 

138 

139 

140 

141 

142 

143 

144 

145 

146 

147 

148 

149 

150 

151 

152 

153 

154 

155 

156 

157 

158 

159 

160 
161 
162 

163 

164 

165 

166 


167 

168 

169 

170 

171 

172 

173 

174 

175 

176 

177 

178 

179 

180 
181 
182 

183 

184 

185 

186 

187 

188 

189 

190 

191 

192 

193 

194 

195 

196 

197 

198 

199 

200 
201 
202 

203 

204 

205 

206 

207 

208 
209 


220 

221 

222 

223 

224 

225 

226 

227 

228 

229 

230 

231 

232 

233 

234 

235 

236 

237 
236 

239 

240 

241 

242 

243 

244 

245 

246 

247 

248 

249 

250 

251 

252 

253 

254 

255 

256 
267 

258 

259 

260 
261 
262 

263 

264 

265 

266 

267 

268 

269 

270 

271 

272 

273 

274 

275 

276 

277 

278 

279 

280 
281 
282 

283 

284 

285 

286 

287 

288 

289 

290 

291 

292 

293 

294 

295 

296 

297 

298 

299 

300 

301 

302 

303 

304 

305 

306 

307 

308 

309 

310 

311 

312 

313 

314 


bsr 

bsr 

bar 

dc.w 


8et_res 

8et_bus 

crlf 

_exit 



set 64180 BESET, 
aet 64180 BUSRBQ. 

return to OS. 


return to OS, 


function number• 


cnp.b 

beq 

«0,d0 

escape 

c 鼸 p. b 
beq 

tl,d0 

1oad-Ccp 一 bdos 

c^p.b 

beq 

#2 v d0 

const 

cap.b 

beq 

参 3 , d0 
conin 

cap.b 

beq 

♦ 4,d0 
conout 

cap.b 

#5 v d0 

beq 

list 

c 朧 p.b 

«6»d0 

beq 

punch 

c 鼴 p.b 
beq 

#7,d0 

cap.b 

beq 

#13,(10 
read 一 rec 

cap.b 

beq 

#14 f d0 

write_rec 

cap.b 

#15 9 d0 

beq 

liatst 

cap.b 

beq 

#16»d0 

rdfile 

cap.b 

beq 

#17,d0 
wrfile 

move.1 
bsr 

#ifm8g,prnadr8 

print 

rts 


【拿拿拿拿拿 tt 拿拿拿 t 拿窜 t 拿拿拿 # 

ioad_ocp bdos t 


拿寒拿 tttttttst 拿拿拿章 ttt 拿 

load_ccp_bdos : 

move. 1 
move. 1 
bar 
clr.b 
rt8 


adr84>$d400) »address 


name pointer. 


tat .b 
beq 


move.w 
dc.w 
addq.1 


tat .b 


stringy 

const_0 


#$fe f -(a7) 

_inpout 

?2 f a7 


# 拿 ff 

d0,param_l 


stringy! 

conin_l 


subq.b #1,Btring_no 
move•1 a0,-(a7) 

move.1 8tring_adrs,a0 
move.b (a0)-f f d0 
cmp.b $ 9 % 9 t dQ 
bne conin_0 

move.b #$0d f d0 


move.1 
move.1 
rte 


move.w 
dc.w 
addq.1 


oap.b 

bca 


caps 

d0,param_l 
a0 f atrintf^adrs 
<a7)4 f a0 


#$ff,-(a7) 

inpout 

#2,a7 


#$61 f d0 

caps_0 


cap.b # 拿 7b,d0 

bcc caps_0 


cnp. b 
bcc 


param_0,d0 

#$fe,d0 

conout_0 


►最近の テレビ 番組のなかでよく,ソーサリアンの ゲームミュージックが 流れているので, 
よく聞いてみよう。 西沢直樹 (17) 長野県 


特集 X 68000 用 CP / M -80 システム 143 













315 

316 

317 

318 

319 

320 

321 

322 

323 

324 

325 

326 

327 

328 

329 

330 

331 

332 

333 

334 

335 

336 

337 

338 

339 


350 

351 

352 

353 

354 

355 

356 

357 

358 

359 

360 

361 

362 

363 

364 

365 

366 

367 

368 

369 

370 

371 

372 

373 

374 

375 

376 

377 

378 

379 

380 

381 

382 

383 

384 

385 

386 

387 

388 

389 

390 

391 

392 

393 

394 

395 

396 

397 

398 

399 

400 

401 

402 

403 

404 

405 

406 

407 

408 

409 

410 

411 

412 

413 

414 

415 

416 

417 

418 

419 

420 

421 

422 

423 

424 

425 

426 

427 

428 

429 

430 

431 

432 

433 

434 

435 

436 

437 

438 

439 

440 

441 

442 

443 

444 

445 

446 

447 

448 

449 

450 

451 

452 

453 

454 

455 

456 

457 

458 

459 

460 

461 

462 


move.w d0»-(a7) 
dc.w _inpout 
addq.l #2,a7 



move .b (aO)-f, (al 
dbra d0 f read_rec_0 


olr.b 

read_rco_l : 

rts 



olr.1 

nove.b para_i 
and.b #$0f 
add.l dl y d0 
asl.1 #8,d0 

add.l di8k_adrB f d0 
move.l d0 v a0 

olr.l d ❶ 

nove.b 
aal.1 

騰 ove.b para^adrBfdO 
add.1 #ba8e_adra,d0 
■ove.l d0 f al 
rts 


拿 write.rec t 

ttt 拿 t 拿 tttt 韋 t 拿 ttttttts 拿 

write_rec: 

■ove.b Mff,paraa_! 
tat*b para_drv 
bne write rec_l 


(al)^.(a0 

d0,writc_j 


olr.b 
ec : 
rts 


韋 load_cpm * 

t 拿拿 st 韋拿拿 t 拿韋拿 t 韋拿拿拿 t 拿拿 t 拿 

load_cpm : 

move.1 #base_adr8,a0 
move.l #($10000-8-1) 
olr.b dl 


load」 


de.load^cpm^S 


NG. 

A drive? 
junp, if no. 


68000 address. 


64180 address. 


NQ. 

A drive? 
jump, if no. 


clear $0000 to I0FFF7H. 


$ea0O) , address 


load CCP, BDOS. 


open 

d0 


olr.w 
bar 
tBt.l 
bmi load_opm_4 

■ove.w d0 9 filenoe 

load_cp«_0 : 

move.1 address,aO 
move.w filenoC ( d0 
■ove.l #65528,dl 
bar read 

d0 

load_cpm_3 


tat.] 

bai 


load BIOS, 
name pointer. 

read file mode. 

Jump, if error, 
file handle mi 鼸 bor. 


data pointer• 
file handle number, 
read file size. 


jump, if error. 



;jumpi if file end. 


;read file handle nunber. 


;aet *JP 0EA00H* to $0000. 


;naae pointer. 


;name pointer. 


;save address. 


;read file mode. 


;Ju«p, if error. 

;file handle number. 

;data pointer. 

;file handle number. 
;read file size. 

;jump, if error. 

;jump, if file end. 


;read file handle nuaber. 


;Ju«p, if already opened. 

: get file naae. 

;file naae buf• 

; 30 bytea. 


;name pointer. 

;read file mode. 


;if error. 

;file handle nunber. 
;set file open 鼸 ode. 


;file start address. 
;file handle nunber. 
;read file size. 

; ok nark. 

;Jimp, if error• 

;juap, if file end. 


error nark• 


;eet file close mode. 


;read file handle number. 


error mark. 


;Juap, if already opened. 

;get file name. 

;file name buf. 


144 Oh ! X 1989.1. 


► “さよなら LIVE in ’88” って書いてあるから終わってしまうのかと思った。今度からは 
-LIVE in *89" となるんでしよ。びっくりさせないでくださいよ! 

淨田光宏 (18) 滋釕斟 










(al)+,(a0) + 
d0 f wrfile^0 


bar 

tst.l 

bmi 


name2,a< 

$20 f d0 


d0, f ileno( 
#2,filemo( 


asl.1 
move.b 

clr.b 


(ba8e_adr8-f$101f) 9 dl 
#8,dl 

(ba8e_adr8-f$101e) t dl 

param_l 

#0 v dl 

wrfile_3 


wrfile 一 2: 

move.b #$ff 9 param_l 
move.1 #we 鼸 ,prnadrs 
bsr print 


clr.b fllemode 

move.w filenoO,d0 
bsr close 

rts 

wrfil€_4: 

move.b #$ff,param_1 
■ove•1 Icrmsg v prnadr8 
bsr print 

rts 


CRLF, SPACE 

:拿 t: 

d0,-(a7) 
#$ed,d0 
putchar 
#$Oa f dO 
putohar 
(a7)> t d0 


d0 v -(a7) 
#$20, d0 
putchar 
move.w (a7)-f f d0 
rts 


ju 田 p, if error. 


get file size. 


dl:file size. 

ok mark, 
file end? 
jump, if yes. 


error mark. 


error mark. 


set 64180 RESET, ROM. 


;check memory, 
jump, if rom. 


aet 64180 RESET,1 


set 64180 BUSRBQ, ROM. 


olieck nenory. 
jump, if ron. 


set 64180 BU3REQ, RAM. 


set 64180 NMI. 


clear 64180 NMI. 


set 64180 OPBRATIOK. 



* f m - 7 

* 0 It 1 

T 拿 $ 0 e $ 

B t tr - - 

s * 

E * 

R * 


:eo 


14 , p- 

#$§ 


M 


b b b b 


< 2: 拿 

t N < 


* 5»ts6 
HRATH " 


or- 
0 p 
p:o 
»t 
0 e 
# 8 


0 p 
p_o- 
»t 
0 e 

# a 


»$t 

b b b 

E2: ove t8tneove.oveopt8: 18 e:ovet8tneove.oveopBrt8nsoveopopopopopovetBtl:* 80” ove opopopopop t8t eq t8t;8e 
I 4»mbb ■ 0 D n r 靠 4 寒 B bb momnbr t 6 » mnnnnnDr 拿 1 拿 m 0nnnnnbbnnnJnnbb r s 4 
羣拿 a 8 拿 拿 8 :s tt 拿文 f 6 ^rr : 6 
t t s e e t t» u u 拿 e 拿 m 拿 拿 pp 
f e $ r r te 拿 b b 拿 a 拿 n 拿 t 拿 o 0 
S8 家 i 一 * 0 $ - 一 家 拿 I 拿 0> 寒 || 

* t t t 拿 tt t t 81 t t 


t s t 
tut 
s 拿 

tot 
t 00 i 


J 4567890123456789012345678 
J 3333334444444444555555555 
77777777777777777777777777 


► MusicBASIC にはとても驚いた。こんなことができたらいいなあ,と思っていた機能が 
ほとんど付いていた。 高木真一 (17) 岐阜県 


特集 X 68000 用 CP / M -80 システム 145 






dc.b 

dc.b 

dc.b 


dc.b 

dc.b 

dc.b 


S0d f 51 


, $0a 

l error.* 
$0d f $0a,e 


謳 ea 一 type: 

dc. 

•tring_no: 


sed.sea.e 

, Vcpn¥8ys¥BIOS.OBJ , ,0 

1 ¥cpa¥8y8VCCPBD0S.OBJ' f 0 

1 ¥cpm¥ f 
30 

'VcpaYBX.COM*,0 
f ¥cp«¥OS.COM*,0 


0, ,EX COM*,0,0,0,$0c 

$ 0i ,$ 00 , $ 00 v $ eo ,$ eo ,$ 00 , 100 t $ ee r $ o0 ,$ 00 , 100 , see ,$ 00 ,) 00 , 


0, *OS COM, t 0 t e , 0,$02 

$92»tee 9 see ( see,see v tee,see t $ee v toe,see t ,see r $ee,tee v 


select ram_type. 



OS. MAC sssssss: 


program nane : OS.MAC 
escape to Huaan68k 
1988 5/29 by TK-YSD 


any option? 

junp v If no. 


A,(HL) 
HL 



INC 

CP 

JR 

CP 

JR 


A,(HL) 

HL 

Z.MAINl 


A t 0 

(FUNCNO),A 


PUSH 

PUSH 

LD 

CALL 

POP 

POP 

POP 

RET 


C,9 

BDOS 


0DH t 0i 

0E5H 


►d bye! 1 
AH,•$* 


リスト 7 EX . MAC 


=======sssssssssss EX.MAC 


program name : EX.MAC 

64180 < —> 68000 
file exchange program 

1988 5/29 by TK-YSD 

6/26 ver 1.1 
9/24 ver 1.2 


CAN 

EOF 

BSC 


BQU 

EQU 

EQU 

BQU 

EQU 


BDOS EQU 
NMIADRS EQU 
PNAMB EQU 
PS1ZH BQU 
BUFFER EQU 
FUNCNO BQU 
PARAM1 EQU 


0DH 

0AH 

18H 

1AH 

1BH 

0005H 

0066H 

100OH 

101EH 

ie20H 

0EA40H 

0BA43H 


file name. 
file size. 

file buffer address. 
function number. 
answer from X680OO. 


main program starts here 


CALL 

LD 

AND 


;check comnand option 


CP 

JR 

CALL 


NZ,MAIN0 

LOAD 


102 

103 

104 
165 
106 

107 

108 

109 

110 
111 
112 


DE,DEX 

MESSAG 

HELP 


CP 

JP 

CP 

JP 

CP 

JP 


INC 

AND 

RET 


Z,0 

CRLF 


BC,16 

DE,FCB 

HL V 006CH 


HL.eeseH 

A,(HL) 

HL 


146 Oh ! X 1989.1. 


► TBS のザ•ベストテンが 3 J 1 で終わってしまうら 


print bur• address. 


return address. 


escape to CP/M. 


no option (default). 
option file naae. 


しい。僕はとても悲しい。 

山崎竹也 (17) 長野 W 


7 8 9ft 
0 0 0 1 
9 9 9Q 


b 789012345678901234560789001234 
111122222222223333333 $333$44444 





























FILE RECEIVE 
PILIHP: 


LD 

LD 

CALL 


A,16 

(FUNCNO),A 
NMIINT 

A,(PAHAM1) 
A 


FILE ' 
[LOUT: 


HL.DB 

(FSI2B) f HL 


A t 17 
< FUNC1 
NMIIN, 


A,(PARAM1) 
A 

NZ f 0 


;size by 128 bytes. 


;return if AMARI 0, 


;return f if not error. 


;HL: file end address. 


;jump, if error. 


HL ( (NHIADRS) 
(IHTBUF),HL 
HL V 45BDH 
(NHIADRS),HL 


HL,(INTBUF) 
(NMIADRS),HL 


CONSOLE INPUT 


PUSH 

PUSH 

PUSH 


LD 

CALL 

CALL 

POP 

POP 

POP 

RET 


C,1 

BDOS 

CAPS 


SET CAP. SHIPT ON 
CAPS: 

CP 61H 

RET C 


CP 

RET 


7BH 

NC 


CONSOLE OUTPUT 


PUSH 

PUSH 

PUSH 

PUSH 


CALL 

POP 

POP 

POP 

POP 

RET 


C,2 

B,A 

BDOS 


PILE OPEN 


PUSH 

PUSH 

PUSH 

LD 

LD 

CALL 

POP 

POP 

POP 

RET 


C,15 
DB t FCB 
BDOS 


特集 X 68000 用 CP / M -80 システム 147 


CALL PILOUT 

LD DE,BUFFER 

CALL PILOUT 


LD 

AND 


A,(OPTFLG) 

Sz 


jimp, if size 0. 
tran8ait file on neaory. 
file end, PSIZE : e. 


114 

115 

116 

117 

118 

119 

120 
121 
122 

123 

124 

125 

126 

127 

128 

129 

130 

131 

132 

133 

134 

135 

136 

137 

138 

139 


150 

151 

152 

153 

154 

155 

156 

157 

158 

159 

160 
161 
162 

163 

164 

165 

166 

167 

168 

169 

170 

171 

172 

173 

174 

175 

176 

177 

178 

179 

180 
181 
182 


186 

187 

188 

189 

190 

191 

192 

193 

194 

195 

196 

197 

198 

199 

2 ee 

201 

202 

203 

204 

205 

206 

207 

208 
209 


220 

221 

222 

223 

224 

225 

226 

227 

228 

229 

230 

231 

232 

233 

234 

235 

236 

237 

238 

239 


250 

251 

252 

253 

254 

255 

256 

257 

258 

259 

260 
261 


A,(HL) 

HL 

CAPS 


CP 9 R 9 

JR Z,OPT< 

CP 

JR Z f OPT 

RET 

LD A f 1 

JR OPT2 


INC 

AND 

RET 


;HELP MBNUE 
HELP: 

CALL 

CALL 

LD 

CALL 

RET 

;PILE INPUT 
LOAD: 


CALL 

LD 

CALL 


CALL 

CALL 

CALL 


CALL 

CALL 

INC 


CALL 

CALL 

CALL 


A, 2 

(OPTFLG) f A 
HL 

DB.FNAME 

A # {HL) 

HL 

CAPS 

(DE),A 


A,(OPTFLG> 
A 

NZ # LOAD0 


DE f DRI 

M£SSA( 


FILNAM 
DE V DREADY 
MESSAG 
KEY 
CRLF 


, Y , 

N2, 


LOAD3: 

LOAD4 : 


FILE OUTPUT 


LOAD4 

DELETE 

MAKE 

Z,DISKER 

FILINP 

CALST2 

A,B 

C 

Z.LOAD3 
HL,BUFFER 


WRITSQ 

A 

NZ.DISKER 


A,B 

NZ v LOAD 2 


A,(OPTFLG) 

;z 


CALL 

LD 

JR 


CRLP 

DE.DSAVE 

MESSAG 

FILNAM 
DE,DREADY 
MESSAG 
KEY 
CRLF 

HZ.SAVE3 

OPEN 

A 

Z,OPNERR 
DE t BUFFER 

READSQ 

A 

NZ f SAVE2 

HL f 80H 

BC f 80H 


HZ.SAVEl 
PILOUT 


read flag. 
write flag. 


262 

263 

264 

265 
2f>6 

267 

268 

269 

270 

271 

272 

273 

274 

275 

276 

277 

278 

279 

280 
2H1 
282 

283 

284 

285 

286 

287 

288 
2H9 

2(川 

291 

292 

293 

294 
29 5 

296 

297 

298 

299 

300 

301 

302 

303 

304 

305 

306 

307 

308 


jimp, if option. 


get file name• 


reoieve rile on memory. 


juBp» if file end. 


Junp, if option. 


get file n&ae. 


Ju 鷗 p» if no file. 


juoip, if file end. 


junp, if size is not 32 kbytes. 
transBit file on neBory. 


320 

321 

322 

323 

324 

325 
32G 

327 

328 

329 
3 30 

331 

332 

333 

334 

335 

336 

337 

338 

339 


350 

351 

352 

353 

354 

355 

356 

357 
: i58 
359 

361 

3f.Z 

36 3 
3f>4 

365 

366 

367 

368 

369 

370 

371 

372 

37 3 

374 

375 

376 

377 

378 

379 

380 

381 

382 
3 8:1 
3H4 

386 

387 

388 

389 

390 

391 

392 

393 

394 

: m 

396 

397 

398 

399 


►きっと謎の福袋のなかにはビルデイング.ホッパーが入っているに違いない。それと夕 
イムシーク レッ トの続編の3も入っていることだろう,と期待している私は受験生。 

櫛渕健一 (18) 神奈川県 


LC L t.*!. C 
HBHBCAAZ B 

D^BLDDNE net 
ljajrllarI R 




















CALL 

POP 

RBT 


A,CR 

TYPE 

A.LF 

TYPE 


PRINT MESSAGE 


PUSH 

PUSH 

PUSH 

LD 

CALL 

POP 

POP 

POP 

RET 


READ CONSOLE BUFFER 
GETLIN: 


return , if option. 


PUSH 

PUSH 

PUSH 


LD 

LD 

CALL 

POP 

POP 

POP 

RBT 


A.38 

(FILBUF),A 
C,10 

DE V FILBUF 
BDOS 
HL 
DE 


max 38 character. 


GET FILE NAME 
GETHAM: 


LD 

INC 

CALL 

LD 

INC 

DJNZ 


B,3e 

DE t FNAHH 

HL t FILBUP^2 


CAPS 

(DE),A 

DE 

GETNAMO 


OBT FILE NAME FROM CONSOLE 


558 

559 
56 ❶ 

561 

562 

563 

564 

565 

566 

567 

568 

569 

570 

571 

572 

573 

574 

575 

576 

577 

578 

579 

580 

581 

582 

583 

584 

585 

586 

587 

588 

589 

590 

591 

592 

593 

594 

595 

596 

597 

598 

599 

600 
601 
602 

603 

604 

605 

606 

607 

608 

609 

610 
611 
612 

613 

614 

615 

616 

617 

618 

619 

620 
621 
622 

623 

624 

625 

626 

627 

628 

629 

630 

631 

632 

633 

634 

635 

636 

637 

638 

639 

640 

641 

642 

643 

644 

645 

646 

647 

648 

649 

650 

651 

652 

653 

654 

655 

656 

657 

658 

659 

660 
661 
662 

663 

664 

665 

666 

667 

668 

669 

670 

671 

672 

673 

674 

675 

676 

677 

678 

679 

680 
681 
682 

683 

684 

685 

686 

687 

688 

689 

690 

691 

692 

693 

694 

695 

696 

697 

698 

699 

700 

701 

702 

703 

704 


DOK: 


INTBUP: 

FCB: 

FILBUF: 


B,8 

DE,FCB+1 

HL,FILBUF+2 


OPEN ERROR 
OPHBRR: 


CALL 

LD 

JP 


DE.DOPEN 

MESSAG 

A.0FFH 


DE.DFNERR 

MESSAG 

A.0FFH 


DB,DBRROR 
MESSAG 
DELETE 
A,0FFH 


CR.LF 
» 拿 tt e 


X680ee Ver 1.1 tt 拿拿 * 


DEPB 

DEFB 

DEFB 

DEFB 

DEFB 

DEFB 

DEFB 

DEFB 


•CB,LF 


CR.LP 

'** EX COMMAND TABLE t 拿 * 

CR.LF 

f K....ESCAPE TO CP/M * t CR # LF 
* H....HELP *,CR,LF 

1 B 64180 <— X6800O » f CR # LF 

» w -64180 —> X68eee »,cr,lf 

CR,LF •,拿 , 


Read file nane? 


DEFB 

DEPB 

DEFB 


DEFB 

DEPB 

DEFB 


DBFB 

DEFB 


DEFB 

DBFB 

DEFB 


WORK AREA 
OPTFLO: 


Save file ncuse? 


CR f LF 

9 Coaiplete * 
CR,LF •• 毒 • 


CR t LP 

* Disk error' 
CR,LF,*$• 


CB,LF 

* File naae error* 
CR.LF * 


DBFS 

DBFS 

DEPS 

DEPS 

DEP8 

DEFB 

END 


option flag. 
save buffer 


256 

0E5H 


10 

11 

12 

13 

14 

15 

16 

17 

18 

19 

20 
21 
22 

23 

24 

26 

27 

28 

29 

30 

31 

32 

33 

34 

35 

36 

37 

38 

39 

40 

41 
.12 

43 

44 

45 

46 

47 

48 

49 

50 

51 

52 

53 

54 

55 

56 

57 

58 

59 

60 
61 
62 

63 

64 

65 

66 

67 

68 

69 

70 

71 

72 

73 

74 

75 

76 

77 

78 

79 

80 
81 
82 

83 

84 

85 

86 

87 

88 

89 

90 

91 

92 

93 

94 

95 

96 

97 

98 

99 

see 

501 

502 

503 

504 

505 

506 

507 

508 

509 

510 

511 

512 

513 

514 

515 

516 

517 

518 

519 

520 

521 

522 

523 

524 

525 

526 

527 

528 

529 

530 

531 

532 

533 

534 

535 

536 

537 

538 

539 

540 

541 
54 2 

543 

544 

545 

546 

547 

548 

549 

550 

551 

552 

553 


5r パ 

557 


BCDBHLc.DE i HLOEBC 


9 rc s 

bdehjdb hl db 


bcdehcdbhldb 


2 f Q 

CHL >E^LEC 
BDHCDBHDB 


BCDEHLC,DE.BDHLDEBC 


L sssLLP p PTI sss Lppp T u sssLLP>PP TCQUsssLLLpplptTSSHS L p p p T 
FIPUPUPU S LDCAPOPOPORBFPUPUPULDLDCAPOPOPOREEQPUPUPULDLDCAPOPOPORESBPUPUPULDLDCA1POPOPOREILPUPUPULDLDCAPOPOPORE 

8 s p 
s bt e d q t q b 

o B LT As IsK]: 

US B B ED R T IA ぶ 
C.0D:LR:Aw l IMIK 


T 


148 Oh ! X 


1989.1. 

















特別レポート 


X 68000 のライバルは誰か7 


ようこそ,セガ•メガドライブ!! 




編集室 


Saito tiusumu 

斎藤晋 


人気最高潮のパソコン X 68000 の前に,あまりにも挑戦的な価格で登場 
した68000マシン「メガドライブ」。体感ゲームでお馴染みのセガが世 
に送り出した強力な家庭用ゲーム機だ。しかも富士通からは32ビット 
のホビーパソコンが出るという。今, X 68000 は狙われている? 






纖 




ライ/ X ;レ出現? 


X 68000という怪物のようなバソコンが登 
場したのが,1986年秋の エレクトロニクス 
ショウであった。16ビットパソコンといっ 

ても,当時は PC -9801 —辺倒で, CPU も, 
8086かせいぜい80286という時代である。 

68000を載せたパソコンというだけで十分 
に話題となる時期ではあったが ,X 68000が 
熱狂的に迎えられた理由は単にハードウェ 
アのスぺックが飛び抜けていたからではない 
だろう。確かにそれはユーザーが待ってい 
たマシンであったのだ。 

さて,その後の X 68000 の展開は Oh ! X を 
読んでいる皆さんならご承知のとおりであ 
る0オリジナル 0 S ということで心配され 
たバグもなく,ソフトの充実度も進んで現 
在350タイトルのソフトが市場に出回ってい 
る。発売当初は懷疑的だった人々も安定し 
た人気を認めざるを得ないようになってき 
た。価格的にはまだまだ高価なマシンでも 
あり,簡単に手を出せるものではないが, 
各雑誌の調査などでも次に購入したいパソ 



纏 


とんど影響ないのだが), X 68000 と同様に 
パーソナルユーザーをターゲットに したも 
のということだ。 

さらに, X 68000 にとっては,もっと気に 
なる存在なのが,先ごろセガ•エンタ 
ライゼスから発売された16ビッ 
シン「メガドライブ」である。68000厂ざ 
Hz ) と Z 80 A を CPU に据え, スフ。 ライトや才 
リジナルサウンドチップなど強力な AV 機 
能を備えながら,なんと21,000円という P 
C エンジンよりも安い{面格を実現している 
のである。 


-ムを麵する辦のこ: 




はこれ以上の解像 

- 


脅威のゲームマシン 


メガドライブは基本的にゲームマシンで 
あるから,当然のことながら勝負はグラフ 
イツクとサウンドである。 

まずは基本的なダラフイツク機能だが, 
色数は 512 色中から 64 色が選択できる。解像 
度は 320 X 224 ドットで, これはゲームセン 
ターの業務用ゲーム機と基本的に同じ。セ 


いうのが常套手段となる。 

決め手のスプライトは, 8 X 8 〜 32 X 32 
ドットの大きさで,定義できるパターン数 
は 8 X 8 の場合で 2048 パターンとなってい 
る。使える色はグラフィックと同様に 512 色 
中から 64 色が選択できる。一度に画面に表 
示できるのは 80 パターンで,これは X 68000 
より少ないが, 32 X 32 ドットの大きなキヤ 
ラクターを定義しても1パターンとして扱 
えるので強力だ。当初は,スプライトに拡 
大/縮小や回転機能があるのでは?との期 
待(恐れ?)もあったのだが,現在発表さ 
れているソフトを見る限り,そういった機 
能はなさそうだ。また, X 68000 のようにス 
プライトパターンで背景を作り,キヤラク 


コンのナンバーワンとなるケースも多いよ 


ぅだ。 

しかし,こうした嬉しい状況が無条件に 
続くと思うのは間違いだろう。 X 68000 ユー 
ザーとしては決して慢心していられる状況 
というわけではない。 

すでに,ご存じの皆さんも多いことと思 
うが, 近く富士通から 32 ビット パソコンが 
発表となる予定である。 32 ビットといって 
も,これまでの FM R シリーズの流れをくむ 
ビジネス パソコン ではなく (だとしたらほ 


これがゲーム マシンの 新星,メガドライブ(本体 
価格21,000円)〇ファミコンや PC エンジンに比べ 
るとちよつと大きいが性能は大きさ以上にすごい 
ものがある。コントローラのデザインも斬新だ。 
同時発売のゲームカートリッジは3本で,いずれ 
もセガブランド(各5,800円)。各地とも売り切れ店 
続出で品薄状態である。 



ようこそ,セガ•メガドライブ!! 149 









これがメガドライブ内部写真。基板は丨枚で比較的ゆったりとした配置で石が並んでいる。 
右上のいちばん大きな石が68000,中央部やや左下に Z 80が見える。カスタムチップは4つ 
で,中央のクリスタルの下にバスコン ト ローラ,左がグラフィックコン ト ローラ,右下に 
I/O コン ト ローラ,そして左端の小さいのがサウンドチップで ある。 また,右端のポー トは 
来春発売予定のディスクユニットが接続できるようになっている。 


X 68000 とメガドライブの主な仕様の比較 



メガドライブ 

X 68000 ACE 

CPU 

68000 (8 MHz ) 

Z 80 (4 MHz ) 

68000 (10 MHz ) 

メインメモリ 

72 K バイト 

IM バイト(最大 I 2 M バイト) 

ビデオ RAM 

64 K バイト 

5 I 2 K バイト(グラフイック) 

5 I 2 K バイト(テキスト) 

グラフィック 

最大 320 X 224 ドット 

512色中64色 X 2 画面 

ツインスムーススクロール 

縦*横分割スクロール 

ウィンドウ機能 

512 X 512 ドット 

65536色 XI 画面,256色 x 2画面 

16色 X 4 画面 

I 024 X 1024ドット 

16色 x 丨画面 

スプライト 

8 X 8 〜 32 X 32 ピクセル 

512色中64色,定義数2048 

80パターン同時表示 

16 X 16 ピクセル 

65536色中16色,最大定義数256 
スプライトで背景を構成可能 

サウンド 

FM 音源: 6音 (4 オペレータ) 
PSG : 3音+1ノイズ 

PCM 

FM 音源: 8音 ( 4オペレータ) 

AD PCM 

価格 

21,000円 

319,800円 



メガドライブには2インチのフロッピーディスク 
ドライブをはじめキーボード,モデム,タブレッ 
卜を使ったお絵かきツールなども予定されている。 
また,右上の帽子のようなものはマスターシステ 
ムのソフトを動かすためのメガアダプターだ。 


ターと重ね合わせるといった機能はない。 

次に背景としての グラフィック 機能とし 
て有効なのが, ツインスクロールと 呼ばれ 
るもの。要するに,2画面の グラフィック 
を持っており,それが別々に スムーズスク 
ロールで きるという機能 だ 0 このほか,ウ 
ィンドウを設定したり画面を分割してその 
中で画面を スクロール させたりもできる0 
グラフィックに 関してはさすがに X 68000 ほ 
どには いかない が(メモリ容量が圧倒的に 
違うから), ゲーム 用としてはまずまずの機 
含巨といえるた'ろう。 

次にサウンドに関しても,メガドライブ 
にはヤマハとの共同開発によるオリジナル 
のサウンドチップを載せている。 FM 音源 
6音 + PSG 3 音 (+ 1ノイズ)で,おまけ 
に PCM もあわせ持った,まさしくゲーム 
のために作られたカスタムチップといった 
感じだ。 

さて,これらはいわば表面的な機能だが, 
これだけを見ても「メガドライブ」がかな 
りの マシンで あることがわかるはずだ。い 
くらゲーム専用に特化して不要な部分を切 
り詰めたからといって,本当に2万1,000 
円でできるのか不思議に思うことだろう。 

メガドライブのハードウエア 

というわけで,メガドライブのハードウ 
エアについて見ていくことにしよう。 

メガドライブの心臓はなんといっても M 
PU 680000 CPU といわず MPU と呼びたくな 


150 Oh ! X 1989.1. 











































スーパーサンダーブレード(発売中) 

戦闘ヘリ「スーパーサンダーブレード」の青い機 
体が華麗に宙を舞う飛行シミュレーション&シュ 
—ティングァクションだ。高層都市をかいくぐり, 
海上を越え, 3 D ステージから 2 D ステージへと果て 
しな L 、攻防が繰り広げられる。 

るのは「68000は電卓あがりのどこぞの石 
などとは違うんじゃあ」という気持ちの表 
れだろうか。まあ, CPU でも MPU でも同 
じことなんですけどね。で,ここで使われ 
ている68000は Macintosh と同じ 8 MHz 版で, 
最もオーソドックスなタイプ0ちなみに, 
X 68000 では1 OMH z でシュリンクパッケージ 
のちょっと小型のタイプが使われている。 

また,メガドライブにはもうひとつ CPU 
が載っている。お馴染みの Z 80 A だ。 

いまのところ Z 80 は主にサウンド関係の 
ために使われているということだが,単な 
るサブ CPU としてしか使えないわけではな 
い。68000と Z 80 は,お互いにバスを共有し, 
Z 80は68000の持つアドレス空間のどこにで 
も配置できるようになっている。内部の写 
真を見ると,ちょうど真ん中あたりにいか 
にもパッチを当てたような小さな基板があ 
るが,実はその下に,2つの CPU のバスを 
コン ト ロールす るためのカスタムチップが 
隠されている。また,右下のコントローラ 
を接続するポートのそばにあるのが I/O コン 
トロール 用チップ,これもカスタムだ。 

そして,主力となるスプライトとグラフ 
ィックにも当然のことながら専用のカスタ 
ム LSI が採用されている。基板のほぼ中央 
にある正方形のチップがそれ。論理回路だ 
けで3万ゲートもある強者である。 

このように,主要な機能のほとんどを力 
スタム化することでこれだけのスペックを 
数個の石に詰め込んでいるわけだ。 

しかし,一方でメガドライブのハードは 
開かれたものでもある。 CPU までもオリジ 
ナルに設計されたファミコンなどと違い, 
68000や Z 80 といった一般的な石を使い,し 
かもすベてのバスが開放されている。拡張 
性に ついても心配ないし,68000の持つ豊富 
な開発環境が利用できるのはソフトメーカ 
一に とってありがた いこ とである。 



スペースハリアー II (発売中) 

体感ゲームの名作「スペースハリアー」がさらに 
パワーアップ。新しいデザインのボスキヤラが 
次々と登場。嬉しいことに,最終面以外の12面は 
面セレクトで好きなステージから始められるよう 
になっている。 


肝心のソフトウェアだが 

ハードウェアはこのくらいにして,ソフ 
トウェアのほうに目を向けてみよう。メガ 
ドライブ本体と同時に発売されたのは, 「ス 
ー パーサンダーブレード」,「スペースハリ 
アー II 」,「獣王記」の3本 0 メガドライブ 
の14能を見るには,これらのソフトを見て 
みるの力 5 '早い。 

Oh ! X 読者にとり最も馴染みの深いのは, 
やはりスぺハリだろう力*。今回,メガドラ 
イブ用に開発されたのは,かなりアレンジ 
された「 II 」であるが,ゲームの基本構成 
はやはりあのスぺハリだ。 X 68000 に移植さ 
れた当時は「本当にできるなんて!? j と驚 


やりましたねえ,「オメガトライブ」じゃなか 
った「メガドライブ」。う一ん,さすがはセガ。 
思ったとおり68000ですよ。 

セガといえば,ハングオン,スペースハリア 
一,アウトラン,アフターバーナー,といった 
体感ゲームで,ゲームセンターをネクラな少年 
の隠れ家から,アミューズメントランドへと変 
身させたビデオゲームメーカーなわけですよ。 
最近は,ギャラクシーフォースでもって,グリ 
ングリン回りながら敵を擎ち落としちゃうんで 
すから,そりゃもう恥ずかしいのを通り越して 
快感なんです。 

で,そのセガのビデオゲームには,68000が多 
く使われてきたんですね。だから, X 68000 が出 
たときはみんな期待しちゃったわけですよ。も 
しかしたら,スぺハリとかアウトランができる 
んじゃないかってね。もちろん,スぺハリなん 
かは電波新聞社によって実際に移植されたわけ。 
ただしですよ,業務用の基板からキャラクタデ 
—夕などはもらえないことになっているので, 
移植といってもデータから作んなきやならない。 
コナミのグラディウスだってビデオを見ながら 
—生懸命データを作っていったというんだから 



獣王記(発売中) 

ゼウスの言葉が地に響き,伝説の獣人族の戦士は 
長い眠りから覚めた。アテナを救うため,獣戦士 
の戦いが始まる。 3ポタンをフルに生かしたバン 
チ,キック,ジャンプのアクションで必殺技を繰 
り出そう。 

いたものだが,いともあっさりとやってく 
れるあたり,さすがはセガと唸らされる。 
しかも地面はしっかり格子状のパターンで, 
キャラクターの影もちゃんと映っている。 

体感ゲームからもうひとつ,サンダーブ 
レードにスーパーがついての登場だ。これ 
もなかなかのシューテイングゲームだが, 
セガの体感ゲームのなかでもグラフイック 
の微妙な色合いや遠近感などが大きくイメ 
ージを左右するタイプなので,色数やスプ 
ライトの機能で業務用マシンに劣るメガド 
ライブではやや苦しいものがあるようた; 
そして,3本目の獸王記だが,これはメ 
ガドライブのツインスクロール機能がこれ 
みよがしに見せつけられるゲームだ0グラ 
フイックも色数を最大限に生かしており, 


大変な労力ですよね ( SPS さんご苦労さま。でも 
ちょっと沙羅曼蛇は遅いよ)。 

で,私が何を言いたいかわかります? メガ 
ドライブ用にいろいろなゲームソフトが開発さ 
れるとしますね。するとメガドライブから X 68 
000への移植という線だって考えられるわけです 
よ。スプライトをギンギンに使ったり画面を2 
重にスクロールさせたりしても X 68000 になら簡 
単に移植が可能なはず。そして,メガドライブ 
からならキャラクターデータをそのまま移すと 
いうことも契約によっては可能なんじゃないか 
と思うんです。 

もちろん,逆に X 68000からメガドライブへ移 
植したっていいですね。いままで ,X 68000用の 
ゲームソフトといえば,アーケードゲームから 
の移植ものが多いというのが特徴だったですね。 
パソコンのソフトハウスが X 68000 ならではのソ 
フトを作ってしまうと他機種に移植しづらくな 
るからだと思うんですよ。それがメガドライブ 
の存在があるとしたら,ソフトハウスだって安 
心して X 68000 用のソフトに開発費がかけられる 
んじゃないかと思ったりするんですよ。う一ん, 
こりやラッキー! (謎の東洋人 X ) 


熱烈大歓迎のメガドライブ 


ようこそ,セガ.メガドライブ!! 151 




ファンタシースター II (2 月発売予定) 


マザーブレインの力で緑の星となったモタビァに 
異変が起こり始めた。大発生した凶悪なバイオモ 
ン スター に対し,敢然と立ち向かうモタビァの戦 
士たちの物語。戦闘モードもメガドライブならで 
はの迫力で楽しめる SF ファンタジ ー RPG だ。 

スプライトの動きもダイナミックでよい。 

このほ力 1 ,アクションゲームでは,「スー 
ノぐーハングオン」,「パワードリフト」,「ア 

ウトラン」など力 ? , RPG では期侍度ナンバ 
ー ワンの「フアンタシ ースター II 」, シミ ユ 
レーションではあの 「 SUPER 大戦略」など 
がセガのブランドで予定されている。 

そして気になる,サードパーティの参加 
だが,すでに大手 ゲームメーカーのほ とん 
どがメガドライブ 用ゲームカートリッジの 
開発に乗り出すことを決めている。 

X 68000 はどラなる 

メガドライブが登場したことで, X 68000 
の立場はどうなるだろうか。一部ではあい 
変わらずのことだ 力す, X 68000 はゲーム マシ 
ン として見られることが多い。続々 と 登場 
する アクション ゲームを見れば,そういう 
印象があってもしかたがないかもしれない0 
しかし,ゲーム マシンと 呼ばれる限り,メ 
ガドライブの存在はかなりの脅威となる。 
少なくともゲームにしか関心のない人は(こ 
れまでの X 68000 ユーザーは 違うようだが) 
ムリをして高価な X 68000 を買わなくてもス 
ぺハリ クラスの ゲームを ビシビシと 楽しめ 
るようになるからだ。なにしろ相手は21,000 
円, X 68000 ACE は15倍も高い319,800円だ0 

かつて,フ ァミコ ンが ブームを 巻き起こ 
したころから,パソコンはそれまでの勢い 
を失っていったという歴史をもっ0ゲーム 
志向の強いユーザーがバソコン離れを起こ 
したのだという見方が一般的だ。今また, 
メガドライブが X 68000 の神話を崩すのでは 
ないかという不安が生じるとしてもしかた 
がない0 

しかし,一方で別の見方もある。かって 
パソコンがファミコンに 食われたのは,単 
にフアミコンが 価格的に安かったからとい 



ァレクの天空魔城 (I 月 発売予定) 

セガならではの明るくかわいいキャラ,ァレック 
スキッドがメガドライブで大冒険。今回は,ジャ 
ンケン大王を倒したァレクが死んだはずの父を捜 
してジャンバリク星へと旅に出るというお話。楽 
しい乗り物や愉快な敵キャラも次々と登場。 

うだけでなく,パソコンの機能自体力す低す 
ぎたのだ。実際には,ゲームをするための 
機能だけをとっても,ハ 0 ソコンよりもファ 
ミコンのほう力 5 '上回っていたのである。こ 
れではパソコンに勝ち目はない。 

X 68000 は発表から2年たった今でもユー 
ザーにとって憧れのマシンである。そして 
グラフィック,サウンド,ビジネスのあら 
ゆる用途に対応できる十分な機能を持ち, 

な おかつ ゲーム マシンと しても,まだメガ 
ドライブにとって代わられるものではない 
だろう。むしろ,同じ68000ファミリーと 
して歓迎されるべき相手であるはずだ。 

X 68000 にとって,メガドライブが脅威と 
なるか,あるいは強力な味方となるかは, 
本当のところ X 68000 ユーザー全体の自覚に 



おそ松くん (12 月発売予定) 

懐かしの「おそ松くん j がリバイバル人気で大活 
躍のおとぼけアクション。もちろん,おフランス 
帰りのイヤミや,チビ太,デカパン,ハタ坊,そ 
してトトコちゃんなど,レギュラーキャラが総登 
場でメガドラする。 

かかっているのである。 

ホ** 

P . S . かねてから 噂のフアミコンの16ビッ 
卜版だが,このほど任天堂から公式な発表 
があった。名称はこれまでいわれてきたと 
ぉり 「ス ーノぐーフアミコン」 だが,発売は 
なんと来年, 1989 年の 7 月ということだ。 
これは「先手必勝の構えで登場したセガの 
メガドライブに対し,それまで準備してき 
たものでは太刀打ちできないと見て急遽仕 
様を変更したのでは?」というのが,大方 
の見方である。当然,発表された仕様はメ 
ガドライブを上回るものだが,ハードはぉ 
そらくこれから本格的な開発に入るのだろ 
う。いずれにしても玩具の発表としては, 
鬼が笑うような話である。 


果たして富士通の切り札は7 


「電0涵筵園地」 in 東京ドームで公開されるはずだ 
った富士通の32ビットホビーパソコンは,イべ 
ントが開催延期になったために公開もおあずけ 
をくらったかたちとなっている。 

ここでちょっと,関連する記事の載った他誌 
の情報を拾ってみよう。 

日経パソコン( II 月14日号)によると, CPU は 
80386で MS - DOS を採用,価格は40万円程度で 
ゲーム用に高い AV 機能を持ち,発売と同時に新 
作ゲームソフト100本を用意する,となっている。 
情報のいいかげんさもすごいが,新作ゲームソ 
フト100本というのは,かなり限度を超えていて 
面白い。 

ところが, ASAHI パソコン (12 月丨日号)を見 
るともっとすごい。「来年早々,32ビット新機種 
とソフト500本を発表 j とある。ここまでくると, 
もうなにがなんだかわからない。とりあえず, 
「日経パソコンの丨〇〇本に対し, ASAHI パソコン 
500本で断然有利!」ということでこの話題はこ 
こまでにしよう。 

ともかく,32ビットというからには CPU は, 
80386か68020または68030のはず。富士通のマシ 
ンといったらやはリグラフイックとサウンドだ。 


16777216色同時表示ぐらいは狙ってくるだろ 
う。ビットマップ用の専用 コン トローラや拡大 
縮小回転のできるスプライトが載っていてもお 
かしくない。もっとも, X 68000 の2年も後を追 
う マシンと してはそれぐらいはやらないとまと 
もな勝負にはならないだろう。もしも68030だっ 
たら,これはちょっと怖い。まして, 0 S が UNIX 
だったりすると……,機能はともかく,ユーザ 
一の期待度はかなりのものになるはずだ。逆に 
80386であればそれほど心配することはないかも 
しれない。 

例は悪いが, PC -88 VA がほとんど敗北したの 
は,単に機能が低かったからではない。 VA には 
X 68000 の対抗機種として価格やスペックが設定 
されていたようだが,そこにはもっと基本的な 
勘違いがあったようだ。結局のところ VA はユ 
—ザーの心をつかむことに失敗したのだから。 

富士通が起死回生のニューマシンを投入して 
くるとすれば,ハードウェアは申し分なく X 68 
000を上回るものとなるだろう。果たしてそれが 
ユーザーの 期待度をかきたてるようなものか, 
あるいは 88 VA 以上の巨大な勘違いとなるか。今 
後の発表に注目したい。 (丁) 


152 Oh ! X 1989.1. 












i •••於 

u ••象 


- 第5/回 - 

猫とコンピュータ 

隸,と,窗人 

Takazawa Kyoko 


高沢恭子 



バソコン通信局 FBI のネツト上で 「 X 680 
00を購入したいのですが,お使いの方は感 
想をお聞かせください」とお願いしたら, 
何人かのお友だちが答えてくださった。 

「ううん私も X 68000 ほしいです」という 
タイトルで 「 ITMOMO 」 さんから,「けっ 
こう初期投資もかかるし,ランニングコス 
卜も相当かかりそうで二の足を踏んでます 
が……買うならやっぱり98かな(うっ,悲 
しいさがですね)」。 

「みゆ」君は「私,使ってます」のタイト 
ルで,「使用感と言われても,仕事に使って 
いるようないないような……エディタなど 
も少ないし, FEP もだんだん出てきている 
ようですけど,これだっていうものがない 
です」 

FEP というのはフロントエンドプロセ 
ツサ,つまり日本語入力などの, 0 S にない 
機能を実現するものだ。 

「 MINE 」 氏は 「 X 68000 はソフトがなかな 
か数が少ないのでは……たとえば, CG をや 
るにしても,どのソフトがいいかほんとに 
情報が少なくて」 

「 X 68000 です かあ」 と「ちなみ」さん (青 
年です)は,「あれはソフトがあんまり出て 
いないの では…… モノクロ でよければ Mac 
をおすすめしますよ。 CG だったら下はマツ 
ク ペイント,上はイラスト レー タ ’88, フリ 
ー ハンド, などなどソフトに不足はありま 
せん。それに操作性も抜群ですしね」 

そして親愛なる「ちゃがま j 会長は (FBI 
には「たかざわきようこ フアンクラブ」 と 
いうボードがあるんです。彼は頼りになる 
会長さんです),「ふ一む,私はお金がない 
から逃げてるだけで,お金があったらたぶ 
ん買ってますからねえ。どうなんでしよ? 
確かにソフトは少ないし,高いよ一な気が 
します。ハードを買ったがためにただでさ 
え少ないソフトが買えない,とかね」 


^ 筆とマウス 

X 68000 を買ったら,まず Z’sSTAFF (その 
あとに PRO -68 K などと付くらしいけれど) 
というソフトで絵を描いてみようと思って 
いる。それが当面の目的だけれど,果たし 
て後悔しないかしらとず一っと考えてきた。 

正直にいって,機械で描〈絵にまだまだ 
疑問や,ささやかな反感を持っている。あ 
の緻密さや硬さや,異様な発色の良さがす 
ぐに思い出されて,筆の持つ粗さや柔らか 
さが浮かんでこないのだ。描画より写真の 
確かさに近いようで,不確かな線や筆勢な 
どを表現するにはふさわしくないような印 
象を持ってしまう。 

だから驚きの声を上げるような,現実を 
超えた密度と輝きのある画面を現出しなが 
ら,なんだか個性のありかがわからないの 
ではないかしらという不満がある。 

でもそれは私の偏見かもしれない。 Z ’ 
sSTAFF の機能の概要に目を通すと,およ 
そこちらで期待している一切の技法が実現 
できるらしいのだ。 

「ペン j の選択であらゆるタッチが表現で 
き,「パレット」で自由自在に色を選んだり 
混ぜあわせたりもできる。ぼかしたりにじ 
ませたりの描法も可能だし,フリーハンド 
の線も幾何学的な線も描ける。「タイル」や 
「スクリーントーン」などというパターン表 
現もある。 

これにコンピュータならではの編集の機 
能が加わると,とても人為では不可能な手 
品のようなワザが実現できるようだ。 

実際に絵の具を混ぜあわせてキャンバス 
に塗る,気に入らない箇所を布でふきとっ 
たり,ナイフで削ったりするというのも, 
楽しみはあるけれど苦労なものだ 0 バソコ 
ンならファウンデーション(地塗りなどの 
基礎)の手間もいらないし,使い終わった 


今回は座談会にち出席してますます忙しそ 
5な恭子さん。分野の異なる人たちとの語 
らいはぜひ必要なものですが,そこでギヤ 
ツプが生じた0すると,フォローするのは 
なかなかにたいへんなのです。 

パレットや筆の後始末もいらない。第ーパ 
ソコンの 前に椅子ひとつだけの スペースが 
あればよい。しかも3万色以上の表示がで 
きるなんて。手持ちの絵の具でそれだけの 
表現をしようとしたらたいへんだろう(特 
に油絵の具は1本がわりと高価なのだ〉。 

要は自分の創造性や描く力量の問題で, 
まずは試してみなくでは始まらない。しか 
し,あの,機械による表現の差はやはり気 
になってしまう。 

ともかく,次の休日あたりに,いよいよ 
X 68000 をもとめに出かけてみよう。 

ウイケツトの頭巾 

FBI (FORESIGHT BULLETINBOAR 
D INFORMATION SYSTEM)-NET は 
開局 4 年目を迎えた。 カワムラさん の ホス 
トプログラム 「 BIG - MODEL 」 は,バージ 
ョン アップに つぐバージョン アップでます 
ます充実,会員も500名を突破した。あいか 
わらずの無料ネットで,本業を別に持ちな 
がら,24時間,4回線を維持するシスォペ, 
ナカムラさん のご苦労にはまったく頭が下 
がる。 

「お母さん,ホン ニヤ アどこ?」 

ドイ君とふたり,2階からかけおりてき 
てトオルが聞いた。 

「パパの部屋にいたわよ j と私。 

ハ 0 ハ 0 の 部屋 = マシンルームで ある。 

「やった!お母さん,このくらいのキレ 
なぃ?」 

「あるけど……」何に使うの?と聞く必要 
はない。あれだな。 

ジョージ•ルーカスの「スターウォーズ 
3」がテレビで初放映されてからというも 
の, トオルは あの「イウ ォーク族」 の子供 
「ウィケット」が大好きになった。 

ドイ君も中学校の視聴覚室で,担任の先 
生やお友だちとビデォで全編を見てすっか 
猫とコンピュータ 153 













りウイケット坊やのとりこになったのだそ 
うだ。猫とタヌキと猿をミックスしたよう 
な愛くるしさと,あのリラックスした頭巾 
のファッション。ポシエットみたいな肩か 
けカバン。赤褐色の丸い目と原始的でチヤ 
ーミンダな言葉。 

きのうは, FBI の「うさぎ組」のお友だち 
からいただいた「開運まねき猫」のぬいぐ 
るみに,紙袋で作った頭巾がちゃんとかぶ 
せてあった。 

きよう,ふたりでホン ニヤ アをつかまえ 
て何をやろうとしているかはもう歴然だ。 
両耳と顔の部分がのぞくように穴があき, 
肩まですっぽりおおわれるあのイウォーク 
族の頭巾をホン ニヤ アにもかぶせてみよう 
というのだ。 

引き出しの中からベージュ色のハギレを 
選び出すと,ふたりはさっそくハサミを入 
れようとしている。 

「ねえねえ,思っているより難しいのよ。 
猫の頭をちゃんと立体的に考えて,耳の位 
置と目鼻の位置の関係をもう一度確かめな 


しまった,また私がいちばん積極的にな 
ろうとしている。 

電話が鳴ったために頭巾作りへの参加は 
思いとどまることができた。 FBI のメンバ 
一で経済誌のジャーナリスト 「 IB - PATA 」 
(またの名を「松風散人」)さんからだった。 

「あのね,日経新聞の座談会に出席してみ 
ませんか?できたらキヨウコさんの連絡先 
を教えてほしいと言われているんだけど」 
「え一っ! テーマは 何です か?」 

「詳しいことはわからないけど, パソコン 
通信について話すことになるらしいです 
上」 

「わあ,だいじようぶかしら …… j 
「 TRY , TRY , やってみなくちゃ」 

「う一ん」と数秒考えて,「じゃ,お願い 
します」 

「0 K ! それでなくっちゃ。たぶんこの 
電話のあとに TPO のキクザワさんという 
人から連絡があると思いますよ」 

通信は私がパソコンに親しむ大きな役割 
をしてくれたし,今後も日常生活との関連 
や実用の面でいろいろな可能性を期待させ 
てくれている。連日,新聞紙上でも各方面 
からの注目が盛んだし,こんな機会を与え 
てくれるのもネツトで得た人間関係のおか 

lb4 Oh ! X 1989.1. 


げである。 PATA さんありがとう。ただ 
し,こういうふうに急を要するときの連絡 
はパソコン通信より電話のほうが当てにな 
るというのがちよっと皮肉だ。 

がんばらなくちや 

キクザワさんという人からの連絡で,日 
経新聞の夕刊に掲載されるという座談会の 
およその様子がわかった。每回 テーマを 変 
えて著名人の司会で進められるもので,今 
回の テーマは「ホビー」, 司会はイラスト レ 
ーターで自らはソウルミュージッタの収集 
が趣味というナガイヒロシさん。 

私は「パ ソコン 通信」のホビイストとい 
うことらしい。ほかの出席者は「ホームビ 
デオ」の外人男性と,「オートバイ」の若い 
女性だという。 

通信は私にとって趣味であることにまち 
がいはないけれど,現在では生活習慣の一 
部という感じで,むやみにアクセスするこ 
ともあまりない。原稿を送るにも FM ネッ 
卜を利用したり実用にもなっている。でも 
座談会などというのは初めての経験だし, 
よい勉強になるだろう。私の期待と緊張は 
一気に高まった。 

ひとつの分野からひとりとなると,責任 
もあるし誤ったことは発言できない。でも 
パソコン通信の,今までとまったく違う新 
しいコミ ュニケーシヨンの便利さと合理性, 
開拓しだいで広がると思われる活用範囲の 
大きさ,しかも私をもって示す習得のたや 
すさ,友人との交流が生む利益の数々,そ 
んなものをゆがめずに伝えたい。 

使命感の強さから,興奮はなお増してく 
る。自分が始めたきっかけ, 

それ以前の少し歴史的なわが 
家の環境やパソコンライフの 
立地条件,パソコンクラブ 
FORESIGHT の強力なメン 
バーの存在と草分け的な 
BBS ネットの開局。ネットへ 
の参加のチャンスを与えられ 
て急速に増したパソコンへの 
親しみ,マシンを操れたこと 
の喜びと斬新な世界の発見, 

空間を超えたスクランブルの 
交流。強制されずに個々に選 
ベる自分とネットとの関わり 
方,そして実例としての FBI 


ネットの階層構造,メンバーの多彩さや活 
動例, etc . etc .. 〇 

だけど,座談会は講演会じゃない。しか 
も1時間ちょっとの予定と言ってたっけ。 
ほかの人たちはみんな違う分野だし,個々 
のホビーというより,生活の中での「趣味」 
の価値を語りあうことが目的であるのは目 
に見えている。しかし「通信」の実態を示 
さずに自分の中での価値は説明できない。 
登場したばかりのまだ知られていない分野 
を,どうやって4分の1の発言の中ででき 
るだろう。その日は刻々と近づいてくる。 

% % 原宿へ 

「原宿のナガイさんの仕事場に,午後7時 
までにおこしください。30分ほど写真撮影 
して,そのあと同じビルの地下1階のクラ 
ブで,お食事をしながらお話ししていただ 
きます j 

私は7時10分前くらいに,出席者として 
は1番目の到着だった。ナガイさんはおヒ 
ゲをはやされた明るい率直な方で,40歳に 
なられるそうだ。部屋の中ではすでに座談 
会の構成をするプロダクションの方やカメ 
ラマンの人たちが準備を進めていた。 

やがて,きようの記事をまとめるフリー 
の女性記者が,そのあと日経新聞の担当者 
が到着。「ホームビデオ」のロバート氏と「才 
ートバイ」のダイゴクミコさんが揃ったの 
は7時をちょっと過ぎてからだった。 

撮影は,ナガイさんのソウルミュージッ 
クの コレクション, LP 盤8000枚, シングル 
盤1万枚というレコードをびっしり収めた, 
天井まで届く作り付けの棚の前で行われた。 








〒★//£• A 




\ \\\\ >K)K>K}K>K 丰 キキ半 

AHOp{)K}K)p{>K^ 
Vy \X V >K)K (%) © MOK 

(W* )KHOK)K 、ノ爷 >K>K>K)K 

り e e eHOK)K}Kl ) S ( ^HOKJKJK 



座談会場は確かにクラブのようで,照明 
はあくまでも暗く,ガラス張りの向こうの 
吹きぬけの階下では,ミラーボールといっ 
しよにかなりの音量でディスコ音楽が鳴り 
響いている。一隅の流線型のテーブルを囲 
んで,ここでまぎれもなく 「座談会」をや 
るというので,少なからずびっくりしたけ 
れど,お忙しいナガイさんの仕事場から最 
も近い場所がここだったのだろう。 

バ M キング式の料理がつぎつぎ運ばれて 
きて,出席者のほかに4,5人の関係者も座 
につき,いよいよ語りあいということにな 
った〇 

アセつちゃダ乂なのに! 

ナガイさんはグラフィックデザイナーか 
らイラストレーターになられたそうで,「趣 
味」のソウルミュージックも,音楽番組の 
選曲を担当されるほどの本格派らしい。 

「ホーム ビデオ」が ホビー という, ロバー 
卜 •レッド • ベアさんは千葉県にある女子 
短大の英文科の講師で44歳,赤毛のヘアと 
おヒゲから, レッド •ベアは半ば ニック ネ 
ームなのだそうだ0ビデオは広島国際アマ 
チュア映画祭で総理大臣賞をとるなど,受 
賞は数知れぬほどだそうで,ビデオの撮影 
は注文を受けて出張もしているというから, 
「趣味」を越えている。日本での生活はもう 
20年近いそうだ。 

オートバイのダイゴさんは28歳で,スラ 
リとしたなかなか美しい人だ。本業は主に 
映画の紹介記事を書くフリーライター,パ、 
イクは免許を取ってまだ半年なので自分の 
車はこれから買うそうだ。 

足元から響いてくる音楽は気になるけれ 
ど,ナガイさんのくったくのない語りかけ 
で少しずつ会話が始まった。 

ロバートさんはもともとハワイの大学で 
演劇を専攻,表現することが大好きなので 
ビデオもみるみる実力を上げていったよう 
だ。注文されて撮影に出かけるのは,責任 
という怖さがあって,「趣味」と「遊び」と 
は別のものだという感じがするそうだ。 

ダイゴさんは仕事の性質から,試写会の 
会場や会社の中などの室内で過ごすことが 
ほとんどなので,気分をリフレッシュさせ 
るためにバイクを思いついたのだそうだ。 

さて私は……となると。ナガイさんは司 
会者の立場と個人的な素朴なお気持ちの両 


方を含めて,こうおっしゃっ 
た。 

「パソコン通信って なんな 
の? これがわからないと話 
にならなくってね」 

きっと,対談や座談会では 
とても基本的な大事な質問な 
のだろう。ありがたいと思い 
ながらも,ほかのおふたりに 
はこの質問がなかったことの 
違いを実感した。 

実際にナガイさんはメカ嫌 
いだというし,ダイゴさんも, 

そのほかの関係者たちも,み 
んなハ。ソコンには触らない人 
ばかりなのだ。唯一,ロバートさんが1年 
半ほど前に中古の98を買ってそのままにな 
っていると言っていた。 

「まずパソコンの端末機に…つまり キー ボ 
ードのついているアレですね…モデムとい 
うパソコンの信号を電話の信号に置き換え 
る機械をつなぎまして,それを電話線につ 
なぎ,電話回線を利用して …… j 

言いながら,きよう自分が胸の中に抱え 
てきたたくさんの荷物が,途方もなく大き 
すぎたように感じはじめた。ビデオやバイ 
クにはすでに無用の「イントロダクシヨン」 
のために,きっときようの私は時間を使い 
果たしてしまうのだろうな,そんな焦りが 
湧いてきた。 

*5^ ひとつのし < じり 

ロバートさんは日本語については,聞く 
ことはだいたいわかるけれど,話すほうは 
もうひと息なのだと言っておられた。確か 
に,時折なかなか言葉が見つからないふう 
で,私たちもいっしよに努力したが,お互 
いに少しずつもどかしかった。 

ダイゴさんも物静かな口数の少ない方で 
問われることに微笑みながら答えている。 

そんな中で私は,伝えたいことのあれこ 
れが頭いっぱいポップ コーンみ たいにはじ 
けていた。だから,にぎやかな音楽に負け 
まいということもあるけれど,ナガイさん 
やほかのふたりに比べると声がいちだんと 
大きくなる。自分でもそんな様子がひどく 
おかしい。私が話し始めると,みんながよ 
その星の話を聞くような顔をしているみた 
いだ。 マニアの 仲間にいたらシロウ ト その 


ものの私が,いつから宇宙人になったのか 
しら C 

「アクセス」,「ボード」,「階層」,出てくる 
用語にすべて説明が加わるような話だから 
聞いてくれる人もよほどの誠意がなくては 
ならない。でも音楽にさえぎられてどこま 
で伝わっているかもさだかでない。ひとつ 
のことがらを語りきれないうちに,脈絡も 
なくほかのことを語らなければならなくな 
る。でも会話とはそういうものだから仕方 
がない0 

テーブルの 上では,飲み物や料理の間に 
置かれた小さなラジカセがひたすら回り続 
けている。この録音テープを起こし,じよ 
うずに拾い集めた文章によって,「座談会」 
は難なくできあがることだろう。私は何も 
案ずることはないのだ。 

ナガイさんは芸術家らしく,終始率直で 
聡明な方だった。でもその率直さで最後に 
こう言われたのが,私のこの日の失敗を象 
徴したかのようだった。 

「僕はソウルミュージックの仲間がたくさ 
んいるし,よく集まるけれど,そういう場 
所へは,そのジャンル以外の人は来ないか 
ら安心できる。でも通信ってのは,ワケの 
わからないヤツでもなんでも集まってくる 
みたいだなあ,そんなのイヤだなあ」 

本来パソコン通信は,そういった点での 
選択を最も得意としているはずなのだ。自 
分の体験からもパソコンへの偏見を取る手 
段のひとつとして,なによりも強力なハ。ソ 
コンの実用例として,もっと「通信」を正 
しく紹介したかったのに,私はやっぱり気 
負いすぎてしくじったらしい。 

猫とコンピュータ 155 





第 22 回知能機械概論一お茶目な計算機たち- 


90 年代のマシン:『次」は 『 Next 』 に決ま 01 


/まだやつだ,天オジョブズ!/ 

上の見出しは,ニューズウィーク誌の表 
紙を飾った大きな活字です。そばには詐欺 
師のような目をした,しかし自信にあふれ 
た表情の男力す笑っています。そうです,つ 
いにあのスティーブン • ジョブズが「90年 
代のマシン」 Next を発表したのです。すっ 
かり真ん丸な顔になったこの男が世に送り 
出したのは,真四角な計算機でした。 

3年前に開発中だったときの写真もここ 
にあります 0 窓際の机の上には Macintosh 
が置かれており,彼がジーパン姿でこちら 
を見ています(このころは痩せている)。当 
時, Next 社の社員はたった10人だというこ 
とや,読者への “ I am still alive ! ”とい 
うメッセージを見て,内心アーアとため息 
をついたものでした。しかしその彼が,つ 
いに世界中の期待に応えるべく再登場した 
のです。 

ステイーブン•ジョブズ。パーソナルコ 
ンピュータの 世界に影響を与え続けてきた 
男。パソコンを 常に真に パーソナルな もの 
にし続けてきた人物。彼はもうひとりのス 
テイ ーブ (確か万能 リモコン かなにかを作 
ったという ニュースは 記憶している)と 
Apple 社を作り, あの 懐かしき Applell を売 
り出したのです。 パソコンの 創世紀です。 
そして Mac をこの世に送り出しました。も 
ちろん,失敗作といわれている Applelll と 
Lisa を作ってきたのもそうです。 

しかし,ジョブズは MacII は作りません 
でした。 Apple 社の経営陣に迎えたスカリ 
一に逆にクビにされたからです。その辺り 
の事情には僕はあまり詳しくありませんが, 

図1 Next のハンドルソフトウェア(予定) 

システムソフト 
Mach, Display Post Script 
開発 ツール 

GNU C, GNU EMACS, Objective-C, 

Information Builder 
オブジェクトオリエンテッドキット 
Application Kit, Sound Kit, Music Kit 
データベース用アプリケーション 
Merriam Webstar & Ninth New Collageate 
Dictionary, 

Shakespeare: The Complete Works 
アプリケーション 
Personal text database 
Electronic mail application 
Wordprocessor "Write Now ! n 


MacII の代わりに Next という 90 年代のマ 
シンを作ってくれたわけです。 

MacII では,一応 Mac の素直なソフトは 
動きますが,設計思想は大幅に変化してい 
ます。閉じたシステムから開かれたシステ 
ムに変化したことにより,独自の設計思想 
は薄まってしまったといえるかもしれませ 
ん。その意味では,ジョブズのいない Apple 
社が作った MacII と Next を比較するのは 
興味深いことでしょう。 

Applell や Mac (現在の冷たい色のもの 
でなくもう少し暖かい色の時代のもの)に 
対する懐かしさや愛着を,なぜか最近の 
Apple 社の製品である MacII や Mac SEC 
対しては持てなくなってきた原因がようや 
くわかったような気がします。 「テク ノパン 
ク」 ジョブズが 作っ た Apple 社は,ガレージ 
の中でパソコンを作っていた古き良き時代 
の香りを失ってきたのかもしれません。会 
社の成長とは結局そんなものなのでしょう 
か0 _ _ 

/大きな声で「90年代のマシン」/ 

ひと目見て ユニーク なのは Next の 外観 
です。真っ黒な1フィート角の立方体で, 
キューブとも呼ばれています。また,本体 
には一度も手を触れずに起動からシャット 
ダウンまでできるので,実際好きなところ 
に転がしておいても平気です。 

ロゴマークに もお金をかけており, IBM 
のあの有名な マークを 作ったデザイナー, 
ポール•ラン ドに 10 万ドル(約 1,200 万円)を 
払って制作させました。さほど奇をてらっ 
たものではなく,キューブを意識したすっ 
きりした マークに なっています。 

さて, Next の肝心のハードウエアについ 
て見てみましょう。まず, CPU まわりの基 
本的な枠組みについていえることは,現在 
選択できるスペックとしてべストに近いも 
のを選んでいるということです。人によっ 
てはオリジナリ ティ がないというかもしれ 
ません力 ? , SUN のような メーカーを 除け 
ば, CPU メーカー 以外が自分で実用的な 
CPU を 開発することは, マーケティングの 
面からも技術の面からも容易ではない,と 
いうこと を 忘れてはなりません。 

CPU は 68030 (25 MHz ), コプロセッサと 
して 68882 (25 MHz ), メインメモリは 8 M バ 
イト(さらに 8 M バイト増設可)です。参考 


文献 3) によると,68030のバーストリードサ 
イクルを可能な限り利用しており,このモ 
ードでは128ビット/クロックサイクルのメ 
モリと CPU 間のデータ転送速度を実現して 
いるとか。これは通常のモードの2倍近い 
速度だそうです。 

入出力関係に関しては,特に90年代のパ 
ーソナルコンピュータとしての模範となる 
べき条件をいろいろな面で満たしていると 
思います。まず第一に,標準装備の読み書 
き可能な光磁気デイスタを挙げなくてはな 
りません。容量は 256 M バイトに及びます。 
その信頼性についてはデータが手元にあり 
ませんが,たぶんハードディスクなどのメ 
ディアよりも上だと思われます。 

さらに,このマシンにはぜいたくにもデ 
ジタルシグナルプロセッサ ( DSP ) が装備 
されており,種々の信号処理,音声処理, 
数値処理などでの活躍が期待されます。音 
声に関しては CD 並みの音声合成 (16 ビット 
2チヤンネル, 44 kHz サンプリング)が可 
能です。ステレオ出力やマイク入力も実現 
されており,音声メイルのソフトウェアも 
付属しているようです。 

画面出力には初めて「ディスプレイポス 
トスクリプト」というものを採用していま 
す。これはグラフィックディスプレイのた 
めの表示モデルであり,機種を意識せずに 
グラフイック関係のソフトを作成できるこ 
と,ポストスクリプトをサポートしている 
レーザープリンタでそのままのイメージを 
出力できるという2つの利点があります。 

ただ,直感的に表示が遅くなるだろうな 
と思うのですが,すでにそれを考慮したス 
ピードアップのためのアルゴリズムやプロ 
グラムテクニックが開発されており , Next 
でも採用されているそうです。実際,すご 
く速いそうですよ。 

マルチメディアというパラダイムは,90 
年代にかけてますます重要なものになると 
思われるので, Next はそれを先取りしたマ 
シンといえるでしよう。 

さて,このように入出力関係が充実し, 
CPU に高速なクロックの68030を搭載して 
いても, CPU 上のデータ転送に時間がかか 
っては意味がなくなってしまいます。原始 
的なアーキテクチャでは何をするにしても 
メイ ン CPU がデータを 授受 しているので 
すが, この Next ではす ベての 入出カ チヤン 


lbb Oh! X 1989.1 








Anta Takaya 有田隆也 


ネルにカスタム DMA ( CPU 抜きに直接メ 
モリ転送を行う)チップを使用しています。 
これもリッチな構成といえましょう。 

ソフトウェアでも多くの先進的なものを 
搭載しています。オペレーティングシステ 
ムに関しては, Mach という,現在話題の分 
散型 UNIX を採用しており,さらにその上 
に Macintosh を超えるような ユーザー フレ 
ンドリなインタフェイスを実現しているよ 
うです。 

その統合的インタフェイスは Next Step 
と呼ばれ , Window Server , Application 
Kit,Application Builder,Workspace 
Manager の 4 つから構成されます。これら 
は Mac におけるフアインダ,ウインドウシ 
ステム, ハイパー カードなどの要素を含む 
ほか,よりオブジェクト指向の思想を強め 
たものであるようです。 

実際,オブジェクト指向版の C である 
Objective - C を開発用言語として採用して 
います。これはプリプロセッサで, フィル 
夕として C プログラムに変換してから 
GNU C コンパイラにかけるわけです。超強 
カェデ ィタとして有名な GNU EMACS も 
当然採用しています。 

さらにアプリケーションとして辞書をま 
るごと,またシェークスピア全集までが才 
プションでなく提供されます。これこそ光 
磁気ディスタの御利益といえましょう。ぺ 
ーパーメディアによる辞書や本の類がない 
という,いかにも未来生活を思わせるイメ 
ージがいきなり現実味を帯びてきます。 

Next についてちよっ とだけその ハード 
とソフトを見てきましたが,さらに驚異的 
なのはご存じのようにその価格です。この 
ようにぜいたくなスペックから見ると超低 
価格の6,500ドル(約78万円)という設定が 
なされました。キューブの中のキヤノン製 
光磁気ディスタの市場価格が6,000ドルと 
いうことですから,いったいどうなってい 
るのかと考えてしまいます。この価格設定 
こそ,「天オジョブズ」の面目躍如といった 
ところでしょう。 

/ ちよつと心配なこと / 

さて, Next に対する懸念を項目別に挙げ 
てみましょう。 

1) 製品のハ。フォーマンス 

光磁気ディスクをシステムディスクとし 


て使用した場合には,若千読み書きが遅い 
という感が否めないようです。これは,光 
磁気ディスクの本質に関わる問題かもしれ 
ませんが,インプリメントやバグなどの影 
響も Next のテストバージヨンに表れてい 
ると見られます。まあ,少なくともハード 
ディスクをキューブ中に搭載するという解 
決法はありますが,面白〈ありませんしね。 

2) モノクロディスプレイ 

さしあたって問題として J 旨摘されそうな 
ところは,デ イス プレイが モノクロ である 
ということでしようか。これは Mac に対す 
る批判で大きなウェイトを占めてきた点か 
ら見ても無視できないかもしれません。し 
かし,これについても一応すぐに開発する 
といってますし,実際来年中にもメドが立 
つでしよう。 

しかし,僕自身は以上のことについてな 
んとも思っていません (Mac ユーザー だな 
あ,しみじみと)。98などを使っても,やっ 
ぱりカ ラー だか ら というソフトは グラフイ 
ックソフト以外見かけませんし,あまり目 
にもよくないでしようしね。90年代の半ば, 
あと8年もたてば,僕の意識も変わってく 
るでしようか。 

3) Mach を使う真の意味 

現在の計算機の性能向上のための汎用の 
並列処理化に興味を持っている者としては, 
Mach が使われていると知っていよいよ 
Next への好感を強めたものでした。マルチ 
プロセッサ上での使用を想定した分散化し 
た UNIX である Mach (あるいはその系統の 
UNIX ) は,これから次第に大きな流れを作 
っていくのではないかという予感を持って 
いるからです。 

Mach については参考文献4などで紹介 
されています0新しい概念はスレッドと呼 
ばれるものです。これは,プロセスほど独 
立したものではなく,もっと結び付きのつ 
よいようなものです。そしていくつかのス 
レッドが従来の意味でのプロセスを構成す 
るといったモデルです。 

ところで Next で採用されているバージ 
ヨンはそのままでは マルチプロセッサに 対 
応できるものではありません,残念ながら。 
それではなぜ Mach をわざわざ採用したの 
でしようか。 

90年代のマシンなら必ずやマルチプロセ 
ツサをサポートするバージョンになると思 



います。キューブ内に複数の CPU ボードを 
搭載できるようになっていることですし。 
あるいはもう実験はなされているような気 
もします。 

4) 使いたい(一番の心配なのだ) 

実は, このマシンに 関して 一番 心配な こ 
とは,いったいいつ僕がこのマシンを使え 
る(自宅に所有する,大学で使う,人の家 
で使う,秋葉原で見る,などを含む)よう 
になる力%ということです。90年代のマシ 
ンを2000年(うむ,ちょうど40歳か)に入 
ってから触っても意味はありませんし。 

Next はさしあたり大学などの教育機関 
をターゲットとしています。だからこそこ 
の価格を実現できたのでしょう。そういえ 
ば Apple 社は昔から大学に無料で配ったり, 
学生に半額で売ったりしていましたね。 

でもまあ,スティーブン•ジョブズの夢 
は「個人個人に パーソナルなマシンを j と 
いうことだからいずれそうなるようにする 
だろう。そして,世界中の人や名古屋の人 
が欲しがり,もうちょっと値段が高くても 
売れるようになるだろう。といったところ 
で,まあそのうち日本の人も触れるように 
なるでしょう。でもやっぱり心配だ,心配 
だ,心配だ。 

参考文献 

1) 帰ってきた スーパースター,ニューズウィーク 日 

本版,1988年10月27日号, 8-13pp, TBS ブリタニカ 

2) BUG’S TOP, Bug News, 1986 年 1 月号, 6- 
7pp, 河出書房新社 

3) Tom Thompson, “The Next Computer", 
BYTE, Vol.13, No.12, 158-175pp,McGRAW 
-HILL 

4) 萩岛茂直, Ultramax と Mach,bit,1988 年 12 月 
号, 4-13pp, 共立出版 


知能機械概論 157 








UESTIC3INI 


and 



INIS\AAEP1 


XIturbo で成績管理用のプログ 
ラムを作っているのですが,デ 
一夕のソートの部分で困ってい 
ます。 ソートにはどんなものがあるのでし 
ょうか。またどれを使えばよいのでしょう 
か。 大分県小北美知夫 

ソート ( SORT ) とは,いうまで 
もなくバラバラに並んでいるデ 
ータをある規則に従って順番に 
並び換えることである。規則というのは, 
ふつうは 昇順(小さい ものから 大きい もの 
へ)力*,降順 (大きいものから 小さい もの 
へ)のどちらかである 力 ? ,ここでは比較的 
一般的な昇順を考£てみよう(降順も原理 
的には同じ)。 

説明を簡単にするために「9,2,1,7,5」と 
いうデータ列および一般的に N 個のデータ 
からなる列を考えてみよう。 

1) 最小値選択法 

まず誰でも考えっくのは最小値選択法 
(SELECTION SORT ) というやっで,あろ 
う。 これは 原理 的にはいちばん簡単で,ま 
ず全体のデータの中からもっとも小さいデ 
ータを探し出し,それを先頭に持ってくる。 
続いて,最初の1個(もっとも小さいデー 
夕)を除いた全データの中でいちばん小さ 
いデータ(全体では2番目に小さいことに 
なる)を探し,これを2番目に持ってくる。 
以下同様にして小さい順に頭から並べ,最 
後まで並び換えれば,はい終わり,という 
わけ。 

これはアルゴリズム(というほどでもな 
いが)は簡単だが比較および入れ替えを人 
はに行うため,実行速度はきわめて遅くな 
る。例のデータ列での動きは, 

9, 2,1,7,5 
1,9, 2, 7,5 
1,2, 9, 7,5 
1,2, 5, 9,7 

図 1 選択法と交換法 


1,2, 5, 7,9 
となる。 

2) 交換法 

次に一般的なのが交換法(バブルソート, 
BUBBLE SORT ) というやつである。こ 
のバブルソートは隣りあうデータ同士をど 
んどん比較し,入れ替えることによってソ 
ートしてやろうというものである。 

ソートしたい N 個のデータからなるデー 
夕列のうち,まず1#目と2番目を比べて, 
大きいほうを2#目に持ってくる。続いて 
2番目と3番目, 3番目と4番目というふ 
うにしていけば,結局最大のデータが最後 
( N 番目)にくることになる。続けてまた 
また1番目と2#目, 2番目と3番目とい 
うふうにして N - 2番目と N - 1 ff 目を比 
較してやると N — 1番目に2番目に大きい 
データがくることになる。このようにして 
いけば,最終的に小さいものから大きいも 
のへと順序よく並ぶというわけである。 

この アル ゴリズムはち よつ とわかりづら 
いかもしれない。小さいもの(あるいは大 
きいもの)をひとつずつ端から並べていく 
という点では選択法と同じであるが,遠い 
は選択法では全データを調べてひとつ取り 
出して並べるのに対し,交換法では隣同士 
の交換により隣へ隣へと運んで並べるとい 
う違いがある。これは図1を見てみればわ 
かるであろう。例のデータ列は, 

9, 2,1,7,5 
2,1,7, 5,9 
1,2, 5, 7,9 
となる。 

3) シヱルソート 

シェルソート (SHELL SORT ) とは挿 
入法という方法の改良版にあたる。ちなみ 
にシェルというのは人名である。禅入法と 
いうのはすでにある程度順序よく並んでい 
るデータ列にもうひとつデータを加えると 


きに,そのデータが入るべきところを探し 
てその部分に揷入してやるといった方法で 
ある。説明は難しいが感覚的には理解しや 
すいはずである。まず初めに2番目のデー 
夕。1番目のデータと比べて,2番四のデ 
ータのほうが小さければ1番目の前に揷入 
してやる。これで2つのデータからなる昇 
順列ができたことになる。あとはそれ以降 
のデータを入れるべきところに(先頭から 
順々に大小を調べて)挿入すればよいだけ 
のことである。これを例で見てみると, 

9, 2,1,7,5 
2, 9,1,7,5 
1,2, 9, 7,5 
1,2, 7, 9,5 
1,2, 5, 7,9 

となる。実はなんのことはない,我々が卜 
ランプの手札を整理するときにやっている 
のと同じである。 

以上のことからわかるように挿入 法は デ 
ータがあらかじめ整理されていればされて 
いるほど効率がよい。この挿入法を改良し 
たのがシェルソートである。シェルソート 
はソートすべきデータ列を何個かの部分列 
に分けてやることにより効率化を図ったも 
ので ある。 すなわち,部分列ごとに挿入法 
で整理してやり,全体をだいたい整理した 
あとで全体を神•入法で並べてやるのである。 

で,部分列の作り方だが, N /2 おきにデ 
ータを取り出して部分列を作る。次には N 
/4 おきに,そして N /8 ……といけばやがて 
はひとつおき(全体の挿入法)になるとい 
うわけである。 

要するに揷人法の2段構えという感じな 
わけだが,これを使えばまったく整理され 
ていない数列でも比較的容易に整理できる。 
まあこの方法は文では説明しにくいのでか 
えって プログラムの ほうがわかりやすいか 
も しれない。 プログラムはリスト1である 0 


図2 クイックソートの動作 




基準値 


①、 


選択法 ②〆 

<— J -^ 

大- > 

1 - 1 

: 

1 

1 

ノ 

—小一陵一大— 


<—小一 1 

1 

—大 4 

交換法@ 



1 



珍 1 


1 


1 


-大- 


> ソート完了 


158 Oh ! X 1989.1. 








































































/j/iiXY 質問箱 


リスト1シェルソート 


リスト2 クイックソート 


1000 ' shell-sort 
1010 • 

1020 no=50 
1030 DIM dt(no) 

1040 ’data set 

1050 FOR i=l TO no 

1060 dt(i)=INT(RND*100+l) 

1070 NEXT 

1080 'sort 

1090 ds=no 

1100 WHILE 1 < ds 

1110 ds = da ¥ 2 

1120 FOR i=ds+l TO no 

1130 sdt=dt(i) 

1140 s=i-INT(i¥ds)*ds 

1150 IF s THEN lim=s ELSE lim=ds 

1160 j=i-ds 

1170 WHILE lim <= j 

1 180 IF dt(j) <= sdt THEN lim=j+ds 

1190 j=j-ds 

1200 WEND 

1210 j=i-ds 

1220 WHILE lim <=j 

1230 dt(j+ds)=dt(j) 

1240 j=j-da 

1250 WEND 

1260 dt(lim)=sdt 

1270 NEXT 

1280 WEND 

1290 'print 

1300 FOR i=l TO no 

1310 PRINT i,dt(i) 

1320 NEXT 
1330 END 


1000 'quick-sort 
1010 1 
1020 no=50 
1030 DIM dt(no) 

1 040 'data set 

1050 FOR i=l TO no 

1060 dt(i)=INT(RND*100+l) 

1070 NEXT 
1080 'sort 
1090 sp=l 
1100 l(sp)=l 
1110 r(sp)=no 
1120 WHILE 0 < sp 
1130 lp=l(ap) 

1140 rp=r(3p) 

1150 sp=sp-1 

1160 WHILE lp <= rp 

1170 li=lp 

1180 ri=rp 

1190 md=dt((lp+rp)¥2) 

1200 WHILE li <= ri 

1210 WHILE dt(li) < md 

1220 li=li+l 

1230 WEND 

1240 WHILE md < dt(ri) 

1250 ri=ri-1 

1260 WEND 

1270 IF li<=ri THEN SWAP dt(li),dt(ri):1i=li+1:ri=ri-1 

1280 WEND 

1290 IF lp<=ri THEN sp=sp+l : 1(sp)=lp : r(sp)=ri 

1300 lp=li 

1310 WEND 

1320 WEND 

1330 »print 

1340 FOR i=l TO no 

1350 PRINT i,dt(i) 

1360 NEXT 
1370 END 


また例を見てみると, 

9, 2,1,7,5 
1,2, 9, 7,5 
1,2, 5, 7,9 
となる。 

4) クイックソート 

今のところ(だいたい)いちばん速いと 
いわれているのがこのクイックソートであ 
る0このクイックソートはアルゴリズムは 
プログラムにすると難しいわりに原理は簡 
単である。すなわち「データ列のうち,あ 
る1個のデータ(基準データ)より小さい 
要素は左側に,大きいデータは右側にくる 
ようにする」というものである。 

具体的には蕋準は真ん中にとることが多 
い。データの先頭から基準値と比較し,基 
準値より大きければ右側に移してやる。デ 
ータの終わりから基準 it と比較し,基準値 
より小さければ左側に移してやる。こうし 
て基準値の左に基準値より小さい列が,基 
準値の右に基準値より大きい列ができるわ 
けである。そのそれぞれの列に対してまた 
新たに基準#:を定め,ソートしてやればや 
がてはすべてが昇順に並ぶというわけであ 
る。これは図2を見てみるとわかりやすい 
であろう0これをプログラムにするとリス 
卜2,また例のデータを処理してみると, 

9, 2,1,7,5 
1,2, 9, 7,5 
1,2, 5, 7,9 


となるわけである。 

以上主なソートについて述べてきたわけ 
であるが,速さでいえば後ろのものほど速 
いということになる。が,逆に後ろのものほ 
どプログラムは難しく複雑になる。よくソ 
ートは速さがすべてとばかりになんでもか 
んでもクイックソートを使う人がいるが, 
果たしてそれでよいのだろう力、確かにク 
イックソートは速い。しかし,たかが100 
個ぐらいのデータでは真価は発揮されない。 
データによってはほかのソートのほう力す速 
い場合もあるのだ。 

たとえば,すでに整理されている列に新 
しくデータを加える場合が いい 例である。 
このような場合はシェルソートなどでもき 
わめて速い。しかもソートを使う場合はこ 
のようなケースのほうがむしろ多いのでは 
ないだろうか 0 すなわち簡単なアルゴリズ 
ムでも,最初1回は遅くてもあとは(普段 
使うときには)速いということが可能なの 
だ。 

要は必ずしも複雑なソートを使う必要は 
ないということである。データの数,デー 
夕の性質にあわせていちばんよいソート法 
を選んでやればよい。最後になった力す,こ 
れらの説明はほんのさわりにすぎないこと 
をつけ加えておく。この記述だけでは理解 
できないこともたくさんあろう。当然であ 
る。これだけで理解できるわけがない。プ 
ログラムを調べてみるなり,データの動き 


を図に货••いてみるなり自分なりに理解に努 
めてほしい。また,ソートに関する本など 
も役に立つはずである。たとえば『ソーテ 
イング.ノート 』 (山本米雄著,日本ゾフト 
バンク)などがある。今回のサンプルプロ 
グラムはここから引用している。 

自分でいろいろとやってみて初めてソー 
卜がわかってくると思う。それ AT けソート 
というものは奥が深いものなのだから。 

(華門真人) 


質問にお答えします 

日ごろ疑問に思っていること,どんなこ 
とでも結構です。どんどんお便りください。 
難問,奇問,編集室が総力を上げてお答え 
いたします。ただし,お寄せいただいてい 
るものの中には,マニュアルを読めばすぐ 
に回答が得られるようなものも多々ありま 
す。最低限,マニュアルは熟読しておきま 
しよう。質問はなるべく具体的に機種名, 
システム 構成,必要なら図も入れてこと細 
かに書いてください。また,返信用切手同封 
の質問をよく受けますが,原則として,質 
問には本誌上でお答えすることになってい 
ますのでご了承ください。なお,質問の内 
容について,直接問い合わせることもあり 
ますので,電話番号も明記してくださいね。 
宛先:〒102東京都千代田区 

九段南 2-3-26 井関ビル 
㈱ 日本 ソフ ト バンク 出版部 
「0 h ! X 質問箱」係 


Oh ! X 質問箱 159 











FILES /J/ilXY 


このインデックスは,タイトル,注記— 
筆者名,誌名,月号,ページで構成されて 
います。今月は各機種用の記事が多くて, 
一般の項がかなり縮まりました。相変わら 
ず X 68000 の快気炎が目立ちます。 


参考文献 

I/O 工学社 

ASCII アスキー 

テクノポリス 徳間窨 店 

POPCOM 小学館 

マイコン電波新聞社 

マイコン BASIC Magazine 電波新聞社 

LOGIN アスキー 


一般 

► ASCII EXPRESS シャープ, ISDN 対応静止画テレビ電話 
を開発 

シャープ の 開発した ISDN 規格対応テレビ電話に 関す 
る速報。 一 編集部, ASCII , 12 月号, 200 P . 

►特集 CD-ROM が来る! 

いよいよ一般的になってきた CD-ROM について,ソフ 
卜の 進化には CD-ROM は不可欠だ,と特集を組んで 解 
説。 ——編集部, LOGIN , II 月 4 日号, 120- 127 pp . 

► The News File 

SEGA の 16 ビット ゲームマシン.メガドライブの 紹介 
などパソコン関連のニュース。——編集部, LOGIN , 丨丨月 
4 日号, 156- 163 pp . 

► The News File 

夢の超スーパーウルトラパソコン Next の発表 や, 各 
メーカーの AX パソコンの紹介など。——編集部, L 0 
GIN , II 月 18 日 号, 220-227 pp . 

MZ - 的 K/C/1200/700/1500 

MZ -80 K / C /1200/700/1500 

► SATURN 

隕石に当たらないようにキーで操作して着陸する ゲー 

ム。 - 桂井進也, マイコン BASIC Magazine , 1 2 月号, 138 

-139 pp . 

MZ -700/1500 

►コ ンバット 

相手のハートを早くやっつけたほうが勝ち。コンピュ 

一夕と対戦する陣取りゲーム。-小笛龍 _ ,マイコン 

BASIC Magazine , 1 2 月号, 140-141 pp . 

►ある 戦車の物語 

敵をやっつけながら進み.要塞を破壊するゲーム。全 
5 面。——カリット,マイコン BASIC Magazine , 1 2 月 
号, 142- 143 pp . 

MZ -1500 

► CAR DRIVE 

横 スクロール する背景の中で車を操るカー アクション 
ゲーム。 —— 藤山健二, マイコン BASIC Magazine , 12 月 
号, 144- 145 pp . 

MZ - 的 B/ 2000/2500/2 的 0 

MZ -2000/2500 

►ヘリくん 

3 種類の爆弾を駆使して,敵戦艦をやっつけろ。 —— 
小門前伸司,マイコン BASIC Magazine , 12 月号, 146-147 
PP . 


►さくらんぼ 

さくらんぼが好物のノッブンの物語。フルーツの足し 
算をしながら面をクリアしていく。——石田学,マイコ 
ン BASIC Magazine , 1 2月号,148- 150 pp . 

MZ - 2500 
►悪魔の赤い風船 

悪魔につかまった天の使い,オンミツくんを脱出させ 
るパズルゲーム。——謎のパズル大好きおじさん , POP 
COM , 1 2月号, 244-250 pp . 

►なんでも Q&A シャープ MZ シリーズ編 
MZ - 2500でのプリンタコンフィギュレーションの設定 
の仕方について。——シャープ,マイコン,12月号,384 
P . 

►誌上公開質問状 

MZ - 2500用のグラフィックツールにはどんなものがあ 
るか,など読者の質問に答える。——編集部.マイコン 
BASIC Magazine , 12月号, 70 p . 

► ICE BLOCK 

氷の下に隠れたイチゴを10個取れば面をクリア。ペン 

ゴじゃないよ。-電人,マイコン BASIC Magazine , 12 

月号,151 -152 pp . 

MZ -2861 

►なんでも Q&A シャープ MZ シリーズ編 
MZ -286 I の叩シリーズで使える文字フォントディス 
クについて。——シャープ,マイコン,12月号, 384 p . 
►なんでも Q & A シャープ MZ シリーズ編 
MZ -286 1で,チャート叩にビジレス AD で作成し.たデ 

一夕を読ませる方法について。-シャーブ,マイコン, 

12 月号, 384-385PP. 

►なんでも Q&A シャープ MZ シリーズ編 

MZ -286 I の エミユレーションソフト の バージヨン アツ 
ブの方法について。—— シャープ, マイコン,12月号, 
385 p . 

►なんでも Q&A シャープ MZ シリーズ編 
MZ -286 I のアプリケーションソフトのデータの形式に 
ついて。——シャープ,マイコン,12月号, 385 p . 

Xl/Xlturbo/Z 

XI シリーズ 
► 西安 

リアルタイム2ブレイ上海風ゲーム。- POP . ART , テ 

クノポリス, 12 月号, 93-96PP. 

►新製品レポートシャープ XlturboZ III 
XlturboZ シリーズの新製品 , XlturboZ III ( CZ -888 C ) の 
仕様,価格などについて紹介。——編集部,マイコン BA 
SIC Magazine , 1 2月号, 46 p . 

►誌上公開質問状 

XIF /20 のマニュアルについて,また XIG にマウスを接 


新刊書案内 



世の中は一般人の目に触れないところで刻々と 
進もうと頑張っている。特に「情報」がらみの世 
界ではそうだ。本害もそうした世界から提出され 
たものの一種だが,しかつめらしい表題と中公新 
書というブランドから,なにやら専門害の匂いを 
かきわけると,それは幅広く著者の思うところを 
網羅した散文のようであり,技術よりも概念を伝 
えようとしていることに気づく。工学者特有の人 
に対する甘さが気になるにしても,先端の情報処 
理環境を知り,そのトップクラスの人が次になに 
をしようと考えているかわかるだけでも読む価値 
はあろう。本質的に難解な話ではなく深い突っ込 


みもないので,頻出する専門用語に対する注と, 
もっと平易な具体例さえあれば,より多くの人が 
面白く読めたのではないかと思われる。 

やはり鍵となるのは「ネットワーク」,(広義の 
ファジィやニューロンを含む)「人工知能」,それ 
からデータ量の差の克服(文字やグラフィックや 
音声など異メディアを同等に扱う!)の3つだっ 
た。 ( K ) 

戦略的創造のための情報科学 
坂井利之著中央公論社刊 
新 害 判348ページ560円 
003(563)1261 


160 Oh ! X 1989.1. 
















FILES ahiXK 


統するにはどうするか,などの質問に答える。——編集 
部,マイコン BASIC Magazine , 12月号,7 Ip . 

►酔っぱらいブギ 

主人公は酔っ払い。婦警さんにつかまらないように画 
面の酒を全部飲むパズルゲーム。—— T . AKUMA , マイコ 
ン BASIC Magazine , 12月号,192- 194 pp . 

► SLIP OTHELLO 

オセロを題材にしたパズルゲーム。——崎山高博,マ 
イコン BASIC Magazine , 12月号,195- 197 pp . 

► ドラゴンスピリットエンディング 

ゲームミュージックブログラム。——上田頎 一, マイ 
コン BASIC Magazine , 12月号,2 14-217 pp . 

►最新ゲーム徹底解剖!! 

サイオブレードなどの最新ゲームを詳しく紹介。一 
編集部, LOGIN , II 月4日号, 104-119 pp . 

►最新ゲーム徹底解剖!! 

戦国ソーサリアンの開発者インタビューから, 章 単位 
での攻略法まで。一編集部, LOGIN , 丨 I 月18日号,150- 
153 pp . 

Xlturbo シリーズ 

► Xlturbo にハードディスクを! 

Xlturbo シリーズでハードディスクを使うための,イン 
タフェイスボードの工作記事と,ハードディスク対応に 
するためのソフトの改造法について。——今雪宽, I / O , 
12月号, 2 l 6-223 pp . 

► なんでも Q&A Xl / XUurbo / X 68000シリーズ編 
turbo CP / M の起動時にシステム辞書を使えるように 
するためのシステムの書き換えについて。——シャープ, 
マイコン,12月号, 383 p . 

X 刪00 

►描画プログラムジェネレータ 

マウスで描いた図形を XC 用のソースブログラムに変 
換するブログラム。 XC 用のソースリストを掲載 。——XI 
Player’s Club ずん,1/0,12月号,123- 137 pp . 

► I 枚のプリンタ用紙に4倍のリストを出力する「圧縮 
リスタ j 

X 68000 とブリンタ VP -800 PC を使った,リストの圧縮 
文字出カソフト。 C コンパイラ用のソースリストとして 
掲載。一来夢雷人, I / O , 12月号,154- 159 pp . 

►環境ソフト居座り時計 

アセンブラを使った環境ソフト,居座り時計。システ 
ム常駐形プログラムの典型として,ソースリスト付きの 
掲載。——石川一彦, I / O , 12月号,197- 199 pp . 

► コンピュータウイルス対策とワクチン 
X 68000 にウイルスが出て来たときの対策に,コンビュ 
一タウイルスとはいかなるものかの説明と,実際に無害 
なウイルスとそのワクチンの作成を行っている。——市 


原昌文, I / O , 12月号, 244-245 pp . 

► X 68 K Information Shop 

シャープから発売された純正 MIDI ボード, CZ -6 BMI と 
その対応ソフト Musicstudio PRO -68 K について,主なスべ 
ックの解説,それに計測技研の開発した Melody Box 付属 
ソフトの紹介など。——編集部, ASCII , 12月号,317- 
318 pp . 

► X 68 K Report Shop 

ジェーイーエルの発売した純正アセンブラ対応プリプ 
ロセッサ PP 68 K と,シティソフトから発売のアセンブラ 
CMA 68 K を開発環境の向上という視点から解脱。——編 
集部, ASCII , 12月号, 320-322 pp . 

► X 68 K Programmer’s Shop 

0 S -9/ X 68000入門編として, 0 S -9/ X 68000と X 68000 の 
標準 OS , Human 68 k との違いについての解説。——編集 
部, ASCII , 12月号, 323-324 pp . 

►ソフトウェアライブラリ 

X 68000 用の課題に応募してきたブログラムの紹介。今 
月はパターンエディタ PE , スプライトエディタ SPED . X , 
キャラクタエディタ EDI /2 の3本。——編集部, ASCII , 
12月号, 325-332 pp . 

► X 68000 ワールド 

最新 ソフトの紹介。ザ•キング•オブ•シカゴ,沙羅 
曼 蛇,サンダーフォース II , Sampling PRO -68 K , 道化師殺 
人事 件。——編集部, P 0 PC 0 M , 12月号,8卜 87 pp . 
►グラフィックツール実力診断 

C - TRACE 68 の紹介がされており,レイトレーシングの 
アルゴリズムから, C - TRACE のデータの作り方まで細か 
く解説されている。——紀要介,マイコン,12月号,14 
8-153 pp . 

► X 68000 マシン語入門 

今月は,2進化10進数を扱うための BCD 命令と I 0 CS 
を使ったグラフィック命令の使い方(前編)についての 

解説。-高橋雄一, マイコン, 12月号,181- 189 pp . 

►なんでも Q&A XI / XIturbo / X 68000シリーズ編 
Sampling PRO -68 K で取り込んだサンプリングデータ 
を X - BASIC の BEEP 音として使う方法について。——シ 
ャープ,マイコン,12月号, 382 p . 

►なんでも Q&A XI/XI turbo / X 68000シリーズ編 
X 68000 用の NEW Print Shop PRO -68 K でできることに 
ついて。——シャープ,マイコン,12月号, 382-383 pp . 
►なんでも Q&A XI/XI turbo / X 68000シリーズ編 
X 68000 でコンピュータ画面をビデオ録画するために 
必要なオプションについて。——シャープ,マイコン, 

12月号, 383 p . 

►風の聖塔 

五郎太を出口へ誘い出すキャラに凝ったゲーム。—— 
軽澤誉,マイコン BASIC Magazine , 12月号, l 98-200 pp . 
► グラディウス II ステージ 8 


ゲームミュージックプログラム。-粟田英樹,マイ 

コン BASIC Magazine , 1 2 月号, 207-209 pp . 

►チヤレンジ! X 68000 

沙羅曼蛇,サンダーフォース II , たんばを紹介している。 
——川野俊充,マイコン BASIC Magazine , 1 2 月号, 296- 
297 pp . 

► SOFTWARE REVIEW 

A 列車で行こう II のマニアックな実戦的解説。——都 
築“シベリア”てつや/足軽くんサナダ, LOGIN , 丨丨月 4 日 
号, 34-35 pp . 

► X 68000 新聞ときめき関西特集 

関西系ソフトハウスの特集,よみものドラスビ日記,デ 
スブリンガー, MIDI システム Melody Box , 沙羅曼蛇の紹 
介など。——編集部, LOGIN , 丨丨月 4 日号, I 46- I 5 IPP . 

► NEW SOFT 

今夜も朝まで POWERFUL まあじゃん X 68000 版の開発 
中の話題。——編集部, LOGIN , II 月 18 日号, I 4- I 5 PP . 

► SOFTWARE REVIEW 

オリンピックは終わっても相変わらず盛んな熱血高校 
ドッジボール部について。——モデラー松本, LOGIN , II 
月 18日号, 32-33 PP . 

► X 68000 新聞 

今夜も朝まで POWERFUL まあじゃんとウォーニング 
の紹介や,熱血高校ドッジボール部と沙羅曼蛇の秘技, 
C-TRACE の初心者向け講座など。——編集部, LOGIN , II 
月 18 日号, 208-213 pp . 

ポケコン 

PC - G 801 

►誌上公開質問状 

PC - G 80 I でオリジナルキャラを表示するやり方などの 
質問について。——編集部,マイコン BASIC Magazine , 
12 月号, 7 lp . 

PC -1245/1251/1255 

► FISCO 

バイクで富士スピードウヱイを3周するゲーム。- 

今村晃, マイコン BASIC Magazine , 1 2 月号, 203 p . 
PC -1360 K 

►宛名書きプログラム 

丨丨月号の住所録プログラムで入力したデータをポヶッ 
トディスクに保存し,プリンタ CE -5 I 5 P で宛名を印字す 
るためのプログラム。——塚田洋 一,マイコン, 12月号, 
348-352 pp . 

PC - E 500 
►失われた王様の杖 

オール BASIC の□ールプレイングゲーム。猟人よ,ド 
ラゴンを倒せ。——うんとと 3 号, I / O , 12 月号, 204-207 
PP. 


く進化論の新地平〉 



ニワトリの歯(上•下) 

現在,米国で 最も 人気のある科学者のひとり S . 
J . グールドによる第 3 エッセイ集。ニワトリに歯 
がはえる可能性はあるのか。シマウマの縞はどう 
やってできるのか。生物の絶滅はどうして起きた 
のか。 収録された 30 篇のエッセイは, いずれも 読 
者を知らず知らずのうちに生物学の核心に引きず 
り込む。進化は 科学が生んだ 数少ない偉大なアイ 
デアのひとつだという 著者の 言葉が 実感され る。 
S . vJ . グールド著渡辺政隆•三中信宏訳 
早川書房刊 A 5 判上 3 Q 4 ページ 下312 ページ 
各1,500円 003(252)3111 


時間の物理 


時間の物理 

物理といってもさほど難しい数式は出てこない。 
もちろん本害の主目的は時間の物理的考察だが, 
はしがきに,恐山のイタコが呼び寄せる死者には 
もう時間というものはないのだ,というエピソー 
ドを紹介しているところからもわかるように,時 
間とはいったい何だろうかという疑問を,まず人 
間の初歩的.感覚的なものとしてとらえている。 
なぜ時間は一方向にのみ流れるのか。素直に不思 
議に思う人は読んでみるといい。 

大槻義彦著共立出版刊 

B 6 判 144ペ�