• Updated 2023-07-12: Hello, Guest! Welcome back, and be sure to check out this follow-up post about our outage a week or so ago.

A note on RDEV/PRER ("Chooser Extension") development

cheesestraws

Well-known member
In IM: Devices, the sparse documentation on how to write Chooser Extensions includes the following useful comment:

"You should also include a 'BNDL' resource (and appropriate icon family resources) to give your device type a distinctive icon because this may be the only way that devices are identified in the Chooser window."

This is not totally accurate, or at least the "should" bit isn't. Try "must". As far as I can see, at least under System 7, if your RDEV does not have a BNDL resource, does not have the BNDL bit set, or does not have an icon family which matches the type of the file (i.e. if the Finder can't display an icon for the RDEV), the Chooser won't bother putting it in the left hand device list at all. In fact, the Chooser will totally ignore it. It won't just appear with a generic icon.

This insight brought to you by a good couple of hours of swearing.
 

CC_333

Well-known member
My attempts at icons would make Susan Kare weep, most unfortunately...
I once came up with a neat icon for @dougg3 's SIMM programmer GUI, for which I also somehow managed to compile a version for PPC.

However, I cannot remember how I did it exactly. As I recall, I took a photograph of the programmer and used some Photoshop filter I can't remember the name of (Emboss? Extrude??) to give the photo a rendered, CGI look, and then somehow iconified it and put it into the PPC programmer application (it may've made its way to the Intel version too, but I can't remember). As I recall, that particular GUI was superseded years ago by something almost completely different and written by someone else, so I don't think you can find the icon in any current versions of any SIMM programmer software, but since I basically released it into the public domain, it might still be floating around in some form, somewhere....

c
 

cheesestraws

Well-known member
Further notes:

IM: Devices is more actively wrong about the header. It says that, unlike every other resource, the PACK for the Chooser RDEV should be 4 bytes long. As far as I can see, this is not the case, and it should be two bytes long like other code resource versions.
 

dougg3

Well-known member
I once came up with a neat icon for @dougg3 's SIMM programmer GUI, for which I also somehow managed to compile a version for PPC.
I don't want to derail cheesestraws' cool thread too much, but you definitely did design the icon and you did a great job! It's still there today. You can actually see your name right on the GitHub page for it!
 

cheesestraws

Well-known member
Oh, that is a nice icon. Nicely done, @CC_333 :)

Another note: IM is also extremely unhelpful on the whole subject of button placement. Devices gives the following figure, which is inaccurate in at least one key way:

Screen Shot 2021-11-25 at 21.23.51.png
In fact, as far as I can see, the radio buttons that the RDEV has control over are not the two AppleTalk radio buttons that are pointed to in this diagram at all. You can actually see the radio buttons in use for the background printing controls in printer drivers:

Screen Shot 2021-11-25 at 21.25.49.png
You set the positions of the push buttons and the radio buttons using an nrct resource. IM is correct on this point, and on the order they should come in in the resource, but it leaves out anything to do with what the coordinates in the nrct are actually relative to. They seem to be relative to the chooser window as a whole. For my toy rdev, I've gone with the following rects for the left and right push buttons which seem reasonable (for a "Connect" and "Info" button, the latter smaller):

Code:
112, 178, 131, 300
112, 310, 131, 385

Which follows the whitespace precedent of AppleShare, which seemed as good a precedent as any.
 

CC_333

Well-known member
I don't want to derail cheesestraws' cool thread too much, but you definitely did design the icon and you did a great job! It's still there today. You can actually see your name right on the GitHub page for it!
Neat!

It's my very small claim to fame, I guess :)

it looks like it was last developed in 2013, which is about when i made the icon. Has development continued on another branch, or is this it? I guess it was about as good as it was going to be, so further updates weren't really necessary unless one wanted to add to or rearrange the GUI, add/remove/change features, etc.

I yield the thread back to Mr. Cheesestraws....

c
 
Last edited:

LaPorta

Well-known member
Well, look, since I can't do anything else at all regarding programming, I could at least make an icon for you.
 

cheesestraws

Well-known member
Well, look, since I can't do anything else at all regarding programming, I could at least make an icon for you.

Woo :D that would be nice. Let me get a bit further in getting this working first - I don't want to waste anyone else's time until I've got a good solid prototype...

I am probably going to try to post an example Chooser extension soon, though, because there's not much out there as far as I can see and a non-trivial amount of what there is appears to be wrong. Which is ... remarkable, for something that's actually fairly simple.
 

dougg3

Well-known member
it looks like it was last developed in 2013, which is about when i made the icon. Has development continued on another branch, or is this it? I guess it was about as good as it was going to be, so further updates weren't really necessary unless one wanted to add to or rearrange the GUI, add/remove/change features, etc.
Sorry for derailing again cheesestraws! As far as I know, there has been no further development on the GUI, other than bigmessowires adding support for the 4 MB ROM-inator SIMM. Note that he also heavily optimized the programmer firmware to considerably speed up programming times on the programmers he made. I also separately optimized the base firmware a year ago (version 1.3) to speed it up and make it more portable to other architectures if someone makes a new programmer in the future.
 

cheesestraws

Well-known member
Sorry for derailing again cheesestraws!

Oh, don't worry :) this thread was just a dumping ground for some notes, and cheerful conversation is good!

I'm going to write up a separate HOWTO at some point but that will probably be a different thread in a more essayish writing form.
 

Crutch

Well-known member
Have you read Tech Note #197? I never tried to write an RDEV but just looked at it prompted by your interesting thread here. It does seem to get the radio button thing you note above correct, so maybe is useful in other respects?
 
Top