From 786c2811d6f43934ccceb64734a6ae339689d0c1 Mon Sep 17 00:00:00 2001 From: Zellyn Hunter Date: Thu, 17 May 2018 20:11:39 -0400 Subject: [PATCH] webgl: added some images --- images/archon-ii.png | Bin 0 -> 3669 bytes images/archon.png | Bin 0 -> 4259 bytes images/lode-runner.png | Bin 0 -> 1397 bytes images/marty-reader.png | Bin 0 -> 2871 bytes index.html | 81 ++++++++++++++++++++++++++++++++-------- 5 files changed, 66 insertions(+), 15 deletions(-) create mode 100644 images/archon-ii.png create mode 100644 images/archon.png create mode 100644 images/lode-runner.png create mode 100644 images/marty-reader.png diff --git a/images/archon-ii.png b/images/archon-ii.png new file mode 100644 index 0000000000000000000000000000000000000000..99d49263a6ad979e807ed4be5e39701f0fc7aa86 GIT binary patch literal 3669 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 FV1nT!FLwX{ literal 0 HcmV?d00001 diff --git a/images/lode-runner.png b/images/lode-runner.png new file mode 100644 index 0000000000000000000000000000000000000000..17eb0e662b2da9d6e715f3ed2241dec6801a213c GIT binary patch literal 1397 zcmV-*1&aEKP)mU$-1z!XHl|o(@^4ACYD(qho_EqpW7jKD8lQd`B zbBNomx6BtEXC}5)sns-C$VDmHx*OD{bP~oEso%!fW$Du}`&2x{ejBfVs)RD}!uYbh zW|%?j8=$n!FhIg0#U;d`Fc3mAzykhp+k8Tngwu<%3Zph-aF_$hrxG>W$cTa{84Fm! znQ{e&C5A3YLt*uxZY-&xNUmdIJFrYC@q$;97M^3`H0ZKYI)G6RR;tCQrx=?oqbel~ zB*|d|CcWFH&Pv*<;zt-(7ug7ArNYap{xZhSFr;g%Br6rGY|p`|iMmtiP&yZbPBg=a z|Jm0t5>y7eF?tgry;-%uY?~*^l5SLkNppf7m}C!j5tr?Dtv4~^6-*T)Ucpo`;y9*> z5w#^ydsZE{SXjX<4UN6A#*mlx{PF;1*o&#=QXVfbtk_WxqZSxN@pJ{#b#4nShSaUr zCe_6ZbBsL|1FvD^Spy1I{c}FptQ*^6hFut&P1~}|@pEC#{LaGk$oxzxkCn8GI~ere zna1%PjK0lV-iy(r8gDo|e2+DJ9nj6F^bH3^?^r!Bo>85M$9*>Sjl+75WZ|}tL zj1*5Q{*UTPSNfYNgnMX%wGMR|l=06gIs~_ZQE$hzbKdrJiWoQnV}iQJ0htiu3)LOG z@m#}39PIQH8=ql34#-bLzzIfz)N+Q6zl(8E!pyUbxo^ZoU3M^DZN*GZq1Y6b5ErnAPKa0aN#F#3Ttc!8X^9CNFrG2IIj3vA7>8;wtO+q6 zC<<3}ty49IO^tWOn58k2p_MMWpDe%Th7QJLOo|hp_8Gj6u3!|kIKddgaI@nH$xe z5F=Kv${nD=INmIl;FmEHO#EYvuhyc$xD^b2l9P{hrf6E?)eJN68tROR*x-F04} zj~U>TFo!0UPZ*{Hhjcb`m$nzjCSwkkC$(cd7iQfV((#?NN4ESXv9_{(T$+G#4rua})zXMuUa# z07o%8VX$D1su)-)a2!)Dc!W^FykCKxr9C9SX%%yCQg-h5p$m;dUx9Shf_nq+pp8()H zb-sfSeOY7tDPOPiXD(&}51;Vddc9V{9n5@Xk^g7GBdNrs?m+JCfj98SUHaHnp9=7A3$jy_a92*9+pEhWaO*EnMehKGQS z)Ww&lFQOr;h6eaZbaFrGrngBqGGXdOx<+eW<02>F<82?Vto&ppx5DD#pl z+NLi0Wq?sVZMpS1WJJYsrtaBqF*U3MHReaih>FcQd}umvF}}G4N)t@o=TnL<_Qmv4 zuXi7v%|PGR$rp4?kC<|GKG*Uc{970EZoNAVU&vsG>Wg|{*K?HWfnIfR%5f=<(wbez zit#+$SLpDX4f>WIID)C!cyItq6eGZ=a0+*U!jckG_XT4jQ*{Ep9_Rt(GXpX;+vN|{ znCcV2k?A2*cjx-doU6N4N1cJ%svVRx!7MIH2E;CBK#}pB+Nu*QktdwVxxkY_aWpJ0 z0WzK&DCP#J=FmCvkTZd^uz+2I(fIBh$Y>OMs*eAk(hn#yK3PGA5=x-zP>{KyN_E3$ zl@cYG8VW=(MB@%gd$GlNVK(lb?Yu=eQ20JD~!k%!+c zt_(0ETQ!pL<-upI;>^e-k7P*qXzdXhVAj$yy_C$)+JlUqj^S<6WUIR2jLXd55)lEG z&b-!R?xtg=0WuNqbNpTet$AZ!GV^*WWdfxD%yCg}Yf-qS&P+$c!r@FSGxTIJoVgv12xkqmq|U5IBf^0ZXVRgJ|6N6f zvsO&QREIFlVlT^Us?6?rOs1(%z#M}ngIRB>GSfpCZ6+(~Sc{aI+e3ok%di;FBYcSo zm;=saXN!;UXQ0RoDVwTT70&RnIc#taWBj41k*!+cC!n#JmRzIG3g%dish-1RCS&r7+jaT90X|G1J2sFsqlqXxE@0O{B&QDdNb#_8E^RGa(cBKjzG* znP_Mkt1?f^HZ}@A^VgM`^)R-;Pr`taJZFD>J}Y}_ zT&DT{&y#KT<#v}jR$+z=@aA(F4RjfOOr{L~-Zs80Z_iG~?Em)f&yVQyoGicQxXkL{C?@%jI5f#%F>(3}>&~Qximkv6S87q)dRR*?%@M^Azvw z%PSKzjo%f_{mjJ7fumtRP0TdS{e8b!OfjYgNBA*hjzJb6xS2ka@;m$h_j~3txZz4OVlp_={=fdxqXUVd$ z{qy+iPFFd7#gO?To?V+(W_tG?m>d@3fWq+*MXxZNFK~Ej%6GoKxuG?8Yex+4Q~rpd z0+|%|;r+950NWM-mCh^10Hb-NyeiPo@qt4^hV{Z&SHWnC>6zw-V4%S?o?@=>Qg$HQ>@?kQPUAQrnW1be{>b<4qp}>!K}C56Vrk3dBW-B@m~WK zD5hAH!cleg>g|Z1JgIbi20szX@RjG0%ZH!5ce`c8_cnVDFj{l3Y!3VI&3TKNe|Dmf zb*^rnIhsp9+1%Vn!}!th(?*XQG3%i@0lHqw+c^%(4W^FiQHd4MpAX;VrC;LmnPG-&+ zC-qx7yheU~=YhdG15E1oV0f2rSPy25sFOcqQokc4T4l`4OtY8T)r;D6-kWZC@WVf3 zDSLSq%^2^N@o-kZy1L3<^`mjdc<+vf^Eke@!cO}PjP=O{|K7&Qro&DjT)ilmx0uwQ zRn>y+!qRM=QOtJtWh$4$?0}U(Ojt;c_~m&5ctwi)ZGQg&miR#j z?(AF`O_)C+iII?)w5?G5;rj_ap~xf}^R0H?Umnef4!~D4@E{{L7&7fVRN7)cp$X~e z`2?p4%dec=8Og{sY94eOnYO_i$lO7O@_o)EH;n|Ak;!+?VL+P!4I8C}$b<%C*r)>D zDkVq!P9mt;)XfhA;RvWZ)nXF)Z+GFrA$zX%< z;y>OY$xp$xm=DY6Fd&)G=rPM=fC(!xkfZ>y6=08F%(V0U6l)!sV$NW~nU*YTu~lX5 z^O&qAnAqxfI9}O^4(CjqKVW`hk@$iR?=dG8QGOWFJLT74;jgS9w(zcK=OShY5;+*a z0s|{Z4u(cs!@k0+NaH9Z|Mbu8DH+X#LlYTMH(-!PNbt_v2#-h@8zi*gh~J8*V;YUd zQ5+{$Vp&F`kyv4p7)TtwNh~8~#)S-I#b7vN2op>p;VT1$0xP^ZD!jRnk-wWz2@PZj zXRw#>`{7hlz%&;U&R7>R@?zdZg#3R_>6bLYT+VcNNt5p-T?$OF{lJ{dT+Xi=UCu8){SVCc VQB!)8S9JgY002ovPDHLkV1oSvnBo8c literal 0 HcmV?d00001 diff --git a/index.html b/index.html index c4b643c..159c5fa 100644 --- a/index.html +++ b/index.html @@ -30,6 +30,17 @@
+ + + + + + + + - - + + - - + +
Image + +
 
Decoder @@ -131,12 +142,12 @@
  
@@ -153,12 +164,12 @@ config.videoSaturation = Number(document.getElementById('videoSaturation').value); config.videoHue = Number(document.getElementById('videoHue').value); config.videoCenter = new screenEmu.Point( - Number(document.getElementById('videoHorizontalCenter').value), - Number(document.getElementById('videoVerticalCenter').value) + Number(document.getElementById('videoHorizontalCenter').value), + Number(document.getElementById('videoVerticalCenter').value) ); config.videoSize = new screenEmu.Size( - Number(document.getElementById('videoHorizontalSize').value), - Number(document.getElementById('videoVerticalSize').value) + Number(document.getElementById('videoHorizontalSize').value), + Number(document.getElementById('videoVerticalSize').value) ); config.videoBandwidth = Number(document.getElementById('videoBandwidth').value); config.videoLumaBandwidth = Number(document.getElementById('videoLumaBandwidth').value); @@ -175,20 +186,40 @@ } async function setupScreenView() { - const image = await screenEmu.loadImage("images/airheart-560x192.png"); - // const image = await screenEmu.loadImage("images/battle-chess.png"); - const [imageCanvas, imageData] = screenEmu.screenData(image, screenEmu.C.NTSC_DETAILS); + const images = [ + ["images/airheart-560x192.png", "Airheart", true ], + ["images/battle-chess.png", "Battle Chess", true ], + ["images/archon.png", "Archon", false], + ["images/archon-ii.png", "Archon II", true ], + ["images/lode-runner.png", "Lode Runner", true ], + ["images/marty-reader.png", "Marty's Family Reader", true ], + ]; + + const image1 = await screenEmu.loadImage("images/airheart-560x192.png"); + const image2 = await screenEmu.loadImage("images/battle-chess.png"); + const image3 = await screenEmu.loadImage("images/archon.png"); + const image4 = await screenEmu.loadImage("images/archon-ii.png"); + const image5 = await screenEmu.loadImage("images/lode-runner.png"); + const image6 = await screenEmu.loadImage("images/marty-reader.png"); + + const imsel = document.getElementById('input-image'); + + for (let i = 0; i < images.length; i++) { + const image = await screenEmu.loadImage(images[i][0]); + images[i].push(image); + const option = document.createElement("option"); + option.text = images[i][1]; + option.value = i; + imsel.appendChild(option); + } let canvas = document.getElementById("d"); let sv = new screenEmu.ScreenView(canvas); await sv.initOpenGL(); - let imageInfo = new screenEmu.ImageInfo(imageData); let displayConfig = new screenEmu.DisplayConfiguration(); displayConfig.displayResolution = new screenEmu.Size(d.width, d.height); - sv.image = imageInfo; sv.displayConfiguration = displayConfig; - sv.vsync(); update = () => { updateDisplayConfig(displayConfig); @@ -200,10 +231,30 @@ elem.onchange = update; } + updateImage = () => { + const index = Number(imsel.value); + const [imageCanvas, imageData] = screenEmu.screenData(images[index][3], + screenEmu.C.NTSC_DETAILS, + images[index][2]); + let imageInfo = new screenEmu.ImageInfo(imageData); + sv.image = imageInfo; + sv.vsync(); + } + + updateImage(); + imsel.onchange = updateImage; + + document.getElementById('reset').onclick = () => { + setTimeout(() => { + update(); + updateImage(); + }, 0); + } + // sv.freeOpenGL(); } - setupScreenView().then(() => console.log('setupScreenView: success')); + setupScreenView();