アットウィキロゴ
Bascinet
掲示板 掲示板 ページ検索 ページ検索 メニュー メニュー

Bascinet

仮想ハードウェア

最終更新:

bascinet

- view
管理者のみ編集可
仮想ハードウェア


解像度 面数
SFC 256x224 5+1(sprite) Sprite:16、Plane:16
FC 256x226 25色(4パレット×3色×2+背景1色)
GBC 160x144 32k色中56色
GBA 240x160
NDS 256x192
MSX2 256x212 2画面 固定256色
MSX2 256x212 2画面 512色中16色

ファミコン内部では256x240、プレーンは256x256。



仮想ハードウェア案

  • 画面: 320×240(20×15キャラ)
  • 304×240(19×15キャラ)でもよい。
  • スプライトの色0はヌキ色固定。
  • スプライトの色1~7は簡易色変え用のグラデーションカラー。たとえば「赤いロッド」や「青いロッド」を作るときに使う、基本となる色。
  • スプライトは256色。
  • BGタイルも256色。
  • オフスクリーンは32ビットカラー。
  • ビデオスクリーンは、このさい15、16、24、32のどれでも対応したいところ。


エフェクト

  • プレーンの半透明合成
  • スプライト反転機能:水平
  • スプライト反転機能:垂直


サウンドメモリ

PCM(Ogg/Wav)を確保するためのおおまかなメモリー配分。8MBとか32MBとか無制限と指定する。
sound.memory_mb = 8
sound.memory_mb = 0
これとは別個に、FM/PSGによる効果音を設定できる。


FM/PSGサウンドメモリー

FM音源用には128バイト、PSGには32バイトもあれば十分だと思う。

別途用意するG3SoundEffectEditorで、FM音色、PSG音色を定義し、それにエンベロープをかませて効果音を作成できる。効果音データは最大255バイトもあればなんとかなるかもしれない。長さ1バイト+効果音255バイトで、合計最大256バイト。

3バイトを4文字に変換して、テキストとして保存できるように。SEをテキストで提供できるように。
se.0 = jvNr9302_3oiofmeN42Bb9avorb4311053


デューティ比の指定

デューティ比とは、パルス周期Nにたいして、パルス幅Mとしたとき、N/M のこと。デューティ比1:1、もしくは0.5の矩形波は、_| ̄|こんなかたち。

これを、4bits:4bits で指定し、1~16:1~16を作り出せたら便利かもしれない。


パルス種類

矩形波(1)、三角波(2)、正弦波の三種類(3)、ノコギリ(4)
それと、ノイズ負荷ビット(1bit)

半三角波、絶対値サインはどうだろうか。

ノイズはノイズ冗長性(4なら、4単位に1回しかノイズ算出をしない)などどうだろう。ノイズの周期は独自に1024バイト程度でよいかもしれない。



PSG音色データ

  • 1byte: パルス種類
  • 1byte: デューティ比


波形メモリ音源

   * 波形メモリ音源
         o コナミ 005289(バブルシステムに搭載)、SCC、SCC+
         o ナムコ C15(WSG)、C30(WSG)、N106(ファミコン用拡張音源)
         o 任天堂 FDS拡張音源
   * 波形メモリチャンネルを含むゲーム用音源
         o 任天堂 ゲームボーイ、ゲームボーイアドバンス
         o NEC PCエンジン
         o バンダイ ワンダースワン
   * 波形メモリのサンプル数(1ループあたり)
         o 8~32 : WSGなど
         o 32 : SCCなど
         o 64 : FDS音源など
   * 波形メモリの量子化ビット数
         o 4 : N106など
         o 6 : FDS音源など
         o 8 : SCCなど
   * 和音数
         o 1 : FDS音源など
         o 5 : SCCなど
         o 最大8 : N106など


FM音源部・アルゴリズム

4オペレータでいくぜ。

  1. a0: 1→2→3→4
  2. a1: (1|2)→3→4
  3. a2: *1→4
  4. a3: *2→4
  5. a4: *3
  6. a5: 1→(2|3|4)
  7. a6: (1→2)+(3)+(4)
  8. a7: 1+2+3+4

オペレータ1にはフィードバック機能もつく。
記事メニュー
最近更新されたスレッド
ウィキ募集バナー
注釈

*1 2→3)|(1

*2 1→2)|(3

*3 1→2)+(3→4