Closed Axle-Ozz-i-sofT closed 1 year ago
Hi Axle,
Thank you for the very thorough description of the issue! By your description, I was able to quickly identify and fix the issue.
As it turns out, it was quite a simple fix. In older versions, I did not permit deletion of the last icon on a desktop. I changed this behavior to give the user more freedom, but I accidentally left in a piece of code in the function that loads icons from the DESKLNKx.DAT files:
IF LinkCount <= 1 THEN
CLOSE #FileHandle
REDIM DeskLink(0 TO 0) AS DeskLinkType
EXIT SUB
END IF
Simply changing "<=" to "<" fixed the issue. While I was in the code, I also noticed that I didn't handle non-existing DESKLNKx.DAT files very well when switching pages, so I fixed that at the same time.
A new release, 1.7.3, has been made available with these fixes. Thank you very much for bringing it to my attention - I hope you'll enjoy Costa and that your journey with DOS and VBDOS will be as fun for you as it has been for my over the years :) Feel free to reach out any time if you want to discuss something or get some pointers, I'd be happy to help.
Thank you @jacobpalm Off by ones ( a<b | a<=b ) are my worst enemy as I tend to code in C, FreeBASIC and Python at the same time and the array|list enumerations are different [0 to n-1] vs [0 to n] vs [1 to n] lol
I am hacking the FreeDOS 1.3 distro to pieces at the moment testing different applications to find my custom setup, so I will upgrade to Costa 1.3.7 when I do my clean install. (it's working fine with the hack at the moment.)
Questions... Prob 100 in my mind at the moment lol
The short list: Can I add an additional desktop beyond the 5, or is the five a hard coded limit? (You know I am about to copy paste a DESKLNK6.DAT and grit my teeth waiting for the crash lol)
What is the ICON format .BSV BSAVE. And do you know of a Win32 converter BMP|ICO 2 BSV app?
I have VBDOS installed but I am not familiar with VBAS so I have a learning curve ahead. I'll try some basic examples to get my head around it then I'll have a look at your Costa source as a GUI example. I will prob start up in C with Turbo, Watcom and DJGPP as it more native to me, and traditional BASIC and FreeBASIC is also native, then I will jump into VBDOS. Do you know of any simple C (Not C++) GUI toolkits for DOS?
And last, if you have any idea how to get the generic SB16 drivers to work in VitualBox? (This is likely impossible. I can get sound with some applications, but very few.)
I looked at most of the graphical Winows-ish like desktops available from the time (and recent), but not really what I wanted as they just go too far toward trying to be a win32 environment. Costa is is perfect, simple and convenient desktop launch pad that will be my best friend in a DOS environment :) Even File Maven 3 may take a close second place now lol
Costa in action (I will be doing some YT Videos on DOS programming soon, so Cost will be center piece).
Hi :) I am experimenting with FreeDOS 1.3 as a VirtualBox client and really like the simplicity of the Costa GUI Launch.
I am using Costa V 1.75 (Have tried the older version as well).
Issue: I can't add icons/links to the 2, 3, 4 or 5th panel (desktop). [Add icon] creates the entry in the database table DESLINKn.DAT but the icon does not display. The *.DAT file shows the entries in a hex editor. If I replace DESLINK[2, 3, 4, 5].DAT with a copy of DESKLINK1.DAT the icons do display and I can add additional icons. If I remove most of the DESLINK[2, 3, 4, 5].DAT icons, the icons no longer display and I cannot see added icons, even though the .DAT file appears to show the icon entries.
I haven't had a chance to read the source to understand the database scheme as yet, so I can't see where the problem is at the moment.
I am just going to persist with the copy paste hack for the moment :)
Best regards Axle
P.S. I was setting up Costa with a profile or desk space so I can jump into VBDOS and FreeBASIC to try my hand at some DOS programming :) I'll no doubt use the source from Costa as a starting point to learn from :)