Offering two bedrooms both with built in robes, central bathroom & laundry, open plan kitchen meals leading to lounge with direct access to private courtyard. Carpets, blinds. Lock up garage & close to Bonbeach station & beach. No pets.


text:
Meet the Dinosaur With the Heart-Shaped Tail Bone
The newly discovered long-neck dino could help scientists figure out why some dinosaurs grew to be so large
Maris Fessenden
Former correspondent
An artist imagines what two Mnyamawamtuka would look like as they cavort in the Cretaceous rain Mark Witton (2018)
Keenly targeting those readers feeling sick of couple-centric articles but still longing to indulge in the sweetness of Valentine's day, researchers announced this week the discovery of a new dinosaur with tailbones shaped like hearts.
The long-necked Mnyamawamtuka moyowamkia—Swahili for "animal of the Mtuka with a heart-shaped tail"—was found in the Mtuka, a riverbed in Tanzania, reports Jessica Boddy for Popular Science.
The dino is more than just an interesting name. M. moyowamkia is a member of the appropriately-named titanosaurs, a group of enormous animals. The researchers hope that figuring out how the new find relates to fossils scientists have already uncovered can reveal more about titanosaurs, how they lived and how they thrived.
"Titanosaurs dominated Cretaceous ecosystems all over the world at the end of the age of dinosaurs," Kristina Curry Rogers, a paleontologist at Macalester College in St. Paul, Minnesota, tells Popular Science. Rogers wasn't involved in the new study. "In spite of the fact that titanosaurs are being discovered at an astonishing pace and inhabited every continent on earth, the earliest phases of their take over are still pretty mysterious."
The bones researchers found for a new dinosaur include a heart-shaped tail bone. Mark Witton (2018)
Titanosaurs first appeared about 125 million years ago, reports Will Dunham for Reuters. Before dinosaurs were wiped out 66 million years ago, the largest of the titanosaurs could grow to be 120 feet long and weigh 70 tons. The new fossil find "provides a critical look at the group before the widespread diversification around the planet," Patrick O'Connor, a study co-author and anatomy professor at Ohio University tells Reuters.
Scientists still aren't sure how or why the titanosaur group grew so large. Most specimens have come from South America, writes Gemma Tarlach for Discover. So a find in Africa is exciting and has the potential to round out the titanosaur story.
The researchers dug M. moyowamkia out of a cliff face above a dry river bed. Excavations started in 2004. They found teeth, parts of limbs, ribs, vertebrate and parts of the shoulders and pelvis, they report in PLOS One. The paper includes a detailed description of all the bones the team found as well as how they compare to other titanosaur fossils.
As for the heart-shaped tail bone, O'Connor says that the vertebrae could have helped to stiffen the long tail. "It was not fully grown yet, as evidenced by unfused parts of the skeleton," he tells Reuters. "So, we are not sure of the maximum adult size at this point." Whatever it's purpose in life, the unique anatomical feature is certainly helping the dino gain fame long after it died.
Maris Fessenden | | READ MORE
Maris Fessenden is a freelance science writer and artist who appreciates small things and wide open spaces.
Dinosaurs Paleontology Valentine's Day

redpajama_set_name: RedPajamaCommonCrawl


Because the VA industry is unregulated, people often try to take advantage of the situation for their own personal or financial gain. From amateur "experts", dodgy clients and outright scammers, unethical practices appear to be on the rise. But if you know what to look out for, you're far less likely to be taken for a ride.
If you charge by the hour, at some point you're going to reach an income plateau as there are only so many billable hours you can work in a day. You know you need to raise your rates as time goes on, but you're also worried you might lose some of your clients if you do. Here's how to up your prices like a pro along with a customisable email template.
As a freelancer you are legally required to keep accurate financial records and expenses going back over the last six years. My trainees often ask me how they should record both their own financial records as well as their client invoices, so I thought I'd show you the system I use myself.
People often ask whether they should take out business insurance and, although I usually direct them to various online articles (because well, that's why Google exists!) I thought I should cover it on my website too. Many Sole Traders I know don't have any insurance, but here's a summary of the different types so you can make an informed decision for yourself.
So now I've covered how to set your rates, how to track time spent on client tasks, how to avoid time-wasting clients and how and when to fire a client, it's time to tell you how to invoice a client so they can pay you! This is how to set up easy standard ways of invoicing so you can just do the work and bill your client without any stress, worry or confusion.


Auto Sparky, Engineers - Motor & Repairers, listed under "Engineers - Motor & Repairers" category, is located at U1/ 34 Stuart Hwy Alice Springs NT, 0870, Australia and can be reached by 0889530959 phone number. Auto Sparky has currently 0 reviews.
Browse all Engineers - Motor & Repairers in Alice Springs NT.


Dr. Yueh-Lin (Lynn) Loo at The University of Texas at Austin, an assistant professor of chemical engineering, studies the plastic called polyaniline because it could serve as flexible, inexpensive wiring in future products such as foldable electronic displays and medical sensors.
By combining polyaniline with a chemical that gives it conductivity, Loo discovered she could increase the plastic's conductivity one- to six-fold based on the version of the chemical added. Chemically altered polyaniline has several advantages over the more commonly used metals, like gold and copper, in devices other than computers. For example, Loo's previous research has demonstrated that "doped" polyaniline can be manufactured in solution at room temperatures and without vacuum chambers. Producing metal-based wires requires special manufacturing conditions in addition to the high cost of the metals.
Graduate student Joung Eun Yoo and other members of Loo's laboratory began determining how higher-mass versions of polymer acid improve the plastic's conductivity when the two materials are combined. So far, they have learned that the higher mass acids attach to the plastic in longer chains, and induce a less-ordered internal structure (crystallinity) within the plastic.
"Understanding how the structure of this polyaniline material changes when its conductivity changes will be crucial for selecting the right material for different consumer applications," Loo said. She noted that the ability of the plastic to change colours depending on whether it was conductive or not could be especially useful. "Its general versatility could lead to a variety of new consumer products in upcoming years," she said.


Putting your trust in a photographer's ability to deliver stunning and timeless images of you and your family on the best day of your life is a pretty important and difficult decision. You're not just making a decision about whose images you like best, you're deciding who you want at your side on your wedding day.
So, here's a little about me to get us started: I get my manners from my southern roots and my free spirit from California. It's an odd mix of doing the right things and breaking all the rules. But so far it has worked out pretty well for me. I'll support a local business over a chain store any day. I love all animals and hope to have enough land some day to care for many more than just my rescue cat Sasha Fierce and my clinically insane puppy Parker - both of whom I love dearly. I live in a place that has spoiled me rotten when it comes to beautiful weather, great food, wine and kind people and I'm okay with that. I chose to live here for a reason.
I want to get to know you and your fiance before we shoot a wedding together. If you're in town, let's meet for coffee to get down to business! Or, if you're sick of talking about the wedding, I'm well versed in all things pop culture... throw some celebrity trivia at me - I dare you. The best part of my job is getting to meet wonderful people and their incredible families, so even if you are a millennial like me who prefers the written word to the spoken one, give me a ring! We'll tough it out together. I am so thankful I get to do what I love for a living and I pour my heart into every job. My only wish is that you, my clients, see that love and respect for the craft when you look at your photos.
Engagements, anniversaries, proposals, boudoir, family - any type of photography that allows you to get a little dressed up and me to capture your most beautiful self. I adore these sessions because we can choose the best weather, the best lighting conditions, we can change wardrobe, we can style a shoot around a theme... we can play! The creative options are endless! We also have the opportunity to take our time and chat, making it a relaxed and enjoyable experience as well.
Let's talk cash money. Simple, direct and fair are words I like very much when it comes to spending my hard earned money. I have created the One & Only Wedding Collection for people who like those words too. It includes 8 hours of wedding day coverage, an engagement session, all edited high-resolution digital files presented in a clean and organized online gallery. From the gallery, you, your friends and family can view and share the images and order prints. A La Carte Add-Ons are a great way to boost the One & Only collection into fulfilling all of your wedding photography dreams. And if you're looking for a bit less, I've got you covered too! My Elopement collection may be just the thing to cover your no-frills event, while still giving you great images to remember your day.
Portrait Sessions are equally simple and fair and can be booked in addition to or separate from the One & Only Wedding Collection. They are 1 hour and include all of the edited high-resolution digital files in a password protected gallery. A La Carte Add-Ons are available for these sessions as well!
Please inquire about full package details and customization options. I'm happy to guide you in selecting the best options for your specific needs!


The electric guitar is an iconic musical instrument that has defined many musical genres, especially rock music. Over the course of its roughly 70-year history, the electric guitar has evolved into many kinds. To make it easy for you to choose your instrument, we have the "How to choose an electric guitar" guide for you.
Mass popularity was gained by the electric guitar in the 1950s when Fender came out with the Stratocaster guitar. This instrument is still produced almost unchanged today and could be considered as the basis and essence of an electric guitar. If needed, our experts will be happy to help you make up your mind at the telephone number 020 8089 1481 (Mon-Fri 9 am-5 pm) or at the e-mail address .
Today we distinguish three main types of electric guitars and many derived from them: Stratocaster and the Telecaster (which is originally from the manufacturer of Fender) and the Les Paul originally created by Gibson.
It is difficult to clearly say which type of guitar is exactly suited to which kind of music. Although it might sound surprising, we are inclined to believe that the basic criterion for choosing an instrument may just be choosing what you like : -). An electric guitar that you will enjoy and feel good with will surely please you the most and you will have fun learning on it.
The Stratocaster guitar was originally created by Fender. ST models are so vital that we can find them in the portfolio of other manufacturers. These instruments are among the most versatile type and are fine for all musical genres. No beginner will go wrong with this guitar. You would find Stratocasters in the hands of guitarists such as Jimi Hendrix, Eric Clapton, or David Gilmour (Pink Floyd).
Les Paul guitars feature one cutaway on the underside and a rounded top. Their characteristic round and powerful output signal thanks to the double humbucker pickup is very well suited to hard rock genres, metal, but also styles such as reggae or blues. Giants like Slash (Guns N 'Roses), Jimmy Page (Led Zeppelin), Zakk Wylde swear by Les Paul guitars.
Telecaster guitars are another iconic guitar coming from Fender workshops. Like Stratocasters, T models have become popular worldwide and are now available from other manufacturers. Their elegant shape with a single cutout and configuration destines them for a clean to a slightly distorted sound. Typically, these guitars appear in genres like country and pop, but nowadays there are also telecasters designed for harder music.
So-called Super Strat models are based on the Fender Stratocaster body design and shape. They are characterized by a narrower body and neck, deep cutaways with sharp corners, and overwhelmingly these instruments are fitted with at least one twin-coil pickup (humbucker). These characteristic elements destine Super Strat guitars for use especially in the hard rock and metal genres.
SG guitars are inherently connected with Gibson, but like other types, we see them today with other manufacturers. These instruments are typical on account of their side-symmetrical body with two cutaways. You can typically see AC / DC guitarist Angus Young with an SG guitar.
As opposed to all other electric guitars, the semi-acoustic guitar features a hollow body. Thanks to the acoustic space inside the instrument body of the semi-acoustic guitar, they have a typical warm and round sound. You will most often encounter this type of instrument in jazz and blues music.
7 string and 8 string guitars are gaining ground especially in modern metal genres. Thanks to the seventh or even eighth bass strings, these instruments can be played deeper than standard guitars. They are designed to play deep guitar riffs that were made famous by nu-metal bands like Korn, or "Djent" bands like Meshuggah.
Baritone guitars are six-stringed, but due to the extended distance between the fret and the bridge, they can be tuned much lower than the standard guitar.
Hard and Heavy guitars are designed for rock and metal genres. Here you will find electric guitars such as Flying V, Explorer and others, which are commonly found in the sharpest musical genres.
Complete electric guitar sets, combos and accessories are designed for beginners who want to have everything together. In the complete guitar set, you will find an electric guitar, combo, all connecting cables, picks, as well as a guitar strap and case as standard. You have everything you need to start your musical career.
The basis of the electric guitar is the pickup. It consists of a magnet around which a coil is wrapped. The resulting electromagnetic field then senses the vibration of the strings, generating an electrical signal that is transmitted to the amplifier via the cable.
Pickups are divided into single (singles) and double (so-called humbuckers). Typically, the pickup type can be distinguished at first glance - a single pickup is simply narrower than a humbucker. If a pickup is not under a cover, you will see a row of magnets with single ones, while the humbucker has two rows.
Historically, single pickups are older. Generally, you can say that they produce a brighter, more ringing sound with a higher ratio of higher frequencies. Because of the laws of physics, they are characterized in that they produce noise. Typically, "singles" are used in pop, country, or rock'n'roll, but that cannot be said to be definitive.
Humbucker pickups are developmentally younger. Their sound is rather more central, more round, and generally produces a stronger signal. Thanks to these characteristics, they are more likely to be used in jazz, blues and harder genres such as hard rock, metal, and so on. Humbucker pickups also bear stronger distortion better. At the same time you do not encounter the noise that is typical of the singles.
As the name suggests, this bridge is firmly attached to the body and does not move. This type of bridge guarantees the most stable tuning and minimizes the need for adjusting. This is why guitars with a solid bridge are ideal for beginners.
This is a bridge that can be moved slightly to the center of the guitar using the lever. The lever thus enables lowering the pitch of a tone during playing, which is used for various guitar techniques when playing solos and so on.
This type of bridge allows you to move the bridge to both sides by using a lever. By doing so, the strings can be loosened or tightened. This motion reduces or increases the pitch of a tone, which is again applied when playing different techniques. Double-locking tremolo is also the most challenging as far as getting the tuning right goes. In order to tune a guitar with double-locking tremolo correctly (for example, after replacing strings, the instrument should be set up by an experienced guitar player or a professional guitar player.
To play an electric guitar, it must be plugged into a guitar amplifier. This device can either be formed by a guitar combo (an amplifier and a speaker in one device) or a set of guitar amplifiers and cabinets.
An electric guitar cannot be done without the basic accessories. First of all, you need an instrument cable, to connect the guitar to a combo or amplifier. To tune the instrument you will then need a guitar tuner (any kind of clip tuner will work). You will also find picks, astrap and a guitar stand useful. If you are planning to travel with your guitar, we recommend buying a gig bag (more comfortable) or a hard case (safer).
If you need some help deciding which electric guitar to buy, don't hesitate to call us on our toll-free line at 020 8089 1481.


Beautiful and welcoming, the superior craftsmanship is evident from the moment you first walk in the front door. From the arched doorways and beautiful hardwood floors, it only gets better as you make your way through the huge living area, complete with vaulted ceilings and plantation shutters, into the updated kitchen, with granite counter-tops. The bonus space is large, and versatile to fit many different needs, from a play room, to a gathering space for company, or whatever works best for you. Plus, the bonus space is not included in the heated sq ft or in property records! When you get to the backyard, you will see that the attention to detail did not stop inside. The deck is beautifully done, and creates a perfect spot to relax! A carport in the front, and garage (plus additional work/storage space) in the back provide plenty of parking and storage, something that you can never have too much of. Put this one on your "must see" list and schedule your personal showing today!!
From the intersection of 49th St and 54th Ave N in St Pete, go west on 54th Ave N. Turn right onto 53rd Way N. House will be 3 blocks up on the corner of 53rd Way N and 56th Ter N.
The approximate monthly Principal & Interest payment for this property would be $1,138. This payment is based on a 30-year loan at a fixed rate of 4.12 % with a down payment of $23,990. Actual lender interest rates and loan programs may vary.


It looks as if goals-based financial planning is percolating through the ranks of financial advisors.
In other words, advisors aren't as concerned with meeting benchmark indexes as they are with making sure that investment portfolios deliver the kinds of returns investors need.
This is good news, according to one market expert, as it signals — at least for the moment — that holistic investing is on the upswing.
Matthew Coldren, executive vice president with the Client Solutions Group at Natixis Global Asset Management, said he was surprised by how high goals-based investing registered with advisors in a recent survey.
In the survey of 300 advisors, 78 percent said they encouraged their clients to set specific goals for their investments instead of meeting a benchmark. The Natixis survey also found that 84 percent of advisors agreed that clients would be happy if they achieved their investment goals over a year, even if their portfolio underperformed the market.
The survey also found that 84 percent of advisors believed that investors were more concerned about missing their investment objectives than about falling short of a benchmark.
In both cases, "That 84 percent is a positive," Coldren said in an interview with InsuranceNewsNet.
In short, advisors appeared to have recognized that the sound health of an entire investment forest is more valuable than the health of an individual tree or species, Coldren said.
Goals-based financial planning is designed to meet specific goals set by clients and their advisors. The goals are designed to complement the health and performance of a client's overall investment portfolio.
A retired couple looking for and receiving $1,500 a month in income from their portfolio over the next five years, for instance, have met their goal, whether their investment portfolio surpasses or falls short of market returns.
Performance-based investment planning, by contrast, is designed to outperform a market benchmark. By that measure, an investment portfolio generating a return of 20 percent in 2013 would have fallen well short of the Standard & Poor's 500 index return of nearly 30 percent that year.
But if an advisor's investments have met the goals of generating $1,500 a month, what difference does it make what the Standard & Poor's 500 index delivers?
"Over the last year a lot of client firms we work with have put a lot of technology and thought leadership in this notion of your number or your goal," Coldren said.
Advisors, he said, are spending time asking clients, "What would you like to do? What is your next phase of life?" Moving off the performance topic and onto the goal topic, "I think that's a good thing," Coldren said.
The recent survey results point to important changes in investment approaches, but it's important to remember that the shift isn't happening in a vacuum.
Earlier this year, John Theil, chief executive officer of Merrill Lynch Wealth Management, said there was a move among brokers to make investing simpler by shifting the emphases of the firm's thousands of advisors to goals-based wealth management.
The company reportedly planned to spend $40 million on goals-based training.
Remember, too, that baby boomers are starting to retire in big numbers. These investors are thinking about how their investments fit with other income sources: Social Security, private savings, a defined benefit pension perhaps (for those lucky enough to have one) and an inheritance.
Questions around finding longevity and how to receive and pass on wealth require giving some thought to investment goals, not beating a benchmark.
Reputable advisors have always said investments should be goals-based. But getting that message out or convincing investors to stick to the plan is not always easy, particularly with advertising touting funds beating one benchmark or another and investors pressing advisors to move assets into higher-yielding asset classes.
The newfound respect for goals-based planning is taking place as the discussion heats up about how to secure retirement income in the asset-distribution phase of life.
For years, financial planning has focused on gathering assets and where to best invest those assets in search of higher returns during the asset accumulation phase of life.
As investors move deeper into the distribution phase of their lives, however, meeting goals and needs takes precedence over questions of investment returns.
Perhaps there's an even simpler explanation. Investors have realized that neither they nor their advisors — no one, in fact — can beat the market over the long term.
If beating the market is impossible, better to focus on the happiest retirement within an investor's available means, and pay advisors to secure that goal instead of trying to outperform an index.


LIGHTNING STREAKED ACROSS THE darkening sky and thunder followed. Stillness held sway a moment, the air thick, before a torrent of rain battered the earth.
Wrestling against the wind, Lady Alexandra Torrence tucked her portmanteau closer to her person as she pushed determinedly toward the estate looming in the distance. The storm had been but a sun-shower when she'd set out from Bentley Close, her family's estate only a half hour walk, and while the light cloak she wore protected her from the worst of it, the wet was beginning to seep into her skin.
She stopped that thought in its tracks.
Shoving the key into the lock, she blinked fiercely as she forced memory aside once more. She could do this. It had been years, the wound so old it should have long since faded. She could investigate Waithe Hall and its ghosts, and she would not think of him.
The key turned easily, the door swinging open. She stepped inside. Cavernous silence greeted her, the din of the rain that had been so deafening now distant. The entrance hall stretched before her, disappearing into darkness, and the storm had made the late afternoon darker than usual, swallowing any light that peeked through closed doors. Pausing mid-step, she wondered if perhaps she had made a mistake in coming here.
Shaking off doubt, she started through the hall. The rain echoed through the vast hall, the hollow sound strange after being caught in its fury. Fumbling through her portmanteau she found a candle and tinder.
The flickering light revealed an entrance hall that opened into an enclosed court encompassing the first and second floors and an impressive chandelier draped in protective cloth hung at its centre. Memory painted it with crystal and candles, and she remembered sitting on the landing of the second floor, legs dangling through the gaps between balusters as she and Maxim counted the crystals for the hundredth time.
Bowing her head, she cursed herself. She should have known she could not have kept the memories at bay.
A roll of thunder reverberated through the hall, leaving behind quiet and dark. All her memories of Waithe Hall were full of life, the butler directing servants, fresh flowers in the vases lining the court, light spilling through from the mammoth windows. Now the windows were shuttered, and an eerie silence broken only by the sounds of the storm pervaded.
Hitching her bag, she made her way to the sitting room. It was as still as the hall, the furniture draped in holland covers, the windows also shuttered. Setting her candle down, she placed her cloak over the back of a chair and rested her bag on its seat, glancing nervously about. She caught herself. Don't be stupid, Alexandra. There's none here.
Before she could think further, she unbuttoned her bodice. Her clothes were soaked, uncomfortably damp against her skin, and a chill was beginning to seep through, though it was the tail end of summer and the days were still mostly warm. She'd chosen a simple gown, one she knew she could get into and out of herself. Her maid had been aghast that she sought to clothe herself but had begrudgingly helped in the end.
Heat rose on her cheeks as she shucked out of the bodice. There was none here. She knew there was no one. Cheeks now burning, she untied her skirt and petticoats, left only in her stays and chemise. She would love to remove her stays as well, but they was only slightly damp and she couldn't bring herself to disrobe more than she had.
Opening her bag, she pulled out a spare bodice, skirt, petticoats and, finally, a towel. Thanking her stars she'd had the forethought to bring it, she quickly swiped herself, chanting all along there was no one watching her, that doing this in an abandoned sitting room was not immodest.
In record time, she'd managed to reclothe herself. Hanging her wet clothes to dry, she pushed her hair out of her face. Once she had explored further, she would choose one of the bedchambers as her base, but for right now the sitting room would suffice.
Damnation. Bracing herself against a chair, she bowed her head. She had thought more of him in the last hour than she had in the year previous. It was this place. She'd managed to convince herself she no longer felt the sharp bite of grief, but she did. It struck her at odd moments, and she could never predict when. One would think it would have lessened with time, but it hit her fresh and raw, as if she bled all over again. She'd been a fool to think she would remain unaffected returning here—he was everywhere.
She closed her eyes as realisation cut through her. She was going to think of him. It was inevitable. However, she had come here with purpose and she would not allow this preoccupation to deter her.
The ghosts of Waithe Hall beckoned.
A darkening gloom shrouded the drawing room. Night approached, quicker than she'd like, and she was determined to at least do a preliminary sweep of the estate to refresh her memory before it became too dark to continue. There was much to do before she camped out in the affected room one night soon, not the least of which was determining which room was affected.
From her bag, she pulled a compass, a ball of twine, and her notebook. Bending over the flickering light of her candle, she opened her notebook and dated the page, jotting down her notes on the expedition thus far.
There had always been tales of ghosts at Waithe Hall. On her and Maxim's frequent rides about the estate, she remembered listening wide-eyed as Timmons had told them tales of ghosts and woe. The groom had waxed lyrical on the myths and legends of spiritual activity at Waithe Hall, and she'd been completely fascinated. Maxim had never seemed interested, but he'd always followed when she'd concocted a new adventure to discover ghosts and ghouls. As an adult, she'd turned her fascination to a hobby, researching and cataloguing ghost tales at every manor and estate she'd attended. Her own family's estate had a ghost or two, stories her father had been only too happy to tell. She'd documented his tale and others, and had submitted several articles to the Society for the Research of Psychical Phenomena. They hadn't as yet chosen to publish any of them, but she was convinced if she persisted, eventually they would.
Then, four months ago, reports had crossed the earl's desk in London of strange lights at Waithe Hall. He'd mentioned it in passing to her father, who in turn, knowing her fascination, mentioned it to her. He'd also issued a stern warning she was not to pursue an investigation but, well, she was twenty-five years old and in possession of an inheritance a great aunt had left her. Her father could suggest, but he could not compel.
The lights could be any number of things, but the report had contained accounts of a weeping woman and the light had become a search light. Memory reminded her of a tale Timmons had told, the lament of a housekeeper of Waithe Hall who had lost a set of keys and caused a massacre. Her lips quirked. Timmons's tales had ever been grisly.
Determination had firmed and within a week she'd made her way to Northumberland and Waithe Hall. Bentley Close had been shut as well, but unlike Waithe Hall, a skeleton staff kept the estate running. Along with her maid, she'd arrived late last night though she hadn't been in a position to set out for Waithe Hall until late this afternoon. Her plan had always been to spend a few days here, but the rain made it so she now had no choice.
She would rather be here than in London anyway. Besides pretending she was unaffected by those who called her odd, her younger sister had finally made her debut at the grand old age of twenty. Lydia was taking society by storm, determined to wring every ounce of pleasure out of her season, and she had confidently informed their parents she didn't intend to wed until she had at least three seasons behind her. At first horrified, their parents had resigned themselves to neither of their daughters marrying any time soon.
As the eldest of her parents' children and a female besides, she had borne the brunt of their expectations in that respect, but at least Harry had now brought them some joy. He and Madeline Pike were to marry next year, the wedding of the heir to a marquisette and a duke's daughter already touted as the event of the season. George had absconded to the continent, no doubt investigating the most macabre medical reports he could, while Michael was still at Eton.
Upstairs, a door slammed shut. Alexandra jumped, hand flying to her racing heart. It was the wind. It had to be. Even now it howled outside, rain pelting the roof and echoing through the hall as distant thunder rolled.
Hugging the notebook to her chest, she shucked off any concerns. There was no time like the present. She would start with an examination of the ground floor. The kitchens and servants rooms would take an age, so better to examine the rooms the family rooms and save the servants for another time.
The portrait gallery was as she remembered it, a long stretch of hall that displayed the Farlisles in all their permutations. Quickly, she traversed its length, telling herself the dozens of eyes of previous Farlisles did not follow her, that they did not judge her an unwelcome guest. Cold slid up her spine and she moved faster, especially as she passed the portrait of the old earl and his sons, Maxim staring solemnly from the portrait.
Pretending she felt not a skerrick of unease, she noted the gallery's dimensions in her diary and moved on to the second sitting room. Again, nothing in particular was out of the ordinary.
The library was at the end of the corridor, and the door opened easily under her hand. It really was most obliging of the steward to have not locked any of the doors inside the estate. The room was vastly different to her remembrance. Few books lined the shelves thick with dust, and holland covers draped most of the furniture, although one of the high-backed arm chairs before the fire was lacking the covering. Peculiarly, one of the windows here was unshuttered, the weak light of storm-dampened twilight painting the wall opposite.
She'd always loved the library and its two storeys containing rows upon rows of books. As children, she'd insisted she and Maxim spend an inordinate amount of time within its walls, happily miring herself in book after book. Maxim had always been bored within seconds, spending his time tossing his ever-present cricket ball higher and higher in the air to see if he could hit the ceiling two floors above. He'd even managed it, a time or two.
Sharp pain lodged beneath her breast. Rubbing at her chest, she took a breath against it, pulling herself to the present. Somehow, night had encroached upon the room. How long had she been stood here, lost in memory?
Moving further into the room, she trailed her fingers over the side table next to the undraped chair. A stack of thick books was piled high, the top one containing a marker. Why was there a stack of books? Had an apparition placed them there?
A prickle rippled along her skin. She'd never seen a ghost. She'd heard hundreds, thousands of stories, but she'd never— Steadying herself, she flipped open the book to the spot marked, noting it was a history of the Roman invasion and settlement of Cumbria. Sections and rows were underlined with pencil, writing filled the margins, and there was something about the hand….
Closing the book, she placed it back on the stack. Why was this here? Every other part of Waithe Hall she'd seen had been closed, shut away. This room held an uncovered chair, a stack of books and…the fireplace held recent ashes.
Her heart began to pound.
Again, something—a door?—banged. Whirling around, she searched the encroaching dark, her gaze desperate as her chest heaved. What if the lights weren't a ghost? What if it was a vagrant, someone dangerous and unkind? What if…what if it were a murderer?
The agitated sound of her breathing filled the room. Getting a hold of herself, she reined her imaginations in. Her thoughts could—and frequently did—run to the extreme. Though these anomalies were curious, there could be a perfectly mundane reason for their presence. There was nothing out of the ordinary, besides the books, and the fireplace, and— She took a breath. Calm, Alexandra. She was purportedly an investigator. She would investigate.
Something banged for a third time, closer now, and brought with it a howling wind. Alexandra jumped, grabbing at the table for balance as the door to the library flew open, the heavy wood banging against the wall, the books wobbling and threatening to fall. Blood pounding in her ears, she looked to the darkened maw of the library's entrance.
An indistinct white shape filled the door, hovering at least five feet above the floor.
A scream lodged in her throat. She couldn't move, couldn't make a sound, could only stare as the thing approached.
Lightning crashed, flashing through the room. She gasped, a short stacco sound that did little to unlock her chest.
Lightning crashed again. The shape became distinct in the brief flash of light, revealing a man dressed in shirt sleeves and breeches, his dark hair long about his harsh face. A strong, handsome face that held traces of a boy she thought never to see again.
– Anna Campbell, author of the bestselling Dashing Widows series.
– Tamara Gill, author of the Lords of London series.
This book didn't really have a nickname. I wrote it so fast, I didn't really need to refer to it while lamenting to my friends. I think I just called it 'the book' and left it at that.
Really a nothing tale. Sorry, peeps.
Finding Lord Farlisle was intended to be part of an upcoming project with a group of authors. I finished the novel in record time, however, and decided instead of being a standalone, Finding Lord Farlisle would be the first book in a series, with a subsequent book being part of the project.


text:
Pre-Certification Video
UK Database
The Working Girls (1974) on Vision-On
The Working Girls 1974
director: Stephanie Rothman
ComedyClick to search for more "Comedy" films.
Sarah Kennedy Laurie Rose Mark Thomas Lynne Guthrie Ken Del Conte Solomon Sturges Gene Elman Mary Beth Hughes Lou Tiano Cassandra Peterson [Elvira] Bob Schott
"I'LL DO ANYTHING TO SATISFY!" "IS THERE MUCH NIGHT WORK?" "IS THIS WORK LEGAL?"
Honey (Sarah Kennedy) is an unemployed, recent college graduate who arrives in Los Angeles to look for work. She may be short on money, but no on ingenuity. During her first twenty-four hours in town she manages to convince a cafe owner to give her a free meal; she also manages to convince Denise (Laurie Rose), an artist who works as a sign painter, and Jill (Lynne Guthrie), a law student who works as a part-time cocktail waitress, to let her move in with them rent free; and finally, she manages to find herself a man, Mike (Ken Del Conte), who earns his living as a street musician. But things don't go too smoothly for Honey. When Mike meets Denise he decides he prefers her to Honey. And Honey still hasn't found a job. In desperation, she takes out an ad in the paper which reads, "I will do anything for money!" She gets some indecent and funny replies, including a request from a Mrs Borden (Mary Beth Hughes) who wants to hire Honey to kill her husband! Honey's luck changes at last when she meets Vernon Zugsmith IV (Soloman Sturges), a bored, lonely, young millionaire who hires her to be his companion and talk to him. Unfortunately working for Vernon makes Honey bored and lonely. So Vernon loans her some money to invest for him. To his surprise, she succeeds in making him a lot more money. Honey is thrilled, but Vernon is not. Now she is just another business competitor to him and so he fires her. Honey is crushed. It looks as if Vernon has permanently disappeared from her life. Like Honey, Jill's adventures are also involved with her work. When she is offered a raise, Jill goes to work as a stripper at the nightclub where she has been working as a waitress. At first she is shy about stripping, but once she has done it, she thinks of it as just another job. While at work, she meets Nick (Mark Thomas) a young syndicate hood. Jill and Nick fall in love and he proposes marriage, but Jill refuses his proposal and leaves him because she is serious about following a law career and fears that his underworld connections could hurt her chances. While Jill and Honey are enmeshed in their own adventures, Denise and Mike start living together. Mike enjoys sharing an apartment with the three girls. However, he keeps them ignorant of his shadier activities. Mike is a fence as well as a musician. His music serves as a cover for his illegal activities. When Denise accidently finds this out, she is very upset, but Mike's fencing activities are quickly ended after he is brutally beaten by some rivals. The three working girls are left sadder and wiser by their adventures. But they are soon cheered up when Honey receives a sixty thousand dollar bonus from Vernon as a reward for the money she made for him. Honey shares the money equally with Denise, Jill and Mike before setting out to join Vernon in a new money-making enterprise.
Other Releases
Oscar (10908) Vision-On (VOV011) Starline Vision-On
Average User Rating: 1 Vote(s)
Video Cover Thumbnail(s)
Amazon USA Purchase this movie on DVD!
Distributor Vision-On
Catalogue Number VOV011
Release Series
Duration: 73m 34s
Printed Classification
Notes Second release, big box
© 2012 Pre-Certification Video


text:
Mary Cole Walling (June 19, 1838 – June 12, 1925) was an American patriot. She was known during the Civil War as "The Banished Heroine of the South." She spoke out for universal suffrage during the war and Reconstruction era. A well-written speech on "Reconstruction and Universal Suffrage", was delivered by Walling in the Senate chamber of the U.S. Capitol at Washington, D.C. May 10, 1866. It was the first time that a woman was ever granted the privilege of speaking there.

Early years
Mary Cole was born in Pike County, Pennsylvania, June 19, 1838 (or 1839). She was a lineal descendant of the patrician families of Stephen Cole, of Scotland, and Hannah Chase, of England. She had twelve siblings, all of them being brothers. Her parents moved to Cass County, Illinois, in 1850.

Career
In Case County, in 1850, she married Captain F. C. Brookman, of St. Louis, Missouri, who died shortly after of yellow fever. The young widow removed to Texas, where she married Creed A. Walling (1839–1907), a rancher. She was the mother of four children, in a happy and luxurious home, when the alarm of the Civil War occurred, and her husband joined the Confederate States Army. Due to her Union sentiments, and because almost all of her twelve brothers were with the Union Army, 1863, she was banished from her Texas home by the vigilance committee, being told to "leave the country within a few hours." Walling, with four children, the youngest still a baby, ordered the family carriage, and, with a brother eleven years of age for a driver, started through the wilds of Texas for the Union lines, with no chart or compass for her guide except for the North Star. They traveled for twenty-three days before first sight of the union flag.

Walling and her children went to live in Illinois with her parents. Upon learning that seven of her brothers were in the Union Army, where they all fought and died, she determined to lecture in defense of the Stars and Stripes. On September 4, 1865, upon being introduced to a large audience in New York City at the Cooper Institute by Horace Greeley, on the subject of "Two Years' Experience in Texas, and the Reestablishment of our Government in the South", he declared her "The greatest female speaker of the age." She went on to deliver speeches in may of the large cities of the North.

On May 10, 1866, the U.S. Senate passed a resolution according to her the privilege of addressing that honorable body, which distinction was unprecedented in the history of the United States. Before that body, she delivered her famous argument on reconstruction.  In addition to Horace Greeley, she had become a friend of Henry Ward Beecher, President James A. Garfield, Wendell Phillips, Thaddeus Stevens, Charles Sumner, John A. Logan, Ulysses S. Grant, and Francis Fessenden. Surrounded by her children in her Texas home, as a first literary task, she began writing an autobiography of her antebellum days and her subsequent trials and successes.

In 1875, the family relocated to New Albany, Ohio before returning to Texas. In 1900, Mr. and Mrs. Walling removed to Louisville, Kentucky to be closer to their sons, J. Spurgeon and John Wesley Walling, who were real estate agents of that city; their daughter, Ella, was living in Tampa, Florida. Her husband died in Louisville, 1903. She died in Louisville, June 12, 1925, and was buried in that city's Cave Hill Cemetery.

References

Attribution

External links

 Important Speech of Mrs. M.C. Walling on Reconstruction and Universal Suffrage, Delivered in the U.S. Senate, May 10, 1866 (PDF)

1838 births
1925 deaths
People from Pike County, Pennsylvania
American patriotism
Women in the American Civil War
Wikipedia articles incorporating text from A Woman of the Century
Burials at Cave Hill Cemetery

redpajama_set_name: RedPajamaWikipedia


text:
Apple I Replica Creation -- Chapter 7: Understanding the Apple I
Submitted by Dr. Webster on August 31, 2012 - 9:21pm
Understanding the Apple I
The design of the Apple I is as simple and straightforward as any computer you'll find. Look at the block diagram in Figure 7.1. At the center of the design is the processor, the brains of the operation. All data passes through it, and it controls which data that is, and when. The ROM contains the Monitor, which, as you learned in the previous chapter, is essentially a very simple operating system. When the computer is first turned on, the processor immediately goes to the ROM and runs the Monitor program. The RAM is used to store user programs and data. You'll note that there is no mass storage device (hard drive, floppy drive, etc.) in this diagram or in the Apple I, though it would be possible to add one.
Figure 7.1 Apple I Block Diagram
Once the computer boots, it outputs a command line prompt (a slash) to the screen. The processor sends the character to the Input/Output (I/O) chip. The I/O chip waits until the video section is ready for the next character, then sends it off. The video section converts the character from digital data to an analog signal suitable for a video monitor. Input comes from the keyboard, where it is stored in the I/O chip and then transferred to the processor. It's very important to understand that the processor does all the work and directs all operations.
In this chapter, we'll discuss the workings of the processor, RAM, ROM, and I/O. The video section will be addressed briefly, but we will not cover the complexities of adapting the data for output to a CRT. Our emphasis will be on the digital workings of the computer.
The Data Bus
The Apple I's main components are all attached to the 8-bit data bus (Figure 7.2). All the data the processor sends or receives travels over this bus. The individual components cannot communicate with one another directly—all data must pass through the processor.
Let's say we have a character (we'll make it 'J') in RAM and we want to send it to the display. An ASCII character is a single byte, so it fits perfectly on our 8-bit data bus. Our first step is to get the data out of RAM and load it into the processor. We know the location, or address, of the character, so we put that location on the address bus. If the address were $2100, for example, the instruction would be LDA $2100.
Each device on the bus sees that address. The ROM and I/O chips look at the address and see that it's not for them. The RAM chip recognizes the address as its own and knows to which location in its memory that the address refers. The RAM chip looks at the Read/Write line to see whether the processor wants to read a byte from this address, or write a byte to it (that is, whether to load the 'J' into the processor or to overwrite the 'J' with some other letter). The Read line is high, so the RAM chip places the 'J' on the data bus, where it's then loaded into the processor.
Figure 7.2 Data Flow
Next, we want to send the data from the processor to the video output via the I/O chip. A specific address on the I/O chip is associated with sending data to video-out. The processor puts that address on the address bus. The I/O chip recognizes that address as its own, the one intended for video-out data. The other chips don't recognize the address and thus ignore it. The Read line goes low (which means write), so the In/Out chip knows it will be receiving data and the character 'J' is placed on the data bus. At the clock pulse, the I/O chip reads the data off the data bus. Then the I/O chip sends it off to the video circuitry.
The Address Bus
The address bus is 16 bits wide, which means we have enough addresses for 65,536 (64K, or 216) unique locations. Usually, these locations are memory addresses (RAM), but they could range anywhere from light emitting diodes (LEDs) to sensors or I/O chips. Let's say we have a 32-kilobyte RAM chip. Half of our available addresses fit within 32K, so let's make this chip occupy the lower half of the address space, addresses 0 through 32,767. Whenever the address is 32,767 or less, we want to enable the chip. How can we check for numbers in this range?
One very complex possibility is to check each possible combination. For example, to check for 1, which is within our range, we would write:
Enabled for 1 = A15' • A14' • A13' • A12' • A11' • A10' • A9' • A8' • A7' • A6' • A5' • A4' • A3' • A2' • A1' • A0
Or to check for 14,287, which is also within our desired range, we would write:
Enabled for 14287 = A15' • A14' • A13 • A12 • A11' • A10 • A9 • A8 • A7 • A6 • A5' • A4' • A3 • A2 • A1 • A0
And we would end up doing this 32,767 times, once for each address. This approach would certainly work, but the amount of work and time needed to complete the task would be so enormous that it would be terribly impractical. Let's try to find a simpler method by examining the relevance of each bit. The lowest bit, A0, alternates high and low with each number, so it's no good for determining whether a number is larger or smaller than 32K. The same applies to bit A1, which alternates high and low with every second number. Let's look at the range of numbers we have to cover (Table 7.1):
Decimal Binary
0 0000 0000 0000 0000b
32,767 0111 1111 1111 1111b
Table 7.1 32 KB Address Range
Notice from this table is that although bits A14 through A0 change, bit A15 is always 0. Not only that, but our range includes every number where A15 is 0. If A15 is low, we know the address is within our 0 to 32K range. Our circuit, shown in Figure 7.3, is now trivial—whenever A15 is low, enable the chip.
Figure 7.3 32 KB Enable
You might be thinking that this example was contrived to work out easily, and it certainly was, but that doesn't make it unrealistic. Any memory chip you find is going to be based on a power of two, and when you're designing a computer, it certainly behooves you to use start and end points that are easily defined in logic.
Let's take a harder example. Suppose we have 16 kilobytes of RAM and we want to locate this memory at addresses 32K through 48K. Our table would then look like Table 7.2:
Bits A0 through A13 will vary, so we can disregard those for now. A14 must be 0, because if it were 1, the value would be larger than 48K. A15 must be 1, because if it were 0, the value would be smaller than 32K. Thus, we want to enable our chip whenever A15 is high and A14 is low (Figure 7.4).
Now that we've enabled the chip we want to use, we need to identify the location on that chip. This is where the rest of the address lines on the address bus come into play. Bits A0 through A13 can express our entire range of locations. These lines are connected directly to the address lines on the chip so that it can find the internal location of the requested data.
Bidirectional Buses
The data bus is bidirectional, meaning that data can be both sent and received over it. The Read/Write line is used to determine which direction the data is going. The address bus, by contrast, is unidirectional. Only the processor can send data to it. The rest of the chips (such as RAM, ROM, and others) can only read what's on the address bus.
Everything happens at the clock pulse. New values are waiting at the register inputs. When the clock pulses, the new values are loaded into the registers over the course of a couple nanoseconds, then become present at the output of the registers. The output signal propagates through the circuit, each logic gate taking a few more nanoseconds. Eventually, all is updated and the lines stabilize. At this point, the clock pulses and the cycle repeats. Figure 7.5 shows a 1MHz TTL crystal oscillator, which we will use for our clock.
Figure 7.5 1MHz TTL Crystal Oscillator
Figure 7.6 shows a timing diagram for the clock pulse. At each rising edge, indicated by an arrow, the circuit updates. The Apple I uses a 1MHz clock. Compare that to the multi-gigahertz clocks in today's computers, and it's glacially slow. What would happen if we put a 1GHz clock in the Apple I? At 1GHz, the circuit would not have time to fully propagate after each clock pulse, leaving the circuit partially updated and in an uncertain state.
Figure 7.6 Timing Diagram
Figure 7.7 shows the pinout for a 1MHz TTL crystal oscillator. Pin 1 is not used. Pins 7 and 14 are ground and power, respectively. Pin 8 is our clock output. The output is low for 500KHz, then high for 500KHz. Our circuitry triggers on the rising edge.
Figure 7.7 1MHz TTL Crystal Oscillator Pinout
The Processor
Fully understanding the operations of the 6502 processor (Figure 7.8) sounds daunting, and it certainly could be. However, we're going to concentrate on understanding the processor from the user's perspective, which simplifies our cause. You won't learn how to build a processor from scratch (that's another book in itself), but you will learn how to design basic circuits that interact with the processor. In Chapter 6, we discussed how to write programs in machine language that can be directly understood by the 6502. This chapter will go into more depth, looking at what happens when you run those programs.
Figure 7.8 6502 Microprocessor
Pins and Descriptions
The 6502 (Figure 7.9) comes in a 40-pin dual in-line package (DIP). The function of each pin is described later in this chapter. If you're using the slightly newer and more advanced 65c02 chip, you'll have a few extra features available. These features aren't used by the Apple I, and the 65c02 is backwards compatible with the 6502, so you can safely think of your 65c02 as an ordinary 6502 processor.
Figure 7.9 6502 Pinout
Address Bus (A0-A15)
The address bus is a 16-bit bus capable of addressing 64 kilobytes. Those bytes could be locations in memory or on input/output devices.
Clock (φ0, φ1, φ2)
The symbol φ0 (or Phi 0) denotes the oscillator input. Connect the output of your 1MHz clock to this line. φ1 and φ2 are outputs that are offset from this clock line. φ1 is not used by the Apple I. φ2 is used when writing to the 6821 PIA and the RAM.
Data Bus (D0-D8)
The eight-bit data bus allows bidirectional communication between the processor and memory or other peripheral devices.
Interrupt Request (IRQ)
This line is not used by the Apple I. A pulse on the interrupt line tells the processor to stop what it's doing and to process data from another location.
No Connection (NC)
There is no signal on this line; as a result, it can be left disconnected. If you're using the later 65c02 instead of the original 6502, you'll find some of the NC pins have been replaced with actual signals. The 65c02 is backward-compatible, so you can just leave these lines disconnected as you would on the 6502.
This line is not used by the Apple I. Whereas a normal interrupt (IRQ) can be blocked by software, a non-maskable interrupt will always succeed in getting through and interrupting the system.
Ready (RDY)
This line is not used by the Apple I. The Ready line allows you to halt or single-step the processor. This can be especially handy if you're trying to troubleshoot a design and want to see what the system is doing, one step at a time.
Reset (RES)
When power is first applied to the processor, it's in an unknown state. Pressing the Reset button tells it to load the program at the address contained at $FFFC and $FFFD and to start executing.
Read/Write (R/W)
The Read/Write line is used in conjunction with the data bus. When Read is high, the processor is reading data from the data bus. When Read is low, the processor is writing data to the data bus.
Set Overflow Flag (SO)
This line is not used by the Apple I. Its function is to manually set the overflow flag in the processor. The overflow flag is used to indicate that a number is larger than can be contained.
This line is not used by the Apple I. Sync can be used in combination with RDY to single-step the processor.
Voltage Common Collector (Vcc)
Vcc is the positive voltage line. It provides power for the chip and connects to the five-volt signal.
Voltage Source (Vss)
Vss is the ground line. The 6502 has two Vss lines, probably for additional current-handling.
With this knowledge, we can draw the schematic for the processor (Figure 7.10). The address lines go to the address bus, and the data lines to the data bus. The Read/Write, Phi 0, and Phi 2 pins are all wired to their respective lines. /SO is disabled by being tied to high. RDY, /IRQ, and /NMI are tied to high with current-limiting resistors. Reset is connected to the reset circuitry, which is high until the switch is depressed.
Figure 7.10 Processor Schematic
Registers, discussed in Chapter 5, are a fundamental part of the microprocessor. Each data register in the 6502 has a capacity of eight bits, and can therefore store an entire byte of data. The Program Counter (PC) can hold 16 bits. Registers allow the processor easy access to the data it needs to operate. Figure 7.11 shows the five registers most important to us.
Figure 7.11 6502 Registers
The Accumulator
The Accumulator is used for mathematical and logical operations. If you have a number on which you want to perform addition or subtraction, you first load it into the Accumulator.
Index Registers X and Y
X and Y are generic registers. If you have a byte of data that you just want to keep nearby or are moving from one peripheral to another, the X and Y registers are convenient nearby storage places. It's also very easy to move data between various registers, so if you have a byte in X that you want to do a mathematical operation upon, you can easily transfer it to the Accumulator.
Program Counter (PC)
The PC is a 16-bit register used for keeping track of the address of the current instruction. It is incremented each time an instruction or data is fetched from memory. The processor looks at the program counter to see where it should fetch its next instruction.
Stack Pointer
The stack pointer points to (gives the address of) the current top of the stack. This address will change every time a byte is added or removed from the stack. The function of the stack is described later in this chapter.
Processor Status Register
The processor status register (Figure 7.12) is a collection of individual flags that serve as indicators for various instructions. For example, if you perform a subtraction and the answer is negative, the negative flag will be set. Then the next instruction can check that flag, see that the answer was negative, and report back to your program.
Figure 7.12 Processor Status Register
The Arithmetic and Logic Unit
The Arithmetic and Logic Unit (ALU) is at the heart of the microprocessor. The ALU can be thought of as a processing machine. Put the numbers you want to work on at the entry, choose the function you want, and let it run. The answer comes out the other end and is stored in the Accumulator.
The stack lets us save data for future use. Access to data on the stack is limited. Only the topmost value can be read. Data is either "pushed" onto the stack or "popped" off of it. The stack pointer remembers the current location of the top of the stack. When data is pushed, the stack grows and the stack pointer is incremented. When data is popped, the stack shrinks and the stack pointer is decremented. Chapter 6 discusses how to program with the stack.
The stack uses memory from $0100 to $01FF (figure 7.13). $01FF is the base address. As data is pushed onto the stack, the stack grows towards $0100. The size of the stack cannot exceed the 255 bytes allocated to it.
Figure 7.13 6502 Stack
Let's take a look at the way memory is used in the Apple I.
The Apple I has 64 KB of addressable space. The Monitor ROM occupies 256 bytes. The original Apple I also had 8 KB of RAM. Of the 64K addresses ($0000 through $FFFF), where should this memory be located? Deciding on a location for the ROM is easy. The 6502 microprocessor requires that a memory address be stored at addresses $FFFE and $FFFF (the address is 16-bit, so it takes two bytes). When the 6502 is reset, it immediately loads the address at $FFEF and $FFFF into its program counter and begins executing that address. Thus, you need to have a ROM at $FFFE–$FFFF, and if you need to have it there, you might as well keep the ROM in a solid block. The Monitor ROM, therefore, starts at $FF00 and ends at $FFFF.
The RAM, by contrast, is divided into two parts. Four kilobytes are for system and user access. These 4 KB are located at $000–$0FFF. The other 4 KB, which are intended for Apple's Integer BASIC, are located at $E000–$EFFF. You'll note that $E000–$EFFF are RAM, not ROM. Every time the original Apple I was powered up, the code for BASIC would have to be either loaded from cassette or typed in by hand. If the user did not need BASIC, he or she could refrain from loading it and just use that memory as generic memory space.
Figure 7.14 shows the memory map for the Apple I, as designed by Steve Wozniak.
Figure 7.14 Apple I Memory Map
Note that the vast majority of this address space is unused. If the user wanted, he or she could expand the RAM in some of these blocks or use it for other peripheral devices. Joe Torzewski, who started the Apple I Owners Club in 1977, upgraded his Apple I to 16 KB. It would be possible to fill the entire unused memory with additional RAM.
Why did Apple include so little memory? Back in 1976, that 8 KB of RAM was prohibitively expensive. Today, by contrast, the price of RAM has plummeted, and the difference in cost between 8 KB and a hundred times that is negligible. Unless you're going strictly for historical accuracy, you'll probably want to add more RAM to your replica design. Figure 7.15 shows the memory map for Briel Computers' Replica I.
Figure 7.15 Replica I Memory Map
The first thing you'll notice about Briel's design is all the extra RAM. The first 32 KB ($0000–$8000) are all dedicated to system and user space. This is memory you're free to play around with. This is eight times the amount of system and user space in the original design, and that kind of expansion can make a big difference. Next, look at locations $E000 to $EFFF. Instead of being in RAM, Integer BASIC is now in ROM. This means BASIC is permanently stored on the Apple I and is immediately available when the system is turned on.
If you're a hardy assembly language programmer who scorns BASIC, this may be superfluous, but for everybody else, it saves a tremendous amount of time and frustration. Finally, note that addresses $F000 to $FE99 are mapped to ROM, but aren't labeled. If there's a program you use very frequently, you could potentially put it in ROM here, but right now, the space is wasted. Dedicating the entire 4 KB block, $F000–$FFFF, to ROM makes addressing easier and decreases the number of chips we need to place on the circuit board.
Implementing 8 KB RAM
The original Apple I used 16 MK4096 ICs to get 8 KB RAM. We can do the same with a single Cypress CY6264 (Figure 7.16). Let's briefly take a look at the function of the more interesting pins.
Figure 7.16 CY6264 Pinout
Address Lines (A0–A12)
You'll see that there are 13 address lines, which is enough to address 213, or 8,192, locations—conveniently, though not unintentionally, 8 KB. For the most part, these pins will be connected directly to the address bus, but there are some tricks we can play to divide the RAM into two separate blocks.
Data Lines (D0–D7)
All eight data lines are connected directly to the data bus.
Chip Enable (/CE1, CE2)
When Chip Enable 1 is low and Chip Enable 2 is high, the chip is "turned on" and will attempt to either read data from the bus or write data to it.
Write Enable (/WE)
When the chip is enabled and Write Enable is low, the data on the data bus is written to memory.
Output Enable (/OE)
When the chip is enabled and Output Enable is low, data from memory is output onto the data bus.
The difficulty in wiring up the RAM comes from having to divide it into two blocks, one at $0000–$0FFF and one at $E000–$EFFF. We must enable the chip only when the address on the address bus is within those ranges. The CY6264 has two chip enables. Both must be enabled to enable the chip. For simplicity, we're just going to use one (CE2) and tie /CE1 to ground so that it is always enabled. Since CE2 should be high for addresses in either range $0000–$0FFF or $E000–$EFFF, we can write the statement:
CE2 = ($0000 to $0FFF) + ($E00 to $EFFF)
Keep in mind that the + here means OR. Since the lowest 12 bits in each part of the statement can change without having CE2, we can rewrite the equation:
CE2 = ($0xxx) + ($Exxx)
Now we just need to look at the leftmost four bits, which represent pins A15, A14, A13, and A12. Converting 0 and E to binary, we get:
$0 = 0000b
$E = 1110b
Given that those binary digits represent pins A15 through A12, we can write the statements:
$0xxx = A15 ' • A14 ' • A13 ' • A12 '
$Exxx = A15 • A14 • A13 • A12 '
Then we put them together to realize our expression for CE2:
CE2 = (A15 ' • A14 ' • A13 ' • A12 ') + (A15 • A14 • A13 • A12 ')
The circuit created from this expression can be seen in Figure 7.17. The implementation of the latter half is straightforward (four signals, one inverted, going into a quad-AND gate). To implement the former half, we could have used four inverters going into a quad-AND gate, but instead we took advantage of DeMorgan's Laws to create an equivalent circuit using OR gates. Since four OR gates come to a chip, this approach lends itself to a more efficient design.
Our RAM chip will be enabled whenever an address on the address bus is within its range. We need to add some circuitry to the chip's address lines to make it map to two separate blocks. Since we have 8 KB and we want two blocks of 4 KB, we can use one of the address lines as a switch. A12 can be that address line. Let's make A12 high when the address is in the $Exxx region. A12 is low for every other region, but because our chip is only enabled for $Exxx and $0xxx, that effectively means A12 is only low for $0xxx.
When enabled, our memory chip is always either reading or writing data, as dictated by the processor's Read/Write line. The Read/Write line is high when the processor is reading and low when the processor is writing. We need to connect this Read/Write line directly to the Output Enable (/OE) line of memory. We also connect the inverted Read/Write line to the chip's Write Enable (/WE), but since we don't want to write until the data is available, we AND the inverted R/W with the Phi 2 clock, which is used for timing memory writes. Both lines are active-low (are activated by a low signal, as opposed to a high). "Output Enable" corresponds to "Read." Because Read/Write is low when the processor wants to write and Write Enable is active-low, we can hook the Read/Write line directly to the Write Enable pin. Whenever we're not writing, we're reading; consequently, Output Enable should be high whenever Write Enable is low, and vice versa. This means Output Enable should be hooked up to the inverted Read/Write signal. The complete schematic is shown in Figure 7.17.
Figure 7.17 8 KB RAM Schematic
Dynamic and Static RAM
The original Apple I was built using dynamic RAM, which is still prevalent in computers today. In dynamic RAM, each memory cell (one bit) is made up of a transistor and a capacitor. If the capacitor loses its charge, the content of memory is forgotten. A capacitor will discharge after just a couple milliseconds, so dynamic memory relies upon external refresh circuitry to keep the capacitor charged. Static memory, by contrast, uses a flip-flop for each bit. A flip-flop, of course, requires no refreshing, so static memory is a lot easier to work with. It's also faster. Unfortunately, a flip-flop is a lot more complex than a mere transistor and capacitor; therefore, static memory is a lot more expensive, which is why dynamic memory remains so common today. A static RAM chip of a few kilobytes costs only a couple dollars, so for our project it's perfectly economical.
Implementing 32 KB RAM
The 32 KB RAM design used in the Replica I is far simpler than the 8 KB example we just examined. The chip used is a 62256 static RAM IC (Figure 7.18). The design for the 62256 mirrors our earlier example. The chip should be enabled whenever the lower half of memory is addressed. This occurs whenever A15 is low, giving us the result of CE = A15 . Our only chip enable line is /CE1, so /CE1 = A15, so this leaves us with the Write Enable and Output (Read) Enable lines to configure. Writing takes precedence if both Write Enable and Output Enable are true. Therefore, we can enable output whenever the chip is enabled. Write should be enabled when Read/Write is low and Phi 2 (the clock used for memory writes) is high. The completed design is shown in Figure 7.19.
Figure 7.18 62256 Pinout
Figure 7.19 32 KB RAM Schematic
Implementing the EPROM
If you want to use an erasable programmable read-only memory (EPROM) solely for the Monitor program, as the Apple I does, the circuit is straightforward. This design uses a 2716 EPROM, which is much bigger then we need, so address lines A8 through A10 are permanently tied low. This leaves us with 28, or 256, bytes of addressable space—exactly the number we need for the Monitor ROM range of $FF00 to $FFFF. Address lines A0 through A7 can be connected to the address bus, and the data lines can be connected to the data bus.
Output Enable, which is active-low, should be low whenever read is high; subsequently, /OE is connected to the R/W line through an inverter. Lastly, the chip should be enabled whenever the address is in the $FFxx range. Refer to the schematic in Figure 7.20.
Figure 7.20 2716 EPROM Schematic
EPROM and EEPROM
An EPROM is a programmable read-only memory (PROM) that can be erased under ultraviolet light. An electrically-erasable programmable read-only memory is an EPROM that can be erased with an electrical charge. Both EPROMs and EEPROMs can be read an unlimited number of times, but erasing and writing is typically limited to a few hundred thousand times. EPROM is pronounced ee-prom, and EEPROM is pronounced ee-ee-prom.
Implementing the Expanded ROM
The Replica I uses an alternative chip for the ROM, a 28c64. It also uses a more complex method for chip enable. The EEPROM can be enabled for the entire range from $E000 to $FFFF. This can be conveniently done with a 74LS138 decoder. This same decoder can also be used to decode the addresses for our 6821 PIA, discussed in the next section; therefore, it is advantageous to become familiar with its use at this point.
Wiring the 74LS138
The 74LS138 is a one-of-eight decoder, giving us eight possible outputs. The EEPROM requires addresses $E000 through $FFFF. The 6821 PIA discussed later uses the $Dxxx range. Ranges $Axxx, $Bxxx, and $Cxxx aren't used, but since we have extra outputs, we can make them available for future projects. Table 7.3 shows the ranges expressed as hexadecimal and binary values.
Hexadecimal Binary
$Axxx 1010 xxxx xxxx xxxxb
$Bxxx 1011 xxxx xxxx xxxxb
$Cxxx 1100 xxxx xxxx xxxxb
$Dxxx 1101 xxxx xxxx xxxxb
$Exxx 1110 xxxx xxxx xxxxb
$Fxxx 1111 xxxx xxxx xxxxb
Table 7.3 Addresses for the 74LS138 Decoder
The highest bit (A15) is 1 for all the ranges we're working with, so A15 can simply be used as an enable line (G1). Bits A12, A13, and A14 all vary, so they will be the input lines A, B, and C. For the range $Fxxx, ABC = 111b. 111b equals 7, making the output Y7 true. For $Exxx, ABC = 110b, which is 6 in binary, making Y6 true. The EEPROM should be enabled whenever Y6 or Y7 is true. Since /CE, /Y6, and /Y7 are all active-low, we should have an OR gate with an inverter at each input and output. Using DeMorgan's Laws, this is equivalent to an AND gate. Since this design already has a 7400 IC on board, a NAND followed by another NAND (to invert) is equivalent.
Wiring the 28c64
Since we're using this EEPROM as a simple ROM, Write Enable (/WE) is permanently tied high. The chip is only enabled when data is to be read from it, so it follows that /OE = /CE. The address lines go directly to the address bus and the data lines go directly to the data bus. A schematic of this is shown in Figure 7.21.
Figure 7.21 28c64 EEPROM Schematic
I/O with the 6821
The Motorola 6821 (Figure 7.22) is a peripheral interface adapter (PIA), which means that it's used for interfacing peripherals, such as keyboard and video, to the computer. The 6821 has two configurable eight-bit ports, PA and PB (for "port A" and "port B"), which can be used either for output or input. The Apple I uses PA for input from the keyboard and PB for output to the video circuit. The data is transferred to and from the computer via the data bus.
This section will provide a rather in-depth look at the operation of the 6821. If you plan to use the Apple I's standard interfaces for keyboard in and video out, this section might not interest you. If, on the other hand, you intend to substantially modify the Apple I circuit for some special purpose, or if you are interested in building your own microcomputer using the 6821, this information will be very helpful.
Each eight-bit port can be configured for either input or output. In fact, each bit direction in each port can be individually specified. When the Apple I is reset, the Monitor configures the 6821 to work with our circuit. On reset, both ports default to being inputs and the keyboard port is left untouched. The video port is set to output except for the highest bit, which is used as the "Data Available" line.
Figure 7.22 PIA 6821 Pinout
The Monitor uses the information in Table 7.4 for setting up the address lines. Changing the value of the bits CRA 2 and CRB 2 can alter which register lines that RS1 and RS0 address. The bits in Control Register A (CRA), including bit 2 (CRA 2), can be set when RS1 = 1 and RS2 = 0. First, set CRA 2 to 0. Next, make RS1 = 0 and RS0 = 0. This allows us to pass eight bits to the 6821 that will set the data direction for register A. Then, set RS1 high and RS0 low to access CRA and then set CRA 2 to 0. Now, when RS1 = 0 and RS0 = 0, Peripheral Register A will be accessed, whether for reading or writing, depending upon which data direction bits were set. The same technique applies to Peripheral Register B.
RS1 RS0 Control Register Bit Location Selection
CRA 2 CRB 2
0 0 1 X Peripheral Register A
0 0 0 X Data Direction Register A
0 1 X X Control Register A
1 0 X 1 Peripheral Register B
1 0 X 0 Data Direction Register B
1 1 X X Control Register B
Table 7.4 Internal Addressing
Take a look at Figure 7.23. The Register Select lines RS0 and RS1 are connected to the Address lines A0 and A1, respectively. The chip select line CS0 goes to A4. For the other chip select, CS2, we use the same 74LS138 as in the memory section to decode the high bits in the address, giving us everything in the $Dxxx range. This combination of decoding makes it possible for us to use the addresses seen in Table 7.5.
Figure 7.23 Control Registers A and B
Mnemonic Apple I Name 6821 Name Address Description
DSP Display Register Peripheral Register B $D012 A character being sent to the display is held in this register until the video section is ready to take it.
DSPCR Display Control Register Control Register B $D013 Defines the behavior of the Display Register.
KBD Keyboard Register Peripheral Register A $D010 A character from the keyboard is held in this register until it is requested by the processor.
KBDCR Keyboard Controller Register Control Register A $D011 Defines the behavior of the Keyboard Register.
Table 7.5 External Addressing
When the circuit is reset, the DSP and KBD ports are in configuration mode (that is, bits CRA 2 and CRB 2 are low). This means that when we send data to DSP or KBD, it will go to the data direction register instead of the peripheral register. By sending $7F (that's 0111 1111b) to DSP, the lower seven bits are set to outputs and the highest bit is set to an input.
Next, the control registers (Figures 7.24 and 7.25) need to be configured. Both are configured in the same way, as shown in Figure 7.26.
Figure 7.24 Keyboard Control Register
Figure 7.25 Display Control Register
DDR Access
Note that b2, which is CRA 2 and CRB 2, is high. This changes the register selection from the data direction register to the peripheral register. Now, data sent to DSP and KBD will go to the peripheral registers, not to the data direction registers.
CA1 (CB1) Control
b0 enables interrupts on CA1 and CB1. CA1 is connected to the keyboard's strobe line. Whenever the keyboard sends a strobe signal, the 6821 loads the character on the KBD bus into its keyboard register. CB1 is used for the video circuit and is connected to RDA (Ready Data Accept). RDA comes from the video section and tells the 6821 that the video section is ready to receive a character.
b1 is high, which sets CA1 and CB1 to look for high-to-low transitions, as opposed to low-to-high transitions. This means that a change from 0 to 1 will cause an interrupt, whereas a change from 1 to 0 will not.
The keyboard's CA2 has no connection; consequently, these settings are only important for the video's CB2. b5 is high, which means CB2 is an output. b4 does nothing in this configuration. b3 is a flag which goes high when CB1, which is connected to the RDA line, goes high. The flag is cleared on the clock pulse (Phi 2 on pin E) after data is loaded into the display register.
IRA Interrupt Flags
IRQA and IRQB are not used.
When a pulse arrives on the strobe line, the character from the keyboard is loaded into the keyboard register and a flag is set in the keyboard control register. In the Apple I's memory map, the keyboard register is at $D010 and the keyboard control register is at $D011. The processor checks for the flag at $D011. When it sees it, the processor goes to $D010 and loads the character.
The processor sends a character to the 6821, which then sends it out to the video section. The display register is at $D012. Before sending data, the processor checks bit 7 at memory location $D012. If this bit is high, it means the "Data Available" line is high, and the 6821 currently has data it is waiting to send to the video section. The processor waits until the bit goes low, indicating the 6821 has sent its data and is now ready to talk to the processor. The processor then sends its character to the display register, which is located at $D012 in the memory map. The 6821 loads this character into the display register and tells the video section that it has data available by setting DA (Data Available) high. When the video section is ready, it responds by setting RDA (Ready Data Accept) high. The 6821 sends the character to the video section and sets DA to low.
Keyboard Input
The Apple I uses a very simple ASCII keyboard (Figure 7.27). When a key is pressed, that character's seven-bit ASCII value is placed on the keyboard's data lines. A pulse on the strobe line indicates the data is ready. Many ASCII keyboards will also have a reset button. This button is connected to the processor's reset line. The rest of the signals, including data lines and strobe, go to the 6821. A schematic of this layout is shown in Figure 7.28.
Figure 7.27 ASCII Keyboard
Figure 7.28 ASCII Keyboard Schematic
An ASCII keyboard is the simplest way to get data into an Apple I replica. Unfortunately, these keyboards are becoming very hard to find. The most reliable source is an Apple II+, but that computer is becoming a rarity in its own right. If you do borrow a II+ keyboard, treat the computer gently. The Apple II+ is a fun computer you'll want to keep around.
For those who can't find or don't want an ASCII keyboard, there is an alternative. Briel Computers has designed a PS/2 interface around an ATmega microcontroller (Figure 7.29). The PS/2 keyboard sends its scancodes to the microcontroller. The microcontroller converts them to ASCII and sends them to the 6821, using the strobe line to indicate when data is available.
You'll need an 8MHz crystal and two 18 pF capacitors to provide a clock for the microcontroller, and a PS/2 connector to plug your keyboard into. If you want the option of switching between a PS/2 keyboard and an ASCII keyboard, provide a jumper between the ATmega's reset pin and ground (as shown in Figure 7.29). Since Reset is active-low, jumpering it to ground will disable the ATmega by placing it permanently into reset mode, letting you use your ASCII keyboard without conflict.
Figure 7.29 PS/2 Keyboard Schematic
A microcontroller is a specialized microcomputer contained on a single chip. Microcontrollers are often used to control intelligent peripherals such as hard drives and are now common even in simple devices such as keyboards and mice. You'll find many Web sites and books devoted to the microcontroller hobby.
Changes in the Replica 1 TE
Briel Computers' newest version of the Replica, the Replica 1 TE, leaves the processor section unchanged, but significantly updates the video circuitry and keyboard interface. Instead of using an Atmel ATmega8 AVR and ATmega8515 for the video circuitry and keyboard interface, respectively, a Parallax Propeller microcontroller now handles both. The Propeller also provides a serial interface. The video section of the Propeller sends data to both the video port and serial interface, while the keyboard section listens for data from both the keyboard and serial interface.
The Apple I has very limited video capabilities. Most computers have video mapped to memory. On a black-and-white display, each pixel would be represented in memory by a single bit—1 for black and 0 for white. The Apple I's video section is text only. Instead of storing each individual pixel for a character, it stores the character's ASCII code. The video section has a ROM containing the pixel layouts for every character it supports. The layout table is referenced for each pixel of each character that is being displayed. This saves a tremendous amount of space, but at significant expense in versatility. Only the characters stored in that ROM can be displayed on screen. Thus, no bitmapped graphics can be displayed.
Even more limiting is the fact that once a character is sent to the display, it cannot be modified. It's there until you enter enough lines that it scrolls off the top of the screen, or until you manually clear the entire display. In this way, the function of the video is very similar to a typewriter or Teletype.
Why did Apple make these choices? At that time, memory—which would have allowed full graphics—was expensive. Instead, to save money, shift registers were used. When a character was sent to the video section, it was loaded into the shift register. As new characters appeared, it was slowly shifted through the register and then out. The Apple I's video section, which performed this shifting and then converted the signal into one readable video monitor, is far more complex than the processor section, which we've spent this chapter discussing. Understanding it also requires a decent knowledge of analog circuits, which is outside the scope of this book.
There are a couple of alternatives to a full-blown video section, such as hooking the output up to a Teletype, using a liquid crystal display (LCD) that accepts ASCII input, or setting up a serial connection to a PC. The option we're going to focus on uses a microcomputer design by Briel Computers to deliver output to a video monitor. This chip and a few TTL chips are equivalent to the original Apple I's video section.
You can see the circuit in Figure 7.30. At the center is the ATmega microcontroller, which is the heart of our video section. To the left of it is the clock circuitry. Depressing the Clear switch resets the microcontroller and clears the display. The 74LS74 is used as a clock divider, to cut the clock frequency down to about 7.1MHz. The 74LS166 is a shift register, which sends our data out to the display. Output goes to an ordinary composite monitor through an RCA jack (Figure 7.31) The diodes prevent any accidental signals the video monitor might generate from reaching and damaging the circuitry.
Figure 7.30 Briel Computers Replica I Video Section Schematic
Figure 7.31 RCA Phono Jack
The electron beam in the video monitor's cathode ray tube (CRT) scans the display line by line. It starts in the upper-left corner and moves right. The display is black and white. When turned on, the electron beam creates a white pixel on the display, which indicates its current location. When turned off, that pixel remains black. A 0-volt signal turns the beam on to full power and creates a white pixel. A 3-volt signal turns it completely off. Anything in between produces a shade of gray.
The electron beam is constantly moving and our signal is constantly changing its voltage. If we wanted to send a line of alternating black and white pixels, we would alternate between 0 and 3 volts for every pixel. The beam then moves to the next line. When the entire display has been drawn, the electron beam moves back to the upper-left corner and begins drawing it over again. The entire process is so quick that the beam is redrawing the first pixels on the display before they even start to fade. Look at the CRT through the display of a digital camera and you'll be able to see a line moving down the screen as the display refreshes.
Though very simple relative to microcomputers today, there is nonetheless quite a bit to learn when studying the Apple I. In this chapter we've examined the processor, memory, and input/output circuitry. With this information, and perhaps some help from other members of the Apple I Owners Club on Applefritter, you can begin writing software and modifying the hardware design. Whatever your successes or failures, be sure to share what you learn with the rest of the Apple I community at www.applefritter.com/apple1.
← Previous Contents Next →
Apple I Replica Creation
MAYOSevensubMAYO


New Album "Napkin Poetry " Finally out!
Minor Majority proudly release their first studio album in 10 years. "Napkin Poerty" is available on all digital platforms and on Vinyl/CD.
Minor Majority proudly release the second new single from their upcoming album "Napkin Poetry".
"Patricia" is written by Pål Angelskår and Sjur Lysed, produced by Roar Nilsen, mastered by Georg Tanderø and the artwork is made by Eivind Holm Stoud Platou.
Minor Majority will tour Norway extensively from January 2019.
Here are the DATES and where to get tickets.
Minor Majorty release Candy Store from 2007 as a triple album on vinyl. A beautiful collectable with extra material, both songs and pictures and with awesome sound.
If you buy it from BIG DIPPER in Oslo now, you even get a free limited edition CD with 13 songs recorded live at Minor Majority's Jan 2018 concert in Oslo.
Recorded, mixed and mastered by Ørjan Bjørnevik.
PÅL ANGELSKÅR AND JON ARILD NUPEN-STIENG HAVE EMBARKED ON A DUO TOUR AND WILL PLAY 11 CONCERTS IN 10 DIFFERENT VENUES ACROSS SOUTHERN NORWAY DURING THE NEXT FEW WEEKS. DON'T MISS THE OPPORTUNITY TO EXPERIENCE MINOR MAJORITY SONGS, BOTH NEW AND OLD IN AN INTIMATE ATMOSPHERE AND IN BEAUTIFUL AND HONEST VERSIONS, MANY TIMES TRUE TO THE WAY THEY SOUNDED WHEN FIRST CREATED.
Minor Majority's new single, "IT'S EASIER TO SING" released and available now.


The European Championships begin this Friday night and Will Burns provides a Group E preview and his recommendations for the best bets for the group.
BELGIUM (2.25 at SkyBet): On paper, Belgium have possibly the best squad with the most individual talent bar none. From top to bottom, some world class players at club level. In goal, you have arguably the best keeper in the world in Thibaut Courtois. In defence, you have Tottenham pair Jan Vertonghen and Toby Alderweireld, a duo that could have won the league title this year, had it not of been for that pesky Leicester!
In midfield, Axel Witsel, Raida Nainggolan will play in the holding role with Everton's Romelu Lukaku, Chelsea's Eden Hazard, Liverpool pair Divock Origi and Christian Benetke, Marseille's Michy Batshuayi and Atletico's emerging talent Yannick Ferreira-Carrasco all attacking for the Red Devils.
The side have been ranked the best team in the world for a large part of the past year but head coach Marc Wilmots will have one worry, the defence. Alderweireld will hold in centre-defence, however an injury to Vincent Kompany means that Thomas Vermaelen or the inexperienced Jason Denayer will play alongside him. His partner at Spurs, Vertonghen will play left-back.
I mainly see Italy vs. Belgium being a stand-off and low scoring draw with Ireland and Sweden just making up the numbers. Belgium have the ability to score more goals than the Italians so I see them topping the group.
BELGIUM – KEVIN DE BRUYNE (6.00 at Bet365): I have picked the in-form Manchester City winger ahead of Lukaku, Hazard, Origi, Benetke, Batshuayi and Ferreira-Carrasco. The main reason I choose De Bruyne is that, in club football, he has been in startling form the past few months including three goals in the last four games.
I also fail to see Lukaku or Benteke collecting many chances as the 'lumping in the box' tactic is rarely used by the Belgians. On the edge of the area will see De Bruyne, Hazard and Ferreira-Carrasco test the goalkeepers but De Bruyne will prove to be the most accurate out of the lot.
ITALY – EDER (9.00 at Betfair): This is a huge price for the Brazilian-born striker although there are plenty of worthy contenders in this market. Ciro Immobile is valued at a big 11/1 (Boyle Sports) and of course the favourite Graziano Pelle is 7/2 at Betfair. Eder has great ability to score goals and I see this price too large to ignore for a player that should start due to his industrious nature coupled with his recent form that makes him a good selection for Antonio Conte.
REPUBLIC OF IRELAND – SHANE LONG (4.50 at Bet365): Dynamic, fast with a really huge leap, I see the Southampton striker causing a few problems in this tournament. Possible to breach the Swedish and Belgian defence, Long is the best bet here at 7.2 with Bet365.
SWEDEN – ZLATAN IBRAHIMOVIC (1.53 at Ladbrokes): Note the short price, but with the options in this market being John Guidetti, Marcus Berg and Sebastien Larsson… is there really a contest here?


text:
Q: Segfault when not specifying return type of lambda function I have this example code:
// Copyright 2019 Google LLC.
// SPDX-License-Identifier: Apache-2.0

#include <functional>
#include <iostream>
#include <string>

void f(std::function<const std::string&()> fn) {
  std::cout << "in f" << std::endl;
  std::cout << "str: " << fn() << std::endl;
}

int main() {
  std::string str = "a";

  auto fn1 = [&]() { return str; };
  auto fn2 = [&]() { const std::string& str2 = str; return str2; };
  auto fn3 = [&]() -> const std::string& { return str; };

  std::cout << "in main" << std::endl;
  std::cout << "fn1: " << fn1() << std::endl;
  std::cout << "fn2: " << fn2() << std::endl;
  std::cout << "fn3: " << fn3() << std::endl;

  f(fn1);  // Segfaults
  f(fn2);  // Also segfaults
  f(fn3);  // Actually works

  return 0;
}

When I first wrote this I expected that calling fn1() inside f() would properly return a reference to the str in main. Given that str is allocated until after f() returns, this looked fine to me. But what actually happens is that trying to access the return of fn1() inside f() segfaults.
The same thing happens with fn2(), but what is surprising is that fn3() works properly.
Given that fn3() works and fn1() doesn't, is there something I'm missing about how C++ deduces the return values of lambda functions? How would that create this segfault?
For the record, here are the outputs if I run this code:
calling only f(fn3):
in main
fn1: a
fn2: a
fn3: a
in f
str: a

calling only f(fn2):
in main
fn1: a
fn2: a
fn3: a
in f
Segmentation fault (core dumped)

calling only f(fn1):
in main
fn1: a
fn2: a
fn3: a
in f
Segmentation fault (core dumped)

A: A lambda without trailing return type as in:
[&](){return str;};

Is equivalent to:
[&]()->auto{return str;};

So this lambda returns a copy of str.
Calling the std::function object will result in this equivalent code:
const string& std_function_call_operator(){
    // functor = [&]->auto{return str;};

    return functor();
    }

When this function is called, str is copied inside a temporary, the reference is bound to this temporary and then the temporary is destroyed. So you get the famous dangling reference. This is a very classical scenario.

A: The return type deduction of lambda is changed N3638. and now the return type of a lambda uses the auto return type deduction rules, which strips the referenceness.
Hence, [&]() { return str;}; returns string. As a result, in void f(std::function<const std::string&()> fn) calling fn() returns a dangling reference. Binding a reference to a temporary extends the lifetime of the temporary, but in this case the binding happened deep inside std::function's machinery, so by the time f() returns, the temporary is gone already.
lambda deduction rule

auto and lambda return types use slightly different rules for
  determining the result type from an expression. auto uses the rules in
  17.9.2.1 [temp.deduct.call], which explicitly drops top-level cv-qualification in all cases, while the lambda return type is based
  on the lvalue-to-rvalue conversion, which drops cv-qualification only
  for non-class types. As a result:
struct A { };

const A f();

auto a = f();               // decltype(a) is A
auto b = []{ return f(); }; // decltype(b()) is const A This seems like an unnecessary inconsistency.

John Spicer:
The difference is intentional; auto is intended only to give a const
  type if you explicitly ask for it, while the lambda return type should
  generally be the type of the expression.
Daniel Krügler:
Another inconsistency: with auto, use of a braced-init-list can deduce
  a specialization of std::initializer_list; it would be helpful if the
  same could be done for a lambda return type.
Additional note, February, 2014:
EWG noted that g++ and clang differ in their treatment of this example
  and referred it back to CWG for resolution.

Let's see what is deduced in your code:
fn1: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >

fn2: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >

fn3: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&

as you can see only the last one is actually a const&
you can check return types of your lambdas with the following code:
//https://stackoverflow.com/a/20170989/10933809
#include <functional>
#include <iostream>
#include <string>

void f(std::function<const std::string&()> fn) {
  std::cout << "in f" << std::endl;
  std::cout << "str: " << fn() << std::endl;
}
#include <type_traits>
#include <typeinfo>
#ifndef _MSC_VER
#   include <cxxabi.h>
#endif
#include <memory>
#include <string>
#include <cstdlib>

template <class T>
std::string
type_name()
{
    typedef typename std::remove_reference<T>::type TR;
    std::unique_ptr<char, void(*)(void*)> own
           (
#ifndef _MSC_VER
                abi::__cxa_demangle(typeid(TR).name(), nullptr,
                                           nullptr, nullptr),
#else
                nullptr,
#endif
                std::free
           );
    std::string r = own != nullptr ? own.get() : typeid(TR).name();
    if (std::is_const<TR>::value)
        r += " const";
    if (std::is_volatile<TR>::value)
        r += " volatile";
    if (std::is_lvalue_reference<T>::value)
        r += "&";
    else if (std::is_rvalue_reference<T>::value)
        r += "&&";
    return r;
}
int main() {
  std::string str = "a";

  auto fn1 = [&]() { return str; };
  auto fn2 = [&]() { const std::string& str2 = str; return str2; };
  auto fn3 = [&]() -> const std::string& { return str; };

  std::cout << "in main" << std::endl;
  std::cout << "fn1: " << fn1() << std::endl;
  std::cout << "fn2: " << fn2() << std::endl;
  std::cout << "fn3: " << fn3() << std::endl;
auto f1=fn1();
  std::cout << "fn1: " << type_name<decltype(fn1())>() << std::endl;
  std::cout << "fn2: " << type_name<decltype(fn2())>() << std::endl;
  std::cout << "fn3: " << type_name<decltype(fn3())>() << std::endl;

  f(fn1);  // Segfaults
  f(fn2);  // Also segfaults
  f(fn3);  // Actually works

  return 0;
}

redpajama_set_name: RedPajamaStackExchange


Few special fares from selected sectors to Middle East..HURYY!!
Hurry up this offer is for very limited period only !
Discounts are applicable on base fare.
If you have not decided yet or wants to customize tour itinerary or hotels listed above in "Special Fares to Middle East from akbartravelsonline.com", then we can change the travel itinerary and make a personalized, tailor-made holiday package, especially for you. We can modify this travel package as per your itinerary, budget, duration and the tourist places you would like to visit, including transportation and airfare should be included or not. Please fill the form below to contact us.