mailto: blog -at- heyrick -dot- eu

You are not reading my b.log using HTTPS. You can switch to HTTPS by clicking here.

SimpleSeq v0.20

Yup! Still tinkering with this. ☺ (updates in italics, 7th February as I tinker more)

I've fixed a minor bug, tweaked a message, and added some new functionality...

You can now click on a filename in the "Open" dialogue in order to have that filename copied into the writeable, making loading files a simple two-click process.

But the biggest change is that the instrument voices (also called "programs", "patches", and "tones"!) are now loaded from a file. While the default is the usual set of General MIDI voices, which is also built-in as a backup, it is now possible to customise this and/or load alternatives. there's a bug, non-GM voices won't work.

Pressing F6 will open a dialogue very similar to the "Load file" for loading an alternative voices file.

Pick a voice file
Pick a voice file.

As you can see, I've also created a definition for the Yamaha XGLite, which provides access to over two hundred new voices (provided, of course, that your keyboard understands and supports the additional XG Lite voices and the twat that writes the software doesn't mess up the bank selection so it plain doesn't work!).

New voices in use
Some new voices in use.

You can still download this if you like. The non-General MIDI voice selection won't work properly, but the other enhancements work. An update will be released, I'm just not sure exactly when. Soon...

Download simpleseq_020.zip (151.97K)
For RISC OS 5 machines with MIDI

The user guide has not yet been updated.

 

NOOOO!

One of the "extra features" buried in the Netflix app (or was it their website?) is a set of pictures of many versions of some big billboard they erected somewhere.

This image. Oh good god, this image.

Netflix billboard
This bothers me so much.
Image © Netflix

As the caption says, this picture bothers me.

Why?

Look at the awful and disturbing kerning fail in the bottom like. LA TEL Y?

I'm sorry, it's stupid and immaterial, but this sort of thing stands out like pink plastic dinosaur in a fish tank and it's literally (and figuratively) the only thing that I'm capable of seeing in this picture.

 

Forum spam

There has been a rise in forum spam recently. Thankfully my forum catches most of it with a combination of a random security question, bouncing signups off "StopForumSpam", and hard-blocking certain domains (such as 163.com, which appears to be some sort of Chinese mail service).

  • In what year did everybody start going into lockdowns as a result of Coronavirus?
    9 people answered correctly, 74 didn't.
  • In what year did the United Kingdom hold a referendum on leaving the European Union?
    Better - 36 got it right, 39 didn't.
  • In what year was Windows98 released?
    Exactly even with 41 right and 41 wrong. Worst, it's not a trick question. ☺
  • The ARM is a XX bit processor? What number is 'xx'?
    I accept both answers and, yeah, five people (probably legitimate sign-ups) got it. Seventy one didn't.
  • 40 people think the BBC Micro didn't use a 6502 processor, who may or may not be the 94 who thought it used an 8086.
  • But my favourite is that only eight people got the question of what is the result of subtracting Pi from itself. 64 people, on the other hand, fail maths hard and forever.

As you can see, these questions aren't particularly difficult for the sort of people that read my blog and/or may have an interest in my forum; but some random Asian person paid a single paise (a hundredth of a rupee) or a fen (one tenth of a jiao, which is a tenth of a yuán) for every bit of spam they manage to post probably won't have a clue about any of this, assuming they can read it well enough to understand it - they're probably expecting the "2 + 2" sort of question.
And if it is a 'bot rather than a person, well...

Thankfully spambots don't, to my knowledge, currently use AI. Because ChatGPT understood the questions and while it's results were a bit too verbose, it got every question right.

 

Fresh bread

Starting to get the hang of this.

I have set up a customised programme which adds ten minutes to the first two proving cycles, and bakes for ten minutes less. The crust is still a little hard, but it's edible.

Putting in less salt (only one teaspoon) and a generous tablespoon of sugar, and replacing the 300ml cold water with milk heated to about 23°C (which is 150ml heated for 25s in the microwave, twice) gives me a reasonably nice loaf. It would have been much better in a single-person breadmaker, but I have to make do with the Lidl monster. It helps to smoosh the dough around to fill the pan at the point of plucking out the paddles.

A loaf of fresh bread
USB key for scale.

Best bit? While it's still warm, slice it up, slather butter (or marge in my case as I don't currently have any soft butter) over it, pop it in the microwave for a moment to ensure it's all nice and melty and...

Hot fresh slices
Bliss.

I think next time I'll see if I can knock five minutes off of the baking time for a softer crust.

Maybe I'll add some more sugar to see if I can make my bread a little more cake-like and.... wait.... haven't I just invented brioche? ☺

 

Toothache

It's been forever since I've just been to the dentist. In 2018, mom was ill. In 2019, iller and then dead. Got my car at the end of 2019 and, well, we know what happened in 2020. And 2021. And things still not right in 2022. Or 2023 for that matter, though people are getting closer to back to normal.

I last saw a dentist in, I think, the end of 2018. The guy I used to see retired, and it was one of his replacements. After waiting forever to have a missing filling replaced, she took me into her room and told me that I needed to brush my gums more because if she tried anything they would bleed and that would be a problem. Clearly not a problem for my previous dentist who just shoved lots of cotton wool stuff into my mouth.
Of course, the fact that she was one and a half appointments late and wanted to go home and had somebody after me was absolutely nothing to do with it, right?

Well, the tooth broke sometime during lockdown. It didn't hurt, it just left a sharp jagged piece that I seem to catch my tongue on a lot.

Fast forward a few years to last week. I don't know what changed, but now the tooth is a little sore around the root if I poke it but it is currently not giving me any problem. But sometimes, and I think it's pressure that sets it off, just gently flicking my tongue against it feels like I'm being electrocuted. Eating porridge that evening was a special sort of torture.

I went to the dentist after work on Thursday to make an appointment. The man there, one of the dentists, flicked around his bookings and suggested that I call them tomorrow. I asked if he could leave a message as I'm terrible on the phone.
To his credit, he did. So I called and spoke to a woman, the dentist's secretary/assistant. Actually, I was first asked to press a number for the secretary of who I wanted to speak to, and I specifically didn't speak to the woman mentioned previously. While I can forgive her for not wanting to see me and do a complicated thing at the end of the day, I cannot and will not forgive her for leaving my mother on crutches and in pain sitting there for nearly an hour and a half. It wouldn't have killed her to say she's sorry, she's way behind, could we please make another appointment.

So I spoke to the secretary/assistant and got an emergency 15 minute appointment at lunchtime on Valentine's Day so he can have a look at what's going on.

This particular tooth... um... it's the one between the left bunny-rabbit tooth and the vampire fang. I have no idea how teeth are named or numbered, but that's it. And throughout all of my adult life it has been slowly twisting itself. It's now like halfway behind the bunny tooth.
I will suggest to him that I'm totally okay with having the thing yanked out. I mean, clearly my mouth isn't big enough for all the teeth inside, and this one has been volunteering to get itself out of the way.
It'll leave a small gap, but only a small one. Just big enough to stick a biro into when I'm thinking. ☺

I actually wanted to leave that dentist. Not because I have any particular issue with them (except that one specific woman), but because it's a town we used to visit a lot when we first came over to France in 2002. France is set up a bit weird in that there are subregions within the 'counties' and everything for us treats this town as a sort of 'home town'.
However, since I've been employed, I rarely go there now. The town where I work is a lot closer. I've moved my bank there, I work there, and finding a dentist there would be quite helpful as I can get there quickly from work (which means an earlier appointment).

But, alas, there's a big dentist shortage. I looked at DoctoLib for dentists, and it suggested St Servon (I have no idea where that it, probably some place near Rennes), one in Bais (heading towards Rennes), and several in Rennes. None of whom were accepting new clients.
So I guess it's lucky I have a history with this place as they aren't accepting new clients either.

I have no idea what this dentist is like. Never met him. But as long as he can deal with the hurty bits and stuff some of that UV-setting white stuff elsewhere, I pretty much don't care.

 

Now for the dumb part. I asked at work if it was possible to come in and work from 8am to noon because it didn't seem logical to miss an entire day of work for the sake of a fifteen minute appointment.

Alas, it is no longer allowed. I think some people were being a bit abusive by making appointments during work hours. Now, I can understand the company being annoyed by people who work 5am to 1pm, or 1pm to 9pm (give or take a little) because they have half a day available to make their appointments. For the daytime workers such as myself (9am to 4.45pm), there's very little time because I'm working when things tend to be open. The Banque Postale wanted to speak to me several times about my car loan and its progress, but I never did because their hours matched up with my work hours. Tant pis.

Now, four hours is a good half a day. So I could come in, do the restocking, some of the cleaning, and get everything sorted out before going away to get my mouth poked.
Instead, I have to take the day off. While that doesn't bother me (I've applied for a day without pay, I wonder what my boss will say), it seems dumb that the cleaning probably won't get done and somebody will have to cover for me in my absence in addition to their own work.
But, well, the new director decided a blanket ban was the solution so... I offered. <shrug>

 

Blind advocacy considered harmful

I recently had occasion to look at why to support Cloverleaf and... okay...

Are you upset about your computer system or your mobile phone? It is slow, buggy or you feel to be exploited by the manufacturer as they know that you have no other choices?

While it was pathetically easy to get Safari to crash in the iOS7 days, and there were fundamental flaws in how the mail client handled IMAP (wrongly!), stuff crashing doesn't kill iOS itself. Likewise, it's been quite a while since I've had something take out Android. App crashes? Yeah, it happens. OS crashes? Practically never.
RISC OS, in the other hand, is not particularly stable. This is a consequence of historical decisions such as having everything dump important data into the module area, the sheer amount of stuff that runs intertwined with the kernel, and the lack of useful memory protection.
To add to this, no version of RISC OS is capable of using more than one core in any machine. There are some fundamental and difficult obstacles that would need to be overcome in order to support using the other three cores in every Pi since the Pi 2.
So to say a mobile phone is "slow and buggy" and suggest that RISC OS is the solution is disingenuous to the point of being deceptive.

Put it like this. My fairly cheap Xiaomi Note 12 phone can record, edit, and play back video in 4K resolution, plus run a modern browser like Chrome at an acceptable speed. Because RISC OS has precious little video acceleration and only one core, it actually runs like treacle. You just don't tend to notice as the apps don't tend to do loads of intensive work. Don't believe me? Try to watch a 4K video. Or fire up Iris and pop over to FlightRadar24.

Your operating system is reporting that it cannot update to the new version as not enough disc space?

Your phone should not be a massive cache for those eight thousand selfies you took but can't be arsed to go through and cull all the bad ones. You should drop them onto a flash drive or something for eventually putting onto a harddisc or DVD-R or whatever.
Clean up the clutter!

You cannot install new programs anymore because they are not working with your older operating system version?

Do you have any idea how many RISC OS programs are out there that will fail for various reasons? Let's see...

  • The really old 26 bit ones that will crash at start (as the BLNV is interpreted as a BLX so it tries to change processor mode)
  • The newer 26 bit ones that CLib will reject as being too old (as they'll get that far)
  • Those that used rotated loads on unaligned addresses (which will either abort as the machine will be set up to disallow this sort of thing, or will work but will do entirely the wrong thing)
  • Those that were written with bogus instructions by mistake, like loading R10 from R10 and writing back to R10; it doesn't make sense - and later ARMv7 processors have tightened up all of this "implemention defined behaviour" things to be a flat-out-nope
  • Those that used the SWP instruction which isn't present on ARMv8 (Pi 2v2 and later) machines
  • Everything ever written if RISC OS should ever be made a 64 bit OS
Likewise, anything written for a 64 bit RISC OS won't work on a 32 bit one; and things written for newer versions of RISC OS may or may not work on older builds. Even better, there's precious little information of what works on what version. When did BASIC gain support for ON and OF in COLOUR/GCOL? Does anything ever actually check?
Which, exactly, CLib version is needed for the 64 bit long longs or the fancy maths stuff? Or... People often just copy-paste the same crap (check for 5.17 then try to load 5.34/5.43) that's not only straight-up wrong but printed in the user guide as the way to do it.
Straight-up wrong? Yup. An application should never try to RMLoad CLib in case it softloads over top of a softload which will cause everything to melt down instantly. I'm sorry, what was that we were saying about stability?

So, no, this statement is invalid too.

Do you need to reinstall the operating system every year from scratch as it is littered by programs and wasting your time for 2 days to set it up again as you need it?

Don't install so much crap, maybe? Oh, and... While setting up RISC OS doesn't take quite as long, it's non-trivial. Thankfully, I pretty much copied stuff over using ShareFS, but there are still notable differences between this Pi2 and the Pi3's setup.

You must buy yourself a new printer for no other reason than that the old printer drivers cannot be installed on your new operating system version?

If we take a moment to ignore Dave's IPP/AirPrint driver, what exactly is RISC OS' support for any printer made this millennia? You may, like me, be lucky enough to discover that a laser printer can not only be talked to using RemotePrinterFS but that it'll also understand and faithfully print bitmaps in HP LaserJet format.
But what about those cheap little inkjet jobbies that are everywhere? Yeah, you're S.O.L without Dave's IPP driver (or the AirPrint/URF one for older models).

So while RISC OS will happily talk to an old dot matrix... oh, wait... no parallel port. Scratch that.

The supplier of your operating system wants that you to spend more money on new hardware and software or services.

It depends a lot on the manufacturer. Xiaomi updated my phone to a later version of Android and MIUI. Things look a little different here and there, but it's no slower than it was.
When iOS6 was updated to iOS7, the UI changed greatly, but the machine pretty much carried on working as before.
In both cases, these were in-situ updates with apps and files present.
Yes, we all know about Apple's "Batterygate", but I think that's fairly rare (and Apple fans are sheep). Generally a manufacturer simply stops supporting older models rather than hobbling them. It has the same effect (buy a newer one) without blatantly pissing off the user.

Are there other options for you?

Linux?

Our operating system RISC OS runs programs that have been programmed 30 years ago.

That... probably shouldn't be a bragging point. State of the art thirty years ago was Windows 3.11.
(it'll be Windows 95 next year, and what a steaming heap of hippopotamus excretia that was)

For the RISC OS community the RISC OS users come first and then the short term profits of the suppliers.

On the other hand, anything "commercial" to do with RISC OS is quite expensive and not as featureful as equivalent free (as in open source) offerings. Not because suppliers are chasing short term profits, but because the market is so small they have to bump prices to make anything in any way worthwhile, but I'd imagine - even with the prices the stuff is - it's mostly a labour of love that really doesn't make ends meet.
So... prices are high, but for a different reason.

If you buy now new RISC OS hardware then you can be sure it will work also in 10 years as good as now.

My PC in the bedroom works fine. It was built for Windows XP. Vista came out 17 years ago, so it's older than that.
Don't treat your hardware like crap, it'll keep on going. The phone I take to work with me? Android 8 from 2019.

The multitasking is cooperative and therefore faster for the active application

I don't believe the multitasking method makes that much difference to a well-written application, but it's worth noting that RISC OS will suffer notable pauses when applications are 'busy' exactly because of the co-operative nature. Printing, especially, will freeze the desktop as each page is rendered. You really don't want to know the icky under-the-hood reasons why, suffice to say that it's good that modern machines are fast and the printer driver can buffer to file. Back in the early '90s, printing to a dot matrix would tie up the machine for durations measured in parts of hours.
Converting an image using ChangeFSI will freeze everything for a couple of seconds while it works its magic. Ironically, a billion years ago when I tried the Wimp2 module on my A5000, it made ChangeFSI pre-empted and it didn't really affect the speed to any notable degree. I don't remember the actual tested speed hit, but it wasn't much (I'm thinking in the order of half a second maybe?) and the desktop kept running around it. So, yeah, it's not like "co-operative = good; pre-emptive = bad". It should also probably say something that the world has generally left co-operative behind to move to pre-emptive; perhaps because co-operative requires a lot of assistance from the application itself in order to work (clue in the name).

Programs use a minimal space in memory as the origin of the operating system was based on 1 MB of RAM and not several GBytes like today.

This is nonsense. There are likely very few serious applications that would work in a mere megabyte of RAM.
Programs typically use minimal space in memory as they just don't have as many features as equivalents elsewhere.
But do note: Cloverleaf offer a fancy new filer called "CLFiler" (a truly inspired name) that is huge in RISC OS terms.

My SimpleSeq above? It's a fairly small (~90K) executable, that will immediately try to allocate nearly twenty megs for it's music array. Because, honestly, everything since the very first Pi 1 has had at least 256MB onboard, the typical amount is 1GB, so it's just a lot simpler and quicker to dump music data into a massive array than to try to devise all sorts of clever encodings to save space. We aren't limited to thinking of 1MB machines any more, and to even reference such things is... weird.

Therefore no virtual slow memory is used that makes programs much slower.

I think that should be "slow virtual memory". ☺ Thankfully RISC OS' doesn't have large workloads in which such a thing would be necessary, because with only one active core and a not-terribly-fast filing system implementation it would suck giant hairy donkey balls.

That being said, virtual memory allows a trade-off permitting memory restricted devices to appear to be more capable than they really are. Whether or not it is effective depends a lot on what sort of virtual memory is in use and how aggressive it is.
It's perhaps worth noting that RISC OS suffered during task swapping until lazy swapping was introduced into the kernel. It's painful mapping out/in tasks in 4K chunks (the MMU page size) when the apps are large. So, look, you don't need virtual memory to have performance that sucks.

You don't want to live in a world where all is controlled by one, two or three global operating companies?

Yeah... Alphabet, Meta, and... It's already happening, just a little abstract so you don't really notice it. The fight isn't so much the device in your hand as much as what it can access.

You want to live in a world where you have have multiple or endless choices?

I'm not sure. I spend so long looking at the choices in Netflix that I tend to be too tired to watch something by the time I've found it.

You want to decide by yourself what you are doing; what service you use; what product you use; what option you have in life?

The first three are fairly simple. I choose to use an Android phone. I choose the apps that I put on it and the services that it uses.
But if your options in life are determined by the screen you look at, either you're a stock broker or a loser.

You might not have too much time left to turn the tide. Already now most people use only services from one company.

You, alone, will not be able to turn the tide. And being different for the sake of trying to make a point will simply make life more difficult due to the incompatibilities.
You know, RISC OS pretty much copes with PNGs now.
Meanwhile, there's debate raging over JPEG XL and it's quite common to see WebP and AVIF image formats around. How does RISC OS cope with any of those?
(hint: it's a rhetorical question)

You are searching in internet for a product or serivce. You are guided to a location. You are using your mobile phone. You are paying for goods. All this is done by the same company.

Really? I search using Google or Bing. If I buy stuff, it's probably from Amazon or, rarely, eBay. I pay using a local payment provider. Google does not, have not, and will never know my bank details. I don't trust them with that information. If that means I don't have access to "serivces" such as a Google One subscription... oh dear, woe is me, etc.
By the way, how much of that can even be done on RISC OS?

When you buy a computer nowadays you have 2 or maximum 3 choices when it comes to the operating system. When you buy a mobile phone you have just 2 choices.

And? Honestly, what I look for when getting hardware is "can this do X?". This isn't the '90s when battles were waged over who had the better operating system. These days, the operating system is the bit in the background that quietly makes shit work.
Oh, and those "can it do X?". That's a test that RISC OS consistently fails. Most of my internet/online stuff is done using Android because RISC OS simply isn't up to it.

We can give you one more choice for an operating system which increases the option by 33% to 50% what you have now. One more choice to be less dependant from current monopolists.

Faulty maths. RISC OS is a desktop UI, so it'll add an extra option to the desktop machine choices. It isn't, and won't ever be, suitable for mobile phone use so any comparisons there are irrelevant.

If you believe that we need to protect our world from pollution that poisons the environment that we are living in then RISC OS is your favorite choice. RISC OS is based by the most energy-saving processor available the ARM chip. ARM technology is the choice of 95% of all mobile phone manufactures because of this feature.

So he makes a dubious point and then actually shoots down his own point? Wow. That's impressive. So if you want to use a machine that uses very little power, use RISC OS or practically any mobile phone (that will be more modern, more capable, and have a much better ecosystem behind it).
I'd expand that to say "or tablet" as well. Ditto all the previous comments.

Our Cloverleaf RISC OS computer will consume only about 15W power compared to 80W to 300W of your current desktop computer.

True, that's why I rarely use my PC these days. But, you know what? A tablet (Android or iOS) is an integrated solution (screen and input device) that uses even less. You can get Android "laptops" that come with a real keyboard, or a Bluetooth keyboard for other tablets. They aren't quite as flexible as real computers (because mobile devices don't multitask in the same way because the UI metaphor is an app at a time) but you can be quite productive on them with the right apps.
As for RISC OS? Well, yes, my Pi is slurping up a miserly 7-8W. The monitor, on the other hand, is something like 30W so... what was the point again?

RISC OS currently represents 10.000 against 6 billion computer or mobile phone users.

I should point out that in Europe, a dot is usually a thousands separator and not a decimal point. Shame, because if it was a decimal point it would probably be closer to the truth. ☺
I don't think there are any metrics regarding RISC OS users, but I'd guess maybe a few hundred and a fair number of them are sticking with their old machines and associated hardware simply because drivers for stuff (like the Simtec IDE podule, for example) just don't exist in the 32 bit world.
What was that which was said above about old stuff being obsoleted? Uh-hu.

Maybe one day RISC OS will be so polular that we can afford to license our own ARM processors and design them for RISC OS like Apple, Samsung, NVIDIA and Huawei are doing.

I think he has no idea how expensive and complicated it is to licence, design, and make processors. Especially if one doesn't have direct access to chip fabs.
Oh, and note that there's a big difference between licencing generic ARM cores made by ARM and designing your own. The latter requires an architectural licence, and we're looking at many millions of dollars here.
And then there's the cost of getting them put together with other things (like video hardware, memory controllers, I/O, and so on) and getting that tested, and finally getting that made as actual silicon.
It's a total fantasy, even dafter (by a good order of magnitude) than the stuff Sveinung comes up with.
RISC OS will never, not ever be on a footing equal to the likes of Apple and Samsung.

It's late, I'm not going to read any more of that.

I can understand the purpose of advocacy. People want to feel connected to something they believe in. But when advocacy is backed up by such dubious and easily disproven rubbish, it's really not so different to antivaxxers who were against helping to protect other people's health as well as their own "because 5G", "because autism", "because the fifty first amendment allows me to be an arsehole in public" or whatever other dumb excuses they came up with.
This? This is dumb advocacy. It doesn't do us any favours.

Better, I think, to look at the strengths that RISC OS has (um, not so many) and sweep the faults under the carpet (not lying so much as omitting) and simply don't make promises that just don't hold water.

 

 

Your comments:

Please note that while I check this page every so often, I am not able to control what users write; therefore I disclaim all liability for unpleasant and/or infringing and/or defamatory material. Undesired content will be removed as soon as it is noticed. By leaving a comment, you agree not to post material that is illegal or in bad taste, and you should be aware that the time and your IP address are both recorded, should it be necessary to find out who you are. Oh, and don't bother trying to inline HTML. I'm not that stupid! ☺ ADDING COMMENTS DOES NOT WORK IF READING TRANSLATED VERSIONS.
 
You can now follow comment additions with the comment RSS feed. This is distinct from the b.log RSS feed, so you can subscribe to one or both as you wish.

jgh, 5th February 2024, 13:44
Teeth are numbered from 1 at the front, most people go up to 8. Upper 3s are the canines. Extracted teeth are omitted, so I used to have four sets of 1,2,3,5,6,7,8 until last year when I now have one set of 1,2,3,5,7,8. 
 
Until she retired two years ago I'd had the same dentist since I was born. Checkups were like the shipping forecast in their poetry: one, two, three, four missing, five and six with a bridge, seven with an occlusion amalgam, eight.
jgh, 5th February 2024, 14:13
Yeah glods, I tried CLFiler, but it was sooooooo HUGE I couldn't even open the archive on my 4M A5000, let alone attempt to run it. The *whole* *point* of operating systems and user interfaces is that they should be invisibly in the *background* keeping as much out of the way as possible, leaving as much as possible of the computer resources for the user to use for what the user themselves wants to do. 
 
"When did BASIC gain support for ON and OF in COLOUR/GCOL?" 
 
Who on earth thinks the opposite of "ON" is "OF"?????? I was sketching out implementing this in PDP11 BASIC, and for a very long time naturally assumed "OF" was a typo and *clearly* it *HAD* to be "OFF". *NOBODY* would have implemented COLOUR ON vs COLOUR OF. Set colour for the flash ON state, and set colour for the flash *OFF* state. 
 
This is one of the things that Acorn used to be good at in the programming guides: MAKE SURE YOUR PUBLIC APIS ARE SPELLED CORRECTLY!11!!!1!! I don't care if your internal variables are spelled wrong, but having to constantly type, I dunno, SYS "Data_Right", SYS "Data_Reed" because some moron couldn't be arsed to check a dictionary would drive people to insanity. 
Rick, 5th February 2024, 15:11
It's not ON and OFF. 
 
It's colour OF (as in possessing the value of) ON (as in over top of) another colour. The point being to easily set the foreground and background colours at the same time rather than calling COLOUR twice, mucking with SWIs, or the mental gymnastics of specifying the background colour. 
 
Though, to be honest, one might as well just call ColourTrans directly, then there's the choice of whether or not to dither with ECFs when there's no perfect match for the desired colour. 
Rick, 5th February 2024, 15:13
SYS "Data_Right" implies there's a SYS "Data_Wrong". 😀
David Pilling, 5th February 2024, 15:37
That bread looks respectable, based on the bubble size. For me a measure of success is volume - maybe volume is fixed inside a bread maker. "Slather"™ have you been watching Nigella - c'mon lets hear you say "Mickrow Wahvee" - guilty. 
 
My experience is that everything is under attack on the internet - but it is surprising how determined people are to get forum subscriptions. They will look up the answer to questions. Having gained access - because some do get through - they don't seem to do anything. 
 
Are these subs sold somewhere, are they sleepers, waiting for hacks in the forum software to be found. 
 
I've resorted to questions whose answer changes, an answer that has to be worked out - to put this in your terms "what is the subject of my latest blog". 
 
Can't say this has been a total success either. Human element look up email addresses on Google, think how likely is "Bob Smith" to live in Vietnam. 
jgh, 5th February 2024, 17:47
I've tracked down documentation, and still can't get my head around it. So, COLOUR OF r,g,b to set the foreground and COLOUR ON r,g,b to set the background. 
 
Ok. COLOUR ON makes sense, "I want to display text ON this COLOUR". But COLOUR OF makes no sense. Why not just COLOUR r,g,b? COLOUR r,g,b ON x,y,z to say "I want to display text in r,g,b ON x,y,z". COLOUR *OF* just makes no sense, and it just looks like somebody forcing their own mangled assertions into the syntax. 
jgh, 5th February 2024, 18:00
The other annoying thing about COLOUR ON x,y,z etc. is that it bypasses the VDU driver by doing SYS "something", so bypass anything else the OSWRCH stream is going to. 
 
"Ok, so just use them in desktop mode, where you shouldn't be redirecting OSWRCH anyway." 
 
The problem with that is that you shouldn't be manually manipulating colours that way in a Wimp Task, you should be talking to the Wimp. 
 
So, they've added an extension that performs an action that is inappropriate for a multitasking application using a method that is inappropriate for a non-multitasking application. Sheesh. 
jgh, 5th February 2024, 18:08
You have a forum? In over a decade (I think) I don't seem to have noticed it. ;) 
 
When I took over hosting the BeebWiki it got more and more swamped by spam - at one point new users were being registered several times a minute, faster than I could delete them. So I had to take the whole thing offline and rebuild it. I installed an authentication module with half a dozen questions that I thought only the correct target audience would know the answers to. "What command displays a catalog?" ;) 
Rick, 5th February 2024, 18:36
JGH: 
 
I think [COLOUR|GCOL] OF exists purely in order that the ON version makes more sense, but perhaps like the LET command, it's mostly syntactical sugar. 
COLOUR 255,0,0 ON 0,255,0 works, so honestly I don't really see the point of OF. 
 
Of course it bypasses WRCH. As far as I'm aware, there isn't a VDU call to directly set a colour from a 16M range. The only thing I've found (looking at StrongHelp) is VDU 19 to set a specific logical colour to an RGB value. 
 
OSWRCH is only sort of semi useful in 256 colour modes (really, VDU 17/18 to set text/graphics colour from a choice of 64, followed by VDU 23,17,0-3,tint,0,0,0,0,0,0,0 where the tint is expressed in the top two bits is a bodgy bit of nonsense), and it fails completely when it comes to >256 colour modes. 
 
I think you can manually fiddle colours in a Wimp task while you're redrawing your own window. Wimp_SetColour is a bit limited (referring to the standard Wimp palette), and Wimp_TextColour is comically broken (according to StrongHelp, it says the SWI only applies to VDU4 text... who uses VDU4 text in the Wimp?). 
 
> "What command displays a catalog?" ;) 
 
I trust you accept both answers. ;) 
 
David: 
 
When referring to the microwave, I nonchalantly refer to it as "nukage". Like my ready meal is good to go after three minutes of nukage. Which is absolutely *NOT* how radiation works (microwaves don't even create/use ionising radiation) but don't let a little thing like facts get in the way of saying something daft. ;) 
jgh, 6th February 2024, 10:56
A Japanese idiom is ping-shimas. -suru/-shimas/-shimata makes something into a verb, and ping: well, how else does a microwave oven work? ;)
Rick, 6th February 2024, 15:07
So, basically, "pingification"? 
 
Nice. 👍
jgh, 13th February 2024, 00:41
TINT being the top two bits means that it can expand even further down for more and more fine-grained colour numbers. 
COLOUR %00nnnnnn TINT %nnxxxxxx ; 2^8 colours 
COLOUR %00nnnnnn TINT %nnnnxxxx ; 2^10 colours 
COLOUR %00nnnnnn TINT %nnnnnnxx ; 2^12 colours 
etc. 
 
But, yes, once you're using 256+ colours you should be using the display driver/window manager, not the VDU driver.

Add a comment (v0.11) [help?] . . . try the comment feed!
Your name
Your email (optional)
Validation Are you real? Please type 23676 backwards.
Your comment
French flagSpanish flagJapanese flag
Calendar
«   February 2024   »
MonTueWedThuFriSatSun
   123
5689
1213141516
19202123
26272829   

(Felicity? Marte? Find out!)

Last 5 entries

List all b.log entries

Return to the site index

Geekery

Search

Search Rick's b.log!

PS: Don't try to be clever.
It's a simple substring match.

Etc...

Last read at 11:50 on 2024/05/02.

QR code


Valid HTML 4.01 Transitional
Valid CSS
Valid RSS 2.0

 

© 2024 Rick Murray
This web page is licenced for your personal, private, non-commercial use only. No automated processing by advertising systems is permitted.
RIPA notice: No consent is given for interception of page transmission.

 

Have you noticed the watermarks on pictures?
Next entry - 2024/02/07
Return to top of page