Newsgroup: it.comp.os.dos
Titolo: HELP int 24

Ciao a tutti.
Mi chiama un'amica chiedendomi un consiglio, ma non ho saputo darmelo. Mi
potete aiutare?
Ecco il problema.
Questa mia amica lavora in un'azienda di un commercialista. Portano la
contabilità ad aziende e memorizzano i dati su FLOPPY. e poi spediscono i
floppy a chi di competenza (forse FISCO????)
Sono stati chiamati dall'azienda a cui spediscono i floppy poiché i floppy
non sono leggibili.
Al che hanno preso le copie che restano a loro in archivio e hanno tentato
di leggerli, ma...
in windows98 il drive non li legge affatto !!!
andando da DOS e facendo DIR A: esce il nome del floppy (nessuna etichetta,
eh eh eh)
eppoi da
ERRORE SU INT 24.
Abbiamo pensato possa essere una qualche specie di protezione affinché
nessuno, a parte chi autorizzato, possa riusceire a leggere il contenuto del
floppy.
E' una spiegazione attendibile o i floppy sono stati scritti male?
Se è questione di protezione,
come mai non riesce a leggerlo neppure la mia amica che lo ha CREATO?
e neppure la ditta a cui lli spediscono?
PS: il floppy funziona.... testato con altri floppy, mentre tutti i floppy
"commerciali" non vengono aperti.
Datemi un vostro parere, thx
KeanuNoci
=======================================

ERRORE SU INT 24.
----------24---------------------------------
INT 24 - DOS 1+ - CRITICAL ERROR HANDLER
   invoked when a critical (usually hardware) error is encountered; should
   never be called directly
Critical error handler is invoked with:
	AH = type and processing flags
	    bit 7 clear = disk I/O error
		  set	= -- if block device, bad FAT image in memory
			  -- if char device, error code in DI
	    bit 6  unused
	    bit 5 = 1 if Ignore allowed, 0 if not (DOS 3+)
	    bit 4 = 1 if Retry allowed, 0 if not (DOS 3+)
	    bit 3 = 1 if Fail allowed, 0 if not (DOS 3+)
	    bit 2 \ disk area of error	00 = DOS area  01 = FAT
	    bit 1 /			10 = root dir  11 = data area
	    bit 0 = 1 if write, 0 if read
	AL = drive number if AH bit 7 clear
	BP:SI -> device driver header (BP:[SI+4] bit 15 set if char device)
	DI low byte contains error code if AH bit 7 set
	   00h write-protection violation attempted
	   01h unknown unit for driver
	   02h drive not ready
	   03h unknown command given to driver
	   04h data error (bad CRC)
	   05h bad device driver request structure length
	   06h seek error
	   07h unknown media type
	   08h sector not found
	   09h printer out of paper
	   0Ah write fault
	   0Bh read fault
	   0Ch general failure
	   0Dh (DOS 3+) sharing violation
	   0Eh (DOS 3+) lock violation
	   0Fh invalid disk change
	   10h (DOS 3+) FCB unavailable
	   11h (DOS 3+) sharing buffer overflow
	   12h (DOS 4+) code page mismatch
	   13h (DOS 4+) out of input
	   14h (DOS 4+) insufficient disk space
	STACK:	DWORD	return address for INT 24 call
		WORD	flags pushed by INT 24
		WORD	original AX on entry to INT 21
		WORD	BX
		WORD	CX
		WORD	DX
		WORD	SI
		WORD	DI
		WORD	BP
		WORD	DS
		WORD	ES
		DWORD	return address for INT 21 call
		WORD	flags pushed by INT 21
Handler must return:
	AL = action code
	    00h ignore error and continue processing request
	    01h retry operation
	    02h terminate program through the equivalent of INT 21/AH=4Ch
			(INT 20h for DOS 1.x)
	    03h fail system call in progress
	SS,SP,DS,ES,BX,CX,DX preserved
Notes:	the only DOS calls the handler may make are INT 21/AH=01h-0Ch,30h,59h
	if the handler returns to the application by popping the stack, DOS
	  will be in an unstable state until the first call with AH > 0Ch
	for DOS 3.1+, IGNORE (AL=00h) is turned into FAIL (AL=03h) on network
	  critical errors
	if IGNORE specified but not allowed, it is turned into FAIL
	if RETRY specified but not allowed, it is turned into FAIL
	if FAIL specified but not allowed, it is turned into ABORT
	(DOS 3+) if a critical error occurs inside the critical error handler,
	  the DOS call is automatically failed
---------------------------------------------
-- 
Ci sentiamo  |  Remigio Zedda
             |  
remi...@tiscalinet.it
ciao Remigio |                    kernel 2.2.17 su Slack 7.0

 wrote in message
Qf_G5.33586$Nz.10...@news.infostrada.it...


 "commerciali" non vengono aperti.
Sembrerebbe che siano pesantemente rovinati. Magari l'azienda alla 
quale li hanno inviati li ha rovinati senza volerlo.
-- 
News2000 1.5ß Version 
http://socket2000.8m.com

Credo che questa possa essere una risposta utile !!!
Ma come faccio a leggere il contenuto del registro DI per capire quale
errore è stato commesso?
e sufficiente andare con il DEBUG? ma sei sicuro che non mi viene modificato
l'ultimo valore di tale registro?
thx
KeanuNoci
rez <r...@mendo.300_A> wrote in message 8si5nq$j3$1...@pegasus.tiscalinet.it...


l'ultimo valore di tale registro?
Vai di push e pop;-) Ma forse non ti seguo, DI punta ad una locazione
in memoria..
================
[*] Per leggere i dati nei floppy, prova con un editor hex: modalita`
raw, cioe` lettura settori fisici del floppy.. a meno che non ci sia
errore alla traccia zero.


"commerciali" non vengono aperti.
Di che floppy parli? Drive sorgente o destinazione?
Fabrizio

OPS: mi rendo ora conto della CA**ATA che ho scritto:
intendevo dire che il DRIVE !!!!! funziona, nel senso che altri floppy
riesce a leggerli,
mentre tutti quelli realizzati con il programma di contabilità in oggetto,
risultano illeggibili !!!!
MAH
ciauz
