It looks very much like the feature which was included in the Workbench menu in 4.1FE Update 2 a couple of years ago.
From the ChangeLog.guide of Update 2: Quote:
workbench.library v53.62
NEW o Added "Shutdown..." menu item which opens a requester allowing to select between doing a soft reset, a hard reset or a power off (if supported). Before a reset or power off is performed all filesystems will be flushed and inhibited.
Note that I'm not trying to put down your work, I'm sure it's a good experience to create this program - I also make more or less useful programs myself just in order to learn and practice.
And of course your program may well have features the builtin one doesn't, I haven't tried yours. At least the builtin one creates a much smaller requester, which may or may not be an advantage; it's probably a matter of taste.
But just wanted to make sure you were aware of this .
dfstudios wrote:I've now got a working version of OS4Reboot (currently retitled as PowerReboot) that can power off the system:
I've still got a bit of work to do before it is ready for release, but hopefully it won't be too long.
Soft Reboot/Hard Reboot/Shutdown is already available from AmigaOs4.1 Update 2 via the WB menu, but I also know your tool and find it nicer and you can start it quickly via AmiDock.
Before you publish your tool on Os4Depot or your website (yes I have already visited it) is there a possibility that we could translate the tool into German? I would do the translation myself if your tool also supports catalog files.
MacStudio ARM M1 Max Qemu//Pegasos2 AmigaOs4.1 FE / AmigaOne x5000/40 AmigaOs4.1 FE
It looks very much like the feature which was included in the Workbench menu in 4.1FE Update 2 a couple of years ago.
Thanks for your comments, they are genuinely appreciated.
Before I got my A1222, I did have plans to revisit my OS4Reboot tool which I probably last looked at in 2005 or 2006 (wow, how time flies! ) when I still had my Micro-A1 (I unfortunately had to sell it along with some other things due to unexpected money issues at the time). When I got the A1222 and discovered it already had this functionality I originally decided to forget about OS4Reboot, but due to interest here I decided to go ahead with giving it an overhaul.
I don't have a lot of C programming experience (I'm more of a BASIC guy), so as you said this is a good opportunity to learn and practice. Plus, it also gives me the opportunity to add features and fix things that I wanted to do first time round.
Before you publish your tool on Os4Depot or your website (yes I have already visited it) is there a possibility that we could translate the tool into German? I would do the translation myself if your tool also supports catalog files.
Having different translations is one of the things on my list that I definitely want to add. I just need to have a look at how best to do this.
The best place to learn about how to implement localization of your program is the CatComp.doc in SDK:Documentation/Tools/Locale/ - I've just done it to a small program I'm working on.
Find all the strings you need to localize in your program and create a .cd (catalog description) file with them. Using that file and your source file(s), you can make CatComp create the necessary header file with the strings and code for a GetString function, which you then call in your code as a replacement for each string.
Later, you can make CatComp create, based on the .cd file, a .ct (catalog translation) file in which the translator can enter the translated strings, and then CatComp can compile the finished .catalog file from the .cd and .ct files.
In broad terms, that should be it, but read though the doc, and all should be clear.
The German translation is perfect and reads as it should. cool....PowerReboot is already in use, I run it via AmiDock, but I always have to click on it twice for the menu to be displayed.
Thank you for wanting to translate your tool into other languages ๐
Edited by Maijestro on 2024/6/17 9:58:02
MacStudio ARM M1 Max Qemu//Pegasos2 AmigaOs4.1 FE / AmigaOne x5000/40 AmigaOs4.1 FE
The German translation is perfect and reads as it should. cool....PowerBoot is already in use, I run it via AmiDock, but I always have to click on it twice for the menu to be displayed.
Thank you for wanting to translate your tool into other languages ๐
Thanks for confirming the translation, although there are other bits of language not shown in the screenshots.
It seems to be a common issue that people are having with the double-click from the dock. PowerReboot was designed to be run first to load it into memory which allows it to create the entry in the Workbench's Tools menu and run as a commodity. Subsequent runs will bring up the requester if it has been configured that way. Running it as a WBStartup item (you'll need to add DONOTWAIT to the icon ToolTypes - I forgot to add this in the 0.8 release ) will do this. The guide explains this, but I'm wondering how I can make it clearer for the end user.
The current developmental version adds a NONRESIDENT ToolType so it won't remain in memory and can activate the requester on the initial run of the program.
Kind regards,
Francis
Amiga 1200 with Apollo IceDrake Amiga 1222+ with RadeonRX 550
@dfstudios I wonder if support for amigaone could be added as well. The pegasos2 and amigaone in QEMU use the same VIA chip emulation (with some differences for VT82c686B and VT8231) but only the pegasos2 version has shutdown in 4.1FE Update 2. The amigaone also has the necessary power management registers for shutdown but AmigaOS does not use it. Maybe it does not use it on pegasos2 either and calls the firmware for that, I don't know. But a tool could access the hardware registers and do the shutdown. Although I'm not sure this would work on real machine. Does anybody know if real AmigaOne can be powered down from software and it's just missing support in AmigaOS or it lacks hardware support for that? It could still work with the emulated amigaone machine but that would make the tool not suitable for real machines so in that case it might need a special option to enable this for emulated machines only.
By "support for amigaone" are you referring to the older Eyetech systems? As far as I am aware, these don't have the hardware to support software shutdown.
I could include an option that ignores the check to see if shutdown is supported. This would force the shutdown option to appear, but might not work to actually do the shutdown.
Kind regards,
Francis
Amiga 1200 with Apollo IceDrake Amiga 1222+ with RadeonRX 550
Thanks I have added PowerReboot to WBStartup including "DONOTWAIT" and it now works perfectly via AmiDock
What I also noticed is that "poweroff" is done much faster than the integrated shutdown via AmigaOs4.1 menu.....I like it.
Thank you very much, now only the translation in my language is missing, which was done well by the AI, you can take it over like this.
Something else about Qemu/AmigaOneXE I should probably test the tool here too, unfortunately this machine cannot be shut down in the same way as the Pegasos2 machine via the menu. But it's not a priority for me at the moment until 3D acceleration and 32 bit resolutions are available.
Edited by Maijestro on 2024/6/15 21:43:50
MacStudio ARM M1 Max Qemu//Pegasos2 AmigaOs4.1 FE / AmigaOne x5000/40 AmigaOs4.1 FE
I could include an option that ignores the check to see if shutdown is supported. This would force the shutdown option to appear, but might not work to actually do the shutdown.
Of course you'd also need to add some code to write the register of the VIA chip power manager function to do the shutdown. The io port address of that register depends on where it's mapped so the proper way to find it would be to find the PCI PM function of the VIA chip and read the config register 0x48 that sets the base address of the power control register. Then writing 0x28 to the high byte of the power control register should put the machnie in soft off state. AmigaOS seems to map the PM ports to 0xdd00 so the power control may be at 0xfe00dd05 but I don't know if this is always there or depends on other cards so reading the config register to see where it's mapped is better. But for testing you could try if writing 0x28 to 0xfe00dd05 works at all at least on emulated amigaone machine.
What I also noticed is that "poweroff" is done much faster than the integrated shutdown via AmigaOs4.1 menu.....I like it.
I wonder if that's because the integrated one would also fulsh some disk caches or do some other things to make sure shutdown is safe while the external tool just pulls the plug and turns off the machine. In that case maybe it's better to use the official way.
What I also noticed is that "poweroff" is done much faster than the integrated shutdown via AmigaOs4.1 menu.....I like it.
I wonder if that's because the integrated one would also fulsh some disk caches or do some other things to make sure shutdown is safe while the external tool just pulls the plug and turns off the machine. In that case maybe it's better to use the official way.
Yes, the inbuilt function inhibits and flushes the filesystems prior to rebooting or shutting down. It's not something PowerReboot can do yet.
Kind regards,
Francis
Amiga 1200 with Apollo IceDrake Amiga 1222+ with RadeonRX 550