I played some more with my ATtiny running the charlieplexing code trying to make it work from a 3V battery. If I understood the datasheet correctly, it should be able to work all the way down to 1.8V if the clock speed is below 1MHz. So I thought if I make use of the internal 128kHz oscillator, I should be fine.
Not so fast! (pun intended)

First of all, it was a rather dumb idea to begin with because the code depends very much on the delayMicroseconds() function and
it ain't gonna be no microseconds if the internal clock is running at 128kHz, then gets divided by 8 (by default). There's also a clock prescaler that further divides it by 8? I have to admit, I'm scraping the bottom of the barrel of my understanding of the hardware and it was a rather small barrel to begin with

So, is it then running at a whopping 2
kHz clock speed if the suggested 0x7B low fuse is used?
Anyhow, it looks like the timer with 128kHz internal oscillator gets severely off, maybe because I was trying to make it run the above mentioned delayMicroseconds() command several thousand times per second and it just did not have enough clocks in the second to actually do that?
In addition to the timer issues that I'm still struggling with (if I use anything other than the default 9.6MHz osc., 1/8 clock prescaler it ships with) , there's a less obvious issue with 128kHz clock. Once you burn the fuse for 128kHz, you lose communication to the chip! This is pretty scary, especially if you are not prepared (and I wasn't

). The programmer is now running too fast for the chip to respond during ICSP programming and it pretty much plays dead. I did not see it mentioned here, and it may not be a feature of the IDE 0022 that
smeezekitty tested with, but for IDE 1.0 I think the boards.txt record has to be changed (changes lifted from the other ATtiny core):
###########################################################################
attiny13.name=Attiny13 @ 128 KHz (internal watchdog oscillator)
attiny13.upload.using=arduino:arduinoisp
# attiny13.upload.protocol=avrispv2
attiny13.upload.maximum_size=1024
attiny13.upload.speed=250
attiny13.bootloader.low_fuses=0x7B
attiny13.bootloader.high_fuses=0xFF
attiny13.bootloader.unlock_bits=0x3F
attiny13.bootloader.lock_bits=0x3F
attiny13.build.mcu=attiny13
attiny13.build.f_cpu=128000
attiny13.build.core=core13
###############################################################
note the
attiny13.upload.speed=250 line - that should slow the programmer down enough.
Anyhow, getting back to the top of this post: I only messed with 128kHz trying to bring the Vcc down to 3V, and failed, even at 128kHz (never mind that the program did not run as expected because of timer issues anyhow). It only works from 5V supply.
Does anyone have any suggestions on how to make this chip run from a lower voltage? Oh, and I neglected to mention before: all ATtiny13 chips I have are labeled
ATTINY13 20PU - so are they ATtiny13 or ATtiny13A or does it even matter for the voltage supply?
Thanks!