Re: [hatari-devel] MFP Interrupt Regression

[ Thread Index | Date Index | More lists.tuxfamily.org/hatari-devel Archives ]


On Tuesday 18 June 2013 05:41, Nicolas Pomarède wrote:
> Le 17/06/2013 02:36, David Savinkoff a écrit :
> > Hi Nicolas,
> >
> > In hatari/src/psg.c :: PSG_Set_DataRegister()
> > A GPIP0 Printer BUSY interrupt is initiated because a printer
> > connected to the parallel printer port toggles the BUSY line.
> > This can be used to generate an interrupt on a Atari ST.
> >
> > This feature worked in hatari 1.6.2 and earlier (since 2008)
> >
> > The MFP code has recently been changed and these interrupts
> > stopped working.
> >
> > ( line 314 in hatari/src/psg.c )
> > /* Seems like we want to print something... */
> > Printer_TransferByteTo(PSGRegisters[PSG_REG_IO_PORTB]);
> > /* Initiate a possible GPIP0 Printer BUSY interrupt */
> > MFP_InputOnChannel ( MFP_INT_GPIP0 , 0 );  *** NOT WORKING ***
> >
> > Note GPIP1 Falcon ACK interrupt (3 lines further down)
> > is done, additionally, for the same reason.
> >
> > David
>
> Hello
>
> do you have a scenario I could use to see what's happening ?
>
> As MFP_InputOnChannel() is used and works in other parts, I don't
> immediatly see what could be wrong.
>
> Nicolas

Hi,

I spent a couple hours looking through Hatari code the other day,
then decided at pointing to where I thought the problem could
be.

Here is the test program. It is old stuff that I typed in from
"Programmining the 68000" ISBN 0-89588-133-0
and ported to my Atari 520 ST.

The code has a long delay before starting, allowing the floppy disk
drive (and associated interrupts) to stop before the program takes
over. The computer must be reset to exit this skeleton operating
system.

Extract the archive to an Atari directory then run the program.

The program sends text to a parallel printer that looks like this:
App2 -- Loop  Complete
App1 -- Delay Complete
App2 -- Loop  Complete
App2 -- Loop  Complete
App1 -- Delay Complete
App2 -- Loop  Complete
App1 -- Delay Complete
App2 -- Loop  Complete
App2 -- Loop  Complete
App1 -- Delay Complete
App2 -- Loop  Complete
App1 -- Delay Complete
App2 -- Loop  Complete
App2 -- Loop  Complete
App1 -- Delay Complete
App2 -- Loop  Complete

The latest Hatari sends, only, the first letter 'A'.
Hatari 1.6.2 works (compare with latest Hatari).

David

Attachment: LBOS.zip
Description: Binary data



Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/