Can the BBC stream full motion video?

on-topic Acorn-related news and discussions not covered by the other forums
Commie_User
Posts: 1115
Joined: Wed Jan 27, 2016 12:50 am
Contact:

Can the BBC stream full motion video?

Post by Commie_User » Thu Mar 29, 2018 8:49 pm

I've tried looking online but all I can find are ZX Spectrum FMV streaming: https://www.youtube.com/watch?v=ooi9rpx6ECM

...and the Commodore 64: https://www.youtube.com/watch?v=IXLv7UosQXs

The Commodore had a RAM expansion but there it all is. I'm surprised there's nothing on using a BBC B with an external streamer plugged in, given its techie heritage. Did I miss it?

crj
Posts: 834
Joined: Thu May 02, 2013 4:58 pm
Contact:

Re: Can the BBC stream full motion video?

Post by crj » Thu Mar 29, 2018 9:02 pm

What counts as "full motion video"?

Assuming teletext would be unspeakably crappy, the best you could hope for would be a MODE 4 screen. That's 10K per frame.

How are you going to get those frames onto the display? If you just hook something else up to the video subsystem, you don't really have a BBC Micro any more. If you replace the CPU with something that throws stuff directly into video memory that also feels a lot like cheating. It feels like, to count, you have to be copying data from somewhere into video memory. The quickest realistic pair of instructions for that would be "LDA otherplace,X : STA screenmemory,X", which takes 9 cycles. At 2MHz, 9 cycles/byte * 10Kbytes takes 46ms.

So, given suitably fast storage, you could manage 21.7 frames per second.

(If you somehow managed to arrange for a continuous supply of "LDA #byte : STA address" instruction pairs, those would only take 6 cycles. That would get you 32.5 frames per second. I have a scheme which ought to be able to achieve that, but it would be pretty marginal.)

Commie_User
Posts: 1115
Joined: Wed Jan 27, 2016 12:50 am
Contact:

Re: Can the BBC stream full motion video?

Post by Commie_User » Thu Mar 29, 2018 9:42 pm

I'm not sure if streaming straight to the screen RAM is cheating because photo graphics on the Beeb can be done that way without a grumble: viewtopic.php?f=2&t=12053&p=152878#p152874

I'd be very interested to see your system. I like old 8-bits used for what they ain't ought to, especially for music.

There are also Commodore 64 disk demos featuring video, albeit more akin to animated gifs which use a completely unmodified base unit. If the system itself is fast enough to process video in whatever manner, all you would surely need is a data storage system quick and capacious enough to feed the data in.

User avatar
tricky
Posts: 2634
Joined: Tue Jun 21, 2011 8:25 am
Contact:

Re: Can the BBC stream full motion video?

Post by tricky » Thu Mar 29, 2018 9:54 pm

There is a starwars demo from BITD somewhere and bitshifters did the bad apple demo (if that counts) and it works off original floppy!

Commie_User
Posts: 1115
Joined: Wed Jan 27, 2016 12:50 am
Contact:

Re: Can the BBC stream full motion video?

Post by Commie_User » Thu Mar 29, 2018 10:00 pm

I'd like to see the Star Wars demo, especially if it has actual recorded video in it. I wouldn't count the Bad Apple Teletext animation myself but it poses another nice question: Would that have been streamable across the broadcast system to an original BBC Micro or television?

guesser
Posts: 197
Joined: Mon Jun 26, 2006 9:21 pm

Re: Can the BBC stream full motion video?

Post by guesser » Thu Mar 29, 2018 10:12 pm

Commie_User wrote:I'd like to see the Star Wars demo, especially if it has actual recorded video in it. I wouldn't count the Bad Apple Teletext animation myself but it poses another nice question: Would that have been streamable across the broadcast system to an original BBC Micro or television?
Achievable framerate would depend on the number of lines available (and that the receiver can cope with, the acorn adapter can't cope with all the VBI lines being used).

On a full field teletext system (i.e. not multiplexed with a video signal) you'd have more bandwidth than you'd know what to do with of course :)
A web based teletext editor which can export as Mode 7 screen memory: https://zxnet.co.uk/teletext/editor

User avatar
Pernod
Posts: 1227
Joined: Fri Jun 08, 2012 10:01 pm
Location: Croydon, UK
Contact:

Re: Can the BBC stream full motion video?

Post by Pernod » Thu Mar 29, 2018 10:37 pm

Commie_User wrote:I'd like to see the Star Wars demo, especially if it has actual recorded video in it.
Grab it from viewtopic.php?f=32&t=5802&p=108594#p54095
- Nigel

BBC Model B, ATPL Sidewise, Acorn Speech, 2xWatford Floppy Drives, AMX Mouse, Viglen case, BeebZIF, etc.

Commie_User
Posts: 1115
Joined: Wed Jan 27, 2016 12:50 am
Contact:

Re: Can the BBC stream full motion video?

Post by Commie_User » Thu Mar 29, 2018 11:16 pm

That's lovely!

I think these little things should have been sold in Smiths. I found it amazing enough that the Microrhythm series of sample-based drum sequencers were sold for £1.99 30 years ago.

crj
Posts: 834
Joined: Thu May 02, 2013 4:58 pm
Contact:

Re: Can the BBC stream full motion video?

Post by crj » Fri Mar 30, 2018 3:20 am

Commie_User wrote:I'm not sure if streaming straight to the screen RAM is cheating because photo graphics on the Beeb can be done that way without a grumble: viewtopic.php?f=2&t=12053&p=152878#p152874
That's not what I meant! Those pictures got into screen RAM by you running code on the 6502 CPU that loaded each byte from somewhere and stored it into screen memory.

The alternative I said would feel like cheating is to unplug the 6502 from its socket and replace it with some custom hardware that doesn't run any 6502 code, just writes bytes into screen memory at the rate of two million per second. That's not really a BBC Micro any more, so much as some other computer with the Beeb's data/address bus dangled off the side.

But, as I say, it's not the worst cheat imaginable. If you unplugged the CRTC and Video ULA and installed a hack between them and the mainboard, you could disconnect the Beeb's own video output entirely and substitute a signal of your choosing. Just tape a DVD player inside the lid and you're sorted!

User avatar
tricky
Posts: 2634
Joined: Tue Jun 21, 2011 8:25 am
Contact:

Re: Can the BBC stream full motion video?

Post by tricky » Fri Mar 30, 2018 5:56 am

When you said streaming, I thought you meant like the Atari 7800 etc

User avatar
1024MAK
Posts: 7642
Joined: Mon Apr 18, 2011 4:46 pm
Location: Looking forward to summer in Somerset, UK...
Contact:

Re: Can the BBC stream full motion video?

Post by 1024MAK » Fri Mar 30, 2018 9:24 am

I define 'streaming' video as a computer using it's CPU to read data from mass storage (FDD, HDD, CF card, SD card, or similar) or from a another computer via a network or communications cable) and then using it's existing standard hardware to produce a picture. So in the case of the Beeb, that would involve it's 6502 CPU and it's main RAM.

Mark
For a "Complete BBC Games Archive" visit www.bbcmicro.co.uk NOW!
BeebWiki‬ - for answers to many questions...

User avatar
CMcDougall
Posts: 6127
Joined: Wed Feb 02, 2005 3:13 pm
Location: Shadow in a Valley of Scotland
Contact:

Re: Can the BBC stream full motion video?

Post by CMcDougall » Fri Mar 30, 2018 9:28 am

There is a few demo's in b&w in a smaller box (like Reptons on elk) from films on the Atom, came with the magic Dragon's Lair bought ( & signed by JimB!) on a 4GB SDHC card, needs a AtoMMC to play.
Don't know if they are on YouTube...
ImageImageImage

Commie_User
Posts: 1115
Joined: Wed Jan 27, 2016 12:50 am
Contact:

Re: Can the BBC stream full motion video?

Post by Commie_User » Fri Mar 30, 2018 11:28 am

1024MAK wrote: So in the case of the Beeb, that would involve it's 6502 CPU and it's main RAM.
Wouldn't that be superfluous if the video is already BBC compatible? On the 64 and Spectrum examples, I see the principle as no different to my PC's DVD player card I once had. That was no less valid a way of playing video on the PC than using a software player, especially where no conversion is required.

guesser
Posts: 197
Joined: Mon Jun 26, 2006 9:21 pm

Re: Can the BBC stream full motion video?

Post by guesser » Fri Mar 30, 2018 12:13 pm

Commie_User wrote:
1024MAK wrote: So in the case of the Beeb, that would involve it's 6502 CPU and it's main RAM.
Wouldn't that be superfluous if the video is already BBC compatible? On the 64 and Spectrum examples, I see the principle as no different to my PC's DVD player card I once had. That was no less valid a way of playing video on the PC than using a software player, especially where no conversion is required.
The spectranet is no different in principle from a disk interface fetching data from disk sectors, it's not magically filling the video RAM. The spectrum's Z80 is running code in a loop to read incoming packets from the network chip and copying the data to the display memory.
A web based teletext editor which can export as Mode 7 screen memory: https://zxnet.co.uk/teletext/editor

crj
Posts: 834
Joined: Thu May 02, 2013 4:58 pm
Contact:

Re: Can the BBC stream full motion video?

Post by crj » Fri Mar 30, 2018 12:20 pm

PCs of that era (indeed, most eras) have DMA capabilities as part of their architecture. Replacing the CPU with something that does DMA feels like a step too far.

For a PC with DMA, I think the question of what they "can" do becomes unanswerable. The best you can offer is to say what they were capable of with hardware available back in the day.

Even the notion of plugging something into a ROM socket which is, in effect, dual-port RAM, with the 6502 running LDA #imm : STA abs instructions non-stop while something else keeps up with the 6502, continuously repopulating it with new instructions, feels a bit like cheating. My interest is in letting people load and save stuff inauthentically quickly, as well as being able to emulate bits and pieces their machine might lack. That it might also allow you to stream full-motion video at an implausible rate is just an accident.

Commie_User
Posts: 1115
Joined: Wed Jan 27, 2016 12:50 am
Contact:

Re: Can the BBC stream full motion video?

Post by Commie_User » Fri Mar 30, 2018 2:29 pm

guesser wrote:The spectrum's Z80 is running code in a loop to read incoming packets from the network chip and copying the data to the display memory.
For me, that's a completely valid video streaming effort. It's pre-formatting the video to make it compatible with the ZX architecture for native display. Otherwise it would be a straight signal passthrough to the VDU, as CRJ seems to suggest with his DVD player idea.

And that would be authentic and realistic for the age, had some system been available to stream video back in the 80s. But of course the phone lines were too archaic for such data traffic.

RobC
Posts: 2225
Joined: Sat Sep 01, 2007 9:41 pm
Contact:

Re: Can the BBC stream full motion video?

Post by RobC » Fri Mar 30, 2018 3:11 pm

There are some video demos for GoSDC/GoMMC - I had a Bugs Bunny cartoon running at the South West Show last year.

Commie_User
Posts: 1115
Joined: Wed Jan 27, 2016 12:50 am
Contact:

Re: Can the BBC stream full motion video?

Post by Commie_User » Fri Mar 30, 2018 3:46 pm

You don't mean a bit of this?

https://www.youtube.com/watch?v=YiNRZW5TTW4



Well there I have it! Fantastic. Thanks. :)

Though I take it the disk images used aren't interchangeable with the Turbo MMC, which I have.

RobC
Posts: 2225
Joined: Sat Sep 01, 2007 9:41 pm
Contact:

Re: Can the BBC stream full motion video?

Post by RobC » Fri Mar 30, 2018 4:58 pm

Commie_User wrote:You don't mean a bit of this?
Yes - that's the one.
Commie_User wrote:Though I take it the disk images used aren't interchangeable with the Turbo MMC, which I have.
No - I did a small amount of investigation into the format a couple of years ago and the player+media are closely coupled to the GoMMC/GoSDC hardware.

You could probably do something reasonable using the other SD/MMC card solutions (or a Pi co-pro) but I think GoSDC is the quickest available at the moment.

User avatar
BigEd
Posts: 1973
Joined: Sun Jan 24, 2010 10:24 am
Location: West
Contact:

Re: Can the BBC stream full motion video?

Post by BigEd » Fri Mar 30, 2018 6:32 pm

Now that's an idea - run a Native ARM copro on the Pi, fill its RAM with suitably entertaining data, then stream it to the screen with some suitably efficient host code.

crj
Posts: 834
Joined: Thu May 02, 2013 4:58 pm
Contact:

Re: Can the BBC stream full motion video?

Post by crj » Fri Mar 30, 2018 6:45 pm

BigEd wrote:Now that's an idea - run a Native ARM copro on the Pi, fill its RAM with suitably entertaining data, then stream it to the screen with some suitably efficient host code.
Yep. That's pretty much the kind of thing you'd have to do (or equivalent from some other 2MHz I/O space; the 1MHz would cramp your style a tiny bit) in order to get the 21.7 frames per second in MODE 4 that I calculated on the back of an envelope.

User avatar
BigEd
Posts: 1973
Joined: Sun Jan 24, 2010 10:24 am
Location: West
Contact:

Re: Can the BBC stream full motion video?

Post by BigEd » Fri Mar 30, 2018 6:49 pm

I suspect you wouldn't need to redraw every pixel - there's surely some interesting optimisation to do in designing and implementing a protocol for partial updates. Needs to be simple, to retain an advantage.

User avatar
1024MAK
Posts: 7642
Joined: Mon Apr 18, 2011 4:46 pm
Location: Looking forward to summer in Somerset, UK...
Contact:

Re: Can the BBC stream full motion video?

Post by 1024MAK » Fri Mar 30, 2018 7:01 pm

Commie_User wrote:
1024MAK wrote: So in the case of the Beeb, that would involve it's 6502 CPU and it's main RAM.
Wouldn't that be superfluous if the video is already BBC compatible? On the 64 and Spectrum examples, I see the principle as no different to my PC's DVD player card I once had. That was no less valid a way of playing video on the PC than using a software player, especially where no conversion is required.
Not sure what you are getting at? :?

With the Beeb, the 'video file' or 'screen memory' is part of main RAM. There is no DMA, so there is just the CPU to shift data from the mass storage / communications link to screen RAM, and hence the Beeb will display the video.

With any of the 1980s or 1990s 'home' computers, of course it is a big advantage to have the 'video' data already in a suitable format for the machine it is designed for.

With machines that had a DMA system built in as part of the original specification (or available as an upgrade designed to plug in or fit to the original PCB and available at the time that the machines were on sale), then that can form part of the original hardware for streaming under control of the CPU.

The mass storage or communications link hardware does not have to be original or available at the time that the computer was on sale. Modern mass storage/ communications hardware is perfectly okay to use.

Some of what we have now was possible many years ago, but the cost and development needed prevented it being available. For example IDE PATA HDDs.

Mark
For a "Complete BBC Games Archive" visit www.bbcmicro.co.uk NOW!
BeebWiki‬ - for answers to many questions...

User avatar
1024MAK
Posts: 7642
Joined: Mon Apr 18, 2011 4:46 pm
Location: Looking forward to summer in Somerset, UK...
Contact:

Re: Can the BBC stream full motion video?

Post by 1024MAK » Fri Mar 30, 2018 7:03 pm

BigEd wrote:I suspect you wouldn't need to redraw every pixel - there's surely some interesting optimisation to do in designing and implementing a protocol for partial updates. Needs to be simple, to retain an advantage.
Yes, careful design should result in a faster screen update or a lower data bandwidth :wink:

Mark
For a "Complete BBC Games Archive" visit www.bbcmicro.co.uk NOW!
BeebWiki‬ - for answers to many questions...

Commie_User
Posts: 1115
Joined: Wed Jan 27, 2016 12:50 am
Contact:

Re: Can the BBC stream full motion video?

Post by Commie_User » Fri Mar 30, 2018 7:32 pm

1024MAK wrote: Not sure what you are getting at? :?
I thought a distinction was being made between feeding compatible video through the system for display and wanting on-the-fly file conversion and RAM buffering of some kind.

guesser
Posts: 197
Joined: Mon Jun 26, 2006 9:21 pm

Re: Can the BBC stream full motion video?

Post by guesser » Fri Mar 30, 2018 8:39 pm

1024MAK wrote:
BigEd wrote:I suspect you wouldn't need to redraw every pixel - there's surely some interesting optimisation to do in designing and implementing a protocol for partial updates. Needs to be simple, to retain an advantage.
Yes, careful design should result in a faster screen update or a lower data bandwidth :wink:
Or careful choice of source video, I've developed a compression scheme which gets extremely high framerates for videos of black cats at night :lol:
A web based teletext editor which can export as Mode 7 screen memory: https://zxnet.co.uk/teletext/editor

RobC
Posts: 2225
Joined: Sat Sep 01, 2007 9:41 pm
Contact:

Re: Can the BBC stream full motion video?

Post by RobC » Sat Mar 31, 2018 7:50 am

BigEd wrote:I suspect you wouldn't need to redraw every pixel - there's surely some interesting optimisation to do in designing and implementing a protocol for partial updates. Needs to be simple, to retain an advantage.
I might be wrong as I didn't look at it in great detail but I suspect the GoSDC player works by injecting instructions into a memory mapped window and executing the code which then updates the relevant pixels. This would presumably be as fast as you can go on a Beeb without some sort of DMA (and the larger the window the better of course).

User avatar
BigEd
Posts: 1973
Joined: Sun Jan 24, 2010 10:24 am
Location: West
Contact:

Re: Can the BBC stream full motion video?

Post by BigEd » Sat Mar 31, 2018 8:39 am

Ah, right, that could be several times faster than a tight loop reading the Tube VDU FIFO.

A variant firmware for PiTubeDirect could possibly pull off the same trick, but only in a very small window. A Pi on the 1MHz bus could also do it, but that's half speed.

User avatar
1024MAK
Posts: 7642
Joined: Mon Apr 18, 2011 4:46 pm
Location: Looking forward to summer in Somerset, UK...
Contact:

Re: Can the BBC stream full motion video?

Post by 1024MAK » Sat Mar 31, 2018 3:36 pm

guesser wrote:
1024MAK wrote:
BigEd wrote:I suspect you wouldn't need to redraw every pixel - there's surely some interesting optimisation to do in designing and implementing a protocol for partial updates. Needs to be simple, to retain an advantage.
Yes, careful design should result in a faster screen update or a lower data bandwidth :wink:
Or careful choice of source video, I've developed a compression scheme which gets extremely high framerates for videos of black cats at night :lol:
Does that work also for white cats in a snowstorm blizzard in bright sunlight.... \:D/

Mark
For a "Complete BBC Games Archive" visit www.bbcmicro.co.uk NOW!
BeebWiki‬ - for answers to many questions...

guesser
Posts: 197
Joined: Mon Jun 26, 2006 9:21 pm

Re: Can the BBC stream full motion video?

Post by guesser » Sat Mar 31, 2018 3:59 pm

1024MAK wrote: Does that work also for white cats in a snowstorm blizzard in bright sunlight.... \:D/
Optional support, it decreases the compression ratio considerably :lol:
A web based teletext editor which can export as Mode 7 screen memory: https://zxnet.co.uk/teletext/editor

Post Reply