CRT - みる会図書館


検索対象: IO 1980年3月号
33件見つかりました。

1. IO 1980年3月号

、ロ鬢 を底研第 4 」 System を取っていて , フローは難解を極めています . 応書いたものの , 理解に苦しむところがたくさん残ってお り , E 465 ~ E 479 にはどう調べてもどこからもつながって いないコーディングがあるなど , 消し忘れなのかノヾグなの か , それとも私の調査不完かと迷っています . E 0 から F 8 には前々回書いたように , CRT 上 25 行の 左端のアドレスの High Value 80 , 81 , 82 , 83 があり , この マイナス・サインが落ちたものが継続行を表わしています . またこれら各行の左端のアドレスの Low value は . E748 ~ E 760 にあります . カーソル X は C 6 で , 値は 00 ~ 27 または 00 ~ 4 F の間で 変化し , カーソル Y は D8 で , 値は 00 ~ 18 の間で変化する ことを原則とします . また , キーインされたイメージは ASCII コードで返されますが , このとき SHIFT はマイナス・サ イン ( P 7 ) になっています . しかし , CRT に表示するためには , SHIFT のマークは P6 の ON で示され , P7 の ON は反転文字を表わします . フローチャート上ではすべて 16 進表記を採用しています . また , 一部コーディングが長い割りにやっている内容の簡 単なところは , ーーでくくって説明だけで済ましているこ とがあります . INPUT の処理は CAC 1 から始まります ( フローチャー ト 1 ). INPUT# も Physical Unit の処理をしたあと CAD 2 に来ます . こでもっとも重要なサプルーチンは CAFA ( フローチ ャート 1 ー 2 ) で , が入力されるまで CRT から文字を取 り込み , 020016 以降の ,lnput Buffer に入れ , によっ てストップ・マーク 00 を最後に書いて CAFA を離れます . CAFA の中の主役は lnput A Character Routine の F 1 E 1 で , INPUT のトラブルはこの中にあります ( フローチ ャート 2 ) . F 1 E 1 では , キーポードカ SINPUT に指定されていると き , 入口時点での X と Y のカーソル値を A 4 / A 3 に記憶し ます . AC が 0 であれは取り出すべきデータがないことを 示し , E 29 D からキーイン待ちループに入ります . キーインは割り込みによって処理され , キーインの行列 / ヾッフアは 026F ~ 0278 の 10 ノヾイト分あるので , かなりの時 間この入力ルーチンが呼はれなくとも打ちだめができます . しかし , バッファ容量を越えて 11 文字目を入れようとする と , 今までの 10 字も含めてキャンセルされてしまいます . 入力があって QUE ポインタが 1 以上になると AA の内 容を調べ , もしこれが 01 であるとちょうどプリンカーが反 朝 . ーⅣ P リアの問題 INPUT によるデータのキーインを使用していて , 時々異 常な結果を生むことを経験しました . INPUT は正常な場合 , comment ? ■ カーソル点滅 と表示されて , キーインした文字が次々と入っていきます . キーインできる長さは , CRT 上次行の末尾までであり , ( コメントの文字数十 2 ) が限度です . そして , 79 ー ーで , 今キーインした情報が指定した変数に取り 込まれます . ところが , CRT の最下段で INPUT を行なってキーイ ンが 2 行に及び自動的にスクロールが起こった場合 , 変数 に取り込まれる情報は , comment ? が含まれてしまうの です . また上記 INPUT の応答として , CRT 上にすでに 表示されている文字列を , あるいはその一部を修正して利 用するために , カーソルを上下方向に移動させてから , 亟 : 反させたときにもまったく同じ現象が現われます . これらの現象は , 比較的長い文字列をキーインして , そ の第 1 文字をコマンド・キーとして用いるような場合ーーー この方法はテキスト・エデイタとか , データ・べースのエディ タに常用されています - ーーチェック機能を組み込んでおか ないと , 入れたはずのデータがまったく無視されていたり , 悪くすると全ファイルをキャンセルしてしまったり , 大変 困る結果を引き起こす恐れがあります ( 8 K PET の場合 はどうなのかはわかりません ). この原因を調べたところ , ・ INPUT ルーチンに問題の箇所 が発見されました . INPUT および関係サプルーチンのフロチャートを参照 してください . ただし , このフローチャートは今回の分析 に関係の深い部分に止め , しかも追跡しやすいように並べ 換えてあるためアドレス順にはなっていません . また , サ プルーチンに付けた名前や機能などは , 私の勝手な分類に よる便宜的なものであることをお断わりしておきます . I/O ' 79 年 8 月号で SHINJI TANAQUAX さんカゞ , APPLE で PET と同しスクリーン・エデイタカ { 作りたいので , PET のその分のフローチャートが知りたいと書いておら れましたが , はたしてお役に立つでしようか ? PET は極めて怪物生の強い ( ? ) 対象で , 徹底して Bufferring 180

2. IO 1980年3月号

INPUT サプルーチン INPUT サプルーチン概略図 フローチャート 1 ー 2 ー 1 INPUT A CHARACTER サプノレーチン INPUT A CHARACTER サプルーチン概略図 フローチャート 2 フローチャート 2 - フローチャートー $CAC 1 フローチャートト 4 $CAED フローチャートト 2 $CAFA フローチャートト $CBOE フローチャートト 2-4 $C9D 5 $ E2 日 8 フローチャート 2 一 2 $E2CC フローチャート 2 - 3 フローチャート 2- ヨ フローチャ $ CACI LSR( 0 0 ) $ CDB 8 ストリング登録 ・→「 A $ CDFA ; テスト $ CA ー F プリン $CAD2 $ 0 280 イリーガル・ ダイレクト # 2 C →「 A 「 A → OIFF $CADA $ CAFA " 霍 & インブット ( OE ) →「 A ート 1 Enable Display マーク ? インブット・ コメントの 文字列 区切り記 号 : が必要 CDB 8 で キーポード レ 0 デパイス カンマと見なす 1 文字前を 許されない インブットは ダイレクトで を CRT へ 登録したもの フローチャート 1 ー フ $FIE 1 ローチャート 2 $E2FC $CAED ( 0200 ) →「 A $ C 7 引 CLC 0 ( 0 E) → rA 0 ブットおよびタイ ム・セーフのとき 0200 はインブット STOP へ キーインて・ある $CADA BNE 入力された ーのみが $CBOE ′、ツフアの TOP $E33F RUN CR し 0A0 CR $ E 2 日 8 フローチャ 、 E 29 D 込む . パッフアに書き をキーイン QuE ート 2 ー ロード & ゴー キーイン フローチャート 1 ー 2 $ CAFA ( 0 E) → rA レ 0 デパイス 0 ( 96 ) →「 A rA # 02 0 $CAB7 レ 0 ファイナル $ C 800 $ CAED キーポード以外の BEQ リードのタイム BEQ $ CAED タイム・セーフ 96 : ステータス インブット 読み飛ばし 次のキーワードまで ・アウト フローチャート 1 ー 以下省略 $CBOE 以後 , 変数を特 定し , 入力を談 当する変数に与 0 $CA43 $CA39 $C46F # 00 →「 X $ C4 田 A : # 0 D 「 A → 0200 , X 以下省略 $C9D5 $ C 46 F ↓キー・インブット のときは CRT 上に ? し -. コを 表示する . 内容は実質 的に $ F 1 E ーに同じ を′ 0 に書き , 00 を′、ツファ ストップ・マーク 入れていく . ′くッフアに したデータを 画面から PEEK $C 9 D 5 にして RT S rY = 01 し rX=FF. CRT を CR/LF 転文字を表わしている時期であることを示すので , カーソ ル位置に非反転文字を入れ直します . その後 E285 によって キーイン QUE バッフアの先頭文字を rA に取り出します . これが 83 (RUN) でも 0 D(RETURN) でもないときは , これらを遂次 E 3 D 8 スクリーン・ディスプレイ・サプル (AF) → rA 0 ( C 6 ) → A 4 ( D 8 ) → A 3 $ E 2 F 4 rY → ( 3 「 X → ( 3 (AC) → rA 0 $ E 29 D ( 9 E) → rA 0 SEI (AA) → rA 0 (A 9 ) →「 A # 00 →「 X rX → AA $E6EA rA → CRT $ E 2 B 1 $ E285 KQPOP 「 A : 83 rA: OD $ E3D8 $E29D CRT DISP ・テ・′く $F ー F 0 以外から イス NO. キーポード AF : インブット 省略 $E 2CC RETURN キー Yes $E 2 B 8 RLJN キー を rA に POP の先頭′くイト キーイン QIJE を待って表示 タイマ・シグナル 転文字に戻す 反転中なら非反 のセー′く一 A 9 : 非反転文字 $E 2 B ー A A : 00 なら通常 て反転文字表示中 AA : 01 ならプリンク キーイン待ちループ ップ・フラグ 中でプリンクスト A 7 :IRQ ルーチン 9 E : QUE ポインタ $ E 2 F C BNE すみ ( キ 0 ) のフラグ AC : データ入力 ⑧ : スタック インブット キーポードからの (D 8 ) の内容を保存 ( C 6 ) と Y カーソル おける X カーソル このルーチン , 入口に フローチャート 2 ー 2 $ E 2 CC rY → AC ( 0 5 ) →「 Y ( C 4 ) , Y →「 A 0 20 ( A 4 ) → rA rA: (D8) 十 Sign ()3 ) →「 A rY → CD rY → C 6 # 00 →「 Y 「 A → C6 $ E 31 F rA : ( A I) RETURN が入力された D 5 : 表示行のマージ ナル値 3 0 か 79 AC をキ 0 にして 入力済みフラグを立てる C 4 / C 5 : 表示 新たな有効文字あり X カーソルに復旧 旧 X カーソルを $ E 2 FC ↓継続行 $ E 2 F C 当初の Y カーソル値 クオート・モードクリア X カーソル・クリア 長を A 1 に記録 キーインの有効 に調べつつ戻る マージナルから逆 でないところまで プランク ( 20 ) 行の先頭値 何文字かデリートされて $ E 2 FC いる . フローチャート 2 ー 3 ーー クオート・フラグ反転サプルーチン $E33F rA : # 22 RTS # 22 →「 A rA → CD EOR 田 (CD) → rA ーチンで CRT に表示します ( フローチャート 3 ). こで RTS 181 なら田に 田ならに CD を クオート・フラグ

3. IO 1980年3月号

スクリーン・ディスプレイ・サプルーチン スクリーン・ディスプレイ・サプルーチン概略図 フローチャート 3 フローチャート 3- フローチャート 3 フローチャート 2 ー 3 $ E 2 FC フローチャート 3 $ E 3 D 8 $E 3 FF $E 3 D 8 $ E450 $ E426 画面 PEEK カレント・ キャラクタ (C 6 ) →「 Y ( C 4 ) , Y →「 A rA → D 9 rA → (S) 「 A → D 9 「 X → ( 印 rY → ( 3 # 00 → AC (C 6 ) →「 Y (D 9 ) →「 A フローチャート 3 2 十 フローチャート 3 2 - フローチャート 3 2 カレント・キャラクタ $E47A $E 3 B 4 $E 4 F 8 フローチャート 3 ー 2 - ・ 2 フローチャート 3 2 フローチャート 3 3 キャラクタ ・ジェネレータ ・コードから ASCII コード復元 入力済みフラグ・オフ X カーソル $E52F $E38B $E34C シフト・ビットあり $ E 47 A CR $ E 52 F フローチャート 3 2 ー 2 - 2 十 rA : # OD $E39C X カーソル アド′くンス ( C 6 ) + 1 フローチャート 3 ー $ E 33 F QF チェンジ フローチャ ート 3 ー $ E426 X カーソルが有効長に 達していない . $ E 330 ↓全部の内容が 取り出された . 入力済みフラグ・オフ コントロール文字 $ E 450 rA : # 20 $ E 3 F F ↓一般の文字 rY : (A 1) クオート・モード ・フラグ クオート・モード中 $ E352 (CD) → rX rA : # $ E 37 E $ E 31 F rA # 3 F 0 カーソノレ・ダウン rY : X カーソノレ 0 CLC + # 28 rA →「 Y # 00 → A C # 0 D → rA ( 日 0 ) → rX $ E 33 F QF チェンジ rA : # 1 2 R VS キーか ? ・フラグ リ′、一ス 80 : アウトブット ・デパイス $ E 34 E rA → 9 F BEQ rX : # 03 rA: (D5) $ E519 スクローノレ・ コントローノレ $ E 37 E $ E 44 B フローチャート 3 ー 1 CRT 以外の アウトブットのとき こで画面の 行替えを行なう . シフト・ビットなし コントロール文字 カウンタ $ E 352 $ E 3 D 8 CRT OISP カーソルが マージナルを 越えた . $E3 FF HOME キーか ? rA : # 1 3 $ E257 H 0 M E (DC) → rX # 0 D →「 A 0 フローチャート 3 ー 3 $ E 330 rA : # ー 0 $ E450 rA : # 14 $ E426 DEL X カーソルを ー減らす $ E 52 F exit 処理 カレント・ キャラクタ 「 A → D9 (S) → rx (S) → rY ( 09 ) →「 A rY 十 1 rY → C 6 「 Y → C6 カーソル・ライト # 00 → rA rA → DC rA → CD タ ン ウグド カラ一 レ 一ストソ ィリク X $ E 3 B 4 カーソル前段 Sign rY:(D5) $ E 37 E マージナル値を 越え次行に 入った . rA : # DE RTS $ E 51 9 スクロー ) レ・ コントロー ) レ $ E 5 1 9 スクローノレ・ コントロー ) レ X カーソル・ポ インタの次から マージナルまで を 1 パイト左詰 め . (C4),Y → rA rA → (C4),Y rY 十 1 DE は反転コード FF は表示用反転 コード # FF—•rA $ E 3 7 E # 00 →「 Y RTS 重要なのは , を新竄」は 8 D であって 0 D では ないのでまったく [ ま第す 0 」の効果がないということです . しかし , 8 D は E 3 D 8 サプルーチン中では 0 D と見な されるので CRT 上では改行が起こり , 見かけ上 C R が 有効に働いたかのような錯覚を起こします . カナ文字を連 続して入力するときなどは , Shift Lock しているとよ く間違って〔亶亶亟第〒 0 家してしまい , 入れたはすの データが入ってなかったというミスを生しやすいので注意 を要します . [ 京魎」がまともに入ると E 2 CC に来ますが , この ときまだ画面上では C R が起こっていません . こで AC は Not Zero になり , 取り出すべきデータが CRT 上に少 なくとも 1 つはあることを示します . C 4 / C 5 十 Y は , 今 カーソルのある行の木尾を指すことになり , そこから逆に 調べてスペースでない文字を捜してバックし , 有効な文字 rY: ( 05 ) $ E 44 B 「 Y → C 6 X カーソ ) レ # 20 → ( C4 ) , Y 右端をプランクにする . $ E 37 E $ E 37 E 列の長さを A 1 に記憶します . こでいったん X カーソルを zero にクリアし , QUATE モードも無条件にリセットします . さて , 問題のところですが , A 3 の内容すなわち入口時 点での Y カーソル値がマイナスなら , すぐ E 2 FC にいき ます . もし , これがプラスであって現力ーソルと一致して いるなら , 旧 X カーソルを C 6 にリセットします . 有効長 A 1 が旧 X カーソルより大であれば E 2 FC にいきますが , 182

4. IO 1980年3月号

apple 北で オ - ト・スタ - トの テ - プを作るう一 同じ題目でレ 0 ' 78 年 6 月号に H 68 / T R 十 TV - 0 1 用の記事が載っています . パックナンパーをお持ち の方は筆者 , 北原毅氏の名誉のためにもご覧になってください . APPLE Ⅱの場合 , SOFTAP E 社のソフトテープはほとんどすべて , このオート・スタートになっ ています . つまり , ソフトテープを APPLE Ⅱに読み込んでいくと , 少しすっ CRT の画面に『 S 0 F というタイトルが現われ , テープのロードが終わるまでじっとその画面を見ていると , T A P E ・ いつのまにかプログラムが始まってあ然とする , という、、実に巧妙でカッコイイプログラム″なので す . 北原氏のニ番煎じてすが , 使用するマイクロコンピュータは APPLE Ⅱで , 参考文献は APPLE Reference ManuaI 1 冊だけです . S. TANAQUAX 4400 ~ $ 47FF に想定します . ところが , 図 1 の⑦のある行をすっとたどっていくと , その最後は当然 $ 477 , 次の $ 478 は図 1 の④になるはすな のですが , そうはならす 8 バイトどこかに行ってしまい図 1 の④は $ 480 になります . どうしてか ? と言われ ても小生にわかるわけがないのです一一一一そんなわけで 64 バ イトどこかに行ってしまいました ( 何という無責任な発言 これ以上この話を続けると小生もわけがわからなくなっ てしまうので , さっそくスクリーンに絵を描くことにしま この図を , 表 1 を見ながら しよう . 図 2 を見てください . 図 1 APPLEII の画面構成と V-RAM の関係 V - RAM と画面の関係 ます , オート・スタートのテープを実行するにあたり , 画面を構成する V- RAM ーービデオラムプラウン管つま り CRT には , この RA M 領域の内容が AS CII キャラクタと して取り扱われ表示される . A P PLE II の A S CII キャラク タについては表 1 を参照してください も同時に書き替 えられてしまう関係上 , 画面に表示したい文字については 若干 , 研究する必要があります . APPLE II のスクリーンと V- RAM の関係は少々面倒で , 図 1 に示したとおりです . どうして B S や PET のように 上から順にアドレスと対応していないのでしようね . 機械 語でプログラムするときに非常にたいへんですよ . 仮想 V - RAM 上に絵を描くには V ー R A M 上に書き込むということは実際には不可能です . なせかというと , スクローリング時 , つまりプロンプト ( * や > や ] ) が出る際に 1 行すっすべて上がるため , 番上にあった 1 行は画面外に消滅してしまうからです . そこで , V- RAM と同しバイト数の領域を別に作って , そこに絵を描くことにします . 今 , この領域を「仮想 V - R A MJ と呼ぶことにしましよう . 通常 , テキストの 1 ページ目は $ 400 ~ $ 7FF までの 1 K バイトを占めています . そこで , この仮想 V-RAM を $ 去年の 8 月号のレ 0 プラサ ( 古いナー ) には僕のくだらない投稿を載せていただ、て・・ レ 0 プラサ 自分の投稿があった ときは背すしがゾクッとしました . 話は変わりますが , 僕の EX-80 で始めてゲプログラムが走りました . ま だあまりおもしろくないのでもう少し強化したら投稿しようと思っています . それでは試験も近いのでコレニ ( 北海道宮田俊弘 ) 76 030005000 ・■・■・■・ 2 ー・・・・ー 0 30 0 $ 5 0 0 $ 5 8 0 $ 6 0 0 $ 6 8 0 $ 7 0 0 $ 7 8 0 ス レ 「′ 4 ・ ) ( っ 0 4- -4- 00 》 ( っ ( に 0 CD 0 0 っ 0 0 0 0 4 ・ 4 ー 0 4 ー 0 0 の < 0 1 2 0 1 8 0 0 7 0 0 0 8 8 2 5 0 LL 4 4 4 4 4 4 4 7 7 }—① 2 3 ④ 6 6 ・⑨ 20

5. IO 1980年3月号

好評 OOACE シリ→ゞ 一体成型により使しく : E@Ä@MIOOACEIII、Ⅳミ ・カラーグラフィックがつかえる ( Ⅳのみ ) ・ AIO 、 0 がついた・ RS232C ー ・ SIOO パス・ CPU : 48K パイト・ミニフロッピー・ 10 キーがついた。 くカラーグラフィック > aOOACE Ⅲ *470,000 機種頭金初回金 2 回目以降 20,200 19 , 400 X29 Ⅲ IOO,OOO 1 8,000 15 , 200 X29 、 IOOACE Ⅳ \ 550 , OOO 機種頭金初回金 2 回目以降 26 , 600 22 , 600 x 29 IOO,OOO 1 8,600 18 , 600 X29 MIOOACE Ⅳ 最大記匱容量 1.4 メがヾイト、事務処理とオンライ dO 、 0 、 SIO 、 HP - 旧・・・拡張性高いマイコン ンに徹した M200 シリーズの低価格傑作モデル ヨ -223m0rk Ⅲ ・ CPU : Z ー 80A ・メモリー : 64KBRAM ・外部記 CPU:Z-80A ・メモリ—:64KBRAM 、 8KB ユー ース ROM ェリア・外部記憶 : フロッピーテンスク 憶 : フロッヒ。ーテンスク 4 台、ミニフロッヒ。ーテスク 1 台、 4 ロ、ミ旱フロッヒ。ーテンスク 1 台、 350KB ・ CRT : 350KB ・ CRT: グリーン文字、 12inCh80X24 行・ リーン文字、 12 ⅲ Ch80X24 行・キーポード : JIS キーポード : JIS キー BASIC コマンドキー・言語 : —BASIC コマンドキー・言語 : 拡張 BASIC 、 拡張 BASIC 、 BASIC コンパイラ、フォートランⅣ、 SIC コンパイラ、フォートランⅣ、アッセンプラ、コ アッセンプラ、コボル・シリアルポート : RS -232C ル・シリアルポート : RS -232 C ・ S 100 バ、ス ・ S100 バ、ス 、 223m0 「 k Ⅲ \ 1236 ′ OOO M203m0 「 k Ⅲ \ 836 , 00 ヶ月のリース料約 \ 29 , 000 ) ( 1 ヶ月のリース料約¥ 19 , 000 ) れたハードの機能をアレに生かすソフトサポートの拠点 ーシック・イン東京が一層便利に、また水戸にもべーシック・イン開設。 べーシックイン水戸 べシック・イン神奈川べーシックイン大阪 ーシックイン東京 田 5 東京都港区新橋 4 ー 28 ー 4 〒 231 横浜市中区寿町 1 丁目ト 8 〒 541 大阪市東区安土町 1 ー 13 〒 310 水戸市袴塚 2 ー 3 ー 44 主ビル 3 -436 -3091 トラック会館 5F 45 -641 - 四 85 銭屋第 1 ビル 6F 容 -271 -6521 創 292 ( 26 ) 0116 8 C inn 水戸駅より 4 BASIC ・日比谷・り - 、日比谷 マクトナルト 芝圧ビル げ目 新橋支店 M223E0 「 k Ⅲ M203E0 「 k Ⅲ - べーシックイン べーシックイン 月 ~ 土曜の毎日 9 : 00 から 17 : 00 まて、 お気軽にお立寄りください。 ( 第 2 、第 4 土曜日はお休みてす ) 第水戸駅 ※個人の方には便利なクレジットのお取扱い もいたしております。是非ご相談ください。 店 第第中 ー城大学 BASIC-INN 福 区ー為号 駅前 0 ータリー 物画り 第都宮 大学より田 001 35

6. IO 1980年3月号

図 2 転送プログラム①のハンドシェイク・タイミング・チャ ート ( レベ・ノレ・モ ードを使用 ) システム・リセット時 CRBI = 0 としてネガテイプ・エッジを指定した場合 C 入力信号 ー -- ーー -- - ・メカニカル SW を人間が押して いる時間なので不定 CRB7 フラグ インターフェイス・ レジスタの READ 創 A 学習キットの CB2 表示 ( 緑 ) LED はこの時間 ON となる A 学習キットの CB2 新 LED はこの時間 ON となる CB2 出力信号 インターフェイス・ レジスタの WR 灯 E ハイ・インビーダンス PBo—PB7 の データ・ライン 2 番目 1 番目のデータ 注 ) 本来 P I A のタイムチャートは , イネープル端子 ( の 2 ) に同期する部分があります力轄リ愛してあります . 図 3 転送プログラム②のハンドシェイク・タイミング・チャート ( レベル・モードを使用 ) システム・リセット時 CRBI = 0 としてネガテイプ・エッジを指定した場合 CBI 入力信号 CRB7 フラグ インターフェイス・ レジスタの READ P ー A 学習キットの C 日 2 表示 ( 緑 ) LED は ON のまま つまり正常なハンドシェイクとはなっていないことを示している CB2 出力信号 インターフェイス・ レジスタの WR 灯 E PBo ~ P 日 7 の データ・ライン 2 番目 1 番目のデータ 注 ) 本来 p I A のタイムチャートはイネープル端子 ( の 2 ) に同期する部分がありますが割愛してあります . す ( リスト 1 ) . 使い方は簡単です . 図 4 のように正しくコ ル・スイッチを手で押すと CB2 の緑 L E D が 0 N になり , ネクタを接続し , プログラムを R A M に書き込んで R U N 少したって 0 F F に戻ると L E D の赤がデータを表示しま させれば即座に動作します . 人が操作する部分は PIA 学 す ( 本当は赤 L E D が変化してから CB2 の緑 L E D が OFF 習キットの中に CBI と印刷されたメカニカル・スイッチだ になるのですが , 人間の目には〃 s の差は判別できません ). けです . このスイッチを押すと P I A の CBI にノヾルスが発生し , プログラムに対し - データ要求 ' が通知されるのです . す ると , プログラムの内でカウントが行なわれ , 赤の L E D に 2 進数カウント結果が出力表示されるはずです . CB2 の信号は P I A 学習キットでは緑の 1_, E D で表示さ れますが , プログラムの中で CB2 の動きが目で確かめられ るようにディレイ・ループを行ない , ゆっくりした変化で 示します . 全体の動きはハンドシェイクそのもので , CBI メカニカ 注意 P I A 学習キットの CBI メカニカル・スイッチにはチャタリング防 止回路が組み込まれていますが , スイッチの押し方次第ではすべての チャタリングを除去できないようです . もし , 1 回の操作でカウンタ が 2 回続けて進む場合は , メカニカル・スイッチのチャタリングで , プログラムの異常によるものではありません . このエラーが起こるのは , CB ーに信号が入るとすぐにプログラムで インターフェイス・レジスタを読み取るために CRB7 のフラグが 0 F F になります . しかし , P I A のハードウェアでは CRB7 が 0 F F に なると次の CB レヾルスが受信可能になるため , CB ー信号線のチャタリ 17 ー

7. IO 1980年3月号

HORIZON ( 両面倍密度ミニフロッピィー搭載 ) システムの拡張性はあらゆる周辺機器が完備し、 更に各分野にわたるソフトの質量を誇って居ります。 〇サイログ社 Z-80A, 4MHz ワロッワ 064K BYTE RAM 〇 1 4 メガ BYTE ミニフロッビイーディスワシステ乙 ( 両面倍密度 ) 018 メガ BYTE ハードディスワシステ乙 株イナハラ事務機 ユニ・システム システムラボ福井 サンをシステム TEL. 078 ー 35 トー 005 全国システムグループ TEI-. 0822 ー 49 ー 9032 本社 : 神戸市生田区元町通 4 ー 5 TEL. 0776 ー 35 ー 5502 TEL. 0552 ー 32 ーー 39 ー 広島市中町 7 ー 34 小町ビル 3F TEL. 06 ー 53 ト 872 ー 福井市大島町前浜 409 大阪支店 : 大阪市西区阿波座南迎 -45 甲府市中央 2 ー 9 ー 5 担当者木村 担当者竹内 担当者西中 ディスプレー \ 168 , 000 CRT PC -8001 16K RAM/ 電源込 -80 田システム例 SOROC ー Q -120 I. ローコストシステム PC80 田 ローコストシステム ( テレビモニタ利用 ) Y355 , 000 本体 ( RA Ⅵ 6K ) 十 ( 例 ) 頭金 0 円 24 回払 H 0 R に 0 N C R T RF モジュレータ 一回目 1 1 , 200 円 , 5 側 2 ~ 24 回 9 , 100 円 X23 Y355 , 000 2. 標準システム 3. 高解像度システム PC8001 SANYO CRX -1000 PC8001 標準システム 本体 ( RAM32K ) 十 高解像度システム 本体 ( RAM32K ) 十 カラー C 日 T Y355 , 000 ( 例 ) 頭金 0 円 24 回払高解像度カラ—CRT ( 例 ) 頭金 0 円 24 回払 Y28L5 1 回目 15300 円 Y411 , 5 一回目Ⅳ , 000 円 VICTOR VG - 470 2 ~ 24 回 , 200 円 X23 2 ~ 24 回 21 、 000 円 X23 Y355 , 000 CBM -3032 32K RAM \ 2S8 , 000 16K RAM \ 248 , 000 CBM - 3040 \ 298 , 000 360K ( ミニフロッビイー・ディスク X 2 DATASETTE6500 \ 19 , 800 ( 工クスターナルカセット ) CBM -3032 CBM- 3 例 6 CBM -3040 ( 例 ) 頭金 0 円 24 回払 ( 例 ) 頭金 0 円 24 回払 ( 例 ) 頭金 0 円 24 回払 一回目Ⅳ , 000 円 1 回目 , 820 円 1 回目、 000 円 2 ~ 24 回、 000 円 X23 2 ~ 24 回に , 500 円 X23 2 ~ 24 回 15 、 000 円 X23 TRS-80LII 16K ( 白黒モニター・カナ文字付 ) \ 198 , 000 16K ( グリーンモニター・カナ文字付 ) \ 218 , 000 白黒モニター・カナ文字付グリーンモニター・カナ文字付 ( 例 ) 頭金 0 円 24 回払 ( 例 ) 頭金 0 円 24 回払 一回目 10 、 570 円 1 回目、 000 円 2 ~ 24 回 , 000 円 X23 2 ~ 24 回 1L000 円 X23 申工 ハマーズクレジット 申込書商 品 名 し人 販売価格 お支払回数 円 3 ・ 6 ・・ 12 ・ 16 ・・ 20 ・ 24 ・ 30 ・ 36 回 込舎 お支払方法自動引落 ( 銀行名 銀行振込い 0 日 , 末日 ) ポーナス併用 無、有 ( ポーナス加算額 みク 名前 生年月日年 月 日 才電話 居住年数 年配偶者有・無家族 お動め先 営業内容 お動め年数 ツ ト その住所 月収 万円 ご住居 自己所有・家族所有・借家・寮・社宅・アバート 申し込み者が 20 才未満文学生の方の場合は保護者の方を申し込み者にして下さい。 ☆クレジット申し込みの注意 3 月号 レ 0 SANYO DDM-12C Y 46 , 800 HITACHI K12-2051G 49 , 800 ァイスク Y-E DATA YD274 \ 1 20 , 000 Y-E DATA YD174D VI 80 , 000 THINKER TOYS 社 DISCUS/2D 8 chX2- ドライプシステム 無、 円 名 年

8. IO 1980年3月号

転送プログラム① ( 正しい出力ハンドシェイク ) M• CODE REM リスト 1 OP C 0 M ADD 1 2 3 4 5 6 7 8 9 0 0 1 0 1 2 3 4 5 6 7 8 9 0 プログラムを使ってみました . 転送プログラム①がそれで ー N S 7 3 F 4 F 4 7 0 F 4 F B F 4 0 E C E 0 F D 4 C F 4 0 E F 7 0 0 E 9 LABEL TENSO リ 1 0 0 P E , E , E , OPERAND P ー A B ・ P ー A B ・ C R P ー A B ・ C R P ー A B ・ D R $ 2 4 MNEMONIC ・ CODE 0 M M E N T P ー A のデータ方向レジスタにすべて出方向を指示する オートマチック・ハンドシェイクでレベル出力を指示 C L R A T S T L D A A S T A A L D A B L D X D E X B N E ー N C A S T A A S T A B B R A L 0 0 P E , ( C B 1 入力は立ち下がりを指定している ) カウンタとして A レジスタを用いる C B 1 のメカ S W は押されているかチェック / ・押されてなければ S W の監視を続けるためループ C R 日 7 のフラグをクリアするため , P ー A のインター タを空読みする L E D の光る時間を見やすくするための道草処理 フェイス・レジス 0 D E L A Y E , E , P ー A B ・ ー R B u Z Z E R L 0 0 P カウンタの歩進を行なう カウンタの値を L E D に出力表示する プサーを 1 回鳴らす 次の入力に備えて繰り返し L 0 0 P にいく 図 1 転送プログラム①のフローチャート これで P I A の B ポートはオートマチック・ハンドシェ ハンドシェイクの実験プログラム すべて繰り返し処理となります . ードウェアによって自動的になされるからです . 以降は のは , CB 1 に次のデータ要求信号が入ったときに P I A の んが , 心配はいりません . CB2 が次に High レベルになる しかし , CB2 は Lo w のままでは困ると思うかもしれませ 正しく行なわれたことになります . B2 を Lo w レベルにします . これで 1 個のデータの送信が ータ・ライン (PBo ~ PB7 ) にデータを送り出してから C ンターフェイス・レジスタに書き込みが行なわれると , デ ス・レジスタに書かなけれは・なりません . P I A では , イ 次に , プログラムは出力したいデータをインターフェイ います . シェイク・シーケンスを進めるという重要な意味を持って トロール・レジスタの CRB7 フラグを 0 F F にしてハンド い空読みで良いのですが , P I A のノ、一ドウェアではコン みます . この処理は , プログラム的に直接の意味は持たな るので , プログラムではインターフェイス・レジスタを読 れば , コントロール・レジスタの CRB7 (M (B) カゞ ON にな もし , CBI に出力装置から - データ送れ / " の信号が来 視し , ループしながら待ちます . っているかをコントロール・レジスタの CRB7 フラグで監 めの操作です . プログラムは , CBI にデータ要求信号が入 イクに初期設定完了です . 次は , いよいよデータ転送のた P I A 学習キットを使って , 170 ハンドシェイクを実験する 転送① PIA ・ B ポートの 方向レジスタ設定 P ー A ・ B ーのコ ントロール・レジスタ にオートマチック・ハ カウント用 定数クリア LOOP データ転送要求を検査 P ー A ・ B ポートの コントロール・レジスタ 要求あるか ? P ー A ・ B ポートの インターフェイス・ レジスタの読み取り 道草ループ カウンタ十一 ( A レジスタ使用 ) P ー A ・日ポートのイ ンターフェイス・レジ スタにデータを書く ・コントロール・レジスタに $ 24 を書くと CBI のセットはネガテイプ・ゴーイングで , CB2 は レベル出力のオートマチック・ハンドシェイ クにすることができる . ・もし一線に信号が入っていると , コントロ ール・レジスタの CRB7 フラグが立っととも に , 82 ラインは Hi レベルになる . ・この動作により P ー A コントロール・レジス タの C 7 フラグは OFF になる ( プログラ ムには直接ないが重要です ). ・学習キットのぃ ( ) 動きを見やす くするために入れてある . ・この動作により P ー A の C ラインは LOW レベルになる .

9. IO 1980年3月号

リスト 4 - 2 出力ハンドシェイクに起動パルスを備えたプログラム M'N E M 0 N C 0 0 D E A N 0 M M M を C 0 D E 0 0 < LL 0 < 0 7 7 O O c.D DZ O c.D O (J) O L—I—J—J—JO O 日 < l< 0 0 m < m —J 日 m —J 0 6 4 LL < 6 4 W 7 4 W 9 4 LL 6 4 6 0 7 4 LL 7 0 0 6 4 4 4 4 0 1 0 2 7 m 2 4 LL 0 1 0 2 m 7 0 W 6 0 0 8 6 0 0 1 0 4 0 LL 0 8 0 日 0 4 m 0 3 4 4 4 4 8 3 8 3 2 0 8 0 8 1 3 8 0 8 3 8 3 2 0 8 0 8 0 8 2 8 0 8 0 LL 0 8 0 2 0 2 IL 0 m LL 0 3 8 9 < m O O W LL 0 1 2 3 4 5 6 7 8 9 < 日 O O W LL 0 1 2 3 4 5 6 7 8 9 < 日 O O W IL 0 1 2 3 4 5 6 7 8 9 < m O O 0 1 2 3 4 5 6 7 8 9 < m 0 0 LL 4 0 0 0 ノイズなどで CRB7 が 0 N になっていると困るので安全のために入れ てある L DA B E, P ー A B ・一 R L D A A 0 STAA E, P ー AB ・一 R * 転送シーケンスのキッカケを作り出すため受信されても文字になら ない N u L L ( L F でも可 ) を仮に出力しておく C L R A * S T A A E , W 0 R K プログラム①と同一の処理 1 A D D A ー , B R A N E X T L D A B E , P ー A B ・ C R データ受信信号は入っているか ? N 0 ・・・・・・ループして監視する B P L P u T L D A B E , P ー A B ・一 R CRB7 のフラグを 0 F F にしてオートマチック・′、ンドシェイクの手 順に入る S T A A E , P ー A 日・一 R データをインターフェイス・レジスタに書き込むと出力ラインにデー タが送出され , CB 2 線にストロープ・′《ルスが出る R T S 177

10. IO 1980年3月号

機能充実。 新技術で躍進する 143KB ミニフロッピー標準 MIOOACEIII/IV ← (143KB ) ・白黒及び色、 、、で ) ・大容量ミニフロッビ、第 務処理から科学技術計算ま システムソフトウェア ( 事 用キーホート・強力な OS と マシン・ 10 キー付ヒジネス ・一体化されたコンパクト Y550 , OOO ( カラークラフィックレ F 付、工場出荷価格 ) MIOOACE Ⅲ・・・・ Y470 , 000 ( 工場出荷価格 ) MIOOACEIV MIOOACE は、プロのビジネスマンや 工ンジニアにも満足していただける機 能を誇っています。大きなファイルや、 ファイル管理に重点を置いた 0 S や BAS ℃、そして 10 キー付のキーボー ドなどピジネスにも最適です。 技術計算には、バラレルレ 0 、アナロ クインブットを標準で持ち、計測・制 御にも応用できます。オプション外部 レ 0 ボッワスの利用で、 S100 ハスカ陏 効に使用てきます。また通信機能もそ なえてあり、インテリジェントター ナルとしての機能も持っています。ま EACE Ⅳは、高密度なカラ - ークラフ ィッワが可能となってあり、新たな応 用ガ者えられます。 ■スペッワ C P U : Z80 メモリ . 48KB ・日 AM 、 8KB ・日 OM CRT : 12 インチフラットフェイスク リンモニタ キーホード : 』 S キー、 10 キー・コマ ・代理店 文字、凝似クラフィッワ 表示文字 . 64 桁 X24 桁、英数カナ、英小 ンドキー付 外部記憶 : 143KB ミニフロッビー Max3 台 通信インターフェース : 日 S ー 232C S100 ハス : オプションレ 0 ボッワスに よる。 インタフェース : 8 ビット P ℃、 8 ビッ ト A ℃、 クラフィッワ : カラー 160X256 ドット 8 色 ( 色は 4 ドットにつき 1 色・家庭用カラー TV ) . 白黒 320X256 ドット ( 付属モニタ ) 株式会社ソード電算機システム 本社 / 〒 124 東京都葛飾区西新小岩 4-42-12 磯間第 2 ビル 4F 谷 ( 03 ) 6 % ー 6611 - ・ ( 06 ) 533-1737 ・大阪営業所 ・・・・・谷 ( 052 ) 562-1663 ・名古屋営業所・・ ・ソードテモセンタ / くお茶の水〉主婦の友ビル 1 号館 4F 谷 ( 03 ) 295-63 ソード三真ショップ / 秋葉原 ( 03 ) 253-6666 ・ソード礼視 / ( 011 ) 73 ト 6107 ノくナソード / く鹿児島 > ( 0992 ) 26- ・ 2506 ・金城工ンジニアリング / く金沢 ? ( 0762 ) 43-8155 ・姫路ビジネスコンビュータ / ( 0792 ) 96 ー 3852 ・ソード北 関東 / 桐生 ( 0277 ) 47 ・・ 5005 ・西武百貨店 / 池袋 ( 03 ) 981-0111 / 大宮 ( 04 ) 4 と 01 い・ニッソー貿易 / 横浜 ( 045 ) 662 ー 8552 ・九州計測器 / く福岡 > ( 092 ) 44 ト 328 ・ソードデモセンターナリヒラ / 業平 ( 03 ) 4-8500 カタログ請求券 MIOOACEIII/IV I / 0 ' 80.3