no Greg that's not what I was referring to the people I was referring to were spouses and family of people who have stickers not people that have problems that aren't that easily noticed I'll see it daily in my own town of Bonkran I get you and listen thanks for the clarification I hope you understand that sometimes I just try and tease the comments out and not contradict them but you're talking exactly as we heard from James you know that it's uh fellow household members that are using the permit so glad you clarified that with me thanks for listening and thanks for texting back in uh disabled parking and I what is the situation about people from Northern Ireland parking in disabled parking spaces in the south when I go to Northern Ireland I can't park in their disabled spaces as I'm deemed to be from a foreign country even though I have a southern disabled parking pass can they park in disabled spots here interesting question never even thought of the complication of someone from the republic going shopping in in in Darius, Duran or wherever it might be in vice versa so this listener saying the parking badge from the republic is not recognized in the north is that the situation in return I don't know someone out there will though because we have amazing listeners and they always answer the call to answer a question 08 660 25000 08 660 25000 right if you um have crones or colitis and many many people do and sometimes I do feel because of the amount of people I know affected by this that we have a greater proportion here in the northwest but that's not backed up by any figures uh but we are going to be talking about an event for people impacted by crones disease maybe you have got a recent diagnosis and you're looking for more information it's not just that and it is a broad church as well we're going to be talking about that as part of wellness wednesday stay right there we'll be back after this quick break the county's number one talk show the nine till noon show on highland radio your one stop shop for this christmas gift vouchers for the silver tassie hotel and seascape spa are available online at silver tassie hotel dot com or from hotel reception the silver tassie proud sponsors of today's show if the season changing has you feeling blue just wait till you hear our amazing black friday deals get a toshi by 32 inch tv was 220 euro now 169 euro per cup with the tassimo coffee machine was 99 euro 99 now just 39 euro 99 and snack on these savings with the progress 3.2 liter air fryer was 60 euro now just 30 euro tesco every little helps club card reports subject to availability while stocks last available in most stores prices vary in express stores see tesco dot i spoil someone with a beautiful fragrance this christmas from magies chemist letter kenny chews by designer budget or celebrity top names like chanel long com christian dior and jimmy chew also great prices on eaves on the wrong prada and so many more the best fragrant gift sets available this year can also be found in magies chemist main street letter kenny and online at magies dot i e magies were the best cost less nutrius super beef gold atp and nutrius max mays mix are now on offer at your local homeland buy 10 25 kg bags and get one free or get 15 euro off per tonne and bulk the nutrius beef atp pack enhances animal performance through maximizing room inefficiency teas and seas apply contact your local homeland or farm commercial specialist today visit nutrius dot i for full product details for fantastic black friday deals visit ross few interiors in letter kenny where there's amazing offers on a large range of sofas in stock and ready for delivery before christmas there's also huge savings on bedroom and occasional furniture dining sets and hollywood mirrors with dressing tables the perfect christmas gift that's right now at ross few interiors the home of better deals and ross few business park letter kenny just off the pool star roundabout black friday week at sony center letter kenny the best deals on sony tv's soundbars cameras bluetooth speakers and headphones sony center letter kenny the destination for sony in the northwest highland radial time checks with expressway travel route 32 from letter kenny to doblin when you book online and travel for less expressway bringing you the time it's just about to turn 11 15 you welcome back okay it's on to wellness wednesday today we're talking to amy kelly head of communication with crones and colitis arland who are holding a patient day in letter kenny for people living with and impacted by crones disease ulcerated colitis and microscopic colitis it's in the radison hotel uh the radison blue hotel on saturday this coming saturday november the 25th amy imagine why good morning to you how are you keeping i am keeping very well how are you say thank you it's great to have you on the program so do we need to or should we explain uh really what we're talking about here and the various conditions because it is a there's a a broad amount of conditions that's kind of fallen to the one umbrella don't they amy exactly yeah so if you could imagine the umbrella term would be inflammatory bowel disease uh and then underneath that you have variations on inflammatory bowel disease so uh crones disease being one um and that would affect any part of your digestive tract so you can have inflammation from your mouth all the way through to your anus uh with ulcerative colitis it's more localized in the colon uh and then with microscopic colitis the reason that has its name is because it's only detectable by a microscope um so there's a variation and then some people might have undetermined uh IVD so undetermined inflammatory bowel disease because they can't pick up on the tests if its crones are colitis at that time so yeah it's um it's there's over 40 000 people in Ireland living with this condition um myself included i have crones disease myself and um it can be very very debilitating for an awful lot of people because it can affect people in different ways too and and i would say there's there's many more cases beyond the 40 000 you talk of that are uh either undiagnosed or or yet to be undiagnosed oh sorry yet to be diagnosed about your part yet to be that yeah exactly um absolutely um you know there's there's a lot of work being done in the area even in children we've seen over a 90 percent increase in children being diagnosed with uh with IBD in Ireland as late um so it's absolutely on the rise i think even in my own perspective the fact that i'm so open about and working with the organization i have a lot of people who would get in touch with me about their recent diagnosis or something being investigated um we ran a campaign early in the year called the poo to poo campaign um and i was encouraging the public to identify the symptoms of IBD because some people might not understand the full extent of the symptoms some people that might may have heard of crones or colitis may just think it's diarrhea running to the toilet and that's it but it's such um a bigger illness than just that one symptom there's so many other things that could be going on for example that's not a symptom i have i would have mouth ulcers pain abdominal pain uh fatigue and the list goes on um so i kind of brushed crones away to the side and from the campaign that we ran we had a symptom checker that anybody can still do on our website um but from that about 30 over 13 000 people completed that and about 90 percent of them were told to speak to their GP based on the symptoms that they were experiencing because it could be a sign of bronzathitis so and do you think a lot of people self medicate you know that they go watch i've got the dodgy digestive system and either you know take tablets to tighten uh bowel movements or loosen them or whatever they be and just live in this sort of perpetual cycle without really you know the proper advice and support that they're probably should have yeah again myself included i think a lot of us can attest to that nice goes it can typically take about two years to get a diagnosis of crones or colitis um which is way too long and people do put on a pain and the thing about it is when you sometimes we we can go get things checked out and i suppose where it is in our body it can overlap with a lot of things we can be we can fairness be put down to other conditions as well like even IVS is a prime one that people might get a diagnosis of first um and i suppose then you kind of can start thinking it's all on your head you can kind of start putting it down to other things like oh i'm stressed or oh it's because i ate such a thing um and it's important that if you are experiencing you know things like blood in the stool run into the toilet frequent times a day loss of appetite um you know extreme fatigue there's a variety of symptoms that you could be experiencing if you are experiencing them for an ongoing basis it's really important to get them checked out and make sure that and you do get an investigator with things like colonoscopies and scoping and stopping yeah and we're i think we're getting better at talking about it too aren't we it's not them you didn't even say the p word you actually said the word who Amy no but you know i think we've made great inroads in certain things that we can get past the taboos and inverted commas and actually talk about because it's it's it's a bodily function we're animals here and we have to talk about these things and get treatment where and when it's appropriate and in terms of managing it now there's a scale as well of course like a lot of conditions but you know if you get the right advice presumably on the right interventions the right treatment maybe dietary changes that you could make you know what might seem very difficult now might be more manageable with the right care and attention Amy if that's all right for me to say 100% absolutely we always say like look it's it can be an extremely debilitating condition as I said but it can be managed when you work with your IBD team so around the country we've IBD teams and hospitals which would consist of an IBD nurse gastroenterologist you know your multidisciplinary team and you have direct access with that particular IBD nurse usually people have email addresses and phone numbers that they can be in constant contact with if they're experiencing symptoms because once it's under control and once it's managed you can live well so you can be in a flare which is obviously when you have active inflammation present and then you you're trying to get yourself into a remission so that's when there's no inflammation present and during that time you can live very well I always try to say that you know no matter your condition you can do everything you want to do in life and even like I am going through a flare myself in the past year but in the past year I have got married I've moved house that I've climbed Kilimanjaro in the middle of it all which sounds a bit extreme I understand but there it goes that makes me seem very boring and lazy and I think it's I want to get very boring after this break don't worry I think it's really important too that you kind of timeline what a flare is because I think maybe if you had asked a hundred people listening that I think well it's a day two days three days but you're talking about you know a flare is you know a chunk of your life here um and it's it can vary from course yeah but it's not just a flare in my head would have been or if I had a bad weekend you know it's not 24 hour book that's for sure yeah I get you and I think it's um it's also important to not to ignore it because obviously there's the general quality of life you shouldn't have to endure it if you can get if you can get treatment or support the but also too then the long-term damage it might be it might do to you as well and what the ramifications or complications could be further down the line again not for everyone but Amy it's not something it's not just a case of living and bearing it for everyone you have to make sure that you you don't leave yourself with something more serious to deal with a little further down the line yeah 100% because if you're experiencing this pain chances are it's not going to go away by itself particularly if it's chromaticalitis it's going to be there and unfortunately if it goes untreated it's going to get worse and in my case I pushed on for a couple of weeks um at the time of my diagnosis I got things checked out and I was you know pushing it down to things but I ended up having to go to A&E and that happens with a lot of people with chromaticalitis and what I actually presented with was a perforation in my small intestine so I had a burst hole in my small intestine I was really sick but to be honest looking at me I look no different than what I look like today sitting here on the call to you and it's all happening internally so it's really important you know if you're experiencing any type of pain got related don't just put it down to things like IBS or other conditions or my stress levels do make sure you get them checked out it may be those things and it may be able to be rectified over the counter medication or maybe you know reducing that stress level but do make sure you do put on what I will say the one thing about IBS is if you are experiencing things like blood in your stool that is not a sign of IBS it is so incredibly important to get that checked out that is a sign that there's something going wrong internally and you need to get a checked out before things progress yeah and particularly through your stool because you know some people might see some spotting on tissue or what have you and again sorry to upset anyone but we're going to talk about this kind of stuff it's particularly if it's through it as well because that's a an indication that something's happening a little bit further up not to discount any other signs of blood but just don't try and put it down to something right so we're speaking the context of this event in the Raddison Blue Hotel on Saturday the 25th of November Kathy Walsh is an advanced nurse practitioner in IBD Luis McDermott is a community dietitian another important element of this and Dr Vikrant Parahar is a consultant gastroenterologist so you've got a good team there we do we've a great team really looking forward to the day so it's really important that we bring our medical experts into the room in an informal setting to you know answer questions and provide information and then from those conversations then we also have a thing called our IBD bingo which is essentially a networking lunch and that's about an hour or so where you just get to sit and meet other people IBD like if there's an awful lot of us out there living across places who've never had the opportunity to have a conversation with somebody else living with the condition and it's so valuable to have that opportunity just to speak with each other and you know I remember the first time I spoke with someone with IBD and the two was like you have this tube oh my god me too and you know it was just really nice to kind of know that you weren't alone going through a lot of things you were experiencing and it's not just for the person living with IBD it's also for friends and family to come along as well to learn some information but you know also meet people with IBD and meet other friends and family because without our support network we'd be lost and I think it's really important to give those amazing people in our lives a space as well and they're also welcome to come along so yeah and then at the end of the day we go into a panel discussion with some of the members you mentioned there and a patient as well so kind of a very diverse day of information opportunity to chat and just a great day we've done them around the country so far in Dublin, Cork and Galway and the feedback has been fantastic and it's just it's one of my favourite days in the year and getting to do these activities and just going out and meeting everybody. Yeah because you know not that you're there to people watch but you will see moments where other people have that moment you had when you got to speak to someone for a first time and how that affected you just finally what are our pathways like now for people coming forward and you know in terms of a doctor going right okay actually this could be that let's do this you know let's get you checked I think they're pretty good at the moment aren't they you know I mean obviously there could be delays and what have you and stuff like that happens but you know we're pretty good at sort of from someone presenting to sort of getting a treatment diagnosis it's drawn out but we get there. We do get there absolutely and I think you know we as a patient have to take kind of right to both accountability for ourselves as well that you know whenever we're experiencing symptoms and we're getting the things checked out you know we need to make sure that we're acting on that and you know if we're kind of maybe speaking with the GP and we kind of go away for a while and we're still seeing improvement. Self advocate trust you got and I know it kind of sounds like it really is trust your gut really really is and the GPs are doing a fantastic job and it's something that we want to work with on our putaboo campaign about providing further information and maybe get IVD a little bit higher up on the list of the vast majority of things that they're supposed to have to check off and but you know I think to make things a little bit easier even you know without wanting to do much detail we've even identified that you know blood tests and tests that can be done at a local level and could really really impact the ability to diagnose patients and we don't have access to that for some conditions you know so there's a there's a lot of work that we can do to even improve that a little bit more and you know introduce some things like calc protection which is a stool sample testing in the GP service for patients so there's a lot of work in that area that we do want to improve on. But if we do that we take pressure off our acute hospitals so there's a million reasons why we should and you mentioned an important thing as part of the day this talk about new treatments because it's quite possible there's people who've had it for a very long time and there's a status quo there and who's to say right okay so it's only four hours of commitment and that'll fly by with the great speakers and the various events that are on it's between 11 a.m. and 3 p.m. you can go to the CCI's website cronescollitus.ie or call 01-531-2983 we'll retain those details here and put them on our socials as well which you know I don't expect people to be able to take them down straight off the back of a me mentioning them there but Kathy Walsh, Louise McDermott and Dr Vikrant Pairihar will be there all experts in the field and I think somebody really informative.  Thank you so much Greg. Bye bye bye that's Amy Kelly ahead of communication with Crohn's and Glytus Ireland. Had Glytus 29 years to be told it's Crohn's disease because multiple abscesses have started all right okay three decades with a false diagnosis that sounds like E-tron Audi's fully electric model lineup delivers electrified driving without compromise enter the premium world of electric mobility with the Audi Q4 E-tron a true all-rounder with technological innovation and versatile functionality Audi E-tron pure electric energy meets progressive performance defines progress you can feel discover Audi's expanding e-tron range of all electric vehicles at your local Audi dealer screw fix black friday deals end soon save over 65 euro on the Milwaukee 18 volt angle grinder bear unit now 94 95 and get the four steel 22 piece toolkit for 36 95 saving 26 euro for more black friday deals shop now it's not too late deals end 27th november delivery charges apply easy living furniture present their massive black friday sale with huge discounts of up to 60 percent off that's right up to 60 percent off everything until sunday with absolutely everything reduced including sofas dining bedroom and mattresses and with zero percent interest free finance available with no deposit the choice is easy black friday sale and sunday at easy living furniture presently retail park let kafri prepare you for a rewarding career in the food and drink sector apply to study an innovative degree course at lockery kafri specialist food focused campus at kafri you will develop the scientific knowledge and technical skills to tackle global food production challenges you'll also establish valuable industry connections apply now through you cast visit cafre.se.uk and discover food degree courses there's a difference between being in your car and being into your car with android auto apple carplay sat nav 360 degree camera and voice control as standard all from only 29 five euro after grants it's time for you to get into the all-new all-electric aura funky cat with immediate delivery available find your local dealer and read full teas and sees at aura dash ev.ie business matters in association with atlantic technological university dunny gall study for a doctorate of business administration and obtain the highest level management qualification available visit atu.ie forward slash dba radio wednesday morning it's time to preview the highland radio business matters podcast and we're in the company of presenter offset podcast chris ashmore hi chris good to have you hello greg right okay now before we talk about the podcast itself let's catch up on some news by dunny gall officially launched this week yes the buy dunny gall campaign has been launched the uh here look of the council martin harley launched it in the mandirigal hotel earlier this week and essentially this is a platform for businesses to get their message out there and to generate additional trade the website showcases everything from traditional crafts to innovative products and services and it's all under this one umbrella by dunny gall so it's a great way of going in and you have i think in the region of 300 businesses there and since it was set up the figures quite startling uh when you i suppose it shows a part of social media and the internet and they have reached people in more than 70 countries and a huge global audience running into a million yeah indeed and we were talking earlier on about shop green uh or black green friday instead of black friday's a crossover there you know buy dunny gall green friday uh get your christmas gifts locally as well we're also in kilibags we're back in kilibags with some news of development work stand yeah plans for a major extension to the north key in kilibags have been finalized with the application being lodged with dunny gall county council the department of agriculture food and the marine is proposing to extend the north key at the shore road by 59 meters so that's quite a big extension it'll enable additional birthing facilities will also be dredging work now it's still has to go through uh various steps in the planning process but you know it's moving and and that's that's good to see um so we'll we'll hear more about that in in the future uh you mentioned black friday and uh yeah well one day from america and i look where we're at exactly so it goes back uh well there's most uh people say it goes back to philadelphia in the fifties and the story there was after thanksgiving there there was a lot of uh shoppers and tours so flooded into the the city in advance of what was a big army navy football game that was held on saturday every year uh the cops were off that day they had to uh sorry they weren't able to take a day off they had to work extra long shifts was huge crowds and uh shoplifters took advantage of the situation there was bedlam and stores some of them making off with merchandise and that huge crowd and all these shoppers that's where it all stemmed from and now we have black friday and as you mentioned green friday it's a month now really affects me black friday is uh is a month but we spend a lot of money yes a lot of money uh i've seen reports saying uh we could be spending in this country 30 000 euro a minute on friday and now there's always been this thing you know are we being taken advantage on there and the witch magazine in the uk did a did a big survey and an investigation into deals and here at home the competition and consumer protection commission well it is urging customers consumers to be cautious and to know your rights essentially by law when a business makes price reductions and announcements it must display the lowest price a product was on sale for in the previous 30 days and based the discount on this price alone that said you know how many people are going to go out and really check back you know recommended retail price either but i think really what it's done look it's to bring the january i mean the january sales i'm not sure it's to bring that market forward pre christmas to some extent as well so it's a big there are savings just uh also just a note this week uh greg i'm not sure have you heard of hvo 100 it's a it's a it's a it's a completely free uh fossil free bio fuel and just noting that a circle circle k is rolling it out around the country and there's going to be pumps installed at uh dunigol oil it's a hvo 100 it's a fossil free fuel and uh what it's made from waste uh it's not intended for human consumption obviously but always well you can put it into your into your vehicles really so this is going to all help us go further green again now it's it's a little bit more expensive at the moment now i was i actually saw a company in cork has been very prominent in this and they're saying that you know this is going to replace kerosene and as our heating oil as well so there's big hopes for this uh over time the price is going to come down and you know it's great that they're converting all sorts of waste product uh essentially old food and oils and things and you'll you'll start seeing the trucks as well they'll be delivering and circle k express and lyford dunigol oil here in the port road in letter kenny there amongst the first that are going to be diesel replacement or petrol yeah it's it's uh it's an alternative diesel and it offers uh they claim a 90 percent reduction in the carbon emissions over regular diesel so one to watch one to watch that could be the could be the future so can we keep our cars after 2030 then you'll be on your electric bike i think that's all i think that's all i mean the uk already pushing out to 2035 i think if they come up with an alternative fuel such as that who's to say uh if they might not change that right so let's get that's a bit in the news let's get back to the podcast hue boners on the show tell us a bit about hue yes he's the managing director of publishing and event management company mara media which is based in an agree he comes from a strong fishing background his family were involved he fished off burton port became a skipper himself and back in 2005 he bought the already established publication which was called the skipper now this was a monthly magazine it was published up in dublin he took it over and he saw potential for growth uh the magazine prospered then he got into expo's and events uh initially related to very much to the fishing industry and he's also brought out magazines including the one for dunigol airport he does the knock airport magazine cork airport is on its way so lots of things there and uh you know he he's always placed a great emphasis on quality and if you're going to do something do it well and over the years he's produced uh some merchandise accessories to go with his uh business and the skipper the skipper name is well known in the in the fishing industry for the magazine and he's produced these beanie hats which he's handed out at expo's and everything and uh they have come up on tv in some strange places and they've become a marketing tool and uh he explained to me some of the places where he has seen them on television i'm gonna play the clip but did you chicken out from all your ponds here uh i know you're i know you're hooked on this but you can you can caught me later back after this short clip here's you boner that's just one of those things that the people take pride in awareness kind of like a become brand awareness over the years i suppose you see we've always done skipper beanies and given them away over the years of exhibitions and whatnot so we'll be watching the tv sometime and bbc news one night and i think there were uh i'd say the islandic government were in crisis and they were disbanding the government and the guy giving the main interview who's been interviewed commenting on it was wearing the skipper beanie i just laugh did he get it at an expo over here or yeah well we were given away beanies like we've got the shows in denmark and norway and abardine we're giving them out and then there's quite a crossover in the fishing industry with people from scandinavian countries particularly norway who would come to our show and vice versa and day nation all that so he did so he'd done the whole interview with that and i thought that that can't be topped you know because it's on the bbc so lo and behold a few months later boris johnson was at the fish market in peter head talking to you know one of the workers there and he was wearing the skipper beanie you know i suppose it's subtle branding when you're thinking it in the way and uh create your little brand yeah all right clearly a great business and a great character there the full interview with hu boners available to download at highland radio dot com or wherever you get your podcast providing its spotify ride tunes it's broadcast on the radio too of course chris yes sunday evening after the six o'clock news and if you'd like to get in touch with the program you can drop me an email at businessmattersathighlandradio.com chris thank you so very much indeed that's a live for you right now to listen at your leisure and we appreciate your time chris as always we look forward to seeing you next wednesday shall i mention just a couple of events that are coming up uh to try and give them a little bit of support a very initial and christmas takes place on thursday the 21st of december it's at saint uh it's at st mary's hall boncrona it's at seven p.m uh boogie bugs from three to six that's not times boogie bugs they're for three to six year olds music box singers they're for six to 14 year olds and guitar academy for six to 15 year olds so it's a very in a shown christmas it's right in the mouth of christmas to the 21st of december in st mary's hall boncrona you can go to ticketsource.eu forward slash the dash music dash box dash school uh also there's a pop-up community cafe taking place in letter candy baptist church on friday the 24th of november that's the day after tomorrow it's between 10 a.m and 12 noon it's a warm space with a warm welcome there's going to be free tea and coffee and winter care packs that's a pop-up community cafe on friday this coming friday 10 a.m to 12 noon at letter candy baptist church so get along to that right okay uh donnie gol forgotten by government a man ryan says this caller is willing to provide this fact fast track bypass it's crazy what they do around their own areas the closer to double in the better minister donnelly is only coming up here for publicity it's crazy that it takes something so big for them to come to donnie gol if this big hospital wasn't built he wouldn't be here i heard this morning that 45 millions needed at least for letter candy university hospital the kildare bypass will cost millions but because they're in the golden circle of dobbing it will get done well look at at the end of the day minister rabbits come up to meet parents concerned parents here off the back of them rallying together and campaigning and demanding she come up she's come up speak to them tomorrow we're going to speak to her on the show tomorrow as well steven donnelly maybe it's taken a while but thanks to the efforts of the gps the consultants and the general public he's had to leave doblin to come up and meet with them yes he's turning a sod on a community hospital we'll all benefit from that community hospital but he's coming up to speak to them directly and we'll get stuff on the record that you know we can challenge them down the line we might not always like the answers we get but if you get them on the record then you can go back to them and that applies to opposition as well as it does to those in government so yes i get where you're coming from and i appreciate your contact but we have two ministers on two really big topics on this show over the last two months so we'll take that have a chat to them and they'll meet the actual important people who are those affected by the the cdnt services and of course letter candy university hospital greg made a good point about the health budget being so tight ask the minister the reason why there's no money they've two billion over one site where money's mismanaged like that no wonder that they don't have the budget well you see we're told that the budgets we can we can't be two things at the same time really can we we can't be a prosperous country at full employment with fantastic future we're relatively rich by international standards and have people dying because we don't have enough funding for our health service do you know what i mean like how can those two things coalesce i don't know it confuses me again questions i'll hope to put to the minister on friday in a constructive and respectful way christmas party nights at the silver tassay drinks reception four course festive meal live music by the loaves jimmy divine and more priority your elbow for dates and bookings call a silver tassay hotel proud sponsors of today's show no donnie goll local development company is hosting a showcase event celebrating donnie goll businesses in the central hotel donnie goll town on friday the 24th of november from one to seven p.m. this event is free to attend and features the best local startup businesses find your perfect christmas gift perfect tradesman beauty product or outdoor adventure and much much more all in one place come along and support your local businesses and find out what's newly available in your area on a day that's guaranteed to be fun for all make celebrating donnie goll businesses your business on november 24th for more visit dldc.org it's our biggest ever black friday at boots with up to 30 percent of selected premium beauty and fragrance from burberry to eaves on the wrong like the liz earth cleanse and polish starter kit was 26 euro now 18 euro 20 shop today and don't miss out boots give joy selected stores and boots to buy e subject to availability offer ends third december more and more people are moving to rural ireland but we're not here in donnie goll for a slower pace of life we're here because rural ireland is alive brimming with ideas and energy the only thing holding us back is slow broadband it's cut pure glacial so why wait imagine broadband speed gives us the freedom to connect without compromises imagine broadband is connecting homes and businesses in your community right now for better service and faster broadband faster switch to imagine dot ie imagine faster broadband faster subject to location and availability hi it's brang cunningham here inviting you to join us for a christmas candlelit concert featuring dana filamina begley cliona hagin sandy kelly christie mac at st cronies church done low sunday the third of december tickets 30 euro and available from st cronies church the cope done low and w w w dot b cunningham dot ie highland radio weather updates brought you by grant from condensing oil and hvo biofuel boilers to heat pumps and underfloor heating you can trust grant to heat your home visit grant dot ie okay a cloudy damp and blustery day with patchy light rain and drizzle temperatures 11 to 13 degrees in fresh to strong westerly winds steven mccrory is senior executive engineer with the greenways project and he joins us on the program now steven good morning to you morning Greg how are you not so bad now the council along with transport infrastructure island we're inviting residents to well we're the residents in the car and donna areas and it's the car and on a greenway project so inviting residents of the area members of the public and other interested parties to participate in the second non-statutory public consultation for the bon crana to car and on a greenway project so talk to me about at this point just to remind us what are the plans there at present yeah well the plan is uh there's two plans really there's the big plan and the project plan this project relates to bon crana to car and on a greenway and we're looking to construct a greenway between the two million towns and in the initial region which in turn will form part of the bigger project which is the one that looks around the entire initial financial which will be the initial greenway but we've developed this project the the bon crana to car and on a one to a stage there where we've confirmed the feasibility of the of the scheme and we have developed a number of route options and really what we want to do is put a you know present those options to the public and let them have their say on them and let us know what they think from what what they would like out of the scheme and which route they think are best and how there's issues that might affect them uh let us know about them please and at this point uh when you talk about preferred routes have a negotiation started with landowners uh steven or is that a next stage of the process now that's the next stage the process and we're coming to the age we're working off the transport infrastructure islands project management guidelines and it's a phased project so we're coming out of phase one now we had the first public consultation back in April because some really useful information out of the public there's some great feedback on what they wanted the project to look at so after back at that then we have looked at whether the scheme's feasible or not whether we can construct a greenway between Canada and Montcran and the outcome of the of the report that we prepared shows that we can not only that but there's just seven potential routes that we could take and it's those routes that we're bringing forward to the public now to let them have their say on them uh so we have a route a couple of routes there that swing out by Don Rape and come in maybe to Kilmane, Balai Latham and then to Cairndonna where there's other potential routes where you follow the old railway line up from Montcran up towards Kilmane and Balai Latham and around again or we could maybe look at going off to the left there as we come to Drumfries and and going up taking a more direct route to Cairndonna so it's these options that were presented to the public at this stage they'll be further refined as part of the process early next year and we'll come back then with a prepared route corridor now when I say these are routes these are these are route corridors and they're quite wide in it so there may be 300 300 meters wide so there's a lot of flex uh flexibility within the route corridors themselves yeah they'll be further refined into a prepared route corridor listen and we've seen that we've seen the the attraction and success of greenways across the country not just for local people where it's a safe place to go and walk or cycle but also to uh there's a big uh tourism market there that can be tapped into as well uh the initial initial gateway hotel railway road Boncrana the consultation runs there from 2 p.m to 8 p.m so it's a drop-in I mean I don't think you expect anyone to land at 2 and leave at 8 except the staff Stephen that's on that's on Wednesday the 6th of December and there's a second the next day in the Cairndonna PSC that's on Mallon Road of course in Cairndonna in the council chamber room there that's on Thursday the 7th of December again from 2 p.m to 8 p.m you know it's really important I think that the public sort of you know take an interest and take ownership of these type of developments there's a lot there up for grabs in terms of how they can can influence this we'll have their say for sure and this is the time to do it it's a public of a preference for a particular route would be great to hear it now so that we can take take take on board that feedback you know we will have a website there where feedback can be received after these days but you know by all means come down talk to the team I'll be there the consultants will be there and we can talk you through the project and help me to affect you and in terms of interest groups enough what they would like to see would they like to see a more direct but or they like one that meander's run the coastline and takes and takes on the scenery and potentially don't read out of the interest what is the what is the length difference between you know a more direct boncran at Cairndonna compared to sort of the meandering more maybe visual is there a big difference in length there is quite a difference you know it could be half as long again if we go more meandering around the coast but then that brings in its own attractions in terms of scenery and I can say there's that big construction project plan for Donray so there's a strong argument to go that way and I connect in and deliver our visitors to that centre in a you know in in a sustainable way or maybe we're looking at taking a more direct route to to facilitate better commuters and that type of things wanting to travel through through the between Cairndonna and Mecranna yeah and finally Stephen you're banned by a process this is just part of that you know all going well and I think I may have asked you or a colleague this before all going well when when when would we expect to see maybe work actually beginning on the ground in in constructing such a greenway yeah I did generally that would depend on the statutory processes and on the route that's chosen it's the route that's chosen is is fairly contential and it's going through um we would have a lot of environmentally sensitive habitats in the area we would need to be careful and that that would take it a little longer but our our plan is to get it up and moving to get a preferred route corridor in the middle of next year and then work on designing that and start chatting to landowners once we start chatting to landowners there's a year in process before we can look for planning permission and a year afterwards when we must uh like the planning process itself will take that away so a year afterwards then so you're probably looking a few years away but we're delighted to see that that the feasibility of the scheme has been confirmed and that we can push on now with selecting a route through the through the provincial afford okay so uh to face-to-face in-person sorry public consultation events boncranor initial and gateway hotel from 2 p.m to 8 p.m drop in sometime between those hours on wednesday the 6th of december and also current on a p.s.c in the council chamber room there it's on malin road uh thursday the 7th of december between 2 p.m and 8 p.m as well to drop in at some point that suits you all right then listen steven thanks for that steven mccrory senior executive engineer with the greenways project okay thanks to our friends at kelly's across the road from us here we have another 50 euro fuel voucher to use at the circle stay uh circle k station uh and emerald is green do you know who knows that i know brendan shields and fanard brendan 50 euro of a fuel voucher in your back pocket thank you for that we'll be in contact with you thanks to all of you entering our um and actually might get play out with a reminder our silver silver tassie competition it's a brilliant prize being given away the day after tomorrow so might pop that in and just give you a reminder of that uh as we say goodbye to you trying to work out the times in my head here now so don't leave john late i call us this i'm 73 and suffering from uh with colitis since an early age with the gluten-free diet i have a whole new life wheat is a big heartache you'll notice a difference from cutting out wheat after just two days okay um that's good to hear i'm glad to hear that you are finding a pathway to an improved life for you good advice passed on thank you very much indeed tell that man offering accommodation to contact adonagall counter council there's a lady there dealing with this he's that's what he's trying to do as well um and that well anyway that's said soon amounted to hi greg my first experience of how useless our disabled parking card is in northern arland a few years ago we parked in a disabled parking space in stroban while i was trying to get out of our van the traffic warden was writing a ticket for me at the same time that comes in from adonagall town and what a pain lovely to have you listening down in donagall town too by the way and redriving passes for disabled spots depending on the time they were issued they would display the eu logo on them for your eu logo logo on them for universal usage not sure now how brexit affects the ability to be used here that's the british ones or the uk north and irish ones in the republic final mention for you before i go we've got three weeks to go now until the highland radio christmas concert it's great to have it back you know many of you have supported our concerts over the years you know they're a great night out this is one with a particular christmas fee theme as you can imagine package deals are sold out but tickets are selling really fast and there's some still some available here at highland radio at the monteregal hotel and online at the outlet on highland radio dot com 25 euro each loads of acts you'll hear the ads further information call us in 07491 25 000 or visit as i said highland radio dot com click into the outlet but if you want to give us a call 07491 25 000 john bresons coming up around the north west after 12 but for me greg hughes and caroline all who researched and produced the show and shannon working flat out as well we'll be back with you tomorrow morning at nine


Hi, my name is Danny and welcome to esoteric moment today. I have another really fun book review for you This one you've probably already seen on Goodreads and Instagram. I've been very excited about it But it is white hot truth by Danielle LaPorte You've heard me talk about the desire map before as a way of setting goals I'm really tapping into what you want to cultivate and Enhance in your life and that's a process that I do every year around Christmas New Year's time and I use the core desired feelings in my planner and what I do on a regular basis Danielle LaPorte though talks about a lot of other things on her blog And she has a lot of other projects going on that are really great And this most recent book is kind of a culmination of a lot of those projects and ideas And it's really meant for people who are light workers healers people on spiritual journeys Anyone who has even like a tiny little bit of foot in the new age Pagan world and it's an honest look at all of those things and what it means for us in our real life Some of the points the author makes I think are particularly of interest to people who consider themselves to be paid her chapter on Spiritual teachers. I thought was really interesting and the whole point was that we have a lot of amazing teachers in the world And we also have some people who are pretty Lame who claim to be more than they really are and are just selling stuff or maybe even just selling themselves in not a healthy way and The author in this book really points out that we are our ultimate teachers that the guru is us and that our ability to distill the truth from all of the things that we read and learn and Experience is is the most important part of our spiritual path She also has a tap chapter on power tools as she calls it but basically crystals and energy grids and you know all the sort of tools and Frufru that we might accumulate in our spiritual practice Kind of talking about when we go too far on that spectrum and kind of put all of our emphasis in tools rather than the actual Practice in spiritual journey and how we can find a better balance of you know Yeah tools are really useful sometimes, but they are not the end all be all and I thought that was a great chapter and one that I often think about when watching pagan videos sometimes people gets oh carried away in You know haul videos which are fun to watch right, but if all you're doing is buying crystals Then what is your spiritual practice really about? The author delves into some really intense topics as well So talking about discernment talking about healing talking about When spiritual sex and how that can go the wrong way or the right way There's just a lot of really juicy truth in here and it's delivered in such a easy to digest way That still leaves you thinking and it lingers after you read a chapter You're really thinking about it for the next few days the style of writing really allows a reader to Enjoy what they're reading without feeling overwhelmed kind of take it all in and still feel that like Power punch of like oh, yeah, this is this is good. This is what I want to be thinking about or experiencing The physical book itself is really beautiful. It's a hardback and like a nice size It's not too big or overwhelming inside is hot pink each chapter is formatted really well You start off with a truth bomb which is an app you can get or a set of cards You can get from her website They're really pithy kind of statements that you can use as a mantra for the day or even just you know Something to think about for a meditation. I think they're great The chapters also have kind of subsections and little quotes and everything is formatted in such a way that it's really easy to read She bold certain parts of the chapter and sometimes she Formats pages that are more like poetry than actual prose which makes for a lovely reading experience I also listen to this book as an audio book, which is divine Danielle LaPorte Her speaking voice and her ability to do spoken word and poetry is phenomenal So good and the audio book for this is no different from her other work. It's really well done and You get to hear like the author's authentic storytelling ability and her authentic like laughter or you know compassion in her voice and it's Really really a great audio book. This book is a great summer read It's very short and you can pick it up and put it down Frequently without feeling overwhelmed or like you're losing the train of thought So if you're looking for a book this summer and you don't want to get into something super You know lengthy and hardcore studying This is what you want because you'll get the results of hardcore studying and the really intense reading Without that overwhelming process and it's more about how this You know can sympathize and resonate with your own life rather than being like my way is the only way It's really about how do we find balance in our spiritual practice? We find an authentic path for ourselves And where does the truth lie in all of these amazing practices and ideas and this world that is kind of being bombarded in our culture with kind of This hipster new agey thing, you know It's very trendy to be in a spiritual practice these days and where do we find the truth in the spiritual practice? Outside of that trend in the comments below I would love to hear if you know of any authors similar to Daniela Port that kind of combined poetry and prose Especially those who talk about more spiritual ideas. Thanks for watching and as always may you find peace in the sacred grove


What's good George Royce back at it again with another video, so I've been thinking about this for I guess you can say a while now Who wins the men's Royal Rumble this year? Royal Rumble is right around the corner and it only makes sense to kind of really dive into that I will be doing my preview and predictions video So being a lookout for that. I'll probably drop that most likely Probably either the day before the Royal Rumble or I'll drop that the day of the Royal Rumble early in that morning So being a lookout for that video but Really the idea of who's gonna win this Has really been boiled down to just two individuals and it's been like this for quite some time Especially within the community I know the obvious one is Cody Rose Cody Rose coming back after that Just brutal injury. He had suffered at Hell in a Cell before Hell in a Cell the torn peck him coming back to be the triumphant Triumphant hero to overcome the odds and be the guy to Win the Royal Rumble and potentially be thrown Roman Reigns That's just been the obvious choice a lot of people have been speculating that and even the way they've been booking These little vignettes these video packages as of late ever since they announced that he was gonna be back for the Royal Rumble And they've had these video packages. You would think he's a clear shoe in to win the Royal Rumble because it only makes sense, right? But you have someone in Sami Zayn who people have been pitching this for quite some time now But it seems like his momentum is gaining even more speed It's it's just it's getting infectious to the point where If you've seen the the raw 30th anniversary the crowd loves Sammy I mean he was just mega over and it's been like that every city we go to when Sammy's out there the crowd wakes up They love to see him. You hear this Sammy Uso chance It's is one of those things where you wouldn't be upset if they called an audible here And maybe I had Sammy Zayn when the Royal Rumble and then you also have to take into consideration the rumors of the rock and people have been speculating this for quite some time WrestleMania is gonna be in Hollywood So it only makes sense that the rock versus Roman happens right for to see who's really the head of the table who's really the head of their tribe and There's been reports saying that the rock may not be able to be there may not be able to get in enough shape in time for WrestleMania now that could just also be a way to throw people off because obviously You kind of want to surprise people there, but at the same time you do want to build up to that type of match And let's be honest here, bro If the rock was announced, he's going to be at WrestleMania What would it detract from the hype? I think it would increase it even more and apparently WrestleMania is already sold out. So it's that's neither here nor there. It's not about selling tickets It's already sold out. So for both nights It's really one of those things where I don't know particularly if this is just them trying to cover it up Because it doesn't make sense to cover it up If anything it would probably make more sense to kind of put that out there so people can get even more hyped up for it So, I don't know but if the reports are true and the rock is not gonna be there They gotta pull an audible. Now the question is what do you do? Do you have Cody Rose come back and not win the Royal Rumble or do you have? You have Sammy Zane Be the one to win it and now it caused some even more dissension between him and the bloodline and Me personally, I don't even know. This is one of those situations that I literally couldn't tell you For the longest time I always thought that it was just gonna be Cody and I think a lot of people were okay with that and I'm thinking okay. Well, they're gonna do something with the tag team with Sammy and Kevin Owens going for the tag team titles and then they they could do that after Sammy gets kicked out, but As of late, I'm not so sure because honestly, you can you can really switch it up And maybe have Sammy Zane be in the Royal Rumble have him Win the Royal Rumble and then have a situation where Romans like all right, we're gonna test your loyalty for real. I Want you to lay down for me. I Want you to lay down for me in the sense of not challenging me like you you want the Royal Rumble lay down for me You know, let me pin you or a throw away your Royal Rumble win You know, don't try to face me and now let me know if you're really down for the bloodline I it could be something like that granted We don't know and this is what makes this so interesting for the first time in quite some time We really don't have a clear indication of who we can actually be to win this thing I know a lot of you guys want Sammy Zane to win it and I am all for it If they were to pull this audible they have Sammy Zane Win the Royal Rumble one the crowd would lose there They were losing mine in to this would really ramp up the story between him and the bloodline And this could really get interesting But at the same time Cody Rose coming back from that horrible injury and Him winning it and him trying to fulfill his dream of the whole reason why he even came back to WWE Not gonna lie. I think the crowd would be just as Excited for that in my opinion even though it's the obvious choice because can you imagine the promos? between Cody and Roman they have history They've gone against each other. There's there's history here. Can you imagine that that would be fantastic? And you can still make him the ultimate underdog because he's by himself. He doesn't have any help He's literally by himself trying to go against the Empire of people. It's gonna be very difficult for him to beat Roman Reigns Despite how many people are around him. So that can really be an interesting storyline. I don't know And I am okay with not knowing like this is one of the few times where me not knowing the outcome Actually does make things a little bit better It makes me even more excited to see what's gonna have to happen at the Royal Rumble this year because We can get a surprise here. People think it's gonna be Cody I'm even still one of the people that's ultimately thinking it's gonna be Cody and they could pull a swerve They could pull a huge audible and have Sami Zayn win it because to be honest with you I don't see anyone else in the Royal Rumble winning unless the rock happens to be there Which once again, I'm still one of those people that think the rock does not need to be in the Royal Rumble match to face Roman Reigns That's it's the rock. He can say how I want to face this guy. It will happen regardless But I will say this It's been a while since I can say someone's been that over to the point where I Wouldn't be surprised if they change the main event of WrestleMania this year I would not be surprised at all. I haven't felt anyone be this over especially around this time period Consistently for this long Since Daniel Bryan s movement He's he's the lovable underdog. He's people want to cheer him people want to root for him and It just it makes sense if the bloodline was to turn on him He becomes even higher as a baby face, you know, so I don't know This this is really one of those interesting situations that I'm like, you know what? We really don't know what's gonna happen. But these are the two favorites Sammy and Cody Rose to win the Royal Rumble anyone else. It just doesn't make sense So comment down below let me know I want to get y'all opinion man before the Royal Rumble Comes around let me know who do y'all think is the better fit to win the Royal Rumble this year Is it Cody Rose? Coming back from a devastating injury Coming back to win the championship. He never got a chance to you know to really I guess To show, you know that he could get the job done finally for his father for his family. Well, is it Sammy Zane Sammy Zane the ultimate underdog The guy didn't know when expects to be the champion the guy that no one expects to beat Roman Reigns and Pretty much take down the bloodline from within could it be him? Let me know down below man Let's have that discussion. I know you guys I'm gonna really enjoy going back and forth on this one I'm looking forward to taking you guys comments because honestly man either option is really a W for all of us Man, so comment down below. Let me know. I appreciate all the love and support you guys have shown in the channel Road to 150k and I am still You're under speed a youtuber at some champ of the world. Appreciate y'all came with me. See y'all next week. Peace


The story so far, I am attempting to port physics to the ESP8266. So far I've got the kernel up and booting, I've got a file system working, I've got binaries that can be loaded and run code in. And I have been trying to make the system call handler work, so you can actually use system calls. So last time I spent a lot of time on a custom system call handler and exception handler, which is this code. And it nearly works. It will sometimes run system calls, sometimes it will just hang mysteriously. It doesn't seem to like it when I run kprintf, but it seems to hang before the kprintf actually executes, which is extremely odd. Since then I've done a bit of reading and I've discovered a few other things. One is that the user exception handler is actually also used for interrupts. So we are going to have to pay attention to the state of the interrupt flag. And also there is one additional register we need to save, which is the SAR special register, which is used to control the shifty unit. Now I've also found in the Arduino source code some prototypes for the exception handling framework that's already in the ROM. So given that this is more complicated than I thought, and the ROM already contains code for doing everything I want, and it's documented reasonably well in this header file, let's just abandon nearly all the stuff we did last time and start again using the ROM code, which is annoying, but these things happen. And if it works, then we will have smaller code. So the first thing to do is to simply dub out our old exception handler. And we configured it in boot.c, so we're not using any of this anymore. And so this is now running without the system call handler. What I expect is a hang as it hits the ROM's user exception vector and system call handler. All right, so now let us copy the relevant bits of these prototypes. So the way it works is, where is it? There is a function which sets an exception handler in C. There is a type definition, and that's not it. This is actually a reference to the system call handler table itself. The ROM actually has two, one for machine code handlers and one for C handlers, and we're using the C one. So this type represents an exception handler. What you do is you call set exception handler with the vector number, which in this case is going to be one for a system call, and a handler function pointer, and then it will call us back with the cause, again one, and exception stack frame, which is actually the same as our own exception handler was doing. And this is the machine code handler. I don't think we need any of the other things, but we will need this structure which defines stack frame, and I'm actually going to tweak it slightly, because this is using anonymous unions, indentation, like so. Now note that this does not save A1, which is the stack pointer. These exception handlers don't switch stacks, they run everything on the same stack where the exception or interrupt happened from. So for us that will either be the kernel stack or the user stack, depending where the interrupt happens. This means that for a user system call, we are going to have to have our own code to switch to the kernel stack. The other aspect is, which is actually a good thing, is that the large exception frame is being allocated on the user stack, unless, of course, an interrupt happens in the kernel stack. So we now want to register our handler, so that's xdos setExceptionHandler, one for a system call. Let me just find... Here is the actual implementation. So that's the vector number, 0 to 63. Yes, and here it is shifting it. And you see this doesn't actually call anything. All it does is write it to the cExceptionTable. Where's that list of addresses? This did describe the... So this is the machine code vector table, and this is the cVectorTable. So yes, this is a reference to the machine code table. This is the cTable, so we should see it writing. So this is multiplying the vector by 4. This is computing the address in the cTable. This is loading the old one. Why is it doing that? This is storing the new one. Okay, what this is doing is saying if the past in function pointer is 0, then set it to a10, which is this routine, which will be the default exception handler. So this will allow you to unset a vector by passing in null. Do you want to know what it's doing with a2? Yes, what this is about is returning a value a9, which is 0, otherwise it returns a2. I believe what this is doing is it's checking to see whether it actually sets something or not. Right, so if a vector has not been set, then the value read here from the table will be the default handler. So submovex is comparing it against a10, which is dbf8, which is the stub routine. What this will also do is write the cRapper to the machine code vector table. So that's an a8. We should see aS32 versus a8, which is here. This is computing the address in the machine code vector table, and then here we are writing the cRapper to that. The cRapper is because the machine code vector table is doing... Sorry, let me start that again. In order to hook a cRoutine to a vector, you need to do additional work if you're wrapping a machine code routine. So this is the wrapper, and what it's doing is it's reading lots of stuff and storing it on the stack frame. So this is all that code that I wrote yesterday, except hopefully correct, including the SAR register. So we want to set our syscallHandlerCb, and our syscallHandlerCb is one of these. So syscallHandlerCb, and all we're going to do is ETS puts the z and hang. So that's not working. UndefinedRef... Right, I didn't set the addresses of the ROM routines. So setExceptionHandler here. Okay, so with luck we should see a z. Yep, we've got a z. Now, can we do... Okay, printf without weird things happening. %lx cause... Actually, I took out the array, so let's just do PC equals 0x%lx that's the program counter called EPC. So that's defEPC, wrong button. We do need to include ROM.h. So let's see what this does. Okay, that worked. Exception1, program counter is a... Is that the right place? Kernel.ld... Yeah, user code. Yep, that's fine. That's all worked. However, well, we could just hook it up to a system call now, but we do want to be on the right stack. So in order to switch stacks, we do need a machine code routine. I am just wondering... We can have the cHandler point at our machine code routine that changes stacks and calls the system call handler. Oh yeah, that's the null thing. Corresponding excHandlerTable will be set to blah. So I don't know whether it's turned interrupts off. Not shall have to handler. cRapperHandler, which is right here. Here it's doing... Okay, it's setting the interrupt state to 1. So that's 32 plus 1. 32, as we found out last time, is user mode. Yes, yes. Yeah, there's actually a lot of these registers, some of which are owned by user code. So here is sa shift amount. I don't think we've got the loop stuff. I don't think we've got the boolean stuff. The point of the extensor architecture is a chip manufacturer can opt to have any of these additional extensions added on. Presumably depending how big their chip is going to be and how much they want to spend. PS, processor state. 1632 user mode. Why is it setting user mode? Presumably because it's C? It's decided that if it's going through a C vector handler then it must be user mode? It doesn't really... Well, all the ROM stuff is not going to be used by real operating systems. And in fact, this entire unit is not designed to run real operating systems. It's intended to run machine code, intended to run single embedded applications. We're doing something decidedly odd with it here. Okay, well, let's take a look at the machine code handler, which is called... This is the unhandled exception. I haven't spotted that. That might actually be original source code for the ROM, exeC wrapper handler. Nice open license. This looks familiar-ish. Well, so set handler is the routine that actually sets a exception handler, yeah. That'd be so much nicer if I'd seen this earlier. Anyway, the... So what's this then? Is that the default handler? User mode exception handler for the syscall course. Not used by default. So this is actually... This is exactly the code we want. Okay. Right, this is a default handler. This is... So this is some stuff for the loop add-on, which we don't have. This is the register window stuff that we don't have, and it doesn't implement anything else. So this is just a demonstration stub. So we do need... Well, we do need that line, but we are still going to need to do our stack switching stuff. What I was looking for is the default handler which is extosUnhandledException. This one. I'm looking for information about what the calling convention is, because it might be more useful to switch stacks here rather than in the cHandler. So this should be the top level handler. Yeah. Is it? This is another syscall handler.  But I thought that the interrupts... Well, the reading I found said that the interrupts went through the exception handler. Okay, you know what? I'm going to do this... I don't want that one. I want this one. I think I'm just going to... This is returning from an exception. Where is it restoring the registers? So we're going to want to return the system call... Well, return values in registers. So if it's not going to update the registers from the stack frame, we can't use this. Okay, there's too many configuration options here. Let's take a look at what's actually in the cRapperHandler is here. So here we store the registers. Here we are calling the underlying exception handler. This is doing the return from the exception via this routine, which returned from the exception and restores all the registers. Good. Let's just trust that this is doing the same thing. And write a system call handler that switches stacks. And I... This should actually be easier to do. Now, we do know that we're only going to get system calls from user code. Therefore, we don't need to worry about the case when the interrupt or exception is being called from kernel code, which is nice because we can just simplify. We need somewhere to put the old stack pointer. Let's put this here, which is unused in the original stack frame. So that zero is the program counter. No, it's not. Yes, it is. A2 is loaded from offset zero is the program counter. So zero for eight, where is SAR loaded from? Don't see it. Right. It happens here. Yeah, at eight. And I do not see any 12. So we're safe to put the stack pointer there. Right. So A2 is already set up. So all we need to do is save stack pointer to A2 comma 12. Done. And on exit, we need to put it back the way it was. So load stack frame from A2 comma 12. Right. So that's set the stack. We now want to switch stacks. So that's a simple MOV I2 Udata plus U block size. So. And then call call zero Unix syscall. I think that's all. If this works, which it looks like it worked. Well, I would rather like the three hours of my life back that I wasted yesterday writing all this stuff. Oh, well, these things happen. So it's not actually wasted work. It has taught me how all this stuff actually works. Anyway, we've switched. We've switched stacks to the right place. So we go over to main. See, let's just copy our system call code. It's actually a little bit different than it is here. So the call number is in EFR2. EFR3. EFR4. EFR5. EFR6. In the system call. And on exit. EFR2 equals that. EFR3 equals that.  They should be on. But let's see what this does. Does not like it. A3. A. Computer says panic killed in it. We've got one system call. But it panicked there. Well, now we did find last time that there is actually some built-in debugging. So we can do, it's in process.c. Let's turn this on and see if that illuminates anything. And whoa. Pid one. Cisco 35 is doing signal. And it returns. Cisco, this one does exit. Right. So panic killed in it is a perfectly normal error telling us that init exited, which is usually not allowed. All right. Well, that seems to be working. I think there should be more twos being printed. But anyway, let's get rid of this. So I think what's happening is these values are not being restored correctly or else are not being processed correctly by the system call handler, which is in here, which is this routine. Yes, I got the wrong registers. That should be A2, A3. So A2 is the... No, it's not. A3 is the error. If it is zero, return A2. If it's not zero, store it in... Hang on, I didn't put store instruction in. Store it in erno. S32, I... Wait. That was actually what I wrote originally. I just forgot to put store in. Is that all that's needed? S32, I... A3. The storing A3, which is the return error value, into that address. Okay. So we now need to build the libraries and applications again. Got a make file in the history somewhere, which is here. I need to be in the library directory to make it work. Extra, comma, I've got to put the zero in. Okay. So we now want to rewrite the flash, so we use that burn command. And what happens? Write the flash. And it still doesn't work. So are these return values getting out of the system called properly? Is one question. Another one is something else could be going wrong. So let's actually take a look at... Let's take a look at this to see what it does. Where is it calling signal? Right. Main. It calls signal once. C int is... Okay. So this... Is it calling this? It returns zero, zero. It doesn't try to call that. So what does the library version of signal do? One of these routines will actually implement... No, signal goes straight to a system call. This is called signal.s. Okay. So it... Right. So it returns from the system call. It does this thing, but then for some reason, it's returning to the wrong place. Well, there is no code between here and here. We should be seeing two calls to the signal exception handler. The... Unless... This zero is spurious and not really an exit. Because we do know that from the documentation, syscall zero is used in certain circumstances by the extensor for windowing stuff. So... Because you see these parameters here do not look like parameters for exit. Okay. So let's deal with this by changing our system call ABI. Now we could change the numbers so that we don't use zero anymore. We could pass this in another parameter like A7. And then you always use system call one, meaning physics, kernel, system calls. Let's just change that. In our main, we want to do in here. My... Did not update the program counter. So let's try that. So rebuild all that stuff. Flash it. Interesting. Okay. See if I can... So what's it done? It's always... Oh dear. Dear, dear, dear. Let's try this again, shall we? It could have just been this, but I was kind of surprised... Oh, it's doing something. Right, it's trying to open a file and it's failing. Good, we've got somewhere. Okay, so... Actually, I will try this again. I just want to look for syscall zeroes. So I hit the reset button and try to catch the... No, too quick. Okay. Let's try not to drop the board on the floor. So here are the two calls. Signal, we delete a file, we close, stood in, stood there, stood out. We try to open stuff and we sit and spin because init is trying to open presumably dev files which don't exist. Okay, so... Right, the reason why... Yeah, the problem was this line. It was missing. The reason for it was... It was indeed not hitting the syscall instruction again. However, on exit, it had set A2, which is where the system call number is passed in, to zero, which meant that it instantly hit the syscall instruction again and tried to do system call zero, which is exit. So we don't need that. So we can change this. Okay, now... We now have nearly all the system call stuff working. We should be able to actually like run programs. We can't fork yet. We can't switch in and switch out. We can't swap stuff out. But init should run. We do need to put some more things in the file system, which we're going to do here. Now, I'm just wondering if there is a script that does it for us. I'd expect to see a call to mcnod somewhere. Here's some scripts. I think that might be obsolete. Here's some stuff. Kernel, dev... Let's look at this one. Standalone, file system source, file system node, engine... Where were those files? UCP script. Okay. And we're going to use a here document to inline our script. So hopefully this should work. That looks like that's worked. Okay, so we can now copy all this script stuff into it. So this is going to create the root file system with its directory structure. We don't actually need all the directories, but we do. Let's have the root file system directories, and we also need our device nodes. We don't need any of the HDs except A. We don't need any FDs. We do need these. Here are the binaries we can actually run from the util block. I'm not going to copy them in because they won't be run. So let's just go with that for the time being. I mean, it's not like we can run them or anything. So does it work? Macnod error 28. It's probably run out of space. Okay, we have a file system image. How big is it? 64K. All right. Our directory block should be somewhere. I think this is in it. That's a binary, so it's going to be in it. Here's that errors file that we copied. No, we didn't copy an errors file. No, these are strings belonging to init. Are they? Yeah, I'm not sure where they come from, but here are the directory nodes for dev. Okay, that's all there. Let's run it again and see what happens. So it's now writing twice as much flash data to the file system. Hmm. Not right. Very not right. Okay, I need to try and capture some of this. So let's get it in time. I think I did. Okay, so here we can see system calls as it's doing stuff. It's opening very... It's doing the stuff we were expecting before. It's trying to write something. Oh, it's written to stood out. It's written right. This is what it's doing wrong. It's writing to stood out. It's writing from here this many bytes, which is quite a lot of bytes. So here it has written the banner, which is, you know, we're expecting it to do that. But then it just goes and starts spewing garbage to stood out. So there's something wrong with our write system call. Let's take a look at it. Call write. Our write takes three parameters. We should arrive in A2, A3 and A4. So we put A4 into A5. A3 into A4. A2 into A3. And the system call number is 8, which goes into A2. The third parameter is ending up in the wrong place. Okay. Let's give this one a try. Again, I don't need to... I don't need to write the file system, so let's save a bit of time. Let's see what this does. Fantastic. So here is our banner, and it just failed to find the init tab, which tells it what files to... what processes to start. Awesome. We are making real progress. So we need an init tab. Let's put it in our script. Let's not delete that. Let's also... We know the system calls now seem to be working, so let's just turn that off. Where is our... We did have an update file system script in here, didn't we? So this is going to be in... Applications... Library... Standard... Where is that? EtcFiles... Standalone... FileSystemSource... EtcFiles... It works. Let's see what this does. At some point we're expecting it to try to fork, which point we then need to start working on the next bit. Interesting. That's because it's put it in... Dev. Let's put init in dev where the kernel can't find it. Right. Excellent. It has tried to fork in order to run the first binary, which is probably going to be a TTY, and there aren't any in here anyway. So... This is all... Excellent progress is hit here. Right, now what fork does, rather what do fork does, is it sets up to run a new process. In a single tasking environment like we have here, what it actually does is it swaps the current process out. It writes it to a new swap page. This then becomes the parent process. The new... The currently running process becomes the child. This means that the first... Normally the first thing that happens in the child is it will call exec and replace the current process. So we then end up with the child process running and the parent process descheduled, which is all exactly what we want. Now, I can find the MSP430 version of do fork, which is here. This actually does a certain amount of annoying stuff. The suspended parent is suspended with the kernel stack. So we have the process stack. Then in swap, we have the process data, including the stack, and the uData block, including the kernel stack. When we swap the process back in again, we'll start execution from that point in the kernel stack, so do fork will return. And we do this without needing machine code. That would be kind of nice. I think we... Yes, we do actually need to save our current registers. There is... So I could start work on this. However, there is an additional problem, which is currently we have nowhere to swap to. Our file system has a single partition on it. Rather, it doesn't have any partitions. We've got the file system occupying the entire disk. So we kind of want to create a disk image to flash to the thing, which has got a swap partition and the file system. At this point, let's actually check stuff in as we've reached a good point to do so. Do we have all our files? It looks like it. We do not have this. Do we want it? No, we're using the capital S version. Okay, that looks like all our files. So we actually probably want to overhaul the entire way we're doing stuff on Flash. I have thought that one thing I can do is import SPIFFS and put a big file on that. That will sort out all our FDL problems. SPIFFS is kind of big and a rather not. Our kernel, by the way, is 40k of code. The other thing we could do is to try and create a multi-partition file system, a multi-partition disk image. The tricky bit there is while creating a multi-partition file system image is easy. We can use the FDisk command on a disk. That works fine. So you see we have here a disk in file system, let me edge containing 64k and 128 sectors. Also, I now realize that I changed the file system size without also changing the configuration here. So try to access anything in the top half of the disk won't work. However, the UCP command, as far as I know, does not understand partitions. So we would need a way to do that. I'm pretty sure that Linux does have a way to allow you to use partitions in a file system image, but I don't know what it is. So I may actually take a break and go and look this up. Okay, I figured out how to make this work, which is pretty straightforward, although it has made the fast system creation script rather more complex. We call LO setup to bind a loop device to our file. This then causes the kernel to parse it for partitions. I set up one megabyte disk image with two partitions. So here we create the file system on loop 0p2, meaning partition two of the file system, etc. Our file is now a megabyte, so I will start that flashing. That's actually found the wrong serial port. Let me read the GTI USB 0. Okay, that will take a while. I've changed the configuration to boot from HDA2 and the swap isn't HDA1. I think we may need to. Now I think about it. There's a flash. I think we... Okay, we're already calling scan, so it knows about partitions on the device. I think it knows about partitions. So we should be good to go. I also changed the number of processors down from 16 to 4, because each one uses 96k, so that was actually beginning to use quite a lot of space. Even four processors uses 384k of swap space. So 16 is using about a megabyte and a half, and I'm not going to wait that long for a flash. So we should be able to finish this and then run it again, and then we can take a look at our fork, which is actually pretty simple. I hope. Let's actually just look at the MSP430. Okay, fork. What this does is swap stuff out. We need to access. We need to save stuff in the stack. We need to save the childpid. Oh yeah, because of course fork returns the childpid, so we need that. What is this doing? I've also forgotten how MSP430 machine code works. Well, that's done, so we don't want to rewrite our flash, because it takes forever. So let's try this and see whether it actually does what we want. We don't want to call update flash anymore. Okay, let's see what happens. Right, so scanning flash. It's found 108k of flash. That doesn't sound like the right number, honestly. It parsed HDA and has found two partitions. It has managed to mount the root file system at partition two. That's actually the wrong number is printed there. But it has successfully mounted the file system and has failed to fork, so we know that that's all working. So what this is doing is it's saving the registers that C expects to have saved onto the stack. This I believe in the MSP430 is the return parameter. So it's saving this here so that when we restore ourselves after things get switched in, we're actually returning the right value. We then swap out the current process. That has set up the parent. Okay, we call new proc which creating a new process using the current code. We don't care about the state that we saved. And then we just return, essentially. All right, well, I am on entry R12 as the process pointer. So that's actually going to be in A2. We will need this value. So we're going to have to put it into kernel def file, which we cleaned out yesterday because it was all wrong. So let's look at the source of truth, ppid offset. Offset ptab. Okay, so this is going to be ptab zero status flags, tty, pid, uid, ppointer, alarm, exitval, wait page, page two. We're not using udata, priority, pc, wait node, timeout, name. Yikes, there's lots of this. You know what? I'm not going to set them all. I'm just going to set the one we want. Pid offset is zero, one, two, three. That can't be three. Three's not lined. Zero, one, two, three. Okay, it will have inserted padding. So it's actually going to be at four. This could be reordered. What else do we need? We need the stack pointer in the udata block. Define udata, usp is, so, zero, four, six, eight. How big is a bool? I think a bool is an int on this. Twelve, oh dear, it's more padding. So 13, a uadra is an int, so that's going to be 16. 20, 24, 28. We need to check these things. This one is six. So if udata, usp is not equal to offset of, now we can't do this here because we don't have the kernel configured. We're going to have to do it in here. Checking this stuff at runtime is bad, but not as bad as it could be as the compiler will optimize all these conditions away if they're correct. C++ has a static assert statement which is really useful for doing that sort of thing because that's guaranteed to not produce any code, and it'll produce compile time errors. So cpu, nx106, cpu.a, no, we don't, we want rules. So I want to make it find this header file, so that needs to be root dear. Okay, now let's just put dofoc back again and see if that produces anything useful. Hopefully nothing. Okay, that's wrong. This will tell us what the right value should be. 24. Yeah, I think that bool wasn't as big as I thought it was. That will be a dependency issue. We want all our objects also depend on... Okay, so that rebuilt everything. Good. So we now know that that constant is set to the right value. So let me just check that it's generating no code by looking at its calling... I'll be looking for main, so here. And our entire conditional has vanished. That's good. Okay, let's do the same thing for the other one. p, tab, ppid, offset. That's not equal to the offset of p, tab, ppid. In extra, this is there. And we should actually now be able to write some code. Okay, that's worked. So let's get rid of our string again. And what we need to do is push the registers onto the stack in the order in which switch in is going to save them. Switch in and switch out are the routines that switch from one process to another. Do fork is subtly different, because it switches from the current process to the current process while saving a state that looks like switch out onto the stack. The state, we can tell, is going to be these values. So this is going to be the non... the caller saved... the callee saved registers. So this is the windowed API. Right, here we go. So this is A12 to A15. We're going to save A12 onto something. A13, A14, A15. We also need to save SAR. So read special register SAR A2. That's going to be onto something. We need to save the current stack pointer. Why do we need to save the current stack? We save the stack pointer into the UData block. So this is going to be UData plus UData USP. S32 by SP goes into there. Actually, we're referring to UData again. So let's put UData in A2. And we can do this. So not times four. One times four. Two times four. Three times four. Four times four. Therefore, we need that many bytes of stack frame. Do we need to save the status register? We're always going from system call to system call because we're not doing any preemption, so no. Okay. This does not mention SAR as part of the ABI. Hmm. Save. Save the same order. That switch in will do a switch out. We'll do it. So switch in will restore it correctly. A2 is the tab of the current process. So we can't put this in A2. Let's just use A3 for all this. Okay. Save the current process to disk. So this is pushing the current process onto the stack. Why? What does switch in do? Odd. So somewhere here there should be code that restores the... Here we go. This is the code that actually restores the process. So we can see it loads stack pointer. Reset the run count. This is for preemption. We don't think we care about. Status register and restore all the registers. So it's doing this in reverse. So... Ah. I haven't scrolled down far enough. This is saving the... This is saving the p-tab pointer because we're about to call swap out which can corrupt it. Yeah. Because the MSP430R12 is a call saved register. So we actually want to save A2 into a slot here. We want to pass in... Right. This is actually the... This is actually a global variable. It's not an offset. Yeah. So that actually wants to be offset. Which means we need this to be offset. And we want this to be offset. So what we need to do here is we want to load the process... The p-tab pointer from user data. Now user data is an A3. So we can just do... LZTUI... Udata... U... p-tab offset. Okay. So call swap out.  So A2 is now pointing at the current processor's p-tab. Right. This we haven't done yet. Hang on. Hang on. I'm doing this wrong. Right. This is saving the caller save registers. Because we know that swap out is going to save registers A12 up. This is needing to save the registers that aren't normally saved. Oh dear. Okay. So this is going to want to save A0. A1 is the stack pointer. So we're not saving that. A2... A3... A4... A5... A6... A7... A8... A9... A10... A11... A5... A6... A7... A8... A9... A10... Save... SA. Do we need to save SA? I'm not sure we do. I am slightly surprised not to see much in the way of references here to whether SA needs saving. I think that you generally assume that SA is not preserved across a call. So it doesn't really matter what it's going to be on exit. Do I actually have this right? On return from our system call, all the user registers will be returned to what they were before except for our two return registers. So we only care about calling stuff from the kernel. And this is a normal function. So it corresponds to the normal ABI. Let's take a look at another one. Let's take a look at the 68... Tirey... ST... Trix.S. That's a generic one. So platforms which I'll call the current process... Save A0... A2... A4... A6... A7... I don't think we need to save any registers. So let's say I am a kernel function. I have some state in registers. I've got some state in the low registers which are call... Er saved. And some state in the high registers which are call e saved. I call a function. I expect the call e saved registers to have their values preserved. So... I call do fork. Do fork does its stuff. Suspends the process because I'm the parent. The parent gets rescheduled and this returns via the switch in process. I expect to see the high registers with the values as they were. So I was right the first time I need to save the call e registers. And... Okay. So the old PID needs to go into the... The child PID needs to be returned from the parent as the return value. So do fork needs to... Let me just see how do fork is actually... So... Yeah. So the parent has to return the child process. But when we switch back in then... Where does the return value come from? Well on the MSP430 it's in R12. Let's look at another platform. What have we got? Let's try... Let's try a Z80 platform. Okay so this is simpler. So switch in... Here we go. Switch in is doing the work. So here is do fork. Prepare the return value in the parent process. So HL is actually the PID of the child. That's going into HL. When we get switched back in these parameters get restored. So switch in... What's the... Switch in never returns. The process gets replaced with the one that gets loaded from swap. That includes all of its stack frames. So switch in only ever happens from switch out. Which will preserve the call you saved registers. But won't preserve the caller saved registers. Because it's just going to return from this void function. So platform switch out gets called. That switches out the process. And the process will later get switched back in again. This will return. So the only case when a return value is coming out of switch out is when we've set up a new parent process. So we need to load that PID which is this. And put it onto the stack frame so that switch in can place it in R2. So switch out will store a zero. Well it doesn't matter what switch out stores here. Because it'll be garbage on the way back in. I hope that is right. So A2 is the P tab of the current process. So we want to load this value. And we're going to store it at slot 5 times 4. So this is going to be 6 and 6. So we wish to call new proc to find a new child to create a new child process. I will admit this does all seem kind of backwards. The child PID does new proc assign the PID or has it been figured out ahead of time? This looks like it's preserving R12 which is the first parameter. So that must be in order to put it into new proc. So let's assume that was the reason. So we were going to want to return zero. So let's put i into zero. We need to save the value. We need to save i into, we need to save zero into run ticks. We need to restore our stack frame and return. Okay let's find out what new proc does. Not much apparently. Underscore new proc. Is it a thing I need to define myself? Is it in a no? Okay I'm a bit confused. Does it build? No it doesn't. I want to change this to that invalid symbolic operand. We didn't add that to our kernel file. So it is at stores stack pointer when the process is switched. So that will be zero, four, six, eight, twelve, sixteen, twenty, twenty four, twenty eight. Also I'm looking for the p-tab field, not the sp field, which is there. Oh it's at the top. Good that's going to be a zero. Udata UpTab set nine forty seven. That's in fact just a typo. It's embarrassing. All right. Statement with no effect. We've got a... Undefined reference to new proc. I reckon that new proc has gone. And the reason why I can't find it is that it's no longer in the source code. So something else will be doing it instead. It will be bit rot. Let's take a look at this make proc. And it appears to be pushing two values, which is the proc fixes up the table for a child of a fork, but also for init. Sets it to for runnings. It must be called immediately. We need to pass in. I think this is a process pointer. Yes it is. And also the Udata. So this is... So A2 is already the process pointer, the ptab pointer from here. So we need A3 to be the Udata. Well that's easily done. This is pushing stuff for later. I don't think we care about any of that. Let's see what happens. Hopefully a failure due to swap out. Yay! We have created a child process. Okay, well that is a ton of progress. The next bit is the swapper, which is pretty simple. I mean it's just this. We're going to copy some of this code. This is the original swap code, which is very straightforward. It writes the Udata block, and then it writes the data. But we're going to have to change it to write both data and code. But I'm going to call it now because I'm running out of time. So that's really good. I'm pleased to see that. Notice that we don't have any interrupt handlers yet. We don't have a timer or anything. The system will actually run reasonably well without one. Yeah. Okay. I hope you enjoyed this video. Please let me know what you think in the comments.