|
Post by marciod on Nov 8, 2022 8:50:42 GMT
CALLING ALL C64 PROGRAMMING FANS !
TPUG (Toronto PET Users Group) is proud to host a casual meeting on November 17th with Dennis Osborn, the creator of the exciting new product Vision BASIC for the Commodore 64. You're welcomed to attend for free using Zoom, by following the directions at: www.tpug.ca
To prepare for the event, please watch this introductory video:
Please also visit: visionbasic.net
We're compiling a series of questions to ask Dennis during the meeting, so please post your questions here for consideration.
See you at the meeting!
|
|
|
Post by c64stuff on Nov 8, 2022 11:45:07 GMT
I've watched some videos on Vision Basic and it's pretty remarkable. You can compile your program into a stand alone machine language program for great speed that's fast enough to even write games with. It also allows you to code in machine language and basic together on the screen and pass routines between them. It features sound and graphics basic commands to make creating stuff much more easy too.
Another big perk is it's highly compatible with the stock basic on the 64 so you can take existing programs and greatly enhance their speed by compiling them with it. It requires ram expansion but this also gives you the ability to write bigger programs, quickly memory bank code or data such as graphics into and out of active memory, etc.
It reminds me of a compiler I use to use that would compile Amiga Basic for greater speed. I used it to speed up a bulletin board I wrote. On the C64 I wrote a BBS in basic but had to code certain routines in machine language to speed them up since no basic compiler existed in those days for the C64. Probably due to there not being much of a market for such a program because it would need memory expansion to be useful in any big way. With today's advent of cheap memory expanders for the C64 as well as easily expanding memory in emulation I can see why Vision Basic came about. The one sore lacking feature of the C64 was no dedicated sound or graphics commands when doing basic programming.
|
|
|
Post by marciod on Nov 9, 2022 20:08:13 GMT
I've watched some videos on Vision Basic and it's pretty remarkable. You can compile your program into a stand alone machine language program for great speed that's fast enough to even write games with. It also allows you to code in machine language and basic together on the screen and pass routines between them. It features sound and graphics basic commands to make creating stuff much more easy too. Another big perk is it's highly compatible with the stock basic on the 64 so you can take existing programs and greatly enhance their speed by compiling them with it. It requires ram expansion but this also gives you the ability to write bigger programs, quickly memory bank code or data such as graphics into and out of active memory, etc. It reminds me of a compiler I use to use that would compile Amiga Basic for greater speed. I used it to speed up a bulletin board I wrote. On the C64 I wrote a BBS in basic but had to code certain routines in machine language to speed them up since no basic compiler existed in those days for the C64. Probably due to there not being much of a market for such a program because it would need memory expansion to be useful in any big way. With today's advent of cheap memory expanders for the C64 as well as easily expanding memory in emulation I can see why Vision Basic came about. The one sore lacking feature of the C64 was no dedicated sound or graphics commands when doing basic programming.
Thanks so much for your comment, and really cool to read some of your programming adventures from back in the day.
Based on what you've seen so far in the Vision BASIC videos, do you personally have any questions that you'd like to submit to Dennis? Any question(s) would be appreciated, no matter how technical or general. It's been tough getting enough questions, as C64 programming nowadays is such a niche, within a niche, within a niche - i.e. at least three levels deep - LOL.
Based on your knowledge level, I think a question from you would be extra awesome.
And if anyone else wants to submit a question, please don't be shy!
|
|
|
Post by c64stuff on Nov 9, 2022 23:14:18 GMT
Honestly this will sound like I'm pandering but he did such a good job with it there's no features I can think of that he should add, and no questions come to mind at the moment. I assume you've also posted your message on the Lemon 64 forum too? Because that site is probably the most active for this sort of topic. This forum is mainly for fans of the C64 mini, C64 maxi, Amiga mini, and other forms of retro emulation.
Thanks for the compliment on the BBS coding being interesting. On the C64 I wrote the entire bbs in basic except for opening and reading text files on disk to spit out to the screen and to send over the modem was written in machine language to speed it up because even at 300 baud it was too slow in basic fetching one character at a time from a sequential file to send out to both. This was needed for things like the message forum or various parts of the board that had a lot of text to display that would be too memory hungry to keep in the coding of basic as text.
Funny story: For a while I couldn't figure out how to create or read files where you could specifically access any section of data you wanted without having to read the whole file to find it like you have to do with a sequential file. I can't remember what those types of files were called but they had the speed advantage over sequential files for that reason, so for a while when a user would log in it took several seconds for the program to read through the sequential file until it found their username and checked if their password matched, as well as to then load in any other data specific to their account. Later I figured out how to do the other type of file and logins were much faster.
The BBS was for C64 users only, so I even wrote a special terminal program they had to initially download from other C64 BBS's to use to log in to mine, and this angered a few Apple II BBS owners who kept trying to hack into the BBS. Lol.
Anyway, this C64 specific terminal program also allowed features that didn't exist early on in bbs programs, such as color and font changes, petsci graphics, etc. Later with the Amiga BBS program I got even more ambitious, with a special terminal program for Amiga users calling into it that allowed use of mouse control to click on icons, color and font changes as well, and so on. The Amiga bbs I never finished though, but it was functional and close to being done.
Good times. Can't tell you how many nights I spent coding until daylight, or chatting with somebody logged into the C64 BBS in the middle of the night. The BBS scene was big here in the states, and it's often how software was traded via downloading off C64 and Amiga bulletin boards. There were also text games on many C64 BBS systems where you'd do things like battle in dungeons and dragons or space war games against other C64 users. The thing is obviously only one person would be logged in at a time of course, so you'd make your move and then have to wait sometimes days before the other person logged back in and made a move.
Last thought: Half the fun was when people would try to hack or crash my BBS. I had one that was successful. He took advantage of the bug in C64 basic's text display that would sometimes crash the machine if you entered several lines of text and then held down the delete key to delete a character at a time which would sometimes make the C64 crash as the cursor wrapped back up the screen to the next line of entered text. I then limited all text input prompts to something less than the amount of text that caused that to prevent this flaw from crashing it. For typing in messages too I made it so they had to hit return to start a new line so I could avoid it. If memory serves I think that bug only happened after you entered 3 or more lines of constant text without hitting return and then tried to delete all the way up. It would sometimee crash, and I think it was when the cursor was wrapping up from the 3rd line to the 2nd line as you deleted.
|
|
|
Post by c64stuff on Nov 9, 2022 23:34:39 GMT
Update: I just thought of a question. Does he have any plans to write vision basic for the other commodore computers, such as the Vic20, Pet, or C16 and Plus 4? Or how about 8 Bit Guy's new Commander 16 (or is it Commander X?) computer that is coming out, which has many Commodore traits? Or even for the Mega 65 that's also coming out and was a Commodore prototype before they went bankrupt called the C65? All the old Commodore computers can be memory expanded, including the pet, and obviously the Commander doesn't need to be ram expanded.
It would be amazing to code a program on one platform and being able to run it on all of them simply by recompiling it for each specific machine. And while graphics coding wouldn't be as cross machine compatible, petsci graphics would and so no special machine specific basic code writing would be required, which would open up the door to writing some games or utility software or even BBS programs for all of them without much fuss. The added speed of it being compiled to machine language would just be added icing on the cake compared to cross platform coding being seamless.
8 bit guy in a sense did this with his coding for Petsci Robots being largely the same between each machine. He did wonders with his conversion of the game to the Vic20 and Pet.
Vision basic could even have special compiling functions for each specific machine that would allow some basic non petsci graphics or sound where it automatically codes the machine language output code to something that can work within the limitations of the machine it's being converted to from it's original coding platform. Like for instance from the C64 sid chip to the less able in some ways Vic20 sound, or the C64 graphics to the C16 and Plus4 which are an equal in some aspects of graphics.
Btw off topic a bit. I saw where somebody has modified a Pet to display color and also added the Sid chip. Pretty amazing.
|
|
|
Post by marciod on Nov 10, 2022 9:47:09 GMT
Honestly this will sound like I'm pandering but he did such a good job with it there's no features I can think of that he should add, and no questions come to mind at the moment. I assume you've also posted your message on the Lemon 64 forum too? Because that site is probably the most active for this sort of topic. This forum is mainly for fans of the C64 mini, C64 maxi, Amiga mini, and other forms of retro emulation. Yes, I did post in the Lemon 64 forum to solicit questions for Vision BASIC, but no replies so far.
I think it's been challenging to get questions for at least a couple of reasons. The first is that C64 programming is a niche, within a niche, within a niche. C64 programming <- C64 computing <- Retrocomputing. So that severely limits the number of people able and willing to ask questions about Vision BASIC.
Secondly, maybe it's because the C64 crowd is an older-aged cohort today, with most folks having far less free time and physical energy than before. Without time and energy, good luck asking people to watch a YouTube video on a new product and to ask questions about it. LOL!
|
|
|
Post by marciod on Nov 10, 2022 9:48:09 GMT
Update: I just thought of a question. Does he have any plans to write vision basic for the other commodore computers, such as the Vic20, Pet, or C16 and Plus 4? Or how about 8 Bit Guy's new Commander 16 (or is it Commander X?) computer that is coming out, which has many Commodore traits? Or even for the Mega 65 that's also coming out and was a Commodore prototype before they went bankrupt called the C65? All the old Commodore computers can be memory expanded, including the pet, and obviously the Commander doesn't need to be ram expanded.
Someone in the Commander X16 forum already asked about a version of Vision BASIC for that new hobbyist computer. And someone in the TPUG Discord server already asked about a C128 version.
But nobody has so far asked about versions for VIC-20, PET, C16 and Plus/4. Nor has anybody asked about a version for Mega 65. So I'll submit a question on your behalf regarding those machines, with credit given to you for asking the question.
Thanks for sharing your story and submitting a question. Like I said in my previous message, it's been hard to get people to open up. Your enthusiasm is really appreciated!
|
|
|
Post by c64stuff on Nov 10, 2022 10:48:26 GMT
I might also throw in that a version to cross platform to the Spectrum would also be nice.
|
|
|
Post by c64stuff on Nov 11, 2022 0:17:23 GMT
For further questions and remarks I would contact OldSkoolCoder who posts videos and classes on coding or decoding games on the C64. He and his followers are probably the target market of the C64 enthusiasts you're looking for. Another would be Modern Vintage Gamer, who also is a coder and does a lot of Commodore content. 8 Bit Guy is also an obvious candidate for such a thing. If you can get him to do a video on it that would greatly help exposure for Vision Basic, and it seems right up his alley for his channel content too.
|
|