2014年08月10日

Zet動作しました

以前コメントいただいた軟弱回路さんのところでZetを動かすための修正方法
書かれていましたのでそれを参考にrtlの修正。
なるほど、FlashからSDRAMに起動時にBIOSコードをコピーするのですが、Flashから
読み出すときに読み出しが完了する前にAckが立ってしまうのですね。
Flashがアドレス確定後出力データが確定するまでに最大90nsecの遅延がありますが
それを待っていなかったため不定データがSDRAMに書かれてしまっていたようです。
同時に僕のところでは8801,Zet98用BIOSコードが既にFlashに書かれており、
毎回毎回起動する機種を変える毎にFlashを消去→書き込みは面倒なので
アドレスが重複しないように割り当てており、Zet用のBIOSもシフトするように
rtlを修正したところ何とか起動を確認。このアドレスシフトの修正も上記修正と同じflash16.v。

ただし、急に動作が止まったり、起動に失敗することが結構頻繁に発生しており、
やはり以前に書いた、Flash関係で未定義になっているBYTEn信号を'1'に固定する
処理が必要なようです。(ウェイクプルアップだけでは弱い。基板の汚れのせい?)
とりあえずこれを固定したところ、安定動作するようになりました。
posted by プー at 00:34| Comment(0) | 雑記 | 更新情報をチェックする

2014年02月10日

Zetが。。。

Open sourceのx86 PC互換機、Zet Processorを何度かコンパイルして
DE0での起動を試しているのですがどうにも動いてくれません。

.tar.bz2の方も.zipの方もやってみましたが(diffを取ったところ
差異は無かったので当然と言えば当然でしょうが)同じ結果です。

ファイルを展開し、QuartusII(僕の場合は9.1sp2と11でテスト)でコンパイル、
DE0のControl PanelからFlashの000000番地からsrc/bios/bios.romを書き込み、
installation guideのDE1のページからダウンロードしたa-zet.zipに含まれる
a-zet.imgを0x20000番地から書き込み、
同じくDE1ページからダウンロードしたc.img.zipに含まれるc.imgを
ddでSD cardに書いて、SDスロットに入れてJ-TAGから
FPGAを初期化していますが画面に何も表示されません(節電モードのまま)。
CPU自体は動作しており、7セグ4桁とLEDの右4桁で表示される
PCは値が変化しているようですが。。。

何がいけないのでしょうか。。。

そういえば今使っているキーボードはどうもゆっくりさんらしく、
PC→キーボード側送信ではある程度間隔をあけないと動作しないようで
FPGAからウェイト無しで送ると正常に動作しないようです。
(なので僕の8801 rtlには長めのウェイトを入れています)
キーボードエラーだと正常に起動しないのでしょうか。
家に帰ったら(子育てで忙しいですが)すこしつついてみたいです。


実は、ZetをベースにZet/98(名前からご想像ください)を
作ってみたいと考えています。
あれ?X68000は???。。。。だって難しいんだもん。。。ハードウェアが
複雑すぎて。。。特にVRAMあたり。。。SD-RAMは1個しか無いから。。。

posted by プー at 13:58| Comment(9) | 雑記 | 更新情報をチェックする

2013年12月25日

Sフォーマット to HEX

モトローラのSフォーマットから、インテルhexに変換する
プログラムは かかっくん さんに教えてもらったのですが、
奇数アドレスと偶数アドレスに分けるプログラム
(奇数用ROM、偶数用ROMに分ける時)用のプログラムが
見つけられなかったので自分で作りました。
sto2hex.c
極々簡単なcのプログラムでmain関数しかありません。
本当はこういう書き方は良くないのですが。。。手っ取り早いので。

でも、よく考えたらRAMは奇数/偶数別に書くことはありますが、
ROMは読み出しだけなので16bitすべてバスに乗っけちゃえば
良いんですよね。でもまぁ、intelとmotorolaでendianが
異なるので、面倒なことを考えずにbyte単位で扱ったほうが
楽なのでMPUテストrtlは奇数と偶数でROMを分けることにします。

まずはこれでMC68kのお勉強をしないと。16bit以上のプロセッサの
ハードは扱ったことが無いですから。
アドレスバスのLSB 1bitが浮くのがどうも気持ちが悪い。。。
posted by プー at 13:50| Comment(2) | 雑記 | 更新情報をチェックする

広告


この広告は60日以上更新がないブログに表示がされております。

以下のいずれかの方法で非表示にすることが可能です。

・記事の投稿、編集をおこなう
・マイブログの【設定】 > 【広告設定】 より、「60日間更新が無い場合」 の 「広告を表示しない」にチェックを入れて保存する。