Catch up on stories from the past week (and beyond) at the Slashdot story archive

 



Forgot your password?
typodupeerror
×
Programming

BBC BASIC Is Back In a Big Way (hackaday.com) 134

An anonymous reader quotes a report from Hackaday: The BBC has a long history of teaching the world about computers. The broadcaster's name was proudly displayed on the BBC Micro, and BBC Basic was the programming language developed especially for that computer. Now, BBC Basic is back and running on a whole mess of modern platforms. BBC Basic for SDL 2.0 will run on Windows, MacOS, x86 Linux, and even Raspberry Pi OS, Android, and iOS. Desktop versions of the programming environment feature a BASIC editor that has syntax coloring for ease of use, along with luxury features like search and replace that weren't always available at the dawn of the microcomputer era. Meanwhile, the smartphone versions feature a simplified interface designed to work better in a touchscreen environment.

It's weird to see, but BBC Basic can actually do some interesting stuff given the power of modern hardware. It can address up to 256 MB of memory, and work with far more advanced graphical assets than would ever have been possible on the original BBC Micro. If you honed your programming skills on that old metal, you might be impressed with what they can achieve with BBC Basic in a new, more powerful context.

This discussion has been archived. No new comments can be posted.

BBC BASIC Is Back In a Big Way

Comments Filter:
  • 10 GOTO 10

    • by dskoll ( 99328 )

      Real Tough Programmers use:

      10 GOSUB 10

    • by caseih ( 160668 )

      Not sure if that's possible in this version of BBC Basic. Line numbers were ditched a long time ago, and modern structured programming constructs have been there for some decades now.

      With broad cross-platform support including tablets and even phones, this could reignite interest in programming neat little tools again. VB6 was much panned, but a lot of people cranked out little useful apps with it. This could do have the same effect. Modern, structured BASIC is quite accessible.

    • 10 PRINT "Dixons is shit"
      20 GOTO 10

      (extra points for using double-height letters, or doing it without the newline)

      For our international readers, Dixons was a tech shop in the UK in the 80s. They were mainly about TVs and radios, but had computers too - rarely did the staff really know much about them though, so it became a bit of a thing to write a cheesy program as above and run it there to see how long it took for anyone to do something about it. Sort of tech graffiti, I guess. Nowadays misternicehands.co

  • by RitchCraft ( 6454710 ) on Wednesday November 29, 2023 @07:17PM (#64042575)

    We had GWBASIC and QuickBasic and they're still going strong too. https://qb64phoenix.com/forum/... [qb64phoenix.com] is a modern version of QuickBasic called QB64 that GWBASIC and QuickBasic (and QBASIC) code will run just fine in. Here is a tutorial for it: https://www.qb64tutorial.com/h... [qb64tutorial.com]

    • Do they have procedures and functions instead of GOSUB GOTO
      • Yes, but you can use GOSUB and GOTO if you prefer (or want to run legacy software that contains them).

      • GWBASIC did not, but QuickBASIC did have functions, parameter passing and returned results, and procedure local variables. It could also run GWBASIC code directly despite GWBASIC not having those things. QuickBASIC also had a full-screen editor and allowed labels instead of line numbers, and did not require every line to have a number as GWBASIC did. QuickBASIC could also compile DOS executables that would run without the interpreter being present.
        • QuickBASIC [...] did not require every line to have a number as GWBASIC did.

          Perhaps, but writing BASIC without line numbers is like eating an egg without salt...

          • So only salty programmers use line numbers in BASIC?

            • So only salty programmers use line numbers in BASIC?

              Salt of the earth programmers; we use line numbers like our grandfathers and their grandfathers before him!

          • by caseih ( 160668 )

            Odd thing to say unless your a retro-computing enthusiast cranking out C64 software.

            I don't think anyone uses BASIC line numbers since the mid 80s. I programmed in BASIC for years with TurboBASIC and QuickBASIC, and never once used line numbers with either. It's basically Pascal with a nicer syntax (pun intended). Modern FreeBASIC is basically C with a nicer syntax.

        • I did quit a bit of development in QuickBASIC 4.5, including using extended memory, C libraries and the like. It was a very powerful language and a full compiler.

      • by caseih ( 160668 )

        Definitely. Gained that functionality back in the early 80s.

    • And the best thing every written in QBASIC was the Gorillas game, where you threw exploding bananas at each other. You can still play it here: https://classicreload.com/qbas... [classicreload.com]

    • by narcc ( 412956 )

      QB64 is a nice project, but it doesn't have an interpreter. It transpiles BASIC to C++ for some reason, which makes it a little annoying to use compared to a dosbox setup with QB4.5.

      There's also PC-Basic [github.io], a GW-BASIC clone that also supports BASICA, PCjr Cartridge BASIC, and Tandy 1000 BASIC. It is interactive, even supporting the handy fake full screen editing features. I've used it for remediation and to introduce programming concepts. It seems to be a lot easier than Python and Scratch for beginners.

      • by AmiMoJo ( 196126 )

        The problem with running it on DOS is that you run out of memory fairly quickly. Not just memory when the program is running, but you can run out of memory for the editor too.

        • by narcc ( 412956 )

          That's okay. If you're playing with it for fun, that's all part of the challenge. If you're using it as a student, you're not likely to run into those limits anyway. If you do, then it becomes an excellent teaching opportunity. Kids these days act like memory is infinite and allocations and deallocations are completely free. Then they wonder why their program runs like it's on a speak & spell.

  • by ac22 ( 7754550 ) on Wednesday November 29, 2023 @07:37PM (#64042619)

    How much messing about do you have to do configuring the environment, going through wizards etc before you can write something?

    Let's see:
    Download Windows version zip archive, unzip
    Doubleclick first option (Andy Parkes' BBCEdit)
    10 PRINT"ac22 is cool";:GOTO 10
    Press the green play button

    Yes, under a minute to have my screen filled with "ac22 is cool" messages. Not sure how many other programming languages would have got me started that quickly.

    Back in the day, computers like the BBC Micro booted straight into BASIC, so you could have that silly little program running in a matter of seconds. Kids could bang out a rudimentary game in 5 minutes. Then make some improvements, all without copypasted code or the internet. Maybe the user manual if they were lucky :) A lot of modern-day coders started here.

    • Re: (Score:3, Funny)

      Snap, but for 's/ac22/Darren/'. ("Darren" was apparently the name of the kid who'd been on the WH Smith Brent Cross demo BBC B just before I was. Though I never specifically saw him, and cannot thereby judge the accuracy of his churning assertion, "Darren is cool" will remain my own little Hello World forever, on account of said presumably-Darren allowed me to jump the day-one queue on account of I somehow already knew about the BREAK key. It was Chris Serle I had to thank for that, most like, only he can s

      • Dawg, the vast majority of the text in your post is inside parentheses. I'm fairly certain that's not how parentheticals are supposed to work in English.

        • I feel bad about having mentioned Karen Serle at all. That guy doesn't deserve to be e'en so much as a footnote in history, inline or otherwise.

          It's also most regrettable that the CEEFAX Simulator broke about five minutes after I posted that, and is still failing to load its detail pages. The resurgence of 3-bit paletted 40x25 teletext is on hold. WWW can rest easy. For now.

      • by ac22 ( 7754550 )

        The CEEFAX simulator sounds cool - much more so than Darren or Chris Serle, despite the important influence that each of them had during your early life :) Good luck with your Teletext revolution.

    • by AmiMoJo ( 196126 )

      I think the fact that most 8 bit machines required you to enter some variation of LOAD to start your game was the little nudge that many kids needed. If you could LOAD, what else could you do?

    • > Kids could bang out a rudimentary game in 5 minutes.

      Now as adults we sit down at the BBC micro in The National Museum of Computer History and do exactly the same!

  • MS-Basic was the first thing I did anything like 'programming' in. Prior to that I'd entered machine code directly, but by rote and didn't know what I was doing.

    My recollections of Basic are mostly learning how to change the text colour and juggle TSRs with himem.sys and emm386.exe to ensure the optimal loading order. What's left of that today is that I'm fairly deft with Windows shell scripting to the point I still haven't switched over entirely to PowerShell. ...But it's Logo (on my C=64) where I have f

  • Ah, but will it still run on a TI-99/4A?? My son had a TI-99 as a young lad, and it lived its time.
    Recently and now in his fifties, my son acquired another TI-99/4A in good working condition. He plans to have fun with it. But can he run BBC BASIC on it? (Rhetorical question, of course.)
    • by RitchCraft ( 6454710 ) on Wednesday November 29, 2023 @08:02PM (#64042669)

      The TI-99/4A had it's own version of BASIC that was quite different from the Microsoft flavors at the time. As a kid I had a TRS80 Model I, TRS80 Model III and Radios Shack Color Computer (Known as the Dragon Tano in the UK). My friend had a TI-99/4A and I learned it's flavor of BASIC which was very powerful. It even contained functions for creating and moving sprites. The TI-99/4A was a true 16bit computer, not too many people knew that at the time. Over the course of a weekend we made a crude version of BattleZone on it. It was quite an impressive little computer.

      • It even contained functions for creating and moving sprites.

        A lot of these more advanced features (including sprites, access to expanded memory, subprograms, and more) required the the TI Extended BASIC Command Module (cartridge). The built-in TI BASIC did not support these features.

        • I don't remember but that makes sense. Even my Color Computer had an available upgrade to Extended Color Basic and then Disk Extended Color Basic when you plugged in the diskette controller cartridge.

  • Oh crap, all of my programs are on 5.25" floppy disks.

    • I have an IBM PC/XT connected to my network for just such emergencies. It has a 360K 5.25" drive, a 1.2MB 5.25" drive, a 720K 3.5" drive, and a 1.44MB 3.5" drive. Everything a retro nerd needs. :)

      • I am curious how that machine is connected to a modern network? RS232 -> USB -> Ethernet adapters? And what O/S do you have on it?

      • Think I still have the 2.88-compatible drive from my real IBM 286 (don't recall ever seeing a 2.88 disk other than the DOS disk it shipped with)

        • Yeah, those drives never caught on for some reason. As I recall the price for 2.88 diskettes was quite high compared to 1.44MB and 720K at the time. I would suspect the drives themselves were quite high as well. Another reason could be that the ZIP disk which could hold 100MB was introduced not too long after 2.88MB drives. For some odd reason those stupid ZIP disks caught on even though you always crossed your fingers and hoped the "click of death" wouldn't make a visit.

  • Hah! The BBC Basic [bbcbasic.co.uk] site is slashdotted, as of 2023-11-30T01:24:03Z :)

  • My first job that required some level of programming was based on BASIC in 1991. It was BASIC but didn't require line numbers and was compiled. There were extensions meant for writing Pick database reports that was all written on a mainframe made by ... Sanyo.

  • by thesjaakspoiler ( 4782965 ) on Wednesday November 29, 2023 @08:54PM (#64042753)

    At least +10 years BBC Basic experience....

  • 10 PRINT HELLO WORLD 20 GOTO 10 Slashdot thinks I'm yelling. Lol.
  • Just in time to teach kids...

    10 GOTO OPENAI

    • I actually asked ChatGPT to write me some C64 and BBC Basic code. An initial scan showed only a few issues but they should run.

      Just need to type them in.

  • Anyone looking to add features to BASIC should look up Microware's BASIC09. It had a number of ideas including the ability to link to Pascal, FORTRAN and C programs with ease. It was one of the early ones that allowed structured programming.

    • Was that part of the OS9 package that was used on 6809 processor based systems?

    • ...should look up Microware's BASIC09.

      I absolutely LOVED BASIC09 back when I was heavily invested in the CoCo 3. That little 8-bit computer was a hell of a multi-tasker (multi-processor, to be more accurate). I ran my BBS, did programming, and played games simultaneously while my MS-DOS contemporaries had to dedicate an entire, hugely expensive for the time, PC just to run a single-line BBS.

    • I had OS-9 for my COCO3, and it came with BASIC-09. It was a great dialect, though to be honest, it was probably closer to Pascal than it was to BASIC. As I recall, it could directly access OS-9 system calls, could access any OS-9 program or data module, and while it wasn't a true compiler, did compile to P code which was a loadable OS-9 module as well.

  • It was my first PL and I have fond memories, but it's 30 years ago and this is the first time I'm a long time that I have seen Basic sourcecode and oh boy is it ugly. ... OMG, ALL CAPS and line numbers! Do you guys remember line numbers? LOL. It's been a long way since Basic.

    • This is BBC basic. Commands were all caps, but variables and named procedures an functions did not need to be.

    • Line numbers can be auto inserted. Some basics are ok with lowercase but CAPS are best anyway.

      There is no mistaking an 'I' for an 'l' when writing in uppercase.

  • by jd ( 1658 ) <imipakNO@SPAMyahoo.com> on Thursday November 30, 2023 @02:34AM (#64043129) Homepage Journal

    10 dim a%(1,1,1,1,1,1,1,1,1,1,1,1,1,1)

    Would corrupt the system. You could also do a line with a large number of gosubs that would reboot the computer without even being run.

  • If you use a Raspberry Pi and run RISC OS Open on it then you have immediate access to BBC BASIC with full integration in the OS (you can write full GUI apps and games) as well as some of the fastest GPIO access times.

    BBC Basic aslo has an assembler built-in so you can have your ARM machine code in your BASIC program.

    Interpreters also exist on other platforms, this SDL one is a new one.

    I like to write some BBC basic code on an old BBC Micro them simply copy the filr over to a Pi for a bit of additional codi

  • Other than my other post re running BBC Basic on a Raspberry Pi running RISC OS open, we also have the AgonLight2 SBC. A Z80 based 8 bit SD card using computer that runs BBC Basic and has VGA output.

    https://www.youtube.com/watch?... [youtube.com]

  • It's weird to see, but BBC Basic can actually do some interesting stuff given the power of modern hardware. It can address up to 256 MB of memory

    256MB? Wow. Even VBA in 32 bit Excel can do about 500MB. Making it able to access more than a small amount of RAM is basically worthless unless it can access a large amount. 256MB is not actually interesting.

  • I rely on the only BASIC app I've ever found that's compatible with my iPhone, "cbmHandBasic", a Commodore BASIC emulator (!) that's ancient, and I worry about it's long-term compatibility with iOS (I have complicated equations related to my job in RF electronics that my custom programs simplify; I'm not a programmer, but I learned BASIC back in high school in the 1970's - and I've got too much else going on in life to start learning a more modern programming language, given that BASIC suits my needs). This

You know you've landed gear-up when it takes full power to taxi.

Working...