Forum: Mikrocontroller und Digitale Elektronik AMIGA 8364R7 (PAULA) mit Microcotroller ansteuern.


von Thimo N. (opthimo)


Angehängte Dateien:

Lesenswert?

Hallo zusammen :)

Ich habe hier zwei Soundchips vom Amiga 500 (PAULA 8463) hier liegen und 
würde da gerne Sound rausbekommen.
Habe Arduinos, Raspberry Pis und weitere Microcontroller hier.

Ich habe den Pinout von dem Chip, allerdings weiß ich nicht, wie man ihn 
ansprechen kann.

Wollte in Zukunft damit MOD-Dateien abspielen, oder - wenn möglich - mit 
einem MIDI Keyboard Musik machen (letzteres kommt erst sehr bald)

Vielleicht kann mir ja Jemand von euch helfen. Meine Suche ergab bis 
jetzt keine richtigen Ergebnisse.


Lieben Gruß

Thimo

von Christian M. (christian_m280)


Lesenswert?

Da sind doch nur Da-Wandler drinn, die auch DMA-fähig sind. Verwechselst 
Du den etwa mit dem SID des C64?

Gruss Chregu

von Thimo N. (opthimo)


Lesenswert?

Das wusste ich gar nicht.
Ich meinte schon den vom AMIGA, vom C64 habe ich aber auch zwei hier 
liegen.

Ich dachte das Innenleben wäre komplexer.

Aber wie könnte ich sie denn ansteuern, wenn ich sie schon mal hier 
liegen habe? Auch wenn es jetzt nicht das ist, was ich vermutlich 
dachte.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Thimo N. schrieb:
> Aber wie könnte ich sie denn ansteuern, wenn ich sie schon mal hier
> liegen habe?

Ohne Beschreibung der Interna gar nicht. Sowas könnte sich in Amiga 
Foren finden.
Aber da ist zumindest noch ein Joystick Interface, so das der Chip 
einige interne Register haben muss, auch, weil es ja ein DMA Controller 
sein soll (ich habe von Amiga null Ahnung).
Also Registerbeschreibung finden und dann weiter überlegen. Wenn das ein 
DMA Controller ist, musst du entweder eine Steckkarte für eine 
vorhandene Architektur basteln, ober eine Schaltung mit RAM und einer 
CPU, die den mit Sounddaten befüllen kann.

von min (Gast)


Lesenswert?


von 2⁵ (Gast)


Lesenswert?

Die Custom-Chips vom Amiga waren aufeinander abgestimmt. IMHO kannst du 
Paula gar nicht alleine betreiben, da die DMA Einheit im Agnus war. Die 
vier 8 Bit DA Kanäle kann wohl inzwischen fast jeder AVR oder einfache 
Cortex-Mx besser (wenn er denn DA-Wandler hat).

Gugst du: https://de.wikipedia.org/wiki/Original_Chip_Set Die englische 
Seite ist informativer. Informationen zur Programmierung findest du auf 
der Amiga Developers CD (früher mal Amiga Hardware Reference Manual), 
online z.B. hier: 
http://amigadev.elowar.com/read/ADCD_2.1/Hardware_Manual_guide/node0000.html

von Thimo N. (opthimo)


Lesenswert?

min schrieb:
> Für den SID:
> http://ucapps.de/midibox_sid.html

Die Seite hatte ich auch gefunden, das wäre auch ein Teil meines 
Projektes.

von Thimo N. (opthimo)


Lesenswert?

Alles klar, danke für die Info.

Das hatte ich ehrlich gesagt nicht gedacht. Ich dachte da wäre eine Art 
Soundbank drin, die man mit Werten ansteuern kann um den nötigen Ton 
Beat abzuspielen.

Dann wird sich das wohl erledigen und ich werde mich um den SID vom C64 
kümmern und noch zusätzlich schauen, ob man eine Hardware MOD-Player 
basteln kann. (mehr sollte der AMIGA chip im Endeffekt auch nicht tun)

Auf jeden Fall - danke euch allen für die Informationen.

von qq_q (Gast)


Lesenswert?

Da die Paulas nun übrig sein könnten, bitte wirf die nicht weg, sondern 
veräußere die stattdessen. Da besteht noch ein Markt/Bedarf, denn die 
Amiga custom Chips werden seit >30 Jahren nichtmehr produziert. (Nein, 
ich habe keinen Bedarf). Zur Not kannst du sie sicherlich Richard 
spenden. Besser als der Mülleimer ist das auf jeden Fall.

von 2⁵ (Gast)


Lesenswert?

Thimo N. schrieb:
> Hardware MOD-Player

Es gibt diverse Anläufe, einen MOD-Player auf Basis eines STM32 zu 
bauen. In wie weit dass dann für dich eine "Hardware" MOD-Player ist, 
musst du selbst entscheiden. Da die MODs samplebasiert sind, gib es 
eigentlich keinen echten Hardware-MOD-Sound.

von c-hater (Gast)


Lesenswert?

2⁵ schrieb:

> Thimo N. schrieb:
>> Hardware MOD-Player
>
> Da die MODs samplebasiert sind, gib es
> eigentlich keinen echten Hardware-MOD-Sound.

Genau so sieht das aus. Einen Vierkanal-MOD-Player kann man im Prinzip 
mit jedem µC bauen, der den Durchsatz von Paula schafft und zwei 
8Bit-DA-Wandler hat. Da kommen eine Menge für in Frage.

Bei aufwendigeren MODs könnte allerdings der Speicher für die Samples 
bei vielen µC eng werden. Der Amiga500 bot ja immerhin bis zu 1MB 
"Chip-RAM" (mit entsprechender Speicherweiterung). Das schränkt die 
µC-Auswahl dann doch wieder erheblich ein.

Allerdings ist die Verwendung von den Original-Paulas kein Ausweg für 
dieses Problem. Die verkomplizieren nur die Sache vollkommen sinnlos. 
Die passen einfach nicht in das Design heutiger µC.

von Hardwerker (Gast)


Lesenswert?

qq_q schrieb:

> Amiga custom Chips werden seit >30 Jahren nichtmehr produziert.

Naja, nicht ganz der letzte Amiga wurde ca. 1995 produziert. Ausserdem 
gibt es diverse HDL-Implementierung in progrmmierbarer Logic.

Da ein Blockbild vom Amiga 500:
https://www.pmsoft.nl/amiga/amiga-parts-chips.html

die paula braucht eine Verbindung zum datenbus des Chip-RAM, die 
Adressen lieferte AGNUS (AdressGeneratorUnit). Die 68K CPU spielte bei 
der UMA-Architektur des Amigas eher eine untergeordnetet Rolle, die auch 
eher selten den Zugriff auf den Speicherbus hatte.

https://en.wikipedia.org/wiki/Uniform_memory_access

Da a bisserl amiga asm code zum Thema:
https://www.markwrobel.dk/post/amiga-machine-code-letter8/
https://www.markwrobel.dk/post/amiga-machine-code-letter8-wavetabel-synthesis/

von Thimo N. (opthimo)


Lesenswert?

Ja, ich habe eben schon gegoogelt, es gibt MOD Player für den STM32 
(habe ich hier liegen) und sogar für einen Arduino UNO (habe ich auch 
hier) beim Arduino ist man allerdings deutlich eingeschränkter.
Werde mich mal mit dem STM32 Discovery beschäftigen. Das scheint ganz 
vielversprechend zu sein.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Thimo N. schrieb:
> min schrieb:
>> Für den SID:
>> http://ucapps.de/midibox_sid.html
>
> Die Seite hatte ich auch gefunden, das wäre auch ein Teil meines
> Projektes.

Das hat aber wohlgemerkt nichts mit Paula zu tun, sondern mit dem 
MOS6581 SID.

von Thimo N. (opthimo)


Lesenswert?

Matthias S. schrieb:
> Thimo N. schrieb:
>> min schrieb:
>>> Für den SID:
>>> http://ucapps.de/midibox_sid.html
>>
>> Die Seite hatte ich auch gefunden, das wäre auch ein Teil meines
>> Projektes.
>
> Das hat aber wohlgemerkt nichts mit Paula zu tun, sondern mit dem
> MOS6581 SID.

Ja, ich weiß, das ist auch ein anderer Teil des Projektes.
Habe zwei Chips vom AMIGA und zwei Chips vom C64 hier. Die Chips vom 
AMIGA werde ich wohl nicht benutzen, dafür nehme ich dann einen STM32. 
Danach kümmere ich mich um die SIDBOX.

von Thimo N. (opthimo)


Lesenswert?

Kurzes Update:
Ich werde es mit einem Raspberry Pi (4(00) realisieren.

Ich würde übrigens gerne nicht nur MOD-Dateien abspielen, sondern mit 
Tasten auch selber spielen können.
Im Stil der alten AMIGA-SPIELE Themes.

von Stefan F. (Gast)


Lesenswert?

c-hater schrieb:
> Genau so sieht das aus. Einen Vierkanal-MOD-Player kann man im Prinzip
> mit jedem µC bauen, der den Durchsatz von Paula schafft und zwei
> 8Bit-DA-Wandler hat. Da kommen eine Menge für in Frage.

Eigentlich reicht sogar eine D/A Wandler (für Mono).

Und für Midi braucht man lediglich eine ganz normale serielle 
Schnittstelle (UART).

> Ich würde übrigens gerne nicht nur MOD-Dateien abspielen,
> sondern mit Tasten auch selber spielen können.
> Im Stil der alten AMIGA-SPIELE Themes.

Hast du eigentlich einen groben Plan, wie man so etwas programmiert? Bis 
du mit dem MOD Dateiformat vertraut? Ich frage, weil das nicht ohne ist. 
Ich würde nicht im Traum auf die Idee kommen, das auf einem 
Mikrocontroller umzusetzen - es sei denn das wäre eine Kommerzielle 
Serienproduktion.

Programmiere das am besten zuerst auf deinem PC, ohne weitere 
Elektronik. Du kannst dabei ja die Zielplattform berücksichtigen, so 
dass die anschließende Portierung auf Mikrocontroller einfacher wird.

von Thimo N. (opthimo)


Lesenswert?

Stefan ⛄ F. schrieb:
> c-hater schrieb:
>> Genau so sieht das aus. Einen Vierkanal-MOD-Player kann man im Prinzip
>> mit jedem µC bauen, der den Durchsatz von Paula schafft und zwei
>> 8Bit-DA-Wandler hat. Da kommen eine Menge für in Frage.
>
> Eigentlich reicht sogar eine D/A Wandler (für Mono).
>
> Und für Midi braucht man lediglich eine ganz normale serielle
> Schnittstelle (UART).
>
>> Ich würde übrigens gerne nicht nur MOD-Dateien abspielen,
>> sondern mit Tasten auch selber spielen können.
>> Im Stil der alten AMIGA-SPIELE Themes.
>
> Hast du eigentlich einen groben Plan, wie man so etwas programmiert? Bis
> du mit dem MOD Dateiformat vertraut? Ich frage, weil das nicht ohne ist.
> Ich würde nicht im Traum auf die Idee kommen, das auf einem
> Mikrocontroller umzusetzen - es sei denn das wäre eine Kommerzielle
> Serienproduktion.
>
> Programmiere das am besten zuerst auf deinem PC, ohne weitere
> Elektronik. Du kannst dabei ja die Zielplattform berücksichtigen, so
> dass die anschließende Portierung auf Mikrocontroller einfacher wird.

Ehrlich gesagt nein. Habe diesbezüglich auch kaum was im Netz gefunden 
bis jetzt. Man findet zwar, was eine MOD-Datei ist, aber nicht, wie sie 
aufgebaut ist.

Mein Ziel war eigentlich in erster Linie, dass ich MOD-Dateien lade und 
abspiele, aber (mindestens) einen Kanal selber einspielen kann mit 
Tasten, oder Midi-keyboard.
Der Sound des Kanals sollte aber der der MOD-Datei bleiben.

Sollte das, wie du meintest, zu komplex werden, könnte auch schauen aus 
den MODs, MIDs zu machen.

von Stefan F. (Gast)


Lesenswert?

Thimo N. schrieb:
> Man findet zwar, was eine MOD-Datei ist,
> aber nicht, wie sie aufgebaut ist.

Versuche es mal in einer Bibliothek. Ich hatte damals zu DOS Zeiten 
einen MOD Player programmiert. Die Beschreibung des Dateiformates fand 
ich in einem Buch.

Meine größte Herausforderung war damals die knappe Leistung meiner CPU 
und das begrenzte RAM. Mit mehr CPU Power hätte ich weniger RAM 
gebraucht (und umgekehrt).

> Sollte das, wie du meintest, zu komplex werden,
> könnte auch schauen aus den MODs, MIDs zu machen.

Und dann spielst du die coolen Soundeffekte von Depeche Mode ersatzweise 
mit Klavier und Trompeten ab, oder wie? Umgekehrt mag das gehen, aber 
eine typische MOD Datei kann man never ever mit einem Standard Midi 
Keyboard abspielen.

Beitrag #6927559 wurde von einem Moderator gelöscht.
von Hardwerker (Gast)


Lesenswert?


von c-hater (Gast)


Lesenswert?

Stefan ⛄ F. schrieb:

> Bis
> du mit dem MOD Dateiformat vertraut? Ich frage, weil das nicht ohne ist.

Also, ich weiß jetzt keine Details mehr (hab' mich das letzte Mal vor 
ca. 25 Jahren damit beschäftigt), aber ich habe es nicht als besonders 
kompliziert in Erinnerung.

> Ich würde nicht im Traum auf die Idee kommen, das auf einem
> Mikrocontroller umzusetzen

Nö, das passt schon. Abgesehen von der verfügbaren RAM-Größe spielte der 
Amiga500 in einer Leistungsklasse, in der sehr viele heutige µC auch 
spielen.

@Thimo:

Als Einstieg für die Suche nach Doku wäre zu empfehlen:

http://www.soundtracker.org/

Da wird allerdings ein, gegenüber dem ursprünglich auf dem Amiga 
verwendeten, stark erweitertes Format diskutiert. Die Grundzüge sind 
allerdings gleich geblieben.

von Stefan F. (Gast)


Lesenswert?

c-hater schrieb:
> Also, ich weiß jetzt keine Details mehr (hab' mich das letzte Mal vor
> ca. 25 Jahren damit beschäftigt), aber ich habe es nicht als besonders
> kompliziert in Erinnerung.

Ich hab's ja auch hinbekommen, aber schaue dir mal die Fragen des TO an. 
Ich will niemanden beleidigen, aber ich habe das Gefühl dass er sich da 
grandios überschätzt. Er kann ja nicht einmal die Programmieranleitung 
von seinem Sound-Chip finden. Dabei war es damals Volkssport, diese 
Chips selbst zu programmieren. Dafür war der Computer gemacht worden.

von Thimo N. (opthimo)


Lesenswert?

Stefan ⛄ F. schrieb:
> c-hater schrieb:
>> Also, ich weiß jetzt keine Details mehr (hab' mich das letzte Mal vor
>> ca. 25 Jahren damit beschäftigt), aber ich habe es nicht als besonders
>> kompliziert in Erinnerung.
>
> Ich hab's ja auch hinbekommen, aber schaue dir mal die Fragen des TO an.
> Ich will niemanden beleidigen, aber ich habe das Gefühl dass er sich da
> grandios überschätzt. Er kann ja nicht einmal die Programmieranleitung
> von seinem Sound-Chip finden. Dabei war es damals Volkssport, diese
> Chips selbst zu programmieren. Dafür war der Computer gemacht worden.

👍🏼

von Thimo N. (opthimo)


Lesenswert?

> Als Einstieg für die Suche nach Doku wäre zu empfehlen:
>
> http://www.soundtracker.org/
>
> Da wird allerdings ein, gegenüber dem ursprünglich auf dem Amiga
> verwendeten, stark erweitertes Format diskutiert. Die Grundzüge sind
> allerdings gleich geblieben.

Danke, das werde ich mir mal anschauen.
Habe mittlerweile auch einige Seiten gefunden, die ich mal durchstöbern 
werde.

von Lotta (Gast)


Lesenswert?

Prost Neujahr!!

@Thimo:
Das Mod-Format ist auf Byteebene auf Deutsch
im "Großen Soundblasterbuch" von Data Becker beschrieben
und in Turbo Pascal Quelltext ausgeführt.

Ich kann nen Scan von dem Arikel machen, und
(wenn die Disk noch lesbar ist und ich die USB-Floppy find ;-) )
auch die Quellen der Soft liefern, wenn Du es möchtest.

mfg

von Hmmm (Gast)


Lesenswert?

c-hater schrieb:
> Abgesehen von der verfügbaren RAM-Größe spielte der
> Amiga500 in einer Leistungsklasse, in der sehr viele heutige µC auch
> spielen.

Allerdings ist das MOD-Format genau auf den Amiga-Soundchip 
zugeschnitten, um die eher bescheidene CPU-Leistung zu kompensieren: 4 
Spuren für die 4 DAC-Kanäle mit unabhängigen Sampling Rates und DMA.

Auf dem Atari STE, wo softwaremässig transponiert und gemixt werden 
musste, war das schon ziemlich eng und machte erst auf dem TT wirklich 
Spass.

von Jobst M. (jobstens-de)


Angehängte Dateien:

Lesenswert?

http://datassette.nyc3.cdn.digitaloceanspaces.com/livros/amiga_hardware_reference_manual-3rd_edition.pdf

Anhang A (Ab Seite 263 (Seitennummer) bzw. 278 (pdf))

Kapitel 5 (S. 133 / 148)

http://www.amiga-storage.net/dl.php?id=1400389&dir=Manuals%2FGeneric&file=Commodore%20Amiga%20A500-A2000%20Technical%20Reference%20Manual.pdf

Ab Seite 234

Im normalen Amiga Handbuch sind auch umfangreiche Infos sowie Pläne. 
Habe ich aber nicht im Netz gefunden, daher nur ein Ausschnitt 
angehängt.
Sind gesamt auch 20MB, weshalb ich es hier nicht anhänge. (Es sei denn 
ein Moderator gibt mir die Freigabe dafür).

Außerdem:
https://www.amigawiki.org/doku.php?id=en:service:schematics
https://www.retrozone.ch/docs/amiga/AmigaProgrammierHandbuch.pdf
Edit: Vergiss letzeres, dort steht entgegen meiner Erinnerung nichts 
über Sound drin. Ich lass den Link hier dennoch stehen.

Gruß
Jobst

: Bearbeitet durch User
von Thimo N. (opthimo)


Lesenswert?

Danke für die vielen hilfreichen Antworten und Dateien :)

Habe ich mir alle heruntergeladen und mal durchgeschaut.

Ich habe auch eine sehr gute Beschreibung zur MOD-Datei gefunden:

https://github.com/libxmp/libxmp/blob/master/docs/formats/Modfil11.txt

Aktuell stand meines Projektes:
Ich werde  es wohl mit einem Raspberry Pi 4 realisieren.

Hab auch ein vielversprechendes Programm gefunden: Sonic-Pi.

Arbeite gerade an einem Python Programm zur Übersetzung von MOD zu 
Sonic-Pi.

Habe auch eine Möglichkeit gefunden, die Samples aus MOD Dateien als WAV 
zu speichern.

Werde mich auch mit diversen Abspielprogrammen von Linux beschäftigen: 
aplay, play,...
Da kann man Audiodateien (Samples) mit einer definierten Frequenz 
abspielen. Damit könnte man dann eine MOD Datei nachbasteln und man 
könnte auch mit GPIO, oder MIDI Samples spielen.

Das würde dann allerdings erstmal auf der Softwareebene laufen.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.