)╞╞
a REM ASSEMBLER-GEDEELTE  REM VAN HET MOVIE-PROGRAMMA  REM (C) A. DE BRUIN, NAALDWIJK  REM P.$12'''''"   OGENBLIKJE A.U.B......." P.$21;DIM VV3,HH12,AA2,ZZ10,SS5,NN3( F.I=0TO10;ZZI=#2800;N.2 F.I=1TO2;P=#7E00<[F\ LOAD FILEP :AA1Z LDX@#80;JMP(#20C);RTSd\ SAVE FILEn :AA2x LDX@#80;JMP(#20E);RTS┌  ▄\* INITIALISATIE VOOR *ZOEK*:√\*  #B7   := 128═\* #B3,#B4 :=#97E0{ ZOEKADRES: EERSTE BYTE╙\*          VAN LAATSTE 'REGEL'Є\* #B1,#B2  {RESP. X- EN Y-WAARDE}Ў\*  #B6     { EINDE-SCHERM-VLAG: 0=TRUE }х\  р:VV3 LDA@128;STA#B7;LDA@#E0;STA#B3;LDA@#97;STA#B4э LDA@1;STA#B6;LDA@0;STA#B1;STA#B2;STA#B5Ф\П\ *zoek*З\* DEZE ROUTINE 'ZOEKT' EEN PIXEL DIE\* GE-'SET' IS.\*  HET ZOEKEN VAN DE PIXELS BEGINT\* VANAF X,Y=(0,0). ALS EEN PIXEL GEVONDEN IS DAN"\* VOLGT EEN RTS. DAARNA WEER AANROEPEN MET JSR VV1,\* #B6 GEEFT AAN OF DE ROUTINE KLAAR IS6\ @ :VV0 LDY#B5;LDA(#B3),Y;AND#B7;BNE VV2J :VV1 INC #B1;CLC;ROR #B7;BCC VV0;LDA @128;STA#B7;INC #B5 T LDA #B1;CMP @0;BNE VV0;LDA@0;STA#B1;STA#B5^ SEC;LDA#B3;SBC@#20;STA#B3; LDA#B4;SBC@0  ;STA#B4h INC#B2;LDA@192;CMP #B2;BNE VV0; LDA@0;STA#B6;:VV2 RTSr\|\* DEZE ROUTINE TEST OF EEN BEPAALD PUNTJE 'AAN' OF ├\* UIT (0) STAAT. ░\* #5A,#5C : x, RESP. y-COORDINAAT VAN PUNT \* #83,#84 : ADRES VAN TE TESTEN PUNTє\* #85     : VOLGNUMMER VAN BYTE OP REGELў\* #86     : VOLGNUMMER VAN BIT IN BYTE╦\* #93     : UIT: 1:BIT STOND AAN ,ANDERS:0б\* #87     : MASKER: HEEFT 1 BIT HOOG STAANл\ж :HH2Ю LDA @128;STA #87Й LDA @#80;STA #84Т LDA @#0 ;STA #83 ;STA#93Ч SEC;LDA @191;SBC #5C;STA #5C LDA@0;STA #89\\VERMENIGVULDIG ?#5C MET 32& LDX @50:HH0:CLC;ROL#5C;ROL#89;DEXD BNE HH0N  CLCX  LDA #83;ADC  #5C;STA #83b  LDA #84;ADC #89;STA #84l:HH1v  CLC─  LDA #5A;ROR A;CLC;ROR A;CLC;ROR A;STA #85┼  CLC ;ROL A;ROL A;ROL A;STA #88■  SEC ;LDA #5A;SBC #88;STA #86 ·  LDA #86;ADC @8;STA #86╗:HH4╡  CLC;LDX #86╪:HH5ф  BEQ HH8п  ROR #87;DEXз  JMP HH5Д:HH8Н  CLCЬ   LDA #83;ADC #85;STA #83   LDA #84;ADC  @0;STA #84  LDY @#00;LDA(#83),Y;AND #87 BEQ HH12  LDA@1;STA#93*:HH124RTS>  H R \ \ VERTOON, HOOFDPROGRAMMAf \ LEEST DATA VANAF (#80)p \ TOTDAT 4 BYTES MET #FF GEVONDEN ZIJNz :ZZ8└ LDY@0▌ LDA(#80),Y;PHA;INY \LENGTE≤ LDA(#80),Y;PHA;INY \RICHTING╒ LDA(#80),Y;TAX;INY \X-WAARDE╛ LDA(#80),Y;TAY     \Y-WAADEІ PLA; CMP @1;BEQ ZZ6ю \DUS A WAS 2й PLA;JSR ZZ3 \HORIZONTAALт JMP ZZ7ч :ZZ6Х \DUS A WAS 1Р PLA;JSR ZZ0 \VERTICAALЭ:ZZ7 CLC;LDA #80;ADC@4;STA #80     LDA #81;ADC@0;STA #81 LDY@1;LDA(#80),Y;CMP@#FF;BNE ZZ8$ RTS.  8 \-------------------------------------------------------B \HORIZONTAAL:L \ IN: X,Y   :COORDINAAT STARTPUNTV\     A     : LENGTE VAN TE TEKENEN LIJN` \-------------------------------------------------------j :ZZ3t STX #5A;STY#5C~ STA #5E \BEWAAR LENGTE┬ JSR HH2▓ LDX#5E;LDY@0° :NN3і   LDA(#83),Y;EOR#87;STA(#83),Y╟   CLC;ROR#87;BCC NN2╨   CLC;LDA#83;ADC@1;STA#83д       LDA#84;ADC@0;STA#84н   LDA@128;STA#87ь  :NN2Б  DEX; BNE NN3Л RTSЖ \------------------------------------------------------ \VERTICAAL:
 \ IN: X,Y   :COORDINAAT STARTPUNT\     A     : LENGTE VAN TE TEKENEN LIJN \-------------------------------------------------------( :ZZ02 STX #5A;STY#5C< STA#5E \BEWAAR LENGTEF JSR HH2P LDX #5E;LDY @0Z :NN1d   LDA(#83),Y;EOR#87;STA(#83),Yn   SEC;LDA#83;SBC@32;STA#83x       LDA#84;SBC@0;STA#84┌   DEX;BNE NN1▄ RTS√  ═ :SS1 \ZOEK EINDE VAN FILE (4 BYTES MET #FF)╙      \IN: #80,#81: STARTADRESЄ :SS4Ў  LDY@0;LDA(#80),Y;CMP@#FF;BNE SS2х  INY;LDA(#80),Y;CMP@#FF;BNE SS2р  INY;LDA(#80),Y;CMP@#FF;BNE SS2э  INY;LDA(#80),Y;CMP@#FF;BNE SS2Ф   LDA@0;STA#83 \GEEN FOUTП  RTS \EINDE GEVONDENЗ :SS2   CLC;LDA#80;ADC@4;STA#80      LDA#81;ADC@0;STA#81  CMP@#80;BEQ SS3 \FOUT!!"  JMP SS4, :SS3 LDA@1;STA#83;RTS6  @];NEXTJ PRINT $6T P.$12^ P."    *** MOVIE.ASSEMBLER ***"'''h P." DE VOLGENDE ADRESSEN INVULLEN"'r P." IN HET HOOFDPROGRAMMA:"''| P." AA1 :",&AA1'├ P." AA2 :",&AA2'░ P." HH2 :",&HH2'  P." SS1 :",&SS1'є P." VV1 :",&VV1'ў P." VV3 :",&VV3'╦ P." ZZ8 :",&ZZ8'б END  ЪбD(Н~Р~я~((UENDY{▐YUNK#UFE3B1UFFE