tako2
banner
tako-two.bsky.social
tako2
@tako-two.bsky.social
ありがとうございます!
ChatGPT に Oh!PC の話を振ってみたら見つけてくれました
Oh!PC の 1984 年 7 月号っぽいです
November 24, 2025 at 10:14 AM
Oh!PC ありましたね!
すっかり失念してましたが、確かにたまに買ったりしてました
AI に聞いてみたら I/O かポプコムかと言われました^^;
November 24, 2025 at 9:58 AM
いいですね、あれ
教えてもらった鳴らせ方ですが、8001 でこのような効果音を出せるとはと最初聞いたとき感動しました
November 24, 2025 at 9:55 AM
ビープ音まで撮れるのは良いですね!
November 24, 2025 at 8:47 AM
結局 /M1 だけじゃ取りこぼすようなので、/M1 と /IORQ 両方がアクティブになるまで /INT を出しておかないとダメだった
それか、タイムアウト的に何クロック経過したら /INT を取り下げるでもいいのかも
November 21, 2025 at 5:47 AM
次回の 80mk2 会は実機と FPGA エミュの 2 台体制でいけるな
November 21, 2025 at 4:45 AM
/INT を 1 クロック分しか出してないから、取りこぼしてるのかも
いつまで上げておくかが問題だけど、Acknowledge まで待つにしても、CPU が割り込み禁止にしてたら上げっぱなしになりかねないし
/M1 までなら、次の命令が実行されてるのがわかるから、下げても大丈夫なのか
November 21, 2025 at 12:51 AM
ギャラガの前のバージョンだと動作したけど、星の動きがノロノロ
VBLANK じたいちゃんと出てるかも怪しいな
November 20, 2025 at 2:12 PM
もう少し読み進めてみると、割り込みテーブルのアドレスを PC にセットした後に PC から命令を読み込むような感じでジャンプ先を読み込んでジャンプしてた
November 20, 2025 at 1:26 PM
TV80 のコアのソースコードに目を通して、IM2 のときの実装を確認してみる
複雑なのでそれとなくだけど、IM2 のコードは存在して、I レジスタとデータバスから入力した割り込みベクタを拾うところは確認できたけど、そのままジャンプしているような気もするし、どうなのか
November 20, 2025 at 1:02 PM
一応ちゃんと実装できたと思うんだけど反応がない
バスに載せる割り込みベクタはそのままジャンプテーブルのアドレスに用いられるので、2バイト単位にしないといけなくて INT1 なら 0x02 にするところを 1 のままにしたとき out &hE6,2 したときに VBLANK に合わせて挙動がおかしくなったので割り込みはかかるみたいだけど、何が足りないんだか
November 20, 2025 at 12:13 PM
I/O ポートの 0xE4 と 0xE6 を使うっぽいけど、機能がよくわからんな
ギャラガでは 0xE4 に 7 をセットして、0xE6 に 0b00000010 をセットするようにしてようやく動くようになったし
November 20, 2025 at 7:49 AM
データバスの割り込みレベルを出すタイミングは Z80 が割り込みに対してアクノレッジを返す時点だけど、M1 と IORQ が同時にアクティブになるからそのタイミングでいい感じか
80mk2 固有のことを聞くと頼りないけど、一般的な話だと AI との会話は役に立つな
November 20, 2025 at 6:27 AM
AI は 8259A だと言ってるけど、調べたら Intel の 8214 互換に IC っぽい
推測するに、/INT をアサートするタイミングでデータバスに割り込みの優先度を出力する感じかな
November 20, 2025 at 4:44 AM