Post Reply 
DIMGROB for newbies
10-22-2022, 10:33 PM
Post: #1
DIMGROB for newbies
Hello,

I've searched the 'net to try and find info on DIMGROB. I am a newbie to programming the Prime and I can find very little basic info for this command. It's mostly way over my head. I have found the DimGrob Helper app but when I use it I have no idea where to put the code generated.

Basically, all I want to do is put an image on the Prime screen...an image of my own. I've been learning Prime programming from reverse engineering various programs but DIMGROB just doesn't have literature available. Even the manual is very thin.

Is it really as difficult as it seems or is it my 'newbie' status that makes it so.

I realize that the last post here was, as it appears, years ago so I don't even know if this will ever be seen.

Thanks
Bob
Find all posts by this user
Quote this message in a reply
10-23-2022, 06:18 AM
Post: #2
RE: DIMGROB for newbies
Bonjour,
La Prime dispose d'un écran physique G0 de 320*240 pixels et
de '9 écrans logiques' G1.....G9.
Ces écrans logiques peuvent servir à copier tout ou partie de l'écran physique
ou d'un autre écran logique en modifiant même la taille éventuellement (BLIT).
Vous pouvez dessiner dans un écran logique.
DIMGROB permet de spécifier la taille d'un écran logique, celui-ci peut être plus petit
ou plus grand que l'écran physique et doit être programmé avant d'utiliser ces écrans logiques.
Vous pouvez spécifier une couleur de fond ou une liste de données pour créer une image.
Cependant pour afficher une image à vous le plus simple est de passer par AFiles dans une application.
Il y avait aussi la fonction ICON qui permettait de définir directement une image dans le corps
du programme, c'est à cette fonction qu'est destiné DIMGOBHELPER je crois.
Cette solution était viable pour de petites images mais pas pour des images de 320*240 pixels par exemple, c'est pourquoi ensuite AFiles est arrivé.
Espérant avoir aidé.

Hello,
The Prime has a physical screen G0 of 320*240 pixels and
9 logical screens' G1.....G9.
These logical screens can be used to copy all or part of the physical screen
or another logical screen, possibly even changing the size (BLIT).
You can draw in a logical screen.
DIMGROB allows you to specify the size of a logical screen, which can be smaller
or larger than the physical screen and must be programmed before using these logical screens.
You can specify a background colour or a data list to create an image.
However to display an image to you the easiest way is to go through AFiles in an application.
There was also the ICON function which allowed you to define an image directly in the body of the program.
of the program, which is what DIMGOBHELPER is for, I believe.
This solution was viable for small images but not for images of 320*240 pixels for example, that's why then AFiles arrived.
Hoping to have helped.

Translated with http://www.DeepL.com/Translator (free version)

Sorry for my english
Find all posts by this user
Quote this message in a reply
10-23-2022, 08:54 PM
Post: #3
RE: DIMGROB for newbies
Hi Tyann

Thank you very much for your detailed explanation, but I'm still at a loss.

So the manual gives this: DIMGROB_P(G, w, h, [color])
And I make this:

EXPORT DimGrob
BEGIN
//DIMGROB_P(G, w, h, [color]);
DIMGROB_P(G, 320, 240, [0,0,255]);
END;
With this one I get a syntax error


EXPORT DimGrob()
BEGIN
//DIMGROB_P(G, w, h, [color]);
DIMGROB_P(G, 320, 240, [0,0,255]);
END;
With the one immediately above I get an "Invalid Input error".

What I've tried for putting in [colour]:
0,0,255 No program error but "Invalid input"
1,0,0,255 No program error but "Invalid input"
000000255 No program error but "Invalid input"
#000000255 No program error but "Invalid input"
000000255 No program error but "Invalid input"
1000000255 No program error but "Invalid input"
#1000000255 No program error but "Invalid input"
A1R5G5B5 Syntax Error
#A1R5G5B5 Syntax Error
#0000FF (hex blue) No program error but "Invalid input"
#10000FF No program error but "Invalid input"
0000FF Syntax Error

And then I tried this:
EXPORT DimGrob()
BEGIN
DIMGROB_P(G1,320,4,{#0001000104210021:64h,#0001000000010001:64h,#000100210001000​0:64h,#0401002100010401:64h,#000100000001:64h,#000100010401:64h,#040100010001000​1:64h,#0441000000010021:64h,#0421000100011083:64h,#0001000000010001:64h,#0421000​10000:64h,#0001042100010001:64h,#0001040100010401:64h,#0001040104210401:64h,#040​1000100010421:64h,#0421000104010021:64h,#0401042104010001:64h,#0421000104010021:​64h,#0401000104010001:64h,#0401040100000021:64h,#0001000100000021:64h,#040000010​4000001:64h,#0001042100010021:64h,#0822082200010421:64h,#0822042208220821:64h,#1​4A414A314A30422:64h,#14A310A314A314A3:64h,#08210C8314A414A4:64h,#0822042108430C4​2:64h,#0821042104210822:64h,#0C43082204020421:64h,#0C430C430C430C43:64h,#0C430C4​30C220C42:64h,#14A3082108230C42:64h,#18C318C318C314C3:64h,#0C6108210C231062:64h,​#373F375F3B7F2A11:64h,#3B3E373E373E373E:64h,#373D3B3E373E373E:64h,#373E373E3B3E3​73E:64h,#373E373E373E373D:64h,#373E373E373E373E:64h,#373E373E373E373D:64h,#373D3​73E3B3E373E:64h,#373E375E373E3B3E:64h,#2E5532DA3B5F375F:64h,#0CA510A414E821AF:64​h,#0C830CA410A410A5:64h,#0463044308630884:64h,#0042044304630883:64h,#04630863046​20442:64h,#0422004204230463:64h,#0884046308840884:64h,#08420CA40C840883:64h,#0C8​3088308620863:64h,#10A50CA40C840C84:64h,#1CE708630CA50CA4:64h,#0CA40CA3044218E7:​64h,#08A40C840CA50C84:64h,#0CA40CA40CA40CA5:64h,#08A40CA40CA40CA4:64h,#002100211​0A50CA4:64h,#0022002204420443:64h,#0CA410C510A40863:64h,#0CA40CA408A410A4:64h,#0​CA40CA410A40CA4:64h,#0442004204420CA5:64h,#0443004204430042:64h,#044300220442044​2:64h,#0022044300420022:64h,#0042002204430422:64h,#0422044200220442:64h,#0022042​200420022:64h,#0022004200220422:64h,#0421002200220442:64h,#0463046300210021:64h,​#0001002100420463:64h,#0021002200210022:64h,#0421002100210422:64h,#0022042100210​021:64h,#0420000000010401:64h,#0400000104000000:64h,#0001040000000001:64h,#04000​00100000000:64h,#000100010001:64h,#0401000000000001:64h,#0401000000010421:64h,#0​001000104010021:64h,#0421000100000001:64h,#0001000000000001:64h,#000100000001000​0:64h,#000100000001:64h,#0001000000000021:64h,#0001000100010000:64h,#00010421000​10401:64h,#0401040000010020:64h,#0001000104210401:64h,#000104010001:64h,#0421000​100210401:64h,#0001042100000001:64h,#0401042100010421:64h,#0401040104010420:64h,​#0001000104010421:64h,#0842082204010001:64h,#0421002108220821:64h,#14C314A310A40​421:64h,#10A314A410A314A3:64h,#14A318C414A310A3:64h,#08430843108414C3:64h,#08220​42204220C43:64h,#0C43082108020422:64h,#0C220C430C431043:64h,#104314A30C430C42:64​h,#14C310630C220843:64h,#18C314C314C318C3:64h,#04220C22106314C4:64h,#3B5F3B7F329​818E5:64h,#373E373E373E375F:64h,#373E373E373E373D:64h,#373E3B3D373E373D:64h,#373​E373E3B3D373E:64h,#373E3B3E373D3B3E:64h,#3B3E373E3B3D373E:64h,#373E373E373E373D:​64h,#3B5F373E373E373E:64h,#10A414A41D0936DA:64h,#0CA40CA410840CA4:64h,#0CA408840​CA40C84:64h,#0463046308830C84:64h,#0042044204630043:64h,#0042044304430443:64h,#0​422004200220443:64h,#0042004104420042:64h,#0022086308630883:64h,#0CA40CA40442002​1:64h,#10A50CA40C840CA4:64h,#0CA40CA40CA410A4:64h,#0CA40CA304420C84:64h,#0CA50CA​50CA40CA4:64h,#0CA50CA40C850CA4:64h,#08A408A40CA40CA4:64h,#0022002110C50CA4:64h,​#0042044200430042:64h,#0883044304420442:64h,#0CA40CA410A410C5:64h,#0CA40CA410A40​CA4:64h,#0422046308840C85:64h,#0442044204420442:64h,#0443004204420442:64h,#00220​42200420442:64h,#0421002200420442:64h,#0043004200210422:64h,#0021042200220442:64​h,#0422004104210022:64h,#0021042100420022:64h,#0462004100420022:64h,#00210022044​30463:64h,#0021042200210021:64h,#0021002100210422:64h,#0021042100210001:64h,#000​1000100010421:64h,#000100000001:64h,#0001000000010000:64h,#0001000100010401:64h,​#1084082100010001:64h,#0001000100010000:64h,#0001042104010021:64h,#0001000004010​000:64h,#000104010421:64h,#0001040100000001:64h,#0:64h,#0401000104010000:64h,#00​0104010001:64h,#0400000100010001:64h,#0401000100000401:64h,#0021040100010401:64h​,#0001040100010401:64h,#0021000100010421:64h,#0001040000000401:64h,#040100010421​0001:64h,#0001040100010401:64h,#0401042104010001:64h,#0420002104010421:64h,#0422​082204220401:64h,#0421042204220822:64h,#18A314A314A30422:64h,#10A314A314A314A3:6​4h,#14C414A314A314A4:64h,#08220C6310A314A3:64h,#084210430C430842:64h,#0C43042104​210401:64h,#10630C230C431043:64h,#14C318C314C314C4:64h,#08210C230C431063:64h,#14​C314A310A31063:64h,#0C4314A314C414A3:64h,#3B7F2E7514A30C62:64h,#373E3B3E375F3B5F​:64h,#3B3E373E373D3B3E:64h,#373E373E373E373E:64h,#373E373D373E373E:64h,#373E373D​373E373E:64h,#373E373E373E373E:64h,#373E3B3D373E373E:64h,#375F3B5E373E373E:64h,#​0CA410A410A536B8:64h,#0CA40CA40CA410A4:64h,#0C830CA408A40C84:64h,#0C84088408A40C​83:64h,#0022046304420883:64h,#0042004204430442:64h,#0022042200220443:64h,#002200​2204430022:64h,#0022042200220022:64h,#0CA4088400010022:64h,#10A40CA40CA40CA5:64h​,#0441084204210883:64h,#0CA40CA404411063:64h,#0CA50CA40CA410A4:64h,#0CA50CA40CA5​0CA4:64h,#08A40CA40CA50CA4:64h,#04220C8310A410C5:64h,#0022044204230442:64h,#0442​004200220443:64h,#0CA40CA50CA40CA4:64h,#0C840CA40C840CA4:64h,#002208640CA40CA4:6​4h,#0442044200420443:64h,#0442004208630443:64h,#0042044200220442:64h,#0442042204​420022:64h,#0422044200220022:64h,#0422002100220042:64h,#0022004204220022:64h,#04​22042200220421:64h,#0041042200210422:64h,#0443046304630463:64h,#0021042200420462​:64h,#0421002104020021:64h,#0421002100200001:64h,#0021000000000001:64h,#00010001​00010000:64h,#0001000000010001:64h,#0001:64h,#39CB18C300010000:64h,#040100000000​0000:64h,#0001040104010001:64h,#0001040100010021:64h,#0401002104010021:64h,#0001​000100010001:64h,#0:64h,#0001000000010000:64h,#000100000001:64h,#000100000001:64​h,#0401042100010001:64h,#0001040100210001:64h,#0001040100010421:64h,#00010401000​10422:64h,#0001000100210401:64h,#0001000100010421:64h,#0001040100210421:64h,#042​1000100210001:64h,#000100010021:64h,#0421084204220422:64h,#0422042104210822:64h,​#18C314A314C30C62:64h,#14C514C314A314C3:64h,#14A314A314C314A3:64h,#108310A414A31​0A3:64h,#042208220C431083:64h,#0421042104220422:64h,#14C310A308230C43:64h,#14C31​4C310A414C4:64h,#0C430C43106314C3:64h,#08220C4308430C63:64h,#10821D0410830822:64​h,#18E718C318C30C43:64h,#373E375F3B3E2E32:64h,#373E373E373E373E:64h,#373E373E3B3​D373E:64h,#3B3D373E373E3B3D:64h,#3B3E373E373E373E:64h,#373E373D3B3E373E:64h,#3B3​E373E373E3B3E:64h,#3B7F3B5F375E373E:64h,#0CA40CA510A421AF:64h,#0CA40CA40CA40CA4:​64h,#0CA40CA40CA50884:64h,#0CA40CA30CA40C84:64h,#0042044308630CA4:64h,#044300220​4420042:64h,#0043002200420423:64h,#0042002100420442:64h,#0422044204220422:64h,#0​862084204210042:64h,#10A40CA40CA410A4:64h,#4A3108630C8310A4:64h,#0C8310A4086356B​5:64h,#0CA50CA40CA40CA4:64h,#10A508840CA50CA4:64h,#0CA40CA40CA40CA4:64h,#0022084​20CA40CC5:64h,#0022044200420042:64h,#0422044204420442:64h,#0CA40C8404420042:64h,​#0CA40CA40CA410A4:64h,#002208630CA50CA4:64h,#0442002200420443:64h,#0C84086310C50​CA4:64h,#0422044200220842:64h,#0022044200420442:64h,#0442044304420041:64h,#04420​02104220042:64h,#0022044200220022:64h,#0021042100420421:64h,#0021042200220022:64​h,#0462046304420021:64h,#0021044200630463:64h,#0021002100210021:64h,#04420042000​10021:64h});
END;

Result was "DimGrob 1", but I have know idea as to what is in that DIMGROB statement nor how to use it.

I appreciate your feedback, but I'm still no further ahead.

Bob

Oh and don't apologize for your English. It's hugely better than my French.

(10-23-2022 06:18 AM)Tyann Wrote:  Bonjour,
La Prime dispose d'un écran physique G0 de 320*240 pixels et
de '9 écrans logiques' G1.....G9.
Ces écrans logiques peuvent servir à copier tout ou partie de l'écran physique
ou d'un autre écran logique en modifiant même la taille éventuellement (BLIT).
Vous pouvez dessiner dans un écran logique.
DIMGROB permet de spécifier la taille d'un écran logique, celui-ci peut être plus petit
ou plus grand que l'écran physique et doit être programmé avant d'utiliser ces écrans logiques.
Vous pouvez spécifier une couleur de fond ou une liste de données pour créer une image.
Cependant pour afficher une image à vous le plus simple est de passer par AFiles dans une application.
Il y avait aussi la fonction ICON qui permettait de définir directement une image dans le corps
du programme, c'est à cette fonction qu'est destiné DIMGOBHELPER je crois.
Cette solution était viable pour de petites images mais pas pour des images de 320*240 pixels par exemple, c'est pourquoi ensuite AFiles est arrivé.
Espérant avoir aidé.

Hello,
The Prime has a physical screen G0 of 320*240 pixels and
9 logical screens' G1.....G9.
These logical screens can be used to copy all or part of the physical screen
or another logical screen, possibly even changing the size (BLIT).
You can draw in a logical screen.
DIMGROB allows you to specify the size of a logical screen, which can be smaller
or larger than the physical screen and must be programmed before using these logical screens.
You can specify a background colour or a data list to create an image.
However to display an image to you the easiest way is to go through AFiles in an application.
There was also the ICON function which allowed you to define an image directly in the body of the program.
of the program, which is what DIMGOBHELPER is for, I believe.
This solution was viable for small images but not for images of 320*240 pixels for example, that's why then AFiles arrived.
Hoping to have helped.

Translated with http://www.DeepL.com/Translator (free version)
Find all posts by this user
Quote this message in a reply
10-23-2022, 09:53 PM
Post: #4
RE: DIMGROB for newbies
(10-23-2022 08:54 PM)forexbob Wrote:  EXPORT DimGrob
BEGIN
//DIMGROB_P(G, w, h, [color]);
DIMGROB_P(G, 320, 240, [0,0,255]);
END;
With this one I get a syntax error

You need to specify the graphic. Instead of only "G", you have to choose one of G1 through G9. The brackets "[]" indicate that color is optional. If you use the RGB syntax it would be RGB(0,0,255)
E.g.: DIMGROB_P(G1, 320, 240, RGB(0,0,255))
Find all posts by this user
Quote this message in a reply
10-23-2022, 09:53 PM
Post: #5
RE: DIMGROB for newbies
Try this
Code:
DIMGROB_P(G1,320,240,#FFFFFFh);
color is optional, but this shows one of the formats for the color input. See also RGB command for colors. For example RGB(255,255,255) will return #FFFFFFh but you can use that inline too
Code:
DIMGROB_P(G1,320,240,RGB(255,255,255));

The "G" should be any of the G0-G9 graphics. G by itself will not work.
Visit this user's website Find all posts by this user
Quote this message in a reply
10-24-2022, 05:03 AM
Post: #6
RE: DIMGROB for newbies
Bonjour

Code:
DIMGROB_P(G1,320,4,{#0001000104210021:64h,#0001000000010001:64h,.......

Cette instruction définit une image de 320 pixels par 4 pixels dans l'écran G1, les valeurs entre accolades définissent la couleur de chaque pixels.
Vous voyez la taille du code, je vous laisse imaginer pour une image de 320*240 pixels.

Hello

This instruction defines an image of 320 pixels by 4 pixels in the G1 screen, the values between braces define the colour of each pixel.
You see the size of the code, I let you imagine for an image of 320*240 pixels.

Sorry for my english
Find all posts by this user
Quote this message in a reply
10-24-2022, 03:46 PM
Post: #7
RE: DIMGROB for newbies
Thanks all for your help. It makes sense to me now whereas before it was gobbaldy-gook. I at least have a jumping off point now.

Thanks again,
Bob
Find all posts by this user
Quote this message in a reply
10-25-2022, 02:16 PM
Post: #8
RE: DIMGROB for newbies
I would not use DIMGROB anymore except possibly for some really small sprites. Much easier just use a png in your data files - either in your app files or program files.

TW

Although I work for HP, the views and opinions I post here are my own.
Find all posts by this user
Quote this message in a reply
10-25-2022, 08:17 PM
Post: #9
RE: DIMGROB for newbies
(10-25-2022 02:16 PM)Tim Wessman Wrote:  I would not use DIMGROB anymore except possibly for some really small sprites. Much easier just use a png in your data files - either in your app files or program files.

Thanks Tim, I'll see what I can do now without DIMGROB.
Think I'm too much of a rookie so far though.
But I'll keep playing.
Find all posts by this user
Quote this message in a reply
Post Reply 




User(s) browsing this thread: 3 Guest(s)