9801VM11へのfreedos導入に先立ってRS232Cの確認

とりあえずシリアルでつないで、TeraTermで文字を送って9801側に表示してみました。
ROM BASICでもRS232Cは使えました。ボーレートの初期値は1200ボーになっていました。

次はPC側でちょっとしたプログラムを組んでファイルを転送して9801側に表示したいと
思います。バイナリを転送するので4ビットずつ転送して9801側で組み立てなおすとか
画策しております。

いや、シリアル転送はちょっとした試しをしないと安心できないので(^^;)

では。
スポンサーサイト

ジャンクで買った128MB MOドライブが9801VM11上で動きました

取り急ぎの記事です。

コメントいただいた方からMOの128MBメディアを譲っていただき、無事動くことを
確認しました。
とは言え、まあ、あまりよろしくないので5インチFDのメディアを一枚空けてFreedos98にでも
挑戦してみようと思います。V30でfreedos98が動くのかわかりませんが、
さるエミュレータをビシバシ作ってる方のしかV30クラス限定のエミュレータは
なさそうで、そのためにはROMを読みださないといけなくて、そのためにはDOSがあった
方がやりやすい、とか卵・にわとりの関係なので手持ちの9801用資料のBIOSの項目に目を通して
見ました。BASICではDOSとはFDのフォーマットの1セクタあたりのサイズが違ったりとそのままでは
できません。とりあえずBIOSはFDのセクタサイズが指定できたり固定ディスクのアクセスの
コールがあったりと妄想は広がります。

いや、実際手をつけるとなるとどうなるかわかりませんが、ちょっと今は疲れてハイに
なっててたわごとをのたまってるだけのような気がします、失礼。

MOはCS-M120WAというもので型番から察すると128MB限定のような気がしたらそのまんま
でした。230MBのメディアではリトライを繰り返してドライブ自身がメディアを認識しませんでした。
頂いたメディアではちゃんと128MBなのであっさり認識(入れるとまもなく緑色のレディーLEDが
点灯)。SCSIボードはIFN-SCというもので、DOS3.3Dで認識するためにボードの設定を呼び
出してHDDモードにしたり、インターフェース自身のSCSI IDを設定したりしました。
ものの本によるとイニシエータというまあ、たぶんここではSCSIボード自身だと思うんですが、
これにもIDがあり、7が一番優先順位が高くてこうすると起動時にSCSIボードのBIOSと
思われる動作で0から順番にサーチして認識する機器を確かめているようでした。
あとMOはセクタサイズが512バイトじゃないと初期化できませんでした。

と、まあ、とりあえず動作確認はした、というお話でした。

PC-9801に脱線…

自分にとって初めてのハードディスクマシンであったPC-9801VM11にあれよあれよとSCSIボード、
SCSI MO、ケーブル、ターミネータ、とジャンクで揃っていってしまったのですが、128MBのMOメディア
しかダメらしく、128MBならいいのかというと、その確認も取れていないのでした。

9801ではFM音源ボードのドライバを書くのに挑戦したことがあるんですが、あえなく玉砕。
オブジェクト指向でガリガリと書いたのですが動かず。確か、資料の本の通りに組むと鳴るの
ですが、そこから少し変更しただけで鳴らなくて、ハードウェアの制御の難しさだったのでしょうか?
真相は闇の中です。

他には、VM11はV30を積んでるのですが、これに8080モードがあるという。わずかな資料で試したの
ですが、こちらも玉砕しました(^^;)

とまあ、それほどネタはないのですが、ネットを見渡すとX68k勢の方の力は凄まじいなと感じたり、
あいかわらずX68kは憧れのマシンなのです。
sdccでZ80プログラミングも、無理をしなければX68k上でX-BASICという理想郷もあったのでした。
アセンブラもすっきりとしていて強力ですしね。

まあ、でも縁あってうちにはVM11があるわけです。2ドライブですが、一基壊れてまして、BASICなら
1ドライブでも動かせそうですが、意外と9801でBASICは知らないことが多いですね(DOSだから
知っているというわけでもないけど…)。

まあ、ごにょごにょと更新のための記事作成なのでした…

sdcc snes-dev

sdccはZ80などのコードも吐けるcコンパイラです。cからZ80のコードは吐けるんだろうから、
アセンブラとリンク(インラインも含めて)すれば、とりあえず例えば、モニタのメッセージ表示
ルーチンを呼ぶ方法はあるだろうと。Z80のコードとしては例えばDEレジスタに文字列の先頭
アドレスを入れて呼べばいいわけです。

ということでいろいろ試行錯誤した挙句、一応メッセージは表示できました(とりあえずエミュレータで)。
Webの情報でできたので少しまとめてまた次の機会に載せたいと思ってはいますが…

700のエミュレータは、その界隈の方々のおかげで実機のROMなしで動かせるので、
とりあえず、その環境で動かしました。あとは理屈では一つ一つモニタのルーチンの呼び出しを
組んでいけば、MZ-NEW MONITOR用にcでプログラムを組むことができるわけです。

まあ、そりゃあ、アセンブラで組むのが一番効率がいいのは確かですが、BASICよりはcの組みやすさと
してはやりやすく、アセンブラほどは複雑ではない、といったところでしょうか。

あとはレトロハードとしてゲームボーイの開発環境に手を出してたわけですが、アドバンスに寄り道したり、
スーパーファミコンに寄り道したりで、スーパーファミコンのsdkのビルドにたどり着きました。

まあ、とりあえずの近況的なところで…

では。

15kHz … MZも映る…



RGBHVを生で読んで表示しているだけなので、MZ-700も映ります。
実は映せるという基準は紅茶羊羹氏の疑似ビットマップの方がいいのですが、なんか勝手に
使ってしまうことになるのか、とちょっと悩んで、とりあえず無難にS-BASICのデモを。

まだ完成というわけではなく、完全に同期が取り切れていないゆえの1ドットのずれが
起きていると思うので、そっちの対策を考えつつ、MZも映してみました。

MZで映すにあたって、横ドット数と縦ライン数のチェックを外したのでノイズが乗っています。
これは値を知るためもあったのでこうしました。カメラではわかりにくいかもしれません。
フリーエリア





対応したブラウザで閲覧ください



リンク
プロフィール

Author:ihiroppi
FC2ブログへようこそ!

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
検索フォーム
RSSリンクの表示
ブロとも申請フォーム

この人とブロともになる

QRコード
QR