From 92530f6b079233aef6a6d9294603fe121731b215 Mon Sep 17 00:00:00 2001 From: jonnosan Date: Sat, 22 Aug 2009 03:23:48 +0000 Subject: [PATCH] git-svn-id: http://svn.code.sf.net/p/netboot65/code@186 93682198-c243-4bdb-bd91-e943c89aac3b --- client/drivers/c64_disk_access.s | 52 ++++++++++++++++++--------- client/test/test_disk_io.s | 4 +-- doc/nb65_api_technical_reference.doc | Bin 151552 -> 177664 bytes 3 files changed, 37 insertions(+), 19 deletions(-) diff --git a/client/drivers/c64_disk_access.s b/client/drivers/c64_disk_access.s index 1b79b1d..53a88f4 100644 --- a/client/drivers/c64_disk_access.s +++ b/client/drivers/c64_disk_access.s @@ -13,6 +13,7 @@ .export io_track_no .export io_read_sector .export io_read_catalogue +.export io_read_catalogue_ex .export io_read_file_with_callback .export io_filename @@ -38,17 +39,19 @@ READST = $ffb7 SETNAM = $ffbd SETLFS = $ffba -.bss +.segment "SELF_MODIFIED_CODE" io_track_no: .res 2 io_sector_no: .res 1 - io_device_no: .res 1 + io_device_no: .byte 0 io_filename: .res 2 error_buffer = output_buffer + 256 command_buffer = error_buffer+128 sector_buffer_address: .res 2 buffer_counter: .res 1 -.data + extended_catalogue_flag: .res 1 + + drive_id: .byte 08 ;default to drive 8 jmp_to_callback: @@ -61,7 +64,7 @@ tmp_buffer_ptr=write_byte_to_buffer+1 sta $ffff inc tmp_buffer_ptr bne :+ - inc tmp_buffer_ptr + inc tmp_buffer_ptr+1 : rts @@ -176,14 +179,29 @@ parse_filename: ldy buffer_ptr+1 rts -;routine to catalogue disk +;routine to catalogue disk (with filename, filetype, filesize) ; io_device_number set to specify drive to use ($00 = same as last time, $01 = first disk (i.e. #8), $02 = 2nd disk (drive #9)) ; AX - address of buffer to read catalogue into ; outputs: ; on errror, carry flag is set. +; otherwise, buffer will be filled with asciiz filenames,followed by 1 byte filetype, followed by 2 byte file length (in 256 byte sectors) +; there is an extra zero at the end of the last file. +io_read_catalogue_ex: + stax tmp_buffer_ptr + lda #1 + bne extended_catalogue_flag_set + +;routine to catalogue disk (filenames only) +; io_device_number set to specify drive to use ($00 = same as last time, $01 = first disk (i.e. #8), $02 = 2nd disk (drive #9)) +; AX - address of buffer to read catalogue into +; outputs: +; on errror, carry flag is set. +; otherwise, buffer will be filled with asciiz filenames (and an extra zero at the end of the last filename) io_read_catalogue: stax tmp_buffer_ptr - + lda #0 +extended_catalogue_flag_set: + sta extended_catalogue_flag ;get the BAM lda #$12 sta io_track_no @@ -191,7 +209,7 @@ io_read_catalogue: sta io_sector_no ldax #output_buffer - jsr io_read_sector + jsr io_read_sector bcs @end_catalogue @get_next_catalogue_sector: @@ -216,9 +234,8 @@ io_read_catalogue: and #$7f beq @skip_to_next_file -; bpl @skip_to_next_file @get_next_char: - lda output_buffer+5,y ;file type + lda output_buffer+5,y ;file name beq @end_of_filename cmp #$a0 beq @end_of_filename @@ -232,6 +249,9 @@ io_read_catalogue: pha tay ;get Y back to start of this file entry + + lda extended_catalogue_flag ;do we need to include the 'extended' data? + beq @skip_to_next_file lda output_buffer+2,y ;file type jsr write_byte_to_buffer lda output_buffer+30,y ;lo byte of file length in sectors @@ -272,6 +292,7 @@ io_read_sector: sta drive_id @drive_id_set: jsr make_read_sector_command + ldax command_buffer lda #1 ldx #cname @@ -296,12 +317,8 @@ io_read_sector: jsr check_error_channel lda #$30 cmp error_buffer - beq @was_not_an_error - lda #NB65_ERROR_DEVICE_FAILURE - sta ip65_error - sec - rts - @was_not_an_error: + bne @error + ldx #$02 ; filenumber 2 jsr CHKIN ;(file 2 now used as input) @@ -327,8 +344,9 @@ io_read_sector: @error: lda #NB65_ERROR_DEVICE_FAILURE sta ip65_error - jmp @close - + jsr @close + sec + rts open_error_channel: lda #$00 ; no filename diff --git a/client/test/test_disk_io.s b/client/test/test_disk_io.s index 919167f..b5d84de 100644 --- a/client/test/test_disk_io.s +++ b/client/test/test_disk_io.s @@ -17,7 +17,7 @@ .import io_callback .import get_key .import ip65_error -.import io_read_catalogue +.import io_read_catalogue_ex .macro cout arg lda arg @@ -67,7 +67,7 @@ init: sta io_device_no ldax #directory_buffer - jsr io_read_catalogue + jsr io_read_catalogue_ex bcc @no_error_on_catalogue jsr print_error_code diff --git a/doc/nb65_api_technical_reference.doc b/doc/nb65_api_technical_reference.doc index 32e3bf5bb223124eb9506498eb7b71e15a56e4f6..8738964296a9b3bc086fb141d274fdde9e8d5adf 100644 GIT binary patch literal 177664 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 z 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