What are you doing with RISC OS?
Steve Revill (20) 1361 posts |
I created a new forum thread here to find out what people are doing with RISC OS but because of a bug in our forums, most people probably aren’t aware of my post. Please take a look and replies there rather than here! Ta. :) |
nemo (145) 2545 posts |
Sorry, I read it as a rhetorical retort! ;-) |
Steve Revill (20) 1361 posts |
:P |
Angel Perez (2908) 84 posts |
I am programming classic arcade games with BBC BASIC, in RISC OS Pi. But I am making a study on how to add custom voice generators. I discovered this when I stumbled upon either a music program or a video game while browsing through the directories when suddenly, when I was testing the sound, I discovered added voice generators to the usual nine that include from “WaveSynth-Beep” to “Percussion-Noise.” The sudden appearance of these voice generators, prefixed with “UserLib-” were eight generators, “Bell”, “HammondOrgan”, “Saw”, “Ethereal”, “Vibraphone”, “ChurchOrgan”, “Harpsichord” and “Flute.” I don’t know how did these showed up. It happened twice as I upgraded two micro-SD cards with new Raspbian and RISC OS Pi images, once each. I had no idea how I managed to add those new voice generators at slots 10 to 17 but through this I discovered that I can create new sound generators to use in my games. I need a synopsis on the usage of commands such as Sound_InstallVoice and the commands related to it to define the amplitude envelope, frequency envelope and wave tables, among the coding. I found a source code, called MusicMaker. I tested it but it didn’t work due to possible errors by the publisher of the source code. I can’t yet understand the lines of code needed to be entered for the task. The online manuals up to now were of not much help. |
Anthony Vaughan Bartram (2454) 458 posts |
Hi Angel, How are you getting on with this? I’m happy to share some library code with you. Regarding sound, to date I’ve used Tim Player to provide sound effects. However, I am currently programming a new sound module which will enable voice generation + sample playback. I’m on holiday in a week or so and plan to get this finished. Tony. |
Andrew Sprott (3117) 10 posts |
I have given up with the PC and the manipulative control that the operators have over it. So I’m returning to the days of my BBC B and RISC assembler. I did have a chance to own an Archimedes but I told my father it was not worth it because of the poliferation of the PC in 1987 so I said to him to give me the 500 dollar cheque – which I received about once every 7 or so years – and I sold my Amiga to buy an Amstrad PPC. The reason was to begin work on a word processor that I used for my own editor. Anyway, like I said the PC is dead, useless and vunerable. So I am moving to the Pi and ARM and am in the process in converting my project Alessa, a DMX light control platform which is written in pascal. Because the structure of the existing source is near enough perfect, converting to ARM will be fun, just like the 6502. I notice that the ARM also has a zero page unless I am mistaken. I like the look of the instruction set also not zillions of mnemonics to remember, a easy framework and neat handling of interrupts and stacks. Andrew |
Rick Murray (539) 13839 posts |
Um – don’t run Windows? While Ubuntu has a phone-the-mothership in the search, this can be turned off and there are dozens of other Linux distro to choose from.
Even in dollars, 500 would have been a long way short of the mark. Archimedes was £££ (or $$$ if you prefer).
Um – don’t run Windows? Nothing is entirely secure, and trust me – RISC OS is incredibly vulnerable. We are only “safe” due to our total obscurity, and maybe no self respecting a-hole would waste time on a system that permits user mode applications to write to arbitrary locations in kernel space (and it is only one unvetted SWI call to switch to supervisor mode to allow complete unfettered access to the entire machine).
Yes and no. There is a page zero (which can be relocated “high”) of which the first few words have special significance – they are instructions to jump to handlers for things like SWI calls, data aborts, etc etc.
It is quite nice, yes. The register flexibility is very nice, and you can use most registers for calculation targets or loop counters (unlike the x86 where there are registers set aside for purposes such as those). |
Andrew Sprott (3117) 10 posts |
I am not talking about Windows as such but Intel processors themselves combined with C++ and Windows creating the super monster platform. IOW CISC the real reason why ARM is a genuine alternative. I had many years writing 8086 and compared to the 6502 there is a massive distinction. Then I moved on to Delphi and recently I have been forced to a stop because of event hooks finding their way onto a computer that has all networking disabled in the BIOS and no drivers installed. Also the laptop is powered by external battery packs – never connected to the mains. Nevertheless the hooks get in and they are systematically disabling Delphi. I am guessing they are sneaking them in via memory sticks/cards. Yes I know $500 was not enough, that was a usual cheque that he would give me once in a blood moon. He said he would pay for an Archimedes but like I said, at the time I didn’t see the point. When I say vulnerable I’m not necessarily implying the Operating System alone but the hardware architecture. Also yes it seems that any rampant software can creep into RISCOS. Intel play the protection racket which is all well understood when in terms of security but how does Microsoft find it so easy to steal software. Any a-hole is just that and if any such person starts writing such code is going to end up with a trashed OS. Protection mode has its penalties. Andrew |
Rick Murray (539) 13839 posts |
I believe Microsoft’s usual business practise is to buy the rights to software. Sometimes to have it as it is, sometimes to turn it into one of their own products (usually known by users as “breaking it”), sometimes just to remove it as viable competition. Stealing ideas, on the other hand, is an entirely different question – but then it is normal for people to want to copy what works and forget what doesn’t, though somehow crappy American so-called “law” has devised a monopoly system for ideas and concepts that are pretty commonplace – slide to unlock, rounded corners1, “winter is coming”, blah blah. 1 I think this one was struck down, but it is pretty amazing that a rectangle with “rounded corners” even made it to being an arguable concept. Look at your keyboard. Or mouse. Or a box of TicTacs. Or many Pi cases. Or your monitor. Or… shall I go on? Rounding a corner helps to soften the harshness or a 90 degree edge – you’d probably have to look to find a non-rounded corner that is neither a cardboard box, piece of paper, or a building… |
Steve Pampling (1551) 8170 posts |
Excel, Visio are two that spring to mind.
Like you mean: Or the wooden casework of my grandad’s TV back when I was knee-high to the proverbial grasshopper. It wasn’t brand new but it still worked in 1960 and I’m not sure there was a sharp 90 degree anywhere in it unless you count the possible corners of some circuit boards. If you really want to see the depth of Apple being a-holes, check out the IP range they quote you needing to allow access through a firewall for “Facetime” to work1, then check around a little and find out which single apple IP you actually need. 1 Who gifted them with 16 million IP’s anyway? (Rhetorical) |
Rick Murray (539) 13839 posts |
When tidying up the cookies on the iPad… there’s no tick-box list, you need to swipe-and-tap on every single one and you wouldn’t believe how many Apple dumps onto the device from addresses like <random_junk>.phobos.apple.com (something like that). And why does Wiki blight my devices with a half-megabyte cookie? WTF? |
Steve Pampling (1551) 8170 posts |
I’ll just bet they don’t provide an “expire all when shutting down the browser” option either.
Promote it’s web pages to be the highest ranking link wherever possible and then beg for money because “giving you the free service costs money” |
Rick Murray (539) 13839 posts |
About that begging… https://www.washingtonpost.com/news/the-intersect/wp/2015/12/02/wikipedia-has-a-ton-of-money-so-why-is-it-begging-you-to-donate-yours/?utm_term=.508905a258a4
And a special award for this year gifting us with…
I mean, with the effing eff? Aren’t they endangered? Yup. Frenchies like to dine in style at reveillon (maybe spelled wrongly, can’t be bothered to switch to French mode) and they certainly push the boat out when it comes to extraordinary things. See? See the horrible stuff I have to endure in my quest for something that resembles a normal Christmas meal? Please send me money and let’s make this happen! |
John Williams (567) 768 posts |
Please send me a Relevé d’Identité Bancaire! |
Andrew Sprott (3117) 10 posts |
When reading Personal Computer World, or maybe another magazine, I learnt that somewhere inside some US government building – or hanger – there was a three mile high pile of letters of complaints directed at Macroslug. One of the classic cases of their theaving was stacker in the 90’s. Stacker offered seamless hard drive compression it was the first time this was done. Of course Macroslug stole it and it appeared in the next version of Windows, I can’t remember which. The software house of stacker responded by suing M$ and won, or rather lost. M$ won in the end they agreed to pay 1 million a year in royalties. The deal was called MERCI, M$ usual childish acronyms game. I don’t believe M$ buy out software as much, they replicate it and give it away. Stealing is their way in the Intel mafia using undocumented instructions, virtual addressing and memory protection methods. Round corners is what I am on about in general. That tiny little extra complexity for the sake of consumer appeal. Andrew |
Steve Pampling (1551) 8170 posts |
An interesting item of animal protein that tastes of, well, whatever it is cooked with and nothing else. Why not rat-on-a-stick1 that would probably taste like chicken2 1 Pratchett ref. |
Dave Higton (1515) 3525 posts |
Talk about thread drift… Please, people, this stuff about begging, cookies and food belongs in Aldershot. As to Andrew Sprott’s recent postings: I used to enjoy assembly language programming, but nowadays I recommend people to avoid it and use a higher level language. ARM assembly language has turned out to be non-portable without extra work. It was originally held to be one of the advantages of RISC OS, but hindsight has shown that it the lack of portability is a significant problem. Higher level languages are also more productive. You get more results on average for each of your hours spent programming. |
Andrew Sprott (3117) 10 posts |
Thanks for the reply Dave. I am not really concerned about portability, after all what other platforms are there that are worth their lithium? Yes I hope to have a product that can be marketed and problems such as DMX controllers are solved by the sACN which responds to Ethernet which as you may gather I have working on this Pi2 with RISCOS. For me though all the 20 or so years writing Pascal I feel like Hellraiser has simply being wrapping those chains around me again, again, again and again. High level languages are restricted because they impose rules and structure into the logic of your own creation. After all isn’t that the realisation that comes to us when we first run our own creation. In fact assembler relinquishes the hold altogether, then it comes to the CPU. When there is no complexity things become even easier which is why I have chosen ARM. If in 1987 Acorn chose to increase the scale of the BBC architecture so that it was downward compatible I would still be using one now. Acorn designed the BBC well unlike IBM and M$ – 640KB should be enough for anyone – it was in my mind easy to up-scale. So what computers are worth considering to develop on, none so I stick with the Pi. Andrew |
Dave Higton (1515) 3525 posts |
Assembly language has not been portable (without extra work, as I noted) between the various processors that RISC OS has been ported to. You may find that assembly language is not directly portable between all versions of the Raspberry Pi, if you include future ones. Rules and structure, in general terms, are usually held to be good things. |
Rick Murray (539) 13839 posts |
We need to have rules and structure because there is no computer language capable of understanding the many ambiguities of our own language. If I was sitting in an office and I say “open a window”, is the glasses girl sitting at the computer supposed to get up and physically open a window or should she double click on Word or…? So computer languages. They need weird rules and structure in order to do what they do with no ambiguities whatsoever. It is a compromise between our language and that of the machine. Assembler, on the other hand, is the most rigid. Gone are friendly arrays, strings, and other things we take for granted. In its place are the simple building blocks of data. Bytes, words. That’s it. It may sound freer but in reality you have to do a lot more work yourself. In most languages it is fairly easy to join two strings and to print a value to the screen. In pure assembler you will need to read and write bytes for the string joining. For the value printing, there are OS calls to help with showing decimal and hex values. Binary is a little more fiddly, and you’re on your own if you want to display an FP number. Couple that with the fact that while a lot of ARM code has thankfully stayed the same, there have been some upheavals along the way. The obvious is the transition to 32 bit PC and separate PSR. Then the removal of rotated loads in favour of real unaligned loads. Now? Now we kiss bye bye to SWP. These might seem like minor things (aside from the 26/32 one), but the fact is that there is zero tolerance for error. That’s why a lot of the GCCSDK software crashed and burned on the Pi3. Unixlib (or some part of the GCC libraries) used SWP. Oops, that don’t exist no more. Bang. I write in C (mostly), BASIC, and assembler. When it came to updating my software for RISC OS 5 on modern devices, BASIC was okay. C code just needed to be recompiled with a more recent (ARMv6 aware) compiler. And the assembler needed to be translated to 32 bit by going through it line by line. This was not as easy as it looked as the previous API held that functions would preserve flags (as a part of MOVS PC,R14) but in 32 bit this was generally no longer the case. So I had to check to make sure there was no code that did a BLEQ then BLNE to functions that could mess up the flags (potentially BLEQ and BLNE paths could both be followed if the EQ function cleared Z). I write stuff in assembler because it is fun and nerdy and I’m like that. But for any project of any size, I would recommend assembler only as short veneers to OS routines if necessary.
I take it you haven’t looked at AArch64? |
Andrew Sprott (3117) 10 posts |
I am not sure what you are trying to illustrate with your analogy of life in an office and machine code. I am interested in starting my code with an ARM that is complete and less likely to need filtering any code. Please tell me is it worth me investing in this? https://www.riscosopen.org/content/sales/dde And, what version of ARM is in the Pi2? Andrew |
Dave Higton (1515) 3525 posts |
Yes. Unequivocally. |
Andrew Sprott (3117) 10 posts |
I will on Wednesday Andrew |
Chris Mahoney (1684) 2165 posts |
Historically ARMv7, but as of a few months ago it’s v8. Unfortunately they didn’t change the name to “B+” this time around so you can’t tell which you have at a glance. |
rob andrews (112) 200 posts |
If you are only buying a Pi and you want to cut the cost then also buy the nutPi sdcard this comes with the latest DDE 26 with extra software to quote ROOL |