[Coco] VCC - Becker Module (Was: Basic09 6309 version)
James Ross
jrosslist at outlook.com
Mon Jun 5 19:06:26 EDT 2017
Ok… I’ve made progress w/ the Becker module issue, however, I’m not quite there yet.
This has turned out to be one of the craziest issues I’ve ever seen on any project. For one thing, it has been decades since I’ve done anything in C/C++. It’s been since the late 90’s that I used Visual Studio 6 (VS6) and I have experimented w/ C/C++ briefly w/ modern versions of Visual Studio over the years, but nothing significant.
I actually worked on this Friday, Saturday, and Sunday for ~ 12 hrs. I tried a slew of different combinations. I downloaded and built a good 6+ different versions from specific commits off GitHub. I have not yet figured out the solution to getting the Becker module to compile and not give run time errors across the different versions of Visual Studio. I can get different versions to work, under different combinations … I could go over a lot of what I did, but I’m not sure I would get it all straight since I didn’t take good notes – but also not sure everyone (anyone?) would be interested in a blow by blow account of it all either – I might document some of it on my notes on my fork (for my own benefit)
One of the issues that took a while to figure out, and then I remembered, is that w/ older C's you can’t declare variables in the middle of code. You have to declare your vars at the beginning of the method … that took a while. In C mode (not C++) VS2013 would compile the Becker C code just fine, but VS2012 and older would not.
Ideally, I would like to convert the Becker module to C++ using the extern “C” mechanism like the other modules use. But the kicker is I can’t seem to convert to C++ w/o getting run-time errors regardless which version of VS I use. And why does VS6 not like the Becker module regardless what I do? Plain C or C++ I get run-time errors …
I’m not giving up … looking at a good week or so to figure it out.
James
________________________________________
From: Coco <coco-bounces at maltedmedia.com> on behalf of Bill Pierce via Coco <coco at maltedmedia.com>
Subject: Re: [Coco] Basic09 6309 version
Walter, if you downloaded VCC-2.100b from the VCC site, then the becker port was never broken. That's the release code and the becker port works in that code. It's James code with the changes that the becker port doesn't work. The links (releases) on James github, just link back to the VCC site. To get his code, you must clone it or download a tarball using the button at the top right of the code page, labeled "Clone or Download".
An easy way to tell which one you have is to go full screen. If it stretches over a widescreen, then you have the old release, if it maintains aspect (square), then it's James' code.
More information about the Coco
mailing list