Prev: F34A Up: Map Next: F409
F3D5: send secondary address and filename
Used by the routines at F34A, F4A5 and F5ED.
F3D5 A5 B9 LDA $B9 get the secondary address
F3D7 30 FA BMI $F3D3 ok exit if -ve
F3D9 A4 B7 LDY $B7 get file name length
F3DB F0 F6 BEQ $F3D3 ok exit if null
F3DD A9 00 LDA #$00 clear A
F3DF 85 90 STA $90 clear the serial status byte
F3E1 A5 BA LDA $BA get the device number
F3E3 20 0C ED JSR $ED0C command devices on the serial bus to LISTEN
F3E6 A5 B9 LDA $B9 get the secondary address
F3E8 09 F0 ORA #$F0 OR with the OPEN command
F3EA 20 B9 ED JSR $EDB9 send secondary address after LISTEN
F3ED A5 90 LDA $90 get the serial status byte
F3EF 10 05 BPL $F3F6 if device present skip the 'device not present' error
F3F1 68 PLA else dump calling address low byte
F3F2 68 PLA dump calling address high byte
F3F3 4C 07 F7 JMP $F707 do 'device not present' error and return
F3F6 A5 B7 LDA $B7 get file name length
F3F8 F0 0C BEQ $F406 branch if null name
F3FA A0 00 LDY #$00 clear index
F3FC B1 BB LDA ($BB),Y get file name byte
F3FE 20 DD ED JSR $EDDD output byte to serial bus
F401 C8 INY increment index
F402 C4 B7 CPY $B7 compare with file name length
F404 D0 F6 BNE $F3FC loop if not all done
F406 4C 54 F6 JMP $F654 command serial bus to UNLISTEN and return
Prev: F34A Up: Map Next: F409