ok ppl
as we have been chatting in the back ground about this
i did agree to let u have the compiled code
this is for 2313 tiny and 2313 dip
there is a hudge dif..let the script do the work
This main script >shell< was written in c++ and compiled by dexter,there is a d/l attached.
i will post u on some example's and what they mean..
u will need to tweak it to go lpt1,and or rs232 for stk500 user's
i will show u the edit's and save point's
this engine is "4.6" , "5" is a load better as u can in script spec what type of port u want and save a few lines of code
code:
'
' New VB Script File - Created 4/17/2015
' Created by Wiz
'
Sub Main()
End Sub
//=================================================================================================
// DESC: simple parallel programmer for atmel avr 90S2313 / tiny2313
// AUTHOR: wiRe (
http://w1r3.de/)
// DATE: 07/04/2006
//
// Copyright (c)2006 wiRe //
// =================================================================================================
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#include <stdlib.h>
#include <stdio.h>
'#inculde <Flash.hex>
'#inculde <eep.hex>
'#inculde <fullfuseunlocker.hex>
//--------------------------------------------------------------------------------------
#include "pprog.h"
PProg pp;
//-------------------------------------------------------------------------------------------------
#define TINY2313_ID 0x0A911E
#define TINY2313_FUSES 0xFFDF64
'#define 90S2313_ID
'#define 90S2313_FUSES
//-------------------------------------------------------------------------------------------------
int main(int argc, char *argv[])
{
printf("AVRhvp v1.0 - Copyright (c)2006 wiRe (
http://w1r3.de/)\n");
short port = -1;
if(argc > 1)
{
char *lpszEnd = NULL
unsigned long ul = strtoul(argv[1], &lpszEnd, 0);
if(ul >= (1 << (sizeof(short)*
)) port = -2;
if(lpszEnd) while(*lpszEnd == ' ' || *lpszEnd == '\t') lpszEnd++;
if(argc > 2 || (lpszEnd && *lpszEnd) || port == -2)
{
printf("error: wrong parameter\nusage: AVRhvp [LPT PORT]\n");
return(-1);
}
}
try
{
pp.init(port);
printf("lpt base address: %03X\n", pp.get_port());
printf("\n");
printf("waiting for signature...\n");
int sign = pp.read_signature();
printf("signature: %02X %02X %02X\n", ((sign>>0)&255), ((sign>>
&255), ((sign>>16)&255));
printf("fuses: %06X\n", pp.read_fuses());
printf("lockbits: %02X\n", pp.read_lockbits());
printf("\n");
switch(sign)
{
case TINY2313_ID:
printf("TINY2313 detected...\n");
printf("reset to factory settings...\n");
for(int n=0; pp.read_fuses() != TINY2313_FUSES; n++)
}
if(n >= 5) throw "error: failed to write fuses!";
pp.write_fuses(TINY2313_FUSES);
}
printf("perform chip erase...\n");
pp.chip_erase();
break;
default:
throw "error: device not supported!";
}
pp.terminate();
printf("\ndone.\n");
}
catch(PPerror &ppe)
{
printf("error: %s\n", ppe.what());
pp.terminate();
return(-1);
}
catch(const char *lpsz)
{
printf("%s\n", lpsz);
pp.terminate();
return(-1);
}
return(0);
}
'Flash.hex
':100000001FC038C037C036C035C034C033C032C05E
':1000100031C030C02FC01E910862DFFF1E92066201
':10002000DFFF1E930B62DFFF1E90076AFF001E902A
':10003000045200001E90051C00000000000000009B
':1000400011241FBECFEDCDBF80E288BB8FE787BBF9
':100050008CE182BB80E481BB10E0A0E6B0E0E6E585
':10006000F3E003C0C89531960D92A236B107D1F7DF
':1000700050D06FC1C5CF482FC098C198C39A000017
':10008000C39820E030E086B3220F90E096958795E4
':10009000969587958170282B47FF02C0C09A01C0B2
':1000A000C09867FF02C0C19A01C0C198C39A0000FE
':1000B000C3983F5F383019F0440F660FE4CFC09803
':1000C000C198C39A0000C398C39A0000C398822FB6
':1000D000089580E090E036E0B2990AC0232F2A9577
':1000E000F1F7019623E0883E9207B1F71092600085
':1000F00008951F93182F88E06CE4BDDF812F6CE01A
':10010000BADF80E068E6B7DF80E06CE6B4DF1F911D
':100110000895EF92FF920F931F93CF93DF9380E1A7
':100120008A95F1F780E388BB8DE08A95F1F780E549
':1001300088BB85E08A95F1F7BA9884E68A95F1F74D
':1001400000E027C080E0D5DF811711F581E0D1DF25
':10015000282F802F90E066E070E0E9D0E82FF92F9B
':10016000E95EFF4FC895E02D2E1791F482E0C1DFC4
':10017000282F802F90E063E070E0D9D0E82FF92F8E
':10018000EE0FFF1FE85EFF4FC895E02D2E1779F0A8
':100190000F5F802F90E066E070E0C9D0E82FF92F64
':1001A000EA5EFF4FC895102D112309F0CBCF802FA9
':1001B00090E066E070E0BBD0C82FD92FCA5EDF4F59
':1001C000EC2FFD2FC895802D882309F473C0802F54
':1001D00090E066E070E0ABD0E82FF92FE75EFF4FCC
':1001E000C895F02C802F90E066E070E0A0D0E82F5A
':1001F000F92FE65EFF4FC895102D802F90E066E046
':1002000070E095D0E82FF92FE55EFF4FC895E02C00
':1002100080B384FF02C0033088F080E86CE42BDFF9
':1002200080E064E628DF80E06CE625DF52DF80E0D6
':100230006CE421DF4EDFFF20B9F004C082FF74C000
':100240001DED73C00F2D80E46CE415DF802F6CE290
':1002500012DF80E064E60FDF80E06CE60CDF39DF60
':1002600080E06CE408DF35DF112389F080E46CE482
':1002700002DF812F6CE2FFDE80E064E7FCDE80E0DD
':100280006CE7F9DE26DF80E06CE4F5DE22DFEE20AD
':1002900089F080E46CE4EFDE8E2D6CE2ECDE80E031
':1002A00066E6E9DE80E06EE6E6DE13DF80E06CE421
':1002B000E2DE0FDF86E08A95F1F780E388BB81E01C
':1002C0008A95F1F780E288BB969A80916000882336
':1002D00059F480E197E229E130E0E22FF32F3197E2
':1002E000F1F70197D1F715C0EC2FFD2FC895802DA0
':1002F000882359F488EB9BE029E130E0E22FF32FCB
':100300003197F1F70197D1F704C088EA91E6019798
':10031000F1F7969885B7806185BF85B7806285BF04
':10032000889585B78F7DF8CF1DE501EE8CCF5527D9
':10033000002480FF02C0060E571F660F771F61154D
':10034000710521F096958795009799F7952F802D47
':060350000895F894FFCFB0
':020356000100A4
':00000001FF
'eep.hex
'
'Option Explicit
'Sub Main()
'Dim RetVal
' RetVal = Sc.ButtonBox("Prompt String Prompt String Prompt String", , , "Button 1")
' Sc.Print RetVal
'RetVal = Sc.ButtonBox("This is the Prompt String" & vbcrlf & vbcrlf & "xxxxx", vbDefaultButton3 + vbCritical, "This is the Caption", "Button 1", "Button 2", "Button 3", "Button 4", "Button 5")
'Sc.Print RetVal
'RetVal = Sc.ButtonBox("This is the Prompt String xxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxx", vbDefaultButton1 + vbInformation, "This is the Caption", "Button 1")
'Sc.Print RetVal
'RetVal = Sc.ButtonBox("This is the Prompt String", vbDefaultButton2 + vbQuestion, "This is the Caption", "Button 1", "Button 2")
' Sc.Print RetVal
'RetVal = Sc.ButtonBox("This is the Prompt String", vbDefaultButton3 + vbExclamation, "This is the Caption", "Button 1", "Button 2", "Button 3")
'Sc.Print RetVal
'RetVal = Sc.ButtonBox("This is the Prompt String", vbDefaultButton4, , "Button 1", "Button 2", "Button 3", "Button 4")
'Sc.Print RetVal
'RetVal = Sc.ButtonBox("Prompt String", vbExclamation + vbDefaultButton1, , "Button 1")
'Sc.Print RetVal
'End sub
ed