Re: C64 Kernal disassembly question

From: Jim Brain (
Date: 2004-05-20 04:09:25

Marko Mäkelä wrote:

>It's on a piece of paper somewhere, and also in a digital image.  It should
>be drawn in a vector-based language, such as Metapost or SVG.
If you find it, let me know.  I am drawing one up, but's it's slow going 
trying to put in all the relevant states.

>Would you be interested in porting the C2N232 firmware to your hardware, or
>to build a C2N232 clone?  Or someone else?  Any 8 MHz Atmel AVR microcontroller
>with built-in UART and two hardware interrupt inputs should do.  The tape
>interface routines can be stripped out.
I have a ATMEGA32 and I think an 8MHz crystal, but I'm tapped out on 
breadboards at present.  I will try to free one up.

>Yes, I think I'm using timer IRQs on the sender side.  On the receiving side,
>I'm just polling a timer/counter register with interrupts enabled.
Well, since I had luck with the other IRQs thus far, I'm going to add 
the timer for the EOI handshake delay (255 uS).

>Not necessarily:
I admire the idea of discarding the IRQ return and then returing to the 
calling function (I assume you return to the function that called 
sendsdelay).  But, my entire IRQ is IRQ driven, so I merely keep track 
of the protocol progress by changing a state flag in memory, so I don't 
have anything to return to (my main loop is doing other things, like 
handling the IP stack... 

My complexity comment stems from needing to monitor for 2 things during 
that timeframe.  Either the timer will pop (EOI), OR the CLK will go low 
(no EOI).  So, if the CLK drops, I need to stop the timer, but it's 
possible that the CLK IRQ happens, but before I can stop the timer IRQ, 
it times out and sets a pending IRQ.  So, what I really need to do is 
sto the timer in CLK LO, but if it pops anyway, check the state in the 
timer IRQ.  If it is not EOI_HANDSHAKE, don't set the EOI flag...

Not impossible to code for, just a bit more work....  We'll see if I can 
work it up tonight.


Jim Brain, Brain Innovations                      
Dabbling in WWW, Embedded Systems, Old CBM computers, and Good Times!

       Message was sent through the cbm-hackers mailing list

Archive generated by hypermail pre-2.1.8.