Archive for Oktober 2012

Mal ein paar Screenshots vom Basic:

Neue FemtoBasic-Version

Hab die Version selbst noch nicht getestet, aber die Änderungsliste klingt wirklich sehr vielversprechend.

Mehr im Forum.

Update: Also ich hab es mir gerade angeschaut: ES IST PHANTASTISCH! Integrierte Hilfe, Statuszeile, cooler Sound und viel Speicher frei. Echt, das im Autostart und man glaubt an einem alten Homecomputer zu sitzen. Wobei die Leistung sich so einfach anfühlt: ein Befehl (play „axe.dmp) und Basic spielt nebenher satte SID-Trackermusi ab, während der Basicinterpreter unbeeindruckt weiterläuft. So stelle ich mir die Nutzung der verteilten Fähigkeiten auf dem Hive vor. Wenn man die DMP’s noch in mono abspielt, bleiben sogar noch drei Kanäle für Soundeffekte parallel zur Musik – hab ich nicht explizit getestet, aber sollte so sein und war so geplant mit den beiden SIDCog’s.

Auch die Hilfe ist toll, sogar mit kleinen Beispielcodes – perfekt um sofort loszulegen. Ich hab das zwar den Hinweis auf Fenster in der Änderungsliste gelesen, aber nicht erwartet, dass Zille9 das schon im Basic selbst verwendet hat… :)

Schade das ich grad keine vernünftige Kamera hab, sonst würde ich das mal in einem kleinen Clip zeigen. Wirklich eine coole Sache!

TACHYON – Schneller als Licht

Nur mal um zu sehen, ob sich m in die richtige Richtung entwicklet, habe ich einfach mal einen Vergleich mit Tachyon gewagt. Tachyon habe ich dabei auf meinem Demoboard installiert, so dass beide  Systeme mit 5 MHz x16 laufen. Folgende Worte habe ich verwendet:

Tachyon:

: t1 1000000 0 DO I I + DROP LOOP ;

: t2 1000000 FOR I I + DROP NEXT ;

In m  sieht diese Definition folgendermaßen aus:

t1 1000000 0 do i i + drop loop ;

t2 1000000 for i i + drop next ;

Die Ergebnisse zeigen, dass meine erste selbst geschriebene Forth-VM so schlecht nicht ist:

Tachyon – t1: 11 Sekunden, t2: 11 Sekunden

m – t1: 8 Sekunden, t2: 7 Sekunden

Wie gesagt, kein repräsentativer Test, aber einfach mal interessant.

Jeden Tag ein gutes Wort: Der Screenbrowser

Aktuell entstehen die ersten nützlichen kleinen Tools direkt in m, also direkt autark auf dem Hive programmiert. Wenn ich in m teste und experimentiere, finden sich schnell Ecken und Kanten, welche umständlich und unpraktisch sind. So die Navigation in den vielen Screens auf dem Massenspeicher. Im Prinzip habe ich ja den gesamten Massenspeicher schon aus dem Bauch heraus in Bereiche geteilt: Continue reading ‘Jeden Tag ein gutes Wort: Der Screenbrowser’ »

Sound für mental

Dieses Wochenende wollte ich anfangen Soundfunktionen in mental zu integrieren. Der ursprüngliche Plan sah vor, zwei SIDCogs zu integrieren und diese durch einen eigenen Tracker zu ergänzen, um gleichzeitig Fx und Musik verfügbar zu haben, ähnlich dem Konzept für TriOS. Obwohl ich ja nun fast von einem Rudel „Basic-Hunden“ auf dem Hive gehetzt bin 😉 habe ich mir ewas Zeit genommen, um noch einmal genauer zum Thema Sound zu recherchieren.

Nun ja, mental ist schon cool, aber so ein stummes OS auf dem Hive ohne Sound ist keinen Pfifferling ist auf die Dauer ziemlich öde, wenn ihr mich fragt. Also war es gut, mal wieder zu kontrollieren, was Ahle2 im hohen Norden so treibt. Volltreffer: Das neue Zauberwort heißt  „Retronitus„, aber hört selbst, was seine neue Soundengine (Beta) schon vollbringt:

Quelle: Retronitus-Thread im Parallax Forum

Ich sage nur eins:An mental lasse ich nur Wasser und Retronitus! Notfalls muss der Sound warten, bis Ahle2 fertig ist, und wenn es noch Monate dauert.

Es klingt wie ein Wunderwerk: Retronitus läuft auf einer Cog, bringt acht unabhängige Soundkanäle inklusive diverser Features mit und hat auch noch Platz in der Cog für eine Art Threading, um mit acht integrierten SLI-Thread-CPU’s spezielle Mini-FX-Programme auszuführen. Natürlich gehört auch noch eine extrem platzsparende Tracker-Engine für Musik dazu.

Denkbar wären in mental getrennte Blockpuffer, um Retronitus einen parallelen Zugriff zu m auf SD-Card zu verschaffen. Mit dem Compiler könnte man den Wortschatz erweitern, um direkt Retronitus-Module aus Quelltexten zu compilieren und dank Screeneditor auf dem Hive auch direkt zu bearbeiten. Ist nicht meine Art soviel über ungelegte Eier zu gackern, aber die Soundengine für mental verspricht da ein interesantes Feld für Experimente zu werden. Nun, wir werden sehen.

Joystick für I/O-Bus

Die ersten Bauteile für die I/O-Karte sind gestern angekommen und so habe ich ein wenig Zeit bis die Prototyp-Platine geliefert wird. Zeit um schon ein wenig vorzuarbeiten. Nach einigen schon lange fälligen kleineren Arbeiten am Hive, habe ich heute mit dem Bau eines Joysticks für den Bus angefangen. Das Device soll über I2C angesteuert werden und einen analogen Stick, vier digitale Tasten sowie vier steuerbare LED’s beherbergen. Nun ja, wahrscheinlich wird der Stick wohl so ein Nachfahre jenes Deoroller-Eigenbau-Joysticks aus den alten 8Bit Atari XL Zeiten, wie auf dem folgenden Bild zu sehen:

Ich habe zumindest wieder tief in die Bastelkiste gegriffen, um passende Elemente für einen zünftigen DIY-Stick zu finden. Das Untergestell bildet der Rahmen eines 80 mm Lüfters, die Tasten stammen wohl aus einem defekten Fax-Gerät usw. Aber der Analogstick fühlt sich sehr präzise an und die Trigger laden zum Dauertriggern ein… 😉

Morgen geht es an die Verdrahtung und den Test. Ich bin gespannt, wie präzise das Design dann wirklich ist.

 

Hydra-Buch und Hive-Programmierung

Immer wieder bekomme ich Mails mit Fragen zur Programmierung des Hive. Zu einigen Aspekten gibt es ja schon passende Tutorials, im Besonderen zu den speziellen Fragen wie im Hive die drei Propeller-Mikrocontroller zusammenwirken:

Für den Bereich der Gameprogrammierung gibt es ein wunderbares Buch zur Hydra-Spielkonsole, welche ja mit einem Prop arbeitet – also so eine Art Bellatrix. Das Buch erklärt, ausgehend von den Grundlagen des Enwurfs einer Gamekonsole auch sehr ausführlich die Programmierung von tile- und vektorbasierter Spielegrafik, bis hin zum Sound und zur Abfrage eines Gamepads – inklusive vieler Demos und kleiner Games. Das schöne an der ganzen Sache: Das Buch und die CD mit dem Democode ist frei als PDF erhältlich:

Wie einfach es ist, ein kleines Game für den Hive unzupassen, hat Volker im Forum in einem Minitutorial gezeigt, weshalb ich ihn hier einfach mal direkt zitiere: Continue reading ‘Hydra-Buch und Hive-Programmierung’ »

Keyboard und TV

Um den Hive ein wenig kompakter zu gestalten, habe ich mir heute die Zeit genommen einige Anpassungen vorzunehmen. Die erste Arbeit bestand darin, die Minitastatur ze bearbeiten: Geliefert werden diese mit einem 1,80 m langem Kabel mit USB-Stecker und PS/2 Adapter. Das Kabel ist erstens viel zu lang für den Hive und zweitens stört der unnötige lange PS/2-USB-Adapter. Also Keyboard zerlegen, Kabel durchmessen und ein anderes stark gekürztes Kabel von einer alten und defekten Tastatur angelötet. Mit einer Länge von ca. 20 cm kann man die Tastatur nun gut ohne unnötigen Kabelsalat vor oder neben den Hive stellen.

Die zweite Änderung betraf zwei neue TFT-Videomonitore, welche ich vor kurzem für gerade mal 28,- € erstanden habe. Gegenüber meinem alten Mini-TV-Monitor bringen diese ein deutlich besseres Bild und sind auch kleiner (dünner und schmalerer Rahmen). Bei diesem Preis habe ich gleich zwei gekauft, da so ein winziger TFT sehr gut für alle möglichen Basteleien ist, und Video ja kaum Pins und zumindest im Textmodus kaum Ressourcen in einem Propellerchip verbraucht. Da es sich wie üblich in diesem Preissegment um Rückfahr/Mediamonitor handelt, musste ich sie erst passend für den Hive konfektionieren. Da kein Netzteil mitgeliefert wurde, sah der Plan vor, sie aus dem Hive-Netzteil mitzuspeisen. Gesagt, getan: die originalen Kabel habe ich komplett entfernt und passende ebenfalls kurze Kabel verwendet, so dass nun der Hive wesentlich weniger Kabelsalat verursacht. Keine große Sache, aber halt die kleine Bastelei zum aufwärmen für die Wintersaison… 🙂

Es tut sich was…

Aktuell gibt es wieder neue Bewegungungen rund um die Programmiersprache Basic auf dem Hive. Einerseits arbeitet Zille9 an einer verbesserten Version des FemtoBasic für den Hive. Wenn alles klappt, werden auch Sound- und Grafikbefehle integriert, was den Hive mal ein wenig ausreizen würde und unkomplizierte Experimente verspricht. Die andere Geschichte ist das HBasic, an welchem PIC18F2550 arbeitet: Dieses verwendet einen eigenen PASM-Bytecode und als Programmspeicher den eRAM. HBasic ist aber noch in einer sehr frühen Phase und es gibt noch keine lauffähige Version. Die letzte lauffähige Version von FemtoBasic ist im Downloadbereich zu finden, aber da wird sich in nächster Zeit einiges tun – also immer mal im Forum schauen wie der aktuelle Stand ist!
Forum: FemtoBasic – Hive

Forum: HBasic

From NAND to Tetris

Als bekennender Autodidakt spricht mir das wirklich aus dem Herzen. Sicher gehen wir hier nicht ganz so weit, aber die grundlegende Lebenseinstellung ist doch gleich. Und wenn ich mir anschaue wie wie Gamekonsolen, Tischrechenmaschinen, Flugdrohnen, Handhelds und Haussteuerungen usw. (unvollständig!) selbst bauen, dann ist das auch völlig korrekt so.

NAND-to-Tetris Projekt: Kurse und Tutorials