Přejít na obsah
ARCHIVEKArchiv e-mailových konferencí o 8bitových počítačích Archiv Pandory 1999 až 2013

Zpět na zprávu

Celé vlákno · 9 zpráv

Emulator ZX Spectra pro Sharpa

Factor6 SHARP MZ-800

Ahoj, jde nekde na inetu k sehanni emulator ZX Spectrum? Vim, ze pro Sharpa nejaky existuje, ale jeste jsem ho nevidel. Rad bych videl na vlastni oci, oc jde :)

F6

Re: Emulator ZX Spectra pro Sharpa

VELESOFT (SPRINTER) SHARP MZ-800

Vzhledem k jinemu rozliseni to bude asi jen emulator ZX romky(basicu). Nic vic. Jakykoli strojovy kod spusteni z ramky nebude korektne pracovat s grafikou....
 
VELESOFT
----- Original Message -----
From: Factor6
To: Konference Počítač SHARP MZ-800 a emulátory
Sent: Sunday, March 28, 2010 6:04 PM
Subject: Emulator ZX Spectra pro Sharpa

Ahoj, jde nekde na inetu k sehanni emulator ZX Spectrum? Vim, ze pro Sharpa nejaky existuje, ale jeste jsem ho nevidel. Rad bych videl na vlastni oci, oc jde :)


F6

 


---

Re: Emulator ZX Spectra pro Sharpa

Factor6 SHARP MZ-800

Myslim, ze ne, sly spoustet normalne hry...

F6



Dne 28. března 2010 17:34 VELESOFT (SPRINTER) (sharpemupandora.cz) <velesoft[doména skryta]> napsal(a):

Vzhledem k jinemu rozliseni to bude asi jen emulator ZX romky(basicu). Nic vic. Jakykoli strojovy kod spusteni z ramky nebude korektne pracovat s grafikou....
 
VELESOFT
----- Original Message -----
From: Factor6
To: Konference Počítač SHARP MZ-800 a emulátory
Sent: Sunday, March 28, 2010 6:04 PM
Subject: Emulator ZX Spectra pro Sharpa

Ahoj, jde nekde na inetu k sehanni emulator ZX Spectrum? Vim, ze pro Sharpa nejaky existuje, ale jeste jsem ho nevidel. Rad bych videl na vlastni oci, oc jde :)


F6

 


---


---


Re: Emulator ZX Spectra pro Sharpa

VELESOFT (SPRINTER) SHARP MZ-800

Myslis asi basicove hry. Odkdy ma SHARP graficky mod 256x192 a organizaci videoram shodnou se ZX Spectrem ? Ma vubec videoram od adresy 16384 jako ZX ? Vzdyt ani porty klavesnice nemohou sedet, ani nic jineho. Se ZX ho spojuje tusim jen fakt, ze ma take atributovy rezim (ale jine rozliseni), take Z80 CPU (ale rychlejsi ?), take klavesnici (ale jinou a na jinych portech), a adresovy prostor 64kB (nejspis take jinak usporadany co se romky tyce).
 
VELESOFT
----- Original Message -----
From: Factor6
To: Konference Počítač SHARP MZ-800 a emulátory
Sent: Sunday, March 28, 2010 7:13 PM
Subject: Re: Emulator ZX Spectra pro Sharpa

Myslim, ze ne, sly spoustet normalne hry...


F6



Dne 28. března 2010 17:34 VELESOFT (SPRINTER) (sharpemupandora.cz) <velesoft[doména skryta]> napsal(a):

Vzhledem k jinemu rozliseni to bude asi jen emulator ZX romky(basicu). Nic vic. Jakykoli strojovy kod spusteni z ramky nebude korektne pracovat s grafikou....
 
VELESOFT
----- Original Message -----
From: Factor6
To: Konference Počítač SHARP MZ-800 a emulátory
Sent: Sunday, March 28, 2010 6:04 PM
Subject: Emulator ZX Spectra pro Sharpa

Ahoj, jde nekde na inetu k sehanni emulator ZX Spectrum? Vim, ze pro Sharpa nejaky existuje, ale jeste jsem ho nevidel. Rad bych videl na vlastni oci, oc jde :)


F6

 


---

 


---


 


---

Re: Emulator ZX Spectra pro Sharpa

Jakub Ladman SHARP MZ-800

Ahoj
Ted nevim kde je, ale taky nekde ten emulator mam a opravdu funguje, ale dost 
pomalu.
Podle mne to funguje tak, ze se emulovana videoram pod nejakym prerusenim 
prepisuje do realne videoram, s prislusnymi zmenami.
Stejne tak nacitani klavesnice a pod.
ZX ma videoram v zakladnim adresnim prostoru, MZ imho umi mit celych 64KB RAM 
a k videoram se pristupuje jinak, nikdy jsem pro sharpa nic ve hw zavisleho 
nepsal a neznam to, na to jsou tu vetsi experti.
Proste se chvili necha bezet ZX kod, pak se prerusi a chvili se data 
zpracovavaji emulatorem a vyuziva hw sharpa, pak se zase skoci zpet do ZX 
kodu. Jediny problem by mohl vzniknout s io porty v kolizi, jinak to musi 
fungovat.

Jakub Ladman


Dne neděle 28 Březen 2010 21:41:45 VELESOFT (SPRINTER) (sharpemupandora.cz)
napsal(a):
Zobrazit citovaný text (74 řádků)
> Myslis asi basicove hry. Odkdy ma SHARP graficky mod 256x192 a organizaci
>  videoram shodnou se ZX Spectrem ? Ma vubec videoram od adresy 16384 jako
>  ZX ? Vzdyt ani porty klavesnice nemohou sedet, ani nic jineho. Se ZX ho
>  spojuje tusim jen fakt, ze ma take atributovy rezim (ale jine rozliseni),
>  take Z80 CPU (ale rychlejsi ?), take klavesnici (ale jinou a na jinych
>  portech), a adresovy prostor 64kB (nejspis take jinak usporadany co se
>  romky tyce).
> 
> VELESOFT
>   ----- Original Message -----
>   From: Factor6
>   To: Konference Počítač SHARP MZ-800 a emulátory
>   Sent: Sunday, March 28, 2010 7:13 PM
>   Subject: Re: Emulator ZX Spectra pro Sharpa
> 
> 
>   Myslim, ze ne, sly spoustet normalne hry...
> 
> 
> 
>   F6
> 
> 
> 
> 
> 
> 
>   Dne 28. března 2010 17:34 VELESOFT (SPRINTER) (sharpemupandora.cz)
>  <velesoft[doména skryta]> napsal(a):
> 
> 
>     Vzhledem k jinemu rozliseni to bude asi jen emulator ZX romky(basicu).
>  Nic vic. Jakykoli strojovy kod spusteni z ramky nebude korektne pracovat s
>  grafikou....
> 
>     VELESOFT
>       ----- Original Message -----
>       From: Factor6
>       To: Konference Počítač SHARP MZ-800 a emulátory
>       Sent: Sunday, March 28, 2010 6:04 PM
>       Subject: Emulator ZX Spectra pro Sharpa
> 
> 
>       Ahoj, jde nekde na inetu k sehanni emulator ZX Spectrum? Vim, ze pro
>  Sharpa nejaky existuje, ale jeste jsem ho nevidel. Rad bych videl na
>  vlastni oci, oc jde :)
> 
> 
> 
>       F6
> 
> 
> 
> 
>       ---
> 
> 
> 
> 
> 
>     ---
> 
> 
> 
> 
> 
> 
> 
>   ---
> 
> 
> 
> ---
> 

Re: Emulator ZX Spectra pro Sharpa

VELESOFT (SPRINTER) SHARP MZ-800

A jak to ma vlastne SHARP s prerusenim ? Ma na to nejaky extra hardware co
generuje NMI ? Totiz nektery ZX software bezi celou dobu uplne v pohode se
zakazanym prerusenim ( DI ). Jiny software zase preruseni pouziva, ale v drtive
vetsine IM2 s vlastnim vektorem preruseni. Aby si SHARP mohl pravidelne
preruseni generovat, potrebuje na to jedine generovat prave NMI, jinak si
neskrtne. Leda ze by ten emulator mel upravenou ZX romku, ktera pri preruseni
IM1 cte primo sharpackou klavesnici + obcas prekopiruje videoram do te
sharpacke. S takovym emulatorem by mohl fungovat leda tak hodne stary software
urceny jeste pro ZX16kB, pripadne cokoli psaneho v ZX BASICu pro ZX48kB.
Samozrejme takove prekopirovani celych 6912 bajtu ZX videoram do SHARPacke trva
dost dlouho. Aby ho modifikovana romka kopirovala kazde preruseni je nerealne,
to by emulator stal na miste. Zbyva jediny zpusob jak na to rozumnou cestou: na
rutinu IM1 v ZX romce umistit nejaky citac preruseni + pridat test, ktery treba
jednou za 10 preruseni prekonvertuje data ze ZX videoram oblasti do SHARPacke
vram. Az tak SHARPa neznam, ale myslim, ze bude mit hodne podobnou organizaci
videoramky jako ZX Spectrum, take atributy, trosku vetsi rozliseni, ale pekne
linearni usporadani dat (zx ma zprehazene mikroradky). Za pomoci pripojeneho
 DMA
cipu ( Z80DMA ) by byl presun videoramek jeste rychlejsi. Bez DMA to jde
nejrychleji napsat tak, ze si udelame z ZX romce tabulku adres mikroradku obou
videoramek (ZX a SHARP), nastavime zasobnik jeden radek a pomoci POP do vsech
registru Z80CPU vycteme tolik dat, kolik jen pujde. Pak nastavime zasobnik na
cilovy radek ve sharpacke vram a pomoci PUSH tam rychle preneseme data. Atd...
Pripadne by se to dalo take pres rozepsane instrukce LDI+LDI+LDI....

Dalsi pruser vidim ve cteni stavu klavesnice. ZX Software prece vetsinou
pouziva
vlastni rutiny klavesnice a nikoli ty ze ZX rom. Takze emulator po nahrani hry
pred jejim spustenim musi prohledat celou ZX ram (oblast pameti 16384-65535) a
vyhledat tam instrukce pro cteni portu klavesnice jako jsou treba: IN A,(254)
nebo LD BC,xxFE+IN A,(C) a nahradit je nejakou kratkou instrukci. Idealne by to
slo prepsat jednim RST xx ktere skoci na nasi rutinu v modifikovane ZX rom.
Tato
rutina si ze zasobniku vycte adresu odkud byla volana a pokud najde nasledujici
bajt 254, musime emulovat klavesnici ZX. Dulezite ale je, ze musime rozlisit
mezi IN A,(254) a IN A,(C). Kazda z techto instrukci by mela byt nahrazena RST
s
jinou adresou a samostatnym testem portu v romce. Ja toto delal na SAM COUPE
pro
moznost emulace ZX Spectra 128kB. U takovych emulatoru je ale celkem mala
sance,
ze nejaky ten ZX software pobezi stabilne. Nejspis fakt jen starsi hry. Cely
takovy emulator neni zadny problem za jeden den napsat. Chce to jen mit
dokumentaci ohledne portu klavesnice SHARPa a info jak to ma udelane s
videoram.

VELESOFT

Zobrazit citovaný text (105 řádků)
----- Original Message -----
From: "Jakub Ladman" <sharpemu[doména skryta]volny.cz>
To: "Konference Počítač SHARP MZ-800 a emulátory" <sharpemupandora.cz>
Sent: Sunday, March 28, 2010 10:02 PM
Subject: Re: Emulator ZX Spectra pro Sharpa


>
> Ahoj
> Ted nevim kde je, ale taky nekde ten emulator mam a opravdu funguje, ale dost
> pomalu.
> Podle mne to funguje tak, ze se emulovana videoram pod nejakym prerusenim
> prepisuje do realne videoram, s prislusnymi zmenami.
> Stejne tak nacitani klavesnice a pod.
> ZX ma videoram v zakladnim adresnim prostoru, MZ imho umi mit celych 64KB RAM
> a k videoram se pristupuje jinak, nikdy jsem pro sharpa nic ve hw zavisleho
> nepsal a neznam to, na to jsou tu vetsi experti.
> Proste se chvili necha bezet ZX kod, pak se prerusi a chvili se data
> zpracovavaji emulatorem a vyuziva hw sharpa, pak se zase skoci zpet do ZX
> kodu. Jediny problem by mohl vzniknout s io porty v kolizi, jinak to musi
> fungovat.
>
> Jakub Ladman
>
>
> Dne neděle 28 Březen 2010 21:41:45 VELESOFT (SPRINTER)
(sharpemupandora.cz)
> napsal(a):
> > Myslis asi basicove hry. Odkdy ma SHARP graficky mod 256x192 a organizaci
> >  videoram shodnou se ZX Spectrem ? Ma vubec videoram od adresy 16384 jako
> >  ZX ? Vzdyt ani porty klavesnice nemohou sedet, ani nic jineho. Se ZX ho
> >  spojuje tusim jen fakt, ze ma take atributovy rezim (ale jine rozliseni),
> >  take Z80 CPU (ale rychlejsi ?), take klavesnici (ale jinou a na jinych
> >  portech), a adresovy prostor 64kB (nejspis take jinak usporadany co se
> >  romky tyce).
> >
> > VELESOFT
> >   ----- Original Message -----
> >   From: Factor6
> >   To: Konference Počítač SHARP MZ-800 a emulátory
> >   Sent: Sunday, March 28, 2010 7:13 PM
> >   Subject: Re: Emulator ZX Spectra pro Sharpa
> >
> >
> >   Myslim, ze ne, sly spoustet normalne hry...
> >
> >
> >
> >   F6
> >
> >
> >
> >
> >
> >
> >   Dne 28. března 2010 17:34 VELESOFT (SPRINTER) (sharpemupandora.cz)
> >  <velesoft[doména skryta]> napsal(a):
> >
> >
> >     Vzhledem k jinemu rozliseni to bude asi jen emulator ZX romky(basicu).
> >  Nic vic. Jakykoli strojovy kod spusteni z ramky nebude korektne pracovat s
> >  grafikou....
> >
> >     VELESOFT
> >       ----- Original Message -----
> >       From: Factor6
> >       To: Konference Počítač SHARP MZ-800 a emulátory
> >       Sent: Sunday, March 28, 2010 6:04 PM
> >       Subject: Emulator ZX Spectra pro Sharpa
> >
> >
> >       Ahoj, jde nekde na inetu k sehanni emulator ZX Spectrum? Vim, ze pro
> >  Sharpa nejaky existuje, ale jeste jsem ho nevidel. Rad bych videl na
> >  vlastni oci, oc jde :)
> >
> >
> >
> >       F6
> >
> >
> >
> >
> >       ---
> >
> >
> >
> >
> >
> >     ---
> >
> >
> >
> >
> >
> >
> >
> >   ---
> >
> >
> >
> > ---
> >
>
> ---

Re: Emulator ZX Spectra pro Sharpa

VELESOFT (SPRINTER) SHARP MZ-800

----- Original Message -----
From: "Jakub Ladman" <sharpemu[doména skryta]volny.cz>
To: "Konference Počítač SHARP MZ-800 a emulátory" <sharpemupandora.cz>
Sent: Sunday, March 28, 2010 10:02 PM
Subject: Re: Emulator ZX Spectra pro Sharpa


>
> Ahoj
> Ted nevim kde je, ale taky nekde ten emulator mam a opravdu funguje, ale dost
> pomalu.
> Podle mne to funguje tak, ze se emulovana videoram pod nejakym prerusenim
> prepisuje do realne videoram, s prislusnymi zmenami.
> Stejne tak nacitani klavesnice a pod.

No a ja si troufam tvrdit, ze by sel udelat pro SHARPa nejaky modul/interface
pro dokonalou emulaci ZX Spectra. Akorat nevim jak hodne slozita by byla prace
 s
klavesnici.

VELESOFT

Re: Emulator ZX Spectra pro Sharpa

Roman Dolejsi SHARP MZ-800

Zdravim,

  emulator ZX Spectra jsem opravdu na Sharpa napsal ja a fungoval v principu jak prave popsal Velesoft..

  ROMka Spectra byla na svych nevyuzitych mistech napechovana mymi emulacnimi rutinami, ktere byly volany z nativniho kodu pomoci RST odskoku. Samozrejme slo vyuzit pouze omezene mnozstvi RST, aby ZX basic jako takovy zustal zachovany. Pri emulaci delsich instrukci jsem mel za RST odskokem jeste poradovy kod instrukce, atp. V momente, kdy se pres prepsane rutiny nahravani z kazetaku dohral blok, tento blok jsem projel, vyhledal spravne instrukce a nahradil je. Timto zpusobem byla vyresena klavesnice, joystick, emulace ZX IM2 (prace s I registrem, atd), zvuk 48 i AY emulace..

  Prepis obrazovky fungoval pod prerusenim a nebyl vubec jednoduchy udelat. Obrazovka Sharpa ma nezvykle otocenou reprezentaci osmi bodu v byte. Kdyz tedy dochazi k vykreslovani cehokoli, vetsina programu musela standardne ulozene informace pred zapisem zrcadlove otacet. Sharp navic samozrejme nema atributy. Lze zapisovat danych osm bodu v urcitem modu zapisu do ruznych rovin (or, and, xor, ..), cimz je mozne nastavit jakoukoli barvu z palety 16 barev.. Tahle manipulace ma ale i sve nevyhody - kompletni obsluha takove obrazovky neni vubec rychlou zalezitosti..
  Proto mel emulator moznost prepinat zobrazeni mezi barevnym a cernobilym (ktere bylo samozrejme o dost pomalejsi).

  Celkove jsem tehdy mel velke problemy s dostupnym mistem v pameti. Kdyz emulator spustite, muzete si vsimnout, ze kusy kodu a konverznich tabulek jsou dokonce ulozeny ve VRAM Sharpa ;-))

  Mnozstvi programu, ktere bezely, hodne zaviselo na nahode. Emulace jako takova problemy nemela. Opravdove problemy byly jen dva:

- pokud v miste odskoku na emulaci byl SP registr hrou zrovna pouzit jako ukazatel na data (tj. zasobnik neexistoval).. U grafickych rutin her tomu tak obcas bylo :-((
- pokud hra/aplikace prepisovala svuj vlastni kod na mistech emulace
- pokud ma prohledavaci rutina nasla a prepsala misto instrukci nejaka zivotne dulezita data :-)

  Celkem vzato technologie fungovala, hry behaly (i kdyz pomalu), jen to melo sve mouchy :-)) Emulator prikladam, muzete posoudit, zda vubec neco zvladl ;-)))

HTH,
Roman


2010/3/28 VELESOFT (SPRINTER) (sharpemupandora.cz) <velesoft[doména skryta]>


----- Original Message -----
From: "Jakub Ladman" <sharpemu[doména skryta]volny.cz>
To: "Konference Počítač SHARP MZ-800 a emulátory" <sharpemupandora.cz>
Sent: Sunday, March 28, 2010 10:02 PM
Subject: Re: Emulator ZX Spectra pro Sharpa


>
> Ahoj
> Ted nevim kde je, ale taky nekde ten emulator mam a opravdu funguje, ale dost
> pomalu.
> Podle mne to funguje tak, ze se emulovana videoram pod nejakym prerusenim
> prepisuje do realne videoram, s prislusnymi zmenami.
> Stejne tak nacitani klavesnice a pod.

No a ja si troufam tvrdit, ze by sel udelat pro SHARPa nejaky modul/interface
pro dokonalou emulaci ZX Spectra. Akorat nevim jak hodne slozita by byla prace s
klavesnici.

VELESOFT


---

Přílohy

  • zxemu.mzf
    application/octet-stream · 18 kB

Re: Emulator ZX Spectra pro Sharpa

Roman Dolejsi SHARP MZ-800

K tomuhle tematu patri jeste jedno..

  O dost pozdeji me to inspirovalo k napsani ZX2MZ - programku, ktery za pomoci vybraneho PC emulatoru ZX a dat z nej vytazenych (charakteristika behu hry) umi udelat cistou konverzi ZX hry na MZ hru. Jeden z vysledku prikladam jako ukazku, vcetne XML deskriptoru pro predelani ;-)
  Tu technologii by slo dotahnout, jen mi nekde generuje chyby - neni zcela uspesna - a jeste stale jsem nemel cas to plne odladit - a uz je to stare 10 let ;-)..

   Prikladam readme.txt, ktere jsem od toho nekde vyhrabal + ukazkove hry + jiz predeslanou ukazku XML s popisem, co hra dela - podle te konvertor pracuje..

btw. na prechodu mezi mistnostmi v Pyjamarame muzete videt, jak narocne je zkonvertovat/prepsat jeden byte barevne na Sharpa oproti jednoducheho zapisu do VRAM Spectra.. Napr. emulaci instrukce, ktera blika vsemi atributy obrazovky u Olli&Lisa jsem radsi vypnul (viz XML), jinak by se clovek dalsiho obrazu na Sharpu nedockal vubec ;-)
Na Puzznicovi zase vidite, jak maji emulacni rutiny jeste chybky a zpusobuji nehratelnost cele hry. AY hudba je ale fajn ;-)

Uzivejte ve zdravi ;-)
Roman


2010/3/29 Roman Dolejsi <rdolejsi[doména skryta]>
Zdravim,

  emulator ZX Spectra jsem opravdu na Sharpa napsal ja a fungoval v principu jak prave popsal Velesoft..

  ROMka Spectra byla na svych nevyuzitych mistech napechovana mymi emulacnimi rutinami, ktere byly volany z nativniho kodu pomoci RST odskoku. Samozrejme slo vyuzit pouze omezene mnozstvi RST, aby ZX basic jako takovy zustal zachovany. Pri emulaci delsich instrukci jsem mel za RST odskokem jeste poradovy kod instrukce, atp. V momente, kdy se pres prepsane rutiny nahravani z kazetaku dohral blok, tento blok jsem projel, vyhledal spravne instrukce a nahradil je. Timto zpusobem byla vyresena klavesnice, joystick, emulace ZX IM2 (prace s I registrem, atd), zvuk 48 i AY emulace..

  Prepis obrazovky fungoval pod prerusenim a nebyl vubec jednoduchy udelat. Obrazovka Sharpa ma nezvykle otocenou reprezentaci osmi bodu v byte. Kdyz tedy dochazi k vykreslovani cehokoli, vetsina programu musela standardne ulozene informace pred zapisem zrcadlove otacet. Sharp navic samozrejme nema atributy. Lze zapisovat danych osm bodu v urcitem modu zapisu do ruznych rovin (or, and, xor, ..), cimz je mozne nastavit jakoukoli barvu z palety 16 barev.. Tahle manipulace ma ale i sve nevyhody - kompletni obsluha takove obrazovky neni vubec rychlou zalezitosti..
  Proto mel emulator moznost prepinat zobrazeni mezi barevnym a cernobilym (ktere bylo samozrejme o dost pomalejsi).

  Celkove jsem tehdy mel velke problemy s dostupnym mistem v pameti. Kdyz emulator spustite, muzete si vsimnout, ze kusy kodu a konverznich tabulek jsou dokonce ulozeny ve VRAM Sharpa ;-))

  Mnozstvi programu, ktere bezely, hodne zaviselo na nahode. Emulace jako takova problemy nemela. Opravdove problemy byly jen dva:

- pokud v miste odskoku na emulaci byl SP registr hrou zrovna pouzit jako ukazatel na data (tj. zasobnik neexistoval).. U grafickych rutin her tomu tak obcas bylo :-((
- pokud hra/aplikace prepisovala svuj vlastni kod na mistech emulace
- pokud ma prohledavaci rutina nasla a prepsala misto instrukci nejaka zivotne dulezita data :-)

  Celkem vzato technologie fungovala, hry behaly (i kdyz pomalu), jen to melo sve mouchy :-)) Emulator prikladam, muzete posoudit, zda vubec neco zvladl ;-)))

HTH,
Roman


2010/3/28 VELESOFT (SPRINTER) (sharpemupandora.cz) <velesoft[doména skryta]>



----- Original Message -----
From: "Jakub Ladman" <sharpemu[doména skryta]volny.cz>
To: "Konference Počítač SHARP MZ-800 a emulátory" <sharpemupandora.cz>
Sent: Sunday, March 28, 2010 10:02 PM
Subject: Re: Emulator ZX Spectra pro Sharpa


>
> Ahoj
> Ted nevim kde je, ale taky nekde ten emulator mam a opravdu funguje, ale dost
> pomalu.
> Podle mne to funguje tak, ze se emulovana videoram pod nejakym prerusenim
> prepisuje do realne videoram, s prislusnymi zmenami.
> Stejne tak nacitani klavesnice a pod.

No a ja si troufam tvrdit, ze by sel udelat pro SHARPa nejaky modul/interface
pro dokonalou emulaci ZX Spectra. Akorat nevim jak hodne slozita by byla prace s
klavesnici.

VELESOFT


---


Přílohy

  • introduction.txt
    text/plain · 17 kB