OK, it's been a while, but I just got back to this briefly.
Although I got my menus working, I just noticed (decided to recompile it) that I was still getting this error:
DICE is giving me an "int-ptr conversion" warning on this line:
struct MenuItem* item = ItemAddress(&my_menu, code);
I haven't had the time to get back into C really and understand prototyping. Retiring soon, so hoping to do that.
(I also want to make some tweaks to my program eventually. )
So that error was bugging me.
Poked at it a bit and found out that all I needed to add for now was this line:
struct *ItemAddress();
... and that was it. (I had tried a lot of much more complicated variations that weren't working...)
I still don't totally understand this yet, but I do plan on getting back to this and figuring it out.
There was also a warning I was getting on the preferences.h file in the intuition path that I got from somewhere in the Amiga 1.3 includes.
It was complaining about a nested comment not being ANSI...
I went into the file to check and notice the line above it has a /* and some comments, but no */
No idea how that happened (I am pretty sure I would have had no reason to play with that file).
But I can't remember if that came from the DICE install files or some other source for the includes, so I can't check the original.
Either way, got that sorted and now it is compiling with no errors/warnings!
There is more I want to do with it, so when I retire I will start relearning C and hopefully have the time to actually understand it. :-)
And I think I found the source. On the Amiga Developer CD 2.1, it has the Amiga 1.3 include and in that preferences.h file is this:
#define SSTOP_BITS 0xF0 /* for SerStopBuf */
#define SBUFSIZE_BITS 0x0F
#define SPARITY_BITS 0xF0 /* for SerParShk
#define SHSHAKE_BITS 0x0F
/* Serial Parity (upper nibble, after being shifted by
* macro SPARNUM() )
*/
So you can see on the define for SPARITY_BITS, it starts the comment, but doesn't end it.
Good, I didn't think I had done that... ;-)
Thanx again.