Hello, Guest the thread was called8.9k times and contains 203 replays

last post from hjalfi at the

BBC BASIC for the MEGA65?

  • I didn't want to answer in the ZX-Uno thread, because I think this fits better here.

    Anyway, Richard Russel's zx80 BBC basic source code is available under the zlib license:

    http://cowlark.com/2019-06-14-bbcbasic-opensource/index.html

    https://github.com/davidgiven/…ster/third_party/bbcbasic


    Unfortunately, this is completely independent of the 6502 BBC basic at http://mdfs.net/Software/BBCBasic/6502/. Even though the source is available and a C64 port already exists, this is based on the original BBC Basic from Acorn, and the rights presumably belong to whichever entity now owns the right to the Acorn home computer division...

  • Unfortunately, this is completely independent of the 6502 BBC basic at http://mdfs.net/Software/BBCBasic/6502/. Even though the source is available and a C64 port already exists, this is based on the original BBC Basic from Acorn, and the rights presumably belong to whichever entity now owns the right to the Acorn home computer division...

    Hm. I just don't know. The mdfs.net site is the property of J, G, Harston, who I mentioned before (he's responsible for the Spectrum port). He's clearly taken a lot of interest in BBC BASIC and compiled a great deal of information about different versions of it, spread over a whole section of this site.


    However, he's not the owner (as far as I know), and I also see nothing here that tells us anything definitive about ownership or copyright status. There are clearly lots of different versions, and I think it would be dangerous to jump to conclusions.


    I still maintain that the safest and most productive option would be to approach Richard Russel directly. It's likely that he'll be able to either state something definitive or at least provide some other meaningful help. He's been involved with BBC BASIC right from the outset.

  • I still maintain that the safest and most productive option would be to approach Richard Russel directly. It's likely that he'll be able to either state something definitive or at least provide some other meaningful help. He's been involved with BBC BASIC right from the outset.

    I've written a mail to Mr.Russel discussing our little problem and inquiring about the BBC BASIC copyright... so let's see what he has to say :)


    That being said, the source code on J.G. Harston's page would imho be the ideal starting point for a MEGA65 port of BBC BASIC (Richard Russel's Z80 code not so much because the Z80 quite different from the 65xx); it'd "just" be a matter of adapting it to a modern toolchain and making it work with the C65 and/or open ROM kernal...

  • I've written a mail to Mr.Russel discussing our little problem and inquiring about the BBC BASIC copyright... so let's see what he has to say :)


    That being said, the source code on J.G. Harston's page would imho be the ideal starting point for a MEGA65 port of BBC BASIC (Richard Russel's Z80 code not so much because the Z80 quite different from the 65xx); it'd "just" be a matter of adapting it to a modern toolchain and making it work with the C65 and/or open ROM kernal...

    Excellent. I'm crossing my fingers that he'll provide a swift and helpful response!


    I'm certainly not arguing with what you say; I just think that Richard Russell is probably more likely to be able to answer copyright questions about BBC BASIC as a whole. He's been involved with it right from the outset, whereas Jonathan Harston is 'just' a programmer who came along and got interested in it. (No disrespect to him; he's a capable guy.)

  • Excellent. I'm crossing my fingers that he'll provide a swift and helpful response!

    Just a quick update: Mr. Russell doesn't know who owns the copyright these days. He's only been involved with the ZX80 & x86 side of things, the 6502 code was solely the responsibility of the famous Sophie Wilson @ Acorn Computers.


    My next step is J.G. Harston since he has all the original 6502 sources on his page. Wish me luck ;)

  • That's an interesting topic. Personally, I don't know too much on BBC BASIC, but AFAIK, RISC OS at least includes ARM variant of BBC BASIC later on. Since RiscOS seems to have even open source version (v5 versions?) under the Apache License, I'm wondering if anybody behind RISC OS "nowadays" may know about more the rights of the 6502 implementation at least.

  • RISC OS at least includes ARM variant of BBC BASIC later on

    Yes it does, quite a nice variant, too. Although the code is a quite different and much enhanced beast (naturally ;)) The ROOL and stardot forums would be my next stop in case JGH doesn't have the answer ;)


    In theory I could very well start porting the source code on JGH's site immediately, but I'd like to get the legal stuff out of the way. I already watched zillions of lines of code fall prey to a stupid lawsuit in my professional career, so I have no intention of experiencing similar trouble in my spare time ;)

  • Just a quick update: Mr. Russell doesn't know who owns the copyright these days. He's only been involved with the ZX80 & x86 side of things, the 6502 code was solely the responsibility of the famous Sophie Wilson @ Acorn Computers.


    My next step is J.G. Harston since he has all the original 6502 sources on his page. Wish me luck ;)

    That's a pity. OK. Well, if JGH doesn't know, we still don't have to admit defeat just yet. I've communicated with Sophie Wilson in the past, and although I can't immediately locate her email address now, I'm sure I can find it somewhere, or can obtain it again. Or we could try approaching Steve Furber, who's another person who got involved before Acorn was Acorn, and I definitely have his address. But Sophie wrote BBC BASIC in the first place, so has a good chance of knowing the answer!

    (Of course, those two – Wilson and Furber – went on to design the ARM together. BBC BASIC does have a very good pedigree!)

    Yes it does, quite a nice variant, too. Although the code is a quite different and much enhanced beast (naturally ;)) The ROOL and stardot forums would be my next stop in case JGH doesn't have the answer ;)

    "Quite nice"?! It's superb! Easily the best version! And I wouldn't call it a 'variant' as such; it's the natural development of the language. (The other versions for non-Acorn platforms may be considered variants.) BBC BASIC started life on the BBC Micro, was developed over the life of that machine and its 8-bit successors, and then was greatly expanded in its versions for Acorn's subsequent 32-bit systems. As noted above, Sophie Wilson wrote BBC BASIC originally and then went on (with Steve Furber) to design the ARM chip. So it's all very natural, really. RISC OS 5 includes BBC BASIC V and VI, which are functionally identical except that VI uses the FPA.


    The ARM 32-bit versions of BBC BASIC are indeed considerably enhanced over the 8-bit versions, as the language was expanded quite a lot for Acorn's new-generation ARM-based machines – e.g. BASIC V includes CASE … OF … WHEN … OTHERWISE … ENDCASE structures, WHILE … ENDWHILE loops, enhanced IF … THEN … ELSE … ENDIF, the use of libraries and many other improvements. And obviously, it has an inline ARM assembler rather than the previous 6502 and Z80 assemblers.

    I wonder if it might be feasible to back-port these language enhancements from the ARM BBC BASICs into an 8-bit version – of course, retaining the 6502 inline assembler… Just a thought.

    That's an interesting topic. Personally, I don't know too much on BBC BASIC, but AFAIK, RISC OS at least includes ARM variant of BBC BASIC later on. Since RiscOS seems to have even open source version (v5 versions?) under the Apache License, I'm wondering if anybody behind RISC OS "nowadays" may know about more the rights of the 6502 implementation at least.

    Yes, RISC OS 5 is now open source. There's an offshoot called RISC OS 6 (for political reasons; it's actually a development of RISC OS 4) which isn't open source, but that version ended up in a cul-de-sac and not many people use it now. RISC OS 5 is the one that matters in terms of ongoing development, and the version most likely to be used on a Raspberry Pi or other modern hardware.

    BBC BASIC was of course a fundamental part of RISC OS from the outset. One of the selling points of the Archimedes was that it could run software written in BASIC for the existing BBC Micro essentially without modification. In any case, BBC BASIC was such a powerful language on the Archimedes that it was very popular for writing even a lot of commercial software. You couldn't tell; most BASIC applications ran just as well as compiled C ones. Indeed, the temporary operating system that shipped with the original Archimedes for the first year while RISC OS 2 (the first proper RISC OS release) was still being finished was known as Arthur (it's occasionally called RISC OS 1, though it has very little in common with RISC OS 2). It's a little-known fact that the windowing desktop environment supplied as part of Arthure was actually written in BBC BASIC. It wasn't terribly sophisticated by comparison with what came later, but the idea of writing a working windowing desktop in BASIC makes the point that it was powerful and fast.


    Regarding the current RISC OS 5, I've had a certain involvement in it myself; in particular, I was the person commissioned to design the RISC OS 5 icon set back in 2002, plus other graphical resource material. That's just an aside, for interest…


    The company that ultimately 'owns' RISC OS 5 (and finally caused it to be fully open-sourced) is called RISC OS Developments Ltd, and I know the person who runs it very well. I can get in touch with him easily if necessary, So again, that's another option. However, I rather doubt he'd have knowledge of the overall ownership of BBC BASIC in terms of an 8-bit version to port to the MEGA65. He might… it's worth asking if other leads don't pan out.


    As I say, having drawn a blank with Richard Russell, I think the next best options would be Sophie Wilson or Steve Furber (and of the two, Steve Furber is the easier for me personally to contact – thought I've no doubt he could very easily have a word with Sophie, so it probably makes little difference which of them we approach).


    If you'd like me to make an approach, or simply attempt to get hold of Sophie's email address so that you can do so (which is probably better…), please let me know how you'd like to proceed.


    As for the StarDot forum… yes, that's an absolutely fantastic resource for Acorn knowledge and active users (for both 8- and 32-bit platforms). It's a great site; very active and full of highly knowledgeable users. But I'm not aware that it's frequented by old Acorn alumni as such (it's mainly users and enthusiasts), so although you'd be very likely to get extremely useful technical feedback there, I don't think you'd fare as well with matters of copyright.


    So rather than revealing your hand too soon about what you're wanting to do by publicising it on StarDot before you've even started work, I'd be more inclined to pursue the personal approach (i.e. to Wilson/Furber) first, and only go to StarDot after other possibilities have been exhausted.

  • Thanks a lot! I've contacted both JGH and inquired on the ROOL forum here (which comes naturally to me as I already was involved there in the last few years)... let's see what comes out of it. I imagine Sophie would be quite difficult to reach giving her involvement with ARM/Broadcom etc... and I have to admit I am a little bit shy when it comes to contacting living legends... ;)

  • - release your BBC BASIC II version

    - advertise it as much as possible

    - wait a few days or weeks

    - the first company who will sue you, will most propably be the copyright holder

    :applaus:


    I have an even better idea: I declare the finished version as music album and release it through my label :kopp


    Everything that got released there in the last 5 years got completely and utterly ignored, so there's a good chance we'll be safe with BBC BASIC, too :)

  • Thanks a lot! I've contacted both JGH and inquired on the ROOL forum here (which comes naturally to me as I already was involved there in the last few years)... let's see what comes out of it. I imagine Sophie would be quite difficult to reach giving her involvement with ARM/Broadcom etc... and I have to admit I am a little bit shy when it comes to contacting living legends... ;)

    OK. Let's hope something useful comes out of this. I just doubt there's anyone there who'll really have the answer to the copyright question, but I could certainly be proved wrong – and there will be a number of ex-Acorn employees on the ROOL forum.


    Anyway, if you do need to go to "the horse's mouth" and want my assistance in contacting either Steve or Sophie, then feel free to get back to me. I've had dealings with both in the past, and I think they'll remember me. Your other new contacts may lead you to them anyway, of course… but if I can help further, just let me know.


    For what it's worth, I found Steve Furber to be very friendly and helpful – nothing at all to be afraid of! (As you can tell from the YouTube interviews in which he appears: he's engaging and accessible.) Sophie is a little more reserved, perhaps, initially but is also perfectly human. Both are, in my experience, accessible and helpful, and likely to respond to a reasonable approach such as this.


    NB I'm actually pretty sure Sophie wouldn't be hard to reach. I'm not certain of her current email address, but I'm pretty sure I can find it. Moreover, I do know Steve Furber's email address – and he will undoubtedly have Sophie's contact details to hand and be willing to pass on a reasonable request if necessary. So I'm sure it's not a problem.

  • Hah! Tell me about it!


    I was involved in the production of a series of classical music CDs a few years ago, and it was very striking how excellent production values, outstandingly good reviews and even a respected European record critics' award – plus magazine advertising – led to precisely zero sales for the award-winning CD in particular.


    So there's another potential outlet through which to publish a product and hence bury it in complete oblivion.

  • I have a question to the BBC BASIC people here. :)


    I have studied the sourcecode of BBC BASIC II the last few days and as I know there is no POKE or PEEK in this version of the BBC BASIC.


    As I read here:

    the question mark "?" is instead used for this command.


    Do I understand it right, that e.g. a ?4000 = 25 equates a POKE 4000,25 and a PRINT ?4000 equates a PRINT PEEK(4000) in BBC BASIC II?

  • Do I understand it right, that e.g. a ?4000 = 25 equates a POKE 4000,25 and a PRINT ?4000 equates a PRINT PEEK(4000) in BBC BASIC II?

    Yes, that's right. ? in BBC BASIC is equivalent to both PEEK and POKE, but it's far more flexible and efficient, not least because you can use it in expressions more straightforwardly.


    Moreover, it's just one of three indirection operators: ?, ! and $. ? operates on single bytes, ! operates on words (i.e. groups of four bytes) and $ operates on strings of arbitrary length. All are used in essentially the same way, syntactically.


    Here's a page from the User Guide which explains them (admittedly, with slightly unnecessary complexity in a couple of places!):


    Chapter 39: Indirection Operators


    Also worth noting:


    1. It's very easy to work directly with numbers in decimal, hex or binary formats in BBC BASIC (& prefix = hex; % prefix = binary).

    2. BBC BASIC V also offers some super-useful bit-shifting operators: <<, >> and >>>.


    Unfortunately, the bit-shift operators didn't arrive until BASIC V, but they're incredibly handy (especially for WIMP programming in RISC OS, where you often need to manipulate individual bits within memory blocks).


    Anyway, in general these operators make BBC BASIC particularly good at bit-twiddling and memory manipulation.

  • Richard Hallas : Many thanks for your explanations. :thumbup:


    I wrote some little BASIC V programs on the Archimedes "some days ago" then. But I'm really not 100% familiar with the use of BBC BASIC II.


    Since a few days I take a closer look at the sources of BBC BASIC II, running in my mind forth and back about the possibilities to convert it to C65/MEGA65.


    And for this it would be very good and helpful if I can asked the one or another question about it here.


    Maybe I'll bother you again with some questions about the BASIC II, if you don't mind. :whistling:

  • Maybe I'll bother you again with some questions about the BASIC II, if you don't mind. :whistling:

    I'm happy to help if I can. A couple of caveats, though:


    1. I've made much more use of BASIC V than of BASIC II. Most of the programming I've done has been for RISC OS, and I've written quite a number of multitasking applications in BASIC V. So from that point of view I have reasonable experience. However, I don't always remember the differences between BASIC V and earlier versions; e.g. I'd written most of my previous post before I checked and discovered that the bit-shift operators aren't in BASIC II.


    2. Although I wrote quite a lot of stuff in the 90s and early 2000s, it's approaching two decades since I last did any programming of significance in BBC BASIC. So my memory may be rusty/faulty in some areas.


    In other words, I wouldn't call myself an expert these days – so if anyone else wants to answer questions about BBC BASIC, please go ahead and don't wait for me! ;-)