Resource construction set

The resource construction set (GEM RCS) is a GUI builder for GEM applications. It was written by Digital Research.

Resource construction set
Developer(s)Digital Research
Type

RCS was widely used on the Atari ST, Atari STe, Atari TT, Atari MEGA ST, Atari MEGA STE and Atari Falcon platforms.[1]

Example

edit

Files of the Atari Development Kit

Resource file

edit

runtime binary

0000: 000000E2 00E200E2 00E20000 002400E1  ...â.â.â.â...$.á
0010: 000002AA 00130003 00000000 00000000  ...ª............
0020: 000002B6 20446573 6B200020 46696C65  ...¶ Desk . File
0030: 20002020 43726169 6773204D 656E7500   .  Craigs Menu.
0040: 2D2D2D2D 2D2D2D2D 2D2D2D2D 2D2D2D2D  ----------------
0050: 2D2D2D2D 00202044 65736B20 41636365  ----.  Desk Acce
0060: 73736F72 79203120 20002020 4465736B  ssory 1  .  Desk
0070: 20416363 6573736F 72792032 20200020   Accessory 2  . 
0080: 20446573 6B204163 63657373 6F727920   Desk Accessory 
0090: 33202000 20204465 736B2041 63636573  3  .  Desk Acces
00A0: 736F7279 20342020 00202044 65736B20  sory 4  .  Desk 
00B0: 41636365 73736F72 79203520 20002020  Accessory 5  .  
00C0: 4465736B 20416363 6573736F 72792036  Desk Accessory 6
00D0: 20200020 20517569 74202020 20202020    .  Quit       
00E0: 0000FFFF 00010005 00190000 00000000  ..ÿÿ............
00F0: 00000000 00000050 00190005 00020002  .......P........
0100: 00140000 00000000 11000000 00000050  ...............P
0110: 02010001 00030004 00190000 00000000  ................
0120: 00000002 0000000C 03010004 FFFFFFFF  ............ÿÿÿÿ
0130: 00200000 00000000 00240000 00000006  . .......$......
0140: 03010002 FFFFFFFF 00200000 00000000  ....ÿÿÿÿ. ......
0150: 002B0006 00000006 03010000 0006000F  .+..............
0160: 00190000 00000000 00000000 03010050  ...............P
0170: 0013000F 0007000E 00140000 000000FF  ...............ÿ
0180: 11000002 00000014 00080008 FFFFFFFF  ............ÿÿÿÿ
0190: 001C0000 00000000 00320000 00000014  .........2......
01A0: 00010009 FFFFFFFF 001C0000 00080000  ....ÿÿÿÿ........
01B0: 00400000 00010014 0001000A FFFFFFFF  .@..........ÿÿÿÿ
01C0: 001C0000 00000000 00550000 00020014  .........U......
01D0: 0001000B FFFFFFFF 001C0000 00000000  ....ÿÿÿÿ........
01E0: 006A0000 00030014 0001000C FFFFFFFF  .j..........ÿÿÿÿ
01F0: 001C0000 00000000 007F0000 00040014  ................
0200: 0001000D FFFFFFFF 001C0000 00000000  ....ÿÿÿÿ........
0210: 00940000 00050014 0001000E FFFFFFFF  ............ÿÿÿÿ
0220: 001C0000 00000000 00A90000 00060014  .........©......
0230: 00010006 FFFFFFFF 001C0000 00000000  ....ÿÿÿÿ........
0240: 00BE0000 00070014 00010005 00100010  .¾..............
0250: 00140000 000000FF 11000008 0000000D  .......ÿ........
0260: 0001000F FFFFFFFF 001C0020 00000000  ....ÿÿÿÿ... ....
0270: 00D30000 0000000D 0001FFFF FFFFFFFF  .Ó........ÿÿÿÿÿÿ
0280: 00140020 00100002 11000000 00000046  ... ...........F
0290: 000FFFFF FFFFFFFF 00140020 00100002  ..ÿÿÿÿÿÿ... ....
02A0: 11000000 00000046 000F0000 00E20000  .......F.....â..
02B0: 027A0000 0292                        .z....

C file

edit

source

#define T0OBJ 0
#define T1OBJ 17
#define T2OBJ 18
#define FREEBB 0
#define FREEIMG 0
#define FREESTR 11

BYTE *rs_strings[] = {
	" Desk ",
	" File ",
	"  Craigs Menu",
	"--------------------",
	"  Desk Accessory 1  ",
	"  Desk Accessory 2  ",
	"  Desk Accessory 3  ",
	"  Desk Accessory 4  ",
	"  Desk Accessory 5  ",
	"  Desk Accessory 6  ",
	"  Quit       "

};

LONG rs_frstr[] = {0};

BITBLK rs_bitblk[] = {0};

LONG rs_frimg[] = {0};

ICONBLK rs_iconblk[] = {0};

TEDINFO rs_tedinfo[] = {0};

OBJECT rs_object[] = {
	-1, 1, 5, G_IBOX, NONE, NORMAL, 0x0L, 0,0, 80,25,
	5, 2, 2, G_BOX, NONE, NORMAL, 0x1100L, 0,0, 80,513,
	1, 3, 4, G_IBOX, NONE, NORMAL, 0x0L, 2,0, 12,769,
	4, -1, -1, G_TITLE, NONE, NORMAL, 0x0L, 0,0, 6,769,
	2, -1, -1, G_TITLE, NONE, NORMAL, 0x1L, 6,0, 6,769,
	0, 6, 15, G_IBOX, NONE, NORMAL, 0x0L, 0,769, 80,19,
	15, 7, 14, G_BOX, NONE, NORMAL, 0xFF1100L, 2,0, 20,8,
	8, -1, -1, G_STRING, NONE, NORMAL, 0x2L, 0,0, 20,1,
	9, -1, -1, G_STRING, NONE, DISABLED, 0x3L, 0,1, 20,1,
	10, -1, -1, G_STRING, NONE, NORMAL, 0x4L, 0,2, 20,1,
	11, -1, -1, G_STRING, NONE, NORMAL, 0x5L, 0,3, 20,1,
	12, -1, -1, G_STRING, NONE, NORMAL, 0x6L, 0,4, 20,1,
	13, -1, -1, G_STRING, NONE, NORMAL, 0x7L, 0,5, 20,1,
	14, -1, -1, G_STRING, NONE, NORMAL, 0x8L, 0,6, 20,1,
	6, -1, -1, G_STRING, NONE, NORMAL, 0x9L, 0,7, 20,1,
	5, 16, 16, G_BOX, NONE, NORMAL, 0xFF1100L, 8,0, 13,1,
	15, -1, -1, G_STRING, LASTOB, NORMAL, 0xAL, 0,0, 13,1,
	-1, -1, -1, G_BOX, LASTOB, OUTLINED, 0x21100L, 0,0, 70,15,
	-1, -1, -1, G_BOX, LASTOB, OUTLINED, 0x21100L, 0,0, 70,15
};

LONG rs_trindex[] = {
	0L,
	17L,
	18L
};

struct foobar {
	WORD	dummy;
	WORD	*image;
	} rs_imdope[] = {0};

#define NUM_STRINGS 11
#define NUM_FRSTR 0
#define NUM_IMAGES 0
#define NUM_BB 0
#define NUM_FRIMG 0
#define NUM_IB 0
#define NUM_TI 0
#define NUM_OBS 19
#define NUM_TREE 3

BYTE pname[] = "CRAIG.RSC";

Header file

edit

source

#define TREE1 0  	/* TREE */
#define TREE2 1  	/* TREE */
#define TREE3 2  	/* TREE */

References

edit
  1. ^ "Das Resource Construction Set" (in German). Retrieved 2017-11-18.
edit