Subject: RE: [stella] Playfield Basics (newbie question) From: KirkIsrael@xxxxxxxxxxxxx Date: 6 Nov 2002 03:39:07 -0000 |
http://alienbill.com/vgames/playerpal/ are some javascript tools I wrote that help get the math right if you want to do more complicated backgrounds or players...kind of a simple drawing program > Thank you Dennis and Andrew for your help! > After the corrections the code runs just fine. > > > Thanks! > > > 11/3/02 9:51:51 PM, "Dennis Debro" <ddebro@xxxxxxxxxxxxx> wrote: > > >Hi Rico! Welcome aboard. > > > >> I am learning how to draw a playfield. I have read Nick's famous > >> playfield example and tried different variations that have > >> been posted on the list. I have written a small program > >> which only purpose is to draw a rectangle repeatedly > >> from the top to the bottom of the screen (without worrying about the > >> reflected portion of the screen). I initialized the playflied > >> registers to draw something like this: > >> > >> * * * * * * * * * * * * * * * * > >> * * > >> * * > >> * * > >> * * > >> * * > >> * * > >> * * * * * * * * * * * * * * * * > > > >Actually your rectangle is more like > > * * * * * * * * * * * * * * * * * * * * > > * * * > > * * * > > * * * > > * * * > > * * * > > * * * > > * * * * * * * * * * * * * * * * * * * * > > > >Change your $A0 to $80 for PFData2 to get the rectangle you're expecting > > > >See my comments below > > > >> ; Learning atari playfields > >> ; > >> ; Objective: Draw a rectangle many times > >> ; using the playfield registers. > >> ; > >> > >> processor 6502 > >> include eckvcs.h > >> org $F000 > >> > >> START > >> SEI > >> CLD > >> LDX #$FF > >> TXS > >> LDA #0 > >> > >> CLEARMEM > >> STA 0,X > >> DEX > >> BNE CLEARMEM > >> LDA #$00 ; SET BACKGROUND BLACK > >> STA COLUBK > >> LDA #$1E ; SET PLAYFIELD YELLOW > >> STA COLUPF > >> > >> MAINLOOP > >> LDA #2 ; TURN ON VSYNC > >> STA VSYNC > >> STA WSYNC > >> STA WSYNC > >> STA WSYNC > >> > >> LDA #43 > >> STA TIM64T > >> LDA #0 ; TURN OFF VSYNC > >> STA VSYNC > >> > >> VBLANKTIME > >> LDA INTIM > >> BNE VBLANKTIME > > > > STA WSYNC ; end the current scan line > > STA VBLANK ; end VBLANK period > >> > >> LDX #7 ; Use X register to count > >> ; eight playfield lines > >> ; to draw. > >> LDY #191 > >> > >> SCANLOOP > >> STA WSYNC ; Accumulator is still 0 > >; STA VBLANK ; remove the VBLANK from your drawing loop > >> > >> LDA PFData0,X > >> STA PF0 > >> LDA PFData1,X > >> STA PF1 > >> LDA PFData2,X > >> STA PF2 > >> > >> DEX ; Decrement X. > >> BNE SKIPINITX ; If X != 0 then skip next line > >> LDX #7 ; Repeat playfield drawing > >> ; by setting X to decimal 7. > >> > >> SKIPINITX > >> > >> DEY > >> BNE SCANLOOP > >> > >> LDX #30 > > STX WSYNC ; end current scan line > > STX VBLANK ; Make TIA output invisible (bit 1 is set to 1) > > STY PF0 ; clear the playfield registers > > STY PF1 > > STY PF2 > >> > >> OVERSCAN > >> STA WSYNC > >> DEX > >> BNE OVERSCAN > >> > >> JMP MAINLOOP > >> > >> org $FF00 ; GRAPHICS DATA STARTS HERE > >> > >> ; Playfield graphic is supposed to look like this: > >> ; > >> ; * * * * * * * * * * * * * * * * > >> ; * * > >> ; * * > >> ; * * > >> ; * * > >> ; * * > >> ; * * > >> ; * * * * * * * * * * * * * * * * > >> ; > >> > >> PFData0 > >> .byte $F0,$10,$10,$10,$10,$10,$10,$F0 > >> > >> PFData1 > >> .byte $FF,$00,$00,$00,$00,$00,$00,$FF > >> > >> PFData2 > >> .byte $FF,$A0,$A0,$A0,$A0,$A0,$A0,$FF > >> > >> > >> ORG $FFFC > >> .WORD START > >> .WORD START > > > > > > > >---------------------------------------------------------------------------------------------- > >Archives (includes files) at http://www.biglist.com/lists/stella/archives/ > >Unsub & more at http://www.biglist.com/lists/stella/ > > > > > > > > > > ---------------------------------------------------------------------------------------------- > Archives (includes files) at http://www.biglist.com/lists/stella/archives/ > Unsub & more at http://www.biglist.com/lists/stella/ -- KirkIsrael@xxxxxxxxxxxxx http://kisrael.com [Stegosaurus] Two words: spiked tail. "Oh, so you're sneaking up behind me to eat my delicious body? WHAM! Spikes! For you! In your head!" --Brunching Shuttlecocks, http://www.brunching.com ---------------------------------------------------------------------------------------------- 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 -> |
---|---|---|
RE: [stella] Playfield Basics (newb, Rico Dones | Thread | Re: [stella] Playfield Basics (newb, Andrew Davie |
RE: [stella] Playfield Basics (newb, Rico Dones | Date | Re: [stella] [POLL]What is everybod, Paul Slocum |
Month |