This section contains information aimed at developers who are writing software to run on RISC OS. table(bordered). |_\2<^. General documentation| |<^{width:20em}. [[Programmer's Reference Manuals]] |<^. Core OS API documentation| |<^. [[Style Guide]]|<^. Information for developers on RISC OS GUI conventions| |<^. "Resource allocation":/content/allocate |<^. How to allocate module names, SWI chunks, etc. | |<^. [[Individual specifications]]|<^. Documentation for components not yet included in the reference manual| |<^. [[ARMv7 compatibility primer|ARMv6+ compatibility primer]] |<^. Things to watch out for when updating Iyonix compatible software to run on the CPUs that are used in newer machines | |<^. [[Notable CPU bugs]] |<^. CPU bugs that are relevant to application and OS developers | table(bordered). |_\2<^. Guides and tutorials | |<^{width:20em}. [[RISC OS Packaging Guide]] |<^. How to package programs for automatic install and upgrade with PackMan | |<^. [[Converting older software to run on 32 bit systems|32bit conversion guide]] |<^. How to update old (pre-RISC OS 5) software to run on 32 bit systems (_work in progress_) | |<^. [[A BASIC guide to ObjAsm]] |<^. An ObjAsm tutorial aimed at BASIC assembler users (_work in progress_) | |<^. [[Debugging guide]] |<^. A guide to the different methods that are available for debugging programs | |<^. [[Using C in assembler components]] |<^. Using assembler from C is easy, using C from assembler is harder | h2. See also The [[Developer documentation]] section contains documentation aimed primarily at developers who are making changes to the OS source code. However some areas may also prove useful to ordinary application programmers.