| |
Nightlord Account closed
Registered: Jan 2003 Posts: 131 |
Release id #112378 : Coma Light 13
now that we all had watched this many times, I wanted to ask if the authors can give a bit more info on the technical side of things. The demo has a really entertaining notefile but coders want more detail, so that we know what exactly we need to beat :)
For instance is the shadow casting vector realtime, or the dualpyramid with the 4 circles attached to its vertices. is that realtime?
Thanks again for a great demo.
|
|
... 24 posts hidden. Click here to view all posts.... |
| |
Oswald
Registered: Apr 2002 Posts: 5095 |
it is possible to dither correctly 200 lines aswell. just split the Z gfx mapping tables into dither style A (*x*x*) and B (x*x*) and read from A on odd lines from B on even lines. split up GFX similarly, gfx type A is all *x*x and vica versa. |
| |
Bitbreaker
Registered: Oct 2002 Posts: 508 |
Well, should work, but a quite some obstacles connected to that, compared to:
lda $dd00
eor #$02
sta $dd00
per frame :-)
That way you might need to update per line: $d018, $d011, $dd00, $d021, $d022, maybe a bit tight with having badlines only :-)
I'd be very happy to see lots of effects in a better quality, either in hires/ecm or at least properly dithered and maybe even interlaced. So don't hesitate to come up with a hires 200 line version :-) |
| |
Oswald
Registered: Apr 2002 Posts: 5095 |
in soiled legacy I've managed to update all those ;), tho cheating like hell, d021/22 is updated on odd/even lines, and there's an lda dd00 in the raster speedcode for each line which is modded to sta dd00 when the checkers needs to be inverted (hint: lowest bit in d018 is unused, the value for d018 can be reused :) needed special drive code so it will not try to interpret all the crazy dd00 writes as input. |
| |
Peiselulli
Registered: Oct 2006 Posts: 81 |
use krill loader and let the upper 6 bits of $dd00 to zero, that works perfect. "SAX" instead of "STA" with X register set to $03 helps a lot here ...
|
| |
Bitbreaker
Registered: Oct 2002 Posts: 508 |
Yeah, a nice feature is that unsued bit, used that trick it in my hires twister in Ächzzeit as well :-) If you want to avoid loader trouble, SAX is your friend, if you can afford wasting one register for that purpose only, that is.
Edit: Urks, Peiselulli was faster :-P |
| |
Oswald
Registered: Apr 2002 Posts: 5095 |
that SAX trick could have been used nice one. btw looked at that code, its even more crazy than I remembered. the raster speedcode has to be all selfmodded, no time to load from tables each lda is lda #$00, also there's only time on each 2nd line to write to dd00 :) |
| |
Skate
Registered: Jul 2003 Posts: 495 |
well, it would be much nicer to have an official tech notes instead of guessing how those effects are done, right? :) |
| |
Bitbreaker
Registered: Oct 2002 Posts: 508 |
Skate: No tech note so far, but this might give some more hints regarding the chessboard. It also explains other effects that base on the same principle.
http://www.codebase64.org/doku.php?id=base:twisters_x-rotators_..
@all: Now don't say it is cheap, now as it is clear how things are done :-)
Also the monitors built into our carts are a very legitimate mean to understand what's happening on the screen :-) Don't be a pussy, that is all that we had back these days when we wanted to understand what others did, isn't it? :-) |
| |
PopMilo
Registered: Mar 2004 Posts: 146 |
Quote: Skate: No tech note so far, but this might give some more hints regarding the chessboard. It also explains other effects that base on the same principle.
http://www.codebase64.org/doku.php?id=base:twisters_x-rotators_..
@all: Now don't say it is cheap, now as it is clear how things are done :-)
Also the monitors built into our carts are a very legitimate mean to understand what's happening on the screen :-) Don't be a pussy, that is all that we had back these days when we wanted to understand what others did, isn't it? :-)
Wow! That is one nice piece of code!
Thanks !!!
|
| |
Krill
Registered: Apr 2002 Posts: 2982 |
Just needed to do some forensics, and found that the loader version/configuration string was nulled.
Really, if you need to go into these depths of "optimisation", you're doing it wrong and your cruncher sucks. =) |
Previous - 1 | 2 | 3 | 4 - Next |