Skip to content

Commit 43c3b76

Browse files
authored
Merge pull request #1 from RISC-OS-Community/develop
cumulative merge request of latest checnges from Develop to Main branch
2 parents 80bf06d + cd734c0 commit 43c3b76

File tree

5 files changed

+254
-0
lines changed

5 files changed

+254
-0
lines changed

README.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# Everything Coding on RISC OS
2+
3+
This repository contains and organize all the resources we are aware of to share and provides info to learn and/or improve how to code on RISC OS and ARM platform.
4+
5+
For the Github experience people this repo is the equivalent of the many "awesome-resources" repo for other OS/platforms/languages. So please feel free to add what you think would make it better!
6+
7+
## Repository organization
8+
9+
The repository is organised in multiple levels:
10+
11+
* [Resources List](doc/RISCOSCodingResources.md)
12+
* [Ideas](doc/RISCOSCodingMeetingsIdeas.md) for meetings (we provide Zoom based monthly meetings with presentations on everything coding on RISC OS)
13+
* [Forums](doc/RISCOSCodingForums.md) where to ask questions related to code on RISC OS
14+
* [RISC OS Coding meetings](doc/RISCOSCodingMeetings.md) material
15+
16+
## Contributing
17+
18+
Everyone is welcome to help us to improve the resources list and have more ideas for the meetings as well as let us know if you're willing to commit to provide courses, presentations and/or sharing your experience of coding on RISC OS.
19+
20+
### How to contribute
21+
22+
Follow the general instructions [here](CONTRIBUTING.md) and update the docs in `doc` directories as you feel appropriate. When done request a `Pull Reuqest` so we can review your changes and approve them, thanks!
23+
24+
Enjoy! :)

doc/RISCOSCodingForums.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# RISC OS coding forums
2+
3+
Here is a list of RISC OS related Forums where to ask for help with programming issues:
4+
5+
* ROOL Forum (RISC OS Open Forum)
6+
* [Community Support](https://www.riscosopen.org/forum/forums/11)
7+
* [Code Reviews](https://www.riscosopen.org/forum/forums/3)
8+
9+
* StarDot Forums
10+
* [Programming](https://stardot.org.uk/forums/viewforum.php?f=54), unfortunately stardot mixes together RISC OS and older Acorn platforms, so this forum may appear confusing, however there are good information
11+
* [32-bit Acorn software](https://stardot.org.uk/forums/viewforum.php?f=29), another useful resource which (again) is a bit mixed up between people's programs and traditional commercial applications for RISC OS
12+
13+
* Google Groups
14+
* [Sys.Acorn.Programmer](https://groups.google.com/g/comp.sys.acorn.programmer), good resource of info and place to ask coding and programming related questions
15+
16+
* Acorn.de (German forum, in English language)
17+
* doesn't appear to have a programming section
18+
19+
Other non active resources
20+
21+
* Cloverleaf RISC OS Developer Forum
22+
* [RISC OS Dev forum](https://www.riscosdevforum.com/), it seems to have only few posts mostly from Cloverleaf themselves, but it has a useful section on how to recompile GCC 10 for the GCCSDK project, which can be very useful
23+

doc/RISCOSCodingMeetings.md

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
# RISC OS Coding Zoom Meetings
2+
3+
As part of the effort in this repo we are also trying to organize a set of zoom meetings for people to share, discuss, present:
4+
5+
* How-To coding on RISC OS in various programming languages
6+
* How-To use tools and utilities to help programming workflows
7+
* Share personal workflows used to produce software for RISC OS
8+
* Explore possibilities and methodologies
9+
* Analyze existing code (where licensing allow this!)
10+
* Present solutions to problems from a coding perspective
11+
* Produce mini programming courses to help beginners to learn more
12+
13+
## Meetings organization
14+
15+
Each meeting is:
16+
17+
* organized in 2 parts
18+
* 1st part (beginners) dedicated to learn how to code on RISC OS (presentations from various community members on how to code on RO in various languages)
19+
* 2nd part (advanced) dedicated to people to share their code, techniques, workflows etc. Everyone can take the mic here and share what we are working on and present projects (please note: it’s a coding meeting, so code needs to be showed! it’s not about selling things!), we can also go “round table” and everyone can share their progress and struggles in their coding journey/project.
20+
21+
Meetings are recorded.
22+
23+
Recordings will be split too, so people willing to watch on YouTube will have an easy life to find what they need.
24+
25+
Meetings are informal. So, no need to prepare ultra-professional presentations, however using slides and diagrams to explain concepts is welcome and we recommend to ensure always to show code in a "show and tell" form.
26+
27+
Presentations can be pre-recorded to help the presenter or to make it easy to show processes that may take long time, however, in these cases, we'd recommend the presenter to also be in the live meeting for the Q&A session at the end of their presentation.
28+
29+
Meetings should take place once a month. Dates and time are being worked on at the moment.
30+
31+
## How can I present?
32+
33+
It's very simple, just let us know what you'd like to present and give us an ideas of the time it will take you to be ready with your material, so we can schedule your presentation on the meetings' calendar.
34+
35+
Ensure you have equipment to share your slides and code (doesn't necessarily needs to be live-code running on a system).
36+
Where a presentation is on a methodology and has no code, it's ok not to have code to share, but again if you need to present a product to a general audience then we'd recommend to use RISC OS general meetings which are organised quite often by all the various RISC OS clubs in UK and EU. Meetings here are to share coding knowledge and methodologies to solve problems, not to sell products.
37+
38+
## How can I request a meeting subject?
39+
40+
At the moment the discussion is on the ROOL forum [here](https://www.riscosopen.org/forum/forums/5/topics/17493?page=1). However, given that a forum topic is hard to track over a long period of time, we recommend to use "Issues" menu here on GitHub at the top to open a "feature request".
41+
42+
## Types of subjects so far
43+
44+
Have a look [here](RISCOSCodingMeetingsIdeas.md) for a detailed list of meeting subjects already requested.

doc/RISCOSCodingMeetingsIdeas.md

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
# Everything coding on RISC OS meetings ideas
2+
3+
This document collects all the proposed ideas for the zoom meetings.
4+
5+
Each zoom meeting is divided in two parts:
6+
7+
1) Beginners
8+
2) Advanced
9+
10+
In the beginner part we provide presentation and Q&A sections for whoever is learning how to code on RISC OS.
11+
In the advanced part more advanced presentation and coding discussions take place. Also the advanced part has a Q&A section at the end, in case it's a presentation.
12+
13+
## Ideas for the presentations and mini courses
14+
15+
### Beginners
16+
17+
* Mini course on programming in BBC BASIC on RISC OS
18+
* Mini course on programming in C on RISC OS
19+
* Mini course on moving from BBC BASIC to C on RISC OS?
20+
* Mini course on programming in Lua on RISC OS
21+
* Mini course on programming in Python on RISC OS
22+
* Mini course on designing multi-tasking applications on RISC OS
23+
* Mini course on improving C syntax and form
24+
* Mini course on developing 2D games on RISC OS
25+
* Mini course on programming in C++ on RISC OS?
26+
27+
### Advanced
28+
29+
* Writing TaskModules
30+
* Writing Device Drivers for RISC OS
31+
* Writing DLLs for GCC
32+
* Writing Demos for RISC OS
33+
* Mini course on coding optimisation for BBC BASIC programmers
34+
* Mini course on coding optimisation for C programmers
35+
* Debugging techniques for BBC BASIC programmers
36+
* Debugging techniques for C developers
37+
* Debugging techniques for C++ developers
38+
* Using Jeffrey's SMP library
39+
* Building RISC OS Operating System
40+
* Introduction to Simon's C kernel?
41+
* Using ARM NEON instructions in BBC BASIC
42+
* Using ARM NEON instructions in C
43+
* Using Dynamic Linking in Lua
44+
* Creating new binary extensions for Lua
45+
* Creating new binary extensions for Python

doc/RISCOSCodingResources.md

Lines changed: 118 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,118 @@
1+
# RISC OS Coding Resources
2+
3+
What follow is a list of resources organised by programming language. There is also a list of generic info for everyone who needs an introduction to programming in general (aka who has no idea of how to code at all).
4+
5+
## Introduction to programming
6+
7+
### Introduction to computer programming
8+
9+
This section is for absolute beginners and we list a set of useful resources (in order of from absolute 0 to some degree of knowledge) to help everyone who have no basic knowledge of computer programming in general.
10+
11+
* Code: The Hidden Language of Computer Hardware and Software (2nd edition) available [here](https://www.amazon.co.uk/Code-Language-Computer-Hardware-Software-dp-0137909101/dp/0137909101/ref=dp_ob_title_bk)
12+
* The Art of Computer Programming (TAOCP) – Donald Knuth This is considered by many the bible of computer programming, it’s a set of multiple volumes, more info [here](https://en.wikipedia.org/wiki/The_Art_of_Computer_Programming)
13+
* Pragmatic Programmer, more info [here](https://www.amazon.co.uk/gp/product/B07VRS84D1?storeType=ebooks&pf_rd_p=d86bed0e-a872-45e2-bd93-7030c464dfa5&pf_rd_r=ASQYRTBVF8KNA89RFW4R&pd_rd_wg=Gfd2M&pd_rd_i=B07VRS84D1&ref_=dbs_r_recs_reads_cwrtbar_typ_r_0&pd_rd_w=p5KPV&content-id=amzn1.sym.d86bed0e-a872-45e2-bd93-7030c464dfa5&pd_rd_r=7f817fc3-7572-452d-8b80-270375a019f6)
14+
* Clean code, you can find more info [here](https://www.amazon.co.uk/Clean-Code-Handbook-Software-Craftsmanship/dp/0132350882/ref=pd_lpo_1?pd_rd_i=0132350882&psc=1)
15+
16+
### Introduction to Software Engineering
17+
18+
This section is more about software development processes and collaboration with other people.
19+
20+
* Introduction to Software Engineering, available free [here](https://www.geeksforgeeks.org/software-engineering-introduction-to-software-engineering/)
21+
* Clean Architecture, more info [here](https://www.amazon.co.uk/Clean-Architecture-Craftsmans-Software-Structure/dp/0134494164)
22+
* Software Development: Introduction to code testing, free article available [here](https://paolozaino.wordpress.com/2021/06/20/software-development-introduction-to-code-testing/)
23+
24+
### RISC OS Developer information
25+
26+
* 4corn.co.uk excellent collection of old manuals for RISC OS Developers all available free and in PDF format, download them from [here](https://4corn.co.uk/articles/docs/#dev)
27+
* RISC OS PRM (Programmer Reference Manuals) modern (RISC OS 5) and updated editions are available from RISC OS Open [here](https://www.riscosopen.org/content/sales/dde)
28+
* RISC OS 3,4 and 6 developers info are available for free [here](http://riscos.com/support/developers/index.htm)
29+
* Beginners guide to WIMP development available for free [here](http://riscos.com/support/developers/wimpprog/index.htm)
30+
* Acorn Archimedes Games developer guide available for free [here](http://riscos.com/support/developers/agrm/index.htm)
31+
* RISC OS Info, a very useful and rich source of info for developers, you can find it [here](http://www.riscos.info/index.php/Introduction_to_RISC_OS)
32+
* Useful info about the RISC OS "Nested WindowManager", a must read to understand how to write slightly more "modern-ish" looking desktop Apps on RISC OS, you can find the article [here](http://www.vigay.com/inet/acorn/nested.html)
33+
34+
**Please Note:** Everyone interested on coding on RISC OS should ALWAYS have a copy of all the **PRM** handy and ready to be used.
35+
36+
## Programming in Ada on RISC OS
37+
38+
* Ada 95 A guide for C and C++ programmers, free pdf available [here](https://www.cs.uni.edu/~mccormic/4740/guide-c2ada.pdf)
39+
* Programming in Ada (In German language, but Google Translator seems to translate it ok), more info [here](http://legacy.huber-net.de/adagag.htm)
40+
* Ada and RISC OS, more info [here](http://legacy.huber-net.de/ada_e.htm)
41+
* Ada library for RISC OS, more info [here](http://legacy.huber-net.de/adalio_e.htm)
42+
* Ada class library for RISC OS, more info [here](http://legacy.huber-net.de/adalin_e.htm)
43+
44+
## Programming in ARM32 Assembly on RISC OS
45+
46+
## Programming in Bash on RISC OS
47+
48+
* How to program in Bash Shell, more info [here](https://opensource.com/article/19/10/programming-bash-syntax-tools)
49+
50+
## Programming in BBC BASIC on RISC OS
51+
52+
* BBC BASIC V (A Dabhand Guide), available free [here](http://www.riscos.com/support/developers/basicv/index.htm)
53+
* BBC BASIC Reference (ROOL Edition), available free [here](https://www.riscosopen.org/zipfiles/platform/common/BASICRefManual.3.pdf)
54+
55+
## Programming in C on RISC OS
56+
57+
* ANSI C99 Standard specification
58+
* One PDF is available [here](https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=&cad=rja&uact=8&ved=2ahUKEwie0-bz67D6AhVIRUEAHR6qD5gQFnoECAkQAQ&url=https%3A%2F%2Fframa-c.com%2Fdownload%2Facsl_1.2.pdf&usg=AOvVaw21rxBMwz7xG7-8PZZ-G17y)
59+
* C Pocket Reference, more info [here](https://books.google.co.uk/books/about/C_Pocket_Reference.html?id=MoGYDwAAQBAJ&hl=en&output=html_text&redir_esc=y)
60+
* Harbison, S P and Steele, G L, (1994) A C Reference Manual, (fourth edition). Prentice-Hall, Englewood Cliffs, NJ, USA. ISBN 0133262243.
61+
* Kernighan, B W and Ritchie, D M, (1988) The C Programming Language (second edition). Prentice-Hall, Englewood Cliffs, NJ, USA. ISBN 0-13-110362- 8. This is the original C ‘bible’, updated to cover the essentials of ANSI C too.
62+
* Koenig, A, (1989) C Traps and Pitfalls, Addison-Wesley, Reading, Mass, USA. ISBN 0201179288.
63+
* Acorn/Castle/ROOL DDE C Manual (it's distributed with the DDE - Desktop Development Environment Compilers collection from RISC OS Open), more info [here](https://www.riscosopen.org/content/sales/dde)
64+
* Older copy of the Acorn ANSI C manual, you can find it [here]()
65+
* Steve Fryatt excellent introduction to WIMP programming in C on RISC OS, you can find it [here](https://www.stevefryatt.org.uk/risc-os/wimp-prog)
66+
67+
## Testing libraries for C code (can be used also to test C++ code)
68+
69+
* mUnit port to RISC OS, available [here](https://github.com/RISC-OS-Community/mUnit)
70+
* GreaTest port to RISC OS, available [here](https://github.com/RISC-OS-Community/GreaTest)
71+
72+
## Programming in C++ on RISC OS
73+
74+
At this time ROOL DDE is still based on the original AT&T CFront release 3.0 (they just added few fixes here and there), While RISC OS 5 also has GCC 4.7.4 which supports up to early C++11 (not complete and exceptions do not work well on RISC OS). If you are after more modern C++ standards please have a look at the GCCSDK project.
75+
76+
### General C++ useful sources
77+
78+
* Stroustrup, B, (1991) The C++ Programming Language, (second edition). Addison-Wesley, Reading, Mass, USA. ISBN 0-201-53992-6.
79+
* Ellis, A and Stroustrup, B, (1990) The Annotated C++ Reference Manual. Addison-Wesley, Reading, Mass, USA. ISBN 0-201-51459-1.
80+
81+
### DDE C++
82+
83+
* CFront Reference manual, available [here](https://www.softwarepreservation.org/projects/c_plus_plus/cfront/release_2.0/doc/ProductReferenceManual.pdf)
84+
85+
### GNU GCC
86+
87+
* A set of tutorial videos from James Hobson on using GCC 4.7.4 on RISC OS and how to get till building WIMP Apps, you can find it [here](https://www.youtube.com/watch?v=ALiMp-GHIX4)
88+
* GCC For RISC OS, A short intro on riscos.info, you can find it [here](https://www.riscos.info/index.php/GCC_for_RISC_OS)
89+
* GCC Tutorial for RISC OS, a short tutorial on riscos.info, you can find it [here](https://www.riscos.info/index.php/GCC_tutorial)
90+
91+
### The GCCSDK Project
92+
93+
This is a cool project, for the ones that prefer to use Linux based tools to code for RISC OS.
94+
95+
More info [here](https://www.riscos.info/index.php/Using_GCCSDK)
96+
97+
## Programming in Dash on RISC OS
98+
99+
## Programming in Forth on RISC OS
100+
101+
## Programming in Haskell for RISC OS
102+
103+
## Programming in LISP on RISC OS
104+
105+
## Programming in Lua (RiscLua) on RISC OS
106+
107+
### RiscLua interpreter
108+
109+
* Pre-built binaries [here](http://www.wra1th.plus.com/lua/risclua.html)
110+
* Source code [here](https://github.com/RISC-OS-Community/RiscLua)
111+
112+
## Programming in Obey (RISC OS scripting)
113+
114+
## Programming in Python
115+
116+
## Programming in Prolog on RISC OS
117+
118+
## Programming in SmallTalk on RISC OS

0 commit comments

Comments
 (0)