Roger, Can we not keep on-topic just slightly? I really don't see what relevance the cost of broadband in Hong Kong has to the blue-footed one. Though actually it's a little like having James Joyce on the list, so I'll try not to complain.
David 2009/8/19 Roger Jowett <[email protected]>: > !hd > also sim coupe didnt like the full screen or maybe it was camtasia i > used to record the desktop anyone got a better one? > anyone figure out how to use the tv encoder chip on the vga card - msi > mx440 vtd 8x agp /ti4200 vtd 128 / fx5900 zt vtd 128 all msi all Video > input video output - none support hi deff despite the manual claiming > the tv encoder can encode mpeg with 600mhz proces...@1024x768 - dont > seem too hi deff to me! > > also ati x1950 power colour this had a component input cable with an > arrow pointing towards teh machine but guess what > also msi digital tv tuner - still only composite and s-video inputs > although kind of weirdly the virgn/ntl set top box my brother has > actually manages to get the screen to fill the pc tv tuner screen > whereas the output from the box never quite works on the tv no matter > what setting you try?! > maybe use the lan/usb/serial/scart to conenct it to a hi deff tv? need > to reflash the bios? not available from ntl/virgin > also cant use the cable feed to get hi deff on the pc or the cable > cahnnels or the internet have to have adpater for set top box and > adapter for a router - was similar in hong kong luckily i had three > fans in the card board box above the loos otherwise ida fryed! > pccw 6mbps yeah sure engineer tested it never above 300kb and that > would have been a miracle > ohh you loose 5mbps when you are watching the digital tv service oh > yeah well in that case youd have to be giveing me 5mbps in the first > place before i could loose what you have never given me in the first > place $150 a month christ! crooks > can you use the itu t v44 320kbps modem at the same time would > increase by 2½ the upload ability at the sneakily unadvertised 256kbps > speed (fat chance!) > > 2009/8/19 Roger Jowett <[email protected]>: >> http://www.youtube.com/watch?v=ALLAUaVoQC0&feature=channel_page >> >> dunno if youd need a dma for this in mode1 or it'd b n e easier in mode2 >> will try mode 3 next then if anyone knows an easy to use interlace routine >> would the second interlaced screen be one pixel line below the first - >> is that how it works its alternate scan lines >> >> 2009/8/19 Roger Jowett <[email protected]>: >>> but surely the code can be fed into the samc compiler no - sam vision >>> erm it looks close?! >>> are you sure that as teh filled in cube rotates it wouldnt be easier >>> to drop to mode1 couldnt you fill 64 pixels of colour witha single >>> byte attribute square only need to work out how many you could get >>> away with seems a bit jerk how many frames does it take to draw? >>> have you tried the echologia demo with the dma and mb-02+ in real >>> spectrum - not sure if they are using the dma tah much some models >>> take 3 to 7 frames to draw >>> wouldnt a sam dma be a wee bit faster than the quoted 17jb per frame >>> velesoft reckon the dma datagear interface handles in on128k >>> also do you need masterdos to detect an external sam - its only >>> another 3mhz but what about those register hungry emulators like the >>> apple and oric or whatever its called oreo - isnt that a biscuit? >>> did you catcht eh text font.... its taken me a loooong time >>> silver paint tonight pressure sensitive keyboard membrane here i come! >>> - didnt realise the 128keypad had a pic controller in it dont they go >>> up to 80mhz! theres development kits in maplin £44 or build it your >>> self for £25ish grade b=£20 >>> http://www.maplin.co.uk/Search.aspx?menuno=12483 >>> >>> usb... >>> >>> http://www.maplin.co.uk/Search.aspx?menuno=12545 >>> >>> >>> 2009/8/7 Simon Cooke <[email protected]>: >>>> It's still pretty much just a quick sin/cos lookup for the euler angle >>>> calculation. As you say, you just store it in a form that hits 0 at 0, and >>>> 2pi - epsilon at 65535. (Or something similar), and then just do a lookup. >>>> That part's fast. >>>> >>>> Quaternions... The biggest advantage is that you can interpolate between >>>> them - which is necessary for skeletal animation. There are a number of >>>> disadvantages though - the need to occasionally renormalize them being a >>>> big >>>> one. (You're not actually gaining any kind of stability there per se; all >>>> you're doing is trading one numerical inaccuracy for another). >>>> >>>> Here's a case against them: >>>> >>>> http://www.gamedev.net/reference/articles/article1199.asp >>>> http://www.somedude.net/gamemonkey/forum/viewtopic.php?f=12&t=380 >>>> >>>> >>>> http://www.sjbrown.co.uk/2002/05/01/quaternions/ >>>> >>>> Note: it may make sense to handle your camera as a quaternion, vs. a >>>> rotation matrix for local->worldspace transforms, based on the cost of >>>> operations. >>>> >>>> If you decompose your matrix into all of the pieces you need to calculate >>>> when you build it, and keep that alongside all of the pieces you need to >>>> apply when you apply it, then you might find more optimization >>>> opportunities >>>> - especially if you're not performing more than one rotation at once. >>>> >>>> But ultimately, the name of the game here is to go as far as possible, so >>>> it's all going to come down to your use cases. >>>> >>>> >>>> >>>> >>>> -----Original Message----- >>>> From: [email protected] [mailto:[email protected]] On >>>> Behalf Of Thomas Harte >>>> Sent: Wednesday, August 05, 2009 4:13 PM >>>> To: [email protected] >>>> Subject: Re: Hi - just checking >>>> >>>> They're in some format or another that I don't recall offhand, but is >>>> lined up so that a full circle is a nice round binary number for the >>>> obvious range fixing optimisation. But it's not just a quick sin/cos >>>> table lookup unless you're rotating around one axis only. See, e.g. >>>> http://www.manpagez.com/man/3/glRotatef/ (the man page for glRotatef) >>>> - clearly there's a lot more going on there than table lookups. >>>> >>>> Of course, I am taking note of coherences. If the angles associated >>>> with an object do not change from one frame to the next, the source >>>> matrix is not recalculated. This optimisation postdates the version of >>>> my code that has already appeared on Sam Revival, but predates the >>>> next version (which is a better optimised version of the code shown in >>>> my video http://www.youtube.com/watch?v=j0xN_Mi3B_I) >>>> >>>> As I've posted to this list in the past, I use something vaguely like >>>> SIMD to multiply a 2d vector by a scalar - the relevant part of the >>>> scalar sits in the accumulator and is shifted there to make the >>>> add/don't add decision in the standard binary multiplication formula, >>>> meanwhile the 2d vector sits with the work going in for one component >>>> occupying BC, DE and HL, the work for the other occupying BC', DE' and >>>> HL'. Hence I get a substantial saving on multiplying the two vector >>>> components by the scalar separately. >>>> >>>> Naturally, I have a classic y = f((x^2)/4) table for the limited range >>>> multiplications (related to the maximum size an individual object may >>>> be). >>>> >>>> I assume your point about not accumulating transformations in matrices >>>> effectively means that you agree that quaternions are useful beyond >>>> interpolation and animation (which I'm interpreting quite narrowly to >>>> be the traditional skeletal type, not broadly to be any old moving >>>> image). >>>> >>>> Anyway, hopefully I'll be able to get myself in gear for a source >>>> release at some point in the near future, then you can rip it apart. >>>> It's all geared up to be trivial for other (assembler) coders to use >>>> to produce their own programs, handling triple buffering and frame >>>> rate compensation with very limited need for work on the part of the >>>> programmer (which neatly means that all my code scales really well >>>> from a normal Sam to a Mayhem or otherwise accelerated machine), etc. >>>> I tidied most of it up for a release quite a while ago but decided to >>>> switch to Jam rather than sticking on pyz80 because a lot of stuff >>>> would be substantially more compact and more readable with proper >>>> macro support. I also would much rather that the demo was seen first >>>> on Sam Revival rather than on the internet, both as a pathetic attempt >>>> to support the publication and because it looks much better on a real >>>> television. Never found time to convert it though, so it'll be a pyz80 >>>> release. >>>> >>>> Actually, the demo on the previous Sam Revival was explicitly flagged >>>> as PD, so I'll upload a DSK of that demo somewhere once the next >>>> edition is out. I think I mentioned every Sam program I've written in >>>> the SR article; you can see most of them very briefly in >>>> http://www.youtube.com/watch?v=kr_Lz98qVjE&feature=channel_page >>>> >>>> On Wed, Aug 5, 2009 at 10:16 PM, Simon Cooke<[email protected]> wrote: >>>>> Hmmm... what form are you using your Eulers in? If it's radians, it's not >>>>> too bad - just a quick sin/cos table lookup. And you only need to do it >>>> once >>>>> per object if it's a simple rigid body. >>>>> >>>>> The trick with making matrices numerically stable is that you don't ever >>>>> want to do a stepwise transform on an object - you regenerate the matrix >>>>> from scratch each time. (This is one of those things you never really see >>>> in >>>>> practice; most engines split out the rotational transforms and keep them >>>>> separate, using either an axis-angle representation, quaternions, or in >>>> some >>>>> bad cases, euler angles [this is what Unreal uses btw]. That way, you keep >>>>> fidelity - or at the very least, you don't care too much about >>>> inaccuracies >>>>> as they come in - you can just ignore them if your object is rotated a >>>>> little off; it's not a culumlative error). >>>>> >>>>> Assuming no scaling or shear, just rotation and translation, your >>>>> translation is the rightmost column of numbers in the matrix. If all of >>>> your >>>>> objects are pre-scaled in memory to the right size, all you have to do is >>>>> apply the rotation and translation in order to each of the points. >>>>> Screen-space projection is a little more difficult, but that one you can >>>>> precalc all the divides in. >>>>> >>>>> On machines without SIMD or dedicated 3D instructions (such as the SAM), >>>>> it's nearly always best to break out the matrix into individual linear >>>>> equations, take the common pieces and only calculate them once, and then >>>>> operate on them that way. >>>>> >>>>> -- >>>>> Simon Cooke >>>>> Director of Engineering / Business Developer, X-RAY KID STUDIOS - >>>>> www.x-raykid.com >>>>> Founder, Popcorn Films - www.popcornfilms.com >>>>> Cell: 206 250 7892 XBOX Live GamerTag: Spec Tec >>>>> >>>>> -----Original Message----- >>>>> From: [email protected] [mailto:[email protected]] On >>>>> Behalf Of Thomas Harte >>>>> Sent: Wednesday, August 05, 2009 5:14 AM >>>>> To: [email protected] >>>>> Subject: Re: Hi - just checking >>>>> >>>>> That's not entirely true. Matrices are numerically unstable, so the >>>>> cost of ensuring they remain orthonormal when applying consecutive >>>>> local transforms in a game such as Elite is substantially greater than >>>>> the cost of ensuring that a quaternion remains of unit length. >>>>> >>>>> I make it 8 multiplies, 3 adds, 1 square root and 1 divide to fix up >>>>> numerical error in a quaternion. Conversely, I get 36 multiplies, 21 >>>>> adds, 3 square roots and 3 divides to fix up an orthonormal matrix. >>>>> >>>>> Quaternion to matrix is 10 multiplies, 6 shifts and 14 adds. So the >>>>> way I calculate it, you can fix a quaternion and convert it into a >>>>> matrix in less than you can fix up a matrix. Furthermore, quaternion >>>>> composition is 16 multiplies and 12 adds, whereas matrix composition >>>>> (with assumptions about the bottom row of a 4x4) is, ummm, at least 36 >>>>> multiplies and 18 adds. And that's with the translation component not >>>>> completely factored in (I'm reading actual code off screen and have >>>>> optimised the translation out of this particular batch). >>>>> >>>>> Elite is also a perfect example of when Euler's aren't fine, even if >>>>> they didn't produce Gimbal lock, as all rotation is around local axes
