Subject: Re: Aw: [stella] My playfield fiddlings... From: Jake Patterson <jpatters@xxxxxxxxxxx> Date: Wed, 5 Sep 2001 14:52:36 -0400 (EDT) |
On Wed, 5 Sep 2001 cybergoth@xxxxxxxx wrote: > Hi Jake! > > > Just got done with a silly little demo kind of thing, it draws a somewhat > > detailed asymetrical multicolored illustration with playfield graphics, > > and then some text. > > Cool. How many different colors per line are doable like this and > what spacings are possible between two colors? > > Maybe the 'Stella At the Movies' thing would work with > colored PF1 & PF2 graphics? > Well, in my demo, until the "ELEKTRO VISION" text gets drawn, there isn't enough time to load the different colors and playfield bitmaps from a table, instead, each set of six scanlines (there is also one set of twelve and one set of 24) has its own loop and the data is loaded "immediately" so it only takes five cycles to do a load and store instead of seven. I also kept $00 for black in the A register since that color gets switched to four times per scanline. It all ads up to about 1000 lines of code for that one frame. It is possible that there is some way of setting it up that I missed, that would allow all of the data to be loaded from tables and therefore to be changed each frame, but I don't see any way to do that unfortunately. If there is something I have missed I would love to here about it! As it stands, I don't see myself using this "splash screen" in an actual game, since it is probably more then 2k or so by itself. Maybe after a couple of years I will have a vast library of games that I have written, and I could use it as the first slot in a multicart containing all of them. The "ELEKTRO VISION" text could scroll away and then it could say "PRESENTS" and then "THE ELEKTRO COLLECTION" (in more tightly constructed text) and then that could turn into the menu screen. I sure hope the name "Elektro Vision" is not taken! As far as number of color changes goes, the most tightly timed part of it is the six scanlines starting with the dark brown "handle" on the side of that Commodore 1702 monitor. That dark brown "hair" color gets used three times per scanline there, but it could be three different colors easily. Here is the code for that: Loop0004 LDY #hair ; [5] + 2 STA COLUBK ; [7] + 3 A is already #black STY COLUPF ; [10] + 3 LDY #%00001111 ; [13] + 2 STY PF1 ; [15] + 3 PF0 is already %11000000 LDY #sideenclosure ; [17] + 2 NOP ; [19] + 2 NOP ; [21] + 2 STY COLUBK ; [23] + 3 LDY #screen ; [26] + 2 this is the light blue color STY COLUPF ; [28] + 3 LDY #%11100111 ; [31] + 2 STY PF2 ; [33] + 3 LDY #hair ; [36] + 2 we could just load this with a STY COLUBK ; [38] + 3 different color if we wanted STA COLUPF ; [41] + 3 A is already #black STA COLUBK ; [44] + 3 LDY #%11111000 ; [47] + 2 STY PF1 ; [49] + 3 LDY #flesh ; [52] + 2 STY COLUBK ; [54] + 3 LDY #%00011100 ; [57] + 2 STY PF2 ; [59] + 3 LDY #hair ; [62] + 2 again, this could be any STY COLUPF ; [64] + 3 arbitrary color STA COLUBK ; [67] + 3 LDY #12 ; [70] + 2 counter for next set of lines STA WSYNC ; [72] DEX ; [0] + 2 X was set to 6 at the end of the BNE Loop0004 ; [2] + 3 previous loop Since the free time to set a counter happened at the end of each loop, the rolls of the X and Y registers alternate for each loop and the next. I tried putting the counter setting and the STA WSYNC at the beginning of each loop, but I couldn't get the timing to work out like that every time. I wanted the basic flow of every loop to be the same. Another notable thing about this snippet of code is that I am counting on PF0 to still be %11000000 from the prevous loop, since it never gets reset to something different in the middle of the screen until the section at the bottom of the illustration above the text. So to more directly answer your question, it can do nine carefully timed color changes per scanline, with up to seven different colors... but at the cost of it being static in nature. As far as spacing goes, it is a little tricky, in the loop above I had to add the #flesh color "ear" because I couldn't change COLUPF to the #hair color quite fast enough at the end. I think it looks better that way anyway. -- , ,@[ ,@@@[ ,@@@@'@@@@' `@@@@@@@@@@@@@@@@',@@@' ,@@@@',@@@' `@@@@@@@@@@@@',@@@',aa. ,aa. ,@@[ ]@@',@@@' ,aa.'aaaaaaa, aa' `@@@@@@@@',@@@|@@@@@@@' ,@@@@@@' ]@@[ ]',@@@',@@@@@@@''@@@@',@' `@@@@',@@@']@7`,@@',@[]@@@@@',@@[]@@[ ]@@[ ]@7`,@@',@[ '@@@' `@a@@@' ]@,@@',@@@[]@@@' ,@@@[]@@[ ]@@[ ]@,@@',@@@[ ,@@@, `@' `@@@@@@@' `@@@@@@@' ]@@[ ]@@[ `@@@@@@@',@@@',@@, `~' `~' `~~' `~~' `~' '~~' ~~~~~' .....................................GCE Vectrex - Entertaining New Ideas - Archives (includes files) at http://www.biglist.com/lists/stella/archives/ Unsub & more at http://www.biglist.com/lists/stella/
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Aw: [stella] My playfield fiddlings, cybergoth | Thread | [stella] The Sound Machine V1.0, Manuel Polik |
Re: [stella] OT: ATASCII, B. Watson | Date | Re: [stella] The Sound Machine V1.0, nj bloodline |
Month |