I’ve wired the ATtiny13 like this:
ATtiny Pin1 – Uno Pin10
ATtiny Pin4 – Ground
ATtiny Pin5 – Uno Pin11
ATtiny Pin6 – Uno Pin12
ATtiny Pin7 – Uno Pin13
ATtiny Pin8 – 5v DC (VCC) Pin
Perhaps it may be easier at this point to refer to those pins as digital input/output (I/O) numbers used in Arduino sketches:
So, when you write something like
digitalWrite(0,LOW);, the "0" stands for digital pin 0, which in the standard Arduino library maps to a hardware pin called PD0 a.k.a. I/O Port D, pin 0. This just happens to be pin 2 on the actual Atmega168 IC chip but you never actually connect to the chip itself on the Uno board - you connect to the Uno using the numbering that's already "translated" from the chip pin numbers to Arduino C numbers.
Enter the ATTiny13. This time you need to connect to the actual chip since there's no development board between you and the MCU. Thus you need to know the hardware pin assignments, "un-translated" so to speak. Note that neither smizkitty's nor Damellis'es cores have their own translation table (it would be in the
pins_arduino.c files distributed with the cores but this file is an empty placeholder in both ATtiny13 cores) and therefore they use the standard Arduino translation table, which is designed for a much larger Atmega168 chip.
So, if you've written
digitalWrite(0,LOW); , you would still be addressing "Port D, Pin 0. But ATtiny13 is a
tiny 
IC, it does not have a Port D! All it has is 6xI/Os in
Port B.
Still with me? This is where the mapping comes together: if you are using a core that does not have its own pin translation table (and, to complicate the matters, the
MIT core does!), you have to address the pins as you would address the corresponding pins of the proper port on a large Atmega168 chip. In other words, Port B, Pin 0 on Atmega168 chip is "Digital Pin 8", and so in order to light an LED connected to ATtiny13 hardware pin 5 (Port B, pin 0) you need to write
digitalWrite(8,LOW);.
So:
Pin 5 -> Port B, pin 0 ->
digitalWrite(8,LOW);Pin 6 -> Port B, pin 1 ->
digitalWrite(9,LOW);Pin 7 -> Port B, pin 2 ->
digitalWrite(10,LOW);Pin 2 -> Port B, pin 3 ->
digitalWrite(11,LOW);Pin 3 -> Port B, pin 4 ->
digitalWrite(12,LOW);Pin 1 -> Port B, pin 5 ->
digitalWrite(13,LOW);(note: this mapping only works with cores using standard Arduino pin/port numbering.
MIT tiny core re-maps the pins to a more convenient
D0=0 numbering)
I assume, through a resistor up to the positive
I still assume the other leg of the LED is up, which is why I wrote the command as
digitalWrite(13,LOW);I am just opening the Examples > Blink option and changing the LED from Pin 13 to Pin 4; I then have an LED on D4 (ATtiny13 pin 3) through a resistor to the rail.
ATtiny13 pin 3 > Port B, pin 4 -> digital output 12 ->
digitalWrite(12,LOW); > Note that you really need to avoid using D5 (pin #1) if you want to (easily) reprogram
> the ATTiny through ISP – it’s also the reset pin.
Avoid it, at which point? For general use? or for programming? I’m not avoiding it during programming, as I noted above. I’ve tried removing all connections after the sketch is uploaded, other than power, ground, and the LED, but no fix.
I meant, avoid using in your projects, just pretend you only have 5 I/Os, most especially for those projects still in development where you need to reprogram the chip many times using ISP. The Pin #1 is also the Reset and it's needed for ISP operation. By default, it is not available as PB5 (D5) - it's a reset by default, that's why ISP works on a brand new chip. You can burn the proper fuse and make it a PB5 but then you won't be able to program this chip in-circuit with ISP. You'd have to remove it from the circuit and program it in a specialized high-voltage programmer. It's still technically re-programmable but a PITA, that's why I said avoid pin 1.
Good luck! Please post about your progress here! I'm most curious to see the actual project that eventually comes out. The project-bragging section of the forum is here:
http://elabz.com/forums/post-your-projects/