When you are writing code!
Got stuck into working on some long overdue tweaks to my mod player routines these last few days, finetune and BPM based timing. Both of which I have now solved and implemented (although some additional tidying will be needed in the future!). Unfortunetly both require lookup tables at the moment due to the chunk of maths or brute force needed to compute the tables, it works, and if I figure a nicer solution I can always add it later.
Both of the additions only required less than 10 lines of RISC code each to make use of their LUTs, a little bit of buffer space and a bit of main RAM, and bish bash bosh things sound that little bit better.
Still a few more effects I want to get finished off before I roll out this release of the SoundEngine however, but it is being worked on! I have a chunk of time coming up where I should be doing a fair amount of work on it, so who knows, could be a new SE release in June! watch this space!.. well watch the U-235 website really 😀
I added another vehicle to the list of those I have managed to get ‘the backend out’ on/in 🙂 Especially as this will be the second one within a week!
Thought it might be fun to blog all the ones I have had go sideways (a little bit) when they were supposed to go straight. So in no real order they are:
- Front wheel drive car with use of handbrake..
- Front wheel drive car (no use of handbrake!)
- Rear wheel drive car
- Mountain bike (YAY FUNS!)
- Road bike
- Road Tandem bike ( 😀 )
I think the most scary was the tandem, there was a brief moment of ‘oh crap, this is going over’ which was audibly the thoughts of the stoker from her reactions at the time too 😀 It didn’t we were awesome, no it wasn’t intended 🙂
I don’t have much hair, and with the aid of the Atari Jaguar RISC CPUs I am bound to have less with fun bugs like these. I keep hitting this one, forgetting about it for a few mind numbing minutes/hours/days and then remember it and spend more minutes/hours/days resolving it. So I thought I would scribble it here…
I am not 100% certain if this is entirely the RISC CPU bug or MADMAC being a bit pants at alignment, but it is possible to generate ‘fun’ alignment issues in your code by simply adding or removing a nop (or other similar 16bit only instruction). The instruction doesn’t need to be called even! that’s how much fun this is!
From what I can tell it seems that jump instructions are particularly fussy about where they are jumping to, so it is possible that by adding/removing a 16bit instruction you will move a jump destination into one of these ‘un-desired’ addresses and hey presto your RISC code suddenly stops working, or does something weird. Even though you haven’t changed anything that should cause such behaviour.
So if you are playing with Jaguar RISC code and using jumps and sometimes it randomly seems to stop working but then work again, this could be the cause. How do you find which jump is being affected? trial and error is my best method, or add a nop just after the code you modified (doesn’t need to be the executed code block), one at a time until your code magically starts working again :/
One day I’ll fully track this down and come up with some fix/work around.. probably 😀 Until then, keep hacking!
Popped out for an ‘easy’ ride with my lady yesterday. I say ‘easy’ that’s her deffinition, her easy is more like my moderate, but I am improving at least. Decided to try the Fallowfield loop out, to see how tandem friendly it would be, only looking to ride for an hour and half. This soon highlighted my own improvements to me, last time I rode this was a couple of months ago and riding its length and back again was pushing my abilities. However this time, I found the 10 miles out rather easy, the route however was less tandem friendly than I hoped. Stopping for lights on main roads is a lot more preferable than having to get off the bike to hoist it over gates etc. Also playing in traffic (even on a tandem) whilst playing the ‘dodge the pothole’ game is a lot more fun and less risky than dodging kids/dogs and muppets wandering along cycle paths 🙂
After an hour and half of cycling although a bit tired I still had some left in me, so I am certainly improving 🙂 I think I am going to have to do a fair bit more on my solo bike to get ready for the Great Manchester Cycle (I have entered myself for the 52 mile time limited version!!).. I think I few 50 mile routes will need to be completed.. I think it should be do-able however. Will be interesting to see how I do against other riders.
Apparently! well it must, they have clocks on aeroplanes after all…
anyway, I really should try to scribble here more, so much has happened of late in so many different ways in my life and I didn’t blog any of it!! (although some of that would be a conscious decision to not blog it 🙂 )
Coding wise, my work on the Sound Engine has progressed beyond my hopes! it isn’t complete and I have so many exciting ideas to add to it still, but there is a beta release out there! Most exciting of all is that people are using it! It’s an awesome buzz to see the logo for a project you have worked on stuck in someone elses project, reading reviews where people are complimenting the music of that project and thinking “My code is playing that!” brilliant.
Life wise has also been amazing, I have met an amazing woman (literally!) and things are going better than I could have hoped in that regard also! One of the many positives she has had on my life is rekindling my interest in cycling, so much so I am now cycling to work (not enough, but getting there), twice this week, would have been three times, except I was feeling pretty lazy this morning 🙂 (and have a lot to do tonight). As well as cycling, I have started to take Skiing lessons, hoping to make use of my new skills with my new lady later in this year or early next year 🙂
So, in super summary, interesting stuff on the Jag, amazing woman in my life, lost a load of weight (20+Kg!), getting fitter, learning to ski, oh and embedded electronics and system development fun! See a lot has happened..
Now I just need to try and manage all this and get some sleep in too!