
R.T. Russell's Z80 BBC Basic Is Now Open Source - ingve
http://cowlark.com/2019-06-14-bbcbasic-opensource/
======
mikehall314
Richard Russell was also involved in the Colour Recovery Working Group, which
successfully sought to recover the colour signal from black and white
telerecordings.

For background: many programmes produced on colour videotape by the BBC in the
70s, were distributed to overseas broadcasters on black and white film only.
When the BBC destroyed the original videotapes, this left the black and white
films as the only remaining copies of these programmes. In some cases,
however, the colour information had been accidentally embedded into the black
and white film (a notch filter should have been used to remove it).

So around 2008, Richard developed a piece of software, in BBC BASIC, which was
able to recover the embedded colour signal and restore several programmes held
in black and white to their full colour glory.

~~~
gugagore
The process seems fairly DSP intensive. If I recall, the IQ modulated color
signal would leave a dot pattern in the luminance signal. I wonder how many
frames it could process a second, if written in BASIC.

~~~
mikehall314
From memory, it would do 1.5 frames per second.

------
bcaa7f3a8bbc
Great!

I'm currently working on a homebrew Z80 computer on breadboards and
wirewrapped boards, and building all the (simple) hardware and software from
scratch, using vintage chips (strictly no post-1989 chips) and Steve Ciarcia's
_Build Your Own Z80 Computer_ as a reference, but with a much higher spec (32K
or better).

My original plan is porting Li-Chen Wang's Tiny BASIC
([https://en.wikipedia.org/wiki/Tiny_BASIC](https://en.wikipedia.org/wiki/Tiny_BASIC))
to my homebrew computer, and describing its operation at my local hackerspace.
Basically, after Bill Gates' has written his letter, there was a revolt in the
microcomputer scene and many hobbyists sought alternative implementations.
Around the same time, Li-Chen Wang released his hobby project - Tiny BASIC,
with full source in public domain. In retrospect, it can be seen as a free
software project before the free software movement. Although its functionality
was extremely limited Proof-of-Concept and never widely used, but I believe
it's a piece of important legacy of the FLOSS community worth mentioning.

But now, since BBC Basic is now free, I'm looking forward to port BBC Basic to
my system as well!

~~~
billforsternz
Sounds like a great project, good luck. I'll share my favourite tip from back
in the day when I regularly brought up new bare metal Z80 systems. Just on the
off chance it might be useful. Use a blank EPROM as your first program. It's
all 0xff bytes which are RST 7 instructions, equivalent to a subroutine call
to 0x0038. So you should observe an super tight loop of an 8 bit read of 0xff
from 0x0038, then a 16 bit write of 0x0039 to an ever incrementing address.
Suitable for scoping each bit of your address and data bus. The incrementing
write address is the stack pointer, which just cycles through 64K. The most
significant address bit toggles at the rate it takes to cycle through 64K.
Although 0x0039 return address keeps getting pushed onto the stack, there's no
corresponding pop, the stack is just perpetually overflowing. But it doesn't
matter given this 1 byte "program" serves only to give you the simplest
possible repeating pattern to look at with your oscilloscope.

------
rollthehard6
"during the early eighties every school child in the United Kingdom was
exposed to it, spawning a whole generation of bedroom programmers." Erm no.
When I was at secondary school, only those deemed to be good at Maths were
allowed to work with the BBC Micros, despite having some skills already from
owning a ZX Spectrum at home. This maths centric view was partly why I didn't
try to study Comp Sci at Uni and went to do Chem, and then fell into more IT
classes and post grad and onto an IT career subsequently.

------
Theodores
The original Sophie Wilson version of BBC BASIC was brilliant. I did not get
to play with the Z80 version but if it is a faithful original of the BBC 6502
version then this a valuable contribution to open source software.

The UK owes a lot to the people such as Sophie Wilson (who wasn't Sophie then)
that were extremely forward thinking. The BBC Micro was just for kids. Rather
than dumb it down the creators went the other way.

Anyone not familiar with the BBC Micro (because they weren't a kid in the UK
in the 1980's) can't really appreciate how good it was and for its time.
Perhaps an analogy could be found between arcade games machines and home
consoles of the era, the arcade machine just worked, the console was just
compromised in every way in comparison to what you had in the arcade original.

It was the same with the BBC and home computer rivals. There was just an edge
of performance to it that no other home computers had. This was because the
hardware had all the add ons, e.g. a decent sound chip, not just one but two
competent graphics chips, a socket next to the keyboard to put your home blown
EEPROM in and every port you could imagine at the back and under the machine.

The BBC Model B was a true Rolls Royce of a machine and we gave it to kids.

BBC BASIC was equally deluxe. The built in assembler that was embedded in was
awesome. Particularly when you only had a 6502 which has all of three
registers - X, Y and A. I was doing assembler at school and plenty of other
kids were. No extra software was needed, nobody needed to pay for a compiler,
it was all in there.

The rest of BBC BASIC was sophisticated compared to all other BASICs of the
time. You could and did write procedures at a time when other BASICs would
have you doing GOSUB with a line number.

Later when I moved on to the IBM PC with MS-DOS I felt extremely disappointed.
It was actually backward! It lacked the sophistication the BBC Micro had. It
was MS-DOS that I found particularly dumb, I just felt 'is this all there is?'
and could not believe this was the new 'better'.

Exposure to BBC BASIC, UNIX and today's Linux makes me wonder whether
Microsoft's products from MS-DOS to Windows have really advanced computing as
we know it. I am not knocking Microsoft entirely as I do believe some of their
products such as Word 2.0c were fantastic at enabling progress. But with
Microsoft came a particular model of personal computing, we stayed on floppy
disks far too long and Microsoft BASIC introduced things that are best not
taught - i.e. the GOTO statement.

Anyway, the BBC Micro and BBC BASIC were free from this Microsoft way of doing
things, the BBC Micro got it right and it was a vision that was gifted to a
generation of schoolchildren.

~~~
Z-T-T
Your personal experience is very interesting but it's misleading to claim the
BBC Micro was "given to kids" or "gifted to schoolchildren", as if the BBC or
its Micro inspired a generation of British computer enthusiasts or
programmers.

In reality kids were largely not allowed to go anywhere near the beige Rolls
Royces gathering dust in classroom cupboards, because they were so expensive
and/or because nobody was trained to use them.

The massive gaming and programming ("computer literacy") explosion in the UK
in the 80s was almost entirely thanks to the ZX Spectrum, ZX81 and ZX80.

~~~
Theodores
I never owned a BBC Micro but my school let me borrow one every holiday. It
was a comprehensive, a state school, so anecdotal.

~~~
Z-T-T
As in take it home? That's amazing. They had at least one BBC at my middle
school in the early/mid 80s, and we once or maybe twice got to play Frak on
it. That was it. :/

~~~
Theodores
Frak!

I totally forgot about Frak. I will have to see if someone has uploaded that
being played to YouTube. Inevitably they will play better than I would and I
would also avoid the risk of getting hooked into a game...

[https://www.youtube.com/watch?v=UgiA10MfOu4](https://www.youtube.com/watch?v=UgiA10MfOu4)

From the comments, the levels on stage 1 spell 'FRAK'. As per the comments, I
don't think I knew that!

It was such a rich diversity of games then, it was more like listening to
music in that you don't just have the one song you listen to, depending on
your mood you have different things to listen to. With modern consoles you
just have the one or two things in practice, you don't have the repertoire.

As well as the BBC Micro there was also the CUB monitor and disk drives.
Imagine that!

This was mid eighties, I don't think I did any formal computer lessons at
school, it was a lunchtime thing where things like Frak certainly got played.
I know you envy my fortune - and in a regular state school.

During one holiday I made things like a pantograph arm for drawing with - bits
of carefully cut perspex, potentiometers and the A/D port, then some code to
do the trig and draw something on a screen. This was my first go at using a
saw, a file, a soldering iron and also my first experience learning the
reality does not match the dream. The noise in the A/D was ridiculous and
having real time screen updates was also not exactly without lag.

This was an entirely self directed project, no competition or even idea from a
magazine. Just a desire to draw at a time when ambition just worked. It was
useless at what it did but there was more maths in that than what 99% of the
population ever use, even if simple trig.

To think nowadays kids all have their own laptops/tablets/phones and there is
zero recognition that 32K of RAM and a beige box could be special. But they
actually do much better things now than anything I was ever up to.

------
pankajdoharey
WoW! Finally, my second programming language.

