Sign in

tako2

@tako-two.bsky.social
68 followers 40 following 179 posts

PC-8001 ゲーム開発 www.youtube.com/@takotwo209

PostsRepliesMedia
tako2 @tako-two.bsky.social · 04/12/2025
80mk2 の SD ドライブを使って、文字列を渡すと elisa フォントのビットマップを返すようにしたら、日本語表示いけるな
030
tako2 @tako-two.bsky.social · 30/11/2025
80mk2 用に何かゲーム作らないとな
060
tako2 @tako-two.bsky.social · 25/11/2025
開発中の FPGA 版 80mk2 エミュ、ビープ音も HDMI に出力しているので自分の環境でもキャプチャできるのではとやってみた
0103
tako2 @tako-two.bsky.social · 24/11/2025
ありがとうございます! ChatGPT に Oh!PC の話を振ってみたら見つけてくれました Oh!PC の 1984 年 7 月号っぽいです
000
tako2 @tako-two.bsky.social · 24/11/2025
Oh!PC ありましたね! すっかり失念してましたが、確かにたまに買ったりしてました AI に聞いてみたら I/O かポプコムかと言われました^^;
100
tako2 @tako-two.bsky.social · 24/11/2025
いいですね、あれ 教えてもらった鳴らせ方ですが、8001 でこのような効果音を出せるとはと最初聞いたとき感動しました
020
Reposted by tako2
ナンコツ @yagennankoz.bsky.social · 24/11/2025
やっと実機からHDMIに出力できる環境ができたので、 @tako-two.bsky.social さんのBosconia(N)のプレイの様子を録画してみた 素晴らしい…
171
tako2 @tako-two.bsky.social · 24/11/2025
ビープ音まで撮れるのは良いですね!
120
tako2 @tako-two.bsky.social · 24/11/2025
84年から85年の記事だったと思うけど、80mk2のタイルペイントのプログラムもリベンジしておかないとな
130
tako2 @tako-two.bsky.social · 23/11/2025
使わないんだけど、つい作ってしまうグリーンモニターモード
080
tako2 @tako-two.bsky.social · 22/11/2025
Verilog を初めていじったときは、値がレジスタにラッチされるのが 1 クロック遅れになるのを前提にする設計に苦労したり、そもそもいきなり異なるクロック間でデータをやり取りしたりでハマったけど、だいぶ慣れてきた
000
tako2 @tako-two.bsky.social · 22/11/2025
アトリビュート見直してスターファイヤーもちゃんと動くようになった
080
tako2 @tako-two.bsky.social · 21/11/2025
あと、画面の見た目が実機と変わらないので、ウォーターマークでも入れるとか
010
tako2 @tako-two.bsky.social · 21/11/2025
SD カードの制御にサブの Z80 を載せてるけど、メモリが 8KB しか余ってなくて FatFS の簡易版しか載らず、データのセーブを省略してるんだった SDRAM にメイン RAM を逃がしたので、サブ側のメモリを増やしてフル版の FatFS 使ってセーブできるようにしようか
000
tako2 @tako-two.bsky.social · 21/11/2025
結局 /M1 だけじゃ取りこぼすようなので、/M1 と /IORQ 両方がアクティブになるまで /INT を出しておかないとダメだった それか、タイムアウト的に何クロック経過したら /INT を取り下げるでもいいのかも
010
tako2 @tako-two.bsky.social · 21/11/2025
対応した割り込みは VBLANK だけだけど、600Hz のほうはどうしようか
010
tako2 @tako-two.bsky.social · 21/11/2025
次回の 80mk2 会は実機と FPGA エミュの 2 台体制でいけるな
030
tako2 @tako-two.bsky.social · 21/11/2025
割り込みもいい感じに動くようになって、背景の星も滑らかに流れるようになった
150
tako2 @tako-two.bsky.social · 21/11/2025
/INT を 1 クロック分しか出してないから、取りこぼしてるのかも いつまで上げておくかが問題だけど、Acknowledge まで待つにしても、CPU が割り込み禁止にしてたら上げっぱなしになりかねないし /M1 までなら、次の命令が実行されてるのがわかるから、下げても大丈夫なのか
120
tako2 @tako-two.bsky.social · 20/11/2025
ギャラガの前のバージョンだと動作したけど、星の動きがノロノロ VBLANK じたいちゃんと出てるかも怪しいな
100
tako2 @tako-two.bsky.social · 20/11/2025
もう少し読み進めてみると、割り込みテーブルのアドレスを PC にセットした後に PC から命令を読み込むような感じでジャンプ先を読み込んでジャンプしてた
100
tako2 @tako-two.bsky.social · 20/11/2025
TV80 のコアのソースコードに目を通して、IM2 のときの実装を確認してみる 複雑なのでそれとなくだけど、IM2 のコードは存在して、I レジスタとデータバスから入力した割り込みベクタを拾うところは確認できたけど、そのままジャンプしているような気もするし、どうなのか
100
tako2 @tako-two.bsky.social · 20/11/2025
一応ちゃんと実装できたと思うんだけど反応がない バスに載せる割り込みベクタはそのままジャンプテーブルのアドレスに用いられるので、2バイト単位にしないといけなくて INT1 なら 0x02 にするところを 1 のままにしたとき out &hE6,2 したときに VBLANK に合わせて挙動がおかしくなったので割り込みはかかるみたいだけど、何が足りないんだか
100
tako2 @tako-two.bsky.social · 20/11/2025
I/O ポートの 0xE4 と 0xE6 を使うっぽいけど、機能がよくわからんな ギャラガでは 0xE4 に 7 をセットして、0xE6 に 0b00000010 をセットするようにしてようやく動くようになったし
100
tako2 @tako-two.bsky.social · 20/11/2025
データバスの割り込みレベルを出すタイミングは Z80 が割り込みに対してアクノレッジを返す時点だけど、M1 と IORQ が同時にアクティブになるからそのタイミングでいい感じか 80mk2 固有のことを聞くと頼りないけど、一般的な話だと AI との会話は役に立つな
100
tako2 @tako-two.bsky.social · 20/11/2025
AI は 8259A だと言ってるけど、調べたら Intel の 8214 互換に IC っぽい 推測するに、/INT をアサートするタイミングでデータバスに割り込みの優先度を出力する感じかな
100
tako2 @tako-two.bsky.social · 20/11/2025
Z80の割り込みの仕組みから見直さないと、よくわからんな /INTで割り込みがかかるにしても、割り込み要因をどうやって取り込んでるのか等 外部にコントローラーつけてるって話も耳にしてるし
110
tako2 @tako-two.bsky.social · 19/11/2025
あと、ギャラガが割り込みを使ってるから、割り込みコントローラーまわりを実装すればだいたい欲しいものがそろうかな
000
tako2 @tako-two.bsky.social · 19/11/2025
確かに、実機で出たら泣きますねw
020
tako2 @tako-two.bsky.social · 19/11/2025
80mk2用に作ったゲームがバッチリ動くようになった 表示中のウェイトがないからパックマンとかめちゃくちゃ速いけど
080
tako2 @tako-two.bsky.social · 19/11/2025
GVRAMのデータが1クロック遅れで出てくるので、表示に乱れはあるけど、まあまあ動くようになってきた
040
tako2 @tako-two.bsky.social · 19/11/2025
とりあえずGVRAMのビットを赤プレーンに出力するようにしてみたけど、このノイズがようわからん
030
tako2 @tako-two.bsky.social · 19/11/2025
とりあえず80mk2のROMは動いた
070
tako2 @tako-two.bsky.social · 18/11/2025
SDRAMの仕様とか、NotebookLM使えば良かったか
010
tako2 @tako-two.bsky.social · 18/11/2025
30分くらいゲームで遊んでも暴走しなかったし、これで次のステップに進める
030
tako2 @tako-two.bsky.social · 18/11/2025
SDRAM の初期化が終るまでリセットを待たせるようなコードを入れたせいだった メイン RAM を全部 SDRAM に置き換えても TM のメモリチェックが通ったので、多分大丈夫そうでよかった
110
tako2 @tako-two.bsky.social · 18/11/2025
問題ありでリセットかかりまくるから、うまく動かないところがあるのか・・
110
tako2 @tako-two.bsky.social · 18/11/2025
うまくいかなかったときにも TM を実行したんですが、その時はビープ音が鳴りっぱなしになりました なんとなく違和感があったんですが、カラーになっていますね
000
tako2 @tako-two.bsky.social · 18/11/2025
確かに動作が怪しいときにも TM を実行してみたんですが、ビープ音が鳴りっぱなしになりました!
120
tako2 @tako-two.bsky.social · 18/11/2025
とりあえず、READ 時は DQ を遅延して読み込んで、WRITE 時は早めに DQ に書き出す感じでなんとなくうまく動いている気がする RAM の一部を SDRAM に置き換えてるだけなので、これを 64KB にして問題なければ、いよいよ 80mk2 の GVRAM の実装か
110
tako2 @tako-two.bsky.social · 18/11/2025
TMを実行することになろうとは 数分後にリセットして起動画面になったけど、これでメモリテストOKなんかな
320
tako2 @tako-two.bsky.social · 18/11/2025
READ/WRITE/REFRESH でそれぞれ 4 クロックでシーケンスが完了するので、32MHz だと 8MHz ぐらいで命令を受けつけるイメージなので、4MHz の CPU からの READ/WRITE があったタイミングで REFRESH していても、REFRESH が完了するのを待って READ/WRITE しても間に合う寸法 32MHz よりクロックを落とすと READ/WRITE のシーケンスが間に合わないタイミングが出てくるので、なんとか 32MHz で動いてもらわないと
010
tako2 @tako-two.bsky.social · 18/11/2025
32MHz にしたら、読み書きできるようになった! ただ、まだたまに WRITE に失敗するので、もう少しタイミング的なところが残ってそう
120
tako2 @tako-two.bsky.social · 18/11/2025
SDRAM のクロックに 66.7MHz を使おうとしてたけど、AI に相談してみると結構シビアらしい
120
tako2 @tako-two.bsky.social · 17/11/2025
理解度はあがったけど進展なし・・ たいした信号制御じゃないのに、動きが見えないから辛い
110
tako2 @tako-two.bsky.social · 17/11/2025
RAMの一部をSDRAMにマッピングしてみるも、データ化けするし リードするたびに値が変わるから、リードサイクル間違ってんのかな
120
tako2 @tako-two.bsky.social · 17/11/2025
80mk2 のグラフィック RAM を SDRAM で実装しようとすると、バースト長が 1 じゃ間に合わないから、Block RAM 使わなあかんのか・・
010
tako2 @tako-two.bsky.social · 17/11/2025
コード見直してるけど、auto refresh の後に待ちを入れてなかったり、いろいろおかしいところはあった
110
tako2 @tako-two.bsky.social · 16/11/2025
Tang Console 138K なら SDRAM なしに 80mk2 を実装できるけど今買える額じゃないし、SDRAM に再挑戦してみるということで
120
tako2 @tako-two.bsky.social · 16/11/2025
アトリビュート数を20から8に限定したバージョンのボスコニアNも画面が乱れることなく動いたし、これでヨシとしよう
092