1 :
名前は開発中のものです。 :
02/02/14 23:18 ID:ZJ9WBNBQ マリオみたいなのを作ってエミュで遊びたいんですが 開発ツールはどこで手に入りますか?
2get.
>>1 マリオをつくりたいの?
まず嫁さん探せ!!
で、イタリア系アメリカ人らしいからイタリア美人を探してお前はアメリカ人。
このぐらいがんばらなきゃマリオはつくれないよ。
>>4 お前はアメリカ人ってどうやるんだYO!ばかー!
ファミリーベーシックに決まってるだろが!
ファミベマンセー。
ファミリーベーシックでロボットはつくれますか?
つくれました。
10!
すずめ愛好会へ逝け
開発補助ならG-NES。これ最強。
開発補助ならNESten。これ次強。
開発補助ならmd6502。これ三強。
17 :
名前は開発中のものです。 :02/03/06 00:08 ID:oIyZas1N
>>1 はもう居ないのか?
ファミコンのプログラム組んでる集団(漏れ含む)がこのスレ発見したぞ。
>>19 スレ違い(?)だけどスーファミ(SNES)もお願いしますです。
>>21 すずめたんをよんで
SFCちゃんと在りますよ。
更にage
よみましたです(ローカルに保存しますた)。 で、「他にもあるでよ」とのありがたいお言葉があったので。。。 クレクレsage
25 :
名前は開発中のものです。 :02/03/07 00:49 ID:tF8/XlMI
趣味のアセンブラの勉強かねて、やってみるか。そのうち。そのうちな。。。
26 :
名前は開発中のものです。 :02/03/08 07:41 ID:DIoNf8d5
lda アキュムレータにロード。 sta アキュムレータの値をメモリに設定
27 :
名前は開発中のものです。 :02/03/26 21:43 ID:Bp+u3FyK
age
28 :
名前は開発中のものです。 :02/04/07 00:46 ID:68nuINc/
あげ
1キボンヌ
30 :
名前は開発中のものです。 :02/04/20 00:24 ID:ekIOR9MM
保全
| |__∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ |∀` )< なぁ、こんな駄スレageて一体何がしたいんだい? | ノ∧ \___________________ |/ ゚Д゚) < ちったぁまともなスレageろよボケ | ⊂ノ \__________________ | /∀・)クソスレ トッテモ カコワルイ!
32 :
死ねエミュ野郎 :02/04/20 02:08 ID:mcRIx9hc
このスレ見ろ
http://game.2ch.net/test/read.cgi/gamedev/1017528573/l50 ▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ
ッ▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフ
フッ▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カ
カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼
▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。
。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д
Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚
゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ▼
▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ
ッ▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフ
>32 よっぽどヒマなんだなw
▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ ッ▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフ フッ▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カ カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼ ▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。 。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚ ゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ▼ ▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ ッ▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフ
/ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ | こ、このスレ さ、さむいモナ~ Λ_Λ ∠___________ (;´Д`) ( ( つ ⊂ )) 〉 〉く く ( (__)(_.)) ...ガクガク
36 :
名前は開発中のものです。 :02/04/30 00:13 ID:iFuTGyLg
/ ドッカン
/ / ,,_ ドッカン
━━━━━'), )= ☆ゴガギーン
∧_∧ヽ\ / / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
( ) 〉 〉_ _ ____ ∧_∧ ∠ おらっ!出てこい
>>1 !
/ ⌒ ̄ / "'''"'| || (`∀´ ) \___________
| | ̄l | |/ / \
. | | | | || | | /\ヽ
| | .| | | へ//| | | |
( | .| ロ|ロ ゙!l''ヽ/,へ \|_ | | |
| .lヽ \ | | ヽ\/ \_ / ( )
| .| 〉 .〉 | | | |
/ / / / | | 〈| | |
/ / / / | | || | |
/ / / / └──┴──┘ | |
.inesprg 1 .ineschr 1 .inesmir 0 .inesmap 0 .bank 0 .org $C000 Reset: cld sei lda #$00 sta $2000 ldx #$3F stx $2006 ldx #$14 stx $2006 lda #$0F sta $2007 lda #$30 sta $2007 sta <$00 .mentai dex bmi .cheese lda .natto,x sta $0200,x jmp .mentai
.cheese lda #$80 sta $2000 lda #$18 sta $2001 cli .piza jmp .piza .natto db $00,$00,$01,$6C,$00,$01,$01,$74,$00,$02,$01,$7C db $00,$03,$01,$84,$00,$04,$01,$8C NMI: inc <$00 lda <$00 sta $0200 sta $0204 sta $0208 sta $020C sta $0210 lda #$02 sta $4014
IRQ: rti .bank 1 .org $FFFA .dw NMI .dw Reset .dw IRQ .bank 2 db $08,$09,$FC,$08,$19,$28,$48,$88,$00,$00,$00,$00,$00,$00,$00,$00 db $00,$FB,$08,$10,$20,$C0,$40,$27,$00,$00,$00,$00,$00,$00,$00,$00 db $00,$E7,$81,$81,$87,$81,$81,$F1,$00,$00,$00,$00,$00,$00,$00,$00 db $01,$E1,$0F,$01,$E1,$01,$01,$EE,$00,$00,$00,$00,$00,$00,$00,$00 db $00,$00,$C0,$00,$1F
命令の前にはTAB入れろよ。
age
42 :
1 :02/05/06 20:26 ID:W8C9gV3c
立て逃げしてすみませんでした。 プログラム経験はparlを少々やったぐらいで英語は全然できません。 基礎から教えて欲しいんですがまずは何をやったらいいですか?
まずはperlのスペルを覚えるところから
>>42 db $▼゚Д。▼カフッ, $▼゚Д。▼カフッ,$▼゚Д。▼カフッ, $▼゚Д。▼カフッ,$▼゚Д。▼カフッ, $▼゚Д。▼カフッ,
db $▼゚Д。▼カフッ, $▼゚Д。▼カフッ,$▼゚Д。▼カフッ, $▼゚Д。▼カフッ,$▼゚Д。▼カフッ, $▼゚Д。▼カフッ,
db $▼゚Д。▼カフッ, $▼゚Д。▼カフッ,$▼゚Д。▼カフッ, $▼゚Д。▼カフッ,$▼゚Д。▼カフッ, $▼゚Д。▼カフッ,
db $▼゚Д。▼カフッ, $▼゚Д。▼カフッ,$▼゚Д。▼カフッ, $▼゚Д。▼カフッ,$▼゚Д。▼カフッ, $▼゚Д。▼カフッ,
db $▼゚Д。▼カフッ, $▼゚Д。▼カフッ,$▼゚Д。▼カフッ, $▼゚Д。▼カフッ,$▼゚Д。▼カフッ, $▼゚Д。▼カフッ,
db $▼゚Д。▼カフッ, $▼゚Д。▼カフッ,$▼゚Д。▼カフッ, $▼゚Д。▼カフッ,$▼゚Д。▼カフッ, $▼゚Д。▼カフッ,
db $▼゚Д。▼カフッ, $▼゚Д。▼カフッ,$▼゚Д。▼カフッ, $▼゚Д。▼カフッ,$▼゚Д。▼カフッ, $▼゚Д。▼カフッ,
db $▼゚Д。▼カフッ, $▼゚Д。▼カフッ,$▼゚Д。▼カフッ, $▼゚Д。▼カフッ,$▼゚Д。▼カフッ, $▼゚Д。▼カフッ,
>>45 専門用語で行き詰まるに10000スズメー
47 :
45 :02/05/10 00:44 ID:???
>>46 わからなかったらいつでも質問しる。
わかる限りは答えるよ。
48 :
名前は開発中のものです。 :02/05/14 00:28 ID:66nn7wZM
1帰ってこいage
49 :
1 :02/05/15 21:08 ID:qDGu5udc
>>47 すずめ愛好会を読みましたがサッパリ分かりません。
簡単なプログラムでいいので教えてくれませんか?
色の付いた背景を表示するだけのプログラムってどうやればいいですか?
50 :
nesasm専用 :02/05/16 01:35 ID:QmQLNekU
.inesprg 1 ; 16k prg bank .ineschr 1 ; 8k chr bank .inesmir 0 ; Horizontal map mirroring .inesmap 0 ; Use mapper .bank 0 .org $C000 RESET lda #$00 sta $2000 sta $2001 ;描画OFF lda #$3F ;PPUアドレス上位 sta $2006 lda #$00 ;PPUアドレス下位 sta $2006 lda #$22 ;色番号 sta $2007 lda #$08 sta $2001 ;描画開始 LOOP jmp LOOP ;無限ループ NMI IRQ rti .bank 1 .org $FFFA .dw NMI .dw RESET .dw IRQ .bank 2 db $00,$00,$00,$00,$00,$00,$00,$00
>>49 何か画像を表示するには、基本的にキャラクタ用のROMが必要(カセットにRAMを積んでるのもあるけど)。
無地の背景を表示するには無地のキャラクタを画面全体にしきつめる。
色を付けるには属性テーブルに使用するパレット番号を書き込んで、
パレットに使いたい色番号を書き込む。
52 :
名前は開発中のものです。 :02/07/01 19:15 ID:9vvelJOM
急浮上
>>1 悪いんだけど、傍から見てると自分はよく分からないから他人にどうにか
してもらおうとしているようにしか見えないよ。
分からないなら分からないなりに、まずは自分でできるところからできるようにやってかないと。
プログラムって、そーゆーこと。
54 :
名前は開発中のものです。 :02/07/03 07:18 ID:nKRRjIB2
db $▼゚Д。▼カフッ, $▼゚Д。▼カフッ,$▼゚Д。▼カフッ, $▼゚Д。▼カフッ,$▼゚Д。▼カフッ, $▼゚Д。▼カフッ, db $▼゚Д。▼カフッ, $▼゚Д。▼カフッ,$▼゚Д。▼カフッ, $▼゚Д。▼カフッ,$▼゚Д。▼カフッ, $▼゚Д。▼カフッ, db $▼゚Д。▼カフッ, $▼゚Д。▼カフッ,$▼゚Д。▼カフッ, $▼゚Д。▼カフッ,$▼゚Д。▼カフッ, $▼゚Д。▼カフッ, db $▼゚Д。▼カフッ, $▼゚Д。▼カフッ,$▼゚Д。▼カフッ, $▼゚Д。▼カフッ,$▼゚Д。▼カフッ, $▼゚Д。▼カフッ, db $▼゚Д。▼カフッ, $▼゚Д。▼カフッ,$▼゚Д。▼カフッ, $▼゚Д。▼カフッ,$▼゚Д。▼カフッ, $▼゚Д。▼カフッ, db $▼゚Д。▼カフッ, $▼゚Д。▼カフッ,$▼゚Д。▼カフッ, $▼゚Д。▼カフッ,$▼゚Д。▼カフッ, $▼゚Д。▼カフッ, db $▼゚Д。▼カフッ, $▼゚Д。▼カフッ,$▼゚Д。▼カフッ, $▼゚Д。▼カフッ,$▼゚Д。▼カフッ, $▼゚Д。▼カフッ, db $▼゚Д。▼カフッ, $▼゚Д。▼カフッ,$▼゚Д。▼カフッ, $▼゚Д。▼カフッ,$▼゚Д。▼カフッ, $▼゚Д。▼カフッ,
じゃあ、聞きますが, メモリー領域のコンパ苦笑…ていうか,コンパクションとか、 整理不純…というより、整理整頓とかは どうやってしますか。 といに答えよ。 (点数:1000技術者)
誤爆?
58 :
びにゃ。 :02/07/04 20:36 ID:???
爆。 すびばぜん。
漏れも自作NES作ってみようかな nesasmての使うんだっけ?
名前そのままなのに、何を思って質問してるんだろう? 一人称が「漏れ」の人間の頭のレヴェルはこんなもんが限界なんだろうなぁ…(苦
いちいちうるさいなぁ
1はやる気がないみたいだから
>>59 がんがれ
わからんことがあったら質問すれ
自作nesまだぁ~?
自作NES作っていくつか公開してますが、何か?
それクレクレ。
まずは、スペランカーのタイトル画面で音楽に合わせてボタンを押すと 無敵になる改造をやれや。
なるほど 製品の改造といったお題を課して育成させようという魂胆だな?
自作nesROM禿キボンヌ
kl
ウワーン、お兄ちゃんが自作nesR@Mくれないぃぃぃぃ。
はぁ…自作NESROM晒せばいいわけ?
漏れのはすでに
>>20 でどっかのアフォが晒してくれてます。
…これで満足ですか?
満足ぅ。
>>72 降臨ワショーイヽ( ´ー`)ノ ってこれどっかで書いたな。
自作に転向したほうが勉強になりそうだなー。
雰囲気重いな。
ファミコンのプログラムを今更やりたい人もなかなか居ないだろ…(´・ω・`)
77 :
& :02/07/19 22:53 ID:???
んー、FAリンカーでそのROMを外でやる。
cld sei .jump jmp .jump ???
むずかすぃ。。。
下がってんじゃないよ。
さっぱりわからねー
>>76 簡単なプログラムで良いので少し書いてもらえませんか
何がわからないのかがわからないとどう教えていいかもわからない罠
とりあえずすずめを読む。
>>37-39 なんだか忘れたけどスプライトでなんか表示する奴
>>50 色の付いた背景を表示するだけのプログラム
>>78 無限ループ
あと、>20にHello worldを置いてある。
まずは命令を覚えないと何も出来ないので命令を覚えるべし。
ldaとかstaとか。
>>1 のソースはどうやってコンパイルするんですか?
すんません。誤爆です。
>>38 > inc <$00
> lda <$00
> sta $0200
> sta $0204
> sta $0208
> sta $020C
> sta $0210
> lda #$02
> sta $4014
これって、スプライトのページを 2 に設定して、
0 番スプライトをラスタ割り込みのトリガにしているとか
そんなやつかね。
>85 DMA転送してるだけ…
88 :
名前は開発中のものです。 :02/08/03 15:25 ID:5mUVkAbQ
そーさりあんのぷろぐらむしてやってくりー
箔ロム厨がきたな……夏だな。
素人だけどどこがハクロムなんですか?
そーさりあんはハクロムじゃねーだろ。 89が誰に向かってレスしたのかは知らんが。
アセンブラ
>>92-93 漏れ(89)は、カシオンのドット絵のコトを88が言ってると
思って書いたのだが、まさか他のモノがあるワケじゃないよね。
あのページ見てて、「遊びたいから誰か作ってクレクレ」と
ばかりにココに書くなんてヤシぁ、そんな呼称で十分かと。
96 :
92 :02/08/04 12:54 ID:???
何か物凄い勘違いをしてるような(w
>>96 私のコトですか?
・ソーサリアンをハックロムだと思っている
そんなことはないです。FCの仕様に落としこむ
という手間と熱意は素晴らしいと思いますし。
・88が言ってるのはカシオンのソーサリアンじゃない
だとしたら、当方のカン違いです。
失言およびスレ荒らしを陳謝いたしたく思います。
思い当たるのはこんなトコですが、何を勘違いしてるか、
具体的に指摘していただけると嬉しいです。
さっぱり意味がわからないです ちょっと思い込みが激しいんじゃないですか? 煽りではないので気を悪くしたらごめんね
100!
100 :
名前は開発中のものです。 :02/08/04 22:04 ID:QMIXGJjs
マジックジャンプage
>>100 だからありゃマジックでもなんでもねえっつーの。
インデックス付ジャンプテーブルのごく普通の実装だろうが。
(´・ω・`)ショボーン
あの・・・いくつか質問してもいいですか?
|∀゚)どうぞ
スタック($0100-$01FF)の用途って何ですか? IRQ割り込みっていつ起こるんですか? H,Vblank間にもプログラムは並行処理されていくのですか? リフレッシュレートはNTSC秒間60、PAL秒間50回ということなので NTSCの場合PPUが60回リフレッシュしている間に無限ループを何回回るんでしょうか わけわからなくなってきました
|ω・`)そんなにかよ…もう少し文献読んだ方が…
>スタックの用途
・スタックとして用いる(pha,pla,php,plp)
・jsrするとrtsするときに必要となる、戻るアドレス-1を入れる
・割り込みがかかると戻るアドレスと、フラグを入れる
>IRQ
MMCの機能で起こしたとき
>blank間
そのまま実行
ただし、NMI割り込み起こすようにしてればVblankに入った時にそっちへ飛ぶ
>無限ループ
無限ループの作り方によってかかるクロック数が異なるので答えようがありません
適当に書いたので間違っててもしらん…間違ってたら誰かフォローしといて(´・ε・`)
http://nesdev.parodius.com/ http://float.jp/cafe/
.inesprg 1 .ineschr 1 .inesmir 0 .inesmap 0 .bank 0 .org $C000 reset: cld sei loop: lda #$FF tax txs pha php jsr sub jmp loop sub: rts nmi: irq: rti .bank 1 .org $FFFA .dw nmi .dw reset .dw irq .bank 2 db $00,$00,$00,$00,$00,$00,$00,$00
>>106 レスありがとうございます
いや、そういうのはなんとなくわかるんですが、その、同期というか全体的な流れというかグバァ
もっと文献読んでみます
あとはいろんなソース読んでアルゴリズム勉強しなきゃ・・・
ヽ(`Д´)ノ
( ´_ゝ`)
>>109 スタック領域は別に普通のRAMとなんら変わりないからな。
たまたまスタックレジスタが指すアドレスが$0100-$01FFに固定
されているだけ。
113 :
名前は開発中のものです。 :02/10/19 02:57 ID:wtL8Ey5q
ジョイスティック検出の処理って凡庸的にはどんな風に書けばいい? いろんなソース読んでみたけど、$4016に1書き込んだ後0書き込んでまた$4016を読む…その後が難解… rorでローテイトしたりするのは、キャリーを使って全てのビットを1バイトに収めるためなんだろうけど…わからーん どなたか詳しい方ご示唆お願いしまふ
真・スッドレストッパー。。。( ̄ー ̄)ニヤソッ
適当なソフトを逆汗してパクれw
116 :
113 :02/10/19 22:12 ID:???
パクってもまともに動かせなかった俺は素質ないですか?そうですか
>>113 某お宿の記述内容だけでは不満か、ジュニア。
118 :
113 :02/10/20 03:06 ID:???
>>117 いえ、あのお宿は大変参考になりました、ファーザー
お陰様でNESハードウェアの知識が驚くほどアップしたと思うのです
でも・・・どうしても・・・どうしてもジョイパッドが理解できないのです!
くそぅジョイパッドめ・・・
>>118 nesasmのjunkdemo.asmは読んだか、ジュニア?
Aボタン、Bボタンの検出部分だけコピペしておくぜ、ジュニア。
joya: ; Detect A button press by setting the A register to 0 or 1
lda #$01 ;
sta $4016 ; Reset joystick.. see NES documentation for details
lda #$00 ;
sta $4016 ;
lda $4016 ; The first read will have the A button status in it's first bit
and #$01 ; Set A to 1 if pressed ; 0 if not
rts
joyb:
lda #$01 ; See joystick A routine
sta $4016
lda #$00
sta $4016
lda $4016
lda $4016 ; The second read will have the B button status
and #$01
rts
おいおい…こんなんやってたら無駄が多すぎるぞ
>>120 おいおい、あくまでもサンプルだぜ、ジュニア。
junkdemoはパッド処理やパレット初期化の仕方、nopを使ったウェイトなど無駄が多く見られると思うけど 初めてNESプログラミングにとっかかる時は参考になる気がする、っていうかジャンクか・・・
だだダだ だだダだ だだダだダだダだ だだダだ だだダだ だだダだダだダだ だだダだ だだダだ だだダだダだダだ
(´-`).。oO(なんで勝手に左に進むんだろう・・・)
junkdemoは正確な動作をするエミュだと画面出ないし。さすがジャンク。
junkdemoはそもそも正常な動作しねーよ 壁突き抜けるしw
あーむずかし 走査線という概念が厄介だ
129 :
名前は開発中のものです。 :02/10/27 00:55 ID:GXRjNK94
オーバーフローage
踊る走査線……。
>130 れっかちゃん級のラスタスクロール?
れっかちゃんて?
naxatサマーカーニバル'92烈火を知らない人がいるのか…。
>>133 知らなくて悪かったな、検索する気も起きないよ。
そんな事より0爆弾の置き方教えろ。
>>134 不透明なキャラをスプライト0番に指定して、お好きな場所に置くだけ。
お好きな場所と言ってもその下のBGが全部背景色だとダメだろ
label: lda $2002 bpl label ↑これ何やってるの? PPUステータスレジスタが負、つまり$80になるまで ってことはVblankの発生を見てると思われるんだけど Vblank見てどうすんの?
BG/OBJ表示中に画面書き換えすると腐るから
なるほど
いや、初期化処理(Resetベクタ)でやってるんだけど・・・
>>140 PPUの挙動が安定するまで待ってるだけじゃ?
>>20 のサイトにあるデモのコメント付きソースきぼん
143 :
142 :02/11/02 21:54 ID:???
やっぱりいいや
( ゚д゚)ポカーン
>>125 現在最も再現性の高いNESエミュレータって何よ?
この場合の再現性というのはハードウェアのエミュレーションという観点から見た報告でよろ
やっべ、2行目わけわからん事書いてるよ
ヽ(`Д´)ノ
VirtuaNES
G-NES
NESASMの和訳、Usagej.txtきぼん
>>20 のサイトのnestechの和訳が消されているが
nesdevになんか言われたのか?
Usage.txtをエキサイト翻訳にかけてウマー ってわけにはいかないか。
Usage.txtをエキサイト翻訳にかけてウマー ってわけにはいかないか。 ってか廃墟だな。
Usage.txtをエキサイト翻訳にかけてウマー
もうめちゃくちゃだ
>>151 一部間違ってるんだけどそれがどこだか忘れてしまって直すのがめんどうなので消した。以上。
漏れのソースが無断転載( ゚д゚)ポカーン 漏れのHTMLソースが無断転載( ゚д゚)ポカーン 漏れのDocumentが無断転載( ゚д゚)ポカーン 言ってる事とやってる事が矛盾してる
( ゚д゚)ポカーン
160 :
名前は開発中のものです。 :02/12/04 09:31 ID:I3e9ktS/
「おまえもうまくなるまでに誰かのマネをしてるんだろう」 って意味なのかな? それはいえる。
あぼーん
162 :
名前は開発中のものです。 :02/12/04 17:52 ID:brMYJ6b6
あぼーん
どっかのドキュメントにファミコンのHブランクは何サイクルだって書いてあった気がするんだがどこだっけ?
∧∧ ミ _ ドスッ ( ,,)┌─┴┴─┐ / つ. 終 了 │ ~′ /´ └─┬┬─┘ ∪ ∪ ││ _ε3 ゛゛'゛'゛
166 :
名前は開発中のものです。 :02/12/05 19:30 ID:IMxlf8kh
∧∧ ミ _ ドスッ ( ,,)┌─┴┴─┐ / つ. 再 開 │ ~′ /´ └─┬┬─┘ ∪ ∪ ││ _ε3 ゛゛'゛'゛
あぼーん
あぼーん
>>137 すずめ見ると$2002はRead後0クリアされると書いてあるのだが
そうなると永遠に抜けられない気がする
それとも0クリアは最初の1回のみ?(最初って何だ・・・)
Nesdevにある"NESprgmn.txt"を読んでみたら、大量のデータをVRAMに書き込む時は
VBlank期間中にやれみたいな事が書いてあったんだが
その後、あまりにもデータが多い時は一度画面を表示しなさい辺りの意図がつかめない
この辺でBlankや各命令毎のサイクルなんかが絡んでくるんだろうか
というか皆さんはこの辺はすんなり理解できたクチですか?
とりあえずsage
>>170 すんなり理解できなかったら他人のソース読む。
このスレ教えて君ばっかで何もゲーム出てないな 「製作技術」だからいいんだろうけど(ププ
vblank中は転送速度が速いのです。 表示中はビデオチップもVRAMからデータを読むので遅いのでしょう。 表示中にVRAMを書き換えるとちらつきますし。 ゲーム中に画像を大量に転送するには 転送すべきデータの (ソースバンク)、ソースアドレス、データ量を変数に保存して、 VBLANKが来たら変数のデータに従って転送開始、 スブライト2個分くらい転送したら処理をやめて次のVBLANKまでは ゲームの処理をするとかではないでしょうか。
表示中にVRAM書き換えたら内容壊れるって。ちらつくとか言う問題じゃないよ。 ただし表示中でも画面表示をオフにすればVRAM書き換えできる。 それより、マリオオープンゴルフのタイトル画面の中央がバグるのはどうするの?
Mapper1(MMC1)? VBLANKまわりで理解を助ける具体的なサンプルソースクレクレ もしくはトリッキーなのクレクレ
>113あたりで作ったヘボパッドルーチン .PAD: ldx #$01 stx $4016 dex stx <$00 ; $00はキー取得変数 stx $4016 ldy #$08 .PADL: lda $4016 ora <$00 ror a sta <$00 dey bne .PADL ror <$00 rts メモリビュワで見ると$00がいつも変動してるのは何故(´д`) 動かす分には問題ないんだが
>>173 間違った事を堂々と書くなよ。。。
>>175 クレクレ厨はカエレ!
とでも言って欲しいのか?
>>177 何も書かないお前よりマシ
K氏ですら間違った事を堂々と書いてたからな
そのくせ自分よりレベルの低い奴には>157のような事を言い
自分より目上の奴には媚を売る
厨房だな
>>178-179 お前らも煽ってるだけだろ(プ
違うならクレクレ厨に返事してやれよ(プ
何も書かない、ってお前らも何も書いてねーだろ(プ
必死だな。マターリしようぜ。
>>176 CLCしてみそ。
とか言ってみたり。
182 :
名前は開発中のものです。 :02/12/15 01:05 ID:gf9d9KTL
もうおまえらに頼まねーよヽ(`Д´)ノウワアアアン
あぼーん
kill time
あぼーん
186 :
名前は開発中のものです。 :02/12/16 22:32 ID:vmxaOLAn
アセンブラじゃなくてCで作れるなら 俺もやりたいんだけどなぁ・・・。
コンパイラ作りたまえ
NESのCコンパイラがないのは、作っても 実用性がないからだとどこかで見た気がする 小回りきかなそう
ていうか、ファミコンのCPUパワーでCはかなりイヤン。
190 :
名前は開発中のものです。 :02/12/16 22:59 ID:PZZT4hYs
>>189 コンパイル時に余計なコード吐いて
処理が遅延する可能性があるからってこと?
いやー、しかし当時のPGはよくアセンブラで
ドラクエとか真女神転生とか作れたな。
考えただけでも気が遠くなる。
あぼーん
終了厨キター この板的には当時のPG達の話が聞きたいな
作りたい。
あぼーん
"cc65 NES"でググルって味噌。
あぼーん
あぼーん
みんなの心に荒みを植え付けました(・∀・)
P65
NES(6502)アセンブラ比較よろ。
nesasm <
204 :
名前は開発中のものです。 :02/12/19 15:58 ID:/rq2rkba
6502も憶えてNESの仕様も頭に叩き込んだのにっ・・・ なんでファミコンのゲームが作れないんだああああああ グワァァァァアアアアアアアァァァア!!!ボケェェェェ!!!!!!
206 :
名無し :02/12/19 17:43 ID:w6rGRa6w
CC65……6502用Cコンパイラーですか。 でも対応してるのはコモドールとかアップル2ですね。 バンク切り替えの仕方とかあるから、ファミコンのソフトは おそらく開発できないんでしょうね。
あぼーん
あぼーん
>>62 さん
わからんことがあったら質問すれって言ったのに
教えてくれないんだね
もういいや
教えて君でしたごめんなさい
あぼーん
- lda $2002 bpl - $2002のd7はread後0になる。が、VBlank発生時にセットされるので その瞬間Aレジスタの内容は負と見なされ、ループを抜け出すってわけ。 NMIやBRKはステータスフラグIがセットされてても割り込んでくる。 フラグBはBRK/IRQを区別するために使い、BRKならセットされ、NMI/IRQ時はクリアされる。 その後ステータスフラグがスタックに積まれる。 プログラマはVBlankの発生を知る事ができれば良いので 具体的な走査線の位置やサイクル数を意識せずにコーディングできる。 ごめん、知ったか。間違ってたら誰かつっこんで。
マンホール覗いて見たんだが lda #$40 sta $4017;←コレってナニしてんだ?
215 :
名前は開発中のものです。 :02/12/25 14:18 ID:EQTisLnI
>>214 2コンの状態を取りたいんじゃネーノ?
よく知らないけど。
と釣られてみるテスト
218 :
名前は開発中のものです。 :02/12/26 02:34 ID:HHWC8i7d
>>216 214がK氏のジサクジエーンって事か?
219 :
214 :02/12/26 03:11 ID:P52uZ8tN
スレ盛り上げようとネタ振ってみただけなのに酷い言われようだな。 NES作ってる奴には馬鹿しかいないって事がよくわかったよ。 糞が。
220 :
K氏 :02/12/26 03:48 ID:U2wlhyMY
>>214 実機で動かしたときに音が遅かったから、それを修正するため。
あぼーん
すずめ愛好会がお亡くなりダヨ。 日本語NESの資料がまた一つ消えた。 (まだググルのキャッシュにはあると思うが)
例によって移転じゃなくて?
224 :
名前は開発中のものです。 :03/01/03 16:06 ID:PL7JrFls
「これは読んどけ」っていうルーチンコードやソースあったら教えれ
あぼーん
>>224 中期から後期のゲーム、何か1本解析してみるのがいいかと。
初期の香具師は大抵バッチィのでお薦めしませぬ。
サイズ的には、1986年辺りにリリースされたゲームがほどよい感じ。
初期のは確かにバッチィ。
初のPRG-ROM空間32Kのスーパーマリオブラザーズはバッチ(・∀・)ィィ?
データがめっちゃギリギリに入ってたような。。。>すーまり
あぼーん
>>K氏 今何かファミコンのゲーム作ってる?
つかファミコンのソフト作ってる奴ってどれくらいいるんだ? 国内のみで
あぼーん
まんほーるがnesdevに置かれてる(笑) 海外進出かぁイイね
なんでk氏のいるスレって荒れやすいんだろう 他はまったりしてるのに・・・
荒れやすいスレにK氏が良くいるだけでしょうw それにここの板は(ry
237 :
苦戦中 :03/01/07 04:01 ID:kqrHGyO2
あぼーん
あぼーん
ネタフリ $2003を二度書きレジスタだと勘違いしてる人多いよね エミュレータに実装してる人も多い? まんほーるで謎コード発見 ldx #$DE label: txa txa txa txa dex bne label ギャラクシアンはステップ処理じゃなくて擬似タスク用いてるらしいよ 16kPRGだから一度ソースに目を通してみれば?
Xに$DEを書き込んで、XからAに4回転送。 Xを1減らしてループ、Xの値をAに4回転送しつづける。 0になったら脱出。でいいのかな? まさに最近手をつけ始めた素人なんで、とんと見当が付きませんが ウエイトかなんかでっか?
おい!K君! ジョイパッドルーチンやRAMクリアルーチンその他いろいろパクってるだろ! $0-$6FFクリアだからハイスコアを7ページに書き込んでるし!! くれぐれもコピペプログラマだけにはなるなよ!!
あぼーん
$2003なんてスプライトDMA転送前に使われるだけじゃん? なにもしなくてもたぶん問題ない。
247 :
K氏 :03/01/08 21:54 ID:W0Zax9Fy
>>242-243 それはそこの前後数行を見るとわかると思いますがただのウェイトです。
なんでnopじゃないのかというと、
開発に使ってるG-NESのデバッガのブレークポイントに常にnopを指定しているので
nopを使うといちいちそこでブレークするからです。
txaである理由は特になし。
>>244 ジョイパッドルーチンは自分で書きました。参考にしたソフトはありますが、
漏れのソフトは手を抜いてるのでどれも1コンしか取得してません。
RAMクリアは、昔のはjunkdemoかなんかをパクってたけど今のはパクってません。
$6FFまでクリアして7にハイスコア入れてるのは、
エミュだと問題ないから放置してるけどあからさまにバグです。
つーことで今は自分の書いたソース以外からは少しもコピペしてませぬ。
248 :
a :03/01/08 22:58 ID:tqcjWVOo
a
aa
>>246 DMA転送は$2003関係ない気がするんだが、$4014じゃないのか?
>>247 あれバグなのか。ソフトリセットでハイスコア消さないようにしてるんだと思ってたんだけど。
251 :
K氏 :03/01/09 00:03 ID:Awk+4ArT
>>250 そのつもりだったけど、実機でやるとエミュと違って起動時のメモリの状態が00とは限らないから
起動直後のハイスコアがめちゃくちゃになる。
なんかこのスレに書き込めない
あぼーん
inc
256
あぼーん
K君はこのスレに書き込む時は日記のノリでよろしく なんか冷めた目で見られてる感じがするんだよ(´・ω・`)
実際冷めてるんだから仕方ない
冷めてるなら見なきゃいいだろ もう来なくていいよ、おまえのスレじゃないんだから
260のスレでも無いと思うがな
僕の作ったNESが動きません。 誰か助けて・
あぼーん
あぼーん
>>264 も少しガンバテミル。
幻の117.nesの解析が一応完了した。
どうやってラスタースクロールしてるのかはわからなかった。($02があやすぃ気がしる)
次はK君のchr0個系のを解析してみよう。
未だ自作のは動かず。(^-^)
ラスタースクロールしてねえし!! まんまとパレットに騙されてたわ。まぁよく見る手法ですよね。 擬似ラスタースクロールと呼んでおこう。(^-^)
パレットっていうかネームテーブルアトリビュートが変動してるからか。(^-^)
NesDev 漏れのROMが無断転載( ゚д゚)ポカーン ってコメントを期待したい 果たして腹黒の彼にできるだろうか。。。
あぼーん
それってコスモス?
272 :
山崎渉 :03/01/14 04:06 ID:uvnVRixl
(^^)
昔どこかの板で 「自作自演だと思われるから俺にレスしないで」 って言ってたコテハンがいたよ おまえ何のためにコテハン名乗ってんだよと 何しに2ch来てんだよと それと同様に、自作自演じゃ人望はついてこないんだよね いくら技術があってもね もっと気楽にいこうよ がんばれ
まだ右も左も解らないので、ワークもアドレス直指定で、 ちょこちょことプログラムを書いてます。 まだ画面スクロールさせて文字出すだけ、 K氏の様にはいかんが、これは楽しい。 なんでかROM_WRITERが手元にあるので、 暇を見つけて実機でも試してみる。 そういやすずめ復活してました、ありがたい。
Undefined symbol in operand field!
>274 275はオマエのしるべだ。 有りがたく拝聴しろよ。
アセンブラレベルでコピペプログラマも何もないと思う。 ましてや、あの時代。 有るものは使え。無いものは作れ。
BANKは8KB(8,192byte = $2000)ずつで0-127まで指定可。
という事が今わかった。(NESASM)
>>275 は未解決。NMIからジョイパッドルーチンがコールできず。(^-^)
(T-T)
ソース見せれば誰かが教えてくれるんじゃないかと言ってみるテスト
GBのパックマンでわからないところがあるんだけど ここで質問してもいいかな?
.inesprg 2 .ineschr 0 .inesmir 0 .inesmap 0 .bank 0 .org $C000 Reset: cld sei .waitv: lda $2002 bpl .waitv lda #$80 sta $2000 .loop: jmp .loop .pad: rts NMI: jsr .pad IRQ: rti .bank 1 .org $FFFA .dw NMI .dw Reset .dw IRQ 汚くてごめんなさい。これは簡略化したものですが、NESASMが通りません。 ラベル以外の文頭には全てインデント付けてます。何故?
"."がラベル先頭に付くとローカルラベルになる為だと思われ。>ASM通らない
283 :
補足 :03/01/16 23:12 ID:rVYnNUIl
.がついてないのがグローバルラベル
ローカルラベルは、他のグローバルラベルのエリアからは呼び出す事が出来ない
それが
>>275
おお!"."外したら通りました。
>>282 神!感謝!
ローカルにするメリットは視覚的なものなのでしょうか。
グローバルにするデメリットは無し!?
う、被った。
>>283 重ね重ねありがとうございます。
>>280 いいんじゃない?
もしかして某廃墟になったスレでGB公開してた人ですか?人違いならスマソ
つーかこのスレ、コンシューマ全般の技術スレってのはどうよ?
>>1 さん見てる?
NESROMって公開しても大丈夫なの?
自分で作ったのならあまり問題ないんじゃないの? 完全に問題がないとは言えないかもしれないけど。
グローバルラベルとローカルラベルの 使い分けは、例えばどのような局面で使うのでしょう?
ソースが小さいうちは気にしなくても構わないと思うよ>使い分け
アセンブラ覚えるより自分で表見てマシン語直接打ち込んだ方が早いと思わない?
>>291 なんで?コード追加したりしたら相対分岐とかめんどくせーじゃん?
むしろアセンブラが便利過ぎるんだYP!
001000000010010100000001
D8 78
>>294 基本的には
キー入力に従ってパクマソの座標データ更新
↓
モンスターの座標データ更新
↓
画面更新
をフレーム毎にやればいいんじゃないかな
main関数内でHIDEやSHOWなんたら関数を呼んでみるとか
キー入力しないとモンスターが動かないところも怪しい
>>294 ファイルへのリンクが青で小さい字だから今まで見えてなかった。。。
297がレスして初めてファイルの存在に気が付いた
っていうか画面更新はフレーム毎にしかできないわけだが(w
tp://homepage2.nifty.com/natupaji/DxLib/lecture/lecture1_1.html
>>297 パクマソさんキタ*・゜゚・*:.。..。.:*・゜(゚∀゚)゚・*:.。. .。.:*・゜゚・*!!!!!
なにかと思えばGBかよ! スレ違いも甚だしい! 97行目のwaitpadを消してみそ。 チャタリングを防ぎたいなら直前のパッドの状態を保存しておいて比較しる。
チャタリング・・・初めて聞く言葉なんで調べてみたが、なるほどそういう事か それにしてもこういう技術・情報はどっから仕入れてくるんだ? このスレ見てなかったら、たぶん一生耳に入ってこなかったな
305 :
名前は開発中のものです。 :03/01/22 14:11 ID:LamjTrsZ
>>304 「チャタる」なんつー言葉は電子工作やってりゃ耳にしたりは
するけどな。
最近の香具師は半田ごて握ったりなんぞしないんだろな。
スレ違いすまそ。
306 :
304 :03/01/22 14:30 ID:DUIibNU7
さすがにハンダゴテくらいは触った事あるが 工学よりの知識無いだけで馬鹿にされるのか 鬱だ氏のう
>>306 すまん、バカにしているわけじゃないのだ。
単に経験の差だけの話。
つーことでこれからも精進しておくんなまし。
∧ ∧ ( ̄ー ̄) (つ つ ( ヽノ し(_) Now Thread Stoping. ... 大変見苦しいスレでありました. スレストするまでお待ちください。。。ニヤリッ
∧ ∧ / ・ / ';, / '; / '; / ;______/ ; / \ / / \ \ /´ ( ) |____| ( ) | | ///// ( | :| ) ///// | | ( ) :| | ( ( | | ) ( | | ) ) | | ( ) '; / ( ( / \ ) ( \/ ) ) ../ ヽ ........:::::::< いいスレだったモナー ~ お し ま い ~
スレ違い
」 ―――――――――――――‐┬┘ | ソース ____.____ | を | | | | スレに | | /65\ | | 貼り付けろ | |( ´∀`)つ ミ | __ | |/ ⊃ ノ | | [ asm] (゚∀。)KIL!  ̄ ̄ ̄ ̄' ̄ ̄ ̄ ̄ |  ̄ ̄ (・∀・)LDA!
なんかネタある? もっとこのスレに愛を
PCEのでべろアセンブラ編を参考資料にしてるんだけど、 命令のサイクル数って、本家6502と同じだろうか? 知ってる人なぞ、居ないっぽいけど。 PCEはファミコン参考にして作ったっていうけどホントだね。 CPUも6502にブロック転送関係の命令やらを付加した感じだし。
>>314 同じだろう。仮に違ったとしても無視できる程度だろう。
むしろ一部のエミュが1H=114サイクルなどとしてる方が遥かに問題。
316 :
314 :03/01/26 13:08 ID:zhwX3XVz
サンクス。クロック削り系プログラムは、まだ無縁ですが効率を意識だけは しておきたかったので。そんななので、1H=114サイクルの1サイクル違いは、 まだピンと来てません。そんなに問題でっか? 市販のゲーム走らせる時とか?
サイクル数が同じかどうかは、正直分からないけどね。 「1H=114サイクル」てのは精度の問題で、1H=113.6の様に少数値も有効に計算しないとダメって事。
同じと言えば、最近816のニーモニック見たんだが やはりと言うかc02のそれとあまり変わらないね。 でもBRKとか微妙にサイクル数増えてるっぽい。
Sファミに移行でっか? 正直一人でやるにはSファミはリソース使えすぎ。 といって、ファミコンだと不満たらたらになりそゲだが。
>K氏 ゴメン。
( ´Д`)?
( ´Д`)あれ?トリップ違う…
NESDEVのリンク先にあったGbaGuy氏の NES ASM Tutorial が いつの間に消えちゃっててかなりショボーン。 これを真ん中くらいまで読んで、スプライトをパッドで動かすプログラムを 書けるところまできたのに・・・。
>323 消えてるね。つい最近までは見れたのに。 一応Day19までローカルに保存してあるから 良かったらあぷしよっか?
325 :
323 :03/01/31 23:35 ID:HzUTGBrX
>>324 ホントですか!? もしよろしかったらお願いします。
見られてた頃に全部プリントアウトしておけばよかったのですが、
たまたま紙がなくDay11までしか保存できなかったんです。
数日後に紙を買ってきた時にはもう(ry。
ほい。 tp://www.42ch.net/UploaderSmall/source/1044032373.zip passはvsyncね。
327 :
323 :03/02/01 13:08 ID:EdEII+ht
>>326 どうもありがとうございます。
・・・って、実はまだ落とせてないんです。
あぷろだが落ちてるみたいで、Irvineのログを見ると503エラーの連発。
もう少々お待ちください。
328 :
名前は開発中のものです。 :03/02/01 17:38 ID:Vm19fvhN
便乗して貰っていきます。 ありがとうさん>326 といいつつも、まだ落とせない罠。
gbdkで for(・・・){ 乱数初期化(sys_time) 関数(乱数) } で一応乱数にはなるんだけど 111222333444・・・みたいに 同じ値ばかり続くんだけど
アセンブラしかわかりません
331 :
名前は開発中のものです。 :03/02/01 21:15 ID:S6SlZaFR
ループから乱数初期化だしてみ?
>>331 ありがとう(´Д⊂ヽ
乱数初期化は1回でいいんだね
>>332 せっかくだからアセンブラでGB組んでみたら?
速度も速いし、GBのアーキテクチャも見えてくると思うけど
( ´Д`)おまえアーキテクチャって言いたいだけちゃうんかと
334 :
323 :03/02/02 23:18 ID:WMrVYZfK
>>326 結局503エラーで落とせないまま流れてしまいました。
すみませんが別のあぷろだに上げていただけないでしょうか。
>334 どこか良いあぷろだある?
336 :
323 :03/02/03 03:01 ID:HghRR+1D
>336 あげました。352.zipです。
日本語訳マダ~?
339 :
323 :03/02/03 19:45 ID:HghRR+1D
>>337 ようやく落とせました。中身もちゃんと読めてます。
どうもありがとうございました。
>338 俺はフィーリングでなんとか読んだよ。 >339 GbaGuy氏への感謝も忘れずにナ。 Happy Coding!
341 :
328 :03/02/04 03:07 ID:xVrwAWBC
便乗しますた、サンクス!>337&GbaGuy >便乗して貰っていきます。 なんと言うか、馬から落ちて落馬気味。 恥ずかしいなあ、もう。
342 :
328 :03/02/04 03:09 ID:xVrwAWBC
>>338 プログラマはコードで語るモンだ、コード嫁(W
コードが読めれば後は340氏が言う通りフィーリングだな。
sage忘れすまそ。
∧ ∧ / ・ / ';, / '; / '; / ;______/ ; / \ / / \ \ /´ ( ) |____| ( ) | | ///// ( | :| ) ///// | | ( ) :| | ( ( | | ) ( | | ) ) | | ( ) '; / ( ( / \ ) ( \/ ) ) ../ ヽ ........:::::::< いいスレだったモナー ~ お し ま い ~
>314 pceは最初からバンク切り替えが仕様に入ってます。 だからメモリの使い方がだいたい統一されているので 本当は逆汗とかで解析されやすいと思うんだけど。 ファミコンはそれぞれのゲーム会社が独自仕様の バンク切り替え、、、 ファミコンのプログラム作ってる人はどのバンク切り替え法を 使うのがいいのでしょうか。
どれでも。
>>344 俺はUNとCNが好きだね。
というかそれしか使えんわけだが。
IRQも知らんトーシロですが何か?
バンク切り替えの手法より、実機に焼く時に手に入りやすい バンクコントローラーが優先だったりして(w あとは、拡張機能でって香具師もいるかな? 漏れは、まだバンク切り替え自体未経験。
UN CNってどうゆう意味なの?
UNROM(#2),CNROM(#3) 同マッパーでもnamcot1xxやMMC1Bなどのように チップのバージョン違いがあるらしいね エミュレーションってスゲー
>UNROM(#2),CNROM(#3) それは分かるんだが,たとえば任天堂MMC1は「任天堂製のマルチメモリコントローラーの1」じゃん。 では UNは何か?と
>>351 別にVBL待たなくても良いですが、結局$2006を設定しなければ
いけないよ。表示中の画面腐るぞw
マッパー名は基板やチップに書いてあるものを誰かが採用しただけでそ。
画面表示中に$2006でアドレス指定しようとすると ネームテーブルのスクロールを制御してしまうわけか >174で言っている内容壊れるというのもこれの類だろうか
そうです。俺は174じゃないけど。
K氏のAirはちまちま進んでいるみたいですね。 音源ドライバも自作して、着々な雰囲気ですが、5曲分なのは データのコンバートがめんどいから? ドライバの制作以上にコンパイラは手間食いそうだしなあ。
356 :
名前は開発中のものです。 :03/02/20 02:03 ID:K3tLWKJB
あぼーん
再選
359 :
名前は開発中のものです。 :03/03/31 11:39 ID:DZmddMIH
ahya
___. ∩゛ ∧空∧ ((( ))) /\ /. ――┤. -=・=- -=・=- | | ∧ ∧{´ ◎ `}____( ´∀`)\ う \ ./(. = ,= | ∧∧ ∧_∧ | | ( ´ー`) ):::/´∀` ;:::: \ヽ(`Д´)ノ゛\ ま\ |||\┏┓/∫ (=゚ω゚)ノ~ ( ´Д`)// \ < .∧|∧ /::::::::::| .¶_¶. \い\ V/ ∧,,∧ ∬ ~( x) / / ,一-、(´ー`) /:::::|::::::| (ΦдΦ)/~ \棒\ || ミ,,゚Д゚ノ,っ━~~ U U / /| / / ̄ l⊂ヽ \/|:::::::::|::::::| γ__ ∧w∧ 旦∬ 人 ミ ,,, ~,,,ノ .n THANK YOU 2ch ■■-っ ┌───────┐ \ ( ゚Д゚ )∩゛ ( ゚ー゚)と..ミ,,,/~),ヽ(凸)ノ~ and.. ´∀`/. | ● ● | ヽ ノ / ̄ ̄し'J\[Y] GOOD-BYE 2ch WORLD! /| .┌▽▽▽▽┐. |____|__||_| )) / ● ●、ヽ (. ┤ .| |. |□━□ ) (゚Д゚)? |Y Y \ またどこかで会おうね.. \. └△△△△┘. | J |)∧_∧ |.| | .▼ |∀゚) |\あ\ | ∀ ノ " , 、 ミ | \ /■\ _人 |∧∧∩゛∧_∧∩゛∧_∧ | \り.\ | - Å′ ゝ∀ く | ( ´∀`)___/( ゚Д゚.)'/ ( ´∀` )/ (・∀・ ),. |. \が\. | ). \ Λ_Λ \ ( O ) 冫、 U / ( / ⊂ ⊂.)ヽ(´ー`)ノ゛ \と.. ∧_∧/(´Д`;)<丶`∀´> |││ │ ` | | ∪ | | ( ( ( ( へ (゚д゚)~⌒(゚ー゚*) (-_-) (・ω・` ) (_(__(__)(・∀・) ∪~∪ (_(__) (_(_) く ⊂⌒~⊃。Д。)⊃⊃⊃(∩∩)(∩ ∩)
age
あぼーん
あぼーん
あぼーん
365 :
名前は開発中のものです。 :03/06/13 18:06 ID:nr6dG+Cz
何か出来た?
あぼーん
改造マリオはやっぱり1が中心なのかいな。 3をファイナルファンタジーのキャラに改造した ヤシはおらんのか
マリオの絵を書き換えるぐらいなら誰でも出来るから自分でやれ
フリーのデモで、サンプリング音を鳴らすやつがあるんだけど、 .nesが1メガバイト越えてる。こんなでかいプログラム作れるのね。 マッパーは2。 調べたらマッパー2は128kの8個しかバンクがないゲーム用だって。 一メガバイトこえてても正常動作するらすい。でも実機で動作するかは不明。 1メガバイト越えるロムを書き込める書き込み用ロムがあるのかも不明。
漏れも1メガバイトより大きいNESファイル作った事があって エミュでは動いたけど、実機で動くのかどうかはわからんな…
>>373 残念ながら、ここはあなたのような低能がハックロムを作るスレではありません。
とっとと厨どもの戯れる自分のスレにお帰りくださいませ。
375 :
名前は開発中のものです。 :03/12/03 21:20 ID:1PCEbgY2
age
NESASM Tutorialでスプライトをキーで動かすところまで勉強したよ。 (NESticleで動いた。新しいエミュではなんか動かない) 昔の人はこの制約下でRPGとかよく作ったよなー 32ビットCから入った俺には想像できないよ。 16x16のスプライトは8x16を2つ並べてるのかな?
>>376 それでもいいし、8x8を4つでもいいし、好きな方で…
新しいエミュで動かないのは初期化が足りてないとか
VRAM関係で書かないといけないのを書いてないとかそういうのだと思う
僕もやっとスプライト動かせたよママン!!
おめ
380 :
376 :03/12/13 00:29 ID:E1hcCYxZ
NES ASM Tutorialを日本語化したようなサイトを作ろうかと思う
382 :
376 :03/12/13 01:15 ID:E1hcCYxZ
すずめ愛好会はGBのチュートリアルはあるがFCが無い 言語を問わずプログラムが少しできるくらいのレベルの人を対象として存在意義を持たせたい ギコ猫でもわかるファミコンプログラミング
383 :
376 :03/12/13 01:22 ID:E1hcCYxZ
まあでも流れからしてこのスレからは去るべきだな・・・さようなら。
このスレに流れなんかあったのか 停滞してるだけのようなw
君が流れをつくるんだっ
387 :
376 :03/12/13 23:28 ID:E1hcCYxZ
>>387 さーっと読んで見て気になったことが2つ
・バンクの説明が変な気がする
・スプライトの説明が間違ってる
(スプライトRAMは8bit長なので二度書きいらない)
(スプライトRAMは1つにつき4バイトであって、5バイト目はない)
あと、スプライトのスクリーンショットで左上に出てるのは設定してない1~63番のスプライトだと思われ
389 :
376 :03/12/14 01:01 ID:MwfHMkmJ
ご指摘ありがとうございます。 スプライトの間違いを修正。 バンクは保留。
>>376 お気に入り登録しちゃいました。
ところで.dwってどんな命令なんでしょうか?
初心者な質問すいません。
>>389 スプライト表示の奴だが、表示中にVRAMアクセス
($2006の書き込みも)はしないようにしよう。
色や表示がおかしくなるのは主にそのせい。
意図的に行う場合もあるけどね。
392 :
376 :03/12/14 08:27 ID:MwfHMkmJ
393 :
376 :03/12/14 09:03 ID:MwfHMkmJ
パレット読み込み中に描画してて、パレットが壊れてた VBlank同期待ちをパレットのロード前にして、NesterJでも色化け直りました NES ASM Tutorialのパクりサイトから一歩前進ってことで
>>389 半分直ってない…スプライトRAMは8bit長ですよ…
>>376 おおそうゆう事だったのか!アセンブラって初めてなもので。
ありがとうございます。
なるほど、僕もチュートリアル参考に書いてたら色がへんだったです。
直しました スプライト64個x4バイト=256=8ビットってことか これも、大元のNES ASM Tutorialが間違ってたか、 または、スプライトRAMのところで16bit指定の2度書きの説明をするという 誤解を招くようなことをしている
397 :
376 :03/12/14 15:29 ID:MwfHMkmJ
スプライト移動まで完成。とりあえず当分はここまで。 間違いの修正くらいはしますが。
376氏見てるかなぁ。 ちょうどアセンブラを勉強したいと思ってたところだったので、とっつきやすい日本語 チュートリアル作成の努力に感謝。 こっちもおもいっきしビギナーなので見当違いのことを言ってても許してね。 7章のゼロページの説明なんだけど、RAM領域の直接演算はゼロページじゃなくても 大丈夫なんじゃないかな? 試しに giko008.asm の X_Pos, Y_Pos を $07FE からにしても普通に動いた。 ゼロページへの速いアクセスという利点を活かすんだったら"<"を付けて lda <X_Pos とかにしたほうがいいと思う。 う~ん、すずめ愛好会に繋がらないなぁ。
399 :
376 :03/12/21 19:14 ID:h1Tt/3rQ
>>399 そこを読んでどう勘違いしたのかよくわかんないけど、
ゼロページと非ゼロページの違いは初めはわかんなくても大丈夫だと思うよ。
あと、そのページのサウンドの説明間違ってるね。
矩形波2つ、三角波、ノイズ波、ΔPCMの5つが使えます。
さらに言うと >実画面の大きさは256×256dotあり は間違いで実画面の大きさは256×240 >表示画面の大きさは256×240dot も間違いで表示画面の大きさは256×224
402 :
376 :03/12/21 22:33 ID:h1Tt/3rQ
今日は更新できなかった どうもBGの初期化中にVBlankが発生して初期化してる端からVRAMが壊れてしまっていたようだ 同期取りながら初期化しないとだめだな
ゼロページは間接アドレス指定する時必要なんですよ。
演算うんぬんとゼロページはまるで関係ないです。
>>401 表示画面ってテレビに映る範囲のこと?だとしたらこれはテレビの方式上の問題であり、ファミコンのハード、プログラムとは関係ありません。
テレビによって映る範囲は若干違いますし、256*224ドットと決めつけるのはおかしいですよ、と言うことです。
ただし、上下8ドット位は見えないと言うことは覚えておく必要はありますが。
405 :
376 :03/12/22 20:02 ID:ZhZCZyn2
404さんの助言を反映して、BGの章を更新しました
>>405 パターンテーブルがRAMのゲームもありますよ。
てことはこれは間違いなのかな?
http://vsync.org/ns/ns031.html ○パターンテーブル
BGやスプライトで使うパターンデータのテーブルです。
タイルパターンのサイズは8x8で、256x2個のパターンデータを持てます。
この部分は基本的にROMになっていて書き換えできません。
色について 実際に使える色は、1つのタイルパターンにつき3色、それが4種類持てるので 12色+背景色1色となります。 4色中1色は背景色(透明)になるので自由に使えません。
>>407 「基本的に」と書いてあるのであながち間違ってるとも言えないと思いますが。。。
例えばロックマンがRAMになっています。
>>408 このうち3番目の資料をお勧めします。
特に1番上は間違いがいくつかあるので。。。
SNESGTってどうやって使うんですか? ダウソしてみたけど使い方が書いてないので全然わかりません。
冬厨は帰れ
あーあ、412のせいでまた荒れるよ・・・ さらっと放置すりゃあいいのに
大丈夫。荒れるほど人はいないから。
ウザ
マターリ行きましょう。 長いこと静かだったスレがせっかく復活の兆しを見せたんですから。
>>414 レスが400近くまできてて人いないって・・・
全部おまえの自作自演か
大丈夫と言った手前このスレが荒れたら首吊ってくれな
何を過剰反応しているのやら・・・荒らしているのは自分達だってことに気が付いてくれ。
>>419 おまえがな
俺は411じゃないが、412を見て胸糞悪くなった
俺のレスで胸糞悪くなる人もいるんだよな、すまなかった これからはROMに徹することにするよ
蒸し返してすまんが、
>>412 はこのスレに何か貢献したのだろうか。していると思っているからこそ
>>411 を冬厨と呼ぶのだろうが
だったら俺は>>xxx-xxxのレベルの低さに対して「冬厨は帰れ」と言いたい。言わないけど。
実際にはVRAM破壊なんてねーしな。
>>351-354 参照。
$2003が二度書きレジスタじゃ無い事なんてとっくに
>>242 で出てるし。
「おまえらログも読めませんか?」なんて
>>411 に言われても何も言えんぞ。
つーわけで、
>>412 の書いたプログラムが見てみたいな。ネタ投下の意味も兼ねて。
>>422 \ ∩─ー、 ====
\/ ● 、_ `ヽ ======
/ \( ● ● |つ
| X_入__ノ ミ そんなエサで俺様がクマ――!!
、 (_/ ノ /⌒l
/\___ノ゙_/ / =====
〈 __ノ ====
\ \_ \
\___) \ ====== (´⌒
\ ___ \__ (´⌒;;(´⌒;;
\___)___)(´;;⌒ (´⌒;; ズザザザ
(´⌒; (´⌒;;;
>>422 あなたは現役のファミコンプログラマだったのですか?
このスレの人からもっと尊敬されたいのなら、そう言ってください。
みんなあなたのことを神と崇めますよ。
426 :
名前は開発中のものです。 :04/01/03 10:39 ID:o2I5q5tr
>>425 ( ゚д゚)ポカーンだけじゃ何言いたいかわからないよ。
って前に言われなかったか?K氏よ。
ほんと意思疎通力ないね。面倒で伝える気もないんだろうけど。
そんなんだから留年するんだよ。両親が可哀想で仕方ないよ。
ていうかK氏は厨房を叩く厨房の典型だろ。 DEMOまがいの糞作品しか作れないくせに厨房に対してはえらく強気なのな。留年学生のくせに(藁 あの日記は面白いんじゃなくて、みんなに笑われてるってことに気付いてほしいね。 何あのマン○ールの操作性。サウンドドライバ作ってますとか豪語しといて結局これですか(呆 マジで見てて恥ずかしすぎる。 これに対するK氏のレス ( ゚д゚)ポカーン 都合悪いといつもポカーンだよあんたは・・・
K氏はファミコン以外のプログラムの勉強はしてないんだろうか。 いまどき8ビットasm極めても何の役にもたたないし、自慢にならないんで。 それよりJavaやオブジェクト指向やネットワークや3DCGの勉強をしたほうがいい。 まあソフト開発者になんかならないとは思うけどねー。
>427-428は厨房を叩く厨房の典型(アヒャ ところで >それよりJavaやオブジェクト指向やネットワークや3DCGの勉強をしたほうがいい このいかにもアフォな選択肢はなんだと小一時間(ry
>>426 ガクブル教に対抗してるポカーン教の信者なんでしょ
ホットケ
K氏の日記わらた
G-NESやNestenは画面表示中のVBlank時にVRAM更新しても問題ないが、 NesterJやVirtuaNESはおかしくなる。 NesterJはデバッガが無いのでここでは用無しだが、エミュとしてはメジャーである。
NesterJとVirtuaNESで表示中にVRAM更新したけど壊れないじゃん。 >画面表示中のVBlank時 あり得ない
画面表示というか、$2001のbit3,4ONのことだ。 実機じゃないんだからどうでもいいといえばどうでもいい虚しいことだけどな
昔の記憶なんだけど、バットマンというゲームの1面で 建物(BG)の奥の夜景(BG)がラスタースクロールしていたのを見てすげぇと思ったよ あれはどうやって表現していたんだろう
>>432 漏れも不覚にも笑ってしまった
笑えるのは確かだ
あれ?でも
>>423 はあのダサいトリップ付けてないよ
なんでだろう(・∀・)
>>423 やっぱここか。|∀・)あけおめ
>>433-435 実はその辺がごく一部のゲームの再現するのに大事だったりする。
崩れるかどうかは、$2001のbit3,4[ON | OFF]に依った気がする。
あえて画面をおかしくしてるゲームもあるのかな? わざとなら凄いね。
VBlank中は、$2001のbit3,4にかかわらず、VRAM壊れないと思うけど。
>>436 キャラクタパターンをバンク切り替え。
一部のキャラクタパターン書き換えでスクロールしているように
見せる奴で、クライシスフォースなどでも使われてますね。
>>440 VBlank中ならそうですね。
表示期間中は$2006で設定した内容が常に変化しているので、
その最中はアクセスすると意図したアドレスをアクセス出来ない。
エミュレータではスキャンライン単位で処理する事が多いので、
表示期間中に読み書きしても大丈夫な場合もありますが、
どちらにせよやらない方がいいですね。
>>412 の書いたプログラムまだー?(チンチン
冬厨は帰れって言うくらいですからねぇ(・∀・)
でも日本人が作ったNESのオリジナルデモやゲームって サウンド関係を除くと、凄いのなんか何も無い気がする。 日本人ではAirやマンホールが最高峰なのか? やはりソーサリアンを待つしかないのか?
VirtuaNES作者のラスタースクロールデモとかあるよ。 このスレで紹介されてないだけで、NESとかSNESのプログラム作ってる人ってのは結構いる。 ていうか、2chに閉じ篭ってるから、それ関係のサイトからしか情報が入ってこないんじゃない? ソーサリアンて。 nesdevとか海外の作品はどうよ?
人にえらそうなこというわりには、自分もたいしたものを紹介してないな(笑) しまいには海外に振ってるし ガイジンの凄いデモは、うんざりでーす
nesdevのもみんな見たが大部分はゴミしかないな Excelで作ったパックマンのほうがはるかに凄いわ。 VirtualNesのデモもありがちだね。ファミコンらしさというものがない。 まだairやソーサリアンをファミコンで再現しようという試みのほうがロマン感じるわ。
>>446 VirtuaNESのデモがありがちだと?
あれがどんなにすごいことをやってるのかおまえにはわからないんだろうな…
ごめん、
>>446 はVirtualNesのデモと書いてるな
そんなのは知らなかった
>>447-448 もしかしてVirtualPlayerと勘違いした?w
>>446 人の作品をゴミ呼ばわりするわりには、自分もたいしたものを作ってないな(笑)
しまいにはExcelに振ってるし ファミコンらしさだとか主観はもううんざりでーす
と冗談はこれくらいにして・・・
どんなにすごい事をしてても、ゲームやデモとして何か人を魅せるものが無ければ
だめなんだよなぁ、と。 人によってロマンを感じるところって違うわけだし。
いや、俺はあのデモ好きだけどね。
今悩んでるんだけど、2x2もしくは4x4のマップチップをネームテーブルに展開するにはどうすればいいんだろ? MapChipData: ; A B C D .db 0,0,0,0 ; 0番目のマップチップ .db 1,1,2,3 ; 1番目のマップチップ .db 4,4,4,4 ; 2番目のマップチップ ; AB ; CD 例えば1番目のマップチップはネームテーブル上にこんな感じに配置される んで展開するルーチンが DeployMap: lda #$20 sta $2006 lda #$00 sta $2006 ldx #0 .L00: lda mapchip,x sta $2007 ;この辺りをどうするべきか cpx #4 bne .L00 VRAMに書き込むとき、A,BときてCはVRAMアドレスを+32して-1しなきゃいけないので、さてどうしたもんかと ネームテーブルデータを$400個持っちゃえば楽なんだけど、それだとやっぱ容量食うし
451 :
450 :04/01/09 14:56 ID:wO9j6+mX
む、今トイレに入ってじっくり考えてきたら何か見えてきたぞ
チップの上二つをMapWidth分書き込んだ後、チップ下二つをMapWidth分書き込む
上記の処理をMapHeight分繰り返す、みたいな感じ
というか
>>450 だけじゃ肝心のマップデータがないのでわからんな
452 :
450 :04/01/09 15:03 ID:wO9j6+mX
なんかおかしいな チップの上二つを書き込む→次のチップを読み込む→それをMapWidth分繰り返す かな つーかゲーム作ってるの俺だけか!?みんなファミコンの仕様を理解して満足しちゃってるのか!?
マップチップなんて言葉初めて聞いた。 ポテトチップスが食べたくなった。
454 :
450@ :04/01/09 15:12 ID:wO9j6+mX
マップパーツだっけ?んなこたぁどーでもいーんだよ!
455 :
450 :04/01/09 15:27 ID:wO9j6+mX
しかしあれだな、8bitなasmやってると目から鱗が落ちまくりだな WORDデータのテーブルを参照するときに、ただ横にズラズラ書いていくと128個のindexしか作れないが 下位アドレスと上位アドレスに分けておけば1Byteでindexが作れるの こんな事、高級言語を触ってるときは思いもしなかったからマジ感動した
おまえはビットフィールドも知らんのか。
457 :
450 :04/01/09 20:03 ID:G5Qm3NkT
>>456 すまん、あんたが何を主張したいのかわからん
もっとデータ構造をbit単位で切り詰めろ!って言いたいの?
lda #$2002 lda VrmAddr_H sta $2006 lda VrmAddr_L sta $2006 lda mapchip+0 sta $2007 lda mapchip+1 sta $2007 clc lda VrmAddr_L adc #32 tax adc VrmAddr_H sta $2006 txa sta $2006 lda mapchip+2 sta $2007 lda mapchip+3 sta $2007 こういうこと?見当違いならすまん。
一行め間違った lda $2002
lda $2002 lda VrmAddr_H sta $2006 lda VrmAddr_L sta $2006 lda mapchip+0 sta $2007 lda mapchip+1 sta $2007 clc lda VrmAddr_L adc #32 tax lda VrmAddr_H adc #0 sta $2006 txa sta $2006 lda mapchip+2 sta $2007 lda mapchip+3 sta $2007 他にも間違ってた・・・。こんなもんで、やり直しスマソ
461 :
450 :04/01/10 11:12 ID:mLR/RzRH
>>460 おおー!VRAMアドレスを保存しておけばいいわけか
こっちのほうが
>>450-452 で考えてたものよりずっとスマートだ
Xレジスタに退避させてるのはpha/plaのほうがコストがかかるからですね
㌧クスコ!
スレが止まってしまったな…
なにか具体的なプロジェクトが欲しいところですな
465 :
387 :04/01/22 20:40 ID:naElxtUD
コツコツ更新してますよー しかしそろそろネタギレだな 0番以外のマッパーまではやらないので
>>456 意味不明
あの文脈で何故ビットフィールドが出て来るのか説明きぼんぬ
>>462-463 おまえらさぁ、自分からどうこうしようという気はないの?
>>387 局所的なラベルにはローカルラベルを使うといいよ
ラベル名の衝突を防げるから、ちょっとしたループにいちいち~Subとかラベル名を考えずに済む
とかさぁ
え?もうそんなレベルじゃないって?そうですか・・・
このスレでまったり情報交換とかしてファミコンのゲームを作ろうとか思ってた俺が馬鹿だったと
あーもういいよいいよ ふーんだ
( ´_ゝ`)フーン
>>463 ・プログラムレベルでのハックロム
・タイトル移植
・勝手にビッグタイトルの続編制作
・新作タイトル
・ファミコンでネット接続
ほかになんかめぼしい企画ありまつか?
>>466 情報交換したいなら何か書けば?
こっちは特に知りたいことがないけど、聞かれれば答えますよ。
>>468 ・勝手に期待はずれだったタイトルの作り直し
かな
勝手に名作へバージョンアップ 劇的ビフォア・アフター
6502に期待AGE。
まずは自分がまったりしろと言いたい。
ところで ・ファミコンでネット接続 って、野村ホームトレードのエミュレートを利用するつもりなのですか?
>>474 RAMアダプターの背面端子をモデムかPCのRS232Cにつないで
ContikiかUZIXあたりのコードを借りてきて・・・
ってな感じでできないですかね
企画があっても結局何もできない奴もいるよな。 絵師がいないので何も出来ません言う奴とか。 でつまつ口調やら(´・ω・`)やら多用して媚び売る奴とか。きもちわる。 こういう奴等って何のためにゲーム作ってるのか理解に苦しむ。 age厨、ハックロム厨も出てきたことだし、このスレも終わったな。 はいちゃが絡むとろくなことねぇな。
おいおい、礼くらいしろよ、Javaプログラマさんよ もうこのスレの住人とはやってられん
>>477 釣りですか?
ハックロム厨はこのスレの初めの方からいますよ。
しかも微妙にローカルラベルの説明間違ってるし
>>469 >こっちは特に知りたいことがないけど、聞かれれば答えますよ。
うわぁすごいなぁ、何でも知ってるんですね
さぞかし素晴らしい実績をお持ちなんでしょう
>>477 おまえみたいに協調性に乏しいやつのほうがよっぽど役に立たないよ
>>469 あなたは現役のファミコンプログラマだったのですか?
このスレの人からもっと尊敬されたいのなら、そう言ってください。
みんなあなたのことを神と崇めますよ。
>>482 スルーできてねぇよ
何も書き込むな馬鹿
>>483 わざわざ蒸し返す君のどこに協調性があるというのかね
君が何をそんなにムキになっているのかは知らんが(・∀・)ニヤニヤ
熱い議論の最中ですまんが、教えて欲しいことがある。 よくスプライトRAMアドレスを$0000に設定する時に lda #$00 sta $2003 と書きますが実機でも(初期型も含めて)正しく動作しているのですか? 初心者の目からは$2003は二度書きレジスタに見えるのだが。
スプライトRAMは8bitしかないから一度書きで大丈夫です。
>>486 そういえばスプライトRAMは$FFまででした…スマソ。
なかなか6502は難しいな。
それは6502とは関係ないだろ
いや、全体的な作りとかです。
>>485 釣りですか?
その話はこのスレで何度も出てますよ。
スプライトDMA使わずに、$2004でデータ書き込むゲームってあるの?99.9%なさそうなんだけど。
麻雀とか上海スプライトをほとんど使ってないゲームは スプライトDMA使わないほうがRAM領域が使いやすいだろうな。
K氏が関係するスレは必ず荒れるというジンクスがあります。 何故なら彼が名無しで弱者を叩いて優越感に浸っているからです。留年の鬱憤を晴らすために…。 しかも彼は煽り耐性ゼロ。一度火がついたら止められません。放置が一番効果的です。 このレスも( ´_ゝ`)フーン、( ゚Д゚)ポカーン、などと煽るでしょう。しかし構ってはいけません。 自作自演による自サイトの紹介など、このスレが全てを物語っています。
なんか偉そうな人ばっかですね、このスレ その割には似非プログラマが多くて笑える
実際本気ゲーム作る気あるプログラマなんて居ないね…ここ
>>468 のような企画厨と
>>469 のようなNESアーキテクチャがわかるってだけで偉そうな奴しかいない
ファミコンで動かす事にしか興味が無くて
「ゲームプログラミング」なんてした事無い連中だろうな
>>493 このスレで( ´_ゝ`)フーン( ゚Д゚)ポカーンなんて一度も書き込んでいませんが何か?
>>495-496 ゲーム作りましたが何か?
Air完成してないくせに・・・ もうほっときましょ
499 :
K市 :04/01/27 20:28 ID:mICw7IYC
>>497 もしかして、あの 操 作 性 最 悪 な デ モ のことですか?
>>499 釣りですか?
騙りはこのスレの初めの方からいますよ。
どうでもいいけど、K氏って釣られる事を異常に恐れてるよな
だから
>>423 や
>>477 のようなレスをするんだろうなぁ
そのくせ煽りに果敢にも立ち向かっていくというw
そして反撃を食らう、その不毛な争いの繰り返し
釣りだと思うのなら、ぐっと我慢しる
それでもキンタマついてんのか?女々しいぞお前等!
>>502 2chにはそういう人多いよ。というより2ch見てる人がそういう傾向に陥りやすい。
冷静を装っていても、ネタとか釣りだとか言い出した時点で気にしてるってバレバレ。
2chもファミコンも純粋に楽しめないのかな。可哀想に。
このスレの住人を分類してみる ・K氏(人生そのものがネタ) 多数(であろう) ・K氏を煽らずには居られない奴 ・K氏を騙らずには居られない奴 ・とにかく荒らしたい奴 ・とにかく煽りたい奴 ・とにかく喧嘩腰の奴 ・偉そうに嘘を言う奴 ・~等、~連中と十把一絡げな奴 ・ROMってるだけの奴 少数(だと思う) ・まじめにプログラム組みたい奴
>504 で、あなたはどれに入るのですかい? たしかに漏れは「人生そのものがネタ」なんて言う奴は大嫌いだが。
506 :
名前は開発中のものです。 :04/01/31 18:53 ID:31A9ShCP
オレ「そう・・旨いよ、愛子・・すごく・・・もうドルアーガの塔だよ・・」 時と共に激しさを増す愛子のディープダンジョンに、オレはエキサイトバイクしていた。 正直、いまだ子供の愛子では充分満足できるボンバーキングは得られないと思っていたのだが、 愛子の激しいディープダンジョンは思った以上のビックリマンワールド。 愛子「お兄ちゃん、どう?月風魔伝?」 オレ「あぁ・・・すごく、源平討魔伝だよ・・」 自分の上で腰をエグゼドエグゼスする愛子のポパイを愛撫する。 オレ「愛してるよ、愛子・・・こんなじゃじゃ丸の大冒険しちゃった以上、もうお前をディグダグしたりしないから・・・・・・・」 愛子「うん・・・ぅ、ん・・ディグ・・ダグしないでっ・・私たち・・もうチャレンジャーなんだから・・・!」 オレは愛子のピンボールを舌でバブルボブルし、愛子はエグゼドエグゼスを更にマッハライダーする。 オレ「ああ・・・お前は最高のマイティボンジャックだよ・・!」 愛子「私・・もう・・・ダメ・・・スペランカーしちゃう・・・!」 愛子の水戸黄門はもうメタルマックスだ。 するといきなりMOTHERが急に扉をデビルワールドした。 MOTHER「あんたたち・・・ハリキリスタジアーム!!」
507 :
名前は開発中のものです。 :04/02/10 22:48 ID:wKO5G//H
何を隠そうオレ自身が「クソゲー!」とかゆって カートリッジたたきわったりしてたようなゲームすら 作れない。
>>506 …愛子って言ったら、アレしか思い付かない。
てnうあやめrrrrrrrrrrrrrrrrr
みんながマターリすれば無問題だとおもんですが、 世界はそんなに甘くないね、そうですね、それじゃあ
511 :
マリオ :04/02/28 01:24 ID:p5s/aYnn
ねーねー♪ ファミコンてなに? 教えて、エロい人♪ | ^∀^)ノ
513 :
エロい人 :04/03/13 21:59 ID:+yKZHfTz
ファミコン = ファミリーコンプレックス 攻略本「たけしの挑戦状 虎の巻(下)完結編」の 後ろの方のたけしのコメントを読んで見てくれ。
514 :
485 :04/03/30 13:06 ID:Jsd19X+k
一ヶ月前はすみませんでした。 ジョイパッドのソース書いて動作確認したら VirtuaNESだけうまく動作しないのだが…。 lda #$01; パッド初期化 sta $4016 lda #$00 sta $4016 lda $4016; A bne exit lda $4016; B bne exit lda $4016; SELECT bne exit lda $4016; START bne exit lda $4016; ↑ bne Push_Up lda $4016; ↓ lda $4016; ← lda $4016; → exit: jmp loop Push_Up: dec s1.y dec s2.y jmp exit 汚いソースでスマソ。どうかご教授お願いします。
>>514 bit0でちゃんと判定しないと駄目かと。
参考になれば
joy_read:
ldx #$01
stx $4016
dex
stx $4016
jsr joy_sub
inx
jsr joy_sub
rts
joy_sub:
ldy #8
joy_sublp:
lda $4016,x
lsr a
ror PADBUF,x
dey
bne joy_sublp
rts
使う時は
lda PADBUF
and #$01 ; Aボタン
bne xxxx
lda PADBUF
and #$02 ; Bボタン
bne xxxx
516 :
485 :04/04/03 12:43 ID:27BgySbW
>>515 遅くなりましたが、ありがとうございます。
やはり bit0で判定しないと駄目ですかね。
パッド関係のソース書き直してみます。
>>514 多分VirtuaNESが色々なコントローラにしっかり対応してるからだろう。
いきなりで申し訳ないんだが、.NESのファイルから ヘッダを取り去ってPRGとCHRに分けてくれるツールとかってありますか? ヘッダの読み方が判れば手作業でもイケるんだけど。
520 :
名前は開発中のものです。 :04/04/17 13:44 ID:xjcbtnZA
>>519 サンキューダンケ支援。
これで理解が進みます。
スレの進行はゆっくりだけど、ちゃんと見てる人はいるのね。
感動した(w
ノ
522 :
名前は開発中のものです。 :04/04/29 21:06 ID:mqNgI8c9
うわーーめちゃ懐かしくて笑ってしまった。 6502っておれの青春そのものだって改めて実感した。 なんか懐かしすぎて泣けてきた。 一本3ヶ月とかざらだったもんな。 辛かったなあの頃・・・。 > lda #$3F ;PPUアドレス上位 sta $2006 lda #$00 ;PPUアドレス下位 sta $2006
ひーといねー
ぶらぶらしていたら、見つけた、懐かしいねえ。 過去ログに32KBROMの最初はスーマリって書いてあるけど、Xeviousあたりじゃなかったけか? ROMエミュレータ使って開発していたのう…
>>526 テキスト版にでもするのか?(w
MMC5あたり使わないでどうやるんだろうか。
>>526 いま、見てきた。(w
不思議なスレですね。
光栄(現Koei)はCで組むために専用カートリッジ作らせていたなあ。
それで、バカ高ってユーザに怒られてたなあ。
530 :
名前は開発中のものです。 :04/06/13 18:40 ID:V884qtNT
>>527 チップ単位でパレット変えられれば強力ですしね。
今の絵は2*2単位か…、すげえなおい。
「ギコ猫でもわかるファミコンプログラミング」 更新ないね。
532 :
名前は開発中のものです。 :04/06/14 16:28 ID:L8ytMENj
かんたんなソフトを作ってみたんでできれば実機でやってみたいんです RAMカセットの製作ページや製作キットを売ってる店などありませんでしょうか?
ファミコンマンセー
535 :
名前は開発中のものです。 :04/06/21 19:02 ID:3IjdwXvX
37-39のプログラムをNESASMにかけてみました 「オマエモナ」という文字が下にスクロールしました 2年の時を越えて参考にします
>>533 PCをROMライタ代わりにするのが一番安くて手っ取り早い。
537 :
485 :04/07/17 10:49 ID:QP3hhLXC
日本語訳してあれば完璧ですが…
539 :
485 :04/07/17 11:42 ID:QP3hhLXC
>>538 日本語訳はこの後します。
…作者に連絡しないとまずいですかね?
英語書けない…(´・ω・`)
.cssがなければよい。
541 :
485 :04/07/17 13:37 ID:QP3hhLXC
今訳してるけど…正直電波訳になりそう。
>>540 時間余ってたら対応します。
542 :
485 :04/07/20 14:43 ID:UCrlwRs3
1-bの訳が難しい…。 css無しに対応しました。 このペースだと完成しなさそう。 もうちょいねばってみます。
547 :
485 :04/07/21 17:31 ID:an7QyT7I
>>543 , 544, 545
どもです。
545は特に参考にさせていただきます。
忙しいからペース落ちてますが、今日も訳してます(`・ω・´)
なんでスプライトなんだろ
妖精
OAMって、Object Attribute Memory の略じゃなかったけか? オブジェクトはATARI系の言葉かと思っていたけど。
ギコわかが半年ぶりの更新したね
翻訳全然進まない orz
>>552 今回の内容ってこのスレ的には当たり前なんですかね?
私の場合は困っていたから渡りに船だったんですけど。
そういえば、みなさん逆アセンブラって何使っていますか?
差し支えなかったら教えてください。
>>553 今回更新された内容って「割り込みしたときにPUSHしたまま帰るなよ」って話かな?
それだったらファミコンに限った話でもないし、わかってる人もそこそこいたんじゃないかな。
このスレにどれぐらいの人がいるのか知らないけど…
逆アセンブラは最近は使ってないけどmd6502使ってました。
>>554 >わかってる人もそこそこ
そうなんですか。
私は6502の仕様吸収がなじめないので、スタック使いこなせるのはすごいです。
市販ソフトはスタックバリバリ使ってるみたいだけど、
レジスタの代用にメモリ使うのとどっちがいいのやら…。
>md6502
なるほど。参考にさせていただきます。
>>555 680x系(6502も含む)のCPUは0ページ($0000-$00FF)をレジスタとして使う前提で命令が設計されてる。
命令実行クロック表見ると分かるよ。
PHXやらPHYなんて命令が無いあたりスッパリ割り切ってるからね。> 6502(PCエンジンのCPUには命令があります)
あと、スタックバリバリ使うって($0100-$01FF)の256バイトしかないから、スタック領域を別に切ってるとすぐにあふれると思うけど。
>>556 そうか、そうだったのか。
長年の疑問が晴れました、ありがとうございます。
>スタックバリバリ
あんま使ってないんですか?
どっかでみた資料が電波だったのか。
エミュのソース見てると UndocumentedOpCode(ドキュメントにない命令?)ってのがあるんだけど 実際にこういう命令使われてるROMってあるの?
稀にある。
>>559 ファミベでUndocumentedOpCodeを実行したら、エミュのソースに書かれている動作はしなかったよ。
>>562 とりあえずDOP(実質NOP)だけでもサポートしておくべきだったかなぁ…確か。
このスレに貼る意図は?
「ギコわか」の第11章のBGスクロールから、いきなり分からなくなった 属性テーブル意味不明
つまり1キャラだけパレットを変えたくても、できなくて、2*2(16*16ドット)単位が最低となると言う事。
>つまり1キャラだけパレットを変えたくても、できなくて、2*2(16*16ドット)単位が最低となると言う事。 そうなんだけど、ファミコン後期に任天堂が開発した MMC5を使用するとその制限がなくなる。
少ないけどあるよ。 別にRAMだろうがバンク切り替えは出来るよ。
573 :
566 :04/08/27 04:43 ID:TByCkehf
やっとネームテーブルと属性テーブルが理解できた気がする しかし、自作ゲームで、マップデータを maptbl: >.db $00,$01,$01,$00… の形で作ったとして、どうやって960も読み込ませるんだろう? >lda maptbl,x とやっても、レジスタは255までしかインクリメントできないし
574 :
566 :04/08/27 04:45 ID:TByCkehf
タブの入力間違えた…
>>573 適当だけども
lda maptbl
sta $00
lda maptbl+1
sta $01
ldx#0
lda[$00,x]
sta$2007
inc$00
みたいにして、あとは$00が#$FFになったら$01をincする
(ケタ上がりする)処理するループを組めばいいんじゃないかな。
この方法以外にも他にも方法あるけど・・
知ってたらゴメン
ldx#0 lda[$00,x] sta$2007 inc$00 ↓ ldy#0 lda[$00],y sta$2007 iny の方が速い
960回分展開したほうが早い。
いろんなnesディスアセンブラあるみたいですが、 お勧めのディスアセンブラはどれですか?
またはじまったか
SFCスレが無いんでスレ違いかもしれなせんが、 SFC(65816)の逆アセってどれがお勧めですかね。 DOS凡用65816逆アセンブラは何故か使い方がよく分からんのですよ。 日本語訳の命令表とかも探してますが、自分で訳せって言われそう。 当然か。
これはよく使われる方法なんだけど、 セリフデータをいれるときとか。 .addrreg dw .tbl0 dw .tbl0 dw .tbl2 .... .tbl0 db "hogehogehogehoge" db $FF .tbl1 db "fugagua" db $FF .tbl2 db $46,$49 db $FF
んで lda serifu_no jsr showferifu で .serifu_no clc asl ldy #$01 lda .addrreg,y sta <ind1 dey lda .addreg,y sta <ind1 .next lda [ind],y cmp #$FF beq .end jsr sta_ppu iny jmp .next .end rts
584はまちがってる.. .serifu_no clc asl tay lda .addrreg,y sta <ind0 iny lda .addreg,y sta <ind1 ldy #$00 .next だ。(ind0とind1が逆かも? ほかにも間違ってたらごめんちょ) それっぽい命令群はどの市販ソフトをみても使ってるんでうまいぐあいにアドレッシングの技術を盗んだ方がいいぞ。
cmp #$ff beq .label は bmi .label でもいいな。
>>585 >iny
>lda .addreg,y
inyは省略して
>lda .addreg+1,y
>>584 jsr showferifuの飛び先がありません。しかもferifuて。
もう少し落ち着いて見直してから書き込みしようよw
あと、細かい話だけどもjmp .nextをbne .nextにすると1バイト節約可能。
寝ぼけながら書いたので許してください。なんとなく自慢したかっただけ... jmp .next は bra .next にしたかったけど、2A03はbraをもってないよね? bne だと大丈夫かな...
>>588 セリフの長さが$FFを超えた時、ループを抜けちゃうのでは?
>>590 それを考慮するならそもそも>584-585が駄目です。
,yが$FFまでしか行かないんだから。
スーファミのスレは無いの?
593 :
名前は開発中のものです。 :04/09/11 16:18:46 ID:kZNl1xC4
スーファミのスレを立ててしまうのはどうだろうか?
スーファミ(・∀・)イイ!
BG拡大縮小回転でまだなにかやれることがあるはず
是非立てたら誘導して下さい。
597 :
名前は開発中のものです。 :04/09/13 17:15:35 ID:oqwjwnvf
>577 「ループ展開」て言うんですよね。アセンブラ時代 こうすればcmp、jneの分クロック数速いじゃん! とかいって自分でこの方法を発見した気になっていた頃が 懐かしい。
今では、ROMよりもRAMで実行するほうが早かったり、 キャッシュに収まるほうが早かったりするので、 展開するより、少ない容量に収めるほうが早い場合もあります。
動きゃいいんだよ動きゃ
601 :
名前は開発中のものです。 :04/09/29 23:26:04 ID:xvwvQVE+
うごかないのですが...
詳細を述べよ
ギコのページ(
ttp://gikofami.fc2web.com/ )見てるけど、よく分からないです。
スプライトは$0000から始めるみたいに書いてるけど、
7章のゼロページを見ると、$0000には別の変数があるように見えます。
実際に$0000にあるのはどちらのデータでしょうか?
また、もう一つのデータは何処に確保されるのでしょうか?
5章
.bank 2
.org $0000
.incbin "giko.bkg"
.incbin "giko.spr"
7章
.bank 0
.org $0000
label1: .db 0; RAMの$0000番地をlabel1とする。初期値は持たせられない。
byte1: .db 0; RAMの$0001番地をbyte1とする。初期値は持たせられない。
.org $8000
Start: ; ここからはプログラムROM領域。プログラムと初期データを記述する。
確かにそれは混乱する所だと思います。
とりあえずこれ
ttp://vsync.org/ns/ns023.html まず、プログラムを書けるのは$8000~$FFFFで、$0000にはプログラムはありません。
そこはゼロページです。RAM領域なので7章のように変数として使っています。
じゃあ5章はなんなのかというと、.bank 2になってますが
ヘッダの指定を見るとおそらくここはすでにCHRの領域に指定されているはずです。
上のURLの$0000-$07FFとか$8000-$FFFFはPRGの領域で、
こっちはプログラム中でlda $8000とかやるとちゃんと読めますが、
CHRの領域はそうやっても読めません。別物なんです。
また、ここも後で混乱することになるかもしれないので一応書いておきますが、
.orgは上位数ビットに意味はありません。(何ビットだったか忘れたので誰かフォローきぼん)
.org $0000って書いても.org $8000って書いても意味は同じ。
今意味がわからなかったらこの最後の部分は気にしなくてもいいです。
っていうか7章のあの変数の仕方はどうかと思うのは私だけですかね…
.bank 0の前に
label1 = $00
とか書いておけばわかりやすいと思うのですが。
604ですが、結構わかりづらい説明だったと思うけど理解してもらえたかな。。。 わかってなかったら、他の人説明おねがいしますw
>>606 実は余り分かってないです
ゼロページ->CPU
スプライト->PPU
っていう理解で合ってますか?
まあそういうことかな 要はメモリがCPU用とPPU用とで別々なんだね
609 :
名前は開発中のものです。 :04/10/23 20:31:41 ID:y4zN3OFS
(・ω・)ノ
化石いじってて楽しいのか
魑魅魍魎をみておもったこと。 これが、PCの互換機のような立場になって くれたらなぁ~ト; 結局、 任天堂が怖くて、 スキルのある方々が この方面に入ってこない、の では、ト・・・うがちすぎッスかネ; 魑魅魍魎とかつかって面白いコトとかヤッテも PC互換機と同じに、魑魅魍魎の方に裁判が いって、面白いコトやった個人はスルー とか、なりゃ~イイ!! のにのぅ~ ハァ・・・ しかし、 この郷では、 ウイニィーたん裁判を・・・ 怖くて何ンも出来ネーヨー(爆)
脳病の季節ダカラな。
613 :
名前は開発中のものです。 :04/10/24 19:05:19 ID:VCH2HPFa
化石ですが楽しいですよ
楽しいよね
これほどまでにアセンブラが面白いとは思ってなかったからな。ありが㌧>NESASM
NESASM?
617 :
名前は開発中のものです。 :04/11/03 20:24:49 ID:4npGs64k
(・ω・)ノ
(゚ω゚)ノ
619 :
名前は開発中のものです。 :04/11/04 05:35:25 ID:6d7CR+42
(^ω^)ノ
新鬼ヶ島に似たアドベンチャーゲームを作るのって難しいですか?
621 :
名前は開発中のものです。 :04/11/04 20:56:18 ID:JVi55JYv
(`ω´)ノ
NESでアドベンチャーを作るのに何の意味があるんだろう NESっぽい画面で普通の言語で作りゃいいだろ
↓質問の意味を理解できる人だけ回答お願いします↓
624 :
名前は開発中のものです。 :04/11/05 01:23:17 ID:9fvUZTY3
もっと焦点を絞った質問をしないと答えようがないよ。
625 :
名前は開発中のものです。 :04/11/05 05:54:22 ID:RSQiEuTL
>>622 それならジャンル関係なしに言えることだろ。
>>620 新鬼ヶ島に似た面白いアドベンチャーゲームを作るのは難しいです
>>562 virtuaNesのソースが公開されてるから
参考にすると良いよ
>>570 たしかそのテスト用ソフトがマリオ3だっけか?
629 :
名前は開発中のものです。 :04/11/06 02:02:19 ID:jnfsAmX9
(・ω・)ノ
630 :
名前は開発中のものです。 :04/11/06 20:53:02 ID:1myVklWt
(⌒ω⌒)ノ
631 :
名前は開発中のものです。 :04/11/07 04:13:56 ID:O+s0fbAO
(TωT)ノ
(¢ω¢)/
(≧ω≦)ノ
634 :
名前は開発中のものです。 :04/11/09 21:48:05 ID:c2hoLBj+
(ΦωΦ)ノ
635 :
名前は開発中のものです。 :04/11/10 10:33:58 ID:uDDsq0Qu
(φωφ)ノ
(фωф)ノ
(ΘωΘ)ノ
638 :
名前は開発中のものです。 :04/11/10 19:58:21 ID:yGntVgPZ
(☆ω☆)ノ
(×ω×)ノ
640 :
名前は開発中のものです。 :04/11/12 04:55:39 ID:2dGcU57i
(δωδ)ノ
641 :
名前は開発中のものです。 :04/11/12 22:31:58 ID:FBERlupX
(~ω~)ノ
どなたか、yd6502をください。
643 :
名無しさん :04/11/13 06:21:00 ID:fTZ9SZ5V
644 :
名前は開発中のものです。 :04/11/14 16:03:57 ID:sNtdiXjR
失礼ながら。。。 エミュ(ファミコン)のソフトは どのように入手するのですか?
↑まず、欲しいソフトの会社に電話して聞いてみよう。
646 :
名前は開発中のものです。 :04/11/14 20:50:34 ID:Dyacwh3L
電話してみたけど。。。 そのような質問には応答できないとかなんとか・・・
どのように質問したのかな?
まあマジレスするとK察に聞くのが確実だな。
ネタにマジレス カコ(・∀・)イイ!!
650 :
名前は開発中のものです。 :04/11/15 15:09:55 ID:E35S2QFU
そういうサイトがあるのなら 教えてください。
652 :
吸出し :04/11/16 17:34:14 ID:CHgRbK21
パソファミなんかレジストしないで吸い出し書き出ししたい。
自分でソフト書けばいいじゃない。
レジストぐらいは構わんのだが、アダプタ部分が製作代行only(代行ちゃうやん) なのはどーよ?機種別なんて配線しまくりゃ(いや、根気いるけどさ)いいだけやん。
パソファミは、お小遣いで簡単に買えるような値段じゃない。 吸い出す時間はあっけないだろうに。 ゲームをするなら実機でやればいいものを。(実機はヤフオクでも格安だし) わざわざPCでやるために何でこんなものに1万も使ったんだろうとかなり後悔(;´д`)トホホ
657 :
名前は開発中のものです。 :04/11/17 21:53:28 ID:IzrPUXWE
吸出し機の完成品を買った方が安い
翻訳と要約をお願いします
660 :
名前は開発中のものです。 :04/11/20 02:30:18 ID:aW6PjAhA
NESSPRって、表示ずれませんか?
>>660 画面の色数を16bitカラーにすると直る。
が、むしろ別のツールを使うべき。
別のツールって、何ですか? 名前だけでも教えてください。 質問ばかりですいません
YY-CHRでいいんじゃね?
664 :
名前は開発中のものです。 :04/11/23 18:53:32 ID:a+V/DGBj
(・ω・)ノ
665 :
名前は開発中のものです。 :04/11/24 02:16:34 ID:sDQE2suD
629 :名前は開発中のものです。 :04/11/06 02:02:19 ID:jnfsAmX9 (・ω・)ノ 630 :名前は開発中のものです。 :04/11/06 20:53:02 ID:1myVklWt (⌒ω⌒)ノ 631 :名前は開発中のものです。 :04/11/07 04:13:56 ID:O+s0fbAO (TωT)ノ 632 :名前は開発中のものです。 :04/11/07 10:35:51 ID:F1j3WHze (¢ω¢)/ 633 :名前は開発中のものです。 :04/11/09 11:48:09 ID:03Fq3Orl (≧ω≦)ノ 634 :名前は開発中のものです。 :04/11/09 21:48:05 ID:c2hoLBj+ (ΦωΦ)ノ 635 :名前は開発中のものです。 :04/11/10 10:33:58 ID:uDDsq0Qu (φωφ)ノ 636 :名前は開発中のものです。 :04/11/10 13:53:25 ID:V82qif44 (фωф)ノ 637 :名前は開発中のものです。 :04/11/10 14:03:43 ID:iL9Ji9ZL (ΘωΘ)ノ 638 :名前は開発中のものです。 :04/11/10 19:58:21 ID:yGntVgPZ (☆ω☆)ノ 639 :名前は開発中のものです。 :04/11/11 03:08:23 ID:d5t/nS/3 (×ω×)ノ 640 :名前は開発中のものです。 :04/11/12 04:55:39 ID:2dGcU57i (δωδ)ノ 641 :名前は開発中のものです。 :04/11/12 22:31:58 ID:FBERlupX (~ω~)ノ
666 :
age :04/12/29 22:30:13 ID:+6xdQgZu
は~
動かんなあ
動けェ~バァバァ~!!
微妙に動いたぜ!
670 :
名前は開発中のものです。 :04/12/31 20:08:31 ID:GLj04IHQ
どんなのが動いたの?
音楽演奏するやつ。 フレーム補正がうまくいかんけど。 BPMが150ならズレないから今のところこれでいいか。
672 :
名前は開発中のものです。 :05/01/01 02:15:50 ID:rsCx8fxm
すごいです 私は音さえならせない・・・
673 :
名前は開発中のものです。 :05/01/01 06:17:38 ID:na676XSC
674 :
名前は開発中のものです。 :05/01/01 06:18:03 ID:na676XSC
×672 ○671
うpか・・・ すげー汚いしまだまだ途中なんだけどな。 673の人は俺のソースを参考にしたいのか、それとも指摘しちゃるって感じなのか? 参考にするならppmckとか真mckとかの方がいいんじゃなかろうか。 一応メアド載せとく。んじゃ
677 :
コロコロ :05/01/02 03:42:37 ID:yfYSa+Zf
いろんなファミコンソフトのデータがつまったものがあるらしいんですがそんなもの本当に存在するのでしょうか?
679 :
名前は山内溥のものです。 :05/01/06 16:14:17 ID:QkjBu30q
挑戦されている皆さん、どうかガンガってください。
nesのBGMと効果音を nesterのAPUやらで処理して それをDirectSoundで鳴らしたいんですが どう実現さたらいいかイマイチわかりません。
普通にMIDIで鳴らせばいいんじゃないの?
やりたいならやればいいとしか言えんわな
tp://gikofami.fc2web.com/ ひさしぶりに覗いて見たら広告だらけ・・・・
もう更新はないのかねえ
下の方にある日記?はたまに更新されてる
どんなゲームを作るか決めないから、 どうメモリを使っていいか分からない。 だから作業が停止してるのでは。 このシステムでは行き当たりばったりに 作品を大きくしていくような作り方は無理っぽい
チュートリアルなのに大作つくられてたまるか
なんか、ファミコンの互換機を任天堂は現在サポートも新規ソフト販売もしていないから鷹揚な態度なんですかね? サンプルプログラムでも書いてみるかな。 ヘタレオヤジPGですが…
>>689 互換機の話題と、自作ソフトの話は繋がって無いように思えるが・・・
>>690 ファミコン用の自作ソフトを公開しても何もアクション(訴訟、内容証明郵便など)を取らないかなと…
だンな~
某サイト、見るたびに広告増えてる気がするんだが… マジでウザイ
つ Proxomitron
あそこの内容は大体覚えたし、もういいかなと。 >696 さすが。わかってらっしゃる。
698 :
689 :05/01/28 21:29:29 ID:LCBMnWXv
いま、手持ちの仕事で月曜日までに仕上げないと行けないのがあるから、 火曜日以降にまたカキコします。 それと、パッドルーチン程度でパクッタとか言っていても仕方ない気がする。 パクッタようにしか見えないだろう。> 簡単なI/O回りのコード ROM焼きの方法だけどAsusのマザーだとバイナリにチェック掛けてないからフラッシュが焼けるって話があったけど。 ROM焼き大丈夫とかとTextoolのソケットでフラッシュに書き込みは出来ると思うんだが。 QuickRun使っていたヤシはこのスレには居ないかな?
そんな方法があったのか…
700 :
689 :05/02/03 13:54:15 ID:/+/WydrA
誰も居ないのか。 残念
>689 うp!うp!
>>700 モノがあがってくればみんな反応すると思います
誰も居ないのか、っていうのは >QuickRun使っていたヤシはこのスレには居ないかな? のことじゃないの?
うpしないの・・? 名作の解析でもしてみようかな
誰かセーブのやり方教えてくれ・・・ $6000 - $7FFFに値を入れるだけじゃだめなのか?
>>705 カートによってやり方が違うんジャネーノ
そうだな・・・ mapper 0 だからダメなんだろうか。 もうちょい頑張ってみよう
ヘッダでSRAMありを指定してる?
>>705 マッパーによっては、SRAMをONにする命令をやらなきゃいかん。
.inesprg 2 ;プログラムのバンク数を2個に. .bank 3 ; バンク1からバンク3に .org $FFFA ;略 .bank 0 .org $8000 Start: ;略 jsr sound_init; サウンドレジスタ初期化. infinityLoop jmp infinityLoop mainLoop: ;略 jsr sound_driver_start; サウンド再生. rti .include"sounddrv.h";サウンドドライバをここにおく. .include"fds.h" .include"n106.h" .include"freqdata.h" .include"effect.h" ;略 .bank 4 ; バンク2からバンク4に .org $0000 .incbin "giko.bkg" .incbin "giko.spr" として, nesasmでアセンブる. マッパーの使い方分からんので, 正しいか分からんけど, gnesでは動いたぞ. 長文スマソ
お疲れ 使えなきゃ困るよな。うん
分かりにくいな。 ようは、mckのmake_nes.txtとギコ猫合わせる感じ。
でも、マッパー0でいいのか謎だなぁ。
拡張音源使わなければいいんじゃないか? N106なら19とかそんな感じ。
mck詳しく知らんけど, N106使ってる風のMMLをコンパイルしたら、 動いてるんだよね。
実機では鳴らないから安心しろ
>>717 N106のトラック鳴ってないんじゃない?
突然、何でmckが出てきたのか全く分からん。説明きぼん。
>>719 N106は鳴ってませんでした。
勘違いスマソ
>>720 あったほうが便利かなと。
サウンドドライバ自作できればいいんだけど。
mckは重いから自作したほうがいいな
>723 ロックマン2の解析はかなり役に立った。 機能削ったドライバならすぐ作れると思う。 お互い頑張ろう
ロックマン2か、調べてみる。 おう
サンクス MMLコンバータも必要か。 とりあえず、俺は軽量ドライバ書きだな。
誰かやっとる?
729 :
名前は開発中のものです。 :05/03/06 04:34:11 ID:xBGTJXAn
何からやればいい?
lda #$FF sta $00 まずはこれか?
731 :
名前は開発中のものです。 :05/03/06 20:03:40 ID:xBGTJXAn
それはどんな動作をしてるんだ?
おれが悪かったよ。 まずは開発環境をDLだ。
そんなものは必要ない! メモ帳で十分だ。アセンブラさえあれば大丈夫だろ。
thx 何か出来たらまた来る。
ldaを「らだ」 staを「すた」 incを「いんく」 decを「でっく」 jsrを「じゃすだっく」 rtsを「らてす」 と呼んでる漏れ
6502か? なつかすぃ そういや6501は6801とピン番号に互換があったからモトローラと裁判になって製造中止になったんだよな
NES Devkitとかあるし、結構ツール充実してるんだな
>>730 A9 FF 8D 00 00
ゼロページアドレスのstaは記憶にないので8Dにしちゃった。(脳内変換)
>>740 確かできたな。>>ゼロページアドレスのsta
sta $00だったら85 00ね。
しかしゼロページでもNESASMは8D 00 00と吐き出す罠。
ところでゲームって誰か作ってる?
ゲーム会社 or 趣味の個人。
743は作ってないってことか?
作った事は有るぞ。
どんなの? ユーティリティみたいなのは作ったけど ゲームって何作っていいか微妙なんだよね
いろいろだ。 分らないなら既存のゲームを真似したら。
ユーティリティってどんなの? うpキボンヌ。
真似かー
テトリスでも作るかなあ
>>748 「ノイズエディタ」でぐぐると出るかも
750 :
名前は開発中のものです。 :05/03/13 02:22:31 ID:E3/8SqkZ
フリーでつくっている人おるん?
>>741 NESASMなら
STA <$00
でゼロページアドレッシングになるかと。
おまえら自慢の16bit四則演算ルーチンを晒してくれ
754 :
名前は開発中のものです。 :2005/03/31(木) 21:13:50 ID:WEf9yUHt
は~
755 :
名前は開発中のものです。 :2005/05/11(水) 19:15:58 ID:KXJgGIuo
age
lda 10000
pha
758 :
名前は開発中のものです。 :2005/05/24(火) 20:59:25 ID:xfc9rbPe
お!
unko: dw 758,759
761 :
名前は開発中のものです。 :2005/05/25(水) 16:56:44 ID:LS3VbJVM
760は氏ね
dw 761
764 :
名前は開発中のものです。 :2005/06/24(金) 20:38:50 ID:Jf4UesTe
人いなすぎ
誰のこと?
ここは質問したらなにか返事が得られるのかしら。 ギコ猫でもわかる~と、すずめ愛好会を読んでいたのですが、 解らないことがありまして。 バンクについてなのですが、何の説明もなくて困っています。 いきなり「バンクを切り替える」という感じで使われていて、 バンクとは何なのか全然わかりません。 どなたか、バンクとは何なのか、切り替えるとどうなるとか 切り替えないとどうなるとかをお教えください。 ググっても銀行と骨髄が邪魔をします。助けてください。
>>767 切り替えない⇒32KBのROMしかアクセスできない
切り替える⇒32KB以上のROMにアクセスできる
>>768 ガンガンひっかりますね。ありがとうございます。
しかし説明読んでもNESASM用のサンプルと結びつかない…
なんにせよ悩んだり眺めたりしてみます。
眺めても納得できないのでやっぱり聞きます。 ギコ猫でもわかる~のサンプルをNESファイルにすると24KBになりました。(GIKO005.nes) 正確にはヘッダを足すけど、24KBです。 ギコ猫でもわかる~の第2章の説明によると >Bank 0 - $8000番地から始まるプログラムROM領域。ここにプログラムを入れる。 >Bank 1 - 割り込みテープル。$FFFA番地から始まる。 >Bank 2 - スプライトと背景データを入れるバンク。VRAMの$0000番地から始まる。 すずめ愛好会によると >プログラムROMは32KByteのリニアアドレスですが、 >16KByte単位でバンク切り替えを行うことができます。 ここで疑問。 ・何でバンク3つもあるの?プログラム+グラフィックの2つでいいのでは? ・$8000から始まって、割り込みの$FFFFまでプログラムいれたら32KB必要で、 背景+スプライトが4KB+4KBで合計40KBになりそうなのに、なぜ24KB?
.inesprg 1 ; - プログラムにいくつのバンクを使うか。今は1つ。 ソース見ると、この時点で間違ってるからかと…
>16KByte単位でバンク切り替えを行うことができます。 これ間違い。8KB単位。 "bank N" と "バンク切り替え"は別と考えると分かりやすいかもしれない。 NESフォーマットの場合、バイナリの並びは HEAD + PRG + CHR(有れば)なので バイナリ CPUからみると 0x0000:HEAD 0x0000:bank 2(CHR) 0x0010:bank 0(PRG) 0x1000:bank 2(CHR) 0x2010:bank 1(PRG) 0x4010:bank 2(CHR) 0x8000:bank 0(PRG) 0xA000:bank 1(PRG) 0xC000:bank 0(PRG) 0xE000:bank 1(PRG) この様にマッピングされる。 バンク切り替え有りの時は(マッピングはMMCに依る) 0x0000:HEAD 0x0000:bank 6(CHR) 0x0010:bank 0(PRG_8L) 0x1000:bank 6(CHR) 0x2010:bank 1(PRG_AL) 0x4010:bank 2(PRG_8H) 0x8000:bank 0(PRG_8L) or bank 2(PRG_8H) 0x6010:bank 3(PRG_AH) 0xA000:bank 1(PRG_AL) or bank 3(PRG_AH) 0x8010:bank 4(PRG_C) 0xC000:bank 4(PRG_C) 0xA010:bank 5(PRG_E) 0xE000:bank 5(PRG_E) 0xC010:bank 6(CHR)
すずめ愛好会、閉鎖? 困った、ちゃんと保存しときゃよかった。
775 :
名前は開発中のものです。 :2005/07/13(水) 17:38:26 ID:bRpyCjHU
お亡くなりか? 情報収集の為あげとく。
あそこはよく落ちてるからそのうち復活するでしょ
>>773 CHRはCPUにロードされず、PPUにロードされる。
>>773 実にわかりやすい説明でした。
ありがとうございました。
>>777 >PPUはCPUとは別のメモリ空間を持っていて~(引用)
これのことですね。プログラムのある0x8000とつながっているところには
グラフィックは置かれてないってことですね。
英語ですが、NESASMのUSAGE.TXTにもしっかり目を通しておくべきです。 マクロとか関数が使えるようになれば、作業効率や可読性がグンと上がりますし。 一通りのものを実際に書いてみて、どんなバイナリが生成されるのか見てみると理解が早く深まります。 初心者はNESアーキテクチャとアセンブラの作法を混同してしまいがちですけどね。
お、人増えてる? 皆はやっぱりゲームが作りたいのかい?
そうかもしれないね。 オイラの友人はひたすら縦スクロールシューティングを作っているし。
ゲーム製作技術板だった・・・ 愚問だったね。 シューティングいいなあ。俺は落ち物でも作ろうかな。
>>779 マクロ使えるの?
サンプル見てもコンパイル通らなくて頭にきて投げ捨てたんだが。
マクロはあらかじめ定義したニーモニック郡をインライン展開する。 関数は高級言語のそれとは振る舞いが違って、所謂プリプロセッサ的なもの。アセンブラ側で前処理された結果、バイナリが生成される。 なので実行時に時間コストがかかるわけではない。 高速化というか、時間と空間のトレードオフを意識するようになってからでいいよ。無理に頭に詰め込もうとしても意味無し。
>>783 それはアセンブラが違うんじゃないかと・・・
usage.txtに書いてある例 neg .macro eor #$FF inc A ;間違い。6502のincのアドレッシングモードにAccumulatorはない .endm nesasmってもともとPCエンジン(HuC6280)用だから そのまま載ってるんじゃないのかな?
bkgファイルって、どうやって作成するんですかね?? 作成ツールらしきものがなさそうなんですが…。
スプライトやBGの作成はこのサイトのYY-CHRがお勧めです とリンクされてますよー
YY-CHR最強!!
>>786 あーあったあった!俺もエラー出て小一時間悩んだ記憶が。
ニモ表見て解決したんだっけ。
neg .macro
eor #%11111111
clc
adc #1
.endm
今はこんな感じです。
791 :
名前は開発中のものです。 :2005/08/12(金) 02:19:47 ID:Rde1Ty4p
すみません。 ファミコンプログラムで普通の パット入力がどうしても理解できません。 パッドI/0レジスタの初期化はわかりました。その次です。 lda $4016 ; Aボタン and #1 bne Abotan lda $4016 ;Bボタン and #1 bne Bbotan となっているとします。。ANDのマスク処理みたいなのはわかりますけど。 どうして、もう一度 $4016 を読み込むとそこがBなのですか? 1:A 2:B 3:SELECT 4:START 5:上 6:下 7:左 8:右 さらに3回目の$4016 を読み込むんでbit0が1ならば SELCETが押してあるってことですよね? $4016は 読み込むたびに値が変わってしますんですか? どなたか詳しい説明お願いします。
パラレル->シリアル変換してるから。 これ以上の説明は漏れには㍉。
信号を与えるたびにデータが一つずつ移動していく様に作られたICだから。
>>791 うん、変わってしますんです。
1ボタンごとに条件分岐するんじゃなくて、ジョイパッドを更新するルーチン
・8つの入力データを1バイトにまとめる・・・A
・トリガデータ(そのフレームでのみパッドが押されたかどうか)も保存・・・B
を作って、メインループでそのルーチンを呼んで、あとは他のモジュールからA,Bを読むと便利だよ。
わからないことがあったらコード晒してみたりすれば
みんな親切だから優しく教えてくれるおー。
要するに、I/O初期化→packing処理→保存、を1フレーム毎に繰り返すわけです。 そういうことだよね?
>>71 ×:6501
○:6502
>>66 さんのところの キット安いですねぇー。10万ゲートでそこまでできるのかぁ。。
798 :
797 :2005/08/12(金) 15:08:25 ID:Rde1Ty4p
799 :
名前は開発中のものです。 :2005/08/12(金) 16:22:01 ID:3MZiA7w8
便乗質問。
>>515 を元に、 ABボタン同時押し判定 は
lda PADBUF
and #$03 ; ABボタン (0011ビット?)
bne xxxx
でいいんですか?
cmp #%00000011 beq でいいんじゃ?
>>800 ……それだと、AB同時押しの他に一つでもキー押してたら、AB同時押ししてたと判定されなくなるぞ。。。
そういう処理が必要な時もあるでしょう。裏技コマンドとか。まぁ状況に依ると。 つか既にサンプルあがってたのね・・・勇み足。
andしてから>800のをやればいいんじゃ?
>799だとABどちらかだけでも同時押しとして認識されてしまう そんじゃおやすみ
806 :
名前は開発中のものです。 :2005/08/24(水) 08:38:09 ID:u05tW7BC
素人質問ですが。 メモリーによく ミラーがあるんですが。とくにBGとか。 ファミコンにおいて、このミラーって実際に ハードがなんか処理してるんですか? RAID HDDのミラーのメリットは、負荷分散とか一台壊れた時とかって信頼性向上 とか書いてありましたが。 ファミコンでメモリーにミラーを書きまくるのはメリットあるんですか?
BGのミラーはスクロールでループする方向に関係する。 PPUアドレスは4面分あるのにメモリーは2面分しか持ってないので、ミラーさせてつないでる。
縦にスクロールしたい時は、水平ミラーにしますよね。 ミラーがないと、スクロールできないんですか?
できるけど、ミラーで半分同じ画像。
GOROH'S PAGE消えちゃた?
812 :
名前は開発中のものです。 :2005/09/04(日) 21:01:23 ID:IXSZ8S7s
製作に関する質問です 8×8 のスプライトは横に8個までしか並べられない という表記をよく見かけるのですが 実際に20個以上のスプライトを並べて、それぞれを同時に動かしても 特に処理落ちせず動作しています。 よく考えるとドラゴンクエストでも 16×16ドット のスライムが、 横一列に8匹(16ドットだから実際には16個)表示されてたりするんですが、 横に8個までの制限はどのような時に出てくるのでしょうか? よろしくお願い致します
813 :
名前は開発中のものです。 :2005/09/04(日) 21:38:34 ID:y35CpPku
BG使ってるんですよね?
ヒント:BG
遅かったorz
そうだった、BG忘れてました。 ありがとうございました。
818 :
名前は開発中のものです。 :2005/09/06(火) 21:01:49 ID:epanxf+g
とにかくスレ違い
820 :
名前は開発中のものです。 :2005/09/12(月) 12:38:35 ID:+lHWbSGs
ソースリストが見てみたいです。
どうぞ見てください。
じゃあ>820にはまず ソースリストを見るにはどうしたしたらいいか、から始めてもらおうか
823 :
名前は開発中のものです。 :2005/09/13(火) 22:07:01 ID:0iQeQZrX
そんなこと言わずに見せないさい。
しかしスーパーマリオのプログラムはすごい あれだけのなめらかな操作感だすのは相当むずい
全然むずかしくない。>824が無能なだけ。
↑直球すぎ
デッドボール!一塁へ
マリオブラザーズのプログラムはもっと難しい
スーパーマリオ3のプログラムを解析したことがあるが、ひどい代物だった…。 が、しかしプレイヤーにとってはプログラムの出来などはどうでもよいことだ。 動けばいいのだし、ゲームはおもしろければいいのだ。 そしてこのゲームはとてもおもしろかった。
830 :
名前は開発中のものです。 :2005/09/16(金) 13:17:02 ID:Cf3nTQYJ
何がどう酷かったんだ
ソースリストが見れないからってそんなに頑張らなくてもいいのよ
逆アセンブルすればソースリストは見れるさ。 プログラムとデータの切り分けがめんどうだけど。
パッドの入力判定だけじゃなく、IO部分を操作するものは 一部のRAMは食いつぶすが・・・例えば RAMの$0000はAボタンのデータ、$0001はB等と決めておき VSync割り込み(NMI)のハンドラ内のみでパッドデータの読み込み 処理を行い、そのRAMに書くようにしておけば便利かと思われる。 これは、パッドに限らず、レジスタを操作するもの全てにおいて この方式を用いるほうが、作りやすいプログラムになると思われる。 RAM食うのが嫌なら、$0000のbit0がONでAが押されているbit1がONで Bが押されているなど格納方式はお好きなようにすればいいだろう。 これは、スーパーファミコンでも応用出来る。ガイシュツならスマソ
普通、全部のボタンを1Byteに貯めるもんじゃないか? 8bitに収まるように出来てるわけだし。
パッドの入力なんて他の人のソースからコピペしてしまえばよい
他にやり方ねえよって部分だしなあ。 おれもコピペにちょい手を加えるくらいだ。
>833のやり方は、 プログラムが無駄、メモリが無駄、処理時間が無駄といいことが1つもないわな。
うわぁ・・・パッドはともかく、他のI/Oを保存しておく手法は有用だって。
>>837 もっとマクロな視点でトレードオフを考えたほうがいいよ☆
>>834-837 せいぜい人を小馬鹿にして自分のレベルの低さを晒し続けてくれ・・・。
ああ、糞な輩が増えてしまったな。
今まで親切心でレスしてたのが馬鹿らしい・・・。
手法ってあんた・・・ RAMを使わずに何をどうやって組むんだよ。 マクロな視点っつーのもよくわからん。 作業効率か?
ミクロな例を持ち出してマクロを語るっつーのも・・・。
例そのものについては
>>515 でガイシュツだしな。
ほっとけ。脳が可哀相な人なんだろ
( ´д)ヒソ(´д`)ヒソ(д` )
>838 ではおまえのいうところの「マクロな視点によるトレードオフ」について 無知なオイラに解説してくれんかね。
ミクロなところで稼がなきゃ、マクロがよくなるわけない。 それがアセンブラってもんじゃ?
ファミコン用ソフトの開発言語はファミリーBASIC V3だべさ。
\ / \, ´  ̄ ` /ヽ γ _ ´ 二 `/ _ ヽ /./´ ヽ´ 二 `(´ ヽ l /`) |( /.l´ ・ `l ゝ l | / ノ | ー /|´ ̄` | ー | ./ / c|. /ノ ´ ̄`ヽ\ / / /) < | | - ̄`´ ̄- l / ̄/ .ノ/ ヽ ゝ」、ニニニニ└/_/ ノ /  ̄ ̄> ヽ.ー── ´ ノ `ノ ヽ  ̄ ̄ヽ(二二二 /` 、ヽ ./l \ )(二二ニ/ / | ヽ ノ(二二/ ノ ノヽ ヽ  ̄ ̄ヽ(ニ/ ノ ノ / ヽ \
そんな小ネタはいいからw
なんの話だったか忘れてしまった。 誰かネタ投下よろしこ。
\ / \, ´  ̄ ` /ヽ γ _ ´ 二 `/ _ ヽ /./´ ヽ´ 二 `(´ ヽ l /`) |( /.l´ ・ `l ゝ l | / ノ | ー /|´ ̄` | ー | ./ / c|. /ノ ´ ̄`ヽ\ / / /) < | | - ̄`´ ̄- l / ̄/ .ノ/ ヽ ゝ」、ニニニニ└/_/ ノ /  ̄ ̄> ヽ.ー── ´ ノ `ノ ヽ  ̄ ̄ヽ(二二二 /` 、ヽ ./l \ )(二二ニ/ / | ヽ ノ(二二/ ノ ノヽ ヽ  ̄ ̄ヽ(ニ/ ノ ノ / ヽ \
おまいらサウンドドライバは書けたんか?
851 :
名前は開発中のものです。 :2005/09/25(日) 00:25:23 ID:eqFV6zXq
書けたよん
書けたらうpだろが!
いつまでもこんなスレに張り付いてても何も始まらないよ。 結局、あとは自分でやっていくしかないんだって。 ここでサンプルが上がって、コピペしたからって何が変わるっていうんだ。 人に作ってもらってるのと変わらねーじゃん。
お前も張り付いてんなら「マクロな視点によるトレードオフ」について 語れよ
ギコネコでも分かるファミコンプログラムの解説ですら意味不明。 もっと分かりやすいところねーの?
>>855 ちゃんと読んだことないけど順にやっていけばだいたい分かるんでないの?
たぶんあそこより親切なところはない希ガス・・・
いったい何章で詰まってるんだ?
いや・・・何章でつまってるとか、そんなレベルじゃない。
>>857 判らない所が判らないのか、難儀だな。
用語が判らないとかの質問だったら、このスレの住人(漏れ含む)が、
少しは役に立てると思うぞ。
あ、上二行だけか。君は技術だけはあるもんねw
↑誰?この悔しくて僻んでる雑魚は?
ハックロムスレあたりから来た厨房だろ
ハックロムスレってまだあんの?
864 :
名前は開発中のものです。 :2005/10/08(土) 02:46:52 ID:zaz0KhsI
し~ん
ジャンプテーブルがよく判らないのですが、なににつかうんでしょうか?
ジャンプするのに使うんじゃねーの?
867 :
名前は開発中のものです。 :2005/10/22(土) 17:57:23 ID:6ZSVBgkx
それはわかるんですが 具体的にどのように使うのかがわかりません
C言語でいうなら、switch文みたいなものとして使う。
jmpで間接してブーン! だ
870 :
名前は開発中のものです。 :2005/10/23(日) 17:41:43 ID:sZcpDvLW
質問いいですか? nesasmの sta <hoge,x と lda [hoge,x] のアドレス指定の違いについて教えてください。 <hoge,xはゼロページアドレスで、 [hoge,x]は間接アドレスだそうですが、 どう違うのでしょう。 ていうか、間接アドレスって何それって感じです。 C言語は分かるので、どう書き表すか教えていただけると助かります。
>>870 Cで言ったら配列みたいなものかな
それからゼロページを示しているのは"<"の部分だけ
ゼロページとは$0000-$00FFのことで sta $0000とやるよりもsta <$00とやったほうがクロック数も少ないし命令長も短くなります。 ; Aレジスタの値(7)をアドレス$01にストア(書き込む) lda #$07 sta <$05 ; 7を$05 + 3(つまり$08)にストア ldx #3 lda #7 sta <$05,x ; 7を$05 + 3(つまり$08)にストア ldy #3 lda #7 sta <$05,y
; 間接アドレス lda #$20 sta $0300 lda #$04 sta $0301 lda #7 sta [$0300] ; 7が$0420にストアされる($0300が下位8bit、$0301が上位8bitで合わせて$0420になる) ; 間接アドレスX lda #$20 sta <$08 lda #$04 sta <$09 ldx #3 lda #7 sta [<$05,x] ; 7が$0420にストアされる。$05 + 3(つまり$08を下位8bit、$09を上位8bitで間接アドレッシング) ; 間接アドレスY lda #$20 sta <$05 lda #$04 sta <$06 ldy #3 lda #7 sta [<$05],y ; 7を$0423($0420 + 3)にストア 即興で書いたんで表記にミスがあるかもしれませんがこんな感じです。 間接Xと間接Yの違いは理解しておいたほういいと思います。 最初は使いどころがわからないかもしれませんが、必要性が出てこれば自然と使えるようになると思います。
わかりにくい希ガス。 やっぱり自分で書いてみてデバッガで確認してみるのが一番だね。
間違い探しだな。 初心者は混乱しちゃうだろうから>872のURLを参照すること。
おまいらがバラバラなこと言ってる方が混乱しちゃうだろw
そうだよなあ。 でも>873,>874は間違い過ぎだよ。 数字が何個か違うし、使用できないアドレッシングモードはあるし。 間違ってる部分に質問が来たりするとグダグダになるじゃん? それが嫌だから反射でソース書かずにURL貼ったんだよ。
880 :
名前は開発中のものです。 :2005/10/24(月) 02:53:39 ID:x9XVGp90
なんとなくつかめた lda #$20 sta $0300 lda #$04 sta $0301 lda #7 sta [$0300] ↓ **0x0300 = a ↓ *0x0420 = 7
881 :
名前は開発中のものです。 :2005/10/24(月) 02:54:15 ID:x9XVGp90
lda #$20 sta <$08 lda #$04 sta <$09 ldx #3 lda #7 sta [<$05,x] ↓ **(0x0005 + x) = a ↓ **0x0008 = 7 ↓ *0x0420 = 7 lda #$20 sta <$05 lda #$04 sta <$06 ldy #3 lda #7 sta [<$05], y ↓ *(*0x0005 + y) = a ↓ *(0x0420 + 3) = 7 ↓ *0x0423 = 7 って感じ?
アドレッシングモード作るなよw
C言語まともにできる奴なら 人に訊かな(ry
884 :
名前は開発中のものです。 :2005/10/24(月) 12:52:43 ID:3Iz5xw1w
関数ポインタみたいなのってどうやるの? JSRで
スタックにリターンアドレス/ジャンプアドレスの順に積んでrtsとか。
一旦別のところにjsrしてそこから間接jmp
>885 >886 ありがとん
888 :
名前は開発中のものです。 :2005/11/07(月) 23:46:40 ID:VDuYwki0
age
関係無いけどアドレッシングモードってなんか旨そうだよな
890 :
名前は開発中のものです。 :2005/11/08(火) 10:48:54 ID:vL6mSq8s
マリオのソースキボンヌ
それも旨そうだな どこにも無いけどな
さっきスーパーのレジで並んでたんだけど、ふと前の人の金額を見たら お預かり 10,000 おつり 6,502 ・・・あれどこかでこの数字・・・ ・・・ 俺「ああ、ムゴオニか!(俺は6502を脳内でムゴオニと呼んでいる!)」 俺(あのスレの連中は今も元気だろうか) 店員・客「え?」 俺「ああ、いやすみません。6502っていうのは、ファミコンに使われていたCPUで、 まぁ正確にはRP2A03っていうリコー製の・・・」 客「はぁ」 店員「もしかしてファミコンでゲームとか作ったりしてるんですか?」 俺「ええ、以前はかなりハマってました」 俺「最近はシェーダ書いたり、物理やAIに力を入れてるんですけどね」 俺(思えばこの世界に足を踏み入れることになったきっかけはハックロムだった。そこからステップアップしていったんだよなぁ。これも因果か・・・なんつって) 店員「そうなんですか~。実は私も興味あるんです。ファミコンのプログラム」 俺「へえ、奇遇ですね。どうです、この後お茶でも飲みながら・・・」 店員「いいですね」 この後1時間ほど喫茶店でだべった後、この店員(女性)とホテルでOPPAICODEしてきたことは言うまでもない。 ・・・
OPPAICODEまで読んだ
OPPAICODEしかして来なかったのか もったいない
>895 「ムゴオニ」じゃね?
plp ;ぷるんぷるん sei ;たてる eor ;えろい ora ;オラオラ bit ;このアバズレが and ;あーんダメ cli ;クリは
warota
最近ファミコンプログラム始めましたのですが、途中で詰まりました。 ネームテーブル1にデータを書き込んでBGを表示しようとして、以下のようにしてみました。 とりあえず32個のBGパターンを一列に並べてみたのですが、最後の二つだけがネームテーブルに登録されません。 lda#$20 sta$2006 lda#$00 sta$2006 ldx#0 SetNameTable: ldaBGDATA, x sta$2007 inx cpx#32 bneSetNameTable たとえばBGDATAに並べたいBGパターンの番号が以下のように32個あったとして $A0,$A1,$A2,$A3,$A4,$A5,$A6,$A7,$A8,$A9,$AA,$AB,$AC,$AD,$AE,$AF,$B0,$B1,$B2,$B3,$B4,$B5,$B6,$B7,$B8,$B9,$BA,$BB,$BC,$BD,$BE,$BF 上のプログラムで登録すると ネームテーブルには、最後の二つの$BEと$BFのデータが登録されないのです。 何かやり方が間違ってるのでしょうか?
つ G-NESデバッガ
縦に並べたんじゃないだろうな?
903 :
899 :2005/11/14(月) 10:38:53 ID:Tc99Hcfa
>>900-902 レスありがとうございます。
G-NESデバッガで見てみるとBGDATAのアドレスは$81C4でした。
データは横に並べてます。
バイナリエディタでNESファイルを見たら$BDの後の二つのデータがありませんでした。($BEと$BF。nesasm通したときに消えてる?)
データはヘッダファイルに
db $A0,$A1,$A2,$A3,$A4,$A5,$A6,$A7,$A8,$A9,$AA,$AB,$AC,$AD,$AE,$AF,$B0,$B1,$B2,$B3,$B4,$B5,$B6,$B7,$B8,$B9,$BA,$BB,$BC,$BD,$BE,$BF
のように記述して
BGDATA:.include "BGDATA.h"
↑のようにインクルードしているのですが、定義の仕方に問題ありますか?
間違ってたらすみません、ファミコンて横31個しか並ばないんじゃなかったっけ 1キャラ隠すことによって横スクロールの書き換え作業を隠す意味で。
>>903 バイナリに落とし込まれてないなら
NESASMからみえてないだけ
>903 最後の$BE、$BFが書かれないにしてもそのアドレス(BGDATA+$1E、$1F)にある2バイトはBGに書かれている? だとすればプログラムは間違っていないけどアセンブル/リンクの際に 上書きされているんじゃナカロウカ。 BGDATA+$1EのアドレスでORGして別のプログラムかデータを配置してたりしない? >904 いやそれは思い違いよん。
907 :
899 :2005/11/15(火) 09:22:29 ID:H+ujC4Xg
>>905-906 根本的な原因はわかりませんが、解決しました。
BGDATAを定義するときに
db 32個のデータ
のように一回で定義してたのを
db 16個のデータ
db 16個のデータ
と2回で分けて記述したらきちんと登録されました。
お手数かけました。
ファミコンプログラム始めて(アセンブリ言語自体も)まだ1~2週間ほどなのでわからないことだらけですが、がんばります。
じゃあアセンブラの仕様かね サウンドドライバ書きたいんだけど参考になるソースって無いかな? mck系以外で
>908 mck系 ってなんだい?
>909 ファミコン用サウンドドライバmck及びmck派生のドライバのこと
>>908 つ FamiTracker
つ nsd (nusedriver)
>911 サンキュー 早速読んでみるよ
>910 ありがとー。
2つとも読んでみたけど効果音ルーチンは無いのかな? ゲーム用じゃないのかも知れん
nusedriverってのもあったのね。しらなかった
2日くらいかかってようやくMMC3のIRQ使った3段ラスタスクロール出来た。 悩みに悩んで思い通り動くとたまらんですね。 ただ、そのやり方は正しいかよくわかりませんが。 一度マリオとかの名作のソースをみてみたいなぁ。
>916 MMC3を使った最初のゲームはマリオ3だが、 ビックリするようなひどいプログラムだぞ。 ゲームはいいんだけどね。
>>917 へぇ~。
結果的に動けばいいって感じなのかなw
>>920 もっと色々書き込まれたのが出てたような。
マッパ4のプログラムでいろいろと試してみているのですが、G-NESだと正しく表示されるのに Nester系だと正しく表示されないのはプログラムの仕方の問題?それともエミュ側の問題?
VirtuaNESで試して動くならNester系が(ry
VirtualNESでもだめだった・・・
G-NESは結構ユルイみたいよ 他ので動かなくてもG-NESで動くってことが結構ある
>>922 そのプログラム欲しい。NESROMになったもの。
>>928 どうも。真っ黒だったり文字がでたり、エミュによって色々。
>>928 VBLANK外に$2007に書き込みたい時は、
$2001のbit3-4は非表示にしなければならない。
いや、VBLANK内でも非表示にする必要があったかも。 忘れた。
それでもNNNesterで動かない理由は、、、、、おそらく IRQVectorの先の処理でバンクチェンジまでに時間食いすぎ?????
結局あまりあてにならないのがこのスレなのさ!
う~ん、うまくいかない。 一度、小分けに一から作ってみます。
935 :
922 :2005/11/28(月) 10:45:04 ID:mouEtU3M
初期化のところでCLI命令入れたら正しく表示されるようになりました。 ステータスレジスタの2ビット目(Interrupt flag)が立ってるとIRQとBRK割り込みが無視されるようです。 いろいろアドバイスくれた方ありがとうございました。
>931 VBlank中は立てる必要なし. 万が一表示l期間中まで処理が伸びてしまった時に保険の意味で立てる。
プログラムしたものを実機でプレイする方法で、実際のカセットのROMをはずしてRAMに置き換える方法がちらほらみられますが、 マッパ4などのMMCなどが載っているカセットでもそのような方法できるのですかね?
RAMよりもEEPROMの方がいいんじゃないの。
>>931 >>938 どの程度の信憑性を持って発言しているのかはっきりしろ。
頼むから糞なソースだけは垂れ流さないでくれよ。
信憑性なんてねーよ 各自で判断しろ
>>939 いきなり顔真っ赤にしてどうした?
安藤に高い金でも払ったのか?
942 :
937 :2005/11/30(水) 22:20:32 ID:MJMkLp5o
>>938 ROMライタなんかでEEPROMにデータ入れて置き換えればいけるのかな。
スターラスターのカセット開いたら、ICにガラス窓が付いてて中が見えるようになっていた。
944 :
937 :2005/11/30(水) 22:53:18 ID:MJMkLp5o
>>943 UV-EPROMってやつかな?だとしたら太陽光にずっとさらしてたらデータが消える・・・?
製品にバカ高いEPROM使うなんて考えられんな…。 でもナムコは自社生産だったから発売日に間に合わせるために EPROM使ったのかも…。
946 :
名前は開発中のものです。 :2005/11/30(水) 23:38:21 ID:Lj2JR7Fq
nesasmが動かないっていう人はいる? OSがXPSP1なんだけど動かない。
OSはXP SP2で動いてます。
>>937 マッパの理解があればROMエミュレータも可能じゃない?
マッパに関する詳しい資料ないかな・・・
>>946 XP SP1以外で動かした実績は持ってるのか?
>>949 SP2の会社のPCでは生成されました。なぜだろう?
自分のもSP2にすりゃいいじゃん
SP2でも駄目でした。 こうなれば別のを試すしかない。
貴様のパソコンなぞ知るか! レイプしてくれるわ~
いやーん。
SRC\AS\MAIN.Cのmain()の最後にgetchar()だかscanf()をはさんでリコンパイル。 以前これでnesasmが動くようになって、ずっとこれを使っておりました。 関係ないかもしれませんが一応チラシの裏に書いておこう。
そんなタイトルはやだ。
じゃあ新しいのたてるか それほど人気も無いようだが
ツールキタ━━━━━(゚∀゚)━━━━━!!!! ちょっと気になったのだが、SRAM有りの最大容量ソフトって、 信長の野望 武将風雲録?
>>961 属性テーブルの編集の仕方がわからないYO!
965 :
961 :2005/12/06(火) 08:39:26 ID:9WOBW+N6
必要なDLL、MSCOREE.DLLが見つかりませんでした。
967 :
962 :2005/12/06(火) 19:03:41 ID:NTFwMh/C
>>963 そうです。
最大の容量ソフトはMMC5のソフトだと思うのですが、
MMC5の中でもSRAMの大きさが異なっていたりするので、いまいちよく分からないです。
>>967 うちの風雲録の中にはKM62256ALPというSRAM入ってた
型番から察するに256kbitかな?
>>965 素早い対応乙です
うちの環境では中クリックが効きませんですorz
969 :
961 :2005/12/07(水) 17:44:06 ID:SxROPU99
>>968 (;´Д`)
とりあえず今グリッド表示とか追加してるので、ついでに中クリックじゃなくても配置できるようにします。
というよりモード切替(パターン配置⇔属性配置)みたいな感じのほうがやりやすいかな?
970 :
962 :2005/12/07(水) 19:30:41 ID:G6egag/r
>>971 対応ありがとうございます。
属性テーブルが編集できるようになりました。
PRGのほうのバンク切り替えがいまいちイメージできない。 わかりやすいたとえとかありんす?
トランプカードを並べて、カード(バンク)を交換するような感じ? ROMイメージはカードのA~Kのように並んでいて、PRGバンクに 並べられたカードを差し替えていくような。 上手く説明出来んorz
976 :
973 :2005/12/12(月) 09:29:33 ID:4gfizgwg
>>974-975 たとえありがとう。
CHRの方は理解できてたんだけどPRGイメージできなかった。
でも夢の中で思いついた。
+-------------------+
|メインプログラム+
|メイン系データ+
+-------------------+-------------------+-------------------+
|画像処理プログラム|ゲームプログラム|サウンドプログラム+
|画像系データ|ゲーム系データ|サウンド系データ+
+-------------------+-------------------+-------------------+
こういうこと?
サウンドをいじるときはサウンドプログラムにバンク切り替え、ゲームデータを処理するときはゲームプログラムにバンク切り替え。
あとついでにツール更新。
ネームと属性をまとめてひとつのBGデータとして保存できるようにしますた。
ttp://up.isp.2ch.net/up/d09294e8752c.zip
977 :
973 :2005/12/12(月) 09:30:18 ID:4gfizgwg
うは、ずれまくり。
同時に使うものを別バンクに入れて、関数コールのタイミングで切り替えるのは さすがには無理があるかと やるならゲームのシーンで切り替えるんじゃないかな。オープニングとか
サウンドルーチンだけ別バンクにあって1フレームに1回切り替えを行って サウンド再生の処理をやってバンク切り替えを戻す、とかも十分ありだと思う
>>978-979 ふむ。
BG書き換え時とかに別バンクからデータ持ってくるとかそういう使い方なのかな?
熱血行進曲とかみてみると、攻撃したときとかにPRGバンクが切り替わるから、
ダメージ計算のときに別バンクからステータスとか拾ってくるのかなぁとも思うけど。
もしくわアニメーションデータを持ってくるとか。
MMC5で拡張グラフィックモードにするとグラフィックを $0000-$3FFFまで置けるようなのですが、 パレットのデータやBGの配置情報それとスプライトはどこに置くのでしょうか? 資料をあさったところ、$5C00-&5FBFにパレット番号と配置の上位アドレスを置くことまでは わかったんですが、海外のサイト見てもそれ以上わからなかったorz 知っている人いたらぜひ教えてください。
>>976 KZ-NESSAと併用したいので
拡張子をbgだけでなくnamでも読み書きできるようにできませんか?