Re: ATN questions on the serial bus

From: Spiro Trikaliotis (trik-news_at_gmx.de)
Date: 2003-06-10 18:39:41

Hello,

On Tue, Jun 10, 2003 at 03:19:26PM +0200, Rhialto wrote:

> I seem to remember that this is only really true of the original
> parallel version. I wanted to re-implement BAID's "spool" command on the
> 64 (BAID = Basic AID) and it didn't work. Something was preventing the
> communication between disk and printer. In the end I made an
> interrupt-driven program to do the spooling.

It does work. In the book "Die Floppy 1541" [1], the author gives a working
solution to this. This routine can be found in some 64'er, too, from the
same author.

The routine can be found from page 140 on:

033C JSR $0079    CHRGOT, get last character read
033F BEQ $0384    none, we're done (end of spooling)
0341 JSR $FFE7    CLALL; close all channels
0344 LDY #$00     Output "SPOOLING " on screen
0346 LDA $03A5,Y
0349 BEQ $0351
034B JSR $FFD2
034E INY
034F BNE $0346
0351 JSR $E254    Get file name from BASIC input
0354 JSR $F5C1    Output filename on screen
0357 LDX $B7      Get length of file name
0359 BEQ $03C1    Zero, give a "SYNTAX ERROR"
035B LDA #$01
035D LDX #$08
035F LDY #$02
0361 JSR $FFBA    Set file parameter (like OPEN 1,8,2)
0364 JSR $FFC0    Perform the OPEN
0367 LDA #$04
0369 JSR $FFB1    Send listen to the printer
036C JSR $EDBE    Send secondary address to the printer
036F LDX #$01
0371 JSR $FFC6    Set input device
0374 JSR $EDBE    Send secondary address to the floppy
0377 JSR $EE85    Initialize bus
037A JSR $EE97
037D LDA #$00     Reset devices
037F STA $99
0381 STA $98
0383 RTS          End; spooling has already started

0384 LDA #$01
0386 STA $98
0388 JSR $FFAE    Send UNLISTEN to the printer
038B JSR $FFAB    Send UNTALK to the floppy
038E LDA #$01
0390 JSR $FFC3    Close file on floppy
0393 LDY #$00
0395 LDA $03AF,Y  Output "end of spooling"
0398 BEQ $03A0
039A JSR $FFD2
039D INY
039E BNE $0395
03A0 LDA #$00     Return to BASIC   
03A2 JMP $A474

03A5 53 50 4F 4F 4C 49 4E 47 "SPOOLING"
03AD 20 00                   " ", 0
03AF 45 4E 44 20 4F 46 20 53 "END OF S"
03B7 50 4F 4F 4C 49 4E 47 8D "POOLING
03BF 00 00

03C1 JMP $AF08    Output "SYNTAX ERROR"

(Listing 10-1).

(english comments from me, I hope I did not make any mistakes in
typing it in)

Greetz,
   Spiro.

[1] Karsten Schramm, "Die Floppy 1541." Markt&Technik Verlag, Haar bei
München, 1985, ISBN 3-89090-098-4.


       Message was sent through the cbm-hackers mailing list

Archive generated by hypermail pre-2.1.8.