' #INCLUDE ServBold.col #module ZXSprite.CLL /* Version for ZX-Spectrum */ #Const TabAddr = #FE00 subr Sprite ( D E A ) ' Draw ZX sprite A= n, 16x12 pixels, mono. { ** ** => L ** + L => L H= #hi Sprites { D ** + D ** = C B= #hi Tab1 ' Tab1= #FE00 Tab2= #FF00 { [BC] B++ + E => E [BC] $Adc D => D $Ldi $Ldi E-- E-- D++ $Ldi $Ldi E-- E-- D++ $Ldi $Ldi E-- E-- D++ $Ldi $Ldi E-- E-- D++ $Ldi $Ldi E-- E-- D++ $Ldi $Ldi E-- E-- D++ $Ldi $Ldi E-- E-- D++ $Ldi $Ldi E-- E-- D++ $Ldi $Ldi E-- E-- D++ $Ldi $Ldi E-- E-- D++ $Ldi $Ldi E-- E-- D++ $Ldi $Ldi E-- E-- D++ end subr #D6B rom_cls subr #22AC pixel_add subr #5C48 color subr #5C48 border @subr SetGraxMode ' Set screen, make the tables. { 5 $Out #FE => color => border rom_cls DE= TabAddr for BC= 192'0 push BC ' Optimization NEED! { #BF B-- pixel_add { L => [DE] D++ H => [DE] D-- E++ pop BC loop @end subr #28E rom_inkey @subr SetTextMode ' Wait for any key. @end subr display_lab HL= [ Labs ] H++ H++ Y= 0 for D= 16 X= 0 for E= 16 push< X Y > { [HL] Sprite pop< Y X > HL++ X++ X++ next E-- Y++ Y++ next D-- end : Labs #INCBIN bolder.npk ' Add labirinths.