RasterMan v0.16b demo and programmer's module available

chat about arc/risc pc gaming & RISC OS software here (NOT the core OS!)Related forum: adventures


Post Reply
steve3000
Posts: 1874
Joined: Sun Nov 25, 2012 12:43 am
Contact:

RasterMan v0.16b demo and programmer's module available

Post by steve3000 » Sun Jul 01, 2018 4:21 pm

Just a quick note that my 'RasterMan' v0.16b technical demo and RISC OS programmer's interface (Raster Manager Module) for the Archimedes are available to download at the link below, and to view on YouTube.

Some of you many recall the technical demo was first shown at the Wakefield Acorn show in May 2015 and circulated to a few interested folk - the demo is not particularly polished, so was never widely released, but shows what you can do with the RasterMan module and a couple of hours programming in BASIC/ARM code. :D

Video of the technical demo running from disc on an Archimedes A440 (Arm2, 4mb): https://youtu.be/QumySBo8WkU

RasterMan4096k-320x256.png
RasterMan 4096 colour display
RasterMan4096k-320x256.png (5.56 KiB) Viewed 541 times

If you want to try the demo or programme the module yourself, you really need an original Archimedes (at least, for the moment) because currently there are no Archimedes emulators that I am aware of, on any platform, which provide scanline-accurate update of VIDC/MEMC settings required to display the RasterMan effects correctly. So RasterMan only works correctly on real Archimedes hardware, connected to a suitable TV-resolution monitor (LCD TVs with SCART connection are usually OK).

If you need to use an emulator, Arculator (currently v0.99) will run the technical demo, but with some limitations - raster jitter is visible in places, and some effects won't work. If you don't have real Archimedes hardware, you can still see how the technical demo should display by watching the video link above.

Download the module, documentation and demo here: http://pi-star.co.uk/rasterman/

I have continued to develop the module since the demo back in 2015, but at quite a slow pace. The latest version is now in a reasonable good state, but requires a little tidying up before sharing, so I'm hoping to share the latest module, source code and some example code later this summer.

Hope you enjoy!

tomc
Posts: 5
Joined: Fri May 20, 2016 6:20 pm
Contact:

Re: RasterMan v0.16b demo and programmer's module available

Post by tomc » Tue Jul 03, 2018 9:09 pm

I've just tried this on my A3000. It's very impressive to watch!! Amazing to see this machine display palettes like this on screen for the first time (as far as I know!).

I look forward to trying (and failing) to understand some of the source code when you release it.

It's really wonderful on these forums to see both hardware and software being created for the Archies that is pushing them to do new things even 30 years on.

As an aside, I'm also equally impressed as I've discovered you are the Liquid Dreams Quantum! What a superb demo that was/is! One of the best. I remember waiting for that to arrive in the post from the Datafile PD (still have that disc!)... ah the good old days when my only responsibility in life was to do my homework!

sirbod
Posts: 859
Joined: Mon Apr 09, 2012 8:44 am
Location: Essex
Contact:

Re: RasterMan v0.16b demo and programmer's module available

Post by sirbod » Wed Jul 04, 2018 7:28 am

With a few minor tweaks such as branching to the IRQ/FIQ code in the Module, instead of copying it into the FIQ area, I think it might run on a Pi under ADFFS - I've not figured a way to handle code in Page Zero yet. Admittedly there's no reason to run RasterMan on a Pi, other than the technical challenge of emulating the IOC chipset.

I was interested in using RasterMan to improve the blitter accuracy in ADFFS. It's good enough for games, but needs some alterations to handle demoscene routines. From the discussion Steve and I had a few years back, T1 scanline accuracy and MEMC Vstart/Vend/Vinit were possibly okay but the Pointer blit needs modifying to allow for a dynamic pointer throughout the frame.

Steve, have there been any changes to QTM beyond RasterMan's requirements? Do I need to update the version bundled with ADFFS at some point?

Phlamethrower
Posts: 72
Joined: Fri Nov 24, 2017 1:35 pm
Contact:

Re: RasterMan v0.16b demo and programmer's module available

Post by Phlamethrower » Wed Jul 04, 2018 6:15 pm

Nice work! It's another thing to add to my list of "things I need to fix ArcEm to work with".
tomc wrote:
Tue Jul 03, 2018 9:09 pm
Amazing to see this machine display palettes like this on screen for the first time (as far as I know!).
The Symposium '96 intro also does "interesting" things to the hardware in order to create a high-colour plasma effect.

http://www.pouet.net/prod.php?which=59205

Not sure how many emulators it works with, all I know is it's another one that ArcEm doesn't like :(

steve3000
Posts: 1874
Joined: Sun Nov 25, 2012 12:43 am
Contact:

Re: RasterMan v0.16b demo and programmer's module available

Post by steve3000 » Thu Jul 05, 2018 9:09 pm

tomc wrote:
Tue Jul 03, 2018 9:09 pm
I've just tried this on my A3000. It's very impressive to watch!! Amazing to see this machine display palettes like this on screen for the first time (as far as I know!).

I look forward to trying (and failing) to understand some of the source code when you release it.
Hey thanks, glad you like it! I've not released the module's source yet, but all the source code to the demo, along with SWI documentation for the module is available in application folder, inside the download ZIP. I was reminded the other day that I have a second smaller RasterMan demo coded up and ready to release, so I'll need to get round to this soon :)
tomc wrote:
Tue Jul 03, 2018 9:09 pm
As an aside, I'm also equally impressed as I've discovered you are the Liquid Dreams Quantum! What a superb demo that was/is! One of the best. I remember waiting for that to arrive in the post from the Datafile PD (still have that disc!)... ah the good old days when my only responsibility in life was to do my homework!
Very pleased you remember our Liquid Dreams demo! I recall Paul W (Cobra/QTM) and I finishing the final last minute tweaks to LD on my A310, late at night the day before 1994 Acorn World show at Wembley. A lot of homework hours were sacrificed into getting that demo out, but we were happy with the result. And of course the excellent DataFile PD - back in the days when "internet" was a BBS connected at 14400bps and "downloads" were discs ordered from DataFile PD and delivered by post! Good times :D

steve3000
Posts: 1874
Joined: Sun Nov 25, 2012 12:43 am
Contact:

Re: RasterMan v0.16b demo and programmer's module available

Post by steve3000 » Thu Jul 05, 2018 9:34 pm

sirbod wrote:
Wed Jul 04, 2018 7:28 am
With a few minor tweaks such as branching to the IRQ/FIQ code in the Module, instead of copying it into the FIQ area, I think it might run on a Pi under ADFFS - I've not figured a way to handle code in Page Zero yet. Admittedly there's no reason to run RasterMan on a Pi, other than the technical challenge of emulating the IOC chipset.

I was interested in using RasterMan to improve the blitter accuracy in ADFFS. It's good enough for games, but needs some alterations to handle demoscene routines. From the discussion Steve and I had a few years back, T1 scanline accuracy and MEMC Vstart/Vend/Vinit were possibly okay but the Pointer blit needs modifying to allow for a dynamic pointer throughout the frame.
Hi Jon, you're right, it would be a great test of ADFFS to get this working and for RM, it would make coding demos much more attractive as viewers wouldn't be restricted to original h/w. I'm happy to help and could easily adapt RasterMan to make things easier, for example if it detects RISC OS 5 to shift the IRQ code elsewhere. But I think there'd be quite a bit more to do on ADFFS's side. The biggest issue with running correctly on the Pi would, I suspect, be that the RasterMan timing is based around a 50Hz screen with line rate of 15.625KHz. And I don't know enough about the Pi's frame buffer and graphics output - can the Pi even output colour changes or video pointer changes mid-frame? (Or, if not, can ADFFS blitter code manage these issues?). Anyhow, I'll drop you a line and we can explore the possibilities :)
sirbod wrote:
Wed Jul 04, 2018 7:28 am
Steve, have there been any changes to QTM beyond RasterMan's requirements? Do I need to update the version bundled with ADFFS at some point?
No - no changes to QTM outside of RasterMan switch-over code (basically, QTM tracker code switches from TickerV interrupt, to RM's equivalent, and hands the DMA buffer fill code over to RM's handler, as soon as RM is activated). It's really a customisation of QTM with no other changes, so I've kept the same version number (1.45) but added "c" at the end for "custom". If I do make further updates to QTM, I'll compile the updated custom version separately for RM use.

steve3000
Posts: 1874
Joined: Sun Nov 25, 2012 12:43 am
Contact:

Re: RasterMan v0.16b demo and programmer's module available

Post by steve3000 » Thu Jul 05, 2018 9:50 pm

Phlamethrower wrote:
Wed Jul 04, 2018 6:15 pm
Nice work! It's another thing to add to my list of "things I need to fix ArcEm to work with".
Thanks Jeffrey! I'd love to see this working under emulation one day :) Let me know if you get round to tweaking ArcEm and need any specific test cases.
Phlamethrower wrote:
Wed Jul 04, 2018 6:15 pm
The Symposium '96 intro also does "interesting" things to the hardware in order to create a high-colour plasma effect.
Oh, very interesting, I've not seen this one before. Looking at the youtube link (https://www.youtube.com/watch?v=dxYfXfHtVCM) it could be changing colours on each scanline, but difficult to tell from the video. I've downloaded now to take a closer look on the A4000. :)

sirbod
Posts: 859
Joined: Mon Apr 09, 2012 8:44 am
Location: Essex
Contact:

Re: RasterMan v0.16b demo and programmer's module available

Post by sirbod » Fri Jul 06, 2018 1:12 am

steve3000 wrote:
Thu Jul 05, 2018 9:34 pm
The biggest issue with running correctly on the Pi would, I suspect, be that the RasterMan timing is based around a 50Hz screen with line rate of 15.625KHz. And I don't know enough about the Pi's frame buffer and graphics output - can the Pi even output colour changes or video pointer changes mid-frame? (Or, if not, can ADFFS blitter code manage these issues?). Anyhow, I'll drop you a line and we can explore the possibilities :)
Legacy screen modes under ADFFS match an Arc configured for TV down to the VIDC register level, so they're 50hz and you can palette swap off T0/T1 and it should be identical to running on an original Arc, provided the timers are set at VSync. There's also full VIDC, VIDC20, IOC and MEMC register emulation.

Where it currently deviates from physical is the pointer is blitted after the DA2 screen, so you can't currently change the pointer mid-frame. There's only one game (Caverns) that sets the pointer each frame and it's done at VSync, so there's never been a requirement to merge the pointer code into the frame blit.

As ADFFS isn't an emulator (code is running natively), there are some restrictions around the use of VFLYBK due to client code not executing in parallel to the frame blit. Provided code isn't sitting in a loop watching it, it is pulled high/low at the correct points, so IRQ driven code will see a correct VFLYBK.
Last edited by sirbod on Fri Jul 06, 2018 1:13 am, edited 1 time in total.

Post Reply