Skip to content
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

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

Open
1 task done
rps102 opened this issue Jun 19, 2023 · 4 comments
Open
1 task done

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

rps102 opened this issue Jun 19, 2023 · 4 comments
Labels
enhancement New feature or request

Comments

@rps102
Copy link

rps102 commented Jun 19, 2023

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
@rps102 rps102 added the enhancement New feature or request label Jun 19, 2023
@c-jo
Copy link

c-jo commented Jun 22, 2023

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

@pzaino
Copy link
Contributor

pzaino commented Jun 22, 2023

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
Copy link

c-jo commented Jun 22, 2023

I'd best address point 3 then :)

@rps102
Copy link
Author

rps102 commented Jul 10, 2023

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.

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

3 participants