Skip to content

[Tasks]: Basics of coding on RISC OS, level 3 #37

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
1 task done
rps102 opened this issue May 24, 2023 · 1 comment
Open
1 task done

[Tasks]: Basics of coding on RISC OS, level 3 #37

rps102 opened this issue May 24, 2023 · 1 comment
Labels
enhancement New feature or request

Comments

@rps102
Copy link

rps102 commented May 24, 2023

Contact Details (optional)

No response

Background

Level 1: Getting the source (from Git)
Level 2: Making system calls to flash an LED

This task outlines level 3 of the course, a little bit harder, building on levels 1 and 2. Based on feedback given at the meeting where level 2 was shown and comments on the videos this next instalment should:

  • Continue to be single tasking/command line based
  • Comprise more than 1 source file (as a means to introduce using a makefile, or needing to link 2 or more objects together, or the equivalent in the respective language, eg. LIBRARY in BASIC)
  • Comment on where to find background material in the PRMs or StrongHelp manuals (rather than just pulling magic numbers out of the air)
  • Handle the error return from a _swix call (or equivalent, eg. SYS in BASIC)
  • Use file I/O (contrasting the language built ins like fopen() or OPENIN with SWI OS_File and OS_Find)

A tutorial example which takes a sprite or JPEG, queries its dimensions, and prints them to the console. With a suitable framework this could be extended for other types by the avid reader like PNG or GIF, and take the general form

*ImageInfo <imagefile>

At level 2 we presented (in order of most number of views first)

  1. Assembler (gas syntax, ObjAsm optional)
  2. C (with the DDE, gcc optional)
  3. C++ (in CFront, g++ optional)
  4. Python
  5. BBC BASIC
  6. Lua

Don't be limited by these 6 though! All languages for which there is a RISC OS variant are up for grabs if volunteers have a particular area of interest they'd like to produce.

Definition of Done

Paolo has kindly offered to 'top & tail' any videos submitted.

The meeting to review this topic is 03-Jun-2023, so ideally material needs to be complete by 27-May-2023 to give time for editing.

This task would be complete once the new level 3 videos are edited and available on youtube for developers.

Code of Conduct

  • I agree to follow this project's Code of Conduct
@rps102 rps102 added the enhancement New feature or request label May 24, 2023
@pzaino
Copy link
Contributor

pzaino commented May 26, 2023

@skymandr , @GavinWraith , @ccawley2011 , @InteractiveYelp , @gerph anyone interested in making a video for this round?

Sorry I am out for work in a different country, so communications may have some time difference.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants