FC2ブログ

DE0上で Zet Processor ver.1.3.1も動いた!(報告編)

やったよ。やりました。

ZetProcessorのバージョン1.3.1が、動作しました。
使用したFPGAボードは、AlteraのDE0でございます。

先日の記事では、ver1.2.0のコンパイル済みファイルを動作させました。
その後、Forumの書き込みを読み解いて修正してみたら、
自分でもコンパイルできたわけであります。

さらに欲が出て、同じ修正でバージョン1.3.1も動くのではないかと予想。

Verilogのファイルにちょっと手を加えてみたら
うまく動きました。ので、報告。

起動画面は、前回の記事に載せたので
今回はWindows起動しちゃうよ!!

変更箇所は、本記事の最後に!!

そうそう。Windowsを起動するために、
コマンド入力が必要なんて知らなかったです。

20140707_win1.jpg
C:\>win   っと。

そして起動!!
20140707_win2.jpg

うほーい!マウス繋いでないので、すべてキーボードで動作。
alt、tab、カーソルキーなど、非文字のキーが大活躍です。

みんな大好きソリティア
20140707_soli.jpg

オセ・・・じゃなくてリバーシ
20140707_rev1.jpg

カドをとられて危なかったけど、なんとか勝利!!
20140707_rev2.jpg


これがすべて、FPGAの上で動いているというのが
いまだに信じられない。というか、実感が湧かない。

一方、コマンドに戻り、Lemmingsを起動してみる。
20140707_lem1.jpg

何このロゴ。なんかメッセージが流れてるんですけどー。
ここからは、どうやらESCキーで先に進める。
・・・という内容が、しばらくするとメッセージで流れてくる。

でました。タイトル&メニュー画面。
20140707_lem2.jpg

早速プレイ。
20140707_lem3.jpg

うひゃあ。マウスなしでどうやってプレイするんだ!?
と思ったら、上下は"q"と"a"、左右は"o"と"p"、決定はスペースキーで操作できた。

1面は穴掘りだけでいけるのよね。とりあえずクリア。
20140707_lem4.jpg


こんな感じで、デフォルトでいろいろ遊べることがわかりました。
ただ、バージョン1.3.1では、CUIにしたときに
表示領域がずれてるっぽいのがちょっと気になる。


さてさて、動作させるために必要な修正箇所ですが、
それほど多くないです。

変更するファイルは、flash16.vのみ。BusのACK信号にassignされている
opという信号を、シフトレジスタにして出力を遅らせます。
ファイルはこれ↓
zet_mod1r.png

変更箇所はこの図のとおり。
zet_mod2r.png
赤枠で囲んだところを追加します。
ただし、60行目はもともとあった記述をコメントアウトしたものです。

バージョン1.2.0、1.3.1ともに、この変更で起動できるようになりました。
次は、備忘録的に動作までの手順をまとめてみよう。

Windowsの発表当時にコンピュータをいじっていた人たちも
こんな興奮を味わっていたのだろうか。
スペック的には今のほうが断然すぐれているのに、
触っているだけでワクワクするという時代がうらやましく思える。

/** おまけ ************/
rogueで調子に乗ってモンスターを狩っていたら、お墓が立ちました。
20140707_rogue_die.jpg
安らかに眠れ。hoge氏、オークとの戦いにて死す。

これを見るためにプレイしました。って感じ。
スポンサーサイト



コメント

非公開コメント

お久しぶりです。
Zet、無事動く様になっていたんですね。
僕も帰ったら早速やってみようと思います。
貴重な情報ありがとう御座いました。
最近忙しくてFPGAで遊べていないので。。。

Re: タイトルなし

コメント、ありがとうございます。

本家の情報で、何とか動くようになりました。
私も、なかなかボードをいじる時間が取れなかったりしています。

すこしずつでも、遊べるといいですね。

結局、問題はSDRAMのタイミングにあったようですが、
データシートとのにらめっこでは見つけられませんでした。

デバッグ力を向上させたいです。

僕のブログの方にも勝手に書かせてもらいましたが
SDRAMではなく、flashのタイミングの方ですね。
誤記かも知れませんが。
アドレス確定後に最大90nsec後にデータが確定しますが、
その前にCPUにデータが揃った(ack)と返事が帰っています。
その返事を遅らせる変更のようです。

Re: タイトルなし

> SDRAMではなく、flashのタイミングの方ですね。
> 誤記かも知れませんが。

ご指摘ありがとうございます。
そうですね。問題があったのはflashのタイミングでした。

自分で、書き換えるのはflashモジュール 的なことを書いていたのに、
おはずかしい。

わかりやすい解説も付けていただき、助かります。
プロフィール

軟弱

Author:軟弱
趣味で電子工作やってます。パーツ収集癖がたたって、不良在庫に囲まれた生活です。ディジタルもアナログも興味あり。

当サイトの内容は再現性および安全性を保証するものではなく、内容の利用により生じたいかなる損害等についても責任を負いません。自己責任でよろしく。趣味ですから。



twitterやってます。
最新記事
最新コメント
月別アーカイブ
カテゴリ
RSSリンクの表示
リンク
QRコード
QR