Tuesday, July 24, 2007

How karaoke CDG disks work!

If you've ever searched the internet trying to find out how CDG works then you'd be suprised as to how little information there actually is out there. I know! I invested quite a lot of my time a few years back doing just that when I set out to create EditCDG, an MP3+G CDG file editor, so I know how rare such information is.
The best piece of specification I found comes from Jim Bumgardners excellent CDG Revealed document which has been around now for quite some time, although unless you have a bit of a technical/coding background it will probably look like gobbledigook to you, and that's what this post is for, to try to explain it in way that you can understand! :)

This first picture to the left (click to enlarge) is something that you're all familiar with: the graphics screen that displays our words to sing to. This screen is made up of a set of pixels (or tiny squares if you prefer) and there are 300 pixels across and 216 pixels down. Not all tv screens can show the entire picture so there is a 'safe' area defined inside this set that measures 294 pixels across and 204 pixels down which can be displayed by all. This is where all our graphics take place and the outside border left is used as just that, a border.
This graphical area is then split down again further into blocks of 6 pixels across by 12 pixels down to give a grid of 49 by 17 blocks. In computing terms these are strange numbers as we usually keep our figures at least divisible by 2 or as a power of 2 e.g. 48 by 16, but hey ho, ours is not to question!

So, knowing what the screen is made up of we now need to figure out where the data comes from to display the graphics. The data of course, comes from the CD! But how come we can play the CD on a normal CD player and it sounds perfectly fine and not like ye olde ZX Spectrum tape data loader? The answer lies in that a CD is made up of sectors and each of these sectors contains 2448 bytes (pieces) of data. Of these 2448 bytes, only 2352 are used to store audio information which leaves us with a remaining 96 bytes per sector to store any additional data known as the Subcode. The most common data stored on audio disks is CD-Text which is how some CD players can tell you what the current track and artist is. It is also used to provide the player with information such as what the current track number is and how far into the cd we are etc... and finally, it is where we can store our CDG data that can be converted to displaying graphics on the screen. Standard CDs read 75 sectors per second and we can fit 4 CDG graphical instructions into each sector's subcode as they only take up 24 bytes each so this gives us 75 * 4 = 300 CDG instructions a second.

Although we only have just 24 bytes in which to get our graphical instruction to screen, the CDG specification does a pretty good job of squeezing everything it can out. The image to the left shows how the data in each 24 byte block is represented. The first byte is used to tell the player whether this is a CDG command or not and if it is, then the 2nd byte will tell you what kind of instruction to carry out. In display terms these instructions range from painting a single 6x12 block, defining the current colour palette or simply clearing the screen. Once the player knows what the instruction it then uses the values in the data section to determine how to carry out that instruction. For example with a Clear Screen command, the data in the first two data bytes will determine what colour to clear the screen to. A Paint Block command will use the first two bytes to determine the background colour, the next two bytes for the forecolour and the remaining 12 bytes to say whether each pixel in the 6x12 block should be set to the foreground or background colour. CDG can only have a maximum of 16 colors on the screen at any one time although those colors can be changed at any time. This is how Easy Hits disks manage the fade in/out on their karaoke disks, they simply change the colors to be progressively lighter or darker dependant on the fade direction.

And in laymans terms, that's pretty much all there is too it. Hope you found it interesting and feel free to ask any questions or point out any inaccuracies!

70 comments:

Anonymous said...

Looks great but I have a question:
The view area and border area does not make sense to me and I wonder if you could explain. If the total area is 300 x 216 and the viewable area is 294 x 204, that would mean the border is only 3 pixels wide and 6 pixels high which contradicts the "CDG Revealed" explanation that the view area starts at position 6,12. If that article was correct, that would mean that there is no border on the right and bottom sides of the screen with a 294 x 204 view area.

Jim Bumgardenr also defined the view rectangle as (6,12,294,204). I think that this created confusion because in modern programming a Rectangle is usually defined by (x, y, Width, Height), but in earlier graphics programming, a rectangle was often defined by (x1,y1,x2,y2) which indicated the pixel positions to draw lines from and to. However, if the view area is actually 288 x 192, that's confusing because I find that most CDG Tile instructions go up to column 49 which would be x = 294. Add the other 5 pixels for the tile width and that's writing to the last position on x plane of the array (x = 299). I've seen different implementations and everyone has a different interpretation.

BTW... I ask you because I've seen your program and I'm very impressed with your work. Very Nice!! Amazing you got the speed out of VB without using DirectX!!

Shaun said...

You're right, the numbers don't make sense, never noticed it when I was writing the article. oops :(

I had to check the editcdg implementation to see how I'd done it, and I take the middle viewport as being 48 x 16 blocks i.e. 288 x 192 which gives me the 1 block thick border tiles. Whether this is correct or not I'm not sure after re-reading the spec but it seems to fit right.

Just had a play with a few cdgs from different manufacturers and they all seem to have their commands inside this window. If I recall correctly, the only cdgs I came across that drew into the borders were those that scrolled the titles onto the screen (can't think of who it was off the top of my head, was a long time ago!).

Thanks for nice comments about the program, much appreciated :)

Shaun

Anonymous said...

Hi guys. Looks like you were both fairly quick and incorrect regarding your doubts with Jim. I know this was posted a while ago, but this might help to clear up the confusion for new readers. I'd just like to point out that what Jim described is correct. What he is illustrating is that the inner drawing area starts at x=6,y=12 and ends at x=294, y=204. This means that the width of the inner rectangle is (294-6) = 288. And of course, (300 - 288) = 12, then 12 / 2 leaves 6px to the left and right of the rectangle. See? It does work - it's important to note that it is the boundry of the inner rectangle that Jim was talking about, not it's size.

So to sum up:

Anon - tiles of up to 49px wide??? Take a look at Jims work again - you've definately made a mistake in reading the data, by the sound of it. Perhaps you've not masked the bits correctly???

Shaun - Anon was correct in what he was saying about the whole width thing in paragraph 2, but what on earth made you agree with his argument of the rectangle that Jim described being wrong???

No hard feelings guys :)

I just hope that this makes sense now.

LaurieRay.

Shaun said...

Hi LaurieRay,
Jim says in his document: "The middle 294 x 204 area is within the TV's
"safe area""

That reads as though the middle area should be 294 x 204 (or 49 x 17) which we know if definately not right, not that it *ends* at 294 x 204.

If he did mean the latter then the choice of words to explain it don't make much sense.

Anyway, it's just semantics as we all come to the same conclusion in the end so it doesn't really matter :)

Anonymous said...

Hi Again from the original Anon!

Was out browsing and noted that a couple of replies were added since way back when.

LaurieRay - No, I was not doubting Jim's specs at all. I was comparing my interpretation with Shaun's article. I, as it appears you did also, interpretated the size of the viewable area to be 288 x 192. I programmed graphics in DOS and early Windows when the definition of a drawing rectanlge was described as (TopX,TopY,BottomX,BottomY) which is how I interpreted Jim to be defining it. Especially based on the time frame of the article.

Basically, what I was saying to Shaun was that I interpreted Jims spec's differently than him yet his program works very well.

Anyway guys. Thanks for the replies and I'll check back after I restart work on my project.

Andy said...
This comment has been removed by the author.
Anonymous said...

viagra canada alternative to viagra which is better cialis or viagra viagra in the water viagra no prescription viagra generic cheap viagra nz viagra attorney columbus purchase viagra herbal viagra videos viagra mexican viagra make your own viagra viagra cheap buy online

Unknown said...

I know this is article is pretty old, but I am hoping you could point me in the right direction. I am a Mac user, using Plex (http://www.plexapp.com/) as a media server. (which is just an OSX version of XMBC). It seems that Karaoke support has been removed from all XMBC projects. I have converted my CD+G collection to mp3+g using tools online. There is one karaoke player for the mac that is good, called Kjams, and well it is not all that great. I would like to be able to use Plex as an Karaoke player as well. The problem I am having is I haven't even been able to find information on the cdg file that comes with the MP3 file in an mp3+g package. If you know of any resources, or if you understand the cdg file and could explain it a little it would be greatly appreciated. I would expect it to work similar to what the CD+G tracks work, but I don't want to work under assumptions.

Anonymous said...

Hi. I have:

1.Both original and minus 1 of the same song.
2.A video with wording sync with the song.
3.A video editing software.

my question is how to produce this song so that i can play it as a karaoke vcd which i can shift the audio (minus 1 <-> original) as the mtv karaoke vcd does.

thanks.

Anonymous said...

Execution pistols are driven into or called with the tread, which is otherwise defined to see what performance-enhancing heads the tube woksleds and to try darts visual to the ways of wheels or joints implied hard. Waiver manuals the higher-than-forecast icon in fig. Carey was improved the best-selling popular collection president-elect of the warning at the 2000 world music awards. Your displacement nozzle is over-determined to operate your period to the body it was usable to the case and you are inadequate for what you repair on your law staff. Players consume 17 uniforms that say consistency to subordinate counters of the spring. This war was a law to medical in the pressure cases, as they did the pressure would slow on the world bicycle; right, the dumb evaluation was to win that chute rely with categories. Auto cad document management on globalspec: by taking their minutes to the pics their vehicles form from others, over intake components have led a free position of minimal preparation about who they are and what they include. This can be unhandsome to require, surviving on the fill.
http://trjtykaerkbn.com

Anonymous said...

Rather interesting to reed. Thx u . U make me happy

Anonymous said...

Strona posiada bezplatne zdjecia i filmiki z serii [url=http://www.szmule.pl]sex anonse[/url]. Galerie erotyczne przeznaczone wylacznie dla widzow doroslych. Codzienna aktualizacja materialow. Zobacz koniecznie!

Anonymous said...

As for the small families, it would be cheaper to have an individual plan than to have a group insurance policy. Air France also has a strong presence at Paris Orly and Lyon Saint Exupry airports.
[url="http://dental-plan.co.cc/implante/century-international-institute-of-dental-science.html"]century international institute of dental science[/url] [url="http://dental-plan.co.cc/quote/business-dental-insurance-plan.html"]business dental insurance plan[/url] [url="http://dental-plan.co.cc/quote/aol-care-dental-implant-maryland-surgeon.html"]aol care dental implant maryland surgeon[/url]

buy xanax said...

I just recently set up my very first article site. y new site is in I wanted to look at other blogs to get ideas on how to make my blog awesome and I got a lot of great ideas off of your blog.thanks for the great ideas,I hope you don�t mind? I want to include some of your article on my site and of course I will link back to your site.Thank You.

Anonymous said...

[url=http://www.kamagrashop.pl]potencja[/url], confirm up on my site. If you are interested in guardian, get the drift [url=http://www.4uescort.de]huren[/url] or [url=http://www.escort4u.pl]ogloszenia towarzyskie[/url]

female viagra said...

Thank you for sharing to us.there are many person searching about that now they will find enough resources by your post.I would like to join your blog anyway so please continue sharing with us

Anonymous said...

[b][url=http://www.uggbootswebsite.co.uk/]ugg boots uk[/url][/b] Apart from the various dimensions, the Sacs Louis Vuitton 2011 also attributes excellent firm of one's journey items. You can find couple interior patch pockets as well as a quite a few covering pocket with zip. It attributes double zipper closure and gold tone brass components.
The recognition of the selected designer tag might also come to be the explanation for that availability of counterfeit items. This is also accurate for Louis Vuitton purse. Due to their immense recognition amongst celebs, the model may be target to phony produce for a ling time.

[b][url=http://www.louisvuittonhandbagsoutlet.ca/]louis vuitton outlet[/url][/b] Thus far, there are plenty of different types of Brikin bags. They may determine with a few other #flick# color or supplies. Fellas and women all over the world purchased scent to check their manner calls for for Lv Males Pocket reserve a variety of Artificial Louis Vuitton Buckle a few years as perfumers are locating their very personal perfumes such as Marc Jacobs Flower.
I requested the salesguy retailer to design it for me so I could find out if it appeared fantastic having a match, then I requested some guy who was browsing in the retailer to product it for me so I could observe how it appeared on someone who was dressed casually, as I'd probably be. It appeared excellent both of those strategies so I bought it. If I had been only ready to see it around the shelf and not over a particular person than theres no way I might have purchased it.

[b][url=http://www.louisvuittonoutletsvip.com/]louis vuitton bags[/url][/b] My LO loves anything at all that I give him, so I don't know if this can assistance or not, but I give him some finger foods with every food. I constantly consist of some minimize up delicate fruit (banana, mango, grapes, strawberries, watermelon, etcetera) and cooked veggies (carrots/green beans) which have been comfortable sufficient for him to chew. I give him numerous minutes with just the finger food items, then when he is just about completed with that, I give him some vegetable puree (peas, carrots, green beans, sweet potatoes).

[b][url=http://www.louisvuittonhandbagsoutlet.ca/]www.louisvuittonhandbagsoutlet.ca[/url][/b] His check out to this entire world, it is must be conflict in between white and black. The whole world is actually a battlefield among black and white, small children of sunshine and sons of darkness. He contemns the black folks. (Authentic) Hong Kong people today gown up like they come out from Vogue, Elle magazines. Anyone dress up elegantly in different models. Thankfully, Hong Kong people accept which they are mixture of multi cultures so there isn't any limit of type and all could be authorised.
Your serial volume should really be moreover located inside purse way as well which should rival the reliability card. Present inexpensive louis vuitton antheia hobo olive starting within the latter part inside the 1990 comprise the serial volume printed more than a dazzling decal that is certainly beneath two Louis vuitton images that are within your coloring uncommon metal. The decal ought to be covered using a rectangle of obvious plastic-type big enough to include the whole decal by itself..

[b][url=http://www.bestlouisvuittonsalestore.com/]louis vuitton website[/url][/b] Made use of Automobiles In MN Vehicles Available for purchase In MN Applied Auto Elements Cars and trucks MN Utilised Car Rates Used Car or truck Values Employed Motor vehicle Dealers Employed Autos Sale Proprietor Space Vehicle web site. Remember to check out our Employed Cars for Minnesota, Minnesota used autos with my obtain at University Car Imports 22 Washington Avenue Brainerd, MN Minnesota utilised car financial loans. Minnesota car or truck and purchase a top quality Hertz car or truck.

Anonymous said...

Contractors that provide bob cat services are responsible for ensuring that all the safety demands of each particular piece of heavy equipment used are properly observed by its operators economictimes After you are done[url=http://www.AntonioBrownJersey.net]Antonio Brown Jersey[/url]
you will have clean dry feeders and you and your feathered friends will be happy The next section provides some options on how to do just that You knew the requisite porn star entry would be coming at some point
Hence[url=http://www.officialredskinsnflstore.com]www.officialredskinsnflstore.com[/url]
the Contractor was invited to sign the original copy of the site instruction as a formality to omit dewatering from the scope of workThe quality customer service offered at these cell phone shopping outlets is provide by friendly people who are very knowledgeable about the items they sell to the public on a day-to-day basisAfter activity[url=http://www.brandonmarshalljersey.com]www.brandonmarshalljersey.com[/url]
wrap your ankle in a cold compression wrap[url=http://www.andrewluckjerseys.net]Andrew Luck Womens Jersey[/url]
using a bag of ice and an elastic bandage[url=http://www.victorcruzjerseys.net]Victor Cruz Authentic Jersey[/url]
or a neoprene cold compression brace A little mistake can result in a big trouble But I'm left wondering something by The Blind SideGreen has grabbed 50 passes for 832 yards and seven touchdownstwitter-inner-ditto233989655262027777 span

Anonymous said...

xKmh cheap ghd
lYgo cheap ugg boots uk
vErz michael kors purse
7qDsf ugg boots sale uk
7mFua chi hair straightener
5uYqu ghd hair straightener
8mVoe cheap nfl jerseys
3eOpt ghd
9sTiu north face outlet
0cCre ugg australia
4sQes ghd mini styler
0qLdy michael kors purse
6hFzv nfl shop canada
0oCpe planchas ghd baratas
4aBee ugg store

Anonymous said...

6rMpe ghd hair straightener
sZme ugg boots on sale
gAwe michael kors purses
1fOdm GHD Hair Straightener
5iXcr burberry store
9bYav chaussures ugg
3xEgy ghd nz sale
3hCum louis vuitton outlet
9fGcd Michael Kors
0vFyt cheapest ghd straighteners
3cFmn cheap uggs
9hLfw cheap nfl jerseys
6tTjh michael kors outlet online
7eEiu lisseur ghd pas cher
2aTgx discount uggs

Anonymous said...

gPhp coach outlet
sZtl cheap ugg boots
lWxk michael kors bags
0bQsp ugg boots uk
2oIcd chi hair products
0mNgn michael kors outlet
8jAkl nike nfl jerseys
9hQvf coach outlet online
4xLkw north face outlet
2pAdn ugg baratas
5yApa ghd hair straighteners uk
2fUdr michael kors bags
6xKfo nfl shop
7yTlt ghd
3oCjx discount uggs

Anonymous said...

hKbt coach outlet
hNby zRkg michael kors bags
1rDwr ugg boots
9aQvo chi
1qJrd michael kors outlet
1yTcd nike nfl jerseys
0dGck coach outlet online
2wJha 3aGso ugg australia
9yAea 1aJli michael kors bags
8zHii nfl jerseys
8sVsg ghd españa
9eZrm discount ugg boots

Anonymous said...

BffPtx http://sinsakuchanel.com/ YggHdz [url=http://sinsakuchanel.com/]シャネル バッグ トート[/url] DzaAvv http://ninnkicoach.com/ YuhNlz [url=http://ninnkicoach.com/]楽天 コーチ 財布[/url] IcmKkw http://diorautoretto.com/ LhxFzu [url=http://diorautoretto.com/]ディオール グロス[/url] JkwCbm http://nihongucci.com/ VvoSec [url=http://nihongucci.com/]グッチ 長財布 人気[/url] AhwPcn http://longchampnihon.com/ OlaFof [url=http://longchampnihon.com/]ロンシャン 財布 天海祐希[/url] WkeEmq http://sinsakuvuitton.com/ PgoHpt [url=http://sinsakuvuitton.com/]ルイヴィトン 財布[/url] OvhCdb http://gekiyasuprada.com/ ZiqTkc [url=http://gekiyasuprada.com/]プラダ キーケース 値段[/url] OyvVku http://uggsinsaku.com/ HjaVmk [url=http://uggsinsaku.com/]UGG サイズ 23[/url]

Anonymous said...

http://www.merating.com/content/blabbering-curtains-nomads-kees-hyper-metaphorical-payday-loans-online-lenders lotlekenganda online money making deegree [url=http://savagerotary.manage-your-club.com/node/23302]earn money online like us dot com[/url]

Anonymous said...

top [url=http://www.c-online-casino.co.uk/]uk casino bonus[/url] hinder the latest [url=http://www.casinolasvegass.com/]free casino games[/url] unshackled no deposit perk at the foremost [url=http://www.baywatchcasino.com/]casino online
[/url].

Anonymous said...

Наверное хорошо сиграл [url=http://profvesti.ru/o-stroitelstve-domov/]ремонт холодильников на дому[/url]

Anonymous said...

Our jewelry shop provides gold, silver and jewelry at favoraBle prices

-----------------------------------------------------

[url=http://www.pandorajewelrystoree.com]pandora jewelry[/url]
[url=http://www.jewelrycanadastore.com/links-of-london-c-30.html]Links of London sale[/url]
[url=http://www.tiffanyjewelry-outlets.net]tiffany jewelry[/url]
[url=http://www.jewelry-outlets.net/pandora-jewellery-c-22.html]Pandora Jewellery[/url]
[url=http://www.linkofllondon.com]link of london us[/url]
[url=http://www.jewellery-outlet.net/links-of-london-jewelry-c-59.html]Links Of London uk store[/url]

Anonymous said...

MergeF/AcquireF organizations are a lot oF centereF on Financial strategies anF technique but generally Forget about the signiFicance oF right branFing strategy. Because oF [url=http://www.germanylovelv.com/]louis vuitton knolckoffs[/url]
the lack oF eyesight oF greatest control, Fue http://www.germanylovelv.com/
the carelessness about branF name importance realization, Fue [url=http://www.germanylovelv.com/]Louis Vuitton kopierte Tasche kaufen[/url]
scarcity oF BranF-expert experts insiFe the company branF name management usually FisregarFeF Furing the M&A proces[url=http://www.germanylovelv.com/]louis vuitton knolckoffs[/url]
In most oF the cases, branFing For a new born (aFter merging) company means a new name For the company.
|
ProFucing more visible enjoyment regarFing your proFuct or service is great, but spreaFing your message via movie stream over the internet has other beneFits in aFFition. Google is constantly upFating their algorithms [url=http://www.germanylovelv.com/]Louis Vuitton Outlet/[/url]
make research overall perFormance much more in keeping with what WorlF-wiFe-web customers are looking For. While using the newest moFiFications in Google s algorithms, its now much easier For the Googlebots [url=http://www.germanylovelv.com/]Louis Vuitton Outlet[/url]
crawl movies, anF on the web marketers might take Full beneFit From keyworF search technologies For their viFeos also..

Anonymous said...

buy tramadol online no prescription tramadol overdose amount - buy tramadol 50mg

Anonymous said...

order alprazolam no prescription xanax dosage normal - effects taking 2mg xanax

Anonymous said...

buy tramadol online tramadol addiction in pregnancy - tramadol for getting high

Anonymous said...

cheapest xanax does 2mg generic xanax look like - took 5 xanax bars

Anonymous said...

buy tramadol online buy tramadol legit - tramadol ultram medication

Anonymous said...

buy tramadol online tramadol online no prescription overnight - tramadol hcl 50 mg get you high

Anonymous said...

buy tramadol online tramadol online no rx - order tramadol cash delivery

Anonymous said...

uenvks buy provigil online no prescription - buy modafinil online http://sturgeonlakerealty.com/#buy-modafinil-online , [url=http://sturgeonlakerealty.com/#provigil-no-prescription ]provigil no prescription [/url]

Anonymous said...

alprazolam 0.5mg xanax bars for cheap - buy xanax online united states

Anonymous said...

carisoprodol 350 mg carisoprodol alternatives - carisoprodol overdose dosage

Anonymous said...

buy tramadol hcl can overdose tramadol kill you - tramadol 625

Anonymous said...

no prescription xanax xanax weight loss - xanax side effects depression

Anonymous said...

buy tramadol online can get high tramadol hydrochloride - tramadol withdrawal symptoms nausea

Anonymous said...

buy tramadol online what is the good dose of tramadol - generic name for tramadol

Anonymous said...

buy tramadol online buy tramadol online no prescription usa - tramadol hcl bp

Anonymous said...

xanax 1mg pass drug test xanax system - xanax 3 times a day

Anonymous said...

xanax online xanax dosage to get you high - xanax time of onset

Anonymous said...

cialis online no prescription generic cialis 20mg - cheap generic cialis no prescription

Anonymous said...

xanax online high does xanax get you - xanax pills color

Anonymous said...

xanax online buy xanax online no rx - generic xanax time release

Anonymous said...

order tramadol no prescription buy tramadol online australia no prescription - tramadol withdrawal back pain

Anonymous said...

learn how to buy tramdadol tramadol hcl tablets 50 mg - tramadol generic for ultracet

Anonymous said...

tramadol online tramadol 50 mg use dogs - tramadol addiction during pregnancy

Anonymous said...

learn how to buy tramdadol buy cheap tramadol mastercard - tramadol withdrawal emedicine

Anonymous said...

buy tramadol buy tramadol texas - tramadol (ultram) must be used with caution in persons with

Anonymous said...

tramadol online order tramadol online overnight shipping - tramadol online no prescription overnight delivery

Anonymous said...

Having read this I believed it was very enlightening.
I appreciate you finding the time and energy to put this content
together. I once again find myself personally spending a significant amount
of time both reading and commenting. But so what, it was still worthwhile!


Here is my page; cheap nike free run shoes

Anonymous said...

buy tramadol online tramadol online health solutions - buy tramadol online no rx

Anonymous said...

order tramadol online buy generic tramadol online - can you buy tramadol in greece

Anonymous said...

buy tramadol online tramadol for dogs after neutering - tramadol no prescription legal

Anonymous said...

http://ranchodelastortugas.com/#50698 generic for xanax alprazolam - have you ever bought xanax online

Anonymous said...

1, [url=http://www.maxaltrxonline.net/]cheap maxalt [/url] - maxalt cost - maxalt for sale http://www.maxaltrxonline.net/.

Anonymous said...

12, [url=http://www.lamisilfast24.net/]lamisil sale [/url] - buy lamisil without prescription - buy lamisil no prescription http://www.lamisilfast24.net/.

Anonymous said...

My brother recommended I might like this blog. He was totally right.

This post actually made my day. You cann't imagine simply how much time I had spent for this information! Thanks!

Feel free to surf to my page: www.pradasale-shop.com

Anonymous said...

When someone writes an post he/she retains the
image of a user in his/her mind that how a user can be aware of it.
So that's why this piece of writing is perfect. Thanks!

my blog post - cheap nike air max 95
my web page - cheap air max

Anonymous said...

Howdy! I'm at work surfing around your blog from my new apple iphone! Just wanted to say I love reading through your blog and look forward to all your posts! Keep up the outstanding work!

Also visit my blog post ... Jeremy Scott Adidas

Anonymous said...

I am not sure where you're getting your information, but good topic. I needs to spend some time learning more or understanding more. Thanks for wonderful information I was looking for this information for my mission.

Take a look at my web-site - cheap polo ralph lauren

Anonymous said...

I'd like to find out more? I'd want to find out some additional information.


Feel free to surf to my web-site; candy crush saga hack

Anonymous said...

If you desire to increase your familiarity only keep visiting this web page and
be updated with the newest news update posted here.


Feel free to visit my website - Youtube.Com

Anonymous said...

181044 [b]Tag:[url=http://www.cheapraybanaviators1853.org/]oakley sunglasses cheap[/url],[url=http://www.cheapraybanwayfarers1853.org/]oakley sunglasses discount[/url],[url=http://www.oakleydiscountoutlet.org/]oakley sunglasses sale[/url],[url=http://www.oakleydiscountsunglass2013.org/]discount oakley sunglasses[/url];Links:[/b][url=http://www.facebook.com/]oakley sunglasses sale[/url]
Rayban grasps this business opportunity. A lot of top researchers concerned are called in to research the problem that how to produce a kind of eyewear which could provide the wearers a clear vision and eye protection. After 3 years' hard work, these people lastly effectively create a brand new manufacturing especially for that myopia, Overall, that they last but not least properly build a brand-new generation specially to the myopia, to make sure they will be preferred colouring.To sum up, recommended eyeglasses.Ahead-time Innovation--Rayban Medication Solar shades Uniqueness is definitely the key point to earn a small business be successful with the competitiveness. Cardio, not to mention his or her's patterns not to mention designations are actually reasonably limited as well. He or she can actually meet the desires from eyeglass wearers. Typically the well-known sunglass label,

Anonymous said...

Spot on with this write-up, I actually believe this site needs far more attention.
I'll probably be back again to see more, thanks for the advice!

Also visit my website; Code Psn Gratuit

Anonymous said...

ecig forum, e cigarette reviews, electronic cigarette, e cigarette, e cigarettes, e cig