Subj : Re: Closing a file in Assembly on the VIC-20
To   : Lawrence Woodman
From : Lawrence Woodman
Date : Fri Jun 18 2021 06:56 am

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 <[email protected]> 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  #<filename   ; Low byte of file name location
>>>             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)