[zxspectrum] Re: R: Re: New Divmmc

  • From: Stefano Donati <sd75@xxxxxxxxxx>
  • To: zxspectrum@xxxxxxxxxxxxx
  • Date: Sun, 16 Mar 2014 12:14:51 +0100

Urka, mi dispiace, non volevo farti fare confusione... provo a rispiegare.

L'essenziale per salvare SU DISCO:

1. il BIOS del GDOS (la ROM): SAVE d1"BIOS" CODE 8192,8192
2. il GDOS (la RAM): SAVE d1"BIOS" CODE 0,6656
3. il BIOS dell'Uni-DOS (la ROM): SAVE d1"BIOS" CODE 0,8192
4. l'Uni-DOS (la RAM): SAVE d1"BIOS" CODE 8192,6656

Salvare SU NASTRO, invece, è leggermente più complicato in quanto hai bisogno di una piccola routine in assembly che si occupa di copiare nella RAM dello Spectrum il contenuto della memoria della DISCiPLE. Una bozza "al volo" può essere questa:

10 CLEAR 29999: FOR f=30000 TO 32017: READ a: POKE f, a: NEXT f
20 DATA 243,219,187,33,0,0,17,0,128,1,0,64,237,176,211,187,251,201
30 RANDOMIZE USR 30000

Una volta eseguite queste 3 linee di BASIC avrai a disposizione il contenuto dell'intera memoria della DISCiPLE all'indirizzo 32768; per sapere dove stanno ROM e RAM usa il seguente schema:

- se GDOS NON ERA caricato prima di eseguire il BASIC, la ROM è a 32768 e la RAM (verosimilmente vuota o contenente spazzatura) è a 40960 - se GDOS ERA caricato prima di eseguire il BASIC, la RAM è a 32768 e la ROM è a 40960 - se GDOS ERA caricato ma hai eseguito un doppio reset dello Spectrum senza eseguire comandi GDOS prima di eseguire il BASIC, la ROM è a 32768 e la RAM è a 40960 - se usi Uni-DOS, la ROM è sempre a 32768 e la RAM sempre a 40960 (almeno da BASIC).

Se hai bisogno di altri dettagli o se qualcosa non è chiaro fammi un fischio :)

Stefano.


Il 16/03/2014 01:11, Massimo Raffaele ha scritto:

    Per essere precisi, quella che ho descritto nel messaggio
    precedente è la condizione che si ha con il DOS caricato.


Urgono chiarimenti...
Quindi, una volta caricato il DOS, mi confermi che posso salvare il contenuto della ROM Disciple con SAVE d1"BIOS" CODE 8192,8192 ? E che potrei, volendo, salvare il DOS Disciple con SAVE d1"DOS" CODE 0,6656 ?

Invece su nastro non posso perché non viene coinvolto un comando Disciple?

    Sulla DISCiPLE la mappatura di ROM e RAM è swappabile con una OUT
    alla porta 123 e all'accensione dello Spectrum (o dopo un doppio
    reset senza aver eseguito nemmeno un comando GDOS) la è diversa:
    ROM all'indirizzo 0 e RAM a 8192.


Ehm, non mi è chiaro :-(

    La memoria della DISCiPLE


Qui per memoria intendi RAM o ROM?

    è visibile dopo una IN 187 (che da BASIC ovviamente ti manda il
    computer in crash) e non lo è più dopo una OUT sulla stessa porta:
    per salvarne il contenuto su nastro devi quindi trasferirla prima
    in RAM con un pizzico di L/M.
    Stefano.


Casino... :-(

Max




---
Questa e-mail è priva di virus e malware perché è attiva la protezione avast! 
Antivirus.
http://www.avast.com

Other related posts: