Development

Since September 2017, the full source code has been available on GitHub, released for free usage under the MIT license. Visit GitHub to see the source code, and to pull a copy for your own use.

 Get source code

At this blog you will be able to follow the development of Costa. Every now and then I will post about the current status of the project, and talk a little about future goals. Atom feed is available, for those who want to keep posted.

Costa 1.7.4 released

Posted on the 1st of October, 2023

Screenshot

Costa 1.7.4 has landed, and includes - like previous versions in the 1.7.x series - mostly fixes and performance improvements.

Read more...

Optimizing the mouse

Posted on the 20th of August, 2023

Screenshot

One of the goals when developing Costa is to include full - but optional - mouse support. Everything should be accessible via keyboard only, even the icon editor can be used with the arrow keys for drawing. But for those with a mouse, certain operations are easier. Now, how can something like the mouse be optimized, you might ask?

Read more...

Bring out the metal detector...

Posted on the 13th of August, 2023

Screenshot

…because it’s time to clear the minefield in the classic PC game Minesweeper! After a couple of months of development when my free time allowed it, the game is finally tested and ready for release as part of Costa version 1.7.4.

Read more...

1.7.2 released - bug fixes

Posted on the 29th of May, 2023

Screenshot

Keeping up with the spirit of 1.7.1, this new release does not bring many new features, but focuses on improvements instead.

Read more...

1.7.1 released - speed and size is key

Posted on the 10th of April, 2023

Screenshot

For once, a new version of Costa - version 1.7.1 - does not bring any new features. Instead, focus has been on improving performance, and on reducing the size of Costa on disk.

Read more...

New year, new release of Costa

Posted on the 7th of January, 2023

Screenshot

2023 has arrived, and with it comes a new release of Costa - version 1.7.0. This version brings a lot of small improvements, but also one major new feature: A file selection dialog. Gone are the days when users would have to enter paths and filenames when adding links to the desktop. Now, users can visually select the file they want to open.

Read more...

Building a better feature

Posted on the 27th of October, 2022

Screenshot

When I started developing for DOS some 20+ years ago, I knew nothing about code versioning systems like Git, nor did I have any idea about automating builds. I just did everything manually, building each separate program from within the IDE before loading the next. Obviously, I have learned a lot since then, but I never really changed the way I did things when it came to Costa. But now I’ve made some changes to make things easier for myself.

Read more...

Where's my file?

Posted on the 30th of September, 2022

Screenshot

One of the aims of Costa has always been to make it easier for the average person to launch their games and programs, on real DOS machines and in emulators such as DOSBox. This is accomplished by having easy access through links on the desktop. However, creating these links is a manual process, where the executable name and path must be known beforehand. Not a very user-friendly solution - but that’s about to change.

Read more...

New release of Costa - version 1.6.0

Posted on the 6th of June, 2022

Screenshot

It’s that time again - a new version of Costa has been released, after almost 6 months of waiting. This time, the most notable feature is the ability to switch between two screen modes on-the-fly - EGA and VGA. Almost all icons have been replaced with new ones in order to rid Costa of the only proprietary content that was included, and a new default theme is used. And, as always, there are bugfixes and other improvements.

Read more...

Graphics modes - EGA and VGA

Posted on the 18th of May, 2022

Screenshot

Since it’s inception in 2004, Costa has always used VGA graphics. More specifically, it uses the standard VGA 640x480 pixels resolution, with 16 colors. I chose this resolution, because I liked the relatively sharp graphics it can produce, and the amount of screen real estate it provides. But, this graphics mode has a couple of drawbacks.

Read more...

Continually optimizing, and replacing icons

Posted on the 2nd of May, 2022

Screenshot

Work on optimizing Costa continues. Some time ago, I wrote about how all image and config files were replaced with binary files, rather than the human-readable formats they were in. This had a couple of advantages in regard to speed. Firstly, loading a single blob of data from disk is much faster than reading in text line by line (as was previously done.) Secondly, since the data is stored in the native format used in memory, no parsing is neccesary. As soon as data is loaded from disk, it is immediatly ready to be used.

Read more...

New release of Costa - version 1.5.0

Posted on the 29th of December, 2021

Screenshot

Just in time before the new year, Costa version 1.5.0 has finished testing and has been released. This version comes with many improvements and changes, but three stand out from the rest: A new UI design based on Costa 0.9.4, massive speed improvements to handling of data files, and full keyboard support in all accessories. Code optimizations have also helped reduced the combined size of Costas executables significantly.

Read more...

Error handling galore - and optimizations

Posted on the 23rd of December, 2021

Screenshot

With all the recent changes to Costa, namely the changes to all file formats, came the opportunity to really go through the code and try to make sure all file related errors are handled properly. The language used to develop Costa, BASIC, does not have modern try/catch functionality baked in, but uses “ON ERROR” statements to jump to a specific place in the code when an error occurs. Any unhandled error will cause the runtime library to write out an error to the screen, and stop program execution. For that reason, it is especially important to handle errors that might occur when saving data - if the program stops with a runtime error at that point, user data may be lost.

Read more...

New UI design in the works

Posted on the 23rd of October, 2021

Screenshot

It’s been a while since there’s been news on the development of Costa. But the last couple of days have yielded some newsworthy developments.

Read more...

New release of Costa - version 1.4.0

Posted on the 22nd of May, 2021

Screenshot

While it may not look like much has changed, there’s quite a few changes behind the scenes in this new version.

Read more...

Icon Editor improved, new icon format introduced

Posted on the 21st of April, 2021

Screenshot

Over the past couple of weeks, I have been working to improve the Icon Editor. Visually, nothing has changed - but under the hood, three major improvements have been made!

Read more...

Why the name Costa?

Posted on the 6th of April, 2021

I was going through my old stuff some time ago, and found my old notebook. I used it to take notes when I was first learning to program, from 2001-2004. It was very interresting to read through my old notes, but one of them in particular caught my attention.

Read more...

New release of Costa - version 1.3.0

Posted on the 22nd of October, 2020

Screenshot

After a 2½ year hiatus, I have once again pulled the source code for Costa out of storage, and added some new features. This time around, I’ve implemented some bug fixes, and a whole new theme editor.

Read more...

New release of Costa - version 1.2.0

Posted on the 27th of May, 2018

Screenshot

Once again I have released a new version Costa, version 1.2.0.

Read more...

New release of Costa - version 1.1.0

Posted on the 3rd of March, 2018

Screenshot

Yesterday I released a new version of my long-time hobby coding project, Costa.

There’s not much new to see. I added a “Tip of the Day” dialog, and some new icons for you to choose from when creating desktop links, but mostly it’s all about bugfixes and improved stability.

Read more...

In support of Open Source

Posted on the 2nd of October, 2017

Screenshot

Over the past couple of years I have been using Open Source software increasingly. More and more of the applications I use everyday have been replaced by open source alternatives, and I now only have a handful of proprietary software left. Even my operating system has been replaced by Ubuntu Gnome.

Since I am using so much open source software, I figured I would live up to this ideal by releasing the source code to one of my own pieces of software, The Costa GUI.

Read more...

Still going - though not at fast rate

Posted on the 23rd of April, 2009

Screenshot

Wow, it’s definitely been a while since I last updated! Even though my career in the navy has taken a whole lot of my spare time, I’ve been able to work a little on Costa every now and then on weekends. Since my last post I’ve ironed out quite a few bugs and rewritten a lot of code. Visually the interface looks the same, but all executables have been reduced in size and improved in performance. Good stuff!

I’ve also written the second accessory for Costa (the first one being the theme switcher).

Read more...

Theme selector done

Posted on the 21st of August, 2008

Screenshot

I spent today working on the theme selector. It’s as good as done now, and I think it turned out pretty well. Unlike the previous versions of Costa you don’t have to type the filename of the theme. Now you can browse the themes - with previews of each theme - and choose the one you like. The changes will take effect immediately. In fact, all changes you make to configuration files will take effect right away.

Since I’m hoping to get user submitted themes, all theme files contain theme name and author, which is shown in the theme selector.

Read more...

The desktop is complete!

Posted on the 20th of August, 2008

Screenshot

I’ve finished the “Customize desktop link” dialog, and I’ve also added a run dialog to the desktop. I’ve also tested the desktop for bugs, and so far I haven’t found any. I’ve learned from my mistakes in the past and have taken a lot of measures to avoid a crash if an error should occur. Every single computer program probably has bugs in it, but I haven’t found anything so far. I’ll release a test version before version 1.0 to make sure anybody else doesn’t come across a bug.

It took me less than seven days to make the desktop, thanks to my GUI toolkit which really simplified making buttons, dialogs and other UI related parts of the desktop.

Read more...

Made on Mac OS X

Posted on the 19th of August, 2008

Screenshot

I made a lot of progress on the desktop today. Once I’ve finished the “Customize desktop link” dialog (which is basically the same as “Shortcut Properties” in Windows) the desktop will be completed. Once I’m done with it, I’ll start work on one of the accessories.

In the past I’ve kept Costa’s source for myself, and I haven’t shared much information on how I develop the GUI.

Read more...

Site online again

Posted on the 18th of August, 2008

Screenshot

I’ve had a long break from programming. Almost a year, in fact. But in the past three weeks I’ve been trying out several new design ideas for Costa. And I’m not just talking about the design of the interface - I’m talking about the underlying design, about how everything should work. I’ve come to a conclusion.

Read more...

Costa 0.8.0 released

Posted on the 30th of July, 2005

Screenshot

I’ve just released version 0.8.0 of my QuickBASIC GUI, Costa for MS-DOS. It has many new features, including themes and multiuser support. No accessories are included (didn’t wanna include half-finished tools), but it’s still a fully functional GUI.

Read more...