<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-6657243791291815771</id><updated>2011-09-03T05:27:11.284-07:00</updated><category term='ScummVM'/><category term='gameblog'/><title type='text'>Pearls on a String</title><subtitle type='html'>Life is a fluid and mutable thing.
So are my side-projects.
This is a blog about both.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://tonypuccinelli.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6657243791291815771/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://tonypuccinelli.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Tony Puccinelli</name><uri>http://www.blogger.com/profile/05724081062770365237</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://3.bp.blogspot.com/_8rjJ2N0x6Js/S9oQv38XavI/AAAAAAAAABg/9N9uVPagG0U/S220/Tony+the+Tiger.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>34</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6657243791291815771.post-6196766835482738853</id><published>2011-01-23T17:02:00.001-08:00</published><updated>2011-01-23T17:02:08.899-08:00</updated><title type='text'>a humble bundle of shared words</title><content type='html'>&lt;span class="Apple-style-span" style="color: #444444; font-family: Arial, Helvetica, sans-serif; font-size: 14px; line-height: 19px;"&gt;&lt;strong style="outline-color: initial; outline-style: none; outline-width: 0px;"&gt;me:&lt;/strong&gt;&amp;nbsp;hello? :D This is Tony Puccinelli, a CS student at UC Berkeley I just got done with finals and am looking forward to playing some "Revenge of the Titans", that game's got me hooked. anyone there?&amp;nbsp;&lt;br style="outline-color: initial; outline-style: none; outline-width: 0px;" /&gt;&lt;strong style="outline-color: initial; outline-style: none; outline-width: 0px;"&gt;dev:&lt;/strong&gt;&amp;nbsp;hey tony!&amp;nbsp;&lt;br style="outline-color: initial; outline-style: none; outline-width: 0px;" /&gt;&lt;strong style="outline-color: initial; outline-style: none; outline-width: 0px;"&gt;me:&lt;/strong&gt;&amp;nbsp;hey! so how are you related to the bundle?&amp;nbsp;&lt;br style="outline-color: initial; outline-style: none; outline-width: 0px;" /&gt;&lt;strong style="outline-color: initial; outline-style: none; outline-width: 0px;"&gt;dev:&lt;/strong&gt;&amp;nbsp;i co-developed osmos&amp;nbsp;&lt;br style="outline-color: initial; outline-style: none; outline-width: 0px;" /&gt;&lt;strong style="outline-color: initial; outline-style: none; outline-width: 0px;"&gt;me:&lt;/strong&gt;&amp;nbsp;oh nice! I've been playing that on my iPhone :D&amp;nbsp;&lt;br style="outline-color: initial; outline-style: none; outline-width: 0px;" /&gt;&lt;strong style="outline-color: initial; outline-style: none; outline-width: 0px;"&gt;dev :&lt;/strong&gt;&amp;nbsp;nice!&amp;nbsp;&lt;br style="outline-color: initial; outline-style: none; outline-width: 0px;" /&gt;&lt;strong style="outline-color: initial; outline-style: none; outline-width: 0px;"&gt;me:&lt;/strong&gt;&amp;nbsp;that game is so very relaxing but so very strategic at the same time. I like how every action you take jettisons part of yourself, nifty mechanic :D Actually, it reminds me a bit of "Orbient" on WiiWare. so how did you get into game development? I've been trying to learn Flash myself, and potentially have an interview with Telltale come March or April&amp;nbsp;&lt;br style="outline-color: initial; outline-style: none; outline-width: 0px;" /&gt;&lt;strong style="outline-color: initial; outline-style: none; outline-width: 0px;"&gt;dev:&lt;/strong&gt;&amp;nbsp;we played that at some point, and yes, very similar aesthetic&amp;nbsp;&lt;br style="outline-color: initial; outline-style: none; outline-width: 0px;" /&gt;&lt;strong style="outline-color: initial; outline-style: none; outline-width: 0px;"&gt;me:&lt;/strong&gt;&amp;nbsp;and similar in the sense of being moody and abstract and basing gameplay around one simple mechanic that just works really well; Thanks for the great game!&amp;nbsp;&lt;br style="outline-color: initial; outline-style: none; outline-width: 0px;" /&gt;&lt;strong style="outline-color: initial; outline-style: none; outline-width: 0px;"&gt;dev:&lt;/strong&gt;&amp;nbsp;we just worked on osmos as a side project, that's how i got into game dev. i'm actually a comp-sci professor in my "real life"&amp;nbsp;&lt;br style="outline-color: initial; outline-style: none; outline-width: 0px;" /&gt;&lt;strong style="outline-color: initial; outline-style: none; outline-width: 0px;"&gt;me:&lt;/strong&gt;&amp;nbsp;oh wow, so that was your first step into the industry? nice!&amp;nbsp;&lt;br style="outline-color: initial; outline-style: none; outline-width: 0px;" /&gt;&lt;strong style="outline-color: initial; outline-style: none; outline-width: 0px;"&gt;dev:&lt;/strong&gt;&amp;nbsp;yup. worked out pretty nice :)&amp;nbsp;&lt;br style="outline-color: initial; outline-style: none; outline-width: 0px;" /&gt;&lt;strong style="outline-color: initial; outline-style: none; outline-width: 0px;"&gt;me:&lt;/strong&gt;&amp;nbsp;What's your area of interest? in Comp-Sci, I mean, and at what school? sorry for grilling you with questions :P&amp;nbsp;&lt;br style="outline-color: initial; outline-style: none; outline-width: 0px;" /&gt;&lt;strong style="outline-color: initial; outline-style: none; outline-width: 0px;"&gt;dev:&lt;/strong&gt;&amp;nbsp;computer graphics and geometric modeling, but these days with a huge emphasis on human perception and game design&amp;nbsp;&lt;br style="outline-color: initial; outline-style: none; outline-width: 0px;" /&gt;&lt;strong style="outline-color: initial; outline-style: none; outline-width: 0px;"&gt;me:&lt;/strong&gt;&amp;nbsp;ah, nice, I lamentably have yet to take a graphics class, but have one scheduled for next semester; that said, I'm trying to make a Flash game over Winter break. I don't much like Flash, but feel as a complete unknown a Flash game will be easier to distribute and get feedback on. probably the most interesting course I've taken thus far has been Artificial Intelligence&amp;nbsp;&lt;br style="outline-color: initial; outline-style: none; outline-width: 0px;" /&gt;&lt;strong style="outline-color: initial; outline-style: none; outline-width: 0px;"&gt;dev:&lt;/strong&gt;&amp;nbsp;you should try flixel and/or flashpunk. it's a really huge topic&amp;nbsp;&lt;br style="outline-color: initial; outline-style: none; outline-width: 0px;" /&gt;&lt;strong style="outline-color: initial; outline-style: none; outline-width: 0px;"&gt;me:&lt;/strong&gt;&amp;nbsp;AI or graphics? well both are, definitely :-)&amp;nbsp;&lt;br style="outline-color: initial; outline-style: none; outline-width: 0px;" /&gt;&lt;strong style="outline-color: initial; outline-style: none; outline-width: 0px;"&gt;dev:&lt;/strong&gt;&amp;nbsp;oh yes, both. graphics is crazy&amp;nbsp;&lt;br style="outline-color: initial; outline-style: none; outline-width: 0px;" /&gt;&lt;strong style="outline-color: initial; outline-style: none; outline-width: 0px;"&gt;me:&lt;/strong&gt;&amp;nbsp;It was astonishing seeing all that's been done in AI and how it works (at a very high, rough level), but also very intriguing to get a glimpse at the more cutting-edge stuff, like Natural Language Processing, cars that drive themselves, the professor's starcraft AI :P graphics IS crazy&amp;nbsp;&lt;br style="outline-color: initial; outline-style: none; outline-width: 0px;" /&gt;&lt;strong style="outline-color: initial; outline-style: none; outline-width: 0px;"&gt;dev:&lt;/strong&gt;&amp;nbsp;yeah, that genetic algo stuff is insane&amp;nbsp;&lt;br style="outline-color: initial; outline-style: none; outline-width: 0px;" /&gt;&lt;strong style="outline-color: initial; outline-style: none; outline-width: 0px;"&gt;me:&lt;/strong&gt;&amp;nbsp;I'm pretty ignorant to the world of graphics, so very excited to dive into it next semester&amp;nbsp;&lt;br style="outline-color: initial; outline-style: none; outline-width: 0px;" /&gt;&lt;strong style="outline-color: initial; outline-style: none; outline-width: 0px;"&gt;dev:&lt;/strong&gt;&amp;nbsp;super wide field. could use a bit more inspiration though :)&amp;nbsp;&lt;br style="outline-color: initial; outline-style: none; outline-width: 0px;" /&gt;&lt;strong style="outline-color: initial; outline-style: none; outline-width: 0px;"&gt;me:&lt;/strong&gt;&amp;nbsp;SO MANY POTENTIAL APPLICATIONS, yes&amp;nbsp;&lt;br style="outline-color: initial; outline-style: none; outline-width: 0px;" /&gt;&lt;strong style="outline-color: initial; outline-style: none; outline-width: 0px;"&gt;dev:&lt;/strong&gt;&amp;nbsp;i'm much more interested in abstractions than trying to render the real world in all of its detail&amp;nbsp;&lt;br style="outline-color: initial; outline-style: none; outline-width: 0px;" /&gt;&lt;strong style="outline-color: initial; outline-style: none; outline-width: 0px;"&gt;me:&lt;/strong&gt;&amp;nbsp;haha, yes, the remarkable, amazing power of computing is often wasted on simulating the minutiae of what we can already experience without computers :P well, not exactly wasted... :P&amp;nbsp;&lt;br style="outline-color: initial; outline-style: none; outline-width: 0px;" /&gt;&lt;strong style="outline-color: initial; outline-style: none; outline-width: 0px;"&gt;dev:&lt;/strong&gt;&amp;nbsp;well, maybe a bit wasted :) i'd rather play real chess than holodeck chess :) anyway... i gotta run! great chatting with you!&amp;nbsp;&lt;br style="outline-color: initial; outline-style: none; outline-width: 0px;" /&gt;&lt;strong style="outline-color: initial; outline-style: none; outline-width: 0px;"&gt;me:&lt;/strong&gt;&amp;nbsp;ok, very nice talking to you, and keep up the good work!&amp;nbsp;&lt;br style="outline-color: initial; outline-style: none; outline-width: 0px;" /&gt;&lt;strong style="outline-color: initial; outline-style: none; outline-width: 0px;"&gt;dev:&lt;/strong&gt;&amp;nbsp;we'll definitely try hard! cheers!&amp;nbsp;&lt;br style="outline-color: initial; outline-style: none; outline-width: 0px;" /&gt;&lt;strong style="outline-color: initial; outline-style: none; outline-width: 0px;"&gt;me:&lt;/strong&gt;&amp;nbsp;cheers!&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6657243791291815771-6196766835482738853?l=tonypuccinelli.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tonypuccinelli.blogspot.com/feeds/6196766835482738853/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tonypuccinelli.blogspot.com/2011/01/humble-bundle-of-shared-words_23.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6657243791291815771/posts/default/6196766835482738853'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6657243791291815771/posts/default/6196766835482738853'/><link rel='alternate' type='text/html' href='http://tonypuccinelli.blogspot.com/2011/01/humble-bundle-of-shared-words_23.html' title='a humble bundle of shared words'/><author><name>Tony Puccinelli</name><uri>http://www.blogger.com/profile/05724081062770365237</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://3.bp.blogspot.com/_8rjJ2N0x6Js/S9oQv38XavI/AAAAAAAAABg/9N9uVPagG0U/S220/Tony+the+Tiger.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6657243791291815771.post-7640246184054821473</id><published>2010-12-07T00:00:00.000-08:00</published><updated>2010-12-07T01:21:31.771-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='gameblog'/><title type='text'>Why It's Fun: World of Goo</title><content type='html'>&lt;div style="text-align: justify;"&gt;The age of digitally-distributed media is upon us (I mean just look at&amp;nbsp;&lt;a href="http://www.apple.com/the-beatles/"&gt;this&lt;/a&gt;&amp;nbsp;life-changing announcement!) and in the world of videogames this has most definitely been a good thing.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;"Why?" you ask, sweat beading on your forehead in clamorous anticipation...&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Because, sirs and madams, it has given startup indie game developers the means to distribute (and thus, the motive to create) games with fresh ideas that stand as beacons of hope in a monotonous minefield of first-person-shooters that have you trudging through monotonous minefields.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Case in point: &lt;i&gt;World of Goo&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://wiimedia.ign.com/wii/image/article/916/916125/world-of-goo-20081003011105884_640w.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="250" src="http://wiimedia.ign.com/wii/image/article/916/916125/world-of-goo-20081003011105884_640w.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;&lt;i&gt;World of Goo &lt;/i&gt;is a very strange game that has you building squishy, truss-like structures out of eager and eccentric goo-balls to reach up and up and up...&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;The game is fun because it taps into that child-like sense of discovery you first satiated in a sandbox during recess, learning through trial-and-error that the world has rules and that you can exploit them to &lt;b&gt;create freakin' castles&lt;/b&gt;&amp;nbsp;(and in my case, tunnels and moats to accompany said castles).&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;In other words, the game is fun because physics are phun (as is, surprisingly, Engineering), and the game's foundation is a cartoony approximation of physics on a 2d-plane that would make Newton proud and quite possibly queasy. The game understands that a sense of true&amp;nbsp;&lt;b&gt;interaction &lt;/b&gt;is a videogame's greatest asset; your in-game cursor leaves an ink-blot trail as you whip it around, frantically grabbing goo-balls who stop and stare at you with a satisfying "pop" as you mouse over them and who scream in zany mixtures of terror and glee when you throw them or, more &lt;i&gt;constructively&lt;/i&gt;, incorporate them into a structure you're building. The constant feedback gives the player a sense that they're really an integrated part of this quirky, sarcasm-laced world with direct influence on its viscous inhabitants. Couple this with consistently inventive and imaginative level design that requires an ever-increasing intuitive understanding of the physics (each new level builds on the skills learned in the previous ones without ever repeating quite the same scenario) and a sometimes esoteric but always amusingly satirical sense of humor (with plenty of jabs at corporate America) and you've got a game that blows most big-budget productions out of the water (did I mention it was made by two guys whose office is whatever coffee shop they decide to go to on a given day?).&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;If the gameplay sounds very vague and confusing, it's because trying to describe in words such an original concept is akin to listing off a series of notes to convince someone that a melody is compelling. You really need to play a bit of the game to get a feel for it, and&amp;nbsp;&lt;a href="http://worldofgoo.com/dl2.php?lk=demo"&gt;you can!&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;You can purchase the game from a host of places (including WiiWare and soon, the iPad) but if you buy direct from&amp;nbsp;&lt;a href="http://2dboy.com/"&gt;the dev's site&lt;/a&gt;&amp;nbsp;this week only, they're donating 100% of the sales to some good charities.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;&lt;b&gt;Arbitrary Rating: &lt;/b&gt;&lt;i&gt;&lt;b&gt;348 goo-balls&lt;/b&gt;&lt;/i&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6657243791291815771-7640246184054821473?l=tonypuccinelli.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tonypuccinelli.blogspot.com/feeds/7640246184054821473/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tonypuccinelli.blogspot.com/2010/12/why-its-fun-world-of-goo.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6657243791291815771/posts/default/7640246184054821473'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6657243791291815771/posts/default/7640246184054821473'/><link rel='alternate' type='text/html' href='http://tonypuccinelli.blogspot.com/2010/12/why-its-fun-world-of-goo.html' title='Why It&apos;s Fun: World of Goo'/><author><name>Tony Puccinelli</name><uri>http://www.blogger.com/profile/05724081062770365237</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://3.bp.blogspot.com/_8rjJ2N0x6Js/S9oQv38XavI/AAAAAAAAABg/9N9uVPagG0U/S220/Tony+the+Tiger.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6657243791291815771.post-3283933357449301909</id><published>2010-12-06T22:19:00.000-08:00</published><updated>2010-12-07T01:26:55.142-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='gameblog'/><title type='text'>A new era for Pearls on a String</title><content type='html'>Following in the footsteps of&amp;nbsp;&lt;a href="http://productvsart.wordpress.com/"&gt;some&lt;/a&gt;&amp;nbsp;&lt;a href="http://rearwindowviewing.wordpress.com/"&gt;friends&lt;/a&gt;, I have decided to sporadically (which means there may be only one entry) review videogames on this blog that has been serving no purpose for the past few months in a series I will call "Why it's Fun".&lt;br /&gt;&lt;br /&gt;These entries will, apart from the rest of this sentence, not be concerned with the ongoing "can videogames be art?" debate, which has wasted everybody's time in the wake of &lt;a href="http://blogs.suntimes.com/ebert/2010/04/video_games_can_never_be_art.html"&gt;some old guy's&lt;/a&gt;&amp;nbsp;&lt;a href="http://blogs.suntimes.com/ebert/2010/07/okay_kids_play_on_my_lawn.html"&gt;rants&lt;/a&gt;&amp;nbsp;that, while quite intelligent, aren't at all fair in an apples vs. oranges type of way (a tip: you can't judge an &lt;b&gt;inherently interactive &lt;/b&gt;medium by watching YouTube videos about it; you aren't experiencing it as intended!); Rather, I'll treat these games as meticulously constructed experiences and leave what to call those experiences to you, dear lone reader of this blog!&lt;br /&gt;&lt;br /&gt;But enough abstract pretentious blithering and onto specific pretentious blithering...&lt;br /&gt;&lt;br /&gt;&lt;b&gt;ABOUT VIDEOGAMES!!!&lt;/b&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6657243791291815771-3283933357449301909?l=tonypuccinelli.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tonypuccinelli.blogspot.com/feeds/3283933357449301909/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tonypuccinelli.blogspot.com/2010/12/new-era-for-pearls-on-string.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6657243791291815771/posts/default/3283933357449301909'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6657243791291815771/posts/default/3283933357449301909'/><link rel='alternate' type='text/html' href='http://tonypuccinelli.blogspot.com/2010/12/new-era-for-pearls-on-string.html' title='A new era for Pearls on a String'/><author><name>Tony Puccinelli</name><uri>http://www.blogger.com/profile/05724081062770365237</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://3.bp.blogspot.com/_8rjJ2N0x6Js/S9oQv38XavI/AAAAAAAAABg/9N9uVPagG0U/S220/Tony+the+Tiger.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6657243791291815771.post-2163414084445707203</id><published>2010-11-09T14:05:00.000-08:00</published><updated>2010-11-09T14:05:24.024-08:00</updated><title type='text'>English is a Minor thing</title><content type='html'>&lt;div class="blogContent" id="pBlogBody_374964555"&gt;           I have become a medium through which words travel,&lt;br /&gt;not a locus of their temporal deconstruction/assemblage-&lt;br /&gt;&lt;br /&gt;a reader:&lt;br /&gt;&lt;br /&gt;a plane upon which words flow and diverge and bead and flow again&lt;br /&gt;from (and back to) the infinite and infinitely elusive edges&lt;br /&gt;&lt;/div&gt;&lt;div style="background-color: transparent; border: medium none; color: black; overflow: hidden; text-align: left; text-decoration: none;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6657243791291815771-2163414084445707203?l=tonypuccinelli.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tonypuccinelli.blogspot.com/feeds/2163414084445707203/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tonypuccinelli.blogspot.com/2010/11/english-is-minor-thing.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6657243791291815771/posts/default/2163414084445707203'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6657243791291815771/posts/default/2163414084445707203'/><link rel='alternate' type='text/html' href='http://tonypuccinelli.blogspot.com/2010/11/english-is-minor-thing.html' title='English is a Minor thing'/><author><name>Tony Puccinelli</name><uri>http://www.blogger.com/profile/05724081062770365237</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://3.bp.blogspot.com/_8rjJ2N0x6Js/S9oQv38XavI/AAAAAAAAABg/9N9uVPagG0U/S220/Tony+the+Tiger.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6657243791291815771.post-9172440186685590517</id><published>2010-08-01T17:06:00.000-07:00</published><updated>2010-08-01T17:06:26.194-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ScummVM'/><title type='text'>Belated Blog</title><content type='html'>Hey all!&lt;br /&gt;&lt;br /&gt;It's been a while since I last blogged (whoops!).&lt;br /&gt;&lt;br /&gt;But in the time since my last post, quite a bit has happened.&lt;br /&gt;&lt;br /&gt;First off, I got the DS port working with loadable modules after reintegrating the thumb-interworking code into the DS port. It was quite simple, really, as the thumb relocations used were PC-relative (and thus needed little to no manual work). I tested a good number of the engines after getting this work done, including the SCUMM, SKY, LURE, QUEEN, and AGI engines. They all seemed to work fine (though I only played through about 10 minutes of each game and I've heard some, like Sam and Max, use more memory later on). The one exception in terms of successful testing is the CRUISE engine. That plugin had a single relocation type (R_ARM_TARGET1) that none of the other engines have. This type is supposed to be treated either the same as R_ARM_ABS32 or R_ARM_REL32 (how it should be treated can differ, even in the same file). Since I saw no easy way to determine how it should be treated during runtime, I added "--target1-abs" linker flags to the ds makefile (the flags specify that R_ARM_TARGET1 should be treated as R_ARM_ABS32 in all cases) and coded for the R_ARM_TARGET1 relocation accordingly, but to no avail ("Cruise for a Corpse" still crashes on bootup, showing only the Cruise cursor). As of now I can't see the console (on the top screen of the ds) at the point of the crash, so debugging is difficult, but I'll continue to work on this.&lt;br /&gt;&lt;br /&gt;Another problem with the DS build is that (as mentioned before) I had to remove the "--gc-sections" linker flags since things were being garbage-collected in the plugins and main executable that referred to each other. This unfortunately resulted in a lot of bloat in the main executable. For some engines, this bloat is around 300kb, which is too much to be ignored. There's been some discussion among the mentors concerning different ways to decrease this bloat, including building static builds with garbage collection and dumping the symbols then telling the linker to included only those symbols in the dynamic builds. In any case, this is something that will need to be worked on before the DS dynamic plugins work is reintegrated into the trunk.&lt;br /&gt;&lt;br /&gt;Apart from the DS work, I did some work abstracting a more generic ELF-loader last week. It's a little rough at the moment, but works for both the PS2 and DS ports, so at least I didn't break anything :-). I put the methods dealing with relocations into their own files based on processor type (like arm-relocs.cpp and mips-relocs.cpp) and also split the shorts-segment-manager (made to effectively use the gp-relative section of MIPS processors) into its own file. There's still a bit of work to be done for abstraction, including making subclasses of DLObject (like PS2DLObject, which could be a subclass of MIPSDLObject, etc.) and having the different plugin-providers use these different subclasses (right now, I just used "ifdefs" with different ports).&lt;br /&gt;&lt;br /&gt;I've also worked on a bit of the plugin design change work. It took me a while of looking through the base code to understand how to best begin implementing the plugin design changes, but I added some new functions to the PluginManager class (a "loadFirstPlugin" and "loadNextPlugin") as well as changing main.cpp and some functions in plugins.cpp to use these functions in a loop when "NEW_PLUGIN_DESIGN_FIRST_REFINEMENT" is enabled. I tested on a Windows build with dynamic plugins enabled and was able to successfully launch games with only one plugin ever loaded at a time!&lt;br /&gt;&lt;br /&gt;So the plan for this week is to continue plugin design change, abstraction, Cruise for a Corpse, and DS memory problem work,&lt;br /&gt;&lt;br /&gt;Tony&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6657243791291815771-9172440186685590517?l=tonypuccinelli.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tonypuccinelli.blogspot.com/feeds/9172440186685590517/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tonypuccinelli.blogspot.com/2010/08/belated-blog.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6657243791291815771/posts/default/9172440186685590517'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6657243791291815771/posts/default/9172440186685590517'/><link rel='alternate' type='text/html' href='http://tonypuccinelli.blogspot.com/2010/08/belated-blog.html' title='Belated Blog'/><author><name>Tony Puccinelli</name><uri>http://www.blogger.com/profile/05724081062770365237</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://3.bp.blogspot.com/_8rjJ2N0x6Js/S9oQv38XavI/AAAAAAAAABg/9N9uVPagG0U/S220/Tony+the+Tiger.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6657243791291815771.post-8422326230459278427</id><published>2010-07-20T15:01:00.000-07:00</published><updated>2010-07-20T15:01:51.613-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ScummVM'/><title type='text'>Good News for the DS port</title><content type='html'>Last week, I restructured the DS loader to use a SeekableReadStream for file reading. Once that was in place and working, I restructured the PS2 loader to use a SeekableReadStream as well and tested it (this needed to be done anyway and it helped me ensure there was nothing inherently wrong with the way I was using SeekableReadStream in the DS loader).&lt;br /&gt;&lt;br /&gt;I then had problems reading the symbol table in successfully. After some wasted time :P, I realized it was just a silly mistake. I had neglected to initialize&amp;nbsp;&lt;span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;_symtab_sect&lt;/span&gt;&amp;nbsp;to anything in dsloader.h and the value of uninitialized ints is undefined in C++. Thus, the loader was detecting, from the value that _symtab_sect had, that the symbol table was already read in when it wasn't.&lt;br /&gt;&lt;br /&gt;At this point the loader was getting to the point where I had to deal with the relocations. I used consolePrintfs to make sure that the relocation types the loader was detecting were the same as the ones detected by arm-eabi-objdump (they were). I then began coding for these relocations. After a day of work on the relocations with no success as far as getting games to run with dynamic plugins enabled on the DS, I decided to disable the thumb-interworking on the ds temporarily so I could work on getting the DS with plugins in a runnable state without having to deal with the complication of thumb instructions/relocations.&lt;br /&gt;&lt;br /&gt;I worked further on the relocations yesterday; I started dumping the instructions to be relocated and immediately noticed a MAJOR problem. Every instruction was 0x00000000! The addresses of the instructions seemed reasonable, though, so I suspected it had something to do with how the plugins were being built and not how I was retrieving target addresses. I dumped Mapfiles with "-Map" during plugin linking and discovered that whole input sections were being discarded, among other problems. After switching out the linker script for a modified version of the default "arm-eabi-ld" linker script, these problems seemed to be fixed, perhaps because the modified linker script I was using (based on the script used by the main executable) used the MEMORY command to map out different blocks of memory but I was trying to force the start address of the ".text" section to be 0. I am not sure whether switching out this linker script will cause problems.&lt;br /&gt;&lt;br /&gt;I then did a fair bit of reading on the ARM instruction set and continued tweaking/testing the relocation code. Things still weren't working like they should have. Yotam suggested comparing completely unrelocated code and semi-relocated code to see what ld was already doing for me, and through a few dumps, I realized I was trying to do A LOT that ld already did redundantly and thus messing up things that were already fixed! After removing this redundant code, I got Beneath a Steel Sky to run successfully with Dynamic Plugins enabled on the DS!&lt;br /&gt;&lt;br /&gt;My next order of business, then, is to test the rest of the engines (some of which have relocation types I still haven't dealt with). Then, I'll reintegrate the thumb-interworking and deal with any major complications that brings (if any :D).&lt;br /&gt;&lt;br /&gt;~Tony&lt;br /&gt;&lt;br /&gt;Also, I plan to update my wiki schedule shortly:&amp;nbsp;&lt;a href="http://wiki.scummvm.org/index.php/User:Toneman"&gt;http://wiki.scummvm.org/index.php/User:Toneman&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6657243791291815771-8422326230459278427?l=tonypuccinelli.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tonypuccinelli.blogspot.com/feeds/8422326230459278427/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tonypuccinelli.blogspot.com/2010/07/good-news-for-ds-port.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6657243791291815771/posts/default/8422326230459278427'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6657243791291815771/posts/default/8422326230459278427'/><link rel='alternate' type='text/html' href='http://tonypuccinelli.blogspot.com/2010/07/good-news-for-ds-port.html' title='Good News for the DS port'/><author><name>Tony Puccinelli</name><uri>http://www.blogger.com/profile/05724081062770365237</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://3.bp.blogspot.com/_8rjJ2N0x6Js/S9oQv38XavI/AAAAAAAAABg/9N9uVPagG0U/S220/Tony+the+Tiger.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6657243791291815771.post-2763578084526215882</id><published>2010-07-12T14:15:00.000-07:00</published><updated>2010-07-12T14:15:47.619-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ScummVM'/><title type='text'>a size-able problem with plugins</title><content type='html'>&lt;span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;While working on changing how the loader opens and reads plugin files on the DS this weekend, I noticed that the ".plg" files produced in my builds were significantly smaller than expected (as in under a hundred kilobytes).&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif;"&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif;"&gt;So I looked through verbose build output to investigate what the problem could be. The plugin linking output included all the necessary object files, so I knew the problem wasn't there and decided to look closer at the plugin flags.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif;"&gt;Last week when I added the PLUGIN_LDFLAGS into the ds/arm9/makefile, I copied over the regular LD_FLAGS to make sure all the special DS optimizations that occur when linking the main executable would be used for the plugin files as well (stuff like "-mthumb-interwork"). One of these flags was "--gc-sections" which I believe is meant to garbage collect sections full of unused functions and/or data. Since both the main executable and the plugin files were using this flag (but plugins aren't truly linked in to the main executable until run-time), functions and data in the main executable and the plugins that point to each other and nowhere else were mistakenly garbage-collected. After removing the "--gc-sections" flag from LDFLAGS and PLUGIN_LDFLAGS, plugins are a much more reasonable size. Unfortunately, this means the main executable is a bit more bloated than before, which runs counter to the goal of using as little memory as possible on the RAM-starved DS...&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif;"&gt;But for now, I'll be moving on to reworking the loader to use "&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;Common::SeekableReadStream" to read plugin files.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: small;"&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; font-size: 13px;"&gt;~Tony&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6657243791291815771-2763578084526215882?l=tonypuccinelli.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tonypuccinelli.blogspot.com/feeds/2763578084526215882/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tonypuccinelli.blogspot.com/2010/07/size-able-problem-with-plugins.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6657243791291815771/posts/default/2763578084526215882'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6657243791291815771/posts/default/2763578084526215882'/><link rel='alternate' type='text/html' href='http://tonypuccinelli.blogspot.com/2010/07/size-able-problem-with-plugins.html' title='a size-able problem with plugins'/><author><name>Tony Puccinelli</name><uri>http://www.blogger.com/profile/05724081062770365237</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://3.bp.blogspot.com/_8rjJ2N0x6Js/S9oQv38XavI/AAAAAAAAABg/9N9uVPagG0U/S220/Tony+the+Tiger.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6657243791291815771.post-5955600611614628469</id><published>2010-07-08T15:22:00.000-07:00</published><updated>2010-07-08T15:22:47.907-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ScummVM'/><title type='text'>plugins linking on DS</title><content type='html'>&lt;span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;div&gt;I worked through some build errors, switched my plugin.ld to use a modified version of the correct linker script and added a number of PLUGIN_LD_FLAGS (including "-mno-crt0 $(DEVKITPRO)/devkitARM/arm-&lt;wbr&gt;&lt;/wbr&gt;eabi/lib/ds_arm9_crt0.o"), and plugins started linking. I had some trouble with&amp;nbsp;plugin.ld syntax errors, but figured it out (I was doing things in SECTIONS like "&lt;span style="font-family: monospace; font-size: medium; white-space: pre-wrap;"&gt;{ &lt;var&gt;contents&lt;/var&gt; } &amp;gt;&lt;var&gt;region&lt;/var&gt; =&lt;var&gt;fill :phdr" &lt;/var&gt;&lt;/span&gt;when it needed to be "&lt;span style="font-family: monospace; font-size: medium; white-space: pre-wrap;"&gt;{ &lt;var&gt;contents&lt;/var&gt; } &amp;gt;&lt;var&gt;region&lt;/var&gt; :phdr =&lt;var&gt;fill"). &lt;/var&gt;&lt;/span&gt;Using objdump on the plugins, it seems most only have one relocation type to worry about (R_ARM_ABS32), but the cine and cruise engines also use R_ARM_THM_CALL and R_ARM_TARGET1. I'll be working on completing dsloader.cpp (including the ARM-specific relocations) now, my first milestone being getting one of the engines that uses just R_ARM_ABS32 working.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6657243791291815771-5955600611614628469?l=tonypuccinelli.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tonypuccinelli.blogspot.com/feeds/5955600611614628469/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tonypuccinelli.blogspot.com/2010/07/plugins-linking-on-ds.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6657243791291815771/posts/default/5955600611614628469'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6657243791291815771/posts/default/5955600611614628469'/><link rel='alternate' type='text/html' href='http://tonypuccinelli.blogspot.com/2010/07/plugins-linking-on-ds.html' title='plugins linking on DS'/><author><name>Tony Puccinelli</name><uri>http://www.blogger.com/profile/05724081062770365237</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://3.bp.blogspot.com/_8rjJ2N0x6Js/S9oQv38XavI/AAAAAAAAABg/9N9uVPagG0U/S220/Tony+the+Tiger.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6657243791291815771.post-4096984495559658978</id><published>2010-07-07T16:20:00.000-07:00</published><updated>2010-07-07T16:20:28.054-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ScummVM'/><title type='text'>DS Update</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;Work on the DS dynamic module loader is progressing. In the tail end of last week, I put the basic loader code in for the DS and modified the default arm-eabi linker script to make a plugin linker for the DS. This week I found (in a .spec file included in one of the makefiles for the DS) that the DS port doesn't use the default arm-eabi linker so I'll have to modify the one it does use (ds_arm9.ld) instead. At the opening of this week, I took some time to try to understand the Makefiles for the DS (it's a bit more complicated than the other ports I've worked with) and then started modifying them to use dynamic modules. I had a bit of trouble getting make to attempt to link the plugins, but after correcting some dependencies, linking of plugins is attempted (though not completed successfully, which hopefully will change once I switch to a modified version of ds_arm9.ld for plugin linking). I'll post again once the plugins are successfully linking.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;:-)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;Tony&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6657243791291815771-4096984495559658978?l=tonypuccinelli.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tonypuccinelli.blogspot.com/feeds/4096984495559658978/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tonypuccinelli.blogspot.com/2010/07/ds-update.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6657243791291815771/posts/default/4096984495559658978'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6657243791291815771/posts/default/4096984495559658978'/><link rel='alternate' type='text/html' href='http://tonypuccinelli.blogspot.com/2010/07/ds-update.html' title='DS Update'/><author><name>Tony Puccinelli</name><uri>http://www.blogger.com/profile/05724081062770365237</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://3.bp.blogspot.com/_8rjJ2N0x6Js/S9oQv38XavI/AAAAAAAAABg/9N9uVPagG0U/S220/Tony+the+Tiger.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6657243791291815771.post-7507165676207947353</id><published>2010-07-06T21:31:00.000-07:00</published><updated>2010-07-06T21:31:12.259-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ScummVM'/><title type='text'></title><content type='html'>&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;This week has not been the most productive thus far (though it's only just begun). I've been trying to get engine plugins building for the ds (using the custom "plugin.ld" linker script) so I can begin work on the ARM-specific relocations needed for the DS, but the way I've modified the DS makefiles, engine plugins don't build. (I currently get things like "warning: overriding commands for target 'plugins/scumm.plg'"). I'll be contacting Niel to better understand the DS make system shortly.&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6657243791291815771-7507165676207947353?l=tonypuccinelli.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tonypuccinelli.blogspot.com/feeds/7507165676207947353/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tonypuccinelli.blogspot.com/2010/07/this-week-has-not-been-most-productive.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6657243791291815771/posts/default/7507165676207947353'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6657243791291815771/posts/default/7507165676207947353'/><link rel='alternate' type='text/html' href='http://tonypuccinelli.blogspot.com/2010/07/this-week-has-not-been-most-productive.html' title=''/><author><name>Tony Puccinelli</name><uri>http://www.blogger.com/profile/05724081062770365237</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://3.bp.blogspot.com/_8rjJ2N0x6Js/S9oQv38XavI/AAAAAAAAABg/9N9uVPagG0U/S220/Tony+the+Tiger.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6657243791291815771.post-5795888717777680568</id><published>2010-07-02T13:45:00.001-07:00</published><updated>2010-07-02T13:45:32.538-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ScummVM'/><title type='text'>New Schedule up on Wiki</title><content type='html'>Check it out :-)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://wiki.scummvm.org/index.php/User:Toneman"&gt;http://wiki.scummvm.org/index.php/User:Toneman&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6657243791291815771-5795888717777680568?l=tonypuccinelli.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tonypuccinelli.blogspot.com/feeds/5795888717777680568/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tonypuccinelli.blogspot.com/2010/07/new-schedule-up-on-wiki.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6657243791291815771/posts/default/5795888717777680568'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6657243791291815771/posts/default/5795888717777680568'/><link rel='alternate' type='text/html' href='http://tonypuccinelli.blogspot.com/2010/07/new-schedule-up-on-wiki.html' title='New Schedule up on Wiki'/><author><name>Tony Puccinelli</name><uri>http://www.blogger.com/profile/05724081062770365237</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://3.bp.blogspot.com/_8rjJ2N0x6Js/S9oQv38XavI/AAAAAAAAABg/9N9uVPagG0U/S220/Tony+the+Tiger.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6657243791291815771.post-2111973335474288491</id><published>2010-06-29T16:18:00.000-07:00</published><updated>2010-06-29T16:18:09.958-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ScummVM'/><title type='text'>Restructuring</title><content type='html'>&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;So the way the plugin loader/linker code currently works (on PS2, psp, Dreamcast) is this:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Arial;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;We build a main ELF with an absolute position in memory.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Arial;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;We use a custom ld linker script to link together relocatable plugins. Since the main ELF has absolute addresses, some of the more complicated jumps (like those from plugin code back to the main ELF) can be resolved during this pre-linking without the need for us to write explicit loader code for them.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Arial;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Our loader code shifts the location of a plugin in memory and adjusts relocations within the plugin.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Doing things this way (with a non-relocatable main executable and a custom ld linker script for plugins) saves us much of the more extensive and complicated work (such as maintaining a Global Offset Table).&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt; &lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Over the past couple of days, I've come to understand (though I'm not 100% sure) that the Wiz is unlike most "smaller targets" in that its launcher requires Position-Independent-Code. This poses quite a big problem seeing as the way we're doing things depends on the main executable having absolute addresses that the ld script can use. To implement the custom ELF loader/linker on the Wiz, then, will likely be quite an extensive task.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt; &lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Since (in my proposal) I intended the Wiz to be a testbed for a more crucial target (the DS), I've talked with my mentor about moving on to other work towards supporting the DS and ditching the Wiz (at least, for now).&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt; &lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;A good first step in this respect would be starting work on changing the plugin system to support only loading one plugin at a time. Some discussion has gone on as to how to achieve this and I've posted my current (under construction :-)) plans for it on my wiki at&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;a href="http://wiki.scummvm.org/index.php/User:Toneman"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;http://wiki.scummvm.org/index.php/User:Toneman&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;. I'll be discussing things further with my mentor and posting schedule changes there as well (I'm not absolutely sure about whether Wiz work will continue), but for today I'm going to start looking into the DS port (possibly writing a custom linker for it and seeing what ARM relocation types I need to worry about for it).&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6657243791291815771-2111973335474288491?l=tonypuccinelli.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tonypuccinelli.blogspot.com/feeds/2111973335474288491/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tonypuccinelli.blogspot.com/2010/06/restructuring.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6657243791291815771/posts/default/2111973335474288491'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6657243791291815771/posts/default/2111973335474288491'/><link rel='alternate' type='text/html' href='http://tonypuccinelli.blogspot.com/2010/06/restructuring.html' title='Restructuring'/><author><name>Tony Puccinelli</name><uri>http://www.blogger.com/profile/05724081062770365237</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://3.bp.blogspot.com/_8rjJ2N0x6Js/S9oQv38XavI/AAAAAAAAABg/9N9uVPagG0U/S220/Tony+the+Tiger.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6657243791291815771.post-3499508433835638576</id><published>2010-06-25T23:52:00.000-07:00</published><updated>2010-06-26T13:46:10.975-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ScummVM'/><title type='text'>objdump-ing</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;So I was trying to figure out which relocation types I really need to worry about when it comes to the GP2x-Wiz today. After making a number of tweaks to the incomplete loader to get it to compile, I compiled and linked (with my modified ARM linker script) the game engines into plugins. I tried using "objdump" on these plugin files to figure out which relocation types were worth my time, but it kept returning all types as "unknown". After a bit of research, I discovered another program "readelf" that successfully dumped relocation types.&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;I noticed, however, that when I &lt;i&gt;do&lt;/i&gt; use "objdump -R" which dumps a dynamic relocation table, I get output for both the main "scummvm.wiz" file and the plugin files. This leads me to believe that the binaries may be PIC, but since the version of objdump I'm using doesn't seem to support ARM (as mentioned before, it couldn't detect the relocation types), the reason it's outputting a dynamic relocation table could be because it's misreading the files, not because the files really are PIC.&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&amp;nbsp;My goal for this weekend, then, is to become more certain about the nature of the generated files, and then to code for the relocations I may need to worry about, which are listed below (the names of some of these relocations also has me worried about PIC code):&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse;"&gt;R_ARM_GLOB_DAT&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse;"&gt;R_ARM_JUMP_SLOT&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse;"&gt;R_ARM_COPY&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse;"&gt;R_ARM_PLT32&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse;"&gt;R_ARM_PC24&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse;"&gt;R_ARM_BASE_PREL&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse;"&gt;R_ARM_GOT_BREL&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse;"&gt;R_ARM_PC24&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse;"&gt;R_ARM_ABS32&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6657243791291815771-3499508433835638576?l=tonypuccinelli.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tonypuccinelli.blogspot.com/feeds/3499508433835638576/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tonypuccinelli.blogspot.com/2010/06/objdump-ing.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6657243791291815771/posts/default/3499508433835638576'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6657243791291815771/posts/default/3499508433835638576'/><link rel='alternate' type='text/html' href='http://tonypuccinelli.blogspot.com/2010/06/objdump-ing.html' title='objdump-ing'/><author><name>Tony Puccinelli</name><uri>http://www.blogger.com/profile/05724081062770365237</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://3.bp.blogspot.com/_8rjJ2N0x6Js/S9oQv38XavI/AAAAAAAAABg/9N9uVPagG0U/S220/Tony+the+Tiger.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6657243791291815771.post-9101683915912514024</id><published>2010-06-22T13:28:00.000-07:00</published><updated>2010-06-22T13:28:24.670-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ScummVM'/><title type='text'>PS2 GP-relative section success!</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;As of yesterday, the PS2 port would fail to compile with Dynamic Modules turned on unless I put nothing in the GP-relative section by adding a "-G0" flag to the Defines in the Makefile. Last night (after a discussion with Yotam) I made modifications to the linker scripts used when compiling with Dynamic Modules that got rid of these errors. In the linker script for the main engine, I had an extra zero appended to a hex value specifying an offset from the GP register. Fixing this typo (along with rearranging things in plugin.ld so that the .bss section was no longer assigned to the shorts segment, but rather to the plugin segment) seemed to eliminate the problem I was having with "relocation truncated to fit errors".&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6657243791291815771-9101683915912514024?l=tonypuccinelli.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tonypuccinelli.blogspot.com/feeds/9101683915912514024/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tonypuccinelli.blogspot.com/2010/06/ps2-gp-relative-section-success.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6657243791291815771/posts/default/9101683915912514024'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6657243791291815771/posts/default/9101683915912514024'/><link rel='alternate' type='text/html' href='http://tonypuccinelli.blogspot.com/2010/06/ps2-gp-relative-section-success.html' title='PS2 GP-relative section success!'/><author><name>Tony Puccinelli</name><uri>http://www.blogger.com/profile/05724081062770365237</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://3.bp.blogspot.com/_8rjJ2N0x6Js/S9oQv38XavI/AAAAAAAAABg/9N9uVPagG0U/S220/Tony+the+Tiger.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6657243791291815771.post-1052514151063946584</id><published>2010-06-21T17:30:00.000-07:00</published><updated>2010-06-21T17:30:18.173-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ScummVM'/><title type='text'>Quick Update</title><content type='html'>Got ScummVM booting remotely on the Wiz via a terminal using the stock USB cable and have printf output (haven't tried GDB yet). Continuing work on the loader, I'll post again once it's in a shape where I can start testing. Once it's working, abstracting a more generic ELF-loader should be quite simple :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6657243791291815771-1052514151063946584?l=tonypuccinelli.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tonypuccinelli.blogspot.com/feeds/1052514151063946584/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tonypuccinelli.blogspot.com/2010/06/quick-update.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6657243791291815771/posts/default/1052514151063946584'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6657243791291815771/posts/default/1052514151063946584'/><link rel='alternate' type='text/html' href='http://tonypuccinelli.blogspot.com/2010/06/quick-update.html' title='Quick Update'/><author><name>Tony Puccinelli</name><uri>http://www.blogger.com/profile/05724081062770365237</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://3.bp.blogspot.com/_8rjJ2N0x6Js/S9oQv38XavI/AAAAAAAAABg/9N9uVPagG0U/S220/Tony+the+Tiger.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6657243791291815771.post-292275328646389210</id><published>2010-06-17T15:21:00.000-07:00</published><updated>2010-06-17T15:21:04.814-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ScummVM'/><title type='text'>Wiz-tle while you work (bad pun)</title><content type='html'>After a small amount of testing/altering of the PS2 code, I began work on the GP2x-Wiz this week! On the debug front, I've gotten some help from the GP2x forums to get the Wiz to "pretend" to be a USB serial converter and I've successfully logged onto my Wiz via kermit. Booting ScummVM from remote via kermit isn't quite working well yet, but it's close. On the coding front, I've written a plugin linker script (I don't think I'll have to use a custom linker for the main engine like I did with the PS2 code). I've also decided to prototype the custom ELF loader for the Wiz using a Makefile instead of configure since I might be making significant changes to building. I have a Makefile now that successfully builds ScummVM for the Wiz with static plugins, and am working on the loader.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6657243791291815771-292275328646389210?l=tonypuccinelli.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tonypuccinelli.blogspot.com/feeds/292275328646389210/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tonypuccinelli.blogspot.com/2010/06/wiz-tle-while-you-work-bad-pun.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6657243791291815771/posts/default/292275328646389210'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6657243791291815771/posts/default/292275328646389210'/><link rel='alternate' type='text/html' href='http://tonypuccinelli.blogspot.com/2010/06/wiz-tle-while-you-work-bad-pun.html' title='Wiz-tle while you work (bad pun)'/><author><name>Tony Puccinelli</name><uri>http://www.blogger.com/profile/05724081062770365237</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://3.bp.blogspot.com/_8rjJ2N0x6Js/S9oQv38XavI/AAAAAAAAABg/9N9uVPagG0U/S220/Tony+the+Tiger.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6657243791291815771.post-1200307012803316154</id><published>2010-06-13T21:22:00.000-07:00</published><updated>2010-06-13T21:22:41.626-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ScummVM'/><title type='text'>PS2 plugins working</title><content type='html'>Work went much better after getting debugging facilities running on the PS2. I discovered the problem seemed to be in how the plugins were linked. After making changes to plugin.ld over the weekend, dynamic modules seem to work correctly, at least for the SCUMM and SKY engines, on the PS2. I'll be doing a bit more testing, but things look good!&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Tomorrow I plan to better comment out the altered linker scripts with documentation of what the changes are intended to do. Also, after discussing things with Yotam (my main mentor), I've decided to alter my schedule and begin work this week on the GP2x Wiz ELF loader/linker (instead of the work of abstracting a generic ELF loader). After work on the GP2x Wiz is done, I'll be more able to know what things can be abstracted and what things can't.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The altered schedule (which was approved by my mentor) is up on my wiki page:&amp;nbsp;&lt;a href="http://wiki.scummvm.org/index.php/User:Toneman"&gt;http://wiki.scummvm.org/index.php/User:Toneman&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6657243791291815771-1200307012803316154?l=tonypuccinelli.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tonypuccinelli.blogspot.com/feeds/1200307012803316154/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tonypuccinelli.blogspot.com/2010/06/ps2-plugins-working.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6657243791291815771/posts/default/1200307012803316154'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6657243791291815771/posts/default/1200307012803316154'/><link rel='alternate' type='text/html' href='http://tonypuccinelli.blogspot.com/2010/06/ps2-plugins-working.html' title='PS2 plugins working'/><author><name>Tony Puccinelli</name><uri>http://www.blogger.com/profile/05724081062770365237</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://3.bp.blogspot.com/_8rjJ2N0x6Js/S9oQv38XavI/AAAAAAAAABg/9N9uVPagG0U/S220/Tony+the+Tiger.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6657243791291815771.post-1491355931760651660</id><published>2010-06-10T23:28:00.000-07:00</published><updated>2010-06-10T23:28:53.939-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ScummVM'/><title type='text'>Debug!</title><content type='html'>I've been hitting problem after problem getting good debugging support going on the PS2. Lesson learned, I've sent off e-mails to the porters for GP2X-Wiz and DS so I'll be more prepared when it comes to how to print debug output, etc. on those systems :-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6657243791291815771-1491355931760651660?l=tonypuccinelli.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tonypuccinelli.blogspot.com/feeds/1491355931760651660/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tonypuccinelli.blogspot.com/2010/06/debug.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6657243791291815771/posts/default/1491355931760651660'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6657243791291815771/posts/default/1491355931760651660'/><link rel='alternate' type='text/html' href='http://tonypuccinelli.blogspot.com/2010/06/debug.html' title='Debug!'/><author><name>Tony Puccinelli</name><uri>http://www.blogger.com/profile/05724081062770365237</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://3.bp.blogspot.com/_8rjJ2N0x6Js/S9oQv38XavI/AAAAAAAAABg/9N9uVPagG0U/S220/Tony+the+Tiger.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6657243791291815771.post-7415466633104807639</id><published>2010-06-08T13:46:00.000-07:00</published><updated>2010-06-08T13:46:03.210-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ScummVM'/><title type='text'>The Work So Far</title><content type='html'>A summary of my work so far on ScummVM:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;After a bit more hassle than expected (which involved things like changing some toolchain installation scripts to use older svn revisions), I got the necessary toolchains/libraries to successfully cross-compile ScummVM for the PS2, DS, and GP2x-Wiz.&lt;/li&gt;&lt;li&gt;I copied the psp-provider, elf32.h, and psploader code into the ps2 backend and began tweaking them for the PS2.&lt;/li&gt;&lt;ul&gt;&lt;li&gt;The simplest of these "tweaks" was just changing references to "PSP" to "PS2" :-)&lt;/li&gt;&lt;li&gt;Tweaks so far also included removing psp-specific things from the ps2 loader (like code that I believe was there to ensure the psp didn't suspend during a load) and in some cases replacing calls to code in the psp toolchain with calls to code in the ps2 toolchain (also being sure to replace "includes" that reference psp toolchain files with "includes" that reference ps2 toolchain files).&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;I got the default ps2 cross-compiler ld linker script using ee-ld --verbose and tweaked it in a similar fashion to the way the default psp linker was tweaked for the psp plugins (Yotam provided the default psp linker) to generate plugin.ld (for linking together game engine plugins) and main_prog.ld (for linking together the main engine).&lt;/li&gt;&lt;ul&gt;&lt;li&gt;I tested main_prog.ld with static plugins and found that ScummVM didn't launch on the PS2 using the modified default ps2 linker. I saw in the PS2 Makefile that the default linker was switched out using -T with a "linkfile" in the PS2 toolchain. I remade main_prog.ld and plugin.ld by modifying this instead and it successfully launched again.&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;I modified the main (in systemps2.cpp) to check if Dynamic Modules are enabled and, if so, to call PluginManager::instance().addPluginProvider(new PS2PluginProvider()).&lt;/li&gt;&lt;li&gt;I have spent much of my time making tweaks to Makefile.ps2 (i.e. learning how different compiler flags/Defines affect the building, adding plugin variables, directing that the linker use my linker scripts, ensuring that the ps2loader is compiled and linked, etc.)&lt;/li&gt;&lt;ul&gt;&lt;li&gt;I was getting linker errors concerning the GP-relative data section being over-filled when I enabled Dynamic Modules. I don't see a good reason why this is the case but for now I have used -G0 flags in the Makefile to direct the cross-compiler not to put anything in the GP-relative section.&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;div&gt;At this point, compiling with Dynamic Modules turned off works as well as always, so at least my modifications haven't broken anything! :-). With Dynamic Modules turned on, yesterday morning ScummVM booted and let you specify a "Plugins Path" in the options, but failed to find engines for any of the games even though the plugins for those engines were linked. After making some modifications to the makefile and fixing some typos in the loader yesterday, ScummVM won't even boot anymore with Dynamic Modules turned on (might be a simple typo or something more sinister). In light of this, I'm planning to modify my schedule a bit after discussing it with my mentor, but progress is being made!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Note: I've made a number of modifications since my last commit but am holding off on committing code until ScummVM is at least launching again on the PS2.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6657243791291815771-7415466633104807639?l=tonypuccinelli.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tonypuccinelli.blogspot.com/feeds/7415466633104807639/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tonypuccinelli.blogspot.com/2010/06/work-so-far.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6657243791291815771/posts/default/7415466633104807639'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6657243791291815771/posts/default/7415466633104807639'/><link rel='alternate' type='text/html' href='http://tonypuccinelli.blogspot.com/2010/06/work-so-far.html' title='The Work So Far'/><author><name>Tony Puccinelli</name><uri>http://www.blogger.com/profile/05724081062770365237</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://3.bp.blogspot.com/_8rjJ2N0x6Js/S9oQv38XavI/AAAAAAAAABg/9N9uVPagG0U/S220/Tony+the+Tiger.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6657243791291815771.post-8655489755699943264</id><published>2010-06-06T15:07:00.000-07:00</published><updated>2010-06-06T15:07:09.895-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ScummVM'/><title type='text'>Some Success!</title><content type='html'>Got ScummVM on the PS2 building with dynamic modules enabled (plugins linking, too!) Now to start actually testing on the PS2.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6657243791291815771-8655489755699943264?l=tonypuccinelli.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tonypuccinelli.blogspot.com/feeds/8655489755699943264/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tonypuccinelli.blogspot.com/2010/06/some-success.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6657243791291815771/posts/default/8655489755699943264'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6657243791291815771/posts/default/8655489755699943264'/><link rel='alternate' type='text/html' href='http://tonypuccinelli.blogspot.com/2010/06/some-success.html' title='Some Success!'/><author><name>Tony Puccinelli</name><uri>http://www.blogger.com/profile/05724081062770365237</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://3.bp.blogspot.com/_8rjJ2N0x6Js/S9oQv38XavI/AAAAAAAAABg/9N9uVPagG0U/S220/Tony+the+Tiger.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6657243791291815771.post-9211170375284190731</id><published>2010-06-04T18:47:00.000-07:00</published><updated>2010-06-04T18:47:21.155-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ScummVM'/><title type='text'>A modicum of progress</title><content type='html'>Finally got the main engine linking without errors when dynamic modules are turned on for the PS2! Now to get everything else working... I think I'll be working this weekend :-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6657243791291815771-9211170375284190731?l=tonypuccinelli.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tonypuccinelli.blogspot.com/feeds/9211170375284190731/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tonypuccinelli.blogspot.com/2010/06/modicum-of-progress.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6657243791291815771/posts/default/9211170375284190731'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6657243791291815771/posts/default/9211170375284190731'/><link rel='alternate' type='text/html' href='http://tonypuccinelli.blogspot.com/2010/06/modicum-of-progress.html' title='A modicum of progress'/><author><name>Tony Puccinelli</name><uri>http://www.blogger.com/profile/05724081062770365237</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://3.bp.blogspot.com/_8rjJ2N0x6Js/S9oQv38XavI/AAAAAAAAABg/9N9uVPagG0U/S220/Tony+the+Tiger.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6657243791291815771.post-3021722251349063381</id><published>2010-06-02T13:45:00.000-07:00</published><updated>2010-06-04T18:39:23.481-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ScummVM'/><title type='text'>link or swim</title><content type='html'>I've been having trouble getting the modified "plugin.ld" script to work when compiling the PS2 port with dynamic modules enabled. I'm going to spend a couple of hours now reading a hundred pages of GNU linker documentation. Having a more thorough understanding of the linker should help since I don't completely get what the default linker is doing :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6657243791291815771-3021722251349063381?l=tonypuccinelli.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tonypuccinelli.blogspot.com/feeds/3021722251349063381/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tonypuccinelli.blogspot.com/2010/06/link-or-swim.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6657243791291815771/posts/default/3021722251349063381'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6657243791291815771/posts/default/3021722251349063381'/><link rel='alternate' type='text/html' href='http://tonypuccinelli.blogspot.com/2010/06/link-or-swim.html' title='link or swim'/><author><name>Tony Puccinelli</name><uri>http://www.blogger.com/profile/05724081062770365237</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://3.bp.blogspot.com/_8rjJ2N0x6Js/S9oQv38XavI/AAAAAAAAABg/9N9uVPagG0U/S220/Tony+the+Tiger.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6657243791291815771.post-1088900478547793929</id><published>2010-05-30T15:53:00.000-07:00</published><updated>2010-05-30T15:54:47.283-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ScummVM'/><title type='text'>Reflections on Week One</title><content type='html'>Some hard truths I learned during this, my first week of working on an open-source project:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Everything will take more time than you predict it will :-)&lt;/li&gt;&lt;li&gt;This Summer will be a learning experience. I think things will go a lot smoother now that I've been humbled a bit and am more comfortable with taking some time to read documentation/ask for advice from other devs when I hit a bottleneck.&lt;/li&gt;&lt;li&gt;Panera Bread has free wifi and tasty food :-)&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;Some things I did during this, my first week of working on an open-source project:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Got MUCH more comfortable with linux (specifically Ubuntu).&lt;/li&gt;&lt;li&gt;Got the PS2 port of ScummVM to compile and updated the wiki page concerning the process.&lt;/li&gt;&lt;li&gt;Learned a bit about how GNU linker scripts work.&lt;/li&gt;&lt;li&gt;Got comfortable merging trunk changes into my branch and communicating with the ScummVM porters (nice people!)&lt;/li&gt;&lt;li&gt;Modified the PSP loader to work for PS2 and made special PS2 linker scripts (as of now, these are untested).&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6657243791291815771-1088900478547793929?l=tonypuccinelli.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tonypuccinelli.blogspot.com/feeds/1088900478547793929/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tonypuccinelli.blogspot.com/2010/05/reflections-on-week-one.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6657243791291815771/posts/default/1088900478547793929'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6657243791291815771/posts/default/1088900478547793929'/><link rel='alternate' type='text/html' href='http://tonypuccinelli.blogspot.com/2010/05/reflections-on-week-one.html' title='Reflections on Week One'/><author><name>Tony Puccinelli</name><uri>http://www.blogger.com/profile/05724081062770365237</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://3.bp.blogspot.com/_8rjJ2N0x6Js/S9oQv38XavI/AAAAAAAAABg/9N9uVPagG0U/S220/Tony+the+Tiger.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6657243791291815771.post-2360156206448974101</id><published>2010-05-25T23:04:00.000-07:00</published><updated>2010-05-25T23:04:31.010-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ScummVM'/><title type='text'>Day 2</title><content type='html'>Spent today trying to get ScummVM builds compiled on my machine for all the platforms I'll be working with this summer.&lt;br /&gt;&lt;br /&gt;Having a fair bit of trouble with the ps2 build :-)&lt;br /&gt;&lt;br /&gt;Turns out tweaks made to the ps2toolchain over the past year make it incompatible with ScummVM's ps2 code, but even when checking out a previous revision of the toolchain, the script that builds the toolchain updates everything to the current revision :P&lt;br /&gt;&lt;br /&gt;So I manually tweaked the scripts to check out an earlier revision, which would have worked out fine if ps2dev.org wasn't down ALL day. Luckily my mentor had a link to another site hosting the same code and I was able to make some more tweaks to get the correct revision.&lt;br /&gt;&lt;br /&gt;Now I just need some libraries (tremor specifically) and it should be built before bedtime.&lt;br /&gt;&lt;br /&gt;Made some progress on getting the others built as well :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6657243791291815771-2360156206448974101?l=tonypuccinelli.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tonypuccinelli.blogspot.com/feeds/2360156206448974101/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tonypuccinelli.blogspot.com/2010/05/day-2.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6657243791291815771/posts/default/2360156206448974101'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6657243791291815771/posts/default/2360156206448974101'/><link rel='alternate' type='text/html' href='http://tonypuccinelli.blogspot.com/2010/05/day-2.html' title='Day 2'/><author><name>Tony Puccinelli</name><uri>http://www.blogger.com/profile/05724081062770365237</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://3.bp.blogspot.com/_8rjJ2N0x6Js/S9oQv38XavI/AAAAAAAAABg/9N9uVPagG0U/S220/Tony+the+Tiger.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6657243791291815771.post-4501331824325425147</id><published>2010-05-25T10:28:00.000-07:00</published><updated>2010-05-25T10:28:48.549-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ScummVM'/><title type='text'>Stumbling Out of the Gate</title><content type='html'>Attempted to start my GSoC project yesterday, but had a far less productive day than I had hoped. I spent pretty much all of the day just trying to get the PS2 port of ScummVM to build (with no real changes to the code) but the ps2toolchain I set up didn't work correctly. Then I got esoteric svn errors when trying to revert to an earlier version of the toolchain to fix these problems. Frustrated that the ball isn't rolling quite yet, but excited to get there soon :D&lt;br /&gt;&lt;br /&gt;Tony&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6657243791291815771-4501331824325425147?l=tonypuccinelli.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tonypuccinelli.blogspot.com/feeds/4501331824325425147/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tonypuccinelli.blogspot.com/2010/05/stumbling-out-of-gate.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6657243791291815771/posts/default/4501331824325425147'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6657243791291815771/posts/default/4501331824325425147'/><link rel='alternate' type='text/html' href='http://tonypuccinelli.blogspot.com/2010/05/stumbling-out-of-gate.html' title='Stumbling Out of the Gate'/><author><name>Tony Puccinelli</name><uri>http://www.blogger.com/profile/05724081062770365237</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://3.bp.blogspot.com/_8rjJ2N0x6Js/S9oQv38XavI/AAAAAAAAABg/9N9uVPagG0U/S220/Tony+the+Tiger.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6657243791291815771.post-3358059828403828284</id><published>2010-05-21T11:17:00.000-07:00</published><updated>2010-05-21T20:49:52.159-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ScummVM'/><title type='text'>Grrr...</title><content type='html'>Drove around Sacramento the last couple of days looking for a gameshark or action replay for the PS2 (things that give you means of exploiting and running indie homebrew software on the PS2). No luck... I ordered swap magic discs (another means of exploit) and it seems they only just shipped today (even though I ordered them over a month ago). So looks like I'm headed to Stockton to pick up an exploited PS2 memory card today. Hope all goes well!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;UPDATE:&lt;br /&gt;&lt;br /&gt;The trip to Stockton was a success! Got a memory card with Free McBoot and successfully ran "Freddi Fish" on my PS2 via ScummVM!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6657243791291815771-3358059828403828284?l=tonypuccinelli.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tonypuccinelli.blogspot.com/feeds/3358059828403828284/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tonypuccinelli.blogspot.com/2010/05/grrr.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6657243791291815771/posts/default/3358059828403828284'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6657243791291815771/posts/default/3358059828403828284'/><link rel='alternate' type='text/html' href='http://tonypuccinelli.blogspot.com/2010/05/grrr.html' title='Grrr...'/><author><name>Tony Puccinelli</name><uri>http://www.blogger.com/profile/05724081062770365237</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://3.bp.blogspot.com/_8rjJ2N0x6Js/S9oQv38XavI/AAAAAAAAABg/9N9uVPagG0U/S220/Tony+the+Tiger.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6657243791291815771.post-7776370819774066674</id><published>2010-05-18T01:07:00.000-07:00</published><updated>2010-05-18T01:08:11.194-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ScummVM'/><title type='text'>The Wiz</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;I refer not to Michael Jackson's retelling of Dorothy's journey on the yellow-brick road, but to the fact that I have obtained a nifty little Korean handheld known as the GP2x Wiz and am currently enjoying Full Throttle on it :-)&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6657243791291815771-7776370819774066674?l=tonypuccinelli.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tonypuccinelli.blogspot.com/feeds/7776370819774066674/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tonypuccinelli.blogspot.com/2010/05/wiz.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6657243791291815771/posts/default/7776370819774066674'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6657243791291815771/posts/default/7776370819774066674'/><link rel='alternate' type='text/html' href='http://tonypuccinelli.blogspot.com/2010/05/wiz.html' title='The Wiz'/><author><name>Tony Puccinelli</name><uri>http://www.blogger.com/profile/05724081062770365237</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://3.bp.blogspot.com/_8rjJ2N0x6Js/S9oQv38XavI/AAAAAAAAABg/9N9uVPagG0U/S220/Tony+the+Tiger.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6657243791291815771.post-5184322447208269413</id><published>2010-05-11T14:18:00.000-07:00</published><updated>2010-05-11T14:18:26.007-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ScummVM'/><title type='text'>Brewed at Home</title><content type='html'>Got ScummVM up and running on the DS. Sam and Max never looked so good :-)&lt;br /&gt;&lt;br /&gt;Now to tackle getting homebrew to run on the PS2...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6657243791291815771-5184322447208269413?l=tonypuccinelli.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tonypuccinelli.blogspot.com/feeds/5184322447208269413/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tonypuccinelli.blogspot.com/2010/05/brewed-at-home.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6657243791291815771/posts/default/5184322447208269413'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6657243791291815771/posts/default/5184322447208269413'/><link rel='alternate' type='text/html' href='http://tonypuccinelli.blogspot.com/2010/05/brewed-at-home.html' title='Brewed at Home'/><author><name>Tony Puccinelli</name><uri>http://www.blogger.com/profile/05724081062770365237</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://3.bp.blogspot.com/_8rjJ2N0x6Js/S9oQv38XavI/AAAAAAAAABg/9N9uVPagG0U/S220/Tony+the+Tiger.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6657243791291815771.post-7850645442574849679</id><published>2010-04-29T12:46:00.000-07:00</published><updated>2010-04-29T12:46:29.780-07:00</updated><title type='text'>It is the year 20XX</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;Working on a retro soundtrack for the point-n-click adventure game I'm making;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;Here's a preview:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;embed height="27" src="http://www.google.com/reader/ui/3523697345-audio-player.swf?audioUrl=http://dl.dropbox.com/u/4571615/Woken.mp3" type="application/x-shockwave-flash" width="320" wmode="transparent"&gt;&lt;/embed&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6657243791291815771-7850645442574849679?l=tonypuccinelli.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tonypuccinelli.blogspot.com/feeds/7850645442574849679/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tonypuccinelli.blogspot.com/2010/04/it-is-year-20xx.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6657243791291815771/posts/default/7850645442574849679'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6657243791291815771/posts/default/7850645442574849679'/><link rel='alternate' type='text/html' href='http://tonypuccinelli.blogspot.com/2010/04/it-is-year-20xx.html' title='It is the year 20XX'/><author><name>Tony Puccinelli</name><uri>http://www.blogger.com/profile/05724081062770365237</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://3.bp.blogspot.com/_8rjJ2N0x6Js/S9oQv38XavI/AAAAAAAAABg/9N9uVPagG0U/S220/Tony+the+Tiger.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6657243791291815771.post-3988424733169195832</id><published>2010-04-29T00:07:00.000-07:00</published><updated>2010-04-29T00:08:28.611-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ScummVM'/><title type='text'>Being for the Benefit of RAM that's tight</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: Arial, sans-serif; line-height: 22px;"&gt;For the benefit of anyone interested in what I'll be working on this summer for ScummVM as part of Google Summer of Code, here's a (slightly) modified copy of my GSoC application:&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, sans-serif; line-height: 22px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;table style="border-collapse: collapse;"&gt;&lt;tbody&gt;&lt;tr title=""&gt;&lt;td class="formfieldlabel" style="font-size: small; font-weight: bold; padding-bottom: 2px; padding-left: 5px; padding-right: 5px; padding-top: 2px; text-align: right; vertical-align: top;"&gt;Title:&lt;/td&gt;&lt;td class="formfieldvalue" style="padding-bottom: 2px; padding-left: 5px; padding-right: 5px; padding-top: 2px; text-align: left; vertical-align: top;"&gt;Implementing Support for Loadable Modules on MIPS and ARM-based platforms&lt;/td&gt;&lt;/tr&gt;&lt;tr title=""&gt;&lt;td class="formfieldlabel" style="font-size: small; font-weight: bold; padding-bottom: 2px; padding-left: 5px; padding-right: 5px; padding-top: 2px; text-align: right; vertical-align: top;"&gt;Student:&lt;/td&gt;&lt;td class="formfieldvalue" style="padding-bottom: 2px; padding-left: 5px; padding-right: 5px; padding-top: 2px; text-align: left; vertical-align: top;"&gt;Anthony Puccinelli&lt;/td&gt;&lt;/tr&gt;&lt;tr title=""&gt;&lt;td class="formfieldlabel" style="font-size: small; font-weight: bold; padding-bottom: 2px; padding-left: 5px; padding-right: 5px; padding-top: 2px; text-align: right; vertical-align: top;"&gt;Abstract:&lt;/td&gt;&lt;td class="formfieldvalue" style="padding-bottom: 2px; padding-left: 5px; padding-right: 5px; padding-top: 2px; text-align: left; vertical-align: top;"&gt;ScummVM has grown to include support for adventure games running on many different engines. This much-appreciated support has unfortunately bloated the size of the ScummVM binary and the space it takes up in RAM, which is a problem for small devices that don't have much RAM to work with. To alleviate this issue, custom module loaders can be written for these devices that enable them to only load one needed engine into RAM at a time, depending on the game selected.&lt;/td&gt;&lt;/tr&gt;&lt;tr title=""&gt;&lt;td class="formfieldlabel" style="font-size: small; font-weight: bold; padding-bottom: 2px; padding-left: 5px; padding-right: 5px; padding-top: 2px; text-align: right; vertical-align: top;"&gt;Content:&lt;/td&gt;&lt;td class="formfieldvalue" style="padding-bottom: 2px; padding-left: 5px; padding-right: 5px; padding-top: 2px; text-align: left; vertical-align: top;"&gt;&lt;ul&gt;&lt;li style="margin-bottom: 0.25em;"&gt;&lt;strong&gt;Name:&amp;nbsp;&lt;/strong&gt;Tony Puccinelli&lt;/li&gt;&lt;li style="margin-bottom: 0.25em;"&gt;&lt;strong&gt;Email:&amp;nbsp;&lt;/strong&gt;tony.puccinelli@gmail.com&lt;/li&gt;&lt;li style="margin-bottom: 0.25em;"&gt;&lt;strong&gt;Mentor:&amp;nbsp;&lt;/strong&gt;Yotam Barnoy&lt;/li&gt;&lt;li style="margin-bottom: 0.25em;"&gt;&lt;b&gt;Co-mentor: &lt;/b&gt;John Willis&lt;/li&gt;&lt;li style="margin-bottom: 0.25em;"&gt;&lt;strong&gt;Deliverables&lt;/strong&gt;:&lt;br /&gt;&lt;ul&gt;&lt;li style="margin-bottom: 0.25em;"&gt;Write a linker script and custom ELF loader to provide full support for loadable modules in ScummVM’s PS2 Port, using the pre-existing PSP code as a starting point.&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/li&gt;&lt;li style="margin-bottom: 0.25em;"&gt;Abstract parent “ELF Loader” class to be inherited by targets that support loadable modules.&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/li&gt;&lt;li style="margin-bottom: 0.25em;"&gt;Implement support for loadable modules on the GP2x, an ARM target.&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/li&gt;&lt;li style="margin-bottom: 0.25em;"&gt;Implement support for loadable modules on the DS with the aid of the ARM-based GP2x code.&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li style="margin-bottom: 0.25em;"&gt;&lt;strong&gt;Benefits to the ScummVM Community:&lt;/strong&gt;&lt;em&gt;&lt;/em&gt;&lt;br /&gt;&lt;ul&gt;&lt;li style="margin-bottom: 0.25em;"&gt;Helps to reduce memory usage for the ports involved, which could especially help the RAM-deprived DS port to be more functional&amp;nbsp;with games like "The Dig" and "Full Throttle".&lt;/li&gt;&lt;li style="margin-bottom: 0.25em;"&gt;Will help eliminate the need for confusing and difficult alternate versions of the ScummVM binary that hold some subset of the game engines ScummVM supports.&lt;/li&gt;&lt;li style="margin-bottom: 0.25em;"&gt;Generic “ELF loader” will lay the groundwork for loadable module support in other ports in the near-future.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li style="margin-bottom: 0.25em;"&gt;&lt;strong&gt;Project Schedule&lt;/strong&gt;&lt;strong&gt;:&lt;/strong&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;I’m utterly swamped by coursework this semester, so I can’t commit to coding work until the official start of gsoc according to their timeline (May 24th). I aim to be finished with the project on August 13th to leave a little time for some refining/testing/debugging work the last weekend of&amp;nbsp;the program. I’m interested in continuing to contribute to the ScummVM project after gsoc is over as well, perhaps by&amp;nbsp;attempting to more fully support the DS. A more detailed schedule follows (I am currently planning to work 7-8 hours a day M-F. This schedule is DEFINITELY subject to change as I imagine I will have to be quite flexible if unforeseen problems arise):&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li style="margin-bottom: 0.25em;"&gt;Week&amp;nbsp;0 (May 17 - May 21):&lt;br /&gt;&lt;ul&gt;&lt;li style="margin-bottom: 0.25em;"&gt;Poke around ScummVM code :-)&lt;/li&gt;&lt;li style="margin-bottom: 0.25em;"&gt;Ensure I am up and running with homebrew on the DS, PS2, and GP2x.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li style="margin-bottom: 0.25em;"&gt;Week 1 (May 24 - May 28):&lt;br /&gt;&lt;ul&gt;&lt;li style="margin-bottom: 0.25em;"&gt;Tweak PSP loader code for PS2.&lt;/li&gt;&lt;li style="margin-bottom: 0.25em;"&gt;Write custom GNU linker script and modify PS2 port's Makefile to get plugins to build properly.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li style="margin-bottom: 0.25em;"&gt;Week 2 (May 31 - June 4):&lt;br /&gt;&lt;ul&gt;&lt;li style="margin-bottom: 0.25em;"&gt;Finish/Debug Week 1 task.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li style="margin-bottom: 0.25em;"&gt;Week 3 (June 7 - June 11):&lt;br /&gt;&lt;ul&gt;&lt;li style="margin-bottom: 0.25em;"&gt;Generalize an "ELF Loader" that all ports can inherit (this may be similar to "elf32.h").&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li style="margin-bottom: 0.25em;"&gt;Week 4 (June 14 - June 18):&lt;br /&gt;&lt;ul&gt;&lt;li style="margin-bottom: 0.25em;"&gt;Finish/Debug Week 3 task.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li style="margin-bottom: 0.25em;"&gt;Week 5 (June 21 - June 25):&lt;br /&gt;&lt;ul&gt;&lt;li style="margin-bottom: 0.25em;"&gt;Better familiarize myself with ARM.&lt;/li&gt;&lt;li style="margin-bottom: 0.25em;"&gt;Write a GP2x loader.&lt;/li&gt;&lt;li style="margin-bottom: 0.25em;"&gt;Utilize GP2x's Linux capabilities to aid in debugging.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li style="margin-bottom: 0.25em;"&gt;Week 6 (June 28 - July 2):&lt;br /&gt;&lt;ul&gt;&lt;li style="margin-bottom: 0.25em;"&gt;Continue work on GP2x loader.&lt;/li&gt;&lt;li style="margin-bottom: 0.25em;"&gt;Start writing linker script and modify Makefile to get plugins to build properly on GP2x.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li style="margin-bottom: 0.25em;"&gt;Week 7 (July 5 - July 9):&lt;br /&gt;&lt;ul&gt;&lt;li style="margin-bottom: 0.25em;"&gt;Finish Week 5 and 6 tasks.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li style="margin-bottom: 0.25em;"&gt;Week 8 (July 12 - July 16):&lt;br /&gt;&lt;ul&gt;&lt;li style="margin-bottom: 0.25em;"&gt;Begin work on DS loader/linker.&lt;/li&gt;&lt;li style="margin-bottom: 0.25em;"&gt;Modify loader to load only the engine of the desired game instead of loading all of them, then deleting.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li style="margin-bottom: 0.25em;"&gt;Week 9 (July 19 - July 23):&lt;br /&gt;&lt;ul&gt;&lt;li style="margin-bottom: 0.25em;"&gt;Continue work on the DS.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li style="margin-bottom: 0.25em;"&gt;Week 10 (July 26 - July 30):&lt;br /&gt;&lt;ul&gt;&lt;li style="margin-bottom: 0.25em;"&gt;Continue work on the DS.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li style="margin-bottom: 0.25em;"&gt;Week 11 (August 2 - August 6):&lt;br /&gt;&lt;ul&gt;&lt;li style="margin-bottom: 0.25em;"&gt;Finish work on DS.&lt;/li&gt;&lt;li style="margin-bottom: 0.25em;"&gt;If time allows, begin turning audio codecs into loadable modules (work that might continue after gsoc).&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li style="margin-bottom: 0.25em;"&gt;Week 12 (August 9 - August 13):&lt;br /&gt;&lt;ul&gt;&lt;li style="margin-bottom: 0.25em;"&gt;Final Testing/Debugging/Refinement phase.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li style="margin-bottom: 0.25em;"&gt;&lt;strong&gt;Availability:&lt;/strong&gt;&amp;nbsp;I plan to treat this as a full-time job, and will thus make myself available to work 35-40 hours a week. I have&amp;nbsp;made no other major commitments this Summer and am willing to up the time I work each week if necessary. I am also willing to add more to the project if it turns out work goes quicker than expected (though from my prior programming experience, I've found it is far easier to underestimate how much time a task will take than to overestimate it).&lt;/li&gt;&lt;li style="margin-bottom: 0.25em;"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;Skype ID:&lt;/strong&gt;&amp;nbsp;toneman73&lt;/li&gt;&lt;li style="margin-bottom: 0.25em;"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;Phone Number:&lt;/strong&gt;&amp;nbsp;(916) 616-5265&lt;/li&gt;&lt;li style="margin-bottom: 0.25em;"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;Timezone:&lt;/strong&gt;&amp;nbsp;Pacific Standard Time (I'm in California)&lt;/li&gt;&lt;li style="margin-bottom: 0.25em;"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;Bio&lt;/strong&gt;:&amp;nbsp;I am a Junior CS major and English minor at UC Berkeley and a long-time user of ScummVM. I am passionate about interactive storytelling and love adventure games for their focus on smart dialogue and tongue-in-cheek humor (In fact, a friend and I are VERY slowly beginning work on a point ‘n’ click adventure of our own using Adventure Game Studio). On the technical side of things, I am well-versed in MIPS as I’ve not only written MIPS code, but have written an assembler that translates a simplified, 16-bit version of MIPS dubbed CAL16 into machine language. I’ve also designed a circuit (using LogiSIM) that can take a CAL16 program into RAM and run it. Thus, the PS2 task is right up my alley. My current coursework involves writing a Python compiler in C++ and implementing features like caching and virtual memory mechanisms, CPU scheduling, multi-threaded processes, etc. into a simple OS dubbed Nachos. These projects are, I feel, uniquely preparing me for the type of work I'd be doing with this task, work that specifically concerns the hardware/software boundary. Thanks very much for your consideration; I'm looking forward to the possibility of working on this project, as it is one I've respected and used for years.&lt;/li&gt;&lt;/ul&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6657243791291815771-3988424733169195832?l=tonypuccinelli.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tonypuccinelli.blogspot.com/feeds/3988424733169195832/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tonypuccinelli.blogspot.com/2010/04/being-for-benefit-of-ram-thats-tight.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6657243791291815771/posts/default/3988424733169195832'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6657243791291815771/posts/default/3988424733169195832'/><link rel='alternate' type='text/html' href='http://tonypuccinelli.blogspot.com/2010/04/being-for-benefit-of-ram-thats-tight.html' title='Being for the Benefit of RAM that&apos;s tight'/><author><name>Tony Puccinelli</name><uri>http://www.blogger.com/profile/05724081062770365237</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://3.bp.blogspot.com/_8rjJ2N0x6Js/S9oQv38XavI/AAAAAAAAABg/9N9uVPagG0U/S220/Tony+the+Tiger.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6657243791291815771.post-7646536245406539953</id><published>2010-04-26T22:41:00.000-07:00</published><updated>2010-04-28T11:49:16.334-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ScummVM'/><title type='text'>Le Code</title><content type='html'>Got into Google's "Summer of Code" program. I'll be working for the open source project "ScummVM" over the summer! Very excited :-)&lt;br /&gt;&lt;br /&gt;Wait... this blog isn't supposed to have straightforward and sincere descriptions of what's going on in my life; it's supposed to be a stream of self-deprecating, tongue-in-cheek comments (an arrogant showcase of how witty I think I am)! What's going on here!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6657243791291815771-7646536245406539953?l=tonypuccinelli.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tonypuccinelli.blogspot.com/feeds/7646536245406539953/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tonypuccinelli.blogspot.com/2010/04/le-code.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6657243791291815771/posts/default/7646536245406539953'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6657243791291815771/posts/default/7646536245406539953'/><link rel='alternate' type='text/html' href='http://tonypuccinelli.blogspot.com/2010/04/le-code.html' title='Le Code'/><author><name>Tony Puccinelli</name><uri>http://www.blogger.com/profile/05724081062770365237</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://3.bp.blogspot.com/_8rjJ2N0x6Js/S9oQv38XavI/AAAAAAAAABg/9N9uVPagG0U/S220/Tony+the+Tiger.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6657243791291815771.post-1037441818945403946</id><published>2010-04-20T14:59:00.000-07:00</published><updated>2010-04-20T14:59:36.325-07:00</updated><title type='text'>Engagement Advice</title><content type='html'>I am engaged. This fact is awesome.&lt;br /&gt;&lt;br /&gt;But to all of you&amp;nbsp;nincompoops out there who have not yet discovered the ironic sense of freedom that can come from binding oneself to another for life, here's some engagement advice:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;You're a man (unless you're not). Totally not outdated social norms (totally) dictate that YOU MUST BE THE ONE TO PROPOSE!&lt;/li&gt;&lt;li&gt;Since you (as the man) are the one proposing, you are the one who's going to pick out the ring. Don't let that silly "love of your life" girl have a say in what kind of bling she's gonna be stuck with for the rest of her life!&lt;/li&gt;&lt;li&gt;If she does try to hint at what kind of ring she desires, simply say, "Remember Christina Hartnell?" (Note: any made-up name will do) When she replies in&amp;nbsp;bewilderment, "The name doesn't ring a bell..." respond with a triumphant, "and a belle doesn't name the ring!" She'll be so stunned by your witty wordplay, she'll lose her grip on that misguided sense of boldness she was holding onto.&lt;/li&gt;&lt;li&gt;Oh, and remember to be respectful to women and stuff or whatever.&lt;/li&gt;&lt;/ul&gt;Tony&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6657243791291815771-1037441818945403946?l=tonypuccinelli.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tonypuccinelli.blogspot.com/feeds/1037441818945403946/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tonypuccinelli.blogspot.com/2010/04/engagement-advice.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6657243791291815771/posts/default/1037441818945403946'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6657243791291815771/posts/default/1037441818945403946'/><link rel='alternate' type='text/html' href='http://tonypuccinelli.blogspot.com/2010/04/engagement-advice.html' title='Engagement Advice'/><author><name>Tony Puccinelli</name><uri>http://www.blogger.com/profile/05724081062770365237</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://3.bp.blogspot.com/_8rjJ2N0x6Js/S9oQv38XavI/AAAAAAAAABg/9N9uVPagG0U/S220/Tony+the+Tiger.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6657243791291815771.post-2708536871642455999</id><published>2010-04-11T21:35:00.000-07:00</published><updated>2010-04-11T21:36:47.868-07:00</updated><title type='text'>Caution: Blogospheric Pressure Increasing</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;Why this blog is called "Pearls on a String" (a list):&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;Pearls are precious; So are you, imaginary readers!&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;One of the side-projects I'm eager to work on is a point-n-click adventure game. A common design philosophy for such games is to have the player work through sequential episodes that are somewhat self-contained; kind of like pearls on a string.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;You have heard it said, "People never change." I tell you the truth, that's a load of fine, north-Italian bologna! People's interests/personalities/opinions change over time, making each phase of life refreshingly unique! Thus, in an awkward and forced way, I think of "Pearls on a String" as a metaphor for the journey of life itself, and this online journal may end up being a document of &lt;i&gt;my &lt;/i&gt;journey.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;If pearls don't have a string, they're basically just really sucky marbles.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;If the string doesn't have pearls, you've bought a really sucky anniversary gift.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;What a fine title!&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6657243791291815771-2708536871642455999?l=tonypuccinelli.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tonypuccinelli.blogspot.com/feeds/2708536871642455999/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tonypuccinelli.blogspot.com/2010/04/caution-blogospheric-pressure.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6657243791291815771/posts/default/2708536871642455999'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6657243791291815771/posts/default/2708536871642455999'/><link rel='alternate' type='text/html' href='http://tonypuccinelli.blogspot.com/2010/04/caution-blogospheric-pressure.html' title='Caution: Blogospheric Pressure Increasing'/><author><name>Tony Puccinelli</name><uri>http://www.blogger.com/profile/05724081062770365237</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://3.bp.blogspot.com/_8rjJ2N0x6Js/S9oQv38XavI/AAAAAAAAABg/9N9uVPagG0U/S220/Tony+the+Tiger.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6657243791291815771.post-8244352761825899217</id><published>2010-04-09T16:28:00.000-07:00</published><updated>2010-04-09T17:34:25.613-07:00</updated><title type='text'>[A Profound Title/A Sly and Sardonic Title]</title><content type='html'>&lt;i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;This first post is a choose your own blog-venture! [Decide/Pretend you know] what I mean to say!&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Why hello [your name/amigo/amiga/George Washington]!&lt;br /&gt;&lt;br /&gt;I'm so glad you found time in your [busy/chaotic/packed/so open it's boring] schedule to visit my [lowly/infantile/intellectually fascinating] new blog-o-thing!&lt;br /&gt;&lt;br /&gt;I've been thinking a lot lately about how people don't [pay attention to/heap praises upon/hand fistfuls of cash over to] me enough, which is a bit strange given how [awesome/pathetically insecure] I am. I figure there's no better way to [encourage/dissuade] such [behavior/behaviour] than to start my very own [blog/blog] in [lament/celebration] of my impending [birthday/doom]!&lt;br /&gt;&lt;br /&gt;[Enjoy/Loathe]!&lt;br /&gt;&lt;br /&gt;[Anth/T]ony&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6657243791291815771-8244352761825899217?l=tonypuccinelli.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tonypuccinelli.blogspot.com/feeds/8244352761825899217/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tonypuccinelli.blogspot.com/2010/04/profound-yet-slyly-sardonic-title.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6657243791291815771/posts/default/8244352761825899217'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6657243791291815771/posts/default/8244352761825899217'/><link rel='alternate' type='text/html' href='http://tonypuccinelli.blogspot.com/2010/04/profound-yet-slyly-sardonic-title.html' title='[A Profound Title/A Sly and Sardonic Title]'/><author><name>Tony Puccinelli</name><uri>http://www.blogger.com/profile/05724081062770365237</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://3.bp.blogspot.com/_8rjJ2N0x6Js/S9oQv38XavI/AAAAAAAAABg/9N9uVPagG0U/S220/Tony+the+Tiger.jpg'/></author><thr:total>3</thr:total></entry></feed>
