51

xxl napisał/a:

> Teoretycznie mogę, ale musiałbym za dużo przerabiać. Mogę ci podać wynik w ramkach VBL, ale do tego przydałoby się, żeby pętla wykonywała się większą liczbę razy (np. kilkadziesiąt tysięcy razy) dla lepszej dokładności.

sadze ze widoczny efekt bedzie juz przy tak malej petli ktora zmiesci sie w 1 ramce i kazdy bedzie mogl zobaczyc na wlasne oczy ile to trwa.

wytlumaczylem wczesniej dlaczego procka powinna zmiescic sie w ramce

Być może każdy by mógł, i być może "powinna", ale mnie nie interesuje przedstawienie wyników "każdemu", tylko mnie samemu. A do tego mam własną metodę pomiaru, która mi daje informacje porównywalne z wynikami uzyskiwanymi od niedzieli - i nie zamierzam jej zmieniać, zwłaszcza że, jak napisałem wyraźnie wyżej, wymagałoby to sporych zmian w dotychczas istniejącym kodzie.

czlowiek cale zycie sie uczy (licznik petli)... moze czas na assa z80?

A ty myślisz, że co ja od niedzieli robię? :P Co do B, faktycznie, rozkaz DJNZ go używa, nawet tego do tej pory nie wiedziałem.

KMK
? HEX$(6670358)

52

e tam zmian, zaznaczasz na ekranie rozpoczecie emulacji oraz zakonczenie dzialania emulatora, pasek pokazuje jak szybko dziala emulec, nikt tu nie mowi pokaz program tylko poke skrinszota.

http://atari.pl/hsc/ad.php?i=1.

53

Słuchaj, robisz sie nachalny. Jak ci mówię, że nie zamierzam tego robić, i podaję powody, to ci powinno wystarczyć dwa posty temu. Mogę ci jeszcze delikatnie zasugerować, że nie masz pojęcia jak wygląda u mnie start emulacji i cały kod "okołoemulatorowy" (z monitorem Z80 na czele), więc nie możesz wyrokować lepiej ode mnie, czy to dużo zmian, czy mało. :P I może na razie na tym poprzestańmy, chyba, ze chcesz, żeby się atmosfera popsuła :P

KMK
? HEX$(6670358)

54 Ostatnio edytowany przez xxl (2007-02-01 12:42:45)

> Zaimplementuj, zdebuguj, pogadamy
...
> mnie nie interesuje przedstawienie wyników "każdemu", tylko mnie samemu.
...

no to pogadalismy. mimo wszystko ja postaram sie przedstawic wyniki szerszemu forum

http://atari.pl/hsc/ad.php?i=1.

55 Ostatnio edytowany przez drac030 (2007-02-01 13:12:14)

Ja swoje wyniki jak dotąd już przedstawiłem (patrz post #48). Mówię ci po prostu - a niezbyt dociera jak widzę - że nie zamierzam robić głębokich zmian w istniejącym kodzie tylko po to, żeby uzyskać bezwartościowy dla mnie rezultat w postaci snapszota z emulatora Atari800.

Szerszemu forum zaś zamierzam przedstawić na koniec nie "wyniki", tylko gotowy program, o ile ocenię, że robi coś ciekawego i jest wart przedstawiania.

A co do "zaimplementuj, zdebuguj, pogadamy", myślę, że fałszywie mnie zrozumiałeś. Znaczyło to tyle co "nie teoretyzuj" :P

KMK
? HEX$(6670358)

56 Ostatnio edytowany przez xxl (2007-02-02 12:02:09)

> http://atari.pl/z80test.sna
> programik mozna uruchomic pod dowolnym emulatorem spektrumny.
> rysuje migajacy roznokolorowy pasek w pamieci atrybutow

    ld a, 0xc8
    ld b, 0x07
    ld hl, 0x5800
lo:ld (hl), a
    inc hl
    add a, 0x08
    djnz lo

a tu skrin z emulacji:
http://atari.pl/z80emu.gif

pasek na srodku pokazuje jak dlugo wykonywala sie ta petla, dla zainteresowanych policze (ale to juz w domu) ile cykli pozarla emulacja

powinno dac sie to przyspieszyc, pisalem w pracy wiec....

rozkaz djnz robi skoki tylko w tyl (ale dodany jest skok na procke do przodu wiec to nie powinno wplywac na szybkosc emulacji tej konkretnej procedurki)

hmmm moze ktos poda szybki sposob obliczenia wartosci dla skokow wzglednych?


-- policzylem cykle mam nadzieje dobrze:
petla wykonana na z80 250 cykli
petla wykonana na emulowanym z80 - 1806 cykli 6502 (obejmuje dekodowanie rozkazu pustego i opuszczenie trybu emulacji)

jak sie maja cykle z80 na 3,5mhz do cykli 6502 przy 1,79?mhz ???

-- male poprawki i z 1806 zjechalem do 1716 cykli

-- cos kolo 14% ? innymi slowy, implementujac wszystkie rozkazy i myki z80 na 6502 pewnie emulacja zamknie sie przy wlaczonym ekranie w 10% szybkosci oryginalu - na 65816/14 po optymalizacji byc moze bedzie 70-80% oryginalu - mozliwe?

http://atari.pl/hsc/ad.php?i=1.

57

xxl napisał/a:

petla wykonana na z80 250 cykli
petla wykonana na emulowanym z80 1716 cykli
[----]
-- cos kolo 14%

No chyba jednak nie...

xxl napisał/a:

jak sie maja cykle z80 na 3,5mhz do cykli 6502 przy 1,79?mhz ???

Mniej więcej jak 2/1, czyli nie 14% a bardziej 7%.

Trzeba też odjąć sporo czasu na ekran (organizacja taka, jak w ZX oznacza częste przeładowanie adresu ekranu w DL).

Ale nie zmienia to faktu, że taki emulator WARTO zrobić z wielu powodów:
1. będzie o czym gadać na zlotach
2. będzie można spóbować emulacji CP/M - tutaj powolność działania tak bardzo boleć nie będzie *) a szpan jeszcze większy (btw - oryginalnie CP/M działa na 8080, więc może się da dotatkowo coś urwać).
3. będzie dobra baza do emulca pod 65816 -- może jak się wprawimy w 816 to się w okolice 100% spektrusia jakoś dobije

*) szczególnie jak porobi się patche, które będą działać podobnie, jak SIO, H:, P: patch w A800(win)
W sumie to interpretacja pozwalałaby zrobić coś takiego, jak WINE pod *nixy - emulator odpalałby maszynę wirtualną dla poszczególnych aplikacji CP/M a wszystkie odwołania do systemu byłbyby realizowane przez Spartę. Ale kosmos.

http://www.5oft.pl/

58 Ostatnio edytowany przez drac030 (2007-02-02 21:16:17)

pirx napisał/a:

Trzeba też odjąć sporo czasu na ekran (organizacja taka, jak w ZX oznacza częste przeładowanie adresu ekranu w DL).

Ale z drugiej strony ekran jest wąski (256 pikseli), więc per saldo chyba się opłaca ...

2. będzie można spóbować emulacji CP/M

Czy CP/M może działać na Spectrum? Coś kojarzę, że nie.

PS. Policzyłem dokładnie - Z80 ma 1268 rozkazów.

KMK
? HEX$(6670358)

59

Na Elwro 800 Junior jest CP/J. To prawie jak CP/M na czymś prawie jak ZX SPECTRUM :)

Miałem swojego czasu wyniesiony ten sprzęt ze szkoły (ocalony przed złomowaniem) i CP/J sprawował się bardzo fajnie. Kupę profesjonalnych rzeczy tam było (z kompilatorem C włącznie). Nie wiem tylko czym właściwie  800 Junior różnił się od ZX-a, skoro programowo był zgodny (gry chodziły).

A Emulacja CP/M (czy CP/J) na Atari poprzez emulację Z80 to wg mnie super pomysł. Na 65816 z liniowym RAMem może chodzić nawet sensownie.

60 Ostatnio edytowany przez drac030 (2007-02-02 22:54:50)

Nigdy się spectrumem za bardzo nie interesowałem, więc mogę być w błędzie, ale wydaje mi się, że do uruchomienia CP/M potrzebna była stacja FDD 3000, i to ona robiła za komputer, a ZX Spectrum za terminal. Inaczej się CP/M-u uruchomić nie dało, ale nie wiem czemu - może CP/M wymaga np. żeby pierwsze 16k pamięci było RAM-em? Albo chodzi o brak odpowiedniego BIOS-u.

Jeśli to drugie, to w zasadzie żaden problem.

Tu http://pl.wikipedia.org/wiki/Elwro_800_Junior jest napisane "jednym z trybów pracy jest programowo zgodny z Sinclair ZX Spectrum".

KMK
? HEX$(6670358)

61

drac030 napisał/a:

- może CP/M wymaga np. żeby pierwsze 16k pamięci było RAM-em?

Dokładnie o to. Miałem gdzieś starą knige gdzie opisywali wymaganie które musi spełniać system, żeby na nim CP/M działał i to było podstawowe założenie.

What can be asserted without proof can be dismissed without proof.

62

Proponuję zatem powołać Komisję Ślędczą, której zadaniem będzie (ponowne)odkrycie wszystkich wymagać do uruchomienia CP/M i określenie, czy da się (czyt. jest sens próbować) odpalić emulowany CP/M na atari :)
Bo perspektywa jest kusząca.

63

http://www.pldos.pl/bogus/software/cpm/cpm_hist.htm

http://atari.pl/hsc/ad.php?i=1.

64 Ostatnio edytowany przez drac030 (2007-02-03 01:07:34)

laoo/ng napisał/a:

Proponuję zatem powołać Komisję Ślędczą, której zadaniem będzie (ponowne)odkrycie wszystkich wymagać do uruchomienia CP/M

W en.wiki (http://en.wikipedia.org/wiki/CP/M) jest napisane, że to jest:

a) terminal
b) Intel 8080
c) 16k RAM-u
d) stacja dysków

Co do tych "16k", tutaj: http://www.dcast.vbox.co.uk/cpm.html napisali że ma to jednak być co najmniej 20k ze wskazaniem na nie mniej niż 48k.

KMK
? HEX$(6670358)

65

Źródła CP/M 2.2 są nawet dostępne, można podejrzeć jak komunikuje się ze sprzętem (może nawet troche po-JITować... ;) )

A czy w takim razie emulacja samego 8080 na początek byłaby jakaś szybsza / łatwiejsza?

66

8080 ma mniej rejestrow, nie ma niektorych trybow adresowania, rej stanu jest krotszy, jakies myki sa z rozkazamio skokow wzglednych, lista rozkazow jest sporo krotsza od z80, emulacja 8080 musi byc szybsza od emulacji z80, poza tym caly czas mowicie o emulacji zx, ja o emulacji samego procesora. dopoki nie bedzie 65816 i vbxe nie ma co marzyc o zxsectrum

http://atari.pl/hsc/ad.php?i=1.

67

Emulacja 8080 byłaby szybsza tylko w tym sensie, że z powodu dużo mniejszej liczby rozkazów emulator mógłby powstać szybciej ;) Poza tym nie ma w zasadzie żadnej róznicy, oprócz drobnej w zachowaniu rejestru znaczników.

KMK
? HEX$(6670358)

68

Ja byłbym za emulacją Z80 najsampierw :) Gdy będziemy mieli działający kod, wtedy będzie można kusić się o różne jego wykorzystanie. Od cudów na kiju opartych o procesory 8080 do Amstradów z serii 8xxx i 9xxx ;)

Co do CP/J to jest to CP/M z dodaną możliwością pracy w sieci - taka polska podróbko-udoskonalenie. Polegało to na podobny patencie jak "Udostępnianie plików i drukarek w sieci Windows", czyli do jednego komputera podłączona była stacja dysków i drukarka, a pozostałe komputery mogły z tychże korzystać. Wiązało się to z polityką sprzedaży "zestawów klasowych" gdzie komputer nauczycielski był "masterem", a uczniowie korzystali z peryferiów jako "slaves" ;)

Jako, że miałem przyjemność pracować w takiej klasie na "kółku informatycznym" (LO w Piastowie) muszę powiedzieć, że zabawa była przednia, a system działał całkiem sprawnie. Stacje były enerdowskie i pracowały z hałasem mogącym stawać w szranki z niektórymi modelami tokarek, a błędy odczytu były na porządku dziennym. Jakby ktoś chciał więcej info o E800 to służę :)

Co do CP/M na Spectrum 48k to po podłączeniu stacji FDD3000 i przejściu w tryb CP/M trumna stawała się wyłącznie gumową klawiaturą i niczym więcej bowiem owa stacja była sama w sobie komputerem i mogła pracować w CP/M bez Spectrum :) Wystarczyło podłączyć klawiaturę, jakąkolwiek.

Czy możecie wyjaśnić, Stirlitz, dlaczego wasz służbowy adres stirlitz@rsha.gov.de ma aliasa justas@gru.su?
Nie czytam PM. Proszę używać e-mail.

69 Ostatnio edytowany przez xxl (2007-02-04 09:23:56)

emulacja calej listy rozkazow jest ambitna... postaram sie wkrotce pokazac dzialajacy kod jakiegos programu (moze jakas ekstremalnie krotka gra albo cos) w kodzie z80 na atari, w emu beda tylko rozkazy, ktore beda uzywane w tym konkretnym programie, jesli ktos kuma generowanie obrazu na trumnie albo zx81 prosze o kontakt (jak wygladalaby dl dla antica?)

czuje ze to moze byc porazka jesli chodzi o szybkosc

-- organizacje obrazu juz mam. jak odczytac wcisniety klawisz gumiaka?

-- 3 slowa do ksiedza prowadzacego:
1. kempston to jakos niestandardowo podpiete urzadzenie? - moze byc mapowane z STICK0/STICK1 atari?
2. jak wyobrazacie sobie zrobienie mapy kolorow? 2 drogi, albo olac mape kolorow albo migajacy obraz na 1 planie mapa kolorow w trybie gtia na drugim bitplan w hiresie?

http://atari.pl/hsc/ad.php?i=1.

70

xxl napisał/a:

2. jak wyobrazacie sobie zrobienie mapy kolorow? 2 drogi, albo olac mape kolorow albo migajacy obraz na 1 planie mapa kolorow w trybie gtia na drugim bitplan w hiresie?

olać mape kolorów, jak pojawi sie VBXE wtedy bedzie mozna dodac mape kolorów

*- TeBe/Madteam
3x Atari 130XE, SDX, CPU 65816, 2x VBXE, 2x IDE Plus rev. C

71 Ostatnio edytowany przez xxl (2007-02-04 18:50:04)

http://atari.pl/fmtest.sna - uruchamiac na zxspectrum; joystick kempston



-- kto mi pomoze rozszyfrowac naglowek (27 bajtow) pliku .sna albo inaczej jak/gdzie trumna zapisuje adres startu programu?

http://atari.pl/hsc/ad.php?i=1.

72

No nie wygłupiaj się.

http://www.google.com/search?hl=pl& … aj&lr=

Czy możecie wyjaśnić, Stirlitz, dlaczego wasz służbowy adres stirlitz@rsha.gov.de ma aliasa justas@gru.su?
Nie czytam PM. Proszę używać e-mail.

73

dely: hyhyhy, ale mu pojechales ;)

The UNIX Guru`s view of Sex:
unzip; strip; touch; finger; mount; fsck; more; yes; umount; sleep

74 Ostatnio edytowany przez xxl (2007-02-05 22:00:24)

na swoje usprawiedliwienie moge tylko powiedziec ze jeszcze nie doszedlem do rozkazu retn a to on byl kluczem... (w naglowku nie widzialem nigdzie wartosci dla pc) ;-)


--
stan na dzis

http://atari.pl/z80emu1.gifhttp://atari.pl/zxemu.gif

http://atari.pl/hsc/ad.php?i=1.

75

co do CP/M na zx to pogadajcie z Jarkiem Adamskim - zajmował się tym jakoś bliżej :) http://8bit.yarek.pl/index-pl.html