<?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-7240291339268534137</id><updated>2011-10-25T02:32:24.693-07:00</updated><category term='metropolis software'/><category term='TG16'/><category term='personal nightmare'/><category term='Teen Agent'/><category term='Afraid of the dark'/><category term='maniac mansion'/><category term='horrorsoft'/><category term='CDPROJEKT'/><category term='reverse engineering'/><category term='6502'/><category term='TeenAgent'/><category term='fmv'/><category term='speaker'/><category term='assembly'/><category term='apple 2'/><category term='Loom'/><category term='apple ii'/><category term='PC Engine'/><category term='lucasarts'/><category term='CD PROJEKT'/><category term='Scumm'/><category term='ScummVM'/><category term='disassembly'/><category term='umv'/><category term='scummvm personal nightmare horrorsoft'/><title type='text'>sanguinehearts</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://sanguinehearts.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7240291339268534137/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://sanguinehearts.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>sanguinehearts</name><uri>http://www.blogger.com/profile/11114084552664045753</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_efWXsCS5LIs/STVWmWiR8II/AAAAAAAAABY/W37IV2WBZzI/S220/sanguine.png'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>17</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7240291339268534137.post-8034170423725573720</id><published>2010-02-07T16:43:00.000-08:00</published><updated>2010-02-07T17:06:55.595-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='speaker'/><category scheme='http://www.blogger.com/atom/ns#' term='ScummVM'/><category scheme='http://www.blogger.com/atom/ns#' term='apple ii'/><category scheme='http://www.blogger.com/atom/ns#' term='reverse engineering'/><category scheme='http://www.blogger.com/atom/ns#' term='maniac mansion'/><category scheme='http://www.blogger.com/atom/ns#' term='apple 2'/><category scheme='http://www.blogger.com/atom/ns#' term='6502'/><category scheme='http://www.blogger.com/atom/ns#' term='assembly'/><category scheme='http://www.blogger.com/atom/ns#' term='Scumm'/><title type='text'>Maniac Mansion Apple II beeper</title><content type='html'>Hi, it has been a long time since my last update.&lt;br /&gt;TeenAgent has been implemented into the main trunk of ScummVM, however it is not based upon my engine, instead Vladimir approached the ScummVM team a few months back with a rather complete engine, the engine itself is very tidy and the game is in a completable state.&lt;br /&gt;Congratulations are in order to Vladimir for his incredible work on the game, surpassing any progress I would have been able to make with my poor reversing and coding skills.&lt;br /&gt;The project was great fun and an incredible learning experience while working on it. I would like to thank _sev, Buddha, salty_horse and jvprat for their patience with me while I was learning.&lt;br /&gt;I would also like to thank john_doe for his commits for the music support, as TeenAgent used a strange and new module format for music. I have great respect for everyone who helped me learn. It will not be my last attempt.&lt;br /&gt;&lt;br /&gt;I have recently been looking into the code used for Maniac Mansion sound effects on the Apple II.&lt;br /&gt;&lt;br /&gt;A little history on the Apple II:&lt;br /&gt;When Maniac Mansion was ported to the Apple II(around the same time as the C64 port) it was seen as a very ugly version, in comparison to the C64 version. It had some graphical issues and didnt include scrolling. Unfortunately the port also suffered in a worse way. While the C64 had the SID chip, an incredible sound chip allowing for some really interesting sound effects, the Apple II port had to make do with a REALLY basic speaker. The Apple II port used the speaker to generate some sound effects such as the character selection 'click'. Unfortunately the speaker could only output a square wave 'click' when the port was addressed(using a 'bit $C030 command) The speaker itself had not options for changing the output or frequency of the output.&lt;br /&gt;This of course left games programmers with very little to play with, many of them came up with intelligent code that would call the speaker multiple times using various loops to 'click' their way into something vaguely audible. Maniac Mansion was no different. Lucasarts created a resource format which consisted of a collection of various bytes which told the code how it should 'click' the speaker.&lt;br /&gt;&lt;br /&gt;The resource format is incredibly simple and the resource is simply read in by the code which judges how often and when it should click the speaker.&lt;br /&gt;&lt;br /&gt;I am currently about half way through reversing the code(6502 ASM), I have converted about half of it to c++ and am planning on finishing the rest within the next few months(there isnt much, I just do not have much time with university commitments, as it is my final year any external work has to sit on the backburner until I get stuck with my university work :p)&lt;br /&gt;&lt;br /&gt;I would like to thank Tobias for his patience with me, he has been especially helpful as he has not ever given me the answer, rather he provides ways for me to find the answer and makes sure I understand it. He has been so helpful in explaining some of the 6502 opcodes and explaining how they were used. I am greatful for his friendship and advice.&lt;br /&gt;&lt;br /&gt;Though this code is not very complicated, I am still struggling to understand completely what it does. I am sure this will come to me.&lt;br /&gt;&lt;br /&gt;EDIT:&lt;br /&gt;I have documented all I know about the resource format on the ScummVM wiki here : http://wiki.scummvm.org/index.php/SCUMM/V0/Maniac_Mansion_Apple_II&lt;br /&gt;&lt;br /&gt;Though this information is pretty irrelevant, since the code is what actually makes sense. The resource is simply a loop controller.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7240291339268534137-8034170423725573720?l=sanguinehearts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sanguinehearts.blogspot.com/feeds/8034170423725573720/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7240291339268534137&amp;postID=8034170423725573720' title='36 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7240291339268534137/posts/default/8034170423725573720'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7240291339268534137/posts/default/8034170423725573720'/><link rel='alternate' type='text/html' href='http://sanguinehearts.blogspot.com/2010/02/maniac-mansion-apple-ii-beeper.html' title='Maniac Mansion Apple II beeper'/><author><name>sanguinehearts</name><uri>http://www.blogger.com/profile/11114084552664045753</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_efWXsCS5LIs/STVWmWiR8II/AAAAAAAAABY/W37IV2WBZzI/S220/sanguine.png'/></author><thr:total>36</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7240291339268534137.post-7715925425126914788</id><published>2009-05-27T05:15:00.000-07:00</published><updated>2009-05-27T05:17:29.911-07:00</updated><title type='text'>Personal Nightmare 72.out IPS patch(for using the game under DOS)</title><content type='html'>You may know of Personal Nightmare, a game by HorrorSoft released a while back in 1979.&lt;br /&gt;This game was released for three systems&lt;br /&gt;Dos,Amiga and Atari ST&lt;br /&gt;&lt;br /&gt;The Amiga and Atari ST versions were released in VGA&lt;br /&gt;however the DOS version never saw a VGA release and users had to make do with EGA graphics.&lt;br /&gt;&lt;br /&gt;HorrorSoft released the game in England, USA and Germany(in English)&lt;br /&gt;however nearly all the DOS releases shipped with a corrupted file namely '72.out'&lt;br /&gt;which made it impossible to complete the DOS game due to a nasty crash.&lt;br /&gt;&lt;br /&gt;Lately Kirben from ScummVM began working on support for this game within the AGOS&lt;br /&gt;engine in ScummVM. While the original source code was available parts of it were&lt;br /&gt;written in assembly and needed re-writing. A couple of months ago PN support made it into the SVN trunk&lt;br /&gt;and since then the game is supported fully.&lt;br /&gt;&lt;br /&gt;ScummVM was unable to fix the crash in the DOS version of the game since the decompression code&lt;br /&gt;could not handle the corrupt file. However after a long search for the fabled HorrorSoft patch&lt;br /&gt;it became evident that this was lost in time. Kirben managed to make contact with Alan Bridgman&lt;br /&gt;who was able to provide details of the original uncorrupted '72.out' file, which impressively differed by only&lt;br /&gt;one byte and later that day ScummVM was fitted with a nice workaround for the crash. patching the data before decompression&lt;br /&gt;but not affecting the original file.&lt;br /&gt;&lt;br /&gt;This is great for users who want to use ScummVM to play the game( who wouldnt :p )&lt;br /&gt;but I thought it might be nice for people who did not wish to use ScummVM and still ran DOS machines or DOSBox.&lt;br /&gt;&lt;br /&gt;Kirben kindly provided me with the details allowing me to create a patch for the file.&lt;br /&gt;&lt;br /&gt;I created a patch using the IPS patching format as it seems there are clients around for most common OS's&lt;br /&gt;this can be found here &lt;a href="http://robertmegone.com/misc/pn/72patch.ips"&gt;http://robertmegone.com/misc/pn/72patch.ips&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This needs to be applied over the '72.out' file, and only if your vicarage section crashes.&lt;br /&gt;Although the patched file will still work with ScummVM, I state here that the patch is ONLY designed so that&lt;br /&gt;users can play through the game under DOS/DOSBox.&lt;br /&gt;&lt;br /&gt;However if you do not wish to patch the file using this method you can follow the following instructions, using a hex editor&lt;br /&gt;to manually change the single byte.&lt;br /&gt;&lt;br /&gt;Change the byte at position 53714(D1D2) from 0x20 to 0x40.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7240291339268534137-7715925425126914788?l=sanguinehearts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sanguinehearts.blogspot.com/feeds/7715925425126914788/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7240291339268534137&amp;postID=7715925425126914788' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7240291339268534137/posts/default/7715925425126914788'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7240291339268534137/posts/default/7715925425126914788'/><link rel='alternate' type='text/html' href='http://sanguinehearts.blogspot.com/2009/05/personal-nightmare-72out-ips-patchfor.html' title='Personal Nightmare 72.out IPS patch(for using the game under DOS)'/><author><name>sanguinehearts</name><uri>http://www.blogger.com/profile/11114084552664045753</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_efWXsCS5LIs/STVWmWiR8II/AAAAAAAAABY/W37IV2WBZzI/S220/sanguine.png'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7240291339268534137.post-5907249415072836316</id><published>2009-05-19T05:40:00.000-07:00</published><updated>2009-05-21T18:52:53.234-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Afraid of the dark'/><category scheme='http://www.blogger.com/atom/ns#' term='fmv'/><category scheme='http://www.blogger.com/atom/ns#' term='umv'/><title type='text'>Are you afraid of the dark?</title><content type='html'>A while ago I found my old copy of Are You Afraid of the Dark: The Tale of Orpheo's Curse.&lt;br /&gt;and found some notes I made on it last year.&lt;br /&gt;&lt;br /&gt;It turned out that this game had fmv(stored in umv) files, and after contacting Multimedia Mike,&lt;br /&gt;I was lucky enough to have him post a blog post about it over at http://multimedia.cx/eggs/orpheos-umv-format/&lt;br /&gt;&lt;br /&gt;and even created a wiki page for the format&lt;br /&gt;http://wiki.multimedia.cx/index.php?title=UMV&lt;br /&gt;&lt;br /&gt;Now I was reading the comments and noticed that someone had actually taken a look at it, but wanted to know what the videos looked like originally&lt;br /&gt;so I captured one, the actual video(umv) starts at 0:20&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;object width="320" height="266" class="BLOG_video_class" id="BLOG_video-95353eae83f4458b" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"&gt;&lt;param name="movie" value="http://www.youtube.com/get_player"&gt;&lt;param name="bgcolor" value="#FFFFFF"&gt;&lt;param name="allowfullscreen" value="true"&gt;&lt;param name="flashvars" value="flvurl=http://v2.nonxt4.googlevideo.com/videoplayback?id%3D95353eae83f4458b%26itag%3D5%26app%3Dblogger%26ip%3D0.0.0.0%26ipbits%3D0%26expire%3D1330366140%26sparams%3Did,itag,ip,ipbits,expire%26signature%3D732C2F9324E359E3465104EA6F1FC76773D14740.576259E431644837C097F166D6C35DF6466AEBCC%26key%3Dck1&amp;amp;iurl=http://video.google.com/ThumbnailServer2?app%3Dblogger%26contentid%3D95353eae83f4458b%26offsetms%3D5000%26itag%3Dw160%26sigh%3DIMTPu9IW78sRbvl0DkZ0BxFsIiw&amp;amp;autoplay=0&amp;amp;ps=blogger"&gt;&lt;embed src="http://www.youtube.com/get_player" type="application/x-shockwave-flash"width="320" height="266" bgcolor="#FFFFFF"flashvars="flvurl=http://v2.nonxt4.googlevideo.com/videoplayback?id%3D95353eae83f4458b%26itag%3D5%26app%3Dblogger%26ip%3D0.0.0.0%26ipbits%3D0%26expire%3D1330366140%26sparams%3Did,itag,ip,ipbits,expire%26signature%3D732C2F9324E359E3465104EA6F1FC76773D14740.576259E431644837C097F166D6C35DF6466AEBCC%26key%3Dck1&amp;iurl=http://video.google.com/ThumbnailServer2?app%3Dblogger%26contentid%3D95353eae83f4458b%26offsetms%3D5000%26itag%3Dw160%26sigh%3DIMTPu9IW78sRbvl0DkZ0BxFsIiw&amp;autoplay=0&amp;ps=blogger"allowFullScreen="true" /&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;So this is a little thank you to the person who started looking at the format, and Mike for making the effort to post the article in the first place.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7240291339268534137-5907249415072836316?l=sanguinehearts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='enclosure' type='video/mp4' href='http://www.blogger.com/video-play.mp4?contentId=95353eae83f4458b&amp;type=video%2Fmp4' length='0'/><link rel='replies' type='application/atom+xml' href='http://sanguinehearts.blogspot.com/feeds/5907249415072836316/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7240291339268534137&amp;postID=5907249415072836316' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7240291339268534137/posts/default/5907249415072836316'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7240291339268534137/posts/default/5907249415072836316'/><link rel='alternate' type='text/html' href='http://sanguinehearts.blogspot.com/2009/05/are-you-afraid-of-dork.html' title='Are you afraid of the dark?'/><author><name>sanguinehearts</name><uri>http://www.blogger.com/profile/11114084552664045753</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_efWXsCS5LIs/STVWmWiR8II/AAAAAAAAABY/W37IV2WBZzI/S220/sanguine.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7240291339268534137.post-8287424982634545724</id><published>2009-05-07T05:41:00.000-07:00</published><updated>2009-05-07T05:45:45.282-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ScummVM'/><category scheme='http://www.blogger.com/atom/ns#' term='personal nightmare'/><category scheme='http://www.blogger.com/atom/ns#' term='horrorsoft'/><title type='text'>Dreams.. heh :)</title><content type='html'>Today Kirben committed a fix for Personal Nightmare PC. This works by patching the compressed 72.out file.&lt;br /&gt;Support was dropped for the uncompressed version, since it should never be needed.&lt;br /&gt;&lt;br /&gt;Interestingly enough a couple of the sprites still seem a little weird, namely the kitchen(bottles) and the lounge(fruit bowl).&lt;br /&gt;&lt;br /&gt;But this is how the game was released.&lt;br /&gt;&lt;br /&gt;It was fun to play around with this game but thankfully I dont need to any longer :D&lt;br /&gt;&lt;br /&gt;Many thanks to Alan Bridgman and Kirben for 'fixing' personal nightmare for the masses :D&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7240291339268534137-8287424982634545724?l=sanguinehearts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sanguinehearts.blogspot.com/feeds/8287424982634545724/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7240291339268534137&amp;postID=8287424982634545724' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7240291339268534137/posts/default/8287424982634545724'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7240291339268534137/posts/default/8287424982634545724'/><link rel='alternate' type='text/html' href='http://sanguinehearts.blogspot.com/2009/05/dreams-heh.html' title='Dreams.. heh :)'/><author><name>sanguinehearts</name><uri>http://www.blogger.com/profile/11114084552664045753</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_efWXsCS5LIs/STVWmWiR8II/AAAAAAAAABY/W37IV2WBZzI/S220/sanguine.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7240291339268534137.post-4469014787920281665</id><published>2009-05-04T07:29:00.000-07:00</published><updated>2009-05-04T07:40:23.576-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ScummVM'/><category scheme='http://www.blogger.com/atom/ns#' term='personal nightmare'/><category scheme='http://www.blogger.com/atom/ns#' term='horrorsoft'/><title type='text'>The Nightmare Returns!</title><content type='html'>It seems that the fix for personal nightmare stopped the game crashing,&lt;br /&gt;however there appear to be a number of sprites which still seem corrupted.&lt;br /&gt;&lt;br /&gt;This can be seen in the following shots : -&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://robertmegone.com/misc/scummvm/vicarage%20shots/PN-Vicarage%20%281%29.png"&gt;&lt;img style="cursor: pointer; width: 159px; height: 105px;" src="http://robertmegone.com/misc/scummvm/vicarage%20shots/PN-Vicarage%20%281%29.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://robertmegone.com/misc/scummvm/vicarage%20shots/PN-Vicarage%282%29.png"&gt;&lt;img style="cursor: pointer; width: 157px; height: 105px;" src="http://robertmegone.com/misc/scummvm/vicarage%20shots/PN-Vicarage%282%29.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://robertmegone.com/misc/scummvm/vicarage%20shots/PN-Vicarage%20%283%29.png"&gt;&lt;img style="cursor: pointer; width: 160px; height: 105px;" src="http://robertmegone.com/misc/scummvm/vicarage%20shots/PN-Vicarage%20%283%29.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://robertmegone.com/misc/scummvm/vicarage%20shots/PN-Vicarage%20%285%29.png"&gt;&lt;img style="cursor: pointer; width: 171px; height: 104px;" src="http://robertmegone.com/misc/scummvm/vicarage%20shots/PN-Vicarage%20%285%29.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://robertmegone.com/misc/scummvm/vicarage%20shots/PN-Vicarage%20%284%29.png"&gt;&lt;img style="cursor: pointer; width: 158px; height: 105px;" src="http://robertmegone.com/misc/scummvm/vicarage%20shots/PN-Vicarage%20%284%29.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://robertmegone.com/misc/scummvm/vicarage%20shots/PN-Vicarage%20%286%29.png"&gt;&lt;img style="cursor: pointer; width: 158px; height: 105px;" src="http://robertmegone.com/misc/scummvm/vicarage%20shots/PN-Vicarage%20%286%29.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://robertmegone.com/misc/scummvm/vicarage%20shots/PN-Vicarage%20%287%29.png"&gt;&lt;img style="cursor: pointer; width: 158px; height: 105px;" src="http://robertmegone.com/misc/scummvm/vicarage%20shots/PN-Vicarage%20%287%29.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;If no patch turns up then I'll see about looking at each sprite in the file, but that wont be until after my exams.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7240291339268534137-4469014787920281665?l=sanguinehearts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sanguinehearts.blogspot.com/feeds/4469014787920281665/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7240291339268534137&amp;postID=4469014787920281665' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7240291339268534137/posts/default/4469014787920281665'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7240291339268534137/posts/default/4469014787920281665'/><link rel='alternate' type='text/html' href='http://sanguinehearts.blogspot.com/2009/05/nightmare-returns.html' title='The Nightmare Returns!'/><author><name>sanguinehearts</name><uri>http://www.blogger.com/profile/11114084552664045753</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_efWXsCS5LIs/STVWmWiR8II/AAAAAAAAABY/W37IV2WBZzI/S220/sanguine.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7240291339268534137.post-876864522356848017</id><published>2009-04-30T12:10:00.000-07:00</published><updated>2009-04-30T19:49:50.563-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='scummvm personal nightmare horrorsoft'/><title type='text'>Impersonal Daydream</title><content type='html'>Hello Scummers!&lt;br /&gt;I apologise if this post is of no interest to you, but It pleased me and I thought I should tell you all about it :p&lt;br /&gt;&lt;br /&gt;A while ago I was made aware the Personal Nightmare (DOS)  was shipped out with a corrupted '71.out' file, sadly this corrupted file made the game difficult to complete under DOS, and impossible under ScummVM at least without the development of an ugly hack to work around the Vicarage section.&lt;br /&gt;After a couple of hours of searching it became clear that the patch Horrorsoft was rumoured to have developed didnt exist in any form on the internet.&lt;br /&gt;After speaking with Kirben I learned that he was in contact with the developers of the game and was awaiting responses from Alan Bridgman to see whether he had an uncorrupted version of the game.&lt;br /&gt;Contact was also attempted with LurkerScum from the ScummVM forums who seemed to know a little bit about the patch that was released for the game. unfortunately it turned out he was using a BugMeNot login.&lt;br /&gt;Later I found out that he had a real forum account(Potent1), but still didnt recieve a response.&lt;br /&gt;As a side project I spent a while looking at the files, trying to compare the atari and amiga 71.IN&lt;br /&gt;files with the PC 71.out file. while it was clear there was a large similarity this was a fruitless task, they just were not similar enough.&lt;br /&gt;I briefly spoke with Kirben again who informed me that the reason for the lack of similarity in the files was due to the compression and graphical differences between the games(PC is EGA, others are VGA)&lt;br /&gt;&lt;br /&gt;I decided that it would be a good idea to look at the files again. this time I started by loading up the PC version but replacing the 71.out file with a renamed 71.in file from the Atari ST version.&lt;br /&gt;&lt;br /&gt;sadly this didnt work, and I was soon to find out why!&lt;br /&gt;I was using DosBox with the debugger enabled, this allows you to see which files are opened from the hdd, The game was choking on '72.out'!!&lt;br /&gt;&lt;br /&gt;after another brief search for a patch I decided to replace the PC 72.out file with a renamed 72.IN file from the ST version again.&lt;br /&gt;&lt;br /&gt;To my delight this was quite successful, DosBox started the Vicarage section!&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://robertmegone.com/misc/scummvm/pn-1.png"&gt;&lt;img style="cursor: pointer; width: 325px; height: 216px;" src="http://robertmegone.com/misc/scummvm/pn-1.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;And in ScummVM things were looking even better :)&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://robertmegone.com/misc/scummvm/pn-2.png"&gt;&lt;img style="cursor: pointer; width: 321px; height: 212px;" src="http://robertmegone.com/misc/scummvm/pn-2.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This gave me some hope, but was not an ideal solution, because the PC game differs quite a bit graphically from the Amiga and ST versions, Kirben informed me that the palettes were not calculated in the same way too. I ditched this idea and sat with my fingers crossed for an official patch from the guys at AdventureSoft.&lt;br /&gt;&lt;br /&gt;I got bored today and noticed that Kirben had just committed a patch for the uncompressed PC files. Im still yet to understand why HorrorSoft packaged the PC game with a data file decompressor, especially when the uncompressed files dont work with the interpreter.&lt;br /&gt;But Im sure glad they did.&lt;br /&gt;&lt;br /&gt;I decided to try and compare the uncompressed files, so I had to trick the unpacking tool into uncompressing the Atari ST versions '72.IN' file, just with a simple rename :p&lt;br /&gt;I also uncompressed the PC version.&lt;br /&gt;&lt;br /&gt;upon opening the two files in a hex editor I was able to see that the two files headers looked very similar, but that the PC version was missing a few bytes that were present in the Amiga and ST versions. I didnt think much of this but figured that I would try to patch the PC version myself.&lt;br /&gt;The file header differs by 4 bytes, namely : 00 00 01 A8. I inserted those bytes into the beginning of the PC file and fired up ScummVM, being hopeful I crossed my fingers as I clicked Load&lt;br /&gt;&lt;br /&gt;Heres an image of the result, Its the best current solution as it uses the original data, although an official patch would be better!&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://robertmegone.com/misc/scummvm/pn-fixedvicarage.png"&gt;&lt;img style="cursor: pointer; width: 318px; height: 209px;" src="http://robertmegone.com/misc/scummvm/pn-fixedvicarage.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;It was an amazing feeling to know that I was one of the few people to see the PC DOS vicarage screen  for quite a few years :D&lt;br /&gt;&lt;br /&gt;This sadly only works with the uncompressed version, but its the best option we have so far.&lt;br /&gt;Since its only 4 bytes then it should be possible to simply patch this on the fly without bloating the code too much. It might even be possible to patch the compressed version on the fly after uncompressing.. :s&lt;br /&gt;Failing that it might require someone to write code to re-compress the file.&lt;br /&gt;&lt;br /&gt;who knows...&lt;br /&gt;this is all just speculation and Im still really waiting for a patch, since this method is not completely tested!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7240291339268534137-876864522356848017?l=sanguinehearts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sanguinehearts.blogspot.com/feeds/876864522356848017/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7240291339268534137&amp;postID=876864522356848017' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7240291339268534137/posts/default/876864522356848017'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7240291339268534137/posts/default/876864522356848017'/><link rel='alternate' type='text/html' href='http://sanguinehearts.blogspot.com/2009/04/impersonal-daydream.html' title='Impersonal Daydream'/><author><name>sanguinehearts</name><uri>http://www.blogger.com/profile/11114084552664045753</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_efWXsCS5LIs/STVWmWiR8II/AAAAAAAAABY/W37IV2WBZzI/S220/sanguine.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7240291339268534137.post-5231102187174360654</id><published>2009-03-27T04:18:00.001-07:00</published><updated>2009-03-27T04:20:22.949-07:00</updated><title type='text'>The go slow</title><content type='html'>For anybody who is interested in the Teen engine&lt;br /&gt;It seems that Ive been swamped by work at university, and wont have much time to work on it until the summer, Things have become a lot easier though.&lt;br /&gt;so the chances of it ever being finished have gone up significantly :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7240291339268534137-5231102187174360654?l=sanguinehearts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sanguinehearts.blogspot.com/feeds/5231102187174360654/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7240291339268534137&amp;postID=5231102187174360654' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7240291339268534137/posts/default/5231102187174360654'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7240291339268534137/posts/default/5231102187174360654'/><link rel='alternate' type='text/html' href='http://sanguinehearts.blogspot.com/2009/03/go-slow.html' title='The go slow'/><author><name>sanguinehearts</name><uri>http://www.blogger.com/profile/11114084552664045753</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_efWXsCS5LIs/STVWmWiR8II/AAAAAAAAABY/W37IV2WBZzI/S220/sanguine.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7240291339268534137.post-8528309218687396436</id><published>2009-02-02T03:13:00.000-08:00</published><updated>2009-02-02T03:28:56.035-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Teen Agent'/><category scheme='http://www.blogger.com/atom/ns#' term='metropolis software'/><category scheme='http://www.blogger.com/atom/ns#' term='TeenAgent'/><category scheme='http://www.blogger.com/atom/ns#' term='ScummVM'/><category scheme='http://www.blogger.com/atom/ns#' term='reverse engineering'/><category scheme='http://www.blogger.com/atom/ns#' term='CDPROJEKT'/><category scheme='http://www.blogger.com/atom/ns#' term='CD PROJEKT'/><title type='text'>The current state of things</title><content type='html'>Recently I made the decision to ask jvprat to join the TeenAgent engine team&lt;br /&gt;&lt;br /&gt;due to this progress has hit full speed !&lt;br /&gt;&lt;br /&gt;We now have full support for the game animations(jvprat) :D&lt;br /&gt;&lt;br /&gt;partial inventory support(jvprat) :D&lt;br /&gt;&lt;br /&gt;and VERY shoddy walking code(provided by me) :(&lt;br /&gt;&lt;br /&gt;The code has also been refactored thanks to jvprat, things are in a much neater state.&lt;br /&gt;&lt;br /&gt;The current state can be seen in the following video.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;object width="320" height="266" class="BLOG_video_class" id="BLOG_video-e84d9970f33bbcdc" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"&gt;&lt;param name="movie" value="http://www.youtube.com/get_player"&gt;&lt;param name="bgcolor" value="#FFFFFF"&gt;&lt;param name="allowfullscreen" value="true"&gt;&lt;param name="flashvars" value="flvurl=http://v16.nonxt5.googlevideo.com/videoplayback?id%3De84d9970f33bbcdc%26itag%3D5%26app%3Dblogger%26ip%3D0.0.0.0%26ipbits%3D0%26expire%3D1330366140%26sparams%3Did,itag,ip,ipbits,expire%26signature%3D66C148E51B1FA0A114F81BF4ECF35FCB89B1CAF4.6A635218BD28ADBF31761BC23B49472F484F5277%26key%3Dck1&amp;amp;iurl=http://video.google.com/ThumbnailServer2?app%3Dblogger%26contentid%3De84d9970f33bbcdc%26offsetms%3D5000%26itag%3Dw160%26sigh%3DApNoNMkbu4Z4B8Kza9esNWtcta4&amp;amp;autoplay=0&amp;amp;ps=blogger"&gt;&lt;embed src="http://www.youtube.com/get_player" type="application/x-shockwave-flash"width="320" height="266" bgcolor="#FFFFFF"flashvars="flvurl=http://v16.nonxt5.googlevideo.com/videoplayback?id%3De84d9970f33bbcdc%26itag%3D5%26app%3Dblogger%26ip%3D0.0.0.0%26ipbits%3D0%26expire%3D1330366140%26sparams%3Did,itag,ip,ipbits,expire%26signature%3D66C148E51B1FA0A114F81BF4ECF35FCB89B1CAF4.6A635218BD28ADBF31761BC23B49472F484F5277%26key%3Dck1&amp;iurl=http://video.google.com/ThumbnailServer2?app%3Dblogger%26contentid%3De84d9970f33bbcdc%26offsetms%3D5000%26itag%3Dw160%26sigh%3DApNoNMkbu4Z4B8Kza9esNWtcta4&amp;autoplay=0&amp;ps=blogger"allowFullScreen="true" /&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;Overall things are looking good for Teen Agent.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7240291339268534137-8528309218687396436?l=sanguinehearts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='enclosure' type='video/mp4' href='http://www.blogger.com/video-play.mp4?contentId=e84d9970f33bbcdc&amp;type=video%2Fmp4' length='0'/><link rel='replies' type='application/atom+xml' href='http://sanguinehearts.blogspot.com/feeds/8528309218687396436/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7240291339268534137&amp;postID=8528309218687396436' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7240291339268534137/posts/default/8528309218687396436'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7240291339268534137/posts/default/8528309218687396436'/><link rel='alternate' type='text/html' href='http://sanguinehearts.blogspot.com/2009/02/current-state-of-things.html' title='The current state of things'/><author><name>sanguinehearts</name><uri>http://www.blogger.com/profile/11114084552664045753</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_efWXsCS5LIs/STVWmWiR8II/AAAAAAAAABY/W37IV2WBZzI/S220/sanguine.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7240291339268534137.post-6882530375929491152</id><published>2009-01-14T02:03:00.000-08:00</published><updated>2009-01-14T02:15:02.301-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Teen Agent'/><category scheme='http://www.blogger.com/atom/ns#' term='metropolis software'/><category scheme='http://www.blogger.com/atom/ns#' term='TeenAgent'/><category scheme='http://www.blogger.com/atom/ns#' term='ScummVM'/><category scheme='http://www.blogger.com/atom/ns#' term='reverse engineering'/><category scheme='http://www.blogger.com/atom/ns#' term='CDPROJEKT'/><category scheme='http://www.blogger.com/atom/ns#' term='CD PROJEKT'/><title type='text'>Animated Union Logic Software Publishing, Inc  Logo</title><content type='html'>Well I figured out how to implement the static sprites in TeenAgent, and it turns out that these contain many other images that are used for animations,&lt;br /&gt;&lt;br /&gt;It allows me to now implement the Union Logic logo fully,&lt;br /&gt;this can be seen here with a comparison of the original/ScummVM&lt;br /&gt;&lt;br /&gt;&lt;object width="320" height="266" class="BLOG_video_class" id="BLOG_video-4e38ceb4075658e0" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"&gt;&lt;param name="movie" value="http://www.youtube.com/get_player"&gt;&lt;param name="bgcolor" value="#FFFFFF"&gt;&lt;param name="allowfullscreen" value="true"&gt;&lt;param name="flashvars" value="flvurl=http://v23.nonxt1.googlevideo.com/videoplayback?id%3D4e38ceb4075658e0%26itag%3D5%26app%3Dblogger%26ip%3D0.0.0.0%26ipbits%3D0%26expire%3D1330366140%26sparams%3Did,itag,ip,ipbits,expire%26signature%3D7F88F18E47BE59F26C6200EF649DCBCB9A9A4330.31EF6CD8E26075BA5FB845565061F402E53EF2DE%26key%3Dck1&amp;amp;iurl=http://video.google.com/ThumbnailServer2?app%3Dblogger%26contentid%3D4e38ceb4075658e0%26offsetms%3D5000%26itag%3Dw160%26sigh%3D8yI6fYc3zr1Q3kLMOVaSI-2U_5I&amp;amp;autoplay=0&amp;amp;ps=blogger"&gt;&lt;embed src="http://www.youtube.com/get_player" type="application/x-shockwave-flash"width="320" height="266" bgcolor="#FFFFFF"flashvars="flvurl=http://v23.nonxt1.googlevideo.com/videoplayback?id%3D4e38ceb4075658e0%26itag%3D5%26app%3Dblogger%26ip%3D0.0.0.0%26ipbits%3D0%26expire%3D1330366140%26sparams%3Did,itag,ip,ipbits,expire%26signature%3D7F88F18E47BE59F26C6200EF649DCBCB9A9A4330.31EF6CD8E26075BA5FB845565061F402E53EF2DE%26key%3Dck1&amp;iurl=http://video.google.com/ThumbnailServer2?app%3Dblogger%26contentid%3D4e38ceb4075658e0%26offsetms%3D5000%26itag%3Dw160%26sigh%3D8yI6fYc3zr1Q3kLMOVaSI-2U_5I&amp;autoplay=0&amp;ps=blogger"allowFullScreen="true" /&gt;&lt;/object&gt;&lt;object width="320" height="266" class="BLOG_video_class" id="BLOG_video-9bafae6cd6149db8" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"&gt;&lt;param name="movie" value="http://www.youtube.com/get_player"&gt;&lt;param name="bgcolor" value="#FFFFFF"&gt;&lt;param name="allowfullscreen" value="true"&gt;&lt;param name="flashvars" value="flvurl=http://v9.nonxt7.googlevideo.com/videoplayback?id%3D9bafae6cd6149db8%26itag%3D5%26app%3Dblogger%26ip%3D0.0.0.0%26ipbits%3D0%26expire%3D1330366140%26sparams%3Did,itag,ip,ipbits,expire%26signature%3D27E6DACF697FAEA0D34C7F2A8D7F02E8651EEA3A.5B6EE4779182FD3DC7A89D98AB9E1C39596929E8%26key%3Dck1&amp;amp;iurl=http://video.google.com/ThumbnailServer2?app%3Dblogger%26contentid%3D9bafae6cd6149db8%26offsetms%3D5000%26itag%3Dw160%26sigh%3DZ2KszutfTEYNGjskE2v0lXWQfOk&amp;amp;autoplay=0&amp;amp;ps=blogger"&gt;&lt;embed src="http://www.youtube.com/get_player" type="application/x-shockwave-flash"width="320" height="266" bgcolor="#FFFFFF"flashvars="flvurl=http://v9.nonxt7.googlevideo.com/videoplayback?id%3D9bafae6cd6149db8%26itag%3D5%26app%3Dblogger%26ip%3D0.0.0.0%26ipbits%3D0%26expire%3D1330366140%26sparams%3Did,itag,ip,ipbits,expire%26signature%3D27E6DACF697FAEA0D34C7F2A8D7F02E8651EEA3A.5B6EE4779182FD3DC7A89D98AB9E1C39596929E8%26key%3Dck1&amp;iurl=http://video.google.com/ThumbnailServer2?app%3Dblogger%26contentid%3D9bafae6cd6149db8%26offsetms%3D5000%26itag%3Dw160%26sigh%3DZ2KszutfTEYNGjskE2v0lXWQfOk&amp;autoplay=0&amp;ps=blogger"allowFullScreen="true" /&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;This now also allows me to view all the static sprites held in ONS.RES&lt;br /&gt;which appear to be used in loads of places :D&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7240291339268534137-6882530375929491152?l=sanguinehearts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='enclosure' type='video/mp4' href='http://www.blogger.com/video-play.mp4?contentId=4e38ceb4075658e0&amp;type=video%2Fmp4' length='0'/><link rel='enclosure' type='video/mp4' href='http://www.blogger.com/video-play.mp4?contentId=9bafae6cd6149db8&amp;type=video%2Fmp4' length='0'/><link rel='replies' type='application/atom+xml' href='http://sanguinehearts.blogspot.com/feeds/6882530375929491152/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7240291339268534137&amp;postID=6882530375929491152' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7240291339268534137/posts/default/6882530375929491152'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7240291339268534137/posts/default/6882530375929491152'/><link rel='alternate' type='text/html' href='http://sanguinehearts.blogspot.com/2009/01/animated-union-logic-software.html' title='Animated Union Logic Software Publishing, Inc  Logo'/><author><name>sanguinehearts</name><uri>http://www.blogger.com/profile/11114084552664045753</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_efWXsCS5LIs/STVWmWiR8II/AAAAAAAAABY/W37IV2WBZzI/S220/sanguine.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7240291339268534137.post-6613418948839556532</id><published>2009-01-05T07:14:00.000-08:00</published><updated>2009-01-05T07:19:46.947-08:00</updated><title type='text'>TextAgent?</title><content type='html'>Well, Ive located the font data.&lt;br /&gt;&lt;br /&gt;Ive got a few thanks to make, Id like to thank salty-horse for sitting with me tirelessly working through the asm explaining things to me that I didnt understand, you've been a great help.&lt;br /&gt;I'd also like to thank jvprat, He seemed to understand that I was getting very frustrated trying to figure out how to draw the font data, and stepped in at just the right time to save me, by both explaining ScummVM internals and possible approaches, He also finished the font code and tidied up the rest of my code.&lt;br /&gt;&lt;br /&gt; :)&lt;br /&gt;&lt;br /&gt;I now present to you the first words from the Teen Agent.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_efWXsCS5LIs/SWIkrM-lK4I/AAAAAAAAAB4/iAnJOzmYEWw/s1600-h/scummvm00000.png"&gt;&lt;img style="cursor: pointer; width: 320px; height: 200px;" src="http://2.bp.blogspot.com/_efWXsCS5LIs/SWIkrM-lK4I/AAAAAAAAAB4/iAnJOzmYEWw/s320/scummvm00000.png" alt="" id="BLOGGER_PHOTO_ID_5287829237123066754" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Enjoy!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7240291339268534137-6613418948839556532?l=sanguinehearts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sanguinehearts.blogspot.com/feeds/6613418948839556532/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7240291339268534137&amp;postID=6613418948839556532' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7240291339268534137/posts/default/6613418948839556532'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7240291339268534137/posts/default/6613418948839556532'/><link rel='alternate' type='text/html' href='http://sanguinehearts.blogspot.com/2009/01/textagent.html' title='TextAgent?'/><author><name>sanguinehearts</name><uri>http://www.blogger.com/profile/11114084552664045753</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_efWXsCS5LIs/STVWmWiR8II/AAAAAAAAABY/W37IV2WBZzI/S220/sanguine.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_efWXsCS5LIs/SWIkrM-lK4I/AAAAAAAAAB4/iAnJOzmYEWw/s72-c/scummvm00000.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7240291339268534137.post-4515041589162687956</id><published>2008-12-07T14:21:00.000-08:00</published><updated>2008-12-07T14:22:52.154-08:00</updated><title type='text'>TeenAgent Thoughts, Status and TODO</title><content type='html'>TeenAgent Status:&lt;br /&gt;&lt;br /&gt;Currently the following is possible :-&lt;br /&gt;&lt;br /&gt;*Viewing room images&lt;br /&gt;*Viewing first static image resource in UNLOGIC.RES&lt;br /&gt;*Viewing the Polish versions CD PROJEKT image from CDLOGO.RES&lt;br /&gt;*Viewing main characters sprites&lt;br /&gt;*Viewing room overlay images&lt;br /&gt;*Viewing inventory item images&lt;br /&gt;*Viewing and using Cursor images (PC or Amiga)&lt;br /&gt;*Listening to music&lt;br /&gt;&lt;br /&gt;TeenAgent TODO:&lt;br /&gt;&lt;br /&gt;The following needs to be implemented before all the resource files are fully handled :-&lt;br /&gt;&lt;br /&gt;    *Implement support for animated inventory sprites&lt;br /&gt;        -The inventory images are mainly static, however Metropolis decided to animate six of them.&lt;br /&gt;        -The inventory images are stored as sprites inside VARIA.RES, specifically in resource number 4.&lt;br /&gt;        -The frame numbers for the animated inventory images are as follows :-&lt;br /&gt;           &lt;br /&gt;             7(fan)&lt;br /&gt;            14(drunken chainsaw)&lt;br /&gt;            47(mouse)&lt;br /&gt;            49(nugget)&lt;br /&gt;            67(burning paper)&lt;br /&gt;            91(bird).&lt;br /&gt;   &lt;br /&gt;    *Implement support for animated Union Logic Logo&lt;br /&gt;        -The Union Logic Logo is stored in UNLOGIC.RES, which contains 11 resources.&lt;br /&gt;        -The first resource in UNLOGIC.RES is a static image which fills the screen.&lt;br /&gt;        -The animated section of this introduction relies on support for resources 2-11.&lt;br /&gt;        -The code required is simple as it just cycles through the other resources.&lt;br /&gt;&lt;br /&gt;    *Implement support for the animated Metropolis/TeenAgent Logo&lt;br /&gt;        -This logo requires resource numbers 6,5,9 from VARIA.RES.&lt;br /&gt;&lt;br /&gt;    *Implement support for the image resources in ONS.RES&lt;br /&gt;        -These are apparently sprites.   &lt;br /&gt;&lt;br /&gt;    *Implement support for LAN_000.RES and LAN_500.RES&lt;br /&gt;        -These are apparently animations.&lt;br /&gt;&lt;br /&gt;    *Implement support for sound effects from SAM_SAM.RES&lt;br /&gt;        -These form the PC speaker sound effects heard throughout the game.&lt;br /&gt;   &lt;br /&gt;    *Figure out where the font data is, and how to implement this in ScummVM&lt;br /&gt;        -I would like to be able to display a few strings in the correct font/font palette&lt;br /&gt;&lt;br /&gt;    *Figure out how to handle loading of text strings/item descriptions/conversations etc..&lt;br /&gt;        -These are stored in the executable which is unfortunately packed with LZEXE 0.91&lt;br /&gt;        -This will most likely require an external data file such as with the other engines&lt;br /&gt;        -TEEN.DAT will contain strings, cursor image, font etc&lt;br /&gt;        -The conversations should not be too hard to handle, however the room items have some extra&lt;br /&gt;        data with them.&lt;br /&gt;        -I'll need to get benjamin to explain those a little more, perhaps he has&lt;br /&gt;        some ideas of how to handle these static resources in a better manner.&lt;br /&gt;   &lt;br /&gt;    *Begin to implement gameplay code&lt;br /&gt;        -I would like to fully support all the English PC resources before I attempt to create a room.&lt;br /&gt;        -This will mean that I can then show a full room off.   &lt;br /&gt;&lt;br /&gt;    *Figure out how to how to handle Czech, Polish and English demo version strings.&lt;br /&gt;        -Im not entierly sure if they are in the same order or not.&lt;br /&gt;        -In the demo there is a string to tell you that you have reached the end of the demo.&lt;br /&gt;        -This demo string does not appear in the other versions.&lt;br /&gt;&lt;br /&gt;    *Figure out how to handle the Polish VOICES.RES&lt;br /&gt;        -This resource file is in the Polish PC version and the Amiga CD version.&lt;br /&gt;        -I plan to support PC Polish before I look at Amiga version.&lt;br /&gt;&lt;br /&gt;    *Figure out how to correctly load the Amiga version in IDA&lt;br /&gt;        -This will allow me to figure out inventory differences.&lt;br /&gt;   &lt;br /&gt;    *Begin to add support for Amiga versions if feasible.&lt;br /&gt;        -This will require me to attempt to understand how the Amiga disk dumps work.&lt;br /&gt;        -Basic support should be possible since the resources are likely to match in size so I can at least try.&lt;br /&gt;        -It may not be worth the extra effort since the ability to dump the disks will&lt;br /&gt;         be required.&lt;br /&gt;&lt;br /&gt;Thats all for now, I hope the formatting doesnt die.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7240291339268534137-4515041589162687956?l=sanguinehearts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sanguinehearts.blogspot.com/feeds/4515041589162687956/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7240291339268534137&amp;postID=4515041589162687956' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7240291339268534137/posts/default/4515041589162687956'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7240291339268534137/posts/default/4515041589162687956'/><link rel='alternate' type='text/html' href='http://sanguinehearts.blogspot.com/2008/12/teenagent-thoughts-status-and-todo.html' title='TeenAgent Thoughts, Status and TODO'/><author><name>sanguinehearts</name><uri>http://www.blogger.com/profile/11114084552664045753</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_efWXsCS5LIs/STVWmWiR8II/AAAAAAAAABY/W37IV2WBZzI/S220/sanguine.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7240291339268534137.post-7741349688012770151</id><published>2008-11-28T03:02:00.000-08:00</published><updated>2008-12-02T07:00:32.927-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Teen Agent'/><category scheme='http://www.blogger.com/atom/ns#' term='metropolis software'/><category scheme='http://www.blogger.com/atom/ns#' term='TeenAgent'/><category scheme='http://www.blogger.com/atom/ns#' term='ScummVM'/><title type='text'>Cursor Madness!!!!!!</title><content type='html'>A tiny update with something quite insignificant&lt;br /&gt;Im only updating because it excited me a little bit&lt;br /&gt;johndoe123 managed to find the cursor image data&lt;br /&gt;what I wasnt prepared for was exactly where he found it&lt;br /&gt;I was expecting to find the cursor image stored as a sprite&lt;br /&gt;in one of the resource files, however it was stored hardcoded in the&lt;br /&gt;executable, the most interesting part for me was that I could actually&lt;br /&gt;see it there in the hex, Ive seen strange patterns in hex before but this&lt;br /&gt;was clearly a mouse cursor, you wouldnt notice it unless you knew it was there.&lt;br /&gt;and even then you'd need to focus on it pretty hard.&lt;br /&gt;&lt;br /&gt;The image here shows the hex for the cursor from the executable, it also shows the cursor image&lt;br /&gt;in TeenAgent in DOSBox on the left, and on the right you will find the cursor image data in ScummVM and below that the loaded cursor image data running in ScummVM.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_efWXsCS5LIs/SS_QKHSusvI/AAAAAAAAAA0/6wnPAsjAj90/s1600-h/hardcodedcursor.jpg"&gt;&lt;img style="cursor: pointer; width: 200px; height: 95px;" src="http://4.bp.blogspot.com/_efWXsCS5LIs/SS_QKHSusvI/AAAAAAAAAA0/6wnPAsjAj90/s200/hardcodedcursor.jpg" alt="" id="BLOGGER_PHOTO_ID_5273662560849015538" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The way I created the cursor image in ScummVM replicates the original strucutre of the cursor&lt;br /&gt;image, however it contains no copyrighted material. I borrowed the idea from the AGI engine so&lt;br /&gt;thanks for whoever made it obvious.&lt;br /&gt;&lt;br /&gt;For some strange reason the cursor data in the executable shows 0xDF as the shade of gray&lt;br /&gt;I run the game in DOSBox and the cursor loads up however when I load the cursor&lt;br /&gt;image in ScummVM the palette uses 0xDF but the colours in DOSBox and ScummVM do not match&lt;br /&gt;it seems that the cursor loaded in DOSBox is using 0xAE for gray, I have adjusted the palette&lt;br /&gt;in ScummVM but it begs the question, why arent the right colours showing up?&lt;br /&gt;Ive included a swatch to show the differences maybe someone can explain why..&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_efWXsCS5LIs/SS_Qn7rILfI/AAAAAAAAABE/bava8DV-Zck/s1600-h/swatch.jpg"&gt;&lt;img style="cursor: pointer; width: 136px; height: 79px;" src="http://1.bp.blogspot.com/_efWXsCS5LIs/SS_Qn7rILfI/AAAAAAAAABE/bava8DV-Zck/s400/swatch.jpg" alt="" id="BLOGGER_PHOTO_ID_5273663073126198770" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The image below shows the cursor in the current build of the engine.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_efWXsCS5LIs/SS_QUCe-GgI/AAAAAAAAAA8/EOC0OqYoAxo/s1600-h/cursor.jpg"&gt;&lt;img style="cursor: pointer; width: 200px; height: 132px;" src="http://4.bp.blogspot.com/_efWXsCS5LIs/SS_QUCe-GgI/AAAAAAAAAA8/EOC0OqYoAxo/s200/cursor.jpg" alt="" id="BLOGGER_PHOTO_ID_5273662731356871170" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;This may seem very trivial but I think I can finally get some sort of interactivity going soon.&lt;br /&gt;&lt;br /&gt;Rob&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7240291339268534137-7741349688012770151?l=sanguinehearts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sanguinehearts.blogspot.com/feeds/7741349688012770151/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7240291339268534137&amp;postID=7741349688012770151' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7240291339268534137/posts/default/7741349688012770151'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7240291339268534137/posts/default/7741349688012770151'/><link rel='alternate' type='text/html' href='http://sanguinehearts.blogspot.com/2008/11/cursor-madness.html' title='Cursor Madness!!!!!!'/><author><name>sanguinehearts</name><uri>http://www.blogger.com/profile/11114084552664045753</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_efWXsCS5LIs/STVWmWiR8II/AAAAAAAAABY/W37IV2WBZzI/S220/sanguine.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_efWXsCS5LIs/SS_QKHSusvI/AAAAAAAAAA0/6wnPAsjAj90/s72-c/hardcodedcursor.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7240291339268534137.post-2237496299286862877</id><published>2008-10-08T07:37:00.000-07:00</published><updated>2008-10-09T03:07:28.061-07:00</updated><title type='text'>TeenAgent rooms for your enjoyment</title><content type='html'>&lt;div&gt;&lt;div&gt;&lt;span style="font-family:arial;"&gt;Well, it comes time for another update on TeenAgentIm made a little progress with the disassembly, its becoming clearer and clearer how this game works every time I look at it. with thanks to a tip off from clone2727(sorry) I was able to see that john_doe had infact made some TeenAgent resource tools before. &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family:arial;"&gt;Now while the tools themselves werent anything new to me(I already had displaying and loading code) It was very interesting to find out that his OFF.EXE tool read and displayed the game room background resources from the file OFF.RES.&lt;br /&gt;It hadnt crossed my mind that the background resources were stored in this file I was looking at LAN_500.RES for those.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;so now where do I stand&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style="font-family:arial;"&gt;TeenAgent engine in ScummVM currently loads and displays the Union Logic logo from UNLOGIC.RES in a static form(I need to figure out how to load the overlay graphics data properly and then get it animating)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family:arial;"&gt;after displaying this logo it then allows the user to run through the games ordering info resources held in ADVERT.RES(this is working 100% like the original) and finally when leaving the ordering info the engine allows the user to scroll through the background images in their plain form(again I need to sort out the overlays before they will animate)&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style="font-family:arial;"&gt;Ive included a few screenshots of the backgrounds running in ScummVM, its nothing major and not really much of an achievement in ScummVM but at least I was able to map the OFF.RES resource numbers to a particular scene. this has helped me figure out which functions call which room in the disassembly and has given me a little more enthusiasm for the task.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;so right now Im stuck. I keep getting mental blocks when it comes to the overlay graphics. &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style="font-family:arial;"&gt;I'd like to get this out the way if possible so I can accurately get some animations working in ScummVM, the overlay gfx should be a big milestone too since It 'should' allow me to browse through the rest of the game graphics resources and view them. effectively allowing me to map the rest of the resources and find things like cursor image and actor images.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;If anyone fancies helping out I'd be very greatful. see what I need is to take the stream of graphics data I have read in from the file and from this I need to extract three uint16's width,height and destination offset on VGA.then I need to make pixel 255 transparent.&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style="font-family:arial;"&gt;Its not much code to write but for now either im not skilled enough or I am approaching it completely wrong, either way its stopping me from moving on.&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family:arial;"&gt;well enjoy the screenshots..&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://3.bp.blogspot.com/_efWXsCS5LIs/SOzGwNssKzI/AAAAAAAAAAU/ZoHp66Qw_ic/s1600-h/scummvm00008.bmp"&gt;&lt;img id="BLOGGER_PHOTO_ID_5254793396847651634" style="" alt="" src="http://3.bp.blogspot.com/_efWXsCS5LIs/SOzGwNssKzI/AAAAAAAAAAU/ZoHp66Qw_ic/s320/scummvm00008.bmp" border="0" /&gt;&lt;/a&gt;&lt;a href="http://4.bp.blogspot.com/_efWXsCS5LIs/SOzG5xamY3I/AAAAAAAAAAc/lZDHYxIiqDw/s1600-h/scummvm00009.bmp"&gt;&lt;img id="BLOGGER_PHOTO_ID_5254793561054274418" style="" alt="" src="http://4.bp.blogspot.com/_efWXsCS5LIs/SOzG5xamY3I/AAAAAAAAAAc/lZDHYxIiqDw/s320/scummvm00009.bmp" border="0" /&gt;&lt;/a&gt;&lt;a href="http://2.bp.blogspot.com/_efWXsCS5LIs/SOzGmJO3F6I/AAAAAAAAAAM/5D_ZdCxfI0E/s1600-h/scummvm00007.bmp"&gt;&lt;img id="BLOGGER_PHOTO_ID_5254793223850104738" style="" alt="" src="http://2.bp.blogspot.com/_efWXsCS5LIs/SOzGmJO3F6I/AAAAAAAAAAM/5D_ZdCxfI0E/s320/scummvm00007.bmp" border="0" /&gt;&lt;/a&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/7240291339268534137-2237496299286862877?l=sanguinehearts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sanguinehearts.blogspot.com/feeds/2237496299286862877/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7240291339268534137&amp;postID=2237496299286862877' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7240291339268534137/posts/default/2237496299286862877'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7240291339268534137/posts/default/2237496299286862877'/><link rel='alternate' type='text/html' href='http://sanguinehearts.blogspot.com/2008/10/teenagent-rooms-for-your-enjoyment.html' title='TeenAgent rooms for your enjoyment'/><author><name>sanguinehearts</name><uri>http://www.blogger.com/profile/11114084552664045753</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_efWXsCS5LIs/STVWmWiR8II/AAAAAAAAABY/W37IV2WBZzI/S220/sanguine.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_efWXsCS5LIs/SOzGwNssKzI/AAAAAAAAAAU/ZoHp66Qw_ic/s72-c/scummvm00008.bmp' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7240291339268534137.post-8196922048569335427</id><published>2008-09-08T02:26:00.000-07:00</published><updated>2008-09-08T02:40:22.141-07:00</updated><title type='text'>The Teen Agent is showing signs of life...</title><content type='html'>Well, Its not much of an update but a small update is better than no update, and its got me pretty excited. This blog post is about the status of TeenAgent if you hadnt guessed it and Id like to mention that It is now possible to view image resources in ScummVM, at first with the help of salty-horse I was able to get a resource loader working, This resource loader simply found the location of a resource from a given resource number&lt;br /&gt;not that great I hear you say.. well after that I decided it was time to actually use some of these resources, I mean whats the point in loading them if you dont know how to use them. This is where I decided to look at TeenAgents ADVERT.RES, which corresponds to the ordering info page visible from the main menu, this ordering info page consists of a function which allows the user to move between the 11 resources in the ADVERT.RES file (which magically correspond to the 11 pages of the ordering info page) and then displays them to the screen.&lt;br /&gt;With the help of _sev It became clear that the image resources were very simple and consisted of nothing but image data and pallete data(duh)&lt;br /&gt;Within 20 minutes _sev had provided code which would then display my image resources to the screen in ScummVM, right now its currently possible to move between the ordering info pages EXACTLY like in the original game.&lt;br /&gt;So many thanks for all the help I have recieved so far, its got me to a point where I have something that I think is worthwhile to show.&lt;br /&gt;I hope you enjoy as much as I do :)&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://gracesdisposal.bpweb.net/blogpics/teenorder1.png"&gt;&lt;img style="cursor: pointer; width: 320px;" src="http://gracesdisposal.bpweb.net/blogpics/teenorder1.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7240291339268534137-8196922048569335427?l=sanguinehearts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sanguinehearts.blogspot.com/feeds/8196922048569335427/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7240291339268534137&amp;postID=8196922048569335427' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7240291339268534137/posts/default/8196922048569335427'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7240291339268534137/posts/default/8196922048569335427'/><link rel='alternate' type='text/html' href='http://sanguinehearts.blogspot.com/2008/09/teen-agent-is-showing-signs-of-life.html' title='The Teen Agent is showing signs of life...'/><author><name>sanguinehearts</name><uri>http://www.blogger.com/profile/11114084552664045753</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_efWXsCS5LIs/STVWmWiR8II/AAAAAAAAABY/W37IV2WBZzI/S220/sanguine.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7240291339268534137.post-4333386408639283076</id><published>2008-09-02T09:35:00.001-07:00</published><updated>2008-09-02T10:26:05.912-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Teen Agent'/><category scheme='http://www.blogger.com/atom/ns#' term='metropolis software'/><category scheme='http://www.blogger.com/atom/ns#' term='TeenAgent'/><category scheme='http://www.blogger.com/atom/ns#' term='ScummVM'/><category scheme='http://www.blogger.com/atom/ns#' term='disassembly'/><category scheme='http://www.blogger.com/atom/ns#' term='reverse engineering'/><category scheme='http://www.blogger.com/atom/ns#' term='CDPROJEKT'/><category scheme='http://www.blogger.com/atom/ns#' term='CD PROJEKT'/><title type='text'>TeenAgent</title><content type='html'>Im not sure if anybody actually knows about my blog, but I thought I would introduce my new project here, Currently I am looking at the game TeenAgent by metropolis software, Its a point and click adventure game and was the first game produced on CD in Poland. This project is an attempt to implement a TeenAgent engine in ScummVM.&lt;br /&gt;&lt;br /&gt;There are two main approaches, the first is that I am currently in discussion with Metropolis about a source code release, they are yet to respond with anything more than 'we will speak to you about this soon' however Im reading into that as 'we are interested and when we get a chance we will sort it out.'&lt;br /&gt;&lt;br /&gt;The second approach is through reverse engineering the TeenAgent executable.&lt;br /&gt;I've made a little progress on this and since its my first real x86 reversing project Ive relied on a lot of help from Buddha^, jvprat and salty-horse.&lt;br /&gt;&lt;br /&gt;currently I can tell when certain resource files are loaded I have located the pallete functions the file reading function, menu functions for save/load,quit,display ordering info,adjust music volume, adjust sound effects volume, adjust text speed, adjust game speed, adjust hero speed and change graphics mode.(greyscale/colour) I also have a few base functions recognised to control interrupts keyboard input  and various other functions which arent really much use in creating the engine, rather I just named them to get them out of the way(so I know what they do and can ignore them for now)&lt;br /&gt;&lt;br /&gt;with thanks to salty-horse I am now able to understand the file loading function and locate some of the various resources in VARIA.RES, the task now is to find out what these resources are by looking at the functions they reside in.&lt;br /&gt;&lt;br /&gt;I hope to find some code which will allow me to figure out how one of the graphics resources is displayed, that way I can dump a graphics resource from VARIA.RES and write some code to load this in ScummVM that way I will feel like I have achieved something worthwhile.&lt;br /&gt;&lt;br /&gt;Heres hoping that the next couple of weeks will bring some visual teenagent sexyness to ScummVM, or at least a start since I go back to university in about three weeks and I wont be able to work on it every day then :(&lt;br /&gt;&lt;br /&gt;fingers crossed for a response from Metropolis and double fingers crossed for finding some graphics displaying code and ScummVMifying it.&lt;br /&gt;&lt;br /&gt;Rob&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7240291339268534137-4333386408639283076?l=sanguinehearts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sanguinehearts.blogspot.com/feeds/4333386408639283076/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7240291339268534137&amp;postID=4333386408639283076' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7240291339268534137/posts/default/4333386408639283076'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7240291339268534137/posts/default/4333386408639283076'/><link rel='alternate' type='text/html' href='http://sanguinehearts.blogspot.com/2008/09/teenagent.html' title='TeenAgent'/><author><name>sanguinehearts</name><uri>http://www.blogger.com/profile/11114084552664045753</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_efWXsCS5LIs/STVWmWiR8II/AAAAAAAAABY/W37IV2WBZzI/S220/sanguine.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7240291339268534137.post-7913960220595649692</id><published>2008-04-19T05:08:00.000-07:00</published><updated>2008-04-19T05:12:59.537-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='reverse engineering'/><category scheme='http://www.blogger.com/atom/ns#' term='maniac mansion'/><category scheme='http://www.blogger.com/atom/ns#' term='lucasarts'/><title type='text'>Maniac Mansion Famicom</title><content type='html'>Some people may know I was working on reverse engineering Maniac Mansion for the Famicom, If you know that then you probably know that its remarkably different to the version for the NES, the only thing that could be compared to the other versions of this game is the storyline.&lt;br /&gt;&lt;br /&gt;My reverse engineering attempt for this game is quite slow and often stalls for months on end.&lt;br /&gt;I will try and get an idea of where I am uploaded within the next month or so.&lt;br /&gt;&lt;br /&gt;Incase anyone reads this and thinks they might be able to help out then feel free to comment.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7240291339268534137-7913960220595649692?l=sanguinehearts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sanguinehearts.blogspot.com/feeds/7913960220595649692/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7240291339268534137&amp;postID=7913960220595649692' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7240291339268534137/posts/default/7913960220595649692'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7240291339268534137/posts/default/7913960220595649692'/><link rel='alternate' type='text/html' href='http://sanguinehearts.blogspot.com/2008/04/maniac-mansion-famicom.html' title='Maniac Mansion Famicom'/><author><name>sanguinehearts</name><uri>http://www.blogger.com/profile/11114084552664045753</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_efWXsCS5LIs/STVWmWiR8II/AAAAAAAAABY/W37IV2WBZzI/S220/sanguine.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7240291339268534137.post-8738234926585161526</id><published>2008-04-19T04:53:00.000-07:00</published><updated>2008-04-19T05:13:54.654-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='TG16'/><category scheme='http://www.blogger.com/atom/ns#' term='ScummVM'/><category scheme='http://www.blogger.com/atom/ns#' term='Loom'/><category scheme='http://www.blogger.com/atom/ns#' term='Scumm'/><category scheme='http://www.blogger.com/atom/ns#' term='PC Engine'/><title type='text'>Loom TG16/PC Engine.</title><content type='html'>Over the past week I have been attempting to rally up some support to get this game supported properly in ScummVM.&lt;br /&gt;tomaitheo from Efnet #utopiasoft has been invaluable and Is currently working at figuring out the image format for the oi(object images) and smap(backgrounds) scumm resources.&lt;br /&gt;&lt;a href="http://gracesdisposal.bpweb.net/LOOM/"&gt;http://gracesdisposal.bpweb.net/LOOM/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Also on the site is the legendary dumpcd software, in DOS/WIN32 and also includes linux source.&lt;br /&gt;However if you cant get that to run there is also TurboRip, if you need to use TurboRip there are also instructions included for how to edit the output iso file to make it compatible with extract_loom_tg16.exe&lt;br /&gt;Also included is a text file with the correct md5 checksums for the ripped iso, and for the output from the extract tool on 00.lfl&lt;br /&gt;No doubt with tomaitheo's skill there will be some interesting work on this version of Loom&lt;br /&gt;&lt;br /&gt;Now just to work out where the sound effects lay :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7240291339268534137-8738234926585161526?l=sanguinehearts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sanguinehearts.blogspot.com/feeds/8738234926585161526/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7240291339268534137&amp;postID=8738234926585161526' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7240291339268534137/posts/default/8738234926585161526'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7240291339268534137/posts/default/8738234926585161526'/><link rel='alternate' type='text/html' href='http://sanguinehearts.blogspot.com/2008/04/loom-tg16pc-engine.html' title='Loom TG16/PC Engine.'/><author><name>sanguinehearts</name><uri>http://www.blogger.com/profile/11114084552664045753</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_efWXsCS5LIs/STVWmWiR8II/AAAAAAAAABY/W37IV2WBZzI/S220/sanguine.png'/></author><thr:total>0</thr:total></entry></feed>
