5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

♪日立ベーシックマスターレベル3FPGAレプリカ開発記

1 :はいたっち ◆8C2CC4zleY :2008/07/06(日) 00:03:09
ついに、レベル3のFPGAレプリカから音が出ました!
あのビープ音を完璧に再現。

まだ、ビデオ表示やキーボード入力はできていません。
キーボード回路は適当につくりましたが、やはりダメなようです。

どうやって、ビープ音を出したかというと、
ディップスイッチの1をOpenにすると、レベル3ベーシックがターミナルモードで起動し
機器が接続されていないと、Device I/O Errorとなり、そのときにビープ音がなるのです。

ということで、レベル3全回路図をやっと入手できたので(Thanks 工学社)、キーボードマトリクス回路と
IRQ発生シーケンスを解析中。 なるほど。H-Syncがキーボードスキャンカウンターのクロックか・・

この回路図誤植だらけで怪しいんだけどね。

さきに、CRTC実装しておいてよかった・・ FIRQシグナル無いとあの濁った独特のビープ音でないじゃんw

まあ、ビープ音がでたということは、CRTC、CPU、ROM、RAM、I/Oレジスタが正しく動作していないと
だめなので、一通りの動作は確認できた。

レベル3の回路図だとちゃんとサウンド出力にローパスフィルタはいってるけどFPGAの出力に
圧電ブザー直結すると似たような音ちゃんと出るわw

つぎに、キーボード入力をなんとかせねば・・ Video表示はその後。


2 :はいたっち ◆8C2CC4zleY :2008/07/06(日) 00:18:26
キーボード関連の複製をやり始めたところで、
CAPSLOCK、KANA、HIRAのLEDを実装完了。

このLEDは アドレスFFE0のI/Oレジスタにマッピングされている。
MPUのE(バスリクエスト)、VMA、R/W、アドレスデコーダを組み合わせて、
LEDのレジスタへ配線した。

Level3の電源を投入すると、CAPSLOCKのLEDが点灯し、BASICが起動すると
LEDが消灯するのが実機の動作。それを期待して、FPGAの電源を入れたが
消灯→Level3ベーシック起動→点灯 となってしまう。どうやら論理が逆に
なっているようだ。 すかさず本日入手したレベル3回路図を見ると
KANA、HIRAのLEDはトランジスタのエミッタ側に実装されているが、
CAPSLOCKのLEDは、74LS174の出力にダイレクトにつながってるじゃん・・
通りで論理が逆になるわけだ。

レジスタの出力にNotを追加して、正常動作OK。

そういえば、昔のキーボードってCAPSLOCKを押すと小文字になってたな。
今と逆ですね。小文字を多用する外国人の影響を受けたのかも。

本日は、サウンド出力、CRTCの実装といい大きな進捗があった一日でしたw


3 :ナイコンさん:2008/07/06(日) 00:23:30
BASIC立ち上がったら画面うp汁

4 :はいたっち ◆8C2CC4zleY :2008/07/06(日) 00:27:03
現在の課題。

・PS2キーボード→L3キーボードマトリクス変換回路、NMI、IRQ回路。
・CRTC HD46505SPのVerilogソースを発見したが、インターレースモードや
ライトペン(これは不要か)に非対応。CRTCデータレジスタ読み出しに対応していない模様。
自分で、つくるか高価なIPコアを買うしかないか。
・CGROMと、L3-BASICROM用のインターリーブ読み出し回路。
(高速なROMなので、1個にCG-ROM、漢字ROM、BASIC-ROMをまとめて入れて、交互に読み出す仕組みの開発)
・オシレータが50MHzなので、ACIA、CRTC、CPU、インターリーブ回路へのクロック供給をどうするか検討。


5 :ナイコンさん:2008/07/06(日) 11:17:23
以後放置

6 :ナイコンさん:2008/07/06(日) 14:11:25
面白いなぁ。
画像アップ希望。


7 :ナイコンさん:2008/07/06(日) 15:17:15
>>1
ベーシックマスターLEVEL3そのものを話題にしたいというのであればベーシックマスタースレと重複だし
開発状況の公開をしたいのであれば目的が閉鎖的すぎる
板の趣旨からすればこのスレは削除対象になるでしょう

他の人も放置するべきです

8 :ナイコンさん:2008/07/06(日) 15:42:35
>>7
また馬鹿がここにもいるよ。
他人のごみだしを監視する更年期のオバチャンみたいな悲しい奴、なw

じゃあ聞くがそれは何のため?
誰にとってのいかなる利益を守るため?
あるいはどんな損失を防ぐためだ?

ぜひ説明してみてくれよ。

お前さんのその他人にケチをつけることに生きがいを感じる下卑た出歯亀根性
満たすため、以外のものでな。

9 :ナイコンさん:2008/07/06(日) 15:53:06
>>8
また馬鹿がここにもいるよ。
他人のごみだしを監視する更年期のオバチャンみたいな悲しい奴、なw

じゃあ聞くがそれは何のため?
誰にとってのいかなる利益を守るため?
あるいはどんな損失を防ぐためだ?

ぜひ説明してみてくれよ。

お前さんのその他人にケチをつけることに生きがいを感じる下卑た出歯亀根性
満たすため、以外のものでな。

10 :ナイコンさん:2008/07/06(日) 17:08:32
まがいものに価値はない

11 :i219-164-191-28.s02.a008.ap.plala.or.jp:2008/07/06(日) 20:02:54
このスレ消え去れ

12 :i219-164-191-28.s02.a008.ap.plala.or.jp:2008/07/06(日) 20:31:02
神よ、私は美しい

13 :ナイコンさん:2008/07/06(日) 20:32:51
このスレに限った事じゃないが

興味ないヤツはこなければいい。
興味あるヤツは、くればいい。

それで誰もこなくてDAT落ちしたら
そこでそのスレは終わり。

ゴチャゴチャ書き込むと保守してる事になっちゃうから
いらんスレだと思うなら静かにここから去ろう。

オレも去る。ばいちゃ。

14 :219.164.191.28:2008/07/06(日) 20:35:55
うるせーインポ野郎

15 :ナイコンさん:2008/07/06(日) 20:36:52
過疎板なんだから話題があるだけでも有難いという発想をしてもいいと思う。

16 :ナイコンさん:2008/07/06(日) 20:36:58
茨城県に核ミサイルが落ちることを祈っています

17 :ナイコンさん:2008/07/06(日) 20:45:21
なんでこれが昔のPCやねん
市販でもないし個人的なもんでしょ

18 :ナイコンさん:2008/07/06(日) 20:55:52
地鎮祭開催中

19 :ナイコンさん:2008/07/06(日) 21:01:48
>>17
そう思うなら無視すりゃいいじゃん。
相手してたら削除依頼も通らないし、スレ落ちもなくなるぜw

20 :ナイコンさん:2008/07/06(日) 21:17:45
お、盛り上がってるね。

21 :ナイコンさん:2008/07/06(日) 21:30:23
対象がレベル3だから板的にはOKとして、
このままでは個人的な報告のスレになってしまうので

レベル3に欲しかった機能は?
言えば誰かがFPGA化で実現してくれるかもしれないスレ。

ということでどうだ?

22 :ナイコンさん:2008/07/06(日) 21:36:37
FPGA作るぐらいの労力注ぎ込むんなら別に私的利用でもいいよ

23 :ナイコンさん:2008/07/06(日) 21:38:14
まあ要望ぐらいは出すかも

24 :ナイコンさん:2008/07/06(日) 21:52:54
板違いとは思わないが、尻すぼみで立ち消えになりそうな予感。


25 :ナイコンさん:2008/07/06(日) 21:53:54
>>21
自演すんなよ。
つうか文体変えれよ。

26 :ナイコンさん:2008/07/06(日) 22:57:04
非常に面白そう・・・と思って覗いたのに
悲しい流れになって居るなぁ

27 :ナイコンさん:2008/07/06(日) 23:00:45
>>26
はじめはこのくらいの方が落ちなくていいよ

28 :ナイコンさん:2008/07/06(日) 23:11:44
>>25
自演の意味もわかっていない妄想狂がいるようですね

29 :ナイコンさん:2008/07/06(日) 23:27:23
図星かよ

30 :ナイコンさん:2008/07/06(日) 23:32:16
意味不明。知的障害者の方ですか?

31 :21:2008/07/06(日) 23:32:41
>>25
まあ、どうでも良いけど。文体似てる?


32 :ナイコンさん:2008/07/06(日) 23:36:45
妄想狂に何を言っても無駄w

33 :ナイコンさん:2008/07/06(日) 23:45:36
図星かよ

34 :ナイコンさん:2008/07/06(日) 23:50:01
図星かよ

35 :ナイコンさん:2008/07/06(日) 23:52:37
図星かよ

36 :ナイコンさん:2008/07/06(日) 23:53:50
図星かよ

37 :ナイコンさん:2008/07/07(月) 00:01:09
図星かよ

38 :はいたっち ◆8C2CC4zleY :2008/07/07(月) 00:02:51
ふー、L3のFPGAレプリカ作るのって楽しいですねー♪

CRTCを実装したところで、欲が出てきてH-SYNCとV-SYNCだけ出力して、

液晶モニタに接続してみた。 すると液晶モニタの画面に無残な文字が

"OUT OF RANGE H:15.6KHz V:59Hz SEE USER'S MANUAL"

そうなんです。現代のモニタでは、200ライン時代の15.6KHzの映像は映らんのです。

まあ、CRTCがちゃんとSYNCシグナル吐き出してる=L3BASICがきちんとCRTCのレジスタに書き込んでいる

ということがわかったので、よかったか。

それと思わぬ収穫が・・、なんとディップスイッチを切り替えてWIDTH 40のモードでFPGAを起動すると、

VSYNCが30Hzになってる!? 回路図を確認すると、なんとFFD0のWレジスタの値によって

CRTCのクロックを切り替えているではないか。 なるほどということで、 FFD0のI/Oレジスタを実装。


39 :ナイコンさん:2008/07/07(月) 00:06:11
新しい話題なんてもう何年もないんだし、こういう新しいネタを提供してくれることには素直に感謝してもいいと思うよ

40 :ナイコンさん:2008/07/07(月) 00:10:25
おっと、自演してしまいました。

41 :ナイコンさん:2008/07/07(月) 00:14:20
>>40
お前はただ、自演と言いたいだけだろw

42 :ナイコンさん:2008/07/07(月) 00:14:30
ドット単位に色がつけられるようにしてくれ。
ただし、レベル3なんだからアトリビュートをうまく使うかたちで。
もちろんアッパーコンパチで。

43 :ナイコンさん:2008/07/07(月) 00:15:24
いいですよ。

44 :ナイコンさん:2008/07/07(月) 00:17:14
そうですね

45 :はいたっち ◆8C2CC4zleY :2008/07/07(月) 00:22:16
>>42
まずは、コンパチのつくるので好きなように拡張してください。
ちなみに、このFPGA(XILINX SPARTAN 3E-500 にはもうRAMは入りきらないので高価なFPGA使うか、
外付けのDDR-SDRAMを使ってくださいね。wwwww


46 :ナイコンさん:2008/07/07(月) 00:26:42
うぜぇよ

47 :ナイコンさん:2008/07/07(月) 00:28:47
>>46
じゃあ見なきゃいいじゃん。本物の馬鹿ですか?

48 :ナイコンさん:2008/07/07(月) 00:34:25
うぜぇよ

49 :ナイコンさん:2008/07/07(月) 00:52:59
>>48
じゃあ見なきゃいいじゃん。本物の馬鹿ですか?

50 :ナイコンさん:2008/07/07(月) 00:54:26
うぜぇよ

51 :ナイコンさん:2008/07/07(月) 00:54:52
>>50
じゃあ見なきゃいいじゃん。本物の馬鹿ですか?

52 :ナイコンさん:2008/07/07(月) 01:00:40
うぜぇよ

53 :ナイコンさん:2008/07/07(月) 01:06:37
>>52
じゃあ見なきゃいいじゃん。本物の馬鹿ですか?

54 :ナイコンさん:2008/07/07(月) 01:09:45
うぜぇよ

55 :ナイコンさん:2008/07/07(月) 01:10:44
>>54
じゃあ見なきゃいいじゃん。本物の馬鹿ですか?

56 :ナイコンさん:2008/07/07(月) 01:33:29
盛り上がってるね。
これなら落ちることはないかな。

57 :ナイコンさん:2008/07/07(月) 01:42:15
盛り上がってるね。
これなら落ちることはないかな。

58 :ナイコンさん:2008/07/07(月) 02:11:21
別に面白くもないのにテンションの高い書き込みご苦労様です。

59 :ナイコンさん:2008/07/07(月) 02:33:39
>>58
じゃあ見なきゃいいじゃん。本物の馬鹿ですか?

60 :ナイコンさん:2008/07/07(月) 03:29:41
おまえばかだな

61 :ナイコンさん:2008/07/07(月) 07:05:13
面白いんで雑音に惑わされずにドンドン続けて下さいよ。


62 :はいたっち ◆8C2CC4zleY :2008/07/08(火) 00:15:42
本日のレプリカ開発記

つい最近手に入ったMB-6890回路図を基に、細かい部分の見直しをしました。
I/Oレジスタと周辺回路のリセットロジックの追加。回路図を見ると、I/Oレジスタの
Dフリップフロップ(74LS74)は、リセットスイッチに連動してセット(Logic=HI)されるもの
がある。たとえば、カセットのREMOTE端子のI/Oレジスタ(IC126 HD74LS74AP)は
リセットボタン→LogicHIにセットされるようになってるので、この通りRTLで記述。

どおりで、リセットボタン押したら、データレコーダーのモーターが動くわけですね。
これってもうちょっときちんと設計すれば、モーター動かないようにできますよね。日立さん。
同じく、LEDの出力トランジスタの部品をけちらなければ、スイッチONしたとき、
CAPSLOCKのLEDが点灯しないようにできたはず。

この辺の微妙な動作も忠実に複製した。

それと、FIRQ発生回路がやっと完全にコピーできた。
FIRQ発生回路は3個のDフリップフロップを使っている模様。
この回路もTIMERMASKレジスタと合わせて、動作確認ばっちり。

TIMER回路ってワンショットタイマーだったんですね。
LEDの光具合でVSYNCに合わせてFIRQが発生すると、
L3BASICが、タイマーをリセットしているのがわかる。







63 :はいたっち ◆8C2CC4zleY :2008/07/08(火) 00:19:35
さてさて明日は、キーボードマトリクス回路の解析に入れそうだ。
この辺のクロックソースの回路は、白黒ビデオ出力の回路と
まざってて、解明するのがややこしそうだな。

64 :ナイコンさん:2008/07/08(火) 00:47:20
リモートリレーとCAPSLOCK LEDの件。
あえてそうしていると言うことに気づきませんか?

65 :ナイコンさん:2008/07/08(火) 02:05:38
低脳すぎて笑える

66 :ナイコンさん:2008/07/08(火) 07:23:17
仕様公開もとむー

67 :ナイコンさん:2008/07/08(火) 09:25:11
べーしっくますたーべーしょんれべる3

68 :はいたっち ◆8C2CC4zleY :2008/07/08(火) 23:47:40
本日のベーシックマスターレベル3レプリカ開発記

やっと、キーボードのレプリカ作製に入った。

まずは、ブレークキーの機能をFPGAに実装。
キーボードのI/Oレジスタ($FFE0)は、回路図上ではIC89(74LS174P)。
このレジスタの、NMI MASK(6Q)がブレークキーと関係してる。

どうやらブレークキーは、他のキーボードと異なり、CPUに対してダイレクトに
NMIをかける強力なキーのようだ。どおりでブレークキーにカバーがついているわけか。
ブレーキーが押下されると、フリップフロップIC99(HD74LS74AP)がセットされ、
NMI MASKレジスタでマスクされて6809MPUにNMIがかかる。

さきほど、キーボードマトリクス回路のカウンター用のクロック回路を実装した。
クロックソースが得られたので、明日はキーボードマトリクス回路の
カウンタを実装するとしよう。



69 :はいたっち ◆8C2CC4zleY :2008/07/08(火) 23:53:06
追記メモ

NMIがリセットされる条件(IC99 74LS74APクリア)は、
・リセットボタンが押されたとき。
・I/O ($FFC8) KBNMIレジスタの値をMPUがREADしたとき。




70 :ナイコンさん:2008/07/08(火) 23:57:56
ここはお前の日記帳じゃねぇんだよ、失せろ

71 :ナイコンさん:2008/07/09(水) 00:03:47
だれか運用に通報してこいよ。
そうすればプロバからお叱りメールいくんでねぇのか?

72 :ナイコンさん:2008/07/09(水) 00:17:11
71は茨城の人ですわきっと

73 :ナイコンさん:2008/07/09(水) 01:04:44
残念、ちがうよ
でもこの調子じゃこのスレも時間の問題だろうな

74 :ナイコンさん:2008/07/09(水) 01:29:17
>>70
いいえ、ここは>>1の日記帳ですよw

75 :ナイコンさん:2008/07/09(水) 01:31:38
>>73
キミみたいな奴がそうやって保守してくれる限りは、このスレは生き続けると思われ。

76 :ナイコンさん:2008/07/09(水) 09:51:52
あんまり中傷レスばかりになったらスレ主はナイコンさん全部あぼんすりゃいいよ
専ブラ使ってればだけど

77 :イコンさん:2008/07/09(水) 09:52:56
ん?

78 :ナイコンさん:2008/07/09(水) 09:53:40
・・・よほど暇なんだな

79 :ナイコソさん:2008/07/09(水) 10:02:11
え?

80 :ナイコンさん:2008/07/09(水) 11:22:35
場違いな運営板で削除の催促してるからしばらく削除されないよ。
茨城も余計なことするから。

81 :ナイコンさん:2008/07/09(水) 11:25:39
7月6日に削除依頼して3日後には催促とか
どれだけゆとりなんだよ

http://qb5.2ch.net/test/read.cgi/saku/1192456662/l50

82 :ナイコンさん:2008/07/09(水) 14:51:15
アラシの正体は茨城のおなぬマスターか

83 :ナイコンさん:2008/07/09(水) 15:14:11
なるほど荒らしが削除されないように催促したのか

84 :はいたっち ◆8C2CC4zleY :2008/07/09(水) 22:06:06
擬似キースキャン回路を実装したら、FPGAレプリカからファンクションキーを押したときの「プッ」という音や
キーを普通に押したときの「ポツポツ」という音やあの特徴的なビープ音がするようになった。

まさしくこれはレベル3だ。あの大きな筐体からこんな小さな基板に魂だけ乗り移ったようだ。
差し詰め、DNAはL3BASIC-ROMといったところか。

ただ、まだまたキーボードロジックが完全に複製できていないので、
動作がおかしい。これ以上の回路修正は、画面に表示される文字を見ながらやったほうがよさそうだな。

ということで、いよいよ画面表示回路の実装に移ることにしよう。







85 :ナイコンさん:2008/07/09(水) 22:14:39
いよいよ画面か

86 :はいたっち ◆8C2CC4zleY :2008/07/09(水) 22:16:10
映像信号回路に手をつけ始めたが、30年前のRGBモニタと今のモニタの仕様の違いが大きすぎるな。

もし、今のモニタに対応するためにスキャンコンバーターをつけてしまうと、

せっかく実装したCRTC HD46505Pの出力をつかわずに、独自に実装することになってしまう。

そういえば、HD46505Pの出力からNTSC白黒ビデオ信号を作ってやれば家庭用のテレビに映せるな。

昔のRGBビデオ出力は、そのまま擬似NTSC信号に変換しやすいような規格だったからな。
この方法だと、昔のグリーンモニタにも映せるかな。

さてさて、L3BASICを書き込んであるFlash-ROMの中に、CG-ROMもこれから書き込んでみよう。

ちょっとCGROMの中身を見たら、ひらがならしき文字が、1行ずつ交互に書き込まれてるようだ。
むむ、インターレース方式を意識したデータ構造っぽいな。


87 :ナイコンさん:2008/07/09(水) 22:24:46
>ちょっとCGROMの中身を見たら、ひらがならしき文字が、1行ずつ交互に書き込まれてるようだ。
>むむ、インターレース方式を意識したデータ構造っぽいな。
違うっつうに

88 :はいたっち ◆8C2CC4zleY :2008/07/09(水) 22:24:53
思いを膨らませていくうちに、アトリビュートRAM (カラーRAMと呼ばれている)のデータ幅が5bitと半端なので、

余っているビットに色情報を付加して、多色対応をしてみようとか思ってしまう。

インターレース方式で、30Hzごとに切り替えれは輝度の低いRGB色が表示できるな。

とか、FM音源やスプライト機能つけようとか考えるのも楽しいな。

PSGぐらいだったら、FPGAの空き領域にはいりそうだな。


89 :ナイコンさん:2008/07/10(木) 00:22:01
PSGカード機能対応のソフトは結構あったと思う。
付けると価値が高くなる。

90 :ナイコンさん:2008/07/10(木) 12:10:33
はいたっち ◆8C2CC4zleY =茨城
で自作自演で削除依頼と妨害したんじゃないの?

91 :ナイコンさん:2008/07/10(木) 17:53:36
FPGA機が完成したら、ヤフオクでバカ売れやね☆

92 :ナイコンさん:2008/07/10(木) 21:58:15
そろそろ今日も >>1 がおなにぃしにくる頃だな

93 :ナイコンさん:2008/07/10(木) 22:13:44
わくわく

94 :ナイコンさん:2008/07/10(木) 22:55:54
ねぇまだなの?

95 :ナイコンさん:2008/07/11(金) 18:02:57
レベル3て中間色は表示できなかったけ?
後期モデルでも

96 :ナイコンさん:2008/07/11(金) 18:29:29
>>95
できねぇよ
それとスレと関係ない話するな

97 :ナイコンさん:2008/07/11(金) 22:00:47
今日は来るかな。わくわく。

98 :はいたっち ◆8C2CC4zleY :2008/07/12(土) 00:28:57
画像表示回路を設計しつつ、回路図をみていたら、CPUのすぐそばに
TRACE回路を発見。さっそくFPGAに実装してみたら、L3BASICが起動しなくなるトラブルあり。
Level3のTRACE回路は、一定の命令サイクル後にMPUに対してNMIをかけるというもの。
Level3はI/Oレジスタやその周辺回路に非同期セット、リセットや
ゲートの出力をクロックのソースにしていたりとなかなかFPGA化しづらい回路になっている。

結局TRACE回路は、非同期回路は、リセットのみで、他はクロック同期型回路に変更して実装。
微妙に実機と動作が異なるかも。レプリカが完成したらテストプログラムを走らせて見よう。

なかなか忙しく時間がとれないが、週末も来た事だし没頭できそうか。


99 :ナイコンさん:2008/07/12(土) 01:17:36
トレース回路ナツカシス
完全に存在そのものを忘れてた

100 :ナイコンさん:2008/07/12(土) 17:20:00
>>98
まだ画面も映ってないんだろ?
トレースなんてごく一部のデバッガでしか使ってないというのに
なんでそんなものが気になるんだよ

101 :ナイコンさん:2008/07/12(土) 18:25:34
計画性が無いから。
楽なところ、自分の興味のあるところから実装してるだけでしょ。

まあ趣味でやってるんだろうから好きにやればいいんだけど。

102 :ナイコンさん:2008/07/13(日) 02:41:06
計画性なんて要らんわ。


103 :ナイコンさん:2008/07/13(日) 23:08:55
土日の成果報告は〜?

104 :はいたっち ◆8C2CC4zleY :2008/07/14(月) 23:21:21
週末〜今日のベーシックマスタレベル3 FPGAレプリカ開発記

・非同期回路をクロック同期回路に変更(FIRQ、NMI)。これでかなり安定。

・CPU、RAM、ROMのバスタイミング設計。ビデオ回路を後述するVGA規格に準拠
・設計では、MPUのクロックを1M、2M、3Mに切り替え化。
メモリクロック MPUのクロック+ 90度シフト、VGAのドットクロック=25MHz

VIDEOの規格は、640 x 480 (縦は400ラインのみ表示) H=31.5KHz V=59.997Hz
他にも 640 x 200 70Hz (DOSモード)という選択肢があったが、レベル3はFIRQ割り込みで
VSYNCを使っているので、70Hzは実機とあわないのでやめた。
表示は、縦が若干縮んで表示されることになるだろう。

このビデオ回路のMPU/RAM/ROMのバスタイミングの設計は、ROMをL3BASICとCGROMで共有しており、
さらに、VRAMとメインメモリが共有、そして、VGAのビデオ回路のクロック(25MHz)ともタイミングを合わせなければ
ならないので、かなり練りに練って設計。ROMとRAMの2倍インターリーブと、VGAとのタイミング同期は
設計上はOK。



105 :はいたっち ◆8C2CC4zleY :2008/07/14(月) 23:23:25

ためしに、CRTCを使わずに独自のビデオ回路出力(HSYNC、VSYNCのみ)をVGAモニタに接続したところ、
きちんと認識された。とりあえずテストパターンは表示OK。

明日以降は、RAMとVRAMのアドレスバス、データバスにバスタイミング回路を接続。

そして、キャラクタ、グラフィックジェネレータを開発。

世界初のベーシックマスターレベル3の、ハードウェアクローン誕生なるか?

106 :ナイコンさん:2008/07/15(火) 00:22:23
更新乙。
生活に支障の出ない範囲でがむばりませう。

107 :はいたっち ◆8C2CC4zleY :2008/07/16(水) 23:42:50
引き続きビデオ回路を実装中。

ここでトラブルが。なんとCG-ROMを格納していたフラッシュROMのアクセス速度が125nSであることが判明。
劇遅。これでは、キャラクタROMを格納して、L3BASICとVGA回路とで共有するにはスペック不足。
FPGAのRAM領域は全部使い切ってあるが、分散RAMエリアならば、4KバイトのキャラクタROMが入りそうだということで
実装してみたら、今入った。
CGROMの構造と、VRAMのアドレス割り当て、ハイレゾ・ローレゾモード時のグラフィック、キャラクタの
格納方式の解析終了。

ひとつだけ謎なのが、カラーRAMはCPUから読み出しできるのか?ということ。
もちろん出来るんだろうな。実機ではグラフィックを描画して、スクロールしたとき
グラフィックとテキストが同時にスクロールしてたもんなあ。
では、どうやってカラーRAMの内容を読み出してる?
CPUを介さずに、ビデオRAMを読み出したら自動的にカラーRAMの内容もコピーされる?
ためしに、BASICでテストコードを書いてみたら、カラーRAMの内容は読み出せなかった。

108 :はいたっち ◆8C2CC4zleY :2008/07/16(水) 23:45:32
ビデオ出力回路に工夫をしてみた。 液晶モニタは、縦400ラインの映像は自動調整できないらしい。
ためしに、上下にダミーの青い暗色のバーを入れてみたら自動調整OK。
まるでMSXのような画面になってしまった。
完成したら、自動的に青いバーが消えるようにしよう。

さてさて、いよいよVRAM読み出し→キャラクタジェネレータの設計に入るとしよう。

109 :ナイコンさん:2008/07/16(水) 23:56:40
ヒント:IC77〜IC79

110 :ナイコンさん:2008/07/17(木) 00:40:02
>カラーRAMはCPUから読み出しできるのか?
マニュアルによるとV-RAM読み出し時に$FFD8に反映されるらしい。
その前に$FFD8のBit7をセットしておかないといけないそうだ。
なおBit3〜5がどう影響するのかしないのかは試してないからわからん。

111 :ナイコンさん:2008/07/18(金) 00:27:10
>>110
ちょっと違う

112 :はいたっち ◆8C2CC4zleY :2008/07/21(月) 22:24:05
>>109-111 Thanks!
とりあえず、$FFD8のBit7をセットしたとき、FFD8のレジスタに、カラーRAMのデータが
コピーされるように実装しておきました。

ビデオ出力回路のグラフィック、キャラクタジェネレータ、カラーRAMアトリビュート、
バックグラウンドカラー、カラーリバース回路の実装終了。
ハイレゾ、ローレゾ、インターレース、ノンインターレース、WIDTH 40/80モードで
ようやくキャラクタ表示までこぎつけました。

世界初! Level3 FPGA互換機始動の様子
http://b-board.rdy.jp/game/html/img341.html

ひらがな表示もノンインターレス対応。
http://b-board.rdy.jp/game/html/img342.html

キーボード回路にバグがあって、正常にキー入力ができないので
グラフィックや、>>110の機能を試せないのが残念。

キーボード入力ができるようになれば、いままでLEDの表示だけで
デバックしていた涙ぐましい環境が一挙に改善。
(画面を見ながら、I/OポートアクセスしてデバッグOK)

113 :はいたっち ◆8C2CC4zleY :2008/07/21(月) 22:39:50
このFPGAボードには、RS-232C用のレベルコンバーターがついている。
一通りやったら、ACIA+RS-232Cインターフェースも実装してみよう。

それにしても、幼少のころよくわからないでゲームばかりに使っていた
Level3が今になってFPGA機として生き返るとは予想だにもしなかったことだ。

●L3FPGAレプリカのスペック
MPU: MC6809互換 (オリジナルより数サイクル速い命令あり)
CPUクロック: 1MHz 3MHz 切り替え
RAM: FPGA内臓(32KB標準) + FPGABlockRAM (カラーRAM1bit×16K)
FPGA分散RAM (カラーRAM: 4bit x 16K)
RAMクロック: 12MHz
CGROM: FPGA内臓(4KB)
L3BASICROM: Intel Strata FLashROM内臓 (24KB)
ビデオ出力: VGA(640x480 H:31.5KHz V:60Hz)

114 :ナイコンさん:2008/07/21(月) 22:58:10
ついに画面が出たか。
完全互換に至る道は大変ぽいが。

115 :ナイコンさん:2008/07/21(月) 23:20:59
今度は関係ないうpろだに画像張ったりしてるし
まったくもってマイルーラー野郎だなぁ

116 :ナイコンさん:2008/07/21(月) 23:32:11
うpろだのTOPに行ってだらだら画像みてたらL3用の懐かしいゲーム画像が

117 :ナイコンさん:2008/07/22(火) 23:05:06
せっかくおもしろそうなことやってるんだから
>>1 はブログでも立ち上げて公開すればいいのに

118 :ナイコンさん:2008/07/22(火) 23:09:52
>>117
それは進言したんだが、なぜかスレが立った・・・。

119 :ナイコンさん:2008/07/22(火) 23:42:26
いいじゃんここでやれば。
内容的に板で上位1割に含まれる名スレだと思うよ(糞スレが多すぎるだけだが)

120 :ナイコンさん:2008/07/23(水) 00:00:31
画面写真出ると、期待しちゃうよなぁ。ガンバレ>1

121 :ナイコンさん:2008/07/23(水) 00:17:10
自演か?いくらなんでもキモいわ

122 :ナイコンさん:2008/07/23(水) 01:21:24
>>121
じゃあ見なきゃいいじゃん。馬鹿じゃねえの?

123 :ナイコンさん:2008/07/23(水) 01:36:02
>>121>>122
同レベル

124 :ナイコンさん:2008/07/23(水) 20:44:11
>>123
オマエモナ

125 :ナイコンさん:2008/07/23(水) 21:52:49
まあね

126 :はいたっち ◆8C2CC4zleY :2008/07/26(土) 10:14:16
レベル3のキースキャン回路を実装中

レベル3の回路図を見てみると、どうやらキーを押下したとき(Make)と離したとき(Break)を
両方とも検知できるようになっているようだ。
それと、設定によっては、カーソルや[SPACE] [SHIFT]など一部分のキーだけを
スキャンするようにもできるようだ。

キーボードのスキャン周波数はVideoの水平同期周波数と同じなので、FPGAレプリカの場合は
VGA出力の2ラインごとにスキャンしてやればよさそうだな。

最初回路図を見たとき、なぜキーボードスキャンカウンタがFFになったとき
もう一度IRQ信号が発生するのかとハマったがそういうことだったか。

レベル3のキーボードは、I/O FFE0をREADすることで、キーボードスキャンカウンタを
0からスキャン開始できるようだ。これだけ少ないの部品点数でなかなか優れものだと関心。

PS/2キーボードにはマイコンが入っていて信号をシリアル化しているが
レベル3のほうのキーボードマトリクス回路にはマイコンが入ってないのでなかなか変換が面倒そうだ。
PS/2キーボードは、Make, Breakイベントがクロック同期でシリアル出力されるので
これをうまいことマトリクス回路に埋め込むか。

127 :ナイコンさん:2008/07/26(土) 10:28:08
>>126
あいかわらずレベルが低い
ぜんぜん間違いだらけだよ
自称ハード屋ならちゃんと解析しなさい

128 :はいたっち ◆8C2CC4zleY :2008/07/26(土) 11:17:20
レベル3のキーボードI/Oはこのようになっているようだ。

@ キー押下 → キーカウンタストップ+IRQ発生
A I/O $FFE0でキーコードREAD(上位ビットがIRQ、他はキーコード) → IRQ解除
B キーを離す → キーカウンタFFでストップ+IRQ発生
C I/O $FFE0でキーコードREAD($FF)→ IRQ解除

こうなってくると、キー状態保存用のRAMとキーコード変換用のROMが必要になってくるかな。

FPGAでまず、PS2キーボードのデータ受信部分と、
Make Break判定用のステートマシンを作ってみるか。
それと、CRTCはHD46505を使わずに、オリジナルのを作ってのせたので
まだカーソルはでないし、VRAMのスタートアドレスを変更できないので
ページ切り替えできない=Skipperとかがきちんと表示されない。

CRTC HD46505は中身がそう複雑でもないので、追々移植するとしよう。

129 :ナイコンさん:2008/07/26(土) 11:34:34
>>127
いや、おそらく彼の理解はほぼ合っている。
表現のしかたがまずいだけで。

130 :ナイコンさん:2008/07/26(土) 12:01:21
むしろ >>127 が哀れだね。
楽しそうにやってるヤツ見ると、けなさないと気が済まないような情けない輩。
別に間違ってたって困るのも爆発して死ぬのもお前じゃないだろ。

131 :ナイコンさん:2008/07/26(土) 14:35:51
と思ったが
>レベル3のキーボードは、I/O FFE0をREADすることで、
>キーボードスキャンカウンタを0からスキャン開始できるようだ。
ここが違うね。


132 :ナイコンさん:2008/07/26(土) 17:51:39
と思ったが
128のCの後カウンタが0からスタートすることに今気づいた

133 :ナイコンさん:2008/07/26(土) 17:53:32
ああ、それを言ってるのか?

134 :ナイコンさん:2008/07/26(土) 19:40:06
いや、
それにしては表現がおかしいことに今気づいた

135 :ナイコンさん:2008/07/26(土) 21:17:24
なんか粘着な奴が張り付いてるなー
気に入らないなら来んなよ

136 :ナイコンさん:2008/07/26(土) 21:23:09
自演か?いくらなんでもキモいわ

137 :ナイコンさん:2008/07/26(土) 21:33:36
>>136
いや、おそらく彼の理解はほぼ合っている。
表現のしかたがまずいだけで。

138 :ナイコンさん:2008/07/26(土) 21:52:08
と思ったが
自演ではないかということに今気付いた

139 :ナイコンさん:2008/07/26(土) 22:01:04
むしろ >>135 が哀れだね。
楽しそうにやってるヤツ見ると、けなさないと気が済まないような情けない輩。

140 :ナイコンさん:2008/07/27(日) 01:23:17
内容的に板で上位1割に含まれる名スレといわれるだけあって高度だな

141 :ナイコンさん:2008/07/27(日) 09:33:22
あいかわらずレベルが低い
ぜんぜん間違いだらけだよ

142 :ナイコンさん:2008/07/27(日) 10:28:37
じゃあお前が間違えを直してあげればいいじゃないか。
それで万事解決じゃない。


143 :ナイコンさん:2008/07/27(日) 12:12:15
そうそう。
自分で何もできない奴ほどケチつけてくる。

144 :ナイコンさん:2008/07/27(日) 12:31:04
いや、おそらく彼の理解はほぼ合っている。
表現のしかたがまずいだけで。

145 :ナイコンさん:2008/08/02(土) 19:48:37
行き詰ってる?

146 :はいたっち ◆8C2CC4zleY :2008/08/02(土) 23:36:23
なかなか苦戦中。

キーボード回路を実装
そしていよいよグラフィックのテスト

http://b-board.rdy.jp/game/html/img395.html
最初のテストでは、カラーRAMにまるっきり書き込まれていなかったことが判明。
BASICのLINE文が、キャラクタで描画されるという前代未聞の状況。
原因は、カラーRAMの0番地しか読み書きされていなかったことでした。

http://b-board.rdy.jp/game/html/img403.html
そしてカラーRAMに正しく書き込まれるように修正。
エミュ作成された方ならもうお分かりだと思いますが、
実はこれまだおかしいのです。
線とキャラクタが重なる部分のアトリビュートがグラフィックのままになってしまっています。
原因は、カラーRAMから正しくREADできていないためです。

http://b-board.rdy.jp/game/html/img402.html
テキストの描画テスト。こちらはよさそうですね。

現在のバグ
・カラーRAMをREADできていない。そもそも仕様を把握できていない。(回路図解析中)
・BASICを実行中に、画面描画にドットのノイズが入ったり、Errorが発生してしまう。(メモリが壊れる)
(原因は、FIRQの割り込みタイミングだということが分かっています。POKE &HFFD4,128を実行すると
バグが発生しないので。)

今後の予定
・まずはバグ修正
・ACIAを実装し、RS-232C経由でLevel3のソフトをロードできるようにする。

それにしても、レベル3レプリカがだんだんマトモになっていく様は作っていて楽しいですね。

147 :ナイコンさん:2008/08/03(日) 17:49:31
だいぶ本物と同じようになってきてるな

148 :ナイコンさん:2008/08/09(土) 09:18:27
頑張ってもらいたいものだな


149 :ナイコンさん:2008/08/11(月) 23:37:48
盆休みモード?

150 :ナイコンさん:2008/08/15(金) 14:59:55
sage

151 :はいたっち ◆8C2CC4zleY :2008/08/16(土) 00:26:29
LevelFPGAレプリカ開発記

やっと、カラー関係のハードが実装完了。

Level3はカラーRAMのデータをCPUを介さずにカラーレジスタに転送できるんですねー。
この実装により、BASICでのグラフィックとテキストのスクロールが実機とまるっきり同じにできるようになった。

色の表示の仕方を修正。

・背景色があるときに、Color0では黒色で文字を出力するようした。
・上下の青いバーを無くし、背景色で埋めるようにした。

残バグ
・FIRQ割り込み時にメモリが壊れる。(タイミング?)
・時計が動かない。(なんで?)
・カーソルが表示されない。(自作CRTCに機能追加必要あり)

152 :はいたっち ◆8C2CC4zleY :2008/08/16(土) 00:34:27
これからやること。

RS-232CとカセットI/Fは、両方ともACIAを使っているようなので、
(しかも、I/Oレジスタで切り替えてるだけ)

カセットI/Fのアナログ回路を組むのは面倒なので、BASICのロードコマンドでのロードは
RS-232Cからデータを読み込むようにするか。

おそらく、L3エミュはACIAのI/Oレジスタから生データを読んでるだけだと思うので
L3ファイルをRS-232C I/F経由で送信してやれば、よさげだな。

カセットI/FもRS-232Cも調歩同期みたいなので。

果たして、昔のプログラムをハードウェアレプリカ上で実行できるようになるのか!?

今回製作したFPGAレプリカは、MPU、RAM、VGAとのサイクルスチールの関係で
1.008、3.024MHzで動作可能になっています。

S1は2MHzだったので、それよりチョイ速いです。

153 :ナイコンさん:2008/08/16(土) 00:43:23
ベーションマスター


って百万回言われていますね

154 :ナイコンさん:2008/08/16(土) 01:40:16
ここは >>1 のマスターベーション公開スレです

155 :ナイコンさん:2008/08/16(土) 17:19:05
そう言えば前ビデオデッキのCMで「日立のエヴィ「AV」」とか言ってたのあったなw

156 :ナイコンさん:2008/08/17(日) 04:57:22
>>155 関連が分からん

157 :ナイコンさん:2008/08/17(日) 09:12:30
>・時計が動かない。(なんで?)
なんでもくそも、FIRQがまともに機能してないからでしょ。

158 :ナイコンさん:2008/08/17(日) 18:37:57
>>1
の自演でキモイスレだな

159 :ナイコンさん:2008/08/17(日) 21:25:20
多分、作るのが楽しくて誰かに聞いてもらいたいだけで
自演なんかしてないと思うぞ。
今までの行動を見てると、そんなに器用なやつだとは思えん。

160 :ナイコンさん:2008/08/18(月) 16:40:50
それくらいの方が見てて楽しい。

161 :ナイコンさん:2008/08/18(月) 21:42:13
酷い自演だな

162 :ナイコンさん:2008/08/23(土) 17:53:02
>>1
ブログでやった方がいいんじゃない?
わざわざ出没して文句いってるアンチがうざすぎ

163 :ナイコンさん:2008/08/23(土) 19:47:24
>>162
って、おまえも文句いってることに気付けよ

164 :ナイコンさん:2008/08/24(日) 13:58:19
>>163 お前もなー
>>164 お前もなー

165 :ナイコンさん:2008/08/24(日) 21:58:34
???
1に文句いってる奴に文句いってるだけっしょ

166 :ナイコンさん:2008/08/31(日) 23:25:37
そろそろスレ主飽きたか

167 :ナイコンさん:2008/09/01(月) 19:42:07
おおよそ予想どおりの展開だな

168 :ナイコンさん:2008/09/06(土) 01:00:20
今週末は期待あげ

169 :ナイコンさん:2008/09/06(土) 20:04:27
まさにクソスレageんな

170 :ナイコンさん:2008/09/08(月) 01:08:31
今週は期待はずれさげ

171 :ナイコンさん:2008/09/08(月) 08:24:42
PC-6011は持ってるの?FD使うのに必要だよ

172 :ナイコンさん:2008/09/09(火) 01:53:09
S1CLUBのゴミがいっぱい出没したな

173 :ナイコンさん:2008/09/13(土) 14:48:17
酷い自演だな

174 :ナイコンさん:2008/09/14(日) 23:18:42
音沙汰ないなあ。本当に飽きたんだろうか?
これだけ世間を騒がせておいたからには
最後までやりきって欲しかったんだが。

175 :ナイコンさん:2008/09/15(月) 01:59:32
おおよそ予想どおりの展開だな

176 :ナイコンさん:2008/09/15(月) 23:12:48
こんだけアンチにしつこくされたらワザワザ書き込む気無くなるだろw
擁護する意見が出るとすぐ自演認定されるしw

177 :ナイコンさん:2008/09/15(月) 23:58:09
いや、ここのスレ主はそんなことにめげる奴ではない。

178 :ナイコンさん:2008/09/16(火) 01:21:19
オレもそう思うわ
そこそこ動いたところで満足して飽きただけだと思う
今までの行動をみるに、自分の興味があることを好き勝手にやるだけで
最後まで物事をやり遂げられるタイプの人間ではないと思う


179 :ナイコンさん:2008/09/16(火) 22:56:15
ここで報告するのに飽きただけで、開発は細々と続けてますよ。

180 :ナイコンさん:2008/09/19(金) 03:28:17
そろそろYouTubeやニコ動に様子をアップしてみないか。

181 :ナイコンさん:2008/09/19(金) 21:57:19
実はどっかのブログで続きをやってる、
とかだったら >>1 をすごく見直すんだが

182 :ナイコンさん:2008/09/20(土) 13:35:59
実はみんな、なんだかんだ言っても期待してるんだな
(・∀・)ニヤニヤ

そういう俺もだけど

183 :ナイコンさん:2008/09/20(土) 15:24:39
酷い自演だな全部>>1なんだろな

184 :ナイコンさん:2008/09/20(土) 16:22:05
もうベーシックマスターの新しいネタがないから
なんかやってる人がいれば興味はあるよね。

185 :ナイコンさん:2008/09/20(土) 17:50:27
>>183
>>1

186 :ナイコンさん:2008/09/20(土) 20:10:59
何でも自演に見えるようになってきたら、精神病を疑ったほうがいいらしいね。

187 :ナイコンさん:2008/09/20(土) 21:02:48
酷い自演

188 :ナイコンさん:2008/09/20(土) 22:05:54
出来のいいエミュレータが公開されても
盛り上がるほどの反響ないみたいだし、
実際のところ、リアルなハードで再現なんて需要はないだろう

189 :ナイコンさん:2008/09/21(日) 02:28:25
需要はなくても興味はある

190 :ナイコンさん:2008/09/28(日) 22:36:53
ブログどこ〜?

191 :ナイコンさん:2008/09/29(月) 00:16:18
ここだよ

192 :ナイコンさん:2008/09/30(火) 14:15:10
ブログでは細々と開発を続けてるけど、
ここに報告するのは飽きたのかな・・・。

193 :ナイコンさん:2008/09/30(火) 19:42:24
なんで自己顕示欲の固まりみたいだった >>1
ひっそりとブログなんか立ち上げたんだろ

194 :ナイコンさん:2008/09/30(火) 23:44:40
ここでひっそりと少人数相手にしているより、
全世界にばら撒く方が自己顕示欲は満たされるじゃん。

195 :ナイコンさん:2008/10/01(水) 21:51:25
ブログどこ〜?

196 :ナイコンさん:2008/10/04(土) 00:20:38
ブログなんてどこにもないって誰かいってやれよ

197 :ナイコンさん:2008/10/05(日) 16:08:21
あるじゃんw

198 :ナイコンさん:2008/10/05(日) 18:58:49
どこ〜?

199 :ナイコンさん:2008/10/05(日) 21:10:20
おぉ、ほんとだ

200 :ナイコンさん:2008/10/05(日) 23:52:42
ブログってネタだろ
まったくクソ野郎ばっかだぜ

201 :ナイコンさん:2008/10/06(月) 01:33:59
ググレカス

202 :停止しました。。。:停止
真・スレッドストッパー。。。( ̄ー ̄)ニヤリッ

42 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)