Hello, Agon! -- Hello World in BBC BASIC, eZ80 Assembly and C

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

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

  • @talideon
    @talideon Год назад +24

    Acorn's choice to build their own interpreter wasn't an arbitrary one at all: they had a mandate from the BBC that it had to support structured programming, which Microsoft BASIC didn't support. Instead, they were influenced by COMAL, another BASIC-like language that was popular in education in Europe at the time. It also borrowed heavily from BCPL, though the influence there is a bit more subtle. The most obvious BCPL-inspired feature is the use of memory access operators instead of PEEK and POKE.

  • @SnopekGames
    @SnopekGames Год назад +13

    I'd love to see more Agon content!

  • @johnmiller0000
    @johnmiller0000 3 месяца назад

    I cut my programming teeth on ZX-80/81/Spectrum including Z-80 assembler and hand-coded machine code. Seeing BBC BASIC with Z-80 ASM is a joy.

  • @kdietz65
    @kdietz65 Год назад +5

    What would be fun would be to port both CP/M (or similar OS) and BBC BASIC to support the full 2^24 address space of the eZ80.

    • @slithymatt
      @slithymatt  Год назад +4

      It would be a lot of work, but the community would be very supportive of it!

  • @julianregel
    @julianregel Год назад +7

    Excellent video, thanks Matt. I'd definitely be interested in more Agon videos, especially if you dived into what you can do with BBC BASIC and its VDU commands to control the video and audio.

  • @Brian-vs9sd
    @Brian-vs9sd Год назад +4

    Truly appreciate all the work you do.

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

    I really enjoyed this video. I watched it twice until now...

  • @romit001
    @romit001 Год назад +2

    Awesome stuff, thanks for all the info on this great little computer.

  • @johngay8416
    @johngay8416 Год назад +6

    There is also a 16 bit forth available for the Agon as well!

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

      I may have to do a video on Forth some time. Lots of retro machines can run it!

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

      @@slithymatt There was even a machine which had Forth as its native language and not Basic. The Jupiter Ace.

  • @nickthesoulboy
    @nickthesoulboy Год назад +2

    Thanks for this excellent video!

  • @winstonsmith478
    @winstonsmith478 Год назад +2

    Any chance of seeing any Agon specific graphics and sound commands being added to Agon's BBC BASIC.

    • @slithymatt
      @slithymatt  Год назад +2

      Good question. For now, it's just new VDU sequences.

  • @Vijun-t8g
    @Vijun-t8g 9 месяцев назад

    Thank you for this review. I am really interested in learning assembly language on the Agonlight2. Your example worked perfectly, but when I tried examples from the eZ80 Heaven site, they compiled with errors. I think their code is for TI calculators. Where can I find an assembly language tutorial specific to the Agon? Thanks again. I have been wanting something like this for decades.

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

    I'm currently planning a system specifically for CPM 3, and I'm thinking about the eZ80.
    But from what I see here, it is really quite different from the original Z80.

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

      Yes, there are definitely things you need to look out for. I recently featured the Aquarius+, which uses a regular Z80 and would definitely have the RAM for CP/M, but currently lacks support for 80 columns.

    • @TSteffi
      @TSteffi Год назад +2

      @@slithymatt I have almost finished my port of CPM 3 for John Winans' Z80 Retro board, that one has 512k RAM, but with a inconvenient 32/32 banking.
      I want to develop a system with a more MSXish 16k page size, but I really want it to be Z80 compatible, using the old school assemblers (my current CPM is written in ZMAC).

  • @jumhig
    @jumhig Год назад +4

    Great explanation, thanks! Also note that you can use the Zilog ZIDE to do C development of 24-bit eZ80 programs for the Agon.

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

      Yes, indeed, but I always try to recommend a free and open source alternative whenever possible.

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

      A Google search turns up basically nothing for "Zilog ZIDE". Where can I find out about it?

  • @petermuller608
    @petermuller608 Год назад +2

    Is PCBWay unironically using beans as currency? Have they already forgotten beenz xD

  • @SuperHaunts
    @SuperHaunts 10 месяцев назад

    looks like a GREAT SYSTEM! I just need SOME kind of communication/networking. I could use serial, but would prefer some Ethernet, hardwired or wireless, so that I could have a system programmable in BASIC that handles GPIO.

  • @androth1502
    @androth1502 9 месяцев назад

    i notice some programs can run directly as commands and the ones you compile, you have to load first and then run. is that just a difference of what header is on the program?

  • @jinchoung
    @jinchoung Год назад +2

    if you continue this series, i'd be really interested to see how we could use the agon board as a ttgo like board. that wouldn't be my main use for the board either but it would be cool to see how to do it if i wanted the option.

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

    Is there going to be a version running the ZILOG Z800 processor which will run ZILOG Z80,ZILOG Z80A and ZILOG Z800 code and make games run much faster or for that matter a PC running the ZILOG Z8000 could run UNIX System V that was compiled for the ZILOG Z8000.

    • @slithymatt
      @slithymatt  Год назад +2

      Not that I'm aware of. The next one will have a 6502

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

    And if you would replace printf() with puts()? In regular C-programs this would reduce the program... Or is printf defined to be puts? Edit: the latter....

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

    I’m curious why you went for SDCC when there are options such as Clang with Jacobly’s LLVM backend and ZDS which target the eZ80 in ADL mode.

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

      I didn't know about the LLVM option, but as for ZDS, I wanted to demonstrate an open source alternative. If someone has an LLVM backend for clib on the Agon, I'd be glad to demo that.

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

      We need an OSS C-compiler for the Agon. SDCC may be a good start, we need to add nativ ez80-support there. Edit: But there is a Z88DK-project, containing a fork of SDCC. It seems that ez80 support making it's way into this fork.

  • @desertfish74
    @desertfish74 Год назад +2

    I was expecting you to use the built in assembler in BBC basic instead of a separate assembler program

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

      That's a lot more fiddly to deal with.

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

      was it ported across to Z80?

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

      @@richy69ify Indeed it is. There are some example stubs floating around.
      I always found the BBC BASIC inline assembler a bit of a faff - it never felt as well integrated as it might.

  • @paulscottrobson
    @paulscottrobson Год назад +2

    Excellent video. One minor point. The eZ80 is pipelined, so while theoretically the 3 byte JP should be quicker than the 4 byte JP (allowing for the much quicker clock speed), in practice it isn't. I think ! (PS: Byte Attic 4 Commander X16)

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

    is the rst vector 18h the same, as for the vdu commands in basic? can i send my vdu commands over it, like in mos or basic?

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

    Does this mean we can play BBC Micro games on the Agon?

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

      Only if they were written strictly in BASIC and did not make any direct hardware calls except for VDU statements. Machine code programs would be written in 6502 and have memory-addressable hardware, so that's completely different.

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

    How did you get ez80 and the C compiler onto Agon? Is there a Z80 binary for each of these somewhere?

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

      I only had the eZ80asm on the Agon itself. All the details are in the link in the description

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

    I liked this tutorial, but what I thought was missing was how to a straight z80 program. Do I set my org address to $0000 ? I assume it's going into page $040000 -- but who knows??

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

      To do that you have to set MBASE to $04. Or you can call Z80 code that is loaded elsewhere with CALL.S.

  • @user-zq8bt6hv9k
    @user-zq8bt6hv9k Год назад +3

    an 8 bit computer with components largely available and 1/5th the price of a playstation 5, is it a dream?

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

      1/10th the price

    • @user-zq8bt6hv9k
      @user-zq8bt6hv9k Год назад

      @@richy69ify v1 is 100€ so 1/5th, but idd v2 or olimex version is 1/10th

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

      @@user-zq8bt6hv9k yeah Olimex 50 euros plus tax and shipping, PS5 600 euros

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

    Also Z80-based nano app?

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

    Does ex80asm run on Mac m1?

    • @slithymatt
      @slithymatt  Год назад +2

      Yes, it should compile for any Unix-like system just fine.

    • @talideon
      @talideon Год назад +2

      z80asm is available using Homebrew, and it shouldn't be terribly different.

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

    Does it do python?

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

      No. That's a bit much to ask of the eZ80. You might be able to get a version to run on an ESP32 that had more RAM than the one on the Agon.

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

      ​@@slithymattI am sure micropython could be ported to it, however. As of now, however, it appears it has not.

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

    First! (But probably second by the time this posts.)

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

    If you could have got your hands on a known good working MEMOTECH MTX512 you could write BASIC and Machine code in the one program.

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

      The Z80 BBC BASIC has the inline assembler implemented, so it's possible on the Agon, but it's fiddly.