[zxspectrum] Re: R: Re: Riguardavo le Better Bytes Utility Disc x

  • From: Stefano Bodrato <stefano_bodrato@xxxxxxxxxxx>
  • To: <zxspectrum@xxxxxxxxxxxxx>
  • Date: Sun, 22 Mar 2015 18:04:47 +0100

No, non ho nessun problema riguardo la lettura dei settori. L'ultima mia
richiesta era se qualcuno sapeva come intercettare l'errore di lettura
di un blocco su Opus Discovery (non Disciple/Plus D).

EMG

Se comprendo bene il disassemblato del Discovery l'ultima "AND A" potrebbe rispondere alla tua domanda. Se ricordo bene il tuo codice si basa sulla stessa call, anche se non è troppo evidente.

1191 LOAD_NEXT LD   H,B               HL := current block.
              LD   L,C
              INC  BC                BC := next block.
              LD   (5C9E),BC         Store it in the descriptor
              LD   BC,+0200          Signal: load a full block.
              LD   A,(IX+07)         A := drive-number.
              PUSH DE                DE = startaddress to load.
              CALL 0FE5,CAL_PHY      Load the block.
              POP  HL                HL := startaddress to load
              LD   C,(IX+12)         BC := block-size.
              LD   B,(IX+13)
              ADD  HL,BC             HL := new startaddress.
              EX   DE,HL             Pass it to DE.
              AND  A                 Signal: success.
              RET


Other related posts: