356byte以下でWIN起動テトリス作れや!

このエントリーをはてなブックマークに追加
とりあえず人を小馬鹿にしてる上に
DOSゲーをWinアプリと勘違いしてる>>1>>170に頭を下げて謝れ。
197170:03/12/26 03:04
977 bytes. 無駄が沢山あった.
http://cloud.prohosting.com/2chpup0/cgi-bin/uploader/archive/001.exe

>>189
アプロダ数年ぶりに使わせて頂きました.

>>192
少しはマシな配色になったと思うがどうだろう.
カラーテーブルがブロックパターンを兼ねてるのであまり自由が効かず.

>>195
スマン 2000/XP 専用. 今回 XP でしか動作確認してないので自信無い.
95/98/Me 互換考えると 40 bytes 位増える. てゆーかもう環境無いし.
>>197
うおおおおお!
Win2000で起動!


不正な命令なんだとか。
CS:1dd8
IP:019c
OP:63 68 70 75 70

凄すぎて何が悪いのかワカランです
199170:03/12/26 03:15
>>198 確認 thx. いま心当たりを直すからちょと待って.
200170:03/12/26 03:21
>>198 どうでしょう. 4 bytes 増えちゃうけど.
http://cloud.prohosting.com/2chpup0/cgi-bin/uploader/archive/002.exe
>>200
んー・・
同じエラーが出て止まりますね。

私の環境が特殊!?
202170:03/12/26 03:28
>>201
いやーどっちかというとウチの US 版 XP のほうが特殊.
1020b のほうはどうですか?

これ作っててぶっ飛んだとき, "エラーレポートを送信しますか?" って出て
うっかり一回送信しちまった. どこに何が送られたのだろう...
>>202
1020bって言うと>>186ですよね。
これをバイナリエディタで書くんですか?
実行まで漕ぎ付けない・・・
204170:03/12/26 03:39
>>204
なんかスイマセン(´Д`;)

そして動きませんでした
やっぱり同じエラーですね
206170:03/12/26 03:44
>>205 ゚Д゚;)ガーソ! 出直してきます. 付き合わせてスマソ.
XP SP1で>>170のは動いたよ
これ凄いねえ
>>197
うおおおお。すげぇ当方XPで動いたっす。
何で書いてるンだろう。Cだよね、やっぱ。
>>186 >>197 >>200 >>182
Windows XP SP1(日本語版)で動作を確認しました

>>208
さすがに、DOSのヘッダ領域にまでDLLのインポートテーブルを置いてくれるCコンパイラはないかとw
asmで吐いてバイナリエディタで修正かな?
210192-193:03/12/26 10:07
>>197
見やすい配色になりました 感謝m(_ _)m
<body onKeyDown=K=event.keyCode><script>X=[Z=[B=A=12]];h=e=K=t=P=0;function Y()
{C=[d=K-38];c=0;for(i=4;i--*K;K-13?c+=!Z[h+p+d]:c-=!Z[h+(C[i]=p*A-Math.round(p/
A)*145)])p=B[i];!t|c+4?c-4?0:h+=d:B=C;for(f=K=i=0;i<4;f+=Z[A+p])X[p=h+B[i++]]=1
if(e=!e){if(f|B){for(l=228;i--;)Z[h+B[i]]=k=1;for(B=[[-7,-20,6,17,-9,3,6][t=++t
%7]-4,0,1,t-6?-A:-1];l--;h=5)if(l%A)l-=l%A*!Z[l];else for(P+=k++,j=l+=A;--j>A;)
Z[j]=Z[j-A]}h+=A}for(i=S="";i<240;X[i]=Z[i]|=++i%A<2|i>228)i%A?0:S+="<br>",S+=X
[i]?"■":"_";document.body.innerHTML=S+P;Z[5]||setTimeout(Y,99-P)}Y()</script>
<EMBED SRC="makaimura.mid" AUTOSTART="TRUE" LOOP="TRUE" style="DISPLAY:NONE;">
213170:03/12/28 10:13
900 bytes 達成.
http://cloud.prohosting.com/2chpup0/cgi-bin/uploader/archive/004.exe

>>208-209
ヘッダからテトリス本体まで全部 NASM で書いてます.
逆汗するなら, エントリポイントは 48h なので
ndisasm -b 32 -e 48h -o 400048h 004.exe 等とすれば良.

キリが良いし飽きたのでコレで最後にする.
198 氏の環境で動かなかったのが心残りだ.
>>213
(´・ω・`)あらま
漏れとしては
回転ボタンを方向キー以外(SPACE)に変えて欲しかった
着地判定時間をもう少し甘くしてほすかった

乙かれー
215198:03/12/28 18:09
>>213
乙です。
最後の望みをかけてダウン・・・さて・・・


(゚∀゚)!!
動いた!!!動きましたよ!!!

スゴイ(ノ∀`)∴・。
900byteに収まるのが信じられん・・・
しかもカラフルだし、アリエンワールド展開中。
逆汗とかして勉強してみます(`・ω・´)シャキーン
216170:03/12/29 13:26
おまけ.
http://cloud.prohosting.com/2chpup0/cgi-bin/uploader/archive/005.exe
Win32 Executable はどこまで小さくなるか試しに作ったもの. たぶん限界.
あれ?WinXPだと、Alignment考えなくていいのか
Win2000だとどうしても500Byte超えちゃってたから
218170:03/12/29 14:14
>>217
http://mipagina.cantv.net/numetorl869/ssflat_pe.zip
この中の info.txt に解説がありますが, 要は
IMAGE_DIRECTORY_ENTRY_IAT を指定すりゃヘッダ領域が read/write になって
ImportDescriptor とか ThunkData 置けるよ, ということです.
このスレ神がいるょぅ。・゚・(ノД`)・゚・。
>>218
ガーソ しらなんだ

ていうか、そのサイトアツイね
http://mipagina.cantv.net/numetorl869/flatpe.html
221デフォルトの名無しさん:04/01/16 02:31
奥が深い。。。
223デフォルトの名無しさん:04/01/16 15:17
ひぃ。ヘッダ領域に色々置くのか。
漏れはPEの構造少し学んだだけでオナカイッパイだったよ。
>>223
2.5-Dテトリス楽しかったー

1-Dテトリス萌え
4Dtetris warata
1Dテトリス遊び方がわからん、、、
ハイスコア=忍耐力?
>>227
ハイスコア=PCの安定性と心の余裕
229デフォルトの名無しさん:04/02/03 09:51
ほしゅ
>>218が無くなってる・・・。
>220
>>230
てゆーかあるけど・・?
>>213だった。
aruyo
IEからダウンロードするのか。
ネスケでやったら大変なことに。
236デフォルトの名無しさん:04/02/16 04:17
>>1の中で一番軽い359byteのテトリスのソースコード↓

h90%勒 uソ ケ .ーヘ装ー|儿iタヘ$@Pアム竰銅 鈩 rムア
暁*フQA礒エヘt闢 u袖sHuエタ?: 闖 聹゚YQク ?+ rム^ウ
エ ?6tィア�ト串t�嵯 �オ?^ム肭鏤 ?ワ? A? ミ3Qア`恚Dモネ%,?ロt?トニ@sツ塗0� r:t抃拌I簣Yテ佻?,uPーヘ,テ`奮ウ
咸`葬0ヘヘ)a粽キ7ソネウー|??G`願2 ,r?+ ,0?ヌA?" a+U?ロy焉?�簷ヘ;aテY袢僂`エxh �玉`a?ヌ@JuJテ
今日はじめてこのスレの存在を知った。
こんなに感動したのは久しぶりですよ。
>>236
それって言語何?
「しぃ豆たんハァハァ」で1000を目指してみようかしらん。
WINつってもDOS起動か。びっくりした
結局170が最強って事でFA?
242あぼーん:あぼーん
あぼーん

なにがあったのだw
定期健診でカキコ
最近は誰も何もつくってないの?