Raspberry Pi RISC OS System Programming
Posted on February 1, 2015
“Great book. I learned the origins of RISC OS and the general usage of the OS.”
Raspberry Pi RISC OS System Programming shows you how to get the most from RISC OS on the Raspberry Pi. This book takes the lid off the RISC OS operating system and reveals how to really use it. Available in traditional print format or as a two-part eBook.
Aimed at those wishing to learn how to program RISC OS directly but are struggling with the Programmers Reference Manuals (PRMs) or simply don’t know where to start – this book will teach you everything you need to know to get the most from RISC OS and your Raspberry Pi. Providing lucid descriptions, award winning author Bruce Smith keeps things simple and includes plenty of examples you can try for yourself.
Information well presented, I am a fan of Risc OS. Bruce has a very readable style of writing. The information is well presented – Paul Dunnington
Ideas and concepts are introduced in the order required so you should never be left wondering.
Just some of the many features include:
- Filing systems including SDFS and FAT32FS
- FileCore and FileSwitch Operation
- The CLI, *Commands and the SWI interface
- Communicating with RISC OS
- Writing and using Modules
- Vectors, Interrupts and Events
- The Window Manager (Desktop) and WIMP Utilities
- The Font Manager
- The Sound System
- SoundDMA and SoundControl
- Floating Point Model
- Programming the GPIO
- Book support pages on authors website.
- The two-part eBook splits the contents into distinctive sections allowing you to learn about specific information from each section. Part 1 covers the Filing System, Command Line and Vectors and Interrupts; Part 2 covers the Sound
- System, Modules and WIMP and Font Manager. Together they contain the entire contents of the print edition.
Raspberry Pi RISC OS System Programming Revealed is your first step to understanding RISC OS and using the PRMs to full effect. Examples are provided in BBC BASIC and Assembler, all of which can be downloaded from the book support page here.
Raspberry Pi Assembly Language RISC OS: Reviews
Raspberry Pi Assembly Language: Contents List
1: Introduction
The PRMS, What You Will Learn, Assembly Language Beginners, What This Book is Not!, Compatibility, Notation In Use, Companion Website, Acknowledgements
2: About RISC OS
Operation Process, Routine Library, Extendibility, Well Supported, Programmers Tool Chest, Fitting RISC OS Together, Soft Interactions
3: Command Line Interpreter
CLI Command Syntax, Star Commands, *Help, *Configure, *Echo, *Error, *Eval, *FX (OSBYTE), *Go, *If, *Key, *Set, *SetEval, *SetMacro, *Show. *Status, *Time, *Unset, *Quit, Aliases, Obey Scripts, Command Sequence. CLIV Vector
4: Software Inrerrupts (P1)
SWI Calls, PRM Example, Inside SWIs, SWI Names, SWI Error Handling, XSWI Error Handling, Error Handling Numbering, Error Generation, OSCLI SWIs, *SWI Command
5: Communications (P1)
Input Selection, Character Input, Line Input, Keyboard Control, Output Stream, Characters Out, Conversion Routines, Numbers To Strings, Strings To Numbers, GS String Operations, MessageTrans
6: Assembler, BASIC and C (P1)
Offset Assembly, OPT Settings, BBC BASIC, The SYS Call, USR Calls, Calling XSYS, C Code, _Swi, _swix and _kernel_swi
7: Modules (P2)
Relocatable Modules. ROM Modules, Module Related, Commands, OS_Module
8: Vectors (P1)
Hardware Vectors, SWI Example, Software Vectors, Vector Lists, Joining the Vector List, Writing Vector Routines, Vectored SWI Calls, Vector Related SWIs, Post Vector Calls, Vector Details
9: Interrupts & Events (P1)
Modes of Operation, Register Arrangements, Exception Handling, MRS and MSR, Interrupts When?, Your Interrupt Decisions, Returning from Interrupts, Writing Interrupt Routines, SWI Calls During Interrupts, Enabling and Disabling Interrupts, The Primary Interrupt Vector, Events, Using an Event
10: The Filing System (P1)
Filing Systems, Naming Convention, Directories, Files on Other Filing Systems, Device Filing Systems, Load and Execute Addresses, Date Stamping, Command Files, Executing a Command File, File Types, Libraries and Search Paths
11: FileSwitch Commands (P1)
Introduction, A- Z of all Commands (*ACCESS to *WIPE)
12: Filing System Control (P1)
Directory Actions, Object Actions, Block Actions
13: OS_File SWIs (P1)
SWI descriptions
14: Open, Close, Read, Write (P1)
File Open and Close, Get and Put With Files, Get Byte From File, Put Byte To File, General Filing System Control, File Actions, Read/Write Open File Information
15: FileCore (P2)
SDFS, RAM FS, ADFS, CDFS, FileCore Commands, Fat32FS, Fat Command Line, A- Z of FAT32FS *Commands, The Filer
16: Window Manager (P2)
An Involved Process, Window Anatomy, The Co-ordinate System, SWI’s – The Stages, Wimp_Initialise, Wimp_CreateWindow, Wimp_GetWindowState, Wimp_OpenWindow, Wimp_DeleteWindow, The Polling Loop, Wimp_Poll, Co- operatively Done, Transient Callback, Reason Codes, Menu Support, The Structure of Menus, Programming Menus, Desktop Components, A Reminder
17: WIMP Utilities (P2)
Toolbox, AppBasic, Basalt, Dr Wimp, Dr Wimp C, Other Options, MultiTask
18: The Font Manager
Font Manager, Font Management, Display and Performance, An Example, Plot Options, Co-ordinate Conversion, Character and String Sizes,Printing
19: Writing Modules (P2)
Module Code Format, Workspace Memory, Command Decoding, Information Word, Module Errors, OS_Module, Program> KeyUtils, Further Details
20: Sound (P2)
Introduction, Two Bit Systems, Playing Sound, Module Driven, *Configure.
21: Sound Channels (P2)
The Voice Generator, *ChannelVoice, *Sound, *Tuning, *Voices, *Volume, Sound SWIs
22: Shared Control (P2)
SharedSound, SoundScheduler, *Qsound, *Tempo, SoundControl, *Mixvolume, SoundCtrl SWI
23: SoundDMA (P2)
*Audio, *Stereo, *Speaker, *Soundgain, Sound SWI, Linear Handlers
24: Floating Point Model (P2)
VFP Architecture, The Register File, Context Operations, RISC OS VFP Support, Summing Up
25: GPIO Action (P2)
The GPIO Controller, Building The Code, Virtual Memory, Using and Updating, Other GPIO Functions, GPIO Module, And Finally…