
|
[zxspectrum]
||
[Date Prev]
[07-2006 Date Index]
[Date Next]
||
[Thread Prev]
[07-2006 Thread Index]
[Thread Next]
[zxspectrum] RIF: zxspectrum Digest V3 #168
- From: "Stefano Bodrato" <stefano_bodrato@xxxxxxxxxxx>
- To: <zxspectrum@xxxxxxxxxxxxx>
- Date: Mon, 3 Jul 2006 01:41:09 -0700
>>Con la resistenza il gioco funziona perfettamente
hehe.. combinazione ho appena scritto una routine per Z88DK per fare il detect
della issue dello Spectrum.
Puoi provarla sul Badaloc ?
Non è precisa al 100% (da qualche problema con la Currah uSpeech inserita, ad
esempio), ma credo che sia accettabile.
>qui trovi lo schema originale usato all'interno della ula per gestire il
>registratore e il beeper, e' brevettato e secondo me e' una delle genialate
>dello spectrum..
Decisamente particolare, specialmente x come sfrutta alcune caratteristiche
passive dei semiconduttori !
-----Messaggio originale-----
Da: "FreeLists Mailing List Manager" <ecartis@xxxxxxxxxxxxx>
Inviato: domenica 2 luglio 2006 6.05
A: "zxspectrum digest users" <ecartis@xxxxxxxxxxxxx>
Oggetto: zxspectrum Digest V3 #168
zxspectrum Digest Sat, 01 Jul 2006 Volume: 03 Issue: 168
In This Issue:
[zxspectrum] Re: zxspectrum Digest V3 #167
[zxspectrum] Z88DK: Dimenticavo !
[zxspectrum] una resistenza per abu simbel
[zxspectrum] Re: una resistenza per abu simbel
----------------------------------------------------------------------
From: "Stefano Bodrato" <stefano_bodrato@xxxxxxxxxxx>
Subject: [zxspectrum] Re: zxspectrum Digest V3 #167
Date: Sat, 01 Jul 2006 14:24:32 +0200
>Subject: [zxspectrum] z88dk
>
>Buongiorno ragazzi,
ciao !
>vi leggo sempre ma non scrivo mai... :-(
>Adesso mi trovo in Bulgaria, per una settimanina di ferie, e guarda caso mi
>e' venuta la tentazione di installare e provare quanto in oggetto; pero'
>non riesco a fare un granche'.
>Ho estratto tutto il contenuto dello zip in c:\z88dk (che peraltro non mi
>piace... io ho tutto in h:\private\lavori\...), ho creato un semplice
>programmino che fa una printf("Hello, World!\n"); pero':
>
>1. con sccz80 riesco a creare il .asm (un po' strano come forma, ma presumo
>vada poi assemblato con z80asm...)
>2. con zcc mi da' il seguente errore:
>
>copy c:\z88dk\lib\z88_crt0.opt C:\WINNT\TEMP\s1nc_1.opt
>Impossibile trovare il file specificato.
>Cannot copy crt0 file
>
>Cosa devo fare? Quali sono gli step per avere un .asm da compilare (posso
>riparserizzarlo perche' sia compatibile col mio assemblatore, TASM 3.2,
>questo non e' un problema), che mi faccia un .obj in formato Intel Hex (ho
>visto che c'e' un'utility nel pacchetto che da un bin fa la stessa cosa),
>dal quale poi con un mio programma faccio un .tap
No, dovrebbe essere molto + semplice.
Se hai Windows installa direttamente il package, così ti vengono installate
le variabili d'ambiente automaticamente.
Consiglio di usare direttamente la directory proposta, con i puntamenti a
"bin", "lib" e "cfg" corretti.
Poi dai il comando:
zcc +zx -lndos -create-app tuoprogramma.c
-o-
zxx +zxansi -lndos -create-app tuoprogramma.c
>
>Poi...
>Non conosco il dk, ma e' veramente possibile scrivere codice c, compilarlo
>e usarlo sullo Speccy direttamente? Intendo dire, printf, scanf, - e altre
>funzioni di output, anche grafiche - funzionano direttamente sul display
>file dello Speccy?
>
Le funzioni di stdio e stdlib ci sono tutte, e anche una parte abbastanza
completa di fcntl.
Una delle due versioni delle librerie risponde anche alle sequenze di escape
VT/ANSI, colori e funzioni avanzate compresi (escluse le funzioni per
interrogare il terminale, come quelle per sapere in quale riga/colonna ci si
trova). Non sono mai riuscito a costruire una libreria "curses", più che
altro per pogrizia e ignoranza.
"fcntl" viene legato a driver specifici per la gestione del disco
(microdrive, plus3, o ZXVGS);sto giusto provando a costruire un driver
minimale che si interfacci al BASIC.
Ci sono poi delle funzioni grafiche "ad-hoc", che per lo Spectrum sono su
due livelli: quelle base monocromatiche portabili tra varie piattaforme Z80
e lo sprite pack, che gestisce colore e fotogrammi appoggiandosi alle
interrupt ed è molto performante.
Poi c'è string, malloc, tipi long floating point, ecc..
Non nascondo che il primo impatto è spesso negativo (prima dell'apporto di
Marcello la vita era ancora + dura.. non abbiamo risorse per investire sullo
"user friendly"), ma ne vale la pena.
------------------------------
From: "Stefano Bodrato" <stefano_bodrato@xxxxxxxxxxx>
Subject: [zxspectrum] Z88DK: Dimenticavo !
Date: Sat, 01 Jul 2006 17:03:22 +0200
Z88DK è composto di vari elementi (compilatore, preprocessore,
ottimizzatore, assembler/linker e convertitore) che con il comando da me
citato vengono concatenati automaticamente.
Il risultato è un file a.tap perfettamente eseguibile con un semplice LOAD
"".
il parametro -lndos carica la libreria "ndos", che è uno stub vuoto per non
utilizzare drive esterni.
Altre librerie includono genmath, zxmath(+ compatto), malloc.
------------------------------
From: "Alessandro" <apoppi@xxxxxxxx>
Subject: [zxspectrum] una resistenza per abu simbel
Date: Sat, 1 Jul 2006 17:10:29 +0200
Signire e signori, ecco la puttan*ta del primo luglio:
"Lo zx-badaloc e` in grado di far girare Abu Simbel Profanation solo se si
aggiunge una resistenza da 33K".
:-)
Mi spiego meglio (prima di essere buttato fuori)
Abu simbel profanation, che ho scaricato sul clone dopo aver visto la
versione flash reclamizzata in area qualche tempo fa, non proseguiva oltre
il menu` principale: la pressione dei tasti 2, 3 o 4 non sortiva alcun
effetto. Inutile dire che su RealSpectrum funzionava tutto alla perfezione.
Grazie a quest'ultimo, ho potuto scoprire una routine di lettura della
tastiera a dir poco machiavellica, che fa affidamento su tutti e 8 i bit
letti dalla porta $FE, per fare poi confronti e calcoli vari nei quali non
mi sono addentrato oltre un certo punto (l'inizio). :-)
Dato che su 8 bit ce ne sono 5 per la tastiera e due fissi a '1', non poteva
essere che un problema del bit EAR, che la mia CPLD riporta a '0' in assenza
di segnale audio. Per fare un esperimento l'ho negato ('1' in assenza di
segnale) e, come per magia, i tasti del menu` hanno preso a funzionare.
C'era pero` un problema: l'ometto si muoveva da solo come se tutti i tasti
fossero tenuti premuti, compreso il salto.
Mi sono allora letto la documentazione dell'originale, che riporto
testualmente:
Bit 6 of IN-Port 0xfe is the EAR input bit. The value read from this port is
not trivial, as can be seen from the following program:
10 OUT 254,BIN 11101111
20 PRINT IN 254
30 OUT 254,BIN 11111111
40 PRINT IN 254
50 GOTO 10For a correct test do not press any key while running, and
have no EAR input.
a.. If the output is 191,255,191,255 etc, you are on real Spectrum Issue
3.
b.. If output is always 191 or always 255, change the value in line 10 to
BIN 11100111.
c.. If output is then 191,255,191,255 etc, then you are on Spectrum Issue
2.
d.. If output is still always 191 or always 255 you are on Spectrum
emulator.
La mia interfaccia cassette non prevedeva alcun feedback fra l'output dei
bit SPK e MIC (D4 e D3 su $FE) e la lettura del bit EAR (D6 su $FE), per cui
il programma riportava sempre 255 (con la cpld modificata) oppure 191 (con
la versione originale). Riguardando lo schema che avevo sviluppato a suo
tempo, ho visto che sarebbe bastato inserire una resistenza (33K) fra il pin
1 e 5 dell'LM358. Grazie ad essa, il feedback ora funziona come su di uno
spectrum issue 3. Ho anche eliminato la modifica alla CPLD in quanto negava
il risultato, e questo non deve accadere.
Con la resistenza il gioco funziona perfettamente (sia i tasti nel menu` che
quelli durante il gioco).
Credo che non finiro` mai di trovare rogne.
Ciao!
------------------------------
Date: Sat, 01 Jul 2006 17:49:37 +0200
From: Mario <mario.prato@xxxxxxxx>
Subject: [zxspectrum] Re: una resistenza per abu simbel
>
>La mia interfaccia cassette non prevedeva alcun feedback fra
>l'output dei bit SPK e MIC (D4 e D3 su $FE) e la lettura del bit EAR
>(D6 su $FE), per cui il programma riportava sempre 255 (con la cpld
>modificata) oppure 191 (con la versione originale). Riguardando lo
>schema che avevo sviluppato a suo tempo, ho visto che sarebbe
>bastato inserire una resistenza (33K) fra il pin 1 e 5 dell'LM358.
>Grazie ad essa, il feedback ora funziona come su di uno spectrum
>issue 3. Ho anche eliminato la modifica alla CPLD in quanto negava
>il risultato, e questo non deve accadere.
>
>Con la resistenza il gioco funziona perfettamente (sia i tasti nel
>menu` che quelli durante il gioco).
qui trovi lo schema originale usato all'interno della ula per gestire
il registratore e il beeper, e' brevettato e secondo me e' una delle
genialate dello spectrum.. anche se ogni tanto porta rogne, ma piu'
che altro sono i programmatori poco accorti... :(
http://www.wearmouth.demon.co.uk/beep.gif
>Credo che non finiro` mai di trovare rogne.
benvenuto nel club ;)
ciaoo
--
Email.it, the professional e-mail, gratis per te: http://www.email.it/f
Sponsor:
Refill s.r.l. - Prodotti per TUTTE le stampanti sul mercato a prezzi sempre
convenienti. Dal 1993, leader nel compatibile di qualità in Italia.
Clicca qui: http://adv.email.it/cgi-bin/foclick.cgi?mid=5188&d=1-7
------------------------------
End of zxspectrum Digest V3 #168
********************************
|

|