1

Temat: Nowy cart dla A7800

Dzieki @rj1307

256KB ROM
2x16KB RAM
SN76489AN + Covox
FlipX dla sprajtow
Dostep do 256KB dla Marii niezaleznie w trzech bankach ($Axxx,$Cxxx,$Exxx) Holey DMA
Konop mode "sprzetowo" :)

Dzieki dla Mikera za muze
Na razie Miker uzywa Furnace zeby polaczyc dwa systemy w jeden.
Prawdopodobnie stad to "pykanie" na poczatku. Inne kawalki SN graja dobrze.

2

Odp: Nowy cart dla A7800

fajna sprawa,
pytanie o układ dźwiękowy, czemu akurat ten a nie np. montowany w innych kartach 7800 - YM2151 albo równie popularny AY/YM?

Ostatnio edytowany przez Cyprian (2022-05-15 17:58:47)

Lynx I / Mega ST 1 / 7800 / Portfolio / Lynx II / Jaguar / TT030 / Mega STe / 800 XL / 1040 STe / Falcon030 / 65 XE / 520 STm / SM124 / SC1435
DDD HDD / AT Speed C16 / TF536 / SDrive / PAK68/3 / Lynx Multi Card / LDW Super 2000 / XCA12 / SkunkBoard / CosmosEx / SatanDisk / UltraSatan / USB Floppy Drive Emulator / Eiffel / SIO2PC / Crazy Dots / PAM Net
http://260ste.atari.org

3

Odp: Nowy cart dla A7800

Cena, dostepnosc i szybkosc. (max 8 danych na ramke, srednio chyba 3)
YM2151 jest naprawde super, kawalki ktore przerobilem na A7800 pod Dragonfly byly fantastyczne.
Niestety czasowo nie wyrabiaja. Ciezko sie czasem zmiescic w ramce z przepisaniem danych dla instrumentow.
Musisz czekac 35 cykli CPU przed zapisanie nastepnej wartosci, a czasem jest to 500 bajtow danych.
Przy zachlannosci DMA Marii nie ma szans sie wyrobic w ramce.

4

Odp: Nowy cart dla A7800

to mnie zaskoczyłeś, jakoś nie jeszcze nie przyglądałem się programowaniu YM2151, wiem że ma spore możliwości no ale te 35 cykli brzmi źle.

Może istnieje coś pośredniego pomiędzy prostotą SN76489AN a jakością YM2151.

A jak z ceną za te układy? jest podobna?

Swoja drogą to czy te 500 bajtów danych na ramkę jest dla jakichś wypasionych piosenek (8 kanałów, mnóstwo zmian)?

Ostatnio edytowany przez Cyprian (2022-05-16 00:42:11)

Lynx I / Mega ST 1 / 7800 / Portfolio / Lynx II / Jaguar / TT030 / Mega STe / 800 XL / 1040 STe / Falcon030 / 65 XE / 520 STm / SM124 / SC1435
DDD HDD / AT Speed C16 / TF536 / SDrive / PAK68/3 / Lynx Multi Card / LDW Super 2000 / XCA12 / SkunkBoard / CosmosEx / SatanDisk / UltraSatan / USB Floppy Drive Emulator / Eiffel / SIO2PC / Crazy Dots / PAM Net
http://260ste.atari.org

5

Odp: Nowy cart dla A7800

Martwiące jest te robienie niekompatybilnych rozszerzeń. Gra napisana na Dragonfly niekonieczenie musi pójść na tym i vice-versa. Ale jakby nie był kosmicznie drogi to można mieć i to i to :) A SN76489 jest fajny. Mogłyby być nawet dwa, dla stereo (np. w Neo Geo Pocket są dwa).

No i mi to się marzy taki cartridge, który sprawiłby, żeby CPU nie musiał mozolnie przetwarzać tych displaylist. Jakiś np dedykowany procesor od tego jak w Jaguarze. Chodzi mi o to, że MARIA nie działa tak bardzo wyjątkowo. Normalną sprawą w konsolach z lat 80-tych było to, że była jedna linia i sprajty się w nią wrenderowywały. Unikatem jest tylko to, że Atari postawiło na bardzo niskopoziomowy dostęp na zasadzie listy wyświetlania, którą trzeba manipulować na CPU, podczas gdy inni gracze na rynku (NES, SMS, PCE itd) poszli bardziej w stronę ukrycia tego przed programistą i dają tylko listę powiedzmy 64 sprajtów i krzem sam pracowicie ją przegląda emulując sobie takie display listy w locie. Maria jest bardzo silna, tylko jest chronicznie niewystarczająco "umocowiona", żeby miała co rysować.

laoo/ng

6

Odp: Nowy cart dla A7800

SN76489 jest ok, ale AY/YM jednak są lepsze gdyż mają obwiednię :)

Object Processor Jaguara ma dużo wspólnego z Display List Marii, przypuszczam nawet że OP był wzorowany na niej.
Efekt w Jagu jest taki, że jeśli mamy dużo sprajtów to trzeba stosować technikę z 7800 i dzielić sprajty na wiersze (branchami). Inaczej jest ryzyko że OP całą linię skaningową będzie czytać swoją Display Listę i nie dopuści CPU/GPU do pamięci.

Lynx I / Mega ST 1 / 7800 / Portfolio / Lynx II / Jaguar / TT030 / Mega STe / 800 XL / 1040 STe / Falcon030 / 65 XE / 520 STm / SM124 / SC1435
DDD HDD / AT Speed C16 / TF536 / SDrive / PAK68/3 / Lynx Multi Card / LDW Super 2000 / XCA12 / SkunkBoard / CosmosEx / SatanDisk / UltraSatan / USB Floppy Drive Emulator / Eiffel / SIO2PC / Crazy Dots / PAM Net
http://260ste.atari.org

7

Odp: Nowy cart dla A7800

trochę zwariowany pomysł,
a co jakby zamiast gotowego czipu dźwiękowego użyć ATTiny85 z 'Tiny Synth' https://github.com/JarrettBillingsley/tinysynth

Tanie, programowalne, no i spore możliwości dźwiękowe

Lynx I / Mega ST 1 / 7800 / Portfolio / Lynx II / Jaguar / TT030 / Mega STe / 800 XL / 1040 STe / Falcon030 / 65 XE / 520 STm / SM124 / SC1435
DDD HDD / AT Speed C16 / TF536 / SDrive / PAK68/3 / Lynx Multi Card / LDW Super 2000 / XCA12 / SkunkBoard / CosmosEx / SatanDisk / UltraSatan / USB Floppy Drive Emulator / Eiffel / SIO2PC / Crazy Dots / PAM Net
http://260ste.atari.org

8

Odp: Nowy cart dla A7800

Cyprian napisał/a:

to mnie zaskoczyłeś, jakoś nie jeszcze nie przyglądałem się programowaniu YM2151, wiem że ma spore możliwości no ale te 35 cykli brzmi źle.

Dla SN zajmuje to 32 cykle ale nie musisz zapisywac az tyle danych.
Edit: 16 cykli 6502

Cyprian napisał/a:

Może istnieje coś pośredniego pomiędzy prostotą SN76489AN a jakością YM2151.

Rozwazalem jeszcze SAA1099 ale malo dostepny i drogi.
SN kupilem za 0.50$ przy 50szt.

Cyprian napisał/a:

Swoja drogą to czy te 500 bajtów danych na ramkę jest dla jakichś wypasionych piosenek (8 kanałów, mnóstwo zmian)?

@RevEng poszedl ze swoim XMYM playerem w kierunku 8 kanalow 8 instrumentow (1 instrument na jeden kanal).
Player zaladowuje je na poczatku a potem tylko odgrywa muzyke, jest szybki ale muzyk sobie nie poszaleje.
https://github.com/7800-devtools/dmf2asm/releases
Ja uzywamlem formatu VGM ale niektore maja ponad 120KB
Zastosowalem wiec kompresje Huffmunchem i zmienilem format VGM na swoj wlasny, player dekompresuje w tle dane do bufora a potem sa odtwarzane na DLI
Ponizej przyklad ile zajmuje czasu na przerwaniu jeden z utworow. Kompresja Huffmunchem 107KB => 12KB
https://raz0red.github.io/js7800/?cart= … ?id=896463

laoo/ng napisał/a:

Martwiące jest te robienie niekompatybilnych rozszerzeń. Gra napisana na Dragonfly niekonieczenie musi pójść na tym i vice-versa.

Dragonfly uruchamia carty ktore byly wydane oficjalnie.
Nie uruchomi Super'a czy tez nowego Carta od RevEng'a ktore uzywaja lini Halt
http://7800.8bitdev.org/index.php/Bankset_Bankswitching

laoo/ng napisał/a:

Ale jakby nie był kosmicznie drogi to można mieć i to i to :)

To nie bedzie SD cart. Ale bedzie sobie mozna go zrobic samemu.

laoo/ng napisał/a:

A SN76489 jest fajny. Mogłyby być nawet dwa, dla stereo (np. w Neo Geo Pocket są dwa).

A7800 ma tylko jedna linie audio na carcie, wiec stereo odpada.

SN76489AN rozni sie od tego ktory jest w SegaMaster System czy Mega Drive
Obecne trackery (Deflemask czy Furnace) nie obsluguja tej wersji chipa.
Miker musial sie nagimnastykowac zeby 3 i 4 kanal (polaczony w jeden) nie falszowal.
Kanaly sie laczy gdy chcemy uzyskac lepszy bass
Dlatego tez dolozylismy Covoxa (bo czemu nie), jest tez sporo miejsca w rom wiec jak ktos go nie zapelni to moze dopchac sampli.

Szczesliwie sie sklada ze Maria czyta dane co strone pamieci wiec ficzery jak obracanie sprajtow czy tryb Konopa byly dosyc proste do zrobienie poprzez manipulacje bitami adresow i danych.
Najistotniejsze dla mnie bylo zrobienie 4KB bankow dla Marii pod adresami $Axxx $Cxxx i $Exxx
Gdy chcesz przesuwac sprajty w pionie to musisz uzyc Holey DMA, ktore dziala tylko dla tych adresow w trybie 16 lini zone.
Przelaczenie banku 16KB ($8000-$BFFF) po to zeby przelaczyc tylko $Axxx bylo dla mnie bez sensu.
Mocno sie zdziwilem gdy przeczytalem na AAge ze ludzie powielaja ten sam kod programu w adresach $8xxx $9xxx $Bxxx dla KAZDEGO banku ;(
Stare carty nie przelaczaja banku $C000-$FFFF wiec nie zmienisz grafiki ktora znajduje sie w $Cxxx i $Exxx

Ostatnio edytowany przez Eagle (2022-05-18 22:55:46)

9

Odp: Nowy cart dla A7800

Eagle napisał/a:

A7800 ma tylko jedna linie audio na carcie, wiec stereo odpada.

Niekoniecznie - można zrobić wyjście audio na carcie ;) Wiem, gra niewarta świeczki, ale?

Sikor umarł...

10

Odp: Nowy cart dla A7800

Eagle napisał/a:
Cyprian napisał/a:

Może istnieje coś pośredniego pomiędzy prostotą SN76489AN a jakością YM2151.

Rozwazalem jeszcze SAA1099 ale malo dostepny i drogi.
SN kupilem za 0.50$ przy 50szt.

no tak, cena robi wrażenie,
z tym że myślę że nawet 10PLN za układ dźwiękowy jest akceptowalną ceną, pod warunkiem że ma dobre parametry typu ilość kanałów dźwiękowych, różne fale, obwiednia no i szybki czas dostępu

Eagle napisał/a:
Cyprian napisał/a:

Swoja drogą to czy te 500 bajtów danych na ramkę jest dla jakichś wypasionych piosenek (8 kanałów, mnóstwo zmian)?

@RevEng poszedl ze swoim XMYM playerem w kierunku 8 kanalow 8 instrumentow (1 instrument na jeden kanal).
Player zaladowuje je na poczatku a potem tylko odgrywa muzyke, jest szybki ale muzyk sobie nie poszaleje.
https://github.com/7800-devtools/dmf2asm/releases
Ja uzywamlem formatu VGM ale niektore maja ponad 120KB
Zastosowalem wiec kompresje Huffmunchem i zmienilem format VGM na swoj wlasny, player dekompresuje w tle dane do bufora a potem sa odtwarzane na DLI
Ponizej przyklad ile zajmuje czasu na przerwaniu jeden z utworow. Kompresja Huffmunchem 107KB => 12KB
https://raz0red.github.io/js7800/?cart= … ?id=896463

źle to nie wygląda, dodatkowo gra tam sporo kanałów.
Widzę że nie wszystkie ramki są równomiernie obciążone (wykres sporo skacze), myślę że jest tu pole do optymalizacji (np. granie nieparzystych kanałów opóźnionych o jedną ramkę w stosunku do parzystych)

Ostatnio edytowany przez Cyprian (2022-05-19 13:46:41)

Lynx I / Mega ST 1 / 7800 / Portfolio / Lynx II / Jaguar / TT030 / Mega STe / 800 XL / 1040 STe / Falcon030 / 65 XE / 520 STm / SM124 / SC1435
DDD HDD / AT Speed C16 / TF536 / SDrive / PAK68/3 / Lynx Multi Card / LDW Super 2000 / XCA12 / SkunkBoard / CosmosEx / SatanDisk / UltraSatan / USB Floppy Drive Emulator / Eiffel / SIO2PC / Crazy Dots / PAM Net
http://260ste.atari.org

11

Odp: Nowy cart dla A7800

Cyprian napisał/a:

źle to nie wygląda, dodatkowo gra tam sporo kanałów.

Widzisz tylko to co gra na DLI ale w tle CPU dekompresuje na biezaco.
Tutaj ten sam utwor depackowany w "locie" na DLI

https://raz0red.github.io/js7800/?cart= … ?id=895889

BTW wlaczenie ekranu np. w trybie znakowym 160B zabraloby 90% cykli CPU :)

12

Odp: Nowy cart dla A7800

ok, teraz widać że sporo zabiera

Lynx I / Mega ST 1 / 7800 / Portfolio / Lynx II / Jaguar / TT030 / Mega STe / 800 XL / 1040 STe / Falcon030 / 65 XE / 520 STm / SM124 / SC1435
DDD HDD / AT Speed C16 / TF536 / SDrive / PAK68/3 / Lynx Multi Card / LDW Super 2000 / XCA12 / SkunkBoard / CosmosEx / SatanDisk / UltraSatan / USB Floppy Drive Emulator / Eiffel / SIO2PC / Crazy Dots / PAM Net
http://260ste.atari.org

13

Odp: Nowy cart dla A7800

@Cyprian kojarzysz ten utwor z YM2149F? Znalazlem na Pigwie w katalogu demos.
Nazywa sie Stephani.

14

Odp: Nowy cart dla A7800

Fajnie to brzmi. Szczerze mówiąc nie kojarzę, chociaż początek brzmi znajomo.

Swoją drogą jak wygląda organizacja pamięci w tym karcie?

Ostatnio edytowany przez Cyprian (2022-05-23 18:35:10)

Lynx I / Mega ST 1 / 7800 / Portfolio / Lynx II / Jaguar / TT030 / Mega STe / 800 XL / 1040 STe / Falcon030 / 65 XE / 520 STm / SM124 / SC1435
DDD HDD / AT Speed C16 / TF536 / SDrive / PAK68/3 / Lynx Multi Card / LDW Super 2000 / XCA12 / SkunkBoard / CosmosEx / SatanDisk / UltraSatan / USB Floppy Drive Emulator / Eiffel / SIO2PC / Crazy Dots / PAM Net
http://260ste.atari.org

15

Odp: Nowy cart dla A7800

Ciezko powiedziec bo ROM sie wlasnie podwoil i doszedl jeszcze jeden dostep do bankow pod $Dxxx
Zastanawiam sie nad dolozeniem FlipY dla sprajtow dla banku $Cxxx
Dotarlo tez do mnie ze moglbym dolozyc HoleyDMA dla nizszych adresow :) musze to jeszcze przemyslec

Cybernoid II

Lotus

Ostatnio edytowany przez Eagle (2022-05-26 22:05:36)

16

Odp: Nowy cart dla A7800

fajne kowery - klasyki.

dokładaj Holey i odwrócone sprajty no i najważniejsze - teraz trzeba dodać wsparcie Twojego Carta do emulatora 7800 ProSystem / BupSystem i js7800

Ostatnio edytowany przez Cyprian (2022-05-27 00:06:11)

Lynx I / Mega ST 1 / 7800 / Portfolio / Lynx II / Jaguar / TT030 / Mega STe / 800 XL / 1040 STe / Falcon030 / 65 XE / 520 STm / SM124 / SC1435
DDD HDD / AT Speed C16 / TF536 / SDrive / PAK68/3 / Lynx Multi Card / LDW Super 2000 / XCA12 / SkunkBoard / CosmosEx / SatanDisk / UltraSatan / USB Floppy Drive Emulator / Eiffel / SIO2PC / Crazy Dots / PAM Net
http://260ste.atari.org