[zxspectrum] Re: zx-badaloc hacker edition

  • From: "Eugenio Ciceri" <eugenio.ciceri@xxxxxxxxx>
  • To: zxspectrum@xxxxxxxxxxxxx
  • Date: Mon, 5 Jan 2009 02:13:25 +0100

Potresti dire alla funzione di breakpoint quanti sono i blocchi che
deve caricare prima di far partire l'NMI.
La funzione conta i passaggi da $05E2 e decrementa un counter.
L'NMI si attiva solo se il counter e' a zero.
Ovviamente devi sapere prima di quanti blocchi e' composto il programma.

In ogni caso il punto piu' furbo in assoluto e' all'interno del
programma stesso.
Infatti con i caricamenti turbo temo che il tuo trucco non funzionera'
(anche se e' gia' un'ottima trovata!)

Forse sarebbe piu' efficace un sensore audio che rilevi l'assenza di
suono sulla porta EAR e faccia scattare l'NMI appena caricato l'ultimo
bit da nastro;-)

Ciao!
Eugenio


2009/1/5, Alessandro <alessandro.poppi@xxxxxxxxx>:
> On Sunday, January 04, 2009 4:10 PM [GMT+1],
> Eugenio Ciceri <eugenio.ciceri@xxxxxxxxx> wrote:
>
>>> cammelo è carmelo in siciliano
>
>> Rende ancora meglio ;-)
>
> Oggi ho aggiunto i breakpoint. La colpa e' del fatto che ieri sera ho deciso
> di passare una serata tranquilla caricando in fila i giochi elencati nel
> libro "zx-spectrum book" per poi snapshottarli :-) sulla sd-card. C'erano
> pero' un sacco di belle schermate che andavano perse, dato che e'
> impossibile premere l'NMI proprio alla fine del caricamento ma prima che
> vengano cancellate.
>
> Ho allora pensato di aggiungere una funzione di breakpoint e puntarla al RET
> della routine di caricamento da nastro. Quando l'indirizzo combacia, viene
> generato un NMI e si entra nella bootrom (con la quale si possono fare
> snapshot) mentre sullo schermo e' ancora presente la schermata di
> presentazione, ovvero un attimo prima che il programma venga lanciato.
>
> Dato che da cosa nasce cosa, alla fine ho reso l'indirizzo ridefinibile ed
> oltre a breakpoint 'nmi' e' possibile settarne uno che attiva il
> single-step, ovvero un vero e proprio breakpoint hardware ad uso debug
> (anche se non potendo vedere i registri dello Z80, non serve a molto).
>
> Al momento l'indirizzo di breakpoint ($05E2) viene mostrato sul display ma
> non e' possibile modificarlo; probabilmente domani aggiungero' un editor al
> firmware del picoblaze (ma mi e' rimasto solo 1/3 del kilobyte di programma
> indirizzabile).
>
> A proposito... $05E2 e' la fine del caricamento di un blocco, ma e' comune
> anche alla lettura dell'header per cui devo premere il bottone proprio solo
> quando sta caricando l'ultimo blocco dati. Non e` che c'e' un punto piu'
> furbo?
>
> Ciao!
> Alessandro
>
>
>

Other related posts: