Nicht schlecht. Der Song kommt mir bekannt vor. Wie hast Du die Abspielroutine gestaltet? Einen Notensatz genommen/geschrieben und dann halt die Noten nach Vorlage abgespielt, oder so mehr die SID-Register, oder wie man das in asm nennt, direkt angesprochen?
Beiträge von Daylight
-
-
Aha, wenn ich das so überblicke, wird mein Code damit fast vollkommen überflüssig. Denn alle Funktionen, die ich rund um und für die Console Klasse und der Ausgabe geschrieben habe, sind dort schon vorhanden. Das in deutlich fortschrittlicheren Code. Und was will ein Arduino mit einer Klasse Windows-Konsole? Ich hätte also nichts mehr zu tun, weil ja alles schon geschrieben wurde.
-
Aha, habe jetzt mal nachgesehen,
Zitat von Arduino (Plattform)Arduino bringt eine eigene Bitte melde dich an, um diesen Link zu sehen. (IDE) mit, die auf Wiring IDE basiert. Dabei handelt es sich um eine Bitte melde dich an, um diesen Link zu sehen.-Anwendung, die für die gängigen Plattformen Windows, Linux und MacOS kostenlos verfügbar ist. Sie basiert auf der IDE von Bitte melde dich an, um diesen Link zu sehen., einer auf die Einsatzbereiche Grafik, Simulation und Animation spezialisierten Entwicklungsumgebung. Die Arduino-IDE bringt einen Code-Bitte melde dich an, um diesen Link zu sehen. mit und bindet Bitte melde dich an, um diesen Link zu sehen. als Bitte melde dich an, um diesen Link zu sehen. ein. Zusätzlich werden die avr-gcc-Library und weitere Arduino-Librarys eingebunden, die die Programmierung in Bitte melde dich an, um diesen Link zu sehen. und Bitte melde dich an, um diesen Link zu sehen. stark vereinfachen.
Der würde also C++ Code anständig schlucken?
-
Ich hab da jetzt nur die main() hingeschrieben, als Beispiel was man dann im Video sieht.
Kann man das eigentlich gut lesen? Habe keine Kommenare zu geschrieben, weil ich mir vorgestellt habe, die Bezeichnungen selbst erklären sich. Aber ist das auch so?
Oder wirft dieses Beispiel eher mehr Fragen auf? Danke.
-
So, Zentralprojektion soweit fertig. Nur noch ein paar Feinheiten.
Dann kommt Koordinatentransformation und Abschneiden verdeckter Linien. Nur sollte ich mir vielleicht doch ein neues Buch kaufen. Das Ding von 1983 ist nicht schlecht, aber naja...
Immerhin gibts ein Gefühl, als ob man den Kram an den guten alten Dingern macht
Deswegen mache ich das ja eigentlich auch 
Bitte melde dich an, um dieses Medienelement zu sehen.
Diff
Alles anzeigen#include "drawing_functions.h" #include "objects.h" #include "chars.h" #include <iostream> #include <random> int main() { //console.hide(); Draw draw( console ); console.resize( 150, 60 ); console.moveToCenter(); draw.getWindowDims(); drawChars( draw, "default" ); console.clear(); Rect r; createObject( r, 10 ); Triangle t; createObject( t, 10 ); nPolygon p( 32 ); createObject( p, 10 ); Cube c; createObject( c, 10 ); draw.setCoords(); drawGrid( draw ); drawAxis( draw ); drawObject( draw, c, 0, "default", 24 ); drawObject( draw, r, 0, "default", 22 ); drawObject( draw, p, 0, "default", 23 ); drawObject( draw, t, 0, "default", 20 ); console.writeBuffer(); //ready(); Sleep( 1200 ); console.clearBuffer(); drawGrid( draw ); drawAxis( draw ); scaleObject( t, 1.2, 1.2, 1.2 ); scaleObject( r, 1.2, 1.2, 1.2 ); scaleObject( p, 1.2, 1.2, 1.2 ); scaleObject( c, 1.5, 1.5, 1.5 ); moveObject( t, 10, 3, 0 ); moveObject( r, 10, 3, 0 ); moveObject( p, 10, 3, 0 ); moveObject( c, 10, 3, 0 ); rotateObject( t, 30, 30, 40 ); rotateObject( r, 30, 30, 40 ); rotateObject( p, 30, 30, 40 ); rotateObject( c, 30, 30, 40 ); drawObject( draw, c, 0, "default", 24 ); drawObject( draw, r, 0, "default", 22 ); drawObject( draw, p, 0, "default", 23 ); drawObject( draw, t, 0, "default", 20 ); console.writeBuffer(); //ready(); Sleep( 1000 ); while( true ) //haben wir gerade gesehen { for ( int i = 0; i < 360; i+=3 ) { drawGrid( draw ); drawAxis( draw ); rotateObject( t, 30 +i, 30 +i, 40 +i ); rotateObject( r, 30 +i, 30 +i, 40 +i ); rotateObject( p, 30 +i, 30 +i, 40 +i ); rotateObject( c, 30 +i, 30 +i, 40 +i ); drawObject( draw, c, 0, "default", 24 ); drawObject( draw, r, 0, "default", 22 ); drawObject( draw, p, 0, "default", 23 ); drawObject( draw, t, 0, "default", 20 ); console.writeBuffer(); Sleep( 10 ); console.clearBuffer(); } } ready(); console.clear(); std::default_random_engine rnd; std::uniform_int_distribution<int> move( -50, 50 ); std::uniform_int_distribution<int> rotate( 0, 360 ); stopwatch timer( resolution::ms ); std::cout << "Start der Messung"; pressKey(); std::cout << "\nlaeuft..."; int n = 10000; timer.start(); for( int i = 0; i < n; ++i ) { scaleObject( c, 2, 2, 2 ); moveObject( c, move( rnd ), move( rnd ), move( rnd ) ); rotateObject( c, rotate( rnd ), rotate( rnd ), rotate( rnd ) ); drawObject( draw, c, 0, "default", 7 ); //console.writeBuffer(); //console.clearBuffer(); } timer.stop(); std::cout << "\nn: " << n << " time: " << timer.elapsed() << " ms time/n: " << timer.elapsed()/n << " ms"; ready(); } -
... und nach Mitternacht nun auch animiert
Bitte melde dich an, um dieses Medienelement zu sehen.
-
Mein erstes 3D-Objekt in der Konsole

Bitte melde dich an, um diesen Anhang zu sehen.
-
Moin!
Auf immer und ewig:
Bitte melde dich an, um dieses Medienelement zu sehen.Mfg
Das braucht aber ne Weile, bis es in Fahrt kommt. Dann aber wirklich nicht schlecht

-
Bei mir sind es
Bitte melde dich an, um dieses Medienelement zu sehen.
Bitte melde dich an, um dieses Medienelement zu sehen.
Bitte melde dich an, um dieses Medienelement zu sehen. -
Ich bin immer wieder baff, wie hier echte Profis zu Werke sind. Toll

Meine Güte, es gibt noch so viel zu lernen...
-
Hm, gut möglich. Danke.
-
Aha, danke

Wie sehe, also für den C64. Dann wohl auch in Assembler? Was für mich leider eine andere Dimension ist.
-
Aus ernstem Interesse, was versteht man unter einer Musikroutine und wie sieht sie aus?
Ähnlich wie ein Synthesizer mit Keyboard, nur das man die Werte direkt ins Programm gibt, oder eine Abspielroutine für verschiedene eingelesene Klänge?
-
Ja, dieses Ding fand ich auch hochgradig spannend und hatte mich auch etwas inspiriert
Versuche, auch die Funktionen in meiner Anwendung möglichst nachvollziehbar zu schreiben/benennen, ähnlich wie bei BASIC.War mir aber gar nicht richtig klar, das diese auch in einer Konsole, wenn auch Java, laufen. Muss ich mir glatt nochmal genauer anschauen.
-
Eine Baum des Pythagoras Variante in V2 Basic mit meiner per SYS Call eingebundenen Asm - Linienroutine. Entwickelt direkt am echten C128 im C64 Modus.
EDIT: Sorry, für die nachträgliche Kommentierung. Nicht schlecht
Genauso etwas will ich auch in der Konsole machen können. -
Hallo,
kennt jemand das Buch 'Grafik mit dem Home-Computer' von Rüdeger Baumann aus dem Jahr 1984?
Bitte melde dich an, um diesen Anhang zu sehen.Da die dortigen Programme in BASIC geschrieben sind, kann man sie leicht in aktuelle Hochsprachen übersetzen. In meinem Fall bedeutet es, für die Windows Konsole
Den Hires-Kram muss man dann trotzdem in "Block-Grafik" erledigen. Jedenfalls habe ich großspurig geschrieben, eine "Engine" gebastelt, um Grafiken simpel in die Konsole zu schreiben. Einerseits, um die Kapitel in diesem Buch nachzuprogrammieren, als auch für meine zukünftige 'second little graphx-demo'.Bin noch lange nicht fertig, aber hier eine kleine Demo einiger aktuellen Möglichkeiten:
Bitte melde dich an, um dieses Medienelement zu sehen.
-
Nett von Dir. Kannst auch gerne mit Deiner Ausrüstung nach Berlin kommen

-
Jupp, ist ne gute Idee

Aber ich habe nur noch eine 1541-II ohne Netzteil und Kabel und eine Datasette vom C64. Alles was von damals noch übrig geblieben ist

-
Ok, danke

Schreibe Dir morgen.
-
Danke erstmal, dann wäre es wohl am einfachsten mit Antennenkabel zu testen? Nur braucht man da ein spezielles? In der C64-Wiki ist ein solches abgebildet. Dies hat an dem Ende, was man früher in die Dose gesteckt hat, eine Art Cinch-Stecker. Benötige ich ein solches?