@@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!
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.
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.
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.
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
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 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.
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
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.
@@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.
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?
[ 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 ]
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.
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 ;)
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.
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.
@@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 :)
@@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.
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.
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.
Same, I want to go to get lots of old tech from the past.
I had one when I was 13/14 great games...
@@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!
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.
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.
Amiga bouncing ball demo. JAWWWDROPPPPPPPPPPP ;) Haha awww back in the day.
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.
Super - thanks Jason and team! Stay awesome and look after yourselves.
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.
Great trip down memory lane
Just bought a BBC Model B!!
Thank you, looking forward to part 2.
Argh, takes me back...loved that you could mixed 6502 in BASIC ❤
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 😂😂😂
Great video. Please make more.
Btw, i think the screen width is 1280, not 1000.
Excellent Jason - Well done, and a very nice presentation...
Thanks! This has been very helpful 😃
Great demo! Thanks.
THIS IS GREAT!
Loved it Jason, thanks ! Yes you are great ! Looking forward to the next installment. Stay safe guys !
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
it sounds like someone hit their head on a piano
88 to 93 my old friend i come back because yolol language reminds me of you
OK, quotation marks are “speech marks” in BE, didn’t know this until now.
Quote marks only have one tick 'quote' speech marks have two "speech" ;)
@@DailyCorvid can you program speech like in the TI-994A?
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.
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.
@@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.
@@damianbutterworth2434 The 'New Look' sounds vaguely familiar. Which model of Acorn A series do you have?
@@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.
19:28 “That really hertz!” 😂
Man, the difference between mode 7 on this and a Super Nintendo is pretty wild.
had a model B in the day, i still have it... Still to this day ive yet to find a keyboard as good.
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
Thanks!
"Jason is awesome"
Just nit picking. The 6502 in the BBC Micro is clocked at 2Mhz
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.
@@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.
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?
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. 🤦♂️
min 12:05 chess problem ..... !!! Los granos de arroz en un tablero de ajedrez.....!!!
[ 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 ]
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.
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 ;)
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.
But it doesn't work normally on mobile devices
the Lander game on risc os did it have sound? does any1 know? thanks.
Yeah it had the noise of the jet when you fired it off, then a downward sliding scale and boom when you crashed it!
Hi, anybody knows what this instruction do:
70 CALL 35 : POP X
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.
@@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 :)
@@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.
Sorry, I was here when the 'thumbs up' was exactly 286...
lol
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.
10 listen to rick roll
20 goto 10
This will give you MISTAKE AT LINE 10
Line 10 should be
10 PRINT "Listen to rick roll"