Re: C64 Kernal disassembly question

From: Marko Mäkelä (
Date: 2004-05-20 09:55:26

Hi Adrian,

> I have a home-made logic analyzer that I've used to analyze the IEC 
> protocol.

Nice.  I've been thinking of making a simple USB-based logic analyzer from
a FTDI FT245, but I haven't had time to do it yet.

> IIRC the C2N232 uses an at90s2313 at 8mhz?  I believe I have a 2313 I can
> spare to build a cn232.

Excellent!  I've made the code from December 11 available at
<URL:>.  The file has the wiring

      RESET  1. \/  20 VCC
RxD   PD0    2      19 PB7  CTS
TxD   PD1    3      18 PB6  RTS
      XTAL1  4  AT  17 PB5  RxD
      XTAL2  5 90S  16 PB4  MOTOR (tape)
ATN   PD2    6 2313 15 PB3  READ (tape)
CLK   PD3    7      14 PB2  RESET (for serial bus; not used yet)
DATA  PD4    8      13 PB1
SRQ   PD5    9      12 PB0  SENSE (tape)
      GND   10      11 PD6  WRITE (tape)

You'll need to wire the serial line (RxD, TxD, CTS, RTS) to a MAX232
to enable in-system programming with my CISP tool, and communications
when the system is running.  See the schematic in
for a reference design.  It's now also in PNG format, if you don't want to
or can't install Eagle.

> I don't really need the connections to the c64's tape port for this right?


> (except maybe vcc/gnd?).

I think you can get vcc elsewhere, but then it might be a good idea to add
some buffering to the serial bus lines.  I've connected the bus directly to
the pins of the AT90S2313.

> If I do this, what should I try to sample?

First, you should check that SAVE and LOAD works.  I have some notes on
how to do this somewhere, but I can't find them right now.

Sending a command to the drive, such as the equivalent of
OPEN1,8,15,"I":CLOSE1.  It'd be very helpful if you could also
debug the code, because my family is keeping me busy these days.

> My analyzer only has 128k of ram which are good for some 128mS at 
> about a sample per cycle.  I could sample a little slower if necessary 
> though.

I think that 128 ms is enough.  If I remember correctly, the protocol
hangs already at the end of the first byte sent under ATN.


       Message was sent through the cbm-hackers mailing list

Archive generated by hypermail pre-2.1.8.