C言語

ドラクエ風RPGファミコンプログラム講座 アセンブラ入門編

【第45回】 『ゲームメインとシーンコントロラー』 *ゲームメインの構成 1.VBlank割り込みを許可する。 lda #%10001000 sta $2000 ⁂VBlank割り込みを許可するには、PPU$2000の7bitを1にします。 2.空ループを作る。 lda #%10001000 sta $2000 lda #%0…

ドラクエ風RPGファミコンプログラム講座 アセンブラ入門編

【第44回】 『MAPDATA取得とタイルパターン表示までの流れ』 1.MAPDATA取得 MAPの先頭アドレスと map_x、map_y のoffsetによってタイルIDを取得, 計算式は MAPの先頭アドレス+MAPの横幅*map_y+map_x で求められる。 【例】 MAPの先頭アドレス = $e000…

ドラクエ風RPGファミコンプログラム講座 アセンブラ入門編

【第43回】 『MAPタイルの表示』 1.MAPタイルの構成 maptile は、16x16 のサイズで下記のように 4byte で構成されます。 Tip_data: .db $00,$00,$00,$00 ;海 .db $01,$02,$03,$04 ;草原 .db $58,$59,$5a,$5b ;祠 ⁂DATAはBG用タイルパターンのIDです【下…

ドラクエ風RPGファミコンプログラム講座 アセンブラ入門編

【第42回】 『マップ描画編』 1.ファミコン(NES)の画面構成 NESには、ネームテーブルというテキスト画面が1面とスプライトがあす。 テキスト画面は、256x240 (8x8キャラ)で32x30の表示が可能、 水直ミラーリング時には、512x240・水平ミラーリング時…

ドラクエ風RPGファミコンプログラム講座 アセンブラ入門編

【第42回】 『マップ描画編』 1.ファミコン(NES)の画面構成 NESには、ネームテーブルというテキスト画面が1面とスプライトがあす。 テキスト画面は、256x240 (8x8キャラ)で32x30の表示が可能、 水直ミラーリング時には、512x240・水平ミラーリング時…

ドラクエ風RPGファミコンプログラム講座 アセンブラ入門編

【第41回】 *今回は、ゲームメインと画面消去ーチンです。 【割り込みルーチンの時間制限】 *ファミコンのVRAMアクセスは大変遅く、1度に全画面消去できません。 分割して行う必要があります。 *Vram 1画面は、$2000~$23bf で 32x30=960 byte になり…

ドラクエ風RPGファミコンプログラム講座 アセンブラ入門編

【第40回】 *今回は、ゲームメインの構造とWAITルーチン。 【割り込みルーチンの特徴】 1.ファミコンのメインルーチンは、VBlank割り込みを使うのが、 一般的です、VBlank割り込みには注意すべきことがあります。 それはファミコンのBG(VRAM)は、アク…

ドラクエ風RPGファミコンプログラム講座 アセンブラ入門編

【第39回】 *今回は、string:の改造を行います、 string: ldy #0lp2: lda str_data,x sta str_buff,y inx iny cmp #$ff bne lp2 ldy #0lp1: lda str_buff,y iny cmp #$ff beq exit sta $2007 jmp lp1exit: jsr scroll_zero rts *今回は、8ビットの10進…

ドラクエ風RPGファミコンプログラム講座 アセンブラ入門編

第38回 *今回は、8ビットの10進数変換済文字列を表示します。 範囲(0~255) 1.100で割る、商が100の桁。 2.10で割る、商が10の桁。 3.余りが1の桁。 ⁂下記のコードは、前回ののものを修正したものです。 deci100: cmp #100 bcc deci10 ;dat…

ドラクエ風RPGファミコンプログラム講座 アセンブラ入門編

第37回 *今回は、予定を変更して、10進数変換(8bit)0~255 です 1.100で割る、商が100の桁。 2.余りを10で割る、商が10の桁。 3.余りが1の deci100: cmp #100 bcc deci10 ;dataが#100より小さい時ループを抜ける sec ;キャリーフラグをセットする…

ドラクエ風RPGファミコンプログラム講座 アセンブラ入門編

第36回 *今回は、ステータスの表示の準備の続編です。①HP・MP・L:の表示②fontの追加③ウインドウ用FONTの追加 ④記号の追加(* :) ;***************** DATA ********************************* .bank 2 .org $0000 .db $00,$00,$00,$00,$00,$00,$00,$0…

ドラクエ風RPGファミコンプログラム講座

【NES 基礎知識編】 【ビデオメモリーとPPU】 *ファミコンでの画像処理は、PPUが担当しておりメインメモリーの I/Oポート $2006・$2007 からアクセスします。 $2006 はアドレスレジスタ、$2007はデータレジスタで、 PPUの管理するメモリー(VRAM)を操作しま…