log in | register | forums
Show:
Go:
Welcome
The Icon Bar is the longest running RISC OS portal. The sensibilities that Acorn instilled in us still influence our interests and writing.

Buy swag
Got news?
Let us know!
Bob and Trev: Resurrection
Bob and Trev: Resurrection
A dystopian Acron roguelike written in 7 days and 32K
Subscriptions RSS Feeds
RSS 2.0 | 1.0 | 0.9
Atom 0.3
Misc RDF | CDF
Podcasts
Subscribe | iTunes | List
Latest MP3
Site Search
 
Article archives

Testing on RISC OS

Posted by Charles Justin Ferguson on 09:00, 28/5/2021 | ,
 

Introduction

It's my belief that when writing RISC OS software, people don't consider writing code that is testable (ie abstracting it to modules that have discrete testable elements)... which means that their code is mixed into the logic of the harness that it lives within (whether that be command line, RISC OS module, desktop tool or whatever), and thus means that they argue that it's not possible to do testing easily.
 
The argument that they cannot easily test desktop applications is reasonable - but only to that point. Testing an application in the desktop is a form of system testing, and requires you to actually be able to automate those operations that a user might perform. There are tools for RISC OS, like KeyStroke, which allow system testing, and of course others could be written. But it's not commonly done. Doing system testing, though, is a later state of automated testing, usually preceded by Unit testing and Integration testing.
 
Similarly, it is a fact that testing modules which execute in SVC mode can be difficult. If something goes wrong, the machine may just die. This is also a system test - the product is being tested as a whole.
 
Unit testing exercises the smallest units of the code. Integration testing brings those units together to test them in combination. Then system testing puts the whole together and tests the product's functionality. Usually there's system integration testing above that, where you're testing not just the product, but the product's interactions with the systems that it will actually be used in - the desktop, possibly in conjunction with real hardware.
 
Knowing what these are, how does this help with testing a module or desktop application? Well, all applications consist of interaction points where the user (who in the case of a module, might be another program) does something, and the application or module acts on it. In general these points are wired to the Wimp_Poll loop, or module entry points (SWIs, services, commands). Well structured applications and modules will have the work within those Poll entry and module entry points set up to just call internal functions. Those internal functions do the actual work, so it's easy to see how you might split off the code to test those internal functions.
 

Continue reading "Testing on RISC OS" | Comment in the forums

CodeCraft returns

Posted by Jeffrey Lee on 17:30, 3/5/2021 | , , ,
 
After a 20 year hiatus, the CodeCraft RISC OS demo coding competition is back, with CodeCraft #4. Like the previous instalments, the competition focuses on small programs, fitting into one of the following categories:
  • 256 byte intro or game
  • 1KB intro or game
  • 2KB tool
  • 4KB intro or game
The deadline for submissions is October 3rd, so there's plenty of time to get in your entry (or entries). Questions and submissions should be sent to Kuemmel via the email found in the "A Call to the ARMs" intro ReadMe.
 
If you're new to CodeCraft, make sure to check out the CodeCraft #3, #2 and #1 websites to see the entries from the previous instalments.
 
Comment in the forums

Acorn Preservation Team want to help archive your old data before it's too late

Posted by Andrew Poole on 10:00, 8/3/2021 | , , , ,
 
Matthew Atkinson's Source DiscsThe need to preserve data from the BBC Micro days is becoming more and more urgent as time goes by since many of the discs are now well over 35 years old and many will be starting to degrade - if they haven't already. During this weekend's all-day ABug event, the Acorn Preservation Team gave an update on their recent project to recover the data from the original source code discs for several of Matthew Atkinson's games for the BBC Micro including Repton 3, UIM, Tempest and The Living Daylights.
 
The Acorn Preservation Team are also encouraging anyone who may have some old discs containing anything that is in need of recovery/preservation/archival to get in touch and loan the discs to them to help make sure the data isn't permanently lost. In particular, the team are interested in development discs containing sources, binaries, unreleased/missing/early versions of games and applications for both the BBC and RISC OS platforms.
 
In the case of Matthew Atkinson's discs, they were passed over to the Acorn Preservation Team a few weeks ago when they turned up here at TIB Towers after having been presumed lost by the author. It turned out that he'd in fact sent them to TIB back in the early 2000s where they were stored for the last fifteen years before turning up during a recent house move.
 
Once we'd sent the discs over to them, the Acorn Preservation Team set to work recovering the data contained within. This task wasn't entirely straightforward as some discs were showing the effect of their advancing age. One disc had damage that looked like it had seen an impact at some point in its life and sported a dent covering around 11 tracks of data. Despite this, the team were able to recover almost all of the data from the 22 disc set using a variety of methods including flux-level readings and analysing low level analogue signals from the discs. At the time of writing, only a handful of tracks from the dented disc remain to be recovered and are still being actively worked on. The data recovered so far has been provided back to Matthew Atkinson to have a look through and decide what he'd like to do with the soruces next.
 
A State of Flux talk
Phil Pemberton and Chris Evans talk about the process of recovering data from Matthew Atkinson's source discs at this weekend's ABug event

 
The ABug talk from the Acorn Preservation Team will be made available through both the ABug website and their new YouTube channel in the near future along with a talk by Matthew Atkinson himself on the history of his BBC Micro and Archimedes development days.
 
If you have any old discs in need of preservation, whether BBC Micro era or Archimedes/RISC OS, the Acorn Preservation Team urge you to get in touch via the Stardot forums or the Software Preservation channel in the Stardot Discord Server before it's too late and the data's gone forever.
 
Comment in the forums

Pass the time this Christmas with a selection of RISC OS and BBC Micro talks

Posted by Andrew Poole on 09:00, 26/12/2020 | , , , , , , ,
 
ABug logoWhat better way to spend your free time this Christmas while we're not allowed to go anywhere than to sit back, relax and enjoy some interesting presentations on a variety of Acorn and RISC OS topics?
 
Since 2014, ABug - the Acorn and BBC Micro User Group - have been holding regular events featuring talks on a wide range of topics relating to Acorn and RISC OS computers, both as in-person events and more recently as virtual events. We've selected a few of our favourites in this article, but the ABug website has a lot more talks available to choose from.
 
Continue reading "Pass the time this Christmas with a selection of RISC OS and BBC Micro talks" | 1 comment in the forums

Adventures in Optimisation - Walls

Posted by Jeffrey Lee on 09:00, 25/5/2020 | ,
 
Continuing in my quest to optimise my RISC OS port of NBlood, I've recently been taking a look at the rendering code. Specifically, the top functions in my profiler's output: the vertical line drawing routines, which are used to draw walls and sprite-based entities.
 
 
Continue reading "Adventures in Optimisation - Walls" | 3 comments in the forums

Adventures in Optimisation - Audio mixing

Posted by Jeffrey Lee on 09:00, 5/7/2019 | ,
 
Welcome to the first in a (very) infrequent series of articles about optimisation. In this article I'll be looking at audio mixing in C/C++ using GCC 4.7.4, running benchmarks of various routines and optimisations across multiple machines in order to work out what works well and what doesn't.
 
 
Continue reading "Adventures in Optimisation - Audio mixing" | 3 comments in the forums

David Pilling Treasure Trove

Posted by Mark Stephens on 07:02, 18/1/2019 | ,
 
If you are looking to learn about software, there is a treasure trove of source code and resources available on the Internet.
 
One of the more interesting resources is from David Pilling. He is something of a RISC OS legend (being behind OvationPro and many critical tools for RISC OS). His website lists his software and also includes several free utilities.
 
There is also an interesting section for 'retired' software here. Rather than just let the packages disappear, the source code is now available for all the ArcFax, Panorama, SparkFS and many other former commercial applications. Enjoy digging....
 
[Updated 18 January] Thanks to Sprow for pointing out SparkFS does not include source code
 
David Pilling website
 
Comment in the forums

PackMan in practice, part 2

Posted by Jeffrey Lee on 09:00, 16/11/2018 | , , ,
 
As mentioned at the end of part one, this article about creating PackMan packages is going to look at what's necessary to generate distribution index files, ROOL pointer files, and how these tasks can be automated. Towards the end I'll also be taking a look at some options for automating the uploading of the files to your website.
 
 
Continue reading "PackMan in practice, part 2" | 1 comment in the forums

GPS becomes Data Logger

Read article... | 2 comments in the forums

PackMan in practice

Read article... | Comment in the forums

The state of PackMan in 2018

Read article... | Comment in the forums

Getting started with Bash on RISC OS

Read article... | 1 comment in the forums

Power Switching a RaspberryPi

Read article... | 1 comment in the forums

DDE tools update released

Read article... | 4 comments in the forums
Recent discussions
- July News round-up (News:)
- AMCS free versions are live! (Gen:26)
- Cogwheel graphic? (select switcher Icon) (Gen:17)
- Rougol July talk (News:)
- Iris July update (News:2)
- July Rougol meeting goes hybrid (News:)
- FOURtress reviewed as a Linux machine (News:1)
- TextEase Reviewed - Turtle Graphics (News:1)
- June News Round-up (News:)
- Rougol June Talk - RISC OS...RM days with Mike Stephens (News:3)
Services
- Free ads
- Web hosting
Sites we like
- pagetable.com
- Ganymede & Titan
- Daring Fireball
- Drobe
- Kotaku