Jump to content

Photo

ST-NICCC 2000 "demake" from ST to Atari 8bit


21 replies to this topic

#1 Heaven/TQA OFFLINE  

Heaven/TQA

    Quadrunner

  • 10,986 posts
  • Location:Baden-Württemberg, Germany

Posted Sat Nov 3, 2018 2:39 PM

Compo: Atari 800 VBXE 
Platform: Atari Ultimate stereo VBXE $d6xx
Fileformat: Atarimax 8mbit flashcart format!
 
(Please use Sound Mixer as Song is played back in MONO!)
 
Desire & Oxyron present a new compo at Silly Venture 2018
 
Idea: Axis & Heaven
Code of Atari 8bit VBXE Version: Heaven
Music: X-Ray pimped by Miker 
Vector data by Atari ST Crew Oxygene
 
Hi Folks!
 
The idea came up to held an interesting scene compo when Axis reengineered 
the data file format of the famous Atari ST demo "STNICCC 2000" by Oxygene
 
Aim is to port that demo on as many platforms as possible. The Atari 
8bit version parses the original Atari ST data file (640kb) and renders the
polyon stream as fast as it can. The time counter shows the actual time
spent for complete rendering and stops when it restarts the flight.
 
More infos on the file format and the data file itself is available at
www.arsantica.com
 
Heaven, 1st November 2018
 
Compo: Atari 800 VBXE 
Platform: Atari Ultimate stereo VBXE $d6xx
Fileformat: Atarimax 8mbit flashcart format!
 
(Please use Sound Mixer as Song is played back in MONO!)
 
Desire & Oxyron present a new compo at Silly Venture 2018
 
Idea: Axis & Heaven
Code of Atari 8bit VBXE Version: Heaven
Music: X-Ray pimped by Miker 
Vector data by Atari ST Crew Oxygene
 
Hi Folks!
 
The idea came up to held an interesting scene compo when Axis reengineered 
the data file format of the famous Atari ST demo "STNICCC 2000" by Oxygene
 
Aim is to port that demo on as many platforms as possible. The Atari 
8bit version parses the original Atari ST data file (640kb) and renders the
polyon stream as fast as it can. The time counter shows the actual time
spent for complete rendering and stops when it restarts the flight.
 
More infos on the file format and the data file itself is available at
www.arsantica.com
 
Heaven, 1st November 2018
 
 
Atari ST:
 
 
Atari 800 with VBXE and 8mbit AtariMax flashcard:
 
 
 
 
 
 
 

 

Attached Files



#2 Heaven/TQA OFFLINE  

Heaven/TQA

    Quadrunner

  • Topic Starter
  • 10,986 posts
  • Location:Baden-Württemberg, Germany

Posted Sat Nov 3, 2018 2:51 PM

Btw Avery... the timing differs in Altirra vs real vbxe. ;) so good Test case.

#3 Nezgar OFFLINE  

Nezgar

    Stargunner

  • 1,262 posts
  • Location:Regina SK Canada

Posted Sat Nov 3, 2018 3:45 PM

Wow, I'd say it's faster than the ST!

is the CPU still a stock unacellerated 6502?

Is the VBXE CPU being used to accellerate calculations?

#4 Heaven/TQA OFFLINE  

Heaven/TQA

    Quadrunner

  • Topic Starter
  • 10,986 posts
  • Location:Baden-Württemberg, Germany

Posted Sat Nov 3, 2018 4:01 PM

Its faster than ST on a 1,77 MHz 6502.

#5 Mathy ONLINE  

Mathy

    River Patroller

  • 2,755 posts
  • Location:Heerlen, NL

Posted Sat Nov 3, 2018 6:11 PM

Hello Karolj

 

Why $d6xx?  $d6xx is used/reserved for the PBI.

 

Sincerely

 

Mathy


Edited by Mathy, Sat Nov 3, 2018 6:11 PM.


#6 Heaven/TQA OFFLINE  

Heaven/TQA

    Quadrunner

  • Topic Starter
  • 10,986 posts
  • Location:Baden-Württemberg, Germany

Posted Sat Nov 3, 2018 9:07 PM

Mathy what is honestly standard? Mine is d6xx? And compo machine, too? Will prepare a NTSC and d7xx one.

#7 Rybags OFFLINE  

Rybags

    Quadrunner

  • 15,850 posts
  • Location:Australia

Posted Sat Nov 3, 2018 9:36 PM

Nice.  What was that other 3D space flight demo that was redone on an accelerated A8 CPU?  It reminds me of that.

 

I'm curious though as to how the rendering is done - my guess is just lots of horizontal line blits?

 

It's work like this that says to me "Where's the Carrier Command conversion?"



#8 solo/ng OFFLINE  

solo/ng

    Star Raider

  • 60 posts

Posted Sat Nov 3, 2018 10:16 PM

it was fcking awesome to watch it at the party.like really. thats the stuff!



#9 Heaven/TQA OFFLINE  

Heaven/TQA

    Quadrunner

  • Topic Starter
  • 10,986 posts
  • Location:Baden-Württemberg, Germany

Posted Sun Nov 4, 2018 12:40 AM

Thx Solo...

#10 Heaven/TQA OFFLINE  

Heaven/TQA

    Quadrunner

  • Topic Starter
  • 10,986 posts
  • Location:Baden-Württemberg, Germany

Posted Sun Nov 4, 2018 12:47 AM

Nice.  What was that other 3D space flight demo that was redone on an accelerated A8 CPU?  It reminds me of that.
 
I'm curious though as to how the rendering is done - my guess is just lots of horizontal line blits?
 
It's work like this that says to me "Where's the Carrier Command conversion?"


Actually initial data was rendered in Maya with a custom
Exporter with additional converter by Leonard to provide a clipped polygon stream for the ST version in 64k chunks.

The data file is based on bytes and 256x200 screen resolution. Has 2 modes, so called index and non index mode.

In index mode it loads all frame vertices into xy arrays and then renders one frame using those cached polygons. In non-indexed frames it just dumbs those polygons on screen.

In meantime additional palette entries per frame can be set so at starts eg it loads 15 rgb palette entries of the ST and when needed colors are exchanged.

I took exactly that ST data into Atari8max flash card (81 banks) and parse that data and do the same like
The ST version. Decide on command bytes what to do.

Why it is faster? Can not tell too much details at it is a compo with other platforms but the VBXE is used to calculate the polygon line slopes and using my flat shader to draw a polygon stripe. Compared to my 3D engine its not Tris but here up to 15 vertices per polygons, and yes scanedge filler is done with vbxe, too. Dynamic blitlist from y1 to maxy per polygon :).

#11 ggn OFFLINE  

ggn

    Stargunner

  • 1,399 posts
  • Location:Athens, Greece

Posted Sun Nov 4, 2018 1:37 AM

First of all (and do keep that in mind while reading the rest of this post), great work Heaven and Axis!

Wow, I'd say it's faster than the ST!


Atari 800 with VBXE and 8mbit AtariMax flashcard


Its faster than ST on a 1,77 MHz 6502.


;)

A few facts about the STF version:

- It's playing a .mod soundtrack at 14.985kHz on the YM2149 (unless I fumbled up my calculations), this is VERY CPU intensive
- It's streaming polygon data from floppy while running the demo, also does not help on CPU usage!

Just as a test I disabled the .mod player while the demo was running - and only the player part mind you, not the mixer. The frame rate then skyrocketed :)

So IMHO the comparison was a bit apples vs oranges. Other than that, again: great work!

#12 Heaven/TQA OFFLINE  

Heaven/TQA

    Quadrunner

  • Topic Starter
  • 10,986 posts
  • Location:Baden-Württemberg, Germany

Posted Sun Nov 4, 2018 1:41 AM

Ggn thanks for the insight. Of course Leonard told me, too, that the poly drawer on ST is not maxed out of course.

;) but it was released so... up to the ST guys to beat my version ;).

How about the STE?

#13 Rybags OFFLINE  

Rybags

    Quadrunner

  • 15,850 posts
  • Location:Australia

Posted Sun Nov 4, 2018 2:21 AM

VBXE to calculate line slope ?

 

On a stock core that sounds sort of amazing to me.  I looked into possible calculating options for VBXE, I think I even started a thread about it nearly 10 years ago.

With only 8 bit maths and no carry my finding was that the options are somewhat limited.

Though of course with multiple blit passes and a bit of thinking outside the box, stuff that's thought impossible might be done.



#14 Heaven/TQA OFFLINE  

Heaven/TQA

    Quadrunner

  • Topic Starter
  • 10,986 posts
  • Location:Baden-Württemberg, Germany

Posted Sun Nov 4, 2018 3:14 AM

ok... Little bit more insight into slope calc...

More precise would be blitter filling the poly edges start values. The cpu makes the m=dx*1/dy = stepy value

Now I take a 64k count table so to say and copy that into the edge buffer. Basicly its an 8.8 table (0*256, 1*256, ...)

After polygon edges were filled in blitter calculates the span length by right edge minus left edge which is basicly

Span length = left edge + (right edge eor ff+1)

The 12bit limit of stepy is a limitation though and needs to be treated though.

So actually blitter does the 12bit add with help of that 8.8 table which holds basicly the accu ;)

Edited by Heaven/TQA, Sun Nov 4, 2018 3:17 AM.


#15 Heaven/TQA OFFLINE  

Heaven/TQA

    Quadrunner

  • Topic Starter
  • 10,986 posts
  • Location:Baden-Württemberg, Germany

Posted Sun Nov 4, 2018 5:46 AM

But what about following idea... dedicate 128k dx/dv table for 16bit results?

Edited by Heaven/TQA, Sun Nov 4, 2018 5:47 AM.


#16 Rybags OFFLINE  

Rybags

    Quadrunner

  • 15,850 posts
  • Location:Australia

Posted Sun Nov 4, 2018 6:37 AM

That came to mind minutes after I posted... yeah, lookup tables I think was discussed before, I even thought of using a huge one just to take care of the missing carry thing.

 

Re real vs Altirra - I believe in the docs there's mention of timing accuracy.  I think for VBXE blit operations, isn't it rounded to the scanline?  So you'll end up with some discrepancies there.  It's probably only ever going to be noticed in time critical stuff, or programs such as this where rendering is to be expected to exceed what can be done in a frame.



#17 Heaven/TQA OFFLINE  

Heaven/TQA

    Quadrunner

  • Topic Starter
  • 10,986 posts
  • Location:Baden-Württemberg, Germany

Posted Sun Nov 4, 2018 7:08 AM

Carry table is on my list, too.

#18 Wrathchild OFFLINE  

Wrathchild

    River Patroller

  • 2,109 posts
  • Location:Reading, UK.

Posted Sun Nov 4, 2018 7:41 AM

Taking a different approach to skin the cat... substituting the VBXE for an UNO-Cart, leaving the 800 XL a stock machine.

This is a work-in-progress, e.g. plenty of scope for optimisation and should have a tune added, but does demonstrate that recent talk of folks falling out of favour with their UNO's is premature ;)

 

Here the original ST data file is being streamed from the SD-Card which doesn't really have a performance hit.

 

 

Remember too folks - work by the likes of Heaven also uncover emulation bugs (VBXE) that were shared with Avery and fixed and hence benefits the community :) 



#19 Mathy ONLINE  

Mathy

    River Patroller

  • 2,755 posts
  • Location:Heerlen, NL

Posted Sun Nov 4, 2018 4:43 PM

Hello Karolj

 

Mathy what is honestly standard? Mine is d6xx? And compo machine, too? Will prepare a NTSC and d7xx one.

 

Not a lot, but most PBI devices use $d6xx (and $d1xx), even those that don't really follow the standard, like MIO and BlackBox.

 

Sincerely

 

Mathy



#20 Cyprian_K OFFLINE  

Cyprian_K

    Star Raider

  • 85 posts

Posted Mon Nov 5, 2018 4:45 AM

Its faster than ST on a 1,77 MHz 6502.


Really great job Heaven!
 

A few facts about the STF version:

- It's playing a .mod soundtrack at 14.985kHz on the YM2149 (unless I fumbled up my calculations), this is VERY CPU intensive
- It's streaming polygon data from floppy while running the demo, also does not help on CPU usage!

Just as a test I disabled the .mod player while the demo was running - and only the player part mind you, not the mixer. The frame rate then skyrocketed :)

So IMHO the comparison was a bit apples vs oranges. Other than that, again: great work!


Also worth to mention demo benefits from VBXE chunky mode (vs ST's bitplanes) and blitter (vs CPU in ST)


As I have no VBXE yet, would be cool to have demo working on stock graphics XL/XE, + working with Rapidus :)

Edited by Cyprian_K, Mon Nov 5, 2018 4:49 AM.


#21 Heaven/TQA OFFLINE  

Heaven/TQA

    Quadrunner

  • Topic Starter
  • 10,986 posts
  • Location:Baden-Württemberg, Germany

Posted Mon Nov 5, 2018 5:23 AM

Maybe someone will do it ;)

#22 Cyprian_K OFFLINE  

Cyprian_K

    Star Raider

  • 85 posts

Posted Mon Nov 5, 2018 7:45 AM

do you mean mr. Napisz Se? ;)




0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users