+JAC! Posted January 2, 2009 Share Posted January 2, 2009 Hi everybody, It seems that quite many of you know my Visdom and Visdom II demos. It also seems that some of you like them and like to know how I did them back in the "golden days". "Visdom I" was coded on the Atari 800 XL with ATMAS II. The idea of the demo was to port my favourite C64 intro (cracktro actually) by the "Hotline" crew to my machine because I simply loved the style and the "smooth criminal" tune. Since I never was into composing sounds and didn't know much about creating sounds I had a problem. But there was an Atari Basic listing for a tune named "Honkey Tonkey" in some printed computer mag that I bought in the super market and so I ported the replayer and the DATA statements into assembler. Maybe I'll find out the original author and send him some regards. The second part of the "Visdom I" demo was the result of a "coding battle". I already had an Amiga 500 at that time and some friends of mine, who also were coders, had started to create demos on that machine. So the group "Visdom" was an Amiga group of 5 people and I was the "one man Atari division". We had meeting every 3 ot 4 weeks where the guys showed their progress in their Amiga Demos and the latest stuff they had received from other groups. Well, and I always tried to port their achievements to the Atari XL until the next meeting. And I won this "competition" quite often and it really was fun (and beer). One day they presented the new Megademo from the "Royal Amiga Force". I was amazed by the demo and if you look at the lower left of the screenshot, you will find the waving "RAF" logo in front of the copper bars with the scroller below. And since most of the other guys came from C64, they were stunned by the large waving logo and any distortion effects with more than 4*8 pixels. So I decided to create a demo that could not be done an C64 and looked like this part of the RAF demo. The first version actually had an "RAF" logo, but I changed it (since R.A.F. is the short form of a former German terrorist group ...) as soon as I had designed my own logo in DPaint. Maybe I'll try and find that pre-version. I don't know how the demo was spread after that meeting on 04-05-91 because I didn't have any other Atari contacts at that time. Despite of this people from all over the world contacted my years later because they had somehow received that demo. That was really funny to me. "Visdom II" will be described later, I hope I can edit this post afterwards to add more history. I also found some minor bugs in the demos later and I'll release fixed versions now. Especially because I promised THW last year that I'll create a single file version of the Visdom II demo. To be honest all bugs amount to the same root cause: I only had a quite bad color TV set at that time, so some flaws were simple not visible. But todays emulators and screens are merciless in this regard and I don't want to be blamed for a dutch color scheme after all these years 1 Quote Link to comment Share on other sites More sharing options...
Heaven/TQA Posted January 2, 2009 Share Posted January 2, 2009 cool! can not wait to hear the story of the V2 demo... Quote Link to comment Share on other sites More sharing options...
+JAC! Posted January 3, 2009 Author Share Posted January 3, 2009 Hello Peter, finally arrived here... I mentioned several times your Visdom demo... ok...little bit offtopic but is the rastersplit in Visdom 2 done via PM overlays or via DLI midline changes? How did you discovered "HIP"-like mode in 1993? We discovered the "GTIA bug" 3 years later... Hi for tonight, The rastersplit in the "Wiggle" of the "Visdom 2" uses both. It is based on a self modifying kernel loop wich delays the split of $d01a with 1 cylce accuracy. Since this is too coarse to achieve full coverage and reach every single pixel, the missile 0 is used in the 5th player mode of PRIOR and quadruple width to color the missing pixels. ; Wiggle-X-Width: 8 to 64 = 57 Pixels ; ; ®_03-03-93_by_JAC!_Wiggle_works_100%. ... xtab = base ;Animated_Sine_value_table. btab = base+$100 ;Branch_offset_table. ... clc ;Convert_xpos_table_to_.. adc #48 sta mtab,x ;Missile_HPOS. lda htab,y sta btab,x ;Branch_offset ... kernel lda wcol1 ora whell sta kernel2+1 lda wcol2 ora whell sta $d019 tay clc ldx #0 kernel1 sta $d40a lda mtab,x sta $d004 kernel2 lda #$00 sta $d01a lda btab,x sta kernel3+1 kernel3 bne *+0 kernel4 nop nop nop nop nop nop nop nop nop nop nop nop sty $d01a inx bpl kernel1 rts kernel5 nop nop nop nop nop nop nop nop nop nop nop bit $00 ;3 cycles instead of 2 sty $d01a inx bpl kernel1 rts k = kernel5-kernel4 ... bragen ldx #0 ;Generate_branch_offset_tab ldy #0 bragen1 lda braxtab,x cmp x1 beq bragen3 sta x1 cmp #$ff beq bragend lda branch,x bragen2 sta htab,y iny cpy x1 bne bragen2 bragen3 inx jmp bragen1 bragend rts braxtab .byte 8,15,24,32,40,48,56,64,72,76,80,84,88,92,96 .byte 100,104,108,112,112,114,116,120,127,$ff branch .byte 12,k+13,11,k+11,10,k+10,9,k+9,8,k+8,7,k+7 .byte 6,k+6,5,k+5,4,k+4,3,k+3,2,k+2,1,k+1,0,k Discovering the GTIA bug was a side effect of trying to find the exact timing for the rastersplits. Because the GR9 pixels were hard to distinguish on my old color TV, I used GR 10 with a flashing color/luminance during the development to find the correct split and missile position (see "braxtab"). But for half of the pixels the missle position wasn't correct when I ran the split with GR 9 afterwards. The investigation yielded what I called "ImpRes" (Impossible Resolution ) because it was just a fake based on a picture pattern with a very special layout. I told TLB about my findings and he used the one pixel delay of "ImpRes" to let the convered version of Peachy's excellent snake picture look more natural in his part on the third disk of Overmind. More next time, Peter/JAC! ImpRes.bmp WomSnake.bmp Quote Link to comment Share on other sites More sharing options...
pps Posted January 3, 2009 Share Posted January 3, 2009 Very nice informations in this thread! Thanks Peter. Quote Link to comment Share on other sites More sharing options...
Heaven/TQA Posted January 3, 2009 Share Posted January 3, 2009 Hello Peter, finally arrived here... I mentioned several times your Visdom demo... ok...little bit offtopic but is the rastersplit in Visdom 2 done via PM overlays or via DLI midline changes? How did you discovered "HIP"-like mode in 1993? We discovered the "GTIA bug" 3 years later... Hi for tonight, The rastersplit in the "Wiggle" of the "Visdom 2" uses both. It is based on a self modifying kernel loop wich delays the split of $d01a with 1 cylce accuracy. Since this is too coarse to achieve full coverage and reach every single pixel, the missile 0 is used in the 5th player mode of PRIOR and quadruple width to color the missing pixels. ; Wiggle-X-Width: 8 to 64 = 57 Pixels ; ; ®_03-03-93_by_JAC!_Wiggle_works_100%. ... xtab = base ;Animated_Sine_value_table. btab = base+$100 ;Branch_offset_table. ... clc ;Convert_xpos_table_to_.. adc #48 sta mtab,x ;Missile_HPOS. lda htab,y sta btab,x ;Branch_offset ... kernel lda wcol1 ora whell sta kernel2+1 lda wcol2 ora whell sta $d019 tay clc ldx #0 kernel1 sta $d40a lda mtab,x sta $d004 kernel2 lda #$00 sta $d01a lda btab,x sta kernel3+1 kernel3 bne *+0 kernel4 nop nop nop nop nop nop nop nop nop nop nop nop sty $d01a inx bpl kernel1 rts kernel5 nop nop nop nop nop nop nop nop nop nop nop bit $00 ;3 cycles instead of 2 sty $d01a inx bpl kernel1 rts k = kernel5-kernel4 ... bragen ldx #0 ;Generate_branch_offset_tab ldy #0 bragen1 lda braxtab,x cmp x1 beq bragen3 sta x1 cmp #$ff beq bragend lda branch,x bragen2 sta htab,y iny cpy x1 bne bragen2 bragen3 inx jmp bragen1 bragend rts braxtab .byte 8,15,24,32,40,48,56,64,72,76,80,84,88,92,96 .byte 100,104,108,112,112,114,116,120,127,$ff branch .byte 12,k+13,11,k+11,10,k+10,9,k+9,8,k+8,7,k+7 .byte 6,k+6,5,k+5,4,k+4,3,k+3,2,k+2,1,k+1,0,k Discovering the GTIA bug was a side effect of trying to find the exact timing for the rastersplits. Because the GR9 pixels were hard to distinguish on my old color TV, I used GR 10 with a flashing color/luminance during the development to find the correct split and missile position (see "braxtab"). But for half of the pixels the missle position wasn't correct when I ran the split with GR 9 afterwards. The investigation yielded what I called "ImpRes" (Impossible Resolution ) because it was just a fake based on a picture pattern with a very special layout. I told TLB about my findings and he used the one pixel delay of "ImpRes" to let the convered version of Peachy's excellent snake picture look more natural in his part on the third disk of Overmind. More next time, Peter/JAC! Thanks Peter! you still remember all the details! that is cool.... so at the end we have to ask TLB how he converted the pic and then we knew who invented the "pre-HIP"-mode! I still found the Whiggle rastersplit one of the most impressive ones... esp. the whole intro is well designed without any flicker etc. and all done in Atmas II or Macro Ass XE? Quote Link to comment Share on other sites More sharing options...
Heaven/TQA Posted January 3, 2009 Share Posted January 3, 2009 (edited) o... cool...just read the credits of the 3rd disc... TQA contributed the music? so I have to look into the ASMA archive because of the Lotus 2 intro msx used in the 546 dots part... got it... first I needed a translation table for scenehandle2realname to find the stuff in the ASMA archive... Edited January 3, 2009 by Heaven/TQA Quote Link to comment Share on other sites More sharing options...
+JAC! Posted January 13, 2009 Author Share Posted January 13, 2009 (edited) Hi everybody, It seems that quite many of you know my Visdom and Visdom II demos. It also seems that some of you like them and like to know how I did them back in the "golden days". "Visdom I" was coded on the Atari 800 XL with ATMAS II. The idea of the demo was to port my favourite C64 intro (cracktro actually) by the "Hotline" crew to my machine because I simply loved the style and the "smooth criminal" tune. Since I never was into composing sounds and didn't know much about creating sounds I had a problem. But there was an Atari Basic listing for a tune named "Honkey Tonkey" in some printed computer mag that I bought in the super market and so I ported the replayer and the DATA statements into assembler. Maybe I'll find out the original author and send him some regards. See the Atari version versus the C64 version below. The second part of the "Visdom I" demo was the result of a "coding battle". I already had an Amiga 500 at that time and some friends of mine, who also were coders, had started to create demos on that machine. So the group "Visdom" was an Amiga group of 5 people and I was the "one man Atari division". We had meeting every 3 ot 4 weeks where the guys showed their progress in their Amiga Demos and the latest stuff they had received from other groups. Well, and I always tried to port their achievements to the Atari XL until the next meeting. And I won this "competition" quite often and it really was fun (and beer). One day they presented the new Megademo from the "Royal Amiga Force" in 1989. I was amazed by the demo and if you look at the lower left of the screenshot, you will find the waving "RAF" logo in front of the copper bars with the scroller below. And since most of the other guys came from C64, they were stunned by the large waving logo and any distortion effects with more than 4*8 pixels. So I decided to create a demo that could not be done an C64 and looked like this part of the RAF demo. The first version actually had an "RAF" logo, but I changed it (since R.A.F. is the short form of a former German terrorist group ...) as soon as I had designed my own logo in DPaint. This version was created in 1989 an I just found it again when I recently tested my SIO2USB. Press space to move the logo. The final version was done for our on 04-05-91. Because I didn't have any other Atari contacts at that time I decided to sent that version to the "Disk Line" disk mag from PPP (Power per Post) but I don't remeber that I ever got any feedback. Despite of this people from all over the world contacted my years later because they had somehow received that demo. That was really funny to me. Some weeks ago I came across an artical by Heavon the the ABBUC Magazin 46 where he wrote about coding scrollers in the demo corner. There he mentioned the "Visdom" demo for having a graphics 0 scroll with single pixel resolution and that this probably is an example of heavig bit shifting. To be honest, this single pixel scroll takes no more additional cycles for the single pixel effect. Every 8 pixels, the screen memory is shifted. Every 2 pixels the HSCROLL position is changed and for the single pixel resolution, I exploited that every 8x8 charset is actually a 7x7 or 7x8 charset, at least for all normal characters like letters or digits. Otherwise adjacent characters would stick to each other. So the initialization simply creates a second charset which is shifted 1 bit to the right and this charset is used for the odd pixel positions. Resulting in about 10 additional cylces for this in the DLI. You can download the additional files via JacFiles89.zip. "Visdom II" will be described later. I also found some minor bugs in the demos later and I'll release fixed versions now. Especially because I promised THW last year that I'll create a single file version of the Visdom II demo. To be honest all bugs amount to the same root cause: I only had a quite bad color TV set at that time, so some flaws were simple not visible. But todays emulators and screens are merciless in this regard and I don't want to be blamed for a dutch color scheme after all these years Well, a real epic fail in editing my post I would say. Links, pictures and downloads added, but not in the original post, aarargh. Any suggestion how to correct this is really welcome... Best regards, Peter / JAC! Edited January 13, 2009 by peter.dell Quote Link to comment Share on other sites More sharing options...
+JAC! Posted June 9, 2009 Author Share Posted June 9, 2009 You can find the whole story (and a better layout) now in the section "Productions" on WUDSN.com. Best regards, Peter. Quote Link to comment Share on other sites More sharing options...
Heaven/TQA Posted June 9, 2009 Share Posted June 9, 2009 Peter... I always was a fan of your productions and you were one of my inspiration source back in the 90s when I started coding demos on A8... so... thanks for mentioning me in your history... still can not wait the Vis2 history... Quote Link to comment Share on other sites More sharing options...
+JAC! Posted February 23, 2012 Author Share Posted February 23, 2012 so... thanks for mentioning me in your history... still can not wait the Vis2 history... There you are: I don't like bugs and they keep bothering me even after many years. What I did this week are very likely the most delayed updates in the 8-bit system history . On the tab Atari 8-bit (previously named "Productions") you can now find only 19 respectively 21 years after the original release ... Visdom I - fixed version plus sourcesFixes: Checks for 64k, runs properly on NTSC machines, accepts any key to start part 2, no more color artifacts in the scroller. Visdom II - fixed single file version plus sourcesFixes: Checks for 64k and PAL, no more color artifacts in the wiggle effect, available a standalone executable. Visdom II - full background story of the demoThe description of the unique circumstances under which the demo was created and the technical details. ... coders just want to have fun :-) 2 Quote Link to comment Share on other sites More sharing options...
+Stephen Posted February 23, 2012 Share Posted February 23, 2012 Awesome as usual! Thanks for the sources and backstory. Quote Link to comment Share on other sites More sharing options...
Heaven/TQA Posted February 24, 2012 Share Posted February 24, 2012 Hey... as Badener I have to say that Karlsruhe is not end of the world.... "Das schönste Land in deutschen..." Quote Link to comment Share on other sites More sharing options...
Fratzengeballer Posted February 24, 2012 Share Posted February 24, 2012 jac, thanks for updating the stuff, I recently stumbled over it and I like to know all those anecdotes from the past. I always loved the hotline intros, too smooth criminal or airwolf that stuff rocked @heaven: Es gibt badische und unsymbadische ich bin b) aber so ist das manchmal im Leben Quote Link to comment Share on other sites More sharing options...
simonl Posted February 24, 2012 Share Posted February 24, 2012 Visdom I - fixed version plus sources Fixes: Checks for 64k, runs properly on NTSC machines, accepts any key to start part 2, no more color artifacts in the scroller. Visdom II - fixed single file version plus sourcesFixes: Checks for 64k and PAL, no more color artifacts in the wiggle effect, available a standalone executable. Awesome, I visited your site recently looking to see if you had an NTSC Visdom and a single file file Visdom II as I'm testing some emulation code at the moment, so they are much appreciated! :thumbsup: Who would have thought old Atari demos would come with such great customer support? Cheers, Simon Quote Link to comment Share on other sites More sharing options...
Heaven/TQA Posted February 24, 2012 Share Posted February 24, 2012 btw. never done something on Amiga? Quote Link to comment Share on other sites More sharing options...
+JAC! Posted February 24, 2012 Author Share Posted February 24, 2012 Well, "13 somethings". Most of them as video effects for a small school movie (overlayed via a genlock)... and one day I'll... :-) Quote Link to comment Share on other sites More sharing options...
atx4us Posted February 25, 2012 Share Posted February 25, 2012 so... thanks for mentioning me in your history... still can not wait the Vis2 history... There you are: I don't like bugs and they keep bothering me even after many years. What I did this week are very likely the most delayed updates in the 8-bit system history . On the tab Atari 8-bit (previously named "Productions") you can now find only 19 respectively 21 years after the original release ... Visdom I - fixed version plus sourcesFixes: Checks for 64k, runs properly on NTSC machines, accepts any key to start part 2, no more color artifacts in the scroller. Visdom II - fixed single file version plus sourcesFixes: Checks for 64k and PAL, no more color artifacts in the wiggle effect, available a standalone executable. Visdom II - full background story of the demoThe description of the unique circumstances under which the demo was created and the technical details. ... coders just want to have fun :-) Thanks JAC! Your demos are the best! What compiler(s) did you use on your sources? Quote Link to comment Share on other sites More sharing options...
+JAC! Posted February 25, 2012 Author Share Posted February 25, 2012 What compiler(s) did you use on your sources? Originally a modified version of ASM65 by Jukka Marin on Amiga. The sources in the download are in ATASM format. Quote Link to comment Share on other sites More sharing options...
Mclaneinc Posted February 25, 2012 Share Posted February 25, 2012 Hey Jac! Great article, I love the stories of how things were created back then, as a wannabe coder who never got anywhere near your heady heights of skillz (lamer speak..oh dear..) I find the whole thing super interesting. As an Amiga owner (A1200 with 68030 and 8MB ram 80MB hd) at the time I'd love to see what you did for the Amiga one day... Thanks Paul... Quote Link to comment Share on other sites More sharing options...
Heaven/TQA Posted February 25, 2012 Share Posted February 25, 2012 need to setup my A1200 030/4mb, too... it was not powered up for more than 10 years. Quote Link to comment Share on other sites More sharing options...
Mclaneinc Posted February 25, 2012 Share Posted February 25, 2012 need to setup my A1200 030/4mb, too... it was not powered up for more than 10 years. Go for it, had some great time with the 'miggy', still wish the Amiga OS was what we used in PC's, it was superb.. Enjoy a lovely game of Cannon Fodder, Sensible soccer and Jazzy Jack Rabbit Quote Link to comment Share on other sites More sharing options...
flashjazzcat Posted February 25, 2012 Share Posted February 25, 2012 Fascinating and very impressive stuff! Thanks for sharing this. Quote Link to comment Share on other sites More sharing options...
+JAC! Posted March 7, 2012 Author Share Posted March 7, 2012 Now that I have tested Visdom I on real NTSC machine, I found that the palettes are different between PAL/NTSC Ataris :-( Before I had tested in Altirra with both palettes (unintentionally) setup the same way (as PAL). I'll provide a fix and I'öl also try to optimize Visdom II so it runs on NTSC. Fun part: After digging my old stuff I found some pictures from the time when Visdom II was created. As you can see I did not really my millitary service too serious. On the right most picture you can see my room mate carrying the "disassembled" wood box where I stored my Amiga / Atari :-) 1 Quote Link to comment Share on other sites More sharing options...
+JAC! Posted March 13, 2012 Author Share Posted March 13, 2012 So here we go. Both demos now fully support NTSC machines and use the correct colors. The only difference is that on NTSC machine the wiggle effect on the Visdom II is animated at only 20-30 FPS instead of 50 FPS on PAL. There are really no cycles left - but I guess that's one of the differences only the coder himself will notice :-) Visdom I - fixed version plus sourcesFixes: Checks for 64k, rruns properly on NTSC machines with correct colors, accepts any key to start part 2, no more color artifacts in the scroller. Visdom II - fixed single file version plus sourcesFixes: Checks for 64k, runs properly on NTSC machines with correct colors, no more color artifacts in the wiggle effect, available a standalone executable. ... 1 Quote Link to comment Share on other sites More sharing options...
Heaven/TQA Posted March 13, 2012 Share Posted March 13, 2012 cool 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.