]> git.sur5r.net Git - cc65/commitdiff
adapted to new parameters
authorcpg <cpg@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Wed, 18 Oct 2000 23:47:42 +0000 (23:47 +0000)
committercpg <cpg@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Wed, 18 Oct 2000 23:47:42 +0000 (23:47 +0000)
git-svn-id: svn://svn.cc65.org/cc65/trunk@381 b7a2c559-68d2-44c3-8de9-860c34a00d81

libsrc/atari/dio_cts.s
libsrc/atari/dio_stc.s

index 75a65a6700fd6e44dbe5e80924e4ace01232bb0d..013a926285fba45d88338f8a0a1dd7eb8b8ae0b0 100644 (file)
@@ -7,14 +7,17 @@
 ; cylinder and head 0 and returns as sector number the
 ; sector number it got
 ;
-; _sectnum_t __fastcall__ _dio_chs_to_snum(unsigned int cyl, unsigned int head, unsigned int sector);
-;
-; _driveid_t - 8bit
+; _sectnum_t __fastcall__ _dio_chs_to_snum(_dhandle_t handle,
+;                                          unsigned int cyl,
+;                                          unsigned int head,
+;                                          unsigned int sector);
+; _dhandle_t - 16bit (ptr)
 ; _sectnum_t - 16bit
 ;
 
        .export         __dio_chs_to_snum
-       .import         addsp4
+       .import         addsp4,popax
+       .importzp       ptr1
        .include        "atari.inc"
 
 .proc  __dio_chs_to_snum
        txa
        pha
        jsr     addsp4          ; ignore other parameters
+
+       jsr     popax
+       sta     ptr1
+       stx     ptr1+1
+       ldy     #sst_flag
+       lda     (ptr1),y
+       and     #128
+       beq     _inv_hand       ; handle not open or invalid
+
        pla
        tay
        pla
        rts
 
+_inv_hand:
+       pla
+       pla
+       ldx     #255
+       txa
+       rts
+
 .endproc
 
index 992eebe7060f9c2d9a8fa82b6ae307555457f533..d6f51e8992529425b14b59232582800faa32af5b 100644 (file)
@@ -6,17 +6,19 @@
 ; on the Atari this function is a dummy, it returns
 ; cylinder and head 0 and as sector the sectnum it got
 ;
-; void __fastcall__ _dio_snum_to_chs(_sectnum_t sect_num,
-;                                   unsigned int *cyl,
-;                                   unsigned int *head,
-;                                   unsigned int *sector);
+; void       __fastcall__ _dio_snum_to_chs(_dhandle_t handle,
+;                                          _sectnum_t sect_num,
+;                                          unsigned int *cyl,
+;                                          unsigned int *head,
+;                                          unsigned int *sector);
+; _dhandle_t - 16bit (ptr)
 ; _sectnum_t - 16bit
 ;
 
        .export         __dio_snum_to_chs
        .include        "atari.inc"
        .importzp       ptr1,ptr2
-       .import         popax
+       .import         popax,addsp2
 
 .proc  __dio_snum_to_chs
 
@@ -46,6 +48,8 @@
        txa
        sta     (ptr1),y
 
+       jsr     addsp2
+
        rts
 
 .endproc