RE: [stella] Playfield Basics (newbie question)

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