Estece Posted September 27, 2017 Share Posted September 27, 2017 I always wanted to know how software sprites worked in this demo. Here it is a dis6502 2.2.2015-04-06 zipped workspace of laser demo. I don't think i will be working on disassembling it anymore. Maybe someone will use it for something else. laserdemo.zip 2 Quote Link to comment Share on other sites More sharing options...
shanti77 Posted September 28, 2017 Share Posted September 28, 2017 (edited) thx Edited September 28, 2017 by shanti77 Quote Link to comment Share on other sites More sharing options...
Estece Posted October 30, 2017 Author Share Posted October 30, 2017 Can You write how Your bosconian sprite engine works and if yes then please, post a wall of text? 1 Quote Link to comment Share on other sites More sharing options...
shanti77 Posted October 30, 2017 Share Posted October 30, 2017 Every sprite use from 4 to 9 chars. I draw one sprite in one big loop: In 128K version: lda background_char,y and mask,y ora shape,y sta sprite_char,y ;4 color sprites Shape takes 4chars*8bytes*16phases+ 3shifts*6chars*8bytes*16phases=512+3*768=2816bytes Mask takes the same 2816bytes 5 enemy shapes + explosion shape (only 3 phases) (2*5*2816+2*528=29216) ------ Version 64K use forbidden instruction "LAX": lax shape,y and background_char,y ora oratab[1-3],x ;3 different tabs , I can change one color in sprite(2 colors) or print normal(3 colors) sprite sta sprite_char,y Only 3 shapes + explosion shape (3 phases) (3*2816+528=8976) 3 oraTab 768bytes 6 Quote Link to comment Share on other sites More sharing options...
+MrFish Posted October 30, 2017 Share Posted October 30, 2017 Version 64K use forbidden instruction "LAX": I like that term for it... "forbidden"... 1 Quote Link to comment Share on other sites More sharing options...
shanti77 Posted October 30, 2017 Share Posted October 30, 2017 Illegal, undocumented, unofficial, but stable on "real" Atari. 1 Quote Link to comment Share on other sites More sharing options...
Estece Posted October 30, 2017 Author Share Posted October 30, 2017 Dziękuje Shanti77 Can You describe it little more ? How a one frame looks like in the code and what display list and interrupts bosconian use ? Do You use double buffer for screen display in mode 4? Great that You use powerful instructions on 65 XE! That is the only way to use that hardware to the maximum. Mr.Fish and others ,please don't derail this topic.This forum is like junkyard with trash here and there that is not on topic and nobody cares to clean that up. I like good work that Shanti77 do and want a detailed and technical info on software sprites in practical and good software on real hardware Quote Link to comment Share on other sites More sharing options...
dmsc Posted October 31, 2017 Share Posted October 31, 2017 Hi! Version 64K use forbidden instruction "LAX": lax shape,y and background_char,y ora oratab[1-3],x ;3 different tabs , I can change one color in sprite(2 colors) or print normal(3 colors) sprite sta sprite_char,y Only 3 shapes + explosion shape (3 phases) (3*2816+528=8976)3 oraTab 768bytes Clever. So, only limitation is you can use only 3 colors in the sprites, but changing "oratab" table you can select any three colors. To select the shift, do you modify the "shape" pointer in place, or have different loops? Quote Link to comment Share on other sites More sharing options...
shanti77 Posted October 31, 2017 Share Posted October 31, 2017 @dmsc 4 procedures: DX==0,DY=0 chars: 13 24 dx>0,DY=0 135 246 DX=0,DY>0 (2 loops) 14 25 36 DX>0,DY>0 (2 loops) 147 258 369 @Estece I use double buffer, clear frame, draw all objects (starts,rocket,bases,mines,metors,explosions,etc), at last I draw sprites . After I draw frame I check collisions. Ship shoots are draw 2x for frame (1/50 or 1/60). One DLI interrupt run POKEY interrupt (64Khz), last intterupt switch off POKEY interrupt, I change vector and AUDF value every IRQ. DLIST is very simple: Blank_lines+DLI $04+LMS+VSCROL+HSCROL,SCREEN_ADR $04+VSCROL+HSCROL . . . $04 jvb dlist 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.