Shawn Jefferson Posted July 9, 2003 Share Posted July 9, 2003 By the way, check this out for some interesting player effects: A 256 byte intro. How was this demo done? I know that these four bars are players, and the priority has been set to allow them to OR colors of the playfield. But how are they moved? It isn't done in a DLI. VBI? That wouldn't work I think, so mainline code? The mainline code would have to be synced to the screen draw somehow wouldn't it? I guess I will have to disassemble it to see what is going on. Link to comment Share on other sites More sharing options...
Bryan Posted July 9, 2003 Share Posted July 9, 2003 My guess is that since there's nothing else going on, it's done with a VBI and a bunch of: Move the Players, then WSYNC, Move the Players, then WSYNC, etc... It's only 256 bytes (&some of that is text), so it can't be too hard to disassemble. -Bry Link to comment Share on other sites More sharing options...
Schmutzpuppe Posted July 9, 2003 Share Posted July 9, 2003 I guess it just use $d40a to wait for a new scanline and than writes new player postions. Link to comment Share on other sites More sharing options...
Shawn Jefferson Posted July 9, 2003 Author Share Posted July 9, 2003 I just verified that it doesn't use a VBI, it syncs to the screen via wysnc out of mainline code. I verified it like this in Atari800Win: Load sintro.com, F8 A 6000 lda $14 sta $2c8 jmp $e462 c 224 00 60 That adds my own vbi to the program changing the border every vbi from the rtclock+2. Running dis6502 on the program gives me some strange output, but it might be because I don't know how to use it. It identified two segments in the program (?) Link to comment Share on other sites More sharing options...
Heaven/TQA Posted July 9, 2003 Share Posted July 9, 2003 must be something like this: DLI pha txa pha tya pha ldy #240 ; 240 rasterlines loop ldx posp0 lda xpos_tab,x ; your positiontab idealy a sinus wave sta wsync ; sync to raster beam sta hposp0 ldx xpos_tab,x sta hposp0+1 ... dey bne loop pla tay pla tax pla rti and the vbi is increasing the positions in the lookup tables each 50 vbl for pal... VBL inc posp0 inc posp0+1 jmp xitVBL and the sintab is done in turbo basic like this c=0 deg for i=0 to 359 step 360/256 poke lookup+c,int(sin(i)*128+127) c=c+1 next i hve Link to comment Share on other sites More sharing options...
Shawn Jefferson Posted July 9, 2003 Author Share Posted July 9, 2003 I just realized why there is two segments! They load the text into the graphics screen that way at BDD9, thus no code to write to the screen. Tricky devils. Link to comment Share on other sites More sharing options...
Bryan Posted July 9, 2003 Share Posted July 9, 2003 I just realized why there is two segments! They load the text into the graphics screen that way at BDD9, thus no code to write to the screen. Tricky devils. Neat. Why waste bytes on what the OS has already done! -Bry Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.