Level shifting 3.3V to 12V without inversion

What if you leave the collector and pullup as is, but connect the base to your 3.3V supply through the base resistor, and connect the emitter to your logic output? When your control output is high, the base and emitter are the same voltage, so no current will flow and the transistor will be off. When your control output is low, base current will flow and the transistor will turn on. That would give you non-inverting logic. However, that means if the output is normally low, the transistor would be normally on, and current will be flowing most of the time. If a battery is involved, you probably want the transistor to be off most of the time. So changing your code logic may be the better choice.