|
Subject: [stella] Psst! Hey, buddy, wanna buy a scroller? From: Christopher Tumber <christophertumber@xxxxxxxxxx> Date: Thu, 02 Jan 2003 17:17:19 -0500 |
A little rough, but only lightly used... This is a playfield scroller, similar to the one in Vanguard so it's a little jerky. I had originally intended it to become a smooth scroll, but that's not really practical with this implementation and I've since come up with a better, smooth scroll. My previous post about uselessness elicited some pretty good ideas so rather than just relegating this to the trash heap... It's tile based. Each tile is half a screen in width. Look for "TileList:" this is the list of tiles to be shown. Tiles are numbered from 0 to 20 and are illustrated in the attached ScrollTiles.txt (Use a fixed font). Tiles are grouped according to where their left edge starts (low, middle, high) and where their right edge ends (low, middle, high) so that tiles can be strung together to create a smooth terrain. The scroll is inverted for the top of the screen, and a combined image is used in the center of the screen. The effect is similar to a Gradius or Salamander/Lifeforce type game. (The middle image can easily be removed, my intention was to only have it present at certain times...) There's also a little ship you can move around.. Code is uncommented but should be reasonably straightforeward and I generally use relevant variable names. It's not really optimised or tidied so there may be some extraneous code and whatnot. (The scroller does eat a pretty good chunk of RAM too) Chris...
processor 6502
include vcs.h
SEG.U variables
org $80
CurrentTilePosition .byte
FirstTilePointer1 .word
FirstTilePointer2 .word
FirstTilePointer3 .word
SecondTilePointer1 .word
SecondTilePointer2 .word
SecondTilePointer3 .word
scrollposition .byte
pausecounter .byte
temp .byte
playerY .byte
Column1Line1 .byte
Column1Line2 .byte
Column1Line3 .byte
Column1Line4 .byte
Column1Line5 .byte
Column1Line6 .byte
Column1Line7 .byte
Column1Line8 .byte
Column2Line1 .byte
Column2Line2 .byte
Column2Line3 .byte
Column2Line4 .byte
Column2Line5 .byte
Column2Line6 .byte
Column2Line7 .byte
Column2Line8 .byte
Column3Line1 .byte
Column3Line2 .byte
Column3Line3 .byte
Column3Line4 .byte
Column3Line5 .byte
Column3Line6 .byte
Column3Line7 .byte
Column3Line8 .byte
Column4Line1 .byte
Column4Line2 .byte
Column4Line3 .byte
Column4Line4 .byte
Column4Line5 .byte
Column4Line6 .byte
Column4Line7 .byte
Column4Line8 .byte
Column5Line1 .byte
Column5Line2 .byte
Column5Line3 .byte
Column5Line4 .byte
Column5Line5 .byte
Column5Line6 .byte
Column5Line7 .byte
Column5Line8 .byte
Column6Line1 .byte
Column6Line2 .byte
Column6Line3 .byte
Column6Line4 .byte
Column6Line5 .byte
Column6Line6 .byte
Column6Line7 .byte
Column6Line8 .byte
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 #0
sta CurrentTilePosition
lda #130
sta playerY
lda #20
sta scrollposition
lda #40
sta pausecounter
lda #0
sta CTRLPF
STA COLUBK
lda #$1c
STA COLUPF
;Setup Tile Table In Ram
ldx #7
nextsetuptiles:
lda #0 ;Tile1C1,x
sta Column1Line1,x
lda #0 ;Tile1C2,x
sta Column2Line1,x
lda #0 ;Tile1C3,x
sta Column3Line1,x
lda #0 ;Tile2C1,x
sta Column4Line1,x
lda #0 ;Tile2C2,x
sta Column5Line1,x
lda #0 ;Tile2C3,x
sta Column6Line1,x
dex
bpl nextsetuptiles
DrawLogo
LDX #0
LDA #2
STA VSYNC ;Begin vertical sync.
STA WSYNC ; First line of VSYNC
STA WSYNC ; Second line of VSYNC.
LDA #41
STA TIM64T
LDA #0
STA CXCLR
STA WSYNC ; Third line of VSYNC.
STA VSYNC ; (0)
sta HMCLR
LDA #$80
BIT SWCHA
BEQ Right
LSR
BIT SWCHA
BEQ Left
LSR
BIT SWCHA
BEQ Down
LSR
BIT SWCHA
BEQ Up
jmp donemove
Right:
lda #128+64+32+16
sta HMBL
jmp donemove
Left:
lda #16
sta HMBL
jmp donemove
Up:
inc playerY
jmp donemove
Down:
dec playerY
jmp donemove
donemove:
dec pausecounter
beq donexttile
jmp noscroll
donexttile:
;Scroll left one playfiel bit
ldx #7
nextscroll:
lda #0
sta pausecounter
lda Column6Line1,x
lsr
sta Column6Line1,x
lda Column5Line1,x
rol
sta Column5Line1,x
lda Column4Line1,x
bcc noadd1
lsr
ora #128
jmp doneadd1
noadd1:
lsr
doneadd1:
sta Column4Line1,x
and #8
beq noadd4
inc pausecounter
noadd4:
lda pausecounter
beq noadd3
lda Column3Line1,x
lsr
ora #128
jmp doneadd3
noadd3:
lda Column3Line1,x
lsr
doneadd3:
sta Column3Line1,x
lda Column2Line1,x
rol
sta Column2Line1,x
lda Column1Line1,x
bcc noadd2
lsr
ora #128
sta Column1Line1,x
jmp doneadd2
noadd2:
lsr
sta Column1Line1,x
doneadd2:
dex
bpl nextscroll
dec scrollposition
bpl notresetscrollposition
lda #19
sta scrollposition
inc CurrentTilePosition
lda CurrentTilePosition
cmp #60
bne nonexttile
lda #0
sta CurrentTilePosition
nonexttile:
notresetscrollposition:
; ldy CurrentTilePosition
; lda TileList,y
; asl
; tay
; lda TilePointers1,y
; sta FirstTilePointer1
; lda TilePointers1+1,y
; sta FirstTilePointer1+1
; lda TilePointers2,y
; sta FirstTilePointer2
; lda TilePointers2+1,y
; sta FirstTilePointer2+1
; lda TilePointers3,y
; sta FirstTilePointer3
; lda TilePointers3+1,y
; sta FirstTilePointer3+1
ldy CurrentTilePosition
lda TileList,y
asl
tay
lda TilePointers1,y
sta SecondTilePointer1
lda TilePointers1+1,y
sta SecondTilePointer1+1
lda TilePointers2,y
sta SecondTilePointer2
lda TilePointers2+1,y
sta SecondTilePointer2+1
lda TilePointers3,y
sta SecondTilePointer3
lda TilePointers3+1,y
sta SecondTilePointer3+1
;Get bits for right edge of playfield
lda scrollposition
cmp #16
bmi not16to19
lda #128
sta pausecounter
lda scrollposition
sec
sbc #16
beq notrot1
tay
nextrot1:
lsr pausecounter
dey
bne nextrot1
notrot1:
ldy #7
nextbit1:
lda pausecounter
and (SecondTilePointer1),y
beq nobit1
lda Column6Line1,y
ora #128
sta Column6Line1,y
nobit1:
dey
bpl nextbit1
jmp donenewbit
not16to19:
cmp #8
bmi not8to15
lda #1
sta pausecounter
lda scrollposition
sec
sbc #8
beq notrot2
tay
nextrot2:
asl pausecounter
dey
bne nextrot2
notrot2:
ldy #7
nextbit2:
lda pausecounter
and (SecondTilePointer2),y
beq nobit2
lda Column6Line1,y
ora #128
sta Column6Line1,y
nobit2:
dey
bpl nextbit2
jmp donenewbit
not8to15:
lda #128
sta pausecounter
lda scrollposition
beq notrot3
tay
nextrot3:
lsr pausecounter
dey
bne nextrot3
notrot3:
ldy #7
nextbit3:
lda pausecounter
and (SecondTilePointer3),y
beq nobit3
lda Column6Line1,y
ora #128
sta Column6Line1,y
nobit3:
dey
bpl nextbit3
donenewbit:
lda #20
sta pausecounter
noscroll:
lda #1+2+4+16+32
sta NUSIZ0
sta NUSIZ1
lda #$0e
sta COLUP0
lda #$1c
sta COLUP1
lda #0
sta ENAM0
sta ENAM1
sta GRP0
sta GRP1
sta PF0
sta PF1
sta PF2
DrawScreen
LDA INTIM
BNE DrawScreen ; Whew!
STA WSYNC
STA VBLANK ;End the VBLANK period with a zero.
; sta WSYNC
; sta WSYNC
; sta WSYNC
; sta HMCLR
; sta WSYNC
; lda #16
; sta HMM0
; sta HMM1
; sta WSYNC
; nop
; nop
; nop
; nop
; nop
; nop
; nop
; nop
; nop
; sta.w RESP0
; nop
; nop
; nop
; nop
; nop
; nop
; nop
; nop
; nop
; nop
; sta RESM0
; sta RESP1
; nop
; nop
; nop
; nop
; nop
; nop
; nop
; nop
; nop
; nop
; sta RESM1
sta WSYNC
lda #0
sta ENABL
nop
nop
nop
nop
nop
nop
nop
; sta RESBL
sta RESP0
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
sta.w RESP1
lda #0
sta GRP0
sta GRP1
lda #6
sta NUSIZ0
sta NUSIZ1
sta WSYNC
sta HMOVE
sta WSYNC
sta WSYNC
ldy playerY ; y = scanline
jsr scroller1
jsr scroller1
jsr scroller2
jsr scroller2
jsr scroller3
jsr scroller3
jsr scroller4
jsr scroller4
jsr scroller5
jsr scroller5
jsr scroller6
jsr scroller6
jsr scroller7
jsr scroller7
jsr scroller8
jsr scroller8
sta WSYNC
lda #0
sta PF0
sta PF1
sta PF2
nop
nop
nop
nop
nop
nop
lda BallData,y
sta ENABL
asl
asl
sta CTRLPF
iny
jsr biggap
jsr scroller8
jsr scroller8
jsr scroller7
jsr scroller7
jsr scroller6
jsr scroller6
jsr scroller5
jsr scroller5
jsr scroller4
jsr scroller4
; jsr scroller3
; jsr scroller3
; jsr scroller3
; jsr scroller3
jsr scroller4
jsr scroller4
jsr scroller5
jsr scroller5
jsr scroller6
jsr scroller6
jsr scroller7
jsr scroller7
jsr scroller8
jsr scroller8
sta WSYNC
lda #0
sta PF0
sta PF1
sta PF2
lda BallData,y
sta ENABL
asl
asl
sta CTRLPF
iny
jsr biggap
jsr scroller8
jsr scroller8
jsr scroller7
jsr scroller7
jsr scroller6
jsr scroller6
jsr scroller5
jsr scroller5
jsr scroller4
jsr scroller4
jsr scroller3
jsr scroller3
jsr scroller2
jsr scroller2
jsr scroller1
jsr scroller1
sta WSYNC
lda #0
sta PF0
sta PF1
sta PF2
sta GRP0
sta GRP1
; ldy #50
;nextblankline:
; sta WSYNC
; dey
; bne nextblankline
STA VBLANK ; Make TIA output invisible,
lda #35
sta TIM64T
OverscanWait:
lda INTIM
bne OverscanWait
JMP DrawLogo ;Continue forever.
biggap:
ldx #69
next3b:
sta WSYNC
lda BallData,y
sta ENABL
asl
asl
sta CTRLPF
iny
dex
bne next3b
rts
scroller1:
sta WSYNC
lda Column1Line1 ;3
sta PF0 ;3
lda Column2Line1 ;3
sta PF1 ;3
lda BallData,y ;4
sta ENABL ;3
asl ;2
asl ;2
sta CTRLPF ;3
lda Column3Line1 ;3
sta PF2 ;3
lda Column4Line1 ;3
sta PF0 ;3
lda Column5Line1 ;3
sta PF1 ;3
lda Column6Line1 ;3
sta PF2 ;3
iny ;2
rts ;6+6
scroller2:
sta WSYNC
lda Column1Line2
sta PF0
lda Column2Line2
sta PF1
lda BallData,y ;4
sta ENABL ;3
asl ;2
asl ;2
sta CTRLPF ;3
lda Column3Line2
sta PF2
lda Column4Line2
sta PF0
lda Column5Line2
sta PF1
lda Column6Line2
sta PF2
iny
rts
scroller3:
sta WSYNC
lda Column1Line3
sta PF0
lda Column2Line3
sta PF1
lda BallData,y ;4
sta ENABL ;3
asl ;2
asl ;2
sta CTRLPF ;3
lda Column3Line3
sta PF2
lda Column4Line3
sta PF0
lda Column5Line3
sta PF1
lda Column6Line3
sta PF2
iny
rts
scroller4:
sta WSYNC
lda Column1Line4
sta PF0
lda Column2Line4
sta PF1
lda BallData,y ;4
sta ENABL ;3
asl ;2
asl ;2
sta CTRLPF ;3
lda Column3Line4
sta PF2
lda Column4Line4
sta PF0
lda Column5Line4
sta PF1
lda Column6Line4
sta PF2
iny
rts
scroller5:
sta WSYNC
lda Column1Line5
sta PF0
lda Column2Line5
sta PF1
lda BallData,y ;4
sta ENABL ;3
asl ;2
asl ;2
sta CTRLPF ;3
lda Column3Line5
sta PF2
lda Column4Line5
sta PF0
lda Column5Line5
sta PF1
lda Column6Line5
sta PF2
iny
rts
scroller6:
sta WSYNC
lda Column1Line6
sta PF0
lda Column2Line6
sta PF1
lda BallData,y ;4
sta ENABL ;3
asl ;2
asl ;2
sta CTRLPF ;3
lda Column3Line6
sta PF2
lda Column4Line6
sta PF0
lda Column5Line6
sta PF1
lda Column6Line6
sta PF2
iny
rts
scroller7:
sta WSYNC
lda Column1Line7
sta PF0
lda Column2Line7
sta PF1
lda BallData,y ;4
sta ENABL ;3
asl ;2
asl ;2
sta CTRLPF ;3
lda Column3Line7
sta PF2
lda Column4Line7
sta PF0
lda Column5Line7
sta PF1
lda Column6Line7
sta PF2
iny
rts
scroller8:
sta WSYNC
lda Column1Line8
sta PF0
lda Column2Line8
sta PF1
lda BallData,y ;4
sta ENABL ;3
asl ;2
asl ;2
sta CTRLPF ;3
lda Column3Line8
sta PF2
lda Column4Line8
sta PF0
lda Column5Line8
sta PF1
lda Column6Line8
sta PF2
iny
rts
TileList: .byte 0,1,3,9,12,18,14,2,4,10,7,5,19,16,11,13,15,6,17,8
.byte 5,20,15,0,1,2,1,2,1,2,3,10,10,10,9,10,9,10,9,13
.byte 18,19,18,19,19,18,18,15,6,15,6,15,0,4,8,4,8,1,1,1
TilePointers1: .word Tile1C1,Tile2C1,Tile3C1,Tile4C1,Tile5C1,Tile6C1,Tile7C1,Tile8C1,Tile9C1,Tile10C1,Tile11C1,Tile12C1,Tile13C1,Tile14C1,Tile15C1,Tile16C1,Tile17C1,Tile18C1,Tile19C1,Tile20C1,Tile21C1
TilePointers2: .word Tile1C2,Tile2C2,Tile3C2,Tile4C2,Tile5C2,Tile6C2,Tile7C2,Tile8C2,Tile9C2,Tile10C2,Tile11C2,Tile12C2,Tile13C2,Tile14C2,Tile15C2,Tile16C2,Tile17C2,Tile18C3,Tile19C2,Tile20C2,Tile21C2
TilePointers3: .word Tile1C3,Tile2C3,Tile3C3,Tile4C3,Tile5C3,Tile6C3,Tile7C3,Tile8C3,Tile9C3,Tile10C3,Tile11C3,Tile12C3,Tile13C3,Tile14C3,Tile15C3,Tile16C3,Tile17C3,Tile18C2,Tile19C3,Tile20C3,Tile21C3
org $FD00
BallData: .byte 2,6,10,10,14,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
.byte 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
.byte 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
.byte 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
.byte 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
.byte 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
.byte 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
.byte 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
.byte 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
.byte 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
.byte 0,0,0,0,0
;XX
;XXXX
;XXXX
;XXXXXXXX
; .byte 2,6,10,6,2,6,10,14,10,6,2,6,10,6,2,0,0,0,0,0,0,0,0,0
org $FE00
;Starts at bottom:
;Ends at bottom:
Tile1C1: .byte 240,0,0,0,0,0,0,0
Tile1C2: .byte 255,0,0,0,0,0,0,0
Tile1C3: .byte 255,0,0,0,0,0,0,0
Tile2C1: .byte 240,224,192,128,0,0,0,0
Tile2C2: .byte 255,255,255,255,255,127,63,31
Tile2C3: .byte 255,127,63,31,15,7,3,1
Tile3C1: .byte 240,224,192,128,0,0,0,0
Tile3C2: .byte 255,255,255,255,0,0,0,0
Tile3C3: .byte 255,127,63,31,0,0,0,0
;Ends at middle:
Tile4C1: .byte 240,224,192,128,0,0,0,0
Tile4C2: .byte 255,255,255,255,0,0,0,0
Tile4C3: .byte 255,255,255,255,0,0,0,0
Tile5C1: .byte 240,224,192,128,0,0,0,0
Tile5C2: .byte 255,255,255,255,255,127,63,31
Tile5C3: .byte 255,255,255,255,127,63,31,15
;Ends at top:
Tile6C1: .byte 240,224,192,128,0,0,0,0
Tile6C2: .byte 255,255,255,255,255,127,63,31
Tile6C3: .byte 255,255,255,255,255,255,255,255
Tile7C1: .byte 240,224,192,128,0,0,0,0
Tile7C2: .byte 255,255,255,255,3,1,0,0
Tile7C3: .byte 255,255,255,255,255,255,255,254
;Starts at middle:
;Ends at bottom:
Tile8C1: .byte 240,240,240,240,0,0,0,0
Tile8C2: .byte 255,255,255,255,0,0,0,0
Tile8C3: .byte 255,127,63,31,0,0,0,0
Tile9C1: .byte 240,240,240,240,128+64+32,128+64,128,0
Tile9C2: .byte 255,255,255,255,255,255,255,255
Tile9C3: .byte 255,127,63,31,15,7,3,1
;Ends at middle:
Tile10C1: .byte 240,240,240,240,0,0,0,0
Tile10C2: .byte 255,128+64+32,128+64,128,0,0,0,0
Tile10C3: .byte 255,254,252,248,0,0,0,0
Tile11C1: .byte 240,240,240,240,0,0,0,0
Tile11C2: .byte 255,255,255,255,127,63,31,15
Tile11C3: .byte 255,255,255,255,7,3,1,0
Tile12C1: .byte 240,240,240,240,0,0,0,0
Tile12C2: .byte 255,255,255,255,0,0,0,0
Tile12C3: .byte 255,255,255,255,0,0,0,0
;Ends at top
Tile13C1: .byte 240,240,240,240,0,0,0,0
Tile13C2: .byte 255,255,255,255,0,0,0,0
Tile13C3: .byte 255,255,255,255,128+64+32+16,128+64+32,128+64,128
Tile14C1: .byte 240,16+32+64,16+32,16,0,0,0,0
Tile14C2: .byte 255,0,0,0,0,0,0,0
Tile14C3: .byte 255,254,252,248,240,224,192,128
;Starts at top:
;Ends at bottom:
Tile15C1: .byte 240,240,240,240,240,240,240,240
Tile15C2: .byte 255,255,255,255,255,255,255,255
Tile15C3: .byte 255,127,63,31,15,7,3,1
Tile16C1: .byte 240,240,240,240,240,240,240,240
Tile16C2: .byte 255,255,255,255,252,248,240,224
Tile16C3: .byte 255,127,63,31,0,0,0,0
;Ends at middle:
Tile17C1: .byte 240,240,240,240,240,240,240,240
Tile17C2: .byte 255,255,255,255,252,248,240,224
Tile17C3: .byte 255,255,255,255,0,0,0,0
Tile18C1: .byte 240,240,240,240,240,16+32+64,16+32,16
Tile18C2: .byte 255,32+64+128,64+128,128,0,0,0,0
Tile18C3: .byte 255,254,252,248,0,0,0,0
;Ends at top:
Tile19C1: .byte 240,240,240,240,240,16+32+64,16+32,16
Tile19C2: .byte 255,32+64+128,64+128,128,0,0,0,0
Tile19C3: .byte 255,254,252,248,240,224,192,128
Tile20C1: .byte 240,240,240,240,240,240,240,240
Tile20C2: .byte 255,255,255,255,255,128+64+32,128+64,128
Tile20C3: .byte 255,255,255,255,255,254,252,248
Tile21C1: .byte 240,240,240,240,240,240,240,240
Tile21C2: .byte 255,255,255,255,255,255,255,255
Tile21C3: .byte 255,255,255,255,255,255,255,255
org $FFFC
.word Start
.word Start
Attachment:
SCROLL-R.BIN
Description: Binary data
| _ | ___ _
/\ __ | ___ / \ | / _/
____ / \ / \ | / / | / /
0 1 2 | 3 4 | 5 6
| |
----------------------------------------
_ | |
___ / \ | _ _ _/\_ ____ | ___/ /
\ \ | \/ | \_/
7 8 | 9 10 11 | 12 13
| |
----------------------------------------
__ _ | _ | _ _ ____
\ \_ | \__ \ | \ / \/
\ \ | \_/ | \/
14 15 | 16 17 | 18 19 20
| |
----------------------------------------
Pieces:
Starts at bottom
Ends at bottom:
Tile1
0000 00000000 00000000
0000 00000000 00000000
0000 00000000 00000000
0000 00000000 00000000
0000 00000000 00000000
0000 00000000 00000000
0000 00000000 00000000
XXXX XXXXXXXX XXXXXXXX
Tile2
0000 000XXXXX X0000000
0000 00XXXXXX XX000000
0000 0XXXXXXX XXX00000
0000 XXXXXXXX XXXX0000
000X XXXXXXXX XXXXX000
00XX XXXXXXXX XXXXXX00
0XXX XXXXXXXX XXXXXXX0
XXXX XXXXXXXX XXXXXXXX
Tile3
0000 00000000 00000000
0000 00000000 00000000
0000 00000000 00000000
0000 00000000 00000000
000X XXXXXXXX XXXXX000
00XX XXXXXXXX XXXXXX00
0XXX XXXXXXXX XXXXXXX0
XXXX XXXXXXXX XXXXXXXX
Ends at middle:
Tile4
0000 00000000 00000000
0000 00000000 00000000
0000 00000000 00000000
0000 00000000 00000000
000X XXXXXXXX XXXXXXXX
00XX XXXXXXXX XXXXXXXX
0XXX XXXXXXXX XXXXXXXX
XXXX XXXXXXXX XXXXXXXX
Tile5
0000 000XXXXX XXXX0000
0000 00XXXXXX XXXXX000
0000 0XXXXXXX XXXXXX00
0000 XXXXXXXX XXXXXXX0
000X XXXXXXXX XXXXXXXX
00XX XXXXXXXX XXXXXXXX
0XXX XXXXXXXX XXXXXXXX
XXXX XXXXXXXX XXXXXXXX
Ends at top:
Tile6
0000 000XXXXX XXXXXXXX
0000 00XXXXXX XXXXXXXX
0000 0XXXXXXX XXXXXXXX
0000 XXXXXXXX XXXXXXXX
000X XXXXXXXX XXXXXXXX
00XX XXXXXXXX XXXXXXXX
0XXX XXXXXXXX XXXXXXXX
XXXX XXXXXXXX XXXXXXXX
Tile7
0000 00000000 0XXXXXXX
0000 00000000 XXXXXXXX
0000 0000000X XXXXXXXX
0000 000000XX XXXXXXXX
000X XXXXXXXX XXXXXXXX
00XX XXXXXXXX XXXXXXXX
0XXX XXXXXXXX XXXXXXXX
XXXX XXXXXXXX XXXXXXXX
Starts at middle
Ends at bottom
Tile8
0000 00000000 00000000
0000 00000000 00000000
0000 00000000 00000000
0000 00000000 00000000
XXXX XXXXXXXX XXXXX000
XXXX XXXXXXXX XXXXXX00
XXXX XXXXXXXX XXXXXXX0
XXXX XXXXXXXX XXXXXXXX
Tile9
0000 XXXXXXXX X0000000
000X XXXXXXXX XX000000
00XX XXXXXXXX XXX00000
0XXX XXXXXXXX XXXX0000
XXXX XXXXXXXX XXXXX000
XXXX XXXXXXXX XXXXXX00
XXXX XXXXXXXX XXXXXXX0
XXXX XXXXXXXX XXXXXXXX
Ends at middle
Tile10
0000 00000000 00000000
0000 00000000 00000000
0000 00000000 00000000
0000 00000000 00000000
XXXX X0000000 000XXXXX
XXXX XX000000 00XXXXXX
XXXX XXX00000 0XXXXXXX
XXXX XXXXXXXX XXXXXXXX
Tile11
0000 0000XXXX 00000000
0000 000XXXXX X0000000
0000 00XXXXXX XX000000
0000 0XXXXXXX XXX00000
XXXX XXXXXXXX XXXXXXXX
XXXX XXXXXXXX XXXXXXXX
XXXX XXXXXXXX XXXXXXXX
XXXX XXXXXXXX XXXXXXXX
Tile12
0000 00000000 00000000
0000 00000000 00000000
0000 00000000 00000000
0000 00000000 00000000
XXXX XXXXXXXX XXXXXXXX
XXXX XXXXXXXX XXXXXXXX
XXXX XXXXXXXX XXXXXXXX
XXXX XXXXXXXX XXXXXXXX
Ends at top
Tile13
0000 00000000 0000000X
0000 00000000 000000XX
0000 00000000 00000XXX
0000 00000000 0000XXXX
XXXX XXXXXXXX XXXXXXXX
XXXX XXXXXXXX XXXXXXXX
XXXX XXXXXXXX XXXXXXXX
XXXX XXXXXXXX XXXXXXXX
Tile14
0000 00000000 0000000X
0000 00000000 000000XX
0000 00000000 00000XXX
0000 00000000 0000XXXX
X000 00000000 000XXXXX
XX00 00000000 00XXXXXX
XXX0 00000000 0XXXXXXX
XXXX XXXXXXXX XXXXXXXX
Starts at top
Ends at bottom
Tile15
XXXX XXXXXXXX X0000000
XXXX XXXXXXXX XX000000
XXXX XXXXXXXX XXX00000
XXXX XXXXXXXX XXXX0000
XXXX XXXXXXXX XXXXX000
XXXX XXXXXXXX XXXXXX00
XXXX XXXXXXXX XXXXXXX0
XXXX XXXXXXXX XXXXXXXX
Tile16
XXXX XXX00000 00000000
XXXX XXXX0000 00000000
XXXX XXXXX000 00000000
XXXX XXXXXX00 00000000
XXXX XXXXXXXX XXXXX000
XXXX XXXXXXXX XXXXXX00
XXXX XXXXXXXX XXXXXXX0
XXXX XXXXXXXX XXXXXXXX
Ends at middle
Tile17
XXXX XXX00000 00000000
XXXX XXXX0000 00000000
XXXX XXXXX000 00000000
XXXX XXXXXX00 00000000
XXXX XXXXXXXX XXXXXXXX
XXXX XXXXXXXX XXXXXXXX
XXXX XXXXXXXX XXXXXXXX
XXXX XXXXXXXX XXXXXXXX
Tile18
X000 00000000 00000000
XX00 00000000 00000000
XXX0 00000000 00000000
XXXX 00000000 00000000
XXXX X0000000 000XXXXX
XXXX XX000000 00XXXXXX
XXXX XXX00000 0XXXXXXX
XXXX XXXXXXXX XXXXXXXX
Ends at top
Tile19
X000 00000000 0000000X
XX00 00000000 000000XX
XXX0 00000000 00000XXX
XXXX 00000000 0000XXXX
XXXX X0000000 000XXXXX
XXXX XX000000 00XXXXXX
XXXX XXX00000 0XXXXXXX
XXXX XXXXXXXX XXXXXXXX
Tile20
XXXX X0000000 000XXXXX
XXXX XX000000 00XXXXXX
XXXX XXX00000 0XXXXXXX
XXXX XXXXXXXX XXXXXXXX
XXXX XXXXXXXX XXXXXXXX
XXXX XXXXXXXX XXXXXXXX
XXXX XXXXXXXX XXXXXXXX
XXXX XXXXXXXX XXXXXXXX
Tile21
XXXX XXXXXXXX XXXXXXXX
XXXX XXXXXXXX XXXXXXXX
XXXX XXXXXXXX XXXXXXXX
XXXX XXXXXXXX XXXXXXXX
XXXX XXXXXXXX XXXXXXXX
XXXX XXXXXXXX XXXXXXXX
XXXX XXXXXXXX XXXXXXXX
XXXX XXXXXXXX XXXXXXXX
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| Re: [stella] Any ideas on the no fl, Christopher Tumber | Thread | [stella] New jumptable implementati, R Mundschau |
| [stella] Alternate 8K Banswitching , Christopher Tumber | Date | Re: [stella] Space Instigators - Pu, Fabrizio Zavagli |
| Month |