Autor Wątek: Kompatybilność Spectrumów i Amstradów CPC  (Przeczytany 23502 razy)

Abrimaal

  • *****
  • Wiadomości: 965
  • Miejsce pobytu:
    Lemmingrad
  • Zamulator
    • Games for ULA plus
Odp: Kompatybilność Spectrumów i Amstradów CPC
« Odpowiedź #30 dnia: 2013.02.01, 21:29:10 »
Zobaczcie Flying Shark na CPC, grafika jest ta sama, co na Spectrum.
Jest zrobiona w trybie mid-res (4 kolorowym) i przez te 2bity/pixel do scrollowania gra chodzi niesamowicie wolno.
AY Music, ULA plus.

ZbyniuR

  • *****
  • Wiadomości: 3333
  • Miejsce pobytu:
    Carlisle w UK
  • CPC AGA PSX
Odp: Kompatybilność Spectrumów i Amstradów CPC
« Odpowiedź #31 dnia: 2013.02.01, 22:34:00 »
W Amstradzie to w jakim trybie coś jest zrobione nie ma wpływu na prędkość, bo i tak standardowo każdy z nich zajmuje 16KB. A w ZX 6KB plus niecały 1 na atrybuty, a oba kompy mają taki sam procek. Do tego organizacja pamięci ekranu w CPC jest skomplikowana. 80 bajtów zajmuje pikselowa linijka, ale następne 80 bajtów pamięci ekranu nie są następną widoczną linijką na ekranie tylko pierwszą od góry linijką drugiej znakowej linijki. A adres początku drugiej widocznej pikselowej linijki ekranu zaczyna się 2KB dalej. Wpisz taką linijkę by to zrozumieć: 

10 Mode 2:FOR a=&C000 to &FFFF:POKE a,255:NEXT

To zapełnia komórki pamięci ekranu po kolei ale na ekranie one nie są po kolei. Takie rozwiązanie pomaga szybko przesuwać teksty o całą linijkę tekstową ale przesuniecie zawartości ekranu o linijkę pikselową wymaga przeliczenia pod jaki adres ją przerzucić. Podobny bałagan jest z tym że w 4 i 16 kol trybie bity w bajcie pamięci ekranu które wpływają na kolor poszczególnego piksela nie są kolejnymi bitami obok siebie. Pojęcia nie mam dlaczego. Ale jak chcesz ileś razy na sekundę nałożyć sprajta na jakiś obrazek zachowując jeden z kolorów jako przezroczysty a potem odtworzyć co było w tle gdy przesuniesz sprajta to sporo się procek musi napocić. Dlatego często zmniejsza się obszar ekranu by było nieco płynniej. Choć są magicy co im te ograniczenia nie przeszkadzają. I wymiatają mimo to. ;)

W tych najpłynniejszych demkach nawet nie przenosi się tych setek bajtów pamięci ekranu do innych adresów by stworzyć wrażenie ruchu, a jedynie bombarduje się scalaka który generuje obraz informacjami o tym skąd ma czytać kolejne linijki wyświetlane na ekranie. To zajmuje mniej czasu procesora. ;)

Ta gierka faktycznie jest wolna choć nawet nie brzydka. Ja jednak twierdzę że w grach bardziej razi brak kolorów, niż brak wyższej rozdzielczości, dlatego wolę gry w 16 kolorach.
- Jeśli masz w domu światło i wodę, tzn. że masz światłowód. ;)

matofesi

  • *****
  • Wiadomości: 2048
  • Miejsce pobytu:
    Toruń/Poland
Odp: Kompatybilność Spectrumów i Amstradów CPC
« Odpowiedź #32 dnia: 2013.02.02, 14:44:23 »
@ZbyniuR Jak chcesz zobaczyć skomplikowaną organizację ekranu to zrób odpowiednik tego, co podałeś na Spectrum: :P

FOR i=0 TO 6911 : POKE 16384+I,255 : NEXT i

ZbyniuR

  • *****
  • Wiadomości: 3333
  • Miejsce pobytu:
    Carlisle w UK
  • CPC AGA PSX
Odp: Kompatybilność Spectrumów i Amstradów CPC
« Odpowiedź #33 dnia: 2013.02.06, 20:06:52 »
Nie mam na czym, ale coś mi świta że tam ekran jest podzielony na 3 kawałki po 2KB. W jakimś Bajtku była procedura co przełącza takie porcje ekranu by animacje zrobić. Plus 768 bajtów z parametrami o kolorach. Czy coś pokręciłem?
- Jeśli masz w domu światło i wodę, tzn. że masz światłowód. ;)

Micky

  • ***
  • Wiadomości: 157
  • Miejsce pobytu:
    Szczecin
Odp: Kompatybilność Spectrumów i Amstradów CPC
« Odpowiedź #34 dnia: 2013.02.07, 01:24:54 »
pamięć dobra :)

ZbyniuR

  • *****
  • Wiadomości: 3333
  • Miejsce pobytu:
    Carlisle w UK
  • CPC AGA PSX
Odp: Kompatybilność Spectrumów i Amstradów CPC
« Odpowiedź #35 dnia: 2013.08.03, 20:16:23 »
Na CPC jest Emulator Spectruma, a tak właściwie to tylko Spectrumowego Basica. Nazywa się to ZXM i pozwala wklepywać (jeden klik to cały rozkaz) i wczytywać Basic-ki. Zgłasza się jak Speccy białe tło literka w kursorze i pająkowata czcionka. Ale są tam jakieś ograniczenia i głowy nie dam że teraz dobrze napiszę ale chyba bez komend POKE PEEK CODE USR ignoruje rozkazy o kolorach bo wszystko jest czarno-białe. A wczytywanie to nie wiem czy czyta oryginalne taśmy ze ZX czy np muszą to być pliki ASCII. Jednak wyświetla teksty rysuje kreski i obrabia zmienne jak prawdziwy Speccy. :)
- Jeśli masz w domu światło i wodę, tzn. że masz światłowód. ;)