Newsgroup: it.comp.os.dos
Titolo: Vecchie app dos

Ho visto che molti prg hanno il famoso problema "division by zero". Ho
provato con moslo, ma niente. Ho disattivato l'audio, ma niente. Dove sta il
problema allora? E' la piastra madre, la scheda video? Vi prego levatemi
questa curiosità!:|

In un tempo assai remoto John [
a...@ciaoweb.it
] decise di
plasmare questi bit zmC2e.36949$
zZ1.1...@twister1.libero.it
 a sua immagine
e somiglianza:

Hai provato ad usare un emulatore?
--
/\lessandro |)ogliotti - 
http://duglia.altervista.org
"Going to church doesn't make you a Christian anymore
  than going to a garage makes you a mechanic."

John ha scritto:

E' la CPU, che è troppo veloce.
Questi programmi DOS all'inizio "calibrano" i delay in base alla velocità
del processore. In pratica fanno una serie di conti e misurano quanto il
computer ci mette. Il problema sorge quando il processore è talmente
veloce che il tutto avviene prima che il timer scatti, per cui il tempo
impiegato è zero. Da qui ad ottenere una divisione per zero il passo è
breve.
Ci sono diverse patch disponibili per i compilatori DOS più diffusi. Per
esempio per il Turbo Pascal (che scrive cose tipo "Runtime error 200")
esistono su internet diversi programmi che risolvono il problema patchando
gli eseguibili. Ricordo che anche per il Clipper c'era qualcosa.
Cerca di capire che compilatore è stato usato per il programma, quindi
cerca su internet una eventuale soluzione.
Un emulatore può essere una soluzione, ma al crescere della potenza dei
processori diverrà di nuovo un problema.
Ciao
---
http://www.mariottini.net/roberto/
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

cerca su internet una eventuale soluzione.
Per rallentare č sufficiente intercettare l'interrupt del timer e
metterci un ciclo del tipo:
interrupt timer
{
for(i=0;i<NUMEROGRANDE;i++)
	/* Non fa niente, perdi tempo*/;
vecchiointerrupttimer();
}

 }
Magari!
Nel 1995 feci un programma simile, ed alcuni programmi tornarono a
funzionare sul mio 486 DX2-66. Ma col Pentium 200 non c'è storia: il loop
di calibrazione sta tutto in cache e fra pipeline, branch prediction e
compagnia bella, viene eseguito in un zillionesimo di secondo. Le volte
che andava bene il programma si inlooppava poco dopo, a causa del
rallentamento troppo spinto.
Esistono altri metodi, che possono anche funzionare, ma sono decisamente
più complicati.


 funzionare sul mio 486 DX2-66. Ma col Pentium 200 non c'è storia:
  Scusa se mi intrometto:
  Io, anni fa (credo intorno al  2000, anno piu` anno meno) risolsi il
seguente problema con moslo:
  Avevo un  picci` con  un Pentium 133.  Sul picci`  c'erano dos-6.22,
Win95, Win98 e WinNt4.
  Mi  regalarono un  AMD  400, e  scoprii che  la  scheda madre,  dopo
opportuno upgrade del Bios, poteva utilizzarlo.
  Ms-Dos,  Win98  e  WinNT4  riconobbero  il  nuovo  processore  senza
problemi, mentre Win95 si "impiantava"...
  Su  Internet, scoprii  che il  problema  era noto,  ed era  relativo
appunto  all'incapacita`   di  Win95  di  gestire   la  velocita`  del
processore...  trovai  anche  una  `patch' di  AMD  che  risolveva  il
problema, solo che doveva essere lanciata da Win95, appunto...
  Che fare?
  Tentai una carta disperata: dal momento  che con gli altri SO potevo
leggere e scrivere la partizione  con Win95, inserii moslo e modificai
l'autoexec.bat in modo che lo lanciasse all'avvio...
  Win95 parti`, potei  lanciare la patch, poi tolsi moslo,  e non ebbi
piu` alcun problema.
  Successivamente, provai  anche una cosa  strana (piu` che  altro per
rallentare  un  giuochino che  anche  con  moslo era  troppo  veloce):
lanciai moslo  piu` e piu`  volte: alla fine ottenni  il rallentamento
voluto.
  Poi non so, da allora non ho piu` avuto di questi problemi... ;)
-- 
Cio` che ho scritto, ho scritto.

 problema, solo che doveva essere lanciata da Win95, appunto...
Ricordo. L'ingegnere (perchè sicuramente era un ingegnere) che l'ha 
creato meriterebbe una pedata in c%%o per ogni utente win95 che l'ha 
utilizzata. In realtà una volta su dieci circa windows partiva.. 
Ecco... io ho atteso quella condizione... ;-)
-- 
On a clear disk you can seek forever.  - Denning
News 2000 [v 2.06] / StopDialer / PopDuster - 
http://www.socket2000.com
Akapulce portal: 
http://www.akapulce.net

  Che fare?
far il boot nel modo sicuro (safe mode) ed instalar da li il patch
amdk6upd.exe ...
-- 
˛˛  ˛˛		 Regards ,  SPAJKY ®
\\.//_.	 mail addr. @ my site @ 
http://www.spajky.vze.com
 \°/	 ".. long live & prosper.." - 3rd Anniversary running it: 
  ||	  "Tualatin OC-ed / BX-Slot1 / inaudible setup!"

 amdk6upd.exe ...
safe mode in windows95? Intendi la modalità provvisoria? Si 
inchiodava pure quella.
-- 
Computer and car salesmen differ in that the latter know when they are lying.


inchiodava pure quella.
allora apri quel amdk6upd.exe col WinZip e manualmente dal un altro SO
metti nelle cartelle di win95 quei files ...


 allora apri quel amdk6upd.exe col WinZip e manualmente dal un altro SO
Allora... Questo va bene per chi HA un altro SO ed un altro PC... Chi
ha fatto quella patch è un demente.
-- 
IBM: Infinite Budget Merchandising


ha fatto quella patch ?n demente.
allora estrai i files su un FD su un altro PC e mettilo nel FD drive
del quel computer;
quando lo avvii, premi F8 e vai nel command prompt e fai la operazione
nel DOS ....


 seguente problema con moslo:
Moslo č il classico esempio di programma che usa uno dei metodi
"decisamente
piů complicati" che citavo.


 del quel computer;
Allora non leggi...
-- 
Lady Thatcher: The origin of mad cow disease! 
