fichier des sprites: sprite.s
%SPRIT%%%%%%%%%%%%%%%% % A.A B.A C.A D.A % % R0 R1 R2 R3 % %%%%%%%%%%%%%%%%%%%%%%
**SPRITE GOSUBL SPR $0E300E300E30037001400F708FF18D818FF143C24382CFF34DB24DB2CFF34FF24FF2CFF3CFF34E72CFF3842184218FF185A184218FF1C3C34182CFF3AFF32FF2EFF3AF33A122EFF3C121C021CFF18FF087C08FF0C9F1C8F1CFF18FF08FF08FF00000000000000C700C700C700EC002800EF08FF181B18FF143C241C2CFF34DB24DB2CFF34FF24FF2CFF3CFF34E72CFF3842184218FF185A184218FF1C3C34182CFF3CFF54FF4CFF7CCF54485CFF7848384038FF30FF103E10FF18F938F138FF30FF10FF10FF10000000000000C100C100C100E300E300E30024002400E708DB18DB18FF147E243C2CFF347E24182CFF34FE24582CFF3CFE34382CFF38FF183C18FF18FF382A28FF34FF34292CFF34FB34D03CFF381C180018FF18FF181C18FF18F338F338FF30FF10FF10FF10000000000000830083008300C700C700C70024002400E708DB18DB18FF147E243C2CFF347E24182CFF347F241A2CFF3C7F341C2CFF38FF183C18FF1CFF14541CFF1CFF24942CFF3CDF2C0B2CFF3838180018FF18FF183818FF1CCF1CCF1CFF18FF08FF08FF000000000000008F008F008F00EE106010EF1099309020FF3C3F7C194CFF7876F83698FFF0E7F0E290EFF853785358FF7842384238FF303A101210FF10EF102A10EF10EF10E710EF10EC30A420EF30AC30A420EF30EF30AF30EF30E010E010EF10FF30FF30FF30000000000000000000000000CF00CF00CF047E343034FF3CC97C404CFF7C9F7C844CFF783B781B48FF70FB307920FF3CA93CA92CFF342914291CFF181D080908FF00FF00FF00FF002F102910EF102F202920EF30FF20FC20FF3807280728FF38FF78FF78FF70000000000000E300E300E300FE001C00FF0833180218FF1CF974217CFF7EDC32D83EFF3EDF029E0EFF0C9534953CFF3894289428FF30B8109010FF10FF00B800FF00FF00DF00FF087E084A08FF087A084A08FF08FF08FB08FF001E001E00FF08FF18FF18FF10000000000000000000000000E700E700E708FC581858FF5C3764046CFF7CF374426CFF7CB934A13CFF38BF182D18FF183B682B68FF7039403940FF7061302120EF30EF10EF10EF10F9003900FF08E9082908FF08EF186E18FF18C128C128FF3CFF3CFF3CFF3 *SPR C=RSTK D0= 001B6 A=DAT0.A C=C+A.A B=C.A
D0= 001BB A=DAT0.B LC 06 ?A=C.B { A=0.B DAT0=A.B ?ST=0.9 { ST=1.9 } ELSE { ST=0.9 } } ELSE { A++.B DAT0=A.B }
LC 1FF GOSBVL [INKEY] ?C0.X { ?ST=0.9 { C=B.A LA 000CC C=C+A.A } ELSE { C=B.A } } ELSE { C=B.A }
R1=C.A
% MASK1
D0= 00176 GOSUBL MASK
% DISP1
D0= 00176 C=R1 R3=C GOSUBL DISP
% MASK2
D0= 00162 GOSUBL MASK
% DISP2
D0= 00162 C=R1 C=C+4.A R3=C GOSUBL DISP
RTN
**SAVE.SP D0= 00176 GOSUBL X,Y D0=A
D1= 00184 A=DAT1.A D1=A LC F DO { A=DAT0.A DAT1=A.A D0=D0+ 34 D1=D1+ 5 C--.P } WHILENC
D0= 00162 GOSUBL X,Y D0=A
D1= 00189 A=DAT1.A D1=A LC F DO { A=DAT0.A DAT1=A.A D0=D0+ 34 D1=D1+ 5 C--.P } WHILENC RTN
**RCL.SP D0= 00176 GOSUBL X,Y D0=A
D1= 00184 A=DAT1.A D1=A LC F DO { A=DAT1.A DAT0=A.A D0=D0+ 34 D1=D1+ 5 C--.P } WHILENC
D0= 00162 GOSUBL X,Y D0=A
D1= 00189 A=DAT1.A D1=A LC F DO { A=DAT1.A DAT0=A.A D0=D0+ 34 D1=D1+ 5 C--.P } WHILENC RTN
*MASK GOSUBL X,Y D0=A D1= 00180 C=DAT1.P R2=C.P % BIT A=R1 D1=A D1=D1+ 8 LC F R0=C.P
DO { A=0.A A=DAT1.4
C=R2.P ?CBIT=1.0 { A=A+A.A } ?CBIT=1.1 { A=A+A.A A=A+A.A }
A=-A-1.A C=DAT0.A A=A&C.A DAT0=A.A
D0=D0+ 34 D1=D1+ 12
A=R0 A--.P R0=A } WHILENC RTN
*DISP GOSUBL X,Y D0=A
D1= 00180 C=DAT1.P R2=C.P A=R3 D1=A LC F R0=C
DO { A=0.A A=DAT1.4
C=R2 ?CBIT=1.0 { A=A+A.A } ?CBIT=1.1 { A=A+A.A A=A+A.A }
C=DAT0.A A=A!C.A DAT0=A.A
D1=D1+ 12 D0=D0+ 34
C=R0 C--.P R0=C } WHILENC RTN
**X,Y A=DAT0.A D1= 00182 C=0.A C=DAT1.B B=C.A CSL.A C=C+B.A C=C+C.A A=A+C.A D1= 00180 C=0.A C=DAT1.B CSRB.A CSRB.A A=A+C.A RTN
**RCL2.SP D0= 0018E GOSUBL X,Y D0=A
D1= 00184 A=DAT1.A D1=A LC F DO { A=DAT1.A DAT0=A.A D0=D0+ 34 D1=D1+ 5 C--.P } WHILENC
D0= 00193 GOSUBL X,Y D0=A
D1= 00189 A=DAT1.A D1=A LC F DO { A=DAT1.A DAT0=A.A D0=D0+ 34 D1=D1+ 5 C--.P } WHILENC RTN
@