2019年1月29日火曜日

ウイリアム・モリス展に行きました

 親しい友人と「ウイリアム・モリスと英国の壁紙展」にでかけてきました。

 従来英国において、貴族や富裕層の館の壁の装飾にはヴィクトリア朝様式の漆喰装飾、手書きの壁画、ゴブラン織りなどの織物など、高価かつ重厚な装飾がなされていました。

 ところが19世紀になって、産業革命が興り、豊かになった中産階級の住宅が急激に増え、ガス灯によって明るくなった室内を「壁紙」という安価で自由にデザインを選択できる新しい装飾が大量に出現したのです。

 しかしながら、これら大量生産された壁紙は、前述の伝統的装飾の模倣が多く、創造性や手仕事の美しさがなく、魅力に欠けていました。


wikipedia
 このような時代背景の中、ウィリアム・モリス(William Morris 1834 - 1896)が出現しました。モリスはデザイナーのみならず、詩人としても、多方面で精力的に活動し、それぞれの分野で大きな業績を挙げ「モダンデザインの父」と呼ばれています。




 モリスが室内装飾に目覚めたのは、新居としてロンドン郊外に建てたレッドハウスです。
 中世のゴシック調を模した素朴なデザインの赤レンガの建物なのでレッドハウスと呼ばれました。

 ここでモリスは、モリス商会(Morris & Co.)を設立し、植物の模様の壁紙やステンドグラスのデザインや、インテリア製品を創り出し、この、生活と芸術を一致させようとするモリスのデザイン思想とその実践(アーツ・アンド・クラフツ運動)は各国に大きな影響を与え、20世紀のモダンデザインの源流にもなったといわれているのです。

 右は、モリスが最初にデザインしたとされる壁紙、格子垣」Trellis 1864 (小鳥は友人のフィリップ・ウェップのデザイン)です。

 前述の新居・レッドハウスにあるバラの東屋とその格子垣にヒントを得たとされています。

 これは、サンフラワー Sunflower 1879 です。

 このデザインは、プリントイメージを地の色の中に紛れ込ませるモリスの手法で、モチーフの背景を少し暗い色でプリントすることで残された地色の淡く繊細な色でイメージを浮かび上がらせています。

 単色のこの作品は、デザインのよさと、より安価さで、人気が高かったようです。

 
 冒頭のポスターに使われているデザインは、ルリハコベ Pimpernel 1876 です。このデザインで、特徴的な、大胆に渦を巻いているようなモチーフはチューリップの花なのです。
 一方、ルリハコベはチューリップの周りを生めるように配置されている、小さな花で、このように脇役のような花をタイトルに使うことがモリスの作品ではよくあるそうです。

 右は、バチェラーズ・ボタン Bachelor's Button ヤグルマギク 1892 です。
 渦巻くように配置されているのはアカンサスです。

 アカンサスはアザミに似た形の葉を持っており、その葉は古代ギリシア以来、建築物や内装などの装飾のモチーフとされていますが、モリスはこれをモチーフに 1875 壁紙ヒット作を出しています。


 その得意なアカンサスをベースに、バチェラーズ・ボタンをあしらい、版木を3枚に簡素化したのがこの作品です。

 バチェラーズ・ボタンはこの花を若い男性が上着のボタンホールに挿したことに由来し、その花言葉は「報いられる愛」。


 これは、ウイローボウ Willow Bough ヤナギの枝 1887 で、モリスの代表的デザインのひとつであるこの作品は、別荘で、次女とテムズ川に近い小川のほとりを散策しているときに生まれたと言われています。


 今回展示されている数々の壁紙は、そのモティーフが上下、左右に限りなく、かつごく自然に連続していく必要がありますが、作品を見れば見るほどうまくできており、その職人技の印刷術もあいまってすばらしいできばえでした。






 次に示すクリサンセマム Chrysanthemum キク 1877 は製作過程で使われる7枚の版木も展示されていましたが、浮世絵の製作過程と照らし合わせ、どちらもすばらしい技術だと感じました。

 このキクは東洋のイメージを取り入れたものかもしれませんし、高級な壁紙に使われる金唐革紙(きんからかわし)はかつて日本から輸出されていましたので、なんとなく親近感があります。

 ちなみに金唐革紙は表面に凹凸をつける型押しが出来、これを使用した同名の高級壁紙クリサンセマムはバッキンガム宮殿にも使われたとありました。

 120枚を超える作品に圧倒されて少し疲れましたが、モリスの壁紙デザインは、もちろんテキスタイルや家具も含め、わたしたちにより親しく感ずるのは何故でしょうか?
 これはモリスが提唱した、生活のなかの芸術をめざす、アーツ・アンド・クラフツ運動の考え方や自然との調和によるものかもしれません、そういえば日本にも「民芸」がありました!


 話は前後しますが、私たちはモリス展の前に昼食を済ませていました。
 お店は antica osteria BACIO ( 古き居酒屋 口づけ屋 とでもいいましょうか)で、なかなか予約が取れないお店ですが、友人のおかげで、、、大感謝です!!!

 イタリアでは、レストランがRistoranteリストランテ、大衆食堂はTrattoriaトラットリア、居酒屋をOsteriaオステリア、そしてピザ屋をPizzeriaピッツェリアと呼び分けているようです。

 予約時間に入店すると、店の中央部に空席が4席のみ(我々の)で後はすべて満席でした。

 店内は右写真のように落ち着いた雰囲気があり、ェフはもちろん店員はすべて元気そうな若者で、対応も実にスマートでした。

 シェフの修行先はトスカーナとかで、メニューはトスカーナ地方の料理を中心としたイタリアンです。

 料理は前菜とパスタ、デザートとコーヒーにしましたが、特においしかったのは、左上写真の「紅ズワイガニ、チーマ・ディ・ラーパ(西洋菜の花)、クリームソース、イカ墨をおり込んだタリアテッレ(リボン状の平たいパスタ)で赤ワインによくマッチしました。

 デザートもチョコレートのアイスクリームとケーキでおいしさを堪能しました。
 

 翌日、家人のアイデアで、我家の古びた襖にモリス展で買い求めた壁紙を、これも売られていたマスキングテープを使って貼り付けました。(右写真)

 この壁紙は、フルーツ Fruit 1864 で古くからある定番のひとつですが、部屋の雰囲気がずいぶん明るくなりました。

 健康な悠悠の日々に感謝です。

2019年1月22日火曜日

Z80 SBCへの CPM 搭載(3)

 より理解を容易にするために、CP/MControl Program for Microcomputer) が作動しているときのメモリ・マップを左図に示します。

 メモリは、8080、Z80が直接アクセスできる、0000H番地からFFFFH番地までのいわゆる64kバイトのRAM(Random access memory) 領域が必要です。

 今回搭載した62k CP/MではDC00H~F1FFH番地に CCP (Console Command Processor) と BDOSBasic Disk Operating System)が入り、次いでF200H~F430H番地に BIOSBasic Input and Output System)が入ります。

 そしてこの状態で、F200H番地からプログラムをスタートさせればCP/Mがスタートするのです。(もちろん前回までに述べたDISK(CFCard)などが作動する環境で、、、、)


 ところがCP/Mを移植するに際して、大変ありがたいことに、CCPとBDOSを合体させたファイルが、CPM22.sys 62kCPM.sys など呼ばれて存在します。
 既述のCPUVille のサイトのCP/Mの項目( http://cpuville.com/Code/CPM-on-a-new-computer.html )でのべられているように、「The Nonofficial CP / M Web Site」にある http://www.cpm.z80.de/binary.html の CP/M 2.2 BINARY ファイル(左下図)がそれに相当します。


 このファイルをダウンロードすると cpm22-b というフォルダーが得られ、目的とした CPM.SYSのほか、CP/M80のアプリケーション・ソフトが沢山入っていて有益です。(またこれらのソフトは個人が趣味で使うかぎり問題はないようです。)

 このCPM.SYSは62kCP/M用で、かつハードに依存しないので、そのまま使うことが出来ますが、今回の場合あらかじめ、バイナリ・エディタを使って、0000H~15FFHにファイルの長さをそろえておく必要があります。(下図の下部にある青色の部分を消去)


 一方、個々のハードウェア依存部分はBIOSに集中されているので、この部分さえ修正すれば自作のボードでCP/M80を走らせることが出来るわけです。

 BIOSはオリジナルに雛形があり(A Skeletal CBIOS)、これにひとつひとつパラメータを入れていってもいいのですが、今回は
CPUVille のサイトで使われている z80_cbios.bin を使わせていただくことにしました。そうは言っても修正部分はありますが、ほんのわずかです。

Z80 SBC(シングルボード・コンピュータ)の製作 (6) モニタープログラムの搭載」で述べたように、このz80_cbios.bin中にある82C51
 Data Register address   を 02H -> 30H
 Control Register address を 03H -> 31H へ変更します。


 さらにz80_cbios.binファイルの先頭に、左図のように 00 00 00 00 とNOPをアドレスを整合させるため、4個挿入しておきます。

 このようにして出来た、新しいCPM.SYSz80_cbios.binをそれぞれCPM.SYSをDC00H~F1FFHに、z80_cbios.binをF200H~にメモリに置き、F200Hからプログラムをスタートさせれば a> とプロンプトが表示されるはずで、動作の確認が出来ます。(この段階では Copyright のクレジットは出ませんし、プロンプトも A> ではなく小文字です。DISKへのアクセスも出来ません)

さらにシステム全体を理解するために下図を示します。


 中央が前述した、メモリ領域をすべてRAMにしたメモリマップで、CP/Mはこの状態で走ります。

 ついでながらTPA(Transient Program Area)トランジェントコマンドがロードされるメモリ上の領域で0100H番地から始まりますし、0000H~00FFH番地はCP/Mのワークエリアです。


 そして、左側が0000H~3FFFHのROM領域(16kbyte)を表したもので、右に拡大したものを掲げました。

 Z80システムのスタート番地(0000H番地)にはZ80 SBC(シングルボード・コンピュータ)の製作 (6) モニタープログラムの搭載」で述べたモニタープログラムがあります。
 1C00H~3430H番地にはCCP+BDOS+BIOSが一体化して収めてありますので、Z80の便利なメモリ転送機能を利用してCP/Mをスタートさせることが出来ます。
 すなわち、

MOUNT_CPM:
   LD   HL, 1C00H  ;Start addrs cp/m on ROM
   LD   BC, 1380H  ;Program Length
   LD   DE,0DC00H  ;Addrs to transfer
   LDIR
;
   3E   01H       ;Memory Bank Change
   D3   38H
;
   JP   0F200H    ;Jp to CP/M Start Addrs


 しかしながら通常のCP/MスタートはDISK(CFCARD)から実行されます。

 左図はその説明図です。複数あるディスクの最初のディスク(DISK0またはDISK A)の最初のトラック(TRACK0)の最初のセクター(SECTOR0)の部分を示しています。

TRACK0、SECTOR0 には
  IPL( Initial Program Loader )

TRACK0、SECTOR2から26
および TRACK1、SECTOR1から25 には
  CCP+BDOS+BIOS

がそれぞれ記録してあります。

実施例で、この場合のCP/Mスタートを説明すると、
・ モニタープログラムからDISKのIPLを8000Hにロード
・ このIPL8000Hからスタートさせると、DISKにあるCCP+BDOS+BIOSDC00Hへロードし、
・ 次いで、メモリバンクをオールRAMに切り替え、F200HからCP/Mをスタート
となります。

 以上から分かるように、CP/Mを構成するためのファイルは、前述の
 CPM.SYS(修正版)z80_cbios.bin(修正版)にくわえて、
 IPL:プログラムの役割については既述
 PUTSYSDISK0の最初の部分にCPM.SYS(修正版)z80_cbios.bin(修正版)およびIPLを書き込む
 FORMATDISKの使用セクターのすべてにE5を書き込む
などがあり、それらを組み合わせて構築します。
 詳細は CPUVille http://cpuville.com/Code/CPM-on-a-new-computer.html を参照ください。


 以上はZ80 SBCへの CPM 搭載についての全体像の備忘記録で、マニュアルではありませんので整合性や誤解などについてはご容赦ください。

 とはいうもののこのCPUVilleの記事「 Setting up CP/M 2.2 on a New Z80 Computer」は本当に役に立ちました改めて Donn Stewart さんに感謝です。

 現在は自作のZ80 SBCでCP/M‐80が軽快に動いています。
 強いて気になる点は、DISKの1セクターが512バイトもある中で、128バイトしか使われていないので、128GBのCFカードでも243kバイトのDISK4台構成である点です。

 またZ80 SBCもAKI-80ボードを使えばよりシンプルになることを思いつき、これに Grant Searle さんのシステムを載せてみたいと考えています。