Blitz!64 and Blitz!128 Commodore Basic Compilers. Plus a bit of X16 and Mega65.

Поделиться
HTML-код
  • Опубликовано: 20 дек 2024

Комментарии • 69

  • @networkg
    @networkg 6 месяцев назад +1

    I enjoyed the video. For the Commodore 64, I have two Basic favorites. The one that comes with the computer and the recently released Vision Basic. As a compiler is faster than Blitz and allows greater flexibility with graphics and inline assembly language programming.

    • @the8bittheory
      @the8bittheory  6 месяцев назад

      Glad you liked the video. I also enjoy Vision Basic a lot. I need to find some time working on something serious with it :-)

  • @lurkerrekrul
    @lurkerrekrul Год назад +1

    I had a pirated copy of Blitz back in the 80s, but beyond using it on BASIC programs, I never knew how to use it. I knew it had various options and other things you could do with it, but since I never had a manual for it, all I could do was run it on a BASIC program and hope it worked.
    If I recall correctly, I used it on a few simple conversion programs I made. Like one to convert Printshop graphics from Commodore to non-Commodore printer formats by doubling all the pixels horizontally. Or my program to convert a copy of Championship Lode Runner into a data disk for use with the original game (so you could use the built-in cheats).
    I seem to recall having some other BASIC compiler as well, but I forget what it was called.
    Then there was one published by Compute!'s Gazette. It only worked on a subset of BASIC commands, but produced really fast results. I think it converted the commands directly to ML, which is probably why it only allowed the use of certain commands.

    • @the8bittheory
      @the8bittheory  Год назад

      Conversion programs are a great use case :-). For both, Basic and Basic compilers.
      I also made a video about micro compilers. That‘s probably close to the one from Computer Gazette you mentioned.
      Thanks for your input!

  • @EORetro
    @EORetro Год назад +1

    21:17 If these multiple-NEXTS-with-one-FOR-constructs don't work in Blitz! 128, then it has a bug in its FOR-NEXT-GOSUB-stack handling. We are used to think of FOR-NEXT as real loops in Commodore BASIC (like in modern languages), but that's actually not what they are. They are independent commands only connected by a stack and if used properly, they function like a loop "by accident".

    • @the8bittheory
      @the8bittheory  Год назад

      You‘re probably right about that being a bug. I wasn‘t able to re-produce this with Reblitz, it might really be limited to the c128 and maybe even nested constructs
      Thanks for that input!

  • @SledgeFox
    @SledgeFox 11 месяцев назад +1

    Happy and healthy new year! Very interesting video, you got a new subscriber! Thank you very much!

    • @the8bittheory
      @the8bittheory  11 месяцев назад +1

      Happy New Year! Thanks for the great feedback and welcome on board :-)

  • @wadz668
    @wadz668 Год назад

    I am familiar with this program and used it a lot in my younger years. I never understood how it worked, I assumed it turned a basic program into machine language but later found out that wasn't the case which really sparked my curiosity.

    • @the8bittheory
      @the8bittheory  Год назад

      Really nice. What programs did you work on back then?

    • @wadz668
      @wadz668 Год назад

      @@the8bittheory I was only about 10 at the time so really just experimental programs for learning basic and trying to see what I could get the computer to do. I was mostly interested in data manipulation and encryption, or hiding data on disks and retrieving it through basic using 1541/71 controller commands.

    • @the8bittheory
      @the8bittheory  Год назад +1

      At the age of 10, that's pretty impressive

    • @wadz668
      @wadz668 Год назад +1

      @@the8bittheory I had a LOT of time on my hands. Too bad I never figured out assembly. I could have done so much more

    • @the8bittheory
      @the8bittheory  Год назад +1

      It's never too late. And 6502 assembly lang isn't too hard to grasp

  • @adrianbye830
    @adrianbye830 11 месяцев назад +1

    Outstanding video, thanks for your hard work.

    • @the8bittheory
      @the8bittheory  11 месяцев назад

      Glad you like it. Thanks for the great feedback!

  • @user-yr1uq1qe6y
    @user-yr1uq1qe6y Год назад +1

    I always understood that Commodore BASIC was already tokenized upon entry. Does Blitz just have a different tokenization that includes more than just the keywords or something like a p-code?

    • @the8bittheory
      @the8bittheory  Год назад +1

      Right, Basic keywords are tokenized. Variable names and values are not, though.
      Thanks for your input!

  • @RoundSparrow
    @RoundSparrow Год назад

    Is this related to "Blitz BASIC Compiler for the Commodore 128 by Skyles Electrical Works" that I used in 1985?

  • @elessar5848
    @elessar5848 8 дней назад

    RIP Mark Sibly, creator of BlitzBasic

    • @the8bittheory
      @the8bittheory  8 дней назад

      That‘s sad news.
      To my knowledge, Mark Sibly worked on Blitz Basic for Amiga and ST.
      The Blitz Basic discussed here was developed by Peter Schwartz and Bob Skyles

  • @rhialtothemarvellify
    @rhialtothemarvellify 11 месяцев назад +1

    So did you report this bug to the VICE team? If not, it will obviously not be fixed...

    • @the8bittheory
      @the8bittheory  11 месяцев назад

      Not yet, I still have to check with daily builds. But you‘re right, I need to do that. Thanks for bringing this up!

  • @jumhed994
    @jumhed994 Год назад

    Programming was always a mystery to me.
    Tbh, i still dont know how C64 games were programmed.

    • @the8bittheory
      @the8bittheory  Год назад +1

      But you‘re very interested in the topic anyways, right? Game programming is probably the most attractive field in programming, but also the most complex one.

  • @herpederpe4320
    @herpederpe4320 5 месяцев назад +1

    Nooooo this optimization of BASIC seems like something you would find in JavaScript
    $A = "Hello" + ""

  • @gsestream
    @gsestream Год назад +1

    so why not compile to assembler, directly, from basic. no interpreter required. way too complex "compiler solution". so you already have the code and jump tables, why not compile to c64 assembler directly. even the unoptimized assembler code translation is way faster. this was totally non required speed up software, you are smart. also modules/libraries work if you...

    • @the8bittheory
      @the8bittheory  Год назад

      There‘s other compilers that do directly compile to assembler, so you can do that - at least for the c64. But on the c128 options are really limited.
      Thanks for your input!

    • @gsestream
      @gsestream Год назад

      like vision basic but that seems to lack some parenthesis functionality, of basic, so not full basic compatibility, I dont care of the extra if the basic is not working@@the8bittheory

    • @gsestream
      @gsestream Год назад

      but if so and common, why would blitz even exist, are they all paid@@the8bittheory

    • @the8bittheory
      @the8bittheory  Год назад +1

      You might want to take a look at MOSpeed.
      www.c64-wiki.com/wiki/MOSpeed

    • @gsestream
      @gsestream Год назад

      how about c/c++ to c64/128 asm/executable?@@the8bittheory