2ちゃんねる ■掲示板に戻る■ 全部 1- 最新50    

MSX3 Part9

1 :ナイコンさん :2024/03/19(火) 18:08:51.67 ID:yGWWHaRY0.net
※スレ立ての際、>>1の本文1行目に
!extend:checked:vvvvv:1000:512
を入れてください

西和彦のサイト
http://nishi.org/


前スレ
MSX3 Part8
https://kizuna.5ch.net/test/read.cgi/i4004/1699974182/l50
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured

2 :ナイコンさん :2024/03/19(火) 18:27:19.84 ID:58Sly3/N0.net
>MSX2ならライン引くのはVDPコマンド一発でいけるから、
遅いんじゃなかったっけ?

3 :ナイコンさん :2024/03/19(火) 20:12:42.99 ID:UYcCfp8RH.net
>>1


4 :ナイコンさん :2024/03/19(火) 20:13:18.92 ID:pZW0coHv0.net
ノスタル爺の会場はここですな!

5 :ナイコンさん (ワッチョイ 1330-FyZR):2024/03/19(火) 22:32:19.95 ID:KQ+5NFm50.net
「ノスタルジーは要らない。」

6 :ナイコンさん:2024/03/19(火) 23:35:22.57 ID:rI/tDXy0.net
>>2
CPUに描かせるのと大差ないにせよ、CPUとは並行して処理できるが
VDPの描画が終わるまでボケッと待っているだけのクソコードしか掛けない奴にはわからんかこの領域(レベル)の話は

7 :ナイコンさん (ワッチョイ 8b75-aQOc):2024/03/19(火) 23:43:51.16 ID:58Sly3/N0.net
大差ないのか、遅いのか、どっちだ。

8 :ナイコンさん:2024/03/19(火) 23:58:29.84 ID:rI/tDXy0.net
ターボRならVDPが描くより速く描けるだろうけど
CPU側で描いたビットマップをVDPの細くて遅いI/Oでえっちらおっちら転送してたらどうだろうな
ビットマップに描いてI/Oする分のCPU時間の方が多分勿体無い

9 :ナイコンさん :2024/03/20(水) 00:21:27.21 ID:zak+SbnYH.net
>>6
並行して処理できるメリットを最大限に活用してスターウォーズみたいなゲーム作れそうだな

10 :ナイコンさん :2024/03/20(水) 00:22:26.61 ID:e7MQbOMR0.net
やっぱ丸なんかワープロソフトやグラフィックツールみたいプログラムでしか使わないよね
線だったらテグザーくらいしか思いつかないw
まぁ普通使わんやろ

11 :ナイコンさん:2024/03/20(水) 01:04:47.67 ID:XdRm9QmP.net
知らんけどturboRにSylpheedのOPを勝手移植したやつはVDPでラインなんか引いてないだろ

12 :ナイコンさん :2024/03/20(水) 10:41:04.51 ID:uRecY0580.net
WebMSXでpmext使ってHITECH-Cを解凍中
めちゃめちゃ展開が遅くてノスタルジーに浸れる

13 :ナイコンさん :2024/03/20(水) 10:41:27.99 ID:r4K92NLR0.net
>MSX2みたいな低解像度の環境なら、円なんて32角や64角の頂点間を直線補間、つまりライン引いときゃ充分じゃねえの?
そこそこ細かくしてくと、たくさんのラインよりちゃんと計算して該当バイトに書き込む方が速くなるかもね。
あとペイントとの絡みもある。1ドット外すと塗りつぶせない、なんてことがおきる。

14 :ナイコンさん :2024/03/20(水) 11:35:11.19 ID:vjkBPt1Y0.net
サークルにだってブレゼンハムのアルゴリズムはあるよ
整数の足し算シフト条件分岐だけで綺麗なサークルが描ける

15 :ナイコンさん :2024/03/20(水) 12:57:00.71 ID:0gDy8kig0.net
で?

16 :ナイコンさん :2024/03/20(水) 14:03:50.44 ID:fzbUKUGU0.net
円じゃなくて多角形だから早いFMのサークル

17 :ナイコンさん :2024/03/20(水) 18:37:15.51 ID:vjkBPt1Y0.net
>>15
理解できないなら無理に返答すんなよw

18 :ナイコンさん (ワッチョイ 11a5-VfmT):2024/03/20(水) 22:47:46.64 ID:e7MQbOMR0.net
MSX的には移動ルーチンだろう
任意の座標に任意の半径で円を描きたいような場面はないよ

19 :ナイコンさん :2024/03/20(水) 23:27:32.46 ID:YKWMeoTw0.net
敵をゆっくり滑らかに円(楕円)状に動かす時は必要になると思うよ
荒く動かすならサインテーブルを用意して、角度から位置を計算すればいいだろうね

20 :ナイコンさん (ワッチョイ 8b75-aQOc):2024/03/21(木) 00:31:49.46 ID:dvCWzCKp0.net
円状に動かすには計算はするだろうけど、描く必要はないのでは?

21 :ナイコンさん (ワッチョイ 93c7-qEsL):2024/03/21(木) 01:59:24.78 ID:bxBqWnKm0.net
円や線をCPUで描いたりするならArduinoのLCD用のライブラリを参考にしてもいいね
Arduinoで使われてるLCDは点や矩形を描画する機能しかないのがほとんどなので
ライブラリ側で円や線を描いてるからね
ライブラリ全体を移植するのではなくて、円や線を描いてるところだけを参考にできる

22 :ナイコンさん (エムゾネ FF33-A0KB):2024/03/21(木) 11:01:47.66 ID:Pl1E0WyQF.net
>>0012
Z80 の x8 とか、R800の x2 を試すと面白いかも。
MSXPLAYer の ∞ のほうが早いかもだけど。

>>6
CIRCLE の件だけど、MSX-View の動画を見る限り、楕円を4分割して書いてるっぽいね。1/4だけ書いて反転コピーとかかな。
https://www.youtube.com/watch?v=gMQYP4RxReE

VDP コマンド的には、どのへんの組み合わせが良いかな。塗りつぶしは、LMMV など?全部 LINE で円描くより高速化するテクニック希望。
http://ngs.no.coocan.jp/doc/wiki.cgi/TechHan?page=6%BE%CF+VDP%A5%B3%A5%DE%A5%F3%A5%C9%A4%CE%BB%C8%CD%D1%CB%A1

23 :ナイコンさん :2024/03/21(木) 11:34:46.19 ID:kx+EaCjnd.net
CPU側にバッファ持って、必要な部分だけデータ転送するのが一番速いのでは。
塗りつぶしたいのなら、内接する四角の塗りつぶしがコマンド使えそうだけど。

24 :ナイコンさん :2024/03/21(木) 11:49:23.33 ID:y6hmSEUM0.net
こういうのって自分で試行錯誤中して高速化するのが楽しいんじゃないの?
実装する気も無いのに技術だけ聞こうとする奴って何なのだろう。。。
描画する円のサイズや近似の角数によって変わってくるだろうけど
連続でLINE命令発行して待ち続けるのって遅くないかね?
その間CPUで大したこと出来るわけでもなさそうだし
CPUでRAM上に描画して一気にVRAM転送した方が速いとか普通にありそう

25 :ナイコンさん :2024/03/21(木) 12:11:34.73 ID:Pl1E0WyQF.net
>>0024
CIRCLE もいいのですが、実装としては、スプライトも PCG も使わない方針での VDP 高速描画テクニックに興味があります。

MSX2 の YS3 の多重スクロールみたいな実装の議論がここでできるといいかな。タイル的にメインRAMから変更点のみVRAM側に VDP で転送という方針になるでしょうけど、YS3 は、場所によってはかなり高速だったり、ものすごく背景処理が重いところもあり驚きます。

MSX3 世代なら V9990 使えば、そういうテクニックも不要な程度に高速なのかもですが。

26 :ナイコンさん :2024/03/21(木) 12:13:57.73 ID:xtsyDsrXM.net
自分で試行錯誤するのもいいし既にあるアルゴリズムを利用するのもいい
どっちも正しいしどっちかが間違っているわけでもない

27 :ナイコンさん :2024/03/21(木) 15:44:47.02 ID:kx+EaCjnd.net
でもまあ、MSX3は関係ない罠

28 :ナイコンさん :2024/03/21(木) 20:42:50.60 ID:bxBqWnKm0.net
>>24
>CPUでRAM上に描画して一気にVRAM転送した方が速いとか普通にありそう

16bitパソコンでもそれはきつそうだけどね
Raspberry Pi PicoやESP32とかの
32bitのArduino互換機とかで320x240のLCD相手なら簡単にできるけど
昔のパソコンにはきついね
Raspberry Pi PicoだってPentium90MHzくらいの性能ありそうだし

29 :ナイコンさん :2024/03/21(木) 20:49:58.91 ID:Ru76Ckkea.net
9821で低解像度グラフィック(320x240x256 や、288x224x256)を描画するときはRAM上の仮想VRAMに描いてフリップの時に実VRAMへ拡大転送してたよ
(拡大処理が最終転送時のみになるので速い)

とはいえ、9821だとDOSの16ビットコードでも32ビット分類になっちゃう?

30 :ナイコンさん :2024/03/21(木) 20:51:36.78 ID:bxBqWnKm0.net
9821って486でしょ?
そりゃできるかもね

31 :ナイコンさん :2024/03/21(木) 21:28:02.49 ID:bxBqWnKm0.net
16bitコードだからといって486はキャッシュも積んでるし
普通に32bitのバースト転送でメモリアクセスしてそうだけどね

32 :ナイコンさん :2024/03/21(木) 21:41:13.08 ID:bxBqWnKm0.net
Dhrystoneだけで比較するのはよくないけど
以前、Raspberry Pi Picoで計測したらDhrystone 2.1で111DMIPSあったわ
ここのサイトのDMIPS値みるとRaspberry Pi Picoってかなり優秀なんだな

https://netlib.org/performance/html/dhrystone.data.col1.html

33 :ナイコンさん :2024/03/21(木) 21:42:09.93 ID:bxBqWnKm0.net
まあ、今のARMのGCCは性能いいから単純に比較はできないけどね

85 KB
新着レスの表示

掲示板に戻る 全部 前100 次100 最新50
名前: E-mail (省略可) :

read.cgi ver.24052200