ATtiny85 programming hardware

UPDATE:

PCBs have been made and I'll be debugging them soon. I did make quite a few changes though to the design presented above.

  • The control processor is now an ATmega328 with an FTDI chip to give USB comms to the PC. This is now affectively an Arduino clone.
  • Hardware MUX added to multiplex the SPI signals so the 861 can more closely emulate the 85
  • Three-wire QUUBmon interface added between the 861 and 328 so the program being developed can talk to to outside world.

Latest schematics here.

http://emul8or.robgray.com/documentation/docs/emul8orMkI-sch.pdf

Also I've written much of a monitor program. This comes in two parts.

  • ASM code running on the target processor. This sits on the watch dog interrupt and serves data one byte at a time to the control processor. This runs entirely in the background and uses almost no target resources.
  • Arduino code running on the 328. This handles a set of commands from the PC, asks for data from the target processor, and returns the data suitably formated.

You talk to the monitor with any terminal program, for example

QM> r
   00-01-02-03-04-05-06-07-08-09-10-11-12-13-14-15
   00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15    ................
   16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31    .... !"#$%&'()01
   16-17-18-19-20-21-22-23-24-25-26-27-28-29-30-31
  X         Y         Z         SP          SR
  2726(00)  2928(31)  3130(29)  0258(00B8)  28 itHsVnzc

Is the display returned for the "r" command (registers).

Note that at this point the monitor only works with absolute addresses in HEX format and as such is more aimed at assembly programmers. However I plan to write a GUI front end which should be able to interrogate the MAP file and work symbolically.


Rob