RISC-OS-Community/CodingOnRISC-OS

[Tasks]: Basics of coding on RISC OS, level 4

rps102 opened this issue · 4 comments

Contact Details (optional)

No response

Background

Level 1: Getting the source (from Git)
Level 2: Making system calls to flash an LED
Level 3: A command line tool to give info on Sprites/JPEGs split across several source files

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

Progress to using the Window Manager. This could take one of several forms:

  • A simple call to Wimp_Initialise and get the icon bar icon set up, files dragged to the icon are analysed with the same ImageInfo code from the previous tutorial and the result thrown as a Wimp_ReportError box or just run in a command window
  • Same as for Wimp SWIs but instead using Toolbox_Initialise
  • Using the FrontEnd module provided in !System to give the application an icon bar icon and simple UI based on a textual description
  • Regardless of the approach (or all 3!) the tutorial should explain the concept of application directories and their typical contents of !Boot !Run !Sprites and so on
  • This is a further opportunity to exercise makefiles, in particular the CApp shared makefile can put together common layout C or assembler applications, or BasicApp for stuff in BASIC
  • Suggested name !ImageInfo only because that was the command line tool name

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

  1. C (with the DDE, gcc optional)
  2. C++ (in CFront, g++ optional)
  3. Assembler (gas syntax, ObjAsm optional)
  4. BBC BASIC
  5. Python
  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 08-Jul-2023, so ideally material needs to be complete by 01-Jul-2023 to give time for editing.

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

Code of Conduct

  • I agree to follow this project's Code of Conduct
c-jo commented

Do we want to include libraries in this? For example python has the riscos-toolbox library which simplifies desktop application creation.

My 0.5c is yes, we could include libraries as long as:

  1. They are included with the interpreter/compiler or they are easy to download for everyone (on !PackMan or ROOL/riscos.info websites)
  2. They are still maintained (so no libraries that are only for RO 3 for example), ideally libraries that still run on all versions of RISC OS
  3. They have some documentation (so users that want to dig more don't necessarily rely solely on our videos)
c-jo commented

I'd best address point 3 then :)

Just for reference, the next 'Coding on RISC OS' meeting is scheduled for 12-Aug-2023 if having a date to work towards helps focus the mind.