As the January 2016 Retrochallenge comes to an end it’s time to take a look at the progress made towards my initial goals. To recap here they are:
The IDE & Code Builder will have single click ability for each of the following:
(1) generate C code for the client application from the VB program
(2) to compile C source to platform specific executable
at least Commodore 64 and Atari 800, with stretch goals for
C0mmodore Plus/4 and Commodore 128
(3) Run compiled program in Vice (Commodores) and Altirra (Atari)
While I would love to be able to complete a full program point in click there is the ability to call user written functions from Buttons and Menus so the IDE will allow for writing of C code as well.
To point (1) the IDE and embedded code builder generates C code for the client application for the base window, the menu system and several objects (labels, textbox, number box, buttons). Additionally user written header file and support files can be included via point and click as well. So point one is a check, with two opportunities for the addition of list boxes and check boxes from the TUI C Library.
For point (2) the application supports Commodore 64, Commodore 128, Commodore Plus/4, Apple IIe, Atari 400/800 and of all systems the Oric Atmos which was added on a whim with specific updates to the TUI C Library for Oric. (see TUI C Library web site). So the point is a “check plus” the additions beyond the initial target of C64 and Atari 400/800.
Point 3 is also well supported and exceeded with the integration of three 4 Vice emulators,(C64, c128 40 & 80 column modes, Plus/4), Altirra (Atari 400/800), Applewin for Apple IIe and Oricutron for Oric Atmos. The Vice and Altirra work exactly as I would like by being able to generate source code, save source code, compile, and run in emulator with a single mouse click. Applewin and Oricutron do operate a little differently.
Applewin wants the program as a binary file in a disk image. After some research I landed on using the CiderPress program to take the compiled program and insert it onto a disk image. This does require a few extra points and clicks but works great in the emulator and I’ll discuss the side project that allowed me to also try on a Vintage AppleIIgs in AppleIIe mode.
The documentation from the CC65 compiler web site provides the guidance to compile the Atmos code to a tape file, which with the proper compiler switches and parameters will automatically load the tape file in the emulator, leaving the user to simply type RUN at the BASIC prompt to run the program. The Oric definitely provided some challenges with the TUI C Library because of the way it handles screen memory and colors, but that could be a paper all on its own.
In order to make the single button push and all the point and click I needed some amount of setup parameters, which I didn’t really anticipate initially, but turned out to be a good bit of the secret sauce to make this work. The photo below and previous posts give a good deal of detail for those interested. Settings for the compiler, emulators and support programs did the trick.
As for opportunities for enhancement I would like to add access to FileZilla to be able to move compiles programs, disk and tape images for use with a Raspberry Pi. Also to set up separate directories on my laptop to handle source code and project save files in a different directory for each system/emulator type.
To the final point, there are two ways to add user code, one is directly type in for each menu item (that can also be called from buttons) and the inclusion of an additional header file and C source or compiled object files. Also I test a work around to adding additional header files by including them at the top of the first menu user written call back function, but for me there is an opportunity to add the ability to add more header and .C and .O files. That said this is a mission accomplished as well.
The help menu and links is an additional feature that I really like, it gives easy access to the websites for each of the emulators, the CC65 site and to my TUI C Library reference on google sites.
In my first Retrochallenge last July I had a guiding principle of not having any other project distractions from a vintage computing perspective, this round I did not adhere to that approach. Specifically, I lucked into three Apple IIgs systems for $130 and couldn’t pass them up. So in parallel to building the Retro C IDE I cleaned and tested the three new Apple IIgs systems, three disk drives and added a FloppyEmu to I could and did test the programs I built with the IDE.
So in conclusion I have had another grand time with the Retrochallenge and feel that I have created a useful IDE and have learned much about Visual BASIC, the CC65 compiler, numerous emulators, and retro-computers and even built a game program for 4 systems in a day. I am looking forward to the next challenge, which may be in April or October with pending changes to the schedule.