Posts by ubik

    I regret not being able to help more directly on a technical level, but if I can manage to facilitate something through some polite negotiations, that would be a lot better than nothing!

    Regarding that... do you by any chance have a contact who knows about 8-bit BBC BASIC licensing? I know the 32bit ARM variant is open sourced, but so far I didn't manage to find out if that license applies to 8 bit BBC BASIC as well.


    (a little bit of background: I'd love to see BBC BASIC running natively on the MEGA65 platform. And since – despite all my lobbying and pleas and reasoning ;) – no one seems interested, I guess I'll have to do it myself :) Porting the BBC core so that it runs on the FPGA surely is nice and all, but it doesn't bring the MEGA65 platform forward. We need this stuff running on the MEGA65 natively, and it's definitely doable. So I'd like to do it. But first I have to know if it's legally ok to do so. There's nothing worse than spending months and months of work, only to have it screwed up by some lawyer...)

    Of course, it's your decision and totally up to you, though personally I would consider this a missed opportunity.

    I agree with everything you write, 100% (obviously, that's why I started this thread ;-))


    That being said... of course I have the utmost respect for what FeralChild is doing with Open ROMs, and if he wanted to include a IBM/360 emulator with a backport of MS BASIC 1.0 in his work, that would of course be totally ok, too.


    But it's also my belief the M65 as a platform would gain tremendously if somebody came and implemented an at least somewhat modern version of BASIC; because that would people give the opportunity to do really great stuff easily and without having to resort to cross developing.


    I have a BBC Micro standing beside my DevKit here, and I can't help feeling a little bit sad that the 37 year old machine's programming language is way more advanced than what is going to go into the M65.


    So, we need someone (or a group of people) to tackle the BASIC problem in the long run... ;)


    . After 30 years of writing programmes wth at least a text editor I just cannot imagine myself in the year 2021 still using a line number based language with a line editor especially for large programmes, and I fear this will also be the case with other potential programmers.

    (shameless plug):


    As I have the feeling that this situation won't likely be resolved anytime soon, maybe the path I went with "Eleven" would be at least a temporary solution. Official announcement is here:


    Announcing the Eleven Development Environment for the MEGA65


    Provided something like named procedures and functions is going to be included in the Open ROMs, I could very well imagine porting Eleven – or something Elven-like :) – to the Open ROMs, this time around written in assembly or C, of course. That would give people kind of the best of both worlds.

    Nevertheless, if you would like to improve the Open ROMs BASIC - I do not plan any significant work on it in the near future, for now I am going to focus on other areas (M65 screen editor, CP/M mode, etc.)

    If CP/M will run on the MEGA65 then there is still a version of BBC BASIC for CP/M. :)

    hmm... still not quite complicated enough. Let‘s write a BBC Micro Emulator for CP/M, so that we can run original bbc basic on an emulated bbc micro on an emulated cp/m machine on the MEGA65!

    By the way, it is possible to accelerate this further by prefixing the label name with an 8-bit hash value (generated from the label), so most non-matching entries are recognized when comparing the first byte.

    quite interestingly that's exactly the way BBC BASIC looks up functions, procedures and variables* (gone full circle here, ha! :))


    *except single letter integer variables, they are at fixed locations in memory for extra speed

    Quote

    "Like granny said, if you want a box hurled into the sun, you've got to do it yourself"


    (Hermes, "The Farnsworth Parabox", Futurama S04E15)


    That being said, I have half a mind to take 6 months of vacation, brush up on my 6502 assembly and whip up a new BASIC myself... :) :syshack:

    oops again... :whistling: In order to know which identifiers to try to resolve and which words to leave alone, Eleven keeps a list of reserved words (with the most commonly used commands at the beginning to speed things up). I forgot to add „scnclr“ to that list... ;(

    It will be in there in the next version... (in the meantime you can add it yourself in the string rw1$ in line 35 of „11.parse“; be sure to add a space before and after the word, as in the words already there)

    The F9 and F11 key are used by the emulator for reset and toogle fullscreen. And a F14 key I'm searching desperately on my keyboard (even then using the Nexys board). :D

    Ah, I didn't think of that (as a matter of fact, the MEGA65 has 15 function keys including help)... I'll add alt+g, alt+c and alt+s respectively for those functions in the next revision :)


    (f9 and f14 are not really essential but you'll want to toggle control character mode (f11) once in a while...)

    A very first feedback: You check the ROM version at the start. Be aware that the ROM 911210 has the version index 911203 in $17 to $1C.

    Oops, didn't realize that... I'll update the disc image tomorrow, then :)


    911210 is required because the bundled ROM caps the RAM in banks 1 & 2 to $8000 (which of course could easily be worked around, but I think MEGA65 is going to be shipped with a newer bugfixed ROM version anyway)...

    ELEVEN is a combined editor and preprocessor package which enhances BASIC10 by adding the following features:


    - variable declaration

    - variable names of arbitrary length
    - named labels instead of line numbers
    - $ and % prefixes for hexadecimal and binary integers
    - easy to read comments
    - easy to use 'EE' full screen text editor with preprocessor integration
    - automatic backup facility


    ELEVEN consists of two main parts: The editor and the preprocessor itself. Both are working hand in hand in order to provide a simple and integrated development workflow.


    Example programs and documentation are included :)


    You can download a first alpha version at https://files.mega65.org/?id=8…1e-45a7-a4de-87bcb0b11696


    For those of you who don't want to download the pig in the poke, here's the documentation (so far):

    11_readme.txt


    A few screenshots:


    Eleven booting up (lone 'b' courtesy of buggy screenshot tool)


    The editor, showing a simple example


    A more involved example...


    The preprocessor at work...

    Hey!! :) *Finally* someone trying my stuff! :)


    Yep, in block mode, "plot" and "colourize" are decoupled (so that you don't accidentally mess up your picture because colour is always set for a 2x2 block)... but that could be easily changed...


    (also note you can use the mouse to draw, which is much more fun ;))

    The today youth expect an helpful answer faster than a C64 game loads from 1541 these old days.

    It's worse than that. Today, in 'professional' software development, many people expect to find the answer to each and every problem on stackoverflow.com, along with a ready-made snippet of code they can conveniently cut and paste into their own project.


    And, even worse, if they can't find any answer at all, they declare that the problem can't be solved and use the next "retro" (or some other agile voodoo therapy session) to complain that they're expected to achieve unrealistic goals. Gone are the days of sitting down in front of your code and spend a few minutes (or hours or days) thinking about what is going on, and that wonderful feeling when the penny has finally dropped and the whole thing comes alive before your own eyes... a feeling that many of my younger colleagues have never known.


    Yeah, getting old here, too