Saturday, October 15, 2016

Lies, damned lies and statistics

Added functionality to the sonnet.library which tracks CPU usage (time running), busy time (time not waiting) and activity (time.... I forgot, but the tooltips of WarpStat are very handy :-)

I also noticed that people are having a hard time to install the Sonnet card. (The few people having one). I actually got a copy from a Workbench of someone and my Sonnet refuses to work with that system disk. Not sure what the problem is yet... Seems like the set P96 screen modes are messing with the system. Have to look further into it.

Next post will be probably about all the pitfalls of installation :-)

Sunday, September 4, 2016

Blue in the face!

As said in the previous post, the last update made it possible for more demos to run. Here's one from that OTHER ppc solution back in the days: PowerUP from Phase 5.

The demo called Glare is from the widely known PPC demo group Mad Wizards. The video doesn't handle lighting perfectly (some of it is overexposed for example), but it is the thought that counts :-)


Tuesday, August 23, 2016

Buggy first try at PPC assembly....

While doing the ReWarp project and testing out all kinds of demos (the hardest things to get going IMHO, they break system conformity quiet often), I decided to test some of the demos also with the sonnet.library. A hard crash with the first demo (bus error) and a DSI error with the other was the result

After debugging I found some serious bugs in the oldest code of the sonnet.library. The very first functions implemented were GetInfo, Alloc/FreeVecPPC and the TagItem functions (NextTagItemPPC etc.). I hadn't looked at this part of the code in almost 1.5 years. It were my first real tries at PPC assembly.

Anyway, that fixed the bus error problem.

The DSI resulted from the demos allocating memory for the PPC using Run68K and not the native PPC memory allocating functions. After a fix to that I had some fun watching demos:

MadWizards - Till I Feel You:

MadWizards - Third Eye Conqueror:

Some gfx bugs in some scenes, but overall it looked good! I hope to publish a video soon!

Thursday, July 7, 2016

Trying some games with ReWarp

When deleting hyperionvideo.library (no movies...alas) and with using the latest ReWarp library you can actually play Shogo MAD and Freespace (sort of...). At least it seems to be a lot more stable than with the old powerpc.library. No crashes while playing. There's one at the start of Shogo which isn't in the old library. I have to track that one down.

Starting up Shogo through the shell as the start GUI crashes (with both ReWarp and old powerpc lib):

The loading screen if you are fast enough. With no movies it goes by quickly:

The in-game menu. Warp3D renderer also works, but the game becomes very dark and unplayable. Maybe there is a gamma option somewhere. Also some glitches in the 3D with hardware acceleration enabled:

Start of the game using the software renderer:

Second level:

Bit further in the second level. Sometimes, NPC models seem to be missing:

Let's look at FreeSpace. Here the launcher works (with the wizard.library from OS4Depot). Don't forget to activate the Warp3D patch when playing. This game is actually playable now:

Works with all sounds enabled:

The tech room with the various models:

Flying around in your ship.. I rather have a blue HUD :-)

As a bonus here's a screenshot of Heretic II demo which also works:


Wednesday, July 6, 2016

Up and running again!

I finally got around to check what happened to the Sam440 computer and opened up the PSU to at least check the fuse. Seeing the light show I had it probably was not something a fuse could have handled. And indeed it looked very much beyond repair:

I cannibalized the PSU of my AmigaOneXE system and voila:

You can imagine I cheered when the computer came back on :-) And now back to work.

Monday, June 27, 2016

Thunder and lightning...

Just a quick note to say that after returning from my vacation I had some nice fireworks when I put the power cord back into the wall socket of one of my power extensions. I pulled all cords before going on vacation. Both the wall socket and the power extension box were putting up a nice show for a second with loads of sparkles. Then came the nice smell of burned plastic.

Multiple equipment was connected to the box; a laser printer, 2 monitors, 1 PC and 1 SAM 440. Everything still seems to work....except the SAM 440. I hope it is only the PSU which has fried; I'm still waiting for a replacement to check that out.

First time I saw sparks flying at both ends of a cord (wall socket and extension box), don't know what happened :-(

Monday, May 23, 2016

Some more games! (ReWarp)

Quake2 WarpOS running at 800x600:

WipeOut2097 running. It has black boxes for shadows. Maybe some Warp3D setting:

At this stage, it has become apparent that 2 things can hamper your experience regarding ReWarp:

Stack. If you encounter a DSI it is most likely stack related. WarpOS programs seem to need a lot.
Warp3D: I recommend Wazp3D to check if it runs in software and patchWarp3D from Aminet if your Amiga freezes (with no GR).

The original warposemu has documentation stating what works and what doesn't. Next time we'll go through the 'does-not-work' list.


Sunday, May 22, 2016

WarpOS demos running on the Sam440 under OS4.1

Here's an example of a demo which will not run under the old wrapper on the Sam440.

Sadly the screen was a bit tilted so it's a bit dark, but that's filming an LCD screen for ya....

In the mean time, more and more software is starting to run. WipeOut still lacks sound, but I'm looking into that.


Saturday, May 21, 2016

Slow progress...

Progress on the ReWarp project has been slow but steady.

Most of the functions are in with only a few important ones missing (like WaitTime which is used by WipeOut). Also no FPU alignment exception code has been added. Last night, the code for CreateTaskPPC was added and the last of the tools from WarpOS (Multitasking) now finally worked.

So how about games? In the previous posting we had a movie of a Sam440 running QuakeWOS. Warp3D games crashed or gave strange output. They worked on wazp3d, but very slow.

Then (again)  thanks to Alain Thellier I was pointed to a patch program on Aminet ( which solved a bunch of problems.

So here is glQuakeWOS running on 800x600 on a Sam440 666MHz with a Radeon 9200:

This is a good first step regarding Warp3D games. Mileage will vary depending on the video card used.

Tomorrow a posting regarding some stuff that didn't work with the old library but is now working with ReWarp. Until then!

Saturday, May 14, 2016

And now for something completely differemt...

Or is it more of the same? Anyway, I've been keeping myself busy with the re-implementation of the WarpOS emulation for AmigaOS4.

The last version of the original implementation is from 2009 and does not support (directly) the newer machines like X1000 and Sam460. Which means that popular games WarpOS games like WipeOut2097 can not be played under OS4.1FE.

During the Neuss show, Timothy de Groote from Hyperion had asked me, with my experience with WarpOS, if I could have a look at it. At the time, the sonnet library was still missing key features and I told him that I needed to implement those first. With the Aminet release of the sonnet library, that was accomplished.

Now I don't own any of the machines on which the original did not work. I have a very old AmigaOne XE 800MHz G4 machine and an even older A4000T with CyberstormPPC, both running OS4.1. Somehow, the A4000T is faster in the reboot so I started the project there (and I needed a lot of reboots in the early start-up of the project). Not having the machines became an obstacle after a few weeks of programming so Timothy kindly provided me with a Sam440 machine which I could borrow for development.

As the chip in the Sam440 is almost the same as in the 460 (the core of the AMCC440 and AMCC460 is both PPC440), I''m confident that anything running on the Sam440 should be running on the Sam460. The X1000 has the PA6T chip which is very much compatible with the older (G2-G3-G4-G5) types of PowerPC so anything running on the AmigaOne XE and my A4000 should also be running on the X1000.

The project is still in the early stages, but here's a move of running Quake on the Sam440:

Only 15% of the total functions of WarpOS have been implemented, but these are the most used/important ones so a lot of stuff should already work. Warp3D is a bit problematic as there seem to be a bit of incompatibilities between V4 and V5 of Warp3D. I have to look into that in the future.

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: 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 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.

Sunday, January 17, 2016

More Fun With 3D

The past few weeks have been mostly involving bug fixing, optimizing and other boring stuff. The coming weeks will probably see more of that, as the library is far from bug free.

 But to fill the void here's a movie. The sound has been turned off. Also, my phone stopped recording during the last bit as its memory was full. So I guess that's for another movie.

Have fun :-)