[zxspectrum] Re: AEON demo

  • From: "Alessandro" <alessandro.poppi@xxxxxxxxx>
  • To: <zxspectrum@xxxxxxxxxxxxx>
  • Date: Sun, 11 Jan 2009 12:03:27 +0100

On Sunday, January 11, 2009 2:00 AM [GMT+1],
Eugenio Ciceri <eugenio.ciceri@xxxxxxxxx> wrote:

Allora resta solo il problema di quando non voglio snapshottarli ma la
zxmmc+ e' collegata :-)

In quel caso devi per forza attivare la rom interna.

Mi rinfreschi la memoria su come flashare la bootrom?
Se uso da zx-com la funzione flash bootrom firmware dice che esegue il
backup di 64K e che sta ricevendo i dati; poi pero' alla fine mi da'
communication error

La procedura e' giusta, non capisco il communication error (e' una comunicazione piuttosto collaudata, ieri sera durante le prove avro' flashato ottomila bootrom e comunque e' una parte che ha qualche anno di vita senza modifiche).

(devo capire come mai ha iniziato a darmi questo
problema...)

Si, parti dalle cose piu' banali tipo se hai cambiato computer :-) o sistema operativo, una buona prova potrebbe essere usare un altro pc o un altro spectrum (vedo piu' probabile il problema sul lato pc).

e alla fine mi appare la bootrom2.20e in modalita' debug
(!)

In caso di errore in quella routine, la contromossa e' un risolutivo JP 0 :-) Quando esegue il reset, il firmware controlla se vive in rom (condizione al power-on) o in ram (upload da seriale per scopo di debug senza dover flashare oppure rilocazione al power-on, vedi di seguito). Nel primo caso, si ricopia nell'ultimo banco di RAM (il n. 31) dove resta in esecuzione (gira in ram in modo da avere una zona variabili esclusiva entro i primi 16K, cosa utilissima per tutte le routine che non devono alterare nemmeno un byte della ram della macchina). Nel secondo caso, ovvero quando scopre di essere GIA' in ram, visualizza la dicitura 'debug'. Il salto a 00 in seguito al tuo errore avviene mentre la bootrom sta funzionando in ram, di qui il messaggio da te riportato.

Ho risolto temporaneamente caricando la bootrom da nastro, ma con USR
30000 viene lanciata in modalita' debug e non ricordo l'entry point
per flasharla definitivamente.

Il sorgente dell'header che si occupa di questa funzione e' 'header.asm' e l'entry point per flashare e' 30100. header.asm viene messo in testa al vero blocco che costituisce la bootrom (bootrom.asm) e, conoscendo la propria lunghezza, sa dove andare a pescare il codice da flashare o da mandare in esecuzione nel banco 31 di ram della zxmmc+ (quando usi l'entry 30000).

Ti faccio sapere che funziona! :-)

Ottimo!

Ora e' tardi, ma domani provo anche con una mia snap.

Resto in attesa di notizie, sarebbe bello perche' ti permetterebbe di snappare le cose anche se funzionano male e poi ripristinarle in modo che funzionino correttamente.

Ciao!


Other related posts: