Ok, I think I got the I/O error fixed in V5.2. Email sent to you CSa3d.
(Fingers crossed and praying out loud.)
Welp, I am still experiencing some issues, but at this time I cannot consistently reproduce what causes my problems.
I'll play with it some more another night and try to help narrow down what's going on.
I was pretty "IO Error Free" until I switched the settings in Mala's config dialog for Startcom from 2 - 2 to 1 - 1. Previous versions of Startcom acted worse using 2 -2 then 1 -1, and I wasn't experiencing any issues IO Errors, so I decided to switch it for testing purposes. Upon doing so, it was IO error hell, which forced a hard reboot to regain control. I'm unsure what spawned this behavior, but I"m pretty sure it involved switching from mame vertical mode to Stella (atari) horizontal.
Issues still present in 5.2:1. Vertical lists are still incorrectly rotated upside down when returning to the menu. It's clearly visible that the menu gets rotated twice. The first rotation set's it proper, the second one flips it upside down incorrectly. I'm wondering if this isn't due to loadman's fix where he moved some code around in something or another to help us try to fix the option of "wait until launch" or something.. I'll dig up that post in a bit to cross reference.
EDIT: It's either
this post or
this post I think..
Is it possible to add an orientation check in Startcom to query if the menu is actually ALL READY in the correct orientation before calling the menu rotation command? This shouldn't slow down much, and might remove the issue. Also remember that there's a checkbox in one of Mala's many tabs which makes makes Mala flip the screen the opposite of "normal direction" for those of us who accidentally installed their screen 'wrongly'.
2. Both options which change the emulator launch timing still have issues with the Stella Atari emulator. I think this emulator is retarded like that, and unsure there's much you can do to fix that, though I encourage you to try
3. The launch image still does not stay on top while the monitor is rotating and the Mala menu is flipping. I'd really like to be able to hide all screen activity and shenanigans while the rotation happens.
4. I started using LedBlinky's speak the controls options. This functionality now messes with the timing of all system events. Startcom doesn't get called until LedBlinky is done talking. It would be ideal if the entire system behaived like so:
a.) Select a game, any emulator
b.) Display the launch image, do not let it go away until the emulator actually is loaded
c.) Begin monitor rotation
d.) Speak the LedBlinky controls while the screen is spinning (what else is there to do, let's overwhelm our guests with coolness here!)
e.) Emulator has finally loaded
f.) Remove the full screen launch image and release control to the emulator.
As all of you have probably figured out by now, im new to delphi. VB6 is my cup of bitter tea, but I am slowly learning.
The I/O bug was appearing when startcom was checking to see if the file startcom.ini existed or not.
In VB6 the "If fileexists" statement is pretty straight forward, but in Delphi I guess it is not.
No worries here! It's not like you're being paid for your masterful code skills.. though I'm willing to send beer money
Once I get all the little bugs worked out I plan to go on to startcom reading and writing directly to the printer port, making mrotate2 not needed for Mala.
Unfortunately, I think this is a major reason that I'm still seeing IOErrors. More research will follow over the next few nights. Thanks again for looking into this.
OH YEAH... what size and file format for the config images of the MRotate icon did you want?
-csa