• Compiler Brain Dump - Your Chance to Tell Me How Wrong I am - Haha

    From Bill Chatfield@21:1/5 to All on Tue Dec 26 11:49:51 2023
    I found ZBASIC. I've been looking at different structured BASICs and
    compilers. ZBASIC seems pretty awesome. It can even do DHGR. Does
    anyone have any experience or comments about it? It builds BIN
    programs.

    I've eliminated other BASIC compilers because they don't have
    "structured" statements like WHILE/WEND, REPEAT/UNTIL,
    IF/ELSE/ENDIF, optional line numbers & Functions with parameters.
    If you don't have those, you're still just writing a bunch of GOTOs that
    are very hard to read. I love ApppleSoft BASIC, but for large programs,
    it gets pretty hard to manage.

    My main problem with Kyan Pascal is that the programs have to
    run in it's special environment. You can also build a .SYSTEM file but
    it also needs the runtime library to work. It's not really building a stand-alone executable (BIN) file. That annoys me. And it takes a
    LONG.... time to load that runtime library, for every program you want
    to run. This kind of eliminates it for small programs. And it exits BASIC.SYSTEM when it's done.

    I know cc65 is the ultimate, but you're not actually using the Apple II
    when you develop the program. It's more efficient that way. But, the
    goal of retro is to use the retro computer. I do use cc65 and I love
    it, but it would be nice to also have an Apple II hosted development
    system.

    I know Aztec C exists. But I haven't tried it. I love C but I find that
    other people have a harder time reading the code because it is cryptic.
    If you've done AppleSoft BASIC, something like ZBASIC is going to be
    easier for you to read than C code. Pascal is easier to read than C,
    unless you have a lot of experience with C or Java/C++/C#/etc. For
    example, a young person learning to program who learns AppleSoft BASIC
    could transition to ZBASIC and build compiled BIN programs every
    easily. Kyan Pascal would be better, but it has the runtime library
    that takes forever to load.

    I can write Assembly "Language" but it is so slow to write simple
    things. And most people can't even read it.

    I want other people to be able to read and understand my code. I feel
    like it is a means of communicating how to accomplish tasks and how the
    machine works.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Brian Patrie@21:1/5 to Bill Chatfield on Wed Dec 27 05:35:50 2023
    Bill Chatfield wrote:
    And it exits BASIC.SYSTEM when it's done.

    It's more apropos to say that a SYS program exits BASIC.system at
    launch. A ProDOS Quit call (or a reboot) is the only kosher way to exit
    a SYS app--especially since a large program is likely to step on
    BASIC.system in memory.

    BIN files are great for little things that are going to be called from AppleSoft; but for a major project SYS makes more sense (at least to me).

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Bill Chatfield@21:1/5 to Brian Patrie on Wed Dec 27 11:24:47 2023
    On Wed, 27 Dec 2023 05:35:50 -0600
    Brian Patrie <[email protected]> wrote:

    Bill Chatfield wrote:
    And it exits BASIC.SYSTEM when it's done.

    It's more apropos to say that a SYS program exits BASIC.system at
    launch. A ProDOS Quit call (or a reboot) is the only kosher way to
    exit a SYS app--especially since a large program is likely to step on BASIC.system in memory.

    BIN files are great for little things that are going to be called
    from AppleSoft; but for a major project SYS makes more sense (at
    least to me).

    Yeah, that makes sense. It is more correct to say it that way. Most of
    the time I want to write little things for functionality that is
    missing in the AppleSoft "shell". I can never get through a major
    project before I lose interest. Ha ha.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Bill Chatfield@21:1/5 to I am Rob on Sun Dec 31 11:37:49 2023
    On Sat, 30 Dec 2023 11:15:01 -0800 (PST)
    I am Rob <[email protected]> wrote:

    10 GET CHOICE
    15 ON CHOICE GOSUB 100,200,300
    20 GOTO 10

    100 DOTHIS : RETURN
    200 DOTHAT : RETURN
    300 DOMORE : RETURN

    I like this. But it limits you to menus like this:

    1. New
    2. Open
    3. Save

    Instead of

    N)ew
    O)pen
    S)ave

    Because ON/GOSUB only takes an integer for "CHOICE". But I suppose that
    is not terrible.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From fadden@21:1/5 to I am Rob on Mon Jan 1 07:42:19 2024
    On 12/31/2023 1:17 PM, I am Rob wrote:
    One of the better Applesoft Technical manuals I have actually seen is the Laser 128 Technical Reference Manual and explains every Applesoft Token in detail. It is on Asimov.

    https://mirrors.apple2.org.za/ftp.apple.asimov.net/documentation/hardware/machines/Laser%20128%20Series%20Technical%20Reference%20Manual.pdf

    I think you meant the User's Guide and BASIC Manual:


    https://mirrors.apple2.org.za/ftp.apple.asimov.net/documentation/hardware/machines/Laser%20128%20User%27s%20Guide%20%26%20Basic%20Manual.pdf

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)