Thursday, July 28, 2016

Another 256 colour 256x128 Demo Image

Just a tiny update to show off another demo image showing off the linear 256x128 256 colour "clashless" mode.

Yes, I DO seem to use Satan for demos quite often don't I.

Saturday, July 16, 2016

Solid progress...

So much progress since the last update! First up, I finally found why esxDOS wasn't working properly on Prism. Turns out that the divMMC automapper was working perfectly. The problem was actually with the SPI port. +3eMMC was working fine because it uses the SPI port slightly differently to esxDOS. A couple of tweaks to the SPI port implementation's sorted everything out - now both esxDOS and +3eMMC work perfectly.

I was just about to give up on ever seeing this....

Getting esxDOS working means that I can use emulated TRDOS to try out some of the Russian software, some of which works best with no memory contention, or needs more than 128K of memory.

Fire And Ice running from TRD file. A fun and pretty platform puzzle game, similar to Solomon's Key
Mortal Kombat, running from TRD

Graphics modes, graphics modes... What would a Prism update be without more graphics modes? Firstly, I revisited Gigablend mode - this is a mode which blends the main and shadow screen together to give more colours - basically a hardware implementaiton of the software "Gigascreen" effect found in many Russion demos.

Gigablend mode
I'm afraid I don't know the artist to credit them
Probably one of my favourite gigascreen pictures, displayed using Gigablend mode.
I'm really sorry I don't know the artist to credit them.

Looking back through the blog, I noted that I'd not said much about the 4 plane (16 colour) 256x192 mode. This works in a similar way to the Amiga - 4 bitplanes of pixel data which mean each pixel can be one of 16 colours (ie there is no colour clash). Of course, being Prism, this isn't restricted to the 16 default colours, they can be user defined. Here's a few examples

But what about brand new modes?

How about a completely bonkers 4096 colour mode? Brainbow mode is a 3 plane 256x192 resolution mode with a twist. Each pixel can be one of 8 colours (black, blue, red, magenta, green, cyan, yellow or white/grey) the twist is that each 8x8 "attribute" square has a defined red, green and blue element intensity level. Probably of limited usefulness, but hey - it's up to 4096 colours on screen at once.

It really is quite bonkers... 
What else? Well definitely more useful are the new linear modes. In addition to the Radastan and Zesarux linear modes, Prism's ULA2 also has its own linear modes - two of which have been implemented to date.

Firstly, the 128x128 resolution 256 colour mode which uses 16K of VRAM

256 colour linear (clashless) 128x128 mode
...and secondly, the 256x128 resolution 256 colour mode which uses all 32K of VRAM

256 colour linear (clashless) 256x128 mode

Hand-converted from a 256 colour BMP... ignore the couple of alignment errors ;)

Due to the data needed to be moved around, these modes are probably more useful for splash screens or perhaps static pictures in adventure type games than they would be for actual arcade games (happy to be proven wrong though!)

Saturday, January 16, 2016

Happy New Year

Hi folks, Happy New Year.

There's been quite a few developments with Prism in the past few months, though again a lot of them are "under the hood" and not particularly visual. A lot's been done to improve stability at higher CPU speeds, and there's also been a large amount of refactoring of Prism's microcode to make it easier to work on and add new features.

Over Christmas, I did a lot of compatibility testing (also known as just playing games), as well as some playing around with palettes...

Gauntlet II with a modified palette

Of course it wasn't ALL playing games and refactoring... I did do some work on adding new features, including Radstian mode (a 128x192 16 colour "chunky" mode with no colour clash). I also started adding César Hernández Bañó's additional screen modes (similar to Radstian mode but with different resolutions)

SpongeBob Radastanpants gazing lovingly at a ZX Uno prototype
Another Radastan mode demo pic (though personally I think Robot Chicken did it better)

I've also been working on a boot rom, based on a test ROM that César Hernández Bañó created. I'm re-learning Z80 after a break of several years, so César has been increadibly helpful, thanks mate! The boot ROM lets you chose which ROM you want to boot to, and lets you set a couple of options. It also displays the Prism logo which is based on a mock-up which Andrew Owen created for me a while ago. You can probably guess where I got the idea from ;)

Shine on, you crazy ROM selector.
The boot rom utilises Prism's 16 colour (4 plane) clashless mode and as you can see it also departs from the Spectrum's standard colours - for example non-bright yellow's orange.