MSX3 Part7
レス数が1000を超えています。これ以上書き込みはできません。
!extend:checked:vvvvv:1000:512
※スレ立ての際、>>1の本文1行目に
!extend:checked:vvvvv:1000:512
を入れてください
前スレ
MSX3 Part5
https://kizuna.5ch.net/test/read.cgi/i4004/1677554335/
https://kizuna.5ch.net/test/read.cgi/i4004/1674217238
MSX3 Part6
https://kizuna.5ch.net/test/read.cgi/i4004/1681427284/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured MSX全盛時代からC言語使ってた人ならK&Rが当時は当たり前だった
C89という通りC89が普及したころはもうMSXが下火だった頃だからね
UNIXだって当時はまだK&RのPortable C Compilerが標準だったはず
MSX-Cは当時のLSI-C80のサブセットなので
32bit整数や浮動小数点演算は使えないけど
MSX-C Libraryに32bit整数や倍精度浮動小数点を扱うための関数があります C89(ANSI C)対応のCP/M用のCコンパイラとして
HI-TECH C COMPILER (CP/M-80) V3.09があります
1987年のコンパイラなのでC89にはプレ対応です
CP/M program EXEcutorなどのWindows上で動作する
CP/Mのエミュレータ上で開発すればコンパイルも一瞬で終わりますよ
ちなみに32bit整数は使えて、浮動小数点演算は単精度までです R800は速いんだけどコプロがないので浮動小数点使うのは流石にムリがあるな
Z80系はCを全く意識せず作られてるのでそこはもちろんコンパイラがなんとかするんだけどその分コードが長くなり元から少ないメモリを圧迫する
結局アセンブラが一番よw もう少ししたらAIが勝手にプログラミングしてくれるようになるよ MSX0 においてもゲーム用途なら16ビット整数を用いた
固定小数点演算がメインにはなるかな。関数の書き方が
異なるのが嫌だなぁ
func(x, y)
int x,
int y
{
}
だっけ、func(int x, int y) と書きたいねぇ。マクロでなんとか
綺麗に新しい書き方っぽくならないかな。 Math-Packを使うC言語はMSX-Cしかないのかな 簡易的にK&RからANSIに変換するのはあったし、その逆も誰か作ってたような記憶がある。
もちろん、そんなんじゃ宣言部分ぐらいしか変換できないけど。 >>958
ライブラリだから汎用的になっているのが当時としては大げさだよね
アプリとしては必要な範囲・精度で結果が求められれば十分だから >>955
SPARCはCを意識して作られたと言われてるがな >>955
6809では8ビットながらすでにポストインクリメントやインデックスレジスタからのオフセットアクセスが機械語レベルでサポートされている
Z80でやろうとするとINC命令をあとから追加したりIXレジスタを使うと1バイト長くなり実行も遅くなる 68が意識したのはCというよりPDP-11の系譜なんじゃ
MMU用意してるし >>962
アドレッシングの豊富さとC言語を意識したとのどの辺に関係あんの? アセンブラやってみるとわかるんだけど
構造体とか先頭アドレスをレジスタにセットしてメンバーへのオフセットをプラスしてアクセスするから1命令で便利
Z80ではHLレジスタに構造体アドレスを入れてDEにオフセットを入れて足して(時間のかかる16ビット演算)からアクセスし別のメンバーにアクセスするにはまた足して…
IXレジスタでやると頭に1バイトコード足してしかもアクセスは遅くなるんだよな
配列でも同じような問題がある
しょせん電卓用CPUだからしょうがないんだけどw ほう cproto 等 K&R と ANSI 変換の試みがあったのね
ついでに z88dk と MSX-C でソース共有したいな。
これはコンバータが必要か V & Z 使えば、MSX0 実機 DOS2 上でもファンクションキーなしで
複数ファイル同時編集(SPLIT MODE)できるので MSX-C
プログラミングできなくもないね。 msx-vi は画面分割できないのですか?MSX-C で
プログラム書くときに、*.h と *.c を画面分割
して同時編集くらいしたいのですが
https://fr3nd.github.io/msx-vi/ >>969
z88dkは比較的最新のでMSX-Cは博物館レベルなので…
z88dkの機能を使うとMSXCに戻せなくなったりするだろう
例えば//コメントがMSXCでは使えなかったり >>972
MSX0 世代の C言語としては両方をサポートしたいんだけどねぇ。悩ましい。
で、80年代当時の MSX-C 開発環境だけど、実機だけは現在でも厳しく
MS-DOS 上での CP/M エミュレータ環境なり CP/M-86 などでクロス開発
されたたのでしょうか?それなりに市販ソフトでも C で開発されたソフトは
有るよね C実装もあっただろうけど独自実装したマクロアセンブラが多そう
実機でセルフ開発したいなら特にそうなると思うよ Tiktok LiteでPayPayやAmazonギフトなどに交換可能な4000円分のポイントをプレゼント中!
※既存Tiktokユーザーの方はTiktokアプリからログアウトしてアンインストールすればできる可能性があります。
1.SIMの入ったスマホ・タブレットを用意する
2.以下のTiktok Liteのサイトからアプリをダウンロード(ダウンロードだけでまだ起動しない)
https://tiktok.com/t/ZSNfswHBq/
3.ダウンロード完了後、もう一度上記アドレスのリンクからアプリへ
4.アプリ内でTiktokで使用してない電話番号かメールアドレスから登禄
5.10日間連続のチェックインで合計で4000円分のポイントゲット
ポイントはPayPayやAmazonギフト券に交換できます
家族・友人に紹介したり、通常タスクをこなせば更にポイントを追加でゲットできます >>976
そんなにこまめに自演しないと儲からないの?
普通に働いたほうがらくじゃんw >>979-980
amazonnだから違うやつだろきっとw MSX-Cは正しく書いてもなぜかコンパイルエラーになるときがある コンパイル中にメモリが足りなくなる
ディスク書き込みに失敗した
そんなところじゃないか MSX含め8bit機でCやるのは苦行でしかない
PC上でクロスコンパイルして、エミュレーターで動作確認して時々実機で動かせばいい
Androidアプリの開発だってみんなそうやってんだ じゃあ、これからはMSXのソフトがたくさん発表されるってことでつね 当時商用の開発してた時もPC98(後にDOS/V機)でコンパイルしてた
MSX実機はただの実行機でしかなかったな
DOS/Vの広々テキストエディタに移行してからPC98はオワタって思ったわ >>0989
環境話せる範囲で詳細知りたいです。
CP/M-86 で MSX-C 動かすなら実機より早く
フロッピー経由で MSX 実機に持っていくのも
楽だったはずですよね? CP/M86じゃMSX-Cは動かんよ
MS-DOS用のLSI-C80かね >>991
98,DOS/V共にMS-DOS上で開発
うろ覚えだけどir80?ってコンパイラ使ってた
コマンドは3.5FDD経由でMSXで実行(98よりもDOS/Vの方が相性は良かった)
また実際の製品は専用フォーマット(ファイルシステム使わずセクターアクセスのみ)使ってたんで、
MS-DOS用の専用ツールを作って書き込んで作ってた >>993
88dkがあるのに今更LSI-Cなんて使うんかw
当時のゲーム等は全部マクロアセンブラでしょ
シミュレーションゲーム等は高級言語使ってたかもしれない >>994
ir80はアセンブラなのでコンパイルじゃないぞ 98にZ80乗った基板ぶっ挿してMSDOSとCP/Mを統合して使えるヤツあったよね、カノープスのとか。
ああいうので作ってた人もいるんじゃない?
もっといえばUnixでクロスなんてのも。 >>996
うろ覚えって書いとるやん
そんな昔の覚えとらんよ 使ってた言語まで忘れているようじゃ流石にボケ過ぎでは... このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 174日 11時間 38分 32秒 5ちゃんねるの運営はUPLIFT会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《UPLIFT会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
4 USD/mon. から匿名でご購入いただけます。
▼ UPLIFT会員登録はこちら ▼
https://uplift.5ch.net/
▼ UPLIFTログインはこちら ▼
https://uplift.5ch.net/login レス数が1000を超えています。これ以上書き込みはできません。