Smacker Player for Beeb

new graphics/music demos - bitshifters, 0xc0de, The Master + others
Post Reply
User avatar
dudleysoft71
Posts: 298
Joined: Tue May 26, 2020 6:56 pm
Contact:

Smacker Player for Beeb

Post by dudleysoft71 »

While developing my beebScreen library for the ARM Co-processor, I thought I'd try a little experiment with video playback, I chose smacker as a format since it's already palette'd rather than RGB format, the tools allow you to pick how many colours in the palette, and there are available decoders for it since it's part of ffmpeg's avcodec library.

Here are two youtube videos of it running, the first with VideoNULA



The second with the standard beeb palette with dithering:



The dithering feature is a part of the beebScreen library, it's designed to allow easy translation of NULA palettes into the standard beeb palette and is handled transparently by the library.
James Watson - DudleySoft

BBC Model B 32K - PiTubeDirect, Pi1Mhz, Smally Mouse, Gotek, DFS/ADFS, 4xSWRAM.
User avatar
kieranhj
Posts: 1103
Joined: Sat Sep 19, 2015 11:11 pm
Location: Farnham, Surrey, UK
Contact:

Re: Smacker Player for Beeb

Post by kieranhj »

Looks great!

Is this running on a Pi copro streaming over the Tube? I’ve tried some simple delta video codecs streaming from floppy in MODEs 4 & 7 with mixed results. I’m thinking Smacker is likely going to be too heavyweight at 4kb/s + 2MHz 6502?
Bitshifters Collective | Retro Code & Demos for BBC Micro & Acorn computers | https://bitshifters.github.io/
User avatar
dudleysoft71
Posts: 298
Joined: Tue May 26, 2020 6:56 pm
Contact:

Re: Smacker Player for Beeb

Post by dudleysoft71 »

Yeah. It relies on the arm Co-processor either the pi co processor, or the arm7tdmi Co-processor, which also includes BeenEm.

That video is running at 10fps, 12.5 is possible although occasional frames may go over the limit (it uses a delta compression algorithm that's designed to be quick to decode host side, the parasite side does the heavy lifting converting linear frame buffers and dithering).

I chose 10fps since if I wanted to make it interactive then I'd need time for the host to process input.
I've tried adding sound but unfortunately anything higher than 1khz is too much for the host to handle whilst also handling the video data as well.
James Watson - DudleySoft

BBC Model B 32K - PiTubeDirect, Pi1Mhz, Smally Mouse, Gotek, DFS/ADFS, 4xSWRAM.
RobC
Posts: 3816
Joined: Sat Sep 01, 2007 10:41 pm
Contact:

Re: Smacker Player for Beeb

Post by RobC »

This is excellent - really great stuff. Where does it load the video from? ADFS on the Beeb or from the Pi itself?

Also, I know that Dragon's Lair was ported to the TI99 using a 128MB cartridge. Would it be possible to use this to do something similar from a hard drive etc. on the Beeb?
User avatar
dudleysoft71
Posts: 298
Joined: Tue May 26, 2020 6:56 pm
Contact:

Re: Smacker Player for Beeb

Post by dudleysoft71 »

The whole video was loaded into memory from an ADFS hard disk l, it can be streamed, I have tried streaming from the ADFS hard disk, its doable, but not ideal, its asking even more of the host and since audio is a struggle adding data loading and transfer to the mix is asking for trouble. Getting data onto the pi is a problem since the pi tube doesn't actually have any FAT filesystem code in it,it would need to be ported from the 1mhz code for BeebSCSI.

I have created a video of the entire game with the death scenes, it's 12.5 minutes long and weighs on at about 11MBytes, so it's possible to load the whole thing at once (with one long load). I want to write a tool to mark up all the clips in the video and then to create the interaction events so it becomes a playable version of Dragon's Lair. Obviously I would need to provide instructions on how to extract the video section since I wouldn't be able to provide that portion as part of the game.
James Watson - DudleySoft

BBC Model B 32K - PiTubeDirect, Pi1Mhz, Smally Mouse, Gotek, DFS/ADFS, 4xSWRAM.
RobC
Posts: 3816
Joined: Sat Sep 01, 2007 10:41 pm
Contact:

Re: Smacker Player for Beeb

Post by RobC »

Excellent.

If you haven't seen it already, there's a presentation on how the TI99 version was ported here.
User avatar
Stwert
Posts: 60
Joined: Wed Feb 19, 2020 6:22 am
Location: Fife
Contact:

Re: Smacker Player for Beeb

Post by Stwert »

Holy crap, that’s awesome work. Surprisingly smooth playback, a lot better than I’d imagined was possible.
I'll be highly medicated and my humour can be twisted, so when I offend you, its not intentional, honest :lol:
Post Reply

Return to “new projects and releases: demoscene”