2016年08月12日

MeltDown(1)(ver1リリース)

  MELT DOWN for P6


  88SR版→P6SRへの変換ツールをリリースします。

meltp6.zip


  説明などは、同梱のドキュメントを参照して下さい。


  エミュレータでは、PC-6001VW ver309b、ver310f、PC-6001V ver124 で動作を確認しています。

2016年08月07日

ザナドゥforP6(7)

  ザナドゥ for P6


  Ver2の実行している画面をアップします。

160807_01_ザナドぅver2実行1.png
160807_01_ザナドぅver2実行2.png
160807_01_ザナドぅver2実行3.png
160807_01_ザナドぅver2実行4.png
160807_01_ザナドぅver2実行5.png
160807_01_ザナドぅver2実行6.png
160807_01_ザナドぅver2実行7.png


  動画は撮影できる環境がありません(する気もあんまりない)。
  どなたかアップしてくれるといいんですが(^^;)

2016年08月01日

ザナドゥforP6(6)(ver2リリース)

  ザナドゥ for P6


  88SR版→P6SRへの変換ツール(ver2)をリリースします。

xanadu_p6.zip


  説明などは、同梱のドキュメントを参照して下さい。


  エミュレータでは、PC-6001VW ver309b、ver310f、PC-6001V ver124 で動作を確認しています。


  Ver1→Ver2の変更点は以下の通りです。

 ・グラフィックを640x200に変更(オープニングを除く)。
 ・名前を入力の際、DELが効かなかった問題を修正。
 ・通常マップ時に Spectacles を使用すると、背景が消える問題を修正。
 ・キングドラゴンの判定が誤っていたのを修正。


  何か小さな事でもいいので、おかしい部分があれば報告頂けると幸いです。

2016年07月28日

次回作予告

  MELT DOWN for P6


  PC88からの移植の次回予告です。

  過去に同人ソフトとして販売されていた、MELT DOWN というシューティングを移植中です。


  作者さんのページにPC88版のソフトがアップされています。

http://www.neko.ne.jp/~ronji/


  この MELT DOWN を移植中に、ザナドゥの640x200の案を思いついたちゃったので、先にザナドゥを片付ける羽目(?)になりました。


  ゲームのコア部分はほぼ終わっています。まあまあなスピードで動作しています。
  ゲームが難しくて、全然進みませんが(^^;;;

ザナドゥforP6(5)

  ザナドゥ for P6

  修正に時間が掛かっています...

  一番時間が掛かっているのは、しょうもないことなんですが、ディスクに入らない!という事です。

  お店などの1枚絵の画像データが、前のバージョンでは、320x200x16色(実際には5色)だったのですが、今回バージョンでは、640x200x4色に変更しています(PC88版とほぼ同じ)。


  そのため容量が全然足らなくなって、いろいろと圧縮方法を試すことになってしまいました。

  結局、1枚絵の画像データだけではなく、敵キャラや自キャラのデータも圧縮して、やっとディスクに収まりました。


  通常部分のプログラムは終わって、後はデカキャラとの戦闘プログラムとエンディングのみです。
  全部修正なので、そんなに時間は掛からないかと思います。


  動かすと分かるんですが、mk2SR/66SRの実力発揮、という感じです。640x200ドット出力をしているため、見た目はPC88版とあまり変わりません。


  元々PC88のプログラムが、

  背景キャラ:青+黄色
  通常キャラ:黒+赤+白

  の5色しか使っていなかったので、背景キャラの黄色を白にする事で、640x200x4色で動かす事が出来るためでした。


2016年07月09日

ザナドゥforP6(4)

  ザナドゥ for P6

  ふと思いついた事があったので、画面周りをほぼ一から作り直しています。
  画面周りという事は、修正箇所の大部分という事になりますが(^^;)...

160709_01_ザナドゥver2テスト1.jpg

160709_01_ザナドゥver2テスト2.jpg


  両方とも修正したP6バージョンのメイン画面を表示したものですが、右側の背景が違います。
  画面の綺麗さは、PC88版と同じだと思います(解像度が同じなので当然なのですが)。

  PC88版では市松模様の背景なのですが、これだと文字がちょっと見づらいかなーという事で縦縞にしてみました。

  縦縞でもちょっと見づらいんですが...


  完成までまだもうちょっと掛かりそうです。

2016年06月13日

魔法使いの妹子1、2forP6(2)

  唐突なんですが、オニオンソフトさんの「魔法使いの妹子」「魔法使いの妹子U」の変換プログラムをリリースしました。


  88版だとカタカナ表記だったので、これをひらがなに変換して表示させるようにしました。かなりゲームがやりやすくなったのではないかと思います(漢字に変換するのは、さすがにハードルが高すぎる)。

  今回はアドベンチャー系だったので、解析はラクな部類でした。

  面倒だったのは画像描画ルーチンの解析でした。
  輪郭だけはビットマップを圧縮して、その後でペイントするというちょっと面倒な仕様でした。

  変換プログラム上で画像を展開してから、P6用に変換した後に、他のソフトでも使っている圧縮ルーチンで圧縮しています。

16_06_13_02_魔法_1.jpg

16_06_13_02_魔法_2.jpg

16_06_13_02_魔法_3.jpg



  Uの方は、突貫で作りました(2日くらい?)。

  ほとんどのルーチンが同じで、アニメーションルーチンが追加されているだけだったので、ラクといえばラクかも知れません。


  ちなみにアニメーションと通常の1枚絵で色が変わるのは、元の88版の仕様で、アニメーションするデータを減らすために、4色で描かれているためです。


  アニメーションが遅いのが、ちょっと不満ですが...

16_06_13_02_魔法2_1.jpg

16_06_13_02_魔法2_2.jpg

16_06_13_02_魔法2_3.jpg




魔法使いの妹子1、2forP6(1)(ver1リリース)

  魔法使いの妹子 for P6
  魔法使いの妹子U for P6


  88SR版→P6SRへの変換ツール(ver1)をリリースします。

maho_p6.zip
maho2_p6.zip


  説明などは、同梱のドキュメントを参照して下さい。


  エミュレータでは、PC-6001VW ver310b、PC-6001V ver124 で動作を確認しています。

2016年06月10日

ザナドゥforP6(3)(ユーザデータコピーツール)

  ザナドゥ for P6


  旧バージョンから新バージョンへのユーザデータのコピーツールをリリースします。

xanacopy.zip


  説明などは、同梱のドキュメントを参照して下さい。


  突貫で作ったので、ちょっと心配...

ザナドゥforP6(2)(ver1リリース)

  ザナドゥ for P6


  88SR版→P6SRへの変換ツール(ver1)をリリースします。

xanadu_p6_ver1.zip


  説明などは、同梱のドキュメントを参照して下さい。


  エミュレータでは、PC-6001VW ver310b、PC-6001V ver124 で動作を確認しています。

  イシターと同じような機能を使っているため、PC-6001VW は ver307a2やver310 では非常に遅くなります。



  Ver0→Ver1の変更点は以下の通りです。

 ・オープニングデモを追加。
 ・CAVEを通る時のアニメーションを修正。
 ・エンディングを追加。
 ・ダメージを受けた時/与えた時の反転パターンに縦縞が入る問題を修正(問題発生は実機のみ)。
 ・ディスクエラーなどが出た後に、復帰した時に画面がずれたりプログラムが異常になる問題を修正(問題発生は実機のみ)。
 ・かな、PAGEを押した時にハングアップする問題を修正。
 ・画面切り替え時の暗転の時間を短縮。



 Ver1になったのですが、まだ以下の問題が解決されていません。

 ・キャラクタが自動変換のため、かなり汚いものを
 ・通常マップ時に Spectacles を使用すると、背景が消える。

  後日にバージョンアップする予定です。


  また、違うバージョン間で、ユーザデータを移行するプログラムを別リリースする予定です。



  何か小さな事でもいいので、おかしい部分があれば報告頂けると幸いです。



2016年06月04日

SD6031Airファーム変更(2)

  SD6031Airの件で、前回調べて問題になった点のうち、


  1)4バイト高速ライト系(コマンド0x86、0x87)
  2)イメージファイルの変更(コマンド0xFE)
  3)INIT.P31 を最初に読み込みに行かない。

  1)は前回に修正しましたが、2)3)に関しても修正しました。

  SD6031AIR.zip


  ファームウエアのアップデートの方法は前回の通りです。


  これで、FlashAirを使用しない場合は、SD6031/SD6031WIFと同様の動作になります。


  FlashAirを使用した場合、うちの環境では今の所よく分からない動作になる事があります。
  環境なども含め、原因を調査中です。
posted by えすび at 22:09| Comment(9) | HW:SD6031 | このブログの読者になる | 更新情報をチェックする

2016年05月23日

SD6031Air使用記

  SD6031Airを入手したので、実機で使用してみました。

  気付いた点というか問題点というかをまとめてみました。


H/W面

1.本体に接続すると、読み出し/書き込みのLEDが見えなくなる。

  これは以前のSD6031に比べて基板が小さくなっているためです。ちょっと不便かも。


2.本体後ろに挿した時にちょっとぐらつく

  これもSD6031と比べると、若干薄くなっているためのようです。
  そのために、支えるためのビスが付属されています(最初、何の部品か分からなかった^^;)。



S/W面

1.通常使用は、mk2でもmk2SRでも使用が可能。しかし一部コマンドが不可。

  試したのは、2GのSDカードと、8GのSDHCカードで、Airではなく普通のSDカードです。
  フォーマットも1Dと1DDの両方を使用しましたが、BASICなどで使用する分には問題ありません。

  また、拡張コマンドのHDDモードなども特に問題なく動作しました。

  ただし、追加した一部コマンドが使用不可でした。

 ○4バイト高速ライト系(コマンド0x86、0x87)
 ○イメージファイルの変更(コマンド0xFE)

  私が88から移植しているゲームは、上記4バイト高速ライトを使用しているので、軒並みNGです(OKなのは、書き込みしないイシターぐらい)。

  せっかくのAirの機能ですが、ブラウザの設定などの関連で試せていません。


2.INIT.P31 を最初に読み込みに行かない。

  これは多分仕様変更のためだと思います。Airでブラウザで使用してね、という事だと思いますが。


  上記1、2の問題があり、イメージセレクタは使用できません(INIT.P31を最新にしても、イメージファイルの変更が出来ないため、イメージセレクタは使用不可)。




  とりあえずソースを眺めていて、4バイト高速ライト系に関しては修正してみました。

160523_SD6031AIR.zip


  うちの環境が古いので、修正しなくていいソース(SD.h)まで修正していますが...


  ファームウエアのアップデートの方法は以下の通りです。
  (アップデートは自己責任で行って下さい。アップデート、アップデート後の問題についても責任は負えませんので)。

 1)適当なSD/SDHCカードを用意する。出来れば中身が入っていないのがいい。
 2)SD/SDHCカードのルートに、SD6031AR.hex をコピーする。
 3)SD6031Air の電源を切る。さらに P6 から抜いておく。
 4)SD/SDHCカードをSD6031Airに挿入する。
 5)SD6031Air の電源を入れる。
 6)ファームウエアのアップデートが行われ、LEDが2回点滅する(電源を入れてからすぐに完了します)。
 7)LEDが2回点滅しない場合は、再度電源OFF、ONしてみて下さい。
 8)ファームウエアのアップデートが完了したら、忘れずに、SD/SDHCカード上のSD6031AR.hex を消しておく。


 3)の P6 から抜いておく、というのと、8)のSD6031AR.hex を消しておく、というのが重要です。



  イメージファイルの変更などは、Airに絡む部分なので安易に変更できないかなーと思ってます。



posted by えすび at 23:32| Comment(0) | HW:SD6031 | このブログの読者になる | 更新情報をチェックする

2016年05月14日

ザナドゥforP6(1)(ver0リリース)

  ザナドゥ for P6


  唐突ですが、88SR版→P6SRへの変換ツール(ver0)をリリースします。

xanadu_p6_ver0.zip


  説明などは、同梱のドキュメントを参照して下さい。


  エミュレータでは、PC-6001VW ver309b、PC-6001V ver124 で動作を確認しています。

  イシターと同じような機能を使っているため、PC-6001VW は ver307a2やver310 では非常に遅くなります。
 (ver309b のダウンロード方法は、PC-6001VW のBBSを参照して下さい)



  今回、作りかけ(というかオープニング、エンディング以外はほぼ作成済み)でリリースしたのは、まともにザナドゥをプレイした事がないので、気付いていないバグがあるかも知れないためです。

  私ではまともにゲームを進めることができないため、出来る人にやってもらおう、という目的での暫定版リリースです。


  今の所、88版と比べて、以下のプログラムが未完成です。

 ・キャラクタが自動変換のためかなり汚い(特に背景)。
 ・オープニングデモがない。
 ・CAVEを通る時のアニメーションがヘン。
 ・エンディングがない。エンディングまで到達すると、画面に「PR.NO5」と表示されてゲームが停止します。
 ・ダメージを受けた時/与えた時の反転パターンに縦縞が入る(実機のみ。もしかしてうちのマシンだけかも)
 ・88版と比べると動作が遅い。これはほぼ限界です...


  何か小さな事でもいいので、おかしい部分があれば報告頂けると幸いです。

2016年05月03日

ファンタジーforP6(4)(ver2リリース)

  ファンタジー for P6


  88版→P6SRへの変換ツール(ver2)をリリースします。

ph1p6.zip


○ver1→ver2変更点
 88版ファンタジーの別バージョン対応。
 キャラ命名の際のかな入力時、ひらがな→カタカナに変更する必要があったものを修正。
 (ただし、エミュレータによっては、ひらがな→カタカナにする必要があります)

  既に変換した人は、再変換する必要はありません(プログラム自体はほとんど同じです)。


  説明などは、同梱のドキュメントを参照して下さい。

  エミュレータでは、PC-6001VW ver307a2、PC-6001V ver124 で動作を確認しました。

2015年11月21日

メモリ割り当て

  前回の続きです。


  参考文献:Mr.PCテクニカルコレクション 秀和システムトレーディング


○ポート0x60:CPUアドレス:0x0000〜0x1FFFの読み出し設定
○ポート0x61:CPUアドレス:0x2000〜0x3FFFの読み出し設定
○ポート0x62:CPUアドレス:0x4000〜0x5FFFの読み出し設定
○ポート0x63:CPUアドレス:0x6000〜0x7FFFの読み出し設定
○ポート0x64:CPUアドレス:0x8000〜0x9FFFの読み出し設定
○ポート0x65:CPUアドレス:0xA000〜0xBFFFの読み出し設定
○ポート0x66:CPUアドレス:0xC000〜0xDFFFの読み出し設定
○ポート0x67:CPUアドレス:0xE000〜0xFFFFの読み出し設定

○ポート0x68:CPUアドレス:0x0000〜0x1FFFの書き込み設定
○ポート0x69:CPUアドレス:0x2000〜0x3FFFの書き込み設定
○ポート0x6A:CPUアドレス:0x4000〜0x5FFFの書き込み設定
○ポート0x6B:CPUアドレス:0x6000〜0x7FFFの書き込み設定
○ポート0x6C:CPUアドレス:0x8000〜0x9FFFの書き込み設定
○ポート0x6D:CPUアドレス:0xA000〜0xBFFFの書き込み設定
○ポート0x6E:CPUアドレス:0xC000〜0xDFFFの書き込み設定
○ポート0x6F:CPUアドレス:0xE000〜0xFFFFの書き込み設定


 ・SR以降のみに存在するI/Oポートです。
 ・SRモード(ポート0xC8:bit0=0)以外では動作しません。
 ・書き込みのみ。読み出しはできません(読み出すと0xFFになる)。


  書き込むデータは次の通り。


  bit7-4:割り当てるメモリの種別

   bit7-4=0000:内部RAM(VRAM)
   bit7-4=0010:外部RAM(拡張RAM)
   bit7-4=1011:外部ROM1(拡張ROM(nCS2):通常、0x6000〜0x7FFFに割り当てる)
   bit7-4=1100:外部ROM2(拡張ROM(nCS3):通常、0x4000〜0x5FFFに割り当てる)
   bit7-4=1101:CGROM
   bit7-4=1110:SYSTEMROM2(音声合成/漢字)
   bit7-4=1111:SYSTEMROM1(BASIC-ROM)
   それ以外は未使用


  bit3-1:割り当てるメモリの先頭アドレス(アドレスバスA15-13に出力する値)
  bit0:常に"0"



◎解説
 CPUからメモリなどにアクセスする際に、8Kバイトごとに自由に割り当てる事が出来る機能です(内部RAMは制限あり。後述)。
 SRモード専用の機能で、SRモード以外は使用できません。mk2/66モードのポート0xF0〜0xF2に似たような機能がありますが、ポート0xF0〜0xF2はバンク切り替えのイメージです。

 設定値の与え方がちょっと分かりにくい(特にbit3-1)ですので、具体的な例を挙げてみます。


 SYSTEMROM1(BASIC-ROM)の0x8000〜0x9FFFを、0x0000〜0x1FFFから読み出したい場合は、

 ・設定するポートは、0x0000から読み出すので、ポート0x60に書き込む。
 ・設定値bit7-4=SYSTEMROM1(BASIC-ROM)、1111
 ・設定値bit3-0=エリアの先頭に0x8000を割り当てるから、0x8=1000

  となって、ポート0x60に0xF8を書き込む。



 外部RAM(拡張RAM)の0x6000〜0x7FFFを、0x4000〜0x5FFFから書き込みたい場合は、

 ・設定するポートは、0x4000から書き込むので、ポート0x6Cに書き込む。
 ・設定値bit7-4=外部RAM(拡張RAM)なので、0010
 ・設定値bit3-0=エリアの先頭に0x6000を割り当てるから、0x6=0110

  となって、ポート0x6Cに0x26を書き込む。


 このメモリ割り当て機能ですが、回路的にはCPUアドレスのA15-13を入力として、新しくアドレスRA15-13を生成する回路と、チップセレクトを生成する回路になります。

 A15-13からRA15-13を生成する回路は、こんな感じです。

151121_01_メモリ割り当て1.jpg



 メモリアクセスに関しては、すべてRA15-13を使うのですが、内部RAM(VRAM)だけは、RA15-14とA13を使っています。多分バグだと思われます。

151121_01_メモリ割り当て2.jpg



 そのため内部RAM(VRAM)に関しては、以下のような動作になります。


○ポート0x60:CPUアドレス:0x0000〜0x1FFFの読み出し設定
○ポート0x62:CPUアドレス:0x4000〜0x5FFFの読み出し設定
○ポート0x64:CPUアドレス:0x8000〜0x9FFFの読み出し設定
○ポート0x66:CPUアドレス:0xC000〜0xDFFFの読み出し設定
○ポート0x68:CPUアドレス:0x0000〜0x1FFFの書き込み設定
○ポート0x6A:CPUアドレス:0x4000〜0x5FFFの書き込み設定
○ポート0x6C:CPUアドレス:0x8000〜0x9FFFの書き込み設定
○ポート0x6E:CPUアドレス:0xC000〜0xDFFFの書き込み設定

 内部RAM(VRAM)を割り当てる場合は、以下の値しか取れない。

 0x0000〜0x1FFF:書き込むデータbit7-0=00000000
 0x4000〜0x5FFF:書き込むデータbit7-0=00000100
 0x8000〜0x9FFF:書き込むデータbit7-0=00001000
 0xC000〜0xDFFF:書き込むデータbit7-0=00001100


○ポート0x61:CPUアドレス:0x2000〜0x3FFFの読み出し設定
○ポート0x63:CPUアドレス:0x6000〜0x7FFFの読み出し設定
○ポート0x65:CPUアドレス:0xA000〜0xBFFFの読み出し設定
○ポート0x67:CPUアドレス:0xE000〜0xFFFFの読み出し設定
○ポート0x69:CPUアドレス:0x2000〜0x3FFFの書き込み設定
○ポート0x6B:CPUアドレス:0x6000〜0x7FFFの書き込み設定
○ポート0x6D:CPUアドレス:0xA000〜0xBFFFの書き込み設定
○ポート0x6F:CPUアドレス:0xE000〜0xFFFFの書き込み設定

 内部RAM(VRAM)を割り当てる場合は、以下の値しか取れない。

 0x2000〜0x3FFF:書き込むデータbit7-0=00000010
 0x6000〜0x7FFF:書き込むデータbit7-0=00000110
 0xA000〜0xBFFF:書き込むデータbit7-0=00001010
 0xE000〜0xFFFF:書き込むデータbit7-0=00001110


 また、書き込むデータbit3-1が、RA15-13に出力されますが、内部RAM(VRAM)使用時はRA13は未接続のために、bit1は無視されます。


 上記制限のため、例えば

 CPUアドレス 0x0000〜0x1FFF に、内部RAM(VRAM)0x4000〜0x5FFF を割り当て
 CPUアドレス 0x2000〜0x3FFF に、内部RAM(VRAM)0x2000〜0x3FFF を割り当て
 CPUアドレス 0x4000〜0x5FFF に、内部RAM(VRAM)0x0000〜0x1FFF を割り当て
 CPUアドレス 0x6000〜0x6FFF に、内部RAM(VRAM)0x2000〜0x3FFF を割り当て

 はOK(複数から同じRAMに割り当ててもOK)なのですが、

 CPUアドレス 0x0000〜0x1FFF に、内部RAM(VRAM)0x2000〜0x3FFF を割り当て
 CPUアドレス 0x2000〜0x3FFF に、内部RAM(VRAM)0x0000〜0x1FFF を割り当て

 はNGです。

 また、内部RAMはVRAMとして使用されていますが、メモリ割り当てではあくまでもCPUからのアクセスアドレスが変わるだけなので、画面表示への影響はありません。

 さらにVRAMでビットマップモードを使用した場合は、メモリ割り当てでアドレス変換された後に、ビットマップ変換がされます。詳しくはSRグラフィックの説明の際に記載します。
posted by えすび at 16:09| Comment(0) | P6解析:CPU周り | このブログの読者になる | 更新情報をチェックする

2015年11月09日

SD6031/SD6031WIFのファームウエアについて


  そういえば、このブログでアップしていなかったので、SD6031/SD6031WIFの最新版のファームウエアをアップします。


SD6031firm_130610.zip

  通常のSD6031/SD6031WIF用です。
  (http://sbeach.seesaa.net/article/387861570.html
  (http://sbeach.seesaa.net/article/387861572.html



SD6031firm_130723.zip

  HDDモードと4バイト転送モードを実装しています。


  SD6031firm_130723 は、基板を改造してマルチディスク対応にした、SD6031/SD6031WIF用です。
  (http://sbeach.seesaa.net/article/387861586.html
  上記の機能に加えて、マルチディスク対応にしています。
posted by えすび at 23:48| Comment(14) | HW:SD6031 | このブログの読者になる | 更新情報をチェックする

ウィザードリィforP6(7)(ver1.1リリース)

  ウィザードリィ for P6


  88版→P6への変換ツールをリリースします。

  変換ツールの変更のみで、生成された結果は変わりません。
  そのため、以前に既に変換を行っている場合は、新しく実行する必要はありません。


wiz1_p6_ver1_1.zip

wiz2_p6_ver1_1.zip

wiz3_p6_ver1_1.zip


 ・変更内容

  binpaste.exe が実行できない環境があるため、binpaste.exe を使用しないようにした。


  説明などは、同梱のドキュメントを参照して下さい。


  シナリオ#1、#2、#3用です。

2015年11月08日

パレット機能

  テクノウを作るに当たり機能ごとに書くのもいいんですが、画面周りが非常に大変そうなので...
  とりあえずI/Oポート順に攻めてみたいと思います。


  参考文献:Mr.PCテクニカルコレクション 秀和システムトレーディング


○ポート0x40:色番号16(HGRB=1111)のパレット色設定
○ポート0x41:色番号15(HGRB=1110)のパレット色設定
○ポート0x42:色番号14(HGRB=1101)のパレット色設定
○ポート0x43:色番号13(HGRB=1100)のパレット色設定

(ポート0x44〜0x4F:ポート0x40〜0x43のイメージ)


 ・SR以降のみに存在するI/Oポートです。
 ・SRモード(ポート0xC8:bit0=0)以外でも動作します。
 ・書き込みのみ。読み出しはできません(読み出すと0xFFになる)。

  書き込むデータは次の通り。

  bit7-4:don't care
  bit3:Hの反転
  bit2:Gの反転
  bit1:Rの反転
  bit0:Bの反転


◎解説
 いろいろとユーザには理解しがたい仕様のパレット設定です。

 なぜ、4色だけなのか?せめて8色なら88からの移植がラクなのに。
 なぜ、色番号13〜16なのか?せめて色番号1〜8なら、88で出せる色はそのまま使えるのに。

 と、88からの移植にすごく不向きなパレットです。

 設定する値は出したい色の反転を設定します。これもなぜ反転か不明ですが...

 例えば、色番号13に白(HGRB=1111)の設定する場合は、ポート0x43 に 0x00を出力します。


 また、SR-BASICのグラフィック全般に言える事ですが、SR-BASICではVSYNC割り込みを使って、常に画面設定をしています。

 そのため、SR-BASICのコマンドラインから、

 SCREEN 2,2,2:LINE (0,0)-(319,199),16,BF

 の後に

 OUT &H40,&H05

 としても、色番号16の白(HGRB=1111)が、赤(HGRB=1010)になりません。

 SR-BASICではなく、N66-BASIC(MODE5)で同じ事を実行した場合、ちゃんと所望の動作をします。
 (ただし、SCREEN 2,2,2 → SCREEN 3,2,2 とする)


 SR-BASICでは、ポート0x40〜0x43に出力した値をワークエリアに持っています。

 ポート0x40:0xED1F
 ポート0x41:0xED20
 ポート0x42:0xED21
 ポート0x43:0xED22

 これを使って、

 10 SCREEN 2,2,2:LINE (0,0)-(319,199),16,BF
 20 POKE &HED1F,&H05
 30 GOTO 30

 とすると、色番号16の白(HGRB=1111)が、赤(HGRB=1010)になります。



 このパレットが性能を発揮するのは、MODE5の320x200ドット表示の色を変える時ぐらいかも知れません。

posted by えすび at 12:25| Comment(0) | P6解析:画面周り | このブログの読者になる | 更新情報をチェックする

2015年11月07日

66SRキーボード修理

  ちょっと前ですが、某氏の66SRのキーボードを修理しました。

  66SRのキーボードは本体と分かれているために、繋いでいるケーブルを挿すコネクタ周りが故障しやすいです。
  大抵はそのコネクタ(本体とキーボードの両方)を半田付けし直すと直ります。

  今回もそれだろうと思っていましたが、違っていました。


  電池ホルダーへのリード線も断線していたので、そこを修理して電池駆動(赤外線通信)にしたのですが、LEDが光りません。
  ちなみに赤外線LEDは肉眼では光っているのが見えません。デジカメなどを通すと光っているのが分かります。


  ちゃんと調べないとダメそうなので、回路図と照らし合わせてダメな部分を確定させました。

pc6601SR_keyboard1.PNG

pc6601SR_keyboard2.PNG


  電池駆動にして、とりあえずサブCPU の uPD80C49HC(IC401:1ページ目左側)から調べました。

  VCC:5V(OK)
  VDD:0V(?)
  RESET:0V(?)


  このキーボードが電池駆動で動作していない時はパワーダウンモードになります。
  その時は VDD は0Vになりますが、通常動作時は 5V になります。

  回路図を見て、さらにちょっと測定した結果、パワーダウンモードから復帰するには、
 キーボードをどれでもいいから押せばいいことが分かりました。

  キーボードをどれか押すと、74HC30(IC402:1ページ目右上)の出力(nNODATA)が "L"→"H" となります。

  この信号(nNODATA)をクロックとしている D-FFの 40H74(IC404:2ページ目右上)が動き、VDDが "L" → "H" となる回路です。


  で、実際の動作ですが...なぜか 40H74 が動作していませんでした。
  ICの足を直接測定していたんですが、入力は全て正しい値を示しているのに、出力が全然動きませんでした。


  理由は分かりませんが 40H74 が壊れているようでした。

  結局、40H74 を手持ちの 74HC74 と交換すると全く問題なく動作しました。


  珍しく汎用のICが壊れた事例です。

posted by えすび at 17:40| Comment(0) | P6実機:製作・修理・改造など | このブログの読者になる | 更新情報をチェックする

151107_03_テクノウ3草案(能書き)

  最近、P6へのソフトウエア移植ばっかりやっていて、解析記事などがおろそかになっていました。テクノウ Vol.2(回路図篇)も発行してしまったので、次のテクノウvol.3をそろそろ作っていこうかと思います。

  テクノウvol.3をいきなり作っていくのは結構大変なので(挫折が見えている)、あんまりまとまらない感じでブログに書き溜めていき、それを編集するような格好にしたいと思います。

  過去に書いた内容など、重複した部分も出てきますがご容赦を。



posted by えすび at 15:56| Comment(0) | P6解析:その他 | このブログの読者になる | 更新情報をチェックする