News on my GEM applications

All about the serious stuff.

Moderators: Mug UK, Zorro 2, Moderator Team

ThorstenOtto
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 3270
Joined: Sun Aug 03, 2014 5:54 pm

Re: News on my GEM applications

Post by ThorstenOtto »

When trying to RESTart an aborted transfer, the downloaded file is 1 byte too short. I also get an warning message in the console log about a file size mismatch, and an error message about an incomplete transfer.
I think the culprit is

Code: Select all

~@ftp_send(browse_srv_current_ptr%,"REST "+STR$(SUCC(receive_filelen%)))
where it adds 1 to the size of the already existing file.

The filesize mismath seems to result from

Code: Select all

IF GEMDOS(66,L:0,W:rec_handle&,W:2)=receive_file_length%
where the total filesize is compared to the number of transferred bytes (which is less when restarting a transfer)

Edit: Such errors are only written to the console log. I would suggest to also display critical errors in the error line of the window, in case the log is not opened. Apropos console log: is there a reason why it is displayed upside down (with most recent messages at the top)? That looks quite confusing.
User avatar
Rajah Lone
Atari Super Hero
Atari Super Hero
Posts: 541
Joined: Wed Aug 07, 2002 12:27 pm
Location: Lyon / France
Contact:

Re: News on my GEM applications

Post by Rajah Lone »

P2SM 1.1: blog or directly
Now hopefully a demure drawing tool.

Raster window
- add: brush (draw with 16x16px pattern).
- add: gum color is possible for flood filler.
- add: « a=b » button for equal sides (square/circle for rectangle/ellipse).
- add: settings button: fill pattern for surfaces, type-width-ends for lines.
- add: remember sliders positions.
- mod: allow zoom up to 32 if image =< 128*128px.
- fix: zoom>1 still displayed image evenif deselection in image list.
- fix: use other safer algorithm for flood filler (stack overflow).
- fix: forgot the ‘modified’ flag for VDI basics and flood filler.
Palette tool
- add: rearrange palette order.
- add: generate gradient in colors modificator.
- fix: could not select index 0 in palette tools color table.
Images list
- fix: 2 bitplanes images are loaded and converted to 4 bitplanes.
- fix: double-click on toolbar opened the metadatas window.
- fix: closing an image made the next ones with bad palette.
Miscellaneous
- mod: Text window becomes Tools attributes window with sub-panels.
- add: save tools attributes and preferences windows positions in CFG file.
- fix: alert if screensize is not enough.

Some screenshots:
snap001.png
snap002.png
snap003.png
snap004.png
snap005.png

TODO:
? raster+tools+palette modes pop-up: icons instead of labels?
? raster work: mouse cursor reshaped according to the workmode?
? fix: palette tool: selected color redraws?
? user defined pattern for rectangle/ellipse/line/brush?
? antialiasing?
? split raster function, into small images (./image.gif > /image/a1.gif a2.gif etc). Vertical = number (1 to N), horizontal = letter (A to Z)
- save images list as project.
- layers (suggestion by _Dbug_).
? save a copy to scrap.img?
? Windows palette *.pal format support?
And more, depending on suggestions or needs.
You do not have the required permissions to view the files attached to this post.
User avatar
Rajah Lone
Atari Super Hero
Atari Super Hero
Posts: 541
Joined: Wed Aug 07, 2002 12:27 pm
Location: Lyon / France
Contact:

Re: News on my GEM applications

Post by Rajah Lone »

Litchi 1.3K: blog or directly
- add: get actual remote selected files sizes before download (passive mode only).
- mod: download file/name conflict dialog was always displayed if the download directory was truncated (GEMDOS 292, mode 5 => DOS8+3). Now behavior is same as directory containing long filenames, so it appears only if set in the preferences (misc > transfer > ask). So be careful with two remotes files with long names that may become one local file with DOS8+3 name.
- mod: download file/name conflict dialog: « Abort » button instead of option.
- fix: hide « same choice for next conflicts » if download is just for one file.
- fix: bad value for resume download (REST command) (not tested).
- fix: miscellaneous preference choice for download file/name conflict didn’t save « forget, go to next file » choice in the config file.
- fix: use _MCH>&H40000 for ARanyM and V4SA for strong_cpu! flag.

Thanks to MiKRO and T.Otto
mikro
Hardware Guru
Hardware Guru
Posts: 4490
Joined: Sat Sep 10, 2005 11:11 am
Location: Kosice, Slovakia
Contact:

Re: News on my GEM applications

Post by mikro »

Great work, many thanks!
ThorstenOtto
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 3270
Joined: Sun Aug 03, 2014 5:54 pm

Re: News on my GEM applications

Post by ThorstenOtto »

Thanks for the update!

In the meantime, i found some other minor issues:
  • The call to font_set_height while loading the options may draw the object on the desktop, because the dialog is not open there.
  • At several places, you explicitly check for a response code of 211 (eg. in the info dialog, or when checking the features). However the ftp servers that i tested all answer with a response code of 212 or 213. Maybe better to just check for the response code class (2)?
  • When trying to get info about a directory, you send a "STAT ./" command, then search for the filename. However that command will list the whole directory, which may not fit in a string. Dunno if there is a better way to obtain info about the directory only (maybe the MLST command should work). Also the parsing of the info does not seem to work, because the lines start with a space, not the permissions.
  • There is no error message at all when a directory listing is too large to fit in the buffer. I can of course increase the buffer size, but it would be nice to get a hint about that instead of silently truncating the listing.
BTW, the crash in Magic when using Fcntl(F_SETFL) is due to a bug in MagxNet. It expects the *address* of the flags to be passed, not the value. See https://github.com/th-otto/magxnet/blob ... c#L227-233

Edit: your new feature to recheck the remote file size does not work. I get

Code: Select all

550 'foo' is not a directory
And could that maybe be disabled by an option? I think it causes quite some slowdown for an additional roundtrip for every file.
mikro
Hardware Guru
Hardware Guru
Posts: 4490
Joined: Sat Sep 10, 2005 11:11 am
Location: Kosice, Slovakia
Contact:

Re: News on my GEM applications

Post by mikro »

ThorstenOtto wrote: Wed Jul 17, 2024 8:44 amEdit: your new feature to recheck the remote file size does not work. I get

Code: Select all

550 'foo' is not a directory
And could that maybe be disabled by an option? I think it causes quite some slowdown for an additional roundtrip for every file.
Hmm, it's true I didn't test directory download. And indeed, if copying multiple files, I think it should refresh the folder once and then copy everything (I guess nobody sane would update files during the folder download).

Btw, Magxnet: since you have managed to recompile the whole kernel, wouldn't be better to align its behaviour with MiNT(Net) ? Or at least make it an option / flag somewhere?
User avatar
Rajah Lone
Atari Super Hero
Atari Super Hero
Posts: 541
Joined: Wed Aug 07, 2002 12:27 pm
Location: Lyon / France
Contact:

Re: News on my GEM applications

Post by Rajah Lone »

mikro wrote: Wed Jul 17, 2024 5:06 pm
ThorstenOtto wrote: Wed Jul 17, 2024 8:44 amEdit: your new feature to recheck the remote file size does not work. I get

Code: Select all

550 'foo' is not a directory
And could that maybe be disabled by an option? I think it causes quite some slowdown for an additional roundtrip for every file.
Hmm, it's true I didn't test directory download.
I guess your FTP server uses MLSD instead of LIST. Couldn't test with MLSD, I think MLST is more appropriate to get on file datas rather than MLSD (for whole directory).
Here, all OK with vsftpd (debian in VM in local network), with LIST <filename> gives only files datas and no 550 error.
If it's a folder to download, there is no change from last version. Only selected files at the current directory are tested for size. Folders were already scanned for sizes and contents.

Next dev session for Litchi in 2+ months. I get bored and very reluctant after any software release, like a refractory period. Moreover if there's information flood about it. I would be glad if your interest shifts to something else.
ThorstenOtto
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 3270
Joined: Sun Aug 03, 2014 5:54 pm

Re: News on my GEM applications

Post by ThorstenOtto »

Rajah Lone wrote: Wed Jul 17, 2024 10:25 pm Here, all OK with vsftpd (debian in VM in local network), with LIST <filename> gives only files datas and no 550 error.
Yes, with LIST that would not happen. I can test locally with vsftpd and proftpd. Features of vsftpd:

Code: Select all

211-Features:
 EPRT
 EPSV
 MDTM
 PASV
 REST STREAM
 SIZE
 TVFS
 UTF8
211 End
Features of proftpd:

Code: Select all

211-Features:
 CLNT
 EPRT
 EPSV
 HOST
 LANG zh-TW;fr-FR;zh-CN;es-ES;en-US;it-IT;ru-RU
 MDTM
 MFF modify;UNIX.group;UNIX.mode;
 MFMT
 MLST modify*;perm*;size*;type*;unique*;UNIX.group*;UNIX.groupname*;UNIX.mode*;UNIX.owner*;UNIX.ownername*;
 RANG STREAM
 REST STREAM
 SIZE
 TVFS
 UTF8
211 End
Another one is the ftp server where i host my files. Dunno what server that is (the server is running debian linux):

Code: Select all

211-Features:
 AUTH TLS
 CCC
 CLNT
 EPRT
 EPSV
 HOST
 LANG bg-BG;zh-TW;ja-JP;ru-RU;es-ES;ko-KR;en-US;zh-CN;fr-FR;it-IT
 MDTM
 MFF modify;UNIX.group;UNIX.mode;
 MFMT
 MLST modify*;perm*;size*;type*;unique*;UNIX.group*;UNIX.groupname*;UNIX.mode*;UNIX.owner*;UNIX.ownername*;
 PBSZ
 PROT
 RANG STREAM
 REST STREAM
 SITE MKDIR
 SITE RMDIR
 SITE SYMLINK
 SITE UTIME
 SIZE
 SSCN
 TVFS
 UTF8
211 End
ThorstenOtto
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 3270
Joined: Sun Aug 03, 2014 5:54 pm

Re: News on my GEM applications

Post by ThorstenOtto »

mikro wrote: Wed Jul 17, 2024 5:06 pm Hmm, it's true I didn't test directory download.
You misunderstood. That happens when rechecking the actual filesize when downloading selected files, but then sends a "MLSD" command which is only valid for directories.

Btw, Magxnet: since you have managed to recompile the whole kernel, wouldn't be better to align its behaviour with MiNT(Net) ? Or at least make it an option / flag somewhere?
I've thought about that, but the problem is that it would break applications that use the current interface. This would even be true if you change applications like litchi to use the mint interface, these would then crash when running an older magxnet kernel, and there is no easy way to detect which interface to use (or at least it would complicate application code).
mikro
Hardware Guru
Hardware Guru
Posts: 4490
Joined: Sat Sep 10, 2005 11:11 am
Location: Kosice, Slovakia
Contact:

Re: News on my GEM applications

Post by mikro »

ThorstenOtto wrote: Thu Jul 18, 2024 5:32 amI've thought about that, but the problem is that it would break applications that use the current interface. This would even be true if you change applications like litchi to use the mint interface, these would then crash when running an older magxnet kernel, and there is no easy way to detect which interface to use (or at least it would complicate application code).
Would be interesting to know whether there is ANYONE using Magxnet these days. My perception always was that applications either use STiK/STinG or MintNet. I'm not aware of an application which runs on Magxnet and not on Mintnet.
ThorstenOtto
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 3270
Joined: Sun Aug 03, 2014 5:54 pm

Re: News on my GEM applications

Post by ThorstenOtto »

Magxnet essentially is mintnet (just uses the older interface with Fcntl(SOCKETCALL) for socket operations instead of Fsocket() etc., but mintlib takes care of that).
ThorstenOtto
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 3270
Joined: Sun Aug 03, 2014 5:54 pm

Re: News on my GEM applications

Post by ThorstenOtto »

I also just found that different servers seem to behave different with respect to local time. For example on my local host (/srv/ftp is the served directory, and my local timezone offset is +0200):

Code: Select all

$ ls -l /drv/ftp/a
-rw-r--r-- 1 root root 0 18. Jul 09:30 /srv/ftp/a
Using proftpd:

Code: Select all

ftp> ls a
-rw-r-----   1 ftp      ftp             0 Jul 18 07:30 a
ftp> mlst a
 modify=20240718073049;perm=adfr;size=0;type=file;unique=802UDE9AFC;UNIX.group=457;UNIX.groupname=ftp;UNIX.mode=0640;UNIX.owner=457;UNIX.ownername=ftp; /a
Using nsftpd:

Code: Select all

ftp> ls a
-rw-r--r--    1 0        0               0 Jul 18 07:30 a
ftp> mlst a
MLST is not supported by the remote server.
Using pure-ftpd:

Code: Select all

ftp> ls a
-rw-r--r--    1 0          0                   0 Jul 18 09:30 a
ftp> mlst a
 type=file;size=0;modify=20240718073049;UNIX.mode=0644;unique=802gde9afc; a
That is, nsftpd and proftpd report a GMT timestamp for ls, which is imho wrong. Only pure-ftpd reports a local time for ls, and a GMT time for MLST which is what i would expect.
ThorstenOtto
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 3270
Joined: Sun Aug 03, 2014 5:54 pm

Re: News on my GEM applications

Post by ThorstenOtto »

ThorstenOtto wrote: Fri Jun 07, 2024 10:43 am but it takes quite long for litchi to timeout on that.
That seems to be caused by the connect() call, which is done on a socket that is still in blocking mode. I haven't found yet what timeout is then used, but it takes really long. Note that if you set that to non-blocking before the call, you have to check for EINPROGRESS (-325) and EALREADY (-324) error codes (and also take into account the quirks of magxnet as noted above).

Now i have to figure out why i still sometimes cannot connect to the ftp server runing on my linux host. It always works when connecting from linux directly, but only sometimes when trying to connect from aranym. That's not an issue of litchi however, same happens also with a commandline client. It also works when connecting to an outside ftp server.

Edit: another thing where ftp servers behave differently: when you connect to ftp.funet.fi as anonymous, you are immediately logged in, without being asked for a password. That currently seems to confuse Litchi.
User avatar
Rajah Lone
Atari Super Hero
Atari Super Hero
Posts: 541
Joined: Wed Aug 07, 2002 12:27 pm
Location: Lyon / France
Contact:

Re: News on my GEM applications

Post by Rajah Lone »

P2SM 1.2: blog or directly

Changes in 1.2 version:
Raster window:
- add: image rotate in +/-90° steps.
- add: show x+y coords when mouse cursor is in hand pointing state.
- add: can save a block copy to scrap.img (enable it in the preferences).
- fix: infinite loop if flood fill on same color.
- fix: recalculate main color after flood fill.
- fix: bad edges detection (for example, made bad block redraw on edges).
- fix: for some tools, forgot to top window after click in void zone.
- mod: tools are reordered in the pop-up and F1-F10 keys.
Images list:
- add: save and load images list as project (*.ILT), with optional list clearing before loading (enable this in the preferences).
- add: close all images (except those that have the flag ‘modified’).
- fix: wrong address pointer for raster used when closing image.
- fix: alert if try to load image without palette or not handled by RIM (no alert when multiple loads with Drag’n’drop).
- fix: last item wasn’t fully displayed in the window bottom.
- fix: scrolling with down key and item selected.
Preferences:
- fix: buttons still selected after paths were changed.
- fix: could not set default raster tool mode greater than ‘image shift’.
Fileselectors:
- fix: show title (wrong AES/GEMDOS version detection).
- fix: correct use of filters.

Important: for Aranym and fVDI only users. The fVDI driver aranym.sys seems to support offscreen VDI primitives, but the functions are not effective.
See : https://github.com/freemint/fvdi/issues/35
So NVDI is mandatory upon fVDI for Aranym if you want to display correct graphics with P2SM.


p2sm_snap1.png
p2sm_snap2.png
You do not have the required permissions to view the files attached to this post.
User avatar
Rajah Lone
Atari Super Hero
Atari Super Hero
Posts: 541
Joined: Wed Aug 07, 2002 12:27 pm
Location: Lyon / France
Contact:

Re: News on my GEM applications

Post by Rajah Lone »

Litchi 1.3L: blog or repo
- del: removed STAT command from get (remote) file/folder informations.
- mod: revamped file size detection before download, done in one all list refresh instead of one by one (can be disabled in the miscellaneous options).
- add: message in console and log if buffer for remote directory is not enough (edit litchi.cfg and inscrease MISC_LIST_BUFFER_SIZE_KB value).
- mod: errors in console also printed out in log file.
- opt: removed double messages for infos in console and log file.
- fix: anonymous login with direct 230 response instead of 331 (no PASS to use).
- fix: forgot to handle aliases/symlink with MLSD.
- add: try to move to aliases/symlink directory.

-> one can browse into ftp.funet.fi from / and go to the atari folder.
User avatar
Rajah Lone
Atari Super Hero
Atari Super Hero
Posts: 541
Joined: Wed Aug 07, 2002 12:27 pm
Location: Lyon / France
Contact:

Re: News on my GEM applications

Post by Rajah Lone »

(Rage) Screen Saver 1.2: blog or repo
Old tool from the ages when I owned a Falcon+Eclipse+ATI RageIIc.
Code revamped and adapted to run under MiNT and my V4SA. Also compiled for ColdFire V4E (not tested). The PCI stuff for ATI Mach64 is kept for legacy.

You can use it as ACCessory or APPlication, just change the extension. Mouse cursor moves are monitored. If inaction, then 2 sleep modes:

– first is software (MagiC or MiNT required), launching an animation program such as one of my VDI Effects or other you would like. Pexec(100) is used to launch the child program, and Pkill(SIGTERM) to end it, when mouse has been moved.
and/or
– second is hardware (ATI Mach64 on PCI port required), setting off the display in the registers card for the monitor to sleep. Other hardwares may be supported in the future, if dev-doc is available.

Video: https://youtu.be/anRRXFMCCb8


ragecalm_snap.png
You do not have the required permissions to view the files attached to this post.
marss
Atari Super Hero
Atari Super Hero
Posts: 556
Joined: Thu Nov 07, 2002 12:29 pm

Re: News on my GEM applications

Post by marss »

Great!!!
User avatar
viking272
Atari Super Hero
Atari Super Hero
Posts: 912
Joined: Mon Oct 13, 2008 12:50 pm
Location: west of London, UK

Re: News on my GEM applications

Post by viking272 »

Looks really good 👍
Can't believe I watched 1 minute of waiting on a YouTube video for it to kick in, but it was worth it. 😀
User avatar
GokMasE
Captain Atari
Captain Atari
Posts: 318
Joined: Sun Mar 02, 2003 11:16 pm
Location: Sweden
Contact:

Re: News on my GEM applications

Post by GokMasE »

Rajah Lone wrote: Sat Sep 28, 2024 12:39 am (Rage) Screen Saver 1.2: blog or repo
Old tool from the ages when I owned a Falcon+Eclipse+ATI RageIIc.
Code revamped and adapted to run under MiNT and my V4SA. Also compiled for ColdFire V4E (not tested). The PCI stuff for ATI Mach64 is kept for legacy.
Thanks for adapting it to work with the V4SA too - I'll for sure give this one a try :)

Regards,

/Joakim
User avatar
frank.lukas
Hardware Guru
Hardware Guru
Posts: 2636
Joined: Tue Jan 29, 2008 5:33 pm
Location: Germany

Re: News on my GEM applications

Post by frank.lukas »

Nice one ...

I use it with MiNT on my 1040ST Mainboard with PAK68/3 and 64MB Fastram and a ATI MACH64 2MB Graphiccard on a Panther/2 ISA Adapter.

MiNT.jpg
Matrix.jpg

... can it be possible that it runs on any other color graphics card hardwareand MiNT or MagiC? For example on an ET4000?
You do not have the required permissions to view the files attached to this post.
fancy Atari Musik anDA Dance "Agare Hinu Harukana" 1998 ATARI http://www.youtube.com/watch?v=JX10fxb5eYE
User avatar
Rajah Lone
Atari Super Hero
Atari Super Hero
Posts: 541
Joined: Wed Aug 07, 2002 12:27 pm
Location: Lyon / France
Contact:

Re: News on my GEM applications

Post by Rajah Lone »

Thanks guys. On the yt video, you can jump to 1m15s to avoid the wait.
frank.lukas wrote: Sat Sep 28, 2024 11:26 am... can it be possible that it runs on any other color graphics card hardwareand MiNT or MagiC? For example on an ET4000?
It's and/or functions for software and hardware sleeps.

Software sleep is for multitasking OS (Pexec(100) & Pkill(SIGTERM) functions) ; it's supposed to work for hardware sleep under monoTOS as ACCessory setup with PCI bios an ATI Mach64 video card.

Hardware sleep is currently only for PCI bios and ATI card. Possible to add there some support for other hardware if it's correctly documented and "official" API (constant cookies, OS functions, constant address to poke).
User avatar
Rajah Lone
Atari Super Hero
Atari Super Hero
Posts: 541
Joined: Wed Aug 07, 2002 12:27 pm
Location: Lyon / France
Contact:

Re: News on my GEM applications

Post by Rajah Lone »

About ET4000 support, some inquiries on Linux sources along with the Tseng_Labs_ET4000_Graphics_Controller_1990.pdf datasheets (page 139)

Code: Select all

vga_screenoff(...
port_out(0x01, SEQ_I); // going to write to "TS Indexed Register 1"
port_out(port_in(SEQ_D) | 0x20, SEQ_D); // setting  on the bit 5 of this register

vga_screenon(...
port_out(0x01, SEQ_I); // going to write to "TS Indexed Register 1"
port_out(port_in(SEQ_D) & 0xDF, SEQ_D); // setting off the bit 5 of this register
port_in/out() may be just a peek/poke (careful on intel endianess) at SEQ_I/D addresses, offsetted by the ISA registers location.
As for the SEQ_I/D :
#define SEQ_I 0x3C4 /* Sequencer Index */
#define SEQ_D 0x3C5 /* Sequencer Data Register */
In EmuTOS nova.c sources, there are named TS_I and TS_D.

So it should be possible, though one need the hardware for testing. Cookies Jar should be verified to look for ISA bus and type of card.
marss
Atari Super Hero
Atari Super Hero
Posts: 556
Joined: Thu Nov 07, 2002 12:29 pm

Re: News on my GEM applications

Post by marss »

A Radeon version would be great 😁
User avatar
Rajah Lone
Atari Super Hero
Atari Super Hero
Posts: 541
Joined: Wed Aug 07, 2002 12:27 pm
Location: Lyon / France
Contact:

Re: News on my GEM applications

Post by Rajah Lone »

marss wrote: Sat Sep 28, 2024 8:28 pmA Radeon version would be great 😁
PCI bios routines are there, it should look for ATI card. What informations are displayed when selecting the "inquire video card" in the File menu?
marss
Atari Super Hero
Atari Super Hero
Posts: 556
Joined: Thu Nov 07, 2002 12:29 pm

Re: News on my GEM applications

Post by marss »

-
Last edited by marss on Sun Sep 29, 2024 7:11 am, edited 1 time in total.
Post Reply

Return to “Applications”