Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Description of appl_control maybe incomplete #120

Open
th-otto opened this issue Apr 18, 2023 · 12 comments
Open

Description of appl_control maybe incomplete #120

th-otto opened this issue Apr 18, 2023 · 12 comments

Comments

@th-otto
Copy link
Contributor

th-otto commented Apr 18, 2023

I'm currently investigating a problem with taskbar, and from the disassembly i can see that the ap_cout parameter that is passed to appl_control always points to an array of 2 shorts. So maybe the description at

For (!I)ap_cout(!i) a pointer to an integer is to be passed

is incomplete. Can someone check whether N.AES actually writes something to ap_cout[1]? If so, that should atleast be mentioned there, even if it is always zero.

@xdelatour
Copy link
Contributor

xdelatour commented Apr 22, 2023

Check with a GEM app with menubar:

  • APC_INFO (14): the first short ap_cout[0] is filled with infos ($2), the second short ap_cout[1] contains garbage ($48)
short info;
r = appl_control(apid, 14, (void*)&info);
printf("%x\n", info); /* 2 (APCI_HASMBAR) */
  • APC_MENU (15): expected return value=OBJECT *
OBJECT *addr;
r = appl_control(apid, 15, (void*)&addr);
printf("address=%.08lx\n", (long)addr); /* same as (long)addr_menu of the installed menubar */
  • APC_WIDGETS (16): expected return value: fill a buffer where ap_cout points to
short widgets[]={-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0};
r = appl_control(apid, 16, widgets);
for (i=0;i<12;i++) printf("%d\n", widgets[i]);
Outputs: 2, 3, 30, 19, 4, 10, 13, 11, 15, 18, 16, 0
  • APC_APP_CONFIG (17): expected return value: none, ap_cout is a pointer to a string
char *enable_dbg="app_debug";
r = appl_control(apid, 17, enable_dbg);

Returns 0 (failure) but APC_APP_CONFIG is missing from doc

[EDIT] In the MyAES programmer guide, APC_APP_CONFIG is 50, not 17

@th-otto
Copy link
Contributor Author

th-otto commented Apr 22, 2023

Ah, thanks. Do you maybe have a similar setup as geneva for N.Aes?

@xdelatour
Copy link
Contributor

Unfortunately no, not yet. Also on my ToDdo list. I have to change my mint.cnf each time to switch from XaAES to N.AES

@xdelatour
Copy link
Contributor

Do you maybe have a similar setup as geneva for N.Aes?

Available on my website through a link on the wiki. It's surely possible to do better, maybe a single setup with all the aes...

@th-otto
Copy link
Contributor Author

th-otto commented Apr 23, 2023

Nice, thank you. BTW is there maybe a problem with http caching on your website? I first didn't see the archive, until i hit F5 to reload the page.

BTW2, disabled menu items look at bit strange in N.Aes:
Screenshot_20230423_123712

Is that normal, or maybe a bug in fVDI?

@xdelatour
Copy link
Contributor

xdelatour commented Apr 23, 2023

BTW is there maybe a problem with http caching on your website?

It's possible, I'm updating several pages at the moment. I did not look into the management of the cache of Grav

Is that normal, or maybe a bug in fVDI?

I don't know. My N.AES install comes from multiple sources (the .SYS file was found on a ftp, the skins somewhere else and the configuration file from yet another place). Its also why the tools (nclosure...) are missing.

By the way, fVDI have a lot of problem.

  • oAESis doesn't work with the current snapshot. I thought it was because of the mouse driver but the mouse works with a different fvdi.prg (I can't remember if it's from an old snapshot or if I recompiled it)
  • AES 4.1 with default fVDI settings (32b) displays all white desktop icons. No problem with 16b colors, or without fVDI.

I'm not sure I'll be done by tonight (I'm busy this afternoon), just missing MagiC and MultiGem for now, MagiC can't access hostfs and MultiGEM has to boot from a floppy.

@lpgb
Copy link
Member

lpgb commented Apr 23, 2023

BTW2, disabled menu items look at bit strange in N.Aes:

Is that normal, or maybe a bug in fVDI?

ARAnyM with only NVDI 5.03. fVDI totally disabled. N.AES in 256 color mode.

Screen Shot 2023-04-23 at 9 23 04 AM

Maybe it is related to N.AES setting? This can be set in n_aes.cnf as well.

Screen Shot 2023-04-23 at 9 34 40 AM

@xdelatour
Copy link
Contributor

xdelatour commented Apr 23, 2023

Maybe it is related to N.AES setting? This can be set in n_aes.cnf as well.

Thanks, you're right. My n_aes.cnf has disablecolor = lcyan
With 9, it looks like:

naes9

As my config file was found on Internet, I have no idea about the default settings

@mikrosk
Copy link
Member

mikrosk commented Apr 24, 2023

I have to change my mint.cnf each time to switch from XaAES to N.AES

Not like it solves all the issues but I have learned to use different config files and include them. That way you can prepare N.AES-specific settings, XaAES-specific settings etc and just change one line (include xaaes.cnf instead of include naes.cnf).

Another trick I'm using is starting AESes manually, also via separate scripts. That works even for different xaaes versions (one can supply path to xaaes to xaloader.prg).

@xdelatour
Copy link
Contributor

xdelatour commented May 2, 2023

Hi @th-otto, I updated n_aes.cnf to disable custom colors. All default values are available in n_aes.hyp

@mikrosk I tried (unsuccessully) to build vlogin many months (or years) ago. Black screen only and no mouse.

@mikrosk
Copy link
Member

mikrosk commented May 22, 2023

@xdelatour hmm, I'm pretty sure that I did see vlogin working at some point. Surely around the time of 1.16 release, maybe you can try that version?

@skaftetryne
Copy link

Can someone check whether N.AES actually writes something to ap_cout[1]?

Taskbar has called appl_control/APC_INFO with a pointer to an int since the beginning, as this is how it's documented in the N.AES docs. For all the modes where ap_cout isn't documented to be used for anything I pass a pointer to a long, I can't remember why I did this 25+ years ago, but possibly because it didn't work if I passed a NULL-pointer.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants