Vision BASIC for the Commodore 64 - PART 2 - a better BASIC programming language for games and more!

แชร์
ฝัง
  • เผยแพร่เมื่อ 21 ก.ย. 2024
  • Please Like and Subscribe and Share!!!! And visit www.visionbasic.net !
    Vision BASIC has officially launched! May 4th, 2022! For those who live outside the U.S., consider purchasing the last product on the purchase page since shipping is INCLUDED in the price! International shipping rates are ridiculous, sadly, but this package (1.0e) is shipped out more locally (so the shipping is cheaper).
    I put this video together a bit quickly, but I've got the time constraints for the launch date, so I apologize for its quirks. I was also sleep deprived for ALL parts of it, but hey, it probably makes for a more entertaining video! LOL! This video aims to answer to some of the questions I've been asked, but also showcases how add-on packs can extend the capabilities of Vision BASIC, making it even BETTER! I don't plan to make any more videos BEFORE the official launch date.
    Also, in the video I mention Robin's channel "8-Bit Show and Tell". Most of you have probably heard of him, but if not, then please check out his channel. I'm ALL ABOUT keeping us all connected and helping each other out, and keeping the C64 community alive and well! Here's the link:
    / 8bitshowandtell
    And down below is a description of what Vision BASIC is all about. If you haven't seen my previous video, then check it out here:
    • Vision BASIC for the C...
    ============================
    Vision BASIC is a versatile BASIC compiler for the Commodore 64. Imagine blending together Simon's BASIC with the Blitz! compiler and an assembler all together into one program! But then imagine that it's even much better than that! The programs you create with Vision BASIC won't need a language extension (like Simon's BASIC on cartridge) in order to run when you are done making your programs! You can easily run your programs from within the editor instead of having to funnel your programs through a separate compiler in a completely separate process! And if you need an assembler, Vision BASIC doubles as one! Stick with BASIC, go with assembly language, or do both! Mix it up however you'd like!
    Over 100 new commands are added -- commands for sprites, characters, bitmaps, sound and even interrupts! Take that slow BASIC game you made that just never made the cut and try breathing new life into it by putting it in Vision BASIC's hands -- feel the raw power that machine language can provide without having to look at an endless and often confusing column of machine language instructions!
    But why keep reading -- just watch the video and see for yourself what Vision BASIC can do!

ความคิดเห็น • 69

  • @odarpi1
    @odarpi1 2 ปีที่แล้ว +5

    C64 will be 40 this year, can you imagine that? What an example of brilliant engineering.

    • @visionbasic
      @visionbasic  2 ปีที่แล้ว +3

      That number makes me feel old, LOL! I've pondered making programs on today's modern computers and there just isn't any desire to go there for me. There's something about the retro feel that I love.

  • @JohnMDiLiberto
    @JohnMDiLiberto 2 ปีที่แล้ว +10

    Dennis, congrats on bringing such an endeavor to fruition. It must be very gratifying!

    • @visionbasic
      @visionbasic  2 ปีที่แล้ว +4

      Thank you! Well, I'm glad to have finished it for sure. Gratifying in certain respects. I wish I could hire out folks for the parts of this that are less gratifying, but nobody works for peanuts, LOL. I do want to update the software at least once, but since I've spent years and years on this, I'd also like to do some other things. :)

    • @stephanerichard3979
      @stephanerichard3979 2 ปีที่แล้ว +2

      Amazing Dennis. Absolutely amazing. On the website I failed to see a link to get my copy. How can I do it? Thanks.

    • @visionbasic
      @visionbasic  2 ปีที่แล้ว

      @@stephanerichard3979 You log into your account after clicking the "Account" link on the website. This account was created during purchase. If you haven't purchased, you do so on the "Purchase" page.

  • @OlivierSimpleLife
    @OlivierSimpleLife 2 ปีที่แล้ว +3

    Hi thanks a lot for having added a Digital offer. I've just ordered it !

    • @visionbasic
      @visionbasic  2 ปีที่แล้ว +2

      You're welcome! :)

  • @retronicksprogrammingchann2337
    @retronicksprogrammingchann2337 2 ปีที่แล้ว +8

    you should probably send a copy to David Murray (8 bit Guy) and Robin (8 bit show and tell). they are probably your best sources to get the word out to c64 programmers.

    • @NemanjaVuj
      @NemanjaVuj 2 ปีที่แล้ว +4

      I second that, especially to Robin from 8-bit show and tell.

    • @joecan
      @joecan 2 ปีที่แล้ว +3

      !00%. DM for exposure, Robin for relevance.

    • @TJ-sj6yy
      @TJ-sj6yy 2 ปีที่แล้ว +3

      Yes good Idea - I keep up with both myself

    • @visionbasic
      @visionbasic  2 ปีที่แล้ว +4

      I watch both as well -- I love their shows! I have considered it. I wanted to see how sales go before inviting more exposure. Right now it's slower than expected, but then I am also trying to figure out some things (like getting a version ready for people outside of the U.S.). So I don't want to get too overwhelmed at the moment. I still gotta do my thumb drive copies, though that shouldn't take too long. The folks printing my shirts have to purchase a new machine, so there are bumps on the road, but aren't there always? :)

    • @menotu000
      @menotu000 2 ปีที่แล้ว +1

      @@visionbasic I didn't notice when I ordered... is it both NTSC and PAL compatible or is that what you are working on atm besides the launch i mean.

  • @kirill_bykov
    @kirill_bykov ปีที่แล้ว +1

    A little bit inconsistent: you have single box command to draw filled and unfilled boxes, but for filled circles you have separate command disc.

  • @jamessm4401
    @jamessm4401 2 ปีที่แล้ว +2

    Oh boy my vision basic order comes tomorrow!

  • @martinvolker2912
    @martinvolker2912 2 ปีที่แล้ว +3

    Looks interesting. I also like the UI at the beginning of the clip. Great work!

    • @visionbasic
      @visionbasic  2 ปีที่แล้ว +1

      Thank you! I wanted to make it easy to navigate - compared to stuff we all usually made back in the 80's and 90's. You learn something from using modern computers all these years.

  • @MrThomashorst
    @MrThomashorst 11 หลายเดือนก่อน +2

    Dude you are 38 years to late ... now I'm to old for this 😂

  • @BryanChance
    @BryanChance ปีที่แล้ว +1

    Hmmmm..yep I'm impressed. very cool

  • @dr.ignacioglez.9677
    @dr.ignacioglez.9677 2 ปีที่แล้ว +3

    I LOVE C64 👍🥂🎩

  • @menotu000
    @menotu000 2 ปีที่แล้ว +1

    I ordered yesterday as a birthday present for myself. I hope to have at least a download asap. I don't have a way to use the physical product but I do support it's development... and as I understand it, I should have access to a disk image (unless I am very much mistaken).

    • @visionbasic
      @visionbasic  2 ปีที่แล้ว

      I am actually working on that part of it. I'm trying to test it at present.

  • @zwfilmsalt
    @zwfilmsalt 2 ปีที่แล้ว +2

    Now for a Minecraft 64 game to be made with Vision Basic

    • @visionbasic
      @visionbasic  2 ปีที่แล้ว +2

      I had seen some chatter about trying to make Minecraft for the C64. It has been said that the C64 would not be able to handle the sheer size of a Minecraft world. Even a scaled down version would be rather slow from what I gather. One problem is the number of building blocks you would have to keep track of and attempt to display. If a world could be created and then converted into something with reduced geometry, it might be able to be displayed and wandered through. I have certainly thought that a C64 version of the game would be cool, though, and worth an attempt. Certainly someone has looked into it (I hope). Maybe we'll see such an attempt in the near future?

  • @GeorgesChannel
    @GeorgesChannel 2 ปีที่แล้ว

    Great work! congrats!

    • @visionbasic
      @visionbasic  2 ปีที่แล้ว +1

      Thank you!!! Buyers are now starting to receive their packages, so I hope some of them will update me on what they think!

    • @GeorgesChannel
      @GeorgesChannel 2 ปีที่แล้ว +1

      @@visionbasic Optimizing a software for so long..i am sure it will be a success. I am a softwaredeveloper myself for over 30 years now. Good things take its time..:)

    • @visionbasic
      @visionbasic  2 ปีที่แล้ว +1

      @@GeorgesChannel I think my father wanted me to program as a career, but I loved my C64 too much to move on to other computers. I actually wanted to be a rock star, LOL!
      Believe it or not, I originally started writing Vision BASIC (back in 1997 maybe) with regular C64 BASIC (except for the support library, which had to be ML). So compiling with it was super slow back then. But I did employ my SuperCPU accelerator to help with the speed. And the goal was to get Vision BASIC to be able to compile itself, which I was finally able to do!

    • @GeorgesChannel
      @GeorgesChannel 2 ปีที่แล้ว +1

      @@visionbasic Amazing work! I love your dedication to your vision.

  • @DevEncryptionNull
    @DevEncryptionNull 2 ปีที่แล้ว +1

    Very Cool! Have you thought of handling code bloating by doing what C compilers do? C compilers remove any function code, that is not used by the program, before compiling. This keeps the code at the size of just what they need every time. This way you can have an extended command set and still keep the binary trim.

    • @JustWasted3HoursHere
      @JustWasted3HoursHere 2 ปีที่แล้ว

      I was thinking the same thing.

    • @visionbasic
      @visionbasic  2 ปีที่แล้ว +1

      That thought crossed my mind, but too late in the process. But honestly, Vision BASIC uses almost all of the free RAM, so I'm not sure there would be room for the required extra coding to make that possible. Still, it is something I have considered and I will look into the possibilities when I try to update the software. Vision BASIC does actually cut out some of the bloat via a "lite" version of the library, which gets output when you don't use any graphics or sound commands.

    • @DevEncryptionNull
      @DevEncryptionNull 2 ปีที่แล้ว

      @@visionbasic Yeah resources on the C64 is limited for sure. I know you have already committed to doing it the way you are but just for discussion you could use REU (up to 512k additional RAM). This way your compiler would not consume any of the commodores main RAM and you have plenty. You could also make a cross compiler, where the editor and compiler was written for a modern desktop (windows, max os x, linux, etc) but it builds normal commodore 64 binaries. Just some thoughts, great work on Vision Basic!

    • @visionbasic
      @visionbasic  2 ปีที่แล้ว +1

      @@DevEncryptionNull At present, it would be a major undertaking to go that route. It is something I would like to do, but it would take major rewriting. The Vision BASIC software itself occupies ALL of the RAM from 2049 to somewhere under the BASIC ROM, and then most of the RAM from there to 53247 is used for variables, strings, and a spot to fetch and stash between the C64 and the REU. User programs are stored in the REU (source code and compiled code), along with the tables for variable parsing, line number information, etc. The "library" of routines have jumps that can't be relocated as they stand (some jumps are just too long for BCC, BNE, BCS and BEQ). There are jump tables involved as well. Some routines call other routines. The "only-needed" library routines could be fed into the compile stream and be compiled along with the user's program, but that would cause compile times to increase significantly. So it would take a major rewrite for sure.
      I initially wrote Vision BASIC in regular C64 BASIC and started to run out of memory -- hitting up against that upper limit of 40959. That may have contributed to me giving up on it somewhere around the year 2000 (among other factors). I had to rewrite the part that parsed ML instructions and that freed up some memory. Then I removed the graphics commands (I just needed Vision BASIC to be able to compile itself so that I could go further). Honestly, I may be a good programmer, but I'm not a great programmer. Vision BASIC is just the result of solving one problem after another after another for years on end.

    • @DevEncryptionNull
      @DevEncryptionNull 2 ปีที่แล้ว

      @@visionbasic I'm inspired by what you have built. I've always wanted to do something similar but wanting to do something and doing it is 2 separate things. So, bravo! Out of curiosity is Vision Basic programs converted to Assembly and then assembled into a binary or is it similar to blitz where it is byte code interpreted ?

  • @n830rc
    @n830rc 2 ปีที่แล้ว +1

    Nice video. I'm really interested to see how fast this thing can move sprites about the screen and to see if it has any advantages over Lightning Forth language which is what I'm considering.

    • @visionbasic
      @visionbasic  2 ปีที่แล้ว +2

      I want to do a sprite video, but I won't do any more videos for a few weeks so that I can focus on the product's official "launch". Moving sprites in Vision BASIC will likely appear too fast at first. The speed will greatly depend on a number of factors. If you use the intentionally fast math commands of Vision BASIC, you get much better speeds. But the more "thinking" that your programs do, the more things will slow down. This is generally true for all programming languages. Pure machine language will always be the fastest.
      In my "Harold" game (please download if you haven't), a certain amount of "thinking" has to be done by the mice -- they need to go after Harold most of the time, but also need to flee him when he eats the catnip. Also, all of the sprite characters on the screen have to detect the text characters around them, so this takes cycles to perform. And when you add sound to the mix, more computing cycles are taken up.
      Even machine language instructions are not as fast as you might think. It isn't as if each instruction executes in the time it takes to draw a single pixel on the screen. So even machine language programmers have to be careful in their programming. Every line of code adds cycles to the main loop. Clever programming helps significantly. For example, in the Harold game, only ONE sprite becomes the main focus in a single loop of the game. So for one loop of the game, Harold might be the focus. In the next loop, one of the mice will take central focus. In yet another loop, the "projectile" will take central focus. So each sprite gets a turn for being focused on. The rest get advanced a single pixel and that's all that gets done for them in that loop. So the mice don't need to make decisions during every loop advancement. All of the sprites are offset by a single pixel from each other. So for every eight pixels of movement, each sprite gets to make a decision on where it is going to go next. The source code for Harold is included with Vision BASIC, so anyone can see how all of this works.
      But every game is different. For some games, Vision BASIC will seem too fast no matter what you do, so you'll have to slow it down intentionally (usually with a loop). If you know some machine language, you can substitute machine language for any part you wish to speed things up (if needed) -- the "ML" version of the game does this (two versions are on the disk image). One other tip -- don't update the score unless it actually changes! Some programmers will print the score during every loop and this takes up lots of cycles (since BASIC printing is pretty slow no matter what you do). So game speed will depend on a wide number of factors -- including how many sprites are on the screen, how many decisions need to be made, whether or not collision detection is employed, the addition of sound to the game, and whether or not the screen is being scrolled (this last one is a biggie!). And again, these facts are true no matter what language you use.

    • @n830rc
      @n830rc 2 ปีที่แล้ว

      Thank you for taking the time to give a consise reply. I really can't wait for a digital release as I'll be using The C64 maxi. I've not been this stoked about a software release I years. I hope it's not much longer.

    • @visionbasic
      @visionbasic  2 ปีที่แล้ว

      @@n830rc So far the testing for a digital file seems to be working, so this is good news.

  • @Centar1964
    @Centar1964 2 ปีที่แล้ว +2

    Awesome product you have there and your speaking skills are almost professional except for the "um's"...I too always thought BASIC was a great language even though it always got diced, and now that I have learned FORTRAN and see where BASIC came from I have even more respect for the language. The way you implement on the fly compiling should have been done decades ago. This is just what BASIC needed. Too bad it's 40 yrs late you could have been very rich back then if you sold this to Commodore. A cart form of this seems like a good idea as well...

    • @visionbasic
      @visionbasic  2 ปีที่แล้ว +1

      I have wondered if the software can fit on cartridge, though I am completely unfamiliar with how to work with that kind of tech. But how do you create a cartridge/REU hybrid? And would people pay for it considering how much more they would have to pay? I guess this is something for further down the road perhaps.
      As for my "ums", I did try to rush the video -- just too much to do when considering the launch date. I usually focus on removing loud "inhales" and I have to remove bad "takes" and make it seem as seamless as possible. I don't think I had many "ums" on previous videos. But I'll pay more attention to that in the future. I'm just trying not to script every single word, so "um" is a usual "go to" for most of us when we're thinking about what next to say. Also, I failed speech class in college -- I took it maybe three times. LOL.

    • @Centar1964
      @Centar1964 2 ปีที่แล้ว +1

      @@visionbasic Well for someone who failed speech your doing better than most on youtube. A cart with Vision Basic ROM and a built in REU wouldn't be expensive considering today's offerings (cheap china parts and super cheap PC board manufacturing) The most costly parts would be the edge connector and housing.

    • @visionbasic
      @visionbasic  2 ปีที่แล้ว

      @@Centar1964 This is something that could be looked at in the future. I would probably need someone's help with that, though. I certainly have thought about the idea since I did a survey one time and some people had a cartridge preference over disk and other media.

    • @DevEncryptionNull
      @DevEncryptionNull 2 ปีที่แล้ว +1

      @@visionbasic A cartridge can hold a maximum of 16k but but just like an REU you can use a bank switching method to page in and out of. For example you could use a 64k EEPROM and you would have to switch between 4 banks of 16 or use two 64k EEPROM to switch between 8 banks of 16k for total of 128k I believe 2MB is the absolute limit. The ROM is mapped to $8000-$9FFF / $A000-$BFFF. If you can write your code to manage the bank switching having the hardware built would be trivial. Adding a built in REU is more difficult. REU uses a proprietary Commodore DMA chip. It has been reverse engineered but your REU would need a FPGA chip to provide The DMA. If it was me before going to all the trouble of building custom REU I would build the cartridge out of a raspberry pi and when you kick off the compile on the c64 it would send the code to the pi and the pi would do all the heavy lifting and then send the compiled code back to the c64. This would likely speed up compilation a thousand fold. Its kind of hack but so is the FPGA IMHO.

    • @visionbasic
      @visionbasic  2 ปีที่แล้ว +1

      @@DevEncryptionNull Seems like a good idea to go with a raspberry pi. My brain is gettin' kinda old, so I can't see myself doing it (maybe if I retired). I'm not a fan of cross-compilers (on a PC) because the programmer spends too much time outside of the C64 environment. That's my take on it anyhow. To each his own. But a cartridge that does what you say would help keep the "feel" of being in the C64 environment, which I can appreciate.

  • @EnjoySynthSounds
    @EnjoySynthSounds ปีที่แล้ว

    Congrats on this. I'm not a programmer abd dont have a 64 original with dIsk drive snd REU. I HAVE a 64 maxi which supports REU. WILL you be providing a digital copy?

    • @visionbasic
      @visionbasic  ปีที่แล้ว

      All packages come with a digital download of the software. The manual will be paper only for the time being. See my most recent video for a coupon code in the description (th-cam.com/video/QX3VaRkXxI4/w-d-xo.html). At this time, you can get the paperback version for $25 (with coupon) and it has the software included (shipping included in the price as well). If you are not a programmer, you'll need to brush up using available C64 manuals out there (for BASIC and programming and such).

  • @felicenardella1551
    @felicenardella1551 ปีที่แล้ว

    Hi, I tried to delete lines 0 to 911, but after typing RUN, I get an error like this:
    ERROR#7 AT 16569.
    Why?

    • @visionbasic
      @visionbasic  ปีที่แล้ว +1

      It's best to ask questions in the forum so that others will know where to look to get answers. But there isn't a bug of any sort. When you delete the lines, you are supposed to start writing a program that utilizes the add-on pack. So the add-on pack itself starts running when you type RUN, but nothing calls the first routine in the lot, so it has no parameters to parse (and thus the error message#7). As the term "add-on" suggests, you are supposed to add them onto your programs. Then you can call the routines that the add-on pack provides from within your programs.
      If you do "add" the pack onto an existing program, it's best to put it in a different bank (making sure that the bank is on). This is because there could be line numbering conflicts. If you are not comfortable with using banks yet, then just add your own lines of code to the existing lines of the add-on pack.

  • @MarcFROMENT
    @MarcFROMENT 2 ปีที่แล้ว

    Hello,
    I am really interested in the product! I went to your site to make a pre-order, but I'm French, and the postage you offer is higher than the price of the product itself... Don't you have a shipping solution less expensive? Or perhaps can I only buy a "digital version" of your products at a lesser cost ?
    Best regards

    • @visionbasic
      @visionbasic  2 ปีที่แล้ว

      I am currently working on a cheaper package for people outside the U.S.. I believe I have finished half of what's needed for this, so just check the site periodically (maybe a week or less?). I never realized how horrible the shipping prices are for people outside the U.S.. I was able to offer some kind of shipping that would be cheaper, but it offered no insurance. I still wouldn't classify the cheaper shipping option as "cheap" though. But the new package is an attempt to compromise between myself and all of the requests I've been receiving.

    • @MarcFROMENT
      @MarcFROMENT 2 ปีที่แล้ว

      @@visionbasic Thanks for you fast reply ! I wil check the site in a week :)
      I will also check other C64 french fanatics - berhaps we can make a grouped purchase ?

    • @visionbasic
      @visionbasic  2 ปีที่แล้ว

      @@MarcFROMENT Are you talking about making one purchase for multiple people? At this time I don't know if I can set that up for people outside the U.S. or not. The only issue would be that the digital download portion would only be available in one account, and this includes getting help in the forums. Still, it might be possible. It won't be the first thing I add, but I can look into it. Last night I had to fix the CSS code for the digital download table (I hate CSS code, LOL). So progress is being made daily!

  • @scottaw1981
    @scottaw1981 2 ปีที่แล้ว

    wonder how well a wolfenstein ray caster would work in this

    • @visionbasic
      @visionbasic  2 ปีที่แล้ว +2

      3D engines on the C64 usually require an accelerator. That's one reason why cloning the SuperCPU would be something to consider for someone out there. VICE has a "clone" of sorts, but I've never got it to do 20MHz.

    • @menotu000
      @menotu000 2 ปีที่แล้ว +1

      @@visionbasic Stephen White, the person behind Pi1541 is working on a CPU Accelerator now. He is trying to target a price range of $100-$150. It's a SuperCPU clone with 32mb ram, but it is still in it's early stages.

    • @visionbasic
      @visionbasic  2 ปีที่แล้ว +1

      @@menotu000 Wow! That's awesome news!!!!!! I hope it works out! Interestingly, my software sees a speed increase on the Ultimate64 when the turbo is enabled. It works the same as the SuperCPU, but I need to find out how to test for its presence since the Ultimate64 only does the speed part. Regardless, the speed part works.

  • @programmingbros
    @programmingbros 2 ปีที่แล้ว

    If I buy the digital download will I get it right away?

    • @visionbasic
      @visionbasic  2 ปีที่แล้ว +1

      When the product ships, the digital download is typically available a day or two after that.