Heaven/TQA Posted November 3, 2018 Share Posted November 3, 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 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: desiron_st_niccc_cart_vbxe.zip 21 Quote Link to comment Share on other sites More sharing options...
Heaven/TQA Posted November 3, 2018 Author Share Posted November 3, 2018 Btw Avery... the timing differs in Altirra vs real vbxe. so good Test case. 2 Quote Link to comment Share on other sites More sharing options...
+Nezgar Posted November 3, 2018 Share Posted November 3, 2018 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? Quote Link to comment Share on other sites More sharing options...
Heaven/TQA Posted November 3, 2018 Author Share Posted November 3, 2018 Its faster than ST on a 1,77 MHz 6502. 2 Quote Link to comment Share on other sites More sharing options...
Mathy Posted November 4, 2018 Share Posted November 4, 2018 (edited) Hello Karolj Why $d6xx? $d6xx is used/reserved for the PBI. Sincerely Mathy Edited November 4, 2018 by Mathy Quote Link to comment Share on other sites More sharing options...
Heaven/TQA Posted November 4, 2018 Author Share Posted November 4, 2018 Mathy what is honestly standard? Mine is d6xx? And compo machine, too? Will prepare a NTSC and d7xx one. 2 Quote Link to comment Share on other sites More sharing options...
Rybags Posted November 4, 2018 Share Posted November 4, 2018 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?" Quote Link to comment Share on other sites More sharing options...
solo/ng Posted November 4, 2018 Share Posted November 4, 2018 it was fcking awesome to watch it at the party.like really. thats the stuff! Quote Link to comment Share on other sites More sharing options...
Heaven/TQA Posted November 4, 2018 Author Share Posted November 4, 2018 Thx Solo... Quote Link to comment Share on other sites More sharing options...
Heaven/TQA Posted November 4, 2018 Author Share Posted November 4, 2018 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 . Quote Link to comment Share on other sites More sharing options...
ggn Posted November 4, 2018 Share Posted November 4, 2018 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! 3 Quote Link to comment Share on other sites More sharing options...
Heaven/TQA Posted November 4, 2018 Author Share Posted November 4, 2018 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? 2 Quote Link to comment Share on other sites More sharing options...
Rybags Posted November 4, 2018 Share Posted November 4, 2018 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. 1 Quote Link to comment Share on other sites More sharing options...
Heaven/TQA Posted November 4, 2018 Author Share Posted November 4, 2018 (edited) 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 November 4, 2018 by Heaven/TQA Quote Link to comment Share on other sites More sharing options...
Heaven/TQA Posted November 4, 2018 Author Share Posted November 4, 2018 (edited) But what about following idea... dedicate 128k dx/dv table for 16bit results? Edited November 4, 2018 by Heaven/TQA Quote Link to comment Share on other sites More sharing options...
Rybags Posted November 4, 2018 Share Posted November 4, 2018 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. Quote Link to comment Share on other sites More sharing options...
Heaven/TQA Posted November 4, 2018 Author Share Posted November 4, 2018 Carry table is on my list, too. Quote Link to comment Share on other sites More sharing options...
Wrathchild Posted November 4, 2018 Share Posted November 4, 2018 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 10 Quote Link to comment Share on other sites More sharing options...
Mathy Posted November 4, 2018 Share Posted November 4, 2018 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 Quote Link to comment Share on other sites More sharing options...
Cyprian Posted November 5, 2018 Share Posted November 5, 2018 (edited) 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 November 5, 2018 by Cyprian_K Quote Link to comment Share on other sites More sharing options...
Heaven/TQA Posted November 5, 2018 Author Share Posted November 5, 2018 Maybe someone will do it Quote Link to comment Share on other sites More sharing options...
Cyprian Posted November 5, 2018 Share Posted November 5, 2018 do you mean mr. Napisz Se? Quote Link to comment Share on other sites More sharing options...
+JAC! Posted January 8, 2019 Share Posted January 8, 2019 As part of the preparation of the SillyPack 2k18 ( which usually gets totally out of my control once I try and start fixing other people's demos :-) , I have collaborated with Heaven to create a final version for the VBXE. The original version of the demo was a cartridge-only release with VBXE fixed at $d600. I have reworked that version to include automatic detection of the VBXE board and base address ($d600 or $d700). For those who do not have cartridges, but 1MB or larger PORTB based memory expansions, I have not also created a DOS compatible XEX version. Additional fixes included: - OPTION disables the cartridge int he ROM/CAR version - No crash anymore when pressing keys while the demo is running, Before I put this officially out in the wild, I'd be very happy to receive feedback from testers who can test the currently build on their machines. Here's the temporary download which contains all 4 versions (ROM/CAR/XEX/ATR) and a readme. https://www.wudsn.com/tmp/heaven/st-niccc.zip - Peter/JAC! 2 Quote Link to comment Share on other sites More sharing options...
Mclaneinc Posted January 8, 2019 Share Posted January 8, 2019 That Atari version just makes me think of Stun Runner working like a dream on the 8 bit... 1 Quote Link to comment Share on other sites More sharing options...
Heaven/TQA Posted January 9, 2019 Author Share Posted January 9, 2019 Thanks Peter for ironing out my bugs . I guess it took longer me finding the original source on my hdd... . And we should release it on tape with audio while loading.... reminiscing the long loading times. 1 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.