Yamaha CX5M, CX5M/128, CX7 MSX Computer mit 4 OP-FM

Hat sich jemand schon mit den Dingern genauer auseinander gesetzt?

Im Netz findet sich ja eigendlich auch die Adressen um den FM Chip zu steuern, Ich nimm an dazu ist dann MSX Assembler notwendig..
Ich bin am überlegen sowas mal auszuprobieren, da mir scheint das dies a) ein gerät ist das ohne weiteres über midi steuerbar ist b) gegenüber traditionellen fm synths wohl besser zum sound basteln ohne menükrämpfe einigt und c) Die möglichkeit den Tradionellen FM sound etwas neues zu geben.

Noch scheinen die ja relativ günstig auf der bucht zu haben sein auch wenn die geier bereits gewettert haben das da vielleicht was zu holen wäre (der letzte, ein CX5M/128 ist auf der Bucht für 170 weggegangen, mehr als ich bereit bin dafür zu zahlen)

Aber unabhäng davon, Was können diese Dinger eigendlich sonst noch ausser einen FM Synth eingebaut zu haben?
Reicht die Power des Z80 aus um midi Controller zu verarbeiten oder abhängig von der Phasenlage Wellenformen umzuschalten?

Wie schauts mit der Möglichkeit aus zb ein einfaches 8 bit Filter auf dem Prozessor zu machen?
 
Ein Z80 steckte u.A. in folgenden Synthis:

- Prophet 5 und 10
- Oberheim OB-X(a) und OB-8
- Prophet 600 (da berechnet er auch die Hüllkurven)
- Memorymoog
- alte EMUlatoren bzw deren Tastaturen

etc.

außerdem noch in einigen Patchbays: Midibay, Miditemp PMM44/88 etc.

in Form eines uPD 78xx (das ist eine MCU von NEC mit Z80-Kern) auch in noch mehr Geräten, hab ich neulich wieder bei einem gesehen.

Kommt halt auch drauf an, obs ein Z80A oder ein schnellerer ist. MSX-1/2/2+ war alles Z80A und mit 3,58 MHz getaktet, also nicht unflott, aber auch nicht schneller als ein ZX Spectrum. Ein CPC (Amstrad/Schneider) wird mit 4MHz getaktet, also bissl flotter.

CX5M ist bis auf den FM 4OP-Teil ein typischer Verteter der ersten MSX-Generation: http://de.wikipedia.org/wiki/MSX mit dem aus damaligen Yamaha-Kisten bekanntem 720K-Diskettenlaufwerk, welches sich durch besonders "schnellen" Datentransfer auszeichnet ...

Für reinen Steuerkram hat der genug Power - das ist schon ne richtige CPU, in nicht wenigen Kisten steckte oft nur eine kleinere MCU wie 8048/49 oder 8031 drin, die auch völlig ausreichten. Wenn Du Dich da reinknien willst gibts eine Pflichtlektüre: Programmieren des Z80 von Rodnay Zaks aus dem Sybex-Verlag.

Filter wird schwierig werden. Wenn, dann nicht per live-Berechnung sondern über vorberechnete Tabellen, die entsprechend abgerufen werden müssen (und selbst das dürfte eng werden). Zu 8Bit-Zeiten (und 16Bit Anfängen in Synthis) hat man da extra-Chips für genommen, weil die damaligen CPUs damit überfordert waren bzw man dann einen Prozessor speziell dafür hätte nehmen müssen. Kawai K5 und K4 haben einen Extrachip, ebenso wie SY77/99 und auch die GEM S3 - und die waren ja bereits mit dicken 16/32Bit MCUs ausgestattet (in der GEM sitzt ein 68302, SY77/99 haben einen H8 und 2 weitere MCUs drin). Neuere Kisten machen das mit einem programmierbaren DSP.

Ich hab hier was entdeckt, allerdings in japanischer Sprache: http://www.ncbi.nlm.nih.gov/pubmed/6471560 - kA obs von Nutzen ist.
 
microbug schrieb:
Für reinen Steuerkram hat der genug Power - das ist schon ne richtige CPU, in nicht wenigen Kisten steckte oft nur eine kleinere MCU wie 8048/49 oder 8031 drin, die auch völlig ausreichten. Wenn Du Dich da reinknien willst gibts eine Pflichtlektüre: Programmieren des Z80 von Rodnay Zaks aus dem Sybex-Verlag.
cool das es da sowas in deutsch gibt, werd ich dann sicher schaun :supi:

microbug schrieb:
Filter wird schwierig werden. Wenn, dann nicht per live-Berechnung sondern über vorberechnete Tabellen, die entsprechend abgerufen werden müssen (und selbst das dürfte eng werden). Zu 8Bit-Zeiten (und 16Bit Anfängen in Synthis) hat man da extra-Chips für genommen, weil die damaligen CPUs damit überfordert waren bzw man dann einen Prozessor speziell dafür hätte nehmen müssen. Kawai K5 und K4 haben einen Extrachip, ebenso wie SY77/99 und auch die GEM S3 - und die waren ja bereits mit dicken 16/32Bit MCUs ausgestattet (in der GEM sitzt ein 68302, SY77/99 haben einen H8 und 2 weitere MCUs drin). Neuere Kisten machen das mit einem programmierbaren DSP.

Ich hab hier was entdeckt, allerdings in japanischer Sprache: http://www.ncbi.nlm.nih.gov/pubmed/6471560 - kA obs von Nutzen ist.
Hmm
Die dinger haben doch teilweise mehrere steckmodul ports. Ich hab da so ein CPLD board und so ein chip würde sich doch gut dafür eignen einen "coprozessor" zu machen. ein paar sram chips und extra cplds hab ich auch... wäre schon was... Ob ich das dann hinkrieg weis ich aber auch nicht.

Der link ist immerhin von nutzen das sowas offensichtlich auch möglich sein sollte, alles cool
Wenn der Hüllkurven berechnen kann dann reicht das doch dick :mrgreen:

Aber ja reinknien muss ich mich dann sicher.
 
Ich wuerd' halt erst mal schauen bei welchen Parameter der YM2164 die Steuerung in Echtzeit erlaubt, ansonsten hilft dir der schnellste Prozessor nicht all zu viel...

http://www.cx5m.net/techn.htm
 
Summa schrieb:
Ich wuerd' halt erst mal schauen bei welchen Parameter der YM2164 die Steuerung in Echtzeit erlaubt, ansonsten hilft dir der schnellste Prozessor nicht all zu viel...

http://www.cx5m.net/techn.htm
Ja die Seite hab ich schon beackert, ich weis aber nicht was du jetzt genau meinst mit echtzeit.
Der YM2164 ist doch der chip selber, da dürfte doch alles "echtzeit" sein?
Das sind doch register die man beschreiben kann usw. Klar kann sein das während des schreib betriebs kein sample ausgegeben werden kann, aber das ist ja dann trotzdem "echtzeit" oder etwa nicht?

Und im Prizip gehts da ja eher darum was das SFG-05 so alles kann, den chip selber sieht der Prozessor ja garnicht ;-)
 
Computerliebe schrieb:
Ich hab da so ein CPLD board und so ein chip würde sich doch gut dafür eignen einen "coprozessor" zu machen. ein paar sram chips und extra cplds hab ich auch... wäre schon was... Ob ich das dann hinkrieg weis ich aber auch nicht.

Coprozessor ist gut - so ein CPLD-Board kann einen ganzen MSX-Rechner emulieren: http://de.wikipedia.org/wiki/1chipMSX

Der zu Atari-Zeiten recht verbreitete Mach210 (iirc ein FPGA) steckte zB in einigen DMA-SCSI-Adaptern drin und stellte den kompletten Adapter dar, saß aber auch auf Speichererweiterungskarten zB für den TT oder auch in Interfaces von C-LAB/Emagic.

CPLD finde ich auch spannend, aber mit VHDL habe ich mich noch nie beschäftigt.

Wenn der Hüllkurven berechnen kann dann reicht das doch dick :mrgreen:

Hüllkurven sind ja nichts Anderes als Zeitverläufe, für sowas nimmt man dann entweder Zeitschleifen oder einen Timerbaustein, der zur Z80 nennt sich Z80A CTC, den findet man aber eher selten, da meist der hinlänglich bekannte 8253 für sowas eingesetzt wurde - vor allem als DCO in Synthis.

Zur Heimcomputerzeit gabs noch mehr Z80-Bücher auf deutsch, schließlich war das damals der Prozessor in CP/M Rechnern und entsprechend verbreitet, später dann in Sinclair ZX80/81/Spectrum, Memotech, Amstrad/Schneider CPC, Enterprise, TRS-80, MSX etc. Der andere Standardprozessor war damals 6502: AppleII, KIM, Commodore, Acorn B und Electron, Oric etc.

Normal haben Yamaha-FM-Synthis aber immer einen Hüllkurvenchip dabei, auf den Soundkarten fehlte der aber.

Nochwas zum Zaks-Buch: Amazon Marketplace listet es als mehrere Versionen, die mit korrekten Angaben ist aber auch die Teuerste (und Neueste, gebundene Ausgabe). Es gab aber aus dem Sybex-Verlag nur dieses eine Buch "Programmierung des Z80", und so findet man die Taschenbuchausgabe mit der Autorenangabe "Düsseldorf" und gleich von mehreren Anbietern günstiger (und aus den Jahren 1984 etc). Wenn die nicht allzu zerfleddert sind kann man die nehmen.
 
microbug schrieb:
Coprozessor ist gut - so ein CPLD-Board kann einen ganzen MSX-Rechner emulieren: http://de.wikipedia.org/wiki/1chipMSX

Der zu Atari-Zeiten recht verbreitete Mach210 (iirc ein FPGA) steckte zB in einigen DMA-SCSI-Adaptern drin und stellte den kompletten Adapter dar, saß aber auch auf Speichererweiterungskarten zB für den TT oder auch in Interfaces von C-LAB/Emagic.

CPLD finde ich auch spannend, aber mit VHDL habe ich mich noch nie beschäftigt.
Also das sind so xilinx 9572 die haben 72 flip flops der fpga die den benutzen hat gut tausend logic blocks, bei den cpld ist das afik ein bissl anders da geht die logik ein bischen dichter rein aber da bräuchte ich dann schätzungsweise 10 von meinen chips und einen ganzen haufen srams ;-)
Naa, mir reicht das wenn ich zb einen multiplizierer mit einem stack auf so einem chip machen kann, bzw besser was zeitauwendigers, das wenig logik braucht bei den 3.5 mhz kann ich bis zu die hälfte der flipflops 1x durchtackten das rennt intern bis zu 125mhz.
Ich hab aber schon mal was gefunden wo jemand zb einfaches physical modelling auf einem CPLD gemacht hat, da geht schon was rein, da gibts angeblich auch einen trick das man die pins als extra logik benutzen kann wenn man die syncron benutzt, mal sehen :)

microbug schrieb:
Hüllkurven sind ja nichts Anderes als Zeitverläufe, für sowas nimmt man dann entweder Zeitschleifen oder einen Timerbaustein, der zur Z80 nennt sich Z80A CTC, den findet man aber eher selten, da meist der hinlänglich bekannte 8253 für sowas eingesetzt wurde - vor allem als DCO in Synthis.

Zur Heimcomputerzeit gabs noch mehr Z80-Bücher auf deutsch, schließlich war das damals der Prozessor in CP/M Rechnern und entsprechend verbreitet, später dann in Sinclair ZX80/81/Spectrum, Memotech, Amstrad/Schneider CPC, Enterprise, TRS-80, MSX etc. Der andere Standardprozessor war damals 6502: AppleII, KIM, Commodore, Acorn B und Electron, Oric etc.

Normal haben Yamaha-FM-Synthis aber immer einen Hüllkurvenchip dabei, auf den Soundkarten fehlte der aber.

Ja also Zähler und Timer sind zb auf einem CPLD relativ kostspielig da muss dann pro bit mindestens ein flip-flop herhalten, die dinger haben kein eingebautes ram, aber mit einem 12bit tiefen sram komm ich da schon aus wenn eine komplette cpu die sachen steuert.

Ich denke das eränzt sich gut ich muss mir nur überlegen wie ich die Logik im CPLD schneller rennen lassen kann als die clock des CPUs damit es sich lohnt. Warscheinlich teilweise Asyncron. Ich les mir jetzt mal durch wie die Interrups auf dem Ding funktionieren, dann werd ich mal schaun :mrgreen:

Das der Z80 weit verbreitet ist hab ich gelesen, ist ja angeblich immernoch die meistverbreitete cpu in betrieb.
 
Hab den Z80 lieb gehabt, konnte man schon viel machen, aber für Aufdio/Softsynthsachen ist das dann doch etwas knapp. Hab damals auf dem Spectrum und auch auf dem CX rumgebastelt, du benötigst dann ja auch noch die Specs und Doku wie man den FM Chip anspricht. Es ist daher wohl interessanter diesen geschickt anzusteuern und zB LFOs oder ENVs generieren oder einen Sequencer/Mod-Sequencer.

Es gibt allerdings Demos von schwächeren Prozessoren mit ziemlich coolen Features, also man könnte schon. Geht es dir um das sportliche dabei? Nehme ich mal an…
 
Moogulator schrieb:
Hab den Z80 lieb gehabt, konnte man schon viel machen, aber für Aufdio/Softsynthsachen ist das dann doch etwas knapp. Hab damals auf dem Spectrum und auch auf dem CX rumgebastelt, du benötigst dann ja auch noch die Specs und Doku wie man den FM Chip anspricht. Es ist daher wohl interessanter diesen geschickt anzusteuern und zB LFOs oder ENVs generieren oder einen Sequencer/Mod-Sequencer.

Es gibt allerdings Demos von schwächeren Prozessoren mit ziemlich coolen Features, also man könnte schon. Geht es dir um das sportliche dabei? Nehme ich mal an…
Sportlich?
Meist du jetzt diese competitions? Irgendwann wenns klappt, vielleicht ;-)

Erstmal gehts darum das zu lernen und halt auch irgendwann ein "selbstgemachtes" Instrument zu haben.

Ja einen Sequencer werd ich aufjedenfall auch machen, wird warscheinlich auch mein erstes richtiges Programm auf dem Ding werden.
An Doku bzgl FM Synth ansprechen ist das hier alles was ich so gefunden habe, ob das dann ausreicht weis ich aber auch nicht, so wie ich das verstanden habe kümmert sich das Modul im CX um einige Sachen bzw der computer kommuniziert nicht direkt mit dem chip sondern mit den Schaltungen im modul.
http://www.cx5m.net/iomap.htm
http://www.cx5m.net/fmunit.htm

Aber da du schon so anfängst, was hast du denn mit dem CX alles gemacht? Hast du vielleicht code? :mrgreen:
 
Computerliebe schrieb:
Summa schrieb:
Ich wuerd' halt erst mal schauen bei welchen Parameter der YM2164 die Steuerung in Echtzeit erlaubt, ansonsten hilft dir der schnellste Prozessor nicht all zu viel...

http://www.cx5m.net/techn.htm
Ja die Seite hab ich schon beackert, ich weis aber nicht was du jetzt genau meinst mit echtzeit.
Der YM2164 ist doch der chip selber, da dürfte doch alles "echtzeit" sein?

Nicht zwingend, es koennte auch Parameter geben die erst zum start der naechsten Stimme oder nur mit bestimmten Verzoegerungen uebernommen werden, so kenne ich das zumindest aus meinen ATARI 8/16Bit Zeiten. Bevor ich gross Geld ausgebe wuerd' ich sowas abklaeren wollen.

Das sind doch register die man beschreiben kann usw. Klar kann sein das während des schreib betriebs kein sample ausgegeben werden kann, aber das ist ja dann trotzdem "echtzeit" oder etwa nicht?
Und im Prizip gehts da ja eher darum was das SFG-05 so alles kann, den chip selber sieht der Prozessor ja garnicht ;-)

Ich hab' mir die Sache nicht weiter angeschaut und angenommen dass die der Chip einfach nur an irgend 'ne Stelle des Speichers gemapped wird, ansonsten waere es vielleicht sogar interessanter das OS des FB01 zu "hacken".
Wenn ich Zeit zum programmieren haette wuerd' ich wahrscheinlich eher zu 'nem aelteren PC und 'ner OPL3 Soundkarte greifen, wegen der zusaetzlichen Wellenformen und weil ich den Kram hier noch rumliegen hab'. Ansonsten gibt's ja noch das MIDIBoxFM DYI Projekt.

http://www.ucapps.de/midibox_fm.html
 
Die Chips sind einfach in den Speicher gemapped, also memory mapped I/O, was die Sache vereinfacht - ist aber bei der Grundadesse vom Steckplatz abhängig. Standard ist Steckplatz #3. Am Besten so schreiben, daß das unabhängig vom Steckplatz läuft, also mit der dort gezeigten Suchroutine nach einem bestimmten String. Außerdem hat der Chip schon einen EG mit an Bord, weiter Hüllkurven muß man dann per Software machen.

Das OS des FB-01 hacken ist vor allem dann interessant, wenn das Ding über einen 6803 als MCU verfügt, der sehr einfach zu programmieren ist. Steckte ja in fast allen FM-Synthis der ersten und 2. Generation drin, meist sogar 2 Stück davon. Erst die Neueren, also SY77/99, YS-100/200 und TQ5, bauen auf einem H8 auf, der in Japan nach wie vor die beliebteste MCU darstellt (aber bei aktuellen Yamahas durch den SuperH ersetzt wurde).

Der Z80 ist auch heute noch in seinen modernen Versionen durchaus im Einsatz, oft auch als Softcore in einem CPLD - da gibts ja etliche Cores. 6502 stirbt auch nicht, ebenfalls 6803, von dem hats mit 6805, 68HC11 und HC16 ja codekompatible moderne Nachfolger.

Wenn Du Dich in Z80 Assembler reinknien willst, dann lade Dir auch die ROM-Images der CX5M-Cartdidges rum und analysiere deren Code - so hab ich mich zu 6502-Zeiten in die Sachen reingefuchst (und konnte auch vorhandene Programme durch Patches verbessern). Der Z80 ist allerdings schon bissl komplexer als ein 6502 oder 6803, das muß man dazu sagen. Ich mochte diese von Intel abstammende CPU/MCU-Gattung nie und habe meine beiden Sinclairs auch nie in Assembler programmiert, dafür aber mit meinem 6502-basierten Oric einiges gemacht, u.A. auch ein MIDI-Interface :)
 
Summa schrieb:
Ich hab' mir die Sache nicht weiter angeschaut und angenommen dass die der Chip einfach nur an irgend 'ne Stelle des Speichers gemapped wird, ansonsten waere es vielleicht sogar interessanter das OS des FB01 zu "hacken".
Wenn ich Zeit zum programmieren haette wuerd' ich wahrscheinlich eher zu 'nem aelteren PC und 'ner OPL3 Soundkarte greifen, wegen der zusaetzlichen Wellenformen und weil ich den Kram hier noch rumliegen hab'. Ansonsten gibt's ja noch das MIDIBoxFM DYI Projekt.

http://www.ucapps.de/midibox_fm.html
Ja also du hast warscheinlich recht das es da einfachere oder direktere Wege gäbe, aber wie Moogu schon vermutet hat, es ist ja auch "sportlich"
Wenn ich FM sounds mit Programmieren haben will ist das einfachste chuck, das ist dann aber wieder alles am pc, den muss man booten, da rennen zigtausende andere sachen auch noch usw...
Die Firmware eines FB01 hacken, sicher interessant aber das wäre mir dann doch ein stück zuviel :lol:

Das MIDIBoxFM Projekt wäre sicher eine alternative, nur beim CX kann ich dann auch am gerät selber was machen, vorausgesetzt natürlich das klappt. Das wäre so der hauptgrund und natürlich weils lustig ist. Aber schon klar das das wieder kommt ;-)

Was mir gerade aufgefallen ist das auf dieser cx5m.net seite ist das das Register für die Auswahl der Algortihmen fehlen, vielleicht ist das anders angeschrieben aber ich hab es nicht gefunden... außer es ist das:
Register #20 (Channel control)
7 6 5 4 3 2 1 0
RGT LFT FB CONNECT

Was heißen würde das die algorithmen frei programmierbar sind!
Neineinen da will ich dann schon eine Tastatur und einen Bildschirm zum Soundbasteln ;-)


@microbug thx ja das suchen und ansprechen des moduls da gibts auf der seite ja sogar ein fertiges programm.
Ich werd mir jetzt mal das Z80 Buch holen und dann weitersehen..
 
Computerliebe schrieb:
Moogulator schrieb:
Hab den Z80 lieb gehabt, konnte man schon viel machen, aber für Aufdio/Softsynthsachen ist das dann doch etwas knapp. Hab damals auf dem Spectrum und auch auf dem CX rumgebastelt, du benötigst dann ja auch noch die Specs und Doku wie man den FM Chip anspricht. Es ist daher wohl interessanter diesen geschickt anzusteuern und zB LFOs oder ENVs generieren oder einen Sequencer/Mod-Sequencer.

Es gibt allerdings Demos von schwächeren Prozessoren mit ziemlich coolen Features, also man könnte schon. Geht es dir um das sportliche dabei? Nehme ich mal an…
Sportlich?
Meist du jetzt diese competitions? Irgendwann wenns klappt, vielleicht ;-)

Erstmal gehts darum das zu lernen und halt auch irgendwann ein "selbstgemachtes" Instrument zu haben.

Ja einen Sequencer werd ich aufjedenfall auch machen, wird warscheinlich auch mein erstes richtiges Programm auf dem Ding werden.
An Doku bzgl FM Synth ansprechen ist das hier alles was ich so gefunden habe, ob das dann ausreicht weis ich aber auch nicht, so wie ich das verstanden habe kümmert sich das Modul im CX um einige Sachen bzw der computer kommuniziert nicht direkt mit dem chip sondern mit den Schaltungen im modul.
http://www.cx5m.net/iomap.htm
http://www.cx5m.net/fmunit.htm

Aber da du schon so anfängst, was hast du denn mit dem CX alles gemacht? Hast du vielleicht code? :mrgreen:

Hab alles weg, was 8Bit war, hab nur noch paar Disks vom C64, Restbücher und sonst nix, gar kein Z80 Zeug mehr, keinen Fetzen Code, gar nichts. Harter Schnitt. Dabei hab ich mit dem Z80 seinerzeit am meisten gemacht. Sorry. Naja, sportlich meine ich so, dass du obwohl es da einfachere Lösungen gibt eben das per Assembler machen willst, was ja nicht die heute optimale Lösung darstellt. Aber soll dich nicht davon abhalten. Glaube selbst nur, dass sowas eben deutlich mehr Zeit kostet als mit Reaktor/G2 etc. zu arbeiten…
Abgesehen davon, dass die Doku eben nicht unbedingt perfekt und die "Anbindung" ist, wie du schon erwähnt hast, unbefriedigend umgesetzt - nämlich einfach angepappt. Wäre das im Basic drin gewesen, wäre das Teil sicher DER Musikrechner geworden für MIDI und FM Krams. 1985 war ja schon wirklich spät, da hab ich schon auf den QL umgesattelt und 1 Jahr später gabs den ST.
 
Naja sachen am pc sind halt dann kein dezentiertes gerät, auch wenn das theoretisch gehen würde.
Das endziel soll sein einen rom zu haben von dem das ding dann rennt, bzw wenns ganz hart auf hart kommt den Basic rom raus und was eigenes reingeben.
Das kommt dann draufan wie ich damit zurecht komme usw. Und ja klar wenn ich nicht eine Assemblersprache lernen wollen würde würd ich das auch nicht machen & es gibt sicher schnellere und einfachere Wege zum Ziel.

Daher ja auch in diesem Sinne sportlich ;-)
 
@mic: Mag sein, daß Assenbler heut eher anachonistisch anmutet, aber bei alten CPUs ist es nunmal Mittel der Wahl, vor allem hat man da selbst die volle Kontrolle über Optimierung und Timing - mach das mal mit einem XYZ-Compiler, bei dem Du nicht immer weißt, was er so alles rausspuckt. Neuere CPUs und MCUs, vor allem CISC-Designs, sind ja schon bei der Konzeption fürs Programmieren in C ausgelegt worden und bei CISC-Codemonstern wie R8C/M16C sehe ich das im gewissen Maße ein, aber eben nicht bei Z80, 6502 und Konsorten. Ein Compiler kann niemals einen wirklich so kompakten Code bauen wie man es selbst per hochoptimiertem Assembler hinbekommt, vor allem weil man auf den entsprechenden Zielrechnern ja begrenzten Speicherplatz hat. Damals wurde da viel getrickst, zB ein Einsprung mit einem "Bit"-Befehl ausmaskiert (bekannter 6502-Trick, beim Z80 findet man Ähnliches, wenn also der Code an einer Stelle komisch erscheint, einfach mal gucken, was das Byte danach für einen Befehl ergibt ...) statt eine extra Einsprungstelle zu definieren - sparte wertvolle Bytes. Dabei wurde einfach ein Opcode für einen Befehl mit 16Bit-Operanden vor einen schon bestehenden Befehl (in diesem Fall ein Befehl zum relativen Sprung mit vorzeichen-Offset) davorgesetzt und der Sprungbefehl bei normalem Schleifendurchlauf nicht ausgeführt.

Biftrickeleien bzw Hardwaresteuerung mache ich wenn dann eh nur in Assembler. Erstens weil ich fast nix Anderes kann und zweitens weil ich da eben die volle Kontrolle habe. Mal ab davon, daß C einfach nicht an mich geht ...

@computerliebe: Wenn das Endziel ein ROM ist, dann bau Dir eine Cartridge mit Flashrom drauf, falls Du noch Chips brauchst sag Bescheid, ich hab hier noch etliche Flashrom-Bausteine in DIL-Gehäuse liegen, die aus PC-Mainboards stammten und das BIOS enthielten. Sind recht kleine Bausteine, die bekommt man ja meist heut nimmer neu. Programmieren geht prima mit dem GQ-4X von mcumall.com, den ich mir erst kürzlich zugelegt habe - das Ding ist klasse und bei dem Preis lötet man sich keinen solchen programmer selbst.
 
Ah, verstehe. Dann ist das ne gute Herausforderung. Da war mein oller Sinclair pflegeleichter. Bin ja zugegeben damit mehr sozialisiert und hab das meiste mit denen gemacht in Sachen Assembler.
Das was Microbug schreibt ist natürlich wahr. Mit Basic kann man natürlich LFOs und Hüllkurven nicht performant hinbekommen. Hab das alles auch zu Fuß gemacht, war schnell aber kostete auch Zeit.
 
Moogulator schrieb:
Das was Microbug schreibt ist natürlich wahr. Mit Basic kann man natürlich LFOs und Hüllkurven nicht performant hinbekommen. Hab das alles auch zu Fuß gemacht, war schnell aber kostete auch Zeit.

So isses. Der Oric-1/Atmos hatte eine 1MHz 6502 und einen AY-3-8912 Soundchip, also die kleine Version des bekannten 8910 (nur 1 I/O-Port statt 2), der ja nicht nur in den MSX-Rechnern, sondern auch später in den Atari ST-Modellen steckte (meist als Yamaha-Version wg besserer Treiberleistung am Druckerport).

Dieser Chip kann ja nicht viel, aber das Ding per Assembler angesprochen und Du kannst einiges reißen. BASIC war ja nur ROM und Interpreter, daher Assembler, aber mit FORTH gings auch flott (hab mir damals damit einen einfachen Sequenzer gebaut gehabt damit, weiß garnimmer wie ich das angestellt hab ..). Ist nicht unaufwendig, aber mit einem guten Macroassembler lassen sich auch komplexe Sachen recht gut erledigen.
 
Der Oric war cool, hatte aber nie einen. Bisschen neidisch wegen des Soundchips war ich auch, aber ich hatte ne AY Soundbox, die hab ich am ZX81 bis Spectrum nutzen können und programmieren können. Das ging rel. gut, auch wenn der natürlich gegen SID auch noch nicht ganz DAS Ding war (aus meiner Sicht damals und ich würd das heute auch noch so sehen).

Die vielen C64 Sachen sind natürlich auch nicht selten so per Soft erweitert worden. Und die vielen irren Demos aus der Szene. Ne, Forth war für mich ne Krücke, hab Basic oder gleich Maschinensprache mit denen gesprochen. Aber ich habe es oft kombiniert - Also den Rahmen mit Basic und die performanten Sachen eben in MC. Beim Speckie konnte man Ramtop abfragen und und so weiter, wenn man die Hardware gut kannte war sehr viel möglich mit den festen Grundwerten. Deshalb war es für die Firmen natürlich auch immer schwer einen Nachfolger zu bauen und mit der Kompatibelität war das auch schwieriger und Speicheradressierung naja, kennst du sicher auch alles. Ist schon ne nette Zeit gewesen, bin aber froh das man das heute anderes machen kann - aber es hat irgendwie mehr Spaß gemacht und es gab sozusagen keine Regeln, es war gut, wenn das Ergebnis gut war. Sprünge sind noch nicht bööööse gewesen. :cursor:

Und eigentlich müsste ich einen K und einen L Cursor fürs Forum haben, die haben mich lang begleitet. Naja, aufm iPad kommen sie wieder, nur ohne sichern. Das muss noch besser werden. Aber ob ich da jemals wieder wirklich dran ginge? Eher nicht. Ist alles Nostalgie, überlege grade ob ich 40€ in den Fairlight investiere. Hmm.
 
Den Oric wollte hier in D keiner haben, in Frankreich und Benelux dagegen erfreute sich das Ding großer beliebtheit, vor allem später, als die Mutterfirma pleite ging und der Prototyp-Nachfolger "Stratos" in abgewandelter Form als Minitel (frz. BTX)-Computer "Telestrat" rauskam. Daher sitzt die auch heute noch aktive Hauptfangemeinde immer noch in Frankreich. Hierzulande hat alles den VC20 und C64 gekauft, ein Teil die Sinclairs. Mit den Commodores konnte man so erstmal nichts anfangen, aber es gab jede Menge Spiele - und die meisten wollten zocken. Ich hab mich auf den Oric gestürzt, weil der für mich out-of-the box ohne Extras erstmal benutzbar war, und dann so etliches damit gebaut, u.A. auch einen kompletten Interface-Bus mit Steckkarten. Hab ich alles noch, steht verpackt aufm Dachboden, allerdings keinen Monitor mehr zum Anschließen für das Ding (und auch keine Muße, wahrscheinlich geb ich alles in treue Hände der französischen Fans oder so), aber dieses Ding kannte ich in- und auswendig. Natürlich hatten wir damals auch einen Oric-Club (davon gabs in D 2 Stück, einer davon waren wir) mit Treffen, und während die Jüngeren meist irgendwelche Spiele zeigten gabs bei mir dann Umbauten oder Hardware-Erweiterungen wie Echtzeituhr oder Portkarte mit LEDs (natürlich mit Lauflicht!) zu sehen. Als Schüler hatte man ja noch Zeit für so einen Kram :)

Was die Sprünge angeht, so war damals der 6809 eine geile Kiste. Leider zu spät für Destoprechner, hat aber den Weg in nicht wenige Synthis und nicht wenige Industrieanwendugen gefunden. Alleine die Sache mit dem position-independent Code war klasse, ebenso relative branches mit 16bit-Offset. Die wenigen, 6809-basierten Heimcomputer waren entweder zu teuer (Thomson) oder bescheuert konzipiert (Dragon 32/64, auf der gleichen Applikationsschaltung basierend wie der Tandy CoCo), sodaß man da keinen rechten Spaß hatte. Die Idee eines 6809-Orics hab ich dann auch wieder verworfen, und ein EurocomII (die Basis für den ersten PPG Waveterm) war nicht drin.

Über den Sinclair QL kam ich dann letztich zum Atari (Anfang 90er), bei dem ich wieder mehr Hardware machte, aber nicht sowas wie beim Oric, weil einfach zu komplex.

Lange Rede, kurzer Sinn: 8Bit macht auch heute noch Laune, weils überschaubar und einfach zu realisieren ist. Deswegen sind die AVRs ja auch bei den Hobbyisten so beliebt.

Cooler Cursor, der weckt Erinnernungen.
 
Das C64 Basic war auch arm im Vergleich. Alles musste gePOKEd werden. Das mitm Oric verstehe ich sehr gut. Wusste aber nicht, dass in den Minitels der drin steckt. Und sehr schade, dass der Acorn Archimedes nicht so viel Erfolg hatte, der war schnell und sehr cool. Monitore - da geht sicher jeder Composite Video Monitor. Keine $HEXerei.

Aber ich seh schon, du hast das Ding halt auch eingemottet, ich hab meine Dinger immer verkauft, damals. Ich war ja noch klein und brauchte das Geld.

6809 ist ja auch in anderen Sachen drin, die sehr groß waren in der Musik *hint*.
Aah, und den QL auch gehabt - ja, der war ein Bindeglied zum ST, aber auf dem machte vieles echt Spaß. Aber 8Bit ist heute ggf. hier und da noch div. Steuerhardware für Atomkraftwerke, Lichtschranken und Waschmaschinen oder so.

Ich brauche K und L "Cursoren" und Meldungen wie 3:0 Nonsense in Basic. Aber zurück zum CX5M, will das hier nicht mit Nostalgie zumüllen.
 
Nur kurz noch: Compostite Moni geht sicher, weiß nicht, ob ich das will. Weggeben wollte ich das Dingen nie, hing doch zu sehr dran. Und: Archimedes war der erste Serienrechner mit einer RISC-CPU, die auch heute noch lebt und sehr verbreitet ist: ARM. Hieß nämlich damals noch "Acorn RISC Machine", später, als man schlauerweise den CPU-bereich aus dem Unternehmen ausgliederte und anfing, Lizenzen zu vergeben, in "Advanced RISC Machine" umbenannt. Der aktuelle Midibox-Core baut auf einer ARM-MCU (STM32, Cortex M3) auf.
 
microbug schrieb:
Der aktuelle Midibox-Core baut auf einer ARM-MCU (STM32, Cortex M3) auf.
Ja sowas hab ich auch, nennt sich STM Primer2, für sachen in C ist das sicher toll.

Das dumme ist das das ding nicht mit linux funktionieren will weil die Entwickler von OpenOCD ihre eigene Suppe kochen.
 
Computerliebe schrieb:
Naja sachen am pc sind halt dann kein dezentiertes gerät, auch wenn das theoretisch gehen würde.

Auch praktisch, unter DOS mit DOS & der selbstgeschriebenen Software auf 'ner CF Card...

Und ja klar wenn ich nicht eine Assemblersprache lernen wollen würde würd ich das auch nicht machen & es gibt sicher schnellere und einfachere Wege zum Ziel.

Du kannst auch unter DOS in Assembler programmieren, musste ich mal fuer's Studium machen, auch wenn der 8086 im Vergleich zum 68000 leicht genervt hat ;-)
 
Summa schrieb:
Du kannst auch unter DOS in Assembler programmieren, musste ich mal fuer's Studium machen, auch wenn der 8086 im Vergleich zum 68000 leicht genervt hat ;-)

Jaja geht alles, ich hab auch mal ein paar tage im Fasm Forum gestöbert bis ich mir dann gedacht habe bin ich bescheuert? Auschlag gebend war ein Artikel wo jemand mit mit SSE2 complexe Zahlen berechnet hat, der hat für Pentium4, Pentium-M und Core verschiedenen code erstellt.
Und blankes 8086, ich seh den sinn da nicht, hab ein buch drüber, aber das wars schon. :roll:
 
Computerliebe schrieb:
Und blankes 8086, ich seh den sinn da nicht, hab ein buch drüber, aber das wars schon. :roll:

Um den alten DOS Rechner mit OPL3 ISA Soundkarte zu programmieren, wobei da auch schon vieles mit C geht...
 


News

Zurück
Oben