Studio6 slower compile time

Go To Last Post
139 posts / 0 new

Pages

Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Have been using Studio6.0 a lot lately, and about 1/3 of the time when I compile my large assembly program, it sits for about 15 seconds while the "Solution Explorer" window flashes like mad. Every other time, compile is almost instant. Studio5 never did this.

I have seen this window flicker goofiness before... remember hitting delete on a lot of email in the deleted folder on outlook express?

Core7-3.4GHz
Win7x64
32GB RAM
AVRISP-II
XMega384

Brad

I Like to Build Stuff : http://www.AtomicZombie.com

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I think after every build output and dependency folders will be reloaded in the solution explore this could be the reason for the flicker
:)

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Interesting. I wonder why it only happens 1/3 times. And only if I have not hit compile for at least 5 minutes?

With the work I am doing, I am compiling several times a minute and loading the chip to see the results.

Studio 5 never had any wait time at all.

Brad

I Like to Build Stuff : http://www.AtomicZombie.com

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Ok, finding that flicker/stall fairly annoying now after using Studio6 for a few days now.

Seems the bug has to do with time since last compile and nothing else. If I have not compiled for about 10 minutes, then the next time I do, the info contained in the "Solution Explorer" windows disappears and the right scroll bar flickers like crazy for about 10 seconds.

If I hit compile within 10 minutes of the last time, it works like Studio5... compile takes about 1 second. It does not matter if I even change anything in the code.

Anyone else having this problem?

Brad

I Like to Build Stuff : http://www.AtomicZombie.com

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Possibly, but, I have to determine whether that was due to my power settings in Win7 as I have my drives shut down after 20 minutes. I'll change my power settings and test for that.

EDIT: By the way, do you have enough ram? :wink:

"I may make you feel but I can't make you think" - Jethro Tull - Thick As A Brick

"void transmigratus(void) {transmigratus();} // recursio infinitus" - larryvc

"It's much more practical to rely on the processing powers of the real debugger, i.e. the one between the keyboard and chair." - JW wek3

"When you arise in the morning think of what a privilege it is to be alive: to breathe, to think, to enjoy, to love." -  Marcus Aurelius

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Sorry Brad,

After testing AS6 thoroughly, while trying to reproduce your error, I do not see this behavior on any of my machines.

"I may make you feel but I can't make you think" - Jethro Tull - Thick As A Brick

"void transmigratus(void) {transmigratus();} // recursio infinitus" - larryvc

"It's much more practical to rely on the processing powers of the real debugger, i.e. the one between the keyboard and chair." - JW wek3

"When you arise in the morning think of what a privilege it is to be alive: to breathe, to think, to enjoy, to love." -  Marcus Aurelius

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hmmm.. perhaps it is due to the XMega384 then. I tried with an almost blank project and the flicker remains, so it's not the code size.

Yeah, I wanted 64Gb, but it wasn't available! When you run Xilinx ISE, you can never have enough RAM. As it is, I use almost 20Gb when I compile my Lazarus FPGA project!

Brad

I Like to Build Stuff : http://www.AtomicZombie.com

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hi Brad,

Even a blank project with any includes in the *.c files would bring about 6 to 7 files in the Dependencies folder (at solution explorer). So try to create a new project and remove the default #include from the .c file. Try to build this project now.

Perform this just to verify if this issue is because of dependencies folder.

-tsgd84

Regards,
Deena

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I am only using assembly. It does the same thing with or without the ATxmega384C3def.inc file as well.

Brad

I Like to Build Stuff : http://www.AtomicZombie.com

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:

It does the same thing with or without the ATxmega384C3def.inc file as well.

Just to note that there's an implied

.include "ATxmega384C3def.inc"

whether you type the command or not (in fact you get an error if you say you build for one target but then .include a different file) so it will be processing that header file anyway.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Ok, thanks. I guess I can take out the include directive then. I did add it to my project though as that was the only way I could have it open for me. I use the include file much more than I use the datasheet for reference. so it is nice to have it in the solution explorer.

... perhaps that is what is causing the flicker bug?

Brad

I Like to Build Stuff : http://www.AtomicZombie.com

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:

as that was the only way I could have it open for me.

If Atmel are listening that sounds like a mistake - VaAssist should be able to see the active .include file whether it's implicitly or explicitly included.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:

If Atmel are listening that sounds like a mistake - VaAssist should be able to see the active .include file whether it's implicitly or explicitly included.

Indeed, if it is reproducible please file a bug in the tracker:

http://asf.atmel.com/bugzilla/en...

- Dean :twisted:

Make Atmel Studio better with my free extensions. Open source and feedback welcome!

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Thanks, it showed up under "Dependencies" as soon as I removed it from the solution and in the code.

The 15 second flicker remains though.

Brad

I Like to Build Stuff : http://www.AtomicZombie.com

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:
as that was the only way I could have it open for me.

I think after the project is built, Dependencies folder in the solution explorer will be loaded with the corresponding .inc file. you can open it from there.

BTW, VAssistX mainly works for C/C++ projects.

:)

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Had a rainy day to mess around on my AVR384 video project, and I must say that this flicker issue is driving me loopy! If it happened all of the time, I could live with it, but this seemingly random bug is cooking my melon.

Rather than trying to explain it, here is a video of it happening...

http://www.youtube.com/watch?v=3...

I don't even have to change the code! I know - waiting 15 seconds for a compile won't kill me, but it did not happen in Studio5, and because I am now using the XMega384 exclusively, I cannot revert.

Since I have compiled my video routine no less than 340 times now, this 15 second 50% random bug has now taken 42.5 minutes off my lifespan! (340/2*15/60).

Brad

I Like to Build Stuff : http://www.AtomicZombie.com

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Wowza, that's certainly a bug. Can you email me your project so that I can try to replicate this on my work machine? Just zip the whole thing up and send it to dean_patrick.camera at Atmel dot com.

- Dean :twisted:

Make Atmel Studio better with my free extensions. Open source and feedback welcome!

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Will do, thanks.

Just add a nop anywhere and hit compile. For me, the flicker happens about half the time. If you change something and wait over a minute, the delay happens more often.

Brad

I Like to Build Stuff : http://www.AtomicZombie.com

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Brad, send it to me too if you could. I would like to see if it happens here. More eyes.

"I may make you feel but I can't make you think" - Jethro Tull - Thick As A Brick

"void transmigratus(void) {transmigratus();} // recursio infinitus" - larryvc

"It's much more practical to rely on the processing powers of the real debugger, i.e. the one between the keyboard and chair." - JW wek3

"When you arise in the morning think of what a privilege it is to be alive: to breathe, to think, to enjoy, to love." -  Marcus Aurelius

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

At this point, I can't release the code until the project is ready for production, but as soon as DigiKey has the XMega384's in stock, I plan to put the works online with plenty of documentation. At this point, my code is in fragments and is ugly as hell.

No doubt, Dean will look at it and say "no wonder he broke the compiler"!

Brad

I Like to Build Stuff : http://www.AtomicZombie.com

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

AtomicZombie wrote:
No doubt, Dean will look at it and say "no wonder he broke the compiler"!

Brad


:lol:

"I may make you feel but I can't make you think" - Jethro Tull - Thick As A Brick

"void transmigratus(void) {transmigratus();} // recursio infinitus" - larryvc

"It's much more practical to rely on the processing powers of the real debugger, i.e. the one between the keyboard and chair." - JW wek3

"When you arise in the morning think of what a privilege it is to be alive: to breathe, to think, to enjoy, to love." -  Marcus Aurelius

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Sucessfully reproduced the issue on my machine, so I've created an internal issue AVRSV-3512 for you (you won't be able to see this directly, but I can pass along information when the developers reply).

Quote:

No doubt, Dean will look at it and say "no wonder he broke the compiler"!

Brad

I'd never say something like that - because it's an assembly project, so the compiler isn't used. I took a look at it; no wonder you broke the assembler! :lol:

- Dean :twisted:

Make Atmel Studio better with my free extensions. Open source and feedback welcome!

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Wowza, I just looked over it some more. While I agree it shouldn't be a problem, have you tried breaking up the file into smaller chunks? If you make a single change to the ASF file, all 11 thousand lines would need to be re-assembled, and all label references rebuilt.

- Dean :twisted:

Make Atmel Studio better with my free extensions. Open source and feedback welcome!

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Yeah... I have odd coding habits no doubt! But just think, you have only 25% of the full core, and it's all assembly in one file!

I do intend to make several include files later for release, but my personal preference has always been one giant left justified file. You think this is scary, you should see my Verilog code!

Anyhoo.. it doesn't happen in Studio5, so I will just wait for the bugfix. I shall call this bug "The Atomic Flicker Bug"!

Cheers, glad you seen it too.

Brad

I Like to Build Stuff : http://www.AtomicZombie.com

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

It's been a while since I reported this bug, but I had some time to upgrade to Studio 6.0.1882 and this annoying slow down bug is still present. About 1/3 times, the compiler goes on a vacation, flashing the Solution Explorer window like mad...

http://www.youtube.com/watch?v=3TvjXWDHCVk&feature=youtu.be

This adds years to my development time!
Ok, maybe not years, but it does annoy.

Brad

I Like to Build Stuff : http://www.AtomicZombie.com

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

This now seems to happen more frequently as my program code grows. Since I am working on the sound mixer part of my code, I am compiling very often to hear the results.

This crazy flicker/slowdown is really a bugger now!

Has anyone else found this problem while working with something other than XMega384?

Brad

I Like to Build Stuff : http://www.AtomicZombie.com

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

AtomicZombie wrote:
It's been a while since I reported this bug, but I had some time to upgrade to Studio 6.0.1882 and this annoying slow down bug is still present. About 1/3 times, the compiler goes on a vacation, flashing the Solution Explorer window like mad...

http://www.youtube.com/watch?v=3TvjXWDHCVk&feature=youtu.be

This adds years to my development time!
Ok, maybe not years, but it does annoy.

Brad

Near your YouTube I found this funny "Bug on a touchscreen" movie.
http://www.youtube.com/watch?v=rJrLTsmPDd4&feature=related
:lol:

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Now that bug I could fix in a real hurry!

I Like to Build Stuff : http://www.AtomicZombie.com

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I'm told this is an issue with Visual Studio 2010 (the base of which is used in Atmel Studio). Apparently it's fixed in the newer and hideous Visual Studio 2012 release, but you can't replace the shell with the newer version just yet.

Can you try installing the Visual Studio 2010 SP1 from Microsoft to see if it corrects the issue?

- Dean :twisted:

Make Atmel Studio better with my free extensions. Open source and feedback welcome!

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Next time I am at a computer with high speed, I will get the SP and give it a try. Will report back then.

One more issue that is more of an annoyance than a bug is....

Having to close the programming window each time rather than just minimizing it. Why oh why doesn't it have a minimize button? On a typical day of working on my audio/video project, I may go through 100 or more compiles, so having to click through to this window along with waiting 15 seconds for the flickr bug adds hours.

I would go back to Studio5 if I could, but XMega384 is my only target now.

Thanks,
Brad

I Like to Build Stuff : http://www.AtomicZombie.com

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:

One more issue that is more of an annoyance than a bug is....

Having to close the programming window each time rather than just minimizing it. Why oh why doesn't it have a minimize button? On a typical day of working on my audio/video project, I may go through 100 or more compiles, so having to click through to this window along with waiting 15 seconds for the flickr bug adds hours.


This has been gone over numerus times, use the "Start without debug" option to program directly.

http://www.atmel.no/webdoc/atmel...

:: Morten

 

(yes, I work for Atmel, yes, I do this in my spare time, now stop sending PMs)

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:

This has been gone over numerus times,

Which may suggest the information is not being made visible enough in the right places? ;-)

Kind of a shame that the AS6 "start page" does not have a news feed enabled by default otherwise you could roll out suggestions like this to all users. The downside of having "live news" at the start of the IDE though is you are then kind of obligated to says something every few days to show the thing is still "alive". (My VS2008 starts up and tells me things from a year or two ago!).

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:

Which may suggest the information is not being made visible enough in the right places?

Very true... Let's just say that a couple of us in Norway are working our ears off to get information up on a level that we are happy with... Hopefully results may become visible in the not too distant future.

Quote:

Kind of a shame that the AS6 "start page" does not have a news feed enabled by default otherwise you could roll out suggestions like this to all users. The downside of having "live news" at the start of the IDE though is you are then kind of obligated to says something every few days to show the thing is still "alive". (My VS2008 starts up and tells me things from a year or two ago!).

This has been debated lenghtways and horizontally internally. The start page is suboptimal, that's pretty much all that we agree on. The RSS feed was disabled to comply with security standards that some of our corporate customers expect (don't know why, don't want to discuss it :P )

:: Morten

 

(yes, I work for Atmel, yes, I do this in my spare time, now stop sending PMs)

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Wow, thanks!

I used to open 2 copies of Studio so that I didn't have to jump through so many hoops to compile, but this is great!

I have looked around for a way to do this, and this is the first I have seen this suggestion.

Now if there was a way to get that function right onto the toolbar....

Brad

I Like to Build Stuff : http://www.AtomicZombie.com

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:
Now if there was a way to get that function right onto the toolbar....

Toolbar (if it's not already there, in the Debug toolbar - it is in mine, but it might have been me that added it): Tools menu, Customize item. Then the Commands tab in the dialogue that follows. I trust it you can take it from there..

Hotkey: Tools menu, Options item. Then in the dialogue select (in the tree control at the left) Environment, Keyboard. In the list box at the right, locate "Debug.StartWithoutDebugging" and select a key combo.

As of January 15, 2018, Site fix-up work has begun! Now do your part and report any bugs or deficiencies here

No guarantees, but if we don't report problems they won't get much of  a chance to be fixed! Details/discussions at link given just above.

 

"Some questions have no answers."[C Baird] "There comes a point where the spoon-feeding has to stop and the independent thinking has to start." [C Lawson] "There are always ways to disagree, without being disagreeable."[E Weddington] "Words represent concepts. Use the wrong words, communicate the wrong concept." [J Morin] "Persistence only goes so far if you set yourself up for failure." [Kartman]

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Thanks!
That just saved countless hours on development (hacking) time with this project.

I Like to Build Stuff : http://www.AtomicZombie.com

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

UPDATE...

I drove to town to download the 1.6 GB (no kidding) service pack as suggested, and now the slowdown bug is no longer inconsistent...

... it happens all the time now!!!!

Compile now takes 25 seconds on S6 as compared to under a second on S5.

I know... what's the big deal? But what I am doing requires a compile once every minute or so as I am debugging an audio.video program.

This really hurts. I can load my Spartan 1 million gate FPGA quicker nowadays!

Brad

abcminiuser wrote:
I'm told this is an issue with Visual Studio 2010 (the base of which is used in Atmel Studio). Apparently it's fixed in the newer and hideous Visual Studio 2012 release, but you can't replace the shell with the newer version just yet.

Can you try installing the Visual Studio 2010 SP1 from Microsoft to see if it corrects the issue?

- Dean :twisted:

I Like to Build Stuff : http://www.AtomicZombie.com

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Can you try to use external make file for your assembler project ? (you may have to create a make file with the default target "all")

Project Properties->Build->External make file

:)

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I don't seem to have that option on the Properties menu.

Brad

I Like to Build Stuff : http://www.AtomicZombie.com

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

It should look like this...

Attachment(s): 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:

the 1.6 GB (no kidding) service pack

This is really confusing, and makes me wonder what you are downloading. The Atmel Studio 6 SP1 download is 148 MB.

Quote:
I don't seem to have that option on the Properties menu.

In the Project menu, select the project Properties (Or right-click the project node in the Solution Explorer and select Properties in the pop-up menu.) (Or press Alt-F7.)

The property pages appear, and you have a tab system at the left. Select the Build tab. There you will find the option to use an external makefile.

As of January 15, 2018, Site fix-up work has begun! Now do your part and report any bugs or deficiencies here

No guarantees, but if we don't report problems they won't get much of  a chance to be fixed! Details/discussions at link given just above.

 

"Some questions have no answers."[C Baird] "There comes a point where the spoon-feeding has to stop and the independent thinking has to start." [C Lawson] "There are always ways to disagree, without being disagreeable."[E Weddington] "Words represent concepts. Use the wrong words, communicate the wrong concept." [J Morin] "Persistence only goes so far if you set yourself up for failure." [Kartman]

Last Edited: Mon. Sep 24, 2012 - 06:12 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:

and makes me wonder what you are downloading

Time to re-read the thread. ;-) It's an update to the generic VS2010 he was told to try above.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Oh, darn. Sorry for letting my confusion spill over on you, AtomicZombie!

As of January 15, 2018, Site fix-up work has begun! Now do your part and report any bugs or deficiencies here

No guarantees, but if we don't report problems they won't get much of  a chance to be fixed! Details/discussions at link given just above.

 

"Some questions have no answers."[C Baird] "There comes a point where the spoon-feeding has to stop and the independent thinking has to start." [C Lawson] "There are always ways to disagree, without being disagreeable."[E Weddington] "Words represent concepts. Use the wrong words, communicate the wrong concept." [J Morin] "Persistence only goes so far if you set yourself up for failure." [Kartman]

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Clawson, I only use assembly, so there is no makefile.

Brad

I Like to Build Stuff : http://www.AtomicZombie.com

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:

Clawson, I only use assembly, so there is no makefile.

Ah but which assembler? If avr-as then there probably is. If the Atmel assembler then I fear the Atmel staff in this thread may have mis-interpreted exactly what it is you are doing and having problems with.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Time for "the usual questions" (well, not really usual - but they have come into play before when it comes to strangeness in build systems etc):

Have you tried turning off your anti-viral software temporarily?

Any networks drives attached to your system?

As of January 15, 2018, Site fix-up work has begun! Now do your part and report any bugs or deficiencies here

No guarantees, but if we don't report problems they won't get much of  a chance to be fixed! Details/discussions at link given just above.

 

"Some questions have no answers."[C Baird] "There comes a point where the spoon-feeding has to stop and the independent thinking has to start." [C Lawson] "There are always ways to disagree, without being disagreeable."[E Weddington] "Words represent concepts. Use the wrong words, communicate the wrong concept." [J Morin] "Persistence only goes so far if you set yourself up for failure." [Kartman]

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Ok, here is my situation...

- Using AVR Studio6 with the assembler. I don't know of any other assembler, so that's the one I use.

- Programming in pure assembly for XMega384, with about 40% usage so far. By the time I am done, it will be 100% usage.

- Before upgrading VS201 to SP1, compile would be instant about 1 out of 3 tries, with the other 2 causing that crazy window flicker bug as shown in my video.

- After updating to SP1, it happens almost all of the time, even if i just add a single NOP to the code.

- Studio5 never had this problem is still does not. But S5 cannot work with the XMega384.

I have tried this on 3 different workstations (all high end machines), and it is the same. Dean has also recreated this problem from my file.

The bug happens even if I use the "start without debugging" feature as well.

A 30 second wait time to compile a 300k program on an i7 with 32gb of RAM seems a bit long!

But the key fact... it does not happen all of the time, just most of the time now. An it's not code dependent because I can just take a NOP out and that may trigger the bug. Sometimes even a recompile without changing anything will make it happen.

When I was developing my bit banged luma/chroma signal generator, I compiled about 100 times in one long night, so this added a lot of wasted time to my development. Sadly, when the flicker bug is attacking my computer, all other windows freeze as well.

Brad

I Like to Build Stuff : http://www.AtomicZombie.com

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I've been re-reading parts of the thread, and found the posts from Dean (I've read them before but the dementia must have struck).

So Dean has "been told this is an issue with Visual Studio 2010". It seems to me that there is little more that us mere mortals can try to contribute.

Slightly OT: Does ASF really support Atmel assembler?!? :shock:

As of January 15, 2018, Site fix-up work has begun! Now do your part and report any bugs or deficiencies here

No guarantees, but if we don't report problems they won't get much of  a chance to be fixed! Details/discussions at link given just above.

 

"Some questions have no answers."[C Baird] "There comes a point where the spoon-feeding has to stop and the independent thinking has to start." [C Lawson] "There are always ways to disagree, without being disagreeable."[E Weddington] "Words represent concepts. Use the wrong words, communicate the wrong concept." [J Morin] "Persistence only goes so far if you set yourself up for failure." [Kartman]

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

ASF? is this what the in-crowd are calling Studio6 now? I am so like... last year man!

I Like to Build Stuff : http://www.AtomicZombie.com

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

ASF = Atmel Software Framework

It's a set of .c and .h for use with avr-gcc to provide some pre-written software support for beginners who don't feel comfortable reading a datasheet.

Like Johan I'd be a bit surprised if any part of it were written for use with the Atmel assembler. It's sort of assumed that anyone masochistic enough to use assembler kind of knows what they are doing and doesn't need "training wheels"!

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

... I need the training wheels! Ok, maybe not both wheels, but at least one.

What about the poor masochistic fools who start into the great world of assembly using Studio6 and Xmega?

Oh I pitty dah foos!

I Like to Build Stuff : http://www.AtomicZombie.com

Pages