Beginners Guide to Programming using BBC BASIC - Part 1 - Variables & Loops

Поделиться
HTML-код
  • Опубликовано: 4 окт 2024
  • Jason takes us through the very basics of programming that anyone can follow. In this guide we look at loops and variables to make sounds and simple graphics.
    For more learning resources see : www.computinghi...

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

  • @EeekiE
    @EeekiE 3 года назад +11

    I want a BBC Micro now. Never grew up with them, so it’s not nostalgia. I just love how different and charming they are.

    • @navjotsingh2251
      @navjotsingh2251 3 года назад +1

      Same, I want to go to get lots of old tech from the past.

    • @alancliff9208
      @alancliff9208 3 года назад +2

      I had one when I was 13/14 great games...

    • @DailyCorvid
      @DailyCorvid 3 года назад

      @@alancliff9208 Frickin love that machine... The BBC b!
      Grannys Garden CAN YOU SEE THE HIDDEN WORD. What can I see the only graphics this game contains? YES I CAN :D It was the first computer I saw outside my own house, in a school no less! Teachers didn't know how to get it to do anything, I was 7 and already had a good working knowledge of BASIC. Lol the naughty kid suddenly is the wonderkid!

    • @jimsimpson1006
      @jimsimpson1006 2 месяца назад

      The BBC computer literacy project website has an online emulator, though I can't say how good it is as I haven't tried to use it yet.

  • @CelticSaint
    @CelticSaint 3 года назад +6

    Wonderful. When I was at college in the 80´s I played around with BASIC as I had a ZX81 and then a 48k ZX Spectrum. My parents were aware that I liked science so computers were an obvious Christmas present for them. I knew a lad who one day showed me a program that he had written. He had put some of the basic notes of a piece of Mozart into a BBC computer and it sounded brilliant. He had even added lines on the screen that reflected the beautiful music. The higher the note the longer the line. I will never forget seeing that for as long as I live!! It was mind'blowing at the time. This was in Cornwall in 1985.

    • @DailyCorvid
      @DailyCorvid 3 года назад +1

      Amiga bouncing ball demo. JAWWWDROPPPPPPPPPPP ;) Haha awww back in the day.

  • @brianmorrison9168
    @brianmorrison9168 3 года назад +4

    I had the BBC B computer in the 80s, then when I had kids I used it to help them with their school work. It was great and they enjoyed it too.
    Just saw a video about an emulator, so think I'll try and learn the codes again. That'll please the kids .. and their kids too.

  • @markf.3617
    @markf.3617 8 месяцев назад

    Argh, takes me back...loved that you could mixed 6502 in BASIC ❤

  • @billtims3998
    @billtims3998 3 года назад +2

    Great trip down memory lane

  • @vancemccarthy2554
    @vancemccarthy2554 4 месяца назад

    My workplace, in its infancy, used one for record keeping. It's not working now, but 40 years later, I have the book. There are good tips - even for the Yabasic programming language I write in.

  • @DailyCorvidMusic
    @DailyCorvidMusic 3 года назад +2

    Just bought a BBC Model B!!

  • @martinrowe2812
    @martinrowe2812 4 года назад +2

    Thank you, looking forward to part 2.

  • @MrZeroPage
    @MrZeroPage 4 года назад +1

    Super - thanks Jason and team! Stay awesome and look after yourselves.

  • @gabrielsroka
    @gabrielsroka 3 года назад +2

    Great video. Please make more.
    Btw, i think the screen width is 1280, not 1000.

  • @stephenvenner1531
    @stephenvenner1531 4 года назад +1

    Excellent Jason - Well done, and a very nice presentation...

  • @MusicManGray
    @MusicManGray 3 года назад +1

    Thanks! This has been very helpful 😃

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

    Great demo! Thanks.

  • @henriklarsen1504
    @henriklarsen1504 3 года назад +2

    THIS IS GREAT!

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

    I just bought a Raspberry Pi 400 and I am going to use BBC BASIC on RISC OS. It looks so fun, specially the sounds. It will annoy my wife so much 😂😂😂

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

    Man, the difference between mode 7 on this and a Super Nintendo is pretty wild.

  • @20windfisch11
    @20windfisch11 4 года назад +2

    OK, quotation marks are “speech marks” in BE, didn’t know this until now.

    • @DailyCorvid
      @DailyCorvid 3 года назад

      Quote marks only have one tick 'quote' speech marks have two "speech" ;)

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

      @@DailyCorvid can you program speech like in the TI-994A?

  • @bitcoinbusker
    @bitcoinbusker 2 года назад

    19:28 “That really hertz!” 😂

  • @Inaflap
    @Inaflap 2 года назад

    Try entering this single line for a weird result on the Beeb...
    there are 46 of the 'L.1': , but you can use the cursor and Copy key (maybe mapped to End key by BeebEm) to speed entry.
    1L.1:L.1:L.1:L.1:L.1:L.1:L.1:L.1:L.1:L.1:L.1:L.1:L.1:L.1:L.1:L.1:L.1:L.1:L.1:L.1:L.1:L.1:L.1:L.1:L.1:L.1:L.1:L.1:L.1:L.1:L.1:L.1:L.1:L.1:L.1:L.1:L.1:L.1:L.1:L.1:L.1:L.1:L.1:L.1:L.1:L.1

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

      it sounds like someone hit their head on a piano

  • @GarDjinn
    @GarDjinn 3 года назад +1

    88 to 93 my old friend i come back because yolol language reminds me of you

  • @The65c02
    @The65c02 3 года назад +2

    Just nit picking. The 6502 in the BBC Micro is clocked at 2Mhz

    • @DailyCorvid
      @DailyCorvid 3 года назад

      Half the cycles are spent on memory banking, so first 1mhz goes to CPU second tick goes to memory bus. So you get 1mhz bus and 1mhz cpu ;) Also the sound chip cannot run faster than 1mhz.

    • @Inaflap
      @Inaflap 2 года назад

      @@DailyCorvid Control of the RAM address lines alternates between the 6502A CPU and the 6845 Cathode Ray Tube Controller (CRTC) every 250ns. RAM refresh by the CRTC happens whilst the 6502A does not need access to the RAM lines. Both the CPU and and RAM run at 2MHz.

  • @nellogaliano2666
    @nellogaliano2666 2 года назад

    Thanks for this tutorial! I have a question: is there a way the get the char (or char code) at specified X,Y position on the screen using BBC BASIC in its original first version? Thanks

  • @chrisnorthall8317
    @chrisnorthall8317 4 месяца назад

    had a model B in the day, i still have it... Still to this day ive yet to find a keyboard as good.

  • @damianbutterworth2434
    @damianbutterworth2434 3 года назад +1

    I have a Acorn3000 Got the BASIC working after using an old mobile 3.7v phone battery for the CMOS. No operating system but I have a disc and struggling to get the disc drive to work. I might download the instruction book you suggested. If it`s like the spectrum there must be a load"" command or something.

    • @timelordtardis
      @timelordtardis 3 года назад +1

      No OS? The OS is on ROM so is there from the word go. I know you may have already solved this but *DESKTOP takes one to the RISC OS desktop.

    • @damianbutterworth2434
      @damianbutterworth2434 3 года назад

      @@timelordtardis I will try DESKTOP command and tell you how I got on. I have got it working basic programming. When I could not find the OS I bought a disc with RISC OS! New look. Perhaps it`s an upgrade and I got confused thinking I had to install it.

    • @timelordtardis
      @timelordtardis 3 года назад

      @@damianbutterworth2434 The 'New Look' sounds vaguely familiar. Which model of Acorn A series do you have?

    • @damianbutterworth2434
      @damianbutterworth2434 3 года назад

      @@timelordtardis It`s a Acorn 3000 with 3 button mouse and monitor. It`s flatter and wider than the one on here and more white plastic.

  • @amogid
    @amogid 3 года назад

    Thanks!

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

    11:30 I’m a year late to this, so Will understand if no reply.
    If line 10 sets A as 1, and line 30 timeses A by 2, surely 1*2 is always 2? The line where a increases (the old line 30) is gone, so A will always remain 1? What am I missing?

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

      I’ve just thought about it and realised my mistake. Of course it doesn’t stay 1, because it doesn’t go to the line to reset it to one. 🤦‍♂️

  • @tackline
    @tackline 4 года назад +3

    No need to install an emulator - just use a browser. For instance bbc.godbolt.org Keyboard is a nightmare.
    Skipped through the video, but I feel like I HAVE TO mention that descriptions of RND, MODE and GCOL contain errors. RND(3) produces integers for 1 (not 0) to 3, so no black. MODE 0 displays two colours which default to black and white, but may be changed with VDU 19. The first argument in GCOL specify how the pixels are changed - 0 is overwrite. Background colours are specified by adding 128 to the colour.

    • @cchlearning5066
      @cchlearning5066  4 года назад +4

      Hi, all fair points and indeed perfectly correct :) However, I feel you're missing the point! This video is to teach some very rudimentary concepts of programming, not the specifics of BBC BASIC and definately not about the VDU command which doesn't feature in any other language! Doing it on the beeb is just a bit of fun and uses the museum's collection to teach something useful. Sorry, but I felt I HAD TO answer that. Jason ;)

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

      I was just about to make the same commet about GCOL - that's just a mistake - and I'd been thinking of the RND as well. That's actually an important point, because you should always check in a given programming language, environment, or command, whether counting is from zero or one, whether for instance a for loop includes the last number or not, and what the exact ranges are, for instance for the graphics windows coordinates. It all becomes important pretty much immediately, if for instance you try to plot mathematical functions and similar.
      And since BBC BASIC is SO! ABSURDLY! EASY! for such tasks, compared with *any* other programming environment you're likely to come across on a modern computer, it's not merely a bit of fun. Using a modern BBC BASIC interpreter for simple programming experiments, runs circles around clumsy bloatware like Python and similar.

    • @Dostofei44
      @Dostofei44 2 месяца назад

      But it doesn't work normally on mobile devices

  • @MarK-iw2xj
    @MarK-iw2xj 3 года назад

    "Jason is awesome"

  • @JohnnyBareToes1
    @JohnnyBareToes1 4 года назад +4

    Loved it Jason, thanks ! Yes you are great ! Looking forward to the next installment. Stay safe guys !

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

    [ for the posters lol/enjoyment ]
    NEVER let anyone tell you you cannot do something!!!!! [ read on ;-) ]
    I cut my teeth on BBC BASIC over my bothers shoulder when I was 13, just before C.S.E 'Computer Studies' was an 'Option' to us pre G.C.S.E. Students. I got a Grade '1' [ was NOT ALLOWED to do the G.C.E. Exam because they said 'he does not know the history...'.
    Cut forward 3 years: Enter mentor 'Doctor Clark' [ a dude with a common interest and a PhD in 'Hardware Description Languages' ] and we started coding 'C' for DnD DM pre-gen sheets...
    4 years later I'm writing Fruit Machine code on 68k in 'C', 3 years later I'm a UNIX Conformance Tester for UNISOFT [ My earliest net-swarf is my desktop wallpaper from '97 ], on contract to The Open Group, Intel and the DVB and DaSE consortium, [ Read Digital TV, US and EU ]. and SSL [ THE Intel CDSA 'white paper' testing ]

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

    min 12:05 chess problem ..... !!! Los granos de arroz en un tablero de ajedrez.....!!!

  • @mazharsaid2548
    @mazharsaid2548 3 года назад

    the Lander game on risc os did it have sound? does any1 know? thanks.

    • @DailyCorvid
      @DailyCorvid 3 года назад

      Yeah it had the noise of the jet when you fired it off, then a downward sliding scale and boom when you crashed it!

  • @adilsouirite6293
    @adilsouirite6293 3 года назад

    Hi, anybody knows what this instruction do:
    70 CALL 35 : POP X

    • @dubiouslycrisp
      @dubiouslycrisp 3 года назад +1

      CALL differs from GOTO in that GOTO jumps to a location and has no expectation of jumping back. Wherever GOTO jumps to, it will just continue on from there. CALL 35 is saying "Go to line 35 and run the code that's there, but then come back here when you encounter the RETURN or END command (or whatever it is)." The POP command works with a stack, to retrieve the latest value that was stored, presumably a value stored by the code at line 35. Looks like it's storing it into a variable X.

    • @DailyCorvid
      @DailyCorvid 3 года назад +1

      @@dubiouslycrisp That was a brilliant explanation! You should do BASIC tutorials I am relearning BBC BASIC for Windows and could definitely use that channel should it ever become a thing :)

    • @Inaflap
      @Inaflap 2 года назад

      @@dubiouslycrisp You are describing GOSUB not CALL. You RETURN from a GOSUB. I think Quick BASIC may have had CALL, but not BBC BASIC. BBC BASIC does allow procedures, which you define between DEF PROCname and END PROC, but then they are called with PROCname.
      The CALL and POP are Z80 mnemonics, but you POP 16-bit register pairs on that CPU. There is an IX 16-bit index register on the Z80, so you could POP IX. The BBC micro has a 6502 (or 6512?) and you could only pop/pull to the accumulator (and status register) PLA or PLP - no PLX and no POP X. Also address 35 would be in page zero area of memory. There were versions of BBC BASIC for Z80 based micros, and I believe some allowed for in-line assembly language within the BASIC listing, just as you could include 6502 code in you BASIC listing on the BBC micro. This is possibly embedded Z80 assembly language. The address 35 might be a ROM routine on a Z80 based machine.

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

    Sorry, I was here when the 'thumbs up' was exactly 286...
    lol

  • @taipo101
    @taipo101 8 месяцев назад

    Far superior build to the Pi400 which is the poorist design ever.. The BBC micro had excellent connectability professional header, ROM sockets, Proper structured language. No libraries to link in.I can go on and on. Python is a disaster compared with this.

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

    10 listen to rick roll
    20 goto 10

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

      This will give you MISTAKE AT LINE 10
      Line 10 should be
      10 PRINT "Listen to rick roll"

  • @sexysensation
    @sexysensation 2 года назад

    Thank you so much for taking the time to make this truly appreciated.