Premiera Deatch Chase odbędzie się na Foreverze ?
SIUP (SIo2Usb2Pc) - SIO2PC USB Edition
PIN ready logo
3M / InD: ... na kasetach były zabezpieczenia w postaci tzw. "mikropierdnięcie" ...
Nie jesteś zalogowany. Proszę się zalogować lub zarejestrować.
TURGEN 9.3.0 Kolejna wersja multiplatformowego narzędzia do zarządzania obrazami taśm.
SV 2024 WE - program imprezy Już za tydzień odbędzie się zimowa edycja Silly Venture
Nowa obudowa dla 800XL - zostało 36 dni Niewiele ponad miesiąc do końca kampanii.
Zmarł twórca języka BASIC Zmarł Thomas E. Kurtz twórca języka BASIC
Zmiana serwera atari.area Serwis przeszedł właśnie ważną aktualizację infrastruktury
atari.area forum » Programowanie - 8 bit » z80 emulator
Strony Poprzednia 1 … 9 10 11
Zaloguj się lub zarejestruj by napisać odpowiedź
Premiera Deatch Chase odbędzie się na Foreverze ?
Ekhm, ekhm... XXL, Draco: jak i czy wogle posuwaja się prace z optymalizacją kodu...? (Sz)czekamy na działający emulator...
A to sobie szczekaj, ja jestem za kontynuacją przerwanych projektów (Luxor itd.) ;)
luxor bedzie, spoko, znudze sie tylko emulem ;-)
http://www.mobygames.com/game/zx-spectr … creenshots
http://atari.pl/pheenix.rar - przyspieszylem kilka petli i mozna powiedziec ze kolo 20% idzie, niestety bardzo nierowno, zwlaszcza gdy zx generuje dzwiek wtedy atari idzie szybciej niz oryginal :D
Zajefajne. W to juz mozna grac :)
emulator z oznaczeniem x.0x jest bez makr (interpretuje rozkazy z80 jak leca), z oznaczeniem x.x1 jest z makrami (wg pomyslu laoo),
makto to rozkaz ktorego z80 nie ma ale zxemu umie go obsluzyc, dzieki temu podprogramy lub petle z80 mozemy zastapic szybszymi odpowiednikami 6502.
jaka jest zaleta? umiescilem jedno makro w dc i predkosc wzrosla do 11%, dalem 5 makr w pheenixie i podczas gry mamy nawet powyzej 30% (srednio jest ok 30%) ile w tym prawdy, sprawdz sam (jest pozno i juz mi sie nie chce sprawdzac dokladnie). prawdopodobnie jutro programy beda do sciagniecia (paczka poszla do kaza).
Paczka doszla, a w nocy pojawilo sie to:
http://atari.online.pl/v01/index.phtml? … ct=nowinki
mam pewien problem.
przy uruchamianiu kolejnych gier na zx emulu pojawił sie problem przerwań. nie bardzo wiem jak zaemulowac przerwania ;-) wlasciwie to nie wiem jak obliczyc czas wywołania kolejnego. pomyślałem ze przerwania trumny będzie obsługiwało przerwanie vbi atari, wszystko pięknie oprócz tego, ze czas wywołań musi byc wyznaczony precyzyjnie (precyzyjnie dla emulowanego zxa a nie atari). oczywiście ustawic czas można na pałe, owszem, tylko że wtedy gry zachowują sie dośc dziwnie... np player porusza sie kilkakrotnie szybciej, czas płynie inaczej niż się tego spodziewamy, w pssst np. kwiatek rozwinie sie zanim przeszkadzajki zdążą podejśc itp. innymi słowy poległem przy obsłudze przerwań. ma ktoś jakiś pomysł? jeśli nie ma na to sposobu pewnie trzeba będzie ustawiac czas dla każdej gry osobno i na oko...
Powinno sie to robic zliczajac cykle wykonywanych rozkazow i po osiagnieciu pewnego stanu licznika, wywoluje sie przerwanie a licznik zeruje. No niby proste ale spowalnia emulacje i wymaga dodatkowo stablicowania prawdziwej ilosci cykli wykonywania sie rozkazow Z80.
Nie mam koncepcji.... moze liczyc rozkazy? Tyle ze na LDIRach sie wszystko rozklada....
Pewne jest to ze nie nalezy opierac sie na przerwaniach Atari.
TIMER-y, nie pamietam dokladnie w ktore rejestry, ale ogolnie POKEY zlicza w dol i wywolywane jest przerwanie IRQ, tak ze mozna co do milisekundy sie zsynchronizowac, jednak w przypadku emula ktory nie dziala jako 100% oryginał, trzeba by to pewnie przeliczyc
drac030 pewnie wie lepiej jak to zrobic :)
przerwania ustawione na oko: http://www.youtube.com/watch?v=b6_4tgbi5Po
w jetpacu chyba trzeba przyspieszyc gracza...
ok. emulator z80 dziala (zx emulator z tymi grami to produkt uboczny)
-mozna juz pisac na atari w asemblerze z80 :-) mozna tez normalnie z wstawkami assa z80...
-mozna zdefiniowac sobie DL jak w zx spectrum, zaladowac program spectruma i .. i mamy zx emulator,
-mozna definiowac swoje makrorozkazy dla z80 (32 wygodne wpisy - moze byc ich wiecej) czym wiecej rozkazow z80 takie makro zastapi tym szybciej dziala emulacja (na dzien dobry oszczedzamy na petlach interpretujacych kazdy rozkaz z80)
wlasciwie temat emulacji raczej sie wyczerpal. mozna powiedziec ze sie da i tyle.
zapytuje: czy ktos bylby chetny (we dwoch razniej) na portowanie (juz nie przez emulacje) jakiegos hitu z zx spectrum?
XXL: to może na początek sztandarowy hit Z80: CPM...? Ja nie pomogę niestety - programista ze mnie żaden... ;(
programista ze mnie rzaden... ;(
Ortografista też :)
sztandarowy hit Z80: CPM
Powodzenia, poczytaj sobie o wymaganiach CP/M. Dla ułatwienia dodam, że Spectrum tych wymagań nie spełnia i zasadniczo to, na Spectrum nie da się uruchomic CP/M - da się za to na FDD3000, która sama w sobie jest komputerem i gumiaka wykorzystuje tylko jako klawiaturę i wyjście na telewizor :)
to jak? jest sens puscic z80 w takiej postaci?
z80 laduje sie pod adres $xxxx, na stronie zerowej w adresach $xx-$xx znajduja sie rejestry procesora,
zapisujesz rejestry wirtualnego z80 i wykonujesz jsr z80. z trybu z80 program wyskoczy rts-em gdy trafi na nieobslugiwany rozkaz z80 lub sami zechcemy opuscic tryb z80. definiowanie makrorozkazow jest tez proste, co wiecej mozna rowniez podmieniac procedury dowolnego rozkazu, no dobra, podmienic mozna rowniez heh sam procesor z80 i zaemulowac sobie inny ;-) wymyslony przez nas samych tez (przeciez znaczenie rej na stronie zerowej jest umowne).
Dely: już poprawiłem. A jak napisałem - nie znam się i już ;)
http://atari.pl/zxemul.rar - najnowsze wersje jetpac, deathchase, sir lancelot i pheenix.
1. Do C=64 jest prosty kartridż z prockiem Z80. Zerżnąłem schemacik i romy, mam w archiwum. Jeśli kogoś interesuje...
2. Nie ma CP/M bez stacji dyskietek. Tu kłania się kontroler uPD765. Swoją drogą, czy da się taki kontroler zastosować do stacji Atari? Problemy w WDC1772 zostały by omitted.
Może mi ktoś powiedziec jak działa CPI i CPD. Prosze o szybka odpowiedz.
w kazdej ksiazce o z80:
CPI searches starting at the memory location pointed to by the HL
register, and searches for BC number of bytes for the byte
in register A.
A - (HL) and set flags on the result of this compare, equivalent
to CP (HL)
HL = HL + 1
BC = BC - 1
The flags are set as follows
C = no change
Z = 1 if A - (HL) = 0 else 0
P = 1 if BC <> 0 after instruction else 0
S = 1 if sign A - (HL) negative in two's comp, else 0
H = 1 if a half carry from A - (HL)
N = 1
CPD
CPD is the same as CPI except that the HL register is
decremented; HL = HL - 1. The flags are as for CPI.
A cos po polsku? :)
Jestem pod wrażeniem wyników prac XXL oraz dracO30. Gratuluję determinacji. To był solidny kawałek programistycznego rzemiosła.
Kiedyś w zamierzchłej przeszłości, rowniez próbowałem napisać konwerter gierek ZX -> 65XE. Koncepcja była nieco inna, bardziej przypominała kompilacje i pozostawieniem oryginalnych danych buforze.
Kod wykonywalny gry jest dużo krótszy niż dane gry. Zwykle jest on znacznie krótszy niż interpreter asemblera wraz z tablicami danych. dlatego opłaca sie przekompilować kod gry, pozostawiając odwołania do oryginalnych danych pozostających w buforze. Naturalnie jedyna przeszkodą będą gry z modyfikowalnym kodem. Zaletą, możliwości uruchamiania gry nawet na oryginalnych maszynkach z 64kB RAM.
Milego Dnia.
gra http://atari.fandal.cz/detail.php?files_id=5676 ma wszystkie tablice w oryginalnych miejscach gry na zx spectrum.
podminiony zostal tylko kod gry.
zerknij tez na: http://atari.fandal.cz/detail.php?files_id=5634
Strony Poprzednia 1 … 9 10 11
Zaloguj się lub zarejestruj by napisać odpowiedź
atari.area forum » Programowanie - 8 bit » z80 emulator
Wygenerowano w 0.025 sekund, wykonano 61 zapytań