BASIC from Commodore PET to MEGA65 | Conversion Example

Поділитися
Вставка
  • Опубліковано 27 жов 2024

КОМЕНТАРІ • 62

  • @dvdvnr
    @dvdvnr 2 роки тому +6

    What happened to BASIC 3? Looking at the original source to CBM Basic from 1979 shows that version 3 was the short-lived (approx 2 months May/June 1979) enhancement to add the faster garbage collect but BEFORE the extra disk commands that were in the official version 4. Here is what the source file says:
    ;VERSION 1 - AUGUST 1977
    ; ORIGINAL MICROSOFT RELEASE
    ;VERSION 2 - AUGUST 1978
    ; FIXED MANY BUGS SOME ARE:
    ; 1) ARRAYS LIMITED TO 255
    ; 2) NON-INTERRUPTABLE CODE
    ; 3) GARBAGE COLLECT STRINGS
    ;VERSION 3 - MAY 1979
    ; FASTER GARBAGE COLLECT
    ;VERSION 4 - JULY 1979
    ; 1) EXPAND RESERVED WORDS
    ; 2) ADD DISK COMMANDS
    ; 3) ADD DISK STATUS VARS.
    The original source is now available on places such as Github. It all makes for interesting reading!

    • @retroCombs
      @retroCombs  2 роки тому +1

      I was not aware of this version. Thanks for the tip and the reading! I pinned the comment.

    • @dvdvnr
      @dvdvnr 2 роки тому +1

      @@retroCombs Cheers - glad it was useful!

    • @retroCombs
      @retroCombs  2 роки тому

      @@dvdvnr 👍

  • @elnebuloso9391
    @elnebuloso9391 2 роки тому +3

    I'm really looking forward for programming the Mega65 Basic 10. Although preordered last year the system still hasn't been shipped. Hope that the Mega65 isn't an expensive hoax.

    • @retroCombs
      @retroCombs  2 роки тому +1

      Hang in there. It's coming and you are going to enjoy it when it arrives.

  • @Jimblefy
    @Jimblefy 2 роки тому +3

    that is the coolest T-shirt I have ever seen.

    • @retroCombs
      @retroCombs  2 роки тому +1

      Me too. My wife bought this for me as a gift. I'm actually not sure where she found it.

  • @TheRealShedLife
    @TheRealShedLife 2 роки тому +3

    Submarine sound, use all three voices, starting with all triangle but you can use the filter on each for later experiments to filter down a sawtooth, say; then you want to work with ADSR, the first sound a fairly quick attack, like a 1, the second sound (say, an octave lower), use an attack of 2 and modify your sustain and release appropriately, but now we need a long decay to emulate reverb so we'll use the third voice for that, bringing it in slowly with an attack of 3 and a gentler slope for DSR, we'll have long low sustain so that it outlasts the previous two. We'll basically tier these, to get that extended reverb effect.

    • @retroCombs
      @retroCombs  2 роки тому +1

      Now I just need to find some time to give this a shot. Great tips!

  • @8BitBoyzRetro
    @8BitBoyzRetro 2 роки тому +2

    Well done presentation, I really enjoyed it! For a while I have been thinking of getting back to some basic coding (which I have not done in years) when my MEGA65 arrives, now you really have me excited to get back to it! Also looking forward to more vids like this.

    • @retroCombs
      @retroCombs  2 роки тому +1

      Thanks so much and glad you enjoyed it. I think those of us who programmed in BASIC previously probably will get more from this video. You have to really like BASIC to watch the entire line-by-line analysis! 😂

    • @8BitBoyzRetro
      @8BitBoyzRetro 2 роки тому +1

      @@retroCombs "You have to really like BASIC to watch the entire line-by-line analysis! "
      Guess I do... My wife came in my office to ask a question, saw me intensly watching the side by side code comparison in your video, then said she would ask later and walked off. hehe It is serious stuff!

    • @retroCombs
      @retroCombs  2 роки тому +1

      I suspect our wives are very similar. 😃

  • @AS-ly3jp
    @AS-ly3jp 2 роки тому +1

    Thanks, it was a delight to watch! Keep up commodiring!!! 👍🖖🏻

    • @retroCombs
      @retroCombs  2 роки тому +1

      You are welcome. I will keep "Commodoring!" Made me think of the commercial, "Are you keeping up with Commodore, cause the Commodore is keeping up with you!" 😃

  • @EdgardoAlessio
    @EdgardoAlessio Рік тому +1

    There are so few videos about BASIC 10 and the Mega 65 that I use to check your channel just to see if there's something new about this topic.

    • @retroCombs
      @retroCombs  Рік тому +1

      Thanks for keeping an eye on the channel. I want to dig into some BASIC 65 content. It's a blast. Here's hoping I can find time in 2023. Hang in there and be sure to download the MEGA65 Programming Guide.

  • @CubicleNate
    @CubicleNate 2 роки тому +2

    I did find this very interesting. I am currently studying python but I want to create a BASIC or at least C64 port of the application I'm writing, you know, just for fun.

    • @retroCombs
      @retroCombs  2 роки тому +2

      BASIC was my first language and helped inform my understanding of modern languages such as Ruby and Python. I still think it is a wonderful language that I wish had seen development for modern systems. And if you get that C64 port done. Ping me! I'd love to take a look.

  • @igork3522
    @igork3522 2 роки тому +1

    Great video! Thank you very much. I love Mega65 content.

    • @retroCombs
      @retroCombs  2 роки тому

      Stay tuned. More MEGA65 content to come. Glad you like it.

  • @Jimblefy
    @Jimblefy 2 роки тому +1

    Great video. Thanks :)

    • @retroCombs
      @retroCombs  2 роки тому

      You are welcome and thanks for letting me know you liked it.

  • @grantbyers7625
    @grantbyers7625 2 роки тому +1

    Thanks for highlighting the differences. Very excited to start re experiencing the learning curve when we get out machines! Wrt circle, could you have not used the ellipse command to more closely simulate the circle command of basic 7?

    • @retroCombs
      @retroCombs  2 роки тому

      I got excited when you mentioned using the ELLIPSE command to simulate the end to end drawing of circles. I jumped on Xemu to try it. Nope! It draws each half of the ellipse instead of the four quadrants. Thanks for the comment and idea! Keep 'em coming.

  • @mkrleza
    @mkrleza 2 роки тому +1

    Hvala!

    • @retroCombs
      @retroCombs  2 роки тому +1

      Thanks, Mislav and also for your continued support as one of my active producers!

  • @Miasmark
    @Miasmark 2 роки тому +2

    ok, your v7 code is more of a programming example that appears to be intentionally breaking out all the functions of the circle command, whereas your v10 code looks considerably more optimized so the character comparison is not strictly apples to apples. If I am reading the programmers reference guide for the c128 correctly the YR variable could be eliminated entirely from the code without a functional difference. just ensure to keep the commas in the circle command as the default value of Yr is Xr for the command itself. in fact it seems like the circle commands are using much of the default values to allow for a program to be tweaked by a beginner.
    Functionally the same code for 80 could be written like this:
    80 CIRCLE 1, 160, 100, XR,,,,,
    and so each instance of circle can be modified like this and any references to YR could be left out of the v7 version.
    Not sure if all the commas are necessary but page 33 states: "You may omit a parameter, but you must still place a comma in the appropriate position. Omitted parameters take on the default values."

    • @retroCombs
      @retroCombs  2 роки тому

      Great summary and you are correct. I did a later follow up (ua-cam.com/video/tOlfdtFYDBM/v-deo.html) but even in that video didn't touch on all your points. Excellent additions and admittedly, I only looked at the program and did not dig into the programmer's guide itself.

  • @sandcat-maurice
    @sandcat-maurice 2 роки тому +1

    Thanks!

    • @retroCombs
      @retroCombs  2 роки тому

      That was so nice of you, Maurice! As always, appreciate your support.

  • @sandcat-maurice
    @sandcat-maurice 2 роки тому +2

    Ah, this is a very informative comparison video, thanks a lot!! It’s probably the best way to explore the similarities and differences of the MEGA65 compared to earlier CBM machines.
    Waiting for my MEGA65 to do some similar experiments 😋

    • @retroCombs
      @retroCombs  2 роки тому +1

      I found the process informative as well. As I stated, I did not expect many differences between version 7 and 10 and after the shock wore off, and I used V10, I found it so much better. Commands make more sense and, as we saw, programs were shorter. I can't wait to try another conversion.

  • @speakerr45t
    @speakerr45t 2 роки тому +1

    It’s the Mega 65 on sell, where or with who can I buy it. Thanks for your answer.

  • @danield.7359
    @danield.7359 2 роки тому +1

    Speed 1 sets CPU clock to 1MHz. That's why the execution is so slow on the M65 when compared to the C128.

    • @retroCombs
      @retroCombs  2 роки тому +2

      Although the new Circle algorithms can draw circles faster at 1 MHz than the C128 can at 2Mhz. We've learned a lot since the early days and this is one of the exciting reasons to support the MEGA65. It's an amazing 8 bit computer.

    • @danield.7359
      @danield.7359 2 роки тому +1

      @@retroCombs yes, thanks for completing my incomplete remark. Clearly the mega65 was drawing the circles faster than the c128. And yet it was still surprisingly slow for a 40MHz machine. That's why I looked at the code to check if there's something that slowing down the program, for example a loop, delay, pause or similar. But heck no! You can actually set the Mega65 CPU speed in basic to either 1, 3.5 or 40MHz! How cool is that?!

    • @retroCombs
      @retroCombs  2 роки тому +1

      Very cool! Thanks for the conversation.

  • @LoveDoctorNL
    @LoveDoctorNL 2 роки тому +1

    I love 3.5 ! So much better that Basic poke v2

    • @retroCombs
      @retroCombs  2 роки тому

      And the first of a second generation of BASIC for Commodore.

  • @jeffreyphipps1507
    @jeffreyphipps1507 2 роки тому +1

    Is there no way to draw an arc for something like a pizza slice? Polygon seems like it wants all sides to be the same. What about a Bezier curve? I blitzed through the manual for B10 and didn't see those. Odd.

    • @retroCombs
      @retroCombs  2 роки тому +1

      That's a great question. I checked the manual and couldn't find anything. I'm going to post this question in the Discord.

    • @retroCombs
      @retroCombs  2 роки тому

      Answer from the Discord in the #basic channel was no command for arc. Expanding the BASIC set is currently on hold.

    • @retroCombs
      @retroCombs  2 роки тому

      There is now! Bit Shifter just added this feature after being inspired by my video: discord.com/channels/719326990221574164/805252939593416705/952594030154375168

  • @mkrleza
    @mkrleza 2 роки тому +1

    Very interseting, very educational. One thing I would disagree with... It was fun watching you on a live stream, and chatting among ourselves, while you sweated in the coal-mine... Just MO.

    • @retroCombs
      @retroCombs  2 роки тому +1

      That's a disagreement I can live with! I was sweating and just glad I finally came through with a solution.

  • @DAVIDGREGORYKERR
    @DAVIDGREGORYKERR Рік тому +1

    It should be possible to compile it to speed things up.

    • @retroCombs
      @retroCombs  Рік тому

      Running the MEGA65 at 40 MHz feels like it already had been compiled.

  • @jeffreyphipps1507
    @jeffreyphipps1507 2 роки тому +1

    You might be able to get the ping you want by choosing xylophone and then adjust the ADSR values.

    • @retroCombs
      @retroCombs  2 роки тому

      Jeffrey. What do you mean "choosing xylophone?" I'm intrigued.

    • @jeffreyphipps1507
      @jeffreyphipps1507 2 роки тому +1

      @@retroCombs I saw something mentioned on one of the commands that mentioned a handful of instruments (maybe some presets...? See page B93 in the guide you spoke of once before. I think the discussion on the page was what kind of sounds would be created by adjusting the envelope/ADSR of the sound (presumably each frequency would apply in the envelope also).
      Drifting through the commands, I couldn't seem to wrap my brain around DPAT. Maybe the ELLIPSE command has some options I missed, but I just couldn't find an arc or bezier.

    • @retroCombs
      @retroCombs  2 роки тому

      I'll take a look. Thanks! Admittedly, I didn't spend much time on the SOUND command since it was an easy conversion.

  • @fliplefrog8843
    @fliplefrog8843 Рік тому

    1: It took 12mins to come to the point. (we all know the history)
    2: The first Do-loop could be deleted.

    • @retroCombs
      @retroCombs  Рік тому +1

      Hope you used those chapter markers to move past the parts you weren't interested in watching. Don't disagree. I believe I've since gotten better at getting to the point (I hope), although, I have had folks tell me they like the history portion. As I say, to each his own. Thanks for the feedback.

    • @fliplefrog8843
      @fliplefrog8843 Рік тому +1

      @@retroCombs it might have been a bit harsh. Sorry. Thats not what i meant. I tried to critic to the top of this.
      If ppl watch this kind of vids, they allready know about the history (if not, google it :)
      I appreciated the chapters! Thank you! Everybody should use them.
      What i hate the most ( all vids, not only you!!). The preview on UA-cam is ment to get you into it. But the most ppl just blablabla the 30s, without teasing their content!
      I loose my mind on this, and skip it. :)
      So i didnt watch the content!
      Consider that pls :) Thank u for beeing polite!

    • @retroCombs
      @retroCombs  Рік тому +1

      Yep…funny, I'm the same way when I watch videos, but when I first began making them, I did what I absolutely didn't like. Trying my hardest to make videos more concise and hopefully fun. Note taken and great advice. Happy to be polite. We (my viewers and I) pride ourselves on trying to be the friendliest retro computing community. Viewers are a blast during livestreams (which do not follow the concise rule) and very welcoming. Again, much appreciate your feedback.

  • @jeffreyphipps1507
    @jeffreyphipps1507 2 роки тому +1

    Convert Oregon Trail. 😉

    • @retroCombs
      @retroCombs  2 роки тому

      It did have a bit of the OT feel as the blip moves.

  • @0LoneTech
    @0LoneTech 4 місяці тому +1

    Summary of Commodore version numbers: Almost as bad as Microsoft.

    • @retroCombs
      @retroCombs  4 місяці тому

      Almost, for sure! I was surprised as I researched just how many there were.