Recent Posts by Martin Bazley (331)
Pages: 1 2 3 4 5 6 7 8 9 10 11 ... 16
Nov 20, 2014
Martin Bazley (331)
379 posts
|
Topic: Bugs / NetTime has no effect on bootup I knew I shouldn’t have forgotten about this thread again. In my absence, a lot of Chinese whispers seem to have gone about regarding the nature of my problem. To elaborate:
I’ve confirmed through boot sequence hackery in the past that the TimeSetup file and whatever I’m currently using to issue the NetTime_Kick command are being executed, in their entirety, after the network has been initialised. I do not believe race conditions are a plausible answer, because the network setup happens in PreDesk and NetTime is run in Tasks, and while the boot sequence does have non-deterministic elements one of the few things it does guarantee is that everything in PreDesk happens before everything in Tasks. (I should know, I had to go to some lengths to exploit this in MBBack.) |
Nov 9, 2014
Martin Bazley (331)
379 posts
|
Topic: Bugs / NetTime has no effect on bootup
I’ve since learned that that wasn’t the full story; AntiSpam has a rule where it deletes messages which appear to have been sent from the future (since that usually indicates a broken spam script), and in this case, the messages in question were 44 years in the future.
This assumes that the NetTime_Kick command is getting as far as NetTime in the first place. I have verified that it is being executed, it just doesn’t seem to do anything. I strongly doubt that Jim’s FUD over the gradual time adjustment is an issue (and I’d rather this thread not get derailed again), given that that (1) this only applies for small corrections and (2) the command NetTime_Kick does work… just only if it was manually typed in a TaskWindow, and not when run from an Obey file during bootup. Which makes no sense. How can it even tell how it was invoked? And there cannot possibly be any official policy against allowing large adjustments on bootup, because for many people that’s the only way to set their clock they have. I just can’t work out why it doesn’t work for me. |
Nov 8, 2014
Martin Bazley (331)
379 posts
|
Topic: Bugs / NetTime has no effect on bootup Well, today it happened again. Fortunately, no holiday was involved this time, so we lost much less email. I tried following David Feugey’s advice of deleting Boot:Choices.Internet and reconfiguring, which didn’t help. And yes, I am and have always been using version 0.43 of NetTime. Why is the command NetTime_Kick a no-op, if and only if it is issued as part of the boot sequence? Alternatively, how does everyone else manage to get NetTime to do a sync immediately on bootup, instead of 15 minutes later, when I can’t? |
Sep 29, 2014
Martin Bazley (331)
379 posts
|
Topic: Community Support / TOP and HIMEM in C
There is an OS_DynamicArea flag intended for precisely this purpose. Perhaps it might be a good idea to start making it do something. |
Aug 5, 2014
Martin Bazley (331)
379 posts
|
Topic: Bugs / NetTime has no effect on bootup The Bazley household recently suffered an unpleasant incident where the RTC battery on the ARMini ran down after the computer was turned off for a week (surely it should be able to hold its charge longer than that…?) and the system clock reset to 1970. Annoying, but in theory non-critical… until NetTime stepped in. I am given to understand that NetTime should check the time and connect to a server when it is first run (typically from an Obey file in Tasks, put there by TimeSetup). If the local clock is obviously wrong (say, in 1970), then it will correct it to something more sensible. I believe it should also perform a synchronisation at this time. In practice, it does nothing of the sort. By the time bootup had completed and email was being downloaded, the system was still convinced it was 1970. Not only had NetTime failed to perform its most basic function in a timely manner, matters were then made even worse by the fact that the other feature of NetTime – namely, to synchronise every 15 minutes (as configured here) – turned out to be working just fine. Suffice to say, shortly after a vast backlog of emails had been downloaded and datestamped in 1970, NetTime finally woke up and synchronised for the first time. The apparently 44-year-old emails were then promptly expired. In light of this, I’ve been trying to work out what caused NetTime to fail. The results, as far as I can see, is that NetTime, when run as part of the boot sequence, does nothing. At the time of the incident, NetTime 0.40 (as part of the stable HardDisc4 image) was installed. I have since upgraded to 0.43, which behaves no better. The initial advice given to us was to insert a Issuing Issuing I find the whole thing baffling. How can NetTime possibly tell the difference between a Kick command in the boot sequence and one in a TaskWindow? And is there any way – at all – that NetTime can be persuaded to do its job, and correct large time errors before more important things see them? I mean, some people don’t have RTC batteries at all, and use NetTime exclusively. That wouldn’t be viable if there was no way to synchronise the time until after the boot sequence had completed, right? |
Jun 22, 2014
Martin Bazley (331)
379 posts
|
Topic: General / Tools for developing basic Wimp applications I got my head start with the book “A Beginner’s Guide to Wimp Programming”, which can be downloaded for free from here. It gives you a friendly introduction to the bare-metal interface between BASIC and the Wimp, with no third-party extensions. DrWimp or AppBasic are probably friendlier to newbies, but I’m of the opinion that everyone should learn how their programs work at the fundamental level anyway. The downside is that it’s rather out of date, but the depressing thing about RISC OS is that not a whole heck of a lot about it has changed since 1992. If you’re made of free time, one of the things (as you’ve doubtless worked out by now) that we’re most badly in need of is documentation, particularly for new developers. The perspective of newcomers is often invaluable when writing this stuff, and all the experienced people are severely overcommitted to attempting to keep the OS afloat anyway. As a result, we end up with vicious circles like this one, where no documentation gets written because nobody has the knowledge, and nobody can acquire the knowledge because there’s precious little documentation. |
Jun 15, 2014
Martin Bazley (331)
379 posts
|
Topic: Community Support / Starting a task from a module written in C? Did you try Wimp_StartTask or *WimpTask? |
Jun 13, 2014
Martin Bazley (331)
379 posts
|
Topic: Bugs / ChangeFSI broken I’m not seeing a horizontal scrollbar and I’m posting on a 2DS (have new toy, will play). So I think it’s definitely you! |
Jun 12, 2014
Martin Bazley (331)
379 posts
|
Topic: Bounties / Request for community help - improved CCres tool I missed this thread when it was still current, but if help is still wanted, I might be able to offer it. My principle questions are:
|
Jun 3, 2014
Martin Bazley (331)
379 posts
|
Topic: Bugs / EtherUSB 0.13 works, EtherUSB 0.24 doesn't Sorry about disappearing from this thread back there – it was exam season, but I was going to get round to it soon, honest! Anyway, in lieu of testing the debug image like I was asked, I just installed the latest nightly build and I can confirm that it has fixed my original problem. Thanks and well done to Jeffrey! |
Jun 2, 2014
Martin Bazley (331)
379 posts
|
Topic: Aldershot / Music for coding For anyone wanting an introduction to the works of Autechre: |
Apr 30, 2014
Martin Bazley (331)
379 posts
|
Topic: Bounties / Bounty proposal: JPEG Support
So, something like the (apparently stalled) work going on in this branch of SpriteExtend then? |
Apr 26, 2014
Martin Bazley (331)
379 posts
|
Topic: Community Support / PandaboardPanda CMOS settings not being retained
No, you’re not, ROOL were. Here is the revision in which the SDCMOS module, which provided CMOS functionality for BeagleBoards and PandaBoards without the aid of additional hardware, was removed from the ROM builds for those machines. June 2013. Here is the revision in which the bug which prompted the aforementioned removal was fixed. July 2013. And here is the revision in which the drastic action of completely disabling CMOS support for all users without the CMOS add-on – such as yourself – was finally reverted. April 2014. Nine months we’ve been without CMOS support. Nine months. Eight of them completely unnecessarily. Worse, a stable release happened in that time period, which means the CMOS bug afflicts all of us who installed RISC OS 5.20 as well. Indeed, before this thread was started, I was planning to question why SDCMOS wasn’t included myself at some stage. At least it’s been fixed now. ROOL and soft-CMOS have not had a happy history together, as anyone who remembers the screed I wrote on the subject back when the SD functionality was last pointlessly disabled for an extended period of time can attest. |
Apr 14, 2014
Martin Bazley (331)
379 posts
|
Topic: Bugs / EtherUSB 0.13 works, EtherUSB 0.24 doesn't I recently upgraded my BB-xM to RISC OS 5.20, and the network connection – which had operated quite happily up to that point – threw a hissy fit. Some frantic Googling later, and I managed to fix (by which I mean bodge) the problem. If the computer is booted with EtherUSB 0.24 in ROM, then it completely fails to detect the existence of an Ethernet port. EJInfo lists the supported interfaces but goes no further. If EtherUSB is unplugged, forcing 0.13 to be softloaded from System, then it works. If EtherUSB 0.24 is RMReinited, a further call of EJInfo shows the correct information. If EtherUSB 0.24, having been loaded from ROM, is then manually RMReinited immediately before DHCP resolution starts, it works. (This was the solution I eventually went with.) And if some previous version (whatever was current in May 2012) is loaded from ROM, it works. (I say this because it was working before.) It seems I’m not the first person to have problems with later versions of this module. The RMReinit EtherUSB bodge is quite widely mentioned – this was how I discovered the cure. What is the cause of this problem? Has it been fixed in the development versions? If not, could it be? EDIT: Bleh, it’s late. Could this be something to do with the changes to USB device initialisation? If so, is there a fix for that? |
Feb 12, 2014
Martin Bazley (331)
379 posts
|
Topic: Community Support / Login and other Timestamps stored?
OS_ReadMonotonicTime returns the number of centiseconds since the machine was turned on, although I think its value can be tampered with by badly-behaved applications. There is no log of all the occasions on which it was turned on in the past, although an application which maintained one would be trivial to write.
Are you actually suggesting that RISC OS would provide no way to view the time stamp and filetype of a file? Seriously?
That depends entirely on how you are planning to view it on Windows. Windows can’t read RISC OS-formatted media. There are a number of solutions available to transfer files from RISC OS to Windows, all of which preserve the time stamp, and almost none of which preserve the filetype. The problem of Windows discarding the filetype metadata is one which bites most newbies at least once. RISC OS software will cease to work if it is allowed to get ‘infected’ by storage on a Windows device. The most common workaround is to transfer files in Zip format, which has special fields allocated in its specification for RISC OS purposes – however, this only works if the archive is both created and extracted on a RISC OS machine. Decompressing software you downloaded on Windows before transferring it to RISC OS will cause the filetype metadata to be lost. EDIT: Double ninja! |
Feb 12, 2014
Martin Bazley (331)
379 posts
|
Topic: Bugs / Forum quick fix? |
Jan 22, 2014
Martin Bazley (331)
379 posts
|
Topic: General / config.txt for Raspberry Pi
This is one of NetSurf’s most frequently asked questions. Here’s the last time I answered it: http://vlists.pepperfish.net/pipermail/netsurf-users-netsurf-browser.org/2012-September/010912.html As for software, you’re welcome to any of mine (maybe Cogs might be an interesting diversion?). I’m rather tempted to suggest MBBack, since that’ll do icon bar cropping for you, but that has a convoluted installation and uninstallation procedure, will slow down bootup and will (in normal use) give you a different backdrop every time. It’s more intended to be an optional addition than a core part of the OS. |
Jan 16, 2014
Martin Bazley (331)
379 posts
|
Topic: General / Programming forum? You can also try the Icon Bar’s programming forum. Lots of knowledgeable people hang out there. |
Dec 23, 2013
Martin Bazley (331)
379 posts
|
Topic: General / Ctrl-Break equivalent Another one that’s worth remembering is Alt-Break – the heavy artillery. For use only when an application renders the entire computer unusable. Escape is the normal way of getting out of things, though. |
Dec 19, 2013
Martin Bazley (331)
379 posts
|
Topic: General / Change to storing Pi CMOS settings
…because RTC needs to be updated when the machine is switched off, and CMOS doesn’t? Hardware CMOS is a legacy of the days when a RISC OS machine was expected to boot up with no storage devices whatsoever. It essentially does exactly the same job as a hard disc, or SD card or whatever. A Pi requires an SD card to be inserted in order to run RISC OS in the first place, so there’s zero advantage to any additional hardware. |
Dec 19, 2013
Martin Bazley (331)
379 posts
|
Topic: Code review / Proposed GraphicsV enhancements A few questions from a practical perspective: MBBack works by reading the mode variables of the current mode, reading the mode variables of an input sprite’s mode word, then creating a new sprite which has a mode word equivalent to that of the current mode. So, for example, if you display a 32bpp sprite in an 8bpp mode, it’ll get reduced to 8bpp before being passed to the Pinboard. The tricky bit is forming the new sprite mode word and allocating the correct amount of memory to hold the new sprite, and there I suspect the new formats are going to throw a spanner in the works. First off, does RO5 behave like RO6, in that for a 64K colour mode, Log2BPP is returned as 4 but additionally bit 8 of ModeFlags (“fully definable 256 colour palette”) is set to 1? Secondly, do 4096 colour modes and sprites support palettes? How much do I need to know about the new formats in order to enhance MBBack to produce them? I presume at the very least I will need to teach it about the new mode words. And how can I determine, from a mode word and set of dimensions, how much memory a sprite of any format will take? Now Log2BPP can be 6 or 7, it won’t be as simple as shifting right by 3 and word-aligning any more, will it? Could I put in a request for an enhancement to the OS APIs, assuming it doesn’t exist already and I haven’t stupidly missed it? Given a sprite mode, x and y dimensions, and masking/palette flags, calculate how much memory a sprite will occupy. This task has never been simple, and seems likely to get a whole lot more complicated. I’ve just realised that you can in fact use the value returned from OS_ScreenMode 1 as input to OS_SpriteOp 15, so I suspect I’ll be taking advantage of that in the near future. |
Dec 14, 2013
Martin Bazley (331)
379 posts
|
Topic: Code review / Feasibility of this as my first "project"? I don’t see the need for such a feature, myself (I always turn off the ‘hide extensions’ feature elsewhere, it’s asking for trouble), but I’ll tell you something which a lot of people really would find useful and shouldn’t be all that much more complex – implement an option in the Filer to turn the newly-implemented keyboard shortcuts on and off. At present, Filer windows claim the focus if you click in them, which is a change from the old behaviour and one which many people find annoying. |
Dec 12, 2013
Martin Bazley (331)
379 posts
|
Topic: General / Raspberry Pi CD Player in RISC OS Last I heard support for USB CD drives was at best still in alpha and possibly non-functional for most cases. |
Dec 9, 2013
Martin Bazley (331)
379 posts
|
Topic: Wish lists / Dual Screen Pretty sure this is waiting on the GraphicsV enhancements. |
Dec 6, 2013
Martin Bazley (331)
379 posts
|
Topic: Community Support / What file System does risc os use?
I have no idea. All I know is it’s heinously complicated, and I’m not absolutely convinced all of the implementation details have been made public.
No, but you can buy a program which does it here. |