[zxspectrum] sempre per Ramsoft, sempre sulla +d

  • From: "Mario Prato" <aticatac70@xxxxxxxxxxx>
  • To: zxspectrum@xxxxxxxxxxxxx
  • Date: Fri, 30 Jan 2004 18:57:57 +0100

Cari amici, non ditemi che sono fissato, ma mi sono messo a studiare seriamente la pal della plusd e posso affermare definitivamente che la rom gdos viene inserita quando lo z80 esegue il fetch dell'istruzione a questi indirizzi:

08h, 3Ah, 66h

il tutto dalle equazioni impresse nella pal:

/SEL = RD*/IORQ* A6* A5*/A4*/A3* A2* A1
+ EXT* RD* IORQ* /MREQ* /A15*/A14*/A13*/A6*/A5*/A4* A3*/A2*/A1 <-- 08h
+ EXT* RD* IORQ* /MREQ* /A15*/A14*/A13*/A6* A5* A4* A3*/A2* A1 <-- 3Ah
+ EXT* RD* IORQ* /MREQ* /A15*/A14*/A13* A6* A5*/A4*/A3* A2* A1 <-- 66h
+ SROM
tenendo presente che A0 e A7-A12 sono tutti in nor per formare il segnale EXT


quello che devo ancora capire e' se il gdos viene inserito (ma solo all'accensione) all'indirizzo 00h

percio' ( non lo sapevo) il gdos viene inserito anche ogni 1/50 di secondo prima della routine che incrementa il contatore da 3 byte, all'indiirizzo 3Ah

disassemblato della rom 48K:

;; MASK-INT
L0038: PUSH AF ; Save the registers that will be used but not
PUSH HL ; the IY register unfortunately.
LD HL,($5C78) ; Fetch the first two bytes at FRAMES1. <-- il gdos viene inserito qui
INC HL ; Increment lowest two bytes of counter.
LD ($5C78),HL ; Place back in FRAMES1.
LD A,H ; Test if the result was zero.
OR L ;
JR NZ,L0048 ; Forward, if not, to KEY-INT


INC (IY+$40) ; otherwise increment FRAMES3 the third byte.

non so l'utilita' di questa storia, ma tant'e'...


ciao e alla prossima puntata


_________________________________________________________________
Personalizza MSN Messenger con sfondi e fotografie! http://www.ilovemessenger.msn.it/



Other related posts: