diff -Nura uisp-20040311/src/DAPA.C uisp-marga/src/DAPA.C --- uisp-20040311/src/DAPA.C 2004-02-07 15:54:06.000000000 -0300 +++ uisp-marga/src/DAPA.C 2004-09-28 17:31:43.000000000 -0300 @@ -219,8 +219,6 @@ #define ABB_XTAL1 0x08 /* - XXX not yet supported, just documented here... - Atmel-ISP Download Cable (P/N ATDH1150VPC) (10-pin connector similar to Altera Byte Blaster, but no 3-state outputs) http://www.atmel.com/atmel/acrobat/isp_c_v5.pdf @@ -380,6 +378,7 @@ void TDAPA::ParportWriteCtrl() { + Info(5, "Control: %x \n", par_ctrl); if (ppdev_fd != -1) par_write_ctrl(ppdev_fd, &par_ctrl); else @@ -389,6 +388,7 @@ void TDAPA::ParportWriteData() { + Info(5, "Data: %x \n", par_data); if (ppdev_fd != -1) par_write_data(ppdev_fd, &par_data); else @@ -402,6 +402,8 @@ par_read_status(ppdev_fd, &par_status); else par_status = ioport_read(IOBASE+1); + + Info(5,"Status: %x \n", par_status); } void @@ -428,6 +430,7 @@ { if (reset_invert) b = !b; + Info(4, "Reseting: %d\n", b); switch (pa_type) { case PAT_DAPA: if (b) par_ctrl |= DAPA_RESET; else par_ctrl &= ~DAPA_RESET; @@ -444,6 +447,11 @@ ParportWriteData(); break; + case PAT_ATDH: + if (b) par_ctrl |= ATDH_RESET; else par_ctrl &= ~ATDH_RESET; + ParportWriteCtrl(); + break; + case PAT_PARAVRISP: if (b) par_data |= AISP_RESET; else par_data &= ~AISP_RESET; ParportWriteData(); @@ -520,6 +528,11 @@ ParportWriteData(); break; + case PAT_ATDH: + if (b) par_ctrl |= ATDH_SCK; else par_ctrl &= ~ATDH_SCK; + ParportWriteCtrl(); + break; + case PAT_PARAVRISP: if (b) par_data |= AISP_SCK; else par_data &= ~AISP_SCK; ParportWriteData(); @@ -580,6 +593,7 @@ switch (pa_type) { case PAT_DAPA: case PAT_FBPRG: + case PAT_ATDH: case PAT_DT006: case PAT_ETT: case PAT_MAXI: @@ -697,6 +711,7 @@ case PAT_DAPA: case PAT_ABB: + case PAT_ATDH: case PAT_PARAVRISP: case PAT_BSD: case PAT_FBPRG: @@ -706,7 +721,7 @@ case PAT_XIL: case PAT_DASA: case PAT_DASA2: - /* no separate enable for SCK nad MOSI */ + /* no separate enable for SCK and MOSI */ break; } } @@ -752,6 +767,11 @@ ParportWriteData(); break; + case PAT_ATDH: + if (b) par_data |= ATDH_DOUT; else par_data &= ~ATDH_DOUT; + ParportWriteData(); + break; + case PAT_PARAVRISP: if (b) par_data |= AISP_DOUT; else par_data &= ~AISP_DOUT; ParportWriteData(); @@ -819,6 +839,7 @@ b = (par_status & ETT_DIN); break; case PAT_STK200: + case PAT_ATDH: case PAT_PARAVRISP: case PAT_BSD: case PAT_FBPRG: @@ -866,6 +887,11 @@ par_data = 0xFF & ~ABB_SCK; break; + case PAT_ATDH: + par_ctrl = ATDH_RESET; + par_data = 0xFF; + break; + case PAT_PARAVRISP: par_ctrl = 0; par_data = 0xFF & ~(AISP_ENA | AISP_SCK); @@ -924,6 +950,7 @@ { unsigned int mask, received=0; + Info(4, "Sending: %d \n", b); for (mask = 0x80; mask; mask >>= 1) { OutData(b & mask); SckDelay(); @@ -937,6 +964,7 @@ received |= mask; OutSck(0); } + Info(4, "Received: %d \n", received); return received; } @@ -988,6 +1016,8 @@ pa_type = PAT_STK200; else if (val && strcmp(val, "abb") == 0) pa_type = PAT_ABB; + else if (val && strcmp(val, "atdh") == 0) + pa_type = PAT_ATDH; else if (val && strcmp(val, "paravrisp") == 0) pa_type = PAT_PARAVRISP; else if (val && strcmp(val, "bsd") == 0) @@ -1120,6 +1150,11 @@ at89 = 1; } + if (GetCmdParam("-d89S52",false)) { + reset_invert = 0; + at89 = 1; + } + if ((val=GetCmdParam("-dinvert"))) { #define MAXLINESIZE 256 diff -Nura uisp-20040311/src/DAPA.h uisp-marga/src/DAPA.h --- uisp-20040311/src/DAPA.h 2004-02-07 15:54:06.000000000 -0300 +++ uisp-marga/src/DAPA.h 2004-09-28 17:32:01.000000000 -0300 @@ -43,9 +43,9 @@ class TDAPA { public: - enum TPaType{ PAT_DAPA, PAT_STK200, PAT_ABB, PAT_PARAVRISP, PAT_BSD, - PAT_FBPRG, PAT_DT006, PAT_ETT, PAT_MAXI, PAT_XIL, - PAT_DASA, PAT_DASA2 }; + enum TPaType{ PAT_DAPA, PAT_STK200, PAT_ABB, PAT_ATDH, PAT_PARAVRISP, + PAT_BSD, PAT_FBPRG, PAT_DT006, PAT_ETT, PAT_MAXI, PAT_XIL, + PAT_DASA, PAT_DASA2 }; private: int mosi_invert; diff -Nura uisp-20040311/src/Main.C uisp-marga/src/Main.C --- uisp-20040311/src/Main.C 2004-02-07 15:54:06.000000000 -0300 +++ uisp-marga/src/Main.C 2004-09-28 17:34:16.000000000 -0300 @@ -92,6 +92,7 @@ " dapa Direct AVR Parallel Access\n" " stk200 Parallel Starter Kit STK200, STK300\n" " abb Altera ByteBlasterMV Parallel Port Download Cable\n" +" atdh Atmel-ISP Download Cable \n" " paravrisp [Unknown origin] Parallel port programmer\n" " bsd http://www.bsdhome.com/avrdude/ (parallel)\n" " fbprg http://ln.com.ua/~real/avreal/adapters.html (parallel)\n" @@ -125,6 +126,7 @@ " -dinvert=... Invert specified lines\n" " Use -v=3 option to see current settings.\n" " -d89 Allow parallel programming of AT89S51 and AT89S52 devices.\n" +" -d89S52 Allow parallel programming of AT89S52 devices (non inverted reset).\n" #endif "\n" "Atmel Low Cost Programmer Serial Device Settings:\n" diff -Nura uisp-20040311/src/stamp-h1 uisp-marga/src/stamp-h1 --- uisp-20040311/src/stamp-h1 1969-12-31 21:00:00.000000000 -0300 +++ uisp-marga/src/stamp-h1 2004-09-26 20:47:42.000000000 -0300 @@ -0,0 +1 @@ +timestamp for src/config.h