Subject: [stella] 6-digit score WITH background colour change (!!) From: "Andrew Davie" <adavie@xxxxxxxxxxxxx> Date: Tue, 13 Feb 2001 17:06:46 +1100 |
This isn't actually all that tricky, but here's an example using the free cycles in the 6-digit double-height score routine to change the background colour. Excuse the formatting, it's just a testbed. Looks OK; might use it for Qb. Cheers A -- _ _ _| _ _ _| _ * _ _ , (_|| )(_|( (/_\/\/ (_|(_|\/(_(/_ ,~' L_|\ ,-' \ see my Museum of Soviet Calculators at ( \ http://www.taswegian.com/MOSCOW/soviet.html \ __ / L,~' "\__/ @--> v ----- Original Message ----- From: "Erik Mooney" <emooney@xxxxxxxxxxxxxxxx> To: <stella@xxxxxxxxxxx> Sent: Tuesday, February 13, 2001 4:37 AM Subject: Re: [stella] pseudoplayers > > >You'll want to store the offsets as the change from the previous line, > > >rather than an absolute value. That way, on each scanline, you can just > > >read the byte and dump it into HMM0 or HMM1. (You'll also store the > > >offset in the upper 4 bits of the byte in this case.) That does also keep > > >the ability to skew the object to be more than 8 pixels wide, like you > > >have there. > > > > Can the bytes really go directly into HMM0 and HMM1, though? You are > > talking about using the offsets synonymously to the "fine" control on the > > movement? > > > > Because there are only 16 coarse positions, and +/-8 on the fine control, > > at any decimal representation of the missile position it's possible that > > the offset will require changing the coarse position value, not just the > > fine control. > > The bytes can go directly into HMM0 and HMM1. The fine control gives an > object a +/- from its previous location. It's not an absolute from the > coarse position -- it's a modification of whatever position the object > currently has. > > (I think; it's been too long since I did any actual 2600 programming. > Someone will correct me if I'm wrong, I'm sure :) ) > > And there's more than 16 coarse positions; in fact, there's a coarse > position every 3 pixels (one cycle.) It's just that the standard > positioning loop takes 5 cycles (15 pixels) per loop, which makes it look > like RESxx can only position an object every 15 pixels, and that's how > it's usually used. > > > I was looking at the offsets simply as a way to describe the shape, and I'd > > have to calculate the fine/coarse line by line or precalculate that frame > > by frame and store the results into an additional table in RAM. > > You don't have to do a new positioning loop/RESMx every line, which is > good because you can't :) (It is possible to write some amazingly tricky > code to position two objects on the same line, but you couldn't possibly > do a playfield as well.) > > > >You wouldn't have to, if your code in the kernel can take the negative of > > >an upper nibble quickly enough. I think doing XOR #$F0 / CLC / ADC #$10 > > >will work, and you may be able to skip the CLC if some code immediately > > >previous (usually a compare) leaves the carry in a known state. > > > > I'm still optimistic that this game is the kind of thing that could > > probably fit in 2K in a pinch, so that I should have some room to store > > this kind of thing rather than calculating it on the fly. > > > > RAM, however, is going to be tight, though. I've already done some > > estimating. > > Adjusting to limited RAM on the 2600 is one of the hardest problems for > programmers who are used to making big arrays and data structures to hold > stuff, since that's how they were taught, either from books or classes. > > Also, there really is no reason to try and keep any images to 2k other > than the challenge of it, and I think the rest of the VCS is challenging > enough already. The space for internet transmission of a 4k image (even > its source code) is immaterial; 4k carts are just as cheap as 2k; and it > takes maybe 3 extra seconds to load onto a Supercharger for playing or > testing. > > > - > Archives (includes files) at http://www.biglist.com/lists/stella/archives/ > Unsub & more at http://www.biglist.com/lists/stella/ >
Attachment:
test.asm
Description: Binary data
Attachment:
test.bin
Description: Binary data
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [stella] pseudoplayers, Erik Mooney | Thread | Re: [stella] Jumpman gets a go!, Rob |
Re: [stella] pseudoplayers, Erik Mooney | Date | Re: [stella] double-height 6-digit , bwmott |
Month |