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

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

【友好数探し】ベンチスレ@昔のPC板

1 :ナイコンさん:2005/06/27(月) 12:37:46 .net

        ↓68030
      ∧_∧
      ( ・∀・)つ
     ⊂    ノ
      (_) ノ      ∧_∧
       (_)      (´∀` )
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''`````
`''''''''''''''''''
                ↑Z80

昔のPCさえあれば、何もいらない。
というわけでもありませんが、お前らの愛機の実力を教えてください。

(友好数とは)そのすべての約数(自分自身を除く)の和が、
互いに相手の数と等しくなるような数のペアのことです。
(測定方法)プログラム実行とともにストップウォッチで秒数を測定
(小数点以下切り捨て)


2 :ナイコンさん:2005/06/27(月) 12:38:45 .net
ソース(MSX C入門より)
以下のプログラムを自分の機種用にアレンジしてください。
算術演算子”MOD(剰余)”がない機種はちょっと厳しいかも。

(MSX-BASIC)
100 DEFINT A-Z
110 FOR J=2 TO 1000
120 N=J: GOSUB 180: IF S<=J THEN 150
130 N=S: GOSUB 180: IF S<>J THEN 150
140 PRINT J;N
150 NEXT J
160 END
170 '
180 S=0
190 FOR I=N/2 TO 1 STEP -1
200 IF (N MOD I)=0 THEN S=S+I
210 NEXT I
220 RETURN



3 :ナイコンさん:2005/06/27(月) 12:39:46 .net
(C言語)
#include <stdio.h>
main()
{
int j, s, sum();
for ( j = 2; j <= 10000; ++j ) {
s = sum( j );
if ( s > j && sum( s ) == j )
printf( "%d %d\n", j, s );
}
}
sum( n )
int n;
{
int i, s;
s = 0;
for ( i = n/2; i >= 1; --i )
if ( (n % i) == 0 ) s += i;
return s;
}


4 :ナイコンさん:2005/06/27(月) 12:40:46 .net
テンプレ
【.メーカー.】
【..機種名....】
【...CPU...... 】
【クロック数】
【.....メモリ.. 】
【.言語 】
【プログラム変更点】
▼スコア
【 220,284 】
【 1184,1210 】


5 :参考:2005/06/27(月) 12:41:50 .net
【.メーカー.】CASIO
【機種名】FX-870P
【.CPU 】???
【クロック数】???
【.メモリ 】32kB
【.言語 】BASIC
【プログラム変更点】行番号100を削除した。
▼スコア
【 220,284 】7分56秒
【 1184,1210 】

 orz ポケコンは厳しい。。。

6 :ナイコンさん:2005/06/27(月) 13:57:57 .net
実行してやってもいいが、この板で最速だとおもうぜ。

7 :ナイコンさん:2005/06/27(月) 14:28:02 .net
486系なら、DX4を積んだTOWNSかPC-98が最速?

8 :ナイコンさん:2005/06/27(月) 18:29:07 .net
最速バトルも良いけど、クラシックレースも気になるな。
マシンそのものとプログラム環境が残ってるかどうか厳しいだろうけど。
俺はMSXとかファミリーベーシックとかショボイのしかできないけどな。

9 :ナイコンさん:2005/06/27(月) 19:41:29 .net
しょぼくてもいいんでない?昔のPCスレだし
ミッレミリアみたいにマターリといくザンス

10 :ナイコンさん:2005/06/27(月) 19:42:32 .net
機種毎のリストがあれば嬉しい

11 :ナイコンさん:2005/06/27(月) 20:17:22 .net
>>6
て言うか多分、たかがこれだけをどれだけ遅く実行するか
のコンペになりそうな予感

12 :ナイコンさん:2005/06/27(月) 21:39:57 .net
( ´・ω・)
プログラム間違えた。。。
>2の110行目は、

 × 110 FOR J=2 TO 1000
 ○ 110 FOR J=2 TO 10000

だった。じゃなきゃ【 1184,1210 】なんて出るわきゃーない。orz
今MSX2+で30分も計算してたのに、パーんなってもうた。

13 :ナイコンさん:2005/06/27(月) 21:53:15 .net

>9 おっさんくす。
俺も乗ってみるわ。

14 :ナイコンさん:2005/06/27(月) 22:26:42 .net
気を取り直して再チャレンジ

【.メーカー.】 Panasonic
【..機種名....】 FS-A1WX
【...CPU...... 】 Z80A相当
【クロック数】 3.579545MHz
【.....メモリ.. 】 メインRAM 64KB
【.言語 】 MSX-BASIC ver3.0
【プログラム変更点】 110行目の「FOR J=2 TO 1000」は、
               「FOR J=2 TO 10000」の間違いですた。
▼スコア
【 220,284 】 1分36秒
【 1184,1210 】 44分12秒
まぁこんなものだ罠

15 :ナイコンさん:2005/06/27(月) 23:00:53 .net
おいらP6だけど,MODないよ〜

ちなみにMODのない機種は,MODのところを

 N MOD I  → N - INT( N / I ) * I

に変更する.

16 :ナイコンさん:2005/06/28(火) 07:48:16 .net
>15
おっさんくす。パピコンの挑戦待ってるぜ!

17 :ナイコンさん:2005/06/29(水) 14:44:16 .net
穂っ主

18 :ナイコンさん:2005/06/29(水) 15:00:51 .net
>>17
この板は絶対に落ちないので不要です。

19 :ナイコンさん:2005/06/29(水) 22:41:26 .net
名機ポケコンを発掘して>15に倣ってみますた。

【.メーカー.】CASIO
【機種名】PB-100
【.CPU 】???
【クロック数】???
【.メモリ 】2kB (1kb増設済み)
【.言語 】BASIC
【プログラム変更点】
・行番号100、170を削除した。
・110行目の「FOR J=2 TO 1000」は、 「FOR J=2 TO 10000」の間違いですた。
・200行目、(N MOD I)  → (N - INT( N / I ) * I)  に変更する
▼スコア
【 220,284 】(約)17分30秒
【 1184,1210 】

 orz

20 :ナイコンさん:2005/07/03(日) 16:11:42 .net
X68000でCコンパイラでやってみた
[6232,6368]11分30秒
今のパソコンでやったら数秒かな

21 :ナイコンさん:2005/07/03(日) 19:19:18 .net
>>20乙。
(´ω`)やっぱりコンパイラは早えーな。。。
もちろん今のパソコンだと99BASICでも数秒ですが。

22 :ナイコンさん:2005/07/03(日) 22:30:51 .net
【.メーカー.】 任天堂
【..機種名....】 ファミリーコンピュータ
【...CPU...... 】 6502カスタム
【クロック数】 ???MHz
【.....メモリ.. 】 2KB
【.言語 】 NS-HUBASIC V2.1A
【プログラム変更点】
100行 不要
110行目の「FOR J=2 TO 1000」は、 「FOR J=2 TO 10000」の間違いですた。
150、210行の変数(I、J)不要
▼スコア
【 220,284 】 50秒
【 1184,1210 】 21分49秒

MSX2に勝ったぜベイビー

23 :ナイコンさん:2005/07/04(月) 14:57:03 .net
>MSX2に勝ったぜベイビー
まったりとコメントでよろし.しかし若干加齢臭も感じる‥‥

コンパイラでもOKなら,うちにP6用のEXASコンパイラがあったな‥‥


24 :ナイコンさん:2005/07/04(月) 22:55:29 .net
もちろんプログラムのフローが同じなら、コンパイラでもおk

25 :ナイコンさん:2005/07/04(月) 23:49:34 .net
個々にチューニングするのはokな訳ですね.

よーし,DMA切ったる!





しまった,画面が見えない (涙

26 :ナイコンさん:2005/07/05(火) 01:06:14 .net
【.メーカー】EPSON
【機種名】PC-286C
【.CPU 】i80286
【クロック数】10MHz
【.メモリ 】640KB
【.言語 】N88日本語BASIC(86) Ver5.0
【プログラム変更点】
110行目の「FOR J=2 TO 1000」は、 「FOR J=2 TO 10000」の間違いですた。
▼スコア
【 220,284 】11秒
【 1184,1210 】 5分01秒

こんなもんかね・・・

27 :ナイコンさん:2005/07/05(火) 07:05:28 .net
(´ω`)

28 :ナイコンさん:2005/07/05(火) 11:27:52 .net
(´ω`).。oO(ヤッパリぴゅう太は速いのかな・・・・・・・・・)

29 :ナイコンさん:2005/07/05(火) 11:55:55 .net
>お前らの愛機の実力を教えてください。
BASICで実力?
機械語じゃねーと意味ねーだろ。

30 :ナイコンさん:2005/07/05(火) 13:32:19 .net
だったら機械語でかけば?
フローが同じならプログラムに変更加えてもいいわけですから.

(車がクラシックカーだったらチューニングは自由というのと同じ)

31 :ナイコンさん:2005/07/05(火) 13:35:34 .net
- 終了 -

32 :ナイコンさん:2005/07/05(火) 17:18:02 .net
(´ω`)ハンドアセンブルは時間が掛かるからな。。。
止めはしませんが、プログラミングに何時間も掛けるのは本末転倒かも。

33 :ナイコンさん:2005/07/05(火) 20:03:32 .net
ぴゅう太とS1が気になる。。。

34 :ナイコンさん:2005/07/05(火) 21:38:50 .net
日本語BASICのプログラムも載せておかないとダメなんじゃない?

50 モシ A=1 ナラバ ソレカラ 100ニイケ


35 :ナイコンさん:2005/07/12(火) 12:43:38 .net
(´ω`)自分の持ってるPCへの移植ぐらい自分でしてもらわんと。

36 :ナイコンさん:2005/07/23(土) 10:56:13 .net



37 :ナイコンさん:2005/07/23(土) 10:57:13 .net
あげ忘れた。。。

38 :HC-20にて実行中:2005/08/15(月) 00:25:49 .net
>>33
会吸わんは速そうだ。


39 :ナイコンさん:2005/08/15(月) 06:35:14 .net
起きたらでけてた。

【.メーカー.】EPSON
【機種名】HC-20
【.CPU 】6301×2
【クロック数】641kHz?
【.メモリ 】16KB
【.言語 】BASIC
【プログラム変更点】
・90行目に「PRINT TIME$」を追加しますた。
・110行目の「FOR J=2 TO 1000」は、 「FOR J=2 TO 10000」の間違いですた。
・140行目「PRINT J; N」のお尻に「; TIME$」を追加しますた。
・150、210行目の変数(I、J)不要
・その他、各予約語の後ろの空白を可能なものにつき削りますた。行頭の字下
げはそのまま。
▼スコア
【 220,284 】00:03:10
【 1184,1210 】01:24:21

【処理時間(秒)×Clock周波数】
◎ 220,284 (3*60+10)*641*1000=121,790,000
◎ 1184,1210 (1*3600+24*60+21)*641*1000=3,244,101,000
クロック数が低い割に検討してます。

40 :ナイコンさん:2005/08/15(月) 06:35:47 .net
×検討
○健闘
orz

41 :ナイコンさん:2005/08/15(月) 09:04:52 .net
>>39
久々の参入Z。


42 :ナイコンさん:2005/08/15(月) 20:57:52 .net
>>41
d。他にも現れないかな。


43 :ナイコンさん:2005/08/18(木) 21:29:55 .net
【.メーカー.】富士通
【..機種名....】FM-NEW7
【...CPU...... 】68B09×2
【クロック数】2MHz
【.....メモリ.. 】32KB/64KB
【.言語 】F-BASIC 3.0
【プログラム変更点】
・90行目に「TIME$="00:00:00"」を追加しますた。
・110行目の「FOR J=2 TO 1000」は、 「FOR J=2 TO 10000」の間違いですた。
・140行目「PRINT J; N」のお尻に「; TIME$」を追加しますた。
▼スコア
【 220,284 】1分15秒
【 1184,1210 】34分17秒
ファミコンに勝てなかった。

44 :ナイコンさん:2005/08/21(日) 22:07:23 .net
6809でも勝てないのか・・・

45 :ナイコンさん:2005/08/22(月) 01:35:50 .net
クロックが速いのにそんなに遅いかな?
うちでも試してみるYO!
あ、BASICが遅い可能性大だな。

46 :ナイコンさん:2005/08/22(月) 02:22:47 .net
FM-7のBASICはそこそこ早かったような気がするけど‥‥
PAINTが早かっただけかな?

47 :FM77AVでやってみた:2005/08/25(木) 22:20:48 .net
NEW7よりちょっと速いが、、、、ファミリーベーシック恐るべし。整数型なの
かな?

【.メーカー.】富士通
【..機種名....】FM77AV
【...CPU...... 】68B09E×2
【クロック数】2MHz
【.....メモリ.. 】32KB/64KB
【.言語 】F-BASIC 3.0 (disk版)
【プログラム変更点】
・90行目に「TIME$="00:00:00"」を追加しますた。
・110行目の「FOR J=2 TO 1000」は、 「FOR J=2 TO 10000」の間違いですた。
・140行目「PRINT J; N」のお尻に「; TIME$」を追加しますた。
・その他、各予約語の後ろの空白を可能なものにつき削りますた。行頭の字下
げはそのまま。
▼スコア
【 220,284 】1分05秒
【 1184,1210 】29分36秒

F-BASIC 3.3L10でやったら最初のが1分22秒だったので、途中で止めました。
いくらなんでも遅過ぎ。

こんどはAppleIIeでやってみるかな。


48 :ナイコンさん:2005/08/26(金) 16:32:58 .net
FMシリーズキタ━━━━━(゚∀゚)━━━━━ !!!!!

ファミコンはゲームに最適化したから計算も速いとか。
なんにしてもメモリが少ないからおよそパソコンとしてはアレですが。

49 :20:2005/08/27(土) 09:43:28 .net
X68000で10MHzでX−BASICでやってみたらファミコンと
同じような結果でした
ファミコン速いなあ

50 :ナイコンさん:2005/08/27(土) 23:27:42 .net
それはX-BASICが遅いだけじゃないかい?
上のPC-286Cに大差で負けてるよ。

51 :>>20:2005/08/28(日) 14:20:39 .net
【.メーカー.】SHARP
【機種名】X68000XVI('91)
【.CPU 】68000
【クロック数】16/10MHz(10MHzで実行)
【.メモリ 】8MB
【.言語 】X-BASIC
【プログラム変更点】X-BASIC風にかなり改悪
▼スコア
【 220,284 】51秒
【 1184,1210 】22分51秒

PCMやMOUSE等の設定を外したけどあまり速くならなかった
10MHzだとファミコンにも負ける・・・

52 :ナイコンさん:2005/08/28(日) 15:34:00 .net
なんだかんだ言ってこのスレの最強のハードはファミコンなのか?!

53 :ナイコンさん:2005/08/29(月) 00:55:24 .net
X68で、ぺけBASICでキボン

54 :ナイコンさん:2005/08/29(月) 08:22:13 .net
盛り上がってまいりました

55 :ナイコンさん:2005/08/29(月) 13:21:13 .net
【.メーカー.】シャープ
【..機種名....】X1
【...CPU...... 】Z80A
【クロック数】4MHz
【.....メモリ.. 】64KB
【.言語 】dB-IBASIC 1.0
【プログラム変更点】
 ・行番号100を削除。
 ・110行目の「FOR J=2 TO 1000」は、 「FOR J=2 TO 10000」の間違いですた。▼スコア
【 220,284 】44秒
【 1184,1210 】20分15秒

56 :ナイコンさん:2005/08/29(月) 14:56:26 .net
10台エントリーされたので、集計しますた。
なるべく窓を大きくして見てくださいです。
ずれてて見づらいのはスマソ。

【機種名】..........【クロック】....... 【メモリ】....   【言語】..............          【220'284】.... 【1184'1210】
PC-286C   10MHz   640KB    N88日本語BASIC(86) Ver5.0   11秒     5分01秒
X1............     4MHz...   64KB    dB-IBASIC 1.0........          44秒    20分15秒
ファミリーコンピュータ ???MHz...  2KB    NS-HUBASIC V2.1A.        50秒    21分49秒
X68000XVI('91) 10MHz..  8MB    X-BASIC..........             51秒    22分51秒
FM77AV.......    2MHz 32KB/64KB F-BASIC 3.0 (disk版)..............  1分05秒    29分36秒
FM-NEW7.......   2MHz  32KB/64KB F-BASIC 3.0...          1分15秒    34分17秒
FS-A1WX....   3.6MHz  64KB    MSX-BASIC ver3.0.       1分36秒....   44分12秒
HC-20........    641kHz?.. 16KB    BASIC........             3分10秒   1時間24分21秒
FX-870P...    ???.......   32KB    BASIC........             7分56秒
PB-100......    ???......    2KB    BASIC.........            17分30秒


57 :ナイコンさん:2005/08/29(月) 19:32:31 .net
【.メーカー.】シャープ
【..機種名....】X1
【...CPU...... 】Z80A
【クロック数】4MHz
【.....メモリ.. 】64KB
【.言語 】CZ-8CB01(HuBASIC) 1.0
【プログラム変更点】
・110行目の「FOR J=2 TO 1000」は、 「FOR J=2 TO 10000」の間違いですた。
・90行にTIME$="00:00:00"、140行に;TIME$を追加
▼スコア
【 220,284 】1分06秒
【 1184,1210 】29分46秒
【 2620,2924 】2時間24分24秒

58 :>:2005/08/29(月) 19:37:44 .net
普通NEWBASICでないのん?

59 :ナイコンさん:2005/08/29(月) 20:01:22 .net
ぬーべーしっくでこういう計算変わるかな〜?

60 :ナイコンさん:2005/08/29(月) 20:47:41 .net
お、ついにファミコン超えたね。
やっぱ整数に特化ってのが効くのか。

61 :ナイコンさん:2005/08/29(月) 20:48:31 .net
>52
また一つ伝説がw
>54
あれ、嬉しいねえ。
>56
乙彼〜
>59
変わると思う。


62 :61:2005/08/29(月) 22:37:09 .net
掛かった時間とクロック周波数を掛けてみた。ファミコンのクロックは1.79MHzだた。
表の見方は、数字が小さいほど速い。

【機種名】    【クロック】   【220'284】 【1184'1210】(秒数×クロックMHz)
PC-286C.    10MHz.     110.     3010
X1...         4MHz...    176.     4860
ファミリーコンピュータ.  1.79MHz..   89.5..    2343
X68000XVI('91) 10MHz...    510..    13710
FM77AV      2MHz..    130..     3552
FM-NEW7     2MHz..    150..     4114
FS-A1WX     3.6MHz...   345.6.    9547
HC-20        641kHz?..... 121.79..   3244

FX-870P..     ???.......      7分56秒
PB-100.      ???......     17分30秒

○やはりファミコンがずば抜けて速い。クロック周波数勘案でその次に速いの
はなんとHC-20w
○X-BASICはなぜこんなに遅いのか?


63 :ナイコンさん:2005/08/29(月) 23:03:36 .net
X-BASICはC言語モドキで他機種とは全く構造違うからじゃね?

64 :ナイコンさん:2005/08/29(月) 23:54:17 .net
コンパイル前提だったんじゃないかな。
中間コードに変換とかしてたっけ?

65 :ナイコンさん:2005/08/30(火) 00:13:34 .net
そういえば、大昔、BASICインタプリタのベンチマーク競争が結構盛んだった
頃があったな。AppleIIの整数BASICとTRS-80のLevel2 BASICとどっちが速いみたいな。

ああいうベンチマーク競争っていつ頃、どうして終焉したんだろう? よく憶えていない。
ま、右を見ても、左を見ても、MS製のインタプリタばかりで面白くなくなったからとか、
MSがベンチマークコードに最適化かけたからとか、そうしたことが原因なんだろうけど。

66 :ナイコンさん:2005/08/30(火) 01:14:02 .net
M5のBASIC-Gって期待できそ。

>>64
んだんだ

67 :ナイコンさん:2005/08/30(火) 01:16:45 .net
>>64
あ、BASIC→Cのソースに変換

68 :ナイコンさん:2005/08/30(火) 20:08:41 .net
Cにしてコンパイルした結果規模ン


69 :ナイコンさん:2005/08/30(火) 20:17:03 .net
>>20 にあるがね

>>62
6809は内部2倍でなかったっけ

70 :ナイコンさん:2005/08/31(水) 00:00:13 .net
>>67
そうだった、Cコンパイラに付属だったんだ。たしか。

>>69
FM-7のは8MHzを分周して2MHz動作だったはず。
AVのは違うかも。

71 :ナイコンさん:2005/08/31(水) 00:05:59 .net
>>69
>>20
ホントだ…何度も見たのに忘れていた。

68系は(8080も確か)二相クロックなので倍クロック相当といえるが、内部での
逓倍はしていないはず。ちなみにZ80は二相クロックを止めて内部回路を単純
化した結果、高速にできたそうだ。外部バスのタイミングに余裕がなくなった
みたいだけど。


72 :名無しさん@そうだ選挙に行こう:2005/09/10(土) 19:24:01 .net
【.メーカー.】SHARP
【..機種名....】PC-E500
【...CPU...... 】SC62015
【クロック数】2.3MHz ?
【.....メモリ.. 】64k(増設)
【.言語 】BASIC
【プログラム変更点】
・行番号100を削除
・MOD判定を「N=INT(N/I)*I」に変更
・NEXTの変数削除
▼スコア
【 220,284 】3分58秒
【 1184,1210 】 (まだ計算中)
ポケコンなめんな。でもクロックの割に遅いような。
しかしTIME$のあるマシンがうらやましい。
ちなみにNEXTの変数を残したら4'09

73 :72:2005/09/10(土) 21:12:20 .net
途中でねちまった。
もいちど計算だ。

74 :名無しさん@そうだ選挙に行こう:2005/09/11(日) 18:41:52 .net
【.メーカー.】 NEC
【..機種名....】 PC-98DO
【...CPU...... 】 V30 / μPD70008AC-8
【クロック数】 10MHz / 8MHz
【.....メモリ.. 】 640KB / 192KB
【.言語 】 N88-BASIC(86) Ver2.0 / N88-BASIC Ver2.3
【プログラム変更点】
・90行目に「TIME$="00:00:00"」を追加しますた。
・110行目の「FOR J=2 TO 1000」は、 「FOR J=2 TO 10000」の間違いですた。
・140行目「PRINT J; N」のお尻に「; TIME$」を追加しますた。
▼スコア
【 220,284 】 00:00:22 / 00:00:45
【 1184,1210 】 00:09:56 / 00:20:37


75 :名無しさん@そうだ選挙に行こう:2005/09/11(日) 21:06:08 .net
V30キタ━━━━━(゚∀゚)━━━━━ !!!!!
10Mと8Mで偉く速度が違う…ってV30とZ80H相当なのね。

>>72,73
matahritoマテルヨ


76 :72:2005/09/12(月) 23:29:14 .net
どうせだからマシン語でやろうかとも思ったのだが、最近そんな元気がでない。
みんな、ちょっとずつでいいからオラに元気を

77 :ナイコンさん:2005/09/13(火) 00:28:21 .net
いまだマシン語でやろうとするアンタはすごすぎ

78 :ナイコンさん:2005/09/13(火) 07:07:41 .net
>>76
機種は何よ?


79 :72:2005/09/13(火) 22:54:50 .net
上で書いたとおり、10数年前のSHARPのポケコン。
実際のところ、MODの計算を除けばループと数値判定くらいだし、
変数も4つしかでてこないしで、なんとかなるんじゃないかなあ
くらいに思ってるところ。

80 :ナイコンさん:2005/09/14(水) 23:09:11 .net
>>79
メール欄見落としていた。素満。SC62015って面白いCPUだね。6809に似ている
と思った。それではとっておきを

つ【始原の混沌の気】


81 :72:2005/09/15(木) 01:34:05 .net
すこしずつ元気がたまってきました。
これはがんばるしか!?
と思ったけどニーモニック表がない。活研(E500シリーズのバイブル)は実家だし。

みんな、ちょっとずつでいいからオラに資料を orz

82 :ナイコンさん:2005/09/15(木) 04:36:19 .net
>>81
http://web.archive.org/web/20031007214858/www.hepl.phys.nagoya-u.ac.jp/~mitsuru/urawaza.txt
>第3章 PC−E500シリーズマシン語講座

83 :72:2005/09/16(金) 01:20:29 .net
>>82
おおおっ
あついぜ、なつかしいぜ、ちゃんとサイクル数までのってるぜ。
これでもう逃げられないぜ。いやまだ逃げれるかもだぜ。
ていうか、r2〜r4の指定とか、TEST命令とか、もういろんなことを忘れている
ことを再認識したさ。
仕様どおりに動くものは作れても、もうまともなマシン語プログラムは作れない予感。

84 :ナイコンさん:2005/09/16(金) 22:33:35 .net
一度自転車に乗れるようになった奴が乗れなくなるとでも?w


85 :72:2005/09/17(土) 01:36:12 .net
そうだ、おれはチャリに乗ったことがあるんだ!
(乗り回していたんだといいきれないむなしさ)
今回のはMOD判定がキモだろうから、とりあえずそこを考えてみた。
BASICでいうとこんな感じかなあ。
1100 *MOD REM IF (N MOD I)=0 THEN S=S+I
1110 M=N
1200 IF I AND 128 THEN 1280
1201 I=I+I:IF I AND 128 THEN 1270
1202 I=I+I:IF I AND 128 THEN 1260
1203 I=I+I:IF I AND 128 THEN 1250
1204 I=I+I:IF I AND 128 THEN 1240
1205 I=I+I:IF I AND 128 THEN 1230
1206 I=I+I:IF I AND 128 THEN 1220
1207 I=I+I
1210 IF M>=I THEN M=M-I
1215 I=I/2
1220 IF M>=I THEN M=M-I
1225 I=I/2
1230 IF M>=I THEN M=M-I
1235 I=I/2
1240 IF M>=I THEN M=M-I
1245 I=I/2
1250 IF M>=I THEN M=M-I
1255 I=I/2
1260 IF M>=I THEN M=M-I
1265 I=I/2
1270 IF M>=I THEN M=M-I
1275 I=I/2
1280 IF M>=I THEN M=M-I
1300 IF M=0 THEN S=S+I
1399 RETURN

86 :ナイコンさん:2005/09/17(土) 06:25:04 .net
於津>>85
ポケコンは知らない素人だけど、2点気になった。
・乗除算ってそこまで遅いのかな?
・8ビット分だけで足りる?


87 :ナイコンさん:2005/09/17(土) 10:31:23 .net
というか,乗除算ってあるの?
Z80にはないけど

88 :ナイコンさん:2005/09/17(土) 22:34:03 .net
>>87
スマン惚けていた。忘れてくだされ


89 :72:2005/09/19(月) 01:09:59 .net
そうか、最初に見つかるJが220だからと油断していた。
そのときのNは280ですでに9bit目に突入していたのだな。
2Bytes用に組むとなると、急にメンクサ度がアップだな

90 :ナイコンさん:2005/09/20(火) 18:27:02 .net
まあ8bit機じゃねぇ

91 :ナイコンさん:2005/10/08(土) 23:10:35 .net
今日ようやっと時間ができたのでやってみた

【.メーカー.】 NEC
【..機種名....】 PC-6001
【...CPU...... 】 Z80Aコンパチ(μPD780C-1)
【クロック数】 4MHz
【.....メモリ.. 】 32KB
【.言語 】 N60-BASIC Page数 4
【プログラム変更点】
・100行目を削除した。
・110行目の「FOR J=2 TO 1000」は、 「FOR J=2 TO 10000」の間違いですた。
・170行目の「'」は「REM」にした。
・200行目の(N MOD I)は(N - INT(N/I) * I)に変更した。
▼スコア
【 220,284 】 12分16秒
【 1184,1210 】

同じCPU、クロックのX1にも遠く及ばない _| ̄|○
ライバル?MSXにも遙かに劣っている _| ̄|○

BASICが整数型じゃないし、MODもないからなぁ

92 :ナイコンさん:2005/10/08(土) 23:15:46 .net
このままでは収まらないので、掟破りのBASIC Compilerを使ってみた
ニトロ噴射する気分だな〜

【.メーカー.】 NEC
【..機種名....】 PC-6001
【...CPU...... 】 Z80Aコンパチ(μPD780C-1)
【クロック数】 4MHz
【.....メモリ.. 】 32KB
【.言語 】 N60-BASIC+EXAS BASIC Compiler  Page数 4
【プログラム変更点】
・100行目を削除した。
・110行目の「FOR J=2 TO 1000」は、 「FOR J=2 TO 10000」の間違いですた。
・170行目の「'」は「REM」にした。
・200行目の(N MOD I)は(N - INT(N/I) * I)に変更した。
・実行前にコンパイルした。
▼スコア
【 220,284 】 0分20秒
【 1184,1210 】  9分41秒

EXAS Compiler自体が整数型BASICのせいか、思っていたよりずっと早くなった。

PC-6001mkIIも引っ張り出そうと思ったけど、あまりに時間がかかるのでまた次回。


93 :ナイコンさん:2005/10/09(日) 00:04:11 .net
>>91,92
GJ!!!
>>92
ベーシックコンパイラキタ━━━━━━(゚∀゚)━━━━━━ !!!!!


94 :ナイコンさん:2005/10/11(火) 03:58:28 .net
【.メーカー.】シャープ
【..機種名....】PC-G850V
【...CPU...... 】Z80相当 CMOS品
【クロック数】4MHz?(←誰か教えてください)
【.....メモリ.. 】32KB
【.言語 】内蔵C言語/BASIC
【プログラム変更点】
 ・C言語は,#include分の除去と行番号を各ラインに付与。
・BASICは,190行目の"N/2"を"INT(N/2)"に変更。
【 220,284 】 16秒/ 196秒
【 1184,1210 】481秒/未計測
 PC-G850V,PC-E650, FX-890PのBASICは,整数型変数がなく,実数で計算するので,
 整数演算に不利。セミコンパイラー&整数演算のCは,やはり高速。

95 :ナイコンさん:2005/10/15(土) 17:34:36 .net
BASICではありませんが、GBで挑戦してみました。

【.メーカー.】 任天堂
【..機種名....】 ゲームボーイ
【...CPU...... 】 Z80カスタム
【クロック数】 4MHz
【.....メモリ.. 】 32KB ROM
【.言語 】 機械語(アセンブラ)
【プログラム変更点】
110行目の「FOR J=2 TO 1000」を、 「FOR J=2 TO 10000」相当に修正。
▼スコア
【 220,284 】 4秒6
【 1184,1210 】 2分14秒8

ソースリストは以下にあります。
http://www.geocities.jp/submarine600/html/number.html

96 :ナイコンさん:2005/10/15(土) 19:30:30 .net
>>95
マジZ。普通のPCでのマシン語じゃないところが
マニアックでいいでつな。

97 :ナイコンさん:2005/10/15(土) 21:08:44 .net
Z80カスタム???
自分も68000でガンバルか
そういえばZ80しかアセンブラ経験ねえや。。。

98 :ナイコンさん:2005/10/15(土) 23:10:32 .net
>>95
おつかれ
ゲームボーイってZ80のカスタムだったのね
知らんかった

99 :ナイコンさん:2005/10/16(日) 01:24:59 .net
>>95に触発されてやってみた
レトロじゃないけど番外編ってことで怒らないでね

【.メーカー.】 任天堂
【..機種名....】 ゲームボーイアドバンス
【...CPU...... 】 ARM7TDMI
【クロック数】 16MHz
【.....メモリ.. 】 32KB+256KB
【.言語 】 C+アセンブリ
【プログラム変更点】
秒間約60フレームとしてVSYNC割り込みでフレーム数を計測
剰余はBIOS命令で代用し、コードをメモリに置いてフルに回した
▼スコア
【 220,284 】 0秒11 =7f
【 1184,1210 】 3秒5 =208f
【 2620,2924 】 17秒0 =1022f
【 5020,5564 】 62秒5 =3751f
【 6232,6368 】 96秒4 =5784f

100 :ナイコンさん:2005/10/16(日) 04:48:36 .net
>>95, >>99に触発されて,WonderSwanで計算しました。

【.メーカー.】 バンダイ
【..機種名....】 WonderSwan
【...CPU...... 】80186バイナリ互換
【クロック数】 3.072MHz
【.....メモリ.. 】 16KB(本体)+256KB(WonderWitchカートリッジSRAM)+512KB(WonderWitchカートリッジROM)
【.言語 】 LSI-C86 for WonderWitch
【プログラム変更点】
 WonderWitchのOS FreyaのシステムBIOS関数 sys_get_tick_countを用いて,
時間を計測。これも,>>99 と同じで,VSYNC(VBLANK)を使用した計測。
 あとRTCで秒単位でも計測。
▼スコア
【 220,284 】 0秒27 = 20 tick
【 1184,1210 】 7秒36 = 552 tick
【 2620,2924 】 35秒95 = 2696 tick
【 5020,5564 】131秒73 = 9880 tick
【 6232,6368 】203秒07 =15230 tick

>>95,>>99と比較すると,周波数の割りに高速。
WonderWitchの資料によれば,1クロック/1バスサイクル,内部パイプライン化されていて,
オリジナルの80186より優秀そう。



総レス数 187
61 KB
新着レスの表示

掲示板に戻る 全部 前100 次100 最新50
read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★