Scene.org Demoscene News Service

NeoN 3D Grafix 1.3 released

[ Atariscne.org - News ] NeoN 3D Grafix 1.3 released

Ready for another trip down the history lane? ;)

  Back in 2013, Uros Vidovic (I'm sure that he is going to kill me for this link ;)) alias Vido contacted me with an interesting request. He managed to acquire NeoN 3D source code from Ole Dittmann with the intention of making a FireBee port (Vido is one of the most active FireBee users/supporters these days) and asked me whether I wouldn't be able to "recompile" them for the FireBee.   Well, I agreed not to release the source code publicly (Ole's explicit request) with a vague intention to look at it one day, perhaps using AHCC (it was a Pure C project).   During the following years (2013 - 2020) I touched base with Vido every now and then, frankly just making excuses. ;) Someone else got the code, too, even managed to compile something with AHCC but it didn't work even in Hatari and shortly disappeared afterwards.   In September I finally looked at my TODO folder again and saw the poor guy sitting there, lost and forgotten by everyone. I have quickly realised that the AHCC path is a dead end: the compiler has serious bugs and unfortunately Henk is no longer with us to fix them.   So back to Pure C, that worked but made compilation much harder. So after reaching the point that I could reconstruct the executables nearly 1:1 (the versions didn't match with the released ones completely) I made a bold move, switching to m68k-atari-mintelf-gcc with -mshort and libcmini. That worked surprisingly well and from then on I could iterate quickly and automate most of the boring tasks.   In the following month I managed to fix many existing and new bugs (thanks to Vido and Swe for testing!), it even launched my short-lived path of bugfixing many FireTOS bugs on the FireBee as a byproduct.   NeoN Grafix v1.3 running on a Falcon 060 with SuperVidel (1920x1080 truecolour) in FreeMiNT with memory protection enabled     And here we are! So what's new:
  • Runs in 16 and 32 bit colour and on 256-colour chunky screens, not only in 256-colour bitplanes. One binary detects the screen format at startup.
  • Works on graphics cards (SuperVidel, NOVA, anything with EdDI), with correct colours whatever the pixel layout, including byte-swapped 16 bit.
  • On 16 and 32 bit screens, renders are shown at the desktop's resolution. Only a Falcon in 256 colours still switches to 320x240.
  • Runs under MiNT with XaAES or N.AES.
  • New native FireBee version.
  • No dongle and no installer.
Fixes:
  • Lines no longer come out in the wrong colour on a 68040 or 68060. The original line routine rewrote its own code.
  • No more noise in the object editor's views on machines with Fast RAM. The retail binaries have the TT-RAM flags set, so the second screen page could land in Fast RAM.
  • On a Falcon with an external video clock, the picture is no longer shifted and miscoloured after a true colour render. The original only saved part of the Videl state.
  • genlock: a pure key colour now matches, and 16 bit TGA files are read correctly.
💾 Download 68020+ version (requires FPU) 💾 Download FireBee version   When it comes to source code, it's a bit complicated. Ole has unfortunately passed away in 2018 so not only he never saw the outcome of this agreement but also can't give us his blessing to release source code. So for now it is a private Github repo to which I'm happy to give access (after consultation with Vido) to anyone seriously wishing to continue its development.   In the meantime, if you find a bug, you can let me know and maybe I'll fix it in the next 13 years (just kidding, it's much easier to debug/fix it these days).