Zabawka z Silly Venture 2018.

Hashi to eksperymentalny cartridge do atari 8-bit, oparty o EPM3064 i ATxmega192D3.

Doso podobne funkcje:
- Ładowanie xex z FAT32 około 200KB/s (więcej przy wyłączonym Antic).
- wsparcie dla CIO i SIO (SIO przez ECI, ale zamierzam to odpiłować)
https://www.youtube.com/watch?v=DMlDcaFc_Bk

Funkcje strumieniowego interfejsu:
- Wideo: 352x239 (gr8) 50 klatek na sekundę
- Audio: 31 kHz mono 8-bitowe audio PDM przez POKEY
- Format HAI obsługuje metadane ala RIFF
- wszystko zarządzane z Atari
https://www.youtube.com/watch?v=NTXMqTindRA
(tak, to jest interaktywne i grywalne - nie wszyscy na SV zauważyli, co bardzo mnie cieszy:P)

I oczywiście niektóre klasyki:
https://youtu.be/kXNTymTJfSk?t=124

Pamiętam, kiedy pierwszy raz zobaczyłem SIO2SD, od razu chciałem je podłączyć po PBI
Historia zatoczyła koło: http://www.atari.org.pl/forum/viewtopic.php?id=5522.
Fun fakt, 1/100 z poświęconego na to czasu to odtwarzarka video na sv (jak nie mniej)

2

a można zreplikować duchy w linii :) ładując non-stop pod adresy HPOSP0..3 / GRAFP0..3 ?

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

3 Ostatnio edytowany przez pajero (2018-11-19 18:40:07)

My na takie nowinki są łasi. Dawaj koksu... znaczy kiedy można dostać do łapek?

4

+1 dla mnie jak już uruchomisz produkcję :-)

https://systemembedded.eu/ ... https://www.youtube.com/watch?v=GwS7Es1x6mw
""Ja bardzo przepraszam, ale podejrzenia panów są całkowicie bezpodstawne. Ja niczym nie handluję. Ta pani przyszła do mnie w tym Pancake-u i w nim wychodzi.""
ABBUC Member #319. Preferowana forma kontaktu: email

5

Efekt jest kapitalny. Dragon's Lair w takiej jakości to coś pięknego.

Pytanie - czy odtwarzacz pójdzie też z Side II?

Pamięć studenta ma charakter kwantowy - student wie wszystko, ale jednocześnie nic nie pamięta.
- Kilka(naście?) pudełek z klawiszami i światełkami. I jeden Vectrex, żeby nimi wszystkimi rządzić.

6

tebe napisał/a:

a można zreplikować duchy w linii :) ładując non-stop pod adresy HPOSP0..3 / GRAFP0..3 ?

Nie :)

Niektóre założenia podjąłem dość arbitralnie ("bo tak"). Jednym z nich jest zerowa ingerencja w samą Atarynę (nie żebym w drugim Atari nie miał 1MB, streo, spart itd...).

Co powoduje, że zewnętrzny cartridge zawsze jest slavem. Antic ustawić w przestrzeń cartridga - żaden problem, mamy video (dzięki wycyklowaniu po stronie xmegi). Dla trybu wide jak się od tych 114 cyklów w linii po stronie atari odejmie wszystko zostają grosze. Wystarczają na przepisywanie z pamięci carta w pokeya aby grać PDMa (obraz i video jest przeplecione). Line puste, mają przeplecioną logikę gry/odtwarzacza z dźwiękiem (każda linia musi zagrać 2 sample).

Na multipleksowanie nie ma siły, teoretycznie można by w pustych liniach mieć dane dla bufora duszków (ręcznie przepisywane z carta do pamięci), to można by coś podkolorować.

W tych demach natomiast korzystam z tego co opisał Rybags/Pavros, ręcznie robię vsync i dzięki temu poniżej obrazu antica, na duszkach jest status gry / licznik klatek (nie tracę powierzchni video)

Muszę wywalić ECI i biorę się za płytki bardziej "docelowe", jak mi żona da czas po SV:)

7 Ostatnio edytowany przez mono (2018-11-20 00:33:14)

@Yosh: A co myślałbyś o takim fjuczerze?
Z rozmów z Tobą zrozumiałem, że generujesz kod wykonywany przez Atari, który bierze daną z rejestru i zapisuje w pamięci. A gdyby tak na dysku znajdował się gotowy program podzielony na bloki jednostronicowe o początku w obszarze carta $D500. Takie bloki ładowałbyś z dysku, podstawiał jako pamięć w $D500 i wykonywał (przez Atari) tak jak to robisz obecnie (ten kod musiałby oczywiście wiedzieć jak pobrać daną z Twojego sprzętu). Dałoby to użyszkodnikowi możliwość praktycznie bezpośredniego wykonania kodu ładowanego z dysku sektor po sektorze. Owszem - niebezpieczne. Ale wtedy znikają pytania o możliwość odtwarzania dźwięku, multiplikacji sprajtów itd.

Edit: Może te bloki mogłyby być większe, albo wręcz zawijane na stronie $D5 (nie pamiętam jak masz to dokładnie zrealizowane).

Edit 2: Albo może dałoby się zrealizować w jakiś sposób mapowanie gdzie do pamięci mają trafić konkretne bajty z sektora z dysku. Wtedy program generowałbyś sobie tak jak dotąd bazując na takiej mapie. Choć wykonanie kodu bezpośrednio z dysku dałoby znacznie większe możliwości zarówno jeśli chodzi o kompresję danych graficznych (zapis tylko danych które się zmieniły), sprajtów, dźwięku itp.

hex, code and ror'n'rol
niewiedza buduje, wiedza rujnuje

8 Ostatnio edytowany przez Yosh/ng (2018-11-20 01:15:50)

mono napisał/a:

@Yosh: A co myślałbyś o takim fjuczerze? ....

Tia... da się, wiedziałem że o to zaraz Laoo mnie spyta i będzie wiercił dziury w brzuchu (czasem z tych dziur wypadają fajne rzeczy:P ), więc pozostaje napisać mi to samo Tobie:

TEORETYCZNIE - da się przepleść kod razem z danym dla Antica, i mieć każdą klatkę video rastaconventerem zrobioną (muhaha), niby się da. I nawet zostaje trochę czarnego ekranu, żeby mieć czas na pędzenie machinki karty SD.
Tylko, że to jest uber rzeźbienie w xmedze (które lubię), ale mam inne priorytety :(

Teraz jest fajnie, xmega ma praktycznie tyle cykli ile potrzebuje na wystawienie danej i pędzenie automatu karty SD, zostaje trochę cykli żeby nie było to bardzo paskudne i miało jakikolwiek zamysł :) bo dana jest potrzebna co drugi bajt (Antic), czasem od razu (wpleciony dźwięk), robić to bajt w bajt - mega rzeźbienie :)

Zresztą, i tak potrzebuje karta SD oddechu (jak zmienia strone, albo wystawia CRC to muszę nad tym przeskoczyć) wiec nie jest to aż tak trywialne. Dlatego wracając z SV pocieszałem się że i tak każda klatka rastaconverterem była by inna (migało by w cholerę i bardzo pociesznie).

Łatwiej jest więc pisać dedykowane playery po stronie 6502 z dedykowaną strumieniowaczką po stronie xmegi.
Tym bardziej, że mono pdm 8bit 31k to jest w każdej lini (nie liczac antica) LDA STA * 4 (i to juz jest duzo, zostaja naprawde farfocle)

Ładowarka xex, czy namiastka dosa - mimo że bardziej skomplikowane - działają wolniej niż video, bo część wystawianych danych to jest "LDA" "STA" "JMP" - tego z karty nie trzeba czytać.

Co do drugiej części - najłatwiej a też dość przaśne po przejściu na carta będzie wmapowanie PMG w $8000 i ciągniecie tych danych prosto z carta, wtedy 6502 mogło by przesuwać HPOSy i coś się podkoloruje :)

9 Ostatnio edytowany przez mono (2018-11-20 02:19:01)

Odnośnie dźwięku: Evie ma taki feature, że jak się zapisuje $D604/$D704 to bajt trafia od razu do $D600 i $D601 ($D700+$D701) czyli do obydwu kanałów stereo. Można też generować 8-bit PDM na POKEY-u przez zapis $D201 i $D205 (oczywiście po uprzednim _jednokrotnym_ skonfigurowaniu kanałów).

hex, code and ror'n'rol
niewiedza buduje, wiedza rujnuje

10 Ostatnio edytowany przez Yosh/ng (2018-11-21 00:23:27)

mono napisał/a:

Odnośnie dźwięku: Evie ma taki feature, że jak się zapisuje $D604/$D704 to bajt trafia od razu do $D600 i $D601 ($D700+$D701).

To jest tak oczywiste jak teraz to czytam, że mi się zamarzyło aby oryginalne simple stereo dla Atari miało:
$D20x - mono, zapisuje w lewy i prawy (pełna zgodność w dół do mono)
$D22x - stereo, lewy kanal
$D23x - stereo, prawy kanal
aż chyba swoje tak przerobie :) (i wszystkie twoje odtwarzarki.... i gry... tak tak, żartuje)

mono napisał/a:

Można też generować 8-bit PDM na POKEY-u przez zapis $D201 i $D205 (oczywiście po uprzednim _jednokrotnym_ skonfigurowaniu kanałów).

Dokładnie tak to działa, LDA hashi, STA $D205, LDA hashi, STA $D201, dwa razy w linii aby wycisnąć 31k (stereo 15k oczywiście jest tak samo prosto, jest to rozszerzenie formatu HAI którego pewnie nigdy nie zrobię(takich głupot mam spory pęczek) )

A ma Evie rozmnażarkę kanałów pod jakimś adresem POKEYowym? zapisałbym w inne $D2y1 żeby grało na starym pokey-u i na Evie. No i wiedziałbym na jaki adres dolutować rozmnażarkę do simple stereo ;)

11 Ostatnio edytowany przez mono (2018-11-21 11:05:01)

Uwaga, bo w $D22x i $D23x drzemią sobie 3ci i 4ty POKEY.

Edit: Aha, o rozmrażarce kanałów POKEY-owych nie słyszałem :) Chociaż są jakieś sprzętowe detektory stereo które generują dźwięk z jednego POKEYa na obu kanałach stereo.

hex, code and ror'n'rol
niewiedza buduje, wiedza rujnuje

12

mono napisał/a:

Uwaga, bo w $D22x i $D23x drzemią sobie 3ci i 4ty POKEY.

... a tak właśnie chciałem sobie zamontować Evie, by pozostawić /baczność stockowe /spocznij stereo a kartę z emulowanymi pokeyami wrzućić jako #3 #4. Ciekawi mnie TMC 2.0 i obsługa 4 układów jednocześnie ;)

Kontakt: pin@usdk.pl