GithubHelp home page GithubHelp logo

Comments (6)

lutzbellmann avatar lutzbellmann commented on June 28, 2024

Hi mamejay,
I checked the circuit myself again with my adapter and could not find any issue(schematics should be ok).
Type of Zdiode should not matter, if >=5.6V. This is only there as a precaution to avoid any current flow towards the C64 during switching of the port.
If you have programmed a successfully, you should not be able to program the Attiny again with a serial programmer, since the fuses disable the reset port.
So the hex must be written first, and then the fuses. With a new t45 do:
avrdude -c arduino -P com3 -p t45 -b 19200 -U flash:w:C64_autofire.hex:i -B 1024
avrdude -c arduino -P com3 -p t45 -b 19200 -B 1024 -U lfuse:w:0xe2:m -U hfuse:w:0x57:m
I am not sure what Arduino IDE is actually doing, so this could be a hint.

from c64-autofire.

mamejay avatar mamejay commented on June 28, 2024

Thanks for that. I tried programming another chip by splitting programming as you mentioned and doing the fuses after.
After flashing the hex the chip was not recognised so could not apply the fuses.
I did another using the single line for AVRdude but same issues where the button does nothing.. Here is the output from the command.
Anyway might just put this one in the too hard basket. Thanks.

C:\Users\Jason\Google Drive\AVRDUDE>avrdude -c arduino -P com3 -p t45 -b 19200 -U flash:w:C64_autofire.hex:i -B 1024 -U lfuse:w:0xe2:m -U hfuse:w:0x57:m

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.04s

avrdude: Device signature = 0x1e9206 (probably t45)
avrdude: NOTE: "flash" memory has been specified, an erase cycle will be performed
To disable this feature, specify the -D option.
avrdude: erasing chip
avrdude: reading input file "C64_autofire.hex"
avrdude: writing flash (580 bytes):

Writing | ################################################## | 100% 1.15s

avrdude: 580 bytes of flash written
avrdude: verifying flash memory against C64_autofire.hex:
avrdude: load data flash data from input file C64_autofire.hex:
avrdude: input file C64_autofire.hex contains 580 bytes
avrdude: reading on-chip flash data:

Reading | ################################################## | 100% 0.59s

avrdude: verifying ...
avrdude: 580 bytes of flash verified
avrdude: reading input file "0xe2"
avrdude: writing lfuse (1 bytes):

Writing | ################################################## | 100% 0.04s

avrdude: 1 bytes of lfuse written
avrdude: verifying lfuse memory against 0xe2:
avrdude: load data lfuse data from input file 0xe2:
avrdude: input file 0xe2 contains 1 bytes
avrdude: reading on-chip lfuse data:

Reading | ################################################## | 100% 0.02s

avrdude: verifying ...
avrdude: 1 bytes of lfuse verified
avrdude: reading input file "0x57"
avrdude: writing hfuse (1 bytes):

Writing | ################################################## | 100% 0.03s

avrdude: 1 bytes of hfuse written
avrdude: verifying hfuse memory against 0x57:
avrdude: load data hfuse data from input file 0x57:
avrdude: input file 0x57 contains 1 bytes
avrdude: reading on-chip hfuse data:

Reading | ################################################## | 100% 0.02s

avrdude: verifying ...
avrdude: 1 bytes of hfuse verified

avrdude: safemode: Fuses OK (E:FF, H:57, L:E2)

avrdude done. Thank you.

from c64-autofire.

lutzbellmann avatar lutzbellmann commented on June 28, 2024

Sorry for the late reply. Don't give up yet.
Please try the following:

  • Take the Attiny, where you couldn't write the fuses after writing the hex
  • write the HEX again (not the fuses!), try a lower -B value in the AVRDUDE command line (Bitlock value)
  • try until you can consistently write the hex on the chip (start with -B 512, -B 256 , ...)
  • after that: write the fuses

Explanation:
For the autofire the clockspeed of the Attiny is adjusted to 31.25kHz. The Attiny can't keep up with the speed of the programmer, after you have written the hex with the standard Bitlock value of 1. Higher Bitlock values lower the frequency of certain programmers. 1024 worked for me, may be too much for your arduino programmer.

from c64-autofire.

mamejay avatar mamejay commented on June 28, 2024

Thanks for that. Just tried again with a fresh chip as the other one I have no idea were it went.
I get the same issue. I can program the hex once and then chip is not recognised. I try -B 512 -B 256 -B 128 -B 64 etc but same.
I will look at if there is limitations with the Uno.

from c64-autofire.

mamejay avatar mamejay commented on June 28, 2024

Looks like Uno as a ISP is not ideal.
https://forum.arduino.cc/index.php?topic=71973.0
Looks like the -B switch does not work with a UNO. Always handy to have another option. I will see if I can grab one locally here in Australia which will be pretty much impossible

from c64-autofire.

lutzbellmann avatar lutzbellmann commented on June 28, 2024

oh greetings to the other side of the world from Germany! :-)
I am pretty sure you will be able to find a decent programmer. Get a TL866 II+ or compatible. The thing can do almost anything; even locks open your dead chips.

from c64-autofire.

Related Issues (2)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.