Showing posts with label Quake. Show all posts
Showing posts with label Quake. Show all posts

Monday, August 13, 2018

New Amiga driver for PCI network card....

Well, sort of. We are talking about the BigFoot Killer NIC here with a dedicated NPU for helping out with the network traffic to reduce latency and ping. It was advertised as giving you an edge to kill virtual people faster.

So why for the Amiga then? Well, the Network Processing Unit, or short NPU, is actually an MPC8343E PowerPC CPU running at 400MHz. The card also had 64MB DDR RAM on-board.

Here's a picture of the card with mega-awesomeness-superduper heat sink:


That NPU can be used to run WarpOS software when plugged into the Mediator:


This is a cheap alternative to the more expensive PPC accelerator cards. It only has 64MB on-board so don't expect running Quake III on it. Currently people are looking whether or not the on-board RAM can be upgraded by the means of modding.

Have fun!

Monday, December 11, 2017

Quake 3 on the Sonnet

Lately, there has been a resurgence of porting of games to WarpOS and Quake 3 is one of them. This port was done by CowCat. Still in alpha, but it definitely has potential.

Sadly, this phone has a worse camera than my previous one. Also, playing with the keyboard which was behind the camera was a tad difficult, hence the weird walking sometimes :-)


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 (http://aminet.net/driver/video/PatchWarp3D.lha) 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.





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

Sunday, December 27, 2015

3D In Motion!

I had some time off between cooking for the family x-mas dinner and had a look at Warp3D. I had looked at it before and back then it just crashed the system.

This time around I noticed that the ramlib_ppc task was the culprit. So I googled around and found that it was a common problem within WarpOS/Warp3D. The stack is just too small.

So I upped the stack size for ramlib_ppc and installed a 68k patch for ramlib itself and now the sonnet library hanged on a DSI when opening Warp3DPPC.library. Debugging showed that this was because Warp3DPPC.library was loaded into FAST memory. Memory the PPC on the sonnet card cannot reach.

So the InitSonnet program was adjusted to pre-load all the Warp3D libraries to the memory of the Sonnet and below is the result (e.g. 75 FPS on the Warp3D gears program).



On a side note: I had ordered multiple Sonnet cards from the US for $25 USD dollar a piece on http://resale.headgap.com/. Too bad they now removed it from their web shop without replying to me. I guess they didn't had it in stock anyway...

Happy New Year :-)

Friday, December 25, 2015

Picture(s) of the Day: Sonnet goes 3D

The pictures aren't very good, but hey... :-)

Here's the Sonnet running gearsppc.exe from the warp3d demo folder.


Here's a screenshot with my camera from a timedemo of 640x480


And here's 800x600. These are exactly the same results as the highest FPS on http://www.amigaspeed.de.vu/ indicating maybe there is a limit? 1024x768 sadly crashed.


Here a very bad picture of the test version of WipeOut. Couldn't get full screen... Something about not having the right modes.


Happy Holidays!

Friday, December 4, 2015

Quake II

While doing my weekly round on the Amiga forums, the following thread on the English Amiga Board caught my eye:

http://eab.abime.net/showthread.php?t=74679&highlight=quake2

It's about optimizing and playing with the open source part of the Quake 2 engine.  Somewhere halfway in the thread (and still in 2014, I think) there are WarpOS compiled binaries which begged to be tested on the Sonnet.

Of course, as far as I understand the comments made in the thread, the code is far from optimized. And that it wouldn't be as fast as with Warp3D (around 26 FPS at 640x480 on a 233 MHz 604e - with Voodoo3 - see http://www.alinea-computer.de/amigaspeed/q***e2.html)

Here is a video with the Sonnet running Quake 2 on a Radeon without Warp3D:



As it can be briefly seen, a speed of 14 FPS is reached with 640x480 using the software renderer. Which is about 4 times slower per MHz as the 604e with Warp3D. So I guess the next step is to get Warp3D going for the Sonnet. That way other games like WipeOut will become available for the Sonnet too (and along with a nice speed increase on some other games).

As a side note. You can see that the A3000UX is sporting 400+ MB of memory. This is actually 64 FAST ram, around 200MB Video RAM and 128MB Sonnet RAM. The latter two being available to the PPC at (almost) full speed. This is about as much as we can cram reliable in the 512MB Zorro-III window of the mediator without further MMU tricks. With a Voodoo this would be 16MB Video RAM (max) and 256MB Sonnet RAM (max) as the start of the Sonnet memory must be on a boundary of a power of 2 so either 512MB which cannot be done with the current code (it clashes with the video ram) or 256MB.

Until next time.

Wednesday, November 11, 2015

Getting closer to Warp Speed!

The past few months I've told people again and again that the context-switch (the switch between both CPUs) was a major pain in getting to the full speed of the 500MHz MPC750 processor. With the time anything being between 12-20ms. This is a very long time if you take into account that the CyberStormPPC performs a context-switch within 0.5ms (so 25-40 times faster).

With the exchange of the Voodoo3 card with a Radeon card I even noticed the context-switch time going up to 90ms. At first it was a real bummer, then it dawned upon me that something was not right.

Further investigation revealed that the Sonnet was not connected to any interrupt line properly all this time. The interrupt being looked at was actually being triggered by the voodoo card. The Radeon card lacked this interrupt resulting in the longer context-switch time. (Technically, the 12-20ms while using the Voodoo was actually some kind of VBLANK of the Voodoo card, dependent on the actual refresh rate of the screen).

So the code was rewritten to let the pci.library set up the interrupt (no, I don't have the Elbox SDK...) and the following was the result:


This is almost exactly like the context-switch time as found on the CyberstormPPC cards. But what does this mean in real-life performance? Remember Quake doing 28FPS in the previous video at 320x240x8 (with the Voodoo3)? Well...here is a screenshot while using the new code (and the Radeon):


This is much closer to the expected performance. For example, Mediator plus Voodoo3 plus CyberstormPPC 233MHz does 30 FPS according to http://www.amigaspeed.de.vu/ This is all still using software renderers, by the way.

Next up is to try to get it all working in an A1200TX mediator. Stay tuned!

Wednesday, November 4, 2015

Quake revisited

The goal of this project was just to get the sonnet running for doing the heavy lifting next to the 68K. So datatype work, decrunchers, that kind of stuff...

Don't know what went wrong....

Anyway, last time I posted a Quake movie there was no sound and the direct access to the framebuffer (turbogfx option) was not working so it was running using the WPA8 routine from the cybergfx library.

That (and the camera shaking) has been fixed. I even threw in a neat icon to start the Sonnet from the Workbench. So let's look to a timedemo then. Keep in mind that it is still a software renderer, and that the card is crippled due to slow context-switches between the 2 CPUs. For a comparison, see http://www.amigaspeed.de.vu/q***e.html


Have fun!

Sunday, November 1, 2015

More Mandelbrot...

Nah... :-)



This weekend I've been mostly busy to write some experimental routines to capture and handle Amiga hardware access by the PPC. This is the result for now

At the moment there is no sound. This Amiga 3000 does not have a sound card and the sonnet library at the moment does not handle CHIP memory correct (for Paula).

Also it now uses the WritePixelArray8 (WPA8) routine as direct frame buffer manipulations only result in a black screen with occasional flashing. That mode should be a lot faster than the WPA8 method, but I  could't wait to show you a working game.