|
Subject: Re: [stella] Brainstorming: 3D-Corridor From: Christopher Tumber <christophertumber@xxxxxxxxxx> Date: Thu, 27 Mar 2003 16:07:16 -0500 |
I wrote: >My suggestion would be: After messing around with this for a while I came to the conclusion that if using sprites to do this, the pros don't really outweigh the cons (Pros: You could move the "tunnel" left and right smoothly, Cons: You've used up all the sprites and are limited to playfield graphics) unless you're really prepared to use PF graphics for enemies &etc. But, I do think that preloading X, Y and A and shoving them directly into COLUPF is a good idea, and that's what the attached file does along with some colour cycling to give an effect. You'd be able to scroll the tunnel up and down easily but left and right would take a little more work. You're going to be limited to 1 cycle increments so it won't be quite smooth (As smooth as Instigator's movement in Space Instigators, though!) and it'll be a bit of a pain introducing that delay. There's currently only 14 cycles available per scanline so you might want to narrow the tunnel by 1 or 2 bands to give yourself more time and you can probably recover some cycles by cleaning things up - It's a bit of a kludge right now. Anyway.... Chris...
processor 6502
include vcs.h
SEG.U variables
org $80
SEG Bank0
org $F000
Start:
SEI ; Disable interrupts, if there are any.
CLD ; Clear BCD math bit.
LDX #$FF
TXS ; Set stack to beginning.
LDA #0
B1 STA 0,X
DEX
BNE B1
lda #1
sta CTRLPF
lda #$88
sta $81
lda #$8a
sta $82
lda #$8c
sta $83
lda #10
sta $84
MainLoop
VerticalBlank ;*********************** VERTICAL BLANK HANDLER
LDA #2
STA VSYNC ;Begin vertical sync.
STA WSYNC ; First line of VSYNC
STA WSYNC ; Second line of VSYNC.
LDA #43
STA TIM64T
LDA #0
STA CXCLR
STA WSYNC ; Third line of VSYNC.
STA VSYNC ; (0)
lda #0
sta COLUPF
lda #0
sta PF0
lda #255
sta PF1
sta PF2
dec $84
bpl noresettimer
lda #10
sta $84
lda $81
ldx $82
ldy $83
sta $82
stx $83
sty $81
noresettimer:
ldx $81 ;3
ldy $83 ;3
DrawScreen ;**************************** SCREEN DRAWING ROUTINES
LDA INTIM
BNE DrawScreen
STA WSYNC
STA VBLANK
lda #15
sta $80
sta WSYNC
next1:
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
lda $82 ;3
sta COLUPF ;3
sta COLUPF ;3
sta COLUPF ;3
sta COLUPF ;3
sta COLUPF ;3
sta COLUPF ;3
sta COLUPF ;3
sta COLUPF ;3
sta COLUPF ;3
sta COLUPF ;3
sta COLUPF ;3
sta COLUPF ;3
sta COLUPF ;3
sta COLUPF ;3
dec.w $80
bne next1
lda #15
sta.w $80
jmp next2a
org $f100
; sta WSYNC
next2:
nop
nop
nop
nop
next2a:
nop
nop
nop
nop
nop
nop
nop
lda $82 ;3
sta COLUPF ;3
stx COLUPF ;3
stx COLUPF ;3
stx COLUPF ;3
stx COLUPF ;3
stx COLUPF ;3
stx COLUPF ;3
stx COLUPF ;3
stx COLUPF ;3
stx COLUPF ;3
stx COLUPF ;3
stx COLUPF ;3
stx COLUPF ;3
sta COLUPF ;3
dec.w $80
bne next2
lda #15
sta.w $80
jmp next3a
; sta WSYNC
next3:
nop
nop
nop
nop
next3a:
nop
nop
nop
nop
nop
nop
nop
lda $82 ;3
sta COLUPF ;3
stx COLUPF ;3
sty COLUPF ;3
sty COLUPF ;3
sty COLUPF ;3
sty COLUPF ;3
sty COLUPF ;3
sty COLUPF ;3
sty COLUPF ;3
sty COLUPF ;3
sty COLUPF ;3
sty COLUPF ;3
stx COLUPF ;3
sta COLUPF ;3
dec.w $80
bne next3
lda #15
sta.w $80
jmp next4a
; sta WSYNC
next4:
nop
nop
nop
nop
next4a:
nop
nop
nop
nop
nop
nop
nop
lda $82 ;3
sta COLUPF ;3
stx COLUPF ;3
sty COLUPF ;3
sta COLUPF ;3
sta COLUPF ;3
sta COLUPF ;3
sta COLUPF ;3
sta COLUPF ;3
sta COLUPF ;3
sta COLUPF ;3
sta COLUPF ;3
sty COLUPF ;3
stx COLUPF ;3
sta COLUPF ;3
dec.w $80
bne next4
lda #15
sta.w $80
jmp next5a
; sta WSYNC
next5:
nop
nop
nop
nop
next5a:
nop
nop
nop
nop
nop
nop
nop
lda $82 ;3
sta COLUPF ;3
stx COLUPF ;3
sty COLUPF ;3
sta COLUPF ;3
stx COLUPF ;3
stx COLUPF ;3
stx COLUPF ;3
stx COLUPF ;3
stx COLUPF ;3
stx COLUPF ;3
sta COLUPF ;3
sty COLUPF ;3
stx COLUPF ;3
sta COLUPF ;3
dec.w $80
bne next5
lda #15
sta.w $80
jmp next6a
org $f200
; sta WSYNC
next6:
nop
nop
nop
nop
next6a:
nop
nop
nop
nop
nop
nop
nop
lda $82 ;3
sta COLUPF ;3
stx COLUPF ;3
sty COLUPF ;3
sta COLUPF ;3
stx COLUPF ;3
sty COLUPF ;3
sty COLUPF ;3
sty COLUPF ;3
sty COLUPF ;3
stx COLUPF ;3
sta COLUPF ;3
sty COLUPF ;3
stx COLUPF ;3
sta COLUPF ;3
dec.w $80
bne next6
lda #18
sta.w $80
jmp next7a
; sta WSYNC
next7:
nop
nop
nop
nop
next7a:
nop
nop
nop
nop
nop
nop
nop
lda $82 ;3
sta COLUPF ;3
stx COLUPF ;3
sty COLUPF ;3
sta COLUPF ;3
stx COLUPF ;3
sty COLUPF ;3
sta COLUPF ;3
sta COLUPF ;3
sty COLUPF ;3
stx COLUPF ;3
sta COLUPF ;3
sty COLUPF ;3
stx COLUPF ;3
sta COLUPF ;3
dec.w $80
bne next7
lda #15
sta.w $80
jmp next6ab
; sta WSYNC
next6b:
nop
nop
nop
nop
next6ab:
nop
nop
nop
nop
nop
nop
nop
lda $82 ;3
sta COLUPF ;3
stx COLUPF ;3
sty COLUPF ;3
sta COLUPF ;3
stx COLUPF ;3
sty COLUPF ;3
sty COLUPF ;3
sty COLUPF ;3
sty COLUPF ;3
stx COLUPF ;3
sta COLUPF ;3
sty COLUPF ;3
stx COLUPF ;3
sta COLUPF ;3
dec.w $80
bne next6b
lda #15
sta.w $80
jmp next5ab
org $f300
; sta WSYNC
next5b:
nop
nop
nop
nop
next5ab:
nop
nop
nop
nop
nop
nop
nop
lda $82 ;3
sta COLUPF ;3
stx COLUPF ;3
sty COLUPF ;3
sta COLUPF ;3
stx COLUPF ;3
stx COLUPF ;3
stx COLUPF ;3
stx COLUPF ;3
stx COLUPF ;3
stx COLUPF ;3
sta COLUPF ;3
sty COLUPF ;3
stx COLUPF ;3
sta COLUPF ;3
dec.w $80
bne next5b
lda #15
sta.w $80
jmp next4ab
; sta WSYNC
next4b:
nop
nop
nop
nop
next4ab:
nop
nop
nop
nop
nop
nop
nop
lda $82 ;3
sta COLUPF ;3
stx COLUPF ;3
sty COLUPF ;3
sta COLUPF ;3
sta COLUPF ;3
sta COLUPF ;3
sta COLUPF ;3
sta COLUPF ;3
sta COLUPF ;3
sta COLUPF ;3
sta COLUPF ;3
sty COLUPF ;3
stx COLUPF ;3
sta COLUPF ;3
dec.w $80
bne next4b
lda #15
sta.w $80
jmp next3ab
; sta WSYNC
next3b:
nop
nop
nop
nop
next3ab:
nop
nop
nop
nop
nop
nop
nop
lda $82 ;3
sta COLUPF ;3
stx COLUPF ;3
sty COLUPF ;3
sty COLUPF ;3
sty COLUPF ;3
sty COLUPF ;3
sty COLUPF ;3
sty COLUPF ;3
sty COLUPF ;3
sty COLUPF ;3
sty COLUPF ;3
sty COLUPF ;3
stx COLUPF ;3
sta COLUPF ;3
dec.w $80
bne next3b
lda #15
sta.w $80
jmp next2ab
; sta WSYNC
next2b:
nop
nop
nop
nop
next2ab:
nop
nop
nop
nop
nop
nop
nop
lda $82 ;3
sta COLUPF ;3
stx COLUPF ;3
stx COLUPF ;3
stx COLUPF ;3
stx COLUPF ;3
stx COLUPF ;3
stx COLUPF ;3
stx COLUPF ;3
stx COLUPF ;3
stx COLUPF ;3
stx COLUPF ;3
stx COLUPF ;3
stx COLUPF ;3
sta COLUPF ;3
dec.w $80
bne next2b
lda #15
sta.w $80
jmp next1ab
; sta WSYNC
next1b:
nop
nop
nop
nop
next1ab:
nop
nop
nop
nop
nop
nop
nop
lda $82 ;3
sta COLUPF ;3
sta COLUPF ;3
sta COLUPF ;3
sta COLUPF ;3
sta COLUPF ;3
sta COLUPF ;3
sta COLUPF ;3
sta COLUPF ;3
sta COLUPF ;3
sta COLUPF ;3
sta COLUPF ;3
sta COLUPF ;3
sta COLUPF ;3
sta COLUPF ;3
dec.w $80
bne next1b
lda #0
sta COLUP0
sta COLUP1
sta COLUPF
STA VBLANK ; Make TIA output invisible,
lda #30
sta TIM64T
OverscanWait:
lda INTIM
bne OverscanWait
JMP MainLoop ;Continue forever.
org $FFFC
.word Start
.word Start
Attachment:
TUNNEL.BIN
Description: Binary data
Attachment:
TUNNEL2.BIN
Description: Binary data
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| Re: [stella] Brainstorming: 3D-Corr, Glenn Saunders | Thread | Re: [stella] Brainstorming: 3D-Corr, Manuel Polik |
| RE: Re: Re: [stella]Re: My demo fix, Dennis Debro | Date | Re: [stella] Brainstorming: 3D-Corr, Manuel Polik |
| Month |