75Fermer77
PpHdLe 21/07/2009 à 22:14
The patch for V200 integrated in RC7:
--- a/src/Link.asm
+++ b/src/Link.asm
@@ -809,6 +809,11 @@ TranslatePacket                                    ; Translate Packet
 \DirLoop                       move.l  a0,d0
                                beq.s   \DirDone
                                add.w   #8+2+4,d4               ; One more file 
+               ifd     V200                                    ; V200 has eight bytes which always have a value of 0 at the end of a directory 
+                               addq.w  #8,d4                   ; One more file 
+                               clr.l   -(a7)                   ; Make it nulls
+                               clr.l   -(a7)                   ; Make it nulls
+               endif
                                lea     -(8+2+4)(a7),a7         ; Alloca on the stack
                                move.l  SYM_ENTRY.name(a0),(a7)         ; Copy SYM NAME (1)
                                move.l  SYM_ENTRY.name+4(a0),4(a7)      ; Copy SYM NAME (2)
@@ -841,6 +846,12 @@ TranslatePacket                                    ; Translate Packet
 \DirDone               ; First Entry is the folder itself if isn't home
                        move.l  a3,d0                           ; Check if it is home
                        beq.s   \NoAddFolderEntry
+                               add.w   #8+2+4,d4               ; One more file
+               ifd     V200                                    ; V200 has eight bytes which always have a value of 0 at the end of a directory 
+                               addq.w  #8,d4                   ; One more file 
+                               clr     -(a7)
+                               clr     -(a7)
+               endif
                                clr.l   -(a7)                   ; Len = 0
                                move.w  #$1F00,-(a7)            ; Type & Flags
                                subq.l  #8,a7                   ; Alloca on the stack
@@ -851,7 +862,6 @@ TranslatePacket                                     ; Translate Packet
                                moveq   #8-1,d0                 
 \FoldNameLoop                          move.b  (a3)+,(a0)+     ; Copy 8 chars
                                        dbf     d0,\FoldNameLoop        ; Name
-                               add.w   #8+2+4,d4               ; One more file 
 \NoAddFolderEntry                      
                        ;       FreeHandle(PACKET_DATA_HD)
                        jsr     FreePacket


Do you know how can I test directory listing with tiemu?

[EDIT]: I have a small idea why it was detected as a 89 Titanium: The returned HW_VERSION shall be between 0 (HW1) 1 (HW2) or 2 (HW3). It returned 1, 2 or 3 instead...