Friday, April 1, 2016

Increased compatibility

With the introduction of the latest features in the sonnet.library: Correctly working mirror tasks and a shared signal system between the two CPUs, the compatibility with WarpOS has increased. Also some speed was gained (5-10%).

The major result is that in FreeSpace there now is sound. Also the timing task and the sound output task within ScummVM WOS are now correctly working.

Here are some movies with build 140 in action:

Samurai Showdown 4 for the Neo Geo (NeoMAME): I noticed later that the health bar is missing. This is an artifact of the chosen FrameSkip parameter (2):


Here ScummVM for WarpOS version 0.7.1. (no newer version, sadly enough): The heavy hick-up in the beginning is encoding related. It is however not running at full speed due to extra context switches due to CHIP memory access attempts by the PPC.


Finally FreeSpace: The Great War: I had to turn of music streaming due to artifacts in the sound output. It is not always there when I start the game. Need to investigate that one further. I cut out parts of loading screens to shorten the movie a bit.


Until next time!

Saturday, March 12, 2016

PPC Demos on the Sonnet

I was looking to get some demos running on the sonnet and a posting on EAB came in very handy (see it here: http://eab.abime.net/showthread.php?t=71650). It listed some demos which are suppose to work on CSPPC/Voodoo3. So I picked the very top one and did a small & quick patch to the hunk header and names and here is the result:


Compare this to a CSPPC on 366MHz and G-Rex/Voodoo3 (Pardon the shaking, it is not mine ;-))


I know it is a bit difficult to read so here are the FPS:

x - CSPPC 366 MHz - Sonnet 500 MHz
1 -             33              -              46
2 -             22              -              32
3 -             20              -              38
4 -             18              -              30
5 -             21              -              30
6 -             17              -              29
7 -             48              -              50
8 -             18              -              31
9 -             22              -              42

Monday, March 7, 2016

Why settle for real, if you can have emulation?

The (working) programs and games in the previous movies/pictures had in common that they mostly consist of 1 running PPC task. The ones with more running tasks would freeze up after a while (main task got stuck in wait) or lost sound (sound task got stuck in wait).

A lot of debugging time went into this and a race condition was found during the messaging between the 2 CPUs.

With the fix, a whole of various emulators became stable to work with. So also with the inspiration I got from https://www.youtube.com/channel/UCqnVlRIiPVJsU2SqsfVwV3w here's a short video with different emulators.



1) AmiGeneratorT / Mortal Kombat II
2) DarcNes / Double Dragon
3) AmiGeneratorT / Sonic
4) WarpScummVM / DOTT
5) MAME / 88Games
6) UAEWOS / AIBB on LSD101 disk
7) WarpSNES / SuperMario World.

Some stuff is not optimized yet. ScummVM is accessing a lot of FAST memory still which maybe can avoided as each access is a context switch. Sound with Double Dragon is a bit weird in the menus, but I have seen this on a BPPC too.

Sorry for such a bland WB, I forgot to place my WB picture back after tests with WarpDT (no, not working yet). Also I really should install a silent fan into that A3000.

And see if you can spot the growling cat during the movie ;-)


Friday, February 26, 2016

Picture of the Day: Unlimited Powerrrrrr

While I'm debugging the code and chasing some nasty bugs, here's the sonnet card doing a PowerUP program using ppclibemu from Frank Wille. Yes, it is an ELF binary.

Tuesday, February 16, 2016

Picture of the Day: Voxelspace revisited

When I was in Neuss, the library was just about ready to show something moving on the screen without crashing. The picture below is from the Neuss event.

As you can see (with a bit of effort), Voxelspace was about 25 FPS at that time.


In December, direct access to graphics memory was added. And last week I finally found why RunPPC was as 10 times as slow as expected. This resulted in the following speed with Voxelspace.


Another little step taken.

Tuesday, February 9, 2016

Picture of the Day: StormMESA hardware rendering

Getting StormMESA to work has eluded me for some time now. But from the depths of the Internet came the hint to use Warp3D/ForceVersion 3 as an environment variable. And lo and behold:


Most of the StormMESA demos now seem to be working :-)

Saturday, January 23, 2016

Picture of the Day: Sonnet Developments

Not a flashy video showing 3D madness, but a picture showing the Sonnet compiling vasm, the assembler used to compile the sonnet.library. In this instance, the resulting binary runs on the Sonnet and puts out PPC code usable by the Sonnet.