[zxspectrum] Re: Aiuto, il giochino mi va in crash!
- From: Marcello Zaniboni <marcello.zaniboni@xxxxxxxxx>
- To: zxspectrum@xxxxxxxxxxxxx
- Date: Wed, 16 Nov 2005 10:30:53 +0100
> la funzione doubletrunc e` pericolosa, perche` presuppone che la
> scrittura di un double includa sempre il . decimale. Non credo che
> questo sia specificato nello standard ANSI. Anzi, se un numero e` molto
> grande - fai conto un milione - potresti ottenere qualcosa come 1E6
> o similare. Credo che
> sprintf(output, "%.1f\0", value);
> faccia esattamente quello che chiedi dalla funzione doubletrunc. Se non
> funziona, ed il numero non viene scritto in formato esponenziale, penso
> che sia comunque piu` sicuro sostituire la riga
> sprintf(output, "%f", value);
> nella funzione doubletrunc con
> sprintf(output, "%f.0", value);
Quello che dici è vero; tuttavia anche io sono convinto che il
problema non sia in quella funzione. Sono stato costretto a scrivermi
quella funzione poiché z88dk non supporta %f.0 ma solo %f :-(
...comunque la metterò a posto.
> Comunque non credo che il problema sia li`, visto che il programma fa
> ancora in tempo a scrivere il numero troncato prima di crashare. Darei
> un'occhiata alla chiamata bit_fx(6), visto che le linee precedenti pare
> funzionare perfettamente, ma nessun suono e` prodotto.
Temo anche io e forse ne ho la prova definitiva: ho fatto questo test
#include <sound.h>
#include <stdio.h>
#define N_EFFECTS 7
#define N_TIMES 5
int main() {
int i, j;
putchar(12);
for (i = 0; i <= N_EFFECTS ; i++ )
for (j = 0; j < N_TIMES ; j++) {
printf("i=%d, j=%d\n", i, j);
bit_fx(i);
}
}
...e l'ho compklato con
zcc +zx -O3 -zorg=36864 -create-app -vn -lndos -lm -o fx2 fx2.c
E il risultato è stato incredibile: di tanto in tanto il colore del
bordo cambia inaspettatamente. Segno che qualcosa in qualche area di
memoria strana è stato modificato dalla funzione bit_fx(int)! Solo che
è scritta interamente in LM :-(
Il sorgente è qui:
http://cvs.sourceforge.net/viewcvs.py/z88dk/z88dk/libsrc/games/bit_fx.asm?rev=1.2&view=log
Grazie e ciao,
Marcello
- Follow-Ups:
- [zxspectrum] Re: Aiuto, il giochino mi va in crash!
- From: Paolo Ferraris
- References:
- [zxspectrum] Aiuto, il giochino mi va in crash!
- From: Marcello Zaniboni
- [zxspectrum] Re: Aiuto, il giochino mi va in crash!
- From: Paolo Ferraris
- [zxspectrum] Re: Aiuto, il giochino mi va in crash!
- From: Paolo Ferraris
Other related posts:
- » [zxspectrum] Aiuto, il giochino mi va in crash!
- » [zxspectrum] Re: Aiuto, il giochino mi va in crash!
- » [zxspectrum] Re: Aiuto, il giochino mi va in crash!
- » [zxspectrum] Re: Aiuto, il giochino mi va in crash!
- » [zxspectrum] Re: Aiuto, il giochino mi va in crash!
- » [zxspectrum] Re: Aiuto, il giochino mi va in crash!
- » [zxspectrum] Re: Aiuto, il giochino mi va in crash!
- » [zxspectrum] Re: Aiuto, il giochino mi va in crash!
- » [zxspectrum] Re: Aiuto, il giochino mi va in crash!
- » [zxspectrum] Re: Aiuto, il giochino mi va in crash!
- » [zxspectrum] Re: Aiuto, il giochino mi va in crash!
- » [zxspectrum] Re: Aiuto, il giochino mi va in crash!
- » [zxspectrum] Re: Aiuto, il giochino mi va in crash!
- [zxspectrum] Re: Aiuto, il giochino mi va in crash!
- From: Paolo Ferraris
- [zxspectrum] Aiuto, il giochino mi va in crash!
- From: Marcello Zaniboni
- [zxspectrum] Re: Aiuto, il giochino mi va in crash!
- From: Paolo Ferraris
- [zxspectrum] Re: Aiuto, il giochino mi va in crash!
- From: Paolo Ferraris