Anybody using the Agon Light?

Does anybody here have (or know somebody who has) an Agon Light computer? As far as I know it's the only current machine (i.e. being manufactured, sold and actively developed) which natively runs BBC BASIC, and uses it as its principal programming language.

I'm wondering whether I should buy one, but I really don't want to add to my collection. Nor do I want to go down the rabbit hole of finding bugs in its MODE 7, SOUND and ENVELOPE emulation, which (unless they've been exceptionally lucky/careful) it is almost bound to have.

Comments

  • I do have one! I bought it somewhat on impulse, and haven't made a lot of use of it. I can try out some one-liners if you have any requests.

    I do believe the VDU subsystem isn't an exact match, although I can't quite remember which sequence it was that gave me that idea. It was something a little obscure.

    Without trying it, I can't say if it even tries to offer a MODE 7 as we know it.
  • BigEd wrote: »
    Without trying it, I can't say if it even tries to offer a MODE 7 as we know it.
    I believe it does.
  • Ah, my apologies, I see you're right (quick search of the web...)



    One thing to note is that some keyboards do, and some don't, work with the Agon Light. (It uses PS/2 protocol with a USB socket.)
  • BigEd wrote: »
    I do have one!
    Are you keeping it up-to-date with the latest MOS and VDP releases? Have you got, or have you tried to get, BASIC 5 on it?
  • No, it's not up to date - and that reminds me of another minor observation: I felt very nervous updating the firmware. Perhaps not justified, of course.
  • BigEd wrote: »
    I felt very nervous updating the firmware. Perhaps not justified, of course.
    Have you fed that back to them? I can't comment, they don't talk to me (they never even had the courtesy of telling me they were porting my BASIC onto it, and they illegally call it 'BBC BASIC' having modified it for the eZ80 without my permission and thus losing the right to use that name).
  • I haven't. As I recall, there were warnings about updating the two sets of firmware in some particular order. It might be that only once did they get things into such a delicate state.
  • I did manage to get my Agon Light 2 updated: the MOS, the VDP, and the Basic. And now it does beep on VDU 7, and emulates MODE 7 at least superficially well.

    (Also noteworthy there's an eZ80 long-address-mode version of BBC Basic, which offers over 400k of workspace.)

    I'm not how I might run Richard's V5 of BBC Basic, if indeed it's possible at all. (There's apparently a CP/M for the Agon, so that might be one possible way.)

    I gather that with the latest VDP, it's easier to update the VDP. Prior to 1.04, I think one had to build the VDP firmware as an Arduino project. It took some fiddling for me to do that, because I was using an older Mac.

    I'm also told the alternate firmware from the console8 project is worth looking into. (See their FAQ)
  • Yep, that's the version of "BBC BASIC" that is using the name without permission from Richard as it's a modified version.
  • (As far as I can tell, it would be extremely easy to bring that Basic into compliance with the zlib license. Although it's fair to say that it isn't presently in compliance. However, I think that's a different topic. I do believe it would also be moderately easy to port V5 of Z80 BBC Basic to Agon MOS, and to do it in a zlib-compliant way. Indeed, this would be rather advantageous as V5 is an improvement. I think the ADL flavour is also rather interesting, and has very similar license aspects.)
  • BigEd wrote: »
    As far as I can tell, it would be extremely easy to bring that Basic into compliance with the zlib license.
    As I'm sure you're aware, the IPR associated with the software (i.e. the source code etc.) and the IPR associated with the name BBC BASIC are entirely separate issues. BBC BASIC for SDL 2.0 and BBC BASIC (Z80) are licensed under the zlib terms, and anybody can build them, modify them, make them available for download etc. so long as those terms are adhered to.

    But what they can't do is call the resulting software or product BBC BASIC because that name is owned by the BBC in perpetuity. The only people who, currently, can legitimately use the name BBC BASIC are Acorn (or their legal 'descendants') and me (because I have explicit written permission from the BBC to do so).

    Other people must choose a different name. That's why Brandy BASIC and Owl BASIC are called that: they are functionally compatible with BBC BASIC but they cannot use that name. They could attempt to apply to the BBC for permission to use it, but I'm not at all sure who within the Corporation would feel qualified to grant that now.

    Although permission was never sought, I have informally (and retrospectively) told Dean Bellfield, who was responsible for porting BBC BASIC (Z80) to the Agon Light, that I won't make a fuss about their illegitimate use of the name so long as he makes every effort not to change the functionality as a result of the modifications for the eZ80's extended address space.

    Of course it's entirely possible that the functionality may be impaired by mistake, because it's a lot of work to confirm that nothing has been broken (and for that matter I can't be sure that my v5 modifications haven't broken something). But if he was tempted to 'improve' something at the same time - and I bet he will be - then it would have to be called something other than BBC BASIC.

    As regards getting BBC BASIC v5 onto your Agon Light it's just a case of being patient. I would expect the standard (64K addressing) Z80 version to be available imminently, if it isn't already, but the modifications for the eZ80 are far from trivial - and I rather suspect I've made them harder by adding the dot-product operator which uses a lot of nasty stack access.

    It's even conceivable that it isn't possible to port the dot-product code to the eZ80 in a relatively compatible way, because there may be insufficient registers which are capable of holding a 24-bit address. There are at least three concurrent addresses (pointers to the two source arrays and the destination array) which are kept in registers or the stack in the Z80 implementation.
  • Thanks for the clarification. I look forward to the possible v5 future on Agon!