Jeremy : I think you're having one of those "not sinking in" days we all have at times <img src="smile.gif" width=15 height=15 align=middle>
When syntax checking a 28X1 the compiler assumes the PICAXE will be an A.1 or greater version but doesn't check it is. The byte count is how big the program would be on A.1 and up.
When you actually download, the Programming Editor realises the PICAXE is A.0 and knows the code would not run as expected. There is a slight delay while the compiler is re-run and told it must re-compile for A.0 firmware. It applies the hotfixes necessary, creates a bigger program as a consequence, downloads that and reports how big it was.
So compiling ...<code><pre><font size=2 face='Courier'> #picaxe28x1
pin0 = 1 </font></pre></code> is "5 bytes of 4096" when syntax checked, but "19 bytes of 4096" when downloaded - An increase of 14 bytes. Other commands do not need hotfixes so the sizes would match in those cases.
The ideal solution would be if Rev-Ed added a View->Options checkbox to force compilation for the A.0 version.
There is a possible hack though, not fully tested nor guaranteed. In the <i>\Programming Editor\Compiler </i> directory ...<code><pre><font size=2 face='Courier'> REN axe28x1.exe axe28x1.old
COPY axe28x1_0.exe axe28x1.exe </font></pre></code> Syntax checking will then run the compiler for A.0 so the byte count will be correct and match that downloaded later.
Compiled tokens can still be downloaded to A.1 upwards and should run without problems, but they will include the hotfixes necessary for A.0 which are not needed for later versions.
Best to re-boot after the file renaming to flush any caching of .EXE files done by Windows.
Edited by - hippy on 16/07/2007 15:46:54