A little tip. Perhaps you could include a warning that SCREENSAVER5 may cause epileptic seizures for those who are sensitive. I had to stop watching. For those who are sensitive, skip 3:24 - 8:04 .
I'll pin this at top so that people can see it. I recorded this from VICE and I keep the VICE window fairly small. Even my preview window in my video editor is fairly small, so it wasn't obvious to me that this might be too much when viewed on a larger screen. I'll try not to repeat.
It's funny (not "haha" but "strange/weird") because I thought the same thing. I'm not afflicted with this problem so I don't really know what it's like but my imagination tells me it's likely quite horrible. The screensaver effects are "pretty cool" to me though I definitely predicted it might cause harmful effects to those who have that difficulty. (I once worked with a creative type who did graphic design work and unfortunately felt the pain (for lack of better word) of certain unpredictable episodes while he was searching for work related information or data. So my heart goes out to you. I can't imagine what technological measures could be put into place to make the internet "safer" for you. Probably a job for "AI" to preprocess videos and web pages to look for high contrast flashing and animation.
Dennis, thank you for all of your hard work on this project. I know that there are one or two more surprises awaiting us. I just can't wait for the second part of this video.
@@visionbasic I try my best to show my appreciation; I did buy two copies of VB (now what do I do with the other !?) Every bit of your work is appreciated and you are now famous in our C64 world, just don't quit the day job.
@@networkg Thank you! I've seen a couple cases where someone bought two copies. I guess you can sell or gift it to someone? Maybe visit a "VCF" with one? I love this C64 community, so I hope to stick around a long time!
I actually tried to program in Visual BASIC, but it seemed anything BUT basic to me. But Microsoft didn't have anything to do with this update, and I suspect that you are just pulling my leg, lol.
@@networkg I have a mental list of ideas for videos. I can't say that the next one (after the next one) will be about modules, but even I don't know what I'm gonna do, LOL. But yes, I do plan to tackle modules in the near future.
@@visionbasic We're hitting VCFSE today and this weekend. After the show I will dedicate some time to working with Vision BASIC. I do understand the capabilities of it and it is a huge deal.
There are some who don't appreciate that machine, but I think it's an excellent choice for many folks. Being able to save the state of the machine is a cool feature!
@@visionbasic For me it's the fact that all the cables are on the right side and I can plug it in a regular monitor. I just move it off the way to the side wall shelf now and put the PC keyboard back in its place.
Miles, you caused me to become addicted to your word game. Please drop by my house, feed my dog, mow my lawn, and fix the sink and all the other things my wife says I am neglecting because I play that dang game all day ! LOL
Dennis Osborn has mentioned in previous videos that there are no other versions being considered anytime soon. The goal is to continually improve Vision BASIC for the C64 in the years ahead, instead of diverting resources to create versions for other machines and stalling development of the flagship C64 version.
I don't know much about the C128 (the changes I added for 2MHz mode were simple). I know that the C128 has extra RAM, but probably not enough for the full requirements (some kind of extra RAM would still be needed). I don't know if and when I could make a version for the C128 (I've had requests for other machines too). I do all of this in my spare time. I might take advantage of the 80-column screen (in C64 mode) somewhere down the line, but that's not a promise. Any versions outside of the C64 version would have to wait until after I'm completely done with the software (perhaps by version 3.0). Otherwise, I'd just create way too much work for myself, trying to change multiple versions at the same time for all of the incremental changes.
@@endwigast5212 Yeah, like I said, I want to be totally done with the software before even considering the idea. I'm not against the idea, but I don't want to be managing multiple versions all at the same time. It's not the same as today's computers where you can much more easily port to different machines (from a single source code). Vision BASIC was designed to be tailored specifically to the C64 -- at least when it comes to graphics and sound commands. The formatting of these commands would have to be tailored to the other machines. Also, Vision BASIC now utilizes almost 100% of the C64 RAM, so that provides significant hurdle to porting over to other machines. I program to keep my brain healthy, so who knows what the future holds concerning this project...
He's aware of Vision BASIC. I never push. I want enthusiastic reviews, and that's worth more to me than just a general review of my software (or a negative one). Plus, as a content creator, I take suggestions into consideration, but appreciate the freedom to be able to focus on what I want to. I watch both of the "8-Bit" Tubers (and love their shows), but I greatly appreciate the videos done by some of my customers -- they do an excellent job! And they seem to enjoy using the software! :)
Even though I don't code anymore and never owned a c64 I appreciate getting random suggestions like this. Looks much speedier than any stock BASIC.. As always wirh a programming language, my first question is if it comes wirh a compiler or loader so that those wirh out the package can use the programs
Vision BASIC is only a compiled BASIC - there is no interpreted BASIC aspect to it. And the code you write compiles to C64 machine language that can be run on anyone else's C64 or emulator. The recipients of your program don't need to have Vision BASIC to run your program.
I didn't understand much of this but I hope that the next video will show us that you have implemented some sort of CUT, COPY and PASTE of blocks of code in the editor. You already have a block DELETE so I assume it wouldn't be too difficult to do. Now it has to be done by manually editing the line numbers of the code block you wish to move. And then block delete the old code. Since I only use Tags for branches and jumps it's easy to move code around but it would be even more easy if Vision Basic did it using those commands. :-)
I might ultimately add some kind of copy and paste, but that would possibly happen in version 3. But for version 1.2, I plan to rework the renumbering command so that code can be moved to a different spot in the program (that's the hope, anyhow). As it is, Vision BASIC now uses almost all of the RAM of the machine, so adding new features is getting much harder to do (and I'm wanting to work on a solution for that as well).
Sorry for the delayed response -- been crazy busy lately. I have Simon's BASIC and it was fun to use, but it was too slow for much of what I wanted to do. As an update, the latest version to Vision BASIC is now available for sale (version 1.1).
That would require assembly language instructions. It's certainly a topic I could look at for a future video. That's certainly a great idea for something to try. But it's probably best for me to just produce some code that people could use instead of adding a new command for it. I'm trying not to bloat the command support library any further, if possible.
No. Vision BASIC was designed to focus on C64-specific features. There are a lot of hurdles to port Vision BASIC over to another computer (and it may not be possible on some computers), so it is something I won't consider until I'm fully finished with the software. The Commander X16 is supposed to have a built-in compiler, but someone said that progress has not been made to finish it (I don't know if the statement is true). I feel that it would be quicker if someone more knowledgeable about the ins and outs of the computer would create a compiler for the Commander X16. Vision BASIC will run on a C64 emulator like VICE, but it's best to know a decent amount about the C64 and its BASIC before trying to use Vision BASIC (since you are familiar with the Apple IIe).
I have a question. I know VB compiles it's code that can be run on a stock C64. Does it also crunch the code to make it smaller or is it just a compile?🧐
It only compiles. A support library is present for BASIC commands, so this provides some bulk, but it's necessary. A separate crunching program can reduce the file size (there is a cruncher out there on the internet for the C64).
It's from the Vision BASIC manual. There are four maps like this to help with placement of text screens, character sets, bitmap screens and sprite shapes (only mildly helpful with sprites shapes since the actual shape numbers are not shown). Anyhow I created the maps to help figure out where to put things. Really, banks 2 and 3 (range 0 to 3) are the most useful in Vision BASIC.
Compile times are sped up significantly with a TC-64 attached. Plus, you can take advantage of acceleration in your own programs if a TC-64 is attached with a simple command -- no pokes are necessary! Plus, I believe that GeoRAM access should be accelerated on the TC-64, so it MIGHT outperform an REU (since an REU runs at 1MHz). But I haven't tested to see if this statement is true.
Hi, I'm currently a Game developer. I would love to create C64 games but i didn't learn 6502 when was younger. I've seen the new games on the C64 and would love to create games of these standard. Would Vision basic be up to the task or is it that bit to much?
No matter which avenue you take, it's going to take a lot of learning. I'm convinced that I could make anything I want to with Vision BASIC, but most pros choose assembly language (which Vision BASIC can do). But most pros use a cross-assembler. I think it's going to take a lot more work to go the assembly route, but the results are faster (for things like multiplexing, for example). So it just depends on how dedicated you are to it, and what you're expecting. I can always do assembly in Vision BASIC when needed, so that's my perspective, but the support library does add bulk to the programs. The C64 has a lot of limitations (mainly the 64k part, and it's also easy to run out of cycles per screen refresh), but people who are used to programming on modern computers will find the limitations a huge hurdle. But really, it's more about how much you're willing to learn (using assembly or Vision BASIC). My goal with this response is just to give you the most honest answer I can.
@@visionbasic Yeah, I wrote a large dialog-driven batch game on PC, I don't know if I can do the same on the C64. Because the game has got tons of systems and planets.
@@visionbasic Hmm. my game Is 29 megs in size in text form. Its way bigger than 64 RAM, has over 80,000 lines of dialog between 10 party members, and all the other worlds they interact with.. But then the C64 has been known to have big games spread out over many disks.
@@germanslice If you could plug both a 16MB REU and 16MB GeoRAM into a port expander, the 29 MB could fit (at once), but then what would you store the game on? Regular floppies hold 664 blocks per side (one MB would span more than three double-sided 15.25" disks). If there is a lot of text, then words could be compressed as a type of token perhaps. I can't even imagine a game consisting of 29MB of text!
Yes it (they) can... REU or GEO RAM is only needed to run Vision BASIC and create your game or application or whatever you'll do. You can then compile the result to disk as an executable file and it will work on a real C64 or emulators. The advantage of Vision Basic is that you don't have to leave it to compile your code. I am currently programming a game on C128 using Basic, Edass 128 Assembler, Blitz 128 Compiler and it's always a pain to compile it (you need to save your source code, reset the machine, load the compiler, compile your source code, then run it... just to note that many things (BASIC part) are running to fast or too slow... Ergo, you have to reset again, load your code, modify the values and repeat the process... ) With Vision Basic you immediately see how your program or game works... It's just too bad there is no C128 version so I'll have to stick with what i have {or maybe port the game to C64 using Vision BASIC 🤔😁)
@@miselzivanovic2181 When I get to my last planned version (potentially version 3.0), I might look at the viability of doing a port to one or more similar machines, but that obviously won't be in the near future (spare time is all I have to work on this project, sadly). Thank you for responding to the inquiry!
@@visionbasic No problem... It would, of course, be very nice to have it sooner 😉 In any case, porting my game to C64 sounds like fun and I'll try that with Vision Basic 1.1 It's just close to 1000 lines of code, plus assembly routines... Easy 🤷🏻♂️😁
@@miselzivanovic2181 Just to put some information out there, if you're curious... I'm sure you've already seen my comments on ports, but it doesn't make sense to have to update multiple versions at the same time -- far too much work, especially since computers differ greatly anyhow. I can't merely take a core version, make changes and then apply to all versions -- it just doesn't work that way (I wish it did). One important hurdle is how each computer handles zero-page addresses (I use known safe addresses in the C64, but each computer is different there). I didn't use labels for these addresses, so I can't easily make changes. How each computer uses the RAM is also a major factor, as well as ROM placement. Vision BASIC now uses almost all the RAM. And "run pack" placement is another thing. I do think version 3.0 (my plans for it) will make ports easier to do (easier than other versions, anyhow, since I don't think "easy" is the right word). Still, all the factors need to work. I'll also have to have the energy for it. If I'm done selling Vision BASIC for the C64, I might just give the source code to someone else who wants to give it a shot (with the ports). But I don't think such people exist because someone who is capable of doing a port could just as well start from scratch and build a similar project (and such people likely use assembly language for everything and have no interest in making such things -- because they simply don't need them). And my code is a bit messy. I also have an idea for another big project for the C64, so part of me wants to do that first, honestly speaking.
@@visionbasic Sorry for the late reply. I was working on my code to optimize it where possible and to make it smaller, shorter, well, optimized... My grandma used to say: If you want to get depressed very quickly, go on and try to please everyone 🤷🏻♂️ We (the other platforms people), are just a 'little' bit selfish and everyone would love to see it done for their own platform. My piece of advice: don't listen to us 😁 (We will always find alternative ways) And then, most people with serious skills are NOT programming directly on C64, C128 etc. anyway. Myself and probably few others are exceptional cases. (I started with assembly not even a year ago and it's more fun coding directly) As you're saying, even if you would give the source code out, there is probably no one who would bother to invest time to do the port for other platforms. I can't foresee the future, but according to your words, you best just keep working on what you have and then start constructing your next dream (project)... C64 and any other retro platform should be fun and under no circumstances a source of negative stress or good mood killer 👆 Ergo, you have fun coding and other people go get yourself a copy of Visio BASIC, now! 😁
Yes, a free update for previous buyers! But I will accept donations for those who want to (ONLY if they feel the update is worth it). That's my new model for the time being (a value-based system). I'll provide info on that in the download when I make it available.
@@n830rc Again, donation is completely voluntary, but I know that some people benefit more from Vision BASIC than others, and everyone's finances are different, so I hope this model works for everyone for all updates and upgrades. I want donations to be based on how the software benefits the buyer (I'll provide details in the download). I don't want the extra pressure of something like Patreon, so this is my chosen model for the time being. I'll try to get the word out to everyone, but my previous method of contact has expired (it wasn't reaching everyone anyhow). So I'll be working on that in the next couple weeks. Look for the download to be available after my next video, unless I contact you all to let you know that it's available sooner. That video will probably appear at least two weeks from now. Unless I can figure out how to change this, you'll be downloading the new version under the old "1.0" link (future buyers will just see "Vision BASIC" with no version number in the download section). I'll be resetting everyone's counters as well.
It would be cool, but it's hard to even use 16MB with a C64, so it would probably have limited usefulness. Moving data around would also be slow (large amounts of data). Might make a decent "RAMdisk" for quick loading of programs -- it could house a large collection of files. Are you aware of such a device? It takes three byes to address 16MB, so I imagine it would require 32-bit addressing for 1GB (I think 32 bits could address 4GB, if I'm doing my math right).
When you move a sprite while it is being drawn, the artifacts will happen. Programmers of regular BASIC experience this quite often because the language is so slow (usually the sprites will simply "blink"). It's best to move sprites when the raster is not on the main screen. If a game's code is fast enough to execute entirely within a single screen refresh, then I recommend moving the sprites when the raster beam is offscreen (starting with raster line 251). The demo was just meant to show how fast the new command executes (not a demonstration on how to program for sprite movements). The best way to move sprites quickly is simply to add more than "1" to their X,Y locations. The artifacts are probably more noticeable since the sprites are being moved many times within a single screen refresh. Efficient code is the only way to prevent the artifacts entirely (keeping the game loop within a single refresh), but the ALLMOBS command is meant to help with that.
@@visionbasicthe reason I brought it up was because I expected the sprites be tearing (as the movement is horizontal only), so the sprite's before-the-rasterline and after-the-rasterline parts would be off by 1 pixel. However I could see artifacts (eg. top of blue car at ~13:48) all the way to the right when the cars were still on the left side of the screen. i can't explain that.
@@robbiesz I can't explain it fully either, unless the main loop is executing SO fast that the sprites are moving substantially. It could be an emulation thing as well. It could also be a quirk of the video editor, or screen recorder (though I'm pretty sure it looks this way in the emulator). The right and left issue might have to do with that extra significant bit. I just know that I prefer now to change sprite locations offscreen if I can keep my code fast enough. Also, I'm pretty sure the ALLMOBS command moves all sprite horizontal positions BEFORE setting the significant bits for all sprites. That might explain part of it.
@@visionbasic I assumed that you recorded the composite feed of a physical C64. With the emulator in the mix, doing its own screen recording, there are way too many variables to easily pinpoint the reason. Thanks for taking the time to explain it! I enjoyed the video very much! Amazing work on this new basic expansion! My 10 year old self drawing sprites on grid paper and doing peeks and pokes in the 80s would have killed for it! :-D
@@robbiesz Thanks so much! I use emulation because it's just easier for me. It allows me to switch over to other instances of VICE instantly (as I did in this video), plus I can capture other things on my screen. Also, when I started out on TH-cam, I wasn't sure how to capture decent quality from a real C-64. Still, since I can easily switch instances of VICE in a flash, I'll likely continue to use VICE. I do plan to capture my monitor in a brief clip for my next video, but it will be a capture of the actual monitor screen, so I hope it ends up looking decent (or I'll have to scrap the idea). With my imperfect eyesight, I also appreciate the sharpness of the pixels on a modern monitor.
❤ project. Syntax is difficult. One has to go through all the examples and manual to pick up on nuances. I don’t mind this… I wish the documentation was … helpful
I've had to reshape my programming habits around Vision BASIC, but I guess I'm used to it. I've just always considered the benefits to far outweigh the limitations. I struggled tremendously with creating cool stuff in regular BASIC, so now I can whip up super-fast stuff in a fraction of the time. Converting programs from regular BASIC is more challenging than starting from scratch, though. But I will be trying to improve the syntax where possible in upcoming versions. I do have one significant update to the syntax planned for version 2.0, but it might not be in line with what you are talking about. Still, I do want to improve things for the programmer more and more over time. Plus, I do want to improve things for myself -- as a fellow programmer -- so I think that helps a lot with the ideas.
You can use LOOP as a label. But when standing by itself (without the asterisk in front), it will be treated as a user-defined command. Thus, it will act like JSR LOOP. The asterisk prevents this.
@@Mr.1.i I've never used a Commodore 16, and Vision BASIC does not run on that computer. The Commodore 16 does support similar bitmap modes to the C64, but I believe with the larger color palette of 121 colors (though I have no clue how that might have been implemented since the C64 can fit two color values into a single byte).
Maybe it's time to consider going for digital even for the documentation. I already bought v1.0 a long time ago, I have nothing against paying for v1.1 but it would be way easier to be able to get the documentation as a digital download. At least if i were you i would offer this option for people having already bought v1.0.
Providing a digital manual creates some piracy concerns. If you have any specific expertise in creating digital documentation that can't easily be copied, perhaps you can share your ideas in the Vision BASIC private forum? I've heard that Dennis had already considered the idea at least a year ago, but I have to assume he found no viable solutions because a digital manual option still hasn't materialized.
I've kept that on my "to do" list. I've had to keep all my focus on one thing at a time. But version 1.1 is free for those who've already purchased (donations optional).
@@endwigast5212 I do have one idea, but it's not quick and easy. So I'll be toying with it as I work on version 1.2. It's been brought up in the forum.
@@OlivierSimpleLife I just know that different people have different experiences with my software. Some never even get to use it, oddly enough. Some have different financial situations. Some use it more than others. So I'm just testing this model out. I remember back when I liked CCS64 better than VICE, and I wanted to pay for the fully-functional copy of CCS64, but my finances were in pretty bad shape back then, so I never purchased the full edition. VICE eventually became the better software, it seems, so now I just use VICE. But I gladly pay my way and support those in the C64 community with my purchases. I believe in supporting whatever model a creator uses. If they charge a price and I can afford it and I think it's worth the price, I'll buy. If they offer something for free, I'm frugal, LOL. But I have donated to things as well.
4 หลายเดือนก่อน
I like how you present things … until there’s a very disturbing constant red box flashing stuff. Some people can’t watch stuff like that. Perhaps chose something calmer next time, as it is only a visual “filler” anyway?
I apologize! I was just trying to show off the speed of some of the bitmap commands in that demonstration. That demo was drawn in real time and didn't use any kind of memory swapping to animate things. I'll keep that in mind for future videos -- I can't edit the video at this point, sadly. I totally get what you mean, though.
It was lacking in graphics commands for sure, but pretty advanced otherwise compared to other versions of BASIC on other machines at the time. I programmed other machines and their editors were atrocious! But yes, the lack of graphics and sound commands was a huge bummer for all of us who love to program in BASIC.
@@bierundkippen720 To keep the cost of the machines down. It was essentially free when placed on the C64 (a one-time purchase by Commodore for earlier machines than the C64). For those who just wanted to play games, it didn't matter. For those of us who like to program in BASIC, it was frustrating.
No, you are completely wrong. It was the best BASIC around in 1977 and that's why Commodore bought it for the PET, and that's why Apple switched to it from their own Integer BASIC, and that's why Atari started selling it.
@@MacbthPSW It was bog slow! It sure had a nice editor if you got used to it but otherwise.... AFIAK it didn't tokenize numbers (there is also no token for it) so every time it needed to calculate the value of a digit string and that slows down tremendously. I also doubt it had a small cache of often called line numbers so gotos would be a lot faster and I can only hope they encoded basic line numbers and line lengths.... CBM64 released a whole year later than the 1st BBC micro and that was incomparable in speed and features and used the same CPU.
Thanks for a great product. Please add me to your list when it comes out. I tried to create an account on the website but it does not seem to be set up for new customers.👍
Accounts are created during purchase -- so that the download can be accessed and so that questions can be asked in the forums. I plan to make the new version available when I upload my next video, so check for that (hopefully in a week, but could be a bit longer -- just depends on how long it takes to edit).
A little tip. Perhaps you could include a warning that SCREENSAVER5 may cause epileptic seizures for those who are sensitive. I had to stop watching. For those who are sensitive, skip 3:24 - 8:04 .
I'll pin this at top so that people can see it. I recorded this from VICE and I keep the VICE window fairly small. Even my preview window in my video editor is fairly small, so it wasn't obvious to me that this might be too much when viewed on a larger screen. I'll try not to repeat.
It's funny (not "haha" but "strange/weird") because I thought the same thing. I'm not afflicted with this problem so I don't really know what it's like but my imagination tells me it's likely quite horrible. The screensaver effects are "pretty cool" to me though I definitely predicted it might cause harmful effects to those who have that difficulty. (I once worked with a creative type who did graphic design work and unfortunately felt the pain (for lack of better word) of certain unpredictable episodes while he was searching for work related information or data. So my heart goes out to you. I can't imagine what technological measures could be put into place to make the internet "safer" for you. Probably a job for "AI" to preprocess videos and web pages to look for high contrast flashing and animation.
Dennis, thank you for all of your hard work on this project. I know that there are one or two more surprises awaiting us. I just can't wait for the second part of this video.
Thank you as well! I wish I could do this stuff for a real job, but it doesn't pay the bills, LOL.
@@visionbasic I try my best to show my appreciation; I did buy two copies of VB (now what do I do with the other !?) Every bit of your work is appreciated and you are now famous in our C64 world, just don't quit the day job.
@@networkg Thank you! I've seen a couple cases where someone bought two copies. I guess you can sell or gift it to someone? Maybe visit a "VCF" with one? I love this C64 community, so I hope to stick around a long time!
@@visionbasic I would buy 10+ copies just to show support. See my other comment.
@@anjinmiura6708 Your a real fan !!! I wish I could buy 10 but just don't have the funds as retirement keeps me counting pennies.
I've programmed Visual Basic for ages, so it is nice of Microsoft to make this 1.1 update.
Well, it took this long because Commodore went bankrupt in 1994.
I actually tried to program in Visual BASIC, but it seemed anything BUT basic to me. But Microsoft didn't have anything to do with this update, and I suspect that you are just pulling my leg, lol.
@@visionbasic 😁
@@endwigast5212 😂
@@swedishpsychopath8795 😂
Those updates seem great. Thanks!
You're welcome! I hope to get started on version 1.2 soon. Hopefully it won't take a year to complete. And the changes will probably be fewer.
Awesome stuff! Of many C64 development tools created in recent years, this one is by far the most interesting, at least in my opinion.
Thank you! I love to see all the cool projects coming out for our beloved C64!
This is amazing. Thank you so much!
I appreciate that!
Cool, we have yet to play around with this. It is on the list!
That's alright. It's like a good wine -- getting better with age, LOL.
And I know that one of you guys asked about "modules". I might do a video on that topic in upcoming months, though they are a bit clunky.
@@visionbasic Please, please do one on modules.
@@networkg I have a mental list of ideas for videos. I can't say that the next one (after the next one) will be about modules, but even I don't know what I'm gonna do, LOL. But yes, I do plan to tackle modules in the near future.
@@visionbasic We're hitting VCFSE today and this weekend. After the show I will dedicate some time to working with Vision BASIC. I do understand the capabilities of it and it is a huge deal.
Congratulations. Great work.Cool updates.
Thank you!
I 3D printed a vertical wall shelf for a C64 Maxi emulated 64 - that is my dev platform
There are some who don't appreciate that machine, but I think it's an excellent choice for many folks. Being able to save the state of the machine is a cool feature!
@@visionbasic For me it's the fact that all the cables are on the right side and I can plug it in a regular monitor. I just move it off the way to the side wall shelf now and put the PC keyboard back in its place.
Congratulations! 🎉
Thank you, Miles!
Miles, you caused me to become addicted to your word game. Please drop by my house, feed my dog, mow my lawn, and fix the sink and all the other things my wife says I am neglecting because I play that dang game all day ! LOL
@@networkg Apologies to your wife! I’m glad you enjoy the game! 😊
@@milesdyck I still want to do a video that includes your game in the focus. Version 1.1 kept me too busy to do it yet.
@@visionbasic Sounds good, Dennis! No rush.
Great stuff! Is a C128 version in the works?
Also, could the VDC's RAM be used as an REU like GeoRAM?
Dennis Osborn has mentioned in previous videos that there are no other versions being considered anytime soon. The goal is to continually improve Vision BASIC for the C64 in the years ahead, instead of diverting resources to create versions for other machines and stalling development of the flagship C64 version.
I don't know much about the C128 (the changes I added for 2MHz mode were simple). I know that the C128 has extra RAM, but probably not enough for the full requirements (some kind of extra RAM would still be needed). I don't know if and when I could make a version for the C128 (I've had requests for other machines too). I do all of this in my spare time. I might take advantage of the 80-column screen (in C64 mode) somewhere down the line, but that's not a promise. Any versions outside of the C64 version would have to wait until after I'm completely done with the software (perhaps by version 3.0). Otherwise, I'd just create way too much work for myself, trying to change multiple versions at the same time for all of the incremental changes.
@@endwigast5212 Yeah, like I said, I want to be totally done with the software before even considering the idea. I'm not against the idea, but I don't want to be managing multiple versions all at the same time. It's not the same as today's computers where you can much more easily port to different machines (from a single source code). Vision BASIC was designed to be tailored specifically to the C64 -- at least when it comes to graphics and sound commands. The formatting of these commands would have to be tailored to the other machines. Also, Vision BASIC now utilizes almost 100% of the C64 RAM, so that provides significant hurdle to porting over to other machines. I program to keep my brain healthy, so who knows what the future holds concerning this project...
This video should be seen by Robin from 8 Bit Show and Tell
He's aware of Vision BASIC. I never push. I want enthusiastic reviews, and that's worth more to me than just a general review of my software (or a negative one). Plus, as a content creator, I take suggestions into consideration, but appreciate the freedom to be able to focus on what I want to. I watch both of the "8-Bit" Tubers (and love their shows), but I greatly appreciate the videos done by some of my customers -- they do an excellent job! And they seem to enjoy using the software! :)
New Sub; Dyrden Mich.
Well done Sir! This is w!ZaRd
Thank you!!!
WOOOWWWW ❤
I REALLY LOVE MY C64 FOREVER ❤❤❤❤
Even though I don't code anymore and never owned a c64 I appreciate getting random suggestions like this. Looks much speedier than any stock BASIC..
As always wirh a programming language, my first question is if it comes wirh a compiler or loader so that those wirh out the package can use the programs
Vision BASIC is only a compiled BASIC - there is no interpreted BASIC aspect to it. And the code you write compiles to C64 machine language that can be run on anyone else's C64 or emulator. The recipients of your program don't need to have Vision BASIC to run your program.
Great, thanks for the update !
You're welcome!
I didn't understand much of this but I hope that the next video will show us that you have implemented some sort of CUT, COPY and PASTE of blocks of code in the editor.
You already have a block DELETE so I assume it wouldn't be too difficult to do. Now it has to be done by manually editing the line numbers of the code block you wish to move. And then block delete the old code. Since I only use Tags for branches and jumps it's easy to move code around but it would be even more easy if Vision Basic did it using those commands. :-)
I might ultimately add some kind of copy and paste, but that would possibly happen in version 3. But for version 1.2, I plan to rework the renumbering command so that code can be moved to a different spot in the program (that's the hope, anyhow). As it is, Vision BASIC now uses almost all of the RAM of the machine, so adding new features is getting much harder to do (and I'm wanting to work on a solution for that as well).
Very nice! Fun project!
Thank you!
I bought a copy, haven't had the time yet to use it.
I hope that changes for you! 🙁
I didn't buy Simons' BASIC because I was waiting for Vision Basic. Now I can start programming my C64.
Sorry for the delayed response -- been crazy busy lately. I have Simon's BASIC and it was fun to use, but it was too slow for much of what I wanted to do. As an update, the latest version to Vision BASIC is now available for sale (version 1.1).
Can you draw outside the borders with VB? I know it's possible as I have seen demos that escape the borders.
That would require assembly language instructions. It's certainly a topic I could look at for a future video. That's certainly a great idea for something to try. But it's probably best for me to just produce some code that people could use instead of adding a new command for it. I'm trying not to bloat the command support library any further, if possible.
will this run on Commander X16? I don't have a Commodore 64, just Apple IIe. Maybe i will buy a Commander X16 to run Vision BASIC.
No. Vision BASIC was designed to focus on C64-specific features. There are a lot of hurdles to port Vision BASIC over to another computer (and it may not be possible on some computers), so it is something I won't consider until I'm fully finished with the software. The Commander X16 is supposed to have a built-in compiler, but someone said that progress has not been made to finish it (I don't know if the statement is true). I feel that it would be quicker if someone more knowledgeable about the ins and outs of the computer would create a compiler for the Commander X16.
Vision BASIC will run on a C64 emulator like VICE, but it's best to know a decent amount about the C64 and its BASIC before trying to use Vision BASIC (since you are familiar with the Apple IIe).
I have a question. I know VB compiles it's code that can be run on a stock C64. Does it also crunch the code to make it smaller or is it just a compile?🧐
It only compiles. A support library is present for BASIC commands, so this provides some bulk, but it's necessary. A separate crunching program can reduce the file size (there is a cruncher out there on the internet for the C64).
5:56 that is a cool map. Where does it come from?
It's from the Vision BASIC manual. There are four maps like this to help with placement of text screens, character sets, bitmap screens and sprite shapes (only mildly helpful with sprites shapes since the actual shape numbers are not shown). Anyhow I created the maps to help figure out where to put things. Really, banks 2 and 3 (range 0 to 3) are the most useful in Vision BASIC.
I wonder how this runs using the Turbo Chameleon 64.
Compile times are sped up significantly with a TC-64 attached. Plus, you can take advantage of acceleration in your own programs if a TC-64 is attached with a simple command -- no pokes are necessary!
Plus, I believe that GeoRAM access should be accelerated on the TC-64, so it MIGHT outperform an REU (since an REU runs at 1MHz). But I haven't tested to see if this statement is true.
Hello Sir greetings from FInland
Hello as well! :)
I'll have to figure out which customer you are! LOL. I think a couple of my buyers are from Finland.
Hi, I'm currently a Game developer. I would love to create C64 games but i didn't learn 6502 when was younger. I've seen the new games on the C64 and would love to create games of these standard. Would Vision basic be up to the task or is it that bit to much?
No matter which avenue you take, it's going to take a lot of learning. I'm convinced that I could make anything I want to with Vision BASIC, but most pros choose assembly language (which Vision BASIC can do). But most pros use a cross-assembler. I think it's going to take a lot more work to go the assembly route, but the results are faster (for things like multiplexing, for example). So it just depends on how dedicated you are to it, and what you're expecting. I can always do assembly in Vision BASIC when needed, so that's my perspective, but the support library does add bulk to the programs. The C64 has a lot of limitations (mainly the 64k part, and it's also easy to run out of cycles per screen refresh), but people who are used to programming on modern computers will find the limitations a huge hurdle. But really, it's more about how much you're willing to learn (using assembly or Vision BASIC). My goal with this response is just to give you the most honest answer I can.
@@visionbasic Yeah, I wrote a large dialog-driven batch game on PC, I don't know if I can do the same on the C64. Because the game has got tons of systems and planets.
@@germanslice Having an REU could help -- stuff could be stored there and fetched fairly rapidly when needed (1 byte per cycle).
@@visionbasic Hmm. my game Is 29 megs in size in text form. Its way bigger than 64 RAM, has over 80,000 lines of dialog between 10 party members, and all the other worlds they interact with.. But then the C64 has been known to have big games spread out over many disks.
@@germanslice If you could plug both a 16MB REU and 16MB GeoRAM into a port expander, the 29 MB could fit (at once), but then what would you store the game on? Regular floppies hold 664 blocks per side (one MB would span more than three double-sided 15.25" disks). If there is a lot of text, then words could be compressed as a type of token perhaps. I can't even imagine a game consisting of 29MB of text!
Can the compiled programs be run on a stock C64?
Yes it (they) can...
REU or GEO RAM is only needed to run Vision BASIC and create your game or application or whatever you'll do.
You can then compile the result to disk as an executable file and it will work on a real C64 or emulators.
The advantage of Vision Basic is that you don't have to leave it to compile your code.
I am currently programming a game on C128 using Basic, Edass 128 Assembler, Blitz 128 Compiler and it's always a pain to compile it (you need to save your source code, reset the machine, load the compiler, compile your source code, then run it... just to note that many things (BASIC part) are running to fast or too slow...
Ergo, you have to reset again, load your code, modify the values and repeat the process... )
With Vision Basic you immediately see how your program or game works...
It's just too bad there is no C128 version so I'll have to stick with what i have
{or maybe port the game to C64 using Vision BASIC 🤔😁)
@@miselzivanovic2181 When I get to my last planned version (potentially version 3.0), I might look at the viability of doing a port to one or more similar machines, but that obviously won't be in the near future (spare time is all I have to work on this project, sadly). Thank you for responding to the inquiry!
@@visionbasic
No problem...
It would, of course, be very nice to have it sooner 😉
In any case, porting my game to C64 sounds like fun and I'll try that with Vision Basic 1.1
It's just close to 1000 lines of code, plus assembly routines... Easy 🤷🏻♂️😁
@@miselzivanovic2181 Just to put some information out there, if you're curious... I'm sure you've already seen my comments on ports, but it doesn't make sense to have to update multiple versions at the same time -- far too much work, especially since computers differ greatly anyhow. I can't merely take a core version, make changes and then apply to all versions -- it just doesn't work that way (I wish it did). One important hurdle is how each computer handles zero-page addresses (I use known safe addresses in the C64, but each computer is different there). I didn't use labels for these addresses, so I can't easily make changes. How each computer uses the RAM is also a major factor, as well as ROM placement. Vision BASIC now uses almost all the RAM. And "run pack" placement is another thing. I do think version 3.0 (my plans for it) will make ports easier to do (easier than other versions, anyhow, since I don't think "easy" is the right word). Still, all the factors need to work. I'll also have to have the energy for it. If I'm done selling Vision BASIC for the C64, I might just give the source code to someone else who wants to give it a shot (with the ports). But I don't think such people exist because someone who is capable of doing a port could just as well start from scratch and build a similar project (and such people likely use assembly language for everything and have no interest in making such things -- because they simply don't need them). And my code is a bit messy. I also have an idea for another big project for the C64, so part of me wants to do that first, honestly speaking.
@@visionbasic
Sorry for the late reply.
I was working on my code to optimize it where possible and to make it smaller, shorter, well, optimized...
My grandma used to say:
If you want to get depressed very quickly, go on and try to please everyone 🤷🏻♂️
We (the other platforms people), are just a 'little' bit selfish and everyone would love to see it done for their own platform.
My piece of advice: don't listen to us 😁 (We will always find alternative ways)
And then, most people with serious skills are NOT programming directly on C64, C128 etc. anyway.
Myself and probably few others are exceptional cases.
(I started with assembly not even a year ago and it's more fun coding directly)
As you're saying, even if you would give the source code out, there is probably no one who would bother to invest time to do the port for other platforms.
I can't foresee the future, but according to your words, you best just keep working on what you have and then start constructing your next dream (project)... C64 and any other retro platform should be fun and under no circumstances a source of negative stress or good mood killer 👆
Ergo, you have fun coding and other people go get yourself a copy of Visio BASIC, now! 😁
Is this going to be a free update for previous buyers, and when will it be available for download?
Yes, a free update for previous buyers! But I will accept donations for those who want to (ONLY if they feel the update is worth it). That's my new model for the time being (a value-based system). I'll provide info on that in the download when I make it available.
Yes I will donate. Just send an email when it's available please.
@@n830rc Again, donation is completely voluntary, but I know that some people benefit more from Vision BASIC than others, and everyone's finances are different, so I hope this model works for everyone for all updates and upgrades. I want donations to be based on how the software benefits the buyer (I'll provide details in the download). I don't want the extra pressure of something like Patreon, so this is my chosen model for the time being. I'll try to get the word out to everyone, but my previous method of contact has expired (it wasn't reaching everyone anyhow). So I'll be working on that in the next couple weeks. Look for the download to be available after my next video, unless I contact you all to let you know that it's available sooner. That video will probably appear at least two weeks from now. Unless I can figure out how to change this, you'll be downloading the new version under the old "1.0" link (future buyers will just see "Vision BASIC" with no version number in the download section). I'll be resetting everyone's counters as well.
What would your reaction be if Commodore 64 had a 1 GB RAM expander?
It would be cool, but it's hard to even use 16MB with a C64, so it would probably have limited usefulness. Moving data around would also be slow (large amounts of data). Might make a decent "RAMdisk" for quick loading of programs -- it could house a large collection of files. Are you aware of such a device? It takes three byes to address 16MB, so I imagine it would require 32-bit addressing for 1GB (I think 32 bits could address 4GB, if I'm doing my math right).
the screen artifacts during the catchless race cars demo (fastest), is that a problem with the code or the screen capture card?
When you move a sprite while it is being drawn, the artifacts will happen. Programmers of regular BASIC experience this quite often because the language is so slow (usually the sprites will simply "blink"). It's best to move sprites when the raster is not on the main screen. If a game's code is fast enough to execute entirely within a single screen refresh, then I recommend moving the sprites when the raster beam is offscreen (starting with raster line 251). The demo was just meant to show how fast the new command executes (not a demonstration on how to program for sprite movements). The best way to move sprites quickly is simply to add more than "1" to their X,Y locations. The artifacts are probably more noticeable since the sprites are being moved many times within a single screen refresh. Efficient code is the only way to prevent the artifacts entirely (keeping the game loop within a single refresh), but the ALLMOBS command is meant to help with that.
@@visionbasicthe reason I brought it up was because I expected the sprites be tearing (as the movement is horizontal only), so the sprite's before-the-rasterline and after-the-rasterline parts would be off by 1 pixel. However I could see artifacts (eg. top of blue car at ~13:48) all the way to the right when the cars were still on the left side of the screen. i can't explain that.
@@robbiesz I can't explain it fully either, unless the main loop is executing SO fast that the sprites are moving substantially. It could be an emulation thing as well. It could also be a quirk of the video editor, or screen recorder (though I'm pretty sure it looks this way in the emulator). The right and left issue might have to do with that extra significant bit. I just know that I prefer now to change sprite locations offscreen if I can keep my code fast enough. Also, I'm pretty sure the ALLMOBS command moves all sprite horizontal positions BEFORE setting the significant bits for all sprites. That might explain part of it.
@@visionbasic I assumed that you recorded the composite feed of a physical C64. With the emulator in the mix, doing its own screen recording, there are way too many variables to easily pinpoint the reason. Thanks for taking the time to explain it! I enjoyed the video very much! Amazing work on this new basic expansion! My 10 year old self drawing sprites on grid paper and doing peeks and pokes in the 80s would have killed for it! :-D
@@robbiesz Thanks so much! I use emulation because it's just easier for me. It allows me to switch over to other instances of VICE instantly (as I did in this video), plus I can capture other things on my screen. Also, when I started out on TH-cam, I wasn't sure how to capture decent quality from a real C-64. Still, since I can easily switch instances of VICE in a flash, I'll likely continue to use VICE. I do plan to capture my monitor in a brief clip for my next video, but it will be a capture of the actual monitor screen, so I hope it ends up looking decent (or I'll have to scrap the idea). With my imperfect eyesight, I also appreciate the sharpness of the pixels on a modern monitor.
Will there be an update policy from V1.0 to v1.1?
The update is free for those who purchased it previously, if that's what you're asking.
The software is free for previous buyers but without a manual it isn't much use...
@@Centar1964 documentation is provided for them too at no charge.
@@visionbasic the printed manual is free? who pays the shipping?
@@Centar1964 it's a digital addendum
❤ project. Syntax is difficult. One has to go through all the examples and manual to pick up on nuances. I don’t mind this… I wish the documentation was … helpful
I've had to reshape my programming habits around Vision BASIC, but I guess I'm used to it. I've just always considered the benefits to far outweigh the limitations. I struggled tremendously with creating cool stuff in regular BASIC, so now I can whip up super-fast stuff in a fraction of the time. Converting programs from regular BASIC is more challenging than starting from scratch, though. But I will be trying to improve the syntax where possible in upcoming versions. I do have one significant update to the syntax planned for version 2.0, but it might not be in line with what you are talking about. Still, I do want to improve things for the programmer more and more over time. Plus, I do want to improve things for myself -- as a fellow programmer -- so I think that helps a lot with the ideas.
@@visionbasicI think he just wants better docs.
@@UltimatePerfection The forums provide an easy way to ask me for specific help (supplemental to the 318-page manual).
You cant use loop as a lable or tag but you made the computer loop the character petsci 192 ???????
You can use LOOP as a label. But when standing by itself (without the asterisk in front), it will be treated as a user-defined command. Thus, it will act like JSR LOOP. The asterisk prevents this.
@@visionbasic how do u bitmap on a commodore 16
@@Mr.1.i I've never used a Commodore 16, and Vision BASIC does not run on that computer. The Commodore 16 does support similar bitmap modes to the C64, but I believe with the larger color palette of 121 colors (though I have no clue how that might have been implemented since the C64 can fit two color values into a single byte).
@visionbasic u know jack trameil
@@Mr.1.i I can't say that I ever personally knew him.
Maybe it's time to consider going for digital even for the documentation. I already bought v1.0 a long time ago, I have nothing against paying for v1.1 but it would be way easier to be able to get the documentation as a digital download. At least if i were you i would offer this option for people having already bought v1.0.
Providing a digital manual creates some piracy concerns. If you have any specific expertise in creating digital documentation that can't easily be copied, perhaps you can share your ideas in the Vision BASIC private forum? I've heard that Dennis had already considered the idea at least a year ago, but I have to assume he found no viable solutions because a digital manual option still hasn't materialized.
I've kept that on my "to do" list. I've had to keep all my focus on one thing at a time. But version 1.1 is free for those who've already purchased (donations optional).
@@endwigast5212 I do have one idea, but it's not quick and easy. So I'll be toying with it as I work on version 1.2. It's been brought up in the forum.
@@visionbasic I will donate, 1 year of improvements deserves a reward :)
@@OlivierSimpleLife I just know that different people have different experiences with my software. Some never even get to use it, oddly enough. Some have different financial situations. Some use it more than others. So I'm just testing this model out. I remember back when I liked CCS64 better than VICE, and I wanted to pay for the fully-functional copy of CCS64, but my finances were in pretty bad shape back then, so I never purchased the full edition. VICE eventually became the better software, it seems, so now I just use VICE. But I gladly pay my way and support those in the C64 community with my purchases. I believe in supporting whatever model a creator uses. If they charge a price and I can afford it and I think it's worth the price, I'll buy. If they offer something for free, I'm frugal, LOL. But I have donated to things as well.
I like how you present things … until there’s a very disturbing constant red box flashing stuff. Some people can’t watch stuff like that. Perhaps chose something calmer next time, as it is only a visual “filler” anyway?
I apologize! I was just trying to show off the speed of some of the bitmap commands in that demonstration. That demo was drawn in real time and didn't use any kind of memory swapping to animate things. I'll keep that in mind for future videos -- I can't edit the video at this point, sadly. I totally get what you mean, though.
Microsoft basic was one of the worst basics around
So, why did Commodore and Apple buy it?
It was lacking in graphics commands for sure, but pretty advanced otherwise compared to other versions of BASIC on other machines at the time. I programmed other machines and their editors were atrocious! But yes, the lack of graphics and sound commands was a huge bummer for all of us who love to program in BASIC.
@@bierundkippen720 To keep the cost of the machines down. It was essentially free when placed on the C64 (a one-time purchase by Commodore for earlier machines than the C64). For those who just wanted to play games, it didn't matter. For those of us who like to program in BASIC, it was frustrating.
No, you are completely wrong. It was the best BASIC around in 1977 and that's why Commodore bought it for the PET, and that's why Apple switched to it from their own Integer BASIC, and that's why Atari started selling it.
@@MacbthPSW It was bog slow! It sure had a nice editor if you got used to it but otherwise.... AFIAK it didn't tokenize numbers (there is also no token for it) so every time it needed to calculate the value of a digit string and that slows down tremendously. I also doubt it had a small cache of often called line numbers so gotos would be a lot faster and I can only hope they encoded basic line numbers and line lengths....
CBM64 released a whole year later than the 1st BBC micro and that was incomparable in speed and features and used the same CPU.
Thanks for a great product. Please add me to your list when it comes out. I tried to create an account on the website but it does not seem to be set up for new customers.👍
Accounts are created during purchase -- so that the download can be accessed and so that questions can be asked in the forums. I plan to make the new version available when I upload my next video, so check for that (hopefully in a week, but could be a bit longer -- just depends on how long it takes to edit).
@@visionbasic Thanks for the quick reply. I am excited to try it out and look forward to purchasing it!
@@RoyAyres-fi8sk Not sure if you got word, but Vision BASIC v1.1 is now available online for purchase!