Ramsoft's
RealSpectrum

BETA release 9

Versione 0.75.20 (24 Dicembre 2000)
 
 

Sommario:


  1. Introduzione
  2. Caratteristiche
  3. Requisiti
  4. Utilizzo in generale (tastiera, selezione dei files, etc)
  5. Snapshots
  6. Tapes
  7. Dischi e Cartridges
  8. Video
  9. Audio
  10. Pokes (cheats) e opzioni di memoria
  11. Internet Networking (TCP/IP)
  12. DemoMode
  13. Domande frequenti (FAQ)
  14. Licenza, crediti e contatti
  15. Storia delle modifiche

1. Introduzione
Benvenuti a RealSpectrum, un emulatore di ZX Spectrum ad alta fedeltà che non scende a compromessi. Esso riproduce l'hardware dello Spectrum con un accuratezza mai vista prima ed è stato progettato per supportare le più avanzate caratteristiche per la più realistica esperienza audiovisiva.
E' il primo emulatore al mondo ad offrire la riproduzione esatta al 100% di tutti gli effetti multicolor che si vedono comunemente nelle demo ed in alcuni giochi, non solo sulla parte centrale dello schermo ma anche nel bordo. Emula fedelmente l'AY38912/YM2149 per un'ottima qualità sonora, con effetti stereo e surround. Carica istantaneamente (flashload) molti formati turbo (inclusi i giochi commerciali) grazie ad una nuova tecnica di caricamento, trattando i file TZX come snapshot o immagini di disco. Può caricare e salvare su cassette e dischi Spectrum reali, rispettivamente utilizzando la scheda audio e il lettore di floppy del PC. Emula la Sinclair Network su Internet e fornisce un sistema di chat per facilitare le comunicazioni. Inoltre, offre molte altre interessanti caratteristiche che fanno di RealSpectrum l'emulatore ideale per scrivere demo.
2. Caratteristiche
Questa è la lista delle caratteristiche attualmente implementate, ma molte altre seguiranno.
  • Il primo al mondo con una riproduzione esatta al 100% degli effetti multicolor! Abbiamo tirato fuori all'ULA tutti i suoi segreti (pant!) e siamo ora in grado di mostrare tutti gli stupefacenti effetti raster come sullo Spectrum vero!
  • MCR super preciso. Il multicolor renderer è preciso al clock e riproduce quindi esattamente tutti gli effetti raster orizzontali (per esempio, vedi il bordo su DOE e MDA).
  • Risoluzione selezionabile. RealSpectrum può girare su qualsiasi risoluzione (S)VGA e supporta tutti i modi VESA1/2/3 e tweaked X. A seconda della dimensione dello schermo, l'ampiezza superiore/inferiore e laterale del bordo viene automaticamente adattata.
  • Videoregistratore. E' possibile registrare l'output dello Spectrum in un filmato AVI compresso. La finestra del videoregistratore permette di settare diversi parametri.
  • Linee di scansione. Alle risoluzioni più elevate vengono mostrate le linee di scansione per rendere l'immagine più simile allo schermo TV.
  • Intefaccia grafica. Tutta l'interazione con l'utente avviene attraverso un sistema grafico a finestre che è tuttora in corso di sviluppo.
Abbiamo posto particolare attenzione alla qualità dell'audio:
  • Missaggio digitale dell'AY38912 ed emulazione dell'YM2149. Molto simile all'originale! Buona riproduzione degli inviluppi. Tutti i modplayers digitali (come DigiSynth, Morpheus, Soundtracker 2 e così via) funzionano bene.
  • Uscita sonora Mono/Stereo e 8/16-bit. Se si ha una scheda sonora che supporta la riproduzione stereo, RealSPECTRUM può funzionare in modalità stereo e offrire alcuni stupefacenti effetti.
  • Panning stereo da 256-steps. Ogni canale può essere spostato indipendentemente su 256 posizioni a partire dall'estrema sinistra fino all'estrema destra. Ci sono tre impostazioni predefinite: NONE (centrato), ABC e ACB stereo, ed inoltre è possibile definire la propria impostazione personalizzata.
  • Effetto surround! L'effetto surround migliora sensibilmente la profondità del suono, anche quando tutti i canali sono centrati! Il surround è ovviamente disponibile solo sulle schede audio stereo.
  • Bilanciamento relativo del volume del Beeper e dell'AY. Si può scegliere il volume relativo dell'AY rispetto a quello del beeper (256 steps), pompando così al massimo il tuo brano AY preferito! :-)
  • Registratore sonoro. E' possibile registrare l'audio su file WAV, AZX o YM per creare il tuo CD con le musiche dello Speccy. :-)
  • Supporto per AY-LPT. Con pochi chips e resistori si può collegare un AY-38912/10 vero a qualunque porta LPT del PC ottenendo così la perfetta qualità sonora dell'originale! (Da fare: migliorare la qualità del parlato a 4-bit).
L'emulazione della CPU è molto accurata, ogni aspetto del microprocessore Z80 è stato fedelmente riprodotto:
  • Caratteristiche non documentate. Non solo sono state emulate tutte le istruzioni non ufficiali, ma abbiamo anche riprodotto il comportamento non documentato del registro dei flags in ogni circostanza.
  • Emulazione precisa al clock. Ogni cosa avviene nel momento esatto in cui avviene nello Z80 reale (almeno si spera :-)); accesso al bus, rilevazione dell'interrupt e sua gestione, trasferimento dei dati e così via sono perfettamente calibrati e distribuiti nei vari stati macchina.
Questa è la lista dell'hardware attualmente emulato:
  • Modelli di ZX Spectrum: 16K, 48K, 128K, +2, +2A, +3, Pentagon 128K e Scorpion 256K.
  • Multiface 128: avendo la rom, si può caricare automaticamente Genie.
  • DISCiPLE/+D: implementazione completa delle interfacce disco della MGT, con supporto del GDOS, G+DOS e UNIDOS per entrambe. RealSpectrum può leggere e scrivere i floppy MGT reali inseriti nel lettore del PC.
  • Beta 128: l'interfaccia disco standard dei cloni russi come il Pentagon, e relativo sistema operativo TRDOS. Può essere abilitata anche nel normale 128K.
  • MB-02+: an incredibly powerful disk interface, featuring 512K SRAM, Z80 DMA chip, real time clock processor and many more.
  • ZX Interface I: l'interfaccia per memoria di massa più popolare per lo Spectrum, con supporto fino a 8 microdrives.
  • Kempston mouse: da usare con le utility russe e quelle classiche come Art Studio.
  • Interfacce sonore: Covox, Stereo Covox, Soundrive e Music Machine (solo uscita digitale).
RealSpectrum supporta i seguenti formati di file:
  • Tapes: TZX, TAP, WAV, CSW e vere cassette usando un registratore collegato alla scheda audio, sia in lettura che in scrittura. TZX e TAP sono supportati sia nel modo standard che attraverso il grande Ramsoft FlashLoad che permette di caricare instantaneamente perfino i giochi commerciali registrati a velocità turbo! RealSpectrum permette anche di salvare cassette turbo.
  • Snapshots: Z80 e SNA, tutte le versioni sia in lettura che in scrittura. Il formato Z80 supporta le estensioni per il +2A/+3 e per lo Scorpion.
  • Dischi: MGT e IMG per DISCiPLE/+D, TRD e SCL per TRDOS, DSK per +3, MBD per MB-02+. Supporto per floppy disk reali per MGT e TRDOS.
  • Cartridges: MDR per Microdrive.
  • Altri: WAV, AZX e YM per registrazione audio. AY per riproduzione. POK per pokes e trucchi vari. AVI per la registrazione di filmati. BMP, SCR, PCX e TGA per salvataggio di immagini.
Altre caratteristiche:
  • FlashLoading: RealSpectrum può caricare istantaneamente (tempo zero) non solo i vecchi file TAP, ma anche molti TZX turbo, inclusi tutti i più popolari schemi di caricamento utilizzati nei giochi commerciali.
  • Supporto per cassette reali: Salvataggio e caricamento molto affidabile su registratore a cassette collegato alla scheda audio.
  • Emulazione Network via TCP/IP: la Sinclair Network (presente nell'Interface I e nella DISCiPLE) è pienamente emulata attraverso Internet. Altre chicche sono il sistema di chat integrato e il servizio di scambio di file.
  • DemoMode: una modalità di visualizzazione speciale che sostituisce lo schermo dello Spectrum con una serie di effetti grafici a scelta che variano al ritmo della musica di sottofondo. Include inoltre un riproduttore musicale per file .AY.
  • Supporto per dischi reali: RealSpectrum può leggere e scrivere veri floppy DISCiPLE/+D e TRDOS inseriti nel lettore del PC.
  • Emulazione della porta parallela: La porta Centronics di DISCiPLE, +D, +2A/+3 e Scorpion può essere rediretta verso la porta stampante del PC oppure verso un file.
  • Emulazione della porta seriale: Oltre che per le porte seriali "standard" dello Spectrum 128K e della Interface-1, l'emulatore può essere facilmente configurato per intercettare qualsiasi routine personalizzata per il pilotaggio della RS-232. E' possibile sfruttare le quattro porte di comunicazione del PC (da COM1 a COM4) oppure la ridirezione su file.
3. Requisiti

Sistema

L'emulazione di alta precisione offerta da RealSpectrum richiede un notevole lavoro di calcolo e di accessi alla memoria, per cui è consigliato almeno un Pentium 200 MHz (o un K6) per farlo girare bene ad ogni risoluzione con tutte le caratteristiche attivate. Si, lo sappiamo che è un po' lento per essere un emulatore Spectrum ma questo è il prezzo da pagare per la migliore qualità possibile. E' consigliata una memoria RAM di almeno 8MB.
Per farlo girare sotto DOS puro (cioè non sotto una DOS box di Windows95) c'è bisogno del DPMI extender CWSDPMI.EXE.
Per migliorare le prestazioni del disco quando si fa girare RealSpectrum sotto DOS puro, consigliamo caldamente di attivare un programma di cache come SMARTDRIVE (particolarmente quando è attiva la scrittura di file WAV).

Video

RealSpectrum gira su qualsiasi VGA, ma una compatibile con le modalità VESA2 è altamente consigliata. A seconda della modalità video selezionata, RealSpectrum sceglierà il miglior driver tra quelli standard VGA, X-Mode e VESA1/2/3. Le risoluzioni VESA2/3 migliorano drammaticamente le prestazioni. La velocità video è veramente determinante per l'efficienza complessiva. Se il BIOS della scheda video non supporta le modalità VESA2 a bassa risoluzione (320x240, etc), è necessario scaricare uno degli extenders disponibili come il Display Doctor della Scitech Software (oppure GX00VBE.EXE per la scheda Matrox G200/G400).

Schede audio

La libreria sonora usata da RealSpectrum supporta tutti i modelli di Soundblaster, ESS1688 e il Windows Sound System (tutte schede basate sul chipset AD1848/CS4231). Se si vuole il suono sotto DOS puro, probabilmente è necessaria una scheda audio ISA, in quanto le PCI come la SB Live! o la SB PCI64/128 in genere hanno problemi a girare in MSODS puro; non dipende da noi. Se si ha una scheda PCI allora è meglio far girare RealSpectrum in una DOS box di Windows 95 aperta a tutto schermo.

ROM files

Le rom liberamente distribuibili sono disponibili in un file separato che può essere scaricato dal nostro sito. Il pacchetto contiene i seguenti files: 

Computer/Periferica ROM nomefile ROM dimensione Note
Spectrum 16/48K 48.rom 16384 Standard 48K ROM
Spectrum 128K 128.rom 32768 Standard 128K ROM
Spectrum +2 plus2.rom 32768 Standard +2 ROM
Spectrum +2A/+3 plus3.rom 65536 +2A/+3 ROM v4.0
Pentagon 128K pentagon.rom 32768 Standard ROM
trdos.rom 16384 TRDOS v6.04
ZS Scorpion 256K scorpion.rom 65536 Standard ROM
ZX Interface I if1.rom 8192 Standard ROM v2
MGT DISCiPLE gdos.rom 16384 GDOS3 + System 3b
MGT +D gdos-pd.rom 16384 G+DOS + System 2a

RealSpectrum gira perfettamente anche con differenti versioni delle ROM, basta specificarne il nomefile nell'INI o selezionarlo direttamente tramite il menu F3. Per esempio, si potrebbe voler utilizzare la ROM v4.1 per il +2A/+3, una vecchia ROM v1 per l'Interface I, una versione particolare del Pentagon/Scorpion, e così via.

Per poter utilizzare l'UNIDOS (per le interfacce disco della MGT) e la Multiface 128, ci si devono procurare le appropriate ROM che *NON* sono incluse nel pacchetto:

Periferica ROM nomefile ROM dimensione Note
UNIDOS DISCiPLE uni-disc.rom 8192 or 16384 UNIDOS v2 per DISCiPLE
UNIDOS +D uni-pd.rom 8192 or 16384 UNIDOS per +D
Multiface One mf1.rom 8192 ROM per Multiface v2.1
Multiface 128 mf128v35.rom 8192 ROM v87.1 per Multiface v3.5
mf128.rom 8192 ROM v87.2 per Multiface v3.6-DIS
genie.rom 16384 MF128.ROM con Genie precaricato
Multiface 3 mf3.rom 8192 ROM per Multiface v5.0
MB-02+ mb02.rom 2048 or 32768 Boot ROM o BSROM + BSDOS

I normali files del BIOS per DISCiPLE/+D (sia GDOS che UNIDOS) sono lunghi 8K, ma la versione fornita potrebbe essere lunga 16K; in questo caso il sistema operativo è precaricato e non c'è quindi bisogno di fare il boot.

Importante: Non chiedeteci di inviarvi nessuna di queste ROM - non possiamo, davvero.

Networking

Leggere attentamente il capitolo "Internet Networking".
4. Utilizzo in generale (tastiera, selezione dei files, etc)
RealSpectrum dovrebbe essere molto semplice da utilizzare in quanto ogni operazione è fatta attraverso una serie di menu grafici. Le impostazioni iniziali sono lette dal file di configurazione REALSPEC.INI, un file di puro testo che può essere modificato a seconda delle proprie esigenze; ogni riga del file è commentata in modo tale da essere facilmente comprensibile una volta letto questo manuale.
RealSpectrum riconosce anche dei parametri sulla linea di comando. La lista degli switch disponibili può essere ottenuta scrivendo "REALSPEC -?" (o -h); i parametri specificati nella linea di comando hanno la priorità sulle impostazioni del file INI.

Una volta lanciato, RealSpectrum può essere controllato attraverso i seguenti tasti, che danno accesso ai vari menu grafici per cambiare impostazioni e parametri. 

F1 Mostra la schermata di help
ALT-F1 Tokenizer
F2 Genera un NMI (Multiface, DISCiPLE/+D senza Multiface, etc.)
SHIFT-F2 Genera un NMI (per DISCiPLE/+D assieme alla Multiface)
ALT-F2 Reset dello Spectrum
F3 Menu di configurazione hardware
ALT-F3 Menu di configurazione del Joystick e del mouse
CTRL-F3 Menu delle porte di comunicazione
F5 Carica uno snapshot
ALT-F5 Salva uno snapshot
F6 Carica un file da disco o da cartuccia
ALT-F6 Crea un disco o una cartuccia vuoti
F7 Apre un tape file
ALT-F7 Menu delle opzioni per i tape file
CTRL-F7 Avvia/ferma il tape file
SHIFT-F7 Tape browser
F8 DemoMode
ALT-F8 Opzioni Network
CTRL-F8 Invia un messaggio di chat (network)
SHIFT-F8 Invia un file (network)
F9 Menu di selezione per le pokes
ALT-F9 Operazioni su blocchi di memoria (carica/salva blocchi)
F10 Esce da RealSpectrum
ALT-F10 Esce immediatamente
F11 Menu delle risoluzioni video
ALT-F11 Menu delle opzioni video extra
F12 Menu delle opzioni per il suono
ALT-F12 Menu delle opzioni extra per il suono
ESC Entra/esce dal debugger

La tastiera dello Spectrum, il Tokenizer e la nazionalizzazione

Alcuni tasti speciali che richiedono pressioni multiple sullo Spectrum sono stati implementati direttamente sulla tastiera del PC: gli operatori aritmetici sul tastierino numerico, la ',' e il '.'. Inoltre l'emulatore ha le seguenti assegnazioni: CTRL = Symbol Shift, CAPS = Caps Lock, BACKSPACE = Delete, TAB = Extend Mode.

Il Tokenizer è una caratteristica speciale che permette di inserire comandi BASIC e righe di programma molto comodamente. E' possibile digitare i comandi carattere per carattere anche nell'editor BASIC del 48K, senza che sia più necessario ricordare a memoria la posizione dei numerosi token della tastiera dello Spectrum. Il Tokenizer si attiva premendo ALT-F1 e mostra un editor multilinea dove si può scrivere qualsiasi sequenza di comandi BASIC o righe di programma. Per fornire ulteriore aiuto, l'editor evidenzia la sintassi del BASIC stampando i vari elementi con colori differenti: bianco per i comandi validi e i segni di punteggiatura, verde per i numeri di linea, celeste per le stringhe di caratteri, porpora per i numeri e giallo per i nomi di variabili e altri elementi. Una volta finito di digitare, l'editor si chiude premendo ENTER e l'emulatore automaticamente genera l'appropriata sequenza di tasti da passare all'editor del BASIC: si vedranno i comandi digitati automaticamente alla velocità della luce!
Per esempio, andiamo in modalità 48K con il K lampeggiante, premiamo ALT-F1 e digitiamo qualche comando BASIC come '10 BORDER 0: PAPER 0: INK 7: CLS: PRINT "Hello Tokenizer"' usando la normale tastiera del PC. Notare gli spazi, i vari token devono essere separati l'uno dall'altro (osservare i colori dell'evidenziazione sintattica per capire se si stanno digitando i comandi in modo corretto). Per finire, premiamo RETURN e godiamoci lo spettacolo! :-) Comunque, in questo esempio è necessario premere nuovamente ENTER per aggiungere la linea al programma.

Per un uso confortevole, è necessario impostare il tipo di tastiera posseduto (nazionalità). Per fare questo, attivare la riga "Keyboard: IT" nel file di configurazione di RealSpectrum (realspec.ini), dove "IT" sta per il codice internazionale del paese desiderato (nell'esempio Italia). Sono riconosciuti i seguenti codici: BE, BR, CH, CZ, DE, DK, DVORAK, ES, FI, FR, IT, NO, PT, RU, SE, SK, UK e US. Per default (in assenza della riga "Keyboard:"), RealSpectrum usa la tastiera US.

La selezione dei files

Alcuni dei menu di cui sopra mostrano una finestra per la selezione dei file attraverso la quale si può scegliere quale file caricare o salvare.
La parte superiore mostra una lista delle directory e dei files, ordinati per nome; l'elemento corrente è evidenziato con una barra rossa, che può essere spostata in su o in giù usando i tasti freccia della tastiera del PC. Vengono mostrati solo i files adeguati alla funzione scelta (per esempio SNA e Z80 in caso di snaphots, and così via). Si possono anche utilizzare i tasti PGUP/PGDN per muoversi più velocemente e HOME/END per andare, rispettivamente, sul primo e sull'ultimo elemento.
In basso c'è una riga sulla quale si possono scrivere i primi caratteri del nome file che si sta cercando e questo consente una selezione più veloce. Ogni volta che viene premuto un tasto alfanumerico, la barra di selezione si sposta automaticamente sul nome di file più simile alla stringa che si va formando nella riga in basso. Si possono anche cancellare i caratteri digitati usando il normale tasto BACKSPACE.
Si può cambiare directory o drive corrente selezionando la directory desiderata o la lettera del drive e premendo quindi ENTER.
Una volta che si è evidenziato il file desiderato, si deve premere ENTER per confermare la selezione e concludere l'operazione.
Quando la finestra di selezione è aperta per il salvataggio, mostra solo directory e drive in modo tale che si possa selezionare il percorso dove salvare il file, il cui nome va digitato e apparirà nel campo presente in basso nella schermata. In alcuni casi si può anche scegliere il formato del file utilizzando i tasti freccia sinistra e freccia destra; il formato corrente è mostrato nella linea che riporta "Save as". Se scrivendo sulla tastiera non compaiono i caratteri digitati, premere il tasto TAB per riportare il cursore nella riga del nome di file.
Nel caso in cui RealSpectrum venga eseguito in ambiente Windows 95 o versioni più recenti, sarà possibile inserire nomi di file lunghi fino a 256 caratteri.

Supporto per archivi

RealSpectrum è in grado di gestire l'estrazione automatica di files contenuti in un archivio. Gli archivi in formato ZIP, RAR, ARJ e ACE verranno elencati con accanto la dicitura "ARC" subito dopo i normali files. Quando si apre un archivio, il suo contenuto verrà visualizzato come se fosse una normale directory; si potrà poi utilizzare la directory ".." per chiuderlo. Se si decide di aprire un file che si trova all'interno di un archivio, RealSpectrum provvederà a lanciare il programma di decompressione appropriato e lo estrarrà in una directory temporanea. I decompressori predefiniti sono pkunzip.exe per i file ZIP, rar.exe per i file RAR, arj.exe per i file ARJ e ace.exe per i file ACE; naturalmente la directory che contiene questi programmi deve essere inclusa nel path predefinito per il DOS. E' possibile inoltre personalizzare i nomi delle utility di decompressione nella sezione [Archives] del file REALSPEC.INI; ad esempio si può utilizzare ace32.exe, unzip32.exe, unrar.exe e unarj.exe - è sottinteso che si devono specificare anche i vari switch. Per disabilitare del tutto il supporto per gli archivi è sufficiente togliere il commento alla riga "ListArchives: 0" nel file INI. Se la directory temporanea non può essere creata all'interno della directory di partenza di RealSpectrum, sarà visualizzato un messaggio di errore ed il supporto per gli archivi verrà disabilitato automaticamente; il nome della directory temporanea è "RSPECTMP" ed essa sarà rimossa al momento dell'uscita dall'emulatore.
Attenzione: qui di seguito vi ricordiamo un paio di cose importanti: 1) Le utilità di gestione degli archivi per DOS in genere non supportano i nomi di file lunghi (ARJ v2.60+ rappresenta un'eccezione); se un archivio dovesse contenere file di questo tipo, potrebbero verificarsi degli errori in fase di estrazione; vi consigliamo quindi di utilizzare programmi in grado di gestire i nomi di files lunghi (come ace32.exe per i file ACE). 2) L'invocazione da un programma a 32-bit (come RealSpectrum) di programmi DOS a 16-bit con interfaccia utente testuale potrebbe causare dei problemi; in alcune occasioni il sistema potrebbe diventare instabile, nel qual caso consigliamo di riavviare il sistema. Siamo spiacenti, ma non ci è possibile intervenire su questo inconveniente. Se dovessero verificarsi dei problemi consistenti vi suggeriamo di disabilitare nel file INI il supporto per i file compressi (vedere sopra).

Il menu di configurazione hardware (F3)

Da questo pannello è possibile selezionare i vari modelli di Spectrum e le varie interfacce. Usare il tasto TAB per spostare il focus tra i vari elementi. Se si preme di nuovo F3 apparirà un altro pannello con delle informazioni supplementari sul modello selezionato, tra cui il tipo di chip sonoro, espansioni di memoria, file ROM, ecc.; le proprietà potranno essere modificate come al solito con i tasti freccia sinistra/freccia destra o premendo ENTER. Se il modello selezionato viene confermato con SHIFT+ENTER, il computer non sarà reinizializzato.
Premendo la barra spaziatrice, è possibile scegliere e caricare un file di ROM personalizzato per il modello di Spectrum selezionato o per l'interfaccia; usare la finestra di selezione per scegliere la ROM desiderata che verrà utilizzata, da questo momento in poi, per il modello specificato. Alternativamente, la stessa cosa si può fare premendo ENTER alla riga "ROM file" nel pannello delle proprietà. Quando si cambia modello di Spectrum e la Multiface e' abilitata, RealSpectrum cambia automaticamente il tipo di Multiface collegata al fine di evitare problemi di compatibilità, avvisandovi con un messaggio in sovraimpressione non appena l'emulazione sarà ripartita.

Il menu di configurazione del Joystick e del Mouse (ALT-F3)

RealSpectrum supporta fino a 4 joystick e i tasti cursore; ognuno di essi può essere impostato come uno dei joystick supportati dallo Spectrum come il Kempston, il Sinclair 1 e il Sinclair 2. Il numero di joystick connessi alla porta giochi del PC è riportato sull'ultima linea del menu. Usando i tasti freccia si possono selezionare i vari tipi di joystick ed impostare le relative assegnazioni. Bisogna tenere presente che i tasti cursore del PC possono essere assegnati ad un joystick dello Spectrum oppure ai tasti cursore dello Spectrum stesso ma non le due opzioni contemporaneamente; questo significa che essi corrisponderanno ai tasti cursore dello Spectrum solamente quando nessuno dei joystick elencati in ALT-F3 sono assegnati ai "Cursor keys".
Utilizzando l'opzione Mouse Type è possibile attivare o disattivare l'emulazione del mouse Kempston, supportato in moltissimi programmi per il Pentagon e per lo Scorpion (utility, giochi, caricatori, etc) ed in alcuni programmi classici come Art Studio.

Il menu delle porte di comunicazione (CTRL-F3)

Questo pannello di controllo permette di configurare l'emulazione delle porte di comunicazione. La porta parallela e' emulata per DISCiPLE, +D, +2A/+3 e Scorpion. Le impostazioni disponibili sono "OFF", "LPT1" (la porta parallela del PC all'indirizzo 0x378), "LPT2" (la porta parallela del PC all'indirizzo 0x278) oppure un file (in questo caso viene visualizzato il nome del file). Per cambiarne il nome premere ENTER mentre compare il nome vecchio ed usare poi normalmente la finestra di selezione.

Porte seriali

RealSpectrum supporta la trasmissione dati seriale bi-direzionale attraverso le porte RS-232 del vostro PC (COM1-COM4) oppure utilizzando la ridirezione su file. Sullo Spectrum, le porte della Interface-1 e quella integrata del 128K/+2 sono automaticamente connesse alla linea seriale; nel caso in cui vengano selezionate entrambi, la Interface-1 ha la precedenza su quella del 128K. Nel tentativo di fornire un supporto molto flessibile, abbiamo adottato un sistema particolare di intercettazione che consente di far funzionare su RealSpectrum routines di comunicazione personalizzate (ad esempio programmi di comunicazione per modem o simili) anche su interfacce diverse da quelle standard della Interface-1 o dello Spectrum 128K. In poche parole, RealSpectrum è in grado di fa funzionare qualsiasi routine di I/O che rispetti una banale convenzione di chiamata. Ecco i dettagli del pannello di configurazione:
  • RS-232: consente di scegliere la porta da usare(COM1-COM4), oppure "OFF" per disabilitare completamente l'emulazione della porta seriale. Allo stesso modo dell'emulazione della porta parallela, si può scegliere di ridirezionare su file l'uscita della RS-232 (premere ENTER quando è visualizzato il nome del file per selezionarne uno nuovo).
  • Baud rate: permette di impostare la velocità della porta seriale del PC, da un minimo di 150 ad un massimo di 115200 baud. La baud rate deve essere uguale alla velocità del dispositivo DCE connesso alla porta serale. Il valore inserito viene ignorato se si usa la ridirezione su file.
  • Routines: seleziona il tipo di routine di I/O utilizzate. Se si usano le routine standard della ROM, verrà visualizzata la dicitura "Interface-1" o "Spectrum 128K" alternativamente. Per utilizzare routines personalizzate, premere il tasto freccia sinistra ed inserire due indirizzi a 4 cifre esadecimali (separati da uno spazio) uno per la routine di input e uno per quella di output (ad esempio: "8000 8100"). RealSpectrum segue le convenzioni standard Sinclair (per le routines della Interface-1 e del 128K):
    • Byte-Input routine: il byte ricevuto dalla porta seriale viene restituito nel registro A della CPU. Il flag di carry è posto a 1 se non vi è stato alcun errore, altrimenti sarà C=0 e Z=1.
    • Byte-Output routine: la routine viene chiamata con il byte da trasmettere contenuto nel registro A. Anche in questo caso il flag di carry è posto a 1 se non vi è stato nessun errore.
Per il protocollo RS-232 RealSpectrum utilizza 8 bit di dati, 1 bit di stop, nessuna parità e nessun controllo di flusso. Questa è la configurazione più comune per le trasmissioni di dati via seriale ed allo stesso tempo l'impostazione predefinita delle routines della ROM standard.
E' da sottolineare che la baud rate deve essere impostata compatibilmente con la velocità di comunicazione del dipositivo "remoto", non quella delle routines "locali" che girano sull'emulatore. Le routines di comunicazione seriale vengono virtualizzate e quindi le loro impostazioni sono del tutto ininfluenti. Ecco alcuni semplici esempi:
  • Connessione diretta di uno Spectrum con un cavo null-modem: se sullo Spectrum si imposta la velocità di trasmissione a 9600 baud, si dovrà selezionare 9600 anche nell'emulatore. Per impostare la baud rate sullo Spectrum 128K si utilizza il comando FORMAT "p";9600 (o qualsiasi altro valore valido), mentre sulla Interface-1 si deve specificare il canale "b" o "t" invece di "p". Per maggiori dettagli sulla comunicazione seriale, vi invitiamo a consultare il manuale della Interface-1.
  • Pilotaggio di un modem: se volete usare un modem 56K, scegliete 115200 baud; per dispositivi più lenti, usate la massima velocità DTE-DCE consentita dalla periferica utilizzata.
  • Connessione di due PC con RealSpectrum: in questo caso non c'è motivo per selezionare la velocità al di sotto di 115200 (sempre che entrambi i PC dispongano di UART veloci), poiché ambedue le unit&agravi sono virtualizzate.
Quindi adesso avete la possibilità di navigare in Internet a 56K anche con lo Spectrum! Vedremo forse un dialer PPP ed un web browser tra qualche tempo? :-)
5. Snapshots
RealSpectrum supporta i tipi più comuni di snapshot, i formati Z80 e SNA che da soli rappresentano la quasi totalità degli snapshot disponibili a livello mondiale. Esistono diverse versioni sia di Z80 che di SNA ma RealSpectrum è in grado di gestire ognuno di essi in modo trasparente.

Utilizzare gli snapshots è molto semplice, possono essere caricati in qualsiasi momento premendo F5. Nel file di configurazione si può specificare una directory di default contenente la propria collezione di snapshots. Per scelta progettuale, RealSpectrum non cambia automaticamente il modello di hardware quando viene caricato uno snapshot salvato per una macchina diversa. Per esempio, si può caricare uno snapshot 128K mentre si sta utilizzando uno Spectrum 48K, ma il risultato sarà molto probabilmente un crash; si deve selezionare manualmente un modello con 128K utilizzando l'opzione F3 prima di caricare lo snapshot.
Ovviamente è anche possibile salvare uno snapshot premendo ALT-F5 e digitando il nome del file da creare. Oltre ai vari tasti descritti per le varie finestre di selezione, con i tasti freccia sinistra e destra si può scegliere il formato dello snapshot (SNA o Z80). In generale, il formato Z80 è preferibile in quanto comprime i dati riducendo l'occupazione di spazio sul disco, ma lo SNA è più compatibile con altri emulatori. RealSpectrum salva nelle più recenti versioni di Z80 (v3.xx).

Gli snapshots sono molto comodi in quanto caricano e salvano istantaneamente, ma hanno lo svantaggio di essere comunemente considerati "brutti". Essi lanciano il programma a metà, non dall'inizio, e qualcosa dell'originale è perso; inoltre, non sono in grado di memorizzare i livelli di un gioco multiload e quindi risultano, in molti casi, incompleti. Di conseguenza, gli snapshots non dovrebbero essere utilizzati per la propria collezione di giochi, ma solo temporaneamente per un più rapido uso. I tapes, ed in particolare il formato TZX, rappresentano la scelta migliore per l'archiviazione. 

6. Tapes
RealSpectrum supporta diversi tipi di tapes, inclusa la connessione diretta di un registratore a cassette alla scheda audio del PC - sia per il caricamento che per il salvataggio. Ogni formato ha speciali peculiarità nel modo in cui può essere gestito dall'emulatore.
  • WAV - sono campionamenti audio presi direttamente dalle cassette e possono essere ottenuti da qualunque programma di registrazione sonora; generalmente occupano molto spazio sul disco e non sono molto versatili. Caricare un programma da un file WAV è come caricarlo da cassetta - un'attesa infinita... :) RealSpectrum supporta solo WAV ad 8-bit, mono, non compressi.
  • CSW - prodotti dall'utility CSW.EXE della Ramsoft, sono un formato di dati audio compresso ed elaborato digitalmente che occupa molto meno spazio.
  • TAP - sono un sistema molto comune per memorizzare files Spectrum a velocità normale, come programmi e informazioni create dalle normali routine della ROM (comandi LOAD/SAVE). Vengono caricati istantaneamente dai vari emulatori e il contenuto può essere esaminato per saltare direttamente ad un blocco specifico. Lo svantaggio principale è che i programmi che utilizzano routine di caricamento personalizzate come i turbo non possono essere memorizzati in un TAP.
  • TZX - rappresentano il sistema più avanzato per memorizzare nastri Spectrum su PC. Grazie ad una struttura sofisticata, essi possono riprodurre in maniera digitale ogni tipo di dati dai programmi a velocità normale fino ai più recenti giochi commerciali turbo. Essi possono contenere anche informazioni extra come istruzioni, record, immagini, pokes e così via. Teoricamente, i TZX dovrebbero sostituire completamente ogni altro tipo di tape file. Come i TAP, essi possono essere trattati in modo intelligente dagli emulatori. I TZX possono essere ottenuti utilizzando programmi come MakeTZX e Taper. RealSpectrum attualmente non supporta la tecnica Direct Recording Blocks nei file TZX.
  • Real Tape - è decisamente il modo più semplice per caricare le normali cassette per lo Spectrum nell'emulatore. Tutto quello che si deve fare è connettere il registratore alla scheda audio e selezionare "Physical-Device" nella finestra di selezione relativa ai tape. Il caricamento da cassetta risulta estremamente affidabile, e quindi non c'è da temere ad utilizzarlo. Il solo requisito è che la CPU sia veloce abbastanza per far girare RealSpectrum a piena velocità (vedere il capitolo sui requisiti di sistema).
In RealSpectrum si può caricare un tape file con la finestra di selezione che viene mostrata premendo F7. Come con gli snapshots, c'è un'impostazione nel file INI per dire a RealSpectrum quale directory utilizzare per default quando si caricano i tape files. Dopo aver aperto un file, si può avviare o fermare il nastro premendo CTRL-F7; questo si applica anche alle operazioni con real tape. Il led "Scroll Lock" sulla tastiera indica quando il nastro sta girando. Si può esaminare il contenuto del nastro con SHIFT-F7 (solo TAP e TZX); per saltare ad un blocco specifico, selezionarlo tramite i tasti freccia e premere ENTER.

Note riguardo il supporto real tape

Se si vuole caricare da cassetta probabilmente si avrà di una vecchia scheda audio ISA, in quanto la maggior parte delle moderne PCI (inclusa la SB Live!) non riescono a campionare se pilotate in emulazione di vecchie schede (ad esempio utilizzando i classici comandi DSP della SoundBlaster). Spiacenti ma questo è l'MSDOS... :-(
Con l'attuale versione della libreria audio usata da RealSpectrum, caricando da cassetta (campionando) si interrompe il suono in uscita. Questa non è una limitazione di RealSpectrum. Quando gli autori della libreria abiliteranno il supporto full-duplex nei loro drivers audio, RealSpectrum ne beneficerà automaticamente.
All'apertura del "Physical-Device" con F7, il nastro si avvia automaticamente. E' comunque possibile utilizzare CTRL-F7 per avviare o fermare il campionamento quando si vuole.
Ovviamente, il caricamento o salvataggio in tempo reale richiede un computer abbastanza veloce da far girare RealSpectrum a piena velocità (50 fps, attualmente ottenuti con una CPU da 166/200 MHz), altrimenti alcuni dati saranno persi e ciò causerà un errore di caricamento. Notare che il supporto real tape è totalmente indipendente dall'emulazione sonora in generale e quindi, se si ha una CPU lenta, è possibile disattivare il suono per ottenere maggiore velocità.

Opzioni per i tape files

Premendo ALT-F7 si apre il pannello di controllo relativo ai tape file dove si possono modificare alcune impostazioni.
  • La sezione riguardante il FlashLoading e il salvataggio sarà descritta in dettaglio nel prossimo paragrafo.
  • Tape Loading Noise determina se si deve sentire o meno il suono del nastro durante il caricamento (come nello Spectrum reale).
  • AutoRewind controlla cosa succede alla fine del nastro. Se abilitato, il nastro viene riavvolto automaticamente e il caricamento riprende dall'inizio; altrimenti, il nastro si ferma. AutoRewind è abilitato per default per i file di tipo TAP.

FlashLoading

FlashLoading rappresenta la capacità di caricare tape file istantaneamente, senza alcuna attesa come succede sullo Spectrum reale. Questa è una caratteristica normale per i file di tipo TAP, ma noi l'abbiamo resa migliore: RealSpectrum è il primo emulatore in grado di caricare istantaneamente anche i file di tipo TZX! Questo significa essere ora in grado di caricare i giochi (compresi i livelli!) dai nastri originali come fossero snapshot o su disco! Si prega notare la differenza rispetto agli altri tipi di cosiddetti "flashloading": noi non abbiamo solo velocizzato l'emulatore mentre carica, bensì rilevato in modo automatico le routine di caricamento e caricato i dati direttamente nella memoria dello Spectrum come richiesto. In questo modo, il caricamento completo di un gioco 128K avviene in tempo zero! Le uniche pause che si vedranno sono quelle dovute ai vari decrypters/decrunchers comunemente utilizzati nei giochi ma che non fanno parte del caricamento vero e proprio. Tutto questo è stato possibile grazie alla tecnologia di MakeTZX presente all'interno di RealSpectrum.
  • FlashLoading attualmente funziona con i seguenti turbo loaders: Alkatraz, tutti gli Speedlocks (1-7), BleepLoad, Paul Owens e Digital Integration. Questi da soli coprono la stragrande maggioranze dei giochi prodotti; altri saranno comunque aggiunti nelle prossime versioni. Non c'è bisogno di identificare esplicitamente il tipo di loader, RealSpectrum lo fa automaticamente.
  • FlashLoading funziona anche con i livelli. In questo modo, è proprio come se il gioco fosse su disco - non si deve attendere nulla tra un livello e l'altro!
  • Ovviamente, FlashLoading richiede le versioni originali dei programmi e dei loro caricatori. Vesioni rimaneggiate che usano caricatori diversi non vengono riconosciute.
Per abilitare FlashLoading, attivare la corrispondente opzione nel pannello di controllo ALT-F7. FlashLoading è abilitato automaticamente per i file di tipo TAP e disabilitato  per i CSW e gli WAV; se si volesse caricare i TAP alla vecchia "lenta" maniera, disabilitare l'opzione appena aperto il tape file (e ricordarsi di avviare il nastro con CTRL-F7). Con l'opzione "FlashLoad Levels" si può scegliere di caricare istantaneamente anche i livelli.

L'impostazione "Screen Pause" serve a mettere una piccola pausa appena dopo il caricamento dello screen iniziale in modo tale da permettere di vederlo (altrimenti esso scomparirà immediatamente nella maggior parte dei casi); questo torna particolarmente utile nei giochi dotati di caricatore Alkatraz, che generalmente hanno schermate di caricamento molto stravaganti, e quindi abbiamo pensato che fosse simpatico poter rivedere esattamente lo screen originale. Scegliendo "NONE" si disabilita completamente la pausa e quindi l'animazione, mentre le altre tre impostazioni ("Slow", "Medium" e "Fast") ne influenzano la velocità. Questo è comunque solo un rallentamento artificiale in quanto lo screen internamente è caricato in modo istantaneo :-)

FlashLoading è utile anche al di fuori delle situazioni previste. Quando è abilitato, RealSpectrum carica i blocchi a velocità normale contenuti nei file TZX allo stesso modo dei file TAP, e pertanto può essere utilizzato per caricare i blocchi standard anche nell'ambito di sistemi di caricamento non supportati. Se il sistema si ferma di fronte ad un blocco turbo non standard perché non supportato direttamente da RealSpectrum, tutto quello che si deve fare è semplicemente premere CTRL-F7 e il caricamento continuerà normalmente nella modalità vecchio stile; in questo caso, FlashLoading sarà automaticamente disabilitato fino all'apertura del prossimo tape file. In generale, è possibile passare da FlashLoading a caricamento normale in qualunque momento con il menu ALT-F7.
In conclusione, con il FlashLoading di RealSpectrum non c'è alcuna ragione per preferire i TAP ai TZX.

Salvataggio dei tape files

RealSpectrum può salvare tape files in tutti i formati supportati, quindi si può scegliere tra TZX, TAP, WAV e CSW. Questa è una caratteristica molto utile in quanto offre la piena libertà di manipolare qualsiasi tipo di dato in scrittura, inclusi i caricatori turbo e custom.
Per salvare un tape file, andare al menu Tape Options premendo ALT-F7, spostare il cursore su "Tape Saving" e scegliere la voce "Open tape for saving" premendo RETURN. Si aprirà la solita finestra di selezione da dove si può scegliere la directory di destinazione e il nome del file da salvare. Utilizzando le frecce sinistra e destra si può scegliere il formato desiderato. Alla fine premere ancora RETURN per avviare il salvataggio. Cosa succede esattamente dopo dipende dal formato scelto:
  • TZX, TAP: RealSpectrum intercetta le chiamate alle normali routine di SAVE in ROM e scrive i vari blocchi. Questo sistema va bene per i normali comandi BASIC come SAVE e anche per i blocchi senza header, ma non è adatto per salvare i blocchi turbo. Benché il formato TZX sia in grado di contenere blocchi non standard, al momento il salvataggio di file TZX è supportato solo a livello di compatibilità con i TAP (blocchi 0x10). Comunque, nella prossima release RealSpectrum sarà in grado di salvare anche file TZX turbo in quanto includerà il motore di decodifica di MakeTZX.
  • WAV, CSW: RealSpectrum avvia la registrazione dei dati sul file; l'operazione inizia non appena viene aperto il tape file per la scrittura e si ferma alla sua chiusura; la frequenza di campionamento è impostata per default a 44100 Hz. Questo sistema permette di registrare ogni tipo di dati turbo e caricatori custom ed è perciò estremamente versatile. Generalmente, a questo punto si vuole convertire il file WAV o CSW nel formato TZX utilizzando un TZX decoder come MakeTZX. I file CSW hanno il vantaggio di essere almeno 8-10 volte più piccoli dei corrispondenti WAV.
  • Real Tape: In questo caso il beeper è disabilitato e il suono si sente nel registratore (qualsiasi velocità e qualsiasi routine custom). Si può collegare alla scheda audio un registratore a cassette  o addirittura direttamente la presa EAR dello Spectrum. Il livello del segnale di uscita si può regolare attraverso l'impostazione "Device Balance" nel pannello dedicato al suono.
Una volta che il salvataggio è completato, si deve chiudere il file con l'opzione "Close tapefile" nel menu Tape Options (ALT-F7).
7. Dischi e cartridges
Attualmente RealSpectrum implementa cinque interfacce disco: DISCiPLE, +D, Beta 128, +3 e MB-02+. Inoltre, sono anche emulati i microdrives dell'Interface I, fino a 8 cartridges. La DISCiPLE e la +D sono molto simili e compatibili, e per questo vengono spesso chiamate interfacce MGT (dal nome della ditta produttrice, la Miles Gordon Technology). Il Beta 128 (conosciuto anche come TRDOS) è il sistema di default per i cloni russi come il Pentagon e lo Scorpion; è basato sull'interfaccia della Technology Research. Il sistema +3 è ovviamente quello dell'ultimo modello dello Spectrum prodotto dalla Amstrad. The MB-02+ is an extremely advanced disk interface and RealSpectrum is the world's first emulator capable of emulating this beast; see below for more details about it. I Microdrives, connessi all'Interface I, sono stati la più popolare memoria di massa prodotta dalla Sinclair stessa.
Dal menu F3 si può abilitare una di queste interfacce per ognuno dei modelli di Spectrum. La MGT e la TRDOS sono mutuamente esclusive a causa di alcune porte in coflitto; La TRDOS è abilitata automaticamente quando viene selezionato il Pentagon, ma è possibile cambiare l'interfaccia disco come si vuole.

Opzioni disco

Premendo F6 si accede alla configurazione dei dischi. Per ogni drive disponibile RealSpectrum mostra l'immagine disco attualmente caricata e lo stato di write protect del disco. Per inserire un nuovo disco, si deve selezionare il drive desiderato, premere ENTER e scegliere il file disco da caricare. Per espellere un disco si deve semplicemente selezionarlo e premere il tasto DEL. Per cambiare lo stato di write protect si devono utilizzare i tasti freccia sinistra e destra. La directory di default per i file disco può essere specificata nel file INI.
Con ALT-F6 si può invece creare un'immagine disco o cartridge vuota. Il tipo di file da creare è determinato automaticamente in base all'interfaccia disco attualmente in uso. Le nuove cartridge per l'Interface I (MDR) e i nuovi dischi per il +3 (DSK) devono essere formattate prima dell'uso.

Supporto per dischi reali

Oltre ai file immagine, RealSpectrum gestisce anche i floppy disk reali inseriti nel disk drive del PC. Per abilitare questa modalità è sufficiente aprire lo speciale file chiamato "Physical-Device" mostrato alla fine della lista nella finestra di selezione dei file.
Bisogna tenere presente che RealSpectrum usa le routine del BIOS per accedere ai disk drive. Questo significa che alcuni BIOS vecchi potrebbero non essere in grado di leggere dischi non-MSDOS come quelli Spectrum. Su di una Asus P5A, RealSpectrum legge i miei dischi DISCiPLE alla stessa velocità di uno Spectrum vero! Nel caso si abbia un BIOS sfortunato, prima di rinunciare si può provare a chiedere la directory di un disco MSDOS da 720K prima di lanciare RealSpectrum, oppure ad usare un programma per correggere il BIOS come FDREAD.EXE. Si raccomanda di utilizzare i dischi reali in MSDOS puro in quanto sotto Windows potrebbero manifestarsi dei problemi.
Un'altra possibilità è che il drive del PC abbia la testina allineata diversamente rispetto a quello dello Spectrum.

DISCiPLE e +D

Le interfacce MGT supportano fino a due dischi a doppia densità e doppia faccia (MGT1 e MGT2), generalmente a 80 tracce, 10 settori per traccia e 512 bytes per settore (per un totale di 800K). Per poterle utilizzare sono necessari i file GDOS.ROM per la DISCiPLE e GDOS-PD.ROM per la +D che devono essere copiati nella directory di RealSpectrum. Si ha inoltre bisogno di un disco contenente il DOS (un file chiamato "sys*" oppure "+sys*", rispettivamente). Per sapere tutto ciò che occorre per sfruttare al meglio queste due magnifiche interfacce leggere la nostra guida DISCiPLE/+D Guide. I due dispositivi sono equipaggiati con un magic button (NMI) che congela il programma attualmente in esecuzione e permette di salvarne uno snapshot sul disco, stampare la schermata e molte altre cose.
RealSpectrum supporta anche l'UNIDOS, un potente sistema operativo sia per DISCiPLE che per +D, disponibile come una EPROM da installare al posto di quella originale; è necessario quindi procurarsi il file UNI-DISC.ROM per la DISCiPLE e UNI-PD.ROM per la +D. Si può scegliere tra GDOS e UNIDOS dal menu F3 in ogni momento. Se il file ROM per la DISCiPLE/+D (quello di default o quello specificato manualmente in realspec.ini) è lungo 16384 invece di 8192, RealSpectrum assume che esso contenga il sistema operativo precaricato e quindi non c'è necessità del boot iniziale con il comando "RUN".

Beta 128 (TRDOS)

L'interfaccia Beta 128 permette di controllare fino a quattro disk drive (TRD1-TRD4), generalmente da 80 tracce, 16 settori per traccia di 256 bytes ognuno per un totale di 640K. I formati supportati sono il TRD e l'SCL (presto anche l'FDI).

Dischi +3

Selezionando il modello +3 si hanno a disposizione due disk drive (DSK1 and DSK2) nei quali possono essere inseriti file immagine di tipo .DSK. I floppy +3 sono generalmente da 3", 40 tracce, 9 settori per traccia, singola faccia.

Cartridges per microdrive

Abilitando la ZX Interface I con il menu F3, viene mostrato il pannello di controllo per i Microdrives al posto di quello per i dischi. RealSpectrum supporta 8 microdrives nei quali si possono inserire file immagine di cartridges (file .MDR). Questo pannello funziona quasi esattamente come quello dei dischi, con la sola differenza che lo stato di Write Protect è indicato come 'R' (Read only); lo stato di write protect si cambia anche qui con le frecce sinistra e destra. Tutti gli altri tasti funzionano allo stesso modo dei dischi.

MB-02+

Questa è un'interfaccia disco molto potente, probabilmente la più avanzata mai costruita per lo ZX Spectrum; il solo fatto che il software di gestione sia stato progettato da Busy Soft la dice lunga. Oltre a svariate "delizie" techniche, integra un ottimo DOS (BSDOS) e sostituisce la ROM standard dello Spectrum con una versione migliorata. RealSpectrum emula completamente la MB-02+ e supporta 512KB di SRAM, il chip Z80 DMA per trasferire dati senza l'utilizzo della CPU, il chip dell'orologio di sistema (RTC) e 4 drives per dischetti HD/DD. Il formato utilizzato ha estensione .MBD (una semplice immagine di un floppy per MB-02, molto simile alle immagini .MGT), e rappresenta di solito un disco ad alta densità con 82 tracce x 11 secttori di 1024 bytes ciascuno. Per ulteriori informazioni sulla MB-02+, visitate il sito della 8-Bit Company.
8. Video
RealSpectrum può girare a diverse risoluzioni video, che possono essere cambiate al volo dal menu Video Options (F11) selezionando la modalità desiderata e premendo RETURN. Si può anche digitare manualmente la risoluzione nell'apposito campo , ad esempio "320 200". Se la modalità scelta è disponibile, RealSpectrum la cambia immediatamente, altrimenti mantiene quella precedente. L'emulatore usa automaticamente ogni singolo pixel disponibile per ottenere la visualizzazione più ampia possibile. Questo significa che a 320x200 si vedranno 4 linee di bordo superiore ed inferiore, mentre a 376x308 e superiori verrà mostrata la videata completa (generalmente al di fuori delle possibilità di un normale TV).

Le modalità video elencate nel pannello F11 è solo un piccolissimo esempio di tutte quelle disponibili. RealSpectrum prevede le seguenti: 

320x200 320x240 256x200 256x224 256x240 256x256
320x100 320x350 320x400 320x480 320x600 360x200
360x240 360x270 360x360 360x400 360x480 360x600
376x282 376x308 376x564 400x150 400x300 400x600
Indicando una di queste risoluzioni, RealSpectrum per prima cosa controlla se il BIOS la supporta come VESA2 altrimenti utilizza l'X-Mode.

Oltre a queste modalità, RealSpectrum supporta tutte quelle VESA 1/2/3 supportate dal BIOS della scheda video. Per avere la lista completa delle modalità VESA supportate dalla propria scheda video si deve utilizzare qualche programma apposito. Tipicamente i modi VESA2 sono 640x480 e 640x400 ma molti BIOS implementano anche alcune delle modalità a bassa risoluzione riportate nella tabella precedente.
La modalità 376x282 ha una frequenza di refresh verticale di 50.3 Hz che è molto vicina a quella della PAL dello Spectrum. Questo significa che scrollers e animazioni saranno perfettamente fluidi anche sul monitor del PC, un risultato altrimenti impossibile da ottenere a causa della diversa frequenza di refresh della VGA. Notare che alcuni vecchi monitor possono non essere in grado di gestire una frequenza così bassa.
La risoluzione 376x308 (X-Mode) è anch'essa particolarmente interessante in quanto le linee di scansione che si ottengono rendono l'immagine sul monitor molto simile al classico schermo TV. La frequenza di refresh in questo caso è circa 86 Hz, valore che potrebbe eccedere le capacità di alcuni monitor.

Importante: raccomandiamo fortemente di utilizzare sempre, quando possibile, le modalità VESA2 o VESA3 in quanto queste migliorano drammaticamente la velocità di emulazione. L'ultima riga del pannello di controllo F11 riporta la modalità video attualmente attiva; si dovrebbe provare ad utilizzare le risoluzioni indicate come "VESA2" o "VESA3".

Se le modalità a bassa risoluzione quali la 320x240 non fossero disponibili come VESA ma solamente come X-Mode, raccomandiamo di provare il programma Display Doctor della Scitech. Se RealSpectrum non riesce a girare a piena velocità neanche in modalità VESA2, allora non resta altro che utilizzare la buona vecchia 320x200. Controllare che il driver video utilizzato sia "Standard VGA" (indicato anche come modalità 13H). Si può sempre forzare la modalità VGA 13H indicando una risoluzione non esistente nel file INI (ad esempio "VideoMode: 333 333").

Altre opzioni video

Nel menu ALT-F11 sono disponibili alcune opzioni aggiuntive.
  • Vsync: questo parametro controlla il sincronismo verticale. Se abilitato, RealSpectrum tenta di sincronizzare l'aggiornamento del video con la scansione della VGA, ottenendo animazioni più fluide e immagini prive di sfarfallamento. Questo però può, in alcuni casi, rallentare eccessivamente l'emulatore; se si sentono interruzioni o ripetizioni nell'audio si può provare a disabilitare l'opzione vsync. Bisogna anche tenere presente che sotto Windows 9x è praticamente impossibile ottenere la sincronizzazione perfetta al 100% e quindi qualche sfarfallamento ogni tanto si vedrà nonostante vsync sia abilitato.
  • Gamma: questa impostazione determina il constrasto tra colori chiari e scuri della palette dello Spectrum. Aumentare il valore significa rendere più luminosi i colori scuri e viceversa.
  • Salvataggio immagini: apre la finestra di selezione dei file e permette di salvare la schermata corrente; i fomati disponibili sono BMP, SCR, PCX e TGA.
  • O.S.D: rappresenta il massimo numero di linee di testo simultaneamente visualizzate dall'On-Screen Display (OSD).
  • Video Recorder start/stop: selezionare questa opzione per controllare il Video Recorder. Se la riga indica "Start video recorder" verrà mostrato il pannello Video Recording Options descritto di seguito. Se invece la registrazione è già attiva, troverete la scritta "Stop recorder" seguita dalla lunghezza del filmato espressa in minuti e secondi.
Nel file di configurazione realspec.ini si può alterare il valore di frameskip. RealSpectrum invia una videata alla VGA solo una volta ogni frameskip scansioni complete; questo può essere utile in presenza di schede video lente ma il valore di default è comunque zero (nessun frame saltato).

Opzioni di Registrazione Video

Quando si seleziona "Start video recording" dal menu Extra Video Preferences, si apre un piccolo pannello di controllo per consentire la personalizzazione delle proprietà del filmato da registrare.
Le opzioni disponibili sono:
  • Frame rate: rappresenta la frequenza di cattura video, ed è impostata a 50 fps (frames per secondo) per registrare ogni singola immagine generata dallo Spectrum (per avere l'animazione più fluida possibile). Abbassando questo valore (fino ad 1 fps) si ridurrà lo spazio su disco necessario per il filmato e di conseguenza la fluidità di quest'ultimo.
  • Video size: specifica le dimensioni dell'area di cattura video, che può essere sia il quadro video completo dello Spectrum (schermo + bordo) o soltanto l'area pixel (256x192). L'esatta risoluzione delle immagini viene indicata tra parentesi.
  • Record OSD: specifica se le informazioni OSD generate dall'emulatore (messaggi di testo, icone, ecc.) dovvranno essere registrate nel filmato.
  • Compressor: regola l'efficienza del compressore AVI; una compressione migliore ridurrà lo spazio occupato dal filmato. L'impostazione predefinita (e consigliata) è best, la quale offre un'ottimo rapporto di compressione. Selezionando normal, il processo di registrazione risulterà più veloce, ma il file AVI occuperà pi&u spazio; nella maggior parte dei casi non è si utilizza questa impostazione a meno che non sia necessario avere una emulazione fluida anche durante la registrazione su CPU particolarmente lente.
  • AV streams: permette di scegliere se registrare sia audio che video o soltanto video.
Dopo aver regolato i vari parametri, premendo ENTER si aprirà il fileselector per specificare il nome del file e la directory di destinazione per il filmato. La registrazione video inizia non appena si chiude il fileselector.
Nota: non è possibile cambiare risoluzione durante la registrazione.

RealSpectrum salva i filmati nel formato AVI e sfrutta un sistema di compressione senza perdita di definizione (MRLE). I file AVI sono piuttosto comuni e sono supportati dalla maggior parte dei sistemi operativi. Facciamo notare che la registrazione comporta frequenti trasferimenti di dati su disco; in alcuni casi potrebbero quindi verificarsi dei rallentamenti nell'emulazione. Se si utilizza RealSpectrum in ambiente MSDOS puro (non all'interno di un DOS box in Windows), consigliamo di caricare un programma di cache per disco quale 'smartdrive'.

Attenzione: anche solo pochi secondi di registrazione alla massima qualità possono generare un filmato di grosse dimensioni, quindi accertatevi di avere spazio su disco a sufficienza :-)

Una volta ottenuto il vostro AVI, potrete convertirlo in qualsiasi altro formato a seconda delle vostre esigenze. Utilizzando i tool disponibili su Internet, si potranno ricomprimere i dati con un codec diverso come MPEG 1/2/4, Div-X, Cinepak, Indeo ecc.; in ogni caso, ricordate che i compressori di tipo "lossy" potrebbero ridurre la qualità del filmato. L'algoritmo di compressione usato da RealSpectrum è ottimizzato per grafica a palette di colori (come le immagini a 16 colori dello ZX Spectrum) ed offre un'ottima compressione pur mantenendo inalterata la qualità dell'immagine.

9. Audio
RealSpectrum ha un ricco insieme di caratteristiche riguardanti la musica e il suono, in quanto la qualità audio è uno dei nostri principali obiettivi di progetto. Abbiamo già visto le possibilità dal punto di vista dell'emulazione. Questo capitolo spiega invece come avviene l'interazione dell'utente con il sistema sonoro. RealSpectrum può generare suono in molte configurazioni: 8 o 16 bit, mono o stereo e ad ogni frequenza di campionamento supportata dalla scheda audio disponibile. L'impostazione raccomandata è 8-bit stereo a 44100 Hz (normalmente non è necessario impostare i 16 bit).

Opzioni per il suono

Premendo F12 si entra nel pannello delle opzioni per il suono dove troviamo disponibili i seguenti comandi:
  • Master volume: è il volume generale del suono che esce dagli altoparlanti. Alcune considerazioni di tipo matematico riguardanti la qualità del suono ci dicono che normalmente è preferibile tenere questa impostazione al massimo utilizzando invece i comandi degli altoparlanti stessi per regolare il volume.
  • AY stereo panning: è possibile impostare la posizione stereo di ognuno dei tre canali del chip sonoro dello Spectrum (AY) in 256 passi che vanno dall'estrema sinistra all'estrema destra. Questa caratteristica permette di ottenere risultati veramente gradevoli. Molte demo musicali sono state composte per suonare meglio in determinate configurazioni stereo (vedere più avanti).
  • Device balancement: controlla la potenza relativa dei canali digitali (il beeper e altri dispositivi come Covox/Soundrive) rispetto al chip AY. Nello Spectrum 128K originale il beeper da solo suona forte come i tre canali AY messi insieme e questo risulta fastidioso per molti utenti. L'impostazione di default di RealSpectrum è tale che il beeper ha la stessa potenza di un singolo canale AY (cosicché ogni canale ha un quarto della potenza totale). Quando il cursore è all'estrema sinistra si sente solo l'AY mentre il beeper è al minimo; quanto il cursore è all'estrema destra è l'AY ad essere al minimo mentre il beeper è al massimo. Il comportamento dello Spectrum 128K originale si ottiene quando il cursore è posto a metà corsa.
  • Stereo mode: permette di utilizzare alcune configurazioni preimpostate per il panning dell'AY; la configurazione "ABC" (canale A a sinistra, B al centro e C a destra) è utilizzata dal Pentagon e da molti altri cloni e schede dell'est; "ACB" veniva usata in molte demo cecoslovacche (Busy Soft); "NONE" rende il suono monofonico (tutti i canali al centro) e "USER" permette di definire le proprie posizioni stereo.
  • Surround FX: questa favolosa caratteristica migliora la spazialità del suono. Generalmente gli altoparlanti danno risultati migliori delle cuffie. Provando diverse disposizioni degli altoparlanti si riesce ad ottenere il massimo effetto.
  • Sound state: attiva o disattiva il suono.
L'ultima riga del pannello mostra l'impostazione corrente: risoluzione, stereo e frequenza di campionamento; questi parametri non possono essere modificati durante l'esecuzione ma devono essere impostati nel file di configurazione (realspec.ini).

Altre impostazioni audio

Con ALT-F12 sono disponibili altre caratteristiche audio:
  • Sound recorder: RealSpectrum può registrare il suono dello Spectrum (AY e beeper) su file WAV, AZX oppure YM. In questo modo si può fare una raccolta delle musiche e degli effetti sonori preferiti e risentirli in seguito con il proprio programma di riproduzione oppure realizzarne un bel CD. Il registratore può essere avviato o fermato in qualsiasi momento premendo ENTER mentre è selezionata la voce corrispondente; la finestra mostrerà "Start" o "Stop sound recorder" a seconda dello stato attuale. Iniziando una nuova registrazione, si deve utilizzare la finestra di selezione dei file nel solito modo per scegliere il formato (WAV/AZX/YM) e il nome del file con il percorso.

  • Una nota a proposito del formato YM: RealSpectrum salva file YM non compressi di tipo 5; volendo, si possono comprimere in seguito utilizzando LHA.EXE (con l'opzione "-h0", esempio "lha -h0 a compresso.lzh noncompresso.ym") e il risultante archivio .LZH può eventualmente essere rinominato in .YM senza altre modifiche.
  • Circuito AY-LPT: è un piccolo dispositivo che permette di collegare un chip sonoro AY-38910/12 reale alla porta parallela del PC. RealSpectrum è in grado di riprodurre brani AY attraverso tale dispositivo consentendo quindi di ascoltare il suono originale oltre all'emulazione digitale ottenuta grazie alla scheda audio. Per abilitare il dispositivo AY-LPT, digitare l'indirizzo esadecimale della porta LPT alla quale è connesso (generalmente è la 378 per LPT1 e la 278 per LPT2). Per disabilitarlo inserire il valore 0 oppure premere ESC.
  • Digital device: è possibile attivare un'interfaccia digitale per la riproduzione. Quelle supportate sono la Covox (porta $FB sul Pentagon e $DD sullo Scorpion), Stereo Covox (porte $0F e $4F), Soundrive e Music Machine. Il suono digitale è riprodotto attraverso i canali del beeper e quindi non è possibile sentire gli effetti sonori 48K mentre è abilitata una di queste interfacce (ma la musica AY è ancora perfettamente funzionante). Questo significa anche che è possibile regolare il volume del canale digitale utilizzando l'impostazione Device Balance nel menu principale dei controlli audio (F12); per esempio, per ascoltare al meglio la musica digitale (volume al massimo) si deve portare il regolatore tutto a destra (AY al minimo).
Note riguardo le schede audio PCI: come tutti i programmi DOS, la versione MSDOS di RealSpectrum potrebbe non funzionare correttamente con una scheda audio PCI. Questa non è una limitazione di RealSpectrum ma una restrizione imposta dal DOS. Le schede audio PCI sono quasi tutte inutilizzabili da DOS a causa di problemi hardware. Vedere le FAQ più sotto.
10. Pokes (cheats) e opzioni di memoria
Ai vecchi tempi, si trovavano trucchi e modalità di allenamento per molti giochi, tipicamente riportate come POKES nelle riviste. Con RealSpectrum esistono due metodi per inserire le pokes: si può abilitare la Multiface 128 ed utilizzare il suo menu, oppure si può utilizzare il pannello al quale si accede tramite il tasto F9.

Al caricamento di un tape file o di uno snapshot, RealSpectrum cerca automaticamente se esiste un file con lo stesso nome ma estensione .POK. I file POK sono prodotti dalla famosa utility SGD (Spectrum Games Database) di Martijn van der Heide e contengono i vari trucchi. Se viene trovato il file POK, il pannello F9 mostra la lista dei trucchi in esso disponibili per il gioco in esecuzione; ogni trucco può essere attivato o disabilitato con i cursori sinistro e destro. In alcuni casi è possibile specificare un numero come parametro di un trucco, ad esempio il numero di vite; tale numero può essere modificato in corrispondenza del trucco selezionato premendo i tasti + e - del tastierino numerico.

Se il file POK non è disponibile, si possono sempre inserire le pokes manualmente digitandone il valore nell'apposito campo. Ad esempio, per inserire POKE 32654,201 si deve scrivere "32654 201" o "32654,201" (l'indirizzo e il valore vanno separati con uno spazio o una virgola).

Se si vuole, si possono mettere tutti i file POK assieme in un'unica directory indicata dalla voce "PokesDir: " del file di configurazione REALSPEC.INI.

Opzioni di memoria

Il pannello Memory Options si attiva con ALT-F9 e contiene alcune funzioni per caricare e salvare blocchi di memoria. Le prime tre righe permettono di specificare l'indirizzo di inizio del blocco, la lunghezza e la pagina di RAM; sulla riga desiderata, premere il tasto freccia destra e digitare il valore in decimale, premendo poi RETURN per confermare; si possono anche inserire valori esadecimali utilizzando il prefisso "%", il suffisso "H" o perfino la notazione stile C. Esempi di numeri validi sono "%100", "100H" or "0x100".
Una volta specificati i parametri del blocco, selezionare "Load Memory Block" o "Save Memory Block" ed utilizzare il fileselector per indicare il file da caricare o specificare il nome del file da salvare. I blocchi di memoria vengono salvati con l'estensione .BIN.
11. Internet Networking (TCP/IP)
Forse uno dei più innovativi aspetti di questo emulatore è rappresentato dalla possibilità di utilizzare Internet in vari modi. Prima di utilizzare queste possibilità è necessario, comunque, avere una certa familiarità con Internet, con la Sinclair Network dell'Interface-1/DISCiPLE e con le funzioni di rete offerte da RealSpectrum; leggere, pertanto, attentamente questo capitolo (incluso il paragrafo "note speciali") e il resto della documentazione per acquisire la conoscenza necessaria.

Requisiti di sistema per il networking

I seguenti requisiti sono necessari solo se si vogliono utilizzare le funzioni Internet di RealSpectrum:
  • Windows 3.1 o superiori. Le caratteristiche di networking usano lo stack TCP/IP di Windows 3.1 o Windows 95/98 e pertanto l'emulatore deve essere lanciato da una DOS box di Windoze. Non funziona sotto Windows NT e MSDOS puro (cioè usando "Riavvia il sistema in modalità MS-DOS" o, ancora peggio, dal vecchio DOS 6.x).
  • SOCKVXD.EXE: Sotto Windows 95/98, si deve installare questo modulo addizionale che si può scaricare dal sito di RealSpectrum; è un virtual device driver sviluppato per il progetto CODA che permette ad un'applicazione DOS come RealSpectrum di comunicare con le funzioni di networking di Win32. Per installare il modulo, clickare due volte sull'eseguibile e scegliere "Dynamic Loading" come tipo di installazione; questo si deve fare solo la prima volta che si installa RealSpectrum. In seguito si potrà tranquillamente disinstallare il modulo dal pannello di controllo.

  • Questo modulo si può scaricare liberamente dalla pagina ufficiale di RealSpectrum. L'ultima versione disponibile si trova alla homepage di CODA:
    ftp://www.coda.cs.cmu.edu/pub/tools/95/windows-socket-extension.exe
  • Connessione TCP/IP. Può essere il normale accesso ad Internet oppure una rete locale come la Ethernet.

Il menu Network Options (come fare una connessione)

Prima di tutto si deve predisporre la propria macchina per la comunicazione. Questo può essere fatto attraverso le Networking Options, che si trovano nel menu ALT-F8.
Prima di abilitare la connessione si deve inserire il proprio nickname premendo la freccia a destra quando il cursore si trova sulla riga con scritto "Nick-Name" e confermare con ENTER. Il nickname è solo un identificativo che viene visualizzato sullo schermo degli altri amici in connessione quando si esegue qualche operazione. Naturalmente si può lasciare il nickname di default se non si vuole impostarne uno proprio. Inoltre si può specificare il nickname anche nel file INI in corrispondenza della riga "NickName: your-nick".

Poi si deve inserire l'indirizzo IP del computer remoto. Un indirizzo IP è composto da quattro numeri separati da punti, ad esempio "192.168.0.1". Logicamente si deve prima trovare il modo di conoscere l'indirizzo IP dell'amico in connessione e questo si deve probabilmente fare al di fuori di RealSpectrum, ad esempio su IRC o ICQ, con una telefonata e così via.
Se non si conosce l'indirizzo IP del corrispondente, si può inserire "0.0.0.0" come IP remoto (è la scelta di default); in questo modo, RealSpectrum attenderà una chiamata e determinerà automaticamente l'IP remoto. Così facendo, però, è necessario che il corrispondente inserisca il proprio IP address nel suo pannello di controllo relativo alla rete. La regola è che un IP remoto deve essere specificato almeno da una parte.

Quando si è pronti, abilitare il Networking ed uscire dal menu premendo ENTER o ESC. Se c'è già una connessione attiva, i due computers proveranno a contattarsi. Durante questa fase, RealSpectrum visualizza "Connecting to..." oppure "Waiting for a call". Si può interrompere l'operazione di connessione premendo ESC. Se non c'è alcuna connessione attiva, RealSpectrum può accettarne anche durante la normale emulazione (a patto che siano abilitate entrambe le voci Networking e NetMonitor in ALT-F8).

Una volta che la connessione è attiva, si vedrà sullo schermo un messaggio simile a "Sanchez connected from 192.168.0.1" e si potrà iniziare. L'ultima riga del pannello Network Option mostra il proprio indirizzo IP solo dopo che una connessione è stata attivata con successo. A causa di limitazioni tecniche riguardanti SOCKVXD, RealSpectrum non ha modo di conoscere quell'informazione prima.

Lo stato della connessione è mostrato sulla penultima riga del pannello ALT-F8 dove viene riportato se qualcuno è connesso, se è in ascolto per i messaggi chat e per l'invio di files. Le funzioni di network operano indipendentemente dallo stato della connessione remota per cui si possono inviare messaggi anche se il corrispondente risulta "not in chat", ma probabilmente non li riceverà.

Sinclair Network (Interface-1 e DISCiPLE)

E' la network standard che si trova sull'Interface-1 e sulla DISCiPLE, che risultano così reciprocamente compatibili a livello di rete locale. Con la rete reale è consentito connettere fino a 63 Spectrum utilizzando un normale cavo audio dotato di spinotti jack mono. Il software in ROM estende il BASIC Sinclair con una serie di nuovi comandi dedicati all'interscambio di dati e programmi via network. Ad ogni Spectrum collegato in rete si deve assegnare un numero di stazione univoco compreso tra 1 a 63; ad esempio, se si volesse essere la stazione numero 10 si dovrebbe digitare FORMAT "n";10 sull'Interface-1 oppure FORMAT n10 sulla DISCiPLE. A questo punto si possono inviare dati utilizzando i normali comandi LOAD e SAVE con tutte le loro varianti. Se si è la stazione 10 e si vuole inviare una schermata alla stazione 11 si deve digitare SAVE *"n";11 SCREEN$ (o SAVE n11 SCREEN$ sulla DISCiPLE), mentre il corrispondente deve mettersi prima in ascolto con LOAD *"n";10 SCREEN$ (oppure LOAD n10 SCREEN$ sulla DISCiPLE). Il numero di stazione 0 è riservato per la modalità broadcast, con la quale si può inviare o ricevere dati da qualunque stazione (ad esempio, con LOAD n0 SCREEN$ si riceverà una schermata da chiunque abbia dato il comando SAVE n0 SCREEN$). La Sinclair Network è molto potente e ci sono diverse cose da sapere per poterla utilizzare correttamente. Una descrizione completa dei comandi si trova sul manuale dell'Interface-1 o sulla nostra DISCiPLE technical guide che si trova nelle pagine tecniche del nostro sito.

Ora, con RealSpectrum è possibile connettere due Spectrum virtuali dovunque essi si trovino nel mondo, grazie ad Internet. Quando l'impostazione globale "Networking" è abilitata nel menu Network Options, il funzionamento sarà esattamente come se il RealSpectrum remoto fosse connesso tramite la Sinclair network. Naturalmente Internet è molto più lenta della Sinclair Network originale ed anche molto caotica, e quindi le prestazioni dipenderanno fortemente dalle momentanee condizioni di traffico. Il paragrafo "Note speciali" contiene alcune importanti informazioni al riguardo.

NetMonitor

NetMonitor è una funzione speciale che abilita alcuni servizi di rete addizionali come il sistema di chat e la condivisione di file. La chat consente di chiacchierare in tempo reale con i vostri amici mentre girano normalmente i vostri programmi Spectrum. La condivisione dei file è utilizzata per scambiare file attraverso la rete. Vedere più sotto per una descrizione dettagliata di queste caratteristiche.
NetMonitor può essere abilitato solo se lo è anche l'impostazione globale Networking. In generale si dovrebbe tenere NetMonitor sempre abilitato per tutto ciò che offre. Comunque, abbiamo dato la possibilità di disabilitarlo nel caso si stia guardando la propria demo preferita e non si vogliano interruzioni dall'esterno :-)
Se entrambi gli utenti hanno NetMonitor abilitato, RealSpectrum terrà traccia dello stato della connessione e cioè sarà in grado di rilevare se il corrispondente è in linea, se è in ascolto sulla chat e così via.

Internet Chat

Mentre si utilizza la rete, è molto utile parlare con i propri amici. Ad esempio, uno potrebbe voler dire: "Sono la stazione numero 10, mandami una schermata", "Ok Sono la stazione 11, eccotela", "Riavviamo la connessione", "Sono pronto a ricevere" e via dicendo.
Per questa ragione, RealSpectrum offre un semplice ma efficace sistema di chat. Per utilizzarlo si deve abilitare la voce "NetMonitor" nel menu Network Options ed essere sicuri di essere già connessi con il proprio corrispondente (vedere sopra). Quando si vuole dire qualcosa basta premere CTRL-F8, scrivere il messaggio e premere ENTER per inviarlo. I messaggi in arrivo ed in partenza appariranno in sovraimpressione sullo schermo dello Spectrum per pochi secondi (utilizzando l'OSD multiriga di RealSpectrum), mentre il programma continua a girare normalmente. Se non si vede il proprio messaggio sullo schermo significa che c'è qualche problema di comunicazione verso la rete: controllare la configurazione in ALT-F8 e la connessione Internet. 

Invio di file

Con RealSpectrum è anche possibile inviare e ricevere file. Se si vuole inviare un file si deve premere SHIFT-F8 ed utilizzare la finestra di selezione per sceglierne uno sul proprio sistema. La funzione NetMonitor deve essere abilitata per poter vedere i file in arrivo (ma non è necessario per poterli inviare). Se il NetMonitor di RealSpectrum rileva che qualcuno sta inviando un file, verrà visualizzato un box informativo sullo schermo dello Spectrum che riporta il nome e la dimensione del file e chiede se si vuole accettare o rifiutare la trasmissione. Se si decide di accettare, la finestra di selezione viene aperta in modalità di salvataggio per permettere di specificare la directory di destinazione e magari un nome diverso per il file in arrivo; viene comunque proposto il nome di default e quindi, se non lo si vuole cambiare, basta premere ENTER per confermare. Per default, RealSpectrum salva i files nella directory da dove è stato lanciato oppure in quella specificata nella voce "DownloadFolder:" del file INI (se presente).
Con l'opzione "Get Files" del menu ALT-F8 si può personalizzare il comportamento di default riguardante i file in arrivo: "Never" rifiuta automaticamente tutti i file, "Ask me" permette di scegliere di volta in volta con il box descritto sopra e "Always" accetta automaticamente qualunque file.
Durante il trasferimento, lo stato di avanzamento è constantemente visualizzato sullo schermo come una progress bar. Sia chi invia che chi riceve può interrompere la trasmissione in qualunque momento premendo ESC.

Note speciali e risoluzione dei problemi

Il protocollo di rete dello Spectrum originale è stato progettato per un tranquillo e veloce collegamento fisico mentre Internet è, al contrario, molto caotica, lenta e imprevedibile. Il protocollo stesso gestisce ogni errore di trasmissione (pacchetti persi o corrotti), garantendo quindi una connessione affidabile anche in presenza di disturbi.
L'emulazione della rete Sinclair di RealSpectrum è completamente trasparente e quindi le routine originali (in ROM) di gestione degli errori continuano a funzionare regolarmente fornendo una comunicazione controllata anche attraverso Internet; non è una simpatica modernizzazione? ;-) La sola differenza è che il protocollo dell'IF-1 rileva gli errori di trasmissione con un timeout di pochi millisecondi, che è un valore ragionevole per una connessione via cavo come quella della rete Sinclair ma certamente non per Internet che è tipicamente molto più lenta e complessa e pertanto abbiamo aumentato artificialmente il timeout a 8 secondi.
Stiamo descrivendo tutto questo in quanto può accadere che un pacchetto venga perso nella rete e che il comando LOAD o SAVE si blocchi. In questo caso basta attendere circa 8 secondi e la trasmissione riprenderà automaticamente! Si rende necessario interrompere con BREAK (SHIFT+SPACE) il comando LOAD o SAVE solo se il trasferimento rimane bloccato a lungo, diciamo per 20-30 seconds o più. Si deve tenere presente che tali blocchi avvengono anche con l'Interface-1 reale (o la DISCiPLE) ma che non si notano grazie al timeout molto breve.

Bisogna anche considerare che RealSpectrum è un programma DOS e pertanto deve veramente fare magie per accedere ad Internet utilizzando Windows. Ci sono alcune limitazioni tecniche che non possono essere superate da un programma DOS, ad esempio, un'intensa attività di rete da parte dell'IF-1 potrebbe rallentare l'emulazione (si sentono suoni ripetuti nell'audio); è normale ed è il piccolo prezzo da pagare per una funzionalità così entusiasmante.

Se la connessione sembra definitivamente interrotta, cioè non arrivano i messaggi di chat e la rete dell'IF-1 non funziona, si può sempre chiudere la connessione disabilitando la voce "Networking" e riprovare a connettersi riabilitandola. E' importante ricordare che, in qualsiasi momento, si può avere un'idea dello stato della connessione guardando l'ultima riga del pannello Networking dove viene detto se il corrispondente è connesso ed in ascolto per quanto riguarda i messaggi chat.

Se avete problemi non esitate a contattarci: inviateci una email con una descrizione dettagliata del problema e le condizioni nelle quali si manifesta.

12. DemoMode
La DemoMode è una speciale modalità di visualizzazione che trasforma RealSpectrum in un riproduttore musicale. Quando si entra nella DemoMode, il video dello Spectrum viene sostituito da una schermata grafica che mostra animazioni ed altri effetti ispirati dalla musica di sottofondo. E' una specie di plug-in di visualizzazione che gira sopra l'emulazione Spectrum e che può essere utilizzato ogni volta che si vuole per vedere oscilloscopi, vu-meters e altri effetti mentre lo Spectrum sta suonando.
Quando si è nella DemoMode, l'emulazione Spectrum continua a girare normalmente in background. Si può tornare alla videata dello Spectrum in qualunque momento premendo ESC.
Gli effetti mostrati possono essere cambiati ciclicamente premendo F1; al momento sono implementati solo un paio di effetti (oscilloscopio e analizzatore di spettro), oltre all'effetto nullo, ma aspettatevi a breve qualcosa di entusiasmante :-)

AY Player (F5)

Nella DemoMode, RealSpectrum può anche riprodurre i popolari file musicali .AY. Il formato .AY è l'equivalente Spectrum dei famosi .SID del C64, cioè raccolte di brani musicali da computer. Le più popolari musiche dello Speccy sono state estratte dai giochi e dalle demo e convertite nel formato AY. Potete trovarne una vasta collezione nel sito Project AY.

Per suonare i file AY in RealSpectrum, premere F5 in DemoMode e selezionare il file utilizzando la consueta finestra di selezione. I file AY possono contenere diversi brani che è possibile scegliere utilizzando i tasti freccia sinistra e destra; la freccia in giù ripete il brano corrente. Notare che all'uscita della DemoMode, dopo aver suonato un file AY, lo Spectrum viene automaticamente resettato.

Dato che è possibile avviare il registratore musicale prima di entrare nella DemoMode, RealSpectrum può, in questo modo, fungere da convertitore da .AY a WAV/YM/AZX.

Lavori in corso!

Non abbiamo avuto abbastanza tempo per questa release, ma nella prossima ci saranno veri effetti "demo" (un water scope è già pronto) e skins caricabili cosicché ci si potrà disegnare le proprie videate grafiche per la DemoMode. Inoltre, abbiamo in programma di implementare un ripper automatico di .AY che consentirà di crearsi facilmente i propri file .AY.
13. Domande Frequenti
  1. RealSpectrum si blocca all'avvio con lo schermo nero.

  2. Il più delle volte questo dipende da un problema di inizializzazione della scheda audio, specialmente se si possiede una scheda PCI (vedere la prossima FAQ). Ritornare al DOS premendo CTRL-ALT-DEL, poi riavviare RealSpectrum con il comando "realspec -nosound" oppure impostare "NoSound: 1" in REALSPEC.INI.
     
  3. RealSpectrum non funziona con la mia scheda audio PCI.

  4. Sfortunatamente non possiamo farci niente. Le schede audio PCI generalmente non sono utilizzabili da programmi DOS a causa di problemi hardware. La maggior parte dei produttori forniscono una emulazione di base della SoundBlaster (legacy device) che è spesso bacata e che deve essere opportunamente configurata. Si raccomanda di utilizzare le versioni più recenti dei drivers disponibili per la propria scheda e di far girare l'emulatore in una DOS box di Windows 9x. Solo pochissime schede sono in grado di lavorare sotto DOS puro (ad esempio la Terratec Canyon 3D). RealSpectrum funziona con la SB Live! solo in una DOS box. Raccomandiamo inoltre di impostare il legacy device nella classica configurazione SB: I/O 220H, IRQ 5 o 7 e DMA 1 e 5.
     
  5. Si, ma io voglio comunque sentire il suono!

  6. Ok, ci sono un paio di cose da controllare prima di arrendersi definitivamente all'incompatibilità della scheda audio.
    Se la scheda offre qualche tipo di emulazione SoundBlaster, controllare che la variabile d'ambiente BLASTER sia correttamente definita. Digitando "set" dalla linea di comando, si dovrebbe vedere qualcosa simile a questo: BLASTER=A220 I7 D1 H5 T6 etc; A220 è l'indirizzo di I/O della scheda (220H), I7 è la IRQ (7), D1 è il canale DMA a 8-bit (1), H5 è il canale DMA a 16-bit (5) e T6 è il tipo di scheda (6 significa SB16, 4 SBPro e così via). Assicurarsi che i valori presenti nella stringa BLASTER corrispondano esattamente alle impostazioni hardware della scheda. Se la variabile BLASTER non è presente, si deve definirla manualmente.
    Se ancora si hanno problemi, si può provare a forzare RealSpectrum affinché utilizzi uno specifico driver audio. Per far ciò, aggiungere la seguente linea alla fine della sezione [sound] nel file ALLEGRO.CFG: "digi_card = SB20", dove "SB20" sta per SB 2.0 driver; i drivers disponibili sono "SB16" (SoundBlaster 16), "SBP" (SoundBlaster Pro), "SB20" (SoundBlaster 2.0), "SB15" (SoundBlaster 1.5) e "SB10" (SoundBlaster 1.0). Forse la scheda non funziona come una SB16 ma come una semplice SB 2.0; bisogna tenere presente che i vari modelli di SB hanno differenti capacità in termini di massima frequenza di campionamento supportata, riproduzione stereo e qualità di riproduzione 8/16 bit.
     
  7. Come posso migliorare la velocità di emulazione?

  8. L'altissima accuratezza di RealSpectrum richiede CPU molto veloci rispetto ad altri emulatori. Prima di tutto assicurarsi di utilizzare una modalità video VESA2. Provare a disabilitare VSYNC dal pannello ALT-F11 (o nel file INI), specialmente se si avvertono salti o ripetizioni nell'audio e si ha un processore lento. Utilizzare una risoluzione inferiore; 320x200 è la più veloce. Se è ancora lento, disabilitare il suono. Provare ad aumentare il valore di frameskip nel file INI. Si può guadagnare velocità extra anche disabilitando l'emulazione della memoria contesa con l'impostazione "ContendedMemory: 0" nell'INI, al prezzo di una riproduzione meno accurata degli effetti multicolor (questo non influenza i modelli russi che non hanno memoria contesa).
14. Licenza, crediti e contatti
RealSpectrum è freeware. Può essere liberamente utilizzato e distribuito a patto che non ci si guadagni sopra e che il pacchetto originale, programma e documentazione, non venga alterato in alcun modo. Prima di includere RealSpectrum in un prodotto commerciale (ad esempio una rivista su CDROM), prego contattarci. Non è permesso distribuire questo programma assieme a software commerciale per Spectrum (snapshot di giochi, etc) in nessuna forma.

RealSpectrum non offre alcun tipo di garanzia, implicita o esplicita. Utilizzando questo programma, si accetta il fatto che gli autori non sono responsabili degli eventuali danni o perdita di dati causati, direttamente o indirettamente, al proprio sistema dall'emulatore. Si usa a proprio rischio e pericolo.

L'ultima versione di RealSpectrum può sempre essere scaricata dal sito ufficiale della Ramsoft:

Se si vogliono inviare le proprie impressioni, suggerimenti o, ancora meglio, segnalare bugs, prego scrivere a: Prima di chiedere qualcosa, assicurarsi che le risposte non siano già presenti in questo manuale. Quando si segnalano bugs, prego descrivere accuratamente i problemi incontrati e le operazioni da eseguire per riprodurli; non dimenticare di includere una descrizione del proprio sistema (sistema operativo, scheda audio, scheda video, CPU, memoria, etc). Questo ci farà risparmiare molto tempo, grazie.

Ringraziamenti

Vorremmo ringraziare le seguenti persone che hanno contribuito con utili suggerimenti e segnalazioni di bugs:
 
Francesco Piccardo, Davide Barlotti, Rodolfo Edison Guerra,
Miodrag Stancevic, Henk van Leeuwen, Pepa Kokes, Mac Buster,
Raul Gomez Sanchez, Simone Voltolini, Carl Murray, Enrico Maria Giordano,
UnBEL!EVER^x7m.

La versione italiana del manuale e' stata tradotta da Enrico Maria Giordano.

Riconoscimenti

Le ROM della Sinclair e della Amstrad sono distribuite con il permesso della Amstrad plc
Le ROM della DISCiPLE e della +D sono distribuite con il permesso esplicito della Datel

Il seguente materiale tecnico è stato consultato durante la creazione di RealSpectrum, i riconoscimenti vanno ai rispettivi autori e gestori:

Un ringraziamento particolare a Shawn Hargreaves per la stupenda libreria Allegro.
15. Storia delle modifiche
Novita' nella v0.75.20 (24 Dicembre 2000)
  • Emulazione MB-02+: e' probabilmente l'interfaccia piu' potente mai prodotta per lo Spectrum! Una periferica da favola con 512K di SRAM integrata, supporto per 4 floppy disk HD e un chip Z80-DMA per trasferimenti indipendenti dalla CPU. RealSpectrum emula sia il DMA che l'orologio interno (RTC). I dischi MB02 sono supportati come immagini .MBD che sono copie dirette dei floppy (come gli MGT).
  • Videoregistratore: con la nuova funzione VTR in ALT-F11 e' ora possibile videoregistrare i vostri giochi e demo preferiti in filmati AVI. E' possibile registrare sia l'audio che le immagini, oppure solamente il video; la nuova finestra VTR permette di settare diversi parametri, come la frame rate, la dimensione dell'area di schermo da catturare, e altro ancora.
  • Nuovo pannello delle proprieta' dell'hardware: questa nuova finestra presenta delle informazioni addizionali specifiche per ciascun modello di Spectrum. La schermata si richiama premendo due volte F3 e contiene il filename della ROM, il tipo di chip sonoro e cosi' via.
  • Emulazione Multiface I e III: con queste completiamo la gamma di interfacce Multiface emulate. Il modello adatto viene scelto automaticamente dall'emulatore a seconda dello Spectrum selezionato.
  • Pentagon 512K: l'espansione di memoria puo' essere gestita dal nuovo pannello per le proprieta' dei modelli.
  • Porte seriali: RealSpectrum supporta comunicazioni RS232 bidirezionali attraverso le 4 porte COM del PC e la ridirezione su file. Oltre alle seriali standard del 128K e dell'Interface-I, e' possibile impostare dei trap personalizzati per usare routines di I/O esterne, permettendo in questo modo a molti programmi non standard di funzionare ugualmente. Si raccomanda di leggere attentamente la nuova sezione del manuale (CTRL-F3).
  • Emulazione FDC765 migliorata e supporto per il formato DSK esteso.
  • Supporto per files compressi: RealSpectrum gestisce automaticamente gli archivi in formato ZIP, ARJ, RAR e ACE. Questi files vengono mostrati nel fileselector come directory speciali di tipo "ARC" e come tali possono essere trattati. Date un'occhiata al paragrafo nel capitolo 4 per alcune avvertenze importanti.
  • I soliti bugfix: emulazione WD1793 (scrittura e formattazione TRDOS), schermata nera alla partenza senza scheda sonora e molti altri.
Novità nella versione 0.70.19 (21 Ottobre 2000)
  • Supporto Real-tape: caricamento e salvataggio affidabile di cassette Spectrum reali direttamente attraverso la scheda audio. Per abilitarlo, selezionare "Physical-Device" nell'apposita finestra di selezione dei file. Leggere la nuova sezione riguardante questo argomento nel capitolo Tapes.
  • Emulazione Covox, Stereo Covox, Soundrive e Music Machine: aggiunto un canale digitale per il DAC a 4 x 8-bit stereo con interpolazione lineare che fornisce musica ed effetti di alta qualità. Quando viene abilitato (ALT-F12), il dispositivo audio digitale sostituisce il canale del beeper (in questo modo è soggetto all'impostazione "Device Balance" del pannello principale dedicato al suono che si attiva con F12).
  • Creazione di immagini di disco vuole: con ALT-F6 si possono creare file vuoti nei formati IMG, MGT, TRD, DSK e MDR. Nota: i dischi DSK e le cartucce MDR devono essere formattate prima dell'uso.
  • Emulazione della porta parallela per DISCiPLE, +D, +2A, +3 e Scorpion. I dati possono essere inviati alla LPT1, LPT2 oppure ad un file. Vedere il menu Communication Ports (CTRL-F3).
  • Possibilità di cambiare le ROM anche per le varie periferiche in F3 (DISCiPLE, +D, TRDOS, IF-1, Multiface).
  • Migliorata l'emulazione dello Scorpion: temporizzazione esatta degli effetti multicolor, abilitato lo Shadow Monitor (NMI) e sistemata la modalità "128 TRDOS". Prossimamente: emulazione velocità turbo.
  • Migliore supporto ai dischi reali: migliorata la compatibilità con il BIOS; ora funziona anche con i dischi TRDOS.
  • Emulazione joystick anche attraverso i tasti cursore del PC (selezionare "Cursor Keys" come joystick in ALT-F3).
  • Aggiornate le pagine di help (F1).
  • Aggiunto lo switch "AY-48K:" nel file INI per abilitare/disabilitare il chip sonoro AY per i modelli 16K e 48K; le impostazioni disponibili sono: 0=OFF (48K originale), 1=AY38912 e 2=YM2149; il default è 1 (AY abilitato).
  • Supporto per gli snapshot .Z80 da 256K in modalità Scorpion (sia in lettura che in scrittura). Migliorata la gestione degli snapshot Z80/SNA con i modelli +2A/+3 e Scorpion.
  • Molti bugs corretti (temporizzazioni +2A/+3, caricamento ROM custom, DemoMode, riproduttore .AY, Z80, FlashLoading, etc).
Novità nella versione 0.60.42 (24 Agosto 2000)
  • Emulazione dell'Interface con 8 microdrive (MDR files). La ROM dell'IF-1 è ora inclusa nel pacchetto standard delle ROM.
  • Emulazione della rete dell'Interface I e della DISCiPLE attraverso Internet (TCP/IP)! Si possono connettere due Spectrum virtuali ovunque essi siano nel mondo utilizzando le caratteristiche di rete standard della DISCiPLE o dell'Interface I (ad esempio, i comandi BASIC relativi al canale "n", ma non solo)! Richiede Windows 3.1 o 95/98 (raccomandato) e funziona su ogni connessione TCP/IP che sia Internet o una LAN. Le opzioni di rete sono nel menu ALT-F8. Leggere molto attentamente il capitolo "Internet Networking"!
  • Sistema di chat integrato per Internet/LAN (TCP/IP): si può parlare con altri appassionati Spectrum mentre gira il proprio gioco/demo preferito (CTRL-F8). I messaggi appaiono direttamente sullo schermo dello Spectrum grazie al nuovo on-screen display (OSD) multiriga.
  • Scambio di file attraverso Internet/LAN (TCP/IP): si può inviare e ricevere qualsiasi file da RealSpectrum (SHIFT-F8).
  • DemoMode (F8) con effetti speciali grafici per la riproduzione della musica. Riproduttore di file .AY integrato. Ancora in via di sviluppo.
  • 48K BASIC Tokenizer: anche in modo 48K, si possono digitare comandi BASIC o intere linee di programma carattere per carattere nel Tokenizer editor (ALT-F1) con syntax highlighting, e questo traduce tutto nella corretta sequenza di tasti che vengono automaticamente passati all'editor 48K alla velocità della luce. E' molto simpatico, provatelo! :-)
  • Nazionalizzazione della tastiera: si può impostare la tastiera al proprio standard nazionale (riga "Keyboard:" in realspec.ini).
  • OSD (On-Screen Display) multiriga che può visualizzare icone grafiche e messaggi di testo. Il massimo numero di righe di testo visualizzate simultaneamente può essere modificato nel menu ALT-F11. L'OSD attualmente è utilizzato solo dal sottosistema di rete ma sarà utilizzato in seguito per un completo indicatore grafico  dello stato dell'emulazione (led dei dischi/tape, eventi speciali, etc.).
  • Caricamento e salvataggio di blocchi di memoria (ALT-F9).
  • Selezione in esecuzione di ROM custom per i vari modelli (premere SPACE in F3 sul modello selezionato).
  • Molti bugs corretti (pannello delle pokes, caricamento dei file rom 48K, file disco a sola lettura, +D BetaDos, decodifica degli indirizzi nel +2A/+3, etc).
Novità nella versione 0.50.23 (14 Maggio 2000)
  • Nuovi modelli di Spectrum: 16K, +2A, +3 e Scorpion 256. Nota: è stato aggiornato il pacchetto delle ROM!
  • Supporto Kempston mouse per Pentagon e Scorpion (ALT-F3).
  • Notevole miglioramento nella velocità, più del 30% in termini di FPS!
  • Pesanti modifiche all'emulazione Z80.
  • Inserita la temporizzazione multicolor per il 48K (basata sull'issue 4S).
  • Possibilità di disabilitare l'emulazione della memoria contesa per ottenere un miglioramento extra in velocità al prezzo di un degrado della qualità visiva. La memoria contesa è necessaria per ottenere effetti multicolor perfetti al 100%. Questo non influisce sul Pentagon e sullo Scorpion in quanto essi non hanno memoria contesa.
  • I files rom della DISCiPLE/+D possono essere specificati nel file INI; supporto per rom pre-booted (ROM+SYS, 16384 bytes instead of 8192).
  • Personalizzazione delle directory di default nel file INI per snapshot, tapes e dischi.
  • Salvataggio immagini in formato BMP, SCR, PCX e TGA (ALT-F11).
  • Registrazione musicale di files AZX e YM e nuova finestra di dialogo per il registratore di suoni (ALT-F12)
  • Switch per saltare il messaggio introduttivo ("-nopause" dalla linea di comando e "WelcomeMessage" nell'INI).
  • Tonnellate di bugs corretti (caricatore di snapshot Z80, salvataggio con l'UNIDOS, emulatore Z80, etc.).
Novità nella versione 0.41.06 (13 Marzo 2000)
  • Supporto per joystick Kempston/Sinclair (ALT-F3)
  • Aggiunto il caricatore Digital Integration al FlashLoading
  • Corretti errori nell'emulazione Z80 (Melange, Kolobok2 e Digital Integration)
  • Altri errori corretti
Novità nella versione 0.40.26 (5 Marzo 2000)
  • TZX FlashLoading (giochi turbo, livelli inclusi)
  • Salvataggio tape files in formato TZX, TAP, CSW e WAV
  • Pannello di controllo opzioni per tape files (ALT-F7)
  • Supporto SCL per dischi TRDOS
  • Corretti errori nell'emulazione Z80 (Dizzy V)
  • Supporto automatico per files POK
  • Switches per la linea di comando
  • Selezione automatica del TRDOS in modalità Pentagon
  • Menu di help (F1)
Novità nella versione 0.34.21 (21 Gennaio 2000)
  • Abilitato supporto UNIDOS (sia DISCiPLE che +D)
  • Supporto di base per TRDOS (non ancora completamente testato)
  • Importante miglioramento nella velocità (+50%!)
  • Corretti errori ed effettuate modifiche nell'emulazione Z80
Novità nella versione 0.32.20 (3 Gennaio 2000)
  • Emulazione +D abilitata, scrittura su disco enabled
  • Pannello di controllo per la selezione dei dischi
  • Velocizzazione e correzione di bugs
31 Dicembre 1999: Millennium Release (versione 0.31.999)


RealSpectrum e questo manuale sono © 1999-2001 Ramsoft ZX Spectrum demogroup