hoglet67 / MMFS

Modern SD Card File System for Acorn 8-bit Machine (Master, Beeb, Electron)
68 stars 17 forks source link

Run FS Tester against MMFS #13

Closed hoglet67 closed 5 years ago

hoglet67 commented 5 years ago

https://github.com/tom-seddon/beeb-fstest

hoglet67 commented 5 years ago

MMFS 1.41; Second processor enabled:

  NOT ADFS
OSFILE SAVE
  BEFORE: A=&00 Lo=&00003103 Ex=&FFFF4321 Sz/St=&000040AA At/En=&000048AA "+.0"
   AFTER: A=&01 Lo=&00003103 Ex=&FFFF4321 Sz/St=&00000800 At/En=&00000000 "+.0"
  A=1 (&1)
OSFILE SAVE (REPLACE EXISTING)
  BEFORE: A=&00 Lo=&00003103 Ex=&FFFF4321 Sz/St=&000040AA At/En=&000048AA "+.0"
   AFTER: A=&01 Lo=&00003103 Ex=&FFFF4321 Sz/St=&00000800 At/En=&00000000 "+.0"
  A=1 (&1)
OSFILE LOAD (USER ADDRESS)
  BEFORE: A=&FF Lo=&000030B3 Ex=&FFFF4300 Sz/St=&00000800 At/En=&00000000 "+.0"
   AFTER: A=&01 Lo=&00003103 Ex=&FFFF4321 Sz/St=&00000800 At/En=&00000000 "+.0"
OSFILE LOAD (FILE ADDRESS)
  BEFORE: A=&FF Lo=&00003103 Ex=&FFFF4301 Sz/St=&00000800 At/En=&00000000 "+.0"
   AFTER: A=&01 Lo=&00003103 Ex=&FFFF4321 Sz/St=&00000800 At/En=&00000000 "+.0"
OSFILE 5 READ INFO
  OSFILE CHECK ATTRS: +.0
  BEFORE: A=&05 Lo=&FFFFFFFF Ex=&FFFFFFFF Sz/St=&FFFFFFFF At/En=&FFFFFFFF "+.0"
   AFTER: A=&01 Lo=&00003103 Ex=&FFFF4321 Sz/St=&00000800 At/En=&00000000 "+.0"
  OSFILE CHECK ATTRS: +.NO
  BEFORE: A=&05 Lo=&FFFFFFFF Ex=&FFFFFFFF Sz/St=&FFFFFFFF At/En=&FFFFFFFF "+.NO"
   AFTER: A=&00 Lo=&FFFFFFFF Ex=&FFFFFFFF Sz/St=&FFFFFFFF At/En=&FFFFFFFF "+.NO"
OSFILE WRITE LOAD/EXEC/ATTR
  OSFILE WRITE ATTRS: +.0, A=&1
  BEFORE: A=&01 Lo=&FFFF1234 Ex=&FFFF4321 Sz/St=&00000000 At/En=&00000008 "+.0"
   AFTER: A=&01 Lo=&FFFF1234 Ex=&FFFF4321 Sz/St=&00000000 At/En=&00000008 "+.0"
  OSFILE CHECK ATTRS: +.0
  BEFORE: A=&05 Lo=&FFFFFFFF Ex=&FFFFFFFF Sz/St=&FFFFFFFF At/En=&FFFFFFFF "+.0"
   AFTER: A=&01 Lo=&FFFF1234 Ex=&FFFF4321 Sz/St=&00000800 At/En=&00000008 "+.0"
  OSFILE WRITE ATTRS: +.NO, A=&1
  BEFORE: A=&01 Lo=&00000000 Ex=&00000000 Sz/St=&00000000 At/En=&00000000 "+.NO"
   AFTER: A=&00 Lo=&00000000 Ex=&00000000 Sz/St=&00000000 At/En=&00000000 "+.NO"
OSFILE WRITE ATTRS
  OSFILE WRITE ATTRS: +.0, A=&4
  BEFORE: A=&04 Lo=&FFFF4321 Ex=&FFFF1234 Sz/St=&00000000 At/En=&00000000 "+.0"
   AFTER: A=&01 Lo=&FFFF4321 Ex=&FFFF1234 Sz/St=&00000000 At/En=&00000000 "+.0"
  OSFILE CHECK ATTRS: +.0
  BEFORE: A=&05 Lo=&FFFFFFFF Ex=&FFFFFFFF Sz/St=&FFFFFFFF At/En=&FFFFFFFF "+.0"
   AFTER: A=&01 Lo=&FFFF1234 Ex=&FFFF4321 Sz/St=&00000800 At/En=&00000000 "+.0"
  OSFILE WRITE ATTRS: +.NO, A=&4
  BEFORE: A=&04 Lo=&00000000 Ex=&00000000 Sz/St=&00000000 At/En=&00000000 "+.NO"
   AFTER: A=&00 Lo=&00000000 Ex=&00000000 Sz/St=&00000000 At/En=&00000000 "+.NO"
OSFILE WRITE LOAD
  OSFILE WRITE ATTRS: +.0, A=&2
  BEFORE: A=&02 Lo=&FFFF5678 Ex=&FFFF8765 Sz/St=&00000000 At/En=&00000008 "+.0"
   AFTER: A=&01 Lo=&FFFF5678 Ex=&FFFF8765 Sz/St=&00000000 At/En=&00000008 "+.0"
  OSFILE CHECK ATTRS: +.0
  BEFORE: A=&05 Lo=&FFFFFFFF Ex=&FFFFFFFF Sz/St=&FFFFFFFF At/En=&FFFFFFFF "+.0"
   AFTER: A=&01 Lo=&FFFF5678 Ex=&FFFF4321 Sz/St=&00000800 At/En=&00000000 "+.0"
  OSFILE WRITE ATTRS: +.NO, A=&2
  BEFORE: A=&02 Lo=&00000000 Ex=&00000000 Sz/St=&00000000 At/En=&00000000 "+.NO"
   AFTER: A=&00 Lo=&00000000 Ex=&00000000 Sz/St=&00000000 At/En=&00000000 "+.NO"
OSFILE WRITE EXEC
  OSFILE WRITE ATTRS: +.0, A=&3
  BEFORE: A=&03 Lo=&FFFF1234 Ex=&FFFF8765 Sz/St=&00000000 At/En=&00000008 "+.0"
   AFTER: A=&01 Lo=&FFFF1234 Ex=&FFFF8765 Sz/St=&00000000 At/En=&00000008 "+.0"
  OSFILE CHECK ATTRS: +.0
  BEFORE: A=&05 Lo=&FFFFFFFF Ex=&FFFFFFFF Sz/St=&FFFFFFFF At/En=&FFFFFFFF "+.0"
   AFTER: A=&01 Lo=&FFFF5678 Ex=&FFFF8765 Sz/St=&00000800 At/En=&00000000 "+.0"
  OSFILE WRITE ATTRS: +.NO, A=&3
  BEFORE: A=&03 Lo=&00000000 Ex=&00000000 Sz/St=&00000000 At/En=&00000000 "+.NO"
   AFTER: A=&00 Lo=&00000000 Ex=&00000000 Sz/St=&00000000 At/En=&00000000 "+.NO"
OSFILE DELETE
  BEFORE: A=&06 Lo=&00000000 Ex=&00000000 Sz/St=&00000000 At/En=&00000000 "+.0"
   AFTER: A=&01 Lo=&FFFF5678 Ex=&FFFF8765 Sz/St=&00000800 At/En=&00000000 "+.0"
  OSFILE CHECK ATTRS: +.0
  BEFORE: A=&05 Lo=&FFFFFFFF Ex=&FFFFFFFF Sz/St=&FFFFFFFF At/En=&FFFFFFFF "+.0"
   AFTER: A=&00 Lo=&FFFFFFFF Ex=&FFFFFFFF Sz/St=&FFFFFFFF At/En=&FFFFFFFF "+.0"
OSFILE CREATE
  BEFORE: A=&07 Lo=&FFFF2345 Ex=&FFFF5432 Sz/St=&00000000 At/En=&00000800 "+.0"
   AFTER: A=&00 Lo=&FFFF2345 Ex=&FFFF5432 Sz/St=&00000000 At/En=&00000800 "+.0"
  A=0 (&0)
  OSFILE CREATE NOT SUPPORTED?
OSFIND READ/OSBGET
  *SAVE +.0 40AA+800
OSFIND READ/PTR#/EXT#
OSFIND UPDATE
  *LOAD +.0 309F
OSFIND WRITE
  OSFILE CHECK ATTRS: +.0
  BEFORE: A=&05 Lo=&FFFFFFFF Ex=&FFFFFFFF Sz/St=&FFFFFFFF At/En=&FFFFFFFF "+.0"
   AFTER: A=&01 Lo=&000040AA Ex=&000040AA Sz/St=&00000000 At/En=&00000000 "+.0"
OSGBPB GET *DIR STATUS
  *DRIVE 0
   *DIR $
  DEV: "0"
  DIR: "$"
  *DRIVE 2
   *DIR X
  DEV: "2"
  DIR: "X"
  *DRIVE 0
   *DIR $
  DEV: "0"
  DIR: "$"
OSGBPB GET *LIB STATUS
  *LIB :0.$
  DEV: "0"
  DIR: "$"
  *LIB :2.X
  DEV: "2"
  DIR: "X"
  *LIB :0.$
  DEV: "0"
  DIR: "$"
OSGBPB WRITE BYTES TO BLOCK PTR, NO EXTEND
  PREPARE
  *SAVE +.0 309F+C8 0 0
  WRITE
OSGBPB WRITE BYTES TO BLOCK PTR, EXTENDING
  PREPARE
  *SAVE +.0 309F+C8 0 0
  WRITE
OSGBPB WRITE BYTES TO FILE PTR, NO EXTEND
  PREPARE
  *SAVE +.0 309F+C8 0 0
  WRITE
OSGBPB WRITE BYTES TO FILE PTR, EXTENDING
  PREPARE
  *SAVE +.0 309F+C8 0 0
  WRITE
OSGBPB READ BYTES FROM BLOCK PTR, NO EOF
  PREPARE
  *SAVE +.0 40AA+800 0 0
  READ
OSGBPB READ BYTES FROM BLOCK PTR, EOF
  PREPARE
  *SAVE +.0 40AA+800 0 0
  READ
OSGBPB READ BYTES FROM FILE PTR, NO EOF
  PREPARE
  *SAVE +.0 40AA+800 0 0
  READ
OSGBPB READ BYTES FROM FILE PTR, EOF
  PREPARE
  *SAVE +.0 40AA+800 0 0
  READ
CREATE TEST FILES
  *SAVE +.0 0+0
  *SAVE +.1 0+0
  *SAVE +.2 0+0
  *SAVE +.3 0+0
OSGBPB READ ONE NAME AT A TIME
  "0      "
  "1      "
  "2      "
  "3      "
OSGBPB READ N NAMES
OSGBPB READ N+1 NAMES
GOOD. TOOK 14.61 SECOND(S).
hoglet67 commented 5 years ago

MMFS 1.41; Second processor disabled:

SETUP...
  NOT ADFS
OSFILE SAVE
  BEFORE: A=&00 Lo=&00004A03 Ex=&FFFF4321 Sz/St=&000059AA At/En=&000061AA "+.0"
   AFTER: A=&01 Lo=&00004A03 Ex=&FFFF4321 Sz/St=&00000800 At/En=&00000000 "+.0"
  A=1 (&1)
OSFILE SAVE (REPLACE EXISTING)
  BEFORE: A=&00 Lo=&00004A03 Ex=&FFFF4321 Sz/St=&000059AA At/En=&000061AA "+.0"
   AFTER: A=&01 Lo=&00004A03 Ex=&FFFF4321 Sz/St=&00000800 At/En=&00000000 "+.0"
  A=1 (&1)
OSFILE LOAD (USER ADDRESS)
  BEFORE: A=&FF Lo=&000049B3 Ex=&FFFF4300 Sz/St=&00000800 At/En=&00000000 "+.0"
   AFTER: A=&01 Lo=&00004A03 Ex=&FFFF4321 Sz/St=&00000800 At/En=&00000000 "+.0"
OSFILE LOAD (FILE ADDRESS)
  BEFORE: A=&FF Lo=&00004A03 Ex=&FFFF4301 Sz/St=&00000800 At/En=&00000000 "+.0"
   AFTER: A=&01 Lo=&00004A03 Ex=&FFFF4321 Sz/St=&00000800 At/En=&00000000 "+.0"
OSFILE 5 READ INFO
  OSFILE CHECK ATTRS: +.0
  BEFORE: A=&05 Lo=&FFFFFFFF Ex=&FFFFFFFF Sz/St=&FFFFFFFF At/En=&FFFFFFFF "+.0"
   AFTER: A=&01 Lo=&00004A03 Ex=&FFFF4321 Sz/St=&00000800 At/En=&00000000 "+.0"
  OSFILE CHECK ATTRS: +.NO
  BEFORE: A=&05 Lo=&FFFFFFFF Ex=&FFFFFFFF Sz/St=&FFFFFFFF At/En=&FFFFFFFF "+.NO"
   AFTER: A=&00 Lo=&FFFFFFFF Ex=&FFFFFFFF Sz/St=&FFFFFFFF At/En=&FFFFFFFF "+.NO"
OSFILE WRITE LOAD/EXEC/ATTR
  OSFILE WRITE ATTRS: +.0, A=&1
  BEFORE: A=&01 Lo=&FFFF1234 Ex=&FFFF4321 Sz/St=&00000000 At/En=&00000008 "+.0"
   AFTER: A=&01 Lo=&FFFF1234 Ex=&FFFF4321 Sz/St=&00000000 At/En=&00000008 "+.0"
  OSFILE CHECK ATTRS: +.0
  BEFORE: A=&05 Lo=&FFFFFFFF Ex=&FFFFFFFF Sz/St=&FFFFFFFF At/En=&FFFFFFFF "+.0"
   AFTER: A=&01 Lo=&FFFF1234 Ex=&FFFF4321 Sz/St=&00000800 At/En=&00000008 "+.0"
  OSFILE WRITE ATTRS: +.NO, A=&1
  BEFORE: A=&01 Lo=&00000000 Ex=&00000000 Sz/St=&00000000 At/En=&00000000 "+.NO"
   AFTER: A=&00 Lo=&00000000 Ex=&00000000 Sz/St=&00000000 At/En=&00000000 "+.NO"
OSFILE WRITE ATTRS
  OSFILE WRITE ATTRS: +.0, A=&4
  BEFORE: A=&04 Lo=&FFFF4321 Ex=&FFFF1234 Sz/St=&00000000 At/En=&00000000 "+.0"
   AFTER: A=&01 Lo=&FFFF4321 Ex=&FFFF1234 Sz/St=&00000000 At/En=&00000000 "+.0"
  OSFILE CHECK ATTRS: +.0
  BEFORE: A=&05 Lo=&FFFFFFFF Ex=&FFFFFFFF Sz/St=&FFFFFFFF At/En=&FFFFFFFF "+.0"
   AFTER: A=&01 Lo=&FFFF1234 Ex=&FFFF4321 Sz/St=&00000800 At/En=&00000000 "+.0"
  OSFILE WRITE ATTRS: +.NO, A=&4
  BEFORE: A=&04 Lo=&00000000 Ex=&00000000 Sz/St=&00000000 At/En=&00000000 "+.NO"
   AFTER: A=&00 Lo=&00000000 Ex=&00000000 Sz/St=&00000000 At/En=&00000000 "+.NO"
OSFILE WRITE LOAD
  OSFILE WRITE ATTRS: +.0, A=&2
  BEFORE: A=&02 Lo=&FFFF5678 Ex=&FFFF8765 Sz/St=&00000000 At/En=&00000008 "+.0"
   AFTER: A=&01 Lo=&FFFF5678 Ex=&FFFF8765 Sz/St=&00000000 At/En=&00000008 "+.0"
  OSFILE CHECK ATTRS: +.0
  BEFORE: A=&05 Lo=&FFFFFFFF Ex=&FFFFFFFF Sz/St=&FFFFFFFF At/En=&FFFFFFFF "+.0"
   AFTER: A=&01 Lo=&FFFF5678 Ex=&FFFF4321 Sz/St=&00000800 At/En=&00000000 "+.0"
  OSFILE WRITE ATTRS: +.NO, A=&2
  BEFORE: A=&02 Lo=&00000000 Ex=&00000000 Sz/St=&00000000 At/En=&00000000 "+.NO"
   AFTER: A=&00 Lo=&00000000 Ex=&00000000 Sz/St=&00000000 At/En=&00000000 "+.NO"
OSFILE WRITE EXEC
  OSFILE WRITE ATTRS: +.0, A=&3
  BEFORE: A=&03 Lo=&FFFF1234 Ex=&FFFF8765 Sz/St=&00000000 At/En=&00000008 "+.0"
   AFTER: A=&01 Lo=&FFFF1234 Ex=&FFFF8765 Sz/St=&00000000 At/En=&00000008 "+.0"
  OSFILE CHECK ATTRS: +.0
  BEFORE: A=&05 Lo=&FFFFFFFF Ex=&FFFFFFFF Sz/St=&FFFFFFFF At/En=&FFFFFFFF "+.0"
   AFTER: A=&01 Lo=&FFFF5678 Ex=&FFFF8765 Sz/St=&00000800 At/En=&00000000 "+.0"
  OSFILE WRITE ATTRS: +.NO, A=&3
  BEFORE: A=&03 Lo=&00000000 Ex=&00000000 Sz/St=&00000000 At/En=&00000000 "+.NO"
   AFTER: A=&00 Lo=&00000000 Ex=&00000000 Sz/St=&00000000 At/En=&00000000 "+.NO"
OSFILE DELETE
  BEFORE: A=&06 Lo=&00000000 Ex=&00000000 Sz/St=&00000000 At/En=&00000000 "+.0"
   AFTER: A=&01 Lo=&FFFF5678 Ex=&FFFF8765 Sz/St=&00000800 At/En=&00000000 "+.0"
  OSFILE CHECK ATTRS: +.0
  BEFORE: A=&05 Lo=&FFFFFFFF Ex=&FFFFFFFF Sz/St=&FFFFFFFF At/En=&FFFFFFFF "+.0"
   AFTER: A=&00 Lo=&FFFFFFFF Ex=&FFFFFFFF Sz/St=&FFFFFFFF At/En=&FFFFFFFF "+.0"
OSFILE CREATE
  BEFORE: A=&07 Lo=&FFFF2345 Ex=&FFFF5432 Sz/St=&00000000 At/En=&00000800 "+.0"
   AFTER: A=&00 Lo=&FFFF2345 Ex=&FFFF5432 Sz/St=&00000000 At/En=&00000800 "+.0"
  A=0 (&0)
  OSFILE CREATE NOT SUPPORTED?
OSFIND READ/OSBGET
  *SAVE +.0 59AA+800
OSFIND READ/PTR#/EXT#
OSFIND UPDATE
  *LOAD +.0 499F
OSFIND WRITE
  OSFILE CHECK ATTRS: +.0
  BEFORE: A=&05 Lo=&FFFFFFFF Ex=&FFFFFFFF Sz/St=&FFFFFFFF At/En=&FFFFFFFF "+.0"
   AFTER: A=&01 Lo=&000059AA Ex=&000059AA Sz/St=&00000000 At/En=&00000000 "+.0"
OSGBPB GET *DIR STATUS
  *DRIVE 0
   *DIR $
  DEV: "0"
  DIR: "$"
  *DRIVE 2
   *DIR X
  DEV: "2"
  DIR: "X"
  *DRIVE 0
   *DIR $
  DEV: "0"
  DIR: "$"
OSGBPB GET *LIB STATUS
  *LIB :0.$
  DEV: "0"
  DIR: "$"
  *LIB :2.X
  DEV: "2"
  DIR: "X"
  *LIB :0.$
  DEV: "0"
  DIR: "$"
OSGBPB WRITE BYTES TO BLOCK PTR, NO EXTEND
  PREPARE
  *SAVE +.0 499F+C8 0 0
  WRITE
OSGBPB WRITE BYTES TO BLOCK PTR, EXTENDING
  PREPARE
  *SAVE +.0 499F+C8 0 0
  WRITE
OSGBPB WRITE BYTES TO FILE PTR, NO EXTEND
  PREPARE
  *SAVE +.0 499F+C8 0 0
  WRITE
OSGBPB WRITE BYTES TO FILE PTR, EXTENDING
  PREPARE
  *SAVE +.0 499F+C8 0 0
  WRITE
OSGBPB READ BYTES FROM BLOCK PTR, NO EOF
  PREPARE
  *SAVE +.0 59AA+800 0 0
  READ
OSGBPB READ BYTES FROM BLOCK PTR, EOF
  PREPARE
  *SAVE +.0 59AA+800 0 0
  READ
OSGBPB READ BYTES FROM FILE PTR, NO EOF
  PREPARE
  *SAVE +.0 59AA+800 0 0
  READ
OSGBPB READ BYTES FROM FILE PTR, EOF
  PREPARE
  *SAVE +.0 59AA+800 0 0
  READ
CREATE TEST FILES
  *SAVE +.0 0+0
  *SAVE +.1 0+0
  *SAVE +.2 0+0
  *SAVE +.3 0+0
OSGBPB READ ONE NAME AT A TIME
  "0      "
  "1      "
  "2      "
  "3      "
OSGBPB READ N NAMES
OSGBPB READ N+1 NAMES
GOOD. TOOK 96.38 SECOND(S).
hoglet67 commented 5 years ago

(Output was redirected to the serial port with *FX 3,1 and captured on a PC)