Heaven/TQA Posted August 28, 2021 Share Posted August 28, 2021 I finally released our little contribution to Silly Venture. Music by maze^desire (100 hz player) code by me data file by Leonard^Oxygene (Atari ST format) it is an AtariMax 8mbit Cart I spend week to get the LZZ16 data stream into the production but I could not fix the issue with VBXE vs banking in music data so I took the classic RMT player... some of you might realise the LZZ16 player at the Competition took 1:04 to render the flight while the RMT version 1:07... hacked together source code of the VBXE renderer is included and data file if you want to play around. https://www.youtube.com/watch?v=7K19hstUbLU desire_oxygene_nostalgic_trip-Atarimax.zip 11 4 Quote Link to comment Share on other sites More sharing options...
Rybags Posted August 28, 2021 Share Posted August 28, 2021 Looks good - so I assume here it's doing a screen clear then calculating and blitting a bunch of triangles per frame? Quote Link to comment Share on other sites More sharing options...
Heaven/TQA Posted August 28, 2021 Author Share Posted August 28, 2021 1 hour ago, Rybags said: Looks good - so I assume here it's doing a screen clear then calculating and blitting a bunch of triangles per frame? Well… most is done on the blitter… the 6502 does the music and parses the stream data with encoded polygons with up to 15 vertices. Scanedge and span length calculated with the blitter ( eor ff adc 1) and fed into next edge list and spans blittet into one of the 3 (or 4?) screen buffers. I am sure I am using triple or even quadruple buffering. bottle neck is the slow 6502. more info on Arsantica.com Quote Link to comment Share on other sites More sharing options...
emkay Posted August 28, 2021 Share Posted August 28, 2021 Could you ask maze , if the RMT could be released. I find the musical style very promising. Single speed playback is still the challenge. Quote Link to comment Share on other sites More sharing options...
Heaven/TQA Posted August 28, 2021 Author Share Posted August 28, 2021 5 minutes ago, emkay said: Could you ask maze , if the RMT could be released. I find the musical style very promising. Single speed playback is still the challenge. Will upload in a minute Quote Link to comment Share on other sites More sharing options...
Heaven/TQA Posted August 28, 2021 Author Share Posted August 28, 2021 6 minutes ago, emkay said: Could you ask maze , if the RMT could be released. I find the musical style very promising. Single speed playback is still the challenge. It’s the double speed which makes the drums etc “punchy” Quote Link to comment Share on other sites More sharing options...
Heaven/TQA Posted August 28, 2021 Author Share Posted August 28, 2021 (edited) take care with the credits Silly Venture v8 2021 Demo WIP.rmt Edited August 28, 2021 by Heaven/TQA 3 Quote Link to comment Share on other sites More sharing options...
emkay Posted August 28, 2021 Share Posted August 28, 2021 Thanks, a lot. Quote Link to comment Share on other sites More sharing options...
emkay Posted August 28, 2021 Share Posted August 28, 2021 OK. Here is a quick result. Using LZSS and VinsCool's notetable correction, and my style of using PWM, at 50hz.... I'd like to read maze's response. SVWIP.obxSVWIP.rmt 3 Quote Link to comment Share on other sites More sharing options...
Heaven/TQA Posted August 28, 2021 Author Share Posted August 28, 2021 Hardly to hear any difference... So 50hz? Quote Link to comment Share on other sites More sharing options...
emkay Posted August 28, 2021 Share Posted August 28, 2021 Just now, Heaven/TQA said: Hardly to hear any difference... So 50hz? Yes, and the Synth is based on hardware sweeps. Quote Link to comment Share on other sites More sharing options...
emkay Posted August 28, 2021 Share Posted August 28, 2021 Or in other words: The better the programming, the less CPU has to be used 1 Quote Link to comment Share on other sites More sharing options...
rensoup Posted August 28, 2021 Share Posted August 28, 2021 12 hours ago, Heaven/TQA said: I spend week to get the LZZ16 data stream into the production but I could not fix the issue with VBXE vs banking in music data so I took the classic RMT player ouch, that should have been painless in theory... did you get it to work without VBXE ? Quote Link to comment Share on other sites More sharing options...
Heaven/TQA Posted August 29, 2021 Author Share Posted August 29, 2021 8 hours ago, rensoup said: ouch, that should have been painless in theory... did you get it to work without VBXE ? it is not the player itself but the memory layout I have choosen... so the song data was reaching into the $4000-$7fff window of the VBXE... and I got the span buffers for the blitter resisting at $7e00-$7fff there and when calling the player via DLI i banked out the VBXE memory window which the blitter doesnt liked as I had most rendering task dedicated to the blitter itself. so they interfer while blitter was running I was banking out. I might have a solution now. I am using btw. the PLAYLZZ16 on github but that's the basic player which has noise at the pokey init e.g.... but haven't looked far into the other players. just for the records... classic RMT renders in 1:07 seconds 1 round of the flight while the LZZ16 version 1:04 ;-) Quote Link to comment Share on other sites More sharing options...
emkay Posted August 29, 2021 Share Posted August 29, 2021 1 hour ago, Heaven/TQA said: just for the records... classic RMT renders in 1:07 seconds 1 round of the flight while the LZZ16 version 1:04 The known problem of irregular happenings in the RMT Player that causes instabilities. Quote Link to comment Share on other sites More sharing options...
Dinadan67 Posted August 29, 2021 Share Posted August 29, 2021 I tried this today on real hardware, incredible stuff! 3 Quote Link to comment Share on other sites More sharing options...
Heaven/TQA Posted August 29, 2021 Author Share Posted August 29, 2021 9 minutes ago, Dinadan67 said: I tried this today on real hardware, incredible stuff! Great ?? Quote Link to comment Share on other sites More sharing options...
+Stephen Posted August 29, 2021 Share Posted August 29, 2021 On 8/28/2021 at 6:53 AM, Heaven/TQA said: Well… most is done on the blitter… the 6502 does the music and parses the stream data with encoded polygons with up to 15 vertices. Scanedge and span length calculated with the blitter ( eor ff adc 1) and fed into next edge list and spans blittet into one of the 3 (or 4?) screen buffers. I am sure I am using triple or even quadruple buffering. bottle neck is the slow 6502. more info on Arsantica.com How do you use the blitter to do calculations? I have heard it can be used for fast line drawing as well. Do you set up a blit list and have it render to a buffer the same as you would to have it draw3 to the screen? Quote Link to comment Share on other sites More sharing options...
rensoup Posted August 29, 2021 Share Posted August 29, 2021 15 hours ago, Heaven/TQA said: just for the records... classic RMT renders in 1:07 seconds 1 round of the flight while the LZZ16 version 1:04 ;-) My version of the player is about 30% faster so that may save you an extra second or so ? If memory is a problem you could use the 50hz version and get even more speed back. If you want to stick to 100hz, you could split your tune (if it's repetitive). Pattern playback is a feature that's missing from RMT2LZSS but you could manually emulate it by splitting the tune into subtunes and use the "output all subtunes" option. Then in your code, you just play the subtunes back to back in the order you want... big potential memory savings! (Thanks to @VinsCool for the idea!) 1 Quote Link to comment Share on other sites More sharing options...
Aking Posted August 29, 2021 Share Posted August 29, 2021 .car for avg cart ? Quote Link to comment Share on other sites More sharing options...
tmp Posted August 29, 2021 Share Posted August 29, 2021 (edited) you can try this one but it's untested since i don't own vbxe (rom doesn't seem to be compatible with both old and new style atarimax so hopefully i'm emulating the right one) oxygene_old_blitter-Atarimax.car EDIT: or try this one oxygene_old_blitter-Atarimax_new.car Edited August 29, 2021 by tmp 1 1 Quote Link to comment Share on other sites More sharing options...
+DrVenkman Posted August 30, 2021 Share Posted August 30, 2021 Since we're requesting versions, any chance we can get an XEX to load from FujiNet or CF card? The only machine I have with a VBXE in it is a PAL 1088XLD with no externally-accessible cartridge port. Quote Link to comment Share on other sites More sharing options...
Heaven/TQA Posted August 30, 2021 Author Share Posted August 30, 2021 9 hours ago, Stephen said: How do you use the blitter to do calculations? I have heard it can be used for fast line drawing as well. Do you set up a blit list and have it render to a buffer the same as you would to have it draw3 to the screen? well... CPU calcs slope and the DDA of edge scan is done via Blitter (having a 64kb 8.8 fixed point lookup table or so called count table). Calculating the span length (x2-x1) of a span is done with 3 pass blit... EOR #$ff +1 to make it negative and then ADD pass to do a SUB. unfortunatly not more is possible. Amiga Blitter can handle more due to several DMA channels and 256 min terms. so drawing a polygon is simple a blit of the left edge into a blitlist as starting points while the span lengths were blitted into the "destination" (X2) coordination. and so forth. with some clever thinking (and me not clever enough) you can handle more with the VBXE than just "plot sprites". 1 Quote Link to comment Share on other sites More sharing options...
Heaven/TQA Posted August 30, 2021 Author Share Posted August 30, 2021 5 hours ago, DrVenkman said: Since we're requesting versions, any chance we can get an XEX to load from FujiNet or CF card? The only machine I have with a VBXE in it is a PAL 1088XLD with no externally-accessible cartridge port. no. it was done for Atarimax8mbit cart for the party only. I am afraid. so to say. fire and forget. Quote Link to comment Share on other sites More sharing options...
Rybags Posted August 30, 2021 Share Posted August 30, 2021 In theory simple textures should be possible as well without too much extra overhead. 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.