User avatar
DavidS
Posts: 3009
Joined: Thu Dec 15, 2011 6:39 am
Location: USA
Contact: Website

Re: RISC OS C Development Tutorial Series

Mon Oct 31, 2016 12:34 am

@yobson:

As I am already downloading the videos, I could talk to David Feugey for you (the DFeugey that responded earlier in this thread), and see if he would be willing to host the videos for download (to benefit RISC OS users). I already have a sub-domain of his server, though my site is so slow moving it is unlikely to draw any attention (and I am doing a complete rewrite of my site at this time).

Also would you mind if I convert the videos from MP4 into standard MPG at a slightly lower resolution (MPG to easy playing, and lower res to reduce the file size).

One modification you may wish to consider is to record future videos with the RISC OS monitor resolution set to something like 1024x768 or 800x600 so that it is easier to read the monitor from the recorded video.

It would help if you also talk to him, as you are the original author of these tutorials.

I think you are doing a great job with your video tutorials, though for me a bit dry (as I already know C and RISC OS). I do believe they would be quite engaging for someone new to C and programming for RISC OS.

There are a number of open statements in your videos, that I wish I could help you with, though I seem to forget what you say you do not know before I have a chance to form a response. I may have to watch them over and take notes, maybe, then I could possibly answer a few of the questions you have about the function of portions of the RISC OS API.

At the moment I just rebooted into Linux so I can download your latest videos, will be going back to RISC OS as soon as the downloads are done.
ARM BASIC: For the love of Simplicity, Fast Interpreted BASIC, and Assembly Language.
Always KISS Keep It Simple Silly.

SEDev
Posts: 34
Joined: Thu Aug 02, 2012 10:55 pm

Re: RISC OS C Development Tutorial Series

Mon Oct 31, 2016 12:38 am

A really nice set of tutorials, I enjoyed watching them. Keep 'm coming!

I do have a few pointers (pun intended) to make life even easier.

Get yourself a copy of the LineEditor module so that you can use command recall. Much easier than retyping the last command each time (or maybe that's just me being more lazy :-).

Using an Obey file on the Pinboard is a definite improvement but it would be even better to tie it the Run icon on StrongED's toolbar. Then you can simple click on the Run icon to start a compile, it could even save the text first.

To create an Obey file it's best to use the Obey mode. The route BaseMode -> Obey is no longer available in the version that is currently in development.

Another great help is throwback, especially when you have multiple source files, as it allows you to quickly jump to the file + line where an error occurred. Perhaps a topic for a future tutorial?

BTW StrongED is pronounced strong-ed not strong-e-d.

User avatar
DavidS
Posts: 3009
Joined: Thu Dec 15, 2011 6:39 am
Location: USA
Contact: Website

Re: RISC OS C Development Tutorial Series

Mon Oct 31, 2016 7:59 am

Just watching video 6:

If you add the line:

Code: Select all

Dir <Obey$Dir>
to the beginning of your obey file to build the program (you named the obey 'make'), then it will set the directory for you. And you will be able to double click on the obey file to build, no more star commands manually entered, and no more need to manually set the directory.
ARM BASIC: For the love of Simplicity, Fast Interpreted BASIC, and Assembly Language.
Always KISS Keep It Simple Silly.

yobson
Posts: 20
Joined: Wed Sep 14, 2016 6:31 pm
Location: Leeds
Contact: Website

Re: RISC OS C Development Tutorial Series

Mon Oct 31, 2016 8:55 am

DavidS wrote:Just watching video 6:

If you add the line:

Code: Select all

Dir <Obey$Dir>
to the beginning of your obey file to build the program (you named the obey 'make'), then it will set the directory for you. And you will be able to double click on the obey file to build, no more star commands manually entered, and no more need to manually set the directory.
I do see your point. But I changed it so there could be one shortcut and then the terminal with enough memory allocated for GCC could be used for any project in any folder with the set directory command.

**EDIT**
I didn't explain myself well!
The idea is that I'm doing things very verbosely for the purposes of the tutorial. You are right of course! I think you all know RISC OS better than I and especially better than the target audience. These videos are to get people from all computer backgrounds hooked on RISC OS development cause that's what RISC OS deserves!

Out of interest guys, can you tell me how you all got into RISC OS? I am too young to remember it and it was the national computing museum near Cambridge, UK that introduced me (incredible place). If I know why you love it, I may be able to emphasise the bits that attracted you to it in the next tutorials :)

James

yobson
Posts: 20
Joined: Wed Sep 14, 2016 6:31 pm
Location: Leeds
Contact: Website

Re: RISC OS C Development Tutorial Series

Mon Oct 31, 2016 4:54 pm

DavidS wrote:@yobson:

As I am already downloading the videos, I could talk to David Feugey for you (the DFeugey that responded earlier in this thread), and see if he would be willing to host the videos for download (to benefit RISC OS users). I already have a sub-domain of his server, though my site is so slow moving it is unlikely to draw any attention (and I am doing a complete rewrite of my site at this time).

Also would you mind if I convert the videos from MP4 into standard MPG at a slightly lower resolution (MPG to easy playing, and lower res to reduce the file size).

One modification you may wish to consider is to record future videos with the RISC OS monitor resolution set to something like 1024x768 or 800x600 so that it is easier to read the monitor from the recorded video.

It would help if you also talk to him, as you are the original author of these tutorials.

I think you are doing a great job with your video tutorials, though for me a bit dry (as I already know C and RISC OS). I do believe they would be quite engaging for someone new to C and programming for RISC OS.

There are a number of open statements in your videos, that I wish I could help you with, though I seem to forget what you say you do not know before I have a chance to form a response. I may have to watch them over and take notes, maybe, then I could possibly answer a few of the questions you have about the function of portions of the RISC OS API.

At the moment I just rebooted into Linux so I can download your latest videos, will be going back to RISC OS as soon as the downloads are done.
My tutorials are creative commons so do what you want with them! If you want to include them on your site too you don't need my permission. As long as what I type is readable, the resolution doesn't bother me :) All help is greatly appreciated as well. If you compile a list of clarifications and/or errors, I'll happily go through them in a future tutorial. I can't thank you all enough. Next tutorial(s) will not be made untill Thursday soonest, probably released at the weekend. It will be a long tutorial on icons (simple ones) and a quick one on using templates.

I do have a question though. I now plan the code for my tutorials in advance and I'm wondering if anyone knows the best way of redrawing the indirected text in icons?

User avatar
DavidS
Posts: 3009
Joined: Thu Dec 15, 2011 6:39 am
Location: USA
Contact: Website

Re: RISC OS C Development Tutorial Series

Mon Oct 31, 2016 5:00 pm

For redrawing the inderected icons, the WIMP will care for it if typing in a writable icon.

If it is modified by the program use Wimp_PlotIcon (SWI 0x400E2). Sorry do not know how OSLib puts it, so can not give the exact for OSLib (I use the direct SWI calls in an assembly linked into the program), should be easy to look up.

Other way is to force redraw, and go through the rects as with a normal redraw (well just force the redraw if the WIMP is managing the contents, no need to play with the rects then), using Wimp_ForceRedraw (SWI 0x400D1).
Last edited by DavidS on Mon Oct 31, 2016 5:19 pm, edited 1 time in total.
ARM BASIC: For the love of Simplicity, Fast Interpreted BASIC, and Assembly Language.
Always KISS Keep It Simple Silly.

User avatar
DavidS
Posts: 3009
Joined: Thu Dec 15, 2011 6:39 am
Location: USA
Contact: Website

Re: RISC OS C Development Tutorial Series

Mon Oct 31, 2016 5:15 pm

Updated my responce.

If you are drawing the icon to a sprite the responce would be different.
ARM BASIC: For the love of Simplicity, Fast Interpreted BASIC, and Assembly Language.
Always KISS Keep It Simple Silly.

yobson
Posts: 20
Joined: Wed Sep 14, 2016 6:31 pm
Location: Leeds
Contact: Website

Re: RISC OS C Development Tutorial Series

Mon Oct 31, 2016 5:18 pm

wimp_plot_icon is what it will be in OS lib. Thanks a lot.

Would gpio programming be popular? I'm just thinking about the riscos.fr competition. Robotics is on the list.

User avatar
DavidS
Posts: 3009
Joined: Thu Dec 15, 2011 6:39 am
Location: USA
Contact: Website

Re: RISC OS C Development Tutorial Series

Mon Oct 31, 2016 5:20 pm

yobson wrote:wimp_plot_icon is what it will be in OS lib. Thanks a lot.

Would gpio programming be popular? I'm just thinking about the riscos.fr competition. Robotics is on the list.
GPIO yes, likely very popular..

You may wish to reread my post above, I was updating it while you were posting.
ARM BASIC: For the love of Simplicity, Fast Interpreted BASIC, and Assembly Language.
Always KISS Keep It Simple Silly.

dfeugey
Posts: 107
Joined: Mon Nov 03, 2014 2:38 pm
Location: France
Contact: Website

Re: RISC OS C Development Tutorial Series

Mon Oct 31, 2016 8:12 pm

Out of interest guys, can you tell me how you all got into RISC OS?
ARM
RISC OS FR - All RISC OS, in french (but not only)
http://www.riscos.fr/

User avatar
DavidS
Posts: 3009
Joined: Thu Dec 15, 2011 6:39 am
Location: USA
Contact: Website

Re: RISC OS C Development Tutorial Series

Mon Oct 31, 2016 8:34 pm

Out of interest guys, can you tell me how you all got into RISC OS? I am too young to remember it and it was the national computing museum near Cambridge, UK that introduced me (incredible place). If I know why you love it, I may be able to emphasise the bits that attracted you to it in the next tutorials
When I was 10 years old I was given a brand new Acorn Archimedes A310 (in the year 1988/89), this was the first ever comercialy available complete ARM based computer.

It was running Arthur OS (which became RISC OS in version 2). I quickly got hooked on BBC BASIC V, and then learned ARM Assembly the same year, and have been hooked on the simplicity of RISC OS ever since (I have used and programmed for others as well, none match RISC OS).

The ARM CPU is such an eloquent (in the mathmatical since) design, and this eloquence carries over to the one and only successful OS designed specificaly to run on the ARM, that OS is RISC OS.

As to you being to young:
Computers running only RISC OS were produced continuously through 2008, and systems that run RISC OS continue to be produced (as I type this in RISC OS on my Raspberry Pi 3B). RISC OS has also been maintained non-stop since 1988 ongoing still.
ARM BASIC: For the love of Simplicity, Fast Interpreted BASIC, and Assembly Language.
Always KISS Keep It Simple Silly.

SEDev
Posts: 34
Joined: Thu Aug 02, 2012 10:55 pm

Re: RISC OS C Development Tutorial Series

Mon Oct 31, 2016 9:53 pm

The idea is that I'm doing things very verbosely for the purposes of the tutorial.
I appreciate that but for me having to type in the same command every time would grow tedious very quickly (I'm a lousy typist). So I thought it'd be good to incorporate a few more 'tricks' to speed up the development process.
the best way of redrawing the indirected text in icons?
You'll only need to do this if you alter the icon's text buffer directly. In that case the usual way is to call Wimp_SetIconState with both flag words set to 0. This means the icon's state won't be changed but it will force a redraw.

You can use Wimp_ForceRedraw but that is more involved as to do it efficiently you need to call Wimp_GetIconState first to get the icon's coordinates.

Wimp_PlotIcon is used to plot a new icon, ie one that is not part of the window template. You can not use this call to update predefined writable icons.
can you tell me how you all got into RISC OS?
Like dfeugey the ARM processor was one of the main attractions for me. Around 1990 I started to look around to replace my aging C64. As I enjoyed writing assembly code - still do, StrongED is 100% ARM assembler - the new machine had to have a decent instruction set.

After looking at a fair few CPUs the ARM came out as the most appealing. Add to that the fact that RISC OS was one of the fastest PCs at the time and had a decent GUI. It was a bit of a learning curve from the C64 but it was worth it.

yobson
Posts: 20
Joined: Wed Sep 14, 2016 6:31 pm
Location: Leeds
Contact: Website

Re: RISC OS C Development Tutorial Series

Wed Nov 02, 2016 11:17 pm

I forgot to allocate memory to a strict pointer. Strangest thing happened. I ran the program, didn't notice my error... Then gcc wouldn't work... Then all my programs wouldn't work... I realised that I crashed the ELF loader! A system reboot fixed it but I will be moving onto sharedCLibrary next tutorial :D I'm currently looking into socket programming and GPIO for the next step. I think both are useful for robotics and IoT projects.

yobson
Posts: 20
Joined: Wed Sep 14, 2016 6:31 pm
Location: Leeds
Contact: Website

Re: RISC OS C Development Tutorial Series

Sat Nov 05, 2016 11:57 am

Just uploading the icons tutorial. Please provide me with any constructive criticisms.

Next tutorial will be on templates and mouse events and I plan to finish it tomorrow.
After that, its the !ApplcationName folder, application variables, icon bar, and menus.

After all that I have two options.
1) Sockets
2) GPIO

I plan to do both, then use everything we have learnt to make some kind of IoT device that monitors something and has maybe a graph sketcher or something.

Any opinions on what order to do all this, any ideas for what should do as well/instead and finally, if you like my plan, any ideas on a IoT Project?

I may also do a 'Why program on RISC OS?' Video where I cover my reasons and your reasons for using risc os.

also, If you like my videos, they are more discoverable and together, we can help more people discover the beauty that is RISC OS Programming,

Thanks a lot!

James

yobson
Posts: 20
Joined: Wed Sep 14, 2016 6:31 pm
Location: Leeds
Contact: Website

Re: RISC OS C Development Tutorial Series

Sat Nov 05, 2016 12:05 pm

Its me again.

I was also wondering if anyone had any ideas on how to make RISC OS programming less male orientated.
I have just looked at some stats about my videos and I have attached a screenshot showing the gender split
Attachments
Viewing.jpg
The Gender Split Of My Videos
Viewing.jpg (14.73 KiB) Viewed 5974 times

User avatar
DavidS
Posts: 3009
Joined: Thu Dec 15, 2011 6:39 am
Location: USA
Contact: Website

Re: RISC OS C Development Tutorial Series

Sat Nov 05, 2016 5:32 pm

yobson wrote:Its me again.

I was also wondering if anyone had any ideas on how to make RISC OS programming less male orientated.
I have just looked at some stats about my videos and I have attached a screenshot showing the gender split
LOL.

I think it is a curse of programming. It seems that the same is true of most programming related materials, unfortunately. For some reason unknown to me it seems to work out that way.

Though I can tell you that those stats are not 100% correct as I have gotten 4 laidies to view the videos, all of whome are learning RISC OS. They just do not have Youtube accounts.
ARM BASIC: For the love of Simplicity, Fast Interpreted BASIC, and Assembly Language.
Always KISS Keep It Simple Silly.

User avatar
DavidS
Posts: 3009
Joined: Thu Dec 15, 2011 6:39 am
Location: USA
Contact: Website

Re: RISC OS C Development Tutorial Series

Sat Nov 05, 2016 5:40 pm

@yobson:
Just keep doing things the way you are, it is good and a lot more readable than my C (you use OSLib, I use dirrect SWI calls with _kernel_swi()).

You are taking a bit of a different order than I do with tutorials, though it seems to work. Once I introduce multitasking, I add the IconBar IconSprite, then a menu having only a quit item, after that I introduce templates and windows. And I introduce the application directory a lot sooner.

Though I work in BASIC and Assembly language, so do not mind me to much.

To show you how well you are doing, here is a C program that only puts an icon on the bar, produces a menu on menu clicking on the icon, and quits once the quit menu item is selected, yours are more readable :) . NOTE: Compile with gcc -mlibscl -o!RunImage t00 -Wall -std=c99

Code: Select all

#include "swis.h"
#include "kernel.h"

_kernel_oserror *err;
_kernel_swi_regs r;
long task;
long QFlag = 0;
struct { long win;
         long x0; long y0; long x1; long y1;
         long flags; char text[12];
} BIcon = {-1,0,0,68,68,
           0x3002,
           "!00c"};
struct {
 char ttl[12];  char c[4];
 long w; long h;
 long vg; long iflag; long smptr; long iicnf;
 char text[12];
} Menu0 = {"Tut0",{7,2,7,0},0,44,0,
           0x80,-1,0x7000021,"Quit"};

void Init(void);
void PollLp(void);
void SelMenu(void);
void GetMsg(void);
void MClick(void);

long TBuff[256];

int main(void)
{
  r.r[0] = (int)310; r.r[1] = (int)0x4b534154; r.r[2] = (int)"T00";
  r.r[3] = (int)0;
  _kernel_swi(Wimp_Initialise,&r,&r);
  task = r.r[1];
  Init();
  PollLp();
  r.r[0] = (int)task; r.r[1] = (int)0x4b534154;
  _kernel_swi(Wimp_CloseDown,&r,&r);

  return 0;
}

void Init(void)
{
 r.r[1] = (int)&BIcon;
 _kernel_swi(Wimp_CreateIcon,&r,&r);

 return;
}

void PollLp(void)
{
 while (!QFlag)
 {
   r.r[0] = (int)0x2301; r.r[1]=(int)&TBuff;
   err = _kernel_swi(Wimp_Poll,&r,&r);
   long pr = r.r[0];
   switch (pr){
    case 6: MClick(); break;
    case 9: SelMenu(); break;
    case 17:
    case 18: GetMsg(); break;
   }
 }
}

void SelMenu(void)
{
 if (*((long *)TBuff) == 0) QFlag = 0x0F;
}

void MClick(void)
{
  if (TBuff[3] == -2)
  {
   switch (TBuff[2])
   {
     case 1: break;
     case 2:
       r.r[1] = (int)&Menu0; r.r[2] = (int)(*TBuff - 60);
       r.r[3] = 144;
       _kernel_swi(Wimp_CreateMenu,&r,&r);
       break;
     case 3: break;
     }
   }
}

void GetMsg(void)
{
 if (TBuff[4] == 0 || TBuff[4] == 2) QFlag = 0x0f;
}
Not much use without the rest of the application directory, especialy !Sprites22, !Run, and !Boot
ARM BASIC: For the love of Simplicity, Fast Interpreted BASIC, and Assembly Language.
Always KISS Keep It Simple Silly.

yobson
Posts: 20
Joined: Wed Sep 14, 2016 6:31 pm
Location: Leeds
Contact: Website

Re: RISC OS C Development Tutorial Series

Sat Nov 05, 2016 10:29 pm

Hahaha. Thanks DavidS. Icon bar is soon. My philosophy is get people making useable stuff as soon as possible so they can play around and have fun while I bang my head against the wall because my phone ran out of battery mid recording. :D i like to introduce people to things by showing why they need it. I will introduce the standard application model (the ! Folder with a file to set variables etc) when it is clear why they need it. For example, im going to get them to change directory mid app and the template will not be found and app shall crash, making them think more about why things are how they are :)

But thanks man. You going to start using OSLib? It's a nightmare but the rewards are huge.

User avatar
DavidS
Posts: 3009
Joined: Thu Dec 15, 2011 6:39 am
Location: USA
Contact: Website

Re: RISC OS C Development Tutorial Series

Sat Nov 05, 2016 11:03 pm

yobson wrote: But thanks man. You going to start using OSLib? It's a nightmare but the rewards are huge.
No problem :) .

I have been tempted by OSLib, though I do not know. Being accustomed to Assembly language I kind of like doing it myself. And if I were writing the above example of mine for most uses I would have linked in some assembly to do the SWI calls, as _kernel_swi is a nightmare.

I wrote the above example to be 100% C and compare with a BASIC program and an Assembly version, all being near 100% identicle, for the purpose of showing the difference in the languages.
ARM BASIC: For the love of Simplicity, Fast Interpreted BASIC, and Assembly Language.
Always KISS Keep It Simple Silly.

User avatar
DavidS
Posts: 3009
Joined: Thu Dec 15, 2011 6:39 am
Location: USA
Contact: Website

Re: RISC OS C Development Tutorial Series

Sat Nov 05, 2016 11:35 pm

Well as you made a statement about being familiar with BBC BASIC V (aka ARM BASIC) in RISC OS, and OSLib is supposed to bring C closer to the style of system calls in BASIC, I would like to provide a super simple example that may be of aid to your tutorials.

This example is to be the very first in my Intermediate BASIC tutorials, and it puts an IconSprite on the IconBar, opens a window on select clicking (left click) on the IconBar Icon, and has a menu to quit, the menu being both in the window and on the IconBar IconSprite.

As you are moving to windows with templates I hope that this helps.

First I will give the source listing then a zip containing the entire Application Directory.

The listing:

Code: Select all

ON ERROR PRINT "LINE : " + STR$(ERL) + " ERROR : " + REPORT$ : END

REM ** Setup variables, and mem blocks. ************************************
DIM TBuff% 255
QFlag% = 0
TaskHndl% = 0
TaskName$ = "Tut03"

DIM Wins% 255
Win% = Wins%
DIM WData% 255
WDta% = WData%
DIM BIcon% 40                     :REM Icon Block for IconBar Icon.
 !BIcon%      = -1
 BIcon%!4     = 0     : BIcon%!8     = 0
 BIcon%!12    = 68    : BIcon%!16    = 68
 BIcon%!20    = &3002
 $(BIcon%+24) = "!00wimp0"

DIM Menu0% 52
 $(Menu0%) = "Wimp0 Tut"
 Menu0%?12 =  7 : Menu0%?13 =  2 : Menu0%?14 =  7 : Menu0%?15 =  0
 Menu0%!16 =  0 : Menu0%!20 = 44 : Menu0%!24 =  0

 Menu0%!28 =&80 : Menu0%!32 = -1 : Menu0%!36 =&7000021
 $(Menu0%+40) = "Quit"

REM ** Begin ***************************************************************
SYS "Wimp_Initialise",310,&4B534154,TaskName$,TBuff% TO ,TaskHndl%
PROCInit
PROCPollLp
SYS "Wimp_CloseDown",TaskHndl%,&4B534154
END

DEF PROCInit :REM ** Setup whatever is needed for the program. *************
  SYS "Wimp_CreateIcon",,BIcon%   :REM Put Icon on IconBar.
  SYS "Wimp_OpenTemplate",,"<00Wimp0$Dir>.Templates"
  SYS "Wimp_LoadTemplate",,TBuff%,WDta%,WDta%+256,-1,"Main",0 TO WDta%
  SYS "Wimp_CreateWindow",,TBuff% TO WMain%
  SYS "Wimp_CloseTemplate"
ENDPROC

DEF PROCPollLp :REM ** Loop on Wimp_Poll ***********************************
 WHILE (QFlag% = 0)              :REM QFlag is for quiting.
  SYS "Wimp_Poll",&2301,TBuff% TO pr%
  CASE pr% OF
   WHEN 2: SYS "Wimp_OpenWindow",,TBuff%
   WHEN 3: SYS "Wimp_CloseWindow",,TBuff%
   WHEN 6: PROCMClick          :REM Poll Reason Mouse Click.
   WHEN 9: PROCSelMenu
   WHEN 17,18: PROCGetMsg      :REM Poll Reason Message Incoming.
  ENDCASE
 ENDWHILE
ENDPROC

DEF PROCSelMenu
 IF !TBuff% = 0 THEN QFlag% = &0F
ENDPROC

DEF PROCGetMsg :REM ** Handle incoming messages. ***************************
 IF TBuff%!16 = 0 OR TBuff%!16 = 2 THEN QFlag% = &0F
ENDPROC

DEF PROCMClick :REM ** Handle Mouse clicks. ********************************
  IF TBuff%!12 = WMain% THEN
   CASE TBuff%!8 OF
    WHEN 1:
    WHEN 2: SYS "Wimp_CreateMenu",,Menu0%,!TBuff%-96,TBuff%!4
    WHEN 3:
   ENDCASE
  ENDIF
  IF TBuff%!12 = -2 THEN
  CASE TBuff%!8 OF
   WHEN 1:                     :REM Adjust Click, Do Nothing.
   WHEN 2: SYS "Wimp_CreateMenu",,Menu0%,!TBuff%-96,144
   WHEN 4: !TBuff% = WMain%    :REM Select Click, OPEN main window.
     SYS "Wimp_GetWindowState",,TBuff%
     SYS "Wimp_OpenWindow",,TBuff%
  ENDCASE
 ENDIF
ENDPROC
And the zip file is attached. Of course only extract the zip in RISC OS, otherwise the filetypes will get lost.
Attachments
Tut00Wimp0.zip
BASIC Wimp tutorial 00.
(3.42 KiB) Downloaded 413 times
ARM BASIC: For the love of Simplicity, Fast Interpreted BASIC, and Assembly Language.
Always KISS Keep It Simple Silly.

yobson
Posts: 20
Joined: Wed Sep 14, 2016 6:31 pm
Location: Leeds
Contact: Website

Re: RISC OS C Development Tutorial Series

Sat Nov 12, 2016 3:14 pm

Hello! I'm currently uploading my next video. Templates and an intro into mouse events (I'll be introducing the different mouse buttons when we get into the icon bar). It will be up in an hour or so.

Thanks!

James

yobson
Posts: 20
Joined: Wed Sep 14, 2016 6:31 pm
Location: Leeds
Contact: Website

Re: RISC OS C Development Tutorial Series

Sat Nov 19, 2016 5:15 pm

9th tutorial up. Application directories and icon bar :)

yobson
Posts: 20
Joined: Wed Sep 14, 2016 6:31 pm
Location: Leeds
Contact: Website

Re: RISC OS C Development Tutorial Series

Sat Nov 26, 2016 10:55 am

Hello guys. Anyone know anything about messages. No matter what I do, I get message too big or not a multiple of 4 error. I'm trying to do a ram transfer. It's getting frustrating.

If not, how do you guys do inter process communication? I'm trying to get the WebJames to interact with a running application using CGI.

User avatar
DavidS
Posts: 3009
Joined: Thu Dec 15, 2011 6:39 am
Location: USA
Contact: Website

Re: RISC OS C Development Tutorial Series

Sat Nov 26, 2016 8:46 pm

yobson wrote:Hello guys. Anyone know anything about messages. No matter what I do, I get message too big or not a multiple of 4 error. I'm trying to do a ram transfer. It's getting frustrating.

If not, how do you guys do inter process communication? I'm trying to get the WebJames to interact with a running application using CGI.
I can not speak of WebJames.

Though it looks like your error tells you everything that is wrong. I forget the exact size rules, do not do that kind of thing much. Though for the message itself it must be a multiple of 4 bytes (1 ARM CPU word is 4 Bytes in size, so this makes it more efficient).
ARM BASIC: For the love of Simplicity, Fast Interpreted BASIC, and Assembly Language.
Always KISS Keep It Simple Silly.

yobson
Posts: 20
Joined: Wed Sep 14, 2016 6:31 pm
Location: Leeds
Contact: Website

Re: RISC OS C Development Tutorial Series

Sat Dec 03, 2016 11:04 am

The issue was that I want telling wimp the size of my message!

Im just warning you that I can't make videos for a few weeks. I have family business this weekend and an interview next weekend. But I'll be back at it when I next can.

Thanks

Return to “RISCOS”

Who is online

Users browsing this forum: No registered users and 4 guests