From: Peter van Merkerk on
Simon Scott wrote:
> Geoff Wearmouth wrote:
>
>
>>In another large thread
>>Simon Scott wrote:
>> > Tell you what, you write a demo moving 24 sprites around the
>> > screen smoothly on speccy (in a sinus or something), and Ill
>> > do the same on the c64, and we'll compare used/remaining CPU
>> > and see if you can back this up with action.
>>
>>Gasman wrote
>> >OK. First pass, I've managed... 23. :-( With no masking whatsoever
>> >yet, and a terminal case of blanking-at-the-wrong-time (thought
>> >I'd be able to avoid Y-sorting them, turns out I can't).
>>
>> >http://www.west.co.tt/matt/speccy/sprites/sprites_mk1.tar.gz
>
>
> Why do I only see 8 (under fuse)?
>
> I hit pause and the most sprites Ive seen is 8.

I have seen somewhere between 7 and 9 sprites here with the spectrum
emulator Geoff posted (http://www.wearmouth.demon.co.uk/zz/gasman.htm)




From: Jason on
Simon Scott wrote:
> Oh damn, that means I have to write a multiplexor now :)

No you don't, i mentioned it in the other thread already but i already did
it during a previous flamewar and released it in a demo;

http://cosine.org.uk/products.php?prod=spectral&4mat=c64

That's 32 hi-res sprites over a converted Spectrum picture, with a converted
Spectrum tune playing too... It's pre-sorted for speed, but i seem to
remember there being about 70-80% of the raster time free so i could've
sorted realtime as well - i'm just lazy like that. =-)
--
______________________________ _________________________________
/ /\/ ___/ / ___/ / / ___/\
/ Website: www.cosine.org.uk / / /\_/ / /__ / / / / __/\\/
/ ICQ: 44373717 IRC: TMR{C0S} / / /__/ / / / / / / / / /\
/_____________________________/ /_____/_____/_____/__/__/__/_____/ /
\_____________________________\/\_____\_____\_____\__\__\__\_____\/TMR
From: Matthew Westcott on
White Flame (aka David Holz) wrote:
> "Geoff Wearmouth" <geoff(a)wearmouth.demon.co.uk> wrote in message
> news:C8xhtIDGlZyDFwUq(a)wearmouth.demon.co.uk...
>
>>http://www.wearmouth.demon.co.uk/zz/gasman.htm
>
> I'm just curious if this uses preshifted sprites, if that's common on the
> Spectrum or if that's normally considered to take too much RAM. If
> non-preshifted is more usable in games due to the RAM footprint, it should
> probably do that.

Yep, preshifted sprites a-go-go. I'm treating this as a demoscene-ish
challenge - try to find out what the absolute limit is, and screw
practicality. (I don't think it's reached the stage of complete
practical uselessness yet, though)

I have no idea what the most common approach is in games, but based on
this experiment, if I were writing a game what I'd do is store the
images initially unshifted, then preshift them in a scratchpad area just
before they're needed. A fully preshifted sprite at this size would take
384 bytes, or 768 with a mask, and I doubt that many games require more
than 4-5 *different* sprites on screen at once (especially if
20something turns out to be the hard limit), so 4K isn't such a bad
sacrifice to make.

> Also, I presume it's doing full-screen blanking instead
> of doing dirty rectangles? That's got to offer a speedup to switch over to
> rects.

It is doing dirty rectangles - a full-screen blank would take over 33000
cycles out of the ~70000 we have in a frame, not counting the delays the
ULA would throw in.

What I've actually ended up doing is fudging the routine so that it
doesn't use the stack at all for conventional storage, and PUSHing the
screen addresses as we write to them, POPping them back when they have
to be cleared.

> But I'm a bit disappointed that it's only doing 256 pixels per sprite
> (16x16) whereas the C64 does 504 (24x21). That's only half the pixels.

Well, yes, if we were intent on putting the Spectrum at the greatest
possible disadvantage in the comparison then 24x21 would do the job.
Somehow I think the C64 would be put at an even greater disadvantage if
we'd chosen 25x22 instead :-)
From: Matthew Westcott on
Simon Scott wrote:

> Why do I only see 8 (under fuse)?
>
> I hit pause and the most sprites Ive seen is 8.

That'll be the terminal case of blanking-at-the-wrong-time. In FUSE you
can briefly see all 23 if you reset, but that's about the only way I can
find of showing it.

> Is that using all the CPU? Why 23 and not 24?

Yep, 23 is as many as I've been able to fit into one frame. I can get 24
if I set my emulator to Pentagon (a Russian clone with a marginally
faster CPU and no slowdown from the ULA when writing to screen memory),
if that counts for anything... no, thought not :-)

> Lastly, my PC is kinda slow and the demo looks a bit glitchy and not 50Hz.

If you get a steady red border and sprites disappearing at various
points, it's 50Hz - if the border and sprites flicker, it's run into the
end of the frame.

From: Simon Scott on
Peter van Merkerk wrote:


>> I hit pause and the most sprites Ive seen is 8.
>
> I have seen somewhere between 7 and 9 sprites here with the spectrum
> emulator Geoff posted (http://www.wearmouth.demon.co.uk/zz/gasman.htm)

OK.... so 23?

Or is that the screen blanking glitch he mentioned?

Still, its impressive for him to produce something so quickly - kudos!



First  |  Prev  |  Next  |  Last
Pages: 1 2 3 4 5 6 7 8 9 10 11 12
Prev: MPS 1270A compatibility
Next: plus/4 GEOS questions