<?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-7188520827100273809</id><updated>2011-08-24T21:39:14.536-07:00</updated><category term='Plan9'/><category term='9doom'/><title type='text'>Plan9 Doom Port</title><subtitle type='html'>James Tomaschke</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://jtomaschke.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7188520827100273809/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://jtomaschke.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>jtomaschke</name><uri>http://www.blogger.com/profile/10669614108199955010</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-WZ0QSc3jARk/TlXR1n-1zeI/AAAAAAAAAZs/E-86hvNEkJs/s220/headshot3.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>11</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7188520827100273809.post-3027496775583919852</id><published>2011-05-07T14:48:00.000-07:00</published><updated>2011-05-07T14:59:46.716-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='9doom'/><category scheme='http://www.blogger.com/atom/ns#' term='Plan9'/><title type='text'>Color Conversion</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/-XY2TSX5RVTc/TcW_l5_rqDI/AAAAAAAAAWE/FoJUwPrayoY/s1600/foo.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 238px;" src="http://2.bp.blogspot.com/-XY2TSX5RVTc/TcW_l5_rqDI/AAAAAAAAAWE/FoJUwPrayoY/s320/foo.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5604095969276438578" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;/* CMAP to RGB24 */&lt;br /&gt;loadmemimage(cimg, cimg-&gt;r, screens[0], N);&lt;br /&gt;memimagedraw(timg, timg-&gt;r, cimg, ZP, nil, ZP, S);&lt;br /&gt;&lt;br /&gt;/* Memimage to Image */&lt;br /&gt;unloadmemimage(timg, img-&gt;r, buf24, sizeof(buf24));&lt;br /&gt;loadimage(img, img-&gt;r, buf24, sizeof(buf24));&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7188520827100273809-3027496775583919852?l=jtomaschke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jtomaschke.blogspot.com/feeds/3027496775583919852/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jtomaschke.blogspot.com/2011/05/color-conversion.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7188520827100273809/posts/default/3027496775583919852'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7188520827100273809/posts/default/3027496775583919852'/><link rel='alternate' type='text/html' href='http://jtomaschke.blogspot.com/2011/05/color-conversion.html' title='Color Conversion'/><author><name>jtomaschke</name><uri>http://www.blogger.com/profile/10669614108199955010</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-WZ0QSc3jARk/TlXR1n-1zeI/AAAAAAAAAZs/E-86hvNEkJs/s220/headshot3.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-XY2TSX5RVTc/TcW_l5_rqDI/AAAAAAAAAWE/FoJUwPrayoY/s72-c/foo.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7188520827100273809.post-7265718773899022506</id><published>2011-05-06T18:00:00.000-07:00</published><updated>2011-05-06T18:07:43.900-07:00</updated><title type='text'>Starting Over</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/-p51aWrV9wnE/TcSZx_DszXI/AAAAAAAAAV8/PKzZBQRahwE/s1600/foo.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 238px;" src="http://2.bp.blogspot.com/-p51aWrV9wnE/TcSZx_DszXI/AAAAAAAAAV8/PKzZBQRahwE/s320/foo.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5603772920375332210" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Had some time off from work, so I decided to redo the port from scratch because I simply couldn't find the original from backup and came up with this today.  Need to figure out a nice way of remapping CMAP8 to 24bit displays as well as supplement the keyboard driver again.  Oh well, the second time around I am doing more with less code.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7188520827100273809-7265718773899022506?l=jtomaschke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jtomaschke.blogspot.com/feeds/7265718773899022506/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jtomaschke.blogspot.com/2011/05/starting-over.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7188520827100273809/posts/default/7265718773899022506'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7188520827100273809/posts/default/7265718773899022506'/><link rel='alternate' type='text/html' href='http://jtomaschke.blogspot.com/2011/05/starting-over.html' title='Starting Over'/><author><name>jtomaschke</name><uri>http://www.blogger.com/profile/10669614108199955010</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-WZ0QSc3jARk/TlXR1n-1zeI/AAAAAAAAAZs/E-86hvNEkJs/s220/headshot3.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-p51aWrV9wnE/TcSZx_DszXI/AAAAAAAAAV8/PKzZBQRahwE/s72-c/foo.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7188520827100273809.post-2027639016562597070</id><published>2009-07-24T00:09:00.000-07:00</published><updated>2009-07-24T00:32:48.970-07:00</updated><title type='text'>Speed Bumps</title><content type='html'>It seems that I have lost a server which was hosting the source code. I will try and buy a new system this weekend.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7188520827100273809-2027639016562597070?l=jtomaschke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jtomaschke.blogspot.com/feeds/2027639016562597070/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jtomaschke.blogspot.com/2009/07/speed-bumps.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7188520827100273809/posts/default/2027639016562597070'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7188520827100273809/posts/default/2027639016562597070'/><link rel='alternate' type='text/html' href='http://jtomaschke.blogspot.com/2009/07/speed-bumps.html' title='Speed Bumps'/><author><name>jtomaschke</name><uri>http://www.blogger.com/profile/10669614108199955010</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-WZ0QSc3jARk/TlXR1n-1zeI/AAAAAAAAAZs/E-86hvNEkJs/s220/headshot3.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7188520827100273809.post-895604968407703257</id><published>2009-03-17T15:37:00.000-07:00</published><updated>2009-03-28T17:30:43.970-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='9doom'/><title type='text'>Doom Filesystem, WADFS</title><content type='html'>Just finished up the wadfs, this exports WAD game content as a filetree or service. This allows anyone to overlay static content with another PWAD or even custom files.  However the interesting thing is one could even overlay with a custom program, that's right, one could write procedural texture code and mount it over the existing texture and have some dynamic content.  This would require the engine know when to re-cache the data, this could be implemented as a file that dynamic content programs just send a "updated WIMINUS" message to.&lt;br /&gt;&lt;code&gt;&lt;br /&gt;term% games/doomfs -m mnt wad /usr/james/lib/doom/doomu.wad&lt;br /&gt;DBG: numlumps = 2306&lt;br /&gt;DBG: tableofs = 12371396&lt;br /&gt;term% lc mnt/E4M2&lt;br /&gt;BLOCKMAP  NODES   SECTORS  SIDEDEFS  THINGS&lt;br /&gt;LINEDEFS  REJECT  SEGS     SSECTORS  VERTEXES&lt;br /&gt;term% ls -l mnt/WIMINUS&lt;br /&gt;--r--r--r-- M 270 doomfs doomfs 80 Mar 17 21:30 mnt/WIMINUS&lt;br /&gt;term% xd mnt/WIMINUS&lt;br /&gt;0000000  06000300 0000fbff 20000000 28000000&lt;br /&gt;0000010  30000000 38000000 40000000 48000000&lt;br /&gt;0000020  0003bfbf bfbfbfff 0003bfbf b4bfbfff&lt;br /&gt;0000030  0003bfbf b4bfbfff 0003bfbf b2bfbfff&lt;br /&gt;0000040  0003bfbf b1bfbfff 0003bfbf bfbfbfff&lt;br /&gt;0000050&lt;br /&gt;0000050&lt;br /&gt;term% unmount mnt&lt;br /&gt;DBG: wadfs end&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7188520827100273809-895604968407703257?l=jtomaschke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jtomaschke.blogspot.com/feeds/895604968407703257/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jtomaschke.blogspot.com/2009/03/doom-filesystem-wadfs.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7188520827100273809/posts/default/895604968407703257'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7188520827100273809/posts/default/895604968407703257'/><link rel='alternate' type='text/html' href='http://jtomaschke.blogspot.com/2009/03/doom-filesystem-wadfs.html' title='Doom Filesystem, WADFS'/><author><name>jtomaschke</name><uri>http://www.blogger.com/profile/10669614108199955010</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-WZ0QSc3jARk/TlXR1n-1zeI/AAAAAAAAAZs/E-86hvNEkJs/s220/headshot3.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7188520827100273809.post-7815500239943728867</id><published>2009-03-13T13:27:00.000-07:00</published><updated>2009-03-28T17:31:12.216-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='9doom'/><title type='text'>Doom Filesystem?</title><content type='html'>After deciding to look at the gamestate, &lt;a href="http://jtomaschke.blogspot.com/2009/03/game-state-rework-needed.html#comments"&gt;Uriel&lt;/a&gt; had some good suggestions on exposing the internals as a filesystem.  Since I am new to Plan9 I thought I'd tackle this later, but I thought I would at least try it out first, and it turns out to be easier than I thought so I started prototyping it.&lt;br /&gt;&lt;code&gt;&lt;br /&gt;term% doomserver -m mnt&lt;br /&gt;doomserver&gt; startup&lt;br /&gt;term% ls -l mnt&lt;br /&gt;d-r-x-r-x-r-x M 129 doom doom 0 Mar 13 20:22 mnt/clients&lt;br /&gt;d-r-x-r-x-r-x M 129 doom doom 0 Mar 13 20:22 mnt/edicts&lt;br /&gt;--rw--rw----- M 129 doom doom 0 Mar 13 20:22 mnt/servercmd&lt;br /&gt;term% cat mnt/servercmd&lt;br /&gt;Server Commands&lt;br /&gt;  fraglimit &lt;#&gt;,     0 - no limit&lt;br /&gt;  timelimit &lt;#min&gt;,  0 - no limit&lt;br /&gt;term% echo fraglimit 10 &gt;mnt/servercmd&lt;br /&gt;term% unmount mnt&lt;br /&gt;doomserver&gt; shutdown&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;An enumerated list of clients are in clients/ which expose the client/server networking interface.  Likewise, the game logic can interact with edicts/ to update their gamestate.  Traditionally in other operating systems this is done through the use of dynamic libraries, but because everything is a file there is no restriction on what programming language or even shell script can be used.  Want to play with genetic evolution of bot AI code? Let them duke it out in the arena.  How about a massive online DOOM FPS?  Distribute the clients and server states across many servers.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7188520827100273809-7815500239943728867?l=jtomaschke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jtomaschke.blogspot.com/feeds/7815500239943728867/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jtomaschke.blogspot.com/2009/03/doom-filesystem.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7188520827100273809/posts/default/7815500239943728867'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7188520827100273809/posts/default/7815500239943728867'/><link rel='alternate' type='text/html' href='http://jtomaschke.blogspot.com/2009/03/doom-filesystem.html' title='Doom Filesystem?'/><author><name>jtomaschke</name><uri>http://www.blogger.com/profile/10669614108199955010</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-WZ0QSc3jARk/TlXR1n-1zeI/AAAAAAAAAZs/E-86hvNEkJs/s220/headshot3.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7188520827100273809.post-8763873935602451686</id><published>2009-03-09T00:22:00.001-07:00</published><updated>2009-03-28T17:31:31.598-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='9doom'/><title type='text'>Game State Rework Needed</title><content type='html'>The current implementation of the Doom game state has been causing some problems.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Audio playback speed changes.&lt;/li&gt;&lt;li&gt;User input events get dropped.&lt;/li&gt;&lt;li&gt;Not well suited for Internet play.&lt;/li&gt;&lt;/ul&gt;The first two appear to be related with the rendering frame rate.  After forcing a ~35fps frame rate I noticed the audio plays back just fine.  Also, after forcing the "singletics = true" which is a debug mode, the mouse/keyboard input worked just fine.  (Which is good as it means my custom Plan 9 input driver is working out).&lt;br /&gt;&lt;br /&gt;Since I will probably have to rework the game state to allow for Internet play anyways, I'm going to spend a week or two on a rewrite of the internals.  This should allow a playable yet probably un-stable version.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7188520827100273809-8763873935602451686?l=jtomaschke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jtomaschke.blogspot.com/feeds/8763873935602451686/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jtomaschke.blogspot.com/2009/03/game-state-rework-needed.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7188520827100273809/posts/default/8763873935602451686'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7188520827100273809/posts/default/8763873935602451686'/><link rel='alternate' type='text/html' href='http://jtomaschke.blogspot.com/2009/03/game-state-rework-needed.html' title='Game State Rework Needed'/><author><name>jtomaschke</name><uri>http://www.blogger.com/profile/10669614108199955010</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-WZ0QSc3jARk/TlXR1n-1zeI/AAAAAAAAAZs/E-86hvNEkJs/s220/headshot3.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7188520827100273809.post-7716988592057802508</id><published>2009-03-02T22:57:00.000-08:00</published><updated>2009-03-28T17:31:53.498-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='9doom'/><title type='text'>Rendering Complete</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_sxXvSvht-YM/SazVIgTAOnI/AAAAAAAAAA8/CbZfSX0Mb34/s1600-h/9doom.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 204px;" src="http://1.bp.blogspot.com/_sxXvSvht-YM/SazVIgTAOnI/AAAAAAAAAA8/CbZfSX0Mb34/s320/9doom.png" alt="" id="BLOGGER_PHOTO_ID_5308852402848283250" border="0" /&gt;&lt;/a&gt;I've worked out the scaling issues, and now the title screen, sky and player sprites scale with the window dimensions.  Next I will work on completing a new /dev/input driver for Plan9 that will be suitable for handling keyboard/mouse/joystick inputs.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7188520827100273809-7716988592057802508?l=jtomaschke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jtomaschke.blogspot.com/feeds/7716988592057802508/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jtomaschke.blogspot.com/2009/03/rendering-complete.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7188520827100273809/posts/default/7716988592057802508'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7188520827100273809/posts/default/7716988592057802508'/><link rel='alternate' type='text/html' href='http://jtomaschke.blogspot.com/2009/03/rendering-complete.html' title='Rendering Complete'/><author><name>jtomaschke</name><uri>http://www.blogger.com/profile/10669614108199955010</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-WZ0QSc3jARk/TlXR1n-1zeI/AAAAAAAAAZs/E-86hvNEkJs/s220/headshot3.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_sxXvSvht-YM/SazVIgTAOnI/AAAAAAAAAA8/CbZfSX0Mb34/s72-c/9doom.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7188520827100273809.post-1288470162180078110</id><published>2009-02-28T02:10:00.000-08:00</published><updated>2009-03-28T17:32:51.065-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='9doom'/><title type='text'>Plan9 Doom Port - SOUND!</title><content type='html'>After finding and fixing the &lt;a href="http://jtomaschke.blogspot.com/2009/02/plan9-ac97-driver-bug.html"&gt;AC97 driver bug&lt;/a&gt;, it took all of tonight to port the audio. So what's left?&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Raw Input Driver&lt;/li&gt;&lt;li&gt;Scale titlescreen, sky and weapon textures&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Multiplayer netcode&lt;/li&gt;&lt;li&gt;Allow for dynamic window resize&lt;br /&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/7188520827100273809-1288470162180078110?l=jtomaschke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jtomaschke.blogspot.com/feeds/1288470162180078110/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jtomaschke.blogspot.com/2009/02/plan9-doom-port-sound.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7188520827100273809/posts/default/1288470162180078110'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7188520827100273809/posts/default/1288470162180078110'/><link rel='alternate' type='text/html' href='http://jtomaschke.blogspot.com/2009/02/plan9-doom-port-sound.html' title='Plan9 Doom Port - SOUND!'/><author><name>jtomaschke</name><uri>http://www.blogger.com/profile/10669614108199955010</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-WZ0QSc3jARk/TlXR1n-1zeI/AAAAAAAAAZs/E-86hvNEkJs/s220/headshot3.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7188520827100273809.post-1295297722692821972</id><published>2009-02-28T01:58:00.000-08:00</published><updated>2009-03-28T17:32:35.599-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Plan9'/><title type='text'>Plan9 AC97 Driver Bug</title><content type='html'>&lt;span&gt;The AC97 driver was crashing the system, after taking a look I saw this in audioac97.c, ac97reset:&lt;br /&gt;&lt;blockquote style="font-family: courier new;"&gt;if(p-&gt;mem[0].size == 64){&lt;br /&gt;&amp;nbsp;&amp;nbsp;ctlr-&gt;port = p-&gt;mem[0].bar &amp;amp; ~3;&lt;br /&gt;&amp;nbsp;&amp;nbsp;ctlr-&gt;mixport = p-&gt;mem[1].bar &amp;amp; ~3;&lt;br /&gt;} else if(p-&gt;mem[1].size == 64){&lt;br /&gt;&amp;nbsp;&amp;nbsp;ctlr-&gt;port = p-&gt;mem[1].bar &amp;amp; ~3;&lt;br /&gt;&amp;nbsp;&amp;nbsp;ctlr-&gt;mixport = p-&gt;mem[0].bar &amp;amp; ~3;&lt;br /&gt;}&lt;/blockquote&gt;So what happens if neither size is 64? Crash.&lt;br /&gt;My pci was showing sizes of 1024 and 256 for the audio device.&lt;br /&gt;This is what I did to get it working:&lt;br /&gt;&lt;blockquote style="font-family: courier new;"&gt;ctlr-&gt;port = p-&gt;mem[1].bar &amp;amp; ~3;&lt;br /&gt;ctlr-&gt;mixport = p-&gt;mem[0].bar &amp;amp; ~3;&lt;br /&gt;&lt;/blockquote&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7188520827100273809-1295297722692821972?l=jtomaschke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jtomaschke.blogspot.com/feeds/1295297722692821972/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jtomaschke.blogspot.com/2009/02/plan9-ac97-driver-bug.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7188520827100273809/posts/default/1295297722692821972'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7188520827100273809/posts/default/1295297722692821972'/><link rel='alternate' type='text/html' href='http://jtomaschke.blogspot.com/2009/02/plan9-ac97-driver-bug.html' title='Plan9 AC97 Driver Bug'/><author><name>jtomaschke</name><uri>http://www.blogger.com/profile/10669614108199955010</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-WZ0QSc3jARk/TlXR1n-1zeI/AAAAAAAAAZs/E-86hvNEkJs/s220/headshot3.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7188520827100273809.post-9191286252502379535</id><published>2009-02-21T17:17:00.000-08:00</published><updated>2009-03-28T17:32:05.860-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='9doom'/><title type='text'>Stable Rendering</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_sxXvSvht-YM/SaCoG4kQ4gI/AAAAAAAAAAg/bDygPoT-Mn0/s1600-h/9doomg.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 332px;" src="http://2.bp.blogspot.com/_sxXvSvht-YM/SaCoG4kQ4gI/AAAAAAAAAAg/bDygPoT-Mn0/s400/9doomg.png" alt="" id="BLOGGER_PHOTO_ID_5305425197259612674" border="0" /&gt;&lt;/a&gt;What's left on rendering is translation of weapon and scaling of title screen, sky texture and HUD to custom screen dimensions.  However it is quite stable right now, and is playing through the demos.  Still looking for a good solution on keyboard input on Plan9.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7188520827100273809-9191286252502379535?l=jtomaschke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jtomaschke.blogspot.com/feeds/9191286252502379535/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jtomaschke.blogspot.com/2009/02/stable-rendering.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7188520827100273809/posts/default/9191286252502379535'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7188520827100273809/posts/default/9191286252502379535'/><link rel='alternate' type='text/html' href='http://jtomaschke.blogspot.com/2009/02/stable-rendering.html' title='Stable Rendering'/><author><name>jtomaschke</name><uri>http://www.blogger.com/profile/10669614108199955010</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-WZ0QSc3jARk/TlXR1n-1zeI/AAAAAAAAAZs/E-86hvNEkJs/s220/headshot3.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_sxXvSvht-YM/SaCoG4kQ4gI/AAAAAAAAAAg/bDygPoT-Mn0/s72-c/9doomg.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7188520827100273809.post-6192326517801713168</id><published>2009-02-20T00:51:00.000-08:00</published><updated>2009-02-20T01:03:52.253-08:00</updated><title type='text'>Doom Plan9 Port</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_sxXvSvht-YM/SZ5vrXDX9CI/AAAAAAAAAAM/ra17NF0yLdo/s1600-h/9doom.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 170px; height: 320px;" src="http://1.bp.blogspot.com/_sxXvSvht-YM/SZ5vrXDX9CI/AAAAAAAAAAM/ra17NF0yLdo/s320/9doom.png" alt="" id="BLOGGER_PHOTO_ID_5304800201802249250" border="0" /&gt;&lt;/a&gt;I have a port of Doom to Plan9 in the works.  Most of the effort so far has been in the support of resolutions other than the original 320x200.  Despite the picture shown here, the status bar is working, but the ceiling/floor draw functions need to be altered to cope with different vertical resolutions.&lt;br /&gt;&lt;br /&gt;So far it is rendering very fast, the original code is well optimized already.  I cannot use the Plan9 standard interface for input due to lacking of detection of key-release and do not want to hack it up.&lt;br /&gt;&lt;br /&gt;First impressions of Plan9 are positive, access to PC registers is nice and reminds me of some of the older days of programming, while at the same time I get to use modern hardware with a modern OS.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7188520827100273809-6192326517801713168?l=jtomaschke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jtomaschke.blogspot.com/feeds/6192326517801713168/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jtomaschke.blogspot.com/2009/02/doom-plan9-port.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7188520827100273809/posts/default/6192326517801713168'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7188520827100273809/posts/default/6192326517801713168'/><link rel='alternate' type='text/html' href='http://jtomaschke.blogspot.com/2009/02/doom-plan9-port.html' title='Doom Plan9 Port'/><author><name>jtomaschke</name><uri>http://www.blogger.com/profile/10669614108199955010</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-WZ0QSc3jARk/TlXR1n-1zeI/AAAAAAAAAZs/E-86hvNEkJs/s220/headshot3.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_sxXvSvht-YM/SZ5vrXDX9CI/AAAAAAAAAAM/ra17NF0yLdo/s72-c/9doom.png' height='72' width='72'/><thr:total>0</thr:total></entry></feed>
