þþC X;X;EI(X;2X;SAVE#D:RELOC>DEMO2.M65<X;FX;..PX;LIST#D:RELOC>DEMO2.LSTZX;dX;nX;xX;ASM,,#D:RELOC>DEMO2.COMyX;‚HX;This demo will run a batch file in snap#4, wait 4 seconds, and pokeŒX;764 with a RETURN.X;– „JOHNþ X;ª0´>•D:SNAPSHOT>SYSLIB.M65¾ ‡G.STARTÈQ>`Ò P‡G.STARTÜ Q„JOHNæPð Q„JOHNú;PS> ;;Point to 1st byte in snapshot's vector table. The first byte is a flag.X;And we copy it.P"ECOPY.SNAP.TABLE,"6COPY.SNAP.TABLE@QJ$TPŠSNAP.TABLE^&ŠSNAP.TABLEh ˆC.S.T.B1r%>|Q@7†PŠSNAP.TABLE3šQ@7¤PŠSNAP.TABLE® ˆC.S.T.B2¸3ÂQ@7ÌPŠSNAP.TABLEÖ3àQ@7êPŠSNAP.TABLEôX;þQŠSNAP.TABLEPQŠSNAP.TABLEP&HCOPY.P.BUFFER0!‹MAJOR.ERROR:X;D'X;Now to copy the correct addresses,NFX;and place them into our snapshot program buffer before copying itX+X;to snapshot's internal program buffer.bX;l¼ ˆC.P.B.B0ÆQˆP.BUFFER8ÐP@7Ú3ä)>P.BUFFER.LENGTHî HˆC.P.B.B0øX;QŠSNAP.TABLE PQŠSNAP.TABLE P*%>4COPY.T.BUFFER>QˆT.BUFFER8HP@7R3\)>T.BUFFER.LENGTHfHCOPY.T.BUFFERpX;z%>P„$>Ž ‰COPY.TEXT˜ Q„TEXT9¢R>ÿ¬ F„EXIT¶P@X7;; SAVMSCÀ2Ê3ÔH‰COPY.TEXTÞ„EXITèQ‚CHòR>ÿü F„EXITQ>ÿP‚CH%>$X;.cX;Now to set Snapshot's internal flag named PROGRAM to any non-zero value. This starts executing8X;your snapshot program.BX;LQŠSNAP.TABLEVP`QŠSNAP.TABLEjPtQ>~P@7ˆ!@ :;;Goto DOS.’„TEXTœ, A¢** Ðòåóó áîù ëåù ôï óôáòô äåíï® **A=ÿ¦ŠSNAP.TABLE °X;º\X;These two buffers are an example of how to program Snapshot HD to execute a batch file.ÄX;Î ˆP.BUFFERØ A‚S4A;;Snap to #4â AWA==;;Wait 1/2 secì ACA;;Send $ to CPö‹MY.T.BUFFER ˆT.BUFFER  AWA==Z;;Wait 10 SEC% APA=4ü=5ü=›;;Poke a RETURN. AEA(P.BUFFER.LENGTH ˆP.BUFFER2 ˆT.BUFFER< A-D1:>DEMOBAT.BATA=›=FX;PT.BUFFER.LENGTH ˆT.BUFFERZ„HEREd>–D:>SNAPSHOT>MACROS.M65n‹MAJOR.ERRORx ‡PRINTSI‚ A}A=ƒEOL=ƒEOLŒ0 A¤ýÅÒÒÏÒ­ The Snapshot HD ProfessionalA=ƒEOL–1 A¥Programming Utility MUST be loaded inA=ƒEOL  A†first!A=ƒEOL=ÿª!@ :´â¾ ‡G.START