Subj : Re: Closing a file in Assembly on the VIC-20 To : Lawrence Woodman From : Lawrence Woodman Date : Fri Jun 18 2021 06:56:52 On Thu, 17 Jun 2021 18:56:16 -0000 (UTC), Lawrence Woodman wrote: > On Thu, 17 Jun 2021 11:29:57 -0000 (UTC), Tilmann Hentze wrote: > >> Lawrence Woodman wrote: >>> I have created a piece of code which replicates the problem below if >>> anyone has any ideas where I'm going wrong I'd be very grateful. >>> >>> [code snipped] >>> >>> main >>> lda #$07 ; Length of file name >>> ldx #>> ldy #>filename ; High byte of file name location >>> jsr SETNAM ; Set the name >> >>> lda #$08 ; Logical file number >>> ldx #$08 ; Device number >>> ldy #$01 ; Secondary address - $01 because saving >>> jsr SETLFS ; Set above parameters >> >> I'd switch the two previous blocks around, so that you first set up the >> channel and then set the file name. > > Thanks for the suggestion. I gave it a go but unfortunately it still > gives the same result. > > >>> [code snipped] >>> lda #$08 ; Logical file number >>> jsr CLOSE ; Close the file >> >> Looks good to me. Perhaps it will work with the first mentioned change? > > Sadly not. However, I'm not sure that a CLOSE is necessary as I noticed > in other code examples that it isn't used. I've tried without it and > also checked for errors via a carry after the SAVE but still no joy. If > you or anyone else has any ideas I'd love to get this working. I've managed to track down the problem. Because I was automating some of the testing around this I hadn't left a long enough delay before displaying the directory. It turns out that it takes a little longer than I expected for the SAVE command to complete the write. Once I left a bigger delay before checking the directory everything was fine. It also appears that there is no need to call CLOSE either. Best wishes Lorry --- Advanced Use of .LBR Files on CP/M https://techtinkering.com/articles/advanced-use-of-lbr-files-on-cpm/ --- SoupGate-Win32 v1.05 * Origin: Agency HUB, Dunedin - New Zealand | Fido<>Usenet Gateway (3:770/3) .