OldComp.cz
https://oldcomp.cz/

Emulátor LnxSpectrum
https://oldcomp.cz/viewtopic.php?f=148&t=8030
Stránka 77

Autor:  Busy [ 13.02.2024, 11:58 ]
Předmět příspěvku:  Re: Emulátor LnxSpectrum

Citace:
STEP OVER
Pozor, aby se v rutině takto volané přes CALL nebo RST neměnila návratová adresa nebo nebyl návrat prováděn jiným způsobem než pomocí RET.
Tu by sa mozno hodila dodatocna podmienka zastavenia programu zalozena na hodnote samotneho registera SP:
Program sa zastavi ak register SP dosiahne tu istu hodnotu aku mal pred vykonanim CALL / RST
Tym padom by sa dali zbehnut aj podprogramy ktore sa vracaju nestandartne, vratane tych co si nacitavaju data po CALLe.
Citace:
STEP OUT
Provádění instrukcí se však nezastaví, dokud PC nedosáhne adresy, co byla původně na zásobníku.
Tu mam otazku. Ako debugger pozna, ktora adresa na zasobniku je navratova ? Ak mam napriklad takyto podprogram:
Kód:
entry:
  push af
  push bc
  ld a,nieco
  call nieco
  pop bc
  pop af
  ret
Ak som prave zastal na ld a,nieco a stlacim STEP OUT, co sa stane ?

PS: Neexistuje verzia LnxSpectrum pre MacOS ?

Autor:  omikron [ 13.02.2024, 12:28 ]
Předmět příspěvku:  Re: Emulátor LnxSpectrum

Nějak mi nejde Fuxovtův Podraz3. Ale ve Fuse funguje.
Je to moje chyba, nebo emulátoru?

Autor:  SCjoe [ 13.02.2024, 12:46 ]
Předmět příspěvku:  Re: Emulátor LnxSpectrum

omikron píše:
Nějak mi nejde Fuxovtův Podraz3.

Jaky soubor a odkud, TAP nebo TZX? A vubec "jak/nejak" ne/jde?

V emulatoru verze 8.8, 8.10 a 8.12 mi TAPka ze https://cs.speccy.cz/ funguje,
v rezimu 48 i 128, se zapnutym MBeckem i bez nej.

Pokud to je nejaky obskurni nebo zturbeny TZX soubor, tak je mozno zkusit poprepinat Fast/Flash.

Autor:  Lanex [ 13.02.2024, 14:04 ]
Předmět příspěvku:  Re: Emulátor LnxSpectrum

Busy píše:
Citace:
STEP OVER
Pozor, aby se v rutině takto volané přes CALL nebo RST neměnila návratová adresa nebo nebyl návrat prováděn jiným způsobem než pomocí RET.
Tu by sa mozno hodila dodatocna podmienka zastavenia programu zalozena na hodnote samotneho registera SP:
Program sa zastavi ak register SP dosiahne tu istu hodnotu aku mal pred vykonanim CALL / RST
Tym padom by sa dali zbehnut aj podprogramy ktore sa vracaju nestandartne, vratane tych co si nacitavaju data po CALLe.

Ano, to by se dalo takto vylepšit. S návratem příliš často problém nebývá ale občas se to stane, vždy je co vylepšovat.
Busy píše:
Citace:
STEP OUT
Provádění instrukcí se však nezastaví, dokud PC nedosáhne adresy, co byla původně na zásobníku.
Tu mam otazku. Ako debugger pozna, ktora adresa na zasobniku je navratova ? Ak mam napriklad takyto podprogram:
Kód:
entry:
  push af
  push bc
  ld a,nieco
  call nieco
  pop bc
  pop af
  ret
Ak som prave zastal na ld a,nieco a stlacim STEP OUT, co sa stane ?

V aktuální verzi se stane to, že se program zastaví hned za instrukcí "call entry" (tu tam sice nemáš ale víme o kterou jde) takže proběhne "call nieco" i popy. Testuju při instrukci RET (nz/z/c/po atd.) i registr SP, musí být roven nebo větší takže ti odchytá i případné defb za call nebo rst.
Busy píše:
PS: Neexistuje verzia LnxSpectrum pre MacOS ?

Bohužel ne. Provozoval jsem emulátor na Macu v prostředí Parallels desktop.

Autor:  Lanex [ 13.02.2024, 14:16 ]
Předmět příspěvku:  Re: Emulátor LnxSpectrum

omikron píše:
Nějak mi nejde Fuxovtův Podraz3. Ale ve Fuse funguje.
Je to moje chyba, nebo emulátoru?

Shodou náhod jsem Podraz 3 hrál na emulátoru před 14 dny... a určitě tehdy fungoval ;)

PS: jo šlape vpoho...
Obrázek

Stránka 77 Všechny časy jsou v UTC + 1 hodina [ Letní čas ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/