Teletype hacking

Hi all, so I’m thinking about picking up a Teletype at some point in the new year. The mini-programming language looks fun (and like all good programmers I have a soft spot for LISPish languages).

I’ve had a bit of look through the source code, and while there are some bits that are bit too scary at first glance, adding opcodes seems fairly straightforward.

I’ve successfully got avr32-tools installed (after a bit of fiddling), compiled the firmware and even debugged some segfaults with the ‘simulator’.

Anyway… some questions:

Can I accidentally remove the DFU boot loader? From my brief research it looks like this is only possible if the fuses aren’t set correctly, and you can’t change fuses via DFU (only JTAG), is this correct?

On the modular dev page it mentions that there is a UART header available, do you know if it is compatible with this (“The pinouts on the connector are compatible with a standard FTDI header”) as I already have one.

Is it possible to order a Teletype with the UART header and the reset button pre-installed? (Please please don’t ask me to solder…)


there is no way to break the bootloader luckily-- you flash via the usb bootloader as described in the firmware update:

adding “ops” is incredibly straightforward.

re: serial cable, check against this one, which i use:

i can solder on a header and button for you if you send me an e-mail upon ordering direct from us!

also welcome!

1 Like

Just created a pull request…

As the title says, just some stuff to get the sim/tt binary working. I’m loathe to try changing much without hardware to test on, but I thought this would be a good place to start and it’s given be a bit of a chance to familiarise myself with the codebase.

thanks for fixing this. i abandoned the sim at some point of escalating complexity.

And another one

Basically I’ve made P.RM also return the value removed, it’s not amazingly more useful than using P.POP, but might be useful in a loop. Or to elegantly rotate a section of a pattern P.INS 0 P.RM 9.

At the same time if you feel it overcomplicates things, then feel free to reject it.

(also please double check my code, trivial as it is)

wonderful, thank you! merged.

Is the JTAG port easily accessible? (i.e. does it just need a header?)

Should hopefully be placing my order this week. Have done most of the work for a new op too…

reprogramming happens via USB using the dfu bootloader, and debug happens via UART (connected to an FTDI serial cable etc). e-mail me an i’ll pre-populate the debug port for you.

Is that old school print statement style debug? I think you can run gdb via the JTAG port on AVR32s. But if it’s not available… I’ve done plenty of coding in my time without access to a debugger.