1981年11月18日水曜日

[PCゲーム] NEC PC-6001,アースバウンド~黎明期アドベンチャー



[PCゲーム] NEC PC-6001,アースバウンド~黎明期アドベンチャー
アースバウンドの紹介だよ。
アースバウンド
X'TAL SOFTのAVG、『アースバウンド』を紹介。
古き良き時代のアドベンチャーゲームを、存分に楽しむことができますよー(汗
■ラ・テールの村
ということで、金貨一枚握りしめてラ・テールの村にたどり着いた主人公
レディ・ジューンはどこにいるのかしらん? と思いながら、まずは村の中を歩いてみましょうかね。
村の大通り沿いをてくてく。幾つか家もありますので、どこか立ち寄ってみることにしてみましょっか。
ちなみに家を通りすぎたい時は「GO THROUGH」としないと、家の前に立ち止まっちゃいます。なんか不思議なシステムですね、これ(汗
一件目のお家に突撃してみるの図。
壁にずいぶんとカラフルな服が掛けてありますが、ひょっとして服屋さん?
家主のOLDFUETHさんいわく、金貨一枚で服を譲ってくれるそうです。うーん、どうしようかな?
OLDFUETHさんの家を出て、次の家に。
家のデザインが現代の建て売り住宅以上にそっくりで迷います(汗
この家には何があるかなーとドアを見てみると、ん、これはなんだろう?
家の中に入ってみると、何やら不思議な色合い。
あ、部屋の中が暗かったんですね。これは気が付きませんでした(汗
あーだこーだして部屋の中を明るくして、さっそく家捜しに挑戦。何か見つかるかしらん?
先ほどの家を出て、道を進む主人公。
いかにもな穴が空いている木がありますが、穴の中には特に何もなかったので、さらに先へ。
家の向こうに何やら見えますが、とりあえずお家にお邪魔してみることにしましょう。
こちらのお家のあるじは、REISCIAという予言者さん。
主人公がレディ・ジューンを捜していることを知っていて、ずっと待っていたそうです。
そんな彼女からは、水晶玉と呪文のプレゼントが。ありがたやです(^^
・・・ん、川の番人には気を付けろ? どういう意味なのかなあ。すぐに分かります(汗
村の外れに到着。村の境は川になっているみたいです。
川の番人CLOUDHANPHが言うには、「お前の服が気に入らないから、ここから先には通さない」とのこと(ぇ。
服といえば、OLDFUETHさんところで購入できたけど、なんか釈然としないなあ。強行突破できないかしらん。
強行突破に失敗しました(涙
この乱暴で理不尽な川の番人に従うのはシャクですが、ここは素直に服を買ってくることにしましょうかね。
■OLDFUETHさんのお家
再びOLDFUETHさんのお家へ。
服は3種類あるけど、果たしてどの色がいいのかなあ。
しばらく悩んだ後に、赤色に決定。どうか気に入ってくれますように(-人-)
気に入らなかったようです(T_T) 予言者さんのいうとおり、やっかいな人だなあ、このひと。
またOLDFUETHさんところに行かないといけないなあ(涙
またもやOLDFUETHさんのお家へ。
服の色はあと2種類。どうしようかしらんと悩んだ結果、今度は青にしました。
「え、なんで服がまた買えるの?」と思った方、どこかで見落とししてますよ^^;
再度CLOUDHANPHのところへ。今度はどうかな?。
・・・おー、服のことを気に入ってくれたみたいですね。正解は青だったのかな?青が正解というわけじゃなく、どうやら「服は2回買わないといけない」みたいです。こ、こいつめ!(怒り
ところがここで、またもやCLOUDHANPHから難題が。水晶玉をくれないと通してくれないなんてご無体な(泣
泣く泣く水晶玉を渡して先に進むことに。
CLOUDHANPHは大喜びで、「川を渡る時には斧を忘れるなよ」なんてアドバイスまでくれました。ナンカハラタチマス(怒
川に浮かぶボートの先には、先へと続く道がかすかに見えています。
やれやれ、それじゃあボートに乗ろうかな、とTAKEしたところ、「水晶玉を持たずに川を渡るなんてムリー!」という天の声が。どうしろってんだよもう(T_T)
■墓場
何とか苦労して水晶玉を手に入れ、川を渡ることに成功しました。
水晶玉を見つけた後も、川を渡るにはひと工夫が必要です。
CLOUDHANPHのウソつきっぷりの徹底さには、逆に感動してしまいました(怒り
ここで第1章が終わり、続けて第2章へ突入とあいなります。
レディ・ジューンに無事会えますように(-人-)
川を渡った先には、雷鳴とどろく墓場に到着。
墓石には「CONFUSION」という文字が見えますが、碑銘にしては変わってますね。
・・・で、とあることをしてみたら、お墓の主と思われる方がご登場。ゴメンナサイモウシマセン
ん・・・どうやら怒っている訳ではない様子。ちょっとお話をお伺いしてみましょうか。
墓石の主さんのアドバイスに従って岩場に向かってみることに。
岩場に向かう途中では、可愛らしい白猫と出会います。
猫と言えばタイトル画面にもいたなあ、なんて思いながら声をかけてみますが、白猫さんは警戒しているもよう。とりあえずは先に向かおうかな。
岩場の先にある洞窟に突入だっ!
洞窟の中では通路が2つに分かれているんですが、どっちも行き止まりのご様子。うーん、どうしたらいいのやら。
昔のアドベンチャーゲームだと、こういう時は「タタク カベ」が王道中の王道なんですが、果たしてうまくいくのかしらん?
無事に洞窟の奥にある部屋に到着できました。
部屋に置かれた本を開いてみると、そこには何やら呪文らしきものが。どこで使うかは分かりませんが、とりあえずメモしておこうっと。
■塔
墓場まで戻ったら、今度は逆の方向へ。
こちら側には高い高い塔がそびえ立っています。
この塔とレディ・ジューンが関係あるかどうか分からないんですけど、分からないのなら調べに入ってみないといけないんだろうなあ(涙
やっぱり入るんじゃなかった(涙
塔の中はずっとこんな感じで、上り階段と下り階段が続きます。どちらも直近の階に通じている訳ではないので、ちゃんとマッピングしないと同じところをぐるぐる回ることに。
まさかアドベンチャーゲームでマッピングすることになるとはなあ。とほほです(>_<)
5階に到着してみると、部屋の中に首輪を発見。
この大きさからすると、ちょうど先ほどの白猫に合うような気がしないこともないけど、試しに持っていってみるかな?。
ビンゴです(>_<)b。
首輪を持っている自分を見た白猫は、あっさりと捕まってくれました。
この白猫がゲームの進行に関係があるかどうかは分からないんですけど、ほら、昔のゲームってそういうものじゃないですか(爆
ということで、塔のマッピングを再開。
似たような構造の部屋が続くので迷ってしまいそうになりますが、親切なことに現在の階が表示されますので、マッピングも比較的らくちんさんです。階を教えてくれる天の声に感謝感謝。
ちなみにこの塔は、全部で20階・・・やっぱりマッピングしんどいなあ(泣
ん、20階から下ってきたら、いつの間にか裏庭に降りてきていました。どういう構造なのかよく分からないです(汗
それはともかくとして、裏庭には大きくて平らな石が鎮座ましましています。
人が乗れるくらい大きな石だなあ、とあれこれしていると・・・おっ、急に動き出しましたよ!

sky goes on somewhere
http://www.geocities.co.jp/SilkRoad-Oasis/1081/
http://www.geocities.co.jp/SilkRoad-Oasis/1081/koryak.htm
http://www.geocities.co.jp/SilkRoad-Oasis/1081/mugen2/map.htm

@秘密基地
http://hyonz.hp.infoseek.co.jp/















































1981年11月13日金曜日

[機器][PC] NEC PC-8801FH





















セットアップモード/PC-8801FH




PC-8801(8MHz機) 
■セットアップモード/PC-8801FH/MH
88SR
□周波数:動作クロックスイッチ 「8」⇔「4」
□BASICモード:システムモードスイッチ 「V1S」⇔「V1H」⇔「V2」
□ディスプレイ:ディスプレイスイッチ 「24K」⇔「15K」
□メモリウェイト:セットアップモード 「ON」⇔「OFF」
□その他:起動時に [N][8][0]      ⇒ N-BASIC
起動時に [D] ⇒ デフォルト設定
セットアップ中に [B][C][G] ⇒ 拡張セットアップ
※調査協力:くれゆに様, akutsu様
■セットアップモード/PC-8801FA/MA
実行画面実行画面
88SR
□周波数:動作クロックスイッチ 「8」⇔「4」
□BASICモード:システムモードスイッチ 「V1S」⇔「V1H」⇔「V2」
□ディスプレイ:ディスプレイスイッチ 「24K」⇔「15K」
□メモリウェイト:セットアップモード 「ON」⇔「OFF」
□その他:起動時に [N][8][0]      ⇒ N-BASIC
起動時に [D] ⇒ デフォルト設定
セットアップ中に [B][C][G] ⇒ 拡張セットアップ
※調査協力:akutsu様
■セットアップモード/PC-8801FE/MA2
88SR
□周波数:動作クロックスイッチ 「8」⇔「4」
□BASICモード:セットアップモード 「V1S」⇔「V1H」⇔「V2」
□ディスプレイ:起動時に [f・8] ⇒ 24kHz
起動時に [f・9] ⇒ 15kHz
□メモリウェイト:セットアップモード 「OFF」⇔「ON」
□その他:起動時に [N][8][0]      ※ 使えません ※
※調査協力:akutsu様
■セットアップモード/PC-8801FE2, MC
88SR
□周波数:セットアップモード 「8MHzH」⇔「8MHzS」⇔「4MHz」
□BASICモード:セットアップモード 「V1S」⇔「V1H」⇔「V2」
□ディスプレイ:起動時に [f・8] ⇒ 24kHz
起動時に [f・9] ⇒ 15kHz
□メモリウェイト:セットアップモード 「OFF」⇔「ON」
□その他:起動時に [N][8][0]      ⇒ N-BASIC
※調査協力:akutsu様

OUT of STANDARD
http://www.geocities.jp/upd780c1/n80/frame.html






















■PC-8801の歴史(簡略版) 知らない人の為に・・・
PC-8801(ぴーしーはちはちまるいち)とは15年ほど前(1984年頃)に登場した NEC製の8bitパーソナル・コンピューターである。初代PC-8801(無印)を初めとして、PC-8801mk?U、PC-8801mk?USR/TR/FR/MRが次々と発表され、その後PC-8801FH/MHと、後ろの[mk?U]が無くなったシリーズが出始める。その後サウンド機能を強化したPC-8801FA/MAが、その改良版であるPC-8801MA2が出た。また、そのちょっと前にはFH/MHの色違いバージョンであるPC-8801FH/MH Black Typeなども出てた。その後はちょっと路線を変更したのか16bit版のPC-8801VA/VA2/VA3が出た。またこれと並行して廉価版のPC-8801FE/FE2が、更にその後CD-ROMドライブを搭載したPC-8801MCが出てそれを最後に NECはPC-8801シリーズからは撤退した。
PC-9801の視点から見てみると、その後PC-9801と機能を合体させた(スイッチで98/88を切り替える)PC-98Doが発売された。そのすぐあとに 88のサウンド機能をMA2と同等にしたPC-98Do+がすぐに発表され、 Doを買った人の顰蹙(ひんしゅく)を買うことになった。
■PC-8801の性能(簡略版)
以下は私の所有しているPC-8801MHの仕様である。
CPU・・・メインCPU μPD70008(Z80Aコンパチ) (FH以降、動作クロック4MHz/8MHz切替選択可能) サブCPU μPD780C-1(ディスクコントロール) 4MHz
ROM・・・メイン N88-BASIC、モニタ他 128KB スロット内増設可能 最大56KB 
      サブ ディスクコントロール用 8KB
RAM・・・メイン ユーザーズメモリ 192KB 
       N88-BASIC動作時 テキストエリア 32KB
       変数・ワークエリア・テキストVRAM 31KB
       グラフィック用VRAM 48KB
       テキストVRAM     4KB(ハイスピードモード時のみ使用可)
       スロット内増設可能 32K単位でバンク切り替え
グラフィックス機能・・・カラー同時発色数 512色中8色(アナログRGBディスプレイ使用時)、解像度 640×200 1画面、もしくは白黒640×200 3画面、もしくは白黒640×400 1画面。
キャラクタ表示機能・・・テキスト最大80×25文字表示可能。
サウンド機能・・・ビープ音、SR以降FM音源3音、PSG音源3音)。但しFA/MA、VAシリーズはFM音源6音(左右振分可)、PSG音源3音、リズム音源6音(ステレオ)、ADPCM1音に拡張。
ディスクドライブ・・・ 5.25インチ 2D(両面倍密度 容量320KB)モデル30はドライブ2基搭載(mk?U以降)。 Mxシリーズは5.25インチ 2HD(両面高密度 容量1.2MB)モデル30はドライブ2基搭載。
2Dの容量は256KBと書いていましたがどうやら320KBのようです。ご指摘くださったKUMASANさん、有難うございます!
■PC-8801でプログラミング
今から10数年前、初めてうちにPC-8801mk?Uモデル30(5インチディスクドライブ2基搭載。ちなみにモデル20は1基、モデル10は無し)が来た。非常に高価で、定価は確か275,000円だった。当時はディスクドライブ対応のソフトというものが出回っていなかった為、供給はすべてカセットテープから行われた。テープにピーガガガーというノイズのような特有の音が録音されていて、その音をパソコンに繋いだケーブルを通してパソコンに聞かせる訳である。一つのソフトを実行する為にはまずこのロード作業が行われてから実行される訳である。当然、使用言語はBASIC。私も当時子供の科学という雑誌に載っていた、一画面いっぱいに時計をキャラクタグラフィックで表示させるプログラムを打ち込んだ。BASICプ ログラムは1行打ち込み終わる毎にRETURNキー(今で言うEnterキー)を押してパソコンに記憶させなければならないのだが(と同時に改行も行われる)初めて打ち込みをする私にそんな事が判るはずもなくただひたすらカーソルキーで行頭に移動させては (面倒くさいなぁ)と思いつつも800行にもわたるプログラムを打ち込んだものだ。苦労の末(2時間ぐらいかかったと思う)実行させると画面にはただOKの文字が輝くのみであった・・・当たり前だ。パソコンに何も記憶されてないのだから。
その後、近所の子(通学時一緒に登校した人)から「マイコンBASICマガジン」(電波新聞社・刊)なる雑誌の存在を教えられプログラミングすることに喜びを覚える。といっても、ただ雑誌に載っているリストを打ち込むだけだったが。
その後PC-8801FHを購入してからもプログラミングはし続ける。
それが嵩じて、よく人のうちに遊びに行ってはプログラミングをした事もあった。知り合いの家でSONYのSMC-777という機種のプログラムを打ち込んだ事もあった。
PC-8801でプレイングゲーム(^^ゞ
前にも述べたが当時はカセットテープのソフトしかなかった。また、しょぼいゲームしかなかったため、ほとんど買わなかった。(親がどうしようもなくつまらないゲームの詰め合わせを買ってきてくれた時は参った)
なにせこのゲーム、言語はすべてBASICである。おまけに販売品であるにもかかわらずエラーで止まる。(バグなどという複雑なものではない)単なる打ち込み間違いである。こんなモノが商品になったのだからいい時代だったのだなぁ。ちなみにそのソフトのうちの一つは、桃太郎が鬼が島に行って鬼を退治するという内容だったような・・・。発売はチャンピオンソフトという名称だったような気がする。
■PC-8801FHとの出会い
それからしばらくしてPC-8801mk?USRが出た。ゲーム業界もようやく活気づいてきて、PC-8801にとっての黄金時代が始まるのであった。
私はそれからしばらくしてPC-8801mk?UFRを購入を決意して勝手にマイコン流通センターというところに電話して注文したところを親に替わるという段階で反対され、注文は取り消された。あの頃は子供心にがっかりしたものだ。しかしのちに懇意にしている電気屋さんからFRの後期型であるFHが発売されると聞いて私は心が躍るのを感じた。
早速その電気屋さんに注文。納品されたのは雪が降る12月であった。その夜、PC-8801FHではPC-8801mk?USRと同時に出たというアクションシューティングのテグザー(THEXDER)が動いていた・・・。感動の嵐であった。mk?Uで動かなかったテグザーが動く。他の今まで音が鳴らなかったソフトも次々と素晴らしい音を奏で始めた・・・。
■PC-8801とマシン語プログラミング
PC-8801で扱えるプログラミング言語として有名だったのはBASICの他にはマシン語、正確に言うとアセンブリ言語だった。C言語はまだ流行ってなかった。ちなみにCP/Mと言うのもあったらしいが詳しくは知らない。
PC-8801は起動するとN88BASICが使えるようになるがその状態でmon[RETURN]と打ち込む事によりモニタ・モードとなってマシン語を打ち込む事が出来る。入力はすべて16進数で行われる。アセンブリ言語を打ち込むにはどうすれば良いかというと 別でアセンブラーを買ってきてやったほうが良い、というわけである。PC-88は内部にも一応アセンブリ・モードというものがあって出来る事は出来るのだが命令体系が昔のインテル社のi8080という仕様なので非常に扱いづらいのである。
例を挙げるとロード命令であるLDは88の内部アセンブラーだとMOVという命令になっている。また、表記上Z80系の命令が理解できず、逆アセンブルすると???と表示されてしまうのであった(もちろんプログラムは動くのだが)。
PC-88用のアセンブラーとして有名だったのはアスキーという会社が発表したMF-ASMというもの、またPC-8801シリーズに多大な貢献をしたフリーのプログラマーである日高 徹(ひだか・とおる)氏がそれを更に改良したMF-ASM2、のちにさらに改良を加えた究極のアセンブラーであるHIT-88(ひっと・はちはち)等がある。
MF-ASM2は普通のBASICプログラムのようにプログラミングをしていき(行の最初にアポストロフィーをつける)、最後にMF-ASM2でアセンブルするというものである。
10 ' ORG 0B700H
20 ' DI
30 ' LD C,5
40 ' LD D,01111111B
50 ' LD E,10000000B
60 ' LD HL,0C000H
     こんな感じ…
■PC-8801のエミュレーター
今は良い時代になったものである。かつての古き良き?マシン達を今のPCで再現できないかと言う事で幾人かの人々がWindows上やDOS上で88が動くエミュレーターと言うものを製作している。もちろん動かすためにはPC-8801に搭載されているROMの内容をPC上に構成しなければならない。そのための手段としてシリアルケーブル(RS-232Cケーブルとも言う)経由でデータを転送する方法やPCに5インチディスクドライブが搭載されている場合に限りディスク経由でデータを移し替える、と言う作業が必要だ。また当然肝心のソフトウェアも同様の方法でデータを移し替えなければならない。
オリジナルのソフトウェアではデータの転送(いわゆる吸出し)がうまくいかないのでそのソフトウェアのバックアップ品から行う事になる。吸出しの際にそのソフトウェアにかけられたプロテクトが邪魔をするらしいのだがこのおかげでバックアップも簡単には作れないようになっている。それでも何故か?コピー品と言うものは存在する。またコピーツールというものもかつてのソフトショップには堂々と?売られていたから驚きである。
そのツールは各ソフトウェアによって違うプロテクトの方法をデータベース化して一枚のディスクもしくは別売りのデータ集として分割しておくものである。今となってはそれを手に入れるのも困難でありもし持っている人がいたらそれは非常に貴重品と言う事になるであろう。今ではコピー目的にではなくエミュレータ目的のために使えるのだから何が役に立つかわからないと言うものである。今現在知る限りのエミュレーターは以下の通りである。
PC88Emulator for Windows (Windows 95/NT用のエミュレータ)
M88 -PC-8801 Series Emulator (Windows 95/NT用のエミュレータ)
X88000(Windows 95/NT用のエミュレータ)
ぶるー牧場 (PC-9801上で動くエミュレータ)
QUASI88 (UNIX+X Windows上で動くエミュレータ)
N88BASIC for Windows(Windows用のN88BASICのエミュレータ)
■PC-8801のサウンド
PC-8801SR以降からサウンド機能が強化されてFM音源3音、PSG音源3音が同時に発生可能となった。それより前はビープ音のみだったのだからたいした進歩である。一応私の持っていたmk2でもビープ音の周波数を変えて音階を作り出すことができた。88を買うとついてくるデモディスクには88の魅力を余すところなく(?)伝えようという涙ぐましい努力の基に作られたいろいろなデモが行われる。アニメーションの表示やスペックの表示、めまぐるしい色の書き換えやなんやかんや…話がそれた。そこでビープ音の音階でクラシック曲である展覧会の絵のキエフの大門(クライマックスの曲)が流れていたのが印象深い。ただやはりビープ音なので音色に変化がつけにくいのと(デモ曲ではビブラートまで!かけていたが)単音しか出せないのでかなり苦しかったのは事実である。そう言うわけでPC-8801mk2SRが出たころはかなりうらやましかったことを覚えている。
それからしばらくしてFAシリーズが出たら今度はFM音源6音、PSG音源3音、リズム音源6音、ADPCM音源1音が同時発声可能ときた。しかもFM音源とリズム音源とADPCM音源は左右に振り分けることが可能とある?これで擬似ステレオ効果を作り出せる、と思った。しかもうれしいことに以前の機種でもそのサウンド機能を拡張することのできる拡張ボード通称サウンドボード?Uが発売されることが決まったときはもう嬉しすぎて気が狂うかと思った。サウンドボード?UこのADPCM音源というのは何じゃいな?と思うだろう。これは外部の自然音などを取り込んで再生することができるのである。だからサンプリング音源とも言った。ADPCMとはそのサンプリング方式の名前で、アナログ音源の波をデジタルに変換するわけだがサンプリングレートでどのぐらいの頻度で音の採集を行うかを決めることができる。この頻度が高ければ高いほどもとの音に近い音を出すことができる。普通のPCM方式ではその採集したデータが巨大になってしまうので前の時間との変異のみを記録しつづける方式がADPCM方式だと、どこかの本に書いてあった 。つまり、10という値を基準として次の値はその値よりも+3、その次の値はその値よりも-2、という風にして数値を格納する方法らしい。これを10、13、11、という風に格納するよりもデータ量が少なくてすむのである、という説明を読んだときはなるほど!と思ったものだが果たして本当に少なくなるのだろうか?
今ではPCには標準でPCM音源が搭載されてデータが多少大きくなろうともぜんぜん問題にならなくなったが当時はディスクの容量が2Dなら最大でも256KB、2HDなら1MBとかなり少なかったのでデータをいかに小さくするかということで編み出された技術であろう。実際に音を採集できる時間は拡張ボードに搭載されたRAMの容量が256KBなので一番悪いサンプリングレートで 128秒。最高に音質がよい状態だと32秒である。ただサンプリングしたデータをディスクから読み込むにもかなり時間がかかったのでゲームなどでオーケストラヒットや人の叫び声などを入れているゲームなどは極めて少なく、また最初の読み込み時間はかなり待たされた。サンプリングデータだけで一枚のディスクを使い切ってしまうものもあったぐらいだ。FM音源自体の左右振り分けも結構有効に使われているゲームは少なかったがすばらしい技術力を持っているソフトメーカーはかなりよい音を発していた。
ちなみにこの拡張ボード、SR、FR、MR、TR対応のPC-8801-23、FH、MH用のPC-8801-24、FE、FE2用のPC-8801-25の三種類が発売されたようだが記憶が定かではないのであまり正確ではない。そう言えばVA用のサウンドボードはあったのだろうか?またSRより前の機種ではFM音源自体が搭載されていないので拡張するにしてもSR並にはなってもFA並にはならなかった。残念。
SR用のサウンド拡張カードとFH/MH用のそれとでは操作するハードウェアポートが当然違うのでプログラムのほうで機種判断をしてポートを自動的に切り替える部分が必要である。それをしていない?ゲームなどは一部PC-8801-23には対応していない、と書かれていることもあった。SRユーザーなどには納得ののいかない話であろう。例として日本ファルコムから発売されていたぽっぷるメイル、英雄伝説?Uなどはそうであった。
    
NEON'S ROOM
http://www3.cds.ne.jp/~neon/pc88.html




1981年11月7日土曜日

[雑誌] マイコン専門誌 RAM




[雑誌] マイコン専門誌 RAM
昭和の56年のマイコン専門誌 RAM
当時まだパソコンという言葉は使われていなかった。OSがなくBASICで動かしていた。
(-_-)
S56年にパソコン買いました。MZ-80は名機でクリーンコンピュータ、先行の普及機はNEC8001、だがしかしコスパが良いとの広告にまけて、後発の東芝PASOPIA買ってえらいめにあったw ソフトが皆無で、マイコン雑誌のBASICプログラムを徹夜で打ち込んで、動かしたら1分で終わるゲームとかだった(笑) たしかに当時はパソコンという呼び方はなくて、マイコン派とパーコン派が主導争いしてたw

Facebook
https://m.facebook.com/groups/787995507932288?view=permalink&id=825658604165978

1981年11月4日水曜日

[言語] PC-6001でBASIC





[言語] PC-6001でBASIC
特設:PC-6001 Development
このサイトで扱っている PC-6001 の開発についてです。
資料も環境も乏しいため容易ではありませんが、高度なことをしなければ1から始めてもそれなりの事は出来ます。
久々に弄りたいけど、資料集めにオークションにまで手を出すほどでは無いという方も結構居ると思います。
経験や記憶に頼る場合もありますが、持っているものは活用しつつ、試行錯誤で理解を深めていく昔ながらの方法で開発を進めましょう。
■ 開発環境
いきなりアセンブラの話になりますが、BASIC の知識も必須です。
最初に立ち上がるのが BASIC なので当然といえば当然ですが。
Windows 上での開発とエミュレータでの実証という環境が一番手軽だと思いますので、以下そのように進めます。
1)アセンブラを用意する
アセンブラは「AS」を使います。
http://john.ccac.rwth-aachen.de:8000/as/index.html
ここの Win32 Binaries からダウンロードします。
AS は、多機能なマクロアセンブラです。
ソースの書式は一般的なもので、ZASM(Vector) などのソースも最小限の手直しで使えました。
ただし、多機能でターゲット CPU も多い分マニュアルも巨大で、機能を把握するまでが大変です。
サンプル解説も少ないので、筆者も書式が合っているのか未だ自信がありません。
とりあえず、EQU や ORG などの擬似命令のいくつかを覚えておけば間に合うだろうと思います。
2)プログラム書く or ソースを用意する
このサイトのソースリストであれば、上に掲載したスクリーンショットと同様に各圧縮ファイルを展開します。
アセンブラ本体は bin フォルダに配置されているので、パスを通しておくと良いでしょう。
AS のデフォルトの拡張子は .ASM ですが、ここでは .Z80 とします。中身はテキストファイルなので、
メモ帳やテキストエディタでコードを書いていきます。
Z80 非公開命令も使えますが、コンパイル時にオプション -CPU Z80UNDOC と指定しなければなりません。
使えるレジスタは「IXH,IXL,ILY,IYL」でなく「IXU,IXL,IYU,IYL」となることにも注意します。
数値の書式は「0abcdH」などのほか、指定によって「$abcd」や「0xabcd」なども使えるようです。
ラベル以外の命令や ORG などの擬似命令は行頭に置くとエラーになるようです。
BASIC のプログラムを書く場合でも、Windows 上でエディタを使って書いてエミュレータで読める形式に
変換するツールがあります。詳しくはこちら→iP6 homepage。
3)コンパイル
このサイトのソースに入っている zoom.bat 等バッチファイルには、コンパイルの一連の作業を記述してあります。
ダブルクリック一発で(エラーが出なければ)バイナリファイルが出来上がります。
自力でコンパイルする場合は、ZASM のヘルプを良く読むか、各.bat ファイルを参考にしてみてください。
エミュレータで読み込む場合は PC6001VW であれば、モニターモード(ALT+F6キーを押す)から setbin コマンド
または bat コマンドで仮想マシン内のメモリに直接バイナリファイルを読み込めます。
このモニターモードからは、BASIC の cload 命令で読み込めるテープイメージ形式(.P6) に変換することも出来るので大変便利です。
ただし、BASIC+マシン語といった構成になると若干面倒かもしれません。
テープイメージをバイナリエディタで開き、切り貼りをする作業が必要になります。
実機でやるよりは全然楽な作業ですが。
■ 資 料
ネット上に技術的な資料はほとんどありません。
筆者が手元に持っている実物の資料といえば、新星出版社というところから出ていた
「PC-6001/6001mkII わかるマシン語入門」
という本1冊だけで、これにしてもI/Oの詳細やメモリーマップなどについては載っていません。
今現在でも手に入る資料としては 2005年に ASCIIから出た
「みんながコレで燃えた!PC-8001・PC-6001」
という本があります。これは普通に書店で入手できました。
内容については割愛するとして、資料としてみた場合、付録の CD-ROM 中に(本文中にも抜粋されていますが)昔の
月刊アスキー LOAD TEST
という記事の PDF が含まれており、若干見にくいですがメモリーマップや BASIC 命令表などが掲載されています。
直接関係はありませんが、ビデオチップの MC6847 はデータシートが PDF で入手できます。
これは検索すればあちこちで見つかるはずです。
大半はチップの概要ですが、スクリーンモードに関する資料が数点見られます。
Z80 命令表などは基本中の基本ですが、見やすいものが欲しいです。
命令数が多いのとクロック計算が面倒なので。
・というわけで作ってみた命令表
・HOME OF THE Z80 CPU
Z80 の情報多数。全て英語です。
・B型同盟  PC-6601 BASIC リファレンスを公開されています。

特設:PC-6001 Development
http://www.geocities.jp/submarine600/html/p6/pc60.html





















フラグの意味
フラグの意味
Sサインフラグ。演算結果の最上位ビットのコピー。
Zゼロフラグ。演算結果が 0 なら 1。
Y演算結果の bit5 のコピー。
Hハーフキャリーフラグ。bit 3 から bit 4 への桁上がり(桁借り)のとき 1 になる。
X演算結果の bit3 のコピー。
P/Vパリティフラグまたはオーバーフローフラグまたは IFF2 の状態(兼用)。

セットされたビット数が偶数のとき 1。奇数のとき 0。

演算結果が +127 ~ -128 の範囲を超えたとき 1。範囲内に収まるときは 0。

特別な命令で IFF2 の状態がコピーされる。
Nサブトラクトフラグ。演算が加算系の時 0、減算系のとき 1。
Cキャリーフラグ。演算で桁溢れ・桁借りが生じたとき 1。






フラグの意味
bit76543210
FLAG S Z Y H X P N C

▼ 記号の意味
-変化なし
0リセット
1セット
*結果によって変わる
?不定
P1=偶数パリティ,0=奇数パリティ
V1=オーバーフローあり,0=オーバーフローなし
IFF割り込み状態


































































































































































































▼ 8ビット・ロード命令
ニモニック オペレーション 備考 ステート バイト フラグ
S Z H P/V N C
LD r,r' r<
- 4 1 - - - - - -
LD r,n r<
7 2
LD r,(HL) r (HL) 7 1
LD r,(IX+d)
LD r,(IY+d)
r<<(IX+d) r<<(IY+d) -128≦d≦127 19 3
LD (HL),r (HL)<
- 7 1
LD (IX+d),r
LD (IY+d),r
(IX+d)<
-128≦d≦127 19 3
LD (HL),n (HL)<
- 10 2
LD (IX+d),n
LD (IY+d),n
(IX+d)<
-128≦d≦127 19 4
LD A,(BC)
LD A,(DE)
A<<(BC) A<<(DE) - 7 1
LD A,(nn) A<<(nn) 13 3
LD (BC),A
LD (DE),A
(BC)<
7 1
LD (nn),A (nn)<
13 3
LD A,I A<
9 2 * * 0 IFF2 0 -
LD A,R A<
9 2 * * 0 IFF2 0 -
LD I,A I<
9 2 - - - - - -
LD R,A R<
9 2
LD xr,n xr<
未定義命令
xr=IXH,IYH,IXL,IYL
11 3 - - - - - -
LD xr,r xrr 未定義命令
xr=IXH,IYH,IXL,IYL
r=A,B,C,D,E
8 2 - - - - - -
LD r,xr r<
未定義命令
r=A,B,C,D,E
xr=IXH,IYH,IXL,IYL
8 2 - - - - - -
LD IXH,xr
LD IXL,xr
IXH<
未定義命令
xr=IXH,IXL
8 2 - - - - - -
LD IYH,xr
LD IYL,xr
IYH<
未定義命令
xr=IYH,IYL
8 2 - - - - - -








PC6001本体NG+拡張ユニット+フロッピードライブ 

ヤフオク
https://page.auctions.yahoo.co.jp/jp/auction/s775958912