Bubble, bubble, toil and cuddle !!!

March 22, 2021
XML
カテゴリ: 作りモノ
今日は早めで帰宅は18時過ぎ。

Raspberry Pi Pico の NTSC 出力を行う際に今まではキャラクタVRAM方式を使ってました。VRAMにはキャラクタコードが格納されていて、水平同期信号に合わせて、そのキャラクタを描画する、という方式です。この方式はVRAMサイズが小さくて済む、という利点があります。

しかし、Raspberry Pi Pico には 264kB ものメモリがあるので、256x192のグラフィック画面に対して、1ドットをunsigned char (1バイト)で表しても48kBぐらいの VRAM サイズで納まります。残り200kBもあるなら VRAM にこれぐらい使ってもよかろう、っちゅうことで、



のように VRAM を確保して、水平同期信号に合わせて、1ドットずつ描画することにしました(グラフィカルVRAMと呼ぶことにします。)。この方式を使えば、現状の回路で1ドットに対して白、グレー、黒を表現することができます。もっと頑張って外付け回路作れば1バイト=8ビット→256階調を表現することができるようになると思いますが、とりあえずは頑張らない。(^^;

1ドット毎の描画っちゅうことなので、文字表示するためには文字を1ドットずつグラフィカルVRAMに書き込む関数を作る必要がありますが、フォントファイルがあるのでそんなに面倒でもありませんでした。

っちゅうことで、 pa-art/test_ntsc test_ntsc_grph.c としてグラフィカルVRAMのテストプログラムを置きました。

sinカーブもちゃんと描ける
sinカーブもちゃんと描ける

黒描画のタイミングが白/グレーに対して少し違うようなので、右端に行くほどフォントが潰れやすくなっているような気がします。何とかならんかな。(^^;;

pa-art/test_ntsc test_ntsc_wall_grph.c として置きました。とりあえず動かすことを目標にしたのでソースとは汚いですが... (^^;;

壁がグレーになっている(ハッシュパターンも込みで)
壁がグレーになっている(ハッシュパターンも込みで)

見た目は前とあまり変わりませんが、内部的にはキャラクタベースのマップ(vram)に描画用のVRAM(gvram)を追加して論理はほとんどいじらずに描画を変更しています。なので、見にくい。(^^;; 最初から設計しなおしたら違う実装があると思います。

グラフィカルRAM版の"DROPPING MONSTERS"プレイ動画


グラフィカルRAM版のNTSC出力の方が融通が利きそうなので、これからはこちらをベースにしていきたいと考えています。ドットの微妙なズレを何とかしたいけど...
--- 21:20 ---





お気に入りの記事を「いいね!」で応援しよう

Last updated  March 22, 2021 09:25:00 PM
コメントを書く
[作りモノ] カテゴリの最新記事


【毎日開催】
15記事にいいね!で1ポイント
10秒滞在
いいね! -- / --
おめでとうございます!
ミッションを達成しました。
※「ポイントを獲得する」ボタンを押すと広告が表示されます。
x

PR

Keyword Search

▼キーワード検索

Category

Favorite Blog

まだ登録されていません

Comments

sorriman @ Re:HP ProDesk 400 G4 DM をセットアップした(01/13) 情報ありがとうございます。 また自宅を2…
Wi-Fiアンテナは多分入ってると思います。@ Re:HP ProDesk 400 G4 DM をセットアップした(01/13) 始めまして。 この機種はまだお使いでしょ…
通りすがりの者です@ Re:LIFEBOOK U939/B に WANカードを載せた(01/21) 私のLIFEBOOKではnanoSIMを装着後に再起動…
aki@ Re:秋葉原に寄った(01/14) この様な書込大変失礼致します。日本も当…
BOOSAN@ Re:SPY x FAMILY CODE:White を観た(01/08) 私は明日、PERFECT DAYS観ます。ビム・ベ…

© Rakuten Group, Inc.
Design a Mobile Website
スマートフォン版を閲覧 | PC版を閲覧
Share by: