text:
Milberg LLP Announces Filing of Class Action Lawsuit against Vipshop Holdings Limited, and Certain of Its Officers

Free Vipshop Holdings Limited Claim Evaluation
  • The submission of information to Milberg LLP or one of its attorneys does not create, and the receipt of it does not constitute, an attorney-client relationship. This website presents general information about, among other things, Milberg LLP, currently pending lawsuits, and on-going investigations, which is not intended to be legal advice, nor should you consider it as such. Nothing said herein is intended to waive the privilege that applies when contacting a lawyer for the purpose of exploring legal representation. Contacting Milberg LLP does not, and should not, limit you in any way from seeking legal advice regarding this or any other matter. By submitting this form, you agree that Milberg LLP may contact you about this or other potential matters of interest to investors and consumers.

Milberg LLP announces that class action lawsuit has been filed in the United States District Court for the Southern District of New York on behalf of purchasers of Vipshop Holdings Limited, (“Vipshop” or the “Company) (NYSE: VIPS) securities during the period of February 17, 2015 to May 11, 2015, (“the Class Period”).

The complaint alleges that throughout the Class Period, Vipshop and certain of its officers violated the federal securities laws by disseminating false and misleading statements to the investing public.

Specifically, the Complaint alleges that during the Class Period, defendants made false and/or misleading statements and/or failed to disclose that: (1) Vipshop manipulated and overstated sales, receivables, profit, cash flows, and asset accounts including inventory and investments; (2) Vipshop’s financial statements contain GAAP violations by reporting revenue on a ‘gross’ basis, despite the fact that the vast majority of the company’s sales are under a consignment arrangement; (3) Vipshop’s internal controls over financial reporting were ineffective; and (4) as a result of the foregoing, Vipshop’s public statements were materially false and misleading at all relevant times.

On May 12, 2015, Mithra Forensic Research published a report on Vipshop (the “Mithra Report”) asserting, among other things, that: (1) forensic models suggest Vipshop manipulated sales, receivables, profit and other asset accounts; and (2) Vipshop’s financial statements have been contradicted by management’s own disclosures in several instances.

In reaction to this news, Vipshop’s stock price dropped over 5%  to close at $25.78 on May 12, 2015.

If you purchased Vipshop shares between February 17, 2015 and May 11, 2015, you may, no later than July 20, 2015, request that the Court appoint you lead plaintiff.  A lead plaintiff is a class member that directs the litigation.  Your share in any recovery will not be affected by serving as a lead plaintiff.  You do not need to be a lead plaintiff to recover.  You may retain Milberg LLP, or other attorneys, for this action, but do not need to retain counsel to recover.  If this action is certified as a class action, class members will be automatically represented by Court-appointed counsel.  The complaint in this action was not filed by Milberg.

If you would like to learn more about this potential matter, please fill out the form on the right or contact the following attorney:

Andrei Rado, Esq.
Milberg LLP
One Pennsylvania Plaza, 49th Fl.
New York, NY 10119-0165
Phone number: (800) 320-5081

Milberg LLP has been representing consumers and investors for more than four decades and serves as lead counsel in federal and state courts throughout the United States.

Attorney Advertising.
Prior Results Do Not Guarantee A Similar Outcome.


Content-Type: application/http; msgtype=response

WARC-Identified-Payload-Type: text/html

WARC-Truncated: length

WARC-Type: response

text:
Instant Payday Loans in Draper, Utah

    Instant Payday Loans
  • Submit Form
  • Get Response
  • Get Your Cash

Draper Instant Payday Loans

We approve all types of bad credit loans immediately without producing any documents, instant payday loans in Utah.

  • You could always revisit the issue in the future if you feel that your habits have changed for the better.
  • Loan experts are available to you online or via See More Rates Rate Conditions
  • Student loan money expert pay As You Earn: Pay As You Earn works similarly to the new IBR plan.

All of you have been just wonderful to communicate with, instant payday loans in Draper.

loan payments via check, we charge a $7 processing fee per payment.

In the financial industry, they are called unbanked orA

Then again, its essential as ever to stay mindful of your credit amid circumstances such as this so you can manage any potential issues

Instant Payday Loans

The Telegraph reported in the summer of 2013 that 17 lenders out of the 50 inspected by the OFT were found to be actively promoting rollovers in marketing material, instant payday loans in 84020.

  • For college textbooks, many campus bookstores now provide "buyback" services.
  • Loan need, be, non profit financing over, the sold, to a and repayments come options money how supplying.
  • Lastly, there

Simply apply online and you could have up to Just apply online - whether you're on the go, at work, or from the comfort of your home.

But then was told conveniently that I could pay them 400 and there would be no problem, instant payday loans.
Privacy Policy Terms of Service.

Lendgreen Customer Service Obtain $1000 Payday cash loans within Quick Period.

6 months installment loans here are a few other instances when you might want to take out a credit card cash and you don’t have enough money in your checking account Your short-term expenses are higher than usual because of an emergency or unplanned purchases

you will be able to pay it back in less than a couple of weeks).

Testimonial Ventura Creasy I realize there‘s a process, however being as if I supplied all suitable detection, which  the sales person verified that the check was genuine through the lender and by my manager- I chopped this around not just a middle of time but an underpaid staff with an over exercised power trip!

Ventura Creasy

13 July 2015

Testimonial Treena CarronOnce I stepped the super-beneficial man functioning in the retailer explained to us how works.

This location requires used motorcycles and fixes them up so that they come in excellent issue.  They give a-one month warranty on all(?!) used bicycles they provide.  The bicycles very good quality as well as in fantastic (and fixed-up) issue to get an used cycle.

the costs are a bit higher-than you could find in another, less respected, applied bicycle look.  I was buying a cheaper cycle (I‘m holding it outside.

Treena Carron

13 January 2016

Testimonial Rochefort HarafIn general from realizing all of it I acquired around $250 for what was functionally waste, and also the satisfaction, gets discarded the proper way.

As Well As The folks you'll find genuinely helpful and great. Highly recommend Find in. get-out

The office is a cluttered pit in a wall, but when you'll need a reasonable offer on your notebook/pc/device, that is where you've to-go.

Rochefort Haraf

13 May 2016
More reviews

ZIP codes near Draper

    instant payday loans
    Instant Payday Loans
    from 10 to 1000$
    Rating of Instant Payday Loans
    4.98 stars - based on 75 reviews
    Draper, UT, USA
    Instant Payday Loans
    1346 Draper Pkwy, 84020, Draper, UT, USA
    Instant Payday Loans

warcinfo:
robots: classic
hostname: ip-10-166-65-126.ec2.internal
software: Nutch 1.6 (CC)
isPartOf: CC-MAIN-2017-26
operator: Common Crawl Admin
description: Wide crawl of the web for June 2017
publisher: Common Crawl
format: WARC File Format 1.0
conformsTo: http://bibnum.bnf.fr/WARC/WARC_ISO_28500_version1_latestdraft.pdf


text:
Saturday, April 29, 2006

What awful timing

This news will be enough to make England fans cry. Wow. Wayne Rooney out for 6 weeks with a fractured right foot and England's World Cup opener exactly 6 weeks away, too. I was of the opinion that a full strength England squad would have at least a semifinal run in them. But this changes that outlook. The big question now is who pairs with Owen (himself recovering from injury) at forward? What a nightmare scenario for Sven.

Comments: Post a Comment

This page is powered by Blogger. Isn't yours?


text:
International Advisory Board

Risk Architecture

Inaugural Director, LSE South Asia Centre
Associate Professor, Department of Anthropology
The London School of Economics and Political Science

Senior Fellow, CASI
(IAB Chairman, 2004-12)
President Emeritus, Chicago Council on Global Affairs

Director of Admissions
American Embassy School, New Delhi

Managing Director
Jennison Associates

(ex officio)
Center for the Advanced Study of India
Professor of Political Science
Madan Lal Sobti Professor for the Study of Contemporary India
University of Pennsylvania

Co-Chief Executive Officer
Warburg Pincus LLC

Artha Capital

Chairman, The Global Education & Leadership Foundation
Vice Chairman, SUN Group

Founder and Senior Partner
AZB & Partners

President & Chief Operating Officer
P. Schoenfeld Asset Management LP

Group Worldwide Chairman
Member of the Executive Committee
Johnson & Johnson

Managing Partner

Founding Partner & CEO
New Silk Route
Partners; and
Founding Partner & CEO
Vedanta Capital

Chairman and CEO
MKS (Switzerland) S.A.

Managing Partner
Karya Capital LP

Senior Advisor
Credit Suisse

(ex officio)
Academic Director and Chief Executive
University of Pennsylvania Institute for the Advanced Study of India

Chief Economic Adviser, Government of India
Dennis Weatherstone Senior Fellow
Peterson Institute for International Economics (on leave)
Senior Fellow and Director of Understanding India Initiative
Center for Global Development (on leave)

Senior Associate
Carnegie Endowment for International Peace

Honorary Life Members

President Emeritus, Princeton University and
US Ambassador to India, 1977-80
Chairman Emeritus

Former Member of Indian Parliament (Rajya Sabha)
Chairperson, India International Centre-International Research Division
Former Member of Executive Board, UNESCO


WARC-Identified-Payload-Type: application/xhtml+xml

text:
Tuesday, January 31, 2006

Bring it, X-Men 3! (Please.)

So I LOVED the first X-Men film, and I'm one of those tormented neurotic people who gets all I.B.S. when a new incarnation of something I already love appears on the horizon, meaning I spent the entire month prior to the X2 release torturing my colon with my fear that it would suck. But then, for the love of god and two-ply, it didn't suck at all! In fact, it ruled! Crisis averted.

But oh, have mercy, here comes X-Men 3. Just typing that made me colicky, like someone twisted a bread tie around a segment of intestine, because this time I have a legitimate reason to worry: no Brian Singer. I'm sure you know by now that Singer, the ditching, traitorous bastard, left the X-Men franchise to make a new Superman movie, condemning me and my excretory system to months of twitchy hell. Curse you, Brian Singer. Curse you, sir.

Sure, the trailer (linked above) looks hot. I thought the trailer for Hidalgo looked hot, too, though, and note how that turned out. You can't judge a movie by its trailer, is all I'm saying, and any moron should be able to crank out a couple of minutes of decent footage, especially with a cast of ridiculously hot people in badass costumes. Too easy.

You know, here I go again, but X-Men is another film I present sometimes in classes to exemplify common archetypes. I think it's important to show young people that all of this crap is applicable to the world they know; it's not just an Old Thing. Regarding the mutants, for example, we discuss the gendered nature of certain mutations, taking into account the fact that mutants tend to exhibit their first "symptoms" at puberty, the same time at which they first exhibit secondary sex characteristics. Some of the more intriguing ideas that have been picked at during these sessions:

Rogue = castrating female/femme fatale. Her first scene involves nearly killing her boyfriend by kissing him, literally draining his life force with her desire. It doesn't matter that it's unintentional--Sister's a maneater all the same.

Logan/Wolverine = a Jungian persona with a serious shadow problem. He has an animal side, and a lot of the time he's content to let himself be that animal. Xavier is trying to help him by making him more comfortable with his humanity. This is what's so compelling about the bed scene between Rogue and Logan, by the way--watch it again with all this in mind and you'll see a girl we know to be virginal (underscored by her demure flowy "lead me to the sacrifice" nightgown) leaning over a violent shirtless man who's thrashing around in bed, who suddenly lurches up and penetrates her with a primal roar. We see blood seep into her virgin's gown. Then she almost kills him by draining his healing power to save herself.

Storm = archetypal association of the feminine with the natural and elements of nature (Mother Nature, Earth Mother, etc.)

Jean = association of the feminine with nurturing (doctoring) and intuition/empathy (telepathy)

Cyclops = another penetrative power

Mystique = another mankiller, for sure, with her la belle dame sans merci powers of deception and her slinky seductiveness

Xavier = gender neutral? He's powerful, yes, but he's also emasculated by paralysis. Interesting. . .

Magneto = awesome, first and foremost, and elemental, which denotes a manlier association with nature, I think

Anyway. Please don't let X-Men 3 suck. There aren't enough antacids in the world.

Monday, January 30, 2006

It's almost soccer time again

Yeah, the photography sucks; I'm the most incompetent picture taker ever. But much more than a staged studio shot could, this photo reveals the utter glorious chaos that is youth soccer: players more interested in their post-game snacks (here apparently those wretched Fruit Roll-Ups) than Vaughn's dork mother's photo request; parents and siblings milling about, banging into each other with their slung-over-the-shoulder camp chairs; the sun descending on our last game of the season while we linger.

My husband got blackmailed into coaching the team like a month after we moved to town in 2003. I'm not even being melodramatic about that--I stand behind my accusation. Mike called the local soccer club to get our son Vaughn (second from left) signed up for the fall league, and the director hemmed and hawed, all faux sympathy, "Weeeeell, we don't so much have an opening on a team right now. In fact, we have several other devastated children in the same tragic circumstances. If we could only find SOMEONE to start another team. . ." Uh huh. Bottom line: Coach a team or listen to your kid cry about not getting to play. Your call. . . coach.

The thing is, he's really good at it, and the kids adore him, which is wonderful to watch. I love my husband a lot anyway, but my heart trip-trips when I see those little boys gathered around him, their faces turned up like blossoms to the sun. He draws on a whiteboard with soccer field lines painted on it, and they crowd up to look, taking opportunities here and there to aim a jovial kick or push at each other, a litter of puppies gamboling around the world's most patient obedience instructor.

Compare Mike's benevolence to my game-day position-of-choice--parked in my camp chair talking smack about the opposing team's parents--and we have a clear champion of the moral high ground. But, hey, married people are supposed to complement each other, right?

Sunday, January 29, 2006

Sometimes I wonder: Is Bryant Gumbel Still an Ass?

Remember when Bryant Gumbel was on television? And an ass? Is he still either or both of those things?

I'm sure a quick google would provide the answer, but it's easier and more fun to speculate. I'm going to go with. . . yeah, still an ass. I'm not sure recovery from his level of assitude is even possible.

We live in a privileged time. In 2006, I can simply gorge on reality shows like American Idol and The Apprentice when I feel the Faustian urge for overstimualtion, particularly of the areas of my brain dedicated to hating others. In 1997, however, finding objects of loathing on television was still somewhat hit or miss. And then, in October of that year, John Denver died, and in my grief I did something I had never done before: I got up in the morning and turned on the Today show.

Please understand that I was not seeking a hatee that day. (But don't the best ones tend to find you?) I tuned in because I had heard that some guy named Gumbel ("Isn't he a sportscaster?" I thought) would be interviewing Annie Denver, John's ex-wife and subject of the lovely "Annie's Song."

Appallingly, it wasn't so much an interview as a confrontation. I never saw such a bully in my life. Annie Denver was on remote camera, not in the studio, which is probably the only reason Gumbel is still out there somewhere assing up the world, because by the time it was over her hatred of him was even more of an elephant in the room than his roaring ego, and I have no doubt she could've taken him. In fact, the positive flip side of the lip-curling disgust I developed for Gumbel is the awed respect Annie inspired in me. Beneath the cocoon of dignity she had spun around her you could see she was shattered; upon Gumbel's first question, "How are you doing?" her lips quivered and her eyes welled as she answered with raw honesty: "It's been real hard."

I think she had Gumbel's number, though, and knew something of what she was in for. I watched through my own tears as, after that brief tremble of weakness, she snapped her shell back into place and faced her enemy. Then things got weird. Gumbel, enmeshed in some bizarre delusion, took it upon himself to rewrite the particulars of Annie's life as if he knew more about it than she. And he did it all with a giant smirk on his face. He's interviewing someone who just had to tell her children their father was not only dead but in several pieces, and he's smirking.

Annie Denver 2, Bryant Gumbel 0

Here are the two most egregious acts of assness in the interview:

1) Gumbel--who clearly believed himself in possession of an adoring public that tuned in to hear his hot gas instead of, oh, the interviewee?--declared with absolute conviction that Annie Denver and John Denver had remained "the best of friends" after their divorce. She interrupted (causing a twitch of the smirk) to correct him: "Well, people get divorced for a reason, Bryant. We had our problems, but he was a good man." Good for her, but where the hell does he get off twisting her tragedy into his narrative in the first place? "They were the best of friends" brings more drama, I guess, and he obviously didn't expect her to have the will to confront his fictionalizing. Ugh.

2) Even more laughable, Gumbel, smirk turned up to eleven, played "Annie's Song" and told her that of course it was her favorite John Denver song. Told her it was her favorite song. She, cementing her position in my hall of fame, didn't let THAT go either, but said firmly, "NO, it's actually NOT," and told him which of her own ex-husband's songs she herself did, in fact, like the best, while he smirked some more and acted all "OK, sure," like he was going to be a nice guy and let it go even though he knew he was totally right. So patronizing. So ass.

When he finally stopped yapping at her my sigh of relief echoed hers. Wherever she is now, I hope she's happy, because wow do I admire her for sticking up for herself against that insufferable know-it-all, especially considering she was doing it with a busted heart. It would've been so easy to just play along and let the baby have his way. As for him. . . actually, I don't give a damn about him.

[below, "Call me Assmael."]

Friday, January 27, 2006

Most of my students can say "penis" out loud without fainting now

So I dragged my juniors through Freudian literary criticism last week. Bless them. As soon as I start throwing "penis" around they go to blushing and giggling and staring down at their desks. When I was in 4th grade some other idiot 4th grader traumatized me by swearing that in junior high they totally make you have sex, like, for class. That's how my students look when I say "penis," like they think if they make eye contact with me I'll make them come to the front and touch one for a grade. [at right, "You know you envy my cigar"]

Eventually, though, almost all of them get bolder and start feeling empowered by their ability to say "penis" without whimpering. They also really enjoy my treatise on the function of gender imagery in The Lord of the Rings, which I am pleased to set into print for the first time here:

On the surface, Tolkien's trilogy appears very phallocentric. Sure, Galadriel exhibits some gauzy power, and Eowyn strikes her blow for the First Wave, and Arwen. . . gets married or something, but you can't ignore the fact that there are no women in the Fellowship. Characters like the River Daughter and the missing entwives are mentioned at times, but for the most part the narrative looks like a storm of phalluses ("hallelujah, it's raining swords, bows, axes, staffs, and towers") with maybe a vague suggestion that every now and then the winds shift and people get born with vaginas instead.

Typical fantasy fare, right? Testosterone everywhere and chicks only when someone needs a wife, mother, or lay. Except. . . back away from the literal and check out what happens. Setting aside the paucity of actual females in the text, there sure is a lot of symbolic femininity.

The most obvious example is the hobbits. Must we be reminded every time a hobbit draws his sword that said sword is laughably stumpy compared to those of Men? Perhaps there's an agenda there? Also, of course, there's the hobbits' passive domesticity. The Shire is like a cushy multiplexed womb, all verdant rolling hills and snug hobbit holes, and hobbits don't leave to go to wars. Who would care for their flower beds while they were gone?

Additionally, consider the hobbits' advanced emotional intelligence. Frodo and Sam, Merry and Pippin--these guys adore each other, and they have no homophobic self-consciousness about showing it. When hobbits love? They emote. Right out in your face.

It's no coincidence that Eowyn and Merry end up in the same situation, told by the patriarch that they're too weak to go to the big boys' war, they'll just get in the way and have to get their little selves rescued by someone with more important things to do. But as it turns out, being wee enough to sneak up behind a ringwraith and stab him in the back of the knee isn't such a bad thing, and the fatal error that ringwraith makes can only be capitalized upon if Eowyn is there to take his arrogant ass out. Peter Jackson, PRAISE HIM, directs Eowyn's scene of triumph perfectly. She's terrified, cradling a broken arm, but that bastard will not touch her uncle. After separating the phallic neck of the wraith king's steed from its body, she stands her ground against the embodiment of every male person who ever snubbed her. When he says no man can kill him, Miranda Otto's disgusted expression is very "oh my god not THIS shit again," because the guy has completely ignored the fact that other folk live on the earth besides men. He really believes that if a man can't kill him he's destined to ponce around and wreak havoc with impunity forever. And why would Tolkien have Eowyn scoff that line out loud anyway if not to emphasize the gender politics of the situation?

[above, "Get that thing out of my face"]

Which brings us to the ring, a feminine symbol itself. Hovering over these phallic power struggles, the towers and swords and wizard's staffs, the ring's immense power remains impervious to manly forms of disempowerment. Slice off orc heads 'til the entwives come home, but that won't defeat Sauron. It doesn't even annoy him that much--they're disposable orcs anyway. So what does beat him? A girl takes out his first officer and some wussy hobbits pass right beneath his giant single eye and burn up his pretty.

But let's not forget that Frodo drops the game-winning pass at the goal line. The ultimate message? No one can combat evil alone. When he goes power mad and acts like Isildur--like a man--he's lost. Sam and Gollum (the latter of whom, we must recall, only survived to that point because of mercy shown by Bilbo and then Frodo, mercy being a virtue associated more with a feminine value system than a male one) have to drag Frodo back from the abyss. If they aren't there, Middle Earth is toast.

So we learn: Don't be so arrogant as to think phallic power is enough; in fact, it's particularly vulnerable to temptation that seems to promise more power, like that of the ring. Middle Earth needs a balance of femininity and masculinity to combat Sauron's singleminded, self-interested quest for power.

Thursday, January 26, 2006

God, I love Judge Judy

Seriously. Check out what I have to look forward to when I get home from work today:

Case #1: Three Rottweillers allegedly invade a woman’s home, destroy property and attack her terrier.

Case #2: Parents dispute responsibility for damages after a party where their minors were allegedly served alcohol.

Home Rottweiller Invasion! Minors in Possession! And that's just the first half hour! A second dose of awesome is delivered immediately thereafter!

The best analogy I can think of: A week after my son was born I woke from one of those 2-hour lapses in consciousness that constititute the closest approximation of "sleep" available to a new parent. I knew immediately that Something Was Wrong. A new Something, a Something that had not been Wrong before. Within the hour I was calling my OB's office from the bathroom because my life's blood was in such a rush to exit through my ravaged birth canal that I couldn't get up from the toilet without leaving a trail of gore to foil even the mightiest Swiffer. My husband gathered up our son and drove me to the emergency room, into which I staggered looking like an extra from Law & Order: SVU, bleeding through my industrial-strength postpartum maxi pad, my pants, AND the bath towel I was clutching to my crotch. I made such a ghastly sight that a woman in the waiting room gasped and said, "Oh, honey, you're having a miscarriage!"

Damned rude of her, in retrospect. The old busybody.

ANYway, my OB eventually showed up and scraped me out and then checked me into the hospital for the night with a technological advance rivaled in fabulousness only by TiVo: the morphine pump. All through that glorious night, whenever the pain of my traumatized womb began to stalk me, my defender, my Lancelot, my dearest Morphine could be summoned to slap down a Temporary Restraining Order with only a touch of the button cradled in my grateful hand.

That's what it's like to have Judge Judy twice a day every day, like I get to keep pushing some button of awesome. I love that moment after watching the first episode when I get to revel in the fact that I'm only half done. There's just something so perfect about that show, like it's this pocket parallel universe, this special place where over and over you get the rush of witnessing people getting exactly what they deserve.

Maybe not so much with the "unnatural acts"

I just adore Horatio, though, and since I quoted Hamlet's "words" line in my title I needed something from his BFF as a complement. If I had a fantasy BFF? Horatio. I appreciate Hamlet's complexity, particularly his delicious facility with language, but Horatio's steadfast loyalty never fails to move me. I mean, do you have any friends who would try to drink poison because you died? I'm pretty sure I don't.

Gods love Kenneth Branagh for directing Nick Farrell so brilliantly in his Hamlet movie--and Farrell himself for his subtle performance. Hey! Maybe he would consent to becoming my BFF, providing me a kind of six degrees of separation connection to the problematically fictional Horatio.

Nick! Call me!

Number of online users in last 3 minutes


text:
campus wide alert

Upcoming Events.

Opening Convocation

August 18

Omwake-Dearborn Chapel

Category: Special Events

50yearchapel04.jpgCatawba's campus community will gather together for Opening Convocation on Tuesday, August 18 at 4pm in Omwake-Dearborn Chapel. The event will serve as the official convening of the 2015-2016 academic year.

A campus community dinner, club fair and celebration will follow the ceremony in Cannon Student Center. Check your campus e-mail or the back of the event program for other evening activities planned.

NOTE: due to inclement weather, locations for these activities have changed.


text:
Wednesday, April 2, 2008

Mason Dixie After Dark Nightie

Originally uploaded by Catheaven.

IS FINALLY DONE! It was a fun and easy project. The yarn has a wonderful soft feeling and lovely drape. Holding this project up I thought it might be too heavy but having it on it really isn't. The one thing i didn't like was while i was working with the yarn. The only way I can describe the feeling is like dumping a lot of powder on my hands. I can't say I'd work with the yarn again anytime soon.

Overall I'm proud of the project!

Catheaven's Hobby Corner © 2008 Por *Templates para Você*


text:
This Week's Events

Registration for the 2017-2018 School Year is ongoing.
Summer Office Hours
Closed June 26th - 30th
July & August (beginning July 5th)
Tuesday, Wednesday & Thursday
9:00 am - 1:00 pm

Please continue to support our ongoing fundraisers: Ink Cartridge/Toner Recycle, Box Tops for Education, Pop Tabs for the Ronald McDonald House

Summer Ideas:
CAONF Summer Tutoring
Buffalo State SUNY Reading Skills & Speed Reading Program
NWAA House Soccer Program
CAONF Cheerleading Camp
NC Basketball Camp (entering 6th, 7th)
Camp Turner
St. Vincent de Paul Vacation Bible School

Arts & Music

Students will learn about music in a variety of ways. Each year of music presents new exciting challenges for our students.
  • Preschool Music: These students will learn about music through singing popular children’s songs, dance, using props with music (puppets, bean bags, scarves, pictures) and stories that include songs.
  • Kindergarten Music: These students will learn about music through singing, dance, and percussion instruments (maracas, drums, rhythm sticks, tambourines, cymbals). Starting in Kindergarten, students will also be introduced to music that we will sing at our school masses.
  • 1st Grade Music: At this age, students will begin to look at music notation. They will learn basic note values and perform through instruments and dance. We will also learn the basics of a singing scale (do re mi) and we will begin to play songs using this scale on the handbells and tone bells. Students will continue to build on the repertoire of mass music they began to sing in kindergarten.
  • 2nd Grade Music: We continue to build on our knowledge of music notation. We will start to follow along with the notation used in our school mass music and, at this point, be able to fully sing along with all of the songs used during mass. We will continue to perform our new vocabulary of music notation on classroom instruments as well as learn how to draw notes for the first time. We will learn about all of the band and orchestra instruments and families.
  • 3rd Grade Music: Our music notation knowledge will continue to expand through singing and playing performance in class. A large portion of music class this year will be spent on reading and performing music on the recorder (students may borrow from school). Students who reach the highest level on the recorder will be invited to perform in the Spring Concert. Student will also continue to work on drawing basic music symbols and notes.
  • 4th Grade Music: Students will perform music notation and start improvisation using our many beautiful Orff Xylophones. I will begin to assign “parts” in music and we will learn how to put these parts together in an ensemble. We will also begin to sing in 2 parts and learn the basics of harmony.
  • 5th Grade Music: Students will continue to build on their musical ensemble by using more intricate rhythmic and tonal patterns in their singing and performance of percussion instruments. Orff Xylophones will continue to be integrated in the learning process, especially when using the element of improvisation. Students will also learn about the beginnings of music history. They will also continue their singing and improve their ability to sing in harmony.
  • 6th Grade Music: Students at this level are expected to be able to read, write, and understand the music that they performing during class and mass. We will also continue to strengthen ensemble performance in class through singing and instrument performance. We will continue our study of music history.

The Arts

Our Art program is headed by Mrs. Weaver. The Art Curriculum follows NYS Standards for the Performing Arts and Mrs. Weaver also incorporates many of the core subjects which include Math, Science and Social Studies.

Pre-K4: Developing small motor skills (cutting, gluing and tracing), color recognition, listening and following 3-step directions.
Kindergarten: Developing small motor skills but at a more advanced level, color and shape recognition, elements of art (patterns, color, texture, etc.), following basic directions (4-step).
Grades 1 and 2: Elements of art, following more advanced directions (5-step), drawing techniques, 3 dimensional work, exploring art materials.
Grades 3, 4 and 5: Elements of art, drawing techniques, art units, exploring different art media, incorporating core subjects with art, art history/famous artists, art vocabulary.
Grade 6: Elements of art, drawing and shading techniques, design, exploring different art media, incorporating core subjects with art, art units, studio art, art history/famous artists, art vocabulary.


text:
Thursday, January 1, 2009

A Korean Pep Talk for the New Year

The following paragraphs are the New Year's greeting to the readers of the Catholic Peace Weekly from the editor: saying goodbye to the year of the ox and welcoming the year of the tiger with blessings to all. The following is a summary of what he said.

Last year, although all was rather gloomy, we decided to begin with a cheerful heart. This year we are told we are recovering, but it is best not to be too optimistic. If we have, to live as not having, if we do not have, to live as having. It is necessary to begin the new year without many words and with determination.

We had problems from the outside and now are facing them also from within the country. It is like a boiled bowl of gruel, boil it too much no one eats, boil it properly and all will benefit; we must face the problems with a cool head.

Koreans when belittling ourselves compared the country to a rabbit. When our spirit returned we compared the country to a tiger. Our ancestors compared the country to a tiger. Should we not again look at ourselves as a tiger.

A tiger is a cruel wild animal, has sharp teeth and shrewed, it is easy to be fearful of the tiger; our ancestors, however, attributed to the tiger a warm tenderness: this we see in our folk tales and narratives. At the sight of persimmons the tiger fled , trying to reach some children in a tree, used a rotten rope and fell into a millet patch , smoked a pipe, and enjoyed leisure. The tiger comes across as a humorous character. A friend to us in travel, faithful, returns favors , he comes into our lives as a friend.

This is the year of the metal (white) tiger. Although we are afraid of the tiger we are in a friendly relationship with the tiger. Let us all imitate the tiger: strong, shrewed, with sharp teeth, and yet fled the persimmons, smoked the long pipe and enjoyed his leisure. Let us be like the tiger, hide the claws and be a friend to travelers.

We are too sensitive. Even with a very small commotion, we are quick to get nervous. A well bred and reserved person , doesn't lose his cool , is considered to be a person with dignity. When the country is is in turmoil let us keep our presence of mind, take all in stride, learning from the tiger.

Looking over the words of the editorial it was easy to see that he is addressing a populace that understands his allusions. It was one culture; they all knew the proverbs, the folklore, and knew what resonates within their hearts. This is changing. There is a sadness in seeing this change, but it is a globalization that can't be stopped. One can see the vanishing of a way of life as the country because more multicultural with the passing of the years. A Happy New Year.


text:
Saturday, February 25, 2012

Balancing on Islands

People always ask how I can walk in the heels I wear, and that was never more prevalent than when I wore my new Fergie Footwear island platform pump.

Island platforms have been popping up intermittently over the past few seasons, and I have to say I was weary. Having a platform smaller than the shoe on a five inch heels seemed like a disaster waiting to happen. At least for me.

But then I'm a little bit of a disaster.

I finally bit the bullet and got Olivia, a pair of black snakeskin pumps with a gold platform from Fergie Footwear. They were beautiful and would match that gold and black skirt I have and never wear. They may match other things too, but the skirt is really what I wanted them to go with.

Once they arrived I took them on a stroll through the apartment, and managed not to break my neck. Good news. One day at the office, and the same thing. All good.

These are my new black pumps
A week later I wore them again (and not with the gold skirt) and the unexpectedly got to leave the office and take my heels on an adventure that included driving, cobblestones and shopping (among other things).

Cobblestones were rough, but they're rough in anything other than a flat.

Other than that I have decided not to be afraid of the island platform. Deceptively easy to walk in, they add a great look and unexpected lines to the traditional platform pump. The contrasting platform is also a great element on an otherwise traditional pump.

The black and gold is great because they can both act as neutrals.

Yes, they're actually easy to walk in.
Aside from almost taking a header on the cobblestones, and figuring out how to drive in them, they were great. By the end of 12 hours my feet were screaming a little, but that's just about any heel I own.

I'm still a bit weary of the split island platform (the one with the space between "levels") but that's mostly because I don't like the way those look.

Lots of designers and brands have shoes with the island platform heel, including Charlotte Olympia, Alexander McQueen, the aforementioned Fergie, Chinese Laundry, Le Silla and more that I'm not mentioning because it's too numerous to count. I'm not sure who did it first (although Charlotte Olympia has some great, versatile designs), but it looks like they're taking hold and will be here to stay.

So next time you're looking at a pair, and not sure if you can manage to balance on a smaller platform than the rest of your foot, while it's coupled with a skinny, sky high stiletto, jump in. Or take small steps and avoid cobblestone. Whatever, just don't fall.

1 comment:

Brenda Nelson said...

Wow this is amazing, just last night I saw a tv commercial for shoes showing the raised platform under the front of the foot, and was thinking later the should make that smaller - exactly like this island. I also thought they could then make interesting shapes, a flower, cat paw prints, or dolphins too. I have never seen these island type shoes so it was kinda freaky!
You need to get a picture of some kittens in a shoe... advertising cat in heels.. and there is not a cat to be seen! lol! Great blog. Well done.


text:
• Reviews
    Raizing Hell – Monsters Prefer Blondes Review

    By Jordan Mooney. Proofread by Lydia Byron. Raizing Hell are back! And whilst they’re no soberer than their last visit to the elusive Cat on the Wall towers, they’ve certainly pulled a few changes. What do we think of their latest piece of B-music anarchy? Read on… It’s very clear that Monsters Prefer Blondes has […]

  • News
    Raizing Hell release dire warning with ‘Thing For Murder’!

    Our favourite Romanian Nasties Raizing Hell have released a troubling documentary based upon the hazards of their music, marketing under pretence of a music video. Low-fi? Certainly – and the dubbing’s more than a bit obvious here and there – but the style the video carries is testament to the promise Liv made to us […]

  • Interviews
    Zombies, Limbs and Wendy O’: A Raizing Hell Double Feature

    It was a quiet day at the metaphorical (or fictional, take your pick) Cat on the Wall towers, ladies and gentlemen – I sat there in my similarly metaphorical red velvet chair, stroking my not quite so metaphorical white cat. Then, there were sounds of groaning, thumping, black clouds gathering around what was previously a […]


text:
The Last Cry – Goodbye – Album Review

By Jordan Mooney.
Proof-read by Lydia Byron.

The Last Cry are one of many bands we first witnessed at Whitby Goth Weekend – and we’ve always lauded them for the sheer emotion, and for that immersive, heart rending capability of their output on stage. To see frontman Andrew Birch opening himself up on stage – nearly tearing himself apart with his own utter involvement in his art, backed so deftly by Chris, (bass & keys) Tim (guitar & keys) and Mark (guitar), Is always going to be an immensely personal experience.

But can that really be captured on a compact disc? I had never taken the initiative to purchase a physical copy of The Last Cry before, and so, with the arrival of their latest release, Goodbye, slipping through the letterbox on a cool October Tuesday, we were given a chance to see just how well a piece of recorded material can capture what feels like a very live-exclusive experience.

It’s rather rare we deal in ‘proper Goth’ at Cat on the Wall – despite being the WGW Webzine, we do delve more particularly towards the funkier, punkier sides of the alternative world. So it was a nice change of pace to leave behind a world of crunchy guitars and into a softer, more introspective record.

Goodbye is very clearly an album built upon the concept of leaving the darker side of ourselves behind; it’s very much Mr. Birch cutting the bonds of the past – cutting ropes that have hung around the neck. However, rather than violently kicking it to the ground, it feels slow, remorseful, regretful. It feels personal. Who truly comes out of a lost relationship, lost emotion, or lost feeling without a certain amount of sadness? To do so without regret simply isn’t human, and The Last Cry feel at their most relatable with their take on it all. Some of them even feel contradictory, some overly extreme – but only in the most human and personable of manners. It feels very natural, it feels flowing, and it feels very deftly put together.

It feels like an album for the solitary; the lone wolf. Fitting, one supposes, for the world of Goth…

What’s fascinating about The Last Cry’s song writing is their capability of mapping out unashamedly specific feelings, emotions and aspects of their lives – but choosing those that will connect best to an audience. It doesn’t feel naive or simple, nor is it over-dramatised. It feels like a photo album of the paths already travelled. Dare I say, even a soap opera of lives on similar paths but no clear destination.

In terms of actual sound, it really is definitive Last Cry material – in itself a pretty damn definitive element of Goth. There’s a wave, a smooth elegance to their music. It’s the execution that has always endeared the group to me, and it’s captured on a compact disc in spades – far more than I had ever expected.

From the head nodding The Night That I Saw You, the impressively catchy, high tempo – and relatively aggressive – Truth and Lies to the Balladeer’s finale in Goodbye, the album never retreads old ground and remains immensely refreshing, even if it never intends to be game-changing alternative fare.

If you like that delightful flavour only a dark, alternative nightspot smelling of clove cigarettes and strong liquor can provide, this is an album for you. It’s pure, it’s genuine, it’s emotional and it’s a very personal invite into the farewells past – and present – of Mr. Andrew Birch. The Last Cry are not only one of the best groups we’ve seen at Goth Weekend, but one of the most important alternative groups we know. Check the album out, and check them out – we promise you, you won’t regret it.

Goodbye was released on the 3rd of September 2016, and is now available to purchase through Bandcamp.

About the author

Compulsive hat wearer, eccentric, fan of all things audio-visual, part time Goth, historian, and railway enthusiast, Jordan is the closest you can get to everybody's weird uncle. Except he's less than 60 years old.

Leave a comment

Your email address will not be published. Required fields are marked *


text:
Technique Blog Hop ~ A Bit of Blot

Welcome to the Technique Blog Hop!10408737_10152825873362934_5451681359892116939_nThis month we are featuring a technique called ~ A Bit of Blot which can be found on page 55 of the Annual Inspirations Idea book.  This technique is fun and easy as there is no wrong way to do it 🙂  This month we have 11 consultants featuring artwork using this technique so you will definitely be inspired.  If you just hopped onto my blog or arrived from SHEILA BENNETT’s Blog then you are in the right place.  This blog hop is a great big circle so you can start wherever you want and continue through to see all the fabulous artwork incorporating this technique.

I used a large block and added a bit of Thistle ink using a dauber to the block then spritzed with water using a spray pen then stamped it on my White Daisy Cardstock.  I repeated the technique with Pixie to create my background.  I then used Dizzy Circles stamp set and added a few spirals (I have to say this stamp set reminds me of my childhood with my Spirograph).

A Bit of Blot ~ #ctmh ~ Dizzy Circles ~

For this card I used the following products:

Now it is time to hop on over to DARLYS RECKER’s Blog to see what she has created for you today.  If you get lost along the way the full list of participants is listed below.

Happy Crafting!

Cat signature

  1. Debi Barber
  2. Melissa Robinson
  3. Sheila Bennett
  4. Catherine Nowak <— You are here
  5. Darlys Recker
  6. Melissa David
  7. Michelle Loncar
  8. Lisa Plummer
  9. Belinda McLane
  10. Aggie Peters
  11. Tonya Whitehurst
%d bloggers like this:


text:
Wednesday, August 12, 2009

Budgie - Nightflight (1981)

The second to last album from these squawky Welsh birds, finds them in a different mood than on Power Supply. Fewer AC/DCish chords, and better song ideas overall makes it an improvement over it's predecessor (personally, Power Supply has always been my least favorite Budgie album) Lots of huge heavy drums courtesy of Steve williams even though most of the tracks are "lighter" and the heavy ones I find the most dissapointing. Superstar is mere filler, She Used Me up almost hits the mark. The ballad Apparatus gave them a minor hit in the U.K. (one of VERY VERY few!) and opener I Turned To Stone uses a great light-heavy-light-heavy mid paced song structure with a galloping guitar solo laden outro, and is one of my favorite tracks from the 80's era of Budgie. I tip my hat to these batty birds, I can't imagine ever getting really SICK of their music, and I don't blame them for giving up when they did. Things change, music changes, and Budgie just didn't fit the mold of pop music at the time, nor did they ever. Listen, learn, and buy all their damn albums if you don't have them already!
Track Listing...
1.I Turned To Stone
2.Keeping A Rendezvous
3.Reaper Of The Glory
4.She Used Me Up
5.Don't Lay Down And Die
8.Change Your Ways
9.Untitled Lullaby

1 comment:

  1. Password:


text:
Thursday, August 13, 2009

Jericho Jones - Junkies, Monkeys and Donkeys (1971)

The highly obscure psychedelic rock group from Israel began life in the late '60s as the Churchills, who produced a string of beat/psychedelic singles before relocating to England, where they changed their name to Jericho Jones and later simply Jericho. They released this sole album as Jericho Jones on A&M; it bridges the group's transition from the Churchills' fuzz psychedelic sound into the more hard rock sound they produced as Jericho. This album can be recommended to fans of exotic underground progressive and the hard rock of the '70s. The CD reissue contains the entire scarce, original double LP as well as five bonus tracks from the same session.

Track Listing...
1 Mare Tranquilitatas
2 Man in the Crowd
3 There Is Always a Train
4 Yellow and Blue
5 Freedom
6 Trangulum
7 No School to Day
8 Junkies Monkeys & Donkeys
9 Junkies Monkeys & Donkeys
10 What Have We Got to Lose
11 Mama's Gonna Take You Home
12 So Come On
13 Mona Mona
14 Champs
15 Hey Man

Part 1
Part 2

No comments:

Post a Comment


text:
PC Keyboard FAQ

Contents: [Document Version: 1.01] [Last Updated: 9/4/96]

Chapter 1) Mark Schultz's AT keyboard interface

1.1) About the Author

Author: Mark Schultz
E-Mail: mschultz@wctc.net
Version: 1.00
Date: 16 Aug 1995

1.2) Disclaimer & Feedback Request

This writeup is by far from complete. As I mentioned earlier, I originally started this as a 'simple' (!) response to a query posted here. Little did I know that I'd be here typing away for better than an hour. Given the trouble I had in acquiring info as to how to control and utilize PC keyboards in non-PC applications (which is still incomplete), I can appreciate the frustration experienced by others in obtaining this info. If the demand justifies it, I would be willing to create a more formal, detalied description of the PC/AT keyboard protocol along with code samples in 68HC05 assembly language. If you are interested in such a writeup, respond to this message indicating your wishes or (preferably) respond via E-mail to mschultz@wctc.net

1.3) Introduction

I might be able to help you out with a few general pointers, as I have built a few homebrew projects that have employed AT-style PC keyboards. I appreciate your plight; getting the AT keyboard to work in my first project that employed it was a gut-wrenching, hair-pulling experience.

1.4) Description

The AT keyboard transmission protocol is clocked serial (with the keyboard as clock source or 'master'), 11 bits in length. One start bit (logic 0), 8 data bits (LSB first), one odd parity bit and a stop bit (logic 1). The clock rate is approx. 10-20 KHz and can vary from keyboard to keyboard. The keyboard data format resembles 8-odd-1 asynchronous transmission format. However, the bit rate from keyboard to keyboard can vary significantly so it is necessary to use a clocked serial interface (SPI in Motorola parlance) or a async (SCI) interface with a 1x receive clock input. For MPUs that cannot accomodate this transmission protocol directly using a hardware subsystem (SPI or SCI) I have found it useful to tie the CLOCK input to a IRQ (external interrupt) line and read the data bits one-by-one on the falling edge of each clock pulse.

Both CLOCK and DATA lines are implemented on the keyboard end as open-collector outputs with pull-up resistors to +5V. It is possible (and sometimes necessary) for the host system to actively pull these lines LOW. In the systems I have built, I have used 4 MCU I/O lines to control the keyboard: Two inputs (for clock and data in) as well as two outputs connected via limiting resistors to NPN transistors to allow the MCU to drive the CLOCK and DATA lines of the keyboard. The following crude diagram attempts to illustrate the basic circuit:

1.5) Schematic

(IRQ)Data In <|-------------o-------------- Kbd DATA
              |             |
    Clock In <|-------------|--------o----- Kbd CLOCK
              |           e |        |
              |           |/ 2N3904  |
    Data Out <|---/\/\/---|b (NPN)   |
              |           |\         |
              |           c |        |
              |            ---       |
              |            Gnd       |
              |           e _________/
              |           |/ 2N3904
   Clock Out <|---/\/\/---|b (NPN)
              |           |\
              |           c |
              |            ---
              |            Gnd

1.6) Keyboard to system protocol

The keyboard will transmit keystroke data to the host system as soon as a key is pressed (or released) if both the DATA and CLOCK lines are HIGH. If the CLOCK line is LOW, the keyboard will buffer keystroke data until the CLOCK line goes HIGH again (the clock line acts as a -RTS signal). If the DATA line is LOW, the keyboard prepares to accept a 11-bit control message from the host (see below).

If the CLOCK line is pulled LOW by the host while the keyboard is transmitting data (up to the 10th bit) for at least 60 uS, the keyboard will suspend transmission and prepare to receive a system message. The keyboard will eventually re-transmit the data byte that was interrupted, unless the keyboard was successful in transmitting the 10th bit, in which case the keyboard considers the data byte as successfully sent. It is generally a bad idea to interrupt keyboard transfers this way.

1.7) System to keyboard protocol

AT-style keyboards are capable of accepting control messages from the system in addition to sending scan code information to the host. In this way, the status LEDs may be controlled and the keyboard typematic parameters (repeat delay and rate) can be set. Command transmission to the keyboard is initiated by bringing the keyboard CLOCK line LOW for at least 60 uS. After the 60 uS delay, the DATA line should be brought LOW and the CLOCK line released (HIGH). Make sure to bring the DATA line LOW before releasing the CLOCK line. Some time later (up to 10 milliseconds) the keyboard will start to generate clock signals. At each HIGH to LOW clock transition the keyboard will clock in a new bit. The data stream from the system (on the DATA line) should conform to the serial protocol described above.

After the parity bit has been clocked out, the host should release (bring HIGH) the DATA line and wait for the keyboard to send another CLOCK pulse (this will be the 10th HIGH to LOW transition, not counting the initial H->L transition generated by the host). The KEYBOARD will then bring the DATA line LOW sometime before the 11th HIGH to LOW transition of the CLOCK line to acknowledge reception of the command byte.

If the DATA line is not released (allowed to go HIGH) after the 10th CLOCK bit then the keyboard will continue to issue clock pulses until the DATA line is released. In this event, the keyboard will (after some delay) pull the DATA line LOW and transmit a RESEND status byte (FEh).

1.8) Commands - Host to keyboard

(all numeric values are in HEX)

I will present these command bytes briefly here. I will be happy to expand on their function and purpose if asked. This started out as a simple reply to a question and has almost turned into a FAQ <g>. Depending on demand, I just might expand this impromptu reply into a full-fledged FAQ.

Default Disable. Resets keyboard, returns ACK and suspends scanning, waiting for another command. Does not affect the indicator LEDs.
Echo. Responds with ECHO code (EE).
Enable. Clears output buffer, enabled kbd, returns ACK.
Read ID. Responds with ACK and two ID bytes (83,AB). Resumes scanning even if previously disabled.
Resend. Retransmit last sent scan code.
Reset. Resets keyboard CPU, starts power-on test. Responds with power-on-test byte.
Select scan code set. Responds with ACK, then waits for host to send a byte (01,02 or 03) specifying the scan code set to use. If 00 is sent, keyboard responds with ACK followed by the scan code set in use.
'Set all keys typematic'
'Set all keys make/break'
'Set all keys make'
'Set all keys typematic/make/break' I am not certain what these commands do. I suspect they control the way the keyboard transmits scan codes. All of the above commands respond with an ACK code.
Set default. Responds as the 'Default Disable' command, but does not inhibit scanning. Does not affect LED indicators.
'Set key type typematic'
'Set key type make/break'
'Set key type make' Again, I'm not sure what these do. Unlike the 'set all' commands, these commands presumably act on single keys. The keyboard sends the ACK code, then waits for keyboard scan code(s). ACK is set after each scan code is received. Keyboard remains in the 'set type' state until a new command is received.
Set/reset status indicators. This command allows you to control the status LEDs on the keyboard. Keyboard responds with ACK and waits for a option byte, bitmapped as follows: b0-Scrollock, b1-Numlock, b2-Capslock, b3..7=0. A '1' bit turns the indicator ON.
Set autorepeat rate/delay. Responds with ACK, then waits for an option byte that specifies the autorepeat delay and rate, bitmapped as follows: b7-unused. b6..5-Repeat delay (00=250 mS, 11=1000mS). b4..0-Repeat rate (00000=30x/sec, 11111=2x/sec). Keyboard responds with ACK after reception of the option byte.

1.9) Keyboard response codes

ACK (acknowledge), response to most commands.
Poweron test successful.
Echo. Response to the ECHO command (EE).
00 or FF
Key detection error, also indicates buffer overflow.
Resend. Sent in response to the receipt of a invalid command code or code with a bad parity bit.
The keyboard can, of course, send key scan make/break codes as well as numeric responses to certain commands as outlined above.

1.10) References

Portions of the information contined here were taken from _101/102RX Series Electrical Specifications, Honeywell Keyboard Specifications_ published by Honeywell Keyboard Division, 4171 N. Mesa, Bldg. D, El Paso, TX 79902.

Chapter 2) Assorted info on XT/AT/PS2 Keyboard Interface

2.1) Introduction

(From the Editor)

Here's some assorted information about the PC keyboard. Look through the index and see if you see anything interesting. Be aware that sometimes the Index entry doesn't entirely describe the article! That's life. Sorry.

If you have anything that doesn't quite fit into an existing keyboard FAQ, please send it to me and I'll include it here.

2.2) Booting PC without keyboard

(From Tony Snyder)

A few days ago someone needed information about booting a PC without a keyboard. I didn't see much posted, that directly satisfied his needs, other than some advice regarding reworking his bios etc. I just ran across an ad in the September, 1993 Circuit Cellar INK, The Computer Applications Journal, issue number 38, that could help. On page 93, Verta Systems Corporation, 27 Newtown Rd, Plainview, NY, tel # (516)454-6469, advertises a keyboard eliminator which plugs into the keyboard port. Its called the Phantom Keyboard. That's all I have for now.

2.3) IBM Keyboard Interfact Project

(From Eric Rudolph)

IBM Keyboard Interfact Project, by Eric Rudolph, 1991.
No Copyright Whatsoever, but I would like credit where it's due.

A little background on the IBM AT keyboard:

The keyboard I used for this circuit was a BTC 5339sx. It costs about $40 Lucky Computers, 1-800-348-5825. I have also tested the circuit on a standard PC keyboard, and an HP Vectra AT keyboard.

The AT keyboard DIN connector has 5 pins. Pin 3 is called Reset, but it's reserved, so we can't use it. Forget it exists on the AT keyboard. They just charge you money for it. (joke) Open collectors drive the clock and data pins, so when they are not driven low, they float at 5 volts.

The keyboard transmits data by bits, each synchonous somehow with the clock line. They keyboard when clocking in or out data, always runs the clock. The controller can drive the clock line, but not with reference to data.

When the Keyboard sends data, it first sets the data, then drives clock low, then high, and then changes the data to the next value.

The AT uses 11 bits for a transmission, 1 start bit (0), 8 data bits, 1 parity bit-set if the number of 1's in the data bits is even, and a stop bit (1). When the keyboard sends it's last bit, the stop bit, the controller must drive clock line low as a handshake and to tell the keyboard not to send until clock goes high again.

Theoretically, the controller could interrupt the sending of the bits, but I consider this unnecessary, and don't bother with it. When the computer needs to send a command to the keyboard, it sets clock line high and the data line low. When the keyboard sees this, it will start clocking pulsed on the data line.

Then, the controller must look for the clock line going low, set the data bit, wait for the clock to go high, then wait for the clock to go low again, and then change the bit. Thus, it changes the data in the middle of the clock low pulse. When the keyboard has received it's 10th bit, it will drive the data line low while at the same time clocking out an extra clock low pulse. Then, it expects a handshake of the clock line low from the controller.

0       1       2   |   7       P     stop    extra
Notice there is NO start bit when the controller sends data to the Keyboard.

2.3.1) Special Commands the Keyboard can Send to the Controller

00      Keyboard buffer overflowed
AA      Selftest passed
FA      The command sent was received correctly
FE      The command sent was received poorly. Please resend.

2.3.2) Special Commands the Controller can Send to the Keyboard

ED      Set the LEDs according to next byte I send
        bit 0=Scroll lock 1=on
        bit 1=Num lock
        bit 2=Caps lock
        bits 3-7 must be 0
F4      clear the key buffer and start scanning
F6      restore default values
FE      retransmit last character, please
FF      Reset, you stupid keyboard!
Whew! That about raps it up for the AT keybard! Enough said, right?

XT keyboards transmit much the same way except they only use 10 bits. Two start bits (both high) and 8 data bits, transmitted in order 0-1-2...-7 The last bit is a make/break bit which is 1 to signify a break.

The XT can have no commands sent to it. The way to reset it is to drive the Clock line low for some longish period of time. The keyboard will not send data (it will hold off) if the data line is being held low by an external source (the controller)

2.4) IBM keyboard port specs wanted

(From Tomi H Engdahl)

The only data I have left from hacking at my keyboard when it died a couple of years ago are some timing diagrams recorded from a 'scope (wretched ASCII graphics follow):

__            _        _        _        _        _        _        _
  | Clock    / |      / |      / |      / |      / |      / |      / | (2 more)
  |_________/  |_____/  |_____/  |_____/  |_____/  |_____/  |_____/  |_____

  |<- 36uS->|<-32uS->|12| 20  |        |        |        |        |        |
            \        \ /      \ /      \ /      \ /      \ /      \ /      \
Data         \   0    X   1    X    2   X    3   X    4   X    5   X   6    \
This is for an XT keyboard.

The clock and data lines are both normally high. When a key is pressed, Clock goes low for 36uS. This is followed by 9 clock pulses, each 12.5uS low and 20uS high; on the 10th rising edge the clock stays high until the next sequence. The Data line changes on the rising edge of the clock. There are only 7 data bits (the last two bit times on the Data line are always low). The ~32uS clock period gives a ~31KHz bit rate. At least, this is how I interpret my drawings...

2.5) AT Keyboard Interface INFO

(From Bill Mayhew)

The IBM-PC-compatible keyboard interface is fairly nasty to duplicate. I've thought several times about using PC keyboards as input devices, but have just fallen back to ASCII parallel keyboards or making my own scanning matricx with something like a KR2376.

The problem with the IBM-PC keyboard is that it uses a bidirectional protocol with both the PC's on-board 8741 (or equivalent) keyboard controller single-chip microprocessor and the keyboard toggling the clock line and exchanging pulses and scan codes with relatively strict timing requirements.

I figured my time to design my own version of the handshake would be more expensive than obtaining a more easily dealt-with keyobard. If you are talking volume use or have to use the keyboard input for some reason, than you can nix the timing argument.

What would be real handy would be for somebody to produce an 8741 that is programmed to deal with the keyboard and output the eqiivalent ASCII decoded from the scan codes along with a strobe pulse. It would make a nice handy experimenter's aid. Maybe somebody already has one?...

If you want the gory timing details, obtain an IBM PC-AT technical refrence manual. It should have a lot of details on the keyboard interface. I've got the Model-80 technical ref and it has a lot of info on the keyboard interface. IBM has many technical manuals for fairly reasonable prices. My old book listed thier number as 800-IBM-PCTB. Taht is several years old, so the number may well have changed by now.

(From Lance Bresee)

I probably should have Replied to the original poster, but I thought others might be interested as pc keyboards are cheap.

No 52
March-April 1990
Page 36 - 43
An AT Keyboard Interface
Don Rowe

Includes description of AT Keyboard serial data transfer and a circuit to interface to an AT keyboard.

2.6) Pinout for PS/2 keyboard

(From Dave Mclaughlin)

Here is the wiring for both:

5 Pin DIN (AT/XT)

1   CLK
2   DATA
4   GND
5   +5V
6 Pin PS2

1   DATA
2   No connection
3   GND
4   +5V
5   CLK
6   No connection
The PS2 is numbered as follows:

      6   5
     4     4
     > 2 1 <

The <>'s indicate the position of the triangular cutouts. The 5 Pin DIN is standard universal layout.

Also, see the "Pinouts for various connectors in Real Life(tm)" (Sub-ToC) for other pinouts.

2.7) XT vs. AT keyboard

(From Bruce Adler)

The XT and AT keyboards are NOT compatible. The only way a XT keyboard will work on an AT computer is if you've got a motherboard and BIOS which are specifically designed to support both keyboard types.

The keyboards differ in at least the following ways:

  1. The XT kb. generates 2 start bits, 8 data bits, make/break bit, and a stop bit. The AT kb. is 1 start bit, 8 data, 1 parity, and a stop bit.
  2. The XT uses a make/break bit to indicate key up/down. The AT sends one byte for keydown and two bytes for keyup.
  3. The XT keyboard scan codes have different values than then AT keyboard make/break codes (for corresponding key locations).
  4. The XT keyboard doesn't accept any of the command strings accepted by the AT keyboard.
  5. The XT keyboard is reset by fiddling the clock and data lines; the AT keyboard accepts a reset command string.
In the same manner plugging an AT keyboard into an XT computer won't work either, unless you have one of those clone keyboards which allow you to select XT compatible mode.

2.8) BIOS code modifications

(From Byron A Jeff)

On any SimTel archive you can find BIOS for the keyboard controller. Look in directory:

For file:

bios-asm.zip "Public domain generic PC BIOS (MASM source)"

2.9) IBM-PC keyboard interfacing

(From Brad Siim)

[...] The PS2 keyboard interface is not a very friendly or easy to understand interface. The best place to get information is in IBM's technical reference manual. All of the documentation that I have seen on this interface is the same/similar (ie. Compac's Technical Reference spec) and almost seems to be a direct copy of IBM's reference manual.

The core of ALL/most PS2 keyboard interfaces is the Intel 8042 microcontroller or some derivative of it. You will need to get a copy of this datasheet as well as IBM's keyboard spec.

Basic Description:

  1. The 8042 side of the interface is two bidirectional open collector lines called CLOCK and DATA.
  2. The KEYBOARD side of the interface is identical.
  3. Both sides can drive the lines and often do so at the same time. Each side has to figure out what is going on if the other side has decided to interrupt.
  4. When the system CPU wants to send something to a KEYBOARD device it writes a command to the 8042 which tells the 8042 that the next command written to the 8042 should be passed on to the KEYBOARD device across the serial DATA line.
  5. Assume that when idle both the DATA and CLOCK lines are high.
  6. The 8042 pulls the clock line low to inhibit any transmission from the KEYBOARD.
  7. The 8042 pulls the data line low to get the KEYBOARD's attention to the fact that it wants to transmit.
  8. The 8042 release the CLOCK line and waits for the KEYBOARD to pull the clock line low. When the CLOCK line has been pulled low the 8042 places its first bit of data on the DATA line.
  9. The keyboard toggles the clock line and clocks data across on the data line. The 8042 controller will place a new bit on the data line each time the clock is pulled LOW by the KEYBOARD.

    The following picture will explain better:

    DA HHHllllll000000111111222222333333444444555555666666777777ppppppssssssLLLLHHH
            ^                                                                ^
        start bit                                                   important bit
    where:  l = 8042 driving the line
            L = KEYBOARD driving the line
            1..7 data
            p = Parity 8042 driving
            s = stop   8042 driving
            P = PARITY KEYBOARD driving the line
            S = STOP   KEYBOARD driving the line

  10. The last bit in the last clock cycle is a data bit that is returned by the KEYBOARD. The keyboard may also be required to return a whole byte/bytes to the controller depending upon the data that was sent by the controller to the KEYBOARD. After the controller has seen the last bit it usually will inhibit the keyboard by yanking the clock line low. Please note that if the keyboard has to return data to the 8042 it will do so under the following protocal after the 8042 has released the clock line.
  11. During the above transmission the contoller may abort the operation by holding the CLOCK line low. The keyboard has to montitor the CLOCK line and stop clocking if it sees that the CLOCK line is not going high.
  12. If the KEYBOARD wants to send data: Assume both lines are high. If they are not high the keyboard can't send. If the clock line is being held low by the controller, the controller does not want data. If the data line is being held low by the controller the controller wants to send data and the keyboard must start clocking it.
  13. So the lines are high: The keyboard pulls the data line low and then pulls the clock line low and then back to high. The data line is changed while the clock is HIGH. The KEYBOARD pulls the clock line low and high and repeats the operation as follows:

    DA HLLLLLL000000111111222222333333444444555555666666777777PPPPPPssssssLLLLLHHHH
        start bit
I have explained this in detail because the documentation is VERY hard to decripher. I hope this is accurate and helps you. I have not discussed timing, implementation or voltage levels as I'm sure you will not have trouble with these aspects.

Chapter 3) Richard Steven Walz's IBM PC Keyboard ScanCode FAQ

3.1) About the Author

IBM Keyboard/Scancode FAQ
Author: Richard Steven Walz
Email: rstevew@armory.com
Ver: 0.9a
Rel: 10 June 1994
Note: Please retain this banner

3.2) Introduction

The IBM keyboard was designed to be completely reconfigurable short of giving you keycaps with replacable transparencies under a clear top!!! Any key can be interpreted by a program as anything. They needed more than the ASCII codes for this (what's the ASCII code for 'left shift" and 'alt'?!), so they assigned scancodes whose values were arbitrary, except perhaps from a PC board layout and trace routing or keyboard controller firmware perspective. Thus these scancodes are sent by the keyboard, in time to its own clock, both of which go to the 8255 PIA port chip on the motherboard, after a bit of serial to parallel work by a couple other chips.

The keyboard clock and data lines are open collector, meaning that they are pulled up with resistors and can be pulled down by either end of the line to for communication in either direction. Thus there is a protocol that each end observes about their logic states.

The keyboard monitors the state of the data and clock lines prior to any send to the computer. If the clock line is LO, (TTL LO or near 0 Volts), then the keyboard is disabled and will not send. If the clock line is high, (TTL HI or getting close to but not greater than 5 Volts), and the data line is LO, then input TO the keyboard is accepted FROM the computer!

Finally it should be mentioned that the keyboard only starts a send to the computer when the data line and the clock line are high. This means that the computer is not trying to talk to the keyboard or trying to make the keyboard wait to send. When the two lines are high, since the lines are open collector and pulled up passively, the keyboard can take them over and start the clock and pull the data line low. On the falling edge of the 10 kHz clock, the keyboard again raises the data line to form two start bits of .2 ms duration, signaling the start of the byte send. Then the bits are sent in LSB first (D0) and then on up through the eight bit byte to the MSB (D7), and then the line returns to the LO state!

This is an unusual setup compared to most types of serial communications, as usually the line remains HI when not being pulled LO to make a start bit or bits, and THEN the data is sent using its correct logical value as a HI '1' or a LO '0'. Here the data is sent with its logical sense preserved, but the start bits are suddenly HI from a inactive but ready LO data line, and the bits are read by timing off the received clock on the clock line, which is also taken over by the keyboard and pulled LO to signify time to start a bit, a start bit OR a data bit.

The diagram is thus:

HI  10 kHz
--------------| |-| |-| |-| |-| |-| |-| |-| |-| |-| |-| |------------------
  clock line  | | | | | | | | | | | | | | | | | | | | | |  bits start on
LO            |-| |-| |-| |-| |-| |-| |-| |-| |-| |-| |-|  falling edges

-----|        |-------|   |-----------|   |---|
     | data   | start | 0 | 1   1   1 | 0 | 1 | 0   0
LO   |--------|   |   |---|   |   |   |---|   |---|---|-----------------
       line     s   s  D0  D1  D2  D3  D4  D5  D6  D7   stop/idle
As was noted above, there is a state of the two lines where the computer can send data to the keyboard, and my documentation on this was more vague. If anyone can add to it, I would appreciate it. My BTC-5060 "el cheapo" terminal/AT-type keyboard manual shows a timing diagram which I believe to be fallacious, as they even have the bits in reverse order. I will want to test this keyboard with the scope to see the real story. The manual DOES, however, indicate that this keyboard will correctly operate either an XT or an AT computer and up, and it truly does! I would like to know how to make it shift to the other mode and how to control its LED states as well. This paragraph is a call for more info from out there, and more research on my part, as I see conflicting information. This should be considered a preliminary release.

This keyboard sends data not just of occurence of a key press and release but it scans the keyboard keys thousands of times a second and sends data to the computer as to whether a key has been pressed and whether it has been released, and in the order these occurred, and it stores this change data in a buffer waiting to send it as soon as the computer will accept it. This makes this keyboard extremely configurable, as we always know then what has occurred and the key presses and releases can be noted with great complexity and interpreted to our heart's content. All keys are on an equal footing and are not simply super-shift keys in the case of control, alt, and shifts. These can be read as well and used in a program. In addition, this keyboard has the IBM "typematic" action, whereby if a key is held down for more than the assigned delay, the keyboard resends its 'make' code over and over till it is released or another key takes its place as the repeater.

The scancodes for the XT are each different bytes with the 'make' byte given one hexadecimal number and the 'break' byte given the same number with its high bit (MSB) set to "1", thus the break codes are all derivable by adding 80 hexadecimal to the make code for each key. The codes have nothing to do with the ASCII value of a character seen on the keycap. They are simply codes. All values below are hexadecimal, which means to get the decimal, you can multiply the left number by 16, where the left number is a digit such that 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, and F really mean numbers 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, and 15 in decimal. Then you take the right digit and convert it straight away and add it to the multiplication of the left digits's value which was multiplied by 16. Thus the decimal equivalent for the hexadecimal for C9 is 'C' or 12 times 16, which is 192, plus '9', which is just 9, to make 201. Likewise 3F converts to '3' or 3 times 16, which is 48, plus 'F' which is 15, which add to 63. And once more for good measure, BD converts to decimal thus: 'B' is 11, and 11 times 16 is 176, and 'D' is 13, so added they make 189. The scancodes found at port 60H or 96 are the 'make' codes for those keys. In BASIC language, the first INKEY$ byte is the ASCII interpretation in decimal, unless there are two bytes for the interpretation of extended characters, then it is the second. These INKEY$ codes, while often called scancodes mistakenly, are merely extended keycodes particular to BASIC language.

3.3) The XT Scancodes

These are all hexadecimal:              'make' code top / 'break' below

F1 F2    `  1  2  3  4  5  6  7  8  9  0  -  =  \ BS   ESC NUML SCRL SYSR
-----   ---------------------------------------------  ------------------
3B 3C   29 02 03 04 05 06 07 08 09 0A 0B 0C 0D 2B 0E    01  45   46   **
BB BC   A9 82 83 84 85 86 87 88 89 8A 8B 8C 8D AB 8E    81  C5   C6

F3 F4   TAB   Q  W  E  R  T  Y  U  I  O  P  [  ]       Home Up  PgUp PrtSc
-----   -----------------------------------------      -------------------
3D 3E    0F  10 11 12 13 14 15 16 17 18 19 1A 1B        47  48   49   37
BD BE    8F  90 91 92 93 94 95 96 97 98 99 9A 9B        C7  C8   C9   B7

F5 F6   CNTL   A  S  D  F  G  H  J  K  L  ;  ' ENTER   Left  5  Right  -
-----   --------------------------------------------   ------------------
3F 40    1D   1E 1F 20 21 22 23 24 25 26 27 28   1C     4B  4C   4D   4A
BF C0    9D   9E 9F A0 A1 A2 A3 A4 A5 A6 A7 A8   9C     CB  CC   CD   CA

F7 F8   LSHFT    Z  X  C  V  B  N  M  ,  .  /  RSHFT   End  Dn  PgDn   +
-----   --------------------------------------------   ------------------
41 42    2A     2C 2D 2E 2F 30 31 32 33 34 35    36     4F  50   51   4E
C1 C2    AA     AC AD AE AF B0 B1 B2 B3 B4 B5    B6     CF  D0   D1   CE

F9 F10  ALT                  SPC             CAPLOCK   Ins      Del
------  --------------------------------------------   -------------
43 44    38                   39                 3A     52       53
C3 C4    B8                   B9                 BA     D2       D3
Now I will explain the AT scan codes. They are done slightly differently. The AT keyboard response is a different set of events. When the key is pressed, the scan code is sent, and when the key is released, two bytes are sent, the keyboard sends F0 hex and then the scancode again, thus we will only need to list the scancodes below for the AT keyboard activity.

3.4) The AT Scancodes

Again, these are hexadecimal:

F1 F2    `  1  2  3  4  5  6  7  8  9  0  -  =  \ BS   ESC NUML SCRL SYSR
-----   ---------------------------------------------  ------------------
05 06   0E 16 1E 26 25 2E 36 3D 3E 46 45 4E 55 5D 66    76  77   7E   84

F3 F4   TAB   Q  W  E  R  T  Y  U  I  O  P  [  ]       Home Up  PgUp PrtSc
-----   -----------------------------------------      -------------------
04 0C    0D  15 1D 24 2D 2C 35 3C 43 44 4D 54 5B        6C  75   7D   7C

F5 F6   CNTL   A  S  D  F  G  H  J  K  L  ;  ' ENTER   Left  5  Right  -
-----   --------------------------------------------   ------------------
03 0B    14   1C 1B 23 28 34 33 38 42 4B 4C 52   5A     6B  73   74   7B

F7 F8   LSHFT    Z  X  C  V  B  N  M  ,  .  /  RSHFT   End  Dn  PgDn   +
-----   --------------------------------------------   ------------------
83 0A     12    1A 22 21 2A 32 31 3A 41 49 4A   59      69  72   7A   79

F9 F10  ALT                  SPC             CAPLOCK   Ins      Del
------  --------------------------------------------   -------------
01 09    11                   29               58       70       71
And that's all I know about it. If you would like to add information to this small tutorial FAQ, please send it to rstevew@armory.com for review and please don't add to this FAQ and republish it without my consent. I will keep this up to date if you will be kind and handle it that way. Thanks.

3.5) Plea

I have been looking for definitive doc on the keyboards, but everybody seems as wrong or contradicted or unsure as do I. I haven't had time to actually diagnose the behavior of keyboards with a scope or logic analyzer, so if anybody has anything that makes sense of this and the the bode.ee.ualberta.ca stuff, which I *HAVE* looked at, to little avail, please let me know!

Chapter 4) Anthony Berkow Keyboard Basics

4.1) About the Author

Author: Anthony Berkow
E-Mail: aberkow@syfrets.co.za
Version: 0.50 (to be updated)

4.2) Basics

The keyboard communicates on a character-by-character basis. Each key, including SHIFT, CTRL and ALT, sends a specific code when depressed and another code when it is released (the break code is the make code preceeded by F0h). ASCII is impractical for communication with a keyboard (especially with special features such as typematic rate) so special scan codes are used and converted to ASCII by the BIOS.

Certain keys produce series of scan codes called scan sets. There are 3 scan sets in use with set 2 being the most common. (Sets 2 & 3 used on AT keyboards.)

The 101/102 keyboard is laid in a 16 row by 8 column matrix. With set 1 or 2, for cursor control keys: ALT, CTRL, DEL, PgUp, PgDn, Ins, Home, End, the keyboard issues a series of codes dependant on shift keys (alt, ctrl, shift) and on the status of the indicator of the Num lock key. Since these keys are duplicated, the basic scan codes are identical - to identify the alternate key, an extra code E0h is added to the basic code. With set 3, each key generates just one code unaffected by the status of other keys.

With set 1, the up code is obtained by adding 80h to the down code. For set 2 and 3, the 1st byte is F0h and the 2nd byte is the down code for that key.

If a key is pressed, the keyboard acknowledges the key and issues the down key code. If a 2nd key is pressed while the 1st is still depressed, the 2nd key is acknowledged and it's down code sent. If the 2nd key is released before the first, the 1st key is deactivated. To reactivate the 1st key, it must first be released.

If two or more keys are pressed simultaneously, all are validated and all codes are sent (no error is generated).

With the exception of the pause key, all keys when held down for a certain time, auto-repeat. The down code is repeated until the key is released. If two or more are pressed together, only the last key pressed is repeated. The repeat stops when the last key pressed is released, even if the other keys are still depressed. The delay is usually 500ms and the repeat 10/s and can be modified.

The interface is serial, using the KBCLK (generated by the keyboard) and KBDTA lines. KBDTA is bidirectional! Data format is 11 bits for scan sets 2 & 3 - 1 start bit, 8 data bits (lsb 1st), 1 odd parity bit and 1 stop bit.

Data from controller to keyboard always has priority. As long as the keyboard has not yet transmitted the 10th bit, the controller can take over the interface, which it does by pulling KBCLK low for 100ms. Within 5ms the keyboard will start sending low clock pulses on KBCLK. KBDTA must be set to the relevant logic level each time KBCLK is low and must remain there until KBCLK goes high then low again. The keyboard reads this data bit when the clock pulse is high. If there is no clock within 20ms or transmission takes more than 2ms assume a transmit time-out and send a resend command to the keyboard (FEh).

For the keyboard to send the controller data, both KBCLK and KBDTA must be high. The keyboard begins by pulling KBDTA low and then starts sending clock pulses on KBCLK. The data bit is output while the clock is high and remains while it goes low then high again. The controller should read the data while the clock is low. If the controller holds the clock low the transmission will be aborted and retried once the line is free.

After the POST (power on self test) the keyboard issues a AAh to the system (FCh if failure).

The signals source is open-collector TTL (low <0.8V high>2.4V). Signals are on a 6-pin DIN or SDL (PS/2) connector (5 wires - 1 supply, 2 gnd, dta and clk):

  1. Data In/Out
  2. N/C
  3. Gnd
  4. +5V
  5. Clock
  6. Test (not used / Gnd)

Chapter 5) Nick Toop's AT/XT keyboard info

5.1) About the Author

Author: Nick Toop
Version: 1.00

I use both XT and AT keyboards with the MC68681 DUART in 68000 based microcomputer systems. I hope the following information proves to be both correct and useful.

5.2) Connector

The connector will be one of the following:

5pin 180 deg DIN               6pin MINIDIN
----------------               ------------
       (2)      1 CLOCK          (5) (6)        1 DATA
    (5)   (4)   2 DATA              |           2
   (3)     (1)  3              (3)     (4)      3 GND
                4 GND                           4 +5V
                5 5V             (1) (2)        5 CLOCK
The signals are open drain and TTL compatible.

5.3) AT Keyboard

The interface is bi-directional. I have not described the various setup options here; they include controlling the LEDs, echoing, changing the key modes, autorepeat and delay parameters, reset. I find the defaults work well enough.

After power up, a successful diagnostic test sends AA (hex).

The idle state is clock and data high. A code is sent when a key is first pressed (and when autorepeat is active). The same code is sent; prefixed by F0 (hex), when the key is released The data bit time is typically 50uS. The timing is as follows:

--______| D0  | D1  | D2  | D3  | D4  | D5  | D6  | D7  | PO  |------
  START   LSB                                       MSB   ODD   STOP
NB: Some keys return an escape code sequence i.e. E014 (Rctrl on) and F0E014 (Rctrl off).

5.4) PC-XT Keyboard

The idle state is clock high and data low. Take the clock low for > 6mS to get diagnostic test. Take data low and issue >62uS clock to lock keyboard.

A code is sent when the the key is first pressed (and when autorepeat is active). The same code is sent with D7 set as the key is released. The pulse widths are in the range 30->50uS. The timing is as follows:

____-------| D0  | D1  | D2  | D3  | D4  | D5  | D6  | D7  |-----____
    START    LSB                                       MSB
NB: Some keys return an escape code sequence i.e. E014 (Rctrl on) and E094 (Rctrl off).

5.5) Keys to Keycodes

Here are key numbers for a US-English 101 key keyboard.

|ESC    |F1 |F2 |F3 |F4 ||F5 |F6 |F7 |F8 ||F9 |F10|F11|F12|
|110    |112|113|114|115||116|117|118|119||120|121|122|123|
|~  |1  |2  |3  |4  |5  |6  |7  |8  |9  |0  |-  |=  |<-   |
|1  |2  |3  |4  |5  |6  |7  |8  |9  |10 |11 |12 |13 |15   |
|TAB |Q  |W  |E  |R  |T  |Y  |U  |I  |O  |P  |[  |]  |\   |
|16  |17 |18 |19 |20 |21 |22 |23 |24 |25 |26 |27 |28 |29  |
|CAPS |A  |S  |D  |F  |G  |H  |J  |K  |L  |;  |,  |ENTER  |
|30   |31 |32 |33 |34 |35 |36 |37 |38 |39 |40 |41 |43     |
|SHIFT |Z  |X  |C  |V  |B  |N  |M  |,  |.  |/  |SHIFT     |
|44    |46 |47 |48 |49 |50 |51 |52 |53 |54 |55 |57        |
|CTRL|  |ALT  |          SPACE            |ALT|      |CTRL|
|58  |  |60   |          61               |62 |      |64  |
|124  |125  |126  |
,-----,-----,-----,  ,-----,-----,-----,-----,
|INS  |HOME |PGUP |  |NLOCK|/    |*    |-    |
|75   |80   |85   |  |90   |95   |100  |105  |
|-----|-----|-----|  |-----|-----|-----|-----|
|DEL  |END  |PGDN |  |7    |8    |9    |+    |
|76   |81   |86   |  |91   |96   |101  |106  |
'-----'-----'-----'  |-----|-----|-----|-----|
                     |4    |5    |6    |     |
                     |92   |97   |102  |     |
      ,-----,        |-----|-----|-----|-----|
      |UP   |        |1    |2    |3    |ENTER|
      |83   |        |93   |98   |103  |108  |
,-----|-----|-----,  |-----------|-----|     |
|LEFT |DOWN |RIGHT|  |0          |.    |     |
|79   |84   |89   |  |99         |104  |     |
'-----'-----'-----'  '-----------'-----'-----'
There are at least three options for the mapping of key numberss to keycodes. The common usage seems to be as follows:

|#  |(HEX)|(HEX)||#  |(HEX)|(HEX)||#  |(HEX)|(HEX)||#  |(HEX)|(HEX)|
|1  |29   |0E   ||2  |02   |16   ||3  |03   |1E   ||4  |04   |26   |
|5  |05   |26   ||6  |06   |25   ||7  |07   |2E   ||8  |08   |36   |
|9  |09   |3D   ||10 |0A   |46   ||11 |0B   |45   ||12 |0C   |4E   |
|13 |0D   |55   ||14 |--   |--   ||15 |0E   |66   ||16 |0F   |0D   |
|17 |10   |15   ||18 |11   |1D   ||19 |12   |24   ||20 |13   |2D   |
|21 |14   |2C   ||22 |15   |35   ||23 |16   |3C   ||24 |17   |43   |
|25 |18   |44   ||26 |19   |4D   ||27 |1A   |54   ||28 |1B   |5B   |
|29 |2B   |5D   ||30 |3A   |58   ||31 |1E   |1C   ||32 |1F   |1B   |
|33 |20   |23   ||34 |21   |2B   ||35 |22   |34   ||36 |23   |33   |
|37 |24   |3B   ||38 |25   |42   ||39 |26   |4B   ||40 |27   |4C   |
|41 |28   |52   ||42 |--   |--   ||43 |1C   |5A   ||44 |2A   |12   |
|45 |--   |--   ||46 |2C   |1A   ||47 |2D   |22   ||48 |2E   |21   |
|49 |2F   |2A   ||50 |30   |32   ||51 |31   |31   ||52 |32   |3A   |
|53 |33   |41   ||54 |34   |49   ||55 |35   |4A   ||56 |--   |--   |
|57 |36   |59   ||58 |1D   |14   ||59 |--   |--   ||60 |38   |11   |
|61 |39   |29   ||62 |E038 |E011 ||63 |--   |--   ||64 |E01D |E014 |
|65 |--   |--   ||66 |--   |--   ||67 |--   |--   ||68 |--   |--   |
|69 |--   |--   ||70 |--   |--   ||71 |--   |--   ||72 |--   |--   |
|73 |--   |--   ||74 |--   |--   ||75 |E052 |E070 ||76 |E053 |E071 |
|77 |--   |--   ||78 |--   |--   ||79 |E04B |E06B ||80 |E047 |E06C |
|81 |E04F |E069 ||82 |--   |--   ||83 |E048 |E075 ||84 |E050 |E072 |
|85 |E049 |E07D ||86 |E051 |E07A ||87 |--   |--   ||88 |--   |--   |
|89 |E04D |E074 ||90 |45   |77   ||91 |47   |6C   ||92 |4B   |6B   |
|93 |4F   |69   ||94 |--   |--   ||95 |E035 |E04A ||96 |48   |75   |
|97 |4C   |73   ||98 |50   |72   ||99 |52   |70   ||100|57   |7C   |
|101|49   |7D   ||102|4D   |74   ||103|51   |7A   ||104|53   |71   |
|105|4A   |7B   ||106|4E   |79   ||107|--   |--   ||108|E01C |E05A |
|109|--   |--   ||110|01   |76   ||111|--   |--   ||112|3B   |05   |
|113|3C   |06   ||114|3D   |04   ||115|3E   |0C   ||116|3F   |03   |
|117|40   |0B   ||118|41   |83   ||119|42   |0A   ||120|43   |01   |
|121|44   |09   ||122|57   |78   ||123|58   |07   ||124|*1   |*2   |
|125|46   |7E   ||126|*3   |*4   ||127|--   |--   ||128|--   |--   |
*1 is E02AE037
*2 is E012E07C
*3 is E11D45E19DC5
*4 is E11477E1F014F077

Chapter 6) 6502 assembly code for controlling an AT keyboard

6.1) About the Author

Author: Jim Rosemary
E-Mail: rosemary@eecis.udel.edu

6.2) Introduction

This code was taken from a terminal emulator that I wrote a while back. The entire program was written in machine language and each revision was burned into an EPROM for the target system. Because of this, I did not try to make the code too 'pretty' - I just wanted to get it running. Read at your own risk.

Also, be advised that not all keyboards work with my machine. The better of the two keyboards that I have tried works fine, whereas the cheap one will not work at all.

It is advisable to obtain the keyboard docs from ftp.ee.ualberta.ca in the /pub/cookbook directory and read them. Also, these texts contain similar (if not newer) information.

6.3) Definitions

A 6522 is mapped at $fe30
PB0 goes to DATA
PB1 goes to CLOCK

Also, one of the control lines (CB1 or CB2, whichever corresponds to Interrupt enable $10)

No interrupt code is provided here; only the actual transfer.

$ff is used for passing data to/from the Get Byte and Write Byte routines. Reset has no parameters.

6.4) The Code

Get Byte:
                lda $fe32
                and #fc
                sta $fe32
                jsr get_bit
                ldy #$09
loop:           jsr get_bit
                ror $ff
                bne loop
                jsr get_bit
                lda $ff
                lda #$02
wait_for_hi     bit $fe30
                bne wait_for_hi
                lda $fe30
                lda #$02
wait_for_low    bit $fe30
                bne wait_for_low
Write Byte:
                lda $fe30
                and #$fc
                sta $fe30
                lda $fe32
                ora #03
                sta $fe32
                ldx #$c0
wait:           dex
                bne wait
                lda $fe32               // Write start bit
                and #$fd
                sta $fe32
                lda #$02
wait_for_hi     bit $fe30               // Wait for clock line
                beq wait_for_hi
wait_for_lo     bit $fe30
                bne wait_for_lo
                ldx #$08
                lda $fe32
                ldy #$01
loop            lsr $ff
                jsr write_bit           // Write data bits
                bne loop
                lsr                     // Write parity
                jsr write_bit
                sec                     // Write stop bit
                jsr write_bit
                lda #$01
wait_lo         bit $fe30               // Wait for handshake from kbd
                bne wait_lo
                lda $fe32
                and #$fe
                bcs write_one
                ora #$01
write_one       sta $fe32
                lda #$02
wait_for_lo     bit $fe30
                bne wait_for_lo
wait_for_hi     bit $fe30
                beq wait_for_hi
Reset Keyboard:
                lda $fe30
                and #$fc
                sta $fe30
                lda $fe32
                ora #$03
                sta $fe32
                ldx #$c0
wait            dex
                bne wait
                lda $fe32
                and #$fd
                sta $fe32
                lda #$02
wait_for_hi     bit $fe30
                beq wait_for_hi
wait_for_lo     bit $fe30
                bne wait_for_lo
                ldx #$08
                lda $fe32
                and #$fe
                sta $fe32
                lda #$02
wait_for_hi1    bit $fe30
                beq wait_for_hi1
wait_for_lo1    bit $fe30
                bne wait_for_lo1
                bne wait_for_hi1
                lda #$02
wait_for_hi2    bit $fe30
                beq wait_for_hi2
wait_for_lo2    bit $fe30
                beq wait_for_lo2
                lda #$01
wait_for_lo3    bit $fe30
                bne wait_for_lo3
                lda #$10
                sta $fe3d

Please check attribution for Author. Processed by filipg@paranoia.com [Feedback Form] [mailto]. The most recent version is available on the WWW server http://www.paranoia.com/~filipg/ [Copyright] [Disclaimer]