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

■ このスレッドは過去ログ倉庫に格納されています

PC-8801mkII SR以降 Part16

1 :ナイコンさん:2015/03/21(土) 23:34:20.48 .net
5インチFDD2基搭載(model30)、FM音源内蔵、漢字ROM標準搭載
従来の88/80と高互換性、高速モード搭載、加えてそれまでの
88&88mkII時代とは比較にならないグラフィックまわりの大幅強化など
当時最強のマシンだったPC-8801mkIISR以降を語ろう。
(SR,TR,FR,MR,FH,MH,FA,MA,FE,MA2,FE2,MC)

また、mk2を買った直後にSRが出て辛酸を舐めさせれた人も多数存在。
あの頃は夢のV2モードだった。

>>980過ぎたら次スレを立てるように、立つまでは埋めないで下さい

Part15: ttp://hello.2ch.net/test/read.cgi/i4004/1414198000/
Part14: ttp://hello.2ch.net/test/read.cgi/i4004/1408324944/
Part13: ttp://hello.2ch.net/test/read.cgi/i4004/1396735881/
Part12: ttp://ikura.2ch.net/test/read.cgi/i4004/1379261158/
Part11: ttp://ikura.2ch.net/test/read.cgi/i4004/1357481807/
Part10: ttp://ikura.2ch.net/test/read.cgi/i4004/1338549950/
Part9: ttp://ikura.2ch.net/test/read.cgi/i4004/1321966638/
Part8: ttp://toki.2ch.net/test/read.cgi/i4004/1268318442/
Part7: ttp://gimpo.2ch.net/test/read.cgi/i4004/1234845033/
Part6: ttp://gimpo.2ch.net/test/read.cgi/i4004/1220979638/
Part5: ttp://bubble6.2ch.net/test/read.cgi/i4004/1206677415/
Part4: ttp://bubble6.2ch.net/test/read.cgi/i4004/1186492863/
Part3: ttp://bubble6.2ch.net/test/read.cgi/i4004/1147965885/
Part2: ttp://bubble4.2ch.net/test/read.cgi/i4004/1052914678/
Part1: ttp://pc.2ch.net/test/read.cgi/i4004/1031982965/

518 :ナイコンさん:2015/04/20(月) 12:54:03.70 .net
>>517
なるほど。そういう意味なのか。

519 :ナイコンさん:2015/04/20(月) 17:51:33.16 .net
釣られると拡張ラム設定してないだけ
88のALUはレジスタに近い

520 :ナイコンさん:2015/04/20(月) 18:15:25.88 .net
実機にバッファがあるわけないだろ? アホか

521 :ナイコンさん:2015/04/20(月) 21:42:58.62 .net
>ALUバッファ
初めて聞いたし、実機いじっててそんなのあるような挙動したこと無いわ。

522 :ナイコンさん:2015/04/20(月) 22:21:03.17 .net
だからエミュレーターの話をしているんだよ日本語が理解できているのか?

523 :ナイコンさん:2015/04/20(月) 22:34:04.80 .net
QUASIでも動くのに的外れだからしょうがないw

524 :ナイコンさん:2015/04/20(月) 22:41:56.18 .net
QUASIについては増設RAMの実装がおかしいんだろうな

525 :ナイコンさん:2015/04/20(月) 23:10:43.15 .net
>>519
quasi88で、拡張RAMで動いた。どもども。
88系もってなかったので、拡張RAMとか知らなかった。

526 :ナイコンさん:2015/04/21(火) 17:49:00.06 .net
持ってないのになぜここに来る?

527 :ナイコンさん:2015/04/21(火) 18:58:05.18 .net
BIOSとかFDイメージどうしてんだか
sageてない時点でお察しだろうけど

528 :ナイコンさん:2015/04/21(火) 19:31:44.27 .net
hageてないならいいけど

529 :ナイコンさん:2015/04/22(水) 13:10:36.14 .net
タルケンを出してみた

ttp://fileup.jp/up/7329.zip.html

530 :ナイコンさん:2015/04/22(水) 17:32:49.54 .net
地上物まだかなwktk

531 :ナイコンさん:2015/04/22(水) 18:53:19.02 .net
俺はYs2のリリヤみたいな女は嫌いだ。

532 :ナイコンさん:2015/04/23(木) 04:47:26.12 .net
コイツか >リリヤ
https://www.google.co.jp/search?q=%E3%83%AA%E3%83%AA%E3%83%A4&ie=UTF-8&safe=off&tbm=isch

533 :ナイコンさん:2015/04/23(木) 10:14:04.27 .net
杉本理恵の事だよ

534 :ナイコンさん:2015/04/23(木) 11:38:15.45 .net
>>533
それ ミス「リリア」だろ。
リリヤなんてキャラはいない。

535 :ナイコンさん:2015/04/23(木) 12:05:16.10 .net
>>529
ありがとうございます
「G」と「V」キーでも自機を上下に移動できるのはデバッグ用とかですか?

それにしても高い技術力もさることながら実際に作って公開する行動力はすごいですね!
更なる完成度を目指して頑張ってください!

536 :ナイコンさん:2015/04/23(木) 15:53:56.82 .net
8ビット中6ビットを使っている為残りの2ビットをGとVに割り当てているだけで意味は無いよ
スペースとリターンに変更しようとい思う

537 :ナイコンさん:2015/04/24(金) 00:47:56.47 .net
IX IY を使うと本当に遅いということが分かった

538 :ナイコンさん:2015/04/24(金) 07:57:21.29 .net
>>537
適材適所でしょ。
ld iyh,a
とか一時保存に使ったりもしたし
C言語でいう構造体への順序性のないアクセスなんかにはhlレジスタやりくりするより速くなる事も多いけどな

539 :ナイコンさん:2015/04/24(金) 10:24:19.92 .net
LD IX,(m)
LD C,(IX+n)
LD B,(IX+n+1)

LD HL,(m)
LD BC,n
ADD HL,BC
LD C,(HL)
INC HL
LD B,(HL)
をぱっと見ると前者が圧倒的に効率的に思えるが、
実際は前者10バイト58クロック、後者10バイト57クロックだったりする。

たくさんのメンバーにアクセスする場合は、
>>425の操作用の構造体への転送/書き戻しをする
手法が効果的だったりするし、
IX,IYを使った方が良くなるのはその中間の「半端に構造体のメンバーへアクセスする」ときくらいかも?

540 :ナイコンさん:2015/04/24(金) 10:35:57.24 .net
転送/書き戻しは多くのアクセスが無いとそれ自体が足ひっぱるね
HL使えるのが前提だけど構造体を256等切りをよくして
LD H,0 ; 構造体BANK
LD L,n ;
LD C,(HL)
LD L,n+1 ; (or INC L)
LD B,(HL)
みたいにしたりとか
ソーサリアン解析しててもIX,IYは使われてるしほんと適材適所だよね

541 :ナイコンさん:2015/04/24(金) 11:17:19.57 .net
そもそもZ80で構造体処理は鬼門。
普通に
struct {
int a;
int b;
} c[100];
とするのではなく、
int c_a[100];
int c_b[100];
とすべき…というのはさすがに無茶振りだけど、
CPUの特性を把握するという意味で、
そういう心構えは持っておいたほうが良いかも知れない。

542 :ナイコンさん:2015/04/24(金) 11:49:50.26 .net
さすがにそれは別問題かとw
案件としてはキャラ(スプライト)を管理なりをする話だと思うので
x,y,no/x,y,no/x,y,no…

x,x,x…/y,y,y…/no,no,no…
にすべきと言われて困惑するみたいなw

543 :ナイコンさん:2015/04/24(金) 14:22:18.15 .net
> x,x,x…/y,y,y…/no,no,no…
6502なら基本的にそうするだろうし、6809ならそうする意味が無いと思うけど、
Z80は微妙…でも可能ならそうした方が良い気がする、多分。
>540 みたいな形式で256要素の構造体配列にアクセスできるようになるよ。
(Hレジ=メンバーID、L=インデックス値になる)

544 :ナイコンさん:2015/04/24(金) 18:12:13.74 .net
どのレジスタをどう使おうと自由だがIX,IYを使うときはクロックを気にした方が
いいよって程度のことだろう

545 :ナイコンさん:2015/04/24(金) 18:17:52.76 .net
というよりもループ回数の多い中での処理の高速化テクニックだよ
サウンドドライバみたいなループしない処理はどうでもいいこと

546 :ナイコンさん:2015/04/24(金) 18:45:36.74 .net
もう動けばいいよ

547 :ナイコンさん:2015/04/24(金) 19:27:08.96 .net
インデックスレジスタを使わない方針で高速化してみた

ttp://fileup.jp/up/7395.zip.html

548 :ナイコンさん:2015/04/24(金) 19:43:01.85 .net
上の方で解析やってた素人だけど、しばらく中断してたが昨日から再開、色々わかってきた

先ずIPLの部分だけどDOSチックなルーチンを本体とサブのメモリ上に置いてて
初めに$記号とプログラム格納&開始番地(8400)の書かれたセクタを探して読込みと実行をやってる
これは>>500,501の言ったとおり
また読込み時、通常のハンドシェイクをすっ飛ばして、しかも通常は入力・出力の専用で別々に使ってるポートを
両方同時に入出力に使用し、それを2連続(1度に4Bの読込み)でやってる
で、なんやかんやネットで関連調べるうちにココ↓にたどり着いた すごい便利
http://www.geocities.jp/submarine600/html/p8/dos.html

549 :ナイコンさん:2015/04/24(金) 19:51:27.18 .net
だいぶ頑張ってるけどやっぱスクロールとハード重ねあわせのあるMZ-2500にはかなわないなあ

550 :ナイコンさん:2015/04/24(金) 19:52:38.65 .net
ALUの使い方もI/Oマップの解説HPとかじゃ訳わかめだったけど、おかげでとても勉強になった
先ずI/O34hのALU制御に07h(上書き)、I/O35hのGVRAM制御に09h(3プレーン同時書込み)をあらかじめ投げておき、
後はVGRAM上のデータを複写とか移動させる時はI/Oの32hの6ビット目を1(拡張モード)にして読込んで目的の位置に書込み
(このプログラムだと左側のチップのデータのコピーに使ってる)
また各プレーンに描きたいときは0(独立モード)に変えて好きなVGRAMバンク選んで書き込む

あと、すごい頭いいなと思ったのは重ね合わせの処理
スプライトの色は濃い緑(背景色)、赤、白、灰色の4色にして
先ずALUの指定ビットリセットで3プレーン同時に0(背景色)にし
続いてプレーン0の指定ビットの反転(赤)、プレーン2の指定ビットの反転(灰色)をやってる(両方反転で白)
つまり書込むプレーンの数を1枚少なくしてる

551 :ナイコンさん:2015/04/24(金) 20:00:29.92 .net
気になる点は>>537の言うように、背景・スプライトともに位置指定が全てIX・IYレジスタを使用してる点かな
って、書いてるうちに新作がきてるww
それとアンドアジェネシス(ソルバルウ36個分)を浮かせるのは今のままだとかなりキビシそう
解決策考えてるけど頭悪りぃからアイデアが浮かばない

てか多分ここに書き込みしてるような人はこんなの説明されるまでもなく理解してんだろうな
みんなすごいわ
俺も勉強がてら何か作ってみるかな
以上しょうもないこと連投してすみませんでした

552 :ナイコンさん:2015/04/24(金) 20:07:03.50 .net
ルナーレスキューみたいなの書いてあげてくれ

553 :ナイコンさん:2015/04/24(金) 20:15:55.54 .net
あ、言い忘れるとこだったけど
俺もマップチップをマッチングして抽出するプログラム作ってみたたんだけど
チップの大きさをあれこれ試してるうちに16*16でいけることがわかった
http://i.imgur.com/i2jCuQT.png
これでマッピングすればマップの全体容量を今の25%に圧縮ができる
後は1レコード4Bの変換テーブルを544コ(4B*544=2KB 実際はまだ減らせると思う)さえ作ればおk

554 :ナイコンさん:2015/04/24(金) 20:37:46.16 .net
http://livedoor.blogimg.jp/abacabu-abacabu/imgs/6/b/6b6ac174.jpg
これでマィッチングしてもいけなかった

555 :ナイコンさん:2015/04/24(金) 20:53:03.94 .net
PC-88の難しさはソフトを作ってみると分かる

556 :ナイコンさん:2015/04/24(金) 20:54:25.59 .net
教師生活25年…

557 :ナイコンさん:2015/04/24(金) 21:14:27.40 .net
Z80と86系しかいじった事無いから他のCPUと比べてどうのって感想は無いな。

558 :ナイコンさん:2015/04/24(金) 21:17:40.69 .net
テーブル参照とかテーブルジャンプとかできないし
符号拡張命令がない童貞CPUなんだよ

559 :ナイコンさん:2015/04/24(金) 21:25:23.89 .net
88時代からのプログラマーは、PS2世代までは過去の経験で結構ついていったけど、その次の世代、特にPS3で苦戦してコンシューマーから離脱した人多いよな

560 :ナイコンさん:2015/04/24(金) 21:25:38.96 .net
>>553
自己レスだけど50%の間違いだったわ(544コだから2Bになってしまう)
スピードにも全く影響ないわけでもないし、どうせエミュでRAMとかじゃぶじゃぶ使いまくれるしで
マップ圧縮にあんましメリットがないと言うことに今さら気付いた

561 :ナイコンさん:2015/04/24(金) 21:34:19.34 .net
書き換え参照とか書き換えジャンプとか
みんなやらなかったのか

562 :ナイコンさん:2015/04/24(金) 23:49:32.47 .net
自己書き換えはキャッシュ積んでないCPUでこそ多用するべし。

563 :ナイコンさん:2015/04/25(土) 00:50:26.38 .net
>>557
それ以外って68系ぐらいしか思いつかん

564 :ナイコンさん:2015/04/25(土) 01:27:43.86 .net
      LD A,(WORK)

WORK EQU $+1
      LD A,0
にするくらいはよくやる

565 :ナイコンさん:2015/04/25(土) 01:31:48.45 .net
ゼビウス作ってる人、動かせる環境ないから画像か動画で見たい。

566 :ナイコンさん:2015/04/25(土) 07:41:31.50 .net
ゼビウスのスタートミュージック

アーケードのオリジナルは
高音パートのほうが強く聞こえるんだけど
移植版はいずれの機種も(電波製の各PC用、ファミコン用他すべて)
低音パートがやたら耳について違和感あるのは
私だけでしょうか

567 :ナイコンさん:2015/04/25(土) 08:17:03.15 .net
またお前か

568 :ナイコンさん:2015/04/25(土) 09:37:19.30 .net
>>566
グライコ使えば良いだけだろw
内蔵のチープなスピーカー向けに低音を強めに調整するのは良くある、
後継機や高級機でスピーカーがリッチになってバランスがおかしくなったりとか、
ぶっちゃけその辺は適当だろう、製作者側でどうこう出来る部分じゃないし。

569 :ナイコンさん:2015/04/25(土) 12:48:19.30 .net
昔のアーケード機は音が大きかったよな
パックマンとか超大音量だった

570 :ナイコンさん:2015/04/25(土) 22:29:41.70 .net
矩形波と三角波
パソコンは前者しか使えない
あとはわかるな。

571 :566:2015/04/25(土) 22:32:24.64 .net
>>567
何の事だ?と思ったが
ぐぐってみたらゼビウススレとかで
同様の疑問を呈してた人がいたな これのことか
少なくとも私だけではなかったか

>>570
そういうことか理解した

572 :ナイコンさん:2015/04/25(土) 22:41:09.11 .net
昔のゲームだから電波のパソコンゲーム音楽は適当すぎる
明らかにコードが違うものもある

573 :ナイコンさん:2015/04/25(土) 22:46:59.46 .net
bgmなんて鳴ってりゃいいのさ

574 :ナイコンさん:2015/04/25(土) 23:07:48.77 .net
サウンドドライバーによって処理速度が遅くなったり、繰り返しやフェードインアウト、
効果音なんかで不都合がでることがあるよね

575 :ナイコンさん:2015/04/25(土) 23:11:28.74 .net
1942は良移植と評価が高かったけど今見ると典型的パソゲーな出来

576 :ナイコンさん:2015/04/25(土) 23:19:28.09 .net
FM音源ってテープで録るとチープになるんだよな
倍音の厚みが崩れるんだろうか?

577 :ナイコンさん:2015/04/25(土) 23:41:08.68 .net
>>576
倍音はDAコンバーターで出来るところまでだけども
アタックの鋭さがアナログ録音では再現出来ないよね。跳ねる感じね。
FM音源は独特の生々しさがある。

578 :ナイコンさん:2015/04/25(土) 23:48:59.88 .net
録音機材にも問題あったんじゃね、メタルやクロームじゃなくノーマルテープ使ってたとか
ヘッドフォン端子使ってたとか、アンプが安物だったとか

579 :ナイコンさん:2015/04/25(土) 23:59:05.83 .net
ドルビーCが入っているとか

580 :ナイコンさん:2015/04/26(日) 01:17:55.02 .net
CNRは不安定だったな

581 :ナイコンさん:2015/04/26(日) 02:17:59.44 .net
ゼビウスの音楽がステレオから流れたときは感激したなぁ

582 :ナイコンさん:2015/04/26(日) 10:50:40.21 .net
>>575
そんな話は初めて聞くぞ

583 :ナイコンさん:2015/04/26(日) 15:34:17.23 .net
これ?
https://www.youtube.com/watch?v=lWCSzkUIVUM

584 :ナイコンさん:2015/04/26(日) 17:54:25.93 .net
カセットテープはフェリクローム最強

585 :ナイコンさん:2015/04/26(日) 18:38:40.38 .net
>>584
乾電池はオキシライドが最強とか言っちゃうタイプの人ですか?

586 :ナイコンさん:2015/04/26(日) 18:40:52.53 .net
DUAD一本あったけどなんかで使ってしまった

587 :ナイコンさん:2015/04/26(日) 19:26:06.01 .net
DUAD-PC88D スタンドアロンでは最高の開発環境だったけどマクロがないんだよな

588 :ナイコンさん:2015/04/26(日) 20:06:47.56 .net
MF-ASMでしたが

589 :ナイコンさん:2015/04/26(日) 21:58:22.29 .net
アスキーの「8801マシン語入門」って本に載ってたね>MF-ASM
DUADのサブセット版って感じ。

590 :ナイコンさん:2015/04/27(月) 08:52:00.36 .net
ヤフオクに二本出てたけどどうなったのかな

591 :ナイコンさん:2015/04/27(月) 10:44:46.95 .net
両方、3万円超えてたよ
俺もMF-ASM使ってた
本見て気合入れながら入力した

592 :ナイコンさん:2015/04/27(月) 17:05:40.57 .net
辞書ROMを使うにはどの本を見たらいいの?

593 :ナイコンさん:2015/04/27(月) 19:24:31.31 .net
ゴホンといえば龍角散

594 :ナイコンさん:2015/04/27(月) 20:57:04.14 .net
敵 白濁衰勢に向かって、龍拡散波動砲 発射!

595 :ナイコンさん:2015/04/27(月) 22:55:18.01 .net
DUADは当時のツールとしてはエディタが高機能だったりして良かったんだが
ディスク読み書きが遅くてエディタとアセンブラを行ったりきたりするのが
面倒だったな。
インテルHEXを吐いてくれてバイナリに読み直すのもどうかという感じだった。

596 :ナイコンさん:2015/04/27(月) 22:57:09.91 .net
まてまてまて

DUAD
2つの意味で平行的に話が進んでるぞ
全然噛み合ってねえ

597 :ナイコンさん:2015/04/27(月) 23:12:47.57 .net
>>595
インテルHEX形式で吐き出すのは、CP/Mへ持って行きやすいようにかと。

598 :ナイコンさん:2015/04/28(火) 00:04:18.32 .net
>>595
チョット長いプログラムになると全部をエディタ上で編集できなくて、
適当なところで分割して編集しておいて、最終的に1本にマージしてからアセンブルする、
という方法(しか知らなかったので)でやってたが、マージがとにかくものすごく遅かった。

なんかセクタ単位で1つ読んでは引っ付け1つ読んでは引っ付け、みたいなことをやっていたのではないかと思うが
学生だったからそれでもやってたけど。

599 :ナイコンさん:2015/04/28(火) 06:08:42.14 .net
M88の拡張RAM設定はどこでするのですか?

600 :ナイコンさん:2015/04/28(火) 06:25:03.03 .net
Mxのrom側で認識してくれるよ

601 :ナイコンさん:2015/04/28(火) 08:27:07.24 .net
>>598
MS-DOSでのcopy part1+part2 all
みたいなことをバッファリング処理無しでやってるってこと?
それは遅いだろうな…ってか普通のファイルコピーだと問題ないのか?
CP/MのPIPでもファイルコピー時のバッファリング処理はやってたはず。

602 :ナイコンさん:2015/04/28(火) 11:59:47.98 .net
>>596
TypeVのデッキ修理したい
アセンブラは実機はzeas88か雑誌のやつを使ってた気がする

603 :ナイコンさん:2015/04/28(火) 14:09:03.52 .net
初期のメタルテープは中央のメタル検出穴がなく、
「このテープはType IVのあるデッキ以外では使用できません」
と明記されていた。

604 :ナイコンさん:2015/04/28(火) 15:32:59.46 .net
>>595
DUADは名前しか知らんが、日高徹氏のHIT-88がエディタ・アセンブラとして快適だった事だけは覚えてる

605 :ナイコンさん:2015/04/28(火) 16:01:02.00 .net
gomi

606 :ナイコンさん:2015/04/28(火) 16:04:35.25 .net
C-DOS2出してたキャリーラボのXINAも割とよかったとの話をきたいことある

607 :ナイコンさん:2015/04/28(火) 17:39:18.51 .net
XINAってザイログニモニックとは極端に異なるからな

HL=HL-DE
IF CY THEN RETURN
GOTO LABEL

みたいな感じ

608 :ナイコンさん:2015/04/28(火) 21:20:58.82 .net
元がBASEだからね。

609 :ナイコンさん:2015/04/28(火) 21:36:50.74 .net
拡張命令の LD IXh,B ってどういう動作かわからん

610 :ナイコンさん:2015/04/28(火) 21:53:07.31 .net
Z80の未定義命令のことなら
LD H,BのIX版=IXの上位8ビットにBレジを代入、
じゃないかと。
H、L、HLを使う命令の前にDD(IXレジ)、FD(IYレジ)を付ければ
大体は使えるっぽい。

611 :ナイコンさん:2015/04/28(火) 21:54:10.92 .net
Bレジスタの内容を、IXレジスタの上位8bit部に入れる
じゃないのかな?
使った事ないからわからんけど

612 :ナイコンさん:2015/04/28(火) 23:18:15.40 .net
>>610-611
マジでありがとう、一つ謎が解けました

613 :ナイコンさん:2015/04/28(火) 23:27:33.76 .net
PASS88も便利表記できたなー
PUSH DE, HL
ZRO BC
IF NZ
LDI 4
FI
MULやDIVなんかも使えた良し悪しだろうけどw

614 :ナイコンさん:2015/04/29(水) 04:18:17.39 .net
PC-9801に乗り換えてZ80プログラムしなくなった後に
裏レジスタの存在を知ったんだけどw
使ってました?

615 :614:2015/04/29(水) 04:20:22.50 .net
というか裏レジスタも知らずに「『Z80』でプログラムしていました」なんて
自称できませんねw モグリだ

616 :ナイコンさん:2015/04/29(水) 05:53:45.92 .net
裏レジスタを使うと反則的印象

617 :ナイコンさん:2015/04/29(水) 07:52:41.84 .net
当時読んだZ80の資料が日高のマシン語ゲームグラフィックスとマシン語 マスターバイブルだけでした。

総レス数 1001
178 KB
新着レスの表示

掲示板に戻る 全部 前100 次100 最新50
read.cgi ver.24052200