Advertisement · 728 × 90

Posts by tako2

80mk2 の SD ドライブを使って、文字列を渡すと elisa フォントのビットマップを返すようにしたら、日本語表示いけるな

4 months ago 3 0 0 0

80mk2 用に何かゲーム作らないとな

4 months ago 6 0 0 0
Video

開発中の FPGA 版 80mk2 エミュ、ビープ音も HDMI に出力しているので自分の環境でもキャプチャできるのではとやってみた

4 months ago 10 3 0 0

ありがとうございます!
ChatGPT に Oh!PC の話を振ってみたら見つけてくれました
Oh!PC の 1984 年 7 月号っぽいです

4 months ago 0 0 0 0

Oh!PC ありましたね!
すっかり失念してましたが、確かにたまに買ったりしてました
AI に聞いてみたら I/O かポプコムかと言われました^^;

4 months ago 0 0 1 0

いいですね、あれ
教えてもらった鳴らせ方ですが、8001 でこのような効果音を出せるとはと最初聞いたとき感動しました

4 months ago 2 0 0 0
Video

やっと実機からHDMIに出力できる環境ができたので、 @tako-two.bsky.social さんのBosconia(N)のプレイの様子を録画してみた

素晴らしい…

4 months ago 7 1 1 0
Advertisement

ビープ音まで撮れるのは良いですね!

4 months ago 2 0 1 0

84年から85年の記事だったと思うけど、80mk2のタイルペイントのプログラムもリベンジしておかないとな

4 months ago 3 0 1 0
Post image

使わないんだけど、つい作ってしまうグリーンモニターモード

4 months ago 7 0 0 0

Verilog を初めていじったときは、値がレジスタにラッチされるのが 1 クロック遅れになるのを前提にする設計に苦労したり、そもそもいきなり異なるクロック間でデータをやり取りしたりでハマったけど、だいぶ慣れてきた

4 months ago 0 0 0 0
Post image

アトリビュート見直してスターファイヤーもちゃんと動くようになった

4 months ago 8 0 0 0

あと、画面の見た目が実機と変わらないので、ウォーターマークでも入れるとか

5 months ago 1 0 0 0

SD カードの制御にサブの Z80 を載せてるけど、メモリが 8KB しか余ってなくて FatFS の簡易版しか載らず、データのセーブを省略してるんだった
SDRAM にメイン RAM を逃がしたので、サブ側のメモリを増やしてフル版の FatFS 使ってセーブできるようにしようか

5 months ago 0 0 0 0

結局 /M1 だけじゃ取りこぼすようなので、/M1 と /IORQ 両方がアクティブになるまで /INT を出しておかないとダメだった
それか、タイムアウト的に何クロック経過したら /INT を取り下げるでもいいのかも

5 months ago 1 0 0 0

対応した割り込みは VBLANK だけだけど、600Hz のほうはどうしようか

5 months ago 1 0 0 0

次回の 80mk2 会は実機と FPGA エミュの 2 台体制でいけるな

5 months ago 3 0 0 0
Advertisement
Post image

割り込みもいい感じに動くようになって、背景の星も滑らかに流れるようになった

5 months ago 5 0 1 0

/INT を 1 クロック分しか出してないから、取りこぼしてるのかも
いつまで上げておくかが問題だけど、Acknowledge まで待つにしても、CPU が割り込み禁止にしてたら上げっぱなしになりかねないし
/M1 までなら、次の命令が実行されてるのがわかるから、下げても大丈夫なのか

5 months ago 2 0 1 0

ギャラガの前のバージョンだと動作したけど、星の動きがノロノロ
VBLANK じたいちゃんと出てるかも怪しいな

5 months ago 0 0 1 0

もう少し読み進めてみると、割り込みテーブルのアドレスを PC にセットした後に PC から命令を読み込むような感じでジャンプ先を読み込んでジャンプしてた

5 months ago 0 0 1 0

TV80 のコアのソースコードに目を通して、IM2 のときの実装を確認してみる
複雑なのでそれとなくだけど、IM2 のコードは存在して、I レジスタとデータバスから入力した割り込みベクタを拾うところは確認できたけど、そのままジャンプしているような気もするし、どうなのか

5 months ago 0 0 1 0

一応ちゃんと実装できたと思うんだけど反応がない
バスに載せる割り込みベクタはそのままジャンプテーブルのアドレスに用いられるので、2バイト単位にしないといけなくて INT1 なら 0x02 にするところを 1 のままにしたとき out &hE6,2 したときに VBLANK に合わせて挙動がおかしくなったので割り込みはかかるみたいだけど、何が足りないんだか

5 months ago 0 0 1 0

I/O ポートの 0xE4 と 0xE6 を使うっぽいけど、機能がよくわからんな
ギャラガでは 0xE4 に 7 をセットして、0xE6 に 0b00000010 をセットするようにしてようやく動くようになったし

5 months ago 0 0 1 0

データバスの割り込みレベルを出すタイミングは Z80 が割り込みに対してアクノレッジを返す時点だけど、M1 と IORQ が同時にアクティブになるからそのタイミングでいい感じか
80mk2 固有のことを聞くと頼りないけど、一般的な話だと AI との会話は役に立つな

5 months ago 0 0 1 0
Advertisement

AI は 8259A だと言ってるけど、調べたら Intel の 8214 互換に IC っぽい
推測するに、/INT をアサートするタイミングでデータバスに割り込みの優先度を出力する感じかな

5 months ago 0 0 1 0

Z80の割り込みの仕組みから見直さないと、よくわからんな
/INTで割り込みがかかるにしても、割り込み要因をどうやって取り込んでるのか等
外部にコントローラーつけてるって話も耳にしてるし

5 months ago 1 0 1 0

あと、ギャラガが割り込みを使ってるから、割り込みコントローラーまわりを実装すればだいたい欲しいものがそろうかな

5 months ago 0 0 0 0

確かに、実機で出たら泣きますねw

5 months ago 2 0 0 0
Post image

80mk2用に作ったゲームがバッチリ動くようになった
表示中のウェイトがないからパックマンとかめちゃくちゃ速いけど

5 months ago 8 0 0 0